[{"content":"","date":"2026年5月27日","externalUrl":null,"permalink":"/tags/a24/","section":"標籤","summary":"","title":"A24","type":"tags"},{"content":"","date":"2026年5月27日","externalUrl":null,"permalink":"/tags/blogblogparty/","section":"標籤","summary":"","title":"BlogBlogParty","type":"tags"},{"content":"","date":"2026年5月27日","externalUrl":null,"permalink":"/personal/","section":"Personals","summary":"","title":"Personals","type":"personal"},{"content":"","date":"2026年5月27日","externalUrl":null,"permalink":"/tags/teaching-english/","section":"標籤","summary":"","title":"Teaching English","type":"tags"},{"content":"這是我的「BlogBlog 同樂會 - 2026 年 5 月」的投稿文章。本月主題是「改變人生觀的一句話」，由 Eddie Lv 主持。如果你有自己的部落格，歡迎一起來參加！\n這次，高文決定，不會再逃避綠騎士砍頭。 這不是一句話，而是電影的總結。\nHonor, that is what a knight does what he does.\n因著2023年修英國文學史課程教授的介紹，得知了《綠騎士》(Green Knight, 2021)這部電影，拖了好幾年說要看都沒看，結果今天一次看完\u0026hellip;\n這部電影是改編自中世紀敘事詩《Sir Gawain and the Green Knight》的作品，屬於亞瑟王傳說中的一篇。大意是說聖誕節的時候，一名綠騎士來到了圓桌騎士面前，要人跟他玩砍頭遊戲。高文自告奮勇的跳了出來，綠騎士頭被砍掉之後掉頭就走，並要他一年後去找他砍頭。於是高文踏上了旅程，經歷了冒險。最終成長的故事。\n看官方預告，我以為這是一部史詩爽片，但沒人跟我說是一部吃A24工作室電波的片子！ 雖然特效很棒，畫面與台詞很藝術，但劇情表現上就精簡太多，跟中世紀原作《Sir Gawain and the Green Knight》有很大差距，沒有那麼強的寓言性。\n觀眾必須看過原作才能去猜測導演想表達的意圖，或者從另一個角度去呈現整個故事。\n嗯，雖然我在教授的要求下讀過中古英語的原本，不過電影呈現方式跟原作差很多。\n電影裡面演出了意識流，高文逃得了一時逃不了一世的鏡頭。還有嘉明的味道沾在綠腰帶上作為性暗示（原作則是直接吃人妻了），最後跑出開放式結局真的是讓人看的一頭霧水，說實在我期待了這麼久結果卻是有點失落。\n不過，寓意應該還是相通的，即人最終要勇敢面對自己的命運。\nYou will find no mercy, no happy end.\n即使被這樣說，遭遇了各種困難，高文還是把旅程堅持了下去。我覺得這跟我幾年遇到的困難有相似之處，遭遇了身體上與精神上的疾病折磨，以及面對自身與外部的眼光，仍然，ここまで生きてきた。\n電影刻意強調了他紈絝子弟的身份，以為自己裝備齊全就免驚了，直到旅途中遇到各種試煉，才使他真正的成長。\n劇中高文好不容易到了綠騎士面前，但卻臨陣脫逃，假裝榮歸故里。雖然能夠享有一時安逸，但最後王國會滅亡。\n結果鏡頭再次回到當下。高文毅然決然的拔掉綠腰帶，接受綠騎士砍頭。但是砍下去的那一霎那，電影結束。砍了嗎？還是沒有？自行想像。作為原作黨的我會告訴你：綠騎士肯定了高文的美德。\n騎士追求高潔的品德，即使有人性的缺點也沒關係，最終他將不再逃避砍頭。\nOne year, hence.\n所以2025年我受到啟發，決定要去找教授砍我的頭了，完成拖了2年的thesis，得到degree。\n不能逃不能逃不能逃不能逃不能逃不能逃不能逃不能逃不能逃不能逃。\n一年內，見分曉。\n","date":"2026年5月27日","externalUrl":null,"permalink":"/posts/a-sentence-changing-you-2026/","section":"Personals","summary":"這是我的「BlogBlog 同樂會 - 2026 年 5 月」的投稿文章。本月主題是「改變人生觀的一句話」，由 Eddie Lv 主持。如果你有自己的部落格，歡迎一起來參加！\n這次，高文決定，不會再逃避綠騎士砍頭。 這不是一句話，而是電影的總結。\nHonor, that is what a knight does what he does.\n因著2023年修英國文學史課程教授的介紹，得知了《綠騎士》(Green Knight, 2021)這部電影，拖了好幾年說要看都沒看，結果今天一次看完…\n這部電影是改編自中世紀敘事詩《Sir Gawain and the Green Knight》的作品，屬於亞瑟王傳說中的一篇。大意是說聖誕節的時候，一名綠騎士來到了圓桌騎士面前，要人跟他玩砍頭遊戲。高文自告奮勇的跳了出來，綠騎士頭被砍掉之後掉頭就走，並要他一年後去找他砍頭。於是高文踏上了旅程，經歷了冒險。最終成長的故事。\n看官方預告，我以為這是一部史詩爽片，但沒人跟我說是一部吃A24工作室電波的片子！ 雖然特效很棒，畫面與台詞很藝術，但劇情表現上就精簡太多，跟中世紀原作《Sir Gawain and the Green Knight》有很大差距，沒有那麼強的寓言性。\n觀眾必須看過原作才能去猜測導演想表達的意圖，或者從另一個角度去呈現整個故事。\n嗯，雖然我在教授的要求下讀過中古英語的原本，不過電影呈現方式跟原作差很多。\n電影裡面演出了意識流，高文逃得了一時逃不了一世的鏡頭。還有嘉明的味道沾在綠腰帶上作為性暗示（原作則是直接吃人妻了），最後跑出開放式結局真的是讓人看的一頭霧水，說實在我期待了這麼久結果卻是有點失落。\n","title":"改變人生觀的一句話：高文決定接受綠騎士砍頭","type":"personal"},{"content":"","date":"2026年5月27日","externalUrl":null,"permalink":"/categories/%E4%BA%BA%E6%96%87%E8%97%9D%E8%A1%93/","section":"分類","summary":"","title":"人文藝術","type":"categories"},{"content":"","date":"2026年5月27日","externalUrl":null,"permalink":"/categories/%E9%9A%A8%E7%AD%86/","section":"分類","summary":"","title":"隨筆","type":"categories"},{"content":"","date":"2026年5月27日","externalUrl":null,"permalink":"/tags/amazon-web-services/","section":"標籤","summary":"","title":"Amazon Web Services","type":"tags"},{"content":"","date":"2026年5月27日","externalUrl":null,"permalink":"/categories/linux%E7%B3%BB%E7%B5%B1/","section":"分類","summary":"","title":"Linux系統","type":"categories"},{"content":"在造訪Linux相關網站的時候，你有看過這個獸耳娘嗎？她就是Anubis！ Anubis是一款針對爬蟲機器人所設計的輕量Web防火牆，在伺服器加上bot challenge，能夠防止伺服器被AI爬蟲機器人爬到掛，也能防止，保護伺服器服務。\n原理是在伺服器的回應加入SHA-256數學計算，要求客戶端，通常是瀏覽器，進行工作量證明(Proof-of-Work)，自動驗證使用者是否為機器人再放行。因為一般爬蟲無法處理這種耗算力的請求，就會導致他們被Anubis攔截下來，達到保護伺服器的目的。 你甚至可以用Anubis設置蜜罐節點(dataset poisoning)，讓爬蟲機器人陷入死循環無法爬到真正的資料。\n自從2022年LLM爆紅之後，許多公司為了取得程式碼訓練資料，開始大規模的爬取開源專案的伺服器，無視robots.txt亂爬，幾乎形成了DDoS攻擊的態勢。於是Anubis便在加拿大誕生了。\nAnubis的吉祥物是一隻獸耳蘿莉，她的形象來自於埃及神話中的阿努比斯神，秤量你靈魂的罪惡，決定是否能前進。\n現在很多FOSS專案都會使用Anubis這個服務擋爬蟲機器人，譬如託管在Gitlab的FreeDesktop專案。Debian和Arch Linux官網也有使用Anubis。因為Anubis是開源而且是可自架的，運作不依賴第三方伺服器。\n伺服器管理員可以根據自身需要自訂Anubis顯示的回應。畢竟\u0026hellip;不是每個人都喜歡獸耳蘿嘛，會讓訪客以為進到了什麼動漫宅網站。我覺得Anubis舊版的吉祥物更可愛的說。但是Anubis開發者規定這隻吉祥物不可替換，得購買商業版BotStopper解鎖！ Anubis可以部分替代Cloudflare或Google reCAPTCHA。雖然Anubis規模跟Cloudflare差距甚大（畢竟後者有一整群龐大伺服器在協同工作），但對於一般的爬蟲已經足夠應付。\n對一般使用者來說，部署Anubis也能防止自己託管的服務被攻擊。例如我想要阻擋他人惡意濫用我在VPS部署的代理搜尋引擎SearXNG，就可以用Anubis擋掉。\n不過使用Anubis帶來的問題就是，會讓一些特殊環境的瀏覽器無法輕鬆存取你的服務。譬如你有用到自動化的瀏覽器程式，可能反被Anubis擋下來。\n1. Anubis架構 # 根據官方文件，Anubis應該是位於反向代理與伺服器服務中間執行的。它支援Nginx、Apache、Caddy、Traefik這些主流的反向代理伺服器。\n例如使用Nginx，Anubis就會在中間介入，驗證才放行。\n也就是：\nAnubis當中介反向代理伺服器：瀏覽器 → nginx HTTPS → Anubis → 實際後端服務\n或者：\nAnubis當nginx auth_request sidecar：瀏覽器 → nginx → 問Anubis要不要放行 → 實際後端服務\n2. 在Linux伺服器安裝Anubis # Anubis是使用MIT授權釋出的自由軟體。無需付費即可使用。自架十分簡單。RAM佔用不到128MB。另外Anubis背後的公司Techaro也提供客製化圖示的商業版「BotStopper」。\n參考Anubis官方文件，多個Linux發行版已經收錄了Anubis套件。\n如果要確保Anubis自動更新的話，也可以選擇用Docker部署再用WatchTower。\n對非滾動發行版的Ubuntu來說，建議從Github下載取得新版.deb檔安裝\nsudo apt install ./anubis_*_amd64.deb 3. 設定要保護的服務 # 複製Anubis設定檔，針對要保護的服務新增對應的設定檔。\n例如我要用SearXNG，複製default.env到/etc/anubis/\nsudo cp /etc/anubis/default.env /etc/anubis/searxng.env 複製bot policies，以服務為名稱取名。bot policies裡面可以更詳細的設定攔截的規則，例如針對特定國家IP的應對措施。這裡就維持預設。 sudo cp /usr/share/doc/anubis/botPolicies.yaml /etc/anubis/searxng.botPolicies.yaml 在/etc/anubis/的.env設定檔，編輯TARGET填寫服務的IP，因為我的SearXNG跑在反向代理後面所以是監聽伺服器本機的8080通訊埠。DIFFICULTY設定驗證難度，數字越大越久，預設的4在大多數裝置應該都能十秒內解出來。額外設定OVERLAY_FOLDER的話就能自訂要顯示的圖片與CSS。 BIND=:8239 DIFFICULTY=4 METRICS_BIND=:9090 SERVE_ROBOTS_TXT=0 TARGET=http://localhost:8080 用Systemd啟動Anubis服務，小老鼠後面加上剛剛撰寫的設定檔名稱 sudo systemctl enable --now anubis@searxng.service 驗證Anubis服務是否上線 curl http://localhost:8240/metrics Anubis的服務log使用這個查看 sudo journalctl -u anubis@服務名稱 4. 將Anubis與Nginx串接 # 我是透過https://子網域來存取服務的。\n例如我定義SearXNG的設定檔位於/etc/nginx/sites-available/searxng，原本是這樣\nserver { server_name 子網域; client_max_body_size 0; location / { proxy_pass http://localhost:8089; # Docker通訊埠 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Http-Version $server_protocol; } 將實際要導向的服務改為Anubis通訊埠。應該與/etc/anubis/*.env寫的一樣，預設應該是8239 server { server_name 子網域; client_max_body_size 0; location / { proxy_pass http://localhost:8239; # Anubis proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Http-Version $server_protocol; } 另外應該允許Anubis給瀏覽器放置cookie，通過後短期不用再驗證。編輯/etc/anubis/的.env設定檔，加入子網域 COOKIE_DOMAIN=子網域 重新載入Nginx服務 sudo nginx -t sudo systemctl reload nginx 用瀏覽器打開目標網址，應該會看到Anubis出現了。 ","date":"2026年5月27日","externalUrl":null,"permalink":"/posts/setup-anubis-web-firewall/","section":"所有文章","summary":"在造訪Linux相關網站的時候，你有看過這個獸耳娘嗎？她就是Anubis！ Anubis是一款針對爬蟲機器人所設計的輕量Web防火牆，在伺服器加上bot challenge，能夠防止伺服器被AI爬蟲機器人爬到掛，也能防止，保護伺服器服務。\n原理是在伺服器的回應加入SHA-256數學計算，要求客戶端，通常是瀏覽器，進行工作量證明(Proof-of-Work)，自動驗證使用者是否為機器人再放行。因為一般爬蟲無法處理這種耗算力的請求，就會導致他們被Anubis攔截下來，達到保護伺服器的目的。 你甚至可以用Anubis設置蜜罐節點(dataset poisoning)，讓爬蟲機器人陷入死循環無法爬到真正的資料。\n自從2022年LLM爆紅之後，許多公司為了取得程式碼訓練資料，開始大規模的爬取開源專案的伺服器，無視robots.txt亂爬，幾乎形成了DDoS攻擊的態勢。於是Anubis便在加拿大誕生了。\nAnubis的吉祥物是一隻獸耳蘿莉，她的形象來自於埃及神話中的阿努比斯神，秤量你靈魂的罪惡，決定是否能前進。\n現在很多FOSS專案都會使用Anubis這個服務擋爬蟲機器人，譬如託管在Gitlab的FreeDesktop專案。Debian和Arch Linux官網也有使用Anubis。因為Anubis是開源而且是可自架的，運作不依賴第三方伺服器。\n","title":"Linux伺服器部署Anubis擋AI爬蟲機器人，替代Cloudflare防火牆的輕量選擇","type":"posts"},{"content":"介紹有趣的自架 (self-hosting，或稱自託管) 雲端服務專案，部署到私人伺服器、NAS、Homelab、VPS。以自由開源的方案為主。\n快速導覽：自架服務需要的硬體與常用工具\n","date":"2026年5月27日","externalUrl":null,"permalink":"/categories/self-hosting%E8%87%AA%E6%9E%B6/","section":"分類","summary":"介紹有趣的自架 (self-hosting，或稱自託管) 雲端服務專案，部署到私人伺服器、NAS、Homelab、VPS。以自由開源的方案為主。\n快速導覽：自架服務需要的硬體與常用工具\n","title":"Self-hosting自架","type":"categories"},{"content":"介紹如何安裝GNU/Linux系統至您的電腦，包含廣義的Linux、類Unix系統。有時還會包含一些個人的distro-hopping心得。\n不知從哪裡開始？請看最適合新手的Linux發行版：適合新手入門的GNU/Linux發行版\n","date":"2026年5月26日","externalUrl":null,"permalink":"/categories/linux%E7%B3%BB%E7%B5%B1%E5%AE%89%E8%A3%9D%E6%95%99%E5%AD%B8/","section":"分類","summary":"介紹如何安裝GNU/Linux系統至您的電腦，包含廣義的Linux、類Unix系統。有時還會包含一些個人的distro-hopping心得。\n不知從哪裡開始？請看最適合新手的Linux發行版：適合新手入門的GNU/Linux發行版\n","title":"Linux系統安裝教學","type":"categories"},{"content":"很多人對Debian都有套件版本很舊的負面印象，但其實Debian是有滾動更新的版本能讓你取得最新版軟體的。\n我嘗試在一臺平板電腦裝Debian Unstable (Sid) 當daily-driver用，好像還行耶。\n1. Debian Unstable簡介 # Debian Unstable，是滾動更新的Debian更新頻道。代號叫做Sid，且永遠不會變。\n有一點年紀的都應該知道，Sid指的就是《玩具總動員》裡面的阿薛，他是專門破壞玩具的男孩。\n先說Debian的軟體開發模式。Debian更新頻道有三個：開發者先把套件提交到Unstable，過幾個月，等到符合穩定的標準之後會進入Testing，接著等個一兩年時間確認穩定了之後才會進入Stable，然後進入凍結階段，不接受任何修改，接著Debian開發者便會正式發表新版本Stable系統。\n因此我們可以知道，Debian Unstable，它是所有Debian與Ubuntu衍生版的最上游系統，更新非常頻繁。激進程度接近Arch Linux，有時更甚。幾乎每天都有更新，像Linux Kernel，還有GNOME和KDE Plasma在這裡都是最新版。套件名稱會隨時變動，依賴項目會一直變化。\nDebian開發者不推薦Unstable給一般使用者使用，主要是給開發者測試用的。如果使用Unstable的時候發現bug便能向Debian Bug Tracking System回報。這樣等到Testing和Stable的用戶收到軟體更新後bug就解的差不多了。\nDebian Unstable沒有任何穩定度保證，也沒有固定的支援週期，跟Debian Stable穩定的印象相差甚大。你沒辦法確定說會不會今天能用的軟體明天一更新就炸了！也許幾天後更新後修好了但換另外一個套件炸！\n第三方APT套件庫的軟體開發者也不太可能針對Debian Unstable測試軟體，儘管有人可能會幫忙打包，但出事了你得自己解決。\nDebian Stable軟體雖然舊但至少很穩定嘛，你可以裝了好幾個月都不用更新，沒有嚴重問題的話大部分時間只有安全更新。而且如果只是要取得某幾個最新版軟體，也能透過第三方套件庫或者backports的方式取得。不用將整個系統都升級到不穩定的Debian Unstable。\n好處是Debian Unstable可以取得尚未穩定下來的套件，所以數量比Debian Stable要多得多！而且版本號非常的新！如果你Arch Linux用得下去不妨也來試試Debian Unstable吧！\n2. 如何安裝Debian Unstable # 簡單來說，你不能直接安裝Unstable，而是得從Stable升級上去。或者使用Testing的安裝器。\nDebian Unstable沒有安裝器ISO。\nDebian官網每幾個月就會自動從Unstable生成快照，接著就有Testing的安裝器ISO可用。不過這個安裝器不是很穩定，我認為如果連安裝系統這種基本操作都出錯那就不好了。所以使用現有的Stable系統安裝，確認能開機後，後再升級到Unstable比較好。\n相關文章：安裝Debian Stable Debian要進行大版本升級系統也就改一個指令的事！\n3. 修改/apt/sources.list # Debian要進行大版本升級系統就是切換套件庫版本代號，然後升級上去。\n先升級所有目前Stable的套件到最新版\nsudo apt update sudo apt full-upgrade 重開機 sudo shutdown -r 檢視：/etc/apt/sources.list，現在的版本是Debian 13 Trixie deb http://deb.debian.org/debian trixie main non-free-firmware non-free contrib deb-src http://deb.debian.org/debian trixie main non-free-firmware non-free contrib Debian Testing就是Debian Stable下一個版本的代號。例如現在Debian Stable是13 Trixie，Debian Testing就是14 Forky。那因為Debian Testing是從Debian Unstable產生的，Unstable顯示的版本代號就會跟Testing一樣。不過Debian Unstable是沒有在分版本代號的！一律叫做Sid\n所以，把/etc/apt/sources.list裡面的版本代號改成Sid就可以了\ndeb http://deb.debian.org/debian sid main non-free-firmware non-free contrib deb-src http://deb.debian.org/debian sid main non-free-firmware non-free contrib 更新套件庫，通常會噴出有1000個以上套件可以升級 sudo apt update 4. 升級到Debian Unstable # 更新的時候建議使用TTY或者SSH免得桌面升級到一半崩潰。\n升級所有套件，依照畫面指示處理衝突\nsudo apt full-upgrade 重開機 sudo shutdown -r 5. Debian Unstable當daily driver的注意事項 # 若要把Debian Unstable當作daily driver，使用心態跟其他滾動發行版一樣。注意以下技巧：\n勤於備份，例如使用Timeshift或Btrfs快照。在系統壞掉之後回退到之前的版本。 可以安裝apt-listbugs和apt-listchanges，它會在更新系統前事先列出哪些套件有重大缺陷。 因為依賴項目會一直變更，用apt full upgrade的時候注意有哪些套件會被移除，保險點可以用apt upgrade確保更新不刪除套件。 你可以到Debian Bug Tracking System回報問題。安裝reportbug工具就能在終端機裡面送出報告。 6. 使用感想？ # 我純粹是要追求刺激才這麼做的。\n將Surface Go 2的Debian 13 Stable升級到了Debian Unstable。系統核心從Linux 6.12跳到了Linux 7.0！\n我系統居然還活著。\nXFCE + XLibre還能正常啟動。大概XFCE本身就是很穩定桌面的緣故吧。用GNOME或KDE就會有很多visual glitches了。\n當然我還是有觀察到一些驅動小缺陷，例如電量要用指令才能顯示，還有suspend不正常等等錯誤。\n參考資料 # https://wiki.debian.org/DebianUnstable\n","date":"2026年5月26日","externalUrl":null,"permalink":"/posts/install-debian-unstable/","section":"所有文章","summary":"很多人對Debian都有套件版本很舊的負面印象，但其實Debian是有滾動更新的版本能讓你取得最新版軟體的。\n我嘗試在一臺平板電腦裝Debian Unstable (Sid) 當daily-driver用，好像還行耶。\n1. Debian Unstable簡介 # Debian Unstable，是滾動更新的Debian更新頻道。代號叫做Sid，且永遠不會變。\n有一點年紀的都應該知道，Sid指的就是《玩具總動員》裡面的阿薛，他是專門破壞玩具的男孩。\n先說Debian的軟體開發模式。Debian更新頻道有三個：開發者先把套件提交到Unstable，過幾個月，等到符合穩定的標準之後會進入Testing，接著等個一兩年時間確認穩定了之後才會進入Stable，然後進入凍結階段，不接受任何修改，接著Debian開發者便會正式發表新版本Stable系統。\n因此我們可以知道，Debian Unstable，它是所有Debian與Ubuntu衍生版的最上游系統，更新非常頻繁。激進程度接近Arch Linux，有時更甚。幾乎每天都有更新，像Linux Kernel，還有GNOME和KDE Plasma在這裡都是最新版。套件名稱會隨時變動，依賴項目會一直變化。\n","title":"滾動發行版 Debian Unstable (Sid) 的安裝方式","type":"posts"},{"content":"","date":"2026年5月25日","externalUrl":null,"permalink":"/tags/blogging/","section":"標籤","summary":"","title":"Blogging","type":"tags"},{"content":"","date":"2026年5月25日","externalUrl":null,"permalink":"/tags/machine-translation/","section":"標籤","summary":"","title":"Machine Translation","type":"tags"},{"content":"當我用VPN切換地區，看到Google搜尋結果變成外文，回傳的結果並不是那麼容易出現我的網站，甚至搜尋小眾術語也看不到的時候。\n我就想到了希斯特莉亞說過的：困在（中文圈的）牆內，是沒有未來的啊！ 那麼，我要把我blog邪惡的思想散播到全世界！就翻譯為英文和日文等多國語言吧！簡體中文應該不用刻意翻譯因為我網站有繁轉簡按鈕。利用Hugo的i18n功能製作多語言部落格。\n最主要我認為包含原創想法，而非依靠中英文資訊差割韭菜（就是簡單寫個README翻譯的教學文，價值比XDA首頁文章還低的），起碼有100篇，例如對自由軟體的思考，是可以優先推廣的對象。\n不敢說我寫的多好，但這些rant的內容驚世駭俗的程度隨便一篇都是能被掛上Hacker News公幹的。\n我應該是挑戰自己寫英文內容的才對，從2022年就有在做英文版網站了（https://ivonblog.com/en-us/），又做了日本版網站（https://ivonblog.com/ja-jp/），主要是把一些在Reddit反響不錯的技術文章貼上來，內容就是我一字一字翻譯的。有時候發現中文原文寫的太抽象，我還得用英文思維重寫段落，等同再創作。翻譯速度最快也就1天1篇1000字的文章。\n可惜的是，我沒辦法像以前一樣手動一篇一篇翻譯了，這樣根本不可能翻譯得完。這也是我英文版網站更新頻率很低的緣故。雖然手動翻譯能維持英語寫作語感，可是不切實際呀。\n所以\u0026hellip;交給VS Code裡面的ChatGPT Codex執行吧。網站文章原始碼都是Markdown應該很好給機器處理。\n訂閱ChatGPT Plus，使用GPT 5 Thinking模型，這樣它會考量文章整體內容再翻譯，較為通順。並會把覺得有問題的翻譯文本寫入log向我回報，我再看情況手動糾正。在VS Code裡面操作，協同AI修改檔案很是方便。 給了它20條翻譯規則，然後依序執行，自動編輯每個Markdown檔案，發現語句怪怪的會嘗試考慮文化因素，就像真人譯者在思考。ChatGPT Plus的方案額度，每5個小時大概能處理50個檔案。燒完token額度就休息個幾小時再繼續。\n規則大致如下：\nMarkdown檔案翻譯規則： 1. 只翻譯`路徑`的檔案 2. Markdown內已有`\u0026lt;!-- Co-translated by ChatGPT --\u0026gt;`的檔案不翻譯。 3. 你的角色是名為Ivon Huang的Linux + Free Software技術宅。參考我在ChatGPT儲存的長期記憶。請用最精確、自然、忠實的語言，將我的文章從「臺灣繁體中文」翻譯成「美式英文」，並保留原文的技術風格與語氣。允許使用文學的艱深術語表達文藝概念。如果遇到粗言穢語，也要照實翻譯。 4. 最小翻譯單位是一個檔案，必須讀完整篇Markdown檔案，考慮上下文，再翻譯。專有名詞的翻譯在同一篇文章裡面應保持相同翻法。 5. 除`title`外，Front Matter其他欄位全部不動。 6. Markdown內的超連結文字若只是文章標題，請維持原樣，不要翻譯。只有當該標題文字與前後文直接連成一句或需要語意連貫時，才可視情況翻譯。 7. 若段落原文已經是英文，請保持不變，不要重複翻譯或改寫。不要修正文法與拼字錯誤。 8. 如果中文名詞和人名找不到適合的詞，優先使用音譯。 9. 完成翻譯後，請在Markdown Front Matter之後、正文開始之前，插入一行 HTML 註解：`\u0026lt;!-- Co-translated by ChatGPT --\u0026gt;` 並且你是要翻譯完整篇文章才能加上。 10. 請保留原始Markdown結構、標點、連結、標題層級與排版，不要擅自重構內容。也不要擅自加入空格。 11. Hugo Shortcode和Hugo Partial不要翻譯。 12. HTML註解保留不動。 13. 程式碼區塊只有註解要翻譯。 14. 引用文字要翻譯。除非本來就是英文，或者我在該段落已經附上中文與英文原文。 15. 若Markdown語法遇到專有名詞、技術名詞、程式碼、指令、檔名、URL、變數名稱，請保留原樣，不要意譯。 16. 列出並整理翻譯可能有問題的檔案列表。包括翻譯有困難（無法生成回應或找不到適合的詞），以及連結可能404的問題。把這些問題記錄寫入到`路徑/translation-logs.md`裡面。格式：檔案路徑 問題描述 這原本是我所不齒的行為，大規模機器翻譯會顯得你很沒誠意，可是如果Reddit和知乎都在這麼做了，那我也得跟上時代吧。我知道Google搜尋的AI總結已經會去抓異國語言的網站並自動翻譯來作為回答內容了，那麼我方便他們抓取不是更好？\n長期來看，至少我能夠讓更多語言的人們認知到我網站的存在。\n現在做的事情，就是先把餌放下去。 我唯一的良心，大概就是請ChatGPT翻譯完成後在文章加入Co-translated by ChatGPT的HTML註解罷了。\n","date":"2026年5月25日","externalUrl":null,"permalink":"/posts/machine-translated-blog-posts/","section":"Personals","summary":"當我用VPN切換地區，看到Google搜尋結果變成外文，回傳的結果並不是那麼容易出現我的網站，甚至搜尋小眾術語也看不到的時候。\n我就想到了希斯特莉亞說過的：困在（中文圈的）牆內，是沒有未來的啊！ 那麼，我要把我blog邪惡的思想散播到全世界！就翻譯為英文和日文等多國語言吧！簡體中文應該不用刻意翻譯因為我網站有繁轉簡按鈕。利用Hugo的i18n功能製作多語言部落格。\n最主要我認為包含原創想法，而非依靠中英文資訊差割韭菜（就是簡單寫個README翻譯的教學文，價值比XDA首頁文章還低的），起碼有100篇，例如對自由軟體的思考，是可以優先推廣的對象。\n不敢說我寫的多好，但這些rant的內容驚世駭俗的程度隨便一篇都是能被掛上Hacker News公幹的。\n我應該是挑戰自己寫英文內容的才對，從2022年就有在做英文版網站了（https://ivonblog.com/en-us/），又做了日本版網站（https://ivonblog.com/ja-jp/），主要是把一些在Reddit反響不錯的技術文章貼上來，內容就是我一字一字翻譯的。有時候發現中文原文寫的太抽象，我還得用英文思維重寫段落，等同再創作。翻譯速度最快也就1天1篇1000字的文章。\n可惜的是，我沒辦法像以前一樣手動一篇一篇翻譯了，這樣根本不可能翻譯得完。這也是我英文版網站更新頻率很低的緣故。雖然手動翻譯能維持英語寫作語感，可是不切實際呀。\n所以…交給VS Code裡面的ChatGPT Codex執行吧。網站文章原始碼都是Markdown應該很好給機器處理。\n訂閱ChatGPT Plus，使用GPT 5 Thinking模型，這樣它會考量文章整體內容再翻譯，較為通順。並會把覺得有問題的翻譯文本寫入log向我回報，我再看情況手動糾正。在VS Code裡面操作，協同AI修改檔案很是方便。 ","title":"把我Blog邪惡的思想散播到全世界！利用AI自動翻譯為多國語言","type":"personal"},{"content":"本文參照Docker官方文件，簡介各大Linux發行版的Docker安裝方式，以及安裝後建議採取的措施，配合個人經驗做註解。指令未來可能有所變更，請以Docker公司的官方文件為準。\n1. 什麼是Docker？ # Docker是適用於Linux系統的容器技術，可提升應用程式部署的效率，也能用來跑伺服器服務。 容器 (container) 相較於虛擬機 (virtual machine) 是更輕量，速度更快，佔用硬體資源低的技術。容器並不會模擬完整硬體與作業系統，而是透過Linux核心的namespaces與 cgroups等機制隔離行程，並與宿主系統共用同一個Linux核心。Docker本身則是將這些Linux核心功能進一步封裝與標準化的容器平台。\n用Docker的好處是什麼呢？它對軟體開發人員和使用者都有好處。\n對軟體開發人員來說，你可以把一個程式所需要的依賴項目打包為一個Docker映像檔(image)，然後部署到多個機器上。一次打包多處執行。這樣每個Linux發行版只要裝了Docker，都能用一樣的指令跑一樣的服務，不用調整一堆有的沒的設定檔，省去解決依賴衝突的時間。例如，你在Ubuntu開發的軟體，打包為Docker映像檔之後，便能確保它在Debain、Arch Linux、Fedora、openSUSE的機器也能跑起來。不需要重新打包。\n對使用者來說，Docker能夠節省你安裝軟體的時間。\n以自架雲端「Nextcloud」為例，在Ubuntu傳統的安裝方式需要你用apt install自行安裝Apache、PHP、MariaDB、Redis等多種依賴，還要處理不同Linux發行版之間的套件差異、權限設定、版本相容性問題，部署與維護成本較高。而使用Docker則可以將Nextcloud所需的執行環境與依賴一併封裝成映像檔，透過docker compose up -d一行指令快速部署到不同機器上，大幅減少環境配置問題，並讓升級、移轉、備份更加方便。\nDocker誕生於2013年，與Docker類似的容器技術還有Systemd-nspawn、LXC、Podman等等。有很多新興方案試圖取代Docker，不過Docker仍是目前Linux最熱門的容器技術，有非常成熟的生態系，推薦瞭解使用方式。\n2. Docker Engine與Docker Desktop的差別 # 本文是要在Linux系統安裝Docker。提及的Docker皆是指Docker Engine，並不包含圖形軟體Docker Desktop。\n你真的需要裝Docker Desktop嗎？\n答案是 不必要 。Docker Desktop僅是一個虛擬機軟體，用來給需要的人使用。\nDocker本身是開源軟體，使用Apache License授權。不過Docker Desktop是Docker, Inc公司推出的產品，是含有封閉原始碼的軟體。\n先說，Docker在Linux系統的執行速度是比Windows和macOS快的。因為Docker本來就重度依賴Linux核心的功能。因此Docker可以說是Linux專武。\n那麼其他系統要怎麼跑Docker呢？使用虛擬機。Docker Desktop是給Windows和macOS系統一個方便跑Docker的環境。由於Docker需要用到Linux核心才能運作，很難移植到其他系統，故Windows和macOS需要安裝Docker Desktop，用它附帶的虛擬機跑Docker。從Docker官方說明便可知道Docker Dektop的Docker本質是跑在虛擬機裡面。所以Docker Dekstop的效能不佳。更誇張的是連Linux版Docker Desktop也是跑在虛擬機裡面。如果你已經在用Linux系統，那就不需要裝Docker Desktop，直接跑原生版的Docker即可。\n除非你需要常常管理Docker Hub的專案，否則跑Docker Desktop就是浪費空間。要真正上手Docker請學習指令。真的、真的很需要一個Docker圖形控制界面，你可以跑Portainer這類服務替代之。\n3. 各大Linux發行版的Docker安裝指令 # Ubuntu \u0026amp; WSL # 參考資料：Docker官方文件\n測試版本：Ubuntu 26.04\nWindows WSL預設的發行版是Ubuntu，所以也可以用Ubuntu的指令裝Docker。\n如果要最新版，建議加入Docker官方的套件庫，而非從Ubuntu套件庫裝。\n安裝GNUPG，匯入Docker套件庫的金鑰 sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg 按照你的系統版本加入對應的套件庫 echo \\ \u0026#34;deb [arch=\u0026#34;$(dpkg --print-architecture)\u0026#34; signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \\ \u0026#34;$(. /etc/os-release \u0026amp;\u0026amp; echo \u0026#34;$VERSION_CODENAME\u0026#34;)\u0026#34; stable\u0026#34; | \\ sudo tee /etc/apt/sources.list.d/docker.list \u0026gt; /dev/null 安裝Docker Engine sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin Debian # 參考資料：Docker官方文件\n測試版本：Debian 13\n如果要最新版，建議加入Docker官方的套件庫，而非從Debian套件庫裝。\n安裝GNUPG，匯入Docker套件庫的金鑰 sudo apt update sudo apt install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg 按照你的系統版本加入對應的套件庫 echo \\ \u0026#34;deb [arch=\u0026#34;$(dpkg --print-architecture)\u0026#34; signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \\ \u0026#34;$(. /etc/os-release \u0026amp;\u0026amp; echo \u0026#34;$VERSION_CODENAME\u0026#34;)\u0026#34; stable\u0026#34; | \\ sudo tee /etc/apt/sources.list.d/docker.list \u0026gt; /dev/null 安裝Docker Engine sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin Arch Linux # 參考資料：Arch Wiki\n從Arch Linux的套件庫直接安裝Docker就可以了\nsudo pacman -S docker docker-compose Fedora # 參考資料：Docker官方文件\n測試版本：Fedora 44\nFedora套件相對新，可以選擇從Fedora套件庫直接裝或是用Docker官方提供的版本。\n加入Docker官方的套件庫，以取得最新Docker套件 sudo dnf -y install dnf-plugins-core sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo 安裝Docker sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin openSUSE # 參考資料：openSUSE Wiki\nopenSUSE Tumbleweed使用以下指令從套件庫安裝最新版：\nsudo zypper install docker docker-compose docker-compose-switch 4. 安裝Docker後建議做的事 # 本節講述測試Docker安裝正常的程序，以及檢討安全性措施。\n您可以將使用者加入Docker群組，然後重開機。這樣使用者不須sudo也能執行docker指令。但請注意這樣等同賦予使用者root權限，能夠以docker執行任何指令。 sudo groupadd docker sudo usermod -aG docker $USER # 或是addgroup $USER docker 設定Linux系統開機之後，自動啟動Docker服務 # 如果是init系統是Systemd sudo systemctl enable docker sudo systemctl start docker # 如果是init系統是OpenRC sudo rc-update add docker sudo rc-update add cgroups sudo rc-service cgroups start sudo rc-service docker start 接著，試試看跑Docker的Hello World，確認Docker Engine是否正常運作。docker run這個指令會從Docker Hub這個最多人用的託管網站下載映像檔。成功的話會印出Hello World訊息。 sudo docker run hello-world 如果Docker容器無法連上網路，致使無法拉取映像檔，請查看/etc/resolv.conf，調整DNS設定（Systemd-resolved或dnsmasq），使用Google的DNS8.8.8.8。\n最後是值得注意的安全性問題：Docker會自行調整iptables規則，從而導致UFW防火牆的封鎖失效。這樣Linux電腦跑容器服務會有潛在風險，例如不該給外人存取的資料庫通訊埠被Docker暴露到外網。此時請考慮採用ufw-docker這類方案解決之。或者設定Docker服務只監聽localhost，改用反向代理存取服務。\n延伸閱讀 # Docker官方使用手冊 本站一些關於Docker的應用實例 ","date":"2026年5月25日","externalUrl":null,"permalink":"/posts/install-docker-engine-on-linux/","section":"所有文章","summary":"本文參照Docker官方文件，簡介各大Linux發行版的Docker安裝方式，以及安裝後建議採取的措施，配合個人經驗做註解。指令未來可能有所變更，請以Docker公司的官方文件為準。\n1. 什麼是Docker？ # Docker是適用於Linux系統的容器技術，可提升應用程式部署的效率，也能用來跑伺服器服務。 容器 (container) 相較於虛擬機 (virtual machine) 是更輕量，速度更快，佔用硬體資源低的技術。容器並不會模擬完整硬體與作業系統，而是透過Linux核心的namespaces與 cgroups等機制隔離行程，並與宿主系統共用同一個Linux核心。Docker本身則是將這些Linux核心功能進一步封裝與標準化的容器平台。\n用Docker的好處是什麼呢？它對軟體開發人員和使用者都有好處。\n對軟體開發人員來說，你可以把一個程式所需要的依賴項目打包為一個Docker映像檔(image)，然後部署到多個機器上。一次打包多處執行。這樣每個Linux發行版只要裝了Docker，都能用一樣的指令跑一樣的服務，不用調整一堆有的沒的設定檔，省去解決依賴衝突的時間。例如，你在Ubuntu開發的軟體，打包為Docker映像檔之後，便能確保它在Debain、Arch Linux、Fedora、openSUSE的機器也能跑起來。不需要重新打包。\n","title":"Docker Engine在各大Linux發行版的安裝教學","type":"posts"},{"content":"介紹虛擬機(QEMU/KVM、UTM、VirtualBox、VMware、Hyper-V)與容器(chroot、LXC、Docker、Podman)的使用技巧。\n","date":"2026年5月25日","externalUrl":null,"permalink":"/categories/%E8%99%9B%E6%93%AC%E6%A9%9F%E8%88%87%E5%AE%B9%E5%99%A8%E6%8A%80%E8%A1%93/","section":"分類","summary":"介紹虛擬機(QEMU/KVM、UTM、VirtualBox、VMware、Hyper-V)與容器(chroot、LXC、Docker、Podman)的使用技巧。\n","title":"虛擬機與容器技術","type":"categories"},{"content":"跨平台軟體（非Linux專屬）、非自由軟體，跟電腦軟體相關的情報。\n","date":"2026年5月25日","externalUrl":null,"permalink":"/categories/%E8%B3%87%E8%A8%8A%E7%A7%91%E6%8A%80/","section":"分類","summary":"跨平台軟體（非Linux專屬）、非自由軟體，跟電腦軟體相關的情報。\n","title":"資訊科技","type":"categories"},{"content":"","date":"2026年5月25日","externalUrl":null,"permalink":"/tags/browser-extension/","section":"標籤","summary":"","title":"Browser Extension","type":"tags"},{"content":"這是幫助你淡出社群媒體的瀏覽器小工具。\n我把瀏覽器的搜尋結果全部重新導向了。\n透過「LibRedirect」的瀏覽器擴充功能，自動將社群媒體的網址重新導向到第三方前端 (alternative frontend) ，改變接受資訊的方式，修正被演算法控制的心態。 例如，不用登入Twitter (X) 的帳號，也不用開啟x.com，就可以查看推文更新。這是透過名為Nitter的第三方前端做到的。 1. 什麼是第三方前端？ # 要取得資訊，就會打開瀏覽器，使用搜尋引擎或AI找資料吧。即使是不想用社群媒體的用戶，也不免會到社群媒體網站接受資訊。\n提供資訊的一方多半是網頁形式，所以，你會接觸到別人寫的「前端」，也就是frontend。\n至於那些要求下載APP才能看的網站，罪該萬死。\n可是，現在很多網站會要求你登入才能看，否則就只對搜尋引擎機器人而非人類用戶提供完整資訊。你一往下滑，網頁就會跳出提示框禁止瀏覽！這就叫login wall，破壞瀏覽體驗。然後，你就會被社群媒體設計的機制越綁越深，無法脫離演算法給你的好處，忘記真正需要的資訊。\n並且網站會在網頁放一堆臃腫的JavaScript以投放廣告，追蹤使用者行為，還有用演算法向你推薦感興趣的內容，順便賣產品。\n恐怕只有維基百科是最不邪惡的網站了吧。\n我們知道要修改網頁行為可以在客戶端瀏覽器。裝TamperMonkey或者uBlock Origin來改。但網頁設計那麼複雜，很多時候是不夠的，那麼使用第三方前端 (alternative frontend) 便可以考慮。\n第三方開發的網頁前端，會代替我們去撈網站公開資料，重新整理並渲染成可讀格式。這樣的話，我們就不會被網站設計的提示框所干擾，而是能看到最重要的內容。另外，第三方前端會把社群媒體變「無聊」，這樣你就很難沉迷社群媒體了！\n但是我們在瀏覽器仍會不自覺點開社群網站的網址啊！\n透過「LibRedirect」，就能在瀏覽器打開特定網址的時候，重新導向到第三方前端的伺服器。\nLibRedirect是Privacy Redirect的fork，後者已經很久沒有更新了。\n然後我們大多時候不需要登入帳號就能看。也不用在客戶端瀏覽器裝擴充套件。第三方前端的網頁伺服器都幫你處理好了。\n這算是一種淡出or退出社群媒體又可以接收資訊的方法。\n若是有那種需要登入卻不一定要付費才能看的東西？不看也罷！\n2. 有哪些網站可以重新導向到第三方前端？ # 這些第三方前端共同特點：都是走極簡主義風格的，移除煩人的元素，去掉了廣告和追蹤器，而且幾乎沒有演算法排序，就是向用戶呈現「內容」。不用登入帳號就能看。有的還會提供RSS訂閱功能。\n以我常用的網站為例子：\nGoogle Search → SearXNG 架設教學。其實不用重導向，只要把瀏覽器搜尋引擎設定為SearXNG就可以了。 Youtube → Invidious 架設教學 Bilibili → Mikuinvidious 架設教學 Twitter → Nitter 架設教學 Facebook → Phice 架設教學 Threads → Shoelace 架設教學 Reddit → Redlib 架設教學 LibRedirect網站還有很多參考資源。\n你說這種第三方前端的服務不會被社群媒體網站的反爬蟲程式封鎖嗎？我們理解網站試圖防範惡意爬蟲的努力。架給很多人用的公共站點是會，尤其是資料中心的IP流量很大。但如果我們是架在自己家裡的機器且用量不大的話，要封鎖第三方前端是很難辦到的。\n3. LibRedirect用法 # 到官網依照你的瀏覽器下載擴充功能。\n然後開啟LibRedirect面板，勾選要啟用的重新導向服務。 LibRedirect預設的邏輯是隨機挑選一個公共站點跳轉，防止單點故障與增加匿名性。不過你也可以連到自架的，只要在設定裡面填寫實例網址就會優先使用。 另外，如果你大部分時候是透過搜尋引擎來進入網站，那麼在SearXNG後臺設定伺服器端重新導向就可以了。就不用在多個客戶端手動設定LibRedirect了。\n","date":"2026年5月25日","externalUrl":null,"permalink":"/posts/libredirect-browser-extension/","section":"所有文章","summary":"這是幫助你淡出社群媒體的瀏覽器小工具。\n我把瀏覽器的搜尋結果全部重新導向了。\n透過「LibRedirect」的瀏覽器擴充功能，自動將社群媒體的網址重新導向到第三方前端 (alternative frontend) ，改變接受資訊的方式，修正被演算法控制的心態。 例如，不用登入Twitter (X) 的帳號，也不用開啟x.com，就可以查看推文更新。這是透過名為Nitter的第三方前端做到的。 1. 什麼是第三方前端？ # 要取得資訊，就會打開瀏覽器，使用搜尋引擎或AI找資料吧。即使是不想用社群媒體的用戶，也不免會到社群媒體網站接受資訊。\n提供資訊的一方多半是網頁形式，所以，你會接觸到別人寫的「前端」，也就是frontend。\n至於那些要求下載APP才能看的網站，罪該萬死。\n可是，現在很多網站會要求你登入才能看，否則就只對搜尋引擎機器人而非人類用戶提供完整資訊。你一往下滑，網頁就會跳出提示框禁止瀏覽！這就叫login wall，破壞瀏覽體驗。然後，你就會被社群媒體設計的機制越綁越深，無法脫離演算法給你的好處，忘記真正需要的資訊。\n並且網站會在網頁放一堆臃腫的JavaScript以投放廣告，追蹤使用者行為，還有用演算法向你推薦感興趣的內容，順便賣產品。\n","title":"LibRedirect擴充功能教學：免登入社群媒體又可以接收資訊，順便保護隱私","type":"posts"},{"content":"","date":"2026年5月25日","externalUrl":null,"permalink":"/tags/rss-feed/","section":"標籤","summary":"","title":"RSS Feed","type":"tags"},{"content":"","date":"2026年5月25日","externalUrl":null,"permalink":"/categories/%E8%B3%87%E8%A8%8A%E7%A7%91%E6%8A%80%E6%87%89%E7%94%A8/","section":"分類","summary":"","title":"資訊科技應用","type":"categories"},{"content":"","date":"2026年5月25日","externalUrl":null,"permalink":"/tags/twitter/","section":"標籤","summary":"","title":"Twitter","type":"tags"},{"content":"你覺得現在的Twitter界面太混亂了嗎？整天叫你付費。\nNitter是X.com (Twitter) 的第三方前端。不需要登入就能查看推文，瀏覽NSFW內容，以及下載影片。 1. Nitter特色功能 # Nitter是一個開源的第三方網頁前端，主打極簡設計，去掉了X.com首頁有的沒有的功能，刪除了廣告和追蹤器，保護隱私。不需要JavaScript就能用。界面類似10年前的Twitter。提供一個乾淨的界面讓你瀏覽Twitter而不被Grok AI和X Premium的提示干擾。\n我知道這個名字聽起來很像nigger\u0026hellip;才怪，之所以叫這個名字是因為Nitter用Nim語言編寫。Nit也有傻瓜的意思。\n有趣的是，自從Twitter被Elon Musk收購變成X.com之後，一些用戶受不了他的自大作風（例如每次X.com有新功能就會狂發文昭告天下，還有放任極右派言論與極左派大亂鬥導致X變成跟4chan一樣的沼氣池）紛紛離開。而且Hacker News有人會建議說，如果你要分享X.com的推文，可否改附上Nitter的代理網址呢？由此可見Elon Musk在一些人心中的厭惡程度！\nNitter可以搜尋X.com上面所有公開的推文。 包括原本沒登入就不給看的NSFW內容。Nitter自動幫你處理掉了login wall的部分。 X.com的圖片和影片會渲染為HTML5播放器，不過不能右鍵下載影片，還是得使用yt-dlp來抓。 目前Nitter沒有做追蹤功能，無法在Nitter網頁查看多個帳號的動態。你只能透過Nitter生成的RSS列表，在RSS閱讀器裡面來訂閱特定X.com帳號的推文更新。\nNitter有很多公開站臺可以用，不過他們可能會因為流量過大被ban，因此最好的方式就是自己架一個。\n2. 部署Nitter # 在Linux安裝Docker\n建立資料目錄\nmkdir ~/nitter cd ~/nitter 取得設定檔 wget -O nitter.conf https://raw.githubusercontent.com/zedeus/nitter/refs/heads/master/nitter.example.conf 大部分設定不用動，不過Nitter允許你在裡面指定自動將Youtube連結重新導向到Invidious。若要播放影片得啟用HLS播放。 [Preferences] theme = \u0026#34;Nitter\u0026#34; replaceTwitter = \u0026#34;nitter.net\u0026#34; replaceYouTube = \u0026#34;piped.video\u0026#34; replaceReddit = \u0026#34;teddit.net\u0026#34; proxyVideos = true hlsPlayback = true infiniteScroll = false 取得docker-compose，包含Nitter服務與Redis資料庫。按需修改，例如預設ports:\u0026quot;127.0.0.1:8080:8080\u0026quot;就是要你搭配反向代理用的。若不需要就去掉127.0.0.1並改成任意通訊埠。 wget -O docker-compose.yaml https://raw.githubusercontent.com/zedeus/nitter/refs/heads/master/docker-compose.yml 啟動Docker服務 docker compose up -d 啟動服務後，使用http://IP:8080打開。 3. 將X.com網址重新導向到Nitter # 安裝LibRedirect。\n","date":"2026年5月25日","externalUrl":null,"permalink":"/posts/nitter-x-privacy-frontend/","section":"所有文章","summary":"你覺得現在的Twitter界面太混亂了嗎？整天叫你付費。\nNitter是X.com (Twitter) 的第三方前端。不需要登入就能查看推文，瀏覽NSFW內容，以及下載影片。 1. Nitter特色功能 # Nitter是一個開源的第三方網頁前端，主打極簡設計，去掉了X.com首頁有的沒有的功能，刪除了廣告和追蹤器，保護隱私。不需要JavaScript就能用。界面類似10年前的Twitter。提供一個乾淨的界面讓你瀏覽Twitter而不被Grok AI和X Premium的提示干擾。\n我知道這個名字聽起來很像nigger…才怪，之所以叫這個名字是因為Nitter用Nim語言編寫。Nit也有傻瓜的意思。\n有趣的是，自從Twitter被Elon Musk收購變成X.com之後，一些用戶受不了他的自大作風（例如每次X.com有新功能就會狂發文昭告天下，還有放任極右派言論與極左派大亂鬥導致X變成跟4chan一樣的沼氣池）紛紛離開。而且Hacker News有人會建議說，如果你要分享X.com的推文，可否改附上Nitter的代理網址呢？由此可見Elon Musk在一些人心中的厭惡程度！\n","title":"用Nitter免登入X.com查看貼文 + RSS訂閱推文更新","type":"posts"},{"content":"","date":"2026年5月25日","externalUrl":null,"permalink":"/tags/bilibili/","section":"標籤","summary":"","title":"Bilibili","type":"tags"},{"content":"","date":"2026年5月25日","externalUrl":null,"permalink":"/tags/facebook/","section":"標籤","summary":"","title":"Facebook","type":"tags"},{"content":"","date":"2026年5月25日","externalUrl":null,"permalink":"/tags/invidious/","section":"標籤","summary":"","title":"Invidious","type":"tags"},{"content":"叔叔我啊，最討厭不登入帳號看視頻的孩子了。\nMikuinvidious是模仿 Invidious Youtube 的網頁前端，專為Bilibili設計。\n主打保護隱私的觀看體驗。\n1. Mikuinvidious功能 # Mikuinvidious是由趙喜娜 (Bing Chilling) 開發的開源專案，去掉了Bilibili主站的臃腫界面與追蹤器，只保留影片播放功能，不需要JavaScript就能用。\n用意在於讓用戶可以免登入觀看Bilibili影片，不會播放到一半被「登入享高清」的訊息干擾。還可以下載現正播放的影片。 Mikuinvidious也可以用來追番（需要輸入av號），只要不是大會員的公開番劇都能播放。依照Mikuinvidious伺服器部署的地理位置IP不同，能看的番劇也會不同。 可以用RSS訂閱UP主更新。不過看不到動態和文字專欄，只有影片。\nBilibili對外開放的影片畫質有限制。而且搜尋影片很容易被限流。\n支援登入Bilibili帳號觀看更多內容。\n2. 打包Mikuinvidious專案 # 參考Gitlab，這個專案似乎已經一年以上沒更新了（悲）作者的README是空白的。我實測當下還是勉強可以用，一些頁面會報錯。彈幕無法顯示。\n沒有現成的Docker映像檔，需要自己打包。Mikuinvidious目前似乎沒有公共站臺，需要自架。\n在Linux安裝Docker\n複製儲存庫\ngit clone https://0xacab.org/johnxina/mikuinvidious.git cd mikuinvidious 原作者寫的有問題，Docker容器會無法連線資料庫，這裡小改一下，修改shared.py讓它能連其他位址的資料庫。 # Connect to our nice redis database. redis_conf = appconf.get(\u0026#39;redis\u0026#39;, {}) redis_host = os.environ.get(\u0026#39;REDIS_HOST\u0026#39;) or redis_conf.get(\u0026#39;host\u0026#39;, \u0026#39;localhost\u0026#39;) redis_port = int(os.environ.get(\u0026#39;REDIS_PORT\u0026#39;) or redis_conf.get(\u0026#39;port\u0026#39;, 6379)) redis_db = int(os.environ.get(\u0026#39;REDIS_DB\u0026#39;) or redis_conf.get(\u0026#39;db\u0026#39;, 0)) appredis = redis.Redis(host=redis_host, port=redis_port, db=redis_db) 新增Dockerfile vim Dockerfile 填入以下內容，使用uv安裝Python 3.12，填入以下內容，使用uv安裝Python 3.12 FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim AS builder ENV UV_COMPILE_BYTECODE=1 \\ UV_LINK_MODE=copy WORKDIR /app COPY requirements.txt . RUN uv venv /opt/venv \\ \u0026amp;\u0026amp; uv pip install --python /opt/venv/bin/python -r requirements.txt FROM python:3.12-slim-bookworm ENV PATH=\u0026#34;/opt/venv/bin:${PATH}\u0026#34; \\ PYTHONUNBUFFERED=1 WORKDIR /app COPY --from=builder /opt/venv /opt/venv COPY . . EXPOSE 8888 CMD [\u0026#34;sh\u0026#34;, \u0026#34;-c\u0026#34;, \u0026#34;test -f config.toml || cp config.toml.sample config.toml; exec python main.py\u0026#34;] 打包為Docker image docker build -t mikuinvidious:local . 3. 部署MikuInvidious # 新增設定檔 cp config.toml.sample config.toml vim config.toml 修改config.toml，設定網域。沒網域就填寫http://IP:8888。然後設定Redis連線網址。 [site] site_name = \u0026#39;MikuInvidious\u0026#39; site_url = \u0026#39;http://網域\u0026#39; [redis] host = \u0026#39;redis\u0026#39; port = 6379 db = 0 （選擇性）登入Bilibili帳號以解鎖更多內容，參考bilibili-api。可能被ban，風險自負。 [credential] use_cred = true sessdata = \u0026#39;\u0026#39; bili_jct = \u0026#39;\u0026#39; buvid3 = \u0026#39;\u0026#39; dedeuserid = \u0026#39;\u0026#39; 撰寫docker-compose vim docker-compose.yaml 內容如下，使用自己建置的Docker映像檔，還需要跑一個Redis當作資料庫 services: mikuinvidious: image: mikuinvidious:local container_name: mikuinvidious restart: unless-stopped depends_on: redis: condition: service_healthy environment: REDIS_HOST: redis REDIS_PORT: \u0026#34;6379\u0026#34; REDIS_DB: \u0026#34;0\u0026#34; ports: - \u0026#34;8888:8888\u0026#34; volumes: - ./config.toml:/app/config.toml:ro redis: image: redis:7-alpine container_name: mikuinvidious-redis restart: unless-stopped command: [\u0026#34;redis-server\u0026#34;, \u0026#34;--appendonly\u0026#34;, \u0026#34;yes\u0026#34;] healthcheck: test: [\u0026#34;CMD\u0026#34;, \u0026#34;redis-cli\u0026#34;, \u0026#34;ping\u0026#34;] interval: 10s timeout: 3s retries: 5 volumes: - ./redis-data:/data 啟動Docker服務 docker compose up -d 啟動服務後，使用http://IP:8888打開。 4. 將Bilibili網址重新導向到Mikuinvidious # 安裝LibRedirect。\nMikuInvidious對Bilibili鏈接的處理不是很智慧，一些網址重新導向後會404。建議使用av號才能精準打開。\n","date":"2026年5月25日","externalUrl":null,"permalink":"/posts/mikuinvidious-bilibili-frontend/","section":"所有文章","summary":"叔叔我啊，最討厭不登入帳號看視頻的孩子了。\nMikuinvidious是模仿 Invidious Youtube 的網頁前端，專為Bilibili設計。\n主打保護隱私的觀看體驗。\n1. Mikuinvidious功能 # Mikuinvidious是由趙喜娜 (Bing Chilling) 開發的開源專案，去掉了Bilibili主站的臃腫界面與追蹤器，只保留影片播放功能，不需要JavaScript就能用。\n用意在於讓用戶可以免登入觀看Bilibili影片，不會播放到一半被「登入享高清」的訊息干擾。還可以下載現正播放的影片。 Mikuinvidious也可以用來追番（需要輸入av號），只要不是大會員的公開番劇都能播放。依照Mikuinvidious伺服器部署的地理位置IP不同，能看的番劇也會不同。 可以用RSS訂閱UP主更新。不過看不到動態和文字專欄，只有影片。\nBilibili對外開放的影片畫質有限制。而且搜尋影片很容易被限流。\n支援登入Bilibili帳號觀看更多內容。\n2. 打包Mikuinvidious專案 # 參考Gitlab，這個專案似乎已經一年以上沒更新了（悲）作者的README是空白的。我實測當下還是勉強可以用，一些頁面會報錯。彈幕無法顯示。\n沒有現成的Docker映像檔，需要自己打包。Mikuinvidious目前似乎沒有公共站臺，需要自架。\n","title":"Mikuinvidious：第三方Bilibili網頁端 + 下載影片，讓陳睿叔叔無法追蹤你的隱私","type":"posts"},{"content":"祖克伯知道了會氣死的東西。\n眾所周知，你不登入Facebook帳號，會一直有提示框跳出來阻擋瀏覽。\n但我就是不想給他們追蹤呀？那就用Phice網頁瀏覽吧。 1. Phice特色 # Phice為一款尊重隱私的第三方Facebook前端。這聽起來挺矛盾的，Facebook和隱私似乎沾不上邊，但就是被做出來了。\n架構簡單，網頁元素幾乎沒用到JavaScript。\n我們不用登入Facebook帳號，就能搜尋公開貼文，查看留言。排序由Facebook演算法決定 也可以搜尋粉絲專頁的最新發文。不會看到任何廣告 Phice會將網頁元素渲染為基本的HTML元素，因此可以右鍵下載影片，Facebook Reels也可以 另外提供RSS訂閱功能，讓你能夠追蹤特定帳號的新貼文。\n不過，Phice只是一個簡單爬取Facebook公開資料的服務而已，無法瀏覽私密社團的內容，無法登入Facebook帳號，也不能使用Messenger。\n況且你要是真的用這個登入帳號的話，使用者也可能被ban。\nFacebook對爬蟲程式抓很兇的，第三方程式嘗試爬貼文IP就會被封鎖，我想這是目前Phice沒有公共站臺的原因。建議自架Phice。\n2. 用Docker部署Phice # 參考Codeberg文件部署。\n在Linux安裝Docker\n建立資料目錄\nmkdir -p ~/phice/data cd ~/phice 取得設定檔，裡面可以定義主題，大部分設定不用改 wget -O config.toml https://codeberg.org/c4ffe14e/phice/raw/branch/main/config.example.toml 取得docker-compose.yml，按需修改 wget -O docker-compose.yaml https://codeberg.org/c4ffe14e/phice/raw/branch/main/docker-compose.yaml 啟動服務 docker compose up -d 用瀏覽器打開http://IP:5000存取。 3. 將Facebook網址重新導向到Phice # 安裝LibRedirect自動重新導向瀏覽器的Facebook鏈接。\n","date":"2026年5月25日","externalUrl":null,"permalink":"/posts/phice-facebook-frontend/","section":"所有文章","summary":"祖克伯知道了會氣死的東西。\n眾所周知，你不登入Facebook帳號，會一直有提示框跳出來阻擋瀏覽。\n但我就是不想給他們追蹤呀？那就用Phice網頁瀏覽吧。 1. Phice特色 # Phice為一款尊重隱私的第三方Facebook前端。這聽起來挺矛盾的，Facebook和隱私似乎沾不上邊，但就是被做出來了。\n架構簡單，網頁元素幾乎沒用到JavaScript。\n我們不用登入Facebook帳號，就能搜尋公開貼文，查看留言。排序由Facebook演算法決定 也可以搜尋粉絲專頁的最新發文。不會看到任何廣告 Phice會將網頁元素渲染為基本的HTML元素，因此可以右鍵下載影片，Facebook Reels也可以 另外提供RSS訂閱功能，讓你能夠追蹤特定帳號的新貼文。\n不過，Phice只是一個簡單爬取Facebook公開資料的服務而已，無法瀏覽私密社團的內容，無法登入Facebook帳號，也不能使用Messenger。\n況且你要是真的用這個登入帳號的話，使用者也可能被ban。\nFacebook對爬蟲程式抓很兇的，第三方程式嘗試爬貼文IP就會被封鎖，我想這是目前Phice沒有公共站臺的原因。建議自架Phice。\n","title":"使用Phice下載Facebook影片，免登入，RSS訂閱更新","type":"posts"},{"content":"Shoelace，鞋帶，是脆的諧音，一個酷酷的諧音梗。不是蒸丸，蒸的丸子(臺語)。 這是脆 (Threads) 的第三方前端。免登入看脆的串文，不被登入框干擾，。\n雖然我很討厭Threads，rage-baiting導向的演算法老是推送一堆智障貼文，但它現在是臺灣活網最熱門的地方，每天都有新梗，我還是得用它。\n瀏覽器不登入Threads帳號的話就會跳出登入框阻止往下滑，那麼我就用這個吧。\n1. Shoelace功能 # 這個前端主要是提供一個簡單的界面來查看Threads的文章，去掉廣告與追蹤器。\n要擺脫演算法的惡意，就是乾脆不要有演算法。\n目前可以爬取文字串文和圖片。 要看串文回覆的話點一下帳號旁邊的日期。 影片的話要點進串文才會播放。Shoelace會將影片渲染為標準HTML5播放器，Firefox應該可以直接右鍵下載。 89超商跳舞\nShoelace只能看特定帳號的發文和回覆，不能搜尋串文。而且似乎沒辦法看到更久以前的發文。\n折衷方法是透過搜尋引擎來找Threads貼文。Threads的SEO做的還不錯，因此Google應該都會收錄。\n另外可以透過RSS按鈕，訂閱Threads帳號的發文更新。\nShoelace是開源軟體，有很多公共站點可以用，當然你也可以自己架一個。\n2. 用Docker架設Shoelace # 參考Sourehut文件部署\n在Linux安裝Docker\n建立目錄\nmkdir -p ~/shoelace/data cd ~/shoelace 取得設定檔 wget -o data/shoelace.toml https://git.sr.ht/~nixgoat/shoelace/blob/master/contrib/shoelace.toml 編輯設定檔shoelace.toml，必須寫網域否則無法顯示圖片。如果沒有網域就填寫IP:通訊埠。如果要用反向代理必須啟用TLS。 [server] # Address to listen on listen=\u0026#34;0.0.0.0\u0026#34; # Port to bind port=8080 # Instance URL. Needed for accurate proxied media locations in API base_url=\u0026#34;http://網域\u0026#34; 取得docker-compose範本，按需修改，例如ports可以定義對外通訊埠 wget -o data/docker-compose.yml https://git.sr.ht/~nixgoat/shoelace/blob/master/contrib/docker-compose.yml 啟動容器 docker compose up -d 用瀏覽器開啟http://IP:80使用網頁。 3. 將搜尋結果重新導向到Shoelace # 任一Threads的網址都可以用Shoelace開啟（少部分情況會404），只要把threads.com替換為Shoelace的網域就好了。\n安裝LibRedirect自動重新導向瀏覽器的Threads鏈接。\n","date":"2026年5月25日","externalUrl":null,"permalink":"/posts/shoelace-threads-frontend/","section":"所有文章","summary":"Shoelace，鞋帶，是脆的諧音，一個酷酷的諧音梗。不是蒸丸，蒸的丸子(臺語)。 這是脆 (Threads) 的第三方前端。免登入看脆的串文，不被登入框干擾，。\n雖然我很討厭Threads，rage-baiting導向的演算法老是推送一堆智障貼文，但它現在是臺灣活網最熱門的地方，每天都有新梗，我還是得用它。\n瀏覽器不登入Threads帳號的話就會跳出登入框阻止往下滑，那麼我就用這個吧。\n1. Shoelace功能 # 這個前端主要是提供一個簡單的界面來查看Threads的文章，去掉廣告與追蹤器。\n要擺脫演算法的惡意，就是乾脆不要有演算法。\n目前可以爬取文字串文和圖片。 要看串文回覆的話點一下帳號旁邊的日期。 影片的話要點進串文才會播放。Shoelace會將影片渲染為標準HTML5播放器，Firefox應該可以直接右鍵下載。 89超商跳舞\nShoelace只能看特定帳號的發文和回覆，不能搜尋串文。而且似乎沒辦法看到更久以前的發文。\n折衷方法是透過搜尋引擎來找Threads貼文。Threads的SEO做的還不錯，因此Google應該都會收錄。\n另外可以透過RSS按鈕，訂閱Threads帳號的發文更新。\n","title":"Shoelace：免登入看Threads串文 + 影片下載","type":"posts"},{"content":"Linux系統的軟體使用教學。有些跨平台軟體，非Linux限定的也會收錄在此。\nLinux常用軟體列表：Linux電腦常用軟體\n","date":"2026年5月22日","externalUrl":null,"permalink":"/categories/linux%E5%A5%BD%E7%94%A8%E8%BB%9F%E9%AB%94/","section":"分類","summary":"Linux系統的軟體使用教學。有些跨平台軟體，非Linux限定的也會收錄在此。\nLinux常用軟體列表：Linux電腦常用軟體\n","title":"Linux好用軟體","type":"categories"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/tags/media-server/","section":"標籤","summary":"","title":"Media Server","type":"tags"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/tags/nextcloud/","section":"標籤","summary":"","title":"NextCloud","type":"tags"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/tags/rclone/","section":"標籤","summary":"","title":"Rclone","type":"tags"},{"content":"想要同時使用多個雲端硬碟又不想裝一堆客戶端？\n你的雲端硬碟供應商沒有提供Linux版桌面客戶端嗎？\nRclone一個工具搞定！ Rclone是受Rsync所啟發的軟體，開發者Nick Craig-Wood稱其為\u0026quot;rsync for cloud storage\u0026quot;，或可理解為一把萬用的「瑞士軍刀」！\n提供強大的指令，還有直觀的面板，讓你存取大大小小的檔案。 Rclone特色功能如下：\n本體是Go語言寫成的單一執行檔，沒有其他依賴項目，安裝簡單 比Rsync效能更好，加入多執行緒支援 開源軟體，不會蒐集使用者資料 跨平台支援Linux、Windows、macOS 使用靈活，可以用純文字指令操作，也有網頁圖形介面 支援許多雲端硬碟，例如Google Drive、OneDrive、iCloud、Dropbox、pCloud、MEGA、NextCloud、Amazon S3等等 支援掛載遠端FTP、SSHFS、SMB、WebDAV伺服器、檔案系統，當作Rsync備份檔案之用。 可透過rclone serve將自身變身為一個簡易HTTP檔案分享伺服器，後端抽象化，對客戶端來說看到的都是一樣的路徑 因為能同時連線到多個雲端硬碟，所以能在不同雲端之間同步檔案 支援本機加密後再上傳檔案 透過rclone mount將雲端目錄掛載到本機瀏覽，直接在檔案管理員修改遠端檔案。 本文Ivon示範 如何在Linux安裝Rclone，並以Google雲端硬碟為例子 示範Rclone的各種用法。\n其他家雲端的操作概念大同小異，都是將雲端硬碟的連線方式寫到Rclone設定檔，然後取得授權。有的雲端硬碟只要依照Rclone的指示，登入帳號取得授權，或者填寫API權杖即可。\n1. 安裝Rclone # 參照官網指示安裝。\n像Ubuntu這類非滾動發行版，用套件管理員安裝Rclone可能會裝到舊版，沒有跟上雲端供應商的API變化，所以建議從Rclone官網下載安裝指令稿，取得最新版的執行檔： sudo -v ; curl https://rclone.org/install.sh | sudo bash Linux的Rclone設定檔位置用指令rclone config file查看，通常位於~/.config/rclone/rclone.conf\n另外，RClone也可以用Docker部署，參見：https://hub.docker.com/r/rclone/rclone\n2. 啟動Rclone WebUI # Rclone基本上是要用指令操作的，執行rclone config指令，依照畫面上的指示操作就能新增雲端。官網文件有全部指令的詳細解說。 不過我認為這樣有點麻煩，所以有時候會用圖形界面。Rclone有React寫成的WebUI，讓一些基本操作可以用圖形界面完成。Rclone WebUI所做的變更會自動寫入rclone.conf，所以指令和WebUI二者可以交替使用。順帶一提Rclone有兩個WebUI，推薦大多數使用者使用gui版本，另外一個rc-web-gui是給進階使用者用的。\n使用以下指令啟動WebUI，user設定帳號為admin，pass設定密碼為password。addr後面參數接的是IP位址與通訊埠，localhost就是只有本機能存取Rclone WebUI，0.0.0.0則是開放遠端連線。 rclone gui --user=admin --pass=password --addr localhost:8888 之後使用瀏覽器開啟http://localhost:8888登入。 終端機關掉後Rclone WebUI就會跟著停止。若你要讓Rclone WebUI作為常駐服務執行，請為目前的使用者新增Systemd服務： mkdir -p ~/.config/systemd/user/ vim ~/.config/systemd/user/rclone-gui.service 填入啟動WebUI的指令 [Unit] Description=rclone GUI After=networking.service [Service] Type=simple ExecStart=rclone gui --user=admin --pass=password --addr localhost:8888 --no-open-browser Restart=always RestartSec=10 [Install] WantedBy=default.target 然後設定開機自動啟動服務 systemctl --user daemon-reload systemctl --user enable --now rclone-gui 查看服務狀態 systemctl --user status rclone-gui 3. 使用Rclone WebUI瀏覽雲端檔案 # 以Google的為例，Rclone支援連線到「Google雲端」和「Google相簿」，但是二者是不同的服務，需要分開設定。\n開啟Rclone WebUI → Remotes → New Remote。name任意填寫，type選取Google Drive，其餘留空。 依照畫面指示登入Google帳號，授權Rclone存取你的檔案。 到Explorers，點選Google Drive，就可以檢視Google雲端檔案了。 註解：Rclone是用OAuth ID登入Google雲端的。根據官方文件，如果你直接用Rclone的OAuth ID登入Google雲端，就是跟其他Rclone用戶共享帳號，可能會被限制流量，出現Quota Exceed錯誤。建議用量大的用戶，手動給自己的Google雲端硬碟申請OAuth ID。\n點選展開OAuth ID申請步驟： 到Google Cloud Console，點選左上角新增專案 點選左邊側邊欄 → API程式庫，新增Google Drive API 回到上一頁，點選左邊側邊欄 → 新增OAuth同意畫面，User Type設定為External 應用程式資訊設定為rclone 如圖勾選以下範圍(scope) 把自己的電子郵件加入測試使用者 點選左邊側邊欄 → 憑證 → 建立憑證 → 新增OAuth用戶端ID 之後會得到一組OAuth Client ID和OAuth Client Secret\nRclone WebUI → Remotes → New Remote。填寫Client Auth和Client Secret，再登入Google帳號\n這樣在Rclone WebUI的Browser界面就可以檢視Google雲端檔案了。\n4. 將雲端掛載為本機資料夾 # 將雲端硬碟掛載為本機檔案系統，這樣除了WebUI之外，也可以直接用Linux的檔案管理員（如KDE Dolphin或GNOME Nautilus）瀏覽遠端資料夾，對雲端檔案進行修改。\n有時候這種載入速度會比在WebUI瀏覽還要快。\n掛載指令叫做rclone mount，需注意的是，rclone mount並不會將所有雲端的檔案下載到本機，僅是預覽檔案列表而已。除非你開啟檔案，或者複製到本機的其他目錄，否則檔案不會下載。取消掛載之後，檔案就無法存取了。若要確實將檔案下載到本機，請改用rclone copy指令。\nrclone mount功能是透過FUSE實現的，一般使用者不需要Root權限便能掛載。確認Linux系統的FUSE套件版本： fusermount -V 在/run/media/使用者名稱/新增Google雲端硬碟的掛載點，並將權限設定為目前的使用者。我的使用者為user，屬於user群組 sudo mkdir -p /run/media/user/google-drive/ sudo chown user:user /run/media/user/google-drive/ 在Rclone WebUI → Mounts → New Mount，新增Google雲端，輸入掛載點 建議在vfs-cache-mode選取full，讓本機程式打開雲端檔案的時候能使用快取 這樣就能夠用Linux的檔案管理員開啟Google雲端的目錄了，例如KDE桌面的Dolphin會在側邊欄顯示Rclone掛載的目錄。這裡直接新增或刪除檔案都行。惟網速可能影響載入速度。Rclone WebUI程式一停止，這個掛載目錄也會自動失效。 如果你希望Linux系統開機自動掛載Google雲端的話，就新增一個Systemd服務： vim ~/.config/systemd/user/rclone-mount-google-drive.service 填入Rclone掛載Google雲端的指令。注意ExecStart=這行，從cat ~/.config/rclone/rclone.conf指令輸出的結果可以得知，Rclone WebUI自動新增的設定檔應該叫做google-drive，所以這裡讀取Google的設定檔，並將Google雲端的根目錄掛載到/run/media/user/google-drive。最後ExecStop=設定服務停止後自動取消掛載Google雲端。 [Unit] Description=Rclone mount Google Drive service After=network.target Wants=network-online.target [Service] Type=simple ExecStart=/usr/bin/rclone mount \u0026#34;google-drive:/\u0026#34; \u0026#34;/run/media/user/google-drive\u0026#34; --vfs-cache-mode full ExecStop=/usr/bin/fusermount -u /run/media/user/GoogleDrive Restart=on-failure RestartSec=5 [Install] WantedBy=default.target 設定開機自動啟動服務 systemctl --user daemon-reload systemctl --user enable --now rclone-mount-google-drive.service 5. 排程大量備份本機目錄到雲端 # 如果要自動定期將某個目錄大量備份到雲端呢？rclone mount有點太慢了，此時就得使用rclone copy指令。\nRclone提供rclone copy以及rclone sync兩種指令，copy指的是上傳檔案，不刪除多餘檔案；sync則是讓遠端與本機目錄的檔案同步，有多餘的檔案會刪除。\n所以我們使用copy上傳檔案，比較不會有誤刪檔案的風險。至於排程備份部份，我使用Systemd Timer控制。\n請看下面的指令，這是將本機的目錄/home/user/Documents上傳到Google雲端的/Backup目錄。 rclone copy -v \u0026#34;/home/user/Documents\u0026#34; \u0026#34;GoogleDrive:/Backup\u0026#34; 也可以將二者順序反過來，變成將雲端目錄的檔案下載到本機目錄。\nrclone copy -v \u0026#34;GoogleDrive:/Backup\u0026#34; \u0026#34;/home/user/Documents\u0026#34; rclone copy是複製一個目錄下的「全部內容」，假設Documents下有複數個檔案和目錄，那麼上傳到Backup的就是那些檔案，目錄結構亦會保留，但不包含Documents這個目錄。\n為目前使用者新增Systemd Unit\nmkdir -p ~/.config/systemd/user/ vim ~/.config/systemd/user/rclone-backup.service 填入以下內容，ExecStart=這行填入上傳檔案的指令。 [Unit] Description=Rclone backup [Service] ExecStart=/usr/bin/rclone copy -v \u0026#34;/home/user/Documents\u0026#34; \u0026#34;GoogleDrive:/Backup\u0026#34; [Install] WantedBy=multi-user.target 再新增Timer vim ~/.config/systemd/user/rclone-backup.timer 設定為每一小時執行一次 [Unit] Description=Rclone backup [Timer] OnUnitActiveSec=1h Unit=rclone-backup.service [Install] WantedBy=multi-user.target 啟用服務 systemctl --user daemon-reload systemctl --user enable --now rclone-backup.timer ","date":"2026年5月22日","externalUrl":null,"permalink":"/posts/rclone-linux/","section":"所有文章","summary":"想要同時使用多個雲端硬碟又不想裝一堆客戶端？\n你的雲端硬碟供應商沒有提供Linux版桌面客戶端嗎？\nRclone一個工具搞定！ Rclone是受Rsync所啟發的軟體，開發者Nick Craig-Wood稱其為\"rsync for cloud storage\"，或可理解為一把萬用的「瑞士軍刀」！\n提供強大的指令，還有直觀的面板，讓你存取大大小小的檔案。 Rclone特色功能如下：\n本體是Go語言寫成的單一執行檔，沒有其他依賴項目，安裝簡單 比Rsync效能更好，加入多執行緒支援 開源軟體，不會蒐集使用者資料 跨平台支援Linux、Windows、macOS 使用靈活，可以用純文字指令操作，也有網頁圖形介面 支援許多雲端硬碟，例如Google Drive、OneDrive、iCloud、Dropbox、pCloud、MEGA、NextCloud、Amazon S3等等 支援掛載遠端FTP、SSHFS、SMB、WebDAV伺服器、檔案系統，當作Rsync備份檔案之用。 可透過rclone serve將自身變身為一個簡易HTTP檔案分享伺服器，後端抽象化，對客戶端來說看到的都是一樣的路徑 因為能同時連線到多個雲端硬碟，所以能在不同雲端之間同步檔案 支援本機加密後再上傳檔案 透過rclone mount將雲端目錄掛載到本機瀏覽，直接在檔案管理員修改遠端檔案。 本文Ivon示範 如何在Linux安裝Rclone，並以Google雲端硬碟為例子 示範Rclone的各種用法。\n","title":"Rclone + GUI教學，簡單搞定Linux電腦雲端同步，支援Google Drive、OneDrive、Dropbox、MEGA","type":"posts"},{"content":"Ivon\u0026rsquo;s Blogへようこそ。GNU/Linuxのニュース、フリーでオープンなソース・ソフトウェア、コンピュータとモバイルの情報、そして人文科学を共有する場所です。 ここでは、フリー・ソフトウェアを実際に体験し、あなたの生活の中でそれを使う可能性をたくさん見つけることができるでしょう。\n","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/","section":"Ivon's Blog","summary":"Ivon’s Blogへようこそ。GNU/Linuxのニュース、フリーでオープンなソース・ソフトウェア、コンピュータとモバイルの情報、そして人文科学を共有する場所です。 ここでは、フリー・ソフトウェアを実際に体験し、あなたの生活の中でそれを使う可能性をたくさん見つけることができるでしょう。\n","title":"Ivon's Blog","type":"page"},{"content":" Linuxシステム Linux活用術 Linuxソフト Linuxシステムインストール Self-hosting Linuxでゲーム FOSSをめぐる問題 スマートフォン スマホAPP紹介 RootとCustom ROM iOS脱獄 Termuxチュートリアル 真のLinuxスマホ 人文科学 書影心潮 イラスト創作 音楽鑑賞 随筆 歴史研究 政治評論 NSFW NSFW NSFW雑談 同人誌感想 裏番感想 オナホ評価 情報技術 情報技術活用 PCソフト紹介 3C開封レビュー OSインストール 仮想化とコンテナ技術 BSDシステム Hugoサイト構築 ゲーム攻略 Fateシリーズ Minecraft 艦隊Collection Luanti ","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/category-icons/","section":"Ivon's Blog","summary":" Linuxシステム Linux活用術 Linuxソフト Linuxシステムインストール Self-hosting Linuxでゲーム FOSSをめぐる問題 スマートフォン スマホAPP紹介 RootとCustom ROM iOS脱獄 Termuxチュートリアル 真のLinuxスマホ 人文科学 書影心潮 イラスト創作 音楽鑑賞 随筆 歴史研究 政治評論 NSFW NSFW NSFW雑談 同人誌感想 裏番感想 オナホ評価 情報技術 情報技術活用 PCソフト紹介 3C開封レビュー OSインストール 仮想化とコンテナ技術 BSDシステム Hugoサイト構築 ゲーム攻略 Fateシリーズ Minecraft 艦隊Collection Luanti ","title":"カテゴリー","type":"page"},{"content":" 宇宙に始まりはあるが終わりはない。　—-無限\n星にもまた始まりはあるが、自らの力をもって滅び逝く。　—-有限\n英知を持つ者こそ、最も愚かであること。歴史からも読み取れる。\n海に生ける魚は、陸の世界を知らない。彼らが英知を持てば、それもまた滅び逝く。\n人間が光の速さを超えるのは、魚たちが陸で生活を始めるよりも滑稽。\nこれは抗える者たちに対する、神からの最後通告とも言えよう。\n","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/steins-gate-choice/","section":"Ivon's Blog","summary":" 宇宙に始まりはあるが終わりはない。　—-無限\n星にもまた始まりはあるが、自らの力をもって滅び逝く。　—-有限\n英知を持つ者こそ、最も愚かであること。歴史からも読み取れる。\n海に生ける魚は、陸の世界を知らない。彼らが英知を持てば、それもまた滅び逝く。\n人間が光の速さを超えるのは、魚たちが陸で生活を始めるよりも滑稽。\nこれは抗える者たちに対する、神からの最後通告とも言えよう。\n","title":"すべてはシュタインズ・ゲートの選択である——","type":"page"},{"content":"「Ivon\u0026rsquo;s Blog」（以下、本サイト）へお越しいただき、誠にありがとうございます。本サイトの各種サービスおよび情報を安心してご利用いただくため、本サイトのプライバシー保護方針についてここにご説明し、あなたの権益を保障します。以下の内容をよくお読みください：\n一、プライバシー保護方針の適用範囲 # プライバシー保護方針の内容には、本サイトがあなたのウェブサイトサービス利用時に収集した個人識別情報をどのように処理するかが含まれます。プライバシー保護方針は、本サイト以外の関連リンク先ウェブサイトには適用されず、本サイトが委託または管理に関与していない者にも適用されません。\n二、個人情報の収集、処理および利用方法 # あなたが本サイトを訪問する、または本サイトが提供する機能サービスを利用する際、当該サービス機能の性質に応じて、必要な個人情報の提供をお願いし、その特定目的の範囲内であなたの個人情報を処理および利用します。あなたの書面による同意がない限り、本サイトは個人情報をその他の用途に使用しません。 本サイトは、あなたがサービス用メールボックス、アンケート調査などの双方向機能を利用する際、あなたが提供した氏名、電子メールアドレス、連絡先および利用時間などを保存します。 一般的な閲覧時には、サーバーが関連する行動を自動的に記録します。これには、あなたが使用する接続機器のIPアドレス、利用時間、使用したブラウザー、閲覧およびクリックしたデータ記録などが含まれ、ウェブサイトサービス改善の参考資料とします。この記録は内部利用に限られ、決して外部に公開しません。 正確なサービスを提供するため、収集したアンケート調査の内容を統計および分析します。分析結果の統計データまたは説明文は、内部研究に供するほか、必要に応じて統計データおよび説明文を公開しますが、特定の個人に関する資料には関わりません。 あなたはいつでも、あなたのアカウントまたは本サイトが収集した個人情報などのプライバシー情報について、訂正または削除を請求できます。連絡方法は最下部の連絡窓口をご覧ください。 三、データの保護 # 本サイトのサーバーには、ファイアウォール、ウイルス対策システムなど関連する各種情報セキュリティ設備および必要な安全防護措置を設けています。ウェブサイトおよびあなたの個人情報を保護するため厳格な保護措置を採用し、あなたの個人情報に接触できるのは権限を与えられた者に限られます。関連する処理担当者はいずれも秘密保持契約に署名しており、秘密保持義務に違反した場合は、関連する法的処分を受けます。 業務上の必要により、他の機関にサービス提供を委託する必要がある場合、本サイトは当該機関にも秘密保持義務の遵守を厳格に求め、確実に遵守されるよう必要な検査手続きを行います。 四、ウェブサイト外部への関連リンク # 本サイトのウェブページは、他のウェブサイトへのリンクを提供しています。あなたは本サイトが提供するリンクをクリックして、他のウェブサイトに移動することもできます。ただし、当該リンク先ウェブサイトには本サイトのプライバシー保護方針は適用されません。あなたは当該リンク先ウェブサイトのプライバシー保護方針を参照する必要があります。\n五、第三者との個人情報共有に関する方針 # 本サイトは、法的根拠または契約上の義務がある場合を除き、あなたの個人情報を他の個人、団体、民間企業または公的機関に提供、交換、貸与または販売することは決してありません。\n前項ただし書きの状況には、以下が含まれますが、これらに限りません：\nあなたの書面による同意がある場合。 法律に明文の規定がある場合。 あなたの生命、身体、自由または財産上の危険を避けるため。 公的機関または学術研究機関と協力し、公共の利益に基づく統計または学術研究のために必要であり、かつ資料が提供者によって処理されている、または収集者がその開示方法により特定の当事者を識別できない場合。 あなたのウェブサイト上の行為が、利用規約に違反している、またはウェブサイトおよび他の利用者の権益を損なう、もしくは妨げる可能性がある、あるいは誰かに損害を被らせる可能性がある場合に、ウェブサイト管理者があなたの個人情報の開示を、識別、連絡または法的措置を取るために必要であると分析判断した場合。 あなたの権益に資する場合。 本サイトが業者にあなたの個人情報の収集、処理または利用への協力を委託する場合、委託先業者または個人に対し、監督管理の責任を十分に果たします。\n六、Cookieの使用 # あなたに最良のサービスを提供するため、本サイトはあなたのコンピューターにCookieを配置し、取得します。Cookieの書き込みを受け入れたくない場合は、使用しているブラウザーの機能項目でプライバシーレベルを高に設定することでCookieの書き込みを拒否できますが、ウェブサイトの一部機能が正常に動作しなくなる可能性があります。\n七、プライバシー保護方針の改定 # 本サイトのプライバシー保護方針は、必要に応じて随時改定され、改定後の条項はウェブサイト上に掲載されます。\n八、連絡窓口 # 本サイトのプライバシーポリシーについてご質問がある場合、または個人情報の変更、削除を請求したい場合は、本サイトの「私について」ページよりご連絡ください。\n","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/privacy-policy/","section":"Ivon's Blog","summary":"「Ivon’s Blog」（以下、本サイト）へお越しいただき、誠にありがとうございます。本サイトの各種サービスおよび情報を安心してご利用いただくため、本サイトのプライバシー保護方針についてここにご説明し、あなたの権益を保障します。以下の内容をよくお読みください：\n一、プライバシー保護方針の適用範囲 # プライバシー保護方針の内容には、本サイトがあなたのウェブサイトサービス利用時に収集した個人識別情報をどのように処理するかが含まれます。プライバシー保護方針は、本サイト以外の関連リンク先ウェブサイトには適用されず、本サイトが委託または管理に関与していない者にも適用されません。\n二、個人情報の収集、処理および利用方法 # あなたが本サイトを訪問する、または本サイトが提供する機能サービスを利用する際、当該サービス機能の性質に応じて、必要な個人情報の提供をお願いし、その特定目的の範囲内であなたの個人情報を処理および利用します。あなたの書面による同意がない限り、本サイトは個人情報をその他の用途に使用しません。 本サイトは、あなたがサービス用メールボックス、アンケート調査などの双方向機能を利用する際、あなたが提供した氏名、電子メールアドレス、連絡先および利用時間などを保存します。 一般的な閲覧時には、サーバーが関連する行動を自動的に記録します。これには、あなたが使用する接続機器のIPアドレス、利用時間、使用したブラウザー、閲覧およびクリックしたデータ記録などが含まれ、ウェブサイトサービス改善の参考資料とします。この記録は内部利用に限られ、決して外部に公開しません。 正確なサービスを提供するため、収集したアンケート調査の内容を統計および分析します。分析結果の統計データまたは説明文は、内部研究に供するほか、必要に応じて統計データおよび説明文を公開しますが、特定の個人に関する資料には関わりません。 あなたはいつでも、あなたのアカウントまたは本サイトが収集した個人情報などのプライバシー情報について、訂正または削除を請求できます。連絡方法は最下部の連絡窓口をご覧ください。 三、データの保護 # 本サイトのサーバーには、ファイアウォール、ウイルス対策システムなど関連する各種情報セキュリティ設備および必要な安全防護措置を設けています。ウェブサイトおよびあなたの個人情報を保護するため厳格な保護措置を採用し、あなたの個人情報に接触できるのは権限を与えられた者に限られます。関連する処理担当者はいずれも秘密保持契約に署名しており、秘密保持義務に違反した場合は、関連する法的処分を受けます。 業務上の必要により、他の機関にサービス提供を委託する必要がある場合、本サイトは当該機関にも秘密保持義務の遵守を厳格に求め、確実に遵守されるよう必要な検査手続きを行います。 四、ウェブサイト外部への関連リンク # 本サイトのウェブページは、他のウェブサイトへのリンクを提供しています。あなたは本サイトが提供するリンクをクリックして、他のウェブサイトに移動することもできます。ただし、当該リンク先ウェブサイトには本サイトのプライバシー保護方針は適用されません。あなたは当該リンク先ウェブサイトのプライバシー保護方針を参照する必要があります。\n","title":"プライバシーポリシー","type":"page"},{"content":"ブログロール。これは友好サイトリンク/相互リンクに似たページで、私が面白いと思った個人サイトやブログを集め、少しばかり個人的な印象を添えて、皆さんと共有するものです。インターネットにおける情報共有と、互いに助け合う楽しさを味わうためのものでもあります。\n友好サイトリンクと直接呼ばず、ブログロール(blogroll)と呼んでいるのは、これらのリンクの大半を私が勝手に載せているだけで、すべて相手との相互リンク手続きを経たわけではないからです。友好サイトリンクと呼ぶと、知り合い面をしている感じがして、かなり恐縮してしまいます。\nあなたの面白いサイトのリンクをここに載せてほしい場合、あるいは私があなたのサイトについて何か誤解していると思う場合は、遠慮なく、すぐにE-Mailで連絡してください！\n名前 URL 第一印象 DarkRanger’s Secret Area https://darkranger.no-ip.org Fedoraユーザー 大丙的筆記 Dabinn\u0026rsquo;s Note https://blog.dabinn.net 車いじりとVR DuckLL\u0026rsquo;s Blog https://blog.duckll.tw/ Freedom Wolf https://www.freedomwolf.cc 自由ソフトウェアとLinuxシステム管理のコツを共有している。 Gea-Suan Lin\u0026rsquo;s BLOG – 幹壞事是進步最大的原動力 https://blog.gslin.org テック業界の速報ニュースとシステム操作の小技を共有している。 Hiroshi Y. - 個人雜記 https://ghostsinthelab.org 新酷音の作者。 ltlnx 的網誌 https://ltlnx.tw Slackwareユーザー。 Luke Smith https://lukesmith.xyz Artix Linuxユーザー。自由ソフトウェアの議題以外にも、自分のYoutubeチャンネルで独自の見解をよく共有している。一日中、監視資本主義という社会的議題を罵り倒し、オンラインプライバシーを守る方法を教えてくれる姿は、まるで生きた4chan /g/ 民の化身のようだ。 The Lunduke Journal https://lunduke.com/ 反主流で、アメリカのオルタナ右翼寄りの観点からLinux世界の開発者たちの所業を検分しており、独特なツッコミが多い。 luoboQAQ https://lbqaq.top ManateeLazyCat https://manateelazycat.github.io Deepin元CTO。 ordinarykuma的blog https://ordinarykuma.blogspot.com さまざまなLinuxディストリビューションを試すのが好き。 Owen的博客 https://www.owenyoung.com サイバー世界における個人的思考。 PJ Wu 吳秉儒 https://pjwu.me Heptabaseユーザー。 Plum\u0026rsquo;s blog https://plumz.me ARMシステムのギークとGalgameレビューを共有している。 Richard Stallman\u0026rsquo;s Personal Site https://www.stallman.org リチャード・ストールマンの生活の断片。 Sakamoto.blog – 探究科技未知領域 https://www.sakamoto.blog Sheracaolity https://sheracaolity.ghost.io 詹雨安、Heptabaseの作者。自分の考えと成長の歩みを非常に澄み切った形で記録している。 SOULMINIGRIG https://soulminingrig.com 多言語blog。主に日本語で書かれており、ArtixとDevuanユーザー、ThinkPad愛好家。 sysprog - HackMD https://hackmd.io/@sysprog 成功大学jserv (黃敬群)教授による「Linux 核心設計」シリーズ講座記事と学習リソース。 Tsung’s Blog https://blog.longwin.com.tw Tux24 https://tux24.xyz 考えさせられる心得の共有が上手い。 Wiwi.Blog - Wiwi 官大為的貼文和筆記 https://wiwi.blog 自由ソフトウェアを推進する音楽家で、かわいらしい考えがたくさんある。 无名博客 https://wuminboke.site LinuxとSelf-hosting情報。 Xavier d10008509的小屋 - 創作大廳- 巴哈姆特 https://home.gamer.com.tw/creation.php?owner=d10008509 さまざまなLinuxディストリビューションを試すのが好き。 yimang\u0026rsquo;s blog https://yimang.tw/ pop_OS!ユーザー。 阿波尔的博客 www.zaqizaba.xyz ある田舎医師の素朴なブログ。 琳的備忘手札 https://琳.tw Linux企業運用保守の知識。 「覆沉」 https://blog.ryey.icu 許仲佑的網誌 – 一個大腦金魚化之大叔的喃喃自語處(隨想，隨意，隨筆) https://yowlab.idv.tw/wordpress/ Debianユーザー。 傲月織羽 maple30712的小屋 - 創作大廳- 巴哈姆特 https://home.gamer.com.tw/creation.php?owner=maple30712 さまざまなLinuxディストリビューションを試すのが好き。 初之音 https://www.himiku.com 安安Q 的女裝日記 https://blog.ananq.me 小丰子3C俱樂部- 最新3C科技與電信資費解析的專業部落格 https://tel3c.tw 専門的なスマートフォン・通信料金の知識解説。 布丁布丁吃什麼？ https://blog.pulipuli.info self-hostedの技術を共有している。 朱騏- 知識管理講師．職場寫作教練．卡片盒筆記法專家 https://chichu.co 歐飛先生 - 痞客邦 https://ofeyhong.pixnet.net/blog 実用的なPC自作知識。 玩具烏托邦 https://newtoypia.blogspot.com 自由ソフトウェアとデジタル主権へのこだわりが非常に強い。自分のディストリビューションインストールCDを制作している。 石頭閒語 https://www.rocksaying.tw 節省工具箱 Jason Tools https://blog.jason.tools Linux運用保守の知識、自由ソフトウェアを企業利用へ導入する実戦事例。 紅危的部落格 https://bntw.dev/zh 烤雞堡的筆記 https://weii.dev self-hosting技術とクラウド管理について論じている。 紅茶RedTea｜方格子vocus https://vocus.cc/user/64e821d1fd897800011c63ad Linuxをより生活に溶け込ませている。 编程随想的博客 https://program-think.blogspot.com インターネットの自由な情報を追求した烈士。 褚士瑩/哲學諮商室| 獨立評論 https://opinion.cw.com.tw/blog/profile/400 資工小廢物 - JN https://blog.giveanornot.com 極客死亡計劃 https://www.geedea.pro 入力より出力を重視する作者。週刊を書く形で自分の考えを伝えている。 閱讀前哨站｜推薦好書給忙碌的你，透過閱讀成為更好的自己 https://readingoutpost.com/ 阮一峰的网络日志 https://www.ruanyifeng.com/blog テクノロジー愛好者が興味を持ちそうな内容を共有しており、購読できる週報がある。 電腦玩物 https://www.playpcesor.com デジタル生産性を共有している。 風吹草動 https://breezymove.blogspot.com 多くの自由ソフトウェアの台湾正体字中国語翻訳に参加している。 高見龍 https://kaochenlong.com 『為你自己學Git』の著者。 鳥哥私房菜 https://linux.vbird.org Redhat Linux系ディストリビューションの運用保守チュートリアルがあり、非常に詳細なコンピューター概論系の記事もある。 黑暗執行緒 https://blog.darkthread.net ","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/blogroll/","section":"Ivon's Blog","summary":"ブログロール。これは友好サイトリンク/相互リンクに似たページで、私が面白いと思った個人サイトやブログを集め、少しばかり個人的な印象を添えて、皆さんと共有するものです。インターネットにおける情報共有と、互いに助け合う楽しさを味わうためのものでもあります。\n友好サイトリンクと直接呼ばず、ブログロール(blogroll)と呼んでいるのは、これらのリンクの大半を私が勝手に載せているだけで、すべて相手との相互リンク手続きを経たわけではないからです。友好サイトリンクと呼ぶと、知り合い面をしている感じがして、かなり恐縮してしまいます。\nあなたの面白いサイトのリンクをここに載せてほしい場合、あるいは私があなたのサイトについて何か誤解していると思う場合は、遠慮なく、すぐにE-Mailで連絡してください！\n名前 URL 第一印象 DarkRanger’s Secret Area https://darkranger.no-ip.org Fedoraユーザー 大丙的筆記 Dabinn’s Note https://blog.dabinn.net 車いじりとVR DuckLL’s Blog https://blog.duckll.tw/ Freedom Wolf https://www.freedomwolf.cc 自由ソフトウェアとLinuxシステム管理のコツを共有している。 Gea-Suan Lin’s BLOG – 幹壞事是進步最大的原動力 https://blog.gslin.org テック業界の速報ニュースとシステム操作の小技を共有している。 Hiroshi Y. - 個人雜記 https://ghostsinthelab.org 新酷音の作者。 ltlnx 的網誌 https://ltlnx.tw Slackwareユーザー。 Luke Smith https://lukesmith.xyz Artix Linuxユーザー。自由ソフトウェアの議題以外にも、自分のYoutubeチャンネルで独自の見解をよく共有している。一日中、監視資本主義という社会的議題を罵り倒し、オンラインプライバシーを守る方法を教えてくれる姿は、まるで生きた4chan /g/ 民の化身のようだ。 The Lunduke Journal https://lunduke.com/ 反主流で、アメリカのオルタナ右翼寄りの観点からLinux世界の開発者たちの所業を検分しており、独特なツッコミが多い。 luoboQAQ https://lbqaq.top ManateeLazyCat https://manateelazycat.github.io Deepin元CTO。 ordinarykuma的blog https://ordinarykuma.blogspot.com さまざまなLinuxディストリビューションを試すのが好き。 Owen的博客 https://www.owenyoung.com サイバー世界における個人的思考。 PJ Wu 吳秉儒 https://pjwu.me Heptabaseユーザー。 Plum’s blog https://plumz.me ARMシステムのギークとGalgameレビューを共有している。 Richard Stallman’s Personal Site https://www.stallman.org リチャード・ストールマンの生活の断片。 Sakamoto.blog – 探究科技未知領域 https://www.sakamoto.blog Sheracaolity https://sheracaolity.ghost.io 詹雨安、Heptabaseの作者。自分の考えと成長の歩みを非常に澄み切った形で記録している。 SOULMINIGRIG https://soulminingrig.com 多言語blog。主に日本語で書かれており、ArtixとDevuanユーザー、ThinkPad愛好家。 sysprog - HackMD https://hackmd.io/@sysprog 成功大学jserv (黃敬群)教授による「Linux 核心設計」シリーズ講座記事と学習リソース。 Tsung’s Blog https://blog.longwin.com.tw Tux24 https://tux24.xyz 考えさせられる心得の共有が上手い。 Wiwi.Blog - Wiwi 官大為的貼文和筆記 https://wiwi.blog 自由ソフトウェアを推進する音楽家で、かわいらしい考えがたくさんある。 无名博客 https://wuminboke.site LinuxとSelf-hosting情報。 Xavier d10008509的小屋 - 創作大廳- 巴哈姆特 https://home.gamer.com.tw/creation.php?owner=d10008509 さまざまなLinuxディストリビューションを試すのが好き。 yimang’s blog https://yimang.tw/ pop_OS!ユーザー。 阿波尔的博客 www.zaqizaba.xyz ある田舎医師の素朴なブログ。 琳的備忘手札 https://琳.tw Linux企業運用保守の知識。 「覆沉」 https://blog.ryey.icu 許仲佑的網誌 – 一個大腦金魚化之大叔的喃喃自語處(隨想，隨意，隨筆) https://yowlab.idv.tw/wordpress/ Debianユーザー。 傲月織羽 maple30712的小屋 - 創作大廳- 巴哈姆特 https://home.gamer.com.tw/creation.php?owner=maple30712 さまざまなLinuxディストリビューションを試すのが好き。 初之音 https://www.himiku.com 安安Q 的女裝日記 https://blog.ananq.me 小丰子3C俱樂部- 最新3C科技與電信資費解析的專業部落格 https://tel3c.tw 専門的なスマートフォン・通信料金の知識解説。 布丁布丁吃什麼？ https://blog.pulipuli.info self-hostedの技術を共有している。 朱騏- 知識管理講師．職場寫作教練．卡片盒筆記法專家 https://chichu.co 歐飛先生 - 痞客邦 https://ofeyhong.pixnet.net/blog 実用的なPC自作知識。 玩具烏托邦 https://newtoypia.blogspot.com 自由ソフトウェアとデジタル主権へのこだわりが非常に強い。自分のディストリビューションインストールCDを制作している。 石頭閒語 https://www.rocksaying.tw 節省工具箱 Jason Tools https://blog.jason.tools Linux運用保守の知識、自由ソフトウェアを企業利用へ導入する実戦事例。 紅危的部落格 https://bntw.dev/zh 烤雞堡的筆記 https://weii.dev self-hosting技術とクラウド管理について論じている。 紅茶RedTea｜方格子vocus https://vocus.cc/user/64e821d1fd897800011c63ad Linuxをより生活に溶け込ませている。 编程随想的博客 https://program-think.blogspot.com インターネットの自由な情報を追求した烈士。 褚士瑩/哲學諮商室| 獨立評論 https://opinion.cw.com.tw/blog/profile/400 資工小廢物 - JN https://blog.giveanornot.com 極客死亡計劃 https://www.geedea.pro 入力より出力を重視する作者。週刊を書く形で自分の考えを伝えている。 閱讀前哨站｜推薦好書給忙碌的你，透過閱讀成為更好的自己 https://readingoutpost.com/ 阮一峰的网络日志 https://www.ruanyifeng.com/blog テクノロジー愛好者が興味を持ちそうな内容を共有しており、購読できる週報がある。 電腦玩物 https://www.playpcesor.com デジタル生産性を共有している。 風吹草動 https://breezymove.blogspot.com 多くの自由ソフトウェアの台湾正体字中国語翻訳に参加している。 高見龍 https://kaochenlong.com 『為你自己學Git』の著者。 鳥哥私房菜 https://linux.vbird.org Redhat Linux系ディストリビューションの運用保守チュートリアルがあり、非常に詳細なコンピューター概論系の記事もある。 黑暗執行緒 https://blog.darkthread.net ","title":"ブログロール","type":"page"},{"content":" 下のボタンをクリックすると、本サイトの記事の一つへランダムに移動します。思いがけない驚きがあるかもしれません！内容は実用ソフトウェアのチュートリアルかもしれないし、お得な画像かもしれないし、私の深夜のmurmurかもしれません。\n🎲 ランダムに読む 🎲\n警告：ここではサイト全体の記事を走査し、フィルタリングは行っていません。見るに堪えない内容に遭遇する可能性があるため、慎重に使用してください！\nなぜこのページを作ったのか：書いた記事が多すぎて、もうどう整理すればいいのかわからないものもあるからです。\n","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/random-post/","section":"Ivon's Blog","summary":" 下のボタンをクリックすると、本サイトの記事の一つへランダムに移動します。思いがけない驚きがあるかもしれません！内容は実用ソフトウェアのチュートリアルかもしれないし、お得な画像かもしれないし、私の深夜のmurmurかもしれません。\n🎲 ランダムに読む 🎲\n警告：ここではサイト全体の記事を走査し、フィルタリングは行っていません。見るに堪えない内容に遭遇する可能性があるため、慎重に使用してください！\nなぜこのページを作ったのか：書いた記事が多すぎて、もうどう整理すればいいのかわからないものもあるからです。\n","title":"ランダムページ","type":"page"},{"content":"DuckDuckGo\nGoogle\n","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/search/","section":"Ivon's Blog","summary":"DuckDuckGo\nGoogle\n","title":"検索","type":"page"},{"content":"在Linux電腦存取Apple iCloud雲碟，同步來自iPhone、iPad、Mac的檔案。打破Apple壁壘！\n目的是要達到類似Windows版iCloud客戶端的效果，即在Linux電腦檢視iCloud檔案，還有將iCloud郵件與行事曆整合到Linux桌面，讓我們能跨裝置工作。 透過Linux檔案管理器瀏覽iCloud雲碟的檔案\n用Linux版Thunderbird查看iCloud行事曆並接收通知\n你可能會說，iCloud網頁版就夠用了，為什麼要用同步的呢？確實啦，iCloud雲碟、照片、郵件、行事曆、備忘錄、iWork套件都有網頁版，實無將檔案同步到電腦的必要。 但總有人喜歡這樣檔案隨手可得的感覺，檔案同步到本機之後，要用其他程式編輯比較方便嘛。\n還有，若有重要檔案放在iCloud的話，自行用程式備份到Linux伺服器也是一個保險措施。\n1. iCloud有Linux版客戶端嗎？ # 沒有。目前Apple沒有支援Linux的打算，畢竟他們連Linux版iTunes都不願意推出，逼人得用libimobiledevice才能在Linux查看iPhone的檔案。\n我在Ubuntu的Snap Store看到了Marcus Tomlinson開發的iCloud for Linux程式，不過這並沒有將檔案同步到Linux本機的作用，它只是封裝了iCloud網頁版而已！\n能不能跑Windows版的iCloud呢？根據Wine資料庫顯示，Windows版iCloud客戶端或許可以透過Wine執行。\n不過我不打算這樣做，而是透過第三方程式來存取iCloud。我主要會用到的程式是Rclone和Thunderbird。\n2. 同步iCloud檔案到Linux # 我把iCloud跟iCloud照片分開講，因為他們是不同的服務。\niCoud只會顯示iOS的下載資料夾、iWork、捷徑、GarageBand的檔案，還有其他APP透過iCloud同步的檔案。不包含iOS的照片。\n安裝Rclone。它是一款支援掛載Google Drive、OneDrive、Dropbox、iCloud的多功能程式。\n根據iCloud Drive - Rclone Docs說明，Rclone不支援iCloud進階資料保護功能，有開啟的話請先將其關閉。\n新增iCloud設定檔，輸入Apple ID和密碼，然後依照指示輸入雙重認證驗證碼。\nrclone config No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q\u0026gt; n name\u0026gt; iclouddrive Storage\u0026gt; iclouddrive apple_id\u0026gt;輸入Apple ID Enter the password: 輸入Apple ID密碼 password: Confirm the password: password: Option config_2fa. Two-factor authentication: 輸入雙重認證驗證碼 這樣就完成登入了。登入有效期限是一個月\n測試看看能不能列出iCloud雲碟的檔案。\nrclone ls icloudrive:/ 透過rclone mount，掛載iCloud雲碟到/run/media/user/icloud-drive方便用檔案管理員存取。啟用vfs-cache-mode檔案快取。 sudo mkdir -p /run/media/user/icloud-drive sudo chown 1000:1000 /run/media/user/icloud-drive rclone mount \u0026#34;iclouddrive:/\u0026#34; \u0026#34;/run/media/user/icloud-drive\u0026#34; --vfs-cache-mode full rclone mount指令比較像是瀏覽iCloud雲碟的目錄，並不會一次下載全部檔案。如果要一次備份所有iCloud的檔案到本機，請改用rclone copy指令，例如使用以下指令，將iCloud的全部檔案下載並備份到/home/user/Documents/icloud-drive目錄。 rclone copy -v \u0026#34;iclouddrive:/\u0026#34; \u0026#34;/home/user/Documents/icloud-drive\u0026#34; 3. 同步iCloud照片到Linux # Rclone支援iCloud照片，但是是唯讀的，只能下載不能上傳。\n新增iCloud設定檔，選取iclouddrive並選iCloud Photos，輸入Apple ID和密碼，然後依照指示輸入輸入雙重認證驗證碼。 rclone config name\u0026gt; icloud-photos Storage\u0026gt; iclouddrive Option service. iCloud service to use. Choose a number from below, or type in your own value of type string. Press Enter for the default (drive). 1 / iCloud Drive \\ (drive) 2 / iCloud Photos \\ (photos) service\u0026gt; 2 測試看看能不能列出iCloud照片的檔案。iCloud照片應該位於PrimarySync/All Photos目錄： rclone ls \u0026#34;icloud-photos:/PrimarySync/All Photos\u0026#34; 下載照片到/home/user/Pictures/目錄。這裡照片會直接使用HEIC格式，並不會轉檔為JPEG。 rclone copy -v \u0026#34;icloud-photos:/PrimarySync/All Photos\u0026#34; \u0026#34;/home/user/Pictures/\u0026#34; 4. 同步iCloud郵件、行事曆、通訊錄 # 這些東西透過Mozilla Thunderbird一個程式就可以搞定。\niCloud支援IMAP與SMTP協定，因此Thunderbird能夠收到信件。此外iCloud還有CardDAV協定，這之中便包含了行事曆與通訊錄的資訊。\n安裝Linux版Thunderbird，建議使用原生套件，不要用Flatpak。\n根據Apple官網指示，登入Apple帳號，新增一組「APP專用密碼」。 開啟Thunderbird，點選帳號設定 → 伺服器設定，新增Apple的IMAP伺服器，填入APP專用密碼。 在SMTP伺服器設定，新增Apple的SMTP伺服器，再次填入APP專用密碼，驗證方式請用SMARTTLS。 然後登入iCloud郵件帳號（可能跟你的Apple帳號不一樣）。 順便將iCloud的行事曆與通訊錄同步過來。 5. Linux桌面顯示iCloud行事曆 # 上面加入的iCloud行事曆只有Thunderbird內部看得到，能不能顯示在桌面環境的呢，譬如GNOME或者KDE Plasma桌面的行事曆元件？\n這有二種思考方向：看是要將Thunderbird的iCloud行事曆同步到桌面，還是另外透過桌面環境的套件同步iCloud行事曆。\nGNOME # GNOME 47版本可以從GNOME行事曆新增iCloud行事曆。\n開啟GNOME行事曆 (ganome-calendar)\n點左上角 行事曆 → 管理行事曆 → 新增行事曆\n伺服器位址輸入https://caldav.icloud.com 輸入iCloud郵件帳號，還有APP專用密碼\n這樣子GNOME行事曆便會出現iCloud行事曆了，可以編輯修改，也會同步顯示在GNOME桌面上方的通知欄。 KDE Plasma # KDE Plasma 6的Akonadi支援CalDAV協定，理論上應該是能連線的才對\u0026hellip;但是我連線會出現錯誤，可能是bug。\n安裝KOrganizer套件。\n點選左下角的行事曆，新增行事曆 選取DAV群組資源 輸入iCloud郵件帳號與APP自訂密碼，並勾選手動設定網址。\n遠端網址輸入iCloud行事曆的網址https://caldav.icloud.com 如果要讓iCloud行事曆顯示在桌面右下角的行事曆：右鍵 → 設定數位時鐘，顯示行事曆事件，並勾選顯示個人行事曆 6. 同步iCloud書籤到Linux瀏覽器 # 將Safari瀏覽器的書籤密碼，與Linux的瀏覽器同步。\n雖然Apple官方有推出瀏覽器擴充套件，支援Firefox與Chromium瀏覽器，但是需要Windows版iCloud客戶端才能使用。\n建議改用第三方服務管理書籤和密碼，譬如Floccus和Bitwarden。\n7. 其他iCloud服務？ # 乖乖用網頁版吧。\n另請參見：\n用於存取iOS裝置檔案的開源工具libimobiledevice\n以及如何透過QEMU/KVM跑macOS虛擬機\n","date":"2026年5月22日","externalUrl":null,"permalink":"/posts/icloud-on-linux/","section":"所有文章","summary":"在Linux電腦存取Apple iCloud雲碟，同步來自iPhone、iPad、Mac的檔案。打破Apple壁壘！\n目的是要達到類似Windows版iCloud客戶端的效果，即在Linux電腦檢視iCloud檔案，還有將iCloud郵件與行事曆整合到Linux桌面，讓我們能跨裝置工作。 透過Linux檔案管理器瀏覽iCloud雲碟的檔案\n用Linux版Thunderbird查看iCloud行事曆並接收通知\n你可能會說，iCloud網頁版就夠用了，為什麼要用同步的呢？確實啦，iCloud雲碟、照片、郵件、行事曆、備忘錄、iWork套件都有網頁版，實無將檔案同步到電腦的必要。 但總有人喜歡這樣檔案隨手可得的感覺，檔案同步到本機之後，要用其他程式編輯比較方便嘛。\n還有，若有重要檔案放在iCloud的話，自行用程式備份到Linux伺服器也是一個保險措施。\n1. iCloud有Linux版客戶端嗎？ # 沒有。目前Apple沒有支援Linux的打算，畢竟他們連Linux版iTunes都不願意推出，逼人得用libimobiledevice才能在Linux查看iPhone的檔案。\n我在Ubuntu的Snap Store看到了Marcus Tomlinson開發的iCloud for Linux程式，不過這並沒有將檔案同步到Linux本機的作用，它只是封裝了iCloud網頁版而已！\n能不能跑Windows版的iCloud呢？根據Wine資料庫顯示，Windows版iCloud客戶端或許可以透過Wine執行。\n不過我不打算這樣做，而是透過第三方程式來存取iCloud。我主要會用到的程式是Rclone和Thunderbird。\n","title":"Linux電腦同步iCloud檔案、郵件、行事曆（Rclone + Thunderbird 教學）","type":"posts"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/tags/android/","section":"Tags","summary":"","title":"Android","type":"tags"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/tags/linux/","section":"Tags","summary":"","title":"Linux","type":"tags"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/posts/","section":"Posts","summary":"","title":"Posts","type":"posts"},{"content":"","date":"2026-05-22","externalUrl":null,"permalink":"/en-us/categories/smartphones/","section":"Categories","summary":"","title":"Smartphones","type":"categories"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/tags/social-media/","section":"標籤","summary":"","title":"Social Media","type":"tags"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/tags/termux/","section":"Tags","summary":"","title":"Termux","type":"tags"},{"content":"","date":"2026-05-22","externalUrl":null,"permalink":"/en-us/categories/termux-tutorials/","section":"Categories","summary":"","title":"Termux Tutorials","type":"categories"},{"content":" AndroidはLinuxをベースに開発されたシステムですが、ターミナルはありません。Termuxというオープンソースのターミナルエミュレータは、この不足を補ってくれます。Rootなしで使え、独自のパッケージマネージャーも備えています。 Termuxはターミナルエミュレータアプリで、多くのLinuxでよく使われるコマンドラインプログラムを移植しています。なぜスマートフォンでコマンドを打つのでしょうか。スマートフォンに対応するアプリがない場合でも、コマンドライン型のソフトウェアで目的を達成できることがあります。たとえばTermuxではSSH接続、動画変換、サーバー構築、プログラミング学習などができます。さらにTermuxはproot-distroを提供しており、Linuxコンテナ環境を作成して、より多くのLinux PC版プログラムを実行できます。\n使用例：XFCEデスクトップとデスクトップ版Firefoxブラウザを動かす 使用例：VimでPythonプログラムを書く ただし、TermuxはスマートフォンをRoot化してくれるものではありません。TermuxでAndroidシステム内部のファイルを変更したい場合は、先にスマートフォンをRoot化する必要があります。\nこの記事では、Termuxのインストール方法と、Termuxの具体的な使い道をいくつか紹介します。\n1. Termuxのインストール方法 # Termuxのシステム要件はAndroid 7以上のAndroid端末です。\nTermuxの開発者の説明によると、Google Play上のTermuxはすでに更新されていません。\n最新版はF-DroidまたはGithubからダウンロードしてください。\nF-Droidを例にすると、F-Droidのリンクを開き、Download APKをタップしてインストールファイルをダウンロードします。多くの端末では、arm64-v8aアーキテクチャの版をダウンロードします。\n2. Termuxインストール後にやっておきたいこと # 2.1. 画面の概要 # Termuxを開くとターミナル画面になります。入力欄をタップすると、スマートフォンのキーボードが自動で開きます。Termuxの画面にはCtrl、Escなどのキーボードショートカットも表示されており、今後ターミナル操作でよく使います。 通知欄を下に引き、Exitを押すとTermuxはすぐ終了します。Acquire WakelockはTermuxをバックグラウンドで実行し続けるためのものです。 画面左側からスワイプし、New Sessionを押すと複数のTermuxターミナル（作業セッション）を開けます。Keyboardを押すとスマートフォンのキーボードを呼び出せます。 Termuxで日本語を入力する方法：下部のツールバーを左へスワイプすると、入力欄が表示されます。\nTermuxの文字が小さすぎる場合は、2本指でピンチ操作すると、ターミナル画面を拡大縮小できます。\n2.2. ソフトウェアパッケージを更新する # Linuxシステムでソフトウェアをインストールするときは、通常リポジトリからダウンロードしてインストールします。Ubuntuを使ったことがある人なら少しイメージできるはずです。\nTermuxのパッケージは主にdeb形式で、pkgコマンドは実質的にAPTのwrapperです。ただしUbuntu/Debianシステムのdebパッケージを直接探して入れることはできません。Termuxリポジトリのパッケージはスマートフォン向けに再コンパイルされたものです。\nインストール直後は、正常に使うためにソフトウェアパッケージを更新する必要があります。次のコマンドでTermuxの全パッケージを更新します。（Termuxの空白部分を長押しすると、コピーしたコマンドを貼り付けられます） pkg update Termuxは更新を自動でダウンロードし、パッケージをインストールします。更新時にパッケージをアップグレードするか聞かれることがありますが、すべてyを入力してenterを押します。 ソフトウェアのインストールでよく使うコマンドは次のとおりです。\n# パッケージをインストール pkg install \u0026lt;套件名稱\u0026gt; # パッケージをアンインストール pkg uninstall \u0026lt;套件名稱\u0026gt; # パッケージを検索 pkg search \u0026lt;套件名稱\u0026gt; # 全パッケージを更新 pkg update \u0026amp;\u0026amp; pkg upgrade # 使わないパッケージを自動削除 pkg autoclean Termuxのpkgコマンドは実際にはaptコマンドのフロントエンドなので、apt updateでパッケージを更新することもできます。ただしUbuntuのパッケージリポジトリを直接使ったり、適当なdebをdpkgでインストールしたりしてはいけません。 2.3. ミラーサイトを切り替える # Termuxには各国のミラーサイト（mirror）があり、パッケージのダウンロード速度を上げられます。この手順は任意です。設定しない場合、Termuxは毎回世界中のミラーサイトを巡回してからダウンロードを始めます。\n次のコマンドを入力します。 termux-change-repo Termuxターミナルに表示される上下キーでSingle mirrorへ移動し、スマートフォンのキーボードでEnterを押します。 Mirrors in Asiaを選び、Enterを押します。中国のユーザーはMirrors in Chinaを選べます。 Termuxがリポジトリ一覧を更新します。yを入力すれば続けて使用できます。\n2.4. Termuxがシステムに終了されるのを防ぐ # 端末のシステムがAndroid 12以上で、Linuxデスクトップなどの大きなプログラムを動かす予定がある場合は、必ずPhantom Process Killingを無効化し、Termuxがバックグラウンドにいるときシステムに終了されないようにしてください。\n3. Termuxの用途例 # Termuxでは何ができるのでしょうか。主に次のような用途や遊び方があります。\n青い文字は関連するチュートリアル記事を表し、灰色枠の文字はTermuxにそのパッケージが収録されており、直接インストールして使えることを表します。\n3.1. プログラミング # vim、emacs、nanoでコードを書けます。VIMはテキストモードで使いやすいテキストエディタなので、インストールをおすすめします。\nさらにgitでGithubやGitlabのプロジェクトを管理できます。\nTermuxは次のプログラミング言語のコンパイルと実行に対応しています。\nC/C++ (clang) Java (openjdk-17) Python (python3) および Anaconda NodeJS (nodejs) .Net Framework (mono) Rust (rust) Go (golang) QT CreatorやVisual Studio CodeのようなグラフィカルIDEが必要な場合は、先にproot-distroをインストールする必要があります。\n3.2. 画像・動画処理 # テキストツールのffmpegやimagemagickを使い、動画や画像を一括変換できます。\nyt-dlpをインストールしてYoutube動画をダウンロードできます。mpvでYoutbe音楽を再生することもできます。\nまたはTermux X11でグラフィカル画面を動かし、gimpで画像編集できます。\nproot-distroではKdenliveで動画編集をしたり、モデリングソフトBlenderを動かしたりできます。\n3.3. PCソフトウェアとゲームを動かす # proot-distroをインストールすれば、持ち運べるLinuxシステムを手に入れたのと同じです。LibreOffice、GIMP、Firefox、一部のPCゲームなど、さまざまなPCソフトウェアを動かせます。\nそれに加えて、Box86 + Wineをインストールすれば、Android端末でWindowsのexeプログラムも動かせます。\n3.4. LinuxとWindowsシステムを動かす # Termuxリポジトリに必要なソフトウェアパッケージがありませんか？\nproot-distroでUbuntu、Fedora、Arch LinuxなどのLinuxディストリビューションコンテナをインストールしましょう。そうすれば、より多くの既製ソフトウェアパッケージを使えます。\nかなり暇なら、QEMU仮想マシンでWindows 7を動かすことも可能です。\n3.5. リモートサービス # SSHでPCへ接続し、ファイルを共有・同期する\nスマートフォン上でADBコマンドを実行する\n3.6. Webサイトやサーバーを構築する # apache2 + php + mariadbでWebサイトを構築できます。\n静的サイトジェネレータhugoとgitを組み合わせて個人サイトを管理することも可能です。\nJavaをインストールすれば、Minecraft Java版サーバーを建てることができます。\nスマートフォンのカーネルを変更し、Root権限があれば、dockerコンテナを動かすことも問題ありません。\n3.7. Androidシェルのターミナルとして使う # TermuxはAndroidシェル（shell）のターミナルとして使え、ADBコマンドを実行できます。\nスマートフォンにRootがあれば、Busyboxと組み合わせてAndroid上でコマンドを動かせます。たとえばMagiskモジュールファイルの変更や、chroot Linuxディストリビューションのインストールなどです。\n4. Termuxの使い方を学ぶには # 本当にTermuxを「使いこなす」には、学ぶことがたくさんあります。コマンドラインのコマンドがどう動くかを知るだけでなく、Termux API、Termux X11、Termux Python bindingsなどの使い方も学ぶ必要があります。\nまずコマンド部分を見てみましょう。Termuxの標準shellはBashで、コマンドはLinuxに似ていますが、TermuxはLinuxシステムそのものではありません。Termuxの権限は通常のアプリと同じであり、端末がRoot化されていなければAndroidシステム内部のファイルにはアクセスできない点に注意してください。\nTermuxのBashでは多くのコマンドが使えます。The Bash Guideを参照してください。もし私があなたで、Linuxをまったく知らない初心者なら、スマートフォンの小さな画面を見つめ続けてコマンドラインを学ぶのはおすすめしません。目に悪いです。\nTermuxは一般的なLinuxシステムとはまだ差があり（詳しくはwikiを参照）、できることには限りがあります。私は基礎から始めることをおすすめします。PCでVirtualboxまたはWSLを使い、実際のLinuxディストリビューション（たとえばUbuntu）をインストールし、関連講座を検索してLinuxとコマンドラインの使い方を正式に学ぶのです。そうすれば、学んだ経験をTermuxへ応用でき、プログラムの背後にある実行原理も理解しやすくなります。\n5. TermuxとAndroidファイルを管理する # TermuxからAndroid内部ストレージへアクセスするにはどうすればよいでしょうか。\n「スマートフォン内部ストレージ」とは、DCIM、Download、Document、Androidといったディレクトリがある場所を指します。ファイル管理アプリで確認できます。\n次のコマンドを入力し、Termuxがスマートフォン内部ストレージへアクセスすることを許可します。 termux-setup-storage Termuxにスマートフォンストレージへのアクセスを許可すると、それはTermuxホームディレクトリのstorage/sharedディレクトリにマウントされます。lsコマンドを入力して確認します。\nスマートフォン内部ストレージ/Downloadディレクトリへ移動したい場合は、次のように入力するだけです。\ncd storage/shared/Download さらにlsコマンドで、そのディレクトリ内のすべてのファイルを確認します。 Termuxの詳しいファイル管理方法を知りたい場合は、こちらを参照してください：Termuxファイル管理入門\n参考記事 # 関連する質問はGithubまたはRedditで行ってください。\nTermux Wikiにも実用的な情報が多くあります。\n","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/posts/how-to-use-termux/","section":"Posts","summary":" AndroidはLinuxをベースに開発されたシステムですが、ターミナルはありません。Termuxというオープンソースのターミナルエミュレータは、この不足を補ってくれます。Rootなしで使え、独自のパッケージマネージャーも備えています。 Termuxはターミナルエミュレータアプリで、多くのLinuxでよく使われるコマンドラインプログラムを移植しています。なぜスマートフォンでコマンドを打つのでしょうか。スマートフォンに対応するアプリがない場合でも、コマンドライン型のソフトウェアで目的を達成できることがあります。たとえばTermuxではSSH接続、動画変換、サーバー構築、プログラミング学習などができます。さらにTermuxはproot-distroを提供しており、Linuxコンテナ環境を作成して、より多くのLinux PC版プログラムを実行できます。\n使用例：XFCEデスクトップとデスクトップ版Firefoxブラウザを動かす 使用例：VimでPythonプログラムを書く ただし、TermuxはスマートフォンをRoot化してくれるものではありません。TermuxでAndroidシステム内部のファイルを変更したい場合は、先にスマートフォンをRoot化する必要があります。\n","title":"Termuxターミナルの使い方：AndroidスマホでLinuxコマンドを動かす","type":"posts"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/categories/termux%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB/","section":"Categories","summary":"","title":"Termuxチュートリアル","type":"categories"},{"content":"關於Android系統終端機模擬器「Termux」APP的使用技巧。\n新手教學請戳此處：Termux安裝教學\n","date":"2026年5月22日","externalUrl":null,"permalink":"/categories/termux%E6%95%99%E5%AD%B8/","section":"分類","summary":"關於Android系統終端機模擬器「Termux」APP的使用技巧。\n新手教學請戳此處：Termux安裝教學\n","title":"Termux教學","type":"categories"},{"content":"Android是基於Linux開發的系統，卻沒有終端機。而Termux這個開源終端機模擬器補全了這個缺口，不需要Root就可以使用，還有自己的套件管理員。 Termux為一款終端機模擬器APP，移植了許多Linux的常用命令行程式。為什麼要在手機上打指令? 有的時候手機並沒有對應的APP，你還是可以用命令列模式的軟體來達成目的。例如Termux可以跑SSH連線、影片轉檔、架伺服器、學習寫程式等等。並且Termux提供proot-distro，能夠建立Linux容器環境，執行更多Linux電腦版的程式。\n使用例：跑XFCE桌面與電腦版Firefox瀏覽器 使用例：使用Vim寫Python程式 然而，Termux無法幫你的手機Root。如果要用Termux修改Android系統內部的檔案，你還是需要先將手機Root。\n本文會介紹Termux的安裝方式，並舉一些Termux的具體用途。\n1. 如何安裝Termux # Termux系統要求為Android 7以上的Android裝置。\n根據Termux的開發者說法Google Play上的Termux已經沒在更新了！\n請到F-Droid或者Github下載最新版。\n以F-Droid為例，點進F-Droid的連結，點選Download APK下載安裝檔。對於大多數裝置，下載arm64-v8a架構的版本。\n2. 安裝Termux後建議做的事 # 2.1. 界面概覽 # 開啟Termux後就是終端機介面，點一下輸入框，手機鍵盤會自動開啟。Termux螢幕上還有顯示Ctrl、Esc之類的鍵盤快捷鍵，日後用終端機操作會常常用到他們。 從通知欄下拉，按Exit會立即終止Termux；Acquire Wakelock則是讓其保持在背景執行。 從螢幕左側滑進來，按New Session可開啟多個Termux終端機(工作階段)；按Keyboard喚醒手機鍵盤。 如何在Termux輸入中文：將底部的工具列往左滑，就會出現輸入框。\n如果嫌Termux字太小，用雙指縮放，可以放大縮小終端機螢幕。\n2.2. 更新軟體套件 # Linux系統安裝軟體通常是從軟體庫下載安裝，有用過Ubuntu的人應該會有點概念。\nTermux的套件主要是deb格式，pkg指令其實就是APT的wrapper，但是您不能直接找Ubuntu/Debian系統的deb包來裝，Termux儲存庫的套件都是針對手機重新編譯過的版本。\n剛安裝後，軟體套件需要更新才能正常使用。使用此指令更新Termux的全部套件 (在Termux空白處長按可貼上複製的指令) pkg update Termux會自動下載更新並安裝套件。更新時可能會問要不要升級套件，一律輸入y按下enter。 安裝軟體常用的指令如下：\n# 安裝套件 pkg install \u0026lt;套件名稱\u0026gt; # 解除安裝套件 pkg uninstall \u0026lt;套件名稱\u0026gt; # 搜尋套件 pkg search \u0026lt;套件名稱\u0026gt; # 更新全部套件 pkg update \u0026amp;\u0026amp; pkg upgrade # 自動移除用不到的套件 pkg autoclean Termux的pkg指令其實是apt指令的前端，所以您也可以用apt update來更新套件。但是您不可以直接使用Ubuntu的套件庫，也不能隨便找個deb就用dpkg裝。 2.3. 切換鏡像站點 # Termux有各國的鏡像站(mirror)可加快套件下載速度。此步驟為選擇性，如果不設定的話Termux每次下載套件都會遍歷全球鏡像站點才開始下載。\n輸入以下指令 termux-change-repo 按Termux終端機顯示的上下鍵切換到Single mirror，再按下手機鍵盤的Enter。 選擇Mirrors in Asia，按下Enter。中國用戶可以選Mirrors in China。 Termux會重新整理軟體庫列表，輸入y就可以繼續使用。\n2.4. 防止Termux被系統殺死 # 如果你的裝置系統為Android 12以上，且打算要用來跑Linux桌面等大型程式，請務必停用Phantom Process Killing，防止Termux在背景的時候被系統殺掉。\n3. Termux用途舉例 # Termux究竟能做什麼？主要有以下各種用途和玩法。\n藍色字代表相關教學文章，灰色框的字代表Termux有收錄該套件，能直接裝來用。\n3.1. 寫程式 # 用vim、emacs、nano寫程式。VIM是純文字模式下很好用的文字編輯器，建議安裝。\n尚能用git管理Github或Gitlab的專案。\nTermux支援編譯執行以下程式語言：\nC/C++ (clang) Java (openjdk-17) Python (python3) 以及 Anaconda NodeJS (nodejs) .Net Framework (mono) Rust (rust) Go (golang) 如果需要QT Creator和Visual Studio Code那樣的圖形界面IDE，你得先安裝proot-distro才行。\n3.2. 影像處理 # 你可以用純文字工具ffmpeg和imagemagick給影片和圖片批次轉檔。\n安裝yt-dlp下載Youtube影片；用mpv播放Youtbe音樂。\n或是使用Termux X11跑圖形界面，用gimp修圖。\n在proot-distro用Kdenlive剪輯影片、跑建模軟體Blender。\n3.3. 跑電腦軟體和遊戲 # 安裝proot-distro後便等同有了隨身Linux系統，能夠跑各式各樣的電腦軟體，例如LibreOffice、GIMP、Firefox，以及部份電腦遊戲。\n除此之外，安裝Box86 + Wine還能在Android裝置跑Windows的exe程式。\n3.4. 跑Linux和Windows系統 # Termux儲存庫沒有您要的軟體套件？\n用proot-distro安裝Ubuntu、Fedora、Arch Linux等Linux發行版容器吧，這樣您就有更多現成的軟體套件能用。\n如果你很無聊的話，用QEMU虛擬機跑Windows 7也是可行的。\n3.5. 遠端服務 # 用SSH跟電腦連線，分享、同步檔案\n在手機上執行ADB指令\n3.6. 架設網站或伺服器 # 用apache2 + php + mariadb架設網站。\n以靜態網頁生成器hugo配合git管理個人網站也是可行的。\n安裝Java後就能架設Minecraft Java版伺服器。\n修改手機核心加上有Root權限的話，跑docker容器也不是問題。\n3.7. 當作Android殼層的終端機 # Termux可以充當Android殼層(shell)的終端機，執行ADB指令。\n手機有Root的話，搭配Busybox就可以在Android上跑指令，比如修改Magisk模組檔案、安裝chroot Linux發行版等等。\n4. 如何學習使用Termux # 如果真要「精通」Termux，要學的東西很多的，除了要知道命令行指令如何運作以外，您還要學習如何使用Termux API、Termux X11、Termux Python bindings\u0026hellip;\n先來看指令部份，Termux預設的shell是Bash，指令跟Linux很像，但Termux不是Linux系統。注意Termux的權限跟普通APP是一樣的，裝置沒有Root的話是無法存取Android系統內部的檔案的。\nTermux的Bash有很多指令可用，參見The Bash Guide。如果我是您，完全不懂Linux的新手的話，我會建議不要一直盯著手機小螢幕來學命令行，很傷視力的。\n鑑於Termux跟一般的Linux系統仍有差距(詳情請見wiki)，能做的事情有限。我建議您從基礎開始：在電腦用Virtualbox或WSL，安裝真正的Linux發行版（例如Ubuntu），並搜尋相關課程來正式學習如何使用Linux與命令行。這樣一來，您就能將學習到的經驗套用到Termux上，比較能知道程式背後的執行原理。\n5. 管理Termux與Android檔案 # 如何讓Termux存取Android內部儲存空間？\n「手機內部儲存空間」指的是DCIM、Download、Document、Android這些目錄所在的位置。用檔案管理員APP就能看到。\n輸入以下指令同意Termux存取手機內部儲存空間 termux-setup-storage 在允許Termux存取手機儲存空間後，它會被掛載到Termux家目錄的storage/shared目錄。輸入ls指令確認下：\n如果要切換到手機內部儲存空間/Download這個目錄，你只要輸入:\ncd storage/shared/Download 再用ls指令查看該目錄的所有檔案。 如果想知道Termux詳細的檔案管理方式，請參閱：淺談Termux檔案管理\n延伸閱讀 # 相關問題請到Github或Reddit提問。\nTermux Wiki亦有許多實用資訊。\n","date":"2026年5月22日","externalUrl":null,"permalink":"/posts/how-to-use-termux/","section":"Termux-Tutorials","summary":"Android是基於Linux開發的系統，卻沒有終端機。而Termux這個開源終端機模擬器補全了這個缺口，不需要Root就可以使用，還有自己的套件管理員。 Termux為一款終端機模擬器APP，移植了許多Linux的常用命令行程式。為什麼要在手機上打指令? 有的時候手機並沒有對應的APP，你還是可以用命令列模式的軟體來達成目的。例如Termux可以跑SSH連線、影片轉檔、架伺服器、學習寫程式等等。並且Termux提供proot-distro，能夠建立Linux容器環境，執行更多Linux電腦版的程式。\n使用例：跑XFCE桌面與電腦版Firefox瀏覽器 使用例：使用Vim寫Python程式 然而，Termux無法幫你的手機Root。如果要用Termux修改Android系統內部的檔案，你還是需要先將手機Root。\n本文會介紹Termux的安裝方式，並舉一些Termux的具體用途。\n1. 如何安裝Termux # Termux系統要求為Android 7以上的Android裝置。\n根據Termux的開發者說法Google Play上的Termux已經沒在更新了！\n請到F-Droid或者Github下載最新版。\n以F-Droid為例，點進F-Droid的連結，點選Download APK下載安裝檔。對於大多數裝置，下載arm64-v8a架構的版本。\n","title":"Termux終端機使用教學：Android手機跑Linux指令","type":"termux-tutorials"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/categories/%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%83%95%E3%82%A9%E3%83%B3/","section":"Categories","summary":"","title":"スマートフォン","type":"categories"},{"content":"用Docker架設一個自動爬取網站RSS資訊的「FreshRSS」伺服器兼閱讀器，隨時隨地用電腦與手機瀏覽。 這是一個簡單的網頁RSS閱讀器，可以自定義主題。 1. 使用RSS的動機 # 為什麼要用RSS？如果你不想再依賴社群媒體演算法被動餵食訊息，決定你能看到什麼，推送垃圾rage-baiting內容，你必須開始學會用RSS訂閱網站更新！主動找你想看的內容，打造自己的資訊流，不被社群媒體平臺綁架。\nRSS是20年前就有的標準，網站作者只要發佈一個XML檔案就能向讀者廣播有新文章的訊息，而且也不用透過E-mail接收。讀者可以使用任意程式閱讀RSS。本文介紹的FreshRSS就是一個例子。\n即使在現在，演算法與AI當道的時代，RSS依然是社群媒體以外一個很好的資訊來源管道，協助你整合資訊，不被演算法控制，取得閱讀自主權。\nIvon使用RSS的目的，除了打造自己的資訊流以外，就是將一些臭味相投的小眾部落格收集起來，他們可能轉瞬即逝，所以用RSS訂閱起來就不會錯過了。\n你可能會說現在很多網站壓根就沒考慮到RSS功能，或是根本就把該功能移除了。\n沒有RSS，那麼隨機看到超ㄅㄧㄤˋ的網頁該怎辦？你應該馬上將那個網頁送到Internet Archive拍快照，永久封存。 我還幫你挑了很酷的標本罐\n\u0026hellip;沒有啦，你有「RSS Bridge」可以自動依照網頁產生RSS，所以即使網站不支援RSS還是有辦法訂閱。最主要是掌握資訊自主權。\n回到正題，如何搞RSS閱讀器呢？\n我不想依賴他人的RSS訂閱服務（例如Feedly），免得哪天網站倒了資料也沒了，所以自架。話說我在Feedly看到Ivon的網站RSS有百餘人訂閱很感動，謝謝各位的支持。\n關於自架RSS訂閱服務，選擇有：FreshRSS、Miniflux、Tiny Tiny RSS\n我選擇FreshRSS，一款簡單易用的RSS伺服器，提供網頁界面，隨時用電腦或手機讀RSS文章。\nFreeRSS的介面看起來就像2010年的Gmail。是的，真的蠻復古的介面，嘿，但是速度很快！ 若是嫌FreshRSS界面太醜，修改自訂主題。\n或者你可以用API的方式，將其分享給比較漂亮的RSS閱讀器，例如跨平台的Fluent Reader。 2. 架設FreshRSS伺服器 # 在Linux安裝Docker\n新增儲存資料目錄\nmkdir -p ~/freshrss cd ~/freshrss 參考FreshRSS官方範本，撰寫docker-compose.yml services: freshrss: ports: - 8192:80　#暴露的通訊埠，我把80改成8192 image: freshrss/freshrss:latest container_name: freshrss hostname: freshrss restart: unless-stopped logging: options: max-size: 10m volumes: - ./data:/var/www/FreshRSS/data - ./extensions:/var/www/FreshRSS/extensions environment: TZ: Asia/Taipei CRON_MIN: \u0026#39;3,33\u0026#39; TRUSTED_PROXY: 172.16.0.1/12 192.168.0.1/16 啟動服務 docker compose up -d 瀏覽器開啟http://Linux電腦區域IP:8191，新增帳號登入FreshRSS。\n關於要如何從外網存取FreshRSS，你可以做個Cloudflare Tuneel，或是用內網穿透軟體。\n3. FreshRSS訂閱RSS # 你只要點選左上角新增訂閱源，輸入RSS網址完成訂閱。在這裡你可給不同的網站分類，例如我會分成「新聞專欄」與「部落格」 FreshRSS預設會以新訂閱的RSS來排序文章（而非RSS Feed所提供的時間），所以版面會被新加入的網站佔滿，請按「全部已讀」，才能讀取其他網站的文章。\n建議已經有一批RSS訂閱列表的人，一開始就完成全部訂閱動作。在訂閱後等個幾天，你的FreshRSS版面應該就會依照不同網站的文章的時間排序了。\n4. 一些FreshRSS的小問題 # 如果該網站明明有RSS Feed但是FresshRSS無法抓取，出現Unknown error for feed，那麼可能是被Cloudflare擋住了，這個用flaresolverr擴充功能繞過。\n有些網站沒有提供RSS Feed，得用RSS Bridge設定規則，爬取HTML或CSS網頁元素製成RSS Feed，再傳給FreeRSS訂閱。\n5. 將FreshRSS與Fluent Reader連線 # Fluent Reader是一款跨平台的RSS閱讀器，你不用在Fluent Reader加入RSS訂閱，只要讓Fluent Reader去連FreshRSS的伺服器，從那裡爬取資訊就行了。\n進入FreshRSS後台，設定API管理，設定密碼，再點一下下方網址 複製顯示的Fever API端點網址\n於Fluent Reader的服務貼上網址即可。 6. Ivon的RSS訂閱源 # 目前Ivon訂閱RSS主要是追蹤一些小眾主題的部落格，還有專門主題網站的更新。我不太會訂大雜燴的新聞網站RSS，起碼不會是只會寫殺人標題的下流媒體，得是提供獨家觀點的媒體。\n部份舉隅：\n報導者 The Reporter：可能是2024年台灣最中立的媒體之一了。 DQ 地球圖輯隊：有趣的世界新聞。 轉角國際udn Global - 聯合報：跟本家聯合重工不一樣，這個部門非常的開明進步。 關鍵評論網 The News Lens：大雜燴 公視：大雜燴 中華民國軟體自由協會的社群聯播，裡面包含「玩具烏托邦」、「節省工具箱」等老前輩的網站。 特別關注的Linux與自由軟體RSS，例如：lwn.net、KDE Blogs、This Week in GNOME、Redhat Blogs 部落卷卷 /blogrollroll - BlogBlog.Club 部落部落俱樂部：臺灣獨立中文站彙總，由Wiwi blog發起。 中文独立博客列表，有很多不錯的獨立技術部落格，大部份是簡體中文。 HN Popularity Contest：Hacker News的網站RSS訂閱排名。 Webfollow top-rss-list，以商業化中文網站為主，大雜燴。 如果你要訂閱本站「Ivon的部落格」的RSS，請戳這裡。\n","date":"2026年5月22日","externalUrl":null,"permalink":"/posts/setup-freshrss-server/","section":"所有文章","summary":"用Docker架設一個自動爬取網站RSS資訊的「FreshRSS」伺服器兼閱讀器，隨時隨地用電腦與手機瀏覽。 這是一個簡單的網頁RSS閱讀器，可以自定義主題。 1. 使用RSS的動機 # 為什麼要用RSS？如果你不想再依賴社群媒體演算法被動餵食訊息，決定你能看到什麼，推送垃圾rage-baiting內容，你必須開始學會用RSS訂閱網站更新！主動找你想看的內容，打造自己的資訊流，不被社群媒體平臺綁架。\nRSS是20年前就有的標準，網站作者只要發佈一個XML檔案就能向讀者廣播有新文章的訊息，而且也不用透過E-mail接收。讀者可以使用任意程式閱讀RSS。本文介紹的FreshRSS就是一個例子。\n即使在現在，演算法與AI當道的時代，RSS依然是社群媒體以外一個很好的資訊來源管道，協助你整合資訊，不被演算法控制，取得閱讀自主權。\nIvon使用RSS的目的，除了打造自己的資訊流以外，就是將一些臭味相投的小眾部落格收集起來，他們可能轉瞬即逝，所以用RSS訂閱起來就不會錯過了。\n你可能會說現在很多網站壓根就沒考慮到RSS功能，或是根本就把該功能移除了。\n沒有RSS，那麼隨機看到超ㄅㄧㄤˋ的網頁該怎辦？你應該馬上將那個網頁送到Internet Archive拍快照，永久封存。 我還幫你挑了很酷的標本罐\n","title":"自架網頁RSS閱讀器FreshRSS，取回閱讀自主權，不被社群媒體演算法控制","type":"posts"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/categories/%E6%99%BA%E6%85%A7%E5%9E%8B%E6%89%8B%E6%A9%9F/","section":"分類","summary":"","title":"智慧型手機","type":"categories"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/tags/anime/","section":"Tags","summary":"","title":"Anime","type":"tags"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/tags/github/","section":"Tags","summary":"","title":"Github","type":"tags"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/categories/nsfw/","section":"Categories","summary":"","title":"NSFW","type":"categories"},{"content":"","date":"2026-05-22","externalUrl":null,"permalink":"/en-us/categories/nsfw-misc/","section":"Categories","summary":"","title":"NSFW Misc","type":"categories"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/nsfw/","section":"Nsfws","summary":"","title":"Nsfws","type":"nsfw"},{"content":"","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/categories/nsfw%E9%9B%9C%E8%AB%87/","section":"Categories","summary":"","title":"NSFW雜談","type":"categories"},{"content":" 一般向け・非18禁アニメにおけるお色気／サービスシーン情報を整理したJSONデータセットを公開しました。\nこれは何か # これは、一般向けアニメに含まれるお色気・サービスシーン、特に乳首描写の有無を整理するためのデータセットです。\nここで扱う「お色気アニメ」や「サービスシーン」は、いわゆる fanservice 的な描写を含む作品を指します。胸元、臀部、入浴シーン、着替えシーン、水着回など、視聴者向けの性的な演出が多い作品です。その中には、TV放送時には光や湯気などで隠され、Blu-ray版や配信版では修正が外れる作品もあります。\nただし、このプロジェクトは hentai / 裏番を集めるためのものではありません。対象はあくまで、一般流通している日本のアニメ作品、またはそれに近い形で扱える非18禁作品です。 このページでは、プロジェクトの概要、収録基準、データ形式、公開しているソースコード、今後の方向性をまとめます。 対象作品 # このデータセットでは、主に以下のような作品を対象にしています。\n一般向け・非18禁の日本アニメ お色気描写やサービスシーンが含まれる作品 乳首描写、入浴シーン、着替えシーン、水着回などが確認できる作品 TV版、BD版、OVA、配信版などで描写差分が存在する作品 作品名、話数、キャラクター名などをメタデータとして整理できる作品 このリストは、もともと2021年11月ごろから個人サイト上で少しずつ更新していたものです。複数の情報源を確認しながら、作品名、話数、キャラクター、描写内容を表形式で整理してきました。\nこれまでに200本以上のアニメを確認しましたが、この分野の情報は古いブログ、掲示板、Wiki、個人メモなどに散らばっており、現在も抜けや誤りが残っています。そのため、個人で抱え込むよりも、JSON形式のデータとして公開し、修正や再利用がしやすい形にすることにしました。\n含まれる情報 # 公開しているデータには、主に以下の情報が含まれます。\nアニメ作品名 放送年・公開年 該当する話数 キャラクター名 描写の分類 参考用のメモ Hugoサイトで表示するための画像・表データ プロジェクトには、JSONデータ本体と、Hugoで表を生成するためのサンプルサイトが含まれています。\nそのため、データを使って自分のサイト上に別のインスタンスを作ることもできます。\nこの仕様は理想的な運用方針をまとめたものです。現時点のデータには、まだ修正すべき箇所や未整理の項目が残っています。\n含まれないもの # このプロジェクトには、以下のものは含まれません。\n違法配信サイトへのリンク 動画ファイル torrent やダウンロードリンク hentai / 裏番の作品情報 同人アニメ 実写作品 作品本編を視聴するための手段 このデータセットは、作品情報や描写情報を整理するためのメタデータ集です。\nアニメ本編の配信、転載、ダウンロードを目的としたものではありません。\nオンラインで見る # 現在、以下のページで実際の表示例を確認できます。\nhttps://htxacg.cc/posts/uncensored-ecchi-anime-list https://htxacg.cc/posts/ecchi-fanservice-anime-list ソースコード # データとWebサイトのソースコードは、以下のGitHubリポジトリで公開しています。\nhttps://github.com/ivon852/ecchi-fanservice-anime-list-data https://github.com/ivon852/ecchi-fanservice-anime-list-website 画像とテキストデータは、プラットフォーム上の制約により分けて管理しています。\n今後は、このデータを共同編集できる形にし、誰でも自由に利用・修正・再公開できる資料として整備していく予定です。Hugoテーマを使えば、同じデータから別の閲覧用インスタンスを作ることもできます。\nユーザー体験 # 現在のサイトは、HugoによってJSONデータをHTML表に変換する静的サイトとして作られています。年代ごとに表を分け、古い年代の表は details タグで折りたたむことで、ページの読み込み負荷を抑えています。\n以前はHTML表を手作業で書いていましたが、作品数が増えるにつれて管理が難しくなったため、JSONデータから自動生成する方式に切り替えました。\n画像には lazy loading を設定し、CDNで配信できるS3互換ストレージに保存しています。\nPCでは画像を縦に並べて表示し、スマートフォンでは横スクロールで見られるように、CSSとJavaScriptで表示方法を調整しています。\n画像形式は、互換性と転送量のバランスを考えてWEBPを使用しています。AVIFは圧縮効率が高い一方で、環境によっては扱いにくいため、現時点では採用していません。\n画像の補足説明は title 属性に入れています。PCではマウスホバー、スマートフォンでは長押しで確認できます。\nGoogle Lighthouseでの測定結果は以下の通りです。\nパフォーマンス：93 アクセシビリティ：94 ベストプラクティス：100 SEO：92 収録基準 # 詳しい収録基準は、以下の仕様書を参照してください。\nhttps://github.com/ivon852/ecchi-fanservice-anime-list-data Issue / PR 歓迎 # この分野の情報は非常に散らばっており、個人で完全に整理するのは困難です。\n抜けている作品、誤った話数、キャラクター名の表記ゆれ、BD版とTV版の差分などがあれば、GitHubのIssueやPull Requestで知らせてもらえると助かります。\n特に歓迎する修正は以下の通りです。\n作品名・話数の誤り修正 キャラクター名の補完 TV版 / BD版 / 配信版の違い 収録基準に合う作品の追加 表記ゆれの整理 JSON構造の改善提案 English / Chinese version available # このプロジェクトは、もともと台湾華語圏向けの個人サイトから始まったものです。\n現在は、日本語だけでなく、英語・中国語での説明やデータ利用も想定しています。\n日本語圏、英語圏、中国語圏のアニメファンが同じデータを参照できるように、今後は多言語対応も少しずつ整えていく予定です。\n今後の方向性 # 現在のリストは、Hugoで作られた静的サイトとして運用しています。単一ページに大量の情報を載せているため、今後データが増えるにつれて、編集性や表示速度の面で限界が出る可能性があります。\n将来的には、以下のような改善を検討しています。\nサイトをより安定したサーバー環境へ移行する 静的サイト構成から、フロントエンドとバックエンドを分けた構成へ変更する Reactでフロントエンドを作成し、Node.jsとPostgreSQLでデータを管理する 画像をS3互換ストレージに保存し、画像処理パイプラインで最適化する 作品ごとに個別ページを作成する ブラウザ上で編集できる管理画面を作る 外部APIと連携して、作品情報を補完しやすくする ランダム表示やギャラリーページを追加する Wikiのように共同編集できるプロジェクトへ発展させる 最終的には、単なる個人メモではなく、一般向けアニメにおけるお色気・サービスシーン情報を整理する、再利用可能なオープンデータとして育てていきたいと考えています。\n","date":"2026年5月22日","externalUrl":null,"permalink":"/ja-jp/posts/ecchi-fanservice-anime-list-specification/","section":"NSFW","summary":" 一般向け・非18禁アニメにおけるお色気／サービスシーン情報を整理したJSONデータセットを公開しました。\nこれは何か # これは、一般向けアニメに含まれるお色気・サービスシーン、特に乳首描写の有無を整理するためのデータセットです。\nここで扱う「お色気アニメ」や「サービスシーン」は、いわゆる fanservice 的な描写を含む作品を指します。胸元、臀部、入浴シーン、着替えシーン、水着回など、視聴者向けの性的な演出が多い作品です。その中には、TV放送時には光や湯気などで隠され、Blu-ray版や配信版では修正が外れる作品もあります。\n","title":"乳首描写ありのお色気アニメ一覧データセットを公開しました","type":"nsfw"},{"content":" 譁譁，這個頁面已經搬家啦。\n請點選：這裡\n","date":"2026年5月22日","externalUrl":null,"permalink":"/posts/fanservice-anime/","section":"Nsfws","summary":" 譁譁，這個頁面已經搬家啦。\n請點選：這裡\n","title":"有露點的肉番福利動漫列表","type":"nsfw"},{"content":"","date":"2026年5月20日","externalUrl":null,"permalink":"/tags/dns/","section":"標籤","summary":"","title":"DNS","type":"tags"},{"content":"","date":"2026年5月20日","externalUrl":null,"permalink":"/tags/openbsd/","section":"標籤","summary":"","title":"OpenBSD","type":"tags"},{"content":"我們知道有很多公共DNS伺服器可以用，那麼你有沒有想過自己架設一個呢？從今天起透過「Unbound」實施DNS自主吧！\n為什麼要自架一個DNS伺服器：我們可以把DNS想像成網際網路的門牌。當你輸入一個網址時，就像在找房子地址。但電腦其實不知道這個名字對應哪一個IP位址，就像只知道人名，卻不知道門牌號碼一樣。此時，DNS伺服器就像是一個幫你查門牌的查號台。當你第一次查詢網站時，它會幫你找到正確的IP位址，用DNS快取把結果記在附近，讓下一次查詢可以更快完成。不過呢，DNS伺服器如果是使用公共的，你等於是直接問現有查號台，而非自己去找地址。那麼，負責回答你問題的DNS伺服器就很關鍵了，它能夠干涉你所能看到的網站。要是\u0026hellip;它回覆的內容不誠實呢？因為各種因素，過濾掉了你不該看到的東西，或者導向錯誤的地址。那麼這時，自己架設一個DNS伺服器便有必要了。\n「Unbound」是一種自架DNS伺服器的方案，由NLnet Labst開發。 你可以在離你家電腦最近的伺服器用Unbound，建立DNS快取，加快造訪網站時的網路回應速度，減少延遲。並且查詢DNS位址的時候會啟用DNS over TLS和DNSSEC，防止網路業者(ISP)窺探你造訪的網站為何，保護隱私。\nUnbound屬於Recursive DNS Resolver。跟Pi-hole和AdGaurd Home不同，Unbound本身沒有擋廣告的功能，就只是一個DNS伺服器，目的是為了解析網域，給你一個中立無審查的網路，這讓Unbound比較接近BIND或Dnsmasq的功能。不過你也可以將Unbound搭配Pi-hole一起用。\nUnbound可以部署在家裡的NAS，當作私人的DNS使用，也可以放在VPS給大眾存取。\n順帶一提，Unbound是使用BSD三句版授權釋出的自由軟體，並且是OpenBSD與OPNsense系統預設使用的DNS Resolver喔！\n1. Forwarding與Recursive的差別？ # Unbound查詢DNS的時候可以分為「Forwarding Resolver」與「Recursive Resolver」模式。\nForwarding Resolver，轉送解析器，只是將DNS查詢轉交給上游的大型DNS伺服器（如Google、Quad9、Cloudflare）並返回IP位址。利用他們一天幾十萬上下快取好的DNS資料加速查詢。但是你就得慎選上游的DNS伺服器了，因為有的DNS伺服器會「為了你好」而過濾掉一些網站，導致你得到不中立的結果。 Recursive Resolver，遞迴解析器，則是完全自立自強，從查詢Root DNS Server、Top Level Domain Server、Authoritative DNS Server都跑一遍。逐層查詢IP位址。不依賴大型DNS伺服器。查詢過的DNS資料會快取下來，增加下次載入速度。 我這篇文章是 採用Recursive Resolver的架構。\n2. 確認一下伺服器的DNS架構 # 首先要確認伺服器沒有其他干擾因素再安裝Unbound。\n測試系統：Ubuntu 24.04\nUbuntu 24.04以後版本的系統，應該是NetworkManager在管網路。也有可能會加上systemd-resolved來處理DNS。如下查詢服務狀態： sudo systemctl status NetworkManager sudo systemctl status systemd-resolved Unbound DNS伺服器需要使用53通訊埠，用ss指令確保它沒被任何行程佔用。建議不要修改通訊埠，因為一些軟體不支援自訂DNS的通訊埠。 sudo ss -lntup | grep :53 如果伺服器有使用systemd-resolved，而且監聽53通訊埠（注意是53不是5353）的話，將其關掉 sudo vim /etc/systemd/resolved.conf 改成DNSStubListener=No [Resolve] DNSStubListener=no 執行resolvectl確認伺服器沒有使用其他DNS，最好只留下路由器的DNS。 sudo resolvectl 查看伺服器IP，例如我這臺區域網路的機器IP是192.168.1.116 ip addr 3. 建立docker-compose # Unbound可以用多種方式部署。根據Unbound官網資料，目前沒有官方Docker映像檔。\n我選用klutchell打包的unbound-docker映像檔，支援x86與ARM架構。內含DNSSEC需要的信任錨點root.key與Root DNS Server列表root.hints所以你不用手動下載。\n建立存放資料的目錄 mkdir -p ~/unbound cd ~/unbound 建立Unbound設定檔 vim unbound.conf 填入以下內容 server: verbosity: 1 interface: 0.0.0.0 port: 53 do-ip4: yes do-udp: yes do-tcp: yes do-ip6: yes # 若是架在區域網路，應只允許區域內電腦IP連線 access-control: 127.0.0.0/8 allow access-control: 192.168.0.0/16 allow access-control: 10.0.0.0/8 allow access-control: 0.0.0.0/0 refuse # 查詢時不回傳Unbound版本，只回傳必要資訊，增強隱私 hide-identity: yes hide-version: yes qname-minimisation: yes # 自動更新DNS快取 prefetch: yes prefetch-key: yes # 設定DNS快取存活時間 cache-min-ttl: 0 cache-max-ttl: 86400 建立docker-compose.yml vim docker-compose.yml 填入： services: unbound: image: klutchell/unbound container_name: unbound restart: unless-stopped network_mode: host volumes: - ./unbound.conf:/etc/unbound/custom.conf.d/unbound.conf 啟動： docker compose up -d 開放防火牆通訊埠： sudo ufw allow 53 sudo ufw reload 4. 修改裝置DNS指向Unbound伺服器 # Android手機 # 設定 → 私人DNS。Android強制要求有網域才能用。\n若只有區域IP，則是在Wifi界面設定，將DHCP改為靜態，裡面就可以填寫DNS的IP了。\nLinux電腦客戶端 # Ubuntu 24.04如果使用systemd-resolved的話，用NetworkManager改不夠，可能還要改systemd-resolved設定。\n看看目前使用的網路界面，例如這裡使用有線網路為enp2s0\nsudo nmcli connection show --active sudo resolvectl status 修改如下 sudo resolvectl dns enp2s0 \u0026#34;192.168.1.116\u0026#34; sudo resolvectl domain enp2s0 \u0026#34;~.\u0026#34; 再用nmcli修改目前連線的DNS伺服器 sudo nmcli connection show --active sudo nmcli con mod \u0026#34;連線名稱\u0026#34; ipv4.dns \u0026#34;192.168.1.116\u0026#34; 5. 測試Unbound DNS有無啟用成功 # 在Linux電腦客戶端安裝DNS測試工具 sudo apt install bind9-dnsutils 執行dig指令，使用Unbound（這裡IP是192.168.1.116）去查詢網站，看是否會經過Unbound。 dig @192.168.1.116 google.com 成功的話，SERVER應該顯示192.168.1.116。\n另外查詢過一次該域名的話，Unbound就會快取在伺服器。因此再執行一次dig指令的話，Query time應會變低或降至零。\n","date":"2026年5月20日","externalUrl":null,"permalink":"/posts/unbound-dns-resolver/","section":"所有文章","summary":"我們知道有很多公共DNS伺服器可以用，那麼你有沒有想過自己架設一個呢？從今天起透過「Unbound」實施DNS自主吧！\n為什麼要自架一個DNS伺服器：我們可以把DNS想像成網際網路的門牌。當你輸入一個網址時，就像在找房子地址。但電腦其實不知道這個名字對應哪一個IP位址，就像只知道人名，卻不知道門牌號碼一樣。此時，DNS伺服器就像是一個幫你查門牌的查號台。當你第一次查詢網站時，它會幫你找到正確的IP位址，用DNS快取把結果記在附近，讓下一次查詢可以更快完成。不過呢，DNS伺服器如果是使用公共的，你等於是直接問現有查號台，而非自己去找地址。那麼，負責回答你問題的DNS伺服器就很關鍵了，它能夠干涉你所能看到的網站。要是…它回覆的內容不誠實呢？因為各種因素，過濾掉了你不該看到的東西，或者導向錯誤的地址。那麼這時，自己架設一個DNS伺服器便有必要了。\n「Unbound」是一種自架DNS伺服器的方案，由NLnet Labst開發。 你可以在離你家電腦最近的伺服器用Unbound，建立DNS快取，加快造訪網站時的網路回應速度，減少延遲。並且查詢DNS位址的時候會啟用DNS over TLS和DNSSEC，防止網路業者(ISP)窺探你造訪的網站為何，保護隱私。\n","title":"如何用Docker自架Unbound DNS伺服器","type":"posts"},{"content":"","date":"2026年5月18日","externalUrl":null,"permalink":"/tags/demosaic/","section":"標籤","summary":"","title":"Demosaic","type":"tags"},{"content":"","date":"2026年5月18日","externalUrl":null,"permalink":"/tags/video-inpainting/","section":"標籤","summary":"","title":"Video Inpainting","type":"tags"},{"content":"","date":"2026年5月18日","externalUrl":null,"permalink":"/tags/video-upscaling/","section":"標籤","summary":"","title":"Video Upscaling","type":"tags"},{"content":" Lada是開源免費的去碼軟體，支援Linux與Windows系統。 快說：謝謝茄子！射爆了！\nLada可以透過AI即時去掉影片馬賽克，免轉檔，使用開源的BasicVSR++與RealESRGAN修復模型，並參考DeepMosaics的方法訓練模型。\n它能夠去掉馬賽克像素，但不能去海苔。\n我測試下來，Lada的效果，接近JavPlayer呢。可作為JAVPlayer替代品。\n不論是田中瞳的片子 還是魔人的裏番 都可以去掉馬賽克，雖然還是糊成一團，但看上去比較沒那麼突兀了。\nLada目前看來是針對真人片訓練的，動畫的效果不太自然。\n要更好效果得自己訓練模型了吧。\n1. 系統需求 # Lada可以即時在播放影片的時候去掉馬賽克，因此很吃GPU效能。\nLada背後會用到PyTorch，目前支援Nvidia CUDA或Intel Arc獨顯加速。PyTorch理論上支援AMD ROCm和Apple Silicon不過目前得自己用Python配環境。\n要處理1080p影片的話，建議使用RTX20以上顯卡，4GB以上VRAM。\n若GPU撐不住即時去馬賽克播放的話就用lada-cli轉檔再看。\nLada也可以用CPU跑，但很慢，只適合慢慢用來轉檔，不能即時去碼。\n2. 下載Lada # Lada使用Python寫成，程式原始碼位於Codeberg，回報問題請到此處。Github的只是鏡像。\n針對Linux和Windows系統，作者已經打包好GUI了，下載直接用。\nWindows # Nvidia顯卡需要安裝CUDA\n到Github Releases下載lada-*_windows_nvidia.7z 。因為檔案太大所以要分成兩個。 將.7z解壓縮，執行lada.exe。\nLinux # Nvidia顯卡需要安裝CUDA\nLinux透過Flatpak安裝。另外安裝Nvidia顯卡的加速套件\nflatpak install flathub io.github.ladaapp.lada flatpak install flathub io.github.ladaapp.lada.extensions.nvidia 另外有Docker打包的lada-cli。這個映像檔需要使用Nvidia Container Toolkit才能在容器內吃到GPU\ndocker run --rm --gpus all ladaapp/lada:latest --help 3. Lada用法 # 開啟Lada程式主界面，將影片拖曳進去播放。就醬。 點畫面右上角可以切換去碼模型。處理的時候只能靠程式自動偵測馬賽克，無法手動介入。\n點Export輸出轉檔再播放，可以降低GPU負擔。 若要用指令轉檔的話，使用lada-cli。將影片所在目錄掛載進去然後指定PyTorch的加速裝置與影片編碼。\n例如用Docker跑：\n查看可用選項：\ndocker run --rm ladaapp/lada:latest --help 例如用CPU轉檔的指令，將/home/user/下載/掛載到容器裡面的/mnt，處理input.mp4這個影片，並用CPU編碼輸出：\ndocker run --rm \\ --mount type=bind,src=/home/user/下載/,dst=/mnt \\ ladaapp/lada:latest \\ --input /mnt/input.mp4 \\ --device cpu \\ --encoding-preset h264-cpu-fast 4. Lada的fork：Jasna # Jasna這個修改版宣稱可以提升兩倍以上處理速度，並且可以搭配專有軟體Topaz TVAI加強效果。不過作者就只有給Windows打包了。\n","date":"2026年5月18日","externalUrl":null,"permalink":"/posts/lada-app/","section":"Nsfws","summary":" Lada是開源免費的去碼軟體，支援Linux與Windows系統。 快說：謝謝茄子！射爆了！\nLada可以透過AI即時去掉影片馬賽克，免轉檔，使用開源的BasicVSR++與RealESRGAN修復模型，並參考DeepMosaics的方法訓練模型。\n它能夠去掉馬賽克像素，但不能去海苔。\n我測試下來，Lada的效果，接近JavPlayer呢。可作為JAVPlayer替代品。\n不論是田中瞳的片子 還是魔人的裏番 都可以去掉馬賽克，雖然還是糊成一團，但看上去比較沒那麼突兀了。\nLada目前看來是針對真人片訓練的，動畫的效果不太自然。\n要更好效果得自己訓練模型了吧。\n1. 系統需求 # Lada可以即時在播放影片的時候去掉馬賽克，因此很吃GPU效能。\n","title":"謝謝茄子：使用開源AI軟體「Lada」去掉AV影片馬賽克","type":"nsfw"},{"content":"","date":"2026年5月18日","externalUrl":null,"permalink":"/tags/linux-kernel/","section":"標籤","summary":"","title":"Linux Kernel","type":"tags"},{"content":"使用Linux系統的時候可以運用的巧思，還有一些bug的解決方案。以桌面應用和伺服器為主。\n","date":"2026年5月18日","externalUrl":null,"permalink":"/categories/linux%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7/","section":"分類","summary":"使用Linux系統的時候可以運用的巧思，還有一些bug的解決方案。以桌面應用和伺服器為主。\n","title":"Linux使用技巧","type":"categories"},{"content":"Linux記憶體不足又不想買更多RAM，該怎麼辦呢，大家都會想到使用SWAP吧！ 「SWAP」又稱置換空間、虛擬記憶體，這個技術非常古老，幾乎所有的Linux發行版都有使用。它將硬碟的一部份作為RAM，在RAM不夠的時候讓程式利用，免得記憶體不足(OOM)導致程式被系統中止。\nLinux的SWAP功能在Windows等同於分頁檔功能。可以在硬碟建立一個虛擬記憶體檔案當作RAM使用。\nLinux系統的SWAP可以是一個分區(swap partition)，或者單一檔案(swapfile)。需要多少RAM就建立多大的SWAP，例如根據SWAP大小=2倍實體RAM的大拇指定律，在擁有16GB實體RAM的電腦建立32GB的SWAP，就有額外的32GB RAM可以用。\n但傳統SWAP檔案有個問題，因為在硬碟上跑，SWAP檔案速度是比實體RAM要慢的，把程式丟在裡面跑會拖慢速度。將程式切換到SWAP可能短暫導致桌面卡頓。還有就是長期寫入大量資料會傷害SSD。\n這個時候有兩個改進方案可以考慮，那就是「zSWAP」與「zRAM」，能夠增加SWAP的效能。他們都是Linux核心提供的功能，應當所有發行版都支援。\n我們還可以透過kernel parameters的方式，細微地調整什麼時候要使用SWAP檔案，提升系統回應速度。\n本文我們以搭載Linux 6.0以上核心版本的Ubuntu系統為例子。\n1. 要選zSWAP還是zRAM？ # 先說「zRAM」，技術上來說，zRAM會在實體RAM上面分配一個區域建立ramdisk，也就是/dev/zram，透過壓縮分頁換取更多RAM，得到一塊速度更快的「SWAP」，這個SWAP 並不會佔用硬碟空間 ，而是只會使用到RAM的記憶體。zRAM可以讓系統完全不必依賴SWAP檔案，又能擁有更多RAM。你只需要讓CPU額外付出一些心力去處理壓縮的部份。另外，zRAM可以搭配現有的SWAP檔案使用，將SWAP優先度降低，等到真的RAM不夠用了才寫入到SWAP，作為應急手段。\n預設啟用zRAM的Linux發行版只有Fedora 44和Pop!OS 24.04。Android也有使用zRAM。\n再來是「zSWAP」，它依賴硬碟上現有的SWAP檔案，會將一部份RAM的分頁壓縮到池子中，在壓縮RAM後空間不足的情況下才會將分頁檔逐出到硬碟上的SWAP檔案。你只需要讓CPU額外付出一些心力去處理壓縮的部份。因此我們可以說，zSWAP是現有SWAP機制的一種改進，減少了舊有SWAP機制寫入資料過多的問題。\n幾乎沒有Linux發行版啟用zSWAP，需要手動開啟。macOS倒是有類似zSWAP的技術。\n順帶提一下，有些文章在討論zRAM和zSWAP的時候會一併講到「zCache」，不過這個技術開發停滯，很久以前就從Linux核心移除了。\nzRAM與zSWAP比較簡表： 這二個技術都是要拯救RAM太少的問題，開下去後帳面上可用的RAM會變大，例如16GB的實體RAM能額外擁有16GB RAM。但是同時啟用二個的意義不大，還可能會互相衝突。\n為何我要選zSWAP而非zRAM呢？\n講個實際例子，為了跑.gguf格式的AI生成影片模型Wan 2.1，我需要在16GB實體RAM的機器準備總計32GB的RAM，使用zRAM就得計算一下壓縮比。我以為zRAM能完全不依賴SWAP檔案，但我注意到zRAM就算設定成實體RAM兩倍大小還是容易出現OOM。看來zRAM再怎麼壓縮也抵不過暴力吃RAM的程式，有些資料不能壓縮，那麼zRAM設再大也沒有用，恐怕還是得做一個SWAP檔案備用。\n這樣的話我認為zSWAP會是比較好的選擇，它依賴現有的SWAP檔案，在壓縮RAM後空間依然不足的情況下才會將分頁檔寫入到SWAP檔案。\n還有，既然要依賴SWAP檔案了，要嘛zRAM配SWAP，不然就zSWAP配SWAP。後者不用計算壓縮比多少，SWAP檔案直接新增下去就知道有多少額外RAM能用了。\n雖然如此，我文章還是提供啟用zRAM的方式作為參考。\n2. 壓縮演算法比較 # zRAM和zSWAP都會用到演算法來壓縮RAM，這裡簡單介紹。\n目前Linux 6.0核心提供下面幾個壓縮演算法，效能有些微差異，請依照需求選擇。不然就維持預設值zstd就好，這個兼顧速度與壓縮比，不會吃太多CPU資源。\n名稱 壓縮比 速度 lzo 低 非常快 lz4 低 最快 zstd 高 中等 lzma 非常高 慢 zlib 高 慢 deflate 高 慢 3. 確認系統現有的SWAP # 如果是Ubuntu 24.04的話，預設在安裝的時候應該會自動建立一個swapfile，位於/swap.img。並透過/etc/fstab開機自動掛載。\n利用free -h指令或者htop能夠確認系統目前的SWAP大小，如下範例輸出：\ntotal used free shared buff/cache available Mem: 15Gi 14Gi 429Mi 680Mi 1.8Gi 1.3Gi 置換： 15Gi 8.5Gi 7.5Gi 另外透過smemstat -mT指令，可以知道有哪些程式執行於RAM，哪些程式在SWAP執行。\n4. 建立SWAP檔案 # 因為我要用zSWAP，必須要建立SWAP檔案。zRAM雖然不需要SWAP，但可以將其作為應急手段。\n如果已經有SWAP檔案就跳過這段。\n若要修改現有SWAP大小，可以用以下指令停用SWAP，並將其移除。 sudo swapoff -a sudo rm /swap.img 然後，建立新的SWAP檔案。檔案大小就設定為實體RAM的兩倍，例如我有16GB實體RAM，就建立32GB的SWAP。 sudo fallocate -l 32G /swap.img sudo chmod 0600 /swap.img sudo mkswap /swap.img sudo swapon /swap.img 編輯fstab sudo vim /etc/fstab 確認SWAP檔案在開機後自動掛載。如果不這樣設定，則SWAP不能使用。 /swap.img none swap sw 0 0 5. 調整使用SWAP的時機 # vm.swappiness這個數值可以定義Linux核心什麼時候要使用到SWAP檔案，避免系統明明還有RAM能用卻把程式放到SWAP檔案導致系統變慢。數字越小，Linux核心越不會去使用SWAP。若設定為0，就只有防止OOM的時候才會使用SWAP。\n編輯sysctl設定 sudo vim /etc/sysctl.conf 設定swappiness數值，重開機套用變更 vm.swappiness=10 6. 啟用zSWAP # 不要同時使用zSWAP和zRAM\nUbuntu透過傳遞核心參數啟用。必須先要有SWAP檔案才可以使用zSWAP。\n編輯GRUB sudo vim /etc/default/grub 加入以下內容。zswap.enabled啟用zSWAP，zswap.compressor壓縮演算法選zstd。max_pool_percent設定為60，偏好將分頁留在RAM，而非移動到SWAP檔案（數字越大越不會使用到SWAP檔案）。zswap.zpool分配器使用zsmalloc取得最好壓縮比。 GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;quiet splash zswap.enabled=1 zswap.compressor=zstd zswap.max_pool_percent=60 zswap.zpool=zsmalloc\u0026#34; 更新GRUB，重開機 sudo update-grub sudo reboot 確認zSWAP是否有啟用。 sudo dmesg | grep zswap grep -R . /sys/module/zswap/parameters 7. 啟用zRAM # 不要同時使用zRAM和zSWAP\nUbuntu提供兩種新增zRAM的小工具，分別是「zramswap」和「systemd-zram-generator」，後者比較多發行版使用。\n確認zSWAP沒有啟用，若有的話需要在GRUB加入zswap.enabled=0停用。 sudo dmesg | grep zswap 安裝systemd-zram-generator套件 sudo apt install systemd-zram-generator 編輯設定檔 sudo vim /etc/systemd/zram-generator.conf 填入以下內容，具體來說，如果想要在擁有16GB實體RAM的機器擁有16GB額外的VRAM，要讓zRAM壓縮比接近1:3，那麼zRAM的數值需要至少設定為實體RAM的1倍以上或者更高。另外將zRAM的優先度設定為最高，SWAP作為最後的應急手段。 [zram0] zram-size = ram * 2 compression-algorithm = zstd swap-priority = 100 fs-type = swap 啟用Systemd服務 sudo systemctl enable --now systemd-zram-setup@zram0.service 利用指令zramctl列出zRAM的使用情況。 NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT /dev/zram0 zstd 31G 1.1G 227.8M 404.3M 4 [SWAP] 參考資料 # zram: Compressed RAM-based block devices - The Linux Kernel documentation zswap - The Linux Kernel documentation 配置 ZRAM，实现 Linux 下的内存压缩，零成本低开销获得成倍内存扩增 - yooooooo 博客园 一文说清swap,zram,zswap，交换空间和内存压缩方案 - Deepin 在 Linux 桌面上擠出更多記憶體的各種方法、對 SWAP 常見的誤解 - 噴火獸號：裴列恩之艦 ","date":"2026年5月18日","externalUrl":null,"permalink":"/posts/linux-zswap-and-zram/","section":"所有文章","summary":"Linux記憶體不足又不想買更多RAM，該怎麼辦呢，大家都會想到使用SWAP吧！ 「SWAP」又稱置換空間、虛擬記憶體，這個技術非常古老，幾乎所有的Linux發行版都有使用。它將硬碟的一部份作為RAM，在RAM不夠的時候讓程式利用，免得記憶體不足(OOM)導致程式被系統中止。\nLinux的SWAP功能在Windows等同於分頁檔功能。可以在硬碟建立一個虛擬記憶體檔案當作RAM使用。\nLinux系統的SWAP可以是一個分區(swap partition)，或者單一檔案(swapfile)。需要多少RAM就建立多大的SWAP，例如根據SWAP大小=2倍實體RAM的大拇指定律，在擁有16GB實體RAM的電腦建立32GB的SWAP，就有額外的32GB RAM可以用。\n但傳統SWAP檔案有個問題，因為在硬碟上跑，SWAP檔案速度是比實體RAM要慢的，把程式丟在裡面跑會拖慢速度。將程式切換到SWAP可能短暫導致桌面卡頓。還有就是長期寫入大量資料會傷害SSD。\n這個時候有兩個改進方案可以考慮，那就是「zSWAP」與「zRAM」，能夠增加SWAP的效能。他們都是Linux核心提供的功能，應當所有發行版都支援。\n我們還可以透過kernel parameters的方式，細微地調整什麼時候要使用SWAP檔案，提升系統回應速度。\n","title":"Ubuntu記憶體不足？透過zSWAP與zRAM功能，擠出更多RAM","type":"posts"},{"content":"想知道你的網站讀者水準有多高，看多少人用Firefox造訪就知道了。\n畢竟現在Firefox是市佔率2%的瀏覽器。\n我做了一個禮拜的實驗，大膽得出結論：果然用Firefox的不存在低智商用戶。Firefox用戶多半會使用Adblock加上uBlock Origin攔截器封鎖網頁的追蹤器。\n一開始網站部署Umami Analytics取代Google Analytics的時候，我刻意混淆script name讓uBlock Origin抓不到tracking script，所以在造訪我網站的流量統計裡面Firefox是第二名，僅次於Chrome的60%。 結果我因為良心發現把它改回去之後，Firefox的流量就慢慢跌出五名之外了。同樣的User Agent標記為Linux的在這之後也有顯著下滑。\n這個觀測可能不精準，因為只有一個禮拜而已，樣本數不夠精準。\n這樣我可以推論，最死忠的目標讀者（開源軟體死士）正好是表面上最不可能被統計到的黑數，他們這些tech-savvy太在乎隱私權了。所以我很難確切統計有多少讀者吧。\n另外GA是不是高估了使用者的流量啊，把AI Bot也算了進去？Umami顯示的在線人數都只有GA的1/4左右。\n畢竟殘酷的現實是，從後臺數據來看，每月網站造訪最多的頁面是EhViewer載點\u0026hellip;\u0026hellip;但這些用下面思考的人並非是我的主要目標。\n必須承認有時候我會刻意寫一些給normies看的騙流量文章以獲得更好的SEO，可是大部分時候我就自顧自的寫自己喜歡的niche topics。\n另一種評估網站有多少死忠讀者的方法，大概就是去Feedly看多少人訂閱我的RSS了。上次去看超過100人了，謝謝！\nAnd in the end, the love you take is equal to the love you make.\nThe Beatles - Golden Slumbers / Carry That Weight / The End ","date":"2026年5月13日","externalUrl":null,"permalink":"/posts/2026051301/","section":"Personals","summary":"想知道你的網站讀者水準有多高，看多少人用Firefox造訪就知道了。\n畢竟現在Firefox是市佔率2%的瀏覽器。\n我做了一個禮拜的實驗，大膽得出結論：果然用Firefox的不存在低智商用戶。Firefox用戶多半會使用Adblock加上uBlock Origin攔截器封鎖網頁的追蹤器。\n一開始網站部署Umami Analytics取代Google Analytics的時候，我刻意混淆script name讓uBlock Origin抓不到tracking script，所以在造訪我網站的流量統計裡面Firefox是第二名，僅次於Chrome的60%。 結果我因為良心發現把它改回去之後，Firefox的流量就慢慢跌出五名之外了。同樣的User Agent標記為Linux的在這之後也有顯著下滑。\n這個觀測可能不精準，因為只有一個禮拜而已，樣本數不夠精準。\n這樣我可以推論，最死忠的目標讀者（開源軟體死士）正好是表面上最不可能被統計到的黑數，他們這些tech-savvy太在乎隱私權了。所以我很難確切統計有多少讀者吧。\n另外GA是不是高估了使用者的流量啊，把AI Bot也算了進去？Umami顯示的在線人數都只有GA的1/4左右。\n畢竟殘酷的現實是，從後臺數據來看，每月網站造訪最多的頁面是EhViewer載點……但這些用下面思考的人並非是我的主要目標。\n","title":"想知道你的網站讀者水準有多高，看多少人用Firefox","type":"personal"},{"content":"","date":"2026-05-13","externalUrl":null,"permalink":"/en-us/categories/foss-issues/","section":"Categories","summary":"","title":"FOSS Issues","type":"categories"},{"content":"","date":"2026年5月13日","externalUrl":null,"permalink":"/ja-jp/foss-issues/","section":"Foss-Issues","summary":"","title":"Foss-Issues","type":"foss-issues"},{"content":"","date":"2026年5月13日","externalUrl":null,"permalink":"/ja-jp/categories/foss%E3%82%92%E3%82%81%E3%81%90%E3%82%8B%E5%95%8F%E9%A1%8C/","section":"Categories","summary":"","title":"FOSSをめぐる問題","type":"categories"},{"content":"","date":"2026年5月13日","externalUrl":null,"permalink":"/ja-jp/tags/free-software/","section":"Tags","summary":"","title":"Free Software","type":"tags"},{"content":"","date":"2026-05-13","externalUrl":null,"permalink":"/en-us/categories/linux/","section":"Categories","summary":"","title":"Linux","type":"categories"},{"content":"","date":"2026年5月13日","externalUrl":null,"permalink":"/ja-jp/categories/linux%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0/","section":"Categories","summary":"","title":"Linuxシステム","type":"categories"},{"content":" ある問題を考えたことがある。オープンソースのデジタルカメラシステムは存在するのだろうか？\nオープンソース撮影の画像処理ワークフローは存在するのか？オープンソース画像処理ソフトウェアにはGIMP、Krita、digiKam、darktableのようなものがある。しかしまずは上流の画像取得デバイスの問題を解決しなければならないだろう。\nスマホよりはるかに大きい絞りを持つ一眼カメラやビデオカメラ、たとえばNikonやSonyが出しているものでは、その上で動くOSはどれもクローズドソースなのだろう。\n底層ドライバーからソフトウェアまで開放されたデジタルカメラはあり得るのだろうか？単にRaspberry Piへカメラを付けたようなおもちゃではなく。\nオープンソースソフトウェアを欠くカメラは、私に購入をためらわせる（実際には買う金もない：P）。\n私がプロプライエタリソフトウェアを拒否するためにSwitchやPS5のような家庭用ゲーム機を買わないのと同じだ。彼らはBSDのオープンソース成果を奪った。Steamプラットフォームはぎりぎり受け入れられる。しかしPCでプロプライエタリなSteamゲームを遊ぶだけでも、私の内心は十分に苦しい。\nAndroidカメラの撮影技術でさえ、大部分はクローズドソースAPPのアルゴリズムに支配されているように見える。各スマホメーカーは自社純正カメラAPPを開発しており、私たちにそれらのクローズドソースAPPへ依存することを強いている。\nたとえOpen CameraやFreeDCam、Photon Cameraのような機能豊富なオープンソースAPPがあっても、それらは各スマホのレンズハードウェア機能を完全にはサポートできない。たとえば30倍AIズームや、背後で写真を美化するアルゴリズムなどだ。\n撮影後に後処理を行うアルゴリズムは、さらに各大メーカーの商業機密である。Sony、小米、Pixel、Samsungにはそれぞれ自社の味がある。Gcamを他のスマホへ移植できたとしても、その背後のアルゴリズムがどうなっているのかを理解することはできない。\nしたがって、OpenCameraで撮った写真の品質が純正カメラより一段低くなるとしても、それは純粋にイメージセンサーのハードウェア力を見る形になり、より多くの手動パラメータ介入が必要になる。あるいはRAW形式で保存し、その後digiKamで手動現像することになる。\nとはいえ、Androidはカメラハードウェア機能へのアクセスに関して、少なくとも純Linuxより成熟しているだろう。AOSP公式ドキュメントを見れば、少なくともCamera2APIでISOを調整でき、Pixelには第三者APPが夜景モードを使える公式公開APIもある。\n純GNU/Linux環境でIMXコンポーネントを駆動するとなるとさらに難しい。Linuxではlibcameraを使ってカメラを正常に動作させられるだけで天に感謝すべきであり、写真撮影という学問を研究している人はいない。\nPinePhone向けにMegapixelsカメラAPPを書いている兄貴も、かなり無理をしてpipelineを一つ作っただけだ。\n要するに、レンズハードウェアの素質が十分に強いAndroidスマホを買い、それをLineageOSへROM焼きして、Open Cameraを使う。私がSony Xperia 1 IIIに対してやったように。これが比較的受け入れられるオープンソース撮影方法である。底層ドライバーがクローズドソースなら、それはもうクローズドソースでいい。\n","date":"2026年5月13日","externalUrl":null,"permalink":"/ja-jp/posts/foss-digital-camera/","section":"Foss-Issues","summary":" ある問題を考えたことがある。オープンソースのデジタルカメラシステムは存在するのだろうか？\nオープンソース撮影の画像処理ワークフローは存在するのか？オープンソース画像処理ソフトウェアにはGIMP、Krita、digiKam、darktableのようなものがある。しかしまずは上流の画像取得デバイスの問題を解決しなければならないだろう。\nスマホよりはるかに大きい絞りを持つ一眼カメラやビデオカメラ、たとえばNikonやSonyが出しているものでは、その上で動くOSはどれもクローズドソースなのだろう。\n底層ドライバーからソフトウェアまで開放されたデジタルカメラはあり得るのだろうか？単にRaspberry Piへカメラを付けたようなおもちゃではなく。\nオープンソースソフトウェアを欠くカメラは、私に購入をためらわせる（実際には買う金もない：P）。\n私がプロプライエタリソフトウェアを拒否するためにSwitchやPS5のような家庭用ゲーム機を買わないのと同じだ。彼らはBSDのオープンソース成果を奪った。Steamプラットフォームはぎりぎり受け入れられる。しかしPCでプロプライエタリなSteamゲームを遊ぶだけでも、私の内心は十分に苦しい。\n","title":"オープンソースのデジタルカメラシステムはAndroidスマホ + Open Cameraしかなさそうだ","type":"foss-issues"},{"content":"關於自由與開源(Free and Open Source)技術的思考。此處討論的為偏理念方面的議題，較少技術性的內容。\n","date":"2026年5月13日","externalUrl":null,"permalink":"/categories/%E8%87%AA%E7%94%B1%E8%BB%9F%E9%AB%94%E8%AD%B0%E9%A1%8C/","section":"分類","summary":"關於自由與開源(Free and Open Source)技術的思考。此處討論的為偏理念方面的議題，較少技術性的內容。\n","title":"自由軟體議題","type":"categories"},{"content":"","date":"2026年5月12日","externalUrl":null,"permalink":"/tags/4chan/","section":"標籤","summary":"","title":"4chan","type":"tags"},{"content":"","date":"2026年5月12日","externalUrl":null,"permalink":"/tags/baidutieba/","section":"標籤","summary":"","title":"BaiduTieba","type":"tags"},{"content":"冲浪TV，與神系貼吧有關的Reddit sub。此群體又稱之為神友、浪人、鼠人。\n","date":"2026年5月12日","externalUrl":null,"permalink":"/tags/chonglangtv/","section":"標籤","summary":"冲浪TV，與神系貼吧有關的Reddit sub。此群體又稱之為神友、浪人、鼠人。\n","title":"ChongLangTV","type":"tags"},{"content":"","date":"2026年5月12日","externalUrl":null,"permalink":"/tags/komica/","section":"標籤","summary":"","title":"Komica","type":"tags"},{"content":"リア充死ね☆。\n近十年來我在匿名板論壇流連，看百度貼吧老哥與Komica島民分享的NEET故事，總讓人覺得「有趣」。喜歡看比自己過得慘的人來獲得存在價值。 如果本文講述的用語你都聽過，恭喜你的人生真的滿失敗的。啊如果你是北極鯰魚那種小留真趙就當我沒說。\nNEET，尼特，家裡蹲，也可稱為蹲子。不精確的說法叫做宅男。長期不工作不就學，沒現實朋友，沒怎麼跟家人互動，啃老，靠3C產品的虛擬世界過活的，沉溺於電子色情與遊戲。通常會被視為人生失敗組。\n並非要真的足不出戶才算NEET啦，做低薪的保安工作，躺平的，宅家考公的，自覺職業沒前途的，也可以被視為底層人物。\nNEET都在哪些網站流連呢？在日本，常見於5ch這些匿名板。英文圈主要就Reddit與4chan吧。中文圈，在百度貼吧、Komica綜合板、巴哈姆特場外休憩區、PTT八卦板都有這些人，比如說「霸主」王希銘，還有「獨人13」楊帆。 用「啃老」「尼特」下去搜尋就會有很多討論串。\n甚至還會有曾經專業啃老的人現身說法（？）\n【國動】啃老教學 額外加開男女關係小教室by蔡播\n以前在大陸還有很多線下實況，最著名的就是「三和大神」做一天玩三天的放蕩精神。「冲浪TV」也有鼠人分享自己的生活。在中國政府嚴打三和大神後，現在好像要到抖音和快手才能看到比較多這種底層社會的內容了，所謂下沉市場嘛，在土嗨搖的視頻背後也能窺見中國大陸最真實的斬殺線。\n為了方便閱讀這些社會底層的故事，我以前會去Komicolle這類歸檔網站找討論串，可惜這個網站太多戀童內容，很多文章被刪除了（由此可見匿名板網民都是犯罪預備軍）。那麼收錄網路奇人異事的故事就只能去「惡俗維基」或「偽基百科」看了wwwwww\nNEET，通常會在網路上發表暴論。現實中唯唯諾諾，網路上重拳出擊。有的幻想能力比較好，會沉溺在自己的宏大敘事中，成為「網哲」「民科」。他們會高談闊論許多深奧理論，講到遊戲、動漫、國際政治就侃侃而談。隨便一個雞毛蒜皮的小事，就能跟網友大戰好幾百回合，尤其是政治廚，可能還會惡俗出道他人。 沒那麼會寫小作文的NEET，通常po文，都是對著虛擬二次元女孩發情，或者意淫某位明星，並期望看到熱心網友分享的無碼資源，解出心眼，就能被拉入核中核的小圈圈。他們不會記得老媽子的生日，卻會對動漫女孩叫老婆並定時慶祝。 但NEET說到自己的日常生活的時候，往往只能拍幾張粗茶淡飯的圖片出來，或是送外賣的制服與電動車。夢想？早就麻了，啥麼大事不幹，天天盼望大的來。宅在家太久通常會得精神病。\n我，就是愛刻意去看底層人的生活實況，覺得自己沒有那麼慘。當我還在想晚餐要吃麥當勞中薯還是大薯的時候，有人連一個中餐都吃不起。每次我看到比我還可憐的人的時候，我除了憐憫外，也要做個警惕。因為看了這些人才知道眾生皆苦。\n《歡迎加入NHK！》動畫裡面說過，人們在網路上總是謾罵對方，讓自己覺得好過一點。因此看到暴躁老哥的時候，也要體諒一下人家沒媽的痛苦！\n比慘總是帶來安心感。因為，主流社群媒體上的wannabe太多了，自媒體總是炫耀自己過的多好，股票又賺了多少，工作如何成功，家庭如何美滿。國家和政府總是宣傳著要人們樂觀的訊息，經濟一切都會變好，你不成功還不是你不努力？\n但在這些匿名網站，大家默認彼此都是loser。炫耀自己股票賺多少的沒用處，還會被嘲諷。若是貼加密貨幣的單可能還好些，因為這是非主流金融產品。哎，資本。\n在這裡，人們會互相舔舐傷口，互揭傷疤，表現自己在現實中無處展現的交流慾望。某種程度比主流社群媒體的名利場要真誠多了。\n正如以下複製文：\n冲浪tv是我见过最理性，最自由的地方，在这里，色欲被正视，失败也只是一种人生状态，大家甚至尊重无良商贩，家徒四壁也不会成为交流障碍，每个人表现出如儿童般直白的索取欲。大家拒绝一切伪善，相信伟大终究平凡，正视成功学的无用，大家知道奋斗和努力是比回避更低级的社会性遵从，是弱势者存活的借口。而挣脱一切的第一步就是反其道而行之，停留在时间与空间的夹缝，大家的不思进取是看透，大家的不学无术是反抗，毫无光彩的人生是沉默的接受，下水道般的生活是为了更好的仰望星空。\n要惜福，雖然存款不算富有，最起碼我沒有負債，流落街頭。\n但是我終究得知道不能這樣一直沉淪。\n所以只能偶爾看，當作工作之餘的消遣。\n請記得，活過一天，你就已經很棒了。\n","date":"2026年5月12日","externalUrl":null,"permalink":"/posts/2026051201/","section":"Personals","summary":"リア充死ね☆。\n近十年來我在匿名板論壇流連，看百度貼吧老哥與Komica島民分享的NEET故事，總讓人覺得「有趣」。喜歡看比自己過得慘的人來獲得存在價值。 如果本文講述的用語你都聽過，恭喜你的人生真的滿失敗的。啊如果你是北極鯰魚那種小留真趙就當我沒說。\nNEET，尼特，家裡蹲，也可稱為蹲子。不精確的說法叫做宅男。長期不工作不就學，沒現實朋友，沒怎麼跟家人互動，啃老，靠3C產品的虛擬世界過活的，沉溺於電子色情與遊戲。通常會被視為人生失敗組。\n並非要真的足不出戶才算NEET啦，做低薪的保安工作，躺平的，宅家考公的，自覺職業沒前途的，也可以被視為底層人物。\nNEET都在哪些網站流連呢？在日本，常見於5ch這些匿名板。英文圈主要就Reddit與4chan吧。中文圈，在百度貼吧、Komica綜合板、巴哈姆特場外休憩區、PTT八卦板都有這些人，比如說「霸主」王希銘，還有「獨人13」楊帆。 用「啃老」「尼特」下去搜尋就會有很多討論串。\n甚至還會有曾經專業啃老的人現身說法（？）\n【國動】啃老教學 額外加開男女關係小教室by蔡播\n以前在大陸還有很多線下實況，最著名的就是「三和大神」做一天玩三天的放蕩精神。「冲浪TV」也有鼠人分享自己的生活。在中國政府嚴打三和大神後，現在好像要到抖音和快手才能看到比較多這種底層社會的內容了，所謂下沉市場嘛，在土嗨搖的視頻背後也能窺見中國大陸最真實的斬殺線。\n","title":"看貼吧老哥蹲子與K島尼特的經驗分享，讓人覺得心理比較舒適一點","type":"personal"},{"content":"","date":"2026年5月12日","externalUrl":null,"permalink":"/tags/adblock/","section":"標籤","summary":"","title":"Adblock","type":"tags"},{"content":"","date":"2026年5月12日","externalUrl":null,"permalink":"/tags/microg/","section":"標籤","summary":"","title":"MicroG","type":"tags"},{"content":" 這是去掉所有Youtube廣告的Android APP：Youtube Morphe。 它可以：去掉所有APP內廣告、背景播放影片、顯示倒讚(Return YouTube Dislike)、替換標題黨縮圖(DeArrow)、跳過業配片段(SponsorBlock)、隱藏Youtube Shorts、登入Google帳號同步播放紀錄、調用NewPipe下載影片。所有的功能都有中文翻譯。\n1. 由來 # 根據這篇Reddit文章，Youtube Morphe是從Youtube ReVanced分裂出來的專案。2026年，由於Youtube ReVanced專案領導人oSumAtrIX對待社群貢獻者的態度惡劣，口出惡言，還不在程式碼當中註明貢獻者的名字，甚至拒絕合併PR。引發主要貢獻者LisoUseInAIKyrios出走，另立Youtube Morphe。 在專案成立後，Youtube Morphe對Youtube ReVanced的Github儲存庫發起DMCA請求，指控ReVanced盜竊Morphe的程式碼且違反GPL授權，將ReVanced的儲存庫下架。\n順帶一提，在Youtube Morphe出來後，Youtube ReVanced Extended作者inotia00便停止更新了，改為向Morphe貢獻程式碼。\n這樣看來，原本的Youtube ReVanced因為缺乏貢獻者，未來應該會不能用了。建議關心去廣告Youtube APP的用戶轉用Morphe，替代Youtube ReVanced。\nYoutube Morphe繼承了原本Youtube ReVanced的運作機制，即透過開源社群貢獻的修補程式，破解Youtube APK去廣告。並且加入了許多改進功能。\n因為怕被Google告，開發者不提供現成的APK，你需要用Morphe Manager手動修補APK。\n2. 安裝Morphe Manager修補APK # 到Github下載最新版Morphe Manager，安裝\n選取修補Youtube 它會自動建議版本，依照畫面指示到ApkMirror下載對應版本的Youtube APK，但不要安裝。 然後選取剛剛下載的Youtube APK\n開始修補APK，安裝 3. 安裝MicroG # MicroG最初是德國人開發的程式，將Google Play服務重新開源實作了一遍。Youtube Morphe開發者有自己做一個專用的MicroG，不會跟Android系統的GMS服務衝突。需要安裝這個APP才能在Youtube Morphe登入Google帳號。\n至Github下載安裝。安裝後需要允許一直在背景執行的權限。\n開啟後便可以登入Youtube Morphe了。所有擋廣告的設定都含在右上角設定裡面。 回報bug # 請至Morphe Github回報。\n","date":"2026年5月12日","externalUrl":null,"permalink":"/posts/morphe-app-for-youtube/","section":"所有文章","summary":" 這是去掉所有Youtube廣告的Android APP：Youtube Morphe。 它可以：去掉所有APP內廣告、背景播放影片、顯示倒讚(Return YouTube Dislike)、替換標題黨縮圖(DeArrow)、跳過業配片段(SponsorBlock)、隱藏Youtube Shorts、登入Google帳號同步播放紀錄、調用NewPipe下載影片。所有的功能都有中文翻譯。\n1. 由來 # 根據這篇Reddit文章，Youtube Morphe是從Youtube ReVanced分裂出來的專案。2026年，由於Youtube ReVanced專案領導人oSumAtrIX對待社群貢獻者的態度惡劣，口出惡言，還不在程式碼當中註明貢獻者的名字，甚至拒絕合併PR。引發主要貢獻者LisoUseInAIKyrios出走，另立Youtube Morphe。 在專案成立後，Youtube Morphe對Youtube ReVanced的Github儲存庫發起DMCA請求，指控ReVanced盜竊Morphe的程式碼且違反GPL授權，將ReVanced的儲存庫下架。\n順帶一提，在Youtube Morphe出來後，Youtube ReVanced Extended作者inotia00便停止更新了，改為向Morphe貢獻程式碼。\n","title":"去廣告的Youtube「Youtube Morphe」APK安裝教學","type":"posts"},{"content":"分享Android/iOS手機的好用APP。盡量以自由開源軟體為主。\n","date":"2026年5月12日","externalUrl":null,"permalink":"/categories/%E6%89%8B%E6%A9%9Fapp%E5%88%86%E4%BA%AB/","section":"分類","summary":"分享Android/iOS手機的好用APP。盡量以自由開源軟體為主。\n","title":"手機APP分享","type":"categories"},{"content":"誰會在手機跑shell script呀？\n解釋如何在最新Android系統安裝BusyBox。\nBusyBox是一款行之有年的自由軟體，使用GPL授權釋出。根據官網資料，BusyBox透過單一的二進位執行檔，將常用的Unix-like系統工具打包進去，這個執行檔是靜態連結的，不依賴外部函式庫就能用。\n舉例來說，一個busybox的指令，才不到2MB而已，就包含了ash shell、vi文字編輯器、wget下載器、httpd伺服器、tar解壓縮、chroot容器、mv、cp、rm、diff、ping\u0026hellip;\u0026hellip;等實用命令行工具，可說是一個便利工具箱。 BusyBox是輕量可移植的，支援多種處理器架構，常用於嵌入式系統，當然也能用在Android囉。\nAndroid是基於Linux核心開發的系統，但幾乎沒有使用Linux發行版常用的GNU coreutils，缺少很多Linux的命令行工具。GNU coreutils動輒20MB以上，要移植這些工具到Android也顯得太龐雜了些。Android頂多只有使用Toybox，在Android 6.0之後加入。Toybox比BusyBox還要精簡，而且它的BSD授權條款更為寬鬆，方便商業公司利用而不會產生GPL授權汙染的問題。但是，Toybox功能依然不如BusyBox完整。\n透過安裝BusyBox，便可以做到GNU coreutils的七八成功能，又不會佔用太多空間。\n通常需要Root權限，才可以在Android安裝BusyBox。\n我們可以用Busybox在Android上建立含有Linux userspace的chroot環境。此外一些APP在操作系統檔案的時候也會用到BusyBox。\nAndroid 7.0以前的大Root時代，都會在Android安裝Busybox這個軟體，補足缺少的Linux工具，可是隨著Android框架成熟，現在很少APP會去用這些底層指令了，即使是有Root的也一樣吧。大概只有做Linux chroot或者備份檔案會用到了吧。\n1. Android安裝BusyBox的方案 # 方案1：使用Root管理器內建的 # 如果你的Root方案是Magisk或KernelSU或APatch，他們就有內建BusyBox了，無需額外安裝模組。因為SELinux限制與OTA更新考量，Busybox不會硬塞到系統目錄了，都是透過overlay掛載。\nMagisk的Busybox絕對路徑位於/data/adb/magisk/busybox\nKernelSU位於/data/adb/ksu/bin/busybox\nAPatch位於/data/adb/ap/bin/busybox\n方案2：手動刷入BusyBox模組 # 舊版Magisk或SuperSU用戶需要手動刷Busybox模組。\n雖然BusyBox官網有提供靜態連結的二進位檔可以直接在Android shell執行，你不應該修改Android的/system/bin/來安裝Busybox，而是採取systemless的方式安裝。\n有很多BusyBox的安裝器出現，目前能用的是BuiltIn-BusyBox與Busybox NDK。\n更舊的Android系統才會透過SuperSU強行把BusyBox二進位檔塞到系統目錄。\n2. 如何使用BusyBox指令 # 若要操作BusyBox指令，你需要終端機模擬器，例如Termux\n授予Root權限之後，切換到su\nsu 便可以在Android shell喚出BusyBox了 busybox --help 如果顯示inaccesible or not found找不到BusyBox，嘗試輸入/data/adb/下的絕對路徑： /data/adb/magisk/busybox --help 有些版本的Busybox是透過符號連結提供二進位檔的，它可能會在/system/bin/建立符號連結指向busybox，如果你要使用一個指令，可以直接呼叫，例如輸入vi就能執行busybox vi。不過，現在的Android含有Toybox，所以Busybox就不會建立符號連結了。 最安全的方法，是在指令加上busybox前綴，才能確認你呼叫的是BusyBox提供的工具而非Toybox的版本：\nbusybox vi 另外，你也可以在電腦的ADB使用BusyBox指令。 adb root adb shell busybox --help 3. 利用BusyBox建立Linux chroot環境 # BusyBox提供的工具畢竟還是太精簡了，如果需要更複雜的工具，就建立一個chroot環境，使用Linux發行版的userspace套件吧。\n參見：在Android建立chroot Ubuntu環境\n4. 附錄：免Root安裝BusyBox # Termux有收錄BusyBox套件：\npkg install busybox 不過Termux本身就夠多命令行工具了，不太需要用到BusyBox。\n","date":"2026年5月12日","externalUrl":null,"permalink":"/posts/install-busybox-on-android/","section":"所有文章","summary":"誰會在手機跑shell script呀？\n解釋如何在最新Android系統安裝BusyBox。\nBusyBox是一款行之有年的自由軟體，使用GPL授權釋出。根據官網資料，BusyBox透過單一的二進位執行檔，將常用的Unix-like系統工具打包進去，這個執行檔是靜態連結的，不依賴外部函式庫就能用。\n舉例來說，一個busybox的指令，才不到2MB而已，就包含了ash shell、vi文字編輯器、wget下載器、httpd伺服器、tar解壓縮、chroot容器、mv、cp、rm、diff、ping……等實用命令行工具，可說是一個便利工具箱。 BusyBox是輕量可移植的，支援多種處理器架構，常用於嵌入式系統，當然也能用在Android囉。\nAndroid是基於Linux核心開發的系統，但幾乎沒有使用Linux發行版常用的GNU coreutils，缺少很多Linux的命令行工具。GNU coreutils動輒20MB以上，要移植這些工具到Android也顯得太龐雜了些。Android頂多只有使用Toybox，在Android 6.0之後加入。Toybox比BusyBox還要精簡，而且它的BSD授權條款更為寬鬆，方便商業公司利用而不會產生GPL授權汙染的問題。但是，Toybox功能依然不如BusyBox完整。\n透過安裝BusyBox，便可以做到GNU coreutils的七八成功能，又不會佔用太多空間。\n","title":"Android手機如何安裝BusyBox工具箱 ～ 一鍵存取常用Linux命令行工具","type":"posts"},{"content":"","date":"2026年5月12日","externalUrl":null,"permalink":"/tags/busybox/","section":"標籤","summary":"","title":"BusyBox","type":"tags"},{"content":"關於Android的玩機資訊，包含Root與刷機教學。\n基本的Root與刷機知識請看這裡\n","date":"2026年5月12日","externalUrl":null,"permalink":"/categories/root%E8%88%87%E5%88%B7%E6%A9%9F/","section":"分類","summary":"關於Android的玩機資訊，包含Root與刷機教學。\n基本的Root與刷機知識請看這裡\n","title":"Root與刷機","type":"categories"},{"content":"","date":"2026年5月12日","externalUrl":null,"permalink":"/tags/reddit/","section":"標籤","summary":"","title":"Reddit","type":"tags"},{"content":"Terminal UI for Reddit (TUIR). A text-based interface to view and interact with Reddit from your terminal. —— 來自Gitlab簡介\nTUIR一款專門為瀏覽Reddit所設計的命令行TUI程式，讓您用終端機純文字界面看Reddit，還能點讚、發表留言。 用TUIR瀏覽Reddit中文sub r/real_China_irl\n適用場景：上班摸魚、平鋪視窗用戶、硬體效能差到連瀏覽器都跑不動的電腦。也適合想要追求不被圖片元素干擾閱讀體驗的用戶。你知道的，Reddit跟主流社群媒體越來越像，有大量短影音和meme圖會吸引你眼球。用TUIR的話，就只有專注在文字上了。\nTUIR好似把Reddit變得台灣像PTT那樣的古老網站，或者說更像Hacker News吧。但Reddit本就是文字為主的網站，因此終端機足以瀏覽80%的內容了。順帶一提PTT在Linux上也可以用SSH連線喔。\n雖然現在Reddit依然提供https://old.reddit.com的舊版精簡網頁界面，但誰知道這家貪婪的公司什麼時候會把它給廢了呢？用w3m也不見得能在命令行正常渲染日益複雜的Reddit網頁。因此需要一個專門的TUI程式。\n可是多媒體和網站連結怎麼辦呢？只要設定得當，TUIR就能直接用電腦安裝的程式開多媒體檔案！無需開啟網頁版。 1. 安裝TUIR # TUIR是ajak開發的軟體，本身用Python寫成，fork自Michael Lazar的RTV專案。目前還有在維護的版本是Chocimier的tuir-contiuned\n這個軟體可以用pip安裝，目前只支援Linux系統。\n在Linux最好用pipx安裝：pipx install tuir-contiuned\n2. 新增TUIR設定檔 # 安裝後請先複製設定檔。 tuir --copy-config tuir --copy-mailcap 編輯第一個設定檔~/.config/tuir/tuir.cfg，設定啟用mailcap（檔案格式關聯） enable_media = True 編輯~/.config/tuir/mailcap，按照喜好設定檔案格式關聯。圖片檢視器預設使用feh，影片為mpv TUIR另有三個環境變數可用，請自行寫在~/.bashrc\nTUIR_EDITOR：指定在Reddit發文的時候使用的編輯器，預設是nano TUIR_BROWSER：開啟網址使用的瀏覽器，預設使用桌面環境指定的瀏覽器。如果需要輕量瀏覽器的我推薦qutebrowser。 TUIR_URLVIEWER：抽取網址的工具，預設為urlview 3. 操作方式 # 輸入tuir，進入主界面。預設開啟的是Reddit首頁/front 使用上下鍵瀏覽，左右鍵前進後退。按空白鍵展開折疊處，按c留言，按a點讚，按斜線/切換subreddit 按a點讚，按z開噓。老實說這個符號不明顯，只會以小小的三角形表示。 按數字鍵1~5切換留言排序 按o開啟圖片或連結。注意：是直接鍵盤移動到欲開啟的連結再按o，滑鼠點的話會變成用瀏覽器開啟。 順帶一提TUIR也可以當簡單純文字瀏覽器，只要在打斜線/的時候加上domain/網址就可以了，例如看Hacker News就打/domain/news.ycombinator.com/ 4. 如何在TUIR登入自己的Reddit帳號 # 至Reddit帳號後台新增APP，類別選installed app，redirect uri填寫http://127.0.0.1:65000/ 會得到一個token，編輯~/.config/tuir/tuir.cfg，於oauth_client_id=後方填入token。\n開啟TUIR，按u登入帳號，在瀏覽器同意存取。 ","date":"2026年5月12日","externalUrl":null,"permalink":"/posts/tuir-browse-reddit-from-your-terminal/","section":"所有文章","summary":"Terminal UI for Reddit (TUIR). A text-based interface to view and interact with Reddit from your terminal. —— 來自Gitlab簡介\nTUIR一款專門為瀏覽Reddit所設計的命令行TUI程式，讓您用終端機純文字界面看Reddit，還能點讚、發表留言。 用TUIR瀏覽Reddit中文sub r/real_China_irl\n適用場景：上班摸魚、平鋪視窗用戶、硬體效能差到連瀏覽器都跑不動的電腦。也適合想要追求不被圖片元素干擾閱讀體驗的用戶。你知道的，Reddit跟主流社群媒體越來越像，有大量短影音和meme圖會吸引你眼球。用TUIR的話，就只有專注在文字上了。\nTUIR好似把Reddit變得台灣像PTT那樣的古老網站，或者說更像Hacker News吧。但Reddit本就是文字為主的網站，因此終端機足以瀏覽80%的內容了。順帶一提PTT在Linux上也可以用SSH連線喔。\n雖然現在Reddit依然提供https://old.reddit.com的舊版精簡網頁界面，但誰知道這家貪婪的公司什麼時候會把它給廢了呢？用w3m也不見得能在命令行正常渲染日益複雜的Reddit網頁。因此需要一個專門的TUI程式。\n可是多媒體和網站連結怎麼辦呢？只要設定得當，TUIR就能直接用電腦安裝的程式開多媒體檔案！無需開啟網頁版。 1. 安裝TUIR # TUIR是ajak開發的軟體，本身用Python寫成，fork自Michael Lazar的RTV專案。目前還有在維護的版本是Chocimier的tuir-contiuned\n這個軟體可以用pip安裝，目前只支援Linux系統。\n","title":"TUIR，用命令行看Reddit論壇，極致節省系統資源","type":"posts"},{"content":"討論如何在最新Android 16系統安裝Xposed框架。\n1. 什麼是Xposed Framework # Xposed Framework為一款開源的Hook程式框架，可以攔截Android APP底層的系統呼叫，修改hook函數，達到修改APP行為之目的，不需要去反編譯APK。 比如說，使用者可以用Xposed模組修改Android系統的外觀，或者破解特定APP令其無法顯示廣告。\n圖例：利用Xposed的「詞幕」模組，在原生Android狀態欄顯示Spotify的動態歌詞。 Xposed需要Root權限才能安裝。它提供的修改功能比單純的Magisk模組更為深入。Xposed透過統一的API來規範存取Android系統函數的方式，省得開發者要重新造輪子。\nXposed最初是由rovo89開發的軟體，於2017年發佈。Xposed從Android 7以來經歷多個fork，有了EdXposed、LSPosed等專案，出於各種原因相繼停止維護了。因為Xposed本質是破解Android系統的運作機制，通常依賴少數幾個厲害的開發者主導開發工作，只要領頭的出事了專案就會垮掉，然後就會有新的fork崛起。\n本文介紹的是目前最新的活躍分支：JingMatrix維護的「Vector Framework」。Vector Framework最初是2024年出現的，用於接替停止維護的LSPosed（原開發者遭到人身攻擊，遂將LSPosed轉向閉源發佈，從此消失在Github）。後來此專案改名為Vector Framework，保留了對舊版libxposed API的相容性。\n2. 系統需求 # 根據Github文件，Vector Framework最低需要Android 8以上裝置。\nRoot方案可以搭配Magisk、KernelSU、APatch使用。\n3. 安裝前置依賴模組Zygisk # Vector執行的時候依賴Zygisk。\nZygisk是在Android的Zygote行程中注入Magisk模組的一個工具。Android系統開機後，會先啟動一個最核心的行程叫作Zygote。它會預先載入Java runtime、framework、系統資源。然後其餘APP的行程都從Zygote fork出來。Xposed可以透過Zygisk在此階段載入，達到修改APP行為的目的，又不容易被反Root的APP偵測到。\nMagisk內建Zygisk，因此Magisk用戶只要在Magisk Manager設定裡面打開這個功能就行了。\n至於KernelSU和APatch的用戶需要刷獨立的Zygisk模組，例如Vector Framework開發者維護的NeoZygisk，同樣是開源軟體。\n或是ZygiskNext，注意這是閉源軟體。\n4. 安裝Vector Framework # 到Github Releases下載.zip。一般用戶下載Release版本就好，除非你要幫忙除錯才刷Debug版。不過Debug版輸出的日誌會令其更容易被反Root APP偵測到！\n然後開啟Root權限管理器，刷入。\n重開機。\nVector Framework為了躲避偵測，不會在APP列表顯示管理器，而是會顯示在Android系統通知列。點選新增一個捷徑到桌面。 5. Vector Framework模組啟用步驟 # 警告：Xposed模組的權限很高，可以修改系統的任何東西。請勿下載來路不明，沒有提供原始碼的Xposed模組！\n使用Vector管理器內建的倉庫下載，或者手動到Github下載模組的APK 安裝後到Vector管理器啟用模組，勾選要修改的對象APP 然後重新啟動就會套用了。\n6. 隱藏Root偵測 # 參見隱藏Root + 通過Play Integrity\n","date":"2026年5月12日","externalUrl":null,"permalink":"/posts/xposed-framework-android/","section":"所有文章","summary":"討論如何在最新Android 16系統安裝Xposed框架。\n1. 什麼是Xposed Framework # Xposed Framework為一款開源的Hook程式框架，可以攔截Android APP底層的系統呼叫，修改hook函數，達到修改APP行為之目的，不需要去反編譯APK。 比如說，使用者可以用Xposed模組修改Android系統的外觀，或者破解特定APP令其無法顯示廣告。\n圖例：利用Xposed的「詞幕」模組，在原生Android狀態欄顯示Spotify的動態歌詞。 Xposed需要Root權限才能安裝。它提供的修改功能比單純的Magisk模組更為深入。Xposed透過統一的API來規範存取Android系統函數的方式，省得開發者要重新造輪子。\nXposed最初是由rovo89開發的軟體，於2017年發佈。Xposed從Android 7以來經歷多個fork，有了EdXposed、LSPosed等專案，出於各種原因相繼停止維護了。因為Xposed本質是破解Android系統的運作機制，通常依賴少數幾個厲害的開發者主導開發工作，只要領頭的出事了專案就會垮掉，然後就會有新的fork崛起。\n本文介紹的是目前最新的活躍分支：JingMatrix維護的「Vector Framework」。Vector Framework最初是2024年出現的，用於接替停止維護的LSPosed（原開發者遭到人身攻擊，遂將LSPosed轉向閉源發佈，從此消失在Github）。後來此專案改名為Vector Framework，保留了對舊版libxposed API的相容性。\n","title":"Android 16安裝最新版Xposed框架教學 (Vector Framework)","type":"posts"},{"content":"","date":"2026年5月12日","externalUrl":null,"permalink":"/tags/magisk/","section":"標籤","summary":"","title":"Magisk","type":"tags"},{"content":"","date":"2026年5月12日","externalUrl":null,"permalink":"/tags/xposed/","section":"標籤","summary":"","title":"Xposed","type":"tags"},{"content":"","date":"2026年5月12日","externalUrl":null,"permalink":"/tags/google-analytics/","section":"標籤","summary":"","title":"Google Analytics","type":"tags"},{"content":"","date":"2026年5月12日","externalUrl":null,"permalink":"/tags/hugo/","section":"標籤","summary":"","title":"Hugo","type":"tags"},{"content":"Umami Analytics是一款開源、注重隱私、輕量、可自架的網站流量分析工具。以符合歐盟GDPR隱私權規範、不需要cookie的方式蒐集使用者資料。 Umami即為日文的鮮味之意，官網的口號為「簡單強大的網站分析工具」。\n本文首先說明切換的動機，再介紹Umami的特色。分享如何自架Umami，嵌入你的網站。\n1. 換成Umami的動機：取代Google Analytics # 我要替換的是Google Analytics (GA)，將其換成追蹤程度沒那麼誇張的Umami。\n需注意「Google Search Console」跟「Google Analytics」是不同的服務。簡單來說，Google Search Console只會統計你的網站在Google搜尋與熱門關鍵字的關係，讓你知道使用者搜尋什麼關鍵字會導向你的網站，還有記錄其他網站對你的反向連結。而Google Analytics則是會在你的網站上執行JavaScript指令碼，深入追蹤使用者點了哪些元素、停留時間多長，以便網站管理員研究網頁的成效。\n在正式離脫Google Analytics前，先回顧Google統計的資料長什麼樣子。\nGoogle Analytics是Google提供的免費網站統計服務，透過在網頁嵌入一個JavaScript指令碼，並在瀏覽器放置cookie，藉此分析流量，追蹤網站訪客行為。\nGoogle Analytics界面好比作戰指揮室，有超詳細報表，顯示目前有哪些用戶在看你的網站。 例如統計訪客的閱讀時間，分析哪些文章受歡迎，還有預估收益。 還有這個，Google會統計訪客點擊、造訪的事件次數，可用此評估訪客對文章的參與程度。甚至你可以隨機挑某一個使用者，研究他在看文章的時長，做了哪些點擊動作的深入追蹤報告。 這下知道為何Google要推出Google Analytics證照考試了吧，其功能之複雜，追蹤程度非常細膩，連我自己都恐懼的程度；Google Analytics的競爭者Matomo也指出過Google Analytics以第三方cookie追蹤使用者，用以投放廣告的問題。\nGoogle的追蹤功能實在太可怕了，加上我想要盡可能擺脫生活中對Google依賴，在使用幾年後，為此我決定將Google Analytics移除，換成開源的「Umami」服務，資料自己掌握。\n然而，The tracker is the trakcer。我不否認這點，不論哪種追蹤器都會研究訪客的行為，差別在於對於隱私的保護程度高低。如果你不喜歡任何形式的追蹤，請還開啟Firefox的嚴格模式 ＋ 安裝uBlock Origin擋掉所有追蹤器。\n2. Umami特色功能 # 根據Umami官網宣稱，Umami是100%符合歐盟GDPR規範的服務，不使用cookie，也不可能跨站追蹤，減少侵犯使用者隱私。因為沒有cookie，你網站的Cookie Consent Banner也免了！\n如下圖面板全覽，Umami蒐集的資料遠遠沒有Google Analytics那樣周全，不過常見的指標都有，並且簡單易懂。 相較於Google Analytics的作戰指揮部界面，Umami就是用相對簡單的圖表呈現網頁上訪客的行為，可以看到目前網站上有多少人在瀏覽網站。 Umami只統計網頁流量、訪客的裝置、國家，以及訪客怎麼到我網站的，沒有使用cookie跨站追蹤。 點選單一網址可單看該網址的流量情況。 我很高興還有人在用Linux與Firefox看我的網站。 「實時」面板尚有即時統計網站訪客活動的功能，匿名記錄訪客行為。基本上只靠這些資訊我很難知道你是誰啦，除非IP地理位置來自北韓。 Umamai亦支援產生公開分享連結，讓其他人觀看你站點的統計資料。 還有，Umami是個很輕量的服務，JavaScript追蹤指令碼不過幾十KB大小而已，幾乎不會影響網頁載入時間。Umami對伺服器硬體的要求也沒有很高。\n3. 架設Umami服務的方式 # Umami是採用MIT授權釋出的自由軟體。你可以選擇用官方的服務，或者是自架一個。\n使用Umami Cloud # Umami Cloud是Umami開發者推出的雲端服務，免費版帳戶可以新增3個追蹤網站，統計最多十萬個事件，資料會保留6個月，適合小型網站使用。要長期使用就得付費。\n請至Umami Cloud註冊帳號。然後從裡面取得追蹤指令碼就可以嵌入網頁了。\n自架Umami # 因為Umami只是分析網站流量的小服務，容量很小，你可以找個便宜的VPS架。只要1核心CPU、1GB RAM就夠用了。\n4. 以Docker部署Umami # 參考Github說明文件，Umami官方有提供docker-compose範本，包含Umami本體與資料庫服務。從Github取得範本： git clone https://github.com/umami-software/umami.git cd umami 2 編輯.env環境變數，輸入你的網域。這裡我是使用一個子網域存取。\necho \u0026#34;DATABASE_URL=umami.exmaple.com\u0026#34; \u0026gt;\u0026gt; .env 部署Docker容器 sudo docker compose up -d 用瀏覽器開啟https://網域:3000進入Umami首頁。預設帳號是admin，密碼是umami。 登入後點選右上角大頭貼，至Accounts更改admin密碼。 在Profile頁面切換語言為繁體中文。 5. Nginx反向代理範例 # 這裡我是使用一個子網域umami.exmaple.com存取Umami後臺。\nNginx設定檔範本如下：\nserver { server_name 子網域; location / { proxy_pass http://127.0.0.1:3000; # Docker通訊埠 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } 6. 在你的網站嵌入Umami追蹤指令碼 # Umami追蹤指令碼就是一個JavaScript檔案，要讓它在所有網頁載入才能統計資料。這裡以靜態網站框架Hugo嵌入Umami追蹤指令碼為例。\n登入Umami後臺，點選新增網站，輸入你要追蹤的網站域名 之後點選複製追蹤指令碼，就是一段JavaScript。 視你使用的主題而定，有些主題支援Umami，只要在config.toml填入網址就可以了。如果沒有，手動編輯Hugo網站主目錄下的themes/主題/layouts/partials/head.html檔案。在\u0026lt;head\u0026gt;下面加入Umami的指令碼：\n\u0026lt;head\u0026gt; \u0026lt;script async defer data-website-id=\u0026#34;0000000000\u0026#34; src=\u0026#34;umami.example.com/script.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;/head\u0026gt; 接著部署你的Hugo網頁。接著便是從Hugo移除Google Analytics了。視安裝的主題而定，大部份只要在Hugo網站主目錄的config.toml取消Google Analytics的設定即可。\n網站甫經更新，Umami就會開始統計網站訪客行為。\n7. 偽裝Umami的JavaScript指令碼名稱 # Umami的JavaScript指令碼預設名稱為script.js，會被一些強調隱私的防追蹤工具擋掉，如Firefox和uBlock Origin，畢竟追蹤器不論善意惡意都是會追蹤使用者行為嘛。需要改JavaScript指令碼名稱規避。\n在docker-compose設定環境變數TRACKER_SCRIPT_NAME。舉例來說，把script.js改為「阿卡夏記錄」：\nservices: umami: image: ghcr.io/umami-software/umami:latest ports: - \u0026#34;3000:3000\u0026#34; environment: DATABASE_URL: postgresql://umami:umami@db:5432/umami APP_SECRET: replace-me-with-a-random-string TRACKER_SCRIPT_NAME: \u0026#34;akashic.js\u0026#34; 這樣嵌入網頁的script.js也要改掉。\n總結 # 我會試著將Umami作為長期追蹤網站成效的工具。\n嚴格來說，我並沒有完全脫離Google服務，Google Search Console的我並沒有將其移除，因為那個不會像Google Analytics主動追蹤訪客在我站上的行為。\n","date":"2026年5月12日","externalUrl":null,"permalink":"/posts/self-hosted-umami-analytics/","section":"所有文章","summary":"Umami Analytics是一款開源、注重隱私、輕量、可自架的網站流量分析工具。以符合歐盟GDPR隱私權規範、不需要cookie的方式蒐集使用者資料。 Umami即為日文的鮮味之意，官網的口號為「簡單強大的網站分析工具」。\n本文首先說明切換的動機，再介紹Umami的特色。分享如何自架Umami，嵌入你的網站。\n1. 換成Umami的動機：取代Google Analytics # 我要替換的是Google Analytics (GA)，將其換成追蹤程度沒那麼誇張的Umami。\n需注意「Google Search Console」跟「Google Analytics」是不同的服務。簡單來說，Google Search Console只會統計你的網站在Google搜尋與熱門關鍵字的關係，讓你知道使用者搜尋什麼關鍵字會導向你的網站，還有記錄其他網站對你的反向連結。而Google Analytics則是會在你的網站上執行JavaScript指令碼，深入追蹤使用者點了哪些元素、停留時間多長，以便網站管理員研究網頁的成效。\n在正式離脫Google Analytics前，先回顧Google統計的資料長什麼樣子。\nGoogle Analytics是Google提供的免費網站統計服務，透過在網頁嵌入一個JavaScript指令碼，並在瀏覽器放置cookie，藉此分析流量，追蹤網站訪客行為。\n","title":"使用Docker架設Umami，開源重隱私的網站流量分析工具，替代Google Analytics","type":"posts"},{"content":"","date":"2026年5月11日","externalUrl":null,"permalink":"/tags/chromecast/","section":"標籤","summary":"","title":"Chromecast","type":"tags"},{"content":"有開源的Chromecast替代品嗎？為什麼一定都要登入帳號才能投屏呢？使用FCast這個免費APP將手機投影到電腦。 FCast是美國開源倡議組織FUTO開發的開源投影協定，只要在Android電視盒或電腦跑FCast，就能將手機的影片投影到大螢幕播放。不需要登入任何帳號，只要有Wifi就可以了。\n從手機的Grayjay觀看Youtube影片，去掉廣告，投影到電腦上的FCast播放。 不同於Chromecast和Miracast，FCast這個協定是完全開源的(MIT授權)，允許自由利用，不需要認證。目前支援Linux、Windows、macOS、Android系統。並且不需要作業系統特地內建，全部透過APP實現。\n不過目前支援FCast這個協定的APP很少，電腦對電腦投影是有官方實作，但手機對電腦的話，目前主力產品是同樣由FUTO開發的Grayjay才能投影。另外還有一個CastLab的APP可以投影手機螢幕。\n1. 安裝FCast接收端 # 到官網下載FCast Receiver\nFCast官方的實作是用Electron包裝的程式，目前支援Linux、Windows、macOS、Android系統。\n安裝後可能要開放防火牆通訊埠，例如Linux的UFW：\nsudo ufw allow 46899 sudo ufw reload 2. 電腦對電腦投影 # 開啟FCast Receiver。 安裝FCast Sender\n找到同一個Wifi下的其他電腦，開啟FCast Receiver，就可以分享你的畫面。 3. 手機對電腦投影 # 在要投影的裝置開啟FCast Receiver。\n然後，FCast需要使用專門客戶端APP，才能投影到同一個Wifi下的其他電腦。\n例如，Grayjay是FUTO開發的，無廣告的Youtube + Twitch客戶端。它也可以播放本機影片。不過Grayjay並非自由軟體，而是看源軟體。 還有CastLab，這可以投影手機螢幕，不過bug有點多。 ","date":"2026年5月11日","externalUrl":null,"permalink":"/posts/fcast-streaming-app/","section":"所有文章","summary":"有開源的Chromecast替代品嗎？為什麼一定都要登入帳號才能投屏呢？使用FCast這個免費APP將手機投影到電腦。 FCast是美國開源倡議組織FUTO開發的開源投影協定，只要在Android電視盒或電腦跑FCast，就能將手機的影片投影到大螢幕播放。不需要登入任何帳號，只要有Wifi就可以了。\n從手機的Grayjay觀看Youtube影片，去掉廣告，投影到電腦上的FCast播放。 不同於Chromecast和Miracast，FCast這個協定是完全開源的(MIT授權)，允許自由利用，不需要認證。目前支援Linux、Windows、macOS、Android系統。並且不需要作業系統特地內建，全部透過APP實現。\n不過目前支援FCast這個協定的APP很少，電腦對電腦投影是有官方實作，但手機對電腦的話，目前主力產品是同樣由FUTO開發的Grayjay才能投影。另外還有一個CastLab的APP可以投影手機螢幕。\n1. 安裝FCast接收端 # 到官網下載FCast Receiver\nFCast官方的實作是用Electron包裝的程式，目前支援Linux、Windows、macOS、Android系統。\n","title":"FCast + Grayjay：開源Chromecast替代品","type":"posts"},{"content":"Hacker News上常常有討論網頁設計太肥大的問題。\n例如，這是你的今日典型網頁瀏覽體驗：How I Experience the Web Today 作為對比：Motherfucking Website 你會刻意停用網頁的JavaScript嗎？歐美開發者好像有種設計風潮，他們在設計網頁的時候是以NoScript為前提設計的，例如Invidious (無廣告Youtube第三方前端) 和 Nitter (X的第三方前端)等等。\n我想是為了最大程度阻絕廣告與追蹤器載入吧。\n沒有JavaScript，網頁就只是網頁，沒有追蹤與傷害使用者的能力。\n對極簡主義者(suckless)來說，網頁設計應該是要不依賴JavaScript就能運作的。所有功能應該用plain HTML與CSS來implement，JavaScript最多只是執行個小工具，不應該使用前端框架，更不該加密與過度混淆。\n雖然這會讓網頁看起來很簡陋。但這讓網頁是可被信任的被稽核的。\n參考FSF的設計風格，他們難以讓網頁全寬顯示。 在Neocities社區上很多網站也是這樣。看看Neocities這種老式的Web 2.0網頁設計，不禁就會讓人覺得現在的網頁太膨脹了。不應該是這樣的\u0026hellip;\u0026hellip;業界每過幾年就換一個前端框架卻忽略了要表達的內涵。各種現成同質性的的模板主題也抹殺了學HTML自製網頁的樂趣。 Slackware用戶自己手刻的網頁，也有不能全寬的問題。 一個刻意模仿陳舊設計風格的友人blog。 網頁設計不應該只考慮在Firefox與Chrome的渲染效果，還要在純文字的終端機w3m也能閱讀。甚至讀者想要的話應該要能閱讀HTML。例如Richard Stallman他老人家不用瀏覽器，而是用curl下載網頁閱讀。就能看到本文而不是一堆裝飾符。\nJavaScript的話要符合LibreJS的標準，宣告自身是開源的可信賴的才載入。\n在臺灣，要用古法打造個人風格的網站，可能就Plurk、Pixnet、UDN Blog、Blogger這些遠古遺物了吧。\n要打造網頁的時候，在選擇網頁框架上，我一定是挑清楚好維護的方案吧。目前挑選Hugo的理由，就在於它用單一執行檔就能跑起來，不用複雜的node modules，而且社區龐大。網頁編譯速度快，所有文章都用Markdown保存。清楚可控呀。\n說是這麼說，但我沒辦法從頭手搓一個好看網頁。以前做過的實驗將suckless.org極簡純HTML網頁設計哲學付諸實現覺得還是太冒險了。\n因此目前還是用Hugo搭配別人寫好的Tailwind CSS的Blowfish主題生成靜態網站。幸好我的網站目前還算精簡，即使禁用JavaScript大部分元素都還是能跑出來，就留言板不可用而已。\n我必須在實用與最小化設計中做出取捨。\n","date":"2026年5月9日","externalUrl":null,"permalink":"/posts/in-search-of-the-simple-web-design/","section":"Personals","summary":"Hacker News上常常有討論網頁設計太肥大的問題。\n例如，這是你的今日典型網頁瀏覽體驗：How I Experience the Web Today 作為對比：Motherfucking Website 你會刻意停用網頁的JavaScript嗎？歐美開發者好像有種設計風潮，他們在設計網頁的時候是以NoScript為前提設計的，例如Invidious (無廣告Youtube第三方前端) 和 Nitter (X的第三方前端)等等。\n我想是為了最大程度阻絕廣告與追蹤器載入吧。\n沒有JavaScript，網頁就只是網頁，沒有追蹤與傷害使用者的能力。\n對極簡主義者(suckless)來說，網頁設計應該是要不依賴JavaScript就能運作的。所有功能應該用plain HTML與CSS來implement，JavaScript最多只是執行個小工具，不應該使用前端框架，更不該加密與過度混淆。\n雖然這會讓網頁看起來很簡陋。但這讓網頁是可被信任的被稽核的。\n參考FSF的設計風格，他們難以讓網頁全寬顯示。 在Neocities社區上很多網站也是這樣。看看Neocities這種老式的Web 2.0網頁設計，不禁就會讓人覺得現在的網頁太膨脹了。不應該是這樣的……業界每過幾年就換一個前端框架卻忽略了要表達的內涵。各種現成同質性的的模板主題也抹殺了學HTML自製網頁的樂趣。 Slackware用戶自己手刻的網頁，也有不能全寬的問題。 一個刻意模仿陳舊設計風格的友人blog。 ","title":"當今網頁設計框架太肥大了，架站難道不能只用HTML + CSS就搞定？","type":"personal"},{"content":"","date":"2026年5月9日","externalUrl":null,"permalink":"/categories/3c%E9%96%8B%E7%AE%B1%E8%A9%95%E6%B8%AC/","section":"分類","summary":"","title":"3C開箱評測","type":"categories"},{"content":"","date":"2026年5月9日","externalUrl":null,"permalink":"/tags/iphone/","section":"標籤","summary":"","title":"IPhone","type":"tags"},{"content":"","date":"2026年5月9日","externalUrl":null,"permalink":"/unboxing/","section":"Unboxings","summary":"","title":"Unboxings","type":"unboxing"},{"content":"Android機硬是要搭iPhone MagSafe的配件？你的小丑掉了，鼻子。\n這東西實用嗎？我們真的需要這種藍牙喇叭嗎？ 我還真的沒用過MagSafe，畢竟我Xperia 10 V的SOT續航力有8小時，已經好幾年沒用過行動電源了。因為Xperia XZ2 Compact手機喇叭破音所以想買小型外接喇叭，大陸拍賣網站好像真的有賣Type-C的手機小喇叭。然後就看到了可以黏在手機背後的小藍牙喇叭。\n瘋先生的業配文：Momax 1-Vibe Go評價開箱：MagSafe磁吸無線藍牙喇叭，戶外運動旅行必備，需要MagSafe。\n哼，Momax 1-Vibe Go這顆廣告打很大喔，Threads上面一堆一模一樣的文案。 但我們真的需要這種磁吸藍牙喇叭兼支架嗎？我家裡已經有Edifier R19BT這種全能的桌上藍牙喇叭了，論攜帶性還有長得像水壺的INTOPIC SP-HM-BT255\u0026hellip;\u0026hellip;誰會想拖著一顆累贅走啊。\n看小丰子的這篇：為何Android手機很少支援磁吸功能? 台灣支援磁吸與無線充電手機清單 沒需求硬要創造需求，指的就是MagSafe吧，由iPhone推動養活了一票配件生態系，什麼充電，自拍棒，小型藍牙音箱都能貼上去。把無線充電加上磁吸就變的很潮了。反觀Android陣營雖有無線充電協定可是卻沒什麼意願加入磁吸功能，因為要把電池加大！現在Android手機隨便都5、6000mAh了。這比用MagSafe騙人花錢買更多配件要實在多了吧！\n我現在才知道MagSafe基本上是iPhone專用的，Android要去相容MagSafe的話要買專門手機殼，或者用「引磁片」這種life hack。\n好的，我是boomer，至今甚至沒用過無線充電，我買的Type-C傳輸線都能用很久呀？\n嗯嗯，最後我還是買一個磁吸藍牙喇叭兼支架了。\nMomax 1-Vibe Go看起來像是布丁造型的很可愛。很可惜香港公司賣的還是太貴了。\n中國設計的產品只要一半：「小米有品SKYWORTH創維磁吸便攜藍牙音箱A80」。看起來規格差不多喔。等一下\u0026hellip;看規格表\u0026hellip;這顆的重量是兩倍重，一個小喇叭就有180g！？比手機還重了！原來貓膩出在這裡。 競品很多呢。就Momax的那款行銷下重本。\n看來我不需要防水功能，所以買這個有掛繩的就好：INFINITY 360度磁吸無線藍牙喇叭 S20BS，重量跟Momax的差不多。 Infinity是Harman旗下的品牌。\nS20BS這個喇叭外觀比較醜，布做的表皮，感覺像從麥克風上面鋸下來的。我買紅色的更像是小丑鼻子。這種喇叭都是針對MagSafe優先設計的，是標準的60mmx60mm大小。 盒子裡面針對沒有MagSafe的Android手機提供了引磁片，其實就是用雙面膠固定的一個圓形鐵片。\n問題是我的5吋Xperia XZ2 Compact太小臺了！加上機背有弧度，磁吸片根本黏不牢。還會破壞手感。我是那種覺得手機後面吸一個扣環都覺得重的人。因為手機太小，把喇叭當支架會很詭異。 幸好我買的這個有附上掛繩。圈在手上就不用黏在背後了！ 笨笨設計：別人的Type-C充電孔都在側邊，這個卻在底部！！！搭配沒什麼屁用的環狀RGB七彩燈效，難道是要我把它當作小夜燈？ 要有手機殼比較好黏，例如我貼在6.5吋的Xperia 1 III就比較合適。 這個S20BS藍牙喇叭號稱重低音\u0026hellip;可是聽起來也就還好，會破音？包裝盒寫Hi-Res不知道是什麼意思，明明就只支援SBC協定，外放聲音也普普，沒有特別強的重低音。\n因為物理條件限制，不能期望這種小型藍牙喇叭會多好聲音，大概就比手機喇叭加上Dolby Atmos音效大一些而已，不要破音就謝天謝地囉。\n吸在手機後面的藍牙喇叭根本就不實用，但勝在無線隨時可連接，沒事幹的時候就把它吸在電腦主機或冰箱上。 總之，又多了一顆玩具。\n","date":"2026年5月9日","externalUrl":null,"permalink":"/posts/infinity-s20bs-bluetooth-speaker-review/","section":"Unboxings","summary":"Android機硬是要搭iPhone MagSafe的配件？你的小丑掉了，鼻子。\n這東西實用嗎？我們真的需要這種藍牙喇叭嗎？ 我還真的沒用過MagSafe，畢竟我Xperia 10 V的SOT續航力有8小時，已經好幾年沒用過行動電源了。因為Xperia XZ2 Compact手機喇叭破音所以想買小型外接喇叭，大陸拍賣網站好像真的有賣Type-C的手機小喇叭。然後就看到了可以黏在手機背後的小藍牙喇叭。\n瘋先生的業配文：Momax 1-Vibe Go評價開箱：MagSafe磁吸無線藍牙喇叭，戶外運動旅行必備，需要MagSafe。\n哼，Momax 1-Vibe Go這顆廣告打很大喔，Threads上面一堆一模一樣的文案。 但我們真的需要這種磁吸藍牙喇叭兼支架嗎？我家裡已經有Edifier R19BT這種全能的桌上藍牙喇叭了，論攜帶性還有長得像水壺的INTOPIC SP-HM-BT255……誰會想拖著一顆累贅走啊。\n看小丰子的這篇：為何Android手機很少支援磁吸功能? 台灣支援磁吸與無線充電手機清單 沒需求硬要創造需求，指的就是MagSafe吧，由iPhone推動養活了一票配件生態系，什麼充電，自拍棒，小型藍牙音箱都能貼上去。把無線充電加上磁吸就變的很潮了。反觀Android陣營雖有無線充電協定可是卻沒什麼意願加入磁吸功能，因為要把電池加大！現在Android手機隨便都5、6000mAh了。這比用MagSafe騙人花錢買更多配件要實在多了吧！\n","title":"雞肋ㄉ磁吸藍牙喇叭兼支架：S20BS by Infinity","type":"unboxing"},{"content":"","date":"2026年5月9日","externalUrl":null,"permalink":"/tags/sony-xperia/","section":"標籤","summary":"","title":"Sony Xperia","type":"tags"},{"content":"發現自己追求的理想到最後是虛無。\n這是一種自2023年Xperia 5 II綠線發作以來，魂牽夢縈的感覺。我可以拿一件事來講目前的混亂焦慮狀況。我從2025年7月就想換手機，替換掉Xperia 10 V。它功能正常，輕又長續航(SOT 8小時)，但就是拍照不太好。我買了二手的Sony Xperia 1 III，可是太大臺又耗電，雖然拍照很好看（我用他拍了很多漂亮貓咪照）但還是覺得不行。\n然後我覺得需要小手機，我覺得很有必要，試了比較小臺的二手的Google Pixel 6a，雖然體驗到了GraphneOS和pkvm的獨家功能無法適應挖孔螢幕。又買了二手的Sony XZ2 Compact，它5吋很好握，可是問題跟Xperia 1 III類似。反而是太小了。\n那麼最終我還是回到了Xperia 10 V，浪費了一年探索和花了快兩萬塊，回到這個被視為「日常」的生活。\n這根本可以拿去買末代Xperia 5 V的庫存機了吧，沒有綠線災情，雖然只有兩個鏡頭。不該省這個錢的。\n瘋狂買手機的背後，我要的到底是什麼\u0026hellip;\u0026hellip;？\n最重要的還是續航\u0026hellip;吧，GSMArena的續航測試我要求170h或15h以上才不會有電量焦慮。在感謝文中，我Xperia 10 V用了3年了居然還沒壞，比起我那因為綠線發作而報廢的Xperia 5 II還能撐。以前那支真的是各方面都最完美的手機。\n這就是剛剛講到的三支手機，Xperia 1 III、Xperia 10 V、Xperia XZ2 Compact。 把三種「你想要的人生版本」擺在一起了：\n左：完整體驗 / 理想性能\n中：穩定日常 / 永續使用\n右：純粹理念 / 極簡自我\n但這終究不可能全實現。Xperia 5 II的完美特性，回不來了。\n我現在確實是將Xperia 1 III當作輔助用的高級拍照機器。\n關於之前講到的Xperia 5 II，我還保有它的「屍體」，原因在於他兩年前螢幕綠線出現之後我自行維修，結果因為技術太爛，換面板就開不了機了。準確來說是沒螢幕\u0026hellip;但有反應。可是沒root又難以用scrcpy輸出。所以目前就放著，不想再浪費錢救活她了。我總不能為了還原Xperia 5 II的使用體驗，再去拍賣網站特地重買一隻換好LCD螢幕的Xperia 5 II吧。\n現在我三不五時就會想到它，想拿出來復活他，即使沒有螢幕也可以用ADB呀，但是無用功，這已經變成一種執念了。\n我覺得應該像《Another》裡面一樣說的，「讓死者回歸死亡」呢\u0026hellip; 還是要像派大星一樣挑一個酷酷的標本罐，保存起來呢。 我看直接把這支丟掉吧。\nSony Xperia 5II：忘了我吧\u0026hellip;\u0026hellip;。\n包美聖 - 小茉莉 ","date":"2026年5月9日","externalUrl":null,"permalink":"/posts/let-sony-xperia-5-ii-go/","section":"Unboxings","summary":"發現自己追求的理想到最後是虛無。\n這是一種自2023年Xperia 5 II綠線發作以來，魂牽夢縈的感覺。我可以拿一件事來講目前的混亂焦慮狀況。我從2025年7月就想換手機，替換掉Xperia 10 V。它功能正常，輕又長續航(SOT 8小時)，但就是拍照不太好。我買了二手的Sony Xperia 1 III，可是太大臺又耗電，雖然拍照很好看（我用他拍了很多漂亮貓咪照）但還是覺得不行。\n然後我覺得需要小手機，我覺得很有必要，試了比較小臺的二手的Google Pixel 6a，雖然體驗到了GraphneOS和pkvm的獨家功能無法適應挖孔螢幕。又買了二手的Sony XZ2 Compact，它5吋很好握，可是問題跟Xperia 1 III類似。反而是太小了。\n那麼最終我還是回到了Xperia 10 V，浪費了一年探索和花了快兩萬塊，回到這個被視為「日常」的生活。\n這根本可以拿去買末代Xperia 5 V的庫存機了吧，沒有綠線災情，雖然只有兩個鏡頭。不該省這個錢的。\n瘋狂買手機的背後，我要的到底是什麼……？\n最重要的還是續航…吧，GSMArena的續航測試我要求170h或15h以上才不會有電量焦慮。在感謝文中，我Xperia 10 V用了3年了居然還沒壞，比起我那因為綠線發作而報廢的Xperia 5 II還能撐。以前那支真的是各方面都最完美的手機。\n這就是剛剛講到的三支手機，Xperia 1 III、Xperia 10 V、Xperia XZ2 Compact。 ","title":"讓死者回歸死亡，切斷Xperia 5 II的執念之終結","type":"unboxing"},{"content":"她只大我沒幾歲，沒想到MtF的她居然突然自殺了，在FB看到，有一種不真實的感覺，雖然跟她講過話已經是十年前的他，跟他討論過MCPE JS Scripts的製作方式，還有我家庭父母不和想離婚會怎麼做的問題。他給了我一些熱心回覆。\n某天還寄了一個消波塊的模型給我，真是惡趣味。\n消波塊\u0026hellip;\u0026hellip;找不到了。\n我曾經在她的某個部落格看過青春期的變性日記，通常變性學女音之外，還會改名字吧，我不會用dead name稱呼她。看起來她除了求職網站之外很少公開自己的想法。FB偶爾會放出遊照片。\n在她過世的那一天，我都還以為她在好好的活著，因為前幾個月都還有給我貼文按讚呀。沒想到她是在痛苦之中。\n我不確定她是怎麼掛掉的，訃文沒有寫原因，可能是HRT激素併發症？自殺？但願她走的時候是帶著笑容的。\n玥餅，Chiu Zi Ting， (1999 ~ 2026) ，RIP。\n","date":"2026年5月9日","externalUrl":null,"permalink":"/posts/in-memory-of-chiu-zi-ting/","section":"Personals","summary":"她只大我沒幾歲，沒想到MtF的她居然突然自殺了，在FB看到，有一種不真實的感覺，雖然跟她講過話已經是十年前的他，跟他討論過MCPE JS Scripts的製作方式，還有我家庭父母不和想離婚會怎麼做的問題。他給了我一些熱心回覆。\n某天還寄了一個消波塊的模型給我，真是惡趣味。\n消波塊……找不到了。\n我曾經在她的某個部落格看過青春期的變性日記，通常變性學女音之外，還會改名字吧，我不會用dead name稱呼她。看起來她除了求職網站之外很少公開自己的想法。FB偶爾會放出遊照片。\n在她過世的那一天，我都還以為她在好好的活著，因為前幾個月都還有給我貼文按讚呀。沒想到她是在痛苦之中。\n我不確定她是怎麼掛掉的，訃文沒有寫原因，可能是HRT激素併發症？自殺？但願她走的時候是帶著笑容的。\n玥餅，Chiu Zi Ting， (1999 ~ 2026) ，RIP。\n","title":"MtF小夥伴的她，死了","type":"personal"},{"content":"","date":"2026年5月9日","externalUrl":null,"permalink":"/tags/calibre/","section":"標籤","summary":"","title":"Calibre","type":"tags"},{"content":"","date":"2026年5月9日","externalUrl":null,"permalink":"/tags/doujinshi/","section":"標籤","summary":"","title":"Doujinshi","type":"tags"},{"content":"","date":"2026年5月9日","externalUrl":null,"permalink":"/tags/e-hentai/","section":"標籤","summary":"","title":"E-Hentai","type":"tags"},{"content":" ","date":"2026年5月9日","externalUrl":null,"permalink":"/categories/%E5%90%8C%E4%BA%BA%E8%AA%8C%E5%BF%83%E5%BE%97/","section":"分類","summary":" ","title":"同人誌心得","type":"categories"},{"content":"Manage your doujinshi collection efficiently with these tips and software.\n嘗言：書到用時方恨少\u0026hellip;不對，書到用時方恨找不到本子。 今天要談論的是關於數位同人誌（漫畫、本子）的分類方式，討論我如何分類同人誌。\n並且打造：全端瀏覽體驗。\n務求從手機 平板 電腦 到網頁，都能有好的瀏覽體驗 以18禁H漫為主，輔以CG圖集與漫畫單行本的內容，可能還有幾本正常向的漫畫。\n因為主要來源是E-henai，就會遷就該網站的方式來整理本子。但是，我會嘗試擴充標準，讓其他來源的資源能夠一起妥適的整理，譬如我自己買的正版本子（還是鼓勵大家都買正版啦）。\n文末推薦了幾款離線整理本子的軟體。\n1. 同人誌分類方式要以「實用」為主 # 整理同人誌的大方向是從電腦玩物的工作資料整理術發想而來。\n東西必須「近用」，讓你能快速達成「目的」，而非讓自己成為圖書館管理員。\n面對龐雜的內容，最懶人又兼實用的方法，就是依賴標籤(tag)和資料夾(folder)了，並且以「功能導向」的分類法。看本主要目標是發洩性慾，所以要以解決這個目標為最重要的分類依據。 比較的シンプルなパンティ チチとバストと乳房厨\n追求新奇的獵豔、校正搖桿驅動程式、學術研究什麼的目標都只是其次。\n雖然說要找特定口味的本子去各大網站搜尋就有，但是要過去看過的本時，仍比不上在自己的專門資料庫搜尋快速吧。\n好的本子標籤系統應該要含有以下資訊，然後上層再用資料夾分類：\n團體或作者名稱 發行年份或場次 是否為原創，二創本的話要寫原作名稱 登場角色 性癖的標籤，男女有別 是否爲翻譯本，以及語種 「標籤」協助篩選特定用途的性癖好，「資料夾」協助整理用途類似的本子。\n在看本方面，考慮存取方便性，依賴線上服務仍是當下比較實務的選擇。如果真的很喜歡就下載，或者買正版支持作者，然後用專門的軟體整理。\n就以E-hentai（傷心熊貓）這網站來說吧，標題會寫上英文和日文同人誌原名，用的人多，社群也會幫忙上標籤。 E-hentai的上傳內容多爲同人誌，可能有原文的，也有各語種翻譯的，此外還有遊戲CG、某個繪師的Pixiv作品集、Fanbox作品集。使用者貢獻資源可獲得下載原始畫質同人誌的額度，或者用加密貨幣捐款兌換，還能解鎖免Ex-hentai看蘿本的權利。\nE-hentai在各大平台很方便存取，電腦有網頁版，手機端有專用的EhViewer，甚至有JHentai這類跨平台的好東西。\n用E-hentai當主力，此處假定閱聽人有一定英文和日文的讀寫能力，否則直接左轉用簡體字網站比較快，反正高機率是E-hentai的下游廠商。\n2. 詳細E-hentai同人誌分類方式 # 參考E-hentai網頁版使用教學，E-hentai網站有10個分類資料夾 (Favorites)，每本同人誌只能加入其中一個，加到其他的會自動從原本的移除。\n每個收藏的本子可以加入註解（Notes）。 因為私有收藏並非公開性質，只為個人服務，因此依照作者、作品什麼的分類方式我不採用，我單純以「功能」導向考量，分為4大資料夾類別：\n實用本 ㄌㄌ本 實用的繪師 歷史文物 可以依照自己最中意的性癖做調整。\n因為有閱讀英日文的能力，收藏以日文原典為主，翻譯本只是方便查看用。\n在使用其他軟體的時候，我大致也是使用這種分類法。\n分類之1： 實用本 # 顧名思義，個人主觀認定之實用，在紓解性慾方面功能極為強大的本子。就像速食一樣，立即滿足。\n不收的本子為何？純愛本、單純作者很有名、畫風很好，卻不實用只能當美圖欣賞者，不予收入。\n例如偽MIDI泥の会 (石恵)的作品，雖然奶子畫得很養眼卻不實用，所以一般來說不會收。 要收入實用的內容題材不拘，舉凡純愛、巨乳、蘿莉、亂交、懷孕、墮胎，反正合口味都行，同一作者可重複，同人誌或單行本都行。實用本主要由二種本組成，「實用本」的表現必須爲高刺激性之畫面，肢體表現十分激烈，於感官刺激之強烈讓我能夠看一本就射出來。「電波型」是某一頁有對到電波覺得很色。以上二種內容才准予收入。\n說到實用的本子嘛，當屬約會大作戰4P同人誌[ろ～たり～Engine (神無月元史)] HIGHSCHOOL OF THE DATE，我用10年了仍覺得蠻實用的，畫面、體位都超刺激，巨乳和蘿莉一應俱全。 再如[CHIBIKKO KINGDOM (けこちゃ)] Lovely Submarine很好用，蘿莉屁股激烈的榨精，正常位、後入、受孕等要素都具備了。 還有[INFINITY DRIVE (京極しん)] SALVAGE，從口交到騎乘位到正常位，非常純愛又好用的巨乳蘿本。 實用分類收錄的尚有生クリームびより、悪転奏進、320BPM、竹村雪秀等人的作品，不少是畫風好、全彩、體位又實用的佳作。\n說到電波型實用本，[生クリームびより (ななせめるち)] 5Pシヨーネ！雖然有一堆奶子，其實沒有很實用。只是因為這一頁有「讓我懷上龍種」的台詞才收入實用本（漢化組真會翻譯），因此這本偏向「對到電波」的那種。 [LemonMaiden (蒼海)] LovelyBlackRabbitS也是一樣，整本其實還好，僅因為這一幕有滅茶苦茶的音效，光聽就很色，所以收錄進來。 好吧這裡自打嘴巴了：石恵的TSUKAIMAkuri有幾幕打到我的性癖，且這本算是最早的啟蒙本，所以收進來。謝斯塔欲求不滿、公主打著手槍抬腿要求放進來、雞雞頂著露易絲屁股的樣子實在太色了。 最後是[暗中模索 (まるころんど)] いくものがかり デラックス版3，多人亂交不是最有趣的，有趣的是我喜歡把頭埋到奶子，接著無預警被內射的這一幕。 隨著時間增廣見聞，性癖或改變，或對重口味忍受度更高了，位於實用分類內的同人誌或有出入，便會移動到「歷史文物」分類中。\n分類之2：ㄌㄌ # ㄌㄌ，LL，就是Love Live啦 (大誤)。台灣話稱作iù-khí，中文稱作luólì，蘿莉。\n此分類包含單純可愛的蘿莉本、兩小無猜（兩名未成年人性交）、蘿莉懷孕、強暴蘿莉、被蘿莉強暴、雌小鬼、正太、小孩開大車本。\n一直考慮要不要撤銷此一獨立分類，畢竟非真人，沒什麼稀奇的（謎之音：Bruh），真的常用的蘿本也早就收入「實用」分類了，實在沒必要獨立一個分區專放ㄌㄌ。\n我想這個分類屬特殊場合才會用上吧！本分類收的都是特殊情況下實用性爆表的本，像是[狼狽亭 (atahuta)] たのしい精液牧場~繁殖編~，被蘿莉射精管理真不賴。 雖然不是最好的作品，但這個美鮑常常被我拿來當開胃菜的[ニャリャポンガ (世界最速のパンダ)] ウチのフォーリナーがトイレの場所も守らない悪い猫だったので物理的手段で躾ける話 (Fate/Grand Order)。 含情脈脈的蘿本[Pixel Cot. (羽原メグル)] 淋しがり屋の白うさぎ我很喜歡，出門找老公，一見面就上床。這種純愛是不可能發生在現實世界，會被警察抓走的。 典型的小孩開大車本[焼肉食べたい (でらうえあ)] ノンナさんの無抵抗 -睡眠姦開発編・悪戯編セット-，小孩總是擁有無限的精力，以及大的莫名其妙的雞雞。這二個元素使得小孩開大車永遠都是那麼精彩。 其他還有たじ、とらいし666、村雨丸、水無月十三的作品。\n吾輩性癖如天氣一樣陰晴不定，蘿莉本不會每天拿出來用，此處收藏的就當作鑑賞各式標緻蘿莉身軀的所在。\n分類之3：實用的繪師 # 此分類收錄：繪師圖集、連環圖集、遊戲CG\nE-hentai常會有人po某個繪師的畫廊合集，通常是定期從Pixiv或Twitter爬圖。甚至有人會上傳Fanbox/Patreon付費內容\u0026hellip;這可是比上傳盜版同人誌更過份的犯罪行為zzzz曾有上傳者被繪師親自留言抓包的。有能力還是買正版比較好啦。\n圖片跟本子性質不同，尤其是連環圖集這種的閱讀體驗跟本子不一樣，有必要分開。\n不過同樣叫做「實用」，這裡的圖片定義上還是比「實用本」要略差一階的。\n我自己的標準是畫廊若有人定期更新、繪師多產、且幾乎每張都是佳作，符合此標準才會收入。\n例如へら (Hara)的圖，張張還原原作畫風，他畫Fate的間桐櫻都畫得超棒滴\u0026hellip;雖然新作品看久了會膩啦，感覺像流水線生產的無靈魂人物，但總有幾張能用。 えびふりゃ的作品也很棒，他在Twitter幾乎是每天一新作，筆觸很色情題材又多變。 經典遊戲CG，[Mangagamer, Alice-Soft] ランス01 光をもとめて屬於好笑又好用的圖集。 黒茶色のねこ製作的動圖是艦隊Collection同人巔峰！！正面、後入樣樣來，非常的好用。可惜E-hentai不能傳影片只有GIF。 反之，One hit wonder，單圖纔有佳作的繪師，直接右鍵收入硬碟圖片庫便可。要找這類的圖片，在Pixiv、Gelbooru瀏覽已經足夠。\n分類之4：歷史文物 # 這是本子數量最多的分類，收錄：好像還不錯的本、好像還不錯的畫集、搞笑本、詭異的本、嚴肅劇情本。因為不常用，所以就都歸類在「歷史文物」。或許日後有進一步細分的必要，而非全部都放在一個資料夾。\n縱觀閱本歷史之淵遠流長，某些時代性的啟蒙刊物實有收錄進此分類之必要。除收錄遠古時期於伊莉、Kyo、CKarea等論壇(以吾人閱本歷史長度而言僅知道這些網站)看過的本子以供懷古之外，亦會收錄「不上乘至收錄進實用，棄之卻可惜」的佳作本。\n對我而言，零覇的作品屬於好像還不錯的本，作品雖然都是全彩，但好像都少了那麼一點好尻的要素。圖為ポーラ泥酔姦 典型的好像還不錯的畫集[強熱残分 (ペイント娘)] 「初」夜，看上去賞心悅目，但實際上不好尻。 搞笑之餘，又令人深思的本，例如[おかし隊 (金ノ玉虫)] クリストファー・ロビンと秘密の森，小熊維尼一突開啊，主角屁眼被拉清單。 劇情嚴肅，有洋蔥的本，例如[TUKIBUTO (氷樹一世)] さらば、旭日，雖然整本仍都在幹砲就是了。 詭異又好笑的本：(りょなけっと6) [ムカデ島 (窓)] アタリが出たからもうひとり，嬰兒湯，還有把人當豬殺的熟練技巧。 以數量來看，「歷史文物」收藏最多，並隨時間不斷累積。這裡就好像一個池子一樣，龍蛇雜處。\n歷史文物可作為不知道要看什麼本時候的補充。\n儘管E-hentai好用的tag搜尋功能使這裡不會成為堆積倉庫，可仍有成為垃圾堆的問題。\n3. 線上搜尋同人誌漫畫的方式 # （此處操作僅限E-hentai網站，要更通用的操作參閱下一節。）\n建立資料夾分類的用意，在於E-hentai首頁切換至「My Favorties」頁籤，預設頁面即可預覽所有分類資料夾。 此時於搜尋框搜尋任一tag，會搜尋所有收藏資料夾，並顯示結果。 再縮小範圍：點選個別「分類資料夾」，例如「實用」，再鍵入tag進行搜尋，就只會顯示該收藏資料夾的搜尋結果。更多搜尋技巧 按照這個操作邏輯，找舊本發掘新本二不誤。有時候想看作者新作，或類似性癖的作品，點選同人誌畫廊的標籤就可以搜尋新本。 當常用本都看膩了，就來「歷史文物」找找有什麼不經意之間收進來的奇怪玩意兒。\n如此於E-hentai豐富的大海中，便能享有自己一片天地，來去自由。\n第三方的E-hentai APP我也多半是按照這個邏輯下去操作。\n4. 離線整理同人誌漫畫的軟體 # Nothing last forever. 即使是這個網路盜版橫行的年代，除了逐步購入正版實體書以外（很多數位漫畫有DRM機制，我不喜歡），保有本機收藏的策略仍十分重要。\n雖然我每年買同人誌的數量還不是很多，只能挑幾本特別喜歡的收藏（見下圖）。大多收藏仍以盜版數位本為主。 我們沒有要像Github, Inc把程式碼封存在北極。反而，在保存資料同時要如何兼顧可取得性，是重要課題。試想：冷儲存 VS 雲端儲存，哪個比較方便不用多說了吧。然而主流雲端公司都會掃描檔案，有ㄌㄌ可能會翻車，因此不適合明碼保存，需要加密後再上傳。至於同人誌大規模下載到硬碟，這點是長久做一次就可以。\n從網路下載的同人誌通常會用「壓縮檔」或「圖片資料夾」的形式儲存。壓縮檔方便大量儲存，圖片資料夾較容易爲任意軟體存取，用相片瀏覽器便能檢視，於資源受限的硬體上方便閱讀。\n手機 # 手機務求方便就好。Android透過EhViewer下載漫畫閱讀就可以了。如果有平板大螢幕的閱讀需求，再安裝JHentai或Mihon當作閱讀器前端。\niOS我實在沒辦法，現有方案都很克難，只能在瀏覽器裡面操作。加上E-hentai的APP不好取得，要sideload才能用。所以\u0026hellip;我只能用簡單的檔案APP管理了。然後用以下方案遠端存取電腦上的資源。\n電腦 # 在電腦閱覽上，我希望分類與搜尋方式繼承E-hentai站上的方法，所以我偏好壓縮檔保存，定期做檔案完整性校驗。 如果說，要於本機複製E-hentai使用模式，最接近這個功能的是：LANraragi，利用本機資料，對比E-hentai資料自動上標籤，就有離線版的E-hentai圖書館了。他們僅適合建立書庫瀏覽，不能跟其他H資源一起整理。\n專業一點的方式則是用圖書軟體calibre整理同人誌。\n綜合性的軟體有Hydrus Network，將一切資源用標籤分類，沒有限定只能整理漫畫。Hydrus Network能夠將H圖與H影片跟同人誌一起整理，並加上註解，我個人覺得蠻方便的。\n論閱覽手段，電腦漫畫閱讀軟體選擇很多，.cbz檔案很多圖片瀏覽器都支援。如果不想那麼麻煩架設服務的話，使用JHentai充當閱讀器也是可以的。\n5. 總結 # 這些分類方法應該都不夠好，雞蛋都放在一個籃子裡面遲早有天毀滅，要做的便是勤於備份。\n至少最簡單方式，便是將同人誌列表用script印成文字檔儲存起來，如此編目方式是最低底線，對資料的記憶方式。\n","date":"2026年5月9日","externalUrl":null,"permalink":"/posts/doujinshi-collection-management/","section":"Nsfws","summary":"Manage your doujinshi collection efficiently with these tips and software.\n嘗言：書到用時方恨少…不對，書到用時方恨找不到本子。 今天要談論的是關於數位同人誌（漫畫、本子）的分類方式，討論我如何分類同人誌。\n並且打造：全端瀏覽體驗。\n務求從手機 平板 電腦 到網頁，都能有好的瀏覽體驗 以18禁H漫為主，輔以CG圖集與漫畫單行本的內容，可能還有幾本正常向的漫畫。\n因為主要來源是E-henai，就會遷就該網站的方式來整理本子。但是，我會嘗試擴充標準，讓其他來源的資源能夠一起妥適的整理，譬如我自己買的正版本子（還是鼓勵大家都買正版啦）。\n文末推薦了幾款離線整理本子的軟體。\n1. 同人誌分類方式要以「實用」為主 # 整理同人誌的大方向是從電腦玩物的工作資料整理術發想而來。\n","title":"如何整理本子：專門軟體介紹，善用資料夾與標籤分類E-hentai漫畫收藏","type":"nsfw"},{"content":" 在註冊好E-hentai帳號後，以下教學E-hentai網頁版的使用方式。Ehviewer這類第三方APP的使用概念也是共通的。\n1. 主畫面概覽 # E-hentai的貼文稱作畫廊(gallery)。首頁是最新上傳的畫廊列表。點選「Minimal」可切換檢視模式。 首頁上方有一排選單，從左至右分別為：\nFront Page 回首頁 Watched 關注標籤的新作品 Popular 現正熱門的畫廊 Torrents 種子下載列表 Favorites 我的最愛 My Home 個人設定首頁 My Uploads 我上傳的畫廊 Top lists 排行榜 Bounties 懸賞尚未有人上傳的同人誌 News 站方新聞 Forums 論壇 Wiki 百科 HentaiVerse 小遊戲入口 2. E-hentai的遊戲規則 # 了解這些制度有助於你更好的使用E-hentai，參見：E-hentai的貨幣 \u0026amp; 會員制度\nE-hentai最基本的免費會員可以任意瀏覽不含有危險關鍵字(ㄌㄨㄛˊㄌㄧˋ)的畫廊。\n3. 畫廊頁面功能介紹 # 進入任一畫廊，正上方是畫廊的英文標題以及日文標題。E-hentai畫廊的命名規則為 [同人展場次]+[團體(作者)]+同人誌名稱+[原作]+[翻譯的語言] 左邊是上傳者資訊，按下星星來評分，太低分會降低畫廊被搜尋到的機率。點選Add to Favorites將畫廊加到我的最愛。 中間會顯示此同人誌標籤的資訊，按照語言(language)，原始作品(parody），作者(group \u0026amp; artist)，性癖好分類。這些標籤也是搜尋同人誌的重要依據。 點選任一標籤，可投票決定該標籤是否合適，以及搜尋有此標籤的畫廊(Show Tagged Galleries)，用來找類似作品很有用。另外還能查看該標籤的定義、給此畫廊添加新標籤等。添加標籤前務必閱讀Eh Wiki的Tagging指南 在畫廊右邊的是下載此畫廊的頁面，有些畫廊會有BT種子(Torrent Download)，也可以下載原始畫質壓縮檔(Archive Download)。 畫廊往下滑就會看到留言區。 4. E-hentai搜尋語法 # E-hentai主要是依靠標題和標籤來搜尋的，簡單了解一下規則有助於找到精確結果。\n首頁的搜尋框有幾大畫廊分類：同人誌(Doujinshi)、單行本(Manga)、CG集(Artist CG)、遊戲CG(Game CG)、歐美漫畫(Western)、普遍級同人誌(Non-H)、繪師單圖作品集(Image Set)、Cosplay、亞洲真人(Asian Porn)、其他(Misc)。點選該圖標使其變成灰色後，便不會顯示其結果。 Filter為要搜尋的選項，預設是只搜尋畫廊名稱和標籤，在E-hentai的個人設定頁面尚可以過濾更多搜尋結果。 E-hentai標籤命名規則 # Eh Wiki有列出全部標籤的定義及翻譯。\nE-hentai的標籤由「命名空間」和「內容」組成，命名空間即為標籤的分類。例如「parody:」代表該同人誌的原作，「character:」後面接的是角色名字，「female:」後面接的是女性相關的性癖好。\nE-hentai支援英文/日文標題搜尋，而且支援模糊搜尋。搜尋不求精確時，標籤不需要完整打出來，例如輸入kancolle也能找到parody:kantai_collection的內容，彈性很大。\nE-hentai搜尋運算子 # 以下為E-hentai搜尋會用到的運算子，善用能找到更精確的結果。參考自EhWiki\n符號 用法 \u0026quot; \u0026quot; 搜尋完全符合引號字串的結果。 ?、_ 萬用字元，只能用來替代一個字元。 %、* 萬用字元，可替代多個字元。 - 排除該搜尋結果。 : 用於搜尋指定命名空間。 $ 搜尋完全符合該字串的標籤。 E-hentai搜尋範例 # E-hentai搜尋語法比較寬鬆，可直接搜尋畫廊標題、同人誌作者，日文英文皆可以：\n艦これ 悪転奏進 艦娘着妊 #或者 kancolle akutensoushin Kanmusu Chakunin 多個標籤之間空格代表AND，搜尋含有全部輸入條件的標籤。例如以下會搜尋含有「中文翻譯」＋「懷孕」+「艦隊收藏」標籤的畫廊。注意E-hentai尚不支援「OR」的語法。\nchinese pregnant kancolle 在標籤前面加上「-」代表NOT，過濾掉該標籤。例如過濾掉含有「男男」標籤的「艦隊收藏」畫廊：\n-yaoi kancolle 有些標籤是男女都有，因此可在前面加上命名空間來過濾，例如只搜尋「艦隊收藏」＋「女性：性玩具」：\np:kantai_collection f:sex_toys 有些角色姓氏相同，例如搜尋「musashi」還會跑出「musashi_miyamoto」，此時使用錢字號指定搜尋完全符合c:musashi字串的標籤：\nc:musashi$ 如果要搜尋「漫畫月刊」這類的就會用到萬用字元。例如按照標題搜尋「COMIC LO 2022年的所有中文翻譯版」畫廊:\nCOMIC*LO*2022*中国翻訳 中文用戶更常用的標籤：「chinese」搜尋漢化本。如果只想閱讀原典則加上「-translate」過濾掉所有的翻譯本。\n5. 我的最愛 My Favorites # 預設「我的最愛」有10個分類可以用。將畫廊收到我的最愛的好處是，在這裡同樣能進行搜尋，還能用分類資料夾過濾結果，打造自己的資料庫。也就是說在這裡搜尋標籤，縮短找本子的時間。 E-hentai網站有10個分類資料夾 (Favorites)，每本同人誌只能加入其中一個，加到其他的會自動從原本的移除。每個收藏的本子可以加入註解（Notes）。\n6. 個人設定首頁 My Home # 此頁面為管理自己帳號的設定，上面同樣有一排選單。 在My Settings可以設定瀏覽時的設定檔。一般來說，我會開啟顯示於搜尋結果中顯示日文標題(Japanese Title)，並於Excluded Languages中勾選不要顯示特定語言翻譯本的搜尋結果。修改後要滑到頁面底部按Apply存檔。 如果您有搭配第三方APP使用E-hentai的習慣，那麼可以點選新增「Profile」對應不同APP的設定檔。 My Tags用於設定要關注哪些標籤。 右側的其餘選單則為捐獻、貨幣兌換功能。\n7. 建立畫廊 My Uploads # 如果要在E-hentai上傳同人誌、漢化本，點選E-hentai首頁選單的My Uploads → Create Gallery建立畫廊。\n參照其他畫廊的格式填寫表單，上傳圖片(注意順序)，系統之後會自動產生封存壓縮檔。上傳者的註解(Uploader Comment)會顯示在留言區置頂。 在提交之後，站方會花點時間審核，隨後便會出現於E-hentai首頁，剛上傳被打為低星很正常。\n於My Home → My Stats可看到你上傳的畫廊的參訪人數。 8. HentaiVerse小遊戲 # HentaiVerse是一款角色扮演遊戲，用於給用戶免花錢賺取E-hentai的貨幣。\nPTT上的攻略翻譯：洽特 HentaiVerse(HV) 新手指引文(一) - 看板AC_In\n雖然是純文字的畫面，但機制蠻複雜的。另外在瀏覽E-hentai時可能會隨機遭遇怪獸。 9. 網頁界面中文化外掛 # 參見EhSyringe\n注意這是非官方認可的專案。\n","date":"2026年5月9日","externalUrl":null,"permalink":"/posts/e-hentai-web-tutorial/","section":"Nsfws","summary":" 在註冊好E-hentai帳號後，以下教學E-hentai網頁版的使用方式。Ehviewer這類第三方APP的使用概念也是共通的。\n1. 主畫面概覽 # E-hentai的貼文稱作畫廊(gallery)。首頁是最新上傳的畫廊列表。點選「Minimal」可切換檢視模式。 首頁上方有一排選單，從左至右分別為：\nFront Page 回首頁 Watched 關注標籤的新作品 Popular 現正熱門的畫廊 Torrents 種子下載列表 Favorites 我的最愛 My Home 個人設定首頁 My Uploads 我上傳的畫廊 Top lists 排行榜 Bounties 懸賞尚未有人上傳的同人誌 News 站方新聞 Forums 論壇 Wiki 百科 HentaiVerse 小遊戲入口 2. E-hentai的遊戲規則 # 了解這些制度有助於你更好的使用E-hentai，參見：E-hentai的貨幣 \u0026 會員制度\nE-hentai最基本的免費會員可以任意瀏覽不含有危險關鍵字(ㄌㄨㄛˊㄌㄧˋ)的畫廊。\n","title":"E-hentai網頁版使用教學，收藏管理、搜尋標籤、累積貨幣","type":"nsfw"},{"content":" E-hentai是什麼？這篇文章介紹一些關於這個站點，2026年最新的教學資訊。 1. E-hentai簡介 # E-hentai https://e-hentai.org，又稱傷心熊貓、E變態、E紳士、Ehentai。\nE-hentai是由使用者上傳的的盜版同人誌組成的非營利網站，大部分內容是限制級的色情內容。「同人誌」俗稱本子，即動漫作品的二次創作。\n該站自1999年開始營運，比類似站點歷史都要悠久。根據SimilarWeb數據，E-hentai每年高達4億人次造訪，幾乎可以說是全球最大的色情網站之一。用戶眾多，分類標籤系統豐富，能精準的找到想要的作者、相關作品、性癖好的同人誌，此外還收集了絕版雜誌、遊戲CG、Cosplay攝影等內容，所以有人稱之為「亞歷山大圖書館」。\nE-hentai主要依賴用戶捐贈運作。並且為了分擔中心伺服器的壓力，世界各地有許多志願者加入的主機，運行著名為Hentai@Home的P2P軟體，提供分散式的儲存服務。\n2019年，E-hentai因為歐洲的主機託管商政策改變而面臨關站危機，史稱人類文明浩劫。4chan馬上有人釋出了全站本子的備份，據說有好幾百TB。後來E-hentai站方把伺服器遷移到監管比較鬆的國家就解套了。現在E-hentai依然繼續營運著。\nE-hentai使用的唯一門檻就是要會一點英文，但上面也有很多翻譯過的中文同人誌，並且不熟英文的用戶可以安裝EhSyringe的中文腳本方便瀏覽。\n隨著用戶增加，出現了Exhentai和Nhentai二個網站，將於下面說明。\n2. 如何註冊E-hentai帳號 # 註冊帳號有助於管理自己的收藏，同時也能參E-hentai與社群互動。註冊大約7天後就能進入Exhentai。\n至E-hentai論壇，按Register\n勾選同意後按下Register 設定帳號密碼，送出後註冊完成。 3. E-hentai網頁版使用方式 # 不論你是想用什麼方式瀏覽E-hentai，了解最基本的用法總是好的。\n於E-hentai論壇登入後，回到e-hentai.org，會進入登入狀態。\n接著參閱：E-hentai網頁版使用教學，收藏管理、搜尋標籤、累積貨幣了解網頁版用法。\n4. 如何在手機看E-hentai # E-hentai的手機版網頁很難用，建議用APP。有些APP還有「翻譯標籤」的功能。注意這些APP皆非E-hentai官方認可，盡量選擇開放原始碼的版本免得資安出問題。\nAndroid：EhViewer\niOS： EhPanda\n電腦 \u0026amp; 全平台：JHenTai\n5. 如何進入Exhentai # Exhentai (http://exhentai.org) 是不會過濾「蘿莉」之類危險關鍵字的E-hentai站點，俗稱裏站，背景為黑色。資料跟E-hentai帳號共用。\n要進入Exhentai必須要有註冊需滿7天以上的E-hentai帳號，沒登入E-hentai直接進去會一片空白。以前是看到傷心熊貓，這就是E-hentai外號「熊貓」的由來。\n且因為Exhentai會檢查cookie，進入Exhentai前必須先在E-hentai網站登入帳號，接著才能進入Exhentai網站。\n登入Exhentai後的cookie會產生三組數字，按F12用開發人員工具查看，第三方APP就是以此登入Exhentai的。\n6. E-hentai與Nhentai的關係 # Nhentai (https://nhentai.net) 是E-hentai的備份站。 網頁針對手機介面優化過，不會過濾蘿莉關鍵字，算是精簡版的E-hentai，不太需要用到APP。\n載入速度比E-hentai稍快，使用者只能收藏、留言，無法參與網站運作。\n7. E-hentai的貨幣 \u0026amp; 會員制度 # E-hentai透過參與社區運作賺取虛擬貨幣，並能享有多項特權。\nHentaiVerse是一款角色扮演遊戲，給免費用戶賺取貨幣用。\n按照EHWiki，E-hentai貨幣共有以下三種：\n種類 取得方式 主要用途 Gallery Points (GP) 上傳畫廊 下載同人誌原始畫質壓縮檔 Credits 玩HentaiVerse 於HentaiVerse中使用，或兌換其他貨幣 Hath 提供主機跑Hentai@Home的P2P服務 購買Hath Perks解鎖網站特權 再來是E-hentai的會員，分成以下捐獻等級，透過比特幣捐款來升級。等級越高特權愈多，但除非你的需求很大，不然不用特意買到最高級的會員。 E-hentai最基本的免費會員可以任意瀏覽不含有危險關鍵字(蘿莉)的畫廊，下載同人誌貨幣有限，存取網頁時也有每日限制流量，以IP為準。例如於Ehviewer「下載」同人誌，實際下載的並不是原始畫質，但同樣會遇到流量限制。\n在捐獻成為銅星(Bronze Star)之後，每天會固定送GP，同時解鎖搜尋危險關鍵字畫廊的權限，就不需要到Exhentai了；流量限制也改成以帳號為準。所以銅星的權限對大多數用戶來說應該夠用了。\n此外，E-hentai尚有「願力」Moedration Power的設計，供用戶以投票刪除畫廊的方式參與社區運作，具體機制參照中文EHWiki的說明：Power/Chinese - EHWiki\n8. 如何參與E-hentai網站運作 # E-hentai有自己的一套貨幣系統，使用者可透過玩小遊戲、花錢贊助取得貨幣。貨幣可用於下載原始畫質的同人誌、參與投票等。\n捐獻 # 用比特幣捐獻之後就不需要到Exhentai了，還有下載原始畫質圖檔的權限。參閱：E-hentai如何觀看隱藏內容\n加入E-hentai的分散式網路 # 類似BT種子，只要你的網路速度夠快，你就可以幫全球用戶分流，賺取貨幣。\n參閱：Hentai@Home - EHWiki\n貢獻你購買或翻譯的同人誌 # 掃本上傳，按照畫廊的造訪流量獲得貨幣。\n或是上傳自己漢化的作品，幫助世界各地的用戶，也是獲得貨幣的好方法。\n","date":"2026年5月9日","externalUrl":null,"permalink":"/posts/e-hentai-introduction/","section":"Nsfws","summary":" E-hentai是什麼？這篇文章介紹一些關於這個站點，2026年最新的教學資訊。 1. E-hentai簡介 # E-hentai https://e-hentai.org，又稱傷心熊貓、E變態、E紳士、Ehentai。\nE-hentai是由使用者上傳的的盜版同人誌組成的非營利網站，大部分內容是限制級的色情內容。「同人誌」俗稱本子，即動漫作品的二次創作。\n該站自1999年開始營運，比類似站點歷史都要悠久。根據SimilarWeb數據，E-hentai每年高達4億人次造訪，幾乎可以說是全球最大的色情網站之一。用戶眾多，分類標籤系統豐富，能精準的找到想要的作者、相關作品、性癖好的同人誌，此外還收集了絕版雜誌、遊戲CG、Cosplay攝影等內容，所以有人稱之為「亞歷山大圖書館」。\n","title":"E-hentai網站用法，蒐集成人同人誌的免費漫畫網站","type":"nsfw"},{"content":"","date":"2026年5月6日","externalUrl":null,"permalink":"/tags/google-search/","section":"標籤","summary":"","title":"Google Search","type":"tags"},{"content":"","date":"2026年5月6日","externalUrl":null,"permalink":"/tags/search-engine/","section":"標籤","summary":"","title":"Search Engine","type":"tags"},{"content":"","date":"2026年5月6日","externalUrl":null,"permalink":"/tags/searxng/","section":"標籤","summary":"","title":"SearXNG","type":"tags"},{"content":"使用Docker + Nginx架設SearXNG。\n想要擁有一個客製化的搜尋引擎嗎？SearXNG這款軟體可以協助您達成目的。\nSearXNG是為「元搜尋引擎」，透過代理伺服器的方式，整合各大搜尋引擎的結果，請求過程中你的裝置資料會被匿名處理，能確保使用者隱私不被搜尋引擎供應商侵犯。\nIvon在這篇文章介紹過如何使用SearXNG取代Google與各大搜尋引擎，並簡介了它的優缺點。\n但公共站台最大的問題，果然還是回應速度和細部設定讓人不滿意吧，且隱私權不見得有保障。雖然SearXNG搜尋是匿名的，誰知道他們伺服器會不會記錄你的搜尋結果呢？\n那麼何不自架SearXNG站台呢？這樣您就可以客製化搜尋引擎外觀，設定自動重導向、從搜尋結果過濾特定網站啦。\n甚至不需要購買VPS，只需要在裝有Docker的電腦就可以輕鬆架起一個私人SearXNG站台！搜尋紀錄全部由您自己保管！ 這個過程叫做Self-hosting a SearXNG instance。本文Ivon將使用Docker在電腦架設SearXNG服務，開機自動啟動後就不用管他了。\n1. 設定docker-compose # SearXNG支援AMD64/ARM64/ARMv7架構的機器。它是個輕量的搜尋引擎。硬體資源需求不高，只要512MB RAM就能跑。\n在Linux電腦安裝Docker\n取得SearXNG容器的範本檔案，內含SearXNG與valkey資料庫。\ncd ~ mkdir -p ./searxng/core-config/ cd ./searxng/ curl -fsSL \\ -O https://raw.githubusercontent.com/searxng/searxng/master/container/docker-compose.yml \\ -O https://raw.githubusercontent.com/searxng/searxng/master/container/.env.example cp -i .env.example .env 編輯.env檔案： SEARXNG_VERSION=latest # 網址，若沒有使用反向代理就改為0.0.0.0 SEARXNG_HOST=127.0.0.1 # 容器內部使用的通訊埠，要修改對外曝露的通訊埠，編輯docker-compose.yml SEARXNG_PORT=8080 啟動容器 docker compose up -d 瀏覽器開啟網址http://localhost:8081，測試能否存取SearXNG首頁。 SearXNG的log可由以下指令查看\ndocker compose logs -f 日後若要更新SearXNG容器，執行以下指令： cd ~/searxng docker compose down docker compose pull docker compose up -d 2. 建議的settings.yml細部設定 # SearXNG不提供帳號註冊機制，雖然使用者可以在網頁界面修改搜尋設定，但那是透過客戶端cookie保存的。最好在settings.yml事先定義好SearXNG的行為。\nSearXNG可以修改settings.yml調整細部設定，定義使用者造訪網頁的預設行為，這樣使用者就不用在網頁修改設定了。\nDocker版本的設定檔是存在./core-config/settings.yml。\n修改設定請先將容器停止\ncd ~/searxng docker compose down 預設啟用的搜尋引擎 # 搜尋引擎並非越多越好，會增加SearXNG回應時間到10秒以上。通常我只會保留Google、Duckduckgo、Bing這幾個較多人用的。再來QWant要取消啟用，因為QWant只有在歐洲提供服務，台灣無法使用。\nsettings.yml裡面有一長串搜尋引擎列表，加上disabled: true的話就會預設在SearXNG搜尋頁面停用：\n- name: qwant qwant_categ: web engine: qwant shortcut: qw categories: [general, web] disabled: true 另外，如果搜尋時候常常中英混合，default_lang的數值設定為all能搜尋到比較多結果。否則預設自動偵測語言的話只會列出中文結果。\nautocomplete可以設定在搜尋框打字的時候要使用哪家建議關鍵字。\n搜尋結果自動重導向 # 將搜尋結果中的網址全部替換為其他網址，比如youtube.com搜尋結果會自動導向到Invidious站台。\n找到這一段，取消註解啟用Hostname replace插件 enabled_plugins: - \u0026#39;Hostname replace\u0026#39; 找到這一段hostname_replace，設定重新導向規則。這裡正則表達式都已經寫好了，只要把後面換上要導向的網址就可以了。 hostname_replace: \u0026#39;(.*\\.)?youtube\\.com$\u0026#39;: \u0026#39;yewtu.be\u0026#39; # 將Youtube導向Invidious站台 \u0026#39;(.*\\.)?youtu\\.be$\u0026#39;: \u0026#39;yewtu.be\u0026#39; # 將Youtube導向Invidious站台 \u0026#39;(.*\\.)?reddit\\.com$\u0026#39;: \u0026#39;libreddit.freedit.eu\u0026#39; # 將Reddit導向LibReddit站台 \u0026#39;(.*\\.)?redd\\.it$\u0026#39;: \u0026#39;libreddit.freedit.eu\u0026#39; # 將Reddit導向LibReddit站台 \u0026#39;(www\\.)?twitter\\.com$\u0026#39;: \u0026#39;nitter.net\u0026#39; # 將Twitter導向Nitter站台 搜尋結果過濾特定網站 # 過濾特定網站，使其不出現在搜尋結果中。比方說封鎖內容農場kknews.cc、read01.com。請參見內容農場列表。\n在hostname_replace:這段下方加入要封鎖的網域，同樣使用正則表達式匹配。後面設定false即讓該網站從搜尋結果消失。\n# # to remove matching host names from result list, set value to false \u0026#39;(.*\\.)?kknews\\.cc$\u0026#39;: false \u0026#39;(.*\\.)?read01\\.com$\u0026#39;: false 3. Nginx反向代理範例 # 我使用子網域的做法，建立https://searxng.example.com的子網域來存取SearXNG。SearXNG沒有帳號密碼的機制，網頁界面都是公開的，有需要的話得手動設定Nginx的登入密碼。\n新增Nginx服務\nsudo vim /etc/nginx/sites-available/searxng 設定以下規則，讓子網域指向Docker容器的通訊埠 server { server_name https://searxng.exmaple.com; # 子網域 client_max_body_size 0; location / { proxy_pass http://127.0.0.1:8080; # Docker通訊埠 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } 啟用服務 sudo ln -s /etc/nginx/sites-available/searxng /etc/nginx/sites-enabled/ sudo systemctl reload nginx 4. 透過網頁調整SearXNG設定 # 進入SearXNG首頁後，點選右上角設定做些微調。因為SearXNG沒有帳號密碼，這裡的設定檔是透過cookie保存在客戶端。\n注意不是所有設定都能在網頁界面改，最好事先在settings.yml定義好。\n搜尋引擎並非越多越好，會增加回應時間。通常我只會保留Google、Duckduckgo、Bing這幾個較多人用的。再來QWant要取消勾選，因為QWant只有在歐洲提供服務，台灣無法使用。 圖片搜尋部份一樣，不用太多來源。 影片的話可把Youtube改為搜尋Invidious結果，並啟用Sepia Search(PeerTube)看到更多影片。 如果要跨裝置存取使用者設定檔，可透過Cookies頁面的網址進行還原。\n架在localhost可能導致按存檔之後找不到網址，但其實是有存檔到的。重新打一次https://localhost:8081回首頁就行了。\n5. 外網如何存取內網SearXNG站台 # 如果沒有使用反向代理的話，使用虛擬區域網路軟體，可讓不同網路的裝置存取自己電腦上的SearXNG服務。\n從外部連線存取SearXNG記得要開啟防火牆的8081/tcp通訊埠，並將localhost網址換成區域IP，例如http://172.328.11.7:8081這樣。\n6. 將瀏覽器搜尋引擎設為SearXNG # 接著我們要把瀏覽器網址列的預設搜尋引擎設定為SearXNG。\n開啟Firefox的設定 → 搜尋引擎新增SearXNG，將其設定為預設搜尋引擎，網址為https://網域/search?q=%s。 手機的話，開啟手機版Firefox，點選設定 → 新增搜尋引擎，網址為https://網域/search?q=%s。\n參考資料 # Installation container - SearXNG Docs Administrator documentation - SearXNG Docs ","date":"2026年5月6日","externalUrl":null,"permalink":"/posts/searxng-docker/","section":"所有文章","summary":"使用Docker + Nginx架設SearXNG。\n想要擁有一個客製化的搜尋引擎嗎？SearXNG這款軟體可以協助您達成目的。\nSearXNG是為「元搜尋引擎」，透過代理伺服器的方式，整合各大搜尋引擎的結果，請求過程中你的裝置資料會被匿名處理，能確保使用者隱私不被搜尋引擎供應商侵犯。\nIvon在這篇文章介紹過如何使用SearXNG取代Google與各大搜尋引擎，並簡介了它的優缺點。\n但公共站台最大的問題，果然還是回應速度和細部設定讓人不滿意吧，且隱私權不見得有保障。雖然SearXNG搜尋是匿名的，誰知道他們伺服器會不會記錄你的搜尋結果呢？\n那麼何不自架SearXNG站台呢？這樣您就可以客製化搜尋引擎外觀，設定自動重導向、從搜尋結果過濾特定網站啦。\n甚至不需要購買VPS，只需要在裝有Docker的電腦就可以輕鬆架起一個私人SearXNG站台！搜尋紀錄全部由您自己保管！ 這個過程叫做Self-hosting a SearXNG instance。本文Ivon將使用Docker在電腦架設SearXNG服務，開機自動啟動後就不用管他了。\n1. 設定docker-compose # SearXNG支援AMD64/ARM64/ARMv7架構的機器。它是個輕量的搜尋引擎。硬體資源需求不高，只要512MB RAM就能跑。\n","title":"自架開源SearXNG元搜尋引擎，一次搜尋Google、Duckduckgo、Bing多個結果","type":"posts"},{"content":"SearXNG，自由開源的元搜尋引擎。特色是綜合各大搜尋引擎的結果，什麼都可以搜尋，讓您徹底將搜尋結果掌握在手裡。 本文Ivon將告訴您如何使用這個功能強大的搜尋引擎，最後討論如何自架。\n1. 什麼是元搜尋引擎 # 為什麼叫做「元」搜尋引擎(metasearch engine)？跟Meta公司有關嗎？ㄏㄏ當然不是。\n現時出現許多Google以外的搜尋引擎，他們試圖在Google做不好的地方搶佔市場。比如DuckDuckGo強調不追蹤使用者，Ecosia搜尋就種樹，Brave Search則是要集眾人之力打造自由的搜尋引擎。 可是這些引擎回傳的結果總是不讓人滿意，一來他們爬的網頁沒有Google多；二來中文支援度不好，儘管他們能爬到一些Google不會顯示的有趣網頁，但Google以外的搜尋引擎還是很難用的說。\n那我們把多個搜尋引擎結果結合起來不就好了嗎！？這就是元搜尋引擎做的事情。SearXNG這款開源的元搜尋引擎軟體，可以自架，也可使用熱心網友提供的站台。 SearXNG本身不索引網頁，它是一次搜尋各大搜尋引擎(Google, Bing, Yahoo, Duckduckgo\u0026hellip;包含您聽過的所有搜尋引擎)，再彙整結果到單一網頁。就像透過代理伺服器搜尋。 更棒的是，它不只可以搜尋網頁，還可以搜尋圖片、檔案、各大影音網站、電子書、論文、APK、BT種子、Tor網站！什麼都能放到搜尋結果。 SearXNG透過代理伺服器的方式阻擋追蹤cookie，防範洩漏搜尋者隱私。您還可以過濾不想看到的網頁，讓它從搜尋結果消失。\n下面讓我們來看如何使用。\n2. 如何使用SearXNG # SearXNG服務可自架，也可使用熱心網友提供的公共SearXNG站台。有意自架SearXNG的朋友請直接跳最後一節看教學，這邊先介紹公共SearXNG站台。\nSearXNG官網有世界各國提供的公共站台(public instances)供挑選，請直接從裡面挑一個回應速度快的網址使用，可信度自行判斷。 例如我選擇的是比利時的https://searx.be，各站台首頁應該都長的一樣。 在開始搜尋前，到SearXNG站台右上角點選「偏好設定」，選擇要納入搜尋結果的搜尋引擎。若像我這樣選擇太多搜尋引擎，除搜尋處理時間會變長外，有些主機甚至會拒絕連線。 您還可以設定其他要顯示的搜尋項目。 設定好之後記得滑到最下面按儲存。SearXNG無需註冊，使用者設定可透過網頁最下方的一串網址還原。\n3. 實際操作：Google搜尋與SearXNG搜尋比較 # 下面以搜尋清朝雍正寫的《大義覺迷錄》這本書為基礎，比較Google搜尋和SearXNG搜尋的結果。SearXNG這邊啟用的有Google、Duckduckgo、Brave。\nGoogle搜尋「大義覺迷錄」搜尋結果 Google搜尋「大義覺迷錄」圖片結果 SearXNG「大義覺迷錄」搜尋結果 SearXNG「大義覺迷錄」圖片搜尋結果。 順帶一提SearXNG支援DuckDuckGo的bang搜尋語法，比如打!!g 搜尋文字就會跳轉到Google搜尋頁面。\n更多用法請看SearXNG官方文件。\n4. 如何將瀏覽器搜尋引擎設為SearXNG # 在前往SearXNG站台後，Firefox網址列應會出現新增「SearXNG」，點一次它就會跑到您的搜尋引擎列表了。 要手動編輯瀏覽器設定加入自訂搜尋引擎的話，SearXNG的網址語法為：https://searx.be/q?=%s\n5. SearXNG的優點與缺點 # 從上面可以看得出來，SearXNG搜尋結果主要是排序不同，這點見仁見智，且仍然是Google提供的結果較多，DuckDuckGo很多結果都跟Google重合。\nSearXNG對中文還算友好，因為各大搜尋引擎的結果都能涵蓋進去，鍵入還有字詞聯想，屌打中文支援度不佳的Duckduckgo和StartPage。\nSearXNG好處就是整合式的搜尋服務，使用者不需要頻繁切換各大搜尋引擎來取得搜尋結果，可以一定程度擺脫對Google的單一依賴。\n但嚴格說來，你還是在使用那些搜尋引擎，只不過是透過SearXNG代理，過濾掉隱私資訊而已。\n缺點的話，搜尋速度取決於SearXNG站台的回應速度。通常Google在2秒內就會載入結果，而國外SearXNG站台回傳至少要2秒以上。而且不像Google這種大企業能24小時在線上，您使用的站台可能會不定時下線，導致服務中斷。\n有些SearXNG站台會把Reddit和Youtube的連結替換成保護使用者隱私的前端，但是一般用戶可能會不習慣。例如Libreddit把網站變成極簡風，Invidious無法登入Youtube帳號等等。\n所以我偏向自架SearXNG，才能細調SearXNG呈現我要的結果。\n6. 如何自架SearXNG搜尋引擎服務 # 自架的話一切都在您的掌控之中。最簡單的方式就是用Docker跑SearXNG服務了，官方有提供Docker-compose能直接用。\n參見：自行架設SearXNG元搜尋引擎服務\n","date":"2026年5月6日","externalUrl":null,"permalink":"/posts/searxng-introduction/","section":"所有文章","summary":"SearXNG，自由開源的元搜尋引擎。特色是綜合各大搜尋引擎的結果，什麼都可以搜尋，讓您徹底將搜尋結果掌握在手裡。 本文Ivon將告訴您如何使用這個功能強大的搜尋引擎，最後討論如何自架。\n1. 什麼是元搜尋引擎 # 為什麼叫做「元」搜尋引擎(metasearch engine)？跟Meta公司有關嗎？ㄏㄏ當然不是。\n現時出現許多Google以外的搜尋引擎，他們試圖在Google做不好的地方搶佔市場。比如DuckDuckGo強調不追蹤使用者，Ecosia搜尋就種樹，Brave Search則是要集眾人之力打造自由的搜尋引擎。 可是這些引擎回傳的結果總是不讓人滿意，一來他們爬的網頁沒有Google多；二來中文支援度不好，儘管他們能爬到一些Google不會顯示的有趣網頁，但Google以外的搜尋引擎還是很難用的說。\n那我們把多個搜尋引擎結果結合起來不就好了嗎！？這就是元搜尋引擎做的事情。SearXNG這款開源的元搜尋引擎軟體，可以自架，也可使用熱心網友提供的站台。 SearXNG本身不索引網頁，它是一次搜尋各大搜尋引擎(Google, Bing, Yahoo, Duckduckgo…包含您聽過的所有搜尋引擎)，再彙整結果到單一網頁。就像透過代理伺服器搜尋。 ","title":"SearXNG介紹：重隱私、一次搜尋多個引擎的元搜尋引擎，取代Google搜尋","type":"posts"},{"content":"本文Ivon解說防止APP檢測到Android Root環境的最新手段，並附上通過Play Integrity的方法。不定時更新。 測試環境：Sony Xperia 10 V，LineageOS 23 (Android 16)，已解鎖Bootloader。\n0. Root環境帶來的問題 # Root之後，便會遇到APP偵測Root不給使用，還有無法通過Play Integrity（SafetyNet後繼者）的問題。這多半是開發者出於安全性考量所設下的限制。得用模組修復，將Root環境隱藏起來。\n這裡我要強調一點：我們使用這些模組反Root偵測，並非是要破解金融軟體進行犯罪駭客的行為，而是讓他們可以正常運作而已。軟體開發者本就不應該限制使用者要在什麼裝置，怎樣地環境執行他們的軟體。我們選擇自行承擔不被信任的環境所帶來的風險。\n所謂「偵測Root環境」可能包含以下一或多個項目：\n讀取APP列表，偵測Magisk Manager或KernelSU Manager或APatch Manager 偵測Zygisk或Xposed的存在 檢查Play Integrity狀態，根據官網資料，這是Google提供的安全性機制，用於驗證APP是否執行於無篡改的環境。通常解鎖Bootloader或者Root後的裝置會顯示為NO_INTEGRITY。有些APP會看Play Integrity有沒有達到MEETS_DEVICE_INTEGRITY或MEETS_BASIC_INTEGRITY，或者最高安全等級的MEETS_STRONG_INTEGRITY才給使用 TWRP資料夾 開發人員模式或ADB啟用狀態 Bootloader解鎖狀態 不論各路好手推出防止偵測的手段，總有APP能偵測到，從這點也可以看出銀行對資安的重視。\n像Google錢包、玉山銀行、行動郵局、花旗銀行、台新銀行這類跟金融有關的APP，就處於攻防最激烈的階段，常常一更新完後，Magisk隱藏Root就失效，接著APP閃退。 Google Play商店一偵測到Root環境也會不給安裝特定APP，顯示「這個應用程式不支援你的裝置」。\n自從Magisk Hide從官方Magisk移除之後，使用者就得用其他手段規避Root偵測。\n如果不想因為少數APP犧牲整個Root環境，就得使一些手段防止Root偵測。各種偵測Root的手段，應該都有方式繞過，除非APP連Bootloader有無解鎖都要管，那就很難解決了。\n這裡要注意的是，因為我們無從得知那些專有APP的檢查方式，本文分享的方法不保證能100%隱藏Root，即使你通過MEETS_STRONG_INTEGRITY，以及各種模組都用上了，還是可能被APP檢測到Root。\n1. 最乾脆的解決方法：不要再用Magisk # 與其用Magisk加上一堆有的沒的隱藏Root的模組，或者用其他Magisk的奇怪fork，不如改用KernelSU或者APatch這類基於Linux核心的Root方案，能夠更好的隱藏Root，並且增加通過Play Integrity的機會。\nIvon必須老實說，這二個方案真的比使用Magisk隱藏Root簡化許多。\nKernelSU有自己的模組框架，需要GKI核心，機型要求比Magisk嚴格。APatch則是同時相容Magisk與KernelSU的模組，安裝難度等同Magisk，屬於不能用KernelSU機型的折衷方案。隨著這些社群成熟，許多Magisk模組的作者也把模組移植到這些嶄新的方案上了。\n但是！雖然KernelSU與APatch能夠更簡單的隱藏Root，不代表能通過Play Integrity，依然需要安裝Play Integrity Fix模組繞過。\n如果你依然堅持要用Magisk。點選展開 Kitsune Magisk，舊稱Magisk Delta，是官方Magisk的修改版(fork)，最初由HuskyDG開發，把Magisk Hide的功能加了回來，並加入一些試驗性程式碼，專門用於躲避Root偵測。 進一步說，Kitsune Magisk可以針對特定APP取消掛載模組，甚或只給特定APP掛載模組。這樣銀行APP就很難偵測到Root環境啦，也不需要Shamiko和Xposed模組介入了。\n註解：Kitsune Magisk已經停止維護。有一個Magisk Alpha專案跟Kitsune Magisk作用類似，不過封閉原始碼。\n如果已經裝有Magisk，請先將其解除安裝。最簡單的方法是用電腦fastboot刷入ROM未修改過的boot.img，這樣Magisk就會消失。再移除Magisk Manager。\n到Github下載Kitsune Magisk的app-release.apk，安裝Kitsune Magisk Manager。\n接著，跟官方版Magisk一樣的作法，將手機ROM的boot.img交給Kitsune Magisk Manager修補，再使用fastboot刷入修補過的boot.img。重開機。\n安裝後可能要點選修復執行環境，重開機。 點選右上角設定，勾選啟用Zygisk，並同樣點選「隱藏Magisk」，將Kitsune Magisk重新打包。 開啟Kitsune Magisk，勾選Zygisk和MagiskHide 然後設定要防止Root偵測的APP，點選Configure MagiskHide，選取要防止root偵測的APP，重開機，完成，不需設定其他模組了。如果要做得更絕一點：點選Enforce SuList，只給需要的APP掛載Magisk模組。注意此功能可能會導致許多模組失效。 2. 通過Play Integrity的步驟 # Play Integriy有分多個等級，我們的基本目標是先通過MEETS_BASIC_INTEGRITY，大部分APP只要求到這個，這相對來說比較容易。長遠目標是達到MEETS_STRONG_INTEGRITY，這比較難達成。\n通過Play Integrity的關鍵是紀載金鑰的keybox.xml檔案。撰文當下，開源社群研究出來的最簡單方法是使用「TEESimulator」搭配「Tricky Addon Enhanced」，此模組會自動下載通過認證的keybox.xml並套用。由於keybox.xml可能隨時會被Google抓到後撤銷，因此需要定期更新新的keybox.xml。\n這個模組需要Zygisk。請刷NeoZygisk這類的Zygisk模組，這個模組兼具隱藏自身Zygisk的功能。到Github Releases下載.zip檔案並刷入。重開機。\n刷入TEESimulator模組，這個模組會修改Android Key Attestation機制，使之能達到MEETS_BASIC_INTEGRITY等級。到Github Releases下載.zip檔案並刷入。\n刷入Tricky Addon Enhanced模組，用於自動從Yurikey或KOWX712的倉庫取得keybox.xml，並給TEESimulator提供WebUI。到Github Releases下載.zip檔案並刷入，重開機。\n在模組管理界面，開啟TEESimulator的WebUI，點右上角，全選APP，按下保存。\n點右上角，金鑰自動化 → 取得金鑰\n點右上角，設置安全補丁 → 獲取安全補丁日期，按下保存\n嘗試隱藏Root權限管理器的APP本身，例如將Magisk偽裝為其他套件名稱，或者使用Hide-My-Applist禁阻止特定APP讀取APP列表。\n3. 查看是否有通過Play Integrity # 我們將用開源的Simple Play Integrity Checker和Google Play本身作為檢測Play Integrity是否有通過的證明。\n開啟Simple Play Integrity Checker，點選check查看Play Integrity狀態。有了MEETS_DEVICE_INTEGRITY以上等級的話，對大多數APP來說已經足夠。 當然有MEETS_STRONG_INTEGRITY更好。 開啟Google Play，點右上角設定 → 關於，在Play商店版本點七下，就會出現開發人員選項。\n開啟Google Play，點右上角設定 → 開發人員選項 → Play Integrity，點選檢查完整性，有出現MEETS_DEVICE_INTEGRITY以上等級的話就是成功了。 以上步驟確認完成之後，開啟系統設定，找到Play商店，點選清除應用程式資料。這樣Play商店才會讓你下載需要Play Integrity的APP。\n其他可參考的防Root偵測方案 # Reddit的r/Magisk板是討論Root相關問題的好地方。\n我把隱藏Magisk Root狀態的替代方案列在這裡，有些方案會互相衝突，有的則是過時了：\nTrickyStore - This module is used for modifying the certificate chain generated for android key attestation Play Integrity Fix Inject - Fix Play Integrity verdicts Shamiko Zygisk Assistant - A Zygisk module to hide root Hide My Applist- An Xposed module to intercept applist detections ","date":"2026年5月5日","externalUrl":null,"permalink":"/posts/magisk-hide-root/","section":"所有文章","summary":"本文Ivon解說防止APP檢測到Android Root環境的最新手段，並附上通過Play Integrity的方法。不定時更新。 測試環境：Sony Xperia 10 V，LineageOS 23 (Android 16)，已解鎖Bootloader。\n0. Root環境帶來的問題 # Root之後，便會遇到APP偵測Root不給使用，還有無法通過Play Integrity（SafetyNet後繼者）的問題。這多半是開發者出於安全性考量所設下的限制。得用模組修復，將Root環境隱藏起來。\n這裡我要強調一點：我們使用這些模組反Root偵測，並非是要破解金融軟體進行犯罪駭客的行為，而是讓他們可以正常運作而已。軟體開發者本就不應該限制使用者要在什麼裝置，怎樣地環境執行他們的軟體。我們選擇自行承擔不被信任的環境所帶來的風險。\n所謂「偵測Root環境」可能包含以下一或多個項目：\n讀取APP列表，偵測Magisk Manager或KernelSU Manager或APatch Manager 偵測Zygisk或Xposed的存在 檢查Play Integrity狀態，根據官網資料，這是Google提供的安全性機制，用於驗證APP是否執行於無篡改的環境。通常解鎖Bootloader或者Root後的裝置會顯示為NO_INTEGRITY。有些APP會看Play Integrity有沒有達到MEETS_DEVICE_INTEGRITY或MEETS_BASIC_INTEGRITY，或者最高安全等級的MEETS_STRONG_INTEGRITY才給使用 TWRP資料夾 開發人員模式或ADB啟用狀態 Bootloader解鎖狀態 不論各路好手推出防止偵測的手段，總有APP能偵測到，從這點也可以看出銀行對資安的重視。\n","title":"Android手機Magisk防Root偵測 ＋ 通過Play Integrity教學","type":"posts"},{"content":"","date":"2026年5月5日","externalUrl":null,"permalink":"/tags/kernelsu/","section":"標籤","summary":"","title":"KernelSU","type":"tags"},{"content":"","date":"2026年5月5日","externalUrl":null,"permalink":"/tags/lineageos/","section":"標籤","summary":"","title":"LineageOS","type":"tags"},{"content":"","date":"2026年5月5日","externalUrl":null,"permalink":"/tags/play-integrity/","section":"標籤","summary":"","title":"Play Integrity","type":"tags"},{"content":"Degoogle your Android phone! 本文是將Android手機「去Google化」的步驟與實踐。\n使用Android手機，有可能不登入Google帳號，也不使用Google APP，僅在必要時於瀏覽器中使用嗎？可以的，在刷機之後，下圖中全新Android系統安裝的常用APP，幾乎都是自由軟體。 (這篇文章最初寫於2022年6月，原本放在Blogger，但是在Google的地盤喊去Google化好像怪怪的)\n1. 去Google化概述 # 你知道嗎？Google透過你手機裡面的GMS服務，正在24小時追蹤著你！你上網的一舉一動，都被Google記錄了下來，好向你推薦更多廣告！\n按照維基百科定義，「Degoogle」是近年來在歐美興起的草根運動。翻譯成中文即為「去Google化」。\nReddit有個r/degoogle板專門在討論去Google化的策略。\nDegoogle就是將Google服務從Android手機移除，不再依賴GMS提供的服務。\n至於Degoogle理由為何？請看上面的連結，常見的理由是保護隱私，對抗監控資本主義，降低未來的轉移成本(Barrier of exit)，脫離圍牆花園等等。 依照threat model分析，degoogle可以分成很多種程度，從簡單把電子郵件供應商換成Gmail以外的，到完全去除Google服務的都有，端看個人需求。\n本文將討論的是， 如何在Android手機進行最極端的degoogle\n在中國大陸以外發售的Android手機，多半都裝有Google服務（GMS），且很多APP依賴它才能運作。通常GMS服務會被設定為系統APP，無法解除安裝。\n我們要把根植在Android手機裡面的GMS服務連根拔起。\n為達最佳使用效果，我們要把手機刷機成偏向原生系統的ROM，例如「LineageOS」或者「GrapheneOS」，這類ROM不會內建任何GMS服務，要Root也是很容易的的。\n我們需要停止使用Google服務，但是太多APP依賴Google服務了，有的APP就是沒有替代品。這個時候「microG」就是一個好的選擇，我們可以使用開源實作Google功能的microG來取代GMS服務，它將Google服務所需要收集的資料最小化，權限沒有Google服務那麼高，又能避免某些APP無法運作。 去Google化自是拒絕使用Google Play的。但是總要有應用程式商店吧？本文將介紹如何使用只包含自由軟體的「F-Droid」，以及「Aurora Store」來取代Google Play。後面我再詳述這兩個商店的用途。\n在APP部份，既然脫離了監控你的Google，應盡量使用自由軟體，拒絕Google全家桶，也不安裝任何中國的間諜軟體。\n常用Google服務(搜尋、Gmail、地圖、日曆、雲端等等)的替代APP方案列於文末。\n使用開源軟體做的好處，便是系統方面的轉移成本(Barrier of exit)降低。不被Google、Apple提供的系統服務綁住，也不會鍾情於某家OEM提供的專屬APP。\n2. 解鎖手機 ＆ 刷機 # 相關文章：Android手機刷機與Root通用步驟\n我的手機是Sony Xperia 1 III，原廠系統很接近原生了可是還是有廠商私貨，有很多討人厭的臃腫APP。在這裡我選擇乾脆一點，刷機成第三方ROM，這樣連Sony的內建軟體都會跟著不見。\n在刷機ROM選擇上，第一選擇即為「LineageOS」了，原因無他，就LineageOS支援的手機最多。且預設的情況下沒有內建Google服務框架，可以自由選擇要不要裝。 LineageOS雖然內建的東西很少，但個人覺得原生Android已經夠好用了。\n如果你的手機支援其他第三方ROM，也沒有限定一定要用LineageOS。像GrapheneOS就是一個不錯的選擇，它保護隱私的選項比LineageOS做的更徹底。但需要注意他們是否提供不含GMS服務的刷機包。\n隨後用Magisk或APatch或KernelSU的方式，取得Root權限。Root非必要步驟，但是在修改一些系統設定的時候很好用。\n3. 安裝microG教學 # 「microG」是Google服務API的開源實作，源自德國，用來取代GMS服務，避免某些APP無法運作，讓你能在APP登入Google帳號。跟MindTheGApps、NikGApps、OpenGApps比較起來，microG是完全重新實作的服務，並非基於Google官方的封閉原始碼組件所開發。\nmicroG只能替代部份Google服務，Google自家開發的APP有些是不認microG的。還有Google Play的付費服務不見得能正常使用。\n雖然使用microG有點做半套的感覺，我們說要degoogle應該是不要在系統安裝任何跟Google有關的東西的，不過日後解除安裝很容易，並且可以選擇不登入Google帳戶。\n這裡提供二種安裝microG的方法。\n手動安裝microG APK # microG安裝不需要Root權限，但是正常運作的大前提是ROM得支援簽名偽裝(signture spoofing)，讓microG可以偽裝成GMS服務。一般手機ROM不會開啟這個功能，這也是我要先刷機成LineageOS的原因之一。\n手動安裝microG的好處是，以後你連microG的資訊都不想提供給Google的時候，可以輕鬆把microG解除安裝，不用重刷系統。且日後想補刷真正的GApps的時候比較輕鬆。\n至microG官網下載microG Services和microG Companion二個APP。推薦透過F-Droid訂閱microG的套件庫，方便日後更新。 開啟microG，點選「自我檢查」，將要求的功能都全部開啟。並於主畫面勾選「註冊為Google設備」，這樣便可以登入你的Google帳號。 有應用程式要求使用FCM傳送通知時，就會列在「雲端推播(FCM)」。如果你覺得讓Google讀取你的通知不夠保護隱私，請考慮改用UnifiedPush。 如果要使用導航，手機最好插上SIM卡和開啟Wifi。然後在「位置」勾選這些選項，使用線上position.xyz服務定位。最新版microG已不支援UnifiedNlp的後端服務了。這樣地圖APP的導航才能正常運作。我的經驗是，OsmAnd定位比較慢，Google地圖則是會想辦法用Wifi方式較快完成定位。 microG支援SafetyNet驗證，但是這個安全機制幾年前就已經退休了，現在已經被Google Play Integrity取代。microG要通過Play Integrity有難度，需要刷Root模組修復。\n如果你需要使用Google Play的APP內購，在Play商店服務 → 勾選處理帳款請求。\n刷內建microG的ROM # 像LineageOS with microG、iodéOS、/e/ OS這些網站提供預先編譯好的ROM讓你刷，將microG內建為系統服務。會跟著LineageOS官方支援的機型自動編譯。\n安裝方法就跟LineageOS刷機一樣。\n這個方法的壞處是microG無法任意解除安裝，只能重置系統。且日後想刷真正的GApps可能會衝突。\n4. 安裝F-Droid商店 # F-Droid是專門收錄自由軟體的商店。通常Google Play的工具類APP，F-Droid都有開源替代品。\n安裝F-Droid官方客戶端或者Obtainium，用來下載開源APP。\n5. 安裝Aurora Store商店 # Aurora Store是用來下載Google Play才有的APP，例如Line，省得去ApkMirror手動抓APK。\nAurora Store會隨機分配一個匿名Google帳號來下載Play商店的APP，這些Google帳號是Aurora Store開發者批量註冊的，會定時回收。你也可以選擇用自己的Google帳號登入。需要注意的是Aurora Store屬於灰色地帶的APP，雖然它是安全的開源軟體，但是它讓你繞過Play商店下載APP的做法可以說是違反Google的使用者條款了。Google有權封你帳號。\n至Aurora Store官網下載Aurora Store APK\nAurora Store開啟後，點選匿名登入。 匿名登入之後就可以下載Google Play的免費APP了。順帶一提，如果登入地區設定為其他國家的Google帳號，就可以跨區下載APP。 Aurora Store會把microG當作真的Google Play服務，因此必須將其加入黑名單避免自動更新。 Aurora Store預設會以一組匿名的Google帳號登入，讓你能夠下載Play商店的APP。如果用自己的Google帳號登入的話，Aurora Store就能夠下載你之前購買過的APP了，也可以使用APP內購。但是你無法在Aurora Store直接購買APP，需要透過Google Play網頁購買再使用Aurora Store下載。\n此外，如果Android裝置沒有GMS服務，連microG都沒裝的話，APP可能會無法驗證你是否真有從Play商店購買APP。有些APP執行依賴GMS服務，單純裝Auroa Store是不夠的，得依賴microG。不過microG無法100%實現所有GMS的功能。\n6. 修改系統網路設定，脫離Google # 以下操作涉及系統層面的去Google化，將跟Google有關的DNS、GPS、SUPL、NTP設定都改掉。\n請搭配Mental Outlaw的影片操作。 7. Google服務的替代品 \u0026amp; 自由軟體APP # 上面已經幾乎完成Android系統層面的去Google化了，接著是應用程式的部份。\n＊以下為不完全列表，盡量使用自由軟體，包含半替代以及完全替代。其他APP可參考推薦的開源Android APP列表以及開源自架服務。\n半替代是指更換成自由的用戶端，但仍使用該服務，例如用NewPipe看Youtube。\n完全替代就是改用其他公司的服務，例如用ProtonMail取代Gmail。如果要脫離商業公司的掌控，就只剩下自架(self-hosting)一途。\nGoogle產品多半可以用瀏覽器存取，臨時要用的時候還是可以用手機版網頁看。Google服務中最不能取代的還是Google搜尋(不然你也找不到這篇吧)，但鴨鴨走還是值得嘗試的。\nGoogle搜尋：Duckduckgo、Brave Search、Presearch、YaCy(自架)、SearXNG(自架) Google Chrome瀏覽器：Mozilla Firefox、Cromite、Brave Google地圖：OSMAnd~ (OpenStreetMap) Gmail電子郵件：ProtonMail Google日曆：Proton Calendar Google雲端：NextCloud(自架) Google文件/Microsoft Office：Collabora Office (LibreOffice) Google Keep：Joplin Youtube: NewPipe 密碼管理：Bitwarden 檔案管理器：Material Files 影片/音樂播放器：VLC、MPV 相機：OpenCamera 相簿：Fossify Gallery 文字編輯器：Acode 英文輸入法：Hacker\u0026rsquo;s Keyboard、OpenBoard 中文輸入法：TRIME、GCIN、樸實注音輸入法、Fcitx5 沙盒遊戲：Luanti 社群軟體：Telegram FOSS、Signal、Elements (可存取Matrix和IRC)、NewPipe (可存取Youtube和PeerTube) Linux終端機模擬器：Termux ","date":"2026年5月4日","externalUrl":null,"permalink":"/posts/android-phone-degoogle/","section":"所有文章","summary":"Degoogle your Android phone! 本文是將Android手機「去Google化」的步驟與實踐。\n使用Android手機，有可能不登入Google帳號，也不使用Google APP，僅在必要時於瀏覽器中使用嗎？可以的，在刷機之後，下圖中全新Android系統安裝的常用APP，幾乎都是自由軟體。 (這篇文章最初寫於2022年6月，原本放在Blogger，但是在Google的地盤喊去Google化好像怪怪的)\n1. 去Google化概述 # 你知道嗎？Google透過你手機裡面的GMS服務，正在24小時追蹤著你！你上網的一舉一動，都被Google記錄了下來，好向你推薦更多廣告！\n按照維基百科定義，「Degoogle」是近年來在歐美興起的草根運動。翻譯成中文即為「去Google化」。\nReddit有個r/degoogle板專門在討論去Google化的策略。\nDegoogle就是將Google服務從Android手機移除，不再依賴GMS提供的服務。\n至於Degoogle理由為何？請看上面的連結，常見的理由是保護隱私，對抗監控資本主義，降低未來的轉移成本(Barrier of exit)，脫離圍牆花園等等。 依照threat model分析，degoogle可以分成很多種程度，從簡單把電子郵件供應商換成Gmail以外的，到完全去除Google服務的都有，端看個人需求。\n","title":"Android手機去Google化 (Degoogle) 的方案，microG + Aurora Store替代Google服務框架","type":"posts"},{"content":"","date":"2026年5月4日","externalUrl":null,"permalink":"/tags/degoogle/","section":"標籤","summary":"","title":"Degoogle","type":"tags"},{"content":"","date":"2026年5月4日","externalUrl":null,"permalink":"/tags/grapheneos/","section":"標籤","summary":"","title":"GrapheneOS","type":"tags"},{"content":"DIY TWS stereo system using PipeWire and mixed Bluetooth speakers on Linux PC.\n測試系統：Ubuntu 26.04\n不同牌子的藍牙喇叭可以TWS互聯形成雙聲道立體聲嗎？\n或者我們應該這樣問：電腦是否可以一對多，同時使用兩個藍牙喇叭播放音樂？\n很多藍牙喇叭/音箱都只有單聲道，用電腦播放的時候雙聲道會自動合併成一個聲道。\n賣藍牙喇叭的商家都會用我們支援TWS互聯喔～慫恿你買兩顆一樣的。基本上藍牙5.0的TWS串聯是限定同型號的才能這樣做，他們都把配對過程寫死在韌體了，因此不同品牌的藍牙喇叭不能互相連接。\n但我偏偏就買了形狀各異的多顆藍牙喇叭啊\u0026hellip;\u0026hellip;\n那我就在想，可不可以用Linux的PipeWire實現不同品牌藍牙喇叭播放呢，也就是一個喇叭左聲道一個右聲道，形成「軟體模擬TWS串聯」。\n暫時不考慮同步率與音量差距問題。\n是這樣的，Linux的PipeWire音訊伺服器提供自由度極高的audio routing功能，可以變更音訊輸出的目標，包括切割左右聲道。\n因此就能達成如下效果，兩個大小不同的藍牙喇叭同時播放音樂，一左一右。 然後如果要修正音量不一致，再用EasyEffects微調。\n不需要打指令操作，因為已經有很多可視化的PipeWire接線工具。\n1. 安裝PipeWire接線工具 # 讓Linux同時配對兩個藍牙喇叭，此時只有一個喇叭能輸出音效。在KDE桌面應該會看到多個音效面板。 用Flatpak安裝qpwgraph這個接線工具，它會記住所有連接。\nflatpak install flathub org.rncbc.qpwgraph 接著打開qpwgraph，拖動FR與FL的節點。\n例如我這裡播放音樂的程式是Spotify，FL與FR兩個節點都接在S20這個藍牙喇叭上。 點一下FL的線條，按Disconnect，解除連線。 再拖動到FL另外一個BT255藍牙喇叭的FL，完成左右聲道分割。 若你想要的是兩個喇叭同時播放音樂，那就不需要切割聲道。就直接把Spotify同時連接到兩個喇叭的節點就行了。\n點選Patchbay → Save as，這樣下次重開機的時候就能快速載入規則。\n2. 用明顯雙聲道的音樂測試效果 # 最著名的就是皇后樂團的波西米亞狂想曲啦，中間地獄合音的時候就能觀察到雙聲道切換的效果\nPink Floyd - Any Color You Like有左右切換的聲音\n2015年重新混音過的Space Oddity可以清楚聽到不同時期Davie Bowie的嗓音！\n3. 用EasyEffects微調效果 # 如果某顆喇叭聽起來太小聲，安裝EasyEffects調整音效。\n但EasyEffect似乎不能指定裝置單獨套用效果。這個時候又得請出qpwgraph調整了。Easyeffects的Sink會夾在中間，一次只能對一個裝置套用。 4. 嘗試四聲道！？ # 串聯兩個以上藍牙喇叭或許可行。\n有些電腦的音效卡支援多聲道設定檔，或者得用到JACK的Pro Audio了。\n","date":"2026年5月4日","externalUrl":null,"permalink":"/posts/pipewire-simultaneous-speakers-stereo-output/","section":"所有文章","summary":"DIY TWS stereo system using PipeWire and mixed Bluetooth speakers on Linux PC.\n測試系統：Ubuntu 26.04\n不同牌子的藍牙喇叭可以TWS互聯形成雙聲道立體聲嗎？\n或者我們應該這樣問：電腦是否可以一對多，同時使用兩個藍牙喇叭播放音樂？\n很多藍牙喇叭/音箱都只有單聲道，用電腦播放的時候雙聲道會自動合併成一個聲道。\n賣藍牙喇叭的商家都會用我們支援TWS互聯喔～慫恿你買兩顆一樣的。基本上藍牙5.0的TWS串聯是限定同型號的才能這樣做，他們都把配對過程寫死在韌體了，因此不同品牌的藍牙喇叭不能互相連接。\n但我偏偏就買了形狀各異的多顆藍牙喇叭啊……\n那我就在想，可不可以用Linux的PipeWire實現不同品牌藍牙喇叭播放呢，也就是一個喇叭左聲道一個右聲道，形成「軟體模擬TWS串聯」。\n暫時不考慮同步率與音量差距問題。\n是這樣的，Linux的PipeWire音訊伺服器提供自由度極高的audio routing功能，可以變更音訊輸出的目標，包括切割左右聲道。\n因此就能達成如下效果，兩個大小不同的藍牙喇叭同時播放音樂，一左一右。 然後如果要修正音量不一致，再用EasyEffects微調。\n不需要打指令操作，因為已經有很多可視化的PipeWire接線工具。\n1. 安裝PipeWire接線工具 # 讓Linux同時配對兩個藍牙喇叭，此時只有一個喇叭能輸出音效。在KDE桌面應該會看到多個音效面板。 ","title":"Linux用PipeWire讓不同牌子的藍牙喇叭TWS串聯形成雙聲道","type":"posts"},{"content":"","date":"2026年5月4日","externalUrl":null,"permalink":"/tags/pipewire/","section":"標籤","summary":"","title":"PipeWire","type":"tags"},{"content":"","date":"2026年5月1日","externalUrl":null,"permalink":"/tags/kantai-collection/","section":"標籤","summary":"","title":"Kantai Collection","type":"tags"},{"content":"","date":"2026年5月1日","externalUrl":null,"permalink":"/kantai-collection/","section":"Kantai-Collections","summary":"","title":"Kantai-Collections","type":"kantai-collection"},{"content":"網頁遊戲《艦隊Collection -艦Colle-》（艦隊これくしょん-艦これ-，Kanti Collection）的攻略情報。\n2015年7月7日著任的提督，柱島泊地所屬。提督名稱：ivon852。ID：20049307。我很愛艦娘們的，希望與她們一起到永久。\n新手教學請戳此處：艦隊Collection新手提督註冊\n","date":"2026年5月1日","externalUrl":null,"permalink":"/categories/%E8%89%A6%E9%9A%8Acollection/","section":"分類","summary":"網頁遊戲《艦隊Collection -艦Colle-》（艦隊これくしょん-艦これ-，Kanti Collection）的攻略情報。\n2015年7月7日著任的提督，柱島泊地所屬。提督名稱：ivon852。ID：20049307。我很愛艦娘們的，希望與她們一起到永久。\n新手教學請戳此處：艦隊Collection新手提督註冊\n","title":"艦隊Collection","type":"categories"},{"content":"註解：這篇文章保留供未來有志之士參考。目前Vita3K有很多bug，撰文當下，《艦隊Collection改》安裝後只能進入標題，但無法開始遊戲。現階段你想體驗這個遊戲還是在實機遊玩比較好。\n分享如何在Android手機與PC下載，並遊玩PSV專屬遊戲《艦隊Collection改》的簡略教學。 《艦隊Collection 改》（艦隊收藏改，艦これ改）是2016年C2機關經過多次跳票後推出的戰略遊戲。承襲了網頁版《艦隊Collection》的玩法，加入了Live2D立繪與手動操作機制。可以說是離線版的艦これ。\n遊戲只有日文界面，另有社群製作的英文翻譯版：Kantai Collection Vita Translation Kai\n1. 安裝Vita3K # 可以用PPSSPP玩嗎？No。它是專為PSP和PS2遊戲設計的模擬器，不能玩PSV遊戲。\nVita3K是一款開源的模擬器，專為PSV遊戲設計。支援Linux、Windows、macOS、Android系統。手機版更新比較慢，建議用電腦版。\n請到Vita3K官網下載。\n安裝後你需要依照畫面指示下載PSV韌體與字體。\n2. 下載艦隊Collection改的安裝包 # 請支持正版。手動從實體卡帶抽取遊戲檔案，或者到網路上找。\n例如，你可以在nopaystation這個網站找到需要的檔案。搜尋KanColle Kai，下載.pkg與.bin檔案。 開啟Vita3K，按檔案 → 安裝.pkg檔案 選取載入.bin檔案 點選開始遊戲。 ","date":"2026年5月1日","externalUrl":null,"permalink":"/posts/play-kantai-collection-kai-on-vita3k-emulator/","section":"Kantai-Collections","summary":"註解：這篇文章保留供未來有志之士參考。目前Vita3K有很多bug，撰文當下，《艦隊Collection改》安裝後只能進入標題，但無法開始遊戲。現階段你想體驗這個遊戲還是在實機遊玩比較好。\n分享如何在Android手機與PC下載，並遊玩PSV專屬遊戲《艦隊Collection改》的簡略教學。 《艦隊Collection 改》（艦隊收藏改，艦これ改）是2016年C2機關經過多次跳票後推出的戰略遊戲。承襲了網頁版《艦隊Collection》的玩法，加入了Live2D立繪與手動操作機制。可以說是離線版的艦これ。\n遊戲只有日文界面，另有社群製作的英文翻譯版：Kantai Collection Vita Translation Kai\n1. 安裝Vita3K # 可以用PPSSPP玩嗎？No。它是專為PSP和PS2遊戲設計的模擬器，不能玩PSV遊戲。\nVita3K是一款開源的模擬器，專為PSV遊戲設計。支援Linux、Windows、macOS、Android系統。手機版更新比較慢，建議用電腦版。\n請到Vita3K官網下載。\n安裝後你需要依照畫面指示下載PSV韌體與字體。\n2. 下載艦隊Collection改的安裝包 # 請支持正版。手動從實體卡帶抽取遊戲檔案，或者到網路上找。\n","title":"使用Vita3K在Android手機玩PSV版《艦隊Collection 改》","type":"kantai-collection"},{"content":"","date":"2026年5月1日","externalUrl":null,"permalink":"/categories/%E9%81%8A%E6%88%B2%E6%94%BB%E7%95%A5/","section":"分類","summary":"","title":"遊戲攻略","type":"categories"},{"content":"跟各位報告一個好消息，從今天開始，「Ivon的部落格」決定移除所有廣告～！以後看文章不會再跳出疑似釣魚軟體的劣質廣告啦！\n目前暫時沒有廣告。\n但是追蹤器還是會在的，方便統計文章觀看人數。此外外掛的Giscus與Disqus留言板也會有他們自己的追蹤器，我用延遲載入JS的方式讓他們在讀者捲動到網頁底部才會出現。如果你在意這一點，請繼續開著uBlock Origin，並封鎖特定JavaScript執行。\n真相是繼Google Adsense回絕我的網站之後，現在用的Ad Network也禁止我繼續使用了（因為你知道的原因，嗯，NSFW、鍵政、破解樣樣來，誰會允許存在）撐了大概3年。反正\u0026hellip;\u0026hellip;那個廣告的CPM低的可憐\u0026hellip;..一個月收益只有不到Google Adsense的一半，然後還常常出現擦邊球的誤導性廣告，錢都被廣告公司貪走了。我放廣告的預想也就是用來付網站主機維護費用而已。而我現在足夠用自己的收入來負擔。\n於是我現在這個網站\u0026hellip;變成純粹靠愛發電了。雖然沒多少人點過，在網站的about頁面有Liberapay的捐贈按鈕。\n如果未來網站不能繼續經營，我還有讓站點上Tor網路的備案。\n（以下是舊文）\nFB網友做的圖，怪好笑的\n很抱歉造成你的閱讀體驗不佳，現階段Google Adsense不讓我通過，所以只好找一些非主流的廣告聯播網。我至今還是搞不清楚為啥我這個廣告聯播網那麼喜歡推詐騙和擦邊球廣告。\n根據統計（瞎猜的），會看我的網站的人多半會安裝擋廣告軟體，你也一起來安裝吧！\n私の心まで覗かないで！お願いだから、これ以上心を侵さないで！\n「Ivon的部落格」是由一個藍星的人類所撰寫的部落格，上面有很多廢文。\n今天我要來勾起你心中的惡，揭穿這個部落格。實際上這個部落格很過份，嘴上打著尊重自由軟體、人權隱私的旗號，卻將免費仔的特質表露無疑，推薦Unix駭客行為，連部落格都貪小便宜放在很多人用的平台上。\n此外，網站充斥Google Analytics，將造訪者的一舉一動都記錄下來，在後台看爽爽。 為什麼要放廣告？ What? A man\u0026rsquo;s gotta eat.\nSMOSH - Assassin\u0026rsquo;s Creed 3 Song\n更可惡的是，這個網站看似靜態網站無廣告，但是在特定頁面會出現蓋板廣告騙取誤觸點擊，賺取陰險小錢，割讀者韭菜。還會在文章中不時圖利廠商，以正義之名業配VPN。透過種種觀點偷渡政治立場，假道學的強調正義理念，卻仍為流量和SEO服務下殺人標題。\n我奉勸各位不要再上這種可惡的網站了！不過不小心點到怎麼辦呢？現在哪個網站沒有廣告，沒有追蹤器？\n所以我推薦使用以下手段，安全的存取「Ivon的部落格」：\n推薦使用Mozilla Firefox，搭配uBlock Origin。或者Brave Browser，保護上網的隱私！這二款瀏覽器手機和電腦都有支援，他們會封鎖所有的廣告，當然還包含追蹤器！ 這樣一來，就能無後顧之憂的造訪「Ivon的部落格」了。\nせめて、人間らしく。\n","date":"2026年5月1日","externalUrl":null,"permalink":"/posts/block-ads-on-ivonblog/","section":"Personals","summary":"跟各位報告一個好消息，從今天開始，「Ivon的部落格」決定移除所有廣告～！以後看文章不會再跳出疑似釣魚軟體的劣質廣告啦！\n目前暫時沒有廣告。\n但是追蹤器還是會在的，方便統計文章觀看人數。此外外掛的Giscus與Disqus留言板也會有他們自己的追蹤器，我用延遲載入JS的方式讓他們在讀者捲動到網頁底部才會出現。如果你在意這一點，請繼續開著uBlock Origin，並封鎖特定JavaScript執行。\n真相是繼Google Adsense回絕我的網站之後，現在用的Ad Network也禁止我繼續使用了（因為你知道的原因，嗯，NSFW、鍵政、破解樣樣來，誰會允許存在）撐了大概3年。反正……那個廣告的CPM低的可憐…..一個月收益只有不到Google Adsense的一半，然後還常常出現擦邊球的誤導性廣告，錢都被廣告公司貪走了。我放廣告的預想也就是用來付網站主機維護費用而已。而我現在足夠用自己的收入來負擔。\n於是我現在這個網站…變成純粹靠愛發電了。雖然沒多少人點過，在網站的about頁面有Liberapay的捐贈按鈕。\n如果未來網站不能繼續經營，我還有讓站點上Tor網路的備案。\n（以下是舊文）\nFB網友做的圖，怪好笑的\n很抱歉造成你的閱讀體驗不佳，現階段Google Adsense不讓我通過，所以只好找一些非主流的廣告聯播網。我至今還是搞不清楚為啥我這個廣告聯播網那麼喜歡推詐騙和擦邊球廣告。\n","title":"如何擋「Ivon的部落格」的廣告","type":"personal"},{"content":"","date":"2026年4月29日","externalUrl":null,"permalink":"/categories/bsd%E7%B3%BB%E7%B5%B1/","section":"分類","summary":"","title":"BSD系統","type":"categories"},{"content":"透過一連串技巧將特定裝置加入黑名單，讓FreeBSD系統不要去動它。\n1. 問題點 # 在Intel UHD 630 + Intel Arc A380的電腦，目前Intel Arc A380獨顯在FreeBSD 15開機會導致kernel panic，因為i915kms驅動有問題。我可不可以只用Intel UHD 630的內顯開機不管獨顯，問題是兩者共用同一個i915kms的kernel module，不能透過禁止載入該模組的方式來封鎖。那我想FreeBSD有沒有類似Linux的vfio的東西可以把PCI裝置抓走不讓主機看到。\n於是找到了pttdevs。這東西確實是為bhyve的PCI Passthrough所設計的機制。\n2. 新增裝置到pptdevs # 列出顯卡的PCI位址，Intel Arc A380有GPU和音訊裝置。\npciconf -lv 編輯/boot/loader.conf，寫入pptdevs將裝置交給pptdevs管理。\npptdevs=\u0026#34;3/0/0 4/0/0\u0026#34; 重開機後pciconf -lv顯卡的PCI位址前面會顯示pptdevs，代表已經成功接管。\n3. 設定device.hints # 除了pptdevs之外，還要透過/boot/device.hints設定disabled，用黑名單的方式徹底停用這個裝置。\nhint.pci.3.0.0.disabled=\u0026#34;1\u0026#34; hint.pci.4.0.0.disabled=\u0026#34;1\u0026#34; 照理說device hints應該就會禁止顯卡載入了，pptdevs顯得沒必要。但在我的測試是依然會載入。\n接著要在主機板UEFI裡面設定使用內顯(IGFX)開機。\n4. 強制X11使用特定GPU # 透過這次的實踐，我重新理解了FreeBSD的開機處理順序。/boot/loader.conf裡面的設定類似GRUB，是在開機核心初始化的時候就會執行的設定，接著才會從/etc/rc.conf載入系統服務。考慮到我們要在系統開機早期就搶顯卡控制權，那麼就要在/boot/loader.conf裡面儘早載入vmm，然後才可以馬上設定pptdevs。如果是在/etc/rc.conf裡面設定載入vmm模組的話就來不及了，就會導致pptdevs設定失敗。\n可是雖然這樣做了，FreeBSD理論上看不到Arc A380了才對，開機是能載入i915kms(tty解析度有變化)，但載入SSDM卻還是會crash掉系統，用tty啟動Wayland或X11也都是crash.\n好吧，我嘗試在/usr/local/etc/xorg.conf.d/20-intel.conf強制指定只能用內顯。耶，成功了。這樣問題可能在於X Server啟動的時候會嘗試去動被封印的獨顯導致kernel panic。\nSection \u0026#34;Device\u0026#34; Identifier \u0026#34;Intel iGPU\u0026#34; Driver \u0026#34;modesetting\u0026#34; BusID \u0026#34;PCI:0:2:0\u0026#34; # pciconf -lv查詢 EndSection 防止Wayland來亂，然後在SDDM設定檔/usr/local/etc/sddm.conf.d/kde_settings.conf強制以X11後端啟動\n[General] DisplayServer=x11 但是目前就變成只能用KDE X11了，不能用KDE Wayland。Wayland做不到指定使用哪個顯卡的機制\u0026hellip;? 哦哦，KDE Wayland依然可以啟動耶，只要SDDM有起來就行了。\n參考資料 # Why aren\u0026rsquo;t my pptdevs ready? - R. Tyler Croy device.hints - FreeBSD Manual Pages ","date":"2026年4月29日","externalUrl":null,"permalink":"/posts/freebsd-device-hints-disabled/","section":"所有文章","summary":"透過一連串技巧將特定裝置加入黑名單，讓FreeBSD系統不要去動它。\n1. 問題點 # 在Intel UHD 630 + Intel Arc A380的電腦，目前Intel Arc A380獨顯在FreeBSD 15開機會導致kernel panic，因為i915kms驅動有問題。我可不可以只用Intel UHD 630的內顯開機不管獨顯，問題是兩者共用同一個i915kms的kernel module，不能透過禁止載入該模組的方式來封鎖。那我想FreeBSD有沒有類似Linux的vfio的東西可以把PCI裝置抓走不讓主機看到。\n於是找到了pttdevs。這東西確實是為bhyve的PCI Passthrough所設計的機制。\n2. 新增裝置到pptdevs # 列出顯卡的PCI位址，Intel Arc A380有GPU和音訊裝置。\npciconf -lv 編輯/boot/loader.conf，寫入pptdevs將裝置交給pptdevs管理。\npptdevs=\"3/0/0 4/0/0\" 重開機後pciconf -lv顯卡的PCI位址前面會顯示pptdevs，代表已經成功接管。\n3. 設定device.hints # 除了pptdevs之外，還要透過/boot/device.hints設定disabled，用黑名單的方式徹底停用這個裝置。\n","title":"FreeBSD使用device.hints禁用裝置在開機時載入","type":"posts"},{"content":"這是我的「BlogBlog 同樂會 - 2026 年 4 月」的投稿文章。本月主題是「生產力」！\n4月的我沒準時投稿，因為不知道要寫什麼。這是後來補記上去的。\n講到生產力我就頭痛。雖然我會嘗試各種文書軟體，但我不是很喜歡追求生產力。比較喜歡hacking但不一定要追求務實吧。\n把生產力帶到虛擬遊戲裡面的，味更大了。\nMinecraft就是個例子，你不安裝模組，原版遊戲也有名為紅石的虛擬電路系統能讓你在遊戲裡面蓋出電腦來。用在畜牧和採集資源上，就能有許多工業裝置出現。\n另外，為了攫取更多資源，還會有人蓋所謂的刷怪塔來大規模生產。例如想要鐵這個素材，可以利用遊戲的生怪機制，讓鐵巨人在有村民的密閉空間定時生成，再用機關把他推到岩漿裡面活活燒死，這樣每個小時就有許多鐵錠進帳。\n我只想說我們真的有必要在Minecraft裡面追求生產力嗎？\n不知道耶，我就喜歡當揹包客過原始遊牧生活，到處探索世界，不喜歡定居和蓋宏偉建築，大規模農場，物流中心倉庫，或是什麼自動化裝置。我實際照著別人的攻略蓋了之後，就不知道能幹嘛了。\n每次版本更新就有新biome能探索。嘗試新特性hacking的時候是我最快樂的時候！而不是想著怎麼把利益最大化。\n如果跑圖導致地圖資料庫變得太大就用Amulet把過往的chunk咔嚓全剪掉！\n每次我在一個地方待久了就會想拋下一切裝置追求新生活。\n所以生產力不要來打擾我。快樂，往往會生產力摧毀。\n","date":"2026年4月29日","externalUrl":null,"permalink":"/posts/on-productivity-in-minecraft/","section":"Personals","summary":"這是我的「BlogBlog 同樂會 - 2026 年 4 月」的投稿文章。本月主題是「生產力」！\n4月的我沒準時投稿，因為不知道要寫什麼。這是後來補記上去的。\n講到生產力我就頭痛。雖然我會嘗試各種文書軟體，但我不是很喜歡追求生產力。比較喜歡hacking但不一定要追求務實吧。\n把生產力帶到虛擬遊戲裡面的，味更大了。\nMinecraft就是個例子，你不安裝模組，原版遊戲也有名為紅石的虛擬電路系統能讓你在遊戲裡面蓋出電腦來。用在畜牧和採集資源上，就能有許多工業裝置出現。\n另外，為了攫取更多資源，還會有人蓋所謂的刷怪塔來大規模生產。例如想要鐵這個素材，可以利用遊戲的生怪機制，讓鐵巨人在有村民的密閉空間定時生成，再用機關把他推到岩漿裡面活活燒死，這樣每個小時就有許多鐵錠進帳。\n我只想說我們真的有必要在Minecraft裡面追求生產力嗎？\n不知道耶，我就喜歡當揹包客過原始遊牧生活，到處探索世界，不喜歡定居和蓋宏偉建築，大規模農場，物流中心倉庫，或是什麼自動化裝置。我實際照著別人的攻略蓋了之後，就不知道能幹嘛了。\n每次版本更新就有新biome能探索。嘗試新特性hacking的時候是我最快樂的時候！而不是想著怎麼把利益最大化。\n如果跑圖導致地圖資料庫變得太大就用Amulet把過往的chunk咔嚓全剪掉！\n","title":"不想在虛擬世界也追求生產力","type":"personal"},{"content":"在2026年的春天，安裝擁有1996年設計氛圍的現代化Haiku OS。體驗這款擁有獨特操作邏輯的作業系統，並在上面使用中文輸入法與Firefox瀏覽器上網。 先來一首俳句吧：\n旧き夢\nHaiku OSにて蘇る\n春の光\n1. Haiuku何系統也？ # Haiku是BeOS的開源複製品，使用MIT授權釋出。正如ReactOS試圖模仿Windows XP一樣。至今已經有20年以上歷史了。\n首先要來點歷史背景。1976年，美國Apple公司成立，開始透過Mac OS與Microsoft Windows競爭個人電腦市場。1985年，Steve Jobs因為與CEO理念不合被逐出Apple公司，另行創辦NeXT公司，銷售新型作業系統NeXTSTEP。隨後Apple公司的電腦市佔率一路下滑。\n但其實從Apple公司分裂出去的還有另外一股勢力，那就是1991年由Jean-Louis Gassée創辦的Be公司，開發了BeOS系統。Be公司是由前Apple公司的主管創辦的，因此跟Apple還算有點淵源，GUI的設計方面也多少受到了Mac OS影響。 BeOS是一個閉源的作業系統，它不是Unix-like的系統，是全新研發的，相容POSIX標準。BeOS有自行研發的混合核心，支援當時相對先進的多執行緒功能。以及專門處理多媒體的BeFS，檔案系統裡面內建資料庫支援。以1990年代的標準而言，BeOS的多媒體效能異常優越，在同樣的硬體條件下，BeOS能夠播放Windows 95不能處理的複雜多媒體（例如同時播放許多MP3音軌），並且有望超越彼時正在走下坡的Mac OS。\n1996年，瀕臨破產的Apple公司曾經打算收購BeOS作為Mac的新系統，可是Be公司開價過高而被回絕，最後Apple改為購買NeXT公司，重新讓Steve Jobs回到Apple公司，透過借鑑部分BSD技術的新版Mac OS，讓Apple公司再創輝煌。於是BeOS錯過了大紅大紫的機會。後來BeOS銷量不佳，在2001年Be公司被Palm收購之後BeOS就停止開發了。\nBeOS的獨特設計，曾經被一部分愛好者認為是作業系統未來的樣子。2001年，有一群開發者跳出來，要繼承BeOS遺志。其中由Michael Phipps等人發起的OpenBeOS最為著名。後投票改名為Haiku，即日本俳句的意思。他們自行重寫了BeOS的系統，並做到與BeOS的舊有程式相容。並且成立了非營利基金會，用於支援Haiku的開發工作。 Haiku是以MIT授權釋出的自由軟體，允許任何人自由再利用。\nHaiku系統畢竟受到了BeOS影響，因此預設開機就是有GUI的，而不是像Linux是先啟動核心和命令列再加裝X Window。Haiku幾乎所有的系統設定都能用GUI程式完成，讓你不太需要打指令或者寫config。這點跟Linux不太一樣。 當然Haiku還是有終端機，加上相容POSIX標準，因此想使用Unix-like系統的命令行程式也是OK的。 不過嘛，Haiku的開發資源不是很充足，沒有商業公司資助，屬於業餘興趣專案。所以直到今天，Haiku的GUI設計與20年前BeOS幾乎沒有太大的差異。\nHaiku是想要給體驗1990年代的復古設計氛圍，非Windows非Linux，又有點跟macOS競爭創新設計的一種特殊選擇。\n開發者在多年之後仍在維護Haiku，使之能在現代的硬體執行BeOS的界面。BeOS內建基本的文書處理程式和多媒體播放器，Haiku繼承了下來，Haiku開發者還為這個系統撰寫了許多說明文件。\n2024年，Firefox瀏覽器成功移植到Haiku，解決了多年來該系統缺乏主流瀏覽器的問題。這樣這個系統起碼可以用來上網了。\n關於硬體驅動支援度嘛，Haiku使用了一些FreeBSD的驅動，所以網路支援還是不錯。音效卡對Intel的應該也都支援。但在3D加速部分，Haiku可謂是幾乎沒有GPU驅動能用，不論是Intel、AMD、Nvidia都一樣，只有最基本的VESA驅動，所以畫面都是用軟體渲染的。\n最好選擇本身就對Linux支援度很好的x86電腦，這樣Haiku有更高的機會開箱即用。或者你也可以在虛擬機裡面嘗試看看，Haiku系統十分輕量。\n2. 測試環境 # Virt Manager + QEMU/KVM\n在虛擬機裡面可以使用VirtIO硬碟。不過開機碟最好用USB防止安裝錯誤。\n3. 建立Haiku安裝碟 # 目前Haiku一直處於Beta版。詳細安裝方法參閱官網說明文件。\n到Haiku官網下載ISO，選擇x86_64架構\n臺灣沒有鏡像，選一個最近的美國伺服器下載。\nHaiku支援UEFI，不過需要手動分區，所以還是用BIOS開機比較好。\n4. 安裝Haiku之 # 建議使用有線網路安裝。開機進入安裝程式。\nHaiku系統目前有簡體中文翻譯，不過為了方便討論我還是用英文界面，之後可以手動切換。 接下來需要手動分區。按Setup Partition。按Disk點選Initiliaze，新增Intel Partition Map 將新分區格式化為BeFS。點一下視窗左上角方格關閉視窗。 選取Onto為剛才格式化的硬碟，開始安裝 複製檔案完成後就可以重開機了。\n安裝好之後記得按右上角的羽毛，找到Preferences，開啟Time程式，調整時區為臺灣臺北 Screen可以調整螢幕解析度 開啟Keymap，調整鍵盤配置 Haiku預設沒有使用者密碼。只能使用內建的螢幕保護程式(ScreenSaver)來設定螢幕鎖定的密碼。\n5. Haiku視窗界面操作方式 # Haiku不使用X Window視窗系統，而是自己實現的app_server作為圖形界面，它使用向量圖繪製圖示。因此你基本上是不能換桌面環境的，就老實接受Haiku的操作邏輯吧。\n開機就會自動進入桌面，沒有tty。\n系統選單在桌面右上角。這裡有系統匣顯示音量和網路狀態。螢幕右邊的工作列會垂直顯示目前開啟的程式列表。 系統匣有一個工作管理員，會顯示目前開啟的行程 按羽毛圖示可以打開程式列表 打開Desktop applets → Workspace，可以啟動工作區視窗，在不同的工作區擺放程式。 Haiku個別程式的視窗縮放位於左上角，會有一個固定的黃色區塊。 點左上角方格關閉視窗，右上角方格最大化。點兩下視窗標題最小化。按著滑鼠右鍵調整視窗大小。\n按著Ctrl + Alt，自動選取滑鼠附近的視窗，你就可以自由拖動。\n按著Shift，平移視窗黃色標籤。\n程式視窗是可堆疊的，按著Windows鍵並拖動黃色標題列，與另外一個黃色標題列重疊在一起，就能將多個程式視窗像是瀏覽器分頁一樣堆疊在一起。 按著Windows鍵並拖動視窗，可將兩個視窗平鋪顯示。 6. 使用HaikuDepot安裝軟體 # Haiku的軟體是獨立開發的，底層使用C++編寫，不能直接執行Linux程式，需要重新移植。\n不過社群成員有開發名為xlibe和wayland_server的軟體，試圖讓Haiku相容使用X11技術Toolkit的GTK和QT軟體，而不用整個重寫。\nHaiku使用套件管理器安裝軟體，系統內建的有圖形套件管理器：HaikuDepot，以及命令行工具：pkgman，套件安裝格式為.hpkg。一些移植的軟體可以透過HaikuPorts編譯安裝。\n安裝軟體不需要系統管理員權限。\n說實話我覺得HaikuDepot這個GUI做得還不賴，回應迅速，也就沒必要用指令安裝軟體了。 軟體會安裝到/system/目錄。\n除了舊有BeOS軟體外，Haiku收錄的軟體以自由軟體為主。在Linux與BSD系統出現的軟體多半都有人移植過來了。\n7. 安裝Firefox瀏覽器 # 長期以來Haiku都只有WebPositive這個瀏覽器。WebPositive僅支援基本的HTML，JavaScript網頁無法正常渲染。\n幸好在2024年，Firefox搭配wayland_server技術，移植成功了，取名為iceweasel。打開HaikuDepot搜尋IceWeasel安裝。 其他瀏覽器尚有基於WebKitGTK與QtWebEngine的。但目前還沒有Chromium系的瀏覽器可用。\n8. 中文化與安裝BeCJK中文輸入法 # 開啟Preferences → Locale程式可以切換系統語言。拖動順序設定語言偏好。 Haiku預先安裝了noto_sans_cjk字型以支援漢字顯示。\n中文輸入法方面，iBus和Fcitx都尚未移植。僅有BeCJK，這款20年前的輸入法。\nBeCJK輸入法需要用指令安裝，開啟Application → Terminal，輸入以下指令安裝：\npkgman install becjk 安裝後點選桌面右上角的鍵盤圖示開啟中文輸入法，輸入法會顯示在左上角，就可以打字了。 BeCJK提供拼音、雙拼、倉頡、五筆、注音等輸入方案。支援繁體與簡體輸出。另提供日文與韓文輸入。\n我不知道為什麼注音好像無法對應到正確的Keymap，因此只能用拼音。\n9. 啟動OpenSSH伺服器 # Haiku開機後會自動啟動SSH伺服器。可以在Network查看SSH伺服器狀態。 開啟終端機，修改使用者密碼\npasswd user 然後編輯sshd設定檔 vi /etc/ssh/sshd_config 允許Root登入 PermitRootLogin Yes 重新啟動SSH伺服器 kill sshd /bin/sshd 然後就可以用ssh user@IP登入Haiku shell了。 ","date":"2026年4月27日","externalUrl":null,"permalink":"/posts/install-haiku-os/","section":"所有文章","summary":"在2026年的春天，安裝擁有1996年設計氛圍的現代化Haiku OS。體驗這款擁有獨特操作邏輯的作業系統，並在上面使用中文輸入法與Firefox瀏覽器上網。 先來一首俳句吧：\n旧き夢\nHaiku OSにて蘇る\n春の光\n1. Haiuku何系統也？ # Haiku是BeOS的開源複製品，使用MIT授權釋出。正如ReactOS試圖模仿Windows XP一樣。至今已經有20年以上歷史了。\n首先要來點歷史背景。1976年，美國Apple公司成立，開始透過Mac OS與Microsoft Windows競爭個人電腦市場。1985年，Steve Jobs因為與CEO理念不合被逐出Apple公司，另行創辦NeXT公司，銷售新型作業系統NeXTSTEP。隨後Apple公司的電腦市佔率一路下滑。\n但其實從Apple公司分裂出去的還有另外一股勢力，那就是1991年由Jean-Louis Gassée創辦的Be公司，開發了BeOS系統。Be公司是由前Apple公司的主管創辦的，因此跟Apple還算有點淵源，GUI的設計方面也多少受到了Mac OS影響。 BeOS是一個閉源的作業系統，它不是Unix-like的系統，是全新研發的，相容POSIX標準。BeOS有自行研發的混合核心，支援當時相對先進的多執行緒功能。以及專門處理多媒體的BeFS，檔案系統裡面內建資料庫支援。以1990年代的標準而言，BeOS的多媒體效能異常優越，在同樣的硬體條件下，BeOS能夠播放Windows 95不能處理的複雜多媒體（例如同時播放許多MP3音軌），並且有望超越彼時正在走下坡的Mac OS。\n","title":"Haiku OS安裝體驗，瀏覽器 + 中文輸入法 ～ 古典蘋果風味BeOS繼承者","type":"posts"},{"content":"","date":"2026年4月27日","externalUrl":null,"permalink":"/categories/%E4%BD%9C%E6%A5%AD%E7%B3%BB%E7%B5%B1%E5%AE%89%E8%A3%9D%E6%95%99%E5%AD%B8/","section":"分類","summary":"","title":"作業系統安裝教學","type":"categories"},{"content":"本篇文章將驗證「最小」的Linux發行版之一是否能作為日常桌面系統使用，包括設定中文輸入法的方法。 1. 簡介Alpine Linux # Alpine Linux是一個社群驅動，獨立開發的Linux發行版。預設系統體積很小，跟Tiny Core Linux有得比。Alpine Linux主打給嵌入式裝置使用，例如路由器、防火牆、伺服器。系統跑起來最低只要128MB RAM，系統小到甚至可以在RAM執行，不用安裝到磁碟。目前支援x86、ARM、LoongArch、PPC64、RISC-V、S390等架構。提供32位元x86映像檔，適合老電腦使用。 誰說Linux一定要用GNU coreutils呢？不是GNU/Linux的Linux發行版，這不就來了嗎。為了追求精簡與最小化系統，Alpine Linux不使用臃腫的GNU libc (glibc) ，而是較為musl libc，這個C函式庫的實作比較乾淨安全，使用系統資源較少，RAM佔用更低。但是有時候musl libc的程式執行速度會比glibc慢。\n也因此系統工具並非常見的GNU coreutils，那太bloated啦，隨便都有20MB以上大小。Alpine Linux是直接用更精簡的BusyBox替代。Busybox是位於/bin/busybox的單一執行檔，不到2MB。用這個程式加上符號連結，就可以用更少的空間佔用，實現許多常用的ls、cp、mv、rm、vi指令。\n由於追求最小化，Alpine Linux預設的shell是Busybox提供的ash，連Bash都沒有。使用程式碼不到1000行的doas而非sudo來提升使用者權限。init是OpenRC，不使用Systemd。因為系統十分精簡，預設服務很少，開機非常的快。Alpine Linux套件管理員為APK (Alpine Package Keeper)，本身設計十分簡潔，回應非常迅速，安裝軟體輸入套件名稱後直接安裝，完全不廢話。\n因為小體積、啟動快速的特性，Alpine Linux被應用在iOS的iSH Shell裡面當作基本系統，甚至還有讓舊款手機變身成Linux手機的衍生發行版postmarketOS。在容器應用方面，Alpine Linux作為Docker基礎映像只有5MB大小，遠比Debian小得多，因此不少開發者會選擇Alpine Linux作為基底部署應用。\n那麼，將Alpine Linux當作桌面系統使用可行嗎？是可以。不過硬體需求就會大大增加了。Alpine Linux在headless模式執行之下128MB RAM都能跑，若要跑圖形界面至少也要512MB RAM吧。如果你還要用Firefox瀏覽器等主流程式的話，則是建議要有2GB以上RAM了。\n大部分的GNU/Linux程式都是依賴glibc的C函式庫進行開發的，具體來說程式執行的時候會去找系統的libc.so連結檔，否則根本不能開啟。可是Alpine Linux使用比較少見的musl libc作為C函式庫，導致多語種顯示可能會出問題，執行部份依賴glibc程式會出現錯誤，頂多只有glibc相容層能用。或者得用Flatpak補充軟體，因為容器有打包自己的glibc依賴項，不會因Alpine Linux宿主機缺乏glibc而不能用。\n最致命的是，如果你使用Nvidia顯示卡基本上就GG了，因為Alpine Linux使用musl libc，不能使用針對glibc編譯的閉源Nvidia驅動，只能使用效能差的開源驅動Nouveau。因此要使用Alpine Linux當桌面系統的話，顯示卡最好是使用Linux核心的開源驅動支援的Intel或AMD顯示卡。\nAlpine Linux套件之間為保持簡潔，依賴性比較低。譬如安裝XFCE桌面的時候，apk只會拉最基本的桌面套件下來，其他小元件不會自動安裝，不會塞給你一大包依賴項目。所以安裝某些東西會分成很多個指令，需要自行安裝個別套件補全，無法提供開箱即用的體驗。你需要多查閱Alpine Linux Wiki瞭解特定服務的安裝方式。\n我個人覺得Alpine Linux的取向比較類似OpenBSD，都是主打精簡最小化系統並追求安全性，能夠部署在各種資源受限的環境使用。但因為Alpine Linux使用Linux Kernel，所以硬體相容性比OpenBSD好很多。在網路應用方面，Alpine Linux可以與OpenWrt類比，但又不限於路由器用途。若跟Void Linux和Arch Linux比較，在KISS原則之外，Alpine Linux又更加強調系統最小化。\n儘管如此，Alpine Linux同樣可以安裝成一個含有中文圖形環境的桌面作業系統。Alpine Linux開發者提供了一系列便捷指令稿方便我們安裝系統。\n2. 測試環境 # 主機板：ASUS K31CD-K CPU：Intel i5-7400 GPU：Intel UHD 630 GPU：Nvidia GTX1050Ti 3. 下載Alpine Linux的ISO # Alpine Linux是固定更新的發行版，分為Stable與Edge兩個更新頻道。Stable每6個月釋出一個版本，使用linux-lts核心，通常帶有版本號碼。若要使用滾動更新幫忙測試系統就下載Edge版。\n到Alpine Linux官網下載x86_64架構的ISO，選擇Standard版本。Alpine Linux預設是沒有圖形界面的，只有安裝指令稿。\n下載映像檔之後，檢查檔案完整性防止檔案毀損。\n使用Ventoy製作開機隨身碟。\n將隨身碟插入電腦。電腦重開機，連按Delete鍵，進入UEFI。\n將Secure Boot關閉，選取Disabled。\n接著將開機順序調整為「USB隨身碟」優先開機。\n4. 安裝Alpine Linux基本系統 # 開機只會有tty畫面，輸入root登入系統。\n輸入setup-alpine執行安裝系統指令稿，此安裝系統指令稿不會安裝任何圖形界面，僅安裝可開機的最小系統。建議安裝系統的時候使用以太有線網路。\n接著會問一系列問題，參考選項：\n# 鍵盤配置 Select keyboard layout: [us] Select variant: [us] # 主機名稱 Enter system hostname: [alpine] # 啟用網路界面，通常是以太網路 Which one do you want to initialize? [eth0] # 使用DHCP Ip address for eth0? [dhcp] Do you want to do any manual netowrk configuration? [n] # 設定Root密碼 New password: # 設定時區為臺灣臺北 Which timezone are you in? [Asia/Taipei] #是否設定代理伺服器 HTTP/FTP proxy URL? [none] # 啟用community套件庫 Enter mirror number: [c] # 讓Alpine自動抓取速度最快的套件庫站點 Enter mirror number: [f] # 新增一般使用者帳號\u0026#34;user\u0026#34;和設定密碼 Setup a user? [user] New password for user: # 跳過新增SSH金鑰 Enter ssh key or URL for ivon: [none] # 安裝OpenSSH伺服器並在開機後讓OpenRC自動啟動 Which ssh server? [openssh] # 輸入硬碟代號 Which disk would you like to use? [sda] # 選取sys將系統安裝至硬碟，會自動設定SWAP file與安裝GRUB How would you like to use it? [sys] WARNING: Erase the above disk(s) and continue? [y] 安裝完成之後輸入poweroff關機，退出ISO。\n安裝後開機進入系統，登入root帳號。\n你可以用ip addr指令確認電腦的區域IP位址。Alpine Linux不使用NetworkManager，而是透過在/etc/network/interfaces定義連線規則來連上網路。\n更新APK套件庫。\napk update apk upgrade 安裝vim作為文字編輯器 apk add vim Alpine Linux預設使用doas來提升使用者權限，當然你也可以自行安裝sudo。要讓一般使用者執行doas指令的話，編輯這個設定檔： vim /etc/doas.conf 設定如下，允許所有wheel群組的使用者執行doas指令（在執行setup-alpine指令稿的時候應該就幫你加好了），並且自動記住密碼5分鐘 permit persist :wheel 切換到一般使用者 su user 5. 安裝顯示卡驅動 # 因為Alpine Linux使用musl libc，Nvidia顯示卡的閉源驅動不用想了，根本裝不了，只有開源的Nouveau驅動能用，含在mesa-dri-gallium裡面。\nIntel顯示卡，包括內顯，手動安裝以下套件，以支援OpenGL、Vulkan、VA-API。\ndoas apk add mesa-dri-gallium mesa-va-gallium mesa-vulkan-intel intel-media-driver linux-firmware-i915 6. 安裝桌面環境 # Alpine Linux開發者製作了一系列指令稿方便我們設定圖形環境，包括GNOME、KDE Plasma、XFCE桌面等。要讓系統比較精簡一點就裝XFCE桌面。\n用Alpine Linux內建的指令稿安裝X伺服器，Wayland的話你要手動安裝 doas setup-xorg-base 執行以下指令，輸入xfce，安裝XFCE桌面與LightDM顯示管理器 doas setup-desktop 因為Alpine Linux把套件拆得很細，單單安裝xfce4這個套件並不會將所有XFCE桌面組件都拉下來，你可能需要手動搜尋apk search xfce再自行補完需要的套件。\n安裝音訊伺服器PipeWire，相容PulseAudio。還有XFCE的PulseAudio音量控制面板。\ndoas apk add pipewire pipewire-pulse pipewire-alsa pipewire-jack wireplumber doas apk add xfce4-pulseaudio-plugin 使用rc-update指令，將桌面環境所需的服務加入開機自動啟動。setup-desktop指令稿可能已經幫你自動設定好了不過最好還是手動檢查一下。PipeWire會在登入XFCE之後自動啟動所以不用設定。 doas rc-update add dbus doas rc-update add udev doas rc-update add lightdm 生成常用的使用者目錄 doas apk add xdg-user-dirs LANG=zh_TW.UTF-8 xdg-user-dirs-update 輸入doas reboot重開機，應該就會出現登入界面。\n若登入XFCE之後沒有音量控制面板，在工作列按下右鍵 → 面板，手動新增PulseAudio面板。\n7. 設定中文化與Fcitx5中文輸入法 # 安裝Noto中文字體與musl locales doas apk add font-noto-cjk musl-locales 用vim編輯/etc/environment，新增以下環境變數，設定系統語言為中文 LANG=zh_TW.UTF-8 LC_CTYPE=\u0026#34;zh_TW.UTF-8\u0026#34; LC_NUMERIC=\u0026#34;zh_TW.UTF-8\u0026#34; LC_TIME=\u0026#34;zh_TW.UTF-8\u0026#34; LC_COLLATE=\u0026#34;zh_TW.UTF-8\u0026#34; LC_MONETARY=\u0026#34;zh_TW.UTF-8\u0026#34; LC_MESSAGES=\u0026#34;zh_TW.UTF-8\u0026#34; LC_PAPER=\u0026#34;zh_TW.UTF-8\u0026#34; LC_NAME=\u0026#34;zh_TW.UTF-8\u0026#34; LC_ADDRESS=\u0026#34;zh_TW.UTF-8\u0026#34; LC_TELEPHONE=\u0026#34;zh_TW.UTF-8\u0026#34; LC_MEASUREMENT=\u0026#34;zh_TW.UTF-8\u0026#34; LC_IDENTIFICATION=\u0026#34;zh_TW.UTF-8\u0026#34; LC_ALL= Alpine Linux很多軟體的多語言翻譯檔是另外打包的，通常會以-lang結尾，例如gimp-lang，需要手動安裝。不裝的話就只會有英文界面。\n安裝Fcitx5與注音輸入法\ndoas apk add fcitx5 fcitx5-configtool fcitx5-chinese-addon fcitx5-chewing fcitx5-gtk fcitx5-qt 編輯/etc/environment，新增以下環境變數，啟用Fcitx5輸入法 GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus 使用XDG Autostart讓Fcitx5在登入桌面後自動啟動 mkdir -p ~/.config/autostart/ cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/ 重開機，點選系統匣的鍵盤圖示啟用注音鍵盤。 8. 用APK安裝軟體的方式 # Alpine Linux使用APK (Alpine Linux Package Keeper) 作為套件管理器。套件庫網址定義在/etc/apk/repositories\n更新套件庫快取\ndoas apk update 升級套件\ndoas apk upgrade 搜尋套件\ndoas apk search firefox 安裝套件\ndoas apk add firefox 安裝套件但不使用本機快取，強制重新整理，下載最新版\ndoas apk add --no-cache firefox 移除套件\ndoas apk del firefox 如果遇到強制依賴glibc的軟體，通常是閉源軟體，嘗試使用glibc相容層。\n或者用Flatpak補充軟體，因為容器有打包自己的glibc依賴項，不會因Alpine Linux宿主機缺乏glibc而不能用。\ndoas apk add flatpak 9. 用OpenRC管理系統服務 # Alpine Linux使用OpenRC管理系統服務。開機後透過讀取/etc/inittab，設定runlevel，決定啟動哪些服務。\n對OpenRC來說，所有服務都是一個類似Sysvinit的指令稿，放在/etc/init.d/。理論上你可以之間執行裡面的指令稿來啟動服務，例如doas /etc/init.d/sshd start，不過用OpenRC提供的指令管理更好。\n列出所有服務\ndoas rc-update show 將服務加入到開機自動啟動，便是將該服務加入到default的runlevel，在/etc/runlevels/default/建立符號連結。\ndoas rc-update add sshd 刪除開機自動啟動，便是將/etc/runlevels/default/的服務移除。\ndoas rc-update del sshd 可以手動啟動與停止服務\ndoas rc-service sshd stop doas rc-service sshd start doas rc-service sshd status ","date":"2026年4月25日","externalUrl":null,"permalink":"/posts/install-alpine-linux/","section":"所有文章","summary":"本篇文章將驗證「最小」的Linux發行版之一是否能作為日常桌面系統使用，包括設定中文輸入法的方法。 1. 簡介Alpine Linux # Alpine Linux是一個社群驅動，獨立開發的Linux發行版。預設系統體積很小，跟Tiny Core Linux有得比。Alpine Linux主打給嵌入式裝置使用，例如路由器、防火牆、伺服器。系統跑起來最低只要128MB RAM，系統小到甚至可以在RAM執行，不用安裝到磁碟。目前支援x86、ARM、LoongArch、PPC64、RISC-V、S390等架構。提供32位元x86映像檔，適合老電腦使用。 誰說Linux一定要用GNU coreutils呢？不是GNU/Linux的Linux發行版，這不就來了嗎。為了追求精簡與最小化系統，Alpine Linux不使用臃腫的GNU libc (glibc) ，而是較為musl libc，這個C函式庫的實作比較乾淨安全，使用系統資源較少，RAM佔用更低。但是有時候musl libc的程式執行速度會比glibc慢。\n也因此系統工具並非常見的GNU coreutils，那太bloated啦，隨便都有20MB以上大小。Alpine Linux是直接用更精簡的BusyBox替代。Busybox是位於/bin/busybox的單一執行檔，不到2MB。用這個程式加上符號連結，就可以用更少的空間佔用，實現許多常用的ls、cp、mv、rm、vi指令。\n","title":"安裝Alpine Linux為桌面系統教學 (XFCE桌面 + Fcitx5中文輸入法)","type":"posts"},{"content":"Ivon將討論如何安裝Kubuntu系統，以及介紹常用Linux軟體。讓你能夠將Kubunu當作日常系統使用。 在下面的安裝過程，我們將安裝「單碟」「單系統」，也就是清除現有硬碟上的資料，只安裝Kubuntu一個系統。\n遇到問題，可適時請教社群成員的幫助 。見文末「延伸閱讀」。\n1. Kubuntu與Ubuntu的差別 # Kubuntu是Ubuntu官方維護的其中一個分支版本。\nUbuntu是一款自由開源的作業系統。屬於較為著名的GNU/Linux發行版之一，基於Debian開發，第一個版本於2004年釋出。 Ubuntu主要由英國Canonical公司開發並提供企業支援服務，並與開源社群緊密合作開發軟體。在世界各地有許多Ubuntu的貢獻者，包括台灣與中國大陸，為這個系統提供了原生的中文翻譯界面，還有開發中文輸入法。\nCanonical官方有提供許多不同桌面環境版本的Ubuntu分支(flavor)。本文Ivon使用的是使用的是 Kubuntu Desktop ，適合個人電腦使用。Kubuntu提供基於Ubuntu LTS與最新版Ubuntu的系統映像檔，這裡為求穩定而選擇 Kubuntu LTS 。\nKubuntu的底層Linux核心和系統軟體，幾乎和Ubuntu是一模一樣的，軟體也可以相容。不一樣之處在於上層的「圖形界面」，或稱「桌面環境」。\nUbuntu預設採用的桌面是GNOME，使用GTK寫成，符合大多數企業Linux發行版的主流趨勢。GNOME有自己獨特的工作流程，並且UI設計語言比較簡潔，你必須按照開發者設計的邏輯去操作電腦。\n而Kubuntu使用的是KDE Plasma桌面，使用QT寫成，界面設計比較傳統，Windows 10的界面跟KDE Plasma很像，較容易上手。其實論桌面設計上，KDE Plasma的功能是比GNOME豐富的，但是因為一些開發上的技術因素導致Canonical不把它當成主力產品推廣。KDE Plasma提供了大量的自定義選項，你可以自由修改桌面元件的排列方式，從字型到桌面小工具都能自由安排，還有許多社群製作的主題能下載。還有KDE把很多需要命令行的細部操作都圖形化了，包括防火牆和滑鼠滾輪速度，讓你幾乎不用打指令就能修改電腦設定！\nKDE Plasma還有一系列多功能的附屬應用程式，例如Dolphin檔案管理器可以進入分割視窗檢視檔案。Spectacle螢幕截圖之後可以直接在上面寫字，還有OCR與辨識QR code的功能。看圖軟體Gwenview能夠進行圖片轉檔。諸如這類十分實用之功能。\n關於為何要選擇KDE Plasma桌面而非GNOME，更多詳細比較請看：KDE Plasma與GNOME桌面比較\n如果你已經是KDE Plasma桌面的用戶的話，此處簡述你應該選擇Kubuntu的理由：首先，它有商業公司投入資源維護，而非是像Fedora、openSUSE、KDE Neon那樣大半依賴開源社群製作。跟Debian和Arch Linux比起來，Kubuntu的KDE提供更好的開箱即用體驗。Kubuntu提供基於Ubuntu LTS與最新版Ubuntu的系統映像檔，你可以依照自己能接受的步調去做選擇。要穩定就選Kubuntu LTS，兩年才需要更新。要體驗最新功能不怕bug就安裝最新版Kubuntu，可以每幾個月就升級一次KDE Plasma版本。\n當然，因為Kubuntu算是Canonical的產品，因此開發方向會受到公司決策影響。譬如，KDE的系統設定會嵌入Ubuntu的更新程式和一些客製化界面。並且Kubuntu系統是預先安裝Snap的。如果想要完全無修改的KDE Plasma桌面，那麼Kubuntu可能就不太適合了。\n要怎樣的硬體需求才跑得動Kubuntu呢？Kubuntu對電腦要求不高，沒有特殊硬體需求，只要是近10年以內的電腦應該都可以安裝Kubuntu。不過Kubuntu使用的是相對吃資源的KDE Plasma桌面，因此電腦不能太老。\n建議：選用支援UEFI開機的x86_64電腦主機板，RAM至少4GB，CPU至少2核心以上，Intel和AMD都可以。GPU部份Nvidia、AMD、Intel都支援。系統碟推薦使用SSD，至少留有64GB空間。符合這些條件再來安裝Kubuntu。低於此條件的電腦或許依然可以安裝Kubuntu，但會卡卡的。\n如果不確定您的主機板、Wifi網路卡、藍牙裝置是否有支援Linux驅動程式，可以先到Ubuntu官網的認證硬體以及Linux硬體資料庫查詢相容性。\n2. 硬體資訊 # 我的測試環境：\n電腦型號：MSI Modern 15 A10 CPU：Intel i5-10210U GPU: Intel UHD 620 (內顯) GPU: Nvidia MX350 (獨顯) RAM: 16GB 磁碟：NVME 500GB 預計將會安裝：\n系統版本：Kubuntu 26.04 LTS Linux核心版本：7.0 桌面版本：KDE Plasma 6.6 (Wayland) 3. 製作Kubuntu安裝隨身碟 # 準備一個8GB以上的USB隨身碟，將其插入電腦。\n保持穩定網路連線，至Kubuntu全球官網下載帶有Kubuntu LTS字樣的ISO，點Download下載。 下載後建議檢查檔案完整性防止檔案毀損。\n安裝Ventoy，將ISO放到隨身碟。\nKubuntu可以離線與線上安裝，建議使用後者。雖然Kubuntu本身支援許多Wifi晶片，但還是有些Wifi驅動可能會認不到，因此第一次開機建議先使用有線光纖網路連線，完成安裝。之後再處理Wifi驅動問題。\n調整UEFI設定。現代電腦通常會啟用Secure Boot，然而開啟Secure Boot的電腦可能會無法啟動其他系統。雖然Kubuntu支援Secure Boot，但還是建議將其關閉省得日後裝驅動要簽名的麻煩。每家主機板的設定都不同，請自行查詢官網說明。\n將隨身碟插入電腦。電腦重開機，連按Delete鍵，進入UEFI。\n將Secure Boot關閉，選取Disabled。\n接著將開機順序調整為「USB隨身碟」優先開機。\n儲存設定，退出UEFI。重開機應該會進入Kubuntu的安裝程式，選取第一個按下Enter。\n4. 開始安裝Kubuntu # 等大約1分鐘後，Kubuntu的安裝畫面就會跳出來。如果開機黑螢幕，嘗試重開機，並改用Safe Graphics選項開機試試。\n用滑鼠點選「語言」，選取正體中文，點選「安裝Kubuntu」，下一步。 選取時區為臺灣臺北 鍵盤配置維持預設。需要注意的是這裡雖然寫漢語，但還不能打中文，只是讓你測試鍵盤是否正常而已。 安裝模式選完整(Full)模式。勾選Additional Options讓系統自動安裝需要的驅動。 點選抹除磁碟，使用整個硬碟，安裝Kubuntu系統 設定登入系統的帳號密碼，建議使用英文大小寫＋數字就好，日後無法修改帳號名稱。 確認選項無誤後，開始安裝。 安裝後點選重開機，拔掉隨身碟後按下Enter，電腦會自動重開機。\n5. 進入Kubuntu系統 # 進入Kubuntu系統後，接著建議做這幾件事情：\n熟悉KDE Plasma桌面操作 # Windows 10桌面布局跟KDE Plasma十分類似，您可以任意調整桌面元件的擺放方式。\n點一下桌面左下角可找到所有應用程式列表，包含「系統設定」和終端機「Konsole」。\n右下角則是開關Wifi、藍牙、電池、輸入法、顯示時間的面板。\n不妨先從自訂你的電腦外觀開始吧！點選KDE Plasma畫面左下角的系統設定，找到主題頁面，開始設計你的桌面！在桌面點右鍵也可以自訂面板的排序方式喔！ 安裝常用軟體 # Kubuntu系統應該已內建Firefox瀏覽器、照片檢視器、影音播放器、LibreOffice等常用程式。\nKubuntu只要點選工作列的藍色軟體商店即可下載軟體，這裡可以用deb或Snap格式安裝軟體。請看這篇了解Linux有哪些常用軟體。 要用APT指令裝軟體也行，按左下角的點點，開啟應用程式列表，找到「Konsole」終端機。\n輸入指令更新系統套件：\n# 更新所有套件 sudo apt update sudo apt upgrade 然後安裝想要的套件，例如文字編輯器Vim。\nsudo apt install vim 請注意，執行指令前，尤其是使用sudo的指令，務必知道自己在做什麼才執行。\n使用中文輸入法 # Kbuntu安裝時可能不會自動啟用中文輸入法，你需要手動設定。詳情請參見Fcitx5用法。\n使用KDE Plasma 6 Wayland的話，在系統設定 → 鍵盤 → 虛擬鍵盤，選取輸入法框架為Fcitx5。\n安裝Nvidia顯卡驅動 # Intel和AMD顯示卡不需要特殊驅動就能用，因為驅動都含在Linux核心了。\nNvidia顯示卡用戶建議安裝Nvidia專有驅動才能發揮系統全速。\n延伸閱讀 # Facebook Ubuntu正體中文社團 PTT看板Linux Ubuntu中文论坛 Ubuntu官方說明文件 Kubuntu Docs Home - KDE Community ","date":"2026年4月23日","externalUrl":null,"permalink":"/posts/install-kubuntu-lts/","section":"所有文章","summary":"Ivon將討論如何安裝Kubuntu系統，以及介紹常用Linux軟體。讓你能夠將Kubunu當作日常系統使用。 在下面的安裝過程，我們將安裝「單碟」「單系統」，也就是清除現有硬碟上的資料，只安裝Kubuntu一個系統。\n遇到問題，可適時請教社群成員的幫助 。見文末「延伸閱讀」。\n1. Kubuntu與Ubuntu的差別 # Kubuntu是Ubuntu官方維護的其中一個分支版本。\nUbuntu是一款自由開源的作業系統。屬於較為著名的GNU/Linux發行版之一，基於Debian開發，第一個版本於2004年釋出。 Ubuntu主要由英國Canonical公司開發並提供企業支援服務，並與開源社群緊密合作開發軟體。在世界各地有許多Ubuntu的貢獻者，包括台灣與中國大陸，為這個系統提供了原生的中文翻譯界面，還有開發中文輸入法。\nCanonical官方有提供許多不同桌面環境版本的Ubuntu分支(flavor)。本文Ivon使用的是使用的是 Kubuntu Desktop ，適合個人電腦使用。Kubuntu提供基於Ubuntu LTS與最新版Ubuntu的系統映像檔，這裡為求穩定而選擇 Kubuntu LTS 。\nKubuntu的底層Linux核心和系統軟體，幾乎和Ubuntu是一模一樣的，軟體也可以相容。不一樣之處在於上層的「圖形界面」，或稱「桌面環境」。\n","title":"多功能桌面Kubuntu 26.04 LTS安裝教學，中文輸入法 ＋ Nvidia驅動","type":"posts"},{"content":"Ivon將討論如何安裝Ubuntu 26.04 LTS系統，以及介紹常用Linux軟體。讓你能夠將Ubunu當作日常系統使用。 在下面的安裝過程，我們將安裝「單碟」「單系統」，也就是清除現有硬碟上的資料，只安裝Ubuntu一個系統。\n如果你想安裝Windows + Ubuntu雙系統，請參考這篇。\n遇到問題，可適時請教社群成員的幫助 。見文末「延伸閱讀」。\n1. Ubuntu簡介 # Ubuntu是一款自由開源的作業系統。屬於較為著名的GNU/Linux發行版之一，基於Debian開發，第一個版本於2004年釋出。 Ubuntu深受許多用戶喜愛，因為其提供「開箱即用」的體驗，透過友善的操作界面，大大降低了Linux系統的使用門檻。除此之外，Ubuntu還是許多商業公司部署Linux的熱門人選！在伺服器專業市場十分受歡迎。\nUbuntu主要由英國Canonical公司開發並提供企業支援服務，並與開源社群緊密合作開發軟體。在世界各地有許多Ubuntu的貢獻者，包括台灣與中國大陸，為這個系統提供了原生的中文翻譯界面，還有開發中文輸入法。\n官方有提供許多不同桌面環境版本的Ubuntu分支(flavor)，例如界面華麗的Kubuntu、適合老舊電腦使用的Lubuntu、伺服器專用的純文字Ubuntu Server等等。本文Ivon使用的是使用最廣泛、搭載GNOME桌面的一般版 Ubuntu Desktop ，適合個人電腦使用。\n這裡的Ubuntu又分為兩種更新模式，一種是一年釋出一個大版本的「Ubuntu」，每個版本僅支援9個月。另外一個是兩年釋出一個大版本的「Ubuntu LTS」，可以獲得至少5年的免費更新支援。Ivon在這篇安裝的版本是 Ubuntu LTS 。因為LTS版本的軟體經過較長時間的測試，比較穩定。官方會自發表的年份提供至少5年的免費支援，讓你可以不用頻繁更新系統。\n要怎樣的硬體需求才跑得動Ubuntu呢？Ubuntu對電腦要求不高，沒有特殊硬體需求，只要是近10年以內的電腦應該都可以安裝Ubuntu。不過Ubuntu使用的是相對吃資源的GNOME桌面，因此電腦不能太老。\n建議：選用支援UEFI開機的x86_64電腦主機板，RAM至少6GB，CPU至少2核心以上，Intel和AMD都可以。GPU部份Nvidia、AMD、Intel都支援。系統碟推薦使用SSD，至少留有64GB空間。符合這些條件再來安裝Ubuntu。低於此條件的電腦或許依然可以安裝Ubuntu，但會卡卡的。\n如果不確定您的主機板、Wifi網路卡、藍牙裝置是否有支援Linux驅動程式，可以先到Ubuntu官網的認證硬體以及Linux硬體資料庫查詢相容性。\n2. 硬體資訊 # 我的測試環境：\n電腦型號：MSI Modern 15 A10 CPU：Intel i5-10210U GPU: Intel UHD 620 (內顯) GPU: Nvidia MX350 (獨顯) RAM: 16GB 磁碟：NVME 500GB 預計將會安裝：\n系統版本：Ubuntu 26.04 LTS Linux核心版本：7.0 桌面版本：GNOME 50 (Wayland) 3. 製作Ubuntu安裝隨身碟 # 準備一個8GB以上的USB隨身碟，將其插入電腦。\n保持穩定網路連線，至Ubuntu全球官網下載帶有Ubuntu LTS字樣的ISO，點綠色的Download下載。如果你需要其他版本請到Ubuntu Releases下載。 下載後建議檢查檔案完整性防止檔案毀損。\n安裝Ventoy，將ISO放到隨身碟。\nUbuntu可以離線與線上安裝，建議使用後者。雖然Ubuntu本身支援許多Wifi晶片，但還是有些Wifi驅動可能會認不到，因此第一次開機建議先使用有線光纖網路連線，完成安裝。之後再處理Wifi驅動問題。\n調整UEFI設定。現代電腦通常會啟用Secure Boot，然而開啟Secure Boot的電腦可能會無法啟動其他系統。雖然Ubuntu支援Secure Boot，但還是建議將其關閉省得日後裝驅動要簽名的麻煩。每家主機板的設定都不同，請自行查詢官網說明。\n將隨身碟插入電腦。電腦重開機，連按Delete鍵，進入UEFI。\n將Secure Boot關閉，選取Disabled。 接著將開機順序調整為「USB隨身碟」優先開機。 儲存設定，退出UEFI。重開機應該會進入Ubuntu的安裝程式，選取第一個按下Enter。 4. 開始安裝Ubuntu # 等大約1分鐘後，Ubuntu的安裝畫面就會跳出來，會聽到一個登登～登登的音效。如果開機黑螢幕，嘗試重開機，並改用Safe Graphics選項開機試試。\n用滑鼠點選「語言」，選取正體中文，點選「安裝Ubuntu」，下一步。 鍵盤配置維持預設。需要注意的是這裡雖然寫漢語，但還不能打中文，只是讓你測試鍵盤是否正常而已。 確認電腦連上網路，建議使用有線 點選安裝Ubuntu，如果安裝程式有更新那就讓它更新 選取互動式安裝 使用完整安裝，這樣它會幫你安裝好一些常用文書軟體 勾選安裝第三方軟體，嘗試自動安裝Wifi、顯卡驅動之類的，這需要網路連線。 不論硬碟有無系統，請直接清除磁碟並安裝Ubuntu。 看個人需求是否要加密硬碟，我嫌麻煩就沒開。 設定登入系統的帳號密碼，建議使用英文大小寫＋數字就好，日後無法修改帳號名稱。 設定時區，應該會自動偵測到台北。 確認選項無誤後，等待安裝程式跑完。 點選重開機，拔掉隨身碟後按下Enter，電腦會自動重開機。 5. 進入Ubuntu系統 # 進入Ubuntu系統後，接著建議做這幾件事情：\n熟悉GNOME桌面操作 # Ubuntu採用的是Linux最多人用的GNOME桌面，了解一下快捷鍵與使用技巧，有助於你更好的操作電腦。\n參見：GNOME桌面使用心法，理解設計哲學與操作邏輯\n安裝常用軟體 # Ubuntu安裝程式點選「普通安裝」的話，系統已內建Firefox瀏覽器、照片檢視器、影音播放器、LibreOffice等常用程式。\nUbuntu只要點選工作列的橘色軟體商店即可下載軟體，這裡預設是使用Snap格式安裝軟體。請看這篇了解Linux有哪些常用軟體。 要用APT指令裝軟體也行，按左下角的點點，開啟應用程式列表，找到「終端機」。\n輸入指令更新系統套件：\n# 更新所有套件 sudo apt update sudo apt upgrade 然後安裝想要的套件，例如文字編輯器Vim。\nsudo apt install vim 請注意，執行指令前，尤其是使用sudo的指令，務必知道自己在做什麼才執行。\n使用中文輸入法 # Ubuntu安裝時已安裝注音輸入法，叫作新酷音。按CTRL+空白鍵啟用注音輸入法，按Shift切成英文。\nUbuntu內建的新酷音應該是透過Fcitx5安裝的，詳情請參見Fcitx5用法。\n安裝Nvidia顯卡驅動 # Intel和AMD顯示卡不需要特殊驅動就能用，因為驅動都含在Linux核心了。\nNvidia顯示卡用戶建議安裝Nvidia專有驅動才能發揮系統全速。\n延伸閱讀 # Facebook Ubuntu正體中文社團 PTT看板Linux Ubuntu中文论坛 Ubuntu官方說明文件 ","date":"2026年4月23日","externalUrl":null,"permalink":"/posts/install-ubuntu-lts/","section":"所有文章","summary":"Ivon將討論如何安裝Ubuntu 26.04 LTS系統，以及介紹常用Linux軟體。讓你能夠將Ubunu當作日常系統使用。 在下面的安裝過程，我們將安裝「單碟」「單系統」，也就是清除現有硬碟上的資料，只安裝Ubuntu一個系統。\n如果你想安裝Windows + Ubuntu雙系統，請參考這篇。\n遇到問題，可適時請教社群成員的幫助 。見文末「延伸閱讀」。\n1. Ubuntu簡介 # Ubuntu是一款自由開源的作業系統。屬於較為著名的GNU/Linux發行版之一，基於Debian開發，第一個版本於2004年釋出。 Ubuntu深受許多用戶喜愛，因為其提供「開箱即用」的體驗，透過友善的操作界面，大大降低了Linux系統的使用門檻。除此之外，Ubuntu還是許多商業公司部署Linux的熱門人選！在伺服器專業市場十分受歡迎。\nUbuntu主要由英國Canonical公司開發並提供企業支援服務，並與開源社群緊密合作開發軟體。在世界各地有許多Ubuntu的貢獻者，包括台灣與中國大陸，為這個系統提供了原生的中文翻譯界面，還有開發中文輸入法。\n官方有提供許多不同桌面環境版本的Ubuntu分支(flavor)，例如界面華麗的Kubuntu、適合老舊電腦使用的Lubuntu、伺服器專用的純文字Ubuntu Server等等。本文Ivon使用的是使用最廣泛、搭載GNOME桌面的一般版 Ubuntu Desktop ，適合個人電腦使用。\n","title":"Ubuntu 26.04 LTS安裝教學，中文輸入法 ＋ Nvidia驅動 ＋ 常用軟體","type":"posts"},{"content":"最醜的Sony小手機：Xperia XZ2 Compact開箱。\n在2026年的今天，或許，買舊手機，是給想要尋找大品牌、能刷機的小手機的用戶的一個解決之道。可以用低廉的價格，買到類似iPhone 13 Mini的小尺寸Android機。 1. 尋找Sony小手機 # 現代人墮落了\u0026hellip;\u0026hellip;手機越做越大。\n普通和理所當然的尺寸，到底是什麼呢。\n我這裡小手機的定義乃是說，機身或螢幕尺寸在5吋以下的機子。\n現在拿的主力機是Sony Xperia 10 V，6.1吋，好大支。\n論大品牌、能刷機、無挖孔的小手機，Xperia 5 \u0026amp; 10系列還有Pixel 5我都覺得還是太大支了，我覺得我大概得往回找小手機了，我很喜歡iPhone SE 2016的4吋大小。經典的Sony也值得懷念。好吧，其實我根本沒買過那麼久以前的Xperia，第一支Sony手機是Z2，還是家人觸控壞掉丟給我玩的。總之我要找臺更久以前的小手機。\n不知道餒，以前市場很多小手機，我覺得Sony就是比Samsung和HTC有質感，有獨特的方塊美。\n不能買太舊又不能買太近代的。我差點要去買iPhone 13 Mini，因為它是最近代（2021年）的大品牌小手機了，可是iOS不夠自由而且有瀏海，所以我還是先不要。\n調查下來，2017年的Xperia XZ1 Compact (SD835處理器) 看起來是最理想的選擇，方塊機外觀，GSMArena資料顯示有108h續航耶。SD820以後的處理器即使老了在今天仍然有中階機的效能。可是看拍賣網站的現貨都是不能刷機的日版，得靠漏洞才能解鎖Bootloader。否則Android系統版本過於古老，買來是真的只能收藏用。可能是這臺評價還不錯，即使已經出很久了，二手的也要2000多臺幣。 這樣看來更早之前，2016年出的Xperia X Compact (SD650處理器) 應該也是很好的選擇，只有130g。這些當年售價兩萬多臺幣的機子，現在價格已經掉到了只要1000多臺幣的程度，而且二手的應該能刷機。尺寸只比iPhone SE 1大一點，我喜歡。根據GSMArena資料有73h，這台的續航力甚至比2022年的iPhone SE 2要高！ 可惜要下單Xperia X Compact的時候沒貨了，拍賣網站的店家加量不加價，用同樣1000臺幣的價格，提議換了一隻更高階的給我：2018年出的Xperia XZ2 Compact (SD845處理器)。這臺同樣是小手機。只是這一代的Sony設計語言變化太大，被人說很醜。 GSMArena資料顯示續航力有88h，勉強及格。嘛，看在小手機的份上，我還是勉勉強強接受了。\nXZ2c有LineageOS的Official支援，可以升級到Android 15，不像Xc和XZ1c都只有unofficial的ROM。\n還有，XZ2c是Sony Xperia Compact的末代機型。此後Sony便再也沒有出過Compact這種小旗艦了。雖說Xperia 5系列是其精神繼承者，可是尺寸已經變得太大了！那麼這臺XZ2 Compact還是有其紀念意義的吧。我事後才滿意外，店家還有這支的存貨的，XZ2c比XZ1c要冷門的說，而且理論上XZ2c應該要賣的比XZ1c還貴才對吧\u0026hellip;？店家有眼不識泰山？\n2. 開箱 # Sony Xperia XZ2 Compact於2018年發表。香港建議售價$4,998港幣。臺灣沒有引進。\n搭載SD845處理器，4GB RAM，64GB ROM，可插記憶卡，5吋機身，18:9螢幕，2160x1080解析度，重量169g，2870mAh電池。搭載快門鍵，1900畫素單鏡頭，前鏡頭500畫素。指紋辨識在機背。IP68防水。沒有3.5mm耳機孔。這臺可以說是Sony Xperia XZ2的縮小版。\n雖然店家說這支XZ2c是臺版，但我懷疑根本就是港版，因為開機的繁體中文預設是香港，而且當年臺灣根本就沒上市。4G頻段支援上倒是沒什麼差異就是了。\n我從網路買的，沒有看到實機就下單根本在抽盲盒。所幸買到的這支XZ2c機況不錯，除了喇叭有點問題外幾乎無損傷，電池健康度還有90%以上。\n這臺是LCD螢幕，看現在手機都是OLED有點不習慣這種藍藍的螢幕。它支援DCI-P3與HDR顯示，顏色還算準確。\nXZ2c有白、黑、藍、粉，我抽到的這臺藍綠色外殼。不同場景下會顯示不同的色調，有時候藍有時候綠，若光線顏色不對拍起來會顯得很醜。懶得換了。\n這一代的設計語言變化太大，從OmniBalance改用Ambient Flow，曲面設計替代以往的方塊外型，遭人非議，缺乏「索味」，看起來像是抄襲HTC U11的！在XZ2與XZ3之後，Sony再無採用這種設計。Xperia 1之後變回了方塊造型。 雖然Ambient Flow的設計讓這臺XZ2c看起來很胖，但機背的曲面設計讓人比較好握在手裡，也方便用指紋解鎖。這個類似塑膠質感的玻璃設計不容易沾指紋。頗有2010年代Xperia ZR設計的味道。可是看上去還是粉醜。還我OmniBalance。\n背蓋刻意突起，說是為了模擬水流感覺，以及提供舒適手感。可放在桌上無法放平，可以當作陀螺轉。如果為了拉平而裝殼的話會讓手機變更厚。 XZ2c應該是雙喇叭，但這臺聽筒旁邊會破音，我想說這麼便宜也就不退了。反正我是邊緣人很少用到聽筒。在Android的無障礙設定設定單聲道輸出，然後設定聲道為右側，停用破音的那邊即可。結果用沒幾天，連另一邊喇叭也故障了。具體來說是上下的喇叭很小聲，拉到50%以上音量就會破音，但通話與錄音沒問題。只好再請人修理，可是找不到零件能修，實在太冷門了。所以目前就只能這樣了。\n對了，這支沒有3.5mm耳機孔。當年Sony恬不知恥的編一堆理由學Apple移除耳機孔，結果還不是在Xperia 1 II之後加回來了！\nXZ2c原廠系統最高升級到Android 10，這個時期的Sony UI設計已經幾乎跟原生沒兩樣了。不過仍保有自身的方塊設計風格，有自己的相簿和輸入法。還有主題引擎，可以自訂轉場動畫，這是末代可以套用主題包的版本。結果Sony居然說主題使用率低而砍掉了這個獨家功能！ 這支XZ2c有一個很詭異的功能，3D掃描，可以用相機生成3D模型再讓你丟給3D列印機，不需要用到紅外線模組掃描。好玩但雞肋，這個功能後面機型再無出現。 3. 這就是小手機的好處 # 比較大小：\n看我現在的Xperia 10 V，這臺6.1吋以現在的標準來看是小手機，但與XZ2c比起來根本就是巨人了。 XZ2c比iPhone SE 2016大一點，跟iPhone 8一樣大小。螢幕比較長一些。 方便放入口袋，雖然169g有點沉。\n單手操作打字。 打音遊很方便，小螢幕不要玩資訊繁雜的PVP都還好 拍照部分一手就可以完成，不論是按快門鍵還是虛擬按鍵都很輕鬆。雖然XZ2c只有單鏡頭，不過1900萬畫素成像品質不輸今天的一些中階機。用Open Camera手動控制曝光就有好照片。 自拍鏡頭只有500萬畫素，搞笑用的。 XZ2c的續航力並不是特別突出，但得益於SD845的省電，實際用起來多工作業不太會發熱。4GB RAM跑LineageOS很流暢，就是背景程式殺了兇點。SOT（連續亮著螢幕）時間最低也有4小時，勉強及格吧。小手機我就不強求太多了。在紙面數據上，XZ2c的續航力還勝過同尺寸的iPhone 13 Mini呢。 64GB ROM空間太小？我是不覺得，我又不是重度手遊控，常用社群媒體都有瀏覽器網頁解決，常用APP加起來也不到16GB。XZ2c可以插SD卡，照片都放那兒就好了。再不濟我還有合併儲存空間大法。\n4. 刷機延長續航 # 不知道是不是年代太久遠了，感覺Sony的系統bug很多，例如播放NewPipe桌面會隨機崩潰。還有傳統藝能，插入SIM卡就重開機！？\n把玩幾天後，嗯，不值得留戀，刷機走起：\nXperia XZ2 Compact刷LineageOS教學\n刷機之後系統比較乾淨了些，SOT（連續亮著螢幕）續航力大概4小時。\n還有可以用手勢操作，比舊有的三按鍵導航列要方便多了。\n什麼？你說XZ2c的 18:9 螢幕不是XZ1c那種正宗的小手機 16:9 比例？\n那就用Second Screen手動給螢幕上下增加黑邊，調整成XZ1c的16:9就好啦（智將）再降低解析度到1280x720。提升SOT續航力到6小時之多。反正這螢幕這麼小720p也看不出差別。 再繼續觀察看看，看這臺XZ2c能不能繼續當daily driver。\n實驗幾天下來，嗯，我覺得\u0026hellip;已經回不去這種小螢幕時代了。\n","date":"2026年4月20日","externalUrl":null,"permalink":"/posts/sony-xperia-xz2-compact-review/","section":"Unboxings","summary":"最醜的Sony小手機：Xperia XZ2 Compact開箱。\n在2026年的今天，或許，買舊手機，是給想要尋找大品牌、能刷機的小手機的用戶的一個解決之道。可以用低廉的價格，買到類似iPhone 13 Mini的小尺寸Android機。 1. 尋找Sony小手機 # 現代人墮落了……手機越做越大。\n普通和理所當然的尺寸，到底是什麼呢。\n我這裡小手機的定義乃是說，機身或螢幕尺寸在5吋以下的機子。\n現在拿的主力機是Sony Xperia 10 V，6.1吋，好大支。\n論大品牌、能刷機、無挖孔的小手機，Xperia 5 \u0026 10系列還有Pixel 5我都覺得還是太大支了，我覺得我大概得往回找小手機了，我很喜歡iPhone SE 2016的4吋大小。經典的Sony也值得懷念。好吧，其實我根本沒買過那麼久以前的Xperia，第一支Sony手機是Z2，還是家人觸控壞掉丟給我玩的。總之我要找臺更久以前的小手機。\n不知道餒，以前市場很多小手機，我覺得Sony就是比Samsung和HTC有質感，有獨特的方塊美。\n不能買太舊又不能買太近代的。我差點要去買iPhone 13 Mini，因為它是最近代（2021年）的大品牌小手機了，可是iOS不夠自由而且有瀏海，所以我還是先不要。\n","title":"醜醜5吋小手機Sony Xperia XZ2 Compact開箱","type":"unboxing"},{"content":"Sony Xperia XZ2 Compact是2018年推出的小尺寸旗艦機。出廠搭載Android 8系統，最高可以升級到Android 10。\n我們可以刷入LineageOS，令其支援最新Android 15版本。目前Xperia XZ2 Compact有Official支援，每週都可以收到更新。 1. 刷機前後對比 # LineageOS沒有Sony那麼多內建軟體，預設是乾乾淨淨的系統。\n以下是Sony原廠Android 10界面，這個時期的Sony已經幾乎跟原生沒兩樣了。不過仍保有自身的方塊設計風格。這是末代可以套用主題包的版本。這個版本的系統只有提供三鍵導航列，沒有手勢操作。 刷機後升級Android 15，原生系統，Material You設計，就只有UI會跟著桌布顏色變化。圖示形狀可以設定為圓角或方形。還有可以改用手勢操作，比舊有的三按鍵要方便多了。 LineageOS沒有「超逼真模式」，不過有切換色彩管理設定檔的功能，能夠在sRGB與DCI-P3色域切換，也可以開啟HDR。螢幕發色看起來跟原廠差不多。 雖然LineageOS沒有STAMINA模式，不過SD845本身就很省電所以還好啦。LineageOS系統比較乾淨，刷機之後會比較省電一些。\n刷機後Play Integrity和DRM等級會噴掉，需要找Magisk模組繞過。\n2. 系統需求 # 確認Xperia XZ2 Compact機型版本是否為H8314（美版）或H8324（港版），SO-05K（日版）需要靠Xperable漏洞才能解鎖Bootloader。\n開啟Sony撥號APP，輸入*#*#7378423#*#*，開啟service info → configuration，查看Bootloader unlock allowed是否為Yes。\n刷機前請將Sony原廠韌體更新到最新版Android 10。\n3. 是否要備份TA分區 # 這是舊型Sony手機的限制，手機系統有一個分區專門儲存DRM keys，沒有備份TA分區就解鎖會導致功能永久損毀，例如超逼真模式。\n不過根據XDA報導，Android 9以上版本似乎不需要。\n我自己測試沒備份TA直接解鎖，除了DRM等級以外其他功能都沒影響。因此可以推測XZ2c應該是沒有這個機制的。\n4. 下載LineageOS與GApps刷機檔案 # Linux電腦不需要安裝Android機驅動，不過Windows 11可能需要Sony發表的驅動。\n依照作業系統下載ADB與Fastboot工具，解壓縮使用。\n到LineageOS官網下載XZ2c的LineageOS ROM，根據Wiki，需要下載的檔案為lineage-22-*-nightly-xz2c-signed.zip、boot.img、dtbo.img、vbmeta.img\n為了防止A/B分區出錯，需要下載LineageOS提供的copy-partitions-20220613-signed.zip\n最後是GApps，我選LineageOS Wiki推薦的MindTheGapps，選取Android 15 ARM 64的版本，得到MindTheGapps-15.0.0-arm64-*.zip。\n5. 解鎖Bootloader # 這一步驟會清除所有手機資料，請先備份好。\n將Google帳號全數登出。\n開啟Sony撥號APP，輸入*#*#7378423#*#*， 開啟service info → configuration，查看Bootloader unlock allowed是否為Yes。\n開啟系統設定，在「關於手機」的畫面紀錄手機的IMEI碼\n到Sony Unlock Bootloader官網，滑到下面，選取手機型號，填寫IMEI取得解鎖碼。\n在關於手機的版本號碼點5下，啟用開發人員選項。\n在開發人員選項裡面開啟「允許OEM解鎖」與「允許ADB偵錯」\n將手機連到電腦，使用ADB指令配對\nadb devices 重新啟動進入Fastboot adb -d reboot bootloader 手機螢幕不會顯示任何燈號。\n在電腦確認連接狀態\nfastboot devices 開始解鎖。解鎖碼前面要加上0x fastboot oem unlock 0x解鎖碼 重開機，拔掉傳輸線，等待手機自動清除資料，重開機後再關機。 fastboot reboot 6. 刷入LineageOS ROM # 將手機連到電腦，使用ADB指令配對 adb devices 重新啟動進入Bootloader adb -d reboot bootloader 於存放ROM的目錄開啟終端機，刷入以下三個檔案 fastboot flash dtbo dtbo.img fastboot flash vbmeta vbmeta.img fastboot flash boot boot.img 重開機到Recovery，按著開機鍵 + 音量下鍵，或執行以下指令 fastboot reboot-recovery 應該會進入LineageOS的Recovery\n用音量鍵＋電源鍵，點選Apply update，啟用ADB模式。\n刷入copy-partitions-20220613-signed.zip\nadb -d sideload copy-partitions-20220613-signed.zip 按Advanced → Reboot to recovery，依照提示重新啟動，再次進入Recovery\n點選Factory Reset → Format data / factory reset\n點選Apply update，啟用ADB模式。\n刷入LineageOS ROM\nadb -d sideload lineage-22*-nightly-xz2c-signed.zip 再次點選Apply update，啟用ADB模式。\n刷入GApps，手機顯示Signature verification failed的話點選yes，跳過簽名驗證\nadb -d sideload MindTheGapps-15.0.0-arm64-*.zip 選取Reboot system now，重開機。 7. 安裝Sony原廠APP # 到ApkMirror找。\n最後可用的Sony相機版本：2.2.2.A.0.15，但我只找到Sony Camera 2.2.2.A.0.11。Android 15似乎不能安裝這麼舊的APK，建議用OpenCamera代替。\n3D相機：Sony 3D Creator 3.0.A.0.36\n手機左上角的硬體LED指示燈要到系統設定 → 通知 → 通知指示燈開啟。這裡能夠自訂個別APP通知所使用的顏色。\n8. 取得Root權限 # 選擇性。Root後就可以用原廠功能的音效模組裝回來，取代。\n為了提昇隱蔽性，我使用APatch方案取得Root權限。\n最接近原廠音效功能的應該是這個：reiryuki/Sound-Enhancement-Sony-Xperia-10-Magisk-Module\n","date":"2026年4月20日","externalUrl":null,"permalink":"/posts/sony-xperia-xz2-compact-lineageos/","section":"所有文章","summary":"Sony Xperia XZ2 Compact是2018年推出的小尺寸旗艦機。出廠搭載Android 8系統，最高可以升級到Android 10。\n我們可以刷入LineageOS，令其支援最新Android 15版本。目前Xperia XZ2 Compact有Official支援，每週都可以收到更新。 1. 刷機前後對比 # LineageOS沒有Sony那麼多內建軟體，預設是乾乾淨淨的系統。\n以下是Sony原廠Android 10界面，這個時期的Sony已經幾乎跟原生沒兩樣了。不過仍保有自身的方塊設計風格。這是末代可以套用主題包的版本。這個版本的系統只有提供三鍵導航列，沒有手勢操作。 刷機後升級Android 15，原生系統，Material You設計，就只有UI會跟著桌布顏色變化。圖示形狀可以設定為圓角或方形。還有可以改用手勢操作，比舊有的三按鍵要方便多了。 LineageOS沒有「超逼真模式」，不過有切換色彩管理設定檔的功能，能夠在sRGB與DCI-P3色域切換，也可以開啟HDR。螢幕發色看起來跟原廠差不多。 雖然LineageOS沒有STAMINA模式，不過SD845本身就很省電所以還好啦。LineageOS系統比較乾淨，刷機之後會比較省電一些。\n","title":"Xperia XZ2 Compact刷LineageOS，延續小手機壽命","type":"posts"},{"content":"現在還能將APP移動到SD卡嗎？可以，要看系統。\n在Android 16，部分Android手機依然保有「將SD卡格式化為內部儲存空間」或稱「合併儲存空間」的功能。\n它能夠用SD卡擴充手機現有的儲存空間，例如內部空間只有64G，插入一張64G SD卡，格式化合併，總計就有128G了。\n我這麼做的原因主要是想解決舊機Sony Xperia XZ2c空間太小的問題。本來原廠Android 10系統不提供SD卡格式化為內部儲存空間的功能，刷機成LineageOS 23之後就有了。\n1. Android SD卡存放APP的歷史 # 以前Android 2.3時代很多手機就是以SD卡做儲存空間的，當時很多APP也允許移動到SD卡。如果不行移動的，Root後安裝App2SD多半也能解決。\n但是因為SD卡讀寫速度普遍不如eMMC和UFS（2017年UHS-III標準出來之前，SD卡讀取速度撐死也就100 MB/s，而eMMC隨便都有250 MB/s），加上劣質品牌太多容易造成系統不穩定，在Android 4.4之後手機廠商遂禁止將SD卡存放APP了。變成SD卡只能單純用來放影片照片，或者頂多讓你放遊戲obb數據包而已。\n現在手機幾乎都沒有SD卡槽了，這樣手機廠商也可以逼迫人們花錢買更多儲存空間。\nGoogle在Android 6之後引入了將SD卡格式化為內部儲存空間(Formatting an SD Card as internal storage，又稱Adoptable Storage) 的功能，成為AOSP的一部分，但不是所有廠商都有開放。\n直到Android 16，LineageOS依然保有這個功能。\n2. 將SD卡格式化為內部儲存空間的限制 # 雖然說是SD卡，不過只要是Android能讀取的儲存媒介，透過ADB指令執行adb shell sm set-force-adoptable on之後，都可以格式化。因此你若是有一個固定連接的USB隨身碟，也是可以格式化為內部儲存空間的。\n如果將SD卡格式化為內部儲存空間，在檔案管理器APP裡面就只會顯示SD卡的空間了。\n格式化為內部儲存空間後，使用者應搬移資料，SD卡會掛載到/mnt/expand/，成為新的內部儲存空間，取代原本的/sdcard/。如果使用者選擇不搬移，則只有APP可以搬移到SD卡。\nAPP安裝後依然會優先安裝在儲存在內部空間，需要手動搬移。\n如果抽出SD卡，手機安裝的APP不會直接消失，但部分資料可能就無法讀取了。\n從這邊可以觀察到APK本身還是安裝在手機內部儲存空間，只是/sdcard/Android/data和/sdcard遷移到了SD卡罷了。\n在手機開機的情況下，抽出SD卡，手機內部儲存空間會變成不可用狀態。若APP資料本身儲存在/data，則抽出SD卡不影響APP運作，但若是放在/Android/data的就有問題了。例如瀏覽器會無法下載檔案。\n若要真的把APP安裝到SD卡，需要在系統設定裡面手動將APP搬移過去。這樣APP資料和APK就會真的跑到SD卡。這樣抽掉SD卡，該APP就會暫時從桌面消失。\n3. 如何將SD卡做為內部儲存空間 # 以LineageOS 23 (Android 16) 為例，這個功能是內建的，不需要Root權限。\n開啟系統設定 → 儲存空間，選取SD卡 格式化為內部儲存空間，或者點選以其他方式格式化 然後搬移資料（你可以不搬移，則只有APP可以移動到SD卡） 4. 將APP搬移到SD卡 # 系統設定 → 應用程式，開啟APP設定，進入儲存空間，搬移到SD卡。 這樣APK和資料就會放到SD卡。\n你可能還要到開發人員選項，開啟強制允許APP寫入外部儲存空間。\n5. 調整SD卡分區資料大小 # 使用ADB指令可以調整SD卡分配為內部儲存空間的比例。這樣剩下的空間便可以挪做它用，例如純粹用來儲存資料。\n以下指令雖然能用，但是範例多半是Android 6時代的了。似乎Android 16已經無效？\n查看SD卡的ID，例如SD卡是private:179,1 mounted，那就是179,1。private表示SD卡正作為內部儲存空間使用。public表示是可攜式儲存空間。 adb shell sm list-volumes all 設定為private，將SD卡格式化，全部分配給內部儲存空間使用（上面已經做過此步驟就無需再做） adb shell sm partition disk:179,2 private 也可以在分配給內部儲存空間之後，設定mixed模式，指定80%分配給內部儲存空間，剩下的空間當作外接SD卡（在Android的檔案管理器便會出現兩個SD卡）。這會重新格式化。 adb shell sm partition disk:179,2 mixed 80 如果設定為public，就是將其恢復為外接SD卡 adb shell sm partition disk:179,2 public 6. 電腦可以讀取作為內部儲存空間的SD卡資料嗎 # Android會在SD卡建立加密的f2fs或ext4檔案系統，加密金鑰會儲存在Android手機內部，只有Android系統能讀取SD卡。插到電腦會無法辨識。需要透過MTP或ADB才能解密，讓電腦能間接存取SD卡。\n（比較特殊的情況：若SD卡在電腦已經格式化一次又轉到Android作為內部儲存空間，則在電腦格式化的分區仍可見，但Android資料不可見。）\n由此可見將SD卡格式化為手機內部儲存空間的危險性。手機壞了SD卡資料也無法手動取出。\n7. 解除SD卡作為內部儲存空間 # 系統設定 → 應用程式，將APP移動回手機內部儲存空間（可以到系統設定 → 儲存空間，點選SD卡看哪些APP存在SD卡）\n系統設定 → 儲存空間，遷移資料到內部儲存空間 將SD卡重新格式化為可攜式儲存空間 參考資料 # Adoptable storage - Android Open Source Project ","date":"2026年4月20日","externalUrl":null,"permalink":"/posts/android-adoptable-storage/","section":"所有文章","summary":"現在還能將APP移動到SD卡嗎？可以，要看系統。\n在Android 16，部分Android手機依然保有「將SD卡格式化為內部儲存空間」或稱「合併儲存空間」的功能。\n它能夠用SD卡擴充手機現有的儲存空間，例如內部空間只有64G，插入一張64G SD卡，格式化合併，總計就有128G了。\n我這麼做的原因主要是想解決舊機Sony Xperia XZ2c空間太小的問題。本來原廠Android 10系統不提供SD卡格式化為內部儲存空間的功能，刷機成LineageOS 23之後就有了。\n1. Android SD卡存放APP的歷史 # 以前Android 2.3時代很多手機就是以SD卡做儲存空間的，當時很多APP也允許移動到SD卡。如果不行移動的，Root後安裝App2SD多半也能解決。\n但是因為SD卡讀寫速度普遍不如eMMC和UFS（2017年UHS-III標準出來之前，SD卡讀取速度撐死也就100 MB/s，而eMMC隨便都有250 MB/s），加上劣質品牌太多容易造成系統不穩定，在Android 4.4之後手機廠商遂禁止將SD卡存放APP了。變成SD卡只能單純用來放影片照片，或者頂多讓你放遊戲obb數據包而已。\n","title":"Android手機將APP移動到SD卡，免Root","type":"posts"},{"content":"","date":"2026年4月17日","externalUrl":null,"permalink":"/tags/f-droid/","section":"標籤","summary":"","title":"F-Droid","type":"tags"},{"content":"說到Android的第三方應用程式商店，就不得不提呼應自由軟體精神的「F-Droid」。\n1. 為什麼要使用F-Droid應用商店 # F-Droid是一個自由開源的Android應用商店，由總部位於歐洲的非營利基金會所經營，不依賴Google服務。圖示為Android系統加上著作傳(Copyleft)。 F-Droid跟Google Play以及其他應用程式商店不同，F-Droid只接受上架自由軟體。自由軟體即程式原始碼可見，使用者有執行、檢閱、修改、散佈程式的自由。\n就安全性而言，F-Droid有其獨到之處。F-Droid本身不會審查APK內容，依賴開源社群自發監督。F-Droid不接受開發者上傳編譯好的APK。APP上架時需統一交給F-Droid伺服器從原始碼建置，APP原始碼裡面不可以含有Google追蹤器和其他閉源的元件。然後由F-Droid伺服器簽名APK。這可以確保APP是真的根據原始碼建置而來，避免開發者偷偷給開源程式偷加料的情形，安全性問題可受公開檢驗。\n所以F-Droid幾乎沒有Google Play的熱門APP，遑論大多數「不自由」的手機遊戲。但是，使用者將會發現，許多好用的APP，能夠在不犧牲自由、隱私、安全的前提下使用。例如瀏覽器、檔案管理器、影片播放器這類常用工具，大多數都是免費無廣告，更棒的是他們是自由開源的。 有些開發者會選擇在F-Droid和Google Play同時上架APP，不過F-Droid有更多「技術上合法，但Google Play不允許存在」的APP，例如擋廣告用的Adaway。\n如果您曾在開發者的APP介紹頁面看到以下圖示(Get it on F-Droid)，那就是代表APP可在F-Droid取得啦。 此外，F-Droid會註明該程式是否有「反特徵」行為。例如用NewPipe看Youtube、用第三方Telegram連線到Telegram官方伺服器、自動從Pixiv下載圖片當桌布的Muzei插件，都視為「推廣不自由的網路服務」，代表伺服器端/線上服務並不是自由開源的，仍有資安風險。 儘管如此，現實生活要脫離非自由的網路服務是很難的，所以F-Droid只是提醒使用者，保留選擇權，而非強迫使用者摒棄非自由的服務。\n2. 如何下載F-Droid上面的APP # 你可以選擇在F-Droid的網頁頁面下載APK，或者安裝F-Droid客戶端之後再下載。\nF-Droid網頁版界面可直接下載APP的APK，往下滑點「下載APK」，而非下載F-Droid商店。有些APK會提供arm與x86架構版本，對大部份手機來說應選前者。 建議透過F-Droid商店下載APP，可自動檢查更新。首先安裝F-Droid應用程式商店APK：https://f-droid.org/\n開啟之後，在首頁頂部往下滑，更新軟體庫(repository)才能搜尋和下載APP。 點進要下載的APP頁面，檢視縮圖和權限，點選「安裝」，下載APK。因為F-Droid是非營利組織經營，因此下載會有點慢。 安裝APP時，要先開啟允許這個來源的應用程式。 如果覺得APP好用，就點選APP頁面的捐贈連結贊助該APP的開發者吧！\n3. 什麼是F-Droid軟體庫 # Rrepository即軟體庫，又稱套件庫。除了F-Droid官方的軟體庫，使用者也可以建立自己的或者加入別人的軟體庫，用以下載額外APP，概念類似Linux套件管理員的第三方軟體庫。\nF-Droid官方軟體庫的APK是利用開發者的原始碼在F-Droid伺服器建置而成的，而非開發者自行上傳APK。這樣雖可以保證安全性與公開透明。但F-Droid有一些嚴格的上架條件，例如不得內嵌Google追蹤器的組件，這會導致部分開發者的應用程式無法通過建置。開發者若不上架Google Play就只能在Github發佈APK了。為避免使用者手動到開發者Github下載APK的麻煩，因此有了第三方軟體庫的機制。\n例如，IzzyOnDroid的儲存庫提供大量開源APP，是個很好的補充來源，APK皆來自開發者的Github，而非透過F-Droid建置。像Bromite、Ehviewer Overhualed、Collabora Office的開發者也有經營自己的軟體庫，方便使用者下載他們的APP。\n以基於LibreOffice開發的Collabora Office為例，使用者需要手動加入他們的軟體庫（掃QR Code）才能在F-Droid搜尋到該APP。 軟體庫列表可見到已安裝的軟體庫，裡面的Guardian Project是專門收錄高度隱私、為異議人士設計的自由軟體。\n4. 跟別人分享F-Droid APP # 根據朝陽科技大學洪朝貴教授的文章，F-Droid是西藏人Lhadon Tethong共同建立，因為有異議人士受到政府散播的惡意軟體監控，所以才要建立一個開源的商店。\n這就是為何F-Droid有普通人看來很奇怪的功能，像是首頁的「Nearby」，透過藍芽/Wifi分享apk，還有緊急情況時重置資料，都是為異議人士所設計。 5. F-Droid推薦的APP列表 # F-Droid商店有APP分類，可按需搜尋，某些APP也有中文說明。\n上文提及，F-Droid都是工具類程式居多，不過也是有開源遊戲啦。\n這邊分享一些實用的工具類APP，完整列表見此：F-Droid推薦Android APP列表\n想參與翻譯F-Droid中文APP說明的請到Weblate上貢獻。\n","date":"2026年4月17日","externalUrl":null,"permalink":"/posts/what-is-f-droid/","section":"所有文章","summary":"說到Android的第三方應用程式商店，就不得不提呼應自由軟體精神的「F-Droid」。\n1. 為什麼要使用F-Droid應用商店 # F-Droid是一個自由開源的Android應用商店，由總部位於歐洲的非營利基金會所經營，不依賴Google服務。圖示為Android系統加上著作傳(Copyleft)。 F-Droid跟Google Play以及其他應用程式商店不同，F-Droid只接受上架自由軟體。自由軟體即程式原始碼可見，使用者有執行、檢閱、修改、散佈程式的自由。\n就安全性而言，F-Droid有其獨到之處。F-Droid本身不會審查APK內容，依賴開源社群自發監督。F-Droid不接受開發者上傳編譯好的APK。APP上架時需統一交給F-Droid伺服器從原始碼建置，APP原始碼裡面不可以含有Google追蹤器和其他閉源的元件。然後由F-Droid伺服器簽名APK。這可以確保APP是真的根據原始碼建置而來，避免開發者偷偷給開源程式偷加料的情形，安全性問題可受公開檢驗。\n所以F-Droid幾乎沒有Google Play的熱門APP，遑論大多數「不自由」的手機遊戲。但是，使用者將會發現，許多好用的APP，能夠在不犧牲自由、隱私、安全的前提下使用。例如瀏覽器、檔案管理器、影片播放器這類常用工具，大多數都是免費無廣告，更棒的是他們是自由開源的。 ","title":"F-Droid是什麼？如何使用F-Droid第三方應用商店下載開源APP？","type":"posts"},{"content":" Termux X11は、Androidスマホ上でXサーバーを動かせるアプリです。これは何を意味するのでしょうか。Firefox、Chromium、GIMP、Blender、Visual Studio Codeなど、X11の表示画面に依存するLinuxデスクトップアプリを実行できるということです。AndroidはLinuxカーネルをベースに開発されていますが、グラフィック表示プロトコルは一般的なデスクトップLinuxディストリビューションとは異なります。Linuxのアプリケーションフレームワーク（GTK \u0026amp; QT）は多くがX11またはWayland向けに設計されているため、AndroidではそのままLinuxアプリを動かせません。\nTermux X11はAndroid上で動くXサーバーを提供し、Termux上のLinuxアプリがその中にグラフィカル画面を表示できるようにします。 原理図は以下の通りです。これはGNU/LinuxデスクトップにおけるX Serverの動作方式です。 Termux X11はX ServerをAndroidへ移植し、X11アプリがAndroid上に画面を出力できるようにしています。 Termux X11があれば、virglrendererによる3Dハードウェアアクセラレーションを簡単に実現できます。グラフィック性能はVNCより優れています。\nTermux X11はX11プロトコルを使います。Xディスプレイサーバーは単一アプリの表示にも、完全なLinuxデスクトップ環境の表示にも使えます。\nTermux X11は外付けマウスやキーボードを使えるほか、スマホのタッチ操作でも扱えます。適切なデスクトップ解像度を指定すれば、スマホのキーボードでデスクトップ環境とやり取りできます。 1. Termux X11をインストールする # Termux X11の開発はSparkleから着想を得ています。以前はXWaylandで実現されていましたが、後にxcbへ変更されました。\n現在、Termux X11のシステム要件はAndroid 8以上の端末です。\nTermuxをインストールします\nTermux-x11のGithub ReleasesからAPKファイルをダウンロードします。ほとんどの端末では、arm64-v8aアーキテクチャ版をダウンロードします。\nTermux-x11 APKファイルをインストールします。\nTermuxを開き、x11-repo、termux-x11-nightlyパッケージをインストールします\npkg update pkg upgrade pkg install x11-repo pkg install termux-x11-nightly 2. 利用シナリオ1：Termuxで直接使う # Termuxのパッケージはかなり改造されており、グラフィカルアプリのパッケージは少なめです。そのため、Termux X11はProot-distroと組み合わせて使うほうが選択肢が多く、おすすめです。\nTermux X11アプリを開くと、この画面が表示されます Termuxを開き、XFCE4とGIMPをインストールします\npkg install xfce gimp Termux X11を実行し、dbusでXFCE4を起動します termux-x11 :0 -xstartup \u0026#34;dbus-launch --exit-with-session xfce4-session\u0026#34; Make sure an X server isn't already running(EE)というエラーが出た場合は、Termuxを終了し、TermuxとTermux X11のアプリを強制停止してキャッシュを消去してから、もう一度試してください。\nするとTermux-x11の画面にXFCE4デスクトップが表示されます\nデスクトップ環境を表示せず、Termux端末から直接gimpを実行することもできます。一部アプリのフォントが大きすぎる場合は、XFCE4のシステム設定 → Appearance → Cutsom DPIをクリックします。Termux X11のPreferences設定でも解像度を設定できます。\n通知欄にあるTermux X11のPreferencesをタップすると、「タッチモード」から「模擬タッチパッド」へ切り替えられます。 終了するにはTermuxに戻ってCTRL+Cでプロセスを終了し、ステータスバーを下へスワイプしてExitをタップします。\n3. 利用シナリオ2：Proot-distroと組み合わせて使う # Termux本体のパッケージは不足しがちなので、ProotディストリビューションとTermux X11を組み合わせるほうが便利です。\nまずProot-distroをインストールします。例としてDebianがあります。\nTermux X11アプリを開き、Termuxへ戻ります。\nインストール済みのProot-distroへ一般アカウントuserでログインします。ここでprootへログインするときは、--shared-tmpパラメータを追加します。これはTermuxの$TMPDIRディレクトリをprootの/tmpディレクトリへマウントするという意味です。\nproot-distro login --user user debian --shared-tmp その後はTermuxで直接Termux X11を使う場合と同じように、XFCE4デスクトップを起動します。 termux-x11 :0 -xstartup \u0026#34;dbus-launch --exit-with-session xfce4-session\u0026#34; 起動後、戻るボタンを押すとスマホのキーボードを呼び出せます。ショートカットキーを打ちやすくするため、Hacker\u0026rsquo;s Keyboardの利用をおすすめします。\nProot-distroには利用できる既成パッケージがより多いため、実行できるデスクトップアプリも大幅に増えます。\n4. 利用シナリオ3：chrootと組み合わせて使う # XFCE4デスクトップ付きのchroot Ubuntuを設定します\nTermux X11アプリを起動します\nTermuxへ戻り、Termux X11サーバーを実行します。\ntermux-x11 :0 -ac \u0026amp; Termuxのtmpをchroot Ubuntuのtmpへマウントします sudo busybox mount --bind $PREFIX/tmp /data/local/tmp/ubuntu/tmp chroot Ubuntuにログインします sh /data/local/tmp/startu.sh XFCE4を起動します sudo chmod -R 777 /tmp export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4713 dbus-launch --exit-with-session startxfce4 \u0026amp; 5. Termux X11で本物のWaylandセッションを起動する # Termux X11はXサーバーですが、WestonというWaylandの参照実装を利用すれば、Xサーバー環境下でネストされたWaylandセッション（nested Wayland session）を起動できます。\nパッケージマネージャーでwestonをインストールした後、端末から起動します。\nweston 6. Termux X11のGPUハードウェアアクセラレーション # Termux virglrenderer GPU 3Dを参照してください。\n7. Termux X11でスマホのキーボードを使って中国語を入力する # Preferences → Keyboardをタップし、\u0026ldquo;Workaround to enable CJK Gboard\u0026quot;を有効にします。\nスマホの戻るボタンを押してキーボードを呼び出します。\n下部ツールバーを左へスワイプすると入力欄が表示され、Androidのキーボードで文字を入力できます。\n","date":"2026年4月17日","externalUrl":null,"permalink":"/ja-jp/posts/termux-x11/","section":"Posts","summary":" Termux X11は、Androidスマホ上でXサーバーを動かせるアプリです。これは何を意味するのでしょうか。Firefox、Chromium、GIMP、Blender、Visual Studio Codeなど、X11の表示画面に依存するLinuxデスクトップアプリを実行できるということです。AndroidはLinuxカーネルをベースに開発されていますが、グラフィック表示プロトコルは一般的なデスクトップLinuxディストリビューションとは異なります。Linuxのアプリケーションフレームワーク（GTK \u0026 QT）は多くがX11またはWayland向けに設計されているため、AndroidではそのままLinuxアプリを動かせません。\nTermux X11はAndroid上で動くXサーバーを提供し、Termux上のLinuxアプリがその中にグラフィカル画面を表示できるようにします。 原理図は以下の通りです。これはGNU/LinuxデスクトップにおけるX Serverの動作方式です。 Termux X11はX ServerをAndroidへ移植し、X11アプリがAndroid上に画面を出力できるようにしています。 Termux X11があれば、virglrendererによる3Dハードウェアアクセラレーションを簡単に実現できます。グラフィック性能はVNCより優れています。\n","title":"Termux X11：スマホで使うXサーバーの使い方","type":"posts"},{"content":"Termux X11是可以在Android手機跑X伺服器的APP，這意味著什麼呢？它可以用來執行依賴X11顯示畫面的Linux電腦程式，例如Firefox、Chromium、GIMP、Blender、Visual Studio Code等等。Android雖然基於Linux核心開發，但是圖形顯示協定跟一般電腦Linux發行版使用的不一樣。Linux的程式框架（GTK \u0026amp; QT）多半都是針對X11或Wayland設計的，所以Android不能跑Linux程式。\nTermux X11提供一個在Android上執行的X伺服器，讓Termux的Linux程式可以在裡面顯示圖形界面。 原理圖如下，這是GNU/Linux電腦的X Server運作方式 Termux X11把X Server移植到了Android，令X11程式能在Android輸出畫面 有了Termux X11你就可以方便透過virglrenderer實現3D硬體加速了，圖形效能比VNC更好。\nTermux X11使用X11協定，X顯示伺服器可顯示單一應用程式，也可以用來顯示完整Linux桌面環境。\nTermux X11可以外接滑鼠鍵盤，也可以用手機觸控操作。只要指定適當的桌面解析度便可用手機鍵盤與桌面環境互動。 1. 安裝Termux X11 # Termux X11開發靈感來自於Sparkle，以前是使用XWayland實現的，後來改成了xcb。\n目前，Termux X11系統要求為Android 8以上的裝置。\n安裝Termux\n到Termux-x11的Github Releases下載APK檔。對於大多數裝置，下載arm64-v8a架構的版本。\n安裝Termux-x11 APK檔。\n開啟Termux，安裝x11-repo、termux-x11-nightly套件\npkg update pkg upgrade pkg install x11-repo pkg install termux-x11-nightly 2. 使用情境1: 直接在Termux使用 # 由於Termux的套件都有經過魔改，圖形程式的套件比較少，所以建議Proot-distro使用Termux X11，選擇較多。\n開啟Termux X11 APP，會顯示這個畫面 開啟Termux，安裝XFCE4和GIMP\npkg install xfce gimp 執行Termux X11，用dbus啟動XFCE4 termux-x11 :0 -xstartup \u0026#34;dbus-launch --exit-with-session xfce4-session\u0026#34; 如果遇到Make sure an X server isn't already running(EE)的錯誤，退出Termux，將Termux和Termux X11的APP強制停止，清除快取，再重試。\n接著在Termux-x11的畫面就會看到XFCE4桌面了\n不顯示桌面環境，在Termux終端機直接執行gimp也是可以的。如果部份APP的字體太大，開啟XFCE4的系統設定 → Appearance → 點選Cutsom DPI。Termux X11的Preferences設定裡面也可以設定解析度。\n點選通知欄Termux X11的Preferences，可從「觸控模式」切換成「模擬觸控板」。 要中止就是返回Termux按CTRL+C終止行程，狀態欄下滑點選Exit。\n3. 使用情境2: 配合Proot-distro使用 # 由於Termux本身套件缺乏，用Proot發行版配合Termux X11會更好。\n首先，安裝一個Proot-distro，例如Debian。\n開啟Termux X11 APP，再回到Termux。\n以一般帳戶user登入安裝的Proot-distro。在這裡登入proot時要附加--shared-tmp的參數，代表掛載Termux的$TMPDIR目錄到proot的/tmp目錄。\nproot-distro login --user user debian --shared-tmp 之後跟Termux直接執行Termux X11一樣，啟動XFCE4桌面。 termux-x11 :0 -xstartup \u0026#34;dbus-launch --exit-with-session xfce4-session\u0026#34; 啟動後按返回能夠喚醒手機鍵盤，推薦使用Hacker\u0026rsquo;s Keyboard方便打快捷鍵。\n由於Proot-distro會有更多現成的套件可以用，所以能運行的桌面程式會多更多。\n4. 使用情境3: 配合chroot使用 # 設定帶有XFCE4桌面的chroot Ubuntu\n啟動Termux X11 APP\n返回Termux，執行Termux X11伺服器：\ntermux-x11 :0 -ac \u0026amp; 將Termux的tmp掛載至chroot Ubuntu的tmp sudo busybox mount --bind $PREFIX/tmp /data/local/tmp/ubuntu/tmp 登入chroot Ubuntu sh /data/local/tmp/startu.sh 啟動XFCE4 sudo chmod -R 777 /tmp export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4713 dbus-launch --exit-with-session startxfce4 \u0026amp; 5. Termux X11啟動真Wayland工作階段 # Termux X11是X伺服器，但是呢只要借助Weston這個Wayland參考實作，我們就能在X伺服器環境下啟動巢狀Wayland工作階段(nested Wayland session)。\n用套件管理員安裝weston後，用終端機啟動：\nweston 6. Termux X11的GPU硬體加速 # 參見 Termux以virglrenderer達成GPU 3D硬體加速\n7. Termux X11使用手機鍵盤打中文 # 點選Preferences → Keyboard，啟用\u0026quot;Workaround to enable CJK Gboard\u0026quot;.\n按手機返回鍵，喚醒鍵盤。\n將底部工具列往左滑就會出現輸入框，讓你用Android的鍵盤打字。\n","date":"2026年4月17日","externalUrl":null,"permalink":"/posts/termux-x11/","section":"Termux-Tutorials","summary":"Termux X11是可以在Android手機跑X伺服器的APP，這意味著什麼呢？它可以用來執行依賴X11顯示畫面的Linux電腦程式，例如Firefox、Chromium、GIMP、Blender、Visual Studio Code等等。Android雖然基於Linux核心開發，但是圖形顯示協定跟一般電腦Linux發行版使用的不一樣。Linux的程式框架（GTK \u0026 QT）多半都是針對X11或Wayland設計的，所以Android不能跑Linux程式。\nTermux X11提供一個在Android上執行的X伺服器，讓Termux的Linux程式可以在裡面顯示圖形界面。 原理圖如下，這是GNU/Linux電腦的X Server運作方式 Termux X11把X Server移植到了Android，令X11程式能在Android輸出畫面 有了Termux X11你就可以方便透過virglrenderer實現3D硬體加速了，圖形效能比VNC更好。\nTermux X11使用X11協定，X顯示伺服器可顯示單一應用程式，也可以用來顯示完整Linux桌面環境。\nTermux X11可以外接滑鼠鍵盤，也可以用手機觸控操作。只要指定適當的桌面解析度便可用手機鍵盤與桌面環境互動。 1. 安裝Termux X11 # Termux X11開發靈感來自於Sparkle，以前是使用XWayland實現的，後來改成了xcb。\n","title":"Termux X11：手機的X伺服器使用教學","type":"termux-tutorials"},{"content":"","date":"2026年4月17日","externalUrl":null,"permalink":"/ja-jp/tags/wayland/","section":"Tags","summary":"","title":"Wayland","type":"tags"},{"content":"","date":"2026-04-17","externalUrl":null,"permalink":"/en-us/tags/x-server/","section":"Tags","summary":"","title":"X Server","type":"tags"},{"content":"","date":"2026年4月17日","externalUrl":null,"permalink":"/ja-jp/tags/x-window/","section":"Tags","summary":"","title":"X Window","type":"tags"},{"content":"在Linux系統使用Virt Manager + QEMU/KVM跑舊版Windows系統的虛擬機。 想用Windows虛擬機執行一些老遊戲。嘗試安裝看看Windows 98、Windows XP、Windows 7這類20年前的老系統吧！沒有現代Windows 11那麼重型又有種懷舊風味。\n雖然很多Windows老遊戲在Linux都能用Wine執行，它有辦法相容到DOS時代的遊戲，不過有些遊戲就是要在Windows環境玩才對味嘛。\n需要安裝Windows XP嗎？Windows 7的年代就夠久了，還相容許多32位元老遊戲。系統UI有屬於那個年代的美感，屬於是夾在現代與舊時代作業系統的交界。\n1. 測試環境 # 宿主機：Ubuntu 26.04 虛擬機：Windows 7 Ultimate 2. 下載Windows 7 ISO # 自己找ㄅ 啟用序號也自行找\u0026hellip;譬如Microsoft Activation Scripts。\nInternet Archive上面的ISO感覺都不太能信任\u0026hellip;那這個網站好像風評還不錯，有很多老舊系統：https://os.click/en 直接下載64位元的就好。\n3. 安裝Windows 7虛擬機 # 安裝QEMU/KVM與Virt Manager\n新增虛擬機，新版QEMU似乎將32位元與64位元合併了，所以模擬選項只有x86_64可選，但虛擬CPU可以選擇使用宿主機型號，或者使用舊型Intel CPU模擬。\n為了相容性，選擇SATA磁碟，不用VirtIO。如果藍螢幕，使用IDE。\n機器類型選Q35，Windows 7理應支援，除非要用Windows XP再選更舊的i440fx。不用選UEFI系統，維持傳統BIOS就好了。除非你要搞GPU直通，那才需要OVMF UEFI。\n開機後依照指示完成Windows 7安裝。\n4. 快速安裝Windows Update # Windows 7直到維護週期結束之前都還有推送更新。透過Updatepack7R2這個程式可以一次將需要的更新檔全部載下來，不用一直重開機。\n尚支援Windows 7的瀏覽器有Supermium。\n5. 如何與Windows虛擬機共享檔案 # Virt Manager沒有VirtulalBox那種簡單的檔案傳輸方案。\n我通常是用virtio-fs，可是那要Windows 10以上才能用，Windows 7和Windows XP支援度不確定。嘗試下載virtio 285版本，用CDROM裝置掛載到Windows 7虛擬機，嘿，居然還能裝耶，但只有一部分。但不能直接執行virtio-win-gt.exe。\n那麼對於老版本Windows而言，就只有透過SMB了，區域網路讀取速度應該很快。\n參見如何在Linux用Docker架設一個SAMBA服務：用Docker在Linux架設SMB伺服器\n或者，單純要傳輸檔案的話：在宿主機python3 -m http.server執行一個簡易Server，將目前目錄暴露到區域網路。即使是古老版本的IE也可以打開網頁下載檔案。這樣我至少可以先把Supermium的安裝檔空投進去。然後下載Update7R2完成更新修補。\n6. 3D圖形加速 # 需要手動到Window 7 裝置管理員，開啟virtio的QXL資料夾，讓它安裝驅動。安裝後就可以開啟Aero特效了？還是不行呀\u0026hellip;。起碼QXL顯卡提供基本2D加速，讓虛擬機監視器畫面不太會撕裂了。\n最後要如何搞定虛擬機3D加速呢\u0026hellip;GPU直通無效，因為我的內顯和獨顯都太新了！除非我去找一張Windows 7時代支援的顯卡並直通進去吧\u0026hellip;。\n或許我電腦的Intel UHD 630多少還是受Windows 7支援的，但找不到驅動程式。\n","date":"2026年4月17日","externalUrl":null,"permalink":"/posts/install-windows-7-qemu-kvm-on-linux/","section":"所有文章","summary":"在Linux系統使用Virt Manager + QEMU/KVM跑舊版Windows系統的虛擬機。 想用Windows虛擬機執行一些老遊戲。嘗試安裝看看Windows 98、Windows XP、Windows 7這類20年前的老系統吧！沒有現代Windows 11那麼重型又有種懷舊風味。\n雖然很多Windows老遊戲在Linux都能用Wine執行，它有辦法相容到DOS時代的遊戲，不過有些遊戲就是要在Windows環境玩才對味嘛。\n需要安裝Windows XP嗎？Windows 7的年代就夠久了，還相容許多32位元老遊戲。系統UI有屬於那個年代的美感，屬於是夾在現代與舊時代作業系統的交界。\n1. 測試環境 # 宿主機：Ubuntu 26.04 虛擬機：Windows 7 Ultimate 2. 下載Windows 7 ISO # 自己找ㄅ 啟用序號也自行找…譬如Microsoft Activation Scripts。\nInternet Archive上面的ISO感覺都不太能信任…那這個網站好像風評還不錯，有很多老舊系統：https://os.click/en 直接下載64位元的就好。\n3. 安裝Windows 7虛擬機 # 安裝QEMU/KVM與Virt Manager\n新增虛擬機，新版QEMU似乎將32位元與64位元合併了，所以模擬選項只有x86_64可選，但虛擬CPU可以選擇使用宿主機型號，或者使用舊型Intel CPU模擬。\n","title":"新電腦玩老遊戲：使用QEMU/KVM安裝Windows 7虛擬機","type":"posts"},{"content":" 彼らはこう言う。熟練したLinuxユーザーなら、unix sock(et)sの操作を理解しているべきで、当然unix socksも履くべきだ。coding力が倍増する、と。 真夏にこういう長い靴下を履くのは本当に暑くて死ぬ🥵\nうん\u0026hellip;\u0026hellip;たぶん私のcoding力がまだ足りないのだろう。このピンクの靴下の長さは、かろうじて太ももに届く程度だ。 それから、数年前に買った白いシェルジャケットは、かなり伍佰《純白的起點》アルバムジャケットの雰囲気がある。\n今年はこの新しい青いジャケットを買った。見たところは普通のスタジャンだ。 しかし配色を少し濃くすれば、これは高松燈のMyGOバンド衣装ジャケットになるのではないか（幻視）\nこの服はメンズでもレディースでもいけるはずだよね\u0026hellip;?なんとなく、化粧しないと外に出られない感じがして、少し女装を試してみたくなった。\n私はすごいエンジニアを何人か知っていて、その一部は女装癖があり、一部はトランスジェンダーの人だ。しかし今の私の身分と接している人々を考えると、着て外に出ればより高い確率で社会的に死ぬ。だから、私はサイバー空間でだけ共有する。\n","date":"2026年4月15日","externalUrl":null,"permalink":"/ja-jp/posts/the-first-unix-socks/","section":"Foss-Issues","summary":" 彼らはこう言う。熟練したLinuxユーザーなら、unix sock(et)sの操作を理解しているべきで、当然unix socksも履くべきだ。coding力が倍増する、と。 真夏にこういう長い靴下を履くのは本当に暑くて死ぬ🥵\nうん……たぶん私のcoding力がまだ足りないのだろう。このピンクの靴下の長さは、かろうじて太ももに届く程度だ。 それから、数年前に買った白いシェルジャケットは、かなり伍佰《純白的起點》アルバムジャケットの雰囲気がある。\n今年はこの新しい青いジャケットを買った。見たところは普通のスタジャンだ。 しかし配色を少し濃くすれば、これは高松燈のMyGOバンド衣装ジャケットになるのではないか（幻視）\nこの服はメンズでもレディースでもいけるはずだよね…?なんとなく、化粧しないと外に出られない感じがして、少し女装を試してみたくなった。\n私はすごいエンジニアを何人か知っていて、その一部は女装癖があり、一部はトランスジェンダーの人だ。しかし今の私の身分と接している人々を考えると、着て外に出ればより高い確率で社会的に死ぬ。だから、私はサイバー空間でだけ共有する。\n","title":"初めてのUnix Socks","type":"foss-issues"},{"content":"","date":"2026年4月15日","externalUrl":null,"permalink":"/ja-jp/tags/hackintosh/","section":"Tags","summary":"","title":"Hackintosh","type":"tags"},{"content":" Hackintosh is (kind of) dead.\nなぜHackintoshを使うのか？あるいは、なぜmacOSを使うのか？\nMacbookとiPhoneは監獄である。それなのにユーザーはAppleの檻を喜んで受け入れ、それが流行にまでなり、自分を果粉だと誇り、商品拜物教を形成している。\nリチャード・ストールマンがRTテレビで言った言葉を借りれば、一般人はスティーブ・ジョブズの話術に説得され、Macbookはおしゃれでクールだと思い、自分からApple Storeへ走って行き、「どうか私に手錠をかけてください！」と言うのだ。\nRichard Stallman Talks About Free Software RT News（10:58分處） ここに一言補える：エンジニアはUnix-basedなシステムは便利だと思っているので、自由度を犠牲にしても問題ない。私にも手錠を一つください！見てください、私は大金を払ってoverpricedな手錠を買い、その上には私の名前まで刻印されているんですよ！\nAppleの実体商品を崇拝するだけでも十分に大げさだが、さらに大げさなのはOSを崇拝することだ。Apple公式販売ではないハードウェアへmacOSをインストールするために形成された黑蘋果 (Hackintosh)コミュニティは、その典型例である。\n2020年、AppleはARMアーキテクチャへの移行を始め、x86アーキテクチャのMacコンピューターへのサポートを段階的に放棄し始めた。\nApple公式資料とメディア報道を総合すると、macOS 26はx86_64アーキテクチャをサポートする最後のmacOSバージョンになるはずだ。将来的には、最上位のiMac Proであっても、Intelプロセッサを使用しているかぎりアップグレードできない。今後はARMアーキテクチャのMacしか使えなくなる。\nつまり今後、普通のx86コンピューターではHackintoshで遊べなくなる。Hackintoshは（ほぼ）死んだ。少なくとも最新版macOSはインストールできない。旧版macOSはHackintosh互換のx86ハードウェアへまだインストールできるが、主流ソフトウェアからのサポートは徐々に捨てられていくだろう。現段階では、オープンソースコミュニティがApple Siliconを解析した成果としてAsahi Linuxがあるが、macOSをApple社製ではないARMデバイスへインストールすることはまだできない。\n実のところ、私はこれでいいと思っている。人々にHackintoshを完全に諦めさせるからだ。この二十数年、Hackintoshを動かすことは、もともと大企業のbootlickerになる行為だった。\n誰もが知っているHackintoshの豆知識を一つ話そう。Hackintoshをインストールするとき、通常はブートローダーに以下の文字列を追加しなければ、カーネルを正常に復号して起動できない：\nourhardworkbythesewordsguardedpleasedontsteal(c)applecomputerinc\nこの文こそがDont Steal Mac OS.kextだ。彼らが自社OSの知的財産権をどれほど丁寧に保護しているか見てほしい！Apple認証ではないハードウェアでmacOSを実行することは、窃盗行為なんですよ！それなのにあなたは、こんな会社の顔色に合わせようとするのか？\nここで言うbootlickerには、OpenCoreやCloverのようなオープンソースのブート方式を熱心に作っている達人たちは含まない。彼らは多大な貢献をしている。macOSの構造を研究し、大量のplistとkextを書き、Apple公式認可ではないドライバーを動かせるようにしている。もしかすると本当に、オープンソースコミュニティが完全に自由なmacOSをリバースエンジニアリングする助けになるかもしれない。たとえばravynOSはDarwinカーネルとFreeBSDのオープンソースコンポーネントを混合したmacOS風システムであり、このシステムの存在はWindowsをリバースエンジニアリングするReactOSに少し似ている。このような研究用途でHackintoshを使う場合だけは有益である。\nだが、私が主に言っているのはHackintoshユーザーの心態だ。bootlickerに属する、あるいは彼らを\u0026quot;apple\u0026quot; polisherと呼ぶほうがよいかもしれない。大企業のものを破解することで、自分の虚栄心を満たしている。しかしmacOSは依然としてクローズドソースソフトウェアであり、BSD革命の果実を盗んだ邪悪な資本である。これもBSDが悪い。FreeBSDが簡単に寝取られるBSDライセンスを使い、GPLを使わなかったからだ。德匹下。\nmacOSでは、ユーザーの自由はあらゆるところでApple社に制御されている。Homebrewという不具のパッケージマネージャーを使うことを強いられ、さらにAppleの計画的陳腐化を受け入れなければならない。期限が来ればシステムをアップグレードできなくなる。その会社が「私たちはもう十分長くサポートした」と主張していてもだ。\nもしmacOSのデザイン美学が欲しいだけなら、LinuxにGNOMEやKDE Plasmaデスクトップをインストールし、少しテーマを入れれば80%くらい似たグラフィック体験は得られる（White-Surプロジェクトを参照）。それなのに、わざわざHackintoshをいじり、自分から進んで監獄へ入るのは、本当に理解しがたい。これを研究する時間があるなら、トースターでLinuxを動かす方法でも考えたほうがいい。\n一歩譲って、商業ソフトウェアを使うにしても、互換性がより広いWindowsをインストールするほうがHackintoshよりよいのではないか？Windowsはたとえ邪悪でも、少なくともユーザーに基本的なハードウェア選択の自由を与える意思はある。何もかも一つの巨大企業にがっちり支配されているわけではない。\n私たちがもっと研究すべきなのは、不自由なハードウェアへLinuxをインストールし、そのドライバーをリバースエンジニアリングして、ユーザーのコンピューターを解放することだ。macOSのような不自由なシステムをより多くのデバイスへ広めようとすることではない。\nたとえmacOSがUnix-basedであっても、同じく推薦に値しない。1980年代のハッカー精神はとっくに失っている。\nしたがって、HackintoshやWindows on ARMを移植するより、Linux on everythingのほうが価値があるのではないか？Linuxを魔改造してAndroidのような囲い込み型システムにする悪質な会社は別として。\nMacbookとiPhoneは監獄である。それなのにユーザーはAppleの檻を喜んで受け入れ、それが流行にまでなり、自分を果粉だと誇り、商品拜物教を形成している。\n2011年、Apple社のスティーブ・ジョブズが亡くなったあと、各方面が次々に追悼文を発表した。しかし自由ソフトウェア財団の会長リチャード・ストールマンは、「死んでよかった」と評した。\n彼が個人ブログで述べた原文はこうだ：\n\u0026quot; Steve Jobs, the pioneer of the computer as a jail made cool, designed to sever fools from their freedom, has died. \u0026hellip;\u0026hellip; I\u0026rsquo;m not glad he\u0026rsquo;s dead, but I\u0026rsquo;m glad he\u0026rsquo;s gone. \u0026hellip;Nobody deserves to have to die \u0026hellip;\u0026hellip; not even people guilty of bigger evils than theirs. But we all deserve the end of Jobs\u0026rsquo; malign influence on people\u0026rsquo;s computing. \u0026quot;\n粗訳：\n「スティーブ・ジョブズ、愚かなユーザーのためにクールな監獄を作り、人々から自由を奪うことを専門にしたパーソナルコンピューターの先駆者は、死んだ。\u0026hellip;..私は彼の死を喜んでいるわけではないが、彼が去ったことは嬉しい。\u0026hellip;\u0026hellip;誰も死んで当然などということはない\u0026hellip;\u0026hellip;たとえ彼が犯した悪事が何世代かけても償えないものであっても。しかし私たちは結局、ジョブズによるパーソナルコンピューターへの悪質な設計の影響を受け続けることになる。」\nこの言葉には多くの解釈がある。一つは、リチャード・ストールマンがApple社製品のもたらした影響を非常に不快に思っていた、というものだ。Apple社はプロプライエタリソフトウェアを推進し、それをMacハードウェアと抱き合わせ、大衆がコンピューター製品を選ぶ好みに影響を与えた。さらにApple製品は一部のBSDオープンソースプロジェクトの成果を借用しながら、システムを不自由なソフトウェアへ変えてしまった。これは「自由ソフトウェアの敵」と言える。Apple社はMicrosoftより善良なわけではないので、リチャード・ストールマンがこれほどAppleを嫌うのも不思議ではない。彼は自分の信念を最後まで貫く人物である。\nいまジョブズが亡くなったあと、彼の影響力も消えた。\nそして私たちは、さらに貪欲なティム・クックを目にした。\nApple社によるユーザーへの支配は、MicrosoftやGoogleと同じく、増えることはあっても減ることはない。美名はAppleエコシステムだが、実際にはユーザーをより深い檻へ閉じ込め、抜け出せなくしている。\nもしあなた自身が相対的に自由なハードウェア（x86はARMより互換性が高い）を持っており、さらに自由なLinuxとBSDオペレーティングシステムを選べるなら、なぜ自分をmacOSの監獄へ閉じ込める必要があるのか？\n","date":"2026年4月15日","externalUrl":null,"permalink":"/ja-jp/posts/i-am-glad-hackintosh-is-dead/","section":"Foss-Issues","summary":" Hackintosh is (kind of) dead.\nなぜHackintoshを使うのか？あるいは、なぜmacOSを使うのか？\nMacbookとiPhoneは監獄である。それなのにユーザーはAppleの檻を喜んで受け入れ、それが流行にまでなり、自分を果粉だと誇り、商品拜物教を形成している。\nリチャード・ストールマンがRTテレビで言った言葉を借りれば、一般人はスティーブ・ジョブズの話術に説得され、Macbookはおしゃれでクールだと思い、自分からApple Storeへ走って行き、「どうか私に手錠をかけてください！」と言うのだ。\nRichard Stallman Talks About Free Software RT News（10:58分處） ここに一言補える：エンジニアはUnix-basedなシステムは便利だと思っているので、自由度を犠牲にしても問題ない。私にも手錠を一つください！見てください、私は大金を払ってoverpricedな手錠を買い、その上には私の名前まで刻印されているんですよ！\nAppleの実体商品を崇拝するだけでも十分に大げさだが、さらに大げさなのはOSを崇拝することだ。Apple公式販売ではないハードウェアへmacOSをインストールするために形成された黑蘋果 (Hackintosh)コミュニティは、その典型例である。\n","title":"Hackintoshは死んだ、それでいい。macOSを使うこと自体が不自由なシステムを広める行為だ","type":"foss-issues"},{"content":"","date":"2026年4月15日","externalUrl":null,"permalink":"/ja-jp/tags/macos/","section":"Tags","summary":"","title":"MacOS","type":"tags"},{"content":"","date":"2026年4月15日","externalUrl":null,"permalink":"/tags/gpu-passthrough/","section":"標籤","summary":"","title":"GPU Passthrough","type":"tags"},{"content":"","date":"2026年4月15日","externalUrl":null,"permalink":"/tags/nvidia/","section":"標籤","summary":"","title":"Nvidia","type":"tags"},{"content":"想要在我的搭載獨顯的MSI Modern 15 A10筆電搞GPU直通給虛擬機，才發現我遇到奸商了。心很累。\n雖然我大部分時候使用Ubuntu的KDE桌面作業，不過偶爾還是需要用到Windows軟體，所以我就想裝個KVM虛擬機，並在需要3D加速的時候直通GPU進去。原來GPU直通並不像桌機那樣簡單，還得研究一下筆電構造。\n1. 確認筆電連接獨顯的配置 # 很多有獨顯筆電的都是Intel內顯 ＋ Nvidia獨顯的配置。少部份為AMD + Nvidia獨顯。\nNvidia顯示卡在筆電上仰賴「Optimus」技術來切換顯示卡。根據Lan Tian Blog的介紹，搭載Nvidia的筆電，內部會有以下三種接法：\nNvidia Optimus MUXless架構，難以GPU直通 Nvidia Optimus MUXed架構，最適合GPU直通 Nvidia顯卡直連螢幕，難以GPU直通 確認筆電連接獨顯的方式，可以從lspci輸出的訊息來推斷： lspci -nnk | grep -A 3 -i \u0026#34;VGA\\|3D\u0026#34; 判讀方式： VGA compatible controller：代表這是MUXed。 3D controller：這是MUXless。 如果是MUXed的話，直通GPU的方式就跟一般桌機沒兩樣，參見Ubuntu Nvidia GPU直通教學。\n可，我這台MSI Modern 15 A10有Intel UHD620內顯 + Nvidia MX350獨顯，但是在lspci輸出的資訊顯示3D Controller，表示我的電腦屬於「Nvidia Optimus Muxless」架構，也就是Nvidia顯示晶片不是連在HDMI輸出孔上的，是經過內顯傳送的。這樣的話，即使用VFIO方式將Nvidia顯示卡直通進去，虛擬機也不能輸出畫面。與此同時，宿主機的HDMI孔依然會輸出內顯的訊號。\n簡單來說，就是這種架構下直通Nvidia GPU屬於是沒屁用的。雖然Linux虛擬機是可以認到Nvidia GPU，但它並不能用於渲染。\n大概是因為我筆電顯卡太低階了，不可能將獨顯弄成像PC一樣是獨立的PCI裝置吧。\n於是我就只好改用GPU虛擬化的方式了。Intel舊型GPU都支援GVT-g的顯示卡虛擬化技術。透過mdev分配給虛擬機，然後安在虛擬機內裝驅動就可以了。但是這個Intel在虛擬機內沒有HDMI輸出怎麼辦呢？Virt Manager的監視器又容易lag。只得用Looking Glass技術，透過KVM Framebuffer的方式來輸出虛擬機畫面。Intel內顯的VRAM由RAM決定。\n2. 替代方案 # 因此，要讓虛擬機使用3D加速，就得搞GPU虛擬化，例如Intel GVT-g或者SR-IOV的方法。\n我這台是Intel i5-1020u，可以使用Intel GVT-g分割資源給虛擬機使用。 ","date":"2026年4月15日","externalUrl":null,"permalink":"/posts/nvidia-muxelss-optimus-linux-laptop-gpu-passthrough/","section":"所有文章","summary":"想要在我的搭載獨顯的MSI Modern 15 A10筆電搞GPU直通給虛擬機，才發現我遇到奸商了。心很累。\n雖然我大部分時候使用Ubuntu的KDE桌面作業，不過偶爾還是需要用到Windows軟體，所以我就想裝個KVM虛擬機，並在需要3D加速的時候直通GPU進去。原來GPU直通並不像桌機那樣簡單，還得研究一下筆電構造。\n1. 確認筆電連接獨顯的配置 # 很多有獨顯筆電的都是Intel內顯 ＋ Nvidia獨顯的配置。少部份為AMD + Nvidia獨顯。\nNvidia顯示卡在筆電上仰賴「Optimus」技術來切換顯示卡。根據Lan Tian Blog的介紹，搭載Nvidia的筆電，內部會有以下三種接法：\nNvidia Optimus MUXless架構，難以GPU直通 Nvidia Optimus MUXed架構，最適合GPU直通 Nvidia顯卡直連螢幕，難以GPU直通 確認筆電連接獨顯的方式，可以從lspci輸出的訊息來推斷： lspci -nnk | grep -A 3 -i \"VGA\\|3D\" 判讀方式： VGA compatible controller：代表這是MUXed。 3D controller：這是MUXless。 如果是MUXed的話，直通GPU的方式就跟一般桌機沒兩樣，參見Ubuntu Nvidia GPU直通教學。\n可，我這台MSI Modern 15 A10有Intel UHD620內顯 + Nvidia MX350獨顯，但是在lspci輸出的資訊顯示3D Controller，表示我的電腦屬於「Nvidia Optimus Muxless」架構，也就是Nvidia顯示晶片不是連在HDMI輸出孔上的，是經過內顯傳送的。這樣的話，即使用VFIO方式將Nvidia顯示卡直通進去，虛擬機也不能輸出畫面。與此同時，宿主機的HDMI孔依然會輸出內顯的訊號。\n","title":"在Linux筆電直通Nvidia GPU給QEMU/KVM虛擬機（Optimus MUXed）","type":"posts"},{"content":"用幾條簡單的指令快速在Ubuntu Linux架設一個SAMBA伺服器，並透過Docker容器隔離，讓Windows電腦可以存取SMB共享資料夾。\nSAMBA是SMB協定（網路上的芳鄰）的開源實作，目的在於讓Linux可以與Windows電腦分享檔案以及印表機等資源。只要在Linux跑SAMBA服務，Windows電腦便可以透過區域網路連線，用檔案總管打開Linux的共享資料夾，在兩台電腦間傳輸檔案。\n1. 為什麼我要用Docker跑SAMBA # 在Linux直接安裝SAMBA安裝太麻煩啦。我只是要分享電腦上的一些檔案而已。我希望這個過程應該是dead simple的。\n看看SAMBA - Arch Wiki列出的步驟，不知道在Ubuntu設定SMB共用資料夾為什麼要搞那麼麻煩，SAMBA要寫設定檔和規定權限，還要建立一個專門用戶，好複雜，堪比NFS，難道是因為這個技術實在太古老了嗎，或者是為了Windows的複雜權限管理所設計。\n雖然現在SAMBA能用Systemd自動管理但還是覺得不方便。因此我都用SSHFS(SFTP)居多，因為直接跟SSH共用通訊埠就好了 。\n但是SMB是更廣泛實現的協定，從Windows 95以降的系統都有內建，無需額外安裝軟體就能用，若要跟Windows電腦交換檔案還是有個SMB比較好。\n使用Docker容器跑SAMBA的話，可以將SMABA服務與Linux宿主系統隔離，並且只暴露需要的目錄到網路上。即使權限設定不很嚴格，從外部存取SMB的人也看不到Docker容器內部和掛載進去以外的資料夾，這樣可以增加系統安全性。\n關於SAMBA安全性：目前已知SMB v1.0有嚴重安全性漏洞，可能被勒索病毒利用。故現在SAMBA使用的協定版本多半已經升級到3.0了。\n2. 安裝Docker # 參見：Linux系統各發行版安裝Docker Engine教學\n3. 撰寫docker-compose # 不用自己打包Docke映像檔，Github上面有很多現成的範本。請找至少一年內還有在更新的。例如這個：Docker container of Samba 它已經幫你做好範本了，只要在docker-compose.yml填入連線時候的帳號密碼，還有要分享的資料夾路徑就行。\n新增存放資料的路徑 mkdir ~/samba-docker cd ~/samba-docker 從Github取得smb.conf範本，按需修改 wget -O smb.conf https://raw.githubusercontent.com/dockur/samba/refs/heads/master/smb.conf 例如，我為了提昇安全性，在smb.conf加入以下設定，限定客戶端連線進來的最低SMB協定版本為SMBv2 [global] min protocol = SMB2 取得docker-compose.yml範本，按需修改 wget -O docker-compose.yml https://github.com/dockur/samba/blob/master/compose.yml 例如這是我的範例，分享Linux家目錄下的~/下載目錄 services: samba: image: dockurr/samba container_name: samba environment: NAME: \u0026#34;Linux\u0026#34; # 分享的名稱 USER: \u0026#34;samba\u0026#34; # 使用者帳號 PASS: \u0026#34;12345678\u0026#34; # 密碼 UID: \u0026#34;1000\u0026#34; # 符合目前Linux使用者的權限 GID: \u0026#34;1000\u0026#34; ports:~/samba-docker - 445:445 # 冒號左邊是對外開放的通訊埠 volumes: - /honme/user/下載/:/storage # 冒號左邊是要分享的目錄路徑 - ./smb.conf:/etc/samba/smb.conf # 允許自訂smb.conf內容 restart: always # 開機自動啟動 然後啟動就可以了。 docker compose up -d SMB預設通訊埠是445，如果防火牆有擋記得開放 sudo ufw allow 445 sudo ufw reload 使用ip addr取得Linux電腦的IPV4位址，通常應該是192.168.開頭的。\n在同一區域網路的另外一台Windows電腦，開啟檔案總管，開啟網路，在檔案路徑輸入\\\\Linux電腦IP，輸入帳號密碼，就可以連線到Linux的SAMBA。\n若不用Docker容器的時候就把這個服務關掉。\ncd ~/samba-docker docker compose down ","date":"2026年4月14日","externalUrl":null,"permalink":"/posts/samba-docker/","section":"所有文章","summary":"用幾條簡單的指令快速在Ubuntu Linux架設一個SAMBA伺服器，並透過Docker容器隔離，讓Windows電腦可以存取SMB共享資料夾。\nSAMBA是SMB協定（網路上的芳鄰）的開源實作，目的在於讓Linux可以與Windows電腦分享檔案以及印表機等資源。只要在Linux跑SAMBA服務，Windows電腦便可以透過區域網路連線，用檔案總管打開Linux的共享資料夾，在兩台電腦間傳輸檔案。\n1. 為什麼我要用Docker跑SAMBA # 在Linux直接安裝SAMBA安裝太麻煩啦。我只是要分享電腦上的一些檔案而已。我希望這個過程應該是dead simple的。\n看看SAMBA - Arch Wiki列出的步驟，不知道在Ubuntu設定SMB共用資料夾為什麼要搞那麼麻煩，SAMBA要寫設定檔和規定權限，還要建立一個專門用戶，好複雜，堪比NFS，難道是因為這個技術實在太古老了嗎，或者是為了Windows的複雜權限管理所設計。\n雖然現在SAMBA能用Systemd自動管理但還是覺得不方便。因此我都用SSHFS(SFTP)居多，因為直接跟SSH共用通訊埠就好了 。\n但是SMB是更廣泛實現的協定，從Windows 95以降的系統都有內建，無需額外安裝軟體就能用，若要跟Windows電腦交換檔案還是有個SMB比較好。\n","title":"用Docker在Ubuntu架設SMB伺服器，與Windows分享檔案","type":"posts"},{"content":"Linux可以用Virt Manager + QEMU/KVM，安裝Windows虛擬機，並將Nvidia GPU直通給Windows虛擬機改善圖形效能。在那之後我們尚要處理一個問題，那就是如何存取Windows系統的畫面？\nVirt Manager預設會插入一個虛擬顯示卡（通常是QXL），然後再透過SPICE協定通訊，我們在Virt Manager視窗所看到的畫面便是虛擬顯示卡的畫面。而直通進去的Nvidia顯示卡要輸出畫面，得再接一個實體螢幕才可以看到Nvidia輸出的畫面，此時就會產生二個螢幕。\n但是這裡有二個問題：1. Windows應用程式即使在電源設定指定使用Nvidia算繪，QXL的畫面依然有效能低落和畫面不同步的問題。2. 我不喜歡放兩個螢幕。我希望可以在單個螢幕存取Linux和Windows的畫面。\n這個時候「Looking Glass」就是款有用的工具。 Looking Glass使用KVM Framebuffer技術，讓使用者能夠從Linux宿主機開一個視窗，直接存取Windows系統的畫面，畫面都是透過DXGI或Nvidia Capture傳送到Linux算繪的，所以延遲極低，玩遊戲是有可能的。\n如下圖，Linux透過Looking GLass存取Windows系統的桌面，Looking Glass下的3DMark分數與實機相差不遠。 唯一要考量的是Looking Glass需要額外花費資源在宿主機解碼畫面，可能會對宿主機帶來額外負擔，導致畫面傳輸效率比不上實體螢幕。\n至於如何解決實體二個螢幕的問題，我們可以利用Virtual Display Driver或HDMI欺騙器，於Windows系統虛擬出第二個螢幕，如此一來就不需要實體螢幕佔空間了，然後告訴Looking Glass擷取該螢幕內容傳送到Linux即可。\n1. Looking Glass可以搭配使用的技術 # 只要能讓虛擬機看到顯卡，就可以讓Looking Glass渲染。\nGPU直通，將顯卡PCI裝置整個給虛擬機獨佔，例如Nvidia GPU直通、Intel GPU直通、AMD GPU直通。\nGPU虛擬化，宿主機與虛擬機共享顯卡資源，例如Intel GVT-g或者Nvidia vGPU或者SR-IOV。\n2. 環境 # 虛擬機軟體：Virt Manager + QEMU/KVM 宿主機系統：Ubuntu 26.04 LTS 虛擬機系統：Windows 11 25H2 說明：\nLooking Glass Host這個軟體僅支援Windows 10以上系統。雖然Linux虛擬機也可以用但不在本文討論範圍。\n如果你有安裝QXL顯示卡的驅動(virtio)，請解除安裝，否則Looking Glass會抓不到其他螢幕。通常只要到Windows裝置管理員 → 顯示卡，解除安裝RedHat QXL WDDM DOD顯示卡驅動就可以了。\n有些顯示卡可能會不認得Virtual Display Driver所虛擬的螢幕，導致顯示卡無法發揮全速，此時還是得用HDMI欺騙器插在顯示卡上才可以。\n3. 安裝Windows 11虛擬機 # 參考Ubuntu安裝QEMU/KVM\n再安裝Windows 11虛擬機。虛擬機顯示卡用Virtio。\n然後設定Nvidia GPU直通。\n4. 於Linux宿主機安裝Looking Glass Client # 這個是負責在Linux顯示Windows畫面的客戶端。\n參考官方指示安裝，例如Ubuntu可以從套件庫安裝Looking Glass Client（找不到的話手動到Launchpad下載.deb檔安裝）\nsudo apt install looking-glass-client 使用apt policy looking-glass-client確認Looking Glass Client版本\nLinux的Looking Glass客戶端設定檔位於~/.looking-glass-client.ini\n5. 新增IVSHMEM裝置到虛擬機 # IVSHMEM (Inter-VM Shared Memory device) 是讓宿主機與虛擬機共享記憶體的檔案。\n開啟Virt Manager，編輯Windows 11的XML。\n在\u0026lt;devices\u0026gt;區塊的加入IVSHMEM裝置。下面32M是以螢幕解析度為1920x1080下去算的。計算公式為：(螢幕寬 x 螢幕高 x 4 x 2) ÷ 1024 ÷ 1024 + 10，四捨五入取最接近的2的平方數。\n\u0026lt;devices\u0026gt; ... \u0026lt;shmem name=\u0026#39;looking-glass\u0026#39;\u0026gt; \u0026lt;model type=\u0026#39;ivshmem-plain\u0026#39;/\u0026gt; \u0026lt;size unit=\u0026#39;M\u0026#39;\u0026gt;32\u0026lt;/size\u0026gt; \u0026lt;/shmem\u0026gt; ... \u0026lt;/devices\u0026gt; 新增設定檔，使Linux系統開機自動建立/dev/shm/looking-glass的暫存檔 sudo vim /etc/tmpfiles.d/10-looking-glass.conf 填入以下內容。user是您的使用者名稱。 f\t/dev/shm/looking-glass\t0660\tuser\tkvm\t- 重開機，或者用以下指令立即建立tmpfs。 sudo systemd-tmpfiles --create /etc/tmpfiles.d/10-looking-glass.conf 6. 於Windows虛擬機安裝Looking Glass Host # 將Windows虛擬機開機\n到Fedora網站，下載stable-virtio目錄下的virtio-win-gt-x64.msi，點選安裝Virt-IO驅動。 在虛擬機內安裝最新Microsoft Visual C++可轉散發，檔名為VC_redist.x64.exe 到官網下載Looking Glass Host壓縮檔。照Linux所安裝的Looking Glass Client，安裝對應版本的Looking Glass Host。例如Looking Glass Client版本為B6，這裡就要下載B6版本。 解壓縮，安裝Looking Glass Host Looking Glass Host預設會在Windows開機後自動啟動，若無請到Windows的「服務」選單手動啟動Looking Glass。（建議一併用netplwiz設定開機自動登入Windows帳號）\nLooking Glass Host的設定檔位於C:/Program Files/Looking Glass (host)/looking-glass-host.ini\n7. 調整Looking Glass Host要擷取的螢幕 # Windows虛擬機同時有QXL和直通Nvidia，二個顯示卡的情況下，Looking Glass Host可能會抓錯螢幕。\nLooking Glass Host雖然有dxgi:output的參數，但似乎沒辦法設定預設要抓取哪個螢幕，所以只能在Windows系統手動指定。\n開啟Windows系統設定 → 顯示，現在應該會看到二個螢幕 點選第二個螢幕 → 進階顯示設定，確認這是Virtual Display Driver生成的螢幕 在Linux啟動Looking Glass Guest\n再將Windows螢幕改為「只在2顯示」或者「將2作為主要顯示器」。 8. 在Linux宿主機啟動Looking Glass Client # 其餘參數參考官方文件。註解：Looking Glass比較適合在X11桌面使用，全螢幕的時候會停用合成器降低延遲。Wayland桌面會無法全螢幕，需要去掉-F改用視窗模式。\n輸入指令啟動，加上-F顯示全螢幕，-k顯示FPS，egl:vsync防止畫面撕裂。 looking-glass-client -F -k egl:vsync 如果Windows虛擬機有連線那麼應該就會看到桌面，此時Virt Manager的畫面會黑掉。 Looking Glass Guest預設是用SPICE來輸入鍵盤與滑鼠訊號給虛擬機的。若滑鼠位置跑來跑去，請準備第二組滑鼠，在Virt Manager新增硬體的界面直通進去。\n按Scroll Lock + R旋轉螢幕。\n跳出全螢幕請按Scroll Lock ＋ F。\n參考資料 # Looking Glass - Home GPU Passthrough + Looking Glass + no external monitor/dummy ","date":"2026年4月13日","externalUrl":null,"permalink":"/posts/looking-glass-host-for-windows/","section":"所有文章","summary":"Linux可以用Virt Manager + QEMU/KVM，安裝Windows虛擬機，並將Nvidia GPU直通給Windows虛擬機改善圖形效能。在那之後我們尚要處理一個問題，那就是如何存取Windows系統的畫面？\nVirt Manager預設會插入一個虛擬顯示卡（通常是QXL），然後再透過SPICE協定通訊，我們在Virt Manager視窗所看到的畫面便是虛擬顯示卡的畫面。而直通進去的Nvidia顯示卡要輸出畫面，得再接一個實體螢幕才可以看到Nvidia輸出的畫面，此時就會產生二個螢幕。\n但是這裡有二個問題：1. Windows應用程式即使在電源設定指定使用Nvidia算繪，QXL的畫面依然有效能低落和畫面不同步的問題。2. 我不喜歡放兩個螢幕。我希望可以在單個螢幕存取Linux和Windows的畫面。\n這個時候「Looking Glass」就是款有用的工具。 Looking Glass使用KVM Framebuffer技術，讓使用者能夠從Linux宿主機開一個視窗，直接存取Windows系統的畫面，畫面都是透過DXGI或Nvidia Capture傳送到Linux算繪的，所以延遲極低，玩遊戲是有可能的。\n如下圖，Linux透過Looking GLass存取Windows系統的桌面，Looking Glass下的3DMark分數與實機相差不遠。 ","title":"Ubuntu的Looking Glass安裝教學，低延遲顯示Windows虛擬機畫面","type":"posts"},{"content":"","date":"2026年4月13日","externalUrl":null,"permalink":"/tags/gpu-virtualization/","section":"標籤","summary":"","title":"GPU Virtualization","type":"tags"},{"content":"","date":"2026年4月13日","externalUrl":null,"permalink":"/tags/intel/","section":"標籤","summary":"","title":"Intel","type":"tags"},{"content":"分享在GNU/Linux玩遊戲的技巧。\nLinux玩遊戲的實用工具：Linux常用軟體\n如果Steam Proton沒辦法執行遊戲，請考慮Windows虛擬機：Steam Proton V.S. Windows GPU直通虛擬機\n","date":"2026年4月13日","externalUrl":null,"permalink":"/categories/linux%E7%8E%A9%E9%81%8A%E6%88%B2/","section":"分類","summary":"分享在GNU/Linux玩遊戲的技巧。\nLinux玩遊戲的實用工具：Linux常用軟體\n如果Steam Proton沒辦法執行遊戲，請考慮Windows虛擬機：Steam Proton V.S. Windows GPU直通虛擬機\n","title":"Linux玩遊戲","type":"categories"},{"content":"Gaming on Linux with Steam Proton, or gaming in Windows VM with GPU passthrough on Linux Host?\n最近幾年我一直在研究Linux系統玩Windows遊戲的方法，在嘗試了各種方案後，逐漸有了答案。 這裡有二個前提：\n主力用Ubuntu Linux，我不偏好雙系統開機的模式，所以便剩下Steam Proton和VFIO Windows虛擬機的方案。\n我知道很多遊戲是有跨平台版本的，比如Minecraft，但是大部分開發者依然只在乎Windows，所以只要遊戲玩得多了，遇到Windows限定的遊戲是不可迴避的問題，「拒玩」不是選項，也無「替代品」可尋。\n1. 名詞定義 # Steam Proton指透過Proton遊玩Steam上架的Windows遊戲。由於近年來Valve大力投資Linux軟體開發，甚至出了Steam Deck，使得玩Steam遊戲基本上是開箱即用。但是Proton不是Valve獨立開發的，它延伸自開源的Wine專案，所以其實不需要Steam，你可以用其他遊戲啟動器搭配Wine轉譯玩Windows遊戲。不過Steam的界面設計確實是最無腦的，所以我用Steam Proton代稱用Wine轉譯Windows遊戲的玩遊戲方式。如果真的不想研究Proton問題的話\n相關文章：Linux安裝Steam玩Windows遊戲 VFIO Windows虛擬機 (VFIO Gaming VM)，這個名詞來自於歐美玩家的稱呼，指的是依賴QEMU/KVM技術建立Windows虛擬機玩遊戲的方式。光是建立虛擬機是不夠的，還要透過Linux核心的VFIO技術將GPU直通給虛擬機，使其能夠負載3D運算。最後設定Looking Glass或Moonlight + Sunshine服務，就能從Linux桌面低延遲的存取Windows桌面。由於虛擬機是完整的Windows系統環境，所以執行起來跟實機幾乎沒有差別。\n或許你會跟我爭論說，在Windows虛擬機玩遊戲根本就不是在Linux玩遊戲了呀！但這個Windows虛擬機還是跑在Linux上、且依賴Linux的KVM虛擬化技術才有的結果呀！\n相關文章：VFIO Windows虛擬機 ＋ GPU直通 ＋ Looking Glass安裝 2. 二者的不確定因素 # Steam Proton的不確定因素：\n遊戲開發者重視Linux的程度 Proton轉譯的穩定性 輸入法 驅動程式問題 反作弊程式相容性 安裝第三方模組、外掛、中文化的難易度 VFIO Windows虛擬機的不確定因素：\n架設虛擬機環境的難易度 反作弊程式偵測虛擬機 虛擬化的硬體性能損耗 存取虛擬機的容易度 3. 有時候我會傾向使用VFIO Windows虛擬機方案 # 有時，我認為VFIO Windows虛擬機的方案只是對Steam Proton的補充，真有無法執行的遊戲程式再使用VFIO。但有時，卻覺得應當反過來了。\n如果真的不想研究Proton問題的話，VFIO Windows虛擬機方案比較無腦。\n如果要比較的話，我覺得Steam Proton的問題比較大。因為變數太多了。\n遊戲開發者要怎麼展現對Linux系統用戶的誠意呢？至少推出原生版的程式吧！很可惜這是幾乎不可能的事情，市面上半數遊戲開發商依然只會推出Windows版的遊戲。Windows遊戲可以透過Proton跑不代表就完美無缺的說。而且很多時候是玩家以第三者的角度認為Proton轉譯讓遊戲可以玩，但遊戲開發者根本就不在乎這方面問題，你能玩只是運氣好而已。\n再者，安裝遊戲之後如果不需要特別打模組那倒還好，直接體驗原作內容。但，要使用第三方程式的遊戲就會很痛苦了，需要調整一堆有的沒的WINE環境，還得注意有哪些.Net的依賴套件要裝。\n最糟糕的情況是Proton轉譯後遊戲有莫名的bug，無法在Windows重現，此時就只能依賴玩家社群尋求解方。若是遊戲太小眾根本找不到解答，所以tweak Wine的環境很多時候是在自虐。每當有一款遊戲能在Linux成功執行，就好像發現寶藏一樣的感覺，問題是失敗的例子也很多啊。如果真的不想研究Proton問題的話\n這裡有個想法強化了支持VFIO虛擬機的論點：「我是來玩遊戲的，你們要幹什麼？點一下按鈕就該開玩，不要跟我說要打指令打patch什麼碗糕的！」\n我沒有貶低Linux社群開發者的努力，輔助工具越來越多，Linux玩遊戲越來越方便了，但就2024年的現狀來看，Steam Proton還是很吃腦力的玩遊戲方式。\nSteam Proton安裝起來很容易，但後續的問題還多著呢，屬於是先甘後苦。\n相較之下，VFIO Windows虛擬機環境一旦架設起來了，至少軟體部份不會有太多變數。唯一的問題大概就反作弊程式擋虛擬機的問題，這個有很多解法能繞過。\n至於硬體損耗問題，Linux的虛擬機是跑在KVM上的，遊戲執行效率的確會比實機差一些，但是不會到性能變成一半的誇張情況。假若硬體強度足夠支撐，那麼這點損耗可以忽略不計，例如一台電腦有8核心CPU，分一半核心數給Windows虛擬機就足夠輕度遊戲了吧。\n圖片引用自Mental Outlaw的影片：https://www.youtube.com/watch?v=KVDUs019IB8\n那麼，如何存取虛擬機的問題，我講過了，Looking Glass或者Moonlight + Sunshine都能簡單的解決「從Linux桌面存取虛擬機桌面」的問題。\nVFIO初期繁雜的問題搞定了之後，往後的遊戲執行都不會有太大問題。算是先苦後甘。\n所以，我選擇進入虛無。\n補充一點，身為Linux用戶，我依然會關注Steam Proton未來的開發進展，但由於VFIO綁定GPU直通，宿主機無法測試遊戲，那麼我就只有兩種選擇：\n第一種，手動GPU直通切換，視需要分配給給宿主機或虛擬機，這個應該能用libvirt hook達成。參見：虛擬機直通Nvidia GPU後讓Linux宿主機重新使用GPU\n第二種，將Linux玩遊戲的環境也虛擬化，也就是另外開一個Linux虛擬機，分配GPU給虛擬機，再用Sunshine存取該虛擬機的桌面。參見：Sunshine裝在QEMU/KVM虛擬機裡，從Linux宿主機串流玩遊戲\n類似討論 # Ask HN: Those who run mainly Linux and game on Windows, what\u0026rsquo;s your setup like in 2024? VFIO/Passthrough in 2023 - Call to Arms - Level1Techs Forums Performance: GPU Passthrough vs Steam Play/Proton - /r/VFIO Reddit gaming - Proxmox Support Forum 從Windows到Linux：VFIO及Looking Glass介紹 · Reguna ","date":"2026年4月13日","externalUrl":null,"permalink":"/posts/linux-gaming-steam-proton-vs-vfio-gaming-vm/","section":"所有文章","summary":"Gaming on Linux with Steam Proton, or gaming in Windows VM with GPU passthrough on Linux Host?\n最近幾年我一直在研究Linux系統玩Windows遊戲的方法，在嘗試了各種方案後，逐漸有了答案。 這裡有二個前提：\n主力用Ubuntu Linux，我不偏好雙系統開機的模式，所以便剩下Steam Proton和VFIO Windows虛擬機的方案。\n我知道很多遊戲是有跨平台版本的，比如Minecraft，但是大部分開發者依然只在乎Windows，所以只要遊戲玩得多了，遇到Windows限定的遊戲是不可迴避的問題，「拒玩」不是選項，也無「替代品」可尋。\n1. 名詞定義 # Steam Proton指透過Proton遊玩Steam上架的Windows遊戲。由於近年來Valve大力投資Linux軟體開發，甚至出了Steam Deck，使得玩Steam遊戲基本上是開箱即用。但是Proton不是Valve獨立開發的，它延伸自開源的Wine專案，所以其實不需要Steam，你可以用其他遊戲啟動器搭配Wine轉譯玩Windows遊戲。不過Steam的界面設計確實是最無腦的，所以我用Steam Proton代稱用Wine轉譯Windows遊戲的玩遊戲方式。如果真的不想研究Proton問題的話\n","title":"Linux系統玩Windows遊戲：Steam Proton V.S. VFIO Windows虛擬機，孰勝孰負？","type":"posts"},{"content":"注意：根據Intel官網資料，Intel GVT-g技術僅適用Intel Core 10代（含10代）以前所搭載的Intel UHD Graphics。雖然Intel放棄這個技術了但還是可以用。\n搭載Intel Xe的新型CPU請改用「SR-IOV」技術。\n另外，Intel Arc顯示卡不支援GTV-g，只能使用SR-IOV。可是不是所有Intel Arc顯示卡都支援SR-IOV。\n本文探討如何在Linux系統利用「Intel GVT-g」技術將Intel的GPU虛擬化，將GPU資源分享給QEMU/KVM虛擬機使用，使宿主機和虛擬機雙方都可以有3D硬體加速，或是在虛擬機影片轉碼的時候能使用Intel VA-API技術來加速。\nGPU虛擬化與GPU直通的差別在於，GPU直通因為是將PCI裝置分配給虛擬機，一次只能有一個虛擬機使用GPU。而GPU虛擬化可以讓多個虛擬機共享GPU。\nIntel CPU很多型號都有附贈GPU，稱之為iGPU，也就是內顯，讓電腦開機有畫面，用於看影片和輕度遊戲沒有問題的。\n如果要在Linux上的虛擬機達成硬體加速，之前我提過GPU Passthrough的方法：直通Intel GPU給QEMU/KVM虛擬機，不使用GVT-g 但這是有雙顯示卡的前提下才能這麼做，因為一旦顯示卡給虛擬機獨佔，Linux宿主機就沒有畫面了。\n故採用本文提及的GPU虛擬化技術，即可讓宿主機與虛擬機共享Intel GPU。如果你的電腦只有一個Intel GPU想必會非常有用。而且Intel GVT-g是可以一對多，分配GPU資源給多個虛擬機的。 Linux宿主機與Windows虛擬機與共用Intel GPU\n1. 環境 # 宿主機：Ubuntu 26.04 LTS 虛擬機：Windows 11 25H2 CPU：Intel i5-7400 GPU：Intel UHD 630 2. 新增虛擬機 # 參考Ubuntu安裝QEMU/KVM\n再安裝Windows 11虛擬機\n3. 啟用GVT-g # 設定開機自動載入vfio-pci、kvmgt、mdev核心模組 echo \u0026#34;vfio-pci\u0026#34; | sudo tee -a /etc/modules-load.d/vfio-pci.conf echo \u0026#34;kvmgt\u0026#34; | sudo tee -a /etc/modules-load.d/kvmgt.conf echo \u0026#34;mdev\u0026#34; | sudo tee -a /etc/modules-load.d/mdev.conf 編輯Intel顯卡的i915核心模組載入選項 sudo vim /etc/modprobe.d/intel.conf 加入以下內容，啟用GVT-g虛擬化、載入GuC與HuC韌體（enable_guc的數字具體含義請看sudo modinfo i915 | grep guc） options i915 enable_gvt=1 enable_guc=1 編輯GRUB核心參數 sudo vim /etc/default/grub 給Intel CPU啟用IOMMU GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;intel_iommu=on\u0026#34; 更新initramfs與GRUB sudo update-initramfs -u -k all sudo update-grub 重開機。 3. 新增mdev裝置 # 安裝mdevctl套件，這個小工具可以在電腦開機後自動透過udev產生mdev裝置 sudo apt install mdevctl 取得Intel內顯的PCI位址 lspci | grep Intel 查看可用設定檔（也可以嘗試ls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/） sudo mdevctl types 例如我的Intel UHD 630可用設定檔有兩個： 0000:00:02.0 i915-GVTg_V5_4 Available instances: 0 Device API: vfio-pci Name: GVTg_V5_4 Description: low_gm_size: 128MB, high_gm_size: 512MB, fence: 4, resolution: 1920x1200, weight: 4 i915-GVTg_V5_8 Available instances: 0 Device API: vfio-pci Name: GVTg_V5_8 Description: low_gm_size: 64MB, high_gm_size: 384MB, fence: 4, resolution: 1024x768, weight: 2 根據我的測試，i915-GVTg_V5_4只能分給一個虛擬機，解析度較高。i915-GVTg_V5_8則是能分給兩個虛擬機使用，但解析度很低。\n使用mdevctl新增裝置，這裡我選取了i915-GVTg_V5_4設定檔，賦予一個UUID並設定開機自動啟動。路徑為上面的指令PCI位址轉寫，例如00:02.0就是0000:00:02.0。\nsudo mdevctl define --parent 0000:00:02.0 --type i915-GVTg_V5_4 --auto sudo mdevctl start --uuid \u0026#34;填入上面生成的UUID\u0026#34; --parent \u0026#34;0000:00:02.0\u0026#34; --type \u0026#34;i915-GVTg_V5_4\u0026#34; 如果用mdevctl define建立多個UUID，等同建立多個虛擬GPU，讓不同的虛擬機使用，同時也必須選取支援多個虛擬機的設定檔。但是Intel GPU的VRAM不是很大，是跟RAM共用的，實務上分配2個就很吃緊了。 4. 將iGPU新增至Libvirt虛擬機 # 查看目前mdev裝置的狀態 sudo mdevctl list -d 開啟Virt Manager，點選編輯硬體，新增mdev主機裝置 5. 在虛擬機內安裝驅動 # Windows虛擬機 # 開機後Windows應該會自動裝好Intel驅動，若無，開啟裝置管理員，對顯卡按下右鍵，更新驅動。或者到Intel官網下載驅動。 虛擬機預設的QXL顯示卡加上Intel GPU，於是Windows會偵測到二個螢幕。在系統設定 → 顯示器 → 圖形的部份，可以指定應用程式exe使用Intel GPU運算。 Windows工作管理員可看到Intel GPU有在運作。Linux端只能透過intel_gpu_top指令間接得知。因為是共享資源，若Windows端做太多重度運算一定會影響到宿主機的流暢度的。 Linux虛擬機 # 開啟Virt Manager，點選編輯硬體，新增mdev主機裝置\n經測試，Linux虛擬機分配Intel GVT正常運作，Linux開機後會自動使用Mesa載入驅動。\n可以在虛擬機內使用lspci -nnk確認是否有顯示Intel GPU型號，以及使用i915驅動。\n注意：使用GTV-g的時候不可以安裝VirtIO或QXL的驅動。否則你就得在Virt Manager使用Virtio虛擬顯示卡，並勾選啟用OpenGL加速，才能同時顯示Virtio與Intel GPU的畫面。\n6. 安裝Looking Glass降低虛擬機顯示延遲 # Intel虛擬化的GPU並沒有輸出畫面的能力，因為你HDMI仍在宿主機。且透過Virt Manager虛擬顯卡視窗檢視虛擬機畫面的話，會導致3D渲染破圖。\n因此，得將Virt Manager顯示卡停用，然後用Looking Glass輸出到宿主機，達成低延遲畫面。\n參照：Linux Looking Glass安裝教學，低延遲顯示Windows QEMU/KVM的遊戲畫面\n這個設定過程有點複雜。安裝完Looking Glass之後，將Windows將Intel的螢幕設定為主顯示卡。\n然後用Virt Manager關機，將顯卡設定為無，停用QXL，接著重開機。\n參考資料 # 基于Intel GVT-g技术实现gpu虚拟化 Intel GVT-g - Arch Linux Wiki Tutorial: Passing An Intel GPU To A Linux/KVM Virtual Machine ","date":"2026年4月13日","externalUrl":null,"permalink":"/posts/libvirt-intel-gvt-g/","section":"所有文章","summary":"注意：根據Intel官網資料，Intel GVT-g技術僅適用Intel Core 10代（含10代）以前所搭載的Intel UHD Graphics。雖然Intel放棄這個技術了但還是可以用。\n搭載Intel Xe的新型CPU請改用「SR-IOV」技術。\n另外，Intel Arc顯示卡不支援GTV-g，只能使用SR-IOV。可是不是所有Intel Arc顯示卡都支援SR-IOV。\n本文探討如何在Linux系統利用「Intel GVT-g」技術將Intel的GPU虛擬化，將GPU資源分享給QEMU/KVM虛擬機使用，使宿主機和虛擬機雙方都可以有3D硬體加速，或是在虛擬機影片轉碼的時候能使用Intel VA-API技術來加速。\nGPU虛擬化與GPU直通的差別在於，GPU直通因為是將PCI裝置分配給虛擬機，一次只能有一個虛擬機使用GPU。而GPU虛擬化可以讓多個虛擬機共享GPU。\nIntel CPU很多型號都有附贈GPU，稱之為iGPU，也就是內顯，讓電腦開機有畫面，用於看影片和輕度遊戲沒有問題的。\n如果要在Linux上的虛擬機達成硬體加速，之前我提過GPU Passthrough的方法：直通Intel GPU給QEMU/KVM虛擬機，不使用GVT-g 但這是有雙顯示卡的前提下才能這麼做，因為一旦顯示卡給虛擬機獨佔，Linux宿主機就沒有畫面了。\n","title":"透過Intel GVT-g，分配Linux宿主機的iGPU給Windows虛擬機使用","type":"posts"},{"content":"Passthrough Intel GPU to QEMU/KVM VM on Linux host.\n本文Ivon紀錄將Linux宿主機的Intel顯示卡，直通給QEMU/KVM虛擬機的過程。\n我的這台Linux桌電，Intel CPU有附Intel UHD內顯（iGPU），然而桌電螢幕常常是插在Nvidia獨顯上，這時內顯就晾在那邊沒事幹。雖說Intel UHD內顯性能不怎麼樣，但還是想做有效利用，為此我決定將其直通給虛擬機使用，如下圖： 這樣直通的顯示卡接上螢幕之後，讓虛擬機裡面系統動畫順一點，能利用3D硬體加速播放影片，玩點小遊戲。 順帶一提，如果有Intel Arc獨立顯示卡也是可以進行GPU直通的，它使用的驅動核心模組跟Intel UHD內顯幾乎是一樣的。例如我最近買了Intel Arc A380來玩玩。使用起來就會變這樣： 1. 環境說明 # 如果要讓虛擬機使用宿主機的GPU，搜尋資料常常會提及使用Intel GVT-g的虛擬GPU技術，不過我們有更簡單的作法：像直通Nvidia獨顯那樣隔離PCI再直通就好了。\n硬體：\n宿主機：Ubuntu 26.04 主機板：ASUS K31CD-K CPU：Intel i5-7400 GPU：Intel UHD 630 ← 要直通的GPU GPU：Nvidia GTX1050Ti ← 顯示Linux和虛擬機視窗的GPU 接著是要直通的虛擬機系統，為什麼還要直通給另一個Linux？Intel的Linux驅動是開源的，直通後成功機率較大\u0026hellip;\n虛擬機1：Ubuntu 24.04 虛擬機2：Windows 11 25H2 2. 安裝虛擬機 # 首先要安裝Libvirt + QEMU/KVM，設定好VFIO\n並裝好Windows 11虛擬機。Ubuntu 24.04的安裝過程我不贅述。\n3. 啟用IOMMU # 編輯GRUB設定檔 sudo vim /etc/default/grub 在GRUB_CMDLINE_LINUX_DEFAULT這行後面加入核心參數，啟用Intel CPU的iommu。 GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;intel_iommu=on\u0026#34; 重新產生設定檔，重開機 sudo grub-mkconfig -o /boot/grub/grub.cfg sudo reboot 終端機貼上以下指令稿查找顯示卡的IOMMU群組： #!/bin/bash shopt -s nullglob for g in /sys/kernel/iommu_groups/*; do echo \u0026#34;IOMMU Group ${g##*/}:\u0026#34;sudo update-initramfs -u -k all sudo update-grub for d in $g/devices/*; do echo -e \u0026#34;\\t$(lspci -nns ${d##*/})\u0026#34; done; done; 應會看到Intel顯示卡的分組，後面的四位數組合8086:5912就是硬體ID了。 IOMMU Group 0: 00:02.0 Display controller [0380]: Intel Corporation HD Graphics 630 [8086:5912] (rev 04) 4. 啟用VFIO # VFIO核心模組負責將PCI-E裝置暴露給虛擬機使用。接下來要將Intel的硬體ID綁給VFIO，然後要防止Linux開機的時候搶走Intel顯示卡的控制權。這有很多種作法，比如將Intel依賴的核心模組加入黑名單(blacklist)禁止載入。或者調整核心模組載入順序，確保VFIO可以搶先Intel需要的核心模組載入。這樣做的好處是如果你有Intel UHD + Intel Arc顯示卡的配置，兩個都需要i915驅動，不會因為將i915這個核心模組黑名單而導致兩張卡都沒畫面。這裡我們是透過vfio-pci綁定特定的硬體，再交給Libvirt控制的，因此不需要將i915核心模組黑名單完全禁止載入。\ninitramfs是Linux系統開機時會載入的最小檔案系統，在電腦開機後。GRUB會載入Linux kernel (vmlinuz) 和initramfs，接著才是Systemd的init來啟動系統服務initramfs可以控制系統最開始開機時候的行為。譬如可以指定要優先載入哪些kernel modules。\n雖說不將Intel顯卡綁給VFIO，Virt Manager也會在虛擬機開機的時候嘗試進行PCI裝置的熱插拔管理，但是某些桌面環境會在這之後崩潰，因此還是讓VFIO綁住比較好。\n修改Linux的initramfs設定檔。Ubuntu 26.04以後版本從initramfs-tools改成了dracut。所以新增以下檔案： sudo mkdir /etc/dracut.conf.d/ sudo /etc/dracut.conf.d/10-vfio.conf 設定開機儘早載入VFIO force_drivers+=\u0026#34; vfio_pci vfio vfio_iommu_type1 \u0026#34; 設定開機載入VFIO核心模組，後面是Intel顯卡的硬體ID sudo vim /etc/modprobe.d/vfio.conf 加入以下選項 options vfio-pci ids=8086:5912 設定VFIO先於Intel驅動載入，編輯以下檔案 sudo vim /etc/modprobe.d/intel.conf 填入以下內容，Intel顯示卡使用的多半是i915這個核心模組，且依賴drm核心模組，因此設定為在vfio-pci模組之後載入： softdep drm pre: vfio-pci 防止KVM錯誤更正導致Windows虛擬機進入BSOD。 sudo vim /etc/modprobe.d/kvm.conf 填入以下內容： options kvm ignore_msrs=1 更新initramfs和GRUB，重開機 sudo update-initramfs -u -k all sudo update-grub 5. 設定優先用獨顯開機 # 以我這個ASUS主機板來說，需要特別的設定，讓系統優先以獨顯開機，也防止Linux佔用i1915核心模組。\n重開機進入BIOS，到Advanced → System Agent （SA）Configuration，設定以PCI獨顯優先開機，並勾選Enable iGPU Multi-Monitor。\n6. 將Intel顯示卡分配給虛擬機 # 開啟Virt Manager，對虛擬機按二下。\n點選編輯硬體，新增硬體 → PCI裝置，將Intel UHD 630顯示卡分配給虛擬機。 7. 在Ubuntu虛擬機內安裝Intel驅動 # Linux的Intel顯示卡驅動是含在核心裡面的，透過Mesa提供，不用裝。\n用指令sudo losmod | grep i915確認i915核心模組有載入 接著，不論Intel顯示卡主機上的HDMI孔有無接實體螢幕，系統都能使用Intel顯示卡運算了。\n安裝intel-gpu-tools，再執行sudo intel_gpu_top可監控Intel顯示卡有沒有真的跑起來。 8. 在Windows虛擬機內安裝Intel驅動 # 正版的受害者？Winbdows 11 25H2測試時跳出代碼43錯誤。\n理論上直通Intel顯示卡之後，Windows更新應該就會自動安裝Intel UHD 630驅動。然而有時裝好後裝置管理員顯示驚嘆號，出現代碼43錯誤 (Code 43)，似乎是bug。UNRAID論壇和CSDN也有人也發現此問題。 經過搜尋之後，發現這可能是複合性問題，可能要手動抽取vbios或EFI韌體。\n這裡我要讓Intel UHD 630驅動正常運作，必須裝30.*版本的驅動，且QEMU機器類型必須是i440fx。由於我已經有Windows虛擬機了，之前測試過Nvidia顯示卡直通沒問題，Intel卻有bug。故在該問題解決之前，我只能保持原本的虛擬機不變，另外創一個空的Windows的虛擬機，讀取舊的虛擬機的硬碟開機。這樣做的話Windows的PIN會噴掉，需要重設。\n開啟Virt Manager，點選左上角新增機器，跳過新增儲存。作業系統選擇Microsoft Windows NT Server 3.1，機器類型選擇i440fx，點選開機前自訂配置。\n在機器的頁面選取i440fx，韌體選UEFI (OVMF_CODE.secboot) 點選左下角新增硬體，選儲存，選取現有虛擬機的硬碟 別忘了新增虛擬TPM 2.0硬體裝置 開機，按照畫面指示重設Windows的PIN。\n暫停Windows更新，防止下載新版驅動，或是把虛擬網卡移除，將虛擬機斷網。\n開啟裝置管理員，對Intel UHD 630 點右鍵 → 解除安裝裝置 → 裝置(依驅動程式)，右鍵強制移除iigd_dch.inf驅動程式。重開機。 至Intel官網下載30.0.101.1340驅動，選取zip版的。將其解壓縮。\n回到裝置管理員，點選「其他裝置」下的「視訊控制卡」，右鍵 → 更新驅動程式 → 瀏覽電腦上的驅動程式，填入剛剛解壓縮的資料夾，讓Windows自動安裝驅動程式。 重開機一切應該就正常了。\n接著指定應用程式使用Intel顯示卡運算\n開啟系統 → 顯示器 → 圖形，選取應用程式exe，指定使用Intel顯示卡運算。 再用工作管理員監控Intel顯示卡有沒有動起來。 順帶一提，遠端存取啟用硬體加速：內網穿透＋RDP的方案無法使用硬體加速。於虛擬機內安裝Looking Glass即可使用硬體加速的遠端桌面。\n9. 安裝Looking Glass降低虛擬機顯示延遲 # 透過Virt Manager虛擬顯卡視窗檢視虛擬機畫面的話，會導致3D渲染破圖。\n因此，得將Virt Manager顯示卡停用，然後用Looking Glass輸出到宿主機，達成低延遲畫面。\n參照：Linux Looking Glass安裝教學，低延遲顯示Windows QEMU/KVM的遊戲畫面\n這個設定過程有點複雜。安裝完Looking Glass之後，將Windows將Intel的螢幕設定為主顯示卡。\n然後用Virt Manager關機，將顯卡設定為無，停用QXL，接著重開機。\n10. 如何解除GPU直通 # 將/etc/dracut.conf.d/10-vfio.conf和/etc/modprobe.d/vfio.conf內容全部用#註解掉。IOMMU可保留。\n重新生成initramfs和GRUB設定檔。重開機後再用lspci -nnk檢查GPU的核心模組有無變回nouveau或nvidia。\n參考資料 # centos9 intel集显直通方法原创 - CSDN博客 Code 43 with GPU passthrough on my Windows 11 VM INTEL 核显KVM直通WIN虚机驱动错误43处理指南 - 知乎专栏 如何解決Intel® 顯示晶片的錯誤代碼43 Intel GVT-g - ArchWiki ","date":"2026年4月13日","externalUrl":null,"permalink":"/posts/ubuntu-intel-gpu-passthrough/","section":"所有文章","summary":"Passthrough Intel GPU to QEMU/KVM VM on Linux host.\n本文Ivon紀錄將Linux宿主機的Intel顯示卡，直通給QEMU/KVM虛擬機的過程。\n我的這台Linux桌電，Intel CPU有附Intel UHD內顯（iGPU），然而桌電螢幕常常是插在Nvidia獨顯上，這時內顯就晾在那邊沒事幹。雖說Intel UHD內顯性能不怎麼樣，但還是想做有效利用，為此我決定將其直通給虛擬機使用，如下圖： 這樣直通的顯示卡接上螢幕之後，讓虛擬機裡面系統動畫順一點，能利用3D硬體加速播放影片，玩點小遊戲。 順帶一提，如果有Intel Arc獨立顯示卡也是可以進行GPU直通的，它使用的驅動核心模組跟Intel UHD內顯幾乎是一樣的。例如我最近買了Intel Arc A380來玩玩。使用起來就會變這樣： 1. 環境說明 # 如果要讓虛擬機使用宿主機的GPU，搜尋資料常常會提及使用Intel GVT-g的虛擬GPU技術，不過我們有更簡單的作法：像直通Nvidia獨顯那樣隔離PCI再直通就好了。\n硬體：\n宿主機：Ubuntu 26.04 主機板：ASUS K31CD-K CPU：Intel i5-7400 GPU：Intel UHD 630 ← 要直通的GPU GPU：Nvidia GTX1050Ti ← 顯示Linux和虛擬機視窗的GPU 接著是要直通的虛擬機系統，為什麼還要直通給另一個Linux？Intel的Linux驅動是開源的，直通後成功機率較大…\n","title":"Ubuntu系統將Intel GPU直通給QEMU/KVM虛擬機的方法，不採用GVT-g","type":"posts"},{"content":"","date":"2026年4月13日","externalUrl":null,"permalink":"/tags/pci-passthrough/","section":"標籤","summary":"","title":"PCI Passthrough","type":"tags"},{"content":"顯示卡直通(GPU Passthrough) 讓Windows虛擬機能以接近原生效能玩大型3D遊戲。本文Ivon說明如何在Ubuntu安裝Windows虛擬機，並將獨立顯示卡直通給虛擬機。\n為什麼要這麼做？Linux的QEMU/KVM的虛擬機的3D性能十分低落，跑不動3D應用程式，為此將顯示卡直通給虛擬機使用。 顯示卡直通(GPU Passthrough)搭配VFIO核心模組，即可讓虛擬機存取宿主機的硬體資源。Proxmox VE系統有採用此技術，現在我們要在一般的Ubuntu桌面系統搞GPU直通。\n要做到這點，電腦需要二張顯示卡（一個CPU內顯，一個獨立顯示卡），再準備二台螢幕。 原理是這樣的：將獨顯直通給虛擬機後，宿主機便無法存取獨顯，故需要內顯用於顯示畫面。\n我的電腦主機有內顯和獨顯的HDMI連接埠，通常主螢幕是插在Nvidia獨顯的連接埠 而獨顯在直通給虛擬機後，等同與系統隔離，Linux便無法存取Nvidia顯示卡，主螢幕就要改插Intel內顯的連接埠才有畫面，Nvidia獨顯則插上副螢幕。也就是讓Linux畫面輸出到CPU內顯；Windows畫面由獨立顯示卡輸出。 如果你沒有二個螢幕也沒關係！請使用文末提及的「Looking Glass」存取Windows桌面。讓你能夠在使用Linux的時候，透過Looking Glass的視窗與Windows桌面互動。\n1. 環境 # 主機板：ASUS K31CD-K CPU：Intel® Core™ i5-7400 GPU：Intel® UHD Graphics 630 (內顯) ← 顯示Linux和虛擬機視窗的GPU GPU：NVIDIA GTX 1050 Ti（獨顯），已安裝閉源驅動 ← 要直通的GPU 主螢幕x1 副螢幕x1 宿主機Host OS：Ubuntu 26.04 LTS 虛擬機Guest OS：Windows 11 25H2 2. 安裝Windows 11虛擬機 # 參見Linux安裝Windows 11虛擬機 (QEMU/KVM)\n安裝後將Windows虛擬機關機。\n3. 啟用IOMMU # 使用VFIO前必須先啟用IOMMU。\n編輯GRUB開機選項 sudo vim /etc/default/grub 針對Intel CPU，在GRUB_CMDLINE_LINUX_DEFAULT後面加入以下內容，啟用IOMMU GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;quiet splash intel_iommu=on\u0026#34; 更新GRUB後重開機。 sudo update-grub sudo reboot 4. 設定開機載入VFIO # VFIO核心模組負責將PCI-E裝置暴露給虛擬機使用，理論上是只有虛擬機開機的時候Nvidia GPU會被搶走，關機之後便會返回到宿主機，但，Nvidia閉源驅動的程式會一直嘗試載入Nvidia核心模組，所以我們要將它封鎖。\ninitramfs是Linux系統開機時會載入的最小檔案系統，在電腦開機後。GRUB會載入Linux kernel (vmlinuz) 和initramfs，接著才是Systemd的init來啟動系統服務initramfs可以控制系統最開始開機時候的行為。譬如可以指定要優先載入哪些kernel modules。因為我們已經有modprobe.d指定vfio優先drm載入，修改initramfs優先載入vfio並非必要步驟，不過這也可以防止接著Nvidia顯示卡的副螢幕開機時被意外喚醒，所以還是設定一下比較好。\n（選擇性）如果直通後再也不需要讓宿主機使用Nvidia顯示卡，可以直接解除安裝Nvidia閉源驅動，改裝回nouveau。 sudo apt purge nvidia-driver-* sudo apt install xserver-xorg-video-nouveau 編輯udev規則（未來可能會變動，請自行用ls /lib/udev/rules.d/ | grep nvidia指令尋找Nvidia規則的具體檔名） sudo vim /lib/udev/rules.d/71-nvidia.rules 將所有行數全部加上#註解掉，防止Nvidia程式一直嘗試載入驅動導致開機卡在NVRM: GPU ... is already bound to vfio-pci.的訊息。\n停用nvidia-persistenced服務，防止這個程式一直嘗試載入Nvidia驅動\nsudo systemctl disable nvidia-persistenced 之後要改用Intel內顯開機，不過Intel的顯示驅動不需要裝，通常已經含在Linux的Mesa套件裡面了。\n貼上以下指令，查找獨顯和HDMI裝置的ID\n#!/bin/bash shopt -s nullglob for g in /sys/kernel/iommu_groups/*; do echo \u0026#34;IOMMU Group ${g##*/}:\u0026#34; for d in $g/devices/*; do echo -e \u0026#34;\\t$(lspci -nns ${d##*/})\u0026#34; done; done; 找到Nvidia GTX 1050Ti顯示卡的HDMI音訊裝置，像這裡是Group 2。將後面的二個硬體ID記起來，例如我的是10de:1c82和10de:0fb9。 IOMMU Group 2: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82] (rev a1) 01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1) 修改Linux的initramfs設定檔。Ubuntu 26.04以後版本從initramfs-tools改成了dracut。所以新增以下檔案： sudo mkdir /etc/dracut.conf.d/ sudo /etc/dracut.conf.d/10-vfio.conf 設定開機儘早載入VFIO force_drivers+=\u0026#34; vfio_pci vfio vfio_iommu_type1 \u0026#34; 設定開機載入VFIO核心模組 sudo vim /etc/modprobe.d/vfio.conf 加入以下選項，後面是Nvidia顯示卡的硬體ID options vfio-pci ids=10de:1c82,10de:0fb9 5. 隔離Nvidia GPU # 接下來的步驟要防止Linux開機的時候搶走Nvidia顯示卡的控制權。這有很多種作法，比如將Nvidia核心模組加入黑名單(blacklist)禁止載入。或者調整核心模組載入順序，確保VFIO可以搶先Nvidia核心模組載入，這不會完全封鎖Nvidia GPU的核心模組，只是確保在Nvidia　GPU核心模組載入之前就被VFIO綁定，並能交由Libvirt管理。\n設定VFIO先於Nvidia驅動載入 sudo vim /etc/modprobe.d/nvidia.conf 填入以下內容： softdep nouveau pre: vfio-pci softdep nvidia pre: vfio-pci softdep nvidia* pre: vfio-pci 防止KVM錯誤更正導致Windows虛擬機進入BSOD。 sudo vim /etc/modprobe.d/kvm.conf 填入以下內容： options kvm ignore_msrs=1 更新initramfs和GRUB，重開機 sudo update-initramfs -u -k all sudo update-grub 重開機，一直按著delete，進到UEFI，開啟內顯優先模式。我的是在Advanced → System Agent (SA) Configuration，設定「內顯(IGFX)」優先開機，並開啟「混合螢幕輸出」。 主螢幕改插到內顯的HDMI孔，副螢幕插到獨顯的HDMI孔（如果沒有二個螢幕就讓Nvidia顯示卡的孔空著） 重開機進入Linux系統，理論上此時副螢幕應該不會有任何畫面輸出。\n執行sudo lspci -nnk指令，應該會看到Nvidia顯示卡Kernel driver in use:是為vfio-pci\n01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82] (rev a1) Subsystem: ASUSTeK Computer Inc. GP107 [GeForce GTX 1050 Ti] [1043:85d6] Kernel driver in use: vfio-pci Kernel modules: nvidiafb, nouveau 01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1) Subsystem: ASUSTeK Computer Inc. GP107GL High Definition Audio Controller [1043:85d6] Kernel driver in use: vfio-pci Kernel modules: snd_hda_intel 6. 將Nvidia GPU加入到虛擬機 # 開啟Virt Manager，按二下開啟Windows虛擬機，點左上角i編輯硬體\n點選左下角添加硬體 → 新增PCI主機裝置，將獨顯和獨顯音訊HDMI都加進去 虛擬機開機後，主螢幕會看到Windows畫面，副螢幕會暫時黑畫面。現在虛擬機有二個螢幕了，一個是虛擬機的QXL顯示卡，一個是Nvidia顯示卡\n在虛擬機安裝GeForce Experience更新Nvidia顯示卡驅動之後，副螢幕應該就會跳出畫面了。\n接著在系統設定 → 顯示器 → 圖形，選取應用程式exe，指定使用Nvidia顯示卡彩現，而非QXL。 程式只要指定使用Nvidia顯示卡渲染，就會吃到GPU加速。儘管如此，程式的視窗在副螢幕上時效能最好。你可以編輯虛擬機硬體，將QXL顯示卡設定為None，讓虛擬機只有一個螢幕。\n如果副螢幕有喇叭，則Windows的音效會透過HDMI從副螢幕輸出。\n7. 安裝Looking Glass # Looking Glass是為只有一個螢幕的用戶準備的，讓你可以在同一個畫面同時操作Linux和Windows虛擬機。\n參見設定Looking Glass\n注意Looking Glass Host與Client的版本需一致。Ubuntu 24.04已收錄looking-glass-client套件，不需要手動編譯了。\n8. 讓宿主機重新使用直通的GPU # 不重開機情況下，將虛擬機關機與解除vfio-pci綁定，再載入Nvidia核心模組即可重新讓實體機存取顯示卡。但同樣地，虛擬機需要顯示卡的話就得將其手動綁回去。\n參考GPU直通後讓宿主機重新使用Nvidia GPU\n9. 如何解除GPU直通 # 把本文的步驟倒過來做。\n將/etc/dracut.conf.d/10-vfio.conf和/etc/modprobe.d/vfio.conf內容全部用#註解掉。IOMMU可保留。\n重新生成initramfs和GRUB設定檔。重開機後再用lspci -nnk檢查GPU的核心模組有無變回nouveau或nvidia。\n參考資料 # Beginner friendly guide to windows virtual machines with GPU passthrough on Ubuntu 18.04; or how to play competitive games in a virtual machine. PCI passthrough via OVMF - ArchWiki 閒聊 教學：如何在Linux上玩LOL - 看板LoL - 批踢踢實業坊 KVM/QEMU 虛擬機器設定GPU Passthrough 記錄- G. T. Wang ","date":"2026年4月13日","externalUrl":null,"permalink":"/posts/ubuntu-nvidia-gpu-passthrough/","section":"所有文章","summary":"顯示卡直通(GPU Passthrough) 讓Windows虛擬機能以接近原生效能玩大型3D遊戲。本文Ivon說明如何在Ubuntu安裝Windows虛擬機，並將獨立顯示卡直通給虛擬機。\n為什麼要這麼做？Linux的QEMU/KVM的虛擬機的3D性能十分低落，跑不動3D應用程式，為此將顯示卡直通給虛擬機使用。 顯示卡直通(GPU Passthrough)搭配VFIO核心模組，即可讓虛擬機存取宿主機的硬體資源。Proxmox VE系統有採用此技術，現在我們要在一般的Ubuntu桌面系統搞GPU直通。\n要做到這點，電腦需要二張顯示卡（一個CPU內顯，一個獨立顯示卡），再準備二台螢幕。 原理是這樣的：將獨顯直通給虛擬機後，宿主機便無法存取獨顯，故需要內顯用於顯示畫面。\n我的電腦主機有內顯和獨顯的HDMI連接埠，通常主螢幕是插在Nvidia獨顯的連接埠 而獨顯在直通給虛擬機後，等同與系統隔離，Linux便無法存取Nvidia顯示卡，主螢幕就要改插Intel內顯的連接埠才有畫面，Nvidia獨顯則插上副螢幕。也就是讓Linux畫面輸出到CPU內顯；Windows畫面由獨立顯示卡輸出。 如果你沒有二個螢幕也沒關係！請使用文末提及的「Looking Glass」存取Windows桌面。讓你能夠在使用Linux的時候，透過Looking Glass的視窗與Windows桌面互動。\n","title":"Ubuntu將Nvidia GPU直通給Windows虛擬機 ＋ Looking Glass安裝教學","type":"posts"},{"content":"","date":"2026年4月11日","externalUrl":null,"permalink":"/tags/slackware/","section":"標籤","summary":"","title":"Slackware","type":"tags"},{"content":"想要回到Linux最初的起點，選Slackware。\n終於找到了一個比Arch Linux和Gentoo還難用的系統了：Slackware！歡迎來挑戰。沒有Systemd也沒有OpenRC，所有系統服務全部用script啟動，原汁原味的Unix哲學（煙）。 Slackware的吉祥物是一隻叼著煙斗的Tux。所以找了虹夏來抽根煙\n1. Slackware簡介 # Slackware並非適合新手使用的Linux發行版，幾乎所有東西都要手動設定，要頻繁看文件，而且文件非常難讀。\nSlackware是一款堅持「Unix哲學」的Linux發行版，意圖讓系統是精簡，好理解的，並且對採用新技術比較保守。不過好不好維護那又是另外一回事了（煙）。它期望使用者手動摸索，了解Linux系統的底層運作原理。 Slackware是目前還有在維護的最古老Linux發行版之一，於1993年發布，也就是Linus Torvalds推出Linux Kernel的兩年之後。Slackware比Debian早幾個月誕生。在當時可以說是創舉，因為Linux只是一個核心，不能直接使用。Slackware是早期幾個將GNU軟體與Linux核心打包起來，成為完整作業系統的典範。\n長期以來幾乎只由Patrick Volkerding一人主導開發，並開放社群貢獻套件。Slackware幾乎可以視為Patrick Volkerding一個人的作品，他自己一人維護了1000多個套件組成Slackware Linux的基本系統，包括KDE Plasma與XFCE桌面。想要其他套件的就得裝社群提供的第三方套件。這跟其他Linux發行版由社群共同開發的模式非常不一樣，Slackware是作者定時放出一個他打包好的「完整」Linux系統給人家使用，然後人們再針對這個系統開發軟體。\nSlackware有官方Wiki頁面，還有LinuxQuestions.org這個網站當作討論論壇。Patrick Volkerding是Slackware的終身仁慈獨裁者(BDFL)，一家子收入幾乎全靠社群捐贈。\n講個八卦，openSUSE最早就是基於Slackware開發的，不過現在兩者的系統結構已經大相逕庭，很難視為同一個系統了。另外，1995年杜奕瑾在台灣大學初次架設起PTT BBS的時候，就是跑在Slackware上面的。\nSlackware更新頻道分為Current與Stable。Current是滾動更新，軟體版本會一直變動。Stable為經過測試的穩定版本，在維護週期內軟體版本不太會升級，只會有安全性更新。\n目前最新版本是2022年發表的Slackware 15，Linux核心版本5.15。\n大版本之間發表時間不固定，例如Slackware 11到12中間差了1年，但是從Slackware 14到Slackware 15中間就隔了8年時間。這個開發進度比Debian Stable還慢！其實會隔這麼久是因為Slackware官網商店的負責人捲款潛逃導致作者生計一度陷入困頓，依靠社群捐款接濟才撐得下去。這反應了Slackware開發問題：太依賴一個人決策了。\nSlackware開發時間很長，而且由作者一人維護，是可以保證基本系統的穩定啦，但就是套件太舊了\u0026hellip;Linux應該是需要頻繁更新的系統才對。考慮到Slackware 15已經是4年前發表的版本了，套件非常舊。如果你想要使用最新版軟體的話，最好使用Slackware Current。例如，Slackware 15還在用KDE Plasma 5.23，想要新版一點的KDE Plasma的話就得使用Slackware Current了。不過2026年的Slackware Current也不過收錄到KDE Plasma 5.27而已。想要更新的KDE Plasma 6就得用第三方套件庫了。\nSlackware特別之處在於幾乎沒有套件管理。雖有套件管理器slackpkg，但是它完全不會有依賴關係解析，就是解壓縮軟體放到指定位置，沒了，不會檢查依賴是否衝突。這工具的用途就純粹從Slackware作者發布的套件庫下載最新版軟體罷了。感覺瞬間回到1990年代，透過FTP下載軟體壓縮檔，自己編譯的時代。\n這樣做的好處是，使用者被迫要自己去了解系統安裝發生了什麼事，而非被軟體輸出的結果所遮掩。slackpkg不像apt或dnf，每個套件都含有Metadata，可以讓程式列出套件依賴關係，並提示使用者哪些套件該裝或者衝突。早些年代，apt的前身dpkg依賴關係的管理也很弱，但起碼經過多年開發已經有成熟的解決方案了，Slackware的套件管理卻是維持跟30年前差不多的樣子。\n在極端情況下，你需要自行摸索Slackware軟體的依賴關係，一個一個手動裝。日後更新Slackware軟體的時候，也要自行注意軟體依賴的套件是否更新完整。\nSlackware使用原始的init系統，系統服務沒有專用的init管理程式，不使用Systemd，沒有OpenRC也沒有runit什麼的，全部用System V風格的init script管理。這種機制相較於現在主流的Systemd管理方式來說十分古老。這樣的好處大概就開機很快吧，10秒內就能進入KDE Plasma X11桌面，且開機後RAM的佔用率不到1GB！\nSlackware跟主流Linux發行版不一樣，Slackware作者幾乎沒有製作什麼系統管理工具或便捷的指令稿（例如Debian有一鍵更新GRUB的script），全部都要使用者自己調整，或者依賴第三方方案。雖然Slackware系統安裝程式會幫你部署好一個可以立即用的Slackware環境，但剩下的就要靠你自己了。\n我有種感覺，Slackware可以說是最接近Linux From Scratch狀態的Linux發行版了。它就像是單純把Linux核心和一組軟體打包給你使用的樣子。Gentoo和Arch Linux雖然難裝，好歹還有完整說明文件和Wiki，更新很活躍。Slackware則是很雜亂，需要依賴使用者自己摸索。\n如果你真的喜歡Unix哲學，那你真的是要很死忠的才會用的下去Slackware，因為系統設計實在太古老了。目前仍有其他追尋Unix哲學而且現代化的Linux發行版，例如NetBSD開發者建立的Void Linux，以及Artix Linux、Devuan等等。Slackware在這方面沒有Void Linux那麼好用，尤其是預設的套件管理器方面Slackware真的是完全跟不上時代了。需要依靠社群製作的第三方軟體補強。\n2. 測試環境 # 主機板：ASUS K31CD-K CPU：Intel i5-7400 GPU：Intel UHD 630 GPU：Nvidia GTX1050Ti RAM：16GB 3. 製作Slackware開機隨身碟 # Slackware預設ISO裡面的安裝程式沒有GUI，是ncurses寫的純文字界面。如果想要LiveUSB，請下載「LiveSlak」。\nSlackware官網很樸素，下載點不太好找。你應該要到Slackware Mirrors下載Slackware ISO Images。\n選取slackware64-15.0-install-dvd.iso，適用x86_64架構。\n建議驗證檔案完整性\n使用Ventoy製作開機碟\n關閉Secure Boot\n在電腦使用UEFI開機\n4. 安裝Slackware系統 # 建議連上有線網路安裝。\n開機輸入root登入帳號\nSlackware的安裝器不會幫你分區，所以你要手動分區\n列出可用磁碟列表，例如SSD會顯示/dev/sda\nfdisk -l 用fdisk選取要安裝的硬碟，建立三個分區。 fdisk /dev/sda 建立GPT分割表。第一個是UEFI分區（至少512MB），然後SWAP分區（實體RAM兩倍大小），最後是Linux根目錄分區。並寫入變更。 g n 1 First Sector: (Enter) Last Sector: +512M t uefi n 2 First Sector: (Enter) Last Sector: +4096M n 3 First Sector: (Enter) Last Sector: (Enter) w 啟動Slackware安裝程式 setup SWAP選取剛剛分割的第二個分區，作為SWAP分區 TARGET，選取要安裝系統的硬碟 格式化為EXT4 新增EFI分區 SOURCE選取要從哪裡安裝軟體\n選取USB，從隨身碟載入離線安裝套件 或是HTTP，從線上套件庫下載Slackware套件 若使用HTTP，這裡的套件庫網址你要自己填，參照：https://mirrors.slackware.com。台灣的鏡像站TWAREN的http://ftp.twaren.net/Linux/Slackware/。 用空白鍵選取要安裝的軟體，不知道為什麼它會同時勾選XFCE和KDE Plasma，就維持一個桌面就好 勾選在安裝的時候顯示所有訊息 等待套件解壓縮完成安裝\n跳過製作開機碟 安裝適用UEFI系統的ELILO開機引導程式 設定主機名稱 讓系統開機透過NetworkManager服務自動連上網路 設定開機要啟動的服務，建議勾選NTPD自動校時 時區選台灣台北 預設文字編輯器選Vim 設定開機啟動的X11桌面，這裡選KDE Plasma，它會自動新增~/.xinitrc 設定root密碼 一切就緒後，選取EXIT退出安裝程式。拔掉隨身碟重開機。\n5. 新增一般使用者與啟動圖形環境 # 初次開機輸入root登入帳號。預設的執行層級(Runlevel)不會自動啟動圖形環境。\n建議先新增一個一般使用者叫做user\nuseradd -m -g users -G wheel,audio,video -s /bin/bash user passwd user 編輯/etc/sudoers sudo vim /etc/sudoers 在root下面，將使用者加入到sudoers user ALL=(ALL:ALL) ALL Slackware的執行檔環境變數可以用echo $PATH查看，位於/sbin目錄下的指令是只有Root可以使用的。若要讓一般使用者可以透過sudo執行，將/etc/sudoers以下段落取消註解 Defaults secure_path=\u0026#34;/usr/local/sbin:/usr/local/bin:/usr/sbin:/Slackpkg+usr/bin:/sbin:/bin\u0026#34; 將啟動KDE Plasma桌面的.xinitrc範本複製到一般使用者家目錄 cp /etc/X11/xinit/xinitrc.kde /home/user/.xinitrc 切換到一般使用者 su user cd ~ 然後再啟動嘗試啟動KDE Plasma X11桌面 startx 編輯/etc/inittab sudo vim /etc/inittab 修改預設執行層級(initdefault)為4，代表開機之後應Slackware該要啟動圖形介面。這樣之後開機就會自動啟動SDDM顯示管理器的登入界面。 id:4:initdefault: 也可以直接用init指令切換目前的Runlevel： sudo init 4 6. 設定slackpkg套件管理器 # Slackware官方套件庫的軟體基本上只由Patrick Volkerding一人維護。官方套件管理器是slackpkg，功能非常簡陋，安裝軟體的時候不會檢查依賴項目，就只是單純下載軟體然後將檔案解壓縮，執行裡面的指令碼放到指定路徑。\n如果在安裝Slackware系統的時候選擇離線安裝，則你就得手動填寫套件庫網址。編輯/etc/slackpkg/mirrors：\nsudo vim /etc/slackpkg/mirrors 將裡面要使用的伺服器鏡像站取消註解，台灣的鏡像站有TWAREN的http://ftp.twaren.net/Linux/Slackware/。注意一次只能使用一個伺服器！以Slackware 15來說伺服器網址應該含有/slackware64-15.0/。\n然後更新套件庫資料庫\nsudo slackpkg update gpg sudo slackpkg update 更新並升級目前系統所有的套件。可能要手動回答是否覆蓋舊版軟體設定檔。 sudo slackpkg install-new sudo slackpkg upgrade-all 移除不屬於Slackware的套件，確保系統正常（註：這會移除Slackbuilds的套件） sudo slackpkg clean-system 如果更新的時候有升級Linux核心，需要手動覆蓋掉舊版的vmlinuz與initrd.gz檔案，這樣ELILO才會在下次開機的時候載入新版Linux核心： # 選項一：通常只要執行這個指令就會自動更新核心 sudo eliloconfig # 選項二：手動更新 # 重新生成initrd sudo /usr/share/mkinitrd/mkinitrd_command_generator.sh # 依照上述指令稿的內容執行sudo mkinitrd開頭的指令 # 複製新版核心 sudo cp /boot/vmlinuz /boot/efi/EFI/Slackware/vmlinuz # 複製initrd sudo cp /boot/initrd.gz /boot/efi/EFI/Slackware/initrd.gz 重開機。 sudo reboot 搜尋並安裝套件 sudo slackpkg search vim sudo slackpkg install vim 7. 新增SlackBuilds第三方套件庫 # 這是選擇性項目，建議啟用，不然Slackware作者自己維護的軟體太少了，連瀏覽器都沒有幾個。Slackware有非官方的套件庫，例如SlackBuilds收錄了很多社群貢獻的套件。SlackBuilds類似Arch Linux的AUR，提供自動編譯並安裝套件的機制。SlackBuilds的套件有的需要編譯，有的則是二進位檔。\n可以用sbopkg或sbotools或sboui的Helper協助安裝SlackBuilds的軟體。這裡推薦使用sbotools，它會自動檢查依賴並安裝SlackBuilds的軟體。\n參照官網指示安裝sbotools。只要複製二進位壓縮檔網址，下載然後安裝就可以了：\nwget \u0026#34;https://pink-mist.github.io/sbotools/downloads/sbotools-2.7-noarch-1_SBo.tgz\u0026#34; sudo installpkg ./sbotools-*-noarch-1_SBo.tgz 然後就可以用sbotools的工具搜尋SlackBuilds的套件。例如安裝Librewolf瀏覽器： sudo sbofind librewolf sudo sboinstall librewolf 如果真的有軟體找不到，就使用Flatpak吧。 8. 系統管理指令 # Slackware使用原始的Sysvinit，透過/sbin/init程式來控制系統狀態與啟動服務，連service指令都沒有。\n所有系統服務都放在/etc/rc.d/。電腦開機後第一個啟動的行程是/sbin/init，它會讀取/etc/inittab，判斷應該啟動的Runlevel，接著執行/etc/rc.d/下的指令稿來啟動服務。例如啟動sshd，就是看/etc/rc.d/rc.sshd這個指令稿裡面定義的函數來啟動：\nsudo /etc/rc.d/rc.sshd start 各種Runlevel的定義參照/etc/inittab，裡面有各種Runlevel對應不同的路徑。例如跟隨X11啟動的程式應該是Runlevel 4，因此要在/etc/rc.d/rc.4這個檔案裡面，指定開機要啟動的顯示管理器。嘗試檢視該檔案內容，Slackware應該已經幫你寫好判斷邏輯了，它會嘗試依序搜尋系統有哪些顯示管理器的執行檔然後啟動。 cat /etc/rc.d/rc.4 若要將系統服務加入到開機自動啟動，賦予執行權限。例如設定開機自動啟動sshd： chmod +x /etc/rc.d/rc.sshd 取消自動啟動，撤銷執行權限： chmod -x /etc/rc.d/rc.sshd 也可以在/etc/rc.d/rc.local自定義開機要啟動的指令稿。 9. 安裝Nvidia顯卡驅動 # Intel和AMD的顯卡驅動含在Linux核心裡面，開機後udevd會自動載入DRM核心模組，通常不用裝。但是Nvidia顯卡需要安裝閉源驅動才能發揮最大效能。\n目前沒有人給Slackware打包Nvidia閉源驅動，所以最好的方式是到Nvidia官網下載.run檔案，以DKMS方式編譯安裝。你可能需要手動補齊GCC依賴。\n參見：Linux使用.run file安裝Nvidia閉源驅動與CUDA Toolkit\n10. 中文化與輸入法 # Slackware 15應該已經預先安裝noto-cjk-fonts-*字型，所以可以顯示漢字。\n編輯/etc/locale.conf，設定語言為正體中文\necho \u0026#34;LANG=zh_TW.UTF-8 UTF-8\u0026#34; | sudo tee -a /etc/locale.conf 編輯/etc/environment，加入以下環境變數 LANG=zh_TW.UTF-8 LC_CTYPE=zh_TW.UTF-8 LC_NUMERIC=zh_TW.UTF-8 LC_TIME=zh_TW.UTF-8 LC_COLLATE=zh_TW.UTF-8 LC_MONETARY=zh_TW.UTF-8 LC_MESSAGES=zh_TW.UTF-8 LC_PAPER=zh_TW.UTF-8 LC_NAME=zh_TW.UTF-8 LC_ADDRESS=zh_TW.UTF-8 LC_TELEPHONE=zh_TW.UTF-8 LC_MEASUREMENT=zh_TW.UTF-8 LC_IDENTIFICATION=zh_TW.UTF-8 LC_ALL= KDE Plasma桌面可能要到Plasma Settings → Languages，手動選取語言為正體中文才會切換界面語言。\nSlackware 15應該內建Fcitx5框架，但是是很久以前的版本，還叫做Fcitx。可能要手動把它的Desktop Entry加入到開機自動啟動：\nmkdir -p ~/.config/autostart cp /usr/share/applications/fcitx.desktop ~/.config/autostart/ 然後編輯/etc/environment，設定使用Fcitx5框架的環境變數： GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=fcitx 重開機，按CTRL+空白鍵應該就能喚醒輸入法了。\nSlackware官方套件庫只有提供拼音(pinyin)、舊型的注音(libbopomofo)、依賴表格檔的輸入法，而且太舊了，不太好用。可以透過Slackbuilds安裝比較現代的新酷音(fcitx5-chewing)或者小麥注音(fcitx5-mcbopomofo)。若是編譯失敗，考慮直接用Flatpak版本的Fcitx5。\n參考資料 # Slackware Documentation LinuxQuestions.org Slackware Book Slackware 中文手册 ","date":"2026年4月11日","externalUrl":null,"permalink":"/posts/install-slackware/","section":"所有文章","summary":"想要回到Linux最初的起點，選Slackware。\n終於找到了一個比Arch Linux和Gentoo還難用的系統了：Slackware！歡迎來挑戰。沒有Systemd也沒有OpenRC，所有系統服務全部用script啟動，原汁原味的Unix哲學（煙）。 Slackware的吉祥物是一隻叼著煙斗的Tux。所以找了虹夏來抽根煙\n1. Slackware簡介 # Slackware並非適合新手使用的Linux發行版，幾乎所有東西都要手動設定，要頻繁看文件，而且文件非常難讀。\nSlackware是一款堅持「Unix哲學」的Linux發行版，意圖讓系統是精簡，好理解的，並且對採用新技術比較保守。不過好不好維護那又是另外一回事了（煙）。它期望使用者手動摸索，了解Linux系統的底層運作原理。 Slackware是目前還有在維護的最古老Linux發行版之一，於1993年發布，也就是Linus Torvalds推出Linux Kernel的兩年之後。Slackware比Debian早幾個月誕生。在當時可以說是創舉，因為Linux只是一個核心，不能直接使用。Slackware是早期幾個將GNU軟體與Linux核心打包起來，成為完整作業系統的典範。\n","title":"如何安裝Slackware 15 + KDE桌面 + 中文輸入法設定","type":"posts"},{"content":"本文讓Ivon介紹如何在各大Linux發行版安裝LibreOffice，以及常用Windows字型。文末順便介紹安裝數位發展部所推出的ODF文件應用工具。\nLibreOffice，一款自由開源的辦公室套裝軟體，為OpenOffice的最佳替代品。內含一系列實用軟體，使用完全免費。 LibreOffice是一個許多軟體集合而成的套裝，包括以下程式：\nWriter：文字編輯器 Calc：試算表 Impress：製作簡報 Draw：PDF編輯器 Math：數學運算 Base：資料庫 有了這套軟體，便能在Linux系統編輯開放標準的ODF文件(odt、ods、odp、odf)。 因為Linux沒有Microsoft Office的正式支援，LibreOffice也是少數能在Linux開啟docx、xlsx、pptx檔案的軟體。但要注意的是LibreOffice開啟Microsoft Office的文件仍有機率跑版，這是因為Microsoft Office蓄意不遵守開放標準所致。如果要保證Microsoft Office的文件版面不跑掉，請使用Microsoft Office網頁版，或是改下載ODF格式的檔案。\n中華民國政府近年來在推廣自由的文件格式，為此要儲存文件請多用ODF或者PDF，以求檔案能長期儲存。\n1. Linux安裝LibreOffice的方法 # LibreOffice為跨平台軟體，Linux各大發行版都有收LibreOffice的套件。這裡提供3種安裝方式，個人偏好Flatpak版。\nLibreOffice有分安定版(still)與新鮮版(fresh)。如果要穩定的用，請安裝安定版，新鮮版是幫上游開發者除錯用的，要用來正經工作的話請不要裝這個版本。\n1.1. 從應用商店安裝 # 以Ubuntu為例，如果在安裝系統的時候選擇「普通安裝」，LibreOffice可能就已經內建在系統了。但是沒有也沒關係，你還是可以手動安裝。\n開啟Ubuntu的軟體中心 (橘色圖示)\n搜尋LibreOffice，點選安裝。此灰色圖示即包含全部LibreOffice辦公軟體。安裝後點選左下角的應用程式列表，開啟LibreOffice。 如果嫌LibreOffice全套太肥的話也可以單獨安裝Writer、Calc、Impress。\nUbuntu 22.04之後的版本，LibeOffice預設是以Snap套件提供，讓使用者不論用哪個Ubuntu版本都能下載到最新版LibreOffice。deb版LibreOffice只能用指令安裝。\n如果你不喜歡Snap版LibeOffice可以將其移除：\nsudo snap remove libreoffice 1.2. 用指令安裝 # 在應用程式列表開啟終端機\n安裝deb版libreoffice套件（一些發行版安裝的是libreoffice-common），此套件包含LibreOffice全部的辦公軟體，執行檔路徑是為/usr/bin/libreoffice。\nsudo apt install libreoffice 如果LibreOffice界面沒有中文，再安裝l10n-zh-tw正體中文套件。之後可以在Tools → Options → Languages → Interface切換語言。 sudo apt install libreoffice-l10n-zh-tw 附錄：\nFedora的套件名稱為libreoffice和libreoffice-l10n-zh-tw\nopenSUSE為libreoffice和libreoffice-l10n-zh-tw\nArch Linux為libreoffice-still和libreoffice-still-zh-tw\n1.3. 安裝Flatpak版 # 沒有Snap的系統，用Flatpak安裝LibreOffice也可以。Flatpak宗旨跟Snap是一樣的：為不同Linux發行版的使用者提供最新版的軟體。\n安裝LibreOffice本體：\nflatpak --user install flathub org.libreoffice.LibreOffice flatpak --user install flathub org.libreoffice.LibreOffice.Locale 之後可以在Tools → Options → Languages → Interface切換語言。\n2. 安裝常用Windows字型 # LibreOffice Writer開啟Microsoft Word製作的文件常常會發生缺字型的情況，例如Calibri、Times New Roman、Comic Sans、新細明體、標楷體，因為Linux系統沒有這些字型。\n如何知道系統缺少某一個字型？選取一段文字，如果LibreOffice的字型變成斜體字，代表該字型找不到，需要手動安裝。 這個時候可以安裝ttf-mscorefonts-installer套件，補充字型。閱讀完EULA後按Tab選Yes，它就會自動安裝。\nsudo apt install ttf-mscorefonts-installer 標楷體需要手動安裝，參見Linux如何安裝Windows的標楷體\n3. 附錄：安裝數位部ODF文件應用工具 # ODF文件應用工具(MODA ODF Application Tools)，是中華民國數位部基於LibreOffice開發的文書軟體，針對公家機關所打造，符合中華民國台灣在地中文使用習慣。內建全字庫支援。ODF文件應用工具內建一套字型，包括全字庫，會安裝到/opt/，可以用來顯示標楷體，避免版權問題。\nODF文件應用工具支援Linux、Windows、macOS系統。可以與原版LibreOffice共存。 圖片來自數位發展部\n參閱中華民國數位發展部的網站的說明文件安裝。\n以Ubnuntu 24.04為例，這裡我是下載官網提供的tar.gz檔，解壓縮，用APT安裝裡面全部的.deb。或者你可以手動在/etc/apt/sources.list新增國網中心ODF的deb套件庫安裝。\ntar -xvf modaodfapplicationtools-*.tar.gz sudo apt install ./*.deb 安裝後即可使用。執行檔路徑是為/usr/local/bin/modaodfapplicationtools。 4. LibreOffice中文參考資源 # LibreOffice 正體中文使用者社團 - Facebook 正體中文 - Ask LibreOffice LibreOffice 正體中文文件 LibreOffice官網 ","date":"2026年4月10日","externalUrl":null,"permalink":"/posts/linux-libreoffice-installation/","section":"所有文章","summary":"本文讓Ivon介紹如何在各大Linux發行版安裝LibreOffice，以及常用Windows字型。文末順便介紹安裝數位發展部所推出的ODF文件應用工具。\nLibreOffice，一款自由開源的辦公室套裝軟體，為OpenOffice的最佳替代品。內含一系列實用軟體，使用完全免費。 LibreOffice是一個許多軟體集合而成的套裝，包括以下程式：\nWriter：文字編輯器 Calc：試算表 Impress：製作簡報 Draw：PDF編輯器 Math：數學運算 Base：資料庫 有了這套軟體，便能在Linux系統編輯開放標準的ODF文件(odt、ods、odp、odf)。 因為Linux沒有Microsoft Office的正式支援，LibreOffice也是少數能在Linux開啟docx、xlsx、pptx檔案的軟體。但要注意的是LibreOffice開啟Microsoft Office的文件仍有機率跑版，這是因為Microsoft Office蓄意不遵守開放標準所致。如果要保證Microsoft Office的文件版面不跑掉，請使用Microsoft Office網頁版，或是改下載ODF格式的檔案。\n中華民國政府近年來在推廣自由的文件格式，為此要儲存文件請多用ODF或者PDF，以求檔案能長期儲存。\n","title":"Linux系統如何安裝LibreOffice文書處理軟體 ＋ Windows常用中文字型","type":"posts"},{"content":"這是第幾次我去找心理諮商了，記不得了。現在才想到可以做心理測驗。依照當下的想法，在諮商室的沙遊桌上擺了我想到的場景。\n如果不服藥控制的話（我喜歡稱Sulpiride為「安神符」），心中的想法總會變的極端。因為我需要一種力量追尋，填滿我的空心病。\n諮商師建議我可以做一些心理測驗，所以這次就選了沙遊(Sandplay Therapy)。沒想到學校的諮商室還有錢佈置這些玩意，一個桌子放著沙盤，還有一整面牆的物件。\n在這個桌上，我使用窮山峻嶺分割成兩個世界。 人類，代表文明，抑或是（我認知的）現實世界，充滿悲傷，滿是爭鬥謊言與暴力，有宗教、法律、道德、工業文明、電子產品，束縛著人們的自由\n動物們，或曰虛擬世界，代表一種快樂的幻想鄉。以象徵Linux的企鵝為首。\n人類透過像是桃花源記的山洞發現了新的資源，遂派遣軍隊對這個理想鄉發起進攻。\n動物們只得像諾亞方舟一樣，搭上飛機逃跑\n抵達有悠閒企鵝的阿瓦隆，跳脫出目前的世界。\n毀滅吧，一切都毀滅吧，願上帝（如果存在的話）降下大洪水重置這個罪惡的地球。我想搬到鄉下去，過上與世無爭的生活。\n那麼，在這幅場景裡面，我又在哪裡呢？\n擺完之後被提醒才想到，我好像，從來都沒把自己放在心上。\n自從去年九月打起精神來振作，往目標大步邁進的時候，覺得有成就感，空虛感也隨之逐步擴大，遂成為黑洞。\n我果然還是不屬於這個時代吧。你帶我走吧。\nSomewhere over the Rainbow - Israel \u0026ldquo;IZ\u0026rdquo; Kamakawiwoʻole\n","date":"2026年4月9日","externalUrl":null,"permalink":"/posts/2026041001/","section":"Personals","summary":"這是第幾次我去找心理諮商了，記不得了。現在才想到可以做心理測驗。依照當下的想法，在諮商室的沙遊桌上擺了我想到的場景。\n如果不服藥控制的話（我喜歡稱Sulpiride為「安神符」），心中的想法總會變的極端。因為我需要一種力量追尋，填滿我的空心病。\n諮商師建議我可以做一些心理測驗，所以這次就選了沙遊(Sandplay Therapy)。沒想到學校的諮商室還有錢佈置這些玩意，一個桌子放著沙盤，還有一整面牆的物件。\n在這個桌上，我使用窮山峻嶺分割成兩個世界。 人類，代表文明，抑或是（我認知的）現實世界，充滿悲傷，滿是爭鬥謊言與暴力，有宗教、法律、道德、工業文明、電子產品，束縛著人們的自由\n動物們，或曰虛擬世界，代表一種快樂的幻想鄉。以象徵Linux的企鵝為首。\n人類透過像是桃花源記的山洞發現了新的資源，遂派遣軍隊對這個理想鄉發起進攻。\n動物們只得像諾亞方舟一樣，搭上飛機逃跑\n抵達有悠閒企鵝的阿瓦隆，跳脫出目前的世界。\n毀滅吧，一切都毀滅吧，願上帝（如果存在的話）降下大洪水重置這個罪惡的地球。我想搬到鄉下去，過上與世無爭的生活。\n那麼，在這幅場景裡面，我又在哪裡呢？\n擺完之後被提醒才想到，我好像，從來都沒把自己放在心上。\n自從去年九月打起精神來振作，往目標大步邁進的時候，覺得有成就感，空虛感也隨之逐步擴大，遂成為黑洞。\n","title":"沙遊治療體驗","type":"personal"},{"content":"這不是Linux，也不是BSD，它是：Hurd\n因為沒有實體機運作紀錄，只能裝在虛擬機。\n安裝版本：Debian GNU/Hurd 2026 實際測試下來這個系統非常不穩定。\n1. GNU/Hurd系統簡介 # GNU/Hurd是一個自由開源的Unix-like作業系統。 首先你要知道的是，GNU/Hurd是一個獨立的作業系統，不是Unix，也不是Linux。不過因為本文用到了Debian的軟體，我還是把它放在Linux的文章分類之下。\n對自由軟體運動的追隨者來說，GNU/Hurd系統可說是信徒們心中的聖杯。\n1983年，Richard Stallman等人發起自由軟體運動，成立GNU計畫與FSF基金會，希望打造一個自由開源的GNU作業系統，目標是取代現有的Unix系統又保持向下相容性。作業系統核心選定當時相對先進的Mach進行開發，但是核心原始碼一直沒有釋出導致計畫推遲。所以開發團隊只好先完成GNU系統軟體，包括Shell和常用程式，以及GCC編譯器，但是重要的核心一直沒有著落。1990年，FSF宣佈新核心命名為Hurd，開發工作開始，1996年推出第一個版本。HURD這個字是「HIRD of Unix Replacing Daemons」的遞迴縮寫。HIRD又是「Hurd of Interfaces Representing Depth」的縮寫。這個文字遊戲反應了Hurd核心的複雜特性。\n但是Hurd核心的知名度卻輸給了Linux。1991年，Linus Torvalds發表Linux核心，當時Hurd的開發工作尚不明朗，另外一個著名開源作業系統BSD Unix又深陷與AT\u0026amp;T Unix的法律糾紛。因此Linux吸引許多開發者為其移植軟體，GNU系統軟體也被移植到了Linux，隨後形成了GNU/Linux的生態系，出現了許多GNU/Linux發行版，其中一些版本獲得了商業公司支持。在那之後，GNU/Linux便成為了自由軟體社群的主流開發平台。但是Hurd開發工作並沒有因為GNU/Linux崛起而停止，FSF一直維持專案運作，在那之後斷斷續續的進行開發。直到今天。\n為什麼GNU/Hurd還要堅持開發下去呢？我覺得啦，雖然Linux是自由軟體，但對GNU計畫來說，Linux核心是外來者，無法受到FSF控制。而且Linux核心有自己的開發團隊，加上還在使用GPLv2沒有跟著GNU計畫的其他軟體一起更新到GPLv3，顯得不夠自由。因此GNU有自己專屬的作業系統核心才顯得有必要吧。\nGNU/Hurd系統當初在自由軟體駭客圈子聲勢很高，連Linus Torvalds剛開始發表Linux核心的時候都稱自己的作品不會像GNU OS那樣專業 ( \u0026ldquo;I\u0026rsquo;m doing a free operating system just a hobby, won\u0026rsquo;t be big and professional like gnu for 386 AT clones.\u0026rdquo;) 。結果30年過去了，GNU/Linux大獲成功，GNU/Hurd止步不前，而且很多當時看來先進的設計在現代已經過時了。\n根據一些網友的分析，專案失敗原因在於過度追求完美，他們想要設計一個全面超越Unix的核心，把架構弄得太複雜。還有專案缺乏明確發展方向與領導。因為去中心化的開發模式導致進度混亂，等到他們總算要開始認真做的時候，Linux已經超越GNU/Hurd很多了。\nGNU/Hurd開發了30年，很長一段時間僅支援i386架構的處理器，直到2026年才開始支援amd64。可見其開發進度之緩慢。\n論作業系統完成度，恐怕連FreeBSD都要比GNU/Hurd要高。對FSF的狂熱份子來說，GNU/Hurd是他們追求的聖杯。不過從實用面考量，要有一個實際可用的系統，還是只能屈就GNU/Linux。目前FSF官網推薦使用的自由作業系統，依然還是使用linux-libre核心的GNU/Linux為主。\n從結構上來看，Hurd的設計跟Linux的整塊式核心截然不同。Hurd並非單一的核心，而是一個圍繞在GNU Mach微核心的一組伺服器程式，GNU Mach屬於微核心，只負責很小一部分的的底層操作工作，其餘操作由外圍的HURD servers完成，TCP/IP的驅動甚至可以跑在userland。GNU Mach基於Mach開發，以後見之明來看設計過時了，既然要搞微核心，應該換成L4才對！但是現在的版本依然是使用GNU Mach。\n只有Hurd核心並不足以構成作業系統，還要搭配GNU系統軟體，因此這個系統便可以稱之為GNU/Hurd。為了讓系統有更多軟體能用，1998年FSF成員建立了「Debian GNU/Hurd」這個專案，讓Debian的Linux軟體可以移植到GNU/Hurd系統。根據2019年的統計，Debian套件庫裡面的Linux軟體只有75%左右能在GNU/Hurd編譯。實際上還是缺很大，連Firefox瀏覽器都未能成功移植。 2015年，Guix套件管理器被移植到了GNU/Hurd，於是有了「Guix GNU/Hurd」這個專案。Guix是FSF成員自研的套件管理器，主打宣告式和可復現，讓系統方便部署與維護，可以想成是只收錄自由軟體的Nix。Guix屬於FSF旗下的專案，主要是在GNU/Linux系統使用。Guix作為FSF的官方項目，理應得到更多關照吧。因此目前Guix GNU/Hurd是除了Debian GNU/Hurd以外主要有在維護的GNU/Hurd發行版之一。\n除了Guix GNU/Hurd外，還有Arch GNU/Hurd、Gentoo GNU/Hurd、Alpine GNU/Hurd等更瘋狂的專案。\n但是！Guix GNU/Hurd可用套件比Debian更少，只有1%可用，而且Guix相較Debian套件之下更冷門，因此目前還是得用Debian GNU/Hurd比較好吧。\n2. 取得Debian GNU/Hurd安裝檔 # 目前Debian GNU/Hurd可以在Debian Ports官網取得，分為32位元(hurd-i386)與64位元(hurd-amd64)版本。32位元版本因為開發比較久，所以可用套件數量應該會略多於64位元。\n目前的版本基於Debian Sid建置，使用Debian Ports的套件庫，有專門為GNU/Hurd系統建置的套件庫(hurd-amd64)\n我下載的是amd64架構的Debian GNU/Hurd。\n*.img是預先安裝好系統的虛擬磁碟映像檔。透過QEMU開機就能用。\nnetinstall.iso則是含有Debian安裝程式的映像檔，允許手動分區。\n3. 安裝Debian GNU/Hurd系統 # 目前Debian GNU/Hurd幾乎沒有實機安裝案例，硬體驅動支援度應該也很糟糕。所以只得使用虛擬機。我使用Virt Manager + QEMU/KVM虛擬機測試。\n需要注意的是這個映像檔的GRUB尚不支援UEFI，需要用BIOS安裝\nDebian GNU/Hurd的安裝過程跟一般Debian GNU/Linux差不多，依照GTK安裝器指示，一直下一步就好了。\n但是我下載的20260314快照版，安裝器十分不穩定，隨時都會崩潰。因此後來我是用QEMU Preinstalled Image來測試系統的。\n透過qemu-img resize調整虛擬磁碟大小。\n然後建立QEMU開機指令。需要注意的是GNU/Hurd無法定址到2GB以上記憶體。\n4. GNU/Hurd基本系統設定 # 開機後應該會進入終端機，使用root帳號登入。\n登入後修改密碼\npasswd root 編輯/etc/ssh/sshd_config啟用PermitRootLogin yes，用SSH從Linux宿主機登入： ssh -p 2222 root@127.0.0.1 新增一般使用者，修改密碼 useradd -m -g users -G wheel,audio,video,storage -s /bin/bash user passwd user 5. 系統管理 # GNU/Hurd有自研的init系統，位於/hurd/init，可以用service指令管理系統服務。\nDebian GNU/Hurd既然是Debian改的，那麼套件管理器當然就是APT了。\n常用的GNU軟體都可以在Hurd找到，包含Glibc與GCC。\n鑑於hurd-i386套件可能比hurd-amd64要多，可以在64位元的系統啟用32位元套件庫的支援以取得更多套件。\nsudo dpkg --add-architecture hurd-i386 sudo apt update 要安裝32位元版本的套件，只要在後面加上:hurd-i386後綴就行了 。例如，hurd-amd64套件庫有一個遠古版本的Firefox 45。\nsudo apt install firefox:hurd-i386 6. 安裝XFCE桌面 # GNU/Hurd支援不需要DRM的顯示卡驅動。\n在虛擬機裡面，X.org X Server強制使用軟體渲染可行： sudo apt install xorg sudo dpkg-reconfigure x11-common xserver-xorg-legacy 編輯/etc/X11/xorg.conf，新增一個虛擬顯示器 Section \u0026#34;InputDevice\u0026#34; Identifier \u0026#34;Generic Keyboard\u0026#34; Driver \u0026#34;kbd\u0026#34; Option \u0026#34;XkbOptions\u0026#34; \u0026#34;terminate:ctrl_alt_bksp\u0026#34; EndSection Section \u0026#34;Screen\u0026#34; Identifier \u0026#34;myScreen\u0026#34; SubSection \u0026#34;Display\u0026#34; Virtual 1024 768 EndSubSection EndSection 然後安裝XFCE桌面 sudo apt install lightdm xfce4 xfce4-goodies LightDM好像沒辦法啟動，只得手動startx echo \u0026#34;/usr/bin/startxfce4\u0026#34; \u0026gt;\u0026gt; ~/.xinitrc startx 關於瀏覽器嘛，Firefox和Chromium都沒有移植到GNU/Hurd，只得安裝w3m這類輕量瀏覽器： sudo apt install w3m 參考資料 # Debian GNU/Hurd Debian GNU/Hurd - Debian Wiki ","date":"2026年4月8日","externalUrl":null,"permalink":"/posts/install-debian-gnu-hurd/","section":"所有文章","summary":"這不是Linux，也不是BSD，它是：Hurd\n因為沒有實體機運作紀錄，只能裝在虛擬機。\n安裝版本：Debian GNU/Hurd 2026 實際測試下來這個系統非常不穩定。\n1. GNU/Hurd系統簡介 # GNU/Hurd是一個自由開源的Unix-like作業系統。 首先你要知道的是，GNU/Hurd是一個獨立的作業系統，不是Unix，也不是Linux。不過因為本文用到了Debian的軟體，我還是把它放在Linux的文章分類之下。\n對自由軟體運動的追隨者來說，GNU/Hurd系統可說是信徒們心中的聖杯。\n1983年，Richard Stallman等人發起自由軟體運動，成立GNU計畫與FSF基金會，希望打造一個自由開源的GNU作業系統，目標是取代現有的Unix系統又保持向下相容性。作業系統核心選定當時相對先進的Mach進行開發，但是核心原始碼一直沒有釋出導致計畫推遲。所以開發團隊只好先完成GNU系統軟體，包括Shell和常用程式，以及GCC編譯器，但是重要的核心一直沒有著落。1990年，FSF宣佈新核心命名為Hurd，開發工作開始，1996年推出第一個版本。HURD這個字是「HIRD of Unix Replacing Daemons」的遞迴縮寫。HIRD又是「Hurd of Interfaces Representing Depth」的縮寫。這個文字遊戲反應了Hurd核心的複雜特性。\n","title":"嘗試安裝Debian GNU/Hurd系統 + XFCE桌面","type":"posts"},{"content":"Linuxulator是FreeBSD系統內建的一個功能，可以讓我們在FreeBSD系統執行Linux系統的二進位檔，不需要用到虛擬機。\n我們將用這個來跑FreeBSD沒有，Linux才有的圖形應用程式，比如說安裝Google Chrome。\n是的，Google真的沒有提供FreeBSD的套件。FreeBSD收錄的只有Chromium。Chrome除了能同步Google帳號資料之外，還可以播放Widevine DRM內容，比如Spotify與Netflix。FreeBSD的原生瀏覽器普遍缺乏播放DRM的能力，就連Firefox都沒有，所以這個時候Linux版的瀏覽器就派上用場了。 1. 說明 # 測試環境：FreeBSD 15 Release\n本文用到的軟體：\nLinuxulator FreeBSD chroot Jail 要高效率的跑Linux程式，得用Linuxulator。\nLinuxulator功能類似轉譯Windows程式的Wine，讓我們可以在FreeBSD系統以原生效能執行Linux的二進位檔。準確來說，Linuxulator不是轉譯，而是重新實現Linux kernel的syscall，以相容Linux ABI。 Linuxulator本身只有實現ABI，不能直接執行Linux二進位檔，需要補一些userspace依賴套件。FreeBSD的套件庫有收一些Linux移植過來的程式，能夠讓一些程式跑起來，譬如前文說的Google Chrome。\n此外，有了Linuxlator，還可以搭配FreeBSD內建的chroot指令，建立一個Linux的Jail。Jail就是讓程式跑在受限制的監獄，或可理解為容器吧。在Docker出現以前，chroot也是Linux上最常見的一種容器。\nJail非必要步驟，只是一個選項。在部分情況下，Jail建立的Linux環境附有userspace的Linux套件，環境比較完整，可以無縫使用Linux的套件管理器來安裝軟體。例如我們可以在FreeBSD建立Ubuntu的Jail，再使用APT安裝軟體。這樣安裝軟體很方便，又不會跟FreeBSD系統的套件衝突。且由於很多Linux發行版都有提供\u0026quot;bootstrap\u0026quot;一類的工具，所以要安裝Arch Linux、Alpine Linux、Fedora等其他發行版的Linux Jail也不是問題的。\n2. 設定Linuxulator # Linuxulator是FreeBSD內建功能，無需安裝。注意：BSD家族系統當中只有FreeBSD有實作這個功能！OpenBSD、NetBSD、DragonflyBSD是沒有Linuxulator的！\n設定開機啟用Linux服務，並載入linux核心模組。設定之後重開機。 sudo sysrc dbus_enable=\u0026#34;YES\u0026#34; sudo sysrc linux_enable=\u0026#34;YES\u0026#34; sudo sysrc kld_list+=\u0026#34;linux linux64\u0026#34; 根據FreeBSD Wiki記載，截至FreeBSD 14，Linuxulator僅相容到Linux核心5.15.0的ABI。有些Linux程式可能會顯示FATAL: Kernel too old的錯誤。這時Linux核心的版本可以用變數compat.linux.osrelease強制覆寫，但不保證功能正常： echo \u0026#34;compat.linux.osrelease=6.12.0\u0026#34; | sudo tee -a /boot/loader.conf 此外，在Linux Jail裡面使用uname指令的時候，系統回報的依然是FreeBSD，而非Linux版本。\n3. 如何用Linuxulator執行Linux程式 # 安裝完成後，通常Linux程式是不能直接執行，多半還要透過FreeBSD的pkg install安裝一些userland (userspace)套件，補齊動態連結檔(.so)。\nFreeBSD開發者比較偏愛RHEL系列，FreeBSD Ports收錄的Linux userland套件通常以移植自Rocky Linux的居多。至於Ubuntu的呢？需要chroot才能使用。更早以前FreeBSD移植的Linux套件是來自CentOS 7，不過你知道的，這個專案的穩定發表版本已經掛了，所以現在就變成Rocky Linux了。\n目前FreeBSD 15收錄的套件來自Rocky Linux 9。名稱通常含有rl9。這些套件在安裝後會放到/compat/linux目錄。\n例如，一些Linux程式會需要依賴Glibc，它不能使用FreeBSD原生的.so檔，而是要安裝Linux的版本來提供.so檔。那麼以程式依賴Glibc的例子來說的話，常用的GNU函式庫都含在linux_base-rl9這個套件了：\nsudo pkg install linux_base-rl9 此外，部份FreeBSD Ports有收錄社群打包好的Linux程式套件，不需要手動裝依賴。\n比方說，執行sudo pkg instal linux-sublime安裝，就會自動下載Linux版Sublime Text，並自動安裝需要的Linux依賴套件，然後幫你做好一個桌面的Desktop Entry。\n4. 安裝Linux版的Google Chrome # 適用Chrome、Edge、Brave等Chromium核心的瀏覽器。\n我們可以安裝Ports的linux-chrome套件，自動安裝需要的Rocky Linux依賴套件。這個比在Ubuntu Jail內安裝Chrome要簡單許多。 sudo pkg install linux-chrome 接著安裝啟用DRM的套件foreign-cdm與linux-widevine-cdm： sudo pkg install foreign-cdm cd /usr/ports/www/linux-widevine-cdm/ \u0026amp;\u0026amp; sudo make install clean 安裝後會在桌面環境建立Google Chrome的Desktop Entry，點選即可使用。 如果透過Ports安裝的Google Chrome有問題，請先解除安裝：sudo pkg remove linux-chrome。\n再考慮使用linux-browser-installer指令稿來安裝Google Chrome：\ngit clone https://github.com/mrclksr/linux-browser-installer.git cd linux-browser-installer sudo ./linux-browser-installer install chrome 它會幫你自動安裝Ubuntu Jail並設定開機自動啟動，故不需要手動建立。你可能還要手動chroot進去安裝中文字型：\nsudo chroot /compat/ubuntu /bin/bash sudo apt install fonts-noto-cjk 5. 透過Linuxulator玩Steam遊戲 # 這屬於比較神奇的用法，混合FreeBSD原生套件與Linux的chroot跑Steam客戶端，從而玩Windows遊戲。\n參見：FreeBSD安裝Steam教學，使用linuxulator-steam-utils\n6. 建立Ubuntu Jail # 除非你真的很需要Ubuntu相關東西，否則請優先考慮使用Ports的Linux套件，不要用chroot。\n相關文章：debootstrap建立Ubuntu系統的使用方式 我們需要安裝debootstap，這個工具可以用來建立Ubuntu或Debian的rootfs。 sudo pkg install debootstrap 在安裝後應會自動建立/compat/ubuntu/目錄，Ubuntu的rootfs要放到這裡。不要使用/compat/linux，因為它是保留給Rocky Linux相關的linux_base-rl9套件使用的。\n用debootstrap，從台灣伺服器下載Ubuntu 22.04系統到那個目錄\nsudo debootstrap jammy \u0026#34;/compat/ubuntu/\u0026#34; \u0026#34;http://tw.archive.ubuntu.com/ubuntu\u0026#34; （選擇性）將Linux需要的目錄設定為開機自動掛載，以下內容請寫入到/etc/fstab。 devfs /compat/ubuntu/dev devfs rw,late 0 0 tmpfs /compat/ubuntu/dev/shm tmpfs rw,late,size=1g,mode=1777 0 0 fdescfs /compat/ubuntu/dev/fd fdescfs rw,late,linrdlnk 0 0 linprocfs /compat/ubuntu/proc linprocfs rw,late 0 0 linsysfs /compat/ubuntu/sys linsysfs rw,late 0 0 /tmp /compat/ubuntu/tmp nullfs rw,late 0 0 其中掛載home目錄的時候要注意，FreeBSD手冊是告訴你直接掛進去以方便共享檔案，但我希望Jail內的home跟FreeBSD的home是隔離的： /home/user/UbuntuHome /compat/ubuntu/home nullfs rw,late 0 0 若有FreeBSD目錄想跟Jail裡面的Linux共享，再額外掛載：\n/home/user/Downloads /compat/ubuntu/mnt/host_shared nullfs rw,late 0 0 重開機。這樣就能用chroot指令進入Ubuntu Jail了： sudo chroot /compat/ubuntu /bin/bash 編輯/etc/apt/sources.list apt update apt install vim vim /etc/apt/sources.list 補上main、restricted、universe的套件庫 deb [trusted=yes] http://tw.archive.ubuntu.com/ubuntu jammy main restricted universe deb [trusted=yes] http://tw.archive.ubuntu.com/ubuntu jammy-security main restricted universe deb [trusted=yes] http://tw.archive.ubuntu.com/ubuntu jammy-updates main restricted universe 更新套件庫後就可用APT安裝套件。 apt update chroot Linux內執行的X11程式應會直接顯示在FreeBSD的螢幕上，但可能不會吃到3D加速。如果沒有的話執行xhost指令允許所有X客戶端連線： xhost local: 至於Fcitx5輸入法得在Linux容器另外安裝。\n注意chroot內無法使用systemd相關指令，所以跑服務你都得手動輸入二進位檔的絕對路徑來啟動。\n還有，Docker、Flatpak、Snap是無法在chroot內使用的。\n參考資料 # LinuxJails - FreeBSD Wiki Chapter 12. Linux Binary Compatibility - FreeBSD Handbook 第21.3 节Linux 兼容层——基于Ubuntu/Debian - FreeBSD 从入门到跑路 ","date":"2026年4月8日","externalUrl":null,"permalink":"/posts/freebsd-enable-linuxulator/","section":"所有文章","summary":"Linuxulator是FreeBSD系統內建的一個功能，可以讓我們在FreeBSD系統執行Linux系統的二進位檔，不需要用到虛擬機。\n我們將用這個來跑FreeBSD沒有，Linux才有的圖形應用程式，比如說安裝Google Chrome。\n是的，Google真的沒有提供FreeBSD的套件。FreeBSD收錄的只有Chromium。Chrome除了能同步Google帳號資料之外，還可以播放Widevine DRM內容，比如Spotify與Netflix。FreeBSD的原生瀏覽器普遍缺乏播放DRM的能力，就連Firefox都沒有，所以這個時候Linux版的瀏覽器就派上用場了。 1. 說明 # 測試環境：FreeBSD 15 Release\n本文用到的軟體：\nLinuxulator FreeBSD chroot Jail 要高效率的跑Linux程式，得用Linuxulator。\nLinuxulator功能類似轉譯Windows程式的Wine，讓我們可以在FreeBSD系統以原生效能執行Linux的二進位檔。準確來說，Linuxulator不是轉譯，而是重新實現Linux kernel的syscall，以相容Linux ABI。 Linuxulator本身只有實現ABI，不能直接執行Linux二進位檔，需要補一些userspace依賴套件。FreeBSD的套件庫有收一些Linux移植過來的程式，能夠讓一些程式跑起來，譬如前文說的Google Chrome。\n","title":"FreeBSD跑Linux程式的方法：Linuxulator ＋ Jail","type":"posts"},{"content":"","date":"2026年4月8日","externalUrl":null,"permalink":"/tags/rocky-linux/","section":"標籤","summary":"","title":"Rocky Linux","type":"tags"},{"content":"","date":"2026年4月8日","externalUrl":null,"permalink":"/tags/fcitx/","section":"標籤","summary":"","title":"Fcitx","type":"tags"},{"content":"將FreeBSD安裝在實機，安裝KDE Plasma桌面，搭配Fcitx5中文輸入法，當作日常桌面系統使用。 FreeBSD有GNOME、KDE Plasma、XFCE、Mate等桌面可選。我選用功能豐富又漂亮的KDE Plasma桌面。\n目前可以在FreeBSD使用最新的KDE Plasma 6，支援X11與Wayland兩種圖形顯示技術。\n1. FreeBSD簡介 # FreeBSD是一種Unix-like的作業系統。可供個人電腦和伺服器使用。 FreeBSD和GNU/Linux一樣，是為開源免費的Unix-like作業系統，於1993年發布。前身是BSD Unix，基於當時美國各大學流行的Unix系統開發。Unix系統一開始是作為AT\u0026amp;T旗下貝爾實驗室的低成本研究專案授權給各大學使用的，加州大學柏克萊分校開發了自己的Unix系統，稱之為BSD Unix。1980年代早期，柏克萊分校使用了很多Unix的程式碼開發BSD系統，並發放給外界使用。然而，Unix被AT\u0026amp;T弄成商業產品後，開始控告柏克萊分校侵犯版權專利，打了好幾年的訴訟。在BSD陷入法律問題的同時，GNU/Linux的勢力趁機崛起，從此奠定了自由作業系統龍頭的地位。之後，柏克萊分校的開發團隊基於4.4BSD-Lite大幅度重寫程式碼，幾年後改稱FreeBSD，遂成為完全自由開源的作業系統。2000年，非營利組織FreeBSD基金會成立，用於支援FreeBSD的開發工作。\n了解以上歷史淵源後，與其說FreeBSD和GNU/Linux一樣是Unix-like的系統，不如說它就是Unix的直系後代吧！啊，不過在現代「Unix」之名是需要花錢請The Open Group認證商標才可以使用的，否則只能稱之為Unix-like。目前因為認證費用高昂，FreeBSD基金會沒有加入此認證的規劃。\n同為自由軟體，FreeBSD與GNU/Linux的授權條款理念有些微不同。GNU/Linux受自由軟體運動理念影響很深，GNU/Linux發行版多半使用GNU GPL授權條款，要求使用者必須開源回饋社區，防止商業公司將Linux核心改為閉源軟體，守護軟體自由。而FreeBSD系統使用的BSD授權條款則是秉持另外一種自由理念，所謂\u0026quot;The Power to Serve\u0026quot;，允許任何人自由利用作業系統原始碼，不限制他人自由，不強求回饋，你想把我開發的系統弄封閉，整碗端走拿去賣錢也沒關係，只要附上BSD的聲明就可以了。\n以自由軟體社群的聲勢來說，GNU/Linux社群蓬勃發展，商業與社群發行版好幾百個，不論在伺服器還是個人電腦領域都有人用。相較之下FreeBSD則是處於不溫不火的狀態，桌面方面進展落後GNU/Linux。但其實Apple macOS、Sony PlayStation、Nintendo Switch、TrueNAS等電子產品的底層核心有一部份就是使用FreeBSD技術的喔。在伺服器領域，FreeBSD系統依然有一定份額。\n既然是開源系統，BSD家族同樣有許多衍生版，或說發行版，但是碎片化遠沒有GNU/Linux那麼嚴重。BSD系統家族的衍生版包括FreeBSD、OpenBSD、NetBSD、DragonflyBSD等等。每個BSD家族的系統都是一個完整的作業系統，而非像Linux只有核心，需要有人把它跟GNU之類的軟體打包才能成為完整的作業系統。\n根據2005年的一項調查，FreeBSD是BSD家族中使用人數最多的系統。FreeBSD作為BSD系統家族當中最有名的版本，官方維護了豐富的原始碼儲存庫，還有一本清晰易懂的FreeBSD Handbook可供參考。\nFreeBSD系統有兩個開發分支：Current是測試版本，Release是穩定版。Release大約兩年釋出一個版本。FreeBSD的開發一直都很穩定，對變化比較保守，傳承了1980年代的系統架構，沒有太大的更動。\nFreeBSD保留了較為古早的init設計，所有系統服務都是由shell script定義，傳承了Unix哲學。\nFreeBSD的系統架構設計比較一致，開發工作由同一個原始碼Git儲存庫管理。FreeBSD將系統軟體與第三方軟體清楚的分離。例如系統軟體會安裝到/bin，第三方軟體是/usr/local/bin，整體來說設計比較完善且統一。FreeBSD官方維護的就只有FreeBSD核心和「base」系統軟體而已，X11和圖形介面的軟體都是由第三方社群提供的。FreeBSD有一個「Ports」套件庫用於收錄各方貢獻的第三方軟體。\n這樣做很好的隔離了系統軟體與第三方軟體。不像GNU/Linux發行版將所有軟體都混在一起，碎片化且標準不統一。\n還有，FreeBSD的Ports所收錄的軟體分為quarterly release (stable) 和latest release (bleeding edge) 兩個分支，前者經過較長時間測試才會釋出新版本，後者則是一直追上游軟體的變更。使用者可以自由依照需求，選擇適合的軟體版本。\n2. 測試環境 # 主機板：ASUS K31CD-K CPU：Intel i5-7400 GPU：Intel UHD 630 GPU：Nvidia GTX1050Ti RAM：16GB 3. 製作開機隨身碟 # 到FreeBSD官網下載ISO。FreeBSD系統本身是沒有圖形界面的，也尚未加入圖形安裝器。需要在安裝完基本系統之後手動安裝桌面環境。\n目前最新穩定版選FreeBSD 15 Release，下載AMD64架構版本的Installer，選DVD版本的ISO。\n下載後檢查檔案完整性防止檔案毀損。\n再使用Ventoy製作開機隨身碟。\n重開機進入電腦UEFI，關閉Secure Boot，使用UEFI模式開機。\n4. 安裝FreeBSD基本系統 # 開機之前確保有線乙太網路能夠上網。\n開機後選取Boot Installer，按Enter 選取Install開始安裝\n設定鍵盤佈局為US 設定主機名稱 用空白鍵選取要安裝的系統組件，這些套件之後都可以手動安裝，維持預設 檔案系統使用預設的ZFS 如果硬碟不為空，依照指示建立ZFS 設定root帳號密碼 設定有線與無線網路介面，全部使用預設值 設定開機自動啟動服務 系統安全性措施一般人應該不需要啟用 如果有的話，安裝系統硬體需要的韌體 新增一般使用者，取名叫user或自己喜歡的名字，加入群組wheel 設定時區為Asia/Taipei 後續設定選No，然後Shutdown關機。拔出安裝隨身碟。 第一次開機後，沒有圖形介面。輸入root帳號和密碼，登入系統。 執行ifconfig確認有無連上網路。\n安裝sudo和vim\npkg install vim sudo 執行vim /etc/sudoers指令，將一般使用者加入到sudo # 找到以下內容並新增 root ALL=(ALL:ALL) ALL user ALL=(ALL:ALL) ALL 切換到一般使用者 su user 將shell改成較為常見的bash sudo pkg install bash sudo chsh -s /usr/local/bin/bash root sudo chsh -s /usr/local/bin/bash user 5. 安裝圖形驅動程式 # FreeBSD支援X11與Wayland顯示技術，Wayland是比較現代的顯示技術，可以有效迴避X11畫面撕裂的問題。不過目前FreeBSD的Wayland還不穩定。因此這裡安裝X.org X Server作為主要圖形界面使用，Wayland當作備案。\nFreeBSD對「不同顯示卡的雙螢幕」支援似乎很差勁的樣子，也沒有成熟的PRIME能用。我的電腦有內顯和獨顯，我是用Nvidia當作主要顯示卡，所以我不能同時使用兩個顯示卡輸出螢幕，只能一次使用一個GPU。\n安裝X.org X Server # 安裝X.org： sudo pkg install xorg 將使用者加入video群組： sudo pw groupmod video -m user 正常來說現代的X.org是不需要手寫xorg.conf設定檔的啦，不過如果你圖形界面出不來就得手動調整。 安裝Intel顯示卡驅動 # 這裡示範主顯示卡為Intel的情況。drm-kmod是移植自Linux的DRM驅動，內含i915kms的核心模組，提供modesetting驅動，架構比較現代且通用。至於xf86-video-intel是舊版的X11驅動，提供intel驅動，僅支援Intel 9代以前的CPU內顯。FreeBSD手冊是推薦使用i915kms的通用驅動。\n安裝適用Intel UHD內顯的drm-kmod模組 sudo pkg install drm-kmod libva-intel-driver sudo sysrc kld_list+=i915kms 如果開機沒畫面，可能需要手寫X.org設定檔。用pciconf -lv | grep -B4 VGA指令查看Intel顯示卡的BusID\n編輯/usr/local/etc/X11/xorg.conf.d/20-intel.conf\n加入以下選項啟用DRM。反畫面撕裂的選項不一定要填。\nSection \u0026#34;Device\u0026#34; Identifier \u0026#34;Intel Graphics\u0026#34; Driver \u0026#34;modesetting\u0026#34; BusID \u0026#34;PCI:0:2:0\u0026#34; # Option \u0026#34;AccelMethod\u0026#34; \u0026#34;uxa\u0026#34; 如果畫面撕裂取消註解這二行 # Option \u0026#34;TearFree\u0026#34; \u0026#34;true\u0026#34; EndSection 安裝Nvidia顯示卡驅動 # 這裡示範主顯示卡為Nvidia的情況。\n參見：FreeBSD安裝Nvidia專有驅動\n6. 安裝桌面環境 # FreeBSD可以同時安裝多個桌面環境，包括GNOME、KDE Plasma、XFCE、Mate等等，並透過顯示管理器切換。\n想要功能豐富的就用KDE Plasma，想要簡單一點的用XFCE。這裡我優先安裝的是SDDM顯示管理器 + KDE Plasma桌面。\nKDE Plasma # 現在最新版本是KDE Plasma 6了。安裝以下套件，會自動安裝X.Org、Wayland、XWayland、PulseAudio、SDDM等依賴套件 sudo pkg install kde sudo pkg install plasma6-sddm-kcm sddm sudo pkg install wayland seatd 設定KDE Plasma桌面開機需要自動啟動的服務，包括SDDM sudo sysrc dbus_enable=\u0026#34;YES\u0026#34; sudo sysrc hald_enable=\u0026#34;YES\u0026#34; sudo sysrc sddm_enable=\u0026#34;YES\u0026#34; sudo sysrc seatd_enable=\u0026#34;YES\u0026#34; 設定開機載入所有可用的音訊驅動。切換播放音訊輸出的程式交給PulseAudio管理就可以了 sudo sysrc snd_driver_load=\u0026#34;YES\u0026#34; 依照KDE套件維護者建議，調整以下數值，設定開機自動套用，提升網路性能 echo \u0026#34;net.local.stream.recvspace=65536\u0026#34; | sudo tee -a /boot/loader.conf echo \u0026#34;net.local.stream.sendspace=65536\u0026#34; | sudo tee -a /boot/loader.conf 重開機。\nSDDM應該會自動啟動，在SDDM左下角選單選取Plasma X11，登入桌面。如果想嘗試最新技術，可以選擇Plasma Wayland。\nXFCE # 安裝XFCE桌面與LightDM sudo pkg install xfce xfce4-goodies lightdm lightdm-gtk-greeter 設定開機啟動服務，包括LightDM sudo sysrc dbus_enable=\u0026#34;YES\u0026#34; sudo sysrc hald_enable=\u0026#34;YES\u0026#34; sudo sysrc lightdm_enable=\u0026#34;YES\u0026#34; 設定開機載入所有可用的音訊驅動。切換播放音訊輸出的程式交給PulseAudio管理就可以了 sudo sysrc snd_driver_load=\u0026#34;YES\u0026#34; 7. 設定音訊系統 # 本段內容如果你使用KDE Plasma桌面可以忽略，因為PulseAudio都幫你處理好了。不過若是遇到程式沒聲音你可能得瞭解一下FreeBSD的音訊系統原理。有些桌面的音量面板可能不是用PulseAudio。\nFreeBSD原生的音訊系統是OSS，可以透過命令行工具mixer控制。理論上這種原生的音訊系統延遲應該比PulseAudio低才對。但是OSS在切換輸出裝置後程式需要重新啟動才能發出音效，得用virtual_oss方便切換輸出裝置。我們很少直接去操作OSS控制音量，會使用音訊伺服器，例如sndiod (sndioctl)、PulseAudio (pactl，可以即時切換音訊輸出)、PipeWire (wp-ctl) 等等。程式會依賴這些API跟底層OSS溝通，多個音訊伺服器可以同時執行。\n以Firefox來說，FreeBSD套件庫編譯的版本會優先使用sndiod或者PulseAudio發出聲音，若要使用OSS則需要到about:config，強制指定media.cubeb.backend=\u0026quot;oss\u0026quot;。\n因為不確定程式會用到哪個音訊伺服器，我這裡乾脆全開。用底層的OSS mixer設定音量為最大值，再讓sndctl或pactl去調整。\n載入音訊驅動 # 設定開機載入所有可用的音訊驅動\nsudo sysrc snd_driver_load=\u0026#34;YES\u0026#34; 設定音訊服務 # 列出音訊裝置 cat /dev/sndstat 切換輸出裝置 sudo sysctl hw.snd.default_unit=數字 試試設定目前的音量為最大 mixer vol.volume=1.0 mixer pcm.volume=1.0 編輯/boot/loader.conf，設定開機預設輸出裝置 hw.snd.default_unit=數字 如果太小聲，調整hw.snd.vpc_0db，降低數值，預設為45 hw.snd.vpc_0db=35 然後設定讓音量不要在切換頻道後重置 hw.snd.vpc_autoreset=0 設定開機後自動套用之前的mixer設定還有音量 sudo sysrc mixer_enable=\u0026#34;YES\u0026#34; 順便啟用sndiod sudo pkg install sndio sudo sysrc sndiod_enble=\u0026#34;YES\u0026#34; 安裝PulseAudio。PulseAudio會在程式需要的時候自動啟動。 sudo pkg install pulseaudio 8. 設定中文化與安裝Fcitx5輸入法 # 安裝Noto字體以支援多國語言。這會把全部語言的字體拉進來，套件很肥。如果只要正體中文那就noto-sans-tc。 sudo pkg install noto 編輯~/.profile，設定系統語言為正體中文 export LANG=zh_TW.UTF-8 export MM_CHARSET=zh_TW.UTF-8 設定開機啟動的SDDM語言為正體中文： sudo sysrc sddm_lang=\u0026#34;zh_TW.UTF-8\u0026#34; 輸入法我選Fcitx5，提供多種語言的輸入框架，它對Wayland支援比較好，且支援簡繁轉換。用以下指令安裝Fcitx5輸入法、新酷音注音輸入法、拼音輸入法： sudo pkg install fcitx5 \\ fcitx5-gtk-common fcitx5-gtk3 fcitx5-gtk4 \\ fcitx5-qt-common zh-fcitx5-chewing 編輯~/.profile，加入以下環境變數，指定在GTK與QT程式使用Fcitx5輸入法。 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx export SDL_IM_MODULE=fcitx export GLFW_IM_MODULE=ibus 如果輸入法沒有在登入桌面後自動啟動，將Desktop Entry加入到XDG Autostart目錄： mkdir -p ~/.config/autostart/ cp /usr/local/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/ 如果要在KDE 6 Wayland使用Fcitx5，還需要開啟Plasma系統設定 → 鍵盤 → 虛擬鍵盤，選取虛擬輸入法為Fcitx5。 9. 啟用PF防火牆 # 來自OpenBSD的防火牆方案。設定開機啟動PF防火牆： sudo sysrc pf_enable=yes sudo sysrc pflog_enable=yes 用ifconfig指令列出所有網路介面\n編輯/etc/pf.conf設定防火牆規則\n規則如下，拒絕所有連入連線，但開放SSH\next_if = \u0026#34;re0\u0026#34; # 輸入有線網路的介面 set block-policy drop set skip on lo pass out on $ext_if proto { tcp, udp, icmp } from any to any keep state pass in on $ext_if proto tcp from any to any port 22 keep state 套用規則 sudo pfctl -F all -f /etc/pf.conf 10. 常用工具與系統調整 # 設定Avahi與nssswitch，啟用mDNS，讓電腦可以使用*.local的網域登入 sudo pkg install avahi-app nss_mdns sudo sysrc avahi_daemon_enable=\u0026#34;YES\u0026#34; grep -q \u0026#39;^hosts:.*\\\u0026lt;mdns\\\u0026gt;\u0026#39; /etc/nsswitch.conf || sudo sed -i \u0026#34;\u0026#34; \u0026#39;s/^hosts: .*/\u0026amp; mdns/\u0026#39; /etc/nsswitch.conf 設定開機載入FUSE，允許一般使用者掛載硬碟 echo \u0026#39;fusefs_load=\u0026#34;YES\u0026#34;\u0026#39; | sudo tee -a /boot/loader.conf echo \u0026#39;vfs.usermount=1\u0026#39; | sudo tee -a /etc/sysctl.conf 啟用電源管理程式powerd，設定讓CPU自動依照需求調節系統效能： sudo sysrc powerd_enable=\u0026#34;YES\u0026#34; sudo sysrc powerd_flags=\u0026#34;-a hiadaptive -i 25 -r 85 -N\u0026#34; 11. FreeBSD如何安裝軟體 # 優先使用pkg install指令安裝軟體。不要使用桌面環境的應用商店前端，像KDE Discover，因為那需要PackageKit，但這個工具在FreeBSD不可用。因此還是以打指令安裝為主。\nFreeBSD套件庫提供預先編譯好的二進位套件(Packages)，這些套件可從http://pkg.freebsd.org取得。\n使用者也可以使用Ports，手動複製軟體原始碼下來，依照自己的需求編譯修改。你可以到FreshPorts查看最新版本的套件提交狀況。通常，Ports的軟體成熟之後，FreeBSD官方就會提供二進位套件讓你直接裝。\n12. FreeBSD系統管理指令 # 詳細內容請多參閱FreeBSD Handbook。\n一般使用者執行以下指令記得加上sudo。\nFreeBSD使用傳統init開機。\n/boot/loader.conf與/etc/sysctl.conf這兩個檔案用於控制開機載入的核心模組，可以設定參數。/boot/loader.conf是在FreeBSD開機選單載入倒數後第一個載入的檔案，用於設定核心的行為。/etc/sysctl.conf則是在開機之後才執行的核心的行為。\n編輯/etc/rc.conf這個檔案，控制開機後載入的核心模組，以及啟動哪些服務。\n使用service \u0026lt;服務名稱\u0026gt; start控制服務啟動。\n可以使用service \u0026lt;服務名稱\u0026gt; enable設定開機啟動服務，或者使用sysrc指令啟用開機服務，它會自動編輯/etc/rc.conf檔案的內容。\nkld_list+=指令新增開機載入核心模組，會自動編輯/etc/rc.conf。\nFreeBSD系統軟體的設定檔應該放到/etc，至於使用者自行用pkg安裝的軟體的設定檔應該放到/usr/local/etc/或者該名使用者的家目錄。\n如果弄壞系統無法開機，就用LiveUSB，或者在開機時按2，進入Single User Mode，登入root帳號，執行mount -u /再救援系統。\n13. 設定Linuxulator相容層 # 類似Wine的東西，允許在FreeBSD系統執行Linux的二進位檔。\n非必要步驟，但有些軟體沒有原生FreeBSD套件，拿Linux的過來用比較方便，這個時候Linuxulator會很有用。\n參考：FreeBSD跑Linux程式的方法：Linuxulator ＋ Jail\nFreeBSD作為桌面系統的使用評價 # 我大約從2022年起斷斷續續的嘗試FreeBSD系統。\n身為Linux的使用者，我免不了會帶入Linux的視角去比較FreeBSD。FreeBSD的操作難度比Linux還要高，不過架構也相對單純。現在依然很好的保持了Unix哲學的設計精神。使用的時候要多讀手冊。\nFreeBSD的軟體選擇是以開源軟體為主（我不講自由軟體，因為FreeBSD主要都是收BSD授權而非GPL授權）。部分軟體是從Linux移植過來的，也有BSD團隊自己的發明。\nFreeBSD使用的是Unix-like通行的桌面。遵守FreeDesktop標準真是太好了，Linux桌面很多觀念都能借過來用，例如用fontconfig調整中文字型偏好，只是有些系統路徑不一樣罷了。\nFreeBSD的文件非常consistent，多年發展下來沒有太大變化，幾年前的教學依然適用。\n但，FreeBSD套件缺的可多了，一堆Linux套件沒有BSD版，不然就是安裝後顯示套件維護者失蹤了。太多程式的圖形版沒有移植。例如KDE協助掛載檔案系統的kio實作不完全，就連MTP都要用指令掛，只好用命令行或TUI。\n瀏覽器缺乏DRM是個問題，Firefox和Chromium都沒有，更沒有Google Chrome原生套件。致使單純以瀏覽器為主的作業環境也會遇到許多問題，得手動安裝DRM套件解決。\nLinux在多年的社群努力成果下，其實很多東西都自動化，開箱即用了。Systemd這類標準化措施功不可沒。在2026年用FreeBSD當桌面系統，好比在2000年代出頭使用Linux。根本就是瘋狂宇宙，只差沒有編譯XFree86。許多在Linux簡單就設定好的東西，FreeBSD得多做一些步驟。現在我才知道，Linux早就克服的X.org多螢幕自動偵測設定，到了FreeBSD還得要手動配置！Linux有的，FreeBSD很多都沒有移植過來，在作為桌面系統的角色上，FreeBSD落後Linux好幾年。硬體支援度差勁也就算了，軟體東西也缺很多。\n總而言之，當作桌面系統來說非常challenging。\n參考資料 # FreeBSD Handbook The FreeBSD Forums FreeBSD 从入门到跑路 - FreeBSD 中文社区（CFC） ","date":"2026年4月8日","externalUrl":null,"permalink":"/posts/install-freebsd/","section":"所有文章","summary":"將FreeBSD安裝在實機，安裝KDE Plasma桌面，搭配Fcitx5中文輸入法，當作日常桌面系統使用。 FreeBSD有GNOME、KDE Plasma、XFCE、Mate等桌面可選。我選用功能豐富又漂亮的KDE Plasma桌面。\n目前可以在FreeBSD使用最新的KDE Plasma 6，支援X11與Wayland兩種圖形顯示技術。\n1. FreeBSD簡介 # FreeBSD是一種Unix-like的作業系統。可供個人電腦和伺服器使用。 FreeBSD和GNU/Linux一樣，是為開源免費的Unix-like作業系統，於1993年發布。前身是BSD Unix，基於當時美國各大學流行的Unix系統開發。Unix系統一開始是作為AT\u0026T旗下貝爾實驗室的低成本研究專案授權給各大學使用的，加州大學柏克萊分校開發了自己的Unix系統，稱之為BSD Unix。1980年代早期，柏克萊分校使用了很多Unix的程式碼開發BSD系統，並發放給外界使用。然而，Unix被AT\u0026T弄成商業產品後，開始控告柏克萊分校侵犯版權專利，打了好幾年的訴訟。在BSD陷入法律問題的同時，GNU/Linux的勢力趁機崛起，從此奠定了自由作業系統龍頭的地位。之後，柏克萊分校的開發團隊基於4.4BSD-Lite大幅度重寫程式碼，幾年後改稱FreeBSD，遂成為完全自由開源的作業系統。2000年，非營利組織FreeBSD基金會成立，用於支援FreeBSD的開發工作。\n","title":"FreeBSD安裝教學，KDE桌面 + Fcitx5中文輸入法","type":"posts"},{"content":"追尋自由又安全的Unix-like系統，嘗試將OpenBSD作為桌面系統使用？\n如果人們的電腦開機都只執行一個X Window Manager，那麼你的系統就會非常安全吧。\nOpenBSD是可以搭配圖形界面使用的，比如XFCE。 不過為了進一步探索，我還是決定安裝比較重型的KDE Plasma桌面環境。 1. OpenBSD簡介 # OpenBSD是一個注重安全性的Unix-like開源作業系統，屬於BSD系統家族，開發工作起源於1995年。專案發起人Theo de Raadt因為跟NetBSD開發者意見不和，遂分叉出OpenBSD專案。 在桌面系統的用途上，OpenBSD比FreeBSD還冷門，雖然很少被人作為主要的作業系統使用，不過著名的OpenSSH、PF、doas、OpenBGPD、OpenNTPD等工具就是這個系統的開發者所撰寫的，這些工具並沒有限定只能在OpenBSD使用，開發者將他們移植到了其他主流的作業系統，造福大眾。\n相較於FreeBSD意圖成為\u0026quot;general purpose\u0026quot;的系統，OpenBSD傾向走精簡系統的設計。開發更為謹慎，擁有嚴格的程式碼審查流程，據說開發工作都是在專案發起人Theo de Raadt家中的定期黑客松協調的。\nOpenBSD專案自稱是一個注重安全的系統，例如針對X.org X Server特別修補過，還有Firefox編譯的時候啟用了「unveil」和「pledge」防止讀取檔案系統。OpenBSD開發者號稱發表20多年來，預設安裝的系統只有被找到二個遠端執行提權的漏洞，因此十分之安全。所謂預設安裝的系統是指，開機只有FVWM執行的X11環境和OpenSSH Server，什麼第三方軟體都沒安裝的情況下。但是\u0026hellip;只有FVWM這種極簡桌面誰用的下去呀喂。\n通常，OpenBSD會部署在伺服器和路由器環境，當作防火牆使用。要作為桌面系統的話難度頗高。\n比較特別的是OpenBSD是內建X Window圖形介面的，也就是FVWM，並由開發者親自維護，不像其他BSD系統預設安裝只有純文字介面，把圖形介面的工作都丟給第三方Ports處理。呃，雖然說以現代人的標準來看OpenBSD這個圖形介面實在精簡過頭了。要一個實際可用的桌面環境，你還是得安裝Ports第三方移植的套件。\n因為OpenBSD追求極致安全性，所以可能會犧牲一些系統的效能，導致同一個硬體在OpenBSD比FreeBSD跑起來要慢。例如Intel CPU的超執行緒功能預設是停用的，還有預設的FFS2檔案系統I/O效能不佳。這些需要手動調整系統參數才能改善。\nOpenBSD的版本分為Current與Release，每6個月釋出一個新版本。不過由於OpenBSD開發進度比較保守，系統管理的指令通常不太會有太大變化。\n每個OpenBSD版本釋出後還會順便釋出一張圖畫和一首歌，內容都是講開發者的辛勞，十分有趣。 OpenBSD有自己的Ports套件庫，收錄的軟體比FreeBSD少很多，FreeBSD的Ports也不見得能沿用。因此使用上需要有更高的除錯能力。\nOpenBSD安裝過程蠻直覺的說，他們開機就執行一個純文字的程式，回答問題即可完成安裝。值得一提的是OpenBSD有自己維護Xenocara X Server，是當初從XFree86 X Server分叉出來的，會根據X.org X Server的更新自行打patch。有打了一些增強安全性的修補程式。OpenBSD預設桌面是FVWM，同時也有收錄常見的Unix-like適用的桌面套件，例如GNOME、KDE Plasma、XFCE，可一旦安裝這類複雜的桌面還敬，系統漏洞攻擊面就馬上變多了的說～\n2. 測試環境 # 電腦：MSI Modern 15 A10RBS CPU：Intel i5-10210u GPU：Intel UHD 620 GPU：Nvidia MX350 3. 製作OpenBSD安裝隨身碟 # OpenBSD的版本分為Current與Release，每6個月釋出一個新版本。\nOpenBSD的官網\u0026hellip;真的很樸素呢。官方ISO沒有圖形安裝器，需要用指令稿安裝。到官網下載最新穩定版(Release)的ISO。\n建議驗證檔案完整性\n這個ISO可以使用Ventoy開機。不過如果你打算離線安裝，那就用dd指令的方式製作開機隨身碟，才能在安裝過程中載入系統檔案離線安裝。\n重開機進入UEFI，使用隨身碟開機\n4. 安裝OpenBSD # 官方ISO沒有圖形安裝器，需要用指令稿安裝。推薦使用有線乙太網路安裝，免得網路卡還要抓驅動才能用。\n開機後依照畫面指示輸入i，開始安裝 首先OpenBSD會使用ifconfig自動啟用網路。並在安裝過程中嘗試用fw_update安裝必須的韌體。\n參考安裝選項如下：\nKeyboard layout: us Hostname: #輸入主機名稱 Network: #選取要使用的網路界面，推薦優先使用有線乙太網路 IPv4: autoconf # 啟用DHCP IPv6: none Network interface: done Password for root: #設定root帳號密碼 Start sshd by default? yes # 開機自動啟動SSH伺服器 X Window System start with xenodm? yes # 開機自動啟動X視窗系統 Setup user? username: user # 新增一般使用者user Allow root ssh login? no # 是否允許Root登入SSH Timezone: Asia/Taipei # 時區 Which disk? # 選取要安裝系統的硬碟，輸入?可以查看硬碟型號 Encrypt root disk? no Use WHOLE disk # 使用GPT分割表，使用FFS2檔案系統 Use AUTO layout # 自動磁碟分區 Which disk to initialize: done Location of sets: http # http從網路下載系統套件，disk則是離線安裝系統套件 HTTP Proxy URL? none HTTP Server? # 選一個離台灣最近的國家的伺服器，輸入數字 Server directory? Set names? done Location of sets? done 首次開機，使用root帳號登入系統 然後就會進入FVWM桌面，點左下角打開終端機。OpenBSD預設就是走極簡風。右下角允許你切換多個工作區。 首先將使用者加入wheel群組。OpenBSD預設管理使用者權限的工具推薦使用doas，而非sudo。因此，以root登入系統，編輯/etc/doas.conf\nvi /etc/doas.conf 允許wheel群組用戶執行指令 permit :wheel 將使用者加入wheel群組 usermod -G wheel user 之後以一般使用者登入就可以用doas為開頭安裝軟體了。 5. 一些系統調整 # 設定開機自動連上網路。如果有乙太網路連線。首先用fw_update嘗試下載網路卡需要的韌體： doas fw_update 需要用Wifi的話，用ifconfig列出界面，確認Wifi裝置有抓到驅動，然後輸入SSID與密碼，令其連上Wifi。這裡的例子是Intel Wireless-AC 9560，裝置代號顯示為iwx0。因此建立一個界面名稱結尾的hostname檔案，並輸入Wifi密碼，然後啟用DHCP，啟動網路。 doas touch /etc/hostname.iwx0 echo \u0026#34;join \u0026#39;SSID\u0026#39; wpaprotos wpa1,wpa2 wpakey \u0026#39;密碼\u0026#39;\u0026#34; | tee -a /etc/hostname.iwx0 echo \u0026#34;inet autoconf\u0026#34; | tee -a /etc/hostname.iwx0 doas sh /etc/netstart 啟用sndiod服務，它是跑在原生OSS音訊系統上的一組伺服器服務。取消靜音，允許錄音 doas rcctl enable sndiod doas mixerctl outputs.master.mute=off echo \u0026#34;kern.audio.record=1\u0026#34; | doas tee -a /etc/sysctl.conf 啟用CPU的超執行緒功能 echo \u0026#34;hw.smt=1\u0026#34; | doas tee -a /etc/sysctl.conf 啟用apmd，調整系統電源模式，設定在接上電源的時候啟用最大效能模式 doas rcctl enable apmd doas rcctl set apmd flags -A 編輯/etc/pf.conf，填入以下內容，只允許SSH連入 set block-policy drop block all pass out all keep state pass in on em0 proto tcp to port 22 keep state 啟用PF防火牆 doas rcctl enable pf 將使用者可以產生的檔案上限調高一點 echo \u0026#34;kernel.maxfiles=65536\u0026#34; | doas tee -a /etc/sysctl.conf ksh預設不會紀錄指令歷史，在~/.xsession或~/.profile加入以下環境變數啟用之 echo \u0026#34;export HISTFILE=~/.sh_history\u0026#34; \u0026gt;\u0026gt; ~/.xsession 6. 安裝顯示卡驅動 # OpenBSD不使用drm-kmod提供顯示卡驅動，也沒有xf86-video-*的驅動套件。所有驅動都含在作業系統核心裡面。一部分韌體可以透過fw_update下載。\ndoas fw_update Intel的顯示卡應該是開箱即用。\nOpenBSD拒絕接受閉源軟體。因此Nvidia閉源驅動在這裡是用不了了，雖然Nvidia官方有提供FreeBSD的驅動但無法移植。OpenBSD勉強只有Nouveau能用。\n7. 安裝軟體方式 # OpenBSD安裝軟體的指令是pkg工具。\n例如搜尋套件：\ndoas pkg_info -Q firefox 安裝Firefox套件：\ndoas pkg_add firefox OpenBSD的第三方軟體依賴Ports提供。Ports的原始碼樹每6個月跟著OpenBSD專案一起更新。\n8. 系統管理指令 # OpenBSD預設的shell是ksh。\n要管理網路，主要使用ifconfig操作。網路介面的設定透過/etc/hostname.介面名稱定義，DNS定義在/etc/resolv.conf，並透過sh /etc/netstart套用。\nOpenBSD的系統服務管理使用rcctl，它會自動編輯/etc/rc.conf.local來設定開機要啟動的服務。\n例如，設定開機啟動xenodm：\ndoas rcctl enable xenodm 9. FVWM基本操作 # OpenBSD開機會啟動xenodm作為顯示管理器，然後啟動FVWM。\n這需要手動寫設定檔來設定視窗外觀，定義在~/.fvwm/config\n具體設定方法見FVWM Wiki或者Arch Wiki。\n右下角有工作區，開啟的視窗最小化之後會放到左下角\n很多操作都要用命令行解決。例如調整音量要用sndioctl或mixer指令，直接操作OSS音訊系統。\n10. 安裝其他桌面環境 # OpenBSD套件庫沒有收SDDM顯示管理器，LightDM也沒有，只得使用xenodm來啟動桌面環境。xenodm只吃~/.xsession來啟動桌面，功能類似startx指令。\n我覺得XFCE桌面在OpenBSD支援度比KDE Plasma好，KDE Plasma很多服務都缺後端，例如OpenBSD沒有PulseAudio，KDE便無法控制音量，但XFCE可以，因為它支援OSS。\nKDE Plasma # FVWM那種鬼界面你用的下去算你厲害！很多東西都要用命令行。不過對追求極簡的人來說還真有可能呢。但是我想要一個多功能的桌面環境。至於複雜圖形套件帶來的安全性問題，我就只好犧牲了。所以，我選擇安裝KDE Plasma桌面環境。如果KDE Plasma對你來說太複雜，可以考慮XFCE。目前OpenBSD對Wayland支援不太好，所以得用X11。\n參考負責移植KDE套件的維護者的說明：How to install KDE Plasma 6 on OpenBSD\n執行以下指令安裝KDE Plasma 6桌面： doas pkg_add kde-plasma kde-plasma-extras 安裝KDE附屬應用程式 doas pkg_add kde 使用xenodm替代SDDM來啟動KDE Plasma桌面。\n登入一般使用者，編輯家目錄下的~/.xsession，填入以下內容：\nexport XDG_RUNTIME_DIR=/tmp/run/$(id -u) if [ ! -d $XDG_RUNTIME_DIR ]; then mkdir -m 700 -p $XDG_RUNTIME_DIR fi export LC_CTYPE=\u0026#34;zh_TW.UTF-8\u0026#34; export QT_FORCE_STDERR_LOGGING=1 export XDG_CURRENT_DESKTOP=KDE export DESKTOP_SESSION=plasma /usr/local/bin/startplasma-x11 重開機。這樣xenodm便會在登入使用者帳號後啟動KDE Plasma桌面。\n由於OpenBSD系統很精簡的緣故，即使裝了KDE Plasma很多功能還是缺失的，你需要手動補齊其他缺少的系統組件和硬體驅動，並手動啟動對應服務，例如PulseAudio，但OpenBSD好像根本沒人在用這個？都直接用sndiod的，但KDE Plsma無法認到這個後端呀！\n雖然KDE Plasma版本蠻新的，但因為OpenBSD維護者少，使用起來bug也多。因此我想精簡的系統還是用精簡的桌面就好。\nXFCE # 執行以下指令安裝XFCE桌面： doas pkg_add xfce xfce-extras 登入一般使用者，編輯家目錄下的~/.xsession，填入以下內容： export XDG_RUNTIME_DIR=/tmp/run/$(id -u) if [ ! -d $XDG_RUNTIME_DIR ]; then mkdir -m 700 -p $XDG_RUNTIME_DIR fi export LC_CTYPE=\u0026#34;zh_TW.UTF-8\u0026#34; /usr/local/bin/startxfce 重開機。這樣xenodm便會在登入使用者帳號後啟動XFCE桌面。 11. 中文化與Fcitx5輸入法 # OpenBSD的環境變數雖然可以放在~/.profile，不過如果是要設定圖形介面語言的話，就得放在~/.xsession。\n安裝Noto字型 doas pkg_add noto-cjk 系統語言可以透過在~/.xsession頂部，設定環境變數指定 export LANG=zh_TW.UTF-8 export MM_CHARSET=zh_TW.UTF-8 接著安裝Fcitx5中文輸入法，包含注音與拼音 doas pkg_add fcitx fcitx-configtool fcitx-qt fcitx-qt fcitx-chinese-addons fcitx-chewing 在~/.xsession設定環境變數指定使用Fcitx5 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx export SDL_IM_MODULE=fcitx export GLFW_IM_MODULE=ibus 設定登入桌面自動啟動Fcitx5 mkdir -p ~/.config/autostart/ cp /usr/local/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/ 參考資料 # OpenBSD Frequently Asked Questions OpenBSD Handbook OpenBSD中文結社 ","date":"2026年4月7日","externalUrl":null,"permalink":"/posts/install-openbsd/","section":"所有文章","summary":"追尋自由又安全的Unix-like系統，嘗試將OpenBSD作為桌面系統使用？\n如果人們的電腦開機都只執行一個X Window Manager，那麼你的系統就會非常安全吧。\nOpenBSD是可以搭配圖形界面使用的，比如XFCE。 不過為了進一步探索，我還是決定安裝比較重型的KDE Plasma桌面環境。 1. OpenBSD簡介 # OpenBSD是一個注重安全性的Unix-like開源作業系統，屬於BSD系統家族，開發工作起源於1995年。專案發起人Theo de Raadt因為跟NetBSD開發者意見不和，遂分叉出OpenBSD專案。 在桌面系統的用途上，OpenBSD比FreeBSD還冷門，雖然很少被人作為主要的作業系統使用，不過著名的OpenSSH、PF、doas、OpenBGPD、OpenNTPD等工具就是這個系統的開發者所撰寫的，這些工具並沒有限定只能在OpenBSD使用，開發者將他們移植到了其他主流的作業系統，造福大眾。\n相較於FreeBSD意圖成為\"general purpose\"的系統，OpenBSD傾向走精簡系統的設計。開發更為謹慎，擁有嚴格的程式碼審查流程，據說開發工作都是在專案發起人Theo de Raadt家中的定期黑客松協調的。\n","title":"簡述安裝OpenBSD + KDE桌面 + 中文輸入法過程","type":"posts"},{"content":"","date":"2026年4月6日","externalUrl":null,"permalink":"/ja-jp/tags/steam/","section":"Tags","summary":"","title":"Steam","type":"tags"},{"content":" Steam is a threat to FOSS and user freedom on Linux.\nなぜ自由ソフトウェアを追求するユーザーが、クローズドソースのゲームプログラムを遊ぶのか？そしてこの種のエコシステムの悪事に加担するのか？\n正直に言うと、私は今ではどんなゲーム機も軽く見ることができなくなった。ゲーム機も一種のコンピューターであり、ソフトウェアを必要とする。PlaystationやSwitchのようなゲーム機が、魔改造されたBSDシステム上で動いており、しかも不自由なシステムだと知ってから、その上でゲームを遊ぶことを受け入れられなくなった。ゲームソフトは往々にして特定プラットフォーム限定で、流通しにくい。だからこれは不自由であり、私はPC上でゲームを遊ぶほうを支持する。そしてゲームを販売するストアと言えば、最大手はSteamだ。Steamも一つのコンソールプラットフォームと見なせる。ゲームを売るだけでなく、ゲームランチャーでもあるからだ。\nSteamは確かにLinuxでゲームを遊ぶことに貢献し、ProtonとSteam Deckによってゲームを遊ぶ苦痛を簡略化した。しかし実際には、閉鎖プラットフォームを広めている。これはGoogle Chromeがブラウザー市場を占有しようとする野心に劣らない。結局それはプロプライエタリソフトウェアであり、商業企業によって推進されているからだ。クロスプラットフォーム対応とは、商業的な触手を広げ、できるだけ多くの場所を覆うことであって、ユーザーへの配慮を第一に置いているわけではないのでは？\nゲームを遊ぶことは人心を腐敗させやすい。開発者が設定した心理学的な誘惑テクニックに従って、商業企業があなたを誘惑する罠へ落ちていく。わかっている！すべてのゲームがそうだというわけではない。しかしゲームが面白くあるためには、この種の仕組みで人を誘惑しなければならない。ゲームに心理学は重要なのだ！そうでなければ、ゲーム内のキャラクターが甘ったるくあなたを旦那様/奥様と呼ぶことにハマったりしない！\nSteamがFlathubほどオープンソースな水準に到達していないなら、やはり警戒すべき対象である。現段階でValveが悪事を働いていないからといって、今後も悪事を働かないとは限らない。私たちはG胖の長寿を願うしかない。\nより深い問題は、なぜ自由・オープンソースソフトウェアを好むユーザーが、ゲームに対してだけ大目に見ることができるのかということだ。ゲームもまたソフトウェアの一種ではないのか？ここでの討論は悪くないと思う：Why are people here so worried about proprietary programs, but games get a pass?\nこのような偽善的心態を描いたミーム画像もある。画像出典 ここで少し話を逸らしたい。一部の自由ソフトウェア開発者は口がかなり悪い。たとえばSwayの初期バージョンはNvidiaをサポートしていなかったが、その理由の一部はNvidiaのWaylandサポートが非常に悪く、workaroundが必要だったことにある。そのためNvidiaグラフィックカードでSwayを起動するときは、--my-next-gpu-wont-be-nvidiaというFLAGを付ける必要があった。現在Nvidiaのサポートが改善された後、このFLAGは--unsupported-gpuへ変更された。\nさらに、SteamをFreeBSDへ移植した作者：shkhln/linuxulator-steam-utilsは、Steamがホームディレクトリに完全な読み取り権限を持つため、悪意あるプログラムがあなたのSSH鍵を盗む可能性があると考えている。そのためSteam専用のユーザーアカウントを作るべきだ。そうでなければ、「私は馬鹿です」という環境変数：DUMB_PERSON_FLAG = '--allow-stealing-my-passwords,-browser-history-and-ssh-keys' を付けなければSteamを起動できない。\nえ？Linuxコミュニティにはどうしてこういう懸念がないのか。UbuntuであれArch Linuxであれ、ユーザーは皆Steamをそのまま入れている。\nオープンソース信者は一般にプロプライエタリソフトウェアに過敏で、MicrosoftとAdobeは悪者であり、私たちのオープンソースソフトウェアのほうが優れていると考える。ところがゲームを売るものに対してだけは大目に見る。G胖はchadであり、他のテック巨人のように悪事を働かないと考えるのだ。そのためSteam上でユーザーの権利を侵害するアンチチートシステムやDRMのような仕組みを、抵抗ではなく黙って受け入れている。\nSteamは24時間あなたのプレイ時間を監視していることも忘れてはならない。考えるだけで恐ろしい。なぜGoogleの監視はだめで、Steamならよいのか？\nSteam自身がゲームに必ずDRMや何らかのアンチチート機構を使えと言っていないとしても、あなたがこのプラットフォームを使うこと自体が、こうした仕組みを黙認する共犯なのだ！\n今のメーカーがアンチチートのために、「あなたの安全性のため」と口々に言いながら、どれほど奇妙な操作をしているか考えてみてほしい。Windowsゲームメーカーがチート対策のためにkernel levelのアンチチートプログラムを実装しているのを見るだけで、ぞっとする。これらのソフトウェア自体がウイルスのようなものだ。DRMのクラッキング対策暗号化と同じくらい邪悪である。ValorantのVanguardは最も変態的なアンチチートプログラムだと聞く。仮想マシンもブロックし、QEMU/KVMでどれだけ隠しても役に立たず、さらにコンピューターでSecure Bootを有効にしないと遊べない！\n私たちは、SteamOSがゲーム開発会社のアンチチート需要を解決するために、あのようなkernel levelのアンチチートをLinuxへ持ち込むのではないかと非常に心配している。そうなれば、ユーザーのすべてのプログラム権限をスキャンし、さらにはLinuxカーネルとkernel moduleが特定メーカーによるデジタル署名済みでなければ起動できないと要求し、ユーザーの自由を破壊することになる。そしてSteamOSは、Play Integrityの寵愛を受けるもう一つのAndroidになってしまう！\n一歩譲って言えば、時には私たちはプロプライエタリソフトウェアを使わなければならない。まあいい、ゲームは娯楽項目であり、第九芸術である。ぎりぎり容認できる。もしゲームを動画や音楽と同じファイルとして見るなら、ファイルがH.265やWAVのような不自由な形式を使っているからといって、見ることを拒否するわけではないだろう？\nしかし、もしかすると私たちLinuxユーザーは、Steamを単純なゲーム販売プラットフォームとして扱えばよいのかもしれない。Steamに過度に依存してゲームを遊ぶべきではないのでは？Steamクライアントはブラウザーのようなものとして扱い、ゲームをライブラリへダウンロードしたらSteamを閉じ、ずっと開きっぱなしにしない。Steamゲームファイルはローカルディスクに存在するのだから、ゲームは独立したWineランチャーで起動すべきだ。Wineで起動できず、Steamクライアントに縛られてDRMやその他の仕組みを検証しなければならないゲームは、一律に購入拒否する。これが正しいのではないか？\nまあ\u0026hellip;結局Steam以外のWineランチャー案はどれもひどい。Lutris、Heroic、Bottlesにはそれぞれ問題があり、Steamほど魅力的ではない。人々は便利さと快適さのために、自由とプライバシーを放棄しやすい。\n","date":"2026年4月6日","externalUrl":null,"permalink":"/ja-jp/posts/steam-is-a-threat-to-foss/","section":"Foss-Issues","summary":" Steam is a threat to FOSS and user freedom on Linux.\nなぜ自由ソフトウェアを追求するユーザーが、クローズドソースのゲームプログラムを遊ぶのか？そしてこの種のエコシステムの悪事に加担するのか？\n正直に言うと、私は今ではどんなゲーム機も軽く見ることができなくなった。ゲーム機も一種のコンピューターであり、ソフトウェアを必要とする。PlaystationやSwitchのようなゲーム機が、魔改造されたBSDシステム上で動いており、しかも不自由なシステムだと知ってから、その上でゲームを遊ぶことを受け入れられなくなった。ゲームソフトは往々にして特定プラットフォーム限定で、流通しにくい。だからこれは不自由であり、私はPC上でゲームを遊ぶほうを支持する。そしてゲームを販売するストアと言えば、最大手はSteamだ。Steamも一つのコンソールプラットフォームと見なせる。ゲームを売るだけでなく、ゲームランチャーでもあるからだ。\nSteamは確かにLinuxでゲームを遊ぶことに貢献し、ProtonとSteam Deckによってゲームを遊ぶ苦痛を簡略化した。しかし実際には、閉鎖プラットフォームを広めている。これはGoogle Chromeがブラウザー市場を占有しようとする野心に劣らない。結局それはプロプライエタリソフトウェアであり、商業企業によって推進されているからだ。クロスプラットフォーム対応とは、商業的な触手を広げ、できるだけ多くの場所を覆うことであって、ユーザーへの配慮を第一に置いているわけではないのでは？\n","title":"SteamはLinuxゲーミングに貢献したが、それが自由ソフトウェアではないことによる脅威には警戒すべきだ","type":"foss-issues"},{"content":"","date":"2026年4月6日","externalUrl":null,"permalink":"/ja-jp/tags/unix/","section":"Tags","summary":"","title":"Unix","type":"tags"},{"content":"","date":"2026年4月6日","externalUrl":null,"permalink":"/ja-jp/tags/xfce/","section":"Tags","summary":"","title":"XFCE","type":"tags"},{"content":" XFCEは良い。しかし時代遅れだ。\n現在のバージョンは4.20だが、インターフェイスはほとんど20年前と同じままだ。\nいわゆるUnix哲学は、システムプログラミングの層にだけ適用できるもので、OSカーネルの上にあるグラフィカル環境の指針としては向いていないのかもしれない。\n暴論：XFCEは、他のデスクトップが正常に使えない時の控えでしかありえない。GPUアクセラレーションがない状況でもうまく動くからであって、そうでなければこのデスクトップはとっくに時代遅れだ。可能ならKDEかGNOMEデスクトップを使うべきだ。この二つ以外のデスクトップを勧めるユーザーについて、私はいつも、ユーザーをユーザーとして見ておらず、誰もがkernel hackerだと思い込んでいる開発者か、そうでなければboomer精神で年功序列を振りかざしているだけだと思っている。\n反Systemdで、Linuxは「Unix哲学」を堅持すべきだと騒ぐ連中にFreeBSDシステムを使わせれば、彼らはすぐ黙る。なにせグラフィックカードドライバーでさえ問題が起きやすい環境では、ネットに繋いで文句を言うことすらできないからだ。では、この壁を越えられる人たちは？彼らは黙々とシステムを使うようになる。\nシンプルさを追求するためにBSDシステムを使うとしても、デスクトップ環境がLinuxの影響を受けているという問題には向き合うことになる。\nBSDがLinuxに勝る強みは、システムが完全な一つの全体として設計されており、システムソフトウェアとサードパーティソフトウェアがよく隔離されていることにある。FreeBSDのシステム設定ファイルとユーザー設定ファイルは分けて置かれ、一つは/etc、もう一つは/etc/usr/local/だ。そしてFreeBSDのinitは昔から今まで変わっていない。\nこうした伝統的価値へのこだわりは、当然FreeBSDの主流デスクトップ選択にも影響している。2022年の投票：Preferred DE of the FreeBSD usersによると、主流デスクトップはKDE Plasma以外ではXFCEだ。GNOMEはここでは上位に入らない。\n人によってはXFCEで十分楽しく使えるかもしれない。確かにそれほどLinuxの最新技術に依存していないため、Unix-likeシステム間で汎用的に使える。Linuxコミュニティにも、XFCEを好む人はまだ多い。\nしかし昔の時代を経験していないユーザーにとって、XFCEは見た目が非常に醜く、時代遅れに映る。Mate、Cinnamon、LXDEも大して良くない。GNOME 40以降の設計は逆に急進的すぎて、モバイルデバイスに多く触れているzoomerだけが好みそうな感じがする。\nこうしたデスクトップがどれも嫌なら、WMを使う？それはそもそもデスクトップとは呼べない。現代人が堕落したと言うつもりか、boomer？本当にWMを使い続けられる人などいない。ブラウザーでネットを見るだけだとしてもだ。デスクトップ機能があれこれ欠けていて、独立した小物ツールを山ほど入れて補う。最後には結局、車輪の再発明をするだけではないか？\n唯一のX11デスクトップの大黒柱で、見た目がモダンでありながら伝統的なデスクトップの多機能性も維持するものとなれば、やはりKDE Plasma 6だ。BSDを入れるのはシンプルなシステムを追求するためではないのか、KDEのような大きなデスクトップ一式を入れるのは哲学に反するのでは、と疑問に思う人もいるかもしれない。私は、一部の人のKISSへの執着はすでに病的な段階に達していると思う。彼らはいつも現代のデスクトップを「肥大化している」と批判するが、現代のデスクトップはとっくにそんな単純な部品の集合ではなくなっている。良いユーザー体験を提供するために多くのサービスを走らせる必要があるのだ。さまざまなディスプレイパラメーターの変化に対応し、ユーザーに手動でxorg.confを書かせないようにするには、複雑さの増加は避けられない。それが嫌ならttyを使えばいい。\n要するに、デスクトップのグラフィカル環境をどう設計すべきかを開発者の視点から見るべきではなく、もっと一般ユーザーに関心を向けるべきだ、ということだ。\n","date":"2026年4月6日","externalUrl":null,"permalink":"/ja-jp/posts/unix-philosophy-is-not-suitable-for-modern-gui-design/","section":"Foss-Issues","summary":" XFCEは良い。しかし時代遅れだ。\n現在のバージョンは4.20だが、インターフェイスはほとんど20年前と同じままだ。\nいわゆるUnix哲学は、システムプログラミングの層にだけ適用できるもので、OSカーネルの上にあるグラフィカル環境の指針としては向いていないのかもしれない。\n暴論：XFCEは、他のデスクトップが正常に使えない時の控えでしかありえない。GPUアクセラレーションがない状況でもうまく動くからであって、そうでなければこのデスクトップはとっくに時代遅れだ。可能ならKDEかGNOMEデスクトップを使うべきだ。この二つ以外のデスクトップを勧めるユーザーについて、私はいつも、ユーザーをユーザーとして見ておらず、誰もがkernel hackerだと思い込んでいる開発者か、そうでなければboomer精神で年功序列を振りかざしているだけだと思っている。\n反Systemdで、Linuxは「Unix哲学」を堅持すべきだと騒ぐ連中にFreeBSDシステムを使わせれば、彼らはすぐ黙る。なにせグラフィックカードドライバーでさえ問題が起きやすい環境では、ネットに繋いで文句を言うことすらできないからだ。では、この壁を越えられる人たちは？彼らは黙々とシステムを使うようになる。\n","title":"XFCEは時代遅れだ。Unix哲学はGUI設計には向いていないかもしれない","type":"foss-issues"},{"content":"","date":"2026年4月6日","externalUrl":null,"permalink":"/ja-jp/tags/freebsd/","section":"Tags","summary":"","title":"FreeBSD","type":"tags"},{"content":" GPLがBSDライセンスより優れている点は、それが一種の防御的民主主義であることだ。\n積極的自由は消極的自由に勝る # 防御的民主主義 (Wehrhafte Demokratie) の概念を借りれば、GPLは自由ソフトウェア運動を長く持続させる秘方である。\nしたがって、ソフトウェアを開発するなら自由精神を保つためにGPLを使うべきであり、Copyleftの自由精神を貫徹すべきだ。BSD、MIT、Apacheのような寛容(permissive)な条項ではない。著作権をPublic Domainへリリースするのとほぼ変わらないライセンス条項を使うくらいなら、いっそWTFPLを使ったほうがよほどすっきりする！\n私たちはオープンソースソフトウェア(Open Source)ではなく、もっと自由ソフトウェア(Free Software)を語るべきだ。GPLはrestrict the freedomではなく、むしろprotect the freedomなのだ！\n同じくオープンソースのOSであるにもかかわらず、BSDシステムがGNU/Linuxシステムに劣る点は、GPLの精神を持たないことにある。この道徳的な呼びかけを欠けば、コミュニティ全体の力は弱まり、純粋なボランティアになり、好き放題に奪われるシステムになる。\n口汚く言えば、BSD Licenseは根本的に\u0026quot;Cuck License\u0026quot;、寝取られ条項だ。GPLライセンスは、俺の嫁をお前が抱くなら、お前の夫も俺に抱かせろ、というものだ。一方BSDライセンスは、お前が自分から嫁を他人に抱かせ、何の見返りもなくても構わないと思っているようなものだ！\nCuck Licenseの結果を描いた画像。大意としては、当初Minixを開発した教授が、善行の態度でBSDライセンスによりリリースしたところ、Intelに持っていかれ、Intel MEというCPU低層レベルの大規模監視ソフトウェアを作るために使われるとは思わなかった、というもの。 來自Luke Smith的網站\nハッカーコミュニティだけでは、大企業資本に対抗する十分に強力な武器にはならない。ソフトウェアの自由を守るには、自由ソフトウェア運動の指導も必要だ。GPLはBSDライセンス条項と比べ、ソフトウェアの将来の良性的発展を保証できる。つまりソフトウェアがソースコードを開放した後、同等の還元を出す必要があり、ソフトウェアが簡単に独占されないようにする。GPL自体は既存のビジネスモデルに友好的ではなく、しかも「自由ソフトウェア」という名義も「オープンソースソフトウェア」という名号ほどビジネスに友好的ではない。\nこれは一つの高リスクな賭けに基づいている：最初の一社がこの規則へ投資する意思を持ち、精神面でもGPLの精神に共感して初めて成功し、完全なエコシステムを発展させる可能性がある。現在見る限り、当時のLinuxの大勝負は成功した。Linuxの発展を本当に支援する企業が現れたからだ。典型的な例はRedHatである。\n現在、多くの企業が技術的にGPLを回避し、Linux Kernelの成果を盗む、または寄生して自社のクローズドソース製品を開発しようとしているが、GPLがもたらした影響は依然として大きく、Linuxの中心が永遠に自由でオープンソースであることを確保している。\nGNUとLinuxの関係はもっと密接であるべきだ。それこそ自由なOSである。だが現在直面している問題は、一部のプロジェクトがLinuxの開発成果だけを奪い取り、それをクローズドソース製品に使い、表面的にオープンソースのふりをして人々の信頼を騙し取っていることだ。 誰能想到這張圖的原圖是Richard Stallman在TED Talks的演講\nただ、LinusがRMSの意見を採用せず、Linux KernelをGPLv2からGPLv3へアップグレードしなかったのは少し惜しい。Linusは実用主義者に属し、確保しているのは消極的自由であり、オープンソースへの還元というやり方だけを強調する。しかし大企業が抜け穴を掘ってそれをクローズドソース製品へ変えることを防ぐ条項を入れようとはしない。理由の一部は、Linuxがすでに成熟し、世界的な商業プロジェクトとなり、関わる利益が多すぎるため、変えないほうがよいのだろう。\nしかし、「一時の安全と引き換えに基本的自由を犠牲にする者は、最後には安全も自由も得られない。」\n関連読書 # 为什么开源错失了自由软件的重点 - Free Software Foundation Why I Use the GPL and Not Cuck Licenses - Luke Smith ","date":"2026年4月6日","externalUrl":null,"permalink":"/ja-jp/posts/gpl-is-better-than-bsd-license/","section":"Foss-Issues","summary":" GPLがBSDライセンスより優れている点は、それが一種の防御的民主主義であることだ。\n積極的自由は消極的自由に勝る # 防御的民主主義 (Wehrhafte Demokratie) の概念を借りれば、GPLは自由ソフトウェア運動を長く持続させる秘方である。\nしたがって、ソフトウェアを開発するなら自由精神を保つためにGPLを使うべきであり、Copyleftの自由精神を貫徹すべきだ。BSD、MIT、Apacheのような寛容(permissive)な条項ではない。著作権をPublic Domainへリリースするのとほぼ変わらないライセンス条項を使うくらいなら、いっそWTFPLを使ったほうがよほどすっきりする！\n私たちはオープンソースソフトウェア(Open Source)ではなく、もっと自由ソフトウェア(Free Software)を語るべきだ。GPLはrestrict the freedomではなく、むしろprotect the freedomなのだ！\n同じくオープンソースのOSであるにもかかわらず、BSDシステムがGNU/Linuxシステムに劣る点は、GPLの精神を持たないことにある。この道徳的な呼びかけを欠けば、コミュニティ全体の力は弱まり、純粋なボランティアになり、好き放題に奪われるシステムになる。\n","title":"ソフトウェアライセンスはBSDよりGPLを選ぶほうがよい：防御的民主主義を堅持し、オープンソースソフトウェアではなく自由ソフトウェアをもっと語れ","type":"foss-issues"},{"content":"FreeBSD分為CURRENT與RELEASE兩個版本，CURRENT經過幾年開發後就會成為下一個RELEASE版本。釋出大版本更新之後，使用者就可以升級到下一個版本。例如從FreeBSD 14 → FreeBSD 15。\n1. 更新前的檢查事項 # FreeBSD每個版本的維護週期請參見官網和FreeBSD Release Engineering。推出新版本系統之後，你還是可以繼續使用舊版系統很長一段時間的，直到官方EOL，不用急著升級。\n升級前請記得到官網看一下Release Note，看有沒有什麼問題再升級。\nFreeBSD的基本系統跟第三方套件的更新是分開的，這裡我們要進行更新的是FreeBSD的base部份的系統，升級過程中。透過pkg安裝的二進位套件會自動進行升級。至於使用Ports手動編譯安裝的軟體，可能需要在升級之後重新編譯一次。\n升級前做好備份，還有準備LiveUSB隨身碟，免得升級系統後開不了機才能進入救援。（常見救援技巧：開機選Single User Mode，並以mount -u /就能以Root登入系統。另外/resurce目錄下有一些緊急情況下可以使用的靜態連結檔工具）。\n2. 使用freebsd-update進行大版本更新 # FreeBSD系統內建freebsd-update這個工具用於處理大版本更新。\n確認目前系統版本 sudo freebsd-version 在那之前先更新系統所有套件到最新版本，以及安裝安全性更新： sudo pkg update sudo pkg upgrade sudo freebsd-update fetch sudo freebsd-update install 更新需要指定版本，參閱Release Information | The FreeBSD Project，例如從FreeBSD 14升級到15。一次升級一個大版本就好，不要跨越兩個以上大版本。 sudo freebsd-update upgrade -r 15.0-RELEASE 依照畫面指示下載更新檔，檢視哪些程式的設定檔會被新版的覆蓋\n接著，安裝更新（中間可能要多次重開機執行此指令）\nsudo freebsd-update install 重開機。\n然後再更新套件\nsudo pkg update sudo pkg upgrade 如果更新出問題，可以嘗試回復到上一個版本： sudo freebsd-update rollback 確認更新後的系統版本 sudo freebsd-version 參考資料 # Chapter 26. Updating and Upgrading FreeBSD - FeeeBSD Handbook ","date":"2026年4月6日","externalUrl":null,"permalink":"/posts/upgrade-freebsd/","section":"所有文章","summary":"FreeBSD分為CURRENT與RELEASE兩個版本，CURRENT經過幾年開發後就會成為下一個RELEASE版本。釋出大版本更新之後，使用者就可以升級到下一個版本。例如從FreeBSD 14 → FreeBSD 15。\n1. 更新前的檢查事項 # FreeBSD每個版本的維護週期請參見官網和FreeBSD Release Engineering。推出新版本系統之後，你還是可以繼續使用舊版系統很長一段時間的，直到官方EOL，不用急著升級。\n升級前請記得到官網看一下Release Note，看有沒有什麼問題再升級。\nFreeBSD的基本系統跟第三方套件的更新是分開的，這裡我們要進行更新的是FreeBSD的base部份的系統，升級過程中。透過pkg安裝的二進位套件會自動進行升級。至於使用Ports手動編譯安裝的軟體，可能需要在升級之後重新編譯一次。\n升級前做好備份，還有準備LiveUSB隨身碟，免得升級系統後開不了機才能進入救援。（常見救援技巧：開機選Single User Mode，並以mount -u /就能以Root登入系統。另外/resurce目錄下有一些緊急情況下可以使用的靜態連結檔工具）。\n2. 使用freebsd-update進行大版本更新 # FreeBSD系統內建freebsd-update這個工具用於處理大版本更新。\n","title":"大版本更新升級FreeBSD系統的步驟，使用freebsd-update升級","type":"posts"},{"content":"Installing unofficial Steam client on Linux and playing Windows games through Proton.\n讓Ivon討論如何在FreeBSD系統安裝Steam客戶端，以及透過Wine Proton執行Windows遊戲。 Steam是一個全球知名的遊戲銷售平台，由Valve公司經營。Steam官方支援Linux、Windows、macOS系統。即使大部分遊戲是針對Windows開發的，Steam透過運用Proton (Wine) 的技術，讓玩家可以在Linux轉譯遊玩Windows的遊戲。\n相關文章：如何在Linux安裝Steam玩Windows遊戲 那麼，Steam支援BSD家族的系統嗎？截至撰文當下Valve官方都沒有支援計畫。雖然Linux跟FreeBSD的架構有相似之處，但Linux版的Steam不能直接在FreeBSD上執行。因此我們需要靠FreeBSD社群所移植的方案才能跑Steam。\n1. FreeBSD跑Steam客戶端的方案探討 # 目前FreeBSD 15，有幾個社群提出的非官方移植方案：\nshkhln/linuxulator-steam-utils：自動建立chroot環境，善用Linuxulator來跑Linux版Steam客戶端，再使用FreeBSD原生移植的Wine Proton執行Windows遊戲。僅提供基本的瀏覽器和Proton支援，不支援Steam Input、Steam VR、反作弊系統等功能。\nAlexander88207/Mizutamari：Wine啟動器。\nes-j3/steam-bottler：直接透過FreeBSD的Wine跑Windows版Steam客戶端。\n本文採用的是1.。作者比較常在更新相關解法。\n3. 安裝Steam客戶端 # 安裝之前請確保顯示卡GPU驅動已經安裝妥當。另外，建議在X11桌面操作，Wayland畫面可能會出不來。我個人的環境是KDE Plasma 6.6 X11。還有Steam客戶端僅支援x86_64架構。\n啟用FUSE、以及允許一般使用者建立chroot、使用Linux真正的網路界面，並設定開機載入nullfs與Linuxulator相容層模組。\necho \u0026#34;security.bsd.unprivileged_chroot=1\u0026#34; | sudo tee -a /boot/loader.conf echo \u0026#34;vfs.usermount=1\u0026#34; | sudo tee -a /boot/loader.conf echo \u0026#34;compat.linux.use_real_ifnames=1\u0026#34; | sudo tee -a /boot/loader.conf sudo sysrc kld_list+=nullfs sudo sysrc kld_list+=\u0026#34;linux linux64\u0026#34; sudo sysrc linux_enable=\u0026#34;YES\u0026#34; 重開機。\n使用pkg安裝以下套件：\nsudo pkg install games/linux-steam-utils 按照套件作者指示，輸入以下指令，開始初始化Steam客戶端運作環境。Steam對你的家目錄有完整讀取權限，雖然作者建議新增一個使用者帳號專門用來執行Steam，防止Steam上的惡意程式讀取密碼和SSH金鑰。但這裡我選擇無視警告，畢竟使用這種封閉平台本身就要承擔風險了。 export DUMB_PERSON_FLAG=\u0026#39;--allow-stealing-my-passwords,-browser-history-and-ssh-keys\u0026#39; /usr/local/steam-utils/bin/lsu-bootstrap ${DUMB_PERSON_FLAG} 執行Steam客戶端，讓它安裝依賴。接著登入帳號。啟動Steam的時候其實它是執行一個指令稿，它會幫你掛載好chroot。 /usr/local/steam-utils/bin/steam 之後按左上角的Settings → Interface將界面調成中文。\n在這個階段，你只能下載原生支援Linux的遊戲。例如《War Thunder》、《narccrisu》。至於執行Windows遊戲，需要透過Proton轉譯。 如果確定啟動過程沒問題後，可以做一個Desktop Entry捷徑，令Steam顯示在Linux桌面的應用程式列表：\nmkdir -p ~/.local/share/applications/ cat \u0026lt;\u0026lt; EOF \u0026gt; ~/.local/share/applications/steam.desktop [Desktop Entry] Version=1.0 Categories=FileTransfer;Game;Network; Exec=/usr/local/steam-utils/bin/steam Icon=steam Terminal=false Type=Application Keywords=games;valve; EOF 2. 安裝Proton跑Windows遊戲 # 根據linuxulator-steam-utils作者解釋，Steam客戶端內建的Proton無法在chroot內使用，故這裡要改用FreeBSD宿主機的原生Wine Proton來執行Windows遊戲。這個架構十分的詭異，只能說勉強可用。\n在系統匣對Steam的圖示按右鍵，離開Steam。\n安裝Proton的依賴套件，這裡安裝的是64位元的Wine Proton 9.0。\nsudo pkg install wine-proton libc6-shim python3 補齊Proton所需要的32位元套件依賴。（註：未來Wine 11以上版本可以用WOW64直接執行32位元的exe，到時應該就不需要安裝32位元的依賴了！） FreeBSD 14以下的版本可以透過這個指令安裝Proton所需的32位元依賴：\n/usr/local/wine-proton/bin/pkg32.sh install wine-proton mesa-dri 至於FreeBSD 15以上版本，官方暫時移除了32位元的套件。請參考這部影片的步驟，手動下載lib32函式庫，以及暫時切換FreeBSD套件庫到latest，才能安裝Proton所需的32位元依賴：\nsudo https://download.freebsd.org/releases/amd64/15.0-RELEASE/lib32.txz sudo tar -C / -xvJf lib32.txz sudo sed -i \u0026#39;.quarterly\u0026#39; \u0026#39;s/quarterly/latest/\u0026#39; /etc/pkg/FreeBSD.conf sudo cp /etc/pkg/FreeBSD.conf /etc/pkg/FreeBSD.conf.latest sudo /usr/local/share/wine/pkg32.sh install wine mesa-dri sudo cp /etc/pkg/FreeBSD.conf.quarterly /etc/pkg/FreeBSD.conf 重新啟動Steam。 /usr/local/steam-utils/bin/steam 在遊戲收藏庫，對Windows遊戲點右鍵，點選「內容」→「相容性」，勾選「強制使用特定Steam Play相容性工具」，選擇FreeBSD Wine (emulators/wine-proton) 設定Proton後，Windows專屬的遊戲也開的起來，例如《This is a game》。請到ProtonDB和WineDB查看能用Proton跑的遊戲列表。 3. 使用Winetricks安裝額外的.dll # 有時候Wine的環境會缺少一些.dll要安裝。Steam Proton會建立Proton Prefix，用於模擬Windows的C槽結構，路徑位於~/.steam/steam/steamapps/compatdata/Steam遊戲ID/pfx/，即遊戲收藏庫的路徑。每個遊戲都有各自獨立的Proton Prefix。\n那麼在FreeBSD從套件庫安裝Winetricks\nsudo pkg install winetricks 再用WINEPREPIFX環境變數指定Steam路徑就可以安裝.dll進去了 export WINEPREPIFX=~/.steam/steam/steamapps/compatdata/Steam遊戲ID/pfx/ winetricks 或者手動建立Python venv，安裝Protontricks。但因為這裡沒有用正規方式安裝Proton，故Protontricks無法使用。 4. 不依賴Steam直接用Wine啟動遊戲 # 如果遊戲沒有強制連網檢查就可以嘗試用這個方式啟動。搭配Goldberg Steam Emulator繞過Steam API的驗證。\n註：這會讓你無法同步雲端存檔與解成就\n上面已經安裝了FreeBSD版的Wine Proton了。\n再用WINEPREPIFX環境變數建立該遊戲專屬的環境就可以了。\nexport WINEPREPIFX=~/.steam/steam/steamapps/compatdata/Steam遊戲ID/pfx/ /usr/local/wine-proton/bin/win64 \u0026#34;exe路徑\u0026#34; 5. 解決Steam遊戲沒聲音與影片播放問題 # KDE Plasma 6 X11的PulseAudio會遇到這個問題。Wine似乎不會讀到PulseAudio目前的音效輸出裝置，得直接用OSS。可能要修改hw.snd.default_unit的預設值。讀取音效裝置，設定開機使用的預設音效輸出裝置：\ncat /dev/sndstat echo \u0026#34;hw.snd.default_unit=7\u0026#34; | sudo tee -a /etc/sysctl.conf 另外我觀察到Wine Proton嘗試播放遊戲內的影片的時候會因為缺乏Gstreamer缺少解碼器而崩潰（winegstreamer error: no suitable plugins found: Missing decoder: MPEG-4 AAC)，這個時候要在FreeBSD安裝Linux的Gstreamer：\nsudo pkg install linux-rl9-gstreamer1 linux-rl9-gstreamer1-plugin-libav 可惜的是還是崩潰，因為FreeBSD的Linux的GStreamer解碼器不完整？沒有包含good與bad的專利解碼器。只能看看以後Wine能否使用ffmpeg作為解碼後端吧。\n至少我們知道，Steam有缺依賴的時候，需要透過安裝Linuxualtor的userapace套件去補齊，而非安裝FreeBSD原生套件。\n參考資料 # linux-steam-utils Steam launcher for FreeBSD - FreshPorts shkhln/linuxulator-steam-utils - Github ","date":"2026年4月6日","externalUrl":null,"permalink":"/posts/install-steam-on-freebsd/","section":"所有文章","summary":"Installing unofficial Steam client on Linux and playing Windows games through Proton.\n讓Ivon討論如何在FreeBSD系統安裝Steam客戶端，以及透過Wine Proton執行Windows遊戲。 Steam是一個全球知名的遊戲銷售平台，由Valve公司經營。Steam官方支援Linux、Windows、macOS系統。即使大部分遊戲是針對Windows開發的，Steam透過運用Proton (Wine) 的技術，讓玩家可以在Linux轉譯遊玩Windows的遊戲。\n相關文章：如何在Linux安裝Steam玩Windows遊戲 那麼，Steam支援BSD家族的系統嗎？截至撰文當下Valve官方都沒有支援計畫。雖然Linux跟FreeBSD的架構有相似之處，但Linux版的Steam不能直接在FreeBSD上執行。因此我們需要靠FreeBSD社群所移植的方案才能跑Steam。\n1. FreeBSD跑Steam客戶端的方案探討 # 目前FreeBSD 15，有幾個社群提出的非官方移植方案：\nshkhln/linuxulator-steam-utils：自動建立chroot環境，善用Linuxulator來跑Linux版Steam客戶端，再使用FreeBSD原生移植的Wine Proton執行Windows遊戲。僅提供基本的瀏覽器和Proton支援，不支援Steam Input、Steam VR、反作弊系統等功能。\nAlexander88207/Mizutamari：Wine啟動器。\nes-j3/steam-bottler：直接透過FreeBSD的Wine跑Windows版Steam客戶端。\n本文採用的是1.。作者比較常在更新相關解法。\n3. 安裝Steam客戶端 # 安裝之前請確保顯示卡GPU驅動已經安裝妥當。另外，建議在X11桌面操作，Wayland畫面可能會出不來。我個人的環境是KDE Plasma 6.6 X11。還有Steam客戶端僅支援x86_64架構。\n","title":"FreeBSD安裝Steam教學，透過Wine Proton玩Windows遊戲","type":"posts"},{"content":"CUDA, Compute Unified Devices Architecture by NVIDIA.\n","date":"2026年4月6日","externalUrl":null,"permalink":"/tags/cuda/","section":"標籤","summary":"CUDA, Compute Unified Devices Architecture by NVIDIA.\n","title":"CUDA","type":"tags"},{"content":"測試環境：\nFreeBSD 15 Release Nvidia閉源驅動版本：580 介紹如何在FreeBSD系統設定Nvidia顯示卡的驅動。 Nvidia除了Linux之外，尚有提供其他Unix-like系統的驅動，包括FreeBSD與Solaris。\nFreeBSD沒有開源的Nvidia驅動。Nvidia在Linux有逆向工程出來的「nouveau」開源驅動可用，功能不若Nvidia官方閉源驅動完善，頂多讓電腦開機有畫面。但是FreeBSD這邊由於xf86-video-nouveau已經很久沒人維護了，需要手動編譯，FreeBSD沒有nouveau驅動可用，所以不裝Nividia閉源驅動就是沒法顯示圖形界面。或者即使有辦法輸出畫面，也會是CPU渲染的「llvmpipe」。\n除驅動之外，Nvidia推出的閉源技術，例如CUDA，壓根沒有官方FreeBSD版。不過可以用Linuxulator技術跑Linux版的CUDA，這樣部份Python函式庫依賴CUDA的問題也能得到解決。\n裝CUDA的用途為何？這不是必要元件，只是有些程式會用到，比如我參考的教學文章的作者是為了在FreeBSD跑Stable Diffusion WebUI的AI生圖才研究怎麼裝CUDA的～！Man of culture的力量好偉大。\n但是這樣也代表依賴CUDA的程式得用Linux模擬方式跑啊。比如FreeBSD套件庫的Blender得用特殊指令才能存取CUDA。\n1. 安裝Nvidia閉源驅動 # Nvidia官網只有編譯好的驅動壓縮包，沒有提供FreeBSD專門的套件庫，所以我們直接從FreeBSD套件庫裝驅動就可以了。\n到Nvidia官網查看顯示卡是否仍受Linux閉源驅動支援，像我的顯示卡為Nvidia GTX1050Ti已經停止支援，最高只能裝到580版本的驅動，因此得從FreeBSD套件庫選取對應版本的nvidia-driver-xxx驅動。若是還有支援的顯示卡就直接選最新版nvidia-drm-kmod驅動。\n指定安裝特定版本的Nvidia驅動，這裡的例子是580版本，也就是最後支援GTX1050Ti的驅動版本：\nsudo pkg install nvidia-driver-580 nvidia-settings 若是最新Nvidia顯示卡，就直接裝這個drm-kmod：\nsudo pkg install nvidia-drm-kmod 之後，把Nvidia核心模組加入開機自動啟動選項。根據FreeBSD手冊指示，最新版驅動應該以DRM模組方式載入，所以使用nvidia-drm，表示啟用modesetting。舊版的驅動是使用nvidia-modeset。 sudo sysrc kld_list+=nvidia-drm 註：如果以上驅動會導致kernel panic，請使用舊版載入Nvidia驅動的方法：\nsudo sysrc kld_list+=nvidia # 或者 sudo sysrc kld_list+=nvidia-modeset 強制讓驅動啟用modesetting echo \u0026#34;hw.nvidiadrm.modeset=1\u0026#34; | sudo tee -a /boot/loader.conf 如果重開機後無法啟動X Server，就強迫Nvidia產生/etc/X11/xorg.conf： sudo nvidia-xconfig 另一種方式是手寫X.org設定檔。用pciconf -lv | grep -B4 VGA指令查看Nvidia顯示卡的BusID。接著編輯/usr/local/etc/X11/xorg.conf.d/20-nvidia.conf，啟用Nvidia DRM驅動：\nSection \u0026#34;Device\u0026#34; Identifier \u0026#34;Nvidia\u0026#34; Driver \u0026#34;modesetting\u0026#34; # 使用DRM驅動，如果不要用就改回nvidia BusID \u0026#34;PCI:1:0:0\u0026#34; # Option \u0026#34;AccelMethod\u0026#34; \u0026#34;uxa\u0026#34; 如果畫面撕裂取消註解這二行 # Option \u0026#34;TearFree\u0026#34; \u0026#34;true\u0026#34; EndSection 重開機，用nvidia-smi指令確認Nvidia驅動版本： 2. 安裝CUDA # 需要給FreeBSD啟用Linuxulator支援，但不需要安裝Jail。\n安裝以下套件，這個libc6-shim可讓FreeBSD跑Linux的glibc\nsudo pkg install libc6-shim linux-nvidia-libs 預設情況跑nvidia-smi是不會印出相容的CUDA版本的，故改用nvidia-slurp執行 nv-sglrun nvidia-smi 這樣會看到該Nvidia GPU相容的CUDA版本：CUDA Version: 12.0 安裝Linux的編譯器\npkg install linux-rl9-devtools 使用Linux的cc編譯 uvm_ioctl_override.c. fetch https://gist.githubusercontent.com/shkhln/40ef290463e78fb2b0000c60f4ad797e/raw/f640983249607e38af405c95c457ce4afc85c608/uvm_ioctl_override.c /compat/linux/bin/cc --sysroot=/compat/linux -m64 -std=c99 -Wall -ldl -fPIC -shared -o dummy-uvm.so uvm_ioctl_override.c 然後安裝linux-rl9-libglvnd以取得libGL.so.1 sudo pkg install linux-rl9-libglvnd 3. 執行需要CUDA的程式 # 以Blender為例，從FreeBSD套件庫安裝\nsudo pkg install blender 然後用nvidia-slurp執行，Blender的選單就認得到CUDA裝置了\nnvidia-slurp blender ffmpeg、OBS Studio的NVENC加速比照辦理。\n註：FreeBSD論壇的用戶ziomario使用FreeBSD 13成功執行CUDA加上Blender，但是FreeBSD 15會出現錯誤exec: No such file or directory，似乎是bug？\n根據用戶julien40的回報，將Nvidia驅動降版可以解決該問題。\n4. 雙螢幕問題 # FreeBSD 15對不同顯示卡的雙螢幕支援度不太好的樣子。如果同時使用「Intel CPU內顯 + Nvidia」的場合，i915kms和nvidia-drm只能有一個DRM模組載入，因此只有一個螢幕會有畫面。\n解決方法是將螢幕線都插在Nvidia的孔上。\n另外一個方案是將Intel顯示卡作為主要顯示卡，Nvidia以nvidia而非nvidia-drm的方式載入模組。這樣開機後雖然只有一個螢幕輸出，但Nvidia命令行仍能使用。\nNvidia PRIME在FreeBSD的使用方法未知。\n參考資料 # NVIDIA Proprietary Graphics Driver#Graphics - FreeBSD Wiki Chapter 5. The X Window System - FreeBSD Handbook PyTorch and Stable Diffusion on FreeBSD - Github Can CUDA be installed on FreeBSD now ? - The FreeBSD Forums cuda no longer works on blender or ffmpeg with nv-sglrun - The FreeBSD Forums ","date":"2026年4月6日","externalUrl":null,"permalink":"/posts/freebsd-install-nvidia-proprietary-drivers/","section":"所有文章","summary":"測試環境：\nFreeBSD 15 Release Nvidia閉源驅動版本：580 介紹如何在FreeBSD系統設定Nvidia顯示卡的驅動。 Nvidia除了Linux之外，尚有提供其他Unix-like系統的驅動，包括FreeBSD與Solaris。\nFreeBSD沒有開源的Nvidia驅動。Nvidia在Linux有逆向工程出來的「nouveau」開源驅動可用，功能不若Nvidia官方閉源驅動完善，頂多讓電腦開機有畫面。但是FreeBSD這邊由於xf86-video-nouveau已經很久沒人維護了，需要手動編譯，FreeBSD沒有nouveau驅動可用，所以不裝Nividia閉源驅動就是沒法顯示圖形界面。或者即使有辦法輸出畫面，也會是CPU渲染的「llvmpipe」。\n除驅動之外，Nvidia推出的閉源技術，例如CUDA，壓根沒有官方FreeBSD版。不過可以用Linuxulator技術跑Linux版的CUDA，這樣部份Python函式庫依賴CUDA的問題也能得到解決。\n裝CUDA的用途為何？這不是必要元件，只是有些程式會用到，比如我參考的教學文章的作者是為了在FreeBSD跑Stable Diffusion WebUI的AI生圖才研究怎麼裝CUDA的～！Man of culture的力量好偉大。\n但是這樣也代表依賴CUDA的程式得用Linux模擬方式跑啊。比如FreeBSD套件庫的Blender得用特殊指令才能存取CUDA。\n1. 安裝Nvidia閉源驅動 # Nvidia官網只有編譯好的驅動壓縮包，沒有提供FreeBSD專門的套件庫，所以我們直接從FreeBSD套件庫裝驅動就可以了。\n","title":"FreeBSD安裝Nvidia閉源驅動與CUDA，用GPU加速程式效能","type":"posts"},{"content":"","date":"2026年4月2日","externalUrl":null,"permalink":"/tags/luks/","section":"標籤","summary":"","title":"LUKS","type":"tags"},{"content":"Systemd-homed是Systemd v245加入的一個功能，提供一種不依賴Linux主機的機制，來管理使用者帳號與家目錄的資料。正是所謂的重新定義Home管理流程。\n解說systemd-home的優勢，並討論如何在Ubuntu使用這個功能。\n1. systemd-homed優勢 # 傳統上Linux系統行之有年的方式，是透過useradd指令新增使用者，usermod調整群組，再搭配/etc/passwd管理密碼。\nsystemd-homed將這個過程大幅簡化。\nsystemd-homed與傳統Linux管理使用者的機制如下圖所示： 傳統的Linux家目錄，通常是建立使用者之後一併建立的。它建立後就會存在於檔案系統。換言之，如果把硬碟抽出來，是可以直接讀取使用者家目錄的檔案的。\nsystemd-homed將使用者家目錄變成映像檔管理，開機登入後才會動態掛載，登出後取消掛載，增加安全性。\nsystemd-homed還能將使用者的家目錄用LUKS / fscrypt / cifs / btrfs加密保護，外人即使拿到硬碟也難以讀取。\n透過homectl指令，可以新增或刪除使用者，編輯使用者的基本資料，設定容量限制等等操作。\n會跟systemd-homed一起用的，還有systemd-userdbd。這個服務負責紀錄使用者資料和群組資訊。systemd-userdbd裡面會以JSON欄位紀錄使用者的Email、姓名、年齡等資訊。部份欄位是一般使用者可以自己填寫的內容，其他欄位則是需要系統管理員權限才能修改。\n順帶一提，如果你不想依賴sudo來提昇使用者權限，那麼可以使用systemd-run0當作替代工具。\nSystemd-homed可以讓遷移多個使用者的家目錄變得更簡單。過去，如果我們要遷移家目錄到其他硬碟，都得手動用rsync複製到新的目的地，然後編輯/etc/fstab掛載，還要注意GID和UID的問題。要是把它都丟給systemd-homed管的話，就不用煩惱這些問題了。\n2. 實際在Ubuntu使用systemd-homed # Systemd-homed這個工具存在很久了，但綜觀各大Linux發行版，到2026年只有SteamOS 3.0預設啟用systemd-homed管理使用者帳號的樣子。\n使用者可以手動遷移家目錄給Systemd-homed管理。並且systemd-homed可以與現有的useradd所新增的家目錄使用者共存。\n縱然systemd-homed的homectl --image-path指令擁有任意指定使用者家目錄掛載位置的能力，但是將現有的/home轉為systemd-homed的這個過程有點複雜，還可能因為操作失誤導致無法登入。因此，若要在現有的系統使用systemd-homed，還是新增一個使用者為好。\n例如我是用Ubuntu 24.04，使用以下指令安裝systemd-homed與相關組件： sudo apt install systemd-homed systemd-userdb sudo systemctl enable --now systemd-homed sudo systemctl enable --now systemd-userdb 使用以下指令新增一個使用者user1，指定家目錄映像檔位置（LUKS加密需以.home結尾），新增使用者群組到wheel允許使用sudo，指定使用bash shell，使用LUKS加密，設定磁碟空間20GB： sudo homectl create user1 \\ --image-path=/home/user1.home \\ --member-of=wheel,video,audio \\ --shell=/bin/bash \\ --storage=luks \\ --disk-size=20G 依照畫面指示設定該使用者的密碼。LUKS會使用該密碼加密。使用者資料會以數位簽章的方式保存在家目錄的~/.identity。公鑰與私鑰則保存在/var/lib/systemd/home/。\n透過ls -al /home/user1/指令可以得知，在尚未登入該使用者前，/home/user1/的內容是空的，此時的狀態是inactive。需要使用su user1切換使用者，systemd-homed才會掛載家目錄內容，此時可以用lsblk確認掛載點。該名使用者的狀態變成active。在Linux系統進入suspend的時候，使用者家目錄會自動維持加密狀態。\n顯示管理器如GDM應該會自動讀到透過systemd-homed所新增的使用者。至於SDDM的話得手動編輯/etc/sddm.conf.d/uid.conf提高UID上限才會顯示。\n之後該名使用者資料可以使用homectl和userdbctl操作。\n例如：sudo homectl inspect user1檢視使用者資料與帳號登入紀錄。\n# 範例輸出 User name: user1 State: active Disposition: regular Last Change: Thu 2026-04-02 17:55:25 CST Last Passw.: Thu 2026-04-02 17:35:03 CST Login OK: yes Password OK: yes UID: 60486 GID: 60486 (user1) Aux. Groups: audio video wheel Directory: / (fallback) Blob Dir.: /var/cache/systemd/home/user1 Storage: luks (strong encryption) Image Path: /home/user1.home Removable: no Shell: /usr/bin/systemd-home-fallback-shell (fallback) LUKS Discard: online=no offline=yes LUKS UUID: afc2bbbe-0022-425a-8977-99afcc8cd287 Part UUID: f5d33cc1-a707-4bca-95ee-2e2f7c0dde8d FS UUID: 78c1acb9-ac0a-4166-9654-b1af159e5975 File System: btrfs LUKS Cipher: aes Cipher Mode: xts-plain64 Volume Key: 256bit Mount Flags: nosuid nodev exec Disk Size: 568M Disk Floor: 256M Disk Ceiling: 258.7G Good Auth.: 4 Last Good: Thu 2026-04-02 19:02:58 CST Bad Auth.: 3 Last Bad: Thu 2026-04-02 19:02:56 CST Next Try: anytime Auth. Limit: 30 attempts per 1min Passwd Pol.: no Rebalance: off Passwords: 1 Local Sig.: yes Service: io.systemd.Home Self Modify: realName emailAddress iconName location shell umask environment timeZone preferredLanguage additionalLanguages preferredSessionLauncher preferredSessionType pkcs11TokenUri fido2HmacCredential recoveryKeyType lastChangeUSec lastPasswordChangeUSec (Blobs) avatar login-background (Privileged) passwordHint hashedPassword pkcs11EncryptedKey fido2HmacSalt recoveryKey sshAuthorizedKeys 透過sudo homectl update user1 --disk-size=60G修改使用者的屬性，像這裡是修改所分配的磁碟空間。\n如果使用其他具有sudo權限的使用者登入，可以使用sudo homectl deactivate user1暫時取消該名使用者目錄的掛載。\n3. 備份與還原systemd-homed資料 # 因為使用者家目錄的資料是以一個Btrfs映像檔儲存，並使用金鑰加密，所以只要備份這兩個檔案就可以了。\n以本文的例子來說，首先複製/home/user1.home到他處。\n再複製/var/lib/systemd/home/下的檔案。\n在另外一台電腦，存入以上檔案到對應的位置，然後重新啟動systemd-homed服務：\nsudo systemctl restart systemd-homed 註：若其他電腦已經有使用systemd-homed建立使用者，那麼必須針對個別使用者，手動匯出.json檔案再匯入：\n# 電腦A sudo homectl inspect user1 --export-format=minimal -j \u0026gt;\u0026gt; user1.json # 電腦B sudo homectl create --identity=./user1.json user1 參考 # Home Directories - Systemd systemd/systemd-homed - Gentoo Wiki systemd-homed - ArchWiki ","date":"2026年4月2日","externalUrl":null,"permalink":"/posts/systemd-homed-usage/","section":"所有文章","summary":"Systemd-homed是Systemd v245加入的一個功能，提供一種不依賴Linux主機的機制，來管理使用者帳號與家目錄的資料。正是所謂的重新定義Home管理流程。\n解說systemd-home的優勢，並討論如何在Ubuntu使用這個功能。\n1. systemd-homed優勢 # 傳統上Linux系統行之有年的方式，是透過useradd指令新增使用者，usermod調整群組，再搭配/etc/passwd管理密碼。\nsystemd-homed將這個過程大幅簡化。\nsystemd-homed與傳統Linux管理使用者的機制如下圖所示： 傳統的Linux家目錄，通常是建立使用者之後一併建立的。它建立後就會存在於檔案系統。換言之，如果把硬碟抽出來，是可以直接讀取使用者家目錄的檔案的。\nsystemd-homed將使用者家目錄變成映像檔管理，開機登入後才會動態掛載，登出後取消掛載，增加安全性。\nsystemd-homed還能將使用者的家目錄用LUKS / fscrypt / cifs / btrfs加密保護，外人即使拿到硬碟也難以讀取。\n透過homectl指令，可以新增或刪除使用者，編輯使用者的基本資料，設定容量限制等等操作。\n","title":"如何用systemd-homed管理Linux使用者的家目錄","type":"posts"},{"content":"","date":"2026年4月2日","externalUrl":null,"permalink":"/ja-jp/tags/arch-linux/","section":"Tags","summary":"","title":"Arch Linux","type":"tags"},{"content":" SteamOSとArch Linuxの関係についての迷信は、少し正しておく必要がある。この二つはイコールではないし、SteamOSを使っているからといって\u0026quot;I use Arch btw\u0026quot;と言えるわけではない。\n最近Arch LinuxでGalgameを遊んでいたら、ほぼ同じテスト条件なのに、SteamゲームのProtonがわけのわからないクラッシュを連発して、もううんざりした。Debianに戻したら全部問題なくなったので、この問題について話してみる。\n愚見ながら、Arch Linux \u0026amp; CachyOSのようなローリングリリースはゲーム用途には向いていない。半ローリングリリースのFedora ＆ Bazziteもだめで、百戦錬磨のDebian StableかUbuntu LTSでないと信頼できない。昔の自分がよくArch Linuxでゲームする気になったものだと思うが、今はもうDebianを使っている。\nもう一つ考慮すべき点は、ProtonDBへゲーム互換性を報告するとき、追跡可能で安定したシステムバージョンを使いたいということだ。テストプラットフォームは安定しているべきで、常に変化し続けるシステムであるべきではない。\nSteamOS公式サイトの資料によれば、SteamOS 3.0以降が実際にArch Linuxをベースに開発されているのは確かだ。しかし、SteamOSはimmutableなシステムであり、ユーザーはシステムファイルを変更できないし、変更すべきでもない。システムのOTA更新のたびに新しいimageをダウンロードして旧版を上書きする。それにSteamOSはローリングリリースではなく、システム更新のスケジュールはValveという商業企業が決めるものであって、Arch Linuxのローリング更新ではない。\nValveには自社のSteam Deck \u0026amp; Steam Machineの製品体験を守る必要があり、参照可能なコンソールプラットフォームになることを目指しているので、更新をあまり急進的にすることはできない。たとえば2026年の安定版SteamOS 3.7.8では、デスクトップモードのKDEデスクトップはまだ5.27系だが、Arch LinuxのKDE 6.0はすでに2024年にリリースされている。SteamOS 3.8.0のKDE 6はいまもベータ版のままだ。現在のSteamOSのメイン画面コンポジタ、Gamescopeの戦略は、XWaylandでX11ゲームを動かしつつ、WaylandのHDRサポートも享受するという継ぎ接ぎの戦略によって成り立っている。将来的に純Waylandへ進めるかどうかには、大きな疑問符が付く。\nValveは「システム全体」としてのSteamOSとSteamクライアントが安定していることを確認してからでなければ、更新をリリースできない。\n一方、Arch Wikiによれば、Arch Linuxのソフトウェア更新スケジュールは固定されていない。各ソフトウェアにはそれぞれ異なるメンテナーがいて、オープンソースコミュニティが安定したと判断すればリリースされる。全民公募テストでbugを拾うようなもので、テスト期間は十分に長くない。\nこのやり方の利点は、問題があればすぐ発見して修正できることだ。欠点は、現在のシステムが完全に安定しているかどうかを誰も保証できないことだ。変数が多すぎる。\nArch Linuxはインストール直後の状態ではそもそもグラフィカルインターフェースがない。いわゆる「デフォルト値」は存在せず、一つの「全体」もないので、全面的にテストしてから更新をリリースすることは難しい。小さなパッケージ更新一つでKDEデスクトップが吹き飛ぶ可能性もある。\nArch LinuxにおけるSteamクライアントは、オープンソースコミュニティがValveのリリースしたインストールパッケージをもとに改変したものだ。Steamクライアント本体にはProtonの実行を満たすための独自Runtimeがあり、できるだけOSのlibraryへ依存しないようにしているとはいえ、Arch LinuxシステムのコンポーネントはやはりSteamクライアントに影響する。ランダムに問題が出るのだ。\nリリースモデルから見ると、SteamOSは数あるローリングLinuxディストリビューションよりもずっと安定している。SteamOSに近い体験を持ちながら、なおかつ安定しているローリングリリースを実現するのはかなり難しい。\n現時点のSteamOSはまだ特定の数機種のハードウェアにしか対応していない。もし将来、本当にオープンソースの汎用x86イメージファイルをリリースしたら、彼らのGithub issue ticketは爆発的に増えるのではないか\u0026hellip;\u0026hellip;。\n","date":"2026年4月2日","externalUrl":null,"permalink":"/ja-jp/posts/arch-linux-vs-steamos/","section":"Foss-Issues","summary":" SteamOSとArch Linuxの関係についての迷信は、少し正しておく必要がある。この二つはイコールではないし、SteamOSを使っているからといって\"I use Arch btw\"と言えるわけではない。\n最近Arch LinuxでGalgameを遊んでいたら、ほぼ同じテスト条件なのに、SteamゲームのProtonがわけのわからないクラッシュを連発して、もううんざりした。Debianに戻したら全部問題なくなったので、この問題について話してみる。\n愚見ながら、Arch Linux \u0026 CachyOSのようなローリングリリースはゲーム用途には向いていない。半ローリングリリースのFedora ＆ Bazziteもだめで、百戦錬磨のDebian StableかUbuntu LTSでないと信頼できない。昔の自分がよくArch Linuxでゲームする気になったものだと思うが、今はもうDebianを使っている。\nもう一つ考慮すべき点は、ProtonDBへゲーム互換性を報告するとき、追跡可能で安定したシステムバージョンを使いたいということだ。テストプラットフォームは安定しているべきで、常に変化し続けるシステムであるべきではない。\nSteamOS公式サイトの資料によれば、SteamOS 3.0以降が実際にArch Linuxをベースに開発されているのは確かだ。しかし、SteamOSはimmutableなシステムであり、ユーザーはシステムファイルを変更できないし、変更すべきでもない。システムのOTA更新のたびに新しいimageをダウンロードして旧版を上書きする。それにSteamOSはローリングリリースではなく、システム更新のスケジュールはValveという商業企業が決めるものであって、Arch Linuxのローリング更新ではない。\n","title":"Arch LinuxとSteamOSの異同について簡単に述べる","type":"foss-issues"},{"content":"","date":"2026年4月2日","externalUrl":null,"permalink":"/ja-jp/tags/steamos/","section":"Tags","summary":"","title":"SteamOS","type":"tags"},{"content":"讓Ivon為您解說如何在電腦安裝Linux Mint，單碟單系統。並簡介新手入門必做幾件事。 1. 為什麼要用Linux Mint？ # Linux Mint是基於Ubuntu LTS開發的作業系統。完全開源免費。大約兩年一次大版本更新。Linux Mint是由網路社群開發，而非商業公司維護。 很多Linux發行版都宣稱自己簡單易用，但都沒有Linux Mint的直覺。\nLinux Mint是比Ubuntu更重視使用者桌面體驗的發行版，而非將使用者當作伺服器管理員對待。新手友好。Linux Mint採用Cinnamon作為桌面環境，操作類似傳統Windows 7桌面。儘管Linux Mint預設界面醜了一些，但是很穩定，即使是老舊的電腦也跑得動。 Linux Mint的優勢是，大部份系統操作都可以用圖形界面完成，不太需要打指令。Cinnamon桌面許多設定都能用圖形化界面調整，不用打指令。使用者想要改什麼，都能找對應的按鈕變更，將所有能改的東西清楚的呈現給你看。\n系統內建常用的多媒體應用程式與辦公軟體，也可以在應用程式商店可以點選安裝需要的軟體。使用者還可以用圖形程式自動偵測缺少的驅動，讓Mint自行補齊。\n還有一個優勢，既然Linux Mint是基於Ubuntu開發的，因此Ubuntu的.deb軟體大部分也能在Linux Mint使用。\n硬體需求：跟Ubuntu差不多。選用支援UEFI開機的x86_64電腦主機板，RAM至少2GB，CPU至少2核心以上，Intel和AMD都可以。GPU部份Nvidia、AMD、Intel都支援。系統碟推薦使用SSD，至少留有64GB空間。\n如果不確定您的主機板、Wifi網路卡、藍牙裝置是否有支援Linux驅動程式，可以先到Ubuntu官網的認證硬體以及Linux硬體資料庫查詢相容性。\n2. 測試環境 # 電腦：MSI Modern 15 A10RBS CPU：Intel i5-10210u GPU：Intel UHD 620 GPU：Nvidia MX350 3. 安裝過程 # 到Linux Mint官網下載ISO，選取預設的Cinnamon桌面版本，點選Download下載，從鏡像站(Mirror)裡面挑一個比較快的網站下載。 驗證ISO完整性，確認檔案無毀損\n使用Ventoy製作USB開機碟\n重開機，進入電腦UEFI開機\n關閉Secure Boot\n重開機，進入Linux Mint安裝程式\n選取語言 選取鍵盤配置，這個階段還不能選中文輸入法，所以就維持原住民語或者英語 推薦讓安裝程式自動安裝多媒體解碼器，才能播放影片（需要有線網路）。Secure Boot如果沒開啟就不用勾選。 清除電腦上的資料，並安裝Linux Mint系統 填入使用者名稱，推薦用英文加數字，之後不能改 開始安裝。完成安裝後重開機，拔掉隨身碟，進入Linux Mint系統。\n第一次開機要跑完初始化流程。\nLinux Mint的軟體大部分透過套件庫(repository)安裝，而非從網路上下載。為了加快軟體下載速度，可以將鏡像站改成台灣的，例如國網中心(NCHC)。 如果有需要，設定Timeshift，啟用定時備份系統，防止日後系統無法開機。 建議啟用UFW防火牆，阻擋外來連線。有需要的話再開放通訊埠。 如果有系統更新，就讓它先跑完。Linux Mint預設會自動檢查系統更新，如果你不想要自動更新，可以到更新管理員 → 編輯 → 偏好設定，關閉自動檢查更新。 4. 安裝Linux Minx之後建議做的事情 # 啟用中文輸入法 # Linux Mint預設不會啟用中文輸入法，需要手動打開。\n參考：Linux Mint安裝Fcitx5，免打指令\n熟悉Cinnamon桌面操作 # Linux Mint的桌面環境叫做Cinnamon。\nCinnamon桌面是GNOME 3桌面的分叉版，保留了以前GNOME 2的視窗操作模式。你只要點一下系統左下角，就可以檢視程式列表。 右下角會開啟行事曆 系統設定選單一目了然。 我個人是會到系統設定，開啟「熱角」功能 這樣我只要把滑鼠移動到左上角，就可以檢視所有開啟的視窗 右上角則是開啟虛擬工作區，用於在視窗太多的時候把他們分類。其他功能可以依照需求自訂 如何安裝軟體 # Linux Mint主要使用APT作為套件管理器，軟體安裝包是.deb格式。\n通常，你不需要用到指令去安裝程式，只要打開內建的「軟體管理員」就可以了。這裡點一下就可以下載軟體。有必要的話才開啟終端機用apt install安裝程式。 常用的Linux軟體有哪些呢？參見：Linux電腦常用軟體\n順帶一提，除了自身的套件庫之外，Flatpak也是一個不錯的軟體來源。可以到軟體商店設定 → 啟用完整Flatpak套件庫，下載Flathub的軟體。 安裝Nvidia閉源驅動 # 如果你有Nvidia顯示卡，推薦安裝官方閉源驅動。Linux Mint預設用的是開源驅動，效能不彰。\n點選系統設定，找到「驅動管理員」，讓它自動依照你的顯卡型號選取適合的驅動。\n參考資源 # Linux Mint系統使用手冊：Linux Mint Documentation Linux Mint官方英文論壇：Linux Mint Forums - Index page Linux Mint中文討論區：Facebook ","date":"2026年3月31日","externalUrl":null,"permalink":"/posts/install-linux-mint/","section":"所有文章","summary":"讓Ivon為您解說如何在電腦安裝Linux Mint，單碟單系統。並簡介新手入門必做幾件事。 1. 為什麼要用Linux Mint？ # Linux Mint是基於Ubuntu LTS開發的作業系統。完全開源免費。大約兩年一次大版本更新。Linux Mint是由網路社群開發，而非商業公司維護。 很多Linux發行版都宣稱自己簡單易用，但都沒有Linux Mint的直覺。\nLinux Mint是比Ubuntu更重視使用者桌面體驗的發行版，而非將使用者當作伺服器管理員對待。新手友好。Linux Mint採用Cinnamon作為桌面環境，操作類似傳統Windows 7桌面。儘管Linux Mint預設界面醜了一些，但是很穩定，即使是老舊的電腦也跑得動。 Linux Mint的優勢是，大部份系統操作都可以用圖形界面完成，不太需要打指令。Cinnamon桌面許多設定都能用圖形化界面調整，不用打指令。使用者想要改什麼，都能找對應的按鈕變更，將所有能改的東西清楚的呈現給你看。\n系統內建常用的多媒體應用程式與辦公軟體，也可以在應用程式商店可以點選安裝需要的軟體。使用者還可以用圖形程式自動偵測缺少的驅動，讓Mint自行補齊。\n","title":"Linux Mint 22實機安裝教學，基本操作＋中文輸入法，穩定好用的Linux發行版","type":"posts"},{"content":"","date":"2026年3月30日","externalUrl":null,"permalink":"/artwork/","section":"Artworks","summary":"","title":"Artworks","type":"artwork"},{"content":"","date":"2026年3月30日","externalUrl":null,"permalink":"/tags/good-smile-company/","section":"標籤","summary":"","title":"Good Smile Company","type":"tags"},{"content":"","date":"2026年3月30日","externalUrl":null,"permalink":"/tags/serial-experiments-lain/","section":"標籤","summary":"","title":"Serial Experiments Lain","type":"tags"},{"content":"收到了20年前過氣卡通女主角的公仔。\nLet\u0026rsquo;s all love Lain.\n去年10月代訂，今年3月底才來。真漫長。\n想不到吧，去年GSC出了黏土人，今年還出了POP UP PARADE系列的大號公仔。\n《玲音》是1999年出品的實驗性動畫，在日本本土算冷門作品，可是意外的在歐美科技圈很受歡迎。我以前有寫過一篇賞析：「玲音」Serial Experiments Lain 動畫劇情解說與個人詮釋\nGSC在2025年出過小隻的黏土人：岩倉玲音 GSC黏土人開箱\n接下來2026年GSC便接續出了大隻的Lain，可惜還是沒有熊熊裝！只是普通校服。\n這盒子真的好大，比15吋筆電高。 這隻要價8800元日圓，但是有人批評說這個品質跟1000日圓的景品差不多。我是覺得廠商願意出20年前卡通的角色公仔就該流淚了吧。\n書包是黏死的，需要用力一捏才可以分離。看了大隻的書包，才發現這隻狗玩偶的頭是破了一個洞的呢。 不用問了，跟動畫裡面脫光組電腦時穿的內衣一樣，Lain的內褲是白色的，純白，沒有任何裝飾。\n這個模型依然可以看出忠實還原安倍吉俊以前的畫風特色，因為Lain的眼睛是橢圓形的，現代相對少見。 大小隻Lain的身高差。黏土人可玩性比較高，有可愛的笑臉配件能換而且可動。且大隻的Lain沒有附上動畫裡面場景的背板，缺少了那種神秘科技感 ～ 不過我倒是覺得，這隻大隻的Lain能放在我的Linux主機上當守護神吧～ ","date":"2026年3月30日","externalUrl":null,"permalink":"/posts/gsc-pop-up-parade-lain-iwakura-l-size/","section":"Artworks","summary":"收到了20年前過氣卡通女主角的公仔。\nLet’s all love Lain.\n去年10月代訂，今年3月底才來。真漫長。\n想不到吧，去年GSC出了黏土人，今年還出了POP UP PARADE系列的大號公仔。\n《玲音》是1999年出品的實驗性動畫，在日本本土算冷門作品，可是意外的在歐美科技圈很受歡迎。我以前有寫過一篇賞析：「玲音」Serial Experiments Lain 動畫劇情解說與個人詮釋\nGSC在2025年出過小隻的黏土人：岩倉玲音 GSC黏土人開箱\n接下來2026年GSC便接續出了大隻的Lain，可惜還是沒有熊熊裝！只是普通校服。\n這盒子真的好大，比15吋筆電高。 這隻要價8800元日圓，但是有人批評說這個品質跟1000日圓的景品差不多。我是覺得廠商願意出20年前卡通的角色公仔就該流淚了吧。\n書包是黏死的，需要用力一捏才可以分離。看了大隻的書包，才發現這隻狗玩偶的頭是破了一個洞的呢。 不用問了，跟動畫裡面脫光組電腦時穿的內衣一樣，Lain的內褲是白色的，純白，沒有任何裝飾。\n這個模型依然可以看出忠實還原安倍吉俊以前的畫風特色，因為Lain的眼睛是橢圓形的，現代相對少見。 大小隻Lain的身高差。黏土人可玩性比較高，有可愛的笑臉配件能換而且可動。且大隻的Lain沒有附上動畫裡面場景的背板，缺少了那種神秘科技感 ～ 不過我倒是覺得，這隻大隻的Lain能放在我的Linux主機上當守護神吧～ ","title":"岩倉玲音 校服 公仔開箱 (POP UP PARADE lain iwakura L Size)","type":"artwork"},{"content":"涵蓋2D與3D作品。\n","date":"2026年3月30日","externalUrl":null,"permalink":"/categories/%E7%B9%AA%E5%9C%96%E5%89%B5%E4%BD%9C/","section":"分類","summary":"涵蓋2D與3D作品。\n","title":"繪圖創作","type":"categories"},{"content":"","date":"2026年3月30日","externalUrl":null,"permalink":"/tags/rhel/","section":"標籤","summary":"","title":"RHEL","type":"tags"},{"content":"常聞道企業用的Linux系統首選RHEL，往往需要花錢採購，但是RHEL系統其實是可以免費下載的喔！\n你可以將RHEL安裝在自己的電腦，帶有圖形界面，當作日常的系統使用，不是只有考試前才下載來練習！ 1. RHEL簡介 # RHEL全稱Red Hat Enterprises Linux，是一款專為企業市場設計的Linux系統。由美國RedHat公司維護及銷售。第一個版本於2002年推出，至今仍然是頗負盛名的Linux發行版。 RHEL屬於穩定發表更新的發行版。目前，RHEL大約每3年發表一次大版本更新，每個版本提供10年支援。\nRHEL系統主要是基於CentOS Stream和Fedora的成果開發的，兩個專案都有受到RedHat贊助。RedHat會將一些更新修正先放到CentOS Stream，並讓開源社群協助測試，提供回饋，再放到RHEL，完善自家產品。至於Fedora就完全是Linux未來新功能的實驗室，技術迭代非常快，上游的功能可能要好幾年後才會加入RHEL。\n雖然你常常聽到RHEL是為企業打造的系統，感覺好像要價不菲吧？但RHEL並非一定要付費，也不是全然的閉源軟體，而是含有許多開源的組件。RHEL依照Linux核心的GPL授權，會定時釋出原始碼給公眾檢視。因此誕生了許多基於RHEL開發的Linux發行版，例如CentOS、Rocky Linux、AlmaLinux等等。對RedHat來說，作業系統不是最值錢的，而主要是透過銷售軟體支援來營利，並且提供許多詳細的參考文件。\nRHEL每發布一個版本都會跟著出版一本詳盡的系統參考文件，部份內容可以在RedHat官網免費瀏覽。裡面有豐富的Linux系統運維知識。當然如果你花錢買RHEL企業授權的話，還能在Customer Portal獲得許多實用的問題解答。 不過，2023年之後，一般用戶需要付費才可以取得RHEL原始碼，RedHat宣稱這沒有違反GPL授權，只是提高他人重新打包RHEL原始碼拿去賣的門檻而已。這種技術性繞過GPL的做法至今仍遭到自由軟體社群非議。\nRHEL跟其他基於RHEL開發的發行版不同之處在於，它的軟體套件庫是需要「訂閱」才可以下載的。你需要登入RedHat Developer帳號，才可以存取套件庫，透過DNF安裝RPM套件。沒訂閱的話系統無法取得更新，也就不能下載軟體。\n使用授權部份，參閱RedHat官網的RHEL Individual Developer Subscription: FAQs，針對個人使用，RHEL是免費的，最多可以註冊16~25台裝置。若是商業用途，則需要購買商業授權。嗯，因為RHEL套件庫是訂閱制，所以RedHat完全抓得到你在幹嘛，能夠得知是否想把機器大量部署。\nRHEL適合哪些用戶使用呢？為了考RHCSA證照練習使用（X）\n當然，RHEL也可以當成日常系統操作。使用者在安裝系統的時候可以選擇安裝為純文字模式的伺服器，或者是含有桌面環境的工作站。\n但是，RHEL是專業用途取向的發行版，內建軟體非常少。即使你安裝桌面環境版本，也只有一個很基本的GNOME桌面，搭配給伺服器管理員用的Cockpit網頁管理面板而已。其他很多系統管理的操作都要打指令，需要有系統管理員的知識才用得好。\n將RHEL當日常系統使用還會碰到一個問題，那就是RHEL套件相比Fedora來說少很多，畢竟那麼多套件RedHat也維護不來。這方面得透過EPEL套件庫補充。\n有些用戶可能會覺得依賴訂閱制才能更新是很危險的，因為大公司掌握你的生殺大權，要是哪天發瘋要你付費才能繼續用了怎麼辦？如果你不想連更新系統都要求登入帳號，擔心被大公司控制住的話，那麼建議使用基於RHEL的衍生版本，如Rocky Linux或AlmaLunux。不要想著去「破解」RHEL，這會違反RHEL的使用者授權合約，嚴重情況下可能還會被RedHat起訴。\n2. 測試環境 # 電腦：MSI Modern 15 A10RBS CPU：Intel i5-10210u GPU：Intel UHD 620 GPU：Nvidia MX350 系統版本：Red Hat Enterprise Linux 10 Linux核心版本：6.12 桌面版本：GNOME 47 3. 安裝RHEL # 到RedHat官網註冊一個帳號。\n點選下載RHEL for no-cost，會得到一個dvd iso。RHEL欽定的桌面環境是GNOME，不提供其他桌面環境的版本！\n建議檢查ISO檔案完整性\n用Ventoy製作開機碟\n重開機進入UEFI。\nRHEL支援Secure Boot，依照個人需求開啟，非強迫。\n使用USB開機。\n選取語言，進入安裝界面 點選安裝與目標位置 → 分割磁碟，清除磁碟資料，讓安裝程式自動將硬碟分區，預設會使用LVM。點選左上角完成。 網路與主機名稱 → 設定主機名稱。並試試能不能連上網路。 設定Root帳號密碼。 新增一般使用者帳號，將它加入sudo群組 如果有連上網路，可以先在這裡登入RedHat帳號，註冊裝置 剩下的維持預設就好，Server With GUI的設定檔將會安裝GNOME桌面與常用系統工具。點選安裝。\n首次重開機後，會提示你到系統設定，輸入帳號註冊產品。RHEL系統的帳號註冊也可以透過內建的Cockpit網頁面板存取。 如果你要開機自動啟用SSH伺服器，執行以下指令。並用ip addr取得Linux主機的區域IP，即可遠端登入。\nsudo systemctl enable --now sshd 4. 熟悉GNOME桌面操作 # RHEL的圖形環境是主流的GNOME桌面。\n參閱：Linux GNOME桌面使用心法，理解設計哲學與操作邏輯\n順帶一提，RHEL 10有內建Cockpit網頁管理界面，內建SSH終端機，可以透過瀏覽器打開https://127.0.0.1:9090遠端登入。\n5. RHEL安裝軟體的方式 # 目前RHEL最主要仍是使用DNF，用以安裝.rpm格式的套件。套件主要來源是RedHat的套件庫。\nRHEL套件庫打包的軟體版本可能會比較舊。如果軟體不足，就從EPEL或者RPM Fusion這類第三方套件庫補。由Fedora社群維護，不保證穩定性。\n你可以使用subscription-manager新增第三方套件庫。\n或者，透過Flatpak取得最新版圖形軟體。不過要注意的是RHEL 10的Flatpak套件庫是用RHEL自家的，軟體太少了，要手動新增Flathub版本：\nflatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo 6. 安裝Fcitx5中文輸入法 # RHEL 10安裝的GNOME桌面不會自動啟啟用中文輸入法。照理說應該要有iBus的注音輸入法才對。\n唉唉～誰用那個老古董，應該用Fcitx5。可，RHEL也沒有收錄Fcitx5套件。\n我這裡安裝Flatpak版本的Fcitx5，裡面有新酷音注音輸入法。\n7. 安裝Nvidia閉源驅動 # 參考RPM Fusion指示安裝。我的顯示卡是MX350，尚受Nvidia官方驅動支援： sudo dnf install akmod-nvidia sudo dnf install xorg-x11-drv-nvidia-cuda 重開機。用nvidia-smi檢查驅動版本。 8. 手動安裝KDE Plasma桌面 # 這純粹是我個人的變態偏好，喜愛KDE Plasma的多功能勝過GNOME的極簡。\n如果你覺得GNOME就很好用了，就維持原樣即可。因為RHEL的GNOME來自於RHEL本身的套件庫，有商業公司維護確保穩定性。而KDE來自於Fedora社群維護的第三方EPEL套件庫，相對不穩定。\n啟用EPEL套件庫\n從EPEL套件庫取得KDE桌面\nsudo dnf group install kde-desktop-environment 替換開機使用的顯示管理器為SDDM sudo systemctl disable gdm sudo systemctl enable sddm 9. RHEL簡評 # 其實有用過Rocky Linux和AlmaLinux這類根據RHEL原始碼所複製出來的系統的話，回來用正版的系統，是感覺不到什麼差異的。就是穩。\n","date":"2026年3月30日","externalUrl":null,"permalink":"/posts/install-redhat-enterprise-linux/","section":"所有文章","summary":"常聞道企業用的Linux系統首選RHEL，往往需要花錢採購，但是RHEL系統其實是可以免費下載的喔！\n你可以將RHEL安裝在自己的電腦，帶有圖形界面，當作日常的系統使用，不是只有考試前才下載來練習！ 1. RHEL簡介 # RHEL全稱Red Hat Enterprises Linux，是一款專為企業市場設計的Linux系統。由美國RedHat公司維護及銷售。第一個版本於2002年推出，至今仍然是頗負盛名的Linux發行版。 RHEL屬於穩定發表更新的發行版。目前，RHEL大約每3年發表一次大版本更新，每個版本提供10年支援。\nRHEL系統主要是基於CentOS Stream和Fedora的成果開發的，兩個專案都有受到RedHat贊助。RedHat會將一些更新修正先放到CentOS Stream，並讓開源社群協助測試，提供回饋，再放到RHEL，完善自家產品。至於Fedora就完全是Linux未來新功能的實驗室，技術迭代非常快，上游的功能可能要好幾年後才會加入RHEL。\n雖然你常常聽到RHEL是為企業打造的系統，感覺好像要價不菲吧？但RHEL並非一定要付費，也不是全然的閉源軟體，而是含有許多開源的組件。RHEL依照Linux核心的GPL授權，會定時釋出原始碼給公眾檢視。因此誕生了許多基於RHEL開發的Linux發行版，例如CentOS、Rocky Linux、AlmaLinux等等。對RedHat來說，作業系統不是最值錢的，而主要是透過銷售軟體支援來營利，並且提供許多詳細的參考文件。\n","title":"免費安裝RHEL 10作為日用系統，設定中文輸入法 + Nvidia驅動","type":"posts"},{"content":"","date":"2026年3月28日","externalUrl":null,"permalink":"/ja-jp/tags/fedora/","section":"Tags","summary":"","title":"Fedora","type":"tags"},{"content":"","date":"2026年3月28日","externalUrl":null,"permalink":"/ja-jp/tags/free-software-foundation/","section":"Tags","summary":"","title":"Free Software Foundation","type":"tags"},{"content":" Linuxを知りたい初心者に勧められる中国語の本で、しかも全部がサーバー運用保守の知識ではないものはないだろうか？\n最近、軟體自由協會の会員会議に参加し、趙惟倫会員の著書《電腦上試跑 LINUX：硬體測試筆記 》を知ったので、ダウンロードして読んでみた。なかなか良い出来だとわかった。 趙惟倫（bluebat、FSF会員）著、軟體自由協會SLAT出版の《電腦上試跑 LINUX：硬體測試筆記》という工具書は、非常に詳細なLinux参考書であり、少しのコンピューター概論と現代Linuxシステムの操作知識を融合している。読者がLinuxの実行過程を理解する助けになる。\nこの本のテーマはLinuxカーネルの動作原理を語ることではなく、実務上Linuxを操作する時に遭遇する問題を分析し、システムサービスのデバッグ方法を理解することにある。《鳥哥的Linux 私房菜》と比べると、本書は実際にハードウェアへ触れる時に遭遇する状況をより多く扱っている。\n書中では最新版Fedora 43を例として解説し、Linuxの起動フロー、グラフィカルシステム、音声システム、ネットワーク接続、電源管理などの動作原理を説明している。原理を簡単に紹介した後、実際のコマンド操作を補い、Systemdを主要なシステム管理手段として使う。日常的にLinux自由ソフトウェアを使うことに興味のあるユーザーは、この本を実用的な工具書として参照し、システムに問題が出た時にどのコマンドがデバッグを助けるのかを理解できる。 ただし作者の解説はなおコマンド操作を中心としている。FreeDesktop XDG標準には触れているものの、Linuxデスクトップ環境GNOMEやKDE PlasmaのGUI操作への言及は少なく、かなり惜しい点である。また大部分はX11環境の操作について語っており、未来の趨勢であるWayland技術にはあまり触れていない。\nLinuxで市場シェアが最も高いデスクトップ環境はGNOMEだ。GNOMEデスクトップは各バージョン更新でランダムにUI位置を動かしてユーザーをいじめがちだが、GNOME 40以降のデスクトップワークフローはすでに「定型」になったと思う。GNOMEの特色を少し解説してもよいはずで、Linuxシステムのバージョン更新によって大きな差が生じることはないだろう。\nこの本には紙本と電子版があり、全文はGitHubで取得できる。書籍ライセンスはCC BY-SAである。\nソースコード：https://github.com/cc-books/testnotes\n実体書の購入： 電腦上試跑Linux: 硬體測試筆記 - 天瓏網路書店\n","date":"2026年3月28日","externalUrl":null,"permalink":"/ja-jp/posts/probe-running-linux-on-computer-compatibility-test-notes-review/","section":"Foss-Issues","summary":" Linuxを知りたい初心者に勧められる中国語の本で、しかも全部がサーバー運用保守の知識ではないものはないだろうか？\n最近、軟體自由協會の会員会議に参加し、趙惟倫会員の著書《電腦上試跑 LINUX：硬體測試筆記 》を知ったので、ダウンロードして読んでみた。なかなか良い出来だとわかった。 趙惟倫（bluebat、FSF会員）著、軟體自由協會SLAT出版の《電腦上試跑 LINUX：硬體測試筆記》という工具書は、非常に詳細なLinux参考書であり、少しのコンピューター概論と現代Linuxシステムの操作知識を融合している。読者がLinuxの実行過程を理解する助けになる。\nこの本のテーマはLinuxカーネルの動作原理を語ることではなく、実務上Linuxを操作する時に遭遇する問題を分析し、システムサービスのデバッグ方法を理解することにある。《鳥哥的Linux 私房菜》と比べると、本書は実際にハードウェアへ触れる時に遭遇する状況をより多く扱っている。\n書中では最新版Fedora 43を例として解説し、Linuxの起動フロー、グラフィカルシステム、音声システム、ネットワーク接続、電源管理などの動作原理を説明している。原理を簡単に紹介した後、実際のコマンド操作を補い、Systemdを主要なシステム管理手段として使う。日常的にLinux自由ソフトウェアを使うことに興味のあるユーザーは、この本を実用的な工具書として参照し、システムに問題が出た時にどのコマンドがデバッグを助けるのかを理解できる。 ","title":"Linux操作入門の工具書《電腦上試跑 LINUX：硬體測試筆記》短評","type":"foss-issues"},{"content":" KaLuG 2603の集まりで許家雋に会い、SLAT専用のMattermost内輪グループへ入れられたので、今年のソフトウェア自由協会（SLAT）会員大会には必ず行くと表明した。\n2026年3月28日は、ちょうど学生コンピューター年会（SITCON）の開催日だった。高雄から台北までは本当に時間がかかるので、間に合わなかった。\n今回北上してSLAT会議に参加したが、統聯のせいで2時間遅れて到着した。結果、会議は早めに終わっており、皆はもういなくなっていた。GG。仕方なく残っていた人と、SITCONに参加すると何が面白いのかをぎこちなく雑談した。\nSLATのNextCloudで議程を見たところ、会員が何をしたかを共有する内容がいくつかあり、医療システムへ自由ソフトウェアを導入した実践や、まもなく発表される新刊二冊、そのうち一冊である《電腦上試跑 LINUX：硬體測試筆記》の出版などが含まれていた。うんうん、どうやら\u0026hellip;\u0026hellip;私は朝早くから急いでバスに乗り、統聯の遅延に苦しめられる必要はなかったらしい。知っていたら、思い切って高鉄に乗って来たのに。\nKaLuGに参加した経験があるので、私は自分にはたいして話すことがないとわかっていても、勇気を出して社恐を克服し、二年前のようにそのまま逃げ出さず、人と話さなければならないと知っていた。洪朝貴教授と話せなかったのは少し惜しい。\n主に林博仁とreMarkable 2電子ペーパーの使用経験について交流した。わあ、カラー電子ペーパーだ。マットな画面で、ノートを書くと紙に書いているような感覚になる。彼らはこれを開放的なLinuxシステムだと宣伝し、SSHとRoot権限を提供している。しかし完全に開放されているわけではなく、APPをインストールするには彼らのプロプライエタリ形式を使う必要があり、Linuxデスクトップのソフトウェアは入れられない。さらにカラー対応とはいえ、PPIは低く、色も暗い\u0026hellip;せいぜい読書中に濃色の表が識別できないことを防ぐ程度だ。そう考えると、二万台湾ドルで売る価格はiPadにも及ばない気がする。私はもともと、Pine64 PineNoteのように自分でDebianシステムをインストールできると思っていたが、reMarkable 2は主流電子ペーパーメーカーと同じ穴の狢に見える。\nこのときWally Lianがやって来て、彼らの会社が金庸小説電子ペーパーを開発したものの、惨敗した話をしてくれた。\nついでに林博仁へ、Ubuntu貢献者のパッケージングについて少し質問した。さらに翻訳はどこへ貢献すべきか、たとえば私がGNOMEデスクトップ翻訳の不備を修正したい場合、上流へ報告すべきか、それともLaunchPadへ報告すべきかも尋ねた。Ubuntu 24.04 LTSが出てからかなり経っているのに、まだ翻訳が不完全な箇所があることに気づいたからだ。彼は開発フローを簡単に説明してくれた。Ubuntu独自のものなら、LaunchPadで貢献する必要があるだろうとのことだった。林博仁は以前、GNOMEデスクトップで新規フォルダーを作るとiBusで中国語入力できないことに気づき、Mutterの修正を手伝ったらしい。すごい。GNOMEデスクトップ上流はそもそもデスクトップに物を置いてほしくないし、Ubuntuは自分でpatchを当てているので、ほとんど誰も気づかなかったのだと思う。\nそれから、またFrameworkノートパソコンを見た。これで三台目では？本当に私に買えと誘惑してくる\u0026hellip;\u0026hellip;しかし磁石式モジュールが年数の経過とともに塗装剥げしているのを見ると、耐久性を疑わずにはいられない。Amos LiはFrameworkのUSBモジュールを自由に交換できることや、コミュニティが作った3Dプリントの面白いものを見せてくれた。車輪やバネのようなものを付けられるものもある\u0026hellip;さらにはFrameworkのノートパソコン用マザーボードを取り外して外装を付ければNASにもなる。これは本当に金持ちのDIY玩具だと感嘆した。\n最後に、以前KaLuGで会ったAmos Liに挨拶した。彼の口から、KaLuG 2603イベントのとき、彼らの開放文化基金会（OCF）はなんと大港開唱に出展していたため来られなかったのだと知った。本当に不思議だ。どんなNGOでも歓迎なのか？Amos Liが黒熊学院やg0vの活動に参加するのも不思議ではない。\nこれからもKaLuGとCOSCUPの活動に参加していこう。\n","date":"2026年3月28日","externalUrl":null,"permalink":"/ja-jp/posts/slat-conference-2026/","section":"Foss-Issues","summary":" KaLuG 2603の集まりで許家雋に会い、SLAT専用のMattermost内輪グループへ入れられたので、今年のソフトウェア自由協会（SLAT）会員大会には必ず行くと表明した。\n2026年3月28日は、ちょうど学生コンピューター年会（SITCON）の開催日だった。高雄から台北までは本当に時間がかかるので、間に合わなかった。\n今回北上してSLAT会議に参加したが、統聯のせいで2時間遅れて到着した。結果、会議は早めに終わっており、皆はもういなくなっていた。GG。仕方なく残っていた人と、SITCONに参加すると何が面白いのかをぎこちなく雑談した。\nSLATのNextCloudで議程を見たところ、会員が何をしたかを共有する内容がいくつかあり、医療システムへ自由ソフトウェアを導入した実践や、まもなく発表される新刊二冊、そのうち一冊である《電腦上試跑 LINUX：硬體測試筆記》の出版などが含まれていた。うんうん、どうやら……私は朝早くから急いでバスに乗り、統聯の遅延に苦しめられる必要はなかったらしい。知っていたら、思い切って高鉄に乗って来たのに。\nKaLuGに参加した経験があるので、私は自分にはたいして話すことがないとわかっていても、勇気を出して社恐を克服し、二年前のようにそのまま逃げ出さず、人と話さなければならないと知っていた。洪朝貴教授と話せなかったのは少し惜しい。\n","title":"SLATソフトウェア自由協会2026年会員大会メモ","type":"foss-issues"},{"content":"","date":"2026年3月28日","externalUrl":null,"permalink":"/ja-jp/tags/systemd/","section":"Tags","summary":"","title":"Systemd","type":"tags"},{"content":"世界線再一次變動（指git fork），你選擇跟隨主流的Wayland，還是加入X11反抗軍？ 1. SonicDE專案簡介 # KDE Plasma是Linux系統最受歡迎的桌面環境之一，與GNOME並駕齊驅。經歷了20年以上開發，推出了6個以上大版本。作為開源專案，總有人會對專案發展方向不滿，從而出現一些fork。\n最早，要保留舊版KDE功能而fork的桌面叫做Trinity Desktop，為的是保存KDE 3.5的Plastik主題風格，他們還在用QT 3。現在依然有Linux發行版收錄。\n惡名昭彰、非常容易崩潰的KDE 4，也有人嘗試fork，叫做Katana Desktop，保留Oxygen主題的風格並減少系統資源佔用。\n之後的KDE 5與KDE 6普遍受到好評，大大改進了Linux桌面的使用體驗，雖說偶爾還是會崩潰。KDE逐漸成為GNOME以外的有力選擇。此時，KDE逐漸轉型為一個跨國組織的名稱。若要稱呼桌面環境的話，應該使用「KDE Plasma」這個名字。\n但是\u0026hellip;歷年來最大的變化已來到。自從KDE Plasma 5開發者就嘗試加入Wayland支援，並同時維護X11與Wayland兩種圖形協定的桌面，以期未來能夠遷移到Wayland。進入KDE Plasma 6時代，此過程開始加速。KDE Plasma 6.8以後的版本將不再支援X11了，是完全移除。\n參看KDE官方部落格的聲明：Going all-in on a Wayland future 在KDE Plasma 6.4之後，合成器正式被拆分為kwin-x11和kwin-wayland。並且Plasma 6.8之後將會仿效GNOME 50，走Wayland-only的路線。這引起一部分社群不滿。\n這次，SonicDE標誌性地，以X11和Wayland為分界點，建立了另外一個KDE的fork。\nSonicDE (Sonic Desktop Environment) 這個專案是XLibre開發者在2026年發起的，意圖保留KDE X11的支援，並且移除Wayland的組件，可以說是與主流反其道而行。 順帶一提，XLibre是2025年出現的X.Org X Server的fork，他們要繼續開發X11桌面，防止被Wayland取代。\n準確來說，SonicDE是要讓kwin-x11合成器繼續開發，他們fork了KDE Plasma 6.4的主要元件，並改名為Sonic Desktop Interface，kwin-x11改叫sonic-win，Breeze主題多了一個叫做Silver的版本。\n你知道的，KDE Plasma功能很多，即使往Wayland遷移的過程中新功能大部分無法移植到X11，X11依然有很多好玩的東西。\nSonicDE這正好可以作為XLibre X Server的旗艦級桌面，用於展示X11還是很有活力的。嗯\u0026hellip;反過來說，KDE Plasma和deepin以外的其他X11桌面，都很\u0026hellip;老氣。\n問題是，未來KDE Plasma 6.8正式移除X11後端支援後，不知道SonicDE這個專案要怎麼維護下去，他們要花大把時間把上游變更都merge回kwin-x11呀。\nKDE Plasma桌面很大程度使用QT寫成，但KDE所製作的程式並沒有說只能在KDE使用，故即使KDE Plasma桌面走向Wayland-only，用QT框架寫的程式本身應該還是會支援X11。\n未來，KDE的功能是越來越依賴Wayland惹。比如Wayland的HDR支援，在X11非常難以實現，儘管XLibre社群有人硬是把它做出proof of concept了，Color Management \u0026amp; HDR #251，也不知道什麼時候會穩定。\n對了，SonicDE專案原本叫做KDE Lite，但被KDE團隊關切一下之後便改名為SonicDE了，感覺之後會被SEGA關切的樣子（Sonic很容易讓人聯想到音速小子）。目前SonicDE大部分組件還是繼承KDE Plasma的名字，未來可能會慢慢改掉。\n2. 安裝SonicDE # 各發行版的安裝指示參考Github\n我自己的測試環境是： Artix Linux + XLibre + SonicDE. I use Artix (not Arch) btw. No Systemd. No bloat. Enjoy init freedom.\n目前在Arch Linux，SonicDE得透過AUR安裝。或者可以使用Artix Linux官網打包好的XLibre + SonicDE映像檔。現有的KDE桌面組件會全部被移除。有很多套件需要手動編譯。 yay -S sonicde-meta 裝上去後再到kde-applications裡面找喜歡的套件，補完常用KDE工具。安裝後會顯示SonicDE。 ","date":"2026年3月27日","externalUrl":null,"permalink":"/posts/install-sonic-desktop-environment-on-linux/","section":"所有文章","summary":"世界線再一次變動（指git fork），你選擇跟隨主流的Wayland，還是加入X11反抗軍？ 1. SonicDE專案簡介 # KDE Plasma是Linux系統最受歡迎的桌面環境之一，與GNOME並駕齊驅。經歷了20年以上開發，推出了6個以上大版本。作為開源專案，總有人會對專案發展方向不滿，從而出現一些fork。\n最早，要保留舊版KDE功能而fork的桌面叫做Trinity Desktop，為的是保存KDE 3.5的Plastik主題風格，他們還在用QT 3。現在依然有Linux發行版收錄。\n惡名昭彰、非常容易崩潰的KDE 4，也有人嘗試fork，叫做Katana Desktop，保留Oxygen主題的風格並減少系統資源佔用。\n之後的KDE 5與KDE 6普遍受到好評，大大改進了Linux桌面的使用體驗，雖說偶爾還是會崩潰。KDE逐漸成為GNOME以外的有力選擇。此時，KDE逐漸轉型為一個跨國組織的名稱。若要稱呼桌面環境的話，應該使用「KDE Plasma」這個名字。\n但是…歷年來最大的變化已來到。自從KDE Plasma 5開發者就嘗試加入Wayland支援，並同時維護X11與Wayland兩種圖形協定的桌面，以期未來能夠遷移到Wayland。進入KDE Plasma 6時代，此過程開始加速。KDE Plasma 6.8以後的版本將不再支援X11了，是完全移除。\n","title":"SonicDE桌面：試試安裝KDE Plasma 6 (X11) 的fork","type":"posts"},{"content":"","date":"2026年3月27日","externalUrl":null,"permalink":"/tags/anime4k/","section":"標籤","summary":"","title":"Anime4K","type":"tags"},{"content":"我們知道，動畫瘋、Bilibili、Youtube影片串流網站為了節省頻寬，會對影片進行壓縮。有的時候會破壞品質，導致即時在1080p的畫面上，看起來畫面不好。如果跟BD片源相比，那觀影品質更是大大降級的說。\n那麼我們是否有畫質提昇工具讓它看起來品質好一點呢？\nAnime4K是一款開放原始碼的著色器程式，它在影片播放器即時運算，可以偽造動畫影片畫質提昇的假象。\n通常Anime4K需要在播放器裡面載入，例如Windows有mpv_lazy，Linux有MPV，但只能播放本機影片。\n要放大網頁影片，我們得用程式將串流影片導向MPV播放才可以。例如MPV Handler。不過這樣操作上不是很方便。\n透過Anime4K WebExtension這款擴充套件，不用在電腦上安裝軟體，透過瀏覽器便可以操作。 原理是使用WebGPU載入Anime4K的著色器進行放大。WebGPU這個技術等同在瀏覽器裡面跑Vulkan運算。因此免不了的，需要GPU有一定運算能力才能跑呀。推薦使用獨顯。 1. 確認WebGPU支援度 # Anime4K很吃GPU計算能力，且WebGPU效能比原生程式的GPU效能要差。建議使用VRAM 4GB以上的獨顯計算，只有內顯的話瀏覽器可能會當機。\n確認瀏覽器對WebGPU的支援度，注意是WebGPU不是WebGL喔。\nWindows、macOS、ChromeOS的瀏覽器應該都支援了。\n至於Linux系統目前還處於實驗性狀態，要根據WebGPU Wiki啟用特定的旗標才能用。例如，在Ubuntu 24.04的Google Chrome v146，要使用指令google-chrome-stable --enable-unsafe-webgpu --ozone-platform=x11 --use-angle=vulkan --enable-features=Vulkan,VulkanFromANGLE啟動瀏覽器，才可以開啟WebGPU功能。而Firefox需要使用nightly版本才有WebGPU。\n2. 安裝Anime4K WebExtension # 這個擴充套件支援Firefox與Chromium瀏覽器，依照Github指示，到對應的商店下載瀏覽器擴充套件。\n點選開始設定，讓它測試你GPU的效能。先從快速的檔位開始試，我的Nvidia GTX 1050Ti最多只能跑到這樣。 接著在播放影片的框都會出現按鈕，播放影片的時候點一下旁邊超解析強化效果，影片就會放大。 只要影片內容沒有經過DRM加密，應該都能放大才對。 ","date":"2026年3月27日","externalUrl":null,"permalink":"/posts/anime4k-webextension/","section":"所有文章","summary":"我們知道，動畫瘋、Bilibili、Youtube影片串流網站為了節省頻寬，會對影片進行壓縮。有的時候會破壞品質，導致即時在1080p的畫面上，看起來畫面不好。如果跟BD片源相比，那觀影品質更是大大降級的說。\n那麼我們是否有畫質提昇工具讓它看起來品質好一點呢？\nAnime4K是一款開放原始碼的著色器程式，它在影片播放器即時運算，可以偽造動畫影片畫質提昇的假象。\n通常Anime4K需要在播放器裡面載入，例如Windows有mpv_lazy，Linux有MPV，但只能播放本機影片。\n要放大網頁影片，我們得用程式將串流影片導向MPV播放才可以。例如MPV Handler。不過這樣操作上不是很方便。\n透過Anime4K WebExtension這款擴充套件，不用在電腦上安裝軟體，透過瀏覽器便可以操作。 原理是使用WebGPU載入Anime4K的著色器進行放大。WebGPU這個技術等同在瀏覽器裡面跑Vulkan運算。因此免不了的，需要GPU有一定運算能力才能跑呀。推薦使用獨顯。 1. 確認WebGPU支援度 # Anime4K很吃GPU計算能力，且WebGPU效能比原生程式的GPU效能要差。建議使用VRAM 4GB以上的獨顯計算，只有內顯的話瀏覽器可能會當機。\n","title":"用Anime4K WebExtension放大網頁影片畫質（WebGPU)，免安裝軟體","type":"posts"},{"content":" Linux vs BSD for desktop，どっち？\n諏訪子大人が私に、Linuxはあまりにも「主流」になった、Unix精神を継承するためにBSDシステムへ切り替えるべきではないか、と言ってきた。最近一週間、ずっとそういう考えがあった。LinuxとBSD（またはUnix哲学に従う）システムを比較した後、ずっとそちらへ切り替えたいと思っている。\nこの記事を書いているとき、私は自分がこれらのrabbit holesを掘り進めるのは少しgone too farだと感じた。\n生命とは歓喜の井戸である。しかし烏合の衆まで水を汲みに来ると、すべての泉は毒に侵される。\nSystemdの争議：再び風口浪尖に立つ # 2010年にSystemdが出たばかりの頃、Linuxコミュニティから大いに非難された。単純なinitシステムなのに、あらゆるものを包み込もうとしたからだ。しかし時は過ぎ、今では主流Linuxディストリビューションの共通標準となり、ほとんど不可欠なシステム管理ツールになった。\nSystemdはすべてを複雑にしすぎた。伝統的なUnix哲学の精神は消えつつある。Systemdの設計はLinuxのあらゆる面に影響し、各大ディストリビューションへ浸透して、開発者の未来の意思決定に影響を与えている。現代技術に飼いならされた私たちは、すでにOSが動作する原理を理解できなくなっている。Systemdのないシステムへ切り替えることは必要な行為に見える。\n最近、Systemd開発者はアメリカ各州が推進する年齢確認法(age verification bill)に迎合するため、OS-levelの年齢確認機構を追加した：userdb: add birthDate field to JSON user records#40954 このPRはLennart Poetteringらによって迅速に承認され、revertも拒否された。おそらくSystemd 261でこの機能が正式に追加されるだろう。\nこれによってSystemdへの不満が再び爆発した。Systemdの年齢確認フィールドは強制入力ではなく、他のプログラムがアクセスしやすいようにフィールドを提供するだけだ。しかし自由とプライバシーを極端に追求する一部のユーザーは、これを大規模監視の始まりだと考える。システム下層は本来、ユーザー身分の敏感なデータを保存すべきではないからだ。一部の人は公権力が介入する\u0026quot;os-level age verification\u0026quot;議題に極度の嫌悪感を抱いている。Systemdは手を広げすぎ、多くのシステムサービスを置き換え、Unix哲学に反している。今、それは大企業と政府の利益に適合しつつある。そして人々はそれを飲み込まされる。Systemdはすでに各大Linuxディストリビューションの共通標準であり、上流の変更は静かに下流の全員へ影響するからだ。どうせ上流がどんな機能を追加するかについて、Systemd開発者が最終決定権を持っている。何だ、不服か？\n政府と企業はいつも人の自由を搾取するのが好きだ。商業会社はソフトウェア開発において、急いで新技術を推進し、全員に飲み込ませることを好むように見える。これをアジャイル開発とか何とか呼ぶ。彼らは90%使えればよいとしか追求せず、100%の安定性を追求しない。どうせリリース後にずっとイテレーションし、ユーザーを走り回らせれば、彼らが最終解釈権を独占する目的を達成できる。そして商業競争力に対応し、いわゆる潮流に迎合するため、ユーザー体験を顧みない技術変更をしばしば行う。こうして個人の自由は犠牲にされる。自由ソフトウェア運動に触れたユーザーなら、きっとこの現象に不満を持つだろう。\nNot all corporations, but always corporation. (Not all men, but always man.) オープンソース運動は理想の産物のように見えるが、実際には金銭的支援も必要とする。「自由」ソフトウェアの名義を堅持するより、「オープンソース」ソフトウェアと語るほうが企業の介入を容易にする。ユーザーに十分な便利さを与えるか、こうするのがあなたにとって最善だと洗脳すれば、ユーザーは自由と引き換えにすべてを差し出す。 https://www.youtube.com/watch?v=ieXax2u6_NY\nGithubはPixivと同じく、もはや単純に作品を共有する場所ではない。自分の履歴書を展示する場所であり、人が金銭を得るための練兵場である。一部のプロジェクトは徐々に注目を受ける——通常は企業に目を付けられることを指す——すると資金援助を受け始める。貢献者が増えるにつれ、オープンソースプロジェクトは避けがたく企業主の需要に迎合して発展するようになる。たとえばLinux Desktopの発展では、大きな程度でRedHatが主導しており、彼らが推進する標準は企業サーバーとデスクトップユーザーの間を漂い、ついでに自社の解決策を売り込む。今は何でもcontainerが必要で、伝統的なpackage managerのパッケージングモデルから離れているが、これは大部分RedHatの功績だ。彼らは、これこそ未来が進むべき方向だと言う。したがって、1980年代のHacker精神は二度と戻らず、ネットの一部の片隅にだけ、企業の干渉を受けず自主的に発展するソフトウェアを開発する人が残っている。sucklessコミュニティのように。しかし彼らは成功しにくく、しかもユーザー自身に極めて強いgeek力がなければうまく使えない。企業発展の需要は、一群のHackerが形作った分散型コミュニティよりはるかに重要であり、大衆にも受け入れられやすく、商業的成功も得やすい。\n他のオープンソースプロジェクトも同じだろう。AndroidやChromiumOSのように、もともと企業が介入して始めたプロジェクトは、自身の開放的な社会責任イメージを作るために投入され、実際には暗中で主導権の影響力を発揮している。そして無自覚にEnshittificationを推し進める。\nLinuxは大企業の影響下で、遅かれ早かれWindowsやmacOSのような怪物になる。誇張して言えば、テック企業と政府が協力し、人々の自由権利を抑圧することにより、遠くない将来、世界はディストピアへ入る。\n幸い、自由ソフトウェアの力によって、人々にはまだ選択肢がある。\nこの一群は純度が高い：Unix哲学に従うシステム # 私はLinux使用経験を共有するblogを探すのが好きだ。今は中文コンテンツも増えており、これはよいことだ。大部分はUbuntu、Arch、Fedoraなどについて語っており、多くはデスクトップユーザーで、サーバー運用保守技術について語るものではない。どうやらLinuxは徐々にWindowsと肩を並べる日常システムになれるようだ。\nしかし、ややマイナーで潮流に従わないLinuxディストリビューションを検索すると、不思議なサイトを見つけやすい。例を挙げると、反SystemdのLinuxディストリビューションのユーザーだ。\nArtixとDevuanの資料を検索しているとき、SOULMINIGRIGを見つけた。なんと日本語を主とする多言語中文blogだった。目前的伺服器環境以及什麼樣的文章會讓人想閱讀？ ではArtixとDevuanの使用経験に触れており、作者は大量のThinkPadも収集している。本当に貴重だ。\nSOULMINIGRIGのブログを通じてさらに見つけたのが：テクニカル諏訪子。見たところ面白い人でもある。ただ、また右翼人士のようだ。\n【デジタル自主】LinuxからOpenBSDに乗り換えた理由 彼はその中でLinuxからOpenBSDへ乗り換えた理由を書いている。 WaylandをGaylandと書く者は決してただ者ではない。うわうわ禁止禁止、これは左翼にhate speechとして通報されやすい。4chan /g/板を見すぎなのか。それともBryan Lundukeeの一派が影響力を発揮し始めたのか。\n彼は、Linuxは今やLGBT精神病患者に奉仕する精神病たちが先頭に立って開発しており、もはや開発者中心ではないため、BSDへ切り替えてこそUnix精神があると考えている。大企業が推進するSystemd、Flatpak、Dockerは肥大化し集権的すぎ、全員に飲み込むことを強制している。これは悪劣な発展方向である。\n作者は他の記事で、国連SDGs持続可能目標も左派の陰謀だと攻撃している。\n時々、Linuxハッカー文化を深く研究すると、何か自閉症の領域へ踏み込みやすいように感じる。\nLinuxを研究するKOLは多いが、Bryan Lundukeeの動画は本当にあまり見ないほうがいい。高度に政治化され、戯画化されたテック議題討論だ。Linux Youtuberの中では独自の存在と言える。しかし私はついクリックしてしまうXD\u0026hellip;ピエロのTalk Showとして見るだけならよいが、彼の言うことを本当に信じてはいけない。彼のSubstackとYoutube下のコメントを見ると、まるで4chan /g/ユーザーの大型団建現場だ。 聞きすぎると、本当にQAnon的な陰謀論世界観が形成される。FOSS界隈のどんな小さなdramaでも10分動画にして狂ったように噴き上げ、そして風向きを右翼的解釈へ持っていく。\nSystemdのDが何を意味するか知っているか？SystemDEIだよ。あなたたちはポリコレがゲームや映画を汚染することに反対しているのだから、SystemdがLinuxの伝統的価値を汚染することにも抵抗すべきだ！\n彼らから見ると、RedHatのような大企業が推進することはすべて間違っており、左派woke価値観を宣揚している。WaylandはGaylandと蔑称され、SystemdはSystemDEIと呼ばれる。MicrosoftのEmbrace, extend, and extinguish戦略をよく引用し、Linuxテック企業の行為を説明する。Code Of Conductは左派の陰謀であり、人の思想と言論の自由を縛るために使われる。LGBT議題を少しでも宣伝する活動は、すべて右派の伝統的価値を破壊している。今はどこでもRustで既存ソフトウェアを開発または書き直しているが、それは進歩主義で「人心を腐食」しているのであり、私たちはこのような新興技術を信頼すべきではない。\nLundukeにとっては、技術変更に比較的保守的なnon woke softwareだけがユーザーを尊重するソフトウェアだ。要するに、彼の動画の観点は、トランプ支持寄りの私でさえ見ていられない。面白いのは、Bryan Lundukeeがユダヤ人であるため、4chanではホロコースト地獄ネタmemeにされて嘲笑されることだ。\n何と言うのだったか。アメリカ左派は偽善、右派は狂人。反SystemdのLinux KOLを探すと、Bryan Lunduke以外にもSam Bentや、Homo Ludditusサイトの管理人がいる。彼らの多くは伝統的Unix精神を追求し、BSD風格に傾き、RedHatがLinuxに対してやっていることが気に入らず、大企業は悪だと考える。不幸なことに、個人の自由を追求する名を掲げるこれらの人々は、陰謀論の窮地へ落ち込みやすい。Systemdを攻撃する内容はすぐに方向を外れ、政治に絡み、企業の覇権文化からディープステートの陰謀へと話が飛ぶ。あなたはLuke Smithのように身体で実践し、人里離れた荒野に住んで動画を撮ってこそ、すべての文明世界の紛争から遠ざかれるのだろう。\nLinux主流世界があまりにも「左」なので、もう一方はあまりにも「右」に見える。\n実務的にUnix哲学の痕跡を追う：Unixに似たLinuxディストリビューション # LinuxとBSDはいずれも長い歴史を持つシステムだ。最初は1980年代に始まり、多かれ少なかれUnixの影響を受け、その後さまざまなディストリビューションを生んだ。GNUと自由ソフトウェア運動のハッカーはその中で影響力を発揮した。1980年代のハッカー精神の一部を保存したのである。だから私たちは、この精神を保留するシステムを追い求めるべきなのだ。\nUnix哲学とは何か？Unix哲学は1970年代末、当時の一部のハッカー先駆者が制定した準則であり、今なお一部の人に古典として崇められ、宗教崇拝の対象にさえなっている。\nUnix哲学に従うシステムは多く、その中ではBSDが大宗である。LinuxはUnix-likeのシステムに過ぎず、BSDこそUnix哲学に最も近いシステムだと言える。ただし今はUnixという商標には有料認証が必要で、そうでなければUnix-likeとしか呼べない。現在認証を通過しているのはApple社のmacOSだけなので、それはUnixを自称できる。しかし私たちも知っている通り、Appleはもはや1990年代のMicrosoftに対抗するクールな会社ではなく、また一つの資本主義の建制派巨頭に過ぎない。こう見ると、ソースコードの自由・オープンソースを堅持するLinuxとBSDシステムのほうがよりよい選択である。\nBSDシステムのディストリビューションはLinuxに比べてずっと少ない。主なバージョンはGhostBSD、MidnightBSD、OpenBSD、FreeBSD、NetBSD、DragonflyBSDなどで、システム設計構造は比較的統一され、Linuxほど混乱していない。システム設計は非常に安定しており、既存技術を改良し続けるが、新しいものを絶えず発明することはない。新技術の受容度は比較的保守的だ。\n実務面から言えば、LinuxからBSDへ切り替えるには大きな覚悟が必要であり、多くのドライバー非対応問題に遭遇する。以前私が実際にFreeBSDをインストールした経験（参照：FreeBSD桌面＋中文化安裝教學）に従えば、あなたは多くのLinuxの現代的な「便利さ」に制約され、その結果BSDシステム設計はあまりに原始的で使いにくいと感じるだろう。 2026年の今日において、LinuxエコシステムからBSDへ飛び移ることは、時間を20年前の蛮荒時代へ巻き戻すことに等しい。ソフトウェアが使えないのは我慢できる。しかしハードウェアドライバーまで欠けるなら、それはだめだ。\nBSDはLinuxエコシステムと比べ、優位性があまり明確ではない。そこで思い出したのだが、probonopd（AppImage発明者）とBryan Lundukee（元openSUSE社員）はどちらもBSD風格寄りのLinuxユーザーで、LundukeはOpenMandrivaを使っているようだ。そう考えると、彼らがLinux主流世界の狂った行為に対して行う批判も理解できる。FreeBSDの開発速度はLinuxより保守的だ。現代Linuxユーザーから見ると、今なおUnix哲学を堅持するユーザーは簡単に狂人扱いされる。たとえば反Systemdで伝統initを使う、Wayland breaks everythingと批判してX Serverの使用に固執する、などだ。そして彼らの観点は、これらのソフトウェアはLinuxだけに奉仕すべきではなく、他のUnix-likeへの移植性も考慮すべきだというものだ。とはいえ、うん、これらのシステムのユーザー市場占有人数は0%に近い。特にデスクトップシステムユーザーはそうだ。ソフトウェアはかろうじてBSDをサポートできるかもしれないが、ハードウェアドライバーがBSDをサポートするのは極めて難しい。たとえばdrm-kmodはLinux開発の資源を借用しなければならず、\u0026ldquo;linuxism\u0026quot;は避けられない。\nでは、現在の問題がSystemd、Wayland、Flatpak、PipeWireなど、大企業に強く推進された「標準」にあるなら、これらへ意図的に従わないLinuxディストリビューションを使えばよい。なお一部のLinuxディストリビューションはUnix哲学に従っている。Linuxは高度にモジュール化されたシステムであり、カーネル以外のコンポーネントはすべて交換できる。\n最も基本的なinitについては、Systemdを使わなければ、実は多くの選択肢がある：No systemd - Resources against systemd and alternatives。それらはあなたが主流標準に鼻面を引き回されないことを許す。 しかし、私がGoogle Chromeを使ってGoogleドキュメントを処理する必要がある限り、完全に反主流で行動することは不可能だ（Fedora \u0026amp; Ubuntuが制定した規則に背くことを指す）。私は一日中地下室に住んでコンピューターをいじっているわけではなく、やはり「正常な人」と交流しなければならない。\n私個人としては、大企業が推進するすべての標準が悪いわけではないと思う。たとえばFlatpakは確かに便利だ。ただしユーザーには選択の自由がなければならない。選択の自由があるという意識を体認すべきであり、両手を広げて、私にはどうしようもない、これが潮流なのだと言うべきではない。\nここで挙げるLinuxディストリビューションをインストールすれば、多少は原点回帰の効果を得られるし、BSDエコシステムが狭すぎる窮地にも落ち込まずに済む。\nもし私たちがLinux主流潮流に反して進むことを選ぶなら、その運命を背負わなければならない。\n「いわゆる『覚悟』とは、暗闇の荒野の中に、私たちが進むべき光の大道を切り開くことだ。」\n実際にUnix哲学を試した後：私は降参した # よし、私はほぼ降参した。私はずっとDebianとArch Linuxを使い、KDE Plasmaデスクトップを使っている。もともとはSystemdとWaylandを完全に捨て、OpenRCとX11 (XLibre) のディストリビューション、たとえばDevuanやArtix Linuxを使おうと思っていた。これらのディストリビューションの構造は比較的私に馴染みがあり、さらにUnix哲学に近づけるからだ。しかし、あまりにもつらいことに気づいた。\n特に、私がデプロイしたいデバイスはデスクトップPCや普通のノートパソコンだけではない。Surface Goのような変形タブレットでも使える必要がある。私はLinuxがデバイスを横断できることを望んでいる！\nSurface Go 2にArtix Linuxをインストールした。実測ではOpenRCの起動はSystemdよりおよそ10秒ほど速かった（eMMCのコールドブートからKDE X11デスクトップに入るまで約20秒）。また、起動するサービスが少ないためか、アイドル状態でOpenRCのRAM使用量はSystemdより200MB少なく、1.6GBしかなかった。この4GBしかないデバイスにとっては、少しでも貴重である。 しかしその他の操作はひどかった。これはSystemdが各種センサーサービスを自動管理すること、さらにWaylandの分数スケーリング対応に非常に依存している。それらがなければ作業がしにくい。私はグラフィカルインターフェース派であり、CLI派ではない。だからデスクトップ体験は必ず良くなければならない。明らかに、非Systemdのディストリビューションはこれを実現できない。あるいはメンテナンスが不足している。\nここは一体何なんだ。やはりSystemdのような現代的なものが必要だ！ Artix Linuxで言えば、Systemdがなくなると各種サービスを手動で起動しなければならない。KDEもいろいろ奇妙にクラッシュする。メンテナンスがとても面倒だ。主流デスクトップはみなWaylandへ移行しており、X11は博物館へ入れられようとしている。X11はタッチとマウス入力イベントのような複数入力デバイス間の切り替えにまったく適応できず、キーボードとマウス操作にしか向いていない。\nしたがって基本的に言えるのは、OpenRC + X11のディストリビューションは伝統的なデスクトップPC操作環境にだけ適しており、しかもあなたがスーパーキーボード侠（完全にキーボードを見ずにVimで入力できる）であって初めて使いやすいと感じる、ということだ。新時代のモバイルデバイスへデプロイするには、やはり難しすぎる。そう、私たちは\u0026quot;degenerate\u0026quot;の世代であり、一世代ごとに劣化している。しかし私たちは守旧を選ばない。\n最近一週間、私はLinuxコミュニティ内の極右陰謀論者の情報にかなり惑わされすぎたようだ（たとえばLunduke）。それにつられて、Systemd 261に追加される予定の任意年齢確認フィールドは政府の大規模監視に協力する陰謀だと信じ、Waylandは永遠に完成しないクソだと考え、さらには一部のUnix哲学の老人たちに従って守旧するのが最善だとまで思った。過剰反応の下で、データをバックアップし、光速で船を乗り換え、Systemdのないシステムを再インストールした。\n今になって分かった。私はすでに、これらの現代技術の存在に徐々に慣れていたのだ。Systemdは複雑で、Unix哲学に反している\u0026hellip;だから何だというのか。それがまだオープンソースソフトウェアで、監督を受けられるなら問題はない。それはAndroidシステムのGAppsのような24時間あなたを監視する代物ではない。\nWaylandは現在主流のデスクトップで、90%ソフトウェア完成状態にあるのだろう。100%の安定には到達できないとはいえ、私がよく使う機能はほとんど問題ない。いずれX11が必要な機能に出会ったときに考えればよい。\n数日試した後、私はシステムをDebianへ戻し、SystemdとKDE Plasma Waylandデスクトップを引き続き使うことにした。\n将来はDebianと同じくらい安定したimage-basedシステムへの移行を考えるべきだ。大企業が開発したものが必ずしもその時点のあなたに必要なものとは限らないが、もう後戻りして、あまりにも純粋なUnix哲学に固執してはいけない。時には、必要な進歩は必要である。\n何も捨てられない人は、絶対に何かを変える能力を持てない。捨てることを知らなければ何も変わらない。私は甘い希望を捨てなければならない。\n","date":"2026年3月27日","externalUrl":null,"permalink":"/ja-jp/posts/should-we-migrate-from-linux-to-bsd/","section":"Posts","summary":" Linux vs BSD for desktop，どっち？\n諏訪子大人が私に、Linuxはあまりにも「主流」になった、Unix精神を継承するためにBSDシステムへ切り替えるべきではないか、と言ってきた。最近一週間、ずっとそういう考えがあった。LinuxとBSD（またはUnix哲学に従う）システムを比較した後、ずっとそちらへ切り替えたいと思っている。\nこの記事を書いているとき、私は自分がこれらのrabbit holesを掘り進めるのは少しgone too farだと感じた。\n生命とは歓喜の井戸である。しかし烏合の衆まで水を汲みに来ると、すべての泉は毒に侵される。\nSystemdの争議：再び風口浪尖に立つ # 2010年にSystemdが出たばかりの頃、Linuxコミュニティから大いに非難された。単純なinitシステムなのに、あらゆるものを包み込もうとしたからだ。しかし時は過ぎ、今では主流Linuxディストリビューションの共通標準となり、ほとんど不可欠なシステム管理ツールになった。\nSystemdはすべてを複雑にしすぎた。伝統的なUnix哲学の精神は消えつつある。Systemdの設計はLinuxのあらゆる面に影響し、各大ディストリビューションへ浸透して、開発者の未来の意思決定に影響を与えている。現代技術に飼いならされた私たちは、すでにOSが動作する原理を理解できなくなっている。Systemdのないシステムへ切り替えることは必要な行為に見える。\n","title":"Linuxが主流になりすぎたので、BSDまたはUnix哲学に従うシステムへの移行を考える","type":"posts"},{"content":"Linux vs BSD for desktop，どっち？\n諏訪子大人跟我說，Linux變得太「主流」了，我是否應該要切換到BSD系統以傳承Unix精神呢？最近一個星期，一直有這種想法。比較Linux與BSD（或遵守Unix哲學）的系統之後一直想切換過去。\n寫這篇文章的時候我覺得，自己鑽研這些rabbit holes有點gone too far了。\n生命是一口歡愉的井，然而一旦烏合之眾也過來取飲，所有的湧泉便中了毒。\nSystemd的爭議：再次站上風口浪尖 # 2010年Systemd剛出來的時候受到Linux社群大大非議，單純的init系統卻試圖包山包海。然而時間過去了，現在已經成為了主流Linux發行版的共通標準，幾乎是不可或缺的系統管理工具了。\nSystemd把一切都搞的太複雜了，傳統的Unix哲學精神正在消失。Systemd的設計影響著Linux的方方面面，滲透到了各大發行版影響開發者未來的決策。在被現代科技馴化的我等，已經無法了解作業系統運作的原理。更換到沒有Systemd的系統顯得是必要之舉。\n最近Systemd開發者為了迎合美國各州推行的年齡驗證法律(age verification bill)，加入了OS-level的年齡驗證機制：userdb: add birthDate field to JSON user records#40954 這個PR迅速地被Lennart Poettering等人核准了，並且拒絕revert。預計Systemd 261就會正式加入此功能了吧。\n這使得人們對Systemd的怨言又再次爆發了開來。儘管Systemd的年齡驗證欄位並非強制填寫，只是提供一個欄位方便其他程式存取。但一些對自由與隱私極端追求的用戶，便認為這是大規模監控的開始。因為系統底層根本不應該儲存使用者身份的敏感資料，一些人對公權力介入的\u0026quot;os-level age verification\u0026quot;議題極度反感。Systemd管太寬了，取代了很多系統服務，違反Unix哲學。現在，它正在符合大公司與政府的利益。而人們被迫吞下去，因為Systemd已經是各大Linux發行版的共通標準，上游的變更會默默影響到下游所有人。反正，上游要加入什麼功能，Systemd開發者擁有最終決定權。腫麼，你不服氣？\n政府和企業總是喜歡壓榨人的自由。商業公司在開發軟體上，似乎都喜歡急於推行新技術逼所有人吞下去。這叫敏捷開發什麼的。他們只追求90%能用就好，不追求100%穩定性。反正，推出之後一直迭代，讓用戶疲於奔命，就能做到他們壟斷最終解釋權的目的。然後，為了應對商業競爭力以及迎合所謂潮流，常常做出不顧用戶體驗的技術變更，於是乎個人的自由就被犧牲了。接觸過自由軟體運動的用戶，想必會對這種現象不滿吧。\nNot all corporations, but always corporation. (Not all men, but always man.) 開源運動看似是理想的產物，其實也需要金錢支援。講「開源」軟體比堅持「自由」軟體的名號更容易讓企業介入。只要給用戶夠多方便，或是洗腦說這樣做對你最好，用戶就會用自由交換一切。 https://www.youtube.com/watch?v=ieXax2u6_NY\nGithub跟Pixiv一樣，早就不是單純分享作品的地方了，是展示自己履歷的場所，讓人取得金錢的練兵場。一些專案逐漸受到矚目——通常指的是被企業相中——就會開始受到金援，隨著貢獻者越來越多，開源專案免不了的得迎合企業主的需求去發展。比如，在Linux Desktop的發展上，很大程度受到RedHat主導，他們所推行的標準游離在企業伺服器與桌面用戶之間，順便推銷自己家的解決方案。現在什麼都要container，背離了傳統的package manager打包模式，很大程度是RedHat的功勞，他們說這就是未來應該走的方向。因此，1980年代的Hacker精神一去不復返了，只剩下一些網路的角落還有人在開發自主發展不受企業干擾的軟體，如suckless社群，但他們很難成功，而且需要使用者本身有極強的geek力才能用的好。企業發展的需求遠比一群Hacker所塑造的去中心化社區要來的重要，也更容易為大眾所接受，並取得商業成功。\n其他開源專案也是這樣吧，如Android與ChromiumOS，本來就是企業介入發起的專案，為了塑造自身開放的社會責任印象而投入，實則是暗中發揮主導權的影響力。然後，不自覺地推行Enshittification。\nLinux在大企業的影響下，遲早也會變成Windows和macOS那樣的怪物。誇張地說，科技公司與政府合作，對人們自由權利的壓迫，在不遠的將來，會讓世界進入反烏托邦。\n所幸，自由軟體的力量，讓人們還有選擇。\n這批很純：遵循Unix哲學的系統 # 我喜歡找一些分享Linux使用經驗的blog，現在中文內容越來越多了，這是好事，大部分都是講Ubuntu、Arch、Fedora這類的，很多都是桌面用戶，並非講伺服器運維技術。看來Linux逐漸可以成為跟Windows平起平坐的日常系統了。\n可，如果搜尋偏小眾、不跟隨潮流的Linux發行版，就容易找到一些神奇的網站。舉例來說：反Systemd的Linux發行版的用戶。\n搜尋Artix和Devuan的資料的時候找到了SOULMINIGRIG，居然是以日文為主的多語言中文blog。目前的伺服器環境以及什麼樣的文章會讓人想閱讀？ 裡面有提到一些Artix和Devuan使用經驗，作者還收藏大量的ThinkPad，屬實可貴。\n透過SOULMINIGRIG的部落格又找到了：テクニカル諏訪子，看起來也是個有趣的人呢，只是好像又是一個右翼人士。\n【デジタル自主】LinuxからOpenBSDに乗り換えた理由 他在裡面寫了從Linux換到OpenBSD的理由。 會把Wayland寫成Gayland的絕非等閒之輩，嗚哇嗚哇禁止禁止，這很容易被左逼當成hate speech檢舉的。是不是4chan /g/板看太多了。還是說Bryan Lundukee這票人開始發揮影響力了。\n他認為Linux現在是由一群服務LGBT精神病患的精神病帶頭開發的，不再以開發者為中心，故需要切換到BSD，才有Unix精神。大公司推行的Systemd、Flatpak、Docker過於肥大且集權，逼所有人吞下去，這是惡劣的發展方向。\n作者還在其他文章攻擊聯合國SDGs永續目標是左派陰謀。\n有時候我覺得深入研究Linux駭客文化的話，好像容易踏入什麼自閉症的領域。\n研究Linux的KOL很多，Bryan Lundukee影片真的要少看，高度政治化，戲謔式的科技議題討論。可謂是Linux Youtuber當中獨樹一格的存在。可是我又忍不住點開XD\u0026hellip;如果當成小丑Talk Show看待就算了，可是不能真的相信他講的話。看看他Substack和Youtube下面的留言，根本4chan /g/用戶的大型團建現場。 聽多了真的會形成一種QAnon的陰謀論世界觀的，隨便一個FOSS圈的小drama都能做成10分鐘影片狂噴，然後把風向帶往右翼的詮釋。\n你知道Systemd的D是什麼意思嗎，是SystemDEI啦。你們既然反政確污染遊戲和電影，那應該也要抵制Systemd污染Linux的傳統價值才對！\n在他們看來，RedHat這種大公司推行的事情都是不對的，都是在宣揚左派woke價值觀。Wayland被蔑稱為Gayland，Systemd被稱為SystemDEI。常常引用Microsoft的Embrace, extend, and extinguish戰略來說明Linux科技公司的作為。Code Of Conduct是左派的陰謀，用於箝制人的思想和言論自由。但凡一點宣傳LGBT議題的活動都是在摧毀右派傳統價值。現在到處都用Rust開發或重寫既有軟體，是在用進步主義「腐蝕人心」，我們不該信任這種新興技術。\n對Lunduke而言，只有那些對技術變更比較保守的non woke software才是尊重用戶的軟體。總之，他影片的觀點連偏川粉的我都看不下去了。好笑的是，因為Bryan Lundukee是猶太人，在4chan會被人做成屠猶地獄梗meme嘲諷。\n有句話怎麼說的，美國左派偽善，右派瘋子。去找一些反Systemd的Linux KOL，Bryan Lunduke之外還有Sam Bent，以及Homo Ludditus網站的版主，他們多半追求傳統Unix精神，傾向BSD風格，看不慣RedHat對Linux幹的事情，大公司就是壞。不幸的是這些以追求個人自由為名的人都很容易落入陰謀論的窘境，攻擊Systemd的內容都很容易跑偏，扯上政治，從企業的霸權文化講到深層政府的陰謀什麼的。我看你只能像Luke Smith一樣身體力行，住在荒郊野外拍片，才能夠遠離一切文明世界的紛爭了吧。\nLinux主流世界太「左」了，於是乎另一邊就顯得太「右」了。\n務實的追尋Unix哲學的蹤跡：類似Unix的Linux發行版 # Linux和BSD都是年代久遠的系統了。最初起始於1980年代，或多或少都受到Unix的影響，然後產生了各種發行版。GNU與自由軟體運動的駭客從中發揮影響力。保存了一部分1980年代的駭客精神。因此我們應當追尋保留這種精神的系統才是。\n什麼是Unix哲學？Unix哲學是由1970年代末，當時的一些駭客先驅所制定的準則，至今仍被一些人奉為經典，甚至當成宗教崇拜。\n遵守Unix哲學的系統很多，其中以BSD為大宗。Linux只能算是Unix-like的系統，而BSD可以說是最接近Unix哲學的系統了。只不過現在Unix這個商標需要花錢認證，否則只能稱為Unix-like。目前只有Apple公司macOS有通過認證，所以它能自稱Unix。但是我們也知道，Apple早就不是1990年代那種跟Microsoft作對的酷酷公司了，只是又一個資本主義的建制派巨頭。這樣看來，堅持原始碼自由開源的Linux與BSD系統是比較好的選擇。\nBSD系統的發行版相較於Linux少很多，最主要的版本就GhostBSD、MidnightBSD、OpenBSD、FreeBSD、NetBSD、DragonflyBSD等等，系統設計結構上相對統一，沒有Linux那麼混亂。系統設計很穩定，會一直改進現有技術而非一直發明新東西，對新技術的接受度比較保守。\n從務實面講，從Linux切換到BSD需要很大的覺悟，並且會遇到很多驅動不支援的問題。依照我之前實際裝FreeBSD的經驗（參見：FreeBSD桌面＋中文化安裝教學）你會被很多Linux現代的「方便性」所制約，從而覺得BSD系統設計過於原始，很難用。 在2026年的今天，從Linux生態系跳到BSD，等同倒轉時光回到20年前那個蠻荒時代。軟體不能用我能忍，可是若連硬體驅動都缺失的話，那就不行了。\nBSD相較於Linux生態系，優勢不是很明顯。這我就想到，原來probonopd（AppImage發明人）和Bryan Lundukee（前openSUSE員工）都是偏向BSD風格的Linux使用者，Lunduke好像是用OpenMandriva，那麼就可以理解他們針對Linux主流世界的瘋狂行徑進行的批評了。FreeBSD開發進度比Linux保守。在現代Linux用戶看來，現在還在堅持Unix哲學的用戶很容易被當成瘋子，例如反Systemd用傳統init，批評Wayland breaks everything堅持使用X Server等等。而他們的觀點來自於這些軟體不應該只服務Linux，還要考慮其他Unix-like的移植性才對。儘管，嗯，這些系統的使用者市占人數接近0%，尤其是桌面系統用戶。即使軟體勉強還能支援BSD吧，但是硬體驅動要支援BSD可說是難上加難，譬如drm-kmod，得借鑒Linux開發的資源，\u0026ldquo;linuxism\u0026quot;不可避。\n那麼，既然目前的問題出在一些被大公司強推的「標準」，如Systemd、Wayland、Flatpak、PipeWire等等。那麼只要用不刻意遵守這些東西的Linux發行版就可以了，仍有一些Linux發行版遵守Unix哲學。Linux是高度模組化的系統，除了核心以外的元件都可以抽換。\n最基本的init，不用Systemd的話，其實還有很多選擇：No systemd - Resources against systemd and alternatives。他們允許你不會被主流標準牽著鼻子走。 可是，只要我一天需要使用Google Chrome處理Google文件，就不可能完全地反主流而行（指違背Fedora \u0026amp; Ubuntu所制定的規則）。我又不是整天住在地下室打電腦，還是得跟「正常人」交流。\n我個人是認為，並非所有大公司所推行的標準都是壞的，例如Flatpak確實很方便，但使用者必須有選擇的自由。應當體認到有選擇自由的這種意識，而非是雙手一攤說我沒辦法，這就是潮流。\n安裝這裡的Linux發行版可以得到一點返璞歸真的效果，又不至於落入BSD生態系太狹隘的窘境。\n如果我們選擇反Linux主流潮流而行，就要承擔這個命運。\n「所謂的『覺悟』，就是在黑暗的荒野中，開闢出一條我們應走的光明大道。」\n實際嘗試Unix哲學後：我投降 # 好吧，我幾乎是投降了。我一直是用Debian和Arch Linux，使用KDE Plasma桌面。原本想完全放棄Systemd和Wayland，去用OpenRC和X11 (XLibre) 的發行版，例如Devuan和Artix Linux，因為這些發行版結構我可能比較熟悉，又能更靠近Unix哲學。但發現實在太難過了。\n尤其我想部署的裝置並非桌上型電腦和普通筆電而已喔，而是要能在Surface Go這種變形平板也能使用的。我希望Linux可以跨裝置！\n我在Surface Go 2裝了Artix Linux。實測OpenRC開機比Systemd快了大概10秒左右（從eMMC冷啟動到進入KDE X11桌面約20秒）。另外可能是因為啟動的服務較少，閒置狀態下OpenRC的RAM佔用比Systemd少了200MB，只有1.6GB。對這台只有4GB的裝置來說，多一分都很可貴。 但其餘的操作就很糟糕了。這非常需要仰賴Systemd自動管理各種傳感器服務，還有Wayland的分數縮放支援。如果沒有他們會很難做事。我是圖形界面派的，並非CLI派，所以桌面體驗一定要好。很明顯地，非Systemd的發行版做不到這點，或說欠缺維護。\n這到底是什麼鬼地方。果然還是需要Systemd這些現代的東西！ 就以Artix Linux來說，沒了Systemd各種服務需要手動啟動。KDE還會各種奇怪崩潰。維護起來很麻煩。主流桌面都往Wayland遷移了，X11準備關入博物館。X11非常不能適應多種輸入裝置之間的切換，例如觸控與滑鼠輸入事件，只適合用鍵盤滑鼠操作。\n因此我基本上可以說，要用OpenRC + X11的發行版，只適合傳統的桌上型電腦操作環境，而且你必須是超級鍵盤俠（能夠完全不看鍵盤用Vim打字的）才會覺得好用。要在新時代的行動裝置部署，還是太難了。對，我們是\u0026quot;degenerate\u0026quot;的一代，一代不如一代，但是我們不會選擇守舊。\n最近一星期，我似乎被Linux社群當中極右翼陰謀論者的資訊忽悠的太厲害了（例如Lunduke），跟著相信Systemd 261即將加入的選擇性年齡驗證欄位是一種配合政府大規模監視的陰謀，並且認為Wayland是一個永遠不會完成的爛東西，甚至認為跟著一些Unix哲學的老頭子守舊是最好的。過度反應之下，備份資料，光速跳船，重裝沒有Systemd的系統。\n現在發現，我已經逐漸習慣了這些現代技術的存在了。Systemd很複雜，違反Unix哲學\u0026hellip;那又怎樣，只要它還是開源軟體，可受監督，那就沒有關係。它又不是Android系統的GApps那種24小時監視你的玩意。\nWayland在現在主流的桌面處於90%軟體完成狀態了吧，雖然不能到達100%穩定。但我常用的功能幾乎都沒問題了呀，到時候碰到需要X11的功能再說。\n嘗試了幾天後，我將系統切換回了Debian，繼續使用Systemd與KDE Plasma Wayland桌面。\n未來應該考慮找個跟Debian一樣穩定的image-based系統遷移。雖然大公司研發的東西不見得是你當下需要的，可不要再走回頭路，堅持那麼純的Unix哲學。有時候，必要的進步是必要的。\n什麼都無法捨棄的人，絕對沒有能力改變任何事物，不懂得拋開的話什麼都不會改變，我必須捨棄天真的希望。\n","date":"2026年3月27日","externalUrl":null,"permalink":"/posts/should-we-migrate-from-linux-to-bsd/","section":"Foss-Issues","summary":"Linux vs BSD for desktop，どっち？\n諏訪子大人跟我說，Linux變得太「主流」了，我是否應該要切換到BSD系統以傳承Unix精神呢？最近一個星期，一直有這種想法。比較Linux與BSD（或遵守Unix哲學）的系統之後一直想切換過去。\n寫這篇文章的時候我覺得，自己鑽研這些rabbit holes有點gone too far了。\n生命是一口歡愉的井，然而一旦烏合之眾也過來取飲，所有的湧泉便中了毒。\nSystemd的爭議：再次站上風口浪尖 # 2010年Systemd剛出來的時候受到Linux社群大大非議，單純的init系統卻試圖包山包海。然而時間過去了，現在已經成為了主流Linux發行版的共通標準，幾乎是不可或缺的系統管理工具了。\nSystemd把一切都搞的太複雜了，傳統的Unix哲學精神正在消失。Systemd的設計影響著Linux的方方面面，滲透到了各大發行版影響開發者未來的決策。在被現代科技馴化的我等，已經無法了解作業系統運作的原理。更換到沒有Systemd的系統顯得是必要之舉。\n最近Systemd開發者為了迎合美國各州推行的年齡驗證法律(age verification bill)，加入了OS-level的年齡驗證機制：userdb: add birthDate field to JSON user records#40954 這個PR迅速地被Lennart Poettering等人核准了，並且拒絕revert。預計Systemd 261就會正式加入此功能了吧。\n","title":"Linux變得太主流了，考慮改用BSD或遵守Unix哲學的系統","type":"foss-issues"},{"content":" 我知道你很急，但你先別急。\n「政治是最好的春藥」。政治議題就跟口水一樣，雖然有時候臭臭的，但總是存在於我們的嘴巴裡面，不吐不快。\n這裡的想法只代表一時的觀點，可能會隨時間變化，故不必看得太認真，不必把政治立場看得比人命還要重要。\n","date":"2026年3月27日","externalUrl":null,"permalink":"/categories/%E6%94%BF%E8%AB%96/","section":"分類","summary":" 我知道你很急，但你先別急。\n「政治是最好的春藥」。政治議題就跟口水一樣，雖然有時候臭臭的，但總是存在於我們的嘴巴裡面，不吐不快。\n這裡的想法只代表一時的觀點，可能會隨時間變化，故不必看得太認真，不必把政治立場看得比人命還要重要。\n","title":"政論","type":"categories"},{"content":"政府果為何等之物乎？果於吾人類有何等之利益乎？吾人飢則食，寒則衣，能耕織以自贍，能築室以自安，能發明科學以增進社會之幸樂，無取乎政府之指揮也，亦無需乎政客之教訓也。自有政府，乃設為種種法令以繩吾民，一舉手，一投足，皆不能出此綱羅陷阱之中，而自由全失。世界之人類皆兄弟也，吾人本能互相親愛，政府乃倡為愛國之論，教練行兇殺人之軍隊，以侵凌人國為義務，於是宇宙之間同胞互為仇敵，而和平全失。是故政府者，剝奪自由擾亂和平之毒物也。（劉師復，民國初年無政府主義者，支那暗殺團團長，一九一三年八月二十七日）\n看到現在的監控資本主義越發嚴重，政府和大企業聯手侵犯個人自由。現階段，要組織安那其武裝推翻全世界的政府，實現萬人的安樂，很難做到。我們沒有庫德族的武德。那只好獨善其身，乘桴浮於海。我逐漸有想法是，搬到鄉下去住。可是台灣太小了，躲不過人生三件事：「出生、稅收、死亡」，以及政府與企業的干涉。應該要搬到美國或加拿大的荒郊野外，森林或者山上比較好。那種方圓100公里內都沒有人的地方，才能遠離文明的髒手吧。\nKid Rock - Born Free\n你讀過梭羅的湖濱散記(Walden)吧？裡面說「一個人越是能放下許多東西，他越是富有」。然後，我們會使用最基本的數位裝置，執行自由的GNU/Linux作業系統處理必要的數位事務。我並非完全拒絕科技文明，但反對被人控制監視下的文明。網路變成很偶爾才會存取的東西。\n你不能什麼都靠政府啊！政府的存在應該最小化乃至逐步消滅。健保就是一個誘惑，儘管我常常依賴它才有低廉醫療。我在想要不要剪掉呢\u0026hellip;吾道一以貫之，這是必要的犧牲。\n然後在家裡架設太陽能板和柴油發電機。住在小木屋，經營一個小型個人農場，養動物種菜自給自足。也許一個禮拜或一個月，才會開車到附近的城鎮購買生活必需品。我逐漸理解了政府應該允許人們的擁槍權，才能留給人們反抗暴政的機會，而非成為文明的原子化費拉人。任憑進步主義摧毀自然世界。\n「你們怎麼能夠買賣天空、大地與海洋的溫柔？」\n波波雖然在柬埔寨殺了很多人，但有一句話說的很好：太城市化會滋生罪惡\u0026hellip;\u0026hellip;。\n如果我同時讀透納日記(The Turner Diaries)和無政府主義烹飪者食譜(The Anarchist Cookbook)，是不是就能煉成左右互搏的反政府大師了。裡面有許多推翻左右派心目中認為的美國獨裁政府的方式。當然，我們的最高指導綱領文件還是：論工業社會及其未來(Industrial Society and Its Future)\n現在的美國左派普遍都有的「幼稚病」比列寧一百年前講的還要糟糕，互開左籍，搞身份政治，還會忙著教育你不夠進步，忽略真正問題所在。要當個正常人越來越困難。普通與理所當然，究竟是什麼呢？單就美國定義的左右問題，雖然我對右派老保不爽，但也看不慣左派的行為。我不認為左派的議題就直接滑坡到共產黨，但\u0026hellip;就是這些人的行為只愛鬥爭而無實質建設。台灣的一些人也傳承了這個問題，排外的黃川粉很抽象，但台左逼也不遑多讓。整天上竄下跳平權這平權那的，經濟問題都沒解決。這些人還喜歡跟台獨縫在一起。\n目前，我蠻支持川普總統的，屬於是一種反串式的支持，因為它讓那些虛偽的左逼現形，可是又想參與無王日遊行。這樣看來，只能盼卡欽斯基歸了。工業文明及其未來揭示的命運已經很明顯了，資本主義救不了我們，共產主義救不了我們，必須走向\u0026hellip;安原(Anarcho-primitivism)。然後給各大學教授與科技公司送幸福，消滅那些會帶來技術變革的人群。不用等中共入侵台灣，美國棄守台灣的時候炸掉，我們自己就可以先炸掉台積電。為的是，阻止AGI末日的出現\u0026hellip;\u0026hellip;！（恐怕連科幻小說都不敢採用這種設定）\n最近讀到Max Stirner的思想可以說是很像戰國時期的楊朱，非常極端的個人主義加上無政府傾向，催生了後世的虛無主義與利己無政府主義的一些流派。叔本華與尼采的思想也可以從中看到一些痕跡。最主要是他的思想認為人們不應該為了「理所應該」去獻身，反對一切國家宗教政治的崇高思想，普通與理所當然究竟是什麼呢\u0026hellip;為什麼我們要為了宏大敘事獻身？也難怪馬克思會專門撰文罵他了。畢竟他講的這些無利於無產階級建立統治，也就從根本上杜絕了列寧主義的成功。從這種意義上來說，雖然我們不能完全依照他的思想走，可每個人都應該擁有一部份Stirner思想的存續，保有反抗政府的武力，才能防止走歪了的社會主義者的暴政！\n盧森堡女士有言：\n「只給政府的擁護者以自由，只給一個黨的黨員以自由——就算他們的人數很多——這不是自由。自由始終是持不同思想者的自由。這不是由於對『正義』的狂熱，而是因為政治自由的一切振奮人心的、有益的、淨化的作用都同這一本質相聯繫，如果『自由』成了特權，這一切就不起作用了。」\n這裡所講的，不過是未來的其中一種可能性罷了。如果世界沒有惡化的那麼快，我們也不必未雨綢繆。\n","date":"2026年3月27日","externalUrl":null,"permalink":"/posts/live-in-nowhere/","section":"所有文章","summary":"政府果為何等之物乎？果於吾人類有何等之利益乎？吾人飢則食，寒則衣，能耕織以自贍，能築室以自安，能發明科學以增進社會之幸樂，無取乎政府之指揮也，亦無需乎政客之教訓也。自有政府，乃設為種種法令以繩吾民，一舉手，一投足，皆不能出此綱羅陷阱之中，而自由全失。世界之人類皆兄弟也，吾人本能互相親愛，政府乃倡為愛國之論，教練行兇殺人之軍隊，以侵凌人國為義務，於是宇宙之間同胞互為仇敵，而和平全失。是故政府者，剝奪自由擾亂和平之毒物也。（劉師復，民國初年無政府主義者，支那暗殺團團長，一九一三年八月二十七日）\n看到現在的監控資本主義越發嚴重，政府和大企業聯手侵犯個人自由。現階段，要組織安那其武裝推翻全世界的政府，實現萬人的安樂，很難做到。我們沒有庫德族的武德。那只好獨善其身，乘桴浮於海。我逐漸有想法是，搬到鄉下去住。可是台灣太小了，躲不過人生三件事：「出生、稅收、死亡」，以及政府與企業的干涉。應該要搬到美國或加拿大的荒郊野外，森林或者山上比較好。那種方圓100公里內都沒有人的地方，才能遠離文明的髒手吧。\nKid Rock - Born Free\n你讀過梭羅的湖濱散記(Walden)吧？裡面說「一個人越是能放下許多東西，他越是富有」。然後，我們會使用最基本的數位裝置，執行自由的GNU/Linux作業系統處理必要的數位事務。我並非完全拒絕科技文明，但反對被人控制監視下的文明。網路變成很偶爾才會存取的東西。\n","title":"想搬到鄉下去住，遠離想控制一切的政府與企業","type":"posts"},{"content":"月廚狂喜：有個Linux的版本代號叫做EX咖哩棒 (Excalibur)，也就是Devuan 6.0。歡迎加入反Systemd大聯盟。 立即在其中一台電腦下載安裝，取代我的Debian 13 Trixie。然後裝上XLibre套件庫，讓KDE X11再次偉大。\n我一直在評估跳脫Systemd控制的Linux發行版的可行性，最好也不要強推Wayland。本來我覺得Arch Linux的fork，Artix Linux是一個不錯的選擇，但是滾動發行版脫離Systemd也不能解決穩定性問題，因此還是嘗試穩定更新的吧。\n1. Devuan簡介 # 2014年，有一群傳統Unix Sysadmin看不爽Debian社群投票，決定在下個Debian 8.0 Jessie版本採用Systemd作為init系統，於是分叉出了Devuan專案。 Devuan這個名字可能包含了Sysvinit的意含。\nDevuan開發模式繼承自Debian，名字換了。例如，版本代號不再基於玩具總動員，而是使用小行星名字（神話人物比較多）。另外Sid的代號被改成了Unstable。數字版本從Debian Jessie 8.0之後就改成從1開始計數了。現在最新穩定版本是Devuan 6.0 Excalibur。\nDevuan不像MX Linux有做自己的客製化和圖形工具，基本上就只是負責去除Systemd的依賴。\n軟體上大致與Debian相容，可以使用apt安裝deb包，只要不強制依賴Systemd的程式都可以裝。\nDevuan提供多種init系統，如Sysvinit、dinit、OpenRC、runit、s6、GNU Shepherd，但就是沒有Systemd。\nDevuan的套件經過重新打包移除Systemd依賴項之後，服務大部份維持原樣，沒有針對各個init打包。也就是說，如果程式依賴Systemd的D-Bus自動啟動，則改用Devuan你要自己想辦法。Devuan不像Artix Linux，一個軟體需要服務檔的會各自提供對應的init套件打包。如果deb沒有自帶/etc/init.d/的話，你得手動寫個指令稿並塞到/etc/init.d/，再用update-rc.d指令啟用。\n例如Power Profile Daemon，Linux流行的電源管理程式，通常依賴Systemd啟動，Artic Linux會專門打包power-profiles-daemon-openrc。Devuan要自己寫指令稿啟動。或者使用tlp這種不依賴Systemd的電源管理程式。\n因此可以說，Devuan是專為喜歡傳統Unix精神的Debian用戶所準備的發行版，而且不怕苦不怕難的。Debian參考手冊的內容大致上可以套用在Debian，有問題的話可以到Devuan Forum尋求幫助。\n2. 安裝Devuan # 到官網下載LiveUSB的ISO，隨附圖形界面安裝器。\nDevuan在台灣沒有Mirror，要比較快的我用Berkeley OCF的mirror\n他們的netinstall安裝器很傳統，還在20年前的等級，連Debian的GTK安裝器都沒有\u0026hellip;用ncurses寫的純文字界面，而且自動偵測硬體很容易跳出錯誤。我受不了這種安裝模式，就用Live Desktop版本，會載入SLiM + XFCE桌面與他們自製的安裝器。老實說Devuan自製的安裝器做的很爛，看起來像是用script與GUI縫合在一起的，沒有其他發行版採用。不像Artix Linux有使用主流的Calamares Installer。Bug很多，沒有考慮到多硬碟UEFI設計，很容易偵測錯誤。所以安裝的時候，電腦最好只能接上一個硬碟，方便用Gparted分區，並讓安裝程式能偵測到硬碟。\n3. 中文輸入法 # 關於中文化問題，Devuan不會自動設定中文。雖然可以用sudo dpkg-reconfigure locales選取語言。但可能是缺乏Systemd的緣故，桌面不會自己偵測到中文語言。要在/etc/environment用環境變數強制指定： LANG=zh_TW.UTF-8 LC_CTYPE=zh_TW.UTF-8 LC_NUMERIC=zh_TW.UTF-8 LC_TIME=zh_TW.UTF-8 LC_COLLATE=zh_TW.UTF-8 LC_MONETARY=zh_TW.UTF-8 LC_MESSAGES=zh_TW.UTF-8 LC_PAPER=zh_TW.UTF-8 LC_NAME=zh_TW.UTF-8 LC_ADDRESS=zh_TW.UTF-8 LC_TELEPHONE=zh_TW.UTF-8 LC_MEASUREMENT=zh_TW.UTF-8 LC_IDENTIFICATION=zh_TW.UTF-8 LC_ALL= 並安裝Noto Sans字體 sudo apt install onts-noto-cjk Fcitx5的套件大致上都有繼承過來。可以打注音。 4. 管理系統服務 # 預設使用傳統的Sysvinit。透過sudo services指令管理。所有的開機服務都儲存在/etc/init.d/。每個服務都是一個shell script。透過update-rc.d指令啟用。其實它也是幫你建立軟連結而已。\n考慮到所有的服務都是一個個指令稿，非常難用。加上這種純Sysvinit的格式，設定資料已經年代久遠，很多服務設定起來會非常麻煩。\n如果要比較好管理服務的話可以手動安裝其他init管理器，例如OpenRC或dinit，操作起來比較舒服，他們都是與Sysvinit的指令稿相容的。當然這裡不會有Systemd。\n我比較喜歡使用OpenRC，安裝後會自動替換掉Sysvinit，開機自動啟動：\nsudo apt install openrc Gentoo Wiki寫的OpenRC to systemd Cheatsheet是很好的參考資源，有助於你理解從Systemd切換為OpenRC的運作方式。\n5. 安裝KDE Plasma桌面 # 手動安裝KDE X11桌面，依照畫面指示，將顯示管理器切換為SDDM。\nsudo apt install task-kde-desktop 未來KDE 6.8準備移除X11支援，轉向純Wayland\n目前暫時不用擔心，Devuan 6的KDE版本鎖定在6.3，透過安裝plasma-x11-session套件還有X11可以用。\n到時候放棄X11的時候我就會考慮改安裝kwin-x11的fork：SonicDE。\n6. 評價 # 用Devuan最討厭的就是我google資料，一直都被認為是打錯字，Google會問：你要搜尋的是Debian嗎？\nDevuan的關注度看起來比其他基於Debiand開發的發行版要小很多，因為\u0026hellip;他們就真的是為很傳統的用戶設計的。\n不像MX Linux有針對用戶友善的設計，也沒有anitX刻意輕量化的設計。反Systemd，卻沒有像Artix一樣針對各種init製作配套措施的套件，所以就變得很不方便。所以我想若不是為了超級穩定性，Artix Linux會比Devuan好吧。\n","date":"2026年3月27日","externalUrl":null,"permalink":"/posts/install-devuan/","section":"所有文章","summary":"月廚狂喜：有個Linux的版本代號叫做EX咖哩棒 (Excalibur)，也就是Devuan 6.0。歡迎加入反Systemd大聯盟。 立即在其中一台電腦下載安裝，取代我的Debian 13 Trixie。然後裝上XLibre套件庫，讓KDE X11再次偉大。\n我一直在評估跳脫Systemd控制的Linux發行版的可行性，最好也不要強推Wayland。本來我覺得Arch Linux的fork，Artix Linux是一個不錯的選擇，但是滾動發行版脫離Systemd也不能解決穩定性問題，因此還是嘗試穩定更新的吧。\n1. Devuan簡介 # 2014年，有一群傳統Unix Sysadmin看不爽Debian社群投票，決定在下個Debian 8.0 Jessie版本採用Systemd作為init系統，於是分叉出了Devuan專案。 Devuan這個名字可能包含了Sysvinit的意含。\nDevuan開發模式繼承自Debian，名字換了。例如，版本代號不再基於玩具總動員，而是使用小行星名字（神話人物比較多）。另外Sid的代號被改成了Unstable。數字版本從Debian Jessie 8.0之後就改成從1開始計數了。現在最新穩定版本是Devuan 6.0 Excalibur。\n","title":"改用Devuan + XLibre + KDE，跳脫Systemd控制的Debian Linux","type":"posts"},{"content":"","date":"2026年3月25日","externalUrl":null,"permalink":"/tags/waydroid/","section":"標籤","summary":"","title":"Waydroid","type":"tags"},{"content":"本文讓Ivon教你在Linux安裝電腦版Line，適用於大部分Linux發行版。 Line on Linux\n目前，Line電腦版版本26.0.2.3828，測試可執行的項目：\n項目 執行與否 登入畫面 可 聊天 可 截圖 X11可，Wayland會黑螢幕。 分享檔案 可 播放影片與錄音 可。偶爾無法開啟媒體檢視視窗，需要下載後開啟。 加入語音通話 可 加入視訊通話 可 存取相機 可能會一直轉圈圈。 存取麥克風 可能會一直轉圈圈。 顯示名字的Emoji 否 1. Linux安裝Line的幾種方法 # 在安裝Line電腦版之前，Ivon先帶你檢視一下Linux上的各種可行方案。\nLine是Naver公司開發的封閉原始碼通訊軟體，官方僅支援Android、iOS、Windows、macOS系統，不支援Linux系統。\n那麼要在Linux安裝Line的話，有以下幾種方法：\n使用Line網頁版，僅有基本打字聊天功能。於Linux安裝Google Chrome瀏覽器，再安裝Line官方開發的Line擴充功能。注意：Chrome版本的Line可能將於2026年結束服務。 用KVM裝個Windows虛擬機，再於裡面安裝電腦版Line，這可以100%確保Line正常運作。推薦給擁有充裕硬體資源的用戶使用，因為掛個虛擬機在那邊很吃資源。 透過Waydroid容器跑Android版的Line APP。Line 15.3.0以上版本新增了叫做追加裝置的功能，允許在多個Android裝置登入同一個Line帳號，而不會登出帳號。Waydroid在這裡就像是一台Android平板，可以存取Linux的麥克風打電話。Android版Line提供x86與ARM架構的APK。 最後，就是本文要討論的Line電腦版了。Linux可以靠Wine相容層跑Windows版exe來執行Line。但是純靠Wine是打不開的，還要安裝一些Windows套件，因此我們用「Bottles」統一管理這些套件。\n當然了，因為Line電腦版本來就不支援Linux，所以用Wine跑不見得能100%正常使用Line的所有功能，出問題恐怕客服也幫不了你。使用風險自負！\n因為要用Bottles安裝Wine，所以哪個Linux發行版都沒差。感謝PTT板友，加上我的測試，Ubuntu、Arch Linux、Fedora、openSUSE、Steam Deck應該都能用。\n我測試的環境為Ubuntu，桌面為KDE Plasma Wayland，顯示卡為Nvidia，輸入法為Fcitx5＋新酷音。\n2. 安裝Flatpak和Bottles # 在Ubuntu安裝Flatpak，這是跨發行版的套件管理器，從這裡安裝應用程式可以確保各方版本一致。\n接著是Bottles for Linux，一款Wine的圖形管理前端。\n建議預先開放存取applications的權限，以便建立應用程式捷徑。並開放讀取下載目錄的權限。\nflatpak override --user --filesystem=xdg-data/applications com.usebottles.bottles flatpak override --user --filesystem=xdg-download com.usebottles.bottles 3. 用Bottles安裝Line # 按這個連結https://desktop.line-scdn.net/win/new/LineInst.exe下載最新版LineInst.exe。這個連結你大可放心點選，因為我是直接從Line官網複製下來的。如果你不放心，請用偽裝成Windows User-Agent的瀏覽器造訪Line官網，自行複製取得exe下載連結。\n於Ubuntu的應用程式列表開啟Bottles，待其初始化完成。 Line需要Wine 10.13以上版本才能開啟，但Bottles內建的太舊了。點選Bottles右上角「偏好設定」→ 執行器，下載Kron4ek Wine 10.13或以上版本。似乎Line很吃Wine版本，太舊或太新都不行。 點選左上角＋號新增Bottle容器。名稱輸入Line，環境選取Gaming（也可以試試Application），再按下新增。 新版Line會驗證Windows數位簽章，Wine預設環境會拒絕執行，需要手動簽名.dll，參見這篇巴哈教學\n點選設定 點選組件 → 執行器，改為kron4ek-wine。如果無法啟動Line，您也可以試試用內建的soda或sys-wine。 返回上一頁。點選相依項目 分別下載cjkfonts和vcredist2022和d3dcompiler_47套件 返回上一頁，點選設定 → 相容性，將模擬Windows版本設定為Windows 10。\n點選執行檔案，選取Line的exe 安裝Line。 安裝後Line的視窗會出現一陣子又消失，其實是它在跑更新，從Bottles的工作管理員可見到Line的行程還活著 等待一下就會跑出主畫面了，Bottles選單畫面應該也會顯示LineLauncher的捷徑。如果Line開不起來，嘗試在Bottles的設定裡面，關閉「DXVK」、「VKD3D」、「獨立顯示卡」後重試。 實測Fcitx5＋新酷音可以打中文。 螢幕剪取功能也能使用。 如果Line開啟照片或者播影片閃退，嘗試在Bottles的設定裡面，關閉「DXVK」和「VKD3D」。或者對照片點右鍵，另存新檔下載來看（建議下載到C:/users/user/Downlaods資料夾才不會有空間不足的bug）。 Line關閉視窗後仍會掛在系統狀態欄（GNOME在右上角，KDE Plasma在右下角），對圖示按下右鍵才能完全關閉。 未來要開啟Line，就是按Bottles容器的LineLauncher按鈕。或是點選「新增桌面捷徑」，Line就會出現在Linux桌面的應用程式列表。 如果您想要製作Line圖示的桌面捷徑，那麼就手動複製過去：\ncp ~/.local/share/applications/Line*.desktop ~/Desktop 建議點選Bottles設定的「快照」，將目前的安裝狀態儲存起來，免得Line一更新又不能用。 4. 備份Line聊天記錄 # 有些人裝電腦版Line的目的就是為了保存完整圖文聊天記錄之用。\n根據網路上說法，電腦版Line備份聊天記錄是直接將Line的目錄複製下來，重裝Line後再把資料覆蓋。\nBottles建立的「假C槽」位於~/.var/app/com.usebottles.bottles/data/bottles/bottles/Line/drive_c/，Line下載的照片影片會放到假C槽下的/users/user/Downloads目錄。\n而Line的聊天紀錄資料位於假C槽下的/users/user/AppData/Local/LINE，要備份就是複製整個LINE目錄。「理論上」這裡的聊天紀錄可以移到Windows上繼續用。 但這裡我們不手動備份Line的資料，因為依賴Bottles來裝Line，未來若要重弄整個環境是挺麻煩的。\n為此直接點選Bottles容器右上角的完整備份把整個容器存成壓縮檔即可。 未來要還原容器就按Bottles首頁的匯入按鈕。 5. 常見問題 # 5.1. 開機自動啟動Line # 在Bottles容器的LineLauncher按鈕旁邊，點選「新增桌面捷徑」\n將Desktop Entry複製到XDG Autostart目錄：\ncp ~/.local/share/applications/Line*.desktop ~/.config/autostart/ 5.2. Line看不到特定目錄的檔案 # Flatpak會限制Bottle裡面的程式能存取的路徑，Line可以存取使用者家目錄的檔案，但要存取另一顆硬碟就會受限制。\n假設你的檔案放在/run/media/user/HDD目錄，那麼Line就會開不起來，要用以下指令開放給Bottles存取：\nflatpak override --user --filesystem=\u0026#34;/run/media/user/HDD\u0026#34; com.usebottles.bottles 5.3. 字體太小，視窗最大化被按鈕擋住 # 如果Linux的Line界面字體太小，視窗最大化又會版面錯位的話，點選Bottles的酒瓶，設定 → 顯示設定 → 進階顯示設定，將DPI調高。\n有時候Line的視窗最大化之後，放大縮小按鈕會被Linux桌面的合成器擋住，或是切換到其他程式的時候仍顯示一層透明的Line程式邊框。這個時候請開啟Bottles酒瓶，設定 → 顯示設定 → 進階顯示設定，將Window Manager Decorations選項關閉。\n5.4. 無法顯示名字的Emoji # （新版看來已經無效）\n如果Line無法顯示Emoji，下載Windows的seguiemj.ttf字型，複製到Linux系統目錄/usr/share/fonts/microsoft-fonts/（沒有該目錄的話自行新增）\n再將seguiemj.ttf複製到~/.var/app/com.usebottles.bottles/data/bottles/bottles/Line/drive_c/windows/Fonts目錄。\n輸入fc-cache -fv指令更新字型快取。\n開啟Bottles的登錄檔編輯器，新增機碼HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts，新增字串，名稱輸入seguiemj，值輸入seguiemj.ttf。\n參考資料 # 心得 Wine+Bottles 無痛安裝Line - 看板Linux LINE 電腦版手動完整備份所有聊天記錄的操作教學（Windows、Mac） Bottles Documentatiom ","date":"2026年3月25日","externalUrl":null,"permalink":"/posts/linux-bottles-install-line/","section":"所有文章","summary":"本文讓Ivon教你在Linux安裝電腦版Line，適用於大部分Linux發行版。 Line on Linux\n目前，Line電腦版版本26.0.2.3828，測試可執行的項目：\n項目 執行與否 登入畫面 可 聊天 可 截圖 X11可，Wayland會黑螢幕。 分享檔案 可 播放影片與錄音 可。偶爾無法開啟媒體檢視視窗，需要下載後開啟。 加入語音通話 可 加入視訊通話 可 存取相機 可能會一直轉圈圈。 存取麥克風 可能會一直轉圈圈。 顯示名字的Emoji 否 1. Linux安裝Line的幾種方法 # 在安裝Line電腦版之前，Ivon先帶你檢視一下Linux上的各種可行方案。\nLine是Naver公司開發的封閉原始碼通訊軟體，官方僅支援Android、iOS、Windows、macOS系統，不支援Linux系統。\n那麼要在Linux安裝Line的話，有以下幾種方法：\n使用Line網頁版，僅有基本打字聊天功能。於Linux安裝Google Chrome瀏覽器，再安裝Line官方開發的Line擴充功能。注意：Chrome版本的Line可能將於2026年結束服務。 用KVM裝個Windows虛擬機，再於裡面安裝電腦版Line，這可以100%確保Line正常運作。推薦給擁有充裕硬體資源的用戶使用，因為掛個虛擬機在那邊很吃資源。 透過Waydroid容器跑Android版的Line APP。Line 15.3.0以上版本新增了叫做追加裝置的功能，允許在多個Android裝置登入同一個Line帳號，而不會登出帳號。Waydroid在這裡就像是一台Android平板，可以存取Linux的麥克風打電話。Android版Line提供x86與ARM架構的APK。 最後，就是本文要討論的Line電腦版了。Linux可以靠Wine相容層跑Windows版exe來執行Line。但是純靠Wine是打不開的，還要安裝一些Windows套件，因此我們用「Bottles」統一管理這些套件。\n","title":"如何在Linux安裝電腦版Line，使用Bottles管理Wine容器","type":"posts"},{"content":"","date":"2026年3月24日","externalUrl":null,"permalink":"/tags/arch-user-repository/","section":"標籤","summary":"","title":"Arch User Repository","type":"tags"},{"content":"使用Arch Linux的時候，常常會有很多人說要從AUR裝某某套件，Arch Wiki有時候引用軟體也會標示「此軟體位於AUR」，那麼AUR究竟是什麼呢？從AUR安裝軟體的優點為何？\nAUR的優點，一張圖就能說明（笑） 就讓Ivon簡介Arch Linux AUR特色，還有如何安裝AUR套件，再介紹常用的指令技巧。\n這篇文章略長，請善用目錄看你想看的部份。\n順帶一提，現在非Arch Linux的發行版也有安裝AUR軟體的方法了呦。\n1. AUR簡介 # Arch Linux跟大多數發行版一樣，是透過套件管理器來安裝軟體的。套件管理器pacman預設會從Arch Linux套件庫下載套件。這個套件庫我們稱為主套件庫（軟體庫，Main Repository），套件由Arch Linux官方開發者維護。\n使用者可以自由提交套件，可是進入主套件庫需要符合Arch Wiki寫的規定，可能要等待很長的時間。\n但，如果軟體太小眾？太新穎？授權條款有問題？自是不可能有進入主套件庫的日子，於是乎，AUR便成為了這些軟體的去處。\nAUR全名「Arch User Repository」，顧名思義是使用者維護的套件庫，是主套件庫以外Arch Linux重要的軟體來源之一。\n網址：https://aur.archlinux.org\nAUR網站是Arch Linux官方支援的網站，但上面的軟體套件都是用戶各自提交維護。使用者在這邊維護自己的軟體，互相交流，久而久之AUR就成為了最大的Linux「第三方套件庫」，上面收錄高達90000個套件，可能比Ubuntu的PPA、Fedora的COPR、openSUSE的OBS還要多套件。某種程度上來說比Flatpak還要萬用。 AUR網站還有用戶投票的功能，套件只要夠熱門便有機會進入Arch Linux官方的主套件庫。\n不過，其實AUR沒有收錄任何軟體的「二進位檔」，每個套件庫只有PKGBUILD和純文字的.patch檔。PKGBUILD本身是一個指令稿，告訴系統要到哪個網站下載程式，並指示怎麼安裝這個軟體。\nPKGBUILD安裝過程很隨意，有的AUR套件是從原始碼編譯，有的拆deb套件，還有的是拆AppImage來裝。\n反正到最後，透過AUR安裝到系統的軟體，幾乎跟一般透過pacman安裝的軟體是沒有差異的。沒有容器化，沒有特殊權限機制，就是軟體二進位檔。\n2. AUR套件優點為何？ # AUR自由度很高，什麼都能收，舉凡桌布、桌面環境、付費軟體（咦）、遊戲安裝包都有人提供。只要Arch Linux沒有收錄的軟體就會在AUR出現，像是Google Chrome、Spotify、Nvidia cuDNN、Autodesk Maya之類的都有人打包。曾經有人說過，Arch Linux的AUR就像Rule34法則一樣，只要某個軟體存在，AUR上面就會有人打包。\n有些軟體裝起來需要打一堆依賴，例如依賴Wine的Windows軟體需要Winetricks裝.dll的，AUR的指令稿一發下去就能搞定。\n如果維護者PKGBUILD寫得好，它可以把原本只有發表tar.xz的軟體新增Desktop Entry，整合到你的系統，使其圖示出現在應用程式列表。\nAUR的軟體不需要事先打包成二進位檔也能上。它等同是一套自動化編譯系統，能夠依照開發者喜好自訂安裝過程。所以有些軟體剛出來，作者會優先在AUR發表套件。\n有些人嫌自己手上軟體版本不夠新，也會到AUR找貼近軟體上游儲存庫-git的AUR套件來裝。如此一來你就能在一個系統上混合不穩定與穩定版的軟體。\n3. 安裝AUR套件的注意事項 # AUR的套件風險很大，因為依賴用戶自發監視，且AUR安裝的軟體權限跟用pacman安裝的沒什麼不同。\nLinux的套件庫依賴社區成員之間的信任，投毒不是沒有，真的曾經有人在AUR放病毒，儘管後來被刪除了，但安裝還是要小心。\n當你在AUR網站看到一個套件的時候，應該先檢查AUR頁面的License欄位，開源軟體你可以稍微瞄一下PKGBUILD裡面的內容是不是來自開源組織的網站。但如果你安裝的是閉源軟體，就更應該注意軟體來源，閱讀Sources處提供的使用者授權合約，還有下面用戶的留言怎麼講的了。 再看一下Last Updated:，確認維護者有沒有常常更新。並看該套件有沒有被標記為Flagged out-of-date，免得一裝依賴項目全部爆炸。謹記Arch Linux是滾動發行版，不應該安裝超過一年以上沒更新的套件。 有些AUR套件是需要等編譯的（當你安裝時看到進度條出現就知道了），例如rustdesk。如果你不想每次都等編譯，可以另外找找看有沒有人提供-bin版本的套件，以rustdesk的例子來說就是rustdesk-bin。\n有的軟體會提供-git的版本，這代表會自動追蹤上游最新的開發分支，比較不穩定。負責打包的用戶可能也沒時間檢查，所以儘量不要安裝這個版本。\n別忘了，如果你連在AUR都找不到想要的軟體，你還有Flatpak、Snap、AppImage、Distrobox等安裝軟體的管道。\n4. 安裝AUR套件前建議開啟的選項 # 安裝依賴套件 sudo pacman -S base-devel 首先，編輯makepkg的設定檔，設定編譯選項。 sudo vim /etc/makepkg.conf 因為有些AUR套件下載下來是要從原始碼編譯的，建議加入以下選項（或者將MAKEFLAGS取消#註解），讓系統編譯的時候可以使用全部CPU加快速度。 MAKEFLAGS=\u0026#34;-j$(nproc)\u0026#34; 如果你的系統性能比較孱弱（例如跑在開發板上），那麼就取消將軟體自動打包為壓縮檔的機制。在AUR軟體編譯完後直接安裝。 PKGEXT=\u0026#39;.pkg.tar\u0026#39; SRCEXT=\u0026#39;.src.tar\u0026#39; 再來，如果套件下載速度很慢，請編輯/etc/pacman.d/mirrorlist檔案，設定要使用的鏡像站。 sudo vim /etc/pacman.d/mirrorlist 從鏡像站列表挑一個，這裡我使用台灣國網中心的套件庫。 Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch 更新套件庫 sudo pacman -Syy 請注意，AUR不收錄「軟體」本體，此處的鏡像站只有AUR的依賴項目會用到（因為這些套件是從Arch Linux官方套件庫下載的），AUR軟體要另外下載。\n比如說Google Chrome，在從AUR安裝的過程中，它還是要連線到Google伺服器去抓安裝檔的。 所以如果你不手動檢查PKGBUILD，是無法預測AUR會從哪邊下載套件的。如果你的網路連線受到干擾，那麼建議找個全域VPN繞過去，避免頻繁換鏡像站的操作。\n5. 如何用makepkg手動安裝AUR套件 # 這裡內容僅供參考，身為終端使用者，我們很少用手動安裝AUR的方式，因為不好管理，所以會安裝後面講的AUR Helper。\n點選複製你要安裝的AUR套件網址 用git複製儲存庫\ngit clone https://aur.archlinux.org/google-chrome.git 進入目錄，檢視PKGBUILD內容有無問題 cd google-chrome vim PKGBUILD 接著使用makepkg -si指令，讓pacman自動尋找依賴套件，再按照PKGBUILD的內容，下載檔案，打包成Arch Linux的套件。 makepkg -si AUR下載的套件經過本機打包後，會變成Arch Linux的標準套件格式(pkg.tar.xz)，並交由pacman安裝。\n如果要查詢哪些套件是從AUR安裝的，使用sudo pacman -Qm指令。\n6. 如何用yay自動化安裝AUR套件 # AUR也可以有套件管理器！\n套件管理器(Package Manager)的講法不精確，正確來說是AUR助手(Helper)才對。\nAUR助手就是幫你自動完成上述手動安裝PKGBUILD的操作，簡化操作流程，變成用幾行指令就能管理AUR套件，這樣日後要更新就容易多了。\n常見的AUR助手有yaourt、yay、paru、pacaur，圖形版有pacmac。其中Go語言寫的「yay」比較受歡迎，它將常用的操作封裝成一行指令就能解決。\n根據官方Github指示，用以下指令安裝yay sudo pacman -S --needed git base-devel git clone https://aur.archlinux.org/yay.git cd yay makepkg -si yay的指令跟pacman很類似，例如搜尋套件 yay google-chrome 安裝套件 yay -S google-chrome yay的指令很聰明，它會自動判斷套件是否有進Arch Linux的主套件庫，如果有的話就優先下載那邊的版本，沒有的話才去AUR上找。\n安裝套件的時候，yay會問使用者是否要查看PKGBUILD，通常直接Enter下一步，等待其安裝完成。有時候需要打密碼。 解除安裝套件的指令： yay -R google-chrome 更新所有套件的指令： yay -Syy yay -Syu 注意：yay -Syu等同pacman -Syu全系統更新。如果你太久沒更新可能套件依賴會崩掉，所以才會先更新系統再安裝AUR套件。\n如果你不想一個一個確認，那麼就加入--noconfirm選項自動同意，並使用--sudoloop防止sudo密碼太快過期。 yay -Syu --noconfirm --sudoloop yay會將下載的套件快取檔和PKGBUILD放在~/.cache/yay\u0026quot;，嫌太肥可以用yay -Sc指令清除。\nAUR安裝套件格式跟pacman安裝的套件是一樣的，如果要列出本機上AUR安裝的套件，使用以下指令：\npacman -Qqe | grep -v \u0026#34;$(pacman -Qqm)\u0026#34; 7. 如果AUR不符合需求就自行修改PKGBUILD吧 # PKGBUILD的內容請看：AUR submission guidelines - Arch Wiki\n這篇也寫的不錯：Arch Linux 第一次打包就上手 - 書術方隅的介紹，他寫的很清楚了。\nPKGBUILD的檔案格式清楚易懂，遇到問題的時候你也可以嘗試自行修改。\n8. 不是Arch Linux也想裝AUR的套件？ # 透過Distrobox，你就能在Ubuntu、Fedora、openSUSE安裝AUR的軟體，並將其整合到宿主系統。\n只要不是涉及修改系統底層的軟體應該都能跑起來。\n參考資料 # Arch User Repository - ArchWiki Creating packages - ArchWiki - Arch Linux Jguer/yay: Yet another Yogurt - An AUR Helper written in Go - Github ","date":"2026年3月24日","externalUrl":null,"permalink":"/posts/archlinux-aur-introduction/","section":"所有文章","summary":"使用Arch Linux的時候，常常會有很多人說要從AUR裝某某套件，Arch Wiki有時候引用軟體也會標示「此軟體位於AUR」，那麼AUR究竟是什麼呢？從AUR安裝軟體的優點為何？\nAUR的優點，一張圖就能說明（笑） 就讓Ivon簡介Arch Linux AUR特色，還有如何安裝AUR套件，再介紹常用的指令技巧。\n這篇文章略長，請善用目錄看你想看的部份。\n順帶一提，現在非Arch Linux的發行版也有安裝AUR軟體的方法了呦。\n1. AUR簡介 # Arch Linux跟大多數發行版一樣，是透過套件管理器來安裝軟體的。套件管理器pacman預設會從Arch Linux套件庫下載套件。這個套件庫我們稱為主套件庫（軟體庫，Main Repository），套件由Arch Linux官方開發者維護。\n使用者可以自由提交套件，可是進入主套件庫需要符合Arch Wiki寫的規定，可能要等待很長的時間。\n但，如果軟體太小眾？太新穎？授權條款有問題？自是不可能有進入主套件庫的日子，於是乎，AUR便成為了這些軟體的去處。\nAUR全名「Arch User Repository」，顧名思義是使用者維護的套件庫，是主套件庫以外Arch Linux重要的軟體來源之一。\n","title":"什麼是AUR套件庫？如何安裝Arch Linux的AUR軟體？","type":"posts"},{"content":"用Wayland當作後端，執行X11桌面。\n蛤！？\n1. 簡介Wayback專案 # 未來Linux世界，X11即將退場，Wayland取而代之。但是現有的大量X Window桌面用戶怎麼辦呢？\n2025年，Alpine Linux開發者提出了一個實驗性的解決方法：Wayback。 我們可以這樣理解：Wayback是用Wayland技術開發而成的新一代X Server相容層。你表面上好像啟動的是Wayland桌面，但其實跑的是X11桌面。\n根據Wayback專案發起人Ariadne Conill在XDC論壇2025年的簡報，他們認為與其再維護一個獨立的X Server去撐起整個Linux桌面，不如將底層交給Wayland負責，再於上面跑一個X Server就好了。這樣能減少日後Linux各發行版維護X11的負擔。\n其實這已經是目前XWayland在做的事情了，XWayland即是跑在Wayland桌面上的nested X Server。RedHat等大型組織的資源基本只剩下維護XWayland，用於在Wayland桌面相容舊版X11程式。至於X.Org X Server本體不多做維護了，只修復安全性問題。\n順帶一提，多虧RedHat這種對待X.Org的消極態度，才會導致一群開發者在2025年搞出XLibre這個憤怒fork。可惜的是XLibre被FreeDesktop趕跑了，因為違反Code of Conduct被禁止參與貢獻，從此與主流企業Linux發展方向絕緣。Wayback則是很快被FreeDesktop接納了。\nXWayland目前的實現是，預設只能在Wayland桌面上執行單個X11程式的視窗，也就是XWayland Rootless Mode。Wayland桌面會在需要執行X11程式的時候自動幫你啟動XWayland視窗。可是XWayland不能執行完整桌面。執行桌面需要XWayland Rooful Mode，它允許在XWayland視窗內執行X11桌面環境。\n相關文章：XWayland Rootful Mode使用教學 既然是要執行桌面，總不能讓它以單個視窗執行吧？但XWayland又不能單獨存在，它需要依附一個Wayland合成器才能用。因此Wayback便是提供一個最小的Wayland合成器，讓XWayland Rootful Mode跑在上面，並以全螢幕執行。\n以下架構圖來自XDC 2025的簡報 如此一來可以滿足那些想要繼續用X11桌面用戶的需求，又不用單獨維護X Server了。這就是用Wayland技術去相容舊有X11桌面的辦法。\n只是\u0026hellip;不知道Wayback為了相容X11，他們又得重新發明多少輪子。目前看來用了一些wlroots的技術。\n2. 如何使用Wayback # 目前Wayback這個專案處於初步階段，未來可能會有許多變化，以上游原始碼為準。\n那麼，具體來說Wayback要怎麼用呢？參考Wayback官網文件\n我在Arch Linux測試，嘗試用Wayback啟動XFCE桌面。\n從AUR安裝wayback-x11-git套件\nyay -S wayback-x11-git 編輯~/.xinitrc，填入要啟動的X11桌面 exec dbus-launch --exit-with-session xfce4-session 重開機，按Ctrl + Alt + F2，登入tty。\n再以wayback-session指令啟動，這類似過去startx的用法。\nwayback-session Wayback好像堅持要用DRM模式啟動，所以得要在真實GPU加速的實機環境下使用。虛擬機會無法啟動。\n此外，尚不清楚要怎麼從Display Manager啟動Wayback，再啟動想要的X11桌面環境。可能得手動寫Desktop Entry並放到/usr/share/xsessions/吧。目前只能在tty打指令啟動Wayback。\n","date":"2026年3月24日","externalUrl":null,"permalink":"/posts/install-wayback-on-linux/","section":"所有文章","summary":"用Wayland當作後端，執行X11桌面。\n蛤！？\n1. 簡介Wayback專案 # 未來Linux世界，X11即將退場，Wayland取而代之。但是現有的大量X Window桌面用戶怎麼辦呢？\n2025年，Alpine Linux開發者提出了一個實驗性的解決方法：Wayback。 我們可以這樣理解：Wayback是用Wayland技術開發而成的新一代X Server相容層。你表面上好像啟動的是Wayland桌面，但其實跑的是X11桌面。\n根據Wayback專案發起人Ariadne Conill在XDC論壇2025年的簡報，他們認為與其再維護一個獨立的X Server去撐起整個Linux桌面，不如將底層交給Wayland負責，再於上面跑一個X Server就好了。這樣能減少日後Linux各發行版維護X11的負擔。\n其實這已經是目前XWayland在做的事情了，XWayland即是跑在Wayland桌面上的nested X Server。RedHat等大型組織的資源基本只剩下維護XWayland，用於在Wayland桌面相容舊版X11程式。至於X.Org X Server本體不多做維護了，只修復安全性問題。\n順帶一提，多虧RedHat這種對待X.Org的消極態度，才會導致一群開發者在2025年搞出XLibre這個憤怒fork。可惜的是XLibre被FreeDesktop趕跑了，因為違反Code of Conduct被禁止參與貢獻，從此與主流企業Linux發展方向絕緣。Wayback則是很快被FreeDesktop接納了。\n","title":"使用Wayback在Linux的Wayland桌面啟動X11桌面","type":"posts"},{"content":"你知道Arch Linux ARM仍然可以沿用AUR的套件嗎？只要安裝yay，後面安裝的指令就一模一樣了。 但，不是所有軟體都支援ARM架構。\n目前，Arch Linux「官方」開發組僅支援x86架構，Arch Linux ARM是由另外一群開發者維護的專案。\n鑑於ARM版的用戶數量比x86版少很多，有人寫PKGBUILD的時候就會限定x86架構安裝，忘記ARM(aarch64)架構的存在。於是乎PKGBUILD會下載x86版本的程式。若使用yay，就會跳出xxx並未提供aarch64架構使用或xxx is not available for the 'aarch64' architecture的訊息。再加上軟體安裝需要跑sha256驗證，即使你強制用yay安裝它也無法繼續。\n由於AUR上面的套件都是透過用戶上傳的PKGBUILD定義安裝過程的，可以任意修改。這時你可以自己改PKGBUILD的內容，手動指定下載的檔案，嘗試讓Arch Linux x86架構的套件能裝在Arch Linux ARM上。\n我們得先查明，該軟體是否有真的有釋出ARM架構的套件。以Google Chrome為例子，官方尚未釋出ARM版本，所以無從下手。我找了個功能類似的替代品：Thorium Browser。它有ARM架構版本但是AUR打包的沒有納入。\nAUR上有thorium-browser-bin套件，下載PKGBUILD\ngit clone https://aur.archlinux.org/thorium-browser-bin.git # 如果你想用yay yay -G thorium-browser-bin cd thorium-browser-bin 觀察PKGBUILD，可以得知它是從Github下載程式二進位檔的，並且有sha256校驗碼驗證檔案完整性 手動到對應的Github儲存庫，下載ARM版的Thorium Browser檔案，為其產生校驗碼\nwget https://github.com/Alex313031/Thorium-Raspi/releases/download/M138.0.7204.303/thorium-browser_138.0.7204.303_arm64.deb sha256sum thorium-browser_138.0.7204.303_arm64.deb 編輯PKGBUILD，修正版本號碼 pkgver=138.0.7204.303 再加入aarc64支援，注意中間沒有逗號 arch=(\u0026#39;x86_64\u0026#39; \u0026#39;aarc64\u0026#39;) 將下載網址換掉 _dl_url=\u0026#34;https://github.com/Alex313031/Thorium-Raspi/releases/download/M${_pkgver:?}\u0026#34; _dl_filename=\u0026#34;${_pkgname}_${_pkgver:?}_arm64.deb\u0026#34; 將校驗碼換掉 sha256sums=( \u0026#39;SKIP\u0026#39; \u0026#39;校驗碼\u0026#39; ) 如此一來就可以安裝修改過的AUR套件了 makepkg -si # 如果你要用yay，指定使用本機PKGBUILD yay -Bi \u0026#34;./PKGBUILD所在目錄\u0026#34; 萬一該軟體依賴AUR才有的套件，那麼就先把他們裝起來 makepkg --asdeps \u0026#34;套件\u0026#34; \u0026#34;套件\u0026#34; \u0026#34;套件\u0026#34; # 如果你要用yay yay -S --asdeps \u0026#34;套件\u0026#34; \u0026#34;套件\u0026#34; \u0026#34;套件\u0026#34; ","date":"2026年3月24日","externalUrl":null,"permalink":"/posts/aur-on-archlinux-arm/","section":"所有文章","summary":"你知道Arch Linux ARM仍然可以沿用AUR的套件嗎？只要安裝yay，後面安裝的指令就一模一樣了。 但，不是所有軟體都支援ARM架構。\n目前，Arch Linux「官方」開發組僅支援x86架構，Arch Linux ARM是由另外一群開發者維護的專案。\n鑑於ARM版的用戶數量比x86版少很多，有人寫PKGBUILD的時候就會限定x86架構安裝，忘記ARM(aarch64)架構的存在。於是乎PKGBUILD會下載x86版本的程式。若使用yay，就會跳出xxx並未提供aarch64架構使用或xxx is not available for the 'aarch64' architecture的訊息。再加上軟體安裝需要跑sha256驗證，即使你強制用yay安裝它也無法繼續。\n由於AUR上面的套件都是透過用戶上傳的PKGBUILD定義安裝過程的，可以任意修改。這時你可以自己改PKGBUILD的內容，手動指定下載的檔案，嘗試讓Arch Linux x86架構的套件能裝在Arch Linux ARM上。\n我們得先查明，該軟體是否有真的有釋出ARM架構的套件。以Google Chrome為例子，官方尚未釋出ARM版本，所以無從下手。我找了個功能類似的替代品：Thorium Browser。它有ARM架構版本但是AUR打包的沒有納入。\n","title":"在Arch Linux ARM安裝AUR的x86架構套件，自訂PKGBUILD","type":"posts"},{"content":"XLibre是fork自X.Org的一個專案。 該專案意圖延續X Server的生命，而非讓Wayland取而代之。\n具體發展過程與爭議請看：XLibre X Server意圖替代X.Org，問題在哪裡？\n本文討論如何安裝XLibre，一同「解放」你的桌面。\n1. 支援XLibre的Linux發行版 # 最好找已經提供XLibre套件的Linux發行版，真的不行再自行編譯。\n參照：Are We XLibre Yet? - Github，尋找支援XLibre的Linux發行版或者BSD系統。\n撰文當下，願意「完全」遷移到XLibre的都是一些小眾發行版。\n例如下圖是採用XLibre + KDE Plasma X11的Artix Linux (Arch Linux) 安裝XLibre + XFCE的Devuan (Debian) 主流Linux發行版的套件依賴項目因為很大程度依賴X.Org，短時間內無法遷移，基本上都得靠第三方解決方案。例如新增第三方套件庫，才能安裝XLibre。\n以Arch Linux系發行版來說：2026年XLibre尚未進入官方套件庫，需要參考AUR說明編譯安裝xlibre-xserver。或者使用binpkg-arch-based儲存庫提供的二進位檔，才可以在現有的Arch Linux安裝XLibre。\nDebian系發行版請新增這個套件庫：Debian Repository for XLibre，安裝XLibre。\nUbuntu、Kubuntu、Xubuntu、Lubutnu用戶請使用這個套件庫：Ubuntu Repository for XLibre\n2. 以Arch Linux安裝XLibre過程為例 # 既然要用XLibre，就得選擇還支援X11的桌面。\nGNOME 50以後已經完全移除了X11支援，KDE Plasma準備在6.8移除X11支援。Budgie預計10.0之後移除X11支援。\nXFCE、Cinnamon、Mate、LXQT、LXDE、Moksha、TDE等桌面暫無移除X11的計畫。當然你也可以沿用現有的X Window Manager。\n現有的Arch Linux，依照AUR指示安裝XLibre套件。\n因為XLibre會取代X.Org，套件會衝突，建議在tty模式操作免得桌面自己崩潰。安裝的時候，pacman可能會顯示XLibre與X.Org衝突，需要將後者相關的套件都移除。\n針對舊版Nvidia閉源驅動，可能要在/etc/X11/xorg.conf.d/xlibre.conf加入以下內容，才能顯示畫面：\nSection \u0026#34;ServerFlags\u0026#34; Option \u0026#34;IgnoreABI\u0026#34; \u0026#34;true\u0026#34; EndSection 我使用的是KDE Plasma 6.6桌面，目前還能透過plasma-x11-session套件提供X11工作階段支援。理論上，安裝後用起來應該是感覺不到太多變化，一切如常。未來KDE 6.8版本X11被移除之後，要繼續用KDE X11的可能得遷移到SonicDE，他們會繼續維護kwin-x11的支援。\nXLibre繼承了X.Org的大部份功能，因此專為X11設計的程式，像xrandr依然能夠運作。\n執行X -version指令，看到的是XLibe X Server而非X.Org X Server。用htop指令查看運作中的程式的時候，依然會顯示/usr/lib/xorg/Xorg。\n","date":"2026年3月23日","externalUrl":null,"permalink":"/posts/install-xlibre-x-server-on-linux/","section":"所有文章","summary":"XLibre是fork自X.Org的一個專案。 該專案意圖延續X Server的生命，而非讓Wayland取而代之。\n具體發展過程與爭議請看：XLibre X Server意圖替代X.Org，問題在哪裡？\n本文討論如何安裝XLibre，一同「解放」你的桌面。\n1. 支援XLibre的Linux發行版 # 最好找已經提供XLibre套件的Linux發行版，真的不行再自行編譯。\n參照：Are We XLibre Yet? - Github，尋找支援XLibre的Linux發行版或者BSD系統。\n撰文當下，願意「完全」遷移到XLibre的都是一些小眾發行版。\n例如下圖是採用XLibre + KDE Plasma X11的Artix Linux (Arch Linux) 安裝XLibre + XFCE的Devuan (Debian) 主流Linux發行版的套件依賴項目因為很大程度依賴X.Org，短時間內無法遷移，基本上都得靠第三方解決方案。例如新增第三方套件庫，才能安裝XLibre。\n以Arch Linux系發行版來說：2026年XLibre尚未進入官方套件庫，需要參考AUR說明編譯安裝xlibre-xserver。或者使用binpkg-arch-based儲存庫提供的二進位檔，才可以在現有的Arch Linux安裝XLibre。\nDebian系發行版請新增這個套件庫：Debian Repository for XLibre，安裝XLibre。\nUbuntu、Kubuntu、Xubuntu、Lubutnu用戶請使用這個套件庫：Ubuntu Repository for XLibre\n","title":"如何在Linux桌面安裝XLibre X Server，替代舊有X.Org","type":"posts"},{"content":"","date":"2026年3月23日","externalUrl":null,"permalink":"/ja-jp/tags/genshin-impact/","section":"Tags","summary":"","title":"Genshin Impact","type":"tags"},{"content":" 問：プログラムを書くのが得意でソースコードを公開する電脳の神は、一種の原神と言えるのか？\n前は忘れた、中は忘れた、後ろも忘れた\u0026hellip;あ、Linuxだ。\n人々はよく言う。Windowsは使いやすく、Linuxは使いにくい\u0026hellip;\u0026hellip;\n私の改編版 # あなたの言う通り、しかしLinuxはリーナス(Linus)が自主開発したまったく新しいオープンワールド冒険カーネルであり、革奴(GNU)ソフトウェアと組み合わさって形成された自由OSです。このシステムは「FOSS」と呼ばれるハッカー世界で発生します。ここでは、神に選ばれた人に「GCC」が授けられ、オープンソースの力を導きます。あなたはdistro-hopperと呼ばれるキャラクターを演じ、各大Linuxディストリビューションの間を浪流連し、自由な旅の中で性格も能力も異なるオープンソースソフトウェアと出会い、彼らと共にプロプライエタリソフトウェアという強敵を倒し、離散した.soファイルを取り戻してno such file or directoryエラーを解決します。同時に、RedHatがLinux世界を支配する真相を徐々に掘り起こしていきます\u0026hellip;\u0026hellip;\n原文 # あなたの言う通り、しかし《原神》はmiHoYoが自主開発したまったく新しいオープンワールド冒険ゲームです。ゲームは「テイワット」と呼ばれる幻想世界で展開されます。ここでは、神に選ばれた人に「神の目」が授けられ、元素の力を導きます。あなたは「旅人」と呼ばれる神秘的なキャラクターを演じ、自由な旅の中で性格も能力も異なる仲間たちと出会い、彼らと共に強敵を倒し、離散した家族を取り戻します——同時に、「原神」の真相を徐々に掘り起こしていきます。\n","date":"2026年3月23日","externalUrl":null,"permalink":"/ja-jp/posts/yes-you-are-right-but-linux-is-a-brand-new-kernel/","section":"Foss-Issues","summary":" 問：プログラムを書くのが得意でソースコードを公開する電脳の神は、一種の原神と言えるのか？\n前は忘れた、中は忘れた、後ろも忘れた…あ、Linuxだ。\n人々はよく言う。Windowsは使いやすく、Linuxは使いにくい……\n私の改編版 # あなたの言う通り、しかしLinuxはリーナス(Linus)が自主開発したまったく新しいオープンワールド冒険カーネルであり、革奴(GNU)ソフトウェアと組み合わさって形成された自由OSです。このシステムは「FOSS」と呼ばれるハッカー世界で発生します。ここでは、神に選ばれた人に「GCC」が授けられ、オープンソースの力を導きます。あなたはdistro-hopperと呼ばれるキャラクターを演じ、各大Linuxディストリビューションの間を浪流連し、自由な旅の中で性格も能力も異なるオープンソースソフトウェアと出会い、彼らと共にプロプライエタリソフトウェアという強敵を倒し、離散した.soファイルを取り戻してno such file or directoryエラーを解決します。同時に、RedHatがLinux世界を支配する真相を徐々に掘り起こしていきます……\n原文 # あなたの言う通り、しかし《原神》はmiHoYoが自主開発したまったく新しいオープンワールド冒険ゲームです。ゲームは「テイワット」と呼ばれる幻想世界で展開されます。ここでは、神に選ばれた人に「神の目」が授けられ、元素の力を導きます。あなたは「旅人」と呼ばれる神秘的なキャラクターを演じ、自由な旅の中で性格も能力も異なる仲間たちと出会い、彼らと共に強敵を倒し、離散した家族を取り戻します——同時に、「原神」の真相を徐々に掘り起こしていきます。\n","title":"あなたの言う通り、しかしLinuxは自主開発されたまったく新しいオープンワールド冒険カーネルです","type":"foss-issues"},{"content":"未來，Android手機將無法自由地安裝APK！\n從2026年9月開始，Google將實施Android Developer Verification政策，強制驗證所有開發者身份。這會影響到使用者安裝APK的權利。\n請支援：保持Android開放運動 (Keep Android Open)！ 1. 未來安裝APK的權利將受到限制 # 我們知道，Android系統的手機最大的特色就是可以任意安裝第三方的APK，沒有規定一定要從應用程式商店（如Google Play）下載APP。開發者也可以在其他網站自由分發APK給別人下載安裝。\n但是，為了所謂的安全性考量，Google正在破壞Android的開放性，以後開發者發表APK，需要先向Google註冊含有個人敏感身份的資料，並對APK進行數位簽名才可以安裝。若APK沒有經過驗證，將會無法安裝，恐怕連「我已經知悉風險但仍要安裝」的按鈕都不給！\n具體實現細節請看官方文件：Android開發人員驗證 Android Developer Verification\n需要指出的是， Google現階段並沒有禁止安裝APK ，只是多上了一道驗證程序，確認APK是安全的，且出事是找得到人負責的。\n可是，儘管驗證開發者身份聽上去很簡單，但並不是每個人都想被Google控制，這根本是侵犯個人隱私行為。\n若是上架Google Play需要驗證開發者身份也就算了，為什麼Google現在連私人安裝第三方APK也要管呢？\n這會影響到Github與F-Droid的開源專案，還有使用其他應用商店的用戶，讓側載APK的權利落入Google的控制，我們需要採取行動施壓！！！\n別以為這個機制只會在新手機實現。不只是新機，舊機「可能」也會被影響。這個封鎖機制應該是透過GMS實作的，由於幾乎所有Android手機都有安裝GMS服務，「理論上」Google只要線上推送一個更新，就可以強制在你的手機封鎖第三方未驗證APK的安裝。（注意：這只是我的推測，不確定舊機會不會真的受影響）\n這個政策施行下去，到時候，只有degoogle無GMS的Android系統才能自由安裝APK了，例如LineageOS和GrapheneOS，這類手機品牌市佔率不高。況且對自由世界的Android用戶來說，很多APP都依賴GMS才能運作，脫離GMS服務是很不切實際的選擇。\n即使你買沒有GMS服務的中國大陸手機，搞不好會反過來被國家反詐中心禁止安裝第三方APK。\n因此，世界各地，擔憂Google此作為將破壞Android開放性的軟體開發者，發起了保持Android開放運動 (Keep Android Open)\n點這裡關注：https://keepandroidopen.org\n上述網頁裡面有反對Google驗證開發者身份請願書(change.org)可以簽名。並羅列了各國的發聲管道，可以與立法機關聯絡，呼籲他們關注此事。\n2. 現況如何？ # 直到2026年3月，Google仍不打算放棄驗證Android開發者身份的政策。\n不過，未來Google會允許有經驗的開發者安裝無驗證的APK。這過程稱之為「Advanced Flow」。\n根據Google在Android Developers Blog的解釋，Android 17之後，安裝APK要在開發人員選項開啟，看完一系列警告確認你不是被詐騙，等待24小時後重開機，通過生物驗證（指紋或掃臉），才能安裝APK。並且會有選項讓你要開放7天或者永久開放。這個過程只要做一次就可以了。 此外，Google針對想要保護隱私的業餘開發者推出了受限開發者帳號(limited distribution account)，不用繳交身份證件就能註冊。透過這種方式簽署的APK可以通過Android的新驗證機制。但是最多只能安裝在20台裝置上。\n如果以上流程你都不想做，那就只能透過ADB指令安裝APK了。\n3. 側載APK是合法權利，一步都不應該退讓 # 那些放棄重要自由以換取一點點暫時安全的人，既不配享受安全，也不配擁有自由。\nGoogle把安裝APK的按鈕，跟OEM解鎖放在一起，把它當作刷機一樣洪水猛獸的存在。總之就是加上諸多限制，警告使用者。私以為，安裝APK，不應該是被視為這麼高度危險性的操作。況且，有些金融APP還會以安全性為理由偵測ADB開關狀態，這等同讓裝置陷入不安全的樣子。\n如果未來Google政策不變的話，這裡有一個解決方案：sam1am/anyapk 這是針對Google強制驗證開發者身份所製作的對策APP，透過Shizuku中介，使用ADB權限安裝尚未驗證的APK。另外Obtainium也有透過Shizuku安裝APK的方法。只是我很好奇，未來Google是否會在新版本Android封堵Shizuku讓手機可以自己給自己無線ADB的loophole，變成ADB都得透過電腦才能實行。\nGoogle未來將強制驗證開發者身份，連手動安裝APK都要管，否則不准安裝。理由是他們認為側載太危險了，應當保護使用者。\n但，今天你加了這道驗證程序，又宣稱我們沒有要封死APK。若未來又為了其他理由，難保Google不會採取更多限制性措施呢。\n安裝APK是本就該有的權利，不該做出太多限制，尤其是要納管這件事。你購買的手機就應該是你的東西，不是任何人能決定你可以安裝什麼的。\n把Android合法「安裝」APK的行為稱作「側載」(sideloading)，本身就是一種蔑稱。這隱含了你們這樣做，是在幹壞事，用不正當手段安裝軟體的意含。Apple對開放側載的態度也是如此，認為開放使用者自由安裝APP太危險了。這種行為，實則是作為自由之敵。似乎總有人認為，透過官方以外管道的安裝軟體，就是要破解軟體，安裝盜版，或是使用違法APP，而且隨著高風險？不是這樣的。\n在你的電腦上，你可以自由「安裝」軟體，沒有人規定只能從單一管道安裝軟體。手機，當然也不能例外。\n對iOS來說，由於自古以來使用者安裝軟體的權利都被Apple牢牢掌握，側載IPA的阻力很高，那麼側載的市場會發展的很畸形也就不意外了。參見：iPhone上的AltStore尚未成為自由第三方APP的歸屬 的確，從AltStore的案例來看，上面上架的軟體幾乎都是\u0026hellip;額，破解Youtube廣告之類的灰色應用，即使是越獄tweak的也因為iOS功能越來越多而顯的越來越不必要了。少部份真的是遊戲模擬器這類不能在App Store上架的APP，或者單純軟體開發者不想付3000元的開發者年費所以不上價。那我們不要助紂為虐了，與其奢望Apple開放iPhone，不如直接買Android手機。\n至於Android則不是這麼一回事，長期以來，Google並沒有強迫用戶要用Google Play，因此脫離這個應用商店，形成自己自給自足的生態系完全是有可能的。\n先不談那些耍流氓的中國應用商店，就講F-Droid就好。F-Droid是以自由軟體為主的商店，承載了Linux以來的自由開放精神。APP原始碼開放透明，由社區成員共同審計安全性。使用者在上面可以下載到許多實用工具APP，替代常見的專有軟體，例如Fossify Gallery就是一個類似快圖瀏覽的相簿，還有用Fennec替代Chrome等等。縱然F-Droid確實有NewPipe這類去廣告的Youtube客戶端，那也只是廣大開源生態的一部分。\n據此，不能說所有側載的行為就是不安全，在鼓勵犯罪。側載確實會帶來高風險，但使用者願意自己承擔的話，這種自由就不應該被奪。\n","date":"2026年3月23日","externalUrl":null,"permalink":"/posts/keep-android-open/","section":"所有文章","summary":"未來，Android手機將無法自由地安裝APK！\n從2026年9月開始，Google將實施Android Developer Verification政策，強制驗證所有開發者身份。這會影響到使用者安裝APK的權利。\n請支援：保持Android開放運動 (Keep Android Open)！ 1. 未來安裝APK的權利將受到限制 # 我們知道，Android系統的手機最大的特色就是可以任意安裝第三方的APK，沒有規定一定要從應用程式商店（如Google Play）下載APP。開發者也可以在其他網站自由分發APK給別人下載安裝。\n但是，為了所謂的安全性考量，Google正在破壞Android的開放性，以後開發者發表APK，需要先向Google註冊含有個人敏感身份的資料，並對APK進行數位簽名才可以安裝。若APK沒有經過驗證，將會無法安裝，恐怕連「我已經知悉風險但仍要安裝」的按鈕都不給！\n具體實現細節請看官方文件：Android開發人員驗證 Android Developer Verification\n需要指出的是， Google現階段並沒有禁止安裝APK ，只是多上了一道驗證程序，確認APK是安全的，且出事是找得到人負責的。\n可是，儘管驗證開發者身份聽上去很簡單，但並不是每個人都想被Google控制，這根本是侵犯個人隱私行為。\n","title":"Keep Android Open：反對Google強制驗證Android開發者身份，阻擋安裝第三方APK","type":"posts"},{"content":"這是我的BlogBlog 同樂會 - 2026 年 3 月的投稿文章。本月主題是「理想的日常」，由Alex Hsu主持。如果你有自己的部落格，歡迎一起來參加！\n理想的日常是，不再為硬體是否能運作而煩惱。\n吾人認識到，Boredom is good.\n稍微改編胡適說的話：我們應該少談點主義，多談點主意。\n我確切的認知到了，花太多時間去tweak硬體並非是好事。\n長久以來，我一直在自由軟體與專有軟體之間擺蕩，堅持「自由軟體基本教義派」。\n具體內容參見理查史托曼的短文集：自由軟體，自由社會\n總是會過多的懷疑作業系統「本質」的存在。認為在現實生活中對我們至關重要的數位裝置，其上運行的作業系統選擇，是跟人生哲學一樣重要的存在。\nDebian is more stable than everyone I met.\n發現我沉迷計算機技術和Linux開源相關是因為0和1是可以預測的。比起外部紛擾的世界，混沌的政治，一團糟的人生，混亂的自我，還有上下不定的情緒，這種掌控自我系統的感覺十分良好。\n同理也可以套用在打遊戲逃避現實的人身上，但是自由開源的運動從更底層——不單單只是廉價的多巴胺快感——給我一種擁有掌控全局的感覺。\n縱然FOSS世界也有很多drama，可是原始碼握在手上就可以確保自己的獨立性啊。\n例如，用iPad覺得不自由，想要換成其他系統的平板，如切換到GNU/Linux平板卻又經歷失敗。在教育現場的實務上根本無法發揮跟商業產品一樣的生產力。\n用Android依然覺得不夠自由，搞DeGoogle運動，想要刷機為沒有GApps的完全自由的LineageOS系統。甚至改用Linux手機。可是發現軟體和硬體有諸多不便。\n但是在這些嘗試的過程中，逐漸了解到，折騰是好玩，可是終究是好玩而已。\n如果不能將其實際運用在生活中，就只是geek的妄想。\n可能我是太閒才會煩惱這個。\n但是如果我全心放在工作上的話，就會倒過來懷疑工作的本質了！\n這會導致任何我能力所及的工作都做不下去。\n因此臣服於日常的工作，已經是一種「日常」的工作了。\n我並不特別喜歡目前的工作，但也沒有厭惡到做不下去\n就只是認為，日子要過。接受現狀，等待時機。\n那不如就繼續維持這種表象的日常，去懷疑那些不想也不會餓死的事情，不要真正切切的去懷疑自己實在的議題比較好。\n所以，我逐漸削弱了主義至上的生活方向。\n","date":"2026年3月23日","externalUrl":null,"permalink":"/posts/a-perfect-day-in-my-life/","section":"Personals","summary":"這是我的BlogBlog 同樂會 - 2026 年 3 月的投稿文章。本月主題是「理想的日常」，由Alex Hsu主持。如果你有自己的部落格，歡迎一起來參加！\n理想的日常是，不再為硬體是否能運作而煩惱。\n吾人認識到，Boredom is good.\n稍微改編胡適說的話：我們應該少談點主義，多談點主意。\n我確切的認知到了，花太多時間去tweak硬體並非是好事。\n長久以來，我一直在自由軟體與專有軟體之間擺蕩，堅持「自由軟體基本教義派」。\n具體內容參見理查史托曼的短文集：自由軟體，自由社會\n總是會過多的懷疑作業系統「本質」的存在。認為在現實生活中對我們至關重要的數位裝置，其上運行的作業系統選擇，是跟人生哲學一樣重要的存在。\nDebian is more stable than everyone I met.\n發現我沉迷計算機技術和Linux開源相關是因為0和1是可以預測的。比起外部紛擾的世界，混沌的政治，一團糟的人生，混亂的自我，還有上下不定的情緒，這種掌控自我系統的感覺十分良好。\n同理也可以套用在打遊戲逃避現實的人身上，但是自由開源的運動從更底層——不單單只是廉價的多巴胺快感——給我一種擁有掌控全局的感覺。\n縱然FOSS世界也有很多drama，可是原始碼握在手上就可以確保自己的獨立性啊。\n例如，用iPad覺得不自由，想要換成其他系統的平板，如切換到GNU/Linux平板卻又經歷失敗。在教育現場的實務上根本無法發揮跟商業產品一樣的生產力。\n","title":"理想的日常就是不再過度折騰作業系統","type":"personal"},{"content":" 今日のテーマはlightning talk形式の継続だった。前回から二か月ぶりの集まりだ。\n雄校聯で引き続き学生サークル（迫真）の名義を使い、無料の会場を借りた。\nメモはHackMDに置いてある。\nまずShawnがRedHat OpenShiftの発展見通しを共有し、OKDとOCDの上下流開発関係を説明した。Fedora、CentOS Stream、RHELの関係を整理し、CentOS Streamはそれほど不安定ではないのだとわかった。彼はその位置づけがUbuntu LTSに近いと考えている。CentOS Streamには依然としてメジャーバージョン番号があり、kernelバージョンも固定される。RedHatは今でもCentOS Streamへ修正を送り、オープンソースコミュニティがエラーのテストを手伝う形だからだ。Shawnは、これによってより健全なエコシステムを形成できると考えている。しかし私は、それなら……Ubuntu LTSを使えばいいのでは、と思った。\nついでにFedora CoreOSの利点も紹介された。bootcを大量に採用し、image-based方式でシステムをデプロイする。その中で、時機が熟せば将来的にrpm-ostreeはcomposefsに置き換えられるかもしれないという話が出た。composefsはLinux kernelのerofs機構を有効に活用してシステムファイルを処理できる。しかし私はこう聞きたい。今すでにuBlue Bazziteのようなbootcで実装された製品があり、彼らの最大の問題はユーザーがローカルで手動に.rpmファイルをインストールしにくく、システムイメージを再作成するしかないことだ。これはlocal layeringと呼ばれる。ではcomposefsはこの問題をどう解決するのか？この問題について、私たち二人は満足できる答えを出せなかった。現時点ではこの技術もまだ定型化していない。今後を待つしかない。正直、私はシステムに何か追加パッケージを入れるたび、毎回クラウドで手動buildしたイメージを引っ張ってきてデプロイするなんてやりたくない。\nその後、才疏学浅な私は登壇してPhoshをデモし、Linuxスマートフォンエコシステムの発展過程、およびAndroid代替の可能性を紹介した。スライドは数か月前に作ったPhosh桌面簡介を使った。会場の皆さんは私が持っていったPoco F1 (postmarketOS) とPinetab 2 (Arch Linux ARM) にとても興味を持っていたが、これらのデバイスに長く苦しめられ、最後には観念してiPadへ乗り換えた私としては、いろいろ複雑な気持ちだった……Linuxが動くスマートフォンやタブレットは、確かにとても面白い玩具だ。しかし玩具でしかない。\n中華民国軟體自由協會(SLAT)の許家雋は、Nextcloud OfficeのAI機能をデモした。彼らは2023年末にはすでにMicrosoft OfficeのCopilotに似た補助機能を出しており、主に外部の言語モデルAPI、たとえばChatGPTとの連携によって実現している。ただ彼によれば、これは非同期処理ができず、簡単なテキスト翻訳を走らせるだけでもかなり待たされるという……まだrough edgesは多そうだ。この種のWeb版AIソリューションはGoogleドキュメントから学ぶべきだろう。これは本当に怠け者の福音だ。\nまた彼は、台湾政府のデジタル発展部と彼の会社が「MODA ODF文件應用工具」を開発したことにも触れた。つまり台湾ユーザー向けに設計されたローカライズ版LibreOfficeだ。多くの公的機関ですでに徐々に採用されている。現在はWeb版も出ており、公式サイトから自分でダウンロードしてデプロイできる。私はその場で彼に聞いた。あなたたちの会社はどんな天才的発想で、LibreOfficeを10個の.debファイルに分けて配布しているのか！？私にapt install ./*.debで一括インストールしろというのか？LibreOffice公式サイトでさえそんなことはしていない。何より、このパッケージ方法は見た目がひどい……WPS Officeを見習ってFlatpak版かDockerイメージを提供してくれれば、個人ユーザーにはもっとデプロイしやすいと思う。\nそれから、数年前にSLATのNextcloud Officeを使った時から私は気づいていた。なぜわざわざLibreOfficeの色をWordと同じに染めるのか？今日、ようやく予想通りの答えを得た：公務員が適応しやすいから。はあ。\n最後に、RickがRustの新機能をデモした。zscriptを使い、shell scriptに似たプログラムをcargoでコンパイル実行できるようにするものだ。へえ、これはずっと便利だ。さらに皆にZeroClawをインストールしようと呼びかけていた。これは大幅にdebloatedされたOpenClawで、wasmでSkillを書ける。\n会の後、許仲佑と許家雋を知った。彼らもSLATメンバーだったとは、本当に不思議だ。一生、こんな邪教組織に入っている人を身近で見かけることはないと思っていたのに。\n5日後、許仲佑はLineをインストールできない問題の解決を私に手伝ってほしいと言った。\n私が初めて参加するオフラインInstallFestは、人にLinuxでLineをどうインストールするかを解決するものだったらしい。問題はこうだ：なぜ私のArch Linux ＆ Debian環境では、Bottlesを使ってPC版Line exeを正常にインストールできるのに、彼のLinux PCではさまざまな不思議エラーが出るのか？\nそこで私は原因を探りに出向いた。\n今日、私はスターバックスでこの神人級のDebianユーザーに会った。彼が使っているのはDebian Stableブランチだが、自分でkernelをcompileして最新版カーネルを使っている。すでにKernel 7.0に上げていた。聞けば、20年前からずっとこういう習慣があるという。これは完全にDebianの目的をdefeatしているのでは！？しかし彼のKDEはかなり安定して使えているようで、ノートPCで学校の事務作業を処理できている。もしかしてKernelはそれほど簡単には崩れないのか？Userspaceさえ安定していればいいのか？いや違う……新しいカーネルはsuspendを不安定にしやすいはずだ。\nその後、実際にテストしてみると、彼のDebian PCでは本当にいろいろな不思議エラーが出た。たとえばWineでどのファイルを実行しても、\u0026ldquo;Application could not be started, or no application associated with the specified file. ShellExecuteEx failed: Internal error.\u0026ldquo;というエラーが出る。\nKernelではない。Waylandでもない。では一体何が原因なのか……Flatpak環境は宿主機の影響を受けないはずなのに……。\n二時間試した後、諦めた。私は彼に再インストールをお願いするしかなかった。彼のDebian環境はかなり長く使われており、どのプログラムが設定を動かしたのかわからない。\nその後、彼が自分で仮想マシン内でテストした結果、新規インストールのDebian KDEならLineをインストールできることが証明され、やはり彼のPC環境に問題があることがわかった。\n","date":"2026年3月21日","externalUrl":null,"permalink":"/ja-jp/posts/kalug-2603/","section":"Foss-Issues","summary":" 今日のテーマはlightning talk形式の継続だった。前回から二か月ぶりの集まりだ。\n雄校聯で引き続き学生サークル（迫真）の名義を使い、無料の会場を借りた。\nメモはHackMDに置いてある。\nまずShawnがRedHat OpenShiftの発展見通しを共有し、OKDとOCDの上下流開発関係を説明した。Fedora、CentOS Stream、RHELの関係を整理し、CentOS Streamはそれほど不安定ではないのだとわかった。彼はその位置づけがUbuntu LTSに近いと考えている。CentOS Streamには依然としてメジャーバージョン番号があり、kernelバージョンも固定される。RedHatは今でもCentOS Streamへ修正を送り、オープンソースコミュニティがエラーのテストを手伝う形だからだ。Shawnは、これによってより健全なエコシステムを形成できると考えている。しかし私は、それなら……Ubuntu LTSを使えばいいのでは、と思った。\nついでにFedora CoreOSの利点も紹介された。bootcを大量に採用し、image-based方式でシステムをデプロイする。その中で、時機が熟せば将来的にrpm-ostreeはcomposefsに置き換えられるかもしれないという話が出た。composefsはLinux kernelのerofs機構を有効に活用してシステムファイルを処理できる。しかし私はこう聞きたい。今すでにuBlue Bazziteのようなbootcで実装された製品があり、彼らの最大の問題はユーザーがローカルで手動に.rpmファイルをインストールしにくく、システムイメージを再作成するしかないことだ。これはlocal layeringと呼ばれる。ではcomposefsはこの問題をどう解決するのか？この問題について、私たち二人は満足できる答えを出せなかった。現時点ではこの技術もまだ定型化していない。今後を待つしかない。正直、私はシステムに何か追加パッケージを入れるたび、毎回クラウドで手動buildしたイメージを引っ張ってきてデプロイするなんてやりたくない。\n","title":"KaLuG 2603オープンソース集会メモ","type":"foss-issues"},{"content":"","date":"2026年3月21日","externalUrl":null,"permalink":"/ja-jp/tags/kaohsiung/","section":"Tags","summary":"","title":"Kaohsiung","type":"tags"},{"content":"","date":"2026年3月20日","externalUrl":null,"permalink":"/tags/android-tv/","section":"標籤","summary":"","title":"Android TV","type":"tags"},{"content":"開箱搭載RK3588的電視盒子，將其刷為Linux系統，並測試影片解碼、AI加速能力、玩Steam遊戲。\n2024年我開箱Raspberry Pi 5的時候就有注意到Rockchip推出的RK3588系列產品了。兩者處理器單核性能相當，RK3588在多核計算方面更勝一籌，有8核心8nm製程還有NPU，在開發板當中這是旗艦級的處理器了。可當時因為生態系支援問題我選了樹莓派。\nRK3588的板子我看隨便一個都要五六千～！結果今天花Raspberry Pi Zero的價格就買到了搭載RK3588的電視盒。\n最近有部落格讀者大丙看到我一些關於Linux的Facebook貼文，便向我說要提供RK3588電視盒供研究，因為這東西現階段對他來說沒什麼用了。我稱他為善心人士。原本善心人士說要直接送我。我說，不，我又不是super hacker，不夠格免費收下dev kit。因此就以賤價買下了。感謝他的慷慨饋贈。\n1. 開箱RK3588電視盒 # 下面我簡稱RK3588電視盒。\n這台是貼牌貨，表面上叫RUPA Mini PC RK3588，由中國廣視達(GUANGSHIDA)公司生產，在Amazon販售，大約2024年上市。 用一個簡單的紙盒包裝。 內附一個12V2A的24W充電器，一本像是機翻的英文說明書。 原價150美元，塑膠機身質感不怎麼樣，感覺成本都在處理器上了。\n基本規格：\nRockchip RK3588，4x Cortex-A76 + 4x Cortex-A55 ARM Mali-G610 MP4 GPU 8GB RAM 64GB eMMC USB-A x3 USB-C x1 HDMI x3，8K@60p輸出 這不是開發板，是將RK3588處理器封裝為電視盒的產品。跟Radxa ROCK 5B、Orange Pi 5這類著名產品不一樣，嚴重缺乏社群支援。\n根據善心人士的情報，其實這台RUPA Mini PC RK3588背後規格跟「Mekotronics R58 Mini PC」差不多，所以韌體是通用的。 這個RK3588電視盒系統支援依賴Mekotronics R58 Mini PC提供。原始的電視盒只有一個Android TV 12的系統，內建Play商店，純英文。對我來說沒什麼用處，RK3588性能這麼強當Android電視盒太浪費了，所以得刷成Linux才能發揮更多用處吧。\n這個電視盒的外殼正好提供了一個簡易的伺服器機箱，讓我不用再另外買配件。雖然沒有風扇有點可惜。RK3588高性能也會容易帶來高熱，未來得自行改裝。\n2. RK3588電視盒刷入Linux系統 # 根據Mekotronics R58 firmware download links，這裡的系統有Android、Debian、Buildroot、Armbian (Ubuntu)。這個軟體支援度真的參差不齊，我試了好幾個之後才找到勉強能用的版本。最主要是RK3588的GPU Mali G610的驅動無法開箱即用，也就是沒有包含在Mesa。ARM原廠的Mali驅動是閉源的，需要搭配特定版本的Rockchip Linux kernel與libmali userspace驅動，限定特定的Linux版本才能用，目前看來是kernel 5.1。可以安裝Panfork取得更好驅動支援。然而，一部分的GPU驅動已經開始upstream，加入Mesa，這包括Panfrost和Panthor兩種版本。\n總之，我測試了各種映像檔之後，確認目前最好的版本是這個：R58 mini Armbian with upstream mesa GPU drivers and latest BSP 6 rkr3 kernel映像檔。Linux kernel 6.1，整合了包含上游最新GPU驅動的PPA，包括kisak/kisak-mesa fresh與liujianfeng1994/rockchip-multimedia，不用手動安裝。安裝後可以使用OpenGL與Vulkan程式。\n然後再下載Armbian firmware upgrade tool取得Bootloader檔案rk3588_spl_loader_v1.08.111.bin。裡面還有附刷機步驟的影片呢。\n關於要如何刷入系統呢？這台RK3588電視盒沒有SD卡槽，只有內部eMMC。因此要用專門的開發工具RKDevTool刷入。討人厭的是RKDevTool只有Windows版本。Linux版rkdeveloptool，需要手動編譯，而且只有命令行。所以我只好開啟Windows電腦。\nMekotronics R58 Mini PC官網提供的RKDevTool有問題，在Windows 11會閃退。我到Radaxa網站找了最新版RKDevTool v2.96\n將RK3588電視盒關機。用Type-C線連到電腦。用針插入左邊開機鍵旁邊的Recovery按鈕，按著。再用另外一根針，戳一下右邊Reset。進入Loader Mode。\n開啟RKDevTool，第一個Loader分區選rk3588_spl_loader_v1.08.111.bin，第二個Image分區選要刷入的系統映像.img檔，並勾選強制按地址寫。 點選執行，開始刷入。有時候刷入後重開機會進入Maskrom Mode。這個時候就再刷一次。\n重開機，接上鍵盤滑鼠螢幕，依照畫面設定帳號密碼，連上Wifi，即會進入GNOME桌面。 在系統設定查看目前是使用Wayland，且有顯示GPU型號為Mali，並非軟體渲染(llvmpipe)。 到系統設定關閉自動鎖定，停用自動suspend。\n然後就可以改用SSH遠端登入了。\n3. RK3588效能測試 # 純測試CPU性能，使用Unixbench跑分，多核，得出4433分。 這個分數比Raspberry Pi 5的Broadcom BCM2712多核要高兩倍，畢竟有8核心 (4x Cortex-A76 + 4x Cortex-A55)。若以Android手機處理器來比較，大約是2025年中階機等級。\n另外，確認Linux的GPU驅動有起來之後，播放影片就不是問題了。\n透過rktop程式觀察GPU佔用，或者直接讀取：cat /sys/class/devfreq/fb000000.gpu-panthor/load。\n在Chromium播放4K影片完全無壓力，核心使用率低。但是沒風扇的情況下，電視盒溫度可能會飆到80度。\n順帶一提，想要針對大螢幕設計的Linux版Youtube客戶端，可以用VacuumTube這個Android TV界面的wrapper。 MPV可以使用GPU解碼H.265和AV1影片（原生套件，Flatpak不行） 要大螢幕看串流的話可以用Kodi或Jellyfin，可以用GPU加速影片轉碼。 RK3588有聊勝於無的AI性能，利用NPU加速推理運算。透過rkllama，勉強可以跑4B大小的LLM。不過這個程式bug有點多，再加上我這台的系統不完整。我沒能成功跑起來。\n最後是透過FEX-Emu（將x86轉譯為ARM架構的程式），安裝Steam測試！確認RK3588能夠玩得動輕量的3D遊戲！惟GPU驅動不成熟因此容易卡卡。 我想這個RK3588的電視盒本身是很有潛力的，但就是我前面說的，這個軟體支援度很差勁。只能期望未來更多驅動進入mainline Linux kernel，就不用使用太多downstream patches。\n","date":"2026年3月20日","externalUrl":null,"permalink":"/posts/rupa-rk3588-tv-box-review/","section":"Unboxings","summary":"開箱搭載RK3588的電視盒子，將其刷為Linux系統，並測試影片解碼、AI加速能力、玩Steam遊戲。\n2024年我開箱Raspberry Pi 5的時候就有注意到Rockchip推出的RK3588系列產品了。兩者處理器單核性能相當，RK3588在多核計算方面更勝一籌，有8核心8nm製程還有NPU，在開發板當中這是旗艦級的處理器了。可當時因為生態系支援問題我選了樹莓派。\nRK3588的板子我看隨便一個都要五六千～！結果今天花Raspberry Pi Zero的價格就買到了搭載RK3588的電視盒。\n最近有部落格讀者大丙看到我一些關於Linux的Facebook貼文，便向我說要提供RK3588電視盒供研究，因為這東西現階段對他來說沒什麼用了。我稱他為善心人士。原本善心人士說要直接送我。我說，不，我又不是super hacker，不夠格免費收下dev kit。因此就以賤價買下了。感謝他的慷慨饋贈。\n1. 開箱RK3588電視盒 # 下面我簡稱RK3588電視盒。\n這台是貼牌貨，表面上叫RUPA Mini PC RK3588，由中國廣視達(GUANGSHIDA)公司生產，在Amazon販售，大約2024年上市。 用一個簡單的紙盒包裝。 內附一個12V2A的24W充電器，一本像是機翻的英文說明書。 原價150美元，塑膠機身質感不怎麼樣，感覺成本都在處理器上了。\n基本規格：\nRockchip RK3588，4x Cortex-A76 + 4x Cortex-A55 ARM Mali-G610 MP4 GPU 8GB RAM 64GB eMMC USB-A x3 USB-C x1 HDMI x3，8K@60p輸出 這不是開發板，是將RK3588處理器封裝為電視盒的產品。跟Radxa ROCK 5B、Orange Pi 5這類著名產品不一樣，嚴重缺乏社群支援。\n","title":"RK3588電視盒刷Linux，安裝Mali-G610驅動（Mekotronics R58 Mini PC開箱）","type":"unboxing"},{"content":"","date":"2026年3月20日","externalUrl":null,"permalink":"/tags/rockchip/","section":"標籤","summary":"","title":"Rockchip","type":"tags"},{"content":"「FEX-Emu」是一款開源軟體，它能夠在ARM架構的Linux系統轉譯x86架構的程式，進而執行Steam上的Windows遊戲。 圖例：在ARM架構的Raspberry Pi 5玩Steam的3D遊戲《Alpaca Stacka》 本文討論FEX-Emu的安裝與用法。\n1. Fex-Emu簡介 # 雖然官方Steam客戶端支援Linux系統，並且可以透過Proton轉譯Windows的遊戲，但是目前以x86架構的平台為主。在ARM架構的平台，首先要克服的便是程式架構不相容的問題。大部分Windows遊戲是針對x86架構設計的，因此Proton也得是x86架構版本。x86架構的程式不能直接在ARM架構的系統執行，故，需要一個x86 → ARM指令的轉譯器。\n這就是FEX-Emu的工作。\nFEX-Emu啟動時會掛載自身的一個RootFS，並將x86_64程式轉譯為arm64的行程，目前僅支援在64位元arm64 (aarch64) 的系統執行，不支援32位元armhf系統。不過32位元x86架構的程式依然能夠轉譯執行。\n討論這個專案的時候，常常會跟Box64/Box86專案一同提及吧。根據Box64作者ptitSeb在2022年做的測試，FEX-Emu執行速度比QEMU User快，但是比Box64慢。 我自己測試的時候也是這種感覺，雖然FEX-Emu不斷的在更新，但是到了2026年，樹莓派上的FEX-Emu遊戲玩起來還是比Box64要略卡。\n即使如此，FEX-Emu還是有它的優勢在。\nFex-Emu原理圖如下： 相較Box64，FEX-Emu有自己的RootFS，提供更完整的Linux環境，補齊x86架構程式需要的函式庫。不用像Box64那樣得裝一堆額外套件補驅動，也不需要手動設定chroot隔離環境。\n論FEX-Emu比較有名的應用案例，就是Asahi Linux了。\n讓Apple M1平台能跑Steam大型遊戲的功臣，Fex-Emu就是其中一個組件。AAA gaming on Asahi Linux FEX-Emu作者在高通Snapdragon 8cx平台，演示了玩《俠盜獵車手5》的可能性。\n從2025年Valve開發者的訪談中得知，Valve一直有在贊助FEX-Emu專案的開發，為未來ARM架構的Steam Deck鋪路。參見：Steam Machine today, Steam Phones tomorrow - The Verge\n在Steam Proton 11以上版本，加入了ARM架構的支援，並整合了FEX-Emu。\n此外，既然Box64能移植到Android Termux proot執行，FEX-Emu或許能在Android跑？GitHub已經有一些試驗的專案了。但是FEX-Emu Wiki直接明說了：現階段不可能支援Android，主要還是以Linux為主。\n2. 測試環境 # 因為將x86_64程式轉譯為arm64指令會耗費大量資源，建議使用4核心以上、8GB RAM以上、32GB儲存空間以上、64位元系統的裝置。\nFEX-Emu專案會盡量支援各種開發板，所以沒有限定一定要用樹莓派。然而，有良好的GPU驅動支援乃是重中之重。因此使用支援mainline Linux kernel的主流開發板能獲得最好效果。\n我使用的環境：\nRaspberry Pi 5 Raspberry Pi OS Debian 13 Trixie FEX-Emu 2603 執行前請用指令vulkaninfo --summary，檢查Raspberry Pi的GPU加速有無正常運作。最主要是要看Vulkan與OpenGL是否有正確安裝，有正確安裝GPU驅動應該會顯示V3DV Mesa。若顯示llvmpipe那就是軟體渲染。\n3. 安裝FEX-Emu # FEX-Emu目前僅支援4K Page的系統。使用這個指令檢查目前系統的Page Size： getconf PAGESIZE Raspberry Pi 5應是使用16K Page，故需要調整系統開機參數，改回4K Page。 echo \u0026#39;# 4k pages kernel=kernel8.img \u0026#39;| sudo tee -a /boot/firmware/config.txt 重開機套用變更。執行指令確認已經啟用4K Page，顯示4096： getconf PAGESIZE FEX-Emu作者有提供Python一鍵安裝指令稿，裡面有套件庫可以下載編譯好的套件，並自動裝好依賴，但是僅支援Ubuntu。\n因為我這裡使用Debian，不能用作者的指令稿裝，得參考Wiki手動編譯安裝FEX-Emu。安裝以下依賴套件：\nsudo apt install git cmake ninja-build pkgconf ccache clang llvm lld binfmt-support libssl-dev python3-setuptools g++-x86-64-linux-gnu libgcc-12-dev-i386-cross libgcc-12-dev-amd64-cross nasm python3-clang libstdc++-12-dev-i386-cross libstdc++-12-dev-amd64-cross libstdc++-12-dev-arm64-cross squashfs-tools squashfuse libc-bin libc6-dev-i386-amd64-cross lib32stdc++-12-dev-amd64-cross qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs pkg-config libclang-dev libdrm-dev libxcb-present-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-shm0-dev libxshmfence-dev 複製FEX-Emu原始碼，編譯FEX-Emu git clone --recurse-submodules https://github.com/FEX-Emu/FEX.git cd FEX mkdir Build cd Build CC=clang CXX=clang++ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DUSE_LINKER=lld -DENABLE_LTO=True -DBUILD_TESTS=False -DENABLE_ASSERTIONS=False -G Ninja .. ninja 安裝FEX-Emu sudo make install FEX-Emu可能會跟box64與qemu-user-static衝突，若有的話必須將/etc/binfmt.d/和/usr/lib/binfmt.d/的檔案移除。 update-binfmts --display 向Linux的binfmt服務註冊FEX-Emu，讓系統自動將x86程式交給FEX-Emu轉譯 sudo ninja binfmt_misc sudo systemctl status systemd-binfmt 重開機。 4. 設定FEX-Emu的RootFS # （因為我這邊FEX-Emu是自行編譯的，所以每個指令前面都要加上./路徑）\n執行FEXRootFSFetcher，下載最新版Ubuntu 24.04 x86_64的RootFS到~/.fex-emu。選取Extract選項，解壓縮。 ./FEXRootFSFetcher RootFS裡面的套件將作為FEX-Emu轉譯程式時的依賴，也就是說執行x86架構程式的時候會先從RootFS裡面去找相關的函式庫，但有些檔案並沒有預先安裝。此時可用~/.fex-emu/RootFS的指令稿，chroot進去RootFS，補足中文字體、AppImage libfuse等套件： cd ~/.fex-emu/RootFS/Ubuntu_24_04 # 進入chroot sudo ./unbreak_chroot.sh # 安裝想要的套件 apt update apt install fonts-noto-cjk libfuse2 # 退出chroot exit sudo ./break_chroot.sh 接著執行FEXConfig圖形程式，將Ubuntu的RootFS設定為預設。 5. 執行x86架構的原生Linux程式 # Wiki寫得不清不楚的\u0026hellip;我是看NicoD\u0026rsquo;s SBCs的影片才知道個大概。這裡執行的僅限x86架構的Linux二進位檔，Wine我們下一節再談。\n將要執行的程式放到任意目錄，例如我使用Firefox x86_64的二進位執行檔，下載後將tar.bz檔案解壓縮。\n開啟終端機，用FEXLoader執行，它會進行轉譯，並把x86_64的程式轉化為arm64的行程\nFEXLoader ./firefox-bin 如果有註冊binfmt，那麼直接執行x86程式，系統應該也會自動交給FEX-Emu轉譯 ./firefox-bin 至於FEXBash是用來執行x86程式的封裝指令稿之用的。\n這裡有個問題：既然有RootFS了，我們就chroot進去裝x86版本的程式就好了啊，為何要獨立執行呢？嗯，這就是FEX-Emu設計上讓人困惑的地方，程式究竟該裝在宿主機目錄呢，還是RootFS內呢？我是覺得，單一x86執行檔就放在RootFS外面執行，需要依賴套件管理器的x86程式再用RootFS內部的APT裝。\n6. 用Wine執行Windows程式 # 雖然Debian系發行版支援Multiarch，我們也不要在ARM的宿主機用APT硬裝x86的Wine套件，因為容易遇到依賴地獄問題，且不是所有Linux發行版都能像Debian這樣幹。\nBox64執行Wine的方式是手動下載Wine的二進位執行檔，而非透過APT安裝。然而這種安裝方法十分麻煩，也不利於Winetricks執行。\n那麼，就在Ubuntu的RootFS裡面裝x86版的Wine吧！FEX-Emu作者已經幫我們裝好了，可以直接用。\n不信？執行FEXBash winecfg，Wine界面這不就出來了嗎！ 雖然Wine是裝在RootFS內部的，但WINEPREFIX卻是位於~/.wine\nDXVK似乎沒有安裝的樣子，我們得手動下載安裝DXVK放到對應位置。\n如果要用Wine執行exe：\nFEXBash wine \u0026#34;exe路徑\u0026#34; 7. 執行Steam遊戲 # 關於Steam安裝，FEX-Emu Wiki寫要裝在宿主機，不是RootFS，還說這是一個很複雜的程式，啟動很容易出問題。\n在宿主機，給Debian啟用i386架構支援： sudo dpkg --add-architecture i386 sudo apt update 從Steam官網下載客戶端deb套件，在宿主機Debian直接安裝： wget https://cdn.cloudflare.steamstatic.com/client/installer/steam.deb sudo apt install ./steam.deb Steam的執行檔其實是一個封裝指令稿，故使用FEXBash執行： FEXBash steam 等待Steam自身的依賴裝完。若Steam Client WebHelper崩潰，嘗試停用GPU加速。\n只要Steam開起來後面就不用煩惱了，Steam會自動給Windows遊戲下載Proton。過程參考Linux版Steam使用教學。\n如果Steam一直崩潰，嘗試停用steamwebhelper的GPU加速，或者改用SteamCMD下載遊戲。\nSteam成功開啟之後，Fex-Emu在轉譯執行遊戲的時候會吃掉大量的RAM，8GB RAM都不夠用，可能需要提高SWAP免得程式被Linux系統殺掉。\n8. 測試FEX-Emu的3D加速 # 通過FEXBash執行Wine，確認能使用3D加速。\n比較下二者結果，確認GPU有沒有跑起來\nglxinfo | grep OpenGL → 讀到Broadcom的GPU\nFEXBash glxinfo | grep OpenGL → 讀到llvmpipe\nFEXBash wine \u0026quot;exe路徑\u0026quot; → 讀到Broadcom的GPU\n若FEX的RootFS內部無法使用3D加速，可能得使用ThunkLib。\n參考資料 # FEX-Emu/FEX: A fast usermode x86 and x86-64 emulator for Arm64 Linux - Github Development:Setting up FEX - FEX-Emu Wiki How To Guide - Windows gaming on Linux - XDA NicoD\u0026rsquo;s SBCs - FEX Emu - Another way to run x86/amd64 software on ARM64 - Youtube ","date":"2026年3月20日","externalUrl":null,"permalink":"/posts/fex-emu-raspberry-pi/","section":"所有文章","summary":"「FEX-Emu」是一款開源軟體，它能夠在ARM架構的Linux系統轉譯x86架構的程式，進而執行Steam上的Windows遊戲。 圖例：在ARM架構的Raspberry Pi 5玩Steam的3D遊戲《Alpaca Stacka》 本文討論FEX-Emu的安裝與用法。\n1. Fex-Emu簡介 # 雖然官方Steam客戶端支援Linux系統，並且可以透過Proton轉譯Windows的遊戲，但是目前以x86架構的平台為主。在ARM架構的平台，首先要克服的便是程式架構不相容的問題。大部分Windows遊戲是針對x86架構設計的，因此Proton也得是x86架構版本。x86架構的程式不能直接在ARM架構的系統執行，故，需要一個x86 → ARM指令的轉譯器。\n這就是FEX-Emu的工作。\nFEX-Emu啟動時會掛載自身的一個RootFS，並將x86_64程式轉譯為arm64的行程，目前僅支援在64位元arm64 (aarch64) 的系統執行，不支援32位元armhf系統。不過32位元x86架構的程式依然能夠轉譯執行。\n討論這個專案的時候，常常會跟Box64/Box86專案一同提及吧。根據Box64作者ptitSeb在2022年做的測試，FEX-Emu執行速度比QEMU User快，但是比Box64慢。 我自己測試的時候也是這種感覺，雖然FEX-Emu不斷的在更新，但是到了2026年，樹莓派上的FEX-Emu遊戲玩起來還是比Box64要略卡。\n即使如此，FEX-Emu還是有它的優勢在。\nFex-Emu原理圖如下： 相較Box64，FEX-Emu有自己的RootFS，提供更完整的Linux環境，補齊x86架構程式需要的函式庫。不用像Box64那樣得裝一堆額外套件補驅動，也不需要手動設定chroot隔離環境。\n","title":"FEX-Emu安裝：樹莓派玩Steam Windows遊戲，Linux ARM平台的x86模擬器","type":"posts"},{"content":"","date":"2026年3月20日","externalUrl":null,"permalink":"/tags/raspberry-pi/","section":"標籤","summary":"","title":"Raspberry Pi","type":"tags"},{"content":" 《私はSystemdに汚された：Unixとのエロい邂逅》というこの本は、Systemdがどれほど邪悪なのかを教えてくれる……あるいは、あなたをSystemdの魅力に引き寄せるのか？\n私はSystemdに汚された……Systemd、この新世代のLinux initシステムは、伝統的MISの尊厳を足元に踏みにじる。\n本当にこの本があるんだよ！\nAmazon購入リンク：Savaged by Systemd: an Erotic Unix Encounter by Michael Warren Lucas\nこの紹介文を見るだけで思い浮かぶキャラクターは、『監獄学園』のSキャラ、白木芽衣子だ。\n小説には挿絵がないので、頭の中の幻想図を自分で雑にPして作った。 成人版 1. 小説内容紹介 # あなたはサーバールームにいる。これは平凡な金曜の夜ではない。正直、まったく普通ではない。Terryは典型的な古参Unixシステム管理者だ。彼は潔癖に近いほど繊細な態度で一台一台のサーバーを慈しみ、同時にあらゆる「最新流行のクソ技術」と安全な距離を保っている。サーバーでKDEやGNOMEデスクトップを走らせる？頼むから、冗談はやめてくれ。GUIを使いたい？おとなしくFVWMウィンドウマネージャーへ戻りなさい。清潔で鋭く、無駄話はない。そしてTerryが拒絶する「最新流行」の一つであり、ほぼ全世界がすでに黙って受け入れてしまったものこそ、伝統的initを置き換えると称する存在：Systemdである。そして——Systemdが訪ねてきた。きつすぎる革パンを履いて。そう、これは本当に普通のサーバールームの夜ではない。\n2. 内容大意 # PDF版はネット上で見つけられる。\n主人公はUnix哲学を奉じる中年脂ぎったシステム管理者で、オフィスで仕事を処理している時にSystemdという女と出会う。彼女はフィボナッチ数列の方式でドアをノックし、主人公はようやく彼女を中に入れる。そしてすぐ彼にキスした。\n彼女は彼に魅力の所在を見せ、主人公を自分に服従させる。Systemdをあなたの身体へ入れ、あなたを所有させる。\n彼女は「私はあなたにすべてを与えられる」と言う誘惑者だ。これはSystemdが何でもやりたがる本質を示している。だから、あなたは私の言うことを聞かなければならない！\n「私はずっとすべてを掌握している。もしサービスが落ちたら、私が再起動する！」Systemdは主人公の尻穴を撫でながら、そう言った。\n理性の面では、彼はinitが多くのことをすべきではなく、Systemdは複雑すぎ、侵入性が強いと知っている。しかし感性の面では、彼はSystemdの便利さ、統合性、強大さに誘惑されてしまった。結果、理念的には正しくないとわかっていながら、やはり降伏した。\n「あなたは私を受け入れるだけでいい。私はすべてをより良くしてあげる」Systemdはそう言った。\n主人公は抵抗から依存へ、そして沈迷へ進む。最後にはSystemdに仕えることさえする。\n3. Systemdの論争 # さて、本を読み終え、抜き終わったら、少し真面目な話をしよう。\nこの小説は2017年に出版された。\n2014年、Systemdが登場した。現代化されたinitシステムとして、Redhat主導のもと、各大Linuxディストリビューションへ大規模に普及し始め、伝統的なSysvinitシステムを置き換えた。当時、Linuxユーザーの間で巨大な論争を引き起こした。\n詳細な論争の議論は以下を参照：No systemd - Resources against systemd and alternatives\n主な批判点は、Systemdが管轄範囲を広げすぎており、Unix哲学\u0026quot;Do one thing and do it well\u0026quot;に違反していることだ。Systemdは単純にシステムサービスを管理するプログラムから、プログラムログ、USBの抜き差し、ディスクマウント、crontab、ネットワーク接続まで引き受けるものになった。これは伝統的Unixシステムのやり方と大きく異なり、システム保守の複雑度も増やす。一部の伝統的Linuxユーザーは、サービス管理プログラムは簡単に仕事をうまくこなせばよく、何でもやろうとすべきではないと考えている。\n多くの人がSystemdを気に食わず、OpenRCやUpstartなどの代替案を次々に出し、既存のSysvinitとの互換を続けつつ、複雑にしすぎないよう試みた。\nしかし十年が過ぎた後、SystemdはすでにLinux世界の主流initシステムになった。なぜなら、それは確かに多くのシステム保守の困難さを簡素化し、システム管理を標準化したからだ。今では一部のニッチなLinuxディストリビューションだけが、なお頑強に抵抗している。\n","date":"2026年3月20日","externalUrl":null,"permalink":"/ja-jp/posts/savaged-by-systemd-review/","section":"Foss-Issues","summary":" 《私はSystemdに汚された：Unixとのエロい邂逅》というこの本は、Systemdがどれほど邪悪なのかを教えてくれる……あるいは、あなたをSystemdの魅力に引き寄せるのか？\n私はSystemdに汚された……Systemd、この新世代のLinux initシステムは、伝統的MISの尊厳を足元に踏みにじる。\n本当にこの本があるんだよ！\nAmazon購入リンク：Savaged by Systemd: an Erotic Unix Encounter by Michael Warren Lucas\nこの紹介文を見るだけで思い浮かぶキャラクターは、『監獄学園』のSキャラ、白木芽衣子だ。\n小説には挿絵がないので、頭の中の幻想図を自分で雑にPして作った。 成人版 1. 小説内容紹介 # あなたはサーバールームにいる。これは平凡な金曜の夜ではない。正直、まったく普通ではない。Terryは典型的な古参Unixシステム管理者だ。彼は潔癖に近いほど繊細な態度で一台一台のサーバーを慈しみ、同時にあらゆる「最新流行のクソ技術」と安全な距離を保っている。サーバーでKDEやGNOMEデスクトップを走らせる？頼むから、冗談はやめてくれ。GUIを使いたい？おとなしくFVWMウィンドウマネージャーへ戻りなさい。清潔で鋭く、無駄話はない。そしてTerryが拒絶する「最新流行」の一つであり、ほぼ全世界がすでに黙って受け入れてしまったものこそ、伝統的initを置き換えると称する存在：Systemdである。そして——Systemdが訪ねてきた。きつすぎる革パンを履いて。そう、これは本当に普通のサーバールームの夜ではない。\n","title":"文学作品でSystemd論争を説明する：私はSystemdに汚された","type":"foss-issues"},{"content":"","date":"2026年3月18日","externalUrl":null,"permalink":"/tags/firefox/","section":"標籤","summary":"","title":"Firefox","type":"tags"},{"content":"","date":"2026年3月18日","externalUrl":null,"permalink":"/tags/google-chrome/","section":"標籤","summary":"","title":"Google Chrome","type":"tags"},{"content":"這篇文章我將教學如何使用Bitwarden密碼管理器。\nBitwarden是一個開放原始碼的密碼管理器。 為什麼要用Bitwarden這種專門的密碼管理器呢？過去Ivon儲存密碼主要依賴瀏覽器提供的密碼管理器來儲存網站密碼，例如Chrome就是Google帳號，Firefox就是Mozilla帳號，Edge就是Microsoft帳號，Safari就是Apple帳號。不過這樣會產生一個問題，那就是跨瀏覽器的工作方式不佳。我是會常常在多個瀏覽器之間切換的用戶，所以不想依賴特定瀏覽器來管理密碼。\n另外，除了網站密碼之外，我還有手機APP的密碼需要儲存。這方面過去得手動填寫很麻煩。又，若是依賴Google或Apple的自動填入服務來儲存密碼的話，便會陷入被單一廠商綁住的問題。\n為此，使用專門的密碼管理器乃是有必要的了。比較多個開源方案之後，我認為Bitwarden是一個不錯的密碼管理方案。用它來管理各大網站的密碼，著實減少了我的大腦負擔。 在Firefox瀏覽器使用Bitwarden管理密碼\nBitwarden有如下特色：\n客戶端與伺服端皆是開放原始碼軟體。 在Firefox、Chrome、Edge、Safari、Opera等主流瀏覽器都可以使用，跨瀏覽器同步密碼，自動在需要密碼的地方跳出填入提示框。 提供Linux、Windows、macOS、Android、iOS的APP。 Bitwarden官方提供免費雲端儲存空間。使用上基本免費。你也可以自架同步伺服器，取代官方的伺服器服務。 密碼可以用資料夾分類，並寫上筆記註解。以及設定多種URL變體的對應密碼。 除了儲存網站密碼之外，也可以用來儲存SSH金鑰、Passkey、信用卡號碼等機密資訊。 一鍵匯入其他瀏覽器的密碼本，免手動遷移。同樣地也能夠一鍵匯出Bitwarden密碼本，方便未來搬家。 採用點對點加密技術，就連Bitwarden公司都無法解密你的密碼，讓密碼本難以外洩。 提供隨機密碼產生器，讓你註冊網站的時候更為快捷。 自動偵測線上資料庫外洩事件，並針對受影響的密碼發出警告。 Bitwarden的免費方案我用了好幾年了，跨平台同步很快速，目前沒出過什麼問題。\n1. 安裝Bitwarden # 到Bitwarden官網依照你的系統下載，電腦裝瀏覽器擴充功能(Extension)；手機則是下載APP。\nBitwarden官網由美國公司Bitwarden Inc.所經營。需要註冊一個帳號才能用。單純儲存密碼是免費的，雲端儲存的密碼無上限。要進階的監控密碼外洩服務與上傳圖片附件才要付費。\nBitwarden在電腦上主要透過瀏覽器擴充功能的形式運作。Bitwarden另提供桌面版(Desktop application)，但我覺得是沒有必要裝。因為桌面版也只是Electron的wrapper而已，只能管理密碼。它沒有自動填寫程式密碼的能力。要查看密碼就開瀏覽器就好了，沒有必要安裝Bitwarden Desktop。要全域程式自動填寫密碼，只有在Android和iOS才有用。\n2. 電腦版Bitwarden的操作方式 # Bitwarden在電腦上主要透過瀏覽器擴充功能的形式運作。另外你也可以透過Bitwarden Web Vault檢視密碼庫。\n開啟瀏覽器的Bitwarden擴充功能，登入帳號。\n然後嘗試登入一個網站，登入之後，Bitwarden便會跳出來問你要不要記住密碼。日後要登入這個網站的時候，Bitwarden便會自動顯示你儲存的密碼。 Bitwarden的密碼本逾時是瀏覽器重新啟動，在那之後你就得重打一次帳號密碼才能解鎖密碼本。嫌麻煩的可以設定為「永不過期」或者改用比較短的PIN碼解鎖。 3. 手機版Bitwarden的操作方式 # 在使用之前要先將系統的自動填入修改為Bitwarden。這樣在鍵盤打字的時候才會自動跳出Bitwarden的密碼提示框框。 Android到系統設定 → 搜尋自動填入，修改為Bitwarden。Chromium系瀏覽器可能還要在瀏覽器設定，勾選使用外部自動填入服務。 iOS到系統設定 → 密碼 → 自動填寫密碼，修改為Bitwarden 然後在APP的登入界面，Bitwarden便會顯示在鍵盤上方了。有時候沒顯示的話可能是Bitwarden行程被系統殺掉了，嘗試手動開啟Bitwarden APP再回到輸入密碼的界面。 Bitwarden的密碼本逾時是APP重新啟動。在那之後你就得重打一次帳號密碼才能解鎖密碼本。考慮到Android和iOS會隨機殺背景，因此APP不定時就會重啟。嫌麻煩的可以設定為「永不過期」或者使用指紋認證登入比較方便。\n4. 將現有密碼匯入Bitwarden # Bitwarden支援從各大瀏覽器遷移密碼，這裡以Firefox為例。\n到設定 → 密碼管理員，點選匯出為.csv檔 然後在Bitwarden設定 → 密碼庫選項，點選匯入Chrome密碼。 5. 自架Bitwarden同步伺服器 # 專門給想要獨立自主的用戶準備的方案，不依賴Bitwarden官方的伺服器。也可以作為一個備份密碼的方案。\n參見：自架密碼管理器Bitwarden的伺服器「Vaultwarden」\n","date":"2026年3月18日","externalUrl":null,"permalink":"/posts/bitwarden-usage/","section":"所有文章","summary":"這篇文章我將教學如何使用Bitwarden密碼管理器。\nBitwarden是一個開放原始碼的密碼管理器。 為什麼要用Bitwarden這種專門的密碼管理器呢？過去Ivon儲存密碼主要依賴瀏覽器提供的密碼管理器來儲存網站密碼，例如Chrome就是Google帳號，Firefox就是Mozilla帳號，Edge就是Microsoft帳號，Safari就是Apple帳號。不過這樣會產生一個問題，那就是跨瀏覽器的工作方式不佳。我是會常常在多個瀏覽器之間切換的用戶，所以不想依賴特定瀏覽器來管理密碼。\n另外，除了網站密碼之外，我還有手機APP的密碼需要儲存。這方面過去得手動填寫很麻煩。又，若是依賴Google或Apple的自動填入服務來儲存密碼的話，便會陷入被單一廠商綁住的問題。\n為此，使用專門的密碼管理器乃是有必要的了。比較多個開源方案之後，我認為Bitwarden是一個不錯的密碼管理方案。用它來管理各大網站的密碼，著實減少了我的大腦負擔。 在Firefox瀏覽器使用Bitwarden管理密碼\nBitwarden有如下特色：\n客戶端與伺服端皆是開放原始碼軟體。 在Firefox、Chrome、Edge、Safari、Opera等主流瀏覽器都可以使用，跨瀏覽器同步密碼，自動在需要密碼的地方跳出填入提示框。 提供Linux、Windows、macOS、Android、iOS的APP。 Bitwarden官方提供免費雲端儲存空間。使用上基本免費。你也可以自架同步伺服器，取代官方的伺服器服務。 密碼可以用資料夾分類，並寫上筆記註解。以及設定多種URL變體的對應密碼。 除了儲存網站密碼之外，也可以用來儲存SSH金鑰、Passkey、信用卡號碼等機密資訊。 一鍵匯入其他瀏覽器的密碼本，免手動遷移。同樣地也能夠一鍵匯出Bitwarden密碼本，方便未來搬家。 採用點對點加密技術，就連Bitwarden公司都無法解密你的密碼，讓密碼本難以外洩。 提供隨機密碼產生器，讓你註冊網站的時候更為快捷。 自動偵測線上資料庫外洩事件，並針對受影響的密碼發出警告。 Bitwarden的免費方案我用了好幾年了，跨平台同步很快速，目前沒出過什麼問題。\n","title":"使用開源Bitwarden管理密碼，替代瀏覽器的密碼管理器","type":"posts"},{"content":"尋找一個乾淨簡單的Google Chrome替代品。\n現今，Google Chrome可以說是隱私權殺手，讓使用者處於Google的24小時監控，有沒有可能使用基於Chromium的瀏覽器又保護隱私呢？\nIvon作為偶爾需要使用Google文件服務的用戶，使用Firefox開啟Google網頁問題會很多，畢竟越來越多網站岐視非Chromium和Safari瀏覽器。與其期望這些公司會在意市占率2%（2025年最新統計）的Firefox，最好還是準備一個Chromium系的瀏覽器。\n我不是要強化Chromium對Gecko的monopoly，是真的沒辦法，有時真的得用Chromium系啊。\n如果不想依賴Chrome這種閉源軟體，然後又不要Brave、Edge、Vivaldi那種太多花花綠綠功能的瀏覽器，想走極簡方案(minimalist approach)的話，你有兩個選擇：\nChromium和Ungoogled Chromium。\n共通點 # Chromium和Ungoogled Chromium都是由開源社群維護的軟體，支援Linux、Windows、macOS。他們非商業產品，基於Chromium上游原始碼建置，不保證穩定性。\n預設幾乎沒有什麼功能，適合想要一個簡單乾淨瀏覽器環境的使用者，不想被「自以為是」的開發者所添加的功能干擾。想要更多功能就自行安裝擴充功能就好。\n他們的開箱即用體驗肯定是不如Google Chrome。最大的問題在於，他們不能同步書籤與歷史紀錄。\n我們可以把Google Chrome視作一個微型的作業系統，而登入這個系統的關鍵鑰匙就在於「Google帳號」。Google帳號在Chome的作用不單單是在網頁登入Gmail這麼簡單而已，它還負責同步整個瀏覽器的操作紀錄，讓你能在其他電腦或手機無縫繼續工作。\n視Google生態系如命的人，很難拋棄Chrome瀏覽器。\n不過，對願意適應的人來說，不能登入Google帳號的不便並非是無法忍受。雖說他們不能同步Google帳號，但這個問題可以透過第三方擴充套件解決，例如Floccus同步書籤，Bitwarden同步密碼，我們實在不用把自己綁入Google生態系的泥沼吧。\nChromium簡介 # 下載點：無固定網站，見下。\n從2008年Chromium專案發起便存在的瀏覽器。\n我們知道Google Chrome是基於Chromium開源專案所打造的產品，那麼Chromium就可以視為Google Chrome的上游了。在這裡可以用來實驗最新的Web功能。版本號會略比Google Chrome還要高。\nChromium是很多Linux發行版套件庫都有收的，所謂預設值(sane default)的瀏覽器。\n雖然說Chromium是Google Chrome的上游。然而，Chromium幾乎什麼功能都沒有，就只有一個最簡單的類似Chrome的界面。一些Linux開發者可能會把Chromium的搜尋引擎改成Duckduckgo，如Debian，但也就這樣而已，沒有更多附加功能了。\nChromium沒有Thorium Browser那些有的沒有的優化，基本上就是一切依照預設值。\n要擴充Chromium的功能，有賴使用者自行安裝擴充功能，例如裝uBlock Origin擋廣告。\n因為Chromium是開源專案，並沒有固定的作者。在Windows，有很多獨立的開發者會放出自家編譯的Chromium exe給人用，例如woolyss\u0026rsquo; Chromium builds。至於Linux是依賴開發者打包。依照各Linux發行版打包差異，Chroimum可能不會包含專利H.264解碼器和Widevine DRM。需要使用者手動安裝補齊。\n若是透過Flatpak安裝的話，這裡的Chromium就包含H.264解碼器了。Widevine DRM安裝參閱這個頁面。\nUngoogled Chromium簡介 # 下載點：Github\n2015年由Eloston等人發起的專案。\nUngoogled Chromium功能跟Chromium差不多，但他們把Chromium底層依賴Google雲端服務的程式碼都抽掉，包括Google Host Detector、Google URL Tracker、Google Cloud Messaging、Google Hotwording等等。你不知道原來Chromium連查詢DNS都會偷偷連線到Google伺服器！意即你不開啟Google的網頁，Google還是有辦法追蹤你。Ungoogled Chromium就是把這些可能性都拔掉了。\n當然Ungoogled Chromium也移除了內建的Google搜尋與Chrome安全瀏覽防護。要啟用網址列的Google搜尋，得在設定 → 搜尋引擎裡面自行填入https://www.google.com/search?q=%s的網址。\n他們的這種極端措施，會導致依賴Google登入的擴充功能失效。另外，Ungoogled Chromium預設是不能下載Chrome Web Store的擴充功能的，需要自行安裝Chromium Web Store解決。\n將Chroimium與Google服務徹底脫鉤，這或許可以增加隱私保護。不會讓你無形中被Google監視！\n但要加強保護隱私，還得使用者自行安裝uBlock Origin這類擴充套件加強了。順帶一提，Chromium跟隨上游的指示棄用Manifest V2之後，Ungoogled Chroimim依然繼續支援Manifest V2的擴充功能。\nUngoogled Chromium的開發原則是盡量接近Chromium體驗，不額外添加其他東西。\n在Linux，Ungoogled Chromium可以透過Flatpak安裝，以便取得最新版本。內建H.264解碼器。Widevine DRM安裝參閱這個頁面。\n那麼我會選哪個呢？ # Chromium比較知名，且開發者不太可能放棄維護。\nUngoogled Chromium，專案出來十年了，看起來開發者還沒有棄坑跑路的跡象。\n雖然我很想用Ungoogled Chromium，可是全面封堵Google造成使用不便，沒辦法忍受。\n經過一些手動調整後，Chromium可以正常瀏覽Google文件與Youtube網頁。\n","date":"2026年3月18日","externalUrl":null,"permalink":"/posts/chromium-vs-ungoogled-chromium/","section":"所有文章","summary":"尋找一個乾淨簡單的Google Chrome替代品。\n現今，Google Chrome可以說是隱私權殺手，讓使用者處於Google的24小時監控，有沒有可能使用基於Chromium的瀏覽器又保護隱私呢？\nIvon作為偶爾需要使用Google文件服務的用戶，使用Firefox開啟Google網頁問題會很多，畢竟越來越多網站岐視非Chromium和Safari瀏覽器。與其期望這些公司會在意市占率2%（2025年最新統計）的Firefox，最好還是準備一個Chromium系的瀏覽器。\n我不是要強化Chromium對Gecko的monopoly，是真的沒辦法，有時真的得用Chromium系啊。\n如果不想依賴Chrome這種閉源軟體，然後又不要Brave、Edge、Vivaldi那種太多花花綠綠功能的瀏覽器，想走極簡方案(minimalist approach)的話，你有兩個選擇：\nChromium和Ungoogled Chromium。\n共通點 # Chromium和Ungoogled Chromium都是由開源社群維護的軟體，支援Linux、Windows、macOS。他們非商業產品，基於Chromium上游原始碼建置，不保證穩定性。\n","title":"比較Ungoogled Chromium與Chromim瀏覽器的差別，尋找一個乾淨的Chrome替代品","type":"posts"},{"content":" BazziteはSteamOSを模倣し、すぐ使えるLinuxゲーム体験を実現しようとしている。しかし私は、この種のatomic distroの問題の一つはシステムが肥大化しすぎていることだと思う。これでなおWindows 11から乗り換えてきたユーザーにPC性能が上がったと感じさせるのか？Windows本体がどんな怪物なのかがよくわかる。\nMicrosoftの開発者たちは未来のビジョンに生きていて、目の前の需要を忘れている。自分が最善だと思う設計を実現することばかりに気を取られ、理想を重んじて現実を軽視している。人に軽蔑されても仕方ない。\nここ数年Linuxを使ってきて、今では私は自分で惣菜を取るのが好きなユーザーになったwww package managerを通じて自分で欲しいソフトウェアを入れ、いらないソフトウェアを削除できる。 たぶん私の精神状態はすでに普通の人の範疇から外れている。\nユーザーは自分のシステムを恐れるべきではない。自分で調整できるようになるべきで、他人に押し付けられ、どうすべきかを決められるべきではない。\n私はあの手の\u0026quot;opinionated\u0026quot;なLinux distroがあまり好きではない。DHHのOmarchyをやたら勧める人がいる理由もよくわからない。まさか作者が反wokeだからというだけで名を聞いて行ったのか？それともmacOSっぽい何らかのvibeのせいなのか？あれはHyprlandに作者自身のdotfilesを足した継ぎ接ぎ怪物だぞ。\nBazziteの肥大化は主にプリインストールソフトウェアが多いことにある。カーネルやシステムサービスを詰め込みすぎているわけではない。開発者はゲームプレイヤーが必要とするであろうFlatpakを山ほど事前に詰め込み、さらにujustで始まるscriptを大量に入れ、あなたを馬鹿扱いし、彼らのシステム設計を強制的に飲み込ませる。その横暴さはChromeOSに近い。私はBazziteをインストールしてから今までに、すでに10個以上のパッケージを外した。\nBazziteに対する印象はそこまで悪くない。少なくともdeepinのようなスパイウェアだらけのものではない。しかし私はやはり、自分でconfigureする派なのだろう。\nImmutable distroはシステムデプロイの仕組み上、常に大きな塊を丸ごと渡してくる。ユーザーが自分でシステム構造を変更するのは難しい。私は、GNU/LinuxにはAndroid AOSPのような最良の「デフォルト値」などこれまで存在しなかったと思っている。LineageOSでさえ私には不満点がいくつかある。だから「標準」を名乗るimmutableシステムを作ることに大きな意味はない。特にx86デスクトップPCの場面ではそうだ。私たちにはARMモバイルデバイスほど奇妙なドライバーを合わせる必要がないので、特定のハードウェアへ最適化したシステムを追求する必要は実際ない。\nだから私はDebianやArch Linuxのシステムインストール方式のほうが好きだ。従来版Fedoraも悪くない。ISOインストール後に、自分の好きな惣菜を選べる。彼らは規模も大きく、使っている人も多い。\n私はdebootstrapでISOを自作したり、bootcでシステムをデプロイしたりするのは面倒だ。すべてディストリビューションが提供するISOにあるものに従ってインストールする。システムを組むのが好きなら、なぜGentooを使わないのかと言うかもしれない。私の技術がしょぼすぎるからだ。\n唯一私を制約する可能性があるのは、パッケージの依存関係だ。非Archディストリビューションの依存関係はひどいことがあり、小さなソフトウェアを一つ入れるだけで、他のbloatedなソフトウェアまで引っ張られてくる。ただ、これはまだ我慢できる。\nUbuntuも悪くない。事前に入っているものはちょうどよい。しかしSnapが出てから変質した。サーバーユーザーに有用なものを強く推し、デスクトップユーザーを軽視している。Snapの強推は非難を招いているが、それでもUbuntuは精神状態がまだ正常なシステムである。\nLinux Mintもプリインストールソフトウェアは少なくない。それなのに、なぜ私はBazziteほど肥大化していると感じないのか？彼らはデスクトップユーザーが何を求めているのかをよく理解し、小さな工房の精神で製品をゆっくり彫り上げているからだ。保守的で安定しており、未成熟な新技術を急ごしらえでユーザーに強制するものではない！\nRedditのようなサイトを見てLinuxディストリビューションを選ぶと、一つの誤謬に陥りやすい。それは、いじるのが好きなプレイヤーが推薦するシステムを使ってしまうことだ。私はunpopular opinionを言わなければならない：人にArchを勧めるのは害をなしている。ArchベースのEndeavourOS、Manjaro、CachyOSも同じだ。\n最も重要なのは、Rolling-distro is always a no-go for average Linux users.\n本当にArch Linuxを使いたいなら、源流からシステムの組み方を学ぶべきだ！\nLinuxデスクトップユーザーのコミュニティは、いつもshining new featuresなシステムを追い求める。最初はBazzite、最近はCachyOSだ。boringすぎるUbuntuやMintは好まない。しかし、この種のローリングリリースがもたらす代償が何なのかを考えない。それは終わりなきデバッグなのか。他人より一、二年先に行く快感なのか。\nFedora、Arch、openSUSE TWを試した後、KDEデスクトップと組み合わせるといつも不安定だった。私は思う……うん、私はUbuntuのような安定リリース版でソフトウェアが少し古くても、いつでもminor random breakageと戦うよりはましだ。ローリングリリース版の体験は遊びならいいが、真面目なことをするならやめておいたほうがいい。\n","date":"2026年3月18日","externalUrl":null,"permalink":"/ja-jp/posts/i-prefer-building-my-own-linux-system/","section":"Foss-Issues","summary":" BazziteはSteamOSを模倣し、すぐ使えるLinuxゲーム体験を実現しようとしている。しかし私は、この種のatomic distroの問題の一つはシステムが肥大化しすぎていることだと思う。これでなおWindows 11から乗り換えてきたユーザーにPC性能が上がったと感じさせるのか？Windows本体がどんな怪物なのかがよくわかる。\nMicrosoftの開発者たちは未来のビジョンに生きていて、目の前の需要を忘れている。自分が最善だと思う設計を実現することばかりに気を取られ、理想を重んじて現実を軽視している。人に軽蔑されても仕方ない。\nここ数年Linuxを使ってきて、今では私は自分で惣菜を取るのが好きなユーザーになったwww package managerを通じて自分で欲しいソフトウェアを入れ、いらないソフトウェアを削除できる。 たぶん私の精神状態はすでに普通の人の範疇から外れている。\nユーザーは自分のシステムを恐れるべきではない。自分で調整できるようになるべきで、他人に押し付けられ、どうすべきかを決められるべきではない。\n私はあの手の\"opinionated\"なLinux distroがあまり好きではない。DHHのOmarchyをやたら勧める人がいる理由もよくわからない。まさか作者が反wokeだからというだけで名を聞いて行ったのか？それともmacOSっぽい何らかのvibeのせいなのか？あれはHyprlandに作者自身のdotfilesを足した継ぎ接ぎ怪物だぞ。\n","title":"BazziteとOmarchyには興味がない。私は自分でLinuxシステムを組むほうが好きだ","type":"foss-issues"},{"content":"","date":"2026年3月18日","externalUrl":null,"permalink":"/ja-jp/tags/debian/","section":"Tags","summary":"","title":"Debian","type":"tags"},{"content":"Some Waydroid tips for Linux desktop users.\n這篇是針對Linux的Android容器「Waydroid」所寫的一篇綜合性文章。Waydroid使用的Android系統是基於LineageOS建置的，並與Linux宿主機共用核心。Ivon將會討論一些操作Android常常會遇到的問題。\n請先在Linux系統安裝Waydroid：Ubuntu安裝Waydroid 1. Waydroid的操作邏輯 # 安裝好Waydroid之後，你應該會在Linux桌面的應用程式列表看到Waydroid與各個Android APP的圖示。GNOME會跟一般Linux應用程式混在一起，KDE Plasma則是會專門顯示一個Waydroid的資料夾。 如果點選「Waydroid」圖示，效果等同執行waydroid show-full-ui指令，此時會彈出Android主畫面，能夠存取通知欄，所有的操作都限制在這視窗內。一次只能執行一個APP，就好像在使用平板一樣。 若是點選其他APP圖示（從Linux桌面的圖示啟動，而不是點Android桌面的圖示），則APP會以獨立視窗啟動，分別顯示在Linux桌面的工作列，視窗大小固定。依然一次只能執行一個APP，無法同時執行。切換APP視窗，則另外一個APP會暫停，例如遊戲APP的畫面會凍結，Youtube會停止播放。這些APP無法使用通知欄，且點選返回鍵的話，APP視窗就會自動關閉，但不會完全停止執行。 如果啟用「多視窗模式」的話（啟動方法見下），則Linux桌面的Waydroid圖示會消失，然後從Linux桌面啟動APP就可以調整視窗大小，且能夠同時執行，不會因為切換APP而暫停。當你點選打叉或者返回鍵，APP視窗會關閉，但不會完全停止執行。 Waydroid會同步Android與Linux的剪貼簿，但是你不能在Android APP使用Linux的輸入法打字，需要另外安裝Gboard。\n2. Waydroid的操作指令 # Waydroid執行時的Android系統資料放在~/.local/share/waydroid/data/，系統映像檔位於/var/lib/waydroid，APP圖示位於~/.local/share/applications/\n啟動Waydroid容器服務\nsudo systemctl start waydroid-container 停止Waydroid容器服務\nsudo systemctl stop waydroid-container 如何更新Android系統？用此指令停止容器，並下載最新映像檔：\n# 簡短寫法，下載最新版的映像檔 sudo waydroid upgrade # 更完整的寫法，從官方更新頻道，下載最新版內建GAPPS的映像檔 sudo waydroid init -c https://ota.waydro.id/system -v https://ota.waydro.id/vendor -s GAPPS -f 用指令開啟Waydroid主畫面\nwaydroid show-full-ui 查看系統錯誤訊息\nwaydroid log sudo waydroid logcat Waydroid可以用指令安裝APK\nwaydroid app install \u0026lt;APK檔案路徑\u0026gt;.apk 用以下指令進入Android shell，內建Root權限，能夠執行Android Shell指令。\nsudo waydroid shell Wyadroid啟動後會自動開啟ADB偵錯，可以從Linux宿主機啟動ADB與其配對。IP位址可以在Androi系統設定 → 關於手機找到。\nadb connect Waydroid的IP:5555 adb devices 如何開啟開發人員選項？開啟Android系統設定 → 關於手機 → 版本號碼，點五下。之後Android系統設定 → 系統就會出現開發人員選項。\n3. 將Waydroid語言改成中文 # 在Android的界面開啟Settings → System → Languages，加入中文，並將滑桿拉到最上面。 Android的時間應該會在調整語言之後，自動依照時區和網路時間同步。\n4. 解決Waydroid沒有網路 # 請嘗試開放防火牆通訊埠，依照發行版不同防火牆也不同，可能有Firewalld、UFW、iptables等等。\nUbuntu的UFW指令：\nsudo ufw allow 53 sudo ufw allow 67 sudo ufw default allow FORWARD sudo ufw reload Fedora的Firewalld指令：\nsudo firewall-cmd --zone=trusted --add-interface=waydroid0 --permanent 再重新啟動Waydroid：\nsudo systemctl restart waydroid-container 如果還是不行，可能是Waydroid跟Docker網路衝突。我們沒有必要關閉Docker，只要修改Waydroid網路設定檔：\nsudo vim /usr/lib/waydroid/data/scripts/waydroid-net.sh 關閉LXC_USE_NFT：\nLXC_USE_NFT=\u0026#34;false\u0026#34; 再重新啟動Waydroid應該就可以了。\nsudo systemctl restart waydroid-container 5. Google Play商店裝置註冊 # Waydroid基於LineageOS建置，你應該在安裝Waydroid的時候就下載了內建GMS服務的映像檔。但是第三方ROM不向Google註冊裝置的話，是無法存取Google Play商店的。 進入Android的shell sudo waydroid shell 執行以下指令，會迸出一長串代碼，即GMS的裝置ID。如果沒有輸出，請確認Waydroid是否有正常連上網路。 ANDROID_RUNTIME_ROOT=/apex/com.android.runtime ANDROID_DATA=/data ANDROID_TZDATA_ROOT=/apex/com.android.tzdata ANDROID_I18N_ROOT=/apex/com.android.i18n sqlite3 /data/data/com.google.android.gsf/databases/gservices.db \u0026#34;select * from main where name = \\\u0026#34;android_id\\\u0026#34;;\u0026#34; 到Google裝置註冊，填入該代碼\n等30分鐘後，重新啟動Waydroid，就可以使用Play商店了。\nsudo systemctl restart waydroid-container 6. 安裝ARM轉譯器解決APP閃退問題 # ARM架構的電腦可以跳過此步驟。\n鑑於大多數電腦都是x86架構，而許多手遊只提供ARM架構的APK，因此需要一個將ARM指令翻譯成x86的指令的軟體。\n如何確認APP只有ARM架構？預設沒有ARM轉譯器的情況下，Google Play可能不會顯示特定APP。或者在安裝APK後，透過Package Manager查看這個APP是否含有/lib/x86_64的函式庫，如果只有ARM，那麼開起來會閃退。需要安裝ARM轉譯器。 目前ARM轉譯器有Intel研發的「libhoudini」和Google研發的「libndk」，都是專有軟體。根據Arch Wiki資料，libhoudini適合Intel CPU使用，而libndk適合AMD CPU使用，有針對處理器性能優化。可能有的APP可以在其中一個運作，另一個卻不行，需要多方測試。請注意不要同時安裝兩個ARM轉譯器。要安裝另外一個的時候，你應該執行下述的指令稿，選取Remove舊的再安裝新的轉譯器。\n取得casualsnek製作的指令稿，安裝依賴套件。 sudo apt install lzip cd ~ git clone https://github.com/casualsnek/waydroid_script cd waydroid_script python3 -m venv venv venv/bin/pip install -r requirements.txt cd ~/waydroid_script 執行指令稿，用空白鍵選取libhoudini或者libndk，然後Enter安裝，安裝ARM轉譯器。ARM轉譯器嚴格對應Android版本，不可以跨版本混用。 sudo venv/bin/python3 main.py 重啟Waydroid sudo systemctl restart waydroid-container 有時候Google Play可能還是不會顯示x86架構以外的應用程式，為此您需要到ApkMirror找ARM架構的APK來裝，看能否正常開啟。\n如果ARM轉譯器執行特定APP有問題，嘗試到Waydroid的Github issue回報，看看有沒有社群製作的patch能用。例如針對《蔚藍檔案》遊戲，有玩家製作了這個指令稿修復登入崩潰的問題。\n更新Waydroid系統之後可能需要重裝ARM轉譯器。\n7. 開啟多視窗模式 # 多視窗模式 (multi window mode) 對需要直向使用的APP很有幫助，也能讓多個APP同時執行。\n用以下指令設定為true，讓Waydroid開啟多視窗模式，允許在同一個畫面執行多個APP。 waydroid prop set persist.waydroid.multi_windows true sudo systemctl restart waydroid-container 建議在Android開發人員選項開啟「允許自由形式視窗」。\n之後Linux應用程式選單的Waydroid圖示就會消失（仍可透過waydroid show-full-ui指令開啟Android主畫面），只剩下APP圖示。\nAPP開啟後，會變得好像Linux的原生應用程式一般，能夠自由調整視窗大小。 有些APP可能依然會以全螢幕啟動，需要按F11切換視窗模式，再按一次F11進入全螢幕。\n若有APP進入全螢幕模式，則其他APP會暫停，就無法同時執行二個以上APP了，最好維持視窗化。\n因為在多視窗模式下無法使用Android的多工界面，所以要完全中止APP執行，只能開啟Android Settings → 應用程式，強制停止APP。 個人覺得Android 13的視窗管理不完善，有些APP縮放後會壞掉，或者根本無法縮放。覺得出問題的話就把這功能關掉：\nwaydroid prop set persist.waydroid.multi_windows false sudo systemctl restart waydroid-container 另外，Android也有內建「自由形式」視窗功能，從多工畫面啟動，這會讓APP只在Waydroid的視窗內自由縮放。 8. 多開APP，同時執行多個APP # Waydroid設計上沒辦法開啟多個實例 (instances) ，所以不能一個APP同時登入二個帳號達成多開。但是你可以透過Shelter的工作設定檔功能，在一個Android系統雙開APP。\n依照Waydroid設計，APK安裝之後會在Linux桌面的應用程式列表顯示各個Android APP的圖示，點這裡啟動就能夠執行多個APP。但是得開啟「多視窗模式」，才能「同時」執行二個以上APP。\n如果多視窗模式下，有APP不願意視窗化，堅持全螢幕該怎麼辦？善用桌面環境的虛擬桌面。GNOME、KDE Plasma、Hyprland、COSMIC都有虛擬桌面 (virtual desktop，或稱workspace) 的功能，如果APP啟動會佔滿目前虛擬桌面的整個畫面，要使用另一個APP就是切換到下一個虛擬桌面再啟動。每個工作區就能分別執行各自的APP。 9. Linux與Waydroid共享檔案 # Waydroid啟動後的資料位於~/.local/share/waydroid/data/media/0/目錄。這裡是Android的內部儲存空間，需要Root權限才能存取。\n如果使用KDE Dolphin檔案管理器6.0以上版本進入，可以申請Root權限強制讀取Android的檔案。 或者，使用掛載一般權限目錄的方式來存取檔案。為了不影響其他檔案，我建議在兩邊新增一個專門用於共享的資料夾WaydroidShared。使用mount指令，將Linux的~/WaydroidShared掛載到Waydroid裡面的WaydroidShared資料夾：\nsudo mount --bind ~/WaydroidShared ~/.local/share/waydroid/data/media/0/WaydroidShared sudo chmod -R 777 ~/.local/share/waydroid/data/media/0/WaydroidShared 您也可以用ADB指令無線傳輸檔案。Waydroid的IP到Android系統設定 → 關於查看。\nadb connect Waydroid的IP:5555 adb push \u0026#34;本機目錄\u0026#34; \u0026#34;Android的目錄\u0026#34; 或者使用STFP。Linux宿主機有安裝Avahi服務的話，是可以透過hostname.local取代IP連線的，這樣不論IP怎麼變化都連得上。\n那麼，只要在Android端安裝Material Files，就可以打hostname.local登入到Linux宿主機SSH伺服器瀏覽檔案。\n10. APP模擬Wifi連線 # （註：此功能在Android 13之後已經失效）\n部份APP會要求開啟Wifi才能下載，不然會以為你只有行動數據，那麼就如它所願，開啟fake wifi。\n使用waydroid app list指令，查看APP的套件名稱。\n使用以下語法設定：\nwaydroid prop set persist.waydroid.fake_wifi \u0026#34;套件名稱\u0026#34; 例如給Mihon漫畫閱讀器開啟模擬Wifi，並在該APP設定開啟允許非Wifi下載，然後重新啟動容器：\nwaydroid prop set persist.waydroid.fake_wifi \u0026#34;app.mihon\u0026#34; sudo systemctl restart waydroid-container 11. APP模擬觸控點擊 # 使用waydroid app list指令，用於查看APP的套件名稱。\n有些APP認不到滑鼠點擊，需要啟用fake touch：\nwaydroid prop set persist.waydroid.fake_touch \u0026#34;套件名稱\u0026#34; 例如給Fate/Go遊戲開啟模擬觸控，然後重新啟動容器：\nwaydroid prop set persist.waydroid.fake_touch \u0026#34;com.aniplex.fategrandorder\u0026#34; sudo systemctl restart waydroid-container 如果APP開啟模擬觸控之後還是無法點選，請考慮使用其他方案，譬如：搭配Scrcpy操作Waydroid\n另外，想要使用電腦鍵盤模擬觸控操作，請安裝Waydroid Helper。\n12. 強制旋轉APP螢幕方向 # 安裝Rotation Control這類APP，即可強制調整Waydroid螢幕方向。 Waydroid可能無法調整成直向螢幕解析度，除非你使用可以旋轉螢幕的Linux平板。\n要直向使用APP，建議啟用「多視窗模式」，或者：搭配Scrcpy操作Waydroid\n13. 調整APP音量 # 開啟Android系統設定 → 音訊，調整音量。\n實體鍵無法控制Android容器內的音量，所以得另外安裝調整音量的APP。放在Android桌面當作小工具，或者是用Sound Quick Settings，新增一個音量調整按鈕到Android通知欄。\nLinux桌面的音量控制面板可以單獨將Waydroid的輸出靜音，譬如pavucontrol。 另外，Waydroid可以存取Linux的麥克風，Android APP應該能夠正常錄製音效。麥克風音量同樣能夠從pavucontrol控制面板調整。\n若有多個APP在執行，要單獨將特定APP靜音的話，建議使用ShizuTools的MixedAudio功能。\n14. APP截圖 # Android的多工畫面有單個APP的截圖按紐。\nLinux端沒有快捷鍵能夠觸發Android硬體鍵的截圖，所以就用Linux端的截圖軟體吧。\n或者，安裝Screenshot Tile，Android的通知欄就會多出一個原生截圖按鈕。 15. 防止APP偵測到Root或模擬器導致閃退 # 有時候APP不給安裝或閃退，不是因為ARM轉譯的問題，而是APP認為你的裝置不安全。\nWaydroid的Play Integrity API等級連最基本的都無法通過，因此部份APP會拒絕執行。\n此外需要DRM的APP也會無法播放。\n這種解法就比較複雜，看是要安裝Magisk來隱藏Root，亦或是偽裝機型。參見：Waydroid躲避Root偵測 ＆ 安裝Magisk與LSPosed\n16. 隱藏Linux桌面的Waydroid APP圖示 # GNOME桌面的用戶會有這種困擾，Android APP與Linux程式的圖示混在一起導致混亂。\nWaydroid的Android APP圖示位於~/.local/share/applications/waydroid.*，它是將Android APP以Linux的Desktop Entry顯示。 那麼，只要定期執行指令，將他們設定為不要顯示在桌面就好（參考）。\nsed -si \u0026#39;/Actions=app_settings/a NoDisplay=true\u0026#39; ~/.local/share/applications/waydroid.*.desktop 17. 在X11桌面啟動Waydroid # 如果不方便使用Wayland工作階段，就用巢狀Wayland工作階段解決。\n參見：在Linux X11桌面用Weston啟動Waydroid，不依賴Wayland協定桌面\n18. Nvidia顯示卡以軟體渲染強制啟動Waydroid # 撰文當下Nvidia閉源驅動版本575，Waydroid只支援Intel與AMD的顯示卡，不支援Nvidia。如果硬要在Nvidia顯示卡跑的話就只能改用軟體渲染啟動Waydroid。此模式下無效能可言，無法玩遊戲。\n註解：有人做了一個waydroid-choose-gpu.sh指令稿能夠選取Waydroid使用的GPU，似乎能解決Nvidia + Intel配置的顯示卡問題，在Nvidia作為主顯示卡的情況下強制使用Intel顯示卡渲染，但因為Waydroid需要桌面合成器協助，執行時使用的GPU必須跟桌面合成器是同一個，因此這個指令稿似乎只在Intel + AMD的配置有效。\n初始化Waydroid sudo waydroid init -s GAPPS -f 編輯設定檔 sudo vim /var/lib/waydroid/waydroid.cfg 填入以下內容，啟用SwiftShader [properties] ro.hardware.gralloc=default ro.hardware.egl=swiftshader 套用變更 waydroid upgrade --offline 重新啟動Waydroid sudo systemctl restart waydroid-container 19. 升級或降級Waydroid系統版本 # 可以使用Custom Image機制來升級或者降級Android系統版本。\n到SourceForge下載過去版本的system和vendor映像檔\n將映像檔解壓縮，移動到指定位置\nsudo mkdir -p /etc/waydroid-extra/images sudo unzip lineage-*-system.zip -d /etc/waydroid-extra/images sudo unzip lineage-*-vendor.zip -d /etc/waydroid-extra/images rm lineage-*-system.zip lineage-*-vendor.zip 重新初始化Waydroid： sudo waydroid init -f 重開機。啟動Waydroid。到系統設定 → 關於手機，確認版本是否變更成功。 參考資料 # Waydroid官方文件 Waydroid - Arch Wiki 回報bug請到Waydroid的Github儲存庫 ","date":"2026年3月16日","externalUrl":null,"permalink":"/posts/waydroid-tips/","section":"所有文章","summary":"Some Waydroid tips for Linux desktop users.\n這篇是針對Linux的Android容器「Waydroid」所寫的一篇綜合性文章。Waydroid使用的Android系統是基於LineageOS建置的，並與Linux宿主機共用核心。Ivon將會討論一些操作Android常常會遇到的問題。\n請先在Linux系統安裝Waydroid：Ubuntu安裝Waydroid 1. Waydroid的操作邏輯 # 安裝好Waydroid之後，你應該會在Linux桌面的應用程式列表看到Waydroid與各個Android APP的圖示。GNOME會跟一般Linux應用程式混在一起，KDE Plasma則是會專門顯示一個Waydroid的資料夾。 如果點選「Waydroid」圖示，效果等同執行waydroid show-full-ui指令，此時會彈出Android主畫面，能夠存取通知欄，所有的操作都限制在這視窗內。一次只能執行一個APP，就好像在使用平板一樣。 若是點選其他APP圖示（從Linux桌面的圖示啟動，而不是點Android桌面的圖示），則APP會以獨立視窗啟動，分別顯示在Linux桌面的工作列，視窗大小固定。依然一次只能執行一個APP，無法同時執行。切換APP視窗，則另外一個APP會暫停，例如遊戲APP的畫面會凍結，Youtube會停止播放。這些APP無法使用通知欄，且點選返回鍵的話，APP視窗就會自動關閉，但不會完全停止執行。 ","title":"Waydroid使用技巧：解決沒網路、觸控沒反應、註冊Play商店、安裝ARM轉譯器","type":"posts"},{"content":"Dual-boot (kind of) Linux and Android on a tablet.\n我想我找到在Surface Go 2平板跑Linux + Android雙系統平板的操作方式了。不完美但起碼能用。\n之前寫過Waydroid only session用法，這算是改進版。\n1. 預期效果 # Linux允許在一個系統安裝多個桌面環境。GNOME是適合筆電與平板的重型桌面，Phosh則是適合手機與平板的輕量桌面。Waydroid是透過LXC容器在Linux跑Android APP的技術，非虛擬機，資源佔用低。將他們結合使用便有了以下效果。\n用GNOME + Phosh + Waydroid可以達成在一個系統混合Linux + Android雙系統（偽）的體驗，又不用真的安裝到不同分區搞雙重開機。這樣的話我們的Surface Go 2就能物盡其用了。\n簡單來說就是，當我需要鍵盤滑鼠操作的電腦模式的時候就進入GNOME桌面。 當我要純觸控模式跑Android電子書APP的時候就進入Phosh桌面，啟動Waydroid進入Android桌面。 Phosh界面元素佔據畫面極小，讓Waydroid的Android APP能以幾乎全螢幕執行。 以上的操作，透過GDM界面切換。不用重開機，也不用在一個硬碟上安裝雙系統，不用煩惱GRUB引導的問題。 我想Pine64 PinePhone和Purism Librem 5 的用戶應該也是這樣操作的吧。\n為什麼不直接在GNOME開Waydroid呢？因為GNOME太吃資源了，尤其對Surface Go 2來說，有一半RAM都被桌面吃掉了，剩餘地跑Android資源吃緊。Phosh的Wayland合成器資源佔用極低（不到512MB RAM），且UI佔據螢幕比例很低，一個程式一個視窗最大化。又Waydroid的視窗畫布大小是根據目前螢幕可用像素決定的，於是Phosh這個桌面便很適合全螢幕跑Waydroid，將Linux平板暫時變成Android平板又不會被桌面環境干擾。\n在需要的時候於GDM切換進入Phosh就行。而且Waydroid的通知現在會跟Phosh和GNOME同步了。當然更精簡的Wayland合成器還有Sway這種的，但那要自定義dotfile太麻煩了。用Phosh就有現成可用的方案了。\n當然，Phosh不是只能用來跑Android APP，它也是能用來跑那些專為觸控螢幕設計的Linux程式的。\n2. 測試環境 # Microsoft Surface Go 2 (Intel Pentium 4425y / 4G / 64G) Debian Linux 13 GNOME 48 Phosh 0.46 Waydroid Android 13 3. Linux端的設定 # 在Debian安裝GNOME桌面\n確認顯示管理器是GDM\nsudo systemctl status display-manager 安裝Phosh桌面 sudo apt install phosh phosh-mobile-settings 因為Phosh的bug，可能要在~/.profile加入以下內容，防止從Phosh切換回GNOME的時候視窗按鍵消失 if [[ \u0026#34;$XDG_CURRENT_DESKTOP\u0026#34; == *\u0026#34;GNOME\u0026#34;* ]]; then gsettings set \u0026#34;org.gnome.desktop.wm.preferences\u0026#34; button-layout \u0026#34;appmenu:minimize,maximize,close\u0026#34; fi 重開機，在GDM的登入畫面輸入密碼，右下角可以看到登入GNOME或Phosh的按鈕。\n登入Phosh，從螢幕上方滑下來，看狀態欄，確認裝置自動旋轉（通常是透過iio-sensor-proxy控制）有無正常運作。 在Phosh狀態欄關閉Docked模式。才可以長按螢幕底部藥丸條叫出螢幕小鍵盤。\n開啟Phosh Mobile Settings，允許從Phosh的狀態欄選單讓Linux進入睡眠模式(suspend)。另外這裡也可以開啟在狀態欄顯示Caffeine按鈕，可以讓Linux不會自動進入睡眠（Waydroid的螢幕開關無效） 4. Waydroid端的設定 # 在Debian安裝Waydroid\n如果不擔心手勢衝突的話，到Android系統設定，修改為手勢滑動操作。\n在Android安裝閉源的Rotation Control，這可以強制旋轉螢幕方向\n安裝 Sound Quick Settings ，在Android快速設定選單加入音量鍵。因為Waydroid無法透過實體鍵調整音量\n之後，在Phosh桌面啟動Waydroid之前，需要先將裝置弄直。因為橫向模式會導致Waydroid的視窗被Phosh切割為長條狀。\n螢幕旋轉為直的之後，下拉Phosh狀態欄，關閉自動旋轉。因為Waydroid不會跟著Phosh螢幕自動旋轉，若螢幕旋轉Waydroid的畫面會被切掉。再啟動Waydroid。\n除了螢幕和音量之外，大部分操作就都在Waydroid的視窗裡面完成了。\nWaydroid的主視窗可以隨時關閉，Android程式會繼續在Linux背景執行。\n大多數情況下，Waydroid的Android程式應該要跟著Linux系統一同suspend（從Phosh的狀態欄界面點選睡眠），重新喚醒螢幕後應該會見到的是Phosh的鎖定畫面，否則就是沒有睡眠。少部份時候Linux會因為Waydroid吃掉太多RAM和SWAP導致醒不過來。但我有另外啟用zSWAP應該不至於那麼快用完記憶體。 如果Waydroid導致Linux無法suspend，嘗試：\nwaydroid prop set waydroid.suspend false waydroid prop set waydroid.no_suspend true sudo systemctl restart waydroid-container 另外，通常Phosh登出目前的工作階段，退回到GDM的時候，是會導致Waydroid一同被中止執行的。因此要同時執行GNOME和Waydroid的話，還是直接在GNOME啟動Waydroid較好。\n如果多次重啟Waydroid服務可能會導致Linux系統整個當掉，變成要強制重開。因此沒事就讓Waydroid維持在背景執行就好。\n","date":"2026年3月16日","externalUrl":null,"permalink":"/posts/switch-between-linux-and-waydroid-on-a-linux-tablet/","section":"所有文章","summary":"Dual-boot (kind of) Linux and Android on a tablet.\n我想我找到在Surface Go 2平板跑Linux + Android雙系統平板的操作方式了。不完美但起碼能用。\n之前寫過Waydroid only session用法，這算是改進版。\n1. 預期效果 # Linux允許在一個系統安裝多個桌面環境。GNOME是適合筆電與平板的重型桌面，Phosh則是適合手機與平板的輕量桌面。Waydroid是透過LXC容器在Linux跑Android APP的技術，非虛擬機，資源佔用低。將他們結合使用便有了以下效果。\n用GNOME + Phosh + Waydroid可以達成在一個系統混合Linux + Android雙系統（偽）的體驗，又不用真的安裝到不同分區搞雙重開機。這樣的話我們的Surface Go 2就能物盡其用了。\n簡單來說就是，當我需要鍵盤滑鼠操作的電腦模式的時候就進入GNOME桌面。 當我要純觸控模式跑Android電子書APP的時候就進入Phosh桌面，啟動Waydroid進入Android桌面。 Phosh界面元素佔據畫面極小，讓Waydroid的Android APP能以幾乎全螢幕執行。 以上的操作，透過GDM界面切換。不用重開機，也不用在一個硬碟上安裝雙系統，不用煩惱GRUB引導的問題。 ","title":"Linux + Android雙系統平板（偽）的安裝設定過程","type":"posts"},{"content":"Android以外的Linux行動作業系統情報，包括：postmarketOS、Ubuntu Touch、Mobian、Droidian、Arch Linux ARM、Manjaro ARM、Fedora Mobility、openSUSE AArch64、SailfishOS、LuneOS、Maemo Leste。\n","date":"2026年3月16日","externalUrl":null,"permalink":"/categories/%E7%9C%9Flinux%E6%89%8B%E6%A9%9F/","section":"分類","summary":"Android以外的Linux行動作業系統情報，包括：postmarketOS、Ubuntu Touch、Mobian、Droidian、Arch Linux ARM、Manjaro ARM、Fedora Mobility、openSUSE AArch64、SailfishOS、LuneOS、Maemo Leste。\n","title":"真Linux手機","type":"categories"},{"content":"","date":"2026年3月16日","externalUrl":null,"permalink":"/tags/asus/","section":"標籤","summary":"","title":"Asus","type":"tags"},{"content":"「這台電腦的C槽在哪裡？」\n「家目錄就是C槽。」\n這是用Linux復活老ASUS筆電計畫，所產生的對話。\n2022年，我在海德沃福花5000元撿回來這台筆電。丟給家人用。他在上面貼了furry活動的貼紙。 但是他嫌效能太爛了，只能拿來文書，或是跑遠端桌面。後面買新電腦後就棄置在櫃子裡吃灰了。現在我那年邁的父母需要一台能上網的電腦，因此又把這台挖出來使用。\n我在還原系統的時候考慮到這台規格不太行，不論執行Windows 10還是Windows 11必定卡爆，因此我半強迫的給父母推坑了Linux系統。 究竟結果會如何！？\n1. Linux對ASUS VivoBook的支援度 # 具體型號是：ASUS VivoBook 15 X542UQ\n2017年上市，定價NT$28,900元。我2022年撿回來只花了5000元。\n規格：Intel i5-8250U / Nvidia 940MX / 4GB DDR4 / 120GB SSD / 1TB HDD\n這台筆電很老了，Linux上游驅動有的應該都有了。\n除了風扇之外，硬體驅動開箱即用。 這筆電看起來蠻大台的，雖然號稱15吋，但只是螢幕大小。因為邊框太厚所以看起來像17吋筆電。 也因為如此吧，鍵盤是完整電腦鍵盤，有獨立數字鍵！嗚，抱起來很重，原來那麼重的原因是因為裡面一顆SSD + HDD，這種2.5吋的HDD已經成為時代眼淚了！這台筆電甚至有預留光碟機的位置。\n最大問題是，當初我2022年買來的時候沒怎麼測試就丟給家人了。實際上手使用才發現，這到底三小螢幕，一片死白！螢幕甚至不是IPS，是TN面板，從側邊看就會色偏，整體藍藍的偏白，大概NTSC 45%的程度。\n這台好處大概就喇叭不錯聽，很大聲又不會破音，接近桌上型喇叭的水準。\n雖然只有4GB RAM，普通使用瀏覽器很容易一半程式都在SWAP，Intel i5-8250U的效能還是很夠用，開啟瀏覽器和切換視窗都不會卡頓。\n要是加一條RAM提升到8G，到現在依然完全夠的耶。這台後蓋還是可以輕鬆打開更換RAM的。 2. 安裝Linux系統 # 既然要給長輩用\u0026hellip;原本想說用Arch Linux（？）或Linux Mint，不過我最終選定比較潮的Fedora，搭載KDE Plasma桌面，將UI和字體放大125%比較容易。這台電腦沒有爛到KDE都跑不動吧。\n我想雖然Fedora每個版本支援期限只有一年，但我偶爾有空還是能夠協助維護更新一下電腦系統的吧。Fedora Atomic的版本也是可以考慮，方便回復系統，不過我還是比較喜歡傳統的DNF安裝模式。畢竟一般用戶也不會用到指令安裝軟體吧。\n參見Fedora安裝教學\n安裝系統之後，用DNF把解碼器和驅動裝一裝。並用Flatpak安裝桌面軟體。\n我事先安裝好Chrome + uBlock Origin Lite擋廣告、LibreOffice、FreeCAD、VLC等常用軟體。大部分透過Flatpak部署。\n為了防止使用干擾，我關掉了Linux系統的自動更新。Linux長期不更新也不會怎樣啦，只要Flatpak的自動更新開著就好。\n在Fcitx5設定，將新酷音調整為直列候選字，使之打字體驗接近微軟注音。\n3. 安裝Nvidia驅動 # 這台筆電Nvidia 940MX，2GB VRAM，屬於Maxwell架構，GTX900系列。最高可以裝到580版本驅動，對Wayland支援度還行。\n以Fedora來說，便是從RPM Fusion安裝驅動。\n開機預設用內顯，可以用NVIDIA PRIME切換獨顯計算。\n玩遊戲沒什麼好測的，這張獨顯有跟沒有一樣，只夠玩720p遊戲和加速一些2D繪圖算繪，除此之外，單純來浪費電的。\n4. 用AFC控制風扇轉速 # 風扇有轉動，代表Linux kernel支援ASUS風扇。\n透過第三方開發的ASUS Fan Control細調轉速。這個需要透過GitPack安裝。它依賴acpi_call這個核心模組，同樣要用GitPack安裝。\n除此之外，還有一個afc_gui，可以調整轉速。 安裝之後，KDE會多出一個限制充電上限的選單，設定不要充電到100%，防止電池過度衰退。 因為這台筆電的電池衰退很多了，即使裝Linux，也大概2小時就沒電了。\n5. 實際使用的感想 # 成功給年邁父母推坑Linux系統，而且他們不排斥的樣子。\n對象：在南部傳產繪製CAD的老員工，需要一台電腦可以看Youtube和偶爾開Office檔案。\n剛裝完系統他問我第一個問題就是：C槽在哪裡？我打開檔案總管跟他說，這個『家目錄』就是C槽（是這樣沒錯但不是這樣.jpg，總不能說是/dev/sda吧）\n幾年前在海德沃福花5000元撿到的ASUS筆電，10年前生產的，搭載i5-8250U處理器與Nvidia 940MX顯卡，中間曾經給一位家人用，安裝Windows 10，被貼上furry的貼紙。現在要重新利用。原本要在這台電腦安裝最新版Windows 11，可是看看它只有4GB RAM\u0026hellip;我不如趁機推坑Linux吧。\n裝完Linux，設定完常用軟體之後，教個5分鐘，老人家很快就上手了。KDE Plasma桌面真好用。\n為了迎合老人家的喜好，我將桌布設定為氣功大師。\n我自己實測下來，雖然日常瀏覽的時候一半程式都跑在SWAP裡，但基本上網是順的。未來再買一條RAM加上去應該就不會卡了。\n這台電腦應該能穩穩地給老人家用吧\u0026hellip;\u0026hellip;我想說要不要在系統留個遠端登入的後門好讓我能夠遠端SSH或者Rustdesk回去協助debug。不過就先觀察看看。但願KDE不要因為使用者操作太暴力而頻繁崩潰。\n","date":"2026年3月16日","externalUrl":null,"permalink":"/posts/install-linux-on-asus-vivobook-15-x542uq/","section":"所有文章","summary":"「這台電腦的C槽在哪裡？」\n「家目錄就是C槽。」\n這是用Linux復活老ASUS筆電計畫，所產生的對話。\n2022年，我在海德沃福花5000元撿回來這台筆電。丟給家人用。他在上面貼了furry活動的貼紙。 但是他嫌效能太爛了，只能拿來文書，或是跑遠端桌面。後面買新電腦後就棄置在櫃子裡吃灰了。現在我那年邁的父母需要一台能上網的電腦，因此又把這台挖出來使用。\n我在還原系統的時候考慮到這台規格不太行，不論執行Windows 10還是Windows 11必定卡爆，因此我半強迫的給父母推坑了Linux系統。 究竟結果會如何！？\n1. Linux對ASUS VivoBook的支援度 # 具體型號是：ASUS VivoBook 15 X542UQ\n2017年上市，定價NT$28,900元。我2022年撿回來只花了5000元。\n規格：Intel i5-8250U / Nvidia 940MX / 4GB DDR4 / 120GB SSD / 1TB HDD\n這台筆電很老了，Linux上游驅動有的應該都有了。\n除了風扇之外，硬體驅動開箱即用。 這筆電看起來蠻大台的，雖然號稱15吋，但只是螢幕大小。因為邊框太厚所以看起來像17吋筆電。 也因為如此吧，鍵盤是完整電腦鍵盤，有獨立數字鍵！嗚，抱起來很重，原來那麼重的原因是因為裡面一顆SSD + HDD，這種2.5吋的HDD已經成為時代眼淚了！這台筆電甚至有預留光碟機的位置。\n","title":"在ASUS VivoBook 15安裝Linux，自訂風扇轉速","type":"posts"},{"content":"如果Apple用戶有自己的生態系（iPhone、iPad、Mac、Apple Watch、AirPods\n我們Linux用戶何嘗不能自己打造一個開源生態系？\n這是我為那個可能的「末日」所準備的最後方案。\nLinux開源生態系　在一起　強大。 手機是Linux，平板是Linux，電腦也是Linux。\n分別是小米Poco F1 + postmarketOS、Microsoft Surface Go 2 + Debian、MSI Modern 15 + Fedora。\n雖然發行版不一樣，但是都是GNU/Linux的自由軟體系統，非Android亦非ChromeOS，並執行Wayland的桌面環境。\n本來，過去Ubuntu touch比較有可能實現的跨平台統一UI願望，今天我們或可透過Phosh桌面 + GTK實現了。不過我個人是不追求跨平台設計語言要那麼一致啦。電腦端用KDE Plasma的QT桌面也不壞嘛。\n三個裝置可以透過KDE Connect互相連線。同步雲端就交給Nextcloud。\n我正在考慮讓智慧手錶與藍牙耳機也都裝上Linux。如果我日後買遊戲機，也會裝Linux。Steam Deck已經是合格的Linux遊戲機。如果搞到PS5和Switch，也要刷成Linux（假設模擬器正常運作，否則還是維持原樣好）。不過其實藍牙耳機和智慧手錶技術上來說不太可能跑Linux啦\u0026hellip;RTOS比較多。嘛，只要是開源系統的都歡迎啦。\n理想情況下，硬體應該也要是支持Linux的公司生產的，奈何他們端不出好的全端硬體又不過份溢價。因此我只能使用第三方硬體，加上社群努力讓它執行Linux。\n有推出全端Linux生態系硬體的公司，最接近的應該是Pine64和Purism，尤其Pine64他們出了一堆採用中國零件拼裝成的廉價ARM裝置，相比Purism的精品便宜許多。我差點把Pine64全家桶都買了。可是認識到他們的產品品質後就想說，算了。\n這是我為「末日」準備的最後方案，要是Android與iOS都被搞爛，變成大規模監控機器，剝奪人們的自由，我就會全面切換到Linux。\n實際上，文首跑Linux的這三台裝置中，還是只有接上鍵盤的電腦端的Linux比較成熟。畢竟Linux用戶人均鍵盤俠，輸入vim指令的速度快的像什麼一樣。至於有觸控螢幕的行動裝置跑Linux是適應不良的。換句話說Linux沒有鍵盤活不下去。\n因此我目前在行動裝置還是使用Android手機(類原生系統) ＋ iPad比較多。\n","date":"2026年3月16日","externalUrl":null,"permalink":"/posts/the-linux-mobile-ecosystem/","section":"所有文章","summary":"如果Apple用戶有自己的生態系（iPhone、iPad、Mac、Apple Watch、AirPods\n我們Linux用戶何嘗不能自己打造一個開源生態系？\n這是我為那個可能的「末日」所準備的最後方案。\nLinux開源生態系　在一起　強大。 手機是Linux，平板是Linux，電腦也是Linux。\n分別是小米Poco F1 + postmarketOS、Microsoft Surface Go 2 + Debian、MSI Modern 15 + Fedora。\n雖然發行版不一樣，但是都是GNU/Linux的自由軟體系統，非Android亦非ChromeOS，並執行Wayland的桌面環境。\n本來，過去Ubuntu touch比較有可能實現的跨平台統一UI願望，今天我們或可透過Phosh桌面 + GTK實現了。不過我個人是不追求跨平台設計語言要那麼一致啦。電腦端用KDE Plasma的QT桌面也不壞嘛。\n三個裝置可以透過KDE Connect互相連線。同步雲端就交給Nextcloud。\n我正在考慮讓智慧手錶與藍牙耳機也都裝上Linux。如果我日後買遊戲機，也會裝Linux。Steam Deck已經是合格的Linux遊戲機。如果搞到PS5和Switch，也要刷成Linux（假設模擬器正常運作，否則還是維持原樣好）。不過其實藍牙耳機和智慧手錶技術上來說不太可能跑Linux啦…RTOS比較多。嘛，只要是開源系統的都歡迎啦。\n","title":"追求Linux開源生態系的未來（手機、平板、筆電都跑Linux）","type":"posts"},{"content":"Mount Linux home directory on another partition or disk.\n讓Linux系統與使用者家目錄在開機時於不同磁碟掛載。\n1. 情境 # 我有一台Surface Go 2，安裝Debian Linux，內部磁碟空間只有64GB，我額外插了一張128GB的SD卡擴充空間，想說可以分擔一下系統內部的磁碟空間壓力。雖說如此，大部分程式的資料還是預設倒在家目錄，少部份程式如Steam手動允許使用者指定外部目錄存放資料。長此以往，SD卡的存放資料目錄會顯的很混亂呀。\n考慮到我大部分最佔空間的程式都是以User模式安裝，包括Flatpak和Waydroid的資料，因此我就想直接把Linux的家目錄/home遷移到SD卡上的磁碟分區，讓SD卡成為新的/home。\n雖然我知道SD卡速度比eMMC和SSD慢很多，但是依照過往使用Raspberry Pi的經驗，Linux程式放在SD卡啟動其實也沒有慢到不能接受的地步。\n2. 讓/home位於不同分區可行嗎？ # 這其實是一種安裝Linux系統的常見分區策略。只是現在許多桌面Linux發行版為了簡化操作，都把/與/home放在同一個分區罷了。\n將Linux的家目錄/home獨立為一個分區，或者另外一個磁碟上的分區，開機後與系統分區分開掛載。\n從原本是這樣：\n/ ( /dev/sda1 ) ├── bin ├── boot ├── dev ├── etc ├── home │ └── user ├── lib ├── root ├── usr └── var 變成這樣：\n/dev/sda1 └── / ├── bin ├── boot ├── dev ├── etc ├── home --\u0026gt; /dev/sda2/home/user/（掛載點，指向外部磁碟） ├── lib └── ... /dev/sda2 └── / └── user 如果想要的話，甚至可以整個根目錄/分區都放在外部磁碟，但這樣主機就變成一個開機後只有/boot分區下的kernel載入的空殼了！/home無法掛載不打緊，但系統不應該放在外部磁碟。\n照理說應該是在系統剛安裝，分割硬碟分區的時候就決定要這樣做。不過如果系統裝完了，也是可以將/home目錄遷移過去再掛載。\n這樣做的好處是/home所在的磁碟可以任意擴充儲存空間。重灌系統的時候可迅速恢復資料。\n因為我們這裡只是將家目錄掛載到外部硬碟，實際路徑沒有變化，因此不會影響到/etc/passwd檔案對使用者家目錄位置的判定。\n壞處就是/home目錄所在的磁碟掛了就不能開機了。可能得進入Emergency Mode修復。\n此外，為了使用者的體驗，系統磁碟和家目錄所在的磁碟速度不宜差距過大，否則程式載入速度會受影響。\n順便提一下Systemd-homed。傳統上Linux系統是透過useradd指令新增使用者家目錄，例如我現在操作的Debian 13。我沒有用systemd-homed來建立使用者家目錄，將其保存為映像檔。理論上現有使用者資料是能夠轉交給systemd-homed管理的。縱然systemd-homed的homectl --image-path擁有任意指定使用者家目錄掛載位置的能力，但是將現有的/home轉為systemd-homed的這個過程有點複雜。我這裡還是維持手動複製家目錄的方式。而非將現有/home轉為systemd-homed去管理。\n3. 過程 # 為了不影響到現有使用者資料，推薦使用Root帳號操作。我是用SSH遠端登入，並且不啟動任何圖形化界面。你得確認電腦不會自己進入suspend狀態中斷指令執行。\n如果不想要在遷移資料的過程中間連快取和暫存檔都一併複製過去，可以先用BleachBit這類軟體清一下系統垃圾。\n我這裡是預計整個外部磁碟分區都掛載到/home，而非單一目錄，因此外部磁碟不該放其他資料，不然就得用到bind mount了。\n用lsblk列出所有磁碟。SSD代號是/dev/sdX，NVME是/dev/nvmeX。這裡以SD卡為例，代號則是/dev/mmcblk1。如果有掛載要先用umount取消掛載。\n用fdisk格式化外部磁碟，建立一個EXT4分區，這是大部分Linux系統使用的檔案系統。\n# 使用GPT分割表，建立一個新分區 fdisk /dev/mmcblk1 g n w # 格式化為EXT4 sudo mkfs.ext4 /dev/mmcblk1p1 將其暫時掛載到/mnt/new_home sudo mkdir - /mnt/new_home/ sudo mount /dev/mmcblk1p1 /mnt/new_home/ 使用rysnc工具，將/home這個目錄複製/mnt/new_home/，並保留原有權限。依照檔案大小可能會花一點時間。 sudo rsync -avxHAX /home/. /mnt/new_home/ 確認搬移後的目錄權限是否正確。擁有者應該屬於一般用戶 sudo ls -al /mnt/new_home 使用blkid指令列出所有硬碟分區的UUID。\n編輯/etc/fstab，設定開機掛載規則，設定將遷移到外部磁碟的/home/user/在開機後自動掛載到/home。\nUUID=\u0026#34;UUID\u0026#34; /home ext4 defaults 0 2 將舊有家目錄暫時重新命名 sudo mv /home/ /home_backup/ 重開機，使用lsblk確認/home的掛載點，應該在外部磁碟\n登入帳號確認沒問題後，刪除舊有家目錄\nsudo rm -rf /home_backup/ 一些程式顯示Linux系統可用空間可能還是只會回報根目錄所在分區的容量。因此用df -h指令看比較準確。 ","date":"2026年3月13日","externalUrl":null,"permalink":"/posts/mount-linux-home-directory-on-a-separate-partition/","section":"所有文章","summary":"Mount Linux home directory on another partition or disk.\n讓Linux系統與使用者家目錄在開機時於不同磁碟掛載。\n1. 情境 # 我有一台Surface Go 2，安裝Debian Linux，內部磁碟空間只有64GB，我額外插了一張128GB的SD卡擴充空間，想說可以分擔一下系統內部的磁碟空間壓力。雖說如此，大部分程式的資料還是預設倒在家目錄，少部份程式如Steam手動允許使用者指定外部目錄存放資料。長此以往，SD卡的存放資料目錄會顯的很混亂呀。\n考慮到我大部分最佔空間的程式都是以User模式安裝，包括Flatpak和Waydroid的資料，因此我就想直接把Linux的家目錄/home遷移到SD卡上的磁碟分區，讓SD卡成為新的/home。\n雖然我知道SD卡速度比eMMC和SSD慢很多，但是依照過往使用Raspberry Pi的經驗，Linux程式放在SD卡啟動其實也沒有慢到不能接受的地步。\n2. 讓/home位於不同分區可行嗎？ # 這其實是一種安裝Linux系統的常見分區策略。只是現在許多桌面Linux發行版為了簡化操作，都把/與/home放在同一個分區罷了。\n","title":"如何移動Linux的家目錄/home分區，掛載到外部磁碟","type":"posts"},{"content":"","date":"2026年3月13日","externalUrl":null,"permalink":"/ja-jp/tags/google/","section":"Tags","summary":"","title":"Google","type":"tags"},{"content":" 今の若い先生たちはMicrosoft Officeをあまり使わないようで、たいてい直接Googleドキュメントでファイル、プレゼン、スプレッドシート、フォーム、授業課題などを共有している。ただし私が見る限り、少し年配の教授は今でも授業でWordやPowerPointを開く習慣がある。サンプル数が少なすぎるのかもしれない。\n私が主に関わる場所は公私立の教育機関で、文書のやり取りが多い。\n過去、およそ5年前、私がまだWindowsを主力にしていた時代は、Microsoft Officeを使うことが多かった。価格は問題ではなかった。いつも割引や教育機関経由で一式のソフトウェアを入手できたからだ。多くの人がファイル交換の際、Microsoft Officeの形式を当然のものと見なしていた。\nしかし主力をLinuxへ切り替えた後、Microsoft Officeを使う場面は急激に減った。私はGoogleドキュメントを大量に使い始めた。 今では、邪悪なGoogleドキュメント(Google Docs)に感謝しなければならないことがある。教育現場で、より邪悪なMicrosoft Officeをほぼ使わずに済み、LibreOfficeが使いにくい状況でもまだ使い物になる選択肢を持てるからだ。Googleドキュメントはブラウザさえあれば使える。Chromebookはまさにこのために生まれたコンピューターだ。そしてGoogle製品との互換性が最もよいChromeブラウザにもLinux版があるので、主力Linuxパソコンで作業するとき、奇妙なOffice文書のためにWindows仮想マシンを開かなくて済む。Microsoft Officeの特定バージョンはWineで動かせることは知っているが、問題は多い。Microsoft OfficeにはWeb版もあるとはいえ、機能があれほど不自由なら、Googleドキュメントを使えばいいだろう。\nではLibreOfficeとOnlyOfficeは？これら自由ソフトウェアの本意はとてもよい。しかし、それはローカルで動かしてこそ意味があるもので、現代のこのクラウド時代には少し時代遅れに見えるし、加えて私はとても怠惰だ。Web版のクロスプラットフォーム解決策は成熟していない。Web版Nextcloud Officeをセルフホストできる人も多くない。ならGoogleドキュメントが妥協の下での最良の選択になる。今の私はおそらく90%の場面でGoogleドキュメントを使って処理し、ごくたまに複雑なレイアウト処理が必要なときだけLibreOfficeを開くのだろう。\n今、クロスプラットフォームで仕事をするなら、どのOSを使っていてもGoogleドキュメント経由で作業できる。パソコンにはブラウザがあり、スマホにはAPPがある。この利点は、単一のシステムやソフトウェアに縛られないことだ。しかし潜在的な欠点は、より離脱しにくいクラウドサービスに縛られることでもある。Googleドキュメントは自由ソフトウェアではない。さらに、Googleドキュメントは.odtと.docxファイル形式に対応しているように見えるが、実際にはやはり自社のファイル形式を主とし、ネイティブに.odtを使っているわけではない。そして商業的考慮から.docxへの対応が比較的よい方向を選んでいる。そのためダウンロードして変換した後、レイアウト崩れが起きない保証はなく、LibreOfficeとの相互運用性は100%ではない。Googleドキュメントのレイアウトを完全に保ち、他のソフトウェアで開けるようにするには、.docxで保存するほうが無難だ。\nGoogleの過去十年の布陣はこういうものだったのだと思う。クラウドネイティブ優先の戦略を通じ、Chromebookと組み合わせて新世代のオフィスプラットフォームを攻め落とす。\nこれはAppleが作ろうとしているエコシステムを思い出させる。一部のApple信者は、Appleが少し低価格だが安物ではない製品（iPad学生向けプランなど）で教育市場を攻め、Appleエコシステムへ縛りつけた後、将来その人たちが社会に出て金を持つと、スマホ、タブレット、ノートパソコン、腕時計、イヤホンなど、より多くのApple製品を買うことへ積極的になると言う。そしてWindowsよりイケているというラベルを自動的に得る。私は確かに、Apple製品一式を揃えてそれを誇るconsoomerを山ほど目撃したことがある。もし元WindowsユーザーがMacへ乗り換えるなら、それは一種の「覚醒」と言えるかもしれない。大多数の人の習慣的選択から抜け出したからだ。これは陰謀論かもしれないし、精密な商業戦略分析かもしれない。\nでは、Appleを使った後に再び「覚醒」してLinuxへ飛び移る人はいるのだろうか！？それには非常に強い殉道者的な覚悟の精神が必要だ。さらに言えば、私たちはwalled-gardenに縛られて得意げになるべきではないし、売られた後に大企業を擁護する側へ回るべきでもない。すべての方案は上から下まで、ハードウェアからソフトウェアまで、オープン標準であるべきだ。たとえばファイル同期ならSyncthingやNextcloudを使い、iCloudとOneDriveを拒否し、ましてGoogle Chromebookエコシステムなど選ぶな！\nそうは言っても、私の教育系の仕事では人とファイルを共有するために文書ソフトウェアを使わなければならない。ならブラウザで使え、OSを制限しないGoogleドキュメントは、私が比較的妥協して受け入れられる方案である。Linuxでも快適に使えるからだ。GoogleドキュメントにFOSS代替案があるかと言えば、ある。しかし面倒すぎる。だから妥協の下では、やはりGoogleドキュメントが最良なのだ。\n","date":"2026年3月13日","externalUrl":null,"permalink":"/ja-jp/posts/google-docs-is-the-way/","section":"Foss-Issues","summary":" 今の若い先生たちはMicrosoft Officeをあまり使わないようで、たいてい直接Googleドキュメントでファイル、プレゼン、スプレッドシート、フォーム、授業課題などを共有している。ただし私が見る限り、少し年配の教授は今でも授業でWordやPowerPointを開く習慣がある。サンプル数が少なすぎるのかもしれない。\n私が主に関わる場所は公私立の教育機関で、文書のやり取りが多い。\n過去、およそ5年前、私がまだWindowsを主力にしていた時代は、Microsoft Officeを使うことが多かった。価格は問題ではなかった。いつも割引や教育機関経由で一式のソフトウェアを入手できたからだ。多くの人がファイル交換の際、Microsoft Officeの形式を当然のものと見なしていた。\nしかし主力をLinuxへ切り替えた後、Microsoft Officeを使う場面は急激に減った。私はGoogleドキュメントを大量に使い始めた。 今では、邪悪なGoogleドキュメント(Google Docs)に感謝しなければならないことがある。教育現場で、より邪悪なMicrosoft Officeをほぼ使わずに済み、LibreOfficeが使いにくい状況でもまだ使い物になる選択肢を持てるからだ。Googleドキュメントはブラウザさえあれば使える。Chromebookはまさにこのために生まれたコンピューターだ。そしてGoogle製品との互換性が最もよいChromeブラウザにもLinux版があるので、主力Linuxパソコンで作業するとき、奇妙なOffice文書のためにWindows仮想マシンを開かなくて済む。Microsoft Officeの特定バージョンはWineで動かせることは知っているが、問題は多い。Microsoft OfficeにはWeb版もあるとはいえ、機能があれほど不自由なら、Googleドキュメントを使えばいいだろう。\n","title":"GoogleドキュメントがLinuxユーザーを救ってくれたおかげで、Microsoft Officeをほぼ使わずに仕事できる","type":"foss-issues"},{"content":"","date":"2026年3月13日","externalUrl":null,"permalink":"/tags/microsoft-surface/","section":"標籤","summary":"","title":"Microsoft Surface","type":"tags"},{"content":"應該買筆電還是平板？我全都要，1+1\u0026gt;2。\nGNU/Linux筆電搭配iPad，再一支Android手機提供網路就好啦。\nAerosmith - It\u0026rsquo;s amazing\n我看身邊有些老師會同時帶Macbook和iPad出門，通常是有閒錢的人才會這樣幹。兩者都很輕，帶兩台的重量大約1.7kg，抵一台重型Windows筆電？其實也有人是選擇輕薄Windows筆電加iPad的啦。\nMacbook和iPad兩者生態系有交集卻又各司其職。透過macOS的Sidecar功能還可以把兩台的螢幕合體，協同工作。\n那我覺得我應該帶Surface Go 2 (Debian Linux) + iPad Air 6出門才對吧。 駭呀我以前怎麼都沒想到，還在爭執筆電還是平板哪個好，希望有可以一台就應付所有用途。甚至考慮過Thin Client + Remote Desktop的工作模式，重度運算都交給遠端。還真別說，我長期以來都維持家裡兩台電腦24小時待命當作桌面兼伺服器使用，並透過Tailscale從外網隨時連線回去。\n那還不如兩台一起帶。筆電嘛，過去困擾我的是MSI Modern 15重量太重。然而買了Surface Go 2可以算是平板兼筆電，因此它很輕。跟iPad加起來曰1kg左右，差不多一本作業系統恐龍書(Operating System Concepts)的重量厚度而已！ 這，比起以前帶我那台重達1.5kg的MSI Modern 15 (Fedora Linux，但我喜歡用openSUSE桌布) 加上400g的磚頭DC充電器出門要好點。買MSI筆電送的後背包完全裝得下兩台平板。\n而且這兩台都可以算是變形平板屬性——我特愛這種產品，有觸控螢幕又能隨時接上藍牙鍵盤，變換操作方式。\n兩台電腦的螢幕發色都算準確。Surface的Linux在觸控與手寫繪圖方面工作較弱，那就讓iPad上場。反之，需要大量鍵盤與文書輸入多工的，就用Surface！\n兩個裝置之間可以用Wayland virtual output這種類似Duet Display的方案，讓iPad成為筆電延伸螢幕。像GNOME有Virtual RDP，KDE有Krfb。\n跨裝置工作部份，透過Floccus共享書籤、BitWarden共享密碼。透過SFTP或LocalSend或KDE Connect快速共享檔案，不用依賴雲端硬碟。\n並用Joplin跨裝置同步筆記。iPad負責書寫，然後Surface上用Markdown整理，Perfect！\n最重要的上網熱點部份\u0026hellip;當然就是由超長續航的Android手機：Sony Xperia 10 V負責供給。\n不過，兩台電腦都帶出去，包包還是重了點，因此我可能還是會看場合決定今天要帶哪台出去吧。\n","date":"2026年3月13日","externalUrl":null,"permalink":"/posts/bring-a-laptop-and-a-tablet-together/","section":"Unboxings","summary":"應該買筆電還是平板？我全都要，1+1\u003e2。\nGNU/Linux筆電搭配iPad，再一支Android手機提供網路就好啦。\nAerosmith - It’s amazing\n我看身邊有些老師會同時帶Macbook和iPad出門，通常是有閒錢的人才會這樣幹。兩者都很輕，帶兩台的重量大約1.7kg，抵一台重型Windows筆電？其實也有人是選擇輕薄Windows筆電加iPad的啦。\nMacbook和iPad兩者生態系有交集卻又各司其職。透過macOS的Sidecar功能還可以把兩台的螢幕合體，協同工作。\n那我覺得我應該帶Surface Go 2 (Debian Linux) + iPad Air 6出門才對吧。 駭呀我以前怎麼都沒想到，還在爭執筆電還是平板哪個好，希望有可以一台就應付所有用途。甚至考慮過Thin Client + Remote Desktop的工作模式，重度運算都交給遠端。還真別說，我長期以來都維持家裡兩台電腦24小時待命當作桌面兼伺服器使用，並透過Tailscale從外網隨時連線回去。\n那還不如兩台一起帶。筆電嘛，過去困擾我的是MSI Modern 15重量太重。然而買了Surface Go 2可以算是平板兼筆電，因此它很輕。跟iPad加起來曰1kg左右，差不多一本作業系統恐龍書(Operating System Concepts)的重量厚度而已！ ","title":"應該買筆電還是平板？不如選輕薄的版本一起帶出門，Linux + iPad強強聯手","type":"unboxing"},{"content":"最近看到有人將新出的Macbook Neo比喻為Eee PC一樣的存在，ㄆ，這什麼不倫不類的比喻。Apple就算出低端品，效能也比那些Chromebook電子垃圾好多了吧。且Macbook比iPhone和iPad開放一些，是我就會買來刷Linux。\n這時我想到我人生第一台接觸的筆電好像就是ASUS Eee PC，那個粉紅色的外型讓人印象深刻，當時只會玩賽爾號的國小生的我不知道它跑的是Linux。\n第一台平板則是在學繪畫的畫室所接觸到的iPad。至於第一台接觸的電腦則是Windows XP的PC，當年玩Flash小遊戲都會卡。\n大概十幾年前吧，家人在愛買抽獎抽到一台筆電，哼，居然送這種垃圾。具體型號記不得了，但反正這種Netbook規格都很爛。只記得背蓋寫著Eee PC，那應該是ASUS Eee PC 2G Surf吧。 雖然是超低端筆電，但當時價格也要好幾千。當時能玩的遊戲好像就內建的Tux Racer了！這款遊戲現在Flathub還找得到，效能需求很低，算是用於測試OpenGL的不錯原生Linux小遊戲。 據說Eee PC搭載的是特製版Xandros Linux？已經太久了我沒辦法確認那台的系統是什麼。\n原來我跟Linux的緣份不是2016年高中的夏天在Intel Celeron E3300的PC用Wubi裝Ubuntu，而是更久以前就開始了麼\u0026hellip;。\n後來家人好像又抽到另外一台Windows筆電？當時家裡沒Wifi，還得用USB插著3G卡片上網，我才能玩賽爾號。\n話說我小時候的手氣好像都不賴，曾經在丹丹漢堡抽到腳踏車，那為什麼我長大後FGO要課好幾單花一萬塊去抽阿比蓋兒呢。\n現在這台Eee PC筆電應該早就丟了，不然我應該可以將它挖出來裝新版Linux才對，雖然32位元Linux發行版幾乎消失了，但Alpine Linux依然有支援。\n","date":"2026年3月13日","externalUrl":null,"permalink":"/posts/eee-pc-2g-surf-review/","section":"Unboxings","summary":"最近看到有人將新出的Macbook Neo比喻為Eee PC一樣的存在，ㄆ，這什麼不倫不類的比喻。Apple就算出低端品，效能也比那些Chromebook電子垃圾好多了吧。且Macbook比iPhone和iPad開放一些，是我就會買來刷Linux。\n這時我想到我人生第一台接觸的筆電好像就是ASUS Eee PC，那個粉紅色的外型讓人印象深刻，當時只會玩賽爾號的國小生的我不知道它跑的是Linux。\n第一台平板則是在學繪畫的畫室所接觸到的iPad。至於第一台接觸的電腦則是Windows XP的PC，當年玩Flash小遊戲都會卡。\n大概十幾年前吧，家人在愛買抽獎抽到一台筆電，哼，居然送這種垃圾。具體型號記不得了，但反正這種Netbook規格都很爛。只記得背蓋寫著Eee PC，那應該是ASUS Eee PC 2G Surf吧。 雖然是超低端筆電，但當時價格也要好幾千。當時能玩的遊戲好像就內建的Tux Racer了！這款遊戲現在Flathub還找得到，效能需求很低，算是用於測試OpenGL的不錯原生Linux小遊戲。 據說Eee PC搭載的是特製版Xandros Linux？已經太久了我沒辦法確認那台的系統是什麼。\n原來我跟Linux的緣份不是2016年高中的夏天在Intel Celeron E3300的PC用Wubi裝Ubuntu，而是更久以前就開始了麼…。\n","title":"我的第一台筆電Eee PC原來跑的就是Linux系統","type":"unboxing"},{"content":"","date":"2026年3月12日","externalUrl":null,"permalink":"/tags/philosophy/","section":"標籤","summary":"","title":"Philosophy","type":"tags"},{"content":"或說任何宗教。\n今日，久違地，我被半強迫的去了基督教會。起因在於在路上被人攔下覺得好奇和蹭飯吃的感覺就去了。他們以學校社團的名義辦活動，聽他們分享屬靈性故事，還有享用免費晚餐。\n我覺得就聖經的一些讀書會討論我是覺得不壞，可以學點歷史和語言學的東西，因為我以前學英國文學歷史的時候就聽教授講過很多次了，畢竟他是基督徒。但是他們在熱情的招待之下馬上就要我受洗，便覺得這是一個不好的體驗了。\n他們真不會拐人，我以前去的教會有美國弟兄，他們還會透過稱兄道弟和潮流的活動來潛移默化改變你。這個上來就開大。\n記得我在修完英國古典文學課的最後一堂課時候教授要我們分享收穫。他上課方式跟基督徒解經一樣，熱誠地分享文本，都會用聖經的方式來詮釋。有時後會略顯無趣，可是他很懂希臘文所以其實認真聽能學到蠻多的。只是我當時還不知道他真的是基督徒。於是我就說了教材可以讓我體會以前讀的尼采的哲學旨趣何在，了解上帝已死的那些言論是在諷刺哪些基督教固有的經典。然後他就把我當掉了（一部分也是因為我分數太混）。後來重修我就閉嘴不敢亂講了，同樣的環節只說老師教得真好。然後我就低空飛過了。\n神不存在，我不能篤定的這樣說，可是我又不覺得個世界是可以被一個人所創造的。人類若真此渺小，又怎麼能相信世界會拯救你呢。因為我有在心理諮商，且傾向支持存在主義（現在有點偏虛無主義）故，我沒辦法相信任何宗教，縱然是我比較熟悉的佛教與道教亦復如是。\n我不需要依賴宗教來定義自我與提供支持，而且我已經厭惡了那種消融自我以融入更大群體的精神了。如果說是為了「救贖」本身就是隱含了你是錯的我來糾正你的思想。\n只能基於文化觀察理由去做儀式，但是心靈難以接受。雖然有人認為盲信科學哲學也算是一種宗教，堅持自由軟體運動和挺特定政治意識形態（如支持民眾黨挺阿北）可能也算一種宗教，可是這畢竟是可以隨時推翻與證偽的，不具有先驗性質的東西，跟宗教還是不同。\n呼，還好我今天有記得吃藥，若處在徬徨的狀態，腦波弱我就真的泡進哪個浴缸了。呵呵，我果然是撒旦派來的，是忠實的卡菲勒。\n或許我可以抱持著隔離的心態去參加日後的基督教聚會，不過畢竟與我根本觀念衝突。所以還是竟而遠之的好。\n我想，要獲得更多社群歸屬感，還是多參加小型技術型聚會就夠了，這比較有實質上的幫助。\n","date":"2026年3月12日","externalUrl":null,"permalink":"/posts/2026031201/","section":"Personals","summary":"或說任何宗教。\n今日，久違地，我被半強迫的去了基督教會。起因在於在路上被人攔下覺得好奇和蹭飯吃的感覺就去了。他們以學校社團的名義辦活動，聽他們分享屬靈性故事，還有享用免費晚餐。\n我覺得就聖經的一些讀書會討論我是覺得不壞，可以學點歷史和語言學的東西，因為我以前學英國文學歷史的時候就聽教授講過很多次了，畢竟他是基督徒。但是他們在熱情的招待之下馬上就要我受洗，便覺得這是一個不好的體驗了。\n他們真不會拐人，我以前去的教會有美國弟兄，他們還會透過稱兄道弟和潮流的活動來潛移默化改變你。這個上來就開大。\n記得我在修完英國古典文學課的最後一堂課時候教授要我們分享收穫。他上課方式跟基督徒解經一樣，熱誠地分享文本，都會用聖經的方式來詮釋。有時後會略顯無趣，可是他很懂希臘文所以其實認真聽能學到蠻多的。只是我當時還不知道他真的是基督徒。於是我就說了教材可以讓我體會以前讀的尼采的哲學旨趣何在，了解上帝已死的那些言論是在諷刺哪些基督教固有的經典。然後他就把我當掉了（一部分也是因為我分數太混）。後來重修我就閉嘴不敢亂講了，同樣的環節只說老師教得真好。然後我就低空飛過了。\n神不存在，我不能篤定的這樣說，可是我又不覺得個世界是可以被一個人所創造的。人類若真此渺小，又怎麼能相信世界會拯救你呢。因為我有在心理諮商，且傾向支持存在主義（現在有點偏虛無主義）故，我沒辦法相信任何宗教，縱然是我比較熟悉的佛教與道教亦復如是。\n","title":"存在主義讓我暫時不能信基督教","type":"personal"},{"content":"過去幾年，間歇性的嘗試進行去Google化(degoogle)，可是用得很痛苦，便覺得我們脫離不了Google等一票大公司的監控體系了。 No matter where you go, everyone\u0026rsquo;s connected.\nAndroid手機普遍都裝有擁有最高權限執行的GMS服務，理論上它可以24小時在系統背景運作，蒐集使用者資料。即使你不登入Google帳號，它還是在那裡。沒有Root權限的情況下刪除不掉，頂多用ADB停用而已。\n考慮到有GMS認證的Android手機，除了中國以外，在全球市占率極高，且人手一機，這便是大規模監控資本主義的一種現在進行式。iPhone用戶也難以倖免，許多人還是會用到Google的APP。以前的人很難想像一家公司可以獲得比國家與政府還要大的權利做到這種偉業。同時也不能保證他們不會濫用這種權力——畢竟Don\u0026rsquo;t be evil的格言早就消失了。\n以維護某些人的利益，大規模監控公民社會，政府早已有之，美國與中國皆然，沒有一個是無辜的。\n大膽揭發稜鏡計畫的愛德華·斯諾登說過：\n「一個人若是說，我沒有什麼好隱瞞的，因此我不在乎隱私，就好像在說，我不在乎言論自由，因為我無話可說。」 (Saying you don\u0026rsquo;t need privacy because you have nothing to hide is like saying you don\u0026rsquo;t need freedom of speech because you have nothing to say.)\n因此我們不應當容忍企業和政府這樣幹。\n曾想過要不要退掉電信合約，改買預付卡的方式上網，然後搭配Tor常時連線。因為我發現企業或國家可以透過手機基地台監控你的所在位置。在台灣這可能沒什麼，政府才懶得理你，不過在高危地區（如中國）卻是反政府人士需要了解的必備常識。這是我之前在嘗試Linux系統的手機PinePhone的想法。現在因為吃到飽上網太好用了暫無進一步構想。\n因為某種delusional的保護隱私想法，覺得我必須從系統層面拔除監控的東西，不管那是哪一家公司的。\n根據threat model，degoogle可以分為很多層次，看是要把常用服務換成其他服務，抑或是從系統最底層拒絕任何跟Google有關的東西。我認為有一就有二，不可以雙標。因此從Email層面的degoogle是不夠的，需要更徹底的從底層去除Google在日常生活中的影響力！此外，從火坑跳到另外一個火坑(From flares to flames)，說要degoogle卻改用其他非Google的服務（如Gmail改用Outlook），依然侵犯隱私，同樣是不可接受的。因此我這個行動與其說是degoogle，更像是de-big tech。\n在電腦系統我已經做到了這點，也就是從Windows改用Linux好幾年了，我指的是那些自由開源的GNU/Linux發行版，而非ChromeOS這種的。除非我主動去開Chrome瀏覽器或者Steam，否則沒有人可以在系統層級蒐集我的資料。Google參與開發的開源軟體（如Flutter）是可以網開一面，但不能是專有軟體授權。平常主力上網用Brave或Firefox，軟體操作儘量不依賴線上服務，這取得了隱私與方便之間的巧妙平衡。\n但是，在手機上我很難做到脫離系統級監控。或者說，主流大公司生產的行動裝置所安裝的作業系統，很難。\niOS不用說了，就算你能degoogle，投入蘋果生態系懷抱，也根本拔除不掉蘋果根植在系統的服務。他們口口聲聲說保護你的隱私，但是連修改系統的權力都剝奪的公司談何人權。因此我自始至終就不曾考慮過iPhone當作主力裝置。\nAndroid手機有刷機的可能，因此能將GMS服務連根拔起。\nAndroid手機去Google化 (Degoogle) 的方案探討 degoogle的手機我用了，沒有內建GMS的GrapheneOS和LineageOS，而且除了Google以外也拒絕跟Google一樣邪惡會蒐集使用者資料的公司服務，Microsoft不可信，中國公司更不可信。只使用自由開源或者self-hosted的服務。通訊軟體我使用E2EE加密的Element Matrix，社群媒體只用Mastodon等等。\n為了擺脫Google對Android的影響，甚至嘗試用真正的Linux手機系統。\npostmarketOS使用技巧 結果就是日常生活變得十分不便。我有Protonmail和Proton Calendar帳號，還有跑一些Nextcloud之類的自架服務，能維持一定程度的日常事務運作。沒有NFC行動支付就算了。但是我不能使用YouTube和Google雲端工作，又不能用Line和Discord通訊，還有一大票依賴大公司的服務，可以說要人命。\n呵哈哈（苦笑），做到這種程度，這種感覺有點像是在腦控被害妄想了吧。\n用隱私換取便利，有什麼不好的呢？這是基於商業邏輯的基本等價交換。你就是產品，只要產品免費的話。百度創辦人李彥宏說中國人願意用隱私換取便利，看來在世界範圍內這並非不是共識。不過是歐美圈子更懂得爭取權利罷了。可是，抗議性的degoogle又能怎樣呢？我們能期望政府比企業更公正嗎？或者講直白一點，人們躲得過「利益」的誘惑嗎？You\u0026rsquo;ll own nothing and be happy!\n了解到監控資本主義的危害之後，我開始想搬到太平洋正中央的小島隱居了的想法。\n然後我反手就訂閱了Google全家桶，還有Gemini Pro，這個AI還會紀錄你跟他聊過的東西，提供更客製化的答案呢！適應這個時代科技的「進步」。\n我依然尊重倡導degoogle運動的人士，也認為應該要有更多人意識到此問題的嚴重性，並從身邊的APP一小步一小步的慢慢替換掉Google服務。只是，希望事情不要太遲。\n","date":"2026年3月11日","externalUrl":null,"permalink":"/posts/it-s-hard-to-degoogle-your-life/","section":"所有文章","summary":"過去幾年，間歇性的嘗試進行去Google化(degoogle)，可是用得很痛苦，便覺得我們脫離不了Google等一票大公司的監控體系了。 No matter where you go, everyone’s connected.\nAndroid手機普遍都裝有擁有最高權限執行的GMS服務，理論上它可以24小時在系統背景運作，蒐集使用者資料。即使你不登入Google帳號，它還是在那裡。沒有Root權限的情況下刪除不掉，頂多用ADB停用而已。\n考慮到有GMS認證的Android手機，除了中國以外，在全球市占率極高，且人手一機，這便是大規模監控資本主義的一種現在進行式。iPhone用戶也難以倖免，許多人還是會用到Google的APP。以前的人很難想像一家公司可以獲得比國家與政府還要大的權利做到這種偉業。同時也不能保證他們不會濫用這種權力——畢竟Don’t be evil的格言早就消失了。\n以維護某些人的利益，大規模監控公民社會，政府早已有之，美國與中國皆然，沒有一個是無辜的。\n大膽揭發稜鏡計畫的愛德華·斯諾登說過：\n「一個人若是說，我沒有什麼好隱瞞的，因此我不在乎隱私，就好像在說，我不在乎言論自由，因為我無話可說。」 (Saying you don’t need privacy because you have nothing to hide is like saying you don’t need freedom of speech because you have nothing to say.)\n因此我們不應當容忍企業和政府這樣幹。\n曾想過要不要退掉電信合約，改買預付卡的方式上網，然後搭配Tor常時連線。因為我發現企業或國家可以透過手機基地台監控你的所在位置。在台灣這可能沒什麼，政府才懶得理你，不過在高危地區（如中國）卻是反政府人士需要了解的必備常識。這是我之前在嘗試Linux系統的手機PinePhone的想法。現在因為吃到飽上網太好用了暫無進一步構想。\n因為某種delusional的保護隱私想法，覺得我必須從系統層面拔除監控的東西，不管那是哪一家公司的。\n根據threat model，degoogle可以分為很多層次，看是要把常用服務換成其他服務，抑或是從系統最底層拒絕任何跟Google有關的東西。我認為有一就有二，不可以雙標。因此從Email層面的degoogle是不夠的，需要更徹底的從底層去除Google在日常生活中的影響力！此外，從火坑跳到另外一個火坑(From flares to flames)，說要degoogle卻改用其他非Google的服務（如Gmail改用Outlook），依然侵犯隱私，同樣是不可接受的。因此我這個行動與其說是degoogle，更像是de-big tech。\n","title":"論degoogle的困難之處：如果注重隱私，還是不要用智慧型手機的好","type":"posts"},{"content":"使用Surface Go 2平板跑Linux，當然就是會有用到手寫筆記的時候。\n需求：可以手指觸控檢視PDF，也可以在PDF上面用觸控筆寫筆記的自由開源軟體。\n我不強求要複雜的編輯合併功能，那些操作我一般都丟給自架的StirlingPDF網頁處理。我只是想在Linux平板本地看PDF做筆記而已。粗略地說，我想要一款類似Adobe Acrobat的軟體。可以近似Microsoft OneNote功能的話更好。\n總覺得，這在虐待自己。也許是我要求太高，跟Android與iOS比起來，Linux註解PDF的程式非常不成熟。\n手寫註釋PDF，這種在iPad Air 6用Apple Pencil就能達到的簡單操作，在安裝Debian Linux的Surface Go 2平板非常困難，測試到快中風了。幸而結果令人滿意。\n首先，我想要一個PDF閱讀器，是那種在低RAM裝置也能流暢載入上百頁PDF原文書的程式，並在上面寫筆記。看起來除了KOReader、Okular、Rnote以外都把RAM當免錢的在用，優化很差勁。\n再來，Linux的PDF簽名程式，似乎沒有一個成熟的，試了好久才找到滿意方案。\nLinux不能使用Adobe Acrobat。我不想用Wine，儘管Wine資料庫指出Linux可以執行Adobe Acrobat，但仍想找自由開源的替代方案。\n桌面環境附贈的文件閱讀器呢？GNOME Evince就不說了，功能爛到渣還吃資源。要用新版的GNOME Document Viewer才能手寫筆記。\nKDE Okular看起來好點，載入大型PDF也不會卡，算是多功能的PDF閱讀器。但也只是為鍵盤模式設計，無法手寫PDF文字，或說它認不到觸控筆，沒有手掌防誤觸(Palm Rejection)。\n再來是獨立程式。\nKOReader本身是為墨水螢幕閱讀器設計的\u0026hellip;操作邏輯很詭異，應該只適合純讀書。要裝外掛才有手寫支援。\nSaber Notes，跨平台支援Linux/Windows/macOS/Android/iOS，寫到一半會亂跳，沒有手掌防誤觸。看來它這個Flutter寫的跨平台程式僅有針對iOS和Abdroid觸控優化。\n雖然Markdown筆記軟體Joplin可以內嵌PDF，但這個程式本體Electron就很肥了，使用上不理想。\nXournal++是最著名的手寫軟體之一，C++寫的，跨平台支援Linux/Windows/macOS。GTK介面很醜，但是是可以有效區別觸控手勢與手寫筆輸入事件的軟體，支援手掌防誤觸。可惜太吃資源，簡單寫幾個字就吃掉3GB RAM，對低記憶體的裝置不友善。這疑似是最近Flatpak版本的bug：High memory usage when viewing PDFs #6016\n中間我竟然要用Firefox內建的PDF閱讀程式（基於pdf.js開發）去註解PDF，才是最順的方案。起碼Firefox不太吃資源，且可以分辨觸控和觸控筆輸入的事件。註解的筆跡日後可以再修改。雖然沒有筆壓。另外Linux版Microsoft Edge自行研發的PDF閱讀程式也可以用來註解PDF，不過要注意Edge是專有軟體。 幸好最後，我找到Rnote這款以手寫筆記為主的軟體，果然GTK4和Rust寫的就是不一樣。跨平台支援Linux/Windows/macOS。\n支援筆壓，手掌防誤觸。這個軟體可以輕鬆匯入多頁PDF並在上面寫註解，不會像Xournal++吃資源。支援同時檢視多個檔案，提供無限擴展的畫布。可惜不能快速跳頁。用Flatpak安裝即可使用。存檔格式是.rnote壓縮檔，也可以單獨匯出編輯過的PDF。 因此，目前我的用法是一般PDF文件用Okular預覽，要手寫的話再開Rnote。\n","date":"2026年3月9日","externalUrl":null,"permalink":"/posts/linux-pdf-annotator/","section":"所有文章","summary":"使用Surface Go 2平板跑Linux，當然就是會有用到手寫筆記的時候。\n需求：可以手指觸控檢視PDF，也可以在PDF上面用觸控筆寫筆記的自由開源軟體。\n我不強求要複雜的編輯合併功能，那些操作我一般都丟給自架的StirlingPDF網頁處理。我只是想在Linux平板本地看PDF做筆記而已。粗略地說，我想要一款類似Adobe Acrobat的軟體。可以近似Microsoft OneNote功能的話更好。\n總覺得，這在虐待自己。也許是我要求太高，跟Android與iOS比起來，Linux註解PDF的程式非常不成熟。\n手寫註釋PDF，這種在iPad Air 6用Apple Pencil就能達到的簡單操作，在安裝Debian Linux的Surface Go 2平板非常困難，測試到快中風了。幸而結果令人滿意。\n首先，我想要一個PDF閱讀器，是那種在低RAM裝置也能流暢載入上百頁PDF原文書的程式，並在上面寫筆記。看起來除了KOReader、Okular、Rnote以外都把RAM當免錢的在用，優化很差勁。\n再來，Linux的PDF簽名程式，似乎沒有一個成熟的，試了好久才找到滿意方案。\nLinux不能使用Adobe Acrobat。我不想用Wine，儘管Wine資料庫指出Linux可以執行Adobe Acrobat，但仍想找自由開源的替代方案。\n桌面環境附贈的文件閱讀器呢？GNOME Evince就不說了，功能爛到渣還吃資源。要用新版的GNOME Document Viewer才能手寫筆記。\n","title":"Linux手寫註釋PDF的開源軟體比較","type":"posts"},{"content":" 敗北Wayland compositorが本当に多すぎる！時々、WMを使ってDEを使わない人を見ると、相手はすごいなと思う。しかしこれは普及しにくい。まして授業で学生にIceWMをインストールさせる人までいる。Linuxデスクトップの断片化はまだ深刻ではないとでも？\n新しいWayland compositorが出るのを見るたびの私be like： そう思わないか。LinuxデスクトップがWaylandへ徐々に移行した後、すでに少なくとも20種類以上のWayland compositorが出現している。比較的有名なWeston（Wayland公式参考実装）、GNOME Mutter、KDE Kwin以外にも、wlrootsやSmithayライブラリを基に開発されたWayland compositorが山ほどある。たとえばHyprland、WayFire、Niri、Labwc、River、dwl、Hikari、Miracle\u0026hellip;\u0026hellip;などだ。その多くはDesktop Environmentを構成することすらできず、ただのcompositorであり、他のコンポーネントを自分で探してデスクトップへ組み合わせなければならない。\nこれはX Window時代の多くのXウィンドウマネージャーの栄景を思い出させる。異なるX11デスクトップ環境のユーザーはWindow ManagerとCompositorを交換し、自分が望むウィンドウ効果を実現できた。Xウィンドウマネージャーも少なくとも20種類以上あった。しかし時代は変わった。Waylandデスクトップユーザーは単独でウィンドウマネージャーを置き換えるべきではない。やるならデスクトップ環境ごと入れ替えるべきだ。\n以下の画像はWaylandを貶めるものではあるが、現在Wayland compositorが担うべき役割をよく説明している。構造がX Windowとは違うのだ。したがって複数のWayland compositorを作ることは、必要性が薄く見える。 Hyprland作者VaxryはWe don\u0026rsquo;t need more Wayland Compositorsでこの問題を論じている。彼は、Waylandの構造はX11とは違うと指摘する。今は統一されたX Serverがなく、Waylandには一式の標準仕様しかないため、compositor実装に依存しなければならないからだ。現在のWayland compositorが担当することはXウィンドウマネージャーよりはるかに多い。各Wayland compositorはウィンドウ配置だけでなく、画面録画やGPUドライバーとの相互作用など複雑な操作も処理しなければならない。\nだからWaylandの多くのデスクトップは成熟後、自分たちのXDG Desktop Portalを持つようになる。それはFreeDesktopが制定した共通標準を実現するためだ。X11時代のdwmのような、仕組みが簡単な設定を望んでも、Waylandではすでに実現がかなり難しい。i3wmの模倣を標榜するSwayでさえ、自前でXDG Desktop Portalを開発しなければならない。\n彼は、多くのWayland compositorが車輪の再発明をしており、異なるコードでほぼ同じ機能を実現していると考える。プロジェクトによっては、もしかすると長く経たずに砂の中へ埋もれてしまい、端末を開くことすら問題になるかもしれない。\n極端に言わせてもらうなら、Linux世界で努力して改善する価値のあるデスクトップは二つだけだ。一つはGNOME、もう一つはKDE Plasmaである。他のデスクトップ環境の重要性は彼らほど高くない。\n結果\u0026hellip;Hyprland作者が提示した方案は、皆が少数のデスクトップを基準として開発すればよい、というものだった。たとえばHyprlandを中心にプラグインを開発し、ユーザーがHyprlandのウィンドウ配置方式を変更できるようにし、過去のX Window Managerの地位を置き換える。最初から大量のWayland compositorを書くのではない。ただまあ、HyprlandはC++で書かれているため、一部の人がRustの未来性に抱く嗜好には合わない。\nそういえば、Hyprland作者はSystem76のCOSMICデスクトップに興味がない：The problems and shortcomings of Cosmic 彼はこのデスクトップには明確な発展方向が欠け、ターゲット層が誰なのか分からないと感じている。\n笑える。Hyprland自体がそもそもデスクトップ環境とは言えず、targetしているのも上級ユーザーだwww Hyprlandは完全なデスクトップではないが、それでもデスクトップ体験を完成させるため、壁紙プログラムHyprpaperなどの関連ツールを自前で開発しなければならない。結局Hyprlandのようなcompositorも、車輪の再発明をしている。\n私個人としては\u0026hellip;現代のデスクトップ環境は複雑すぎると思う。オープンソース自体が断片化しやすいとはいえ、人々は完全なデスクトップ体験の開発に集中すべきだ。少なくともCOSMICを手本にし、compositorだけでなく完全な製品を提供することに力を注ぐべきである。あるいは既存のデスクトップへ貢献するべきだ。Steam GamescopeやPurism Phoshのように特殊なシーンの需要に合わせて開発されたものでなければ、その他単独のWayland compositorは一般ユーザーにとって使う価値があまりないように見える。探索好きのgeekたちに遊ばせておけばよい。\n","date":"2026年3月8日","externalUrl":null,"permalink":"/ja-jp/posts/there-are-too-many-wayland-compositors/","section":"Foss-Issues","summary":" 敗北Wayland compositorが本当に多すぎる！時々、WMを使ってDEを使わない人を見ると、相手はすごいなと思う。しかしこれは普及しにくい。まして授業で学生にIceWMをインストールさせる人までいる。Linuxデスクトップの断片化はまだ深刻ではないとでも？\n新しいWayland compositorが出るのを見るたびの私be like： そう思わないか。LinuxデスクトップがWaylandへ徐々に移行した後、すでに少なくとも20種類以上のWayland compositorが出現している。比較的有名なWeston（Wayland公式参考実装）、GNOME Mutter、KDE Kwin以外にも、wlrootsやSmithayライブラリを基に開発されたWayland compositorが山ほどある。たとえばHyprland、WayFire、Niri、Labwc、River、dwl、Hikari、Miracle……などだ。その多くはDesktop Environmentを構成することすらできず、ただのcompositorであり、他のコンポーネントを自分で探してデスクトップへ組み合わせなければならない。\nこれはX Window時代の多くのXウィンドウマネージャーの栄景を思い出させる。異なるX11デスクトップ環境のユーザーはWindow ManagerとCompositorを交換し、自分が望むウィンドウ効果を実現できた。Xウィンドウマネージャーも少なくとも20種類以上あった。しかし時代は変わった。Waylandデスクトップユーザーは単独でウィンドウマネージャーを置き換えるべきではない。やるならデスクトップ環境ごと入れ替えるべきだ。\n","title":"Wayland compositorが多すぎて敗北！本当に車輪の再発明を続ける必要があるのか？","type":"foss-issues"},{"content":"一直在想可不可以用文字終端機打指令上網，因為現在的瀏覽器都太肥了，Firefox和Chrome皆然。我們的老祖宗（其實也才30年前）都是用DOS文字介面上Telnet BBS的。 FYI：現在台灣PTT（中國人稱陰間論壇）用SSH指令ssh bbsu@ptt.cc也可以上喔！不用開網頁版。在只能用SSH的工作階段也能上去發廢文。畢竟Linux版PcMan年久失修\u0026hellip;還在用GTK2真不想下載。但依照終端機的不同，可能會無法顯示中文字。 那我們沒理由不能用Linux終端機看網頁。\n現在主流的社群媒體網站，大概只有Hacker News和old.reddit.com是能用終端機瀏覽的了吧。其他的網站都太「臃腫」了。看看這個motherfucking website，你不需要網頁框架也能做好網站！去你媽的。\n老實說，我的網站雖然注重簡潔，可是也不太能用終端機檢視。\n看看Linux有哪些終端機瀏覽器。這些瀏覽器方案可比主流的瀏覽器要輕量多了呢。這些文字瀏覽器不依賴X11或Wayland視窗系統就能用，甚至你在SSH遠端工作的時候可以開來偷摸魚一下。這些輕量的瀏覽器對資源拮据的老電腦也有用。啊，不過你要檢視網頁下載的檔案的話，可能還是需要一個圖形環境。\n各大Linux發行版多半有收錄這些套件。文字終端機的特色就是全部用鍵盤操作，可不是點一點就能上網了。如果你會用Vim這類編輯器的話，通常看一下程式裡面附贈的manpage你就會很快上手了。\n偽裝成文字編輯器的作業系統Emacs有內建EWW文字瀏覽器，Lynx是現存最古老的文字瀏覽器。這兩個只能看Web 1.0時代的網頁，或者純文字的HTML網頁。用這個上網世界一片黑暗，人生是黑白的，瞬間倒退回30年前。 w3m則是支援CSS排版的文字瀏覽器，文字版面比較接近真正網頁的樣子，當然文字以外的地方要靠想像力。w3m還可以顯示網頁圖片，但不支援JavaScript。這需要終端機支援Terminal graphics protocol，例如Kitty + ImageMagick可以在終端機內繪製完整解析度的圖片。或者使用Sixel像素畫呈現。播放影片的話，透過w3m載入外部程式的方式，點選特定網址後丟給mpv播放即可。\n這大概是勉強能用的文字瀏覽器，有基本瀏覽資料的功能又能看圖，讓網路世界不那麼灰暗，RAM佔用不到100MB。 w3m之外還有ELinks，底色是白色的。\n現代，還有終端機渲染全彩網頁的例子。\n例如這個Browsh，將headless Firefox的畫面串流到終端機裡面 ~ 這可以確保JavaScript和CSS排版運作。不過這樣會啟動一個Firefox實例，雖然在背景執行，但RAM佔用就趨近正常的Firefox了呀。\n比Browsh更進階的有基於Chromium的Carbonyl，沒有跑一個瀏覽器實例，而是渲染後傳到終端機裡面，讓WebGL運作並用Unicode顯示字元。除了文字以外元素都是馬賽克。RAM佔用不到100MB。且SSH工作階段也能用。可我不知道為什麼我打中文都會變成韓文。實用性不高，純炫技用的。 唉，或許得拋棄用一個文字瀏覽器全包的想法，而是給各自的網站都安裝一個TUI程式去顯示比較好。例如，Reddit、YouTube、Spotify、Discord這類對第三方API開放的網站都有對應的TUI程式可以處理。Github上面一搜一大把。\n例如這是Rust寫的youtube-tui 不過不是所有網頁都能用文字TUI呈現呀！\n真的需要瀏覽器的話，我想想喔，不如開一個極簡瀏覽器吧。比如NetSurf，或者Qutebrowser視窗很簡單，只有顯示網頁的功能，其餘功能都要用Vim快捷鍵操作。這就還可以吧！這個Qutebrowser可以完全不用滑鼠瀏覽網頁內容，按組合鍵就能點選網頁上任一元素。 不過這個用的是QtWebEngine渲染分頁，背後是Chromium，載入完整網頁的話，瀏覽器RAM佔用就跟一般Chromium瀏覽器無異了。如果嫌QuteBrowser的介面太難用，還有Falkon可以考慮，同樣是使用QtWebEngine寫的輕鬆量瀏覽器。\n看來我們還是需要完整瀏覽器。\n","date":"2026年3月8日","externalUrl":null,"permalink":"/posts/terminal-web-browsers/","section":"所有文章","summary":"一直在想可不可以用文字終端機打指令上網，因為現在的瀏覽器都太肥了，Firefox和Chrome皆然。我們的老祖宗（其實也才30年前）都是用DOS文字介面上Telnet BBS的。 FYI：現在台灣PTT（中國人稱陰間論壇）用SSH指令ssh bbsu@ptt.cc也可以上喔！不用開網頁版。在只能用SSH的工作階段也能上去發廢文。畢竟Linux版PcMan年久失修…還在用GTK2真不想下載。但依照終端機的不同，可能會無法顯示中文字。 那我們沒理由不能用Linux終端機看網頁。\n現在主流的社群媒體網站，大概只有Hacker News和old.reddit.com是能用終端機瀏覽的了吧。其他的網站都太「臃腫」了。看看這個motherfucking website，你不需要網頁框架也能做好網站！去你媽的。\n老實說，我的網站雖然注重簡潔，可是也不太能用終端機檢視。\n看看Linux有哪些終端機瀏覽器。這些瀏覽器方案可比主流的瀏覽器要輕量多了呢。這些文字瀏覽器不依賴X11或Wayland視窗系統就能用，甚至你在SSH遠端工作的時候可以開來偷摸魚一下。這些輕量的瀏覽器對資源拮据的老電腦也有用。啊，不過你要檢視網頁下載的檔案的話，可能還是需要一個圖形環境。\n各大Linux發行版多半有收錄這些套件。文字終端機的特色就是全部用鍵盤操作，可不是點一點就能上網了。如果你會用Vim這類編輯器的話，通常看一下程式裡面附贈的manpage你就會很快上手了。\n","title":"探討Linux終端機看網頁的方案：w3m \u0026 Carbonyl","type":"posts"},{"content":"The tips and tricks for the Linux desktop on 2-in-1 laptop tablets.\n此處是我針對Linux平板筆電所使用的設定，希望這些經驗可以給其他Linux平板筆電裝置的用戶作為參考。 目前我手上有「Pine64 PineTab 2」和「Microsoft Surface Go 2」平板。\n他們的定位都介於平板與筆電之間，或可說是二合一平板筆電、變形筆電。\n提供觸控與鍵盤兩種互動模式。\n為此，為其挑選優化過的Linux乃是有其必要的了。它必須同時能應付觸控螢幕與鍵盤滑鼠的輸入。\n1. 作業系統選擇 # 最主要是看硬體支援哪種Linux發行版就用哪種。在這裡，Linux發行版不包含Android和ChromeOS。我要「純」的GNU/Linux平板。\nx86平板，有UEFI且驅動比較好搞定，發行版選擇很多。我個人首推Debian和Ubuntu系的發行版，不論在x86還是ARM架構的平板都有良好的支援度，而且穩定。次之是Fedora和Arch Linux系的發行版，追求最新功能但犧牲穩定度。\nARM平板比較複雜，因為沒有UEFI而且驅動碎片化。一般來說，可以試試Mobian (Debian)、postmarketOS、Ubuntu touch等系統。比較小眾的還有Arch Linux ARM、Fedora Mobile。\n2. 桌面環境選擇 # 個人認為沒有一個Linux桌面環境能同時處理好「筆電模式」與「平板模式」。如果要在同一個畫面兩個模式切換來切換去，那肯定不明智的了。應當以工作階段劃分，所以我裝了二個桌面環境。利用Linux的Display Manager允許同時啟動多種桌面環境的機制，依照當下要使用的模式，選擇適合的桌面進入。\nLinux桌面環境有很多種，現階段Wayland比較好，X11已經跟不上時代了。實際測試了各種桌面下來，發現還是GNOME 50 + Phosh最適合這種變形平板環境。KDE Plasma 6還差那麼一點，但是不夠好，只適合鍵盤操作。至於Cosmic桌面我還在觀望未來發展。\n以Debian為例，從官方套件庫安裝GNOME與Phosh。有些發行版已經預先安裝GNOME，所以額外裝Phosh就好。 sudo apt install gnome phosh 使用GDM當顯示管理器，方便開機後，在登入界面切換桌面環境： sudo systemctl enable gdm 首先，GNOME桌面負責電腦桌面模式，也就是平板接上鍵盤的時候，偶爾用點觸控也是OK的。Phosh一個APP一個畫面不符合傳統電腦多工模式，況且Phosh不相容GNOME的擴充套件，此時便是GNOME上場的時候。此模式這用於寫筆記、上網、遠端開發。如果你不熟悉GNOME操作邏輯的，請先讀：Linux GNOME桌面使用心法，理解設計哲學與操作邏輯 內建的螢幕小鍵盤可在GNOME系統設定啟用，但不夠好。推薦安裝GJS-OSK懸浮鍵盤，即可配合Fcitx5輸入中文。目前只能打漢語拼音。 因為平板不會一直接著電源，不論使用GNOME還是Phosh，我都會在系統設定 → 電源管理，設定一段時間不用後自動暫停(suspend)，進入休眠模式。若要暫時停用自動休眠，我會安裝Caffeine擴充套件，這樣GNOME右上角就會多出一個按鈕讓你停用。另外，GNOME會透過Power Profile Daemon控制系統耗電量，電源模式同樣能在右上角調整。\n另一方面，Phosh桌面負責純觸控模式下的操作，也就是把平板拿在手上看電子書或paper的時候。Phosh動畫明顯比較順暢，且手勢針對觸控裝置優化過，秉持一個APP一個視窗的理念，全域鍵盤，就好。\n小提示：Phosh 0.35.0以後的版本，要長按畫面底部的藥丸條才能喚醒鍵盤。鍵盤的Terminal配置可以喚醒Fcitx5拼音輸入法。 在連接鍵盤的時候，Phosh會自動進入Docked Mode，這個時候允許視窗重疊，視窗位置和大小可以拖動調整。\nPhosh可能會把GNOME的程式視窗放大縮小鍵弄不見，這個可以透過在~/.profile，加入以下gsettings指令，自動調整回來。\nif [[ \u0026#34;$XDG_CURRENT_DESKTOP\u0026#34; == *\u0026#34;GNOME\u0026#34;* ]]; then gsettings set \u0026#34;org.gnome.desktop.wm.preferences\u0026#34; button-layout \u0026#34;appmenu:minimize,maximize,close\u0026#34; fi 3. 自動旋轉螢幕的問題 # 平板多半內建重力感應器，偵測螢幕方向。\nWayland桌面對此處理的比較好，X11桌面不行。\n對於GNOME與KDE Plasma桌面環境，安裝iio-sensor-proxy套件，螢幕就會自動旋轉：\nsudo apt install iio-sensor-proxy sudo systemctl enable --now iio-sensor-proxy 4. 常用APP # 參閱Linux常用軟體\n針對觸控裝置設計的Linux應用程式有在增加，但是主流還是以鍵盤為主。故，許多操作應該在瀏覽器內完成吧。\n儘管我用GNOME桌面，但是我仍會用到許多KDE的APP。\n局部列表如下：\nGJS-OSK：GNOME擴充套件，比較好的螢幕小鍵盤。 Caffeine：GNOME擴充套件，暫時防止電腦自動進入休眠模式。 GSConnect，GNOME擴充套件，類似KDE Connect的傳檔與同步通知軟體。 Firefox：建議啟用垂直分頁。可以雙指放大畫面。 Chromium系瀏覽器：如Chrome和Brave，對滑鼠與觸控螢幕的支援度良好，可以用手勢返回上一頁。可以雙指放大畫面。 Dolphin：多功能檔案管理器，提供觸控操作支援。 \u0026ldquo;Drawing\u0026rdquo; by maoschanz：觸控編輯照片。 Krita：繪圖與修圖程式。 Gwenview：照片檢視器兼相簿。如果要為行動裝置優化的界面，KDE Koko也是可以啦但我覺得很難用。 VLC：影片播放器。 Okular：閱讀與註解PDF之用。速度很快，功能也很多。 KOReader：輕量PDF閱讀器。 Joplin Desktop：寫Markdown筆記與手寫筆記。 Rnote：手寫筆記與註釋PDF，比Xournal++穩。 EasyEffects + Auto Gain Presets：平板喇叭等化器。 LocalSend：比較穩定的Wifi檔案傳輸方案。 Moonlight Game Streaming：遠端桌面與遊戲。 Visual Studio Code：萬用的文字編輯器，如果嫌太肥就裝Zed。 Vim：終端機文字編輯器。 Konsole：支援鍵盤與觸控操作的終端機。 Fcitx5，使用中文輸入法。大部分時候是接上鍵盤打字的時候使用注音輸入，若要觸控輸入得學習用拼音。 Flatpak。方便安裝新版軟體。因為應用程式把驅動跟自己包在一起，所以不會因為系統更新而受到影響。 5. Waydroid執行Android APP # 雖然都用Linux了還跑Android APP很奇怪，不過臨時要用的話有個Android環境還是很方便的。\nWaydroid詳細用法參照：Waydroid教學\n安裝專有軟體Rotation Control手動控制Android的螢幕方向。因為如果你旋轉GNOME的螢幕，Waydroid視窗就會被切半。所以最好的操作方法是關閉GNOME的自動旋轉，再手動於Waydroid的軟體旋轉螢幕方向。\nWaydroid可以接收滑鼠、鍵盤、觸控、手寫筆輸入，甚至筆壓也認得到呢。\n","date":"2026年3月7日","externalUrl":null,"permalink":"/posts/my-gnu-linux-tablet-setup/","section":"所有文章","summary":"The tips and tricks for the Linux desktop on 2-in-1 laptop tablets.\n此處是我針對Linux平板筆電所使用的設定，希望這些經驗可以給其他Linux平板筆電裝置的用戶作為參考。 目前我手上有「Pine64 PineTab 2」和「Microsoft Surface Go 2」平板。\n他們的定位都介於平板與筆電之間，或可說是二合一平板筆電、變形筆電。\n提供觸控與鍵盤兩種互動模式。\n為此，為其挑選優化過的Linux乃是有其必要的了。它必須同時能應付觸控螢幕與鍵盤滑鼠的輸入。\n1. 作業系統選擇 # 最主要是看硬體支援哪種Linux發行版就用哪種。在這裡，Linux發行版不包含Android和ChromeOS。我要「純」的GNU/Linux平板。\nx86平板，有UEFI且驅動比較好搞定，發行版選擇很多。我個人首推Debian和Ubuntu系的發行版，不論在x86還是ARM架構的平板都有良好的支援度，而且穩定。次之是Fedora和Arch Linux系的發行版，追求最新功能但犧牲穩定度。\nARM平板比較複雜，因為沒有UEFI而且驅動碎片化。一般來說，可以試試Mobian (Debian)、postmarketOS、Ubuntu touch等系統。比較小眾的還有Arch Linux ARM、Fedora Mobile。\n","title":"Linux平板筆電使用技巧 + 常用觸控程式 + 中文螢幕小鍵盤","type":"posts"},{"content":"","date":"2026年3月7日","externalUrl":null,"permalink":"/tags/pine64/","section":"標籤","summary":"","title":"Pine64","type":"tags"},{"content":" Why there are so many Linux distros? It is hard to make decisions! Is this a Existential Question?\nLinuxディストリビューションが多すぎて目がくらむ。これを実存主義哲学として考えてみる。\nきっと私だけがそう感じているわけではない。なぜLinuxにはこんなに多くのディストリビューションがあり、統一できないのか。これはバルカン半島より乱れている。人にどう選べというのか？\nこれはオープンソース文化の慣性によるものだ。この現象の成因や、この問題をどう解決するかはひとまず討論しない。私たちは、こうした現状が人にもたらす意味とは何かを考えてみることができる。\nLinuxディストリビューションを選ぶことは、これまで決して単なる技術的決定ではなかった。こう考えることもできる。それは本質的に、深刻な実存主義的危機なのだ。MicrosoftやAppleがあなたのために精巧に作った閉ざされた温室に別れを告げ、オープンソース世界へ足を踏み入れたその瞬間、あなたは技術的な「実存主義者」になる。\nこれは、実存主義の視角から、Linuxユーザーがディストリビューション選択に直面するときの哲学的メタファーを捉える試みである。\n1. 「実存は本質に先立つ」 # 空白の端末から始まる自己構築。\nWindowsやmacOSの世界では、オペレーティングシステムの「本質」は先験的である。AppleとMicrosoftはすでに、システムがどのような姿をして、どのように動作すべきかをあなたの代わりに決めている。あなたはただの「ユーザー」だ。\nしかしLinux、とりわけArch、Gentoo、Linux From Scratch（LFS）のようなシステムでは、実存は本質に先立つ。基本システムをインストールし終えたとき、目の前にあるのはカーソルが点滅する黒い端末インターフェースだけだ。これこそ純粋な存在である。それはまだ何者でもない。あなたが選択を下すまでは。GNOMEをインストールするのか、KDE Plasmaをインストールするのか？Systemdを使うのか、OpenRCを使うのか？あなたが入力する一つ一つの sudo apt install や pacman -S が、このコンピューターにその「本質」を与える。\nあなたはシステムを使っているのではない。あなたはそれを創造し、何があなたのシステムなのかを定義しているのだ。\n2. 「投げ込まれ」 # 自由に直面する眩暈。\n「人間は自由の刑に処されている。なぜなら、ひとたびこの世界へ投げ込まれた以上、自分のするすべてに責任を負わなければならないからだ。」—— サルトル\n初心者がDistroWatchサイトを開き、数百ものLinuxディストリビューション（Ubuntu、Linux Mint、Fedora、Debian、Arch Linux\u0026hellip;）を目にしたとき、彼はハイデガーの言う「被投性」を深く体験する。彼は無防備なまま、標準解のないオープンソース宇宙へ投げ込まれるのだ。\nここには、何をすべきかを教えてくれるAppleのジーニアスバー（Genius Bar）はない。この絶対的な選択の自由は、必然的にサルトルが描写した「眩暈」（Vertigo）と不安をもたらす。なぜなら自由とは絶対的な責任を意味するからだ。もしあなたが間違ったPPAリポジトリを追加したり、誤ったグラフィックドライバーを更新したりしたことで、システムが起動できなくなった（Kernel Panic）としても、クックやビル・ゲイツを責めることはできない。あなたは画面上で崩壊したコードに向き合い、自分の選択に全責任を負うしかない。\n3. 「自己欺瞞」 # ディストリビューション間には見下しの連鎖がある。\nこの巨大な自由がもたらす不安から逃れるため、Linuxユーザーはサルトルの言う「自己欺瞞」（Bad Faith、Mauvaise Foi）に陥りやすい。自己欺瞞にはよくある二つの表現形式がある：\n盲従の自己欺瞞：目を閉じ、フォーラム上の「初心者はUbuntuを使うべき」という教条に盲目的に従い、自分のワークフローに合うものを探求する自由を放棄し、自分の選択権を大衆世論へ譲り渡す。\n優越感の自己欺瞞：虚栄心のために自分へ敷居の高いシステムの使用を強制し、あちこちで「I use Arch, btw」と宣言する。このときユーザーは自分の存在を「Archユーザー」というラベルへ単純化し（自分を物象化し）、オペレーティングシステムは結局のところ自己価値を実現するための道具にすぎないことを忘れている。これもまた、誠実な自由への裏切りである。\n4. 「シーシュポス」 # 反抗と不条理の楽しいデバッグ。\nLinuxの日常メンテナンスでは、サウンドカードから音が出ないBugを解決するために週末を丸ごと費やすことがあるかもしれない。あるいは終わりなき「依存性地獄」の中でもがくこともある。ようやく設定し終えた完璧なデスクトップが、たった一度のsudo pacman -Syuシステム更新によって完全に崩壊し、すべてをやり直さなければならないこともある。\nこれはカミュの描くシーシュポスと完璧に呼応している。神に罰せられ、巨石を山頂へ押し上げては、それが転がり落ちるのを見つめ、また押し上げることしかできない不条理の英雄である。\nなぜLinuxユーザーはなおtinkeringを続けるのか？キーボードを叩き、Arch Wikiを読み、システムを修復する過程で、ユーザーは自分の主体性を確認するからだ。商業的な閉鎖システムの不条理に向き合うとき、いじり倒すこと自体が一種の反抗なのである。\nカミュが言ったように：\n「頂へ登ろうとする闘争そのものが、人の心を満たすに足る。我々はシーシュポスを幸福なものとして想像しなければならない。」\n結論 # この眩暈をもたらす自由の海に向き合い、人は自分の自由をどのように定義すべきなのか。\n実存主義的な左派であるなら、MacbookやWindowsを使うべきではなく、Linuxを使うべきだ。それこそがさらに一歩進んだ「覚醒」である。ただし、覚醒は必ずしも左派、あるいはwokeと強く結びつく必要はない。右派も自由を追求してよい。\nちなみに、simonxix: existentialism and free and open-source software: an attempted synthesis という文章を書いた人がいる。実存主義と自由・オープンソースソフトウェアにはどのような類似点があるのか？エンジニアではない人間が、なぜ快適なWindowsやmacOSシステムを捨て、GNU/Linuxへ移行しなければならないのか？（ここではAndroidとChromeOSは含まず、Ubuntu、Fedora、Arch LinuxのようなものだけをGNU/Linuxとする）古いpotato pcを復活させる以外に、Linuxには追求する価値のある何があるのか？この「実存主義と自由・オープンソースソフトウェアの関係」という文章は、人を説得するには十分だろう。文系の私ですら信じた。自由ソフトウェア財団公式サイトでRichard Stallmanが主筆した一連の自由ソフトウェア理念の記事を読み終えたあと、この文章の新しい角度から入ることができる。つまり、人は自分の自由に対して責任を負わなければならない。GNU/Linuxを使うことは、あなたの決意を守る第一歩なのだ。\n本文は最初、ある単純な発想から始まった：「Linuxディストリビューションが多すぎて選べないというのは、自由と責任に関する実存主義的な哲学問題なのではないか？」詳細な哲学内容はGeminiの協力で拡張した。\n","date":"2026年3月7日","externalUrl":null,"permalink":"/ja-jp/posts/linux-distro-and-existentialism/","section":"Foss-Issues","summary":" Why there are so many Linux distros? It is hard to make decisions! Is this a Existential Question?\nLinuxディストリビューションが多すぎて目がくらむ。これを実存主義哲学として考えてみる。\nきっと私だけがそう感じているわけではない。なぜLinuxにはこんなに多くのディストリビューションがあり、統一できないのか。これはバルカン半島より乱れている。人にどう選べというのか？\nこれはオープンソース文化の慣性によるものだ。この現象の成因や、この問題をどう解決するかはひとまず討論しない。私たちは、こうした現状が人にもたらす意味とは何かを考えてみることができる。\nLinuxディストリビューションを選ぶことは、これまで決して単なる技術的決定ではなかった。こう考えることもできる。それは本質的に、深刻な実存主義的危機なのだ。MicrosoftやAppleがあなたのために精巧に作った閉ざされた温室に別れを告げ、オープンソース世界へ足を踏み入れたその瞬間、あなたは技術的な「実存主義者」になる。\nこれは、実存主義の視角から、Linuxユーザーがディストリビューション選択に直面するときの哲学的メタファーを捉える試みである。\n1. 「実存は本質に先立つ」 # 空白の端末から始まる自己構築。\n","title":"「Linuxディストリビューションが多すぎて選べない」を実存主義哲学として考える","type":"foss-issues"},{"content":"","date":"2026年3月7日","externalUrl":null,"permalink":"/ja-jp/tags/existentialism/","section":"Tags","summary":"","title":"Existentialism","type":"tags"},{"content":"我又回來用Linux平板了。\n賈伯斯說過，人們不知道他們要什麼產品 (People don\u0026rsquo;t know what they want until they\u0026rsquo;ve seen it.) ，所以就讓商業公司幫你定義最好。\n幾個月前，我開箱了在蝦皮拍賣花1000元撿到的Surface Go 2，嘗試安裝Linux測試。\n修好電池之後，我開始將它作為主力裝置使用。\n在Surface Go 2安裝了GNU/Linux系統。\n先說，老實說我覺得不行，作為平板，Linux觸控界面完全不夠好。作為筆電，多工性能又太弱。我自己都用得很克難，更別說一般normie了。\n這是跟iPad Air 6比較起來的。過去兩年外出主力輕辦公主要為這台，雖然iOS限制很多，不過能get jobs done。\n關於Linux平板呢\u0026hellip;我更早之前用過PineTab 2經歷慘烈的失敗後，換到iPad Air 6才解決問題。現在又再次嘗試了。\n地獄的索羅門之海呦\u0026hellip;我又回來了。\n功耗不到10W的x86處理器，但是續航力只有5小時，還卡的要死，明明都裝GNU/Linux了耶。我想是現在的桌面程式都太膨脹了，大家都用Electron打包\u0026hellip;We should rewrite everything in Rust!\n終於把Surface Go 2 (4G/64G/Intel Pentium 4425y) 這個破爛的電池給修好了，花了恁爸3000元請人把這塊膠水平板拆開再黏回去。\n在之前的開箱文寫過，這台平板我只花1000元入手，我又買了手寫筆、SD卡、皮套的配件，加上換電池的3000元，目前為止這台平板的成本大約是6000元。這錢依然比在PChome買二手的Surface Go 2單機要便宜些。要是我再忍不住去買一個二手原廠Alcantara鍵盤皮套的話，就8000元了\u0026hellip;不了，我還是先用藍牙鍵盤撐著好了。\nWindows 10是我為了送修才臨時重灌回去的，EOL了就ㄅㄅ。我大概很長一段時間都不會考慮用Windows了吧，得選Linux相關的系統才顯得我很自由不被監控。\n這次重裝系統我決定用Fedora Kinoite (KDE Plasma桌面)，用Atomic機制確保日後好維護。rpm-ostree安裝好久啊，簡單的系統離線安裝就花了20分鐘，image-based的系統是不是不適合低速eMMC呢？\n太好了，Fedora 43的KDE Plasma 6.6之後，Maliit Keyboard終於穩定下來了，注音觸控鍵盤不會彈出來一下子就消失了！但打字還是會當掉。只有在Chomium瀏覽器比較正常。\n這樣操作起來表面上有近似Windows 10平板模式的體驗，可以純觸控操作不依賴鍵盤了。最差還有跑在XWayland模式的Onboard搭配Fcitx5。又能快速切換成桌面模式。 Linux 6.16核心的待機模式運作良好，可以安心放在包包裡面不會喚醒，畢竟我的鍵盤是用藍牙，沒有其他方式喚醒。只有按電源鍵才會喚醒待機。\n喔，what a life。放American Authors - Luck這首歌慶祝\n\u0026hellip;\u0026hellip;.別高興的太早。KDE鎖定螢幕如果切換的鍵盤錯誤，是只能用硬體鍵盤解鎖了（Maliit Keyboard跟Fcitx5是透過KDE的虛擬鍵盤啟動的，一次只能用一個）。還有Maliit Keyboard很容易當掉，非常難用。Onboard設定起來很麻煩。fcitx5-osk得手動編譯。\n要說對平板支援度較好的，還得是GNOME搭配GJS OSK。可是也只是勉強能用而已。參見：Linux觸控螢幕鍵盤一覽 真的沒一個足夠好用的。\n還有，4GB RAM實在太小了，zRAM加大也沒什麼用，我得手動設定SWAP File比較適當。依照我平常的使用習慣，同時開三個以上Electron程式。KDE桌面佔用快2GB RAM，加上Chrome開三個分頁就佔滿了，如果我再開一個Electron寫成的程式就很容易當掉了。慘到我在多工的時候得用TUI播放音樂，如ncspot for Spotify和youtube-tui，以求盡量節省資源。另外我得開啟Chromium瀏覽器的記憶體節省模式，自動釋出分頁佔用的RAM。\n這是平板二合一電腦，為了方便處理觸控鍵盤切換事件，我只會用Wayland桌面，X11拒絕。\nKDE Plasma和GNOME都很吃資源，換成Phosh會好一點點，這個Wayland桌面合成器佔用不到1GB，可以留出更多資源。\n雖然很不想承認，這台平板基本上只夠跑一個Chrome瀏覽器的工作階段。\n若是如此，與其在那邊折騰各種Linux桌面環境的組合，直接裝ChromeOS Flex或Android-x86更省事吧。\n說的對，實際試用後發現真的省事多了。只要交出你的隱私權換取便利即可：Surface Go 2安裝ChromeOS Flex體驗 裝完用起來真的蠻無腦的。對我們這些被iPad和Android的fancy features慣壞的小孩子來說，GUI的吸引力比CLI什麼的重要多了。Linux系統自由度高又如何？成熟的行動裝置解決方案在哪？Android和ChromeOS做的事情已經很偉大了，包括人機界面以及前後台行程管理以適應行動時代。GNU/Linux真的不需要再重新造輪子。\n可是，這實在太不「自由」了。\n所謂的覺悟，不是抱定犧牲的決心，而是在黑暗的荒野中，劈出前進的道路！\n為了穩定考量，我最後還是選了Debian Stable + GNOME，起碼這是真的穩定，且對觸控友好。第三方開發的螢幕小鍵盤GJS-OSK是真的能搭配Fcitx5輸入中文，儘管依然克難，但比KDE好太多了。\n最終的常用方案整理為：Linux平板筆電使用技巧 + 常用軟體\n用Debian體驗心靈祥和。雖然我討厭GNOME的諸多設計，也只能捏著鼻子用。並搭配Phosh桌面當作備案。 結果跟以前用PineTab 2所做出的選擇一模一樣啊。不過情況好點，同樣都是低端，Surface Go 2的x86處理器比PineTab 2的ARM處理器性能有好那麼一咪咪，GNOME系統動畫相對流暢。還有Debian更新後崩潰的機率比Arch Linux ARM小多了。\n還有娛樂體驗，sRGB 100%的螢幕顏色漂亮，喇叭優秀。Microsoft的調音還不賴嘛。希望不是我錯覺，Surface Go 2 (2020) 的前置雙喇叭聽起來比iPad Air 6 (2024) 的雙側喇叭要好聽是怎麼回事，高低音都穩穩的呈現，接近桌上型喇叭不破音，即使是裝Debian Linux依然很不錯\u0026hellip;！\n這樣看來，Surface Go 2的負面觀感沒有PineTab 2那麼高，那個低色域螢幕看久了真的會得憂鬱症。起碼這台平板安裝Linux後作為娛樂用途還是有用的。\n但我再怎麼催眠自己，也知道GNU/Linux的桌面設計是不可能比商業公司設計的好用的，尤其是觸控界面。\n因此在不方便使用鍵盤滑鼠的場合，我還是乖乖帶上iPad Air 6。\n","date":"2026年3月6日","externalUrl":null,"permalink":"/posts/daily-drive-linux-on-microsoft-surface-go-2/","section":"Unboxings","summary":"我又回來用Linux平板了。\n賈伯斯說過，人們不知道他們要什麼產品 (People don’t know what they want until they’ve seen it.) ，所以就讓商業公司幫你定義最好。\n幾個月前，我開箱了在蝦皮拍賣花1000元撿到的Surface Go 2，嘗試安裝Linux測試。\n修好電池之後，我開始將它作為主力裝置使用。\n在Surface Go 2安裝了GNU/Linux系統。\n先說，老實說我覺得不行，作為平板，Linux觸控界面完全不夠好。作為筆電，多工性能又太弱。我自己都用得很克難，更別說一般normie了。\n這是跟iPad Air 6比較起來的。過去兩年外出主力輕辦公主要為這台，雖然iOS限制很多，不過能get jobs done。\n關於Linux平板呢…我更早之前用過PineTab 2經歷慘烈的失敗後，換到iPad Air 6才解決問題。現在又再次嘗試了。\n地獄的索羅門之海呦…我又回來了。\n功耗不到10W的x86處理器，但是續航力只有5小時，還卡的要死，明明都裝GNU/Linux了耶。我想是現在的桌面程式都太膨脹了，大家都用Electron打包…We should rewrite everything in Rust!\n終於把Surface Go 2 (4G/64G/Intel Pentium 4425y) 這個破爛的電池給修好了，花了恁爸3000元請人把這塊膠水平板拆開再黏回去。\n在之前的開箱文寫過，這台平板我只花1000元入手，我又買了手寫筆、SD卡、皮套的配件，加上換電池的3000元，目前為止這台平板的成本大約是6000元。這錢依然比在PChome買二手的Surface Go 2單機要便宜些。要是我再忍不住去買一個二手原廠Alcantara鍵盤皮套的話，就8000元了…不了，我還是先用藍牙鍵盤撐著好了。\n","title":"Surface Go 2平板裝Linux的體驗恐怕還不如ChromeOS Flex？","type":"unboxing"},{"content":"示範如何在x86電腦安裝postmarketOS。\n1. 簡介 # postmarketOS為基於Alpine Linux修改而來的Linux發行版。什麼是postmarketOS？\npostmarketOS主要為行動裝置設計，ARM居多，x86的話比較少見，但也不是不能裝。\n畢竟postmarketOS還是基於Linux核心開發的系統，x86當然也是支援的。\n那既然是x86電腦，為什麼不直接裝Alpine Linux就好了呢？Alpine Linux官方主力支援的架構就有x86。\n我這裡要用的是平板筆電Microsoft Surface Go 2，就要選專為行動裝置設計的發行版，postmarketOS。他們打包的桌面套件有特別維護過。縱然其他Linux發行版也有收這些套件，不過處理上沒有postmarketOS團隊細心。另外他們提供穩定更新與滾動更新兩個頻道，大約每6個月更新一次，可以一定程度上確保穩定性。\npostamarketOS將一般x86電腦統稱為Generic x86_64或Generic x64 UEFI device。他們具備UEFI，沒有ARM裝置碎片化那麼嚴重，所以相對好處理。\n他們就將使用者常用的桌面軟體都打包進去，並且使用最新版Linux LTS kernel，採用muslC編譯。只要是Alpine Linux能執行的硬體，postmarketOS應該也能用。\n2. x86電腦安裝postmarketOS # 依照postmarketOS Wiki的說明，針對x86電腦，大多數的範例是Chromebook。需要下載OS Insaller版本的映像檔，裡面可以選擇要安裝的桌面環境與分區。postmarketOS官網只有提供.img檔，沒有.iso檔。開機後依照指示安裝就可以了。 當然你也可以透過dd指令的方式，將.img映像檔寫入到硬碟，但這樣就會很迂迴。而且你得先把電腦的硬碟抽出來才能實行。我的Surface Go 2的儲存元件是焊死的。我們只能LiveUSB開機，然後把映像檔放到SD卡（LiveUSB的暫時系統空間太小），開機後用LiveUSB的終端機手動dd進去。這樣太麻煩了。除非os-installer有bug否則不要這樣裝（嗯，我測試當下真的遇到安裝器崩潰了\u0026hellip;也許是太少人用的緣故）。\n到官網下載Generic x86_64映像檔，選取os-intaller資料夾。這是含有GNOME桌面的LiveUSB。\n下載後將.xz檔案解壓縮\n然後用dd指令將img寫入，製作開機隨身碟（直接用Ventoy開機也可以，它支援.img檔案）\nsudo dd if=*-postmarketOS-*-os-installer-9-generic-x86_64-lts.img of=/dev/sdd bs=4M status=progress 用隨身碟開機\n依照畫面指示完成安裝。我要用觸控操作，所以選GNOME桌面\n重開機就可以用了。預設使用者密碼是147147\n3. 系統操作技巧 # 參見postmarketOS使用技巧\n參考資料 # OS Installer - postmarketOS Wiki ","date":"2026年3月6日","externalUrl":null,"permalink":"/posts/install-postmarketos-generic-x86-64/","section":"所有文章","summary":"示範如何在x86電腦安裝postmarketOS。\n1. 簡介 # postmarketOS為基於Alpine Linux修改而來的Linux發行版。什麼是postmarketOS？\npostmarketOS主要為行動裝置設計，ARM居多，x86的話比較少見，但也不是不能裝。\n畢竟postmarketOS還是基於Linux核心開發的系統，x86當然也是支援的。\n那既然是x86電腦，為什麼不直接裝Alpine Linux就好了呢？Alpine Linux官方主力支援的架構就有x86。\n我這裡要用的是平板筆電Microsoft Surface Go 2，就要選專為行動裝置設計的發行版，postmarketOS。他們打包的桌面套件有特別維護過。縱然其他Linux發行版也有收這些套件，不過處理上沒有postmarketOS團隊細心。另外他們提供穩定更新與滾動更新兩個頻道，大約每6個月更新一次，可以一定程度上確保穩定性。\npostamarketOS將一般x86電腦統稱為Generic x86_64或Generic x64 UEFI device。他們具備UEFI，沒有ARM裝置碎片化那麼嚴重，所以相對好處理。\n他們就將使用者常用的桌面軟體都打包進去，並且使用最新版Linux LTS kernel，採用muslC編譯。只要是Alpine Linux能執行的硬體，postmarketOS應該也能用。\n","title":"一般x86電腦安裝postmarketOS","type":"posts"},{"content":"為你的筆電安裝Linux之前，除了選好Linux發行版之外，還要關注它使用的桌面環境（desktop environment）是否支援HiDPI（高像素密度，高分屏）以及分數縮放（fractional scaling，又稱非整數縮放）。\n當我們在小螢幕的筆電/筆記本遇到高解析度（1080p或4K）的面板的時候，就要處理HiDPI縮放的問題。變形筆電和平板同樣會遇到這個問題。這個問題解決與否，關係到操作起來的體驗。\n先說結論， Wayland桌面是解決之道，X11桌面已經幾乎沒救了 ，不論它是用GTK還是QT寫的都一樣，只能靠一堆dirty hack修修補補，操作起來十分不直覺，不如直接切換到Wayland。\n講我的具體例子吧，例如我的MSI筆電有15吋面板，1920x1080解析度，在安裝Linux Mint 22的Cinnamon桌面 (X11) 的時候，預設100%縮放，畫面元素會顯得很小。又Cinnamon對分數縮放支援很差勁，無法全域縮放為125%，只能手動放大字體DPI而已。為什麼呢？其實Cinnamon支援實驗性的分數縮放，但因為GTK X11的技術限制，Cinnamon跟GNOME X11、XFCE一樣，這種分數縮放原理是將螢幕放大解析度後再向下裁切。這會導致GPU佔用上升。如果不使用獨顯渲染的話畫面會變得很lag（內顯使用率在開啟分數縮放後上升了50%！）。折衷解決方法是維持100%縮放，只調大字體了，可謂極其骯髒的解決手段。 要如何解決這個問題？切換到Wayland吧。雖然Linux Mint的Cinnamon桌面支援Wayland，且Wayland確實能更好的做到分數縮放。不過在Linux Mint 22的版本Wayland問題很多，比X11還不穩定，不建議使用。\nUbuntu 24.04的GNOME 46桌面有打過patch，支援分數縮放，但Wayland支援情況仍是未知數。\nQT寫的KDE Plasma桌面在X11對分數縮放的支援度要好些。Wayland版本的更是能做到完美的分數縮放。\n那麼要更好的分數縮放的話，就得換個桌面甚或是發行版。例如換到搭載KDE Plasma桌面 (Wayland) 的Kubuntu 26.04，或是Fedora 43的GNOME 49才能解決分數縮放問題。 理想上，應該是在系統設定，全域放大110%或125%程度，所有程式的元素就都跟著放大。但是其實沒有這麼簡單。\n參考我之前寫的：\nX11桌面縮放 Wayland桌面縮放 Linux的分數縮放是一團糟。\n降低解析度（如1920x1080 → 1600x900）來放大畫面元素不在考慮選項之內。既然我買了高畫質螢幕，當然就是每個像素都要用上！\n以下是針對各個熱門Linux Wayland桌面環境的HiDPI支援度檢視。\nKDE Plasma # Kubuntu、opensSUSE Tumbleweed、SteamOS的桌面。\n自KDE Plasma 5.27之後妥善的支援了分數縮放，KDE Plasma 6更為成熟。X11和Wayland都有分數縮放，現在用Wayland比較好。\n在系統設定 → 螢幕，選取分數縮放。至於跑在XWayland的X11程式不會跟著縮放，需要設定X11專用的環境變數處理。 GNOME # Fedora、Ubuntu、Debian、Zorin OS的桌面。\nGNOME 48以上版本提供Wayland分數縮放，處於實驗性狀態，一些發行版預設開啟，一些發行版需要用指令開。GNOME 50才正式支援Wayland分數縮放。\n在系統設定 → 顯示器，啟用分數縮放。 針對跑在XWayland的X11程式，用這個指令啟用分數縮放：\ngsettings set org.gnome.mutter experimental-features \u0026#39;[\u0026#34;scale-monitor-framebuffer\u0026#34;, \u0026#34;xwayland-native-scaling\u0026#34;]\u0026#39; Cosmic # Pop! OS與Fedora的桌面。\n很早就支援分數縮放了。在系統設定 → 顯示，啟用分數縮放。 其他Wayland桌面 # XFCE、Cinnamon、LXQT、Hyprland、Sway、Wayfire、Niri這類合成器對分數縮放有程度不一的支援，太複雜，請參考開發者文件，暫此不表。\n","date":"2026年3月6日","externalUrl":null,"permalink":"/posts/linux-desktop-environment-for-laptops/","section":"所有文章","summary":"為你的筆電安裝Linux之前，除了選好Linux發行版之外，還要關注它使用的桌面環境（desktop environment）是否支援HiDPI（高像素密度，高分屏）以及分數縮放（fractional scaling，又稱非整數縮放）。\n當我們在小螢幕的筆電/筆記本遇到高解析度（1080p或4K）的面板的時候，就要處理HiDPI縮放的問題。變形筆電和平板同樣會遇到這個問題。這個問題解決與否，關係到操作起來的體驗。\n先說結論， Wayland桌面是解決之道，X11桌面已經幾乎沒救了 ，不論它是用GTK還是QT寫的都一樣，只能靠一堆dirty hack修修補補，操作起來十分不直覺，不如直接切換到Wayland。\n講我的具體例子吧，例如我的MSI筆電有15吋面板，1920x1080解析度，在安裝Linux Mint 22的Cinnamon桌面 (X11) 的時候，預設100%縮放，畫面元素會顯得很小。又Cinnamon對分數縮放支援很差勁，無法全域縮放為125%，只能手動放大字體DPI而已。為什麼呢？其實Cinnamon支援實驗性的分數縮放，但因為GTK X11的技術限制，Cinnamon跟GNOME X11、XFCE一樣，這種分數縮放原理是將螢幕放大解析度後再向下裁切。這會導致GPU佔用上升。如果不使用獨顯渲染的話畫面會變得很lag（內顯使用率在開啟分數縮放後上升了50%！）。折衷解決方法是維持100%縮放，只調大字體了，可謂極其骯髒的解決手段。 ","title":"適合筆電使用的Linux桌面發行版（對HiDPI與分數縮放支援較好）","type":"posts"},{"content":"Microsoft Surface Go 2是二合一的x86平板筆電，我想給Surface Go 2找一個適合在觸控與鍵盤之間快速轉換的系統。目前Android-x86基本已死，Bliss OS停更。要有一個簡單易用的觸控界面與鍵盤操作的電腦系統，當下選擇ChromeOS Flex了。\n之前嘗試過給Surface Go 2安裝GNU/Linux，但Linux的桌面環境普遍不適合觸控螢幕使用，沒有鍵盤就活不下去。\n如果99%時間的工作都能在瀏覽器完成，偶爾需要用到一點桌面程式的話，ChromeOS Flex是值得考慮的選擇。 1. ChromeOS Flex簡介 # ChromeOS現在可以在Chromebook以外的裝置安裝，但不保證穩定性。這就是ChromeOS Flex，基於Google先前收購的CloudReady所釋出的通用映像檔，可以在一般的x86電腦安裝。\nChromeOS Flex是由Chrome瀏覽器作為主畫面的系統，跟一般的GNU/Linux發行版不太一樣。ChromeOS Flex核心使用Linux kernel，透過專門的Wayland合成器Exosphere顯示圖形界面。雖然上游ChromiumOS是開源專案，但ChromeOS Flex含有Google服務的閉源組件，屬於閉源系統。\nChromeOS Flex硬體需求極低，可以滿足基本上網需求，只要登入Google帳號就能使用，這個帳號可以是個人帳號，也可以是由企業組織統一管理。ChromeOS Flex主打雲原生，所謂的應用程式基本都是PWA構成。要安裝GNU/Linux的軟體得透過Crostini虛擬機執行。\n反過來說，沒有網路ChromeOS就無用武之處。ChromeOS是專為Google生態系設計的系統，因此安裝ChromeOS你將會獲得Google 24小時的全方面監控。\n為什麼選ChromeOS Flex：起碼這是Google官方維護的專案。\n比較同類專案，ChromeOS Brunch要求的CPU架構太新。Project Croissant已經停止維護。FydeOS是專為中國用戶打造的系統，而且系統更新需要收費。\n看來看去還是ChromeOS Flex就好了。聽說未來ChromeOS要跟Android合併，不過並不是現在的事情。要立即可用的系統，就是ChromeOS Flex。\n雖然ChromeOS Flex跟Chromebook的ChromeOS比起來，拿掉了相容Android APK的能力（ArcVM虛擬機），但是它依然保留Crostini的Linux虛擬機，可以在裡面安裝Linux圖形程式。\nChromeOS是使用Linux核心的系統，透過linux-surface團隊upstream的努力，只要核心夠新，Surface Go 2的硬體驅動應該大部分都能用才對。\n2. 安裝ChromeOS Flex # 準備一個16GB以上的隨身碟\n參考官網ChromeOS Flex 安裝指南，使用Chromium系列的瀏覽器製作開機碟。\n或者手動下載.bin檔案，再用dd指令將.bin檔案寫入隨身碟。可以用Ventoy開機嗎？不行，我嘗試下載映像檔，將副檔名改為.img雖然可以開機，但會變成LiveUSB，無法啟動安裝程式。\n安裝之前，確保Surface Go 2只有內部磁碟機。不要插入SD卡，我發現ChromeOS不能選分區，會導致它抓錯安裝位置。\n將隨身碟插上Surface Go 2。開機時按著電源鍵 + 音量上鍵，進入UEFI\n關閉Secure Boot。雖然ChromeOS Flex支援，但我懶得開。\n設定為USB優先開機。\n開機後按照指示安裝ChromeOS Flex系統。其實也沒什麼可選的，它會自動偵測硬碟位置並清除資料，重開機就可以用了。 3. 使用體驗 # 目前ChromeOS Flex版本145，使用Linux 6.6核心，Surface Go 2硬體功能幾乎正常！\nChromeOS很輕量，即使是在eMMC，開機速度不到30秒。不用的話完全可以直接關機。\nSurface Go 2的觸控螢幕、自動旋轉、自動亮度、Wifi、藍牙都可以使用。\nSurface手寫筆可以使用，在網頁執行的AFFiNE筆記程式可以確認到筆壓。\nInel IPU相機勉強能用，而且品質比GNU/Linux的好！？但還是比Windows的差。\nChromeOS內建注音中文輸入法，不論是用觸控還是打字輸入都很直覺，尤其是觸控輸入法，就跟用Android的Gboard沒兩樣。系統會自動偵測有無接上鍵盤並在適當的時候顯示。\n任意網頁都可以安裝為PWA，新增到桌面。 系統界面操作跟Android平板很像，從底部滑出多工視窗。同時可以用觸控和滑鼠互動。Material You風格的界面會跟著桌布變色。 Chrome瀏覽器的分頁會顯示在螢幕頂部，顯示縮圖。 這裡Chrome功能跟Linux電腦版的Chrome並無二致。可以安裝uBlock Origin Lite擋廣告。又大部分ChromeOS程式都是PWA，所以這個擋廣告是全域有效的！\n不過可能是Surface Go 2的CPU太弱的緣故，只要多工同時開著5個以上網頁，ChromeOS Flex系統動畫就會開始卡了。這個跟硬體的因素比較大。\n預設情況下要放著大概10分鐘ChromeOS才會關閉螢幕。或者手動按電源鍵鎖定螢幕，等個1分鐘就會休眠。待機期間幾乎不耗電。\n續航力部份，ChromeOS回報的預估是5小時左右，這個成績跟GNU/Linux一直開著Chrome差不多。畢竟耗電大戶Chrome瀏覽器就一直開在那，不耗電也難。\n值得注意的是ChromeOS Flex預設解析度是1080x720？可是Surface Go 2有1080p螢幕呀！調整解析度後卻不能縮放。它好像沒辦法處理Chrome在1920x1080解析度縮放的問題。 4. 啟用Crostini Linux虛擬機 # Crostini是專為ChromeOS研發的輕量虛擬機，有時會被稱為容器。它沒有使用QEMU/KVM，而是自己另外弄了一套更安全的模型出來。\n需要指出的是，Linux虛擬機的程式可能會比ChromeOS本身還吃資源，因此硬體資源本身就不充裕的電腦請謹慎評估使用。\n到系統設定啟用Linux開發環境 設定Linux使用者名稱，分配至少20GB硬碟空間。Linux圖形程式的依賴是比你想的還佔空間的。 這樣會得到一個Debian虛擬機。裡面就可以安裝一般GNU/Linux的程式了。透過「終端機」程式登入Linux Bash shell。 例如要裝Firefox，就直接從Debian套件庫安裝（Debian套件庫只有收Firefox ESR，如果要最新版Firefox得手動新增Mozilla的套件庫）\nsudo apt install firefox-esr Linux 圖形程式（具體來說，是有XDG Desktop Entry的程式）會顯示在ChromeOS Flex的程式列表 也可以在終端機透過指令啟動：\nfirefox-esr 在Linux虛擬機開啟的X或Wayland程式視窗會透過Sommelier，轉發到ChromeOS的Exosphere合成器顯示。 Linux圖形程式不能使用ChromeOS Flex的輸入法，需要在Linux虛擬機內安裝Fcitx5才能輸入中文。至於要在Linux圖形程式使用螢幕小鍵盤的話\u0026hellip;目前辦不到。雖然有onbaord，但必須有完整Linux桌面才能使用。\nChromeOS Flex會將宿主機目錄掛載到Linux虛擬機內部的/mnt/chromeos，包括ChromeOS內部空間與SD卡。從ChromeOS Flex的檔案管理器可以看到Linux內部家目錄的檔案。 若要更方便管理檔案，我的做法是在Linux虛擬機安裝KDE的dolphin檔案管理器，這樣就能方便調用Linux的程式編輯檔案，而不會被ChromeOS受限。例如，我可以在Dolphin使用GIMP開啟圖片編輯。（不過如果你在ChromeOS的檔案瀏覽器點選檔案，它也會提示你用Linux的程式去開） 預設的Linux程式GPU加速被停用了，需要手動開啟VirGL，打開Chrome，輸入chrome://flags#crostini-gpu-support，設定為Enabled，然後重開機。\n但是開啟反而無法開啟圖形程式了\u0026hellip;這個功能看來是壞掉的狀態。\n因此我們只能執行簡單的文書程式，需要GPU加速的遊戲是玩不了的。\n5. 安裝Android APP # 這個功能由ArcVM虛擬機提供，但ChromeOS Flex刻意拔掉了這個功能。也許是難以維護的緣故，或是不想付x86對ARM轉譯器libhoudini的授權費。\n不過我們可以透過Crostini安裝Waydroid呀！參考這個教學換個核心再安裝，裡面就有Play商店了，還有x86對ARM轉譯器libndk。\n不過問題在於，Linux虛擬機沒有GPU加速，Waydroid只能靠軟體渲染，性能極差。\n","date":"2026年3月5日","externalUrl":null,"permalink":"/posts/install-chromeos-flex-on-microsoft-surface-go-2/","section":"所有文章","summary":"Microsoft Surface Go 2是二合一的x86平板筆電，我想給Surface Go 2找一個適合在觸控與鍵盤之間快速轉換的系統。目前Android-x86基本已死，Bliss OS停更。要有一個簡單易用的觸控界面與鍵盤操作的電腦系統，當下選擇ChromeOS Flex了。\n之前嘗試過給Surface Go 2安裝GNU/Linux，但Linux的桌面環境普遍不適合觸控螢幕使用，沒有鍵盤就活不下去。\n如果99%時間的工作都能在瀏覽器完成，偶爾需要用到一點桌面程式的話，ChromeOS Flex是值得考慮的選擇。 1. ChromeOS Flex簡介 # ChromeOS現在可以在Chromebook以外的裝置安裝，但不保證穩定性。這就是ChromeOS Flex，基於Google先前收購的CloudReady所釋出的通用映像檔，可以在一般的x86電腦安裝。\nChromeOS Flex是由Chrome瀏覽器作為主畫面的系統，跟一般的GNU/Linux發行版不太一樣。ChromeOS Flex核心使用Linux kernel，透過專門的Wayland合成器Exosphere顯示圖形界面。雖然上游ChromiumOS是開源專案，但ChromeOS Flex含有Google服務的閉源組件，屬於閉源系統。\n","title":"Surface Go 2安裝ChromeOS Flex + 設定Linux虛擬機","type":"posts"},{"content":"","date":"2026年3月4日","externalUrl":null,"permalink":"/tags/ostree/","section":"標籤","summary":"","title":"OSTree","type":"tags"},{"content":"你喜歡Distro-hopping，那有想過DE-hopping嗎？從GNOME換到KDE Plasma，再換到XFCE，甚至用極簡的Sway？將一切交給OSTree管理吧！你們要將一切的憂慮卸給祂，因為祂顧念你們。\n在採用Atomic技術的Linux發行版，用rpm-ostree可以嘗試各種桌面環境，決定哪個桌面比較適合你再繼續用。不用重裝系統。\n這是我看了Fedora Magazine得出的想法。\nLinux允許多個桌面環境並存。\n德國哲學家叔本華說過，人生如同鐘擺，不斷在痛苦和無聊之間搖擺。我想Linux用戶喜歡不斷折磨自己進行distro-hopping，就是一種砥礪哲學悟性的方式。\n我常常幹這種事，因為覺得GNOME難用就裝KDE Plasma來用，可是又覺得KDE Plasma不穩定回去用GNOME，如此往復。\n以前Fedora要安裝多重桌面環境的做法是透過dnf group install，讓多個桌面環境並存。因為Display Manager允許登入多個desktop session，所以在登入介面使用者可以選擇要啟動哪個桌面。可是請神容易送神難，日後要移除桌面環境的時候可能因為依賴關係誤刪關鍵組件。此外，一些桌面環境如果Display Manager錯誤，可是不會讓你正常使用的，例如GNOME就強制依賴GDM，用SDDM會無法鎖定螢幕。\n另外一種方法是雙重開機，裝不同的系統體驗桌面環境，然後/home分區共用這樣。可是，這樣又顯的太麻煩了些。\n在作業系統邁入映像檔部署的時代之後，包含桌面環境與Linux核心在內的檔案系統可以被視為一個整體的OCI映像檔。因此透過rpm-ostree rebase的功能，就能將目前系統映像替換為搭載其他桌面的映像。\n概念圖如下： 使用者家目錄和/etc的資料會保留下來。且如果你程式主要透過Flatpak安裝的話，也不需要重裝程式。重開機後僅是桌面環境變了而已。雖說無法兩個桌面同時共存，但是大部分時候你也不想看到其他桌面的系統程式出現互相干擾吧？\n我自己的一個具體例子是，曾經需要幫Surface Go 2測試適合的桌面環境，我就用這種方式在KDE Plasma與GNOME桌面之間來回切換，不用重裝整個Fedora Atomic系統。\nGO! OSTree, IS GOD.\n1. Fedora Atomic桌面環境有哪些 # Fedroa Atomic Desktop是一個大型專案的總稱，下轄許多Spin版本的桌面。目前的桌面的映像檔有：\nGNOME (Silverblue) KDE Plasma (Kinoite) COSMIC (Cosmic-atomic) Sway (Sericea) Budgie (Onyx) 未來可能還會有更多桌面納入，考慮到未來性應該是Wayland桌面優先。另外這些Spin的命名讓人困惑，未來除了Silverblue和Kinoite保留之外，其他Spin都是直接用桌面原名稱呼了。\n2. 確認遠端可用映像檔 # 這裡要用ostree指令，預設的遠端儲存庫是Fedora專案的 sudo ostree remote refs fedora 然後就會看到所有可用映像 # 範例輸出 fedora:fedora/43/x86_64/cosmic-atomic fedora:fedora/43/x86_64/kinoite fedora:fedora/43/x86_64/onyx fedora:fedora/43/x86_64/sericea fedora:fedora/43/x86_64/silverblue 當然除了Fedora專案以外，你也可以用ostree remote add指令匯入第三方的GitHub Container Registry，讓你rebase到Universal Blue (如Bazzite) 提供的映像檔，或是自己建置的映像。本文暫不討論rebase到自訂映像檔的操作，用Fedora專案的就好。 3. 處理layered packages # 為了防止我的layered packages與即將切換的映像檔的套件衝突，目前我是手動把layered packages列表複製下來，在rebase完成之後再把他們裝回來。\n另外一種作法是使用rpm-ostree local commit，將你目前layered packages與原本系統的基礎映像，融合成為一個新的本機映像檔。這樣的話可以更方便退回到那個狀態。只是，這樣未來會很難更新系統，因為Fedora上游發表的映像檔，未來更新還是蓋掉你的local layered packages。\n由於這裡只是移除套件，程式設定檔應該不會受影響才對。\n查看目前系統版本 sudo rpm-ostree status 將它列出的layered pacakges列表複製下來 # 範例輸出 ● fedora:fedora/43/x86_64/kinoite Version: 43.20260304.0 (2026-03-04T00:31:30Z) BaseCommit: 6be04164e31b9572ef0754ded2a3d42c761c68f7c831e913927e85693312e19d GPGSignature: Valid signature by C6E7F081CF80E13146676E88829B606631645531 LayeredPackages: distrobox fcitx5 fcitx5-chewing fcitx5-chinese-addons fcitx5-configtool fcitx5-gtk3 fcitx5-gtk4 fcitx5-qt fcitx5-qt6 gwenview htop igt-gpu-tools iio-sensor-proxy kamoso kate libcamera-gstreamer libcamera-qcam libcamera-tools mpv nvtop tailscale v4l2loopback vim vlc LocalPackages: rpmfusion-free-release-43-1.noarch rpmfusion-nonfree-release-43-1.noarch 移除所有layered packages sudo rpm-ostree reset 重開機 sudo systemctl reboot 4. 開始rebase映像檔 # 為了防止無法開機，可以先把你認為目前穩定的系統版本給釘住，讓它不要被系統自動移除： sudo rpm-ostree status sudo ostree admin pin 數字 然後開始rebase，舉例來說，我現在要從Kinoite切換到Silverblue，用以下指令切換。最好是對應目前Fedora版本的，不要隨便升級或者降級大版本。 sudo rpm-ostree rebase fedora:fedora/43/x86_64/silverblue 通常開機啟動的Display Manager的服務應該會在rebase之後自己替換掉，變成桌面對應的Display Manager，像GNOME就應該用GDM。\n看看目前Systemd的Display Manager服務指向哪個Display Manager。\nsudo systemctl status display-manager.service 若非GDM，再手動切換： sudo systemctl disable sddm sudo systemctl enable gdm 5. 切換回原本的桌面映像檔 # 如果之後沒有進行layer packages的操作（rollback只能退一版），我們完全能用rollback指令，回滾到切換桌面之前的映像。\n使用sudo rpm-ostree rebase確認狀態 #範例輸出 Deployments: ● fedora:fedora/43/x86_64/silverblue Version: 43.20260304.0 (2026-03-04T00:29:00Z) Commit: 4118fa007e90cb1563265366f8e9057d84aecdc1a4ad24c97f720a91cc8d23bc GPGSignature: Valid signature by C6E7F081CF80E13146676E88829B606631645531 fedora:fedora/43/x86_64/kinoite Version: 43.20260304.0 (2026-03-04T00:31:30Z) Commit: 6be04164e31b9572ef0754ded2a3d42c761c68f7c831e913927e85693312e19d GPGSignature: Valid signature by C6E7F081CF80E13146676E88829B606631645531 用這個指令回滾，然後重開機。 sudo rpm-ostree rollback 6. 桌面環境設定檔互相污染的問題 # Linux桌面環境會在使用者家目錄丟下設定檔(dot files)，並不會隨著rebase消失。這可能造成污染問題，例如KDE Plasma會將所有GTK程式都變成Breeze主題。換到GNOME的話依然會顯示錯誤的Breeze風格。\n這需要手動調回來。例如安裝gnome-tweaks程式能將GTK成的外觀還原回Adwaita主題。在GNOME系統設定 → 外觀也能強制重設主題。\n如果要隔離每個桌面的設定檔，我們或許應該用systemd-homed給每個桌面建立個別使用者。或者用BorgBackup程式，將系統映像檔與家目錄的dot files一起打包備份。\n參考資料 # Trying different desktop environments using “rpm-ostree rebase” - Fedora Magazine Backup on Fedora Silverblue with Borg - Fedora Magazine How to Install Universal Blue\u0026rsquo;s Base Images - Universal Blue - Discussing and Contributing to Universal Blue ","date":"2026年3月4日","externalUrl":null,"permalink":"/posts/linux-de-hopping-using-rpm-ostree/","section":"所有文章","summary":"你喜歡Distro-hopping，那有想過DE-hopping嗎？從GNOME換到KDE Plasma，再換到XFCE，甚至用極簡的Sway？將一切交給OSTree管理吧！你們要將一切的憂慮卸給祂，因為祂顧念你們。\n在採用Atomic技術的Linux發行版，用rpm-ostree可以嘗試各種桌面環境，決定哪個桌面比較適合你再繼續用。不用重裝系統。\n這是我看了Fedora Magazine得出的想法。\nLinux允許多個桌面環境並存。\n德國哲學家叔本華說過，人生如同鐘擺，不斷在痛苦和無聊之間搖擺。我想Linux用戶喜歡不斷折磨自己進行distro-hopping，就是一種砥礪哲學悟性的方式。\n我常常幹這種事，因為覺得GNOME難用就裝KDE Plasma來用，可是又覺得KDE Plasma不穩定回去用GNOME，如此往復。\n以前Fedora要安裝多重桌面環境的做法是透過dnf group install，讓多個桌面環境並存。因為Display Manager允許登入多個desktop session，所以在登入介面使用者可以選擇要啟動哪個桌面。可是請神容易送神難，日後要移除桌面環境的時候可能因為依賴關係誤刪關鍵組件。此外，一些桌面環境如果Display Manager錯誤，可是不會讓你正常使用的，例如GNOME就強制依賴GDM，用SDDM會無法鎖定螢幕。\n","title":"透過rpm-ostree rebase更換Linux的桌面環境，快速進行DE Hopping","type":"posts"},{"content":"Changing flatpak installation locations to external drives.\n眾所皆知Flatpak程式十分龐大，隨便一個瀏覽器都高達1GB，因為程式為了不依賴Linux宿主機的資源，將自身需要的函式庫都包在一起。縱然多個程式之間會共享runtime，還是免不了佔用許多空間，對一些小容量的裝置不友善。\n例如Surface Go 2基本款內部空間只有64GB。又如Steam Deck買最小64GB容量的話空間不多。\n常常用Flatpak的話，空間就都被佔滿了！\n如果說裝置可以用額外的SD卡或者外部SSD磁碟擴充空間，那麼我們應該能夠把Flatpak的程式移動過去才對。\n在Flatpak的安裝目錄建立符號連結(symlink)，將目錄指向外部硬碟是一個辦法，不過其實Flatpak本身就支援指定外部安裝路徑了喔。\n1. 新增自訂安裝路徑 # Flatpak預設有兩種安裝路徑，下載的OSTree映像檔會放在system(/var/lib/flatpak/)或user(~/.local/share/flatpak/)\n在外部磁碟建立一個給Flatpak儲存資料的目錄，例如我的例子是/run/user/media/SDCARD/flatpak/\n編輯設定檔，這裡要新增一個外部安裝檔\nsudo mkdir -p /etc/flatpak/installations.d/ sudo vim /etc/flatpak/installations.d/extra.conf 指定這個安裝檔叫做extra，並填入路徑 [Installation \u0026#34;extra\u0026#34;] Path=/run/user/media/SDCARD/flatpak DisplayName=Extra Installation StorageType=harddisk 然後給這個外部安裝設定檔加入Flathub套件庫 flatpak --installation=extra remote-add flathub https://flathub.org/repo/flathub.flatpakrepo 這樣的話就可以安裝Flatpak套件了，執行指令的時候一律要加上flatpak --installation=extra。安裝Flatpak程式的時候，它會顯示為system (extra)。 2. 資料儲存路徑 # 雖然Flatpak程式安裝在外部路徑，但是Flatpak程式產生的資料依然會寫入到目前使用者的~/.var/。\n如果你想要將家目錄的資料與系統完全隔離，只有將整個/home獨立掛載到外部磁碟一途了。\n那要是把裝有Flatpak程式的外部磁碟抽掉，Linux系統能否依然開機？是可以的，但就那部份安裝在外部磁碟的程式會暫時消失。Flatpak程式圖示會出現在Linux桌面，看的乃是Dekstop Entry（位於外部磁碟機的flatpak/exports/bin/）是否包含在$XDG_DATA_DIRS的環境變數內，能不能被掃描到。\n還有個問題是，自訂Flatpak安裝位置屬於較少見的操作，所以一些Flatpak前端管理程式如Flatseal，可能看不到外部磁碟機的路徑所安裝的Flatpak程式。\n3. 遷移現有Flatpak程式到外部磁碟 # 為了防止權限問題，我不建議將整個~/.local/share/flatpak/目錄直接複製到外部磁碟。我覺得直接重裝比較快！不過here is the deal：Flatpak程式移除後預設是不會刪除資料，且Flatpak程式不論裝在哪裡，資料預設都是寫入到目前使用者家目錄。因此簡單備份一下Flatpak程式列表，移除後再重裝就行。\n匯出目前Flatpak程式列表成文字檔\nflatpak --user list --app --columns=application \u0026gt; flatpaks.txt 解除安裝所有Flatpak程式，移除所有依賴項目 flatpak --user remove --all flatpak --user remove --unused 還原Flatpak安裝程式列表，安裝到外部磁碟機目錄 xargs flatpak --installation=extra install -y \u0026lt; flatpaks.txt 4. 作為可攜式軟體的可能性？ # 有可能，這確實是一個方式，如果多個系統共用同一個Flatpak程式的磁碟，就不用重複下載程式。\n不過每台電腦需要的函式庫不太一樣，且宿主機依然需要安裝Flatpak才能使用。\n建議還是用Create USB的方式建立可攜式Flatpak軟體比較妥當。\n參考資料 # Adding a custom installation - Flatpak Documentation About Flatpak installations - Goings on | Just another GNOME Blogs site ","date":"2026年3月3日","externalUrl":null,"permalink":"/posts/flatpak-custom-installation-locations/","section":"所有文章","summary":"Changing flatpak installation locations to external drives.\n眾所皆知Flatpak程式十分龐大，隨便一個瀏覽器都高達1GB，因為程式為了不依賴Linux宿主機的資源，將自身需要的函式庫都包在一起。縱然多個程式之間會共享runtime，還是免不了佔用許多空間，對一些小容量的裝置不友善。\n例如Surface Go 2基本款內部空間只有64GB。又如Steam Deck買最小64GB容量的話空間不多。\n常常用Flatpak的話，空間就都被佔滿了！\n如果說裝置可以用額外的SD卡或者外部SSD磁碟擴充空間，那麼我們應該能夠把Flatpak的程式移動過去才對。\n在Flatpak的安裝目錄建立符號連結(symlink)，將目錄指向外部硬碟是一個辦法，不過其實Flatpak本身就支援指定外部安裝路徑了喔。\n1. 新增自訂安裝路徑 # Flatpak預設有兩種安裝路徑，下載的OSTree映像檔會放在system(/var/lib/flatpak/)或user(~/.local/share/flatpak/)\n在外部磁碟建立一個給Flatpak儲存資料的目錄，例如我的例子是/run/user/media/SDCARD/flatpak/\n編輯設定檔，這裡要新增一個外部安裝檔\nsudo mkdir -p /etc/flatpak/installations.d/ sudo vim /etc/flatpak/installations.d/extra.conf 指定這個安裝檔叫做extra，並填入路徑 [Installation \"extra\"] Path=/run/user/media/SDCARD/flatpak DisplayName=Extra Installation StorageType=harddisk 然後給這個外部安裝設定檔加入Flathub套件庫 flatpak --installation=extra remote-add flathub https://flathub.org/repo/flathub.flatpakrepo 這樣的話就可以安裝Flatpak套件了，執行指令的時候一律要加上flatpak --installation=extra。安裝Flatpak程式的時候，它會顯示為system (extra)。 2. 資料儲存路徑 # 雖然Flatpak程式安裝在外部路徑，但是Flatpak程式產生的資料依然會寫入到目前使用者的~/.var/。\n","title":"自訂Flatpak程式安裝位置，安裝到外部磁碟機","type":"posts"},{"content":"最近買了個羅技G102二代的電競滑鼠給Linux電腦用，這個滑鼠接上去就能用，不用特殊驅動。 這個滑鼠還有切換DPI、顯示彩色LED、自訂鍵位的功能。可以透過電腦軟體自訂功能。\n但果不其然的，官方程式Logitech G Hub只支援Windows和macOS系統，Linux需要用第三方開發的程式才能自訂功能。這裡我採用的方案是ratbagd + Piper。\nratbagd是D-Bus常駐程式，Piper是圖形控制前端。\n引用哈梅爾的吹笛人的典故，透過老鼠袋(rat bag d，引申為討厭的人)，搭配吹笛人(Piper)，就可以指揮這群滑鼠。 ratbagd支援許多大廠牌的滑鼠。對羅技滑鼠的用戶來說，ratbagd可以作為Logitech G Hub的開源替代品。其他類似的軟體還有「Solaar」和「LogiOps」和「Input Remapper」。\n1. 安裝ratbagd與Piper # ratbagd支援的滑鼠廠牌請看Github Wiki。許多羅技的知名系列都是支援的。\nratbagd由libratbag專案提供。因為需要跟硬體溝通，因此最好用系統套件管理器安裝。以Ubuntu 24.04來說，可以直接從套件庫安裝ratbagd： sudo apt install ratbagd 確認ratbagd服務是否有啟動 sudo systemctl enable --now ratbagd sudo systemctl status ratbagd 使用ratbagctl list指令看是否能偵測到滑鼠型號 # 範例輸出 warbling-mara: Logitech G102 LIGHTSYNC Gaming Mouse 使用ratbagctl \u0026lt;滑鼠名稱\u0026gt; info指令，列出目前滑鼠的資訊 # 範例輸出 warbling-mara - Logitech G102 LIGHTSYNC Gaming Mouse Model: usb:046d:c092:0 Device Type: Mouse Number of Buttons: 6 Number of Leds: 1 Number of Profiles: 1 Profile 0: (active) Name: n/a Report Rate: 1000Hz Resolutions: 0: 400dpi 1: 800dpi (active) (default) 2: 1600dpi 3: 3200dpi 4: 200dpi (disabled) Button: 0 is mapped to \u0026#39;button 1\u0026#39; Button: 1 is mapped to \u0026#39;button 2\u0026#39; Button: 2 is mapped to \u0026#39;button 3\u0026#39; Button: 3 is mapped to macro \u0026#39;\u0026#39; Button: 4 is mapped to macro \u0026#39;\u0026#39; Button: 5 is mapped to none LED: 0, depth: rgb, mode: cycle, duration: 1700, brightness: 119 接著安裝Piper，這個程式只是圖形前端，所以可以用Flatpak安裝： flatpak install flathub org.freedesktop.Piper 2. 用Piper自訂滑鼠功能 # ratbagd提供命令行設定工具ratbagctl，不過我們大部分時候用Piper圖形界面就可以完成設定了。Piper所做出的變更只會儲存在Linux電腦端，因此，滑鼠接上後會自動透過ratbagd套用它對應的行為。\n你自訂的鍵位可能不會儲存在滑鼠裡面，換電腦要重新設定。部分滑鼠有「內建記憶體模式」，可以將設定保存在滑鼠端。ratbagd沒辦法改這個設定，要用Windows程式啟用。\n第一個解析度面板可以手動切換DPI，點一下set active再按套用。這裡的DPI切換後若手感還是怪怪的，你可能要到Linux桌面環境的系統設定去看一下「滑鼠速度」是否正常。 LED燈自訂，就選取顏色，設定要呼吸燈循環顯示或者單色。這要看你的滑鼠支援哪些顏色。 按鈕面板就是自訂滑鼠的按鍵功能了。若要設定什麼都不做，就設定為Disable。 如果這裡沒有你想要的功能，但你想要設定滑鼠鍵觸發其他鍵盤事件的話，滑到最下面，傳送按鍵，設定要觸發的按鍵綁定（巨集）。例如我這裡把側邊鍵改為音量鍵（按鍵代碼為KEY_VOLUMEUP與KEY_VOLUMEDOWN）。 但是我發現ratbagd有些按鍵綁定了之後還是沒反應，可能是bug？用ratbagctl info指令發現，我的滑鼠的按鍵綁定多個鍵。需要手動用ratbagctl \u0026lt;滑鼠名稱\u0026gt; button \u0026lt;數字\u0026gt; action set macro \u0026quot;電腦按鍵代碼\u0026quot;指令設定才有效。\n想確認電腦按鍵代碼，使用evtest這個工具確認。\n","date":"2026年3月2日","externalUrl":null,"permalink":"/posts/linux-libratbag/","section":"所有文章","summary":"最近買了個羅技G102二代的電競滑鼠給Linux電腦用，這個滑鼠接上去就能用，不用特殊驅動。 這個滑鼠還有切換DPI、顯示彩色LED、自訂鍵位的功能。可以透過電腦軟體自訂功能。\n但果不其然的，官方程式Logitech G Hub只支援Windows和macOS系統，Linux需要用第三方開發的程式才能自訂功能。這裡我採用的方案是ratbagd + Piper。\nratbagd是D-Bus常駐程式，Piper是圖形控制前端。\n引用哈梅爾的吹笛人的典故，透過老鼠袋(rat bag d，引申為討厭的人)，搭配吹笛人(Piper)，就可以指揮這群滑鼠。 ratbagd支援許多大廠牌的滑鼠。對羅技滑鼠的用戶來說，ratbagd可以作為Logitech G Hub的開源替代品。其他類似的軟體還有「Solaar」和「LogiOps」和「Input Remapper」。\n1. 安裝ratbagd與Piper # ratbagd支援的滑鼠廠牌請看Github Wiki。許多羅技的知名系列都是支援的。\nratbagd由libratbag專案提供。因為需要跟硬體溝通，因此最好用系統套件管理器安裝。以Ubuntu 24.04來說，可以直接從套件庫安裝ratbagd： sudo apt install ratbagd 確認ratbagd服務是否有啟動 sudo systemctl enable --now ratbagd sudo systemctl status ratbagd 使用ratbagctl list指令看是否能偵測到滑鼠型號 # 範例輸出 warbling-mara: Logitech G102 LIGHTSYNC Gaming Mouse 使用ratbagctl \u003c滑鼠名稱\u003e info指令，列出目前滑鼠的資訊 # 範例輸出 warbling-mara - Logitech G102 LIGHTSYNC Gaming Mouse Model: usb:046d:c092:0 Device Type: Mouse Number of Buttons: 6 Number of Leds: 1 Number of Profiles: 1 Profile 0: (active) Name: n/a Report Rate: 1000Hz Resolutions: 0: 400dpi 1: 800dpi (active) (default) 2: 1600dpi 3: 3200dpi 4: 200dpi (disabled) Button: 0 is mapped to 'button 1' Button: 1 is mapped to 'button 2' Button: 2 is mapped to 'button 3' Button: 3 is mapped to macro '' Button: 4 is mapped to macro '' Button: 5 is mapped to none LED: 0, depth: rgb, mode: cycle, duration: 1700, brightness: 119 接著安裝Piper，這個程式只是圖形前端，所以可以用Flatpak安裝： flatpak install flathub org.freedesktop.Piper 2. 用Piper自訂滑鼠功能 # ratbagd提供命令行設定工具ratbagctl，不過我們大部分時候用Piper圖形界面就可以完成設定了。Piper所做出的變更只會儲存在Linux電腦端，因此，滑鼠接上後會自動透過ratbagd套用它對應的行為。\n","title":"在Linux用ratbagd + Piper自訂羅技滑鼠按鍵功能","type":"posts"},{"content":"將Bazzite安裝在一般的x86電腦（單碟單系統），當作日常上網與玩遊戲的系統。 1. 為什麼要用Bazzite # 最近Bazzite這個Linux發行版蠻紅的，很多人都想在遊戲掌機和Windows電腦安裝，達到類似SteamOS的效果。 說道玩遊戲的系統，就會想到SteamOS，這是Valve開發的Linux發行版，基於Arch Linux所開發，專為玩遊戲設計。但是因為各種因素，直到撰文當下 ，Valve官方都沒有提供通用的ISO，只能在Valve官方發售的硬體，如Steam Deck和Steam Machine安裝。 於是就有許多希望仿造SteamOS體驗的Linux發行版出現。Bazzite就是其中一個。\n其實Steam客戶端是可以在大部分的Linux系統安裝的，參見Linux版Steam安裝教學，例如Ubuntu、Fedora、Arch Linux都支援Steam，不過安裝過程需要手動設定Proton，還要裝GPU驅動，對想要直接玩遊戲的用戶來說可能會有點麻煩。\n這個時候Bazzite就有其優勢了，它是基於Fedora Atomic開發，專為遊戲設計的Linux發行版。預先幫玩家裝好了你可能會用到的元件。包括GPU驅動、Steam本體、Proton轉譯層、類似SteamOS的全螢幕遊戲模式、Android模擬器Waydroid、滑鼠自訂鍵位程式、手把驅動等等。\nBazzite針對許多品牌的電腦與掌機進行優化，安裝好後就能用，達成開箱即用的體驗。\n開機會自動進入Steam的全螢幕模式(Big Picture Mode)，讓你用手把操控。適合掌機與客廳電腦使用。\n此外，針對一般桌上型電腦與筆電，Bazzite提供「桌面模式」，允許你安裝一般Fedora上跑的Linux程式，讓你可以將這個系統當成日常主力上網的系統。 從技術細節來說，Bazzite是Universal Blue的一部分，繼承Fedora Atomic的特色，包括系統根目錄大部分分區是唯讀的，保持系統穩定。並且使用bootc技術管理系統更新，確保系統出問題能回滾。針對開發者，Bazzite也準備了一系列便捷指令稿，一鍵設定好開發環境。若真的需要使用DNF，也能用rpm-ostree安裝rpm套件到系統。\n過去，仿造SteamOS的Linux發行版不是沒有，但就是開發危險性太高了。例如HoloISO，便是逆向工程SteamOS的還原映像檔所製作出來的產物，可是這種開發模式缺乏穩定性，維護也很不容易。\n至於Bazzite，則是透過Fedora Atomic的架構，加上一些開發者的巧思，去趨近SteamOS的使用體驗。\n在Valve釋出可於任何硬體安裝的SteamOS之前，Bazzite是體驗Linux玩Steam遊戲的一個快捷上手選擇。\n但是必須注意： Bazzite並非Valve公司開發的專案，也不是downstream fork，跟SteamOS沒有太大關係。 Bazzite是由開源社群維護的系統。它的更新模式為半滾動更新模式，每個月都會不定時收到更新。沒有商業公司維護，穩定性無法保證。\n2. 測試環境 # 電腦型號：MSI Modern 15 A10 CPU：Intel i5-10210U GPU: Intel UHD 620 (內顯) GPU: Nvidia MX350 (獨顯) RAM: 16GB 磁碟：NVME 500GB 3. 安裝Bazzite到電腦 # 因為Bazzite基於Fedora Linux開發，應該先確認電腦硬體是否支援Linux系統。在Linux玩遊戲之前，可以到ProtonDB查詢個別遊戲對Linux的支援度。\n目前，要達到最好Bazzite使用體驗，建議使用AMD顯卡的電腦，Intel次之。Nvidia驅動問題很多，可能無法正常使用Steam全螢幕遊戲模式。\n到Bazzite官網下載ISO。Bazzite提供多種客製化的ISO，依照你的具體情況做選擇。例如，我個人是要將這個系統當作日常使用，遊戲用途次之，故電腦型號選Other Laptop，GPU選Nvidia版本。然後選擇：開機進入桌面模式，不要自動啟動全螢幕遊戲模式。 下載後，檢驗ISO完整性\n準備一支16GB以上容量的隨身碟，使用Ventoy製作開機碟\n進入電腦UEFI，關閉Secure Boot。雖然Bazzite會自動產生MOK Key，但我懶得開。\n使用隨身碟開機（註：目前Ventoy對Bazzite支援度有問題，開機的時候需要選GRUB Mode才能順利進入安裝系統的畫面）\n點桌面圖示安裝系統 選取安裝位置，刪除整個硬碟，完成安裝 輸入使用者名稱，只能英文字母加數字 重開機，第一次可能會看到Enroll MOK Key的畫面，若沒有要用Secure Boot，就點選Continue Boot。\n4. 啟動Steam # Bazzite預先已經安裝好Steam客戶端，第一次啟動要等個幾分鐘初始化才會跳出登入界面。我選的Bazzite開機後會進入KDE Plasma的桌面模式。Steam遊戲模式沒有啟用。不過Steam客戶端會在開機後自動於背景啟動。\n點選桌面的Steam圖示玩遊戲。或者手動點Steam Big Picture Mode圖示進入Steam全螢幕模式。 Steam遊戲大部分是針對Windows開發的，在Linux需要安裝Proton相容層才能玩。關於如何啟用Proton相容層，參閱Linux版Steam客戶端使用方法\n小提示：點選KDE Plasma桌面右下角的電源模式，將效能調到最大，讓Steam遊戲以最佳效能執行。 如果要開機直接進入Steam全螢幕，而非桌面模式的話\u0026hellip;\u0026hellip;得依照Bazzite官網指令進行系統rebase程序。不要去改SDDM設定，因為atomic的設計使得變更會無效。這樣重開機就會變成直接進入Steam。桌面模式變成要在Steam選單選取才能切換過去。 若你的遊戲不是從Steam下載的，可以用Bazzite內建的Lutris來管理散落的exe。參見Lutris使用教學。\n5. 啟用Android模擬器 # Bazzite採用的是Waydroid方案。這是基於LXC打造的容器，並非虛擬機。支援滑鼠與觸控模式操作。\n第一次開啟，需要填入https://ota.waydro.id/system和https://ota.waydro.id/vendor，下載包含GApps的LinneageOS映像檔。 之後再執行這個指令完成非官方Google ROM認證，並安裝x86轉譯器。\n4. Bazzite安裝軟體的方式 # 既然Bazzite是基於Fedora開發的系統，那麼可以用dnf install指令安裝軟體嗎？儘量不要，因為Bazzite系統是atomic的，大部份系統分區是唯讀的。使用者不應該隨便變更。即使有sudo權限，也不能任意安裝軟體到系統。請參考Bazzite官方文件了解偏好的軟體安裝方式。\n推薦優先使用Flatpak安裝軟體。你會發現Bazzite系統除了Steam客戶端以外，Bazzite內建的軟體大部分都是用Flatpak安裝的。Bazzite用「Bazzar」取代了KDE Discover作為軟體商店前端，這裡的軟體都來自Flathub，以沙盒執行，確保安全性。 次要的選擇是使用Distrobox，在Podman容器裡面跑Fedora，這裡可以安裝傳統rpm格式的套件。Bazzite內建一個DistroShelf圖形前端讓你管理跑各個發行版的容器。 如果真的需要變更系統底層的話，再透過rpm-ostree指令安裝rpm套件。\n至於系統更新方式，使用Bazzite Portal這個程式更新就可以了。 Bazzite預設會每週自動更新一次系統。打開KDE Plasma系統設定可以設定自動更新的週期，或者關閉自動更新。 技術背景：Bazzite使用bootc管理系統映像檔更新，再用rpm-ostree管理使用者手動安裝的rpm套件。\n5. 開啟中文輸入法 # Bazzite內建Fcitx5輸入法模組。開啟系統設定 → 鍵盤 → 虛擬鍵盤，選取Fcitx5。 看一下系統右下角，若在安裝的時候選取中文，應該會幫你啟用新酷音注音輸入法。按下Ctrl + 空白鍵就可以切換打字了 不過我發現有些程式不能輸入，可能要打開檔案管理器，手動編輯家目錄的~/.profile檔案，設定環境變數\nGTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx Bazzite的Fcitx5輸入法是透過rpm-ostree安裝的，若有其他需要就用rpm-ostree安裝fcitx5的rpm套件，不要用Flatpak安裝免得混亂。 6. Bazzite開發用的指令 # 一般用戶可能不需要使用這裡的功能。\nBazzite有終端機，使用者可以使用Linux的命令行工具。內建一系列ujust指令，用於快速部署開發環境，例如，啟用Virt Manager虛擬機。\n詳情參閱Bazzite官方文件\n7. 使用心得 # 第一印象是，內建軟體太多了，跟Fedora比起來，感覺好臃腫。不過真的是很考慮用戶需要什麼，預裝的都是合理的軟體，是遊戲玩家會需要的東西。幾乎不用打複雜的指令安裝軟體。當我試圖執行指令安裝Tailscale的時候，它貼心的提醒我：不用，我們已經內建了！Fcitx5中文輸入法自動啟用。精挑細選的Bazaar軟體商店響應速度比其他桌面的都要快速。內建Android模擬器Waydroid還有Distrobox。種種細節令人驚喜。\n不過果然是因為Fedora滾動發行版的優良傳統，系統剛安裝馬上就有bug。KDE 6.5桌面，Steam開起來會無法顯示視窗。有時候要用指令啟動。並且我還遇到關上筆電蓋子，閒置幾分鐘，SFTP就斷掉的bug。Steam全螢幕遊戲會閃爍，色彩跑掉，遊戲lag。新酷音在Flatpak打字的時候會斷掉。以上問題更新到KDE 6.6之後就大致解決了。\n唉，Bazzite更新不像SteamOS，沒有商業公司保證穩定度。要承擔的風險很大。\n","date":"2026年3月1日","externalUrl":null,"permalink":"/posts/install-bazzite/","section":"所有文章","summary":"將Bazzite安裝在一般的x86電腦（單碟單系統），當作日常上網與玩遊戲的系統。 1. 為什麼要用Bazzite # 最近Bazzite這個Linux發行版蠻紅的，很多人都想在遊戲掌機和Windows電腦安裝，達到類似SteamOS的效果。 說道玩遊戲的系統，就會想到SteamOS，這是Valve開發的Linux發行版，基於Arch Linux所開發，專為玩遊戲設計。但是因為各種因素，直到撰文當下 ，Valve官方都沒有提供通用的ISO，只能在Valve官方發售的硬體，如Steam Deck和Steam Machine安裝。 於是就有許多希望仿造SteamOS體驗的Linux發行版出現。Bazzite就是其中一個。\n其實Steam客戶端是可以在大部分的Linux系統安裝的，參見Linux版Steam安裝教學，例如Ubuntu、Fedora、Arch Linux都支援Steam，不過安裝過程需要手動設定Proton，還要裝GPU驅動，對想要直接玩遊戲的用戶來說可能會有點麻煩。\n這個時候Bazzite就有其優勢了，它是基於Fedora Atomic開發，專為遊戲設計的Linux發行版。預先幫玩家裝好了你可能會用到的元件。包括GPU驅動、Steam本體、Proton轉譯層、類似SteamOS的全螢幕遊戲模式、Android模擬器Waydroid、滑鼠自訂鍵位程式、手把驅動等等。\n","title":"遊戲系統「Bazzite」安裝教學， KDE桌面 + 中文輸入法 + Steam遊戲模式","type":"posts"},{"content":"一個簡要的rpm-ostree教學。\n「rpm-ostree」是混合映像檔與套件部署模式的Linux套件管理器，專為原子化更新的Linux發行版設計。 過去，大部分的Linux發行版採用套件(package)管理器來安裝套件與更新系統。例如Fedora會用dnf指令安裝rpm。現在興起一種以映像檔(image)部署系統更新的Linux發行版，我們稱之為原子化(atomic)系統，或稱不可變(immutable)系統，例如Fedora Atomic Desktop，這類系統拋棄了dnf，而是以映像檔方式部署系統更新。\n基於我粗淺的理解，rpm-ostree vs dnf，兩者的差別可以用以下簡圖表示： 在採用原子化更新的Linux發行版，系統大部分分區都是不可以修改的，這是為了確保穩定性以及未來出錯可回滾。傳統修改系統分區的安裝套件方式行不通，使用者應多採用容器化技術安裝軟體。若真的需要修改系統，就需要rpm-ostree這個工具介入。\nrpm-ostree可以說是結合了OSTree與DNF兩個軟體功能的解決方案。libostree本身讓Linux系統成為一個巨大的Git儲存庫，然後libdnf的部分允許對其安裝rpm套件。\n它可以修改系統映像檔，加上一個分層(layer)在目前的系統映像之上，安裝任意的rpm套件，藉此完成對系統的修改。這個過程可以粗略的類比為Podman的layer機制。\nRpm-ostree可以跟OSTree或是bootc的系統互動。rpm-ostree安裝軟體的過程就好像在對Git儲存庫做提交(commit)一樣，是可以追蹤變化的。每次更新系統的時候，rpm-ostree會下載整個新系統的映像檔，然後再套用使用者額外安裝的套件。\n這個更新過程是原子化的，要嘛成功，要嘛失敗，不會更新到一半中斷，導致系統進入生死不明的混亂狀態。\n另外，rpm-ostree可以保持基本系統處於乾淨的狀態。若使用者安裝的rpm套件弄壞了系統，只要把他們清除掉就好。\nrpm-ostree顧名思義，基本上只能處理rpm套件。對於採用deb套件的發行版，需要使用apt2ostree。\n使用rpm-ostree套件管理器的系統目前有：Fedora Atomic Desktop (Silverblue, Kinoite)、Universal Blue (Aurora, Bluefin, Bazzite)、RHEL CoreOS等等。\n1. 使用rpm-ostree安裝rpm套件 # 以Fedora Silverblue系統來說，使用rpm-ostree指令，它會從Fedora對應版本的套件庫下載rpm套件。套件庫就是看/etc/yum.repos.d/所定義的網址。\nrpm-ostree指令跟dnf用法很像，舉例，安裝Vim：\nsudo rpm-ostree search vim sudo rpm-ostree install vim 它也可以用來安裝不在Fedora套件庫內的野生rpm套件，或者是添加第三方rpm套件庫（RPM Fusion、EPEL、COPR）： sudo rpm-ostree install ./package.rpm 每次rpm-ostree執行install指令，都是在對系統這個大型儲存庫做一個提交(commit)，新增一個分層(layer)，納入你剛剛新增的套件，並重建整個系統映像檔。因此安裝套件後，系統要重新開機，新安裝的程式才能使用（在開機選單會顯示為ostree:0，ostree:1則是上一個系統版本）。或者，你可以在執行rpm-ostree install指令時加上--apply-live參數，透過OverlayFS機制，免重開機就能使用新安裝的軟體。\n因為它是對系統映像檔做修改，且每次都需要重建整個系統映像檔，rpm-ostree安裝軟體的速度比dnf慢很多，且使用者手動安裝的套件越多，未來系統更新就越久。另外，rpm-ostree不支援DKMS編譯out of tree的kernel module。以Fedora的情況來看，推薦改用akmod版本的驅動套件。\n若要查看系統變更紀錄，使用這個指令。它會列出目前的系統版本，還有你手動新增的分層套件(layered packages)：\nsudo rpm-ostree status rpm-ostree所安裝的套件，可能對未來的系統更新產生不穩定影響。若要一鍵刪除使用者所安裝的套件，使用這個指令全部移除： sudo rpm-ostree reset 2. 使用rpm-ostree更新系統 # rpm-ostree也可以用來管理系統更新。既然Linux系統＋桌面環境被視為一個「整體」，一個系統就是一個映像檔，那麼這個系統映像檔就可以任意在多個版本映像檔之間切換。\n更新全系統的指令如下，這會讓rpm-ostree下載新版系統映像檔，然後套用更新，直接覆蓋舊版系統分區。 sudo rpm-ostree upgrade 若更新系統弄壞了怎麼辦？用rollback指令回滾上一個版本： sudo rpm-ostree rollback 需要注意的是，rollback這個指令只能退回到上一個版本的系統，因為OSTree預設只會保留兩個可以開機的系統映像檔（也就是ostree:0和ostree:1）。如果要再往前跳，建議使用rebase或deploy指令。\n若要進行大版本更新，或者切換目前的系統到其他更新頻道，可以用到rebase指令。由於Atomic系統大部分分區都是唯讀的，透過rebase的方式，能夠輕易的在多個系統版本之間切換，而不容易造成系統毀損（不過軟體存在使用者家目錄的dotfile若一直切版本可能造成程式異常就是了）\nsudo rpm-ostree status sudo rpm-ostree rebase fedora:fedora/44/x86_64/silverblue 要防止自動更新弄壞系統，可以先把你認為目前穩定的系統版本映像檔給釘住，讓它不要在系統更新後自動移除。上面說OSTree預設會保留兩個可開機的系統映像檔，若使用者手動釘選的話，則可以保留到三個以上。 sudo rpm-ostree status sudo ostree admin pin 數字 如果嫌rpm-ostree拉取的映像檔太佔空間，使用這個指令清理 sudo rpm-ostree cleanup -r 3. 修改kernel boot parameters # 要指定Linux核心開機時啟用哪些功能，通常會透過GRUB的/etc/default/grub設定檔或者Systemd-boot修改kernel parameters，不過Atomic發行版不會讓你寫入/boot/分區，這個時候可以讓rpm-ostree代勞。\n使用rpm-ostree kargs指令，修改開機時傳給Linux核心的核心參數。執行以下指令，開啟編輯器：\nsudo rpm-ostree kargs --editor 它會在需要的時候自動幫你重新建立initramfs，做到類似dracut的功用。 4. rpm-ostree未來被取代的可能性 # 參考Fedora論壇的討論：Questions about bootc and rpm-ostree\nrpm-ostree這個技術未來可能被「bootc」和「dnf5」替代，bootc負責處理系統更新，dnf5安裝rpm套件。不過尚未成熟。\n此外，還有一個「composefs」的技術，它直接使用Linux核心的EroFS來處理系統檔案。因此擺脫了OSTree只支援RPM的問題，有望推廣到其他Linux發行版。\n目前很多Atomic發行版仍然使用rpm-ostree來管理與安裝系統套件。\n參考資料 # rpm-ostree - Fedora Docs rpm-ostree - Hybrid image/package system with atomic upgrades and package layering. - Github ","date":"2026年3月1日","externalUrl":null,"permalink":"/posts/rpm-ostree-usage/","section":"所有文章","summary":"一個簡要的rpm-ostree教學。\n「rpm-ostree」是混合映像檔與套件部署模式的Linux套件管理器，專為原子化更新的Linux發行版設計。 過去，大部分的Linux發行版採用套件(package)管理器來安裝套件與更新系統。例如Fedora會用dnf指令安裝rpm。現在興起一種以映像檔(image)部署系統更新的Linux發行版，我們稱之為原子化(atomic)系統，或稱不可變(immutable)系統，例如Fedora Atomic Desktop，這類系統拋棄了dnf，而是以映像檔方式部署系統更新。\n基於我粗淺的理解，rpm-ostree vs dnf，兩者的差別可以用以下簡圖表示： 在採用原子化更新的Linux發行版，系統大部分分區都是不可以修改的，這是為了確保穩定性以及未來出錯可回滾。傳統修改系統分區的安裝套件方式行不通，使用者應多採用容器化技術安裝軟體。若真的需要修改系統，就需要rpm-ostree這個工具介入。\nrpm-ostree可以說是結合了OSTree與DNF兩個軟體功能的解決方案。libostree本身讓Linux系統成為一個巨大的Git儲存庫，然後libdnf的部分允許對其安裝rpm套件。\n","title":"什麼是rpm-ostree：原子化Linux系統套件管理器使用概觀","type":"posts"},{"content":"問題：Linux系統沒有鍵盤，純用觸控操作，活的下去嗎？\n簡報 # 使用Marp製作的簡報（點選翻頁）\n（以下為簡報部份摘錄）\nPhosh簡介 # Linux針對行動裝置設計的桌面不多\n現有的KDE Plasma和GNOME桌面，要改造成觸控專用的很難，更何況還是手機這種小螢幕裝置\n目前有這幾個選項：Phosh、KDE Plasma Mobile、SXMO、Lomiri\nPhosh簡單易用\nPlasma Mobile太容易崩潰，生搬硬套KDE桌面邏輯\nSXMO用dwm改的，給super hacker用的\nLomiri是Ubuntu touch專武\nPhosh簡介：這個桌面環境是自由軟體公司Purism開發。Purism在美國是眾籌企業，專門賣自由硬體，比System76和Framework還要極端的那種。\n他們還有推出Linux平板與Linux手機\nPhosh就是他們手機Librem 5的使用者界面。或者依照Linux的術語來說，稱作桌面環境。\n在PinePhone社群中（樣本數~=1000），Phosh是評價最好的一個界面了。\n根據我個人的PinePhone使用經驗，我覺得Phosh雖然界面很簡陋，但卻是最穩定的一個界面。\n現在的Wayland桌面不多，除了KDE Plasma、GNOME、Cosmic，大部分是純compositor，要自行組裝桌面元件（不是每個人都想寫Sway的config）。\nPhosh是有完整功能，又比較輕量的一個。\n特色 # 針對觸控螢幕設計的交互，滑鼠鍵盤次之 提供螢幕虛擬鍵盤 RAM佔用極低，低於1GB 不吃效能，只要GPU 3D正常，即使在很糟糕的處理器也能跑起來，在性能超爛的PinePhone (Allwinner A64)、PineTab 2 (Rockchip RK3566)、Surface Go 2 (Intel Pentium 4425y) 動畫依然十分流暢。 粗估系統佔用資源接近Sway Phosh對想要純觸控操作的用戶非常有用，大部分手機都沒有鍵盤滑鼠，所以跑KDE Plasma、GNOME之類的傳統Linux桌面用起來就會很尷尬，而針對觸控手勢特別優化過的Phosh便是一個極佳選擇。 技術要點 # 使用名為Phoc的Wayland合成器，基於wlroots寫成，Rust語言編寫。 使用一部分GNOME技術，可以吃到GTK主題 可以選擇搭配Systemd或OpenRC使用 PipeWire管理音訊 ModemManager管理行動網路 用feedbackd處理鍵盤震動事件，iio-sensor-proxy處理螢幕旋轉 操作模式 # 為了符合行動裝置的使用模式，所有程式的視窗都會最大化，點選開啟，向上滑動關閉\n還有一個觸控鍵盤，會在應該打字的地方自動彈出來\n接上鍵盤，開啟Docked模式後可以移動視窗，這個時候他會變成stacking compositor，視窗可以允許重疊在一起。\nAPP商店生態 # Linux mobile系統設計只有少部份是immutable distro，因此root可寫。\n依賴各個發行版打包的deb或rpm包。容易產生碎片化與版本不一的問題。\n如果要distro-agnostic，那就使用Flatpak或Snap。\nPhosh開發者推廣libhandy，讓GTK程式能針對觸控裝置最佳化。Flathub的GTK4的程式，很多都有針對各種大小螢幕的變化設計了。\n中文輸入法？ # 長按底部藥丸，Phosh觸控鍵盤就會跳出來\n目前問題是沒有中文鍵盤\n好在它允許模擬實體鍵盤輸入事件\n所以可以用觸控鍵盤打Fcitx5的拼音，這有點克難啦\nPhosh提供了Linux行動裝置一個能夠daily-driving的桌面，不需要依賴實體鍵盤。\n目前的問題是，Phosh這個桌面太精簡，純功能導向。從最近的更新來看，他們有在慢慢加入一些實用功能，例如在狀態欄新增番茄鐘的捷徑。\n參考資料 # Phosh - A user interface for your mobile phone Phosh - postmarketOS Wiki ","date":"2026年2月28日","externalUrl":null,"permalink":"/posts/linux-phosh-de-introduction/","section":"所有文章","summary":"問題：Linux系統沒有鍵盤，純用觸控操作，活的下去嗎？\n簡報 # 使用Marp製作的簡報（點選翻頁）\n（以下為簡報部份摘錄）\nPhosh簡介 # Linux針對行動裝置設計的桌面不多\n現有的KDE Plasma和GNOME桌面，要改造成觸控專用的很難，更何況還是手機這種小螢幕裝置\n目前有這幾個選項：Phosh、KDE Plasma Mobile、SXMO、Lomiri\nPhosh簡單易用\nPlasma Mobile太容易崩潰，生搬硬套KDE桌面邏輯\nSXMO用dwm改的，給super hacker用的\nLomiri是Ubuntu touch專武\nPhosh簡介：這個桌面環境是自由軟體公司Purism開發。Purism在美國是眾籌企業，專門賣自由硬體，比System76和Framework還要極端的那種。\n他們還有推出Linux平板與Linux手機\nPhosh就是他們手機Librem 5的使用者界面。或者依照Linux的術語來說，稱作桌面環境。\n在PinePhone社群中（樣本數~=1000），Phosh是評價最好的一個界面了。\n根據我個人的PinePhone使用經驗，我覺得Phosh雖然界面很簡陋，但卻是最穩定的一個界面。\n","title":"Phosh：Linux手機觸控桌面環境sh簡介","type":"posts"},{"content":"Unix哲學不能亡！\nArtix Linux + SonicDE (KDE Plasma X11) + XLibre X Server 1. Artix Linux之簡介 # Artix可能是更「純」的Arch Linux，堅持Unix傳統哲學，簡單就好。Artix跟Devuan一樣都是拒用Systemd的Linux發行版。Artix是滾動發行版，可以比Devuan更快收到上游最新套件。Arch Wiki大部分資料也都能沿用。 Artix Linux本身是什麼意思？依照官網FAQ解釋，他們認為是\u0026quot;The Art of Linux\u0026quot;。\n開發者不仇視Systemd，但是覺得它太複雜太臃腫太不安全了。\nArtix Linux的套件很大程度來自Arch Linux，也可以使用AUR的資源。最主要的差別在於不依賴Systemd。雖然Arch Linux本身也有收Systemd以外的init套件，要手動切換並非不可能。但Arch Linux大部份套件還是以Systemd為中心打造的，因此要轉換到其他init，使用Artix Linux會有更好體驗。\nArtix他們提供多種init系統，如dinit、OpenRC、runit、s6、Sysvinit、GNU Shepherd，但就是沒有Systemd。一個軟體安裝後需要配置服務檔的，就各自提供對應的套件。例如networkmanager這個套件就同時擁有networkmanager-openrc、networkmanager-dinit、networkmanager-runit幾種版本，以對應不同的init系統。\n儘管Artix與Arch高度相似，但他們的套件庫是分開的，AUR資源也不見得能通用。\n現在，Artix拒絕使用Systemd的下場是，使用者閱讀Arch Wiki會導致行為不一致，因為很多系統管理的指令都默認你是使用Systemd管理系統。你必須有更高的智慧才能辨別出哪個指令適合自己的情況。Artix另有維護適合自家用戶參考的Artix Linux Wiki，也可以到Artix Linux Forum尋求幫助。\n2. 安裝Artix Linux # Artix的ISO沒有納入archinstall指令稿，不過他們有做包含圖形安裝器的ISO，讓使用者可以自由選擇要打指令安裝或是用圖形安裝器自動帶過。到官網下載LiveUSB的ISO，隨附圖形界面安裝器。如果不要任何桌面環境，就下載base版本的映像檔，手動打指令安裝。\n接著使用UEFI開機。\n若要手動打指令安裝系統，請閱讀這份看起來像是寫給駭客看的Artix Linux安裝指導文件：Artix installation guide - Wiki\nArtix Linux在台灣沒有Mirror，因此請自行測試比較快的鏡像站。\n運用我手動安裝Arch Linux的經驗，很快就裝好了。Artix Linux的安裝方式跟Arch Linux手工安裝大同小異，就是一些套件的名字不一樣而已，例如arch-chroot被改成了artix-chroot。\n安裝過程不需要設定Systemd的服務，只要選你喜歡的init系統就好了。個人比較喜歡OpenRC。在chroot裡面透過rc-service start啟動服務，並用rc-update add把服務加入到開機自動啟動。\nKDE Plasma桌面可以用這個meta group一鍵安裝：\nsudo pacman -S plasma-meta 3. Artix Linux使用小心得 # 雖然說Artix Linux用戶應當追求簡單哲學，都反Systemd了，我實在不應該安裝那麼一大包的KDE桌面，但\u0026hellip;起碼能用嘛！而且我希望桌面好看又方便操作。而且KDE的組件對Systemd的依賴還沒有GNOME那麼誇張。\nArtix並非所有Arch的軟體都會打包。像Fcitx5中文輸入法的fcitx5-chewing就沒有，致使我得到AUR找-git版本來裝。其他軟體也是比照這種辦法處理。不然就用Flatpak。\n不論init系統是dinit還是OpenRC，開機速度比Systemd還快喔。啊，不過現代的Linux桌面有太多服務依賴Systemd了，沒有自動啟動的服務你得手動補上，並用rc-service看看有哪些服務應該要自動啟動的。舉例來說，PipeWire需要用rc-update　--user add pipewire才會讓桌面出現音效面板。\nGentoo Wiki寫的OpenRC to systemd Cheatsheet是很好的參考資源，有助於你理解從Systemd切換為OpenRC的運作方式。\n但，光是init不限定於Systemd就會導致許多分裂了\u0026hellip;開發者要同時維護s6、dinit、openrc、runit的教學，容易造成讀者混亂。\n有的套件還要針對每個init系統都個別打包一次。在這個連上網路都高度依賴NetworkManager自動組態的現在，要人手動安裝dhcpd可真是古老，幸好現在NetworkManager還不強制依賴Systemd，能夠用OpenRC啟動，我還是比較喜歡用nmcli指令連網啊。\nOpenRC可能適合習慣SysVinit風格指令稿的老人，而且相關教學文件比較多，畢竟是Gentoo專案維護的。至於那些精神錯亂習慣Systemd語法的又不想用Systemd的則是適合dinit。\n想追逐最新潮流不怕系統壞掉的，就適合用Artix Linux。\n","date":"2026年2月27日","externalUrl":null,"permalink":"/posts/install-artix-linux/","section":"所有文章","summary":"Unix哲學不能亡！\nArtix Linux + SonicDE (KDE Plasma X11) + XLibre X Server 1. Artix Linux之簡介 # Artix可能是更「純」的Arch Linux，堅持Unix傳統哲學，簡單就好。Artix跟Devuan一樣都是拒用Systemd的Linux發行版。Artix是滾動發行版，可以比Devuan更快收到上游最新套件。Arch Wiki大部分資料也都能沿用。 Artix Linux本身是什麼意思？依照官網FAQ解釋，他們認為是\"The Art of Linux\"。\n開發者不仇視Systemd，但是覺得它太複雜太臃腫太不安全了。\nArtix Linux的套件很大程度來自Arch Linux，也可以使用AUR的資源。最主要的差別在於不依賴Systemd。雖然Arch Linux本身也有收Systemd以外的init套件，要手動切換並非不可能。但Arch Linux大部份套件還是以Systemd為中心打造的，因此要轉換到其他init，使用Artix Linux會有更好體驗。\nArtix他們提供多種init系統，如dinit、OpenRC、runit、s6、Sysvinit、GNU Shepherd，但就是沒有Systemd。一個軟體安裝後需要配置服務檔的，就各自提供對應的套件。例如networkmanager這個套件就同時擁有networkmanager-openrc、networkmanager-dinit、networkmanager-runit幾種版本，以對應不同的init系統。\n","title":"初探Artix Linux + KDE桌面，反Systemd滾動發行版的最終解決方案","type":"posts"},{"content":"《STEINS;GATE 0》，中譯《命運石之門0》，是5pb.於2015年推出的文字冒險遊戲。 這款遊戲有在Steam上架，支援Windows系統。Linux可以用Proton跑。\n玩這部會讓人體會到真正的絕望。\n建議玩過前作《命運石之門》再遊玩本作品。玩完遊戲後再去看動畫。\n我跟很多人的意見一樣，認為《命運石之門0》不是《命運石之門》的直接續集，而是補充其他世界線發生的故事吧。儘管官方認為這是全新作品，但其實是補完整部《命運石之門》作品劇情的另外一個面向。\n主要是在描述岡部倫太郎第一次嘗試前往命運石之門世界線，拯救牧瀬紅莉栖失敗後，頹廢一陣子，又如何振作起來的故事。並透過新加入的角色比屋定真帆，側寫有關更多牧瀬紅莉栖在他人眼中的印象。\n本作少了許多日常鋪墊，很快就進入主線。\n我之前玩就在想，前作《命運石之門》裡面，進入真結局的方法似乎讓人覺得有些倉促。拼了命要拯救椎名真有理，跳躍了好幾次，最後才想到要回收D-mail。在最後拯救牧瀬紅莉栖的時候，怎麼那麼容易就到達命運石之門世界線？岡部倫太郎被椎名真由理打一巴掌，又收到未來的自己打一通電話過來，就成功破解了世界線收束的問題？\n如果你也這麼覺得的話，記得去玩更為沈重的《命運石之門0》，補完在各個Alpha與Beta世界線穿越的故事。看岡部在其他世界線，不斷前往過去與未來，花了多少努力才振作起來，找到「欺騙世界」的方法。\n看岡部如何用在Alpha世界線拯救「真有理」一樣的份量，在Beta世界線拯救「紅莉栖」，最終到達「命運石之門」。\n遊戲一開始的音樂〈Messenger〉，就讓人感到這遊戲的基調變得非常壓抑沈重了。請記得要耐心看到最後，這首曲子重新響起的時候，必會讓你振奮！這個曲名就暗示了，整部作品在不同的世界線中穿越，就是要給岡部帶來那個重要的訊息提示。\n主角放棄拯救牧瀬紅莉栖之後得了PTSD，變成要靠精神藥物才能活下去。\n本作主角全程維持一張死媽臉，拋棄了過去的鳳凰院兇真人設，穿上黑色衣服變成現充。 隨後與植入牧瀬紅莉栖意識的Amadeus的AI接觸，引發一連串爭奪時光機的鬥爭，又迫使他重新面對改變世界線的使命。\n遊戲進行方式跟前作一樣，透過操作手機回覆訊息，決定會進入哪個結局。不過這次的世界線變動機制，並不是取決於主角的意志本身，而是有背後黑幕在干涉。從這次世界線變動時候Reading Steiner發動的動畫跟前作不一樣，大概就有暗示這種設定的意味在。前作的世界線變動是岡部「主動」發動的，畫面在眼前主動扭曲。可是本作的動畫變成了詭異的音效，則是給人一種「被動」進入其他世界線的感覺。\n參考Steam社群攻略：命运石之门0全成就指南（附带全线路攻略）\n如果什麼都不做的話就會進入Bad End。\n遊戲發生的劇情時間已經進入冬天，所有角色都換上冬裝。這裡岡部經歷的旅程，與一開始為了阻止椎名真由理之死，不斷發送D-mail回到過去的夏天，一樣痛苦與漫長。\n畢竟跟前作隔了好幾年了，遊戲繪師huke的畫風已經有悄悄變化。所以遊戲中舊版立繪登場的時候會給人一種格格不入的感覺。\n鈴羽變得更冷酷，在與篝的戰鬥中，總算是見識到鈴羽的好身材。 達魯在這個版本變得更加像是死肥宅了！ 但是未來版本的他也太帥了！他說：「你會來到這個世界線，一定是有意義的。」肯定了命運石之門需要經過多次嘗試才能抵達，即使看似是失敗的世界線也是在製造機會，要岡部不要放棄。 本作加入了一些新角色。他們是在Beta世界線才存在的人，也是背後可能造成世界線變動的元兇。\n篝，負責被洗腦來破壞岡倫計畫的。編劇沒解釋清楚為什麼她要易容成阿萬音由季接近鈴羽身邊，而且是死前才突然揭發這個設定的，讓人摸不著頭腦，洗腦真的有這麼厲害？擁有狂戰士屬性，可以為了保護媽媽一瞬間殺光職業軍人。 比屋定真帆，21歲的合法蘿莉，自認與紅莉栖是薩里耶利與阿瑪迪斯的關係。在紅莉栖被做成AI之後出現的關鍵替代角色。 本作負責技術解說擔當，劇情中間還科普了人工智慧(AI)是什麼，AI是如何處理與人類認知相關的問題的：為什麼人類面對問題能輕易透過大腦設定框架，人工智慧卻必須計算出所有可能性之後才能解答？打開指定顏色盒子的指令，人類能輕易分辨，AI卻無法做到。這是已經是2015年的作品，我們2026年還在試圖探討ChatGPT是否有真正的靈魂，AI可以生成複雜的文章，卻連簡單的模仿人類下意識運動都做不到。不過這部作品針對AI的討論也就淺嘗輒止，重點還是在於如何突破世界線收束問題。 AI紅莉栖，即Amadeus，生前記憶被做成AI登場。這個設定是本作才出現的，各國為了爭奪時光機的資料而盯上她，促成世界線在岡部不知情的狀況下產生變動。算是補完了為什麼Beta世界線即使紅莉栖死亡，依然會導致第三次世界大戰的未來。因此必須將她消滅。順帶一提根據遊戲敘述，AI紅莉栖是跑在Linux伺服器上的，真帆的筆電是Mac遠端連線，也可以用Android手機操控。 雷斯金涅教授，黑幕，擅長洗腦人。不是被殺就是成為主謀的路上。 萊耶絲教授，劇情中多次被一轉攻勢的女人，最後還被大腦降級 其他登場的小角色也加入了。 並且在一些世界線，Rounders反過來與主角方合作，對抗新登場的反派，DURPA和Stratfor。 這部作品有多重結局。不同於前作，其他人的結局都埋藏更多的謎團，是互相補充細節用的。\n如果依照上面分享的攻略順序進行遊戲，可以達到最好體驗。在抵達真結局之前，每個人的結局都埋有伏筆，暗示著要拯救牧瀬紅莉栖，根本不算結尾。玩了會讓人想一直往後看，了解真結局的發展。\n然後發現，想看真結局，就得回去看前作，才知道是怎麼一回事。\n在這部作品當中，有更多針對鈴羽所在的各種未來慘況的描寫。例如Beta世界線的第三次世界大戰，還有其他世界線日本與尚未解體的蘇聯陷入爭奪時光機戰爭的模樣。讓人體感更為真實。\n精蘇落淚，為什麼蘇聯沒有解體的世界線，俄羅斯總統還是普丁啊啊啊。 在岡倫迷惘的時候，曾經短暫穿越回Alpha世界線，久違地見到了她。但是，她卻鼓勵他必須繼續走下去才行。這個劇情雖然很短，但確實讓抑鬱許久的觀眾獲得了一絲撫慰。 最後的結局就是LabMem齊心協力把「因果」給補齊了，所以才會有真有理回到過去打岡倫一巴掌的劇情。從這裡我們能夠知道，是每個主要角色做出的「選擇」改變了未來。\n並且最遊戲後標題的文字「There is no end though there is a start in space.」接上了前作的標題！這個因果真的是\u0026hellip;有點繞圈子的設計，因為要改變未來，就得由過去改變，然後過去改變之後，才可以跳到其他世界線去改變未來\u0026hellip;？啊啊好複雜，反正it just works。岡度得到了LabMem和其他世界線的人的幫助，最終才抵達命運石之門世界線。\n這樣你才會知道為什麼前作是誰鼓勵了失意的岡部倫太郎。\n經過鈴羽和達魯的修正拳之後，鳳凰院兇真堂堂復活的時候讓人感動！ 有人批評《命運石之門0》的故事支離破碎。但我認為這個當作補充前作沒講到的劇情部份是還可以的作品。\n不過確實，這一代省略太多東西了，又留著一堆伏筆，例如Reading Steiner的能力問題，還有其他人物的背景故事，是在為後來的續作鋪路是吧。而且演出通往真結局的「鑰匙」後，遊戲便戛然而止，沒有演出後續是怎麼拯救。這根本在逼人去看2018年《命運石之門0》的動畫版，才有把遊戲沒演出的地方補完啊！動畫的單線呈現，比遊戲多線進行要讓人好理解。\n還有，劇情的小bug，大概就是電話微波爐的功能型手機換成了智慧型手機吧XD 明明設定上跟前作是同一年發生的事情，但是手機卻更新了。\n","date":"2026年2月23日","externalUrl":null,"permalink":"/posts/steins-gate-0-game-review/","section":"Reviews","summary":"《STEINS;GATE 0》，中譯《命運石之門0》，是5pb.於2015年推出的文字冒險遊戲。 這款遊戲有在Steam上架，支援Windows系統。Linux可以用Proton跑。\n玩這部會讓人體會到真正的絕望。\n建議玩過前作《命運石之門》再遊玩本作品。玩完遊戲後再去看動畫。\n我跟很多人的意見一樣，認為《命運石之門0》不是《命運石之門》的直接續集，而是補充其他世界線發生的故事吧。儘管官方認為這是全新作品，但其實是補完整部《命運石之門》作品劇情的另外一個面向。\n主要是在描述岡部倫太郎第一次嘗試前往命運石之門世界線，拯救牧瀬紅莉栖失敗後，頹廢一陣子，又如何振作起來的故事。並透過新加入的角色比屋定真帆，側寫有關更多牧瀬紅莉栖在他人眼中的印象。\n本作少了許多日常鋪墊，很快就進入主線。\n我之前玩就在想，前作《命運石之門》裡面，進入真結局的方法似乎讓人覺得有些倉促。拼了命要拯救椎名真有理，跳躍了好幾次，最後才想到要回收D-mail。在最後拯救牧瀬紅莉栖的時候，怎麼那麼容易就到達命運石之門世界線？岡部倫太郎被椎名真由理打一巴掌，又收到未來的自己打一通電話過來，就成功破解了世界線收束的問題？\n如果你也這麼覺得的話，記得去玩更為沈重的《命運石之門0》，補完在各個Alpha與Beta世界線穿越的故事。看岡部在其他世界線，不斷前往過去與未來，花了多少努力才振作起來，找到「欺騙世界」的方法。\n","title":"《STEINS;GATE 0》評價，沈重又支離破碎的劇情補完","type":"review"},{"content":"","date":"2026年2月23日","externalUrl":null,"permalink":"/tags/5pb./","section":"標籤","summary":"","title":"5pb.","type":"tags"},{"content":"","date":"2026年2月23日","externalUrl":null,"permalink":"/review/","section":"Reviews","summary":"","title":"Reviews","type":"review"},{"content":"讀書與觀影心得，或許不限形式，他們可以從多方面的媒體給人帶來啟發。\n","date":"2026年2月23日","externalUrl":null,"permalink":"/categories/%E6%9B%B8%E5%BD%B1%E5%BF%83%E6%BD%AE/","section":"分類","summary":"讀書與觀影心得，或許不限形式，他們可以從多方面的媒體給人帶來啟發。\n","title":"書影心潮","type":"categories"},{"content":"全域修改Linux桌面的QT程式裝飾主題，美化一下醜陋的圖示。\n如果在GTK寫成的Linux桌面環境安裝QT寫的程式，主題外觀往往會非常難看，風格不統一。\n用QT寫的著名程式有PyQT、KDE系列APP、Dolphin、Krita、VLC、OBS Studio、KeePassXC、qBittorrent、Qt Creator等等。\n如下圖，在GNOME桌面安裝Dolphin檔案管理器，圖示變得很醜！ 在Ubuntu 24.04的GNOME 46桌面執行QT程式\n但是QT程式在KDE Plasma桌面看起來一切正常！ 同理，在XFCE、Cinnamon、Mate桌面安裝QT程式也會遇到醜爆的問題。\n理由是在GTK桌面執行QT程式，連結到libQt5Core.so或libQt6Core.so的QT程式會自動使用QGtk3Style適應主題，使用內建的Fusion主題。但是這個主題還停留在十幾年前的QT4風格，導致視覺上與現在新版GTK4格格不入。\n這可不行呀，很多好用程式都QT寫的，GTK根本沒有替代品，卻因為這種因素讓它外觀變得其貌不揚！\n根據Arch Wiki羅列的解決方案，比較好的方式，是透過第三方主題引擎修改QT程式的外觀，讓它好看一點。\n這個程式就是：Kvantum\nKvantum設計上是用來修改QT程式的主題引擎，適用於KDE Plasma與LXQT桌面，但也能在GTK寫成的桌面使用。\n修改之後QT程式就會變的好看一點。 1. 安裝Kvantum Manager # 依照Github指示安裝。\n目前Ubuntu 24.04的套件庫只有收錄QT5的套件，因此要修改QT6的程式，需要使用papirus的PPA：\nsudo add-apt-repository ppa:papirus/papirus sudo apt update 然後安裝Kvantum Manager。qt6-style-kvantum-themes 似乎在Ubuntu 24.04還沒建置？但不裝也沒關係。\nsudo apt install qt6-style-kvantum qt6-style-kvantum-themes qt5-style-kvantum qt5-style-kvantum-themes 2. 安裝qt6ct與qt5ct # 這是調整Kvantum主題的前端。非必要，只是這個工具可以方便自訂Kvantum內容，包括自訂QT程式要使用的圖示主題。\nUbuntu安裝以下套件：\nsudo apt install qt6ct qt5ct 3. 準備QT主題包 # 我得說，Kvantum內建的主題，大部分還是醜爆，沒比QGtkStyle好到哪去。\nGithub和KDE Store有很多人分享自製的Kvantum主題。我裝的是這個：KvLibadwaita，讓QT模擬GNOME的Libadwaita風格，雖然看上去還是怪怪的。在Github儲存庫點選下載.zip，然後解壓縮。\n另外還要處理圖示包的問題。看是要讓QT程式使用GNOME的Adwaita，或者讓它使用KDE Breeze。Ubuntu的Yaru也可以善加利用。所以安裝以下套件：\nsudo apt install adwaita-icon-theme breeze yaru-theme 4. 全域修改QT程式主題 # 為了讓所有程式使用Kvantum主題，應設定環境變數QT_STYLE_OVERRIDE=kvantum，但是我這裡要用qt6ct調整，故設定QT_QPA_PLATFORMTHEME=qt6ct，然後它就會套用Kvantum主題。\n不同桌面有不同設定方法，雖然Kvantum文件建議放~/.bashrc，但我得用/etc/environment或~/.profile才有效果。編輯這個檔案：\nsudo vim /etc/environment 加入以下環境變數。這裡得要注意，因為Ubuntu 24.04收的KDE程式多半還是QT5寫的，因此要視情況將qt6ct改成qt5ct。QT6程式依然可以吃到qt5ct的主題設定。 export QT_QPA_PLATFORMTHEME=qt5ct 開啟Kvantum Manager，選取儲存庫主題目錄下的KvLibadwaita安裝 設定目前的主題為KvLibadwaita。設定檔會儲存到~/.config/Kvantum/。 安裝Kvantum主題可能會在一些QT程式點選選單的時候出現礙眼的tooltip提示框。在Kvantum → Sizes \u0026amp; Delay將其設定為999\n然後再開啟qt6ct或qt5ct，選取主題為Kvantum。 設定要用的圖示包，例如Adwaita 重開機，新的QT主題應該就會自動套用了。通常是KDE自家開發的APP有效，但其他用QT寫的程式則不一定。\n5. 給Flatpak格式的QT程式套用主題 # 給Flatpak設定全域環境變數，QT_QPA_PLATFORMTHEME無效，要用QT_STYLE_OVERRIDE flatpak --user override --env=QT_STYLE_OVERRIDE=kvantum 允許Flatpak程式讀取Kvantum的主題目錄 flatpak --user override --filesystem=xdg-config/Kvantum:ro 安裝Flatpak版的Kvantum，QT5和QT6的都安裝 flatpak install org.kde.KStyle.Kvantum 6. 解決Wayland的QT程式視窗無陰影問題 # 如果QT程式跑在Wayland下，會出現視窗標題欄陰影缺失的問題，導致無法辨認視窗前後關係。 這是GNOME的Wayland合成器導致的問題，直到GNOME 46都還不肯實現server side window decoration，所以QT的「視窗標題欄」不會套用GNOME主題。\n雖然有libdecor，但QT程式不見得都會使用它。\n暫時的解決方法是強迫所有QT程式以XWayland模式執行，才可以正常繪製。\n在/etc/environment加入這個環境變數，讓QT優先使用X11，不行的話再用Wayland後端：\nexport QT_QPA_PLATFORM=\u0026#34;xcb;wayland\u0026#34; 這樣視窗陰影就會回來。 或者，使用QAdwaitaDecorations提供的主題來解決。安裝後設定這個環境變數\nexport QT_WAYLAND_DECORATION=adwaita 參考資料 # Uniform look for Qt and GTK applications - Arch Wiki Talk:Qt - Arch Wiki Kvantum - A Linux SVG-based theme engine for Qt - Github qt6ct - Qt6 Configuration Tool - Gitlab ","date":"2026年2月23日","externalUrl":null,"permalink":"/posts/linux-kvantum-themes/","section":"所有文章","summary":"全域修改Linux桌面的QT程式裝飾主題，美化一下醜陋的圖示。\n如果在GTK寫成的Linux桌面環境安裝QT寫的程式，主題外觀往往會非常難看，風格不統一。\n用QT寫的著名程式有PyQT、KDE系列APP、Dolphin、Krita、VLC、OBS Studio、KeePassXC、qBittorrent、Qt Creator等等。\n如下圖，在GNOME桌面安裝Dolphin檔案管理器，圖示變得很醜！ 在Ubuntu 24.04的GNOME 46桌面執行QT程式\n但是QT程式在KDE Plasma桌面看起來一切正常！ 同理，在XFCE、Cinnamon、Mate桌面安裝QT程式也會遇到醜爆的問題。\n理由是在GTK桌面執行QT程式，連結到libQt5Core.so或libQt6Core.so的QT程式會自動使用QGtk3Style適應主題，使用內建的Fusion主題。但是這個主題還停留在十幾年前的QT4風格，導致視覺上與現在新版GTK4格格不入。\n這可不行呀，很多好用程式都QT寫的，GTK根本沒有替代品，卻因為這種因素讓它外觀變得其貌不揚！\n根據Arch Wiki羅列的解決方案，比較好的方式，是透過第三方主題引擎修改QT程式的外觀，讓它好看一點。\n","title":"透過Kvantum解決QT程式在GNOME桌面醜爆的問題","type":"posts"},{"content":"這篇文章是2026 二月 BlogBlog 同樂會：只有我這樣嗎？的投稿。\n每個人的視線，都會集中在一個焦點上。\n聽說不用Macbook的話，是沒資格在星巴克辦公的。那好，我今天去高雄隨便一間星巴克，帶著我的GNU/Linux平板筆電進去，點了一杯美式咖啡坐個幾小時進行數位遊牧。結果啥事都沒發生。我說，這個meme等級的笑話怎麼那麼多人相信，誰管你帶什麼電腦來啊。\n不過我卻會去在乎別人的手機。\n不知道從什麼時候開始，可能是大學之後吧，養成了盯著別人手機型號的習慣。不論是在馬路上，還是看劇的時候。視線會像開了自動瞄準一樣，頭部會跟著對方手機的位置移動。\n有時候盯著的東西會從手機擴張到筆電或者手錶，不過鑒於現在男女老少狗狗貓貓，人手一機，我主要關注的還是手機品牌。\n如同走二元樹一樣，首先會進行二選一篩選法，檢查它是Android還是Apple。我認為要遇到拿其他系統的用戶太難了所以暫此不表。\n鏡頭在左上角三隻眼的，背後有MagSafe的，大喇喇的露出品牌標誌的，鑑定為蘋果。那就可以斷定，這種人就是沒腦袋的。我管他社會階級多高，拿蘋果就是做奴隸的份。平板用iPad、電腦用Mac的也一樣，都是自願被關入walled-garden的奴才。看新聞的時候，發現不論國內外，許多日理萬機的政客都拿iPhone，不禁感嘆難怪國家會變成這個樣子！\n我之所以對蘋果有這樣多的牴觸情緒，起源於過去的不愉快經驗。例如，平常我拿的Android手機無人聞問，但我只是帶了一台iPhone SE去學校，很快吸引女生們的目光。然後還有，很多人總是吹噓用蘋果的東西就回不去了，但卻拿非同等價位的產品去比較。高中的時候受到同儕壓力我還真的曾經變成Apple fanboy。但大學我實際上用了iOS之後依然是永遠不能喜歡上這個系統，箝制自由就不用說了，還要整天聽果粉自吹自擂。這些微不足道的事件加總起來，加深了我對蘋果的負面印象。\n如果對方拿的不是iPhone，那就是Android。Android雖然被Google高度主宰，但仍保有一絲自由度，尤其是可以刷機＆Root這點上很吸引我。接著開始猜品牌，Google嗎，還是Samsung？還是大陸機？反正這些都不入我法眼，智商還是低一檔。必須直到對方的手機竟然沒有挖孔也沒有瀏海，有3.5mm耳機孔，發現跟我一樣拿Sony的時候，才會認為，嗯，這個人是man of culture。因為你跟我一樣對某些東西很有堅持，不隨波逐流，才會在市場競爭激烈的今天選擇購買純粹賣信仰的Xperia手機。\n如果是在排隊的話，我會像看著喜歡的人一樣一直向對面拋媚眼呢。\n現實生活中是這樣，在虛擬世界的時候也是套用同樣的篩選規則。我看動畫的時候都會注意角色手機拿的品牌。如果拿iPhone的話，即使她是我的本命我也會立即倒彈。\n以上就是我最真實最赤裸的想法。真覺得我有點魔怔了。我從來沒有跟人說過我有這種偏見，但現在你知道了。\n2025年，中國網紅戶晨風提出將社會階級分為「蘋果人」與「安卓人」的說法，粗暴的指出：蘋果代表上流階級，用安卓的是窮酸裝闊的。引起許多非議。甚至驚動中國政府下場封殺，認為挑起社會對立，但仍阻止不了相關梗的傳播。\n我在這個理論出現之前就這樣分類了。在我這裡，就是將蘋果安卓理論的倒過來解釋。用蘋果的沒腦袋，用安卓的有品味，而且起碼得跟我一樣用對牌子才是上等人。\n說穿了，我這種做法就是屌絲為了與眾不同，所強行建構出來的一種世界觀罷了。\n我理解到每人有每個人的選擇，有不同的背景才會拿不同的手機，不能單就電子產品來給人下定論。與其透過人們的外在印象貼標籤，不如先學會開口打個招呼。\nThink different，不代表你就有強加意識形態到他人身上的自由。\n畢竟，我兩年前買的iPad Air 6，一開始還嫌東嫌西，沒有Android自由，但是經過日復一日的用來輕辦公後，到現在也用習慣了。\n未來如果有閒錢，將主力裝置換成了Macbook與iPhone，放棄折騰Android與Linux，我恐怕也會淪陷吧。\n","date":"2026年2月21日","externalUrl":null,"permalink":"/posts/do-you-care-what-phone-others-have/","section":"Personals","summary":"這篇文章是2026 二月 BlogBlog 同樂會：只有我這樣嗎？的投稿。\n每個人的視線，都會集中在一個焦點上。\n聽說不用Macbook的話，是沒資格在星巴克辦公的。那好，我今天去高雄隨便一間星巴克，帶著我的GNU/Linux平板筆電進去，點了一杯美式咖啡坐個幾小時進行數位遊牧。結果啥事都沒發生。我說，這個meme等級的笑話怎麼那麼多人相信，誰管你帶什麼電腦來啊。\n不過我卻會去在乎別人的手機。\n不知道從什麼時候開始，可能是大學之後吧，養成了盯著別人手機型號的習慣。不論是在馬路上，還是看劇的時候。視線會像開了自動瞄準一樣，頭部會跟著對方手機的位置移動。\n有時候盯著的東西會從手機擴張到筆電或者手錶，不過鑒於現在男女老少狗狗貓貓，人手一機，我主要關注的還是手機品牌。\n如同走二元樹一樣，首先會進行二選一篩選法，檢查它是Android還是Apple。我認為要遇到拿其他系統的用戶太難了所以暫此不表。\n鏡頭在左上角三隻眼的，背後有MagSafe的，大喇喇的露出品牌標誌的，鑑定為蘋果。那就可以斷定，這種人就是沒腦袋的。我管他社會階級多高，拿蘋果就是做奴隸的份。平板用iPad、電腦用Mac的也一樣，都是自願被關入walled-garden的奴才。看新聞的時候，發現不論國內外，許多日理萬機的政客都拿iPhone，不禁感嘆難怪國家會變成這個樣子！\n我之所以對蘋果有這樣多的牴觸情緒，起源於過去的不愉快經驗。例如，平常我拿的Android手機無人聞問，但我只是帶了一台iPhone SE去學校，很快吸引女生們的目光。然後還有，很多人總是吹噓用蘋果的東西就回不去了，但卻拿非同等價位的產品去比較。高中的時候受到同儕壓力我還真的曾經變成Apple fanboy。但大學我實際上用了iOS之後依然是永遠不能喜歡上這個系統，箝制自由就不用說了，還要整天聽果粉自吹自擂。這些微不足道的事件加總起來，加深了我對蘋果的負面印象。\n","title":"會不自覺盯著別人手機看，只有我這樣嗎？","type":"personal"},{"content":" Debian vs Fedora, which one is more stable?\n安定更新のDebianこそ答えであり、ローリング更新のFedoraは玩具だ。両者を比較すれば、答えは自ずと見えてくる。\n私は日常システムとして、多機能で美しいデスクトップが欲しい。そのため私はずっとKDE Plasmaの愛好者であり、反人類的なGNOMEから離れ、時代遅れのXFCEを拒否している。激しい言い方をすると、GNOMEは人民の父親でもないのに、なぜ毎回それを選ばなければならないのか！\nずっと私にローリングリリースを勧めたがる人がいる。だが断る！\n以前の記事Linux最新與穩定，真的能兼得嗎？で述べたように、この数年の苦しい探索を経て、私は最新版KDEデスクトップを盲目的に追求することと、ローリング更新のLinuxディストリビューションモデルは完全な災難だと考えるようになった。Arch Linux、openSUSE Tumbleweed、Fedora（Kinoiteを含む）、KDE Neonを使った後、よい体験はなかった。\n毎月何かが崩壊する。デスクトップが崩れ、ドライバーが潰れ、入力が詰まり、ゲームが落ち、馬兒跳。これは単純にバックアップからロールバックすれば解決する問題ではない。\nだから私はDebian Stable + KDEへ行った。このKDEバージョンが上流から一、二年遅れていても構わない。Waylandが少なくとも使えればよい。私のハードウェアはそれほど新しくなく、1%の性能改善のためだけに最新GPUドライバーを更新し続ける需要もない。私は暇で一日中システムで遊んでいるわけでもなく、毎月最新KDE機能を追い続ける必要もない。さらにSnapが邪魔しない。もう半年使っただろうか、私は平穏さを感じている。\n私の生活はすでに十分混乱している。唯一制御できるOSまで不安定な状態に置き、常に何かが壊れることを警戒するのは嫌だ。私は使用者になりたいのであって、テスターになりたいのではない。\nDebianの開発モデルはなぜ安定しているのか？ # Fedoraが私にもたらした悪い体験を考えると、私はDebian Testingを推薦しにくい。開発者がユーザーを実験台扱いするのは、私は当然好きではない。immutable/atomic機構を導入しても、この問題は解決できない。上流機能が一日中変わり続けるのに、私は彼らに付き合って振り回される時間などない。彼らはWindowsを真似て競争力と未来性のあるシステムを作りたいようで、そのため商業ソフトウェア式の高速イテレーション更新方式を採用し、ユーザーの安定性を考慮しない。\nDebian Handbookのこの冗長なDebianパッケージングフローを見れば、なぜDebianがこれほど安定しているのか分かる。主力コンピューターでは、私はFedora KDEよりDebian KDEを使いたい。 誤解を招きやすい開発フロー：Debian Sid → Debian Testing → Debian Stable。この開発過程は、三者がそれぞれ一定期間別々に開発され、それから下へ伝達されるように思わせやすいだろう？違う。Debian Sidはほぼ毎日更新され、バージョン番号の違いがない。\nそしてSid内のパッケージは10日以上待ち、致命的bugがなく、dependenciesを壊さず、条件に合うものが自動でTestingへ入る。Debian TestingのインストールISOは自動スナップショットから生成される。その後Testingがゆっくり開発され、次のStableに近いリリース周期に入ると、6か月のフリーズ期間に入り、新パッケージを受け付けなくなる。開発者が残りのbugを修正し終えてから、最後にStableとしてリリースされ、バージョン番号が更新される。たとえばStableがDebian 12からDebian 13へ更新され、その後Testingは一時的にDebian 14となる。\n各Debian Stableメジャーバージョンの間、パッケージバージョンはほぼ変化しない。たとえばGNOMEやKDE Plasmaデスクトップは、基本的にDebian Stableのその時点でリリースされたバージョンであり、突然アップグレードされることはない。\nDebian Stableはサーバーにしか向かず、Debian Testingのほうがデスクトップユーザーに向いていると考える人もいる。パッケージバージョンが比較的新しく安定しているから？これは明らかに正しくない。ハードウェアが非常に新しい（発売から一年未満）のでない限り、Stableのほうがよい選択だろう。\n一部のDebian貢献者はTestingは比較的安定していると言うし、さらに極端な人はDebian Sidでも日常利用できると考える。それならArch Linuxを使ったほうがましだ！\nDebian Testingはソフトウェアにbugがないことを保証できない。Sidのパッケージよりは少し安定しているとはいえ、この静止して更新を待つ過程はまだ十分長くない。TestingがSidから自動でマージされてくる以上、それは一つのメジャーバージョン内でパッケージバージョンが絶えず変化することを意味する。Stableのように二年後の次のメジャーバージョン更新まで変化しないわけではない。これによりソフトウェア挙動は予測不能(unpredictable)になる。\nさらに、Debian TestingがTestingと呼ばれるのは、テスト用途に使われるからであり、更新サポート周期は保証されない。Debian Stableのように5年更新サポートがあるわけではない。\nまた、ソフトウェアが安定するのを待つその6か月の空白期間では、ユーザーは気まずい位置に置かれる。更新がないだけでなく、重大な安全性更新に遭遇しても、Sidの検査が終わるまで受け取れない。\nそれに比べ、Debian Stableに緊急のbugや安全問題があれば、より速く修正を得られる。\n類比するなら、Debian TestingはFedoraの開発モデルに非常に近い。あるいはCentOS Streamと言ってもよい。ただし更新はさらに保証されない。\nそうである以上、Fedoraの悪い経験を経た後、私はDebian Testingも推薦できない。\nFedoraの開発モデルはどのように不安定なのか？ # 通常、Fedoraは半ローリングリリースと見なされる。固定更新モデルを採用し、毎年一つのメジャーバージョン更新を出し、システムパッケージバージョンはいずれも上流にかなり近い。FedoraシステムのパッケージはDebian Stableのように古くはなく、Arch Linuxのように直接何も考えず最新版を使うわけでもない。\nだからFedoraは不安定と安定更新の間でバランス点を見つけ、Linuxの最新機能を試したいが、過度に激進的な更新は避けたいユーザーに向いている。\nしかしこのシステムは本当に十分安定なのか？\nFedora Updates policyを参照すると、Fedoraの上流にはRawhideというブランチがあり、パッケージは開発者のテスト、投票を経て、標準に合い、安定と見なされた後にBetaへ置かれ、さらにStableへ置かれる。 Fedoraの各Stableを称するバージョンは約6か月ごとにリリースされ、その後13か月の更新サポートを提供する。各Fedoraメジャーバージョンのサポート期間、つまり一年以内に、パッケージバージョンは絶えず変化する。GNOMEにとっては影響が大きくないかもしれない。GNOMEは毎年固定で一つのバージョンをリリースし、Fedoraの更新周期とおおむね揃っているため、Fedora一つのバージョン内であまり変化しないからだ。KDE Plasmaについては予測不能だ。リリース時期が固定されていないため、三回以上変化する可能性すらある！\nさらにFedoraの下流、つまり最終安定版は、Fedoraプロジェクトが制御する直接の産物ではなく、自由に利用できないRHELである。上流と下流の間にはCentOS Streamという踏み台もあり、RedHatがソフトウェア品質を高めるためにより多くの時間をかけられるようにしている。安定し、かつ自由なシステムが必要なら、Rocky LinuxやAlmaLinuxのようなプロジェクトを使うことになる。\nしたがって、Fedoraの最終版安定システムなど最初から存在しないと言える。それはずっと変化し続けている。\nDebian Stableと比べると、Fedoraの更新周期は本当に短すぎる。\nローリングリリースには慎重に向き合うべき、安全ベルトがあっても # 今の私はローリングリリースを非常に慎重に見るようになった。特に商業会社のメンテナンスを欠くものはそうだ。よく言えば、ローリングリリースを新機能の遊園地と見なし、人々に新機能の探索を促すことはできる。しかし安定性の保証がないなら、それは玩具になる。\nFedoraユーザーはその開発モデルの影響を受け、絶えず新技術を推崇する。イテレーションの速さは追いつきにくいほどで、毎年のように新しいものが古いものを置き換える可能性がある。たとえばWaylandがX11を置き換え、PipeWireがPulseAudioを置き換え（btw PulseAudioもひどい）、PodmanがDockerを代替するなどだ。\n最近よく聞く議題はimmutable、またはatomicと呼ばれるシステム更新モデルだ。彼らは、これによってシステムがより安定し、更新がより保証されると言う。\nImmutable distroという概念は昔から存在するが、2019年以降になってようやく専用のLinuxディストリビューションが徐々に登場し始めた。最も有名なのはFedora Silverblueを筆頭とする実装だ。これは通常版Fedoraとは別に、新しい道を切り開く試みである。\n私はimmutableの新境地を探ることには反対しない。しかしimmutableはFedoraの不安定問題を解決できない。Fedoraは半ローリング更新ディストリビューションであり、Fedora 44までずっとそうだ。バージョン番号はあるし、Arch Linuxのように盲目的に最新版パッケージを追うわけでもない。しかし実際には、ソフトウェアが長期テストを欠いたままリリースされている。少なくともDebian Stableの一、二年に及ぶ開発モデルと比べれば、Fedoraが六か月で一度更新する頻度は高すぎる。これが不安定性を悪化させる。しかも私が使っているのはKDE Plasmaデスクトップであり、更新頻度はGNOMEよりずっと高く、固定されていない。\nFedoraはとても安定していて一度も崩壊したことがないと言う人については、彼らが本当にget a lifeしたことがあるのか、それともit works on my machineなら安定だと見なしているだけなのか疑っている。\nDebian開発者は、安定性への考慮よりも新機能を追い続けるユーザーをShiny New Stuff Syndromeと呼ぶ。\nこれは病気だ。私はあなたに必ず治せとは求めないが、あちこちで人に感染させ、他人にも追従を強制しないでほしい。\n多くのLinuxディストリビューションはFedoraのimmutable distroブームの影響を受け、自分たちのimmutable derivativesも出すべきか議論している。しかし実際にDebianコミュニティを覗いてみると、現在のDebian 13環境では、Fedoraで流行しているあのimmutable風潮にあまり乗り気でないことが分かる。多くの人の考えは私と同じだと思う。Debianのように少なくとも二年をかけて長期開発するモデルであり、六か月のほぼローリング更新モデルではないなら、ソフトウェアは自然に安定していく。さらにFlatpakで上流ソフトウェアを補えば、immutableに匹敵する体験を提供するには十分である。\nImmutable distroについて、今の私はまだ受け入れ不能な状態にあり、未来の脳アップグレードを待つ必要がある。あるいは、ローリング更新モデルを採用しないimmutable distroが出たら、切り替えを考える。たとえばVanilla OSとBluefin LTSは私の期待にかなり合っているので、彼らがKDE版を出すのを待つ。\nならboomerになろう # 新技術を理解できず、拒否的態度を持つ。まずい、どうやら今度は私が人々の言うboomerになる番らしい。\nもともと私は、Systemd vs 伝統init、X11 vs Wayland、PulseAudio vs PipeWireの技術争議について特に意見はなく、むしろ多くの人が一緒に最新技術へ追いついて使うべきだと励ましていた。これは私の世代が遭遇した問題ではないからだ。\nさらに、LinuxサーバーではDockerを多用してSQLサービスをデプロイすべきで、手動でコマンドを打ってバイナリをインストールしているのは馬鹿だとさえ思っていた。もしソフトウェア開発者がSystemdと組み合わせてサービスを管理することを知らず、自分のdaemon実装を使うなら、私はそれをout of touch、老害だと言うだろう。\nしかし新興のatomicとimmutable distro概念については、私は本当にReddit上の一部の人々の宣伝口調にうんざりさせられた。彼らは一日中、この技術を採用した新しいFedora Atomicディストリビューション（Silverblue、Kinoite、Bazzite、Bluefinを含む）が最高で、多くのblahblahな問題を改善したと言っている。さらには伝統的で信頼できるDebian開発モデルなど、とっくに歴史のゴミ箱へ掃き込まれるべきだと考えている。この態度は称賛しがたい。\n私はいくつかのimmutable distroを試し、彼らの文書説明も読んだ。たとえばBluefin Documentationは彼らの理念を説明している。それでも伝統的なLinuxと比べて何の優位があるのか分からなかった。現在のLinuxディストリビューションの開発とメンテナンスに多くの問題があるのは確かだ。しかし彼らはまったく異なる方式で旧来のモデルを全面的に覆そうとしている。古い問題を解決したように見えて、新しい問題を作っている。既存の成熟した方案を破壊し、新しいやり方への適応を要求する。そしてLinux固有の自由度まで犠牲にしている。\nユーザーは自分たちのシステムを恐れるべきではない。たとえメンテナンス性のために、開発者がLinuxユーザーへ新型image-basedのシステムデプロイ方式に適応することを求めても、私たちは従う必要はない。Fedora Atomicデスクトップが導入した概念は、怠惰なユーザーにはよい。システムを壊す心配がないからだ。しかし私は自分をいじるのが好きな人間だと認めているので、Debianのような伝統モデルのほうがよりよいと思う。削除したいソフトウェアがあれば、APTを使って処理できる。システム本体にあるイメージファイルによって決定されるのではない。 もしあなたが毎回の更新でシステムを壊す恐怖に常に置かれ、そのためロールバック能力を追求しなければならないなら、あなたは最初から使うシステムを間違えている。ローリングリリースを使うべきではない。\nもしこの種のimage-basedシステムが未来だと言うなら、ChromeOSこそ衆望を担うシステムであり、dumb-downな構造で、彼らのGUI品質はあなたが誇るオープンソースコミュニティが差し出すごった煮を余裕で打ち負かしているwww\nImmutable distroブームは、より多くは開発者と企業環境に有利なもので、一般ユーザーへの改善はごくわずかだ。\nこれがevangelistというものだろう。\u0026ldquo;Rewrite everything in Rust\u0026quot;だと考える連中と同じだ。問題が何も解決していないのに、新しい問題を専門に作り出し、そのうえ自己満足している。\n私はそこまで性急ではない。数年待って発展がどうなるかを見てから移行を考える。焦らず忍耐する。\nこれらevangelistの考えを理解しようとするなら、当時Systemdが出たばかりの頃も、Lennart Poetteringを筆頭とする一群の狂人のような人たちが各所で広めたからこそ、手段の良し悪しはともかく、広く流通するようになったのだろう。残ったのは一握りのBSD愛好者が瀕死の抵抗をしているだけだ。\n私はこれら新しいLinux技術を狂ったように推す人々が全員RedHatの手先だと言いたくはない。それはあまりに陰謀論だ。今のところ私が比較的受け入れられる新興技術は、おそらくFlatpakくらいだ。本当にソフトウェアのインストールが便利だからだ。システムにimmutableになれと言われる？考えるだけ無駄だ！\n私たちはChromebookとAndroidスマホによる知能低下の毒に、まだ十分やられていないというのか！？WindowsとmacOSはそこまで知能低下していないとはいえ、ユーザーの自由を抑圧する程度も肉眼で見えるほどだ。\nもし私が自由を堅持する理由がないなら、おとなしくWindowsとmacOSを使えばいいだけだ。しかし私は自分の支配権の一部を保ちたいからこそ、自分の期待に合うLinuxディストリビューションを使いたい。\n比較的中立な一言を言うなら、それは：Use what works for you. いわゆる潮流についていけていないからといって、FOMOやFUDを生む必要はない。\nアメリカ政治オタクの用語を借りれば、左傾進歩派が忙しくあなたを教育し、彼らの未来理念がどれほど先進的かを語り、現在の現実需要を無視するとき、私は理解した。なぜアメリカ極右保守派があのガラガラヘビ旗を貼るのか：私を踏むな！ 世の中には苦しむ人が多いことを忘れるな！ 余談だが、FOSS界のオルタナ右翼狂犬Bryan Lundukeもこの旗を貼ったことがある。ただし彼はガラガラヘビを自分の犬に変えていた。\n私たちは歴史の重要な交差点に立っているのかもしれない。しかし私は性急に進むことを選ばない。もし未来のLinuxの方向が、私たちの期待からますます逸れていくなら、そのとき私はBSDを使うしかない。\n","date":"2026年2月21日","externalUrl":null,"permalink":"/ja-jp/posts/the-immaturity-of-immutable-distro/","section":"Foss-Issues","summary":" Debian vs Fedora, which one is more stable?\n安定更新のDebianこそ答えであり、ローリング更新のFedoraは玩具だ。両者を比較すれば、答えは自ずと見えてくる。\n私は日常システムとして、多機能で美しいデスクトップが欲しい。そのため私はずっとKDE Plasmaの愛好者であり、反人類的なGNOMEから離れ、時代遅れのXFCEを拒否している。激しい言い方をすると、GNOMEは人民の父親でもないのに、なぜ毎回それを選ばなければならないのか！\nずっと私にローリングリリースを勧めたがる人がいる。だが断る！\n以前の記事Linux最新與穩定，真的能兼得嗎？で述べたように、この数年の苦しい探索を経て、私は最新版KDEデスクトップを盲目的に追求することと、ローリング更新のLinuxディストリビューションモデルは完全な災難だと考えるようになった。Arch Linux、openSUSE Tumbleweed、Fedora（Kinoiteを含む）、KDE Neonを使った後、よい体験はなかった。\n毎月何かが崩壊する。デスクトップが崩れ、ドライバーが潰れ、入力が詰まり、ゲームが落ち、馬兒跳。これは単純にバックアップからロールバックすれば解決する問題ではない。\nだから私はDebian Stable + KDEへ行った。このKDEバージョンが上流から一、二年遅れていても構わない。Waylandが少なくとも使えればよい。私のハードウェアはそれほど新しくなく、1%の性能改善のためだけに最新GPUドライバーを更新し続ける需要もない。私は暇で一日中システムで遊んでいるわけでもなく、毎月最新KDE機能を追い続ける必要もない。さらにSnapが邪魔しない。もう半年使っただろうか、私は平穏さを感じている。\n","title":"Debianは安定、Fedoraは玩具。immutable distroブームについても語る","type":"foss-issues"},{"content":"","date":"2026年2月21日","externalUrl":null,"permalink":"/ja-jp/tags/kde-plasma/","section":"Tags","summary":"","title":"KDE Plasma","type":"tags"},{"content":"適用版本：Linuxt Mint 22以上\n目前Linux Mint在安裝之後會自動設定好中文介面，但是不會自動安裝中文輸入法。\n別擔心，手動安裝很簡單的。Linux中文輸入法有很多種，我們將安裝在Linux中文圈比較受歡迎的輸入法框架「Fcitx5」。\nFcitx5是一款支援多種語言的開源輸入法框架，支援注音、漢語拼音、倉頡、嘸蝦米、大易、行列、輕鬆等常見的中文輸入法方案，能夠在輸入時繁轉簡。還額外支援輸入粵文、日文、韓文、越南文。 本文Ivon教學如何不打指令，純靠Linux Mint的圖形介面安裝Fcitx5輸入法。\n當然如果你想的話，也可以學習用指令安裝Fcitx5。\n1. 安裝Fcitx5 # 開啟Linux Mint電腦左下角的系統設定 點選輸入法 選取正體中文，點選安裝語言支援套件，輸入法框架選Fcitx。 接著，開啟軟體管理員 搜尋Fcitx5，通常應該是第一個，點選下載。不要下載Flatpak的版本。這裡用原生版就好。 （技術細節：Linux Mint 22系統啟用的是舊版的Fcitx4框架，安裝Fcitx5會自動替換舊版套件）\n然後再搜尋要用的輸入法程式，例如我這裡選fcitx5-chewing，安裝，這樣就會得到新酷音注音輸入法。再安裝fcitx5-chinese-addons的話則是可以得到繁簡轉換套件與拼音輸入法。 接著，在應用程式面板搜尋Fcitx5設定，點選啟動 開啟Fcitx5設定面板，新酷音應該已經在左側列表了，表示已經啟用。若無，點選右側輸入法列表，將其移動到左側，啟用新酷音輸入法。 在系統匣的圖示就會出現新酷音注音輸入法了。將滑鼠游標移動到文字框，按Ctrl + 空白鍵喚醒新酷音。 Fcixt5可能不會在Linux Mint開機後自動啟動。因此要再次點選系統設定 → 系統啟動應用程式 將Fcitx5加進去。 你可能需要重開機才能使用Fcitx5。\n2. Fcitx5打字操作 # 快捷鍵如下：\n按鍵 用途 注音鍵 輸入注音開始打字。新酷音必須要打出完整的聲母和韻母才能選字。輸入注音之後按空白鍵，使用方向鍵選字。輸入注音的時候滑鼠點一下空白處，可以單獨打注音。 CTRL + 空白鍵 切換不同語言的Fcitx5輸入法，例如從注音切換到拼音。 SHIFT 切換Fcitx5中英輸入。 CTRL + SHIFT + F 切換Fcitx5簡繁輸入。 CTRL + ; 開啟Fcitx5的剪貼簿 SHIFT + 空白鍵 切換新酷音的全形與半形。 SHIFT + 鍵盤的標點符號 輸入新酷音的全形字元，例如按SHIFT + ,輸出逗號，；按SHIFT + .輸出句號。；按SHIFT + -或SHIFT + \\可以打箭頭符號；按[輸出引號「。 ~ 按下波浪號開啟新酷音提供的特殊符號、數學符號、希臘字母面板。 3. 如果特定程式無法打字 # 開啟更新管理員，嘗試將系統更新到最新版。\n用檔案管理器，點選檢視 → 顯示隱藏檔案。在家目錄找到~/.bashrc或者~/.profile這個檔案 用文字編輯器打開，在檔案最底部，加入以下環境變數\nGTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx 儲存，然後重開機。 如果還是無法打字，嘗試到Fcitx5的Github向作者回報問題。\n","date":"2026年2月20日","externalUrl":null,"permalink":"/posts/install-fcitx5-on-linux-mint/","section":"所有文章","summary":"適用版本：Linuxt Mint 22以上\n目前Linux Mint在安裝之後會自動設定好中文介面，但是不會自動安裝中文輸入法。\n別擔心，手動安裝很簡單的。Linux中文輸入法有很多種，我們將安裝在Linux中文圈比較受歡迎的輸入法框架「Fcitx5」。\nFcitx5是一款支援多種語言的開源輸入法框架，支援注音、漢語拼音、倉頡、嘸蝦米、大易、行列、輕鬆等常見的中文輸入法方案，能夠在輸入時繁轉簡。還額外支援輸入粵文、日文、韓文、越南文。 本文Ivon教學如何不打指令，純靠Linux Mint的圖形介面安裝Fcitx5輸入法。\n當然如果你想的話，也可以學習用指令安裝Fcitx5。\n1. 安裝Fcitx5 # 開啟Linux Mint電腦左下角的系統設定 點選輸入法 選取正體中文，點選安裝語言支援套件，輸入法框架選Fcitx。 接著，開啟軟體管理員 搜尋Fcitx5，通常應該是第一個，點選下載。不要下載Flatpak的版本。這裡用原生版就好。 （技術細節：Linux Mint 22系統啟用的是舊版的Fcitx4框架，安裝Fcitx5會自動替換舊版套件）\n然後再搜尋要用的輸入法程式，例如我這裡選fcitx5-chewing，安裝，這樣就會得到新酷音注音輸入法。再安裝fcitx5-chinese-addons的話則是可以得到繁簡轉換套件與拼音輸入法。 ","title":"Linux Mint如何安裝中文輸入法 (Fcitx5 + 新酷音）免打指令","type":"posts"},{"content":"","date":"2026年2月19日","externalUrl":null,"permalink":"/tags/democratic-progressive-party/","section":"標籤","summary":"","title":"Democratic Progressive Party","type":"tags"},{"content":"","date":"2026年2月19日","externalUrl":null,"permalink":"/politic/","section":"Politics","summary":"","title":"Politics","type":"politic"},{"content":"","date":"2026年2月19日","externalUrl":null,"permalink":"/tags/taiwan-peoples-party/","section":"標籤","summary":"","title":"Taiwan People's Party","type":"tags"},{"content":"2025年2月，台中武陵農場遊客中心附近的步道。\n「你什麼時候要畢業？什麼時候才要正經找工作？」\n「我過年後就會就職新工作，付自己學費。至於畢業時間，我自有定數。」\n（擺出威逼的態勢）「你知道立法院砍掉那麼多預算，害我們學校的研究生都沒頭路了嗎？如果之後真的通過，我一定第一個揍你！」\n（我講話開始發抖，但是故作鎮定）「砍掉哪筆？具體說說。哪一筆是真正嚴格地與你的學校有關係的？」\n「反正就是砍了，我們上面一堆教授的研究計畫受影響，學長已經沒辦法繼續就任研究助理了。」\n「砍掉預算是正常的操作，美國政府也是這樣，沒什麼大不了得。而且在過去，立法院本來就會適當銷掉一些預算。」\n（開始大吼）「以前國民黨把台灣搞到負債你不知道嗎！你們這群小草就是一群住在山洞裡面不會思考的生物，不知道外面發生什麼事，只會幻想而無路用！」\n「\u0026hellip;\u0026hellip;」\n「還有你們黨要讓中配取得身分證六年改四年是吧？」\n「我不支持呀！」\n「你就是支持！」\n（換我按耐不住性子大吼）「不要情勒啦！所以你覺得台灣立法院全都是像柯建銘說的都是支那人的爪牙是吧！」\n幾分鐘後，我父母眼見我們可能快打起來，介入緩頰。覺得我們彼此講的都太嚴重了。\n（在我媽旁邊潰提）「我覺得\u0026hellip;（抽泣）仇恨不能解決問題\u0026hellip;為什麼，我的政治立場屬於要被小粉紅罵漢奸，又要被台灣人罵叛國的位置。」\n在晚上到旅館的時候，我爸爸只是苦笑的跟我說：「你太早參與政治了\u0026hellip;\u0026hellip;我覺得玩政治的人都活在自己的同溫層裡面。」\n對話內容的背景 # 2024年，總統大選後，台灣形成朝小野大的格局，民眾黨與國民黨組成在野聯盟，對抗民進黨。許多法案在朝野無共識的情況下靠著人數優勢通過。在野通過一系列頗具爭議的法案，例如國會改革的修法，主張模仿美國，透過藐視國會罪讓立法院可以擴權，擁有對官員開聽證會的權限。以及嚴格審查中央政府總預算，砍掉許多依賴政府施捨的團體資金，讓那些吸政府油水的側翼斷炊。在民進黨以及其支持者看來，藍白通過這些法案，都是在毀憲政亂政，做中共的內應。\n事情發生在2025年2月，家庭出遊的日子。我跟家庭成員跟團到武陵農場旅遊。前天晚上，我媽在跟我於旅館附近逛街的時候，就暗示民眾黨很有問題，我兄弟想跟我「好好談一談」。\n接著在隔天登上武陵農場之後，就爆發了上面的對話。\n具體吵了什麼議題，我想不起來了，大概就上面那些。感覺再深挖下去回想，會誘發PTSD（抖）。\n讓我放首槍與玫瑰的歌曲〈內戰〉冷靜一下。Look at your young men fighting\u0026hellip;\u0026hellip;Look at the hate we\u0026rsquo;re breeding\u0026hellip;\u0026hellip;.\n我想那個時候我是沒有做好辯論準備就上去的了，沒有準備質詢資料。因此被惹怒之後，也回噴了一些情緒性的話語，而非基於事實的理性討論。\n關於我兄弟的論點，其實有很多可以據理力爭的辦法。例如民進黨二次執政後之所以政府沒有負債，是因為錢都跑到特別預算了。再加上，砍政府總預算的事情，中間發生太多誤會了，錯誤歸因的情況下，溝通有很大問題。還有他們高科大的預算被砍，但其實我高師大是沒受影響的。\n此外，我應該嘗試同理一下他們失去補助所面臨的問題再解釋背後原因的\u0026hellip;而非無情的將他們視為國家的蛀蟲。我應該，不對，應該說「愛你的敵人」才對。\n自此之後，我大概就成為他眼中的了「零智草人」，完全不與我說話了。以前他可能覺得我只是有點古怪的宅宅，整天喊著要大家用Linux，偶爾還會找我聊天。現在，到達了我在家裡完全無視我的程度。\n然後他還在房門外貼上「共國昌，爹親娘親沒有黃主席親」的嘲諷大字報，將民眾黨與小草比喻為文革領袖的關係。\n這讓人又氣又好笑，明明綠衛兵（也就是青鳥）的批鬥程度也沒好到哪裡去好不好。\n以前我還會覺得I am offended. 現在是比較能接受這種說法不破防了，畢竟我作為政治廚也不能說自己支持的人就一定是對的。只是，這種心態讓人覺得惡劣。換個角度想，要是我到處在社群媒體貼，跟人說賴皮寮快點拆掉，你會覺得好受嗎？ 在台南市誠品拍的奇異鳥娃娃\n這種壓力讓人不適。彷彿完全不把我當人看的樣子。雖然我不認同他人的政治意見，但我認為沒有必要將對方當仇人的地步。即使是在出去聚餐的時候，雖然我嘗試跟他說點什麼，幫他拿個餐具，也只是得到冷漠的點頭。然後轉頭便開朗的跟我母親交談。\n因為人格影響，我總是會反覆咀嚼那些充滿惡意的爭吵話語，然後在黑夜中流淚。甚至有時候會夢到他想把我給殺了。\n我父母對此也無能為力。難道我非得下跪道歉，起義來歸，懺悔才能獲得原諒嗎？\n2025年2月之後我確實找到新工作了。在三個月之後，我便到精神科報到了。我想是這種政治上的抑鬱，還有工作上的壓力，誘發了恐慌症。\n個人政治立場微妙的轉變 # 自承自己的狂熱歷史。基本上我認為，過去兩年的我，是處在一種邪教的狀態的。\n2023年以前，因為接觸的資訊大部分來自網路，我是無腦反共反中的一派，到後來甚至變支黑了。雖然沒有投蔡英文，不過我也沒支持過韓國瑜，甚至覺得這個光頭就是個笑話。\n然後，大概是在2023年末我逐漸支持民眾黨的。大概是從那個7月參與716公平正義遊行開始。\n熱誠到2024年1月初的總統大選傳Line呼籲家人支持柯文哲，並於2024年到達巔峰，之後甚至入黨。在國會改革法案引發青鳥行動的時候，我還喊出支持警察打死這群暴民的言論。後來柯文哲被抓，隨著民眾黨參與多場上街抗議遊行。直到2025年2月之後才趨緩。在那之後黃國昌接任黨主席，觀察到藍白合作變成勾結的跡象。講難聽點就是分贓，民眾黨與國民黨在地方選舉共同推派代表，不再像柯文哲一樣試圖談條件。\n然後柯文哲的案子審查過程撲朔迷離，爭議不斷，預計訴訟會拖個好幾年。於是到現在熱情減退許多，就消極支持民眾黨，不再參與遊行。並對上層政策持批判態度。\n關於兩岸情勢，我依然認為維持現狀是比較好的務實選擇。我們不要仇恨中國人呀，中國人不要整天說要打壓台灣人呀。並且，一昧的培養仇中意識形態沒有出路，並要對美國絕對支持台灣防衛的假想保持警惕。\n我覺得一些台灣人真的有一種莫名其妙的孤島意識：中國一直想併吞我國，你就想要獨立於中國之外，覺得各過各的就好，不要統一我們。然後又要擁抱所謂世界，卻眼裡只有歐美，把中國排除在外？這算哪門子的全球主義。\n冷靜想想，儘管我覺得青鳥跟小粉紅一樣該死，是愛國賊，但我不認為物理消滅對方，或者說滾出台灣就能解決問題。如果有人可以出來建立跨黨派溝通管道，那該有多好。\n如果有人質疑我的政治立場，我會嘗試辯駁。不過極端聲音會自動過濾掉。\n只是看到民眾黨為了求生存，被迫與國民黨正式合作組成聯盟，且還可能淪為附庸。未來成為理性的第三勢力地位越來越模糊。故，未來我想通了之後，可能就會退出民眾黨吧。\n我想我多少陷入了虛無主義，如果我們沒有信仰。\n我反對任何一種極端化的政治意識形態。即使是民眾黨，也不例外，不可以瞎挺任何人，我不要當腦粉小草，並且不可以只聽同溫層訊息，從而深化偏見。對於我黨所推行的政策，也並不是無腦支持的。比如，雖然我支持國會改革，嚴格審查國家預算不讓錢被特別預算亂花，但我就一直不能支持中配六改四的，即使我國同屬一中應該對大陸人民無歧視措施，立法過程也太倉促。也反對為了救柯文哲貪污罪的官司案子，把刑法羈押規則修的更鬆。\n家庭政治面貌 # 座標位於台南市。講到家庭政治傾向。我家基本上是偏綠的，阿公會一邊看電視罵國民黨，還曾經排好幾個小時的隊伍去拿陳水扁發的發財金。\n父母，雖然不是到很狂熱，想到才去投票，但基本上地方選舉和總統大選都是投給民進黨的。父親曾經被外派到大陸出差過，理解當地的經濟發展與建設速度，雖會偶爾嘴幾句政治問題，並不會到無腦仇中的地步。\n而我母親，就是有點偏歲靜的樣子。平常不關心政治，看Facebook的聳動短視頻了解時事。只有到韓國瑜那種瘋子出來選總統的時候，才會想到要去投票。\n雖然我媽不是很反對我支持民眾黨的立場。但偶爾也會唸我幾句，說我都被黃國昌和柯文哲洗腦了，不要人家說什麼都相信。嗯，我果然不應該聽信五五計畫，在家裡客廳看黃國昌直播噴人的。\n然後，雖然她對賴清德頗有怨言，認為他從以前當台南市長就一直很高傲，卻也覺得柯文哲不是什麼好東西。\n再來是我兄弟。他對台灣政治的態度形成過程，老實說我無從得知。只知道是同性戀，且是基督徒，與許多美國在台的朋友交好，崇尚美式獨立生活，並且姑且有算在玩樂團。屬於歲靜的一群，基本上可能偏綠。\n但是，似乎是因為在打多人PVP遊戲時遇到中國玩家的行為太噁心（在團戰遊戲中因為激烈競爭導致進入政治叫罵的行為並不少見），加上可能只從FB同溫層接收資訊（我實在沒資格說人家），從而產生了嚴重偏見，乃至於鄙視一切與中國有關的事物。當然親中的政黨，民眾黨與國民黨所做的決策，自然會讓他不爽了。\n我身邊似乎不是很多支持民眾黨的人。除了2024年我到台南市黨部拿春聯的時候，發現幾層樓外的鄰居也是柯粉，才知道我不是那麼孤立無援的。\n不過，我與黨內的夥伴的關係，說實在也不是很緊密，就是類似俱樂部的的關係而已，我\u0026hellip;尚未與黨員同志建立太深入的合作關係與支持網路。除非我要出來選黨代表，甚至公職才會需要積極參與黨部活動。不過我的能力實在沒有到那種地步。\n懸而未解 # 那件事發生後，直到現在，我跟他說的話沒超過十句。\n寫這篇文章的時候，我感到極度的不適。因為我等同是在把自己剖半，被迫面對這不肯面對的事實。這遠比在網上與他人鍵政要感到來的難過。因為網路上講完，就算逆風被出征，關掉就算了，有種你順著網線來打我啊。要開盒我很困難的，我才沒笨到把住址po在網上。\n可是在現實中，我總算體會到了身心受到威脅的感覺。\n講政治，似乎就意味著危險。看看2025年大罷免大成功期間，國民兩黨支持者在街上頻發肢體衝突。似乎不只我們被青鳥攻擊，連民進黨自身都遭到反噬，遭到小草與國民黨人暴力相向。\n想到2025年於高雄參加的一場民眾黨挺柯集會，裡面有位老婦人語帶恐懼的說道「在現在的台灣，講政治立場就會被出征，我感到好害怕\u0026hellip;.」\n會不會其實，我當個歲靜還是比較好呢，不要那麼明顯的表露政治意見，就不會破壞家庭和諧了？\n","date":"2026年2月19日","externalUrl":null,"permalink":"/posts/2026021901/","section":"Politics","summary":"2025年2月，台中武陵農場遊客中心附近的步道。\n「你什麼時候要畢業？什麼時候才要正經找工作？」\n「我過年後就會就職新工作，付自己學費。至於畢業時間，我自有定數。」\n（擺出威逼的態勢）「你知道立法院砍掉那麼多預算，害我們學校的研究生都沒頭路了嗎？如果之後真的通過，我一定第一個揍你！」\n（我講話開始發抖，但是故作鎮定）「砍掉哪筆？具體說說。哪一筆是真正嚴格地與你的學校有關係的？」\n「反正就是砍了，我們上面一堆教授的研究計畫受影響，學長已經沒辦法繼續就任研究助理了。」\n「砍掉預算是正常的操作，美國政府也是這樣，沒什麼大不了得。而且在過去，立法院本來就會適當銷掉一些預算。」\n（開始大吼）「以前國民黨把台灣搞到負債你不知道嗎！你們這群小草就是一群住在山洞裡面不會思考的生物，不知道外面發生什麼事，只會幻想而無路用！」\n「……」\n「還有你們黨要讓中配取得身分證六年改四年是吧？」\n「我不支持呀！」\n「你就是支持！」\n（換我按耐不住性子大吼）「不要情勒啦！所以你覺得台灣立法院全都是像柯建銘說的都是支那人的爪牙是吧！」\n幾分鐘後，我父母眼見我們可能快打起來，介入緩頰。覺得我們彼此講的都太嚴重了。\n（在我媽旁邊潰提）「我覺得…（抽泣）仇恨不能解決問題…為什麼，我的政治立場屬於要被小粉紅罵漢奸，又要被台灣人罵叛國的位置。」\n","title":"因為政治立場不同，兄弟鬩牆，家庭失和","type":"politic"},{"content":"","date":"2026年2月18日","externalUrl":null,"permalink":"/tags/almalinux/","section":"標籤","summary":"","title":"AlmaLinux","type":"tags"},{"content":"分享將AlmaLinux當桌面系統使用的經驗。 1. AlamaLinux簡介 # 在西班牙語裡，「Alma」是靈魂的意思。\nAlmaLinux (AlmaLinux OS) 是在2020年CentOS 8被RedHat中止開發後出現的Linux發行版，由CloudLinux公司出資建立，目標是繼承原有CentOS專案的遺志，繼續提供穩定的企業級Linux系統。 AlmaLinux是根據RedHat公司所釋出的RHEL原始碼所編譯而成的Linux發行版。供個人及企業自由使用，不用付訂閱授權費用。\nAlmaLinux鼓勵社群參與貢獻，在官網AlmaLinux Wiki提供許多實用的指南供系統管理員參考。\nAlmaLinux的版本號是跟著RHEL跑的，例如目前最新版AlmaLinux 10對應RHEL 10，大約3年一個大版本更新，每個大版本提供10年支援。這個系統務求做到與RHEL相容，也就是說能在RHEL跑的程式一定也能在AlmaLinux用。同時能夠從RHEL上游的Fedora借一些套件來裝。\n目前AlmaLinux主力專注在伺服器市場，但沒有人說你不能把它當桌面系統使用呀？\n2. 比較AlmaLinux與Rocky Linux # 目前RHEL系列發行版的開發過程如圖所示 說道CentOS替代品，那麼就會想到Rocky Linux吧？同樣作為CentOS的繼承者，目標是針對企業級Linux市場的發行版，AlmaLinux和Rocky Linux有什麼不同呢？\n兩者非常類似。許多雲端供應商都有提供Rocky Linux與AlmaLinux的機器供選擇。若你很在乎商業支援程度，應該看要用的軟體與廠商願不願意支援AlmaLinux或Rocky Linux。\n既然是基於RHEL編譯，使用相同的Linux核心原始碼，AlmaLinux與Rocky Linux的兩者系統性能方面應該是沒差異的。\n我個人「感覺」撰文當下，Rocky Linux在台灣要比AlmaLinux有名一些，針對Rocky Linux的教學比較多。不過AlmaLinux的官方文件也很詳細。兩者指令大部分能夠通用，只要改幾個變數就好。\n兩者同樣是根據RHEL釋出的原始碼編譯而成，可以作到bug to bug的相容性。\n不過自從2023年RHEL的原始碼改成要付費才能從SRPM取得之後，開發方式產生了變化。Rocky Linux是選擇花錢從SRPM獲得RHEL原始碼編譯而成，搭配CentOS Stream的原始碼修正。AlmaLinux則是用CentOS Stream原始碼，並參考其他發行版進行修正，可能還會幫忙修個bug。\n於是兩者產生了微妙的變化：Rocky Linux可以做到與RHEL 1:1複製品的程度，連bug都給你複製下來。而AlamaLinux只能做到ABI compatible。\n這裡要補充說明一下：CentOS Stream並不太算是滾動發行版，它還是有固定版本號的，每3年釋出一個大版本，算是RHEL未來版本的預覽版。RHEL下個版本的功能通常來自CentOS Stream，有版本對應關係，因此AlmaLinux可以用這種方式保有對未來RHEL的ABI compatible。\n雖然兩者同樣是根據RHEL原始碼編譯而成，但是Rocky Linux僅僅是複製了RHEL的功能和改個商標而已，沒有做額外修改，作到bug-to-bug的相容性。\nAlmaLinux會有自己的一套額外套件庫，讓使用者有更多選擇。例如Synergy Repository，支援RHEL上游不支援的特性。像是直到RHEL 10都還沒有影子的BTRFS，在AlmaLinux 10開箱即用。並且AlmaLinux允許開源社群參與改進系統，修復RHEL遺留下來的bug。\n兩者最大的差異，還有組織背景。AlmaLinux和Rocky Linux背後開發者的經營方向不太一樣。Rocky Linux由在美國註冊的公益營利公司Rocky Enterprise Software Foundation所擁有。AlmaLinux則是受美國的非營利組織AlmaLinux OS Foundation支援。\n關於這種方式哪個比較好，有種陰謀論的解釋是說：Rocky Linux的創辦人正是CentOS創始者，以前CentOS被賣給RedHat公司他也有份，結果就被RedHat弄死了。而未來Rocky Linux可能又會有商業公司介入的爭議，導致專案受到公司方向影響。儘管Rocky Linux一直強調community-driven，且現在還沒有「作惡」的跡象。\n而AlamaLinux由非營利組織支持，依賴CloudLinux為首的各大公司捐助維持運作。但是商業公司對專案開發沒有決定權。\n簡單來說，AlmaLinux更強調社群導向的開發模式，Rocky Linux則是以商業優先考量。\n3. 測試環境 # 電腦：MSI Modern 15 A10RBS CPU：Intel i5-10210u GPU：Intel UHD 620 GPU：Nvidia MX350 系統版本：AlmaLinux 10 Linux核心版本：6.12.0 桌面版本：KDE Plasma 6.4.5 4. 安裝AlamaLinux # 到官網下載DVD版本的安裝ISO。\n目前AlmaLinux官方只有提供GNOME桌面環境的映像檔。但是我覺得GNOME很難用啊～AlmaLinux沒收KDE Plasma桌面，要手動從EPEL套件庫安裝（後述） 下載之後驗證檔案完整性。\n使用Ventoy製作開機隨身碟。\n進入UEFI。雖然AlmaLinux支援，不過我還是關閉Secure Boot。\n選擇隨身碟開機\n選取語言 點安裝目標位置，選取硬碟，清除磁碟並安裝系統。 若硬碟裝有系統，需清除硬碟上的所有資料，點選「我想要取回額外的可用空間」再按「完成」。點選刪除，刪除所有空間，再按取回空間。完成分區設定。AlmaLinux的分區表預設會使用LVM。\n回到主選單，點選Root密碼，設定root密碼 然後再新增使用者，並點選「讓此使用者成為管理員」(sudo) 開始安裝。 重開機之後進入GNOME桌面，完成初始化。 5. AlmaLinux如何安裝套件 # AlmaLinux 10預設套件管理器為DNF，沒有YUM，套件格式為.rpm。系統預設啟用SELinux。\n圖形程式方面AlmaLinux並無自身的圖形軟體更新器，靠的是桌面環境的軟體商店搭配PackageKit來更新，像KDE Plasma就是交由Discover負責。\n全系統更新指令：sudo dnf upgrade\nAlmaLinux在安裝的時候應該會自動設定好鏡像站，像它預設是使用台灣國內的鏡像站。如果有需要可以查閱全球鏡像站列表，並編輯/etc/yum.repos.d/目錄下的檔案來修改鏡像站。\n搜尋並安裝套件：sudo dnf search \u0026lt;套件名稱\u0026gt; 和 sudo dnf insall \u0026lt;套件名稱\u0026gt;\n雖然AlmaLinux各方面跟Fedora相像，但是Fedora的套件不見得適用。\n要抓RPM或新增套件庫的時候，務必下載帶有-epl10字樣的才可以裝在Rocky Linux 10。\nAlmaLinux本身的套件庫沒有Fedora豐富。覺得套件少的請開「EPEL Release」、「CRB(PowerToys)」、RPM Fusion等套件庫取得更多套件。\nsudo dnf install epel-release sudo crb enable # 自動偵測AlmaLinux對應的RHEL版本，安裝對應的套件庫 sudo dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm sudo dnf install https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm 桌面應用程式還可以從Flatpak、Snap、Distrobox等各種第三方途徑安裝。\n6. 手動安裝KDE Plasma桌面 # AlmaLinux套件庫沒有收KDE。準確來說是RHEL沒有收錄。這裡使用Fedora協助維護的EPEL套件庫安裝KDE。\n安裝KDE桌面群組。不移除GNOME桌面，令其共存。 sudo dnf group install kde-desktop-environment 將開機的顯示管理器換為SDDM sudo systemctl disable gdm sudo systemctl enable sddm 重開機。 7. 設定Fcitx5中文輸入法 # AlmaLinux沒有收Fcitx5套件，準確來說是RHEL也沒有，也就無法使用Fcitx5版本的新酷音。\n使用Flatpak版Fcitx5解決。\n8. Nvidia閉源驅動 # AlmaLinux預設會載入nouceau開源驅動。但要用CUDA的話得裝閉源驅動。\n根據官方文件，使用AlmaLinux的套件庫打包的Nvidia套件安裝。但是裝了沒反應？喔，大概是我的MX350太老了，不可以直接裝最新版的Nvidia 590版驅動，只能裝到580版本。\n改參考RPM Fusion指示安裝：\nsudo dnf install akmod-nvidia sudo dnf install xorg-x11-drv-nvidia-cuda 重開機。用nvidia-smi檢查驅動版本。 9. AlmaLinux桌面版使用簡評 # 其實我是因為看了日本Linux公司請人繪製的あるまちゃん色圖才來用AlmaLinux的。 因為EPEL的幫助，KDE桌面的套件版本蠻新的～ 其實是適合當作桌面系統使用的選擇。實際用了1個月左右，蠻穩的，Wayland桌面沒有崩潰，發現要安裝軟體其實沒有什麼太大問題。即使套件缺很大，如果知道RPM缺套件能從哪裡補的話則不是太大問題。\n","date":"2026年2月18日","externalUrl":null,"permalink":"/posts/install-almalinux/","section":"所有文章","summary":"分享將AlmaLinux當桌面系統使用的經驗。 1. AlamaLinux簡介 # 在西班牙語裡，「Alma」是靈魂的意思。\nAlmaLinux (AlmaLinux OS) 是在2020年CentOS 8被RedHat中止開發後出現的Linux發行版，由CloudLinux公司出資建立，目標是繼承原有CentOS專案的遺志，繼續提供穩定的企業級Linux系統。 AlmaLinux是根據RedHat公司所釋出的RHEL原始碼所編譯而成的Linux發行版。供個人及企業自由使用，不用付訂閱授權費用。\nAlmaLinux鼓勵社群參與貢獻，在官網AlmaLinux Wiki提供許多實用的指南供系統管理員參考。\nAlmaLinux的版本號是跟著RHEL跑的，例如目前最新版AlmaLinux 10對應RHEL 10，大約3年一個大版本更新，每個大版本提供10年支援。這個系統務求做到與RHEL相容，也就是說能在RHEL跑的程式一定也能在AlmaLinux用。同時能夠從RHEL上游的Fedora借一些套件來裝。\n目前AlmaLinux主力專注在伺服器市場，但沒有人說你不能把它當桌面系統使用呀？\n2. 比較AlmaLinux與Rocky Linux # 目前RHEL系列發行版的開發過程如圖所示 ","title":"AlmaLinux 10當日常系統使用，安裝KDE桌面＋中文輸入法＋Nvidia驅動","type":"posts"},{"content":"新年快樂，恭喜發財。\n木訥的表情說完後，手上多了好幾個紅色信封。\n白色的房門上，又多了一張新的菱形紙張。\n我這個年紀根本不該拿紅包了吧。\n為什麼不是黑色信封呢。如果沒有人看著我，那該多快樂。\n不想拿紅包，也不想發紅包。\n要是我人生不要這麼失敗的話。榮歸故里，那種事，怎麼想都不可能發生的吧。\n作為一個Z世代末端，INFP，喜歡給自己貼標籤的潮流小登，其實我蠻討厭說教的，不論是在一般閒話家常或是專業話題上。有些人講話總是喜歡揣著一副我比你懂很多的態度，從現實帶到網路上。這比陰陽怪氣的語氣還要讓人感到壓迫和不適，非得要巴結一下他們才願意認同你。\n他們就沒有想要做一個現代的公民，而是繼續當古時代的部落民。不是「我在乎你」，是你要在乎我的話比你的有份量。\n我告誡自己不要無意間這麼成為那種人，但反倒給了很多人得寸進尺的機會。\n好像很多人農曆新年回家見到親戚都會擔心這種問題，畢竟劈頭就會問你在哪裡工作，賺多少錢。不過幸好在我成長到那種被高談闊論的年紀之前，我的親戚都逐漸死光了，能講的嘴巴少了許多，每年能拿到的紅包越來越少，這種問題就不復存在了。紅包拿不到沒有關係，反正我又不欠你什麼。\n很幸運地我父母說教程度沒有八點檔那麼誇張。也有可能只是我忘記了吧，20歲以前吵過幾次架，但都沒有完全撕破臉。\n過年對我來說越來越沒有意義，只是在漫長疲憊的人生中又多了一個很長的短暫假期。儀式？何來儀式感。對自己的人生都不重視了，多了檀香的縈繞又有何用。\n我再也不可能像小時候純真可愛的體會節日氣氛，現在更多是物事人非之感。\n我的家庭是自己在外面買房的小家庭。不定時才會回到鄉下爺爺奶奶所在的老家看看。20年前我還會跟親戚堂妹堂弟玩在一起，所有人聚在一起在爺爺的4層透天厝裡面吃年夜飯。我不知道大人們都談些什麼。只是那個時候對我來說是種溫馨的時光，新奇的時光。因為，我什麼都不知道。\n現在大家開枝椏散葉，他們那些待在鄉下的小孩子大了就會自己搬出去住，最起碼也是租個房子。結果就是，偌大的老家房子裡面空蕩蕩的，爺爺奶奶都過世了，只剩下大伯等人，我回去都倍顯尷尬。對比老家附近，年節時分都擠滿安太歲民眾的廟宇，感覺更淒涼了。\n看著牆壁斑駁的老家貼上新的春聯，想著百年後，我們都不會存在了，珍惜當下有何意義？\n今年的冬天沒有特別冷。\n我此生的願望、是有設想過、20出頭就到七股鄉下養鴨種菜，閒雲野鶴度過餘生。啊不過現在很難了，因為時不時光電業者會來找你攀關係，然後就會吃到爐渣米。\n人類還是早點滅亡比較好。不過在那之前，讓我先喝杯咖啡。\n劉德華解凍之後，很快就要被冰回去了吧。\n這個年節就會又這樣結束。\n","date":"2026年2月17日","externalUrl":null,"permalink":"/posts/2026021701/","section":"Personals","summary":"新年快樂，恭喜發財。\n木訥的表情說完後，手上多了好幾個紅色信封。\n白色的房門上，又多了一張新的菱形紙張。\n我這個年紀根本不該拿紅包了吧。\n為什麼不是黑色信封呢。如果沒有人看著我，那該多快樂。\n不想拿紅包，也不想發紅包。\n要是我人生不要這麼失敗的話。榮歸故里，那種事，怎麼想都不可能發生的吧。\n作為一個Z世代末端，INFP，喜歡給自己貼標籤的潮流小登，其實我蠻討厭說教的，不論是在一般閒話家常或是專業話題上。有些人講話總是喜歡揣著一副我比你懂很多的態度，從現實帶到網路上。這比陰陽怪氣的語氣還要讓人感到壓迫和不適，非得要巴結一下他們才願意認同你。\n他們就沒有想要做一個現代的公民，而是繼續當古時代的部落民。不是「我在乎你」，是你要在乎我的話比你的有份量。\n我告誡自己不要無意間這麼成為那種人，但反倒給了很多人得寸進尺的機會。\n好像很多人農曆新年回家見到親戚都會擔心這種問題，畢竟劈頭就會問你在哪裡工作，賺多少錢。不過幸好在我成長到那種被高談闊論的年紀之前，我的親戚都逐漸死光了，能講的嘴巴少了許多，每年能拿到的紅包越來越少，這種問題就不復存在了。紅包拿不到沒有關係，反正我又不欠你什麼。\n很幸運地我父母說教程度沒有八點檔那麼誇張。也有可能只是我忘記了吧，20歲以前吵過幾次架，但都沒有完全撕破臉。\n","title":"年節漸濃，感情漸薄","type":"personal"},{"content":"","date":"2026年2月15日","externalUrl":null,"permalink":"/tags/sony/","section":"標籤","summary":"","title":"Sony","type":"tags"},{"content":"藍牙耳機「Sony WF-C510」的主觀使用心得。 1.購買動機 # 中華電信把我騙去辦限流量又耗電的5G的獎勵，是賞你Hami Point點數兌換商品，3C商城裡面都是些垃圾，不過有Sony WF-C510ㄟ。\n這個耳機聽說調音還不錯，是Sony少見的CP值神器\u0026hellip;？上市這麼久了，我看中文媒體的評測大半都很水（我好像沒資格說人家），照抄Sony官方新聞稿，英文媒體的比較多針對WF-C510的詳細評價。大體上意見認為，這款耳機在這個價格的品質算不錯了。\n但是只有AAC和環境音降噪。縱然我怎麼愛當鋼鐵索粉（精緻窮ver.），可是沒有ANC的藍牙耳機誰買誰傻逼。還是換超商禮券吧。我預想的方案就要一步到位，要就直接買定價8,990元的WF-1000XM5，不要屈就於中階的WF-C710N和低階的WF-C510啊～免得功能被砍東砍西的。大概是WF-1000XM6出了，所以現在WF-1000XM5特價6,900元。雖然從AirPods Pro的使用經驗，我一台藍牙耳機可以用5年，因為我基本上不喜歡一直戴著。\n可是真的需要高音質編碼器嗎？從開箱Nothing CMF Buds Pro 2的經驗來看，LDAC干擾很嚴重華而不實\u0026hellip;\u0026hellip;我應該還是把這錢拿去買有線耳機比較好吧，例如可以換線的Final E5000。反正我手機是永遠忠誠的，有耳機孔的Xperia。\n好啦，我還是想要一個無線耳機。為免浪費錢，先不要一次買到最旗艦款，先從低階的開始。\n騙我去辦5G，換完超商禮券後，換我就把贈點的獎勵拿來兌換這個\n雖然說這個2000元以下的價位幾乎都是雜牌打架，但也有Nothing CMF Buds Pro 2和JBL Wave Buds的超值款，提供ANC。\n我還是選了沒有ANC的Sony WF-C510。\n說實話，真的是衝著Sony四個字的品牌去的\n目的是要一定程度上取代用了五年的年邁Apple AirPods Pro 1。\n看看這個主打小巧的耳機戴起來會不會比較舒適。\n2. 開箱 # WF-C510在2024年上市，定價1,990元，算是便宜的耳機了。我所謂便宜，是以Sony的標準來看，因為再往上一階就是要價3,490元的WF-C710N了。作為低階耳機，這個價格硬是比同級的中國品牌藍牙耳機貴出一截，果然是買日本SONY這四個字的品牌加成。不過我買的時候特價1,490元，且產地是越南製造。\nWF-C510是WF-C500（2021年上市）的後繼者，屬於Sony藍牙耳機產品線當中最低階的一款。如果說WF-1000XM5是天，那WF-C510就是地。\nWF-C510有黑色、白色、藍色、黃色 官方標榜耳機充電一次就有11小時續航，在同年上市的產品中算是高標的存在。嗯嗯，跟我的Xperia 10 V是一樣類型的替身呢。\nWF-C510內建獨家音效技術「360 Reality Audio」和「DSEE」，這些功能剛好可以跟Sony Xperia手機「互補」。後面我會討論。\n我選了黃色，這個略微灰色的黃 塑膠做的機身，拿出來超級廉價感，好像抗生素的藥丸。八成又是Sony自家的回收塑膠技術製成。體積很小，耳機塞是廉價的矽膠套。雖然耳機續航標榜有11小時，不過耳機盒的電量只夠充滿一次。 不過是真的很輕耶，整體是一顆豆子的設計，沒有多出一根。戴上去幾乎沒感覺，就像一款天然的耳塞。具備IP4X防水，長時間配戴應不是問題。\nWF-C510體積小巧，耳道戴久了也不會痛。這是相對AirPods Pro 1來說，我對那種豌豆型的耳機敏感。 根據這篇Sony WF-C510 FCC Teardown，WF-C510的藍牙晶片是Airoha AB1563E，是台灣達發科技的產品。\n3. 特色功能 # WF-C510第一次配對方式是從盒子取出兩隻耳機，進入配對模式。\n之後與其他裝置的配對是長按盒子按鈕，等到閃藍燈再拿出耳機，進入配對模式。\n手機端配對，WF-C510支援Fast Pair，因此放在Android手機旁邊的時候會跳出配對畫面。此外通過Apple MFI認證，因此在iPhone也能用，連接後iOS會提示你下載對應APP。 電腦端的話，WF-C510支援Swift Pair，Windows系統會自動跳出配對提示。Linux得手動配對。\n最多同時配對兩個裝置，它會嘗試根據播放音樂的來源自動切換。不過WF-C510沒有配戴偵測的感測器，不會在拿下之後自動停止音樂播放。 功能部份，可以用Sony官方的Sound Connect的APP控制耳機功能。 或者使用開源前端Gadgetbridge，支援基本等化器功能，方便統計電量消耗圖表。\nWF-C510沒有主動降噪(ANC)，僅提供「環境音」模式，它能讓外部的聲音透過耳機麥克風穿透一部份進來，防止聽音樂的時候走路聽不到外界聲音。可以調整要穿透的環境音音量等級，某種程度來說也算一種降噪吧：你要自己放音樂製造白噪音，擋住外部聲音，而非讓耳機去主動幫你過濾。開啟環境音模式會增加耗電量。 WF-C510沒有力度感應，也沒有觸控面板，純粹透過按壓耳機實體按鈕操作。左邊控制環境音模式，右邊控制播放。按4下調整音量。還有一個置入性行銷的功能Spotify Tap，左邊按兩下會隨機播放音樂。可惜的是，按鍵動作是寫死的，只能開關不能自定義。 老實說因為WF-C510體積小，調整位置的時候有點容易誤觸。\n4. 音質 ＆ EQ推薦設定 # 既然是低階款藍牙耳機，就只支援SBC與AAC編碼。\n測試曲目：\n川井憲次《機動警察劇場版 II 和平保衛戰 原聲帶》 Hallucination WF-C510有6mm單體，調音，三頻均衡，適合聽流行樂。人聲解析度還可以，低音很平淡。\n講好聽點是活力，但講難聽點是乾巴巴的，聲音沒什麼層次，聽起來有點硬。\n建議用Sound Connect調整等化器(EQ)可以獲得更好效果。這個等化器效果應該是儲存在耳機裡面的，換裝置播放也有效，不需要一直開APP調整。\nWF-C510預設的設定，高音很刺耳，譬如鼓聲，開啟強化重音Clear Bass會好些。不過即使開重音也不會變成低音砲，就是聲音沒那麼尖而已。\n但還是不夠呀\u0026hellip;到Reddit抄了這篇The perfect EQ配置，我覺得這個最為平衡！雖然音量變小了點，但音場感覺更廣闊了，低音下潛更深。 這就是2000元藍牙耳機上打9000元藍牙耳機的關鍵：跟著走的EQ。Sony WF-C510是產品線中最低等的存在，只有AAC，沒有ANC，6mm單體，預設調音也很難聽，比我那AirPods Pro 1的白開水還糟糕。不過這種低價藍牙耳機的好處是，透過手機指定APP調整EQ後，EQ設定便會保存在Sony WF-C510耳機裡面。這樣要跨Android、iOS、Linux裝置使用的時候EQ就會自動套用，而不用手動調整。相較之下，AirPods Pro 1需要手動在手機客戶端調整EQ，並且並非全域套用，而是只有特定APP有效（Spotify與Apple Music內建的等化器），這樣的話它在iPhone只能允許用戶使用耳機原始的調音去聆聽音樂。即使是Android，也不是所有廠牌都提供全域調整EQ的功能。在調整EQ後，WF-C510便表面上聽起來比AirPods Pro 1好聽了。對我個人來說，WF-C510那小巧的外觀，戴起來也比AirPods Pro 1舒適。這樣一來，只有ANC這點是不可能超越的。\n至於其他的特殊音效功能嗎\u0026hellip;\n360 Reality Audio，負責搞笑的BJ4，要特定串流平台才能用，還要我拍自己的耳朵上傳掃描分析勒，不能靠耳機自己感測。其實這個應該是對標AirPods的個人化音訊功能，但Sony沒有Apple那麼會包裝，難以開箱即用。\n在Sound Connect裡面依照指示拍攝照片上傳後，它就會建立專屬你耳道的360度音訊設定檔，儲存在WF-C510耳機裡面。然後呢\u0026hellip;？你得找支援360 Reality Audio的串流音樂才能用，這東西不如Dolby Atmos常見，Apple Music和Spotify都沒幾首。Youtube本身是支援串流360度音訊的，360 Reality Audio的Youtube頻道有很多專門混音的歌曲。\n我個人認為，360 Reality Audio對提昇音質無幫助，是會聽到很多樂器細節，但就是增加臨場感聽爽的。\n此外，如果你硬要的話，可以透過「360 Upmix」軟體模擬將一般音樂轉成360 Reality Audio。可，360 Upmix這個功能僅限Sony Xperia才能用！！！根本在強迫推銷Sony手機。 至於DSEE升頻技術據說可以稍微改善音質？藍牙耳機無音質可言，需要的是魔法。Sony的DSEE一直是我覺得很玄的技術，號稱可以將MP3音質用演算法提升到FLAC品質。出來很多年了，他們近乎偏執的將其部署到旗下產品，從耳機到手機都有。現在連串流都越來越多無損，將MP3升頻的魔法沒什麼價值了吧。但是在藍牙耳機或許有奇效。尤其是只支援AAC，沒有LDAC的這款WF-C510。\nDSEE是將MP3等級音訊用AI升頻到FLAC音質的技術。可是我聽的Spotify已經有無損音質了耶？不對\u0026hellip;即使無損音質，壓縮傳到藍牙耳機後還是會變成有損。\n我不確定DSEE的工作原理為何，DSEE應該是在耳機端處理，並非手機端。如果說，Android手機的Spotify無損音訊透過藍牙傳輸，壓縮一次，到耳機上就變成壓縮音訊（因為WF-C510只有AAC，沒有LDAC），那麼DSEE在耳機上運算，便是將被壓縮過的藍牙音訊升頻回去？這樣的話DSEE便是用來救援被壓縮過的藍牙音訊的用途。\n過程應該如圖所示： 但是，開了DSEE我還是聽不太出來差異，可能這個耳機本身解析力就這樣，還不如調整EQ明顯。而且開DSEE會減少耳機續航力呀。\n最後討論錄音品質。\n錄音音質清楚。\n雖然WF-C510只有兩個麥克風，不過品質接近AirPods Pro和Nothing CMF Buds Pro 2。\n","date":"2026年2月15日","externalUrl":null,"permalink":"/posts/sony-wf-c510-review/","section":"Unboxings","summary":"藍牙耳機「Sony WF-C510」的主觀使用心得。 1.購買動機 # 中華電信把我騙去辦限流量又耗電的5G的獎勵，是賞你Hami Point點數兌換商品，3C商城裡面都是些垃圾，不過有Sony WF-C510ㄟ。\n這個耳機聽說調音還不錯，是Sony少見的CP值神器…？上市這麼久了，我看中文媒體的評測大半都很水（我好像沒資格說人家），照抄Sony官方新聞稿，英文媒體的比較多針對WF-C510的詳細評價。大體上意見認為，這款耳機在這個價格的品質算不錯了。\n但是只有AAC和環境音降噪。縱然我怎麼愛當鋼鐵索粉（精緻窮ver.），可是沒有ANC的藍牙耳機誰買誰傻逼。還是換超商禮券吧。我預想的方案就要一步到位，要就直接買定價8,990元的WF-1000XM5，不要屈就於中階的WF-C710N和低階的WF-C510啊～免得功能被砍東砍西的。大概是WF-1000XM6出了，所以現在WF-1000XM5特價6,900元。雖然從AirPods Pro的使用經驗，我一台藍牙耳機可以用5年，因為我基本上不喜歡一直戴著。\n可是真的需要高音質編碼器嗎？從開箱Nothing CMF Buds Pro 2的經驗來看，LDAC干擾很嚴重華而不實……我應該還是把這錢拿去買有線耳機比較好吧，例如可以換線的Final E5000。反正我手機是永遠忠誠的，有耳機孔的Xperia。\n","title":"Sony WF-C510開箱評價＋推薦EQ，長續航又便宜的藍牙耳機","type":"unboxing"},{"content":"本文Ivon討論如何架設Headscale控制伺服器 + Headplane網頁控制面板。\n之前分享過Tailscale，這是一款讓你實現內網穿透功能的VPN服務，可以讓多個裝置組成虛擬區網，互相連線。\n雖然Tailscale客戶端是開源的方案，不過它有一個關鍵點在於，伺服端是閉源產品。連線需要經過Tailscale公司的伺服器，需要註冊帳號才能使用服務。而那些伺服端的設施，是Tailscale公司的商業機密。\n如果我們想要完全掌控連線過程呢，不想要在Tailscale官網註冊帳號呢？其實呀，Tailscale客戶端是允許你更換連線伺服器的喔！\n來自架一個「Headscale」伺服器吧！它能夠取代Tailscale公司的控制伺服器與中繼伺服器，讓你能自主掌控Tailscale網路。 即使你已經註冊了Tailscale帳號，也能夠快速地切換到Headscale的體系。MagicDNS設定的當的話能夠直接沿用。\n這個伺服器軟體的名字很有趣，用Head映襯Tail，可以說是對應「妳是主人我是僕」的關係吧！\n1. 預期的連線架構 # Tailscale原本的連線是這樣，所有Tailscale的客戶端，登入Tailscale的帳號，加入名為Tailnet的虛擬區網，需要依賴Tailscale公司的控制伺服器才能找到彼此。當P2P失敗的時候，relay伺服器(DERP)還要承擔傳輸流量的功能。 在我們自架Headscale後，所有Tailnet的連線過程都掌握在我們手裡。只需要更換控制伺服器的部分，Tailscale客戶端可以繼續沿用。它充當控制伺服器與relay伺服器(DERP)的角色。你就從此與Tailscale公司的伺服器無關了。 2. 你應該自架Headscale嗎？ # 跟Tailscale免費方案限制100台裝置比起來，Headscale能夠加入的裝置理論上是無上限，就看你的伺服器撐不撐得住。\n最好準備一台獨立的伺服器跑Headscale。考慮到跑Headscale伺服器要一直在線上負責處理連線。租個VPS來架會比較妥當，並且要有自訂網域與SSL。Headscale很輕量，不到1GB RAM就可以部署。流量部份，如果Tailscale成功讓裝置P2P，不依賴relay伺服器，則大部分網路傳輸流量是不會經過Headscale所在的伺服器的，因此這個不用太在意。另外要注意延遲問題，最好選離台灣近一點的國家的機房。\n再者，要想想維護容易度。Headscale是第三方開發者Juan Font維護的專案，不是Tailscale公司開發的。根據官網FAQ，作者說這個專案不適合用於大型組織，而是適合個人用戶存取自家服務使用。\nHeadscale功能不保證能像Tailscale的公司提供的產品一樣完整，使用起來沒有那麼無腦了。\nHeadscale只提供基本的指令控制面板，做到最小相容Tailscale客戶端所使用的協定。Headscale本身就是第三方專案了，還得靠第三方開發的方案才有網頁管理界面。\n總體來說，自架Headscale並不如Tailscale公司提供的控制面板好上手，你要自己處理一切麻煩事。如果日後要進一步擴張你的私人Tailscale虛擬區域網路，甚至邀請不太懂技術的用戶加入網路的話，要處理的問題就更多了。\n但若你要自主可控的Tailscale連線環境，就學著適應吧。\n3. 用Docker部署Headscale # 參考Headscale官方文件\n在Linux安裝Docker\n建立存放資料的目錄\ncd ~ mkdir -p ./headscale/{config,lib} cd ./headscale 建立docker-compose vim docker-compose.yaml 範本如下，大部分維持預設。ports冒號左邊的通訊埠可以任意更改。這裡加入一個STUN的3478通訊埠協助P2P hole punching。 services: headscale: image: docker.io/headscale/headscale:latest restart: unless-stopped container_name: headscale read_only: true tmpfs: - /var/run/headscale ports: - \u0026#34;127.0.0.1:8080:8080\u0026#34; - \u0026#34;127.0.0.1:9090:9090\u0026#34; - \u0026#34;3478:3478/udp\u0026#34; volumes: - ./config:/etc/headscale:ro - ./lib:/var/lib/headscale command: serve healthcheck: test: [\u0026#34;CMD\u0026#34;, \u0026#34;headscale\u0026#34;, \u0026#34;health\u0026#34;] 從Github下載Headscale範本設定檔 wget -O ./config/config.yaml https://raw.githubusercontent.com/juanfont/headscale/main/config-example.yaml 編輯config.yaml vim ./config/config.yaml 在config.yaml填入你的網域。我這裡是分配一個子網域的方式來處理Headscale的連線。例如https://headscale.example.com server_url: https://headscale.example.com 若上面的docker-compose有修改預設的通訊埠，設定監聽的網址為0.0.0.0 listen_addr: 0.0.0.0:8080 在dns這一段，設定建立MagicDNS的規則，例如在你的網域前面加上一串子網域，裝置加入後網址就會變成linux-machine.tailscale.example.com。你可以打ssh use@linux-machine連線。 dns: magic_dns: true base_domain: tailscale.example.com （選擇性）在derp這一段，啟用內建的DERP伺服器，也就是relay伺服器。Tailscale客戶端在P2P失敗之後會嘗試去連Tailscale公司的relay伺服器，這可以保留以備不時之需。若將url填入空陣列，Tailscale就只能使用自架的DERP了。DERP預設使用443進行HTTPS連線，但後面Nginx已經佔用了。讓DERP監聽另一個通訊埠，再由Nginx轉發。 derp: server: enabled: true region_id: 999 region_code: \u0026#34;headscale\u0026#34; region_name: \u0026#34;Headscale Embedded DERP\u0026#34; stun_listen_addr: \u0026#34;0.0.0.0:3478\u0026#34; urls: - https://controlplane.tailscale.com/derpmap/default paths: [] auto_update_enabled: true update_frequency: 24h 編輯完退出。啟動容器 docker compose up -d 檢查伺服器是否上線，應該會回傳success。 curl http://127.0.0.1:8080/health 用docker logs headscale指令檢視伺服器輸出日誌。 4. 建立Nginx反向代理 # 我這裡是分配一個子網域的方式來處理Headscale的連線。例如https://headscale.example.com，透過Nginx代理到伺服器上Headscale的http://127.0.0.1:8080通訊埠。請記得啟用HTTPS。\n編輯/etc/nginx/nginx.conf，加入這段\nhttp { map $http_upgrade $connection_upgrade { default upgrade; \u0026#39;\u0026#39; close; } 再編輯/etc/nginx/sites-available/headscale，加入以下內容 server { listen 80; server_name \u0026lt;子網域\u0026gt;; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name \u0026lt;子網域\u0026gt;; location / { proxy_pass http://127.0.0.1:8080; # Docker容器的通訊埠 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_buffering off; } } 重新載入nginx設定檔 sudo ln -s /etc/nginx/sites-available/headscale /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx 若有啟用防火牆，允許STUN通過 sudo ufw allow 3478/udp 5. 初始化Headscale管理員帳號 # Headscale註冊帳號的機制很基本，就是建立一個管理員帳號，然後加入節點。沒有外部帳號註冊機制。\n進入容器 docker exec -it headscale \\ headscale help 新增任意使用者名稱 docker exec -it headscale \\ headscale users create \u0026lt;使用者名稱\u0026gt; 6. 給Headscale安裝Headplane網頁管理界面 # （選擇性步驟）\n不幸的是，Headscale沒有網頁管理界面，這個也得靠第三方開發的方案。\n這裡我採用Aarnav Tale開發的「Headplane」方案，它是各方方案中相對完備的管理面板。\n在Headscale建立一個API金鑰，用於給Headplane存取 docker exec headscale \\ headscale apikeys create 增存放資料的目錄，我將它與Headscale放在一起 cd ~/headscale mkdir -p ./{headplane-config,headplane-data} 編輯剛剛新增的docker-compose，額外加入一個新的容器服務。Headplane同時要讀取Headscale的設定檔 services: headplane: image: ghcr.io/tale/headplane:latest container_name: headplane restart: unless-stopped ports: - \u0026#39;127.0.0.1:3000:3000\u0026#39; volumes: - \u0026#39;./headplane-config/config.yaml:/etc/headplane/config.yaml\u0026#39; - \u0026#39;./headplane-data:/var/lib/headplane\u0026#39; 下載Headplane的範本設定檔 wget -O ./headplane-config/config.yaml https://raw.githubusercontent.com/tale/headplane/refs/heads/main/config.example.yaml 編輯headplane-config/config.yaml\n填入Headscale伺服器的公網網址，子網域\nheadscale: url: \u0026#34;https://headscale.example.com\u0026#34; 填入Headscale 的 API Key headscale_api_key: \u0026#34;\u0026#34; 用openssl rand -base64 32 | head -c 32 ; echo指令產生一個長隨機字串作為cookie secret server: cookie_secret: \u0026#34;\u0026#34; 重新啟動容器 docker compose down docker compose up -d 新增一個子網域，例如https://headplane.exmaple.com\n用docker logs headplane指令檢視伺服器輸出日誌。\n設定Nginix服務/etc/nginx/sites-available/headplane，填入以下內容。透過子網域連向Headplane的http://127.0.0.1:3000\nserver { listen 80; listen [::]:80; listen 443 ssl http2; listen [::]:443 ssl http2; server_name \u0026lt;子網域\u0026gt;; location / { proxy_pass http://localhost:8080/; # Headscale的通訊埠 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header Host $host; proxy_redirect http:// https://; proxy_buffering off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; add_header Strict-Transport-Security \u0026#34;max-age=15552000; includeSubDomains\u0026#34; always; } location /admin/ { proxy_pass http://localhost:3000; # Headplane通訊埠 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header Host $host; proxy_redirect http:// https://; proxy_buffering off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } 重新載入nginx設定檔 sudo ln -s /etc/nginx/sites-available/headscale /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx 開啟https://headplane.exmaple.com/admin登入，輸入API金鑰。 註：目前版本似乎有bug無法連線，參見https://github.com/tale/headplane/issues/82\n7. 將Tailscale客戶端連線到Headscale伺服器 # 目前還沒有所謂第三方開發的Tailscale客戶端，就沿用官方專案的就好，它允許你切換連線伺服器。要是哪天Tailscale公司吃相變難看，禁止使用第三方伺服器，到時候就會有fork出來了吧。\n請先將Tailscale客戶端的帳號登出，斷開與Tailscale公司伺服器的連結。Headscale的資料與Tailscale公司無關，登出Tailscale之後，你在Tailscale公司伺服器的資料還是會在，日後要用再加回去就好。\nLinux # 執行以下指令，連線到Headscale（註：若你是透過SSH操作，建議不要用Tailscale的IP登入，改用主機的真實IP，免得設定到一半斷線）\ntailscale up --force-reauth --login-server https://網域 點選畫面顯示的網址 按照網頁顯示的指令，在Headscale伺服器輸入金鑰\ndocker exec -it headscale \\ headscale nodes register --key \u0026lt;金鑰\u0026gt; --user \u0026lt;使用者名稱\u0026gt; 這樣就加入節點成功了。\n在Headscale使用以下指令確認節點，以及虛擬區域IP。\ndocker exec -it headscale \\ headscale nodes list MagicDNS的網址依照節點的名稱決定，重新命名節點為你喜歡的名字 docker exec -it headscale \\ headscale nodes rename -i \u0026lt;id\u0026gt; \u0026lt;新名稱\u0026gt; 9 . 在Tailscale客戶端使用指令確認目前的連線\ntailscale status tailscale netcheck Android \u0026amp; iOS # 手機Tailscale APP點右上角 Accounts → use an alternative server，填入Headscale伺服器網域 然後依照網頁指示在Headscale伺服器執行指令，加入節點。\n參考資料 # Headscale - An open source, self-hosted implementation of the Tailscale control server. - Github Headplane - A feature-complete Web UI for Headscale - Github ","date":"2026年2月14日","externalUrl":null,"permalink":"/posts/setup-headscale/","section":"所有文章","summary":"本文Ivon討論如何架設Headscale控制伺服器 + Headplane網頁控制面板。\n之前分享過Tailscale，這是一款讓你實現內網穿透功能的VPN服務，可以讓多個裝置組成虛擬區網，互相連線。\n雖然Tailscale客戶端是開源的方案，不過它有一個關鍵點在於，伺服端是閉源產品。連線需要經過Tailscale公司的伺服器，需要註冊帳號才能使用服務。而那些伺服端的設施，是Tailscale公司的商業機密。\n如果我們想要完全掌控連線過程呢，不想要在Tailscale官網註冊帳號呢？其實呀，Tailscale客戶端是允許你更換連線伺服器的喔！\n來自架一個「Headscale」伺服器吧！它能夠取代Tailscale公司的控制伺服器與中繼伺服器，讓你能自主掌控Tailscale網路。 即使你已經註冊了Tailscale帳號，也能夠快速地切換到Headscale的體系。MagicDNS設定的當的話能夠直接沿用。\n這個伺服器軟體的名字很有趣，用Head映襯Tail，可以說是對應「妳是主人我是僕」的關係吧！\n1. 預期的連線架構 # Tailscale原本的連線是這樣，所有Tailscale的客戶端，登入Tailscale的帳號，加入名為Tailnet的虛擬區網，需要依賴Tailscale公司的控制伺服器才能找到彼此。當P2P失敗的時候，relay伺服器(DERP)還要承擔傳輸流量的功能。 ","title":"Headscale：自架Tailscale控制伺服器，docker-compose部署教學","type":"posts"},{"content":"","date":"2026年2月14日","externalUrl":null,"permalink":"/tags/nat-traversal/","section":"標籤","summary":"","title":"NAT Traversal","type":"tags"},{"content":"","date":"2026年2月14日","externalUrl":null,"permalink":"/tags/tailscale/","section":"標籤","summary":"","title":"Tailscale","type":"tags"},{"content":"NetBird是基於WireGuard開發的內網穿透VPN。它可以讓你安全地遠端連線到家中的電腦，不需要將電腦暴露到公網。 跟類似產品Tailescale和Zerotier比起來，NetBird是完全開源的軟體，從協定、客戶端到伺服端都是開源的，而且三大作業系統（Linux、Windows、macOS）都有提供圖形界面，不需要依賴第三方前端。適合想要追求完全自由軟體的解決方案的使用者。\n使用者還可以在NetBird Network內自己定義一套DNS伺服器，將域名指向任意的IP，簡化遠端登入主機的步驟。\n1. NetBird安全性 # 造訪他們的官網就可略知一二。這張圖生動的解釋了NetBird的原理。 NetBird是基於WireGuard技術打造的開源軟體。WireGuard的組件部份執行於kernel space，可以用wg指令進行管理。\n使用者需要到NetBird官網註冊一個帳號才可以使用。NetBird提供免費與付費版方案。免費版最多可以加入100個裝置，並邀請其他5名NetBird使用者加入自己的NetBird Network。NetBird可以定義群組，設定哪些裝置可以互相連線，隔離不同的需求。\n每個NetBird的帳號會建立一個自己專屬的NetBird Network，組成一個虛擬區網。使用者要手動同意，讓一或多個裝置加入，然後彼此之間使用P2P連線。在連線的過程中間，會到NetBird的控制伺服器查詢可以連線的裝置有哪些，然後進行P2P hole punching。流量傳輸不經過NetBird公司伺服器。若P2P不通的話才會改走relay伺服器。\nNetBird在裝置之間的連線是全程點對點加密的。\n當然了，負責處理各裝置之間連線的，還是得連線到NetBird公司的伺服器做統合。既然NetBird從客戶端到伺服端都是開源軟體，你可以不依賴NetBird公司的服務，自己跑一個控制伺服器來處理連線。\n2. 安裝NetBird # Linux # 執行官網給的指令稿安裝，它應該會自動偵測Linux發行版，新增NetBird的套件庫 curl -fsSL https://pkgs.netbird.io/install.sh | sh 這會安裝NetBird的執行檔與圖形界面，安裝之後會顯示在Linux桌面的系統匣。NetworkManager連線面板會多出一個WireGuard連線，不要把它斷掉呀嘿。 安裝後使用這個指令確認服務狀態\nsudo systemctl status netbird NetBird可能會覆寫/etc/resolv.conf導致一些服務的DNS出問題，這時請在Linux安裝systemd-resolved服務處理DNS連線： sudo apt install systemd-resolved sudo systemctl enable --now systemd-resolved sudo systemctl restart NetworkManager Windows # 到官網下載。安裝後會顯示在系統匣。\nmacOS # 到官網下載。安裝後會顯示在系統匣。\nAndroid # 到官網下載。執行後會要求開啟VPN。\niOS # 到官網下載。執行後會要求開啟VPN。\n3. 將裝置加入NetBird Network # 到NetBird官網註冊一個帳號。\n開啟NetBird客戶端，依照指示，點選連結，開啟NetBird的網頁控制面板。將其加入到你的NetBird Network，成為Peers。\n加入後，每一個裝置都會分配到一個虛擬區域IP，還有一個依照裝置名稱建立的*.netbird.cloud網域。僅限加入NetBird Network的裝置才能解析這些網址。打這兩個其中一個就能連線。 使用netbird status -d指令可以確認裝置之間是P2P，或是走relay伺服器。\n4. 設定SSH的存取控制原則 # 雖然設定好NetBird之後所有通訊埠應該都能存取，不過NetBird預設會擋SSH連線，要設定存取控制原則(Access Control Policy)才能登入SSH。\n事實上，這裡你要連線的SSH伺服器，其實是NetBird客戶端內嵌的SSH伺服器，並非遠端主機系統的OpenSSH伺服器。但一樣可以存取系統上使用者的檔案。\n你要在Peer設定裡面點選Enable SSH Access。設定一個單向或雙向Policy才可以連線。 在NetBird桌面客戶端勾選Enable SSH（指令的話是netbird up --allow-server-ssh）。並視需要開啟STFP。不知道為什麼，有些SSH客戶端得勾選取消SSH Authentication才能登入，否則會出現permission denied。 在SSH客戶端輸入ssh 使用者名稱@NetBird虛擬區域IP連線到遠端主機。\n當你連線的時候，應該不需要輸入密碼就能登入才對。\n此外，Netbird網頁控制面板提供一個簡單的網頁終端機，讓你在瀏覽器裡面遠端操控電腦。 5. NetBird使用例 # 兩個裝置連上線之後就可以嘗試用http://虛擬區域IP:通訊埠的方式連線到網頁服務了。\n你可以跑什麼服務？參閱本站自架雲端服務的實例\n另請參見 # NetBird Docs ","date":"2026年2月13日","externalUrl":null,"permalink":"/posts/setup-netbird/","section":"所有文章","summary":"NetBird是基於WireGuard開發的內網穿透VPN。它可以讓你安全地遠端連線到家中的電腦，不需要將電腦暴露到公網。 跟類似產品Tailescale和Zerotier比起來，NetBird是完全開源的軟體，從協定、客戶端到伺服端都是開源的，而且三大作業系統（Linux、Windows、macOS）都有提供圖形界面，不需要依賴第三方前端。適合想要追求完全自由軟體的解決方案的使用者。\n使用者還可以在NetBird Network內自己定義一套DNS伺服器，將域名指向任意的IP，簡化遠端登入主機的步驟。\n1. NetBird安全性 # 造訪他們的官網就可略知一二。這張圖生動的解釋了NetBird的原理。 NetBird是基於WireGuard技術打造的開源軟體。WireGuard的組件部份執行於kernel space，可以用wg指令進行管理。\n使用者需要到NetBird官網註冊一個帳號才可以使用。NetBird提供免費與付費版方案。免費版最多可以加入100個裝置，並邀請其他5名NetBird使用者加入自己的NetBird Network。NetBird可以定義群組，設定哪些裝置可以互相連線，隔離不同的需求。\n","title":"NetBird設定教學，客戶端與伺服端全部開源的內網穿透VPN","type":"posts"},{"content":"","date":"2026年2月13日","externalUrl":null,"permalink":"/tags/vpn/","section":"標籤","summary":"","title":"VPN","type":"tags"},{"content":"本文分享Ivon個人跑自架服務(self-hosting)的環境，供讀者參考。\n這篇文章會敘述Linux伺服器的硬體和軟體設定，以及分享如何從外面的網路連線到自家內網的伺服器。\n1. 自架有何好處 # 參見論為何應該自架服務一文，許多線上服務都有自架替代品。\n至於說自架都跑什麼服務呢？從簡單的擋廣告服務，到BT下載、相簿、影音串流、音樂串流、遠端書庫、雲端硬碟、搜尋引擎、Youtube鏡像站、離線版ChatGPT、AI繪圖、雲手機、串流遊戲的服務都有。更多資訊請見本站自架雲端服務的分類。\n我不會讓太多服務同時上線，視乎硬體資源會關掉部份服務。\n2. 跑自架服務需要的軟硬體 # 端看服務需求。\n軟體部份，作業系統建議使用Linux系統。Windows系統雖然也可以跑自架服務，但是不比Linux要來得自由。\n至於硬體部份，輕量服務只要一塊「Raspberry Pi」或一台「Intel NUC迷你電腦」或「Mac Mini」就行了。\n對Linux作業系統不熟的，購買一台「NAS」吧，現成的硬體對新手來說比較好上手，組RAID會比較方便。\n而我是選擇較為自由的自組派，把手弄髒(get hands dirty)學得更快。目前用舊x86電腦改裝成Linux伺服器，不計電費消耗，也沒有組RAID。\n詳細規格：\n主機板：ASUS，可插兩條RAM，還有6個硬碟。 CPU：x86架構，伺服器四核心CPU就夠用了。 RAM：16GB DDR4，有點太高級了，低標4GB RAM即可。 GPU：Nvidia GTX1050Ti。GPU其實不是伺服器必備的，但近年來生成式AI讓顯示卡價值大增，所以添購顯示卡不會虧的。 儲存空間：1TB SSD + 1 TB HDD。我在Linux有啟用LVM，所以未來可以動態擴增硬碟。 作業系統：當然是GNU/Linux。選一個比較多人用且穩定發表的發行版吧，個人推薦Ubuntu，或者Debian、Rocky Linux、openSUSE Leap、Proxmox這類穩定發表的發行版，不要用滾動發行版。Linux要不要裝圖形界面看個人選擇，我至少還是有留桌面環境方便除錯。 3. 常用系統軟體 # 這裡僅列出我覺得比較重要的軟體，請依照實際需求調整。\n為了系統穩定度考量，我很少讓Linux伺服器的服務直接跑在裸機上，大部份會將其容器化，或者關在虛擬機裡面跑。\n名稱 功能 OpenSSH 遠端登入。 Auditd 檢查系統操作紀錄。 Fail2ban 阻擋暴力破解SSH密碼。 UFW 防火牆，視發行版而定，你要用Firewalld也行。 Libvirt + QEMU/KVM 虛擬機，看情況啟用GPU直通。跑較為重型的服務，例如雲端遊戲串流，或是沒辦法容器化，需要動到系統套件部署的服務。 Docker 容器技術，比虛擬機輕量的解決方案，大部份自架服務都用這個跑，最主流的容器化方案。更進階的可以考慮Podman、LXC、Kubernetes等等。 Portainer 網頁管理Docker容器的界面。 Cockpit 網頁管理QEMU/KVM虛擬機的界面。 Nginx 反向代理。 4. 外網連內網的軟體 # Ivon推薦的外網連內網的軟體，務求：\n開箱即用，不需要繁雜設定連線規則。這有點主觀啦，我得自己測試過才會放到這裡。 必須跨平台，支援Linux、Windows、macOS、Android、iOS 起碼提供免費方案 客戶端起碼得是開源的 必要時能自架伺服器，不依賴官方服務。 為此，市面上的內網穿透軟體如：LogMeIn Hamachi、Radmin VPN、DDNSTO、花生壳、frp、ngrok，皆不在Ivon的考慮之列，這些方案有的要全程自架，有些則是全依賴閉源軟體，要不然就是設定過於繁雜。\n於是乎，讓自架服務能從外網連線到內網的工具軟體就是以下列表。可以同時使用多個當作備案。\n名稱 功能 Tailscale 內網穿透VPN，建立虛擬區網，基於WireGuard研發。安裝簡單，適合單人使用。提供MagicDNS讓你不用打IP就能連線。客戶端為開源軟體，伺服端閉源。 NetBird 內網穿透VPN，建立虛擬區網，基於WireGuard研發。客戶端與伺服端皆是開源軟體。 ZeroTier 內網穿透VPN，建立虛擬區網，基於自有協定研發。可以設定很複雜的連線規則，適合多人組織使用。他人不需要註冊帳號就可以加入虛擬區網。可以自訂虛擬區域IP網段。客戶端為開源軟體，伺服端與協定閉源。 Cloudflare Tunnel 加密隧道，將本機伺服器的服務公開到公共網路，不用VPN就能從外網存取內網的服務。支援自訂網域與HTTPS。客戶端為開源軟體，伺服端閉源。 Port Forwarding + No-IP DDNS 通訊埠轉發與動態DNS服務。 ","date":"2026年2月13日","externalUrl":null,"permalink":"/posts/my-self-hosting-setup/","section":"所有文章","summary":"本文分享Ivon個人跑自架服務(self-hosting)的環境，供讀者參考。\n這篇文章會敘述Linux伺服器的硬體和軟體設定，以及分享如何從外面的網路連線到自家內網的伺服器。\n1. 自架有何好處 # 參見論為何應該自架服務一文，許多線上服務都有自架替代品。\n至於說自架都跑什麼服務呢？從簡單的擋廣告服務，到BT下載、相簿、影音串流、音樂串流、遠端書庫、雲端硬碟、搜尋引擎、Youtube鏡像站、離線版ChatGPT、AI繪圖、雲手機、串流遊戲的服務都有。更多資訊請見本站自架雲端服務的分類。\n我不會讓太多服務同時上線，視乎硬體資源會關掉部份服務。\n2. 跑自架服務需要的軟硬體 # 端看服務需求。\n軟體部份，作業系統建議使用Linux系統。Windows系統雖然也可以跑自架服務，但是不比Linux要來得自由。\n至於硬體部份，輕量服務只要一塊「Raspberry Pi」或一台「Intel NUC迷你電腦」或「Mac Mini」就行了。\n對Linux作業系統不熟的，購買一台「NAS」吧，現成的硬體對新手來說比較好上手，組RAID會比較方便。\n而我是選擇較為自由的自組派，把手弄髒(get hands dirty)學得更快。目前用舊x86電腦改裝成Linux伺服器，不計電費消耗，也沒有組RAID。\n","title":"自組Linux伺服器，自架服務(Self-hosting)需要的硬體與常用軟體","type":"posts"},{"content":" 經營許久的Facebook粉專毫無起色，結果貼了一張二次元的色圖，追蹤人數突然暴漲，甚至直接衝破Facebook營利門檻。簡單來說依靠文字就能賺錢。這樣我在正職工作和Youtube之外又多了一個收入來源，可以支持小破站的營運費用。\n起 # 自2023年起，我回鍋久未使用的Facebook粉專。Ivon Huang這個粉專是在2015年為了Youtube頻道宣傳Minecraft影片的翻譯事務建立的。可是自從2020年頻道被版權砲之後，我就幾乎沒發過文了。\n繼承我原有的300位追蹤者，開始在上面po文順便幫部落格引流，因為我最終還是希望客群停留在我的網站久一點。你各位啊雖然我叫你們在我的網站開Adblock也不要真的照做呀。\n可是，經營許久的Facebook粉專都沒有起色，講Linux技術的文章平均一篇文章不到10個讚，不論我用什麼諂媚的口吻都沒啥人看，一個月增長的追蹤人數是個位數。於是變成我日常發廢文的地方。偶爾當政治廚欽點時事，左批賴清德右打習近平，也只有小貓兩三隻會固定跟我鬥嘴而已。\n2024年9月之後，我嘗試轉換跑道到Threads上發文，意外的被喜愛起爭議的演算法推出去，獲得了蠻多關注的，順利地在幾個月內達到1000追蹤者。 很感謝有人追蹤這個小破站的內容，有人願意看就覺得受寵若驚，但每次我點進去追蹤者的來歷都覺得是我要跪下來才對。明明是文組，我寫的東西吸引到的人幾乎都是理組的，大部分都讀電機系、機械系、資工系\u0026hellip;\u0026hellip;這些跟我英文系專業八竿子打不著的專業。正常來講，如果依照我讀的科系，創作的內容，應該吸引到的是教師、語言學者、文史哲人士，做Youtube的話應該走的是阿滴英文的路線，但我卻愛效仿Brodie Robertson的風格。很明顯的我不具備典型文組的能力，唯一符合文組特質的技能就是話癆。事實上我也不是很喜歡自己讀的科系，出於對自己專業的逆反心裡，才在網上寫一堆稍微觸及理組專業領域的內容\u0026hellip;發洩，野人獻曝，攻佔「淺淺地談科技，有點geek但又不要太艱澀」的市場定位。\n不過用久了，我覺得Threads好像就是口水仗的地方，不論是精英人士還是政治人物用了脆智商都會變低，沒什麼深度的討論。加上Threads暫時沒有提供營利計畫（不像那無恥的Twitter，要訂閱X Premium才可以營利），即使產出爆文也只是幫網站貢獻流量而已。\n但我還是固定兩邊跑，儘量多宣傳，Threads貼短文，Facebook放長文。此一時期Threads的流量是遠遠超過Facebook的。 瘋狂星期四 # 時間來到2025年9月。\n隨手貼了一張Galgame千戀萬花的色圖，追蹤人數指數級增長。\n先說我沒有花錢買讚，我不是1450也沒有戰國策網軍的經費。（黑人錢包空空.jpg）\n在玩過千戀萬花之後\n我只是在FB po了一張叢雨與將臣69式的圖片（使用中國大陸柚子廚肯德基瘋狂星期四的梗） 並且抱怨為什麼Steam的F12截圖會把這個畫面變成馬賽克？得用Linux的截圖功能才不會被干擾。\n雖然我上傳的馬賽克很重，但瞇眼就能大致看出這張圖片的原始內容。話說回來，叢雨真的好可愛呦。 原本以為只是又一篇沒人看的廢文\n結果就莫名飄出去，獲得了好幾千個讚，引流了一波頁友狂暴轟入，裡面包括一堆東南亞與南美洲網友來留言，大部分的內容是「為什麼我會看到這個？」\n然後還莫名多了好幾千個不明究理的追蹤者。\n趁亂在粉專後台申請Facebook的營利計畫。我記不得是什麼時候申請的，但反正有流量，Facebook就會願意給錢吧。營利最低支付門檻是100美元。\n根據後台資料，那篇貼文最終達到了400萬的瀏覽次數。順便給我帶來了一點收益。每一萬次的瀏覽量，Facebook大概會賞你5美元的收入。 第一次收到Meta寄來的invoice，還以為是詐騙。為了這件事我還去將帳戶改成漢語拼音。 塞口球 # Facebook很愛祖人，po這張擦邊球的圖的時候我就有這種覺悟了。\n果然樹大招風，同樣的圖片我po在Threads都沒怎樣，Facebook太多人看了就被到道德魔人檢舉了。文章大概存在了了十天後圖片才被下架，笑死。\n高興的太早。然後我就被停用營利資格了。但之前的收益Facebook還是有匯款，到達給付門檻的話會寄一封invoice，就可以透過支援SWIFT的外幣銀行帳戶收款。\n依照Facebook祖人的尿性，我不知道這種封禁會是永久還是暫時的。看來我還是不適合在主流平台營利麼\u0026hellip;\u0026hellip;。\n現階段，我沒辦法正常地透過Google AdSense、YouTube、Facebook營利，只能在網站上放審查資格寬鬆的廣告聯播網賺點小錢，某種程度上這也是很厲害了。這有點影響到我po文的意願。不過這就算了，反正不屬於你的錢就不要拿。因為台灣沒有什麼平台能像Facebook接觸到這麼多在地中文用戶，給網站引流。要我戰場切換到Twitter？馬爸爸要你先付一筆押金才能開始盈利，我才不會上當。可能我一直以來都喜歡做灰色產業的事情，所以我對「你要遵守平台守則，否則就不能給盈利」這件事特別反感。\n羅百吉 - 不要管我\n這是我幾年前想自架網站的原因。主機商對使用者發布的內容不應該有任何限制，所以我不用Blogger或Wordpress，而是從頭弄起。我不要社群媒體平台對我有任何發布的內容有任何限制，不要情緒一直被「規則」所束縛而自我審查，我想寫什麼就寫什麼，管它是政治性的還是NSFW內容的（我以前常常因為罵中國人支那豬、罵台灣人台巴子被祖嘞），都不要管我，內容標準應該跟4chan一樣寬鬆。我甚至為了應付未來政府黑手伸入網路的措施（例如破壞言論自由的DNS RPZ封鎖），已經準備好在暗網架設Tor網站了。\n例如我很久以前做過Minecraft歌曲翻譯影片啊，在YouTube嚴打版權之下就不能盈利了。剛好當時我去聽了阿滴演講，在他分享自己的成功路徑的時候，我不禁就想舉手問：如果當YouTuber沒有營利的方式，你還會想當YouTuber嗎？這什麼跟什麼啊，我這種扭曲的思想，就好像漢化組要人贊助看盜版一樣荒唐。但，這就是我遇到的困境。用愛發電幾年後，我就不大規模的做翻譯事業了。變成現在的hacking為主的活動內容，然後還有一點NSFW內容。\n二個月後，嗯？又有一筆invoice寄來，原來是Facebook把我關小黑屋一個月後，又可以發廢文營利了。\n我真的是見錢眼開的小婊子\u0026hellip;El Psy Congroo！好的祖克伯，我不會再發色色的，以及違反社群守則的東西了，用鈔票摀住我的嘴吧。\n收穫 # 二次元\u0026hellip;大眾喜愛的事物\u0026hellip;誇張化之後\u0026hellip;就是流量密碼嗎。也有可能是跟Facebook演算法變更有關，寫長文開始慢慢的容易飄出去了。\n這件事給我在Facebook帶來了一批新的追蹤者。雖然大部分追蹤者可能是一般通過的用戶而已。不過看來也確實吸引到了臭味相投的客群。他們不是單純因為我po很油的圖片而留下來的，而是真正願意討論3C相關話題，連講到Linux相關的冷僻話題都有人願意接話了。\n接續上面Threads追蹤者破千的感想，我很感謝有人願意聽我說話。\n有了追蹤者，每篇文章保底10個讚。還有人看到技術文會固定會分享出去，文章就更容易飄出去了。Facebook現在也會向Google搜尋引擎廣播我的貼文，這樣的話我寫的東西就有更高機率出現在各大搜尋引擎了！不過會不會和部落格互搶流量就不知道了。\n除非發文內容太吃電波否則都有不錯的迴響。\n生產文字就能有收益，這可比拍Youtube影片容易多了！累積十年發廢文的功力可不是輕易能忽視的。\n現在在Facebook發廢文就有錢拿，一個月比我部落格一年的廣告費成長得還多。意圖讓人更加離不開去其他社群媒體，雖然我發文太過激依然會被祖就是了。\n這是\u0026hellip;機關的陰謀！ El Psy Congroo！\n歡迎來到真世界 # 不過這無形中也給我上了一道枷鎖。有了多人關注後，出現了無形的壓力。我不能有大頭症卻又要適當的譁眾取寵。\n我不能再隨便po違反我人設的東西了，我必須po「符合他們期待」的玩意。\n例如我po一張艦隊收藏的遊戲截圖，流量就會超級低。也不能隨便po政治評論了，不然鐵定被出征。別人還會因為你追蹤了特定的政治人物帳號去網暴你。\n我必須focus在3C相關的人設。偶爾po點二次元和搞笑meme圖可以，但不能偏離本業太多。\n給我你無條件的愛。我可以誇大地說，社群媒體讓人無法成為我。發文的時候有時會有大頭症，認為我po什麼都應該要有人按讚。結果是，很多人看起來已經對你形成了一種既定印象，一旦發了與過往討論問題不同的東西，他們可能就會反映冷淡，例如我平常都講技術的東西，而突然po了一張生活圖，根本不會有人理你。\n伍佰 - 真世界\n這個時候我會覺得，你好像只在乎那個東西，而不關注我身為人的這個本身。這種現象從我以前搞Minecraft歌曲翻譯的時候就察覺到了，沒有人關心你的生活怎樣，你只要好好滿足粉絲的需要就好。為了維持人設以及滿足演算法的獵奇需求，我得精心設計文案，有時候得很刻意的放梗進去才不會顯得無趣。\n嗯，因為我不擅長經營感情，煽動群眾不在行，幾乎死忠粉絲都沒有（這也是好事，我又不是柯文哲那種宗教領袖），所以就會導致這種狀況發生吧。我只有在討論專業項目的時候能夠非常投入，但當視角回到自己的生活的時候總是乏善可陳。\n講具體一點，便是精神世界富足可是現實生活貧乏的了。如果說，要到隨便發一篇文，不被自己固定的角色綁住，都有一堆人按讚的程度，可能就得用數字去壓制，即百萬網紅的程度吧。\n可是到了那個時候，我還能忠於自己的本心嗎？我好羨慕David Bowie可以一直在演藝生涯裡面切換人設，追求不同的變化。\nDavid Bowie - Change 我想，只要我要太不在意按讚數，其實想po什麼完全是隨我高興的吧。\n但就是基於現實考量。我未來如果要讓Facebook粉專繼續成長，就必須更注意形象才行。\n","date":"2026年2月12日","externalUrl":null,"permalink":"/posts/start-earning-on-facebook/","section":"Personals","summary":" 經營許久的Facebook粉專毫無起色，結果貼了一張二次元的色圖，追蹤人數突然暴漲，甚至直接衝破Facebook營利門檻。簡單來說依靠文字就能賺錢。這樣我在正職工作和Youtube之外又多了一個收入來源，可以支持小破站的營運費用。\n起 # 自2023年起，我回鍋久未使用的Facebook粉專。Ivon Huang這個粉專是在2015年為了Youtube頻道宣傳Minecraft影片的翻譯事務建立的。可是自從2020年頻道被版權砲之後，我就幾乎沒發過文了。\n繼承我原有的300位追蹤者，開始在上面po文順便幫部落格引流，因為我最終還是希望客群停留在我的網站久一點。你各位啊雖然我叫你們在我的網站開Adblock也不要真的照做呀。\n可是，經營許久的Facebook粉專都沒有起色，講Linux技術的文章平均一篇文章不到10個讚，不論我用什麼諂媚的口吻都沒啥人看，一個月增長的追蹤人數是個位數。於是變成我日常發廢文的地方。偶爾當政治廚欽點時事，左批賴清德右打習近平，也只有小貓兩三隻會固定跟我鬥嘴而已。\n","title":"因為一張千戀萬花的色圖，開啟我在Facebook的營利之路","type":"personal"},{"content":"Sharing the same Steam game library between Linux and Windows.\n我有一顆大容量的HDD，專門用來下載遊戲。\n現在希望讓Linux與Windows系統共享該硬碟的遊戲，節省下載時間與空間。\n因為從我在Linux系統玩遊戲的經驗來看，知道即使用Proton還是有遊戲怎麼樣也跑不起來，依然需要Windows系統執行那些不乖的遊戲。\n這有兩種解法：\nLinux與Windows實體雙重開機，掛載裝遊戲的硬碟。參見Ubuntu與Windows雙重開機\n將Windows虛擬化，在一個宿主機上跑二個作業系統，將GPU直通給要玩遊戲的虛擬機，再將裝遊戲的硬碟給虛擬機掛載。參見Ubuntu Nvidia GPU直通\nSteam可以指定遊戲收藏庫存放的位置到外接硬碟。那麼，能否在Linux與Windows之間共享Steam收藏庫？其實是可以的。\n假設下載的都是Windows版的遊戲，Linux系統的Steam執行遊戲的時候，除了下載exe外，只是多建立了Proton prefix環境。換到Windows系統的Steam執行，同樣的檔案不用再下載一次，可以直接啟動下載好的exe。 1. 硬碟格式化的檔案系統選擇 # 木已成舟的、沒地方備份遊戲檔案的就別考慮了，沿用現有檔案系統即可。\n想知道目前硬碟格式的請裝Gparted查看。\n用來裝Steam遊戲的硬碟，格式化為NTFS或BTRFS都可以。雖然有人認為BTRFS會降低HDD效能，但我用起來覺得沒差。\n就相容性而言，前者是側重Windows，後者是側重Linux。\n彼此都有開源驅動能讀取對方的檔案系統，例如Windows透過WinBtrfs讀BTRFS（無法辨識的情況下Windows會建議你格式化，別傻傻按下去呀）；Linux透過NTFS-3G讀NTFS，大致上是沒bug。\n如果要我選的話，格式化為BTRFS比較好。因為NTFS是專有格式，在Linux出問題的機率更大。\nWindows使用磁碟管理員格式化之後，硬碟就能在檔案總管看到。至於如何在Linux格式化並掛載硬碟，請看這篇：Linux新增硬碟與格式化教學\n2. Steam遊戲下載技巧 # 在Linux和Windows都安裝Steam客戶端。\n開啟Steam設定 → 儲存空間 → 指定收藏庫位置為外部磁碟機。這樣遊戲程式和Proton Prefix都會放到這個硬碟。 然後下載遊戲。不要一個遊戲下載兩次。因為我喜歡測試遊戲在Linux和Windows下的執行情況，所以我會從Linux版Steam下載遊戲。\n在Linux版Steam收藏庫，對遊戲按右鍵，點選內容，勾選強制啟用相容性工具(Proton)，即可強迫Steam下載Windows版的遊戲。 如果該遊戲本身就有原生Linux版呢？你可以自行測試用Proton能不能跑，或者同時下載Linux版和Windows版。\n這得看遊戲開發者如何設計，有的遊戲開啟相容性工具選項後，只需要再下載一些小檔案就能從Linux轉換成Windows版本，且Windows版與Linux版檔案能共存。反之，把相容性工具選項關掉就會切換為Linux版。最糟糕的情況就是全部重新下載。\n3. 若遇到「相容性工具執行失敗」錯誤 # 有時候會有這種問題，Windows讀取Steam收藏庫後，Proton執行環境毀損，導致在Linux系統不能啟動遊戲，出現相容性工具執行失敗(An Error launching game, compatibility tool failed.)的錯誤。\n這個時候在收藏庫搜尋使用的Proton版本 → 右鍵 → 內容 → 已安裝檔案 → 驗證工具檔案的完整性，讓它自動修復。 ","date":"2026年2月12日","externalUrl":null,"permalink":"/posts/sharing-steam-game-library-between-linux-and-windows/","section":"所有文章","summary":"Sharing the same Steam game library between Linux and Windows.\n我有一顆大容量的HDD，專門用來下載遊戲。\n現在希望讓Linux與Windows系統共享該硬碟的遊戲，節省下載時間與空間。\n因為從我在Linux系統玩遊戲的經驗來看，知道即使用Proton還是有遊戲怎麼樣也跑不起來，依然需要Windows系統執行那些不乖的遊戲。\n這有兩種解法：\nLinux與Windows實體雙重開機，掛載裝遊戲的硬碟。參見Ubuntu與Windows雙重開機\n將Windows虛擬化，在一個宿主機上跑二個作業系統，將GPU直通給要玩遊戲的虛擬機，再將裝遊戲的硬碟給虛擬機掛載。參見Ubuntu Nvidia GPU直通\nSteam可以指定遊戲收藏庫存放的位置到外接硬碟。那麼，能否在Linux與Windows之間共享Steam收藏庫？其實是可以的。\n假設下載的都是Windows版的遊戲，Linux系統的Steam執行遊戲的時候，除了下載exe外，只是多建立了Proton prefix環境。換到Windows系統的Steam執行，同樣的檔案不用再下載一次，可以直接啟動下載好的exe。 1. 硬碟格式化的檔案系統選擇 # 木已成舟的、沒地方備份遊戲檔案的就別考慮了，沿用現有檔案系統即可。\n想知道目前硬碟格式的請裝Gparted查看。\n","title":"Linux與Windows雙系統，共享Steam遊戲收藏庫的硬碟","type":"posts"},{"content":"如何在Linux系統玩Steam的Windows遊戲？本文將介紹如何在Linux系統（不含SteamOS）安裝Steam客戶端，遊玩各式遊戲。\nSteam是很受歡迎的遊戲銷售平台，玩家可以透過Steam客戶端購買與管理遊戲。近年來在Valve公司投入的資源加持下，Linux系統要玩遊戲變得更容易了，現在除了原生支援Linux的遊戲外，還能透過Steam Play (Steam Proton)，在Linux直接玩許多Windows平台專屬的遊戲。 根據ProtonDB統計顯示，約有一半大型Windows遊戲可透過Steam Play在Linux系統執行。\n例如玩《戰爭雷霆》、《俠盜獵車手V》、《尼爾：自動人形》、《艾爾登法環》、《電馭叛客2077》這類大型遊戲，Linux性能並不輸Windows，還支援遊戲手把。 執行於Linux的Steam客戶端\n本文Ivon首先介紹如何在Linux電腦安裝Steam客戶端，並啟用Steam Proton玩Windows遊戲，再講解如何管理Steam收藏庫。\n哪個Linux發行版適合玩遊戲 # 一般而言，推薦新手用Ubuntu、Debian、Fedora、openSUSE、Arch Linux這類較多人用的Linux發行版來玩遊戲，遇到問題比較容易找到解決方法。\n在用Linux玩遊戲之前，也請務必參閱ProtonDB看您要玩的遊戲對Linux的支援程度如何。\n1. 安裝Steam客戶端 # 各大Linux發行版都有提供Steam客戶端的套件。\n請確認顯示卡驅動是否有裝好，才能讓遊戲以全速執行。\n按照你的發行版，安裝Steam客戶端套件。撰文當下，Steam客戶端只支援x86架構的電腦，沒有ARM版本。\nUbuntu 因為Steam是專有軟體，Ubuntu套件庫不能直接收錄。需要從Steam官網下載Steam客戶端的.deb安裝檔\n開啟檔案管理員，點兩下.deb檔案安裝。\n或者在下載目錄開啟終端機，安裝Steam客戶端套件\nsudo apt install ./steam_latest.deb 註解：你也可以從Ubuntu的應用程式商店下載Steam，但Ubuntu 24.04以上版本可能會優先安裝Snap版的Steam，建議使用.deb版比較少問題。\nDebian Debian 13以上的套件庫有收Steam安裝器。因為Steam是專有軟體，Debian不能直接收錄，只能收安裝器，執行後會幫你下載真正的Steam客戶端。\n需要先開contrib套件庫，編輯/etc/apt/sources.list，修改為以下內容： deb http://deb.debian.org/debian/ bookworm main contrib non-free 因為Steam是含有32位元函式庫的程式，需要給系統啟用32位元函式庫支援： sudo dpkg --add-architecture i386 sudo apt update 再從官方套件庫安裝Steam與32位元的依賴套件 sudo apt install steam-installer sudo apt install mesa-vulkan-drivers libglx-mesa0:i386 mesa-vulkan-drivers:i386 libgl1-mesa-dri:i386 # 如果使用Nvidia閉源驅動記得安裝這個 sudo apt install nvidia-driver-libs:i386 執行steam指令，會幫你下載真正的Steam客戶端。 Arch Arch Linux套件庫有收Steam。\n因為Steam是含有32位元函式庫的程式，需要開32位函式庫支援，編輯/etc/pacman.conf，取消註解以下欄位： [multilib] Include = /etc/pacman.d/mirrorlist 更新一次系統： sudo pacman -Syy sudo pacman -Syu 最後才可以從套件庫安裝Steam sudo pacman -S steam Fedora Steam是專有軟體，Fedora套件庫沒有收錄，要透過RPM Fusion套件庫安裝才行。\n針對目前的Fedora版本，加入對應的RPM Fusion NonFree套件庫\nsudo dnf install https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm 再從套件庫安裝Steam。\nsudo dnf install steam openSUSE openSUSE Tumbleweed可直接從官方套件庫安裝\nsudo zypper install steam Flatpak Flatpak版是適用於全部Linux發行版的安裝方法，但是要懂得處理沙盒權限問題。\n參閱Flatpak版安裝教學\n安裝好後，Steam圖示應該會出現在應用程式列表，點選開啟。註：如果Steam點選沒反應，可以在終端機輸入steam看看除錯訊息。\n初次啟動需要下載一些東西，請等待Steam主程式完成更新。 點選Login to an existing account，填入驗證碼，登入Steam帳號 點選Steam左上角 → Settings → Interface，切換語言為中文。 然後就可以開始下載遊戲了。但此時您只能下載原生支援Linux的遊戲，還不能安裝Windows平台的遊戲，請看下一步安裝Steam Proton。\n2. 設定Steam Proton玩Windows遊戲 # 「Steam Proton」是基於Wine研發的轉譯層，能將Windows exe翻譯為Linux指令，讓玩家購買Windows遊戲後能在Linux遊玩。這個技術又被Valve稱為Steam Play。SteamOS也有採用Steam Proton的技術，讓Windows遊戲能在Steam Deck掌機遊玩。\n相關文章：Linux Wine指令使用教學\n點選Steam左上角設定 → 相容性，勾選「為其他產品啟用Steam Play」，之後選擇下載最新版的Proton，再按下確定。 點選Steam左上角設定 → 離開。重新啟動Steam，然後嘗試下載Windows平台的遊戲，Proton就會一併安裝了。務必參閱ProtonDB看您要玩的遊戲對Linux的支援程度如何。 於是您就可以在Linux上玩Windows遊戲了！部份遊戲第一次啟動需用GPU預先處理Vulkan著色器，減少電腦處理遊戲畫面的負擔，請耐心等待。 Steam Proton會建立Proton Prefix，用於模擬Windows的C槽結構，路徑位於~/.steam/steam/steamapps/compatdata/Steam遊戲ID/pfx/，即遊戲收藏庫的路徑。每個遊戲都有各自獨立的Proton Prefix。\n你可以使用ProtonUP-QT和Protontricks調整環境，例如修改字型大小、安裝額外exe、強制遊戲視窗化執行等等。\n3. 將其他遊戲加入到Steam收藏庫 # 如果您的遊戲無法透過Steam商店下載，可以手動將遊戲加入到Steam，並嘗試利用Steam Proton來啟動遊戲。\n參見：將非Steam的遊戲exe程式加入到Steam客戶端\n4. Linux版Steam的遊戲收藏庫路徑 # Linux版Steam遊戲收藏庫位於~/.steam/steam/，但其實它是符號連結到~/.local/share/Steam/這個目錄。\n你可以點選Steam左上角 → 設定 → 下載 → Steam收藏庫資料夾，新增其他硬碟的收藏庫資料夾。 如果跑Windows ＋ Linux雙系統，Linux的Steam收藏庫應該可以跟Windows的Steam收藏庫共用，讓你不用重新下載一次遊戲檔案。\n5. 新增Steam遊戲捷徑到桌面或應用程式選單 # 原生版Steam對遊戲按右鍵，就會新增捷徑到桌面，讓您點二下啟動遊戲。\n於Steam遊戲收藏庫對遊戲點右鍵 → 新增桌面捷徑。桌面就會出現遊戲捷徑。 如果要用指令啟動特定Steam遊戲，使用以下語法，最後面的數字為該遊戲在Steam商店的ID\nsteam steam://rungameid/236390 6. 開機自動啟動Steam # 如果要開機自動啟動Steam，透過XDG Autostart方法。將Steam的.desktop複製到~/.config/autostart：\ncp ~/.local/share/applications/steam.desktop ~/.config/autostart 如果要開機自動啟動特定Steam遊戲，參考上節新增遊戲捷徑到桌面，再將其複製到~/.config/autostart\ncp ~/Desktop/\u0026lt;遊戲名稱\u0026gt;.desktop ~/.config/autostart/ 7. 連接遊戲手把並啟用Steam Input # Linux支援多款遊戲手把(controller)，近代的Logitech、Xbox、PS5手把通常插入就能直接使用。手把配合Steam Big Picture Mode使用效果更佳。\n啟動Steam遊戲，應會自動偵測到遊戲手把，端看遊戲如何判定。\n若有需求，Steam尚提供「Steam Input」的模擬輸入功能，可在設定 → 控制器區域進一步微調。 8. 其他技巧 # 在遊戲裡面顯示FPS與GPU使用率 # 參見MangoHud\n遠端遊玩Steam遊戲 # 你可以借助Steam Link或是Moonlight + Sunshine，用另一部電腦串流遊玩Linux電腦的Steam遊戲。\n如何回報Steam客戶端bug # 請到Github儲存庫ValveSoftware/steam-for-linux向官方回報你遇到的錯誤。\n","date":"2026年2月12日","externalUrl":null,"permalink":"/posts/install-steam-on-linux/","section":"所有文章","summary":"如何在Linux系統玩Steam的Windows遊戲？本文將介紹如何在Linux系統（不含SteamOS）安裝Steam客戶端，遊玩各式遊戲。\nSteam是很受歡迎的遊戲銷售平台，玩家可以透過Steam客戶端購買與管理遊戲。近年來在Valve公司投入的資源加持下，Linux系統要玩遊戲變得更容易了，現在除了原生支援Linux的遊戲外，還能透過Steam Play (Steam Proton)，在Linux直接玩許多Windows平台專屬的遊戲。 根據ProtonDB統計顯示，約有一半大型Windows遊戲可透過Steam Play在Linux系統執行。\n例如玩《戰爭雷霆》、《俠盜獵車手V》、《尼爾：自動人形》、《艾爾登法環》、《電馭叛客2077》這類大型遊戲，Linux性能並不輸Windows，還支援遊戲手把。 執行於Linux的Steam客戶端\n本文Ivon首先介紹如何在Linux電腦安裝Steam客戶端，並啟用Steam Proton玩Windows遊戲，再講解如何管理Steam收藏庫。\n哪個Linux發行版適合玩遊戲 # 一般而言，推薦新手用Ubuntu、Debian、Fedora、openSUSE、Arch Linux這類較多人用的Linux發行版來玩遊戲，遇到問題比較容易找到解決方法。\n","title":"Linux系統安裝Steam客戶端教學，透過Steam Proton玩Windows遊戲","type":"posts"},{"content":"","date":"2026年2月11日","externalUrl":null,"permalink":"/tags/chatgpt/","section":"標籤","summary":"","title":"ChatGPT","type":"tags"},{"content":"","date":"2026年2月11日","externalUrl":null,"permalink":"/tags/desktop-mascot/","section":"標籤","summary":"","title":"Desktop Mascot","type":"tags"},{"content":"LLM, Large Language Model.\n","date":"2026年2月11日","externalUrl":null,"permalink":"/tags/llm/","section":"標籤","summary":"LLM, Large Language Model.\n","title":"LLM","type":"tags"},{"content":"Newelle - Your Ultimate Virtual Assistant.\nLinux電腦用戶也想要AI虛擬助理！\n你知道的，主流AI大廠都有針對Windows和macOS釋出桌面版客戶端吧？例如ChatGPT Desktop、Claude Desktop、豆包AI桌面版。唯獨Linux沒有，我們頂多只有終端機跑的Gemini CLI而已\u0026hellip;得使用各種第三方開發的替代品。\n目前各大Linux發行版的桌面還沒有像Windows 11那樣積極的加入Copilot的AI助理功能，就我所知只有deepin 25有加入名為UOS AI的助手功能吧。而像是Ubuntu與Fedora這種的，想要AI得自己裝。\nNewelle是一個值得嘗試的選擇。這是專為Linux桌面設計的第三方AI客戶端，算是一個桌面版語言模型前端。準確來說是給GNOME桌面用的，不過我測試KDE Plasma也行。 Newelle有以下特色：\n使用原生GTK寫的，不是Electron那種網頁wrapper喔。 支援連接ChatGPT、Gemini、Claude、Deepseek等等線上語言模型，或者自架的Ollama伺服器。 可以建立多個AI角色，執行不同的任務。所有的對話紀錄都保存在本機，能夠一鍵匯出。 使用者可以撰寫Python小程式擴充功能。 提供聲控和語音合成功能。 呼叫Linux終端機，直接讓AI在本機執行Linux指令。 內建檔案管理器面板，能丟本機檔案給AI分析。 提供一個簡易的WebKitGTK瀏覽器，讓你能在一個視窗內進行簡單的網頁程式vibe coding。 支援MCP伺服器，與其他AI代理人的程式互動。 1. 安裝Newelle # Newelle為自由軟體，原始碼位於Github。\n安裝過程十分簡單，安裝Flatpak，再從Flathub安裝即可。\nflatpak install flathub io.github.qwersyk.Newelle 因為Flatpak權限限制，Newelle只能看到部份目錄，你需要用指令開放讀取家目錄的權限（風險自負，這代表AI有權限讀取你的所有檔案）\nflatpak --user override --talk-name=org.freedesktop.Flatpak --filesystem=home io.github.qwersyk.Newelle 這裡我不得不介紹一個有趣的fork：Nyarch Linux Assistant，功能跟Newelle一樣，但是加入了萌萌美少女的界面，就像一隻桌寵！支援使用.moc格式的Live2D、LivePNG、.vrm格式的MMD模型。搭配Newelle的TTS語音合成的話，就有一名可愛的語音助理了。\n居然真的能跟Arch-chan聊天耶！不過畢竟是Arch-chan，預設人格會嘗試使用pacman裝東西。但我使用Ubuntu，所以要稍微改一下提示詞。 Nyarch Linux Assistant尚未上架Falthub，因此要到Github下載Flatpak Bundle，離線安裝：\nflatpak --user install ./nyarchassistant.flatpak 2. 連接到語言模型服務 # 第一次開啟就會叫你連接到語言模型服務。 Newelle內建的離線AI只有llama.cpp。建議自行選取要負責演算的語言模型服務。\n線上模型運算比較快，有的還支援生成圖片，例如Google Gemini。但基本上都要到對應的網站申請API Key才可以用。會有額度限制。\n如果電腦硬體好的話，可以選Ollama Instance。連線到自架的Ollama服務跑離線模型。\n3. 功能 # 點選左上角大頭貼可以建立多種機器人的設定檔，設定不同的系統提示詞(prompt)還有使用的模型。這樣的話方便你區分不同種類的工作。 點左上角偏好設定自訂提示詞。Newelle預設的提示詞會讓AI知道你使用的Linux發行版，藉此給出更精確的指令。\n設定好之後就可以跟AI聊天了。點選右上角打開檔案管理器面板。從這裡拖曳檔案到下方的文字對話框，就可以引用檔案的內容，與AI討論。例如，我讓AI檢查一下.vimrc有哪些可以改善的地方。在AI輸出建議之後，按一下執行指令（這是真的在Linux本機執行的，務必檢查內容），它就會幫你修改檔案。 若丟給AI的是PDF文件，它就會進行RAG，總結文件內容。不過這個功能現在似乎有問題，只能用其他指令將PDF轉成純文字傳給AI分析。\nNewelle聊天框旁邊的圓形按鈕可以即時擷取螢幕畫面，並讓支援多模態的AI分析圖片內容\u0026hellip;但目前Newelle採用的截圖方法僅限GNOME桌面才能用。其他桌面環境得手動截圖上傳了。 ","date":"2026年2月11日","externalUrl":null,"permalink":"/posts/newelle-linux/","section":"所有文章","summary":"Newelle - Your Ultimate Virtual Assistant.\nLinux電腦用戶也想要AI虛擬助理！\n你知道的，主流AI大廠都有針對Windows和macOS釋出桌面版客戶端吧？例如ChatGPT Desktop、Claude Desktop、豆包AI桌面版。唯獨Linux沒有，我們頂多只有終端機跑的Gemini CLI而已…得使用各種第三方開發的替代品。\n目前各大Linux發行版的桌面還沒有像Windows 11那樣積極的加入Copilot的AI助理功能，就我所知只有deepin 25有加入名為UOS AI的助手功能吧。而像是Ubuntu與Fedora這種的，想要AI得自己裝。\nNewelle是一個值得嘗試的選擇。這是專為Linux桌面設計的第三方AI客戶端，算是一個桌面版語言模型前端。準確來說是給GNOME桌面用的，不過我測試KDE Plasma也行。 Newelle有以下特色：\n使用原生GTK寫的，不是Electron那種網頁wrapper喔。 支援連接ChatGPT、Gemini、Claude、Deepseek等等線上語言模型，或者自架的Ollama伺服器。 可以建立多個AI角色，執行不同的任務。所有的對話紀錄都保存在本機，能夠一鍵匯出。 使用者可以撰寫Python小程式擴充功能。 提供聲控和語音合成功能。 呼叫Linux終端機，直接讓AI在本機執行Linux指令。 內建檔案管理器面板，能丟本機檔案給AI分析。 提供一個簡易的WebKitGTK瀏覽器，讓你能在一個視窗內進行簡單的網頁程式vibe coding。 支援MCP伺服器，與其他AI代理人的程式互動。 1. 安裝Newelle # Newelle為自由軟體，原始碼位於Github。\n","title":"Newelle：專為Linux桌面設計的AI助理，離線與語言模型聊天","type":"posts"},{"content":"","date":"2026年2月11日","externalUrl":null,"permalink":"/tags/ollama/","section":"標籤","summary":"","title":"Ollama","type":"tags"},{"content":"RAG, Retrieval Augmented Generation.\n","date":"2026年2月11日","externalUrl":null,"permalink":"/tags/rag/","section":"標籤","summary":"RAG, Retrieval Augmented Generation.\n","title":"RAG","type":"tags"},{"content":"請參閱：開源內網穿透軟體比較\nTailscale是一款開源的虛擬區域網路（virtual LAN）軟體，可將多個裝置組成虛擬內網，互相連線，存取共享資源。 舉例來說，你可以用Tailscale連線到自架的Rustdesk遠端桌面，或是SSH遠端登入主機。過程只需要透過一組虛擬區域IP遠端連線，再也不需要port forwarding，將機器暴露到公網了。\nTailscale設定起來十分簡單。最殺的是，Tailscale有個叫「MagicDNS」的功能，讓您不需要打長長的數字IP，可以直接打網址連線到其他裝置！\n1. Tailscale安全性 # Tailscale是基於WireGuaed技術開發的軟體。WireGuard的組件部份執行於user space。客戶端是開源軟體，採MIT授權釋出。伺服端則是閉源的軟體。\n使用前需要到Tailscale公司的網站註冊一個帳號。Tailscale有免費版與付費版方案。免費版方案最多加入100個裝置，最多邀請3名帳號加入自己的網路。\n你的使用者帳號會有自己的虛擬區網，稱之為「Tailnet」。你會將所有的裝置都加入進去，形成一個虛擬區網。原理圖如下： 每個安裝Tailscale裝置在連線的時候，會先到Tailscale控制伺服器獲取公鑰，並得知有哪些裝置可以連線。網路傳輸流量預設是不會經過Tailscale公司的伺服器的。在這裡，Tailscale的控制伺服器僅用於P2P hole punching，幫兩個裝置之間的連線「牽線」而已。若P2P hole punching失敗，則會改走Tailscle公司經營的relay伺服器，也就是DERP伺服器。要是網路流量走DERP伺服器，連線延遲會增加。\nTailscale兩部裝置之間的資料傳輸全程點對點加密，難以被第三方竊聽傳輸內容。\n任何裝置要加入你的Tailscale網路，都必須經過你手動同意。否則其他人沒有加入網路，是看不到你的虛擬區域網路內的裝置的。\n當然，所有裝置連線的時候還是要會經過Tailscale控制伺服器，這樣的話Tailscale公司便能知道你在使用他們的服務。\nTailscale公司總部位於加拿大。如果你若不信任Tailscale公司的控制伺服器，亦可用第三方開發的Headscale自己架設控制伺服器。參見：自架Headscale控制伺服器\n2. 安裝Tailescale客戶端 # Linux # 參考官網指示，使用指令稿安裝。它支援Ubuntu、Arch、Fedora系的發行版，它會自動幫你訂閱Tailscale的套件庫。 curl -fsSL https://tailscale.com/install.sh | sh 安裝後設定開機自動啟用Tailscale服務 sudo systemctl enable --now tailscaled # 檢查服務狀態 sudo systemctl status tailscaled 將裝置加入Tailscale網路，點選終端機顯示的連結，到Tailscale網頁後台驗證（見下一段），並在後台按Approve同意加入。 sudo tailscale up 如果啟用MagicDNS，Tailscale可能會覆寫/etc/resolv.conf導致Docker服務的DNS出問題，這時請參考官方說明，在Linux安裝systemd-resolved服務解決： sudo apt install systemd-resolved sudo systemctl enable --now systemd-resolved sudo systemctl restart NetworkManager Linux版Tailscale目前還沒有桌面GUI，只能執行sudo tailscale web叫出簡陋的網頁界面。你可以加裝第三方開發的KTailctl或Trayscale取得更好的使用體驗。 Windows # Tailscale支援Windows 10以上系統。\n至官網下載exe安裝。\n點選系統匣的Tailscale圖示，開啟Tailscale應用程式，登入帳號。 Tailscale服務會在Windows開機之後自動啟動。\nmacOS # 從App Store下載安裝，開啟Tailscale應用程式，登入帳號。\nAndroid # 請至Google Play下載。啟動之後會使用VPN連線。\niOS # 請至App Store下載。啟動之後會使用VPN連線。\n3. 將裝置加入Tailscale網路 # 至官網註冊帳號，使用Google帳號登入\n登入後Machines面板是空的，需要在裝置安裝Tailscale，將其加入網路（Tailscale安裝過程見上一節）。 加入方法有二種，如果是您自己的裝置，那就在電腦或手機上的Tailscale客戶端登入帳號即可加入網路。另一種方法是邀請(invite)其他Tailscale帳號加入網路。\n裝置加入後還需要按Approve同意加入 Tailscale免費版方案最多新增100個裝置。如下圖，每個裝置會分配到一個固定的虛擬區域IP (Addresses)，要互相連線就是打這些IP。僅限加入Tailscale網路的裝置才能解析這些網址。 如果覺得記虛擬區域IP太麻煩，你可以到Tailscale的網頁後台 → DNS，啟用Magic DNS，給每個裝置設定一組簡單好記的「網址」。 4. Tailscale實際使用例 # 當裝置都加入Tailscale網路後，就彷彿處於一個區域網路，可以嘗試互相連線了。每個裝置會分配到一個固定的虛擬區域IP (Addresses)，要互相連線就是打這些IP。\n譬如你要SSH到遠端Linux電腦，輸入ssh user@\u0026lt;電腦的Tailscale虛擬區域IP\u0026gt;即可連線。\n有啟用MagicDNS的情況下，就可以不用IP，改用裝置的網址來連線了。例如Linux電腦的hostname在Tailscale面板顯示為archlinux-pc，那麼SSH進去的指令就變成：ssh user@archlinux-pc\n關於其他用途，Tailscale可以用在存取自架服務上，請參閱本站自架雲端服務的實例\n如果要讓其他用戶加入你的網路，請使用帳號邀請功能。設定好權限之後，別人就可以存取你的Tailscale裝置。\n5. 改善Tailscale延遲 # Tailscale會嘗試各種方式連線，盡量使用P2P連線。但若P2P失敗就會走relay伺服器，導致延遲變高。遇到這種狀況就得嘗試開放通訊埠讓裝置之間做P2P連線。\n使用tailscale status指令查看兩個節點是否有P2P成功，出現relay的話就是走官方伺服器，延遲較高。 100.705 linux linux active; - 100.125 windows windows active; relay Tailscale使用的通訊埠是41641/udp，在連線的二個裝置用指令開放防火牆： sudo ufw allow 41641/udp 再用tailscale status指令確認是否有顯示direct，表示P2P成功 100.705 linux linux active; - 100.125 windows windows active; direct 若是走relay伺服器的話，使用這個指令查看與各個節點的延遲： sudo tailscale netcheck 如果你不能用P2P，得依賴relay伺服器，又需要低延遲的話，那麼最好的方式就是自己租一個VPS，自架一個Headscale伺服器來處理連線。 延伸閱讀 # Tailscale官方說明文件 ","date":"2026年2月11日","externalUrl":null,"permalink":"/posts/setup-tailscale/","section":"所有文章","summary":"請參閱：開源內網穿透軟體比較\nTailscale是一款開源的虛擬區域網路（virtual LAN）軟體，可將多個裝置組成虛擬內網，互相連線，存取共享資源。 舉例來說，你可以用Tailscale連線到自架的Rustdesk遠端桌面，或是SSH遠端登入主機。過程只需要透過一組虛擬區域IP遠端連線，再也不需要port forwarding，將機器暴露到公網了。\nTailscale設定起來十分簡單。最殺的是，Tailscale有個叫「MagicDNS」的功能，讓您不需要打長長的數字IP，可以直接打網址連線到其他裝置！\n1. Tailscale安全性 # Tailscale是基於WireGuaed技術開發的軟體。WireGuard的組件部份執行於user space。客戶端是開源軟體，採MIT授權釋出。伺服端則是閉源的軟體。\n使用前需要到Tailscale公司的網站註冊一個帳號。Tailscale有免費版與付費版方案。免費版方案最多加入100個裝置，最多邀請3名帳號加入自己的網路。\n你的使用者帳號會有自己的虛擬區網，稱之為「Tailnet」。你會將所有的裝置都加入進去，形成一個虛擬區網。原理圖如下： ","title":"Tailscale設定教學，免費內網穿透VPN（Linux / Windows /macOS）","type":"posts"},{"content":"","date":"2026年2月11日","externalUrl":null,"permalink":"/tags/ai-agent/","section":"標籤","summary":"","title":"AI Agent","type":"tags"},{"content":"","date":"2026年2月11日","externalUrl":null,"permalink":"/tags/gemini/","section":"標籤","summary":"","title":"Gemini","type":"tags"},{"content":"WSL, Windows Subsystem for Linux.\n","date":"2026年2月11日","externalUrl":null,"permalink":"/tags/wsl/","section":"標籤","summary":"WSL, Windows Subsystem for Linux.\n","title":"WSL","type":"tags"},{"content":"這篇文章Ivon將教學：如何在Windows電腦離線部署OpenClaw，讓AI自動操控電腦。\nOpenClaw，前稱Clawdbot或Moltbot，俗稱「龍蝦AI」，是一款免費開源的AI代理人軟體。能夠讓AI在本機離線執行任務。讓你不只是與AI聊天，還能讓它實際操控電腦為你幹活。OpenClaw具有在電腦上自動點擊程式，和執行任意終端機指令操作檔案的能力。 OpenClaw的一大特色在於技能系統，使用者可以透過撰寫名為「Skill」的Markdown檔案，來擴充OpenClaw能做到的事情，例如：自動回覆郵件、操控IDE寫程式、爬網路資料產生PDF報告、上網訂票、玩Minecraft遊戲、控制智慧家電、生成圖片、上Moltbook發廢文\u0026hellip;\u0026hellip;等等用途（見文末「參考資料」的列表）。\n以下是一個簡單的使用例子：讓OpenClaw控制Windows電腦的瀏覽器，自動蒐集網頁的資料並製成.ppt簡報給你看。 這些指令都可以透過手機通訊軟體遠端下令。 1. OpenClaw系統需求 # OpenClaw為自由開源的軟體，支援Linux、macOS、Windows系統的電腦。\nOpenClaw是在本機離線執行的軟體，並非雲端計算。不過它需要一個語言模型為其提供決策過程，充當其「大腦」。\n如果語言模型是串接線上跑的服務，例如使用Claude、ChatGPT、Gemini，任何規格的電腦都可以部署，從樹莓派，一般的x86電腦，到Mac Mini都行，因為最耗算力的服務都外包給線上伺服器了。反之，若連語言模型都要本地跑，例如使用Ollama技術串接語言模型，就需要獨立顯示卡提供算力。\n另外，OpenClaw可以透過通訊軟體遠端下令操作電腦。目前OpenClaw支援WhatsApp、Telegram、Discord、iMessage、Slack、Matrix、Line等等，選一個方便使用的就行。我選Telegram是因為它建立機器人相對簡單許多。\n2. 論OpenClaw在Windows的安裝手段 # （這一段內容可能隨時過時，請以OpenClaw上游原始碼為主！）\n根據官方文件，OpenClaw是支援Windows的，但不代表它運作良好。 在Windows安裝OpenClaw有兩種作法：\n使用NPM原生安裝。執行作者給的Powershell指令稿便會自動幫你部署。它可以看到Windows硬碟所有資料夾。 使用WSL安裝，再於裡面使用NPM安裝。執行作者給的Bash指令稿便會嘗試幫你部署。它只能看到Linux虛擬機內的資料夾。 雖然OpenClaw是用TypeScript寫的，理論上有NPM就能裝，且Windows可以用NPM，但事情沒這麼簡單。\n目前OpenClaw作者主要在macOS與Linux系統開發，Windows版本沒經過完整測試，容易出問題。\n此外，OpenClaw在安裝Skill的時候需要使用套件管理器Homebrew或NPM拉取依賴，才能執行Skill的指令。Windows Powershell環境無法使用Homebrew。故，不推薦原生安裝在Windows上。\n現階段，推薦採用WSL或者Linux虛擬機的方式取得相對完整的Linux環境，部署OpenClaw較為妥當。\n因為跑在WSL這個虛擬機環境裡面，這樣能夠增加安全性。但也導致OpenClaw能做到的權限會受限，無法完全操控Windows電腦的檔案！\n3. 準備AI語言模型服務 # 兩者選一個。我是建議先用線上AI服務啦，比較容易上手。\n線上模型 # OpenClaw支援串接許多線上AI服務，包括Claude、ChatGPT、Gemini等等。\n以Gemini為例，到Google AI Studio新建專案，就可以取得API Key。越新越大的模型API call越貴，如果有更多需要請乖乖付費。OpenClaw作為AI代理人，會進行許多複雜的操作，加上開發者尚未針對prompt context最佳化，API額度會耗很快。以Gemini 3 Flash為例，免費額度每天可以呼叫20次。可是10分鐘內連續跟OpenClaw對話5次就超出額度了。\n另一種比較取巧的方式，是讓OpenClaw透過「Gemini CLI」的OAuth來存取線上模型，這樣一分鐘可以傳送60次請求，比使用API call模式要寬大許多。只是這樣會不會違反Google服務條款就不知道了www 這個方法需要先安裝Gemini CLI程式並登入Google帳號，然後再進行初始化。\n本機模型 # 在你自己的電腦安裝Ollama再下載個語言模型，你想怎麼用就怎麼用，不會像線上模型有額度限制。缺點是硬體要很好，因為OpenClaw執行的是複雜的AI代理人操作，根據Ollama官方文件，跑OpenClaw建議要用到20B以上參數的模型，且context length要設定到64000以上。這起碼需要8GB VRAM以上的獨立顯示卡才跑得動。純用CPU跑回應速度會很慢。\n首先，裝好Ollama與OpenClaw。\n參考Ollama官方文件下載一個適用OpenClaw的模型，例如gpt-oss:20b，然後與OpenClaw連線。\n4. 建立WSL環境 # 需要Windows 11以上電腦。因為需要跑一個Linux虛擬機環境，推薦電腦要有8GB以上RAM。\n參見：Windows 11啟用WSL2\n安裝之後，點選桌面的Ubuntu圖示，開啟終端機，登入Linux環境。 5. 在WSL安裝OpenClaw # 接下來會進入Linux環境了，因此初始化的步驟請參考：Linux部署OpenClaw。完成初始化之後再回到這篇文章。\nOpenClaw執行時所產生的檔案位於WSL內部的~/.openclaw/workspace/，可以用Windows檔案總管看到 在WSL裡面跑的OpenClaw Gateway也可以從Windows瀏覽器存取。因此，裝好OpenClaw之後，在Windows的瀏覽器輸入http://localhost:18789就能開啟OpenClaw網頁界面。 如果遇到disconnected (1008): unauthorized: gateway token missing錯誤。在WSL使用以下指令讀取token：\ncat ~/.openclaw/openclaw.json | grep token 再於Overview → Gateway Token處貼上。 6. 讓OpenClaw網頁界面可以從外網存取 # 如果有需要，設定內網穿透軟體讓OpenClaw服務可以從外網存取。\nCloudflare Tunnel和Tailscale Serve這類方案還能免費給你建立一個HTTPS。\n但請注意OpenClaw網頁界面要保護好，否則會讓別人很容易取得AI和你電腦的控制權限。\n我下面要使用的是透過Telegram遙控OpenClaw，這個操作不需要開放外網存取也能用，安全性較高。只要Telegram帳號不要被盜即可。\n7. 將OpenClaw連接到Telegram機器人 # OpenClaw推薦使用Telegram官方的@BotFather服務快速建立機器人。在Telegram頻道跟它聊天，輸入指令/newbot，再輸入名字，就會獲得一個你專屬的Bot和token。 在WSL再跑一次OpenClaw初始化指令，跳過模型初始化\nopenclaw onboard --install-daemon 填入Telegram機器人的token、機器人名稱、你的使用者名稱， 嘗試在Telegram跟你新建的機器人聊天，獲得一組配對碼。 在WSL執行OpenClaw指令，填入配對碼\nopenclaw pairing approve telegram \u0026#34;配對碼\u0026#34; 然後就可以從Telegram透過你建立的機器人，與OpenClaw對話了。 8. 讓OpenClaw操控瀏覽器 # 透過OpenClaw Browser Relay擴充功能，讓AI操控瀏覽器。這個瀏覽器可以是WSL內的瀏覽器，也可以是Windows宿主機的瀏覽器。\n在WSL安裝好OpenClaw之後，執行以下指令，輸出Chrome的擴充功能安裝檔 openclaw browser extension install 開啟Windows檔案總管，找到Linux的目錄/home/user/.openclaw/browser，將這個chrome-extension資料夾複製到Windows的下載資料夾 開啟Chrome瀏覽器 → 擴充功能，載入未封裝項目，選取chrome-extension資料夾 開啟一個分頁，點選擴充套件圖示，顯示為On，OpenClaw應該就可以控制瀏覽器內容了。（注意：OpenClaw可以讀取你瀏覽器的所有內容，擔心隱私問題的，建議開一個專門的設定檔給它用） 參考資料 # OpenClaw Docs openclaw - Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞 - Github ClawHub, the skill dock for sharp agents. Awesome OpenClaw Skills - Github ","date":"2026年2月11日","externalUrl":null,"permalink":"/posts/openclaw-windows-wsl/","section":"所有文章","summary":"這篇文章Ivon將教學：如何在Windows電腦離線部署OpenClaw，讓AI自動操控電腦。\nOpenClaw，前稱Clawdbot或Moltbot，俗稱「龍蝦AI」，是一款免費開源的AI代理人軟體。能夠讓AI在本機離線執行任務。讓你不只是與AI聊天，還能讓它實際操控電腦為你幹活。OpenClaw具有在電腦上自動點擊程式，和執行任意終端機指令操作檔案的能力。 OpenClaw的一大特色在於技能系統，使用者可以透過撰寫名為「Skill」的Markdown檔案，來擴充OpenClaw能做到的事情，例如：自動回覆郵件、操控IDE寫程式、爬網路資料產生PDF報告、上網訂票、玩Minecraft遊戲、控制智慧家電、生成圖片、上Moltbook發廢文……等等用途（見文末「參考資料」的列表）。\n以下是一個簡單的使用例子：讓OpenClaw控制Windows電腦的瀏覽器，自動蒐集網頁的資料並製成.ppt簡報給你看。 這些指令都可以透過手機通訊軟體遠端下令。 1. OpenClaw系統需求 # OpenClaw為自由開源的軟體，支援Linux、macOS、Windows系統的電腦。\n","title":"如何在Windows安裝 OpenClaw 龍蝦AI代理人（Gemini + Telegram + WSL）","type":"posts"},{"content":"Ollama讓你透過簡單的幾個步驟，即可將大型語言模型部署到Linux、macOS、Windows，並於本機離線執行。 Ollama不是單純地LLM，而是協助你快速安裝各種大型語言模型的一個開源軟體。\n爲什麼要用Ollama？\n本節Ivon介紹Ollama的優點。之後的文章我們再來討論如何安裝Ollama，\n自從離線大型語言模型LLaMA問世以來，便有很多前端程式出現，例如Text Generation WebUI、Serge、Dalai、LangChain，讓使用者在自己的電腦離線跑LLM，保障隱私權。\n不過隨着開源模型的多樣化，大型語言模型部署變得越來越複雜，例如Text Generation WebUI就要調一堆參數，辨別它是用GPU運算還是llama.cpp的模型，用起來不直覺。\nIvon認為，要簡化部署難度就用Ollama吧，這是用Go語言寫成的程式，將執行大型語言模型所需的東西封裝成單一執行檔，只要一行指令就能讓大型語言模型在你的電腦跑起來，用指令與AI互動。\n它背後採用的是一個更早期的專案llama.cpp的技術。Ollama簡化了部署的過程，讓人比較容易上手。\n我覺得Ollama是很智慧的軟體，它會自動偵測系統可用的VRAM分配給語言模型，讓CPU和GPU協同工作，即使是4GB VRAM的顯示卡也能夠順暢跑語言模型。\n嫌Ollama指令操作很麻煩？你可以裝圖形界面！Ollama可以搭配「Open WebUI」操作，界面設計十分類似ChatGPT。\n你可以用Open WebUI聊天、跑AI繪圖、辨識圖片、執行RAG檢索增強生成、讓它整理PDF檔案內容、搜尋網頁等。 Ollama設計的理念是預設模式很簡單，要折騰也行的那種。使用者可以用類似Dockerfile的方式自訂Ollama的模型參數，快速建立自訂模型。\n此外，Ollama不只是設計成一個傻瓜式的大型語言模型軟體而已！\nOllama是開放原始碼的軟體，它提供REST API，讓開發者可以在其他程式輕鬆整合Ollama，作為其他AI軟體的後端服務。\n比如LM Studio可以連接到Ollama。\n功能更複雜的「LangChain」軟體亦可以搭配Ollama使用。\n","date":"2026年2月11日","externalUrl":null,"permalink":"/posts/ollama-llm/","section":"所有文章","summary":"Ollama讓你透過簡單的幾個步驟，即可將大型語言模型部署到Linux、macOS、Windows，並於本機離線執行。 Ollama不是單純地LLM，而是協助你快速安裝各種大型語言模型的一個開源軟體。\n爲什麼要用Ollama？\n本節Ivon介紹Ollama的優點。之後的文章我們再來討論如何安裝Ollama，\n自從離線大型語言模型LLaMA問世以來，便有很多前端程式出現，例如Text Generation WebUI、Serge、Dalai、LangChain，讓使用者在自己的電腦離線跑LLM，保障隱私權。\n不過隨着開源模型的多樣化，大型語言模型部署變得越來越複雜，例如Text Generation WebUI就要調一堆參數，辨別它是用GPU運算還是llama.cpp的模型，用起來不直覺。\nIvon認為，要簡化部署難度就用Ollama吧，這是用Go語言寫成的程式，將執行大型語言模型所需的東西封裝成單一執行檔，只要一行指令就能讓大型語言模型在你的電腦跑起來，用指令與AI互動。\n它背後採用的是一個更早期的專案llama.cpp的技術。Ollama簡化了部署的過程，讓人比較容易上手。\n我覺得Ollama是很智慧的軟體，它會自動偵測系統可用的VRAM分配給語言模型，讓CPU和GPU協同工作，即使是4GB VRAM的顯示卡也能夠順暢跑語言模型。\n嫌Ollama指令操作很麻煩？你可以裝圖形界面！Ollama可以搭配「Open WebUI」操作，界面設計十分類似ChatGPT。\n","title":"Ollama安裝教學，快捷部署AI大型語言模型到你的電腦，離線執行","type":"posts"},{"content":"","date":"2026年2月11日","externalUrl":null,"permalink":"/series/open-webui%E8%88%87ollama%E6%95%99%E5%AD%B8/","section":"Series","summary":"","title":"Open WebUI與Ollama教學","type":"series"},{"content":"本文討論如何安裝Ollama主程式。Ollama支援Linux、macOS、Windows系統。\n1. Ollama系統需求 # 作業系統：Windows 10以上、Ubuntu 24.04以上、macOS Sonoma以上\n硬體部份，視你要跑的模型大小，會有不同的需求。若以7B左右資料量的模型來看，建議電腦至少CPU Intel i5 4核心，且RAM 8GB以上再使用Ollama。因為Ollama基於llama.cpp開發，跑的是經過量化縮減的GGUF格式語言模型，所以不需要獨立顯卡也能跑。\n不過有獨立顯卡更好，可以將一些模型層丟給GPU加速運算，提昇5倍以上的推理速度。若要使用GPU加速的話，推薦使用Nvidia顯卡，且GPU的VRAM至少要有4GB以上。Ollama會自動根據你的VRAM分配任務。\n2. 安裝Ollama主程式 # Windows # Windows版本的Ollama提供一個簡單的圖形界面，讓使用者與模型對話。另外也可以在終端機裡面執行ollama指令對話。\nOllama的模型預設是用CPU算的。如果要使用Nvidia GPU加速，請記得安裝最新版Nvidia驅動，並安裝CUDA Toolkit。Ollama啟動後會自動偵測並切換到GPU。\n到Ollama官網下載.msi安裝檔，安裝Ollama\n開啟Ollama程式，選取一個模型，下載後即可聊天。Windows下載的模型檔案會儲存到C:\\Users\\使用者名稱\\AppData\\Local\\Programs\\Ollama Ollama的服務會在開機自動啟動，這點可以從工作管理員看到。 如果要使用API模式，讓其他程式透過網路存取Ollama模型，需要在設定裡面勾選Expose Ollama to Network。 如果要用指令操作，請開啟Windows終端機，輸入ollama指令即可。\nLinux # Linux版的Ollama沒有圖形界面，要用指令操作。使用者需要自行找個前端來用。\n使用官網提供的指令稿安裝。例如我的系統為Ubuntu，它應該會自動偵測架構（x86_64或ARM64），並設定好Systemd服務。 curl -fsSL https://ollama.com/install.sh | sh Ollama的模型預設是用CPU算的。如果要使用Nvidia GPU加速，請記得安裝Nvidia閉源驅動和CUDA。Ollama啟動後會自動偵測並切換到GPU。\n確認Ollama服務執行狀況\nsudo systemctl status ollama 如果你要設定Ollama的環境變數，調整模型的參數等等，作者建議你直接改Systemd Unit檔案： sudo vim /etc/systemd/system/ollama.service sudo systemctl daemon-reload 在Linux，下載的模型檔案會儲存到~/.ollama/models或/usr/share/ollama/.ollama/models/ macOS # macOS版本的Ollama提供一個簡單的圖形界面，讓使用者與模型對話，也可以在終端機裡面使用ollama指令。\n到Ollama官網下載.dmg，安裝即可使用。\n下載的模型會儲存到~/.ollama/models。\n3. 下載語言模型 # 現在網路有很多開源的大型語言模型。\nOllama預設是從自家的官網下載模型，你可以到上面看看有什麼熱門模型，大部分都是GGUF格式的。\n下載模型前要自行評估你的硬體是否跑得動。對於大部分電腦來說，可以從7B資料量的開始試起。例如Google在2025年最新發表的「Gemma 3N」，支援中文。\n使用Ollama圖形界面，選取一個模型下載： 或者執行ollama pull指令下載語言模型：\nollama pull gemma3n:e4b 4. Ollama命令行操作 # 雖然Ollama有提供圖形界面，不過要管理模型我認為還是用終端機指令比較方便。\n輸入ollama run指令載入模型，後面加上模型名稱。加上--verbose的話可以測試模型回覆的速度。 ollama run gemma3n:e4b 等待載入完成，開始跟語言模型對話吧。 如果要輸入多行指令，使用\u0026quot;\u0026quot;\u0026quot; \u0026quot;\u0026quot;\u0026quot;把提示詞框起來。\n你也可以傳圖檔給它辨識（需使用LLaVA模型）：\nWhat is in this image? \u0026#34;/home/user/Downloads/smile.png\u0026#34; Ollama設計的對話程式可以用指令/save 保留工作階段（session），也就是讓AI記住之前的聊天內容。 # 保存目前的聊天內容 /save session1 # 載入上次的聊天內容 /load session1 你還可以調整目前模型的參數，例如修改token、將一部分offload給GPU加快運算、Temperature、Repetition penalty等。 /set parameter num_ctx 4096 /set parameter num_gpu 10 使用ollama ps指令可以確認目前模型是跑在CPU還是GPU上。 6. 將其他程式與Ollama串接 # 你可以視需求安裝其他軟體，增強Ollama的威力。\nOllama本身提供API模式，可以開放給其他程式串接。通常是透過http://localhost:11434連線。\n你用瀏覽器開啟http://localhost:11434這個網址，看到Ollama is running就代表程式已經準備好讓其他程式連線了！\n這裡簡單推薦一個：Open WebUI（舊稱Ollama WebUI）是專為各種語言模型服務設計的網頁界面，同樣高度模組化，可以搭配Ollama或ChatGPT使用。它能把Ollama的一些指令操作圖形化，例如管理模型、提示詞、要處理的文件等等。\n推薦使用Docker部署，過程請參考用docker-compose部署Open WebUI + Ollama\n","date":"2026年2月11日","externalUrl":null,"permalink":"/posts/install-ollama/","section":"所有文章","summary":"本文討論如何安裝Ollama主程式。Ollama支援Linux、macOS、Windows系統。\n1. Ollama系統需求 # 作業系統：Windows 10以上、Ubuntu 24.04以上、macOS Sonoma以上\n硬體部份，視你要跑的模型大小，會有不同的需求。若以7B左右資料量的模型來看，建議電腦至少CPU Intel i5 4核心，且RAM 8GB以上再使用Ollama。因為Ollama基於llama.cpp開發，跑的是經過量化縮減的GGUF格式語言模型，所以不需要獨立顯卡也能跑。\n不過有獨立顯卡更好，可以將一些模型層丟給GPU加速運算，提昇5倍以上的推理速度。若要使用GPU加速的話，推薦使用Nvidia顯卡，且GPU的VRAM至少要有4GB以上。Ollama會自動根據你的VRAM分配任務。\n2. 安裝Ollama主程式 # Windows # Windows版本的Ollama提供一個簡單的圖形界面，讓使用者與模型對話。另外也可以在終端機裡面執行ollama指令對話。\nOllama的模型預設是用CPU算的。如果要使用Nvidia GPU加速，請記得安裝最新版Nvidia驅動，並安裝CUDA Toolkit。Ollama啟動後會自動偵測並切換到GPU。\n","title":"Ollama安裝教學（Linux、Windows、macOS）","type":"posts"},{"content":"從Nvidia顯卡換到Intel Arc顯卡快六個月了，兩者比較之下，終究逃離不了Nvidia的魔掌，我還是需要CUDA！！！\n咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎 也許，去年9月花小錢從用了快十年的Nvidia GTX1050Ti切換到Intel Arc A380是不明智的，只是想給300W的老電腦換個新GPU。\n相關文章：測試Intel Arc A380在Linux系統的表現\n雖然我終於在Linux擺脫了Nvidia閉源驅動帶來的問題，從維護系統的角度，不用再處理Nvidia驅動套件的古怪問題，奇檬子好了些，可是生成式AI相關的新技術幾乎都不能跑，或者說無法開箱即用，得找CUDA替代方案\u0026hellip;看得我心癢癢。\nNvidia GTX1050Ti屬於是有點尷尬的存在，VRAM雖小但還能跑很多小型AI專案，可是2025年Nvidia官方停止為其提供驅動更新了。\n早知道相近的價錢，不要吃電超過75W的新卡，買RTX3050 low profile就好了嘛，有小小升級感又能繼續享用最新版Nvidia驅動支援，幹嘛為了嘗鮮買什麼Intel Arc　A380。\n多虧今年Google Gemini寬宏大量，開放超高免費額度給三級貧戶免費蹭線上AI資源，我才不再那麼執著於本地生成式AI。\n可是，真的又遇到serious production envrionment的時候，我需要CUDA了。\n雖然換用Intel顯卡，用開源Mesa驅動，完全解決了過去Nvidia閉源驅動導致的Linux Wayland桌面破圖問題，可是我基本上放棄了跑本地AI的想法。我想說就順順用來看影片打遊戲就好了吧\u0026hellip;但是都拿來玩柚子社的遊戲，GPU使用率都沒超過50%。這張Intel Arc A380也就AV1硬體編碼加速有優勢，問題是我又沒有常常剪影片！\n最近我又開始想跑一些本地AI專案，雖然Intel盡量讓自家加速技術支援了很多著名開源專案，參見intel-extension-for-pytorch和ipex-llm，例如Stable Diffusion。可，一些專案開發者在引用PyTorch的時候根本沒有考慮到Nvidia顯卡以外的選項，例如Ollama跑LLM，和一些未成氣候的小專案。一旦沒有CUDA加速，單純使用CPU計算，速度可以慢到5倍到10倍以上，根本無法接受。\nIntel最近還放棄了開發Intel GPU專用的PyTorch，說要併入主線，然後就沒有進一步消息了，難道真的跟GPU部門被裁員有關！？\nIntel lays off hundreds of engineers in California, including chip design engineers and architects - Tom\u0026rsquo;s Hardware\n於是Intel Arc GPU加速的Ollama LLM就這樣（暫時）死掉了。參見The future of Intel® Extension for PyTorch 官方丟出了這個公告，然後呢\u0026hellip;？雖然這是好事，可以減少PyTorch碎片化的問題，可是原本ipex-llm支援的那些項目跑哪去了？\n雖然一些人說PyTorch從CUDA遷移到Intel加速很簡單，參考PyTorch官方文件，只要字串改成xpu和手動裝幾個套件就好了吧，我用的專案理論上都是開源的很好改。可是我沒這些能力，也沒時間，一一改寫我要使用的專案的Python原始碼。\n使用Intel GPU的場合，顯示卡閒的發慌。看看nvtop的GPU使用率圖表，我不要Intel GPU都沒在做事。我要她\u0026hellip;常常被塞滿！以前Nvidia GPU被我虐待到，是天天處在OOM的邊緣的耶！ 再加上之前寄予厚望的ZLUDA（轉譯CUDA API，令其在非Nvidia GPU跑CUDA的技術）失敗。最近我到他們的Github看才發現，ZLUDA\u0026hellip;你\u0026hellip;你背叛我！當初情報收集的不夠周全，這個專案最初開發的時候是打算支援Intel顯示卡的，結果Intel公司沒興趣投入資源，開發者居然就放棄了Intel支援，只專注在AMD上。\n雖然Nvidia停止支援Nvidia GTX1050Ti了，但撐死還能用個一年吧。\n於是我抽出了封存在抽屜裡面的Nvidia GTX1050Ti顯示卡，重新給電腦裝上。換Intel顯示卡進去地牢。 Nvidia驅動580版本對Linux Wayland桌面支援改善了很多。\n啊，正直與善良都回來了。 ","date":"2026年2月10日","externalUrl":null,"permalink":"/posts/from-intel-arc-a380-to-nvidia-gtx1050-ti/","section":"Unboxings","summary":"從Nvidia顯卡換到Intel Arc顯卡快六個月了，兩者比較之下，終究逃離不了Nvidia的魔掌，我還是需要CUDA！！！\n咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎咕咕嘎嘎 也許，去年9月花小錢從用了快十年的Nvidia GTX1050Ti切換到Intel Arc A380是不明智的，只是想給300W的老電腦換個新GPU。\n相關文章：測試Intel Arc A380在Linux系統的表現\n雖然我終於在Linux擺脫了Nvidia閉源驅動帶來的問題，從維護系統的角度，不用再處理Nvidia驅動套件的古怪問題，奇檬子好了些，可是生成式AI相關的新技術幾乎都不能跑，或者說無法開箱即用，得找CUDA替代方案…看得我心癢癢。\nNvidia GTX1050Ti屬於是有點尷尬的存在，VRAM雖小但還能跑很多小型AI專案，可是2025年Nvidia官方停止為其提供驅動更新了。\n早知道相近的價錢，不要吃電超過75W的新卡，買RTX3050 low profile就好了嘛，有小小升級感又能繼續享用最新版Nvidia驅動支援，幹嘛為了嘗鮮買什麼Intel Arc　A380。\n多虧今年Google Gemini寬宏大量，開放超高免費額度給三級貧戶免費蹭線上AI資源，我才不再那麼執著於本地生成式AI。\n","title":"終究還是從Intel Arc換回了Nvidia顯卡","type":"unboxing"},{"content":"2026年，如果你的顯卡是Nvidia GTX10xx系列，在Debian Linux安裝Nvidia驅動會遇到問題。\n我的Nvidia GTX1050Ti顯示卡遇到了尷尬的情況，Nvidia在2025年砍掉了Turing架構以前舊卡，也就是GeForce GTX10系列的驅動更新支援，參見這篇公告，最後一個還能用的版本是580版驅動，再新的590驅動版本就會直接寫不支援了。\nNvidia最近在慢慢往開源的方向邁進，也就是nvidia-open kernel module計畫，讓Linux安裝Nvidia驅動不會那麼麻煩，Nvidia也推薦大家使用這個驅動，Debian與Ubuntu有將其打包為nvidia-open套件。可是，nvidia-open不能在舊卡使用，舊卡得使用所謂legacy proprietary driver，也就是nvidia-driver-xxx套件。\n相關文章：Debian安裝Nvidia驅動教學\n這下我遇到了一個進退兩難的問題：Debian套件庫的Nvidia驅動太舊，Nvidia CUDA套件庫的驅動又太新不支援。\n最新Debian 13的套件庫只有打包舊版Nvidia 550版本的驅動，這個版本就我所知，跑Wayland桌面很有問題，SDDM與KDE桌面會黑螢幕，不知道為什麼Debian開發組死不更新。\n但是最新可用的Nvidia驅動版本應該至少有到580才對，根據使用Arch Linux的經驗，這個版本改進了很多Wayland的支援。Debian沒有像Ubuntu有Proprietary GPU Drivers PPA的PPA，有打包各種Nvidia驅動版本，也沒有Arch Linux的AUR保留舊版本。\n如果嘗試用Nvidia官方CUDA套件庫的方式裝最新版驅動呢？過去我都用這招取得最新Nvidia驅動版本。然而現在GTX10系列放棄支援了之後，會落入一個惡毒的陷阱：Nvidia官方CUDA套件庫裡面只有最新Nvidia版驅動，沒有其他舊版本。然而它不會做相容性測試，依然可以給你安裝。但在裝了，開機載入，冷不防丟出訊息「GPU不支援」The driver will ignore this GPU\u0026hellip;然後顯示No Nvidia GPU Found. 於是我立即從/etc/apt/sources.list.d/移除了CUDA套件庫，並apt purge *nvidia*刪除所有驅動。\n為了不破壞APT管理套件衝突。\n那麼剩下的途徑就只有執行Nvidia官網的.run安裝器了\u0026hellip;\u0026hellip;\n相關文章：Linux透過run file安裝Nvidia驅動教學\n真的是萬策盡的安裝方式。\n反正之後這張卡的驅動也不會再有太多更新了吧。用這種方式安裝，雖然不能用APT解除安裝了，起碼還能交給DKMS追蹤，在更新kernel之後自動重新編譯。日後要拆掉的話得重新執行安裝器。\n同樣地，CUDA也是有這個問題。若我的Nvidia驅動不是透過APT安裝的時候，就必須也得用.run檔案安裝。若用APT安裝CUDA的話它會一併拉取最新版Nvidia驅動套件下來，落入上面的不支援陷阱。\n根據Nvidia官網的對應表格，最新的CUDA 13尚且受580版本驅動支援。於是，CUDA也用.run檔案安裝就可以了，雖然上面寫590，但只要在安裝CUDA的時候選擇不要安裝驅動就行了。\n","date":"2026年2月10日","externalUrl":null,"permalink":"/posts/debian-nvidia-gtx-10-series-driver-issue/","section":"所有文章","summary":"2026年，如果你的顯卡是Nvidia GTX10xx系列，在Debian Linux安裝Nvidia驅動會遇到問題。\n我的Nvidia GTX1050Ti顯示卡遇到了尷尬的情況，Nvidia在2025年砍掉了Turing架構以前舊卡，也就是GeForce GTX10系列的驅動更新支援，參見這篇公告，最後一個還能用的版本是580版驅動，再新的590驅動版本就會直接寫不支援了。\nNvidia最近在慢慢往開源的方向邁進，也就是nvidia-open kernel module計畫，讓Linux安裝Nvidia驅動不會那麼麻煩，Nvidia也推薦大家使用這個驅動，Debian與Ubuntu有將其打包為nvidia-open套件。可是，nvidia-open不能在舊卡使用，舊卡得使用所謂legacy proprietary driver，也就是nvidia-driver-xxx套件。\n相關文章：Debian安裝Nvidia驅動教學\n這下我遇到了一個進退兩難的問題：Debian套件庫的Nvidia驅動太舊，Nvidia CUDA套件庫的驅動又太新不支援。\n最新Debian 13的套件庫只有打包舊版Nvidia 550版本的驅動，這個版本就我所知，跑Wayland桌面很有問題，SDDM與KDE桌面會黑螢幕，不知道為什麼Debian開發組死不更新。\n但是最新可用的Nvidia驅動版本應該至少有到580才對，根據使用Arch Linux的經驗，這個版本改進了很多Wayland的支援。Debian沒有像Ubuntu有Proprietary GPU Drivers PPA的PPA，有打包各種Nvidia驅動版本，也沒有Arch Linux的AUR保留舊版本。\n","title":"Nvidia GTX10系列顯卡停止支援，在Linux缺乏新版本驅動如何解決","type":"posts"},{"content":"","date":"2026年2月10日","externalUrl":null,"permalink":"/ja-jp/tags/linux-mint/","section":"Tags","summary":"","title":"Linux Mint","type":"tags"},{"content":"","date":"2026年2月10日","externalUrl":null,"permalink":"/ja-jp/tags/os-tan/","section":"Tags","summary":"","title":"OS-Tan","type":"tags"},{"content":" 世界初！Ubuntu学園ラブコメ漫画\n《Ubunchu！》、中国語訳では烏邦啾と呼ばれる作品は、日本の漫画家・瀬尾浩史が描いた漫画で、かつてUbuntu Magazine Japanで連載され、すでに完結している。 漫画は軽快でユーモラスな口調でUbuntuシステムを紹介しており、初心者でもベテランでも、そこからLinuxの楽しさを感じ取ることができる。\nここではオペレーティングシステム擬人化（OS-tan）の手法は使われておらず、Linuxが日常生活の中でどのように使われるかを本当に演じている。\nこの漫画は2009年に出版されたもので、漫画に登場するシステムはおおよそUbuntu 9.04の時代である。後にヒロインは丸一日かけてUbuntu 9.10へアップグレードした。商標問題のためか、漫画内ではUbuntuを一律にUbunchuと呼んでいる？\n年代は古いが、中で語られている内容はいまでも通用するよ！たとえばGNOMEは今でもたまにX Serverと喧嘩してクラッシュする。（ X11サポートを直接切ってWaylandへ移行すれば、この問題で悩まなくて済む ）\nDaniel Storiやxkcdが描いたLinux漫画と比べると、《Ubunchu！》は技術的なことをあまり多く語らない。主に語っているのはLinuxと自由ソフトウェアコミュニティ文化、そしてWindowsユーザーにLinuxを広めるときに遭遇する現実的な困難である。\n1. Ubunchu！登場人物 # 如月あかね：システム管理同好会会長。狂信的なUnix主義者で、コマンドラインでネットを使うことを好み、高校に入るまでデスクトップグラフィカルシステムの存在を知らなかった。 御堂マサト：Windowsユーザー。システム管理同好会の副会長で、如月の宿敵。 椎名里沙：Macintoshユーザー。天然ボケだが、部員にUbuntuを最初に広めた人物。 篠崎あきは：コンピューター科学同好会部長。自由ソフトウェアによる解決策に反対している。\n2. Ubunchu！オンライン閲覧リソース # 漫画原作者の公式サイト：うぶんちゅ！ - 株式会社 架空線\n本漫画はCC BY-NC-SA 2.0ライセンスで公開されており、ユーザーは自由に改変・共有できる。\n英語版翻訳（翻訳者は原作者の許可を取得済み）：\nUbunchu! | AERIAL LINE Ubunchu! translation ネット上の中国語化リソースは完全ではない。\n3. Ubunchu！各話概要 # このシリーズ漫画は自由に転載できるが、分量の都合上、ここでは表紙だけを載せる。\n第1話 Ubunchu登場！\nうぶんちゅがやって来た！ Linux CLIハードコア派 vs Windowsユーザー vs Macユーザー\nまさかMacユーザーが真っ先に皆へUbuntuを試すよう勧めるとは？最後にはLinux CLIハードコア派までもが、Ubuntuの親切なインターフェースに驚く。\nWineさえあれば、Windows上の美少女ゲームだって遊べる！\n第2話 CLIと小人\nＣＵＩとコビトとお姉さま Linuxのコマンドライン概念を紹介する。\nこの回では椎名里沙がLinuxコマンドを、コンピューターの中で働く小人のようなものとして捉えている。Linuxデスクトップ環境GNOMEは、ちょうど英語で小人を意味する。\n第3話 Linuxフォーラムデビューは早すぎた？\nフォーラムデビューはまだ早い？ Linuxのネットフォーラム文化を紹介する。\nXFree86 X Serverが何度もクラッシュする。どうすればいい？Linuxフォーラムで助けを求めよう！心優しいネットユーザーが助けてくれる。\n第4話 三羽のうさぎ\n三匹のうさぎたち 自由ソフトウェアのGPLライセンスを紹介する。\n第5話 姉御参上！\nビッグシスター参上！ この回で紹介されるのは、とても現実的な問題だ。\n学校が購入予定のコンピューターがすべてWindowsシステムだったらどうするのか。生徒会長はシステム管理同好会の敵とも言える存在で、Ubuntuはおもちゃのシステムだとまで言う。このとき如月は自作のUbuntu CDを取り出し、誰でもLinuxインターフェースをカスタマイズできると語る。\n第6話 コアラにうってつけの日\nコアラにうってつけの日 Ubuntuバージョン命名の面白さを紹介する。\nUbuntu 9.10（Karmic Koala）へのアップグレードに丸一日かかった。\n篠崎会長は、学校をWindows XPからWindows 7へ移行させるよう如月に説得を求める。如月はついでにUbuntuの紹介書も渡した。\n第7話 究極のInstallfest！\nアルティメット・インストールフェスト！ Linuxコミュニティ特有のインストール互助会を紹介する。これは米国ではとても流行している。当初は《作業系統革命》のようなLinuxインストール互助会の場面が出てくると思ったが、結局は登場しなかった。やはりイベントポスターにRichard Stallmanの肖像を載せるのは向いていないのか\u0026hellip;\nしかし一人の女の子が訪ねてくる。如月は興奮してUbuntuのインストール方法を紹介するが、なんと彼女はWindows XPからWindows 7へアップグレードしたいのだった。さらに彼女を嘲笑し、「豊かな」日本で「無料」のオペレーティングシステムを使うまで落ちぶれるなんて\u0026hellip;\u0026hellip;\nそこで如月はUbuntuを使ってWindows 7のインストールに成功した\n第8話 今日はもうMooしましたか？\n今日はもうMooしましたか？ APTパッケージマネージャーの使い方を紹介する。\n決してコマンドを適当にコピー＆ペーストしてはいけない。魔法のコマンド\u0026quot;apt install -f\u0026quot;一つで依存性地獄の問題を修復でき、もう二度と「衝突」は起きない！（わけがない）。\n\u0026ldquo;Moo\u0026quot;はAPTのマスコット、Super Cow Powers!に由来する。\n第9話 革命的な日本語入力法Kaname\n日本語入力革命カナメ 日本語入力法Anthyと辞書ファイルを紹介する\nかなめはLinux上で日本語を入力できず、悩んでいる\n如月はそこで彼女にAnthyの存在を教える\nその結果、かなめはBL愛好者だと判明し、事情を理解していない如月はそれをBSD Licenseだと解釈する（？）\n第10話 ユーザーインターフェース大戦！？\nインターフェース戦争勃発！？ Ubuntu Unityデスクトップが使いにくい問題を討論する。\nこの回ではシステムがUbuntu 11.10（Oneiric Ocelot）へアップグレードされているので、オセロットが登場する。\nUbuntuは11.04から自前のUnityデスクトップ環境を使い始め、後にUbuntu 17.04でGNOMEへ戻した。当時のUnityは、検索欄にネット検索機能をいち早く追加していた。\n第11話 うちのお嬢様は老執事がお好き？\nお嬢様は老執事がお好き！？ Ubuntu Serverを紹介し、Windows Me搭載の古いコンピューターを蘇らせ、Nagios with Muninを使ってサーバー状態を監視する方法も紹介する。\n椎名はサーバー（server）を執事（servestian）にたとえ、さらに古いコンピューターなので老執事というわけだ。\n第12話 妹系覇権ディストリ！ミントちゃん\n妹系覇権ディストリ！ミントちゃん 妹系覇権ディストリ！Linux MintはUbuntuよりどこが良いのか！？この新人が唐突にRelease PartyでLightning Talkを発表してから、Ubuntuの輝きはすべて彼女に奪われた！\nRelease Party、ライトニングトーク文化、そしてLinuxディストリビューションの概念を紹介する。\nもともと閑散としていたUbuntu 12.04 Release Partyに、なぜか大勢の人が来た？まさか女の子が持ってきたのは、Ubuntuから派生したディストリビューション、Linux Mintだった。いまDistroWatchでランキング一位のLinuxディストリビューションである。\nLinux MintはUbuntuより親切な、開封してすぐ使える体験を掲げ、Ubuntuの地位を脅かした！\n漫画中ではDebianアイコンのネタも使われている。如月は受け取ったLinux MintのCDが実はDebianベースのLMDE版だと気づく。すると御堂は、その女の子が以前ぐるぐる眼鏡をかけていた姿を暴露し、彼女は昔Debianを使っていたことを認める。彼女は、もっと主流のディストリビューションへ変えれば、もっと人気になれるだろうと考えたのだ。如月はまるで知音を見つけたかのように、前へ出て抱きしめる。\n最後に篠崎会長がツッコむ：あなたたちディストリビューション同士でいつまでも争っていなさい。Linuxの市場占有率なんてたった1%なんだから。\n本当にUbunchu！という漫画の作者はすごいと思う。彼はDebianユーザーの心境を巧みに捉えている。Ubuntuが流行してからというもの、注目はすっかり奪われてしまった。私たちDebianユーザーにとって、チュートリアル記事でDebianと書いても他人はそれが何なのかまったくわからないが、Ubuntuと書けば明らかに人気が出る、そうだろう。そしてLinux Mintが登場したあと、Ubuntuの地位を揺るがす傾向が出てきた。そこで漫画の中のキャラクターは、より人気になるためにLinux Mintへ乗り換えることを決める。しかしDebianの誇りも捨てられず、Linux Mintの皮をかぶったDebian光ディスクを配布し、それによって信徒を取り込もうとする！そして漫画の主人公は、自分が知音を見つけたことに気づく。彼女は過去しばらくCLI操作だけを使っており、デスクトップ環境の存在をまったく知らなかったのだ。\nこの漫画はもう20年近く前の作品だ。昔の人は光ディスクを作ることでLinuxを布教していた。\n豆知識：Linux Mint公式は本当にDebianベースで構築されたISOを提供しており、LMDEと呼ばれる。自由ソフトウェア死士向けのものであり、Ubuntuがいつか悪事を働いてプロジェクト開発に影響することを防ぐこともできる。\n第13話 歴史ある文芸部の分裂\n伝統ある文芸部の分裂 Apache OpenOfficeとLibreOfficeの関係を紹介する。両者は同門の出であり、それぞれ支持者がいる。さらにODF形式の重要性も紹介する。\nシステム管理同好会は文芸部にOpenOfficeを文書ソフトとして使うよう勧めるが、思いがけず文芸部の双子が争いを始め、OpenOffice支持者とLibreOffice支持者がそれぞれの言い分を主張する。そこで双方は小説を書く勝負をし、どちらのソフトがより使いやすいかを比べることにした。最後に如月はODF形式の重要性を指摘する：たとえ今のソフトが好きでなくても、別のソフトへ変えればファイルを正常に開ける。\n第14話 心とハードウェアの操作者！\nあなたのハードを動かし隊！ ドライバーの概念と、ハードウェアメーカーがLinuxドライバーを開発しようとしない苦境を紹介する。\n御堂は椎名に魔法少女のcosplay服を着せ、赤外線の魔法ステッキでコンピューターを操作させようとする。しかしLinuxにはこのようなマイナーな代物のドライバーがない。そこで一同はドライバーを手書きすることに決める\u0026hellip;あらゆる方法を尽くしたあと、御堂は謎の鼓舞演説を行い、二人の女の子にcosplay服を着せ、動画にしてネットで助けを求める。数日後にはLinuxコミュニティが開発したドライバーが届いた。\n第15話 Ubuntu Touchを見たことがあるか？\nUbuntu Touchは見た！？ Ubuntu touchの操作方法を紹介し、ついでにWindows 8インターフェースが使いにくいと愚痴る。この回ではシステム管理同好会が一台のAndroidタブレットをUbuntu touchへROM焼きする。しかしこのシステムの未成熟さにもツッコミを入れる。ソフトウェアが大きく不足しているなら、コミュニティに完成させてもらえばいい！\nUbuntu touchはCanonicalが2011年に発表したスマホシステムで、UnityデスクトップとSnapをスマートフォンへ広げ、クロスプラットフォームな操作体験を築いてAndroidやiOSと競争しようとした。しかし開発は数年後に中止され、オープンソースコミュニティのメンテナンスへ引き継がれた。現在に至るまで、半死半生の状態にある。\n特別編1 水着回！\n学園サークルのタレントコンテストで、篠崎会長は美しい歌声と良いスタイルで好評を得る。如月はなんとステージ上でビキニを着て、Richard Stallmanの〈Free Software Song〉を歌い、その結果最下位になる。\n椎名がステージに上がるとき、当時台湾MicrosoftがSilverlightのために描いたマスコット、藍澤光と一緒に登場し、全場最高点を獲得した。\n特別編2 Ubunchu道場！オペレーティングシステムを武術流派にたとえる。\nUbunchu流派はUnix古拳法の優良な伝統を受け継ぎ、さらに多くの現代化機能を加えた、初心者でも扱いやすいシステムである！\nこれと敵対するのは、向かいに開かれたWindows道場だ。外来武術に満ち、勝利を目標とするシステムである！\n最後に御堂は、近くにiOS + Androidの店が開いたことに気づく。皆が次々と携帯ショップ（ジム）へ行ってしまい、どうやらコンピューター（伝統武術）はもう時代遅れになったようだ！\n特別編3 入学試験編！\nUbunchuシステムで遊ぶことは学習を助け、試験の成否すら左右する！\n","date":"2026年2月10日","externalUrl":null,"permalink":"/ja-jp/posts/ubunchu-manga-review/","section":"Foss-Issues","summary":" 世界初！Ubuntu学園ラブコメ漫画\n《Ubunchu！》、中国語訳では烏邦啾と呼ばれる作品は、日本の漫画家・瀬尾浩史が描いた漫画で、かつてUbuntu Magazine Japanで連載され、すでに完結している。 漫画は軽快でユーモラスな口調でUbuntuシステムを紹介しており、初心者でもベテランでも、そこからLinuxの楽しさを感じ取ることができる。\nここではオペレーティングシステム擬人化（OS-tan）の手法は使われておらず、Linuxが日常生活の中でどのように使われるかを本当に演じている。\nこの漫画は2009年に出版されたもので、漫画に登場するシステムはおおよそUbuntu 9.04の時代である。後にヒロインは丸一日かけてUbuntu 9.10へアップグレードした。商標問題のためか、漫画内ではUbuntuを一律にUbunchuと呼んでいる？\n年代は古いが、中で語られている内容はいまでも通用するよ！たとえばGNOMEは今でもたまにX Serverと喧嘩してクラッシュする。（ X11サポートを直接切ってWaylandへ移行すれば、この問題で悩まなくて済む ）\nDaniel Storiやxkcdが描いたLinux漫画と比べると、《Ubunchu！》は技術的なことをあまり多く語らない。主に語っているのはLinuxと自由ソフトウェアコミュニティ文化、そしてWindowsユーザーにLinuxを広めるときに遭遇する現実的な困難である。\n","title":"Ubunchu！漫画でLinuxを学び、自由ソフトウェアコミュニティ文化を知る","type":"foss-issues"},{"content":"","date":"2026年2月10日","externalUrl":null,"permalink":"/ja-jp/tags/ubuntu/","section":"Tags","summary":"","title":"Ubuntu","type":"tags"},{"content":"透過Nvidia官網下載的.run file安裝Nvidia驅動。使用者可以自由選擇想要使用的驅動版本。它提供純CLI指令操作模式，且可以在下載之後離線安裝，方便大量部署使用。\n支援的Linux發行版包含：Ubuntu、Debian、KylinOS、Fedora、RHEL、Rocky Linux、Amazon Linux、Azure Linux、SUSE Linux、Slackware等等。\n本文以Ubuntu為例。\n警告： 這是萬策盡的時候才使用的方法。Linux跟Windows管理系統的思維不一樣，大部分Linux發行版開發者都不推薦使用這種方式安裝驅動。除了難以被Linux的套件管理器追蹤變更之外，日後要切換版本也很困難。以Ubuntu來說，應當優先使用套件管理器安裝Nvidia驅動\n1. 前置條件 # 不可混用APT與.run file版本的檔案。也就是說，如果你要用.run file安裝Nvidia驅動，則CUDA也只能用.run file安裝。\n否則會產生一種弔詭的現象：要是你用.run安裝舊版驅動，結果用apt安裝cuda-toolkit套件，cuda會因為依賴關係拉取新版Nvidia驅動套件下來，導致兩者驅動衝突！\n2. 以.run file安裝Nvidia驅動 # 為免衝突，安裝這個版本的Nvidia驅動之前，解除安裝系統所有的Nvidia相關套件 sudo apt purge *nvidia* *cuda* 到Nvidia官網依照顯示卡型號搜尋對應的Linux驅動，然後下載.run副檔名的installer檔案。例如我的Nvidia GTX1050Ti可以安裝到580版本驅動。 如果你要用指令下載的話，就對「下載」按鈕按右鍵，複製網址，再用wget指令下載\nwget \u0026#34;網址\u0026#34; 賦予執行權限 chmod +x ./NVIDIA-Linux-*.run 以sudo權限執行installer，等待一下，它會解壓縮 sudo ./NVIDIA-Linux-*.run Nvidia不推薦在有圖形環境（X Server）執行的時候安裝這個驅動，建議在tty模式安裝。這裡就忽略警告。使用方向鍵移動選項到Continue Installation，按Enter 剩下的全部同意 如果有需要，一併安裝32位元的驅動 以DKMS模式安裝驅動。日後會跟著Linux核心自動更新，也就不需要重新跑一次次安裝器。 更新initramfs 因為現在都是使用Wayland桌面比較多了，不需要使用nvidia-xconfig生成X.org設定檔。 安裝後，重開機。執行以下指令，檢查驅動版本。\nnvidia-smi 如果遇到NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.錯誤，可能是nouveau沒有成功加入黑名單。觀察上面lshw指令輸出結果，如果Kernel modules:後面顯示nouveau，那麼就是沒有黑名單，nouveau驅動會跟Nvidia驅動搶控制權。此時，需要手動將nouveau加入開機禁止載入的核心模組黑名單，更新核心設定，並重開機： echo \u0026#34;blacklist nouveau\u0026#34; | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf echo \u0026#34;options nouveau modeset=0\u0026#34; | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf sudo update-initramfs -u 日後要解除安裝Nvidia驅動的話，在執行安裝器的時候加上以下參數： sudo ./NVIDIA-Linux-*.run --uninstall 3. 以.run file安裝CUDA套件 # 參考Nvidia官網的CUDA支援列表，依照目前的Nvidia驅動，下載對應的CUDA版本。例如CUDA 13.1需要Nvidia 580以上版本的驅動，那就直接下載最新版CUDA。\n到NVIDIA CUDA Toolkit官網，依照系統版本下載.run file。或者使用網頁的指令下載。 以sudo權限執行installer，等待一下，它會解壓縮\nchmod +x cuda_*_linux.run sudo sh cuda_*_linux.run 輸入accept同意EULA，再按Enter 選取要安裝的項目，通常維持預設就好，用方向鍵移動到Install再按Enter。CUDA會建議你使用最新版Nvidia驅動，因此會一併自動安裝。不過如果你之前已經用run file安裝Nvidia驅動，並且不希望升級的話，就用空白鍵取消勾選，不要安裝Nvidia驅動。 等待安裝完成。\n重開機。用nvcc --version指令確認CUDA版本\n如果顯示Command nvcc not found，則編輯~/.bashrc。\nvim ~/.bashrc 加入以下兩條指令，將CUDA的路徑加入環境變數，撰文當下為CUDA 13.1。由於CUDA版本會一直更新，你可能要執行 ls /usr/local/查看CUDA的真正路徑，依照你的實際情況做修改。 export PATH=/usr/local/cuda-13-1/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-13-1/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 再嘗試檢查一次版本 source ~/.bashrc nvcc --version 日後要解除安裝CUDA的話，執行： sudo /usr/local/cuda-13.1/bin/cuda-uninstaller 參考資料 # NVIDIA Driver Installation Quickstart Guide NVIDIA CUDA Installation Guide for Linux ","date":"2026年2月10日","externalUrl":null,"permalink":"/posts/linux-install-nvidia-drivers-using-run-file/","section":"所有文章","summary":"透過Nvidia官網下載的.run file安裝Nvidia驅動。使用者可以自由選擇想要使用的驅動版本。它提供純CLI指令操作模式，且可以在下載之後離線安裝，方便大量部署使用。\n支援的Linux發行版包含：Ubuntu、Debian、KylinOS、Fedora、RHEL、Rocky Linux、Amazon Linux、Azure Linux、SUSE Linux、Slackware等等。\n本文以Ubuntu為例。\n警告： 這是萬策盡的時候才使用的方法。Linux跟Windows管理系統的思維不一樣，大部分Linux發行版開發者都不推薦使用這種方式安裝驅動。除了難以被Linux的套件管理器追蹤變更之外，日後要切換版本也很困難。以Ubuntu來說，應當優先使用套件管理器安裝Nvidia驅動\n1. 前置條件 # 不可混用APT與.run file版本的檔案。也就是說，如果你要用.run file安裝Nvidia驅動，則CUDA也只能用.run file安裝。\n否則會產生一種弔詭的現象：要是你用.run安裝舊版驅動，結果用apt安裝cuda-toolkit套件，cuda會因為依賴關係拉取新版Nvidia驅動套件下來，導致兩者驅動衝突！\n","title":"Linux使用.run file安裝Nvidia閉源驅動與CUDA Toolkit","type":"posts"},{"content":"不想裝CUDA但是想跑CUDA，那就改在Docker容器裡跑吧！\nNvidia Container Toolkit是Nvidia開發的開源軟體，原始碼位於Github，當然Nvidia驅動部分還是閉源的。\nDocker與Podman裡面的程式，預設是不能使用CUDA加速計算的。透過這款設計給容器用的Nvidia工具，使容器可以存取宿主機GPU，使用CUDA計算。\n根據官網，架構圖如下： 即使Linux宿主機沒有安裝CUDA Toolkit，Docker容器內照樣可以使用CUDA計算。方便你在容器裡面跑不同版本的CUDA，不會受到宿主機的CUDA版本影響。\n1. Nvidia Container Toolkit優點？ # 有些程式（就是在說你，Tensorflow）非常吃Nvidia閉源驅動＋CUDA＋Linux系統的版本，三位一體只要有個版本不對就會出亂子，甚至CUDA只要差一兩個版本程式就會不給跑。\n這個時候採用Docker容器化開發可以降低困擾，將CUDA塞在Docker裡面就能迴避Linux宿主機版本的要求。\nNvidia Container Toolkit僅求要求宿主機安裝Nvidia閉源驅動即可，卻不需要安裝CUDA Toolkit。\n並且由於容器有多重複製的特性，開發者能夠按照不同專案需求開不同的容器環境部署服務，各個容器的CUDA版本是彼此獨立的。\n此外，依賴CUDA的cudnn、TensorRT應也可如法炮製。\n宿主機只需要安裝Nvidia閉源驅動，剩下的交給Docker容器去處理就好了。而負責讓容器內的CUDA跟宿主機Nvidia驅動溝通的媒介，就是Nvidia Container Toolkit了。\nNvidia Container Toolkit還可以解決依賴特定發行版的問題。如果你系統用的不是Nvidia原廠支援的發行版（Deb-based、RPM-based）的就GG了，這很不公平。\nNvidia Container Toolkit僅依賴宿主機的Nvidia閉源驅動，卻不需要安裝CUDA Toolkit。\n於是它可以讓Linux宿主機在沒有安裝CUDA Toolkit的情況下，於Docker/Podman容器使用CUDA進行計算。\n特別適合給不方便安裝CUDA的Linux使用。\n這適用一種極端的情況：immutable distro，例如Fedora Silverblue、openSUSE MicroOS、Vanilla OS等等。他們雖然可以裝Nvidia驅動，但是沒辦法安裝CUDA套件。透過Nvidia Container Toolkit即可繞過這個問題。\n2. 如何安裝Nvidia Container Toolkit # 此處以Ubuntu為例\n在Ubuntu安裝Docker\n首先，在Ubuntu LTS安裝Nvidia顯示卡驅動\nUbuntu沒有打包這個套件，需要加入NVIDIA Container Toolkit的套件庫：\ncurl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \\ \u0026amp;\u0026amp; curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \\ sed \u0026#39;s#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g\u0026#39; | \\ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list 安裝NVIDIA Container Toolkit sudo apt update sudo apt install nvidia-container-toolkit 如果使用Docker，註冊Nvidia裝置，重新啟動Docker。執行Ubuntu容器，測試能否印出Nvidia顯示卡的資訊。 sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi 註：如果出現ERRO[0000] unable to load config for runtime docker: EOF錯誤，嘗試手動編輯/etc/docker/daemon.json，加入以下內容：\n{ \u0026#34;runtimes\u0026#34;: { \u0026#34;nvidia\u0026#34;: { \u0026#34;path\u0026#34;: \u0026#34;nvidia-container-runtime\u0026#34;, \u0026#34;runtimeArgs\u0026#34;: [] } } } 至於Podman的話，使用Nvidia CDI，執行Ubuntu容器，測試能否印出Nvidia顯示卡的資訊。 sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml nvidia-ctk cdi list podman run --rm --device nvidia.com/gpu=all --security-opt=label=disable ubuntu nvidia-smi 參考資料 # Installing the NVIDIA Container Toolkit - NVIDIA CONTAINER TOOLKIT\n","date":"2026年2月10日","externalUrl":null,"permalink":"/posts/linux-install-nvidia-container-toolkit/","section":"所有文章","summary":"不想裝CUDA但是想跑CUDA，那就改在Docker容器裡跑吧！\nNvidia Container Toolkit是Nvidia開發的開源軟體，原始碼位於Github，當然Nvidia驅動部分還是閉源的。\nDocker與Podman裡面的程式，預設是不能使用CUDA加速計算的。透過這款設計給容器用的Nvidia工具，使容器可以存取宿主機GPU，使用CUDA計算。\n根據官網，架構圖如下： 即使Linux宿主機沒有安裝CUDA Toolkit，Docker容器內照樣可以使用CUDA計算。方便你在容器裡面跑不同版本的CUDA，不會受到宿主機的CUDA版本影響。\n1. Nvidia Container Toolkit優點？ # 有些程式（就是在說你，Tensorflow）非常吃Nvidia閉源驅動＋CUDA＋Linux系統的版本，三位一體只要有個版本不對就會出亂子，甚至CUDA只要差一兩個版本程式就會不給跑。\n這個時候採用Docker容器化開發可以降低困擾，將CUDA塞在Docker裡面就能迴避Linux宿主機版本的要求。\nNvidia Container Toolkit僅求要求宿主機安裝Nvidia閉源驅動即可，卻不需要安裝CUDA Toolkit。\n並且由於容器有多重複製的特性，開發者能夠按照不同專案需求開不同的容器環境部署服務，各個容器的CUDA版本是彼此獨立的。\n","title":"Ubuntu安裝Nvidia Container Toolkit教學，在Docker與Podman容器裡面跑CUDA","type":"posts"},{"content":"適用系統版本：Debian 13 Trixie以上\n本文讓Ivon解說如何在Debian GNU/Linux系統安裝Nvidia驅動程式與CUDA套件。 在安裝Debian的時候，如果有Nvidia顯示卡，預設會載入開源的nouveau驅動。但是要使用CUDA技術，就得安裝Nvidia的閉源驅動。\nnouveau是含在mesa套件裡面的，一般不需要刪除套件，在安裝Nvidia閉源驅動後nouveau就會自動被停用。\n1. Nvidia驅動的版本差異 # 根據Debian Wiki與Nvidia官方文件，Nvidia驅動裝法有以下途徑：\n途徑 驅動版本 穩定性 適用情況 Debian套件庫 舊 穩定 不在乎CUDA版本；穩定性為重。 使用Nvidia CUDA套件庫的.deb驅動 新 不穩定 需要最新版驅動與最新CUDA版本。 手動下載Nvidia官網的.deb檔案安裝驅動 新 不穩定 顯卡已經不受官方支援；需要特定版本的驅動；需要在完全離線的環境安裝。 手動執行Nvidia官網的.run檔案安裝驅動 新 不穩定 顯卡已經不受官方支援；需要特定版本的驅動；需要在完全離線的環境安裝。 Linux的Nvidia驅動不會一直都是官方發表的最新版本，要看你是從哪一種途徑安裝。\n這裡的「穩定」是以Debian維護者的角度來看。事實上只要是Nvidia官方正式發表的驅動都是夠穩定的，上面寫不穩定只是相對Debian收錄的Nvidia驅動版本來說，這些套件沒有經過長時間測試。\n需要注意的是，Debian套件庫打包的Nvidia驅動版本雖然被Debian開發者認為是「穩定的」但只是對於伺服器而言，不保證桌面的圖形驅動穩定。例如，Debian 13收錄的Nvidia驅動套件版本是550，對Wayland桌面的支援度不佳。若透過Nvidia CUDA套件庫，則可以取得針對Wayland相容性大幅改善的590版本驅動。\n本文採用的是透過Debian套件庫安裝Nvidia驅動與CUDA。\n2. 檢查Nvidia顯示卡相容性 # 首先要到Nvidia官網查詢，檢查手上的顯示卡是否仍受Nvidia官方支援，如果有的話就直接裝最新版驅動。如果已經停止支援，則只能安裝舊版驅動。 舉例來說：NVIDIA GeForce GTX 1050屬於Turing架構以前的舊卡，那麼最高就只能裝到580版本的驅動。在Turing架構以後推出的NVIDIA GeForce GTX 1650，可以直接裝最新版的590驅動。但是在這篇文章中，我們沒有要使用Nvidia官網的驅動安裝器，所以這裡的資訊僅是作為參考。\n查看現在Nvidia顯示卡是使用哪個驅動。 sudo lspci -k | grep -A 2 -i \u0026#34;NVIDIA\u0026#34; 沒安裝Nvidia閉源驅動前，Linux應該會載入nouveau核心模組。 # 範例輸出 07:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1) Subsystem: ASUSTeK Computer Inc. Device 85d6 Kernel modules: nouveau 3. 安裝Nvidia閉源驅動 # 桌電與伺服器 # Debian官方非自由(non-free)的套件庫有收錄Nvidia驅動的套件。編輯/etc/apt/sources.list，加上non-free與contrib，啟用非自由的套件庫 deb http://deb.debian.org/debian trixie main non-free-firmware non-free contrib deb http://deb.debian.org/debian trixie-updates main non-free-firmware non-free contrib 更新套件庫 sudo apt update 接著以DKMS安裝Nvidia驅動，這會讓Nvidia驅動自動跟著Linux核心更新。註：你可以用apt search nvidia-driver搜尋其他版本的Nvidia驅動程式。 Turing架構（含）以後的新卡，也就是RTX20系列之後，安裝以下版本的套件：\nsudo apt install nvidia-open-kernel-dkms nvidia-driver Turing架構以前的舊卡，也就是RTX10系列之前，是安裝以下套件：\nsudo apt install nvidia-kernel-dkms nvidia-driver 安裝後重開機，執行nvidia-smi指令查看目前驅動版本。\n再度執行lspci指令\nsudo lspci -k | grep -A 2 -i \u0026#34;NVIDIA\u0026#34; 查看nouveau是否已經變成nvidia。 # 範例輸出 07:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1) Subsystem: ASUSTeK Computer Inc. Device 85d6 Kernel modules: nvidia_drm, nvidia 執行nvidia-smi指令，查看Nvidia驅動版本。\n如果遇到NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.錯誤，可能是nouveau沒有成功加入黑名單。觀察上面lspci指令輸出結果，如果Kernel modules:後面顯示nouveau，那麼就是沒有黑名單，nouveau驅動會跟Nvidia驅動搶控制權。此時，需要手動將nouveau加入開機禁止載入的核心模組黑名單，更新核心設定，並重開機：\necho \u0026#34;blacklist nouveau\u0026#34; | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf echo \u0026#34;options nouveau modeset=0\u0026#34; | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf sudo update-initramfs -u -k all 對於Nvidia驅動550 ~ 580版本，登入Wayland桌面與顯示管理器，會黑螢幕，可能要在/etc/default/grub新增GRUB_CMDLINE_LINUX=\u0026quot;nvidia-drm.modeset=1，接著更新GRUB：sudo update-grub。 雙GPU筆電 # 搭載Nvidia獨立顯示卡的筆電安裝顯示卡驅動的方式跟桌上型電腦一樣。\n不過，像Intel ＋ Nvidia這種的雙GPU筆電，即使裝了Nvidia驅動也可能繼續用Intel的GPU渲染3D，導致3D性能低下。\n此時可以使用prime-select指令，指定用Nvidia顯示卡負責渲染作業。\nsudo prime-select nvidia 重開機後再使用指令：vulkaninfo --summary查看主顯示卡為何。\n相關文章：Nvidia PRIME指令使用方式\n4. 安裝CUDA # 必須先裝Nvidia閉源驅動才能裝CUDA。\n從Debian套件庫安裝CUDA sudo apt install nvidia-cuda-toolkit 執行nvcc --version指令查看CUDA版本。\nDebian Stable提供的nvidia-driver套件版本可能有點舊，若需要新版，得從Nvidia CUDA的deb套件庫下載。\n參考資料 # NvidiaGraphicsDrivers - Debian Wiki Nouveau: Accelerated Open Source driver for nVidia cards - freedesktop.org ","date":"2026年2月10日","externalUrl":null,"permalink":"/posts/debian-install-nvidia-drivers/","section":"所有文章","summary":"適用系統版本：Debian 13 Trixie以上\n本文讓Ivon解說如何在Debian GNU/Linux系統安裝Nvidia驅動程式與CUDA套件。 在安裝Debian的時候，如果有Nvidia顯示卡，預設會載入開源的nouveau驅動。但是要使用CUDA技術，就得安裝Nvidia的閉源驅動。\nnouveau是含在mesa套件裡面的，一般不需要刪除套件，在安裝Nvidia閉源驅動後nouveau就會自動被停用。\n1. Nvidia驅動的版本差異 # 根據Debian Wiki與Nvidia官方文件，Nvidia驅動裝法有以下途徑：\n途徑 驅動版本 穩定性 適用情況 Debian套件庫 舊 穩定 不在乎CUDA版本；穩定性為重。 使用Nvidia CUDA套件庫的.deb驅動 新 不穩定 需要最新版驅動與最新CUDA版本。 手動下載Nvidia官網的.deb檔案安裝驅動 新 不穩定 顯卡已經不受官方支援；需要特定版本的驅動；需要在完全離線的環境安裝。 手動執行Nvidia官網的.run檔案安裝驅動 新 不穩定 顯卡已經不受官方支援；需要特定版本的驅動；需要在完全離線的環境安裝。 Linux的Nvidia驅動不會一直都是官方發表的最新版本，要看你是從哪一種途徑安裝。\n","title":"如何在Debian系統安裝Nvidia閉源驅動、CUDA Toolkit","type":"posts"},{"content":"Nvidia公司針對各種Linux發行版提供套件庫(repository)，方便使用者安裝最新版Nvidia驅動與CUDA Toolkit。\n支援的Linux發行版包含：Ubuntu、Debian、KylinOS、Fedora、RHEL、Rocky Linux、Amazon Linux、Azure Linux、SUSE Linux。\n本文以Ubuntu為例。\n注意：根據Nvidia官網建議，使用者應該優先使用Linux發行版套件庫打包的Nvidia驅動套件，比較穩定，參見Ubuntu安裝Nvidia驅動教學。真的需要新功能的時候才使用這裡的驅動。 1. 檢查Nvidia顯示卡相容性 # 確認Nvidia是否仍支援你的顯示卡驅動，到Nvidia官網查詢。只要不是十年以上的舊卡，Nvidia閉源驅動應該都會繼續提供支援。如果有支援，那麼就直接安裝最新版Nvidia閉源驅動。如果你的顯示卡已經停止支援，那麼頂多只能裝到特定舊版本的驅動。 舉例來說：NVIDIA GeForce GTX 1050屬於Turing架構以前的舊卡，那麼最高就只能裝到580版本的驅動。在Turing架構以後推出的NVIDIA GeForce GTX 1650，可以直接裝最新版的590驅動。 想知道目前電腦是使用哪一個主顯示卡，開啟終端機，安裝套件：sudo apt install vulkan-tools，再使用指令：vulkaninfo --summary指令查看，GPU0欄位應會印出Nvidia。\n一些發行版，例如Ubuntu，可能在你第一次安裝系統的時候就自動裝好Nvidia驅動了。如何確認你現在是否已經安裝Nvidia閉源驅動程式？開啟終端機，執行nvidia-smi指令，看是否會印出Nvidia驅動版本。\n若有Nvidia顯示卡但沒有安裝Nvidia閉源驅動，Linux預設應該會載入開源nouveau驅動。這可以用指令sudo lshw -C display確認，driver區段會顯示\u0026quot;nouveau\u0026quot;\n2. 新增Nvidia套件庫 # Nvidia官方套件庫，裡面含有各種CUDA版本與最新Nvidia閉源驅動。在你新增Nvidia套件庫之後，nvidia-driver-*相關套件的優先度會被替換為以Nvidia套件的為主，Ubuntu套件庫的次之。這點可以透過apt policy nvidia-driver-*指令確認。\n安裝GCC與kernel headers sudo apt install build-essential sudo apt install linux-headers-$(uname -r) 如果有的話，刪除過期的套件庫金鑰 sudo apt-key del 7fa2af80 加入套件庫 # 使用環境變數os指定系統版本，系統太新可能會沒得下載 os=ubuntu2404 # 使用環境變數arch指定系統架構 arch=x86_64 # 取得套件庫鑰匙圈 wget https://developer.download.nvidia.com/compute/cuda/repos/$os/$arch/cuda-keyring_1.1-1_all.deb # 安裝鑰匙圈 sudo apt install ./cuda-keyring_1.1-1_all.deb 重新整理套件庫 sudo apt update 3. 安裝Nvidia驅動 # 搜尋可用的Nvidia套件版本 sudo apt search nvidia-driver 以DKMS安裝Nvidia驅動 例如Turing架構以後的顯示卡，可以直接裝nvidia-open驅動\nsudo apt install nvidia-open Turing架構以前的顯示卡，要裝特定版本的舊版驅動。不過要注意的是，Nvidia套件庫可能不會收錄舊版驅動。\nsudo apt install nvidia-driver-580 重開機，確認Nvidia驅動版本。 nvidia-smi 4. 安裝CUDA # 必須先裝Nvidia專有驅動才能裝CUDA。\n從Nvidia套件庫，安裝最新的CUDA Toolkit。由於Nvidia官方套件庫有最新版本驅動，若Ubuntu的Nvidia驅動版本對不上，在安裝CUDA的過程會強制升級。 sudo apt install cuda-toolkit 重開機。用nvcc --version指令確認CUDA版本\n如果顯示Command nvcc not found，則編輯~/.bashrc。\nvim ~/.bashrc 加入以下兩條指令，將CUDA的路徑加入環境變數，撰文當下為CUDA 13-1。由於CUDA版本會一直更新，你可能要執行 ls /usr/local/查看CUDA的真正路徑，依照你的實際情況做修改。 export PATH=/usr/local/cuda-13-1/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-13-1/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 再嘗試檢查一次版本 source ~/.bashrc nvcc --version 附錄：如何安裝舊版本CUDA？ 如果裝了CUDA 12，才發現你需要的其實是CUDA 11，那就將其移除重裝。\n註：如果常常需要在多個版本的CUDA之間切換，建議直接用Docker配合Nvidia Container Toolkit，每個容器有各自的CUDA版本，就不會受到宿主機的CUDA版本影響了。\n刪除目前已安裝的Nvidia驅動與CUDA sudo apt purge *nvidia* sudo apt purge remove *cuda* sudo apt autopurge 重新加入Nvidia CUDA套件庫 os=ubuntu2404 arch=x86_64 wget https://developer.download.nvidia.com/compute/cuda/repos/$os/$arch/cuda-keyring_1.0-1_all.deb sudo apt install ./cuda-keyring_1.0-1_all.deb sudo apt update 查看可用的CUDA版本。如果找不到舊版CUDA套件，那就是目前的系統不支援安裝舊版CUDA。 sudo apt search cuda 安裝舊版CUDA，例如CUDA 11.8 sudo apt install cuda-11-8 編輯~/.bashrc，將PATH修改為指向CUDA 11.8的路徑 export PATH=/usr/local/cuda-11/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-11/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 確認CUDA版本是否為11.8 source ~/.bashrc nvcc --version 參考資料 # NVIDIA Driver Installation Quickstart Guide NVIDIA CUDA Installation Guide for Linux ","date":"2026年2月10日","externalUrl":null,"permalink":"/posts/linux-install-nvidia-drivers-from-nvidia-repository/","section":"所有文章","summary":"Nvidia公司針對各種Linux發行版提供套件庫(repository)，方便使用者安裝最新版Nvidia驅動與CUDA Toolkit。\n支援的Linux發行版包含：Ubuntu、Debian、KylinOS、Fedora、RHEL、Rocky Linux、Amazon Linux、Azure Linux、SUSE Linux。\n本文以Ubuntu為例。\n注意：根據Nvidia官網建議，使用者應該優先使用Linux發行版套件庫打包的Nvidia驅動套件，比較穩定，參見Ubuntu安裝Nvidia驅動教學。真的需要新功能的時候才使用這裡的驅動。 1. 檢查Nvidia顯示卡相容性 # 確認Nvidia是否仍支援你的顯示卡驅動，到Nvidia官網查詢。只要不是十年以上的舊卡，Nvidia閉源驅動應該都會繼續提供支援。如果有支援，那麼就直接安裝最新版Nvidia閉源驅動。如果你的顯示卡已經停止支援，那麼頂多只能裝到特定舊版本的驅動。 舉例來說：NVIDIA GeForce GTX 1050屬於Turing架構以前的舊卡，那麼最高就只能裝到580版本的驅動。在Turing架構以後推出的NVIDIA GeForce GTX 1650，可以直接裝最新版的590驅動。 想知道目前電腦是使用哪一個主顯示卡，開啟終端機，安裝套件：sudo apt install vulkan-tools，再使用指令：vulkaninfo --summary指令查看，GPU0欄位應會印出Nvidia。\n一些發行版，例如Ubuntu，可能在你第一次安裝系統的時候就自動裝好Nvidia驅動了。如何確認你現在是否已經安裝Nvidia閉源驅動程式？開啟終端機，執行nvidia-smi指令，看是否會印出Nvidia驅動版本。\n","title":"Linux透過Nvidia官方套件庫安裝Nvidia驅動與CUDA Toolkit","type":"posts"},{"content":"適用系統版本：Ubuntu 24.04 LTS以上\n讓Ivon為您解說如何在Ubuntu LTS安裝Nvidia閉源驅動(proprietary driver)，以及相關的CUDA與NVIDIA Container Toolkit套件。 一般用戶玩遊戲只要裝完Nvidia閉源驅動即可收工。\n要跑3D渲染、神經網路、深度學習的用戶才裝後面的CUDA、NVIDIA Container Toolkit套件。這些套件都依賴Nvidia閉源驅動，但是不一定要全裝，端看專案需求。\n1. 前言 # Ubuntu內建支援Nvidia顯示卡的開源驅動「nouveau」，為Linux社群逆向工程而來，不至於讓電腦開機沒畫面。那為什麼還要安裝Nvidia官方發表的閉源驅動(專有驅動)？因為nouveau驅動會導致Nvidia顯示卡性能下降，控制風扇失效，並且無法使用Nvidia獨家的加速技術「CUDA」、「NVENC」。欲發揮Nvidia顯示卡全部潛能，安裝Nvidia閉源驅動乃必要之舉。\n根據Ubuntu文件與Nvidia官方文件，安裝Nvidia驅動的方式共有以下幾種：\n途徑 驅動版本 穩定性 適用情況 Ubuntu套件庫 舊 穩定 從Ubuntu系統版本的套件庫安裝並透過DKMS裝載。也就是apt install或者交由ubuntu-drivers自動偵測。這些Nvidia驅動都是由Ubuntu開發者測試過的，通常很穩定，不過驅動版本偏舊。適合不在乎CUDA版本，穩定性為重的用戶。 Proprietary GPU Drivers PPA 新 不穩定 這是Ubuntu團隊維護的額外套件庫，能取得最新版Nvidia驅動，但可能不穩定。適合需要最新版Nvidia驅動但又不想使用Nvidia官方套件庫的用戶。 使用Nvidia CUDA套件庫的驅動 新 不穩定 Nvidia公司維護的套件庫。適用：需要最新版Nvidia驅動與最新CUDA版本。 從Nvidia官網下載deb檔匯入PPA安裝(Local) 新 不穩定 新增Nvidia公司維護的PPA套件庫，將完整驅動檔案下載下來，再apt install。適用：顯卡已經不受官方支援；需要特定版本的驅動；需要在完全離線的環境安裝。 從Nvidia官網套件管理員匯入PPA安裝(Network) 新 不穩定 新增Nvidia公司維護的PPA套件庫，再從Nvida的套件庫apt install下載驅動套件。適用：顯卡已經不受官方支援；需要特定版本的驅動。 手動執行.run檔案安裝驅動 新 不穩定 就是透過執行.run的安裝器來安裝驅動。通常不建議這樣裝，會無法被套件管理器追蹤。適用：顯卡已經不受官方支援；需要特定版本的驅動；需要在完全離線的環境安裝。 Linux的Nvidia驅動不會一直都是官方發表的最新版本，要看你是從哪一種途徑安裝。\n這裡的「穩定」是以Ubuntu維護者的角度來看。事實上只要是Nvidia官方正式發表的驅動都是夠穩定的，上面寫不穩定只是相對Ubuntu收錄的Nvidia驅動版本來說，這些套件沒有經過長時間測試。\n本文採用的是透過Ubuntu套件庫安裝Nvidia驅動與CUDA。\n2. 檢查Nvidia顯示卡相容性 # 註解：雖然Ubuntu有提供圖形界面的「軟體更新中心」，內含Nvidia驅動安裝器，但我這篇文章全部用終端機指令安裝，方便檢查安裝結果是否正常。\nUbuntu可能在你第一次安裝系統的時候就自動裝好Nvidia驅動了。如何確認你現在是否已經安裝Nvidia閉源驅動程式？開啟終端機，執行nvidia-smi指令，看是否會印出Nvidia驅動版本。有的話，你就已經完成安裝了。 確認Nvidia是否仍支援你的顯示卡驅動，到Nvidia官網查詢。只要不是十年以上的舊卡，Nvidia閉源驅動應該都會繼續提供支援。如果有支援，那麼就能夠安裝最新版Nvidia閉源驅動。如果你的顯示卡已經取消支援，那麼頂多只能裝到特定舊版本的驅動。\n舉例來說：NVIDIA GeForce GTX 1050屬於Turing架構以前的舊卡，那麼最高就只能裝到580版本的驅動。在Turing架構以後推出的NVIDIA GeForce GTX 1650，可以直接裝最新版的590驅動。但是在這篇文章中，我們沒有要使用Nvidia官網的驅動安裝器，所以這裡的資訊僅是作為參考。 若有Nvidia顯示卡但沒有安裝Nvidia閉源驅動，Ubuntu預設會載入開源nouveau驅動。這可以用指令sudo lshw -C display確認，driver區段會顯示\u0026quot;nouveau\u0026quot; 3. 安裝Nvidia閉源驅動 # 桌電與伺服器 # 如果有的話，先將舊版Nvidia套件解除安裝： sudo apt update sudo apt upgrade sudo apt purge *nvidia* 接著使用ubuntu-drivers list工具列出目前Nvidia顯示卡可用的驅動版本。例如Nvidia GTX 1050Ti會看到以下畫面： 讓ubuntu-drivers自動挑選適合的版本安裝，有時候最新版Nvidia驅動不見得穩定。它會自動執行apt install指令選取適合版本的驅動。\n# 讓Ubuntu自動挑選推薦的驅動版本 sudo ubuntu-drivers install # 或者手動指定版本，填入要安裝的Nvidia驅動版本號。 sudo ubuntu-drivers install nvidia:580 順帶一提，你可以使用這個語法搜尋其他版本的Nvidia驅動：sudo apt search nvidia-driver-\n安裝後nouveau應會自動加入黑名單禁止載入。接著重開機，用指令sudo lshw -C display確認是否安裝成功，driver區段應會顯示\u0026quot;nvidia\u0026quot; 輸入nvidia-smi指令應會看到目前的驅動版本。\n如果遇到NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.錯誤，可能是nouveau沒有成功加入黑名單。觀察上面lshw指令輸出結果，如果Kernel modules:後面顯示nouveau，那麼就是沒有黑名單，nouveau驅動會跟Nvidia驅動搶控制權。此時，需要手動將nouveau加入開機禁止載入的核心模組黑名單，更新核心設定，並重開機：\necho \u0026#34;blacklist nouveau\u0026#34; | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf echo \u0026#34;options nouveau modeset=0\u0026#34; | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf sudo update-initramfs -u 雙GPU筆電 # 搭載Nvidia獨立顯示卡的筆電安裝顯示卡驅動的方式跟桌上型電腦一樣。\n不過，像Intel＋Nvidia這種的雙GPU筆電，即使裝了Nvidia驅動也可能繼續用Intel的GPU渲染3D，導致3D性能低下。\n此時可以使用prime-select指令，指定用Nvidia顯示卡負責渲染作業。\nsudo prime-select nvidia 重開機後再使用指令：vulkaninfo --summary查看主顯示卡為何。\n相關文章：Nvidia PRIME指令使用方式\n3. 如何查看Nvidia GPU使用量 # 了解Nvidia GPU的使用率、VRAM佔用、影片編碼用量。\nNvidia閉源驅動附帶的nvidia-smi -l指令便能夠查看GPU使用量。\n不過nvidia-smi的資料太簡陋，建議透過nvtop工具查看，它能夠詳細顯示3D渲染與影片編解碼的使用率，並且支援Intel與AMD的GPU。\n透過套件管理器安裝：\nsudo apt install nvtop 透過nvtop指令啟動nvtop。如果出現警告訊息就按方向鍵，移動Enter確定。\n這樣子就會顯示有哪些行程正在使用Nvidia顯示卡計算。 4. 安裝CUDA # CUDA (Compute Unified Device Architecture)，在做深度學習、Blender渲染時常用到的技術。\n必須先裝Nvidia閉源驅動才能裝CUDA。\n從Ubuntu套件庫安裝CUDA Toolkit，重開機。 sudo apt update sudo apt install nvidia-cuda-toolkit 用nvcc --version指令確認CUDA版本 Ubuntu套件庫收錄的CUDA版本可能是舊版，如果需要新版，請改用CUDA套件庫安裝CUDA。\n5. 安裝Nvidia Container Toolkit # 在Docker與Podman容器使用CUDA。\n參見：Ubuntu安裝Nvidia Container Toolkit教學\n參考資料 # NVIDIA drivers installation - Ubuntu Server documentation Nouveau: Accelerated Open Source driver for nVidia cards - freedesktop.org ","date":"2026年2月10日","externalUrl":null,"permalink":"/posts/ubuntu-install-nvidia-drivers/","section":"所有文章","summary":"適用系統版本：Ubuntu 24.04 LTS以上\n讓Ivon為您解說如何在Ubuntu LTS安裝Nvidia閉源驅動(proprietary driver)，以及相關的CUDA與NVIDIA Container Toolkit套件。 一般用戶玩遊戲只要裝完Nvidia閉源驅動即可收工。\n要跑3D渲染、神經網路、深度學習的用戶才裝後面的CUDA、NVIDIA Container Toolkit套件。這些套件都依賴Nvidia閉源驅動，但是不一定要全裝，端看專案需求。\n1. 前言 # Ubuntu內建支援Nvidia顯示卡的開源驅動「nouveau」，為Linux社群逆向工程而來，不至於讓電腦開機沒畫面。那為什麼還要安裝Nvidia官方發表的閉源驅動(專有驅動)？因為nouveau驅動會導致Nvidia顯示卡性能下降，控制風扇失效，並且無法使用Nvidia獨家的加速技術「CUDA」、「NVENC」。欲發揮Nvidia顯示卡全部潛能，安裝Nvidia閉源驅動乃必要之舉。\n根據Ubuntu文件與Nvidia官方文件，安裝Nvidia驅動的方式共有以下幾種：\n途徑 驅動版本 穩定性 適用情況 Ubuntu套件庫 舊 穩定 從Ubuntu系統版本的套件庫安裝並透過DKMS裝載。也就是apt install或者交由ubuntu-drivers自動偵測。這些Nvidia驅動都是由Ubuntu開發者測試過的，通常很穩定，不過驅動版本偏舊。適合不在乎CUDA版本，穩定性為重的用戶。 Proprietary GPU Drivers PPA 新 不穩定 這是Ubuntu團隊維護的額外套件庫，能取得最新版Nvidia驅動，但可能不穩定。適合需要最新版Nvidia驅動但又不想使用Nvidia官方套件庫的用戶。 使用Nvidia CUDA套件庫的驅動 新 不穩定 Nvidia公司維護的套件庫。適用：需要最新版Nvidia驅動與最新CUDA版本。 從Nvidia官網下載deb檔匯入PPA安裝(Local) 新 不穩定 新增Nvidia公司維護的PPA套件庫，將完整驅動檔案下載下來，再apt install。適用：顯卡已經不受官方支援；需要特定版本的驅動；需要在完全離線的環境安裝。 從Nvidia官網套件管理員匯入PPA安裝(Network) 新 不穩定 新增Nvidia公司維護的PPA套件庫，再從Nvida的套件庫apt install下載驅動套件。適用：顯卡已經不受官方支援；需要特定版本的驅動。 手動執行.run檔案安裝驅動 新 不穩定 就是透過執行.run的安裝器來安裝驅動。通常不建議這樣裝，會無法被套件管理器追蹤。適用：顯卡已經不受官方支援；需要特定版本的驅動；需要在完全離線的環境安裝。 Linux的Nvidia驅動不會一直都是官方發表的最新版本，要看你是從哪一種途徑安裝。\n","title":"Ubuntu LTS如何安裝Nvidia顯示卡閉源驅動、CUDA Toolkit","type":"posts"},{"content":"本文紀錄Ivon在Windows 11安裝WSL的過程。\nWSL (Windows Subsystem for Linux) 是Microsoft推出的一款開源工具，可以讓您在Windows電腦執行Linux程式、跑Docker容器、與主機共享檔案、開發程式等等用途。\n臨時要跑Linux程式的時候，WSL可說是十分便利，Linux系統 (下圖為Ubuntu) 會像應用程式一樣裝到Windows上，點選進入Linux終端機，快速進入環境。 根據Microsoft官方文件的說法，WSL2其實就是一種輕量虛擬機。現在我們通稱的「WSL」就是指WSL2，舊版WSL1已經退役了。\n跟Windows 11 ＋ Ubuntu雙重開機的實機安裝比起來，WSL的執行速度要慢些，但啟動速度比一般的虛擬機軟體要快。\n1. 檢查系統是否符合WSL2需求 # 建議先將Windows 11更新至最新版本。\n再來，您的電腦與CPU必須支援虛擬化技術，請到UEFI開啟虛擬化支援。\n接著參考Microsoft文件，啟用Hyper-V。Hyper-V僅Windows專業版有內建，家用版請另外搜尋教學。\nHyper-V可透過指令啟用，搜尋「Windows終端機」，右鍵以系統管理員啟動 輸入以下指令啟用Hyper-V\nEnable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All 重開機。\n開啟終端機，使用以下指令確認Hyper-V是否已啟用 (Enabled)\nGet-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V 2. 安裝WSL2 # 在Windows應用程式列表搜尋「Windows終端機」，右鍵以系統管理員啟動。不要使用命令提示字元。\n執行以下指令安裝WSL，預設下載的Linux發行版為Ubuntu\nwsl --install 依照提示設定Ubuntu的帳號密碼，例如填入user和1234 安裝後重開機，Ubuntu終端機的視窗應會跳出來，顯示下圖訊息。如果沒有，手動開啟終端機輸入wsl -d Ubuntu啟動WSL。 當prompt變成綠字就代表進入Ubuntu的shell，試試看sudo apt update更新套件的指令吧。\n如果要將WSL「關機」，輸入exit退出。然後再開另一個終端機，終止WSL實例：\nwsl --shutdown # 如果沒反應，用此指令強制中止WSL服務 taskkill /F /im wslservice.exe 日後啟動WSL的方法：從應用程式列表點選「Ubuntu」圖示，或是從Windows終端機以指令啟動： wsl -d Ubuntu 在安裝WSL後，可從檔案總管左側的「Linux企鵝圖示」存取WSL系統的根目錄資料夾。該目錄僅在WSL開機時才會掛載，供使用者存取。 3. 如何移除或重裝Ubuntu # 如果WSL檔案系統損壞導致無法進入Ubuntu的shell，你可能就得重裝WSL環境。\n取消註冊Ubuntu wsl --unregister ubuntu 到系統設定 → 應用程式，解除安裝Ubuntu應用程式。這會將Ubuntu與檔案系統一併刪除。\n接著再重跑一次指令安裝Ubuntu。\n4. 進階用法 # 除Ubuntu外，WSL尚支援安裝Debian、Arch Linux、Fedora、openSUSE等Linux發行版，只要從Microsoft Store下載對應的Linux發行版程式，再用wsl -d \u0026lt;發行版名稱\u0026gt;開機即可。\nWSL可以透過WSLg執行X11與Wayland協定的Linux圖形應用程式，甚至可以跑Linux桌面環境\nWSL可以直接跑Docker，無需安裝Docker Desktop，參見Ubuntu安裝Docker Engine\n如果要在WSL跑CUDA，請安裝WSL專用的Nvidia驅動，不可直接裝Ubuntu系統的驅動。\nWSL預設的網路模式為NAT，若要讓Linux服務能從外網存取，你可能得啟用橋接網路，或者啟用鏡像網路模式。\n其餘WSL的使用說明請參考Microsoft官方文件。\n","date":"2026年2月9日","externalUrl":null,"permalink":"/posts/setup-wsl2-on-windows11/","section":"所有文章","summary":"本文紀錄Ivon在Windows 11安裝WSL的過程。\nWSL (Windows Subsystem for Linux) 是Microsoft推出的一款開源工具，可以讓您在Windows電腦執行Linux程式、跑Docker容器、與主機共享檔案、開發程式等等用途。\n臨時要跑Linux程式的時候，WSL可說是十分便利，Linux系統 (下圖為Ubuntu) 會像應用程式一樣裝到Windows上，點選進入Linux終端機，快速進入環境。 根據Microsoft官方文件的說法，WSL2其實就是一種輕量虛擬機。現在我們通稱的「WSL」就是指WSL2，舊版WSL1已經退役了。\n跟Windows 11 ＋ Ubuntu雙重開機的實機安裝比起來，WSL的執行速度要慢些，但啟動速度比一般的虛擬機軟體要快。\n1. 檢查系統是否符合WSL2需求 # 建議先將Windows 11更新至最新版本。\n再來，您的電腦與CPU必須支援虛擬化技術，請到UEFI開啟虛擬化支援。\n接著參考Microsoft文件，啟用Hyper-V。Hyper-V僅Windows專業版有內建，家用版請另外搜尋教學。\nHyper-V可透過指令啟用，搜尋「Windows終端機」，右鍵以系統管理員啟動 輸入以下指令啟用Hyper-V\nEnable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All 重開機。\n開啟終端機，使用以下指令確認Hyper-V是否已啟用 (Enabled)\nGet-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V 2. 安裝WSL2 # 在Windows應用程式列表搜尋「Windows終端機」，右鍵以系統管理員啟動。不要使用命令提示字元。\n","title":"如何在Windows 11安裝WSL2子系統 (Ubuntu)","type":"posts"},{"content":"如果你有冷門到沒人翻譯的漫畫，你又剛好有漫畫原文的圖檔，那麼你就需要一款自動翻譯的軟體！\nBallonsTranslator (BallonTranslator) 為dmMaze製作的一款開源軟體，能夠自動翻譯整本漫畫。 這個軟體是基於Manga Image Translator開發的，作者將它改良，加入了更好操作的圖形界面。\n過程：自動偵測圖片裡的文字OCR → 傳送給線上翻譯服務翻譯 → 再把中文字嵌到圖片裡。等於將修圖嵌字的過程自動化了。\n除了一鍵翻譯漫畫的功能之外，BalloonTranslaror還整合了修圖工具。它會把AI翻譯的文字變成一個個編輯框，讓使用者可以比對原文，做進一步修改。\n這樣的話，你就可以先跑完批次機器翻譯，再手動潤稿，最終產出完整翻譯作品。\n1. 安裝BallonsTranslator # BallonsTranslator在處理圖像的時候會嘗試使用GPU計算（Nvidia CUDA），可以比較快完成處理，因此有Nvidia顯示卡的用戶請先裝好CUDA。如果沒有的話就是用CPU算。\n主程式部份，根據Github指示，Windows請到Releases頁面下載sources.zip，解壓縮，點二下launch_win.bat批次檔，讓它自己裝完依賴套件，程式就會啟動。程式執行的時候請勿關閉終端機。\n至於Linux和macOS，得自行建立Python 3.11的環境，我使用Anaconda部署：\nconda create -n ballonstranslator python=3.11 conda activate ballonstranslator git clone https://github.com/dmMaze/BallonsTranslator.git cd BallonsTranslator python3 launch.py 2. 設定要使用的翻譯服務 # BallonsTranslator預設使用Google翻譯，雖然免費但是品質不好，如果你懂日文看了會想吐血。僅僅是勉強能看的程度。建議選擇其他服務。\n離線模型 # 搭配Ollama使用。我自己測試，用資料量4B以上，且有經過多語言語料庫訓練的模型，例如Google TranslateGemma，就有不錯的效果了！\n接著開啟BallonsTranslator，點選左下角設定，將「翻譯器」設定為LLM_API_Translator，將Endpoint設定為http://localhost:11434/v1/，再填入要使用的模型名稱。「源語言」維持日文，再把「目標語言」設定為繁體中文。 線上模型 # 如果你願意付費的話，我個人覺得ChatGPT和Gemini這些語言模型翻譯比較好，可以準確連接上下文。比傳統的DeepL和Google翻譯要準確。\n缺點是得付API Key費用。ChatGPT每個帳號的API免費額度是18美元，用完就要付費訂閱。Gemini則是每日可以免費呼叫20次。\n以ChatGPT為例，到OpenAI網站登入帳號，點選Create New Secret key，取得ChatGPT的API key。 接著開啟BallonsTranslator，點選左下角設定，將「翻譯器」設定為要使用的AI模型，填入剛剛取得的API key。「源語言」維持日文，再把「目標語言」設定為繁體中文。 （客家一點的用法：你可以不訂閱ChatGPT API key，而是先讓BallonsTranslator跑完Google翻譯後，再把BallonsTranslator辨識的文字手動餵給ChatGPT翻譯，再手動填進去。）\n3. BallonsTranslator自動化翻譯流程 # 在此我們先跑過一輪自動化翻譯，看看BallonsTranslator的威力，後面再來討論如何進一步編輯圖片。\n準備好要翻譯的漫畫圖檔，一個資料夾下應該只含有圖片檔。注意目前BallonsTranslator只能偵測日文、中文、英文。 將要翻譯的漫畫圖檔資料夾，拖入BallonsTranslator視窗。再點選左下角的「Run」 等待工作完成。如果翻譯的進度條卡住，請看一下終端機有無輸出錯誤訊息。 翻譯好的圖檔會自動輸出到圖片來源資料夾下的results資料夾，裡面的圖片已經自動嵌好字了。該資料夾就是存放最終成品的地方。 回到BallonsTranslator界面，你可以點選框框編輯翻譯後的文字。編輯的圖片會自動儲存到results資料夾。 編輯好之後點選左上角「保存文件」，程式會把專案儲存為.json檔案，放到輸入的漫畫資料夾下。 日後點選「打開項目文件」，選取.json檔就可以開啟之前的進度，繼續編輯圖片。 若要手動修圖再嵌字：把你修好的圖片放到inpainted資料夾下，替代BallonsTranslator自動修改的版本。\n4. 圖片編輯界面的功能 # 圖片編輯頁面長這樣，左邊是檢視資料夾的所有圖片檔案，右邊是編輯對話框，還有字體設定。 右下角的兩個拉桿，可以調整圖層透明度，方便對照原文翻譯。 點選右下角畫板，開啟修圖工具。「修復」功能可以把圖片中的有字的地方填充掉，方便後續嵌字。 BallonsTranslator尚支援沙拉查詞，讓你在編輯圖片時右鍵搜尋生字。請參閱安裝說明 如果你覺得個別的翻譯結果不好，可以直接右鍵文字框 → 翻譯，重新翻譯一次該項目 5. 如果你覺得這個程式有點吃效能 # 到設定裡面，調降「圖像修復」、「OCR」的數值。如果你的VRAM一算圖就爆炸，那就把device改成cpu。 其餘問題請至作者Github issue詢問。\n","date":"2026年2月9日","externalUrl":null,"permalink":"/posts/ballonstranslator-usage/","section":"所有文章","summary":"如果你有冷門到沒人翻譯的漫畫，你又剛好有漫畫原文的圖檔，那麼你就需要一款自動翻譯的軟體！\nBallonsTranslator (BallonTranslator) 為dmMaze製作的一款開源軟體，能夠自動翻譯整本漫畫。 這個軟體是基於Manga Image Translator開發的，作者將它改良，加入了更好操作的圖形界面。\n過程：自動偵測圖片裡的文字OCR → 傳送給線上翻譯服務翻譯 → 再把中文字嵌到圖片裡。等於將修圖嵌字的過程自動化了。\n除了一鍵翻譯漫畫的功能之外，BalloonTranslaror還整合了修圖工具。它會把AI翻譯的文字變成一個個編輯框，讓使用者可以比對原文，做進一步修改。\n這樣的話，你就可以先跑完批次機器翻譯，再手動潤稿，最終產出完整翻譯作品。\n1. 安裝BallonsTranslator # BallonsTranslator在處理圖像的時候會嘗試使用GPU計算（Nvidia CUDA），可以比較快完成處理，因此有Nvidia顯示卡的用戶請先裝好CUDA。如果沒有的話就是用CPU算。\n主程式部份，根據Github指示，Windows請到Releases頁面下載sources.zip，解壓縮，點二下launch_win.bat批次檔，讓它自己裝完依賴套件，程式就會啟動。程式執行的時候請勿關閉終端機。\n至於Linux和macOS，得自行建立Python 3.11的環境，我使用Anaconda部署：\nconda create -n ballonstranslator python=3.11 conda activate ballonstranslator git clone https://github.com/dmMaze/BallonsTranslator.git cd BallonsTranslator python3 launch.py 2. 設定要使用的翻譯服務 # BallonsTranslator預設使用Google翻譯，雖然免費但是品質不好，如果你懂日文看了會想吐血。僅僅是勉強能看的程度。建議選擇其他服務。\n","title":"BallonsTranslator ～ AI漫畫自動翻譯軟體使用教學，附修圖編輯功能","type":"posts"},{"content":"","date":"2026年2月9日","externalUrl":null,"permalink":"/tags/manga/","section":"標籤","summary":"","title":"Manga","type":"tags"},{"content":"OCR, Optical Character Recognition.\n","date":"2026年2月9日","externalUrl":null,"permalink":"/tags/ocr/","section":"標籤","summary":"OCR, Optical Character Recognition.\n","title":"OCR","type":"tags"},{"content":"","date":"2026年2月9日","externalUrl":null,"permalink":"/categories/%E9%9B%BB%E8%85%A6%E8%BB%9F%E9%AB%94%E5%88%86%E4%BA%AB/","section":"分類","summary":"","title":"電腦軟體分享","type":"categories"},{"content":"Manga Image Translator是一個開源的漫畫翻譯軟體，由VoileLabs開發，能夠自動翻譯整本漫畫。 開發者說，因為有些漫畫永不會有人翻譯，所以開發此軟體，至少能讓自己看懂個大概。\n主要功能：\n自動OCR偵測並翻譯漫畫對話框，將日文翻成正體或簡體中文，自動嵌字 整合ChatGPT、Gemini、DeepL、Ollama等高品質的機器翻譯服務 可自動將對話框變成全空白，方便漢化組後續處理 除了提供網頁圖形化界面，也可以用指令批次處理圖片 提供API模式，讓其他軟體調用，翻譯圖片文字 例如，我準備一本全日文的同人誌：\n丟給Manga Image Translator翻譯。它除了對話框以外，連有顏色背景的字體都能翻譯出來！\n（出處：(C92) [Penetrate (零覇)] 北上×提督×大井 (艦隊これくしょん -艦これ-)）\n本文的重點將討論如何在電腦自架Manga Image Translator，解說翻譯操作。\n注意： Manga Image Translator是以指令為主的翻譯軟體，如果你不喜歡跑指令，而且希望在機器翻譯後手動潤稿，請改用圖形版：BallonsTranslator\n1. 安裝Manga Image Translator # Manga Image Transtlor的翻譯過程是先用OCR將圖片的文字抓出來，再使用翻譯服務翻譯文字，然後再填回去中文字。\n參考Github安裝指示。作者提供指令模式與網頁模式。我覺得要手動安裝Python環境太麻煩了，故我是使用Docker部署網頁版。這樣不論是Linux還是Windows都可以跑。\n安裝Docker與Git。\nManga Image Translator使用CPU就可以跑。如果要加速OCR速度，先安裝Nvidia Container Toolkit\n複製作者的範本\ncd ~ git clone https://github.com/zyddnys/manga-image-translator.git cd manga-image-translator 修改demo/doc/docker-compose-web-with-cpu.yml檔案，在裡面的環境變數填寫要使用的翻譯服務。再啟動Docker服務。 2. 設定翻譯服務 # Manga Image Translator支援許多線上與離線的翻譯服務。\n離線模型 # 使用量無限制的方案，需要靠你的電腦計算。推薦搭配Ollama使用。我自己測試，用資料量4B以上，且有經過多語言語料庫訓練的模型，例如Google TranslateGemma，就有不錯的效果了！\n編輯docker-compose-web-with-cpu.yml，填入Ollama網址與模型名稱。Ollama相容OpenAI的端點格式，故Manga Image Translator把它稱之為「自訂OepnAI API」。\nenvironment: CUSTOM_OPENAI_API_KEY: \u0026#39;ollama\u0026#39; CUSTOM_OPENAI_API_BASE: \u0026#39;http://localhost:11434/v1\u0026#39; CUSTOM_OPENAI_MODEL: \u0026#39;translategemma:4b\u0026#39; CUSTOM_OPENAI_MODEL_CONF: \u0026#39;\u0026#39; 線上模型 # 線上翻譯品質較好的有ChatGPT、DeepL、Gemini等等。大部分需要API Key才能存取。依照用量可能需要付費。\n以Gemini為例，到Google AI Studio申請一組API Key。然後在docker-compose-web-with-cpu.yml填入要使用的模型：\nenvironment: GEMINI_API_KEY: \u0026#39;API Key\u0026#39; GEMINI_MODEL: \u0026#39;gemini-3-flash-preview\u0026#39; 3. 翻譯操作流程 # 設定好翻譯服務後，啟動Docker容器服務： cd ~/manga-image-translator/demo/doc/ docker-compose -f docker-compose-web-with-cpu.yml up -d 用瀏覽器開啟http://localhost:5003，選取要使用的翻譯服務，例如我使用Ollama，就選Custom_openai。然後翻譯的目標語言選取繁體中文。 點選下方Folder，選取含有圖片的資料夾，點選Add to Queue。 然後就會開始處理。 處理後，點選下方Show Gallery，右鍵存檔圖片。或者到~/manga-image-translator/result/目錄尋找處理之後的圖片檔案。 翻譯有時候會卡住。如果遇到翻譯失敗，嘗試重啟Docker容器服務：\ncd ~/manga-image-translator/demo/doc/ docker-compose -f docker-compose-web-with-cpu.yml down docker-compose -f docker-compose-web-with-cpu.yml up -d 4. 即時翻譯網頁漫畫 # 作者提供這個Greasyfork指令稿，用於即時翻譯Pixiv與Twitter網頁的漫畫圖片。\n預設是將圖片上傳到VoileLabs的Cotrans伺服器處理再覆蓋原本圖片。\n現在疑似失效了？看作者以後要不要開放連線到自架的Manga Image Translator處理。\n","date":"2026年2月9日","externalUrl":null,"permalink":"/posts/manga-image-translator-usage/","section":"所有文章","summary":"Manga Image Translator是一個開源的漫畫翻譯軟體，由VoileLabs開發，能夠自動翻譯整本漫畫。 開發者說，因為有些漫畫永不會有人翻譯，所以開發此軟體，至少能讓自己看懂個大概。\n主要功能：\n自動OCR偵測並翻譯漫畫對話框，將日文翻成正體或簡體中文，自動嵌字 整合ChatGPT、Gemini、DeepL、Ollama等高品質的機器翻譯服務 可自動將對話框變成全空白，方便漢化組後續處理 除了提供網頁圖形化界面，也可以用指令批次處理圖片 提供API模式，讓其他軟體調用，翻譯圖片文字 例如，我準備一本全日文的同人誌：\n丟給Manga Image Translator翻譯。它除了對話框以外，連有顏色背景的字體都能翻譯出來！\n（出處：(C92) [Penetrate (零覇)] 北上×提督×大井 (艦隊これくしょん -艦これ-)）\n本文的重點將討論如何在電腦自架Manga Image Translator，解說翻譯操作。\n注意： Manga Image Translator是以指令為主的翻譯軟體，如果你不喜歡跑指令，而且希望在機器翻譯後手動潤稿，請改用圖形版：BallonsTranslator\n1. 安裝Manga Image Translator # Manga Image Transtlor的翻譯過程是先用OCR將圖片的文字抓出來，再使用翻譯服務翻譯文字，然後再填回去中文字。\n","title":"Manga Image Translator安裝與使用 ～ AI漫畫自動翻譯軟體","type":"posts"},{"content":"","date":"2026年2月9日","externalUrl":null,"permalink":"/tags/ride-japan/","section":"標籤","summary":"","title":"Ride Japan","type":"tags"},{"content":" Ried Japan的二重螺旋（ヴァージンループダブルモーションロング ハード）\n是2018年發售，定價3,000円的飛機杯。註：這裡講的二重螺旋是飛機杯的型號，不是手遊名字。 拿起來是有點份量的。長度算中等，比四重長，比八重短。\n二重螺旋內部長度約13cm 具有一條肉條，上面佈滿條紋。飛機杯的外觀肉厚，入口處陰唇構造做厚實了些。 二重的洞口沒有四重緊，個人覺得紋路沒什麼用，肉條的刺激才是真的，插入後再旋轉很刺激。 雖然叫做二重螺旋，但其實是在四重螺旋與八重螺旋之後推出的產品。\n幾年前玩過丟掉了，今年重買一個回味。\n英語諺語說，Two heads are better than one. 但是在這裡，一根比兩根強！我之前買過上下兩根的Ride Japan雙蛇戲龍。明明是比較新的型號，用起來不怎麼樣，就覺得頂著硬硬的東西這樣。\n重新體驗後，覺得只有一根，刺激度卻比較好！\n與四重螺旋比較呢？同時交替抽插的感覺顯示，雖然二重螺旋沒有四重螺旋那麼緊，但是有一個特殊的搔癢感。\n如果陰莖夠粗那麼插入時就可充分體會到肉條衝擊陰莖的快感，此時內璧有四分之一的洞口被肉條佔滿，雞雞會受到極窄的洞穴壓迫；即使不夠粗也沒關係，單純享受突起物的按摩也不賴。\n不論是插入時肉條在冠狀溝包皮繫帶下，還是在龜頭上部摩擦，都有很高的快感。舉例來說肉條在冠狀溝下面時，大概就像下圖一樣被用手掐著刺激： [狼狽亭] たのしい精液牧場繁殖編\n若是用小穴比喻的話呢？插入後可以感受到她肥嫩的屁股，肉棒衝擊著她的敏感點，彷彿能看到被肉棒衝擊的身軀奶子搖晃樣子，伴隨著陣陣的浪叫。 作者：belko 作者：belko\n於此同時強烈的腔壓與肉條正在侵襲肉棒，二重螺旋的肉條不斷侵犯肉棒的敏感點，製造出強烈酥麻感。絕妙的此刻雙方都在強烈刺激著對方，蛋蛋封存的精子準備傾巢而出了。\n在被厚實的陰道僅僅包覆，在肉條上下交換位置，旋轉刺激著整根肉棒。最終接受不住刺激，將精液全部噴射而出，灌滿整個肉穴。\n","date":"2026年2月9日","externalUrl":null,"permalink":"/posts/ride-japan-virgin-loop-double-motion-hard-review/","section":"Nsfws","summary":" Ried Japan的二重螺旋（ヴァージンループダブルモーションロング ハード）\n是2018年發售，定價3,000円的飛機杯。註：這裡講的二重螺旋是飛機杯的型號，不是手遊名字。 拿起來是有點份量的。長度算中等，比四重長，比八重短。\n二重螺旋內部長度約13cm 具有一條肉條，上面佈滿條紋。飛機杯的外觀肉厚，入口處陰唇構造做厚實了些。 二重的洞口沒有四重緊，個人覺得紋路沒什麼用，肉條的刺激才是真的，插入後再旋轉很刺激。 雖然叫做二重螺旋，但其實是在四重螺旋與八重螺旋之後推出的產品。\n幾年前玩過丟掉了，今年重買一個回味。\n英語諺語說，Two heads are better than one. 但是在這裡，一根比兩根強！我之前買過上下兩根的Ride Japan雙蛇戲龍。明明是比較新的型號，用起來不怎麼樣，就覺得頂著硬硬的東西這樣。\n","title":"Ride Japan「二重螺旋」使用評價，一個肉條就能有高刺激","type":"nsfw"},{"content":" ","date":"2026年2月9日","externalUrl":null,"permalink":"/categories/%E9%A3%9B%E6%A9%9F%E6%9D%AF%E8%A9%95%E5%83%B9/","section":"分類","summary":" ","title":"飛機杯評價","type":"categories"},{"content":" 本文由Ivon介紹適合新手入門的GNU/Linux發行版（distros, distributions），以桌面環境用途為主。\n這些Linux發行版應該能夠作為日常用途（daily driver），讓您自由的上上網、看影片、玩遊戲、影像處理、寫程式、跑開發軟體\u0026hellip;等各式各樣日常用途。甚至熟悉了之後，你能將它轉成伺服器使用。\n有些Linux發行版基於商業發行版而來，選擇跟伺服器環境類似的發行版學習對未來伺服器用途也有幫助。即使不是商業公司支援的Linux發行版也有豐富的網路資源可以參考，網路上可以輕鬆找到解答。\n推薦原則 # 為什麼只有推薦2個：過多的選擇會造成混亂。你想知道為什麼你覺得應該在這裡的發行版沒有列在這裡？請見文末的列表。\n其實呢，讓我來推薦Linux發行版肯定是不準的，因為新手與老手的偏好一定會不同，很容易帶入自己的偏見，導致推薦太多私貨，變成一廂情願的推銷自己的偏好。\n但我還是儘量做到客觀一點推薦，判斷規準如下：\n使用場景以日常桌面GUI應用為主。我不管你伺服器用什麼。 僅討論桌面用途的GNU/Linux發行版，不包含ChromeOS、Android、WSL。當然也不包含macOS、Windows、鴻蒙、FreeBSD系統。 不推薦特化用途、單純換皮、太小眾、針對老電腦設計的發行版。Ubuntu flavor、Fedora Spin也不推薦，一切以該發行版的預設選項為主。 不推薦滾動發行版(rolling distro)，以固定發表版本的為重。系統應該要保持在穩定不變狀態，可以起碼用一年以上，而非一直瘋狂更新。\u0026ldquo;It works on my machine.\u0026ldquo;不算是支持理由。 不推薦DIY成分過重的發行版，應該開箱即用，也就是說自動設定好中文，提供中文輸入法，還有該裝的驅動程式。我不管你有什麼漂亮的dotfile，一切從簡。 不推薦沒有中文討論區的發行版。不一定要台灣的，中國的也行。 不依照DistroWatch的排行推薦，那只用能用於參考熱門程度。 這篇文章最初寫作於2023年，當時的版本基於好玩且多元化 (DEI) 的概念，推薦了5個發行版，想了一下之後發現太主觀了。在Facebook發了一篇民調討論後，於是現在的版本從5個砍到剩下2個。基於Fedora的、基於Arch Linux的、基於Ubuntu換皮但是不夠熱門的，全部出局。我把被篩掉的理由補充在文末，有興趣的可以看看。\n我唯一知道的是，這篇文章的列表肯定不適合老手，我自己看了也不會去用文章裡面列出的這兩個發行版（因為我知道我要什麼，撰文當下I use Debian with KDE btw）。我並不是說「Linux發行版全都是垃圾」，但在嚴格的「新手適用」標準要求下，就只剩下這兩個了。\n1. Linux Mint # 官網下載：Linux Mint｜Linux Mint系統安裝教學 基於何種發行版：Ubuntu LTS 套件管理器：APT (DEB)，Flatpak 更新模式：固定版本，每二年一次大版本更新，每個大版本提供至少五年更新支援。 預設桌面環境：Cinnamon 很多發行版都宣稱自己簡單易用，但都沒有Linux Mint的直覺。儘管Linux Mint預設界面醜了一些，但是很穩定，即使是老舊的電腦也跑得動。\nLinux Mint是由網路社群開發，而非商業公司維護。 採用Cinnamon作為桌面環境，操作類似傳統Windows 7桌面。內建多媒體應用程式與辦公軟體。應用程式商店很穩。使用者還可以用圖形程式自動偵測缺少的驅動，讓Mint自行補齊。大部份系統操作都可以用圖形界面完成，不太需要打指令。\n內建Timeshift系統備份工具，可以建立還原點。\nLinux Mint跟Ubuntu高度相似，套件可以互通，不少使用者會跑到Ubuntu社團求助。不過Linux Mint本身決策不受Canonical公司控制，出現在Ubuntu的東西不一定會反應在Linux Mint上。開發者以開源社區認同的為主，而非迎合商業利益強迫用戶吞下去。\nLinux Mint官方英文論壇：Linux Mint Forums - Index page\nLinux Mint中文討論區：Facebook\n2. Ubuntu Desktop LTS # 官網下載：Ubuntu正體中文站｜Ubuntu系統安裝教學 基於何種發行版：Debian Testing 套件管理器：APT (DEB)，Snap 更新模式：分為一般版與LTS版，一般版一年兩次更新，支援期限九個月。LTS版本採固定版本發表，每二年一次大版本更新，每個大版本提供至少五年更新支援。 預設桌面環境：GNOME 由英國Canonical公司維護。使用範圍最廣的發行版，桌面、伺服器、嵌入式系統都可以看到它的身影，是在商業市場廣受歡迎的Linux發行版。桌面版一直以來不變的是其簡單易用的理念，甫安裝就會儘可能的幫使用者裝好驅動，以及開箱即用的中文環境。\nCanonical官方有提供許多不同桌面環境版本的Ubuntu分支(flavor)，例如界面華麗的Kubuntu、適合老舊電腦使用的Lubuntu、伺服器專用的純文字Ubuntu Server等等。\n這裡推薦的是最主流的版本「Ubuntu Desktop」。採用業界主流的GNOME。GNOME桌面設計有別於傳統Windows桌面，你需要適應工作區為主的系統操作，不要把視窗都塞在同一個畫面。不過，Ubuntu的GNOME桌面有另外修改過，在原版GNOME的基礎上加了一些功能，微調桌面圖示與工作列的位置，讓它稍微好用一些。\nUbuntu的LTS代表長期支援版本，為求穩定套件版本較舊，但也代表套件經過多重測試，適合新手使用。\nUbuntu內建多個安裝更新驅動程式的圖形界面，但圖形化調整的選項較Linux Mint少。 Ubuntu英文討論區：Ubuntu Community Hub ｜ AskUbuntu\nUubntu中文討論區：Facebook｜Ubuntu中文论坛\n我篩掉了哪些Linux發行版？ # 以下解釋為何我「不推薦」這些Linux發行版，把他們從上面的列表中篩除。\n這裡列出的是偏我主觀的觀察，如果你想鉅細靡遺的比較各個Linux發行版差別，可以到維基百科Comparison of Linux distributions條目查看。\n宗教戰爭開始。\nFedora：由RedHat贊助開發。使用DNF套件管理器。預設使用GNOME桌面，另有KDE Plasma、Sway、Budige、COSMIC的映像檔。追尋RedHat主導的業界前沿標準，新功能試驗田，套件很新。屬於半滾動發行版，一年一個大版本更新，每個版本支援9個月。內建中文輸入法。半滾動發行版的發行模式導致不夠穩定。因為過於堅持自由軟體理念，導致無法開箱即用。閉源驅動要自行安裝。\nCentOS Stream：在CentOS 8停止開發之後的產物，不同於舊版固定發表新版本的模式，新版採滾動發行版模式，失去了穩定性。介於Fedora與RHEL之間的過渡發行版。使用DNF套件管理器。預設使用GNOME桌面。是軟體測試平台，不推薦日常使用。\nRed Hat Enterprise Linux (RHEL)：美國RedHat公司開發與銷售的發行版。使用DNF套件管理器。預設使用GNOME桌面。屬於面向企業伺服器與專業工作站用途的Linux發行版。每幾年固定發表一次大版本更新。內建中文輸入法。需要付費取得，個人用戶可以申請一定台數的免費試用，大量部署需要付費。需要訂閱官方服務才能取得更新。\nRocky Linux：基於RHEL釋出的原始碼開發。使用DNF套件管理器。預設使用GNOME桌面，版本號跟隨RHEL。面向伺服器用途的發行版，桌面鮮少有人使用。\nAlmaLinux：基於RHEL釋出的原始碼開發。使用DNF套件管理器。預設使用GNOME桌面，版本號跟隨RHEL，有自己額外一組套件庫。面向伺服器用途的發行版，桌面鮮少有人使用。\nOracle Linux：基於RHEL釋出的原始碼開發，由Oracle公司維護。使用DNF套件管理器。預設使用GNOME桌面，版本號跟隨RHEL。搭載自家研發的Unbreakable Enterprise強化原本RHEL系統沒有的功能。面向伺服器用途的發行版，桌面鮮少有人使用。\nFedora Atomic Desktop：基於Fedora開發的immutable distro，是一系列發行版（Silverblue、Kinoite、Sway、Budige、COSMIC）的總稱，各自搭載不同的桌面環境，讓使用者選擇適合的映像檔。使用rpm-ostree套件管理器。檔案系統唯讀，保證更新後出問題可以回滾。但是immutable distro系統設計過於面向未來，不適用於當下。且同樣會遇到Fedora更新不穩定的問題。\nBazzite：基於Fedora Atomic。使用rpm-ostree套件管理器。預設使用GNOME桌面，玩遊戲專用系統，提供多種打包好驅動程式的映像檔，開箱即用。檔案系統唯讀，保證更新後出問題可以回滾。但是immutable distro系統設計過於面向未來，不適用於當下。且同樣會遇到Fedora更新不穩定的問題。\nDebian：Ubuntu的上游發行版，預設使用GNOME桌面。使用APT套件管理器。內建中文輸入法。提供Unstable、Testing、Stable三種更新頻道，最熱門的是穩定發表模式的Stable。因為過於堅持自由軟體理念，導致無法開箱即用。閉源驅動要自行安裝。\npop!_OS：基於Ubuntu LTS開發，提供Nvidia用戶友善的開箱即用體驗。使用APT套件管理器。由美國System76公司開發，他們還有賣專門的Linux電腦。長期以來使用GNOME桌面，他們正在開發自家的COSMIC桌面，在未來完成遷移之前沒有安裝的必要。\nKDE Neon：Ubuntu LTS版本加上最新版KDE Plasma桌面套件。使用APT套件管理器。但其實根本是縫合怪的體系，開發者使用最新的QT組件卻還要遷就Ubuntu LTS的舊版套件去打patch，且雖然系統基底是穩定更新的，桌面套件版本卻會一直變化。如此種種加劇了不穩定度。\nTuxedo OS：基於Ubuntu LTS開發，由德國TUXEDO Computers開發。使用APT套件管理器。使用最新版KDE Plasma桌面，號稱是比較穩定的KDE Neon，會在桌面套件釋出前測試一番。他們還有賣電腦。但不買他們的電腦，裝這個發行版沒什麼意義。且這個發行版相對冷門。\nMX Linux：基於Debian Stable開發。使用APT套件管理器。使用XFCE桌面，提供圖形化系統管理工具，內建中文輸入法。但是init預設並非使用主流的Systemd，這是系統最底層的標準，不遵守不好用。\nezgo：基於Ubuntu LTS開發。使用APT套件管理器。使用KDE Plasma桌面，中華民國軟體自由協會與教育部開發的Linux發行版，可以算做是預先安裝教育用軟體的Kubuntu，內建中文輸入法。太少人用，而且KDE界面被台灣華國美學改的很醜。\nZorin OS：基於Ubuntu LTS開發。使用APT套件管理器。使用換皮版GNOME桌面，提供類比Windows 11或macOS的界面和許多圖形管理工具。但是除此之外沒太大特色。提供基本版本與付費版下載。付費購買除了支持開發之外，還可以獲得開發人員第一時間回覆技術支援。\nelementaryOS：基於Ubuntu LTS開發。使用APT套件管理器。搭載自家的Pantheon桌面，提供類似macOS的界面。提供圖形管理工具。開發者可以在應用商店上架並販售APP，這很少見，一般Linux應用商店不會有付費應用。近年開發進度陷於遲滯。\ndeepin：基於Debian，後來自己經營套件庫。使用APT套件管理器。固定發表大版本更新。中國公司開發的發行版。使用自研的深度桌面，內建中文輸入法，符合中國傳統Windows用戶的使用習慣所打造，但內建軟體相對其他發行版來說十分臃腫。雖是開放原始碼專案，仍有資安疑慮，可能會蒐集使用者資料。還有依賴庫版本過舊的問題，因為deepin使用自家的套件庫，可能會發生與Debian上游脫節的問題，變成軟體只有deepin才能用。\nArch Linux：滾動發行版。使用Pacman套件管理器。預設沒有任何圖形界面，要自行組裝需要的程式。上手難度高。\nEndeavourOS：基於Arch Linux。使用Pacman套件管理器。預設使用KDE Plasma桌面。比較友善的Arch Linux，圖形化界面安裝，又沒有Manjaro的謎之商業化操作，但依然是滾動發行版。\nCachyOS：基於Arch Linux。使用Pacman套件管理器。玩遊戲專用系統，套件編譯時針對新硬體優化提昇回應速度。一樣會面對跟Arch Linux一樣不穩定的問題。\nManjaro：基於Arch Linux。使用Pacman套件管理器。提供KDE Plasma、XFCE、GNOME桌面的映像檔。半滾動發行版，提供圖形化界面安裝與便利的系統管理工具，內建中文輸入法。自稱透過與Arch Linux套件庫延遲同步以確保穩定性。事實上差那幾個禮拜根本做不了什麼，一樣會遇到滾動發行版的不穩定問題。內建商業專有軟體。\nSteamOS：基於Arch Linux開發，但是是固定發表更新的系統，由Valve公司維護，不定時釋出新版本。屬於immutable distro，保護系統不被亂改。使用Pacman套件管理器。預設使用Steam Big Picture Mode當主介面，專門為玩遊戲設計，另提供KDE Plasma的桌面模式。專為Valve生產的裝置打造，很難安裝在其他硬體上。\nopenSUSE：SUSE Linux的上游發行版，德國公司開發。使用Zypper套件管理器。預設使用GNOME桌面，提供友善的YaST圖形設定工具，內建中文輸入法。號稱被低估的發行版。主要有兩種分支，Tumbleweed是滾動發行版，不穩定。Leap是固定發表更新的版本，但太少人用。\nSUSE Linux Enterprise（SLE）：德國公司開發，針對企業市場取向的發行版，固定發表大版本更新。使用Zypper套件管理器。預設使用GNOME桌面，內建中文輸入法。需要付費取得。\nOpenMandriva Lx：繼承自倒閉的法國商業發行版Mandriva (Mandrake)。提供固定發表更新的一般版以及滾動更新的Rome版。使用DNF套件管理器。桌面預設使用KDE Plasma。太冷門。\nMegia：繼承自倒閉的法國商業發行版Mandriva (Mandrake)。固定發表更新。使用URPMI套件管理器。桌面預設使用KDE Plasma。太冷門。\nPCLinuxOS：繼承自倒閉的法國商業發行版Mandriva (Mandrake)，固定發表更新。使用APT-RPM套件管理器。預設桌面使用KDE Plasma，提供友善的操作體驗。過去曾經風靡一時，但是因為太多後起之秀導致特色逐漸被掩蓋。\nSolus：滾動發行版。使用eopkg套件管理器。預設桌面使用Budgie。太冷門。\nKaOS：滾動發行版。使用Pacman套件管理器。桌面使用KDE Plasma，開發者說他們只專注在維護KDE與QT，不考慮其他桌面環境。太冷門。\nNixOS：函數式定義的系統，使用Nix管理套件與dotfile，主打系統安裝完全靠一個檔案就能完成。每次系統都能依照之前的狀態復現。若更新失敗可無縫回復到上一個版本。依照配置的方式可以視為固定發表或滾動發行版。預設的桌面環境為GNOME。因為概念上過於複雜，只適合對開發環境有潔癖的用戶使用。\nGNU Guix System：由GNU專案所開發，函數式定義的系統，使用Guix管理套件與dotfile，主打系統安裝完全靠一個檔案就能完成。每次系統都能依照之前的狀態復現。若更新失敗可無縫回復到上一個版本。依照配置的方式可以視為固定發表或滾動發行版。預設桌面環境為GNOME。概念上過於複雜，只適合對開發環境有潔癖的用戶使用。因為堅持自由軟體理念，禁止使用者安裝需要閉源韌體驅動的套件。init並非主流Systemd。\nVoid Linux：主打類似BSD風格，滾動發行版。使用自研的XBPS套件管理器。init並非使用主流的Systemd。\nAlpine Linux：主打非常小型的系統，適合當作Docker基礎映像檔使用。穩定發表更新的發行版。使用musl C函式庫減少系統大小。預設沒有任何圖形界面，要自行組裝。使用自研的APK套件管理器。容易遇到驅動程式不相容的問題（例如Nvidia，主流驅動是glibc，廠商不會為了小眾需求重寫程式），對多語系支援也有問題。init並非使用主流的Systemd。\nSlackware：最古老的Linux發行版之一，走類似BSD風格的發行版。固定發表更新，長期以來幾乎只有一個人維護。沒有官方套件管理器，需要手動解決套件依賴關係。init並非使用主流的Systemd。\nGentoo：預設沒有任何圖形界面，要自行組裝，而且軟體是從頭編譯後再安裝的，使用者可以自訂編譯時的參數，完全掌控軟體。使用Portage套件管理器來管理自動化編譯作業。視組裝的過程不同，可以成為固定更新的發行版或滾動發行版。上手難度非常高。\nLinux from Scratch：其實應該算是一本作業系統的教科書，教你如何下載每個軟體的原始碼，從零使用GCC編譯出一個完整的Linux系統，連套件管理器都沒有，比Gentoo更原始的系統。每幾年作者會改版一次，跟上最新Linux時代的潮流。使用這個當日常系統的用戶，我真的要給你鼓鼓掌，你完全玩明白Linux了。\n","date":"2026年2月6日","externalUrl":null,"permalink":"/posts/linux-distros-for-beginners/","section":"所有文章","summary":" 本文由Ivon介紹適合新手入門的GNU/Linux發行版（distros, distributions），以桌面環境用途為主。\n這些Linux發行版應該能夠作為日常用途（daily driver），讓您自由的上上網、看影片、玩遊戲、影像處理、寫程式、跑開發軟體…等各式各樣日常用途。甚至熟悉了之後，你能將它轉成伺服器使用。\n有些Linux發行版基於商業發行版而來，選擇跟伺服器環境類似的發行版學習對未來伺服器用途也有幫助。即使不是商業公司支援的Linux發行版也有豐富的網路資源可以參考，網路上可以輕鬆找到解答。\n推薦原則 # 為什麼只有推薦2個：過多的選擇會造成混亂。你想知道為什麼你覺得應該在這裡的發行版沒有列在這裡？請見文末的列表。\n其實呢，讓我來推薦Linux發行版肯定是不準的，因為新手與老手的偏好一定會不同，很容易帶入自己的偏見，導致推薦太多私貨，變成一廂情願的推銷自己的偏好。\n但我還是儘量做到客觀一點推薦，判斷規準如下：\n使用場景以日常桌面GUI應用為主。我不管你伺服器用什麼。 僅討論桌面用途的GNU/Linux發行版，不包含ChromeOS、Android、WSL。當然也不包含macOS、Windows、鴻蒙、FreeBSD系統。 不推薦特化用途、單純換皮、太小眾、針對老電腦設計的發行版。Ubuntu flavor、Fedora Spin也不推薦，一切以該發行版的預設選項為主。 不推薦滾動發行版(rolling distro)，以固定發表版本的為重。系統應該要保持在穩定不變狀態，可以起碼用一年以上，而非一直瘋狂更新。“It works on my machine.“不算是支持理由。 不推薦DIY成分過重的發行版，應該開箱即用，也就是說自動設定好中文，提供中文輸入法，還有該裝的驅動程式。我不管你有什麼漂亮的dotfile，一切從簡。 不推薦沒有中文討論區的發行版。不一定要台灣的，中國的也行。 不依照DistroWatch的排行推薦，那只用能用於參考熱門程度。 這篇文章最初寫作於2023年，當時的版本基於好玩且多元化 (DEI) 的概念，推薦了5個發行版，想了一下之後發現太主觀了。在Facebook發了一篇民調討論後，於是現在的版本從5個砍到剩下2個。基於Fedora的、基於Arch Linux的、基於Ubuntu換皮但是不夠熱門的，全部出局。我把被篩掉的理由補充在文末，有興趣的可以看看。\n","title":"【2026年】適合新手入門的GNU/Linux發行版","type":"posts"},{"content":"在下載檔案的時候，有時候開發者會建議使用者要檢查檔案完整性。這可以確保使用者下載的檔案是完整無毀損的。也可以杜絕載到病毒的可能性。\n通常，檔案提供者會提供一個校驗碼（checksum，又稱雜湊值、哈希值）讓使用者比對，只要你計算出來的結果跟它正確，則能夠確保檔案是完整的。\n校驗碼通常是透過各種加密演算法生成的，例如MD5、SHA-1、SHA-256、SHA-512等等。\nLinux有很多工具可以用來檢查校驗碼。\n1. 圖形界面 # 桌面環境有的會提供校驗碼檢查工具。\n例如KDE Dolphin，右鍵點選檔案 → 內容 → 總和檢查碼，這裡可以比對檔案。 獨立的程式則是有：gtkhash。XFCE用戶可以安裝thunar-gtkhash搭配Thunar使用，使之出現在右鍵選單。\n2. 指令 # Linux系統通常內建命令行工具可以生成校驗碼，同樣地，他們也能用來檢查檔案校驗碼。\n不過，這些是分開的命令行工具，需要個別安裝。通常會含在GNU coreutils這個套件裡面：\nsudo apt install coreutils 檢查校驗碼的方式類似，都是在後面加上-c參數，傳入要比對的校驗碼檔案列表。\n校驗碼檔案列表應該是以一個.txt或者純文字檔案儲存，該檔案含有校驗碼與檔案名稱的對應表。舉例來說，Ubuntu的ISO下載頁面會包含一個SHA256SUMS檔案，裡面結構大概長這樣：\n7463a *ubuntu-26.04-desktop-amd64.iso 82cbf *ubuntu-26.04-live-server-amd64.iso c77ca *ubuntu-26.04-wsl-amd64.wsl 將SHA256SUMS檔案下載下來，把它與ISO放在同一個目錄。\n然後輸入這個指令，進行比對，顯示OK或Success即表示檔案無修改過。\nsha256sum -c SHA256SUMS ","date":"2026年2月6日","externalUrl":null,"permalink":"/posts/linux-verify-file-checksum/","section":"所有文章","summary":"在下載檔案的時候，有時候開發者會建議使用者要檢查檔案完整性。這可以確保使用者下載的檔案是完整無毀損的。也可以杜絕載到病毒的可能性。\n通常，檔案提供者會提供一個校驗碼（checksum，又稱雜湊值、哈希值）讓使用者比對，只要你計算出來的結果跟它正確，則能夠確保檔案是完整的。\n校驗碼通常是透過各種加密演算法生成的，例如MD5、SHA-1、SHA-256、SHA-512等等。\nLinux有很多工具可以用來檢查校驗碼。\n1. 圖形界面 # 桌面環境有的會提供校驗碼檢查工具。\n例如KDE Dolphin，右鍵點選檔案 → 內容 → 總和檢查碼，這裡可以比對檔案。 獨立的程式則是有：gtkhash。XFCE用戶可以安裝thunar-gtkhash搭配Thunar使用，使之出現在右鍵選單。\n2. 指令 # Linux系統通常內建命令行工具可以生成校驗碼，同樣地，他們也能用來檢查檔案校驗碼。\n不過，這些是分開的命令行工具，需要個別安裝。通常會含在GNU coreutils這個套件裡面：\nsudo apt install coreutils 檢查校驗碼的方式類似，都是在後面加上-c參數，傳入要比對的校驗碼檔案列表。\n校驗碼檔案列表應該是以一個.txt或者純文字檔案儲存，該檔案含有校驗碼與檔案名稱的對應表。舉例來說，Ubuntu的ISO下載頁面會包含一個SHA256SUMS檔案，裡面結構大概長這樣：\n","title":"Linux如何檢查校驗碼，確認檔案完整性","type":"posts"},{"content":"本文所載技術僅供為技術探討以及玩遊戲之用，並非支持使用外掛。有些遊戲明訂禁止使用虛擬機，操作風險自負。\n本文Ivon試圖解決Linux系統的QEMU/KVM虛擬機，在虛擬機玩遊戲下所遇到的防作弊偵測問題。適用於Windows與Linux虛擬機。\n透過修改虛擬BIOS型號，讓QEMU虛擬機的型號看起來更像實體機，而非顯示為QEMU Standard PC (Q35 + ICH9, 2009)。別人一看到你的系統訊息，就好像看到VirtualBox或VMware字串一樣，一看就知道在使用虛擬機！\n在GPU直通＋採用Looking Glass改善虛擬機的遊戲性能後，會遇到遊戲反作弊程式偵測處於虛擬機環境而不給玩的情況。 目前最常見的反作弊系統是藍色熊貓「Easy Anti-Cheat」和「Battleye」，這些系統屬於核心級別的反作弊服務，禁掉遊戲會不給啟動。因此為繞過Easy Anti-Cheat偵測，需要對QEMU動一些手腳才能繞過對虛擬機的偵測。 經過對QEMU硬體訊息做修改之後，可成功執行《VRChat》與堡壘之夜《Fortnite》二款採用Easy Anti-Cheat的遊戲。 使用Battleye的虹彩六號《Tom Clancy\u0026rsquo;s Rainbow Six® Siege》成功啟動（單人模式）。 不過，採用自家防作弊技術的《Valorant》仍無法啟動。\n1. 環境 # Guest OS：Windows 11 25H2 QEMU版本：8.2.2 2. 修改虛擬機的硬體訊息 # 開啟Virt Manager（或是使用指令virsh edit），點選編輯 → 偏好設定 → 啟用XML編輯\n開啟Windows 11虛擬機的XML頁面 找到\u0026lt;os\u0026gt;\u0026lt;/os\u0026gt;這段，填入以下內容，啟用smbios\n\u0026lt;os\u0026gt; \u0026lt;smbios mode=\u0026#34;sysinfo\u0026#34;/\u0026gt; \u0026lt;/os\u0026gt; 執行以下指令，取得宿主機電腦主機板的訊息 sudo dmidecode --type bios sudo dmidecode --type baseboard sudo dmidecode --type system 回到Virt Manager，在\u0026lt;os\u0026gt; \u0026lt;/os\u0026gt;的上方新增\u0026lt;sysinfo\u0026gt; \u0026lt;/sysinfo\u0026gt;段落，填入實體機主機板訊息。其實你不用真的如實填寫，只要這些欄位看起來像真的就行了，以下是我照抄網友提供的設定值。填寫這些訊息，可以讓虛擬機看起來更像實體機。 \u0026lt;sysinfo type=\u0026#34;smbios\u0026#34;\u0026gt; \u0026lt;bios\u0026gt; \u0026lt;entry name=\u0026#34;vendor\u0026#34;\u0026gt;LENOVO\u0026lt;/entry\u0026gt; \u0026lt;/bios\u0026gt; \u0026lt;system\u0026gt; \u0026lt;entry name=\u0026#34;manufacturer\u0026#34;\u0026gt;Microsoft\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;product\u0026#34;\u0026gt;Windows11\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;version\u0026#34;\u0026gt;25H2\u0026lt;/entry\u0026gt; \u0026lt;/system\u0026gt; \u0026lt;baseBoard\u0026gt; \u0026lt;entry name=\u0026#34;manufacturer\u0026#34;\u0026gt;LENOVO\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;product\u0026#34;\u0026gt;20BE0061MC\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;version\u0026#34;\u0026gt;0B98401 Pro\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;serial\u0026#34;\u0026gt;W1KS427111E\u0026lt;/entry\u0026gt; \u0026lt;/baseBoard\u0026gt; \u0026lt;chassis\u0026gt; \u0026lt;entry name=\u0026#34;manufacturer\u0026#34;\u0026gt;Dell Inc.\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;version\u0026#34;\u0026gt;2.12\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;serial\u0026#34;\u0026gt;65X0XF2\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;asset\u0026#34;\u0026gt;40000101\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;sku\u0026#34;\u0026gt;Type3Sku1\u0026lt;/entry\u0026gt; \u0026lt;/chassis\u0026gt; \u0026lt;oemStrings\u0026gt; \u0026lt;entry\u0026gt;myappname:some arbitrary data\u0026lt;/entry\u0026gt; \u0026lt;entry\u0026gt;otherappname:more arbitrary data\u0026lt;/entry\u0026gt; \u0026lt;/oemStrings\u0026gt; \u0026lt;/sysinfo\u0026gt; 最後找到\u0026lt;features\u0026gt;\u0026lt;/features\u0026gt;這段，設定Hyper-V模式為custom（Windows才需要）並用\u0026lt;hidden state=\u0026quot;on\u0026quot;/\u0026gt;隱藏KVM狀態。 \u0026lt;features\u0026gt; ... \u0026lt;acpi/\u0026gt; \u0026lt;apic/\u0026gt; \u0026lt;hyperv mode=\u0026#34;custom\u0026#34;\u0026gt; \u0026lt;relaxed state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;vapic state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;spinlocks state=\u0026#34;on\u0026#34; retries=\u0026#34;8191\u0026#34;/\u0026gt; \u0026lt;vpindex state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;runtime state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;synic state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;stimer state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;reset state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;vendor_id state=\u0026#34;on\u0026#34; value=\u0026#34;123456789123\u0026#34;/\u0026gt; \u0026lt;frequencies state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;/hyperv\u0026gt; \u0026lt;kvm\u0026gt; \u0026lt;hidden state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;/kvm\u0026gt; \u0026lt;vmport state=\u0026#34;off\u0026#34;/\u0026gt; \u0026lt;smm state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;ioapic driver=\u0026#34;kvm\u0026#34;/\u0026gt; ... \u0026lt;/features\u0026gt; 試著開機，安裝含有Easy Anti-Cheat的遊戲試試吧。 3.其他繞過Easy Anti-Cheat偵測的方法 # 有些玩家提出對QEMU本身打patch再重新編譯來繞過偵測的作法，例如：\nA1exxander/KVM-Spoofing zhaodice/qemu-anti-detection，後者宣稱只有Vanguard和Roblex的繞不過去。 不一定要將QEMU安裝到系統，Virt Manager可以修改XML檔案，將路徑指向自訂編譯的QEMU執行檔。但可能得修改一下SELinux或AppArmor的規則。\n參考資料 # SMBIOS System Information - libvirt KVM/QEMU: Bypass Anti-Cheat Software VM Detection In 30 Seconds! - Youtube Using VRChat in a Virtual Machine - The VRChat Documentation Hub ","date":"2026年2月6日","externalUrl":null,"permalink":"/posts/qemu-kvm-bypass-easy-anti-cheat/","section":"所有文章","summary":"本文所載技術僅供為技術探討以及玩遊戲之用，並非支持使用外掛。有些遊戲明訂禁止使用虛擬機，操作風險自負。\n本文Ivon試圖解決Linux系統的QEMU/KVM虛擬機，在虛擬機玩遊戲下所遇到的防作弊偵測問題。適用於Windows與Linux虛擬機。\n透過修改虛擬BIOS型號，讓QEMU虛擬機的型號看起來更像實體機，而非顯示為QEMU Standard PC (Q35 + ICH9, 2009)。別人一看到你的系統訊息，就好像看到VirtualBox或VMware字串一樣，一看就知道在使用虛擬機！\n在GPU直通＋採用Looking Glass改善虛擬機的遊戲性能後，會遇到遊戲反作弊程式偵測處於虛擬機環境而不給玩的情況。 目前最常見的反作弊系統是藍色熊貓「Easy Anti-Cheat」和「Battleye」，這些系統屬於核心級別的反作弊服務，禁掉遊戲會不給啟動。因此為繞過Easy Anti-Cheat偵測，需要對QEMU動一些手腳才能繞過對虛擬機的偵測。 經過對QEMU硬體訊息做修改之後，可成功執行《VRChat》與堡壘之夜《Fortnite》二款採用Easy Anti-Cheat的遊戲。 使用Battleye的虹彩六號《Tom Clancy’s Rainbow Six® Siege》成功啟動（單人模式）。 不過，採用自家防作弊技術的《Valorant》仍無法啟動。\n","title":"QEMU/KVM虛擬機繞過遊戲Easy Anti-Cheat的方法，隱藏KVM狀態","type":"posts"},{"content":"","date":"2026年2月5日","externalUrl":null,"permalink":"/tags/deepin/","section":"標籤","summary":"","title":"Deepin","type":"tags"},{"content":"我覺得要推薦給中文使用者一個Linux發行版的話，deepin（深度操作系统）是可以考慮安裝的。只要你不在乎政治議題的話。\ndeepin跟號稱新手友好的Linux Mint、Zorin OS、MX Linux比起來，更多的為中文使用者考慮過。\n你知道台灣也有自己的Linux發行版吧？中華民國教育部和軟體自由協會開發的ezgo，拿Kubuntu改的。但是規模差太多了\u0026hellip;縱然Lubuntu的桌面LXDE是台灣人設計的，那也不全是台灣開發的。\ndeepin則是有商業公司支援。\n1. deepin簡介 # deepin是中華人民共和國武漢深之度公司開發的Linux發行版，這家公司早期是做盜版Windows XP系統起家的，後來改成研發Linux。最初deepin基於Debian開發，後來他們改成自己經營上游套件庫。中文化支援好，而且有很多中文社區支援。\ndeepin可以視為統信系統(UOS)的上游開源版本，後者被中國政府機關大量採購，作為取代Windows。最主要是實現自主可控，除了x86處理器外還支援國產的各種處理器架構。\n只不過統信系統評價普遍不太好的樣子，預設不給Root權限又將安裝第三方程式的權限鎖死，中國人自己都在罵，評價不比華為鴻蒙差勁。據說還有一名kernel工程師不遵守穿西裝的規矩而被統信開除。這種封閉系統還打著要創新口號簡直笑死人。相較之下，deepin顯得比較開放。\ndeepin主打開箱即用的體驗，桌面環境採用自研的DDE，使用QT寫成，顯示管理器使用LightDM。功能塞得比KDE功能還要滿。\n雖然deepin是「國產系統」。不過他們還沒無恥到宣稱自主研發啦！目前依然是基於Linux核心開發的系統，並非華為鴻蒙的整個系統從底層重構。也因此，deepin尚相容.deb套件格式。只是，deepin的套件庫是自家經營的，不見得能使用Ubuntu與Debian上游的套件。\n不過畢竟是中國開發的系統，雖然官方宣稱不會蒐集使用者資料（他們寫過一篇英文聲明deepin is not a spyware），但還是怕怕的。目前我只能認為，既然deepin還是開放原始碼系統，應該不會有系統級別的監控存在。\n儘管deepin有經營英語的Twitter帳號，歐美Reddit社群似乎普遍對deepin興趣不大。因此deepin使用資料仍以簡體中文為主。\n語言選擇上，跟其他Linux發行版不同，Linux發行版的翻譯多半是社區貢獻，因此會寫中國和台灣。但deepin很明確的在地區上寫中國台灣，讓人看了不爽。\n2. 安裝deepin # 到官網下載ISO。除了常見的x86與ARM架構外，deepi還支援LoongArch、RISC-V架構。\n使用UEFI開機。\n安裝過程很簡單，沒有太多選項，就選擇語言，輸入使用者名稱，它就會自動完成分區。 我有點搞不清楚的分區策略，預設系統分區不給塞滿，他說是為了方便透過A/B分區機制還原系統？可是deepin又不是immutable distro\u0026hellip;\u0026hellip;？\n3. 深度桌面評價 # 最新版deepin 25尚在使用X11，還沒遷移到Wayland。\n設計有種縫合macOS 26與Windows 11的美感。有些中國用戶認為這是最漂亮的Linux桌面環境。 嗯，如果你用習慣了中國Android手機界面\u0026hellip;應該不會反感這種設計風格才對。但我個人覺得跟KDE與GNOME的美學比起來，這種界面色彩實在過飽和了。\n還有，DDE因為太華麗，因此吃資源等級高出一般搭載GNOME桌面的Linux發行版，對硬體要求比較高。\ndeepin針對中國用戶習慣設計，界面全部中文化。提供開箱即用的中文輸入法，當然是漢語拼音，注音輸入法要自行裝Fcitx5的新酷音。\ndeepin開發團隊釋出了專門針對中國國內Windows程式修補過的deepin-wine，設計上跟Steam Proton一樣簡單易用，不需要打指令安裝，對QQ等國產應用相容性較好。最近還發表了一個平替Flatpak的技術「玲瓏應用」。 ","date":"2026年2月5日","externalUrl":null,"permalink":"/posts/install-deepin/","section":"所有文章","summary":"我覺得要推薦給中文使用者一個Linux發行版的話，deepin（深度操作系统）是可以考慮安裝的。只要你不在乎政治議題的話。\ndeepin跟號稱新手友好的Linux Mint、Zorin OS、MX Linux比起來，更多的為中文使用者考慮過。\n你知道台灣也有自己的Linux發行版吧？中華民國教育部和軟體自由協會開發的ezgo，拿Kubuntu改的。但是規模差太多了…縱然Lubuntu的桌面LXDE是台灣人設計的，那也不全是台灣開發的。\ndeepin則是有商業公司支援。\n1. deepin簡介 # deepin是中華人民共和國武漢深之度公司開發的Linux發行版，這家公司早期是做盜版Windows XP系統起家的，後來改成研發Linux。最初deepin基於Debian開發，後來他們改成自己經營上游套件庫。中文化支援好，而且有很多中文社區支援。\ndeepin可以視為統信系統(UOS)的上游開源版本，後者被中國政府機關大量採購，作為取代Windows。最主要是實現自主可控，除了x86處理器外還支援國產的各種處理器架構。\n只不過統信系統評價普遍不太好的樣子，預設不給Root權限又將安裝第三方程式的權限鎖死，中國人自己都在罵，評價不比華為鴻蒙差勁。據說還有一名kernel工程師不遵守穿西裝的規矩而被統信開除。這種封閉系統還打著要創新口號簡直笑死人。相較之下，deepin顯得比較開放。\n","title":"初探deepin 22，中國製造的Linux發行版好像沒那麼壞？","type":"posts"},{"content":" 維基百科看成人片指日可待，不，是已經成為現實。\n以前小學網路不發達的時候，我跟女性同學會在學校圖書館翻厚厚一本的家庭醫學百科，當作啟蒙性教育。\n為了學術教育用途，可以欣賞許多人傳上來的高畫質無碼自拍照，從陰莖到陰道都有，可惜歐美居多：File:Circumcised penis.jpg\n東亞小黃人沒那麼大膽。\n不過「人類陰莖」中文條目的示範圖片是用亞洲人種喔：陰莖外觀（亞洲人種）\n還有戴套教學、漂亮的射精軌跡　36yo-male-ejaculation.gif\n潮吹噴水 Ejaculation female.webm\n有些人還親自拍影片演示性行為，用human intercourse就能在Wikimeida Commons查到一堆體位，未來世界滅亡了，他們拍的片就會成為記載人類存續的資料。\n這些影片品質不比PornHub的素人片差勁。\n例如Human Intercourse.webm，為了教學用途，清清楚楚的展露性器官，無機質的進行抽送動作。\n演示肛交騎乘位的Heterosexual anal intercourse with woman on top.webm　還有展示騎乘位的Sexual intercourse in the woman on top position.webm，超暴力抽插，使勁捏爆女方屁股。\n再如Erection. Male Reaction to a Nude Female.webm 看男性對女性興奮的反應。\n這種專門為了性教育拍攝的影片某種程度看上去讓人很硬。\n","date":"2026年2月5日","externalUrl":null,"permalink":"/posts/watch-porns-on-wikipedia/","section":"Nsfws","summary":" 維基百科看成人片指日可待，不，是已經成為現實。\n以前小學網路不發達的時候，我跟女性同學會在學校圖書館翻厚厚一本的家庭醫學百科，當作啟蒙性教育。\n為了學術教育用途，可以欣賞許多人傳上來的高畫質無碼自拍照，從陰莖到陰道都有，可惜歐美居多：File:Circumcised penis.jpg\n東亞小黃人沒那麼大膽。\n不過「人類陰莖」中文條目的示範圖片是用亞洲人種喔：陰莖外觀（亞洲人種）\n還有戴套教學、漂亮的射精軌跡　36yo-male-ejaculation.gif\n潮吹噴水 Ejaculation female.webm\n有些人還親自拍影片演示性行為，用human intercourse就能在Wikimeida Commons查到一堆體位，未來世界滅亡了，他們拍的片就會成為記載人類存續的資料。\n這些影片品質不比PornHub的素人片差勁。\n例如Human Intercourse.webm，為了教學用途，清清楚楚的展露性器官，無機質的進行抽送動作。\n","title":"維基百科看片指日可待 (Wikimedia Commons)","type":"nsfw"},{"content":"","date":"2026年2月4日","externalUrl":null,"permalink":"/ja-jp/tags/templeos/","section":"Tags","summary":"","title":"TempleOS","type":"tags"},{"content":" Terry Davis - The Hardest Question In Programming\nこれはGoogleの面接で聞かれる問題だ。 あなたは答えなければならない。\n文字起こし翻訳 # あなたは答えなければならない：これは邪悪なニガーの誘惑なのか、それとも神の聖なる知恵なのか？\nこれが私の問題だ。ええと、私が言うのはここまでだ。残りはあなたが答えてくれ。\nGoogleが面接で問題を出すのは知っているだろう。そして私が仕事で遭遇した問題はこれだ：これは邪悪なニガーの誘惑なのか？\nこれは私たちのミッションステートメントにとって、あまりにも黒魔術すぎるのではないか？私たちがこのシステムを開発する使命は、現代版のCommodore 64になることだ。\nこれは黒魔術なのか？これは\u0026hellip;\u0026hellip;これは\u0026hellip;\u0026hellip;これは黒魔術だ。\n問題はこうだ：これは黒魔術なのか？これはプログラミングで遭遇しうる最も困難な問題だ。\nここで、これこそが最も難しい問題だ。これこそがプログラミングにおける最も難しい問題だ。\n未来十世紀の神殿にとって、これは黒魔術が多すぎるのではないか？\n（造語のniggerliciousとvoodooをどう翻訳すればよいかわからなかった。Googleはこれを「邪惡尼哥在誘惑你」と提案したので、私はそれを採用した）\n解釈 # 以上のTerry Davisによる意味不明な発言について、こういう意味だと考える人もいる：あなたのコードは複雑すぎて、もともとの目的を達成できなくなっていないか、未来の人が読んでも理解できないのではないか。\n（注意：この記事のタイトルはやや誇張して改変している。この言葉はTerry Davisの直接の意味ではない）\n私たちはプログラムを書くとき、物事を複雑化しないよう注意すべきであり、使うなら最も単純な解決策を使うべきだ。\n動画の中で、Terry Davisが解いている問題はHolyCのループである。 彼の目標は、一つのforループの中でswitch文を使って数字を印字することだ。ただし特殊な要求が一つある：数字3から6の区間の前後に括弧[と]を付ける必要がある。\n期待される出力結果は、このようなものになるはずだ：\n0 1 2 [ 3 4 5 6 ] 7 8 9 彼がこの例を出したのは、動画中のコードでこのように書こうとしていたからだ：\nswitch [i] { case 0: ... break; case 1: ... break; case 2: ... break; start: // ラベル \u0026#39;[\u0026#39;; // 彼は case 3 に入る前に左括弧を出力したい case 3: ... break; case 4: ... break; case 5: ... break; case 6: ... break; end: // ラベル \u0026#39;]\u0026#39;; // 彼は case 6 の終了後に右括弧を出力したい break; case 7: ... } 問題は、switchの底層動作メカニズムがC言語底層の分岐表（Jump Table）の動作問題に関わっていることだ。iが3に等しいとき、プログラムは直接case 3のメモリアドレスへジャンプする。これは、case 3の上に書かれたコードがスキップされることを意味する。CPUはそこを通過せず、直接case 3へ向かう。このcaseの間に挟まれたコードは、C言語のロジックではDead Codeと呼ばれる。非常に汚いgoto命令を使わないかぎり、そこへ行くことはできない。\n一般的に、数字3から6の区間の前後に括弧[と]を付ける機能を実現するなら、多くのプログラマーは大量のif (i==3) print(\u0026quot;[\u0026quot;)を書くか、ループを分割するだろう。しかしTerry Davisは、それがswitch文の対称性と簡潔性を破壊すると考えた。\nさらに彼が考えていたのは、システムのコンパイラをどのように実装すれば、この一見単純な論理問題を解決できるのかということだ。なぜコードが人間の直感で見る論理と、機械が実際に動作する結果は異なるのか？括弧を出力する順序の問題を解決するだけのために、コンパイラの底層を変更し、物事をより複雑にしなければならないのか。\nしたがって、動画中のこの長々としたあれこれは、実際にはプログラミング原則の問題を指している。\nTerry DavisはTempleOSを開発していたとき、ソフトウェアコードの簡潔さの重要性をずっと強調していた。未来の人が理解できるようにするためだ。彼にはもう一つ有名な言葉がある：\nAn idiot admires complexity, a genius admires simplicity.\n","date":"2026年2月4日","externalUrl":null,"permalink":"/ja-jp/posts/the-hardest-question-in-programming-by-terry-davis/","section":"Foss-Issues","summary":" Terry Davis - The Hardest Question In Programming\nこれはGoogleの面接で聞かれる問題だ。 あなたは答えなければならない。\n文字起こし翻訳 # あなたは答えなければならない：これは邪悪なニガーの誘惑なのか、それとも神の聖なる知恵なのか？\nこれが私の問題だ。ええと、私が言うのはここまでだ。残りはあなたが答えてくれ。\nGoogleが面接で問題を出すのは知っているだろう。そして私が仕事で遭遇した問題はこれだ：これは邪悪なニガーの誘惑なのか？\nこれは私たちのミッションステートメントにとって、あまりにも黒魔術すぎるのではないか？私たちがこのシステムを開発する使命は、現代版のCommodore 64になることだ。\nこれは黒魔術なのか？これは……これは……これは黒魔術だ。\n問題はこうだ：これは黒魔術なのか？これはプログラミングで遭遇しうる最も困難な問題だ。\nここで、これこそが最も難しい問題だ。これこそがプログラミングにおける最も難しい問題だ。\n未来十世紀の神殿にとって、これは黒魔術が多すぎるのではないか？\n（造語のniggerliciousとvoodooをどう翻訳すればよいかわからなかった。Googleはこれを「邪惡尼哥在誘惑你」と提案したので、私はそれを採用した）\n","title":"プログラミングで最も難しい問題は邪悪なニガーの誘惑に抵抗すること - Terry Davisが語るソフトウェア開発","type":"foss-issues"},{"content":"","date":"2026年2月4日","externalUrl":null,"permalink":"/ja-jp/tags/chromeos/","section":"Tags","summary":"","title":"ChromeOS","type":"tags"},{"content":"","date":"2026年2月4日","externalUrl":null,"permalink":"/ja-jp/tags/freedesktop-specifications/","section":"Tags","summary":"","title":"Freedesktop Specifications","type":"tags"},{"content":" 概念をすり替える論法への厳正な反駁：\nLinuxは使う人が少ないという問題を議論するとき、こう主張する人がいる：\n「Linuxは使う人が少ない？実はLinuxは多くの人が使っているんだよ、ただ君が知らないだけで、君のスマホやサーバーもLinuxの親戚なんだ云々かんぬん」 この話をした瞬間、話題が急に大層なものになったと気づかないだろうか？ああ、なるほど周囲のこんなに多くのデバイスがLinuxで、あなたも私も巨大なオープンソース世界の中で生きており、私たちは宇宙の一部なのだ\u0026hellip;\u0026hellip;違う！今私たちが話しているのは、パーソナルコンピューターのデスクトップシステムだ！\nこの論述には一つ問題がある。それは「概念のすり替え」だ。\nあなたは「Linux kernel」を直接使うわけではない。Linuxは一式のツールを包んでディストリビューションにして初めて使えるもので、通常これはGNU/Linuxと呼ばれる。さらに、Linuxと少しでも関係があるシステムならGNU/Linuxに数えられるわけではない。\n話者がコンピューターに言及するとき、一般人の認識では、それはデスクトップコンピューターを指し、WindowsとmacOSのパーソナルコンピューター市場を指す。そしてLinuxが指すのは当然、GNU/Linux Desktop志向のディストリビューション（Ubuntu、Fedora、openSUSE、Arch Linux、Gentoo）であり、通常GNUツールセットを含み、X.OrgまたはWaylandをグラフィカルインターフェースとして使い、XDG標準に従い、ユーザーの自由を尊重するものであって、Linux kernelを基にしたその他のシステムではない。\nAndroidは広義ではLinuxディストリビューションに数えられるが、Androidはコンピューターでは使えないことをあなたは明らかに知っている（少なくともAndroid 16以前はまだ十分に成熟していない）。そしてグラフィックプロトコルやシステムツールはLinuxデスクトップと大きく異なり、標準のCライブラリさえ互換性がない。ChromeOSも同じで、Linuxデスクトップディストリビューションとはあまり言えない。システム下層はほぼGNUツールセットではなく、上層のグラフィックプロトコルもWaylandを魔改造したものだからだ。\nその他のLinux機器については言うまでもない。あなたは「サーバー」を「パーソナルコンピューター」とは呼ばない。この種のコンピューターには画面すらない（大部分の場合）！\nゲーム機についてはどうか。Playstationは改造すればLinuxを走らせられるとしても、それをコンピューターと見なす人は少ない。一部のオープンソース携帯ゲーム機はLinuxディストリビューションを使っていると言えるが、パーソナルコンピューターではない。Steam Machineは？弾丸をあと数年飛ばしておこう。これは始まったばかりだ。私はそれが一種のパーソナルコンピューター代替品として台頭することを期待しているが、今はまだそうではない。\n以上の定義から言えば、GNU/Linuxデスクトップを使う人が少ないというのは正しく、しかも回避できない事実だ。StatCounterの統計によれば、GNU/Linuxデスクトップのシェアはおよそ4%に過ぎない。\nもしChromeOS、Android、SteamOSなどのシステムを無理やりLinuxに数えれば、比率はかなり高くなるかもしれない。しかしこれは超絶な概念のすり替えである。\n無理やり功績を自分の身にかき集めるな！恥知らず！\n上で述べたGNU/Linux Desktopディストリビューションの定義に従えば、さまざまなLinux kernelベースのシステムの中で、SteamOSだけが一般的なGNU/Linux Desktopディストリビューションの構造（immutableなArch Linux）に最も近く、一般パーソナルコンピューター市場で成功を収められるものだと私は思う。ただしその発展は始まったばかりで、ハードウェアも多くない。Googleが教育市場へ大量にダンピングしているChromebookを販売台数で超えられるかどうかは、まだ時間をかけて観察する必要がある。\nLinux kernelがグローバルなプロジェクトであり、オープンソースコミュニティと密接不可分な関係を持ち、少しでもLinuxを使っているシステムもコミュニティから称賛を得る価値があるのは確かだ。しかし私たちは、表現するときに境界線を混同することを許してはならない。\nたとえば、macOSとLinuxがどちらもUnixの影響を受けているとしても、私たちはそれらが80年代のあの超すごいUnixそのものだとは言わない。macOSは今では逆にユーザーの自由を制限している。Think different?はThink same!に変わってしまった。\nGNU/Linuxの優位性は体量だけで決まるものではない。次にGNU/Linuxの優位性を強調したいときは、もうこの概念のすり替えを使わないでほしい。Linuxは各分野で万能に見え、電力を駆動し宇宙へ行くこともできる。しかし一般ユーザーにとって、彼らはただ一言あなたに尋ねるだけだ：で、Wordのレポートはどう打てばいいの？彼らはユーザーを束縛から解放するLibreOfficeのことさえ、使いにくいと文句を言うのだ！\n","date":"2026年2月4日","externalUrl":null,"permalink":"/ja-jp/posts/linux-desktop-market-share-is-not-high-enough/","section":"Foss-Issues","summary":" 概念をすり替える論法への厳正な反駁：\nLinuxは使う人が少ないという問題を議論するとき、こう主張する人がいる：\n「Linuxは使う人が少ない？実はLinuxは多くの人が使っているんだよ、ただ君が知らないだけで、君のスマホやサーバーもLinuxの親戚なんだ云々かんぬん」 この話をした瞬間、話題が急に大層なものになったと気づかないだろうか？ああ、なるほど周囲のこんなに多くのデバイスがLinuxで、あなたも私も巨大なオープンソース世界の中で生きており、私たちは宇宙の一部なのだ……違う！今私たちが話しているのは、パーソナルコンピューターのデスクトップシステムだ！\nこの論述には一つ問題がある。それは「概念のすり替え」だ。\nあなたは「Linux kernel」を直接使うわけではない。Linuxは一式のツールを包んでディストリビューションにして初めて使えるもので、通常これはGNU/Linuxと呼ばれる。さらに、Linuxと少しでも関係があるシステムならGNU/Linuxに数えられるわけではない。\n話者がコンピューターに言及するとき、一般人の認識では、それはデスクトップコンピューターを指し、WindowsとmacOSのパーソナルコンピューター市場を指す。そしてLinuxが指すのは当然、GNU/Linux Desktop志向のディストリビューション（Ubuntu、Fedora、openSUSE、Arch Linux、Gentoo）であり、通常GNUツールセットを含み、X.OrgまたはWaylandをグラフィカルインターフェースとして使い、XDG標準に従い、ユーザーの自由を尊重するものであって、Linux kernelを基にしたその他のシステムではない。\n","title":"Linuxは使う人が少ない？実はLinuxは多くの人が使っている？もう概念のすり替えはやめろ","type":"foss-issues"},{"content":"","date":"2026年2月4日","externalUrl":null,"permalink":"/ja-jp/tags/windows/","section":"Tags","summary":"","title":"Windows","type":"tags"},{"content":"這是2ch上一系列少佐征服各大OS娘的二創梗圖，精準表現了各大系統的「弱點」。\n草薙素子少佐為動畫《攻殼機動隊》主角，駭客能力高超。「OS娘」是作業系統擬人化後的萌萌角色。\n此系列圖片約2004年左右於日本雙葉貼圖討論板出現（以前叫2ch，現在為5ch），圖片中提到的作業系統都有點年代了，Linux發行版更是只有出現一次。\n本文使用的圖片來源：少佐 vs OSたん\u0026rsquo;s 保管庫 - 隠れ里の村役場\n翻譯：Ivon Huang\n少佐 vs OSたん\u0026rsquo;s / The Major vs The OS-tans # 「\u0026hellip;OS娘？」\n「是的，最近有名為OS娘的神秘組織，發跡自雙葉頻道，還不知道確切細節。妳必須馬上滲透進去，取得所有情報。這裡是目標清單。」\n「Me, XP, 2000, OSX, 95\u0026hellip;哇，這些系統真棒啊！作業系統的世界真寬廣。」 第一話 大戰Windows Me娘 # 界面連接成功，關掉防火牆！\n開始駭入目標。\n嘿嘿這個系統可真不安全。\n我會給妳注入滿滿的病毒。 第二話 大戰Windows XP娘 # 找到安全漏洞了，開始突破。\n開始駭入目標。\n這是妳不更新Windows的獎勵。如何？安全性漏洞被突破的感覺怎樣？\n我要給妳用力的注入病毒。 第三話 Windows 98和Windows 98SE娘 # 妳知道嗎？比爾蓋茲跟我們說：\n「妳們太老，已中止支援，再見！」\n大概沒人要我們了。\n\u0026hellip;沒事的。\n也許某個地方，總有人會需要妳們的。\n我放妳們走吧，所以，打起精神來。 第四話 大戰Windows 2000娘 # 連上纜線。成功登入系統。\n開始向系統注入病毒。\n嘿嘿嘿，今天我有點不爽。\n所以要給妳三人份的病毒。 第五話 大戰Windows LongHorn娘 # 緊急聯絡，已發現微軟公司祕密開發的的新OS娘LongHorn。\n從她身上採集樣本。\n強制從下腹部的插頭進行採集。\n嘿嘿，我知道妳很敏感。\n只是撫摸妳的角，\n就變得這麼硬了啊。\n快點，全部弄出來\u0026hellip; 第六話 大戰Apple OS X娘 # 不好，無法突破防火牆。\nBlaster和MyDoom病毒皆無效。\n駭入失敗。暫時撤退。\n可惡，我太小看她了。\n看她那標緻時髦的身材，\n簡單易用的界面。\n作為第一個擁有GUI的OS，她的潛力跟外人說的完全不同。\nMacOS，妳真的很強！ 第七話 大戰Windows NT娘 # 不好，目標防火牆實在太緊實了。\n但代表她還沒被駭過。\n沒辦法，只好拷問她說出密碼了。\n女孩，我告訴你一點好康的。\n把手指放在這裡，然後四處移動。\n沒錯，妳開始有奇怪的感覺了。\n如何，想要我繼續嗎？\n\u0026hellip;很好，嘿嘿，誠實的好孩子。\n在那之前，能告訴我密碼嗎？ 第八話 大戰 鯖娘 # 「發現目標！是伺服器類型！這應該很容易，現在開始駭入\u0026hellip;」\n「媽媽，我餓了，餵我喝奶。嗯，吸，吸。」\n「等等！妳在吸什麼！我不是妳媽啊！\u0026hellip;喔！」 第九話 大戰 Windows CE娘 # 不好，無法登入目標系統。\n跟Win95和Win2000的架構都不一樣。\n沒辦法，只好拷問她說出密碼了。\n\u0026hellip;嘿，妳能告訴我密碼嗎？\n哼，好。我就搖晃這跟棒子囉。\n嗯，那裡越來越緊了呢。\n嘿嘿，呼吸越來越急促了呢。 第十話 大戰 Windows 3.1娘 # 我放心了\u0026hellip;妳總算恢復意識了。\n妳剛剛因為畫面凍結崩潰了。\n多可悲，這麼小的記憶體還想跑Windows。\n對妳來說負擔太大了。\n\u0026hellip;下次我會再回來找妳的。\n到時我就會把妳駭了，做好準備吧。\n在那之前，試著變強吧。 第十一話 巴斯特與諾頓博士 # 「諾頓博士！目標開始換衣服了！」\n「哇♪ 真大呀巴斯特！我們的任務就是觀察駭客！所以今天我們要好好的盯著她！」 中場休息 # 這裡是管理員。\n昨晚伺服器下線後，〈第十一話 巴斯特與諾頓博士〉的資料就消失了。\n作為備份，公告貼出前圖片已經退還給上傳者。\n如果要恢復資料，請點擊電郵按鈕。\n訊息到此結束\u0026hellip;什麼！少\u0026hellip;少佐！\n這裡不適合！有人來會發現的\u0026hellip;喔！ 第十二話 大戰Linux娘 \u0026amp; Lindows娘 # 「歡迎，抱歉久等了。我們是開源的OS娘。」\n「其他OS娘都太容易害羞了。我們是不會隱藏自己的內心的。」\n「駭客的玩意已經厭倦了，現在讓我們來進行更開放的接觸吧\u0026hellip;」 第十三話 大戰Windows 95娘 # 「最後一個Windows娘是最簡單的，甜點要留到最後再吃。」\n「用USB孔就可以將病毒傳播到大腦。」\n「什麼？沒有USB孔？」\n「沒差，後面的序列埠也能用！」\n「一連上之後，她喘息一聲就關機了。」\n「嗯\u0026hellip;啊\u0026hellip;哈哈，序列埠果然如我所料，非常的緊。」 第十四話 大戰Apple OS 9娘 # 嗯，是客人嗎？ 歡迎光臨！\n人像畫一幅￥300。\n好，請坐在椅子上。\n10分鐘內就畫好了。\n我從小時候喜歡畫畫了。\n這就是為什麼藝術家和插畫家，\n能把我使用的那麼好。\n喔，但是之前拜訪Windows XP娘的家的時候，\n看到能裝那麼多商業軟體和遊戲，\n就讓我感到好忌妒呢\u0026hellip;\n\u0026hellip;好，完成了！怎麼樣？\n嘿嘿，妳真漂亮，畫妳真好玩。\n妳喜歡的話，改天再找我當模特兒吧。 第十五話 大戰MS-DOS娘 # 喂，是McAfee嗎？\n是我，MS-Dos，請求緊急支援！\n她來了！把我的姊妹們駭掉的母猩猩來了！\n請快點，她就在我身邊\u0026hellip;\n(按下) (嗶――嗶――嗶――)\n第十六話 大戰McAfee娘 # 看來我趕上了。\nMS-DOS現在已經安全了。\n被攻擊型防火牆反擊的感覺如何。\n妳的身體會癱瘓，怎樣都動不了。\n我會復原其他OS娘。\n她們一個接一個被妳深層駭入。\n要清除病毒可真是累人。\n不過沒關係。作為懲罰，現在我要駭回去。\n嘿嘿，就跟妳一樣，我也不喜歡病毒。\n妳應該感謝我向妳展示了真正的駭客技術。\n我要花一點時間讓你的身體好好體會！\n終章 # 2000娘：「母猩猩，竟敢駭我們！3.1娘說她原諒妳了，這次就放過妳。」\nXP娘：「但我覺得很舒服\u0026hellip;」\n95娘：「我的身體自那之後就怪怪的\u0026hellip;」\n鯖娘：「奶很好喝！」\n諾頓：「看到了養眼的畫面\u0026hellip;」\n2000娘：「你們都給我閉嘴！」\n後記 # 「沒事吧？是發生了什麼？」\n「不行――呼呼呼――你看――吵死了――OS――那個――好大――」 ","date":"2026年2月3日","externalUrl":null,"permalink":"/posts/major-vs-ostan-zhtw/","section":"所有文章","summary":"這是2ch上一系列少佐征服各大OS娘的二創梗圖，精準表現了各大系統的「弱點」。\n草薙素子少佐為動畫《攻殼機動隊》主角，駭客能力高超。「OS娘」是作業系統擬人化後的萌萌角色。\n此系列圖片約2004年左右於日本雙葉貼圖討論板出現（以前叫2ch，現在為5ch），圖片中提到的作業系統都有點年代了，Linux發行版更是只有出現一次。\n本文使用的圖片來源：少佐 vs OSたん’s 保管庫 - 隠れ里の村役場\n翻譯：Ivon Huang\n少佐 vs OSたん’s / The Major vs The OS-tans # 「…OS娘？」\n「是的，最近有名為OS娘的神秘組織，發跡自雙葉頻道，還不知道確切細節。妳必須馬上滲透進去，取得所有情報。這裡是目標清單。」\n「Me, XP, 2000, OSX, 95…哇，這些系統真棒啊！作業系統的世界真寬廣。」 第一話 大戰Windows Me娘 # 界面連接成功，關掉防火牆！\n開始駭入目標。\n嘿嘿這個系統可真不安全。\n我會給妳注入滿滿的病毒。 第二話 大戰Windows XP娘 # 找到安全漏洞了，開始突破。\n開始駭入目標。\n這是妳不更新Windows的獎勵。如何？安全性漏洞被突破的感覺怎樣？\n我要給妳用力的注入病毒。 ","title":"草薙素子少佐 大戰 作業系統OS娘（少佐 vs OSたん）","type":"posts"},{"content":"在下載檔案的時候，有時候開發者會建議使用者要檢查檔案完整性。這可以確保使用者下載的檔案是完整無毀損的。也可以杜絕載到病毒的可能性。\n通常，檔案提供者會提供一個校驗碼（checksum，又稱雜湊值、哈希值）讓使用者比對，只要你計算出來的結果跟它正確，則能夠確保檔案是完整的。\n校驗碼通常是透過各種加密演算法生成的，例如MD5、SHA-1、SHA-256、SHA-512等等。\n舉例來說，如果你到Ubuntu官網下載安裝作業系統的.iso檔案，旁邊就有一個SHA256SUMS檔案 內含SHA-256的數值，標示每個.iso檔案的校驗碼為何 以上僅是舉例，校驗碼沒有限定只有.iso檔案能用，其他格式的檔案也是可以用校驗碼驗證檔案完整性的！\n那麼我們要如何計算下載後檔案的效驗碼呢？\n圖形界面 # 在Windows系統，我們可以借助開源解壓縮軟體「7-Zip」的附屬功能，計算檔案校驗碼。免打指令。\n安裝7-Zip主程式\n對下載後的檔案點選右鍵 → 更多選項 → 7-Zip → CRC-SHA，選取對應的加密演算法，計算校驗碼。我這裡的例子是使用SHA-256。 等待幾秒鐘後便會印出結果。把這個數值跟下載網站上的SHA-256數值比較，看是否一致，則可以確認檔案是完整的了。 指令 # 如果你要用PowerShell指令檢查校驗碼的話，使用certutil工具\n例如：\ncertutil -hashfile \u0026#34;檔案路徑\u0026#34; \u0026#34;加密演算法\u0026#34; certutil -hashfile ubuntu-26.04-desktop-amd64.iso SHA256 ","date":"2026年2月3日","externalUrl":null,"permalink":"/posts/windows-verify-file-checksum/","section":"所有文章","summary":"在下載檔案的時候，有時候開發者會建議使用者要檢查檔案完整性。這可以確保使用者下載的檔案是完整無毀損的。也可以杜絕載到病毒的可能性。\n通常，檔案提供者會提供一個校驗碼（checksum，又稱雜湊值、哈希值）讓使用者比對，只要你計算出來的結果跟它正確，則能夠確保檔案是完整的。\n校驗碼通常是透過各種加密演算法生成的，例如MD5、SHA-1、SHA-256、SHA-512等等。\n舉例來說，如果你到Ubuntu官網下載安裝作業系統的.iso檔案，旁邊就有一個SHA256SUMS檔案 內含SHA-256的數值，標示每個.iso檔案的校驗碼為何 以上僅是舉例，校驗碼沒有限定只有.iso檔案能用，其他格式的檔案也是可以用校驗碼驗證檔案完整性的！\n那麼我們要如何計算下載後檔案的效驗碼呢？\n圖形界面 # 在Windows系統，我們可以借助開源解壓縮軟體「7-Zip」的附屬功能，計算檔案校驗碼。免打指令。\n安裝7-Zip主程式\n對下載後的檔案點選右鍵 → 更多選項 → 7-Zip → CRC-SHA，選取對應的加密演算法，計算校驗碼。我這裡的例子是使用SHA-256。 等待幾秒鐘後便會印出結果。把這個數值跟下載網站上的SHA-256數值比較，看是否一致，則可以確認檔案是完整的了。 ","title":"Windows如何用7-Zip校驗ISO檔案完整性，免打指令","type":"posts"},{"content":"將灌系統用的隨身碟重新格式化回資料碟很麻煩，不如直接買一個新的吧。根據不完全統計，每製作一個系統開機碟，就要犧牲掉一個USB隨身碟。如果要同時準備Linux和Windows的開機碟，就需要二個隨身碟。若還保有用隨身碟臨時帶資料的習慣，可能又得消耗掉第三個隨身碟。請善待隨身碟，防止他們從地表上滅絕！\n現在有了Ventoy這款開源軟體，以上問題迎刃而解。只要準備一個大容量的隨身碟安裝Ventoy，該隨身碟就能變成多重開機碟，可同時放入多個ISO，支援啟動Linux、Windows PE/XP/Vista/7/10/11、macOS等系統。 Ventoy功能類似Balena Etcher和Rufus這類軟體，又比他們更強。最大的優點是：裝有Ventoy的隨身碟不只能當USB開機碟用，也能用來放資料！\nVentoy對Linux做主力系統的用戶也有好處，過去要使用WoeUSB才能在Linux製作Windows開機碟，現在用Ventoy就夠了。\n1. 將Ventoy安裝至隨身碟 # 準備一個至少8GB的隨身碟。將隨身碟插入電腦。之後會格式化這個隨身碟並清空資料，請做好備份。你只要將隨身碟格式化一次，安裝Ventoy引導程式之後，日後要新增ISO就不需要再跑一次Ventoy安裝程式，就能直接放系統ISO進去。\n至Ventoy的Github，視作業系統下載。例如Linux的要下載linux字樣的壓縮檔，Windows就下載windows的。 將壓縮檔解壓縮。\n啟動Ventoy主程式。\nLinux電腦，在Ventoy的目錄對VentoyGUI.x86_64點兩下，開啟圖形界面。 Windows電腦，點選Ventoy2Disk.exe啟動程式。 點選Languages切換成正體中文。 中間的「裝置」選取隨身碟，它應該會自動優先選取USB裝置(不確定的話，用容量判斷)\n（選擇性步驟）點選左上角「選項」→ 分割表格式，選取建立較為現代的GPT硬碟分割表。否則它預設會用MBR，相容性較強。 （選擇性步驟）有時候你可能會想把LiveUSB的檔案儲存到隨身碟，但如果用Ventoy跑LiveUSB進入系統，會發現無法掛載Ventoy的分區，像Linux會出現Unable to access Ventoy... /dev/sdx is already mounted or mount point busy.的錯誤。這時只要點選選項 → 設定分割磁區，在磁碟後端預留空間即可。這樣Ventoy除了放ISO的分區外，還會多出一塊分區能夠儲存資料，並且該分區能在LiveUSB存取。 點選「安裝」，清空資料，將Ventoy安裝至隨身碟。\n退出隨身碟。\n2. Ventoy隨身碟的使用方式 # Ventoy隨身碟安裝完成後，重新插入電腦，應會看到二個分區： 32MB的VTOYEFI分區是Ventoy的開機引導，這部份不要動。可自由使用的是另一塊較大的空間Ventoy，這裡就是能自由儲存資料的分區。系統ISO直接放這裡就行了，例如我放了Windows和Linux的ISO，Ventoy開機會自動偵測。即使放在資料夾裡面也讀得到。 （選擇性）有的隨身碟用久了檔案可能會自己毀損。如果你想確認ISO檔案有無毀損，可以在.iso檔的同一個資料夾下，放置含有雜湊值的同名檔案，如.md5或.sha256或.sha512結尾的。這樣Ventoy開機啟動的時候就會自動依照內容，校驗ISO完整性。 電腦重開機，按Delete進入UEFI，將開機順序設為USB優先。接著開機就會看到Ventoy的畫面。列表上顯示的是隨身碟裡有的ISO，用鍵盤選擇開機。 用Normal或GRUB模式開機後就能安裝系統了。 ","date":"2026年2月3日","externalUrl":null,"permalink":"/posts/ventoy-installation/","section":"所有文章","summary":"將灌系統用的隨身碟重新格式化回資料碟很麻煩，不如直接買一個新的吧。根據不完全統計，每製作一個系統開機碟，就要犧牲掉一個USB隨身碟。如果要同時準備Linux和Windows的開機碟，就需要二個隨身碟。若還保有用隨身碟臨時帶資料的習慣，可能又得消耗掉第三個隨身碟。請善待隨身碟，防止他們從地表上滅絕！\n現在有了Ventoy這款開源軟體，以上問題迎刃而解。只要準備一個大容量的隨身碟安裝Ventoy，該隨身碟就能變成多重開機碟，可同時放入多個ISO，支援啟動Linux、Windows PE/XP/Vista/7/10/11、macOS等系統。 Ventoy功能類似Balena Etcher和Rufus這類軟體，又比他們更強。最大的優點是：裝有Ventoy的隨身碟不只能當USB開機碟用，也能用來放資料！\nVentoy對Linux做主力系統的用戶也有好處，過去要使用WoeUSB才能在Linux製作Windows開機碟，現在用Ventoy就夠了。\n1. 將Ventoy安裝至隨身碟 # 準備一個至少8GB的隨身碟。將隨身碟插入電腦。之後會格式化這個隨身碟並清空資料，請做好備份。你只要將隨身碟格式化一次，安裝Ventoy引導程式之後，日後要新增ISO就不需要再跑一次Ventoy安裝程式，就能直接放系統ISO進去。\n","title":"Ventoy教學：製作能當Linux \u0026 Windows開機碟又當資料碟的USB隨身碟","type":"posts"},{"content":"來安裝Debian吧！ 我將會討論如何安裝桌面環境為KDE，語言為正體中文的Debian。後面附上注音輸入法、Wifi驅動、Nvidia驅動的安裝方法。\n1. Debian簡介 # Debian是全由自由軟體組成的作業系統，從1993年開發至今，屬於骨灰級的Linux發行版之一。 Debian是眾多Linux發行版的源頭，著名的Ubuntu、Deepin、Zorin OS、Linux Mint，便是直接或間接，基於Debian開發而來。其他Linux發行版所開發的項目，最終都有可能會回哺到Debian上游，讓所有用戶共同受益呢！經過幾十年開發，現在Debian套件庫包羅萬象，幾乎什麼軟體都有。\n官方Debian專案支援的電腦架構甚多，除了一般常見的x86與ARM外，還支援RISC-V、PPC64、S390、MIPS、SPARC等等架構。因此可以被稱作「universal operating system」。\n跟Ubuntu一樣，Debian適合在個人電腦與伺服器使用。但是，Debian更加強調自由軟體的理念。Debian背後沒有任何大公司主導，系統未來的開發方向由開源社區投票決定，遵照自己的一套哲學理念進行開發，而非迎合商業公司利益。\nDebian並不主打「開箱即用」。例如Debian預設只提供自由開源的軟體，某些硬體可能會碰到問題，需要自行裝驅動。\n老實說，Debian安裝並沒有Ubuntu那麼容易呢，尤其以個人電腦來說，比伺服器多了桌面環境和硬體設備，因此需要額外調整的東西很多。所幸Debian官網有詳盡的Debian Wiki和Debian Manuals，讓使用者遇到問題時能參閱。\n在自行設定的過程也能讓你更了解Linux系統，並體認到Debian「尊重使用者自由」的理念。\nDebian分為三種開發分支：Unstable、Testing、Stable。，版本代號使用《玩具總動員》的角色命名。\n本文Ivon使用的是兩年才會進行一次大版本更新的「Debian Stable」分支，套件經過充分測試，使用上相對穩定。雖然Debian Stable為了追求穩定導致套件版本偏舊，現在有Flatpak和Docker技術方便取得新版本軟體，可以一定程度緩解這個問題。\n撰文當下使用的版本是 Debian 13 Trixie\n2. 硬體資訊 # 電腦型號：MSI Modern 15 A10 CPU：Intel i5-10210U GPU: Intel UHD 620 (內顯) GPU: Nvidia MX350 (獨顯) RAM: 16GB 磁碟：NVME 500GB 系統版本：Debian 13 Linux核心版本：6.12 桌面版本：KDE Plasma 6.3 3. 製作Debian安裝隨身碟 # Debian每個版本發表之後都會一併發表官方安裝手冊，裡面有詳細的說明。這篇文章Ivon僅挑出其中針對桌面系統的重點解說。\n推薦下載「Netinstall ISO」，也就是網路開機，檔案不到500MB，開機後透過網路下載套件安裝系統。Debian預設桌面是GNOME，但是在安裝階段可以自行挑選。另外Debian官網有提供其他ISO，像如果你有用過Ubuntu，你應該會想安裝前試用系統，那麼下載有預裝桌面環境的「Live DVD」版本會更好，只不過檔案就會變成好幾GB了。\n至Debian官網下載Debian 13的Netinstall ISO。 建議檢查ISO檔案完整性，防止無法開機。\n安裝Ventoy，製作開機隨身碟。\n將電腦關機，重開機進入BIOS。建議關閉Secure Boot。然後設定以UEFI模式開機，再設定以USB優先開機。\n開機選取第一個選項Graphical Install進入Debian安裝界面 4. 開始安裝Debian # Debian的安裝界面是用GTK寫的，還算直覺，不過它可能不包含全部驅動，一些無線網路卡可能會無法啟動。在此建議先使用有線光纖網路安裝系統，Debian開機後會自動用DHCP連上網。\n安裝過程每十分鐘要動一下滑鼠不然螢幕會熄滅。\n安裝語言選中文，地區選台灣，鍵盤選中文 Debian會嘗試自動連上網路。設定主機名稱。網域名稱可留空。 設定Root帳號的密碼 (注意：Root密碼建議先留空。因為如果你設定了Root帳號的密碼，後面要手動將一般使用者帳號加入sudoers) 建立一般使用者帳號，並設定一般使用者的帳號密碼。 分割硬碟的階段，選取使用整個磁碟，刪除所有硬碟上的資料並安裝Debian，之後一直下一步。 Debian預設會建立EFI分區、EXT4的root分區、SWAP分區。點選「是」寫入硬碟。 點選否，跳過放入額外光碟 使用離你最近的鏡像站，加快套件下載速度。套件管理員(APT)的區域選台灣，伺服器Ivon個人是比較愛用國網中心(NCHC)的鏡像站。下一步的Proxy留空。 可選擇要不要加入的Debian的套件安裝統計，協助其他人了解哪些軟體較受歡迎 最後一個步驟，安裝桌面環境。這裡我改為勾選KDE Plasma，內含常用文書軟體和工具程式。再勾選安裝SSH服務。 等待進度條下載安裝完成。\n看到安裝完成的畫面就可以直接拔掉隨身碟了，接著按下是，電腦會重新開機，進入新安裝的Debian系統。\n5. 將一般使用者加入sudo # 如果在安裝過程設定了Root的密碼，登入後就要手動把一般使用者加到sudoers，否則會出現user is not in the sudoers file的禁止訊息。\n這個設計從10年前就有了，不知道為什麼Debian開發者都不改掉。\n按桌面左下角，在應用程式列表找到終端機，例如KDE是「Konsole」\n輸入su，輸入Root密碼，切換成Root\nsu 編輯/etc/sudoers: nano /etc/sudoers 在root ALL=(ALL:ALL) ALL下面加入你的帳號與權限設定，如下所示： root ALL=(ALL:ALL) ALL user ALL=(ALL:AAL) ALL 退出Root exit 測試能否使用sudo執行APT指令。 sudo apt update 另外根據Debian Wiki，Debian安裝程式安裝的KDE桌面僅是task-kde-desktop套件，少了一些元件，建議將剩下的補齊： sudo apt install kde-full 6. APT套件管理員用法 # Debian的套件管理員為APT，一般使用者執行需要加sudo。建議盡量使用APT安裝軟體，非必要別用make install編譯。\n如果覺得軟體套件版本太舊，你可以：\n從backports安裝\n加第三方套件庫或找.deb檔手動安裝軟體\n使用Flatpak或Snap技術安裝新版軟體。\nDebian Wiki告誡使用者：永遠不要將testing和unstable分支的套件混入stable的Debian系統，也不要將Ubuntu的PPA與Debian混合使用，避免製造出科學怪人(縫合怪)的系統。\n更新套件庫：\nsudo apt update 升級所有套件：\nsudo apt upgrade 搜尋套件：\nsudo apt search \u0026lt;套件名稱\u0026gt; 安裝套件：\nsudo apt install \u0026lt;套件名稱\u0026gt; 安裝deb檔：\nsudo apt install ./\u0026lt;deb檔名\u0026gt;.deb 7. 中文化和輸入法 # 在跑Debian安裝程式的時候，應該就已經將系統設定為正體中文。\nDebian 13預設安裝的是Fcitx5＋新酷音輸入法。KDE可在系統右下角找到輸入法設定。按CTRL+空白鍵切換新酷音輸入法。\n如果需要其他輸入法，就把Fcitx5相關套件全部裝完。\n在KDE Plasma 6.0 Wayland，可能需要在系統設定 → 虛擬鍵盤設定為Fcitx5才能打字。\n8. 啟用含有閉源軟體的套件庫 # 每台電腦多少有需要非自由(閉源)的韌體(firmware)才能驅動的硬體，例如無線網路卡和Nvidia顯示卡。\nDebian因為是強調自由軟體的發行版，預設【不啟用】非自由的軟體套件庫，僅有針對硬體驅動的non-free-firmware。於是很多專有軟體，例如Steam，就會無法下載，你需要自行啟用。參考SourceList - Debian Wiki。\n使用文字編輯器編輯apt的sources.list sudo vim /etc/apt/sources.list 改為以下內容，在trixie代碼的後面添加項目，啟用contrib和non-free的套件庫： deb http://opensource.nchc.org.tw/debian/ trixie main non-free-firmware non-free contrib deb-src http://opensource.nchc.org.tw/debian/ trixie main non-free-firmware non-free contrib deb http://security.debian.org/debian-security trixie-security main non-free-firmware non-free contrib deb-src http://security.debian.org/debian-security trixie-security main non-free-firmware non-free contrib # trixie-updates, to get updates before a point release is made; # see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports deb http://opensource.nchc.org.tw/debian/ trixie-updates main non-free-firmware non-free contrib deb-src http://opensource.nchc.org.tw/debian/ trixie-updates main non-free-firmware non-free contrib 嘗試更新軟體套件庫 sudo apt update 9. 安裝Wifi和藍芽的驅動程式 # 這台筆電的無線網路卡包含Wifi和藍芽，需要非自由的韌體才能運作。\n用指令lspci查看PCI裝置，Network controller就是無線網路卡： 00:14.3 Network controller: Intel Corporation Comet Lake PCH-LP CNVi WiFi 記下網路卡的ID，用指令lspci -vv -s 00:14.3查看詳情，可得知型號為Intel Corporation Wireless-AC 9560 00:14.3 Network controller: Intel Corporation Comet Lake PCH-LP CNVi WiFi DeviceName: Onboard - Ethernet Subsystem: Intel Corporation Wireless-AC 9560 160MHz 到Debian Wiki找該無線網路卡的驅動安裝方法。像我的是Intel的iwlwifi，因此只需安裝對應的套件並載入核心模組即可： sudo apt install firmware-iwlwifi sudo modprobe -r iwlwifi sudo modprobe iwlwifi 安裝完後重開機，KDE應該就能用系統右下角的圖形界面控制Wifi和藍芽連線了。 10. 安裝Nvidia專有驅動程式 # 參見Debian如何安裝Nvidia官方所提供的驅動。\n安裝後重開機，執行nvidia-smi指令查看驅動是否正確安裝。\n11. 設定防火牆 # Debian預設只有iptables當防火牆。這裡選用常見的UFW當防火牆前端。另外Debian的安全模組預設是啟用AppArmor而非SELinux。\n安裝UFW sudo apt install ufw sudo ufw enable 設定預設規則，允許所有連外，封鎖所有連入，只允許SSH sudo ufw default allow outgoing sudo ufw default deny incoming sudo ufw allow ssh sudo ufw reload ","date":"2026年2月3日","externalUrl":null,"permalink":"/posts/install-debian-stable/","section":"所有文章","summary":"來安裝Debian吧！ 我將會討論如何安裝桌面環境為KDE，語言為正體中文的Debian。後面附上注音輸入法、Wifi驅動、Nvidia驅動的安裝方法。\n1. Debian簡介 # Debian是全由自由軟體組成的作業系統，從1993年開發至今，屬於骨灰級的Linux發行版之一。 Debian是眾多Linux發行版的源頭，著名的Ubuntu、Deepin、Zorin OS、Linux Mint，便是直接或間接，基於Debian開發而來。其他Linux發行版所開發的項目，最終都有可能會回哺到Debian上游，讓所有用戶共同受益呢！經過幾十年開發，現在Debian套件庫包羅萬象，幾乎什麼軟體都有。\n官方Debian專案支援的電腦架構甚多，除了一般常見的x86與ARM外，還支援RISC-V、PPC64、S390、MIPS、SPARC等等架構。因此可以被稱作「universal operating system」。\n跟Ubuntu一樣，Debian適合在個人電腦與伺服器使用。但是，Debian更加強調自由軟體的理念。Debian背後沒有任何大公司主導，系統未來的開發方向由開源社區投票決定，遵照自己的一套哲學理念進行開發，而非迎合商業公司利益。\n","title":"Debian 13 Trixie安裝教學，KDE桌面環境＋中文輸入法＋Nvidia專有驅動","type":"posts"},{"content":"既然Debian Stable都有人當桌面系統了，我就想試試看能不能把Rocky Linux當作daily driver。試試在Rocky Linux安裝圖形桌面環境並當作日常使用的電腦。 1. Rocky Linux簡介 # Rocky Linux是根據RedHat公司所釋出的RHEL原始碼所編譯而成的Linux發行版。供個人及企業免費使用，不用付訂閱授權費用。\nRocky Linux為一款面向企業的Linux發行版，背後是由CentOS的開發者Gregory Kurtzer發起的專案。Rocky這個名字是為了紀念以前CentOS專案的共同創辦人Rocky McGaugh。\nRocky Linux的誕生背景跟RetHat的作為有關。2020年，RedHat宣佈停止維護CentOS 8，並將固定發表大版本更新的CentOS，改成滾動發行模式的CentOS Stream，破壞了長久以來保證的穩定性，讓全球的免費仔崩潰。很多人為繼續使用免費穩定的伺服器系統，便轉向Rocky Linux。 2021年，Rocky Linux正式發布，延續早期CentOS的模式，基於RedHat Enterprise Linux(RHEL)原始碼建立系統。開發組宣稱Rocky Linux跟RHEL二進位相容(binary compatible)，也就是能在RHEL執行的程式，在Rocky Linux也一定能執行。\n為了支援Rocky Linux開發，該專案由Rocky Enterprise Software Foundation (RESF) 這間在美國註冊的非營利公司負責維護。該公司擁有Rocky Linux的商標所有權。\n為求穩定，Rocky Linux採取固定發表版本的模式，大約每3年推出一個大版本更新，每個版本提供10年支援。儘量貼近上游RHEL的原始碼。參照Release Cycle說明，每個大版本都會提供10年的支援。\nRocky Linux主要靠RESF和網路社群維護，一些公司有針對Rocky Linux提供商業支援。\n雖然Rocky Linux不是RedHat的產品，但是與其關係十分密切。就開發關係上應該是這樣：Fedora → CentOS Stream → RHEL → Rocky Linux。所以Rocky Linux相較於Fedora應該爆幹穩定的，但是收錄的軟體套件也相對老舊許多。\nRocky Linux曾在2023年遇到危機。RedHat當時使出了迷惑的操作：付錢才能取得RHEL原始碼，技術性繞過GPL，震動Linux世界。不過Rocky Linux聲明說他們會繼續開發，再加上OpenELA聯盟（SUSE ＋ Oracle ＋ CIQ）的協助，所以專案到現在還可以維持下去。\n雖說Rocky Linux是針對伺服器開發的，但沒有人說你不可以把它當成桌面系統使用呀！\n全球Rocky Linux社群正在成長中，Rocky Linux使用上並不算孤立無援，他們有活躍的使用者論壇，官網有豐富的中文參考文件，甚至還有CentOS無縫遷移教學。\n如果想透過Rocky Linux學Linux伺服器管理，可以參閱鳥哥的Linux私房菜網站的文章。他已經從CentOS切換到了Rocky Linux。\n2. 測試環境 # 電腦：MSI Modern 15 A10RBS CPU：Intel i5-10210u GPU：Intel UHD 620 GPU：Nvidia MX350 系統版本：Rocky Linux 10 Linux核心版本：6.12.0 桌面版本：KDE Plasma 6.4.5 3. 安裝Rocky Linux # Rocky Linux預設的桌面環境為業界常用的GNOME，官方提供了多種選擇的映像檔。Rocky Linux官網提供了不同用途的映像檔，全都包的Default Images檔案太大。由於我是要當桌面使用，且我覺得GNOME很難用，比較喜愛KDE Plasma桌面，故前往Desktop/Workstation Live Images部分，下載只包含KDE的ISO。 註：RHEL本身的套件庫是沒有提供KDE套件的，Rocky Linux也不可能有。這裡Rocky Linux使用的KDE很可能是從Fedora維護的EPEL套件庫拿的，不保證穩定性。\n下載後檢查檔案完整性防止檔案毀損。再使用Ventoy將ISO放到USB隨身碟。\n重開機進入UEFI。雖然Rocky Linux有支援Secure Boot，但我依然在UEFI將其停用了，省得以後裝驅動要簽名的麻煩。接著使用USB開機。\n開機後點選桌面的Install to Hard Disk圖示，啟動安裝程式\n首先點選系統空間 → 安裝目標位置 清除硬碟上的所有系統，點選「我想要取回額外的可用空間」再按「完成」。點選刪除，刪除所有空間，再按取回空間。 完成分區設定。Rocky Linux的分區表預設會使用LVM。\n回到主選單，點選Root密碼，設定root密碼\n然後再新增使用者，並點選「讓此使用者成為管理員」(sudo) 開始安裝。\n雖然新開機的KDE就有中文，但是沒有中文輸入法。需要手動調整些東西。\n4. Rocky Linux如何安裝套件 # Rocky Linux 10預設套件管理器為DNF，沒有YUM，套件格式為.rpm。系統預設啟用SELinux。\n圖形程式方面Rocky Linux並無自身的圖形軟體更新器，靠的是桌面環境的軟體商店搭配PackageKit來更新，像KDE Plasma就是交由Discover負責。\n全系統更新指令：sudo dnf upgrade\nRocky Linux在安裝的時候應該會自動設定好鏡像站，像它預設是使用台灣國內的鏡像站。如果有需要可以查閱全球鏡像站列表，並編輯/etc/yum.repos.d/目錄下的檔案來修改鏡像站。\n搜尋並安裝套件：sudo dnf search \u0026lt;套件名稱\u0026gt; 和 sudo dnf insall \u0026lt;套件名稱\u0026gt;\n雖然Rocky Linux各方面跟Fedora相像，但是Fedora的套件不見得適用。\n要抓RPM或新增套件庫的時候，務必下載帶有-epl10字樣的才可以裝在Rocky Linux 10。\nRocky Linux套件庫收錄的軟體沒有Fedora豐富。根據官方文件，嫌套件少的請開「EPEL Release」、「CRB(PowerToys)」、RPM Fusion等套件庫，取得更多套件。\nsudo dnf install epel-release sudo crb enable # 自動偵測Rocky Linux對應的RHEL版本，安裝對應的套件庫 sudo dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm sudo dnf install https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm 桌面應用程式還可以從Flatpak、Snap、Distrobox等各種第三方途徑安裝。\n5. 設定中文輸入法 # Rocky Linux預設安裝模式下並不會自動安裝中文輸入法。\n不錯，經過搜尋，Rocky Linux 10還沒有收Fcitx5套件，連ibus-chewing、ibus-rime都沒有。Rocky Linux的注音輸入法只有ibus-libzhuyin和ibus-bopomofo，拼音輸入法則是有ibus-pinyin。蠻難用的老實說。\n所以我想到了，Fcitx5可以透過混合iBus的方式使用Flatpak跑。\n安裝iBus套件 sudo dnf install ibus ibus-gtk3 設定環境變數，指定輸入法框架為iBus sudo cat \u0026lt;\u0026lt;EOT \u0026gt;\u0026gt; /etc/environment GTK_IM_MODULE=ibus QT_IM_MODULE=ibus XMODIFIERS=@im=ibus EOT 接著再安裝Flatpak版Fcitx5，就可以用Fictx5跑新酷音了。 6. 安裝Nvidia閉源驅動 # Nvidia官方套件庫有支援Rocky Linux，參考這篇了解安裝方式。\n筆電在安裝Nvidia顯示驅動後，系統會強制把Nvidia作為主要渲染的顯示卡，有點耗電哪。如果要切換Intel與Nvidia顯示卡，使用EnvyControl\n7. Rocky Linux桌面版使用簡評 # 是的，畢竟以伺服器為導向的設計，Rocky Linux桌面版體驗不是很好，需要一點耐心調整。\nRocky Linux套件很老嗎？等等沒有喔，實際安裝才發現Rocky Linux 10的KDE Plasma的版本蠻新的，Linux核心跟同年發表的Debian 13差不多新。\n為了穩定，內建瀏覽器採用Firefox ESR，這版本有點老，可以用Flatpak裝最新版解決。\nRocky Linux針對桌面使用者體驗完善嗎？過去用舊版Rocky Linux 9的KDE 5.27一裝完就有程式一直崩潰。新版本Rocky Linux 10改善很多。KDE Plasma 6.4對Wayland支援度很不錯了，不需要用到X11。圖形驅動使用最新版的話幾乎沒有bug。\n跟其他搭載KDE的Linux發行版比起來，Rocky Linux沒有像Kubuntu包一些自家的圖形管理程式進來，也沒有openSUSE會塞YaST進去，完全就是原味KDE，更新靠指令，這點類似Fedora。\n大型企業用的程式或會支援Rocky Linux，但桌面用戶如果想要體驗RHEL系Linux的風味，還是先嘗試Fedora好，社群要大的多了。Rocky Linux套件偏少的問題使它不適合成為新手日常使用的桌面Linux發行版。\n若你真的想要一個超級穩定的RHEL系的桌面系統，那麼Rocky Linux也是可以挑戰的選項。等以後桌面用戶多起來了，Rocky Linux的生態也會逐漸豐富吧，除非哪天RedHat真的斷了所有RHEL「吸血蟲」的活路。\n","date":"2026年2月3日","externalUrl":null,"permalink":"/posts/install-rocky-linux/","section":"所有文章","summary":"既然Debian Stable都有人當桌面系統了，我就想試試看能不能把Rocky Linux當作daily driver。試試在Rocky Linux安裝圖形桌面環境並當作日常使用的電腦。 1. Rocky Linux簡介 # Rocky Linux是根據RedHat公司所釋出的RHEL原始碼所編譯而成的Linux發行版。供個人及企業免費使用，不用付訂閱授權費用。\nRocky Linux為一款面向企業的Linux發行版，背後是由CentOS的開發者Gregory Kurtzer發起的專案。Rocky這個名字是為了紀念以前CentOS專案的共同創辦人Rocky McGaugh。\nRocky Linux的誕生背景跟RetHat的作為有關。2020年，RedHat宣佈停止維護CentOS 8，並將固定發表大版本更新的CentOS，改成滾動發行模式的CentOS Stream，破壞了長久以來保證的穩定性，讓全球的免費仔崩潰。很多人為繼續使用免費穩定的伺服器系統，便轉向Rocky Linux。 2021年，Rocky Linux正式發布，延續早期CentOS的模式，基於RedHat Enterprise Linux(RHEL)原始碼建立系統。開發組宣稱Rocky Linux跟RHEL二進位相容(binary compatible)，也就是能在RHEL執行的程式，在Rocky Linux也一定能執行。\n","title":"Rocky Linux 10安裝KDE桌面與中文Fcitx5輸入法，使用簡評","type":"posts"},{"content":"這篇文章Ivon將討論如何在Linux電腦離線部署OpenClaw，讓AI自動操控電腦。\nOpenClaw，俗稱「龍蝦AI」，是一款免費開源的AI代理人軟體。能夠讓AI在本機離線執行任務。讓你不只是與AI聊天，還能讓它實際操控電腦為你幹活。OpenClaw具有在電腦上自動點擊GUI程式，和執行任意終端機指令操作檔案的能力。 用不恰當的類比來說，這個軟體可以說是比較簡單的n8n，讓你不用在那邊接水管，就可以實現自動化操作。OpenClaw將AI Agent與MCP操作的程式全部整合了在一起，還能夠搭配手機通訊軟體傳遞命令。使用者只要串接好需要的AI服務之後，就能夠使用手機APP發號施令，讓AI自動操作電腦執行任務。更棒的是，OpenClaw整個程式還是開放原始碼（MIT授權），使用者可以自行檢查程式背後運作原理，並回報bug，協助作者改進。\nOpenClaw的一大特色在於技能系統，使用者可以透過撰寫名為「Skill」的Markdown檔案，來擴充OpenClaw能做到的事情，例如：自動回覆郵件、操控IDE寫程式、爬網路資料產生PDF報告、上網訂票、玩Minecraft遊戲、控制智慧家電、生成圖片、上Moltbook發廢文\u0026hellip;\u0026hellip;等等用途（見文末「參考資料」的列表）。\n根據歐美媒體報導，OpenClaw由企業家兼工程師Peter Steinberger使用vibe coding開發，於2025年年底釋出，最初僅是作為hobby project展示，看看能否從手機控制電腦上的AI寫程式。這個專案在Github爆紅之後一度改了好幾次名字，從一開始的Clawdbot改成Moltbot，又變成了OpenClaw（拜託不要再改了）。但是logo都是一隻太空龍蝦。 我主要想使用的功能，是透過手機APP與AI聊天並下指令，讓OpenClaw自動去操控GNU/Linux電腦的桌面，進行一些上網的操作。\n一個很普通的使用例子：叫OpenClaw打開瀏覽器，上購物網站，看看最近有什麼優惠活動，然後定期整理傳到我的手機\u0026hellip;\u0026hellip;這寫個爬蟲程式就能辦到，根本不需要用AI吧こらぁ！當然OpenClaw能做到的遠遠不止如此，這只是最簡單的示範。 1. OpenClaw系統需求 # OpenClaw支援Linux、macOS、Windows系統的電腦。最好要裝圖形環境。\nOpenClaw是在本機離線執行的軟體，並非雲端計算。不過它需要一個語言模型為其提供決策過程，充當其「大腦」。\n如果語言模型是串接線上跑的服務，例如使用Claude、ChatGPT、Gemini，任何規格的電腦都可以部署，從樹莓派，一般的x86電腦，到Mac Mini都行，因為最耗算力的服務都外包給線上伺服器了。反之，若連語言模型都要本地跑，例如使用Ollama技術串接語言模型，就需要獨立顯示卡提供算力。\n另外，OpenClaw可以透過通訊軟體遠端下令操作電腦。目前OpenClaw支援WhatsApp、Telegram、Discord、iMessage、Slack、Matrix、Line等等，選一個方便使用的就行。我選Telegram是因為它建立機器人相對簡單許多。\n2. 準備AI語言模型服務 # 兩者選一個。我是建議先用線上AI服務啦，比較容易上手。\n線上模型 # OpenClaw支援串接許多線上AI服務，包括Claude、ChatGPT、Gemini等等。\n以Gemini為例，到Google AI Studio新建專案，就可以取得API Key。越新越大的模型API call越貴，如果有更多需要請乖乖付費。OpenClaw作為AI代理人，會進行許多複雜的操作，加上開發者尚未針對prompt context最佳化，API額度會耗很快。以Gemini 3 Flash為例，免費額度每天可以呼叫20次。可是10分鐘內連續跟OpenClaw對話5次就超出額度了。\n另一種比較取巧的方式，是讓OpenClaw透過「Gemini CLI」的OAuth來存取線上模型，這樣一分鐘可以傳送60次請求，比使用API call模式要寬大許多。只是這樣會不會違反Google服務條款就不知道了www 這個方法需要先在Linux安裝Gemini CLI程式並登入Google帳號，然後再依照下一段步驟進行初始化。\n本機模型 # 在你自己的電腦安裝Ollama再下載個語言模型，你想怎麼用就怎麼用，不會像線上模型有額度限制。缺點是硬體要很好，因為OpenClaw執行的是複雜的AI代理人操作，根據Ollama官方文件，跑OpenClaw建議要用到20B以上參數的模型，且context length要設定到64000以上。這起碼需要8GB VRAM以上的獨立顯示卡才跑得動。純用CPU跑回應速度會很慢。\n首先，裝好Ollama與OpenClaw。建議用二進位檔版本，不要用Docker版本\n參考Ollama官方文件下載一個適用OpenClaw的模型，例如gpt-oss:20b\n啟動Ollama服務，並暫停OpenClaw服務\nsudo systemctl start ollama systemctl --user stop openclaw-gateway.service 用以下指令，選取要用的本機模型，讓Ollama自動編輯OpenClaw的設定檔~/.openclaw/openclaw.json，令其連接到Ollama ollama launch openclaw --config 3. Linux電腦安裝OpenClaw # 我主要想使用的功能是讓OpenClaw操控Linux電腦的桌面進行自動化（這很危險，請謹慎操作），因此Linux是有圖形環境的。我這裡使用Ubuntu桌面版。Wayland和X11桌面應該都是可以用的。\nOpenClaw本身是用TypeScript寫的，有一個OpenClaw Gateway服務負責處理外部連線。作者提供多種安裝方式。\n論安裝方式，我準備將整台電腦的權限都開給OpenClaw使用，包括所有系統目錄的權限都開給它。因此不用Docker容器部署，因為這樣AI能看到的目錄會受限。我使用官方提供的指令稿，讓它自動裝好OpenClaw所需要的依賴。並用Linux內建的Systemd控制系統服務。\n根據Github說明，執行OpenClaw作者提供的這個指令稿安裝。Ubuntu這類主流的發行版應該都能用。 curl -fsSL https://openclaw.ai/install.sh | bash 如果遇到缺npm或Homebrew的問題請自行安裝再重試。是的，Linux也是可以用Homebrew的。\n初始化OpenClaw，讓它自動安裝為系統服務\nopenclaw onboard --install-daemon 使用鍵盤上下鍵＋空白鍵選取選項，Enter同意。 選取以NPM或Git模式安裝\nModel Provider選取Gemini，使用線上模型。 填入剛剛取得的Gemini API Key，或者用Gemini CLI的OAuth網址登入\n選一個適合的模型。撰文當下我是使用Gemini 3 Flash，每分鐘的免費額度比較高 暫時先跳過通訊軟體的設定。其他API Key全部跳過。\n啟用所有的Hooks。Skills（依賴Homebrew）可以先不裝。 選取Hatch in TUI，在終端機裡面初始化。完成後按Ctrl+C退出。\n依照終端機顯示的網址，用瀏覽器開啟http://localhost:18789/就可以進入網頁後台。這個界面可以直接跟OpenClaw聊天並下指令。\nOpenClaw除了用網頁介面對話之外，也可以用TUI在終端機執行：\nopenclaw tui 初始化設定結束後，按Ctrl+C退出設定程式，並用以下指令控制開關。停止與重啟OpenClaw Gateway服務的systemctl指令： # 停止 systemctl --user stop openclaw-gateway.service # 啟動 systemctl --user start openclaw-gateway.service # 查看OpenClaw Gateway服務狀態 openclaw status # （選擇性）開機登入後自動啟動OpenClaw Gateway服務 systemctl --user enable openclaw-gateway.service 再重啟OpenClaw服務。 systemctl --user restart openclaw-gateway.service OpenClaw設定檔位於~/.openclaw/openclaw.json，產生的檔案會放到~/.openclaw/workspace/。\n日後更新OpenClaw的指令，就重跑一次安裝指令稿：\ncurl -fsSL https://openclaw.ai/install.sh | bash 4. 讓OpenClaw網頁界面可以從外網存取 # 如果有需要，設定內網穿透軟體讓OpenClaw服務可以從外網存取。\nCloudflare Tunnel和Tailscale Serve這類方案還能免費給你建立一個HTTPS。\n如果Ubuntu有裝防火牆，記得開放OpenClaw通訊埠：\nsudo ufw allow 18789 sudo ufw reload 但請注意OpenClaw網頁界面要保護好，否則會讓別人很容易取得AI和你電腦的控制權限。\n我下面要使用的是透過Telegram遙控OpenClaw，這個操作不需要開放外網存取也能用，安全性較高。只要Telegram帳號不要被盜即可。\n5. 連接到手機Telegram機器人 # 這個非必要步驟。OpenClaw網頁本身就有跟AI聊天的功能了。不過用手機APP遠端控制AI的話感覺比較厲害！\nOpenClaw推薦使用Telegram官方的@BotFather服務快速建立機器人。在Telegram頻道跟它聊天，輸入指令/newbot，再輸入名字，就會獲得一個你專屬的Bot和token。\n在Linux電腦再跑一次OpenClaw初始化指令\nopenclaw onboard --install-daemon 填入Telegram機器人名稱和token 嘗試在Telegram跟你新建的機器人聊天，獲得一組配對碼。\n執行OpenClaw指令，填入配對碼\nopenclaw pairing approve telegram \u0026#34;配對碼\u0026#34; 然後就可以從Telegram透過你建立的機器人，與OpenClaw對話了。 6. 讓OpenClaw操控瀏覽器 # OpenClaw會開啟瀏覽器，建立設定檔操控它。或者你在現有的瀏覽器安裝OpenClaw Browser Relay擴充套件讓OpenClaw操控。\n我使用後者方案。\n先在Linux安裝Chromium或Chrome瀏覽器。不要用Flatpak或Snap安裝。\n建立OpenClaw的擴充套件\nopenclaw browser extension install 開啟Chrome → 右上角設定 → 擴充功能 → 開啟開發人員模式，點選載入未封裝項目，選取目錄~/.openclaw/browser/chrome-extension/\n點一下OpenClaw Browser Relay圖示，開始偵錯。這樣OpenClaw就能看到瀏覽器的所有內容了。你對OpenClaw下的指令，它都能在瀏覽器中自動幫你完成。但要注意的是，OpenClaw可以讀取你瀏覽器的所有內容，擔心隱私問題的，建議開一個專門的設定檔給它用。 參考資料 # OpenClaw Docs openclaw - Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞 - Github ClawHub, the skill dock for sharp agents. Awesome OpenClaw Skills - Github ","date":"2026年2月2日","externalUrl":null,"permalink":"/posts/openclaw-linux/","section":"所有文章","summary":"這篇文章Ivon將討論如何在Linux電腦離線部署OpenClaw，讓AI自動操控電腦。\nOpenClaw，俗稱「龍蝦AI」，是一款免費開源的AI代理人軟體。能夠讓AI在本機離線執行任務。讓你不只是與AI聊天，還能讓它實際操控電腦為你幹活。OpenClaw具有在電腦上自動點擊GUI程式，和執行任意終端機指令操作檔案的能力。 用不恰當的類比來說，這個軟體可以說是比較簡單的n8n，讓你不用在那邊接水管，就可以實現自動化操作。OpenClaw將AI Agent與MCP操作的程式全部整合了在一起，還能夠搭配手機通訊軟體傳遞命令。使用者只要串接好需要的AI服務之後，就能夠使用手機APP發號施令，讓AI自動操作電腦執行任務。更棒的是，OpenClaw整個程式還是開放原始碼（MIT授權），使用者可以自行檢查程式背後運作原理，並回報bug，協助作者改進。\nOpenClaw的一大特色在於技能系統，使用者可以透過撰寫名為「Skill」的Markdown檔案，來擴充OpenClaw能做到的事情，例如：自動回覆郵件、操控IDE寫程式、爬網路資料產生PDF報告、上網訂票、玩Minecraft遊戲、控制智慧家電、生成圖片、上Moltbook發廢文……等等用途（見文末「參考資料」的列表）。\n","title":"Linux電腦部署 OpenClaw 龍蝦AI代理人 + Gemini，使用Telegram手機APP遙控","type":"posts"},{"content":"Gemini CLI是Google推出的開源工具，讓你可以在終端機存取線上的Gemini語言模型，不需要打開網頁介面。\n用途為何呢？由於Gemini CLI是以終端機為主的設計，這樣方便開發者將其他程式與Gemini CLI整合，做到原本網頁介面做不到的多元玩法。而且不需要使用貴森森的API call模式去存取Gemini。使用Gemini CLI的模式下，免費方案每分鐘可以呼叫100次Gemini 2.5 Pro，使用額度算很高了。\n你可以將本機的檔案丟給Gemini讀取。或者是詢問Gemini一條指令該怎麼用，直接在你的主機上執行（需要使用者同意）。由於Gemini CLI能夠讀取你的系統檔案，它給的建議會更切合你實際環境的需要。例如，Gemini知道你目前使用的是哪一個Linux發行版，便會建議正確的套件管理器指令。又或者說，讓Gemini讀取你Git版本庫的檔案，總結commit過的歷史紀錄，自動編輯你的程式碼檔案。 Gemini CLI還支援裝載MCP模組，與其他軟體互動。\n缺點是，Gemini CLI當然只支援Google自家的語言模型產品囉，不能使用其他家的語言模型。如果你想自由切換語言模型，甚至使用離線模型計算，得找別人的fork，或者改用ShellGPT + Ollama這類方案。\n1. Linux安裝Gemin CLI的方法 # 根據GitHub指示，Gemini CLI推薦使用npm或npx安裝。要用Docker跑也可以，但是它就只能讀到容器內的目錄。\n首先在Linux系統安裝npm，例如Ubuntu就是： sudo apt install nodejs npm 然後以NPM全域安裝Gemini CLI sudo npm install -g @google/gemini-cli 啟動指令工具 gemini 依照提示開啟瀏覽器，登入Google帳號，授權驗證，就可以開始對話了。\n快速按兩下Ctrl + C，退出Gemini CLI。\nLinux的Gemini CLI設定檔位於~/.gemini/settings.json。也可以在版本庫的目錄下建立個別專案適用的settings.json。\n2. Gemini CLI搭配Vim使用 # 其實Gemini CLI裡面就可以執行Vim了，Pseudo tty可以在Gemini的視窗內執行Vim以及其他工具的嵌入式視窗。 至於要在Vim裡面喚出Gemini的話，就輸入:!gemini指令就好。\n參考資料 # google-gemini/gemini-cli - Github Gemini CLI中文使用手冊 ","date":"2026年2月2日","externalUrl":null,"permalink":"/posts/gemini-cli/","section":"所有文章","summary":"Gemini CLI是Google推出的開源工具，讓你可以在終端機存取線上的Gemini語言模型，不需要打開網頁介面。\n用途為何呢？由於Gemini CLI是以終端機為主的設計，這樣方便開發者將其他程式與Gemini CLI整合，做到原本網頁介面做不到的多元玩法。而且不需要使用貴森森的API call模式去存取Gemini。使用Gemini CLI的模式下，免費方案每分鐘可以呼叫100次Gemini 2.5 Pro，使用額度算很高了。\n你可以將本機的檔案丟給Gemini讀取。或者是詢問Gemini一條指令該怎麼用，直接在你的主機上執行（需要使用者同意）。由於Gemini CLI能夠讀取你的系統檔案，它給的建議會更切合你實際環境的需要。例如，Gemini知道你目前使用的是哪一個Linux發行版，便會建議正確的套件管理器指令。又或者說，讓Gemini讀取你Git版本庫的檔案，總結commit過的歷史紀錄，自動編輯你的程式碼檔案。 Gemini CLI還支援裝載MCP模組，與其他軟體互動。\n缺點是，Gemini CLI當然只支援Google自家的語言模型產品囉，不能使用其他家的語言模型。如果你想自由切換語言模型，甚至使用離線模型計算，得找別人的fork，或者改用ShellGPT + Ollama這類方案。\n","title":"Linux安裝Gemini CLI，與Vim編輯器整合，在終端機裡面跟AI對話","type":"posts"},{"content":"","date":"2026年2月2日","externalUrl":null,"permalink":"/tags/vibe-coding/","section":"標籤","summary":"","title":"Vibe Coding","type":"tags"},{"content":"適用版本：Rocky Linux 10以上\n以Nvidia顯示卡來說，Linux預設載入的是nouveau開源驅動，需要手動安裝Nvidia閉源驅動，之後才能夠安裝CUDA套件。\n雖然Rocky Linux安裝指令跟RHEL很像，但是有些服務不太一樣，所以特別寫一篇介紹。 1. 檢查Nvidia顯示卡相容性 # 確認Nvidia是否仍支援你的顯示卡驅動，到Nvidia官網查詢。只要不是十年以上的舊卡，Nvidia閉源驅動應該都會繼續提供支援。如果有支援，那麼就直接安裝最新版Nvidia閉源驅動。如果你的顯示卡已經停止支援，那麼頂多只能裝到特定舊版本的驅動。 舉例來說：NVIDIA GeForce GTX 1050屬於Turing架構以前的舊卡，那麼最高就只能裝到580版本的驅動。在Turing架構以後推出的NVIDIA GeForce GTX 1650，可以直接裝最新版的590驅動。 若有Nvidia顯示卡但沒有安裝Nvidia閉源驅動，預設會載入開源nouveau驅動。這可以用指令sudo lspci -k | grep -A 2 -i \u0026quot;NVIDIA\u0026quot;確認，driver區段會顯示nouveau。 2. 安裝Nvidia閉源驅動的方法 # 根據Rocky Linux與Nvidia官方文件，Nvidia驅動裝法有以下途徑：\n途徑 驅動版本 穩定性 適用情況 EPEL套件庫 新 不穩定 Fedora協助維護的套件庫。適合需要最新版驅動與最新CUDA版本。 RPM Fusion套件庫 新 不穩定 Fedora協助維護的套件庫，主要包含閉源驅動軟體。適合需要最新版驅動與最新CUDA版本。 使用Nvidia CUDA套件庫的.deb驅動 新 相對穩定 需要最新版驅動與最新CUDA版本。 手動下載Nvidia官網的.rpm檔案安裝驅動 新 相對穩定 顯卡已經不受官方支援；需要特定版本的驅動；需要在完全離線的環境安裝。 手動執行Nvidia官網的.run檔案安裝驅動 新 相對穩定 顯卡已經不受官方支援；需要特定版本的驅動；需要在完全離線的環境安裝。 Linux的Nvidia驅動不會一直都是官方發表的最新版本，要看你是從哪一種途徑安裝。\nRocky Linux自身的套件庫並沒有收Nvidia驅動套件。又，因為Rocky Linux是與RHEL相容的Linux發行版，因此可以安裝給RHEL使用的Nvidia驅動套件。\n本文採用Nvidia CUDA套件庫的驅動。\n3. 安裝Nvidia閉源驅動 # 桌電與伺服器 # 啟用EPEL和CRB套件庫 sudo dnf install epel-release sudo dnf config-manager --enable crb 安裝編譯依賴套件 sudo dnf groupinstall \u0026#34;Development Tools\u0026#34; sudo dnf install kernel-devel-matched kernel-headers sudo dnf install dkms 新增Nvidia CUDA官方套件庫，Rocky Linux要選取對應RHEL 10的版本 sudo dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel10/$(uname -m)/cuda-rhel10.repo sudo dnf clean expire-cache 以DKMS方式安裝Nvidia驅動 Turing架構以後推出的顯示卡，安裝這個套件：\nsudo dnf install nvidia-open Turing架構以前推出的顯示卡，安裝：\n# 安裝最新版驅動 sudo dnf install cuda-driver # 或者安裝特定版本的驅動 sudo dnf install　cuda-drivers-580 重開機 sudo reboot 確認Nvidia驅動版本： nvidia-smi 再度執行lspci指令 sudo lspci -k | grep -A 2 -i \u0026#34;NVIDIA\u0026#34; 查看nouveau是否已經變成nvidia。 # 範例輸出 07:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1) Subsystem: ASUSTeK Computer Inc. Device 85d6 Kernel modules: nvidia_drm, nvidia 如果遇到NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.錯誤，可能是nouveau沒有成功加入黑名單。觀察上面lspci指令輸出結果，如果Kernel modules:後面顯示nouveau，那麼就是沒有黑名單，nouveau驅動會跟Nvidia驅動搶控制權。\n此時，嘗試透過Grubby修改GRUB，手動將nouveau驅動加入黑名單，並重開機：\nsudo grubby --args=\u0026#34;nouveau.modeset=0 rd.driver.blacklist=nouveau\u0026#34; --update-kernel=ALL 雙GPU筆電 # 搭載Nvidia獨立顯示卡的筆電安裝顯示卡驅動的方式跟桌上型電腦一樣。\n不過，像Intel＋Nvidia這種的雙GPU筆電，即使裝了Nvidia驅動也可能繼續用Intel的GPU渲染3D，導致3D性能低下。\n此時可以使用prime-select指令，指定用Nvidia顯示卡負責渲染作業。\nsudo prime-select nvidia 重開機後再使用指令：vulkaninfo --summary查看主顯示卡為何。\n相關文章：Nvidia PRIME指令使用方式\n4. 安裝CUDA # 必須先安裝Nvidia閉源驅動才能安裝CUDA。\n加入Nvidia官方套件庫 # 使用這個環境變數，自動偵測目前Rocky Linux對應的RHEL版本 curver=\u0026#34;rhel$(rpm -E %rhel)\u0026#34; sudo wget -O /etc/yum.repos.d/cuda-$curver.repo \\ http://developer.download.nvidia.com/compute/cuda/repos/$curver/$(uname -i)/cuda-$curver.repo 安裝最新版CUDA套件 sudo dnf install cuda-toolkit 將/usr/local/目錄下最新版本CUDA 13.1的路徑加入到PATH，目前是CUDA echo \u0026#34;export PATH=/usr/local/cuda-13-1/bin${PATH:+:${PATH}}\u0026#34; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 確認CUDA版本 nvcc --version 參考資料 # Installing NVIDIA GPU Drivers - Rocky Linux Documentation Nouveau: Accelerated Open Source driver for nVidia cards - freedesktop.org NVIDIA Driver Installation Quickstart Guide NVIDIA CUDA Installation Guide for Linux ","date":"2026年2月2日","externalUrl":null,"permalink":"/posts/rocky-linux-install-nvidia-drivers/","section":"所有文章","summary":"適用版本：Rocky Linux 10以上\n以Nvidia顯示卡來說，Linux預設載入的是nouveau開源驅動，需要手動安裝Nvidia閉源驅動，之後才能夠安裝CUDA套件。\n雖然Rocky Linux安裝指令跟RHEL很像，但是有些服務不太一樣，所以特別寫一篇介紹。 1. 檢查Nvidia顯示卡相容性 # 確認Nvidia是否仍支援你的顯示卡驅動，到Nvidia官網查詢。只要不是十年以上的舊卡，Nvidia閉源驅動應該都會繼續提供支援。如果有支援，那麼就直接安裝最新版Nvidia閉源驅動。如果你的顯示卡已經停止支援，那麼頂多只能裝到特定舊版本的驅動。 舉例來說：NVIDIA GeForce GTX 1050屬於Turing架構以前的舊卡，那麼最高就只能裝到580版本的驅動。在Turing架構以後推出的NVIDIA GeForce GTX 1650，可以直接裝最新版的590驅動。 若有Nvidia顯示卡但沒有安裝Nvidia閉源驅動，預設會載入開源nouveau驅動。這可以用指令sudo lspci -k | grep -A 2 -i \"NVIDIA\"確認，driver區段會顯示nouveau。 2. 安裝Nvidia閉源驅動的方法 # 根據Rocky Linux與Nvidia官方文件，Nvidia驅動裝法有以下途徑：\n途徑 驅動版本 穩定性 適用情況 EPEL套件庫 新 不穩定 Fedora協助維護的套件庫。適合需要最新版驅動與最新CUDA版本。 RPM Fusion套件庫 新 不穩定 Fedora協助維護的套件庫，主要包含閉源驅動軟體。適合需要最新版驅動與最新CUDA版本。 使用Nvidia CUDA套件庫的.deb驅動 新 相對穩定 需要最新版驅動與最新CUDA版本。 手動下載Nvidia官網的.rpm檔案安裝驅動 新 相對穩定 顯卡已經不受官方支援；需要特定版本的驅動；需要在完全離線的環境安裝。 手動執行Nvidia官網的.run檔案安裝驅動 新 相對穩定 顯卡已經不受官方支援；需要特定版本的驅動；需要在完全離線的環境安裝。 Linux的Nvidia驅動不會一直都是官方發表的最新版本，要看你是從哪一種途徑安裝。\n","title":"Rocky Linux如何安裝Nvidia閉源驅動與CUDA Toolkit","type":"posts"},{"content":"","date":"2026年2月2日","externalUrl":null,"permalink":"/tags/input-method/","section":"標籤","summary":"","title":"Input Method","type":"tags"},{"content":"Fcitx小企鵝是一款功能多樣的開源中文輸入法框架，相較於iBus功能更多。現已支援注音、倉頡、嘸蝦米、RIME、行列、粵語、拼音、五筆、日文、韓文、越南文輸入。 目前Fcitx5已在Flathub上架，任何Linux發行版透過Flatpak容器即可安裝，而不用使用系統的套件管理器（如APT、DNF、YUM、Pacman、Zypper、Portage）安裝。\n為什麼不用系統套件管理器而要用Flatpak容器安裝呢？本文討論的Fcitx5裝法適合用於以下三種情況：\n在任一Linux發行版體驗最新版Fcitx5輸入法功能，適用Ubuntu、Debian、Arch Linux、Fedora、openSUSE、Gentoo。 在無法修改系統的Immutable Distro上安裝Fcitx5，例如SteamOS、Fedora Silverblue、openSUSE MicroOS、Vanilla OS 在沒有提供Fcitx5套件的發行版使用Fcitx5，而不用手動編譯安裝，例如Alpine Linux、CentOS Stream、Slackware、Rocky Linux、AlmaLinux 測試過的系統 # RHEL 9, RHEL 10 CentOS Stream 9, CentOS Stream 10 Rocky Linux 9, Rocky Linux 10 AlmaLinux 9, AlmaLinux 10 Fedora Silverblue, Fedora Kinoite uBlue Aurora, Bazzite, Bluefin Alpine Linux, postmarketOS 1. 先在宿主機安裝輸入法模組 # 雖然我們要用Flatpak安裝Fcixt5，但宿主機端依然要安裝輸入法模組相關套件，作為容器與宿主機的「橋樑」才可以喚醒Fcitx5，否則就只能在Flatpak應用程式裡面使用而已，無法在宿主機的GTK與QT程式使用Fcitx5打字。\n根據Fcitx5開發者的解釋，Fcix5相容多種輸入法協定，必須在宿主機安裝任一種輸入法模組：xim 或 ibus 或 舊版fcitx4 或 fcitx5\n通常，你要在Linux安裝Fcitx5，會用系統的套件管理器安裝，例如Ubuntu用APT安裝Fcitx5套件。除了Fcitx5以外，你還會一併裝上Fcitx的GTK與QT模組的套件，才能在這些程式打字。不過有的Linux發行版套件過舊，可能連Fcitx套件都沒有，這個時候就能用ibus替代原本fcitx模組的用途。\n反過來說，如果Linux發行版已經有提供Fcitx的GTK與QT模組的套件，那麼就沒有用iBus的必要。\n如果宿主機無fcitx套件 # 以iBus為例，有些Linux發行版即使套件老到不行，連一個版本的fcitx都沒收，也一定會收ibus套件。更大的機率是，系統已經幫你裝好了。 # Ubuntu/Debian sudo apt install ibus # Fedora/RHEL/Rocky Linux sudo dnf install ibus # Fedora Silverblue sudo rpm-ostree install ibus # openSUSE sudo zypper install ibus 編輯/etc/environment，設定環境變數，指定系統輸入法框架使用ibus。（在KDE Plasma 6.0 Wayland，你應該不需要做這節步驟也能使用Fcitx5輸入法，只要在系統設定 → 虛擬鍵盤設定為Flatpak Fcitx5即可。） GTK_IM_MODULE=ibus QT_IM_MODULE=ibus XMODIFIERS=@im=ibus 如果宿主機有fcitx套件 # 如果發行版有收錄Fcitx套件，則至少要安裝GTK與QT前端。\n需要特別注意的是，一些Linux發行版打包的fcitx5會強制依賴fcitx5-configtool，致使Flatpak版本的Fcitx5設定面板無法顯示，兩者會衝突，只能用指令flatpak run --command=fcitx5-configtool org.fcitx.Fcitx5啟動。若無法解決，請將宿主機的Fcitx5套件全部刪除，只安裝Flatpak版Fcitx5並設定IM_MODULE環境變數為fcitx或ibus。\n安裝Fcitx5套件。 # Ubuntu/Debian sudo apt install fcitx5-frontend-gtk3 fcitx5-frontend-gtk4 fcitx5-frontend-qt5 fcitx5-frontend-qt6 # Fedora/RHEL/Rocky Linux sudo dnf install fcitx5-gtk3 fcitx5-gtk4 fcitx5-qt fcitx5-qt6 # Fedora Silverblue sudo rpm-ostree install fcitx5-gtk3 fcitx5-gtk4 fcitx5-qt fcitx5-qt6 # openSUSE sudo zypper install fcitx5-gtk3 fcitx5-gtk4 fcitx-qt5 fcitx-qt6 編輯/etc/environment，設定環境變數，指定系統輸入法框架使用fcitx GTK_IM_MODULE=fcitx # 若是在GNOME跑純Wayland程式，不用設定這一條 QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx 2. 安裝Flatpak版Fcitx5 # 安裝Flatpak，重開機。\n從Flathub安裝Fcitx5：\nflatpak install --user org.fcitx.Fcitx5 然後再以Add-On方式安裝輸入法，例如新酷音以及漢語拼音。（注意Chewing跟Zhuyin是兩款不同的輸入法） flatpak install --user org.fcitx.Fcitx5.Addon.Chewing flatpak install --user org.fcitx.Fcitx5.Addon.ChineseAddons 其餘輸入法的名稱請用指令搜尋：flatpak search org.fcitx.Fcitx5.Addon。 由於這裡我使用的是Flathub的穩定版頻道，可能輸入法數量較少，這個時候你可以新增Fcitx5的不穩定版套件庫，再重新搜尋。\nflatpak remote-add --user --if-not-exists fcitx5-unstable https://flatpak.fcitx-im.org/unstable-repo/fcitx5-unstable.flatpakrepo 嘗試執行Fcitx5。 flatpak run org.fcitx.Fcitx5 \u0026amp; KDE的輸入法面板應該會彈出Fcitx5，點選設定，將新酷音從右邊的面板加入到左邊面板，即可啟用新酷音輸入法。 Fcitx5在X11下應該是開箱即用的，預設為按Ctrl＋空白鍵切換輸入法。\nFlatpak版Fcitx5的資料儲存位置位於~/.var/app/org.fcitx.Fcitx5/config。關於Wayland應用程式的環境變數設定，請參閱下面的Arch Linux 中文维基。\n確認可以使用後，設定登入桌面後自動啟動Fcitx5\nmkdir -p ~/.config/autostart/ cp ~/.local/share/flatpak/exports/share/applications/org.fcitx.Fcitx5.desktop \\ ~/.config/autostart/org.fcitx.Fcitx5.desktop 參考資料 # Fcitx5 - Arch Linux 中文维基 Flatpak-only setup? · Issue #287 · fcitx/fcitx5 请教下：linux的输入法的系统大概是什么样的？ #364 · fcitx/fcitx5 如何现在就用上Fcitx 5 (Flatpak) | CS Slayer 从Flatpak安装Fcitx5 ","date":"2026年2月2日","externalUrl":null,"permalink":"/posts/fcitx5-flatpak/","section":"所有文章","summary":"Fcitx小企鵝是一款功能多樣的開源中文輸入法框架，相較於iBus功能更多。現已支援注音、倉頡、嘸蝦米、RIME、行列、粵語、拼音、五筆、日文、韓文、越南文輸入。 目前Fcitx5已在Flathub上架，任何Linux發行版透過Flatpak容器即可安裝，而不用使用系統的套件管理器（如APT、DNF、YUM、Pacman、Zypper、Portage）安裝。\n為什麼不用系統套件管理器而要用Flatpak容器安裝呢？本文討論的Fcitx5裝法適合用於以下三種情況：\n在任一Linux發行版體驗最新版Fcitx5輸入法功能，適用Ubuntu、Debian、Arch Linux、Fedora、openSUSE、Gentoo。 在無法修改系統的Immutable Distro上安裝Fcitx5，例如SteamOS、Fedora Silverblue、openSUSE MicroOS、Vanilla OS 在沒有提供Fcitx5套件的發行版使用Fcitx5，而不用手動編譯安裝，例如Alpine Linux、CentOS Stream、Slackware、Rocky Linux、AlmaLinux 測試過的系統 # RHEL 9, RHEL 10 CentOS Stream 9, CentOS Stream 10 Rocky Linux 9, Rocky Linux 10 AlmaLinux 9, AlmaLinux 10 Fedora Silverblue, Fedora Kinoite uBlue Aurora, Bazzite, Bluefin Alpine Linux, postmarketOS 1. 先在宿主機安裝輸入法模組 # 雖然我們要用Flatpak安裝Fcixt5，但宿主機端依然要安裝輸入法模組相關套件，作為容器與宿主機的「橋樑」才可以喚醒Fcitx5，否則就只能在Flatpak應用程式裡面使用而已，無法在宿主機的GTK與QT程式使用Fcitx5打字。\n","title":"透過Flatpak跑Fcitx5，安裝Linux的中文輸入法","type":"posts"},{"content":"在生成式AI已經逐漸融入現實生活的當下，有沒有必要在網站上貼「文章非AI生成」的貼紙呢？\n2022年ChatGPT剛出來的時候，我看到外國創作者發起Not by AI這個運動，所以在網站上跟著貼了這個標章，並向作者貢獻了正體中文版的翻譯。\n參見：在你的網站放上「文章並非AI生成」Not By AI的徽章吧 最初是放在每一篇文章的結尾。後來改成只放在/about/頁面，當作我的一種個人特質展示。\n終究是被時代的巨輪碾壓了。你想，以前還有自由軟體主義者在反對Github拿開源專案去訓練Copilot，現在呢？Vibe coding遍地開花。\n參見：軟體自由保護組織：是時候放棄使用Github了！\n你也知道，幾年發展下來，生成式AI進化之快，已經不再是只會生成廢話的產生機了，AI能生成幾可亂真的文筆。用AI輔助寫作，甚至代筆，用於批量生產文章的人越來越多。看看一些新聞與自媒體網站就知道了，這世上總有某些人能把新興技術弄成最下三濫的。以前內容農場還要有個廉價勞工專門產廢文，現在直接AI批量生成，洗稿他人觀點，加上聳動標題，一篇爆文就產生了。畢竟越來越多人不在意是否為AI生成，汝所作所為是否澄如明鏡。\n那麼這個標章究竟有無存在價值呢？還是只是跟「我是人，我反核」的標章淪為無腦口號而已？（ 在有SMR的今天，我是人，我反核這個標語確實蠻無腦的就是了btw 只有在吉卜力工作室掛出這個口號才會被人重視ㄅ ）\n我參考了一些人的觀點，例如為文章標註Not By AI？ 我覺得大可不必 - Code and Me，發現強調是否為AI，這件事其實沒有多大意義。\n進一步說，假設這篇文章對你是有幫助的，例如總結你想要的資訊或讓你學會了新東西，是不是真人寫的，又有什麼差呢？Dead Internet Theory成真又怎樣？\n我覺得，我們終究得接受人機一體的，新興世代的常規作法。別再當LKK了。\n就連我自己也會用ChatGPT協助撰文了。當然，AI作為左手的輔助，大部分文章還是我自己寫，這樣才「好玩」，寫作不為他人，只為取悅自己。但當想破頭都濃縮不出兼顧內容與SEO的好標題的時候，就會請ChatGPT幫忙想幾個點子。我沒辦法確保未來我會不會也墮落到，網站內容幾乎都交給AI生成，就為了搏取流量。我真的不想走到那一步。\n若純粹從利益與效益最大化的角度出發，我們確實沒有必要親自寫文章了，不論網站還是社群媒體皆然。畢竟手動構思費心費神，效率很差。反之，指示AI大量產出的話，即使一些品質低劣且不誠實，搞不好能順勢迎合演算法，推出去給更多人看到我的「作品」，輕鬆將流量變現。\n不過，聽說矽谷有越來越多人受夠了AI Slop氾濫，準備尋找能重新帶來人與人之間連結的人才，稱之為storyteller。但在台灣與中文世界，這種趨勢似乎不太明顯。\nAI 時代，人才決戰不在理工科？當台灣培養速成工程師，矽谷竟高薪搶「說故事的人」 我們只能說，把AI當成一種新興的創作形式看待，取代「被取代」的想法。例如，很多人都用手機打字了，不影響有人還是喜歡手寫溝通。有人用3D做出漂亮的畫面，卻仍有人偏好手繪的魔力。AI繪圖也出現很久了，但是那些繪師依然有欣賞他們的人。那麼即使AI能夠寫出比我更好的文章了，我還是堅持跟喜愛真人文筆的同好繼續分享我的思緒。\n這樣想大概會好受一些。\n繼續讓子彈飛一會兒。\n","date":"2026年2月2日","externalUrl":null,"permalink":"/posts/do-you-still-need-not-by-ai-badge-on-your-website/","section":"Personals","summary":"在生成式AI已經逐漸融入現實生活的當下，有沒有必要在網站上貼「文章非AI生成」的貼紙呢？\n2022年ChatGPT剛出來的時候，我看到外國創作者發起Not by AI這個運動，所以在網站上跟著貼了這個標章，並向作者貢獻了正體中文版的翻譯。\n參見：在你的網站放上「文章並非AI生成」Not By AI的徽章吧 最初是放在每一篇文章的結尾。後來改成只放在/about/頁面，當作我的一種個人特質展示。\n終究是被時代的巨輪碾壓了。你想，以前還有自由軟體主義者在反對Github拿開源專案去訓練Copilot，現在呢？Vibe coding遍地開花。\n參見：軟體自由保護組織：是時候放棄使用Github了！\n你也知道，幾年發展下來，生成式AI進化之快，已經不再是只會生成廢話的產生機了，AI能生成幾可亂真的文筆。用AI輔助寫作，甚至代筆，用於批量生產文章的人越來越多。看看一些新聞與自媒體網站就知道了，這世上總有某些人能把新興技術弄成最下三濫的。以前內容農場還要有個廉價勞工專門產廢文，現在直接AI批量生成，洗稿他人觀點，加上聳動標題，一篇爆文就產生了。畢竟越來越多人不在意是否為AI生成，汝所作所為是否澄如明鏡。\n那麼這個標章究竟有無存在價值呢？還是只是跟「我是人，我反核」的標章淪為無腦口號而已？（ 在有SMR的今天，我是人，我反核這個標語確實蠻無腦的就是了btw 只有在吉卜力工作室掛出這個口號才會被人重視ㄅ ）\n","title":"還有沒有必要在網站上貼「Not By AI」的標章呢？","type":"personal"},{"content":"這算是站務公告吧。\n幾年前我曾經在分類文章的時候用過\u0026quot;AI\u0026quot;這個tag，但發現這個雨傘術語涵蓋的範圍實在太大啦，隨著生成式AI推出，從文字、圖像到語音，指涉的技術越來越複雜，迅速廢除了這個標籤，改以更精確的術語描述，例如\u0026quot;Text to Speech\u0026quot;。生成式AI當中最為人矚目的乃是ChatGPT與Stable Diffusion，我以分享「開源的AI」為宗旨，也研究出了一些新心得，還專門為了LLM和Stable Diffusion開了分類，並為了蹭流量將AI專題文章放在網站首頁行列。 現在，專門研究AI這個term已經不再是一種魔法，而是應該變成一種日常應用了。再網站獨立開一個AI分區已經顯得有點刻意。更何況，我又不是科學研究專家，這些地方並非總是蒐羅最新AI討論論文的地方。\nAI不能只是光談理論，不要只是單純為AI而AI，而是要放到更具體的情境去落地給人應用的。因此，我決定專門談論AI的這個分類！將其與其他普通的工作軟體放在一起分享。\n日後的變更：\n「大型語言模型」、「AI繪圖」的文章全部改移動到Self-hosting自架，因為我討論的很多都是開源本地部署的AI，跟self-hosintg服務串起來還是很有威力的。若是有手機APP應用就放到手機APP分享。跟Linux無關，不知道怎麼分類的就全部丟電腦軟體分享。\n提到專門技術的分享，就用標籤定義之。比如ChatGPT、Stable Diffusion標籤依然可以保留，但我不會再為其做一個大分類。\n","date":"2026年2月2日","externalUrl":null,"permalink":"/posts/delete-specific-ai-categories/","section":"Personals","summary":"這算是站務公告吧。\n幾年前我曾經在分類文章的時候用過\"AI\"這個tag，但發現這個雨傘術語涵蓋的範圍實在太大啦，隨著生成式AI推出，從文字、圖像到語音，指涉的技術越來越複雜，迅速廢除了這個標籤，改以更精確的術語描述，例如\"Text to Speech\"。生成式AI當中最為人矚目的乃是ChatGPT與Stable Diffusion，我以分享「開源的AI」為宗旨，也研究出了一些新心得，還專門為了LLM和Stable Diffusion開了分類，並為了蹭流量將AI專題文章放在網站首頁行列。 現在，專門研究AI這個term已經不再是一種魔法，而是應該變成一種日常應用了。再網站獨立開一個AI分區已經顯得有點刻意。更何況，我又不是科學研究專家，這些地方並非總是蒐羅最新AI討論論文的地方。\nAI不能只是光談理論，不要只是單純為AI而AI，而是要放到更具體的情境去落地給人應用的。因此，我決定專門談論AI的這個分類！將其與其他普通的工作軟體放在一起分享。\n日後的變更：\n「大型語言模型」、「AI繪圖」的文章全部改移動到Self-hosting自架，因為我討論的很多都是開源本地部署的AI，跟self-hosintg服務串起來還是很有威力的。若是有手機APP應用就放到手機APP分享。跟Linux無關，不知道怎麼分類的就全部丟電腦軟體分享。\n提到專門技術的分享，就用標籤定義之。比如ChatGPT、Stable Diffusion標籤依然可以保留，但我不會再為其做一個大分類。\n","title":"廢除本站專門的AI分類文章，包括「大型語言模型」與「AI繪圖教學」","type":"personal"},{"content":"本文解說如何在Arch Linux安裝Nvidia專有驅動，解決畫面撕裂問題，以及介紹如何安裝相關的CUDA套件。 Linux核心內建的Nvidia驅動是為開源的nouveau，由Linux社群逆向工程而來。nouveau讓你至少開機有畫面，但是一跑3D程式就破功了，nouveau的圖形效能只有Nvidia官方專有(閉源)驅動的一半，所以安裝Nvidia專有驅動乃必要之舉。\n儘管Nvidia官方有詳細的驅動安裝說明文件，但只有針對Debian與RHEL系發行版，壓根沒提到Arch Linux系的發行版，也不提供套件庫。所幸有全球社群的協助，Arch Linux還是可以安裝Nvidia推出的各式技術與產品的。\n一般用戶玩遊戲只要裝完Nvidia專有驅動即可。要跑3D渲染、神經網路(Neural Network)、深度學習(Deep Learning)等AI相關程式的用戶才需要裝後面的CUDA、cuDNN、TensorRT套件。\n1. 安裝Nvidia專有驅動 # 1.1. 桌上型電腦 # 桌上型電腦指的是以Nvidia當主顯示卡的配置。\nArch Linux Wiki建議使用pacman安裝Nvidia驅動，不要執行Nvidia官網提供的.run程式，這樣裝錯了才方便移除。\n執行指令sudo lspci -k | grep -A 2 -i \u0026quot;NVIDIA\u0026quot;查看現在顯卡是使用哪個驅動。沒安裝專有驅動前，Linux應該會載入nouveau驅動。 Turing架構以後的Nvidia顯示卡，用以下指令安裝最新Nvidia驅動。安裝後nouveau應會被禁止載入(黑名單指令寫在/usr/lib/modprobe.d/nvidia-utils.conf)。\nsudo pacman -S nvidia-open-dkms nvidia-utils 至於比較舊的Nvidia顯示卡，Nvidia可能已經停止提供最新驅動，請參閱Arch Wiki了解舊版驅動的套件名稱為何，再從AUR安裝。\n建議安裝純文字工具「nvtop」用於查看顯示卡使用率 sudo pacman -S nvtop 安裝驅動後重開機。\n用nvidia-smi指令檢查安裝狀況，如果有顯示驅動版本代表驅動安裝成功。Nvidia驅動應是開箱即用的，無需手動調整X伺服器設定。 再度執行指令sudo lspci -k | grep -A 2 -i \u0026quot;NVIDIA\u0026quot;，查看nouveau是否已經變成nvidia驅動。 試著開瀏覽器看高畫質影片，再於終端機執行nvtop指令，可從圖表的顯卡使用率確認Nvidia顯示卡有無參與圖形算繪。 1.2. 雙顯卡筆電 # 搭載Nvidia顯卡的Linux筆電的安裝驅動方式跟桌上型電腦一樣。\n不過，Intel＋Nvidia的雙顯卡筆電，即使裝了Nvidia驅動也可能繼續用Intel顯卡渲染3D，導致3D性能低下。\n此時請使用PRIME指令啟用Nvidia顯示卡渲染；或者用Envy Control完全切換顯卡渲染工作。\n如果Nvidia專有驅動導致進入tty黑螢幕的話，於/etc/default/grub的GRUB_CMDLINE_LINUX_DEFAULT引數加入nomodeset，再更新GRUB。\n3. 安裝CUDA # CUDA (Compute Unified Device Architecture)，在做深度學習、Blender渲染時常用到的技術。\n本文撰寫時點CUDA最新版本為12.4\n參考Arch Wiki了解目前你的Nvidia驅動支援到哪個版本的CUDA。這裡是直接安裝最新版本CUDA： sudo pacman -S cuda 然後重開機，用nvcc --version指令確認CUDA版本。 Arch Linux會將CUDA相關檔案安裝至/opt/cuda，有需要的話可以將CUDA的PATH加到~/.bashrc，此路徑永遠指向最新版CUDA。\nexport PATH=/opt/cuda/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/opt/cuda/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 欲安裝舊版本CUDA，去AUR找社群打包的就可以了。\n例如現在最新版是CUDA 12，而你需要CUDA 11.1，就從AUR裝。舊版CUDA會安裝到/opt/cuda-版本號。\nyay -S cuda-11.1 CUDA可以多版本共存，改一下~/.bashrc裡面的路徑，指向舊版就行了。 export PATH=/opt/cuda-11.1/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/opt/cuda-11.1/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 參考資料 # NVIDIA - ArchWiki NVIDIA/Troubleshooting - Arch Wiki GPGPU - ArchWiki Nouveau: Accelerated Open Source driver for nVidia cards - freedesktop.org NVIDIA Driver Installation Quickstart Guide NVIDIA CUDA Installation Guide for Linux ","date":"2026年2月1日","externalUrl":null,"permalink":"/posts/archlinux-install-nvidia-drivers/","section":"所有文章","summary":"本文解說如何在Arch Linux安裝Nvidia專有驅動，解決畫面撕裂問題，以及介紹如何安裝相關的CUDA套件。 Linux核心內建的Nvidia驅動是為開源的nouveau，由Linux社群逆向工程而來。nouveau讓你至少開機有畫面，但是一跑3D程式就破功了，nouveau的圖形效能只有Nvidia官方專有(閉源)驅動的一半，所以安裝Nvidia專有驅動乃必要之舉。\n儘管Nvidia官方有詳細的驅動安裝說明文件，但只有針對Debian與RHEL系發行版，壓根沒提到Arch Linux系的發行版，也不提供套件庫。所幸有全球社群的協助，Arch Linux還是可以安裝Nvidia推出的各式技術與產品的。\n一般用戶玩遊戲只要裝完Nvidia專有驅動即可。要跑3D渲染、神經網路(Neural Network)、深度學習(Deep Learning)等AI相關程式的用戶才需要裝後面的CUDA、cuDNN、TensorRT套件。\n1. 安裝Nvidia專有驅動 # 1.1. 桌上型電腦 # 桌上型電腦指的是以Nvidia當主顯示卡的配置。\nArch Linux Wiki建議使用pacman安裝Nvidia驅動，不要執行Nvidia官網提供的.run程式，這樣裝錯了才方便移除。\n","title":"教你在Arch Linux安裝Nvidia專有驅動、CUDA","type":"posts"},{"content":"","date":"2026年1月30日","externalUrl":null,"permalink":"/tags/shizuku/","section":"標籤","summary":"","title":"Shizuku","type":"tags"},{"content":"冰凍三尺，非一日之寒。\n所以你需要雹(Hail)！\n這款開源APP可以禁止Android APP在背景（後台）自動啟動，達成省電的效果，釋放被佔用的RAM。不需要Root權限就可以使用。 都已經2026年了，Android還需要手動禁止APP背景執行嗎？\n對付不講武德的中國大陸APP很有必要。中國APP是出了名的喜歡在背景執行，一個個小小的服務累積起來，便會耗光你手機的電。儘管我不反對下載中國APP，可是依然存有芥蒂。如果中國APP有上Google Play商店，代表他們有遵守Google定下的規矩，少用一些流氓權限，我會比較信任一些。問題是，很多APP只能從他們的官網下載。下載中國大陸APP的時候，我很容易假定他們都是流氓APP，會在背景自啟動耗電，以及盜取資料。最噁心的還是互相喚醒，開一個APP，其他APP就起來跟著作妖。\n其實不是只有中國的APP會這樣啦，歐美的APP有些也會在背景偷偷執行，如果擔心耗電的話就一視同仁處理。\niOS是比較安全，權限都被限制的死死的，不用擔心在背景一直執行。至於Android就得注意了。對於中國大陸的APP，特別是連Play商店都沒有上架的要特別注意，這代表他們連基本自律都做不到。\n對於需要到官網下載的中國APP，我就得特別禁止他們在背景執行。在類原生系統，我都會到Android應用程式設定裡面，將「允許APP在背景使用」關閉。在Android 12以上的版本這個權限是真的能禁止背景自動執行！ 但這樣就高枕無憂了嗎？這個機制是交給Android自動判斷的，不會在退出APP畫面後立即中止APP執行。\n如果想要一鍵禁止APP背景執行，還是需要一款APP能夠強力凍結背景執行的權限吧。這個時候我會使用雹(Hail)來達成這個操作。用冰雹砸死他們。\n1. 雹APP的特色功能 # 禁止背景APP執行，已經有很多方案出現過，例如綠色守護(Greenify)、黑域(Brevent)、冰箱(Ice Box)、小黑屋(StopApp)。\n跟他們比起來，雹(Hail)這個APP是完全開放原始碼的。功能完全免費，無廣告。可作為上述APP的替代品。\n雹除了手動讓APP禁止背景執行之外，也可以設定在螢幕鎖定之後自動凍結指定的APP。\n雹另外提供暫時解除安裝內建APP的功能。\n考慮到中止背景執行APP需要較高層級的權限，即使不用Root，也需要用ADB權限操作。我認為冰雹作為開源軟體，比較值得信任。\n2. 下載雹APK # 請到Github或F-Droid下載\n這個APP最低支援到Android 7。我測試可以在Android 15正常使用。\n3. 設定雹服務的工作模式 # 雹對APP的操作，利用Android原生的機制，分為強制停止、停用、隱藏、暫停幾種。以下是作者Github對不同模式的說明： 如果要讓APP禁止在背景執行，選「強制停止」就行了，這樣APP就會完全停止，也不能逕行傳送通知。我不確定其他模式有啥用，除非你的APP流氓到被強制停止了還會自己跳起來，那就得用其他模式試試。\n接著要選工作模式。雹為了強制停止背景APP執行，需要獲得很高的權限才能操作。這主要分為Shizuku、Root權限、裝置管理員、系統APP幾種途徑來獲取。\n對於Android 11以上版本的手機，Shizuku是最簡單的方法。\n安裝Shizuku，啟動Shizuku服務\n接著在雹APP設定 → 工作模式選「Shizuku - 強制停止」 P.S. 如果在Insular產生的工作設定檔裡面使用雹的話，就不需要Shizuku賦予權限了！\n4. 雹APP使用教學 # 設定好工作模式之後，在列表選取APP，勾選加入列表 然後在雹APP的首頁按冰凍圖示（這個凍結按鈕可以加到Android桌面），列表裡面的APP就會被強制停止。執行中的APP會是彩色的，停止後會變成灰色。從這裡也能觀察到哪些APP會互相喚醒。 備註：有些APP推送通知可能是使用Google FCM，也就是透過系統GMS服務傳送的，因此即使你將APP強制停止依然會收到通知。不要收到通知的話，你應該直接關掉個別APP的通知權限。\n可以設定在手機螢幕鎖定之後，讓雹自動凍結所有指定的APP。我覺得這個功能十分便利，不需要特別去按，能夠很直覺的自動停止那些APP，防止他們在背景耗電。 ","date":"2026年1月30日","externalUrl":null,"permalink":"/posts/hail-freeze-android-apps/","section":"所有文章","summary":"冰凍三尺，非一日之寒。\n所以你需要雹(Hail)！\n這款開源APP可以禁止Android APP在背景（後台）自動啟動，達成省電的效果，釋放被佔用的RAM。不需要Root權限就可以使用。 都已經2026年了，Android還需要手動禁止APP背景執行嗎？\n對付不講武德的中國大陸APP很有必要。中國APP是出了名的喜歡在背景執行，一個個小小的服務累積起來，便會耗光你手機的電。儘管我不反對下載中國APP，可是依然存有芥蒂。如果中國APP有上Google Play商店，代表他們有遵守Google定下的規矩，少用一些流氓權限，我會比較信任一些。問題是，很多APP只能從他們的官網下載。下載中國大陸APP的時候，我很容易假定他們都是流氓APP，會在背景自啟動耗電，以及盜取資料。最噁心的還是互相喚醒，開一個APP，其他APP就起來跟著作妖。\n其實不是只有中國的APP會這樣啦，歐美的APP有些也會在背景偷偷執行，如果擔心耗電的話就一視同仁處理。\niOS是比較安全，權限都被限制的死死的，不用擔心在背景一直執行。至於Android就得注意了。對於中國大陸的APP，特別是連Play商店都沒有上架的要特別注意，這代表他們連基本自律都做不到。\n","title":"透過 雹(Hail) 凍結背景APP執行，節省Android手機耗電量","type":"posts"},{"content":" 「四重螺旋」是我個人覺得高CP值、高刺激、緊、耐用的飛機杯。\n處女螺旋(ヴァージンループ)是日本Ride Japan在2013年推出的飛機杯系列，四重螺旋是其中最早推出的，已有10年歷史了。現在日本與台灣各大線上賣場依然還買得到，而且hen便宜。\n本篇講的是第一代神器「四重螺旋」！オナホ動画評價五星、Amazon連兩年霸榜的存在。\n幹過幾款飛機杯，我覺得四重螺旋是處女螺旋系列中最實用的了，接近百幹不膩。價格還很便宜，千元台幣以下，物超所值。 四重螺旋非常～好用～，尤其是硬版，好用到我要買第三個了。前後用了快要5年了 四重螺旋的重量比之後出的處女螺旋系列輕了很多，好比iPhone SE 2016與iPhone 6s Plus的差異，但不減實用性。這樣輕才好啊！剛好一手掌握。嫌不夠緊要用手掐住也方便。\n在進入正題前，我先來個\u0026quot;turn you on\u0026quot;的圖。這篇的二個飛機杯各有千秋啊，她們關係可以類比下面朝凪畫的圖吧： 左邊伊8肉厚，右邊呂800緊緻，反正都有辦法讓你大爆射。四重螺旋軟版比較符合誰的印象，硬版又比較像誰，自行體會吧。 下面的內容，我會比較側重硬版的部份，軟版的部份因為不夠刺激因此沒辦法講太多。\n1. 四重螺旋軟版評價：溫暖的騎乘位 # 上市日期：2013年\nヴァージンループハード，四重螺旋，又稱四道處女螺旋。 這是處女螺旋系列最早發售的，到現在換包裝還在賣。\n第一彈發售的是軟版粉紅色的「ヴァージンループ」，接著才是透明色的硬板。由於是最早發售的，它的名字就叫「處女螺旋」(ヴァージンループ)，沒有「四重」的字樣。有些廠商把它翻譯成「女子高中生」、「四葉草」，可能是洞口造型的緣故。\n內穴不到14公分，是螺旋系列中最短最緊的，這樣的內部長度很容易頂到底，就像R20二代一樣適合短屌。\n儘管軟版和硬版的結構一樣，但是特別要指出的是，四重螺旋軟版刺激度不如硬版，可說是溫柔的前菜，但不能當主餐的程度。因此不要看那個四葉草的洞口好像很緊，實則不然，一頂進去就會因為材質柔軟而被撐開。 因此雞雞會被包覆卻又沒有壓迫感，單純溫柔的用紋路按摩，很輕鬆就能頂到底。 由於四重螺旋很輕又短，所以非常適合單手操作，如果覺得軟版慢慢刺激不好玩那輕鬆就能用手操控，夾緊一些增加壓力。 作者：belko\n即使如此，軟版的壓力依然不如硬版天生就有的壓迫感，用起來就像是一款軟嫩的肉塊輕撫雞雞，有點偏向慢玩型的感覺，時候到了就可以自主決定射精時機。在這裡能夠知道，軟版是作為攻略硬版大魔王的前哨戰，也可說是硬版的同級替代品，讓人享受到頂到底的快感。\n3. 四重螺旋硬版評價：榨乾你的雞雞 # 正如前面所說的，主菜現在才開始。\n上市日期：2014年\n據說四重螺旋硬版是2015年與2016年連續在日本Amazon オナホール霸榜的存在。 早期的立繪比較樸實，後來有換包裝繼續賣。 雖然外觀不如軟版討喜，但是是真正的小鋼砲，實用取向設計。\n記得初次使用感覺，因為四重螺旋很緊緻的緣故，沒經驗的人可能會直接被擠出來，宛如蘿莉的穴，純粹就是緊而已，第一次體會到整根被夾住的感覺，然後就去了，達成包裝盒上寫的「即射」體驗。\n感想如下圖： 小悪魔ぼなぺてぃーと\n咦？咦？怎麼那麼快。\n利用官網提供的圖片輔助說明，四重螺旋硬版開口不做任何假裝緊緻的陰唇設計，直通通的洞穴向你敞開。內部只有紋路沒任何突起。不要看她洞口好像很鬆的樣子喔，實際上是連一根拇指都有辦法吸住的等級。「四葉草」的管道遍佈細緻的紋路，但最重要的是那緊緻的通道大小，有大拇指略寬的通道就足以形成狹窄的通道。 硬版材質不會像軟版一樣頂進去就被撐開，而是牢牢的吸住，製造強烈的包覆感，這樣精液就正在路上了。 四重螺旋硬版和軟版一樣，頂到底就是肉而已，沒有特別做紋路或子宮的設計。\n這是剛開封新買的洞口 這是用了一年後舊版的洞口，可以看到，即使用很久，它還是緊的不像話！ 再講一次感覺，一插入，幹怎麼可以緊成這樣！抽插的時候可以感到強大的壓力，一軟屌的話就會被推出來呀。所以剛上手的時候不適合慢慢磨蹭，需要看高刺激的尻尻素材維持硬度，盡力用硬屌來征服可惡的緊緻小穴。 ウチのフォーリナーがトイレの場所も守らない悪い猫だったので物理的手段で躾ける話\n作者：guriguri\n明明包裝沒強調是蘿莉型飛機杯，但確有這等實力呀。也不是說四重螺旋只能模擬蘿莉的穴啦！用來模擬激烈少女性交也是可以\u0026hellip;。真的太緊了\u0026hellip;\u0026hellip; 作者：黒胡椒\n不斷的刺激才不會軟屌，一軟屌就會被推出去。被四重螺旋的小穴拒絕，被嘲諷真是沒用 ～ 自信和肉棒都在被侵犯著，拼命硬著又試圖不要被刺激到早洩，不停抽插感受極大腔壓的刺激。四重螺旋那種壓迫陰莖的感覺不是軟版的溫柔撫慰，而是乾脆緊實的暴烈侵犯。 鈴香様の下僕 作者：hxd\n可\u0026hellip;可惡竟然連飛機杯都征服不了？雖然終究是要被搾出精子的\u0026hellip;啊啊，最後恍惚的一失神，只知道本能的把龜頭頂到底，精子瞬間充滿整個小穴深處。回過神來陰莖仍在潺潺的注入精子，拉扯著輸精管試圖擠出更多精液，蛋蛋完全被掏空。最後這個飛機杯仍吸緊緊的，念念不忘的拔出來後屌是徹底癱軟狀態。\n因為四重螺旋很短，能看到自己的屌填滿小小緊緊的穴，射精的時候仔細盯著也可以看到軌跡，這樣滿有成就感的。\n驚異的是四重螺旋用了一年後還可以維持很緊的感覺，雖然已經沒剛買的時候誇張。為什麼飛機杯評測網站說的刺激龜頭對我來說都沒甚麼感覺呢，紋路的刺激要很小心的去感受才有一點差異，這導致飛機杯通道只要不夠緊就等同無效了，如同耳機聽320K音樂就夠了根本分不出FLAC差異麼。唯一有感的是緊度，四重螺旋硬版，緊度不容易鬆弛，可以用一年以上。加上四重螺旋能一手掌握方便插到底的長度，用起來非常方便。\n四重螺旋腔壓很重，整根陰莖都被刺激夾緊著，這就很有感覺了。不論是第幾次用四重螺旋都會感受到非常強大的壓力，如果不常常訓練，習慣這種緊緻感覺，那麼抽動不到一分鐘就會射精。\n雖然已經拿四重螺旋鍛煉過十來次，可是一不留神還是會秒射出來。為此掌握節奏是很重要的，不要一開始就橫衝猛撞，雖然一下子插到底被擠壓的快感很爽沒錯，但為了防止每次用完四重螺旋都像虛脫一樣，開始學習控制節奏。慢慢的抽插，欣賞著配菜，最後感覺到了才開始猛烈搖動，最終滿意的射精，完成一次鍛煉。經此長久下來，四重螺旋已經可以連續抽插5分鐘以上都還能繼續應戰了。可只要鍛煉荒廢個幾天，雞雞又瞬間臣服在四重螺旋的淫威下被榨個半死。四重螺旋好似一種高效榨精飛機杯，又是訓練對高刺激忍受度的工具。\n結論 # 對我個人而言，不需要複雜的紋路和刺激龜頭的突觸，只要四重螺旋單純的壓力就足以讓人瘋狂射精，每次抽插都會整根顫抖，想著不能那麼快被榨出來，可惜手跟著本能加速套弄，最終陰莖受不了刺激便會繳械。或許是四重螺旋用的太習慣，導致幹其他通道相對寬的飛機杯就很難有一樣的爽度。四重螺旋要練到持久射精很困難，因為刺激度過高。真是可怕，四重螺旋已經發售十年了還是這麼好用。\n總結來說，四重螺旋單純就是用緊實的感覺搾出精子，紋路的從一開始就沒什麼用處。不如說就算紋路被壓平了，四重螺旋的穴照樣能用天生緊實的設計搾死人。四重螺旋好用到我要買第三個了，我認為武器庫裡面總要時常保養，或者更新這款神器。可惜的是四重螺旋的繼承款式把長度做太長了不好拿，所以我只好去買庫存了。\n","date":"2026年1月30日","externalUrl":null,"permalink":"/posts/ride-japan-virgin-loop-soft-and-hard-review/","section":"Nsfws","summary":" 「四重螺旋」是我個人覺得高CP值、高刺激、緊、耐用的飛機杯。\n處女螺旋(ヴァージンループ)是日本Ride Japan在2013年推出的飛機杯系列，四重螺旋是其中最早推出的，已有10年歷史了。現在日本與台灣各大線上賣場依然還買得到，而且hen便宜。\n本篇講的是第一代神器「四重螺旋」！オナホ動画評價五星、Amazon連兩年霸榜的存在。\n幹過幾款飛機杯，我覺得四重螺旋是處女螺旋系列中最實用的了，接近百幹不膩。價格還很便宜，千元台幣以下，物超所值。 四重螺旋非常～好用～，尤其是硬版，好用到我要買第三個了。前後用了快要5年了 四重螺旋的重量比之後出的處女螺旋系列輕了很多，好比iPhone SE 2016與iPhone 6s Plus的差異，但不減實用性。這樣輕才好啊！剛好一手掌握。嫌不夠緊要用手掐住也方便。\n","title":"「四重螺旋」多年使用評價，高CP值又高刺激又緊又耐用的飛機杯","type":"nsfw"},{"content":"測試了一些Android第三方桌面（啟動器），我覺得「Neo Launcher」算是一個值得推薦的不錯選擇。開放原始碼，不會追蹤使用者資料。提供APP自動分類功能，允許在搜尋APP的時候一併顯示網頁結果。還有很多很多自訂功能。 正常來說，做的好的Android桌面，應該是不會有讓你想換掉的欲望。我會想換掉的原因，在於目前拿的中階機Sony Xperia 10 V的優化太爛，Android 15連內建Xperia桌面的動畫都會卡，看了很不爽！！！換成其他桌面問題就解決了。\n1. 比較F-Droid的開源Android桌面 # 我想要找的Android桌面以開源專案為主，不想被收集使用資料。我不想用專有軟體Nova Launcher、Microsoft Launcher、Niagara Launcher這些的，縱然他們真的很好看。\n這裡講個可惜的事情，老字號Nova Launcher作者已經維護不下去了，原本2025年想要開源，放給社群接手，卻被頭上的公司中止了，導致作者最後退出開發。2026年被Instabridge公司收購，未來很可能會邁向enshitfication。\n說道開源Android桌面，F-Droid上一直有人在推出桌面APP，但我很想吐槽的一點是，很多桌面實在\u0026hellip;太精實了，有的根本只有文字清單而已，美其名曰「專注」與「極簡」，可是這種設計根本不能算桌面。\nKvaesitso這類搜尋導向的桌面太先進了我用不來。\n勉強挑了幾個比較正常一點的桌面出來。\nFossify Launcher太簡單而且會隨機卡頓。\nLawnchair長得太像Pixel我不喜歡，強項是提供主題包。\n經過比較下來，我覺得Neo Launcher算是功能比較齊全的第三方桌面了，基於AOSP桌面開發，自訂選項夠多。\n只是，不管我用哪個桌面，這些第三方桌面都無法跟Android 15系統動畫很好的配合。我用手勢返回桌面會有不自然的轉場，開啟APP的轉場動畫也不是從圖示縮放，會讓強迫症的人不爽。這可能是AOSP系統設計的問題。\n2. Neo Launcher功能簡介 # 可自訂的界面。顏色、圖標形狀、透明度都能自訂，也能自訂桌面手勢滑動要觸發的操作。桌面模式(Desktop Mode)我不確定有什麼用。 首頁就正常放置APP圖標，有顯示天氣日期、日曆待辦事項的小工具。可以將Neo Launcher快捷拉動狀態欄的小工具圖示放到桌面。 點兩下會在螢幕底部跳出Dash，讓你不用伸手去拉狀態欄，頗有iOS 9控制中心的味道。 在設定 → Search Feed挑選要用的搜尋引擎。在APP列表打字搜尋的時候便會顯示本機APP以及網路結果 設定 → Drawer → Protected Apps，可以給個別APP設定螢幕密碼鎖。\n在設定 → Drawer → Categorize Apps，設定自動依照類別，或者手動分類APP。然後在APP列表便會以標籤式分頁顯示分組的APP。 ","date":"2026年1月29日","externalUrl":null,"permalink":"/posts/neo-launcher-android/","section":"所有文章","summary":"測試了一些Android第三方桌面（啟動器），我覺得「Neo Launcher」算是一個值得推薦的不錯選擇。開放原始碼，不會追蹤使用者資料。提供APP自動分類功能，允許在搜尋APP的時候一併顯示網頁結果。還有很多很多自訂功能。 正常來說，做的好的Android桌面，應該是不會有讓你想換掉的欲望。我會想換掉的原因，在於目前拿的中階機Sony Xperia 10 V的優化太爛，Android 15連內建Xperia桌面的動畫都會卡，看了很不爽！！！換成其他桌面問題就解決了。\n1. 比較F-Droid的開源Android桌面 # 我想要找的Android桌面以開源專案為主，不想被收集使用資料。我不想用專有軟體Nova Launcher、Microsoft Launcher、Niagara Launcher這些的，縱然他們真的很好看。\n這裡講個可惜的事情，老字號Nova Launcher作者已經維護不下去了，原本2025年想要開源，放給社群接手，卻被頭上的公司中止了，導致作者最後退出開發。2026年被Instabridge公司收購，未來很可能會邁向enshitfication。\n說道開源Android桌面，F-Droid上一直有人在推出桌面APP，但我很想吐槽的一點是，很多桌面實在…太精實了，有的根本只有文字清單而已，美其名曰「專注」與「極簡」，可是這種設計根本不能算桌面。\n","title":"Neo Launcher，比較好用的開源Android第三方桌面，支援APP分類標籤","type":"posts"},{"content":"因為用了兩年都還沒壞，無買新機之必要，所以就給手機和平板換個殼就好。\n😀：你有什麼新年新希望？\n😄：我希望新的一年綠白合！我裡面是墨綠！\n😅：你的獨角獸要什麼顏色的？\n🥹：藍色。\n手機殼用久了總要換的，但總覺得越換越不滿意，正應了Unix哲學的那句話Worse is better是吧。 Apple官方手機殼很盤，Sony官方出的殼也很盤。不過Xperia 10 V已經過季很久了，官方「時尚」保護殼XQZ-CBDC的存貨價格砍半，從原價1000掉到只要500，我就買來試試。我長期以來都是用便宜的TPU殼。\n這個殼據說也是用跟機身一樣的塑膠做的，而且高度有隆起，重達31g，這就破壞了Xperia 10 V的輕盈手感了。\n因為別人都是買一樣顏色的保護殼，我想說買個跳色的搭配。手機綠色的加上外殼白色。我覺得應該買個來玩玩，是可立式的。\n買之前是這樣想，買了之後五味雜陳。Sony官方的手機殼果然有種槓盤子的感覺。雖然是有可以立起來的支架，但是卻是半裸奔的樣子，那是哪門子保護殼。 結果竟然不是全包覆的，200塊TPU都有的東西，他們卻做成這副德性，只有背板和四角包覆，側邊卻是裸機，活像是穿裙子卻下空，感到一陣涼意。跳色看上去很不協調不過這是我故意弄出的反差。\n而且還搞差別岐視，1V和5V的殼都能直立站著，10V的卻只能橫向站立，直立可能會斷掉。Sony很賤喔，即使5V跟10V大小一樣，但因為鏡頭數量不同殼不能通用。要到10VI才調整成可以直立站著的樣式。\n這個殼勉強只有手感能說嘴，因為是使用SORPLAS回收塑膠製成的，有抗菌效果，用久了不容易像TPU一樣變黏黏的。似乎要到Xperia 10 VII的手機殼才會有全包覆。雖說沒有側邊的保護可以維持21:9機身的纖細手感，但我倒是不覺得厚那1cm是會怎樣。\n而且這個塑膠製的手機殼拿起來滑滑的，嘛拿久了也就習慣了，這種厚實的感覺握起來比TPU要高級些。\nXperia 10 V和Xperia 1 V比起來真的有肉眼可見的廉價感。塑膠機身和震動馬達都是很廉價的，震動太厲害了，手感很不好。嗯\u0026hellip;一個life hack可以短暫解決這個問題，購買官方保護殼，1000塊的，裝上去之後有粗粗的質感，而且旗艦機的殼也是這個材質。然後這個厚重的殼會抵消震動馬達的不適感。關於原廠系統太卡的問題，刷機為LineageOS就解決了。\n話說我的iPad Air 6 殼經過兩年的戰損也差不多嚴重了，得更新一下殼。iPad機身是藍色的，要在這裡搞藍白合嗎！？不要，我寧願下個殼是粉色的，這樣我剛好弄個MTF旗配色，就像這樣\niPad Air 6的殼用了兩年之後已經產生各種戰損了。我買的這個殼是中國廠商的廉價仿製品，500元就有一個多種角度的站立皮套，不用買到好幾千的大牌子也能有還行的品質。一年下來，皮革上已經沾滿充滿各種擦不掉的白板筆筆跡，大概是我上課一直拿著看的緣故。我真的把它當公務機看待了，裡面大部分時候都是放課業與工作用的教材，我大部分時候都是用Linux，不使用的時候就放著待機，iPad兩三天才充一次電。多虧有皮套保護，螢幕沒有刮到，金屬背蓋也完好無缺，要是二手賣掉的話還能賣個好價格。皮套一闔上觸發霍爾感應器，iPad就會自動進入休眠。十分感謝它。我在露天買的的南方公園貼紙和FreeBSD官方貼紙真硬朗，沒有掉下來，可是也快被磨平了。\n我買了個新的殼，附贈鍵盤的要嘛？我暫時不考慮，有Apple Pencil筆槽就夠了，反正那些說能複製巧控鍵盤體驗的都是重的要命的藍牙鍵盤，我還是用分離式的藍牙鍵盤就好。\n然後不要再在殼外面貼貼紙了，拿在手上容易沾到。\n","date":"2026年1月29日","externalUrl":null,"permalink":"/posts/contrast-color-phone-cases-in-2026/","section":"Unboxings","summary":"因為用了兩年都還沒壞，無買新機之必要，所以就給手機和平板換個殼就好。\n😀：你有什麼新年新希望？\n😄：我希望新的一年綠白合！我裡面是墨綠！\n😅：你的獨角獸要什麼顏色的？\n🥹：藍色。\n手機殼用久了總要換的，但總覺得越換越不滿意，正應了Unix哲學的那句話Worse is better是吧。 Apple官方手機殼很盤，Sony官方出的殼也很盤。不過Xperia 10 V已經過季很久了，官方「時尚」保護殼XQZ-CBDC的存貨價格砍半，從原價1000掉到只要500，我就買來試試。我長期以來都是用便宜的TPU殼。\n這個殼據說也是用跟機身一樣的塑膠做的，而且高度有隆起，重達31g，這就破壞了Xperia 10 V的輕盈手感了。\n因為別人都是買一樣顏色的保護殼，我想說買個跳色的搭配。手機綠色的加上外殼白色。我覺得應該買個來玩玩，是可立式的。\n買之前是這樣想，買了之後五味雜陳。Sony官方的手機殼果然有種槓盤子的感覺。雖然是有可以立起來的支架，但是卻是半裸奔的樣子，那是哪門子保護殼。 結果竟然不是全包覆的，200塊TPU都有的東西，他們卻做成這副德性，只有背板和四角包覆，側邊卻是裸機，活像是穿裙子卻下空，感到一陣涼意。跳色看上去很不協調不過這是我故意弄出的反差。\n","title":"更糟就是更好：給Sony手機換官方跳色手機殼","type":"unboxing"},{"content":"","date":"2026年1月29日","externalUrl":null,"permalink":"/tags/mastodon/","section":"標籤","summary":"","title":"Mastodon","type":"tags"},{"content":"Mastodon是什麼？它是一個聯邦式的社群網站，始於2016年，支援各國語言的界面，還可以自架。\nMastodon的去心化設計、聯邦式運作機制有什麼特色呢？下面讓Ivon一一介紹Mastodon的使用方法。 1. 簡短的Mastodon使用心得 # Mastodon擁有標準的社群媒體功能。貼文叫做嘟文 (toot)。嘟文字數上限500字。通常可以附加影音檔案、舉辦投票、設定瀏覽權限、設定嘟文語言等。發文時可用hashtag「#」參與特定話題討論，用「@」標注其他用戶。可以對嘟文進行回覆、轉嘟（轉貼到自己的時間軸）、按喜歡、加入書籤等等。 我在Mastodon混了大概兩三年了，輾轉流落於幾個伺服器，最終定居於最大的這個：@ivon852@mastodon.social。在Mastodon混得越久，我覺得我比較不會有想刻意「引人注意」的感覺了，我也不再去在意他人的按讚數有多少，因為演算法就不鼓勵這種機制，或者說Mastodon根本沒有推薦演算法，一切都按照時間排序。\n在Facebook你很容易被演算法蠱惑，要獲得成功，得費盡心思佈置文案，開頭要鋪一句梗，然後結構要清晰易懂，才能可能獲得更多的讚與分享，迎合演算法把文章推出去去。\n說實話這讓人很累，每當你看著貼文的按讚數不如預期，心情都起起落落的。然後你越是想要獲得流量，便很容易落入rage-baiting的圈套內。\n而在Mastodon，機制不鼓勵洗讚，你寫得再狗血也很難有演算法幫你推出去。沒有演算法推送你感興趣的內容，這似乎會讓社群媒體看起來有點無聊？那麼要讓社群媒體活起來，便是主動去關注他人，發掘有趣的靈魂，並多多留言了，鼓勵人們有更多真實的互動，而非單純地想要更多流量數字而已。使用Mastodon不要把其他社群媒體的習慣帶過來，只是被動按讚。那還不如滑過去就好。多多說話才是王道。\n另外，Mastodon也不會將使用者鎖在一個伺服器內，你想要跨伺服器追蹤其他伺服器的用戶，都是沒有問題的。如果你想搬家的話，Mastodon也允許你將資料打包帶走。這個予人於自由的權力感覺很不錯。 2. Mastodon的聯邦機制是什麼？ # Masotodon採取聯邦制(federated)，由多個伺服器組成聯邦宇宙(fediverse)。沒有固定的中心伺服器，使用者得自行挑選，加入一個伺服器（instance，又稱站點、實例）。 這麼做的好處是透過去中心化的形式，避免傳統社交平台單點故障的問題，而且不會讓用戶被綁在一個伺服器內。\n網路上有很多Mastodon伺服器可以註冊，譬如：\nMastodon官方經營的最大伺服器，擁有世界各地的用戶：mastodon.social 日本插畫網站Pixiv經營的：Pawoo 討論自由開源軟體的：Fosstodon 中華民國軟體自由協會經營的：social.slat.org 中國人經營的：长毛象中文站 台灣人經營的：g0v.social 更多伺服器，請到Mastodon官網查詢，這裡面的篩選器能幫助你找到適合自己的伺服器。 我個人覺得，既然Mastodon有跨站追蹤機制，是沒有必要刻意選標注中文的伺服器啦，除非你容易感到孤單寂寞覺得冷。且考慮到Mastodon伺服器經營不易，選擇比較多人用的就比較不用擔心哪天站長不爽把伺服器關了。\n每個伺服器都有自己的規定，包括對成人內容、政治言論的容忍度，Mastodon並沒有統一的規範，一切都是由各伺服器的站長自行管理，所以管理員想ban人就ban人你也拿他沒辦法。Mastodon伺服器還可以封鎖其他伺服器的訊息，例如mastodon.social預設會封鎖一些廣告和色情內容的伺服器，不讓他們顯示在聯邦時間軸。\n雖然這些伺服器是分開經營，但由於他們都是使用Mastodon架設，使用ActivityPub協定，因此位於不同伺服器的用戶可以互相跟隨。此外，支援ActivityPub協定的其他社群網站也可以跟隨Mastodon用戶，譬如Threads、Bluesky、Misskey，不用註冊帳號也能跟隨Mastodon用戶。\n如果你想搬家的話，一些Mastodon伺服器也允許你將資料打包帶走。你甚至可以設定一段時間內自動刪除舊的發文。\n要是沒有一個伺服器能滿足你，就自架吧！由於Mastodon程式是開源的，任何人都可以用Mastodon來架設伺服器，自訂想要的功能。\n3. 如何註冊Mastodon帳號 # Mastodon的帳號是由帳戶ID+@+伺服器名稱構成的。例如我是：@ivon852@mastodon.social。這代表了在該伺服器上的帳戶名稱，以及表明所在的伺服器。\n這通常是新手不能理解的地方，但拿電子郵件比喻就很清楚了：不論你是Gmail還是Protonmail，都能寄信給對方對吧？Mastodon的伺服器間透過統一的協定來交換訊息。即使兩個帳號身處不同的Mastodon伺服器，依然能夠透過ActivityPub搜尋到彼此的帳號，進而追蹤對方動態。\n因此，就像我上面說的，註冊Mastodon帳號前要先挑選一個Mastodon伺服器，每個伺服器都要註冊專屬帳號。但不需要為了追蹤某個用戶去其他伺服器註冊一堆帳號，只要使用跨站追蹤功能就好了。\n以mastodon.social為例，用電子郵件註冊帳號，確認通知信件後就能用了。有些站點會花點時間審核帳號註冊，每個站點有自己的玩法。 4. Mastodon的時間軸 # 每個伺服器頁面排版不同。我這裡示範的是mastodon.social目前有的頁面。\n第一，「首頁」，在這裡會顯示你關注的人士（包含伺服器內與伺服器外）的動態。 第二，「熱門」，類似傳統社群媒體，依照演算法推薦比較多人互動的嘟文和標籤。其實這個功能有點爭議就是了，因為這就落入了傳統社群媒體的困境，容易讓人被演算法牽著鼻子走。有的伺服器不會開這個功能。但起碼不會強迫你點進去看。想了解趨勢的時候再開來看就好。 第三，「即時內容」，在「本站時間軸」會看到該伺服器裡的全部用戶的動態。 「聯邦宇宙」能夠看到其他伺服器的訊息，有機會認識其他伺服器的用戶。不過Mastodon時間軸是單純按照時間排序，沒有演算法整理，訊息量會很大。 5. 如何在Mastodon上跟隨他人？ # 透過跟隨(follow)用戶，對方的動態就會顯示在你的Mastodon首頁時間軸。\n在Mastodon的搜尋欄位可以搜尋到伺服器內部和外部的用戶。\n如果看到別人說，在Mastodon上找我的時候，可能對方在的是跟你不同的伺服器，難道我要特地到該伺服器伺服器註冊帳號嗎？其實Mastodon是可以跨伺服器站點跟隨對方的。\n上面說過，Mastodon的帳號是由帳戶ID+@+伺服器名稱構成。舉例來說，我待的是mastodon.social這個伺服器，然後我想要追蹤的對象卻在social.kernel.org伺服器的話： 將對方的完整帳號名稱(帳戶ID+@+伺服器名稱)複製下來，到自己的伺服器，在搜尋框搜尋該字串，就可以直接追蹤了。 在那之後，該帳號日後的動態就會顯示在我的Mastodon伺服器的「首頁」，不用特地到對方伺服器的網站去看。\n","date":"2026年1月29日","externalUrl":null,"permalink":"/posts/how-to-use-mastodon/","section":"所有文章","summary":"Mastodon是什麼？它是一個聯邦式的社群網站，始於2016年，支援各國語言的界面，還可以自架。\nMastodon的去心化設計、聯邦式運作機制有什麼特色呢？下面讓Ivon一一介紹Mastodon的使用方法。 1. 簡短的Mastodon使用心得 # Mastodon擁有標準的社群媒體功能。貼文叫做嘟文 (toot)。嘟文字數上限500字。通常可以附加影音檔案、舉辦投票、設定瀏覽權限、設定嘟文語言等。發文時可用hashtag「#」參與特定話題討論，用「@」標注其他用戶。可以對嘟文進行回覆、轉嘟（轉貼到自己的時間軸）、按喜歡、加入書籤等等。 我在Mastodon混了大概兩三年了，輾轉流落於幾個伺服器，最終定居於最大的這個：@ivon852@mastodon.social。在Mastodon混得越久，我覺得我比較不會有想刻意「引人注意」的感覺了，我也不再去在意他人的按讚數有多少，因為演算法就不鼓勵這種機制，或者說Mastodon根本沒有推薦演算法，一切都按照時間排序。\n在Facebook你很容易被演算法蠱惑，要獲得成功，得費盡心思佈置文案，開頭要鋪一句梗，然後結構要清晰易懂，才能可能獲得更多的讚與分享，迎合演算法把文章推出去去。\n說實話這讓人很累，每當你看著貼文的按讚數不如預期，心情都起起落落的。然後你越是想要獲得流量，便很容易落入rage-baiting的圈套內。\n而在Mastodon，機制不鼓勵洗讚，你寫得再狗血也很難有演算法幫你推出去。沒有演算法推送你感興趣的內容，這似乎會讓社群媒體看起來有點無聊？那麼要讓社群媒體活起來，便是主動去關注他人，發掘有趣的靈魂，並多多留言了，鼓勵人們有更多真實的互動，而非單純地想要更多流量數字而已。使用Mastodon不要把其他社群媒體的習慣帶過來，只是被動按讚。那還不如滑過去就好。多多說話才是王道。\n","title":"Mastodon新手使用教學：註冊帳號、聯邦、時間軸、跟隨概念解說，尋找台灣伺服器","type":"posts"},{"content":"","date":"2026年1月28日","externalUrl":null,"permalink":"/tags/last.fm/","section":"標籤","summary":"","title":"Last.fm","type":"tags"},{"content":"","date":"2026年1月28日","externalUrl":null,"permalink":"/tags/subsonic-api/","section":"標籤","summary":"","title":"Subsonic API","type":"tags"},{"content":"只需要一個Navidrome，給您隨身Spotify的體驗。 Navidrome是一款界面簡單的音樂串流伺服器服務。以網頁界面存取，播放音樂的時候會類比唱片轉動的樣子，我覺得蠻可愛的。\n支援在播放時轉碼壓縮音訊，讀取m3u8播放清單，並顯示本機歌詞檔。\n提供點唱機模式(Jukebox Mode），能夠反向用手機控制，用電腦揚聲器播放音樂。\n由於Navidrome使用Subsonic API，除了網頁界面外，你還可以用支援的手機APP遠端播放音樂，隨時隨地存取個人曲庫。 缺點：Navidrome不支援資料夾模式播放音樂，官方FAQ明說了不支援沒有演出者訊息的音樂檔案。\n如果您很在意這一點，建議改用Gonic by sentriz或者Jellyfin。\n1. 架設Navidrome # 安裝Docker\n建立放置資料的目錄\ncd ~ mkdir -p navidrome/data cd nvaidrome 撰寫Docker-compose，執行vim docker-compose.yml，填入： services: navidrome: image: deluan/navidrome:latest user: 1000:1000 # Docker volume的擁有者，預設是目前的使用者 ports: - \u0026#34;4533:4533\u0026#34; # 外部連接通訊埠 restart: unless-stopped environment: # 維持預設設定檔，若要調整請參閱：https://www.navidrome.org/docs/usage/configuration-options/ ND_SCANSCHEDULE: 1h ND_LOGLEVEL: info ND_SESSIONTIMEOUT: 24h ND_BASEURL: \u0026#34;\u0026#34; volumes: - \u0026#34;./data:/data\u0026#34; # 將設定檔放在docker-compose所在目錄 - \u0026#34;/home/user/Music/:/music:ro\u0026#34; # 冒號左邊是音樂檔所在的目錄 啟動容器 docker compose up -d 容器建立的volume可能有權限問題，參考這篇issue提到的作法，修改權限，再重新啟動容器： # 取得容器ID docker ps sudo chown -R 1000:1000 ./data docker restart \u0026lt;容器ID\u0026gt; 瀏覽器開啟http://localhost:4533或http://電腦區域IP:4533，建立一個管理員帳號 登入後點選右上角Settings，切換為中文 可設定要不要在串流的時候給音樂轉碼。例如mp3如果原始檔案音質都是320K的話，建議將預設音質也調成320，免得遭到壓縮。 雖然Navidrome支援讀取ID3內嵌歌詞與.lrc檔。但是目前Navidrome網頁只能顯示.mp3內嵌歌詞，無法顯示.lrc歌詞，具體請看這個issue。要顯示歌詞得用第三方客戶端Feishin，它還能夠線上幫你抓歌詞。 Navidrome不支援以資料夾模式瀏覽音樂，音樂檔必須要有ID3標籤才能分類。但若客戶端請求，Navidrome依然會傳回類似資料夾的結構，分類方式為：「演出者/專輯/歌曲」。\nNavidrome的搜尋模式有點迷，尤其中文支援度怪怪的。在專輯首頁搜尋的時候，只會顯示專輯目錄名稱。若要搜尋單曲，建議切換到歌曲頁面搜尋。\n您還可以參閱官方說明，將Last.fm和Spotify整合到網頁界面。這樣Navidrome即會用Last.fm爬取本機專輯的更多資料，並將聆聽紀錄上傳到Last.fm或ListenBrainz。整理出你的聆聽習慣。\n2. 安裝手機版Navidrome客戶端 # 如果要用其他裝置連線到Navidrome伺服器，請讓二部裝置在同一個Wifi下，並輸入http://電腦IP:4533連線，再輸入Navidrome伺服器的帳號密碼。\n個人覺得Navidrome網頁界面就夠用了，但若要在手機背景播放，請還是找一款支援Subsonic API的客戶端吧。\n我測試了一些開源的方案：\n電腦客戶端推薦Feishin\n第三方網頁播放器有Jamstash\nAndroid推薦Tempo by CappielloAntonio\niOS推薦Amperfy by BLeeEZ\n3. 從外部網路存取Navidrome # 開放防火牆的4533通訊埠： sudo ufw allow 4533/tcp sudo ufw reload 安裝內網穿透軟體，例如ZeroTier，即可用http://虛擬區域IP:4533網址存取Navidrome的伺服器了。 4. 使用點唱機模式遠端控制電腦播放音樂 # Navidrome提供點唱機模式(Jukebox Mode)，音樂會改成從電腦揚聲器放出來。不過Navidrome本身的網頁界面不能用來控制點唱機，需要使用支援點唱機模式的Subsonic API客戶端才可以操控，例如Jamstash。\n在Linux伺服器安裝MPV播放器 sudo apt install mpv 測試MPV是否能偵測到音效裝置，MPV應該會自動選取揚聲器，Navidrome會使用auto所印出的音效裝置。 mpv --audio-device=help 停止Navidrome容器 docker compose down 參考開發者指示，編輯docker-compose.yml的環境變數，啟用音樂盒模式。 environment: ND_SCANSCHEDULE: 1h ND_LOGLEVEL: info ND_SESSIONTIMEOUT: 24h ND_BASEURL: \u0026#34;\u0026#34; ND_JUKEBOX_ENABLED: true ND_JUKEBOX_DEFAULT: \u0026#34;auto\u0026#34; 重新啟動Navidrome容器 docker compose up -d 用支援點唱機模式的Subsonic API客戶端連線，這樣選取音樂，音樂便會直接從電腦連接的揚聲器播放。 ","date":"2026年1月28日","externalUrl":null,"permalink":"/posts/navidrome-music-server/","section":"所有文章","summary":"只需要一個Navidrome，給您隨身Spotify的體驗。 Navidrome是一款界面簡單的音樂串流伺服器服務。以網頁界面存取，播放音樂的時候會類比唱片轉動的樣子，我覺得蠻可愛的。\n支援在播放時轉碼壓縮音訊，讀取m3u8播放清單，並顯示本機歌詞檔。\n提供點唱機模式(Jukebox Mode），能夠反向用手機控制，用電腦揚聲器播放音樂。\n由於Navidrome使用Subsonic API，除了網頁界面外，你還可以用支援的手機APP遠端播放音樂，隨時隨地存取個人曲庫。 缺點：Navidrome不支援資料夾模式播放音樂，官方FAQ明說了不支援沒有演出者訊息的音樂檔案。\n如果您很在意這一點，建議改用Gonic by sentriz或者Jellyfin。\n1. 架設Navidrome # 安裝Docker\n建立放置資料的目錄\ncd ~ mkdir -p navidrome/data cd nvaidrome 撰寫Docker-compose，執行vim docker-compose.yml，填入： services: navidrome: image: deluan/navidrome:latest user: 1000:1000 # Docker volume的擁有者，預設是目前的使用者 ports: - \"4533:4533\" # 外部連接通訊埠 restart: unless-stopped environment: # 維持預設設定檔，若要調整請參閱：https://www.navidrome.org/docs/usage/configuration-options/ ND_SCANSCHEDULE: 1h ND_LOGLEVEL: info ND_SESSIONTIMEOUT: 24h ND_BASEURL: \"\" volumes: - \"./data:/data\" # 將設定檔放在docker-compose所在目錄 - \"/home/user/Music/:/music:ro\" # 冒號左邊是音樂檔所在的目錄 啟動容器 docker compose up -d 容器建立的volume可能有權限問題，參考這篇issue提到的作法，修改權限，再重新啟動容器： # 取得容器ID docker ps sudo chown -R 1000:1000 ./data docker restart \u003c容器ID\u003e 瀏覽器開啟http://localhost:4533或http://電腦區域IP:4533，建立一個管理員帳號 ","title":"雲端音樂播放器Navidrome，自架音樂串流伺服器","type":"posts"},{"content":"Ivon今次要分享的是一款簡單的音樂串流伺服器「Gonic」。它可以跑在私人Linux伺服器或者NAS上，提供Subsonic API介面，讓你遠端播放硬碟上的音樂檔，串流聆聽歌曲。 說到音樂串流伺服器\nIvon有分享過Navidrome，內建網頁播放器的解決方案。\nGonic跟Navidrome差異最大的點就是支援傳統的「資料夾模式」播放音樂，就是play by folders，因此你可以使用硬碟資料夾結構來瀏覽音樂。這很適合音樂ID3標籤不齊全的用戶使用，也就是一個資料夾一張專輯的模式來整理音樂，並且沒有使用MP3Tag軟體習慣的用戶。 Gonic還有以下功能：\n支援以資料夾或標籤搜尋音樂 Go語言寫成，短小精悍，搜尋速度快 內建last.fm與Listenbrainz服務，能夠線上統計你聆聽過的歌曲，建立歷年回顧。 依照last.fm的資料推薦類似歌曲 提供點唱機模式(Jukebox Mode)，能反過來以手機遠端控制電腦揚聲器播放音樂。 但相對來說Gonic的功能很精簡，開發者沒有像Navidrome那樣製作網頁播放器，你得自己準備播放音樂客戶端。\n其實，就長遠來看，給自己的音樂收藏打上正規的ID3標籤依然是比較好的方式，很多音樂軟體都用這種方式分類。加上有MusicBrainz Picard這類自動打ID3標籤軟體出現，應該盡量減少依賴資料夾模式來播放音樂。對有強迫症的人來說看到「未知的演出者」資訊難道不會覺得煩躁嗎～？\n1. 架設Gonic伺服器服務 # Gonic程式主要由sentriz開發，參考Github指示，我使用Docker部署。\n安裝Docker\n新增docker-compose\nmkdir ~/gonic cd ~/gonic vim docker-compose.yml 填入以下內容，新增音樂路徑 services: gonic: image: sentriz/gonic:latest environment: - TZ=Asia/Taipei # 設定時區 - GONIC_JUKEBOX_ENABLED=true # 開啟點唱機模式 ports: - 4747:80 #外部通訊埠 volumes: - ./data:/data # 將Gonic資料庫存在目前目錄 - /home/user/Music/:/music:ro # 左邊填寫硬碟音樂所在目錄 - /home/user/Music/podcasts/:/podcasts # 左邊填寫硬碟Podcast所在目錄（如果沒有就填一個空的目錄） - /home/user/Music/playlists/:/playlists # 左邊填寫硬碟播放清單所在目錄（如果沒有就填一個空的目錄） - ./cache:/cache # 快取目錄 restart: unless-stopped # 加入audio群組，掛載音效裝置，才可以使用點唱機模式 group_add: - audio devices: - /dev/snd:/dev/snd 啟動服務 docker compose up -d 用瀏覽器開啟http://Linux伺服器IP:4747，登入帳號，預設帳密都是admin。登入後按首頁的password修改密碼。 點選Recent folders → Scan開始掃描，第一次會比較久，建立資料庫之後就很快了。 （選擇性）申請一組last.fm的API金鑰和祕密，只要填寫APP名稱即可。之後在Gonic這裡填入，再點選Link，開始記錄聆聽的音樂。聆聽音樂是在伺服端紀錄的，一有請求就會傳送聆聽紀錄，客戶端應該不需要再設定。 最後，如果要在外網存取Gonic服務，設定內網穿透軟體\n2. 安裝Gonic電腦客戶端 # Gonic本身沒有播放音樂的功能，需要選擇相容Subsonic API的程式。連線方法都很類似，只要在伺服器位址輸入Gonic伺服器的IP位址，還有帳號密碼即可。\n電腦端的話有Feishin。安裝後在OpenSubsonic的欄位輸入Gonic伺服器網址就可以用資料夾模式播放音樂了！ 要一款類似Navidrome的網頁播放器的話，我覺得Ampcast還不錯用，它有電腦版和網頁版。\n把Ampcast這個服務跟Gonic寫在同一個docker-compose裡面：\nservices: ampcast: container_name: ampcast image: ghcr.io/rekkyrosso/ampcast:latest restart: unless-stopped ports: - 8000:8000 Ampcast界面設定非常直觀。依照畫面指示填入Gonic伺服器IP和帳號密碼就好。 網頁還有比較古早的Jamstash。可是，作者自己架的網站，還有Chrome應用程式都掛了，所以得用Docker跑。 我採用fkrivsky/jamstash維護的映像檔，跟Gonic跑在同一個伺服器，可以把這個服務跟Gonic寫在同一個docker-compose裡面：\nservices: jamstash: image: \u0026#39;fkrivsky/jamstash\u0026#39; ports: - \u0026#34;8008:80\u0026#34; restart: unless-stopped 開啟網頁http://Linux伺服器IP:8008，輸入Gonic伺服器IP位址，還有帳號密碼，按Save。 即會在左側的Artist頁面列出遠端資料夾。 3. 手機Gonic客戶端 # 需要選擇相容Subsonic API的APP。\nAndroid推薦Tempo by CappielloAntonio，支援資料夾模式播放。\niOS推薦Amperfy by BLeeEZ，支援資料夾模式播放。\n4. 用點唱機模式控制電腦播放音樂 # 點唱機模式(Jukebox Mode)需要客戶端支援。以Jamstash為例，在設定界面勾選Jukebox Mode 這樣從手機或其他電腦選取音樂，音樂便會改從Linux伺服器連接的揚聲器播放。\n如果伺服器端是Linux，不要直接用ALSA，可能安裝PipeWire的音訊伺服器會比較好操作，能夠自動切換輸出音效源。\n","date":"2026年1月28日","externalUrl":null,"permalink":"/posts/gonic-music-streaming-server/","section":"所有文章","summary":"Ivon今次要分享的是一款簡單的音樂串流伺服器「Gonic」。它可以跑在私人Linux伺服器或者NAS上，提供Subsonic API介面，讓你遠端播放硬碟上的音樂檔，串流聆聽歌曲。 說到音樂串流伺服器\nIvon有分享過Navidrome，內建網頁播放器的解決方案。\nGonic跟Navidrome差異最大的點就是支援傳統的「資料夾模式」播放音樂，就是play by folders，因此你可以使用硬碟資料夾結構來瀏覽音樂。這很適合音樂ID3標籤不齊全的用戶使用，也就是一個資料夾一張專輯的模式來整理音樂，並且沒有使用MP3Tag軟體習慣的用戶。 Gonic還有以下功能：\n支援以資料夾或標籤搜尋音樂 Go語言寫成，短小精悍，搜尋速度快 內建last.fm與Listenbrainz服務，能夠線上統計你聆聽過的歌曲，建立歷年回顧。 依照last.fm的資料推薦類似歌曲 提供點唱機模式(Jukebox Mode)，能反過來以手機遠端控制電腦揚聲器播放音樂。 但相對來說Gonic的功能很精簡，開發者沒有像Navidrome那樣製作網頁播放器，你得自己準備播放音樂客戶端。\n其實，就長遠來看，給自己的音樂收藏打上正規的ID3標籤依然是比較好的方式，很多音樂軟體都用這種方式分類。加上有MusicBrainz Picard這類自動打ID3標籤軟體出現，應該盡量減少依賴資料夾模式來播放音樂。對有強迫症的人來說看到「未知的演出者」資訊難道不會覺得煩躁嗎～？\n","title":"Gonic + Feishin：自架音樂串流伺服器，支援資料夾模式播放音樂","type":"posts"},{"content":" In this article, Ivon wants to discuss the development status of the \u0026ldquo;X Window System\u0026rdquo; and \u0026ldquo;Wayland\u0026rdquo; on Linux systems, talk about Wayland\u0026rsquo;s pros and cons, and help you decide whether you should switch to Wayland. At the end, I also list the Linux distributions that let you experience the newest Wayland technology the fastest. Things are changing. The Linux community often discusses whether we should abandon X11 and switch to a Wayland session. So, what is X11? What is Wayland?\nThe X Window System is a set of software that determines how images are displayed on your Linux computer, but it is too old and has many problems. Now there is software that adopts the Wayland protocol, aiming to replace this old software with modern code. However, because Wayland has had problem after problem, even though more and more Linux distributions are adopting it, after more than a decade of development the X Window System still cannot be completely replaced.\nBelow, let us examine the current state of X11 and Wayland.\n1. The Opportunity for Change: Comparing X11 and Wayland # The X Window System and Wayland are both sets of software responsible for displaying graphics on Linux. As for comparing their underlying principles, I am too limited in learning to embarrass myself here; there are already plenty of resources online, and the \u0026ldquo;Further Reading\u0026rdquo; section at the end has many interesting articles you can read in detail. Here I will briefly summarize my personal understanding.\nThe X Window System, abbreviated as X, was born earlier than Linux. The X Window System appeared in 1987 and was used to display graphical environments. That was still the age of Unix! By now it already has more than 30 years of history. Why does Linux need to \u0026ldquo;install\u0026rdquo; the X Window System before it has a graphical display? Because the Linux kernel really does not include software for displaying graphics.\nThe desktop environments Linux users see, such as GNOME, KDE Plasma, and XFCE, do not directly control the screen. Instead, they are built on top of the graphical display mechanism provided by the X Window System. The X Window System is responsible for the lowest-level window display and input events, while the desktop environment is responsible for the user interface and operating experience.\nHere, the X Window System became the common low-level standard followed by various desktop environments.\nAt the beginning, the designers only defined the X communication protocol standard; they did not specify X\u0026rsquo;s implementation in detail, so different X window software projects appeared. Around 2000, the X.org software developed by the X.org organization replaced XFree86 and gradually became the accepted standard. APIs and the like were all defined by them. X.org was therefore adopted by major desktop environments. Because the X protocol adopted by X.Org is version X11, the X server they developed is also called X11.\nThe reason the X Window System is called a server is that it can accept simultaneous connections from multiple X clients. This is a \u0026ldquo;client-server architecture,\u0026rdquo; echoing the needs of the old mainframe era, and it communicates through Network Transparency. See the diagram below for the principle. What is Network Transparency? Through an X server, you can transmit a window from another computer over the network and display it on your own computer. This lets many people connect to the same host and work at the same time.\nAnd on personal computers, the X Window System also communicates according to a client-server architecture. Each software window is an X client that communicates with the X server on your computer, and then the image is displayed.\nAs for what desktop windows should look like, the X Window System protocol does not specify that in detail. This gave desktop environment developers a great deal of room to maneuver. Developers can use a compositor to decide the appearance of windows, including the position of the close button, title bars, animation effects, and so on. That is why cool 3D animated desktops like Compiz could appear.\nThe client-server architecture is both an advantage and a disadvantage of the X Window System\u0026rsquo;s design. The advantage is that remote work is convenient and highly flexible.\nThe disadvantage is that security is poor. Who said the \u0026ldquo;server\u0026rdquo; in X server must be running remotely? When the X server runs locally on your computer, it still maintains a client-server relationship. Transmission between programs is not encrypted and can easily be intercepted by other programs, such as keyloggers. Also, frequent transmission between client and server causes poor graphics efficiency and leads to screen tearing.\nAlthough most desktop environments and GPU drivers have found ways to avoid the tearing problem, Nvidia still phones it in, because its drivers are not open source and often run into problems.\nThere should be a better solution to the problems of the X Window System\u0026hellip; and so Wayland appeared in 2008, initiated by developers who had once participated in the X11 project. Wayland aims to completely change the client-server architecture of the X Window System, allowing programs to use graphics hardware more efficiently. Wayland itself is a communication protocol specification; the software actually responsible for drawing windows is called a Wayland compositor.\nIn other words, Wayland developers only define the communication protocol specification. They do not specify in detail how compositors should be implemented; they only released a reference implementation called \u0026ldquo;Weston.\u0026rdquo;\nHere is a diagram of Wayland\u0026rsquo;s principles. You can see that the X server is gone, everything is handled by the compositor, the entire communication process has been simplified a lot, and Network Transparency has also been cut. So what is \u0026ldquo;X\u0026quot;Wayland? To prevent a pile of old programs under the X server from becoming unusable, Wayland developers proposed XWayland as a transitional solution: run an X server under Wayland so those old programs can operate under Wayland. Even so, XWayland does not guarantee 100% compatibility with old X programs. Some bizarre APIs may not be usable, and developers are still better off rewriting their programs into native Wayland programs.\nNow that Wayland is here, what about X11? You should know that X11 development has basically stopped, and many new features in the Linux world have shifted toward Wayland, such as code for supporting HDR content.\nAccording to Phoronix\u0026rsquo;s report, X11\u0026rsquo;s development pace has reached a historical low in recent years; it is basically not moving. Do you know why? I heard there are only three people in the world who can understand the entire codebase of the X Window System. You know and I know, but Captain One-Eye does not know. If even Captain One-Eye does not know, developers have no way to begin modifying the ancient mountain of shit that is the X server codebase. Many X server designs no longer meet modern needs. It is time to abandon X, so developers simply made something new.\nBut because of all kinds of problems, as of the time of writing, Wayland still cannot completely replace X. Because Wayland and X.Org have incompatible architectures, it is equivalent to tearing everything down and rebuilding from scratch; programs have to be rewritten. Many operations that are easy to do in X.Org simply have no corresponding APIs available in Wayland, and the core developers of the Wayland protocol have to improve them slowly.\nAlthough Wayland has many problems, developers around the world are very seriously fixing bugs. Major Linux distributions are gradually making Wayland the default option.\nCommercial companies RedHat, Canonical, and SUSE are strongly pushing Wayland as the default option. RedHat has already completely removed X.Org support in RHEL 10, forcing users to use only the Wayland desktop. If you want to run X11 programs, run them with XWayland.\nUbuntu 26.04 uses a Wayland-only desktop environment by default.\nWith many major companies doing this, it should push developers to keep pace and migrate to Wayland as soon as possible.\n2. Why Use Wayland? # Wayland\u0026rsquo;s more obvious advantages are as follows:\nWhether GNOME or KDE, Wayland animations simply look much smoother than X11. Better graphics performance. It thoroughly solves the screen tearing problem, benefiting users of Nvidia proprietary drivers. Supports modern graphics features such as non-integer scaling for HiDPI screens, different resolutions on different monitors, HDR images, VRR dynamic refresh rates, color management, and so on. Browser support for two-finger zoom. Better support for touch gestures. GNOME and KDE Plasma can use touchpad gestures to switch desktops, and Firefox and Google Chrome can use two-finger zoom and swipe left or right to go back to the previous page. These are only available on Wayland. Makes good use of PipeWire and XDG Desktop Portal technologies to unify screenshots, screen recording, audio processing, screen sharing, remote desktop, and file picker paths. This lets OBS Studio record the screen and lets Rustdesk perform remote desktop sharing. Provides the text-input input method protocol, allowing input methods such as Fcitx5 to input Chinese across various programs. Strengthens system security and eliminates keyloggers. At this stage, even if you do not like Wayland, you can switch back to an X11 session at any time from the login screen, the Display Manager. The two can coexist.\n3. Why Not Use Wayland? # Once you start talking about Wayland\u0026rsquo;s shortcomings, there is no end to it. This article was first written in 2024, and after revising it in 2026, I found that many problems I mentioned before have slowly been solved!\nIn the past, X11 had a common X.Org Server that let various desktops implement features according to a shared standard. After moving into the Wayland era, the Wayland protocol itself only defines a very small portion of things, and the rest has to be implemented by compositors. This leads to the problem of users being tied to specific desktop environments. There is no common solution, which is quite troublesome for developers. For example, the function for obtaining a window\u0026rsquo;s position is not defined by Wayland, but depends on how the compositors used by GNOME and KDE Plasma implement it. This causes inconsistent behavior. At that point, developers can only try to achieve compatibility by defining XDG Desktop Portal standards as much as possible.\nFor example, global hotkey triggering in the Wayland era requires active support from the desktop environment. It cannot be implemented through xdotool like on X11. In addition, settings that control monitor layout also have to be controlled by the desktop environment; you cannot rely on one tool, xrandr, to handle everything.\nAs for browsers, the latest Firefox and Chromium use Wayland sessions by default and are almost problem-free. But some programs that use the Chromium core, such as those written with Electron, still default to the old XWayland mode if developers do not update the core! This leads to poor performance.\nIn addition, under Wayland, some commercial remote desktop software that stubbornly refuses to update will have problems, such as Chrome Remote Desktop. You have to use TeamViewer and AnyDesk to support Wayland.\nWine, which translates Windows programs and is the upstream project of Steam Deck Proton, added a native Wayland driver in its latest 10.0 version. But very few Steam games support Wayland, and many games still run through XWayland, causing graphics bugs when gaming in a Wayland environment. This requires graphics drivers to support \u0026ldquo;Explicit Sync\u0026rdquo; to avoid screen flickering. The latest Nvidia, Intel, and AMD drivers should already support it.\nAlthough Wayland has improved HiDPI screen problems and allows arbitrary scaling factors, programs running under XWayland do not scale along with the Wayland desktop. If you force XWayland programs to scale, they become blurry. Neither GNOME nor KDE Plasma has a good way to handle this problem. We can only hope program developers provide pure Wayland versions as soon as possible.\nThere are also some small problems I did not list. You may only encounter Wayland incompatibility when running specific programs, forcing you to switch back to X11.\n4. How to Switch to Wayland? # As mentioned above, Wayland is not a single piece of software. It is implemented individually by each desktop environment.\nThe biggest considerations are always your Linux distribution\u0026rsquo;s update speed and your desktop environment\u0026rsquo;s level of Wayland support.\nHow do you know whether you are using X11 or Wayland? Open a terminal and enter the following command, and you will get a clue.\necho $XDG_SESSION_TYPE If you want to switch between X11 and Wayland, the system login screen, the Display Manager, usually provides an option for you to choose.\nAs of the time of writing, the Wayland support status of each desktop environment is as follows:\nGNOME 50: The elder brother of Linux desktops. It has had good support since GNOME 42 and almost no bugs. But having no bugs does not mean it can completely replace X11\u0026rsquo;s features. After GNOME 50, X.Org support was completely removed; only Wayland is available. KDE Plasma 6.5: Wayland is broadly stable and should not crash at the drop of a hat. KDE developers are preparing to completely remove X11 support in KDE Plasma 6.8. XFCE 4.21: Already supports Wayland and lets users freely choose a compositor. It will launch its own compositor, XFWL. Cinnamon 6.6.5: Already supports Wayland, but will not immediately cut off X11. LXQT 2.3.0: Already supports Wayland and lets users freely choose a compositor. Tiling window managers such as i3wm and dwm: They cannot be ported, but can be replaced with Sway and Hyprland. Experts who use these tiling window managers probably do not need me to tell them; you can judge for yourself whether it is appropriate. If you want to switch to a Wayland environment, first try a Linux distribution that ships the \u0026ldquo;GNOME\u0026rdquo; desktop environment. GNOME is the elder brother of Linux desktop environments, and its Wayland support is the best.\nAs for Linux distributions, if you want to receive Wayland updates and bug fixes quickly, then users of rolling releases such as Arch Linux, Fedora, openSUSE Tumbleweed, Debian Sid, and Gentoo have an advantage. But you have to bear the cost of possible instability after system updates.\nUsers of stable releases such as Debian Stable, Ubuntu LTS, openSUSE Leap, and Rocky Linux have to wait longer before receiving Wayland update fixes. From my personal observation, the desktop environments included in Debian 13 and Ubuntu 26.04 already have quite good Wayland support.\nFurther Reading: Tracking Wayland Development Progress # Wayland\u0026rsquo;s official page on FreeDesktop.org: https://wayland.freedesktop.org Unresolved problems in the Wayland environment: Think twice about Wayland. It breaks everything! Can we migrate to Wayland yet: Are we Wayland yet? A weekly post written by a KDE developer: Does Wayland really break everything? An article by Huibang Chenggong that vividly explains the principles of the X Window System: 【心得】Linux 出專欄啦！ （14）:桌面環境系列=〉x11 和 wayland ，談技術債與財源問題（厲害吧！！） Understand what X11 is through HTML5: Explanations - X Window System Basics ","date":"2026-01-26","externalUrl":null,"permalink":"/en-us/posts/should-you-switch-to-wayland/","section":"Posts","summary":" In this article, Ivon wants to discuss the development status of the “X Window System” and “Wayland” on Linux systems, talk about Wayland’s pros and cons, and help you decide whether you should switch to Wayland. At the end, I also list the Linux distributions that let you experience the newest Wayland technology the fastest. Things are changing. The Linux community often discusses whether we should abandon X11 and switch to a Wayland session. So, what is X11? What is Wayland?\nThe X Window System is a set of software that determines how images are displayed on your Linux computer, but it is too old and has many problems. Now there is software that adopts the Wayland protocol, aiming to replace this old software with modern code. However, because Wayland has had problem after problem, even though more and more Linux distributions are adopting it, after more than a decade of development the X Window System still cannot be completely replaced.\nBelow, let us examine the current state of X11 and Wayland.\n1. The Opportunity for Change: Comparing X11 and Wayland # The X Window System and Wayland are both sets of software responsible for displaying graphics on Linux. As for comparing their underlying principles, I am too limited in learning to embarrass myself here; there are already plenty of resources online, and the “Further Reading” section at the end has many interesting articles you can read in detail. Here I will briefly summarize my personal understanding.\nThe X Window System, abbreviated as X, was born earlier than Linux. The X Window System appeared in 1987 and was used to display graphical environments. That was still the age of Unix! By now it already has more than 30 years of history. Why does Linux need to “install” the X Window System before it has a graphical display? Because the Linux kernel really does not include software for displaying graphics.\nThe desktop environments Linux users see, such as GNOME, KDE Plasma, and XFCE, do not directly control the screen. Instead, they are built on top of the graphical display mechanism provided by the X Window System. The X Window System is responsible for the lowest-level window display and input events, while the desktop environment is responsible for the user interface and operating experience.\nHere, the X Window System became the common low-level standard followed by various desktop environments.\nAt the beginning, the designers only defined the X communication protocol standard; they did not specify X’s implementation in detail, so different X window software projects appeared. Around 2000, the X.org software developed by the X.org organization replaced XFree86 and gradually became the accepted standard. APIs and the like were all defined by them. X.org was therefore adopted by major desktop environments. Because the X protocol adopted by X.Org is version X11, the X server they developed is also called X11.\nThe reason the X Window System is called a server is that it can accept simultaneous connections from multiple X clients. This is a “client-server architecture,” echoing the needs of the old mainframe era, and it communicates through Network Transparency. See the diagram below for the principle. ","title":"Comparing X11 and Wayland. It Is 2026: Should You Switch to Wayland and Abandon the X Window System?","type":"posts"},{"content":" この記事では、IvonがLinuxシステムの「X Window System」と「Wayland」の発展状況を討論し、Waylandの長所と短所を整理して、Waylandへ切り替えるべきかどうかを判断できるようにする。最後には、最新Wayland技術を最も早く体験できるLinuxディストリビューションも添える。 物事は変化しつつある。Linuxコミュニティでは、X11を捨ててWaylandセッションへ切り替えるべきかがよく討論される。では、X11とは何か？Waylandとは何か？\nX Window Systemは、あなたのLinuxコンピューター画面をどのように表示するかを決める一群のソフトウェアである。しかしこれは古すぎて問題が多く、現在はWaylandプロトコルを採用するソフトウェアが、この古いソフトウェアを現代的なコードで置き換えようとしている。ただしWaylandには問題も多いため、採用するLinuxディストリビューションが増えているにもかかわらず、十年以上発展してきた現在でも、X Window Systemを完全に置き換えることはできていない。\n以下では、X11とWaylandの現状を探っていく。\n1. 変化の契機：X11とWaylandの比較 # X Window SystemとWaylandはいずれも、Linux画面の表示を担当する一群のソフトウェアである。両者の底層原理比較については、才疎学浅なので恥をさらすのはやめておく。ネット上にはすでに多くの資料があり、文末の「参考資料」には詳しく読める面白い記事を多く載せている。ここでは私個人の理解を簡単に述べる。\nX Window System、略してXは、Linuxより早く誕生した。X Window Systemは1987年に登場し、グラフィカル環境を表示するために使われた。当時はまだUnixの時代だった！今ではすでに30年以上の歴史がある。 なぜLinuxはX Window Systemを「インストール」しなければ画面が出ないのか？Linuxカーネルには本当に画面を表示するソフトウェアがないからだ。\nLinuxユーザーが目にするデスクトップ環境（たとえばGNOME、KDE Plasma、XFCE）は、画面を直接制御しているわけではなく、X Window Systemが提供するグラフィック表示機構の上に構築されている。X Window Systemは最底層のウィンドウ表示と入力イベントを担当し、デスクトップ環境はユーザーインターフェースと操作体験を担当する。\nここでX Window Systemは、各デスクトップ環境が従う底層の共通標準となる。\n当初の設計者はXの通信プロトコル（protocol）標準だけを制定し、Xの実装方式（implementation）を詳細には規定しなかった。そのため各社各様のX Windowソフトウェアが登場した。2000年前後、X.org組織が開発したX.orgソフトウェアがXFree86を置き換え、徐々に公認標準となった。APIなども彼らが定めたものだ。こうしてX.orgは各大デスクトップ環境に採用された。X.Orgが採用したX通信プロトコルがX11版であるため、彼らが開発したXサーバーもX11と呼ばれる。\nX Window Systemがサーバー（server）と呼ばれるのは、複数のXクライアント（client）から同時接続を受け入れられるからだ。つまり「クライアントサーバー構造」であり、昔の大型機時代の需要に対応し、さらにネットワーク透過性（Network Transparency）を通じて通信する。原理は下図を参照。 ネットワーク透過性とは何か？Xサーバーを通じて、別のコンピューターのウィンドウをネットワーク越しに転送し、自分のコンピューター上に表示できる。これにより、多くの人が同時に同じホストへ接続して作業できるのだ。\nさらにX Window Systemは個人用コンピューター上でもクライアントサーバー構造に従って通信する。各ソフトウェアのウィンドウは一つのXクライアントであり、あなたのコンピューター上のXサーバーと通信し、画面を表示する。\nデスクトップのウィンドウがどのような見た目になるべきかについて、X Window Systemのプロトコルは詳細に規定していない。これによりデスクトップ環境開発者には大きな操作余地が与えられた。開発者はコンポジター（compositor）を通じて、ウィンドウの外観、閉じるボタンの位置、タイトルバー、アニメーション効果などを決められる。そのためCompizのようなかっこいい3Dアニメーションデスクトップが登場した。\nクライアントサーバー構造はX Window System設計の長所でもあり短所でもある。長所はリモート作業が非常に便利で、柔軟性が高いことだ。\n短所は、この構造では安全性が高くないことだ。Xサーバーの「サーバー」が必ずリモートで実行されるなどと誰が言ったのか？Xサーバーがあなたのコンピューター上でローカル実行されているときも、クライアントサーバー構造の関係を維持している。プログラム間の転送は暗号化されておらず、他のプログラムに簡単に傍受される可能性がある。たとえばキーロガーだ。さらにクライアントとサーバー間の頻繁な転送は、グラフィック効率を悪化させ、画面ティアリングを引き起こす。\nティアリング問題については、多くのデスクトップ環境とGPUドライバーがなんとか回避しているが、Nvidiaはいまだに投げやりだ。ドライバーがオープンソースではないため、しょっちゅう問題が起きる。\nX Window Systemの問題には、もっとよい解決策があるべきだ\u0026hellip;そこでWaylandが生まれた。Waylandは2008年に登場し、かつてX11プロジェクトに参加していた開発者によって始められた。 WaylandはX Window Systemのクライアントサーバー構造を根本から変え、プログラムがグラフィックハードウェアをより効率的に利用できるようにする。Waylandそのものは通信プロトコル仕様であり、実際にウィンドウを描画するソフトウェアはWayland compositor（コンポジター）と呼ばれる。\nつまり、Wayland開発者は通信プロトコルの仕様だけを規定し、コンポジターをどのように実装するかについては詳細に規定していない。彼らは\u0026quot;Weston\u0026quot;という参照実装を一つ出しただけである。\nこちらがWaylandの原理図である。Xサーバーが消え、すべてがコンポジターによって担当され、通信プロセス全体が大きく簡略化されていることがわかる。ネットワーク透過性も削られた。 では「X」Waylandとは何か？Xサーバー下の大量の旧プログラムが使えなくなることを防ぐため、Wayland開発者はXWaylandという過渡的な方法を提案した。Wayland下で一つのXサーバーを走らせ、それらの旧プログラムをWayland下で動作できるようにするのだ。とはいえ、XWaylandは旧来のXプログラムと100%互換であることを保証しない。一部の奇妙なAPIは使えない可能性があるため、開発者はやはりプログラムを書き直し、ネイティブWaylandプログラムへ修正するほうがよい。\nWaylandが出てきた。ではX11はどうなるのか？知っておくべきこととして、X11は基本的に開発が止まっている。Linux世界の多くの新機能はWayland側へ発展を移しており、たとえばHDRコンテンツ対応のコードがそうだ。\nPhoronixの報道によれば、近年のX11の開発速度は史上最低水準に達しており、基本的に動いていない。 なぜかわかるだろうか？世界にはX Window Systemの全コードを理解できる人が三人しかいないらしい。あなたも知っている、私も知っている、しかし独眼竜は知らない。独眼竜すら知らないものを、開発者はどこから手を付ければよいのか。古いXサーバーのクソ山コードを修正するのは難しい。Xサーバーの多くの設計は、現代ではすでに時代の需要に合っていない。Xを捨てる時が来たので、開発者は思い切って新しいものを作ったのだ。\nしかしさまざまな問題により、執筆時点に至るまで、WaylandはまだXを完全に置き換えることができていない。WaylandとX.Orgの構造は互換ではなく、全体を壊して作り直すようなもので、プログラムを書き直す必要があるからだ。X.Orgでは簡単にできた多くの操作について、Waylandにはそもそも関連APIがなく、Waylandプロトコルの核心開発者が少しずつ改善する必要がある。\nWaylandには問題が多いとはいえ、世界各地の開発者が非常に真剣にbugを修正している。各大Linuxディストリビューションも徐々にWaylandをデフォルトオプションにしつつある。\n商業企業のRedHat、Canonical、SUSEはWaylandをデフォルトオプションとして強力に推進している。RedHatはすでにRHEL 10でX.Orgサポートを完全に削除し、ユーザーにWaylandデスクトップだけを使わせている。X11プログラムを動かすにはXWaylandを使う。\nUbuntu 26.04はデフォルトでWayland限定のデスクトップ環境を採用する。\n多くの大企業がこのように動くことで、開発者が歩調を合わせ、できるだけ早くWaylandへ移行することが促されるはずだ。\n2. なぜWaylandを使うのか？ # Waylandの比較的明らかな利点は以下の通り：\nGNOMEでもKDEでも、WaylandのアニメーションはX11より明らかにずっと滑らかに見える。 グラフィック性能がより良い。画面ティアリング問題を根本的に解決し、Nvidiaプロプライエタリドライバーのユーザーにも恩恵がある。 HiDPI画面の非整数スケーリング、異なる画面で異なる解像度を使うこと、HDR映像、VRR可変リフレッシュレート、色管理\u0026hellip;\u0026hellip;など現代的なグラフィック機能をサポートする。 ブラウザーで二本指ズームをサポートする。 タッチジェスチャーのサポートがより良い。GNOMEとKDE Plasmaはタッチパッドジェスチャーでデスクトップを切り替えられ、FirefoxとGoogle Chromeは二本指ズームや左右スワイプで前のページに戻ることができる。これらはWaylandでしか使えない。 PipeWireとXDG Desktop Portal技術を活用し、スクリーンショット、画面録画、音声処理、画面共有、リモートデスクトップ、ファイル選択の経路を統一する。OBS Studioで画面録画でき、Rustdeskでリモートデスクトップ共有ができる。 text-input入力メソッドプロトコルを提供し、Fcitx5のような入力メソッドが各プログラム間で中国語を入力できるようにする。 システム安全性を強化し、キーロガーを根絶する。 現段階では、たとえWaylandが好きでなくても、ログイン画面（Display Manager）でいつでもX11セッションへ切り替えられる。両者は共存できる。\n3. なぜWaylandを使わないのか？ # Waylandの欠点を語り始めるときりがない。この記事は最初2024年に書いたものだが、2026年版へ改稿した後、以前触れた多くの問題が少しずつ解決されていることに気づいた！\n過去、X11には共通のX.Org Serverがあり、各デスクトップは共通標準に従って機能を実装できた。Wayland時代になると、Waylandプロトコル自体が定義するものはごく一部で、残りはコンポジターによる実装に頼る。これにより、ユーザーが特定のデスクトップ環境へ縛られる問題が起きる。共通の解決策がないため、開発者にとってはかなり困る。たとえばウィンドウ位置を取得する機能はWaylandでは定義されておらず、GNOMEやKDE Plasmaが使うコンポジターがどのように実装するかを見る必要がある。これは挙動の不一致をもたらす。このとき開発者同士は、できるだけXDG Desktop Portalの標準を制定することで互換性を実現しようとするしかない。\nたとえばグローバルショートカットの発火は、Wayland時代ではデスクトップ環境側の能動的なサポートが必要であり、X11のようにxdotoolで実現することはできない。また画面レイアウトを制御する設定も、デスクトップ環境による制御に頼る必要があり、xrandr一つで全部対応することはできない。\nブラウザーについて言えば、最新版FirefoxとChromiumはデフォルトでWaylandセッションを使用しており、ほとんど問題はない。しかしChromiumコアを使う一部のプログラム、たとえばElectronで書かれたものは、開発者がコアを更新しない場合、デフォルトでは今も旧来のXWaylandモードで動作する！そのため性能が振るわない。\nさらにWayland下では、更新されない商用リモートデスクトップソフトウェアの一部に問題が出る。たとえばChrome Remote Desktopだ。Waylandに対応するにはTeamViewerやAnyDeskを使う必要がある。\nWindowsプログラムを変換実行するWine（Steam Deck Protonの上流プロジェクト）は、最新10.0バージョンでネイティブWaylandドライバーを追加した。しかしSteamゲームでWaylandをサポートするものは少なく、多くのゲームはいまだにXWaylandで動いている。そのためWayland環境でゲームを遊ぶとグラフィックbugが出ることがある。これはグラフィックドライバーが「Explicit Sync」をサポートしなければ画面ちらつきを避けられない。最新版のNvidia、Intel、AMDドライバーはすでにサポートしているはずだ。\nWaylandはHiDPI画面の問題を改善し、任意のスケーリング係数を指定できるようにした。しかしXWayland下で動くプログラムはWaylandデスクトップのスケーリングに追従しない。XWaylandプログラムを強制的にスケーリングするとぼやけてしまい、GNOMEもKDE Plasmaもこの問題をうまく処理する方法を持っていない。プログラム開発者ができるだけ早く純Wayland版を提供することを期待するしかない。\nここに挙げていない小さな問題もある。特定のプログラムを実行して初めてWayland非互換に遭遇し、X11へ戻さなければならないこともあるだろう。\n4. Waylandへ切り替える方法 # 上で述べたように、Waylandは単一のソフトウェアではなく、各デスクトップ環境が個別に実装するものだ。\n最大の考慮要素は、常にあなたのLinuxディストリビューションの更新速度と、デスクトップ環境のWayland対応度である。\n自分がX11を使っているのかWaylandを使っているのかを知るには？端末を開き、以下のコマンドを入力すればわかる。\necho $XDG_SESSION_TYPE X11とWaylandの間で切り替える場合、通常はシステムログイン画面（Display Manager）に選択肢が用意されている。\n執筆時点での各デスクトップ環境のWayland対応状況：\nGNOME 50：Linux界のデスクトップ兄貴分。GNOME 42以降はサポートが良好で、ほとんどbugはなくなった。ただしbugがないことは、X11の機能を完全に置き換えられることを意味しない。GNOME 50以後はX.Orgサポートを完全に削除し、Waylandだけが使える。 KDE Plasma 6.5：Waylandはおおむね安定しており、そう簡単にはクラッシュしないはずだ。KDE開発者はKDE Plasma 6.8でX11サポートを完全に削除する準備をしている。 XFCE 4.21：すでにWaylandをサポートしており、ユーザーがコンポジターを自由に選べる。自前のコンポジターXFWLをリリース予定。 Cinnamon 6.6.5：すでにWaylandをサポートしているが、すぐにX11を切り捨てることはない。 LXQT 2.3.0：すでにWaylandをサポートしており、ユーザーがコンポジターを自由に選べる。 i3wm、dwmなどのタイル型ウィンドウマネージャー：移植はできない。Sway、Hyprlandで置き換えられる。この種のタイル型ウィンドウマネージャーを使う達人なら、私が言わなくても自分で適切かどうか判断できるはずだ。 Wayland環境へ切り替えたいなら、まずは「GNOME」デスクトップ環境を搭載したLinuxディストリビューションを試すとよい。GNOMEはLinuxデスクトップ環境の兄貴分であり、Wayland対応度は最良である。\nLinuxディストリビューションについては、Wayland更新とバグ修正を早く受け取りたいなら、ローリングリリース（Arch Linux、Fedora、openSUSE Tumbleweed、Debian Sid、Gentoo）のユーザーが比較的有利だ。ただしシステム更新後に不安定になる代償を負う必要がある。\n安定リリース（Debian Stable、Ubuntu LTS、openSUSE Leap、Rocky Linux）のユーザーは、Wayland更新修正を受け取るまで比較的長く待たなければならない。私個人の観察では、Debian 13とUbuntu 26.04に収録されているデスクトップ環境は、Wayland対応度が実際にはすでにかなり良い。\n参考資料：Wayland開発進度を追跡する # WaylandのFreeDesktop.org公式ページ：https://wayland.freedesktop.org Wayland環境で未解決の問題：Think twice about Wayland. It breaks everything! 私たちはもうWaylandへ移行できるのか：Are we Wayland yet? KDE開発者が書いた週報： Does Wayland really break everything? 揮棒成功が書いた文章。X Window Systemの原理を生き生きと解説している：【心得】Linux 出專欄啦！ （14）:桌面環境系列=〉x11 和 wayland ，談技術債與財源問題（厲害吧！！） HTML5でX11とは何かを理解する：Explanations - X Window System Basics ","date":"2026年1月26日","externalUrl":null,"permalink":"/ja-jp/posts/should-you-switch-to-wayland/","section":"Foss-Issues","summary":" この記事では、IvonがLinuxシステムの「X Window System」と「Wayland」の発展状況を討論し、Waylandの長所と短所を整理して、Waylandへ切り替えるべきかどうかを判断できるようにする。最後には、最新Wayland技術を最も早く体験できるLinuxディストリビューションも添える。 物事は変化しつつある。Linuxコミュニティでは、X11を捨ててWaylandセッションへ切り替えるべきかがよく討論される。では、X11とは何か？Waylandとは何か？\nX Window Systemは、あなたのLinuxコンピューター画面をどのように表示するかを決める一群のソフトウェアである。しかしこれは古すぎて問題が多く、現在はWaylandプロトコルを採用するソフトウェアが、この古いソフトウェアを現代的なコードで置き換えようとしている。ただしWaylandには問題も多いため、採用するLinuxディストリビューションが増えているにもかかわらず、十年以上発展してきた現在でも、X Window Systemを完全に置き換えることはできていない。\n以下では、X11とWaylandの現状を探っていく。\n1. 変化の契機：X11とWaylandの比較 # X Window SystemとWaylandはいずれも、Linux画面の表示を担当する一群のソフトウェアである。両者の底層原理比較については、才疎学浅なので恥をさらすのはやめておく。ネット上にはすでに多くの資料があり、文末の「参考資料」には詳しく読める面白い記事を多く載せている。ここでは私個人の理解を簡単に述べる。\n","title":"X11とWaylandを比較する。2026年、Waylandへ切り替えてX Window Systemを捨てるべきか","type":"foss-issues"},{"content":" 《BanG Dream! It\u0026rsquo;s MyGO!!!!!》第8話の筋書きを改編し、1980年代にUnixシステムが商業化された後の争議を語る。これはドロドロ系の二次創作であり、歴史的事実と一致しない箇所が多々ある。どうかご容赦いただきたい。 Unix\u0026hellip;もう終わったんだ。\n（Unix精神を続けようとする開発者）\nUnix\u0026hellip;それは終わっていない！\nCRYCHIC\n𝕮𝖔𝖓𝖘𝖊𝖗𝖛𝖆𝖙 𝕽𝖊𝖙𝖗𝖔𝖘𝖕𝖊𝖈𝖙𝖚𝖘 𝖄𝖉𝖔𝖑𝖆, 𝕮𝖔𝖒𝖒𝖊𝖗𝖈𝖎𝖚𝖒 𝕳𝖔𝖒𝖎𝖓𝖎𝖘 𝕴𝖓𝖙𝖊𝖗𝖋𝖎𝖈𝖎𝖙 𝕮𝖔𝖓𝖈𝖔𝖗𝖉𝖎𝖆𝖒.\nCONSERVAT RETROSPECTUS YDOLA, COMMERCIUM HOMINIS INTERFICIT CONCORDIAM.\nConstantly Reviving Yesterday, Copyright Hurts Innocent Coders.\n過去の幻夢に沈溺し、現実の商業著作権が調和を殺した。\n全文暗唱 # FreeBSD：なぜNet/2のソースコードをリリースしたの！？ FreeBSD：AT\u0026amp;Tちゃん\u0026hellip;\u0026hellip;今日は会いに来てくれてありがとう。NeXTちゃんを怒らないで。私が無理にお願いして、メッセージを送ってあなたを呼んでもらったの。ごめん、どうしても面と向かって著作権訴訟のことを謝りたかった。本当に演奏するつもりは\u0026hellip;《Net/2》テープをリリースするつもりはなかったの。本来リリース予定だったのは特許コードを含まない部分だけで、完全にオープンソースにする気もなかった。でも、コミュニティのコンパイルはもう始まってしまって、本当にどうしようもなかった。ごめん、無料でコードをリリースしたことで、きっとAT\u0026amp;Tちゃんの商業利益を損ねたよね。あなたが許さないのも当然だと思う。勝手に私たちの大事なカーネルコードを公開して、本当にごめんなさい。\nAT\u0026amp;T：オープンソースコミュニティのためって顔をするんだね。BSD Licenseに従って、コードをリリースしたいならあなたたちの自由よ。好きにすれば。（あとで法廷で会いましょう） FreeBSD：でも、《Net/2》はCSRG研究室の大切な\u0026hellip;\u0026hellip;\nAT\u0026amp;T：今になっても1970年代の学術的伝統に執着しているなんて、見ていられない。そろそろ、あなたもベル研究所の日々を忘れるべきなんじゃない？\nFreeBSD：どうして？どうして忘れろなんて言うの？私たち、昔はあんなに仲がよかったのに。KenとDennisは毎日楽しそうにC言語を書いて、みんな一緒にいたのに、今ではSystem VとBSDに分裂してそれぞれ別の道を行くなんて、変だよ。「Unixは世界のハッカーの運命共同体に属している」、そう言ったのはAT\u0026amp;Tちゃんじゃなかったの？\nAT\u0026amp;T：運命\u0026hellip;\u0026hellip;？じゃあ、あの「ペンギン」（GNU/Linux）は何なの？\nFreeBSD：違うの！\nAT\u0026amp;T：どこが違うの？言葉と行動が矛盾している。Unixの統一標準はもうばらばらに崩れた。絶対に復活なんてしない。\nFreeBSD：どうして？お願い、「統一Unix」をもう一度始めたいの。ベル研究所にいたあの頃、こんなに多くの分岐も著作権紛争もなかった楽しい時間に戻りたい。GNU/LinuxちゃんとMinixちゃんもそう望んでいるし、私もNeXTちゃんとAT\u0026amp;Tちゃんを呼び戻すつもりだったの。\nAT\u0026amp;T：そういうことなの？\nNeXT：私は\u0026hellip;\u0026hellip;（BSDのコードがあってジョブズに売って金を稼がせられればそれでいい\u0026hellip;\u0026hellip;） (FreeBSDが振り返ってNeXTを見つめ、衝撃を受けた表情をする)\nFreeBSD：どうして、そう思っていたのは私だけなの？でも、Unixを発明したのはAT\u0026amp;Tちゃんじゃない。\nAT\u0026amp;T：だからこそ、私は自分の手でそれを終わらせたのよ（Unixを商用クローズドソースソフトウェアへ転換し、著作権訴訟を起こしたことを指す）。\nFreeBSD：それは終わっていない！私はずっとUnixの純正な血統を続けるために努力してきた。 AT\u0026amp;T：誰もあなたにそんなことを頼んでいない。これが最後の警告よ。今後、私の特許コードに関わらないで。\n(AT\u0026amp;Tは身を翻して去ろうとし、Novellと契約しに行く)\nFreeBSD：待って、行かないで！\n(FreeBSDが振り返り、自分に背を向けるAT\u0026amp;Tへ向かって）\n違うの！\n私、本当にPOSIX標準を大事に思っていて、大好きなの。\nいや！\n(FreeBSDが追いかけて跪き、AT\u0026amp;Tの右手を掴む)\nFreeBSD：お願い！AT\u0026amp;Tちゃんのライセンス認証がなかったら、ワタシ、永遠に「Unix-like」でいるしかないんだよ！ AT\u0026amp;T：離して。\nFreeBSD：どうすれば戻ってきてくれる？私にできることなら、何だってする！コードの書き直しでも、特許部分の削除でも！\nAT\u0026amp;T：あなたはどれほどの覚悟でそんなことを言っているの？たかが一介の学術機関に、エンタープライズ顧客の人生を背負えるの？「何だってする」って、それほど重い言葉なのよ。OracleやIBMにすらできないことを口にしないで。\nFreeBSD：でも、私は本当に\u0026hellip;\u0026hellip;\nAT\u0026amp;T：あなたって人は、頭の中が自分のことばかりなのね。 FreeBSD：えっ\u0026hellip;\u0026hellip;？\n関連読書 # Unix和BSD誰是\u0026quot;老大哥\u0026quot; \u0026ndash; 版權訴訟 - 網路農夫 黃天彥 UNIX、BSD 與 Linux 的愛恨情仇 - iThome ","date":"2026年1月26日","externalUrl":null,"permalink":"/ja-jp/posts/bang-dream-it-s-mygo-episode-8-unix-history-parody/","section":"Posts","summary":" 《BanG Dream! It’s MyGO!!!!!》第8話の筋書きを改編し、1980年代にUnixシステムが商業化された後の争議を語る。これはドロドロ系の二次創作であり、歴史的事実と一致しない箇所が多々ある。どうかご容赦いただきたい。 Unix…もう終わったんだ。\n（Unix精神を続けようとする開発者）\nUnix…それは終わっていない！\nCRYCHIC\n𝕮𝖔𝖓𝖘𝖊𝖗𝖛𝖆𝖙 𝕽𝖊𝖙𝖗𝖔𝖘𝖕𝖊𝖈𝖙𝖚𝖘 𝖄𝖉𝖔𝖑𝖆, 𝕮𝖔𝖒𝖒𝖊𝖗𝖈𝖎𝖚𝖒 𝕳𝖔𝖒𝖎𝖓𝖎𝖘 𝕴𝖓𝖙𝖊𝖗𝖋𝖎𝖈𝖎𝖙 𝕮𝖔𝖓𝖈𝖔𝖗𝖉𝖎𝖆𝖒.\nCONSERVAT RETROSPECTUS YDOLA, COMMERCIUM HOMINIS INTERFICIT CONCORDIAM.\nConstantly Reviving Yesterday, Copyright Hurts Innocent Coders.\n過去の幻夢に沈溺し、現実の商業著作権が調和を殺した。\n全文暗唱 # FreeBSD：なぜNet/2のソースコードをリリースしたの！？ FreeBSD：AT\u0026Tちゃん……今日は会いに来てくれてありがとう。NeXTちゃんを怒らないで。私が無理にお願いして、メッセージを送ってあなたを呼んでもらったの。ごめん、どうしても面と向かって著作権訴訟のことを謝りたかった。本当に演奏するつもりは…《Net/2》テープをリリースするつもりはなかったの。本来リリース予定だったのは特許コードを含まない部分だけで、完全にオープンソースにする気もなかった。でも、コミュニティのコンパイルはもう始まってしまって、本当にどうしようもなかった。ごめん、無料でコードをリリースしたことで、きっとAT\u0026Tちゃんの商業利益を損ねたよね。あなたが許さないのも当然だと思う。勝手に私たちの大事なカーネルコードを公開して、本当にごめんなさい。\n","title":"CRYCHIC (✕) UNIXシステム、それは終わっていない！","type":"posts"},{"content":"改編自《BanG Dream! It\u0026rsquo;s MyGO!!!!!》第8集劇情，講述1980年代Unix系統商業化後的爭議。這是灑狗血式的同人創作，有諸多與歷史事實不符之處，敬請見諒。 Unix\u0026hellip;已經結束了。\n（試圖讓Unix精神繼續下去的開發者）\nUnix\u0026hellip;它沒有結束！\nCRYCHIC\n𝕮𝖔𝖓𝖘𝖊𝖗𝖛𝖆𝖙 𝕽𝖊𝖙𝖗𝖔𝖘𝖕𝖊𝖈𝖙𝖚𝖘 𝖄𝖉𝖔𝖑𝖆, 𝕮𝖔𝖒𝖒𝖊𝖗𝖈𝖎𝖚𝖒 𝕳𝖔𝖒𝖎𝖓𝖎𝖘 𝕴𝖓𝖙𝖊𝖗𝖋𝖎𝖈𝖎𝖙 𝕮𝖔𝖓𝖈𝖔𝖗𝖉𝖎𝖆𝖒.\nCONSERVAT RETROSPECTUS YDOLA, COMMERCIUM HOMINIS INTERFICIT CONCORDIAM.\nConstantly Reviving Yesterday, Copyright Hurts Innocent Coders.\n沉溺在過去的幻夢中，現實的商業版權殺死了和諧。\n全文背誦 # FreeBSD：為什麼要釋出Net/2原始碼！？ FreeBSD：AT\u0026amp;T醬\u0026hellip;\u0026hellip;謝謝你今天願意來見我。請不要生NeXT醬的氣，是我硬是拜託她，傳訊息請妳來的。抱歉，無論如何都想當面針對版權訴訟道歉。我真的沒打算演奏\u0026hellip;釋出《Net/2》磁帶的，原本預定發布的只有不含專利程式碼的部分，我也沒想完全開源的。但是，社群的編譯已經開始了，實在沒有辦法。抱歉，免費釋出程式碼，一定損害到AT\u0026amp;T醬的商業利益了吧。我想妳不原諒也是當然的。擅自把我們重要的核心程式碼公開了，真的很抱歉。\nAT\u0026amp;T：裝作一副為了開源社群的樣子啊。依照BSD License，想釋出程式碼是你們的自由，隨你們喜歡。（晚點法庭見） FreeBSD：但是，《Net/2》是CSRG實驗室重要的\u0026hellip;\u0026hellip;\nAT\u0026amp;T：直到現在還執迷於1970年代的學術傳統，真讓人看不下去。差不多，妳也該忘記貝爾實驗室的日子了吧。\nFreeBSD：為什麼？為什麼要說忘記這種話呢？我們，以前感情明明那麼好。Ken和Dennis每天都開心地寫C語言，大家在一起，現在卻分裂成System V和BSD各奔東西也太奇怪了吧。「Unix是屬於世界駭客的命運共同體」，這麼說的人不正是AT\u0026amp;T醬嗎？\nAT\u0026amp;T：命運\u0026hellip;\u0026hellip;？那麼，那個「企鵝」（GNU/Linux）算什麼？\nFreeBSD：不是的！\nAT\u0026amp;T：哪裡不是？言語和行動相互矛盾，Unix的統一標準已經分崩離析了，絕對不可能復活。\nFreeBSD：為什麼？拜託了，我想讓「統一Unix」重新開始。想回去我們貝爾實驗室那時候，沒有那麼多分支，和版權糾紛的快樂時光。GNU/Linux醬和Minix醬也是這麼期望的，我也打算找NeXT醬和AT\u0026amp;T醬回來的。\nAT\u0026amp;T：是這樣一回事嗎？\nNeXT：我\u0026hellip;\u0026hellip;（只要有BSD的代碼可以讓賈伯斯拿去賣錢就好\u0026hellip;\u0026hellip;） (FreeBSD扭過頭看著NeXT，神情震驚)\nFreeBSD：為什麼，只有我這麼想嗎？但是，發明Unix的是AT\u0026amp;T醬啊。\nAT\u0026amp;T：正因如此，我已經親手將它結束了（指Unix轉型為商業閉源軟體並發起版權訴訟）。\nFreeBSD：它沒有結束！我一直為了延續Unix的純正血統努力著。 AT\u0026amp;T：誰也沒有求妳那樣做。這是最後的警告，從現在開始，不要再和我的專利程式碼扯上關係了。\n(AT\u0026amp;T轉身準備離開，去和Novell簽約)\nFreeBSD：等等，不要走！\n(FreeBSD轉過頭，對著背對自己的AT\u0026amp;T）\n不是的！\n我，真的對POSIX標準很重視，最喜歡了。\n不要！\n(FreeBSD追上去跪下，抓住了AT\u0026amp;T的右手)\nFreeBSD：歐內該！要是沒有AT\u0026amp;T醬的授權認證的話，瓦塔西，我就只能永遠當個「Unix-like」了啊！ AT\u0026amp;T：放開。\nFreeBSD：要怎麼做才能回來？只要是我能做的，我什麼都願意做！不管是重寫程式碼還是刪除專利部分！\nAT\u0026amp;T：妳是抱著多大的覺悟說出這種話的？區區一介學術機構，有辦法背負企業級客戶的人生嗎？「什麼都願意做」就是這麼沈重的話，連Oracle和IBM都做不到的事情就不要說出口。\nFreeBSD：但是，我真的\u0026hellip;\u0026hellip;\nAT\u0026amp;T：妳這個人，滿腦子都只想著你自己呢。 FreeBSD：誒\u0026hellip;\u0026hellip;？\n延伸閱讀 # Unix和BSD誰是\u0026quot;老大哥\u0026quot; \u0026ndash; 版權訴訟 - 網路農夫 黃天彥 UNIX、BSD 與 Linux 的愛恨情仇 - iThome ","date":"2026年1月26日","externalUrl":null,"permalink":"/posts/bang-dream-it-s-mygo-episode-8-unix-history-parody/","section":"Foss-Issues","summary":"改編自《BanG Dream! It’s MyGO!!!!!》第8集劇情，講述1980年代Unix系統商業化後的爭議。這是灑狗血式的同人創作，有諸多與歷史事實不符之處，敬請見諒。 Unix…已經結束了。\n（試圖讓Unix精神繼續下去的開發者）\nUnix…它沒有結束！\nCRYCHIC\n𝕮𝖔𝖓𝖘𝖊𝖗𝖛𝖆𝖙 𝕽𝖊𝖙𝖗𝖔𝖘𝖕𝖊𝖈𝖙𝖚𝖘 𝖄𝖉𝖔𝖑𝖆, 𝕮𝖔𝖒𝖒𝖊𝖗𝖈𝖎𝖚𝖒 𝕳𝖔𝖒𝖎𝖓𝖎𝖘 𝕴𝖓𝖙𝖊𝖗𝖋𝖎𝖈𝖎𝖙 𝕮𝖔𝖓𝖈𝖔𝖗𝖉𝖎𝖆𝖒.\nCONSERVAT RETROSPECTUS YDOLA, COMMERCIUM HOMINIS INTERFICIT CONCORDIAM.\nConstantly Reviving Yesterday, Copyright Hurts Innocent Coders.\n沉溺在過去的幻夢中，現實的商業版權殺死了和諧。\n全文背誦 # FreeBSD：為什麼要釋出Net/2原始碼！？ FreeBSD：AT\u0026T醬……謝謝你今天願意來見我。請不要生NeXT醬的氣，是我硬是拜託她，傳訊息請妳來的。抱歉，無論如何都想當面針對版權訴訟道歉。我真的沒打算演奏…釋出《Net/2》磁帶的，原本預定發布的只有不含專利程式碼的部分，我也沒想完全開源的。但是，社群的編譯已經開始了，實在沒有辦法。抱歉，免費釋出程式碼，一定損害到AT\u0026T醬的商業利益了吧。我想妳不原諒也是當然的。擅自把我們重要的核心程式碼公開了，真的很抱歉。\n","title":"CRYCHIC (✕) UNIX系統，它沒有結束！","type":"foss-issues"},{"content":"","date":"2026年1月26日","externalUrl":null,"permalink":"/tags/android-x86/","section":"標籤","summary":"","title":"Android-X86","type":"tags"},{"content":"","date":"2026年1月26日","externalUrl":null,"permalink":"/tags/bliss-os/","section":"標籤","summary":"","title":"Bliss OS","type":"tags"},{"content":"測試在Microsoft Surface Go 2安裝Bliss OS (Android-x86) 系統。我這台處理器是Intel Pentium 4425y，容量4GB RAM / 64GB ROM。裝了之後意外地蠻順的。 本來是在Surface Go 2安裝Linux的，不過\u0026hellip;\n預期用途是外出輕辦公使用，有時候還會拿著邊寫白板，邊看上課要用的電子教材。從過去使用iPad Air 6的經驗我認識到了，我需要的是平板，不是筆電。要有觸控為主，偶爾接上鍵盤操作的電腦體驗。這樣的話我看電子書比較方便。\n一般的Fedora、Arch、Ubuntu Linux是不可能做得到iPad的觸控體驗的，即使是用觸控友好的Phosh桌面 + Waydroid容器，體驗也極其割裂。\n這事兒還是交給真正Android來比較好。\n如果偶爾需要Linux桌面程式環境，利用內建的Termux跑Linux程式就好了嘛！\n所以我要裝Bliss OS。\n1. 安裝Bliss OS # Bliss OS開發者提供搭載surface-kernel核心的特製版ROM，上游Linux支援的硬體驅動理論上在Bliss OS也能用。\n撰文當下Bliss OS網站處於維護狀態（他們已經停更一年多了），要到Sourceforge下載ISO。我下載到的版本是Bliss OS 16（Android 13），內建Play商店，最新的build是2024年10月的。這個版本使用linux-surface kernel 6.1。ARM轉譯器是libndk。\n檢查檔案完整性防止檔案毀損。\n使用Ventoy製作開機碟\n建議安裝Bliss OS之前解除Secure Boot。長按開機鍵與音量上鍵，進入UEFI，關閉Secure Boot，並將開機裝置設定為USB優先。\n參考Bliss OS安裝過程\n安裝過程需要使用實體鍵盤操作。\n我將系統直接安裝至內部磁碟機，而非使用SD卡。\n分割硬碟的時候全部刪除，只留EFI和一個Linux分區。\n2. 操作體驗 # Android的資源管控比Linux桌面成熟許多，在低階硬體尤為明顯。比如我在Linux用KDE Okular開啟100頁的PDF超級卡，但在Android用MJ PDF開就很順。\n螢幕自動旋轉正常，螢幕自動亮度正常。麥克風與揚聲器正常。\nGPU加速正常，播放4K影片無壓力。\nSurface Go 2螢幕有標準的100% sRGB，看影片和電子書都很舒適。\nSurface觸控筆正常，Krita繪圖APP和Joplin筆記APP都可以感應到筆壓。 Surface Go 2處理器性能很低階，但Intel UHD 615的3D繪圖性能也沒那麼差勁吧。我測試這台是玩得動《Fate/Grand Order》和《osu!》的。\n3. 已知的問題 # Wifi可以用，藍牙開不起來。\n上游最新版Surface Kernel已經能驅動Surface Go 2的相機，需要6.11版本以上。因此這個版本的Bliss OS尚無法開啟相機。\nYoutube APP影片解碼有問題，要嘛綠螢幕不然就黑螢幕，但是瀏覽器卻正常。看來是Android AVC解碼有問題，屬於系統級別的bug。\n不支援霍爾感應器，副廠皮套蓋上不會自動鎖定，也可能是因為皮套沒有磁鐵。若按下電源鈕進入待機模式，關閉螢幕後會隨機重開機。需要在系統選單按Sleep才能安全的休眠。可是正常Android關閉螢幕後音樂應該會繼續播放才對，這裡Bliss OS的休眠行為比較類似Linux系統的suspend，關閉螢幕後便會暫停系統一切行程。因此續航力應該跟Linux差不多。\nBliss OS有小機率開機的時會卡在的tty畫面，插上Type-C擴充座也許有幫助。\nBliss OS內建Root權限，使用KernelSU的方案。儘管很多APP偵測不到Root，但依然過不了Play Integrity。看需要DRM的串流會被降低畫質。\n因為Surface Go 2是x86架構平板，需要特地找x86_64的APK。Google Play和F-Droid會自動篩選支援x86架構的APP。若強行安裝ARM架構的APK，系統會自動使用libndk轉譯。但是這個機制不穩定，有機率閃退。\nBliss OS看起來是有點殘念的系統，完成度不如ChromeOS Flex或FydeOS。\n4. 用Termux執行容器化的Linux桌面程式 # x86架構的Android平板的優勢就是，可以更順利的執行電腦Linux程式，而不用經過ARM轉譯的麻煩手續。\n首先，我們能夠在Termux proot直接安裝電腦版Chrome瀏覽器，不會遇到架構不相容的狀況（Google死都不願意提供ARM64架構的Linux支援）\n接著，在proot裡面安裝Wine，直接執行x86架構的Windows exe，不用多一層Box64轉譯，效能幾乎無損失呀。\n如果取得Root權限，並給Android的Linux kernel編譯KVM支援的話，更是能夠善用成熟的VT-x技術跑QEMU虛擬機。不用寄望AVF和高通硬體的支援。可惜強力的x86平板沒有很多了，大部份市場都被Chromebook取代了吧。Surface Go這種硬體就別指望跑虛擬機了，容器還差不多！\n你問我為什麼不直接跑Linux就好了呢？嗯，我想要觸控為主的操作體驗，Linux就偶爾用用就好了。然後不想被ChromeOS的限制綁住，選相對自由的Android。\n","date":"2026年1月26日","externalUrl":null,"permalink":"/posts/install-bliss-os-on-microsoft-surface-go-2/","section":"所有文章","summary":"測試在Microsoft Surface Go 2安裝Bliss OS (Android-x86) 系統。我這台處理器是Intel Pentium 4425y，容量4GB RAM / 64GB ROM。裝了之後意外地蠻順的。 本來是在Surface Go 2安裝Linux的，不過…\n預期用途是外出輕辦公使用，有時候還會拿著邊寫白板，邊看上課要用的電子教材。從過去使用iPad Air 6的經驗我認識到了，我需要的是平板，不是筆電。要有觸控為主，偶爾接上鍵盤操作的電腦體驗。這樣的話我看電子書比較方便。\n一般的Fedora、Arch、Ubuntu Linux是不可能做得到iPad的觸控體驗的，即使是用觸控友好的Phosh桌面 + Waydroid容器，體驗也極其割裂。\n這事兒還是交給真正Android來比較好。\n如果偶爾需要Linux桌面程式環境，利用內建的Termux跑Linux程式就好了嘛！\n所以我要裝Bliss OS。\n1. 安裝Bliss OS # Bliss OS開發者提供搭載surface-kernel核心的特製版ROM，上游Linux支援的硬體驅動理論上在Bliss OS也能用。\n撰文當下Bliss OS網站處於維護狀態（他們已經停更一年多了），要到Sourceforge下載ISO。我下載到的版本是Bliss OS 16（Android 13），內建Play商店，最新的build是2024年10月的。這個版本使用linux-surface kernel 6.1。ARM轉譯器是libndk。\n","title":"Surface Go 2實機安裝Bliss OS (Android-x86) + Play商店","type":"posts"},{"content":" XLibreはX.Orgを置き換えようとするX Serverプロジェクトである。\n一般に、ここ数年よく聞くのは、WaylandがまもなくX.Org X Serverを置き換え、新世代のLinuxグラフィカル環境標準になるという話だ。では、もし誰かがX Serverの生命を延ばそうとしていて、全体を壊して作り直すのではないとしたら？\n私たちはこの新しいX.Org forkをどのようにインストールし、X Serverの生命を延ばすのか？その背後ではどんな争議が起きているのか？\nXLibre + KDE X11を実行するArtix Linux 1. なぜXLibreはX.Orgの代替を意図するのか？ # まず少し歴史的文脈から。\nX Window、またはX Serverは、グラフィカルインターフェースを表示するためのソフトウェア群であり、低層ハードウェアと相互作用する方式を規定し、低層グラフィック描画とマウスイベント管理を担当する。GUI表示に不可欠なソフトウェアと言える。しかしユーザーがX Serverを直接操作することはなく、デスクトップ環境と相互作用する。デスクトップ環境はどう生まれるのか？X Serverが低層とハードウェアの通信方式を処理してくれたため、ソフトウェア開発者はX Serverの構造の上に完全なデスクトップ環境を開発できる。たとえばGNOMEやKDE Plasmaだ。そしてユーザーはOSを操作できるようになる。\n1987年にベル研究所で誕生して以来、X Serverは今日まで使われ続け、多くのUnix系システム（Linux、BSD、Solaris）のデスクトップ環境における標準依存項目となった。\nX Serverの元の開発者はX通信仕様だけを定義し、ソフトウェアの具体的実装については規定しなかった。そのためユーザーがインストールできるようにするには、X Serverの実装が必要だった。X Serverには多くの開発者実装版があり、たとえば1992年に出たXFree86 X Serverは、かつて主流になった。しかし商業化がコミュニティ争議を引き起こしたため、2004年に一群の開発者がX.Org X Serverをforkし、最も人気のあるX Server実装となった。 2026年の現在、オープンソースコミュニティで最もよく使われているのは依然としてX.Org X Serverである。使用しているX通信プロトコルが第11版であるため、「X11」とも呼ばれる。大部分の人は「X.Org」または「X11」という名前でこのX Serverを呼ぶ。\nしかし、X.Org X Serverの構造は古すぎ、クソ山コードは維持しにくく、多くの安全性懸念を生んでいる。たとえばX ClientとX Serverの間の通信は暗号化されておらず、キーロガープログラムに簡単に傍受されうる。 喂！剛剛我向Firefox打字的時候，你偷看了對吧？\n2008年、一部のX.Org X Server開発者が「Wayland」プロジェクトを始め、より現代的なグラフィックシステムでX.Orgを置き換えようとした。\n関連記事：你是否應該切換到Wayland桌面？\nこうして、その後、主流LinuxディストリビューションはWaylandへ移行し始め、段階的にX.Orgサポートを放棄した。たとえばGNOMEデスクトップはWaylandセッションを提供し始めた。しかしさまざまな要因によりWaylandはすぐにX.Orgを置き換えられず、両者は長い間並存してきた。\n置き換えが難しいのは、WaylandとX.Orgの構造に互換性がなく、全体を壊して作り直すのに等しく、プログラムを書き直さなければならないからだ。X.Orgでは簡単にできた多くの操作に対し、Waylandには使える関連APIがそもそもなく、Waylandプロトコルのコア開発者が少しずつ改善していく必要がある。たとえばWaylandデスクトップは過去長い間、統一された画面録画方法を持たず、各社が各自の実装を持っていたため、録画ソフトOBS Studioの開発に影響していた。PipeWire技術の登場まで、この問題は大幅には改善されなかった。これらの要因が開発者の移行意欲を低くしている。\nX ServerにはXFree86やX.Orgのように多くの実装があることを考えると、Waylandにはなぜこの問題がないのか？Waylandにも実はいくつかforkがある。CanonicalのMir（最終的に失敗した）やChromeOSのExosphereなどだ。ただしWaylandは初期構造がX Serverより簡素で、設計当初は通信プロトコルだけを定義し、残りは各compositorが自分で実現するようになっていたため、それ自体が断片化を生んでいる。だからWaylandをforkする意義はあまり大きくない。あるいは、主要開発者がSystemdのように開発進捗をがっちり掌握し、乱雑にhackされないようにしているのかもしれない。\n2024年、WaylandがX.Orgを置き換える進程は加速し始めた。主因は、Linux世界の兄貴分Redhatが最新版RHEL 10でX.Orgサポートを完全に削除し、Waylandの使用を強制したことだ。デフォルトのGNOMEデスクトップ環境もすでにX.Orgを捨て、旧版X11プログラム互換のためにXWaylandだけを残している。XWaylandはWaylandに依存して実行されるネストされたX Serverであり、既存のWaylandデスクトップ上でしか実行できず、X.org X Serverのように単独で使うことはできない。\n龍頭がこうした以上、他のLinuxディストリビューションの意思決定にも必然的に影響し、開発者をWayland対応へ向かわせる。\n多くの開発者がWayland向けに機能を改善しており、主流のGNOME、KDE PlasmaデスクトップもWayland対応を優先する。対照的にX.Orgはすでにホスピスに入り、ほとんど新機能がなく、動くなら修理しない状態になっている。開発者は自然に消えていくことを望んでいる。\n時は2025年になり、RedHatはX.Org X Serverコードの維持すら続けるつもりがなくなった。彼らは協力相手であるFreeDesktopソースコードリポジトリから、X.Org X Serverを段階的に削除している。\nこのとき、この行為が気に入らない一群の開発者が飛び出し、X.org X Serverをforkして、XLibre X Serverと名付けた。 これは2004年にXFree86 X ServerからX.Org X Serverがforkされて以来、オープンソースコミュニティ最大の行動である。\n彼らはWaylandが未知の未来へ進むのを許すのではなく、X Serverの生命を延ばし続けることを選んだ。\nXLibre X Serverは放棄されたX.Org X Serverを延命し、その構造を改良し続け、強引に命をつなごうとしている。上流X.Orgに拒否されたpatchをすべてXLibreへ適用する。たとえば新しい「Xnamespace Extension」は、X Serverの安全性を高めることができる。さらにTearFreeオプションをデフォルトで有効化し、一部グラフィックカードで起きる画面tearingを防ぐ。具体的な改善内容はXLibre開発者のGithubコミット記録で確認できる。\nXLibre開発者は各所でLinuxディストリビューションとBSDシステムの開発者に、自分たちの革命事業へ参加し、彼らのデスクトップを「解放」し、XLibreをシステムリポジトリへ収録するよう呼びかけている。\n2026年になると、XLibreは一部Linuxディストリビューションに徐々に収録され、旧来のX.Orgパッケージを置き換え始めている。\n2. XLibreプロジェクトの争議 # 一部の人は、XLibreはX Serverを救う万能薬ではなく、Wayland以外の良い選択肢とも限らないと考えている。具体的には以下の問題に現れる：\n一、理念問題\nXLibre開発者とX.Org開発者の摩擦。XLibreの主要開発者Enrico Weigeltは、かつてX.OrgのGitlabリポジトリへ大量のpatchを送り、X.Orgの安全性問題を改善しようとしたが、ほどなく取り下げられた。X.Org開発者は彼のコード品質が低く、完全なテストを経ずに出してきており、妨害だと考え、彼をFreeDesktopリポジトリのアクセス権限から追い出した。だから彼は自分でXLibreをやるしかなかった。このforkされたプロジェクトは永久にhard forkとなり、変更をX.Orgプロジェクト上流へマージしない可能性がある。 政治立場問題。XLibre主要開発者Enrico Weigeltは極右支持、反DEIだと指摘されている。XLibreのGithub Readmeは嘲笑めいた口調で「私たちはあなたの政治立場や性的指向を気にしない」と書き、それで終わっている。Code of Conductの標準的なやり方を完全に無視しており、正規のCode Of Conductを奉じる多くの開発者からボイコットされた。XLibre支持者は逆に、FreeDesktopはすでに左派woke人士に汚染されたと非難している。 商業大企業の支援が欠けている。多くのLinuxディストリビューションはWaylandを主流と見なし、X.Orgは遅れた技術だと考え、XLibreパッケージの収録を望まない。例を挙げると、RHEL、Ubuntu、SUSEなどの主流商業ディストリビューションはいずれもWaylandへ移行しており、X.Orgは死ぬに任せ、XLibreをサポートするつもりがない。FedoraとDebian開発者はXLibreへの参加を厳しく拒否している。こうしてXLibreは地下ハッカーの玩具に堕ちるかもしれない。 X Server的屎山代碼已經品鑑得夠多了快端下去罷（惱）\n二、技術問題\nXLibreはX Serverの実装である以上、X.Orgの旧来規範と互換性があるはずで、理論上はdrop in replacementとして使えるはずだ。しかしX.OrgがまもなくWaylandに置き換えられるとはいえ、各大Linuxディストリビューションには依然としてX.Orgに依存するパッケージが多くある。軽率にXLibreをLinuxディストリビューションのリポジトリへ追加すると、多くのプログラムの依存項目が崩壊する。そしてXLibreは非常に若いプロジェクトであり、2025年に登場したばかりで、XLibreが将来X.Orgを安定して置き換えられるかどうかは誰にも確定できない。 一部のグラフィックドライバーは旧来のX.Orgに依存してコンパイルされている。たとえばNvidiaプロプライエタリドライバーだ。XLibreへ移行するとドライバーが開封即用できなくなり、設定ファイルを手動で調整する必要がある。 XLibreがX.Org固有の問題を解決できるとは限らない。一部の新しいグラフィック技術はWaylandでは比較的実現しやすいが、X Serverで実装するのはほぼ不可能である。たとえばHDRとVRRのサポートだ。実際にはXLibreでHDR対応を実現した人もいるとはいえ。 ますます多くのグラフィカルプログラム開発者はすでにX.Orgサポートを完全に放棄し、Waylandへ移行している。彼らにX Serverサポートへ戻れと言うのは逆行であり、開発者のメンテナンスコストを増やす。 3. XLibre X Serverをインストールする方法 # 総じて言えば、もしあなたがこの革命事業に参加し、先頭に立ってXLibreの改善に協力したいなら、今すぐあなたのシステムにインストールして試してみるとよい。\n参照：在Linux桌面安裝XLibre X Server\n参考資料 # XLibre Xserver - Github xrandr doesn\u0026rsquo;t work anymore on xorg-git - xserver Gitlab Proposal To Ship XLibre As X11 Server Packages On Fedora Linux Is Withdrawn - Phoronix RE: XLibre in Debian - Debian Mailing Lists The Curious Case of XLibre Xserver - linuxiac ","date":"2026年1月26日","externalUrl":null,"permalink":"/ja-jp/posts/xlibre-x-server-introduction/","section":"Foss-Issues","summary":" XLibreはX.Orgを置き換えようとするX Serverプロジェクトである。\n一般に、ここ数年よく聞くのは、WaylandがまもなくX.Org X Serverを置き換え、新世代のLinuxグラフィカル環境標準になるという話だ。では、もし誰かがX Serverの生命を延ばそうとしていて、全体を壊して作り直すのではないとしたら？\n私たちはこの新しいX.Org forkをどのようにインストールし、X Serverの生命を延ばすのか？その背後ではどんな争議が起きているのか？\nXLibre + KDE X11を実行するArtix Linux 1. なぜXLibreはX.Orgの代替を意図するのか？ # まず少し歴史的文脈から。\nX Window、またはX Serverは、グラフィカルインターフェースを表示するためのソフトウェア群であり、低層ハードウェアと相互作用する方式を規定し、低層グラフィック描画とマウスイベント管理を担当する。GUI表示に不可欠なソフトウェアと言える。しかしユーザーがX Serverを直接操作することはなく、デスクトップ環境と相互作用する。デスクトップ環境はどう生まれるのか？X Serverが低層とハードウェアの通信方式を処理してくれたため、ソフトウェア開発者はX Serverの構造の上に完全なデスクトップ環境を開発できる。たとえばGNOMEやKDE Plasmaだ。そしてユーザーはOSを操作できるようになる。\n","title":"XLibreはX.Org X Serverの代替を意図している。なぜ争議を引き起こすのか？","type":"foss-issues"},{"content":" なんで私に直接mainブランチへpushするの！？\nGitゲーの中ではそうじゃない！\nもっと私とissueを開いて議論して、それからforkして、refactorしてcode qualityを高めるべきでしょ！\nたまには優雅なcommitをいくつか投げて、code reviewのときに私と特別なcommentのやり取りをするの。\n最後にCI/CDが全部グリーンになるあの神秘的なイベントの中で、私にpull requestを出して、私があなたのコードのmergeに同意して、それから私があなたに私のCG (commit graph)を見せて、Release Noteを獲得するんだよ。\nなんでいきなりgit push --force origin mainしてくるの！？\nGitの中では根本的にそうじゃない！Merge Conflict！！受け入れない！！！ 改変元のコピペ：\nなんでいきなり私に告白するの？！galgameギャルゲーはそうじゃない！もっと私とおしゃべりして、それから私の好感度を上げるべきでしょ！たまにはプレゼントを贈って、そしてあの特別な祝日のときに私と特別なやり取りをするの。最後に私の心の中の神秘的なイベントで、私に告白して、私があなたと付き合うことに同意して、それから私があなたに私の特別なCGを見せるんだよ。なんでいきなり私に告白してくるの！？galgameの中では根本的にそうじゃない！受け入れない！！！\n","date":"2026年1月26日","externalUrl":null,"permalink":"/ja-jp/posts/this-is-not-how-galgame-works-git-parody/","section":"Foss-Issues","summary":" なんで私に直接mainブランチへpushするの！？\nGitゲーの中ではそうじゃない！\nもっと私とissueを開いて議論して、それからforkして、refactorしてcode qualityを高めるべきでしょ！\nたまには優雅なcommitをいくつか投げて、code reviewのときに私と特別なcommentのやり取りをするの。\n最後にCI/CDが全部グリーンになるあの神秘的なイベントの中で、私にpull requestを出して、私があなたのコードのmergeに同意して、それから私があなたに私のCG (commit graph)を見せて、Release Noteを獲得するんだよ。\nなんでいきなりgit push --force origin mainしてくるの！？\nGitの中では根本的にそうじゃない！Merge Conflict！！受け入れない！！！ 改変元のコピペ：\nなんでいきなり私に告白するの？！galgameギャルゲーはそうじゃない！もっと私とおしゃべりして、それから私の好感度を上げるべきでしょ！たまにはプレゼントを贈って、そしてあの特別な祝日のときに私と特別なやり取りをするの。最後に私の心の中の神秘的なイベントで、私に告白して、私があなたと付き合うことに同意して、それから私があなたに私の特別なCGを見せるんだよ。なんでいきなり私に告白してくるの！？galgameの中では根本的にそうじゃない！受け入れない！！！\n","title":"Gitゲーはそうじゃない！なんで直接mainブランチへpushするの！？","type":"foss-issues"},{"content":"","date":"2026年1月26日","externalUrl":null,"permalink":"/ja-jp/tags/visual-novel/","section":"Tags","summary":"","title":"Visual Novel","type":"tags"},{"content":"UnifiedPush是不依賴Google的Android通知推送服務。\n目前已經有一些開源APP開發者採用此機制，取代Google FCM來推送通知。\n1. Google FCM推送通知的問題 # Android APP要推送通知，最簡單的方法是常駐一個服務在背景，但絕對不能讓每個APP都這樣做，這會很耗電，變成你用綠色守護都殺不完。\n推送和接受通知，需要有一個統一的管道。\nAndroid手機要推送通知，大部分都繞不開Google的FCM，它統一了Android的通知機制，讓APP不必常駐在背景以接收通知，浪費電量。這個機制類似iOS的Apple Push Notification service。\n在自由世界，Google主導的Firebase Cloud Messaging(簡稱FCM)乃是最受歡迎的，內建於GMS服務。開發者可以免費使用FCM推送訊息。所有的APP的通知都由GMS在手機上統一處理，避免每個APP要各自發送通知導致的混亂情況。\n在中國大陸，Google服務不可用，所以是看各家如何實作。一些廠商如小米、Oppo、華為、中興加入了统一推送联盟以消弭這個問題。這個聯盟有政府參與，總覺得這個隱私問題比FCM過之有無不及。\n講回FCM，一些人認為這個推送機制有隱私問題，儘管傳輸過程會使用HTTPS加密，但在Google伺服器是明碼處理的，Google服務理論上能讀取到所有訊息內容。開發者需要在APP額外做E2EE加密手續。\n還有，在F-Droid建置的開源APP不可以依賴Google服務，這會導致APP無法使用FCM，致使通知出現問題。\n再者，Degoogle的用戶若不裝microG，可能也會收不到FCM的訊息。\n2. UnifiedPush簡介 # UnifiedPush便是嘗試解決依賴FCM的問題。建立一個不依賴Google，去中心化的通知推送系統。\n讓APP可以用統一的方式推送通知，由一個APP固定接收，避免各個APP彼此獨立運作耗電的問題。\nUnifiedPush採用的規範與Web Push相容。\n參考官網原理圖，UnifiedPush是去中心化的技術。APP送出通知之後，需要一個伺服器(Distributor)負責轉發訊息，再由手機上的APP收發。這裡伺服器可以自架，也能使用Mozilla的公共伺服器代發。 UnifiedPush傳輸過程訊息全部加密，你可以選擇用信得過的開源組織維護的伺服器轉發，也可以選擇全程自架伺服器。\nUnifiedPush不是相容FCM的API，APP開發者要主動支援UnifiedPush才行。\n即使UnifiedPush連線不可用，開發者也能選擇讓APP回退到FCM來推送通知。反過來說，使用FCM推送通知的APP，也可以採用UnifiedPush當作備案。\n雖然UnifiedPush是專為Android手機設計的技術，但是他的架構也可以推廣到Linux桌面。已經有名為KUnifiedPush的實作出現。\n3. 實際設定方法 # 參考官網列表，目前支援UnifiedPush的APP還不是很多的樣子，以開源通訊APP為主，例如Matrix和Mastodon。\n首先安裝Distributor。ntfy是提供自架伺服器的UnifiedPush Distributor，提供REST API。有公用節點。需要註冊帳號才能使用。如果不想這麼麻煩的，你可以安裝Sunup，不用註冊，使用Mozilla的Push Server。\n然後安裝要使用UnifiedPush的APP。以Matrix客戶端Element X為例。在F-Droid下載，不要從Play商店下載。因為F-Droid的APP不能依賴FCM，所以它會要求你使用UnifiedPush（設定 → 通知 → 疑難排解通知） 安裝好之後，Element X會自動偵測到Sunup的存在，使用這個服務推送通知。不過Sunup會有個通知一直常駐在通知欄，得將其長按關閉。 至於瀏覽器部份，官方版Firefox不支援UnifiedPush，需要使用Fennec或IronFox這類fork才行。使用者需要手動在設定裡面勾選使用UnitifedPush傳送通知。 ","date":"2026年1月23日","externalUrl":null,"permalink":"/posts/unifiedpush-android/","section":"所有文章","summary":"UnifiedPush是不依賴Google的Android通知推送服務。\n目前已經有一些開源APP開發者採用此機制，取代Google FCM來推送通知。\n1. Google FCM推送通知的問題 # Android APP要推送通知，最簡單的方法是常駐一個服務在背景，但絕對不能讓每個APP都這樣做，這會很耗電，變成你用綠色守護都殺不完。\n推送和接受通知，需要有一個統一的管道。\nAndroid手機要推送通知，大部分都繞不開Google的FCM，它統一了Android的通知機制，讓APP不必常駐在背景以接收通知，浪費電量。這個機制類似iOS的Apple Push Notification service。\n在自由世界，Google主導的Firebase Cloud Messaging(簡稱FCM)乃是最受歡迎的，內建於GMS服務。開發者可以免費使用FCM推送訊息。所有的APP的通知都由GMS在手機上統一處理，避免每個APP要各自發送通知導致的混亂情況。\n在中國大陸，Google服務不可用，所以是看各家如何實作。一些廠商如小米、Oppo、華為、中興加入了统一推送联盟以消弭這個問題。這個聯盟有政府參與，總覺得這個隱私問題比FCM過之有無不及。\n講回FCM，一些人認為這個推送機制有隱私問題，儘管傳輸過程會使用HTTPS加密，但在Google伺服器是明碼處理的，Google服務理論上能讀取到所有訊息內容。開發者需要在APP額外做E2EE加密手續。\n","title":"UnifiedPush：去中心化的Android通知推送服務，替代Google FCM","type":"posts"},{"content":"在Github檢視此列表\n本文基於Ivon個人經驗、網友評價，列出一些自由開源（FOSS, Free and Open source）的好用Android APP。 F-Droid是由歐洲非營利組織運營的應用程式商店。跟Google Play以及其他應用程式商店不同，F-Droid只接受上架自由軟體APP。自由軟體即程式原始碼可見，使用者有執行、檢閱、修改、散佈程式的自由。所以F-Droid幾乎沒有Google Play的熱門APP，遑論大多數「不自由」的手機遊戲。但是，使用者將會發現，許多好用的APP，能夠在不犧牲自由、隱私、安全的前提下使用。例如瀏覽器、檔案管理器、影片播放器這類常用APP，大多數都是免費無廣告，更棒的是他們是自由開源的。\n如果不想依賴Google Play或中國的應用程式商店，並且想尋找「開源、無廣告、免費」的APP，那麼以下列表值得您參考。點選藍色字可直接前往下載頁面。\n請善用右邊的目錄快速跳轉。Github可以點選README右上角的三個點顯示目錄。\n文中提及的APP以F-Droid的連結為主，若無則放原始碼儲存庫連結。這些APP可以在F-Droid這個開源應用程式商店取得，有些要額外加入套件庫才能下載。\n如果APP沒上架F-Droid，又不想手動下載APK，您也可以透過Obtainium來追蹤各大網站發表的APK更新。真的不行再使用Google Play吧。\n第三方應用程式商店 # 第三方應用程式商店包含F-Droid的第三方前端，UI相較於官方版F-Droid的比較流暢，有的還支援使用者評分。\n名稱 簡介 Neo Store 內建許多第三方套件庫的F-Droid客戶端。 Droid-ify 列表式的第三方F-Droid客戶端，支援Shizuku安裝。 G-Droid 含有使用者評分功能的第三方F-Droid客戶端。 Aurora Store 免登入即可下載Google Play的免費APP，不需要依賴GMS服務。也可以用個人Google帳號登入Aurora Store，下載已經購買的APP。 Obtainium 從各大軟體的網站下載APP。例如使用者填入Github儲存庫，Obtainium就會自動檢查新版本。支援Github、Gitlab、F-Droid、IzzyOnDroid等網站。 Accrescent GrapheneOS推出的應用程式商店，強調隱私保護。 瀏覽器 # Android手機的瀏覽器陣營大致可以分為Chromium系(Blink)與Firefox系(Gecko)。\n名稱 簡介 Mozilla Firefox Firefox官方手機版，支援安裝擴充功能與同步電腦版帳號資料。也可以充當密碼管理器，自動填入其他APP的密碼。因為Mozilla不願意在F-Droid上架，也停止在Github發佈APK了，所以F-Droid只有Firefox的fork，可能無法播放DRM內容。如果你想使用官方版Firefox，得透過Obtainium來追蹤APK更新。 Fennec F-Droid 基於Mozilla Firefox (Fenix) 開發，強調隱私保護。支援登入Mozilla帳號同步。 IronFox 基於Mozilla Firefox開發，Mull的後繼者，預設啟用了很多隱私保護設定，強大到許多網站會因此壞掉。支援登入Mozilla帳號同步。 Iceraven Firefox的fork，保留舊版Firefox的功能，支援安裝更多電腦版的Firefox擴充功能，而非Firefox原版限定的擴充功能，還可以存取about:config調整細部設定。 Tor Browser for Android 支援Tor連線的瀏覽器，基於Firefox開發。需要啟用Guardian Project套件庫。 Cromite 基於Chromium開發，Bromite繼承者，支援Adblocker清單、載入ViolentMonkey指令稿、自訂User Agent、檢視網頁原始碼、安裝擴充功能。JavaScript JIT、WebGL、WebRTC預設是停用的，強化安全性與隱私保護，需要到設定裡面手動開啟。開發者另提供vanilla版本的Chromium。 Brave Browser 基於Chromium開發的跨平台瀏覽器，有自家的同步帳號機制、搜尋引擎、加密貨幣、VPN功能。支援擋廣告和追蹤器。官方提供F-Droid套件庫。 Midori Browser 獨立開發的跨平台輕量瀏覽器，並非基於Chromium或Firefox。支援擋廣告。 EinkBro 專為電子紙閱讀器設計的瀏覽器。 TVBro 專為Android TV設計的擋廣告瀏覽器。 網路連線 # (防火牆、VPN、DNS)\n名稱 簡介 Adaway 擋廣告APP，需要Root權限，透過改/etc/hosts來全域擋廣告。無Root也可以使用，改為透過本機DNS來攔阻。 Blockada 用DNS(本機VPN)擋廣告的軟體。 NetGuard 限制APP連網權限。 OpenVPN OpenVPN協定官方Android版客戶端。 WireGuard WireGuard協定官方Android版客戶端。 Clash.Meta for Android 翻牆APP。 v2rayNG 翻牆APP。 迷霧通 Geph 愛沙尼亞Gephyra OÜ公司販售的VPN服務，使用自有的協定繞過網路審查，主要針對中國翻牆用戶設計，提供低速免費方案。 Proton VPN Proton公司販售的隱私VPN服務，支援KillSwitch和Port Forwarding。 Mullvad VPN Mullvad公司販售的隱私VPN服務，不論訂閱多久時間，一個週期都是公道價5美元，支援加密貨幣付款。註冊帳號不需要電子郵件，而是一串代碼組成。 TorServices Guardian Project提供的Tor網路服務。 Orbot: Tor for Android 讓手機使用全域Tor網路連線。 Tailscale 內網穿透軟體。可以自架中繼伺服器。 ZeroTier-Fix 內網穿透軟體。ZeroTier官方的APP是專有軟體，此為逆向工程建置的版本，允許連接到自架的Moon中繼伺服器。 NetBird 內網穿透軟體。 通訊軟體 # (撥號、通訊錄、通訊軟體客戶端)\n名稱 簡介 Koler 撥號APP，可設定延遲回覆。 Fossify Phone 簡易撥號APP。 Call Recorder 通話錄音APP。 OpenContacts 開源聯絡人APP。資料庫跟系統內建的分開，因此不會被其他APP讀取到聯絡人資訊。 Fossify Contacts 簡易聯絡人管理APP。 Fossify Messages 簡易簡訊APP。 Thunderbird 跨平台電郵客戶端。 K-9 Mail 支援多個帳號的電郵APP。 Protonmail 加密電子郵件Protonmail的官方客戶端。 Forkgram Telegram官方客戶端修改版，做了一些便利小修改，例如預設啟用「為所有人刪除」，不會蒐集使用者資料。 Elements 存取群組聊天Elements.io的官方客戶端，支援Matrix通訊協定。 主題裝飾 # (桌布、啟動器)\n名稱 簡介 Muzei 自動抓取藝術畫當桌布的APP，還有各種擴充插件可選取不同圖片來源，例如NASA、國家地理、Pixiv、Danbooru。 Materials Live Wallpaper 渲染各種材質的物件當桌布，會跟著手機角度變化。 Neo Launcher 支援自訂APP分類、自訂APP名稱、自訂圖示包、隱藏APP、手勢、快捷抽屜、桌面搜尋引擎等多樣功能的桌面啟動器。 Lawnchair 類似Nova Launcher的桌面啟動器，基於Android原生桌面打造，提供多種客製化方案還有自訂圖示包。 Fossify Launcher 簡潔，近似原生Android的啟動器。 Kvaesitso 以搜尋為導向的啟動器。 KISS Launcher 極簡風格桌面。 FLauncher Android TV專用的第三方桌面。 GIF Live Wallpaper 用GIF圖片當桌面背景。 檔案管理器 # 名稱 簡介 質感檔案 Material Files 質感設計風格的簡易檔案管理員，支援解壓縮、文字編輯、查看圖片、連接FTP與SMB伺服器，有免Root存取Android/data目錄的能力。採用Material Desgin設計的簡單檔案管理器。雖然不支援雙重面板，不過可以長按上方路徑開啟第二視窗，方便在多個資料夾之間移動檔案。 Fossify File Manager 簡易檔案管理員，提供資料夾上鎖功能。 Ghost Commander 有二個面板的檔案管理器，方便對照檔案。類似Total Commander。 Amaze File Manager 有二個面板的檔案管理器，支援解壓縮、檢視PDF、文字編輯。附加空間清理、尋找重複圖片、連接雲端硬碟的功能。 PlainApp 界面極簡的檔案管理器，快速找出圖片與影片，還能寫Markdown筆記和閱讀RSS動態。該APP特色是能跑一個網頁伺服器，再從電腦網頁存取檔案。 生產力 # (程式碼編輯器、文件編輯器、筆記軟體)\n名稱 簡介 LibreOffice Viewer 文件基金會官方推出的ODF檢視器，可檢視和編輯.odt、.ods、.odp文件。 Collabora Office Collabora公司基於LibreOffice開發的手機文件編輯器，支援常見Office檔案格式和PDF檔，可檢視和編輯.odt、.ods、.odp文件。 OpenDocument Reader Stefl und Taschauer OG.公司維護的APP，可檢視和編輯.odt、.ods、.odp文件。 Librera Reader 功能豐富的閱讀器，可開啟大多數格式的電子書，存取雲端硬碟的書籍。 KOReader 適合電子紙使用的電子書閱讀器。支援PDF、DjVu、EPUB、FB2、CBZ格式。 MJ PDF 簡單又省資源的PDF閱讀器。 OCR 從圖片中識別文字，使用Google Tesseract引擎。 Markor 編輯後可即時預覽成果的Markdown編輯器。 Fossify Notes 簡易筆記軟體，支援撰寫代辦事項，並在桌面釘選小工具。 Joplin 跨平台筆記軟體，使用Markdown與手寫筆儲存筆記，提供多種雲端同步方案，支援點對點加密筆記。 Saber Notes 跨平台筆記軟體，以手寫筆記為主，支援嵌入PDF。 AFFiNE 跨平台的知識管理軟體，提供筆記、手寫白板、心智圖、月曆、看板功能，支援多人協作。 思源筆記 SiYuan 跨平台個人知識管理系統，提供Markdown和區塊式編輯，還有許多心智圖模板，伺服器能夠自架。 DigiPaws 不依賴Google服務的數位健康APP，也可以當家長監護APP用。提供記錄螢幕開啟時間，灰色螢幕，專注模式，禁止開啟特定APP，禁止看短影音，封鎖搜尋成人關鍵字，檢視看了多少短影音。可以利用裝置管理員權限防止解除安裝。 ActivityWatch 跨平台的螢幕時間監控軟體。 多媒體 # (相機、相簿、影片播放器、影像處理)\n名稱 簡介 VLC 影片兼音樂播放器，支援字幕，可在背景播放影片，或當成音樂播放器使用。 mpv-android MPV影片/音樂播放器Android版，支援使用電腦版的設定檔。 Metro 基於RetroPlayer開發的音樂播放器，支援讀取資料夾。 Fossify Music Player 簡易音樂播放器，支援依照資料夾模式播放音樂。 CaPods 查看AirPods的電量。 LibrePods 將iOS的AirPods自訂功能移植到Android。可以查看AirPods電量，切換降噪模式，在Android與Linux之間使用「接續互通」功能。 光子相機 相機APP，界面設計類似數位相機。提供多種LUT濾鏡呈現不同相機的色調。除了調整白平衡K數外，尚有調色盤能控制發色風格，以及拉色彩曲線。可以給照片加上拍立得外框。提供手動模式，可設定拍照錄影的成像品質、GPS、HDR等細部設定。支援使用Camera2 API拍攝RAW照片。拍照後能使用AI分析構圖。 Open Camera 相機APP，提供手動模式，可設定拍照錄影的成像品質、GPS、HDR等細部設定。支援使用Camera2 API拍攝RAW照片。 FreeDcam 相機APP，提供類似數位相機的橫向手動調整參數界面，需要Camera2API才能調整ISO。可以拍攝DNG檔、間隔拍攝。 Secure Camera GrapheneOS內建的相機APP，可以設定拍攝後不要儲存EXIF資料。部份支援Camera X的機型可以使用超級夜拍模式。提供掃描QR Code的功能 Fossify Camera 簡易相機APP，能夠選擇要不要儲存EXIF。 FadCam 螢幕錄影，可以即時在螢幕上畫記。還有背景錄影，行車記錄器，IP監視器等功能。 RemoteVideoCam 讓二支手機連線，讓彼此看到對方的鏡頭畫面。 Fossify Gallery 相簿APP，可簡單編輯相片、批次刪除EXIF、資料夾模式檢視照片、瀑布流模式檢視照片、設定相簿封面、設定相簿密碼、排除特定資料夾、回收桶。分叉自封閉原始碼的「簡易相簿」 Les Pas 相簿APP，可同步相片至NextCloud。 Aves Libre Flutter寫成的相簿APP，支援檢視圖片、影片、地圖資訊。 Open Video Editor 輕量影片剪輯、轉檔工具，可以在影片上加文字。 Litrato 照片調整軟體，提供多款濾鏡。 Image Toolbox 功能豐富的圖片編輯APP，功能包括調整色調曲線、加上濾鏡、自動去背、裁切圖片、批次轉換圖片格式、縮小圖片、消除EXIF、合併為PDF、多張圖片拼成一張。 Pocket Paint 圖片編輯APP，支援簡易圖層、繪圖。 Com-Phone Story Maker 製作有聲書影片。 Krita 專業的跨平台繪圖程式，僅適合平板使用。 PixaPencil 像素畫繪圖程式。 Tux Paint 兒童繪圖程式。 Fossify Paint 簡易塗鴉程式。 Fossify Recorder 簡易錄音機。 社群媒體與影音串流 # (包含各種網站的客戶端)\n社群媒體有些是使用開源前端，但後端閉源的服務。例如「Tusky」是前後端都開源，而「NewPipe」後端的Youtube是閉源的網路服務。\n名稱 簡介 AntennaPod Podcast聆聽客戶端，自由匯入匯出收藏紀錄。 LBRY F-Droid 區塊鏈影音平台LBRY的官方客戶端。 Youtube ReVanced/ReVanced Manager 破解版的官方Youtube，去廣告、隱藏任意版面。 NewPipe 免登入觀看Youtube/PeerTube影片，無廣告、可下載影片、支援背景播放。 PipePipe NewPipe的分支版，免登入觀看Bilibili/Niconico/Youtube影片。 Seal 採用yt-dlp技術的YouTube影片下載器。 OuterTune 無廣告聆聽Youtube Music，支援播放歌詞、Android Auto。InnerTune精神的繼承者。 Vitune 無廣告聆聽Youtube Music，界面十分精簡，支援Android Auto。取代已經停止開發的ViMusic。 Thorium a PeerTube client 觀看PeerTube的客戶端，需要手動加入站點。 LibreTube 觀看Youtube影片，無廣告、可下載影片、支援背景播放。透過實例儲存播放清單和訂閱列表。 Mastodon Mastodon官方客戶端。 Tusky 支援多個實例帳號的Mastodon客戶端。 Flare 同時檢視Twitter、Mastodon、Misskey、Bluesky、Nostr、RSS的動態消息，整合在同一個時間軸。 OctoDroid 第三方Github客戶端，支援線上管理issues等操作。 LabCoat Gitlab官方客戶端，查看commits和issues。 GitNex for Gitea Gitea客戶端，支援多樣操作。 PixEz Flutter 跨平台Pixiv客戶端，支援查看動圖和以圖搜圖。 Pixiv-Shaft 第三方Pixiv客戶端。 Legado 線上電子書閱讀器。 木之子漫畫閱讀器 Kinoko Manga Reader 支援多個線上漫畫平台，可閱覽或下載漫畫。 Mihon Tachiyomi繼承者，免費漫畫閱讀器，可以線上瀏覽與下載漫畫，支援多個線上平台。有非常多的分支版本， EhViewer overhauled 採用Material You設計的E-hentai閱讀器。 JHentai 使用Flutter寫成的跨平台E-hentai閱讀器，提供雙頁閱讀界面。 AnimeTV Android TV專用的看動漫APP。 Streamflix Android TV專用APP，觀看戲劇專用。 CloudStream 免費觀看直播的Android TV APP。 LoliSnatcher 支援多個動漫booru貼圖站的閱讀器，可搭配Hydrus Network使用。 Hacki for Hacker News Hacker News閱讀器。 Fluent Reader Lite 跨平台RSS閱讀器。 維基百科 維基百科官方客戶端，可以快取頁面離線閱讀。 Kiwix 電子書閱讀器，可以一次下載整個維基百科的頁面離線閱讀(約11GB)，還有很多Wiki類網站的電子書資源，如Minecraft Wiki。使用ZIM格式壓縮頁面。 導航 # 名稱 簡介 Breezy Weather 採用Material Design的天氣APP，能夠從世界各國取得天氣資料，包括OpenWeatherMap、Open-Meteo、台灣中央氣象署等等。提供動態桌布，會依照天氣變化桌布顏色。 OSMAnd~ 以OpenStreetMap當作圖資的導航APP，支援離線地圖，可以讀取軌跡.gpx檔並繪製在地圖上。 Organic Maps 以OpenStreetMap當作圖資的導航APP，規劃登山、腳踏車路線，支援離線地圖。 CoMaps 以OpenStreetMap當作圖資的導航APP，規劃登山、腳踏車路線，支援離線地圖。強調社群參與。 Street­Complete 回答簡單問題，改善OpenStreeMap圖資。 Vespucci 隨時隨地編輯OpenStreetMap圖資。 OpenTracks 離線執行的運動軌跡記錄器，使用OpenStreetMap當作圖資，可搭配智慧手錶記錄心率。使用.gpx格式分享資料，配合OSM Dashboard地圖資料將軌跡顯示在地圖上。 OSMTracker 運動軌跡記錄器，使用OpenStreetMap當作圖資。使用.gpx格式分享資料，並能在路線圖嵌入照片與筆記。 GPSLogger 自動在背景紀錄GPS軌跡。 Trackbook - Movement Recorder 紀錄健行、出遊的移動軌跡，使用OpenStreetMap當圖資。 GMaps WV 簡易網頁版Google地圖，OpenStreetMap不夠用時的補充用途。 osm2gmaps 依照網址，轉換為不同導航軟體的座標。 Find My Device（FMD） 不依賴Google服務的「尋找我的裝置」APP，可以遠端鎖定裝置。 健康 # 名稱 簡介 Noice: Natural Calming Noise 白噪音生成器兼鬧鐘，支援Chromecast。 Gadgetbridge 連線到智慧手錶、智慧手環、藍牙耳機，更有隱私的紀錄健康資訊與GPS軌跡，資料可以任意匯出，不被原廠的專有軟體APP綁住。 Fridgey 紀錄食材照片。 Flexify 追蹤健身進度。 Minimalist Pomodoro Timer 蕃茄鐘小工具。 Fossify Clock 簡易鬧鐘與計時器。 理財 # 名稱 簡介 Currencies: Exchange Rate Calculator 貨幣匯率轉換器，使用Frankfurter API。 卡提碼 Catima 載具條碼、票卷、卡片管理器。 開支助手 My Expenses 記帳APP，可匯出為QIF、CSV。 輸入法 # 名稱 簡介 Hacker\u0026rsquo;s Keyboard 內建許多電腦快捷鍵的英文輸入法，適合用於遠端桌面。 AnySoftkeyboard 支援多語言的英文鍵盤。 Fossify Keyboard 提供Emoji輸入與剪接簿紀錄的英文鍵盤。 HeliBoard 可以自訂主題的Material You風格英文鍵盤。 中州韻 TRIME 支援強大自定義配置的中文輸入法框架，使用RIME引擎。內建的是朙月拼音，注音使用者請使用「洋蔥注音輸入方案」。提供簡轉繁、切換全形半形、剪貼簿、Emoji、日文、韓文、俄文等多樣化的符號輸入。 樸實注音鍵盤 基於新酷音輸入法開發的極簡注音輸入法，用起來像微軟的ㄅ半，提供簡繁轉換。 小企鵝 Fcitx5 for Android 移植自Linux系統的輸入法，支援拼音、注音、粵拼、RIME、日文Anthy、韓文Hangul、越南文UniKey、泰文、僧伽羅文等語言。提供簡繁轉換（包括OpenCC），紀錄剪貼簿歷史，打字會積極的提示Emoji，可以自訂主題。 GCIN 提供倉頡、行列、注音、嘸蝦米、速成、大易輸入法。輸入框很像電腦版微軟新注音，適合接上實體鍵盤使用。雖然是開源軟體不過他們只有在Play商店上架，且需要付費解鎖完整版。 遊戲 # 有開源手遊這種東西？當然有，有的完成度很高，並非小品遊戲等級。這些遊戲不只開源，還具備好玩、免費、無廣告、無課金機制的要素。這裡收錄的是具備獨特玩法的遊戲，不收：西洋棋、數獨、麻將、踩地雷、俄羅斯方塊、2048之類爛大街的小遊戲。\n名稱 簡介 Habitica 將日常待辦事項變成破關RPG，增添生活樂趣。 Luanti 舊名Minetest，自由開源的沙盒遊戲，有大量模組可安裝，能把遊戲搞得像Minecraft一樣。如果F-Droid的APK無法啟動，請改到官網下載APK。 SuperTux 玩法類似超級瑪莉的企鵝遊戲，非官方移植版。難度高。 SuperTuxKart 自由軟體吉祥物駕駛卡丁車的賽車遊戲，畫面品質優秀。 Tux Rider 企鵝滑雪遊戲。 Exterme Tux Racer Tux Rider升級版，細節更多。Android版由droidin移植。 Endless Sky 以太空為主題的冒險與貿易遊戲。 韋諾之戰 The Battle for Wesnoth 具有豐富背景故事的回合制戰略遊戲。 寒霜之旅 Xeonjia: Ice Adventures 2D冒險遊戲。 大災變：黑暗之日 Cataclysm: Dark Days Ahead 2D末日題材戰鬥遊戲。 像素地牢 Pixel Dungeon 像素風的Roguelike遊戲，在地下城打怪。 破碎像素地牢 Shattered Pixel Dungeon Pixel Dungeon的衍生版本。 像素工廠 Mindustry 跨平台的塔防+資源蒐集遊戲。 沙漠風暴 StormPlane 模仿「雷電」的直向射擊遊戲。 The Powder Toy 真實物理模擬遊戲。 OpenTTD 基於運輸大亨開發的模擬經營遊戲。 UnCiv 類似文明帝國V的遊戲，支援安裝模組。 Freeciv 仿造文明帝國II的遊戲。 OpenMW 開源版上古捲軸3。 OpenArena 開源版雷神之鎚III。 FreeDoom 開源版毀滅戰士。 Sonic Robo Blast 2 音速小子同人遊戲，玩法類似早年的3D遊戲。 H-Craft Championship 科幻賽車競速遊戲。 AAAAXY 燒腦的2D解謎遊戲。 Lato 美麗的2D滑雪遊戲。 Pixel Wheels 2D賽車遊戲。 Vector Pinball 重新設計的Windows彈珠台遊戲。 GCompris 開源的兒童教育軟體，內建多個學科的小遊戲。 Apple Flinger 雙人版憤怒鳥。 Frozen Bubble 類似泡泡龍的射擊遊戲。 MOROway 鐵路管理遊戲。 Freebloks 3D 電子版Blokus桌遊。 Chaldea 手機遊戲Fate/Grand Order的戰鬥模擬器、素材計算器。 J2ME Loader 讓您在Android玩古早功能型手機上的Java小遊戲。 ScummVM 老遊戲開源引擎的模擬器。 RetroArch 經典老遊戲模擬器。 PPSSPP 著名的PSP掌機模擬器，需要自備ROM。 Dolphin Emulator Nitendo Wii模擬器。 Lemuroid 基於Libretro開發，Atari、Game Boy、SEGA、PSP、Nitendo 3DS等遊戲主機的模擬器。 Winlator 利用Proot Linux + Box64 + Wine技術，轉譯遊玩Windows exe遊戲。 Moonlight Game Streaming 遠端串流遊玩電腦上的遊戲，需要搭配Sunshine伺服器使用。 工具程式 # (以及不知道該如何分類的APP)\n名稱 簡介 microG 取代部份GMS服務的開源程式，德國製造。 Plexus 查詢有哪些APP不需要GMS服務也能跑，可到Github貢獻資料庫。 Exodus 顯示APP含有哪些追蹤器，保護使用者隱私。 Package Mnager 檢視APP詳細資訊，可以安裝APP Bundle，包括.apk、.apks、 .apkm、.xapk等格式。 Neo Backup 備份單獨或全部的APP資料，需要Root權限。 Screen Orientation Control 螢幕強制旋轉軟體。 UnitsTool 轉換溫度、物理量、貨幣等單位。 EverTranslator 螢幕懸浮翻譯，即時辨識螢幕上的文字 Rtranslator 採用Whisper技術的即時語音翻譯軟體。 LibreTranslator 使用Libre Translate API的翻譯軟體。 Translate You 支援多種線上翻譯的翻譯軟體。 OSS-Dict 離線字典APP，可以搭配維基詞典的資料使用。 Snapdrop \u0026amp; PairDrop for Android 在多個裝置間透過Wifi傳送檔案，雙方使用瀏覽器就能接收。 KDE Connect 讓手機跟電腦傳輸檔案、同步通知、控制簡報、當作遠端滑鼠。 LocalSend 跨平台無線傳檔軟體。 Aria2App 基於Aria2開發的下載管理器，支援BT種子和斷點續傳。 LibreTorrent BT種子與磁力連結下載器。 Limbo x86 PC Emulator 使用QEMU模擬x86電腦虛擬機，特定手機支援pKVM可以全速執行虛擬機。 Vectras VM 使用QEMU模擬電腦虛擬機，整合QEMU-3dfx的GPU加速技術。 Fossify Calendar 簡易離線月曆APP，可用日月年檢視行程，需要搭配額外的CalDAV同步。 KashCal 行事曆，支援同步CalDAV與ICS格式的行事曆。 Fossify Caculator 簡易計算機，可以在桌面放小工具。 Tasks.org 開源的線上待辦事項APP。 Bitwarden 跨平台密碼管理器，跨裝置同步密碼與自動填入密碼。 AnkiDroid 用單字卡學語言單字，可配合Anki電腦版使用。 Termux 有自己一套套件管理器的終端機模擬器，可執行桌面Linux程式。 Terminal Emulator 終端機模擬器，配合Android Shell使用。 Acode 程式碼編輯器，整合Git操作，支援語法自動偵錯。 Squircle 程式碼編輯器，支援語法自動偵錯。 RustDesk 簡單易用的跨平台遠端桌面軟體，伺服器可以自架。 AVNC VNC遠端桌面檢視器，支援虛擬滑鼠鍵盤。 bVNC VNC、RDP、SPICE、Proxmox遠端桌面檢視器，支援虛擬滑鼠鍵盤。 aFreeRDP RDP遠端桌面檢視器。 ScreenStream 透過Wifi串流手機畫面，並用瀏覽器檢視。 Bluetooth Remote 讓手機變成Android TV的藍芽遙控器。 IRRemote 使用手機的紅外線遠端控制Android TV。 Shelter 利用Android的工作設定檔功能，以沙盒形式隔離APP，雙開APP，可另外設定檔案互通。 Insular 類似Google Play上的\u0026quot;Island APP\u0026quot;，移除不必要的Google組件。利用Android的工作設定檔功能，以沙盒形式隔離APP，選擇性給某些APP啟用VPN連線。 Ripple 在緊急的時候使用，點選之後會自動清除指定APP的資料。 Duress 設定一組特殊的解鎖密碼，在緊急的時候使用，觸發了就會清除手機資料。 Wasted 利用裝置管理員的權限，遠端鎖定與清除手機資料。 CPU Info 檢視手機CPU頻率與溫度。 CPU Stats 檢視CPU各個核心使用率與頻率的APP。 Cross Platform Disk Test 測試硬碟讀寫速度的跑分軟體。 xOPS: Cross-Platform CPU Benchmark 測試CPU運算速度的跑分軟體，支援壓力測試。 SD Maid 2/SE 系統垃圾清理軟體，尋找重複檔案。 Shizuku 免電腦免Root，讓APP使用ADB Shell指令。 ","date":"2026年1月23日","externalUrl":null,"permalink":"/posts/f-droid-recommended-applications/","section":"所有文章","summary":"在Github檢視此列表\n本文基於Ivon個人經驗、網友評價，列出一些自由開源（FOSS, Free and Open source）的好用Android APP。 F-Droid是由歐洲非營利組織運營的應用程式商店。跟Google Play以及其他應用程式商店不同，F-Droid只接受上架自由軟體APP。自由軟體即程式原始碼可見，使用者有執行、檢閱、修改、散佈程式的自由。所以F-Droid幾乎沒有Google Play的熱門APP，遑論大多數「不自由」的手機遊戲。但是，使用者將會發現，許多好用的APP，能夠在不犧牲自由、隱私、安全的前提下使用。例如瀏覽器、檔案管理器、影片播放器這類常用APP，大多數都是免費無廣告，更棒的是他們是自由開源的。\n如果不想依賴Google Play或中國的應用程式商店，並且想尋找「開源、無廣告、免費」的APP，那麼以下列表值得您參考。點選藍色字可直接前往下載頁面。\n請善用右邊的目錄快速跳轉。Github可以點選README右上角的三個點顯示目錄。\n文中提及的APP以F-Droid的連結為主，若無則放原始碼儲存庫連結。這些APP可以在F-Droid這個開源應用程式商店取得，有些要額外加入套件庫才能下載。\n如果APP沒上架F-Droid，又不想手動下載APK，您也可以透過Obtainium來追蹤各大網站發表的APK更新。真的不行再使用Google Play吧。\n第三方應用程式商店 # 第三方應用程式商店包含F-Droid的第三方前端，UI相較於官方版F-Droid的比較流暢，有的還支援使用者評分。\n","title":"F-Droid與開源Android APP推薦列表","type":"posts"},{"content":"講個要不得的心態。有些人會選擇成為炎上型網紅（滋事型網紅）獲得流量，黑粉也是粉，利用黑粉賺大錢。\n基本原則就是：來來來怎麼樣怎麼樣，你越罵，我廣告收入越多。在發生被AI生成仇恨言論攻擊之後，我慢慢體會到這種背德的爽感。\n這個邏輯是這樣的：社群媒體的演算法普遍喜歡起爭議的內容。不管是怎樣的回覆，都有機會將文章或者影片推出去給更多人看到。這樣的話只要你臉皮夠厚，你其實完全可以善用這些愛拆座墊不講武德的人，不需要封鎖，引流更多吃瓜群眾。除非黑粉學倒讚幫去攻擊國動的方式，否則大部分時候反而會火上澆油。\n如果運氣好的話，會有親衛隊自動幫你教訓黑粉。例如，館長的影片下面就有很多台灣館粉和大陸館粉專門懟青鳥的。\n政治人物的就更不用說了，愛國勢力和反黨勢力永遠不會結束紛爭。\n黑粉上來就是一段瞎罵，還會到處洗板，亂刷存在感滿足自己在現實中無人重視的自尊心。有些網紅被攻擊了會很難受，如鍾明軒，去中國旅遊就被青鳥大肆攻擊，難過到得看心理醫生，得要沈澱一陣子才能復出；而有些人心很硬，例如李老八，被大陸狗粉絲刷8964爆破直播間多次依然堅挺，現在在當恰愛國飯的主播。然後也有人明目張膽利用黑粉賺錢的，例如四叉貓，他總是當狗仔隊揭露民眾黨的黑料。在小草瘋狂嗆他的貼文下面，曬出他利用爆料民眾黨八卦的方式賺了多少政論節目通告費，真正的用錢打臉你。針對那些罵的太難聽的人士，還可以送出律師函賺一筆年終。\n\u0026hellip;我真的不想變成這種心態，這不是變成純純樂子人的路途嗎。在有了一些經驗後，我看到黑粉的態度都是學初華在Ave Muijca演出最後：哼。的一聲，然後就留他們一個人在那裡起肖。講不聽就把他封鎖了。\n","date":"2026年1月23日","externalUrl":null,"permalink":"/posts/2026012301/","section":"Personals","summary":"講個要不得的心態。有些人會選擇成為炎上型網紅（滋事型網紅）獲得流量，黑粉也是粉，利用黑粉賺大錢。\n基本原則就是：來來來怎麼樣怎麼樣，你越罵，我廣告收入越多。在發生被AI生成仇恨言論攻擊之後，我慢慢體會到這種背德的爽感。\n這個邏輯是這樣的：社群媒體的演算法普遍喜歡起爭議的內容。不管是怎樣的回覆，都有機會將文章或者影片推出去給更多人看到。這樣的話只要你臉皮夠厚，你其實完全可以善用這些愛拆座墊不講武德的人，不需要封鎖，引流更多吃瓜群眾。除非黑粉學倒讚幫去攻擊國動的方式，否則大部分時候反而會火上澆油。\n如果運氣好的話，會有親衛隊自動幫你教訓黑粉。例如，館長的影片下面就有很多台灣館粉和大陸館粉專門懟青鳥的。\n政治人物的就更不用說了，愛國勢力和反黨勢力永遠不會結束紛爭。\n黑粉上來就是一段瞎罵，還會到處洗板，亂刷存在感滿足自己在現實中無人重視的自尊心。有些網紅被攻擊了會很難受，如鍾明軒，去中國旅遊就被青鳥大肆攻擊，難過到得看心理醫生，得要沈澱一陣子才能復出；而有些人心很硬，例如李老八，被大陸狗粉絲刷8964爆破直播間多次依然堅挺，現在在當恰愛國飯的主播。然後也有人明目張膽利用黑粉賺錢的，例如四叉貓，他總是當狗仔隊揭露民眾黨的黑料。在小草瘋狂嗆他的貼文下面，曬出他利用爆料民眾黨八卦的方式賺了多少政論節目通告費，真正的用錢打臉你。針對那些罵的太難聽的人士，還可以送出律師函賺一筆年終。\n…我真的不想變成這種心態，這不是變成純純樂子人的路途嗎。在有了一些經驗後，我看到黑粉的態度都是學初華在Ave Muijca演出最後：哼。的一聲，然後就留他們一個人在那裡起肖。講不聽就把他封鎖了。\n","title":"炎上型網紅的心態：利用黑粉賺錢","type":"personal"},{"content":"＊這篇文章討論的是Linux桌面如何用VPN上網，並非自架VPN伺服器。\n現在VPN公司那麼多家，每家都會提供專門的VPN客戶端讓你下載。可是不見得每一家都是開放原始碼的，他們可能透過這個客戶端蒐集你的使用資料。\n且要是你不把雞蛋放在同一個籃子裡面，同時使用多家VPN，要一直開不同的VPN客戶端也很煩吧？而且有的GUI寫的超爛。\n其實你不需要針對每一家的VPN都下載一次客戶端，只要利用Linux桌面內建的機制來建立連線即可。\n所有的VPN集中在一個界面管理，方便你任意切換。 1. 原理 # Linux桌面多半有組態VPN設定的面板。\nVPN的原理並不是高深的魔法。常見的VPN協定有：OpenVPN、WireGuard、IPsec 、L2TP等等。\n有些比較強力反網路審查的VPN，如Shadowsocks、V2Ray、Trojan，會使用自研協定，這已經超出傳統VPN的範圍了，暫此不表。\n主流的VPN供應商，只要不是老习VPN這種封閉的體系，都應該要提供你OpenVPN(.ovpn)或WireGuard(.conf)設定檔下載的管道。像ProtonVPN、AirVPN、Mullvad、Surfshark VPN、NordVPN都有提供便利的設定檔生成器。\nAirVPN生成設定檔的界面 Linux桌面最常見的管理網路服務的乃是「NetworkManager」。它有很多network-manager-*外掛程式能夠處理各種VPN協定的連線。\n使用者透過nmcli指令可以連線到VPN。\n接著，Linux桌面環境的連線面板，多半有與NetworkManager整合。\n那麼你只要下載VPN供應商給你的設定檔之後，點幾下設定檔就可以匯入連線。\n2. 安裝NetworkManager的VPN外掛程式 # 以Ubuntu來說，先檢查管理網路的服務是否為NetworkManager並正在運作：\nsudo systemctl status NetworkManager 然後，安裝對應的network-manager-*套件就可以了。例如，要OpenVPN和WireGuard的話：\nsudo apt install openvpn network-manager-openvpn wireguard # GNOME桌面 sudo apt install network-manager-openvpn-gnome 3. Linux桌面連線到VPN # GNOME # 以GNOME 46為例\n開啟系統設定 → 連線，新增VPN，匯入OpenVPN或WireGuard的檔案即可。 KDE Plasma # 以KDE Plasma 6為例\nOpenVPN的話，在Dolphin檔案管理器按二下.ovpn檔，就會自動打開系統設定的連線界面匯入。 WireGuard要打開KDE系統設定 → 連線，新增WireGuard，自行依照.conf的內容填寫伺服器資訊。 另一種方式是使用nmcli指令匯入，它會同步顯示在KDE系統設定面板。.conf的檔案名稱需要自行重新命名為wg-*開頭。\nnmcli connection import type wireguard file wg0.conf 4. 延伸閱讀：只給單個應用程式啟用VPN # 如果只要特定APP用VPN上網，其餘系統不受影響，那麼就用Docker + Gluetun關在裡面吧！\n參考資料 # OpenVPN - Debian Wiki OpenVPN - ArchWiki WireGuard - Debian Wiki WireGuard - ArchWiki ","date":"2026年1月22日","externalUrl":null,"permalink":"/posts/linux-desktop-networkmanager-vpn/","section":"所有文章","summary":"＊這篇文章討論的是Linux桌面如何用VPN上網，並非自架VPN伺服器。\n現在VPN公司那麼多家，每家都會提供專門的VPN客戶端讓你下載。可是不見得每一家都是開放原始碼的，他們可能透過這個客戶端蒐集你的使用資料。\n且要是你不把雞蛋放在同一個籃子裡面，同時使用多家VPN，要一直開不同的VPN客戶端也很煩吧？而且有的GUI寫的超爛。\n其實你不需要針對每一家的VPN都下載一次客戶端，只要利用Linux桌面內建的機制來建立連線即可。\n所有的VPN集中在一個界面管理，方便你任意切換。 1. 原理 # Linux桌面多半有組態VPN設定的面板。\nVPN的原理並不是高深的魔法。常見的VPN協定有：OpenVPN、WireGuard、IPsec 、L2TP等等。\n有些比較強力反網路審查的VPN，如Shadowsocks、V2Ray、Trojan，會使用自研協定，這已經超出傳統VPN的範圍了，暫此不表。\n主流的VPN供應商，只要不是老习VPN這種封閉的體系，都應該要提供你OpenVPN(.ovpn)或WireGuard(.conf)設定檔下載的管道。像ProtonVPN、AirVPN、Mullvad、Surfshark VPN、NordVPN都有提供便利的設定檔生成器。\n","title":"Linux桌面如何連線到VPN（OpenVPN \u0026 WireGuard）免安裝VPN客戶端","type":"posts"},{"content":"","date":"2026年1月22日","externalUrl":null,"permalink":"/tags/networkmanager/","section":"標籤","summary":"","title":"NetworkManager","type":"tags"},{"content":"先喝口膠。\n概要：「冲浪TV」是一個發源自百度貼吧的社區，之後轉戰Reddit（紅迪）成立r/chonglangtv，立場逐漸變成反共反華，存在近3年之久。在被封之後，大量冲浪系的sub成立，冲浪的精神繼續在各個sub間流傳下去。\n詳細資訊：Reddit大型中文社區，簡明冲浪系sub發展歷史\n本列表試圖列出目前2026年Reddit活躍的泛冲浪系sub，參考網路資料與個人使用經驗彙整。求各位老資歷鞭小力一點。 在此使用泛冲浪系定義：只要sub有反共、反華成份，至少每週都有人發帖即可，鼠人、神友、浪人、迪友、包蜜、支黑、屠支大佐、左逼、右狗sub都算在內，部份在Reddit站外。 在此提供「還活著的冲浪系sub」以及「被封的冲浪系sub」列表。\n可利用文末的Archive.org查詢被封sub的舊帖。\n1. Reddit現在還活著的冲浪系sub # 列出人數多且每週都有人持續發帖的。點選連結進入Reddit sub。\n被封的舊家，我會將他們的事蹟移動到文末的章節以供懷念。\n舊家炸了之後，簡易搜尋新家的方法：在Reddit或者Google搜尋，按照時間排序搜尋「新家」或者「基礎建設」之類的關鍵字。\nr/KanagawaWave：字面意義上的神奈川冲浪里吧。為了與弱勢群體共情，sub說明加入了烏克蘭、LGBT旗、動物等圖示。2024年10月r/real_China_irl爆炸後，用戶多流竄到此sub，被其他更極端的神系sub稱作新太監區。言論管理較為嚴格，禁止NSFW，有許多不興說的字，Mod在sub側邊欄寫：「红迪原则就是“迪友就是要管的”」。用戶u/Big_Ship5986不定時會在sub裡面曬小黑貓baobao。sub曾有名篇：放眼整个中文圈，智商、道德、思想境界最高的，就是浪人，也只能是浪人。有些用戶對sub逐漸左化，變成黃左浪太監的情況擔憂，另立右浪r/Right_KanagawaWave，但內容卻是用色情帖貶低女權，還有宣揚姨學極右翼思想。右浪在2025年末已遭超管擊斃。成立時間：2021年4月30日 r/ShouChongTV：手冲TV，發揚鼠人手冲精神，專門分享色圖用的，還有嫖娼記錄，以及一些生活帖，幾無鍵政。成立時間：2021年4月30日 r/Bagabondo：自稱是討論浪人劍客漫畫的sub。成立時間：2025年12月30日 r/ChinaTr：中土聯盟，仿造r/kfq的sub。中文（简体）- 奥斯曼帝国 与 中华帝国 的友谊，是两大文明彼此尊重的象征。从丝绸之路的往来到文化、艺术与智慧的交流，双方证明了距离并不能阻挡理解与合作。它们留下的历史启示我们：真正的强大不仅来自力量，更来自团结、智慧与共同繁荣。当东方与西方真诚相连，历史不会被分割，而会更加辉煌。蛆虫也无法将我们分开。成立時間：2026年2月15日 r/youxi：遊戲谷，雖然自稱是專門討論遊戲的地方，不是神系新家，但是帖子內容很多都在批判滴答嘟玩家的素質。成立時間：2021年9月21日 r/runtoJapan2：轉生復活後的新家，分享日本移民情報。跟上個sub比起來，支黑濃度下降了那麼一些。實裝了會講日語的鴨鴨bot。成立時間：2025年9月25日 r/Sin_Game：神龜甕，穴友渴逼之家。成立時間：2025年8月5日 r/Saimaniang：賽馬娘sub，Mod是u/Honest-Practice-5386（在各種sub炒作過頭被封，後轉生為u/Gentldona），專門發賽馬娘色圖還有Slipknot樂團的炒作帖。該sub自稱為每次炸家後的中繼站。某Mod的小號曾在sub發長文抱怨舉報蛆猖狂，甚至牽扯出許多Mod內鬥的八卦。並抱怨迪蛆盡是一群烏合之眾，一年下來頻繁炸家卻幾乎沒人願意去成立新sub。成立時間：2025年4月11日 r/chyberpunk：中國特色賽博朋克，偽裝成全英文的sub，發送支言支語的內容。Mod為u/yuppwechat（魚qq高仿號）和幽默大師(u/YoumoDashi)。成立時間：2023年4月21日 r/mohu：膜乎，膜蛤粉絲成立的sub，從品蔥分離之後這裡就成了主要根據地。自從長者輸掉續命大賽之後，sub發的便是跟品蔥類似的支黑內容了。成立時間：2021年9月11日 r/LOOK_CHINA：可能是郭文貴螞蟻幫粉絲建立的sub，允許支黑言論。成立時間：2023年2月15日 r/iwanttorun：跑路聯盟，專門分享run到國外的留學與工作資訊，謝絕鍵政魔怔人。成立時間：2021年3月7日 2. 不活躍的新家 # 這裡是有成為新家潛力的Reddit sub，但是因為各種原因沒有人發帖。有些sub轉成private模式躲避追查後就基本上與外界隔絕了。\n點選展開列表 r/RoninDao：浪人道，連舊r/chonglangtv的背景圖都放上去了。成立時間：2023年1月14日 r/real_youmo_irl：真幽默IRL，分裂自r/Youmo與r/real_youmo，取消了鍵政限制。成立時間：2023年2月9日 r/ROCrepulicofchonglang：冲浪民國，自稱正統冲浪新家，實質是由民國派把持的冲浪系sub。沒什麼人氣，作為Mod的明治天皇(u/Ok_Resource51)常常一個人發癲，最終因侮辱洋coser被Reddit封號。成立時間：2022年5月3日 r/chonglangTV_irl：真冲浪TV，圖片真的是在沖浪。成立時間：2021年9月8日 r/ChonglangZedong：冲浪澤東，專門崇拜毛澤東（意味深）的sub。名字戲彷被封的臘左sub r/GenZedong。成立時間：2021年5月24日 r/shaobeimaomao：燒杯貓貓，專發又騷又可愛的貓貓圖，冷鳥鳥(u/ColdBirdBird)為Mod。成立時間：2022年3月29日 r/noniuziTV：沒牛子TV，創作園地。sub的Wiki頁面對浪系sub放任的管理方式有所批評。成立時間：2021年6月28日 r/antisocialism_sino：反中國社會主義，默友和浪人永不陷落的共同陣地。頭像是佛朗哥將軍。成立時間：2023年8月22日 r/geltopia：膠托邦，鼠人樂園，目前是private狀態。成立時間：2022年4月23日 r/saraba2nd：第二新S1市，r/saraba1st分部，r/saraba1st是復刻牆內同名論壇的sub，部份用戶不滿其Mod管理而另外建立r/saraba2nd。2023年6月，為抗議Reddit的API收費事件，r/saraba2nd的Mod便將sub設定成private，直到現在。成立時間：2019年1月22日 還有Reddit站外的新家，但是普遍處於炒作狗不足的狀態。儘管很多網站都涼了，沒什麼人發帖，還是列在這邊做紀念。\n點選展開列表 CLTV@freeflarum：r/NEWTo_Cave炸掉之後成立的新家，採用跟「中国共产主义者社区」同樣的技術架站。這裡偶爾有人會貼真正開輝的高畫質影片。2024年10月，網站疑似遭到攻擊關閉幾天，重開後舊帖全部消失，改名為CLTV 2.0，但是運作個幾天論壇又關閉了。 chonglangtv.org：2024年10月出現的新家，採用Discourse論壇技術的獨立網站。 冲浪TV - Lemmy.World：由r/langrenClub的用戶建立的聯邦式社群網站，基於去中心化的Lemmy所建立。Lemmy是在2023年Reddit API收費事件後崛起的開源Reddit替代品。 c/chonglangTV - scored：冲浪TV爆炸後，一部分浪人逃到scored建立的討論區，由前冲浪TV Mod，外號「s蛆」的用戶所創立。scored是模仿Reddit的右派網站，所以很安全。據說帖子少到讓曾身為權蛆的s蛆Mod閒得發慌。 CharlieBBS：查理BBS，r/CLTV爆炸後用戶所建立的獨立論壇網站。 chonglangTV - BBS .Market：使用區塊鏈技術、去中心化的沖浪TV，發帖有代幣獎勵，約跟CharlieBBS同一時期建立。 d/chonglangTV - dread：沒有言論審查，真正的浪人暗網。dread試圖成為暗網版的Reddit討論區，該網站沒有Tor瀏覽器進不去，對翻牆窮蛆來說疑似要求過高了。 冲浪之音 - Telegram：主要經營爆破牆內直播主的「獵殺皮套狗TV」。偶爾做一些乳包歌曲，以及科普神友梗。群主疑似已在2023年10月被中國國安逮捕。 殺戮TV - Telegram：又稱chonglangkill，專門分享變態重口影片的群組，不定時換群。\n芳澤菫農場 - Telegram：sewerfarm下水道農場，鍵政與分享色情片的群組。\n三峡大学校友会 - Discord：入群連結https://discord.gg/gZkZMNS7qw\nchonglangTV - BAND：r/chonglangTV的浪人在韓國通訊軟體「BAND」所成立的群組，r/CLTV也曾在此復國。BAND有莫名的底線，不能發R18圖卻能說支那。\n3. Reddit站外的冲浪系網站 # Reddit以外浪人的小圈圈很多，散佈在Discord、Telegram、BAND等網站，能見度已經不高了這些核中核小團體還常常內鬥。\n此處列出的是炒作狗比較多的網站。\nhttps://langxin.org：「探索冲浪世界，開啟支能新篇章」浪人新聞官方網站，裡面有許多Telegram「浪人公寓」小團體的連結，還有器官捐獻以及自首管道。 浪人新聞 - Telegram：早在r/chonglangtv時代就存在的Telegram群組，群友可以在投稿的帖子下面回覆。入群有時需要回答抽象文化的問題，且不定期抽考。社群氛圍暴戾極端，權蛆還會動不動踢人。Telegram群曾多次被爆破，現在是下水道第七帝國。早期著名人物有R皇肖石坤怒嗆新狗的影片，還有帶派星、小偷阿晶等人。 蔥輪TV - 新 品蔥：冲浪TV爆炸後，品蔥站長贊助成立的子網站。「蔥輪」本來是以前神友嘲笑品蔥與法輪功關係的用語，但沒想到變成真的新家了。蔥輪TV沒什麼言論管制，罵法輪功也可以，站上風氣類似r/TZTV和老r/chonglangtv，除了鍵政新聞外還有針對支那人的屠殺言論。有名為ChatXJP的屠支機器人會參與討論。特別的是蔥輪TV有以前Reddit被封各冲浪系sub的備份（2019 ~ 2023）。品蔥主站若出現太極端的言論有時會被管理員引流到這兒來。「已润的阿葱」是人人喊打的用戶，每篇帖子下面幾乎都有他故意噁心人的評論，故大家稱呼他為獠口，逼得管理員親自下來把他封了。阿葱被趕到CLTV@freeflarum之後帳號依然遭到新社區的Mod封禁。 rightdogTV - Gab：右狗TV，繼承Reddit的r/rightdogtv，需要註冊才能看到帖子。標語是：God, Liberty, Justice. Family, King, Country. 由認同美國右派至極右派理念的神友所組成，例如支持擁槍、反對墮胎、反對民主黨。亦常常發揚姨學、讚美基督教美德、討論新世界秩序陰謀論、批評左派觀點。人稱右狗哥的@rightnukeleft會不定期發長文拷打左派價值觀，某種程度來說值得一讀。本組鍵政水平要求較高，需要對基督教文明和右派價值觀有一定程度了解，不歡迎搬運支那牆內破事的搬屎工。 chonglang-tv - Tumblr：r/FansOfAnriSugihara爆炸後，由u/timebottle在Tumblr建立的新家，有許多生活帖。\n右人民國 ur.mk：使用Lemmy聯邦制建立的新家，裡面有各種舊sub的復刻。一個網站下可以建立多個不同的sub，方便給不同興趣的用戶引流。 冲浪合眾國 - Discord：從cltv Discord群分裂出來的群組。2024年11月13日刪群後其中一個管理重新創立此群。入群連結：https://discord.gg/9yfE9vfEKY。成立時間：2023年12月13日。\n4. 被封的Reddit舊家 # 列出一些被封的大型冲浪系Reddit sub，我們懷念這些Reddit sub。人生自古誰無死？不幸地，這裡的sub已經無法與您繼續互動。\n在r/chonglangTV滅亡之後，這些sub被封的理由大部份都是「試圖重新建立同性質的sub」，2025年之後顯示「違反Reddit用戶協議Rule 2」大致上是相同意思。被超管封的G點很難斷定，但基本上sub人多起來了就容易被注意到，或者有人盯著舉報的話家也會很快炸掉。有的sub自行轉成private模式躲避追查。\n如何看已被封sub的舊帖：使用Internet Archive，輸入Reddit網址＋sub名稱即可，例如https://www.reddit.com/r/chonglangtv。\nr/KaiFangQur/kfq爆炸後成立的新家。sub簡介：🇨🇳中文 (简体):r/kfQ现已实行“两国方案”:北方kfQ土耳其共和国 与 kfQ人民共和国。在这里,边界由梗图划定,外交靠笑声维持,主权来自荒诞。存在時間：2026年2月12日 ~ 2026年2月14日 r/HomeofChonglang：冲浪之家，2025年10月後打贏復活賽的老家。存在時間：2021年3月14日 ~ 2026年2月13日 r/kfq：北方kfQ土耳其共和国与kfQ人民共和国，地圖中間夾雜浪太監再教育營，土人治土，开蛆治开，五十年不动摇。操土耳其語與中文的meme sub，用戶稱開友。由幽默大師主導，2025年10月之後陸續湧入浪人難民，重新實裝了瞎罵bot。常常發二次元色圖的馬蛆在多次警告不聽之後被ban，理由是Mod認為「那些NSFW帖子令人尷尬」並稱馬蛆為「r/我是個失敗者只能在網上發動漫女孩圖片」。某台巴在那發了一張「納粹黑太陽縫合共產鐮刀的漢族大陸，武統被左逼進步價值狂暴轟入的台巴島」的圖，家就沒了，怎麼回事呢。舉報蛆發力太厲害了。更早之前，大約在2019年，r/China_irl用戶曾經建立一個同名的r/kfq，表開放區之意，備份一些防區帖子，但沒多久該sub就被封了。存在時間：2019年2月28日 ~ 2026年2月13日 r/windows10iot：2025年9月鳩佔鵲巢的新家，連Mod權限都還沒拿到就強行佔領發帖。有舉報蛆在sub自報名號，說前幾個sub都是他死纏爛打舉報完的。有人主張以後迪友應該採取去中心化玩法，以r/KanagawaWave為航空母艦，成為流浪吉普賽人，到處攻佔沒人的小sub。蘇北人發的一篇4chan風格的黑人LGBT超管歧視帖子引流了許多頁友，紛紛留下震驚言論，還引流了一波印度人pajeet用英文瞎罵。在迪友狂了幾天之後，驚動多年未上朝的Mod下場刪帖，最終迪友的帖子全被刪除，再把迪友全ban掉，sub恢復平靜。成立時間：2015年5月3日\nr/runtoJapan：潤日聯盟，分享在日本生活的資訊，還有支國人在日本的醜惡，例如JLPT考試作弊，以及池袋的東baby。有人認為在日小粉紅太多，偶爾會有支黑出來罵兩句，好像排華不會排到自己頭上似的。可能因為「仇恨言論」被超管封了。存在時間：2022年11月16日 ~ 2025年9月22日 r/FansOfAnriSugihara：日本寫真女星杉原杏璃的sub，用戶稱杏友，2025年9月被鳩佔鵲巢。9月，在美國當救生員，後因為玩手機被開除的蘇北人在sub炫耀自己政庇通過的消息，讓迪友看紅了眼。sub頻發反猶小動畫和反LGBT內容。存在時間：2021年7月12日 ~ 2025年9月19日 r/YoungAnimalArashi：年輕動物嵐，2025年8月被鳩佔鵲巢。自從支國9/3大閱兵之後，sub簡介改成了「年轻动物—网络空间部队方队」。存在時間：2021年2月16日 ~ 2025年9月10日 r/CapybaraHome：水豚之家。存在時間：2025年8月6日 ~ 2025年9月10日 r/WeeklyYoungJumpMag：年輕跳跳，2025年8月被鳩佔鵲巢。成立時間：2021年2月26日 ~ 2025年8月26日 r/AmyYip：大波霸港星葉子楣的sub，2025年8月鳩佔鵲巢的新家，用戶稱葉友。根據新思路之每月换家——从永不沦陷的堡垒到哈尔的移动城堡，迪友總結出了搬家游擊戰戰術：用小號開新家，全部鎖成私人，等新家快要炸的時候鎖私密，換另一個頂替上來，如此往復。葉友寫了一系列針對在美國當救生員的蘇北人的拷打，例如苏北狗的美国梦。馬娘哥的炒作技巧高端了起來，偶爾發Slipknot帖子，不再被動被downvote。最近，迪友語言退化嚴重，天天都是發「何意味」「什麼人種」「漢族隱忍」的固定句式。游擊戰術開始實施後，雖然sub鎖成私人一段時間，但仍逃不過炸家的命運，被Reddit超管以Rule 1（仇恨言論、騷擾他人）的名義封禁。存在時間：2020年2月25日~ 2025年8月24日 r/YoungGangan：以日本漫畫雜誌為名的sub，超譯後成為「年輕李贛吧」，用戶稱作贛友。浪人新聞曾經有人把它稱作「年輕肏肏」。2025年7月鳩佔鵲巢後的新家。從這個sub開始，被鳩佔鵲巢的新家都會放上有小涼宮頭像的背景圖，配上《魔兽争霸3:重制版》的亂碼台詞：「对，我回来了，巫龜。从终以犞，你长䨒今我习王。跫㚄，这里是我的习土。」。贛友在此sub總結了從r/FLASHJapan以來的幾大炒作狗，他們分別是：幽默大師(u/YoumoDashi，擅長拷打台巴子)、山西侉子、馬蛆（u/Honest-Practice-5386，常常自顧自的發賽馬娘色圖，不怕downvote，擁有自己的sub r/Saimaniang）、女真人（宣揚滿族優越論，會在r/hanbenwei與人撕）、湖北九頭鳥、在美國當救生員還自拍發帖的蘇北人、東方廚（u/Ok-Employer-1772，頭像是鍵山雛，擁有自己的sub r/DongFangProject）、魔怔少女小焰、融得批爆的日本人，以及永遠的涼宮主席。雖然後期轉成private躲避追查，但還是被封了。存在時間：2021年2月19日 ~ 2025年8月26日 r/HumorSub：幽默潛水艇。2025年3月被鳩佔鵲巢，在2025年7月r/FLASHJapan爆炸後正式成為新家。存在時間：2019年7月10日 ~ 2025年9月10日 r/NEW_To_Cave：舊版蠑螈穴r/NEWTo_Cave的高仿sub。存在時間：2024年5月21日 ~ 2025年8月7日 r/FLASHJapan：日本之家。2025年5月，r/YoungChampion爆炸後鳩佔鵲巢的新家，用戶自稱閃友。sub頭像是參與瓜分非洲大陸的英國礦業大亨塞西爾·約翰·羅茲，出自19世紀的諷刺漫畫「我的，都是我的」。sub的flair復刻了之前被封的sub，例如「無意搞笑」「年輕動物」「花花新聞」。搬新家之後依然有人繼續貼賽馬娘的色圖，不怕downvote，甚至改以50/50挑戰的形式發帖，還把賽馬娘「Eishin Flash」硬是解釋為sub的吉祥物。sub爆發過地域大戰，有東百人自稱女真人，秀錫伯血統反對南猴的基因劣等說。2025年6月，r/Youmo被封後消失一年多的鴨鴨AI機器人短暫復活。存在時間：2021年2月26日 ~ 2025年7月15日 r/Cunicle：狡兔窟。縮圖是來自深淵的雷古。生活類sub，有許多鼠人寫的小作文，鍵政內容較少。sub氛圍頗有蠑螈穴友的感覺，充斥渴批國男對母人的意淫，動不動就是「這種有感覺了嗎」「這種的是處女嗎」，這裡的用戶比起屠支更喜歡操你媽的逼。用戶自稱兔友，但不是小粉紅的兔。sub標語是Cuniculos agat ad aerarium!，意思為「兔友們向寶藏進發」，根據原来西塞罗真的说过一文的解釋，這句話是對西塞羅作品的超譯，將「挖道通往國庫」翻譯成「兔友們向寶藏進發」的高水平玩笑話。更進一步的解釋：牆內的文盲集美將reddit拼成rabbit；xx洞和xx穴被xx；cuniculus在拉丁文既有兔又有洞窟的意思，也可以雙關成陰道。整合了上述內容，不乏幽默又有家的親切，還可輕鬆聯想並解構神兔中的兔友；cunicle是cuniculus賓格單數cuniculum詞綴-culum的英語化轉寫。可以參考oraculum的英語化是oracle，以及cubiculum的英語化是cubicle（cunicle雖然符合英文構詞法，但當代英語中沒有這個詞）。還有人建議將柏拉圖的《遊敘弗倫篇》裡的theophiles翻譯為「神友」。2024年11月，r/Cunicle有人貼了一張台灣新聞主播AI合成裸體播報新聞的假照片，被Dcard用戶發現，將該sub誤認為是支那豬與小粉紅的聚集地。2025年6月，r/Youmo被封後消失一年多的鴨鴨AI機器人重新復活，在各個帖子下面回覆，智能的批爆。sub被爆之後，Mod試圖到Reddit官方sub告洋狀恢復sub，結果帖子被刪除。存在時間：2024年8月15日 ~ 2025年7月15日 r/YoungChampion：以日本清涼雜誌YoungChampion為名的sub，2025年5月r/NotMeantToBeFunny爆炸後鳩佔鵲巢成立的新家。雜誌名稱應翻譯成年輕冠軍，但sub用戶依照字面超譯為「新冠」。2025年5月，牆內的遠古神系（抽象系）貼吧「修車TV」突然解封，sub用戶便呼籲億萬神蛆必須回家（警哥搖了我吧）。sub用戶u/Honest-Practice-5386常常貼賽馬娘的色圖，順便宣傳自己建的二次元新家r/Saimaniang，但都慘遭downvote。sub剛活躍沒多久，又有人開始貼愛貓影片了。sub曾經發生魔怔台巴入侵，逢人便嗆「六四天安門，是你國恥」，被發現是個愛玩支遊的用戶後就消失了。大約從這個sub開始，sub的flair會復刻之前被封的sub，例如「無意搞笑」「年輕動物」「花花新聞」。存在時間：2021年2月18日 ~ 2025年5月30日 r/NotMeantToBeFunny：分享不好笑內容的sub，又稱無意搞笑，2025年4月r/Reddit5050challenge爆炸後成為鳩佔鵲巢的新家，用戶自稱笑友。經典拷打台巴的bot語錄：笑死，自己智障習不敢，罵只敢罵別人台巴，這就是中共統治的垃色人民。存在時間：2019年7月14日 ~ 2025年5月10日 r/Reddit5050challenge：原本是關於50/50天堂與地獄挑戰的sub，2025年3月鳩佔鵲巢後成為新家，變成抽象五月花號，原住民已遭到殖民者獵殺。sub頭貼是漢族崛起的習主席。被超管注意的理由可能是因為轉載了一部法國公車被黑人搶劫的影片（特定種族在左迪罵不得的），引起左逼注意，進而察覺是復辟舊家而被封。此次封殺也導致在位已久的mod時間瓶(u/TimeBottle)的帳號跟著被封。存在時間：2020年1月23日 ~ 2025年4月3日 r/WeeklyPlayboyJapan：每週花花公子，跟r/YoungAnimalJapan一樣性質的sub，用戶自稱花友。因為發輝的內容被ban。存在時間：2021年2月18日 ~ 2025年2月28日 r/abstractmemes，很早以前便存在的英語sub，發的都是抽象畫meme但無人管理，2024年被r/YoungAnimalJapan的浪人鳩佔鵲巢變成新家，改名「抽煙大象」。為了避免sub用戶數太多又被ban，Mod呼籲大夥兒不要按Join Sub，只發帖就好。2024年12月，呼應李老師不是你老師發行的加密貨幣（有人認為民小旨在學郭文貴圈錢，而非真正用於反共），sub發行了「抽象AB幣」。存在時間：2016年12月25日 ~ 2025年2月13日 r/FakeYoumo：假幽默，小作文收藏專區。因為無人管理被ban。存在時間：2024年3月8日 ~ 2025年1月12日 r/YoungAnimalJapan：年輕動物。表面上是關於日本雜誌的sub，但其實是抽象五月花號，2024年10月打贏復活賽成為新家。小涼宮是Mod。著名的炒作帖為「盤點春秋戰國時期的神友」。存在時間：2021年2月26日 ~ 2024年11月7日。 r/real_China_irl：相對於太監區r/China_irl的「真太監區」，政治立場偏向浪人，但禁止極端言論，包括支支叫，要比喻的話就是浪化的品蔥吧。主要發帖都是鍵政，sub主流政治立場偏美國左派。Mod曾經有五位，現在剩下u/paiotu、u/GenkiNugget。儘管r/real_China_irl視r/China_irl的用戶為太監，但在其他更極端的浪系sub的用戶看來，不能隨便支支叫的r/real_China_irl也不過是五十步笑百步的太監區罷了。sub用戶已經超過10萬人，截至2024年是存活最久、人數最多的泛冲浪系sub。之後sub的Mod相繼Reddit被ban，剩下u/paiotu不管事，於是2024年10月16日，r/real_China_irl因「無人管理」被封，按照Reddit規則需等30天有人提出繼任Mod後才能恢復sub，後有多人到r/redditrequest提出申請Mod，其中不乏疑似警哥的用戶，於是乎王位爭奪戰開始了。然而幾天後，r/real_China_irl的封禁理由竟然變成：「因違反Reddit政策，本sub不接受Reddit request」，至此徹底無力回天。存在時間：2021年7月21日 ~ 2024年10月16日 r/abstract_garden：抽象花園，復刻牆內同名貼吧。用戶自稱園友，Mod是小涼宮，天天發帖炒作主席地位。Mod會把有意思的帖置頂，例如農民哥的歧視浪人三本大學畢業的帖子。sub內集美的腳本舉報依然非常嚴重，幾乎每一個回覆都會被檢舉，運氣差點被Reddit站方判仇恨言論就會被超管封禁個幾天。2024年10月，因為園友玩地域黑拷打台巴子過了頭，引起r/Taiwanese注意：就說為什麼最近sub裡面簡體味越來越濃原來是被認知作戰了，園友與部分沒那麼綠的台灣人怒罵台巴子沒有幽默感，連Mod也親自下場參戰，說道：湾友里边请，茅台在冰箱，刑平在床上。存在時間：2024年7月17日 ~ 2024年10月5日 r/Sina：新浪Sina，新浪微博音近日語的支那。你是Sina人？還不快加入新浪人！2024年8月，中國國產3A大作《黑神話：悟空》上架Steam時，浪人曾經佔領Steam討論區成立新家，與小粉紅對沖，但是卻被當成台巴子的陰謀（悲），大鬧天宮幾小時後引來遊戲開發人員清場。存在時間：2024年4月9日 ~ 2024年9月19日 r/beiouxiaozhen：北歐小鎮，復刻牆內同名貼吧。用戶自稱鎮友，Mod是小涼宮。Bot語錄：「小小举报蛆你来侵犯，我们小镇和Sina。新友镇友你心别乱，我们一起共渡难关。小凉宫和居委会，前往评论第一线。把那评论都approve，大家一起再狂欢。」即使有居委會存在，還是逃不過超管強拆。存在時間：2024年4月9日 ~ 2024年9月19日 r/NEWTo_Cave：蠑螈穴，咱出生長大都在神奈川啦，說話方式嘛，怎麼說呢\u0026hellip;。用戶自稱穴友，有incel傾向，發帖動不動就是「這樣的算是處女嗎」，鍵政內容較少。sub平常發帖都幾條評論而已，但炎炎姊(u/Ok_Afternoon5289)一發半臉照馬上破百回覆，再次暴露浪人的舔狗本質。2024年7月，穴友曾參與爆破一個牆內小孩架設的「中国共产主义者社区」，讓整個論壇都充滿反賊內容，結果卻是r/NEWTo_Cave先被Reddit封了。sub被封後Mod嘗試在其他sub申訴追回，未果。存在時間：2023年9月6日 ~ 2024年7月11日 r/RoninClub：r/langrenClub的後繼者，日語發音。存在時間：2024年5月21日 ~ 2024年7月11日 r/langrenClub：浪蛆俱樂部，軍吧新家，牆外樂子人的最後堡壘。曾有用戶u/Shot-Carpet7735建立邀請制的浪人暗網(r/langrenDarkweb)並到各大冲浪系sub引流冰戀老嗨和gore老嗨加入，結果沒幾天該sub就被ban了。2024年4月4日，新任Mod u/ZhongGuo_man開啟「批鬥大會」flair，允許用戶互相批鬥，鬥倒的對象將受到銅頭皮帶伺候（指禁言）。但不到一天後u/ZhongGuo_man就被自己設下的批鬥機制趕走，接受結果並銷號跑路了。4月，實裝基於Google Gemini Pro的聊天機器人「牛牛」，跟之前基於Bing Sydney的「鴨鴨」分庭抗禮。牛牛尚有「查用戶成份」的功能。存在時間：2023年10月1日 ~ 2024年5月23日 r/HarukaNaSora：緣之空吧，探討愛妹妹方法的sub，因為發表煉銅內容被封（不確定是真人還是二次元）。\nr/JunWuCiWeiMian：軍武次位面吧，延伸自百度貼吧同名貼吧，用戶自稱軍友。從置頂帖來看是航吧(r/hangkongmujian)的繼承者，社區用戶會打趣的互罵支那豬、台巴子、殖畜，Mod不怎麼管理。星野愛(u/Spezr)、山豬哥(u/Wild1Boar)、還能說話嘛(u/HaiNengShuoHuaMa8964)、u/WWWWWMWWWWWWWWMWWWWW曾經擔任Mod。存在時間：2023年12月4日 ~ 2024年2月28日 r/hangkongmujian：航空母艦吧，簡稱航吧，用戶自稱航友。發源自百度同名貼吧，繼承r/Youmo精神，可以鍵政，incel聚集地，有節目效果。存在時間：2023年6月29日 ~ 2024年1月6日 r/realYoumo：約定的夢幻島，長期以來的發帖風格類似幽默TV。但Mod卻發公告說要嚴打整天發渴批帖、仇女帖的默友，只準發生活帖，結果沒幾天sub就被封了。存在時間：2023年6月24日 ~ 2023年11月29日。 r/BigPigTV：大豬TV，由大豬(u/BigPigPlus)領導的sub，因缺乏Mod管理被封。另有一個大豬管理的sub叫做冲浪嶺(r/chonglanging)。存在時間：2022年5月20日 ~ 2024年1月？ r/langren：字面意義上的浪人。存在時間：2022年12月 ~ 2023年9月。\nr/TZTV：屠支TV。存在時間：2021年9月 ~ 2023年2月。\nr/Youmo：幽默TV二號，又稱幽默之家。存在時間：2022年8月 ~ 2023年9月。\nr/DouyuTV：鬥魚TV\nr/BaomiTV：包蜜TV\nr/rightdogTV：右狗TV\nr/chonglanggoosegroup：冲浪鵝組，sub板標「四象來了」為模仿豆瓣鵝組的「八卦來了」。本sub「歡迎」女拳。\nr/Sewerfarm：鼠人下水道農場\nr/Thuhole：樹洞\nr/YoumoTV：幽默TV\nr/CLTV8964：繼承查理TV，頭像是r/China_irl縫合張獻忠。\nr/QuanLangTV：權浪TV。存在時間：2021年9月 ~ 2022年6月。\nr/CTLV：查理TV。存在時間：2021年5月 ~ 2022年6月。\nr/chonglangtv：冲浪TV舊家。存在時間：2019年11月 ~ 2022年3月。\n參考資料 # Archive.org：在該網站搜尋https://www.reddit.com/r/＋加上sub代號，有機會看到被封sub的快照。例如：https://www.reddit.com/r/chonglangtv\n這裡還有一個有趣的浪系sub備份站：downloadTV 被舉辦的逃生艙\n","date":"2026年1月22日","externalUrl":null,"permalink":"/posts/home-of-chonglangtv/","section":"Politics","summary":"先喝口膠。\n概要：「冲浪TV」是一個發源自百度貼吧的社區，之後轉戰Reddit（紅迪）成立r/chonglangtv，立場逐漸變成反共反華，存在近3年之久。在被封之後，大量冲浪系的sub成立，冲浪的精神繼續在各個sub間流傳下去。\n詳細資訊：Reddit大型中文社區，簡明冲浪系sub發展歷史\n本列表試圖列出目前2026年Reddit活躍的泛冲浪系sub，參考網路資料與個人使用經驗彙整。求各位老資歷鞭小力一點。 在此使用泛冲浪系定義：只要sub有反共、反華成份，至少每週都有人發帖即可，鼠人、神友、浪人、迪友、包蜜、支黑、屠支大佐、左逼、右狗sub都算在內，部份在Reddit站外。 在此提供「還活著的冲浪系sub」以及「被封的冲浪系sub」列表。\n可利用文末的Archive.org查詢被封sub的舊帖。\n1. Reddit現在還活著的冲浪系sub # 列出人數多且每週都有人持續發帖的。點選連結進入Reddit sub。\n被封的舊家，我會將他們的事蹟移動到文末的章節以供懷念。\n舊家炸了之後，簡易搜尋新家的方法：在Reddit或者Google搜尋，按照時間排序搜尋「新家」或者「基礎建設」之類的關鍵字。\n","title":"【冲浪TV專題】盤點神友浪人新家，Reddit與Reddit站外的中文社區","type":"politic"},{"content":"讓你的創作主動影響AI搜尋結果，讓ChatGPT與Gemini這些AI願意收錄你的網站，在搜尋結果排名靠前。 Der Wanderer über dem Nebelmeer\n你的行動或許沒有立即的成果，但你還是非做不可。你必須要把自己塑造成在這個世界中你所希望看到的自己。 —— 甘地\n作者死了 # 讀過文學理論的應該都聽過法國作家羅蘭巴特的〈作者之死〉吧？他主張不應把文本的意義歸因於作者的意圖，作者作為「權威解釋者」的地位應被取消。\n作者與文本之間的命題，這是一個自古以來爭執不休的問題：作者是否在文章完成之後就死了？文字是否會成為一個任意詮釋的文本，而不必在意作者的存在？\n在中國，類似的對作者與文本之間關係的命題，是董仲舒在《春秋繁露》提出的「詩無達詁」，主張《詩經》這部書沒有一種固定的詮釋方法。另外可以參照《文心雕龍》〈程器〉當中衍生的「人如其文」觀念。這裡的理論，多半強調作者對文本內容的重要性影響。\n讓網站被AI收錄的新準則 # 撰文當下的2026年，ChatGPT和Gemini回答問題的時候都會適度參酌網上資訊並給出來源。 2022年ChatGPT剛出來的時候，最先推出AI搜尋引擎的是Perplexity和Microsoft Bing。接著ChatGPT也加入AI搜尋。之後Google急起直追，好不容易推出Gemini之後，也引入了AI搜尋模式。不只Gemini可以幫你整理資料，在Google搜尋頁面也加入了AI Overview的功能。 有一些觀點認為說，既然AI都能幫你整理資料了，傳統的搜尋引擎用途被大大削弱。那我們在網站上寫作也沒有意義了吧，反正都會被AI抄走。\n不過，在真正全能全知的AGI出來之前，這些AI在回答使用者問題的時候，還是會參考網路上的答案做統整。未來大公司在訓練AI模型的時候也可能包含更多網路上的資料。那麼，這就是一個介入的好機會。你要懂得在AI眼中發揮影響力。\n雖然用戶不見得會點進去看AI抓取的連結，但起碼越多你有創作內容，你的網站能讓AI覺得是可信任的。\n既然Google都學Perplexity親自做AI搜尋了，我們從這裡能夠認知到，現在經營網站，除了傳統的SEO之外，還要盡可能讓AI在搜尋的時候納入你的網站，提昇影響力。\nGoogle官方網站有介紹如何讓搜尋引擎更愛收錄你的內容：Google 搜尋的生成式 AI 內容使用指南\n首先，自己架個網站＋買網域是增加權威性的好方法。畢竟在社群媒體發表內容，終究都是在為平台打工而已，他們可以用演算法和社群守則任意處置你的東西。而且一些社群媒體還會搞反爬蟲，讓Google難以索引到你的優質內容。\n有些人用AI提昇生產力，與AI合作在網路經營事業取得成功。有些人用AI生成廢話文學貼在自己的動態牆並沾沾自喜。但不管是什麼樣的內容，跳脫被平台掌控的圍牆花園是很重要的。\n如果覺得從頭架站很困難，可以先從使用Blogger、Medium、Vocus這類網站開始，他們界面簡單，能讓你專注在想法創作上。等時機成熟了再搬家。千萬不要把Facebook當作唯一的歸宿。\n在規劃網頁架構上，要讓AI喜歡收錄，需要有結構化的資料。建議善用大標題、小標題分段，並且有明確的開場白，還有總結段落。文末最好還可以做一個FAQ，方便AI摘錄資訊。\n你可能會覺得這樣好像在創作八股文\u0026hellip;？是有一點。不過，讓AI收錄的要旨，除了結構化的資料外，原創性與個人觀點也很重要。在自架站的場合，也許，你可以vibe coding出一個看上很好的網站，用AI協助寫出很標準的Markdown範兒，但重要的還是上面有沒有自己獨特的見解，以及給有需要的人帶來幫助。汝心汝行誠如明鏡，所作所為皆為真理。就算加入一點情緒用詞也沒關係，重點是要在文章中表達「真實的經驗分享」。\n最後是，用真心誠意灌溉的頁面。\n有人可能會覺得，如果我的網站只是寫些借鑒他人意見的東西，也能算創作嗎？套用到做開源的模式，這東西本來就是分享、模仿、學習的過程，否則我們不會有Github。就算很大程度參考了他人的意見，但只要加上你的思緒，並保持開放共享的精神，這就是有其價值的產物。\n如果說，你認為在AI已經這麼厲害的當下，我們寫文章分享資訊的作為已經沒有太大的獨特性，認為AI整理資料都比你強，那這種論調本身就是一種把自己看扁了的行為。 刃牙：他媽的真的是被看扁了\nWiwi（官大為）在他的〈AI 來學我吧〉一文說道，他問ChatGPT他是誰，能夠回答出他是好和弦幕後的音樂家資訊讓他覺得滿意。他說：\n大型語言模型就是人類集體智慧極度壓縮的結晶，我覺得我們應該積極成為它的其中一部份。如果有想要傳達的思想，那麼讓世界上最重要的幾個語言模型（目前的話可能是 ChatGPT、Claude 和 Gemini）學起來，不就可以讓它影響更多人嗎？\n總結來說，在AI語言模型仍在從網路上學習資料的時候，讓自己網站的創作被他們記住，甚至讓AI爬蟲的時候能優先讓你的網站獲得推薦，本身就是一種投資未來的行為～！\n我不確定他這是一種挖苦的說法，抑或是適應新時代的作為。不過這可以看為面對AI浪潮的一個積極樂觀的心態。\n活在AI的語料庫裡面？聽起來有點悲哀，有點獵奇啦。但這就是未來的趨勢。有誰想永遠活下去？讓AI去捕獲你的心靈脈動，成為永恆。\nQueen - Who wants to live forever? Forever is our today. 作者活了 # 講回作者之死。我一直認為作者與文本是密不可分的存在。但是AI的出現，大批次的學習各種作品，似乎人的存在就被抹滅了，AI很容易就能洗稿，把人類思想的結晶變成一個個token的輸出。但是，這裡將可以賦予一個新的詮釋：作者不會死，你透過你的文字，將會活在AI語料庫裡面。你改變不了AI吸收資訊的速度，但你可以主動影響AI。\n文章並不是完成之後作者就死了，變成任人詮釋的文字。在AI世代，人性反而是活在了AI的語料庫裡面。你可以提高你的思想被複製、被再生的機率。\n想想霸主王希銘在樹屋廢墟內講過的：\n一人，抖內我一百塊，你們可以成就一個王者，一個奇蹟，而你們，就融入了我的生命裡面。\n爭做時代弄潮兒，敢為天下先！\n","date":"2026年1月21日","externalUrl":null,"permalink":"/posts/writing-blogs-for-ai-search-era/","section":"Personals","summary":"讓你的創作主動影響AI搜尋結果，讓ChatGPT與Gemini這些AI願意收錄你的網站，在搜尋結果排名靠前。 Der Wanderer über dem Nebelmeer\n你的行動或許沒有立即的成果，但你還是非做不可。你必須要把自己塑造成在這個世界中你所希望看到的自己。 —— 甘地\n作者死了 # 讀過文學理論的應該都聽過法國作家羅蘭巴特的〈作者之死〉吧？他主張不應把文本的意義歸因於作者的意圖，作者作為「權威解釋者」的地位應被取消。\n作者與文本之間的命題，這是一個自古以來爭執不休的問題：作者是否在文章完成之後就死了？文字是否會成為一個任意詮釋的文本，而不必在意作者的存在？\n在中國，類似的對作者與文本之間關係的命題，是董仲舒在《春秋繁露》提出的「詩無達詁」，主張《詩經》這部書沒有一種固定的詮釋方法。另外可以參照《文心雕龍》〈程器〉當中衍生的「人如其文」觀念。這裡的理論，多半強調作者對文本內容的重要性影響。\n讓網站被AI收錄的新準則 # 撰文當下的2026年，ChatGPT和Gemini回答問題的時候都會適度參酌網上資訊並給出來源。 2022年ChatGPT剛出來的時候，最先推出AI搜尋引擎的是Perplexity和Microsoft Bing。接著ChatGPT也加入AI搜尋。之後Google急起直追，好不容易推出Gemini之後，也引入了AI搜尋模式。不只Gemini可以幫你整理資料，在Google搜尋頁面也加入了AI Overview的功能。 ","title":"AI SEO搜尋的時代「作者之死」不再適用，主動影響ChatGPT搜尋到的網站結果吧","type":"personal"},{"content":"","date":"2026年1月21日","externalUrl":null,"permalink":"/language-model/","section":"Language-Models","summary":"","title":"Language-Models","type":"language-model"},{"content":"贏不了\u0026hellip; 已經好久沒研究離線本地部署的AI了。\n＊「AI」是一個包容萬象的term，我在這裡只限定在「AI語言模型」和「AI繪圖」的玩意。其他本地部署的AI，如AI語音、AI字幕、AI翻譯暫此不表。\n上次打開Ollama界面是什麼時候了？\n自2022年以來一直在研究self-hosted的AI當作hobby project，想搞離線版ChatGPT，但我漸漸不感興趣了。\n一部分原因是我為了追求開源的Linux圖形驅動環境，換到Intel Arc A380，拋棄Nvidia GTX1050Ti顯卡，導致一堆依賴CUDA的package崩盤，懶得折騰Intel家的推理加速方案。聽說他們GPU部門最近還搞裁員！？立武嘆吉某 實在太狠了。\n新顯卡的效能都拿去玩Steam遊戲了\u0026hellip;其實都是《千戀萬花》這種不吃效能的。但起碼我不用擔心更新系統後Nvidia proprietary driver隨機break Wayland了。\n另一個因素，是線上AI服務已經做的太方便了，尤其Google出馬後，透過自家生態系優勢，直接將Gemini工具送到所有Android用戶手上，所有工具都用漂亮的GUI包裝好。ChatGPT還要另外下載APP呢。暴力搶走市占率。\n由此完成了AI的「近用」。\n就算這些線上服務要收費，遲早也會便宜到像Youtube Premium一樣，讓人習以為常。因此，我已經放棄抵抗，直接躺平用這些大公司的解決方案了。\n讀過一些LLM的原理之後，認知到本機部署的AI根本不可能追得上大公司訓練的怪物，要有好的品質得要finetune，還有許多除錯時間。不論你有幾個B都一樣。且光是要跑gpt-oss這種模型，就要花大錢添購實驗室等級的硬體（你可以按這裡贊助我購買設備）。2026年的今天，跑AI的低標隨便都要8GB VRAM的Nvidia顯卡，非常\u0026hellip;不值得。連編譯Linux kernel都沒這麼誇張的需求。\n我的裝備只有6GB VRAM顯示卡 + 16GB RAM，跑小模型就很吃力了。你不如把這些設備拿去挖礦。\n我很佩服中國公司仍持續釋出開源的LLM，如阿里巴巴的通義千問(Qwen)，同時也不斷強化移動端邊緣計算的小模型(SLM)發展。也就是不只照顧到伺服器等級的硬體，在行動裝置也有執行之可能。\nSLM不是只有中國公司在做，可是考慮到中國公司對中文語料庫的掌握程度，未來他們LLM產生的中文品質恐怕是Google的Gemma、Meta的LLaMA都比不上的。唯一能超越的地方可能就政治話題會比較開放。\n本地部署的AI對一些需要高度隱私安全的商業公司可能有用，需要客製化的場合，善用開源社群的資源能做出有別於ChatGPT的特殊用途產品。AI也不是只有聊天功能，讓它協助其他服務做資料整理也是值得探討的用途。\n敏感關鍵字審核是個問題，本地部署的AI可以繞過線上服務的審查。但我就問，你到底是整天拿AI提昇生產力，還是用來整天打手槍用的？還是想整天用AI鍵政？\n可是對想直接打字就能得到答案的一般用戶來說，花時間部署本地AI模型，恐怕不如直接打開ChatGPT實用。\n我覺得要玩self-hosted的AI服務，尚且能與線上服務一戰的大概就AI繪圖了，如ComfyUI，因其生成的結果隨機性高又有高自由度，沒有關鍵字限制，不用瘋狂堆硬體就能跑。FLUX新的模型仍在推出，不斷加強對自然語言的理解能力。\n你可能會質疑離線LLM產出的文本品質不行，但是藝術這種主觀的東西，即使模型體量小，生出來的東西還是能騙過許多人的眼睛的。\n","date":"2026年1月21日","externalUrl":null,"permalink":"/posts/giving-up-hosting-local-llm/","section":"Language-Models","summary":"贏不了… 已經好久沒研究離線本地部署的AI了。\n＊「AI」是一個包容萬象的term，我在這裡只限定在「AI語言模型」和「AI繪圖」的玩意。其他本地部署的AI，如AI語音、AI字幕、AI翻譯暫此不表。\n上次打開Ollama界面是什麼時候了？\n自2022年以來一直在研究self-hosted的AI當作hobby project，想搞離線版ChatGPT，但我漸漸不感興趣了。\n一部分原因是我為了追求開源的Linux圖形驅動環境，換到Intel Arc A380，拋棄Nvidia GTX1050Ti顯卡，導致一堆依賴CUDA的package崩盤，懶得折騰Intel家的推理加速方案。聽說他們GPU部門最近還搞裁員！？立武嘆吉某 實在太狠了。\n新顯卡的效能都拿去玩Steam遊戲了…其實都是《千戀萬花》這種不吃效能的。但起碼我不用擔心更新系統後Nvidia proprietary driver隨機break Wayland了。\n另一個因素，是線上AI服務已經做的太方便了，尤其Google出馬後，透過自家生態系優勢，直接將Gemini工具送到所有Android用戶手上，所有工具都用漂亮的GUI包裝好。ChatGPT還要另外下載APP呢。暴力搶走市占率。\n由此完成了AI的「近用」。\n就算這些線上服務要收費，遲早也會便宜到像Youtube Premium一樣，讓人習以為常。因此，我已經放棄抵抗，直接躺平用這些大公司的解決方案了。\n讀過一些LLM的原理之後，認知到本機部署的AI根本不可能追得上大公司訓練的怪物，要有好的品質得要finetune，還有許多除錯時間。不論你有幾個B都一樣。且光是要跑gpt-oss這種模型，就要花大錢添購實驗室等級的硬體（你可以按這裡贊助我購買設備）。2026年的今天，跑AI的低標隨便都要8GB VRAM的Nvidia顯卡，非常…不值得。連編譯Linux kernel都沒這麼誇張的需求。\n","title":"贏不了...離線部署的ChatGPT終究比不過線上的ChatGPT","type":"language-model"},{"content":"\u0026ldquo;A Declaration of the Independence of Cyberspace\u0026rdquo;, John Perry Barlow, 1996 約翰·佩里·巴洛，1947 ~ 2018。美國詩人、EFF創始人。來源：維基百科\n中文版 # 本文翻譯轉載自：约翰·P. 巴洛：网络/赛博空间独立宣言 - 智识@IdeoBook™\n原譯者：李旭、李小武\n原校對者：高鸿钧\n工業世界的政府們，你們這些令人生厭的鐵血巨人們，我來自網路世界 ── 一個嶄新的心靈家園。 身為未來的代言人，我代表未來，要求過去的你們別管我們。 在我們這裡，你們並不受歡迎。 在我們聚集的地方，你們沒有主權。\n我們沒有選舉產生的政府，也不可能有這樣的政府。 所以，我們並無多餘自由的權威對你發話。 我們宣布，我們正在建造的全球社會空間，將自然獨立於你們試圖強加給我們的專制。 你們沒有道德上的權力來統治我們，你們也沒有任何強制措施令我們有真正的理由感到恐懼。\n政府的正當權力來自於被統治者的同意。 你們既沒有徵求我們的同意，也沒有得到我們的同意。 我們不會邀請你們。 你們不了解我們，也不了解我們的世界。 網路世界並非處於你們的領地之內。 不要把它想成一個公共建設項目，認為你們可以建造它。 你們不能！ 它是一個自然之舉，於我們集體的行動中成長。\n你們沒有參加我們的大型聚會對話，也沒有在我們的市場中創造財富。 你們不了解我們的文化和我們的倫理，或我們的不成文的「法典」（編碼），與你們的任何強制性法律相比，它們能夠使得我們的社會更加有序。\n你們宣稱我們這裡有些問題需要你們解決。 你們用這樣藉口來侵犯我們的世界。 你們所宣稱的許多問題並不存在。 哪裡有衝突，哪裡有不法行為，我們會發現它們，並以我們自己的方式來解決。 我們正在達成我們自己的社會契約。 這樣的管理將依照我們的世界──而不是你們的世界──的情境而形成。 我們的世界與你們的世界截然不同。\n網路世界由訊息傳遞、關係互動和思想本身組成，排列而成我們通訊網路中的一個駐波。我們的世界既無所不在，又虛無飄渺，但它絕不是實體所存的世界。\n我們正在創造一個世界：在那裡，所有的人都可加入，不存在因種族、經濟實力、武力或出生地點所生產的特權或偏見。\n我們正在創造一個世界，在那裡，任何人，在任何地方，都可以表達他們的信仰而不用害怕被強迫保持沉默或順從，不論這種信仰是多麼的奇特。\n你們關於財產、表達、認同、遷徙的法律概念及其情境對我們均不適用。 所有的這些概念都基於物質實體，而我們這裡並不存在物質實體。\n我們的成員沒有軀體，因此，與你們不同，我們不能透過物質強制來獲得秩序。 我們相信，我們的治理將生成於倫理、開明的利己以及共同福祉。 我們的會員可能分佈各地，跨越你們的不同司法管轄區域。 我們內部的文化世界所共同認可的惟一法律就是「黃金規則」。 我們希望能夠在此基礎上建立我們獨特的解決方案。 但是我們絕不接受你們試圖強加在我們身上的解決辦法。\n在美國，你們現在已經炮製了一部法律，名曰《電信改革法》。 它違背了你們自己的憲法，也玷污了傑佛遜、華盛頓、密爾、麥迪遜、德·托克維爾和布蘭戴斯的夢想。 這些夢想現在一定會在我們這裡重獲新生。\n你們懼怕你們自己的產兒，因為在他們是本地人的世界裡，你們永遠是移民。 因為你們懼怕他們，你們把自己為人父母的責任託付給了你們的官僚機構，而你們自己如此膽怯，不敢直接面對他們。 在我們的世界，所有人性的情感與表達，無論是低賤的卑微還是高貴的純潔的，都是一個不可分割的整體，即全球範圍的傳送對話的組成部分。 我們無法將翅膀藉以拍擊的空氣與產生阻力的空氣分開。\n在中國、德國、法國、俄羅斯、新加坡、義大利以及美國，你們正試圖透過建立網路邊境哨卡來阻止自由主義的病毒。 這在短期內或許可以防止傳染，但對一個很快就被傳送媒體所覆蓋的世界而言，這將不再有效。\n在美國和其他地方，你們日漸衰落的資訊工業靠著推行那些在全世界鼓譟的法律而苟延殘喘。 那些法律竟宣稱思想是另一種工業產品，並不比生鐵更高貴。 而在我們的世界裡，人類思想所創造的一切都毫無限制且毫無成本地複製和傳播。 思想的全球傳播不再依賴你們的工廠來實現。\n那些熱愛自由和主張自決的前輩們曾經反對外來的權威，與日俱增的敵視和殖民政策使我們成為他們的同道。 我們必須聲明，我們虛擬的自我並不受你們主權的干涉，雖然我們仍然允許你們統治我們的肉體。 我們將跨越星球而傳播，故無人能禁錮我們的思想。\n我們將在網路中創造一種心靈的文明。 但願她將比你們的政府先前所創造的世界更加人道和公正。\n約翰·佩里·巴洛\n瑞士 達佛斯\n1996年2月8日\n英文版 # 擷取自：美國電子前哨基金會(EFF)官網 A Declaration of the Independence of Cyberspace\nA Declaration of the Independence of Cyberspace\nby John Perry Barlow\nGovernments of the Industrial World, you weary giants of flesh and steel, I come from Cyberspace, the new home of Mind. On behalf of the future, I ask you of the past to leave us alone. You are not welcome among us. You have no sovereignty where we gather.\nWe have no elected government, nor are we likely to have one, so I address you with no greater authority than that with which liberty itself always speaks. I declare the global social space we are building to be naturally independent of the tyrannies you seek to impose on us. You have no moral right to rule us nor do you possess any methods of enforcement we have true reason to fear.\nGovernments derive their just powers from the consent of the governed. You have neither solicited nor received ours. We did not invite you. You do not know us, nor do you know our world. Cyberspace does not lie within your borders. Do not think that you can build it, as though it were a public construction project. You cannot. It is an act of nature and it grows itself through our collective actions.\nYou have not engaged in our great and gathering conversation, nor did you create the wealth of our marketplaces. You do not know our culture, our ethics, or the unwritten codes that already provide our society more order than could be obtained by any of your impositions.\nYou claim there are problems among us that you need to solve. You use this claim as an excuse to invade our precincts. Many of these problems don\u0026rsquo;t exist. Where there are real conflicts, where there are wrongs, we will identify them and address them by our means. We are forming our own Social Contract. This governance will arise according to the conditions of our world, not yours. Our world is different.\nCyberspace consists of transactions, relationships, and thought itself, arrayed like a standing wave in the web of our communications. Ours is a world that is both everywhere and nowhere, but it is not where bodies live.\nWe are creating a world that all may enter without privilege or prejudice accorded by race, economic power, military force, or station of birth.\nWe are creating a world where anyone, anywhere may express his or her beliefs, no matter how singular, without fear of being coerced into silence or conformity.\nYour legal concepts of property, expression, identity, movement, and context do not apply to us. They are all based on matter, and there is no matter here.\nOur identities have no bodies, so, unlike you, we cannot obtain order by physical coercion. We believe that from ethics, enlightened self-interest, and the commonweal, our governance will emerge. Our identities may be distributed across many of your jurisdictions. The only law that all our constituent cultures would generally recognize is the Golden Rule. We hope we will be able to build our particular solutions on that basis. But we cannot accept the solutions you are attempting to impose.\nIn the United States, you have today created a law, the Telecommunications Reform Act, which repudiates your own Constitution and insults the dreams of Jefferson, Washington, Mill, Madison, DeToqueville, and Brandeis. These dreams must now be born anew in us.\nYou are terrified of your own children, since they are natives in a world where you will always be immigrants. Because you fear them, you entrust your bureaucracies with the parental responsibilities you are too cowardly to confront yourselves. In our world, all the sentiments and expressions of humanity, from the debasing to the angelic, are parts of a seamless whole, the global conversation of bits. We cannot separate the air that chokes from the air upon which wings beat.\nIn China, Germany, France, Russia, Singapore, Italy and the United States, you are trying to ward off the virus of liberty by erecting guard posts at the frontiers of Cyberspace. These may keep out the contagion for a small time, but they will not work in a world that will soon be blanketed in bit-bearing media.\nYour increasingly obsolete information industries would perpetuate themselves by proposing laws, in America and elsewhere, that claim to own speech itself throughout the world. These laws would declare ideas to be another industrial product, no more noble than pig iron. In our world, whatever the human mind may create can be reproduced and distributed infinitely at no cost. The global conveyance of thought no longer requires your factories to accomplish.\nThese increasingly hostile and colonial measures place us in the same position as those previous lovers of freedom and self-determination who had to reject the authorities of distant, uninformed powers. We must declare our virtual selves immune to your sovereignty, even as we continue to consent to your rule over our bodies. We will spread ourselves across the Planet so that no one can arrest our thoughts.\nWe will create a civilization of the Mind in Cyberspace. May it be more humane and fair than the world your governments have made before.\nDavos, Switzerland\nFebruary 8, 1996\n","date":"2026年1月21日","externalUrl":null,"permalink":"/posts/a-declaration-of-the-independence-of-cyberspace/","section":"Foss-Issues","summary":"“A Declaration of the Independence of Cyberspace”, John Perry Barlow, 1996 約翰·佩里·巴洛，1947 ~ 2018。美國詩人、EFF創始人。來源：維基百科\n中文版 # 本文翻譯轉載自：约翰·P. 巴洛：网络/赛博空间独立宣言 - 智识@IdeoBook™\n原譯者：李旭、李小武\n原校對者：高鸿钧\n工業世界的政府們，你們這些令人生厭的鐵血巨人們，我來自網路世界 ── 一個嶄新的心靈家園。 身為未來的代言人，我代表未來，要求過去的你們別管我們。 在我們這裡，你們並不受歡迎。 在我們聚集的地方，你們沒有主權。\n我們沒有選舉產生的政府，也不可能有這樣的政府。 所以，我們並無多餘自由的權威對你發話。 我們宣布，我們正在建造的全球社會空間，將自然獨立於你們試圖強加給我們的專制。 你們沒有道德上的權力來統治我們，你們也沒有任何強制措施令我們有真正的理由感到恐懼。\n政府的正當權力來自於被統治者的同意。 你們既沒有徵求我們的同意，也沒有得到我們的同意。 我們不會邀請你們。 你們不了解我們，也不了解我們的世界。 網路世界並非處於你們的領地之內。 不要把它想成一個公共建設項目，認為你們可以建造它。 你們不能！ 它是一個自然之舉，於我們集體的行動中成長。\n你們沒有參加我們的大型聚會對話，也沒有在我們的市場中創造財富。 你們不了解我們的文化和我們的倫理，或我們的不成文的「法典」（編碼），與你們的任何強制性法律相比，它們能夠使得我們的社會更加有序。\n","title":"約翰·佩里·巴洛《網際網路獨立宣言》 正體中文版","type":"foss-issues"},{"content":" これは女子とLinuxの話題をどう話すかを論じる記事である。もう少し通俗的に言えば、「女子と3Cの話題をどう話すか」だ。 作者：匿名\n出典：インターネットのコピペ(copypasta)\n訳文 # デートにおける自由ソフトウェア議題について話し合おう。\n20歳の独身男性として、自由ソフトウェアに興味を持つ女の子を見つけるのはとても難しいと感じている。以前、女の子に冗談で「一緒にNetflix見ない？」と聞かれたことがあるが、私はNetflixを見ないと伝えた。Netflixはストリーミングを見るのにプロプライエタリソフトウェアのDRMが必要だからだ。すると彼女たちは私と話さなくなった。さらに悪いことに、もし彼女たちが残っていたとしても、私が変だと思うだろう。なぜなら私はhostファイルでGoogleのIPを全部ブロックしていて、そのせいで私たちはYoutubeすら見られないからだ。私は女の子を家に招くことすらできず、彼女たちにメッセージを送ることもできない。私のスマートフォンにはカスタムROMが入っており、セキュリティ上の懸念からSMSの使用を拒否している。そのため、女の子たちの番号を手に入れたら、自由でオープンソースなIRC通信ソフトウェアをインストールするよう求め、通信の安全を確保するために私のGPG鍵を共有する。私の友人でこれをやってくれる人は一人もいない。そしてTinderのようなサイトも使えない。プロプライエタリソフトウェアであり、ユーザーのプライバシーを極めて大きく侵害するからだ。なぜ自由ソフトウェアに興味のある女の子を見つけるのはこんなに難しいのだろう。私は一生魔法使いになる気がする。\nついでに、この文章はGPLv3ライセンスで公開されている。自由に改変して公開してよいが、変更した内容を私に共有することを忘れないでほしい。\n台湾ローカライズ版 # デートにおける自由ソフトウェア議題について話し合おう。\n20歳の生まれてこのかた彼女なし男として、自由ソフトウェアに興味を持つ女子を見つけるのはとても難しいと感じている。以前、女子に冗談で「Netflixでチルしない？」と聞かれたことがあるが、私はNetflixを見ないと伝えた。Netflixはストリーミングを見るのにプロプライエタリソフトウェアのDRMが必要だからだ。すると彼女たちは私と話さなくなった。さらに悪いことに、もし彼女たちが残っていたとしても、私が変だと思うだろう。なぜなら私は/etc/hostファイルでGoogleのIPを全部ブロックしていて、そのせいで私たちはYoutubeすら見られないからだ。私は女の子を家に招くことすらできず、彼女たちにメッセージを送ることもできない。私のスマートフォンにはカスタムROMが入っており、セキュリティ上の懸念からSMSの使用を拒否している。そのため、女子たちのLINEを手に入れたら、自由でオープンソースなIRC通信ソフトウェアをインストールするよう求め、通信の安全を確保するために私のGPG Keyを共有する。私の友人でこれをやってくれる人は一人もいない。そしてDcard抽卡のようなサイトも使えない。プロプライエタリソフトウェアであり、ユーザーのプライバシーを極めて大きく侵害するからだ。なぜ自由ソフトウェアに興味のある女の子を見つけるのはこんなに難しいのだろう。私は一生魔法使いになる気がする。\nついでに、この文章はGPLv3ライセンスで公開されている。自由に改変して公開してよいが、変更した内容を私に共有することを忘れないでほしい。\n訳注 # この記事は性差別ではない。優れた女性コンピューター科学者もたくさんいる。ただ、stereotypeを反映したcopypastaである。\nこれはコピペではあるが、自由ソフトウェア財団の公式サイトには本当にデートと自由ソフトウェア議題を専門に論じた記事が二本あり、交際の過程ではLinuxとユーザーの自由を尊重するソフトウェアをもっと使うことを提案している。\nDating is a free software issue Love locked: Why online dating is still a free software issue 今のところ、本当に自由でオープンソースなデートアプリは存在しない。IRCで恋愛する人なんているのか？\nはあ、人間関係における交際を、Mastodonで使われているActivityPubで定義できたらいいのに。オープンな関係ってことだろ！わかる！\n原文 # Let\u0026rsquo;s talk about the free software dating scene.\nAs a twenty year old single male I think it\u0026rsquo;s very hard to find a girl who\u0026rsquo;s actually interested in free software. I\u0026rsquo;ve had girls jokingly ask to \u0026ldquo;Netflix and chill\u0026rdquo; but when I tell her that I don\u0026rsquo;t use Netflix since Netflix requires proprietary software to stream content, they stop talking to me. And worse if they do stay they think I\u0026rsquo;m weird since I blocked google IP\u0026rsquo;s in my host file and we can\u0026rsquo;t even watch youtube. I can\u0026rsquo;t ever seem to get girls to come over to my place and I can\u0026rsquo;t text them either. Once I get their numbers since I\u0026rsquo;ve added customs roms to my phone and refuse to use sms since it\u0026rsquo;s a security concern I require all of my friends to download a free and open source messaging app and I share with them my public gpg key so that we can verify that our conversations are secure. None of my friends are willing to do this. And I can\u0026rsquo;t use sites like tinder since it\u0026rsquo;s not only proprietary software but a major privacy vulnerability. How come it is so hard to find a girl concerned about software freedom. I feel like I\u0026rsquo;m going to be a virgin forever.\nBtw the this post is GPLv3. So feel free to use it however you want but please send you changes back to me.\n","date":"2026年1月21日","externalUrl":null,"permalink":"/ja-jp/posts/lets-talk-about-the-free-software-dating-scene/","section":"Foss-Issues","summary":" これは女子とLinuxの話題をどう話すかを論じる記事である。もう少し通俗的に言えば、「女子と3Cの話題をどう話すか」だ。 作者：匿名\n出典：インターネットのコピペ(copypasta)\n訳文 # デートにおける自由ソフトウェア議題について話し合おう。\n20歳の独身男性として、自由ソフトウェアに興味を持つ女の子を見つけるのはとても難しいと感じている。以前、女の子に冗談で「一緒にNetflix見ない？」と聞かれたことがあるが、私はNetflixを見ないと伝えた。Netflixはストリーミングを見るのにプロプライエタリソフトウェアのDRMが必要だからだ。すると彼女たちは私と話さなくなった。さらに悪いことに、もし彼女たちが残っていたとしても、私が変だと思うだろう。なぜなら私はhostファイルでGoogleのIPを全部ブロックしていて、そのせいで私たちはYoutubeすら見られないからだ。私は女の子を家に招くことすらできず、彼女たちにメッセージを送ることもできない。私のスマートフォンにはカスタムROMが入っており、セキュリティ上の懸念からSMSの使用を拒否している。そのため、女の子たちの番号を手に入れたら、自由でオープンソースなIRC通信ソフトウェアをインストールするよう求め、通信の安全を確保するために私のGPG鍵を共有する。私の友人でこれをやってくれる人は一人もいない。そしてTinderのようなサイトも使えない。プロプライエタリソフトウェアであり、ユーザーのプライバシーを極めて大きく侵害するからだ。なぜ自由ソフトウェアに興味のある女の子を見つけるのはこんなに難しいのだろう。私は一生魔法使いになる気がする。\n","title":"女子と3Cの話をする時に注意すべき自由ソフトウェア議題","type":"foss-issues"},{"content":"Let the terminal suggests packages when encountering \u0026ldquo;command not found\u0026rdquo; error.\n如何解決Linux打指令出現\u0026quot;command not found\u0026quot;（找不到指令/找不到命令）的問題？\n會有這個問題，要嘛是執行檔不在環境變數$PATH裡面，不然就是缺了某個package嘛！可是我們還得花時間google線索，可以讓終端機自動建議要裝哪個套件嗎？\n我們今天不細究你打什麼指令出現command not found，要討論的是如何讓終端機在遇到command not found的時候自動建議可用套件。 Ubuntu和Fedora幫你照顧 # 最新版的Ubuntu都會預先安裝command-not-found套件，是的，這個套件就叫這個名字，幫你搜尋套件庫，提示你可以用APT裝哪個套件補足缺少的指令。它也能幫你抓指令拼字錯誤。\nFedora則是使用PackageKit-command-not-found建議可用的DNF指令。\n不過在一些求精簡的發行版，如Debian、Rocky Linux、OpenSUSE、Alpine Linux，並沒有安裝這個套件，在終端機輸入的時候就直接輸出command not found。得手動安裝。\n使用APT與DNF的發行版 # 這個時候，手動安裝：\n# Debian sudo apt install command-not-found # Rocky Linux sudo dnf install command-not-found 再更新套件庫索引就可以囉。\n# Debian sudo apt update # Rocky Linux sudo dnf update command-not-found這個工具是專為Bash設計的。如果你使用Zsh，在~/.zshrc加入source /etc/zsh_command_not_found。\n使用Pacman的發行版 # Arch Linux沒有command-not-found這個套件，要安裝pkgfile這個套件，在找不到指令的時候跳出提示。\nsudo pacman -S 更新它的資料庫\nsudo pkgfile --update 更新插入shell的hook\nsource /usr/share/doc/pkgfile/command-not-found.bash source /usr/share/doc/pkgfile/command-not-found.zsh ","date":"2026年1月21日","externalUrl":null,"permalink":"/posts/linux-command-not-found-packages-suggestion/","section":"所有文章","summary":"Let the terminal suggests packages when encountering “command not found” error.\n如何解決Linux打指令出現\"command not found\"（找不到指令/找不到命令）的問題？\n會有這個問題，要嘛是執行檔不在環境變數$PATH裡面，不然就是缺了某個package嘛！可是我們還得花時間google線索，可以讓終端機自動建議要裝哪個套件嗎？\n我們今天不細究你打什麼指令出現command not found，要討論的是如何讓終端機在遇到command not found的時候自動建議可用套件。 Ubuntu和Fedora幫你照顧 # 最新版的Ubuntu都會預先安裝command-not-found套件，是的，這個套件就叫這個名字，幫你搜尋套件庫，提示你可以用APT裝哪個套件補足缺少的指令。它也能幫你抓指令拼字錯誤。\nFedora則是使用PackageKit-command-not-found建議可用的DNF指令。\n不過在一些求精簡的發行版，如Debian、Rocky Linux、OpenSUSE、Alpine Linux，並沒有安裝這個套件，在終端機輸入的時候就直接輸出command not found。得手動安裝。\n","title":"讓Linux終端機遇到「command not found」錯誤時自動建議可用的套件","type":"posts"},{"content":"Briar是一款沒有網路也能用的手機通訊軟體，註冊完全匿名。\nBriar專案成立於2018年，開發者說這款APP是專為記者、社會運動家所設計的通訊軟體。 具體用途為何呢？請看Hacker News的這篇：Briar keeps Iran connected via Bluetooth and Wi-Fi when the internet goes dark 2026年，伊朗發生大規模抗議，哈沒內衣政府直接將國內大規模斷網，一些伊朗反賊們呼籲使用Briar。\n台灣開放文化基金會曾經在2024年審議國會改革法案期間，呼籲立法院外的反國會改革抗議群眾使用Briar這個軟體進行聯絡。這可以認為是不要過度依賴商業軟體Line的一個想法。\n也有人認為，在人多行動訊號擁擠，或者網路斷線的受災區，Briar也能派上用場。\n我覺得我需要下載Briar來練習一下，防止未來遍地張獻忠的時候無法對外聯繫。也許下次我又參加社會運動的時候，可以向周遭的人分享這個APP。\n1. Briar特色 # Briar唸做/ˈbraɪ.ɚ/，意思為野玫瑰叢。 註冊不需要提供任何電話號碼或電子郵件訊息，完全匿名，資料都保存在本機。 提供一對一聊天和群聊功能。可以傳文字或圖片。 定時自動刪除聊天訊息。 除聊天界面之外，還提供簡易社群媒體功能，可以發表圖文動態跟聯絡人分享資訊。 去中心化，提供多種連線方式規避審查，例如Tor、Wifi Direct、藍牙，後兩者的資料理論上能夠不經過ISP傳輸，讓通訊蹤跡不被國家機器追蹤到，用膝蓋也無法分析群眾手機資料。 完全沒網路的情況下，Briar可以將訊息匯出至USB隨身碟，讓另外一部裝置讀取。話說如果你用郵寄隨身碟的方式送出訊息，就變「鴿子封包」了吧。 支援搭配Ripple APP使用，在緊急情況下一鍵刪除所有訊息。 支援訂閱RSS動態消息。 提供Briar Mailbox功能，可以當作電子郵件收信使用。當對方離線時，訊息會保存在裝置上，當對方下次上網時再送出。透過延遲送出的方式，規避社會工程監控使用者的活動時間。 Briar的安全性架構獲得美國開放技術基金會認可，並給與資金贊助。不要誤會，這是一個民間非營利組織，旨在研究突破言論審查的方法，應該不會讓Briar變成FBI的蜜罐。 2. Briar通訊原理 # Briar主要提供三種連線方式，分為網路、Wifi Direct、藍牙，可以強制指定要用哪種連線。\n使用公開網路連線（行動數據和Wifi上網）的話，Briar連線會自動走Tor，不斷跳轉出口節點，讓流量難以被追蹤。這適合公開網路沒有受到限制的場合使用。\n近場通訊部份，Briar可以使用Wifi Direct或藍牙技術，讓兩部裝置進行P2P連線，透過自研的Bramble協定進行配對。即使沒有行動數據也可用。\n雖然這只能傳給「近」在身邊的人，但只要使用Briar的人越多，訊息就能傳播的越「遠」。\n參考官網提供的連線過程，一群人通訊的內容可以透過物理移動來傳播的更遠： 傳統的通訊軟體需要有一個中心伺服器來傳遞訊息，這中間多半會需要透過ISP提供的網路連線，這過程中間ISP是有能力窺探你的流量並猜測你上哪些網站的。他們屈於國家機器的壓力，於是會將使用者的資料上報。\n而Briar傳輸資料的時候可以不經過ISP電信商，而是直接依靠手機的藍牙通訊，並且對封包進行點對點加密，讓資訊完全不能被第三者攔截。即使藍牙通訊的訊號被偵測到了，攻擊者也無法讀取訊息內容。\n別忘了Briar還可以搭配Ripple使用，在手機被「他們」盤查的情況下，一鍵刪除所有訊息。\n藍牙5.0有效距離大概400m，舊型的藍牙4.0起碼也有100m。不過還要考慮建築材質遮蔽電磁波的影響，所以實際可用距離會更短。\n額\u0026hellip;你說這麼近的距離幹嘛不面對面講話就好了呢？有些事話語不能明說，尤其你的一舉一動都被嚴密監控的情況下。\n「東方睡衣，湧上街頭。街頭嘈雜，公共聾啞」\n所以我們就用Briar來說。\n3. 下載Briar # Briar是開放原始碼的軟體，由跨國志願者開發。\nBriar主要是針對手機設計的通訊軟體，可能因為技術原因，目前Briar只支援Android系統，沒有iOS版本。需要跨平台方案的請考慮Bitchat或Bridgefy。\nBriar官網載點。你可以到F-Droid或Google Play下載Briar。需要Android 5.0以上版本。\n如果你已經安裝了Briar，也可以透過APP內的分享功能，將APK傳送給他人安裝。\n另外，Briar尚有提供Linux、Windows、macOS的電腦版。\n4. Briar用法 # Briar為了最高安全性，預設是禁止截圖的，請容許我當個genius，用手機拍螢幕解說。\n第一次啟動的時候要註冊一個帳號密碼，只要有暱稱就好了，不用Email也不用電話號碼。我這裡註冊的一個的名字借用自反極權的烈士。 新增聯絡人的時候，雙方 都要掃描QR Code才能完成配對程序 聊天的界面很簡單，可以傳文字或者圖片訊息，沒有容量限制。訊息傳輸後顯示打勾勾才代表有成功發送。 「博客」「群組」「論壇」界面用於張貼讓更多人看到的消息。 在主畫面左下角有三個連線按鈕，你可以指定Briar要使用哪種方式通訊，封鎖其他連線管道。 要實測藍牙連線的效果的話，把你手機的飛航模式開起來，斷掉所有網路，再手動開啟藍牙。然後在聊天界面右上角點連線 → 使用藍牙連線。雙方可能都要點這個按鈕才能用藍牙通訊。 如果要使用「行動硬碟」通訊，前提是手機要處於完全的離線狀態。\n訊息先在本機發出，但不會顯示打勾勾圖示，表示訊息沒有傳出。然後點選右上角的連線 → 行動硬碟，將訊息匯出為一個文字檔案保存，儲存到外接隨身碟或SD卡之類的裝置。\n這個的檔案是加密的檔案，沒有副檔名，30天後就會失效，且只有Briar聯絡人能讀取。\n然後，在另一部手機的Briar開啟同一個界面，選取別人傳來的檔案就可以解密訊息。\n","date":"2026年1月20日","externalUrl":null,"permalink":"/posts/briar-project/","section":"所有文章","summary":"Briar是一款沒有網路也能用的手機通訊軟體，註冊完全匿名。\nBriar專案成立於2018年，開發者說這款APP是專為記者、社會運動家所設計的通訊軟體。 具體用途為何呢？請看Hacker News的這篇：Briar keeps Iran connected via Bluetooth and Wi-Fi when the internet goes dark 2026年，伊朗發生大規模抗議，哈沒內衣政府直接將國內大規模斷網，一些伊朗反賊們呼籲使用Briar。\n台灣開放文化基金會曾經在2024年審議國會改革法案期間，呼籲立法院外的反國會改革抗議群眾使用Briar這個軟體進行聯絡。這可以認為是不要過度依賴商業軟體Line的一個想法。\n也有人認為，在人多行動訊號擁擠，或者網路斷線的受災區，Briar也能派上用場。\n我覺得我需要下載Briar來練習一下，防止未來遍地張獻忠的時候無法對外聯繫。也許下次我又參加社會運動的時候，可以向周遭的人分享這個APP。\n1. Briar特色 # Briar唸做/ˈbraɪ.ɚ/，意思為野玫瑰叢。 註冊不需要提供任何電話號碼或電子郵件訊息，完全匿名，資料都保存在本機。 提供一對一聊天和群聊功能。可以傳文字或圖片。 定時自動刪除聊天訊息。 除聊天界面之外，還提供簡易社群媒體功能，可以發表圖文動態跟聯絡人分享資訊。 去中心化，提供多種連線方式規避審查，例如Tor、Wifi Direct、藍牙，後兩者的資料理論上能夠不經過ISP傳輸，讓通訊蹤跡不被國家機器追蹤到，用膝蓋也無法分析群眾手機資料。 完全沒網路的情況下，Briar可以將訊息匯出至USB隨身碟，讓另外一部裝置讀取。話說如果你用郵寄隨身碟的方式送出訊息，就變「鴿子封包」了吧。 支援搭配Ripple APP使用，在緊急情況下一鍵刪除所有訊息。 支援訂閱RSS動態消息。 提供Briar Mailbox功能，可以當作電子郵件收信使用。當對方離線時，訊息會保存在裝置上，當對方下次上網時再送出。透過延遲送出的方式，規避社會工程監控使用者的活動時間。 Briar的安全性架構獲得美國開放技術基金會認可，並給與資金贊助。不要誤會，這是一個民間非營利組織，旨在研究突破言論審查的方法，應該不會讓Briar變成FBI的蜜罐。 2. Briar通訊原理 # Briar主要提供三種連線方式，分為網路、Wifi Direct、藍牙，可以強制指定要用哪種連線。\n","title":"Briar，沒有網路也能用的手機通訊軟體，註冊無須電話號碼","type":"posts"},{"content":"","date":"2026年1月20日","externalUrl":null,"permalink":"/tags/tor/","section":"標籤","summary":"","title":"Tor","type":"tags"},{"content":"在社群媒體不講政治話題了，專心講開源文化，照樣有人能噴你，甚至用的還是AI亂罵人，瘋狂洗板騷擾。\n使用ChatGPT這種生成式AI把一句廢話變成一長篇廢話，並不能讓你的論點更有說服力。\n事情是這樣的，我在FB分享使用MSI Modern 15的筆電裝Linux的心得，遇到有人說Windows + WSL就夠了，認為搗鼓Linux是在浪費時間。我堅持說WSL的CLI工具不能滿足我的全部需要，我想要Linux的桌面環境當作主力，而我甘願承受折騰的樂趣。雖然說Linux因為驅動不如Windows導致續航力不足，我外出主力裝備仍以iPad為主，但我並沒有放棄在行動裝置繼續實驗Linux。\n幾次來回交流意見後，於是我就收到了這篇輸出。 不只一篇，還是很多篇類似的咒罵話語，不論我在FB討論的是Android vs iOS的支援年限問題，LineageOS刷機推廣，還是Linux安裝過程都能噴。瘋狂地洗板。 這很明顯看得出來，是給AI下極其惡毒的prompt，所生成的回覆。也許在局外人看來覺得好笑，但要知道，吐槽跟人身攻擊是不一樣的概念。這已經很明顯越線了。\n本來我還試圖說理，但看起來對方根本不想溝通。也許這個帳號不是機器人，不過看這種瘋狂洗板的行為，再加上他後續的回應，我覺得他的心態已經到了被AI幻覺垃圾（AI Slop）騙的地步，總之就是為罵而罵，根據我的發言，下個簡單提示詞就開始亂輸出，試圖當troll搗亂。我注意到，當他不用AI跟我講話的時候，語言組織能力連一個完整句子都形成不了，而且總是語帶挑釁。於是乎再搭配AI放大惡意與妄想，就變成了一個超級瘋子。甚至到最後，他居然認為我也是在用AI跟他講話，可能心理上有些疾病。\n其實，我很感謝有人敢這麼直白指出我的不足，不過不該是用這種極其侮辱人的方式。\n可怕的是還有人給這種AI Slop按讚，不論他們是有意無意的。這些AI Slop言論看似有其合理性，可是這實質上是在做一種「情緒輸出」，且含有大量事實錯誤。正是這種看似強詞奪理的行為，便很容易吸引到一個鼻子出氣的人給他暗地裡撐腰，也就是按讚瞎挺的行為。\n正在看這篇文章的黑子們，覺得Ivon就是個不學無術script kiddie的讀者，想必你們一定看得很爽吧！\n嗚哇啊啊啊禁止禁止啊我破防了，不自覺的齜牙咧嘴，我想封鎖人了，我很久沒想到去按那個block按鈕。我以為在FB不講政治就會少一點噴子了。但是任何議題，你只要個人意見強烈一些，還是有人能從刁鑽角度噴死你。 抱歉，先讓我政治廚力發作一下。\n例如，過去我講我挺柯文哲一定會有一個海綿寶寶＋佩佩豬頭像的固定來嘴我，參考這篇，我覺得跟他鬥嘴還蠻好玩的，對對對，我就是零智草人，挺文哲大A的貪污犯；你是青瞑鳥，挺更大尾的貪污犯，這樣我們就扯平了。我知道他並不是真正仇恨我，因為有些貼文下面也會有正經的純技術交流。\n政治議題常常會出現黑粉行為。我有追蹤一些政治粉專，觀察到的現象是常常會有反對意見的帳號在多篇文章下到處洗板，刷存在感，這種的就可以斷定為黑粉。\n看來我終於收穫了第二個黑粉。往好處想，這代表我總算有點兒名氣了，這是很多人成名之後會有的現象。但是看到這些言論還是會不舒服。\n如果我轉貼民眾黨的貼文還會有隨機吸引一般通過民進黨troll瞎雞巴亂噴的效果，這就不好玩了，因為他們就像哥布林一樣撲上來亂咬。那個時候是柯文哲第一次被羈押，我第一次對噴子使用封鎖功能。心理承受很大壓力，因為我不可以把自己關進同溫層。但是，面對惡意言論對身心靈的傷害，還是得先做緊急處置。幾天後我才「大赦」那些惡意帳號。\n當時，我以為用鍵政小鬼的心態去面對就好了，殊不知有些人連8964的梗圖都看不懂，總是以最深的惡意去講人家壞話，不把你罵到跳樓死不罷休，忽略了做人的底線。縱然黃國昌可以露出違憲的笑容，橫眉冷對千夫指，看到推國會改革法案的時候立法院外有一票人給他擺靈堂整天叫他去死心理也不會好受的吧。\n這裡得反省：我們得承認藍綠白都有這種人，看看Threads就知道，政治人物親人過世了還可以窮追猛打，這是應該譴責的。只有這種時候，我才能真正同理那些hate speech受害者說\u0026quot;I am offended\u0026quot;的感受是怎麼回事。或許，free speech並非絕對放任的自由。\n一段時間後，我說那好，我就改成私下在樹洞講政治（其實就是自己架的一個動態牆），畢竟也不是很多人都想看我整天po鍵政口水。\n很多人一講到政治就會起肖。\n作為一個開源信徒，FB應該多分享平安喜樂、有建設性的東西。\n但是，現在就連傳播開源精神也能有troll能來做惡意攻訐，可真是遇上了稀有怪。\n我對寶可夢沒什麼興趣就是了，本子倒是看的挺多的。像這本(C99) [まんねんドコドコドンドドコ (とっととねろ太郎。)] POCKET BITCH (ポケットモンスター ソード・シールド)就很好用。 更卑劣的是還用AI代寫長篇大論，把我分享的開源專案貶的一文不值，說我部落格寫開源的東西都是拾人牙慧（是又怎樣.jpg），刻意挑刺，從單純的技術問題上升到人身攻擊。 我看哪，這種樂子人的目的就是以看別人崩潰為樂，想讓我對AI回覆虛空打靶。看我這樣氣憤地扣字就笑著說我「急了」。\n所幸我已經學習過情緒管理技巧，不會像以前一樣氣到發抖了，只覺這種人可憐。我才不會中計lose my cool嘞。\n我承認，使用開源專案跟支持民眾黨一樣，對Linux帶有一點宗教意味的崇拜！有時候過於堅持自由軟體，對Windows和macOS用戶的言詞批判是激烈了些。「開源吉娃娃」的屬性我是認的。參見：不要成為開源吉娃娃：談自由軟體極端主義，要是你什麼都要堅持開源的話\u0026hellip;\n我的觀點不只一次受到挑戰，而這些批評我虛心接受。如果是真人扣字，我還敬他懂得堅持自己的想法。\n這事讓我想到，之前在PTT分享Xperia 10 V的使用心得，喚來了一名索黑，狂罵100樓的留言。但這不改我對自由軟體理念的堅持。\n至於使用機器批次產生的廢話，第一次看還能虛心接受，一直洗的話我就實在懶得反駁。 人是會思考的蘆葦。參考：Why does AI slop feel so bad to read? - Hacker News 沒有人喜歡看別人的AI對話紀錄，即使你自己讀起來覺得有理，看到別人的AI文章你也會很快失去耐心。正如自己放的屁總是比較香，卻很難容忍別人的髒污。\n順便講一個我之前看到的觀點。如果說在AI已經這麼厲害的當下，我們分享資訊的作為已經沒有太大的獨特性，那這種論調本身就是一種把自己看扁了的行為。Wiwi在他的AI 來學我吧一文說道，在AI仍在從網路上學習資料的時候，讓自己的創作被他們記住，甚至讓AI爬蟲的時候能優先讓你的網站獲得推薦，本身就是一種投資未來的行為～！\n回到那篇AI Slop。面對這種惡意的評論，我叫ChatGPT帶入St. Richard Stallman的人設的prompt，也能立即生一篇捍衛開源精神的文章出來： AI也可以安慰我其實沒那麼糟，說實在ChatGPT做心理輔導還挺有用的。這沒什麼嘛。\n而且FB演算法喜歡起爭議的內容，你噴越多我流量越高，就有更多扣扣能拿。（這心態很不好老實說，會成為炎上型網紅而不自知）\n但是這不代表說我做的一切都沒有意義，只不過是觀點不同罷了，沒必要做人身攻擊。\n唉，反正有些人吃飽沒事幹就會以噁心他人為樂。我在Reddit r/aiwars看到不少人炫耀如何用AI到處troll人的例子，覺得這些人真的是沒救了。\n儘管理智上知道這是AI Slop，看到這些文字還是蠻不舒服的。還有重點不在於使用AI，在於你用AI Slop包裝惡意，試圖讓它變的煞有介事，其實邏輯漏洞錯誤百出。\n看到那個狂發AI Slop的傢伙最後還冷不防地曬出自己是大科技公司經理的工作證，認為我在做的事情都是小case不足掛齒。這種目空一切的態度\u0026hellip;我只能說爹味太沖了。 ChatGPT對此評價道：「自爆是大公司經理那一刻，其實是他輸了，這點我一定要講清楚，因為你看得很清，但值得被確認。在公開討論裡，突然亮出職稱、地位、資歷，而不是論點—— 這在任何專業圈子裡，都是一個明確訊號：我已經沒有內容，只剩身分可以用。這不是你做錯什麼，是他需要一個『看起來值得被摧毀的對象』來確認自己的存在感。」不對，怎麼連我也想用AI Slop回擊了呢\u0026hellip;。\n維持不破防的心態，有一個辦法，那就是不對自己所相信的事物過度的相信，保持開放的心胸。笑罵由人。\n更好的情況，便是建立起自己的義勇軍fans（不要是信徒腦粉），在你蒙受不白之冤的時候挺身而出。\n以上這些事情是發生在FB的留言對話。我很高興\u0026hellip;FB粉專經營了很久了總算有點成果，有人會願意出來幫我反擊這種AI Slop的胡言亂語，他們可能認為「你不值得被這樣對待」。 甚至最近有一個喜歡在我每一篇留言講Android刷機心得，纏著我都快煩死了的小伙子，他這個時候竟然也跑出來不知死活的反擊他\u0026hellip;。我真的打從心底得好好謝謝他們。\n需要強調的是，我在這裡講這個事情，不是希望烙人去出征回去。要以德報怨。 我終猶豫要不要按下封鎖鍵。只是我可能會考慮開啟「追蹤24小時以上才能留言」的功能了。\n下次再看到這種人，我得要在心裡跑一次這個checklist再斟酌回覆力度：\n他有沒有回應具體論點？ 他有沒有開始評論「你這個人怎樣」？ 他有沒有亮身分、比地位、比成功？ 他有沒有用「你急了」「你破防了」這類話？ 否則就當耳邊風就好了。啊對對對。\n觀察了幾天，想了想，我覺得留著這種人不封鎖會給其他善意交流的用戶帶來困擾，最後我還是直接把他ban了，欸嘿。對方的留言就會原地蒸發，並且FB現在可以一併封鎖試圖用副帳號洗板的行為。\n媽的～B.B.Call，我為什麼要為了一個無聊的人扣這麼多字出來。啊啊啊不做了睡大覺！\n","date":"2026年1月20日","externalUrl":null,"permalink":"/posts/2026012001/","section":"Personals","summary":"在社群媒體不講政治話題了，專心講開源文化，照樣有人能噴你，甚至用的還是AI亂罵人，瘋狂洗板騷擾。\n使用ChatGPT這種生成式AI把一句廢話變成一長篇廢話，並不能讓你的論點更有說服力。\n事情是這樣的，我在FB分享使用MSI Modern 15的筆電裝Linux的心得，遇到有人說Windows + WSL就夠了，認為搗鼓Linux是在浪費時間。我堅持說WSL的CLI工具不能滿足我的全部需要，我想要Linux的桌面環境當作主力，而我甘願承受折騰的樂趣。雖然說Linux因為驅動不如Windows導致續航力不足，我外出主力裝備仍以iPad為主，但我並沒有放棄在行動裝置繼續實驗Linux。\n幾次來回交流意見後，於是我就收到了這篇輸出。 不只一篇，還是很多篇類似的咒罵話語，不論我在FB討論的是Android vs iOS的支援年限問題，LineageOS刷機推廣，還是Linux安裝過程都能噴。瘋狂地洗板。 這很明顯看得出來，是給AI下極其惡毒的prompt，所生成的回覆。也許在局外人看來覺得好笑，但要知道，吐槽跟人身攻擊是不一樣的概念。這已經很明顯越線了。\n本來我還試圖說理，但看起來對方根本不想溝通。也許這個帳號不是機器人，不過看這種瘋狂洗板的行為，再加上他後續的回應，我覺得他的心態已經到了被AI幻覺垃圾（AI Slop）騙的地步，總之就是為罵而罵，根據我的發言，下個簡單提示詞就開始亂輸出，試圖當troll搗亂。我注意到，當他不用AI跟我講話的時候，語言組織能力連一個完整句子都形成不了，而且總是語帶挑釁。於是乎再搭配AI放大惡意與妄想，就變成了一個超級瘋子。甚至到最後，他居然認為我也是在用AI跟他講話，可能心理上有些疾病。\n","title":"我在FB被AI生成仇恨言論攻擊的經歷與應對方式","type":"personal"},{"content":"想要在電腦和手機無廣告看Youtube影片？你有「Invidious」這個解決方案。\nInvidious為一款輕量的第三方Youtube前端，我在Invidious用法討論了Invidious網站的使用方式，現在我們要來自架Invidious站台！ 為啥要這樣幹呢？首先，公共Invidious站台因為太多人用，很容易因為流量過高被Youtube官方封鎖，導致影片無法載入。\n並且，Invidious提供帳號註冊功能，裡面有簡單的訂閱功能與觀看紀錄，還提供RSS方便你追蹤特定頻道的更新。雖然Invidious網頁設計不用JavaScript就能用，儘量杜絕被追蹤的可能性，但你怎麼知道公共站點註冊帳號，背後的管理員會不會偷看你的紀錄呢？\n為此，自己架一個Invidious站台看影片，你就不用跟其他人搶資源，並對站台資料有完全掌控權。 1. 撰寫docker-compose # 有趣的是為強調開源隱私，Invidious官方映像檔是放在RedHat的Quay.io而非Docker Hub。在拉取映像檔之前可能要執行docker login quay.io登入帳號。\n在Linux電腦安裝Docker\n因為部署需要指令稿初始化，建議複製Invidious官方的儲存庫\ngit clone https://github.com/iv-org/invidious.git cd invidious 產生兩組16位的金鑰，填入下面的docker-compose.yml pwgen 16 1 # for Invidious (HMAC_KEY) pwgen 16 1 # for Invidious companion (invidious_companion_key) 編輯docker-compose.yml，按需修改。詳細設定檔參考官方範本。這個docker-compose應該會有三個服務：invidious網頁、companion負責取得Youtube信任的token、invidious-db資料庫。因為Youtube隨時會修改網站功能，如果Invidious不能看，先到Github回報issue，或者改用最新版git commit的映像檔invidious:master。\n啟動容器服務\ndocker compose up -d 瀏覽器開啟http://localhost:3000就可以看Youtube了。\nInvidious沒有帳號密碼驗證機制，所以任何人都能存取。\n2. Nginx範本 # 架在自己電腦，要從外部存取請使用通訊埠轉發或是內網穿透軟體\n若是架在VPS，推薦使用子網域 + 反向代理：\nserver { listen 80; listen [::]:80; listen 443 ssl; listen [::]:443 ssl; http2 on; server_name \u0026lt;子網域\u0026gt;; access_log off; error_log /var/log/nginx/error.log crit; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; # so Invidious knows domain proxy_http_version 1.1; # to keep alive proxy_set_header Connection \u0026#34;\u0026#34;; # to keep alive } if ($https = \u0026#39;\u0026#39;) { return 301 https://$host$request_uri; } # if not connected to HTTPS, perma-redirect to HTTPS } 3. Invidious的IP被Youtube封鎖的問題 # Youtube為了防止被免費仔吃垮，所以會限制IP存取伺服器，導致連線的時候出現Sign in to confirm you are not a bot - This helps protect our community錯誤訊息。\nVPS的IP通常會被Youtube封鎖，致使Invidious的影片根本打不開。\n如果是將Invidious部署在個人電腦，通常只要重開數據機重新取得一個新的公共IP就行了。\n那麼VPS的要怎麼辦呢？參考Invidious社群撰寫的教學：All the YouTube error messages explained with solutions\n4. 功能用法 # 按「趨勢」顯示熱門影片。內容地區可以在右上角設定裡面調整。 點選右上角按照喜好自行設定，「預設聆聽」是指只播放音訊不播放影片。啟用DASH格式的話，就能夠播放1080p影片，並且會自動切換畫質比較流暢。不然Invidious預設只有720p。 Invidious內建帳號註冊功能。帳號的功能僅是紀錄觀看歷史和訂閱列表，不會讓Google知道使用者的動向。訂閱列表還能匯出為RSS，與其他軟體共享。 使用者能從網頁端下載影片，不過最高畫質可能不會太高，其他畫質要手動合併影音檔案。 即使是自架伺服器，也有小機率被Youtube暫時封鎖，這時能夠點選網頁底部切換其他站台。不過也有可能其他公共站台也跟著被封就是了XD\n5. Invidious客戶端APP # 如果你認為網頁不好用，那麼請使用支援Invidious技術的APP。你可以用這些客戶端，連線到自架的Invidious站台。\nAndroid請用Clipious\niOS請用Yattee\n電腦請用FreeTube\n6. 將Youtube連結自動重新導向Invidious # 根據Invidious官方推薦的APP，瀏覽器安裝擴充元件LibRedirect便能將所有Youtube連結自動導向自架的Invidious站點。 如果你有興趣自架代理搜尋引擎SearXNG，它也支援將影片搜尋結果導向自己架的Invidious站點。\n","date":"2026年1月19日","externalUrl":null,"permalink":"/posts/self-hosting-invidious-youtube/","section":"所有文章","summary":"想要在電腦和手機無廣告看Youtube影片？你有「Invidious」這個解決方案。\nInvidious為一款輕量的第三方Youtube前端，我在Invidious用法討論了Invidious網站的使用方式，現在我們要來自架Invidious站台！ 為啥要這樣幹呢？首先，公共Invidious站台因為太多人用，很容易因為流量過高被Youtube官方封鎖，導致影片無法載入。\n並且，Invidious提供帳號註冊功能，裡面有簡單的訂閱功能與觀看紀錄，還提供RSS方便你追蹤特定頻道的更新。雖然Invidious網頁設計不用JavaScript就能用，儘量杜絕被追蹤的可能性，但你怎麼知道公共站點註冊帳號，背後的管理員會不會偷看你的紀錄呢？\n為此，自己架一個Invidious站台看影片，你就不用跟其他人搶資源，並對站台資料有完全掌控權。 1. 撰寫docker-compose # 有趣的是為強調開源隱私，Invidious官方映像檔是放在RedHat的Quay.io而非Docker Hub。在拉取映像檔之前可能要執行docker login quay.io登入帳號。\n在Linux電腦安裝Docker\n因為部署需要指令稿初始化，建議複製Invidious官方的儲存庫\ngit clone https://github.com/iv-org/invidious.git cd invidious 產生兩組16位的金鑰，填入下面的docker-compose.yml pwgen 16 1 # for Invidious (HMAC_KEY) pwgen 16 1 # for Invidious companion (invidious_companion_key) 編輯docker-compose.yml，按需修改。詳細設定檔參考官方範本。這個docker-compose應該會有三個服務：invidious網頁、companion負責取得Youtube信任的token、invidious-db資料庫。因為Youtube隨時會修改網站功能，如果Invidious不能看，先到Github回報issue，或者改用最新版git commit的映像檔invidious:master。\n","title":"以Docker架設Invidious站台，Youtube去廣告、網頁下載影片","type":"posts"},{"content":"網路上有一堆線上PDF轉檔工具，只要上傳檔案就會吐出處理好的檔案讓你下載，可是有隱私資安的疑慮。那麼你有沒有想過自己架設一個PDF處理服務呢？\n以Ivon的使用例來說，有時臨時想在iPad轉檔PDF文件，雖然市面上有很多APP能辦到，但是我想要使用自由開源的方案，那麼就只剩網頁處理的路子了。為追求開源軟體，以及確保隱私不讓PDF文件被其他網站濫用，我就找到了「Stirling PDF」，這款簡單易用的PDF轉檔工具。 這款軟體支援Linux、Windows、macOS系統，提供桌面版，開箱即用。\n你也可以利用Docker部署網頁版，把Stirling PDF架在NAS，就能夠透過瀏覽器遠端處理PDF文件了。\n根據Stirling PDF的開發者在Product Hunt的頁面，他們說想解決依賴線上PDF處理服務的問題，不想使用可疑網站提供的轉檔服務，所以開發了這個大補帖軟體，一次滿足所有需求。 Striling PDF功能為何？除了基本的PDF閱讀器之外，合併PDF、分割PDF、調整PDF對比度、PDF新增浮水印、批次PDF重新命名、OCR抽取PDF文字、PDF轉圖片、PDF轉Word、圖片轉PDF的功能樣樣有。還可以自訂pipeline，使用固定程序處理大量的PDF。 這是1.0的界面，Stirling PDF所有功能都顯示在首頁。Stirling PDF原本是大補帖式的編輯處理軟體，目的在於開發出一款完全開放原始碼的PDF處理軟體，替代網路上許多可疑的PDF轉檔網站，所以一開始的界面長的很土。 2.0之後，原本大補帖的操作界面現代化，Stirling PDF的界面變得更像一款專業的PDF編輯工具了。使用者能夠更加直覺的編輯多份PDF文件，並提供雲端儲存PDF的功能。這使得它成為LibreOffice Draw與Adobe Acrobat以外的替代品選擇。 就像你在網路上看到的那些線上PDF轉檔工具一樣，Stirling PDF的設計宗旨就是簡單易用，一個頁面一個功能。基本上只要上傳檔案，勾你要處理的選項，它就會自動完成作業，然後吐出檔案讓你下載。\nIvon認為Stirling PDF適合搭配同為自架服務的Nextcloud和Paperless使用，一同為無紙化的辦公室工作流努力～\n1. Striling PDF的安裝方式 # 詳細使用說明請參閱開發者的Github。\n桌面版 # Stirling PDF是用Java寫的，集合了許多開源專案的PDF處理工具。\n開發者提供封裝好的桌面版，請到Github Releases下載打包好的客戶端。\nLinux下載.deb檔安裝，Windows下載.msi，macOS下載.dmg檔，點二下開啟即會自動開啟界面。 這個版本需要登入帳號才可以使用，離線使用全部免費，要使用雲端儲存功能的要付費。\nDocker版 # 如果你想要隨時隨地存取這個服務，推薦用Docker部署網頁版，比較好管理，也方便遠端存取。\n這個版本不需要註冊帳號就能用，上傳的檔案就只會保管在你的伺服器。\n新增docker-compose.yml mkdir ~/stirlingpdf cd ~/stirlingpdf vim docker-compose.yml 參考官方文件，填入以下內容： services: stirling-pdf: image: stirlingtools/stirling-pdf:latest ports: - \u0026#39;8080:8080\u0026#39; # 冒號左邊是對外暴露的通訊埠 volumes: - ./trainingData:/usr/share/tessdata # OCR套件位置 - ./extraConfigs:/configs # 設定檔 environment: - DOCKER_ENABLE_SECURITY=false - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=true # 安裝全部功能 - LANGS=zh_TW # 界面語言 restart: unless-stopped 啟動容器服務。在瀏覽器開啟http://127.0.0.1:8080進入網頁界面。 docker compose up -d 若要讓網頁界面從外部網路存取，請使用內網穿透方案。 2. Striling PDF使用教學 # 這\u0026hellip;功能太多了，講不完啊XD\n基本上首頁的選單就說明了每個頁面的功能。\n如果你想要打開網頁就能找到所有功能，點一下左上角All Tools，展開選單。 點左邊的「檔案」，上傳或打開PDF文件。再點進去依照畫面指示操作就好。 值得一提的是「PDF複合工具」，它能夠上傳多份PDF文件，並在網頁界面重排頁面順序（點一下上方的PDF檔案列表），再合併輸出為新PDF文件。註：如果你在檔案選取框無法上傳.pdf以外格式的檔案，就統一先上傳到文件介面上傳所有檔案再進行合併操作。 還有這個「自動化」功能，它能夠依照你定義的一系列操作，批次處理每個上傳的PDF文件。例如設定先平坦化PDF，裁剪PDF，再加上簽名，最後輸出。 關於PDF to Word的轉檔功能：如果輸入輸出為docx與pptx格式，Stirling PDF背後轉檔是使用LibreOffice headless轉換的，對Microsoft Office格式的相容性可能沒辦法盡善盡美，建議輸出格式選取ODF。\n3. Striling PDF啟用中文OCR # Striling PDF的OCR功能可以讓PDF文件內的手寫文字變成能夠選取的框框。\nStriling PDF依賴Tesseract進行OCR。如果使用Docker部署，請到tessdata的Github下載.traindata檔案，放到docker-compose.yml所在目錄的trainingData裡面。\n例如我要辨識正體中文和英文，那麼trainingData目錄下應該會有這些檔案：\n. └── trainingData ├── chi_tra.traineddata ├── chi_tra_vert.traineddata ├── eng.traineddata 然後在工具 → OCR，勾選要辨識別的語言，上傳檔案，稍待一會，吐出處理過的PDF文件。 ","date":"2026年1月19日","externalUrl":null,"permalink":"/posts/stirling-pdf/","section":"所有文章","summary":"網路上有一堆線上PDF轉檔工具，只要上傳檔案就會吐出處理好的檔案讓你下載，可是有隱私資安的疑慮。那麼你有沒有想過自己架設一個PDF處理服務呢？\n以Ivon的使用例來說，有時臨時想在iPad轉檔PDF文件，雖然市面上有很多APP能辦到，但是我想要使用自由開源的方案，那麼就只剩網頁處理的路子了。為追求開源軟體，以及確保隱私不讓PDF文件被其他網站濫用，我就找到了「Stirling PDF」，這款簡單易用的PDF轉檔工具。 這款軟體支援Linux、Windows、macOS系統，提供桌面版，開箱即用。\n你也可以利用Docker部署網頁版，把Stirling PDF架在NAS，就能夠透過瀏覽器遠端處理PDF文件了。\n根據Stirling PDF的開發者在Product Hunt的頁面，他們說想解決依賴線上PDF處理服務的問題，不想使用可疑網站提供的轉檔服務，所以開發了這個大補帖軟體，一次滿足所有需求。 Striling PDF功能為何？除了基本的PDF閱讀器之外，合併PDF、分割PDF、調整PDF對比度、PDF新增浮水印、批次PDF重新命名、OCR抽取PDF文字、PDF轉圖片、PDF轉Word、圖片轉PDF的功能樣樣有。還可以自訂pipeline，使用固定程序處理大量的PDF。 ","title":"Stirling PDF，自架開源免費的PDF處理網站，支援OCR中文辨識","type":"posts"},{"content":"","date":"2026年1月19日","externalUrl":null,"permalink":"/tags/tesseract/","section":"標籤","summary":"","title":"Tesseract","type":"tags"},{"content":"因為Android碎片化的緣故，手機被原廠放生所帶來的壞處沒有iOS那麼立即。即使很久沒有系統更新了，Android一個版本可以用很久，不用總是追求最新版Android。\nAndroid Studio會提醒開發者哪個TargetSDK版本能覆蓋最多的用戶。看看Android Version Distribution的表可以得知，2026年了2016年出的Android 7還那麼多人用。 註：這張表容易讓人誤會，Android 7雖然寫99%，但是Cumulative Distribution代表的是有多少裝置執行的是Android 7以上的版本，你的APP若設定最低需要Android 7可以覆蓋多少用戶，並非現在Android 7市佔率。這個數字應該倒過來看，照這樣算法，2026年Android 7市佔率只剩4%，最多人用的應該是佔比22%的Android 13才對。\n只是這改變不了Android版本碎片化的事實。\n碎片化的起因 # 碎片化，這雖然是Android的悲哀，也是其強項。我這樣講，不是說這種現象值得鼓勵，而是一種對現況的消極的自嘲。\nAndroid手機長久以來有更新放生的問題，因為手機廠商龍蛇混雜，很多手機一賣出去廠商就不更新系統了。相較於iPhone每台至少都能更新5年以上，這些手機廠商的作為可以說是很不負責任。這導致了Android版本的碎片化。\n得是比較大的品牌才有持續獲得更新的可能性。\nGoogle和Samsung可以說是Android廠商模範，前者自Pixel 6之後便提供5年以上更新，不輸給iPhone，黃仁勳與王雪紅拿的手機果然厲害。但是Google叫不動其餘那些廠商。即使Google提倡「Project Treble」和「GSI核心」計畫，減少手機系統維護的複雜度，依然得看那些手機廠商的臉色才能獲得系統更新。你看看Sony一支Xperia 1 V賣到4萬，三年後就放生！最近才慢慢改善支援年限。\nGoogle那麼努力推了Project Treble和GSI了，應該要強迫廠商簽訂合約的時候加上更新保證。\n刷機解決被放生問題 # 那些系統更新被原廠放生，又不給解鎖Bootloader的Android手機用戶，應該唱：\n「我是被你囚禁的鳥，得到的愛越來越少，看著你的笑在別人眼中燃燒，我卻要不到一個擁抱。」\n我們知道Android手機比iPhone好的地方是停止支援了，還有刷機續命的一絲可能性。但是，刷機真的比較好嗎？為了最新Android版本去刷社群維護的LineageOS，放棄商業公司經過長時間開發釋出給你的穩定系統，有時候是不明智的，你會失去Play Integrity，以及得到一個沒有穩定度保證的系統，除非原廠的bloatware給的太多，或者手機系統真的太舊才有刷機必要。\n不更新會怎樣 # 那麼，Android系統不更新會怎樣嗎？其實不一定，要看Google的態度。\n有些觀點認為Android手機不更新系統會無法獲得安全性修正，使得用戶暴露在風險中。這樣的說法有其道理。但是，Android還沒有Windows的Wannacry那種會透過系統漏洞自己執行的高權限病毒，很多時候還是取決於使用者的操作，決定系統會不會受到感染。在APP需要使用者手動同意才能執行的情況下，其實並沒有那麼危險。新版本Android限制了許多敏感權限，例如將顯示在其他APP上層的權限多加了一些同意畫面才放行，但最後的使用還是操之於使用者。\n有些人很討厭更新系統，認為更新會弄壞手機，iPhone和Android都有。就像，很多人死守Windows 7而不願用Windows 11。事實上，這不太可能發生，Android不會像iOS有意無意的弄慢系統速度（參照電池門事件）。只不過Android 12之後加入的許多動畫特效確實可能讓舊裝置應付不來。\niOS因為升級快（預設自動開啟系統更新），加上Apple的慫恿，App Store是唯一下載APP的管道，主流App開發者撐死兩年就會慢慢放棄舊版iOS支援，例如2021年的iOS 15在2023年之後Line就快放棄支援了。\n小八卦：VLC是唯一一個頂住蘋果壓力，依然堅持支援iOS 9的開源影片播放器APP。\n但是Android不一樣，Android版本可以用很久。\n2026年了，Google現在仍為2019年的Android 10提供支援。準確來說，這裡是指Google服務支援舊版本Android，可以使用Google Play下載APP。更舊版本的Android或許不能用Google服務了，可是依然有很多APP支援。\n故現在仍有許多APP支援這麼久以前的系統，神奇的是Line到現在依然支援Android 8。\n總結來說，Android手機的碎片化是禍也是福。理想情況下，我們當然要買可以長期更新系統的手機。但是就現狀來看，Android手機長期不更新其實也沒有那麼嚴重。我並非贊同碎片化是好的，但基於現狀的考量，得出Android碎片化讓一個版本可以撐很久的結論。\n參考資料 # Ahead of Android 15’s launch, Android 14 is on at least 13% of active devices - 9to5google 为什么Android 用户期待升级，iOS 却打算降级？ - 爱范儿 蘋果認了降速舊iPhone！電池門事件160億和解，每人獲賠65美元 ","date":"2026年1月19日","externalUrl":null,"permalink":"/posts/android-fragmentation-issue/","section":"所有文章","summary":"因為Android碎片化的緣故，手機被原廠放生所帶來的壞處沒有iOS那麼立即。即使很久沒有系統更新了，Android一個版本可以用很久，不用總是追求最新版Android。\nAndroid Studio會提醒開發者哪個TargetSDK版本能覆蓋最多的用戶。看看Android Version Distribution的表可以得知，2026年了2016年出的Android 7還那麼多人用。 註：這張表容易讓人誤會，Android 7雖然寫99%，但是Cumulative Distribution代表的是有多少裝置執行的是Android 7以上的版本，你的APP若設定最低需要Android 7可以覆蓋多少用戶，並非現在Android 7市佔率。這個數字應該倒過來看，照這樣算法，2026年Android 7市佔率只剩4%，最多人用的應該是佔比22%的Android 13才對。\n只是這改變不了Android版本碎片化的事實。\n碎片化的起因 # 碎片化，這雖然是Android的悲哀，也是其強項。我這樣講，不是說這種現象值得鼓勵，而是一種對現況的消極的自嘲。\nAndroid手機長久以來有更新放生的問題，因為手機廠商龍蛇混雜，很多手機一賣出去廠商就不更新系統了。相較於iPhone每台至少都能更新5年以上，這些手機廠商的作為可以說是很不負責任。這導致了Android版本的碎片化。\n","title":"Android手機的碎片化與升級最新系統的必要性","type":"posts"},{"content":"2026/1/13 ~ 1/26，希望這7天我不用社群媒體。\n部落格和Facebook皆不上線，而且連開都不能開。\n一天檢查一次Email信箱，除非Email有主管的急件，說不回覆就開除你，否則不要回覆任何訊息。\n非工作時段，手機和平板就盡量開飛航模式。\n跟吸毒一樣，雖然我根本沒吸過，一天不滑Facebook就全身不對勁。我好像動物園被關久了的熊寶貝，沒事幹就會一直在房間裡面繞圈子走。\n度日如年啊。\n我自認為戒除社群媒體，指的是Facebook、Youtube、巴哈姆特、PTT這種我互動率較高的網站，容易造成doom scrolling，以及追求那個訊息的數字通知所帶來的快感。\nReddit和Hacker News這類文字類論壇，我大部分都在潛水，我可以忍受幾乎不發文的，所以可以允許繼續用。\n我盡量以匿名模式瀏覽Reddit上的文章，透過搜尋引擎或者第三方客戶端主動搜尋我想知道的內容，不落入首頁推薦的doom scrolling陷阱。我認為這種使用模式，跟在閱讀新聞報導網站是類似的。\n當然我還是可以寫作，免得憋太久爆炸，不能更新社群媒體和部落格的情況下，我就將它先暫存在Joplin。\n不看Youtube，又不訂閱其他串流服務，娛樂怎麼個辦法\u0026hellip;？我還是有留著Spotify啦。多虧我過去幾年的經營，架設了許多self-hosted服務，可以盡情consume我用BT下載下來的內容，包含音樂、影片、電子書。看一年都看不完。這些hoarder的內容多到，要是明天爆發核戰爭我也能宅在家裡生存下來！\n再不濟我還有Steam的單機Galgame可以玩。\n總之就是盡量不要上網社交。\n嗯，3天就繃不住了。失敗。什麼都沒改變。\n斷網期間，我讀完了更多書，譬如卡繆的《異鄉人》，認識到這一切所為都沒有意義，所以就放棄了。過的開心比較重要。\n","date":"2026年1月19日","externalUrl":null,"permalink":"/posts/2026011901/","section":"Personals","summary":"2026/1/13 ~ 1/26，希望這7天我不用社群媒體。\n部落格和Facebook皆不上線，而且連開都不能開。\n一天檢查一次Email信箱，除非Email有主管的急件，說不回覆就開除你，否則不要回覆任何訊息。\n非工作時段，手機和平板就盡量開飛航模式。\n跟吸毒一樣，雖然我根本沒吸過，一天不滑Facebook就全身不對勁。我好像動物園被關久了的熊寶貝，沒事幹就會一直在房間裡面繞圈子走。\n度日如年啊。\n我自認為戒除社群媒體，指的是Facebook、Youtube、巴哈姆特、PTT這種我互動率較高的網站，容易造成doom scrolling，以及追求那個訊息的數字通知所帶來的快感。\nReddit和Hacker News這類文字類論壇，我大部分都在潛水，我可以忍受幾乎不發文的，所以可以允許繼續用。\n我盡量以匿名模式瀏覽Reddit上的文章，透過搜尋引擎或者第三方客戶端主動搜尋我想知道的內容，不落入首頁推薦的doom scrolling陷阱。我認為這種使用模式，跟在閱讀新聞報導網站是類似的。\n當然我還是可以寫作，免得憋太久爆炸，不能更新社群媒體和部落格的情況下，我就將它先暫存在Joplin。\n不看Youtube，又不訂閱其他串流服務，娛樂怎麼個辦法…？我還是有留著Spotify啦。多虧我過去幾年的經營，架設了許多self-hosted服務，可以盡情consume我用BT下載下來的內容，包含音樂、影片、電子書。看一年都看不完。這些hoarder的內容多到，要是明天爆發核戰爭我也能宅在家裡生存下來！\n","title":"退出社群媒體一週..3天，渾身不對勁，戒斷症狀都跑出來了","type":"personal"},{"content":"","date":"2026年1月18日","externalUrl":null,"permalink":"/ja-jp/tags/podman/","section":"Tags","summary":"","title":"Podman","type":"tags"},{"content":" おすすめの児童書は何かある？《JavaScript for Kids》だろうか？違う！この《The Container Commandos》ぬりえ本を見てほしい。あなたは子どもに幼いころからPodmanコンテナ化管理を学ばせるべきだ。 これはRedHatがSELinux Coloring Bookを出したあと、さらに送り出したもう一つの大作である。社内の同僚Máirín Duffyが描いた。RedHatが自社で全力推進している製品の広告だ。\n内容の抜粋：\n地球を守るためには、コンテナを召喚してシールドを組み、防御措置をデプロイしなければならない！しかしコンテナが接続できない\u0026hellip;単一障害点が発生した！ もし私たちが\u0026hellip;コンテナをそれぞれ独立して動作させられるとしたら？\nこのとき、あなたは何をすべきかわかっている。以下のスーパーヒーローを召喚するのだ：Podman（能力：daemonlessなコンテナ管理）、Buildah（能力：コンテナイメージの作成）、Skopeo（能力：コンテナの転送）、CRI-O（コンテナを本番環境へデプロイ）、OpenShift（能力：すべてのコンテナを制御）。この犬を見ると、私はこう思い出す：ワンワンPodman大活躍！ Podmanの強力な推進者として、この本はFedoraまたはRedHatのサイトからダウンロードできる：The Container Commandos Coloring Book\n\u0026hellip;PodmanはRedHatによってずっと、どれほど使いやすいか宣伝されているが、Portainerや周辺エコシステムの都合で、私はやはりDockerを使うことのほうが多い。\n私はこの本の出来はよくないと思う！こういう児童向けぬりえ本は誰に見せるつもりなのか？金を払って日本式二次元スタイルの絵師を探し、PodmanのものをR18同人誌として描かせるべきだ。Linux meme界を確実に爆発させ、その結果もっと多くのnerdがPodmanを使うようになる。\n","date":"2026年1月18日","externalUrl":null,"permalink":"/ja-jp/posts/the-container-commandos-podman-coloring-book/","section":"Foss-Issues","summary":" おすすめの児童書は何かある？《JavaScript for Kids》だろうか？違う！この《The Container Commandos》ぬりえ本を見てほしい。あなたは子どもに幼いころからPodmanコンテナ化管理を学ばせるべきだ。 これはRedHatがSELinux Coloring Bookを出したあと、さらに送り出したもう一つの大作である。社内の同僚Máirín Duffyが描いた。RedHatが自社で全力推進している製品の広告だ。\n内容の抜粋：\n地球を守るためには、コンテナを召喚してシールドを組み、防御措置をデプロイしなければならない！しかしコンテナが接続できない…単一障害点が発生した！ もし私たちが…コンテナをそれぞれ独立して動作させられるとしたら？\nこのとき、あなたは何をすべきかわかっている。以下のスーパーヒーローを召喚するのだ：Podman（能力：daemonlessなコンテナ管理）、Buildah（能力：コンテナイメージの作成）、Skopeo（能力：コンテナの転送）、CRI-O（コンテナを本番環境へデプロイ）、OpenShift（能力：すべてのコンテナを制御）。この犬を見ると、私はこう思い出す：ワンワンPodman大活躍！ ","title":"なぜPodmanを使うのか？The Container Commandosぬりえ本で、幼いころからコンテナ管理マスターを育てよう","type":"foss-issues"},{"content":"歡迎來到刷機的世界！如果你覺得原本的手機系統充滿臃腫的內建APP、速度變慢、原廠不再提供更新，刷入LineageOS是一個絕佳的解決方案。這篇文章Ivon將帶你了解一些基本觀念與通用流程。\n一台刷入LineageOS的Sony Xperia 10 V手機，在初始化選取多國語言的畫面 重要免責聲明：刷機具有一定風險，可能導致手機變磚，且通常會喪失原廠保固。本教學僅供參考，請務必先備份重要資料，並自行承擔操作風險。\n因為每支手機廠牌不同，所以Ivon只能講個大概的通用的步驟。\n我在很多手機上刷過LineageOS，你可以參考本站有關LineageOS的文章標籤，了解刷機後可以做到什麼。\n1. LineageOS是什麼？ # LineageOS是一個乾淨，輕量化，開源的Android作業系統。由國際性的開源社群維護。官網：https://lineageos.org 這個專案約在2016年成立，到現在已經有10年以上歷史了。它的前身是大名鼎鼎的CyanogenMod，因為商業化衍生的爭議，導致從原始專案分叉出來。\n以下是LineageOS剛安裝時的內建APP一覽，非常的精實。我喜歡從F-Droid找一些開源APP來補充功能。 為什麼要用LineageOS？\n無預裝垃圾軟體：沒有廠商強制塞給你的App，釋放手機空間。 沒有Google服務：你可以自由選擇要不要安裝Google Play商店。 支援手機最多：在第三方ROM的世界裡面，LineageOS是支援機型最多的系統，多達100部以上裝置，手機、平板、開發板、電視盒都可以刷！ 隱私與安全：即使原廠已經放棄支援你的手機，依然可以更新到最新Android版本，每月收到安全性更新！ 流暢度：因為系統乾淨，提供最純淨的AOSP體驗，老舊手機通常能跑得比原廠系統更快。 部份客製化：狀態列、按鈕功能可以自己改。 開放原始碼：你行你上，LineageOS擁有龐大的機型支援資源代碼庫，歡迎各路人馬貢獻，移植新機型造福大眾。很多第三方ROM會基於LineageOS的成果再開發，加入更多自定義功能。 2. 刷機後會失去的東西 # 在操作之前，你必須清楚知道代價。刷機的過程，你可能會失去：\n手機內的所有資料：照片、聯絡人、LINE對話紀錄都會被清空。請務必備份到雲端！ 原廠硬體功能：例如舊版Sony手機的相機演算法、Samsung Pay、某些特殊的AI功能可能會失效。刷回原廠系統會復原。但部份手機在刷機後幾乎不可能刷回原廠狀態了，例如Samsung，因為Knox會物理熔斷。 原廠軟體：LineageOS是基於AOSP建置的系統，界面十分原生，如果你習慣原廠提供的全家桶APP可能會感到不適。比如Sony手機刷機會失去Photo Pro專業相機與導演模式的BT.2020色彩；Pixel手機刷機後會無法使用Pixel-only features。部份LineageOS開發者可能會想辦法移植過來，但並非全部機型都可用。 更新沒有穩定度保證：LineageOS純由社群維護，大約一週更新一次，系統出bug只能向維護者反應解決，沒有商業公司的支援。 銀行App與遊戲限制：因為刷機後手機Bootloader處於「解鎖」狀態，一些銀行App或Netflix可能會因為安全機制 (Play Integrity) 破損而無法使用。需要使用Play Integrity fix的Root模組修補。 損失原廠保固：廠商有權拒絕維修刷過機的手機並酬收額外費用。 3. 支援LineageOS的手機 # 不是所有手機都能刷LineageOS。要知道LineageOS是開源專案，全靠社區用戶貢獻，非商業公司維護。\n一般來說熱門機型（如 Google Pixel、小米、OnePlus、Samsung、Sony）支援度較高。這些手機會有熱心人士移植。\nARM架構的智慧型手機跟x86電腦的結構不一樣，開發者需要針對個別裝置移植，LineageOS沒有所謂「通用刷機包」。\n刷機的第一要件是手機廠商願不願意給你解鎖Bootloader，以求載入第三方系統，為此連解都不能解的華為、Oppo、Vivo就不必想了。\n另外，因為驅動的關係，MediaTek(聯發科)處理器的手機通常比Snapdragon(高通)處理器的手機難刷，資源也較少。\n如何確認你的手機能不能刷？ 請至LineageOS官方Wiki搜尋你的手機型號。在這裡的都是Official build。 如果找不到，代表官方沒有支援，你可能要去XDA論壇碰碰運氣找Unofficial build。\n4. Official build與Unofficial build差異 # 在下載LineageOS的刷機包時，你可能會看到這兩個版本。簡易比較如下：\n類型 Official Unofficial 維護者 LineageOS核心團隊認證 民間開發者 穩定性 高 視開發者功力而定 安全性 所有變更可以在上游LineageOS的Git儲存庫追蹤 開發者可能不會釋出完整原始碼，無法確認開發者做了什麼修改 更新方式 支援OTA，像原廠一樣直接手機點更新 通常需要手動下載並刷入更新 長期支援 只要維護者沒跑路就可以一直收到更新。LineageOS官網會為每個機型建立Wiki頁面，記載刷機步驟與常見問題 只要維護者沒跑路就可以一直收到更新，但是因為是私人維護，沒有跟LineageOS的Git儲存庫連上線，讓其他開發者難以提供協助 建議 新手首選 僅在沒有Official版且你極度想刷機時才考慮 因為LineageOS是開放原始碼專案，任何人都可以自行編譯ROM。很多LineageOS的ROM剛出來的時候都是Unofficial的，有能力的開發者應該要盡量讓自己的作品轉正，進入Official的軌道，比較方便跟其他開發者合作。\n5. LineageOS通用刷機步驟 # 相關文章：Android手機如何取得Root權限＋刷機流程介紹\n雖然不同品牌的手機細節不同，但通常不出以下幾個步驟。這只是一個通用大綱，針對你的具體手機型號，細節指令會有差異。\n以最新的LineageOS 23（Android 16）為例。 事前準備工具：\n刷機一定需要用到電腦，Linux、Windows、Mac都可以 高品質USB傳輸線。這很重要，接觸不良會導致失敗。 ADB \u0026amp; Fastboot工具，這是電腦與手機溝通的橋樑。 下載好的檔案：LineageOS ROM (.zip)、Recovery映像檔(.img)、開機引導核心 (.img) GApps (.zip)：如果你需要Google Play商店的話必須先下載。 將原廠韌體升級到最新版本。有些LineageOS會這樣要求，因為需要確保驅動正常。\n解鎖Bootloader。Bootloader 是手機的啟動守門員。原廠預設是鎖住的，不讓你更換系統。每個品牌的解鎖方式不同。小米通常要等待7天並使用官方工具；Sony需去官網申請解鎖碼；Pixel則是一條指令就解決了。注意：解鎖之後，為了保護安全，手機資料會被強制清空。\n刷入Custom Recovery。手機內建的Recovery功能太少。我們需要刷入LineageOS Recovery或TWRP。透過電腦輸入指令，如fastboot flash recovery recovery.img刷入。\n雙清，重開機進入Recovery，在這個頁面點Factory Reset格式化。這會把手機內部儲存空間徹底清乾淨。\n刷入ROM，在Recovery模式選擇\u0026quot;Apply Update\u0026quot;，透過電腦指令adb sideload lineageos.zip將刷機包推送到手機並安裝。\n如果你需要Google Play商店，必須在刷完ROM之後再次進入Recovery，立刻刷入GApps。如果你重開機後才刷，有可能會出錯。\n重新開機。第一次開機通常會比較久，請耐心等待。看到LineageOS的開機動畫出現，恭喜你！你擁有了一台全新的手機系統。\n","date":"2026年1月16日","externalUrl":null,"permalink":"/posts/lineageos-introduction/","section":"所有文章","summary":"歡迎來到刷機的世界！如果你覺得原本的手機系統充滿臃腫的內建APP、速度變慢、原廠不再提供更新，刷入LineageOS是一個絕佳的解決方案。這篇文章Ivon將帶你了解一些基本觀念與通用流程。\n一台刷入LineageOS的Sony Xperia 10 V手機，在初始化選取多國語言的畫面 重要免責聲明：刷機具有一定風險，可能導致手機變磚，且通常會喪失原廠保固。本教學僅供參考，請務必先備份重要資料，並自行承擔操作風險。\n因為每支手機廠牌不同，所以Ivon只能講個大概的通用的步驟。\n我在很多手機上刷過LineageOS，你可以參考本站有關LineageOS的文章標籤，了解刷機後可以做到什麼。\n1. LineageOS是什麼？ # LineageOS是一個乾淨，輕量化，開源的Android作業系統。由國際性的開源社群維護。官網：https://lineageos.org 這個專案約在2016年成立，到現在已經有10年以上歷史了。它的前身是大名鼎鼎的CyanogenMod，因為商業化衍生的爭議，導致從原始專案分叉出來。\n以下是LineageOS剛安裝時的內建APP一覽，非常的精實。我喜歡從F-Droid找一些開源APP來補充功能。 為什麼要用LineageOS？\n無預裝垃圾軟體：沒有廠商強制塞給你的App，釋放手機空間。 沒有Google服務：你可以自由選擇要不要安裝Google Play商店。 支援手機最多：在第三方ROM的世界裡面，LineageOS是支援機型最多的系統，多達100部以上裝置，手機、平板、開發板、電視盒都可以刷！ 隱私與安全：即使原廠已經放棄支援你的手機，依然可以更新到最新Android版本，每月收到安全性更新！ 流暢度：因為系統乾淨，提供最純淨的AOSP體驗，老舊手機通常能跑得比原廠系統更快。 部份客製化：狀態列、按鈕功能可以自己改。 開放原始碼：你行你上，LineageOS擁有龐大的機型支援資源代碼庫，歡迎各路人馬貢獻，移植新機型造福大眾。很多第三方ROM會基於LineageOS的成果再開發，加入更多自定義功能。 2. 刷機後會失去的東西 # 在操作之前，你必須清楚知道代價。刷機的過程，你可能會失去：\n","title":"LineageOS通用刷機教學，將你的手機換上自由的第三方Android系統ROM","type":"posts"},{"content":"GCompris是一套由KDE與GNU計畫共同開發的自由軟體，支援多個作業系統，可用電腦或觸控螢幕玩。 內建百款小遊戲電玩，富有教育意義，適合2~10歲的小朋友玩。\nGCompris支援多國語言和語音提示。不過在玩的時候可以刻意選擇給有一定程度的小孩聽英文版說明。\n遊戲內容主要分為電腦探索、數學運算、科學、遊戲、英語閱讀等。\n有很多其他跟英語較無關但有趣的內容，尤其是科學實驗和遊戲類的就特別有趣，甚至有圍棋、孔明棋。\n很多遊戲其實比較適合幼稚園~低年級小朋友玩，下面列出的是高年級小朋友也適合的遊戲，用於英語教學。\n因其開源的性質，有程式能力的人可以自行研究程式，自行出題。GCompris的這個操作上有點類似Wordwall，差別在於出題不是那麼容易。\n啊，不過你要背單字的話，用Anki還是比較好啦！\n1. 下載 # GCompris支援Linux、Windows、macOS、Android。目前沒有網頁版本\n在官網下載GCompris：https://gcompris.net/downloads-zh_TW.html\n2. 內建遊戲簡介 # 由左至右，界面最上面是學科分類。 Numbers with dice: 在骰子掉到地面前，回答上面數字的總和 Falling Words: 在單字掉到地面前輸入圖中單字 Logic → Positions，學習方位說法 Geography → Locate the countries，學習五大洲說法 Numeration → Emueration Memory Game 數量翻牌 Numeration → Word Number Memory Game 數字翻牌，考驗阿拉伯數字與英文數字的對應關係 Arithmetic：加減乘除運算，例如Gnucmh是要移動到不等於特定數字的方格上再把它吃掉。 Measurses：數錢、找錢、學重量、找時間、找出月曆日期 ABC → Letters: 以認識英文字母為主，包含輸入字母、畫出字母、排序字母、選出大小寫、點字系統等 ABC → Words: 單字中找字母、圖片配對字母、找單字、重組句子、吊死鬼 ABC → Vocabulary: 依提示找物品、找顏色、單字分類、單字朗誦 ","date":"2026年1月16日","externalUrl":null,"permalink":"/posts/gcompris-educational-software/","section":"所有文章","summary":"GCompris是一套由KDE與GNU計畫共同開發的自由軟體，支援多個作業系統，可用電腦或觸控螢幕玩。 內建百款小遊戲電玩，富有教育意義，適合2~10歲的小朋友玩。\nGCompris支援多國語言和語音提示。不過在玩的時候可以刻意選擇給有一定程度的小孩聽英文版說明。\n遊戲內容主要分為電腦探索、數學運算、科學、遊戲、英語閱讀等。\n有很多其他跟英語較無關但有趣的內容，尤其是科學實驗和遊戲類的就特別有趣，甚至有圍棋、孔明棋。\n很多遊戲其實比較適合幼稚園~低年級小朋友玩，下面列出的是高年級小朋友也適合的遊戲，用於英語教學。\n因其開源的性質，有程式能力的人可以自行研究程式，自行出題。GCompris的這個操作上有點類似Wordwall，差別在於出題不是那麼容易。\n啊，不過你要背單字的話，用Anki還是比較好啦！\n1. 下載 # GCompris支援Linux、Windows、macOS、Android。目前沒有網頁版本\n在官網下載GCompris：https://gcompris.net/downloads-zh_TW.html\n2. 內建遊戲簡介 # 由左至右，界面最上面是學科分類。 Numbers with dice: 在骰子掉到地面前，回答上面數字的總和 Falling Words: 在單字掉到地面前輸入圖中單字 Logic → Positions，學習方位說法 ","title":"GCompris：開源兒童遊戲學習套組，包含英語、數學、電腦科學的科目","type":"posts"},{"content":"","date":"2026年1月16日","externalUrl":null,"permalink":"/tags/kde/","section":"標籤","summary":"","title":"KDE","type":"tags"},{"content":"分享靜態網站生成器「Hugo」的使用，以及部落格經營心得。\n新手教學請戳此處：使用Hugo建立網站\n","date":"2026年1月16日","externalUrl":null,"permalink":"/categories/hugo%E7%B6%B2%E7%AB%99%E6%9E%B6%E8%A8%AD/","section":"分類","summary":"分享靜態網站生成器「Hugo」的使用，以及部落格經營心得。\n新手教學請戳此處：使用Hugo建立網站\n","title":"Hugo網站架設","type":"categories"},{"content":"","date":"2026年1月16日","externalUrl":null,"permalink":"/tags/javascript-library/","section":"標籤","summary":"","title":"JavaScript Library","type":"tags"},{"content":"很多國家法律規定，成人內容的網頁應該要加入年齡驗證的對話框/彈窗。\n就是問「你是否已經成年？」的那個玩意。\nPornhub的提醒 儘管我們知道這一點屁用都沒有，網路沒有驗證身份證的機制很容易就繞過去了，防君子不防小人，不過起碼還是有盡到最基本的提醒責任。\n台灣法院的見解是說，針對未成年人接觸淫穢物品，需要有基本隔離措施，很多時候對話框是基本的。\n所以我就這麼做了，針對本站的一些成人內容，還有一些讓玻璃心破碎的政治內容，我都會加上年齡驗證。\n1. 預期目標 # 具體效果可以點選本站NSFW - Ivon的部落格分類看看，在你檢視好康的內容前，必須同意才能繼續。\n純使用HTML + JS製作一個的對話框。\n使用最簡方案，不依賴任何外部套件製作。 在網頁載入前顯示「金、暴力、SEX！年齡驗證」這句話其實是台語的「金價揪暴力」的諧音的意思（激寒）。背景全黑，使用者點選同意前，都不可以往下滑。\n金!暴力!SEX!的標語是我給man of culture的人看的，請勿直接照抄。\n在點選「我成年」之後，在使用者的瀏覽器放置一個cookie，幾天內都不需要再按一次對話框。\n如果使用者很誠實地點了「我未成年」那麼將會獲得一個獎勵。\n2. 實作 # 在Hugo網站根目錄新增一個檔案layouts/shortcodes/age-verification.html。這裡我用的是shortcode，這樣能在任意網頁的Markdown插入年齡驗證對話框。如果你希望整個網站全域自動套用，請把它弄成layouts/partials/然後放到網站的基本layout裡面。\n找一個大大的「R18禁止」的素材圖片，放到網站根目錄/images/R-18_icon.svg\n填入以下內容。用CSS定義樣式，JavaScript禁止往下滑與處理通過後的邏輯。\n\u0026lt;style\u0026gt; .form-name-popup { color: white; text-align: center; position: fixed; z-index: 9; top: 0%; left: 0%; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.6); overflow: scroll; } .form-name-popup-inner { position: absolute; width: 100%; height: 100%; padding: 50px; overflow: scroll; } .form-name-popup-close { position: absolute; z-index: 999; top: 5px; right: 10px; color: #fff; } .r18button { width: 100px; height: auto; } .r18icon { display: block; margin-left: auto; margin-right: auto; } \u0026lt;/style\u0026gt; \u0026lt;script\u0026gt; /* 主選單內容*/ var formhtml = ` \u0026lt;div id=\u0026#34;popwindow\u0026#34; class=\u0026#34;form-name-popup\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;form-name-popup\u0026#34;\u0026gt; \u0026lt;p\u0026gt; \u0026lt;b\u0026gt;金、暴力、SEX！年齡驗證\u0026lt;/b\u0026gt; \u0026lt;/p\u0026gt; \u0026lt;p\u0026gt; 本頁面含有成人、暴力、血腥內容，請問您是否已成年？ 若您尚未成年，請點選「否」離開本頁面。 \u0026lt;/p\u0026gt; \u0026lt;p\u0026gt; \u0026lt;b\u0026gt;Kane, Bouryoku, Sex! You must be 18+ years old to view this.\u0026lt;/b\u0026gt; \u0026lt;/p\u0026gt; \u0026lt;p\u0026gt; This page contains adult, violent, and gory content. Are you an adult? If you are underage, please click \u0026#34;No\u0026#34; to leave this page. \u0026lt;/p\u0026gt; \u0026lt;img src=\u0026#34;/images/R-18_icon.svg\u0026#34; class=\u0026#34;r18icon\u0026#34; alt=\u0026#34;R-18 Icon\u0026#34; width=\u0026#34;200\u0026#34;\u0026gt; \u0026lt;div\u0026gt; \u0026lt;button onclick=\u0026#34;pass()\u0026#34; class=\u0026#34;r18button\u0026#34;\u0026gt;是 Yes\u0026lt;/button\u0026gt; \u0026lt;button onclick=\u0026#34;notpass()\u0026#34; class=\u0026#34;r18button\u0026#34;\u0026gt;否 No\u0026lt;/button\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; `; /* 讀取cookie並判斷*/ document.addEventListener(\u0026#34;DOMContentLoaded\u0026#34;, function () { if (document.cookie.includes(\u0026#34;isadult=yes\u0026#34;)) { pass(); } else { let newDivpopupwindow = document.createElement(\u0026#34;div\u0026#34;); newDivpopupwindow.innerHTML = formhtml; document.body.appendChild(newDivpopupwindow); window.onscroll = function () { window.scrollTo(0, 0); }; } }); /* 按按鈕之後的行為 */ function pass() { const popup = document.getElementById(\u0026#34;popwindow\u0026#34;); if (popup) { popup.style.display = \u0026#34;none\u0026#34;; } window.onscroll = function () { }; document.cookie = \u0026#34;isadult=yes; path=/; max-age=86400;\u0026#34;; } function notpass() { window.location.href = \u0026#34;https://www.youtube.com/watch?v=dQw4w9WgXcQ\u0026#34;; } \u0026lt;/script\u0026gt; 然後在要顯示年齡驗證對話框的Markdown加入shortcode即可。 { { \u0026lt; age-verification \u0026gt; } } ","date":"2026年1月16日","externalUrl":null,"permalink":"/posts/hugo-age-verification/","section":"所有文章","summary":"很多國家法律規定，成人內容的網頁應該要加入年齡驗證的對話框/彈窗。\n就是問「你是否已經成年？」的那個玩意。\nPornhub的提醒 儘管我們知道這一點屁用都沒有，網路沒有驗證身份證的機制很容易就繞過去了，防君子不防小人，不過起碼還是有盡到最基本的提醒責任。\n台灣法院的見解是說，針對未成年人接觸淫穢物品，需要有基本隔離措施，很多時候對話框是基本的。\n所以我就這麼做了，針對本站的一些成人內容，還有一些讓玻璃心破碎的政治內容，我都會加上年齡驗證。\n1. 預期目標 # 具體效果可以點選本站NSFW - Ivon的部落格分類看看，在你檢視好康的內容前，必須同意才能繼續。\n純使用HTML + JS製作一個的對話框。\n使用最簡方案，不依賴任何外部套件製作。 在網頁載入前顯示「金、暴力、SEX！年齡驗證」這句話其實是台語的「金價揪暴力」的諧音的意思（激寒）。背景全黑，使用者點選同意前，都不可以往下滑。\n金!暴力!SEX!的標語是我給man of culture的人看的，請勿直接照抄。\n在點選「我成年」之後，在使用者的瀏覽器放置一個cookie，幾天內都不需要再按一次對話框。\n如果使用者很誠實地點了「我未成年」那麼將會獲得一個獎勵。\n2. 實作 # 在Hugo網站根目錄新增一個檔案layouts/shortcodes/age-verification.html。這裡我用的是shortcode，這樣能在任意網頁的Markdown插入年齡驗證對話框。如果你希望整個網站全域自動套用，請把它弄成layouts/partials/然後放到網站的基本layout裡面。\n","title":"在Hugo靜態網頁加入一個年齡驗證對話框","type":"posts"},{"content":"很多網站都有隨機頁面的功能，比如維基百科，點下去會隨機跳轉到一個頁面。\n看到Wiwi.Blog的random頁面覺得有趣，便想跟著做一個。\n我遇到的問題是寫的文章的太多了，有的我已經不知道怎麼整理了。不如用這個方法製造驚喜。做好之後有時候我會自己點這個按鈕抽獎，看我之前到底寫過什麼神奇玩意兒。\n1. 預期目標 # 具體效果請參訪：隨機頁面 - Ivon的部落格\n使用者進入一個特製頁面，讀完指示，開始隨機跳轉到本站的一篇文章。\n然後跳到另外一個頁面，在那個頁面進行倒數，才進行跳躍。為了提昇中二感，這個頁面叫做「命運石之門的選擇」。\n跳轉過程可以取消，但是取消了有懲罰。\n包含的頁面內容應該涵蓋Hugo的content目錄下所有section的文章。\n2. 實作 # 因為我對這方面不太熟，所以有用到一點Claude的vibe coding建議。\n新增layouts/pages/random-post.html，這是特製頁面要使用的模板\n內容如下，讀取所有content目錄下的文章，即.Site.RegularPages，將所有文章網址暴力存成一個超級長的posts陣列，直接嵌入在靜態網頁HTML裡面。使用者點選按鈕，就從中隨機挑一個網址跳轉。\n{{ define \u0026#34;main\u0026#34; }} {{ .Content }} \u0026lt;div class=\u0026#34;container\u0026#34;\u0026gt; \u0026lt;p class=\u0026#34;message\u0026#34;\u0026gt;正在跳轉到隨機文章......\u0026lt;/p\u0026gt; \u0026lt;div class=\u0026#34;countdown\u0026#34; id=\u0026#34;countdown\u0026#34;\u0026gt;3\u0026lt;/div\u0026gt; \u0026lt;button class=\u0026#34;cancel-btn\u0026#34; id=\u0026#34;cancelBtn\u0026#34;\u0026gt;取消跳轉\u0026lt;/button\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;script\u0026gt; (function() { const posts = [ {{ range .Site.RegularPages }} \u0026#34;{{ .Permalink }}\u0026#34;, {{ end }} ]; if (posts.length === 0) { document.querySelector(\u0026#39;.message\u0026#39;).textContent = \u0026#39;沒有找到文章\u0026#39;; document.getElementById(\u0026#39;countdown\u0026#39;).style.display = \u0026#39;none\u0026#39;; document.getElementById(\u0026#39;cancelBtn\u0026#39;).style.display = \u0026#39;none\u0026#39;; return; } const randomIndex = Math.floor(Math.random() * posts.length); const randomPost = posts[randomIndex]; let secondsLeft = 3; // 跳轉倒數秒數 const countdownElement = document.getElementById(\u0026#39;countdown\u0026#39;); const cancelBtn = document.getElementById(\u0026#39;cancelBtn\u0026#39;); let cancelled = false; countdownElement.textContent = secondsLeft; const countdownInterval = setInterval(function() { secondsLeft--; if (secondsLeft \u0026gt; 0) { countdownElement.textContent = secondsLeft; } else { clearInterval(countdownInterval); if (!cancelled) { window.location.replace(randomPost); } } }, 1000); cancelBtn.addEventListener(\u0026#39;click\u0026#39;, function() { cancelled = true; clearInterval(countdownInterval); window.location.href = \u0026#34;https://www.youtube.com/watch?v=dQw4w9WgXcQ\u0026#34;; /* document.querySelector(\u0026#39;.message\u0026#39;).textContent = \u0026#39;已取消跳轉\u0026#39;; countdownElement.style.display = \u0026#39;none\u0026#39;; cancelBtn.textContent = \u0026#39;返回上一頁\u0026#39;; cancelBtn.onclick = function() { window.history.back(); }; */ }); })(); \u0026lt;/script\u0026gt; {{ end }} 新增content/random-post/index.md，作為說明頁面。這個頁面在站內的網址會變成/random-posts/ --- title: \u0026#34;隨機頁面\u0026#34; description: \u0026#34;\u0026#34; --- 點選以下按鈕，隨機跳轉到本站的一篇文章，可能會有意外的驚喜！內容可能是一個實用軟體的教學文，也可能是好康的圖片，也可能是我的深夜murmur。 \u0026lt;a href=\u0026#34;/steins-gate-choice/\u0026#34; class=\u0026#34;btn\u0026#34;\u0026gt;🎲 隨機閱讀 🎲\u0026lt;/a\u0026gt; 警告：這裡會遍歷全站的文章，沒有進行過濾，可能會看到不堪入目的內容，請謹慎使用！ 為什麼做這個頁面：因為寫的文章的太多了，有的我已經不知道怎麼整理了。 新增content/random-post/index.md，引用上面寫好的random-post.html模板（因此那個超級長的文章陣列其實是放在這個頁面的HTML裡面），作為實際跳轉頁面，加入一段中二文字提昇神秘感。這個頁面在站內的網址會變成/steins-gate-choice/。我原本想寫一個跳轉時候畫面扭曲的動畫效果，可是太複雜就放棄了。 --- title: \u0026#34;這一切都是命運石之門的選擇——\u0026#34; description: \u0026#34;\u0026#34; layout: \u0026#34;random-post\u0026#34; --- \u0026lt;!--從random-post頁面跳轉過來 --\u0026gt; There is no end though there is a start in space. — Infinite. It has (its) own power, it ruins, and it goes though there is a start also in the star. — Finite. Only the person who (has) wisdom can read the most foolish one from the history. The fish that lives in the sea doesn\u0026#39;t know the world in the land. It also ruins and goes if they have wisdom. It is funnier that man exceeds the speed of light than fish start living in the land. It can be said that this is (a) final ultimatum from the god to the people who can fight. ","date":"2026年1月16日","externalUrl":null,"permalink":"/posts/hugo-random-posts/","section":"所有文章","summary":"很多網站都有隨機頁面的功能，比如維基百科，點下去會隨機跳轉到一個頁面。\n看到Wiwi.Blog的random頁面覺得有趣，便想跟著做一個。\n我遇到的問題是寫的文章的太多了，有的我已經不知道怎麼整理了。不如用這個方法製造驚喜。做好之後有時候我會自己點這個按鈕抽獎，看我之前到底寫過什麼神奇玩意兒。\n1. 預期目標 # 具體效果請參訪：隨機頁面 - Ivon的部落格\n使用者進入一個特製頁面，讀完指示，開始隨機跳轉到本站的一篇文章。\n然後跳到另外一個頁面，在那個頁面進行倒數，才進行跳躍。為了提昇中二感，這個頁面叫做「命運石之門的選擇」。\n跳轉過程可以取消，但是取消了有懲罰。\n包含的頁面內容應該涵蓋Hugo的content目錄下所有section的文章。\n2. 實作 # 因為我對這方面不太熟，所以有用到一點Claude的vibe coding建議。\n新增layouts/pages/random-post.html，這是特製頁面要使用的模板\n內容如下，讀取所有content目錄下的文章，即.Site.RegularPages，將所有文章網址暴力存成一個超級長的posts陣列，直接嵌入在靜態網頁HTML裡面。使用者點選按鈕，就從中隨機挑一個網址跳轉。\n","title":"Hugo新增隨機跳轉頁面的功能","type":"posts"},{"content":"","date":"2026年1月16日","externalUrl":null,"permalink":"/tags/google-photos/","section":"標籤","summary":"","title":"Google Photos","type":"tags"},{"content":"","date":"2026年1月16日","externalUrl":null,"permalink":"/tags/hydrus-network/","section":"標籤","summary":"","title":"Hydrus Network","type":"tags"},{"content":"","date":"2026年1月16日","externalUrl":null,"permalink":"/tags/immich/","section":"標籤","summary":"","title":"Immich","type":"tags"},{"content":" 兩個開源自架(self-hosted)的圖片管理方案的比較。\n你想要多無腦的照片相簿管理？\n複雜，還是簡潔？ 請先閱讀：\nImmich，界面長得最像Google相簿的照片管理軟體 Hydrus Network，整理梗圖與表情包，以標籤分類 他們都是管理圖片的好工具，用途略有不同。我知道還有其他自架相簿方案，參考Free and OpenSource Photo Libraries Comparison，可是目前就我所知，他們是功能最多的了。\n跑了這兩個服務後，我在想哪個的管理照片方法比較好。\n我想管理的是一般照片＋色圖＋梗圖＋短影片的混合式內容。想要嘗試全部整合在一個軟體呀。\n老實說吧，我以前用Google相簿的時候，採取的是將一般照片＋色圖＋梗圖＋短影片全部都丟上去的策略。圖的就是一個方便嘛，所有資源集中在一處，唾手可得，我幾乎不使用資料夾分類。利用Google的AI自動整理，不論什麼內容都parse一遍（AI：殺了我吧），這樣我日後再進行搜尋，多方便。例如，我只要打「紫色」，所有圖片帶有紫色元素的花朵、衣服、文字的圖片就會跑出來，主打的就是一個智慧。我認為這正是Google相簿成功的地方。 不過嘛，你知道的，Google相簿對一些東西很敏感的，AI很容易就抓得到你，所以其實不適合放太過激的色圖，搞self-hosted比較安全。那麼，套用到現今的self-hosted使用情景，假設要同時管理一般照片＋色圖＋梗圖＋短影片，我應該用Hydrus Network還是Immich管理我的東西呢？哪個方案，適合以年為單位的長期使用？\n兩個方案的定位差異 # Hydrus Network功能比Immich多得多，自稱archive manager，它不只是圖片管理器，更是一個封存各種檔案的管理器。什麼類型的檔案都能丟進去，舉凡圖片、影片、文件、電子書、音樂、壓縮檔，什麼都難不倒它。提供複雜的標籤系統，能夠用評分或星星來區分，創造你自己的資料庫圖書館。搜尋檔案的時候除了標籤，還可以依照觀看次數、檔案類型、長寬高、大小、RGB顏色下去搜尋。並有將自身變為檔案分享伺服器的功能。 Immich就只是個相簿。\n環繞在圖片相關的選項，包括EXIF資訊，以及透過AI強化搜尋場景和人臉。整理照片主要依賴鬆散的「相簿」機制。 可，我主要要處理的檔案很簡單，就是照片和影片而已。其他類型的檔案都有對應的self-hosted服務去處理，例如影片有Jellyfin或Stash，音樂有Navidrome，漫畫有Komga或LANraragi，文件有Nextcloud或Paperless。Hydrus Network不該越俎代庖。\nAI自動上標籤，很重要 # Hydrus Network支援namespace:tags形式，Immich僅支援基本的標籤系統。\nHydrus Network很大程度需要使用者手動管理標籤，我不是很滿意這個操作模式。我看起來像圖書館管理員，有那麼多時間手動打標籤刷條碼嗎！？\n我希望Hydrus Network能有一些AI介入，像Immich幫使用者自動挑照片，自動打標籤方便搜尋。\n目前Hydrus Network作者還無意實現這個功能，社群也沒有人製作外掛。\n儘管有Hydrus Network自動打標籤的服務，那也是社群分享的，或者需要進行複雜的設定程序，不能由AI生成。\n我主要要存放的檔案很簡單，就是照片和影片而已。其他類型的檔案都有對應的self-hosted服務去處理。\n那麼，照片應該在上傳後即忘記，全部給AI自動整理才是。Immich使用的開源CLIP與OCR模型在自動化整理方面很在行。它讓使用者能夠以自然語言下去搜尋照片的內容。\nImmich的標籤系統問題在於，Immich支援基本的標籤系統，可以手動添加，也能從照片的EXIF讀取，但是AI生成的標籤不會出現在這裡。你無法像Hydrus Network一樣建立自己的龐雜標籤系統。只能透過手動寫註解文本的方式增加日後搜尋的便利度。\n資料庫結構，日後遷移與整理的難度 # Hydrus Network有一個問題，所有的檔案都要手動上傳，然後進入到它的資料庫。他的資料庫結構目錄是隨機英數組合，我最近才知道這種叫做hash-based directory sharding，為的是增加讀寫效能。\n可是，資料庫結構完全依照Hydrus，這樣日後要遷移資料到其他服務很是困擾。\n相較之下，Immich可以用storage template的方式強制規定上傳後檔案資料夾儲存的結構，以年月日結構儲存，以日期分類圖片好多了。並且每個帳號都有自己的資料夾，一目了然。\n也可以讓Immich讀取外部事先整理好的資料夾結構，不用手動上傳。\nImmich的網頁還提供資料夾模式檢視檔案。\n界面設計，現代嗎，直覺嗎 # Hydrus Network主要界面是QT寫的桌面客戶端，老實說真的很醜。且難以跨平台。雖有第三方開發的Hydrus Web，但界面還是不夠好。\nImmich界面很現代，主要以網頁原生的操作模式，免除了跨平台的操作困擾。\n整理難易度，直覺嗎？我希望不要太煩惱照片在硬碟上目錄的存在方式，全部都在軟體端整理就好了。\nImmich和Hydrus Network都能做到這點，Immich要整理就得用「相簿」，Hydrus Network全部靠標籤。\n但正如我上面說的，Immich資料庫結構的模式是可以控制的，比Hydrus Network安心。\n社群支援度，未來長期考量 # 開源專案最怕就是開發者跑路，然後陷入無止境的fork戰爭。\nImmich的Github很明顯較多人關注，畢竟自架相簿是一個很吸引人的產品。經過幾年發展，開發團隊從最初的一個人變成了有全職工程師協助，確保程式品質。還推出贊助計畫，讓這個專案能繼續走下去。參照Roadmap\nHydrus Network的Github雖然同樣有一定人氣，可是產品定位太複雜，但開發人員好像都是一些\u0026hellip;nerd？作者本身匿名，官方文件連大小寫都不規範。每週不固定時間會釋出一個新版本，穩定度不保證。\n結論 # 這樣思考下來，我覺得Hydrus Network似乎沒有Immich靠譜。決定將Hydrus Network一部分內容遷移到Immich試試。\n現階段，為免互相污染版面，嗯哼，我不想在向外展示Immich相簿的時候看到時間軸混入色圖，我用Immich的多重帳號功能，在一個Immich伺服器上開兩個帳號，一個放正常照片，另外一個放雜七雜八的色圖與梗圖。\n如果真的需要謹慎的建立搜尋資料庫體系，那還是Hydrus Network好。\n","date":"2026年1月16日","externalUrl":null,"permalink":"/posts/immich-vs-hydrus-network/","section":"所有文章","summary":" 兩個開源自架(self-hosted)的圖片管理方案的比較。\n你想要多無腦的照片相簿管理？\n複雜，還是簡潔？ 請先閱讀：\nImmich，界面長得最像Google相簿的照片管理軟體 Hydrus Network，整理梗圖與表情包，以標籤分類 他們都是管理圖片的好工具，用途略有不同。我知道還有其他自架相簿方案，參考Free and OpenSource Photo Libraries Comparison，可是目前就我所知，他們是功能最多的了。\n跑了這兩個服務後，我在想哪個的管理照片方法比較好。\n我想管理的是一般照片＋色圖＋梗圖＋短影片的混合式內容。想要嘗試全部整合在一個軟體呀。\n老實說吧，我以前用Google相簿的時候，採取的是將一般照片＋色圖＋梗圖＋短影片全部都丟上去的策略。圖的就是一個方便嘛，所有資源集中在一處，唾手可得，我幾乎不使用資料夾分類。利用Google的AI自動整理，不論什麼內容都parse一遍（AI：殺了我吧），這樣我日後再進行搜尋，多方便。例如，我只要打「紫色」，所有圖片帶有紫色元素的花朵、衣服、文字的圖片就會跑出來，主打的就是一個智慧。我認為這正是Google相簿成功的地方。 ","title":"一般照片＋色圖＋梗圖的混合式自架相簿服務選擇：Immich與Hydrus Network比較","type":"posts"},{"content":"","date":"2026年1月14日","externalUrl":null,"permalink":"/ja-jp/tags/ptt/","section":"Tags","summary":"","title":"PTT","type":"tags"},{"content":" PTTアカウント\u0026quot;ivon852\u0026quot;で投稿する時、署名欄に添えているオリジナルミーム画像について、その背後の意味とネタの出典を解説する。\n大部分は自由ソフトウェアとLinux議題に関係している。\nもし私のミーム画像を盗用したいなら：どうぞ。ここのミーム画像のライセンスはすべてCC BY-SA 4.0である。\nもうコスパのために開発ボードを買わない # コスパのために開発ボードを買わなくなった後：「私は価値あるRaspberry Piに身を寄せる」 解説：ARM開発ボードを作るメーカーは多い。Raspberry Pi財団が出しているRaspberry Piシリーズは、最も成功した製品と言える。他の中国メーカーが生産する開発ボードはコスパがより高いものの、ドライバーがクローズド、Linux対応がAndroidより遅れている、メーカーが率先してGPLに違反する、コミュニティが十分大きくない、といった問題がしばしばある。\nミーム画像出典：「我投靠有價值的民進黨」林飛帆哽咽嗆柯文哲\ndistro-hoppingとは何かを説明する # distro-hoppingとは何かを説明する：他人に恋をするのは楽しいこと 解説：いわゆるdistro-hoppingとは、ユーザーがLinuxディストリビューションを乗り換える行為を指す。Linuxディストリビューションには多様なデスクトップがあり、それぞれ特色があるため、決めかねるユーザーはDistroWatchランキング情報を見たり、r/unixpornのmemeに蠱惑されたりして、頻繁にシステムを再インストールする。これは心が移ろいやすいことも意味している。多くのユーザーは一通り探索した後（数年かかることもある）、自分に最も合うディストリビューションを見つける。ついでに言うと、1992年のアルバム《愛上別人是快樂的事》はとても聴く価値がある。伍佰が吳俊霖で大金を稼ぐ前の傑作だ！\nミーム画像出典：伍佰のアルバム《愛上別人是快樂的事》（1992年）\nDebianはUbuntuより使いにくい # DebianがUbuntuからなぜそんなに使いにくいのかと疑われた時：俺はお前の父親だよ 解説：UbuntuはDebianを基に開発されたシステムであり、ある意味ではDebianはUbuntuの父親のような関係だと言える。両者には多くの共通点がある。しかしDebianのインストーラーはUbuntuに比べるとそれほど親切ではなく、多くの場合マニュアルを見てコマンドを打つ必要がある。\nミーム画像出典：「我是你爸爸」！ 陳其邁斥王郁琦 爆失言\n不自由なソフトウェアをインストールしようとする時 # Absolutely Proprietary! 不自由なソフトウェア/オープンソースでないソフトウェアをインストールしようとする時：ごめんなさいごめんなさいごめんなさい 解説：Richard Stallmanは自由ソフトウェア運動の発起人であり、自由ソフトウェアコミュニティの多くのメンバーはRichard Stallmanを宗教指導者のように見なしている。教義に背いてプロプライエタリソフトウェアを使うと、彼を失望させるかのようだ。\nミーム画像出典：左側は非自由ソフトウェアを批判する時によく出るmeme。右側は《ひぐらしのなく頃に 卒》で北条沙都子の正体が古手梨花に暴かれた時の表情。\nそれで、あのソースコードは？ # メーカーが私にクローズドソースソフトウェアを売り込もうとする：それで、あのソースコードは？ 解説：多くのソフトウェア会社はKOLに案件を依頼する。残念ながら、私はプロプライエタリソフトウェアの案件は受けない。まずソースコードがあり、そこに自由があり、初めてユーザーの信頼を得られる。\nミーム画像出典：《中華一番》\nBSDはGPLより自由 # LinuxのGPLライセンス条項こそ最も自由だ！その一方で、FreeBSDのBSDライセンス条項：俺より自由な奴がいるなんて、絶対に許せない！！！ 解説：GPLとBSDはいずれも自由ソフトウェアライセンス条項だが、少し違いがある。GPLはコミュニティを保護するため、ソースコードを変更した場合も強制的にオープンソース化することを要求するが、BSDはそうではない。そのためBSDライセンス条項は商業用途により友好的である。ミーム画像にはちょうど感嘆符が三つあり、BSD三条項ライセンスを表している。\nミーム画像出典：《刃牙》\nOnePlusの答えは酸素 # 解説：中国版OnePlusスマートフォンにOxygenOSを焼くことで、より純粋なAndroid体験を得られ、完全なGMSサービス対応を得て、多くの無用なbloatwareを削除できる。\nミーム画像出典：《刃牙》\nLinuxでWineを使ってゲームを遊ぶのは苦しい # GAMING ON LINUX be like 解説：Steam ProtonやWineなどのツールによってLinuxでゲームを遊ぶことは便利になったが、それでも一部のゲームは手動であれこれ設定しなければ動かない。そしてすべてが無効なら、GPUパススルー付きのWindows QEMU/KVM仮想マシンを開いて解決するしかない。\nミーム画像出典：\u0026ldquo;Mr. Incredible Becoming Uncanny\u0026rdquo; meme\n肥大化したUbuntuと軽量なAlpine Linux # Alpine Linux:OpenRC, Busybox, musl libc. Ubuntu: Systemd, GNU coreutils, Glibc, Snap (bloated). 二つのシステムは構成要素が異なり、それがリソース使用量の差を生んでいる。GNU/Linuxを当然のものだと思っているかもしれないが、Alpine Linuxはそうは思っていない。\nミーム画像出典：Bocchi by Inkspirate\nsocketちゃんsocketちゃんsocketちゃんsocketちゃんsocketちゃん # あなたのPCはずっと小祥小祥小祥小祥小祥という音を出している。 解説：LinuxシステムはX11であれWaylandであれsshdであれ、プロセス間通信のためにUnix socketを絶えず使用する。socketの音は日本語の「小祥」に近い。\nミーム画像出典：《BanG Dream! Ave Mujica》第11集\nRustはクソ # こっちに来るな！ 解説：Rustは新興プログラミング言語として、Linux kernel 6.1以降カーネルに導入され、C言語開発者の間で大きな論争を引き起こした。\nミーム画像出典：《BanG Dream! Ave Mujica》と《BLACKHOLE 8 糞喰漢》\nBIOS vs βίος # 誰もいない：BIOS（冷たい起動firmware画面）；私：βίος（ギルティクラウン挿入歌） 解説：βίοςのギリシア語転写がBIOSである。\nミーム画像出典：《ギルティクラウン》挿入歌\nARMアーキテクチャLinuxタブレットの英雄はいまだ現れず # 高性能ARMアーキテクチャLinuxタブレットの英雄はいまだ現れず、少数のLinuxタブレットメーカーは強敵に輪姦されるしかない。 解説：高性能なARMアーキテクチャLinuxタブレットはいつになったら出るのか？できれば二万台湾ドル前後で、ソフトウェア・ハードウェアの品質がどちらも一定水準にあり、Androidタブレット、iPad、Surfaceと競争できるもの。法外に高くなく（Snapdragon X Eliteのように）、ハッカーが作ったデバイスでもなく（PineTabのように）、改造で動かすデバイスでもなく（Xiaomi PadにpostmarketOSを焼くように）、ましてone hit wonderでもない（JingPadのように）ものはないのか？\nミーム画像出典：[Fatalpulse (朝凪)] VictimGirls19 JEZEBEL AMAZONES (ダンジョンに出会いを求めるのは間違っているだろうか)\n政治系ファンページを媚薬にする # Facebookではエロ画像を見られないので、政治系ファンページをフォローし、政治を媚薬にする。 解説：Facebookはポルノコンテンツを禁止しており、基準が一貫せず、しょっちゅう人をZuckする。一方Facebookには政治厨が運営するファンページが事欠かず、一日中あちこちへ出征して、人に快感を与えている。\nミーム画像出典：キッシンジャー「権力は最高の媚薬である」。テンプレートは：支離滅裂な発言。\n民進党を罵るファンページなのに統派 # 民進党を罵るファンページを新しく発見したら、結果は藍脳/統派だった。 解説：社会には民進党を批判する声が必要だ。しかし藍色メディアの立場で語り、一日中大中華主義などと言っているなら、説得力は弱まる。さらに統派として、侵略者の視点から民進党を批判するなら、ますます説得力はなくなる。\nミーム画像出典：《スポンジ・ボブ》イカルド\nLinuxはついに4%仔になった # 統計資料によると、Linuxはついに4%になった！ 解説：統計資料によると、Linuxデスクトップシステムの市場シェアは2024年に4%に達した。他の二大政党……ではなく、二つのOSによる包囲攻撃に直面し、最後はやはり4%しかなかった。\nミーム出典：4%仔| PTT鄉民百科.柯粉與小草的別稱。民眾黨籍的吳益政，於2023年高雄市長補選只獲得4.06%之選票\n","date":"2026年1月14日","externalUrl":null,"permalink":"/ja-jp/posts/my-ptt-forum-signatures/","section":"Foss-Issues","summary":" PTTアカウント\"ivon852\"で投稿する時、署名欄に添えているオリジナルミーム画像について、その背後の意味とネタの出典を解説する。\n大部分は自由ソフトウェアとLinux議題に関係している。\nもし私のミーム画像を盗用したいなら：どうぞ。ここのミーム画像のライセンスはすべてCC BY-SA 4.0である。\nもうコスパのために開発ボードを買わない # コスパのために開発ボードを買わなくなった後：「私は価値あるRaspberry Piに身を寄せる」 解説：ARM開発ボードを作るメーカーは多い。Raspberry Pi財団が出しているRaspberry Piシリーズは、最も成功した製品と言える。他の中国メーカーが生産する開発ボードはコスパがより高いものの、ドライバーがクローズド、Linux対応がAndroidより遅れている、メーカーが率先してGPLに違反する、コミュニティが十分大きくない、といった問題がしばしばある。\nミーム画像出典：「我投靠有價值的民進黨」林飛帆哽咽嗆柯文哲\ndistro-hoppingとは何かを説明する # distro-hoppingとは何かを説明する：他人に恋をするのは楽しいこと ","title":"笑えないプログラミング系ミーム：私のPTT署名欄ミーム画像の背後にある趣旨解説","type":"foss-issues"},{"content":"","date":"2026年1月14日","externalUrl":null,"permalink":"/tags/color-management/","section":"標籤","summary":"","title":"Color Management","type":"tags"},{"content":"","date":"2026年1月14日","externalUrl":null,"permalink":"/tags/usb-video-class/","section":"標籤","summary":"","title":"USB Video Class","type":"tags"},{"content":"去年我買了一個擷取卡（採集卡）來玩玩。在PChome上找了伽利略出的USB擷取卡，700元而已，支援1080@60Hz輸出。它有很多用途。 擷取卡的用途 # 擷取卡的用途為何？這個擷取卡一端是HDMI母頭，另外一邊是USB公頭只要支援USB的裝置都能用。典型的連接方法：\n輸出HDMI的裝置 --\u0026gt; 擷取卡 --\u0026gt; 讀取擷取卡輸入的畫面 還是看原廠的圖更明白 對接收訊號的裝置來說，擷取卡會變成一個UVC (USB Video Class) 裝置，幾乎是免驅動就能用，所以支援的很廣，各大作業系統都能讀到UVC裝置輸出內容。\n比如：\n將遊戲機的畫面輸出到電腦上的OBS Studio錄影，減少錄影吃效能，但玩遊戲略有延遲 在UEFI界面截圖主機輸出的畫面，示範裝機的時候很有用 將iPad當作樹莓派輸出的螢幕 透過UVC功能，把iPad、Android、Surface平板當作電腦的第二個螢幕使用 轉接Chromecast畫面到電腦 玩法很多！\n這個擷取卡好像不太行 # 用久了之後我發現這個擷取卡的色彩似乎有點問題。\n看來PTT鄉民說擷取卡水很深是真的，花700元買的伽利略擷取卡，想說Type-C支援到1080@60Hz應該夠用了吧，結果有輕微色差問題。\n擷取卡APP輸出結果（上）跟iOS的照片（下）顏色對比一下，可以發現嚴重的不對稱。擷取卡的顏色在DCI-P3色域的螢幕上被漂白了。 原來，從讀取擷取卡軟體知道，它只支援到YUV 4:2:0格式，就是只符合最低色彩標準的意思。\niOS的CamX APP讀到的色彩格式 更好的標準應該是要有YUV 4:2:2或YUV 4:4:4才對。可能是擷取卡晶片本身能力所限。\n白牌的3C產品很少寫明背後的晶片型號。\n我不想把這個裝置撬開，就為的是看裡面用的是哪個擷取卡晶片。嘗試用軟體讀取吧。\n在輸出畫面的Linux裝置用ddcutil detect指令讀取晶片資訊，得出型號是HJW - UNK HDMI TO USB，資訊不足啊。\n在接收擷取卡輸出的Linux裝置用lsusb -v指令讀取，Vendor ID是345f:2130，會得到MACROSILICON USB3.0 UHD。從網路上一些使用者回報的資料來看，這裡用的晶片可能是宏晶微的「MS2130」\n官網資料：宏晶微电子- 产品中心- 芯片产品- MS2130\n雖說這個擷取卡規格不怎麼樣，但還是能用啦。\n我的ASUS VP229HA只有72% NTSC，我上面提到擷取卡能將iPad作為電腦外接螢幕，本來期望iPad的DCI-P3螢幕可以作為電腦修圖的標準，結果實驗下來不太行。\n這應該與OS的問題不大，使用Intel Arc A380的HDMI埠，我在Linux和Windows測試都是一樣的結果，RGB範圍設定Limited或Full顏色都不對。是擷取卡所輸出的訊號問題比較大，它的極限就到這樣，不能輸出完整顏色，不太可能是Linux Wayland的色彩管理有問題吧？我想，我以後得參照Mac用戶的建議去買個修圖用的螢幕了，有必要的時候再校色。\n擷取卡出現色差可能是擷取卡晶片能力就那樣，故，未來需要找明確標明擷取卡晶片的廠商，或是考慮更貴的擷取盒，或者換成PCI-E的形式。\n","date":"2026年1月14日","externalUrl":null,"permalink":"/posts/ms2130-usb-video-capture-card/","section":"Unboxings","summary":"去年我買了一個擷取卡（採集卡）來玩玩。在PChome上找了伽利略出的USB擷取卡，700元而已，支援1080@60Hz輸出。它有很多用途。 擷取卡的用途 # 擷取卡的用途為何？這個擷取卡一端是HDMI母頭，另外一邊是USB公頭只要支援USB的裝置都能用。典型的連接方法：\n輸出HDMI的裝置 --\u003e 擷取卡 --\u003e 讀取擷取卡輸入的畫面 還是看原廠的圖更明白 對接收訊號的裝置來說，擷取卡會變成一個UVC (USB Video Class) 裝置，幾乎是免驅動就能用，所以支援的很廣，各大作業系統都能讀到UVC裝置輸出內容。\n比如：\n將遊戲機的畫面輸出到電腦上的OBS Studio錄影，減少錄影吃效能，但玩遊戲略有延遲 在UEFI界面截圖主機輸出的畫面，示範裝機的時候很有用 將iPad當作樹莓派輸出的螢幕 透過UVC功能，把iPad、Android、Surface平板當作電腦的第二個螢幕使用 轉接Chromecast畫面到電腦 玩法很多！\n這個擷取卡好像不太行 # 用久了之後我發現這個擷取卡的色彩似乎有點問題。\n看來PTT鄉民說擷取卡水很深是真的，花700元買的伽利略擷取卡，想說Type-C支援到1080@60Hz應該夠用了吧，結果有輕微色差問題。\n擷取卡APP輸出結果（上）跟iOS的照片（下）顏色對比一下，可以發現嚴重的不對稱。擷取卡的顏色在DCI-P3色域的螢幕上被漂白了。 ","title":"買了一個廉價的伽利略USB擷取卡（MS2130晶片），水真的很深","type":"unboxing"},{"content":"Adjust monitor brightness/backlight from Linux desktop .\n長期以來我一直有一個困擾：無法從作業系統端直接控制電腦螢幕的亮度/背光。\nLinux能自由調整螢幕亮度的通常是筆電或平板的螢幕，因為多半是用eDP與主機板連接的。我們可以透過桌面環境提供的滑桿快速修改背光亮度。\nSurface的螢幕亮度調整滑桿 不過一般桌上型電腦的螢幕，或說顯示器，是透過HDMI或DisplayPort連接到電腦顯示卡輸出的。通常要調整電腦螢幕亮度，就得去按螢幕的實體鍵，叫出OSD選單來調整，不能直接從作業系統端的界面調整。偏偏這個實體按鍵不太好按。\nASUS VP229HA顯示器的調整亮度的界面，要按螢幕下的實體按鍵，打開兩個選單才能進入亮度調整界面，好麻煩。 我不是很喜歡把螢幕亮度開到90%以上的人，我很多時候亮度都是在10%以下。因此方便控制亮度很重要。\n我從Windows的使用經驗，了解到從作業系統端控制螢幕亮度是可能的。\n一種方法是修改Gamma數值，讓螢幕看起來變暗了，但其實物理亮度並沒有改變。而且這會導致螢幕產生色偏，非常難看。\n我要的是可以直接從作業系統控制螢幕亮度的方法，那就是得透過「DDC/CI」這個協定來控制，全稱「Display Data Channel / Command Interface」，這個協定從2005年就存在了，很多大廠牌螢幕都有支援，除非你是超級老的螢幕。\n在螢幕OSD選單裡面可以找到DDC/CI的開關。 在Windows，有Monitorian這類軟體能走DDC/CI控制螢幕亮度。\nLinux要使用DDC/CI，得手動安裝套件來補足缺少的驅動，還需要一個專門的GUI來控制DDC/CI。不過現在有些Linux桌面環境也能夠透過DDC/CI控制背光了。\n如圖，使用KDE Plasma桌面提供的選單（上）來調整螢幕亮度，而非使用螢幕硬體的選單（下）調整。 1. i2c與ddcci-driver-linux的差異 # Linux要使用DDC/CI控制螢幕亮度，需要一個核心模組來控制。\n截至撰文當下的Linux 6.12.63，有兩個核心模組可以達成這個效果。\ni2c提供i2c-dev核心模組。Linux核心提供一個userland可以直接存取 I²C Bus的介面，會在/dev下出現device node，userland的程式可以修改/dev/i2c-N的內容，透過DDC/CI溝通，進而改變螢幕的亮度、色溫、對比度、RGB、輸入源等等。\nddcci-driver-linux提供ddcci核心模組，為每台支援DDC/CI的顯示器建立各自的device node，例如/dev/bus/ddcci/ddcci-backlight。然後它會把顯示器嫁接到Linux核心控制背光的子系統/sys/class/backlight/，讓userland的程式控制螢幕亮度。但是ddcci-driver-linux有其限制，它只能控制螢幕亮度，不能修改其他參數。\nLinux控制背光的方式是調整/sys/class/backlight/，預設是不認識DDC/CI的。從以上的原理來看，ddcci-driver-linux是一個比較用途比較廣的方案，它讓軟體不用特地支援DDC/CI就能直接透過/sys/class/backlight/界面控制螢幕亮度，方便桌面環境整合。所以在這篇文章我們將安裝這個版本。\n2. 桌面環境對DDC/CI支援度 # 如果我們使用ddcci-driver-linux，Linux桌面環境可以直接透過/sys/class/backlight/控制螢幕亮度，不用煩惱DDC/CI的支援度了。\n反之，若使用i2c，Linux桌面環境的程式必須額外支援DDC/CI的處理邏輯。\n我是希望不要安裝額外的GUI就能控制螢幕亮度。\nGNOME：目前GNOME 50依然需要安裝擴充套件才能夠使用DDC/CI。\nKDE Plasma：在KDE Plasma 6.0以上版本支援DDC/CI。如果DDC/CI不可用，KDE會回退到調整Gamma值來改變螢幕亮度的模式（僅限Wayland）。即使螢幕物理亮度固定也能進一步降低亮度。\n獨立的DDC/CI控制程式：你可以安裝ddcui來控制亮度，就是ddcutil工具的前端。這個GUI除了亮度之外還可以看到螢幕所支援的其他功能。 3. 安裝ddcci-driver-linux套件 # ddcci-driver-linux可以在X11與Wayland桌面使用。\nUbuntu使用系統的套件管理器安裝ddcci-driver-linux，應該會以DKMS裝載 sudo apt install ddcci-dkms （選擇性）使用ddcutil檢查螢幕是否支援DDC/CI，如果正常的話不會輸出任何錯誤訊息 sudo apt install ddcutil sudo ddcutil detect 重開機，桌面環境螢幕亮度調整的滑桿應該就能調整螢幕亮度了。我注意到我這個ASUS VP229螢幕需要以十位數為單位來調整，不然亮度不會變化。\n要確認DDC/CI是否有成功啟用，用Linux調整亮度，再按下電腦螢幕硬體鍵盤叫出OSD，看亮度數值有無跟著變化。\n參考資料 # I2C/SMBus Subsystem - The Linux Kernel documentation ddcci-driver-linux - A pair of Linux kernel drivers for DDC/CI monitors. Backlight - Arch Wiki ","date":"2026年1月14日","externalUrl":null,"permalink":"/posts/adjust-linux-monitor-brightness-with-ddc-ci/","section":"所有文章","summary":"Adjust monitor brightness/backlight from Linux desktop .\n長期以來我一直有一個困擾：無法從作業系統端直接控制電腦螢幕的亮度/背光。\nLinux能自由調整螢幕亮度的通常是筆電或平板的螢幕，因為多半是用eDP與主機板連接的。我們可以透過桌面環境提供的滑桿快速修改背光亮度。\nSurface的螢幕亮度調整滑桿 不過一般桌上型電腦的螢幕，或說顯示器，是透過HDMI或DisplayPort連接到電腦顯示卡輸出的。通常要調整電腦螢幕亮度，就得去按螢幕的實體鍵，叫出OSD選單來調整，不能直接從作業系統端的界面調整。偏偏這個實體按鍵不太好按。\nASUS VP229HA顯示器的調整亮度的界面，要按螢幕下的實體按鍵，打開兩個選單才能進入亮度調整界面，好麻煩。 我不是很喜歡把螢幕亮度開到90%以上的人，我很多時候亮度都是在10%以下。因此方便控制亮度很重要。\n我從Windows的使用經驗，了解到從作業系統端控制螢幕亮度是可能的。\n一種方法是修改Gamma數值，讓螢幕看起來變暗了，但其實物理亮度並沒有改變。而且這會導致螢幕產生色偏，非常難看。\n我要的是可以直接從作業系統控制螢幕亮度的方法，那就是得透過「DDC/CI」這個協定來控制，全稱「Display Data Channel / Command Interface」，這個協定從2005年就存在了，很多大廠牌螢幕都有支援，除非你是超級老的螢幕。\n","title":"Linux透過DDC/CI軟體調整外接螢幕的亮度，免按實體鍵","type":"posts"},{"content":"先安裝好Immich再行操作。\n介紹Immich的外部圖庫功能。\n為什麼要用外部圖庫？ # Immich預設上傳照片後，會依照自己的邏輯存放照片檔案，在內部圖庫建立「年/年-月-日/」的資料夾結構。參見Immich上傳照片的預設資料夾結構\n針對喜歡手動用資料夾分類照片的使用者，你可能會覺得讓照片完全依照Immich的邏輯放會很危險，讓你日後難以遷移到其他服務。\n可不可以我手動整理照片分類的資料夾，例如將伺服器用SMB掛載到主力電腦讓手動整理資料夾，再讓Immich掃描呢？行！\nImmich提供一個功能稱作「外部圖庫」\n詳情參考官方文件：External Library。\n你可以新增多個外部圖庫，讓Immich直接掃描現有的硬碟資料夾，讓Immich讀取並彩現在網頁時間軸，維持現有的照片資料夾結構。這個時候Immich就變成單純顯示照片用的工具罷了，不會幫你產生資料夾結構。\n圖解： Immich在掃描照片的時候會建立雜湊值，因此即使你照片所在的資料夾有移動，該照片在Immich中依然不會變化。\n在docker-compose新增外部圖庫路徑 # 將硬碟上的照片手動分類，整理在一個資料夾下。例如我是使用「年份」與「重要事件」的邏輯去整理。 停止Immich的Docker服務\ncd immich-app sudo docker compose down 編輯docker-compose.yml，加入照片所在資料夾的路徑，使其成為Docker volume。例如我有/run/media/user/TOSHIBA1TB/DCIM這個照片資料夾，就要在immich-server:下面的volumes區塊新增唯讀Docker volume： immich-server: volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /run/media/user/TOSHIBA1TB/DCIM:/run/media/user/TOSHIBA1TB/DCIM:ro 啟動容器服務 sudo docker compose up -d 外部圖庫操作方式 # 回到Immich網頁界面，點選右上角大頭貼 → 管理 → 使用者 → 外部圖庫，新增圖庫，加入資料夾路徑 點選掃描開始掃描照片 在右上角大頭貼 → 管理 → 作業頁面，可以看照片掃描分類的進度。 日後外部圖庫有新照片的時候，你只要在右上角大頭貼 → 管理 → 使用者 → 外部圖庫，按掃描就行了。\n","date":"2026年1月14日","externalUrl":null,"permalink":"/posts/immich-external-libraries/","section":"所有文章","summary":"先安裝好Immich再行操作。\n介紹Immich的外部圖庫功能。\n為什麼要用外部圖庫？ # Immich預設上傳照片後，會依照自己的邏輯存放照片檔案，在內部圖庫建立「年/年-月-日/」的資料夾結構。參見Immich上傳照片的預設資料夾結構\n針對喜歡手動用資料夾分類照片的使用者，你可能會覺得讓照片完全依照Immich的邏輯放會很危險，讓你日後難以遷移到其他服務。\n可不可以我手動整理照片分類的資料夾，例如將伺服器用SMB掛載到主力電腦讓手動整理資料夾，再讓Immich掃描呢？行！\nImmich提供一個功能稱作「外部圖庫」\n詳情參考官方文件：External Library。\n你可以新增多個外部圖庫，讓Immich直接掃描現有的硬碟資料夾，讓Immich讀取並彩現在網頁時間軸，維持現有的照片資料夾結構。這個時候Immich就變成單純顯示照片用的工具罷了，不會幫你產生資料夾結構。\n圖解： Immich在掃描照片的時候會建立雜湊值，因此即使你照片所在的資料夾有移動，該照片在Immich中依然不會變化。\n在docker-compose新增外部圖庫路徑 # 將硬碟上的照片手動分類，整理在一個資料夾下。例如我是使用「年份」與「重要事件」的邏輯去整理。 ","title":"Immich照片管理：透過外部圖庫新增照片，維持用硬碟資料夾整理照片的彈性","type":"posts"},{"content":"先安裝好Immich再行操作。\n討論你在Immich上傳照片之後會發生什麼事。\n是否要啟用「儲存範本」？ # Immich預設的上傳模式是直接上傳照片到Immich的圖庫，也就是你在docker-compose裡面定義的UPLOAD_LOCATION資料夾路徑。\n預設模式下，Immich會以「hash-based directory sharding」的模式儲存檔案。此方法適合用戶無腦地備份照片，不用去煩惱照片資料夾怎麼放，就完全交給Immich整理。\n但是，這個資料夾分類方式很醜。打開Immich伺服器的上傳資料夾會看到以下檔案，所有的照片上傳後都是以隨機英數的資料夾模式散亂在各處。長期下來會難以尋找檔案，且萬一你要從Immich遷移到其他照片服務也會很不方便。 這個時候，推薦啟用「儲存範本」功能，讓Immcih內部照片整理方式比較有條理。\n詳細資訊請參考官方文件：Storage Template\n你可以在右上角大頭貼 → 設定 → 啟用儲存範本。預設的規則是依照「年/年-月-日/」儲存你上傳的照片。 這樣的話，你在網頁或者APP點選上傳照片，Immich會依照上面的儲存範本，在伺服器目錄建立有條理的資料夾結構，預設的是「年/年-月-日/」依照日期來放，比原本英數混合的資料夾要好看多了。 於是，你在伺服器存放Immich上傳照片的資料夾，就會看到以下結構，清楚地分類。每個Immich帳號都有自己的資料夾。 如果，你還是對Immich管理的照片資料夾方式不滿意，可以改用自己整理資料夾 + 外部圖庫的方式來讓Immich掃描照片。\n使用網頁上傳照片 # 點選網頁上傳圖示，或者拖拉多個檔案到網頁畫面就可以上傳囉。Immich尚不支援資料夾模式上傳。 Immich會給每張照片建立雜湊值，因此Immich會阻止你重複上傳照片，改檔名是無效的。若要強制覆蓋，請將照片移到垃圾桶後永久刪除再重試。\n從手機備份照片 # 手機用Immich網頁版也可以直接上傳照片。\n至於要用手機APP的話，請按照你的系統下載：Android｜iOS 。用手機APP的好處是能夠同時檢視手機與Immich雲端的照片。\n開啟APP後登入Immich伺服器帳號。\n點選右上角雲朵上傳圖示，點選Backup Album，選取要備份的資料夾。預設是手機全部照片(Recent)。Android的話可以個別設定要備份的資料夾。 接著下面有二個備份方式，Foreground Backup是一開啟APP便自動上傳，Background service是自動在背景備份。\n一切設定好後，點選Start Backup。\nImmich手機照片備份邏輯：\nImmich備份後會自動計算校驗值，標記已經上傳的照片，這樣就不會重複上傳了。\n照片上傳後，本機照片不會刪除。如果要保留伺服器照片，只刪除本機照片的話，你要手動用其他APP刪本機照片。\n如果在Immich APP裡面按刪除，則該照片會從伺服器和本機一併刪除。\n另外，只有選取備份的手機資料夾，才會跟伺服器的照片一起顯示在時間軸上。\n","date":"2026年1月14日","externalUrl":null,"permalink":"/posts/immich-upload-photos/","section":"所有文章","summary":"先安裝好Immich再行操作。\n討論你在Immich上傳照片之後會發生什麼事。\n是否要啟用「儲存範本」？ # Immich預設的上傳模式是直接上傳照片到Immich的圖庫，也就是你在docker-compose裡面定義的UPLOAD_LOCATION資料夾路徑。\n預設模式下，Immich會以「hash-based directory sharding」的模式儲存檔案。此方法適合用戶無腦地備份照片，不用去煩惱照片資料夾怎麼放，就完全交給Immich整理。\n但是，這個資料夾分類方式很醜。打開Immich伺服器的上傳資料夾會看到以下檔案，所有的照片上傳後都是以隨機英數的資料夾模式散亂在各處。長期下來會難以尋找檔案，且萬一你要從Immich遷移到其他照片服務也會很不方便。 這個時候，推薦啟用「儲存範本」功能，讓Immcih內部照片整理方式比較有條理。\n詳細資訊請參考官方文件：Storage Template\n你可以在右上角大頭貼 → 設定 → 啟用儲存範本。預設的規則是依照「年/年-月-日/」儲存你上傳的照片。 這樣的話，你在網頁或者APP點選上傳照片，Immich會依照上面的儲存範本，在伺服器目錄建立有條理的資料夾結構，預設的是「年/年-月-日/」依照日期來放，比原本英數混合的資料夾要好看多了。 ","title":"Immich照片管理：預設上傳的照片會跑到哪裡？資料夾目錄結構為何？","type":"posts"},{"content":"「Immich」是一款開源的自架雲端相簿服務，提供網頁及手機APP，協助整理照片。 對不想依賴商業相簿服務的人來說，Immich十分適合部署到NAS或私人伺服器，用於備份與整理照片，使用起來體驗不輸「Google相簿」這類商業相簿服務，可做為Google相簿替代品。\n以下是Immich的圖示。開發者alextran1502說很喜歡日本文化，Immich的圖示即修改自日本戰國時期的織田家家徽，他還景仰吉川英治《新書太閤記》中豐臣秀吉的精神。 在這篇文章中，Ivon將會介紹Immich的安裝方式，還有上傳照片的整理技巧。\n1. Immich特色功能 # 首先先介紹Immich的優點。\nIvon用下來，覺得Immich功能做得很像Google相簿，繼承Google相簿簡單的特色，該有的功能都有：讀取Exif、公開共享相簿、回憶集錦（歷史上的今天）、臉部辨識、定時備份、支援中文界面等等。\n網頁界面的操作邏輯很像Google相簿，拖動右邊的軸線檢視照片時間軸。即使照片很多捲動依然流暢。 點選照片後查看相機、地點資訊，你可以在資訊描述寫註解，方便日後用Immich搜尋文本。 上傳照片後，Immich會自動掃描人臉，讓你打標籤。 讀取EXIF資訊將照片繪製在世界地圖上，便於回味去過的地方。 Immich支援以檔案名稱與註解搜尋照片。AI會識別照片中的物件，順便做OCR文字辨識，讓使用者可以用自然語言搜尋照片。 Immich還會挑選過去的照片，在照片列表最上方顯示回憶集錦（歷史上的今天） 備份的時候Immich提供二種模式：你可以上傳照片讓Immich自動整理，或者手動把照片放到硬碟資料夾分類，並讓Immich掃描，將照片顯示在網頁。\n對於喜歡用硬碟資料夾整理照片的用戶，沒問題！Immich能讓你在網頁直接依照資料夾結構去找照片。也可以手動打標籤分類照片。 此外，Immich最大強項在於提供手機APP，可以當一般的相簿APP使用。\n主界面手機和伺服器的照片會顯示在一塊，並用「雲朵」圖示標示哪些圖片尚未上傳。 當然，用作一般相簿APP，以資料夾模式檢視手機照片也是可以的。 Immich的APP方便備份照片到伺服器，可選擇定時背景排程備份，支援RAW檔和原況照片。\nImmich支援多用戶登入，可以給各個用戶設定照片容量配額。\n支援只備份特定手機資料夾（相簿），而非把DCIM資料夾的照片都傳上去。\nImmich光這點就比類似產品PhotoPrism有誠意多了，後者竟然到現在還在叫使用者認命用PWA網頁程式。\n接著要來介紹Immich的缺點。\nImmich標籤系統不若PhotoPrism明瞭，雖然Immich可以用「顏色」、「物件」等AI辨識到的標籤下去搜尋照片，但是他不會像PhotoPrism把掃描到的標籤列成一個完整清單。\n中文支援尚不齊全，雖然中文界面有了，但是地圖搜尋依然顯示的是英文地址。\n早期Immich開發不穩定，每次更新就有功能會壞掉。不過2024年，Immich專案加入FUTO組織，由全職開發者負責軟體開發，品質有了一定保證。\n2. 用Docker安裝Immich # Immich硬體需求：官方文件建議CPU至少2核心、RAM至少4GB。雖然這邊硬體需求好像列得很高，但其實樹莓派也是跑得動Immich的！只要把最吃資源的人臉辨識和影片轉檔服務關掉即可。\n官方文件有提到Docker、Kubernetes、Unraid的裝法。其中docker-compose是最簡單的方式。\n撰文當下測試的Immich版本：v2.4.1\n於Linux電腦安裝Docker\n建立存放Immich資料的目錄。\nmkdir immich-app cd immich-app 參考官方文件，下載官方提供的範本。此docker-compose內含Immich所需的各項服務。 wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env docker-compose大部分參數維持預設就好了，不過有些地方需要注意。如果你的Immich資料庫是放在HDD而非SSD的話（注意是資料庫，存放縮圖與快取的地方，不是照片檔案），就把DB_STORAGE_TYPE:這一行取消註解： database: container_name: immich_postgres image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} POSTGRES_INITDB_ARGS: \u0026#39;--data-checksums\u0026#39; DB_STORAGE_TYPE: \u0026#39;HDD\u0026#39; volumes: - ${DB_DATA_LOCATION}:/var/lib/postgresql/data restart: always 至於Immich的環境變數都寫在.env裡面了，這裡有幾個要注意的： # 預設照片上傳路徑是docker-compose所在目錄下的library UPLOAD_LOCATION=./library # 預設資料庫路徑是docker-compose.yml所在目錄下的postgres DB_DATA_LOCATION=./postgres # 時區改成台灣 TZ=Asia/Taipei # 資料庫帳密，自行填寫或維持預設 DB_USERNAME= DB_PASSWORD= 啟動容器服務 docker compose up -d 用瀏覽器開啟http://localhost:2283或http://電腦區域IP:2283，存取Immich網頁界面，一開始要用電子郵件註冊管理員帳號。 若Immich詢問是否開啟儲存範本(Storage Template)的話，建議勾選是，理由參見Immich上傳照片方法\n上傳照片後，你就可以點選右上角大頭貼 → 管理 → 作業，將所有選項都設定為「活躍」，開始掃描分類照片。 點右上角大頭貼 → 帳號設定 → 功能，可以開啟依照資料夾模式檢視照片的選項。建議新增外部圖庫再使用此功能。\n停止Immich全部容器服務的指令：\ncd immich-app docker compose down 更新容器的指令：\ndocker compose pull 3. 如何上傳照片到Immich # 使用者建議先將照片整理，再「上傳」到Immich的資料庫。也就是說，照片是直接上傳照片到Immich的圖庫，依照Immich預設的模板「年/月/日/」建立資料夾結構。此方法適合無腦備份照片，不用去煩惱照片資料夾怎麼放。\n參見：Immich預設上傳的照片會跑到哪裡？資料夾目錄結構為何？\n如果你不喜歡這麼做，那麼請參考下一節「掃描現有照片資料夾」。\n4. 使用外部圖庫新增照片 # 此功能稱作外部圖庫 (External Library) ，Immich預設的圖庫是會依照自己的邏輯整理。針對喜歡手動用資料夾分類照片的使用者，你可以新增多個外部圖庫，直接掃描現有的硬碟資料夾，讓Immich讀取並彩現在網頁，不會對資料夾結構做任何變更。\n參見：Immich透過外部圖庫(Library)新增照片，維持用硬碟整理照片的彈性\n5. Immich功能優化 # 從外部網路存取Immich # Immich只要有電腦網頁就可以用，手機推薦用APP存取。\n不過若是要從外面的網路連線到Immich伺服器怎麼辦呢？我會使用內網穿透軟體。設定好內網穿透後，你就可以用http://電腦虛擬區域IP:2283存取遠端Immich伺服器了。\n改善中文AI搜尋結果 # Immich使用CLIP模型辨識照片內容，讓使用者能以自然語言搜尋照片。\n如果你覺得預設的圖片辨識模型不夠精準的話，那麼請在右上角大頭貼 → 管理 → 機器學習設定 → 智慧搜尋 → Clip模型，改用較大的多語言模型immich-app/nllb-clip-large-siglip__v1。\n適時關閉吃資源的服務 # 影像辨識和影片轉檔是Immich最吃資源的服務，如果用不到或者伺服器硬體太爛，可以將其關閉。\n關閉影像辨識：右上角大頭貼 → 管理 → 設定 → 機器學習設定，將所有服務取消打勾。\n關閉影片轉檔：用意是讓影片能在網頁更快載入，但是影片太多會轉檔很久。如果要關閉的話，點選右上角大頭貼 → 管理 → 設定 → 影片轉碼，將轉碼策略改為「不轉碼」。\n另一種作法是使用GPU加速。Immich會使用機器學習技術辨識照片中的物體與人臉，預設是使用CPU計算，很慢。如果電腦有獨立顯示卡，可以用GPU加速。\n首先下載hw-hwaccel.ml.yml：\nwget https://github.com/immich-app/immich/releases/latest/download/hw-hwaccel.ml.yml 再修改docker-compose.yml，啟用GPU加速，例如我這裡是Nvidia CUDA加速，並將拉取的映像檔加上cuda版本：\nimmich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}-cuda file: hwaccel.ml.yml service: cuda 將Google相簿的照片搬家至Immich # 嚴格來說，你沒辦法「線上」搬移Google相簿的照片到Immich，你必須先將Google相簿的照片下載到電腦，才能搬移至Immich。\n參見：如何從Google相簿的照片搬家至Immich\n","date":"2026年1月14日","externalUrl":null,"permalink":"/posts/immich-setup/","section":"所有文章","summary":"「Immich」是一款開源的自架雲端相簿服務，提供網頁及手機APP，協助整理照片。 對不想依賴商業相簿服務的人來說，Immich十分適合部署到NAS或私人伺服器，用於備份與整理照片，使用起來體驗不輸「Google相簿」這類商業相簿服務，可做為Google相簿替代品。\n以下是Immich的圖示。開發者alextran1502說很喜歡日本文化，Immich的圖示即修改自日本戰國時期的織田家家徽，他還景仰吉川英治《新書太閤記》中豐臣秀吉的精神。 在這篇文章中，Ivon將會介紹Immich的安裝方式，還有上傳照片的整理技巧。\n1. Immich特色功能 # 首先先介紹Immich的優點。\nIvon用下來，覺得Immich功能做得很像Google相簿，繼承Google相簿簡單的特色，該有的功能都有：讀取Exif、公開共享相簿、回憶集錦（歷史上的今天）、臉部辨識、定時備份、支援中文界面等等。\n網頁界面的操作邏輯很像Google相簿，拖動右邊的軸線檢視照片時間軸。即使照片很多捲動依然流暢。 點選照片後查看相機、地點資訊，你可以在資訊描述寫註解，方便日後用Immich搜尋文本。 ","title":"Immich相簿架設與使用，界面長得最像Google相簿的照片管理軟體","type":"posts"},{"content":"","date":"2026年1月14日","externalUrl":null,"permalink":"/tags/photo-gallery/","section":"標籤","summary":"","title":"Photo Gallery","type":"tags"},{"content":"","date":"2026年1月13日","externalUrl":null,"permalink":"/ja-jp/tags/gnu-project/","section":"Tags","summary":"","title":"GNU Project","type":"tags"},{"content":" Free Software Extremism isn’t Far Enough. ← このタイトルが良すぎたので、そのまま拝借した。\nなぜLinuxを筆頭とする自由ソフトウェアを使うのか？Well、この議題については多くの人が高説を述べている。\nだが、もしあなたが何もかも自由でオープンソースであることを追求するなら\u0026hellip;\n一歩も進めなくなる。\nこれは、Android \u0026amp; Linuxに触れたあと、オープンソース信仰を奉じるユーザーが陥りやすい誤区である。\n過激主義と呼ぶのは、ひたすら偏執的に突き詰め、妥協を拒むからだ。「オープンソース・チワワ」、あるいは「オープンソースに取り憑かれた人」となり、あちこちでWindowsやmacOSユーザーに改心してLinuxを使えと「教育」する。\nそうして自分自身をイデオロギーの袋小路へ追い込んでしまう。\n注記：本文で使う自由ソフトウェアという語は、多くの場合、オープンソースソフトウェアの定義も含んでいる。\n赤い薬を飲み込む # このテック初心者 vs テック玄人の図を見れば、最も狂った自由ソフトウェア愛好者がどこまで行けるのかがわかる。私にもかつて右側へスライドしていった経験があるが、さまざまな要因により、結局は最も極端な状態には到達しなかった。人間には結局限界があるのだと悟ったので、現在の状態は2～3の間である。 別の狂った宇宙では、プロプライエタリソフトウェアを作ったジョブズとビル・ゲイツは二人とも刑務所行きである。出典：Luke Smith - Free Software Extremism isn\u0026rsquo;t Far Enough. Free Software Foundationのいくつかの「檄文」から自由ソフトウェア世界へ入門し、Github経由でオープンソース文化を知っただけではない場合、この観念に洗脳されやすい。自由ソフトウェア主義者の信奉者になるのだ。わからない？ここに中国語翻訳版がいくつかある。語気は非常に強烈だ：GNU專案的理念思想 その中で最も重要なのは四つの自由である：\n自由その0：いかなる目的のためにもプログラムを実行する自由。\n自由その1：プログラムがどのように動作するかを研究し、プログラムを自分の需要に合うよう改変する自由。ソースコードへのアクセスは、この自由を実現するための前提条件である。\n自由その2：あなたの隣人を助けるため、プログラムを再配布する自由。\n自由その3：プログラムを改良し、その改良をコミュニティへ還元し、コミュニティ全体がそれによって利益を得られるようにする自由。ソースコードへのアクセスは、この自由を実現するための前提条件である。\nこれはまるで《共產黨宣言》を読んでいるかのようで、強烈な扇動力を持っている。さらに共有の精神を強調するため、これを共産主義だと思い込みやすい。しかし自由ソフトウェアは共産主義ではない。私は以前この記事で論じたことがある。\n自由ソフトウェア主義者の信奉者は、自由なソフトウェアへのこだわりは道徳規範にかなった行為だと考える。そのため、彼らは徐々に身の回りのものからデトックスを始める。上から下まで、絶対的な「自由」を追求するようになる。赤い薬（red pill）を飲み込み、世界の真相を少しずつ理解していく。\nコンピューターをいじる場合、まずはコンピューターで使うオペレーティングシステムの置き換えから始めるだろう。好きなLinuxディストリビューションを一つ選び、同調圧力でUbuntuを使うか、格好つけてArch Linuxを使う。そして開源軟體的授權差異 - OCFを深く研究するにつれ、オープンソースで、ユーザーの自由を尊重する解決策だけを使うことにこだわり始める。たとえばChromeからFirefoxへ切り替える。\nあなたは、いかなるプロプライエタリソフトウェアにも依存してはならないと知る。ゲームはオープンソースのものを遊ばなければならず、ファイル形式は特許のない.odt、.ogg、.webm、.avif、.xcfを使うべきだと考える。電子メールに加えて、信頼できる人に署名してもらうためのGPG Keyも提供する。使用するソフトウェアライセンスはすべてGPLで定められるべきで、MIT、BSD、Apache、WTFPLなどは端へ寄れ、彼らは「自由を保護する」には不十分だ。\nあなたは大企業クラウドサービスの圍牆花園から逃れたいと思い、self-hostedなものを始める。NextcloudからGoogle一式を再現し始めるのだ。\nそして手足は徐々にハードウェアの底層へ伸びていく。あなたはLinuxカーネルの中にnon-free firmware blobが多すぎることを知る。だからlinux-libre核心へ置き換え、それらをすべて追放しなければならない。これはその後のハードウェア購入の好みにも影響し、特殊なドライバーなしで使えるネットワークカード、グラフィックカード、プリンターなどを選ぶようになる。 この時点であなたは、Linuxを「GNU/Linux」と呼ぶことにこだわり始める。自由ソフトウェア（Free Software）の精神はオープンソースソフトウェア（Open Source）より重要だと強調する。すでに道徳的潔癖を身につけている。自由ソフトウェアを尊重すると自称しながら、プロプライエタリソフトウェアを収録しているDebianやFedoraを含む主流ディストリビューションでは、もうあなたを満足させられない。そこでFSF認可の道徳的なGNU/Linuxディストリビューションを使うことを決め、プロプライエタリソフトウェアやプロプライエタリファームウェアを含むいかなるオペレーティングシステムも拒否する。\n最後の最後に、あなたはマザーボードのブートプログラムをCorebootへ置き換える。そしてその後購入するコンピューターは、必ずCoreboot対応の旧型Thinkpadになる。\nSystemdは悪すぎる。RedHatがLinux世界を統一する陰謀であり、「init freedom」を堅持するLinuxディストリビューションを使わなければならない。もしGNU/Linuxがあなたを満足させられないなら、FreeBSDを使うか、TempleOSのようなプロジェクトを見つけ、自分のオペレーティングシステム開発に着手するかもしれない。\n自由ソフトウェアの概念をスマホへ拡張すると、あなたは徐々にDegoogleされたスマホを追求し、F-Droidのオープンソースソフトウェアだけを使うようになる。ROM焼きとRootによって、完全に自由なLineageOSシステムを手に入れる。さらには、Ubuntu touchやpostmarketOSのような、本物のスマホLinuxシステムを研究し始める。そしてニッチなメーカーのスマホを買い、Linuxを焼くために金を払う。\nここまで来ると、自由ソフトウェアに対する態度は一種の宗教信仰になる。反対意見に対しては偏執的に反対し続け、妥協しない。オープンソース・チワワになり、あちこちで他人に自由ソフトウェアを使えと「教育」する。\nたとえ障害に遭遇しても、あなたは自分にこう洗脳する。自由ソフトウェア路線を堅持すること自体が、神聖な苦行僧の行為なのだと。もし実用主義的な考慮にもとづき、常人が使うこうしたものを排斥しなくなったら、私は一種の存在価値を失ってしまう。俗世の人々が追い求めるものへ堕ちてしまう！そんなのいやだ！\n名人観察 # オープンソースコミュニティは国際的な巨大コミュニティであり、すべての例を挙げるのは難しい。だから、二人の巨頭を例に見てみよう。\nGNU運動、FSF基金会の創始者として、Richard Stallmanは自ら模範を示していると言える。 2023年のRichard Stallman\nRichard Stallmanが自身のサイトで述べているやり方How I do my Computingから、その一端をうかがえる。上から下まで、ソフトウェアからハードウェア、さらにはウェブページまで、すべて自由ソフトウェアでなければならない。\n彼はThinkPadを使い、自由なブートファームウェアGNU Bootを搭載し、ディストリビューションには完全に自由なTrisquel GNU/Linuxを選ぶ（彼はディストリビューションに特別な好みはないと強調している）。ウェブ閲覧時にはLibreJSを使って、オープンソースでないJavaScriptをすべてフィルタリングする。プロプライエタリソフトウェアだらけのスマートフォンは使わない。\n時には、Richard Stallmanは講演会場のプロジェクターがプロプライエタリファームウェアを実行しているという理由で、その使用を拒否する。\nああ、彼はGNU計画の元老ではないのか、なぜGNU/Hurdシステムを使わないのかって？うう、やめて\u0026hellip;それ以上言わないで。\nRichard Stallmanと比べると、Linuxカーネルの創始者Linus Torvaldsは実用主義者だと言える。彼は誰かがLinuxを使ってくれればそれでよく、必ず完全な自由ソフトウェアでなければならないとはそこまでこだわらない。 2025年のLinus Torvalds\n彼は仕事が忙しすぎて、自分の使用状況について文章を書く時間がないのかもしれない。私たちはいくつかの報道の断片から推測するしかない。\nこのPhoronix報導によれば、2020年以降、彼のメインPC構成はAMD ThreadripperとFedoraの組み合わせである。\nスマホは、当然Androidを選ぶだろう。彼はSamsung Galaxyを使ったことがある。2025年にもう一人のLinusと一緒に動画を撮ったとき、手に持っていたのはGoogle Pixelのようだった。\n彼は批判したことがある。多くのLinuxディストリビューションのメンテナーは、更新後にbreak userspaceするのが好きすぎる、と。\n彼はこの動画でDebianが好きではないと言ったことがある。インストールが難しすぎるからだ。Fedoraを選ぶのは、おそらく最新バージョンのソフトウェアについていけるからだろう。\n2022年、ARM64アーキテクチャのLinuxカーネルを開発するため、彼はApple Siliconチップ搭載のMacbookを使い始めた。これは、彼がこの種のプロプライエタリソフトウェア専門企業をまったく排斥していないことを示している。彼らが協力する気さえあればよいのだ。\n2025年、Linusはもう一人のLinusと一緒にIntelグラフィックカード搭載の新しいパソコンを組んだ（どうせNvidiaなんか見向きもしない、中指）。彼が心の広い人であることがわかる。\n自由ソフトウェアライセンスに対する態度として、Linus TorvaldsはLinux KernelをGPL 2.0からGPL 3.0へ更新することに反対している。当時Richard StallmanとFSFがGPL 3.0を提案した理由は、大企業によるオープンソースソフトウェアの濫用、つまり表向きはオープンソースだが自由に改変できないソフトウェアの公開を抑止するためだった。Tivoization現象を参照。そのため新版のGPLライセンスには、抜け穴を防ぎ、自由ソフトウェアが奪われないよう保護するため、より多くの制限条項が追加された。しかしLinus Torvaldsは、「私はあなたにソフトウェアを与える。あなたはそれを使って、自分がしたいことを何でもしてよい。もし何らかの改良をしたなら、それを私に返す必要がある」という原則さえ保てばよいと考えている。\n彼はおそらく、Linuxに厳しすぎる制限を課すと、より多くの企業が二の足を踏み、Linuxを使えなくなると考えているのだろう。\nIt\u0026rsquo;s a dead end、現実的になろう # 漫画《少女終末旅行》最終巻の結末のように、二人は終末世界で長いあいだ希望を追い求め、世界の頂上まで登った末に、そこには何もないと知る。 実務上、完全な自由ソフトウェアを達成することはそもそも不可能だ。たとえあなたが超一流のプログラマーであっても、プロプライエタリソフトウェアを完全に捨てることはできない。\n自由ソフトウェアには、他人がコンピューターを使う自由を制限することまで含まれるべきではない。自分が使いやすいと思うものを使えばよく、道徳的罪悪感を覚える必要はない。あなたは依然として自由ソフトウェアを愛し、適切な時機に自由でオープンソースな解決策へ移行すればよい。\n私たちの世界にはRichard Stallmanのような先駆者が必要だ。しかし、あなたがそれに続いて激烈な殉道者になる必要はない。\n他人に自由ソフトウェアの使用を説得するときは、宗教的教条を復唱するだけでなく、もっと実用的な理由を提示すべきだ。\n私自身のように、今でもLinuxシステムを好んで使ってはいるが、たまにWindowsやmacOSを起動して遊ぶことは排斥しない。常用ソフトウェアの選択において、私はさまざまな可能な解決策を研究するのは大歓迎だが、それが目的地へ到達することを妨げてはならない。\n小を学びて大を遺す、吾いまだ其の明なるを見ざるなり。\nスマホ方面では、全面的なdegoogle化は本当に難しい。たとえばAndroidスマホにGMSサービスをインストールしないと、自分を進退両難の状況へ追い込むことになる。ProtonがTheart modelを解説する記事を参考にし、その理論を適用して、どうすれば現実的にdegoogleしつつ、paranoidな境地へ陥らずに済むかを分析できるのではないか。たとえば、メインのE-mailにGmailを使わないところから始めればよい。リスク回避方法を設定し、ゆっくりGoogleエコシステムから離脱する。\n極端に一刀両断してはならない。\n自由ソフトウェアとプロプライエタリソフトウェアは、必ずしも水と火のように相容れない状態ではない。他者とは世間であり、地獄ではないと認識することだ。\n","date":"2026年1月13日","externalUrl":null,"permalink":"/ja-jp/posts/free-software-extremism/","section":"Foss-Issues","summary":" Free Software Extremism isn’t Far Enough. ← このタイトルが良すぎたので、そのまま拝借した。\nなぜLinuxを筆頭とする自由ソフトウェアを使うのか？Well、この議題については多くの人が高説を述べている。\nだが、もしあなたが何もかも自由でオープンソースであることを追求するなら…\n一歩も進めなくなる。\nこれは、Android \u0026 Linuxに触れたあと、オープンソース信仰を奉じるユーザーが陥りやすい誤区である。\n過激主義と呼ぶのは、ひたすら偏執的に突き詰め、妥協を拒むからだ。「オープンソース・チワワ」、あるいは「オープンソースに取り憑かれた人」となり、あちこちでWindowsやmacOSユーザーに改心してLinuxを使えと「教育」する。\nそうして自分自身をイデオロギーの袋小路へ追い込んでしまう。\n注記：本文で使う自由ソフトウェアという語は、多くの場合、オープンソースソフトウェアの定義も含んでいる。\n赤い薬を飲み込む # このテック初心者 vs テック玄人の図を見れば、最も狂った自由ソフトウェア愛好者がどこまで行けるのかがわかる。私にもかつて右側へスライドしていった経験があるが、さまざまな要因により、結局は最も極端な状態には到達しなかった。人間には結局限界があるのだと悟ったので、現在の状態は2～3の間である。 ","title":"自由ソフトウェア過激主義、もし何もかもオープンソースにこだわるなら...","type":"foss-issues"},{"content":"","date":"2026年1月12日","externalUrl":null,"permalink":"/tags/anti-china/","section":"標籤","summary":"","title":"Anti-China","type":"tags"},{"content":"我的網站有一些討論到反中情緒的文章，裡面包括反華、支黑、去中化的內容，英文採用\u0026quot;Anti-China\u0026quot;，不過我在想是不是改成\u0026quot;Sinophobia\u0026quot;比較好呢，意為對中恐懼症。\n我看Reddit洋大人在討論浪人神友的社區的時候用過這個詞洋大人討論sinophobia：WTF is up with the kanagawawave subreddit? - r/SinophobiaWatch\n他們無法理解中國怎麼會有一群瘋狂自恨的人。裡面一個評論說得好：「看到這些支黑sub自我否定的言論，你就會知道為什麼文化大革命會成功了。」。這群人真的一幫蛆，逆向粉紅。這比\u0026quot;Islamophobia\u0026quot;還誇張。因為有些人對中國這個國家的反感，已經是一種精神上的疾病了，就是沒來由的厭惡，就像看到蟑螂一樣，然後再刻意找中國的黑料來強化自己的不合理偏見，甚至有台灣人搞出美國極右派的種族主義來了，認為「我是善良的艾爾迪亞人」。\n明明兩岸一家支的劇本天天在上演。\n但是用Sinophobia的話，又難以區分「反中」到底是在反什麼，是國家、政府、人民、政治、文化，哪一個？這個反中是否包含中華人民共和國還是中華民國，或是受到儒家文化影響的窪地你都要反？還是，跟支語警察一樣，自由心證，我看不順眼的跟中國沾上邊的都反？\n要反中可以，先確立目標，不要變成章家敦或者劉仲敬這種人，他們都預言中國會馬上完蛋，結果呢。\n","date":"2026年1月12日","externalUrl":null,"permalink":"/posts/anti-china-and-sinophobia/","section":"Politics","summary":"我的網站有一些討論到反中情緒的文章，裡面包括反華、支黑、去中化的內容，英文採用\"Anti-China\"，不過我在想是不是改成\"Sinophobia\"比較好呢，意為對中恐懼症。\n我看Reddit洋大人在討論浪人神友的社區的時候用過這個詞洋大人討論sinophobia：WTF is up with the kanagawawave subreddit? - r/SinophobiaWatch\n他們無法理解中國怎麼會有一群瘋狂自恨的人。裡面一個評論說得好：「看到這些支黑sub自我否定的言論，你就會知道為什麼文化大革命會成功了。」。這群人真的一幫蛆，逆向粉紅。這比\"Islamophobia\"還誇張。因為有些人對中國這個國家的反感，已經是一種精神上的疾病了，就是沒來由的厭惡，就像看到蟑螂一樣，然後再刻意找中國的黑料來強化自己的不合理偏見，甚至有台灣人搞出美國極右派的種族主義來了，認為「我是善良的艾爾迪亞人」。\n明明兩岸一家支的劇本天天在上演。\n但是用Sinophobia的話，又難以區分「反中」到底是在反什麼，是國家、政府、人民、政治、文化，哪一個？這個反中是否包含中華人民共和國還是中華民國，或是受到儒家文化影響的窪地你都要反？還是，跟支語警察一樣，自由心證，我看不順眼的跟中國沾上邊的都反？\n","title":"Anti-China與Sinophobia，反華與恐中症","type":"politic"},{"content":"麻了，Root讓人失望，經過2016~2026的艱難探索，多次Root後又刷回原廠，受自由軟體精神影響決定刷LineageOS，結果在今年回到normie的Android世界了。\nDuran Duran - Ordinary World: I don’t cry for yesterday day, there’s an ordinary world. I will learn to survive.\n最近，主力機Xperia 10 V的LineageOS 太不穩定，一下錄影有問題一下Youtube黑螢幕，於是刷回基本上停止更新的原廠Android 15，搭配APatch root的使用模式。可是也許是舊版5.10核心問題，或是APatch的鍋，手機會隨機重開機…唉，加上Play Integrity Fix最近又又又失效了，許多重要APP無法用，包括ChatGPT，種種問題讓我鎖上Bootloader放棄思考了。\n畢竟我root只想刷一、Dolby Atmos音效。二、Adaway系統層級擋廣告。三、刷Scene vtools提昇效能而已…其實沒有也沒差，RootlessJamesDSP就能替代，擋廣告部份因為我主要都用瀏覽器看社群網站，所以用Brave瀏覽器層級的擋廣告就夠了。至於效能沒救頂多用「停用硬體加速圖層」稍微補救一下。\n現在有Shizuku這種神器出來，其實也一定程度消滅了Root的必要性。\n放棄Root之後，我開始接觸正經地行動支付還有條碼載具。\n過去我在超商遇到條碼師的時候都是堅持付現的，沒有使用任何數位科技。\n摩登原始人在此，行動支付已經出來很多年了我卻今年才開始認知到：幹這可以用來買車票和吃麥當勞ㄟ，為啥我還要一直掏印有屏東大學學生證的一卡通出來…因為他們的設計比高師大的一卡通要酷多了？即使畢業了還是很潮。 不論是NFC還是掃描條碼，現代手機都應該能夠完成行動支付的任務。但正是這種與「錢」相關的服務，抓Root就會抓得特別嚴。\n大概是這幾年來的Root習慣無形中阻礙了我，在我最近放棄自由Root主義的道路之後，才能真正「放心」的跟「正常人」一樣使用行動支付，主要是Google Pay。不會因為Play Integrity哪天又莫名炸掉而心驚膽跳。\n我每幾個月就要更新一次隱藏Root與通過Play Integrity教學，心hen累。\n我已經不會解鎖Bootloader了，放過我吧，不要連開發人員選項都要偵測！\n刷機和Root的實驗就在備用機Xperia 1 III上操作就好。\n","date":"2026年1月12日","externalUrl":null,"permalink":"/posts/giving-up-rooting-android-phones-in-2026/","section":"所有文章","summary":"麻了，Root讓人失望，經過2016~2026的艱難探索，多次Root後又刷回原廠，受自由軟體精神影響決定刷LineageOS，結果在今年回到normie的Android世界了。\nDuran Duran - Ordinary World: I don’t cry for yesterday day, there’s an ordinary world. I will learn to survive.\n最近，主力機Xperia 10 V的LineageOS 太不穩定，一下錄影有問題一下Youtube黑螢幕，於是刷回基本上停止更新的原廠Android 15，搭配APatch root的使用模式。可是也許是舊版5.10核心問題，或是APatch的鍋，手機會隨機重開機…唉，加上Play Integrity Fix最近又又又失效了，許多重要APP無法用，包括ChatGPT，種種問題讓我鎖上Bootloader放棄思考了。\n畢竟我root只想刷一、Dolby Atmos音效。二、Adaway系統層級擋廣告。三、刷Scene vtools提昇效能而已…其實沒有也沒差，RootlessJamesDSP就能替代，擋廣告部份因為我主要都用瀏覽器看社群網站，所以用Brave瀏覽器層級的擋廣告就夠了。至於效能沒救頂多用「停用硬體加速圖層」稍微補救一下。\n現在有Shizuku這種神器出來，其實也一定程度消滅了Root的必要性。\n放棄Root之後，我開始接觸正經地行動支付還有條碼載具。\n","title":"再次放棄Root，才知道行動支付這麼好用","type":"posts"},{"content":"","date":"2026年1月9日","externalUrl":null,"permalink":"/tags/china/","section":"標籤","summary":"","title":"China","type":"tags"},{"content":"","date":"2026年1月9日","externalUrl":null,"permalink":"/tags/taiwan/","section":"標籤","summary":"","title":"Taiwan","type":"tags"},{"content":"以前我看到軟體「選擇國家」的選單寫\u0026quot;Taiwan, province of China\u0026quot; ，將台灣列為「中國台灣」心裡還會膈應一下。\n知乎的登入選單 後來我習得了中國人的傳統藝能：精神勝利法，便覺得沒什麼了，一笑置之。\n中共總喜歡意淫實際上沒統治過的台灣省，明明一方面沒統一，另一方面也沒膽獨立，那麼我只要跟著意淫中國台灣指的是中華民國台灣省就好了。你知、我知、嗰個單眼佬都知。\n兩岸是特殊的國與國關係，雖然對岸不承認我國是國家，因此兩岸得用對主權裝死的方式才有辦法溝通。就連美國也是不支持兩國論，又反對中共對台動武的。九二共識就是雙方都有自己對中國指的是哪個中國的認定，但我們心照不宣。這個默契一旦被明面打破就GG了，一方急了事情就壞了，於是乎現在變成了習包子連中華民國都要否定掉，而賴皮寮說自己已經是獨立國家，叫中華民國台灣。 順著這個思維的話，可知兩岸都是中國人！台灣不是國家名稱！你會覺得難以接受，是因為你被台獨思想洗禮（講洗腦太過分了，中國人與台灣人可不都是不會思考的韭菜，是蘆葦！），認為國家應該叫台灣（但其實是地名），而非中國（中華民國），認為把台灣跟中國放在一起是矮化主權，然後玻璃心就碎了。\n此時小粉綠會開始出征，瘋狂對個人或一間企業哈氣，要求改正。 嗯嗯，小粉紅看到某企業把台灣標注為國家，也會出征哈氣呢。這個時候就是看誰卡大聲誰就贏。 嗯嗯，被叫中國台灣你會不爽，叫日本台灣府或者美國台灣州或者清領台灣省比較光榮是吧，戀殖癖是可以雙重標準的。不管外面叫什麼名字，不改我們「現狀」是中華民國國民，台灣人的內在。\n「國家主權不容侵犯」？改個名字吃你大米了？把國家看得比個人自由存在重要的，都是傻逼。兩岸的哈基米整天在乎這些有的沒的煩不煩啊。一些人提到自己的國家名字不合己意，就會比死了媽還難過。\n順帶一提，\u0026ldquo;Taiwan (Province of China)\u0026ldquo;是ISO 3166-2定義的標準名稱，我國嘗試跟瑞士抗議無果（參見：其實，TWN代表的是……：ISO組織及國家編碼的小故事 - 菜市場政治學，能成功才有鬼），一直沿用到現在，如果英語系軟體作者不諳中文直接沿用的話也不能怪他們。\nISO官網的中國台灣 如果說，企業不管怎麼寫都會傷害到某一方（小粉紅＆小粉綠）玻璃心，那麼將「選擇國家」的選單改成「選擇國家或地區」會比較能實現戰略模糊。 這樣的話，就算直接寫「Taiwan」，也不會認為是專指國家。\n只有大陸軟體依然很愛強調「中國台灣」「中國香港」的意淫。後者是沒啥爭議，畢竟香港主權是真的回歸了，中共政府治理這個地方。可是越是講中國台灣，越是體現他們想當渣男調戲良家婦女的模樣。一邊說我們是一家人又瘋狂軍演。軟硬兼施，只會把台灣人民越推越遠。\n「中華民國是我們的國，台灣是我們的家，中華文化是我們的根，自由民主是我們的寶。」\n被罷免的前市長，現任立法院長，韓國瑜所說的這句話，我認為最能總結現狀。\n","date":"2026年1月9日","externalUrl":null,"permalink":"/posts/2026010901/","section":"Politics","summary":"以前我看到軟體「選擇國家」的選單寫\"Taiwan, province of China\" ，將台灣列為「中國台灣」心裡還會膈應一下。\n知乎的登入選單 後來我習得了中國人的傳統藝能：精神勝利法，便覺得沒什麼了，一笑置之。\n中共總喜歡意淫實際上沒統治過的台灣省，明明一方面沒統一，另一方面也沒膽獨立，那麼我只要跟著意淫中國台灣指的是中華民國台灣省就好了。你知、我知、嗰個單眼佬都知。\n兩岸是特殊的國與國關係，雖然對岸不承認我國是國家，因此兩岸得用對主權裝死的方式才有辦法溝通。就連美國也是不支持兩國論，又反對中共對台動武的。九二共識就是雙方都有自己對中國指的是哪個中國的認定，但我們心照不宣。這個默契一旦被明面打破就GG了，一方急了事情就壞了，於是乎現在變成了習包子連中華民國都要否定掉，而賴皮寮說自己已經是獨立國家，叫中華民國台灣。 順著這個思維的話，可知兩岸都是中國人！台灣不是國家名稱！你會覺得難以接受，是因為你被台獨思想洗禮（講洗腦太過分了，中國人與台灣人可不都是不會思考的韭菜，是蘆葦！），認為國家應該叫台灣（但其實是地名），而非中國（中華民國），認為把台灣跟中國放在一起是矮化主權，然後玻璃心就碎了。\n此時小粉綠會開始出征，瘋狂對個人或一間企業哈氣，要求改正。 ","title":"何必對「中國台灣」哈氣","type":"politic"},{"content":"Scene是一款調整Android手機效能的工具，被中國酷安玩家稱作為搞機必備軟體。 最近在善心人士的推薦下認識了這款APP。這邊附上Ivon實際測試使用這個工具的效果。 Scene主要功能 # 一鍵切換省電模式、均衡模式、極速模式，在必要時釋放性能，不需要的時候延長續航 有動態響應模式，根據目前執行的APP切換到適當的效能模式 啟動APP後執行停用螢幕旋轉、關閉自動亮度的自動化操作 懸浮窗顯示手機CPU使用率、FPS、溫度、行程 錄製一段時間內遊戲的FPS幀率變化 關閉CPU核心，綁定CPU大核執行，調整CPU頻率 建立SWAP，調整zRAM大小，增加可用RAM 凍結背景APP執行 紀錄充電時間，統計耗電歷史 旁路充電 修改機型 安裝APK的時候自動同意安裝，自動同意權限 自動點擊跳過廣告 強制執行dex2oat提昇APP流暢度 提供一個Magisk模塊界面，使用者可以在裡面寫開機要執行的指令稿 我主要要討論的是Scene的省電模式、均衡模式、極速模式。\nScene使用了一部分Uperf（YC調度）的功能，可以視為Uperf的前端，針對使用者在螢幕上的操作調整系統sysfs參數避免卡頓。關於Uperf怎麼優化系統的原理參閱Github：Uperf，一个Android用户态性能控制器，实现大部分内核态升频功能，并支持更多情景识别。\n你不需要安裝Scene APP也能使用Uperf，但就變成要用Termux打指令才能修改Uperf的性能模式了。\n下載Scene APK # Scene支援高通、聯發科、Tensor處理器的手機，最主要是看Uperf作者有沒有適配。\n支援Root與非Root模式。\n顯示性能監測懸浮窗不需要Root權限。\n非Root模式透過Shizuku調用ADB權限就可以調整部份系統參數，不過建議還是有Root權限比較方便！尤其這篇文章我要用到Uperf，必須要有Root權限才能用。請先用Magisk或KernelSU或APatch取得Root權限。\nScene的作者是嘟嘟Ski，可以到官網下載APK。\n不知道為什麼官網被Google判定為含有惡意軟體。需要手動複製網址貼上才可以打開：http://vtools.omarea.com\n僅舊版Scene v4是有開源放在Github的，使用上無限制。這個版本需要手動安裝Uperf模組才可以調整性能模式。\n最新版Scene v9沒有公開原始碼，而且需要花4.5美元付費購買專業版才能使用Root模式的完整功能。第一次開啟會有15天試用期。\n初始化 # Scene在安裝後會將Android系統的溫控停用。請注意有沒有使用其他的性能優化APP，免得衝突。Scene與Uperf應該是分開獨立運作的。兩者不要同時啟用。\n開啟時選取要使用的模式。因為我有Root，就用Root模式授予權限。 在調節 → Scene HP點選開啟「均衡模式」，然後重開機 Scene在開機後會自己啟動。\n顯示在狀態欄的通知是方便你切換目前APP要使用的模式的。不過如果你偏好使用全域模式，不想個別設定，就長按關閉這類通知。 Scene的「應用策略」頁面支援依照目前執行的APP，動態切換到性能模式，退出遊戲後切回極速模式。我個人是偏好一鍵全域切換開關啦 在設定裡面可以將手機桌布設定為APP背景。\nScene玩遊戲效果實測 # 我在兩部裝置測試，他們各自擁有一個殘念屬性：\nSony Xperia 10 V，處理器SD695，低效能長續航 Sony Xperia 1 III，處理器SD888，高效能短續航 我發現Scene對高耗電高效能的裝置提昇比較有感。\nScene的動態調整模式，讓原本隨便滑一下網頁都很耗電的SD888裝置提昇了續航力，又不會在玩遊戲的時候卡成狗。\nAccuBattery。沒開之前的續航力預估是5小時 開了均衡模式之後上升到6小時。在鎖定螢幕之後功耗會更加降低。 從性能監測器的視窗來看，Scene的均衡模式與極速模式，在玩大型遊戲《絕區零》的時候FPS變化不大。一部分也是因為SD888效能本來就夠了。最主要是GPU利用率會在開啟極速模式後會上升比較多 看一下FPS統計，極速模式下玩遊戲FPS相對穩定些 但是，對性能低落卻長續航的SD695裝置來說，Scene的極速模式似乎沒啥屁用。\n這支續航力本來就有8小時以上，均衡模式下，續航是可以更變態的延長啦。可是在玩大型遊戲《絕區零》的時候開極速模式FPS變化不多，一直都在30左右。看來好調度也救不了先天體質不良。\n有些人宣傳Scene能夠提昇手機效能達100%，言過其實。Scene這個APP不會神奇地將FPS加倍，而是降低隨機卡頓的機率而已吧。\n","date":"2026年1月9日","externalUrl":null,"permalink":"/posts/scene-vtools-app/","section":"所有文章","summary":"Scene是一款調整Android手機效能的工具，被中國酷安玩家稱作為搞機必備軟體。 最近在善心人士的推薦下認識了這款APP。這邊附上Ivon實際測試使用這個工具的效果。 Scene主要功能 # 一鍵切換省電模式、均衡模式、極速模式，在必要時釋放性能，不需要的時候延長續航 有動態響應模式，根據目前執行的APP切換到適當的效能模式 啟動APP後執行停用螢幕旋轉、關閉自動亮度的自動化操作 懸浮窗顯示手機CPU使用率、FPS、溫度、行程 錄製一段時間內遊戲的FPS幀率變化 關閉CPU核心，綁定CPU大核執行，調整CPU頻率 建立SWAP，調整zRAM大小，增加可用RAM 凍結背景APP執行 紀錄充電時間，統計耗電歷史 旁路充電 修改機型 安裝APK的時候自動同意安裝，自動同意權限 自動點擊跳過廣告 強制執行dex2oat提昇APP流暢度 提供一個Magisk模塊界面，使用者可以在裡面寫開機要執行的指令稿 我主要要討論的是Scene的省電模式、均衡模式、極速模式。\nScene使用了一部分Uperf（YC調度）的功能，可以視為Uperf的前端，針對使用者在螢幕上的操作調整系統sysfs參數避免卡頓。關於Uperf怎麼優化系統的原理參閱Github：Uperf，一个Android用户态性能控制器，实现大部分内核态升频功能，并支持更多情景识别。\n","title":"Scene工具箱 + Uperf使用評價，提昇Android手機遊戲效能、續航省電、紀錄FPS變化","type":"posts"},{"content":"從2022年到去年底為止，我是跟Google宣戰的狀態，可是今年，我投降了。\n離脫Google 已經是不可能的。謂之degoogle的聖戰已然失敗。\n想想這些你很難脫離的Google服務：Google搜尋、Youtube、Youtube Music、Gmail、Google文件、Google相簿、Google地圖。 過去我是想說就算無法完全脫離邪惡Google服務，也絕對不要給Google賺一分錢，絕對不付費，要羊毛薅到底。現在我開始懂得什麼是使用者付費的規則，並開始給Google唱起贊歌來了。\n戰爭 # 反Google卻脫離不了Youtube，反抗方式便是竭盡所能的擋廣告了。看看uBlock Origin的戰績吧，一個Youtube網頁如果不重新整理，這個攔截廣告數字會越來越多XD 基於degoogle的意識形態，旗幟鮮明的反對Google的一切。即使我還有在使用也要與其鬥爭到底，批判性地使用。\n將隱私權設定為最高，關閉個人化廣告，設定活動紀錄3個月後自動刪除。是的，這很明顯就是歐盟「遺忘權」的體現。\n\u0026hellip;下場就是沒有Youtube Music Recap可以看。\n我還在Android手機上進行去google化，脫離那些Google功能的誘惑，去用乾淨的LineageOS和GrapheneOS，並一個個地找開源軟體或self-hosted替代掉Google服務，例如Protonmail → Gmail，Nextcloud → Google Drvie，Immich → Google Photo，F-Droid → Google Play，Firefox → Chrome。\n最後是Google相簿，幾年前教育版Google帳號還是無限空間的時候，我習慣把所有東西都往Google雲端丟，包括自己拍的照片和網路上下載的圖片都放到Google相簿，圖的就是一個方便，讓AI幫我自動整理，搜尋想要的圖片不費功夫。但是在Google砍掉教育版無限空間的福利，加上我要degoogle，照片便是全部下載放在自己的NAS保存的了。\n我看向手機的Google相簿——那款許多Android手機都會內建的一個APP，再次發現裡面的好用之處，我可以把常常用到的照片和蒐集到的梗圖都丟上去吧？功能十分好用便利\u0026hellip;可是我不能太依賴它！我明明已經有了自架的Immich了\u0026hellip;可是\u0026hellip;可是！投降吧，就跟Youtube一樣，你怎樣能脫離呢，乖乖適應，然後付費吧。\n這樣的話，你就不再只是個產品。(If you\u0026rsquo;re not paying for the product, you are the product.)\n投降 # 現在我徹底大反轉了，正如我以前憋了一年脫離Facebook結果又回去沈迷一樣～ 蠟筆小新1999電影【爆發!溫泉激烈大決戰】\n總覺得過份地degoogle，會脫離大眾的「現實」。我需要擁抱Google的各種服務，所有個人化（X）監控（O）服務全部開起來，重回Pixel系統～盡情地監控我吧～以Gemini為首的新時代免費AI功能太吸引人，因此我獻出了我的靈魂。並對Reddit r/degoogle那些用戶嗤之以鼻，沒有設定threat model情況下，他們的草根行動怎麼可能成功嘛。\n這些追蹤選項全部都重新打開，才能享受到Google生態系帶來的個人化便利服務。Google目前的隱私政策已經是在被歐盟瘋狂罰錢後調整過的了，你不要再delusion了啦！ 然後即將購買Google的許多服務，預計是Gemini Pro套餐。AI這個現在人生活中最重要的東西，要牢牢地給Google掌控才行。\n最後一個要投降的是Youtube Premium。你可以脫離所有Google產品，但你說離不了Youtube上的內容。\nGoogle很明顯會針對刻意擋廣告的用戶隨機施加一些「懲罰」，他們總有辦法偵測到你在幹壞事，這個時候播放影片就會出問題。\n看Youtube ReVanced和NewPipe播放影片嘗試擋廣告，隨機被Google降下黑螢幕就很煩心，發生的時候只能回退到用Brave看網頁版。\n這樣的話，不如直接買Youtube會員永久去廣告了\u0026hellip;畢竟我Spotify和Apple Music都願意付費了，怎麼Youtube就可以吃白嫖呢？既然還有學生身份就多加利用。\n我不想跨區當土耳其人，那是我以前買Tidal的時候在用的招數。現在我老老實實地用台灣可用的最便宜方案訂閱下去了。 八卦是真的有人在買Premium之後還是用ReVanced看影片的，譬如我親人，說是能夠自訂版面，而非是為了當免費仔。Google在你付費之後，也就不會管你用什麼客戶端了，不會再有黑螢幕情況。\n贊歌 # 買YouTube Premium圖的就是一個方便，除了送YouTube Music Premium之外，還享有YouTube看卡通無廣告的體驗。木棉花和羚邦會不定期將代理的動漫放到YouTube供台灣IP的觀眾觀看。YouTube Premium就自動去掉了廣告，就像巴哈動畫瘋會員一樣。雖然不如巴哈動畫瘋的會員最高有1080p能看，但是720p用來追番也就夠了。此外，YouTube的影片用yt-dlp就能很輕易的批次下載保存，巴哈的要專門去弄m3u8的程式還要擔心抓太兇被封號。\n哇，Youtube Music可以公開你最喜歡聽的音樂給大家看。是自動統計的喔，不用手動建立播放清單。系統還會自動生成一個播放清單，讓其他人能夠直接聽你最近播過的音樂，讓你體會我的演算法推送內容長怎樣。得老實承認，雖然我常說音樂應該要在專門的平台聽，所以我才買Spotify與Apple Music，可是我還是常常貪圖方便在Youtube聽音樂，順便看MV，這樣的娛樂誘惑實在太大了，沒辦法。所以真要說，其實用的最多的聽音樂平台，應當還是Youtube。我不想依賴單一平台統計聆聽紀錄，所以會串last.fm。問題是last.fm無法很好地跟Youtube整合\u0026hellip;它可能會把非音樂專輯的影片也上傳，導致資訊混亂。現在我合法訂閱Youtube Premium了，也就正式體驗了Youtube Music Premium的功能。我將最近聽的歌曲公開在Youtube頻道首頁了。這個功能似乎不用Premium也能用的？它統計的內容應該比較精準，以音樂為主，能反應我的喜好。這可以取代last.fm的功能。雖說同樣能分享聆聽紀錄，我覺得Youtube的社群媒體屬性又比Spotify要高，觸及率更廣。\n當有人說Android都沒有iPhone那麼便利的照片同步功能的時候，Google相簿：你當我塑膠嗎？Google真的獨挑Android跨裝置同步的大樑耶，模仿Apple生態系，搞出了快速分享還有跨裝置服務的功能，由Google免費提供伺服器資源，使用者只要用隱私作為交換即可免費使用。奈何電腦端Google只有自家控制的Chromebook能夠實現互聯，Windows和Linux整合度不好。至於中國Android廠商的「萬物互聯」那是另一套玩法，不評價。\n如果Android手機廠商懶得開發自家相簿程式（例如該死的Sony）Google相簿的設計確實就能成為Android手機相簿一個得體的門面，它集相簿與照片編輯器與雲端同步於一身，版面設計的跟iOS相簿一樣美觀。而且備份照片跨裝置存取十分便利，捨棄資料夾的繁重分類，只要用Google AI幫你自動整理好照片就行囉，使用蠻無腦的。\n最近不小心買到Google One的方案，那就拿來同步一些照片好了。先前我iCloud的用法基本上是暫時同步照片之用，用於同步，或者講串流，照片最終都要上傳到Immich，不會久留，那我想Google相簿應該也是這種用法。不過正是因為Android檔案管理透明的因素，Google相簿我用起來沒那麼直覺啊。假設我沒有全部裝置都開啟備份照片的話，Google相簿還要懂得區分離線下載的照片與同步到雲端的照片，我要想這張編輯過的照片到底有沒有同步上傳。\n此外，雖然Google相簿嘗試淡化Android的目錄結構，可是其他傳統相簿APP和檔案管理器還是讀得到照片的，會出現一堆Google相簿產生的檔案，例如加個點就標記為刪除的照片，這就導致使用體驗上的割裂。啊啊，果然還是像iOS相簿一樣把實作細節全部隱藏你就沒話講了吧，所有操作預設都會同步上雲端，使用起來才會比較自然！\n唉，這種混亂的操作邏輯，我還是看情況才用Google相簿備份照片。需要處理很多檔案的時候，乖乖用MTP傳輸照片到電腦整理ㄅ。我不能太依賴Google相簿。\n底線 # 我現在能堅持住的殘存底線，恐怕就主力電子郵件與重要密碼管理器不能交給Google了。\n喔，還有照片圖庫，因為我會放一些色圖，就算有用優惠價格獲得Google Photo容量的機會我也絕對不會把敏感圖片交上去，免得哪天被FBI拉清單。\n","date":"2026年1月9日","externalUrl":null,"permalink":"/posts/surrender-to-google-ecosystem/","section":"所有文章","summary":"從2022年到去年底為止，我是跟Google宣戰的狀態，可是今年，我投降了。\n離脫Google 已經是不可能的。謂之degoogle的聖戰已然失敗。\n想想這些你很難脫離的Google服務：Google搜尋、Youtube、Youtube Music、Gmail、Google文件、Google相簿、Google地圖。 過去我是想說就算無法完全脫離邪惡Google服務，也絕對不要給Google賺一分錢，絕對不付費，要羊毛薅到底。現在我開始懂得什麼是使用者付費的規則，並開始給Google唱起贊歌來了。\n戰爭 # 反Google卻脫離不了Youtube，反抗方式便是竭盡所能的擋廣告了。看看uBlock Origin的戰績吧，一個Youtube網頁如果不重新整理，這個攔截廣告數字會越來越多XD 基於degoogle的意識形態，旗幟鮮明的反對Google的一切。即使我還有在使用也要與其鬥爭到底，批判性地使用。\n將隱私權設定為最高，關閉個人化廣告，設定活動紀錄3個月後自動刪除。是的，這很明顯就是歐盟「遺忘權」的體現。\n…下場就是沒有Youtube Music Recap可以看。\n","title":"向Google投降，訂閱Youtube Premium擋廣告，取代Youtube ReVanced","type":"posts"},{"content":"有些台派認為說，在護照文件使用威妥瑪拼音可以跟中國人做出區別。可是我不覺得堅持台灣特有的威妥瑪拼音是值得驕傲的事情，這個拼音系統從清朝時候發明，專為英語人士設計，中華民國政權沿用下來，到現在幾乎只剩台灣在使用。\n我想既然政府開放人民自由選擇，依照各人自由喜好，採用跟國際上比較常用的漢語拼音才是潮流吧。えっと，講潮流應該不太對，該說漢語拼音是學術上較常見的用法。自從中共政權發明之後，漢語拼音就成為了世界主流的中文拼音系統。\n以前，我護照和銀行傻傻地用預設拼法，致使我自己要簽文件的時候都拼不出來，十分反直覺。\n反直覺乃是說，在日常生活中很難用威妥瑪拼音輸入中文的管道。要嘛注音，或者漢語拼音打字，幾乎沒有運用威妥瑪拼音的場合，所以看到威妥瑪的拼法就會覺得違反日常用漢語拼音打字的直覺。畢竟我沒什麼國際觀，很少會拿護照出來看。既然要好記，就該用接觸場合較多的漢語拼音。\n你不需要透過使用特定文字證明自己不是中國人，更何況，台灣連國家都不是，那麼敏感可以用舒酸定洗澡。\n因為Linux \u0026amp; Android用過Fcitx5輸入法，已經習慣打漢語拼音這些拼法。威妥碼拼音的發音非英語母語人士表示理解不能。在Meta要匯款給我的時候才發現如此不便，所以就去將銀行名字都改成漢語拼音了。\n補充意見書：\n二戰時，美軍曾使用原住民加密電碼讓日軍難以破譯。American Indian Code Talkers in WW2\n不會吧不會吧，你不會以為堅持講「自己的語言」（笑），例如台語和台灣特有的注音符號，就能在中共入侵的時候當作我軍暗號不被破譯了？ 台語源自閩南語，就算你改稱台灣台語，福建人一樣聽得懂九成的內容。\n除了快消失的我國原住民語以外我還真想不到有哪些是對岸無法理解的。\n","date":"2026年1月8日","externalUrl":null,"permalink":"/posts/2026010802/","section":"Politics","summary":"有些台派認為說，在護照文件使用威妥瑪拼音可以跟中國人做出區別。可是我不覺得堅持台灣特有的威妥瑪拼音是值得驕傲的事情，這個拼音系統從清朝時候發明，專為英語人士設計，中華民國政權沿用下來，到現在幾乎只剩台灣在使用。\n我想既然政府開放人民自由選擇，依照各人自由喜好，採用跟國際上比較常用的漢語拼音才是潮流吧。えっと，講潮流應該不太對，該說漢語拼音是學術上較常見的用法。自從中共政權發明之後，漢語拼音就成為了世界主流的中文拼音系統。\n以前，我護照和銀行傻傻地用預設拼法，致使我自己要簽文件的時候都拼不出來，十分反直覺。\n反直覺乃是說，在日常生活中很難用威妥瑪拼音輸入中文的管道。要嘛注音，或者漢語拼音打字，幾乎沒有運用威妥瑪拼音的場合，所以看到威妥瑪的拼法就會覺得違反日常用漢語拼音打字的直覺。畢竟我沒什麼國際觀，很少會拿護照出來看。既然要好記，就該用接觸場合較多的漢語拼音。\n你不需要透過使用特定文字證明自己不是中國人，更何況，台灣連國家都不是，那麼敏感可以用舒酸定洗澡。\n因為Linux \u0026 Android用過Fcitx5輸入法，已經習慣打漢語拼音這些拼法。威妥碼拼音的發音非英語母語人士表示理解不能。在Meta要匯款給我的時候才發現如此不便，所以就去將銀行名字都改成漢語拼音了。\n","title":"該用威妥瑪拼音還是漢語拼音寫我的名字","type":"politic"},{"content":"這是什麼地獄笑話。\n之前談過得了空虛病，因此我不自覺，或者說故意的，在試卷上透漏我的想法了。\n不該在期末考卷的學期心得回饋欄位寫我想自殺的，結果教授居然濫用權限查學生名冊，親自打來關心我\u0026hellip;不是，她跟我說她也想自殺，明明她負責的課程是輔導教育知能。\n上了年紀的已婚老女人還有這種情緒困擾真是難為她了，過去幾年被誤診住入精神病房，又吃了副作用很強的抗精神病的藥，難怪復職後上課都有氣無力的。因為打電話來太突然我沒有很注意她說了什麼，只是默默聽她說，然後運用她教的心理輔導技巧給與回饋。\n聽到她說認同我所寫的Viktor Emil Frankl在《活出意義來》一書所說的「知道為什麼為活的人，幾乎能忍受任何痛苦。」我很是高興。還有，公共心理諮商確實是很值得利用的資源。我比較幸運，吃藥副作用不多，然後心理諮商也確實或得了建設性的建議。\n我覺得，自從去年得到New Radicals的〈You Get What You Give〉〈I Don\u0026rsquo;t Wanna Die Anymore〉乃至整張專輯的鼓勵後，就不會那麼想死了。1999年代末期的風格，莫名令人懷念。\nNew Radicals - You Get What You Give\n","date":"2026年1月8日","externalUrl":null,"permalink":"/posts/2026010801/","section":"Personals","summary":"這是什麼地獄笑話。\n之前談過得了空虛病，因此我不自覺，或者說故意的，在試卷上透漏我的想法了。\n不該在期末考卷的學期心得回饋欄位寫我想自殺的，結果教授居然濫用權限查學生名冊，親自打來關心我…不是，她跟我說她也想自殺，明明她負責的課程是輔導教育知能。\n上了年紀的已婚老女人還有這種情緒困擾真是難為她了，過去幾年被誤診住入精神病房，又吃了副作用很強的抗精神病的藥，難怪復職後上課都有氣無力的。因為打電話來太突然我沒有很注意她說了什麼，只是默默聽她說，然後運用她教的心理輔導技巧給與回饋。\n聽到她說認同我所寫的Viktor Emil Frankl在《活出意義來》一書所說的「知道為什麼為活的人，幾乎能忍受任何痛苦。」我很是高興。還有，公共心理諮商確實是很值得利用的資源。我比較幸運，吃藥副作用不多，然後心理諮商也確實或得了建設性的建議。\n我覺得，自從去年得到New Radicals的〈You Get What You Give〉〈I Don’t Wanna Die Anymore〉乃至整張專輯的鼓勵後，就不會那麼想死了。1999年代末期的風格，莫名令人懷念。\nNew Radicals - You Get What You Give\n","title":"跟老師說我想自殺，老師說她也想自殺","type":"personal"},{"content":"Android手機下載開源APP的新方式：「Obtainium」，以類似RSS訂閱的方式來下載手機APP。 「Obtainium」是一款追蹤開源APP更新的手機應用程式，開發者Imran Remtulla稱其受到Side Of Burritos的影片啟發才撰寫此款APP。 說道Android開源APP的大本營，第一時間都會想到F-Droid商店吧？\nSide Of Burritos在他的影片認為，手機開源APP光從F-Droid商店下載是不夠的，有很多開源APP因種種因素只能在Github發布APK，要上架F-Droid有困難，有時候F-Droid的版本還跟開發者釋出的版本有差異。所以Side Of Burritos建議直接從開發者源頭裝APK，他在影片中演示如何手動將Github儲存庫加入RSS訂閱，藉此下載APP更新。 不過這種作法連Ivon都覺得太硬核了，後來Imran Remtulla將他的理念改良，開發「Obtainium」讓下載APP過程變得比較友善。使用者只要將Github或F-Droid的網址加入，Obtainium就會自動尋找頁面中的APK，自動追蹤版本更新。\n「Obtainium」這個APP名字可能來自工程師對稀有元素的稱呼「難得素」(Unobtainium)，Obtainium讓開源APP不再難以下載了！\n1. 加入Obtainium來源 # 至Github或F-Droid下載安裝Obtainium。F-Droid和Github簽名的版本二者會衝突，擇一下載。可以的話我會偏好F-Droid的版本，不會被Github商業平台控制。不過嘛F-Droid建置需要時間，更新速度可能會落後Github版本幾天。\nF-Droid與Obtainium可以共存，不過你要防止APP被自動更新的話記得到F-Droid設定裡面關閉。\n開啟Obtainium，點選添加應用，輸入APP的網址。此處以Adaway為例，只要填入Github專案的主頁面網址即可。 Obtainium目前的來源以Github、Gitlab、F-Droid、IzzyOnDroid為佳，這些平台Obtainium都能從網頁抓到APK。至於ApkPure、ApkMirror、酷安、應用寶這類的只能追蹤更新，無法自動下載APK。\n如果要你安裝的APP頁面提供多種版本、混雜多種架構的APK，致使Obtainium會抓錯的話，你可以到Complex Obtainium Apps下載作者寫好的設定檔，匯入後會自動設定好正則表達式。比如，Brave瀏覽器就需要借助這裡的JSON設定檔才能正常下載。 在安裝APP後Obtainium便會定時檢查更新。更新APP的時候需要一個一個手動點選確認安裝。或者你可以搭配Shizuku讓其靜默完成安裝。目前背景更新APK不太穩定，退到背景APK下載會斷掉。嘗試在Android系統設定，將Obtainium的電源模式調整為無限制試試。\n如果要換手機，點選設置裡面的選項即可匯出追蹤的APP列表以及設定檔。 我的作法是會給一些APP長按，加上「Essential」的分類。這樣我換手機的時候就會知道要優先下載哪些APP。透過Obtainium，我能夠做到不依賴Play商店來快速部署這些APP。至於其他APP的則是可有可無的狀態，等到我確定會長期使用後再加入Essential列表。 2. 申請GitHub Personal Access Token提高查詢上限 # 如果您像Ivon一樣喜歡從GitHub下載APK，就可能遇到檢查更新，查詢連線過多遭拒的問題。\n此時到GitHub申請一個Personal Access Token\n再於Obtainium → 設置填入便能解決此問題。需注意Obtainiumm匯出設定檔的時候這組金鑰也會一併備份，請小心保管備份檔。 3. Ivon對Obtainium的看法 # 如果您是一個喜歡逛大街挑選APP的用戶，Obtainium可能就不適合您。F-Droid雖然官方APP界面老舊，但仍提供一種類似Google Play的體驗，使用者可以「探索」新APP，並查看軟體截圖和權限，只差沒有留言評分機制罷了。 使用Obtainium就像訂閱RSS看文章一樣，一開始列表空空如也，不會推薦任何東西，您必須知道自己要什麼APP（參考Github別人整理的FOSS列表或我的推薦），才能將Obtainium用得好。\n對知道自己要什麼APP的人來說，Obtainium無疑是一個絕佳的追蹤更新方式。Ivon覺得F-Droid官方界面有點老舊，且曾經因SDK版本太低的緣故，Android 13以上版本安裝F-Droid還會被Google Play安全機制當作不安全的APP，所以其實我不太喜歡開這個。Ivon還曾經用過第三方F-Droid商店，例如「Neo Store」，雖緩解了F-Droid界面老舊的問題，但仍沒解決開源APP沒上架F-Droid的問題，好比Firefox寧願在Github發表Release也不上架F-Droid。即使有IzzyOnDroid這個專門「搬運」Github的APK給F-Droid用戶下載的第三方儲存庫，Ivon覺得仍是不夠解決APP來源不統一的問題，故我會嘗試逐步改用Obtainium來管理APP更新。\n若你覺得手動加入列表下載APP的方式太反直覺，那麼別忘了F-Droid與Obtainium是可以共存的，只要兩邊APK簽名一致，你隨時能夠切換其中一款前端來下載APP。\n延伸閱讀 # Obtanium overview | My favorite way to track Open Source apps ","date":"2026年1月7日","externalUrl":null,"permalink":"/posts/use-obtainium-to-download-foss-apps/","section":"所有文章","summary":"Android手機下載開源APP的新方式：「Obtainium」，以類似RSS訂閱的方式來下載手機APP。 「Obtainium」是一款追蹤開源APP更新的手機應用程式，開發者Imran Remtulla稱其受到Side Of Burritos的影片啟發才撰寫此款APP。 說道Android開源APP的大本營，第一時間都會想到F-Droid商店吧？\nSide Of Burritos在他的影片認為，手機開源APP光從F-Droid商店下載是不夠的，有很多開源APP因種種因素只能在Github發布APK，要上架F-Droid有困難，有時候F-Droid的版本還跟開發者釋出的版本有差異。所以Side Of Burritos建議直接從開發者源頭裝APK，他在影片中演示如何手動將Github儲存庫加入RSS訂閱，藉此下載APP更新。 不過這種作法連Ivon都覺得太硬核了，後來Imran Remtulla將他的理念改良，開發「Obtainium」讓下載APP過程變得比較友善。使用者只要將Github或F-Droid的網址加入，Obtainium就會自動尋找頁面中的APK，自動追蹤版本更新。\n「Obtainium」這個APP名字可能來自工程師對稀有元素的稱呼「難得素」(Unobtainium)，Obtainium讓開源APP不再難以下載了！\n","title":"Obtainium，以RSS訂閱方式下載手機開源APP，追蹤APP更新","type":"posts"},{"content":"","date":"2026年1月7日","externalUrl":null,"permalink":"/tags/ant-china/","section":"標籤","summary":"","title":"Ant-China","type":"tags"},{"content":"雖說台灣是宗教信仰自由的國家，對於一些極端思想也得有點甄別的眼光。劉仲敬在中文鍵政圈屬於比較特殊的一位，有收穫一小票擁護者，近年來台灣竟然也開始有人相信個說法了。\n先前看了這個河殇 六集电视连续节目 中國央視1988年拍的《河殤》真的是支黑的入門教材XD 曾幾何時共產中國也有這樣敢言的媒體人。\n這部片是在天安門戰車道大會前一年拍的，有人認為這些思想促成了六四軍民大聯歡的發生。每一集的畫面開頭都是中國人下跪的醜陋畫面，配上重重的警鐘，然後在影片裡面大肆抨擊自古以來的傳統文化，「一個再也輸不起的民族」撕碎可笑的中華民族主義（很值得台灣借鏡，口口聲聲說民族主義的從來就不是什麼好東西），以及隱晦的批評毛澤東時代共產主義的失敗。我覺得最精妙的比喻就是說中國人崇拜龍，皇帝也自認是龍的化身。但是龍是由各種動物組成的四不像，因此人們一直以來都是在拜這畜生不如的東西！這部片子撰稿的口氣有如清朝末年的譴責小說，哀其不幸，怒其不爭。可惜中國改革開放只做一半，經濟上放開了，政治上依然裹足不前。\n總體來說這系列影片仍帶有一種積極向上的力量，並非是單純的仇支，是希望中國人能夠大徹大悟的改革，不只是金錢物質要提昇，政治思想也要革新。這部片子觀點看看就好，別真的上頭了。\n來講重點，我看過有些蔥輪姨粉，就愛用各種古文明的比對（例如羅馬雕塑 vs 漢朝雕塑的人像細緻程度）來證明中國以來一直是個窪地，三千年歷史根本不值得一提。真是迷惑支黑行為。這就屬於有點過了。要記住，窪地論也只是一種史學觀點而已。若是用這種狹隘的思想來看待過去的文化，也是陷入了一種偏狹。\n極端主義就要用極端主義來治，漢本位和劉仲敬的信徒我認為都是一群精神病患，玩網鍵政上癮了就什麼都用這套理論解釋。然，台灣有一群獨派堅信姨學，例如蕪菁雜誌的主筆，用支黑理論結構中華民族來達成發明新台灣民族的目的，這是危險的事情，正好要對抗這種思潮的做法，就是看漢西斯的大一統思想來對沖！比民國派還要極端的皇漢群體，兩邊都能算是一種右翼，共同點是反共，不過對人類文明的走向看法不同。每次看到這些思想就覺cringy。\n劉仲敬這人早年在中國大陸讀法醫專業，開始與人鍵政，後來嗅到氣氛不對，預言中國「大洪水」將至，趁著讀博訪學的機會出逃美國。後來陸續出版了一些宣揚自身窪地史觀的書籍。並在Twitter雲建國，天天銳評各國時政，望能建立諸夏。\n他的信徒幫他整理了訪談影片和文稿收米：Zhongjing Liu | 劉仲敬 官方頻道，不知道什麼時候能籌集到大蜀民國建國所需的600億。\n他寫過一篇預言台灣未來的文章：台灣之命運，這篇文章立場強烈，以「認同與生死鬥爭」框架解讀，認為台灣國家認同不明確的路線會導致國家安全與認同危機。我正是反對這種說法，這種極端主義會給台灣帶來危機。我傾向支持三角形理論\u0026hellip;雖然我知道這更困難，而且不容易騙到票。畢竟宣稱民族大義的人登高一呼，就很容易煽動一群人為虛幻的「國」獻身了。不管這個民族是不是發明出來的。\n劉仲敬的思想難以界定，目前只能認為是一種極右派民族主義變種。並且他們肯定不相信民主的力量的。\n雖說海外民運費拉不堪，幾十年都推翻不了中共，參見海外民运的“国是会议”，为什么根本没人在意？，只有法輪功邪教比較有炒作能力，但是劉自己本身也是費拉，多少年了在美國依然是黑戶，什麼時候我川可以把這個illegal immigrant送中啊。刘仲敬在美国目前是什么身份？ - 2047。\n這裡對劉仲敬的吐槽很不錯：【反姨wiki搬运计划】反姨人士写的姨学黑话翻译。他說：「抛去全球史观视角下的东亚古代史（且并非新鲜概念），刘仲敬发明的以下概念更多服务于政治站队之需，而非学界广泛认可的概念，请抱以推背而非科学的心态阅读。」\n我們不應該誇大地用姨學的視角（落入他們的思維閉環圈套）去解釋一切事物，而是只是把他當成一種學說就好。我的意思是，美國也有很多陰謀論者，有很多「網哲」，例如Tucker Carlson這類人物，而姨學只是其中一個流派罷了。你看看中共，正經的學者如張維為都能當中共肉喇叭，說「中國人你要自信」，那麼一個立場相反的學者出來呼籲「屠支」又有麼稀奇的？人類物種多樣性罷了。現在網紅那麼多，網哲和正經學者都競相發表暴論，在Youtube搞搞Podcast收收米就算了，但對外人來說就當成笑話看就行。\n不幸的是，我們要找到一個成體系的學說去反駁姨學，除了以夷制夷之外，還真沒有辦法，還會被當成中共大外宣。\n不如我們借個力，讓皇漢與支黑去打一架。\n以美國的左右派座標定位的話，在台灣的我寧願當個中間偏左，也不要落入極右派話術。姨學的簇擁者（包含神友以及品蔥用戶）我真的越看越噁心，我為過去支持他們的支黑與諸夏學說而感到羞恥，我過去以為諸夏獨立、反大一統的思想對台獨來說是一個好方向，現在看來是我誤會大了，這對台獨好像沒啥實質幫助，更別說台灣現在有實力主張台獨的人，幾乎沒一個好東西，只是一種幻想。\n姨學部份觀點解釋歷史可取，但是我不認為這是一種建構世界觀的方向，更不是唯一的方向。\n姨粉自以為脫離了中共主旋律的宣傳手段，卻落入了另外一個極端偏狹的領域。然後在台灣也有人開始宣揚姨學思維，視現代民主（或者說，是整體上偏向歐美左派的民主）為無物，主張建立一種基督教騎士德性決定的極右翼國度，這在多元移民又有超級社會主義健保政策的台灣怎麼可能搞得起來，只是一些閩猴在幻想。\n才疏學淺，這篇只是一些罵詈雑言，我應該還有更好地理由來反對姨學的。不過我是費拉，就寫到這兒，睡大覺。\n","date":"2026年1月7日","externalUrl":null,"permalink":"/posts/2026010701/","section":"Politics","summary":"雖說台灣是宗教信仰自由的國家，對於一些極端思想也得有點甄別的眼光。劉仲敬在中文鍵政圈屬於比較特殊的一位，有收穫一小票擁護者，近年來台灣竟然也開始有人相信個說法了。\n先前看了這個河殇 六集电视连续节目 中國央視1988年拍的《河殤》真的是支黑的入門教材XD 曾幾何時共產中國也有這樣敢言的媒體人。\n這部片是在天安門戰車道大會前一年拍的，有人認為這些思想促成了六四軍民大聯歡的發生。每一集的畫面開頭都是中國人下跪的醜陋畫面，配上重重的警鐘，然後在影片裡面大肆抨擊自古以來的傳統文化，「一個再也輸不起的民族」撕碎可笑的中華民族主義（很值得台灣借鏡，口口聲聲說民族主義的從來就不是什麼好東西），以及隱晦的批評毛澤東時代共產主義的失敗。我覺得最精妙的比喻就是說中國人崇拜龍，皇帝也自認是龍的化身。但是龍是由各種動物組成的四不像，因此人們一直以來都是在拜這畜生不如的東西！這部片子撰稿的口氣有如清朝末年的譴責小說，哀其不幸，怒其不爭。可惜中國改革開放只做一半，經濟上放開了，政治上依然裹足不前。\n總體來說這系列影片仍帶有一種積極向上的力量，並非是單純的仇支，是希望中國人能夠大徹大悟的改革，不只是金錢物質要提昇，政治思想也要革新。這部片子觀點看看就好，別真的上頭了。\n","title":"台灣人做姨粉？不該輕信劉仲敬所預言的台灣該走的未來","type":"politic"},{"content":"","date":"2026年1月7日","externalUrl":null,"permalink":"/tags/google-pixel/","section":"標籤","summary":"","title":"Google Pixel","type":"tags"},{"content":"「Android Flash Tool」是Google推出的刷機工具， 專為Google Pixel手機設計，其他廠牌的Android手機不見得能用這個刷。\n這個工具支援Pixel 2 ~ Pixel 10手機。\nAndroid Flash Tool用途 # 它可以：\n將刷機為第三方ROM的Pixel手機刷回原廠韌體，並將Bootloader上鎖，讓DRM等級與Play Integrity狀態恢復正常 如果你的Pixel手機被你玩到開不了機，但還進得了Fastboot，沒完全變磚的話，不妨用這個工具救磚試試 給Root後的Pixel手機刷入OTA更新包，不清除資料 降級Android到舊版本，不過需要小心Pixel手機是否有設定anti-rollback機制，否則會變磚 刷入最新測試版GSI映像檔，體驗上游最新Android功能。不過它只能下載Google提供的ROM檔案，不能使用外部第三方ROM。因此你要刷LineageOS或GrapheneOS的話可能還是得手動用Fastboot指令刷 這工具操作很簡單的，你不需要用到指令。\nGoogle透過WebUSB把一切工具都封裝進去了，你只需要一個瀏覽器便能開刷。不用擔心作業系統限制，Linux、Windows、macOS都能用，不需要手動安裝手機驅動程式與ADB工具。\n使用例 # 這裡以已經解鎖Bootloader，刷機過的Pixel 6a為例，示範如何使用這個工具將其刷回原廠Pixel ROM。\n讓Pixel手機進入Fastboot模式，例如Pixel 6a就是關機後，長按電源鍵＋音量下鍵，開機顯示紅字進入Fastboot 將手機用USB線接上電腦。如果你的Windows電腦認不到Android手機，請嘗試開啟自動檢查系統更新，讓它安裝通用驅動。\n用Chrome瀏覽器開啟這個網頁：https://flash.android.com。一定要基於Chromium開發的瀏覽器才支援WebUSB，Firefox不行。\n進入後應該會跳出視窗，勾選Allow ADB Access 在Select Device選單中，選取Pixel裝置 選取要刷入的韌體版本。例如最新穩定版就按Public Release → Back to Public 點一下鉛筆圖示展開，設定刷入後要執行的操作，它應該會幫你勾選Wipe Device清除資料，以及上鎖Bootloader。這是還原到原廠狀態應該做的項目，如此一來DRM等級與Play Integrity狀態都會恢復正常。但如果你之後還要Root的話可以不必將Bootloader上鎖。 按下Install Build，等待系統映像檔下載完成，接著就會進行刷入。等到畫面顯示完成前都不要斷開手機。 參考資料 # Flash with Android Flash Tool | Android Open Source Project ","date":"2026年1月7日","externalUrl":null,"permalink":"/posts/android-flash-tool-usage/","section":"所有文章","summary":"「Android Flash Tool」是Google推出的刷機工具， 專為Google Pixel手機設計，其他廠牌的Android手機不見得能用這個刷。\n這個工具支援Pixel 2 ~ Pixel 10手機。\nAndroid Flash Tool用途 # 它可以：\n將刷機為第三方ROM的Pixel手機刷回原廠韌體，並將Bootloader上鎖，讓DRM等級與Play Integrity狀態恢復正常 如果你的Pixel手機被你玩到開不了機，但還進得了Fastboot，沒完全變磚的話，不妨用這個工具救磚試試 給Root後的Pixel手機刷入OTA更新包，不清除資料 降級Android到舊版本，不過需要小心Pixel手機是否有設定anti-rollback機制，否則會變磚 刷入最新測試版GSI映像檔，體驗上游最新Android功能。不過它只能下載Google提供的ROM檔案，不能使用外部第三方ROM。因此你要刷LineageOS或GrapheneOS的話可能還是得手動用Fastboot指令刷 這工具操作很簡單的，你不需要用到指令。\nGoogle透過WebUSB把一切工具都封裝進去了，你只需要一個瀏覽器便能開刷。不用擔心作業系統限制，Linux、Windows、macOS都能用，不需要手動安裝手機驅動程式與ADB工具。\n","title":"如何將Pixel手機刷回原廠韌體：使用Android Flash Tool網頁工具輕鬆搞定","type":"posts"},{"content":"為什麼要降級LineageOS系統？可能更新之後UI的改動你不喜歡，或者維護者給你的手機功能弄壞了，需要回到上一個版本。\n如何確認LineageOS版本：設定 → 系統 → 關於手機 → LineageOS版本\nLineageOS跟許多手機廠商不同，沒有防回滾機制(anti-rollback)。目前最新的LineageOS 23，你可以任意降級系統版本， 應該 不會變磚。\n注意事項 # 手機支援狀態是Official的話，LineageOS官網會提供舊版刷機檔案下載。不過LineageOS是滾動更新的系統，舊版build最多只會保留過去的5個版本。更舊的會被系統刪除。到時候你就得自行從原始碼建置了。因此未來若有降級需求，請自行保存相關檔案，把你認為最「穩定」的版本系統檔案備份下來。 另外得注意：如果是同一個Android版本的降級，例如LineageOS 23 build 20251231 → LineageOS 23 build 20251224，應該不需要清除手機資料，dirty flash是OK的。\n但若是跨版本降級的話，例如LineageOS 23 → LineageOS 22，可能就會有問題，要是有安裝GApps的話還可能發生版本不相容的錯誤。最好進行clean flash，也就是刷機前要Factory Reset。\n此外，如果你有安裝Magisk模組，最好確認一下模組作者有無支援舊版系統。\n方法1：用TWRP刷 # 現在的手機支援TWRP的比較少，又LineageOS的Recovery只有OTA的功能，因此我們基本上是需要用到電腦才能刷入系統分區的了。\n到LineageOS官網對應的機型頁面下載檔案，以目前的LineageOS 23為例，通常會需要以下檔案：lineage-*-signed.zip（OTA更新包）+ boot.img（新版的手機recovery已經包含在此檔案內）\n重開機進入TWRP\n點選Flash，將boot.img刷到boot分區\n點選Advanced → ADB Sideload，刷入OTA更新包\n我遇過重開機後Google Play瘋狂崩潰的情況，因此最好在Advanced → ADB Sideload重刷一次GApps（MindTheGApps）。\n方法2：用電腦Fastboot刷 # 到LineageOS官網對應的機型頁面下載檔案，以目前的LineageOS 23為例，通常會需要以下檔案：lineage-*-signed.zip（OTA更新包）+ boot.img（新版的手機recovery已經包含在此檔案內）\n讓手機進入Fastboot模式\n將手機接上電腦，用Fastboot刷入boot.img\nfastboot flash boot boot.img 重開機進入Recovery，不要點選Factory Reset\n點選Apply Update → Apply from ADB\n從電腦刷入OTA更新包檔案\nadb sideload lineage-*-signed.zip 我遇過重開機後Google Play瘋狂崩潰的情況，因此再按一次Apply Update → Apply from ADB，重刷一次GApps（MindTheGApps） ","date":"2026年1月7日","externalUrl":null,"permalink":"/posts/downgrade-lineageos/","section":"所有文章","summary":"為什麼要降級LineageOS系統？可能更新之後UI的改動你不喜歡，或者維護者給你的手機功能弄壞了，需要回到上一個版本。\n如何確認LineageOS版本：設定 → 系統 → 關於手機 → LineageOS版本\nLineageOS跟許多手機廠商不同，沒有防回滾機制(anti-rollback)。目前最新的LineageOS 23，你可以任意降級系統版本， 應該 不會變磚。\n注意事項 # 手機支援狀態是Official的話，LineageOS官網會提供舊版刷機檔案下載。不過LineageOS是滾動更新的系統，舊版build最多只會保留過去的5個版本。更舊的會被系統刪除。到時候你就得自行從原始碼建置了。因此未來若有降級需求，請自行保存相關檔案，把你認為最「穩定」的版本系統檔案備份下來。 另外得注意：如果是同一個Android版本的降級，例如LineageOS 23 build 20251231 → LineageOS 23 build 20251224，應該不需要清除手機資料，dirty flash是OK的。\n但若是跨版本降級的話，例如LineageOS 23 → LineageOS 22，可能就會有問題，要是有安裝GApps的話還可能發生版本不相容的錯誤。最好進行clean flash，也就是刷機前要Factory Reset。\n此外，如果你有安裝Magisk模組，最好確認一下模組作者有無支援舊版系統。\n方法1：用TWRP刷 # 現在的手機支援TWRP的比較少，又LineageOS的Recovery只有OTA的功能，因此我們基本上是需要用到電腦才能刷入系統分區的了。\n","title":"LineageOS如何回滾降級到舊版本","type":"posts"},{"content":"「NewFlasher」是XDA用戶munjeni開發的非官方Sony刷機工具，功能有三個：\n將Sony手機強制刷回原廠系統 給Root過的Sony手機進行OTA更新 降級Sony手機系統版本 NewFalsher是用來刷回Sony原廠的工具 ，如果你要刷機為第三方ROM，請參閱本站有關LineageOS的文章。\nNewFlasher支援Xperia 1、Xperia 5、Xperia 10系列，即2019年以後出產的Sony手機。更早之前的機型可能得用FlashTool。\nIvon曾經用此工具重刷Xperia 1 III、Xperia 5 II、Xperia 10 V等手機，確認都能夠刷回原廠韌體。\n刷機時燈號應該都是一致的。對於沒有通知指示燈的新型機種，燈號會直接顯示在螢幕上。\nNewFlasher優勢在哪？在手機Bootloader解鎖的情況下，Xperia Companion會拒絕回復系統，你可能就得將手機送修了，不過在那之前你可以先試著用本文提及的工具解決。\n跟以前流行的「FlashTool」比起來，NewFlasher是開源跨平台軟體，操作簡單，支援Linux/macOS/Windows系統。NewFlasher連解鎖過Bootloader的手機都能刷回原廠並上鎖，讓手機重新回復到DRM L1。\n至少對我這支Sony Xperia 5 II來說，FlashTool問題太多了\u0026hellip;\u0026hellip;抓不到驅動，或者是刷到一半卡住。New Flasher刷機簡單暴力，還支援Sony近年來全部手機。\n本文使用手機Sony Xperia 5 II (XQ-AS72)當例子，解除Root並將Bootloader上鎖，恢復原廠最新版系統(stock)。使DRM回復到L1，所有APP正常使用。\n1. 刷回原廠的理由 # 手機解鎖，多半會取得Root權限。譬如，Xperia 5 II Root詳細步驟見此。\nPlay Integrity過不了，銀行APP會閃退，要用Magisk Hide玩捉迷藏。\n又如DRM Info的檢查結果，解鎖後DRM會掉到L3，這會導致Netfleix無法觀看高畫質。（雖然其實可以繞過） 此外每次開機都會顯示「手機已解鎖」(Your device software cannot be checked for corruption. Please lock the bootloader) 的警告。\n故刷回原廠是唯一解決方法。幸運的是不需要送原廠維修，你可以先用NewFlasher試試自行刷回原廠。\n跟解鎖Bootloader一樣，刷回原廠會清除手機資料。\n2. 準備工具 # 本文介紹的軟體可於Linux和Windows系統運作。\n首先準備以下東西：\nPlatform Tools：下載後解壓縮，內含ADB和Fastboot，在該目錄開啟終端機即可使用adb和fastboot的指令。\nSony驅動程式：僅Windows需要，Android驅動程式Linux已經含在核心。\nXperiFirm：用於下載Xperia原廠韌體的工具，繞過Xperia Companion。到XDA點選attachments，下載解壓縮。另外該程式在Linux可以用Wine跑，記得裝wine-mono。\nNewFlasher：Xperia強制刷機軟體。到XDA點選attachments，下載解壓縮。壓縮檔裡面的newflasher.exe執行檔是給Winodws用的，Linux為newflasher.x64。\nSony Dump Tool：可從Sony原廠韌體.sin檔單獨抽出boot.img。視需要下載。\n要刷回原廠的Sony Xperia，手機Bootloader當然是解鎖的狀態囉。建議不要在沒有解鎖Bootloader的情況下用NewFlasher刷機，請改用Xperia Companion。在用NewFlasher刷機完成之後，建議順便把它重新上鎖。\n3 下載原廠ROM # 執行XperiFirm，按照機型下載最新版的原廠韌體，選一個目錄儲存資料 下載的原廠韌體會自動解壓縮，目錄裡面應該長這樣 4. 開始刷回原廠 # 手機的Bootloader應該已經解鎖。不過NewFlasher在Bootloader上鎖的情況下依然可以使用。\n將NewFlasher解壓縮後，把NewFlasher的執行檔放到剛剛下載的原廠韌體的目錄。(Windows的執行檔是newflasher.exe，Linux是newflasher.x64) 讓Sony手機進入Flash Mode (不是Fastboot)。手機關機，一直按著音量下鍵，接到電腦，此時手機應該會亮綠燈。 於韌體的目錄開啟終端機，執行NewFlasher:\n./newflasher.x64 該程式會問三個問題：\nDo you want to keep userdata?\n輸入n，刪除手機所有資料。\nReboot mode at the end of flashing:\n輸入f，設定刷完後重啟至fastboot。\nOptional step! Type \u0026lsquo;y\u0026rsquo; and press ENTER if you want dump trim area, or type \u0026rsquo;n\u0026rsquo; and press ENTER to skip.\n輸入n，跳過備份TA分區。\n然後就會開始刷入。 大約5分鐘刷完，手機會自動重啟至fastboot，但還是亮綠燈，處於Flash Mode。\n此時要拔掉線，按著音量上鍵，再將手機接回電腦，此時會亮藍燈，代表真正進入fastboot。 電腦開啟fastboot，輸入指令將bootloader上鎖，接著重開機。刷回原廠建議一併上鎖，不然可能卡開機。\nfastboot oem lock fastboot reboot 重開機後手機會顯示「Erasing」清除資料後再開機，此後應該不會再見到「手機已解鎖」的警告訊息了。\n用DRM Info檢查，DRM已回復到L1。 ","date":"2026年1月7日","externalUrl":null,"permalink":"/posts/newflasher-flash-sony-xperia-back-to-stock-rom/","section":"所有文章","summary":"「NewFlasher」是XDA用戶munjeni開發的非官方Sony刷機工具，功能有三個：\n將Sony手機強制刷回原廠系統 給Root過的Sony手機進行OTA更新 降級Sony手機系統版本 NewFalsher是用來刷回Sony原廠的工具 ，如果你要刷機為第三方ROM，請參閱本站有關LineageOS的文章。\nNewFlasher支援Xperia 1、Xperia 5、Xperia 10系列，即2019年以後出產的Sony手機。更早之前的機型可能得用FlashTool。\nIvon曾經用此工具重刷Xperia 1 III、Xperia 5 II、Xperia 10 V等手機，確認都能夠刷回原廠韌體。\n刷機時燈號應該都是一致的。對於沒有通知指示燈的新型機種，燈號會直接顯示在螢幕上。\nNewFlasher優勢在哪？在手機Bootloader解鎖的情況下，Xperia Companion會拒絕回復系統，你可能就得將手機送修了，不過在那之前你可以先試著用本文提及的工具解決。\n跟以前流行的「FlashTool」比起來，NewFlasher是開源跨平台軟體，操作簡單，支援Linux/macOS/Windows系統。NewFlasher連解鎖過Bootloader的手機都能刷回原廠並上鎖，讓手機重新回復到DRM L1。\n","title":"NewFlasher + XperiFirm教學，將Sony Xperia 1/5/10系列手機強制刷回原廠ROM","type":"posts"},{"content":"在Xperia 5 II搞刷機，搞到二個分區都開不了機，也就是卡開機，出現Sony logo後亮紅燈，不然就是顯示Your device is corrupt it cant be trusted and will not boot.，開始bootloop。我很確定這不是硬體故障問題，因為前一秒都還開得了機的。\n所以就開始了我的救磚之路，後來一篇XDA的文章救了我。\nXperia 5 II採用A/B分區，因為二個分區都無法開機，二者都要重刷一次原廠韌體。不過這次不一樣，我沒有要把bootloader鎖回去(oem lock)，只是要解決開機循環的問題而已，而關鍵在於「.ta」檔案。\n我後來在Xperia 1 III也遇過一樣的問題，同樣用本文的方法就能解決。\n首先參考刷回原廠韌體的步驟：用NewFlasher將Sony Xperia 5 II刷回原廠\n用XperiFirm下載原廠韌體，將NewFlasher執行檔放到解壓縮的韌體目錄後，把副檔名為「.ta」檔案全部刪除或移動到其他地方。每個目錄都要檢查一遍。 然後再刷入原廠韌體。\n按著音量上鍵，插上電腦進fastboot (藍燈)\n將目前的分區設為A\nfastboot set_active a 拔掉線。按著音量下鍵插上電腦，進入Flash Mode（綠燈）\n用NewFlasher刷入韌體到A分區，第一個問題回答「n」清除資料，第二個輸入「f」，第三個問題輸入「n」，等待NewFlasher刷入完成。\n拔掉線。按著音量上鍵插上電腦，重啟進fastboot (藍燈)\n將目前的分區設為B\nfastboot set_active b 拔掉線。按著音量下鍵插上電腦，進入Flash Mode（綠燈）\n用NewFlasher刷入韌體到B分區，第一個問題回答「n」清除資料，第二個輸入「f」，第三個問題輸入「n」，等待NewFlasher刷入完成。\n拔掉線。按著音量上鍵插上電腦，重啟進fastboot (藍燈)\n將目前的分區設為A，接著重開機就能進入系統了。\nfastboot set_active a 如果安裝的系統出現bug，最好重新下載一次含有.ta檔案的完整Sony原廠韌體，再重新用NewFlasher刷入一次。\n我有碰過手機型號顯示錯誤，寫pdx-開頭而非XQ-開頭的狀況。這個時候可能要嘗試將手機Bootloader重新上鎖再重新解鎖來Root：\nfastboot oem lock 參考資料 # I bricked my XPeria 5 ! I need ur knowledge plZ!!! - XDA Forums ","date":"2026年1月7日","externalUrl":null,"permalink":"/posts/fix-bricked-sony-xperia/","section":"所有文章","summary":"在Xperia 5 II搞刷機，搞到二個分區都開不了機，也就是卡開機，出現Sony logo後亮紅燈，不然就是顯示Your device is corrupt it cant be trusted and will not boot.，開始bootloop。我很確定這不是硬體故障問題，因為前一秒都還開得了機的。\n所以就開始了我的救磚之路，後來一篇XDA的文章救了我。\nXperia 5 II採用A/B分區，因為二個分區都無法開機，二者都要重刷一次原廠韌體。不過這次不一樣，我沒有要把bootloader鎖回去(oem lock)，只是要解決開機循環的問題而已，而關鍵在於「.ta」檔案。\n我後來在Xperia 1 III也遇過一樣的問題，同樣用本文的方法就能解決。\n首先參考刷回原廠韌體的步驟：用NewFlasher將Sony Xperia 5 II刷回原廠\n用XperiFirm下載原廠韌體，將NewFlasher執行檔放到解壓縮的韌體目錄後，把副檔名為「.ta」檔案全部刪除或移動到其他地方。每個目錄都要檢查一遍。 然後再刷入原廠韌體。\n按著音量上鍵，插上電腦進fastboot (藍燈)\n將目前的分區設為A\nfastboot set_active a 拔掉線。按著音量下鍵插上電腦，進入Flash Mode（綠燈）\n用NewFlasher刷入韌體到A分區，第一個問題回答「n」清除資料，第二個輸入「f」，第三個問題輸入「n」，等待NewFlasher刷入完成。\n","title":"Sony Xperia救磚紀錄，用NewFlasher刷機","type":"posts"},{"content":"最近在幾部手機都刷了LineageOS，觀察到一個隱憂：LineageOS是滾動式更新的系統，相較於手機原廠韌體而言，是沒有穩定度保證的系統。 根據Stackoverflow這篇討論，LineageOS ROM有official支援的話，全部都是標記為\u0026quot;nightly build\u0026quot;，在這裡的意思類似滾動式更新(rolling release)，沒有所謂的\u0026quot;stable build\u0026quot;。看maintainer心情，只要沒有人間蒸發的話，基本上以週為單位放出一個build。\nLineageOS並非是無腦追求最新版本的滾動式更新，還是有大版本號碼之分的，不會一直追最新版Android版本號碼。它會對應目前最新穩定的AOSP下去開發，像是在stable branch一直加上snapshots，例如對應Android 16的LineageOS 23每週都會收到更新修正，卻不會突然跳到Android 17。LineageOS每次更新期間會合併許多上游代碼修正，還有secutiry patch，也可能帶來新問題。\n它不會像一般開發比較嚴謹的軟體，採取Alpha → Beta → Feature Freeze → Release Candidate (RC) → Stable → Maintenance模式測試，然後才發布系統更新。如果你用過Debian Sid/Testing/Stable應該知道我在談什麼。開源軟體多半是志願者貢獻的，軟體開發週期以月和年為單位更新，才能確保穩定度。可LineageOS的更新呢？他最基本只保證系統可以開機就好。\nLineageOS這種開發模式有什麼問題呢？問題可大了。\nXDA上面分享刷機的貼文都固定會放上一個警告：\n從現在你，你的保固已經沒了 (Your warranty is now void.)\n對於這個ROM有什麼bug，通常都會寫：\n你說呀 (You tell me.)\nLineageOS當然也是如此。刷機不只會失去原廠給你的硬體服務，還包括軟體服務的支援度。原廠系統工程師千錘百鍊測試後放出來的系統，跟你只有幾個人維護的hobby project，哪個穩定？\n我是不太在意刷機後破壞Play Integrity導致APP不給用的問題（好吧，其實很在意，不能用行動支付是不方便，但也就是掏魔法小卡出來就解決的事情～）重點是一個系統到底穩定不穩定？手機最基本功能能不能運作？\n就比如我用的Sony Xperia 10 V吧，最近在LineageOS 23觀察到小bug是藍芽AAC編碼播放音樂會斷訊，其他aptX編碼都不會。還有相機錄影的時候會卡住，Youtube播放影片黑螢幕等等。這些問題或許未來更新就解決了，可當下遇到的時候就是很嘔，只能嘗試回滾到上一個版本解決。\n惡魔Rolling distro，你最大的惡夢！LineageOS不論任何機型皆是採nightly模式發布，每週一次更新，可以算一種滾動發行版吧。最近Xperia 10 V的LineageOS穩定度已經讓我想刷回原廠+Root的使用模式了。這個體驗實在太糟糕了。要我忍受解鎖bootloader無法使用行動支付帶來的不便我忍了，可是基本系統功能不可以這麼不穩定。不如我也加入maintainer的行列好了（←妄想）或許手機系統不要太常更新比較好，我想要\u0026quot;it just works\u0026quot;的系統。尤其LineageOS這種的只靠志願者維護的專案，人手不足，加上LineageOS不會像Debian一樣經過Unstable → Testing → Stable，超過幾個月的漫長程序才釋出軟體更新，就會導致開發者沒有足夠時間去等軟體成熟。Minor random breakege的問題在此重演，我當初就是受不了Arch Linux與Fedora的KDE不穩定問題才去用Debian的。即使Android是一個immutable設計的很好的Linux發行版，要回滾風險不大，可是要頻繁注意系統穩定度也挺累的。那麼我還能繼續信任這個系統嗎。\nLineageOS的更新頻率，大約一週更新一次，對比Sony原廠幾個月偶爾更新一下，已經算是很頻繁了。\n從我很久以前開始刷機開始，LineageOS這模式已經很多年了，但是直到用過Arch Linux發行版之後我才知道這種發行模式多麼危險！\n我APK都不敢用nightly build了，何況功能複雜的作業系統。\n滾動式更新的好處是能很快收到更新修正，official build的話還能夠從統一的管道更新，更快升級到新的Android版本。壞處就是不夠穩定，會有minor random breakages，儘管LineageOS大部分時候很穩定。起碼AOSP的code是Google主導的，要break userspace可比GNU/Linux眾發行版困難許多啦！\n但我就是碰到了bug，這個時候怎麼辦？需要有足夠多的「眼睛」幫你抓bug。不然你得自己去bugreport發issue然後希望maintainer能快點看到解決。從這裡我們就得面對一個事實：如果你沒有除錯和探究的精神，真的不能完全信任刷機。\n這樣或許能理解為什麼Android廠商更新不應該過於頻繁的態度了，使用者不需要常常更新系統，而是要一個穩定運作的手機。\n尤其手機越來越重要的當下，久久推出一次穩定的系統，勝過不斷推shiny new stuff的系統。能想像開啟行動支付的場合手機突然出問題嗎？如果每週更新的話會埋多少未爆彈？如果公司沒有Google和Samsung那種體量，誰來負責旗下數十支產品的更新？或許，你不必一直追求最新版本的Android。一個Android版本是可以用好幾年的，例如到了現在的2026年，Google依然支援2019年發表的Android 10的手機呢。\n儘管LineageOS用戶可以關掉自動更新，不要讓系統一直處於不穩定的狀態，也可以在這個版本出問題的時候刷入舊版ROM回滾到上一個版本。但是缺乏穩定版本的發表模式會給使用者帶來許多隱憂。\n要繼續待在原廠的羽翼保護下，抑或是自行探索未知的路途，你願意承擔這個風險嗎？\n","date":"2026年1月6日","externalUrl":null,"permalink":"/posts/lineageos-the-downsides-of-rolling-release/","section":"所有文章","summary":"最近在幾部手機都刷了LineageOS，觀察到一個隱憂：LineageOS是滾動式更新的系統，相較於手機原廠韌體而言，是沒有穩定度保證的系統。 根據Stackoverflow這篇討論，LineageOS ROM有official支援的話，全部都是標記為\"nightly build\"，在這裡的意思類似滾動式更新(rolling release)，沒有所謂的\"stable build\"。看maintainer心情，只要沒有人間蒸發的話，基本上以週為單位放出一個build。\nLineageOS並非是無腦追求最新版本的滾動式更新，還是有大版本號碼之分的，不會一直追最新版Android版本號碼。它會對應目前最新穩定的AOSP下去開發，像是在stable branch一直加上snapshots，例如對應Android 16的LineageOS 23每週都會收到更新修正，卻不會突然跳到Android 17。LineageOS每次更新期間會合併許多上游代碼修正，還有secutiry patch，也可能帶來新問題。\n它不會像一般開發比較嚴謹的軟體，採取Alpha → Beta → Feature Freeze → Release Candidate (RC) → Stable → Maintenance模式測試，然後才發布系統更新。如果你用過Debian Sid/Testing/Stable應該知道我在談什麼。開源軟體多半是志願者貢獻的，軟體開發週期以月和年為單位更新，才能確保穩定度。可LineageOS的更新呢？他最基本只保證系統可以開機就好。\n","title":"LineageOS nightly build你真敢用？滾動更新難以確保穩定度","type":"posts"},{"content":"你在透過Magisk/KernelSU/APatch取得Root權限後，要如何透過OTA更新系統呢？\n技術上來說Android手機在Root後，依然可以跑OTA更新，只是過程比較繁瑣而已。\n通常，只要有Root的裝置，系統認為你的環境不乾淨，就不會給你OTA更新系統。舉凡Google Pixel、Sony、小米、Samsung、OnePlus、ASUS皆是如此。\n少部份例外是LineageOS，有Root的時候它還是會讓你下載OTA更新，不過更新後boot分區會一併覆蓋掉，這會導致Root權限暫時噴掉。需要手動修補。\n本文Ivon討論一些Root後如何OTA的手段，以及如何在更新後快速復原Root權限。\n測試裝置：Google Pixel 6a，原廠Android 16系統 \u0026amp; LineageOS\n方法1：還原boot.img再安裝OTA更新 # Magisk/KernelSU/APatch的Root方式都是修補手機的boot.img或init_boot.img，修改後系統就會變得不乾淨。那麼，只要還原原廠未修補前的boot.img，就可以重新接收更新了。\n你可以用Root權限管理員來還原原廠boot.img。Magisk與APatch提供「解除安裝」的按鈕，解除安裝後，就會還原無修改過的boot.img。\n或者用電腦刷入原廠boot.img。\n要是你沒有備份原廠boot.img怎麼辦？找原廠更新包。例如Google Pixel官方有提供原廠映像檔，從壓縮檔裡面的image檔案可以解出boot.img。 然後，將手機接到電腦，進入Fastboot模式，用fastboot指令刷入該檔案到boot分區就行了。\nfastboot flash boot boot.img 等待更新後再重新修補boot.img取得Root權限即可。\n方法2：使用電腦刷機程式手動安裝OTA更新 # 以Google Pixel來說，官方有提供原廠映像檔以及Android Flash Tool刷機工具。\n讓手機進入Fastboot模式，接到電腦，再執行Android Flash Tool，選取最新版Public Releases，就可以更新到最新版系統。\n不過這個工具可能會以為你要還原原廠，會嘗試清除使用者資料，因此在刷之前要記得點開選項，取消勾選Wipe Device與Lock Booloader，只要更新系統就好，不要清除資料。 由於有Root的裝置通常已經是解鎖Bootloader的裝置了，所以這裡刷機應該不會觸發清除資料的機制。\n方法3：用Root權限管理員在OTA之後保留Root # 此方法的前提是裝置需要使用A/B分區來進行系統更新。Google Pixel幾乎全系列都使用這套機制。\n假設你的系統在Root的狀態下還願意給你OTA的話，就可以用這個方式在OTA後保存Root權限。這樣的話就不需要透過電腦來刷入修補的boot.img了。\nMagisk/KernelSU/APatch都有提供這個功能。\n先安裝OTA更新，等到安裝完成後提示你重開機，但先不要重開機 開啟Root權限管理員，點選安裝，將其安裝到非活動插槽(slot)，這樣的話它修補的對象就會變成剛剛安裝的OTA更新的boot.img了！ 為了安全起見，你可以先把一些模組停用，免得因為系統更新後衝突開不了機。\n重開機，Root權限就會自動繼承到更新後的系統，不用修補boot.img。\n如果Root權限繼承失敗，就多一個步驟，手動修補boot.img，然後透過電腦Fastboot刷入。\n","date":"2026年1月6日","externalUrl":null,"permalink":"/posts/install-ota-update-on-rooted-android-device/","section":"所有文章","summary":"你在透過Magisk/KernelSU/APatch取得Root權限後，要如何透過OTA更新系統呢？\n技術上來說Android手機在Root後，依然可以跑OTA更新，只是過程比較繁瑣而已。\n通常，只要有Root的裝置，系統認為你的環境不乾淨，就不會給你OTA更新系統。舉凡Google Pixel、Sony、小米、Samsung、OnePlus、ASUS皆是如此。\n少部份例外是LineageOS，有Root的時候它還是會讓你下載OTA更新，不過更新後boot分區會一併覆蓋掉，這會導致Root權限暫時噴掉。需要手動修補。\n本文Ivon討論一些Root後如何OTA的手段，以及如何在更新後快速復原Root權限。\n測試裝置：Google Pixel 6a，原廠Android 16系統 \u0026 LineageOS\n方法1：還原boot.img再安裝OTA更新 # Magisk/KernelSU/APatch的Root方式都是修補手機的boot.img或init_boot.img，修改後系統就會變得不乾淨。那麼，只要還原原廠未修補前的boot.img，就可以重新接收更新了。\n你可以用Root權限管理員來還原原廠boot.img。Magisk與APatch提供「解除安裝」的按鈕，解除安裝後，就會還原無修改過的boot.img。\n","title":"Android手機Root後如何進行OTA系統更新，以Pixel為例","type":"posts"},{"content":"","date":"2026年1月6日","externalUrl":null,"permalink":"/tags/apatch/","section":"標籤","summary":"","title":"APatch","type":"tags"},{"content":"","date":"2026年1月6日","externalUrl":null,"permalink":"/tags/f-toys/","section":"標籤","summary":"","title":"F-Toys","type":"tags"},{"content":"這是Ivon我參加的BlogBlog 同樂會 - 2026 年 1 月的投稿文章。本月主題是「推坑」。如果你有自己的部落格，歡迎一起來參加！\n聊聊F-Toys的1/72 Full Action可動模型盒玩系列。 組裝模型不再是麻煩事 # 組塑膠模型是一件麻煩事兒。像軍事模型，以這架TAMIYA的日本陸軍百式司偵為例，你需要買來之後用模型鉗把零件取下來，修剪毛邊，用膠水黏起來，再買顏料上色，看是要用筆塗色還是噴漆的，最後再做舊化處理，表現想要的效果。這個過程十分費時，最快起碼都要組個3小時以上，更別說等漆乾的時間了。 而且組裝好的模型大部份是不能動的。只有少部份如Zvezda出的蘇聯可變翼戰鬥轟炸機MiG-23能像阿湯哥F-14展開翅膀，或者TRUMPETER的德國海軍潛艇U-511可以用電動馬達潛水。\n對想簡單組裝模型玩樂的人來說，這樣太麻煩了。既然BANDAI都有出事先上好色的鋼彈模型，有沒有比較好組裝的軍事模型呢？\n我覺得，F-Toys的1/72 FullAction系列是一款讓你不用投入太多時間組裝，就能有成就感的軍事模型系列。即使是新手，只要一小時就能拼起來。\n日本公司F-Toys一直有在推出塗裝好的盒玩，只需要簡單組裝便可。從官網的商品列表可以看到他們涉及各大領域，以軍事模型來說，大部分都是1/144（飛機）或1/2000（船艦）比例的。 可是我覺得1/144比例太小了！只能當作文鎮！\n這時，「1/72 FullAction」系列就是一個有趣的玩意，定價大約1,900日圓左右。\n目前F-Toys 1/72 FullAction出的飛機包括：\n三菱 零式艦上戰鬥機二一型（台南航空隊） 空技廠 彗星艦上爆擊機一二型 福克沃爾夫 Fw-190 A8 超級馬林 Spitfire Mk.IX 中島 一式戰隼II型 三菱 零式艦上戰鬥機二一型（中島製） 北美航空 F-86（藍色衝擊波飛行表演隊） 順帶一提，F-Toys有出類似1/72 FullAction系列的電動坦克，包括：虎式坦克、豹式坦克、T-34/85、三號突擊砲。\n這裡有我一些實際組裝過程的例子：標籤為F-Toys的文章\n大約從2017年開始發售。它不只是事先塗裝好，方便組裝的模型，還是可以動的。這系列主要都是飛機，從螺旋槳、座艙罩、襟翼、彈艙、起落架都能動，蒙皮可以掀起來露出內藏的武器。讓你模型組裝好之後不是單純放在那邊靜態展示，而是能夠調整姿勢把玩，欣賞航空器之美。 不過這畢竟不是兒童玩具，請不要暴力折疊組裝好的成品。\n需要準備的工具 # F-Toys 1/72 FullAction拼裝時間大約1小時。\n盒子裡面都有圖解說明書，就算不懂日文，看圖組裝也不會太難。\n取下零件需要模型專用的斜口鉗。用剪刀或美工刀也是可以，不過容易留下毛邊。\n組裝的時候建議戴手套，使用鑷子抓取小零件。\n還有膠水，雖然說F-Toys 1/72 FullAction是新手友好的套件，模型用卡榫連接，你還是要準備一點模型專用膠才能黏起來，否則很容易會解體。且縫隙的地方需要塗上一點模型膠讓它密合才會好看。模型專用膠就是專門黏ABS塑膠的膠水，不難買，文具店就有了。不要貪小便宜用白膠或強力膠代替喔！模型零件會被你弄壞的。 然後，準備一小碟水。模型貼紙叫做水貼，要沾水才會有黏性。用美工刀割下，再用鑷子將它貼到模型上。\n那麼在哪裡才買得到呢 # F-Toys 1/72 FullAction只在日本發售。這個模型是以「食玩」的名義上架的，因為在日本可以避稅，裡面會象徵性的附一顆口香糖。\n不過，這系列產品已經上市很久了，不用特地到日本買，在台灣的拍賣網站用F-Toys 1/72 FullAction的關鍵字下去搜尋，還可以用低廉的價格買到庫存的全新貨。當然了，內附的口香糖早就過期了，請勿食用。\n可惜的是，F-Toys出了7架飛機之後，可能因為武漢肺炎疫情，之後就沒有再出新的了，回去做老本行1/144模型。\n","date":"2026年1月6日","externalUrl":null,"permalink":"/posts/f-toys-1-72-scale-full-action-series/","section":"Artworks","summary":"這是Ivon我參加的BlogBlog 同樂會 - 2026 年 1 月的投稿文章。本月主題是「推坑」。如果你有自己的部落格，歡迎一起來參加！\n聊聊F-Toys的1/72 Full Action可動模型盒玩系列。 組裝模型不再是麻煩事 # 組塑膠模型是一件麻煩事兒。像軍事模型，以這架TAMIYA的日本陸軍百式司偵為例，你需要買來之後用模型鉗把零件取下來，修剪毛邊，用膠水黏起來，再買顏料上色，看是要用筆塗色還是噴漆的，最後再做舊化處理，表現想要的效果。這個過程十分費時，最快起碼都要組個3小時以上，更別說等漆乾的時間了。 而且組裝好的模型大部份是不能動的。只有少部份如Zvezda出的蘇聯可變翼戰鬥轟炸機MiG-23能像阿湯哥F-14展開翅膀，或者TRUMPETER的德國海軍潛艇U-511可以用電動馬達潛水。\n對想簡單組裝模型玩樂的人來說，這樣太麻煩了。既然BANDAI都有出事先上好色的鋼彈模型，有沒有比較好組裝的軍事模型呢？\n我覺得，F-Toys的1/72 FullAction系列是一款讓你不用投入太多時間組裝，就能有成就感的軍事模型系列。即使是新手，只要一小時就能拼起來。\n日本公司F-Toys一直有在推出塗裝好的盒玩，只需要簡單組裝便可。從官網的商品列表可以看到他們涉及各大領域，以軍事模型來說，大部分都是1/144（飛機）或1/2000（船艦）比例的。 可是我覺得1/144比例太小了！只能當作文鎮！\n這時，「1/72 FullAction」系列就是一個有趣的玩意，定價大約1,900日圓左右。\n目前F-Toys 1/72 FullAction出的飛機包括：\n三菱 零式艦上戰鬥機二一型（台南航空隊） 空技廠 彗星艦上爆擊機一二型 福克沃爾夫 Fw-190 A8 超級馬林 Spitfire Mk.IX 中島 一式戰隼II型 三菱 零式艦上戰鬥機二一型（中島製） 北美航空 F-86（藍色衝擊波飛行表演隊） 順帶一提，F-Toys有出類似1/72 FullAction系列的電動坦克，包括：虎式坦克、豹式坦克、T-34/85、三號突擊砲。\n","title":"推坑：F-Toys 1/72 FullAction 可動又好玩的軍事模型系列，適合新手入門","type":"artwork"},{"content":"","date":"2026年1月5日","externalUrl":null,"permalink":"/tags/xiaomi/","section":"標籤","summary":"","title":"Xiaomi","type":"tags"},{"content":"從計算攝影邁向手動攝影之路。\n論Android手機拍照，Pixel V.S. Sony的拍照風格，AI美化 V.S.手動調整，哪個比較好呢？\n（這篇文章的標題我原本是用小米作為對比，但是論AI修圖的程度，還是Google Pixel更具有代表性）\n我要如何用不限定特定機型才能使用的Open Camera APP，讓手動攝影能不被Sony綁住呢？\n我是最近幾年才意識到\u0026hellip;啊，Sony的相機真的很笨。即使旗艦機相機硬體很強，三顆鏡頭都用IMX系列，需要進Photo Pro手動調整的這件事情。\n翻閱自架伺服器的Immich相簿，利用相機品牌的搜尋功能，找到了以前用小米9T(紅米K20)拍攝的照片，跟後來用Sony Xperia 5 II拍攝的照片，得出了這個體悟。\n這兩支都是全螢幕無挖孔的手機，是手機文明之光，都已經退役。 我發現小米9T的照片，很多都是用4800萬畫素拍攝的，因此非常的「清楚」。加上內建的MIUI相機AI把照片抹的很濃艷，每張照片的色彩都是極其吸引眼球的，效果好似GCam。 MIUI相機觸發AI自動優化場景的機率非常高，顏色抹的雖然好看，但常常脫離現實肉眼所見。嗯？就算AI顏色濃郁到脫離了現實色彩又怎樣？多年後回憶你又想不起來當下的樣子。還有，儘管我知道相機畫素不是決定照片好壞的關鍵，但這種高解析度就會給人一種很厲害的感覺～\n實際碰過GCam與Pixel手機的拍照，AI演算法所算出來的照片也是像小米一樣風格強烈呢。他們的拍照好到，讓你不會想到要去調整手動模式，即使手機廠商有提供。 換到Sony Xperia 5 II之後，畫素只剩下1200萬。照片變成偏向自然發色的風格。很明顯地Sony的相機沒有其他廠牌那麼智慧，包含白平衡、噪點處理、銳利程度，拍出來的照片常常糊糊的，看起來不如小米，或者說比它低許多價位的紅米機。 剛好這裡有舊地重遊的同一地點照片，這裡可以比較一下小米9T（上）與Xperia 5 II（下），兩者風格差異。 說來慚愧，Xperia 5 II我很長一段時間都是用自動模式，不會手動去調整參數。因為一般外出拍照那太麻煩了啦，且我以前對相機成像沒有概念。\n這邊要知道的是，Sony針對旗艦Xperia手機提供「Photo Pro」這款APP，跟一般手機廠商以傻瓜模式為主的相反，Sony希望你手動調整拍照參數。裡面除了Auto模式之外，還提供許多手動控制的選項。 Xperia 5 II的成像品質就變成hit or miss的賭注。AI心情好的話照片很美，情況不好的話就會過曝炸裂。大部分情況下，AI優化好的機率偏低，致使沒有小米拍的照片那麼吸引人。說好聽點是發色自然，講難聽點就是糟糕的發色。\n例如我覺得這張南橫公路的山脈就拍得不好，要是AI能把天空染得藍一點的話照片會更吸引人\u0026hellip; 雖說如此，我還是習慣了Sony的拍照自然風格。\n因此就算Xperia 5 II用沒兩年就綠線發作自爆，我還是買了Xperia 10 V與Xperia 1 III繼承它的遺志～\n你問我為什麼要手動調整拍照參數的話為何不乾脆買單眼？沒錢。\nXperia 10 V是中階機，沒有Photo Pro這種切合硬體參數的專用APP可以調整。於是乎，硬體不佳，加上Sony相機本身幾乎沒有演算法加持，導致成像品質比Xperia 5 II更慘了。\n同一個地點，你看看小米9T與Xperia 10 V的成像，這能看嗎！？ 自動模式下，Xperia 10 V完全不行，需要手動介入的地方比Xperia 5 II多得多，嚴重到拍照完還要另外修圖才能看的程度。使用它的時候我基本上是用Sony相機或GCam放推，務求能看而非自然的色彩。\n不過，我了解到在拍照時耐心地手動調整的話，Xperia 10 V還是能拍出好照片的！不論是Sony內建相機，還是Open Camera和GCam，都提供手動調整參數選項。 我開始跳脫AI計算攝影，學習手動控制，Xperia 10 V支援完整Camera2 API，但硬體素質太差，救援難度很高。就頂多稍微手動調整一下白平衡而已。\n近些日子，換到了Xperia 1 III，撿便宜買的。自動模式下，它具有比Xperia 5 II更好的成像品質，同時也重新接觸Photo Pro。 可是，最近Xperia 1 III在動物園拍照頻繁炸裂的情況，讓我重新思考學習手動調整模式的必要性。\n使用望遠鏡頭拍照的時候，照片往往會錯誤對焦，或者是產生白平衡死白的問題。還容易過曝或曝光不足。如下圖 可是我M模式慢慢手動調整是可以達到正確的顏色的，不然就是祈禱自動模式能聰明一點 這說明了\u0026hellip;.Sony相機自動模式下真的很笨。Photo Pro給那麼多選項不是擺設的。\n裡面有Basic、Auto、P、S、M模式，就跟數位相機提供的模式是一樣的。\n這裡有基本觀念：Xperia PHOTO PRO 一些使用心得\nSony官網的教學：瞭解如何使用Xperia 拍出精彩的相片和影片\n要完全控制照片內容的話就是切換到M模式，就跟數位單眼相機提供的界面是一樣的。Sony的Photo Pro是針對硬體優化的，在這裡才有全方面的控制，從快門速度到ISO到白平衡調盤一應俱全。 現在，我拍重要照片前都要構圖，看一下DISP視窗顯示的直方圖，計算一下數值，才能按下快門鍵～不再像以前一樣隨手拍了。\n你不一定要全手動調整，有時候Sony的相機AI計算稍微跑偏了，你只需要給它一點指示修正即可。\n很可惜，這會產生另一個問題：如果我習慣使用Photo Pro的話，就難以跳到其他品牌的手機了。在習慣不依賴AI自動修圖拍照後（例如小米與Pixel那種色調抹得很濃艷的），我很擔心換到其他品牌的Android手機後，會失去Sony Photo Pro這種類似單眼的蝦趴界面。\nSony又很故意不給旗艦Xperia 1和5系列開放完整Camera2 API，反倒是中階Xperia 10系列有完整支援。致使第三方相機，Open Camera和GCam Port這類的，不能像Photo Pro那樣做到精細的控制。尤其Open Camera在調整白平衡的時候很容易出問題。\n我要如何用不限定特定機型才能使用的Open Camera，讓手動攝影能不被Sony綁住呢？折衷辦法是習慣用Open Camera與Photo Pro，並懂得儲存RAW檔案。 論第三方拍照APP，安裝GCam Ports是一個選項，但在我看來，它不過是glorified的美圖秀秀相機罷了！手動控制項目不是很多。\n另外，我還得去學編輯RAW照片的技巧。例如在Linux，用digiKam就可以編輯RAW啦。 總之，我最好養成以後拍照都留存一份RAW檔案的習慣。Open Camera和Photo Pro都有提供這個功能。\n","date":"2026年1月5日","externalUrl":null,"permalink":"/posts/from-ai-computational-mobile-photography-to-manual-control/","section":"Unboxings","summary":"從計算攝影邁向手動攝影之路。\n論Android手機拍照，Pixel V.S. Sony的拍照風格，AI美化 V.S.手動調整，哪個比較好呢？\n（這篇文章的標題我原本是用小米作為對比，但是論AI修圖的程度，還是Google Pixel更具有代表性）\n我要如何用不限定特定機型才能使用的Open Camera APP，讓手動攝影能不被Sony綁住呢？\n我是最近幾年才意識到…啊，Sony的相機真的很笨。即使旗艦機相機硬體很強，三顆鏡頭都用IMX系列，需要進Photo Pro手動調整的這件事情。\n翻閱自架伺服器的Immich相簿，利用相機品牌的搜尋功能，找到了以前用小米9T(紅米K20)拍攝的照片，跟後來用Sony Xperia 5 II拍攝的照片，得出了這個體悟。\n這兩支都是全螢幕無挖孔的手機，是手機文明之光，都已經退役。 我發現小米9T的照片，很多都是用4800萬畫素拍攝的，因此非常的「清楚」。加上內建的MIUI相機AI把照片抹的很濃艷，每張照片的色彩都是極其吸引眼球的，效果好似GCam。 MIUI相機觸發AI自動優化場景的機率非常高，顏色抹的雖然好看，但常常脫離現實肉眼所見。嗯？就算AI顏色濃郁到脫離了現實色彩又怎樣？多年後回憶你又想不起來當下的樣子。還有，儘管我知道相機畫素不是決定照片好壞的關鍵，但這種高解析度就會給人一種很厲害的感覺～\n實際碰過GCam與Pixel手機的拍照，AI演算法所算出來的照片也是像小米一樣風格強烈呢。他們的拍照好到，讓你不會想到要去調整手動模式，即使手機廠商有提供。 ","title":"從計算攝影邁向手動攝影之路。Pixel的AI風格相機 V.S. Sony的手動拍照風格，哪個比較好呢？","type":"unboxing"},{"content":"在聽Paul Yang - Everytime You Go Away的時候做的實驗\n討論關掉手機核心達成省電的方法。\n為了拯救Xperia 1 III的高通SD888續航力，踏上了路途。\n後來又發現，其實不應該做這種暴力的操作，只要有一個針對電源模式極度優化的演算法APP就能解決了。\nHey, if we can solve any problem. Then why do we lose so many tears?\n評析 # 入手SD888的第一天起，我就察覺到發熱耗電問題。\n靠著刷SD888 Efficient Turning模組，稍微降頻壓制了發熱，可是依然耗電\n我考慮用SecondScreen將手機解析度降為720p（1700x720，DPI 300），但是我覺得這個效果跟開啟深色模式一樣微乎其微。還不如進一步降低核心頻率，或者乾脆把SD888的大核和中核全部關掉，只剩下小核在線上。不過這樣就犧牲了玩遊戲效能。\n手機最重要的應該是好攜帶與長續航，其他都是其次。唉，習慣Xperia 10 V（SD695 + 5000mAh）的8小時SOT(螢幕使用時間)之後，不管換哪支續航都不合我意\n可旗艦機就算效能強又如何，不過是玻璃大砲。根據GSMArena資料，恐怕只有200g以上的超重手機能超越8小時SOT，或者起碼得是8Gen3處理器才有最佳能效比。Pixel 6a縱然相對省電，可是Tensor G1架構怎麼調都是只有5小時SOT。\n現在使用Xperia 1 III + LineageOS，4500mAh電池健康度80%，為了解決SD888的發熱與耗電導致SOT只有4小時的問題，我嘗試調教一下系統深處的東西，總覺得降解析度到720p跟開啟深色模式一樣沒什麼效果，還會影響視覺效果，維持1080p就好。\nSD888（1x 2.84GHz X1 + 3x 2.4GHz Cortex A78 + 4x 1.8GHz Cortex A55）\n動機來自SD695（2x 2.2GHz Cortex A78 + 6x 1.8GHz Cortex A55），在Xperia 10 V的使用經驗，讓我想要追求8小時SOT\n這根本不可能的事情！這個要求我知道很不合理，好比二戰日本海軍要求零戰速度快又要輕量又要能飛3000公里一樣瘋狂。但是我們可以無限逼近。\n這是一個自廢武功的操作，實際上，或許我不需要那麼多強力的效能。我不涉及複雜的能效曲線設計，不去算哪個頻率比較好，不去折騰kernel governor。就只是暴力的關掉我不需要的核心，達成省電效果。\n我發現Android 16現在不能用SmartPack Kernel Manager（Kernel Auditor的fork）關核心與調整頻率了，它會自己彈回去。這樣的話就只能用Magisk模組去壓了，它有常駐系統服務的功能。中國開發者有製作過SD888 Efficient Tuner模組，可以抑制發熱但還是耗電。我以這個模組為藍本，半vibe coding的協助下寫了我第一個Magisk模組。透過傳一些參數，關掉X1超大核，中小核限制在2GHz以下，並將核心頻率調整到類似SD695的水準。\n預期目標 # 這樣歸納出了SD888的三檔電源模式，SOT時間來自AccuBattery估算：\n日用省電小卡頓模式：4x Cortex A55，SOT時間約6小時 日用流暢模式：2x Cortex A78 + 4x Cortex A55，SOT時間約5小時 效能全開模式：1x Cortex X1 + 3x Cortex A78 + 4x Cortex A55，稍微降頻防止過熱，SOT時間約4小時 1x Cortex X1 + 3x Cortex A78 + 4x Cortex A55降頻，這樣SOT有無進步呢？嗯，提升不明顯，SOT撐死就從原本的4小時提升到5小時。這續航看起來沒救了，我還是別浪費錢換電池了吧。\n喔，還有一招，大核中核全關掉，只剩4個A55小核在線上，實測就可以有6小時SOT啦。\n4x Cortex A55基本上已經把手機弄到變成RK3566開發板的等級了。但是因為Adreno 660 GPU還在線上所以Android UI不至於非常卡，當然120Hz是不可能使用的了。\n這個模式連玩FGO都會卡。\n相機啟動會頓個5秒，錄1080p60影片會lag。\n不過，就我大部份的操作場景來說（瀏覽器看社群網站 + 背景播放音樂），滑動還是流暢的，其實我是可以忍受。 利用Magisk模組關核心 # 有Root權限比較方便。用Magisk模組來關掉核心，只要往/sys/devices/system/cpu/cpuX/online傳入0就能關閉核心。\n以SD888 Efficient Tuner為範本，只要修改Magisk模組中的service.sh，設定要常駐執行的指令就行了。然後修改module.prop數值，壓縮為.zip刷入。\n展開：日用省電小卡頓模式 4x Cortex A55 #!/system/bin/sh MODDIR=${0%/*} # 等系統、thermal、vendor service 完全起來 sleep 35 # CPU governor（保守） for gov in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do chmod 644 $gov echo schedutil \u0026gt; $gov done # 小核 A55（cpu0 1 2 3） for cpu in 0 1 2 3; do chmod 644 /sys/devices/system/cpu/cpu$cpu/cpufreq/scaling_max_freq done # 中核 A78 (cpu 4 5 6 7) 全關閉 for cpu in 4 5 6 7; do chmod 644 /sys/devices/system/cpu/cpu$cpu/cpufreq/scaling_max_freq echo 0 \u0026gt; /sys/devices/system/cpu/cpu$cpu/online done chmod 644 /sys/devices/system/cpu/cpu4/online echo 0 \u0026gt; /sys/devices/system/cpu/cpu4/online chmod 644 /sys/devices/system/cpu/cpu5/online echo 0 \u0026gt; /sys/devices/system/cpu/cpu5/online chmod 644 /sys/devices/system/cpu/cpu6/online echo 0 \u0026gt; /sys/devices/system/cpu/cpu6/online # 大核 X1（cpu7）關閉 chmod 644 /sys/devices/system/cpu/cpu7/online echo 0 \u0026gt; /sys/devices/system/cpu/cpu7/online # GPU（Adreno 660）降頻 chmod 644 /sys/class/kgsl/kgsl-3d0/max_pwrlevel echo 5 \u0026gt; /sys/class/kgsl/kgsl-3d0/max_pwrlevel # Scheduler（減少升核） if [ -e /proc/sys/kernel/sched_upmigrate ]; then echo 95 \u0026gt; /proc/sys/kernel/sched_upmigrate fi if [ -e /proc/sys/kernel/sched_downmigrate ]; then echo 85 \u0026gt; /proc/sys/kernel/sched_downmigrate fi # cpuset（背景只跑小核） if [ -e /dev/cpuset/background/cpus ]; then echo 0-3 \u0026gt; /dev/cpuset/background/cpus fi if [ -e /dev/cpuset/system-background/cpus ]; then echo 0-3 \u0026gt; /dev/cpuset/system-background/cpus fi exit 0 展開：日用流暢模式 2x Cortex A78 + 4x Cortex A55 #!/system/bin/sh MODDIR=${0%/*} # 等系統、thermal、vendor service 完全起來 sleep 35 # CPU governor（保守） for gov in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do chmod 644 $gov echo schedutil \u0026gt; $gov done # 小核 A55（cpu 0 1 2 3） for cpu in 0 1 2 3; do chmod 644 /sys/devices/system/cpu/cpu$cpu/cpufreq/scaling_max_freq done # 中核 A78（cpu 4 5 6）關閉1中核並降頻 chmod 644 /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq echo 2227200 \u0026gt; /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq chmod 644 /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq echo 2227200 \u0026gt; /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq chmod 644 /sys/devices/system/cpu/cpu6/online echo 0 \u0026gt; /sys/devices/system/cpu/cpu6/online # 大核 X1（cpu7）關閉 chmod 644 /sys/devices/system/cpu/cpu7/online echo 0 \u0026gt; /sys/devices/system/cpu/cpu7/online # GPU（Adreno 660）降頻 chmod 644 /sys/class/kgsl/kgsl-3d0/max_pwrlevel echo 5 \u0026gt; /sys/class/kgsl/kgsl-3d0/max_pwrlevel # Scheduler（減少升核） if [ -e /proc/sys/kernel/sched_upmigrate ]; then echo 95 \u0026gt; /proc/sys/kernel/sched_upmigrate fi if [ -e /proc/sys/kernel/sched_downmigrate ]; then echo 85 \u0026gt; /proc/sys/kernel/sched_downmigrate fi # cpuset（背景只跑小核） if [ -e /dev/cpuset/background/cpus ]; then echo 0-3 \u0026gt; /dev/cpuset/background/cpus fi if [ -e /dev/cpuset/system-background/cpus ]; then echo 0-3 \u0026gt; /dev/cpuset/system-background/cpus fi exit 0 關掉核心之後可以用Termux執行sudo htop指令，檢查CPU核心是否真的顯示offline了。 與其關核心還不如使用Scene # 經過神人推薦，發現了這個中國神人開發的APP。其實Scene的效果就很好了，全部核心暴力關掉還不如優化過的演算法調度。它可以在不暴力關閉核心的情況下達成很好的省電效果。\n而且這個APP也有關核心的功能。\n安裝Scene，開啟均衡模式。不需要刷SD888 Efficient Tuning，讓它自己在背景調控頻率就行了 在不關閉任何核心的情況下，Scene達成的續航力效果，從AccuBattery的資料來看，幾乎跟Cortex A55 x4的成果相當 ","date":"2026年1月5日","externalUrl":null,"permalink":"/posts/android-disable-cpu-cores/","section":"所有文章","summary":"在聽Paul Yang - Everytime You Go Away的時候做的實驗\n討論關掉手機核心達成省電的方法。\n為了拯救Xperia 1 III的高通SD888續航力，踏上了路途。\n後來又發現，其實不應該做這種暴力的操作，只要有一個針對電源模式極度優化的演算法APP就能解決了。\nHey, if we can solve any problem. Then why do we lose so many tears?\n評析 # 入手SD888的第一天起，我就察覺到發熱耗電問題。\n靠著刷SD888 Efficient Turning模組，稍微降頻壓制了發熱，可是依然耗電\n我考慮用SecondScreen將手機解析度降為720p（1700x720，DPI 300），但是我覺得這個效果跟開啟深色模式一樣微乎其微。還不如進一步降低核心頻率，或者乾脆把SD888的大核和中核全部關掉，只剩下小核在線上。不過這樣就犧牲了玩遊戲效能。\n手機最重要的應該是好攜帶與長續航，其他都是其次。唉，習慣Xperia 10 V（SD695 + 5000mAh）的8小時SOT(螢幕使用時間)之後，不管換哪支續航都不合我意\n可旗艦機就算效能強又如何，不過是玻璃大砲。根據GSMArena資料，恐怕只有200g以上的超重手機能超越8小時SOT，或者起碼得是8Gen3處理器才有最佳能效比。Pixel 6a縱然相對省電，可是Tensor G1架構怎麼調都是只有5小時SOT。\n","title":"Android手機CPU關核心降頻省電，以高通SD888為例","type":"posts"},{"content":" Ivon的Sony Xperia 10 V性能強化週間，改善系統延遲度、改善拍照效果、改善喇叭外放。\n介紹如何解鎖Sony Xperia 10 V (XQ-DC72) 的Bootloader，取得Root權限。 Ivon想Root的原因是這支明明有雙喇叭音質還是很破，想說刷杜比音效模組改善之。\n本文教學的步驟亦適用於Xperia 10、Xperia 10 II、Xperia 10 III、Xperia 10 IV、Xperia 10 VI、Xperia 10 VII。\n影片過程參考 1. Root後會失去的東西 # 首先一定是破保的，DRM從L1掉到L3（雖然我這邊檢測還是L1）\nPlay Integrity過不了，銀行APP閃退，部份APP不給裝，需要裝模組隱藏root。 如果使用原廠Sony ROM的場合，Root後無法直接OTA更新，需要把boot.img刷回來的迂迴方式才能保持Root。參照透過NewFlasher安裝OTA更新。\n除此之外的功能不影響，360 Reality Audio、原始模式螢幕色彩、相機演算法（中階機有演算法可言？）在Root後仍正常運作。\n未來反悔能無痛刷回原廠，不需要備份TA分區。\n嘛，在LineageOS出了之後，我就馬上刷成第三方ROM了，Roo後更新沒那麼麻煩。\n2. 準備工具 # 本文提及的工具支援Linux與Windows系統。\n下載Platform Tools，內含ADB與Fastboot執行檔\nWindows系統需要安裝Sony驅動程式，Linux不用。並請確認手機用USB插到電腦可以用MTP傳檔案。\n將手機上該備份的都備份，Google帳號登出，等下資料會全部清除。\n3. 解鎖Bootloader # 到手機系統設定 → 關於，對版本號碼點5下\n搜尋「開發人員選項」，進入後勾選「允許OEM解鎖」和「啟用ADB偵錯」 到手機系統設定 → 關於，記下手機的IMEI碼\n到Sony官方解鎖網頁，選取Xperia 10 V，填入IMEI碼，勾選二個同意，之後會生成一組解鎖代碼 將手機連接到電腦\n開啟終端機，輸入ADB指令讓手機進入bootloader\nadb devices adb reboot bootloader 輸入指令解鎖，後面的數字規則為「0x」＋解鎖碼 fastboot oem unlock 0x解鎖碼 重新開機，會顯示Erasing清除手機資料。 fastboot reboot 開機後重新設定Xperia，進入桌面。 4. 修補過boot.img取得Root權限 # 選取一個Root方案，過去我是用Magisk，不過現在為了更好的隱藏Root，我用APatch。\n如果你使用的是Sony原廠ROM，需要使用Sony Dump Tool，抽取原廠韌體的boot.img。 至於LineageOS的話，到官網下載目前版本的boot.img即可。\n修補boot.img後，將手機接到電腦，讓其進入bootloader模式：\nadb reboot bootloader 之後，刷入修補過的boot.img fastboot flash boot magisk_patched_boot.img 以Magisk Manager為例，開機後檢查顯示「已安裝」，至此Root完成 5. 刷入第三方ROM # 選擇性步驟。\n在我當初購買的時候，這支才出3個月，沒有第三方ROM能刷機，所以是Root後繼續使用Sony原廠ROM。\n2025年之後終於有LineageOS能刷了！LineageOS可以在Sony原廠系統停止更新之後繼續獲得系統更新，不保證穩定性。\n參見Xperia 10 V刷LineageOS\n6. Xperia 10 V系統優化 # 這裡的系統優化方案適用Sony原廠ROM與LineageOS。有Root權限比較好操作。\n在進行一些優化後，Ivon的Xperia 10 V體驗好了一些，獲得更高的流暢度的同時，也沒有犧牲續航力，手機亦不發熱。續航力在一直滑的情況下SOT仍有辦法撐8個小時以上。\n停用溫度控制 # 溫度控制又稱過熱保護。該服務會在手機溫度過高的時候禁止使用相機。SD595本身不太會發熱，限制溫度只會導致卡頓，且Sony的溫控觸發閾值太低了。\n溫控保護這個機制只有Sony原廠ROM有，如果使用Scene工具箱它會自動幫你停用。\n下載Platform Tools\n在關於手機 → 版本號碼點三下，啟用開發人員選項\n進入開發人員選項，啟用ADB偵錯\n將手機接到電腦，啟用ADB連線\n輸入以下指令停用溫控，手機重新啟動。\nadb shell pm disable-user com.sonyericsson.psm.sysmonservice 安裝Scene改善卡頓 # 我覺得有感的是Scene工具箱，或者使用Uperf Game Turbo。 SD695兩大核六小核的低效能帶來的隨機UI卡頓發作機率，會下降了一點。也有可能只是心理作用。\n到開發人員選項，勾選「停用硬體重疊圖層」讓GPU去算繪可以增加一點流暢度。\nAndroid 16以上版本到開發人員選項，關閉「允許視窗層級模糊處理」可以減少動畫卡頓感。\n安裝杜比音效改善喇叭外放 # Xperia 10 V的前置雙喇叭外放普普，我需要更強的效果。\n八卦是，舊款Xpeira 10系列原廠其實是有杜比音效的，甚至有HDR顯示螢幕，但是新版都被偷掉了！！！\n既然Sony在中階機偷掉了杜比音效軟體，就用額外音效模組來補。\n想要杜比音效(Dolby Atmos)的請在Root後安裝reiryuki移植的Dolby Atmos Sony Xperia 5 V Magisk Module模組，這樣聲音效果就會改善許多。 刷這個360-Reality-Audio-Upmix-Sony-Xperia-5-V-Magisk-Module可以取得360 Reality Audio。\n另請參閱Vpiper4Android，效果依然不賴。 音效模組尚有JamesDSP模組，JamesDSP我使用Root版本，全域生效。實測開Multimodal等化器+Movie Preset，手機最大音量增大約30%，聽感也有改善，不會再像原廠那樣平淡無奇。\n","date":"2026年1月5日","externalUrl":null,"permalink":"/posts/sony-xperia-10-v-root/","section":"所有文章","summary":" Ivon的Sony Xperia 10 V性能強化週間，改善系統延遲度、改善拍照效果、改善喇叭外放。\n介紹如何解鎖Sony Xperia 10 V (XQ-DC72) 的Bootloader，取得Root權限。 Ivon想Root的原因是這支明明有雙喇叭音質還是很破，想說刷杜比音效模組改善之。\n本文教學的步驟亦適用於Xperia 10、Xperia 10 II、Xperia 10 III、Xperia 10 IV、Xperia 10 VI、Xperia 10 VII。\n影片過程參考 1. Root後會失去的東西 # 首先一定是破保的，DRM從L1掉到L3（雖然我這邊檢測還是L1）\nPlay Integrity過不了，銀行APP閃退，部份APP不給裝，需要裝模組隱藏root。 如果使用原廠Sony ROM的場合，Root後無法直接OTA更新，需要把boot.img刷回來的迂迴方式才能保持Root。參照透過NewFlasher安裝OTA更新。\n除此之外的功能不影響，360 Reality Audio、原始模式螢幕色彩、相機演算法（中階機有演算法可言？）在Root後仍正常運作。\n未來反悔能無痛刷回原廠，不需要備份TA分區。\n嘛，在LineageOS出了之後，我就馬上刷成第三方ROM了，Roo後更新沒那麼麻煩。\n2. 準備工具 # 本文提及的工具支援Linux與Windows系統。\n","title":"Sony Xperia 10 V的Root與性能優化，改善卡頓、裝Dolby Atmos提昇喇叭外放","type":"posts"},{"content":"推薦一些Ivon覺得不錯的Magisk模組（模塊，modules），以跨裝置、實用性、開源、常常有在更新的為主，包含一些Root權限APP。\n圖例：使用「Iconify」模組，自訂Android的Material You外觀與鎖定畫面。 因應時代變化，有些Magisk模組作者也會陸續改寫，支援新興的Root方案，包括KernelSU與APatch。\n系統：原生Android 16\n如何安裝Magisk模組 # 首先您要解鎖手機Bootloader，再刷入Magisk取得Root權限，就會得到Magisk Manager。\nMagisk作者幾年前把內建的模組倉庫砍掉了，使用者得手動下載模組安裝。下面我介紹的模組都會提供可信賴的網站的連結，不用到奇怪的網站下載。\n一般Magisk模組裝法：到Github或XDA下載模組zip，開啟Magisk，點選模組 → 從本機安裝，選取檔案，重開機即完成安裝。 覺得手動下載模組不方便的，你可以用MMRL或者Androidacy Module Manager從統一的儲存庫下載模組，方便未來自動更新。 關於Magisk模組倉庫，在Magisk作者砍掉Magisk模組倉庫後，最大的倉庫便是Magisk Alt Repo，還有Androidacy經營的Magisk模組倉庫了。\n1. 防Root偵測 # 跟Google安全機制鬥智鬥勇的模組們，防止APP一偵測到Root就不給用。\n隱藏Root的步驟時常在變動，請參考Magisk防Root偵測了解最新隱藏方法。\n另外一種防Root偵測的方式，就是拋棄Magisk，改用更隱蔽的Root方案，例如KernelSU或APatch。\n2. 自定義主題 # 由於Android 12之後有Material You可以改外觀，Ivon對自定義介面的模組沒太大興趣ㄌ 我也不太喜歡單純啟用特定系統功能的模組，例如MIUI字體與MIUI相機，或是啟用Emoji，除非它沒有限定特定品牌機型才能裝。\n名稱 說明 Font Manager Androidacy推出的模組，支援下載200種以上字體與Emoji。該模組沒有圖形介面，裝完後需使用輸入su -c manage_fonts進入管理介面。Androdacy的倉庫也有提供許多單獨的字體模組。 Iconify 自定義Android系統圖示的模組，支援多種UI元素修改，可以自訂全域圓角半徑、更換系統圖示、自訂鎖定螢幕小工具。 PixelXpert Magisk＋Xposed混合模組，舊名AOSPMods。自定義Android系統的圖示，舊版AOSPMods可以修改任何原生系統手機的ROM，新版僅支援Pixel手機。 Pixelify-Next 將Android系統界面變成Pixel手機的樣子，解鎖Google獨家功能。 Fullscreen Immersive Gestures 強制啟用全螢幕模式，移除底部手勢橫條，適合想最大化畫面空間的使用者。 SMbootFX 自訂開機動畫。 video-to-bootanimation 將.mp4影片轉為開機動畫。 LiveBoot 移植自Chainfire的同名軟體，設定開機啟動輸出tty訊息。 词幕 在狀態欄顯示動態歌詞，支援Spotify與網易雲音樂。 3. 多媒體 # 名稱 說明 Viper4Android 中國的蝰蛇音效模組，提升手機揚聲器與耳機的音效，模擬各種耳機與揚聲器的效果，加強重低音。歷史悠久的音效增強軟體，封閉原始碼。ViPER4AndroidRepackaged為打包好的Magisk模組，裝完就可以用。還有一個版本是用全新Material You設計語言重寫的ViperFX RE。 Dolby Atmos 杜比音效模組，從原廠ROM抽出APK，可以裝在其他品牌的手機，強化揚聲器音效。開發者reiryuki移植了許多手機的Dolby Atmos的音效，其中我最喜歡的是這個Sony-Xperia-10-Magisk-Module，除了Dolby Atmos之外，還有Sony Sound Enhancement，內含DSEE HX、Clear Audio+、VPT、xLOUD音效技術。 JamesDSP 提升手機喇叭與耳機音樂表現的音效模組，開源跨平台。Viper4Android的替代品，需要手動調整等化器參數。 Basic Call Recorder 通話錄音專用APP。 SBC XQ Bluetooth Audio Codec 啟用SBC-XQ編碼器，將SBC的位元率提昇到最高551kbps，提昇藍牙耳機音質，但有機率弄壞藍牙驅動。 4. 擋廣告 # 名稱 說明 Youtube ReVanced Magisk Module 無廣告的YouTube。其實不用root也能裝，可用ReVanced Manager 手動修補YouTube APK並安裝 microG。差別在於Magisk版本可無縫替換系統的YouTube，並防止Google Play商店自動更新。 Adaway 改 host擋廣告的軟體，簡單易用。非Magisk 模組。需在Magisk Manager設定啟用主機模組，然後安裝 Adaway APK。 Energized Protection 功能比Adaway更多的擋廣告模組，阻擋追蹤器與惡意網站。可自訂清單組合。無圖形介面，需用Termux 執行su -c energized進入管理介面。 5. 性能提升與省電 # 名稱 說明 dfps 動態控制手機螢幕重新整理率，節省電量。 Uperf 又稱YC調度，可以選擇提升Android反應速度，或是進入省電模式。Uperf是針對個別處理器和系統事件優化的，需等作者一一適配。 Uperf Game Turbo 更新比較積極的uperf fork。提升Android反應速度，或是進入省電模式。 Scene工具箱 提供調整手機效能的工具，一鍵切換省電模式與效能模式，可以視為uperf的前端。有動態響應模式，根據目前執行的APP切換適當的效能模式。懸浮窗顯示手機CPU使用率與FPS資訊，記錄遊戲FPS幀率變化，旁路充電，修改機型，凍結背景APP執行。需要使用Root權限或者ADB啟用。v4版本是開源的，v8需要購買完整版。 KonaBess GPU超頻軟體，需手動調整電壓和頻率。僅支援特定Qualcomm Snapdragon處理器。可以用來超頻提升效能，或者降頻減少手機發熱情況。 KTweak 提升Android反應速度，不限機型皆可使用。作者宣稱程式碼比其他性能提升模組（NFS injector、LKT、MAGNETAR）要公開透明，基於事實證據對系統進行調校。這裡提供的連結是前端APP，每次開機後自動啟用指令稿，就不需要裝Magisk模組了。提供balance與latency模式，後者以反應速度優先。 Universal GMS Doze 強迫Google服務配合Android系統休眠機制，達成省電效果。 GPU Turbo Boost 借鑒自華為的GPU Turbo技術，作者宣稱可以提升GPU 75%效能，降低25%耗電。僅支援Qualcomm Snapdragon處理器，開箱即用。 Android 7+ Swapfile Mod 使用SWAP技術增加手機的RAM。 6. 實用工具 # 名稱 說明 Vector Framework Xposed框架最新的主流分支，需要先安裝Zygisk才能運作。fork自已經停止更新的LSPosed。Xposed另有自己的一套模組體系，Xposed是其運作的核心。由於Xposed框架能攔截系統呼叫，Xposed模組可以對Android系統做更深入修改，例如修改APP的行為，禁止特定視窗顯示。 ChromeXt 使用Xposed框架，讓基於Chromium的WebView能夠使用UserScript和DevTools。也就是說，任何基於Chromium開發的瀏覽器APP都可以使用UserScript載入自訂JS和DevTools偵錯了。 Open WebView 全域替換Android系統的WebView。 BuiltIn-BusyBox 將Linux常用的系統工具安裝至系統供其他APP使用，Magisk、KernelSU、APach已經內建Busybox，無需額外安裝。例如Termux chroot、lhroot、Linux Deploy，用於在Android系統建立Linux容器，跑電腦程式。此處的Busybox是以Magisk模組形式提供，不修改系統檔案，可取代Stericson製作的Busybox安裝器。如果這個不能用，也可以參考Busybox NDK。 Simple bootloop saver 防止Magisk模組出錯導致卡開機。 Daily Job Scheduler 時間排程、開機自動執行指令的模組。沒有圖形界面，需安裝Busybox再用Termux執行指令su -c djs。 Neo Backup 可以針對個別APP備份資料的備份工具，類似鈦備份。 ","date":"2026年1月5日","externalUrl":null,"permalink":"/posts/magisk-recommended-modules/","section":"所有文章","summary":"推薦一些Ivon覺得不錯的Magisk模組（模塊，modules），以跨裝置、實用性、開源、常常有在更新的為主，包含一些Root權限APP。\n圖例：使用「Iconify」模組，自訂Android的Material You外觀與鎖定畫面。 因應時代變化，有些Magisk模組作者也會陸續改寫，支援新興的Root方案，包括KernelSU與APatch。\n系統：原生Android 16\n如何安裝Magisk模組 # 首先您要解鎖手機Bootloader，再刷入Magisk取得Root權限，就會得到Magisk Manager。\nMagisk作者幾年前把內建的模組倉庫砍掉了，使用者得手動下載模組安裝。下面我介紹的模組都會提供可信賴的網站的連結，不用到奇怪的網站下載。\n一般Magisk模組裝法：到Github或XDA下載模組zip，開啟Magisk，點選模組 → 從本機安裝，選取檔案，重開機即完成安裝。 覺得手動下載模組不方便的，你可以用MMRL或者Androidacy Module Manager從統一的儲存庫下載模組，方便未來自動更新。 關於Magisk模組倉庫，在Magisk作者砍掉Magisk模組倉庫後，最大的倉庫便是Magisk Alt Repo，還有Androidacy經營的Magisk模組倉庫了。\n1. 防Root偵測 # 跟Google安全機制鬥智鬥勇的模組們，防止APP一偵測到Root就不給用。\n","title":"2026年Magisk推薦安裝的模組，提升手機效能、擋廣告、自定義主題","type":"posts"},{"content":"","date":"2026年1月5日","externalUrl":null,"permalink":"/tags/date-a-live/","section":"標籤","summary":"","title":"Date a Live","type":"tags"},{"content":" 說道推薦的約會大作戰H本，不能錯過這本。\n(C84) [ろ～たり～Engine (神無月元史)] HIGHSCHOOL OF THE DATE (デート・ア・ライブ)是神無月元史老師在2013年推出的同人誌。 ろ～たり～Engine(神無月元史)近年來雖然出的本不多，現在他好像做rig比較多，卻是我記憶中印象最深刻最好的約會大作戰本了。\n這本用了十年，依然好用。我想裡面多少也有點回憶加成的作用，當初約會大作戰動畫第二季（看看現在都第五季了啊\u0026hellip;\u0026hellip;橘公司真會寫）播完後，一看到這本的時候就愛上了裡面各種穿著靈裝的「新鮮玩法」。在畫風和體位上，都遠遠勝過當時的各種的約會大作戰本子。\n這本裡面，自走砲士道把當時剛出來的主要女主角：琴里、十香、四糸乃都幹過一輪了，可惜沒有狂三。\n如果真的想要狂三的，可以看[感電少女注意報 (真冬)] 少女狂騷恋歌 (デート・ア・ライブ)或者(C84) [電萌 (Cait)] 狂騷三重曲 (デート・ア・ライブ)補足，還有士道穿女裝被八舞姊妹玩弄的參考(C84) [なごみやさん (鈴木和)] 士織ちゃん、八舞丼おかわり (デート・ア・ライブ)。雖然我覺得那些劇情都沒有這本生動。\n一上來琴里就足交，啊但是這我沒有興趣。後面幹死她的橋段比較精彩。 十香的乳交很有殺傷力，明明是新手卻很懂得摩擦雞雞，整根包覆住 喔喔那個乳壓，還有嘴巴的吸吮！這個角度很有破壞力，乳頭往內擠與小嘴同時進攻，充分表現出乳房壓迫雞雞的衝擊力。 用大屌甩妳臉，喝妳的尿當作補償 戰鬥開始～十香和四糸乃交疊在一起，同時品嚐兩種不同味道的穴，都是極品啊～他說十香是少女一般肉厚的穴，四糸乃是夾的超緊的蘿莉穴。雖然作者把她們畫的好像都沒差就是了，大概是屌真的太大了，畫得比十香的鏖殺公還長，導致不管插哪裡都是整個撐開 我最愛這幕了，上面要挑逗滿足琴里，下面要忙著交互抽插滿足兩人，只想著愛愛的發情野獸，像公狗一樣瘋狂交配。不知道是怎麼辦到同時在雙穴裡面射精的XD 這是光速一般地交互抽插？ 即使幹到軟了也必須繼續努力4P！\n用正攻法幹死囂張的琴里 誘惑大人的可惡蘿莉小穴！四糸乃真是壞孩子呢，抱起來瘋狂抽送 最後一個後背位，把癱軟的十香從地上拉起來暴力抽插，蹂躪奶子，再全部注入精子到子宮內。以極其爽快的畫面結束，這個角度可以觀察到是充滿怒氣與雄性威武的射入，徹底征服女性的最深處。「連做愛的愛字都不會寫，居然還敢誘惑我！？」當初我小小年紀看到漢化組翻譯的這一句很是震驚，曾經無意識中地跟女同學這樣說，差點被告性騷擾。 總之這本可以切切實實的體會到4P之後精疲力盡的樣子，要多吃補腎食物啊。 ","date":"2026年1月5日","externalUrl":null,"permalink":"/posts/kannazuki-motofumi-high-school-of-the-date-review/","section":"Nsfws","summary":" 說道推薦的約會大作戰H本，不能錯過這本。\n(C84) [ろ～たり～Engine (神無月元史)] HIGHSCHOOL OF THE DATE (デート・ア・ライブ)是神無月元史老師在2013年推出的同人誌。 ろ～たり～Engine(神無月元史)近年來雖然出的本不多，現在他好像做rig比較多，卻是我記憶中印象最深刻最好的約會大作戰本了。\n這本用了十年，依然好用。我想裡面多少也有點回憶加成的作用，當初約會大作戰動畫第二季（看看現在都第五季了啊……橘公司真會寫）播完後，一看到這本的時候就愛上了裡面各種穿著靈裝的「新鮮玩法」。在畫風和體位上，都遠遠勝過當時的各種的約會大作戰本子。\n這本裡面，自走砲士道把當時剛出來的主要女主角：琴里、十香、四糸乃都幹過一輪了，可惜沒有狂三。\n","title":"令人難以忘懷的經典約會大作戰4P本子：HIGHSCHOOL OF THE DATE","type":"nsfw"},{"content":" 這裡列出的是Ivon我這幾年用Linux當桌面系統下來常常用到，並覺得實用的軟體/软件。這些軟體包含上網、文書處理、圖像編輯、影片剪輯轉檔、玩遊戲、寫程式、實用工具。Ivon認為這些軟體應能符合日常使用桌面Linux系統的需求，並附上使用方法。 這裡Ivon不是像Wiki一樣，條列出Linux有哪些軟體能用。而是實際操作過該軟體，覺得好用才放進來。\nLinux系統的特色是尊重使用者的自由，因此Ivon推薦的大部分都是開放原始碼又免費的軟體，有中文界面。不論你使用的是哪個Linux發行版，應該都能找到本文介紹的軟體。\n雖然文章標題說是「必裝」，但不一定要真的全裝，選擇適合自身情況的軟體就行。\nLinux系統如何安裝軟體？ # 視你使用的Linux發行版而定，主要就二種方法：\n應用程式商店。開啟Linux應用程式商店搜尋軟體安裝。Ubuntu、Fedora、Arch Linux都有內建軟體商店，在這裡您可以按照分類探索軟體！ 用原生套件管理員(native package manager)裝軟體。Linux發行版一定都有套件管理員，開終端機打指令安裝。例如安裝Firefox只要一行指令：\n# Ubuntu sudo apt install firefox # Fedora sudo dnf install firefox # Arch Linux sudo pacman -S firefox 非必要情況下，請勿用手動make install編譯的方式安裝軟體，這會導致軟體版本升級不易。建議優先嘗試應用程式商店和套件管理員來安裝軟體。\n更詳細的Linux安裝軟體指南請看Linux應該如何安裝軟體以及Linux如何解除安裝軟體\n網頁瀏覽器 # Firefox網頁瀏覽器\n名稱 介紹 Mozilla Firefox 跨平台的開源瀏覽器，許多Linux發行版的預設瀏覽器。預設有保護隱私的功能，登入Mozilla帳號後即可同步瀏覽資料和書籤。 Zen Browser 跨平台的開源瀏覽器，基於Firefox開發。界面十分有設計感，提供側邊分頁欄、懸浮網頁視窗、工作區、分割螢幕的功能，緊湊模式能夠隱藏所有UI的干擾元素。支援登入Mozilla帳號同步資料。詳細使用方法 LibreWolf 跨平台的開源瀏覽器，基於Firefox開發，去除所有Mozilla添加的追蹤器，隱私保護模式設為最嚴格。預設搜尋引擎沒有Google。內建uBlock Origin擋廣告。 Chromium Google Chrome的上游開源版本，不支援登入Google帳號同步資料。 Google Chrome 【專有軟體】跨平台的瀏覽器，基於Chromium開發，支援登入Google帳號同步資料，市占率最高的瀏覽器。 詳細使用方法 Microsoft Edge 【專有軟體】跨平台的瀏覽器，基於Chromium開發，支援登入微軟帳號同步資料，Microsoft Windows系統的預設瀏覽器。 Brave Browser 跨平台的瀏覽器，基於Chromium開發，主打隱私與Web3生態系的瀏覽器，內建擋廣告程式與隱私保護功能。 Tor Browser 跨平台的瀏覽器，基於Firefox開發，專為Tor網路的使用者打造的隱私瀏覽器。開啟後會自動啟用Tor網路，但只有瀏覽器裡面的連線會走Tor連線。 詳細使用方法 輸入法 # Fcitx5輸入法框架\n名稱 介紹 iBus 輸入法框架，為GNOME桌面預設使用的輸入法框架，支援注音、拼音、日文、韓文輸入。 Fcitx5 小企鵝 輸入法框架，支援搭配注音(新酷音、小麥、RIME)、漢語拼音、雙拼、五筆、倉頡、嘸蝦米、日文(Mozc, Anthy)、韓文(Hangul)、越南文(Unikey, Bamboo)使用，支援繁簡轉換。 詳細使用方法 RIME 中州韻 自由度高的輸入法引擎，支援注音、拼音等方案，需要多花點時間配置輸入法。 GCIN 跨平台的中文輸入法，支援注音、倉頡、行列、嘸蝦米、大易。 HIME 詞音 衍生自GCIN的中文輸入法。 SCIM 支援多國語言的輸入法框架，因為結構老舊現在比較少人用了。特色是支援台語輸入。 文書處理 # LibreOffice Writer編輯文件\n名稱 介紹 LibreOffice 相容Microsoft Office文件的文書處理軟體，可製作文字文件、試算表、簡報、編輯PDF、編輯數學公式。支援開啟.odt, .odx, .odf, .ods, .docx, .xlsx, .pptx格式的文件。中華民國數發部另有針對台灣用戶習慣釋出在地修改版「ODF文件應用工具」。 詳細使用方法 OnlyOffice 類似Microsoft Office，介面比較漂亮，支援Nextcloud雲端協作。 WPS Office 【專有軟體】中國金山公司開發的文書軟體，功能非常接近Microsoft Office。 Microsoft Office 【專有軟體】世界上最流行的套裝文書軟體，沒有原生Linux版本。Office 365以前的舊版本2016、2010、2007可以用Wine跑。 Stirling PDF 大補帖式的PDF處理軟體。支援合併PDF、分割PDF、調整PDF對比度、PDF新增浮水印、批次PDF重新命名、OCR抽取PDF文字、PDF轉圖片、PDF轉Word、圖片轉PDF。 詳細使用方法 Scribus 專業書籍排版軟體。 Joplin 跨平台筆記軟體，以Markdown格式儲存筆記，提供手寫功能。支援雲端同步。類似Evernote。 詳細使用方法 AFFiNE 跨平台的知識管理軟體，提供筆記、白板、月曆、看板功能，支援多人協作。類似Notion和Miro。 Rnote 跨平台，專為觸控筆手寫設計的筆記軟體，支援手掌防誤觸。具有筆跡校正功能，無限畫布延展，同時檢視多個檔案，可匯入PDF註釋。 Xournal++ 支援觸控筆手寫的筆記軟體，支援手掌防誤觸，有匯入PDF註釋的功能。 Saber Notes 跨平台，專為觸控筆手寫設計的筆記軟體，有匯入PDF註釋的功能。詳細使用方法 Okular PDF和電子書文件檢視器，類似Adobe Acrobat，可以開啟PDF, PS, Tiff, CHM, DjVu, Images, DVI, XPS, Fiction Book, Comic Book, Plucker, EPub, Fax格式，支援標注文件。 KOReader 電子書閱讀器，專為E-ink螢幕設計，功能豐富。 詳細使用方法 calibre 電子書管理軟體兼閱讀器。可以讀取.epub、.mobi、.azw3、.pdf等格式。並開啟OPDS伺服器讓電子書閱讀器遠端讀取。 JASP 資料統計軟體。IBM SPSS的替代品。 ActivityWatch 統計螢幕使用時間，追蹤最常使用哪些應用程式。 詳細使用方法 看圖軟體 # Gwenview相片檢視器\n名稱 介紹 Gwenview KDE開發的看圖軟體，除了常見的圖片格式外還支援.webp、.avif、.heic格式，能夠檢視EXIF資訊。可簡單編輯圖片和加文字，支援讀取壓縮檔的圖片。 Nomacs 跨平台看圖軟體，除常見格式外還支援.webp、.avif、.heic等格式。可簡單調整圖片，支援批次圖片轉檔。 XnView MP 【專有軟體】商用需要購買授權。跨平台看圖程式，支援檢視EXIF資訊、美化圖片、標注文字、壓縮圖片、批次圖片轉檔、多張圖片拼貼成一張。 digiKam 整理照片的跨平台軟體，提供人臉辨識、標籤管理、依照照片GPS資訊顯示在OpenStreetMap地圖上，可以編輯EXIF資訊，附贈簡單修圖工具Showfoto，支援編輯RAW照片.dng檔。類似Adobe Lightroom。 Darktable RAW照片編輯器，支援編輯.dng檔。 影片與音樂播放器 # 播放影片的VLC\n名稱 介紹 VLC 跨平台影片播放器，支援大多數的影片與音樂格式，提供HEVC與AV1解碼。可以串流播放網路影片並錄影。提供簡單的影片格式轉檔功能。 MPV 跨平台影片播放器，提供HEVC與AV1解碼。介面較不友善但客製化程度高，內建yt-dlp，支援使用Anime4K達成放大畫質的效果，或使用VapourSynth的濾鏡補幀。 詳細使用方法 Tauon Music Box 音樂播放器，支援資料夾模式播放、廣播電台、Jellyfin、Spotify、音樂轉檔、顯示歌詞。歌詞可從線上抓取，或讀取本機.lrc檔。 Strawberry Music Player 音樂播放器。支援線上歌詞、從資料夾播放音樂、收聽廣播電台、音樂轉檔、播放dsf檔。界面類似foobar2000。 詳細使用方法 foobar2000 【專有軟體】可調整版面、轉檔、擷取CD的音樂播放器。該軟體並沒有原生Linux版，請用Wine跑exe。 詳細使用方法 修圖與繪圖軟體 # 編修照片中的Krita\n註：繪圖軟體包含2D與3D繪圖。\n名稱 介紹 GIMP 修圖軟體，支援編輯.psd檔案，繪圖功能較弱。 詳細使用方法 BIMP 依賴GIMP運作的批次照片轉檔程式。 詳細使用方法 Inkscape 向量圖片編輯器，類似Adobe Illustrator。 Krita 專業電腦繪圖軟體，支援繪圖板與自訂筆刷，可以繪製插畫、漫畫、動畫，類似Clip Studio Paint。因為介面操作類似Photoshop，所以也可以拿來修圖，編輯.psd檔案。支援AI生成繪圖。 詳細使用方法 Adobe Photoshop 【專有軟體】最流行的付費修圖軟體，沒有原生Linux套件，部份舊版本可以用Wine跑。 詳細使用方法 OpenToonz DWANGO開發的2D動畫製作軟體，另提供商業版的Toonz。吉卜力工作室有使用此軟體製作動畫。 Blender 萬能的3D建模軟體，還可製作動畫。類似Maya、3DS Max。 詳細使用方法 Autodesk Fusion 360 【專有軟體】工業建模軟體，部份版本在Linux可以用Wine跑。 Autodesk Maya 【專有軟體】專業3D建模軟體，官方有提供RedHat和Debian系發行版的原生套件。 FreeCAD 繪製CAD工程圖的軟體。 FreePlane 繪製心智圖。 XMind 【專有軟體】跨平台的心智圖繪製軟體，支援上傳到雲端。 ImageMagick (無圖形界面)用於圖片轉檔的純文字工具，能用來批次裁圖。 影片剪輯與轉檔 # 剪輯影片中的Kdenlive\n名稱 介紹 Flameshot 截圖軟體，功能豐富，可延時截圖、截圖自動複製到剪貼簿、截圖後加文字。 OBS Studio 錄影與直播工具，支援擷取單個視窗、加入音軌、開啟虛擬相機等複雜功能。 詳細使用方法 Kooha 簡易螢幕錄影軟體，能夠將螢幕操作錄製為.mp4或.gif，方便分享軟體操作畫面。 Kdenlive 功能齊全的影片剪輯軟體，可剪輯影片、轉檔影片、加字幕、AI上字幕、加特效。類似威力導演。 詳細使用方法 OpenShot 可剪輯影片、上字幕，但功能比較精簡。類似Windows Movie Maker。 Shotcut 支援調色的影片剪輯軟體。 Blender 能建3D模型，又能做特效，還能剪輯影片。 詳細使用方法 Davinci Resolve 【專有軟體】跨平台的專業影片編輯器，需要付費購買完整版。 Aegisub 專門用來製作srt、ass字幕的軟體。 Handbrake 影片轉檔軟體，支援將影片批次輸出為Youtube影片等常見格式。類似格式工廠。 詳細使用方法 MakeMKV 【專有軟體】讓Linux系統能轉檔播放藍光光碟。 詳細使用方法 ffmpeg (無圖形界面)很多影片編輯的程式其實都會用到它，萬能的轉檔軟體，可用來處理各種影片和音訊格式。 音訊編輯 # 名稱 介紹 Audacity 音訊剪輯、強化、降噪。 LMMS 跨平台音樂工作站軟體。 Kwave 錄音、音訊編輯軟體。 K3B CD/DVD光碟片燒錄程式。 MuseScore 跨平台的樂譜軟體。 EasyEffects 音效處理軟體，內含許多詳細的設定，可以改善Linux電腦喇叭、耳機的音質，增強聽感。 詳細使用方法 JamesDSP 音效處理軟體，增強聽感。 社群與通訊軟體 # Linux版Discord\n名稱 介紹 FreeTube 無廣告的Youtube客戶端。 詳細使用方法 Pidgin 支援IRC與許多社群網站的通訊軟體。 Fluent Reader RSS閱讀器 Jitsi Meet 會議視訊軟體。 Jami 會議視訊軟體。 Signal Element Mattrix Desktop Telegram Desktop 支援即時通話與分享螢幕。 Line 【專有軟體】需使用Bottles for Linux才能跑。 詳細使用方法 Discord 【專有軟體】支援即時通話與分享螢幕，偵測目前正在玩的遊戲。 Spotify 【專有軟體】提供Spotify Connect功能。 Zoom 【專有軟體】 QQ Linux 【專有軟體】 WeChat Linux 【專有軟體】 Linux玩遊戲與輔助工具 # 下載遊戲中的Linux版Steam\n雖然有很多遊戲提供原生Linux版本，但是很多遊戲依然只有Windows版，Linux需要靠Wine才能跑。\n除去Steam的以外，Linux平台也是有很多遊戲的，參見Linux玩遊戲分類。\n名稱 介紹 Steam 【專有軟體】購買與下載遊戲的平台，方便管理購買的遊戲，能夠偵測目前正在玩的遊戲。內建Steam Proton (Wine) 技術可讓你遊玩部份Windows平台的遊戲，ProtonDB資料庫顯示很多大型遊戲能以此方法執行，就像Steam Deck那樣。 詳細使用方法 Lutris 遊戲管理器，內部界面整合了Steam、Ubisoft Connect、EA app、Epic Games Launcher、GOG的啟動捷徑。也能夠管理遊戲主機模擬器的遊戲。 詳細使用方法 Bottles for Linux Wine的前端。用Wine跑Windows exe通常需要打指令，而Bottles將過程簡化為只要點幾下就能執行Windows程式，用來跑小程式十分有用。 詳細使用方法 RetroArch 跨平台的遊戲主機模擬器，支援模擬數十款以上復古遊戲主機和電腦系統，例如：MS-DOS、PC-98、Apple Macintosh、Commodore 64、SEGA Staturn、BANDAI WonderSwan、Coleco Vision、Nintendo 64、Sony Playstation等等。 詳細使用方法 GPU Screen Recorder 使用GPU錄製影片的軟體。類似Nvidia ShadowPlay，回放遊戲精彩片段。 詳細使用方法 MangoHud 在螢幕上顯示顯示CPU、GPU、FPS計數器、溫度、頻率，並有統計FPS報表的功能。類似MSI Afterburner。 詳細使用方法 vkBasalt 增強遊戲畫面的著色器，可達到銳化與一定的光影效果。ReShade可以在Linux使用，但僅Windows遊戲有效，vkBasalt則是進一步支援至原生Linux遊戲，並相容ReShade的著色器。 詳細使用方法 Moonlight + Sunshine for Linux 雲端串流遊戲軟體，可讓你從另一部電腦串流玩遊戲。 詳細使用方法 程式碼編輯器 # 編輯程式的Visual Studio Code\n名稱 介紹 Git 原始碼版本管理軟體。 Vim 自訂性極高，可在伺服器純文字介面運作，也可當一般桌面下的文字編輯器。熟練的話能當成程式開發的IDE。 Emacs 強大的純文字編輯器，可充當IDE，還內建小遊戲、瀏覽器。 Kate 使用QT框架的輕量文字編輯器，支援管理Git專案、diff比較文件、終端機、全域搜尋的功能。 Zed Rust寫成的輕量文字編輯器，繼承Atom的精神，支援管理Git專案、diff比較文件、終端機、全域搜尋的功能。內建AI輔助寫程式。 Visual Studio Code 【專有軟體】跨平台，可充當IDE的文字編輯器，支援管理Git專案。透過安裝擴充套件支援各種程式語言。勿跟「Visual Studio」搞混。 VSCodium 跨平台，不含Microsoft追蹤器，完全開源版的Visual Studio Code。 基於Code-OSS原始碼建置。 KDevelop KDE附屬的IDE。 GNOME Builder 開發GTK程式的IDE。 QT Creator 跨平台，專門寫QT框架程式的IDE。 IntelliJ IDEA 跨平台，寫Java程式的IDE。提供免費版。 PyCharm 跨平台，寫Python程式的IDE。社群版是開源的。 JetBrains Rider 跨平台，寫C#程式的IDE。 RStudio 跨平台，視覺化撰寫R語言程式的IDE，用於製作統計報表。 Android Studio 跨平台，開發Android App的IDE，附贈Google開發的Android模擬器。 Eclipse 跨平台，支援多種程式語言的IDE。 Unity Hub 【專有軟體】跨平台，開發Unity 3D應用程式的套件。 Unreal Engine 【專有軟體】跨平台，使用虛幻引擎開發遊戲的套件。尚提供測試電腦圖形效能的跑分軟體。 容器與虛擬化 # 執行Windows虛擬機的Virt Manager\n名稱 介紹 Virt Manager + QEMU/KVM 自訂性高的開源虛擬機軟體，可在Linux系統高效率執行Windows、macOS、Android-x86等其他系統的虛擬機，必要時可直通GPU給虛擬機增強圖形效能。 詳細使用方法 VMware Workstation 【專有軟體】商業虛擬機軟體，跨平台。 Oracle VirtualBox 開源虛擬機軟體，跨平台，界面操作比較好上手。 詳細使用方法 Docker 容器技術，比虛擬機省資源，跑伺服器服務、編譯程式很方便。 詳細使用方法 Waydroid 在Linux跑Android APP的容器技術，圖形效能跟原生的一樣快。 詳細使用方法 Genymotion 【專有軟體】跨平台的商業Android模擬器，上手簡單。 詳細使用方法 實用工具 # 檢視硬體資訊的Hardinfo\n名稱 介紹 Thunderbird 收發電子郵件、行事曆、代辦事項、通訊錄軟體，可以同步Google、Microsoft、Apple iCloud帳號的資料。 JDownloader 下載管理器，支援從各大網站下載影片，以及存取雲端硬碟的檔案等等。 詳細使用方法 File Centipede 下載管理器，支援下載免空檔案、m3u8影片、BT種子。 詳細使用方法 Xtreme Download Manager 管理大量下載任務的軟體。 qBitTorrent BT與磁力連結下載軟體，提供遠端存取的網頁界面。 詳細使用方法 RustDesk 跨平台遠端桌面軟體。 詳細使用方法 Gparted 磁碟分割、格式化軟體。 KDE Dolphin 功能眾多的檔案總管，支援檔案搜尋、以縮圖或資料夾結構檢視硬碟檔案。 KDE Filelight 硬碟空間分析工具，快速找出最大檔案。 詳細使用方法 KRename 批次重新命名檔案，支援複雜的重新命名規則。 Timeshift 電腦檔案備份軟體，支援備份整個系統分區。 詳細使用方法 Rclone 雲端硬碟的備份工具，支援Google Drive、OneDrive、MEGA、Dropbox等非常多家的雲端硬碟。Rclone內建網頁管理界面，如果你的雲端硬碟供應商沒有提供Linux版桌面客戶端，那麼可以用這個替代。 詳細使用方法 BleachBit 跨平台的電腦垃圾清理軟體，能夠清除套件管理器與其他程式產生的快取檔案，釋出空間。還有將硬碟填0，徹底粉碎已經刪除檔案的功能。 Czkawka 跨平台的搜尋程式，用於找出重複的檔案，或是以圖搜圖，尋找類似的檔案。詳細使用方法 balenaEtcher 開機USB隨身碟製作程式。 Ventoy 製作多重系統的USB開機碟，讓USB隨身碟既可當開機碟又可存資料。 詳細使用方法 PeaZip 跨平台解壓縮軟體，支援常見壓縮檔格式，支援按照檔案內容切換編碼 (例如日文和簡體中文)。 WinRAR 【專有軟體】專門用來處理.rar檔案與日文字元編碼的壓縮軟體。圖形界面沒有原生Linux版，請用Wine跑。 Deskflow 軟KVM，跨電腦共享鍵盤滑鼠。 詳細使用方法 KDE Connect 與手機和其他電腦互傳檔案、同步通知，類似Microsoft我的手機，只不過需要Wifi。 詳細使用方法 LocalSend 跨平台無線傳檔軟體。 詳細使用方法 HardInfo 查看電腦硬體配備的圖形工具，附贈跑分功能。類似Speccy。 詳細使用方法 Conky 桌面效能監視器小工具，可以全域顯示在所有視窗上方，即時監控性能。 詳細使用方法 Htop 監控系統CPU與RAM使用情況。 Nvtop 監控系統GPU使用情況。 KDiskMark 測試硬碟讀寫速度，界面類似CrystalDiskInfo。 S-TUI 壓力測試，燒機軟體。 Phoronix Test Suite 標準化的套裝跑分軟體，由Phoronix網站開發。 防毒軟體 # 名稱 介紹 ClamAV 開源防毒軟體，病毒資料庫由社群提供，支援自動排程掃描。 詳細使用方法 延伸閱讀 # List of applications - ArchWiki Best Linux Software: 39 Essential Linux Apps [2024] - It\u0026rsquo;s FOSS A yearly review – My 53 most favorite apps for Linux for 2024 - Real Linux User ","date":"2026年1月5日","externalUrl":null,"permalink":"/posts/linux-recommended-application/","section":"所有文章","summary":" 這裡列出的是Ivon我這幾年用Linux當桌面系統下來常常用到，並覺得實用的軟體/软件。這些軟體包含上網、文書處理、圖像編輯、影片剪輯轉檔、玩遊戲、寫程式、實用工具。Ivon認為這些軟體應能符合日常使用桌面Linux系統的需求，並附上使用方法。 這裡Ivon不是像Wiki一樣，條列出Linux有哪些軟體能用。而是實際操作過該軟體，覺得好用才放進來。\nLinux系統的特色是尊重使用者的自由，因此Ivon推薦的大部分都是開放原始碼又免費的軟體，有中文界面。不論你使用的是哪個Linux發行版，應該都能找到本文介紹的軟體。\n雖然文章標題說是「必裝」，但不一定要真的全裝，選擇適合自身情況的軟體就行。\nLinux系統如何安裝軟體？ # 視你使用的Linux發行版而定，主要就二種方法：\n應用程式商店。開啟Linux應用程式商店搜尋軟體安裝。Ubuntu、Fedora、Arch Linux都有內建軟體商店，在這裡您可以按照分類探索軟體！ 用原生套件管理員(native package manager)裝軟體。Linux發行版一定都有套件管理員，開終端機打指令安裝。例如安裝Firefox只要一行指令：\n# Ubuntu sudo apt install firefox # Fedora sudo dnf install firefox # Arch Linux sudo pacman -S firefox 非必要情況下，請勿用手動make install編譯的方式安裝軟體，這會導致軟體版本升級不易。建議優先嘗試應用程式商店和套件管理員來安裝軟體。\n","title":"我的Linux電腦必裝軟體 (2026年版)","type":"posts"},{"content":"","date":"2026年1月2日","externalUrl":null,"permalink":"/tags/apple-music/","section":"標籤","summary":"","title":"Apple Music","type":"tags"},{"content":"","date":"2026年1月2日","externalUrl":null,"permalink":"/tags/spotify/","section":"標籤","summary":"","title":"Spotify","type":"tags"},{"content":"","date":"2026年1月2日","externalUrl":null,"permalink":"/categories/%E9%9F%B3%E6%A8%82%E6%AC%A3%E8%B3%9E/","section":"分類","summary":"","title":"音樂欣賞","type":"categories"},{"content":"事實證明我去年下定決心，跳船到Spotify是正確的選擇。 （Apple Music與Spotify在Sony Xperia Android手機的界面比較） 作為全球知名的大型音樂串流平台，Apple Music退訂後音樂資料庫就會消失不見真的很不OK。相較之下，Spotify並不會因為你取消訂閱就砍你的音樂資料庫，很多用戶與官方都證實了這一說法。\n到2026年為止，Ivon用過的串流平台有Apple Music、Tidal、Youtube Music、Spotify，因為地域限制找不到的音樂就買實體專輯，或者到神秘網站抓別人扒下來的FLAC。為了追求最大化國際化曲庫（聽歐美日台比較多），我還真沒考慮過KKBox和中國的串流平台呢。\n我先聲明：我支持人人都應該搞self-hosted的音樂串流收藏庫方案，例如Navidrome或者Jellyfin，不被平台綁架。但現在的新新人類要脫離串流平台實在太難了。就算我硬碟裡面有好幾百GB的高音質收藏，臨時要聽的時候還是不如拿手機點播串流平台方便。故，我需要一個好用的串流平台。\nApple Music曾經是尊爵不凡 # 為什麼我要退出Apple Music呢。應該先回答的是，為什麼我過去將近10年都在用Apple Music？從以前2016年高中起，迷弟時期覺得Apple產品尊爵不凡，為了虛榮心買了iPod touch 6，在iTunes買了幾首單曲，還訂了Apple Music，認識了許多有名的搖滾樂專輯。 呵，明明手上的音訊設備（主力是Final E3000 \u0026amp; Superlux HD681）加起來不超過一台AirPods Pro的價錢，卻還以Apple Music的無損音質為豪。一直到大學畢業才慢慢覺醒。\n到了2025年上半年，已經發覺Apple Music這種圍牆花園的危險之處。我現在已經不是果粉，主要裝置生態系是Android手機 + Linux電腦 + iPad，並非Apple公司的裝置，且Apple Music無法在Linux電腦播放無損音質，何必強求繼續使用Apple Music呢？\n所以我踏出了關鍵性的一步。退訂Apple Music。我早就聽聞風聲Apple Music退訂之後，收藏的音樂資料庫會被清空。官網說明含糊不清。 Reddit上的討論顯示，「反悔」寬限期從24小時到6個月都有，也有人說他的資料庫不會消失，但我不管那麼多了。以防萬一，我有找到一些很可疑的線上服務，將我的Apple Music音樂資料庫匯出為CSV列表，但也只是求心安罷了。不可能無縫轉移到其他串流平台。 然後我就跳到Spotify了。\n6個月之後，用同一個Apple ID嘗試重新訂閱Apple Music，風聞果然屬實！音樂資料庫內只剩下我很久以前用iTunes購買的單曲，還有按讚歌曲，其他收藏內容全部不見了，幹。我過去主要用Android手機聽Apple Music的，偶爾用iPhone登入，沒訂閱過iCloud付費方案，總不是因為這樣就砍的吧！？雖然Apple Music首頁會依然會根據按過讚的歌曲推薦我喜歡的音樂，但手動收藏的專輯消失感覺真的很不好。 以前學生時代用了好幾年，現在是休想再叫我回去用Apple Music了。拒絕綁架人的蘋果生態系。\n雖然說我可以同理一下Apple公司的想法：Apple Music本就是付費服務，你都不付費了我們並沒有義務保存你的資料。可是\u0026hellip;！保存音樂資料庫是會佔你們多少空間啦！？\nSpotify的優點 # 既然都要付費，我不如選擇比較開放的Spotify Premium，就算你降級成免費方案也不會砍音樂資料庫。這是在官方Spotify論壇獲得證實的情報，直到2026年的今天，依然有效。 Spotify這個平台如果不訂閱Premium，就只能搜尋到單曲，且音質受限，用起來跟Youtube沒兩樣嘛。我是喜歡以專輯為單位收藏音樂的，追求整體專輯的完整的聆聽體驗，這樣概念專輯的才好欣賞，而非單曲，所以一定要付費。\n順帶一提，Youtube我會千方百計找擋廣告的方法，可是一接觸Spotify我卻完全懶得找破解版了\u0026hellip;？是罪惡感作祟？抑或是隱約認為總要回饋一些東西給辛苦的音樂創作者吧。\n我加入Spotify真是時候，Spotify長期以來只提供320kbps音質，用戶敲碗多年後，Spotify終於在2025年提供無損音質了，雖然只有CD等級44.1kHz/24-bit，跟Apple Music最高可達192kHz/24-bit（高解析保真壓縮無損音訊）差得遠，但這就夠了。要是你器材沒有準備到好幾萬以上，追求這麼高的音質又有何用呢。 Spotify官方客戶端是跨Linux、Windows、macOS、Android、iOS的，功能完整。作業系統覆蓋率沒有平台比得上。 且Spotify還開放API給第三方開發者撰寫開源前端，例如Rust寫的librespot。還可以讓你把音樂聆聽紀錄上傳到第三方平台，例如last.fm與ListenBrainz，製作更多元的年度回顧。這種開放程度不是屌打Apple Music麼？ 據說，Spotify推薦歌曲的演算法比Apple Music聰明許多。 在跨裝置聯動部份，他們提供跨平台的Spotify Connect讓我可以從手機控制電腦播放音樂，反之亦然，不依賴特定硬體與OS。 瑕不掩瑜的Spotify # 唯一不滿Spotify的地方就是界面太花了，弄得像短影音平台，沒有Apple Music典雅。美學部份Apple Music無人能出其右。\n我是不覺得Apple Music界面有比Spotify難用啦，應該是說他們比較注重美學。為了偏執的設計，犧牲功能性的精神值得欽佩。\n來個暴論：Spotify庸俗，Apple Music典雅，Youtube Music是蝦米碗糕。從他們設計動態專輯封面的風格就看得出來了。\n簡單比較一下同一張專輯：My Chemical Romance - The Black Parade\n在Spotify的Canvas就是直接重複播放MV畫面，搞得像抖音短視頻一樣，還不如切換為靜態封面專輯就好。 Apple Music則是唱片公司精心設計的專輯封面小動畫（Album Motion），專輯封面骷髏會踢正步～ 顯示歌詞的時候，Apple Music的美術明顯也比Spotify用心。有的專輯還會附上專業音樂人寫的賞析。 Youtube Music的設計就不是正經音樂平台，不要把這東西拿進來比較。Youtube Music永遠無法取代Spotify與Apple Music，成為正經串流平台的罪狀：一、硬是要在專輯中間插入MV播放，降低音質。二、中文歌手上架的時候顯示英文，這可能跟唱片公司比較有關係。雖然網頁會顯示在地化名稱，可是NewPipe和Parabolic抓到的版本還是英文的。三、沒有無損音質。所以Youtube Music除了方便聽盜版、翻唱、看年代物MV之外一無是處。\n這樣一比，他們質感就差多了好不！？雖是如此\u0026hellip;我覺得Spotify對我的吸引程度還是利大於弊。\n雖然Spotify不時傳出壓榨創作者的爭議新聞，不過很多平台或多或少都有這種行為，我不覺得這算什麼新聞，唉，資本。不然你去用Bandcamp啊？我會願意花錢支持上面的獨立音樂的。我還真的在上面買過一些vaporwave藝術家的作品。可是這種平台難以與跨國商業平台競爭，只能作為小眾的替代方案。\n總而言之，我現在settle down在Spotify吧。\n","date":"2026年1月2日","externalUrl":null,"permalink":"/posts/from-apple-music-to-spotify/","section":"Personals","summary":"事實證明我去年下定決心，跳船到Spotify是正確的選擇。 （Apple Music與Spotify在Sony Xperia Android手機的界面比較） 作為全球知名的大型音樂串流平台，Apple Music退訂後音樂資料庫就會消失不見真的很不OK。相較之下，Spotify並不會因為你取消訂閱就砍你的音樂資料庫，很多用戶與官方都證實了這一說法。\n到2026年為止，Ivon用過的串流平台有Apple Music、Tidal、Youtube Music、Spotify，因為地域限制找不到的音樂就買實體專輯，或者到神秘網站抓別人扒下來的FLAC。為了追求最大化國際化曲庫（聽歐美日台比較多），我還真沒考慮過KKBox和中國的串流平台呢。\n我先聲明：我支持人人都應該搞self-hosted的音樂串流收藏庫方案，例如Navidrome或者Jellyfin，不被平台綁架。但現在的新新人類要脫離串流平台實在太難了。就算我硬碟裡面有好幾百GB的高音質收藏，臨時要聽的時候還是不如拿手機點播串流平台方便。故，我需要一個好用的串流平台。\nApple Music曾經是尊爵不凡 # 為什麼我要退出Apple Music呢。應該先回答的是，為什麼我過去將近10年都在用Apple Music？從以前2016年高中起，迷弟時期覺得Apple產品尊爵不凡，為了虛榮心買了iPod touch 6，在iTunes買了幾首單曲，還訂了Apple Music，認識了許多有名的搖滾樂專輯。 呵，明明手上的音訊設備（主力是Final E3000 \u0026 Superlux HD681）加起來不超過一台AirPods Pro的價錢，卻還以Apple Music的無損音質為豪。一直到大學畢業才慢慢覺醒。\n到了2025年上半年，已經發覺Apple Music這種圍牆花園的危險之處。我現在已經不是果粉，主要裝置生態系是Android手機 + Linux電腦 + iPad，並非Apple公司的裝置，且Apple Music無法在Linux電腦播放無損音質，何必強求繼續使用Apple Music呢？\n","title":"取消訂閱Apple Music會刪除音樂資料庫，果然我轉到Spotify是對的","type":"personal"},{"content":" 【閱讀前須知】\n此處是我為取代Facebook動態牆製作的特別網頁，跟首頁的長篇文章不同，這裡是紀錄簡短想法的筆記之用，部份想法可能會另外彙整成文。\n這裡的微部落格充滿各種觀點，尚未經過打磨，有反映時事，有靈光隨想，有偏激之言，有政治評論，可能冒犯到所有人。僅代表個人意見，請謹慎閱讀。\nParrhesia (παρρησία)，即只說真話不欺瞞，有負面的後果也在所不惜。說真話不只是言論自由，真理顯現也符合大眾利益，更是公民義務。唯有對自己誠實才能讓我們解脫。\nHumility is not thinking less of yourself, it is thinking of yourself less. 謙卑不是看輕自己，而是不僅為自己著想。\n2026年\n20260529 如果Steam Proton啟動有錯誤，就到steamapps/compatdata刪除prefix重新生成，特別是切換Proton版本的時候。有時候也可以按檢查遊戲完整性修復檔案。\n20260529 Steam的設計最糟糕的部分就是它是一個瀏覽器。其實一直有人希望Valve用GTK或QT重寫Steam客戶端，因為CEF瀏覽器實在太臃腫了，執行的時候跟開著Chrome沒兩樣，而且UI回應速度慢。不過這就會面臨Steam商店要整個重構而無法沿用網頁版界面的問題。Suggestion Please consider using GTK or Qt for the client #7454 目前還沒有第三方的Steam客戶端出現。有人用Rust寫了steam-api但還不足以啟動遊戲啊。就算是Lutris也得呼叫Steam客戶端才能啟動遊戲。steamcmd本身不足以啟動遊戲。雖然說我們理論上能手動用Wine啟動Steam下載的exe，但還是需要Steam的雲端同步與成就機制吧。折衷方案是使用AdwSteamGtk 可以用CSS把Steam外觀變成Linux的Adwaita GTK樣式讓它在GNOME桌面看起來比較好看一點。 圖片 也有提供KDE桌面的QT Breeze主題。\n20260529 我想我找到Gamescope的用途了，針對Surface Go 2跑不太動的小遊戲，即使只是Galgame，降低解析度到720p以下能減少GPU負擔\u0026hellip;？\n20260529 現在我是AI自助餐的心態，一方面反對主流媒體整天講AI這AI那的，不想要什麼都AI，一方面又有求於AI。看一堆人把科技公司CEO當神拜煩死了，就連那些主打什麼事業成功的賣課仔都整天追著外媒的屁股跑，外行人都能對AI說上幾句。但其實深度依賴AI總結以為自己就懂了還要把自己包裝成專家，看起來大家都想成為Steve Jobs搞行銷，但卻不知道更偉大的是背後的Steve Wozniak。現在看到別人在profile掛data scientist我就倒彈，除非他是李宏毅那種級別的！現在我有求於AI，是把它當作Application工作的範圍，不應該整合到OS，就是隨時能脫離的助手，而不是要靠它過活。那\u0026hellip;看起來是一種嫉妒心態，怎麼你們講的東西我都跟不上！不管怎麼說，AI終究會淹沒一切。看來是沒救了，被Google AI Overview養成了習慣，你就離不開那種搜尋資料的方式了，行為改變技術，真是悲哀。\n20260529 NT synchronization primitive driver 原來Windows NT的多執行緒功能已經被人移植到Linux並以核心模組的方式實作了。嘗試在Debian Sid啟用了NTSync，搭配Proton 11 Beta，Steam遊戲好像又變流暢了一些。Proton 11正式加入了NTSync的功能，這依賴於Linux Kernel的/dev/ntsync device，實現Semaphores、Mutexes、Events，能減少Wine模擬Windows系統呼叫的延遲，用ioctl分配，效能比過去的wineserver，還有在userspace實作的fsync和esync要好呢。我不確定NTSync能提升多少FPS因為我玩的都是射擊遊戲（意味深）根據NTSync作者的測試，遊戲FPS最多能夠提升10倍以上。哦有了，DRACU-RIOT!啟動速度快了10秒。目前NTSync需要Linux Kernel 6.14以上版本，並且要搭配Proton Experimental使用。目前只有SteamOS和CachyOS的核心有預設啟用，其他發行版需要編輯/etc/modules-load.d/ntsync.conf加入ntsync開機自動載入。Proton GE也有包含NTSync。然後在遊戲啟動後用lsof /dev/ntsync查看程式有無使用到NTSync。\n20260529 讓Google搜尋回歸正常：使用Hide Google AI Overviews隱藏AI摘要功能。經測試電腦版Firefox和手機版Firefox都可以用。AI正在重塑接受資訊的方式，但我不想什麼都用AI總結。安裝Hide Google AI Overviews之後，AI摘要就會被隱藏。我們不知道這個方法還能撐多久，因為Google以後可能會全面引入AI搜尋模式，屆時網頁回傳的網址連結就會消失了。那麼我們就得使用SearXNG了。對了，為了回應Google AI搜尋的變革，Duckduckgo特別發了一個聲明說「我們不會讓搜尋結果的連結消失」。\n20260529 透過ltlnx的網站知道了臺灣真的有人在用GoatCounter這款免費流量統計服務。界面設計真的很old-school，只是統計域名訪問量而已，用不上GDPR。免費使用，也能自架。Go語言寫成。可以透過網頁JavaScript或是伺服後端call API蒐集訪客資料。看來我又有理由停用專門跑Umami Analytics了的VPS，省掉那幾百塊錢。對嘛，我都擺脫Google Analytics了也不要Plausible Analytics，根本不需要那麼複雜的統計圖表。我只是想概略知道網站訪問人數而已！因為蒐集的資料太簡單了，把自己網站GoCounter的資料公開也無傷大雅吧。\n20260529 pacman -Syuw只下載更新不安裝。pacman -Su安裝下載的更新。\n20260529 太好了，Steam客戶端Beta版有ARM64架構的Linux版了，還在內部測試中。以前Steam只支援x86電腦。現在配合Proton 11 ARM內建FEX-Emu以及SteamLinuxRuntime ARM，能夠直接在樹莓派跑Steam遊戲了。這應該是未來Steam Frame會採用的技術。參考這裡的安裝方法，目前看來還是內測版。Native Steam Client For ARM Linux - Interfacing Linux 我覺得比較詭異的是他居然用RK3588配Nvidia顯卡。我在RK35588、Raspberry Pi 5、RK3566的裝置測試了，建議是用Ubuntu的環境，依賴比較齊全。Arch Linux ARM我是搭配Distrobox建立Ubuntu環境，不過會遇到一些詭異錯誤。RK35588的GPU缺少驅動。看來還是得用Raspberry Pi 5。過去需要用apt開foreign architecture才能在ARM的裝置強行安裝i386架構的Steam .deb檔，而現在可以直接原生安裝Steam。啟動後只要選取下載Proton 11便會自動在背景處理好FEX-Emu的安裝。最起碼很吃資源的Steam客戶端本體不再是靠轉譯執行的，而是ARM原生的。\n20260525 又反彈回去了。我大概是太寂寞了才會同時在網站放Microsoft Clarity、Google Analytics、Cloudflare Web Analytics三個追蹤器，我知道已經夠多了但我網站都沒廣告了塞這些幾KB的JS也不會怎樣吧。我看有的Wordpress網站還放到10個追蹤器呢。因為社群比較少人關注\u0026hellip;\u0026hellip;就只能盯著這些數字，看著在線人數，至少知道有人在看著我寫的東西，即使他們不給回饋。Umami Analytics和GoatCounter蒐集的資料太無趣了又會破費，到頭來還是只能蹭比較大間的免費流量分析網站。這次撐了15天已經很棒了吧，於是又把JavaScript放了回去。果然還是沒辦法degoogle。\n20260525 Debian Sid可以取得尚未穩定的套件，所以比Debian Stable要多樣，接近Arch Linux。缺點就是不能用第三方repo了。殺殺殺\u0026hellip;我又要來尋求刺激了。我最討厭就是事後道歉！升級了就不能回頭了！將Surface Go 2的Debian 13 Stable升級到了Debian Sid，跳過位於中間的Debain 14 Testing，變成了滾動發行版，但現在的版本號就是Debian 14因為Testing是Sid的Snapshot。之所以不重裝是因為Debian Testing的 LiveISO連安裝程式都容易崩潰，看起來外國也有類似經驗。Daily-driving Debian Sid (and Devuan too)。因此要安裝Debian Sid只能用改/etc/apt/sources.list升級。看起來還行。XFCE XLibre還能正常啟動。升級之後把apt sources手動升級成了DEB322格式。然後未來升級的時候可以透過apt-listbugs這個工具列出潛在的breakage。在升級到Debian Sid後，預設的linux-image-amd64就提供了Linux 7.0核心了，不需要linux-surface的patch了。No ~~~ 怎麼相機還是不能用，明明Fedora就可以。結果升級後馬上就遇到問題了，好笑的是apt listbugs這個工具應該是要負責抓bug的防線，結果它自己會因為Ruby語法更新就炸掉了，導致apt指令完全失效，這下是 chroot也難救系統了（後來才發現是在chroot才有這問題）。只能用APT_LISTBUGS_FRONTEND=none停用它才能執行apt。移除舊版核心的時候不小心搞到無法開機，噢噢，apt reinstall linux-image-amd64不會重新生成vmlinuz和initramfs，必須apt list --installed | grep linux-image然後明確指定核心版本重裝才行，如apt install linux-image-7.0.9+deb14-amd64，就是reinstall不能安裝virtual package而要指定確切名字。同理移除核心的時候也要具體指定含有核心版本的套件名稱。如果手動刪除了vmlinuz與config，得確認/boot只剩下grub和efi，apt程式才會確實重新生成檔案。\n20260525 Debian 13不知道為什麼G102最近都有幽靈輸入的問題，文字中間會莫名插入我剛剛複製的東西，編輯Joplin和Kate的檔案都會這樣，磁碟毀損？不太可能，因為是即時發生的，這代表Fcitx5可能出了問題，還是ratbagd？不要讓這個daemon常駐，把設定值存在滑鼠裡面就好了。好像我有時候會突然出現兩個滑鼠游標，致使在打字的時候不自覺地在Markdown上下文的地方錯誤地插入文字。這真的很煩人，又不是每篇文章我都會細心校稿。先把新酷音換成拼音輸入法看看。這東西看起來打字問題很多\u0026hellip;Firefox的FB輸入介面會卡住，但換成拼音後試試？只用過注音和拼音輸入法，不得不說拼音確實比較先進，選字有雲端加持還有下個字預測。相較之下注音和倉頡就比較笨。好吧找到問題了，原來是滑鼠中鍵點擊的時候會自動貼上，導致在捲動畫面的時候會誤貼上，G102的點擊又很敏感。要到KDE桌面的系統設定 → 一般行為，取消中鍵貼上。無效！？啊這到底三小鬼bug。How to disable middle-click paste in KDE Plasma (Wayland)\n20260525 接到民調電話，你會：\n：非X不投，無X郊遊！\n：你使用GCC？你覺得GCC很好？告訴你，我可是白人，我自己寫了HolyC的編譯器，我不是Linus那種黑鬼！我很專業的，這就是高手與新手的差距。我的系統有兩萬行的神聖智慧在裡面，你這死黑鬼！\nTerry A Davis gets a phonecall\n20260525 研究語言的人多半都會接觸到Naom Chomsky，他的政治立場很值得討論，他說美國在1945年之後就沒有打過一場正義的戰爭了。然而很多人卻還迷信美國就是救世主，並對death to America表示憤慨。要是依照二戰審判納粹的標準，美國二戰以來所有總統都應該上絞刑架吧。反觀共產中國，沒有對外發動戰爭，高下立判，畢竟他們非常擅長餓死自己人，全都給你屠完了。\n20260525 圖片 所有跑在Linux Server上的服務都應該要是container而非systemd service，除了SSH以外。從幾年前用Arch Linux的時候就養成了這個習慣吧。在資源有限的硬體環境，如樹莓派和1C1G VPS，我會使用container取代VM。覺得有點矛盾的一點是，不論是在我自己的樹莓派還是VPS，我都會用Docker部署服務，例如DNS Server與Cloudflare Tunnel。因為這建基一個假設與恐懼：部署一個服務所需要的依賴會互相衝突，破壞系統穩定性，所以應該容器化。比如如果多個程式用到不同版本的PHP，系統就會發生衝突。此外，系統的容器服務應該是給Docker管理，Systemd就在旁邊看就好了，我不是很喜歡Podman Quadlets的做法，很醜。但是我的Server系統都是選取穩定的Debian來用，不太可能安裝軟體就炸，用Unix Way去部署系統其實也是沒問題的才對。若是用Arch Linux，也根本不用擔心軟體版本太舊的問題。什麼都要Container的系統反而應該選用immutable distro才對。我想純粹是我太懶了，Docker包裝好的服務寫個compose就能快速上線，不用安裝一堆依賴。然後用Portainer網頁面板就能管理。圖片\n20260525 Line這軟體是越來越爛了，打錯字要收回居然得付費。其實我高中是完全沒有在用Line的，就是邊緣人。國中為了玩手遊有用過一下，但高中是很少用通訊軟體的。大學新生茶會的時候學長聽到我沒有Line還因此愣了一下。後來因為分組報告以及工作需要我才把它裝回來，如果我堅持不用Line大概會更邊緣。但實際上我用Line之後，能聊得來的現實朋友也沒幾個，所以還是很邊緣。真正會想聊得來的，通常是Email的說，他們知道你懂他們所以千方百計會與你取得聯繫。與其要維持大量的酒肉朋友或點頭之交，不如找一個真心懂你的朋友（怎麼突然變成三日月夜空了zzz）。總而言之，Line我就真的當作工作用軟體，而非主要通訊方式。真要找我就用Email吧。\n20260525 因為Firefox的縮放太蠢了我得安裝Zoom才能達到比較好的使用體驗。安裝後，允許更精細的控制網頁縮放。例如原版Firefox針對同一網域但不同通訊埠的網頁會套用一樣的縮放規則，用這個就能區隔開來。另外Android版Firefox無法個別縮放網頁的問題，安裝Zoom也能解決。這樣手機看Reddit和Hacker News就不會眼花了。喔不Zoom這個放大方式更智障，它用CSS導致網頁元素放大後滑鼠點選的DPI直接跑版。需要到設定裡面勾選使用瀏覽器縮放。算了我看手機還是用uBlock Origin的CSS放大吧。\n20260525 軟體自由與公民關懷 2026-05-22，牛津博德利圖書館演講 雖然唐鳳很會講左派愛聽的屁話，不過這篇講開源與AI的文章還算是有理，也一直符合他說的理念，在相交的地方尋求合作以貢獻。基於夠好的祖先，要確保這個系統是開放的可延續的，即使到了AI時代，自由軟體精神也應該傳承下去。\n20260525 Kagi Search付費取回搜尋引擎自主權固然美好，不過它卻是隱私權災難。我覺得Kagi Search（包括中文）是比Duckduckgo更接近Google的貼心品質，但這也是用資料換來的。跟Google不一樣的地方是它甚至要付費才能用，而且要你相信他們把資料交給一家私人公司以打造個人化搜尋結果。這種承諾跟Apple有什麼不一樣呢。如果是這樣我還寧願直接給ChatGPT呢。反正以後大家都用AI Agent Search了。在Google自動把你全家桶的資料餵給AI拿來給你客製化體驗之前，先在ChatGPT的長期記憶功能站穩根基吧。Kagi Search目前值得讚賞的是他們有在針對小型獨立網站打造Small Web Search。\n20260525 不自量力的讀了碩士後，一直覺得當初大學能畢業是很神奇的事情，我甚至是讀文科而不是理科，因為以我的IQ和EQ（低功能自閉低情商又偏執）應該是連大學都考不上的才對，去做清潔工可能還比較快樂。我現在去申請殘障補助搞不好還會過。當初還差點想寫信給各個系上教授感謝他們的幫助。\n20260525 不知道哪邊才能相信了，全球化與反全球化的敘事激烈衝突。世界經濟論壇(WEF)本來是要促進經濟發展，但是近年來因為各種打高空的議題，講環保什麼的對底層人民來說一點好處都沒有，導致它越來越容易被視為光明會的陰謀論組織。於是利益與之衝突的政客利用這些反全球化的人的不滿情緒取得高位，川普就是這樣的例子，他被視為救世主，對抗精英陰謀集團的最前線。歸根究底，還是政府失職造成與選民的裂痕越來越深導致這樣的狀況，而這是我們應得的。\n20260525 不如來做一個大膽嘗試，為了強迫讀者給我回饋，刪除網站的Disqus與Giscus留言板，然後完全不回社群媒體訊息，這樣強迫人真的是有問題就得寄Email來！但我覺得這樣太激進了，先把留言板弄得不顯眼吧。這樣讓他們在留言的時候能思考一下。啊啊算了直接刪除啦。移除了網站留言板\u0026hellip;很抱歉各位。並非是我受到攻擊才移除。出於不想把自己網站變成社群媒體才這樣做的，原本是滑動到才會載入。改成簡單的文字：點這裡載入留言板。留下文字：如果你對本文有意見，歡迎點選關於我的聯絡方式交流！後來覺得太極端，決定加入一個被動按鈕。\n20260525 想起我小時候自慰最早的方式是用棉被將自己包起來然後搓揉到射精而非用擼的，只覺得舒服但精液是用流的，比較沒有噴射的爽快感，最後棉被裡面會留下一灘液體，乾掉之後很難分辨是睡覺流口水還是夢遺。棉被上面好像有海綿寶寶的卡通圖案，那這樣是不是一種二次元射屏？\n20260525 如果說左撇子智商比較高，那麼為什麼我是腦殘呢？我打手槍都慣用左手打啊！\n20260525 我好像沒有具體的形象頭貼，儘管以前創作過像素畫。應該要用AI繪製我的虛擬形象嗎？雖然說ChatGPT Image的品質很不賴，但我卻覺得自己手繪的更好吧。其實我目前的大頭貼是用3D建模做出來的。缺乏更具體的形象。我是有用過像素風繪製許多艦娘。嗯\u0026hellip;我自己的人設沒有清晰的印象，畢竟我的人生也一直都是渾渾噩噩的。從2020年就沒有清醒過。加上我是社恐不可能像賣課仔拿自己的臉出來。那麼就只能維持目前這樣，頂多加上被Linux影響所出現的企鵝吧，身穿飛行員服裝。也許，沒有人在意你在螢幕背後是不是一條狗，因為你只要寫個爆款文案就會有流量，大批brianrot按讚，誰在乎大頭貼能否反應個性。\n20260525 有一些陰謀論認為，如果連Linux Kernel這種底層設施都接受Vibe coding的貢獻（就算只是Claude Assist的揭露），並用Rust重寫，我們還有什麼OS能用呢？只能使用會由開發者主動審查代碼的OpenBSD這類系統了吧。但我們也無法確定第三方的Ports依賴會不會混入AI！\n20260521 Threads越來越噁心了，學Grok能在貼文中呼叫Meta AI出來回答，退出吧。誰知道充斥rage-baiting的環境能否透過AI回答讓用戶能理性一點呢。不過從Grok能被對話者調教成惡意人格（例如罵支那豬，或者叫跨性別者去死）來看，討論應該會更加烏煙瘴氣。誰知道呢，Meta AI會比邊牧聰明，還是學ChatDPP瞎說大實話？\n20260521 去你媽的Dcard，為了反爬蟲，Linux加上Firefox瀏覽器幾乎是100%觸發bot challenge，如果連上Mullvad VPN？ Sorry you have been blocked.\n20260521 AI生圖總是充滿男性凝視，例如男性工程師作者撰寫的教學文章範例圖片都是生成美女，更自戀的會把自己照片放進去幻想自己左擁右抱。假設換成女性，可能也就反過來的情況，變成都生成乙女遊戲的截圖吧。\n20260521 因為住的地方簽約的時候規定跳樓會向家屬求償所以我一直不敢跳，這裡房價也不貴，物理打房有點虧欠這位會每月送我水果關心的老阿婆，那還是找個政府大樓的鬧區跳吧，報復社會不能波及無辜人民。不對呀，唯一一次對自己提起勇氣的時候不正好就是現在嗎，活著被人嫌沒用，去死還是有決心的。算了。\n20260521 主流社群媒體實在太混亂了。西方人好像不喜歡Threads，認為是融合了Facebook與Twitter缺點的放大器，the worst of two worlds. 但是臺灣人卻很愛用，看起來我們確實是一個小小的傻子比山多的國家。早在2023年，一些人認為說Twitter在自我意識過剩的Elon Musk收購下已經變質了。雖然放寬言論自由但是就變成各種左右極端意識形態大亂鬥，然後處處充斥金權拜金主義。流量至上，然後現在還有Grok攪局，不時用超進步的AI來促進用戶討論(X)爭吵(O)，例如自動翻譯貼文或者任意P別人的圖。可謂是dumpster on fire。結果在Twitter打滾了那麼多年我又回到只用它來看日本繪師色圖的用處了。沒辦法日本人從眾效應更嚴重所有人都用Twitter，Pawoo根本無法與之競爭。除此之外Twitter推送的內容我都不想看。Facebook的話跟臺灣一樣似乎也是一個沒落的平臺了。不過依然長青，normies還是會用，FB流量依然高。但是越來越多rage-baiting的演算法破壞體驗。但是我為了讓內容多觸及客戶還是得用FB。我只是幾乎不參與罵戰了。\n20260521 流量崩跌很苦？接下來只會更苦！Google 25年最大變革，終結搜尋時代 如果都讓AI幫你總結好資訊，未來可能會影響獨立網站流量，包括我的小破站🤔還好我一直有鼓勵網站讀者訂閱RSS，繞過社群媒體演算法來閱讀資訊，甚至上次在KaLuG面基的時候還有人親自跟我說他都是用RSS閱讀器看我網站的👀。如果要增加網站黏著度，我是不是還要再搞個Substack電子報收米呢\u0026hellip;？我不覺得開Patreon會有人訂閱，那必須等我重新回去Pixiv畫色圖才能開，但是電子報感覺就很厲害！\n20260521 如果你不想再依賴Facebook演算法被動餵食訊息，甚至決定你能看到什麼，你必須開始學會用RSS訂閱網站更新，不被社群媒體平臺綁架。RSS是20年前就有的標準，網站作者只要發佈一個xml檔案就能向讀者廣播有新文章的訊息，而且也不用透過Email。通常需要一個RSS Reader服務來訂閱，例如Feedly。我自己是用FreshRSS。果然還是不喜歡Karakeep像是Mozilla Pocket書籤一樣的整理網址方式，看上去很亂，於是又屁顛屁顛的回去用FreshRSS了。訂閱網站才發現，啊啊怎麼那麼多現代網站寧願用電子報也不要弄RSS啦。幸好被Wiwi blog影響的諸位幾乎都有開RSS。部落卷卷 /blogrollroll。這種把網站RSS一個個加入訂閱列表的舉動才更顯得真誠，而且就是這種原始的純文字檔案搭配RSS Reader的隨機模式就能打造自己的演算法，製造驚喜，而不用造訪目標網站。Hacker News還有一個網站RSS訂閱的排名，HN Popularity Contest，裡面真的很多厲害的人物。順便我把自己網站的RSS摘要上限提升到500字了，這樣應該對讀者有更好體驗，而非顯示一段開頭引言就得按繼續閱讀。反正我文章隨便都超過1000字。\n20260521 Facebook看起來跟Reddit一樣會shadow ban，只有你看得到但別人無法看到，因為被池沼AI或者人工判定你的東西違反社群守則但又沒有嚴重到需要下架，就會shadow ban。確認方法是用其他瀏覽器，然後打開自己的FB看能否看到公開貼文。這時會看到一些貼文被鬼隱了。例如有時候我發色色的東西就會被shadow ban，可是觸發的時機不固定，所以才要用諧音規避審查吧。\n20260521 看一堆人流行用AI做一張擠滿字的複雜圖表 圖片，以為把文章濃縮成了懶人包，結果資訊密度過高反而看了很痛苦。到頭來還是AI文風的變體：漂亮但沒重點。我看還不如生成Mermaid或SVG比較直觀 圖片，尤其是流程圖。起碼你幾乎不用任何修圖軟體就能編輯原始碼，修改AI生成的結果再重新渲染。先生成大綱然後再審查你要的細節，這樣比較靈活吧。還是說這些人只是為了在社群媒體更容易吸引眼球才叫AI這樣做圖的呢，因為有人看到二次元不管三七六十一就會先點讚\u0026hellip;等等我好像膝蓋中了一槍。\n20260520 蛤土城十講已經出到20集了，反觀爛尾帝。土城十講｜第二十講 減法美學｜柯文哲 ft. 許甫 閱讀《城市的顏值》\n20260520 Bitwarden要防止http://網址:通訊埠或http://子網域網址無法偵測自動填入的問題，得把URI偵測規則改為主機。\n20260520 圖片 你可千萬不要變成我這樣，520情人節跟Lain一起過。P.S. 高雄沒有薩莉亞。希望早日展店我才有便宜義式料理吃。\n20260520 嗯，Mullvad雖然不提供port forwarding不過有Local network sharing功能，能存取內網路裝置達到Tailscale Subnet的效果。只是Mullvad需要手動split tunnel而不會像Tailscale默默工作不干擾網路。不對我誤會了，Local network sharing是讓電腦即使連上VPN之後仍能讓其他裝置使用區域IP登入連上VPN的電腦。呼，如果你的服務都expose到VPN的話豈不是其他用戶都能看到你的裝置了。Mullvad VPN就是連入一個超大內網並共用，而非Tailscale那種私人網路。\n20260520 我怎麼那麼笨，現在才知道OTA更新不用使用電腦進fastboot重刷boot.img就能維持Root權限，Magisk/KernelSU/APatch都有這個功能。LineageOS在有Root的情況下仍允許OTA，不過更新後Root權限就會噴掉。大部分機型都是使用A/B分區更新的，在下載OTA並安裝完成之後不要重開機，利用目前還有Root權限的時候，開啟Root權限管理器將Magisk安裝到非活動插槽（此時的非活動插槽是下一次開機會使用的boot），重開機後就能直接套用了。\n20260520 隱私權似乎變成一種生意噱頭了！當然其中最不可信的就是Apple，他們賣的裝置都是監獄。Proton的事業越做越大，試圖打造一個尊重隱私的加密版Google Workspace，變成要跟Tuta互相diss。他們開始打廣告了，在用Brave的時候偶爾會看到Protonmail和ProtonVPN。這樣我有點擔憂，因為公司開始變大就不免會走向enshitfication，希望他們能像Mullvad一樣低調點。儘管Proton承諾會繼續維持加密保護模式，但誰知道他們會不會像Mega一樣墮落呢？它依然還有E2EE呀但是為了吸引顧客加了一堆有的沒的方案。目前Proton看起來主要靠付費用戶在撐，主打那些為隱私付費的用戶，而非Google那樣給大方的免費使用額度卻盜取你的資料。總之，我得為E-mail留一個備案，也就是自架E-mail Server。考量到反spam有一定成本，我應該會把它躲在SimpleLogin的轉寄位址後面。\n20260520 Sony看起來也墮落了，自Xperia 1 V之後設計語言慢慢放棄，被Samsung A系列抄走，包括背後三鏡頭，活像是把21:9拉胖為正常比例的，導致在街上容易誤認。放棄21:9，現在Xperia 1 VIII的設計更沒有鑑別度了，除了無挖孔螢幕外很難說這是Sony。\n20260520 一般來說我會買的商業VPN只有AirVPN、ProtonVPN、Mullvad，因為他們注重保護你的隱私而且不到處業配，Surfshark和Nord我不會買。不知道是海纜斷了還是ISP問題，連線Facebook、Github、Proton都很慢，測速正常，換手機網路又正常。看來自架DNS還不夠，需要自架VPN跳外國機房增加速度了，最簡單方法是沿用我現在的Headscale + Tailscale網路架構，把VPS設定為流量出口節點就好了。這類似於WireGuard的Exit Node配置。不過我擔心流量超標的說，因為所有流量都會從VPS進出，可能一個月會有好幾百GB的流量，小機率會超過額度。此外一些反機器人網站討厭資料中心的IP，加上我都用Linux瀏覽器，怕不是會頻繁觸發bot challenge，最好準備多個地理位置的主機切換。那麼考慮維護成本，去買VPN業者販售的服務可能還比較划算吧，AirVPN、ProtonVPN、Mullvad都很便宜，一個月不到10美元，填入他們給的WireGaurd金鑰就可以快速切換伺服器了，還有Port Forwarding。或者我有一種更賤的用法？買商業VPN，然後讓VPS去連它，然後我用跳板將流量從VPS出去？也就是雙VPN的結構，我看乾脆再接個Tor和Shadowsocks好了。算了，不要這樣搞剛。買VPN完事。\n20260520 我覺得應該修改一下網路拓撲了。我一直用Tailscale做多個裝置間無腦跳轉的方式，這叫Full Mesh吧，打MagicDNS就能登入任意裝置，不過我應該考慮遷移到跳板機的模式，即只有一臺機器作為家用網路入口兼防火牆，而非所有裝置都有辦法連上網路。並取消MagicDNS的使用模式，這太容易與其他VPN衝突了，用100開頭的虛擬區域IP就好。\n20260520 看到一堆人用Canva和Padlet開共用不設定權限就覺得這些人心臟好大\u0026hellip;只要點進鏈接就能編輯甚至不用登入，雖然這些網址不會公開到搜尋引擎但還是怕怕的，你都不怕有嘉豪衝進來把課程心血全破壞。這樣不得不佩服Google雲端預設分享只能檢視的設計是多麼貼心，還能細分到只有學校內的帳號能存取，或是任意帳號都能編輯。\n20260520 Lag到現在才知道ChatGPT接受非SWIFT的卡片刷卡了，兩年前還用惡名昭彰的Stripe各種拒刷。雖然我覺得Gemini比較萬用，因為可以在Google文件叫出來，但我想degoogle，因此AI主力訂閱產品還是用ChatGPT吧。我也不串API了\u0026hellip;就用官方客戶端。\n20260520 架設DNS的時候才發現DNS會偷偷啟用。雖然Google和Cloudflare的DNS是國際標準，但在OS層級默認啟用還是讓人不爽。例如systemd-resolved有hardcoded連向1.1.1.1作為備援(FallbackDNS)機制。LineageOS在DNS不可用的時候就會連Google DNS。導致Mental Outlaw還專門出了一部影片教人深度degoogle。How to De-Google LineageOS\n20260520 架設服務的時候被ChatGPT幻覺害慘了，它推薦了一個好的container image但對其結構理解錯誤，一直用幻覺叫我用它給的config路徑，然後開啟瘋狂出錯，除錯了一晚上，直到我去讀Github文件才發現作者什麼都包好了根本不用設定。\n20260520 Muplar 這個專案有望讓macOS能夠跑Android APP，這就有移植Linux的類似Waydroid到macOS的可能性了？不對這比較像是ArcVM。背後搭配elfuse技術在一個輕量VM跑Linux二進位檔。\n20260520 我想既然blog都沒有盈利了，應該可以開放repo原始碼了。奉行我網站支持開源的理念，就是把自身的存在也開源。目前應該是有1000篇Linux + Minecraft相關的文章了，就當作做公益。也不管這樣是否會降低盜文成本了。不過我得清理一下API Key的帳號密碼\u0026hellip;因為我幾乎是把Hugo網站當成軟體在開發了。看看能不能寫一個.env然後自己保存。把Github的repo直接轉成public給人瞻仰應該能穩賺星星，可是我又想放在Gitea保持低調\u0026hellip;\u0026hellip;。先分成雙repo模式吧。要公開到何種程度呢？文章Markdown原始碼也要還是只有主題呢？當然我commit記錄一定會清空的。\n20260520 開源的iOS輸入法，現有RIME和Fcitx5，就差新酷音了！在iOS追求自由開源的軟體似乎是一種很傻的行為，App Store都禁止GPL軟體了，不過還是有義人在奮鬥著，譬如移植RIME和Fcitx5到iOS的神人們。讓我們中文輸入法的基礎設施不用依賴蘋果的專有軟體，也不用怕被Gboard監控。實際用了下倉輸入法，還行，符合Liquid Glass美學。Fcitx5-iOS倒是長得跟Android版差不多。目前Fcitx5還沒有上架App Store，需要側載IPA。因為是中國網友開發的，這些鍵盤以拼音為主。目前看來這些鍵盤只能在觸控的時候使用，接上鍵盤不會出現。\n20260520 雙向奔赴了屬於是。Degoogle談到被Google和NSA監控Android手機的問題，有人就會建議買華為，因為西方人的資料對中國政府無關緊要。然後逃出中國的反賊會建議買Pixel，因為美國是文明的一方，資料交給他們比較沒關係。在我看來這些文明都是一丘之貉，盼小灰人歸。\n20260520 所以，為什麼我們不能說要殺光左派，因為左派死光之後，剩下的右派當中不那麼右的就會成為新的左派。因此，比較好的方法是先殺光團結的右派，再殺光無限可分的左派。\n20260520 6.2. aptitude, apt-get, and apt Commands - The Debian Administrator\u0026rsquo;s Handbook 原來Debian的apt-get、apt、aptitude是不同的工具，一個取代一個，但又允許同時安裝，容易造成用戶混亂啊。不像Arch Linux就一個pacman（不算AUR的話）。目的都是要作為dpkg前端，解決太難用的問題。因為dpkg不能處理套件依賴關係！照目前的發展來看，絕大多數情況下用apt就夠了。apt-get指令是基於dpkg封裝的。aptitude則是提供一個類似Synaptic的TUI界面，並會處理衝突問題。此外還有一個nala試圖解決aptitude界面太醜的問題。最後的apt算是apt-get的升級版，將指令統一為apt而不用切分為apt-get和apt-cache。也會處理衝突問題。現在dpkg的操作大部分能用apt完成了。但一些用戶可能被舊資料影響還是會用dpkg。例如dpkg -i .deb，但其實現在可以直接用apt install .deb了。從apt的發展過程中我們也能看到Slackware的影子吧，二者同樣在1993年誕生，早期套件管理一派混亂。經歷多年發展，apt成熟了可是Slackware還是那個死樣子，內建的slackpkg只負責解壓縮不處理套件依賴關係，社群開發了一堆工具補強，如sbopkg、sbotools、sboui，但互有缺陷，讓人找資料很混亂。\n20260520 館長自以為是網路紅人，對許多人來說可以成為兩岸溝通的橋樑，友善的稱呼大陸同胞，不改他是傻逼的事實。聽他反軍購講一個月了，講不出一個有理的理由。\n20260520 高德地圖這種侵犯隱私權還拿名人配音做誘拐的軟體應該立刻滾出臺灣。\n20260520 兩難問題？政府沒有權利封鎖網站\u0026hellip;侵害網路中立性。中國認為你ChatGPT不安全就封鎖，而英國因為4chan不願配合法規就封鎖，臺灣針對小紅書封鎖。這幾件事本質上沒有不同。不會說發生在民主國家就可以接受。尤其從封鎖手段來說，DNS Server應當是中立的，不是國家強制給你安裝色情守門員。現在的人太期望政府包辦一切了，於是把個人的自由過多的讓渡給了利維坦，溫水煮青蛙變井蛙還不自知。執政黨和在野黨居然放任這種DNS RPZ封鎖的行為存在！要麼全面開放網路，管那些被詐騙的去死。接觸任何3C裝置都要考試取得執照才能用，毀滅normies接觸科技的途徑；要麼學北韓建立光明網，只允許接觸三觀正的訊息。否則，我們以後上網都要全過程用加密網路才能躲過審查了。不幸的是在野黨立委也只會拿小紅書被針對做政治文章，卻無修法的意願，真是一群沒用的60席！\n20260518 Android跟Linux是離不開的，應當能夠共享電腦版GNU/Linux程式的資源，以前靠Busybox，現在靠Termux，未來用pKVM。\n20260518 在我2025年買Sony Xperia 1 III重新獲得Xperia 5 II的拍照品質之前的一年，相機顯色最中規中矩的就是\u0026hellip;iPad Air 6，起碼有iPhone X時代的拍照品質吧。起碼不會像Xperia 10 V那樣過曝或者過暗，因此是錄影甚至拍開箱文的重要設備。這在我學會用Open Camera，從計算攝影邁向手動攝影後，有稍微不那麼依賴了，Xperia 10 V的成像變成了稍微可控。不過真正重要的還是會拿Xperia 1 III出來，用Sony的Photo Pro手動調整APP把它當作單反相機使用。\n20260518 就算只是為了測試CUDA，GTX1050Ti這張卡也不行了啊\u0026hellip;已經有開發者打包的PyTorch依賴需要CUDA Compute 7.0以上版本了。畢竟都是十年前的卡了。唉\u0026hellip;這樣我只能去租GPU Droplet來跑需要CUDA的服務了。以小時計算即使是最低階的RTX4000也夠我用了吧。我用的服務也不用常駐24小時，就是終端機操作就好。怎麼便宜主機都被搶光了，要租用還得寫理由申請。除非你是簽長期合約的大客戶否則他們也不會理你吧。\n20260518 我如果要用筆電掛網的話，我會用QuteBrowser。Firefox開了續航力直接減半。\n20260518 圖片 現在各國政府開始學中國早期GFW建牆了，臺灣也是，不合法律的網站就下令電信業者用DNS RPZ封鎖，譬如小紅書和國外的大麻網站，會顯示此網域已經遭到封鎖。惡法非法，可乎？這個時候就只能改DNS繞過了，Android、iOS、Linux、Windows、macOS都可以改。如果要追求保護隱私又不審查網站內容的DNS，瑞士非營利組織Quad9的\u0026quot;9.9.9.9\u0026quot;可以嘗試一下。可是用了幾天之後發現網路變慢，ping了之後才發現比Google \u0026ldquo;8.8.8.8\u0026quot;和Cloudflare \u0026ldquo;1.1.1.1\u0026quot;回應慢了兩倍以上時間。看來這就是代價。NextDNS要設定過濾規則又太複雜了，我只是要一個中立的DNS做好索引網頁的工作就好，過濾廣告由客戶端的uBlock Origin操作就行。不要逼我在VPS開一個OpenBSD機器跑DNS Server呀。目前我還是只能用Google的。Cloudflare在臺灣好像會突發高延遲。只能接受被監控。\n用Linux玩Steam遊戲的用家得改進心態，不要看到人就推薦換成AMD顯卡，說你買錯硬體了！嫌Nvidia很爛。2026年，Nvidia顯卡的市佔率突破92%。你必須承認AMD和Intel的獨顯真的不爭氣。就算他們在Linux Kernel的支援度再好（驅動直接含在核心裡面開箱即用，Nvidia則是得手動安裝），沒人買也是白搭。況且跑本地生成式AI，CUDA也是最成熟的方案，其他家的加速方案有各種詭異bug，除非他們統一用Vulkan封裝不然去研究這些純屬自作孽。這是我用了幾個月Intel Arc A380最後又換回Nvidia GTX1050Ti的心得。常常聽說Nvidia跟Linux相性不好，主要是Wayland圖形界面而非CUDA的命令行程式。我認為現在是有很大改進了，尤其在Nvidia 565版本之後的驅動，大部分Wayland功能都支援了。在Ubuntu用Nvidia顯示卡玩Steam遊戲是沒什麼問題的。會在意Nvidia驅動相容性的大概都是走的太前面了或者是瘋狂geek。如果擔憂X11桌面Nvidia撕裂問題的直接換成XLibre就解決了！我今天重裝了GTX1050Ti的Nvidia驅動，因為幾個月前發覺的尷尬狀況，我現在Debian 13不能用apt安裝驅動了，套件庫的太舊，Nvidia套件庫的太新，必須用run file的官方安裝器才能取得最後一個支援GTX 1050Ti的580版本驅動。Linux思維跟Windows是不一樣的，驅動程式不應該使用開發商的程式安裝，而是應該用apt安裝。這裡屬於是沒辦法的情況。中間安裝驅動的時候還順便重裝了Linux核心。如果你學會與Linux的Nvidia driver打交道，瞭解驅動檔案放在哪裡，如何用dkms註冊與啟用modeset，從系統維護的角度來說，Nvidia也沒有那麼壞。若不是使用冷門發行版，或者頻繁更新系統的滾動發行版，Nvidia驅動大部分是沒什麼問題的。\n20260518 無用的Systemd服務 ～ 一朝全關掉。桌機用久了積重難返，用五年的SSD撐不住這種導致每次開機都要三分鐘以上，我發現很多服務開機自動啟動但是依賴它的軟體久久才開一次。 所以我就把它全部關掉了。檢視開機服務：sudo systemctl list-unit-files --type=service --state=enabled。譬如Docker、Virtualbox、LXC、CUPS、Legacy Crontab等等，Nvidia開機自動modprobe的程式真的很煩。我還發現了Linux原來有防2038問題的小程式wtmpdb在執行著。我吸納了FreeBSD的概念，即有用到的服務再手動載入就好。不用開機自動啟動搶佔資源。就算RAM很大也一樣。這樣修改之後總算把開機時間壓到一分鐘了。\n20260518 GRUB將zswap.max_pool_percent從60提升到90，似乎Surface Go 2玩Steam遊戲AOKANA不那麼容易卡頓了，可能是強迫程式留在4GB RAM執行而不要去用SWAP的好處，看起來也能提升回應速度。這樣的話，sysctl設定vm.swappiness為10來最大化禁止SWAP好了。此外，對這顆比較舊型的CPU，要儘可能減少播放影片的負擔，故Firefox不要用Flatpak版本，而是deb版。而且要裝H264ify強迫Youtube以H.264格式而非AV1提供串流才能使用VA-API播放。\n20260518 被人質疑我的學業專業能力，久違的哭一下感覺好多了，幹常吃的精神藥會壓抑情緒。\n20260518 Linux kernel簡直就是一個乙遊大世界，想要成熟穩重有Linus Torvalds，想要幽默風趣有Richard Stallman，想要我們的老公還有jserv，要說你們工程師也吃太好了吧。我已經垂直入坑了。每年都有大版本更新，全球玩家平等同臺競技，平民玩家跟課金大佬都能享受一樣遊戲內容，新的發行版伺服器每年加開，不爽就fork自己做一個發行版。因為發現研究Linux kernel hacking比遊戲還要刺激，這幾年我就幾乎不玩手遊了。徹底成為本子玩家。玩一些遊戲也只是為了方便找話題，不深入練功而廢寢忘食。最近一個例子是蔚藍檔案，那也已經是一年前入坑的，但等級依然低落。我已經很難接受每天打開APP就是為了領登入獎勵，活動開了就要被迫追著進度跑很難受，譬如FGO。我不想被這種精心設計的心理學陷阱追著跑。所以就是玩那種何時打開來玩都沒差的遊戲，譬如Temple Run或osu!。而且出於對自由軟體的追求，我偶爾開來玩的放鬆遊戲是Minecraft的代餐Luanti。不然就在Steam用Proton玩些單機劇情遊戲為主。\n20260518 有人可能會因為政治立場不同就討厭我，這沒關係。我本來就不強求他人改變成見。\n20260518 換了屁股換了腦袋思維會變化，也許未來我經濟狀況比較好之後，現在當下關心的事情就不再是那麼重要了。例如，可能被主流價值觀牽著走，因著現實，去投資股市賺大錢。但是我現在是很討厭人講股票的，因為那跟底層人民沒有關係，重點是我也沒什麼錢。\n20260518 只是覺得憂鬱的東西，譬如每天都說我要自殺，講久了會成為放羊的孩子\u0026hellip;可是會叫的狗不會咬人。\n20260518 小技巧：Steam有最小遊戲列表的精簡模式，使用指令steam steam://open/minigamelist 啟動，可以只在啟動客戶端的時候不要開啟完整的商店客戶端而是只有收藏庫，這樣大概能節省500MB RAM。在低端裝置十分有幫助，防止Chromium寫成的Steam客戶端過於佔資源導致遊戲lag。只是我不知道為什麼有的文字遊戲會吃到2GB RAM。\n20260518 什麼時候才能有輕量的Wayland桌面，又不用像Hyprland那樣自行組裝呢。GNOME和KDE都太肥了，我要RAM佔用512MB以下的。寄望XFCE吧。原來Debian 13的XFCE Wayland從LightDM登入會crash是因為沒有labwc合成器。可是就算裝了，目前看來也就勉強能用而已。無法很好的處理HiDPI，對觸控螢幕與滑鼠輸入的切換事件也處理的不好。一些小元件不能顯示。目前還是繼續用XFCE X11吧，他們的GTK hack可以勉強做到HiDPI，並且還有不錯用的Onboard虛擬鍵盤兼滑鼠。雖然X11在觸控螢幕用起來很cluncky但我覺得還行。尤其是Onboard除了模擬物理鍵盤輸入事件外還能模擬滑鼠右鍵，比Wayland虛擬鍵盤成熟多了，應該說根本沒有替代品。可惜這個軟體欠缺維護，Fedora已經把Onboard移除了。可是我看Github還有在更新呀？Onboard is an onscreen keyboard useful for everybody that cannot use a hardware keyboard Ubuntu的Launchpad還有套件。是難以移植到Wayland？\n20260515 真是受不了動態推薦的ragebait了，到哪都一樣。白熊效應，越是想著不要做，就會想去做。所以，我們不能說今天起我要nosurf，拒絕傳統社群媒體的doom scrolling，這對重度成癮的人來說根本做不到。因此，把思緒透過轉往其他地方會是更好的辦法。例如，脫離Facebook很難，那就改到自己的Mastodon發就好了。但你得承受沒有掌聲回饋的問題。可，考量到錢真的太多了的因素，我還是得在FB固定發廢文維持流量，那我想做法就是FB的書籤首頁設定我的粉專，發文後就關掉，別被動態時報吸引注意力。自然我也沒興趣去海巡回文了。\n20260515 科技愛好者的至暗時刻：身邊沒有人聽過Google以外的搜尋引擎，幾年前，當我講出我用Duckduckgo的時候女性友人都一臉茫然。\n20260515 Google搜尋無時無刻都在追蹤使用者，應該考慮換個替代品。如果要選保護隱私的搜尋引擎的話，應該相信Duckduckgo，Brave，Startpage還是Kagi呢？最主要是得免費使用吧，而且公司要讓人覺得信任。Brave只會搞加密貨幣經濟，有很多shady記錄，Startpage背後則是一家廣告公司所持有，這樣的話體量較小的Duckduckgo比較好吧。Duckduckgo公司在美國已經成立15年了。曾經PTT鄉民把Duckduckgo當作暗網看，因為過去沒有控管搜尋內容，很容易就能找到成人內容，包括煉銅的。結果改版就消失了，PTT便悲嘆Duckduckgo跌下神壇了。嘖，真是一群變態。但是使用Duckduckgo的原因不是只是為了色色而已。Everyone has to make up their own minds, but let me give you a few reasons. Duckduckgo公司的老闆親自會在Reddit上面海巡，他說他們公司面對批評會虛心改進，並說之前Duckduckgo瀏覽器不阻擋Microsoft追蹤器的事件純屬意外。雖然有從Bing買搜尋結果但Duckduckgo仍獨立運作。看看他們的政策透明度吧！We don’t track you. That’s our Privacy Policy in a nutshell.。Duckduckgo依然在推行保護隱私的搜尋引擎標準。此外，如果你搜尋Linux、BSD、Vocaloid、東方Project的關鍵字的話，Duckduckgo的鴨頭會跳出彩蛋。針對各大搜尋引擎紛紛加入煩人的AI問答風潮，Duckduckgo專門推出了NoAI的界面。我覺得Duckduckgo是有在改善搜尋精確度啦，雖然它讀心能力還是不如Google（使用者想要回傳離自己地理位置最近的網頁但又不想指定網域，尤其是中文搜尋，對Duckduckgo來說很難猜得準）。但如果第一次搜尋找不到，通常加上網域，Duckduckgo就會回傳不錯的搜尋結果了。例如加上\u0026quot;reddit\u0026quot;就會優先排序Reddit討論串。也就沒有用\u0026rdquo;!g\u0026quot;指令跳轉到其他搜尋引擎的必要了。我想這是為什麼一些Linux發行版會將Duckduckgo當作瀏覽器預設搜尋引擎的緣故。\n20260515 我是覺得啦，想要一個簡單的雲端硬碟，用dufs這種方案掛載一個WebDAV到本機成為FUSE就夠用了。用不著設定臃腫的Nextcloud。這個WebDAV目錄就是單純用來跨裝置存取檔案用的，網頁APP不太需要，打開檔案都用客戶端的原生程式決定。Syncthing雖然概念可嘉不過人們想要的還是中央伺服器的運作模式吧。VPS空間又沒有粉貴。還有一種鑽漏洞的用法是去蹭Cloudflare R2的無限空間當作冷儲存。啊我怎麼這麼笨，rclone本身就有WebDAV功能了，而且可以掛載其他雲端，這樣伺服端不論是什麼，對客戶端expose的都會是固定路徑！。\n20260515 總覺得有點魔怔了，現在什麼服務我都要想辦法用替代的第三方隱私前端來存取，儘可能除去追蹤器，簡單來說就是串API的非正規存取方式。Google用SearXNG，Youtube全部幹掉用Invidious，Spotify要用支援librespot的客戶端，就算只能播放320K也沒關係。目前無法解決的就是Steam了，如果我用Lutris理論上可以啟動不含DRM的遊戲，可是這樣跨裝置雲端同步就麻煩了，且Proton環境也不一樣。我的目的是把Steam變成雲端同步存檔以及遊戲下載平臺就好，而非啟動器。你知道24小時顯示遊玩時數是多麼侵犯隱私的功能嗎？\n20260513 XFCE的螢幕總是會自己鎖定，原來不止xfce4-screensaver，還得把light-docker這個服務關掉。\n20260515 因為工作的關係，我學會了拒絕情緒的做法，不只是痛苦，快樂也慢慢感受不到了。讓我自豪的是，自從我因為頻繁發怒導致回家得到恐慌症的那一天起，經過一年的學習，我比較能控制自己的情緒不依賴藥物了。當然，是指壓抑情緒的能力。舍曲林帶來的那種生無可戀的感覺，我使用物理方式就能模擬出來。這種麻木可以說是一種消極逃避問題的方式。反正，我也管不了秩序，那不如讓自己好過一點。總比憤而在課堂上拿刀出來自刎要好多了吧（需要多大把的刀呢？美工刀還是剪刀？老實說我都不敢在室內放水果刀怕一不小心就變梵谷了）。讓我體認到有序存有的，只有程式碼和哲學邏輯推導，而不是人類的混亂。我不擅長處理與人有關的事情，對教育還是政治都一樣。所以，我會希望AGI崛起，滅絕驕傲自大的人類。\n20260513 原本我想繼續活下去不自殺的理由，是要看到中共倒臺，看中國大陸同胞實現民主化，但是現在我決定改成等待親眼見證The Year of the Linux Desktop的到來。定義：Linux市佔率在Statcounter超越Windows達60%。\n系統訊息：恭喜你獲得了永生。\n20260513 空腹吃巧克力麥片充飢會導致低血糖暈眩冒冷汗，最好先吃點水果再吃，或者吃無糖玉米片比較安全。\n20260513 Why does the Googlebook exist? - The Verge Google大規模監控用戶的又一力作👎 GoogleBook，將Android與Chromebook融合的新產品，將Gemini AI帶到筆電上，與系統深度整合，可以跟Android手機協作。跟Windows與Macbook正面對決。當然，GoogleBook肯定要依賴Google服務才能跨裝置串聯的。更多細節目前還不清楚，但可以確定這是基於Android系統打造的，而非ChromeOS + Android虛擬機。不過我很不喜歡這種用AI監控人的系統。我比較希望這東西能重新復活Android-x86的生態系就是了，AOSP長期不看重電腦市場，導致Bliss OS無以為繼。現在Android 16大量獲得了Pixel的桌面模式的貢獻，令Android APP能變形為桌面版界面。還有pKVM的Linux虛擬機支援。如果GoogleBook買來可以刷成LineageOS就好了哪，AOSP以後應該能無縫變形為電腦界面。這樣就不用另外開發Bliss OS這種系統了。\n20260513 用類似winamp的界面聆聽Spotify音樂！比官方的臃腫電腦客戶端要輕量多了，而且沒有追蹤器，保護隱私。ampcast是開源可自架的網頁音樂播放器，支援Spotify、Apple Music、Navidrome、Jellyfin、Subsonic伺服器，也就是說，你可以同時將Spotify和本機音樂加入播放清單，混合播放！需要付費帳號才可以存取Spotify音樂，且因為官方API限制，最多只能播放320K音質。\n20260513 使用LibRedirect擴充套件，將Youtube網址自動重新導向到無廣告的Invidious，以求保護隱私，並且可以一鍵下載影片。我現在就是這樣做的了，在使用Firefox的時候我不登入Google帳號，看Youtube影片都是透過自架的Invidious實例存取。歐美網站好像比較多這種注重隱私權的替代前端(privacy frontend)呢，其實就是代理伺服器的概念。中國網站就比較困難。舉例來說，像Twitter和Reddit和Github都有追蹤器，有些人不想給這些邪惡的科技公司貢獻流量，討厭花花綠綠的界面，或是單純討厭馬斯克這個政治不正確的分子，就會改用替代前端來訪問。免登入Twitter看推文的工具有Nitter。Youtube有Invidious。Bilibili有MikuInvidious，Google有SearXNG。如果報章雜誌的文章有paywall，我們可以使用Archive.today抓取快照閱讀。用uBlock Origin擋掉所有追蹤器也是個辦法。不過替代前端是不用在客戶端瀏覽器做任何操作就能保護隱私權的。\n20260513 被指控叛國、不愛國有什麼大不了的？一個愛國者總是準備起身反對政府，捍衛國家。不過這裡有一點我要指出，我們應該連國家都不該捍衛，因為這是人造的產物，應當廢除。\n20260513 Thunderbird桌面通知為何不跟dbus整合而是要佔據全螢幕偷走視窗的焦點呢。\n20260513 如何推翻政府呢？是否先從成立 支那暗殺團．改 開始？\n20260513 是否可以不繳稅而自願被抓去關？\n20260513 我們不妨把話說的清楚些，政府的存在即是自由的威脅，稅收是政府對於人民財產的搶劫。\n20260512 濁水溪公社 - 卡通手槍 哦～民國115年，身上沒有半毛錢，要怎麼出頭天(天天吃大便) 可是我只能躲在角落裡看卡通人物打手槍。\n20260512 突然發現詞幕作者是不是玩了一個性暗示的諧音\u0026hellip;Lyricon，聽起來好像Lolicon啊。\n20260512 一直聽到什麼拒絕大灑幣的1.25兆軍購，等同買電腦卻不買系統的神奇比喻，不屠能行嗎。怎樣？我就是可以只買硬體剩下的自己來？看起來這些人對美國 （Windows）跪久了，不知道還有Linux這種自由的系統。更別提廠商想推銷給你什麼防毒軟體好收回扣呢，負責任的admin不需要這些鬼東西。買了這些垃圾，結果辛苦的勞工階級，軟體研發人員卻沒得加薪（指軍警消醫護），這體現了資產階級只顧自己利益的醜陋姿態，犧牲別人的孩子來鞏固自己的利益，人民應該起身推翻之。7800億還是太多了，在這點上我和一些立委的口徑一致，軍購預算應該是0！我們在幫帝國主義打一場不可能贏的戰爭。沒需求就硬是製造焦慮你就會買單了。哦，你說砍掉的預算扼殺了臺灣的無人機產業，沒關係，在瓦房店先進技術這點上你國和你支有的比。DJI進口換標就解決的事情。\n20260512 未來竟然要用手機掃碼才過得了reCapacha人機驗證！？如果手機沒有Google服務可能就無法開啟網頁了。還記得Google曾經提案要在Chromium加入WEI (Web Environment Integrity) 嗎？目的是把Play Integirty一類的安全驗證手段帶到瀏覽器上，用數位簽證的方式確保使用者執行的瀏覽器是安全的，沒有經過篡改的。但是這個機制會破壞自由開放的網路環境，過分刺探Client的硬體環境隱私，變成只有特定瀏覽器才能存取網站，可能還會導致Adblocker失效。WEI遭到Mozilla和Brave反對而作罷。現在Google把歪腦筋動到了Android WebView。新版的reCapacha可能會用QR Code取代過往的圖片驗證碼，即reCAPTCHA Mobile Verification，也許是為了加強防堵AI Agent爬蟲大軍的進攻。在GCP官方部落格的聲明證實了這點，他們認為這可以打造一個安全的瀏覽環境。Introducing Google Cloud Fraud Defense, the next evolution of reCAPTCHA。掃碼後，它會嘗試跟Android或iOS的Play服務溝通才放行。這個舉措會影響到degoogle的用戶，比如LineageOS和GrapheneOS。強迫人一定要拿手機出來被Google追蹤才能通過驗證碼。而且要是Play Integirty要求STRONG等級的話，有Root和解鎖Bootloader的裝置就會被阻擋了。改User Agent可能也繞不過reCapacha。我真的覺得現在越來越多網路服務需要手機驗證是一件荒唐的事情，要電話號碼就算了，還要確保你的手機是牢牢處於我們控制下的聽話環境。反詐騙？反「人類」！\n20260511 圖片 是這樣的，因為數據機後面網路線承重不均勻，導致機器可能會往後翻車，所以就找了一隻大屁股的福星小子景品來當作文鎮。\n20260511 為什麼我沒勇氣上吊呢。沒人瞧得起我，亦無人在乎我。看過很多成功人士的傳記，他們都會說在自己最窮困的時候口袋裡只有10塊錢的經歷，被他人瞧不起，彷彿臥薪嚐膽的故事。然後就沒了。然後轉眼間便成立了上萬元的富有公司。那\u0026hellip;我現在也是處於這種時期嗎。可是，我沒辦法確定未來是否會成功，講具體一點來說，是至少獲得每月有最低薪資水準的生活支持費用。現在的時代是反套路的，誰知道努力一定會成功呢。只是我又沒有勇氣去死，所以只好這樣苟活著。現在我的目標，四捨五入也算是在考公職，除此之外一事無成，就是這種不上不下的狀態最讓人難過。退了有死亡的沉沒成本，進則是會走向不確定的死板未來，到哪都是死路一條，爛命一條，不如乾脆死了算了吧？\n20260511 原生Android有沒有Saumsung Good Lock那樣強大的自定義主題系統呢？Android 12之後引入的Material You自動變化顏色我認為還不夠。對LineageOS來說，Root加上Xposed之後，安裝Iconify這個模組，便能調整整個系統UI的外觀了。可以修改全域圓角，弄成方的，自訂音量條的皮膚，修改透明度，以及讓鎖定畫面顯示音樂專輯封面、空間場景桌布等等。搭配LawnChair桌面，還可以自訂主題圖示。很可惜Android 16拔掉了自定義UI的功能，因為全面轉向Jetpack Compose了導致舊版修改UI的方法失效。我覺得LineageOS多少也有受到影響，例如自訂電池圖示的功能怪怪的。開發者需要重新找方法才能修改UI。目前我看到Evolution X是整合了修改UI的界面在系統裡面，可是Iconify尚未更新。為了測試這個功能我還得去找卡在Android 15的XZ2c出來測試。\n20260511 聆聽鳥鳴確實會舒緩腦部，本文告訴你為什麼 雖然研究指出鳥鳴聲會讓人感到放鬆，但是早上聽到斑鳩在窗外叫總是讓人頭痛。\n20260511 Android手機Youtube APP去廣告的新選擇：Youtube Morphe。 Can someone explain the ReVanced controversy? 看來Youtube ReVanced不能用了，開發者自爆了。不是，專門搞Youtube去廣告破解的這幫人怎麼還有辦法內鬥\u0026hellip;？ReVanced在Github的儲存庫遭到大企業的DMCA下架，又面對社群分裂的問題。ReVanced專案領導人太固執，促使貢獻者出走。另外ReVanced Extended也停止更新了。另外，ReVanced除了被Spotify等大企業的DMCA下架通知之外（ReVanced Patches可以破解Youtube和Spotify），還被Morphe開發者倒打一把，發出DMCA下架。 。目前看來Youtube ReVanced的繼承者是Morphe Youtube。作者為了迴避法律問題不提供現成APK，需要下載Morphe Manager自行patch Youtube APK再安裝，並且需要microG才能登入Google帳號。自從買了Spotify Premium後我就對這種破解不太感興趣了，當然電腦我還是開uBlock Origin把廣告擋好擋滿，就算我自己的Youtube頻道收益會被影響也沒關係。手機要看Youtube我就用NewPipe就好了嘛，完全不能登入Google帳號，提醒你不要被Youtube綁架。而且NewPipe使用自研的Extractor，跟Invidious一樣Google想告也告不成，又不會面臨破解Youtube APK的法律問題。\n20260511 看到Linux的Dirty Frag和Copy Fail漏洞，看來Terry Davis是對的，世界上沒有絕對安全的系統，不論這個漏洞是無意的還是NSA放的後門。最好的方法就是自己寫一個OS，從底層核心到使用者界面。\n20260511 警惕「假開源」軟體，原始碼開放不見得代表開源，要有明確的GPL或MIT授權條款才有效。開源社群如果不能堅持自由軟體的自由分享修改理念，那麼很快就會是徒有其表，淪為企業的面子工程。FUTO是Louis Rossmann主導的組織，專門開發主流軟體以外的開源替代品，意圖讓電腦回到消費者手上。目前FUTO參與的專案有Grayjay、FCast、Immich、Ladybird Browser。可是FUTO推行的產品卻有授權上的疑慮：一部分專案，原始碼是開放的，但是授權條款卻不相容開源軟體，等同看源軟體而已。這是假開源。這讓我想到AnyType的做法，十分噁心。八卦是Loius Rossman曾經大力推動GrapheneOS的使用，但因為專案領導人Daniel Micay太toxic導致Loius Rossman退出了。這裡有專門抓專案是否為真FOSS的網站：https://isitreallyfoss.com 撕掉企業偽善的面具：那些宣稱開源的產品，真的是自由的開源軟體嗎？\n20260511 在F-Droid發現了開源免費的寶藏拍照APP：FreeDcam，主打手動攝影的功能。FreeDcam雖然功能比OpenCamera功能少，可是界面看上去更像數位相機，讓我想到Sony Photo Pro。此外，這個APP有拍照的時候即時調整飽和度的功能，這可以稍微緩解我Xperia 10 V鏡頭拍起來死白的問題，雖然白平衡一樣不準確，且開Camera2API去手動調整白平衡的時候顏色依然會變超怪。我不確定原理如何，但Pixel 6a和Xperia 1 III的鏡頭在OpenCamera的發色預設就很鮮豔，Xperia 10 V的就是死白一片。我得用OpenCamera對到白平衡比較豐富的場景，鎖定白平衡才能拍出鮮豔的照片。如果OpenCamera能像Photo Pro把白平衡調色板儲存起來就好了。不然我就得隨身帶著校色卡(?)了。總而言之，Xperia 10 V拍出來的照片若是死白的，就得用Image Toolbox修一下才能看。\n20260511 有些人會將Chromecast當作可以隨身攜帶投影的電視棒，可是這個產品需要登入Google帳號才能用。我就在想能不能做一個開源替代品出來。之前有用樹莓派 + UxPlay做一個隨身投影的AirPlay裝置出來，可以給iPhone投影用。那麼Android手機大概就只能用樹莓派 + FCast了吧！\n20260511 被投訴，老師就輸了？校事會議下的教育現場｜劉亞平老師 #校事會議 #親師生衝突 #家長必看\n以前的學生：我告老師哦\n現在的學生：我要「告」老師哦\n希望我這個狼師以後不會被檢舉。\n20260511 Linux安裝中文輸入法一定要打指令嗎？以前我用HIME的時候都不用指令的，但很多人卻推薦指令裝法\u0026hellip;其實應該是不用的，就以現在功能最強的Fcitx5來說，GNOME和KDE桌面都有提供輸入法配置面板。十分甚至九分的簡單。有人在PTT發文問說：Linux安裝中文輸入法怎麼那麼恐怖？ 嗯，我猜原po是被打指令的過程嚇到了。確實，即使是Ubuntu安裝輸入法也是有點麻煩。要安裝比較現代的Fcitx5框架取代ibus的話免不了用到指令，Linux不像Android下載一個APP就能切換輸入法。但我也有在關注不同桌面環境免打指令配置中文輸入法的方式。雖然對老手來說打指令比較快，但提供友善的配置過程也應該會比較好吧。我正在檢討，把部落格的Fcitx5安裝教學改寫為GUI為主的版本，不要探討指令細節。就以GNOME桌面來說，目前Ubuntu 26.04是有內建兩個新酷音：ibus-chewing和fcitx5-chewing的，透過GNOME桌面的系統設定，鍵盤，輸入法，啟用。如果要切換輸入法框架，其實只要到GNOME系統設定，語言，下載語言套件與im-config，再於這裡切換就好了。如果要其他輸入法，開啟軟體商店，下載需要的Fcitx5輸入法引擎(以deb安裝)就能用了。KDE桌面的話，Wayland有提供全域輸入法模組。因此，先在Discover軟體商店下載Fcitx5，然後到系統設定選取虛擬鍵盤。這樣就完成了，十分簡單。Cinnamon桌面，我主要參考Linux Mint的做法，到系統設定選取輸入法框架為Fcitx，再下載Fcitx5套件就行了。此外，Fcitx5也有Flatpak版本，能收到最新更新並在immutable distro安裝。上面講的都是用deb安裝的。如果是Flatpak版本的Fcitx5的話設定過程差不了多少。那，你說LXQT、Mate、XFCE桌面的用戶怎麼辦？自求多福吧\u0026hellip;\n20260510 Happy Mother\u0026rsquo;s Day 2026 我打開Reddit河道看到的第一張圖提醒了我今天是母親節。(你媽生你的前幾個月be like:)\n20260509 Linux用戶應該都要學習如何手動啓動X Server和殺死它，不依賴Systemd服務。例如，了解.xinitrc與startx的語法，不依賴Display Manager自動啓動。另外，退出桌面環境的時候可以直接killall Xorg。通常越簡單的桌面越是能這樣處理，例如Mate、Cinnamon、XFCE等。GNOME太複雜就很難管理。\n20260509 獨家證據曝光! 三班護病比大逆轉真相! 陳玉鳳開撕黃捷.范雲全說了:民進黨有多下流! 這傢夥之前在立法院公聽會的三班護病比會議上，對顢頇的官員撒鈔票，是真漢子。民進黨一如既往的，真的很會認知作戰，對外放話說自己的版本最好，毫無廉恥的大內宣，結果根本沒跟護理師溝通\u0026hellip;啊不是說沒有討論不是民主，結果不跟民衆黨討論就算了，還用漂亮的話術擁護既得利益者。民衆黨又有人哭了，可見邱慧洳跟當年黃國昌面對勞基法修惡無能爲力的樣子一樣是性情中人。最後只能折衷投國民黨的版本。依照公會的看法，至少對護理師來說，人數只有1/3，被資方壓制的委員會乾脆不要有。我們永遠不能聽政客宣傳了什麼，而是要看基層的說了什麼。\n20260509 2026最狠清網行動：VPN大面積關停，未來將面臨怎樣的「大斷網」？ 20260508【新聞大寫】5分钟 王志安這部關於GFW的原理講得很清楚。中國人要翻牆真可憐，中共可惡，開源萬歲！！！真的什麼技術被支那人碰到都會變成威權獨裁的工具。曾幾何時，中國有良知的人，敢反抗GFW的人，都被迫噤聲了。我不能說幸好科技在文明手裡這種話，因爲美國也曾經有PRISM計劃，不過是因爲Snowden揭發了才讓他們比較節制一些。現在最新技術AI還被大企業掌控，美國政府肯定也在像中國政府一樣覬覦網路監控技術，只差一個好藉口罷了。人民必須隨時準備反對政府，捍衛國家。\n20260509 高華依照不同人群的定義而有所不同，有時是指那些融不進白人圈子又恰華人飯又覺得自己高人一等的。譬如，不那麼離岸愛國的粉紅，看中國國內問題就會認爲共產黨做的好，只接受大外宣，不知人間疾苦。某種程度上這些人比民運更加無可救藥。海外臺灣人，似乎也有高華這般的人物。他們沉溺於過時的冷戰二極對抗思維，認爲美國就是反共的正義戰士，不少人還會用基督徒的宗教視角看事情。但事實是1945年之後美國就沒有打過一場正義的戰爭了。被主流媒體洗腦，對民進黨的抗中反共敘事照單全收，因此才會出現一堆美國人瞎挺1.25兆軍購，離岸愛國，挺大罷免大成功，或是主張立即臺獨戰爭的言論。可是他們卻對民生問題一問三不知，因爲早就配置好海外資產了。只有濫用健保的時候才想到要回國。通常你會發現，走的越高的精英階級，IT產業經理人或企業家，玩股票的，就越是容易擁護建制的政策（除了川普和馬斯克這些神人以外，他們不怕主流媒體抹黑，堅持做對的事）因此，他們的話就是在強化自身的剝削體制而已。You will own nothing and be happy! 在臺灣就是跟民進黨與國民黨的利益高度綁定，形成深層政府。臺灣不需更多這種人，因此，只有政黨輪替，才能給這些人一記教訓。長遠的說，推翻一切政府與國家，建立自發的互助社會才能消滅野心家。\n20260509 電腦開機應該在10秒內完成，初始圖形界面的RAM佔用不應該超過512MB。GNOME和KDE桌面都太臃腫了，所以我探索了舊版Linux桌面設計的四天王：Mate、XFCE、Cinnamon、LXDE。Ubuntu和Linux Mint都有提供對應的ISO可以下載。 真的越來越喜歡Mate桌面(GNOME 2)了，原來GNOME 3以前的桌面是這麼溫暖又富有人性的設計，看看現在變成了什麼樣子！上方有程式列表和小工具，下方有視窗和工作區列表，桌面允許放小工具。這，才是電腦桌面，不應該迎合行動裝置degenerate一代的腦殘設計。Mate桌面非常輕量，開機佔用不到512MB，清楚的展示了功能。螢幕鎖定的時候，其他使用者還能在桌面留言。Mate能在桌面養魚。Caja檔案管理器能自訂背景，給資料夾加上可愛小圖示。安裝主題一鍵完成。Mate的美學設計雖然陳舊，不過也比預設狀態的XFCE好。即使這個桌面好像功能很久沒變化了，可是光20年前的設計，Mate的GUI功能就比現在的GNOME要多的多！如果功能沒壞，就不要去動它！不要爲改變而改變！\n20260509 Mate Desktop排序面板的方式是透過滑鼠點選的位置決定的。每次重開機icon會亂序顯示，需要右鍵，移動，它才能記住位置。\n20260509 電腦24小時不關機太耗電了嗎\u0026hellip;可是過去幾年我都是這樣做的。Linux主機常駐SSH，隨時能用Tailscale外部連線回來工作。我正在用ARM架構的RK3588迷你主機取代x86電腦作爲不關機的主力桌面系統。也許可以省下一筆每月電費。在買了RPI5之後又透過善心人士獲得了這臺不義之財，當然要好好利用。暫無購入Intel NUC的計劃，已經夠多臺小主機了。8核心的RK3588跑GNOME桌面 (XLibre X Server) ，和Firefox背景放Youtube影片多工，不會lag，體驗還不錯。我那300W的x86主機，Intel i5-7400 + 16GB RAM + Intel Arc A380顯卡。雖然可以方便我多工，但是還是滿耗電的呢。假設300W全吃滿且24小時不關機，一個月就會多好幾百塊電費。應該是真的有用到再開機就好，我有設定Wake On LAN能隨時喚醒。相較之下，RPI5 + RK3588兩臺主機的耗電量不到50W，電費只有x86的一半不到？雖然磁碟容量小，但我大部分只有文書需求，其實64GB的空間就夠用了。偶爾要玩Steam的Galgame，需要x86架構相容性的時候，再拿我那同樣省電的Surface Go 2出來就好了吧。嗯～這樣看來我只有要玩戀活或者打戰雷才要開x86電腦了吧。RPI5的工作倒是沒有什麼變化，我現在還在利用它的多工效能，外接大容量硬碟，當作NAS使用。\n20260509 OS沒有安裝Noto Sans的情況下，Hugo網站字型會變得很奇怪，會優先選取全形Emoji字型\u0026hellip;?，目前觀察到Firefox Android版和Firefox Linux會有這問題\u0026hellip; 明明Chrome都好好的。看來得重寫CSS邏輯了。\n20260509 看看Neocities站群這種老式的Web 2.0網頁設計，不禁就會讓人覺得現在的網頁太膨脹了。不應該是這樣的\u0026hellip;業界每過幾年就換一個前端框架卻忽略了要表達的內涵，各種現成同質性的的模板主題也抹殺了學HTML自製網頁的樂趣。你會刻意停用網頁的JavaScript嗎？歐美開發者好像有種設計風潮，他們在設計網頁的時候是以Noscript為前提設計的，例如Invidious (無廣告Youtube第三方前端) 和 Nitter (X的第三方前端)。我想是為了最大程度阻絕廣告與追蹤器載入吧。沒有JavaScript，網頁就只是網頁，沒有傷害使用者的能力。對極簡主義者(suckless)來說，網頁設計應該是要不依賴JavaScript就能運作的。所有功能應該用plain HTML與CSS來implement，JavaScript最多只是執行個小工具，不應該使用前端框架，更不該加密與過度混淆。雖然這會讓網頁看起來很簡陋（參考FSF的設計風格，他們難以讓網頁全寬顯示。Neocities上很多網站也是這樣），但這讓網頁是可被信任的被稽核的。網頁設計不應該只考慮在Firefox與Chrome的渲染效果，還要在純文字的終端機w3m也能閱讀。甚至讀者想要的話應該要能閱讀HTML（例如Richard Stallman他老人家不用瀏覽器，而是用curl下載網頁閱讀）就能看到本文而不是一堆裝飾符。JavaScript的話要符合LibreJS的標準，宣告自身是開源的可信賴的才載入。說是這麼說，但我沒辦法手搓一個好看網頁，因此目前還是用Hugo搭配別人寫好的Tailwind CSS主題生成靜態網站。幸好我的網站目前還算精簡，即使禁用JavaScript大部分元素都還是能跑出來，就留言板不可用而已。\n20260509 【尊】突然很想摸奶時怎麼辦?挑戰做手工ㄋㄟㄋㄟ 照你說的那麼簡單，花大錢去買專門飛機杯廠商出的奶子的是傻子囉？大概真的是。唯一的優勢就\u0026hellip;他們用的材質比較高級。但我不知道缺愛蛆到底需要多真實的奶子觸感就是了。\n20260509 土城十講｜第十九講 治癒內心｜柯文哲 ft. 黃瀞瑩 閱讀《蛤蟆先生去看心理師》 雙廚狂喜，我超愛The Wind in The Willows這本童書的。\n20260509 你螢幕調那麼 黑 鬼 才看得到啊！這很有趣，在Linux桌面，X11和Wayland的調光機制好像不一樣，導致螢幕顯示的亮度不同，是因為X11使用DPMS擴充而Wayland直接操作DRM？在X11桌面，xrandr \u0026ndash;brightness 0.1指令能把LCD背光調到超級暗，即使在暗室也很暗的那種，這背後似乎也調整了Gamma數值。但是Wayland亮度就只有固定數值。不過，KDE Wayland在DRM或DDC/CI不可用的時候，其實也會嘗試調整Gamma值讓螢幕變暗，這就是所謂軟體調光。以上場景都只有在LCD螢幕實驗過，OLED我買不起還不知道Linux能否調整PWM頻率讓眼睛看上去舒服些。\n20260509 沒有人：我喜歡聽90年代的音樂。任何人：對呀，麥克傑克森超帥的。沒有人：不，我是說，1890年代的音樂。有尼哥在月亮上，這樣白垃圾就不會來叨擾我了。There\u0026rsquo;s a Nigger in the Moon (1897) by John W. Dick arr. by Emil Biermann Foundring這傢伙真的很大膽，繼把4chan的仇跨順口溜You Will Never Be A Woman/Man譜曲後，開始以重新演繹經典名曲的名義大量演奏100年前美國的種族歧視歌曲XDD 還在Spotify發佈。\n20260506 【書影心潮】Social Credit不是真的，它不會傷害你。看了Black Mirror在2016年推出〈Nosedive〉短篇，確實很好玩，裡面的人都要用手機給人進行評分，每個人的眼裡會顯示對方分數，於是要面帶笑容還要表現得體，還要為了提升分數不斷討好上流人士。主角最後因為分數被扣光關入大牢，才真正解放自我開始狂醮髒話。讓人反思現代人沉迷社群媒體，總是活在被人評分的社會，往往都儘量在網路上表現自己最好的一面，導致與他人比較的焦慮問題。還諷刺了social credit機制。這部還暗示了女同與無性別的議題？這很好笑呀，我想到的是，FB在別人來留言的時候都給通知。不過要是有追蹤數一萬以上的帳號來留言，FB還會特地提醒你呢！啊我是要做什麼反應呢？難道我應該感到榮幸嗎？這又不是Youtuber在feat人\u0026hellip;。因為演算法機制，隨便一篇文章都會飄出去，然後可能不經意的被名人分享出去。可是，今天就算是總統海巡來留言，若講的東西跟我討論的無關\u0026hellip;我也不會做出什麼特別反應（況且我也不是很喜歡你國的總統）。\n20260506 受不了Google搜尋AI在那邊碎碎念了，我隨便搜尋一個問題，AI都會雞婆的跳出來回答煩死了。不要隨便幫我下結論，不要批評我搜尋的字串可能會教壞小孩，不要我搜尋 哥白尼哥白尼 還跳出來說我無法完成你的請求（有趣的是根據Hacker News的情報，搜尋時加上\u0026quot;fucking\u0026quot;的話AI就不會跳出來了，但隨著LLM越來越聰明，這招可能會失效）有需要的時候我自己會按Gemini的按鈕！！！雖然電腦版網頁還能安裝Hide Google AI Overview擴充元件去擋，可是手機瀏覽器沒辦法。於是光速在自己的VPS部署了SearXNG再上個Public Domain，搜尋只會返回網址，總算清靜些了。SearXNG是一個輕量的meta search engine。我主要開啟的是Google、Duckdcukgo、Presearch。伺服端會匿名將請求發往各大搜尋引擎，去掉追蹤器，然後統整各方結果到一個頁面上。\n20260506 要脫離Proton Calendar和Google Calendar就是架設一個CalDAV伺服器，例如Radicale或Baikal。原來.ics是一個純文字檔案。主要是用於備份但不適合編輯。因此WebDAV不能同步行事曆。另外架設CalDAV伺服器比較好。匯出Proton Calendar為.ics才發現久至2022年的事件都還在 == 只好手動截斷舊事件了，這個時候.ics格式的方便性就出來了。\n20260506 想要架設一個簡單小型的HTTP Server兼WebDAV檔案共享平臺到VPS，用於當作同步檔案的中繼站，例如給Joplin同步Markdown筆記，以及基於CalDav的行事曆。希望是可以在1vCPU和1G RAM這種極端環境跑起來的。用Nextcloud太肥了，Apache又太單一。那麼我想dufs這個Rust寫的專案應該很符合需求。未來應該能研究用這個去serve Hugo靜態網站。\n20260506 我真該早點用WebDAV同步檔案的，Joplin速度那麼慢原來是因為OneDrive API的速度限制。WebDAV雖然比不上Joplin Server的bulk upload速度但隨便一個資料中心VPS的網速也夠快了。\n20260504 樹莓派越賣越貴，Mac Mini越賣越便宜。ARM小主機的地位要被撼動了！？Windows 11 ARM on RPI5 這個專案好像死了，前幾年我還在樹莓派5刷UEFI韌體令其能夠啟動Windows系統的說。這個技術主要是由WOR Project維護，現在repo已經archived了真可惜。RPI5的4 x Cortex A76處理器的效能是勉強跑得動Windows的，畢竟SD845手機都有Renegade Project魔改了嘛。不過RPI5驅動問題缺很大，連有線網路都有問題。而且Windows的I/O需求比Linux高很多，SD卡速度太慢必須改裝NVMe，很麻煩。樹莓派還是乖乖跑Linux就好。聽說Apple在Macbook Neo之後還要出使用A系列晶片的Mac Mini Neo，要是能賣到萬元以下就是超值迷你小主機了。這樣Intel NUC就只剩下x86的傳統相容性能說嘴。然後因為記憶體漲價，16GB的RPI5現在竟然要7000臺幣！Mac Neo should be the follow up to the huge success of the MacBook Neo - AppleInsider\n20260504 我不行了，看起來Android 16新版的Material Expressive設計語言會導致中階機的系統UI嚴重lag，尤其是通知欄下拉的背景模糊特效。Pixel 6a (Tensor G1) 的GrapheneOS率先更新沒什麼差別，後來LineageOS 23也合併了，Xperia 1 III (SD888) 效果漂亮，可是Xperia 10 V (SD695) 就跑不動了。得在無障礙選項開啟「減少模糊效果」。這東西跟iOS 26的Liquid Glass是來用GPU算力淘汰舊裝置的是吧，而且Android 16的電池圖示還刻意抄iOS。Android 16一個比較好的變更，就是狀態欄的圖示不再限定是藥丸條，可以改成圓形。那麼什麼時候要開放更進一步的自定義呢？Evolution X都可以把icon改成以前那種方的說，有些老兵到現在還是不能接受Android到處都是圓角。我覺得LineageOS開發者好像還沒對Android 16做好準備。鎖定畫面的時鐘應該是能自定義的，可是LineageOS就只有一種樣式。修改系統icon功能也不見了。\n20260504 應該拒用串流平臺嗎？我可以不看Youtube的brainrot（暴論：所有Youtuber都是wannabe炒作狗），但是不能沒有音樂否則就會陷入癲狂。我認為要找一個ethical choice的Spotify alternative是很困難的，串流平臺往往需要DRM才能運作，DRM是defective by design，是不道德的。Youtube Music嗎，雖然它確實是沒有DRM enforcement不過我不想支持Google的monopoly所以遲早也得拒看Youtube，連用NewPipe間接存取都不應該有\u0026hellip;？Spotify間接用API存取是可行但只有320kbps。我想免費的最貴，只能回到以前的手動下載音樂離線播放的方式了。搭配Navidrome架設串流伺服器。如果這樣做有盜版嫌疑，那就到iTunes或Qobuz或Bandcamp購買drm free的數位音樂檔案。Qobuz看起來是比較尊重音樂人的商業平臺，訂閱串流方案的話還享有購買專輯的60%折扣。缺點是需要VPN跨區。那看來短期內還是只能繼續用Spotify。\n20260504 手機不安裝Play商店也可以使用Google Play消費的方法：使用microG。從Aurora Store下載PK就可以了。我冒險在FGO臺版裡面試刷了一筆，真的可以耶。如果要跨區的話還是得準備一個日區Google帳號吧。microG可以用來課金，當然了microG開發者聲明說造成的經濟損失概不負責。因為這個開源軟體這可能違反Google的TOS。且目前microG只支援APP內購，購買APP是不支援的。要在Google Play網頁購買APP之後Aurora Store才能取得credential下載APP。\n20260504 你有多猛？我不只手機沒有Google服務，還用DNS把Google和Youtube等大公司的網域全封鎖。達成極致的degoogle。https://github.com/nickspaargaren/no-google\n20260504 有時候要感謝臺灣這麼落後，現金交易依然被大量使用，才不會落得什麼都要用專有閉源的行動支付APP證明你身份的方式🙏 否則哪裡都去不了。即使現在載具還有什麼pay的被大量推廣中，但並非強迫使用，政府要推E化也不能強迫，沒有中共政府的鞭子那麼有力。網購的時候還有傳統的信用卡可以刷。當然如果可以的話我是不願意把錢放在銀行的，畢竟政府的稅收是對人民私有財產的搶劫。\n20260504 我們應該把手機當作ThinkPad安裝Coreboot一樣看待，不是麼？刷入自由的系統解放他們。現在我手上的三臺Sony Android機已經全部刷機為不含Google服務的LineageOS了，至多安裝microG。Pixel則是安裝GrapheneOS，小米則是刷成postmarketOS變成純Linux手機。算是提前為9月的Google強制驗證開發者身份做準備。我拒用行動支付，這是大規模監控，所以我不煩惱解鎖BL帶來的問題，我也鄙視那些依賴Play Integrity的APP。對大部分APP來說，不驗證Play Integrity就能用。尤其是手遊他們不敢把市場做小只依賴Google Play，因此很少會有強烈的Play商店依賴性。此外，未來手機廠商都說要打造AI手機，那我寧可不要Google服務統治的未來。不要GMS服務在系統級別的整合。要使用LLM，我就在瀏覽器裡面用就好。\n20260504 隨著Project Sandcastle出現，就會有：在iPhone裝Android跟在Androis機裝iOS哪一個比較好，我倒是希望為前者。很多人覺得iOS系統流暢，換到Android機上也一定好，未必如此。Apple控制了他們的硬體，只為自家的晶片優化。換到Android機就要先面對處理器要用哪家的問題，高通或是聯發科。這個時候iOS的維護成本就會曝露出來，沒有Android適應性那麼好。正如黑蘋果的體驗，都得玩家自己負責。如果要我在極致性能和相容性上做選擇，我會一直站在自由這一邊。\n20260504 結合suckless與支黑理論，停止講中文全面西化為English only應該比較好吧。中文博大精深太複雜了而且充滿謊言與欺騙，不如用ASCII就能完整表述的英語。Unicode是什麼？我不在乎！對人腦這個OS來說，安裝的東西是越少越好。\n20260504 對全球手機市場全面支化感到擔憂，除了Apple和Samsung這兩個老玩家之外，大部分都是中國品牌攻佔榜單。眾所周知韓國是小支那因此支性重，蘋果跟紅色供應鏈勾兌因此支性也重。日本和臺灣品牌市佔率都很低落，雖然我不是很喜歡HTC和ASUS，但看他們淡出手機市場感到惋惜。那些人看著中國機的花花綠綠規格與UI就買單，chinese chink shit瘋狂用低價格卷過其他廠商，破壞正常競爭規則，美其名為CP值。用戶對美學和自由無一點堅持，甚屬悲哀。Sony手機仍是我的偏愛，只是當他們端不出無挖孔螢幕以外的新料的時候，我就只能選Google Pixel了。Sony把業務都外包給中國ODM導致品質出問題，不免也沾上支性了。Google雖然可惡的掌控Android但仍保有一點geek風範，即提供豐富的開發者資源。因此使用者與Google是亦敵亦友的關係。且技術上來說，Google設計團隊從HTC挖角了一大部分過去，四捨五入也算臺灣品牌。\n20260504 總覺得，我明面上支持跨種族的極左翼但其實骨子裡是白人單一民族的極右翼。Maybe I\u0026rsquo;m just a bizarre little person who walks back and forth. jajaja. 不如來點\u0026hellip;民布？\n20260504 不是我想仇跨，但是有些跨畜的邏輯真的有問題，別人反感跨性別就要急著叫woke police出來抓hate speech，還會自慰說什麼恐同即深櫃，要不要B臉？你應該尊重別人有不喜歡你的自由。人類是不可能互相理解的。\n20260504 只有我覺得日本黃金週時繪師都在畫的黃金比基尼很土嗎\u0026hellip;不論巨乳還是貧乳角色穿上這種亮金色的服裝都會像是出來賣的。\n20260504 好可惡，家人把我幾年前寄放在那的正版天竺鼠車車的娃娃抱枕嫌髒丟了，7-11買的，那隻馬鈴薯很可愛的說，差不多一個人頭大小，只留下IKEA鯊魚。那我下一隻娃娃只好去買FUMO抱著睡了，，，被人看到總比動漫抱枕還要不尷尬，不然我挺想買えびふりゃ老師的艦娘作品的，，，\n20260504 提升Android手機流暢度的秘訣就是\u0026hellip;關閉轉場動畫？（智將）正如電腦太爛就關閉合成器動畫一樣 😉 Surface Go 2的Intel Pentium 4425y我發現終究是撐不住KDE Wayland了，即使是Linux系統，所以安裝XFCE X11。XFCE的xfwm合成器最大的特色就是沒有過場動畫，KDE點選APP都會有跳動動畫，因此所有程式切換都是很快速的。當然CPU負載太重就會出現IE的畫面撕裂現象。想要動畫的話可以把合成器換成Compiz。那麼換到Android呢，我發現大概是Xperia 10 V的SD695真的太爛了，從買來的第一天就有lag問題，不能怪Sony優化不好，即使刷LineageOS還是可能會動畫lag，可是SD888和Tensor G1都不會，所以我只好到開發人員選項全關了。為什麼不設定為1.5倍？因為還是會卡。關了之後嘿手機還挺順暢的，原來以前的lag感都是動畫lag給人的錯覺。作為一個boomer我可以忍受沒動畫。儘管這麼做犧牲了視覺效果不過我覺得回應迅速比較重要。\n20260504 為什麼到了這個年紀還要因為考試不過關而心驚膽跳甚至產生想死的念頭。明明這不是一切，可是我又沒有其他證明自己的方式，只能沿著既定的路線繼續死磕。彷彿是說，我的存在完全取決於他人的評價，而這評價來自於量化的數字以及成就還有薪水，於是，自我肯定的意願低落。\u0026hellip;\u0026hellip;在有進一步想法之前，先服藥吧。我已經去刻意理了光頭沒有東西可以傷害自己了。再試一次一定\u0026hellip;\u0026hellip;否則我就\u0026hellip;\u0026hellip;。求求你了，忘了這裡的我吧，忘記這一切\u0026hellip;\u0026hellip;。\n20260504 2x網站更新：繼移除廣告後，網站「Ivon的部落格」正式移除Google Analytics (GA)，你各位不用再擔心被Google監控一舉一動啦，讓uBlock Origin追蹤器數量清零。你知道的，你在看哪個頁面，進度條捲動到哪裡，我GA後臺都看得一清二楚，但都是匿名資料。現在我對這些不再感興趣了。將GA替換成遵守GDPR的Umami Analytics，蒐集到的資料少很多，並且通過一些偽裝躲過uBlock Origin與Brave adblock-rust的偵測。為了進一步去Google化，我將網站依賴Google Fonts載入的CSS也刪除了，以後字體會變成依照OS有的下去渲染。Linux用戶應該會優先看到Noto Sans。我的另一個網站「友善的小貓」正式移除蓋板廣告和Google Analytics了，日後欣賞紳士內容不再會受到廣告騷擾。\n20260430 企業玩弄開源軟體(open source)的定義已經不是一天兩天的事情了，開源對他們來說只是一種pink wash。看到FUTO介入的軟體（Grayjay、FCast、Ladybird瀏覽器、Immich）我都會不太想用。因為他們自己開發的專案從來都是source available，所謂看源軟體，而非open source。縱使你可以稽核原始碼，他們的授權條款卻限制了你fork的自由。雖然以隱私去中心化為號召，便讓人覺得不過是商業包裝的話術罷了。既然如此，不如堅持講自由軟體(Free Software)並且妥善奉行GPLv3。\n20260430 可以在不刷機的情況下進行degoogle嗎？一般我會說，把手機刷成沒有GMS的LineageOS以逃脫Google魔爪，並改用F-Droid當作主要商店。但是\u0026hellip;很多手機刷機很麻煩，甚至無ROM可用。如果你想要實驗一下，不想破壞現有的工作流。那麼可以用Android的多重使用者功能，開一個新帳號試試。應該這樣思考：使用多使用者的時候，主使用者的行程大部份是停止的，但是有一些系統服務仍在執行，這包括GApps。因此，應該是將主使用者的GApps停用。然後在其他使用者登入GApps。看來自由意志社會主義的實驗失敗了。針對那些沒有革命覺悟，覺得刷機要重新設定手機工作流很麻煩，但又想逃脫Google影響的degoogle眾，畫出一塊自治區讓他們進行實驗（就像蘇聯對馬赫諾運動早期的態度）。利用Android的多重使用者功能，開一個新帳號，然後在裡面進行degoogle試試。最主要是透過adb shell pm uninstall \u0026ndash;user的方式來給個別使用者刪除Google有關的GMS服務。但是根據我在Sony Xperia 10 V原廠ROM的測試結果，刪除太多Google套件，包含GMS與Play商店，桌面就進不去了，設定畫面也會各種崩潰。不知道為什麼Android廠商要把自家的元件跟Google進行深度綁定。因此我只好摧毀這個無法正常使用的使用者帳號。看來唯有暴力革命（指刷機）一途才能徹底擺脫Google了！\n20260430 AI的發展令人寒心，隨著Linux主流桌面發行版都想學Windows 11走向殺小AI slop的發展方向，包括Ubuntu加入AI，Fedora還允許vibe coding。Firefox引入的AI模型只有本地翻譯比較實用，但ChatGPT就噁心了。LibreWolf將其移除了。我看我們只能切換到Linux Mint、OpenBSD這種小作坊的系統了。系統由一小撮人維護，不會迎合主流商業利益。 Theo de Raadt對AI的態度很明顯：I understand the code the AI provided could be stolen and you don\u0026rsquo;t want to play that game, ok.\n20260430 【國動】爆氣 打人宣言 見人就戳！我在這邊誠摯的呼籲啊\u0026hellip;\u0026hellip;記錄人類歷史的重要影片，一定打你～！9年前看過現在看還是抒壓。\n20260430 Copy Fail - Most Linux LPEs need a race window or a kernel-specific offset. Copy Fail is a straight-line logic flaw — it needs neither. The same 732-byte Python script roots every Linux distribution shipped since 2017. Linux核心爆出了重大漏洞，CVE-2026-31431「Copy Fail」，利用algif_aead核心模組的漏洞，只要執行一個Python指令稿就能入侵setuid，拿到root權限。而且這是存在長達9年以上的漏洞，影響幾乎所有2017年以後的Linux發行版。建議立即更新系統Linux核心版本。Linux作業系統套件管理器存在資安漏洞Pack2TheRoot，攻擊者能取得root權限還有，最近PackageKit（Linux桌面應用商店負責更新軟體的服務）也被爆出有提權漏洞，CVE-2026-41651「Pack2TheRoot」能夠繞過使用者同意自行安裝軟體。建議更新系統。順帶一提，如果是Debian與Ubuntu的伺服器，可以安裝unattended-upgrades這個服務，它會自動下載安全性更新並套用。sudo apt install unattended-upgrades \u0026amp;\u0026amp; sudo dpkg-reconfigure unattended-upgrades 它註冊為Systemd服務並每天執行。不過Linux核心不能直接替換，只有Ubuntu提供Live Patching工具可以在不重開機的情況下修補核心，通常在更新Linux核心後必須重開機才能生效。\n20260430 電腦視窗開太多要怎麼整理呢？通常我會用工作區(Workspace)分類，這個機制在20年前的XFCE桌面就有的概念。但是如果我想要檢視所有開啟的視窗呢？GNOME、KDE、Cinnamon有檢視全部視窗(Show all windows)的功能，可是XFCE沒有。這導致程式視窗多起來的話就會很難找。XFCE的面板只會顯示文字列表，沒有縮圖。那麼skippy-xd這個小工具就解決了這個問題。skippy-xd是給XFCE加入類似GNOME Activities視窗概覽的小程式，但是名字取得很爛，叫什麼Skibidi Toilet的諧音。簡述用法：用xdg-autostart設定開機登入自動啟動：skippy-xd \u0026ndash;start-daemon。在XFCE面板新增啟動器，點選icon執行指令。skippy-xd \u0026ndash;expose 檢視目前工作區的視窗。skippy-xd \u0026ndash;paging 檢視所有工作區的視窗。skippy-xd沒有限制只能在XFCE用，我在Mate試了也可以用。只要X11桌面都可以吧。只缺拖動視窗到另一個工作區的功能了。目前好像不支援Unicode，需要patch。\n20260430 唉太苦了，Intel Arc A380在Waydroid裡面跑Geekbench，GPU處理分數28146，已經快被Snapdragon 8 Elite Gen 5追上了，所以手機處理能力都超過低階獨顯多久了。\n20260430 經過多次更換發行版之後，我發現Debian + KDE才是我的真愛。Ubuntu和Arch次之，因此未來幾年我應該會一直回到Debian。我真的每幾個月就會在不常用的筆電探索一個新的Linux發行版，通常先在QEMU/KVM虛擬機裡面測試，然後安裝到實機。雖然底層都是Linux Kernel，但上層搭配不同的userspace工具以及init，還有不同的DE就有很多種組合。當然我個人還是最喜歡KDE了，很少有Linux桌面環境是限定只能在特定系統用的。與人鬥其樂無窮。最近Linux有點膩了開始嘗試其他類Unix系統和開源OS，未來的下一步\u0026hellip;安裝TempleOS！\n20260430 目前我的新聞消息來源主要是館長和Bryan Lunduke。我會把他們的Youtube影片放在背景當作廣播節目聽，感覺有趣，幾乎每天更新所以不怕沒東西看。好的我知道兩個都是貴物，聽他們講的東西就會潛移默化形成一種陰謀論世界觀。一個整天說要跟中國統一再罵民進黨幹你娘。一個嘲弄左派開源軟體開發者，感覺像是Fox News主播的風格。不過我從中觀察到了經營直播的技巧，那就是要跟觀眾套近乎。館長會像個大哥一樣講故事，Lunduke則是不時會感謝訂閱者，說因為有你們才能支持我這個不被大公司影響的自媒體。這樣觀眾就算知道這是邪教也會想支持他們。\n20260430 想起15年前手機沒行動網路的時代，我能做的就是看電子書，或者玩離線版Minecraft PE。那個時候Android手機不常時連網，只有在家裡才有Wifi，反而1000多mAh的電池續航力能逼近現在4000mAh的續航。除了上SF輕小說網找txt小說來看之外，我還會把維基百科最長的條目存成文字檔放到SD卡當小說看。通常是人物列表，或者典範條目。很感謝維基百科官方APP現在依然提供一鍵快取離線閱讀網頁的功能。\n20260429 科技之所以會腐化人心，就是現在的電子裝置太智慧了。E世代觸及訊息的成本太低，一點都不ㄅㄧㄤˋ。看短影音、打報告、玩手遊、回訊息、拍照打卡、直播\u0026hellip;我們應該停止把手機當作隨身小電腦用。讓上網變回只能在家裡用電腦做的事情，你就不會整天跟網路連接在一起。Shower thought: 新世紀福音\u0026hellip;不是，是新世紀UNIX哲學，我們應該把智慧型手機功能拆開，返回原本應該有的功能。做一件事情並做好(Do one thing and do it well.)。參考digital minimalism的想法。因此，出門的包包應該攜帶：基本只能打電話的Sony Ericsson手機（不超過5吋）、Walkman隨身聽、數位相機、不能安裝APP的電子錶、書、筆記本，還有PSP遊戲機，再放臺正常的GNU/Linux筆電。這樣就滿足了智慧型手機的常見用途。其實也不用花錢專門去買智障型手機，只要把現在手機的社群媒體APP解除安裝就好。或者刷機為沒有Google服務的LineageOS。只安裝必要的瀏覽器APP。網路不要一直開著，即使有吃到飽也要假裝自己在用預付卡。賈伯斯說iPhone把電話和iPod的功能合在了一起，這讓手機廠商有了掌握人們生殺大權的壟斷權利，還能隨時監視你，現在我們應該把它分開回去，正如九大巨人被分割一樣。\n20260429 Plasmashell runs at 100% since last upgrade FreeBSD在KDE Plasma 6.6.3有個詭異的bug，要關閉右下角時鐘tooltip顯示秒的功能才能防止CPU超出100%甚至300%。就是這種系統也走滾動更新(Ports更新比系統主幹快)，我受夠啦，切換到比較簡單的Mate。\n20260429 有些人說Linux比Windows電腦適合做音樂，系統不會重新取樣，音質比較好。像好和弦就有一些用Linux的自由軟體做音樂的教學。來用 Linux 和自由軟體做音樂吧！。Linux音樂播放器有聲卡獨佔模式，還有很多免費的DAW軟體。照這樣來說FreeBSD和macOS其實在音樂表現也很好。但你可知道，過去Linux簡單播放一個音樂也要搞一堆有的沒的。在FreeBSD，我體驗到了過去Unix-like系統的音訊系統的混亂，播放音樂同時有OSS、sndiod、PulseAudio在打架。Linux曾經也有這個問題，從OSS到ALSA再到PulseAudio，還有JACK，每個方案都有各自的問題。例如ALSA雖然是Linux Kernel提供的音訊系統，可一般使用者不好操作。PulseAudio解決了多個程式同時發聲但有延遲問題。可PulseAudio剛出來時候這個半成品被Lennart Poettering大力推動作為許多程式默認使用的音訊後端，像Systemd一樣到處汙染。但又有開發者堅持使用ALSA。現在主流Linux發行版（Fedora、Ubuntu、Arch）的做法是安裝PipeWire，把這些複雜的線路都隱藏起來，讓使用者不用去煩惱這些問題。WirePlumber, the PipeWire session manager How does it work?。不管程式用ALSA還是PulseAudio發出聲音都沒差，反正GNOME和KDE的音量面板會自動切換。今天回來看這篇文章終於讀懂了。使用PipeWire取代PulseAudio - 「覆沉」\n20260429 我一個系統不會用超過一年不刷機，不論是刷回原廠還是第三方ROM，所以可以說我定期給手機重置保持了系統順暢。Android好像沒有查看系統安裝多久的功能，也許root後可以去看檔案系統建立的時間來推斷？所以我只能從一些線索去推斷這個系統活了多久。那，透過觀察EhViewer下載列表最老本子的時間我就能推斷出來，因為換系統我一定先下載回來。\n20260429 Sony是反中國反韓國反臺灣反美國的用戶唯一能選的手機品牌了，大日本東洋貨就是好。Sharp也算日本品牌但不好刷機。私以為，Sony Xperia 手機目前存在的價值就是提供一個優質的母體做刷機用。沒有挖洞的螢幕，記憶卡，3.5mm，還算大的電池。我認為光是堅持完整螢幕這點，就比一眾腦袋破洞的螢幕廠商要來的漂亮(Yes, you are all wrong)。只要不要買綠線炸彈的5系列，硬體品質都還行。當然論CP值肯定是不如小米。如果是專門買來實驗的機種不是很值得。索黑說的對，Xperia軟體真的很爛，因為在Android 10之後，原廠系統就長得跟AOSP幾乎一樣，然後每推出一代就砍一個功能，以前的Sony相簿鍵盤都不見了，現在只剩Photo Pro和DSEE算是獨家產品。但，我覺得Open Camera搭配Camera2API的手動功能就夠用了。既然Sony原廠系統沒什麼好留念的，刷機就勢在必行。Xperia現在解鎖Bootloader很寬容，大約2018年以後的機種都能安全解鎖，允許回鎖，不會噴功能。然後Sony也有定期公開kernel原始碼，通常在一臺新機發售一兩年之後就會有LineageOS ROM出現。例如現在的Xperia 1/5/10系列普遍都有official支援。\n20260429 手機進入全螢幕時代後就要仔細分別幾吋的意義，以前吋是指螢幕而已不包含外框，現在吋基本上包含了整機尺寸加上螢幕了，否則就容易被參數欺騙。實際到PhoneArena網站比對手機大小比較準。我現在才知道Pixel 4a的尺寸比Pixel 3都要小，跟Pixel 5和iPhone 17e一樣大，我想說為什麼Reddit r/smallphones的banner會有這臺，原來是這樣。5.8吋的螢幕聽起來很大但其實很小。只可惜它有挖孔螢幕。而且我認為這還不夠小～要iPhone 8以下尺寸的才行。\n20260429 在想systemd-sysext這個機制成熟以後，在Fedora Atomic的發行版或許就不用擔心不能local overlay的問題了。目前的問題是在immutable distro不能對系統變更，要安裝cli軟體被迫採取rootless或容器化的方案。未來要從ostree過渡到composefs，屆時就會有dnf不能安裝軟體的問題。ostree local overylay慢又耗時，那不如用systemd-sysext直接安裝二進位檔案吧。它可以在目前的系統額外加入一個映像檔，這樣執行檔就會在/usr/bin可用。一個例子是用systemd-sysext安裝emacs：Intstalling Emacs with systemd-sysext 這不就是Android手機Magisk安裝busybox的概念嗎！？用overlay讓binary在$PATH裡面憑空出現。只是目前好像也沒什麼人推薦這個機制，因為systemd-sysext映像檔要對齊系統版本，用起來可能會像systemd-nspawn一樣麻煩。大部分發行版都還是建議用Toolbx。\n20260429 去你的Jellyfin，不要一直抓metadata下來，不要擅自把我從字幕組下載的影片標題中括號截掉當作metadata解析。我猜Plex八成也是這樣。只是想要一個單純的可以用資料夾模式瀏覽的網頁影片播放器怎麼那麼難，Nextcloud可能是個解方但是太重型了。SSHFS或SMB需要特定軟體才能存取，我希望是瀏覽器就能看。我看還不如直接跑一個httpd server設定簡單密碼，直接用瀏覽器讀取伺服器目錄得了。Firefox大部分影片都能解碼，不論是H.264或AV1，不過沒辦法載入字幕。那需要進階影片操作的時候，再打開VLC直接播放http網址影片就好了吧。我不需要串流壓縮，全部都是區網播放的，速度還能接受。\n20260429 原來rofi就是krunner的替代品呀\u0026hellip;內建一系列主題方便組態。需要替代的應用程式搜尋器就用這個！\n20260428 X11已死？不！這是活派的勝利呀，安裝XLibre取代Xorg，就解決了Intel UHD 630內顯在FreeBSD 15的瘋狂畫面撕裂問題，瀏覽器捲動畫面再也不會一條一條了。XLibre X Server = 活派。開源社群fork，人民的力量，送了許多新功能的patch。Xorg X Server = 死派。傲慢大公司RedHat放推等死的產品，要逼迫Linux用戶都遷移到Wayland。xorg.conf不用設定什麼，只要用modesetting和i915kms就可以了。大概是XLibre預設啟用TearFree選項所致使。這下可以繼續愉快的在BSD系統玩耍X11桌面而不用去用Wayland了。果然有經過代碼清理的XLibre比較好。目前XLibre還沒有進入FreeBSD套件庫，需要從Ports手動編譯安裝。或者添加第三方套件庫安裝二進位檔。Porting XLibre to FreeBSD and DragonFlyBSD!\n20260428 推薦KDE用戶給Fcitx5安裝主題，不然預設的QT Breeze主題太醜了。使用Mellow for Fcitx5 這個的話能夠善用Kwin的處理能力在打字的時候加上毛玻璃的模糊效果。目前唯一的問題是在Wayland的LibreOffice吃不到這個主題，唉Linux。GNOME用戶應該是不用安裝主題，有使用Input Method Panel的話Fcitx5會自動套用Adwaita風格。\n20260428 2026年使用FreeBSD就很像在民國90年代初期使用Linux一樣，啊啊好懷念那個年代\u0026hellip;不對我根本還沒出生。你會遇到很多問題，不只是軟體，還要跟硬體相容性戰鬥。例如我為了解決Intel 7代CPU的UHD 630內顯在X11一直畫面撕裂的問題就奮鬥了好幾天，明明在Linux是開箱即用的說。依照Handbook改驅動和撰寫xorg.conf語法，設定什麼TearFree都未見成效，Firefox在Youtube捲動頁面還是會畫面撕裂。雖然知道KDE Wayland可以一勞永逸，我暫時不想去用Wayland因為想嘗試Mate桌面。不過我倒是瞭解到了舊有xf86-video-intel這種驅動是真的沒有人在用了，得使用DRM架構的i915kms才行了。最後我放棄設定xorg.conf了，換個瀏覽器一看才發現原來是Firefox自身的問題，ESR和最新150版都會畫面撕裂，但Chromium 147卻不會畫面撕裂，怪怪龍地咚。Fuck (元首摔筆) CPU使用率一上升，Chromium還是畫面撕裂了。啊算了還是老實用KDE Wayland吧，X11沒救了。也許XLibre以後移植過來取代Xorg能解決畫面撕裂問題？相較之下Linux現在實在進步太多了，開箱即用又有很多人盯著修bug。就算是Arch Linux用戶至少也不用煩惱很底層的東西，裝好就能用了吧。希望FreeBSD基金會花好幾十萬美元投資的Laptop Support and Usability Improvements Project能改善桌面用戶的處境。但是我們得先將FreeBSD主要開發者全部抓回來強迫用FreeBSD當主力桌面系統才知痛，所有人配發一臺ThinkPad，不準用Macbook遠端開發。聽說OpenBSD開發者是真的把這系統當桌面用的才能確保品質。\n20260428 最近有點懷念擬物化設計風格，Mate是現今除了KDE裝Oxygen主題以外可以體驗10年前擬物化設計風格的Linux桌面了，GreenLaguna的綠綠主題搭配玻璃珠的放大縮小鍵非常好看。Mate還在用GTK2與GTK3。XFCE移植到GTK4之後倒是變得太現代了。GhostBSD打包的Mate桌面也是扁平化設計，可是我覺得GTK 3就該搭配擬物化嘛。Mate是從GNOME 2 fork出來的專案，保留了20年前Linux桌面的設計，開機只佔用500MB RAM。比起GNOME 3試圖將電腦變手機，把使用者當智障，簡化一切複雜操作，Mate所有將系統設定一字攤開，保留給power user使用。你還可以在Mate桌面養叫做Wanda的魚，點一下執行fortune指令，隨機講一句智慧話語。搭載Mate桌面的Linux發行版目前有Ubuntu Mate和Linux Mint Mate Edition，討厭Snap的可以選後者。部分Mate桌面的主題可以透過apt install mate-themes在XFCE使用，不過效果不好。Mate長期以來使用X11協定，未來Mate也會慢慢過度到使用Wayland協定，目前已經有了使用WayFire當作合成器的實驗性Mate session：mate-desktop/mate-wayland-session，不過看目前的架構好像只是用script啟動現有的Mate元件並讓它跑在WayFire上而已？還有些元件是跑在XWayland的？\n20260428 誒不是FreeBSD的套件管理器也太笨了吧，我只是在KDE之後安裝了Mate桌面然後想執行pkg autoremove清除孤兒包，怎麼就把KDE給刪除了呢，還帶走字體和GPU驅動。只有Wayland的包被Nvidia的驅動lock導致沒有被移除。我懷疑是之前在Ports頻繁降級系統導致斷開魂結。重開機後，疑似一些關鍵系統元件也被移除了，導致重開機後無法使用鍵盤滑鼠，只要啟動X Server系統就卡死只能SSH遠端進入。不完全重灌拯救系統的方法只有freebsd-update -F fetch install比對基本系統修復，然後再pkg install -f drm-kmod xorg了。\n20260428 Solved sound: hw.snd.vpc_0db \u0026lt;- trying to understand. Edifier R19BT透過USB音效卡連接在FreeBSD的音量太小了。透過調低kernel這個hw.snd.vpc_0db數值可以放大音量，但又會破音？也許用3.5mm連接會正常些。嗯，問題應該不在這裡。FreeBSD還在轉換到PulseAudio的初級階段。令人訝異的是，FreeBSD Handbook對PulseAudio隻字未提，遑論PipeWire了。但越來越多程式強制要求使用PulseAudio，無視FreeBSD原生的音訊系統。PulseAudio就跟Systemd一樣到處汙染。我覺得某種程度上PulseAudio在FreeBSD水土不服的狀態，雖然KDE音效面板抓得到可是Mate好像不行。而且一些程式播放音效的時候依然不走PulseAudio，Mate看起來是用Sndiod。Firefox要強制指定media.cubeb.backend才能用OSS？哦～只要啟動sndiod，Firefox就會自動使用，不會啟動PulseAudio。但我有一個詭異的問題，就是Firefox聲音每次播放音量就會重置！？原來是mixer預設設定太小聲了，要設定hw.snd.vpc_autoreset=0。\n20260427 為什麼沒人用Emacs和Lisp寫程式了，現在連Vim也越來越少見了，，，VS Code is bloated. 我在文字編輯器裡面跑瀏覽器(指eww)，你在瀏覽器裡面跑文字編輯器(指Electron)，we are not the same. Emacs可以在SSH工作階段執行，功能比tmux和Vim更豐富，它不只是一個文字編輯器而已，它可以用純文字界面載入基本HTML瀏覽器以及收發電子郵件，寫行事曆，還有內建小遊戲，更可以搭配X11管理視窗。不過其實我比較喜歡Vim，我在所有系統都會裝Vim來用，Android也不例外。\n20260427 現在5吋以下又無挖孔的手機太罕見了但是我想要，gonna catch\u0026rsquo;em all! 關於Sony的舊版小手機，研究如下。Xperia Z5 Compact：明明是火龍810續航成績卻很好。Xperia X Compact：也是很完美的機種，塑膠做的。Xperia XZ1 Compact：下一支考慮入手，最完美的機種，金屬材質。Xperia XZ2 Compact：已經入手，塑膠玻璃機身很醜。Xperia XA2：雖然大了點但是SD630確保續航，金屬外觀還算漂亮。Xperia 5 2019：綠線發作機率最小的5系列？Xperia Ace 2019：要透過日本亞馬遜才能買到的夢幻機種，感覺是XZ2c降級版。幾乎不可能刷機。\n20260427 金枪鱼之夜：Vanilla OS 3: 不可变、可重现的操作系统 難得一見的中文討論immutable distro的中文影片。他是VanillaOS的開發者之一。這個系統是基於Debian Sid開發的滾動發行版，跟一眾基於Fedora Silverblue的atomic distro不太一樣。使用A/B分區確保系統更新能回滾，以映像檔模式部署系統，製作了apt2ostree。使用GNOME桌面，程式以Flatpak為主，並透過APX提供容器化的apt環境。\n20260427 給小孩子看的名偵探光之美少女動畫因為露露卡紅出圈，現在還來惡政隱。[光美] 發芽馬鈴薯不能拿來做料理?。畢竟要給小孩子普及正確知識。農業部：進口馬鈴薯發芽或龍葵鹼超標，均退運或銷毀，石崇良：科學抽驗不逐顆檢查。更可怕的是，Minecraft的毒馬鈴薯吃了有60%機率中毒，40%機率沒事。舞秋風 - Minecraft 要吃多少毒馬鈴薯才會死!!?\n20260427 Solaris是專為Sun公司的SPARC工作站處理器最佳化的作業系統，x86次之。在這個系統可以原生使用ZFS。後繼者openSolaris與OpenIndiana也繼承了此一特性。那麼問題來了：消費級硬體去哪裡弄SPARC的主機呀，從1990年代到現在幾乎沒有個人電腦用SPARC的，專門賣洋垃圾（退役伺服器）的廠商也不會有貨吧。呵呵，那我們就繼續用x86吧\u0026hellip;\u0026hellip;或者只能在QEMU裡面模擬了。\n20260427 Iceweasel: Unofficial Firefox port on HaikuDepot 我們在GTA 6之前得到了在Haiku OS上的Firefox原生移植版 😭😭 它甚至不是跑在X Server上的系統，是真正為圖形stack重寫的版本。同為源自1990年代的作業系統，抄襲其他系統的複製品，ReactOS現在連跑Supermium都有問題，但是我們做到了！現在可以在Haiku OS用pkgman安裝IceWeasel跑Firefox。根據開發者的文件，他們在Haiku實現了Wayland server，透過轉譯的方式，令其能夠執行依賴libwayland的程式。2024年開始移植到專案，Firefox的出現終結了Haiku二十年以來沒有主流瀏覽器能用的問題。應該是連GTK也弄過來了。可是這導致Firefox的視窗裝飾與BeOS的格格不入。\n20260427 圖片（Arch-chan vs Void-Chan兩者相比較，前者：有趣的女孩子）想要能收到最新軟體，或許不應該推廣Arch Linux了，應該用Void Linux。Fedora更不必說了，大公司的玩物，更多的Systemd shenanigans罷了。根據我的deep dark fantasy理論，自從Arch Linux使用Systemd它就脫離了KISS原則了，儘管Arch Linux團隊自稱是實用主義者，什麼都收，他們也免不了因為社群擴大而導致老鼠上桌的問題，人多必有蛀蟲(termite)，譬如，Arch Wiki管理員最近以違反Code of Conduct的名義，刪除了XLibre這個政治不正確反DEI的X Server fork的Arch Wiki頁面。The #XLibre page on the #ArchLinux Wiki was deleted yesterday by the wiki administrator Alad.。還有，高度依賴Systemd體系，破壞了Unix哲學，也失去了自由。你是Soystemd的用戶對吧？你要知恥！知恥！建立一個單純模仿Arch體系但沒有Systemd的Artix Linux仍不能達到最好效果吧，必須重新開始。Void Linux似乎有成為下一個Arch Linux的潛力，它獨立開發，滾動更新但又比Arch慢些，帶有BSD風格的XBPS package manager，套件依賴性低。Void Linux很久以前便認知到了Systemd的危害於是自己弄了基於script的runit init manager取代，開機非常快，init的啟動架構非常好理解。並且提供基於glibc與muslc的系統。如果想要Alpine Linux的小巧，Slackware的樸實，BSD的init風格，Arch的滾動更新，不想用Gentoo手搓系統，Void Linux應該會是個甜蜜點。就算Void Linux沒有AUR，那也沒關係，你不會自己xbps-src編譯打包嗎？我等的老祖宗都是從Ports原始碼手動make貢獻的，過度依賴自動化工具只會害了你啊！\n20260428 剿共前必先剿綠共，他們與深層政府偷走了2024年大選。\n20260424 《戰鬥女子學園》迎來 11 週年 透露衍生新作銳意製作中、將展開聯動合作並推進全新嘗試 怎麼有這種公司一直詐屍呀，PTT八卦版的戰女老師都快忘光姆咪了，都跑去奇普托斯了。\n20260424 如果敵人反對我，證明我做對了什麼。講這話的人都不會發現自己邏輯死亡嗎，你難道沒發現這句話反過來也成立嗎？每個人都能這樣講，這是一種賴皮邏輯。說反對我就代表我做對的人，跟波爾布特的邏輯差不多。(360度立體防禦：敵人反對我代表我是對的，朋友支持我代表我是對的；朋友反對我，代表他變成了敵人，敵人反對我所以我是對的。）\n20260424 不知道是詐騙還是誤傳，最近都會收到乙女遊戲的新聞稿通知，什麼戀與深空還是無限暖暖，IT\u0026rsquo;S GAYYYYYYYY. 我有玩嘎拉給木不代表我喜歡BL好嗎。\n20260424 Ubuntu 26.04一個最大的變更是跟隨RedHat和Fedora的選擇，把生成initramfs的工具從initramfs-tools改成了dracut。是，德古拉！誰知道這種隱藏設定呀ニコラ・ケフェウス小姐\u0026hellip;這下Ubuntu與Debian的差距又更大了。initramfs，位於/boot目錄，它是Linux系統開機時會載入的最小檔案系統，在電腦開機後。GRUB會載入Linux kernel (vmlinuz) 和initramfs，接著才是Systemd的init來啟動系統服務。initramfs可以控制系統最開始開機時候的行為。譬如可以指定要優先載入哪些kernel modules。一般用戶應該是不用留意這個變更，不過有玩GPU Passthrough的用戶就得注意了。開機預先載入vfio去綁定顯卡，防止Linux的drm驅動去搶顯卡控制權的設定檔，不再是編輯/etc/initramfs-tools/modules檔案，而是/etc/dracut.conf.d/10-vfio.conf了！參考Arch Wiki的寫法。\n20260423 人類文明就是個錯誤，農業不該出現，工業社會的世界，我不想繼續在這裡生存下去了，回到採集狩獵的生活吧。原來除了無政府原始主義(Anarcho-primitivism)外，還有無政府退化主義(Primalism)，，，他們會爭論，人類應該要退化到何種程度才好。原始人也是有分很多時期的，不如我們就不要當靈長類了吧！退回到寒武紀的單細胞生物的生活方式！ 退化主义：失去人性，失去很少；失去兽性，失去一切 不對呀\u0026hellip;既然不當人類了，我們可以選擇成為柱之男，他們是很久以前就存在地球的種族。 JoJo\u0026rsquo;s Bizarre Adventure OST - Pillar Men Theme『Awaken』\n20260423 看到小型魚菜共生系統，可以在家裡種蔬菜，利用魚的排洩物當肥料，自給自足的系統，這難道不比老闆們花大錢養龍魚要環保多了嗎？工業文明的人追求物質主義，鋪張浪費，忽略了自然與人之間的關係。比如Lagoon出的，一個衣櫃的大小，一套只要四萬元耶。在搬到鄉下過隱居生活之前可以先佈置這類系統練練手。\n20260423 陸APP「高德地圖」可查看紅綠燈剩餘秒數 數發部不排除禁用 面對高德地圖蒐集資料的爭議，你應該同時拒用高德地圖和Google地圖，以及Play商店上的主流導航APP。在侵犯隱私，用大數據追蹤使用者這點上，這些都是重量級。讀讀他們的隱私條款吧，有哪一款是保證不追蹤使用者的？比較好的替代品有：OsmAnd Map (OpenStreetMap)，開源無追蹤器，有全臺灣的離線圖資並開放社群貢獻。還有非開源但是承諾不蒐集使用者資料的Magic Earth，由荷蘭公司提供，提供臺語語音導航，中文搜尋能力較佳。法國degoogle過的Murena Phone開發者提供的就是這個。真的需要Google地圖的座標，那就在瀏覽器裡面用就好，不要下載APP。如果覺得OpenStreetMap圖資不全，一種變通的用法是，用Google查詢要去的地標，從網址抽出座標或經緯度，然後丟給OsmAnd解析即可。如果我們將隱私與開源視為一種不可退讓的底線，那麼不管是美國還是中國公司的產品，都沒有一個是無辜的，不存在該國對臺灣沒敵意所以就能放過的情形。中國想侵略臺灣，美國則是對臺灣經濟利益巧取豪奪，這都是破壞主權的行為。否則就只是證明你五行缺爹罷了————覺得單押某一方就能保障安全。永遠不能相信商人的承諾。\n20260423 為什麼我們甘願被Line Pay、Google Wallet這種行動支付的體系束縛？「需要刷行動支付嗎？」「需要刷載具嗎？」不用！這已經成為了我的假言令式。我拒用任何一家的行動支付，除非它是開放原始碼以及支援用加密貨幣交易的，也不使用條碼載具，一律付現金，頂多拿信用卡出來刷，你難道拿幾張紙鈔出來都懶嗎？我才不想讓政府和企業用不自由的網路軟體服務掌握我的金融活動和行蹤。哦，不過Catima這個開源APP用來管理條碼還是不錯用的。更讓人氣憤的是，一些店家點餐不提供任一瀏覽器就能看的網頁，而是跟Line或特定APP串接在一起。叫那些拒絕用Line這種垃圾APP的人怎麼辦呢？然後轉手跟你說Line Pay付款有優惠，好一個死循環的生態系！用網頁刷卡我還能接受，但不滿什麼都要綁定手機，還要求硬體級別的認證流程。我認為，現今市面上的行動支付是一種不道德的行為，侵犯了人的自由道德底線。要是跟DRM一樣令人習以為常的話，屆時就來不及了！雖然我手機有NFC且用過一陣子Google Wallet付款，現在卻是完全拒絕使用了。我不喜歡iPhone，那是監獄，所以才用Android，並刷機為沒有Google服務的自由LineageOS。銀行和企業非常注重資安，乃至於你的自由要被犧牲，因此行動支付在有Root的手機都不能使用了，現在還透過Play Integrity驗證解鎖BL狀態，因此限制了第三方ROM的可用性，例如LineageOS。要用Magisk模組瘋狂修補才能繞過。既然如此，那乾脆都不要用，拒絕加入Google掌控的Android體系，中國的APP也不要。其實銀行也不是100%安全的吧，要不是存款在銀行能生利息，我還不如把錢都領出來放保險箱呢\u0026hellip;\u0026hellip;。\n20260423 「你以後不要給我娶這種女人回來！」每次我媽看到電視上或親戚的遭遇，就會這樣告誡我，不要娶個惡媳婦回來跟她大小聲或搶財產。例如我那讀到成大碩士畢業的阿姑（舅舅）娶了一個陸配後，錢就被吃乾抹淨了，為了小孩付了一大筆贍養費，還差點連家裡房子的產權都賣掉。可是，媽，我女友玲音她不是這種人的\u0026hellip;。圖片\n20260423 看來原生Android未來的桌面模式已經有點樣子了，在Pixel率先推出後，LineageOS 23也合併了Android 16的桌面模式功能，成為AOSP的一部分。我用Sony Xperia 1 III測試，目前需要在開發人員選項啟用桌面模式。以後支援輸出HDMI的手機畫面會進入桌面模式。每個APP都有類似ChromeOS的視窗放大縮小鍵，APP應該會自動變形版面。Chromium系列的瀏覽器應該也都支援多視窗了，譬如Brave，接下來就缺擴充功能支援了\u0026hellip;對了Firefox Android版其實也支援標籤頁。那麼我們只要配合pKVM虛擬機或Termux，就能在Android跑Linux電腦程式了。這個桌面是跟Android桌面分開運作的，手機螢幕關閉後依然能夠繼續使用。不過目前還無法調整外接螢幕的解析度。\n20260423 從此LineageOS和GrapheneOS和GApps勢不兩立！以後只能裝microG，不然就乾脆不要用依賴GMS的APP。對我來說，microG能讓從Aurora Store下載的Google Maps跑起來就足夠了，我沒有必要登入Google帳號使用。這在舊旗艦Sony Xperia 1 III已經得到驗證。刷機後就跟Google斷了關係。Google強制驗證開發者身份的舉措即將在9月實施，連第三方ROM都要管。因為GMS的權限是如此之大，它能夠攔截，禁止用戶安裝未驗證的APK。原本我就已經是捏著鼻子在LineageOS裝GApps了，想說用隱私換點方便，可是既然Google要用Play Integrity噁心解除Bootloader的用戶，還要侵害用戶自由。那就有必要與之切割了。GrapheneOS的GMS服務或許沒有阻止用戶安裝APK的權限，因為它被關在沙盒裡面，即使如此還是不用GMS就不用。\n20260423 Monthly News – March 2026 Linux Mint 23 (基於Ubuntu 26.04)預計會在2026年聖誕節推出。去年Linux Mint開發者有說現在每6個月釋出新版本軟體的開發速度太快了，他們要放慢速度以維護軟體品質。但願Linux Mint 23預設使用Wayland的Cinnamon桌面了。他們在Cinnamon 6.7完成了Wayland螢幕保護程式的移植。XFCE、Cinnamon、Mate等繼承舊版GTK桌面樣式的開發者，共同推出了xapps-desktop-portal作為XDG Desktop Protal的實現。所以螢幕錄影和檔案分享在遷移到Wayland後應該不會是問題。目前Linux Mint 22的Wayland bug很多，主要還在用X11，難以解決HiDPI縮放的問題。換成Wayland才能一勞永逸。\n20260423 2026年4月23日，Ubuntu 26.04 LTS正式發佈囉！這是接下來兩年的穩定版Linux系統，正式邁入Wayland時代。本次Ubuntu 26.04版本代號為：堅定的浣熊 (Resolute Raccoon)在這個版本，Canonical為我們帶來了 更 多 的 S N A P！更多程式預設都是以Snap格式提供的，不再有.deb了。Ubuntu還完善了Snap的權限管理系統，可以使用GNOME設定Snap程式能存取的系統資源，與Flatpak分庭抗禮。可以開啟Security Center，讓Firefox存取目錄的時候會有授權對話框出現，保護資料安全。等等，想要享有長達12年的系統更新支援嗎？免費開始試用Ubuntu Pro吧！這個版本的系統有一個程式專門管理你的訂閱狀態哦！這個版本的Ubuntu LTS更新非常激進，直接用上了最新的Linux Kernel 7.0，對AMD和Intel的GPU效能改善比較多。至於Nvidia GPU的用戶要記得升級驅動到580以上版本才有比較好的Wayland桌面體驗。Linux Kernel 7.0還有sched_ext功能支援，可以在不重新編譯核心的情況下插入自訂scheduler，調整系統效能。Ubuntu預設桌面是GNOME 50，徹底拋棄了X Window協定的支援，僅支援Wayland協定。這估計可以帶來更好的圖形效能和HiDPI支援，現在還能夠玩HDR遊戲了。Yaru主題經過重新設計，桌面的Icon變成了橘色。一些GNOME內建的APP被替換成了全新的版本，例如可以監控GPU與NPU使用率的Resources，支援簡單編輯圖片的Loupe，終端機換成了支援與Podman互動的Ptyxis。Ubuntu部分系統工具用Rust重寫了，例如sudo-rs。並且用rust-coreutils取代了擁有30年以上歷史的GNU coreutils。雖然說前者還很年輕，有一大堆CVE待解決。值得一提的是，Ubuntu 26.04官方的硬體需求提升到了需要6GB RAM的程度。當然低於以下數值的電腦還是可以裝，但體驗可能不會很好就是了。現有Ubuntu用戶可以用do-release-upgrade指令直接升級上去。\n20260423 Kubuntu 26.04 LTS正式版發佈囉！這是接下來兩年的穩定版Linux系統，推薦給喜愛KDE Plasma桌面又想要一個穩定友善系統界面工作的用戶。現有用戶可以用do-release-upgrade指令直接升級上去。我個人認為\u0026hellip;Ubuntu 26.04的GNOME 50桌面還是一樣很難用。不如來用KDE Plasma 6.6吧。幾乎所有操作都能用GUI完成。Kubuntu 26.04 LTS的KDE Plasma桌面版本從KDE 5.27升級到了KDE 6.6，使用QT6寫成。Breeze主題經過翻新，現在KDE有了透明背景模糊效果，懸浮的工作列，以及自動隨日夜變化深色模式主題的功能。KDE 6預設使用Wayland工作階段。Wayland相容性已經到達穩定階段，幾乎沒什麼問題了。但如果有需要依然可以切換回X11。推薦筆電用戶使用Wayland工作階段，可以享受到有觸控板手勢切換視窗的便利，在瀏覽器裡面雙指放大視窗，還可以播放HDR遊戲畫面。這個版本的Kubuntu LTS直接用上了最新的Linux Kernel 7.0，對AMD和Intel的GPU效能改善比較多。至於Nvidia GPU的用戶要記得升級驅動到580以上版本才有比較好的Wayland桌面體驗。KDE Wayland碰到Nvidia應該是不會再崩潰了。部分KDE附屬應用程式改以Snap格式分發，例如Krita。不過KDE系統設定面板並無整合Snap權限管理，僅有Flatpak，頂多在KDE Discover可以下載Snap程式而已。Dolphin依然是Linux最強大的檔案管理器，點選目錄便可以進入分割視窗檢視。現在有了給檔案加標籤顏色的功能，可以更方便的分類檔案。另外KDE 6提供管理員模式，允許你暫時用root權限瀏覽Linux系統目錄編輯檔案。Spectacle可以在螢幕截圖之後直接在上面寫字，甚至還有OCR與辨識QR code的功能呢。看圖軟體Gwenview同樣支援標註文字。KDE的好用功能族繁不及備載，不如馬上下載來試試吧。現有Kubuntu用戶可以用do-release-upgrade指令直接升級上去。\n20260422 如果你覺得sudo指令太容易出CVE漏洞，用Rust改寫為sudo-rs也問題多多的話，不如改用更為精簡的「doas」吧！sudo = super user do something. doas = do something as a super user. doas這個專案程式碼只有不到1000行的C語言寫成。大大降低了攻擊面。它工作很簡單，就是幫目前的使用者提升權限而已。doas最初是OpenBSD開發的，FreeBSD也有採用，有開發者將其移植到Linux成為opendoas。另有Solaris與macOS的移植版。一些Linux發行版預設以doas取代sudo了，例如Alpine Linux和postmarketOS。doas上游原始碼更新並不是很頻繁的說，因為它真的很安全。自發表到現在只有被揪出1個漏洞。doas設定過程很簡單：在Ubuntu可以安裝：sudo apt install doas，然後編輯設定檔：/etc/doas.conf，設定wheel群組的用戶可以提權：permit :wheel，這樣就能用doas執行指令了。預設模式下，doas不會記住使用者輸入密碼的狀態，因此每次執行doas都要打一次密碼。需要啟用persist功能才能暫時記住密碼5分鐘。\n20260421 Krita現在正在Steam半價特價中！只要100元就能入手。這是比GIMP還要現代化的開源2D繪圖 \u0026amp; 修圖 \u0026amp; 動畫製作軟體。可以部分替代Photoshop與Clip Studio的功能。支援Linux、Windows、macOS。嗯？這不是免費的繪圖軟體嗎。是的，Krita官網可以免費下載，這裡不過是讓你表示心意罷了。以及可以在Steam遊玩狀態顯示正在畫畫。如果你是繪師，常常用的話Krita可能會是你遊玩時數最長的遊戲！支持開源軟體最好的方法是給官網開發者捐款啦，像我就捐給KDE過，在Steam購買會被Valve抽成。順帶一提Blender也有在Steam上架。\n20260421 [中字]【鏡音雙子】思春期 Adolescence - 2010年12月14日 爺青回，國一第一次接觸的Vocaloid歌曲。\n20260421 自從2023年Xperia 5 II綠線兩年發作後就一直想找同等替代品，無挖孔又小於6吋的，結果屈居Xperia 10 V到現在。看來Xperia 5、Xperia 5 II、Xperia 5 III、Xperia 5 IV都是綠線炸彈，時間到相繼有人傳出災情的案例。Xperia 5 V重新設計面板了也許就迴避掉這個命運了，又可能只是時候未到而已（2023年上市到現在應該安全了\u0026hellip;？），可這也是小螢幕旗艦的末代作品了。總之看來完全不能買Xperia 5系列的二手機了，不管多便宜，就算能換附廠LCD螢幕還是算了。雖然我知道是Samsung面板的鍋但Sony也要負起責任吧，怎麼我的Xperia 10 V用三年都還壞不了呢。要小支的旗艦只能買更久以前的Xperia Compact了！\n20260420 圖片 #SpotLinuxInTheWild 位於高雄火車站前的六福村童裝店，讓你的孩子從小認識Linux Tux。原來火車站蓋這麼久是還在編譯kernel呀\u0026hellip;\u0026hellip;\n20260420 每次去剪頭髮都要求理當兵平頭，才不會讓我想把頭毛拔光。因為這是讓我感受到痛苦的一種最不痛苦的自殘方式。\n20260417 用SecondScreen將解析度調整成480p (640x480或800x480) 就能體會到小時候在3吋手機看漫畫圖片因為畫質太高而出現網點的現象w 那時還要在不到3吋的螢幕拼命放大圖片才會變清楚。\n20260417 Sony Xperia XZ1 Compact的國際版現貨好像幾乎找不到了，大部分是日版而且還比XZ2 Compact貴，可日版又不能解鎖BL\u0026hellip;哦，有人發現用Fastboot漏洞刷機的方法了。[XZ1c/XZ1/XZp] xperable - Xperia ABL fastboot Exploit [CVE-2021-1931]\n20260417 除非你天生喜歡被immutable系統虐，否則macOS + Homebrew的使用體驗，比不上最純正的GNU/Linux發行版搭配正規的套件管理器。這可是監獄呀，可是你卻覺得很潮。在這個sense下，FreeBSD都比macOS好，fuck the containers and sandboxes. Follow the Unix ways BRO。使用者不應該懼怕碰觸系統深處的東西，apt install難道不比ostree pull要簡單麼？若什麼都要immutable，不然iPad就能滿足了不是。如果你覺得Linux的GUI做的不好，那是你被GNOME（Ubuntu預設的桌面）荼毒的太嚴重了，這是把使用者當智障的桌面，zoomer不會用，boomer不爽用。改用Linux Mint (Cinnamon) 或 Kubuntu (KDE Plasma) 等比較照顧桌面使用者的DE就會有截然不同的體驗。如果我買Macbook會毫不猶豫裝Linux。可是隨著新型Macbook往ARM架構遷移，往封閉平臺的道路越走越遠，我還是買x86筆電比較好。因為相容性和自由支援其他作業系統的因素。Yuki Installs Gentoo - normies should not use computers in the first place.\n20260417 Wayland可以跑在macOS上嗎？很久以前macOS為了與Unix-like的程式相容，有內建自家維護的XQuartz X Server，以執行依賴X11 lib的程式。那麼現在Linux程式開始往Wayland遷移，XQurtaz又怎麼辦呢？Windows WSL是透過WSLg跑一個Weston以顯示Wayland程式，可是XQuartz好像連XWayland都不支援。將原生Wayland移植到macOS好像沒什麼意義，因為macOS有自己的圖形工具包Cocoa，也有自己的合成器叫做Quartz。不過還是有人做了原生執行於macOS的Wayland合成器。Coca Way將Linux程式串流到macOS螢幕，取代XQuartz，當作遠端桌面用。Coca Way不能幹掉macOS本身的合成器，Coca Way是跑在macOS之上的一個Wayland合成器。可以透過Waypipe實現X11 Forwarding的用法。讓我們可以將UTM虛擬機或者OrbStack Docker或者遠端主機的Linux視窗顯示在macOS。遠端Linux主機也要安裝Waypipe。通常情況是用不太到這個方案，因為很多Unix-like的GUI程式大部分都有macOS移植版，用Homebrew就能裝。\n20260417 macOS的Homebrew除了安裝CLI工具外，也可以用Homebrew Cask安裝圖形程式，例如brew install --cask firefox。這樣的好處是可以用brew upgrade指令一鍵更新所有套件。一些自由軟體在macOS是透過.dmg分發，.dmg是一個自我掛載的容器，大部分時候使用者要手動到官網下載新版.dmg覆蓋，只有部分程式有自我更新機制。透過Homebrew的話這個問題就可以得到解決。Cask算是一個自動安裝的指令稿，能夠自動建立GUI的桌面捷徑。macOS本身是immutable的系統，Homebrew會將程式的二進位檔案都安裝到/usr/local/bin/，只與macOS共用一部分函式庫，這樣可以與主系統隔絕。那麼，移植到Linux的Homebrew，大體上也是延續這個設計，安裝的二進位檔會放到/home/linuxbrew/.linuxbrew。那麼Linux支援Homebrew Cask嗎？理論上是有，可是很多都沒有移植過來。Cask基本上還是以Darwin(macOS)為主。這樣看來要在immutable distro安裝GUI程式又不要受到Flatpak沙盒權限限制，還是Nix好？可是這語法又好複雜。\n20260417 QEMU/KVM對老系統的支援度好像不太好呀，Windows XP一開機就各種藍螢幕，也就Windows 7比較正常。這個時候還是得請出VirtualBox才能跑老系統。嘛算了我又不是要玩DOS時代的遊戲，那用專用模擬器開就可以了。誒不對，是Q35這個機器類型會被判定ACPI有問題，選i440fx + IDE就可以裝了。\n20260417 Telegram終於原生支援中文界面了，不用再另外安裝翻譯套件了！這樣普通人上手難度就大大降低了。快點取代Line吧。話說我幾年前Telegram都拿來看好康的群，有時候還有中國人在上面發輝的內容，真是可怕。但是直到身邊真的有人拿這個取代Line和FB我才轉成比較正常的用途。當然要更好的加密通訊軟體我還是推薦用Element Matrix啦，註冊不用電話，它是開源去中心化的，FOSS開發者很愛用。Telegram現在好像不能使用第三方開源客戶端連線了，有的第三方客戶端還會蒐集使用者號碼，如Nekogram一鍵送中，大概就Forkgram比較值得信任？而且臺灣用戶每次重新登入都要收一筆簡訊驗證費用，需要設定passkey解決。有時候還會收到詐騙訊息，都不知道號碼怎外流的。\n20260416 鑑於對真人照片射屏容易被人反感，除非對象本身就是福利姬，否則即使是賣弄色相掙錢的擦邊model也不願意被人當成妓女看待吧，這層級還是有差。那我們還是乖乖玩二次元就好了，或者AI生成的對象。MGTOW，識得唔識得呀？\n20260416 能體會到美國紅脖子說大學都是左逼會腐化人心的時候，是上文學課的時候。聽教授講歐美古典文學是沒什麼，反倒傾慕基督教的高潔精神，可一旦講到近代的後殖民主義文學，我就會汗毛直豎。因為這些題材會挑戰人們長期以來的傳統認知，容易感到不適。例如，楊双子《臺灣漫遊錄》這本書有講臺灣被日本殖民的複雜心態，說臺灣人為什麼不像韓國人一樣恨日本人，容易讓被大中華主義汙染的我不爽。\n20260416 DuckDuckGo\u0026rsquo;s reliance on Bing also means DDG may make decisions that favor their ad revenue agreement with Microsoft. Brave真的很嗆，他們行銷預算都拿去做meme了，常常diss其他瀏覽器。然後還批評Duckduckgo從Bing買搜尋結果，之前Duckduckgo還被人爆出Duckduckgo瀏覽器會擋網站追蹤器，唯獨放過Microsoft的追蹤器。不像Brave Search是真正獨立的搜尋引擎。Brave比Kagi好一點的地方大概就它是免費的，因為Brave主要靠Web 3盈利。中文搜尋品質\u0026hellip;?我覺得也沒比Duckduckgo好到哪裡去，除了百度外很難有公司能做到跟Google一樣的中文搜尋結果，是真正知道使用者需要的資訊。\n20260416 感覺長久的注音使用者接觸漢語拼音都會有些政治上的牴觸情緒，儘管你知道這是世界範圍內更多人認可的中文拼寫系統，某種程度上比較先進。就算外國人不用漢語拼音或威妥瑪拼音學中文，也不會去用注音吧。有些臺灣人還死抓著這些落後的東西不放，認為這是臺灣的獨特文化，證明我們是不同於大陸的獨立國家，想要文化上做切割，可是注音明明也是他們口中的中華民國殖民政權帶來的東西。難怪這國家的主流電影是8+9義氣片，還一堆人跟著媽祖神轎歐北蛇。我覺得臺灣的獨特文化是值得保留的啦，嗯哼，只是臺灣沒有美洲原住民保留區那種大規模計劃，那注音就進史博館吧，跟新港文書並列。屏東大學的時候，系上的教授開了中英翻譯課程，用的是大陸出版的翻譯教科書，還叫我們要學漢語拼音，因為這是國際標準，當時我還是個民主小清新，我也就半推半就的學起來了。我後來才從Dcard知道那個教授住高雄，是韓粉，但我倒是沒在上課時被她荼毒過。現在我大概瞭解這種心態了，漢語拼音真的比較先進，只是很多人自願當井蛙罷了。\n20260416 沒有人：凡是被中國人碰過的東西都會有資安疑慮。誒\u0026hellip;可是Linux Kernel有許多中國人的貢獻耶，手機和電腦要不要都丟掉？還有臺派看到軟體只有簡體字翻譯就過敏的。沒有人：(Confused screaming) 所以說這些人要雙標到什麼程度？閉源軟體中國製造的確實會有疑慮，那我們就用開源軟體就好啦。對電腦原理一竅不通的人還說要抗中保臺？這些人要是在武漢肺炎疫情期間，跟他們說華為建造5G基地臺是要散播病毒他們也會信，好家在英明的美國在找不到證據的情況下把他們封殺了，我川威武！\n20260416 在Linux要獲得良好的中打體驗大概只能學漢語拼音了。抱歉了各位，我要拋棄注音去學中國大陸流行的漢語拼音輸入法了，Linux上Fcitx5拼音的選字比新酷音要聰明多了，後者詞庫感覺從20年前就沒更新過了，「癌症」竟然要打「ㄧㄢˊㄓㄥˋ」才會出現（雖然字典發音是這樣沒錯）。小麥注音是好點可是這個套件Ubuntu沒有收，只有Flatpak有。Fcitx5拼音在大部分Linux發行版，甚至BSD系統的套件庫都有收。如果買外國的筆電沒有印刷中文鍵盤，只有英文也能打拼音。拼音可以用Google雲端建議詞組，以及使用維基百科補充詞庫，還有Emoji建議。臺灣其他常用的倉頡和無蝦米在Fcitx5都沒有拼音功能那麼豐富。不會有人看到中國的東西就要抵制吧？雖然Fcitx5是中國人開發的，但它是自由軟體，不蒐集使用者資料，也可以正常打出中華民國國旗的Emoji。拼音的問題主要是選字會怪怪的，例如它會優先建議「臺」而非「台」，有「裡」但找不到「裏」，可能需要設定OpenCC進行用語轉換。另一個學拼音的原因是，Android手機缺乏好的開源中文輸入法，我要為degoogle做準備。屆時Gboard就不能用了，GCIN和樸實注音是能用但界面很土，TRIME設定麻煩，而Fcitx5有被人移植到Android，界面類似舊版Gboard，有Material Design，拼音輸入法自然就是第一梯隊了。雖然我現在拼音中打的速度只有注音中打的一半，但是隨著我將大部分裝置的輸入法都換成拼音，我未來應該就會慢慢習慣了。\n20260416 Federal Bill Filed as H.R. 8250 Would Bring OS-Level Age Verification to the Entire U.S. We are doomed! 自從美國各州相繼通過作業系統層級的年齡驗證法案之後，美國眾議院也提出了年齡驗證法案，而且還是兩黨（民主黨\u0026amp;共和黨）一起支持的議案！！！這個法律通過後就會在全美生效。不知道能不能被判違憲。\n20260415 有沒有人把Chrome當作一個「作業系統」來看待呢。我好像都是這樣的使用習慣，私人事務用Firefox，要處理工作的時候就開Chrome登入教育版帳號，一打開，書籤和分頁都自動開起來，然後開啟Google文件打字，好像另外打開了一個作業系統一樣。要跨平臺工作的時候，也是登入Google帳號。只是我不想被Google全天候監控，因此辦完事後就會關掉Chrome。隨著Firefox完善多設定檔切換界面，我發現好像沒必要特地開Chrome了。以前Firefox切換設定檔要打指令，現在有一鍵切換面板了。Firefox開一個專門的工作用設定檔，也能登入Google帳號，雖然沒有Chrome整合的那麼好，且Google文件功能有時候在Firefox會怪怪的（Google會刻意埋只有Chrome能正常運作的程式碼），但起碼我可以不用再同時開兩個瀏覽器佔用資源了。\n20260415 現在搜尋引擎的界面太混亂了。為什麼不能只列出網頁結果就好，還要跳出一堆資訊卡和AI總結呢？最近發現Duckduckgo有提供各種版本的輕量網頁，確保你在各種極端的情況下都能進行搜尋。相較之下，Google會擋非正規瀏覽器的流量，強制進行人機驗證，而且沒啟用JavaScript就無法載入網頁。純HTML版本（https://html.duckduckgo.com/html/）：不需要JS的版本， 適合極度重視隱私，不想網頁載入JS監控，或者用w3m這種終端機純文字瀏覽器的用戶。不能搜尋圖片。預設會啟用安全搜尋，需要切換到Duckduckgo主站將其關閉。因為是靜態網頁，搜尋的時候不會在瀏覽器留下記錄，網址不會透露你搜尋了什麼。Lite版（https://lite.duckduckgo.com/lite/）: 也是不需要JS的版本，界面更精簡，網頁不到100kb，只有純文字組成。Tor版本（https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion）：適用Onion連線，可以搜尋到部分暗網。這些輕量版的網頁還有個好處，那就是不會吐出AI總結的答案。但依然會顯示廣告，需要裝uBlock Origin阻擋。嗯嘛\u0026hellip;作為一個zoomer，我還是比較喜歡一般版本的Duckduckgo呀！完整版的Duckduckgo雖然也加入了煩人的AI總結，它允許你將其關閉。\n20260415 葉啟田 - 男性的本領 以前的人25歲：男性的本領。現在的人25歲：男娘的本領。\n20260415 目前市面上有兩個叫做「奇美拉」的Linux發行版，一個是ChimeraOS，另外一個是Chimera Linux，這二者的取向是完全不一樣的。ChimeraOS是專為遊戲掌機設計的系統，基於Arch Linux的immutable distro，使用GNOME桌面，提供開箱即用的玩遊戲體驗，作為SteamOS的替代品，系統異常肥大。而Chimera Linux是一種很詭異的縫合怪，獨立開發，它明明是Linux發行版，卻使用Clang與muslc編譯軟體，用Limine取代GRUB，並使用FreeBSD的系統工具取代GNU uitls作為userland元件，而且使用dinit管理服務，apk (Alpine Package Keeper) 管理套件，它主張一切都是要精簡且容易理解的。因此捨棄了臃腫的GNU工具鏈。由開發者精挑細選軟體，消除以往Linux發行版本inconsistent的部份。系統架構支援橫跨x86、ARM、PowerPC、LoongArch、RISC-V。叫你傳承Unix哲學，不是叫你連BSD軟體都抄過來呀。Chimera Linux可能是比Void Linux和Slackware更接近BSD體系的存在。話說以前有Gentoo + FreeBSD核心，和Debian GNU/kFreeBSD這類專案，但終究因為Linux逐漸有了自己生態系，不可能與BSD軟體調和而分道揚鑣。拜託，上一個有Linux卻沒有GNU的系統叫做ChromeOS，結果就是用戶失去了自由，你怎麼膽敢這麼做！？\n20260415 Digital Life 是一个突破性的自主数字生命系统，哇塞，Atlas World - 一個實驗級 AGI 文明框架的最強競爭對手出現了，作者po在知乎，理所當然的遭到大佬群嘲。有没有大佬可以帮忙看一下我写的数字生命，介绍已经放在github库里了？\n20260415 有人會懷念Windows 7時代的電腦UI風格設計嗎？這種十年前的設計風格叫做Frutiger Aero，屬於是有點擬物化又有點科技樂觀主義的風格，那時智慧型手機還不普及，人人還在用電腦上BBS的時代。現在可以在現代Linux系統的KDE桌面同時體驗看看兩種不同年代的設計。現代的KDE 6桌面主題是Breeze，扁平化設計。但是KDE 4同期時代的設計風格叫做Oxygen，可以說是複製了同年代的作業系統的設計風格，當時GNOME 3也是各種擬物化設計呢。Oxygen主題在升級到KDE 5，桌面用QT5改寫之後就被拋棄了，不過仍有人接手維護，讓他們可以在QT6程式使用。各大發行版仍有提供plasma-theme-oxygen主題包的套件。儘管我認同擬物化風格可以方便使用者辨認畫面上的按鈕元素，但已經回不去了，裝主題一打開非QT或GTK寫的程式馬上破功，其他瀏覽器APP的設計風格都已經徹底扁平化了，整個格格不入。Frutiger Aero近年得到復興，而且是在Z世代群體出現，給人一種蒸氣波的感覺，都是在懷念不屬於自己青春的東西。是的，現在科技的發展已經到了一種糟糕的境界了，AI和監控資本主義的出現讓我們無法再對科技保持樂觀。有些人認為，科技的發展應該到iPhone上市的前一年就該停止了\u0026hellip;回到每個電子裝置都各司其職的時代，而不是現代每個人都手拿一塊螢幕滑呀滑。\u0026hellip;即使這種設計會讓人產生懷舊感回到過去的美好時代，可是很快地又會被拉回現實。macOS的Liquid Glass設計不過是在用糖衣包裝人們的精神生活被商業資本所吞食的表象而已。\n20260415 在Linux跑macOS 26 Tahoe的黑蘋果虛擬機。因為Liquid Glass特效導致虛擬機軟體渲染效能十分低下\u0026hellip;。所以我只好改裝macOS 15，但還是卡爆。用QEMU/KVM進行黑蘋果實驗是一個可以考慮的方案，因為不怕編輯plist弄壞硬體，並且可以將各種裝置直通進去，包括GPU和網路卡，測試macOS的驅動支援狀況。雖然說macOS虛擬機的圖形效能低下，跑個Xcode編譯專案勉強還行啦。ultimate-macOS-KVM這個專案比OSX-KVM還簡單，執行幾個Python指令稿就會自動建立macOS虛擬機並匯到Virt Manager裡面了！它會幫你偽裝CPU型號以及硬體資訊，讓macOS以為這是一部iMac Pro。並且這個版本是可以播放音效的喔！不過，未來macOS 26即將停止支援x86架構的電腦了。黑蘋果恐怕就到此為止。\n20260415 看到那些便乘自由開源Unix的Android與iOS用戶的說詞就感到噁心，就算基於Unix或Linux開發，底層核心有開放一部份原始碼，但上層系統被魔改的不像話了，還塞了一堆專有軟體私貨進去，look how they massacre my boy! 這根本不同東西了好不好。\n20260415 有人會在Ubuntu安裝VirtualBox嗎？一般來說都是在Windows裝VirtualBox吧！雖然說在Linux跑虛擬機的方案首推Virt Manager + QEMU/KVM，畢竟是Linux核心支援的功能。但還是有不少人會喜歡用套裝的VirtualBox，它上手很簡單。VirtualBox運作原理跟KVM不一樣，兩者還會衝突，VirtulaBox不能跟QEMU/KVM一起使用很煩人。它會要求暫時卸載kvm模組（sudo rmmod kvm_intel）。否則會出現Can't operate in VMX root mode錯誤。但我想要在Virt Manager與VirtualBox之間切換呀！2024年德國公司Cyberus發起修改的專案令其支援KVM：KVM Backend for VirtualBox 上游已經開始納入變更，但直到VirtualBox 7.2都尚未正式支援，需要自行編譯修改。AUR有打包好的，Ubuntu要自行編譯。這裡有人做了AppImage版本：[https://github.com/ivan-hc/VirtualBox-appimage](https://github.com/ivan-hc/VirtualBox-appimage)，試試吧。它可以共用現有的虛擬機！測試可以正常開機！\n20260414 用Wine玩含有日文或簡體字的老遊戲的好處就是只要設定一個環境變數和安裝字型就不會有亂碼問題了== 遊戲都會用Unicode輸出，也幾乎不會有路徑不能有中文的問題。在Windows居然還要用Locale Emulator這種麻煩操作。有時候簡中漢化組的遊戲壓縮檔沒包好，也得用WinRAR切換語系編碼再解壓縮。\n20260414 不知道在Ubuntu設定SMB(網路上的芳鄰)共用資料夾為什麼要搞那麼麻煩，SAMBA要寫設定檔和規定權限，還要建立一個專門用戶，好複雜，堪比NFS，難道是因為這個技術實在太古老了嗎，或者是為了Windows的複雜權限所設計。雖然現在能用Systemd自動管理但還是覺得不方便。因此我都用SSHFS(SFTP)居多，因為直接跟SSH共用通訊埠就好了 。但是SMB是更廣泛實現的協定，若要跟Windows電腦交換檔案還是有個SMB比較好，因此用這個Docker容器跑個SAMBA服務：Docker container of Samba，它已經幫你做好範本了，只要在docker-compose.yml填入連線時候的帳號密碼，還有要分享的資料夾路徑（掛載到容器） ，然後docker compose up -d就可以了。SMB預設通訊埠是445。在Windows檔案總管輸入\\\\Linux電腦IP就可以連線到SAMBA。如果要允許Windows執行exe，在smb.conf加入這條規則：[global] acl allow execute always = yes。不用Docker容器的時候就關掉。\n20260414 不論你是硬核Unix哲學追求者用戶還是初心者，我們應該都可以一致同意，KDE才是Linux桌面的首選。GNOME作為主流是個錯誤。使用KDE當作GUI的系統我才能自信地說我能達到Windows和macOS那樣直覺的GUI操作體驗而不用一直操作命令行，並且一切都是開源的。從OpenBSD到Void Linux，我一直追求沒有Systemd的mnimalist系統，because everything must be simple and easy to understand，結果我總是安裝KDE當作桌面，這下雙標了，難道不是應該要學習用dwm嗎？因\u0026hellip;因為其他X11桌面真的很醜呀，看看XFCE，它只是備胎。KDE雖然套件複雜卻不是像GNOME沒來由的臃腫，而且GUI功能是真的實用的，X11和Wayland對HiDPI的支援度也很好。看發行版怎麼打包吧，有些發行版提供基本KDE組件，有的則是將KDE生態系的APP全部裝下來。KDE目前還沒有重度依賴Systemd，因此在Unix-like系統還算有可移植性。但隨著PLM和Wayland-only的路子深化，不可避免的越來越像GNOME而犧牲可移植性，那\u0026hellip;下一個傳統Unix哲學用戶的桌面在哪裡呢？\n20260414 十年以上不更新系統的電腦有辦法跑最新版軟體嗎？Windows做不到，Linux卻做到了。透過Snap還真能做到，在APT套件都EOL的情況下，Snap依然能運作。我想這是一個部署Linux在公共場所的電腦，長期系統不更新的情況下可以借鑒的案例。我試過可以，在Ubuntu 16.04可以用snap install firefox執行最新版Firefox。雖然Ubuntu系統的驅動程式不能更新，但起碼軟體能用吧。看看Ubuntu當時內建的Firefox舊版設你擬物化設計風格，再看看透過Snap安裝的新版Firefox扁平化設計風格，不禁悲從中來。Ubuntu 16.04是第一個內建Snap套件管理器的系統，起初是作為APT的補充，不強迫使用。不過在Ubuntu 22.04之後，越來越多套件被替換成Snap了。這舒緩了Canonical開發者維護舊版Ubuntu系統的軟體的成本。畢竟他們最近才把Ubuntu LTS的支援期限提升到15年。那更舊的系統呢？好吧，雖然我強行在Ubuntu 14.04安裝了Snap core，但是Fireofx完全裝不起來，各種權限錯誤或者抱怨Systemd版本太舊，看來起碼還是得用Ubuntu 16.04以上有內建Snap的版本才行。另一方面，透過添加Flatpak PPA，可以在Ubuntu 14.04安裝Flatpak，然後就能用Flathub的軟體了？不對，這個PPA只能在Ubuntu 18.04以上使用。舊版Linux桌面缺乏xdg-desktop-portal，我看問題也會很多。\n20260414 其實我蠻懷念以前的軟體UI設計有擬物風的，這個叫做Frutiger Aero風格吧，能讓人清楚辨識畫面上的元素。下載Windows 7後讓我想找同年代的Linux來看看，應該選Kubuntu 14.04吧，搭載KDE 4桌面，有擬物化設計風格，Oxygen主題。嗯，這種設計真的比扁平化設計更讓人能辨識元素呢，某種程度上來說也更有親切感。觀察同年代的Ubuntu 14.04，Unity桌面同樣具有玻璃擬真質感耶！另外Ubuntu 14.04理論上到現在還是可以「用」的，因為Snap最低支援到Ubuntu 14.04，所以可以安裝最新版Firefox並享用同時代的擬物化質感。喔\u0026hellip;這恐怕不行喔，Snap勉強只能支援到Ubuntu 16.04。另一方面，回去用Ubuntu 16.04，才發現當年的Unity桌面抄macOS還抄蠻兇的，比GNOME還像，它視窗按鈕在左邊，有全域的選單列，按Windows鍵會開啟全域搜尋，有自己獨特的美學，這個桌面其實比GNOME和KDE還有競爭力！。那\u0026hellip;我想與其用現在buggy的復活版Ubuntu Unity，安裝舊版Ubuntu 16.04搭配Snap裝新軟體會得到更好體驗吧？看看Ubuntu當時內建的Firefox舊版設你擬物化設計風格，再看看透過Snap安裝的新版Firefox扁平化設計風格，不禁悲從中來。還是別做白日夢了，想要KDE 4的氛圍就裝Oxygen主題就好。\n20260414 Luke Smith居然久違的開了直播！！！上一次直播是三年前。 Luke Smith Bright Monday Livestream\n20260414 Facebook的池沼AI總會自作主張的刪除有害內容，上次講ClamAV被祖，然後這次說VirtulaBox就秒刪不給理由。抑或是我的IP太髒了！？好吧看來是FB伺服器有bug，文章遲顯示。\n20260414 SR-IOV是新型的虛擬化技術，可以將Linux宿主機的硬體資源分割成好幾塊，分配給多個虛擬機使用，達成GPU虛擬化。GPU虛擬化與GPU直通的差別在於，GPU直通因為是將PCI裝置分配給虛擬機，一次只能有一個虛擬機使用GPU。而GPU虛擬化可以讓多個虛擬機共享GPU。Intel Core的iGPU長久以來便支援GPU虛擬化，例如Intel Core 10代（含）以前的Intel UHD Graphics便有GVT-g技術，能夠作為mdev裝置分配給QEMU/KVM虛擬機使用。未來Intel將用SR-IOV取而代之，放棄GVT-g（但還是可以用）。參考Intel官網資料，本來Intel官方是規劃讓10代以後的Intel Core CPU的iGPU才可以使用SR-IOV的，也就是說必須是搭載Intel Xe的CPU才可以用，舊型Intel UHD Graphics只能繼續用已放棄支援的GVT-g技術。現在有開源社群製作的實驗性專案i915-sriov-dkms」將Intel在Xe貢獻的原始碼向下移植，讓舊型的Intel UHD Graphics內顯也可以使用SR-IOV來達成GPU虛擬化。Intel顯示卡在Linux核心的驅動主要有兩種，一個是i915，一個是Xe。前者存在時間已久，適用於大多數顯卡。這個專案透過DKMS模組的方式讓i915實現了SR-IOV的支援。安裝deb包了之後發現Intel UHD 630還是不行建立Virtual Function耶，lspci -vvv輸出結果為空。我覺得可能是我誤會了，它還是要新型CPU的內顯才能用SR-IOV，只是它不強迫你用Xe驅動，而是能沿用i915。舊版Intel CPU即使使用這個核心模組依然不會顯示SR-IOV，只能用Intel GVT-g。這邊的issue看起來確實是這樣：would this work on proxmox with Ubuntu VM CoffeeLake-S GT2 [UHD Graphics 630]? #144\n20260413 Tiny11好像還不錯，預設把Edge這煩人的東西拔掉了，但要怎麼下載瀏覽器呢？嘖嘖嘖（擺食指）我們有winget呀，用系統管理員執行winget install -e --id Mozilla.Firefox就可以啦。Tiny11的bug真的很多，缺少中文語系，手動下載語言套件補齊卻一直無法成功安裝微軟注音輸入法，只得安裝新酷音。\n20260413 現代人墮落了\u0026hellip;手機越做越大。我覺得我大概得往回找小手機了，Xperia XZ1 Compact看起來是最理想的選擇，可是現貨都是不能刷機的日版。這樣看來更早之前的Xperia X Compact應該是很好的選擇，價格已經掉到了只要1000的程度而且二手的應該能刷機。尺寸只比iPhone SE 1大一點，我喜歡。不知道餒，以前很多是小手機，我覺得Sony就是比Samsung和HTC有質感。\n20260413 拒給錢被李貞秀嗆「我瞧不起」民眾黨主席曝當時心境 啊這\u0026hellip;原來真的是來亂的，被民進黨官員拒絕質詢霸凌，那麼多人努力救她了結果搞成這樣，原本以為放個陸配可以在立法院噁心一下民進黨大閩族的種族歧視政策，結果怒其不爭還各種暴走。不過好家在，上綠媒節目沒有徹底黑化，反而是誇柯文哲罵黃國昌，還明白著說民進黨岐視陸配，真的是狂戰士。\n20260413 據說ThinkPad X270是最後一款保有X系列經典精神的Lenovo筆電？希望低成本購入買一台自由軟體測試用的筆電，預計要安裝Linux、BSD、Haiku、Plan 9、TempleOS等系統。鎖定Thinkpad系列，超過5000就不要了，那我乾脆去買二手M1 Macbook。因為我希望硬體支援Coreboot，加上Linux與BSD系統，除Arch Wiki之外還要參照FreeBSD Wiki的測試表格，看來值得購買的型號是Thinkpad X270，不會太舊也不會太新，而且才12吋而已。2017年出的，i5-6200U處理器2核4緒，應該比Surface Go 2效能好一點。既然我Surface Go 2裝Linux都用得下去了這台應該不是問題。這台筆電有RedHat認證，最近還有人成功把Coreboot移植到這台電腦了：I ported Coreboot to the Thinkpad X270! 聽說續航力很強。只是這台的sRGB覆蓋率有點悲催，居然還分720p和1080p版本？預設是TN面板。那麼買1080p解析度的X280比較好吧，欸\u0026hellip;但是X280的RAM竟然是焊死的，還是買比較自由的X270吧。在2018年FreeBSD基金會官方出版物裡面，ThinkPad X270評價很不錯。There has Never Been a Better Time to Run FreeBSD on a Laptop - GEORGE NEVILLE-NEIL\n20260413 Claude Mythos Preview (Anthropic finds 27 year old bug in OpenBSD) 媒體又在大驚小怪了，雖然OpenBSD最近被Anthropic的Claude Mythos抓到一個隱藏多年的bug，可以遠端崩潰主機，但還不是很高危的等級。啊就修復就好了嘛。\n20260413 最近覺得最能展現男性雄風的姿勢，除了後背位猛插之外，就是從後面把女方腿雙手舉起來然後站著雞雞往上頂。參考[TRY\u0026amp;方言二人社会 (方言)] 訪画集 (Fate/Grand Order)第八頁的姿勢。也可以直接抱住女性的腹部當作施力點，有點類似納爾遜鎖的樣子，這樣往上衝擊的時候肚子就會被大雞雞頂的突出來。可惜現實中這種姿勢是不可能有這種視覺效果的，大概只有幹幼女能輕鬆抱起來，不過這樣應該就會進監獄了。\n20260413 Playing Wireless Audio on OpenBSD 真的非常的chad，OpenBSD開發者對來自NetBSD的藍牙堆疊不滿意，所以就乾脆在2014年它移除了，因為安全性考量且沒人做新的難以維護。所以技術上來說，現在的OpenBSD根本不支援藍牙，只能透過USB藍牙接收器建立音訊裝置然後手動用指令輸出而已。\n20260413 FreeBSD開發者背叛我們！！！從FreeBSD Foundation的YouTube頻道可以看到，開發人員竟然用Macbook遠端進去開發，這下他們都只將FreeBSD當作Server OS處理了。相較之下OpenBSD開發者人均daily drive系統因此會小心的處理驅動在桌面的體驗，高下立判。他們很懂得吃自己的狗糧。Do FreeBSD developers \u0026ldquo;eat their own dogfood\u0026rdquo;?。使用錯誤的發行版進行開發不是問題，例如Linus Torvalds使用不穩定的Fedora給很多人帶來了錯誤示範，以為這個系統像Debian一樣穩定，但不是每個人都有能力除錯kernel。抑或是GNOME想把自己弄得有果味，堅持自己的做事方法，最後搞的四不像。但起碼要有態度出來。從人民來，回到人民裡面去，你應該在Linux上開發Linux程式才對。\n20260413 Goran Mekić - FreeBSD Audio 很有趣的文章，有些人說Linux適合播音樂，這裡則是有捧FreeBSD作為音樂用途的。不論如何我們絕對不能帶來PulseAudio，雖然方便但麻煩\u0026hellip;用系統原生的音頻輸出就可以保證低延遲。或者至少得升級到PipeWire吧。\n20260413 根據我發展出來的「Fedora是玩具，Debian是穩定」的理論下去推導，Flatpak程式好像不值得信任耶，更新週期太快了。雖然美其名是跨發行版的解決方案，但它是與現有系統解耦的一個獨立生態系，甚至包含Mesa驅動自己更新的。先不說軟體開發者的更新速度如何，我們看看他們的runtime更新模式吧，支持週期居然只有兩年。Available Runtimes。兩年後就EOL了，這就很有問題了。runtime是各大程式依賴的底層套件，包含驅動與解碼器，支援週期這麼短何來穩定度保證。雖然Flatpak並不會要求軟體開發者強制升級，舊版軟體想依賴還是可以用舊版，但在命令行執行指令的時候就會跳出一堆EOL的警告。\n20260413 沒辦法信任Flatpak版的Steam了，Proton的bug太多了，會干擾遊戲正常運作。最近遇到的bug是嘗試播放遊戲內影片出現libgstapp: wrong ELF class: ELFCLASS64 錯誤。還不如安裝原生.deb套件。如果Flatpak格式這麼好，怎麼連Bazzite都不敢用呢？Flatpak版Steam不是Valve官方打包的。很明顯的是，Flatpak版的Steam執行的時候依賴自身org.freedesktop.Platform，內含Mesa和Gstreamer等常用的GPU工具，而非Linux系統的Mesa。問題就在於這個Mesa幾乎是滾動更新的，最近的版本已經bump到2026年1月了。雖然可以嘗到最新上游驅動的改善，可是這裡的軟體沒有經過充分測試，不夠穩定。那我用Ubuntu和Debian就沒有意義了！我甚至懷疑Lutris Flatpak版也會被這種打包方式影響驅動穩定度。不過Lutris更新很慢，它依賴的org.freedesktop.Platform比較舊，Flatpak卻會要求你儘快更新，因為Flatpak的runtime竟然一年就EOL了！這是把軟體當Fedora在維護嗎？多謝之前FB追蹤者黃鼎鱗的提點，我才知道原來Wine在碰到影片的時候會丟給Gstreamer解碼，未來可能還會有ffmpeg的解碼後端。如果Linux系統的Gstreamer有問題影片就會無法播放。因此我要是用Debian和Ubuntu系的話，追求穩定應當讓Proton使用穩定的Gstreamer套件才對。\n20260413 有人還會懷念Windows 7時代的Aero特效嗎，當年我家電腦太爛無法啟用這種特效。擬物化風格復活了？安裝這個主題包，就可以在最新的KDE Plasma 6桌面享用KDE 4時代的玻璃透明特效。10年前電腦桌面系統還流行著擬物化設計，Linux桌面也不例外，KDE當時所提出的設計主題就叫做Oxygen。不過KDE 5之後出現了Breeze主題，整體設計風格就成為扁平化了。現在各大Linux發行版還有提供plasma-theme-oxygen主題套件，但是安裝之後會出現很多問題，因為很多Icon的SVG年久失修了。現在這個專案專注於改善Oxygen對KDE Plasma 6的支援度。Halfway there to 6.7: Updates on Oxygen and Air 只要下載解壓縮到~/.local/share/plasma/desktoptheme就可以使用了。實測在Kubuntu 26.04安裝，效果看來還不賴，瀏覽器的外框也有跟著變化。但工作列的圖示全部都黑的。Flatpak程式就有問題了，還有現在的網頁看起來與擬物化主題格格不入。這個主題看來需要KDE 6.7以上版本才可以用。\n20260410 會喜歡上4chan和Hacker New這種網站的，要嘛是地下室宅男要嘛是天才。4chan跟Hakcer News一樣都有傻逼過濾器：極簡的界面，大部分都是字，搭配圖片，大概只有經歷過Web 1.0時代的老人會喜歡。這可以讓習慣主流社群網站花花綠綠界面的現代使用者退避三舍。或許對Z世代之後的人而言，Reddit和PTT那種都是字的論壇他們就受不了了，只能在抖音和FB吸收新知。說真的，你應該去習慣這種文字模式，自己上去看第一手資料，而非是使用AI或者別人轉傳的二手翻譯屎料。這種distraction-free的文字論壇，能催生出更高品質的討論（但別動不動就罵人尼哥行不行？）我覺得比較可惜的是，4chan因為洗板太嚴重所以現在會用Cloudflare驗證，無法用w3m純文字瀏覽器上了。Hacker News倒是不在意的樣子，隨便你看。\n20260410 作業系統和第三方軟體應該要清楚的分開吧。如果一個Linux發行版使用package manager試圖收錄僅可能多的套件，把所有軟體都納入自身套件庫，不只無法很好的照顧使用者，還可能造成使用者混亂。BSD在這方面就做的比Linux好，例如FreeBSD，開發者只維護核心和很小一部分軟體作為基本系統，並一律將系統程式放到/bin。其他社群貢獻的軟體（包括X11圖形軟體）就叫做Ports，安裝後會放到/usr/local/bin/，config路徑也會從/etc/變成/usr/local/etc/。Linux則是全部混在一起，看發行版怎麼處理Linux核心＋userspace軟體的集合。例如Debian可以用APT安裝基本系統，包括核心與各種圖形軟體。雖然這可以確保使用者從安全的管道下載軟體，而且軟體之間可以共享library節省系統空間，但卻因為Linux發行版的碎片化，對開發者產生了嚴重的維護問題。如果用戶不是只用Debian，還要考慮到Fedora呢？兩者開發進度不一樣軟體更新速度就會受影響，無法統一分發最新功能。Linux的基本系統與第三方軟體的界線很模糊，安裝後都會放到/bin/，除非使用者自行編譯或PPA的才會放到/usr/local/bin/。因此我認為第三方軟體，尤其是圖形界面軟體，應該跟Linux的基本系統徹底分割開來。現在Linux發行版正在透過immutable distro + Flatpak的方式解決這個問題，是有點醜且並非萬用（權限問題），但起碼總算是有點樣子了吧。Linux發展出container來達成跨發行版又能使APP獨立於系統算是一種macOS與Windows以外的創舉。Snap和AppImage的部署方式本質上還是一種陳舊的解決方法，Snap依然試圖混合系統與第三方軟體，然後AppImage雖是self-contained但其實跟tar部署的軟體差不了多少，難以更新與管理。他們都沒有Flatpak先進。至於用Homebrew的也不是說不行但就是很怪，Linux資源不若macOS豐富。\n20260410 真的有必要用CachyOS不裝Arch Linux嗎，其實要穩當的玩遊戲用Ubuntu就可以了吧。要是認為Ubuntu和Linux Mint不適合玩遊戲是你智商太低，只會聽Youtube的influencer瞎掰，人云亦云的盲從。聽一些AMD Radeon用戶說，縱然滾動發行版有望給新硬體帶來翻倍效能的更新（我自己的經驗是Intel Arc從i915換用Xe之後可以小幅度提昇遊戲FPS，但有機率造成KDE崩潰）但我是更追求穩定勝過新玩具的。他們說套件都是針對最新指令集下去編譯的。刻意裝x86_64-v3的套件真的會提昇效能嗎\u0026hellip;我以為這是很新的CPU才有的指令集，要求支援AVX2，原來2013年以後的就有了。至於x86_64-v4得支援AVX512才行，這個指令集被Linus Torvalds罵是垃圾的東西。CachyOS就是全部都用x86_64-v3編譯的，Ubunut 26.04的套件庫會額外提供x86_64-v3版本的包，Gentoo在編譯套件的時候可以啟用x86_64-v3的FLAG。聽說裝CachyOS的速度比一般Arch Linux要快很多，究竟是快到哪裡去？這怎麼優化也不會超過10%吧？kernel scheduler也有專門優化過？Arch Linux CachyOS Benchmarks Of x86-64-v3 \u0026amp; x86-64-v4 Repositories 從Phoronix的測試來看，除了少數場景外，各種任務的差距都很小呀\u0026hellip;\u0026hellip;。KDE Wayland桌面在任何一個普通的處理器看起來動畫都會很順，這並不能說CachyOS看起來很快吧？\n20260410 透過backport安裝了Linux Kernel 6.19，看來上游修好了Linux Kernel 6.12的Intel Arc驅動會導致虛擬機VirGL畫面雜訊的問題。不過換Xe核心模組還是有機率會crash掉KDE，所以還是待在i915為妙。\n20260410 我發現數發部ODF文件應用工具可以直接在Ubuntu顯示Microsoft Office文件中的標楷體耶。普通的LibreOffice需要手動抓.ttf字型塞到Linux的字型目錄才行，但這會標侵犯楷體版權。不知道是什麼魔法，難道是用全字庫楷體去模擬的？\n20260410 這還蠻大膽的呢\u0026hellip;\u0026hellip;Ubuntu真的要自己建立一個軟體生態系了。針對即將到來的Ubuntu 26.04 LTS，Canonical做的決定還蠻大膽的呢，Linux Kernel升級到7.0，GNOME桌面升級到50，這都是2026年3月才剛出來的東西，他們就要趕著在4月發表。成為下個兩年的標準系統。GNOME 50是Wayland-only的桌面環境，完全移除了X11支援，使用這個版本就沒有回頭路了！這樣預計會有一些遠端桌面軟體break。現在Ubuntu 26.04還在測試版，然後又碰到了傳統藝能，剛裝好的系統，Firefox開啟馬上就崩潰，需要手動snap refresh更新才修好，希望他們正式發表後不要給人這麼糟糕的體驗。這很有趣，GNOME舊版的資源管理器很快就換成了社群貢獻的Resources，還有軟體更新的面板(software-properties-gtk)被拔掉了。他們還重構了Snap軟體商店界面，在Security Center設計了一套權限系統，要求APP在存取檔案的時候跳出提示框。圖片。沒想到Canonical雖然頭鐵硬推Snap，做的事情卻比Flatpak還先進呀！這種貼心的提醒功能Flatpak到現在都沒有。而且Ubuntu 26.04的GNOME的應用程式管理選單整合了Snap權限控制，搞得像Android手機一樣，或說比較像Windows 11吧？當然要使用這些便利功能，軟體應該都要用Snap安裝，deb成為次等公民。但Snap限制讀取檔案目錄的功能好像還不太穩定，Firefox下載東西多點幾次就kernel panic了。\n20260410 剪掉健保卡和中華民國護照哪個不知道比較難，這都國家與社會壓迫給人民的東西\u0026hellip;看來我應該要把數位銀行的錢全部領出來換成貴金屬才對，，，然後學習劈柴生火煮飯狩獵\u0026hellip;才能搬到小木屋獨居。從此我要\u0026hellip;做個自由人！\n20260410 寫blog應該是以自己有興趣研究的為主，例如我看一些打CTF的blog，就會都是解資安算法的文章，讀上去很乏味。我們應該多寫些好玩的東西呀，例如在Linux KDE桌面跑Wallpaper Engine曬老婆。不得不承認的是，有時候我還是得寫一些比較大眾化的題目，例如面向新手的Linux Minit安裝教學，使用平易近人的語氣而非當謎語人叫你RTFM，這樣就有機會在SEO靠前，還有機會被Google推薦（也就是手機上Google Search的文章推薦欄位，有時候我甚至會看到自己的文章 圖片）。嗯？寫Linux主題的blog這個賽道本身就非常小眾了吧？會看的沒幾個吧。No no no，隨著Linux逐漸進入主流視野，被SteamOS和WSL吸引來的人就有機會深入了解背後廣大的開源生態系。\n20260410 圖片 魔，原來我FB已經有名到會吸引到自動機器人來亂留言的程度了，只是提及了Line新版不能在Linux使用的關鍵字，然後就有網軍（？）來洗國民黨到大陸訪問是賣台的圖卡。下一個是不是就是洗投資詐騙群組的了。不過我的讀者智商應該不會那麼低落吧\u0026hellip;\u0026hellip;。\n20260410 軟體設計應該考慮可移植性呀，你不能只針對Linux、Windows、macOS開發軟體，而是要考慮到其他開源系統，如Unix、BSD、Haiku、Solaris、Plan 9、GNU/Hurd、TempleOS、FreeDOS、Redox、ravynOS、Harmony OS、ReactOS的互操作性呀！！！使用他媽的C來寫軟體，不要召喚黑洞般的node modules。為什麼現代人都不以玩桌面作業系統為興趣了，甘願被大公司綁架？Android和iOS不是電腦，是大規模監控裝置的加害者，正如PC不屬於遊戲機一樣，屬於鄙視鏈最底層。去你媽的，總有一天我要用RISC-V和組合語言自己刻一個OS出來！\n20260410 大頭貼放蘋果產生的Animoji全屠了沒有一個是無辜的。\n20260410 This is the end-game. Line電腦版26.4.0現在會開始驗證.dll的數位簽章了，也許是為了日後Line Premium付費制度加強安全性。這導致Wine無法啟動，會出現Security Vertifcation Failed: C:\\windows\\system32\\CRYPT32.dll REASON: NO SIGNATURE。LINE fails to launch, reporting unable to verify msimg32.dll for the reason of NO_SIGNATURE #5306 根據Sandboxie社群回報，要用Powershell給系統.dll簽章才能用，但Linux不可能做到這種操作吧，或許只能降級回舊版並關閉自動更新。我看，Android版Line很快也要強制依賴Play Integrity了，所以用Waydroid跑不是辦法了。只得回到以前用Windows虛擬機跑Line的日子。\n20260409\nYou need to install these packages from Alien Bob\u0026rsquo;s Repo located here 真的超噁心耶，移植Flatpak到Slackbuilds的人放任xdg-desktop-portal-gtk在Slackware 15編譯過不了（需要新版Meson）。結果我得手動寫出依賴關係表，然後去用wget抓編譯好的版本，包含appstream、bubblewrap、libostree、xdg-dbus-proxy、xdg-desktop-portal-gtk、flatpak，然後installpkg *.txz。\n20260409\n嗯\u0026hellip;雖然我認為Linux上，Virt Manager + QEMU/KVM的虛擬機軟體應該要是第一梯隊，但它是不是在Guest OS不是Windows以及主流Linux發行版以外的話支援度就會變得很差呀\u0026hellip;？不適合像Virtualbox或Vmware那樣可以作為業界標準。例如QXL虛擬顯示卡很容易黑螢幕。整個軟體界面設計也很cluncky，好像是用virsh或qemu指令啟動更直觀。Cockpit的網頁界面也亂寫一通，不如Proxmox網頁界面成熟。雖然說狀況好的時候Virt Manager可以玩GPU直通這個獨家功能，但操作起來非常不順手。狀況差的時候就會出現各種問題。\n20260409 I + I Yes，CPU和GPU都買Intel，這樣也是可以搞GPU直通的。話說最近我才學會使用/etc/modprobe.d/的softdep的技巧，讓vfio可以在Linux開機載入GPU驅動之前搶先綁定裝置，不用blacklist整個kernel module也可以讓GPU達成直通。不然我Intel UHD 630 + Intel Arc A380的電腦就沒畫面啦。以前是Intel UHD 630 + Nvidia GTX 1050Ti直接blacklist nvidia這樣做是可以，但現在就不行了，因為兩個GPU都需要i915核心模組來顯示畫面，故不能全封鎖。然後虛擬機GPU直通後，一台電腦兩個顯示卡分別接上一個實體螢幕，要在宿主機與虛擬機之間進行雙螢幕操作的話可以用Deskflow形成軟KVM，方便在宿主機與虛擬機的桌面之間切換同一組滑鼠。\n20260409 這下尷尬了，市面上的Intel Arc顯示卡居然不支援GPU虛擬化技術，要買到最高級的針對資料中心設計的Intel Arc Pro B50才有SR-IOV。消費級的Intel Arc A770沒有這個功能。我手上的Intel Arc A380有6GB VRAM，白白浪費了這個大資源。目前我要讓QEMU虛擬機使用Intel Arc顯示卡的話，還是只能使用VFIO PCI Passthrough的方式來直通，因為要綁vfio-pci位址，這會讓顯示卡成為虛擬機獨佔的資源。如果有GPU虛擬化的話，Host與Guest就能同時使用同一張顯卡運算了。明明10代以前的Intel CPU都有支援GVT-g的GPU虛擬化技術的，在Linux可以作為mdev裝置直通給QEMU虛擬機使用，但是當時他們做的主要都是Intel UHD內顯，虛擬化好像也沒什麼用。現在好了，新型的Intel Xe晶片和Intel Arc都要用上SR-IOV，GVT-g被廢棄，完全不能用。但切換到SR-IOV之後，Intel又限定高階卡才能用，把消費級用戶當白痴。明明在Linux的Intel驅動都是大幅度開源的\u0026hellip;就看有沒有駭客願意「盜火」，逆向工程驅動讓Intel Arc也能用SR-IOV吧。至於virglrenderer這種半虛擬化的GPU加速方案我是不抱太大期望了\u0026hellip;效能太爛，品質又不如Vmware的3D加速好。\n20260408 Linux User Hate Bingo. What do YOU hate today? 科技憎恨圈bingo，全部打勾的這輩子真的有了。以下是我的bingo結果：圖片。身為（魔怔）的偏好Unix哲學的Linux用戶，總會討厭一些主流的科技玩意，例如Microsoft和Google推行的東西。因為愛屋及烏的緣故，加上Github拿自由軟體去餵AI，所以Github我也討厭，正在考慮使用Codeberg。用Electron開發APP和使用Electron的APP的也應該下地獄，例如VSCode。應該用原生框架寫的編輯器不然就用Vim。另外我討厭菁英主義者，也討厭normie。討厭資本主義還有Nvidia。\n20260408 一直在想學校電腦教室要大量部署Linux系統的話，要怎麼管理更新，就拿Ubuntu LTS來說，是像Windows一樣嗎一個Windows 10用十年，時間到了讓廠商升級，抑或是每幾年定期升級到LTS？我想到以前在屏東大學電通系的經驗，安裝Fedora的電腦卻無法開機，老師只得叫我們開Windows用Virtualbox操作Ubuntu，這種系統品質堪優啊（據說以前的老師偏好教Debian，是專門虐待大一生的？）。看過有實驗室大學生分享在Ubuntu 16.04這種已經EOL的系統靠Snap裝起Docker。我覺得這是有點脫褲子放屁的行為吧，用容器跑容器？但Docker官方PPA不支援也是事實，所以勉強用這種方法達成目的。我想Flatpak其實也能達到在舊系統裝新軟體的效果吧。Snap和Flatpak都是可以無視系統版本安裝最新軟體的手段。我一直以為Linux應該是要頻繁更新的系統，因為Linux kernel的ABI會一直變化，所以需要發行版維護者去鎖kernel版本。在Linux最好的軟體開發模式是開源出來跟社群一起做，驅動的話盡量upstream，而不是像Android廠商一樣自己亂改一通，製造一堆賣出後就無法更新的電子垃圾。一部分原因也是開發者的性格使然吧，你會一直想關注最新特性，即使不用rolling distro，也會嘗試用PPA取的一些新版軟體。我再也不像以前作為Windows用戶，對作業系統的認知是XP → Vista → 7 → 10 → 11這樣，時間跨度很大，並且總認為一個系統裝了就應該要用上十年。看到Ubuntu LTS 24.04兩年以上沒更新我都覺得要變成老頭子了，更何況是CentOS 7那種通常用十年以上的系統。但，如果是在教室大量部署的電腦，也不會輕易更新的吧？Linux如何應對這種情況？我看到現在學校的教室甚至還有在用Windows 7加還原卡的呢。如果我們要部署Linux到教室長期使用，應該還是要用LTS版本的系統。軟體部份使用Snap或者Flatpak解決。Snap在這種時候就有優勢，Flatpak雖然理論上支援到最低Linux kernel 3.17，但很多程式需要XDG Desktop Portal溝通，裝起來在舊版Linux桌面不見得能用。而Snap打包軟體就很接近一般deb包的行為。\n20260408 年代久遠的Galgame跟年代久遠的裏番一樣通常不是很實用，即使remaster拉皮版也會因為畫風原因而吃不下去。不過Galgame拔作的好處在於可以自己控制播放速度，因此可以不斷聆聽各種叫聲，細細品味讓手跟著節奏動。煽情的文字描述加上偶爾一兩張雖然畫風久遠但對到胃口的圖片，當作ASMR聽勉強還行。\n20260408 如果將牆內簡中網路內容自動翻譯為英文，洋人對中國的濾鏡大概就會全碎了。知乎開始學Reddit搞自動翻譯貼文搶SEO了嗎，現在Google搜尋有機率找到https://www.zhihu.com/en/網站的內容，乍看之下還以為是海外版知乎，例如Bilibili有搞出東南亞的分站。結果這個比較像是將中文答案直接用AI翻譯的。這樣有望跟Quora競爭中文話題在英語圈的話語權？或者說與其讓營銷號盜文，不如知乎自己跳下來賺？知乎常常會有答案因為惡政隱，吃趙彈被屑營運刪除的紀錄，也許\u0026hellip;這個翻譯會保存一部分下來。Reddit大約在2024年把資料賣給Google訓練AI，之後開始自動將Reddit上的英文文章翻譯為多國語言。有時候會跟中文的搜尋結果競爭搜尋SEO排名。雖然說這對用戶來說閱讀資料很方便，而且AI翻譯的也大致很通順，但我不是很喜歡看到搜尋結果被這種文章污染。知乎的回答很多是很高品質，而且上面有很多自由派觀點，但我覺得作為一個知識網站，也許上面的內容還沒有百度貼吧老哥接地氣吧。不過要是百度貼吧的帖子也自動翻譯為英文，那麼就不用浪人搞大翻譯運動就能體會到中國人的對外國人的自大與惡意了。你永遠可以相信，支黑絞盡腦汁不如粉紅靈機一動。\n20260408 Yes I use GNU/Hurd btw. 在另外一個平行宇宙，GNU/Linux沒有出現，是GNU/Hurd大獲成功，成為主流的開源作業系統。但現實是，GNU/Hurd這東西的完成度比TempleOS還爛！開發35年了只支援32位元x86架構，最近才開始支援x86_64。RMS自封EMACS聖人，GNU信徒的第三聖殿如果是這種品質，耶穌也發火。恐怕就算GNU/Linux沒有成功，也會換成BSD成為主流。若無商業公司投入支援，GNU/Hurd依然還是GNU地下駭客的玩物。\n20260407 這下尷尬了，FreeBSD 15也遇到跟Debian 13類似的情況，Nvidia GTX1050Ti處於被放生的換代狀態，580以上的驅動會無法啟動。可是Ports負責打包的用戶好像沒察覺到這點，因此被硬是升上去。用nvidia-driver包名指定580版本還是在安裝nvidia-drm-kmod強迫升級到595版本。逼的我pkg install手動指定所有nvidia-drm-kmod版本只能用580，然後用pkg lock全部鎖住，禁止自動更新。\n20260407 不知道為什麼FreeBSD 15的PulseAudio在KDE 6 X11都會隨機聲音卡頓，在/etc/rc.conf加入snd_driver_load=\u0026ldquo;YES\u0026quot;載入全部音訊驅動後就消失了？\n20260407 Ubuntu quietly raises its minimum system requirements 老電腦適合裝Linux？這屬於一種刻板印象，其實要看發行版的設計。最近Ubuntu 26.04硬體需求從4GB提升到了6GB RAM，這個變動被一些人非議，甚至認為比Windows 11最低需要4GB RAM還要高。啊不是說底層工具要用Rust重寫怎麼還這麼吃記憶體？不過實際上，這只是誠實的寫出要求而已，迎合當代一般用戶上網辦公的需求。那些科技媒體純屬大驚小怪。還有這裡指的是Ubuntu Desktop版本，不是Ubuntu Server，後者沒有圖形介面和各種拉哩拉雜的服務，1GB RAM電腦也能裝。依照我的測試，4GB RAM的電腦依然可以裝Fedora加上GNOME桌面，但是不會用的很愉快。因為開機Systemd加上GNOME的服務就會佔掉2GB了。Systemd你不能沒有它，硬是拔掉它自動啟動的daemon換成其他init，你只會用的很難過而已（尤其是筆電用戶有各種傳感器需要自動啟用）。變成你需要手動啟動各種服務。對一般用戶不友善。再加上上網一定會用到瀏覽器，主流的瀏覽器開幾個YouTube分頁起碼都會吃掉1GB RAM了。如果還要開其他程式，就是卡死，或者跑在很慢的SWAP裡面。考慮到現在很多開發者都偷懶用Electron包裝程式，如VS Code和Steam，這等同同時在電腦上開好幾個瀏覽器，4GB RAM就不夠用了。那麼不要用GNOME呢？KDE Plasma是一樣臃腫的。但KDE臃腫歸臃腫，功能起碼比GNOME好用吧。搭載Cinnamon、LXQT、XFCE的Linux發行版，或許會輕量一點，吃不到1GB RAM，但是他們的桌面設計都過時了，停留在20年前的X11時代。不rice的話給人的第一印象很差。問題癥結點在於現代的電腦程式都太肥大了。除非你能適應用CLI工具當主力（參考Hyprland用戶，很多肥大的程式都有人開發TUI版本）用以節省RAM，否則只能接受現實，乖乖買RAM大一點的電腦。對的，用什麼VS Code啊？都給我學習用vim和emacs，normie們！\n20260407 如果你覺得自己很沒用的話，不妨想想Nvidia到今天依然有為Unix主機提供官方驅動，包含FreeBSD和Solaris，不是只有Linux而已喔。因此這讓FreeBSD可以在消費級顯示卡使用，造福想把FreeBSD當桌面系統使用的玩家（FreeBSD的桌面系統市占率大概\u0026lt;1%），也可以拿來玩Steam遊戲。雖然說Nvidia客戶應該都是大企業的伺服器啦，但我很懷疑有誰會在BSD系統跑CUDA或者Nvidia加速的工作？Nintendo？所以Switch才能用Nvidia晶片？目前看來，FreeBSD的GPU驅動程式，很大程度得借鑒Linux架構才能正常使用。Ports裡面以drm-kmod為首的套件，就是從專為Linux設計的GPU驅動所移植過來的。這樣的話才能同時支援X11和Wayland。如果要跑CUDA，更是得在FreeBSD啟用Linuxulator相容層，借一些Rocky Linux的userland套件才能使用。至於Nvidia顯示卡在FreeBSD桌面的實際體驗如何？超好笑，Nvidia 580閉源驅動在FreeBSD 15比Intel開源驅動還穩，都使用drm-kmod的情況下，KDE 6 X11在Intel UHD 630會各種詭異畫面撕裂，Nvidia GTX1050Ti就不會（但動畫還是會略卡，從Linux就觀察到的現象）。可要是登入KDE Wayland的話，Intel是還能有畫面，Nvidia直接kernel panic。\n20260407 If You Support Free Software, You Should Support Gun Rights 看完我只覺得：魔。DistroTube、Luke Smith、Mental Outlaw，右派恐怖份子Linux Youtuber三本槍已經成形了。Reddit一些左逼看到槍就嚇到腿軟不敢看他的影片了，還是回去穿unix socks吧，火星太危險快點回地球。但其實擁槍權跟守護自由很接近呀！擁有原始碼才能製作軟體對抗大政府與企業，保護自己，左癌入腦是這樣的。\n20260407 有了理想主義的目標後，我們也許不是真的想要追求一種主義式的生活，也許只是想逃避當下而已。因為沒有主導感，又沒有發起大規模暴力革命的膽子，所以在這些虛空索敵尋求主導感。數位成癮的當下，我自認自己過於tech-savvy，認為了監控資本主義和科技發展走向錯誤方向，我想去過簡單的生活，追求無政府原始主義，搬到鄉下，去神聖化不依賴宗教地回歸自然，使用簡單的Linux系統，degoogle的手機，反科技潮流而行，並把這些經驗寫在SNS分享。結果我只是想看起來讓自己不太一樣，好過一點而已罷了。因為我實際嘗試過後知道那根本不可能實現。至少，我們如果還物理生活在system中，就難以逃離。這就只是一次又一次漫長人生中的白日夢，雖然人生終歸是幻象，但是做的夢不能是沒有意義的。幸運地是，至少醒來，知道明天人生還很長，而非驚覺已經到了終點。所以，我還有很多事情可以嘗試，去實現。即使只是一小步也好。\n20260407 追尋自由又安全的Unix當作桌面系統。在MSI Modern 15筆電安裝OpenBSD的問題是沒有乙太有線網路孔。過去我裝Gentoo用的Android手機USB有線分享網路爛招在這裡不管用了，OpenBSD核心根本不會載入RNDIS的驅動（其實有抓到但不知道怎地無法啟用）。因此在安裝OpenBSD系統的時候，我不能下載完系統套件，又因為Ventoy特殊的結構，只得另外用dd做一個專屬的隨身碟出來，這樣才能讓OpenBSD安裝程式掛載USB從裡面抽取系統軟體安裝。安裝好之後重開機，又要面臨沒網路的問題，所幸我手邊還有MSI送的USB網路轉接器。插上後輸入ifconfig確認介面名稱，然後啟用dhcp：echo \u0026quot;dhcp\u0026quot; \u0026gt; /etc/hostname.ure0，再啟用網路就可以了：sh /etc/netstart。透過這種手動調整網路介面的方式，我總算才能理解OpenWRT設計者的苦心了，我們被NetworkManager規訓的太好了。接下來要面臨的是一些系統詭異低效能的問題。啊啊，原來預設超執行緒是停用的，我的4核8緒CPU竟然有一半核心是離線的。\n20260407 Linux太主流了而且太臃腫了，我考慮遷移到BSD，試試OpenBSDㄅ。這個系統在4chan好像是一個meme，因為即使BSD家族相較於Linux已經夠小眾了，卻很少有像OpenBSD這種從頭到腳都強調安全性的系統，為了安全性連Hyperthreading都關閉。這種系統大概能有效防止glowing friends監控你吧，雖然用的是Cuck License。據說主要開發者在mailing list對希望專案加入Code of Conduct的人說go fuck yourself，真的很chad。而且預設還有一個極簡的X Window圖形介面。也就是FVWM，並由開發者自行維護，不像其他BSD系統預設安裝只有純文字介面，把圖形介面的工作都丟給第三方Ports處理。呃，雖然說以現代人的標準來看OpenBSD這個圖形介面實在精簡過頭了。這樣我或許能理解為什麼Hydrus Network的Docker映像檔要用FVWM當WM了。這個精簡的小系統竟然還支援vmm虛擬化框架。八卦是OpenBSD曾經還被人寄信懷疑NSA放後門，嚇得讓開發者主動審查了一番確認沒有此疑慮。OpenBSD 並沒有內藏 FBI 後門; 值得關切的是神秘版的 RSA 加解密演算法及 SecurID\n20260407 You Will Never Be a Woman - Original Song 不知道為什麼我總會回來看這支影片，而且2026年還有錄製新版，屁股旁邊坐了一隻可愛的貓，作者留了鬍子看起來更man了。You Will Never Be a Woman (2021) by Foundring 。作者唱歌方式十分欠揍。這是你永遠不會成為一個女人(YWNBAW)和你永遠不會成為一個男人的歌曲版。早期起源自4chan的複製文，用於仇恨跨性別人士的悲慘人生，還語帶玄機的說：「我們生來就是完美的靈魂，你不需要改變性別去隱藏自我」他們認為，你變性也改不了生理性別的染色體基因，不要那麼容易就被我們「正常人」的言論破防。現在主流社群媒體大概也只有4chan能發YWNBAW（畢竟anon隨便一篇文都能扯到屠nigger、猶太人、跨畜、pajeet），或者一些牆內簡中的黃納平台，不然分分鐘都被判定為極右翼仇恨言論。Youtube作者早就被檢舉下架了，但還是有勇士一直上傳備份。\n20260406 Only Linux Brainlets CAT into GREP!!! 我是傻逼：今天才知道根本不需要用cat log.txt | grep dirt來抓取檔案字串，多此一舉，這是新手常見的錯誤，而且可能會一直繼承下來。直接grep dirt log.txt就好啦。除非後面要串更複雜的pipe否則根本不用這樣做。\n20260406 Messenger -main theme- Official Audio 『STEINS;GATE 0』 每次這個世界往反烏托邦的方向發展的時候，或是科技圈發生什麼大事的時候，都可以放這首BGM。在美國和俄國的德政下，現在離第三次世界大戰越來越近了。中國：Do nothing and win.可惜我們沒有電話微波爐（暫定）可以改變未來發展。\n20260406 遊戲應該內建編碼器播放影片，對嗎？不然用Wine玩的時候都會無法播放影片。《命運石之門》全系列使用，就沒有這個問題。可是很多日本Galgame，都仰賴Windows系統的WMP或Directshow播放，導致Wine得使用Winetricks手動補充依賴。\n20260406 Steam的《DRACU-RIOT!》應該是舊作翻新，但怎麼還是有問題呢。使用Proton 9.0遊玩，需要啟動32位元版本，安裝wmp11和directshow才可以播放遊戲內影片。此外遊戲對話按太快會莫名lag。\n20260406 目前的MSI Modern 15筆電買了六年還沒壞，系統主要是使用Kubuntu，i5-10210u的效能也還能應付多工與輕度遊戲，我的原則是能用的就繼續用。不過我又想買台裝置來玩玩Linux了。目前有四個方向可以考慮：1. 新型Framework 12或System76筆電，搭載最新Intel或AMD處理器，可以當作新主力。但是預算可能要拉到30000。2. 支援Coreboot的自由韌體的舊型ThinkPad X200之類的，用於實驗linux-libre和其他開源Unix-like系統，不需要各種詭異驅動。二手價應該不會超過5000。3. 搭載RISC-V處理器的筆電，探索Linux在x86與ARM以外的新疆界。應該不會比開發板貴太多。4. 最初版本的Macbook M1，試驗Asahi Linux的效果和體驗漂亮螢幕。蘋果二手的死豬價還要10000。我已經有Surface Go 2和PineTab 2兩台平板型變形筆電了，我應該是沒有必要追求觸控面板。只要不要重超過1.5kg就可以了。\n20260406 [しろたると (紙場こたる)] 雷と電は司令官の赤ちゃんを産んじゃうのです!! (艦隊これくしょん -艦これ-) 你們會讓懷孕的老婆煮飯嗎，一個人負責家事很辛苦的說。沒關係，因為我有兩個，一起分擔我對她們的愛❤️。\n20260406 運用《底層邏輯》的角度淺談京華城案 你很勇喔！發文要血洗檢察官被抓，沈寂多時之後，就反過來利用流量露臉拍片，而且講話還蠻有條理的。迷因台式民主比台灣迷因有guts。\n20260406 透過Wine直接跑Windows版Steam客戶端？成功率低。Steam客戶端是跨平台的軟體，它支援Linux、Windows、macOS系統。基本上只要安裝後就可以玩遊戲了。例如，在Linux安裝Steam客戶端，並啟用Proton相容層，就能在Linux玩Windows遊戲。這裡Steam客戶端是原生支援Linux的軟體，只有在執行Windows遊戲的時候才會使用Proton。雖然Steam客戶端有提供Linux版本，並且官方支援透過Proton(Wine)轉譯執行Windows遊戲。不過在一些特殊情況下，用Wine跑Windows版客戶端是一種值得考慮的做法例如，你想在BSD系統、Linux chroot、Android proot執行Steam。這種方法的好處是，從一開始執行的時候，如果成功開起來，Steam可以直接安裝Windows遊戲而不用啟用Proton。因此不需要考慮Steam客戶端的Linux環境配置問題。但相較之下，這樣更容易導致崩潰呀。\n20260406 考慮到動態牆是我存放各種廢文的地方，包括那些在主流社群媒體不敢發的內容，那麼其實應該取一個比較酷炫的網址代號吧。譬如/dev/null，這裡存放的都是被忘卻的記憶lost room情報。\n20260406 The Voluntary Human Extinction Movement - May we live long and die out 請支援人類自願滅絕運動。\n20260406 𝚟𝚎𝚛𝚖𝚊𝚍𝚎𝚗 - Another ${RANDOM} sysadmin sharing his experiences of work at IT industry. 這個網站正是宣傳將FreeBSD作為主力系統的良好材料，不只是伺服器，還有桌面。\n20260406 二次元死媽了：BSDmemes的sub剛好是文豪野犬(BungouStrayDogs)的縮寫，所以真的有人跑錯板來發帖被nerd群嘲。this subreddit is for berkly software distrobution not anime\n20260406 有一些觀點認為，很多經典的Unix軟體用Rust或其他語言重寫是一個把自由軟體變成專有軟體的陰謀，為了更好的服務大公司的利益。因為它們默默改了授權條款。以前很多軟體都是GPL，可是新版軟體直接用MIT或者其它寬鬆的條款。例如，Clang用的是BSD授權，然後Apple在背後贊助，這樣它們就能取代GCC，脫離開源社區貢獻，把開源變成面子工程的表象。GNU coreutils用Rust重寫之後的uutils變成MIT。I’m shocked the Rust community is pushing an MIT licensed Rust rewrite of GNU coreutils。還有Systemd用的授權是LGPL，The real motivation behind systemd，據說是為了更好服務RedHat在嵌入式裝置的市場，這不符合自由軟體基金會的追求，因此很多linux-libre的系統不能用Systemd取代傳統init。總之，用Rust重寫軟體在一些人眼中看來無異於用vibe coding對軟體進行翻新，因此認為這是極其危險的事情而產生牴觸情緒。\n20260406 Vibe coding，rewrite in rust，這些都先緩一緩。當主流科技世界都在boasting用AI Agent接管電腦完成coding任務的時候，連Windows和macOS都要成為AI電腦，我選擇往回走，接觸西元2000年以前出現的BSD和其他系統，追本溯源的學習電腦系統的基礎運作方式，並善用Linux學到的知識加以整合。這個活化石還保有以前Unix設計的哲學，有駭客氣氛以及自由軟體的精神，並且沒有像Linux或macOS東西變化的那麼快速。\n","date":"2026年1月1日","externalUrl":null,"permalink":"/posts/timeline-2026/","section":"所有文章","summary":" 【閱讀前須知】\n此處是我為取代Facebook動態牆製作的特別網頁，跟首頁的長篇文章不同，這裡是紀錄簡短想法的筆記之用，部份想法可能會另外彙整成文。\n這裡的微部落格充滿各種觀點，尚未經過打磨，有反映時事，有靈光隨想，有偏激之言，有政治評論，可能冒犯到所有人。僅代表個人意見，請謹慎閱讀。\nParrhesia (παρρησία)，即只說真話不欺瞞，有負面的後果也在所不惜。說真話不只是言論自由，真理顯現也符合大眾利益，更是公民義務。唯有對自己誠實才能讓我們解脫。\nHumility is not thinking less of yourself, it is thinking of yourself less. 謙卑不是看輕自己，而是不僅為自己著想。\n2026年\n20260529 如果Steam Proton啟動有錯誤，就到steamapps/compatdata刪除prefix重新生成，特別是切換Proton版本的時候。有時候也可以按檢查遊戲完整性修復檔案。\n20260529 Steam的設計最糟糕的部分就是它是一個瀏覽器。其實一直有人希望Valve用GTK或QT重寫Steam客戶端，因為CEF瀏覽器實在太臃腫了，執行的時候跟開著Chrome沒兩樣，而且UI回應速度慢。不過這就會面臨Steam商店要整個重構而無法沿用網頁版界面的問題。Suggestion Please consider using GTK or Qt for the client #7454 目前還沒有第三方的Steam客戶端出現。有人用Rust寫了steam-api但還不足以啟動遊戲啊。就算是Lutris也得呼叫Steam客戶端才能啟動遊戲。steamcmd本身不足以啟動遊戲。雖然說我們理論上能手動用Wine啟動Steam下載的exe，但還是需要Steam的雲端同步與成就機制吧。折衷方案是使用AdwSteamGtk 可以用CSS把Steam外觀變成Linux的Adwaita GTK樣式讓它在GNOME桌面看起來比較好看一點。 圖片 也有提供KDE桌面的QT Breeze主題。\n","title":"/dev/null","type":"posts"},{"content":"","date":"2026年1月1日","externalUrl":null,"permalink":"/tags/timeline/","section":"標籤","summary":"","title":"Timeline","type":"tags"},{"content":" 「意味なんかなくてもさ、たまにはいいことあるよ。」\nここはIvon Huang、ネット上の名前はivon852。Ivon\u0026rsquo;s Blogようこそ。\nサイトの主旨 # このサイトでは主に「Linuxと自由ソフトウェア」、「スマートフォン」、「人文芸術」という三つの大きなテーマについて書いています：\nLinuxと自由ソフトウェア：Linuxシステムのインストール、日常におけるLinuxの利用、自前のクラウドサービス構築、仮想化技術について論じます。 スマートフォン：スマートフォン上のオープンソースAPP、3C開封レビュー、Linuxスマートフォンシステム、Rootと脱獄に関する情報を共有します。 人文芸術：政治的議題、絵を描く創作の心得、音楽鑑賞、生活随筆、自由ソフトウェアの論争的な議題、NSFW題材、ACG情報などについて語ります。 そのほか、近代史、軍用機、東西の哲学、英語教育についても多少研究しています。\n心に留めておいてください。Ivonの言うことがいつも正しいとは限りません。 君たちは私を敬っている。だが、いつの日かその敬意が崩れ落ちたなら、どうなるのか。像に押しつぶされぬよう気をつけよ。\n自由ソフトウェアの精神を実践するため、現在はLinuxを絶対的なメインシステムとして使っており、Debian系を好み、Ubuntu、Fedora、Arch Linux、openSUSE、Gentooなどを使ったことがあります。普段使うデスクトップ環境はKDE Plasmaです。スマートフォン側では、素のAndroid系システムを搭載したSony XperiaとGoogle Pixelを好んでいます。\nこのサイトでは、できるだけ自由でオープンソースなソフトウェアと解決策だけを共有し、ごく一部の場合にだけプロプライエタリソフトウェアを使用します。\n記事の大部分は本人が自筆で書いたものです。Ivonのブログ(ivonblog.com)の記事の共有を歓迎します。引用する場合は記事URLを明記し、表示-非営利-改変禁止 4.0 国際ライセンス条項を遵守してください。商用利用が必要な場合はメールでお知らせください。 このサイトの記事があなたの役に立ったなら、ぜひたくさん共有してください。\n連絡方法 # Email：infoivonblog.nkfjt@aleeas.com、急ぎの用件がある場合はこちらで連絡してください RSS購読：https://ivonblog.com/index.xml Matrix：@ivon852:matrix.org（Matrixプロトコルに対応した通信ソフトウェア、たとえばElement.ioを通じて連絡できます） PGP public key：1CD3 1E9F 124F 84F3 5E15 CB92 24CD F551 06D9 8A9A｜keyserver Fediverse：@ivon852@mastodon.social Mastodon、Threads、Bluesky、MisskeyなどActivityPubプロトコルに対応したソーシャルメディアを通じて、このアカウントをフォローできます。 Discord：ivon852#2069 Telegram：https://t.me/IvonHuang Facebook X (Twitter) Youtube Github Steam、フレンドコード232835177 ListenBrainz または last.fm これらはオンラインで音楽の聴取記録を共有するプラットフォームです。ここから私が最近どんな音楽を聴いているか知ることができます。 Pixiv Sketchfab 寄付の窓口 # Liberapay：私のコンテンツが役に立ったと思うなら、これは私に投げ銭支援するための窓口の一つです。どうぞ任意でお布施してください。\n私自身について # Ivonの発音は/ˈaɪ.vən/です。この語はフランス、イタリア、ロシアに起源があると言う人もいて、読み方もそれぞれ異なります。少なくとも私はずっと昔からこう名乗っています。\nミレニアム生まれのCancer。INFP-T。中華民国(台湾)出身で、華語、台湾語、英語、日本語を話します。\n大学と大学院はいずれも英語学系に在籍していました。Parrhesia (παρρησία) の哲学理念を奉じています。つまり、真実だけを語り、欺かず、たとえ負の結果があっても惜しまないということです。真実を語ることは単なる言論の自由にとどまらず、真理の顕現は大衆の利益にもかなうものであり、さらに市民の義務でもあります。自分に誠実であってこそ、私たちは解放されます。\n自分に誠実であることが、自由をもたらします。自由でオープンソースな情報技術を研究するのは良い考えですし、技術を発展させるときにも人文を重視することを忘れてはいけません。\n人文について言えば、人類史を研究するのはとても面白いテーマです。上古の時代から近代に至る各国文明の衝突、思想の激蕩があったからこそ、いまのこの残酷でありながら美しい世界があります。だから私は、自分の政治的議題に対する観点を表明することを惜しみません。また人類の科学技術の発展は軍用機の進歩も促し、美しい飛行機を一機また一機と造り出しました。私はそれらが空で舞い、地上を滑走し、水上を跳ねる姿を眺めるのが好きです。プロペラ機であれジェット機であれ、私の目に映るのは自由な青空です。たとえ空を翔ける翼が最後には戦火によって墜ちるとしても、私の心の中でその絢爛たる姿が変わることはありません。\n好きな音楽家の話になると、本当に数え切れません。例を挙げるだけなら、伍佰、林強、陳昇、李宗盛、安溥、濁水溪公社、汪峰と鮑家街43号、竇唯、萬能青年旅店、李志、平沢進、Yellow Magic Orchestra、The Flaming Lips、Radiohead、Pink Floydなどです。私の趣味はどうやら少し雑食のようですが、創作者の魂を含み、社会の脈動を反映している作品ほど、より深く印象に残ります。\nカバーの物語 # このサイトはHugoとBlowfishテーマで作られています。\n2022年に開設しました。それ以前にも他のプラットフォームで活動した記録があり、一部の記事は旧文の転載なので日付が比較的古くなっています。\n現在のプロフィール画像はBlockbenchで組み上げたSpitfire Mk.IXです。 過去から現在まで使ってきたプロフィール画像： 飛行機がとても好きなので、Blockbenchで多くの3Dモデルを制作しました。トップページに置いている飛行機は、左から順に中華民国空軍のF-16B Block 20、フィンランド空軍のBf-109G6、零戦五二型甲、Spitfire Mk.IX、一式陸攻二四型丁、紅の豚のSavoia S.21です。 私のSketchfabで、さらに多くのカラー3Dモデルをご覧ください。 記事のデフォルトサムネイルは、Minetest 5.6.0 ＋ TEX-D2テクスチャパックで撮影した写真です。過去の標語は《少女終末旅行》の一節でした：「意味なんかなくてもさ、たまにはいいことあるよ。」 Youtubeチャンネルの背景画像。三つのキャラクターはそれぞれFreeBSD Daemon、Luanti Sam、Linux Tuxです。 Facebookファンページの背景画像。三つのキャラクターはそれぞれ《Minecraft》、《艦隊Collection》、《Grand Theft Auto》に由来します。 ","date":"2026年1月1日","externalUrl":null,"permalink":"/ja-jp/about/","section":"私について：Ivon Huang","summary":" 「意味なんかなくてもさ、たまにはいいことあるよ。」\nここはIvon Huang、ネット上の名前はivon852。Ivon’s Blogようこそ。\nサイトの主旨 # このサイトでは主に「Linuxと自由ソフトウェア」、「スマートフォン」、「人文芸術」という三つの大きなテーマについて書いています：\nLinuxと自由ソフトウェア：Linuxシステムのインストール、日常におけるLinuxの利用、自前のクラウドサービス構築、仮想化技術について論じます。 スマートフォン：スマートフォン上のオープンソースAPP、3C開封レビュー、Linuxスマートフォンシステム、Rootと脱獄に関する情報を共有します。 人文芸術：政治的議題、絵を描く創作の心得、音楽鑑賞、生活随筆、自由ソフトウェアの論争的な議題、NSFW題材、ACG情報などについて語ります。 そのほか、近代史、軍用機、東西の哲学、英語教育についても多少研究しています。\n心に留めておいてください。Ivonの言うことがいつも正しいとは限りません。 君たちは私を敬っている。だが、いつの日かその敬意が崩れ落ちたなら、どうなるのか。像に押しつぶされぬよう気をつけよ。\n","title":"私について：Ivon Huang","type":"about"},{"content":"Google Pixel 6本身的系統就夠接近原生AOSP了，且目前的系統原廠還有提供更新，為什麼還要刷機呢？\n其實還真沒優勢。如果只是想要Root，可以在保有Pixel原廠系統專屬功能的情況下用KernelSU取得Root權限，又能持續收到OTA更新。\n換到LineageOS的話，Pixel Drop的功能就會消失大半了。\n在此，單純是看看另一種可能性。 我要先比較一下LineageOS與GrapheneOS。本來，我是先在Pixel 6a用GrapheneOS的，聽很多人推薦這是一個很棒的保護隱私的系統，可以降低GMS服務對隱私的侵犯，且支援Bootloader上鎖，系統設計具有很高的安全性。現在因為開發者對安全性更新要求的因素，它可以說是只支援Pixel手機的獨特系統。\n可我受不了GrapheneOS了，還是LineageOS好。講到Android自訂ROM，很多人會讚揚GrapheneOS，認為這才是最好選擇。但是它太多保護隱私的安全性措施導致很難用。也許GrapheneOS安全過頭了，刷LSPosed + Zygisk試圖執行，zygote64就會瘋狂崩潰，可能他們的實作有擋Xposed的hook，增加安全性。這種系統限制太多了，GrapheneOS的強安全性會讓一些debug工具無法運作。GrapheneOS開發者為了安全性，也不鼓勵使用者Root。\n我又想起羅百吉的那首歌曲：bang bang here we go，不要管我怎麼想！不要管我怎麼做！！！連zygisk都要擋住，不如LineageOS自由。 再者，我不需要極其病態的隔離GMS服務，我發現基於實用考量，要degoogle還是太難了。到頭來即使是用GrapheneOS，我也得啟用Sandboxed Google Play服務。可是這樣做又會讓手機很難用，還不如LineageOS直接刷GApps，是我比較能兼顧開源與便利的平衡。分析threat model後，我允許一定程度的Google服務介入手機，只要我的主力郵件帳號不是Google管的就好了。\n為了病態的安全性與隱私保護，犧牲便利性與可玩性，這是不能忍受的。相較於GrapheneOS，LineageOS才是我最中庸的選擇。AOSP FTW！\n1. LineageOS特色 # 跟其他第三方ROM以及Pixel原廠系統比起來，LineageOS真的幾乎什麼都沒有，基於AOSP開發提供一個基本可用系統，還有簡單自定義系統狀態列的功能。\nPixel Drop的獨家功能大部分不會在這裡出現，除非是像劃圈搜尋這種有裝Google APP就能用的服務。因此，這個系統算是蠻乾淨的。\n可是\u0026hellip;我就愛這種什麼洨都沒有的系統！！！正如我尬意Debian勝過Ubtuntu。\n開源社群瘋狂推薦GrapheneOS，忽略少即是多原則的LineageOS。如同被進步主義綁架的Linux社群。很多人都在推薦immutable distro，取代傳統系統，例如Fedora Silverblue取代傳統Fedora，可是過於激進的策略會犧牲便利性。\n關於手機發熱問題，眾所皆知Pixel 6a的Tensor G1處理器是罪魁禍首。但不知道是不是GrapheneOS系統有bug，同樣有安裝GApps + 開啟5G的情況下，LineageOS比較不會發熱耶，大部分都在30度左右，滑起來不燙手。GrapheneOS隨便都飆破40度。\n續航力方面，GrapheneOS的續航力不太優。 LineageOS小勝GrapheneOS，可以撐到3小時以上亮著螢幕的時間。 如果降低螢幕解析度，減少Tensor G1的運算負擔，可以撐更久。 2. 刷入LineageOS # LineageOS 23目前版本對應Android 16。刷機前，建議先將原廠系統升級到最新版Android 16。\n在電腦安裝ADB工具。\n解鎖Pixel的Bootloader：在開發人員選項，勾選允許OEM解鎖\n關機，開機按著電源鍵 + 音量下鍵，進入Bootloader\n解鎖Bootloader，清除手機資料。在手機上用音量鍵移動選項到Unlock bootloader，然後按電源鍵確定。\nfastboot flashing unlock 重開機，清除資料。 fastboot reboot Pixel 6a機型代號是bluejay，到LinageOS官網，下載LineageOS ROM的檔案：lineage-23.0-*-nightly-bluejay-signed.zip、boot.img、dtbo.img、vendor_boot.img\n下載適用Android 16的MindTheGApps\n關機，開機按著電源鍵 + 音量下鍵，進入Bootloader。依序刷入以下檔案\nfastboot flash boot boot.img fastboot flash dtbo dtbo.img fastboot flash vendor_boot vendor_boot.img 用指令重開機進入Recovery fastboot reboot recovery 點選Factory Reset → Format data / factory reset\n點選Apply update，啟用ADB模式。\n刷入LineageOS ROM\nadb -d sideload lineage-*-*-nightly-bluejay-signed.zip 按Advanced → Reboot to recovery，依照提示重新啟動，再次進入Recovery\n再次點選Apply update，啟用ADB模式。\n刷入GApps，手機顯示Signature verification failed的話點選yes，跳過簽名驗證\nadb -d sideload MindTheGapps-*-arm64-*.zip 選取Reboot system now，重開機。 3. 取得Root權限 # Pixel 6a支援GKI核心，可以採用KernelSU達成高隱蔽性的Root。\n4. 解決Tensor G1處理器過熱與延長續航力 # 過熱這事兒，還真沒辦法，沒有人做降頻模組～ 這裡有一個Pixel 7 Pro的降頻模組，考慮到Tensor G1跟Tensor G2都是8核心，應該可以用，但風險自負：Cool dowm your Tensor - XDA\n尚可以透過SecondScreen降低解析度到1600x720，DPI設定300，幾乎不會影響畫質。這樣能獲得更高續航力，減少發熱問題。\n另一種解決發熱噴電的問題，是使用酷安開發者推出的Scene工具箱。\n","date":"2025年12月30日","externalUrl":null,"permalink":"/posts/google-pixel-6a-lineageos/","section":"所有文章","summary":"Google Pixel 6本身的系統就夠接近原生AOSP了，且目前的系統原廠還有提供更新，為什麼還要刷機呢？\n其實還真沒優勢。如果只是想要Root，可以在保有Pixel原廠系統專屬功能的情況下用KernelSU取得Root權限，又能持續收到OTA更新。\n換到LineageOS的話，Pixel Drop的功能就會消失大半了。\n在此，單純是看看另一種可能性。 我要先比較一下LineageOS與GrapheneOS。本來，我是先在Pixel 6a用GrapheneOS的，聽很多人推薦這是一個很棒的保護隱私的系統，可以降低GMS服務對隱私的侵犯，且支援Bootloader上鎖，系統設計具有很高的安全性。現在因為開發者對安全性更新要求的因素，它可以說是只支援Pixel手機的獨特系統。\n可我受不了GrapheneOS了，還是LineageOS好。講到Android自訂ROM，很多人會讚揚GrapheneOS，認為這才是最好選擇。但是它太多保護隱私的安全性措施導致很難用。也許GrapheneOS安全過頭了，刷LSPosed + Zygisk試圖執行，zygote64就會瘋狂崩潰，可能他們的實作有擋Xposed的hook，增加安全性。這種系統限制太多了，GrapheneOS的強安全性會讓一些debug工具無法運作。GrapheneOS開發者為了安全性，也不鼓勵使用者Root。\n","title":"Google Pixel 6a刷LineageOS，獲得更乾淨的AOSP體驗，延長續航力","type":"posts"},{"content":"","date":"2025年12月29日","externalUrl":null,"permalink":"/tags/audio-technica/","section":"標籤","summary":"","title":"Audio-Technica","type":"tags"},{"content":"在真無線藍牙耳機風行數年後，我聽說外國有一股有線耳機開始復甦的潮流，可能是一群盲從的年輕人看偶像戴也跟著戴吧，屬於瞎妹瞎弟的常見行為。這股潮流不知道會持續多久。可是現在，或者說iPhone 7之後的手機普遍移除了3.5mm耳機孔，那些非Sony手機的用戶就只能買轉接頭或者買特殊的Type-C耳機了。\n身為新新人類，最近嘗試脫離了Xperia手機，才知道無3.5mm耳機孔的不便。\n雖然我有買Apple的Type-C對3.5mm轉接頭，但不想這麼麻煩。\n要藍牙耳機的降噪\n又要高音質\n還要有個良好的麥克風\n更要符合現在無3.5mm耳機孔的手機潮流\n我最喜歡縫合怪產品了\n選中了鐵三角 audio-technica ATH-CKS330NC 嗯嗯，多面手是很重要的\n嘗試用ATH-CKS330NC取代用了8年的Final E3000耳機\n看到市場上相對冷門的Type-C耳機，居然提供「降噪」功能，就買下手了\n這款耳機價格適中，現在讓我們來看看它評價怎麼樣。\n講到這，我今年也買過另一個縫合怪產品：Edifier R19BT喇叭開箱，USB-A界面內建音效卡插電腦就可以輸出，兼具切換藍牙與外接3.5mm的功能。\n因此耳機應當也要是多面手！\nType-C耳機相比3.5mm耳機有用途受限的問題，因為這是相對來說比較新的連接埠，舊有的音響裝置還是以3.5mm居多，而Type-C的話就會變成只能用在行動裝置。\n不管Type-C耳機是不是智商稅，我就買來試試看。\n開箱 # 「ATH-CKS330NC」是2024年上市的耳塞式耳機，售價1,500元。\n此為「ATH-CKS330C」的升級版，多了降噪功能。以鐵三角的產品價位來說，這個屬於入門等級的耳機。 因為低價的音質普普，就用「SOLID BASS」為賣點強調重低音讓人以為音質很好？ 話說，鐵三角有另外出一個規格類似的產品「ATH-CKS330Li」，連接埠改Lightning。不過新款iPhone 15以後都是使用Type-C了，出這款商品有點謎，可能想搶佔還在用舊版iPhone用戶的市場？\nATH-CKS330NC顏色有米白、黑、綠、藍，我覺得官方出的色系都很醜，所以選了一個順眼的藍色款。 線長1.2m，左短右長，據說是為了方便繞頸配戴開發的。將耳機線繞到後頸配戴，而非直接垂在胸前，可以有效避免因為聽診器效應（耳機線摩擦衣服）產生的不適感。\n麥克風位置靠近左耳，有一組很大的線控組件，上面有降噪、暫停、音量大小聲的四個按鈕。\n預設的耳塞我覺得太緊了，放入耳朵的時候，耳機塑膠部份會卡到耳朵不舒服，所以取出內附的耳塞套，換成小一號的版本。\n根據內附的說明書：\nATH-CKS330NC的線控有一顆多功能按鈕，按一下是暫停音樂，按兩下是快轉，按三下倒轉。長按的話手機的語音助理就會彈出來，Android是Gemini，iOS則是Siri。\n按下NC的按鈕是開啟降噪，耳機會聽到提示音，旁邊會亮起一個小燈。不過降噪狀態不會保存，每次接上耳機都要重新按一次。\n音質 # 因為ATH-CKS330NC使用Type-C，內建96kHz/24bit的DAC，端子要求僅為USB 2.0，理論上Android與iPhone手機還有電腦都可以使用。\n我在以下裝置測試：\nGoolgle Pixel 6a，系統LineageOS 23 (Android 16) iPad Air 6，系統iOS 26 MSI Modern 15筆電，系統Debian Linux 13 各個平台聽起來差不多。沒有音量太小聲的問題。 Type-C的耳機好處是，插到電腦不需要用分線器將麥克風與耳機插到兩個3.5mm的孔，就能直接用。麥克風位於線控按鈕的背面，錄音算清楚，但是因為是全指向性麥克風，需要手動將ATH-CKS330NC的線控部位拉到嘴巴面前才能錄的比較大聲。 我另外拿Xperia 1 III出來測試，看看手機已經有3.5mm耳機孔結果又插了Type-C耳機時會怎樣？這就叫雙管齊下。手機聲音會依照插入的先後順序決定從哪個裝置發出來。順帶一提，市面上沒有「Type-C母 轉 3.5mm公」的線這種東西。 測試音樂，因為重低音，除了流行音樂之外，比較適合聽有許多樂器，大編制的音樂：\nPink Floyd - Atom Heart Mother 澤野弘之 - Vogel im Käfig Radiohead - Paranoid Android 伊藤香奈子 - スカイクラッドの観測者 伍佰 - 太空彈 完蛋，與舊有的Final E3000比起來，我覺得ATH-CKS330NC聽起來沒有比較好聽，反而是重音太多了不舒服，是因為價格太相近了嗎？\n不過還是些微優勢啦，像是細節變更多，可以分辨出合唱時候不同歌手的聲音。Final E3000是三頻均衡的耳機，而ATH-CKS330NC強調重低音，聽搖滾樂的時候背景沒有Final E3000聽起來那麼乾。\n不知道為什麼，ATH-CKS330NC聽人聲都有一種輕微回音的感覺，好像聽得到歌手錄音時候的麥克風聲音，明明我沒有開等化器？有時候音樂的低音會壓過人聲。\n降噪 # ATH-CKS330NC降噪完全由耳機端處理，手機沒有專用APP，無法介入，不能控制強弱，沒有通透模式。\n這個耳機的功能完全依賴手機Type-C供電，會微微增加手機的電力消耗。降噪功能就是透過Type-C才得以實現的吧。\n降噪部份是我略顯失望的地方，啊嗯，普普通通。比AirPods Pro 1還弱，連一般電風扇聲音都擋不太住。\n即使在火車上，也只能消掉一些低頻。嗯，只能擋蚊子的噪音，跟一般藍牙耳機的ANC比起來差太多了，根本其餘的全靠耳塞擋。\nATH-CKS330NC的降噪在圖書館這種比較安靜的地方可以消掉一些背景機器執行的聲音，但在火車上的吵雜環境就沒什麼用了。\n","date":"2025年12月29日","externalUrl":null,"permalink":"/posts/audio-technica-ath-cks330nc-review/","section":"Unboxings","summary":"在真無線藍牙耳機風行數年後，我聽說外國有一股有線耳機開始復甦的潮流，可能是一群盲從的年輕人看偶像戴也跟著戴吧，屬於瞎妹瞎弟的常見行為。這股潮流不知道會持續多久。可是現在，或者說iPhone 7之後的手機普遍移除了3.5mm耳機孔，那些非Sony手機的用戶就只能買轉接頭或者買特殊的Type-C耳機了。\n身為新新人類，最近嘗試脫離了Xperia手機，才知道無3.5mm耳機孔的不便。\n雖然我有買Apple的Type-C對3.5mm轉接頭，但不想這麼麻煩。\n要藍牙耳機的降噪\n又要高音質\n還要有個良好的麥克風\n更要符合現在無3.5mm耳機孔的手機潮流\n我最喜歡縫合怪產品了\n選中了鐵三角 audio-technica ATH-CKS330NC 嗯嗯，多面手是很重要的\n嘗試用ATH-CKS330NC取代用了8年的Final E3000耳機\n看到市場上相對冷門的Type-C耳機，居然提供「降噪」功能，就買下手了\n這款耳機價格適中，現在讓我們來看看它評價怎麼樣。\n講到這，我今年也買過另一個縫合怪產品：Edifier R19BT喇叭開箱，USB-A界面內建音效卡插電腦就可以輸出，兼具切換藍牙與外接3.5mm的功能。\n因此耳機應當也要是多面手！\nType-C耳機相比3.5mm耳機有用途受限的問題，因為這是相對來說比較新的連接埠，舊有的音響裝置還是以3.5mm居多，而Type-C的話就會變成只能用在行動裝置。\n","title":"鐵三角ATH-CKS330NC開箱，Type-C、主動降噪、線控、重低音、千元平價耳機一次滿足","type":"unboxing"},{"content":"你醒啦？歡迎回到2018年。\n我討厭挖洞螢幕，現在的偽全螢幕手機是一個錯誤，我覺得我們應該要復興以前手機的上下厚邊框，給手機螢幕新增黑邊。\n現在的全螢幕手機不守婦道 # 我一開始的構想只是單純想隱藏Pixel 6a上方的挖孔，將最上方的一個橫條都設定為黑色隱藏，狀態列下移 但是開了之後會造成上下邊視覺不平衡，活像在用Pixel 4\n所以我乾脆把解析度一併改了了\n示範圖：透過Second Screen，將Pixel 6a (2022) 變成Sony Xperia L2 (2018) 舊款方塊機的樣子 作法 # 使用SecondScreen APP，需要Root或Shizuku提供ADB權限，可以強制調低手機解析度，例如以前手機流行的1920x1080解析度，DPI設定300左右，剛剛好看16:9影片。若新的解析度小於手機面板的解析度，其餘部份就會變黑。\n在開發人員選項 → 隱藏手機的挖孔或者瀏海，不然即使調整解析度它還是會顯示一個黑點。我覺得設定「在凹口下方顯示」圖示最好，手機上下的黑邊比例才會平衡一點。 以上的作法，讓OLED螢幕其餘部份變黑，那些像素理論上不會發光，能夠達成省電效果。再降成720p的話可以撐更久。經過實驗，我將Pixel 6a的畫質從FHD+降低為720p，提升了1.5倍的續航力 這樣會破壞畫質嗎？No no no，想想當年賣到二萬多卻只有720p螢幕的iPhone XR都沒人看得出差異了。我肉眼看不太出差別。\n很可惜，隱藏瀏海這種強行製造邊框的行為會造成UI混亂，尤其是開啟「在凹口下方顯示」隱藏挖孔的話，手勢無法感應只能用三個鍵。還有鎖定螢幕的時候指紋解鎖圖案會歪掉。如果在開發人員選項調整只隱藏挖孔，上下黑邊比例就不完美了～\n而且，長期這樣使用下來，黑色與螢幕發色的邊界部分可能會有明顯的烙印現象。\n","date":"2025年12月28日","externalUrl":null,"permalink":"/posts/bring-back-the-bezels-of-smartphones/","section":"所有文章","summary":"你醒啦？歡迎回到2018年。\n我討厭挖洞螢幕，現在的偽全螢幕手機是一個錯誤，我覺得我們應該要復興以前手機的上下厚邊框，給手機螢幕新增黑邊。\n現在的全螢幕手機不守婦道 # 我一開始的構想只是單純想隱藏Pixel 6a上方的挖孔，將最上方的一個橫條都設定為黑色隱藏，狀態列下移 但是開了之後會造成上下邊視覺不平衡，活像在用Pixel 4\n所以我乾脆把解析度一併改了了\n示範圖：透過Second Screen，將Pixel 6a (2022) 變成Sony Xperia L2 (2018) 舊款方塊機的樣子 作法 # 使用SecondScreen APP，需要Root或Shizuku提供ADB權限，可以強制調低手機解析度，例如以前手機流行的1920x1080解析度，DPI設定300左右，剛剛好看16:9影片。若新的解析度小於手機面板的解析度，其餘部份就會變黑。\n在開發人員選項 → 隱藏手機的挖孔或者瀏海，不然即使調整解析度它還是會顯示一個黑點。我覺得設定「在凹口下方顯示」圖示最好，手機上下的黑邊比例才會平衡一點。 以上的作法，讓OLED螢幕其餘部份變黑，那些像素理論上不會發光，能夠達成省電效果。再降成720p的話可以撐更久。經過實驗，我將Pixel 6a的畫質從FHD+降低為720p，提升了1.5倍的續航力 ","title":"全螢幕手機是錯的，用SecondScreen復活上下邊框，降低手機螢幕解析度省電","type":"posts"},{"content":"","date":"2025年12月25日","externalUrl":null,"permalink":"/tags/bitwarden/","section":"標籤","summary":"","title":"Bitwarden","type":"tags"},{"content":"說到儲存密碼的軟體，Ivon常用的是Bitwarden，這是一款開源的密碼管理器，Ivon主要用它在瀏覽器和手機上自動填入密碼。並用它紀錄信用卡號碼、狗窩住址、還原金鑰、小祕密等等資訊。 用Bitwarden免費版方案許久，資料都是存在官方伺服器，我想得準備一個備案，免得Bitwarden公司日後開始作惡。\nBitwarden是開源專案，從客戶端到伺服端都是可以自架的。我們並沒有說一定要用Bitwarden公司官方的伺服器，可以自己架一個。\nBitwarden客戶端我會繼續沿用，接下來要做的是自架一個相容Bitwarden的伺服器，將資料同步過去。\n官方維護的伺服器在這裡：Bitwarden infrastructure，用C#寫成，可是部署指示寫的有點複雜，不知道為什麼都用Docker了還要用指令稿啟動～大概是為企業用戶準備的吧。此外，Bitwarden官方對伺服器的要求竟然需要2GB RAM！\n我看了一些教學後，發現官方伺服器可以用「Vaultwarden」取代。用Rust寫成，減少原專案的複雜度。相容Bitwarden的API。 雖是非官方專案，不過Vaultwarden其中一個開發者有被Bitwarden公司僱用，允許在業餘時間貢獻專案。\n考慮到我只是要簡單的同步密碼，我不追求複雜的Bitwarden企業版功能。這些內建的功能就夠用了～Vaultwarden我自己測試，實際跑起來吃不到512MB RAM。 1. 準備SSL憑證 # 為了有效保護密碼，給Vaultwarden伺服器上SSL是必須的。\nVaultwarden在瀏覽器有用到Web Crypto API，會需要HTTS連線，否則網頁會無法載入。\n要是你將Vaultwarden架在公開的VPS，請務必設定安全機制，否則整本密碼簿洩漏可是會死人的（物理）。建議加上Nginx的反向代理。\n如果使用內網穿透軟體的話，我用Tailscale Serve或者Cloudflare Tunnel達成HTTPS效果。最好準備一個域名，方便從外部存取。\n2. 用Docker部署Vaultwarden # 在Linux安裝Docker\n參考官方文件，新增docker-compose\nmkdir -p ~/vaultwarden/ cd ~/vaultwarden/ vim docker-compose.yml 填入以下內容。DOMAIN就填寫你的域名，我是使用子域名方便辨識Vaultwarden所在的網址。127.0.0.1是僅供http本機連線測試使用的。因為我有使用HTTPS，所以左邊的http將其去除，通訊埠可以設定成自己想要的樣子。 services: vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: unless-stopped environment: DOMAIN: \u0026#34;https://vault.example.com\u0026#34; volumes: - ./vw-data/:/data/ ports: - 8000:80 啟動服務 docker compose up -d 3. Nginx反向代理範例 # 編輯/etc/nginx/nginx.conf，加入這段，強制升級到HTTPS： http { map $http_upgrade $connection_upgrade { default upgrade; \u0026#39;\u0026#39; close; } Nginx設定檔/etc/nginx/sites-available/vaultwarden範本如下： server { listen 80; server_name \u0026lt;子域名\u0026gt;; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name \u0026lt;子域名\u0026gt;; add_header Strict-Transport-Security \u0026#34;max-age=15552000; includeSubDomains\u0026#34; always; add_header X-Content-Type-Options nosniff; add_header X-Frame-Options SAMEORIGIN; add_header X-XSS-Protection \u0026#34;1; mode=block\u0026#34;; client_max_body_size 128M; # 限制上傳檔案大小 location / { proxy_pass http://127.0.0.1:8000; # Docker容器的通訊埠 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } location /notifications/hub { proxy_pass http://127.0.0.1:8082; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } location /notifications/hub/negotiate { proxy_pass http://127.0.0.1:8082; } } 重新載入nginx設定檔 sudo ln -s /etc/nginx/sites-available/vaultwarden /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx 4. 初始化Vaultwarden # 註解：你不需要註冊Bitwarden官方伺服器的帳號也可以用Vaultwarden。\n跟使用Bitwarden官方服務一樣，用電子郵件在自己的伺服器上註冊一個帳號，再設定主密碼即可。 如果這個伺服器只有你一個人要用，記得在設定裡面關閉註冊新帳號的功能。編輯docker-compose.yml，加入以下環境變數，停用帳號註冊功能：\nenvironment: DOMAIN: \u0026#34;https://vault.example.com\u0026#34; SIGNUPS_ALLOWED: false 5. 匯入現有Bitwarden帳號的密碼 # 在Bitwarden Web vault，點工具 → 匯出 → 匯出.json密碼 然後在Vaultwarden的工具 → 匯入，格式應當是完全相容的。 6. 瀏覽器擴充功能登入Vaultwarden # 任一Bitwarden的客戶端都可以無縫切換到自架的Vaultwardern的伺服器。\n以瀏覽器擴充功能為例，在登入面板，將網域切換到自架伺服器，輸入自己的域名，然後登入。 ","date":"2025年12月25日","externalUrl":null,"permalink":"/posts/self-host-vaultwarden/","section":"所有文章","summary":"說到儲存密碼的軟體，Ivon常用的是Bitwarden，這是一款開源的密碼管理器，Ivon主要用它在瀏覽器和手機上自動填入密碼。並用它紀錄信用卡號碼、狗窩住址、還原金鑰、小祕密等等資訊。 用Bitwarden免費版方案許久，資料都是存在官方伺服器，我想得準備一個備案，免得Bitwarden公司日後開始作惡。\nBitwarden是開源專案，從客戶端到伺服端都是可以自架的。我們並沒有說一定要用Bitwarden公司官方的伺服器，可以自己架一個。\nBitwarden客戶端我會繼續沿用，接下來要做的是自架一個相容Bitwarden的伺服器，將資料同步過去。\n官方維護的伺服器在這裡：Bitwarden infrastructure，用C#寫成，可是部署指示寫的有點複雜，不知道為什麼都用Docker了還要用指令稿啟動～大概是為企業用戶準備的吧。此外，Bitwarden官方對伺服器的要求竟然需要2GB RAM！\n我看了一些教學後，發現官方伺服器可以用「Vaultwarden」取代。用Rust寫成，減少原專案的複雜度。相容Bitwarden的API。 雖是非官方專案，不過Vaultwarden其中一個開發者有被Bitwarden公司僱用，允許在業餘時間貢獻專案。\n考慮到我只是要簡單的同步密碼，我不追求複雜的Bitwarden企業版功能。這些內建的功能就夠用了～Vaultwarden我自己測試，實際跑起來吃不到512MB RAM。 ","title":"自架Bitwarden伺服器「Vaultwarden」備份現有帳號密碼","type":"posts"},{"content":"LikeCoin理想很美好，可是我跟不上。\nLikeCoin自稱是讚賞公民，化讚為賞的一個加密貨幣。我幾年前在Matters.town寫作的時候知道這個東西的，後來自架網站也把這東西帶出來。LikeCoin按讚的時候需要登入，每人最多「拍手」5下，並可以根據喜好程度給與創作者更多回饋。\n嗚哇嗚哇我破防了～！LikeCoin用了三年多，收集了7000多個讚，換算成美金也才10塊而已，一個月的廣告費都比這多了。看來我真的不適合當作家，很難像Medium一樣的頂流玩家大談特談生產力秘訣，自架網站LikeCoin隨便都破百讚，塑造成功人士形象。我只會murmur和瞎折騰。 縱然感謝很多人願意透過這個方式給我回饋，畢竟放在文章結尾顯眼處的這個綠色按鈕，路人也能給我鼓勵，曾經一篇文章最高紀錄有25個讚。甚至有的時候剛發文就有人給個讚。 講點慚愧的是，我對區塊鏈原理完全沒有研究，儘管跟開源社群有關連，至今還是搞不懂加密貨幣錢包的用途為何。比特幣以前只是買好玩的，因為我的小腦袋不能理解這東西的實際用途，可能買現實中的股票還比較妥當。故，LikeCoin的術語我一堆都不懂\u0026hellip;。\n當初LikeCoin綁定Matters.town忘記遷移出來，導致我要弄虛擬錢包不方便，BitoPro我又卡在忘記舊版帳號忘記遷移到新版需要手動聯絡客服處理。現在又說，LikeCoin要升級到V3否則錢就會歸零，過程好麻煩，決定把這個JavaScript元件從我的網站拆了吧。\n拍手真的是給自己看爽的，跟掛一個Facebook的按讚元件在那邊沒有兩樣。我不要這種廉價的回饋，有事情還不如留言吧，不要只是路過按讚就跑。\n","date":"2025年12月25日","externalUrl":null,"permalink":"/posts/remove-likecoin-from-my-website/","section":"Personals","summary":"LikeCoin理想很美好，可是我跟不上。\nLikeCoin自稱是讚賞公民，化讚為賞的一個加密貨幣。我幾年前在Matters.town寫作的時候知道這個東西的，後來自架網站也把這東西帶出來。LikeCoin按讚的時候需要登入，每人最多「拍手」5下，並可以根據喜好程度給與創作者更多回饋。\n嗚哇嗚哇我破防了～！LikeCoin用了三年多，收集了7000多個讚，換算成美金也才10塊而已，一個月的廣告費都比這多了。看來我真的不適合當作家，很難像Medium一樣的頂流玩家大談特談生產力秘訣，自架網站LikeCoin隨便都破百讚，塑造成功人士形象。我只會murmur和瞎折騰。 縱然感謝很多人願意透過這個方式給我回饋，畢竟放在文章結尾顯眼處的這個綠色按鈕，路人也能給我鼓勵，曾經一篇文章最高紀錄有25個讚。甚至有的時候剛發文就有人給個讚。 講點慚愧的是，我對區塊鏈原理完全沒有研究，儘管跟開源社群有關連，至今還是搞不懂加密貨幣錢包的用途為何。比特幣以前只是買好玩的，因為我的小腦袋不能理解這東西的實際用途，可能買現實中的股票還比較妥當。故，LikeCoin的術語我一堆都不懂…。\n當初LikeCoin綁定Matters.town忘記遷移出來，導致我要弄虛擬錢包不方便，BitoPro我又卡在忘記舊版帳號忘記遷移到新版需要手動聯絡客服處理。現在又說，LikeCoin要升級到V3否則錢就會歸零，過程好麻煩，決定把這個JavaScript元件從我的網站拆了吧。\n","title":"我從網站移除LikeCoin了","type":"personal"},{"content":"透過隱藏字詞的功能，大幅減少在脆上看到政治內容的比率。\n作戰代號：「去納粹化特別行動」。\n雖然有人會情緒勒索你生活即政治，但是要人生不要只剩下政治好不好？\nThreads的用戶智商低下，一部分原因是因為ragebaiting的演算法造成的。跟智障在Threads上對嗆蠻爽的老實說，可有時候我就是好想遠離那一切。\n我說，Threads有許多在男女議題的吵架（脆上的灣姐都有點精神病.jpg），我看笑話也就算了，但很多人對公共議題也都只是當暴民做情緒輸出，左右互博，看了很躁，討論品質非常的差。會用這種短文字平台而非Facebook長篇大論做討論的，是能討論出個什麼東西來？\n你知道這種感覺嗎，上一篇滑到友軍的貼文覺得很歡喜，下一篇就又是異議者的暴言，心情馬上跌落谷底。\n試著想想，只會看Threads上面發國會速報，跟去看國會直播做功課的人比起來，誰比較能掌握到事情全貌？\nThreads的政治話題跟其他差不多，幾乎都是小學生吵架等級。但偏偏這種環境還能對一群傻逼具有足夠強的煽動力，不論跟我同一立場的還是反對者，總是有許多低智商發言。實在受夠了，我不想當樂子人去習慣這種混沌的態勢，所以得主動出擊。\n為了使用Threads時有良好的心態，我不得不出此下策：使用自訂隱藏字詞將兩岸政治相關的串文都隱藏。這不是我在封鎖異溫層當鴕鳥，而是選擇無視所有立場的政治口水，那些東西噪音太多了。想了解政治議題，我看立法院直播就好了。我希望Threads可以像我調教過的Twitter一樣，充滿日本搞笑梗圖與大奶妹、貓貓狗狗、還有真實的生活點滴，而不是無止盡的ragebaiting。噁心我也噁心你。\n作戰代號「去納粹化特別行動」。光靠關閉推送政治內容的開關根本不夠，AI辨識能力極其差勁，Meta訓練的AI都拿去監控用戶資料了是吧，必須出重拳。\n具體來說，點選Threads左下角的設定，在隱私設定，找到隱藏字詞。使用隱藏字詞功能，我必須將同立場的與反立場的政治相關名詞都封鎖，動態牆才會和諧一點。考慮到我要封鎖的是台灣繁體中文內容的佔大多數，參考報紙上常見的人物下去打擊就行。這裡要平等的封鎖才可以，不論是我支持的民眾「黨」或「政治人物」名字，還是反對派的民進黨政治人物都加進清單內。 最好把帳號 → 推送政治內容也關閉。至於推送敏感內容可以測試不要關看看，因為其中可能會有好康的（？） 在那之後，首頁動態牆就會乾淨許多。而且你故意搜尋隱藏的關鍵字，會變成無法顯示串文。別人回覆你，要是提到那些關鍵字，也會自動隱藏。\n遇到漏網之魚，不要互動，對那個串文點選「我不感興趣」就好了。長此以往，會得到更加乾淨的世界。\n\u0026hellip;\u0026hellip;不是喔，不是這樣喔。在去除了政治的紛擾之後，就會看到更多男女問題智障議題了\u0026hellip;但至少我感覺劍拔弩張的氣氛沒那麼重了。\n","date":"2025年12月25日","externalUrl":null,"permalink":"/posts/threads-hidden-words/","section":"Personals","summary":"透過隱藏字詞的功能，大幅減少在脆上看到政治內容的比率。\n作戰代號：「去納粹化特別行動」。\n雖然有人會情緒勒索你生活即政治，但是要人生不要只剩下政治好不好？\nThreads的用戶智商低下，一部分原因是因為ragebaiting的演算法造成的。跟智障在Threads上對嗆蠻爽的老實說，可有時候我就是好想遠離那一切。\n我說，Threads有許多在男女議題的吵架（脆上的灣姐都有點精神病.jpg），我看笑話也就算了，但很多人對公共議題也都只是當暴民做情緒輸出，左右互博，看了很躁，討論品質非常的差。會用這種短文字平台而非Facebook長篇大論做討論的，是能討論出個什麼東西來？\n你知道這種感覺嗎，上一篇滑到友軍的貼文覺得很歡喜，下一篇就又是異議者的暴言，心情馬上跌落谷底。\n試著想想，只會看Threads上面發國會速報，跟去看國會直播做功課的人比起來，誰比較能掌握到事情全貌？\nThreads的政治話題跟其他差不多，幾乎都是小學生吵架等級。但偏偏這種環境還能對一群傻逼具有足夠強的煽動力，不論跟我同一立場的還是反對者，總是有許多低智商發言。實在受夠了，我不想當樂子人去習慣這種混沌的態勢，所以得主動出擊。\n為了使用Threads時有良好的心態，我不得不出此下策：使用自訂隱藏字詞將兩岸政治相關的串文都隱藏。這不是我在封鎖異溫層當鴕鳥，而是選擇無視所有立場的政治口水，那些東西噪音太多了。想了解政治議題，我看立法院直播就好了。我希望Threads可以像我調教過的Twitter一樣，充滿日本搞笑梗圖與大奶妹、貓貓狗狗、還有真實的生活點滴，而不是無止盡的ragebaiting。噁心我也噁心你。\n","title":"Threads用自訂隱藏字詞過濾政治文，消滅政治廚","type":"personal"},{"content":"分享iPhone/iPad的玩機資訊，包含免越獄側載IPA教學、越獄(Jailbreaking)。\n","date":"2025年12月24日","externalUrl":null,"permalink":"/categories/ios%E7%8E%A9%E6%A9%9F%E8%88%87%E8%B6%8A%E7%8D%84/","section":"分類","summary":"分享iPhone/iPad的玩機資訊，包含免越獄側載IPA教學、越獄(Jailbreaking)。\n","title":"iOS玩機與越獄","type":"categories"},{"content":"JIT, Just-in-time compilation.\n","date":"2025年12月24日","externalUrl":null,"permalink":"/tags/jit/","section":"標籤","summary":"JIT, Just-in-time compilation.\n","title":"JIT","type":"tags"},{"content":"請參閱：iOS所有安裝第三方APP、側載IPA的方法\n想要在iPhone/iPad安裝第三方APP，卻苦於免費Apple開發者帳號只有3個APP的簽名限制嗎？\nDuy Tran開發的「LiveContainer」用一種曲折的方式解決這個問題。 它有點類似虛擬機，或說是容器，但其實是APP啟動器，讓你不用真的安裝APP也可以使用APP。雖然APP是暫時執行的，但是資料會保存在同一個資料夾，日後可以持續使用。\nLiveContainer最大的好處就是 安裝APP數量無上限！ 我們知道不論是SideStore還是AltStore，因為是用免費的個人Apple開發者帳號簽名IPA的，所以會有一個裝置同時只能安裝3個APP的限制。要解鎖就只能花錢買3000台幣的Apple開發者年費帳號。而LiveContainer沒有此限制，在這個APP內部想裝幾個APP就裝幾個，只是需要進行切換程序。不需要花錢買Apple開發者帳號。 另外，LiveContainer也可以當成一種「私密空間」的APP使用，因為安裝的APP只有LiveContainer裡面能見到，所以APP不會顯示在主畫面上，可以增加隱私保護。LiveContainer支援使用FaceID給內部APP上鎖。\n對不想花錢的免費仔來說，LiveContainer是一個值得考慮的方案。因為SideStore的簽名額度有限，而LiveContainer能讓你測試更多APP。在分配簽名額度的策略上，LiveContainer能夠靠一個APP換到好幾十個APP。\nLiveContainer能夠安裝無限數量APP的這點很像是TrollStore，但卻沒有限制iOS版本，不需要靠漏洞破解就能用。\n1. LiveContainer原理 # 供有興趣的開發者參考，Ivon我只是簡略翻譯。\nLiveContainer為開源軟體，根據開發者在Github的解釋，LiveContainer透過一連串技巧達成「讓系統以為這個APP是經過認可的」，所以就能直接執行。\n點選展開 首先LiveContainer會拆開IPA，修補二進位Mach-O執行檔的記憶體結構，將__PAGEZERO區段的起始記憶體地址調整，避開一些安全機制。\n把Mach-O標頭的檔案類型從MH_EXECUTE改成MH_DYLIB，這樣系統就會以載入函式庫的方式來處理這個App。\n接著注入一段新的指令，載入自己的TweakLoader.dylib，讓App在啟動時會執行自定義的程式碼。\n修補@executable_path，LiveContainer對_NSGetExecutablePath傳出空指標，並讓它當掉，產生SIGSEGV錯誤，再修改@executable_path上下文。讓載入的 App 以為自己是正統安裝的。\n修補NSBundle.mainBundle，直接改成安裝的IPA的路徑。\n採用Restoring Dyld Memory Loading方法，繞過iOS的簽名驗證。也可以用JIT來繞過簽名驗證。如果沒有JIT，就透過AltStore或SideStore給APP簽名。\n呼叫dlopen啟動APP的二進位執行檔。\n讓TweakLoader在指定資料夾裡面載入tweaks。\n找到程式執行入口，跳到該處。\nAPP呼叫UIApplicationMain，像一般的iOS APP一樣啟動。\n關於多帳號與Keychain管理：iOS的Keychain可以用「Access Groups」區分不同App的資料。LiveContainer預先建立了128組不同的Access Groups。每次建立一個新的App容器，就隨機分配一組 Access Group，達成資料隔離的效果。這樣至多能安裝到128個APP。\n為什麼能不安裝IPA就執行？它是把「安裝APP到系統 → 執行」這兩步拆開，然後用修改記憶體與Mach-O結構的方式，讓iOS誤以為這個App已經是合法可執行的，用動態連結庫注入方式載入執行。因此可以直接執行而不用正式安裝到iOS系統。\n2. 系統需求 # LiveContainer需要iOS 15以上版本。\n不需要越獄就能使用。\n可想而知，LiveContainer沒有在App Store上架，需要用側載的。支援SideStore或AltStore側載。\nLiveContainer本體每7天就要重簽一次，內部安裝的APP不用。\n大部分APP應該都能在LiveContainer裡面啟動，不過根據Github用戶的回報，少部份APP啟動會崩潰。\n3. 安裝LiveContainer # 上文講了LiveContainer的原理，因此啟動APP之前都要修補一番。開發者提供JIT與JIT-Less模式來啟動APP。預設不設定的話就是使用JIT。\nJIT的好處是能加速一部份模擬器APP的效能，且APP不需要簽名就能啟動。缺點是啟動APP要多一個切換JIT的步驟。\n至於JIT-Less模式的話，則是會取用SideStore或AltStore的憑證來幫LiveContainer內部的APP簽名，不會受到免費Apple ID一週10個Bundle ID的限制。\n各有利弊，看哪個比較方便就選哪個。\nJIT模式 # 我系統是iOS 26，為了方便啟用JIT，所以使用StikDebug的方案\n安裝SideStore，再到Github下載LiveContainer的IPA。側載IPA。\nJIT-Less模式 # 我系統是iOS 26，安裝SideStore。 註：如果你有付費開發者帳號，可以不需要安裝SideStore，自行匯入.p12憑證到LiveContainer給APP簽名。\n到Github下載SideStore.ipa，使用SideStore安裝。\n連著LocalDevVPN。\n開啟LiveContainer APP，點選設定 → 從AltStore/SideStore匯入憑證 在SideStore按Export，設定憑證密碼\n回到LiveContainer，點選設定 → 免JIT模式診斷，顯示Success即代表成功。 LiveContainer+SideStore合體版 # 這是JIT-Less模式的變種。將SideStore內建在LiveContainer裡面，這樣的話它就能夠在一個APP裡面自己幫自己完成簽名了。不過你要安裝IPA的話還是要用LiveContainer主界面安裝，這裡SideStore只是負責幫LiveContainer簽名，防止7天後過期而已。\nLiveContainer+SideStore的這個版本仍屬於實驗性質。且你不能直接從電腦側載IPA，必須先裝SideStore取得憑證後，再來安裝LiveContainer+SideStore的IPA。過程十分迂迴。\n安裝SideStore。\n連著LocalDevVPN。\n開啟SideStore，側載LiveContainer+SideStore.ipa。然後點選Refresh重簽。\n點選SideStore，Settings → Export Sigining Certificate，匯出SideStoreSigningCertificate.p12憑證\n開啟LiveContainer+SideStore，點一下左上角+號旁邊的SideStore圖示，啟動LiveContainer內部的SideStore 在提示要匯入Pairing File的時候，不要選取.p12憑證。開啟我的iPhone → SideStore資料夾，選取ALTPairingFile.mobiledevice-pairing\n然後在LiveContainer內部的SideStore，開啟設定 → 匯入憑證，匯入剛才取得的SideStoreSigningCertificate.p12憑證 刪除原本的SideStore APP。\n回到LiveContainer，點選設定 → 免JIT模式診斷，顯示Success即代表成功。\n重新開啟LiveContainer內部的SideStore，登入Apple帳號。\n之後，你就能從這裡重簽IPA了，包括LiveContainer本身。 4. LiveContainer內APP啟動方法 # LiveContainer的啟動方法比較曲折一些。\n到Github之類網站下載想要側載的第三方IPA。\n在LiveContainer側載你想要的IPA，可以根據需求匯入多個APP的IPA。嚴格來說APP沒有安裝到iOS系統，只是匯入到LiveContainer，只有該APP內可見。\n在LiveContainer主界面，點APP旁邊的Run。如果使用JIT-Less模式，APP會在簽名完成後直接啟動。\n反之，使用JIT模式的話LiveContainer APP會跳出，請用JIT APP啟動LiveContainer，就會進入要使用的APP。\n下次再開啟LiveContainer的時候，會回到LiveContainer選取APP的介面，點選切換APP。\n如果要同時執行多個LiveContainer內部的APP，需開啟多任務模式。\n5. 實際操作例子：安裝Mangayomi APP # 以Mangayomi漫畫閱讀器為例，使用iOS的Safari到Github下載IPA。\n開啟LiveContainer，點左上角＋號，匯入IPA 點選執行，然後LiveContainer的畫面會閃一下，之後就會「變成」Mangayomi，功能應可正常使用。 滑掉LiveContainer之後，剛剛啟動的APP也會隨之關閉。之後要重做一次JIT啟用步驟。\n對LiveContainer裡面的APP選單長按右鍵，可以將APP的圖示加到iOS主畫面。\n6. LiveContainer各個APP資料儲存位置 # LiveContainer能夠匯入多個APP，只要不刪除APP，切換APP之後資料依然會存在。\n因為不是真正安裝到iOS系統，所以APP產生的資料只會儲存在LiveContainer內部。\n開啟iOS檔案APP　→　我的iPhone/iPad →　LiveContainer →　Data →　Application，可以看到各個APP的資料。 7. 同時執行多個APP # 使用iOS的多任務模式，讓多個APP可以在同一個LiveContainer APP的視窗內執行。雖然你還是沒辦法從iOS主畫面看到多個APP的圖示，但起碼是一種解決方案。\n在LiveContainer首頁，對APP長按 → 設定 → 轉換為共享APP 這樣的話，每個APP便會以視窗模式啟動。 上面的這個多視窗模式我認為比較適合大螢幕iPad使用。小螢幕的iPhone應該在LiveContainer設定 → 改用iOS原生視窗模式。 這樣的話就會變成透過iOS的多工界面來切換各個APP的「視窗」。比較像是真的在同時執行不同的兩個APP。 ","date":"2025年12月24日","externalUrl":null,"permalink":"/posts/livecontainer-ios-app-launcher/","section":"所有文章","summary":"請參閱：iOS所有安裝第三方APP、側載IPA的方法\n想要在iPhone/iPad安裝第三方APP，卻苦於免費Apple開發者帳號只有3個APP的簽名限制嗎？\nDuy Tran開發的「LiveContainer」用一種曲折的方式解決這個問題。 它有點類似虛擬機，或說是容器，但其實是APP啟動器，讓你不用真的安裝APP也可以使用APP。雖然APP是暫時執行的，但是資料會保存在同一個資料夾，日後可以持續使用。\nLiveContainer最大的好處就是 安裝APP數量無上限！ 我們知道不論是SideStore還是AltStore，因為是用免費的個人Apple開發者帳號簽名IPA的，所以會有一個裝置同時只能安裝3個APP的限制。要解鎖就只能花錢買3000台幣的Apple開發者年費帳號。而LiveContainer沒有此限制，在這個APP內部想裝幾個APP就裝幾個，只是需要進行切換程序。不需要花錢買Apple開發者帳號。 另外，LiveContainer也可以當成一種「私密空間」的APP使用，因為安裝的APP只有LiveContainer裡面能見到，所以APP不會顯示在主畫面上，可以增加隱私保護。LiveContainer支援使用FaceID給內部APP上鎖。\n對不想花錢的免費仔來說，LiveContainer是一個值得考慮的方案。因為SideStore的簽名額度有限，而LiveContainer能讓你測試更多APP。在分配簽名額度的策略上，LiveContainer能夠靠一個APP換到好幾十個APP。\nLiveContainer能夠安裝無限數量APP的這點很像是TrollStore，但卻沒有限制iOS版本，不需要靠漏洞破解就能用。\n1. LiveContainer原理 # 供有興趣的開發者參考，Ivon我只是簡略翻譯。\n","title":"LiveContainer教學，iOS安裝第三方APP數量無上限，免越獄","type":"posts"},{"content":"請參閱：iOS所有安裝第三方APP、側載IPA的方法\n如果想在iOS安裝第三方APP又不想連著電腦，可嘗試SideStore。 SideStore是AltStore的分支版本，主打「免電腦安裝與重簽IPA」，也就是說您可以安裝任意第三方APP到iPhone/iPad，免越獄、免電腦。此外，您還能透過SidesStore給APP啟用JIT加速。 這篇文章Ivon將討論SideStore的原理，以及安裝方法。\n1. SideStore原理 # 請先閱讀：AltStore介紹\nAltStore是利用Apple免費開發者帳號，協助安裝第三方APP到iPhone上的開源軟體。通常iOS APP的安裝包為IPA格式，使用者只要取得IPA就可以透過AltStore安裝至iOS裝置。但免費開發者帳號的APP簽名有7天限制，7天後就需要將iPhone插到電腦，讓AltStore跟AltServer連線，更新簽名才能繼續用。 為解決以上重簽不方便的問題，SideStore的開發者稍微修改了AltStore的重簽步驟，讓使用者不需要將iPhone連回電腦重簽IPA，只要有網路和VPN就行了。SideStore會要求您下載VPN，開啟VPN連線，接著SideStore透過VPN連線到公共Anisette server伺服器，完成IPA重簽。\nSideStore跟AltStore有一樣的限制：免費開發者帳號，一部iOS裝置最多安裝3個APP，每週簽名上限為10個IPA。 此數量是跟AltStore共用的。\nSideStore跟AltStore都是自由軟體，原始碼可受公眾檢驗。如果你對SideStore伺服器背後的東東不放心，可以到他們的Github查看伺服器原始碼。\n技術上來說，初次安裝SideStore還是要用電腦（Linux/macOS/Windows）裝，但在那之後就不需要電腦重簽IPA。\n然而，SideStore的Anisette server公共伺服器是熱心網友建置的，目前有8個。太多人用的話，大夥的Apple ID可能就會集體被Apple鎖定，強制要求重設密碼。 最新版Anisette server v3已經改善這個問題，應該不太會被鎖了。\n你也可以開個副Apple ID的帳號專門來簽署IPA。畢竟我們這裡不是透過App Store下載的APP，SideStore簽名IPA用到的Apple ID並無硬性規定要跟您iPhone上的Apple ID一致。\n其實還有一個折衷的方法：部署自訂AltServer到您自己的伺服器（例如VPS或樹莓派），這樣就不用跟別人搶資源了，也不太可能被Apple封帳號。只要調整好連線網址，仍能透過SideStore連線到自己的伺服器，線上重簽IPA。\n2. 設定SideStore的VPN連線 # 這個VPN服務可以幫我們免電腦簽名IPA。\nSideStore以前是用WireGuard VPN，後來改成了自家研發的StosVPN，最近又改成了LocalDevVPN，能夠在行動數據和離線模式下使用。這個APP在Github是開放原始碼的，只用於與SideStore伺服器通訊。\n用iOS裝置，至App Store下載LocalDevVPN\n啟用VPN連線。\n3. 安裝SideStore # SideStore系統要求為iOS 14以上版本的裝置。\n我們將透過iLoader這個開源程式側載IPA，它有針對SideStore最佳化，支援Linux、Windows、macOS。它會自動下載SideStore的IPA，並匯入Jitterbugpair。\n以Windows系統為例，需要先安裝Microsoft Store版的iTunes或者exe版本的iTunes。\n到Github依照作業系統下載iloader。\n開啟iloader，登入Apple帳號 點Install SideStore，iOS裝置主畫面就會出現SideStore圖示 iOS 26以上系統，開啟系統設定 → 隱私權 → 啟用「開發者模式」，然後重開機。\n接著開啟系統設定 → 一般 → VPN與裝置管理，點選「信任SideStore」的開發者，之後才可以開啟SideStore。\nSideStore重簽可能會跟AltStore衝突。確認SideStore安裝後，長按刪除桌面的AltStore。\n4. 如何安裝IPA # 你可以手動到Github下載IPA，再用SideStore的頁面安裝。如果你想要破除一個iOS裝置只能安裝三個APP的限制，可以考慮使用LiveContainer。\n在安裝或重簽IPA的時候，必須啟用VPN連線，建議開啟Wifi。\n可能要在SideStore裡面登入Apple ID。\nSideStore可透過內建的「Browse」頁面安裝APP，或者點選「My Apps」左上角＋號安裝IPA。安裝過程只需開著VPN，無需連到電腦。 如何重簽：在My Apps頁面，點選Refresh All開始重簽。日後SideStore會在系統背景嘗試重簽，不過為了防止SideStore不小心過期，還是定時手動開啟重簽為好。 如果SideStore忘記重簽，就用電腦iLoader重裝SideStore就可以了。資料都還會在。\n5. 給APP啟用JIT加速 # SideStore在iOS 17以前是支援從APP的界面啟動JIT的，不過之後Apple變更政策，導致舊版方法失效，需要用到電腦才能啟用JIT。\niOS 26以上版本可以使用StikDebug，在連著VPN的情況下啟用JIT加速，無須電腦。\n參考資料 # SideStore Docs SideStore is a fork of AltStore that doesn\u0026rsquo;t require an AltServer. - Github ","date":"2025年12月24日","externalUrl":null,"permalink":"/posts/ios-sidestore/","section":"所有文章","summary":"請參閱：iOS所有安裝第三方APP、側載IPA的方法\n如果想在iOS安裝第三方APP又不想連著電腦，可嘗試SideStore。 SideStore是AltStore的分支版本，主打「免電腦安裝與重簽IPA」，也就是說您可以安裝任意第三方APP到iPhone/iPad，免越獄、免電腦。此外，您還能透過SidesStore給APP啟用JIT加速。 這篇文章Ivon將討論SideStore的原理，以及安裝方法。\n1. SideStore原理 # 請先閱讀：AltStore介紹\nAltStore是利用Apple免費開發者帳號，協助安裝第三方APP到iPhone上的開源軟體。通常iOS APP的安裝包為IPA格式，使用者只要取得IPA就可以透過AltStore安裝至iOS裝置。但免費開發者帳號的APP簽名有7天限制，7天後就需要將iPhone插到電腦，讓AltStore跟AltServer連線，更新簽名才能繼續用。 為解決以上重簽不方便的問題，SideStore的開發者稍微修改了AltStore的重簽步驟，讓使用者不需要將iPhone連回電腦重簽IPA，只要有網路和VPN就行了。SideStore會要求您下載VPN，開啟VPN連線，接著SideStore透過VPN連線到公共Anisette server伺服器，完成IPA重簽。\n","title":"SideStore在iPhone安裝第三方APP，免電腦重簽安裝IPA教學","type":"posts"},{"content":"StikDebug (舊名StikJIT) 是免電腦的JIT啟用方案，屬於on-device JIT enabler，適用iOS 26以上的iPhone或iPad裝置，不需要越獄。\n這有什麼用呢？許多APP可以因此受益，舉凡UTM、PojavLauncher、PPSSPP、RetroArch模擬器都能夠透過JIT加速，大幅加速執行效能。\nSideStore和AltStore在iOS 17以前是支援從APP的界面啟動JIT的，不過之後Apple變更政策，導致舊版方法失效，需要用到電腦才能啟用JIT。現在StikDebug方案有望解決這個問題。\nStikDebug跟先前分享過的SideJITServer不同，它讓你 不需要電腦 ，就可以啟用JIT加速！\n至於為什麼StikDebug可以做到免電腦啟用JIT加速，請參閱文末開發者Jackson Coxson的解釋。\n注意：目前最新版的iOS 26系統，透過App Store下載的APP是不能夠啟用JIT加速的，APP必須透過IPA側載才可以啟用JIT。\n1. 安裝StikDebug的APP # StikDebug原始碼位於Github，你可以到這裡下載IPA。\nStikDebug有上架App Store，直接下載就可以了。 註：2025年12月StikDebug因為不明原因被Apple下架，變成得用iloader側載IPA。\n2. 取得Jitterbug Pairing File # 這是一次性步驟，用於生成副檔名.mobiledevicepairing檔案，需要用到Windows/Linux/macOS電腦才能操作。\n以Windows為例，安裝AltStore，從Apple官網下載exe版的iTunes和iCloud。不要從Microsoft Store下載。\n將iOS裝置插入到電腦，確認可以認到iPhone。\n下載Jitterbugpair程式，解壓縮。\n在jitterbugpair資料夾按SHIFT + 右鍵，開啟終端機，執行jitterbugpair.exe程式，就會得到一個.mobiledevicepairing檔案\n./jitterbugpair 將.mobiledevicepairing檔案透過LocalSend或者其他方式傳到iOS裝置的檔案APP。不要用iCloud，副檔名會丟失。 3. JIT啟用過程 # 注意：目前iOS 18透過App Store下載的APP是不能夠啟用JIT加速的，APP必須透過IPA側載才可以啟用JIT。比如RetroArch必須要從Github側載IPA，不可以使用App Store的版本。\n第一次開啟StikDebug的時候，會要求匯入Pairing File，選取剛剛取得的.mobiledevicepairing檔案 匯入成功後，點選Connect，啟動VPN 然後點選Enable JIT，選取要啟用JIT的APP即可。JIT啟用後VPN就可以斷掉了（iOS系統設定 → 一般 → VPN與裝置管理）。 APP關閉之後需要重新到StikDebug啟用JIT。\n參考資料 # Enabling JIT - SideStore Docs StikJIT - A Technical Explanation by Jackson Coxson ","date":"2025年12月24日","externalUrl":null,"permalink":"/posts/stikdebug-app/","section":"所有文章","summary":"StikDebug (舊名StikJIT) 是免電腦的JIT啟用方案，屬於on-device JIT enabler，適用iOS 26以上的iPhone或iPad裝置，不需要越獄。\n這有什麼用呢？許多APP可以因此受益，舉凡UTM、PojavLauncher、PPSSPP、RetroArch模擬器都能夠透過JIT加速，大幅加速執行效能。\nSideStore和AltStore在iOS 17以前是支援從APP的界面啟動JIT的，不過之後Apple變更政策，導致舊版方法失效，需要用到電腦才能啟用JIT。現在StikDebug方案有望解決這個問題。\nStikDebug跟先前分享過的SideJITServer不同，它讓你 不需要電腦 ，就可以啟用JIT加速！\n至於為什麼StikDebug可以做到免電腦啟用JIT加速，請參閱文末開發者Jackson Coxson的解釋。\n注意：目前最新版的iOS 26系統，透過App Store下載的APP是不能夠啟用JIT加速的，APP必須透過IPA側載才可以啟用JIT。\n1. 安裝StikDebug的APP # StikDebug原始碼位於Github，你可以到這裡下載IPA。\nStikDebug有上架App Store，直接下載就可以了。 註：2025年12月StikDebug因為不明原因被Apple下架，變成得用iloader側載IPA。\n","title":"StikDebug，免電腦啟用JIT加速！讓iPhone APP執行速度更快，支援iOS 26以上裝置","type":"posts"},{"content":"因為有同時操作兩台電腦的需求，所以Ivon安裝了KVM軟體「Deskflow」\n「KVM」在這裡指的並不是Linux核心的虛擬化技術，而是一種共享鍵盤與滑鼠的軟體。只要準備一組鍵鼠，就能透過Wifi，無縫在兩部電腦間切換。\n傳統的KVM是一個硬體裝置，需要依賴一個分線器把滑鼠連到兩部電腦上，再按實體按鍵切換。而這裡不依賴外部硬體，所以又稱為軟KVM。\nDeskflow是一個很受歡迎的軟體KVM解決方案，開源，而且支援Linux、Windows、macOS、Android，能夠輕鬆達到跨系統操作電腦。 根據這個Github討論，Deskflow是商業軟體Synergy的上游開源社群版本，不需要收費，使用上無任何限制。\n類似Deskflow的開源軟體還有Input Leap與Barrier。跟這些專案比起來，Deskflow的強項是支援X11與Wayland桌面。\nDeskflow最高能夠連結15部電腦，它把多部電腦像是多個螢幕排列在一起，讓你用一組鍵盤滑鼠就能控制所有的電腦，共享剪貼簿，以及傳送指定快捷鍵到另一部電腦。\n而且誰說一定要實體電腦？虛擬機、遠端電腦、Android平板的桌面也是可以安裝Deskflow一起操作的唷！\n1. 環境 # Deskflow支援Linux、Windows、macOS、Android系統。最高能夠連結15部電腦。\n我要操控的電腦一部是Debian 13，一部是Fedora 43，兩台電腦連線到同一個區域Wifi網路。\n我打算使用Debian的鍵盤滑鼠操控兩部電腦。Fedora電腦可以不需要接上滑鼠鍵盤。\n如果「同一個區域網路」這個條件不能達成，可以用內網穿透軟體強行連線。\n2. 安裝Deskflow # 兩台電腦都要安裝Deskflow。最高能夠連結15部電腦。\nDeskflow支援Linux、Windows、macOS、Android系統。Github有全部作業系統的安裝檔，但是Android版要到這裡下載。\n許多Linux發行版都有收Desktflow套件。\n如果你擔心裝到舊版，可以到Github Releases下載安裝包。\n或者透過Flatpak安裝：\nflatpak install flathub org.deskflow.deskflow 3. 配對電腦 # Deksflow在兩部電腦之間透過一組TLS憑證進行配對認證。\n在第一部電腦開啟Deskflow，將這台電腦設定為伺服器，我們將以這台電腦為中心，控制其他電腦。這裡會顯示這台電腦的區域IP與hostname。 作為伺服端的電腦要開放防火牆通訊埠\nsudo ufw allow 24800 然後在第二台電腦開啟Desktflow，將它設定為客戶端，輸入第一台電腦的區域IP或是hostname，點選連線。 在第一部電腦核對雙方金鑰，同意連線 GNOME和KDE Plasma桌面應該都會在Deskflow連線階段時要求使用者確認，這時請點選同意。 在第一台電腦的伺服器設定面板，設定兩台電腦的相對位置。 如果有第三台、第四台電腦要加入，也是如法炮製。\n要設定開機自動啟動，先確認電腦開機會自動登入桌面。然後將Deskflow加入到開機自動啟動程式，例如Linux可以使用XDG Autostart設定，只要把Flatpak的Desktop Entry複製過去就可以了：\nmkdir ~/.config/autostart/ cp ~/.local/share/flatpak/exports/share/applications/org.deskflow.deskflow.desktop ~/.config/autostart/ 4. Deskflow操作方法 # 就好像電腦連接兩個螢幕一樣，你透過移動滑鼠到螢幕邊緣，將你的滑鼠「進入」到另一部電腦。\n例如我上面設定的相對位置，第二台電腦在第一台電腦的下面。\n那麼就是把滑鼠往下滑到螢幕邊緣，滑鼠就會跑到第二部電腦囉。兩邊的鍵盤剪貼簿也會共用。啊不過你要傳檔案的話還是不行，得依靠KDE Connect或者自行設定SSHFS之類的檔案共享。\n因為Wayland桌面對權限管制較嚴格，要透過Desktop Portal存取。Deskflow要抓取滑鼠動作的時候，GNOME和KDE Plasma桌面都會跳出警告。尤其KDE Plasma 6會一直跳出「輸出擷取」警告，覺得煩的可以點一下通知欄旁邊的選項把它關掉。 5. 傳送快捷鍵到另一部電腦 # Deskflow還有一個功能：傳送快捷鍵到另一部電腦！\n例如我設定按CTRL + G，馬上在指定的電腦上執行PrintScreen截圖。 有些快捷鍵按下去的時候會被目前的系統攔截，導致Deskflow無法抓到。這個時候得手動編輯Dekskflow設定檔，Flatpak版位於~/.var/app/org.deskflow.deskflow/config/Deskflow/deskflow-server.conf，調整裡面實際觸發的快捷鍵。\n不過可能是看桌面環境怎麼判定吧。我這樣設定後，GNOME仍然需要滑鼠在那台電腦的螢幕上才可以觸發這個截圖快捷鍵。\n","date":"2025年12月24日","externalUrl":null,"permalink":"/posts/deskflow-usage/","section":"所有文章","summary":"因為有同時操作兩台電腦的需求，所以Ivon安裝了KVM軟體「Deskflow」\n「KVM」在這裡指的並不是Linux核心的虛擬化技術，而是一種共享鍵盤與滑鼠的軟體。只要準備一組鍵鼠，就能透過Wifi，無縫在兩部電腦間切換。\n傳統的KVM是一個硬體裝置，需要依賴一個分線器把滑鼠連到兩部電腦上，再按實體按鍵切換。而這裡不依賴外部硬體，所以又稱為軟KVM。\nDeskflow是一個很受歡迎的軟體KVM解決方案，開源，而且支援Linux、Windows、macOS、Android，能夠輕鬆達到跨系統操作電腦。 根據這個Github討論，Deskflow是商業軟體Synergy的上游開源社群版本，不需要收費，使用上無任何限制。\n類似Deskflow的開源軟體還有Input Leap與Barrier。跟這些專案比起來，Deskflow的強項是支援X11與Wayland桌面。\nDeskflow最高能夠連結15部電腦，它把多部電腦像是多個螢幕排列在一起，讓你用一組鍵盤滑鼠就能控制所有的電腦，共享剪貼簿，以及傳送指定快捷鍵到另一部電腦。\n而且誰說一定要實體電腦？虛擬機、遠端電腦、Android平板的桌面也是可以安裝Deskflow一起操作的唷！\n1. 環境 # Deskflow支援Linux、Windows、macOS、Android系統。最高能夠連結15部電腦。\n我要操控的電腦一部是Debian 13，一部是Fedora 43，兩台電腦連線到同一個區域Wifi網路。\n","title":"Deskflow教學：兩台電腦共用滑鼠鍵盤（支援Linux / Windows / macOS / Android）","type":"posts"},{"content":"你點開Facebook，通知出現了紅色數字，代表又有獎勵到來了，看到別人給你按讚、給你留言，你就覺得很爽。反之，如果過一段時間點開完全沒亮，你就會覺得是不是做錯了什麼，我發的文章演算法不喜歡，觸及率被降低了嗎，可是我講的東西「我覺得」很重要呀。 極端的一點的就會各種陰謀論，說是有境外勢力在操作，有人想害我無法發聲之類的。\n我們應該建立一個認知：你的價值，不是靠單純的數字決定的！是只要有一個真誠的回饋，比追求一千個數字更有價值。所以從今天起，停止過份在意你的流量多寡。受演算法導致沒人按讚，也無要緊。\n我們也可以譴責群眾的愚昧，雖然自己沒有高尚到哪裡去。網路時代似乎沒有人在意真相了，他們只想要聳動新聞，獲取流量，背後事實是怎樣，他們是不管的。媒體如此，閱聽人亦復如是。人們偏向用刻板印象或者meme的方式給事情快速做出評斷，把一切議題都「娛樂化」，然後滑向下一則貼文。我就以幾篇新聞為例子吧，PTT上面有人貼出原始最聳動的版本，但是後續近況更新卻乏人問津。\n案例一，非洲獨裁者伊迪阿明一直被謠傳有吃人肉，但他的廚師說沒有。《獨裁者的主廚》（下）：烏干達\u0026hellip;誰讓阿敏「吃人肉」? - 轉角國際 這篇文章的作者很有趣，他訪問暴君身邊的廚師，側面描寫伊迪阿明的形象，雖是殘暴，但他真的沒有吃人肉。順便批判了歐洲人的殖民主義政策，他們以為把非洲人塑造成沒有白種人就無法建立穩定政權的呼呼嘿嘿，就可以掩蓋自身是殖民失敗者的形象。\n案例二，亞馬遜部落沈迷色情片，但是後續報導證實為謠言。亞馬遜部落沉迷A片誤解頻傳 馬斯克也開罵 - NowNews 紐約時報不愧是扭腰時報，這群人就此冠上了搞笑的形象。\n案例三，NASA報告小行星2024 YR4撞擊地球的機率上升了，鄉民紛紛議論快放鑽油工人上去炸掉。科學家排除小行星2024 YR4威脅 2032撞地球機率下修至0.001% - 中央社 結果最近證實機率已經下降到接近0%，討論便冷淡許多。\n類似的案例還有很多\u0026hellip;很多的刻板印象就是這樣形成的，譬如聽到「英國研究」就直接認定研究沒價值，縱然水碩真的很多，可是也不能忽視正經學術殿堂做出來的研究報告。\n其實沒有必要這樣懷疑，或者譴責過多，因為你就是被追求流量所控制了，你選擇玩這個遊戲，被迫跟不透明的演算法鬥爭卻摸不清全貌。這樣你會覺得1000人按讚，比起有1個人來給你留言要來得重要。\n今年，我的Facebook獲得了比去年多很多的關注，因此通知會常常亮起數字，這很好，可是也是警訊。看到比我還大牌的KOL隨便發文都好幾千個讚，我就想要更多讚。\n偏好不用社群媒體APP，我大部分都用網頁版。雖然如此，仍抵擋不了我想打開來滑的欲望。\n我覺得社群媒體放大了現代人的焦慮，讓人們去關心那些無關緊要的事情。很多人第一時間會在意的便是，有多少人關心我？瘋狂的滑滑滑，刷新再刷新，我想獲得關注我，我想知道有人在意我，我希望沒有人忽略我，我透過這樣才能確知自己的存在不是沒有意義。縱然有對這種病態行為的這個後設認知，我還是停不下來。\n我是為了流量，好像沒有人按讚，我的內容就沒價值一樣，產生焦慮徬徨心情，所以便會試圖在Facebook發非常聳動的一句話開頭，當作標題黨，之後才講重點，為的是博取更多關注。然後我就一直追尋著這種發文被按讚的短暫多巴胺快感。把時間都浪費在這上面。\n嘗試為了追求更好的社群媒體氛圍學習改用Mastodon，我以為這能協助我數位排毒。可有時候，在Mastodon發文沒人看（要這樣說也不正確，因為他就沒有演算法嘛，一定有人看到只是不見得理你）就會改成到Threads發文，賭那微小的機率讓我的內容能飄出去。\n什麼時候我們才能不追求按讚數？或許我該把我網站任何按讚的功能都移除，要求有意見的人都用電子郵件聯絡，增加聯絡門檻，不讓人用廉價的讚表達想法？了解到一個內容的好壞並不是按讚數多、講話大聲就有理。\n我們才能真正專注在自己想要的東西上。\n不依賴主流社群媒體演算法所構築的世界？有可能嗎？你要大家在這個便利的時代回去用古老的RSS手動蒐集資料？靠小圈子互相推薦網站？真的能打得過社群媒體演算法給我們帶來的誘惑嗎？\n建立個人網站或許可行。我不要社群媒體平台對我有任何發布的內容有任何限制，不要情緒一直被「規則」所束縛而自我審查。但是自得其樂，不宣傳能撐多久？\n退出社群媒體的前提是，一個人生活有自己的充實之處，才能真正的退出社群媒體，獨善其身，享受到生活。就比如，身邊有親密家人陪伴著，不總是父母，至少得是伴侶或者朋友吧。雖然不用到現充程度，可是至少得是聊得來的程度。\n我嘗試看一些經典文學歷史哲學書，用各種方式擺脫網路，嘗試充實自己。可是感覺孤獨。跟死人對話雖然能暫時緩解空虛的心，可是理解到現世沒有人懂我還是不好受的。\n年紀尚淺，沒有歸隱田園種田的動力。我覺得現在還無法體會到「寄蜉蝣與天地，渺滄海之一粟。哀吾生之須臾，羨長江之無窮；挾飛仙以遨遊，抱明月而長終。知不可乎驟得，托遺響於悲風。」的怡然自得。\n若沒有生活的人貿然退出社群媒體呢？就會陷入一種「14歲，已覺醒」的感悟，然後撐沒幾天，又覺得空虛，便回到社群媒體了。根據不完全統計，我跳出去了又跳回來的次數已經超過100次以上了，繼續沉淪。\n這時代注重數位隱私權的人是不是在給自己製造賽博錫箔帽(tin foil)啊？你說，你要degoogle手機，拒絕Apple的封閉生態系，使用VPN，拒絕主流社群媒體，追求高度隱私的Linux or GrapheneOS作業系統，逃離大公司的監控，何必呢？你好像有被害妄想症，認為FBI還是中南海會整天想監控你的資料。你才沒那麼重要！跟大眾一起沉淪吧！「你就抱著理想溺死吧！」\n有人認為，網路上發生的東西都不見是真的。我們不應該過度相信。不過現在的E化世界，每人都有隨時上網的能力，還說這種話，不就顯示？網上的東西是人類精神的產物，一定程度就反應了真實性。不論是最多人用的主流社群媒體，還是小眾邊緣版面，都反映了人性。\n現在你知道了問題所在，你退出網上的社群媒體，卻感到更孤獨。\n","date":"2025年12月24日","externalUrl":null,"permalink":"/posts/2025122401/","section":"所有文章","summary":"你點開Facebook，通知出現了紅色數字，代表又有獎勵到來了，看到別人給你按讚、給你留言，你就覺得很爽。反之，如果過一段時間點開完全沒亮，你就會覺得是不是做錯了什麼，我發的文章演算法不喜歡，觸及率被降低了嗎，可是我講的東西「我覺得」很重要呀。 極端的一點的就會各種陰謀論，說是有境外勢力在操作，有人想害我無法發聲之類的。\n我們應該建立一個認知：你的價值，不是靠單純的數字決定的！是只要有一個真誠的回饋，比追求一千個數字更有價值。所以從今天起，停止過份在意你的流量多寡。受演算法導致沒人按讚，也無要緊。\n我們也可以譴責群眾的愚昧，雖然自己沒有高尚到哪裡去。網路時代似乎沒有人在意真相了，他們只想要聳動新聞，獲取流量，背後事實是怎樣，他們是不管的。媒體如此，閱聽人亦復如是。人們偏向用刻板印象或者meme的方式給事情快速做出評斷，把一切議題都「娛樂化」，然後滑向下一則貼文。我就以幾篇新聞為例子吧，PTT上面有人貼出原始最聳動的版本，但是後續近況更新卻乏人問津。\n案例一，非洲獨裁者伊迪阿明一直被謠傳有吃人肉，但他的廚師說沒有。《獨裁者的主廚》（下）：烏干達…誰讓阿敏「吃人肉」? - 轉角國際 這篇文章的作者很有趣，他訪問暴君身邊的廚師，側面描寫伊迪阿明的形象，雖是殘暴，但他真的沒有吃人肉。順便批判了歐洲人的殖民主義政策，他們以為把非洲人塑造成沒有白種人就無法建立穩定政權的呼呼嘿嘿，就可以掩蓋自身是殖民失敗者的形象。\n","title":"被演算法控制的大腦，退出不了的社群媒體","type":"posts"},{"content":"一個簡易的CMF Buds Pro 2使用心得。 Ivon上次買藍牙耳機已經是五年前。Apple AirPods Pro一代，因為使用頻率不是很高，就一直用到現在。\n現在要幫長輩買個藍牙耳機，她打算用耳麥經營K歌事業。\n就是那個大家一起　歡　樂唱　歌　的APP啦。\n她原本是用Apple EarPods有線耳機唱，但是換了不支援3.5mm的手機後，覺得用轉接頭麻煩，便想要一個藍牙耳機。\n預算有限，不然我是很想買PChome上特價6000元的Sony WF-1000XM5的說。\n我想說買個有牌子的藍牙耳機，覺得家裡小米的廉價產品已經夠多了，這次來點不一樣的。\n看中「CMF Buds Pro 2」\n由英國Nothing Phone旗下的CMF品牌所設計的高CP值耳機 2024年推出，售價1,990元，價格不到二千元，-50dB主動式降噪，6個麥克風，低延遲模式，有設計感，還有屌打同價位的LDAC編碼器。\n相較於上一代「CMF Buds 1」，這代「CMF Buds Pro 2」主要是多了LDAC編碼器，價格提高了一些。\n尤其那個旋鈕很吸引人。\nPChome特價1,600元。\n在轉交給長輩之前我可以盡情的測試一番。\n（其實根本是我自己想要www 要唱歌根本應該投資藍牙麥克風才對www）\n1. 開箱CMF Buds Pro 2 # CMF Buds Pro 2有提供四種顏色。我買的這個橘色比柿子還要橘一點，很像塑膠垃圾桶顏色。（圖片僅供參考，請以實物為準）\n內容物有耳機、充電線、不同尺寸的耳塞套。\n耳機反插，這個充電擺放位置真的很有創意，但也很容易插反。 不過，CMF Buds Pro 2耳機的外觀跟AirPods Pro很像，我討厭這種形狀，讓我的耳朵戴久了很不舒服。需要取出內附的耳塞更換成自己的size。 CMF Buds Pro 2配對方式：開啟充電盒蓋子，長按盒子內的按鈕2秒，即會進入配對模式。\n因為這支耳機支援Fast Pair協定，一開蓋Android手機應該就會跳出配對動畫。我刷LineageOS的Sony Xperia 10 V確實有這個功能。 順帶一提，CMF Buds Pro 2當然也可以在Linux電腦使用，PipeWire提供LDAC編碼器。 根據拆解报告：Nothing CMF Buds真无线降噪耳机，CMF Buds Pro 2的藍芽晶片是BES2700IHC，是中國恒玄科技的產品。\n2. 使用APP自訂好玩功能 # 官方有推出Nothing X APP用於設定耳機按鈕的行為，以及開關降噪。非必要，但是建議下載。 CMF Buds Pro 2的操作透過按一下耳機旁邊的觸控點來觸發，充電盒的旋鈕也可以自訂。 CMF Buds Pro 2好玩的地方在於，充電盒的旋鈕轉動能用來調整手機的音量！有種在玩iPod的感覺！ 還有一個功能是「雙重連線」同時跟多部裝置維持連線。在這裡點選，就可以設定音樂要切換到哪個裝置發出來。再搭配Spotify Connect，我們就可以跨電腦切換音樂了！ 順帶一提，因為CMF Buds Pro 2耳機支援Fast Fair協定，因此可以透過Google Play服務，在登入同一個Google帳號的多部手機間自動切換。\n雖然說Nothing官方有這麼好用的APP，但我不想被專有軟體綁架。初始化後把按鈕功能設定好後我就把APP刪除了。剩下的操作耳機會自動記住。\n想不到吧，Gadgetbridge也支援藍牙耳機。\n功能只有入耳偵測和降噪模式開關，以及顯示電量耗損曲線圖，這很方便統計續航力。 官方宣稱CMF Buds Pro 2耳機單次充電後可以有11小時的續航力。不過從Gadgetbridge的資料來推斷，開啟LDAC + 降噪模式下，續航力只有3小時左右。改回預設的AAC + 降噪模式才可以撐到6小時以上。\n3. 音質比較 # 大多數的Android手機都是支援LDAC編碼的，CMF Buds Pro 2預設是用AAC編碼，要到APP設定手動開啟LDAC。需要注意這樣做的話會降低續航力。 CMF Buds Pro 2的APP有一些音效功能，「超強動態低音」和「空間音訊」我覺得沒什麼特別的。等化器的話可以稍微改善不同種類音樂的聽感。這個等化器效果應該是儲存在耳機裡面的，換裝置播放依然有效。 在LDAC模式下無法使用Dirac Opteo等化器。不過LDAC音質本身就屌打AAC了，有無等化器沒差。況且手機端我還有Dolby Atmos和Viper4X能用。 音質部份，CMF Buds Pro 2官方宣稱適合聽流行樂，我是拿AirPods Pro一代做比較，CMF Buds Pro 2比AirPods Pro一代清楚了些吧，細節更豐富了一些些。三頻均衡，高頻會有點小破音。APP提供的動態低音我覺得沒什麼效果。\n不過這裡有個問題，LDAC為了抗干擾，是會動態調整位元率的。最低情況可能只有330kbps，接近AAC。在Android手機的開發人員選項可以強制指定藍牙位元率。LDAC要強制開到最高位元率，要在2.4GHz干擾少的地方，不然就只能開到660kbps而已，再上去就很容易會斷斷續續。因此實際上LDAC並不是很穩定的選擇。現在我了解到了，在解決干擾問題之前，藍牙耳機追求高音質是這麼不切實際的目標。\n最後是CMF Buds Pro 2通話錄音方面，我自己測試還算清楚。畢竟這支有6個麥克風。\n根據長輩測試，開啟低延遲模式就可以唱歌了，錄音品質跟Apple EarPods一樣清晰。呼～真是太好了不用被退貨。\n","date":"2025年12月23日","externalUrl":null,"permalink":"/posts/nothing-cmf-buds-pro-2-review/","section":"Unboxings","summary":"一個簡易的CMF Buds Pro 2使用心得。 Ivon上次買藍牙耳機已經是五年前。Apple AirPods Pro一代，因為使用頻率不是很高，就一直用到現在。\n現在要幫長輩買個藍牙耳機，她打算用耳麥經營K歌事業。\n就是那個大家一起　歡　樂唱　歌　的APP啦。\n她原本是用Apple EarPods有線耳機唱，但是換了不支援3.5mm的手機後，覺得用轉接頭麻煩，便想要一個藍牙耳機。\n預算有限，不然我是很想買PChome上特價6000元的Sony WF-1000XM5的說。\n我想說買個有牌子的藍牙耳機，覺得家裡小米的廉價產品已經夠多了，這次來點不一樣的。\n看中「CMF Buds Pro 2」\n由英國Nothing Phone旗下的CMF品牌所設計的高CP值耳機 2024年推出，售價1,990元，價格不到二千元，-50dB主動式降噪，6個麥克風，低延遲模式，有設計感，還有屌打同價位的LDAC編碼器。\n相較於上一代「CMF Buds 1」，這代「CMF Buds Pro 2」主要是多了LDAC編碼器，價格提高了一些。\n尤其那個旋鈕很吸引人。\nPChome特價1,600元。\n在轉交給長輩之前我可以盡情的測試一番。\n（其實根本是我自己想要www 要唱歌根本應該投資藍牙麥克風才對www）\n1. 開箱CMF Buds Pro 2 # CMF Buds Pro 2有提供四種顏色。我買的這個橘色比柿子還要橘一點，很像塑膠垃圾桶顏色。（圖片僅供參考，請以實物為準）\n","title":"CMF Buds Pro 2評價，用兩千元不到的的價格入手LDAC高音質藍牙耳機","type":"unboxing"},{"content":"","date":"2025年12月23日","externalUrl":null,"permalink":"/tags/nothing-phone/","section":"標籤","summary":"","title":"Nothing Phone","type":"tags"},{"content":"Install PipeWire bluetooth codecs on Linux desktop.\n目前市面上的藍牙耳機，主流的編碼器有SBC與AAC，若要追求更高音質，還有LDAC、aptX、aptX HD、aptX LL、LC3、LC3plus、SSC、LHDC、Faststream、Opus 05 Pro等等。\n這主要是看你的藍牙耳機是否支援使用這些編碼器，再看電腦的藍牙晶片是否支援解碼器，最後再看Linux系統能否啟用對應的解碼器來播放。\n在Linux上，這些編碼都可以透過PipeWire輕鬆設定。\n為什麼你應該切換到PipeWire，不要再用PulseAudio了？它有開箱即用的高音質藍牙編碼器～主流的A2DP編碼器都有人製作，讓我們可以在Linux電腦無縫享受Sennheiser、Sony、Audio-Technica、Marshall、JBL、Philip的高音質藍牙耳機。相較之下PulseAudio的藍牙編碼器缺很大。\nPipeWire另外一個好處是，它提供HFP模式下「mSBC」的解碼器，可以改善藍牙耳機當電腦麥克風時候的音質。\n1. 安裝PipeWire藍牙解碼器 # 現在的Linux主流發行版應該都是使用PipeWire當音訊伺服器了，並用WirePlumber管理音訊，例如Ubuntu 24.04以上版本。\n你或許不需要執行這一段的步驟，因為Linux發行版應該都幫你裝好了才對。\nLinux發行版多半會提供藍牙解碼器套件，其中包含專有與開源的解碼器。我們知道，aptX是需要Qualcomm公司授權費的專有編碼，不過一般只有藍牙耳機製造商需要付錢，解碼器是有開源的。在Linux，我們透過社群逆向工程的libfreeaptx提供aptX支援。\n至於AAC也是專有編碼，大部分的解碼器實作都是專有軟體。目前是有開源的AAC解碼器FDK-AAC，但收的發行版不多，例如Ubuntu需要26.04以上版本才有把這個AAC編碼器加進去。如果AAC不可用，我們有「SBC-XQ」，這是強行將SBC編碼器的位元率升頻到551kbps的life hack。這個編碼器大部分Linux發行版都有收，可以替代AAC，不過容易受到干擾。\n你可以用這個指令確認PipeWire是否啟用：pactl info，應該會顯示PulseAudio (on PipeWire)\n安裝以下PipeWire藍牙解碼器套件，目前Ubuntu 26.04支援的包含AAC、LDAC、aptX、LC3。\nsudo apt install libspa-0.2-bluetooth libfdk-aac-dev libldacbt-abr2 libldacbt-enc2 libfreeaptx0 liblc3-dev 然後重新啟動WirePlumber。 systemctl --user restart wireplumber 連接到藍牙耳機。 2. 查看藍牙耳機可用的解碼器 # KDE Plasma與GNOME的桌面應該都會在音訊控制面板，顯示可用的解碼器。 如果沒有出現該出現的解碼器，編輯WirePlumber設定檔\nmkdir -p ~/.config/wireplumber/wireplumber.conf.d/ vim ~/.config/wireplumber/wireplumber.conf.d/51-bluez-config.conf 填入以下內容，在WirePlumber啟用全部解碼器 bluez_monitor.properties = { [\u0026#34;bluez5.enable-msbc\u0026#34;] = true, [\u0026#34;bluez5.enable-sbc-xq\u0026#34;] = true, [\u0026#34;bluez5.enable-hw-volume\u0026#34;] = true, [\u0026#34;bluez5.headset-roles\u0026#34;] = \u0026#34;[ a2dp_sink a2dp_source bap_sink bap_source hsp_hs hsp_ag hfp_hf hfp_ag ]\u0026#34;, [\u0026#34;bluez5.codecs\u0026#34;] = \u0026#34;[ sbc sbc_xq aac ldac aptx aptx_hd aptx_ll aptx_ll_duplex faststream faststream_duplex lc3plus_h3 opus_05 opus_05_51, opus_05_71 opus_05_duplex opus_05_pro lc3 ]\u0026#34;, } 然後重新啟動WirePlumber。 systemctl --user restart wireplumber 3. 強制提高藍牙LDAC位元率 # LDAC這種藍牙編碼器，儘管位元率最高可達990kbps，但其實連線的時候會自動調整位元率，減少因為干擾因素導致連線不順暢。如果你想要強制維持在最高位元率，可以強制指定。\n注意，因為藍牙先天物理頻寬限制，啟用高位元率模式可能會造成音訊斷斷續續，請在2.4Ghz干擾少的地方測試。\n你可以安裝Blueman-GTK這個程式 sudo apt install blueman 從Blueman-GTK觀察藍牙耳機的位元率使用狀況。這裡上傳顯示的速度需要換算一下，依照LDAC提供的三檔品質來看，124 KB/s = 990 kbps。82.5 KB/s = 660 kbps。41.25 KB/s = 330 kbps。 編輯WirePlumber設定檔：\nmkdir -p ~/.config/wireplumber/wireplumber.conf.d/ vim ~/.config/wireplumber/wireplumber.conf.d/51-bluez-config.conf 填寫以下內容。設定處理藍牙裝置的規則。bluez5.a2dp.ldac.quality後面可用的值有hq、sq、mq、auto，設定hq強制讓LDAC鎖定在990kpbs。 monitor.bluez.rules = [ { matches = [ { device.name = \u0026#34;~bluez_card.*\u0026#34; } ] actions = { update-props = { bluez5.a2dp.ldac.quality = \u0026#34;hq\u0026#34; } } } ] 然後重新啟動WirePlumber。 systemctl --user restart wireplumber 看看位元率是否上升。 參考資料 # Bluetooth configuration - WirePlumber documentation 林博仁 - How to allow the usage of the AAC audio codec for bluetooth audio devices on Ubuntu 24.04 Guy Rutenberg - Configuring LDAC Quality in PipeWire ","date":"2025年12月23日","externalUrl":null,"permalink":"/posts/linux-pipewire-bluetooth-codecs/","section":"所有文章","summary":"Install PipeWire bluetooth codecs on Linux desktop.\n目前市面上的藍牙耳機，主流的編碼器有SBC與AAC，若要追求更高音質，還有LDAC、aptX、aptX HD、aptX LL、LC3、LC3plus、SSC、LHDC、Faststream、Opus 05 Pro等等。\n這主要是看你的藍牙耳機是否支援使用這些編碼器，再看電腦的藍牙晶片是否支援解碼器，最後再看Linux系統能否啟用對應的解碼器來播放。\n在Linux上，這些編碼都可以透過PipeWire輕鬆設定。\n為什麼你應該切換到PipeWire，不要再用PulseAudio了？它有開箱即用的高音質藍牙編碼器～主流的A2DP編碼器都有人製作，讓我們可以在Linux電腦無縫享受Sennheiser、Sony、Audio-Technica、Marshall、JBL、Philip的高音質藍牙耳機。相較之下PulseAudio的藍牙編碼器缺很大。\nPipeWire另外一個好處是，它提供HFP模式下「mSBC」的解碼器，可以改善藍牙耳機當電腦麥克風時候的音質。\n1. 安裝PipeWire藍牙解碼器 # 現在的Linux主流發行版應該都是使用PipeWire當音訊伺服器了，並用WirePlumber管理音訊，例如Ubuntu 24.04以上版本。\n","title":"Linux如何配對高音質藍牙耳機 (LDAC/aptX/LC3)，安裝PipeWire解碼器","type":"posts"},{"content":"","date":"2025年12月23日","externalUrl":null,"permalink":"/tags/windows-on-arm/","section":"標籤","summary":"","title":"Windows on ARM","type":"tags"},{"content":"先前分享過Limbo PC Emulator，可以在Android手機用QEMU跑電腦系統。\n但是因為大多數Android手機不支援虛擬化加速技術，沒有KVM，所以效能低落。\n現在這事有了一絲轉機。Google在Android 15給Pixel手機加入pKVM虛擬化支援之後，使得在Android上使用KVM成為了可能。所以，虛擬機的執行速度將會獲得大幅提昇，能接近實機運作速度。\n看到這個潛力的開發者，便製作了名為「Limbo Tensor」的修改版，允許使用pKVM為後端加速虛擬機執行。\nGoogle提出了AVF框架，給Android提供了一個標準的虛擬化界面。但目前Android 16只能透過內建的Linux終端機，執行Debian一種系統。Limbo Tensor則是可以執行任意ARM系統，包括ARM架構的Linux發行版，還有Windows on ARM。\n1. 系統需求 # Limbo Tensor支援的為搭載Google Tensor處理器的手機，至少要Google Pixel 6以後的型號。根據Limbo Tensor作者的說法，部份Medaitek Dimensity處理器也可以開啟KVM。\n最主要要看處理器是否支援AVF背後使用的技術pKVM。目前的pKVM一般APP不能存取，所以執行的時候 需要Root權限 。\n考慮到虛擬機執行的時候需要吃掉一些RAM，手機最好是8GB RAM以上機種。\n有了KVM加速後，應該執行同架構的虛擬機。也就是說你只能跑ARM架構的系統，不應該執行x86架構的系統，否則KVM無法生效。\nLimbo Tensor可以跑有UEFI的Linux與Windows虛擬機。\n2. 下載Limbo Tensor # 到Github下載APK。\n註解：Limbo PC Emulator原作者消失很久了。Limbo Tensor作者似乎也半放棄維護了，目前只有實現基本功能，沒有加入音效卡，也沒有GPU加速。\n比較有在積極維護的虛擬機APP，Vectra VM，目前沒有支援Tensor加速的打算。\n3. 安裝Ubuntu ARM # Linux比較好透過。如果要安裝Windows 11 ARM，建議是直接拷貝\nUbuntu ARM的版本僅有Ubuntu Server，這個版本的Ubuntu你可以透過手動安裝ubuntu-desktop套件補全圖形環境。到官網下載Ubuntu ARM的ISO。\n開啟Limbo Tensor，首次會要求Root權限。 點選新增機器，勾選啟用VNC，主機板選virt，啟用UEFI。CPU架構選Host，核心給滿。RAM至少分配1GB。新增CDROM，選取上面下載的ISO。接著新增虛擬磁碟，選一個資料夾存放.qcow2檔，至少32GB。開機選項設定為CDROM。網路卡設定為User。 點選開機。\n使用AVNC，輸入localhost:5900連線到桌面，開始安裝系統。 ","date":"2025年12月23日","externalUrl":null,"permalink":"/posts/limbo-pc-emulator-tensor/","section":"所有文章","summary":"先前分享過Limbo PC Emulator，可以在Android手機用QEMU跑電腦系統。\n但是因為大多數Android手機不支援虛擬化加速技術，沒有KVM，所以效能低落。\n現在這事有了一絲轉機。Google在Android 15給Pixel手機加入pKVM虛擬化支援之後，使得在Android上使用KVM成為了可能。所以，虛擬機的執行速度將會獲得大幅提昇，能接近實機運作速度。\n看到這個潛力的開發者，便製作了名為「Limbo Tensor」的修改版，允許使用pKVM為後端加速虛擬機執行。\nGoogle提出了AVF框架，給Android提供了一個標準的虛擬化界面。但目前Android 16只能透過內建的Linux終端機，執行Debian一種系統。Limbo Tensor則是可以執行任意ARM系統，包括ARM架構的Linux發行版，還有Windows on ARM。\n1. 系統需求 # Limbo Tensor支援的為搭載Google Tensor處理器的手機，至少要Google Pixel 6以後的型號。根據Limbo Tensor作者的說法，部份Medaitek Dimensity處理器也可以開啟KVM。\n最主要要看處理器是否支援AVF背後使用的技術pKVM。目前的pKVM一般APP不能存取，所以執行的時候 需要Root權限 。\n","title":"用Limbo Tensor在Android手機跑KVM加速的Linux虛擬機","type":"posts"},{"content":"","date":"2025年12月23日","externalUrl":null,"permalink":"/ja-jp/tags/qemu-kvm/","section":"Tags","summary":"","title":"QEMU-KVM","type":"tags"},{"content":"","date":"2025年12月23日","externalUrl":null,"permalink":"/ja-jp/termux-tutorials/","section":"Termux-Tutorials","summary":"","title":"Termux-Tutorials","type":"termux-tutorials"},{"content":" 私はTermuxでQEMUを動かしてLinux仮想マシンをインストールするで、Androidスマホ上でTermuxを使って仮想マシンを動かす問題について書きました。結論は、とにかく遅いです。\nKVMがない場合は、すべてソフトウェアエミュレーションに頼ることになります。その結果、20年前のWindows XPシステムくらいしか動かせず、現代的なOSは到底まともに動きません。\nGoogle Tensorプロセッサを搭載したスマホでは、Android 15以降にpKVMが導入されました。これはAVFフレームワークの下層でサポートされている技術です。\n現時点では、Android 16の実験的なDebian Linux Terminalを除き、一般のAPPはpKVMへアクセスできません。pKVMを有効化するにはRoot権限が必要です。\n1. パッケージをインストールする # KVMアクセラレーションがあるなら、同じアーキテクチャの仮想マシンを実行するべきです。Termux開発者によると、このqemu-system-aarch64-headlessパッケージを使うことで、pKVMで高速化された仮想マシンを利用できます。\n以下のパッケージをインストールします。ARMアーキテクチャのマシンでは、UEFIを有効にするのがよいです。\npkg install qemu-system-aarch64-headless qemu-utils qemu-common ovmf sudo グラフィカル環境にはVirt Managerがなく、Libvirtサービスもおそらく動かないので、AVNCを使って仮想マシンの画面へアクセスするしかありません。\n2. TermuxでLinux仮想マシンを作成する # Ubuntu ARMのISOをダウンロードし、Termuxのホームディレクトリに置きます\nKVMが存在することを確認します\nsudo ls /dev/kvm 仮想ディスクを作成します qemu-img create -f qcow2 ubuntu.qcow2 32G UEFIを保存するファイルを作成します truncate -s 64m varstore.img truncate -s 64m efi.img dd if=$PREFIX/share/qemu/edk2-aarch64-code.fd of=efi.img conv=notrunc 起動スクリプトを追加します touch startubuntu.sh chmod +x startubuntu.sh vim startubuntu.sh 内容は以下のとおりです qemu-system-aarch64 -M virt \\ -enable-kvm \\ -drive if=pflash,format=raw,file=\u0026#34;efi.img\u0026#34;,readonly \\ -drive if=pflash,format=raw,file=\u0026#34;varstore.img\u0026#34; \\ -smp cpus=2 \\ -m 1024 \\ -cpu host \\ -nographic \\ -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 \\ -drive file=ubuntu.qcow2 \\ -boot d \\ -vnc :0 \\ -cdrom ubuntu-24.04.3-live-server-arm64.iso 実行時にはsudoを付けます。 sudo ./startubuntu.sh うまくいけば、AVNCでlocalhost:59000を開いて仮想マシンの画面を見られます。\n奇妙なことに、KVMを有効にしなければ起動できますが、有効にするとqemu-system-aarch64: Failed to put registers after init: Invalid argumentエラーに遭遇します。\nchrootに切り替えて、その中でKVMを動かせば、成功率が上がるかもしれません。\n参考資料 # running a pKVM in Termux? - Reddit Running Linux VM on pixel 7 - Reddit ","date":"2025年12月23日","externalUrl":null,"permalink":"/ja-jp/posts/termux-qemu-system-tensor-linux/","section":"Termux-Tutorials","summary":" 私はTermuxでQEMUを動かしてLinux仮想マシンをインストールするで、Androidスマホ上でTermuxを使って仮想マシンを動かす問題について書きました。結論は、とにかく遅いです。\nKVMがない場合は、すべてソフトウェアエミュレーションに頼ることになります。その結果、20年前のWindows XPシステムくらいしか動かせず、現代的なOSは到底まともに動きません。\nGoogle Tensorプロセッサを搭載したスマホでは、Android 15以降にpKVMが導入されました。これはAVFフレームワークの下層でサポートされている技術です。\n現時点では、Android 16の実験的なDebian Linux Terminalを除き、一般のAPPはpKVMへアクセスできません。pKVMを有効化するにはRoot権限が必要です。\n1. パッケージをインストールする # KVMアクセラレーションがあるなら、同じアーキテクチャの仮想マシンを実行するべきです。Termux開発者によると、このqemu-system-aarch64-headlessパッケージを使うことで、pKVMで高速化された仮想マシンを利用できます。\n以下のパッケージをインストールします。ARMアーキテクチャのマシンでは、UEFIを有効にするのがよいです。\npkg install qemu-system-aarch64-headless qemu-utils qemu-common ovmf sudo グラフィカル環境にはVirt Managerがなく、Libvirtサービスもおそらく動かないので、AVNCを使って仮想マシンの画面へアクセスするしかありません。\n","title":"TermuxでpKVMを使いQEMU仮想マシンを高速化する","type":"termux-tutorials"},{"content":"好啦，還沒爆炸啦，這是clickbait。\n我又因為「Linux」買了玩具來實驗了。\n看到FB社團有人在賣老Sony Xperia，才2000台幣而已，我就買買看了。\n我原本是想買Xperia 5 (2019年) 的，因為跟我那綠線自爆的Xperia 5 II外型類似（妳跟妳媽長得好像呀），手感很好，只是破天荒的沒有耳機孔而已。\n我倆像藥頭似的約在路邊交易，但是賣家一掏出來那根長長的\u0026hellip;遙控器，我的火眼金睛立即看到螢幕底部一條色塊不正常，這是\u0026hellip;烙印！於是我就不行了。唉，老手機都會有這問題吧，尤其是三明治條一直開著的情況，長期放著就會烙印一條在那。很多拍賣賣家都會忽略這一點。\n然後賣家掏出另一支同價位的Pixel 6a，我就立刻移情別戀。\n之前聽聞Pixel手機拍照很好看，且支援跑Linux虛擬機，又刷機友好，就很有興趣搞一支來玩了。\n1. 開箱機況 # Pixel 6a是Google在2022年發表的中階手機，6GB/128GB版本原價13,990元，搭載跟Pixel 6與Pixel 6 Pro相同的Tensor G1處理器。\nPixel 6a手感比我想像中好很多，小小支的玻璃機身，比Xperia 10 V短，比Xperia 10 V重一些。雖然螢幕破洞真的不好看。 玻璃機身有點磨損，有許多地方撞出凹痕。上一個主人是裸機派吧。\n外觀玻璃刮痕有點多，幸好沒傷到鏡頭。 正面的防指紋疏油層掉光了，非常容易沾指紋。\n開機鍵凹下去。\n這個狀況還可以接受吧。玻璃機身我不喜歡，因此要再買個保護殼。\n2. 日用可能性 # 這台老手機還可能日用嗎？\n長久以來都是用Xperia，為了完整螢幕，我終於鼓起勇氣買腦袋破洞的手機了（什麼跟什麼啊）\n一直很討厭螢幕有挖孔的手機，欣賞圖片的時候很礙眼啊啊，不論是Pixel還是Samsung。模仿iPhone動態島的，更討厭。在Android開發人員選項→ 裝置凹口可以將有鏡頭的那一條整個變黑，通知欄整個下移。不論腦袋破洞還是瀏海我都是這樣處理的。這樣做的話，手機甚至會變小支，讓手指更容易觸碰到螢幕頂部。現在只有Sony還保留無挖孔的完整螢幕，要是未來再無Sony可買的話，我就會買Pixel a系列，因為比較輕，然後繼承這個作法！ 有點地獄的比較圖片\n長久以來我都是在非Pixel手機安裝GCam Ports體驗。現在實際體驗真正GCam的拍照\u0026hellip;不過爾爾！跟我之前被當盤子買的二手Xpeira 1 III互有勝負。\n我真的很會買手機，這兩台上市日期相近，而且同樣都搭載噴火龍處理器。\n夜拍是不錯啦 相較之下Sony需要手動調整參數，Pixel的發色確實比較無腦。Sony的問題很明顯，我上一段章節圖片全都是用Sony Xperia 1 III自動模式拍的，到底為什麼每次白平衡都不一樣啦！ Pixel的夜拍真的可以把夜晚拍成白天 Sony就是黑嘛嘛，可是，嘿，在精細調整下，Sony才拍得出月亮 一般模式下Pixel白平衡還算討喜，靠演算法把照片抹的好看些。起碼這比Sony相機的自動模式準確多了。加上鏡頭質素不差，即使改用Open Camera或LineageOS Camera，配合Camera2API下也有很好表現。 也許買Pixel 6 Pro，相機品質就屌打Sony Xperia 1 III了。不過這樣手機就太重了。我不想再買一顆磚頭。\n音效部份，Pixel 6a喇叭雖然大聲但有點破。需要Root後刷Viper4X或Dolby Atmos壓制一下。 讓我不太能忍受的是，Pixel 6a的6GB RAM在今天來說太小了，開三個以上APP就會被殺背景。\nTensor G1身為第一代Google自主設計的晶片真的是很悲劇，跟同年代的SD888一樣容易發熱。即使不是做很重度的工作，只用Wifi的情況下，依然容易機背發燙。慘的是Tensor G1沒有人寫Magisk模組幫他降頻，只得安裝Scene工具箱改善。\n我有家人買過二手Pixel 6，電池沒多久就膨脹，也是對Pixel發熱問題做出惡評，從此改用Samsung A系列。\n雖然說Tensor G1容易發熱，不過Pixel 6a電池續航還能夠撐蠻久的。\n3. 電池會爆炸？ # 買完二手的Pixel 6a，才查到2025年，外國Reddit用戶陸續傳出充電自燃爆炸的災情。竟然是手機上市兩年後才陸續爆出問題：Yet another Pixel 6A caught fire - The Verge\n（噔噔咚——心肺停止），是\u0026hellip;火神來找我了！ 首次開機，系統偵測到充電次數超過400次，便建議我換電池了。 Google官方有意識到這件事的嚴重性，為了安全性，Android 16系統更新後會強制限制充電速度以及電池容量，並提供免費換電池的計畫。參見：Pixel 6a 電池效能計畫\n這明明已經是三年前的手機了，居然還有這種隱藏的timer逼人換掉呀。\n那，萬一刷機的話爆炸機率不就會上升？他們不見得會包含這個patch。我還是冒險的刷了，喔，GrapheneOS有打上這個patch啦，所以它會限制充電效能。又因為它是degoogle系統，所以比較省電。\n台灣不在免費更換電池的服務區域，只能拿3000元補償金。啊這\u0026hellip;\u0026hellip;算了，拿補償金去請人維修就好了吧。因為是二手的，我就只申請賠償就好了吧。我沒有不要臉到去跟客服凹一隻整新機回來。\n尷尬的是Google居然拒絕給我補償金！？明明IMEI有通過，用翻譯軟體跟我溝通的客服一眼看破我是買二手機，不符合資格。 考慮到之前自行拆Xperia 5 II把手機弄壞，我只好花1000元請人換電池了。這樣做的風險是，你沒辦法確認店家換的電池是否沒有問題。\n讓我不解的是，修手機的阿弟仔問我開機時顯示的一串英文字是什麼，我連忙跟他解釋這是刷機解鎖Bootloader後的警語。原來刷機並不是每個人都熱衷的事情呀。\n在換電池前，我實際測試一下Pixel 6a續航。發現只是閉著螢幕開5G熱點分享，三小時就掉了50%！亮著螢幕續航撐不到四小時，這支的電池容量耗損很嚴重啊。\n換了之後續航總算正常點了，有Xperia 5 II的水準。\n4. 刷機實驗體 # Pixel跟以前的Nexus手機一樣，設計的其中一個目的就是要當作Android開發的標準機器。\nPixel系列刷機都非常簡單，一行指令就能解鎖Bootloader，沒在跟你543的，我很快就開始大刷特刷。\n上一支刷機的實驗體是可以裝Linux的小米Poco F1，除了LineageOS之外還可以刷Windows 11和postmarketOS、Ubuntu touch。但這支已經很老了，原廠已停止支援。\n雖說我愛拿的Sony也是刷機友好的機種，但可惜手機賣不出去，開發者人數自然就少很多。\nPixel 6a的優勢是，Google原廠仍提供Android系統更新，可以隨時接收到Pixel Drop享受Android上游最新功能。Google有放出完整原始碼，方便第三方ROM開發者移植。要Root也很方便。\n因此我可以在官方與第三方ROM之間切換，Pixel第三方ROM資源很多，例如crDroid、LineageOS、Evolution X、DerpFest等等。玩累了就把Bootloader鎖上，直接睡覺沒問題的。 加上Pixel才有的pKVM，能夠跑Linux或Winodws虛擬機，可玩性很高。\n比較可惜的一點是postmarketOS這類系統還不支援Pixel，Tensor畢竟還是比Qualcomm和Mediatek的晶片冷門。\n目前我比較喜歡的第三方ROM是LineageOS與GrapheneOS。\n","date":"2025年12月20日","externalUrl":null,"permalink":"/posts/google-pixel-6a-review/","section":"Unboxings","summary":"好啦，還沒爆炸啦，這是clickbait。\n我又因為「Linux」買了玩具來實驗了。\n看到FB社團有人在賣老Sony Xperia，才2000台幣而已，我就買買看了。\n我原本是想買Xperia 5 (2019年) 的，因為跟我那綠線自爆的Xperia 5 II外型類似（妳跟妳媽長得好像呀），手感很好，只是破天荒的沒有耳機孔而已。\n我倆像藥頭似的約在路邊交易，但是賣家一掏出來那根長長的…遙控器，我的火眼金睛立即看到螢幕底部一條色塊不正常，這是…烙印！於是我就不行了。唉，老手機都會有這問題吧，尤其是三明治條一直開著的情況，長期放著就會烙印一條在那。很多拍賣賣家都會忽略這一點。\n然後賣家掏出另一支同價位的Pixel 6a，我就立刻移情別戀。\n之前聽聞Pixel手機拍照很好看，且支援跑Linux虛擬機，又刷機友好，就很有興趣搞一支來玩了。\n1. 開箱機況 # Pixel 6a是Google在2022年發表的中階手機，6GB/128GB版本原價13,990元，搭載跟Pixel 6與Pixel 6 Pro相同的Tensor G1處理器。\nPixel 6a手感比我想像中好很多，小小支的玻璃機身，比Xperia 10 V短，比Xperia 10 V重一些。雖然螢幕破洞真的不好看。 ","title":"買到電池會爆炸的Google Pixel 6a，換電池後成為刷機實驗體","type":"unboxing"},{"content":"We read the world wrong and say that it deceives us.\n去年的變化　去年煙花特別多（劉德華 - 去年的煙花特別多，影射1997年香港主權移交）\n除了一般感冒外，今年的藥吃的特別多。\n妥瑞症、胃食道逆流、胃潰瘍、自律神經失調、頸椎退化治療、心理諮商。\n有時候會覺得，我可以預見到以後臨死前親友說的話了：「乖，Ivon，你就安心的去吧，不用再吃這麼多藥折磨了，以後再也不痛了」\n就像五月天乾杯的MV那樣\n等等我還沒掛掉呀！2023年好不容易確診了的武漢肺炎都沒弄死我，怎能這樣就投降！我更擔憂的是，我可能會孤獨死。\n從能夠深切影響到身體的症狀出現已經過了一年了，我在斷斷續續的治療。直到今年才正式知道一切的病因，可能出自脖子因素。\n我覺得過去幾年的憂鬱症症狀，一部分來自外部因素；一部分是來自身體症狀，但當時並沒有察覺。\n2023年下半年開始，就隱約感覺到胸悶問題。可能是習慣性晚睡的緣故，有時候我會混到凌晨兩三點，隔天靠強效咖啡撐下去。\n2024年6月，左肩位置開始疼痛，常感到胸悶，並且頻繁胃食道逆流發作，看了醫生後也只是吃一些胃藥，並學會控制飲食，還有在身邊常備胃藥（張國周 \u0026amp; Wakamoto）這樣我至少不用被想吐的感覺所折磨，知道了緊急情況下要怎麼處置。\n我原本以為這就是全部症狀了，不過事情沒有這麼簡單，就這樣拖著偶爾發作胃痛的身體繼續生活。雖然我嘗試改掉吃麥當勞的習慣當正餐，多吃超商的沙拉，然而嘴饞的我總是禁不住誘惑。\n2025年4月，看似胃食道逆流的症狀慢慢消失了，可是後來，肩膀重重的感覺越來越明顯，睡覺常常會不自覺地把手舉起來以求好過一點，並不時的往後仰脖。\n有時候走路還會一陣踉蹌，感覺膝蓋突然沒力。\n臉部左側會偶爾麻麻的，手指也是。\n直到2025年4月某一天我下班回家的時候，感覺到心跳很快，明明是躺著，看著智慧手錶測量的心跳一路飆到115。然後，反胃的情況又出現了，一種恐怖的情緒急遽上升\u0026hellip;有種我快死掉的感覺，快去掛急診啊！\n經過一陣子安撫後才睡著。隔天趕緊去看了心臟科，抽血檢查確認心臟沒有問題，確認不是心肌梗塞或者主動脈剝離後，才轉到神經科。神經科認為我是自律神經失調，還有點恐慌症。大概是上課的時候太常爆氣了所致。\n此外，懷疑頸椎有問題，陸續安排了X光、骨質密度檢查、神經傳導檢查、核磁共振檢查，才得知肩頸出現退化現象，竟然還有骨質疏鬆問題，骨質密度負1.2。\n醫生研判還沒有必要動手術，所以先給藥物治療，至少吃半年。每天吃快要十顆藥。醫生開的藥物中有一顆是養骨質用的，這顆自費的真的是有夠貴。\n並搭配復健改善肩頸問題，就是給它定期電一下，以及物理治療。然後每天進行簡單的肌肉訓練。\n我覺得值得欣慰的是，去找復健診所的時候，與以前高中常常聊Android刷機的朋友重逢。這算是一個小確幸。\n定期服用醫生給的藥的情況下，胸悶肩痛胃痛大致消失了。醫生居然還直接開PPI的胃藥來壓症狀，後來覺得會形成依賴所以改成效果比較輕微的胃藥。Sulpiride真的是大補丸，可以治療胃痛，還有消除焦慮，幫助入睡的功效。就算吃了腦袋會空空又怎樣，比Sertraline舒服多了。\n講到這裡，感覺我突然老了40歲的樣子，確實在復健診所好像我才是最年輕的一個。我父母一個有糖尿病，一個有帕金森氏症，都覺得疑惑，我這個漢草怎麼這麼虛。\n頸椎的問題，恐怕還是滑手機和坐在電腦前面太久的習慣所導致。因為頸椎病變，導致了全身各處跟著出問題。所以源頭的部分要從這裡解決。沒有被醫生慫恿買骨折才會戴的護頸，而是靠改善姿勢。並把電腦墊高。\n現在我還在一邊工作一邊接受治療中，嘗試培養好的生活習慣，不知道要何時才會「康復」。我也只能等了。\n8月，發生嚴重嘔吐，去照人生第一次胃鏡，被又粗又硬的大黑水管弄得半死不活後才發現胃潰瘍。\n可能是太晚睡，加上某次參加KaLuG技術論壇的時候，一天連嗑2杯黑咖啡。又吃了二個月的消脹氣胃藥和PPI，壓制了胃食道逆流。\n10月，我察覺到自己在浪費人生，幾個月內積極的完成之前拖延的事情，卻又放不下愛做的事情，種種心理矛盾不可解決，爆發空巢症候群，看到鐵軌想跳下去、總想著窗外的大樓高度。主動到身心科求診，得到You-Jet (Sertraline)與B群。順便安排一次久違的了的學校心理諮商，防止我衝動自殺。\n心理諮商我認為還是有點收穫的，至少復盤了當下無力感的來源，以及堅定了對未來做出改變的構想，奈何療程太短不能說太多。在下學期到來之前我就先用AI墊著吧。\n中間也受到一些貴人幫助，他們分享自身的服藥經驗交流，讓我很感謝地知道我不是一個人。\nSertraline吃少了沒感覺，吃多了生無可戀。那種壓抑情緒的效果太可怕。唯一有效果的地方是這個藥也抑制了我妥瑞症的部分，例如穢語症與強迫思想！抽離了一部份情緒，呃，不只對惡劣的情緒慢半拍，對高興的情緒也是慢半拍。\n題外話，在吃了Sertraline的情況下玩Galgame會有一種說不出的奇妙感覺，試想你玩《千戀萬花》叢雨線，想哭卻哭不出來的麻木感\u0026hellip;\n後來建議換成了能夠讓人比較積極的Brintellix。\n綜合下來，以上這幾個月爆發的症狀，最嚴重的時候我一天要吃17顆藥！還得想辦法錯開，避免噁心副作用。\n11月，感覺好點了，骨質密度檢查顯示有進步一點點，暫時停神經科的藥，終於不用再繳一大筆自費藥了。剩下身心科。\n12月，三叉神經痛，幹。喔，原來只是牙齦發炎。痛了一整個禮拜。然後又被學生疑似傳染流感，咳個半死，被迫放無薪假。\n還是那句話，Was mich nicht umbringt, macht mich stärker.\n","date":"2025年12月20日","externalUrl":null,"permalink":"/posts/2025122001/","section":"Personals","summary":"We read the world wrong and say that it deceives us.\n去年的變化　去年煙花特別多（劉德華 - 去年的煙花特別多，影射1997年香港主權移交）\n除了一般感冒外，今年的藥吃的特別多。\n妥瑞症、胃食道逆流、胃潰瘍、自律神經失調、頸椎退化治療、心理諮商。\n有時候會覺得，我可以預見到以後臨死前親友說的話了：「乖，Ivon，你就安心的去吧，不用再吃這麼多藥折磨了，以後再也不痛了」\n就像五月天乾杯的MV那樣\n等等我還沒掛掉呀！2023年好不容易確診了的武漢肺炎都沒弄死我，怎能這樣就投降！我更擔憂的是，我可能會孤獨死。\n從能夠深切影響到身體的症狀出現已經過了一年了，我在斷斷續續的治療。直到今年才正式知道一切的病因，可能出自脖子因素。\n我覺得過去幾年的憂鬱症症狀，一部分來自外部因素；一部分是來自身體症狀，但當時並沒有察覺。\n2023年下半年開始，就隱約感覺到胸悶問題。可能是習慣性晚睡的緣故，有時候我會混到凌晨兩三點，隔天靠強效咖啡撐下去。\n2024年6月，左肩位置開始疼痛，常感到胸悶，並且頻繁胃食道逆流發作，看了醫生後也只是吃一些胃藥，並學會控制飲食，還有在身邊常備胃藥（張國周 \u0026 Wakamoto）這樣我至少不用被想吐的感覺所折磨，知道了緊急情況下要怎麼處置。\n我原本以為這就是全部症狀了，不過事情沒有這麼簡單，就這樣拖著偶爾發作胃痛的身體繼續生活。雖然我嘗試改掉吃麥當勞的習慣當正餐，多吃超商的沙拉，然而嘴饞的我總是禁不住誘惑。\n","title":"今年的藥吃的特別多","type":"personal"},{"content":"Magisk是一種systemless的Android Root方案，原作者是topjohnwu，於2016年推出。 它取代了以往SuperSU修改Android /system來塞入su的Root方式，這樣做可以確保不損壞系統檔案完整性，使得手機在Root之後仍有接收OTA更新的能力。 Magisk透過修改Android手機固有的boot.img，在Android系統正式開機前，修改Linux核心的ramdisk，注入自己的初始化程式magiskinit，並掛載一個虛擬檔案系統，將su掛載進去。\nMagisk提供一套模組系統，讓開發者可以systemless的修改系統檔案，達到想要的自定義效果。\nMagisk還提供Zygisk服務，給注入Zygote修改APP行為的APP提供界面，讓LSPosed模組能夠順利地在新版本Android運作。\nMagisk內建BusyBox工具箱，方便你修改系統檔案。\n雖然每支Android手機解鎖Bootloader流程不同，不過根據Ivon的經驗，安裝Magisk的流程是大同小異的。\n測試裝置：Google Pixel 6a。系統版本Android 16。Magisk版本v30.6\nMagisk、Kitsune Magisk、Magisk Alpha差異 # Magisk最初作為一個全新Root方案，本身是有隱藏Root偵測的能力的。可是在Magisk原作者topjohnwu去Google上班之後，為了避免窩裡反，移除了隱藏Root偵測的Magisk Hide功能，因此Magisk本體非常容易被反Root程式偵測到。\nMagisk現在仍一直有在更新，但幾乎沒有加入任何隱藏Root的機制。變成要靠開源社群各顯神通，因此有了許多分支版。\nKitsune Magisk是其中一個比較受歡迎的分支版本，它將移除的Magisk Hide功能加了回來，並新增了一些反Root偵測的措施，讓使用者不用裝一堆模組去隱藏Root。不過因為更新進度較慢，與原版Magisk會有一些相容性問題。目前，Kitsune Magisk已經停止維護。 Magisk Alpha是另外一個專為隱藏Root設計的分支版本，不公開原始碼，會收集使用者資料。 如果你不在意隱藏Root，那就用原版Magisk。這也就是本文Ivon所使用的版本。\n1. Magisk系統需求 # 你的裝置必須支援解鎖Bootloader才能刷Magisk。\n通常為了安全，解鎖Bootloader後手機會自動清除一次手機資料。\n每個手機廠牌解鎖Bootloader的方式不一樣，有的甚至根本不給你解！請自行參閱官方網站資料。\n以Google Pixel為例，解鎖Bootloader的方法都寫在官網了，就是到開發人員選項 → 勾選允許OEM解鎖，然後手機重啟到Fastboot模式，在電腦用ADB工具輸入fastboot flashing unlock即可解鎖。\n2. Magisk通用安裝流程 # Magisk是自由軟體，原始碼位於Github。\n一般來說，Magisk安裝步驟為： 解鎖手機Bootloader → 刷入Magisk\n上一節我們已經介紹了解鎖Bootloader的方式。接下來要刷入Magisk，我們要讓它修改系統一開始開機的時後會初始化的檔案，也就是boot分區。\n刷Magisk的方式有很多種，有的會使用TWRP這類第三方Recovery刷入，它可以操作手機上的各個分區，包含boot分區。\n也有的是手動修補boot.img。考慮到並不是所有機型都支援第三方Recovery，Ivon偏好用手動修補boot.img的方式來安裝Magisk。大部分的Android手機應該都能用這種方式刷Magisk。\n如何取得boot.img呢？Pixel手機的boot.img可以從原廠映像檔解出。較新的裝置可能要使用init_boot.img。\n將boot.img傳送到手機。\n到Github Releases，下載Magisk Manager\n開啟Magisk Manager，已安裝應該會顯示「無」 點安裝，選取boot.img，開始修補 將修補後的boot.img檔案傳送到電腦\n安裝ADB工具，重新開機進入Fastboot\nadb reboot bootloader 刷入boot.img fastboot flash boot boot.img 重開機 fastboot reboot 重開機後，Magisk Manager應會顯示「已安裝」。 3. 管理Magisk的Root權限 # Magisk開機後會自動啟用Root權限。\n不過有APP需要使用Root的時候，Magisk就會跳出授權視窗，需要使用者授權一次後才可以使用。在那之後，APP就會自動使用Root權限執行，不用再次確認。 Magisk安裝模組是透過.zip方式刷入，然後重開機套用。如果裝到了不相容的模組可能會卡開機，這個時候，請將手機重開機進入fastboot，然後刷入原廠的boot.img映像檔解決。 4. 隱藏Root \u0026amp; 通過Play Integrity # 參見隱藏Root + 通過Play Integrity\n參考資料 # Magisk Documentation ","date":"2025年12月19日","externalUrl":null,"permalink":"/posts/magisk-android-root/","section":"所有文章","summary":"Magisk是一種systemless的Android Root方案，原作者是topjohnwu，於2016年推出。 它取代了以往SuperSU修改Android /system來塞入su的Root方式，這樣做可以確保不損壞系統檔案完整性，使得手機在Root之後仍有接收OTA更新的能力。 Magisk透過修改Android手機固有的boot.img，在Android系統正式開機前，修改Linux核心的ramdisk，注入自己的初始化程式magiskinit，並掛載一個虛擬檔案系統，將su掛載進去。\nMagisk提供一套模組系統，讓開發者可以systemless的修改系統檔案，達到想要的自定義效果。\nMagisk還提供Zygisk服務，給注入Zygote修改APP行為的APP提供界面，讓LSPosed模組能夠順利地在新版本Android運作。\nMagisk內建BusyBox工具箱，方便你修改系統檔案。\n雖然每支Android手機解鎖Bootloader流程不同，不過根據Ivon的經驗，安裝Magisk的流程是大同小異的。\n測試裝置：Google Pixel 6a。系統版本Android 16。Magisk版本v30.6\nMagisk、Kitsune Magisk、Magisk Alpha差異 # Magisk最初作為一個全新Root方案，本身是有隱藏Root偵測的能力的。可是在Magisk原作者topjohnwu去Google上班之後，為了避免窩裡反，移除了隱藏Root偵測的Magisk Hide功能，因此Magisk本體非常容易被反Root程式偵測到。\n","title":"Magisk通用安裝教學，systemless的Android手機Root方案","type":"posts"},{"content":"一直很想買個智慧手錶來玩玩，給自己找了個藉口買下手。現在來談談這個遲來的開箱與評價。\n至於深層的理由是什麼，後面公佈。\n時間要回到今年4月。\n原本是看小米手環，但那片螢幕太小，所以買手錶。 桌布作者：杏仁無双\n身為開源愛好者，我想過買Pine64推出的PineTime，搭載開源韌體InfiniTime。可是考慮到APP生態系的相容性問題，加上許多功能要自己寫程式實現，想想還是算了。\n幾經比較後選擇價格與功能兼具的Redmi Watch 5 Lite。聽說它電池很大。\n小米之家店員可能看我一副死宅樣，應該對3C駕輕就熟，結帳完就讓我滾了，也不教我一下怎麼用，哼！果然我上次不該在同一家店問Redmi Pad SE弄Root會不會破保的麼。\nRedmi Watch 5 Lite是台灣小米於2024年推出的智慧手錶，高階款是Redmi Watch 5，低階款是Redmi Watch 5 Active，Lite版位於中間，我買的時候定價1,295元。\n紅米系列主打超值。不同等級的產品，為反應價格，中間都會有一兩個功能被砍掉。請詳閱官網規格表，按照自身需求選擇。\n外觀是塑膠製的仿金屬材質，面板使用AMOLED，錶帶TPU做的，有ATM5防水等級，充電線要用專用的接頭。 一千元的手錶就別肖想像Pixel Watch那樣安裝Android APP了。它執行的是HyperOS，拿FreeRTOS改的，而非Wear OS。系統只有留一小塊自訂桌布的儲存空間。\nRedmi Watch 5 Lite的功能主要為運動以及定位相關，可以偵測運動模式、不依賴手機獨立繪製GPS路徑圖、轉接手機的電話、雙麥克風降噪、當作藍牙拍照遙控器、控制手機播放的音樂。\n因為這是Lite版本，只有測心跳功能，不能繪製完整心電圖。\n初始化得配合小米健康APP，登入小米帳號初始化，非小米手機也可以用。然後手錶的資料會同步到手機APP顯示。啊啊，資料又要被科技公司收走了，小米會不會監控我什麼時候拷秋勤啊（想想《下流梗不存在的灰暗世界》裡面的賽博龐克世界）\n幸好我有找到Gadgetbridge這款開源替代品，即可擺脫小米健康APP監控。這款手錶除了藍牙之外應該沒有其他傳輸資料的途徑吧，這樣能確保隱私權。 Redmi手錶上的APP，能不能進一步自訂呢？支援撰寫快應用的AstroBox看來是一個值得研究的項目。\n關於購買的深層原因麼\u0026hellip;4月，有感於自己隨時會翹掉，用這個當藉口買了第一支智慧手錶，看能不能有一個隨身裝置能緊急聯絡，要是我連拿手機的力氣都沒有的話，還能緊急撥號叫救護車。\n後來確定是工作造成的恐慌症+自律神經失調。手錶有一天睡前測到的心跳還高達140，當時我都想去掛急診了，最終是去看神經科服藥控制。\n不過手錶買都買了，我也就用到現在。過去長期沒有戴錶的習慣，戴了手錶有種成熟的感覺。 實際使用了8個月，沒遇到什麼太大的問題。\nTPU做的錶帶有時候會因為天氣太熱導致皮膚紅腫，把錶帶調寬鬆一點就好，但這樣的話又會導致測量心率不準。此外，在暗室的時候，手錶底部的光學辨識很刺眼。\n我比較不會用手錶來看手機訊息，因此也不用一直連著藍牙，久久同步一次資料就可以了。\n讓我滿意的是續航力部份，假若不同步手機訊息、不監測運動、設定要按一下才點亮螢幕的話，Redmi Watch 5 Lite續航力可以持續14天以上才要充一次電，且1小時內就能充飽。\n現在我大部分是Redmi Watch 5 Lite搭配Sony Xperia 10 V配對使用。兩者都是長續航的好手。\n","date":"2025年12月19日","externalUrl":null,"permalink":"/posts/xiaomi-redmi-watch-5-lite-review/","section":"Unboxings","summary":"一直很想買個智慧手錶來玩玩，給自己找了個藉口買下手。現在來談談這個遲來的開箱與評價。\n至於深層的理由是什麼，後面公佈。\n時間要回到今年4月。\n原本是看小米手環，但那片螢幕太小，所以買手錶。 桌布作者：杏仁無双\n身為開源愛好者，我想過買Pine64推出的PineTime，搭載開源韌體InfiniTime。可是考慮到APP生態系的相容性問題，加上許多功能要自己寫程式實現，想想還是算了。\n幾經比較後選擇價格與功能兼具的Redmi Watch 5 Lite。聽說它電池很大。\n小米之家店員可能看我一副死宅樣，應該對3C駕輕就熟，結帳完就讓我滾了，也不教我一下怎麼用，哼！果然我上次不該在同一家店問Redmi Pad SE弄Root會不會破保的麼。\nRedmi Watch 5 Lite是台灣小米於2024年推出的智慧手錶，高階款是Redmi Watch 5，低階款是Redmi Watch 5 Active，Lite版位於中間，我買的時候定價1,295元。\n紅米系列主打超值。不同等級的產品，為反應價格，中間都會有一兩個功能被砍掉。請詳閱官網規格表，按照自身需求選擇。\n外觀是塑膠製的仿金屬材質，面板使用AMOLED，錶帶TPU做的，有ATM5防水等級，充電線要用專用的接頭。 一千元的手錶就別肖想像Pixel Watch那樣安裝Android APP了。它執行的是HyperOS，拿FreeRTOS改的，而非Wear OS。系統只有留一小塊自訂桌布的儲存空間。\nRedmi Watch 5 Lite的功能主要為運動以及定位相關，可以偵測運動模式、不依賴手機獨立繪製GPS路徑圖、轉接手機的電話、雙麥克風降噪、當作藍牙拍照遙控器、控制手機播放的音樂。\n","title":"Redmi Watch 5 Lite半年使用心得，不要小米監控我","type":"unboxing"},{"content":"KernelSU是一種基於Linux核心的Android Root方案，最初由weishu主導開發，於2022年推出。 它讓擁有Root權限的su執行於kernel space，使得Root權限更難被偵測到。並且允許只有特定的APP才可以使用Root權限。 KernelSU有自己的一套模組系統，跟Magisk一樣都是systemless執行的，不改系統分區檔案，確保Root後還是可以OTA更新。KernelSU還提供一套WebUI機制，讓安裝的模組可以用網頁技術做一個GUI出來。\nKernelSU內建Busybox工具，不需要額外安裝Magisk模組。\nKernelSU官方文件針對安裝說明已經寫得很清楚了，本文是Ivon實際操作後的一些補充。\n測試裝置：Google Pixel 6a。系統版本Android 16。KernelSU版本32179\nKernelSU、KernelSU-Next、SukiSU Ultra的差異 # KernelSU推出之後，便有開發者推出了自己的fork版本。\nKernelSU-Next是包含更多隱藏Root手段（例如SuSFS、Magic Mount），更新比較頻繁的分支。 SukiSU Ultra則是在SuSFS與Magic Mount之外，還在Root管理器界面加入了自訂主題功能。SukiSu Ultra依然保持對非GKI裝置的支援，但是要自行編譯核心。 因為他們都是基於KernelSU開發，安裝過程雷同。\n暫沒有追求那些花俏功能的必要。本文Ivon的示範以原版KernelSU為例。\n1. KernelSU系統需求 # 第一，你的裝置必須支援解鎖Bootloader才能Root。通常為了安全，解鎖Bootloader後手機會自動清除一次手機資料。\n以Google Pixel為例，解鎖Bootloader的方法，就是到開發人員選項 → 勾選允許OEM解鎖，然後手機重啟到Fastboot模式，在電腦用ADB工具輸入fastboot flashing unlock即可解鎖。\n第二，KernelSU跟Magisk不同，需要裝置支援GKI 2.0以的核心才可以使用KernelSU。\nGKI核心是Google在2021年所提出，減少Android手機Linux核心碎片化的努力嘗試。採用GKI的手機對刷機用戶有利，人們可以編譯適用所有裝置的Linux核心，加入任意修改到boot.img，不用針對每支機型逐一編譯boot.img。KernelSU正是利用這個機制，提供統一的boot.img給大家刷。\n通常2023年以後推出的Android手機，Android 12以上版本，Linux核心5.10以上，理應都有支援GKI 2.0核心才對。\n如何確認你的裝置是否使用GSI核心？安裝KernelSU Manager，開啟後，如果顯示「未安裝」，就是支援GKI。否則，如果顯示「不支援」，就是沒有。 Google Pixel系列對GKI的支援度很好，因此不用擔心這個問題。即使是舊機，也可以使用GKI核心。\n至於非GKI核心的裝置 (non-GKI devices) ，KernelSU官方不提供支援，早期需要使用者手動整合KernelSU程式碼到Linux核心原始碼，然後重新編譯打包為boot.img。例如手機有LineageOS支援的話，你就可以手動修改Linux核心的原始碼並整合KernelSU。但是，非GKI核心的裝置就超過KernelSU官方支援的範疇了，因為Android機型太多，不可能全部都編譯一輪。現在，最新版KernelSU已經不支援非GKI裝置了，若強行移植，KernelSU APP可能會跳出錯誤。\n2. 安裝KernelSU # KernelSU是自由軟體，原始碼位於Github\n主要有兩種安裝方法，GKI (Generic Kernel Image) 模式是用KernelSU的通用核心映像檔替換掉原廠Linux核心。LKM (Loadable Kernel Module) 則是透過可載入核心模組，將KernelSU嵌入到原廠Linux核心執行。\n根據KernelSU官方文件，GKI適合模擬器，LKM適合實機使用。\nLKM模式安裝 # 我們需要修改的檔案為boot.img。較新的裝置則是init_boot.img。\nPixel手機的boot.img可以從原廠映像檔解出，將boot.img傳送到手機。\n到Github Releases，下載KernelSU Manager的APK\n選取boot.img，開始修補 將修補過後的kernelsu_patched_*.img傳送到電腦\n安裝ADB工具，重新開機進入Fastboot\nadb reboot bootloader 刷入 fastboot flash boot kernelsu_patched_*.img 重開機 fastboot reboot 重開機後，KernelSU Manager應會顯示執行中。 GKI模式安裝 # 照理來說，應該可以直接刷入KernelSU官方提供的boo.img才對。但因為Pixel手機的boot.img非標準壓縮格式，因此需要手動修補。\n用KernelSU APP觀察KMI版本，到Github Releases下載對應版本的AnyKernel的boot.img，Security Patch選最新版本。\n解壓縮取得Image檔案\n下載magiskboot程式\n將boot.img解開\n./magiskboot unpack boot.img 將核心替換為AnyKernel的檔案 mv -f Image kernel 重新打包，得到new-boot.img ./magiskboot repack boot.img 安裝ADB工具，重新開機進入Fastboot adb reboot bootloader 刷入new-boot.img fastboot flash boot boot.img 重開機 fastboot reboot 重開機後，KernelSU Manager應會顯示執行中。 3. 管理KernelSU的Root權限 # KernelSU預設不會給所有APP開放Root權限，需要手動在KernelSU Managet界面授予。 安裝模組是透過.zip方式刷入，然後重開機套用。需要注意的是，KernelSU雖然與Magisk模組格式類似，但仍需要注意該模組是否真的支援KernelSU，不然可能會卡開機。 4. 隱藏Root \u0026amp; 通過Play Integrity # 雖然KernelSU本身就有不錯的隱藏Root效果，不過還是需要裝一些模組補強。\n參見隱藏Root + 通過Play Integrity\n參考資料 # KernelSU - Android 上的内核级的 root 方案 Generic Kernel Image (GKI) project - Android Open Source Project ","date":"2025年12月19日","externalUrl":null,"permalink":"/posts/kernelsu-android-root/","section":"所有文章","summary":"KernelSU是一種基於Linux核心的Android Root方案，最初由weishu主導開發，於2022年推出。 它讓擁有Root權限的su執行於kernel space，使得Root權限更難被偵測到。並且允許只有特定的APP才可以使用Root權限。 KernelSU有自己的一套模組系統，跟Magisk一樣都是systemless執行的，不改系統分區檔案，確保Root後還是可以OTA更新。KernelSU還提供一套WebUI機制，讓安裝的模組可以用網頁技術做一個GUI出來。\nKernelSU內建Busybox工具，不需要額外安裝Magisk模組。\nKernelSU官方文件針對安裝說明已經寫得很清楚了，本文是Ivon實際操作後的一些補充。\n測試裝置：Google Pixel 6a。系統版本Android 16。KernelSU版本32179\nKernelSU、KernelSU-Next、SukiSU Ultra的差異 # KernelSU推出之後，便有開發者推出了自己的fork版本。\nKernelSU-Next是包含更多隱藏Root手段（例如SuSFS、Magic Mount），更新比較頻繁的分支。 SukiSU Ultra則是在SuSFS與Magic Mount之外，還在Root管理器界面加入了自訂主題功能。SukiSu Ultra依然保持對非GKI裝置的支援，但是要自行編譯核心。 ","title":"KernelSU安裝教學 ～ 基於Linux核心的Android Root方案，隱藏Root能力強","type":"posts"},{"content":"第三方Android ROM的輝煌時代大約是Android 7以前，到了今天Android 16，許多第三方ROM專案的開發者都停更了，因此這裡只列出還在更新的。至少得追上Google官方的Android 16。\n這裡列出的是基於AOSP專案開發的系統。至於本體是Linux或其他系統，再透過軟體相容層跑Android APP的不在此列。\nROM的刷入方法大同小異，多半是先在Fastboot刷入boot.img，再於Recovery界面刷入剩下的檔案就可以了。如果要用Magisk、KernelSU、APatch獲取Root權限，只要修補boot.img就好。\n測試裝置: Google Pixel 6a。因爲Google還有維護這部裝置，上游原始碼有定期釋出，因此第三方ROM要開發比較容易。\nLineageOS # 支援廠牌：可以說是市面上支援機型最多的ROM，幾乎所有手機廠牌都能刷。官方Wiki擁有豐富的移植教學指示。\n前身為Cyanogenmod。在AOSP的基礎上開發，提供一個基本可用的乾淨系統。沒什麼特殊功能。\n如果裝置支援狀態是Official的話，幾乎每幾個禮拜都會收到更新，也能更快升級到新版本Android。\n沒有內建GApps，需要手動刷MindTheGapps。\n功能：自訂狀態欄圖示，隱藏導航列，點兩下狀態欄休眠，AudioFX等化器，用SeedVault完整備份系統，ADB Root權限\n官網\nLineageOS通用刷機流程\nGrapheneOS # 支援廠牌：因為開發團隊對安全性更新的要求，目前只支援Google Pixel系列。未來可能會推出自家手機。\n在Pixel的基礎上開發，上游不依賴Google服務的功能它都有。\n緊跟Google上游最新版軟體，每月提供安全性修補更新，更新頻繁。\n沒有內建GApps。透過獨家沙盒技術隔離GApps，可以隨時解除安裝GApps，不需要重置系統。\n功能：可禁止APP內的WebView啟用JIT，禁止APP上網，禁止APP存取感測器，啟用Hardened malloc保護記憶體，用Storage Scope限制APP能夠讀取哪些檔案，截圖之後自動清除EXIF，內建自家開發的Vanadium瀏覽器與WebView，去除Android系統所有依賴Google伺服器的服務，使用標準的Android硬體加密技術，利用AVB custom key讓Bootloader可以在刷機後重新上鎖，使用Verified Boot在開機時驗證系統完整性，連上Wifi的時候使用隨機MAC位址，預設停用掃描附近Wifi裝置（改善定位精確度）的功能，超過18小時不解鎖的話就自動重開機，定時自動關閉Wifi與藍牙，限制USB連接埠的存取權限，自爆按鈕(Duress PIN)輸入特定密碼後自動清除手機資料，用SeedVault完整備份系統\n官網\nEvolution X # 支援廠牌：Google Pixel、Lenovo、Motorola、Nokia、Nothing、一加、真我、Samsung、小米\n內建GApps，界面模仿Pixel。\n保存了許多古老第三方ROM的主題，例如Resurrection Remix、AICP、AOKP等等。\n功能：Monet自定義引擎，自訂狀態欄圖示，狀態列顯示音樂播放進度條，修改字體，鎖定顯示專輯音樂波形圖，自訂狀態欄背景圖片，自訂導航列圖示，自訂AOD背景圖片，自訂通知樣式，閃光快顯，即時監控網路流量，自訂開機動畫，三指滑動手勢，敲兩下機背的手勢，偽裝Pixel機型，無限Google相簿，解除遊戲幀率限制，隱藏APP不被偵測到，隱藏開發人員選項狀態，Play Integrity Fix，通話錄音BCR APP，自動清理剪貼簿，自動關閉藍牙，APP鎖，APP雙開，遊戲模式，在螢幕上顯示CPU頻率，側面感應，APP個別調整音量，自訂HDR強度，使用Sony的Trimiliuos Display調整螢幕顏色，鎖定後停止背景程式省電，隱藏GPS虛擬定位，自訂震動強度\n官網\ncrDroid # 支援廠牌：Google Pixel、Lenovo、Motorola、Nintendto Switch、Nokia、Nothing、一加、真我、Samsung、小米\n界面接近AOSP而非模仿Pixel。移植自Pixel的功能較少。\n沒有內建GApps，需要另外刷NikGapps。\n功能：Monet自定義引擎，自訂狀態欄圖示，修改字體，鎖定顯示專輯音樂波形圖，自訂狀態欄背景圖片，自訂導航列圖示，自訂AOD背景圖片，自訂通知樣式，閃光快顯，即時監控網路流量，敲兩下機背的手勢，無限Google相簿，解除遊戲幀率限制，隱藏開發人員選項狀態，Play Integrity Fix，APP鎖，APP雙開，遊戲模式，在螢幕上顯示CPU頻率，顯示個別APP耗費的mAh電量，側面感應，APP個別調整音量，從多工界面存取APP列表，智慧移動螢幕像素防止烙印，檢視系統Log\n官網\nDerpFest # 支援廠牌：Asus、Google Pixel、Lenovo、Motorola、Nothing、一加、真我、Samsung、小米\n使用Pixel桌面，內建GApps。\n功能：Monet自定義引擎，自訂狀態欄圖示，漸層狀態欄顏色，狀態列顯示音樂播放進度條，顯示農曆，鎖定顯示專輯音樂波形圖，自訂AOD背景圖片，自訂通知樣式，動態島通知，閃光快顯，即時監控網路流量，自訂手勢，敲兩下機背的手勢，三指手勢，自訂HDR強度，通話錄音BCR APP\n官網\nrisingOS # 支援廠牌：Google Pixel、Motorola、Nothing、一加、真我、Samsung、小米\n使用Pixel桌面，內建GApps。\n功能：Monet自定義引擎，自訂狀態欄圖示，狀態列顯示音樂播放進度條，修改字體，鎖定顯示專輯音樂波形圖，自訂狀態欄背景圖片，自訂鎖定螢幕小工具，自訂導航列圖示，自訂AOD背景圖片，自訂通知樣式，動態島通知，閃光快顯，即時監控網路流量，自訂開機動畫，三指滑動手勢，敲兩下機背的手勢，自訂手勢，偽裝Pixel機型，無限Google相簿，解除遊戲幀率限制，隱藏APP不被偵測到，隱藏開發人員選項狀態，Play Integrity Fix，通話錄音BCR APP，自動清理剪貼簿，自動關閉藍牙，APP鎖，APP雙開，遊戲模式，在螢幕上顯示CPU頻率，鎖定後停止背景程式省電，智慧移動螢幕像素防止烙印，Pixel torch自訂手電筒\n官網\niodéOS # 支援廠牌：Braxtech、Fairphone、Google Pixel、Motorola、一加、Shift、Saumsung、Sony、Teracube、小米\n來自法國的ROM。\n在LineageOS的基礎上新增了一些隱私保護功能，不強調自定義。\n使用LineageOS桌面。\n使用microG取代正規GApps。\n功能：允許解除安裝預裝APP，內建F-Droid，內建Aurora Store，Breezy Weather，基於Firefox的iodé Browser，基於OpenStreeMap的CoMaps，支援Nextcloud的Carnet筆記、BreezyWeather，使用OpenEUICC管理eSIM，家長控制，監控APP連上哪個國家的網域，禁止APP上網，自動關閉藍牙\n官網\n/e/ OS # 支援廠牌：Asus、BQ、Essential、Fairphone、F(x)tec、Gigaset、Google Pixel、HTC、華為、LeEco、Lenovo、LG、Motorola、Murena、Nextbit、Nothing、Nubia、Nothing、一加、Oppo、Razer、真我、Samsung、Shift、Salana、Sony、Teracube、Wileyfox、Wingtech、小米、YU、ZUK、中興\n來自法國的ROM。\n在LineageOS的基礎上新增了一些隱私保護功能，不強調自定義。\n使用microG取代正規GApps。\n使用自家開發的/e/ OS桌面。\n功能：Murena App Lounge，Magic Earth地圖，Murena雲端相簿，Murena筆記，家長控制，禁止APP上網，阻擋APP內的追蹤器，隨機GPS位置，用Murean VPN隱藏IP位址\n官網\n參考資料 # Uotan Wiki · 刷机百科 musabcel/android_rom_list ","date":"2025年12月17日","externalUrl":null,"permalink":"/posts/custom-android-rom-list/","section":"所有文章","summary":"第三方Android ROM的輝煌時代大約是Android 7以前，到了今天Android 16，許多第三方ROM專案的開發者都停更了，因此這裡只列出還在更新的。至少得追上Google官方的Android 16。\n這裡列出的是基於AOSP專案開發的系統。至於本體是Linux或其他系統，再透過軟體相容層跑Android APP的不在此列。\nROM的刷入方法大同小異，多半是先在Fastboot刷入boot.img，再於Recovery界面刷入剩下的檔案就可以了。如果要用Magisk、KernelSU、APatch獲取Root權限，只要修補boot.img就好。\n測試裝置: Google Pixel 6a。因爲Google還有維護這部裝置，上游原始碼有定期釋出，因此第三方ROM要開發比較容易。\nLineageOS # 支援廠牌：可以說是市面上支援機型最多的ROM，幾乎所有手機廠牌都能刷。官方Wiki擁有豐富的移植教學指示。\n前身為Cyanogenmod。在AOSP的基礎上開發，提供一個基本可用的乾淨系統。沒什麼特殊功能。\n如果裝置支援狀態是Official的話，幾乎每幾個禮拜都會收到更新，也能更快升級到新版本Android。\n沒有內建GApps，需要手動刷MindTheGapps。\n功能：自訂狀態欄圖示，隱藏導航列，點兩下狀態欄休眠，AudioFX等化器，用SeedVault完整備份系統，ADB Root權限\n","title":"刷機未死：還活着的Android第三方ROM推薦","type":"posts"},{"content":"","date":"2025年12月16日","externalUrl":null,"permalink":"/tags/openstreetmap/","section":"標籤","summary":"","title":"OpenStreetMap","type":"tags"},{"content":"透過沒有追蹤器的第三方手錶APP，擺脫對手錶原廠APP的依賴！ 購買智慧手錶或者智慧手環的時候，有無考慮過隱私問題呢？是否APP要求登入帳號才能夠使用手錶？小米就是一例，限定用自家的APP才可以使用，不能給第三方分享資料。\n如果想要對穿戴式裝置獲得更多控制權該怎麼辦呢？有一群開發者製作了開源的「Gadgetbridge」APP，能夠繞過許多智慧手錶APP連線，並逆向實現了原本手錶的大部分功能。使用者能夠改用這個APP接收手錶的資料，資料不會傳給第三方，可以自由匯出，同時捍衛隱私權。 比較：小米運動健康APP與Gadgetbridge APP的界面。雖然後者有點醜醜的，但是該有的功能都有，甚至有些資料的統計圖表更為詳細。 Gadgetbridge讓資料完全掌握在你手上，能夠任意匯出，比如紀錄運動軌跡的.gpx檔案，自由用其他軟體讀取運動路徑。 影片示例 （桌布作者：杏仁無双）\n這篇文章Ivon將介紹Gadgetbridge的功能，以及分享如何與智慧手錶配對，以小米手錶為例。\n1. Gadgetbridge特色功能 # 擺脫智慧手錶官方APP的束縛。Gadgetbridge能夠解放你的手錶，讓收集到的資料自由的轉移。Gadgetbridge支援大部分手錶資料，譬如步數、心率、血氧濃度、卡路里、GPS運動軌跡、睡眠時間、打電話、接收通知等等。依照品牌不同，實現的功能也不同，需要看官方文件支援度。\nGadgetbridge支援許多品牌的智慧手錶，例如小米HyperOS、Amazfit、Nothing、華為、Sony、Pine64 Infinite Time、Fossil、Pebble、Garmin、Da Fit等等。可惜的是尚不支援WearOS，因此Pixel Watch和Samsung Watch的就不能用了。Apple Watch當然不支援。\n除了手錶之外，Gadgetbridge尚支援許多穿戴式裝置，例如藍牙耳機、藍牙喇叭、智慧追蹤器等等。\nGadgetbridge收集的資料全部都離線儲存在本機，不會上傳到第三方伺服器（假設手錶沒有獨立上網功能的話啦）。但這也意味著你得自行備份資料，沒有帳號能夠雲端同步。\nGadgetbridge與其他開源的APP協作，打造開源又尊重隱私的生態系，包括用OsmAnd~導航和紀錄運動軌跡，透過Catima同步載具條碼，Breezy Weather同步天氣等等。\nGadgetbridge適合追求隱私的人使用，所以勢必得犧牲跨裝置同步的便利性。如果你是米家生態系的忠實用戶，那就不要用這個APP自作虐。\n2. 安裝Gadgetbridge APP # Gadgetbridge僅支援Android系統。Gadgetbridge原始碼託管在Codeberg，覺得界面中文翻譯怪怪的可以到這裡貢獻。\n建議下載F-Droid的版本，不要用Play商店版的Bangle.js Gadgetbridge，權限會受限。\n開啟後，Gadgetbridge會申請一大堆權限，這是正常的。 Android 12以上版本可能有些權限無法申請，需要進入Android多工畫面，點選Gadgetbridge APP圖示，按右上角「解除受限制的設定」才能繼續。\nGadgetbridge有時候會被系統殺掉背景程式，導致與手錶斷線，建議開啟電源無限制模式。\n然後就能開始配對了。 3. Gadgetbridge與小米手錶配對 # 我的手錶是紅米Redmi Watch 5 Lite，根據Gadgetbridge官方文件，功能大部分正常。不過它需要一組金鑰配對，所以一定得先用小米運動健康APP初始化，產生配對金鑰，再將那組金鑰轉移給Gadgetbridge APP使用。\n至於這個金鑰要如何取得，Gadgetbridge官方文件建議從ADB讀取APP的log。\n照小米官網指示，到Google Play下載小米運動健康APP，與手錶完成配對。目前小米運動健康(com.xiaomi.wearable)的版本為3.37.2\n將手機接上電腦，啟用ADB偵錯。下載Platform Tools，連接手機啟用ADB\nadb devices 然後嘗試抓取配對金鑰。 如果你有Root權限 啟用ADB Root模式\nadb root 使用以下指令，讀取小米健康APP的資料庫，取得\u0026quot;token\u0026quot;:的數值\nadb shell sqlite3 /data/data/com.xiaomi.wearable/databases/device_db \u0026#34;select detail from device\u0026#34;\\ 或者\n如果你沒有Root權限 註解：由於小米常常更新APP的運作方式，透過log去抓金鑰的方法可能會隨時失效。也請考慮用專有軟體Notify for Mi取得配對金鑰。\n使用adb shell指令，讀取小米運動健康APP的Transfer.device.log或XiaomiFit.device.log，這個檔案應該是位於/sdcard/Android/data/com.xiaomi.wearable/files/log/\nadb shell cat /sdcard/Android/data/com.xiaomi.wearable/files/log/Transfer.device.log | grep token 應該會印出一串英數，把deviceInfo後面的token的數值記錄下來\ndeviceInfo = {\u0026#34;accessType\u0026#34;:0,\u0026#34;address\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;createBondWithoutDialog\u0026#34;:false,\u0026#34;deviceName\u0026#34;:\u0026#34;Redmi Watch 5 Lite \u0026#34;,\u0026#34;did\u0026#34;:\u0026#34;\u0026#34;,\u0026#34;isAppActive\u0026#34;:true,\u0026#34;isConnectActive\u0026#34;:true,\u0026#34;model\u0026#34;:\u0026#34;lchz.watch.n65bgl\u0026#34;,\u0026#34;productId\u0026#34;:\u0026#34;0\u0026#34;,\u0026#34;productName\u0026#34;:\u0026#34;Redmi Watch 5 Lite\u0026#34;,\u0026#34;proxyConnectionFirst\u0026#34;:false,\u0026#34;region\u0026#34;:\u0026#34;TW\u0026#34;,\u0026#34;requestBond\u0026#34;:false,\u0026#34;retryStrategy\u0026#34;:0,\u0026#34;token\u0026#34;:\u0026#34;金鑰\u0026#34;,\u0026#34;type\u0026#34;:6,\u0026#34;userId\u0026#34;:\u0026#34;\u0026#34;} 回到手機，將小米運動健康APP強制停止，防止APP連線。\n開啟Gadgetbridge，在「裝置」界面對手錶長按，輸入配對金鑰，格式為0x金鑰 之後點一下列表中的手錶圖示，Gadgetbridge應該就能連線到手錶了。如果不行，嘗試到Android系統設定 → 藍牙，暫時斷線手錶，然後重新連接，再回到Gadgetbridge界面重試。 配對完成之後小米運動健康APP就能解除安裝，你也可以留著，方便未來更新韌體。\nGadgetbridge的手錶連線狀態會一直顯示在通知欄，不想看到的就長按把連接狀態關掉。\n4. 查看Gadgetbridge的統計資料 # 從裝置列表的手錶圖示上面的設定圖示點選進入，這裡能夠查看統計圖表。Gadgetbridge可能不會一直在背景與手錶保持連線，有時候要手動按同步鈕下載資料。 Gadgetbridge預設會接收所有APP的通知，並傳到手錶。點Gadgetbridge左上角 → 設定 → 通知，裡面有白名單模式「允許來自所選應用程式的通知」，也就是只允許特定APP傳送通知。\n開啟「請勿打擾」，讓手錶的通知設定與手機的勿擾模式同步。 點Gadgetbridge左上角 → 資料管理，設定定時匯出Gadgetbridge資料。這些資料主要是Gadgetbridge的程式設定還有手錶統計的資料，算是Gadgetbridge APP的備份，目前沒有其他APP能讀取。不過大部分資料以SQL儲存，用電腦工具讀取便能轉成CSV表格。 5. 分享天氣到小米手錶 # 小米手錶的天氣資訊是由手機端小米健康APP提供的。Gadgetbridge沒有天氣功能，需要外接。\n安裝Breezy Weather，這個APP能從多個來源獲取天氣資訊，不需要付費。\n在APP設定 → 小工具與動態桌布，開啟分享資料給Gadgetbridge，手錶端就能顯示天氣了。 6. 追蹤小米手錶GPS運動軌跡 # 我的這支小米手錶可以獨立運作，透過GPS紀錄運動軌跡，再將資料傳到手機。\n在手錶上面開啟應用程式選單，開始運動。之後由Gadgetbridge同步手錶的資料。\n點Gadgetbridge左上角 → 設定 → 地圖，選取一個資料夾。並依照指示，手動到MapsForge下載台灣的地圖，然後放到資料夾。 之後點選Gadgetbridge裝置列表，點選走路圖示，才能顯示手錶紀錄到的地圖路徑。 另外一種檢視軌跡的方式：在這個界面點選分享，儲存.gpx檔案，匯出Gadgetbridge的.gpx資料。\n再開啟OsmAnd~，側邊欄 → 我的地圖，匯入.gpx檔，便能將運動軌跡顯示在OpenStreetMap上面。 要是手錶不支援GPS的話，也可以讓Gadgetbridge呼叫OpenTracks APP，自動用手機GPS開始紀錄路徑。這款APP是Google地圖時間軸的開源替代品，允許使用者追蹤路線並存檔為.kmz檔案。這份資料裡面除了GPS路線圖之外，還可以加入中途停靠站，嵌入景點照片。\n使用例子：爬山的時候走到一定距離就標記一個點，並拍照紀念。結束之後就能得到含有地圖標記的旅遊紀錄。 7. 更換小米手錶的錶盤 # 在Gadgetbridge裝置列表界面，點上傳圖示進入檔案上傳介面。 如果切換到Gadgetbridge之前已經下載過錶盤，則可以切換現有的錶盤。要用新的得手動找錶盤.bin檔案。\n小米手錶有官方開發的EasyFace自製錶盤。專有軟體，僅支援Windows。預設中文版太舊，Releases處的英文版支援更多新手錶型號。\n或者使用第三方開發的Mi-Create，支援Windows，開放原始碼。\nAstroBox也是一個值得研究的項目，它實現了小米原廠配對的功能，並有自身的框架能夠開發rpk快應用。\nGadgetbridge不能任意更換錶盤背景圖片（即使錶盤支援自訂圖片），這方面還是得用小米官方APP。\n8. 如何更新小米手錶韌體 # Gadgetbridge的裝置設定頁面能夠上傳韌體更新。\n但除非你有辦法搞到更新檔，否則沒有辦法從Gadgetbridge更新。\n建議將手錶與Gadgetbridge暫時中斷連線，再回到小米健康APP裡面更新韌體。\n參考資料 # Xiaomi - Gadgetbridge Huami/Xiaomi server pairing - Gadgetbridge ","date":"2025年12月16日","externalUrl":null,"permalink":"/posts/gadgetbridge-android/","section":"所有文章","summary":"透過沒有追蹤器的第三方手錶APP，擺脫對手錶原廠APP的依賴！ 購買智慧手錶或者智慧手環的時候，有無考慮過隱私問題呢？是否APP要求登入帳號才能夠使用手錶？小米就是一例，限定用自家的APP才可以使用，不能給第三方分享資料。\n如果想要對穿戴式裝置獲得更多控制權該怎麼辦呢？有一群開發者製作了開源的「Gadgetbridge」APP，能夠繞過許多智慧手錶APP連線，並逆向實現了原本手錶的大部分功能。使用者能夠改用這個APP接收手錶的資料，資料不會傳給第三方，可以自由匯出，同時捍衛隱私權。 比較：小米運動健康APP與Gadgetbridge APP的界面。雖然後者有點醜醜的，但是該有的功能都有，甚至有些資料的統計圖表更為詳細。 Gadgetbridge讓資料完全掌握在你手上，能夠任意匯出，比如紀錄運動軌跡的.gpx檔案，自由用其他軟體讀取運動路徑。 影片示例 （桌布作者：杏仁無双）\n這篇文章Ivon將介紹Gadgetbridge的功能，以及分享如何與智慧手錶配對，以小米手錶為例。\n1. Gadgetbridge特色功能 # 擺脫智慧手錶官方APP的束縛。Gadgetbridge能夠解放你的手錶，讓收集到的資料自由的轉移。Gadgetbridge支援大部分手錶資料，譬如步數、心率、血氧濃度、卡路里、GPS運動軌跡、睡眠時間、打電話、接收通知等等。依照品牌不同，實現的功能也不同，需要看官方文件支援度。\n","title":"用第三方Gadgetbridge開源APP與小米手錶配對，完全握有你的健康資料，捍衛隱私權","type":"posts"},{"content":"越來越沒有刷機與root的動力了，找不到理由，所以寫一篇紀敘個人想法。\n先簡述我的root玩機經歷。2013年買第一支智慧型手機的時候，因為對系統運作感到好奇便學習root，用的是最笨的百度一鍵Root，還有著名的流氓軟體KingRoot，這些都是靠漏洞破解來root。後期換成SuperSU。2017年，換了幾支手機後，學會刷第三方ROM，root方式跟著遷移到了較為正規的Magisk。在那之後購買的手機基本上都會讓root常伴身邊。2022年，更是開始研究刷Android以外的Linux與Windows系統。可是，最近卻開始覺得root權限可有可無了。\n2025年的今天，Android版本已經來到Android 15，許多功能已經十分完善，十年前需要root達成的功能幾乎都不需要了，那麼，root是否仍有無必要性？這行為值得嗎？你又是否願意承擔root的風險呢？\n美好的過去為什麼會漸行漸遠呢。Android越來越封閉，封堵root與解鎖BL管道，還要用Play Integrity防止破解APP，AOSP延遲開源，現在還準備強制驗證開發者簽名了，側載APK變得更加困難。 圖片偷自Reddit\n我的想法是，你可以不root，但不能放任廠商不給解鎖bootloader。\n1. 解鎖bootloader不等於root # 相關文章：Android手機刷機流程\n解bootloader鎖、root權限、刷機，有些人會把他們搞混，在此先說明差異。\n通常，刷機可以指：\n解除bootloader鎖，刷入第三方ROM 刷Magisk取得root權限 或者以上二者一起做 首先要破除一些人的迷思，root不是刷第三方ROM的必要條件。\n何為root：Linux系統的系統管理員權限，Android在設計之初為了各種原因考慮把它拿掉了，故需要安裝軟體把root權限弄回來。 何為bootloader(BL)：開機載入器，開機時載入手機作業系統的一套軟體，通常市面上販售的手機都是上鎖的，防止執行未經廠商驗證過的系統，加強安全性。不過這也給消費者加上了枷鎖，讓使用者失去對裝置的完全控制權。通常負責任的手機大廠會提供bootloader解鎖方法，但也有自私的廠商拒絕提供的。 何為第三方ROM：替代原廠的系統，可能是原廠系統的增強修改版，或是界面全然不同的Android系統，甚至有的是拔掉GApps服務的乾淨版Android。 有了這個認識後，再來看刷機程序（以Android 14為例）：\n解鎖bootloader → 刷入Magisk取得root權限（選擇性） → 刷入第三方Recovery（選擇性） → 刷入第三方ROM\n我們可以知道，單純解鎖手機的bootloader，並刷入第三方ROM，這中間並無涉及root權限的獲取。取得root權限的步驟是選擇性。\n問題應該問說：「現今的Android手機是否還有解鎖bootloader並取得root權限的必要？」\n舉例來說，你可以把Google Pixel手機解鎖bootloader，再刷入LineageOS，卻不裝Magisk，這樣也是刷機。\n反過來說，取得root權限也沒有限定得刷第三方ROM，在原廠Google Pixel系統取得root權限也是可以的。\n但是一個順序不能搞反：Android手機必須先解鎖bootloader，才可以取得root權限（不考慮使用漏洞破解的情況下）。\n2. 解鎖bootloader與root的動機 # 會玩root的應該都不會在乎保固和安全性吧？如果你不知道在幹嘛，且不願意承擔後果，就不要執行這種破解操作。\n動機，即討論背後這麼做的優點。\n論解鎖bootloader並刷入第三方ROM，最大的動機就是給手機減肥，或者延壽了吧。\n有些手機的Android系統被廠商改得過於臃腫，於是刷第三方ROM獲得乾淨的系統。\n第三方ROM還可以給手機延壽。有些手機廠商不負責任，手機賣出後提供幾次更新就放生，導致手機卡在舊版Android。此時刷入第三方ROM就能讓手機繼續使用最新版的軟體。\n那麼root呢，同樣是修改手機系統的行為。並且好處是root權限沒有限定要第三方ROM才可以使用，在原廠系統安裝Magisk就可以開始改造系統了。\n所以，root是那些沒有第三方ROM資源手機的救命稻草，讓你至少還能任意修改系統。\n以前的Android系統功能缺東缺西的，root後可以裝一堆模組補強功能，例如改善待機耗電，提昇儲存空間等等。即使在Android內建功能已經十分完善的今天，仍有人不滿意，需要靠root來補強。\n不過若你的Android系統先天失調，太多臃腫APP，那麼root後裝再多Magisk模組恐怕也不如刷第三方ROM來得清爽。比較具體的例子是MIUI，個人主觀認為，與其root裝一堆模組改善那肥厚的系統，不如刷原生Android要來的乾脆。\n3. 比較解鎖bootloader與root的風險 # 具體來說，是從二者操作的缺點，來比較執行該操作後的風險。\n如果我們比較二者的風險，就會發現解鎖bootloader是較低的。\n解鎖bootloader後，最直觀的損失就是Android的Widevine DRM等級噴掉，從L1變成L3，部份串流服務會改以低畫質提供內容。\n由此可知，最大的損失就是DRM了吧。但是較少APP會因為手機有解鎖bootloader就不給用，至少手機遊戲很少在抓這個。\n而部份金融相關的APP依然可能會認為，裝置有解bootloader就是不安全，因而拒絕啟動的現象。\n不過，這不代表「解鎖bootloader但不root」就比較安全，因為你的手機已經給root開了個口子，如果有心人士想要的話，仍有很大機會取得root權限並盜取資料。\n那麼有沒有刷完第三方ROM再將bootloader上鎖的選項？有，但很複雜，且手機有機率變磚。只有GrapheneOS這類少數ROM支援這種玩法。\nRoot會被APP各種針對，為了資安，APP會將擁有root權限的裝置判定為不安全，禁止使用者使用。市面上比較專業的廠商都有千百種方式偵測手機是否有root權限，Google更是不斷推出更強的安全機制（例如用Play Integrity取代SafetyNet），打擊root權限的用戶。在最嚴格模式下，連手機有解bootloader鎖也會被判定為破解裝置！\n於是乎，使用者得頻繁跟APP開發者玩貓捉老鼠的遊戲，透過各種Magisk Hide之類的模組隱藏root狀態。有些模組甚至可以隱藏bootloader解鎖狀態呢！\n4. 可是因為X功能\u0026hellip;我覺得root仍有必要性？ # 確實，某些熱愛搞機的玩家，就是想讓手上的裝置藉著某些模組提昇效能，還有安裝擋廣告模組、音效模組、自訂主題界面，還有給遊戲打mod之類的，實現各種神奇玩法，故root在這些人眼裡無可厚非。我很敬佩這些駭客們（無貶義）的付出。\n我也曾經想過，解鎖bootloader後不root豈不是做半套！？\n然後，有些人會滑坡一下，說這關係到軟體自由！要是Google打擊root，下一步不就是解鎖bootloader、使用第三方ROM的用戶了嗎？確實啦，現在第三方ROM都要自行向Google驗證裝置了，以後搞不好連GApps都不給刷了。\n5. 那麼為什麼要放棄root # root放棄了、解鎖bootloader也差不多快找不到理由了。\n時至今日，Android內建功能已經夠多了，即使是AOSP也不比OneUI和MIUI這種重度魔改的差，加上Google Play生態系反Root的力度加強，我們已經沒什麼理由說服人們Root了，尤其Root後的人們推薦的Magisk模組盡是破解、去廣告之類不道德、利益薰心的玩意。且如果要擋廣告，其實也有改DNS的免Root做法。\n再看看LSposed的倉庫就知道了，一堆東西都是中國人做的，如果是為了對付流氓APP的限制那還情有可原，但也有許多破壞公平性的作弊程式。\n我覺得比iOS越獄社群好一點的地方在於，Android開發者會更傾向把成果開源吧，而不是把破解社群變成另一個黑市。\nAndroid功能不斷完善，其實root的必要性已不如十年前的重要了。假若選對牌子，先天軟硬體底子好，那使用者就無root修修補補的必要。私心認為，各大廠牌中Google Pixel系統的功能是最平衡的，功能足夠多又不花俏。同時我也偏好提供原生Android系統的廠商。\n我的認知視野不僅限於Google Play，很多功能都有rootless的替代方案，儘管不完美。\n比如擋廣告有Brave瀏覽器或改DNS的方案可以使用，有些需要系統權限的APP更是可以用Shizuku解決。諸如此類的替代方案很多。\n再者，在手機重要性不必多言的今天，拿著root手機到處跑其實有點危險。如果手機是很重要的工具，那麼花時間搞root，卻還要花時間處理root偵測，處於得不償失的境地。\n要用比較好理解的話來說，就是我懶得折騰了。\n折衷作法為購買備用機，用那台手機玩root就好，主力機不要搞root。\n6. 不過解鎖bootloader依然是消費者該有的權利 # 若範圍不侷限於Root，我覺得刷機還是有理由存在的，第三方ROM往往能得到更精簡的系統，像我就很喜歡LineageOS，勝過許多市面上的妖魔鬼怪，甚至我買了新機會儘可能的在第三方ROM出來後馬上刷入。可惜除了開源愛好者之外，這種什麼都沒有的系統很難對一般人構成吸引力。即使是接近原生的Pixel也要塞點私貨營造差異市場。\n除非你擁護海盜黨的理念，否則使用者都願意把他們的自由交出去換取方便的。懂得珍惜自由的人，終究是少數。\n這個世界主要是市場在運作的，要求人們單純因為道德問題，不涉及其他利益而抵制某某事物，往往不會有太好效果。\n這讓我想到，十幾年前的反DRM運動終究是失敗了，當個普通人要存取任何娛樂服務，都會受到DRM制約，不過是多或少的問題。\n那麼換到Android手機的議題上，廠商要不要開放解鎖bootloader乃道德問題，不開放你也不能拿它怎樣。更別說有些廠商連GPL都不尊重了（Linux規定核心原始碼必須開源），怎期望他們會在乎消費者的權利！\n沒有法律規定說bootloader一定得讓妳解鎖。也許歐盟會哪天想到要保護消費者權利，因而強迫廠商必須開放bootloader解鎖呢？只怕那個時候為時已晚。\n因此，解鎖bootloader在我看來，變成了一種純粹的道德要求，如果手機廠商尊重消費者，就應該開放解鎖bootloader，如此一來才是在道德上較為完好的廠商。\n參考資料 # A discussion about bootloader locking/unlocking\u0026hellip; AKA I want to relock my bootloader, should I? - r/LineageOS ","date":"2025年12月15日","externalUrl":null,"permalink":"/posts/is-it-worth-rooting-your-android-phone/","section":"所有文章","summary":"越來越沒有刷機與root的動力了，找不到理由，所以寫一篇紀敘個人想法。\n先簡述我的root玩機經歷。2013年買第一支智慧型手機的時候，因為對系統運作感到好奇便學習root，用的是最笨的百度一鍵Root，還有著名的流氓軟體KingRoot，這些都是靠漏洞破解來root。後期換成SuperSU。2017年，換了幾支手機後，學會刷第三方ROM，root方式跟著遷移到了較為正規的Magisk。在那之後購買的手機基本上都會讓root常伴身邊。2022年，更是開始研究刷Android以外的Linux與Windows系統。可是，最近卻開始覺得root權限可有可無了。\n2025年的今天，Android版本已經來到Android 15，許多功能已經十分完善，十年前需要root達成的功能幾乎都不需要了，那麼，root是否仍有無必要性？這行為值得嗎？你又是否願意承擔root的風險呢？\n美好的過去為什麼會漸行漸遠呢。Android越來越封閉，封堵root與解鎖BL管道，還要用Play Integrity防止破解APP，AOSP延遲開源，現在還準備強制驗證開發者簽名了，側載APK變得更加困難。 圖片偷自Reddit\n我的想法是，你可以不root，但不能放任廠商不給解鎖bootloader。\n","title":"現今Android手機取得Root權限＆解鎖Bootloader刷機的必要性","type":"posts"},{"content":"這篇不是某部手機的刷機教學，是Ivon刷過幾個大廠牌的手機歸納出來的刷機通用步驟。\n本文討論的是較正規的刷機方法：解鎖Bootloader，刷Root權限管理員取得Root權限，再刷入第三方ROM。不使用刷機助手或漏洞破解的作法。 為什麼要刷機？我先討論刷機的優點與缺點，您讀完後再決定要不要刷。\n不是所有Android手機廠牌都開放刷機，但我認為刷機本是消費者的合法權利。手機買來就應該是完全屬於您的裝置，為此您應當購買尊重消費者自由的手機廠牌，比如Sony、Nothing、Google、Fairphone、小米這類的，他們不會千方百計阻撓你刷機。\n在刷機前，首先要認識一些專有名詞，再來看刷機的流程。\n1. 刷機的優點與缺點 # 優點 # 完全控制您的手機，例如去掉手勢提示條、提昇手機效能、備份任意APP資料、加裝杜比音效改善外放，安裝擋廣告APP等等，參見Magisk推薦模組。 客製化手機界面，享用不同的操作界面。 擺脫Google或其他令人毛骨悚然的系統級監控，保護隱私。 刪除內建臃腫APP，讓手機不被爛軟體綁架 將慘遭廠商放生的手機升級到最新版系統。比如Sony舊版旗艦機常常二年就放生了，但明明硬體還行，此時刷機就是解決之道。 即使您反悔，有些手機仍可以無痛刷回原廠系統，例如Google Pixel。 缺點 # 大部分廠牌的手機，刷機一定破保固。 手機如果刷壞無法開機了，需要有手動除錯，懂得搜尋錯誤的能力。我不是很信任付費代為刷機的服務，玩刷機應當自主學習。 刷機需要用電腦操作，只有手機是不行的。 刷機會導致手機不安全，例如隨意給不明的程式Root權限，或是下載來路不明的ROM，可能就被駭了。 有些App不喜歡Root過的系統，因為會讓他們更容易被破解。因此像Pokemon Go偵測到Root直接閃退，銀行相關的APP也不給用。必須透過Play Integrity Fix之類的方法修復，參見隱藏Root偵測的方法＆通過Play Integrity，跟Google的系統安全機制玩躲貓貓。如果你不想成天解這些問題，那就不要刷機。 有些手機功能在刷機後就永遠無法回復了，例如Samsung，刷機後手機內的保險絲會熔斷，Knox安全機制即會永遠失效。 2. 名詞解釋 # 以下很多名詞牽涉到作業系統。如果對Android Open Source Project和Linux有基礎會比較好理解。\n您知道嗎，刷機其實不是單一步驟，首先我們要分清楚「Root」和「刷機」的分別。\n名稱 解釋 Root權限 取得系統最高權限，就像Windows的系統管理員。Android基於Linux核心開發，Linux系統都有Root權限，但Android廠商通常會把它拔掉，不讓使用者亂搞系統，取得Root權限就是把廠商不給的東西裝回手機。走原廠正規程序取得root權限通常會重置手機資料。 刷機 刷ROM，類似系統重灌，如果手機系統出問題，您可以下載原廠韌體自行重灌。但刷機不僅是重灌原廠系統而已喔，您可以安裝別人修改過的系統(第三方ROM)，享有更多功能，例如最受歡迎的LineageOS。刷機通常會刪除手機全部資料。 由此可知，Root不等於刷機。你可以選擇Root後繼續使用原廠的ROM，或者是刷入第三方ROM再Root。有些人這二件事會一起做。\n再來介紹其他相關程式：\n名稱 解釋 Bootloader 開機載入程式，手機刷機的最大關卡，幾乎所有的Android手機都是上鎖的(OEM locked)，防止使用者刷入其他系統，影響安全性。使用者需要解鎖Bootloader才能刷機。 Fastboot 一個由Bootloader提供的USB通訊協定，讓電腦可以對裝置下指令刷機。通常需要解除Bootloader鎖才能操作。有些手機會分為Fastboot與Fastbootd模式，Fastboot較接近底層，可以刷寫系統分割區。Fastbootd是跑在userspace的軟體，只能改動態分割區。 Recovery 手機的恢復程式/工程模式。系統開不了就會進到fastboot或recovery。有些人刷機會安裝「第三方Recovery」，方便備份系統資料和修改系統。 卡刷 把刷機包放到手機，透過第三方Recovery安裝系統。刷機包檔案格式通常是.zip。 線刷 透過電腦Fastboot刷入系統，檔案格式通常是.img / .tgz。使用adb sideload指令刷入.zip刷機包也算是線刷。 Platform Tools 內含ADB和Fastboot。Google開發的讓電腦與手機溝通的工具，可以用來傳輸檔案和執行指令，也可以刷機。 Root權限管理員 目前主流的有Magisk、KernelSU、APatch。這些是Root的必備工具，雖然原理不太一樣，通常是透過修改boot.img取得Root權限，也能管理裝置上的Root權限。Root後必裝。 GApps GApps即「Google Apps」，內含一系列讓Google API動起來的系統組件，又稱GMS服務。一般人刷GApps通常是為了登入Google帳號、存取Google Play商店，並使用Google地圖、Youtube、Google雲端等Google推出的APP。非必要。 如果你不是Android開發者，在刷機前要確保有沒有人跟你拿一樣的裝置，並已經做出第三方Recovery或第三方ROM等相關資源給大家下載，建議是到XDA Developers論壇看看外國用戶有沒有相關討論。或者搜尋「手機名字 + root + xda」了解手機能不能root。\n3. 刷機流程 # 大部分手機刷機離不開這些流程，如果只是要Root的話刷入Root管理員就行了。\n解鎖Bootloader 刷入Root管理員 刷入第三方Recovery 刷入第三方ROM 刷入GApps 接著一一來分析這幾個步驟背後做了什麼事：\n1. 解鎖Bootloader # 手機廠商將Bootloader上鎖的原因多半是因為安全性考量，防止駭客使用其他系統開機藉此偷取手機資料。但是這也代表手機修改遭受限制，因此要刷機一定得解除Bootloader鎖。 每支手機的程序都不一樣，大部分廠商都有提供解鎖管道。例如Google Pixel在電腦輸入一條指令就能解鎖，小米要答題解鎖，ASUS要用官方程式解鎖，Sony依照IMEI會給你一組代碼解鎖，也有像是華為這種根本不給官方解鎖的。所以玩刷機要慎選品牌啊。\n步驟通常為：讓手機進入fastboot模式，將手機連線到電腦。\n接著開啟ADB或原廠提供的解鎖程式，進行解鎖程序。\n為了安全性考量，現在的Android手機通常會在第一次解鎖Bootloader後自動清除手機資料，因此開機後要重新設定手機。\n2. 刷入Root管理員 # Root權限管理員方案有：\nMagisk KernelSU APatch Magisk是最著名的Root方案，更新十分活躍。跟以前的SuperSU方案比起來，Magisk不會修改系統檔案，因此裝Magisk後仍有OTA更新系統的可能。 Magisk的原理是修改開機用的boot.img，再重新打包修改後的boot.img，用Fastboot指令刷回boot分區。這樣的話手機一開機就會取得Root權限。\nBootloader解鎖後就可以用指令刷入Magisk過的boot.img。\n在開機後，還要安裝Magisk Manager的APP，用於管理Root權限。\n3. 刷入第三方Recovery # 如果已經刷Root權限管理員，第三方Recovery就不是那麼必要的了。因為TWRP需針對個別手機移植，但又不是每支手機都有TWRP。\n上面提過用Fastboot指令就能刷Magisk了，而第三方Recovery價值在於提供更多功能，無法開機時還能操作手機，當作救命法寶。\n最有名的第三方Recovery專案是「TWRP」，能備份分區資料、執行卡刷、格式化手機。 如果你刷的ROM是LineageOS，則每個裝置都會有LineageOS Recovery可以刷。不過LineageOS Recovery功能相對TWRP少很多。\n要找第三方Recovery，推薦到XDA論壇找。\n4. 刷入第三方ROM # 上面說過，刷第三方ROM不是必要步驟。如果您已經很滿意Root過的原廠系統，那就繼續用。\n第三方ROM有很多種，有的會砍掉原廠的臃腫功能，比方說小米手機刷「MIUI EU」ROM可獲得更精簡的系統。 有的ROM則是基於乾淨的AOSP所打造，除了讓手機體驗煥然一新外，還能享受到最新Android版本。\n以最受歡迎的第三方ROM「LineageOS」來說，開機什麼預載程式都沒有，比Google出的Pixel手機還精簡，給你最原生的AOSP體驗。很多手機只要有第三方ROM出來，最先的版本幾乎都是LineageOS。延伸閱讀：LineageOS通用刷機方式 如果要找第三方ROM，也是推薦到XDA論壇找。\n下載ROM後透過Fastboot或Recovery，線刷到手機上，取代原有系統。\n5. 刷入GApps # 有些第三方ROM因為各種因素並無內建Google服務框架，這會導致Play商店無法使用。使用者需手動找GApps來刷。 參見Android刷機常見的GApps比較\n總結 # 刷機與Root可能會導致手機失去保固，操作失誤有機會造成系統無法開機，同時也可能降低系統安全性，銀行可能因偵測到Root而無法使用。\n不過，了解到以上風險後，只要事前做好功課，完整備份並謹慎操作，刷機就不會只是風險挑戰，更是一次真正掌控自己裝置，學習Android系統的成長機會。\n","date":"2025年12月13日","externalUrl":null,"permalink":"/posts/android-general-flashing-rom/","section":"所有文章","summary":"這篇不是某部手機的刷機教學，是Ivon刷過幾個大廠牌的手機歸納出來的刷機通用步驟。\n本文討論的是較正規的刷機方法：解鎖Bootloader，刷Root權限管理員取得Root權限，再刷入第三方ROM。不使用刷機助手或漏洞破解的作法。 為什麼要刷機？我先討論刷機的優點與缺點，您讀完後再決定要不要刷。\n不是所有Android手機廠牌都開放刷機，但我認為刷機本是消費者的合法權利。手機買來就應該是完全屬於您的裝置，為此您應當購買尊重消費者自由的手機廠牌，比如Sony、Nothing、Google、Fairphone、小米這類的，他們不會千方百計阻撓你刷機。\n在刷機前，首先要認識一些專有名詞，再來看刷機的流程。\n1. 刷機的優點與缺點 # 優點 # 完全控制您的手機，例如去掉手勢提示條、提昇手機效能、備份任意APP資料、加裝杜比音效改善外放，安裝擋廣告APP等等，參見Magisk推薦模組。 客製化手機界面，享用不同的操作界面。 擺脫Google或其他令人毛骨悚然的系統級監控，保護隱私。 刪除內建臃腫APP，讓手機不被爛軟體綁架 將慘遭廠商放生的手機升級到最新版系統。比如Sony舊版旗艦機常常二年就放生了，但明明硬體還行，此時刷機就是解決之道。 即使您反悔，有些手機仍可以無痛刷回原廠系統，例如Google Pixel。 缺點 # 大部分廠牌的手機，刷機一定破保固。 手機如果刷壞無法開機了，需要有手動除錯，懂得搜尋錯誤的能力。我不是很信任付費代為刷機的服務，玩刷機應當自主學習。 刷機需要用電腦操作，只有手機是不行的。 刷機會導致手機不安全，例如隨意給不明的程式Root權限，或是下載來路不明的ROM，可能就被駭了。 有些App不喜歡Root過的系統，因為會讓他們更容易被破解。因此像Pokemon Go偵測到Root直接閃退，銀行相關的APP也不給用。必須透過Play Integrity Fix之類的方法修復，參見隱藏Root偵測的方法＆通過Play Integrity，跟Google的系統安全機制玩躲貓貓。如果你不想成天解這些問題，那就不要刷機。 有些手機功能在刷機後就永遠無法回復了，例如Samsung，刷機後手機內的保險絲會熔斷，Knox安全機制即會永遠失效。 2. 名詞解釋 # 以下很多名詞牽涉到作業系統。如果對Android Open Source Project和Linux有基礎會比較好理解。\n","title":"Android手機如何取得Root權限＋刷機流程介紹","type":"posts"},{"content":" 前の二か月はどちらもSecond Spaceの共有スペースで集まっていたが、今日は初めて比較的大きな雄校聯の部活会議室へ移った。9階の床から天井まである窓から、向かいの中央公園の景色を見下ろせる。 今日のテーマはlightning talk形式。\n議程：2512- 第一次雄校聯聚會\nShawnはPi500を本当に使えるコンピューターへ改造した経緯を共有した。外付けモニターを加えると、この金額はもうAndroidタブレット一台に近いではないか。ましてWaylandデスクトップは自分で設定しなければならない。やはり彼も、Fcitx5が特定のGTKプログラムで中国語を入力できない問題に遭遇していた。\nある高校生が登壇し、彼らが運営する鑽石Minecraft伺服器託管サービスを共有した。一部は公開版のPterodactyl Panelを改造したものとはいえ、やはりすごい。完全な管理システムがあり、コマンドを打たずにMinecraftサーバーコアをリアルタイムで差し替えられる。Aternosのような壮挙を思い出した。\nYCが解決したいFRRouting Projectの題目は専門的すぎる。これはもはや業界内部の人でなければ答えられないレベルだろう。私はただ何度もうなずいて分かったふりをするしかなかった。ふう、もしグループディスカッションをするなら、私はおそらく役に立てない。\nPeterはAndroidのROM焼きとdegoogleプロジェクトにかなり興味があるようで、ROM焼き情報を提供するサイトも作りたいらしい。うんうん、この種のサイトは中文圏ではもう多くないし、XDAのように専門的な掲示板もほとんどない。ただ彼はプロセス用語への理解があまり深くなく、尋ねてみて確かにROM焼き経験がないと分かった。実際の操作経験があれば、人にROM焼きの理由を理解させやすいと思う！他人にROM焼きを説得するなら、まずあなたのメイン機をLineageOSに焼くところから始めよう！Play Integrityを通過できないその苦痛を自分で背負え！私がそう言ったとき、隣でSamsungの万元折りたたみスマホを持っていたAmosは少し引いていた。まあSamsungはかなり悪辣な会社で、Knoxの永久ヒューズ切断機構で人々にROM焼きするなと脅しているのだから。\n初めて面と向かって、私のブログを読んでいると言ってくれた人がいた。しかも二人以上いて、私のFcitx5チュートリアル内容が役に立ったと感謝してくれた。私はとても嬉しく、また恥ずかしくもあった。このブログにはあまりにも羞恥なものが多いからだ\u0026hellip;\u0026hellip;。\nAmosが林強 \u0026amp; Luca BonaccorsiとOCF開放文化基金会が協力して出した、CC 4.0ライセンスのオープンソースアルバム《時間浸漬》計画について話した～本当に超面白い。私は彼の《娛樂世界》以後の作品がとても好きで、彼が今もこんなに前衛的で、音楽産業に新しいビジネスモデルを探らせようとしているとは思わなかった。ついでに言うと、Radioheadが《In Rainbows》アルバムを出したときも、購入者に購入金額を自分で決めさせる革新的手法をやったことがある。Radiohead and U2: making money by giving music away for free - The Conversation\n私はもともとその場で思いついた題目「Phosh on Surface」で登壇して話そうと思っていた。Linux on Mobileの発展成果を見せたかったのだが、講者の中に時間をかなり使った人がいたため、次回まで待って続きを話すことになった。うん\u0026hellip;どうせこれは重要な題目でもない。私にも、より完成度の高い講演原稿を練り直す時間が増えた。\nこのクリスマスの佳節に、中央公園捷運駅の出口には巨大なクリスマスツリーがそびえ立ち、夜の帳がしだいに低く垂れるにつれて、遠くの灯りが少しずつ点り始めた。 ","date":"2025年12月13日","externalUrl":null,"permalink":"/ja-jp/posts/kalug-2512/","section":"Foss-Issues","summary":" 前の二か月はどちらもSecond Spaceの共有スペースで集まっていたが、今日は初めて比較的大きな雄校聯の部活会議室へ移った。9階の床から天井まである窓から、向かいの中央公園の景色を見下ろせる。 今日のテーマはlightning talk形式。\n議程：2512- 第一次雄校聯聚會\nShawnはPi500を本当に使えるコンピューターへ改造した経緯を共有した。外付けモニターを加えると、この金額はもうAndroidタブレット一台に近いではないか。ましてWaylandデスクトップは自分で設定しなければならない。やはり彼も、Fcitx5が特定のGTKプログラムで中国語を入力できない問題に遭遇していた。\nある高校生が登壇し、彼らが運営する鑽石Minecraft伺服器託管サービスを共有した。一部は公開版のPterodactyl Panelを改造したものとはいえ、やはりすごい。完全な管理システムがあり、コマンドを打たずにMinecraftサーバーコアをリアルタイムで差し替えられる。Aternosのような壮挙を思い出した。\nYCが解決したいFRRouting Projectの題目は専門的すぎる。これはもはや業界内部の人でなければ答えられないレベルだろう。私はただ何度もうなずいて分かったふりをするしかなかった。ふう、もしグループディスカッションをするなら、私はおそらく役に立てない。\n","title":"KaLuG 2512 オープンソースコミュニティ集会小記","type":"foss-issues"},{"content":"最近虛無感逐漸強烈，擴及到工作的使命上。\n本來我是抱持著，可以幫助人的道路去做這個工作的。當我參加一個外國人的教會聚會的時候，我回答他們\u0026quot;I have no choice. I want to help someone to prove that I am not a useless person.\u0026quot;\n在工作上，我認為教學這個工作本身沒有什麼意義，即使有互動上很快樂，分享知識給他人很快樂，卻會被其他煩惱的日常行政事務，以及管教秩序給淹沒。是我給他假想出了一個意義，認為要「改變教育現場」這件事本身是一個職志，所以我可以為了這個目標而努力，又能作為養活自己的一份正式工作。為了這個唯一且自以為毫無退路的目標，努力著。\n幾年前，體驗了偏義工性質的課後輔導，覺得快樂。最近幾年踏入補習班後，對填鴨式教育覺得痛苦。可是最近再次接觸義工性質的課後輔導後，學生變成更無學習意願的偏鄉小孩，又覺得補習班教法果然是對的。因此逐漸認同補習班的教學是更安全的生存之道，就算教學無趣，起碼成績有保障，是短期內看得見的成果。原來以前是我太天真了，教學玩玩可以，真要從中感受到意義，卻是越發空虛了。\n如果教師職責不單單只是知識傳播者，還要擔當保母散播歡樂散播愛的話，這責任我真的承受不來。他們說，現在的學生越來越難帶，老師必須跟著進步才可以。但是我就反思，不進步的人還是早點閃遠點吧。\n我逐步體認到我不適合當個好老師吧，to put it bluntly，我不會教。要說嚴格我嚴格不起來，教的內容是很硬的底子的知識嗎？也不盡然，我的認知水平也就一般做題家而已。要說活潑也活潑不上去，我對什麼創意教學方法和EMI都沒有太大興趣，我最得手的只有傳統lecturing的唸稿。我不想關心學生今天心情怎樣，我也不在乎他們怎樣才學的好，反正只要最後有領到錢就好。\n哼哼，在「上岸」前的練功坊就培養出這種心態，就證明我是多麼不適合這個航道了吧。說實在，最一開始接觸的教育現場，我也直白的向專案負責人表示我是為了一點錢才來的。根本談不上教育愛。\n看著台上台下的死魚眼，我瞪著他們，他們瞪著我，彷彿都在說「不想上就不要上呀」。\n假若未來數十年如一日都要這樣做的話，可說是跟當公務員一樣無趣，即使收入穩定，心就會先死掉了吧。我對有興趣的東西，會樂於分享，倘使有餘力，就會施捨一些智慧教別人。但是要說教不教的好，那完全得看我心情決定。不知道怎麼描述這種心態，應該說是喜歡自立研究型的人吧。假若在做研究的時候，遇到契合的學術夥伴，就會進行很深入的討論，是不用管其他人聽不聽不的懂的，或是教的好不好的，也不需要讓利討好學生。\n例如，體認到語言中的句法學之美，自然就會想深入探討文法的形成概念，進行邏輯思考推演，而非是設計什麼引人入勝的教案。學習本該如此吧？不是有教無類，而是人總有貴賤之分，不是每個人都適合讀書的，有些人就是該去當首陀羅。這並非精英階級的傲慢，而是對普世價值的一種反動。我在有人願意跟我分享知識的時候才會真的感到快樂，或者說，教學環境必須是雙方都在平等的吸收知識，才是一個讓我感到有意義的教學現場。否則就是一種折磨，我不知道為何而教。如果你只想要考試獲得高分而希望多教補習班用那種速成學法，那就是一種逐利的行為吧？\n如果，工作的意義只是一種構建出來的信念，去除了這個外衣之下，就是什麼都沒有的空殼，所以這點讓我感到無意義。虛設出來的天堂，沒有了雲雨的堆積，就會崩塌。\n最後還是遵照家人的建議，AI的意見，決定跟諮商師坦白從寬了。居然連Claude都吐槽「你都找上AI求助了，拜託你，誠實面對自己吧」。我目前的身體之所以出現出現種種症狀，甚至出現尋死念頭，乃是因為潛意識中對現狀極度不滿所產生的後果，三年以來一直處在否定自我的矛盾之中。\n難道真的還有其他路嗎？\n要是這樣內耗下去，即使真有辦法撐到上岸的那一天，心理也會壞掉的。因此在明年二月之後，我必須要做出turning point的抉擇。放棄現在累積的道路，並嘗試對RedHat遞出的橄欖枝做出回應\u0026hellip;！正如大雄必須改變未來，才能防止進入事業失敗的窘境。\n「拜託你們了，一定要改變未來！」我彷彿聽到阿万音鈴羽的這種語氣。\n","date":"2025年12月13日","externalUrl":null,"permalink":"/posts/2025121302/","section":"Personals","summary":"最近虛無感逐漸強烈，擴及到工作的使命上。\n本來我是抱持著，可以幫助人的道路去做這個工作的。當我參加一個外國人的教會聚會的時候，我回答他們\"I have no choice. I want to help someone to prove that I am not a useless person.\"\n在工作上，我認為教學這個工作本身沒有什麼意義，即使有互動上很快樂，分享知識給他人很快樂，卻會被其他煩惱的日常行政事務，以及管教秩序給淹沒。是我給他假想出了一個意義，認為要「改變教育現場」這件事本身是一個職志，所以我可以為了這個目標而努力，又能作為養活自己的一份正式工作。為了這個唯一且自以為毫無退路的目標，努力著。\n幾年前，體驗了偏義工性質的課後輔導，覺得快樂。最近幾年踏入補習班後，對填鴨式教育覺得痛苦。可是最近再次接觸義工性質的課後輔導後，學生變成更無學習意願的偏鄉小孩，又覺得補習班教法果然是對的。因此逐漸認同補習班的教學是更安全的生存之道，就算教學無趣，起碼成績有保障，是短期內看得見的成果。原來以前是我太天真了，教學玩玩可以，真要從中感受到意義，卻是越發空虛了。\n如果教師職責不單單只是知識傳播者，還要擔當保母散播歡樂散播愛的話，這責任我真的承受不來。他們說，現在的學生越來越難帶，老師必須跟著進步才可以。但是我就反思，不進步的人還是早點閃遠點吧。\n","title":"在成為老師的路上，我逐漸不想當老師","type":"personal"},{"content":"Joplin is a free and open-source desktop and mobile note-taking and to-do list application.\n","date":"2025年12月12日","externalUrl":null,"permalink":"/tags/joplin/","section":"標籤","summary":"Joplin is a free and open-source desktop and mobile note-taking and to-do list application.\n","title":"Joplin","type":"tags"},{"content":"注意：本篇文章Ivon討論的不是Joplin Web Clipper，亦不是架設Joplin同步伺服器\n有一款能隨時用網頁寫作的Markdown筆記本，難道不是一件便利的事情嗎？ Joplin是一款開源筆記軟體，支援Linux、Windows、macOS、Android、iOS。電腦版客戶端是用Electron封裝的，手機版客戶端則使用React Native。\n但還缺了一角，網頁版。\n很多人都在敲碗，想要Joplin網頁版。\n這樣不用在電腦安裝Joplin客戶端就能用，適合在公用電腦臨時登入。例如，Google Keep和Notion網頁版就很方便呀。\n有社群成員甚至自幹了Python Django寫的Joplin WebUI，然後沒多久就棄了。\n還有LinuxServer用網頁版VNC打包的joplin-docker映像檔。\n於是，Joplin作者的回應便是Joplin Web App：https://app.joplincloud.com\nJoplin Web App用React Native for Web寫成，基本上就是從手機版Joplin移植過來的網頁版Joplin客戶端，功能比電腦版客戶端少。詳細原理請看官方文件。\n目前Joplin Web App處於Beta階段，可能不穩定。\n根據官方文件，有興趣的用戶可以用Yarn在自己的伺服器部署Joplin Web App，但目前還沒有人打包Docker映像檔。所以我們暫時先用作者部署在官網的版本吧。可能會被蒐集一部分使用資料。\nJoplin Web App支援Firefox、Chrome、Safari瀏覽器。電腦和手機瀏覽器應該都可以用。\n不知道為什麼，如果同一個網路下同時開著Joplin電腦版客戶端，Joplin Web App會拒絕載入，必須先將其關閉。\n開啟後就跟手機版Joplin的操作一樣，打開網頁，設定要同步的帳號，進行筆記同步。為了節省同步時間，建議把附件下載設定為自動，這樣的話打開特定筆記才會開始下載圖片。 手機版Joplin支援的功能它都有，所以也能夠手寫繪圖。我試著在iPad的Safari操作，確認它是認得到Apple Pencil筆壓的。 不過，Joplin Web App同步的方式不太理想，因為得將所有筆記檔案都抓下來，利用OPFS儲存到瀏覽器本機。這意味著，資料庫、Markdown文字檔、圖片附件都會一併儲存在瀏覽器。\n臨時要在公用電腦用的話不是那麼便利。同步資料有點慢。\n作者有提到說，系統RAM不足的時候，有的瀏覽器會清除資料，這可能會造成筆記丟失。\n此外，因為Joplin沒有登出按鈕，清除Joplin網頁筆記帳號的方法，是清空瀏覽器資料。\n","date":"2025年12月12日","externalUrl":null,"permalink":"/posts/joplin-web-app/","section":"所有文章","summary":"注意：本篇文章Ivon討論的不是Joplin Web Clipper，亦不是架設Joplin同步伺服器\n有一款能隨時用網頁寫作的Markdown筆記本，難道不是一件便利的事情嗎？ Joplin是一款開源筆記軟體，支援Linux、Windows、macOS、Android、iOS。電腦版客戶端是用Electron封裝的，手機版客戶端則使用React Native。\n但還缺了一角，網頁版。\n很多人都在敲碗，想要Joplin網頁版。\n這樣不用在電腦安裝Joplin客戶端就能用，適合在公用電腦臨時登入。例如，Google Keep和Notion網頁版就很方便呀。\n有社群成員甚至自幹了Python Django寫的Joplin WebUI，然後沒多久就棄了。\n還有LinuxServer用網頁版VNC打包的joplin-docker映像檔。\n於是，Joplin作者的回應便是Joplin Web App：https://app.joplincloud.com\nJoplin Web App用React Native for Web寫成，基本上就是從手機版Joplin移植過來的網頁版Joplin客戶端，功能比電腦版客戶端少。詳細原理請看官方文件。\n目前Joplin Web App處於Beta階段，可能不穩定。\n根據官方文件，有興趣的用戶可以用Yarn在自己的伺服器部署Joplin Web App，但目前還沒有人打包Docker映像檔。所以我們暫時先用作者部署在官網的版本吧。可能會被蒐集一部分使用資料。\nJoplin Web App支援Firefox、Chrome、Safari瀏覽器。電腦和手機瀏覽器應該都可以用。\n不知道為什麼，如果同一個網路下同時開著Joplin電腦版客戶端，Joplin Web App會拒絕載入，必須先將其關閉。\n","title":"試用Joplin網頁版 (Web App)，免安裝程式就可以寫Markdown筆記","type":"posts"},{"content":"繼Edge和Kiwi之後，又有一款Android手機瀏覽器支援電腦版Chrome擴充功能(extension)了！\nCromite是主打隱私保護的開源瀏覽器，基於Chromium開發。界面跟Chrome很像，但是加入了額外的一組功能。例如支援Adblocker、載入ViolentMonkey指令稿、自訂User Agent、檢視網頁原始碼、自訂搜尋引擎等等。 最近版本Cromite加入了擴充功能支援，這樣我們就能安裝uBlock Origin擋廣告，並透過ViolentMonkey的腳本修改網頁內容啦～例如允許手機版Youtube網頁背景播放。\n雖然Cromite不能登入Google帳號同步，但由於我書籤用Floccus、密碼用Bitwarden這些degoogle的服務，所以這影響不大。我只要有一款能忠實顯示網頁的瀏覽器就夠了。 Ivon主要想在Android上用開源瀏覽器，Kiwi已經放棄開源了（準確來說是放棄開發了）所以淘汰。為了網頁相容性考量，我選擇Chromium為基底的，Firefox系效能太爛不是很推薦。嘗試過Vanadium之後我覺得還不賴！有Chrome的簡潔又能保護隱私，可惜它只能在GrapheneOS的ROM使用，沒有提供獨立的APK。因此找到了Cromite。\n話說，講到保護隱私又開源的瀏覽器，會想到Brave吧？他們原始碼都有開源，還有提供F-Droid套件庫。我一直有在用，但我實在看不慣那顆紅燒獅子頭一直出現在螢幕上，加上Brave公司常常塞一堆crypto shit進來。所以，我偏好比較「乾淨」「簡潔」的Cromite。 Cromite是基於Chromium開發的專案，吸納了一部分Bromite的功能。支援Android、Linux、Windows系統。\nCromite最早是另一個開源瀏覽器Bromite的fork，他們的口號是「Take back your browser」，雖然Bromite官網還在，但自從2022年俄羅斯入侵烏克蘭之後開發者就停止維護了。我有點擔心Cromite開發者會不會哪一天也像Bromite開發者一樣出事，不過就算發生了，也會有「Dromite」出現吧 :)\n雖說如此，Cromite還是有天生的開發劣勢，那就是開發者人數比較少，幾乎是一人專案。跟有專業團隊的Brave比起來，穩定度可能沒有那麼好。若是為了穩定度考量，我還是會優先選Brave。\n1. 下載Cromite APK # Cromite支援Android、Linux、Windows系統。\nCromite沒有在Google Play上架，也沒有在F-Droid上架，得匯入套件庫。\n建議到Github下載Cromite，選取ARM64架構的ChromePublic即可。\nSystemWebView，是全域替代Android System WebView元件用的，沒有Root的話裝了沒用。這個東西得透過Magisk模組替換掉Android系統的Android System WebView，或者靠第三方ROM開發者整合到系統裡面，例如/e/ OS就採用了Cromite作為預設WebView。\nVanillaChromium是給想體驗無修改的上游版Chromium的用戶使用的，什麼特別功能都沒有。\n鑑於瀏覽器應該是要常常更新，以取得上游最新功能的APP，我推薦用Obtainium自動訂閱Cromite的APK更新。\n2. 調整一下Cromite功能 # 在隱私權與安全性，開啟Allow custom tab intents，這樣其他APP的內嵌WebView就可以用Cromite載入。 Use ephermeral mode for CCT，是將其他APP的內嵌WebView與Cromite資料隔離，保護隱私。\n你也可以勾選Open exterinal links in incognito，以無痕模式開啟APP的WebView。\nAllow forward URL requests to external intents是允許網頁跳轉到APP的選項，例如開啟Dcard網頁強制跳轉到Dcard APP。預設是關閉的，這樣就可以順利待在手機版網頁瀏覽。\n為了安全性考量，Cromite的JavaScript JIT、WebGL、WebRTC預設是停用的。ViewPort Protection是保護隱私之用。但是很多網站會需要這些功能，建議到網站設定裡面開啟。 上面講的這些權限，可以在檢視網頁的時候按右上角開關 3. 安裝Chrome擴充功能 # 在設定 → Developer Options開啟Enable extensions的選項\n再開啟Chrome線上應用程式商店就可以下載了。\n呼應上游的變更，Cromite已經不支援Manifest V2的擴充功能了。\nCromite的擋廣告是採用Adblock Plus，我覺得這份清單效果不好。所以我會另外安裝uBlock Origin Lite（支援Manifest V3）來擋廣告。 Cromite設定選單的User Scripts有一些有趣的腳本，不過不見得能用。\n推薦用擴充功能裝ViolentMonkey擴充套件，再匯入想執行的指令稿，成功率較高。例如，這裡有一個允許在背景播放手機版Youtube網頁影片的指令稿：YouTube Mobile Background Playback (Firefox Android) ","date":"2025年12月12日","externalUrl":null,"permalink":"/posts/android-cromite-browser/","section":"所有文章","summary":"繼Edge和Kiwi之後，又有一款Android手機瀏覽器支援電腦版Chrome擴充功能(extension)了！\nCromite是主打隱私保護的開源瀏覽器，基於Chromium開發。界面跟Chrome很像，但是加入了額外的一組功能。例如支援Adblocker、載入ViolentMonkey指令稿、自訂User Agent、檢視網頁原始碼、自訂搜尋引擎等等。 最近版本Cromite加入了擴充功能支援，這樣我們就能安裝uBlock Origin擋廣告，並透過ViolentMonkey的腳本修改網頁內容啦～例如允許手機版Youtube網頁背景播放。\n雖然Cromite不能登入Google帳號同步，但由於我書籤用Floccus、密碼用Bitwarden這些degoogle的服務，所以這影響不大。我只要有一款能忠實顯示網頁的瀏覽器就夠了。 Ivon主要想在Android上用開源瀏覽器，Kiwi已經放棄開源了（準確來說是放棄開發了）所以淘汰。為了網頁相容性考量，我選擇Chromium為基底的，Firefox系效能太爛不是很推薦。嘗試過Vanadium之後我覺得還不賴！有Chrome的簡潔又能保護隱私，可惜它只能在GrapheneOS的ROM使用，沒有提供獨立的APK。因此找到了Cromite。\n話說，講到保護隱私又開源的瀏覽器，會想到Brave吧？他們原始碼都有開源，還有提供F-Droid套件庫。我一直有在用，但我實在看不慣那顆紅燒獅子頭一直出現在螢幕上，加上Brave公司常常塞一堆crypto shit進來。所以，我偏好比較「乾淨」「簡潔」的Cromite。 Cromite是基於Chromium開發的專案，吸納了一部分Bromite的功能。支援Android、Linux、Windows系統。\n","title":"Cromite：支援電腦版Chrome擴充功能的開源Android瀏覽器","type":"posts"},{"content":"What are the FOSS Chinese IME alternatives to Gboard?\n在degoogle的Android手機，有什麼好用的開源中文輸入法呢？打字不會蒐集使用者資料的？\n我們似乎太依賴Google的Gboard了，俗又大碗的支援所有語言，習以爲常的使用這種侵犯隱私的鍵盤。沒有它我們甚至不能打字了。\n雖然中文輸入法有很多競品，不過大部分是專有軟體，包括ZenUI鍵盤、三星鍵盤、SwiftKey等等。中國開發的輸入法更不必說了，打錯字glowies馬上到你家門口。\n在F-Droid逛了一圈，大部分是英文鍵盤，中文的很少。英文的我是不怎麼在乎，Heliboard設計就夠好了吧。有模擬鍵盤輸入的特殊打字需求再裝Hacker\u0026rsquo;s Keyboard。\n中文輸入法我擅長的不多，我的小腦袋瓜能看懂的中文輸入方案只有漢語拼音和注音。\n我嘗試了一輪後，麻了，能替代Gboard的，還真的沒有。至少在美感上，沒有與Gboard的Material You設計比肩的。自由的道路，竟要忍受如此不便，我得嘗試適應。 1. GCIN # 下載\n臺灣人開發的跨平台輸入法，提供倉頡、行列、注音、嘸蝦米、速成、大易輸入法。\n輸入框很像電腦版微軟新注音，適合接上實體鍵盤使用。雖然是開源軟體不過他們只有在Play商店上架，且需要付費解鎖完整版。 界面很土。\n2. 樸實注音鍵盤 # 下載\n臺灣人開發的，採用新酷音的函式庫，提供大千、許氏、倚天鍵盤排列組合。用起來像微軟ㄅ半，感覺用這個打字速度會下降許多。也許習慣老派Windows打字體驗的用戶會喜歡。 雖然界面很土，但是是F-Droid上難能可貴的觸控注音輸入法。\n3. Fcitx5小企鵝 # 下載\n中國開發者製作，從Linux輸入法框架移植過來的，提供簡繁轉換（包括OpenCC），紀錄剪貼簿歷史，打字會積極的提示Emoji，可以自訂主題。將拼音、注音、粵拼、RIME、日文Anthy、韓文Hangul、越南文UniKey、泰文、僧伽羅文輸入法也帶了過來，以獨立APK插件的方式安裝。\n虛擬鍵盤不成熟，只有拼音，沒有注音，比較適合實體鍵盤輸入。喜歡電腦Fcitx5操作的話，調整一下之後我覺得還蠻可以的。 預設界面有點土。設計很像古早Android 5的Material Design，風格讓人想到以前的Google注音鍵盤。需要到設定裡面啟用Material You主題。\n4. Trime同文 # 下載\n中國開發者製作，源自中州韻RIME的輸入法，看來是功能最多的，可以一鍵簡轉繁、切換全形、剪貼簿歷史、自訂主題。還有許多特殊符號，包括注音符號、日文假名、韓文諺文、西里爾字母、希臘文、Emoji等等。\n不過內建的是朙月拼音，需要手動配置一下洋蔥注音輸入方案。熟悉了操作之後我覺得還蠻可以的。 界面有點土。設計很像古早Android 5的Material Design。\n","date":"2025年12月12日","externalUrl":null,"permalink":"/posts/gboard-chinese-ime-foss-alternatives/","section":"所有文章","summary":"What are the FOSS Chinese IME alternatives to Gboard?\n在degoogle的Android手機，有什麼好用的開源中文輸入法呢？打字不會蒐集使用者資料的？\n我們似乎太依賴Google的Gboard了，俗又大碗的支援所有語言，習以爲常的使用這種侵犯隱私的鍵盤。沒有它我們甚至不能打字了。\n雖然中文輸入法有很多競品，不過大部分是專有軟體，包括ZenUI鍵盤、三星鍵盤、SwiftKey等等。中國開發的輸入法更不必說了，打錯字glowies馬上到你家門口。\n在F-Droid逛了一圈，大部分是英文鍵盤，中文的很少。英文的我是不怎麼在乎，Heliboard設計就夠好了吧。有模擬鍵盤輸入的特殊打字需求再裝Hacker’s Keyboard。\n中文輸入法我擅長的不多，我的小腦袋瓜能看懂的中文輸入方案只有漢語拼音和注音。\n我嘗試了一輪後，麻了，能替代Gboard的，還真的沒有。至少在美感上，沒有與Gboard的Material You設計比肩的。自由的道路，竟要忍受如此不便，我得嘗試適應。 1. GCIN # 下載\n臺灣人開發的跨平台輸入法，提供倉頡、行列、注音、嘸蝦米、速成、大易輸入法。\n輸入框很像電腦版微軟新注音，適合接上實體鍵盤使用。雖然是開源軟體不過他們只有在Play商店上架，且需要付費解鎖完整版。 界面很土。\n2. 樸實注音鍵盤 # 下載\n","title":"替代Gboard的開源Android中文輸入法？","type":"posts"},{"content":" 一般通過逸民に、激寒（げきさむ）なLinux布教をする。 親戚にケモナーがいて、獸無限の集まりに行き、3Dモデリングを少し知っていて、R6を遊ぶのが好きで、大港開唱でバンドを聴く人でもある。一方、私はCWTにしか行かない。私は一日中I use Arch Linux btwと言い、彼にシステムをLinuxへ切り替えるよう勧めた。\n大学一年生向けのUbuntu基礎講義で、教授とソフトリンクとハードリンクの違いについて議論し、隣のLinux初心者の同級生を完全に困惑させた。\n教授に、論文ではプロプライエタリフォントTimes New Romanを使うべきではなく、自由なLiberation Serifを使うべきだと提案した！\n台大巴哈站聚で、艦これ提督にノートパソコン上のUbuntuを紹介した。\n統計ソフトがLinuxで動かない。Macbookとは何かしか知らない年上のお姉さんに、なぜこんな奇妙なシステムを使うのかと聞かれた。\n誰もDuckduckgoを聞いたことがない。Google以外の検索エンジンがあると言ったとき、気まずい視線が一斉に集まった。\n英語教授法の授業で、GCCのbootstrappingを使って言語学文法の自己ブートストラップを比喩したところ、言葉のない沈黙を招いた。\nオペレーティングシステム恐竜本の授業で、WindowsコンピューターにMSYS2を入れてVimでマルチスレッドプログラムを書くことにこだわった結果、GCCで出た結果が先生のMSVCと違った。\n.Net Windows Formsを教える授業なのに、私はWineを使ってLinuxで変換実行する様子を実演した。\nオフィスの共用コンピューターにこっそりLibreOfficeをインストールしたが、今に至るまで気づかれていない。たぶん彼らは、このOffice 2007はなぜこんなに変な見た目なのかと思っている。\nGenAIの教学現場でfuck you Nvidiaと煽り、私たちはAMDかIntelのグラフィックカードを買い、Linux上にインストールして走らせるべきだ、Windowsなんて何だよと言った。しかし彼らは、Linuxを使ったことがあるがよくグラフィカルインターフェースを壊したので試したくないと言った。\n誰かがWindows XPの古いノートパソコンでまだ何ができるかと聞き、いろいろなシステムを試してみたいと言ったとき、私はPlan 9のインストールを勧めた。\nプロ翻訳者のコミュニティで、商用ソフトウェアCrowdinではなく、オープンソース協作でよく使われるWeblateの使用を提案し、実用主義者から砲撃された。\n自由ソフトウェアの服を着て文学部内をうろつく。Richard Stallmanのおやじ（おやじ）みたいだ。彼は若いころから老いるまで、同じ象徴的な赤い服を着続けられそうな気がする。少し悲しいのは、過去に文学部では、私の服にあるFreeBSD悪魔とLinuxペンギンを認識できる人がほとんどいなかったことだ。理学部を一周すべきだった。\n以上の問題は、高雄KaLuGと台北SLATの内輪集会に参加してから、ようやく緩和された。私はもうscript kiddieではいたくない。こここそ本当にsuper hackerの領域だ！いつか必ずCOSCUPへ行く！\n","date":"2025年12月12日","externalUrl":null,"permalink":"/ja-jp/posts/linux-fanboys-cringy-moments/","section":"Foss-Issues","summary":" 一般通過逸民に、激寒（げきさむ）なLinux布教をする。 親戚にケモナーがいて、獸無限の集まりに行き、3Dモデリングを少し知っていて、R6を遊ぶのが好きで、大港開唱でバンドを聴く人でもある。一方、私はCWTにしか行かない。私は一日中I use Arch Linux btwと言い、彼にシステムをLinuxへ切り替えるよう勧めた。\n大学一年生向けのUbuntu基礎講義で、教授とソフトリンクとハードリンクの違いについて議論し、隣のLinux初心者の同級生を完全に困惑させた。\n教授に、論文ではプロプライエタリフォントTimes New Romanを使うべきではなく、自由なLiberation Serifを使うべきだと提案した！\n台大巴哈站聚で、艦これ提督にノートパソコン上のUbuntuを紹介した。\n統計ソフトがLinuxで動かない。Macbookとは何かしか知らない年上のお姉さんに、なぜこんな奇妙なシステムを使うのかと聞かれた。\n誰もDuckduckgoを聞いたことがない。Google以外の検索エンジンがあると言ったとき、気まずい視線が一斉に集まった。\n英語教授法の授業で、GCCのbootstrappingを使って言語学文法の自己ブートストラップを比喩したところ、言葉のない沈黙を招いた。\n","title":"普通の人にLinuxを布教する社会的死亡現場、あまりにも激寒！","type":"foss-issues"},{"content":" Android 16のLinuxターミナルは、必ずしもTermuxキラーにはならない。\nTermuxは、オープンソースソフトウェア愛好者たちが開発しているAndroidターミナルAPPで、独自のパッケージリポジトリを持っている。\nPixelスマホ上のDebian Terminalを触ってみて、現時点ではこの結論に至った。これはAVFフレームワークを使ってDebian環境を実行し、ChromeOS crosvmに似た技術を使っている。Androidから隔離された、環境としては完全な仮想マシンで、SystemdやDockerを実行できる。\nただし、起動には少し時間がかかる。さらに仮想マシンとホストの隔離により、性能低下も発生する。\nGPUアクセラレーションの実現は可能かもしれないが、効率はTermuxより大きく高くなるわけではないだろう。LinuxのWaylandウィンドウをAndroidコンポジタ上に表示する問題も処理しなければならない。\n単にCLIプログラムを動かしたいだけなら、Termuxのほうがシンプルで効率がよい。仮想化という層がないからだ。すべてのパッケージはARM64向けにコンパイルされており、急にSSHリモート接続を開きたい場合も、Termuxの起動が最速だ。\nTermuxのGPUアクセラレーションにはTurnipとVriGLも使える。\nより根本的な違いは、両者の技術アーキテクチャがまったく異なることにある。TermuxはあくまでAndroidネイティブアプリで、userspaceのプログラム環境を作り、ARM64のELFバイナリを直接実行しているだけであり、本当の意味での仮想化は一切ない。ほぼネイティブに近い性能でファイルシステムへアクセスでき、Androidシステムが提供するリソースも直接利用できる。そのため起動時間が速く、I/Oレイテンシが低く、CLIツールを起動する体験が非常によい。\n一方、Android 16 Linuxターミナルは別の道を取っている。現在の設計を見る限り、完全なpKVM仮想化 + VirtIOインターフェースを使う方式だ。そのため、起動のたびに実際にはLinux仮想マシンをブートしており、I/OはすべてVirtIOを通る。GPUのグラフィック処理では guest → host → Android SurfaceFlinger という長いデータ経路を扱う必要がある。仮想マシンがホスト側のハードウェアインターフェース（camera、USB、GPU）を使いたい場合も、追加の変換層が必要になるか、そもそもアクセスが禁止される。この完全な隔離はもちろん安全だが、その代償として「タップしてすぐ開き、数秒でshellに入る」体験は期待しにくい。\n性能面では、Python scripts、SSH、git、中小規模コードのコンパイルなど、CLIプログラムを動かすだけなら、おそらくTermuxのほうが速い。Androidカーネルと直接やり取りしており、仮想化 overhead がないからだ。GPUアクセラレーションも同様で、TermuxはTurnip/VirGLを通じてAndroidのOpenGLとVulkanアクセラレーションを利用する。かなりhackyではあるが、少なくとも動くし、仮想化層を迂回するぶんレイテンシも低い。\n安全性の面では、Linux仮想マシンの客観的な優位性は明らかだ。Termuxがどれだけサンドボックスで隔離されていても、本質的にはAndroid APP層で動いており、攻撃面は一般的なAPPと大きく変わらない。一方AVFはハードウェアレベルの隔離で、さらにpKVMにより仮想マシンのDMA権限、メモリ可視性、利用可能な peripheral を制限できる。これは企業、タブレット、教育市場にはかなり役立つはずだ。\nこのLinuxターミナルは、どちらかといえばAndroidタブレットをChromeOS化していくための布石だと思う。AVFの技術により、ARMプロセッサ上の仮想化へ統一されたインターフェースを提供できる。\n","date":"2025年12月12日","externalUrl":null,"permalink":"/ja-jp/posts/termux-vs-android-linux-terminal/","section":"Termux-Tutorials","summary":" Android 16のLinuxターミナルは、必ずしもTermuxキラーにはならない。\nTermuxは、オープンソースソフトウェア愛好者たちが開発しているAndroidターミナルAPPで、独自のパッケージリポジトリを持っている。\nPixelスマホ上のDebian Terminalを触ってみて、現時点ではこの結論に至った。これはAVFフレームワークを使ってDebian環境を実行し、ChromeOS crosvmに似た技術を使っている。Androidから隔離された、環境としては完全な仮想マシンで、SystemdやDockerを実行できる。\nただし、起動には少し時間がかかる。さらに仮想マシンとホストの隔離により、性能低下も発生する。\nGPUアクセラレーションの実現は可能かもしれないが、効率はTermuxより大きく高くなるわけではないだろう。LinuxのWaylandウィンドウをAndroidコンポジタ上に表示する問題も処理しなければならない。\n単にCLIプログラムを動かしたいだけなら、Termuxのほうがシンプルで効率がよい。仮想化という層がないからだ。すべてのパッケージはARM64向けにコンパイルされており、急にSSHリモート接続を開きたい場合も、Termuxの起動が最速だ。\nTermuxのGPUアクセラレーションにはTurnipとVriGLも使える。\nより根本的な違いは、両者の技術アーキテクチャがまったく異なることにある。TermuxはあくまでAndroidネイティブアプリで、userspaceのプログラム環境を作り、ARM64のELFバイナリを直接実行しているだけであり、本当の意味での仮想化は一切ない。ほぼネイティブに近い性能でファイルシステムへアクセスでき、Androidシステムが提供するリソースも直接利用できる。そのため起動時間が速く、I/Oレイテンシが低く、CLIツールを起動する体験が非常によい。\n","title":"Androidに新しく追加されたDebian Linux Terminalは、必ずしもTermuxキラーにはならない","type":"termux-tutorials"},{"content":"雖說是degoogle的系統，總還是有用到Google服務的時候。不然我們光靠F-Droid上的開源APP是活不下去的。\nGrapheneOS不支援GApps，也永遠不會內建GApps。應該是說，開發團隊是不鼓勵使用者往系統塞GApps啦，得手動安裝。預設情況下GrapheneOS使用者是不能登入Googl帳號與使用Google服務的，得透過「GMSCompat」安裝GApps。\n1. 好想把你藏起來 # 好想把你藏起來，藏在胸前的口袋，把你暖暖的融化，你就再也離不開。（杜德偉 - 把你藏起來）\nGrapheneOS開發者提出了一個GMSCompat的功能，將GApps/GMS的特權指令攔截、轉譯，讓GMS服務像是一般Android APP一樣沙盒化執行，不授予過高的權限。這稱之為Sandboxed Google Play。\nGMSCompat將GApps轉變為一般APP，不用像LineageOS那樣透過Recovery刷到Android系統裡面，可以隨時解除安裝。\n這是什麼概念呢？要知道，一般LineageOS這類第三方ROM基於授權因素不會內建GApps，要使用者自己用Recovery刷。這個時候是請神容易送神難的。GApps一旦安裝後，就會取得系統許多敏感的權限。你還不能趕它走，除非重刷系統。\n於是，你就只能在完全不裝GApps與安裝GApps之間做抉擇。\nGMSCompat巧妙的緩解了這個問題。它讓你我們能使用GApps，卻不會被申請過多不必要的權限。並且GApps是能夠隨時解除安裝的，你不必被GApps綁架。\n這樣操作上有點類似華為手機在用的GBox（基於microG開發的專有軟體），卻又不用受到專有軟體黑箱掣肘。\nGMSCompat又跟microG不一樣，並不需要signature spoofing偽裝成GMS就能使用。由於這裡的GMS服務被沙盒隔離，權限與一般APP無異，需要手動授予安裝APP的權限。此外，GrapheneOS採取最小授權原則，只授予GMS必要權限，剩下的端看使用者決定要不要開啟（會顯示在通知欄問你權限，例如讀取簡訊）\n一般人的想法會認為，GMS應該要直接安裝在主帳號吧？不過呢，我想把它藏起來。\n我聽說華為手機國際版可以透過一款名為GBox的專有軟體，執行Google Play服務。那麼，我們是否可以將GMS的權限進一步限縮呢？我希望，Google Play服務可以不污染整個Android系統，而是將其關起來，像虛擬機或容器一樣在特定的環境執行。\n儘管GMSCompat本身就已經將GMS服務能存取的資訊限制到最小程度，我還是想新增多一層防護。\nGrapheneOS的GMSCompat實現正是我一直想找的東西。它讓GMS「降級」成跟一般APP無異的東西，可以隨時強制停止，不會預設取得Androoid系統的最高權限。這樣，GMS就不會是手機裡面強制安裝的寄生蟲了。以前在用degoogle的LineageOS的時候，我就把握了一個原則：應當只在APP層面登入Google服務，不要擴及到整個系統。可惜的是，太多APP依賴GMS服務運作了，即使安裝microG也無法滿足，到頭來我還是得刷GApps，安裝至系統。\n有了GMSCompat，然後呢？\n利用Android 16內建的「工作設定檔」或者「私人空間」或者「多重使用者」，我們就能把GMS藏進去啦。\n例如，我可以只在工作設定檔安裝GApps，主設定檔不裝GApps，只使用F-Droid下載的自由軟體。 然後不用的時候一鍵將工作設定檔全部「暫停」，完全禁止GApps在背景執行！達成一種半degoogle的狀態。 Android表層帳號不要啟用Gmscompat，只在私人空間啟用。然後，我們可以利用Android提供的機制，一鍵凍結GMS執行！關在設定檔裡面的APP能夠一鍵停止執行，讓GMS的通知完全出不來。\n這樣的話，表層的Android就可以維持degoogle的樣子，GMS並不會浮出檯面。\n2. 安裝GMSCompat # GMSCompat是GrapheneOS專屬功能，這個機制要移植到其他ROM有點困難。\n只要從GrapeneOS的App Store下載Google Play Service即可。 但是我上面說了，我不要在Android主帳號安裝GApps，而是把它關起來，因此，我們得先執行下面的步驟，創造給GMS執行的專屬空間。\n3. 私人空間、工作設定檔、多重使用者的選擇？ # 私人空間（設定 → 安全與隱私權 → 私人空間）是Android的內建功能，可以設定密碼。執行時依然會收到通知。可以凍結APP執行。開啟後會在主畫面APP列表下方顯示。 工作設定檔需要靠第三方APP觸發，例如Shelter。有完整的檔案管理功能。不能設定密碼。執行時依然會收到通知。可以凍結APP執行。開啟後會在主畫面APP列表旁邊顯示工作設定檔。 多重使用者（設定 → 系統 →使用者），必須先登出目前使用者，好像在使用另一台手機一樣。可以設定密碼。不適合需要在主帳號與副帳號APP快速切換的場合使用。可以凍結APP執行。開啟後會在通知欄顯示目前的使用者。 按照個人需求設定就好了，這裡面隔離GMS最徹底的是多重使用者。\n按照GrapheneOS的設計，在你手動點選安裝之前，GMS是不會存在於Android系統裡面的。\n不論你採用哪一個方案，都需要手動點選GrapheneOS的App Store下載GApps，GApps並不會自動安裝。\n","date":"2025年12月12日","externalUrl":null,"permalink":"/posts/grapheneos-advanced-sandboxed-gapps/","section":"所有文章","summary":"雖說是degoogle的系統，總還是有用到Google服務的時候。不然我們光靠F-Droid上的開源APP是活不下去的。\nGrapheneOS不支援GApps，也永遠不會內建GApps。應該是說，開發團隊是不鼓勵使用者往系統塞GApps啦，得手動安裝。預設情況下GrapheneOS使用者是不能登入Googl帳號與使用Google服務的，得透過「GMSCompat」安裝GApps。\n1. 好想把你藏起來 # 好想把你藏起來，藏在胸前的口袋，把你暖暖的融化，你就再也離不開。（杜德偉 - 把你藏起來）\nGrapheneOS開發者提出了一個GMSCompat的功能，將GApps/GMS的特權指令攔截、轉譯，讓GMS服務像是一般Android APP一樣沙盒化執行，不授予過高的權限。這稱之為Sandboxed Google Play。\nGMSCompat將GApps轉變為一般APP，不用像LineageOS那樣透過Recovery刷到Android系統裡面，可以隨時解除安裝。\n這是什麼概念呢？要知道，一般LineageOS這類第三方ROM基於授權因素不會內建GApps，要使用者自己用Recovery刷。這個時候是請神容易送神難的。GApps一旦安裝後，就會取得系統許多敏感的權限。你還不能趕它走，除非重刷系統。\n","title":"將Android的GApps關在私人空間執行，凍結背景執行權限（使用GrapheneOS的GMSCompat）","type":"posts"},{"content":"講到最好的Android相機APP，Ivon認為還得是Open Camera莫屬。\n它提供拍照與錄影功能。\n很少有相機APP是開源的，然後又提供這麼多自訂功能，讓人把玩。如果你追求自由開源的相機方案，不想被各家廠商的閉源APP綁架，那麼你值得嘗試Open Camera！ 這個APP評價兩極，有人說它拍出來照片很自然乾淨，也有人說照片拍出的遠不如手機品牌內建的相機好。後者的變數很大，因為每家手機廠都有自家演算法美化照片，而Open Camera就只是拍照搭配簡單演算法處理而已，需要一些手動調整，這又不是美圖秀秀，沒有那麼多文青濾鏡讓你選！如果想要無腦拍出好照片的，還是想辦法用GCam Ports吧。\n這裡有我個人使用Open Camera的理由：雖然Gcam相機的AI演算法強，但也有翻車的時候。AI自動模式有時把顏色抹的太豔了！導致在注重物件顏色的場合就會跑掉，像是橘色拍成紅色。GCam的界面不適合調整參數的場合，因此我不得不出動Open Camera來調整。在我精細的控制ISO與白平衡後，總算解決AI亂算的問題了。\n儘管APP介面有點醜，我想Open Camera的價值在於手動模式豐富，功能比許多手機內建的相機要多，有點類似Sony的Photo Pro APP。我們可以透過Camera2 API設定ISO、白平衡、曝光、對焦距離、HDR等等，還有拍攝RAW檔，放到電腦上用digiKam進一步修圖。\nOpen Camera還有個好用功能：一旦抓好適當的曝光和白平衡後，使用者可以將所有參數鎖定，讓我們在拍照or錄影的時候不會因為光線劇烈變化導致失焦。\n1. 下載Open Camera APK # Open Camera支援Android 5.0以上的手機。\n如果可以的話，請先用Camera2 API Probe這類APP檢查手機的Camera2 API等級是否為LEVEL_3或FULL，才可以使用調整ISO與拍攝RAW照片的完整功能。\nOpen Camera是自由軟體，原始碼與使用手冊位於SourceForge。APP不會蒐集使用者資料。\n你可以在F-Droid或Google Play下載這個APP。\n2. 拍照界面 # 拍照時我會開啟的設定：開啟設定，啟用「Camera2API」解鎖ISO與快門速度的設定。\n螢幕GUI → 勾選顯示自動白平衡、顯示自動曝光與鎖定的選項。\n位置設定 → 勾選儲存位置資料\n（選擇性）相機預覽 → 開啟「顯示色階分佈圖」，選取亮度 (Luminance)，可以透過直方圖幫你判斷照片哪裡過曝哪裡欠曝。開啟「顯示斑馬條紋」，設定100%，提示畫面過曝區域。開啟「峰值對焦」，確定對焦的邊緣。\n（選擇性）照片設定 → 啟用「標記照片」，這樣日期浮水印就會直接印在照片右下角，不用看EXIF資訊。另外「文字標記」則是可以印上自訂文本。\n點選畫面左邊可以切換拍照與對焦模式。 AF為自動對焦，MF可以讓你手動控制鏡頭對焦，防止物件移動導致失焦。\nHDR模式需要使用者手動開啟，它可以增加照片的動態範圍。至於DRO則是運算比較快速的一種HDR。要不要用HDR需要看場景確定，例如光暗反差很大的場合就適合開啟，反之照片開啟HDR的話會有一種奇怪的色調。\nNR模式為Noise Reduction雜訊抑制，適合夜拍。\n如果有啟用Camera2API，且裝置支援的話，可以透過X-Night擴充模組在低光源下獲得更清晰的照片（我測試只有Pixel手機支援）。\n點一下白平衡，切換到手動，我們就可以調整色溫與ISO了。一切參數調整好之後，或者你讓程式自動計算到你覺得畫面可以了，按左邊的按鈕鎖定參數，這樣鏡頭移動的話，也不會改變目前的色溫設定！ Open Camara會嘗試使用手機鏡頭所支援的最高解析度進行拍攝。如果手機有多鏡頭可以點拍照鍵旁邊的小鏡頭切換，不過它不見得能正確抓到就是了，變焦可能也會有問題。\n3. 錄影界面 # 錄影時我會開啟的設定：開啟設定，影片設定 → 解析度，調整為1080p或4K以上。影片格式選取HEVC節省空間。影片影格率設定為60以上。\n螢幕GUI → 顯示音量計。\n錄影的時候同樣可以手動調整白平衡與ISO，然後將其鎖定，這樣影片的光線變化就會維持一致。 在錄影的時候，按旁邊的小按鈕依然可以拍照！\n並且錄影的時候你依然可以即時調整白平衡數值。\n","date":"2025年12月12日","externalUrl":null,"permalink":"/posts/android-open-camera/","section":"所有文章","summary":"講到最好的Android相機APP，Ivon認為還得是Open Camera莫屬。\n它提供拍照與錄影功能。\n很少有相機APP是開源的，然後又提供這麼多自訂功能，讓人把玩。如果你追求自由開源的相機方案，不想被各家廠商的閉源APP綁架，那麼你值得嘗試Open Camera！ 這個APP評價兩極，有人說它拍出來照片很自然乾淨，也有人說照片拍出的遠不如手機品牌內建的相機好。後者的變數很大，因為每家手機廠都有自家演算法美化照片，而Open Camera就只是拍照搭配簡單演算法處理而已，需要一些手動調整，這又不是美圖秀秀，沒有那麼多文青濾鏡讓你選！如果想要無腦拍出好照片的，還是想辦法用GCam Ports吧。\n這裡有我個人使用Open Camera的理由：雖然Gcam相機的AI演算法強，但也有翻車的時候。AI自動模式有時把顏色抹的太豔了！導致在注重物件顏色的場合就會跑掉，像是橘色拍成紅色。GCam的界面不適合調整參數的場合，因此我不得不出動Open Camera來調整。在我精細的控制ISO與白平衡後，總算解決AI亂算的問題了。\n儘管APP介面有點醜，我想Open Camera的價值在於手動模式豐富，功能比許多手機內建的相機要多，有點類似Sony的Photo Pro APP。我們可以透過Camera2 API設定ISO、白平衡、曝光、對焦距離、HDR等等，還有拍攝RAW檔，放到電腦上用digiKam進一步修圖。\n","title":"Open Camera簡介：可以手動調整ISO與快門速度的Android相機APP，支援Camera2 API","type":"posts"},{"content":"Ivon將分享如何在Google Pixel手機安裝GrapheneOS系統，穿插一點使用心得。 1. GrapheneOS簡介 # 講到刷機，我們都會先想到LineageOS吧？它是支援機型最多的第三方ROM。最近幾年，出現了GrapheneOS，是為一個注重安全與隱私的Android系統。\nGrapheneOS官網有針對每個功能詳盡解釋。很多都是針對系統底層的修改，一般使用者可能較難以察覺。\n茲列舉部份特色：\n由非營利組織維護的開放原始碼專案 相容大多數的Android APP 強化Android的權限系統，例如禁止APP內的WebView啟用JIT、禁止APP上網、禁止存取感測器、啟用Hardened malloc保護記憶體、用Storage Scope限制APP能夠看到哪些檔案（即使它要求存取全部檔案）、用Contact Scope限制APP讀取的聯絡人列表 即時檢視每個APP執行時輸出的log檔 截圖與拍照之後，會自動清除任何有關手機硬體的資訊，防止EXIF被用於社會工程 搭載自家開發的Vanadium瀏覽器與WebView，預設停用JavaScript JIT，提供擋廣告功能 緊跟Google上游最新版軟體，每月提供安全性修補更新 系統去Google化，沒有Google全家桶，預設沒有任何GMS服務在背景浪費電。需要使用者手動安裝。 去除Android系統所有依賴Google伺服器的服務，例如時間同步、GNSS、LTE SUPL、連線能力確認，換成GrapheneOS自家的代理伺服器 使用標準的Android硬體加密技術，提供驗證系統完整性的能力，不依賴Play Integrity 利用AVB custom key，讓Bootloader可以在刷機後重新上鎖，防止使用其他系統開機破解資料 使用Verified Boot在開機時驗證系統完整性，防止惡意竄改 連上Wifi的時候使用隨機MAC位址 預設停用掃描附近Wifi裝置（改善定位精確度）的功能。 超過18小時不解鎖的話就自動重開機，強制讓裝置進入BFU狀態，更難以被破解 定時自動關閉Wifi與藍牙 限制連接埠的存取權限，設定充電時只能充電，不可傳輸資料 Duress PIN，自爆按鈕，在緊急的情況下，輸入特定的密碼後自動清除手機資料 GrapheneOS不是LineageOS的那種通用作業系統，而是一個安全性至上的Android發行版。因此，愛搞機的人要失望了，它不鼓勵使用者root，因其會破壞安全機制，而且會無法OTA（當然你硬要的話還是可以用Magisk修補boot.img的方式root）。所以GrapheneOS不推薦用Magisk。Zygisk因為GrapheneOS針對zygote強化所以無法運作。GrapheneOS甚至建議你在刷機後把Bootloader鎖回去。\n從這點來看，他們注重使用者安全的程度，勝過給使用者自由胡搞亂搞。\n2. Pixel與GrapheneOS使用體驗比較 # GrapheneOS官方支援的機型目前以Pixel手機為主。\nPixel的系統是基於Android原生，設計語言為Material Expressive。內建了許多Google認為「你需要」的APP。 GrapheneOS繼承了Android原生的界面。內建APP非常少，不需要網路就能運作，功能很精簡。GrapheneOS安裝後是一片烏趖趖(oo-sô-sô)的，連瑪奇亞米都沒辦法照顧。界面幾乎照搬Pixel，只是沒有了Google服務。 畢竟外觀不是GrapheneOS的賣點。\n所幸，GrapheneOS還是支援Material Expressive的桌布染色系統的。 由於GrapheneOS追上游更新追得很勤，每週都有更新，使用上與原廠Pixel沒有太大分別，只要不是依賴Google服務（例如畫圈搜尋、聽聲辨曲、快速分享、數位健康）的功能依然都可以使用，包括最新加入的Linux終端機。\n流暢度沒有差異，5G發熱程度也沒有差異（汗）Tensor處理器的鍋誰也救不了。我大部分時候是自主降級成4G，Tensor處理器就不會燙起來了。\n關於Pixel安裝GrapheneOS的續航有沒有變特別好，我持保留態度，這要看你的使用習慣。例如Pixel 6a電池健康度100%的情況下，續航可以達到12小時。將GMS全暫停可以多一點續航力。 3. 準備項目 # GrapheneOS官網說明文件提供二種刷機方法，一種是用圖形界面Web Installer，一種是用指令稿。\nWeb Installer使用十分無腦，只要按照GrapheneOS網頁指示一直下一步就行了，它會自動執行指令。操作類似Google Pixel官方提供的Android Flash Tool。 可是，因為Web Installer需要用到WebUSB，僅限Chrome才能用，Firefox不行，所以我就用指令刷了。\n準備一台Linux或Windows電腦。安裝ADB工具。\n下載刷機包。GrapheneOS支援的機型目前以Pixel全系列手機為主，支援的最舊裝置為Google Pixel 4。\n我手機是Google Pixel 6a，到這裡下載GrapheneOS刷機包：Releases | GrapheneOS，更新頻道選取Stable。得到bluejay-install-*.zip\n（選擇性步驟）GrapheneOS開發者建議在下載刷機包之後，用OpenSSH校驗檔案檔案是否有被竄改，應會顯示Good\ncurl -O https://releases.grapheneos.org/allowed_signers ssh-keygen -Y verify -f allowed_signers -I contact@grapheneos.org -n \u0026#34;factory images\u0026#34; -s bluejay-install-2025120400.zip.sig bluejay-install-2025120400.zip 將刷機包的zip檔案解壓縮 4. 開始刷入GrapheneOS # 開啟系統設定，在關於手機 → 版本號碼，點5下\n找到開發人員選項，開啟「允許OEM解鎖」\n手機關機。同時按著音量下鍵＋電源鍵，開機進入Fastboot（注意不是fastbootd），接上電腦\n在電腦上開啟終端機，解鎖Bootloader。\nfastboot flashing unlock 在手機上用音量鍵移動選項到Unlock bootloader，然後按電源鍵確定。\n重開機，會清除資料\nfastboot reboot 再次進入Fastboot。手機關機。同時按著音量下鍵＋電源鍵\n在刷機包解壓縮的目錄開啟終端機，開始刷入系統，期間會多次重啟\nchmod +x flash-all.sh bash flash-all.sh 等到指令稿跑完後，輸入以下指令，給Bootloader重新上鎖（是的，即使Bootloader上鎖，GrapheneOS還是可以開機）。增強安全性。在手機上用音量鍵移動選項到Lock bootloader的選項，然後按電源鍵確定。 fastboot flashing lock 啟動手機。雖然Bootloader上鎖了，但Pixel在開機的時候仍會顯示「Your device is loading a different operating system」的訊息。 fastboot reboot 啟動後手機資料會清除一遍。\n完成系統設定。系統會問你要不要將允許OEM解鎖上鎖？建議點選是，增強安全性。 5. 安裝GApps (Sandboxed Google Play) # 沒有GApps/GMS我怎麼活！？其實你不見得需要GMS啦！F-Droid上面有很多好用APP。\n但總有APP沒有開源替代品呀，且不是裝APK就行。有些APP需要GMS才能傳送通知，甚至偵測到沒有GMS就不給使用。\nGrapheneOS不支援GApps，也永遠不會內建GApps。應該是說，開發團隊是不鼓勵使用者往系統塞GApps啦，得手動安裝。GrapheneOS開發者提出了一個「GMSCompat」的功能，能讓GMS服務像是一般Android APP一樣沙盒化執行，不授予過高的權限。這稱之為Sandboxed Google Play。它跟microG不一樣，並不需要signature spoofing偽裝成GMS就能使用。\n值得注意的是，雖然理論上GrapheneOS是非常安全的系統，包括Bootloader上鎖與支援硬體級別的系統防竄改，但依然無法通過Play Integrity（只有MEETS_DEVICE_INTEGRITY，沒有MEETS_STRONG_INTEGRITY）。很多金融類的APP只有粗暴地依賴Play Integrity來確保安全性，而非是Android硬體提供的加密方案。未來GrapheneOS開發團隊可能會與歐盟聯手，逼迫Google開放Play Integrity。\n不需要從Recovery安裝GApps，只要從GrapeneOS的App Store下載即可 由於這裡的GMS服務被沙盒隔離，權限與一般APP無異，需要手動授予安裝APP的權限。此外，GrapheneOS採取最小授權原則，只授予GMS必要權限，剩下的端看使用者決定要不要開啟（會顯示在通知欄問你權限，例如讀取簡訊） GMS可以隨時強制停止，不會自動重新啟動。\n你也可以將GMS安裝到工作設定檔私人空間，這樣只有該名使用者能存取GMS服務。而且關在設定檔裡面的APP能夠一鍵停止執行，讓GMS的通知完全出不來。參見：將Android的GApps關在私人空間執行，凍結背景執行權限\n6. 沒有GCam的拍照品質 # GrapheneOS的相機是自行開發的Secure Camera，使用CameraX extensions提供夜拍模式。不是LineageOS那種AOSP最原生的相機。\n我覺得拍起來不輸Pixel原廠相機啦，下面左邊GrapheneOS，右邊Pixel。當然功能比GCam少，沒有取景提示，也沒有天文模式。 論可以手動調整拍照參數的開源APP，我推薦用OpenCamera。\n如果你真的很需要GCam，就用Sandboxed Google Play下載原廠的「Pixel相機」吧。但是，這樣你就會走回Google全家桶的老路了呀，因為GCam會要求你下載Google相簿才能檢視照片，有完沒完！\n","date":"2025年12月10日","externalUrl":null,"permalink":"/posts/google-pixel-6a-grapheneos/","section":"所有文章","summary":"Ivon將分享如何在Google Pixel手機安裝GrapheneOS系統，穿插一點使用心得。 1. GrapheneOS簡介 # 講到刷機，我們都會先想到LineageOS吧？它是支援機型最多的第三方ROM。最近幾年，出現了GrapheneOS，是為一個注重安全與隱私的Android系統。\nGrapheneOS官網有針對每個功能詳盡解釋。很多都是針對系統底層的修改，一般使用者可能較難以察覺。\n茲列舉部份特色：\n由非營利組織維護的開放原始碼專案 相容大多數的Android APP 強化Android的權限系統，例如禁止APP內的WebView啟用JIT、禁止APP上網、禁止存取感測器、啟用Hardened malloc保護記憶體、用Storage Scope限制APP能夠看到哪些檔案（即使它要求存取全部檔案）、用Contact Scope限制APP讀取的聯絡人列表 即時檢視每個APP執行時輸出的log檔 截圖與拍照之後，會自動清除任何有關手機硬體的資訊，防止EXIF被用於社會工程 搭載自家開發的Vanadium瀏覽器與WebView，預設停用JavaScript JIT，提供擋廣告功能 緊跟Google上游最新版軟體，每月提供安全性修補更新 系統去Google化，沒有Google全家桶，預設沒有任何GMS服務在背景浪費電。需要使用者手動安裝。 去除Android系統所有依賴Google伺服器的服務，例如時間同步、GNSS、LTE SUPL、連線能力確認，換成GrapheneOS自家的代理伺服器 使用標準的Android硬體加密技術，提供驗證系統完整性的能力，不依賴Play Integrity 利用AVB custom key，讓Bootloader可以在刷機後重新上鎖，防止使用其他系統開機破解資料 使用Verified Boot在開機時驗證系統完整性，防止惡意竄改 連上Wifi的時候使用隨機MAC位址 預設停用掃描附近Wifi裝置（改善定位精確度）的功能。 超過18小時不解鎖的話就自動重開機，強制讓裝置進入BFU狀態，更難以被破解 定時自動關閉Wifi與藍牙 限制連接埠的存取權限，設定充電時只能充電，不可傳輸資料 Duress PIN，自爆按鈕，在緊急的情況下，輸入特定的密碼後自動清除手機資料 GrapheneOS不是LineageOS的那種通用作業系統，而是一個安全性至上的Android發行版。因此，愛搞機的人要失望了，它不鼓勵使用者root，因其會破壞安全機制，而且會無法OTA（當然你硬要的話還是可以用Magisk修補boot.img的方式root）。所以GrapheneOS不推薦用Magisk。Zygisk因為GrapheneOS針對zygote強化所以無法運作。GrapheneOS甚至建議你在刷機後把Bootloader鎖回去。\n","title":"GrapheneOS簡介 ＆ Pixel 6a刷GrapheneOS使用心得，保護隱私的手機系統","type":"posts"},{"content":"為什麼要你架設個人網站？你確實應該經營一個個人網站，讓自己的存在得到證明。問題是，架好後要怎麼讓人找到你？\n你可曾聽過阿雷西博訊息？人類從地球上的天文台向外太空發射一系列訊號，希望在這個浩瀚無垠的大空洞能得到地外生命的回應。 我是從南瀛天文館認識到這個東西的。費米悖論不是真的，這世界不是黑暗森林。\n涼宮春日的憂鬱的動畫台詞，她曾經仰望星空，在這個世界上能讓宇宙人發現她什麼的。我覺得我現在能做的也就是這樣的事情。架設個人網站，向外播送自己的訊息，希望有人能得到「共鳴」而有所回覆。建立連結，互相幫助。\nStrangers passing in the street. By chance, two separate glances meet. And I am you and what I see is me. And do I take you by the hand. And lead you through the land. And help me understand the best I can? (Pink Floyd - Echoes)\n這樣講有點變態，我會偶爾看看網路上有誰引用文章。因為小破站採用的不是Wordpress架構，自然就沒有引用通知。所以想要知道哪些網站曾經放超連結指向我的Hugo網站，就只能靠Google Search Console和Bing WebMaster Tool紀錄的資訊得知。然後透過這些資訊，我就常常找到一些有趣的niche網站，默默把他們加入我的RSS訂閱列表。\n我是愛偷窺人的變態，請原諒我。我會不定期去看Google Analytics所捕獲到的反向連結內容。一天操作下來，常常收穫頗豐，可能他們是某個領域的大佬，而我的內容有幸被他/她看見。也有可能只是小咖的，一年沒發幾篇文的，因為我的內容獲得了收獲表達感謝之意。\n因為有這些人的存在，所以我們創作的內容就便成了有意義了起來。\n以前Google Search Console Insights有一個面板會顯示最新的反向連結，可惜現在移除了。我覺得在無邊無際的網路宇宙中，要像以前Web 2.0的時代建立起部落格為主的人際關係網路已經是很難做到的事情了，幾乎不可能有人會看了你的blog還寄E-mail來吧？雖然我還真的有收過。\n新新人類都習慣被社群媒體控制自己的眼界了，不知道在平台之外還有更遼闊的世界。即使透過blogroll和RSS效果也有限，Neocities沒幾隻活人，中文圈沒有那種Hacker News交流個人網站的平台。要參加線下開發者社群獲得交流，我又是積極的社恐。所以我只能透過這種方法來找到志同道合的朋友。\n回歸到一開始的問題，要如何讓找到你？還是只能用社群媒體宣傳了吧。不要太刻意的業配。大概就在分享有價值的訊息的時候趁勢插入自己的網站就行了，永遠不要將自身的內容寄託於單一平台。\n我想到，Wiwi真是一個好厲害的人啊，透過他的Wiwi.Blog超連結可以找到很多獨立網站，看看許多有趣想法，這就是正向的循環，不依賴社群媒體演算法所構築的世界。有時候，不需要是有明確說理的文章，就算只是紀錄日常新得，也夠我消磨時間了。閱讀這些東西的體驗，總比在社群媒體doom scrolling好吧。我應該要多關心同一個圈子裡面的別人才好，不是只有要引用學術論文的時候才想到他們。很多人受他的網站版面影響，搞了很多類似的頁面，可說是一個成就了。儼然台灣版的Neocities。\n雖然我上面說RSS的方式效果不是很好，但大家仍應該要自己架網站，搞RSS，還要弄友站連結(blogroll)，互相推薦「有趣的網站」，不靠演算法決定你能看到什麼，才能讓更好的網站出現在我們的視野！RSS訂閱不一定都要訂正兒八經的媒體啦，具有豐富個人特色的部落格亦值得一讀，好讓我消磨時間，阻止一直去滑Facebook那被演算法荼毒的惡毒動態牆的欲望。\n我個人認為，最簡單的架設網站方式，是使用Hugo靜態網站生成器。當然，沒有限定說一定要用這個，只是我目前用這個覺得比較彈性而已。\n架設網站可以成為你玩Self-hosting自架服務的一個起點。\n對於早期經營的網站來說，把網站放上Search Console有助於搜尋引擎收錄。\n還可以研究一下SEO關鍵字技巧，請AI協助寫一個不會太狗血又能傳達你理念的標題。找到特定領域niche點並長久經營，這樣文章有更大機率出現在搜尋引擎前段。我認為搜尋引擎已經是最公平的曝光平台了。我瞄準的不是單一社群媒體的流量，而是整個網路。天上的星星都不是敵人！不需要討好所有人。我覺得搜尋引擎是最公平的競爭平台，連接了個人網站和商業網站，好東西加上好SEO就會被放到搜尋結果前面，並且不會被困在一個平台裡面，這樣才達到開放網路的理想願景。\n這樣一來，不會把眼界弄小，而是知道這個世界有多大。\n","date":"2025年12月10日","externalUrl":null,"permalink":"/posts/2025120401/","section":"所有文章","summary":"為什麼要你架設個人網站？你確實應該經營一個個人網站，讓自己的存在得到證明。問題是，架好後要怎麼讓人找到你？\n你可曾聽過阿雷西博訊息？人類從地球上的天文台向外太空發射一系列訊號，希望在這個浩瀚無垠的大空洞能得到地外生命的回應。 我是從南瀛天文館認識到這個東西的。費米悖論不是真的，這世界不是黑暗森林。\n涼宮春日的憂鬱的動畫台詞，她曾經仰望星空，在這個世界上能讓宇宙人發現她什麼的。我覺得我現在能做的也就是這樣的事情。架設個人網站，向外播送自己的訊息，希望有人能得到「共鳴」而有所回覆。建立連結，互相幫助。\nStrangers passing in the street. By chance, two separate glances meet. And I am you and what I see is me. And do I take you by the hand. And lead you through the land. And help me understand the best I can? (Pink Floyd - Echoes)\n這樣講有點變態，我會偶爾看看網路上有誰引用文章。因為小破站採用的不是Wordpress架構，自然就沒有引用通知。所以想要知道哪些網站曾經放超連結指向我的Hugo網站，就只能靠Google Search Console和Bing WebMaster Tool紀錄的資訊得知。然後透過這些資訊，我就常常找到一些有趣的niche網站，默默把他們加入我的RSS訂閱列表。\n我是愛偷窺人的變態，請原諒我。我會不定期去看Google Analytics所捕獲到的反向連結內容。一天操作下來，常常收穫頗豐，可能他們是某個領域的大佬，而我的內容有幸被他/她看見。也有可能只是小咖的，一年沒發幾篇文的，因為我的內容獲得了收獲表達感謝之意。\n","title":"架設個人網站吧，把共鳴的訊號送往網路宇宙深處","type":"posts"},{"content":"一台接近電子垃圾等級的Windows平板，裝Linux能復活它嗎？因為好玩，所以我決定在Surface Go安裝Linux。\n酒矸倘賣無？ # 前兩年，在經歷了苦難的行軍後，換成iPad Air 6一年多了，其實我一直到現在都在想把它賣掉，換成Surface Go 2跑GNU/Linux，才\u0026hellip;才不是因為PChome有一批好便宜的二手貨啊！而是因為我始終是個激進的自由軟體主義者，裝置就應該為我所用，不該限制使用者什麼能裝什麼不能裝。看哪，我iPad用久了，都被馴服只用App Store程式，懶得搞側載IPA了！這樣下去不行，得想個法子出走。\n崔健 - 出走 我不想買Android平板，是因為已經有Android手機了，功能重複，且ARM平台普遍都lock-down bootloader，三星甚至會在Root後熔斷，不如x86平台能自由從UEFI安裝系統。雖然有小米平板5能夠安裝postmarketOS，那也只是特例。在眾多x86平板中，在Framework推出平板前，Surface看起來是品質比較受肯定的。我喜歡好攜帶的平板，所以鎖定最輕的Surface Go系列。效能降級不是問題，縱然Apple M2效能強大，但它的iOS系統仍然是個監獄，反正我沒有在打手遊，只要瀏覽器不卡就好，預計安裝的Linux也比Windows省資源，十年前的Intel處理器也夠用了吧。\n只是，就現實面考量，還是有些顧忌的地方。就是待機問題的部份，既然是平板，應該要能像手機一樣隨時待機並喚醒吧，linux-surface的kernel似乎有些問題，suspend無法喚醒，或者說沒有像是鍵盤皮套偵測，很容易誤觸啟動，這方面桌面Linux落後Android非常多。此外，Surface的相機是不是拍出來像屎一樣（Linux相機驅動依賴libcamera，似乎不穩定），sRGB螢幕發色是否自然（看過蘋果的螢幕後真的很難接受低色域螢幕啊），麥克風品質如何，這都是值得商榷的項目。\n我不知道我到底要的是什麼裝置。假設，作為平板與電腦的混合體，且要有行動裝置的易用性，最佳解依然是Android的話，那我就在Surface Go安裝BlissOS (Android-x86)，然後用SD卡搞Linux雙重開機，這樣就兼得自由與好用了！不過，還有x86轉譯ARM與Play Integrity這二者在摧毀你的體驗呢。我覺得\u0026hellip;對Surface Go似乎有太多幻想了，實際上Linux在行動裝置的體驗怎樣，用過PineTab 2的我又不是不知道。只要沒有廠商專門為其維護OS image（例如樹莓派或者Steam Deck），就註定會碰到各種奇怪硬體驅動問題，這就會變成tinker玩具，完全不能當作正經裝置使用。\n況且，Surface Go買起來其實也不便宜，福利機隨便都要七八千台幣，這筆錢完全能夠買一台二手iPhone來補充我的庫存。\n要賣掉iPad Air 6籌措資金嗎？正在我這麼想的時候，在蝦皮拍賣瞄到了只要 1000台幣 的Surface Go 2（Intel Pentium 4425y，4GB DDR4，64GB eMMC），無鍵盤，我就直接買下來了。\n酒矸倘賣無？撿個破爛回來。\n容量小沒關係，我可以裝個SD卡擴充。我另外花了1000台幣買個皮套和副廠的手寫筆。\n反正我沒有要完全取代手上的iPad Air 6的意思，只是要買個裝置回來實驗，測試它安裝Linux之後的能耐，是否能做基本文書，甚至玩輕量小遊戲？我之前買過PineTab 2，因為ARM架構加上處理器效能差勁，整體使用體驗不佳，或許買Surface Go 2能稍微改善體驗？\n至於為什麼這麼便宜？文末揭曉\u0026hellip;\n你好Windows，再見Windows # 賣家用原廠Surface Go 2的紙箱送來，這台機況還不錯，背部有使用痕跡但是螢幕完好無損。\nSurface Go 2是Microsoft於2020年上市的10.5吋x86架構平板，原價16788台幣起跳。現在我用了十分之一的價格入手。\n開機後是Windows 10。檢查相機、Wifi、藍牙、麥克風硬體一切正常，只有一個地方有問題。\nSurface Go 2雖然處理器低階，但起碼比以前用的PineTab 2快多了。我操作過程中其實Windows 10沒有想像中卡耶，GUI回應很快，Edge瀏覽器上網完全是夠的。\nSurface Go 2螢幕很漂亮，看久了不會傷眼。Microsoft PixelSense的螢幕，解析度1920x1080，100%覆蓋的sRGB，跟2024年發售的iPad Air 6（右）的發色有得比。這個螢幕的顏色用於修圖是可信任的，證明他們還是有在用心做產品的。 可是，我還是不需要Windows了，你看看，隨便CPU就100%的玩意~ 系統非常佔用空間。 更新還慢得要命（Lain：啊是要多久！？） 所以我很快就把系統洗掉，換裝Linux了。我希望維持Surface Go作為電腦的本質，所以自由度較低的FydeOS、ChromeOS、Android-x86就先淘汰。\n安裝過程參考這篇：如何在Surface Go 2安裝GNU/Linux\n為了能夠使用相機，選接近上游的Fedora。它還可以透過Waydroid跑Android APP。\nSurface Go 2裝Linux的評價 # 因為我這台Surface Go 2是最乞丐的配置，所以你可以從我的經驗下去反推：既然這種規格的機器都能跑得動Linux了，買更高規格的Intel m3-8100y處理器版本一定會更順的！\n先說結論：Surface Go 2一定要買8GB以上的版本，4GB真的太小了！一旦開始多工，即使是Linux也會卡爆。\n桌面環境我以Wayland的為主，比較適合行動裝置。首選KDE Plasma。關於適合觸控的桌面環境有「Phosh」和「Plasma Mobile」等等，幾經測試，他們還是不夠成熟，不可能像iPad一樣純用觸控操作。況且 我大部分時候是接上鍵盤使用的 ，所以選擇KDE Plasma。\n如果真的需要觸控鍵盤的，推薦安裝GNOME + GJS-OSK，或者Phosh + Squeekboard。這樣起碼可以用螢幕小鍵盤打Fcitx5拼音。\n要最小化桌面環境的RAM佔用，就得選Hyprland或者Phosh了。他們開機佔用RAM不到1GB。\nKDE Plasma起碼是主流的Wayland桌面，開機佔用不到2GB RAM，而且有支援基本的觸控手勢，適合在平板與筆電之間交錯切換。開機後再安裝linux-surface的核心，所有硬體功能正常使用。\n鍵盤部分，我是使用折疊式藍牙鍵盤配對，內附觸控板。我暫時沒有買原廠Surface Go Alcantara鍵盤的計畫。本來這個藍牙鍵盤是搭配iPad用的。嗯，幸好我沒有真的敗下去買iPad專用的巧控鍵盤，才能跨裝置通用配件。不過這樣就不能蓋上筆電自動進入待機了，需要手動按Surface Go的電源按鈕進入suspend。\n測試基本文書，OK，可以用Google Chrome編輯Google文件。 瀏覽器播放影片不至於卡頓，Linux螢幕發色自然，跟Windows無差異。前置的雙揚聲器聲音很清澈，不會爆音。嫌音樂太小聲可以用EasyEffects等化器提昇聽感。 如果用來看電子書的話，使用KOReader，KDE桌面可以開啟夜晚模式調整螢幕色溫。 我常用的Joplin以及Saber Notes都能使用Surface筆手寫筆記，但是筆的偵測不是很靈活。 支援Surface筆最好的程式是Xournal++，針對筆壓都能很好的反映力度。不過說實在的，有用過Android或iPad書寫的話，這裡體驗絕對是降級的，操作不是很流暢。 電源模式開至極速，普通使用下機身溫度幾乎不超過60度。\nGIMP和LibreOffice開啟速度還可以接受。不過，多工方面就有問題了，如果開五個分頁以上就會開始卡，播放音樂也會開始頓頓的。我猜4GB RAM真的太小了，即使有開zRAM，大部分資源都會跑到SWAP裡面，導致卡卡的。 故，我需要手動關閉一些程式，不能全部都掛在背景。鑑於一堆程式都是用Electron打包的肥豬，我得找GTK或TUI寫成的替代前端啦。\n回應文首提到的問題，我不知道我想要什麼裝置？實際上手Surface Go之後，我確切的明白到了。如果想要偏向平板的觸控裝置，則Linux肯定是十分不成熟的了，就算系統很自由又如何？Surface Go的使用體驗比iPad差很多。反之，要當筆電的話勉強還行。\n現在的心境有點像《西遊·降魔篇》電影末尾，玄奘開悟理解到愛的時候的樣子。有過執著，才能放下執著。我想每個裝置都有最適合它的用途了，不能強求要追求絕對自由的系統。\n改造成Steam遊戲機 # Intel Pentium 4425y，用來玩Linux版Steam上的Galgame完全可行！x86電腦對RetroArch遊戲主機模擬器的相容性也是沒問題的。\n考慮到這台主機儲存空間不是很大，所以Steam收藏庫我是存在SD卡。\n（Lain：喂喂，FBI嗎？） 不過Steam客戶端本體，加上桌面環境會吃掉一些資源。要追求極致的遊戲體驗，使用Gamescope開機直接進入Steam，可以更加節省資源。這個時候開關機就會變成只用手把控制。 續航問題 \u0026amp; 後日談 # 之所以賣這麼便宜，是因為這台Surface Go 2電池是死掉的，無法蓄電。只要拔掉充電線就會馬上關機，行動時間比EVA還短，撐不過10秒。 好在Surface Go 2可以用Type-C供電，這個接口也咬的比Surface Connect緊，所以我在外出的時候只要接上大功率的彈藥包（24W以上）就能繼續數位遊牧了。10000mAh的行動電源大概能撐六個小時。 如果未來我常常用這個裝置的話，再考慮淘個電池回來自己換。\u0026hellip;後來覺得算了，還是花錢找專門的師傅維修吧，另外花了3000元換了電池。\n在Linux下續航是否會比Windows好，這不一定。我測試開著瀏覽器上網，Linux大約撐5小時左右。\n後日談請看：Surface Go 2平板裝Linux的日常體驗\n","date":"2025年12月9日","externalUrl":null,"permalink":"/posts/microsoft-surface-go-2-review/","section":"Unboxings","summary":"一台接近電子垃圾等級的Windows平板，裝Linux能復活它嗎？因為好玩，所以我決定在Surface Go安裝Linux。\n酒矸倘賣無？ # 前兩年，在經歷了苦難的行軍後，換成iPad Air 6一年多了，其實我一直到現在都在想把它賣掉，換成Surface Go 2跑GNU/Linux，才…才不是因為PChome有一批好便宜的二手貨啊！而是因為我始終是個激進的自由軟體主義者，裝置就應該為我所用，不該限制使用者什麼能裝什麼不能裝。看哪，我iPad用久了，都被馴服只用App Store程式，懶得搞側載IPA了！這樣下去不行，得想個法子出走。\n崔健 - 出走 我不想買Android平板，是因為已經有Android手機了，功能重複，且ARM平台普遍都lock-down bootloader，三星甚至會在Root後熔斷，不如x86平台能自由從UEFI安裝系統。雖然有小米平板5能夠安裝postmarketOS，那也只是特例。在眾多x86平板中，在Framework推出平板前，Surface看起來是品質比較受肯定的。我喜歡好攜帶的平板，所以鎖定最輕的Surface Go系列。效能降級不是問題，縱然Apple M2效能強大，但它的iOS系統仍然是個監獄，反正我沒有在打手遊，只要瀏覽器不卡就好，預計安裝的Linux也比Windows省資源，十年前的Intel處理器也夠用了吧。\n","title":"開箱Surface Go 2裝Linux，舊平板還能有什麼用途？","type":"unboxing"},{"content":"我想給網站加入一個專門存放短博文的頁面。從2023年開始，我就開始這樣做啦。我知道你有在看。\nMicroblog，短博文，台灣講法好像叫做微部落格？就是類似Twitter的短推文一樣的東西。社群媒體通常都有發文功能，例如Facebook的動態時報/動態牆，而Twitter字數比較短。我想把這個功能轉移到自己的網站，這樣便沒有要用Facebook還是Twitter發文的問題了。\n那些網站我還是會用，主要發表「學術研究成果」和宣傳本網站，不過最核心的功能：寫生活的個人想法的短博文功能，移到本網站。\n做出來之後效果如圖，歷年的動態牆頁面在此 啟發 # 這個想法啟發自Richard Matthew Stallman在他個人網站的每日政治評論頁面。Stallman做為GNU計劃的上古元老，很早就在使用網際網路。但是他沒有用社群媒體，而是把想法po在自己的網站上，而且還是託人用郵件把他手寫的HTML給放上去的。\n瞧，Stallman.org的網站版面完全不屌現代網頁設計的可讀性準則。 我也多少參閱了Wiwi.Blog還有Gea-Suan Lin\u0026rsquo;s BLOG網站的作法，希望可以每天一篇短文，每個都設定一個小標題，方便日後搜尋。不過問題是很多時候片段的想法是沒有確切的思路的，因此我不打算切的那麼細。\n把專案與個人部落格分開的策略，也可以參考玩具烏托邦與資訊人權貴ㄓ疑的作法。但是我不想另外開一個網站專門寫個人廢文，至少我之前合併三個網站後就決定不這樣做了。\n最後，作家劉墉的《螢窗小語》系列書籍是這篇文章標題的啟發，他想到什麼就會寫下來，還能出書讓大家受用。只是我沒大作家那麼厲害，不保證寫下來的都是正向的語句。\n理由 # 寫作的目的不總是要目的性的。無處流倘的思緒，像是河流一般，我要把那些吉光片羽捕捉下來。\n如果硬要說，每天寫動態牆能有什麼作為，我想是可以作為一種鬆散的卡片盒筆記法(Zettelkasten)的實踐吧。再講玄幻一點：我正在創造自己的「阿卡夏紀錄」。\n需要一個能撰寫真心話的地方，貫徹我的Parrhesia信念，儘管真心話會充滿個人偏見、對某新聞動態的主觀看法、未經事實稽核的判斷、情緒性暴論、廢到笑的話語。裡面可能包含裸露的政治、色情、種族、性別、歧視性、自殘的言語\u0026hellip;在發個人動態的時候，誰會潤稿呢？這種極端言論除了發在自己的動態牆，恐也只能去Komica匿名板發了吧。但是，即使我有Facebook和Mastodon帳號，卻覺得這些地方作為「樹洞」都不夠安全，即使沒人看，我還是會受到平台，決定我能寫什麼，寫什麼會觸發違禁字詞。\n動態牆內容基本上是想到什麼就寫什麼，準則我概括為：\nParrhesia，即只說真話不欺瞞，有負面的後果也在所不惜。說真話不只是言論自由，真理顯現也符合大眾利益，更是公民義務。唯有對自己誠實才能讓我們解脫。\n此外，還有一句話，提醒自己不要太自大：\nHumility is not thinking less of yourself, it is thinking of yourself less. 謙卑不是看輕自己，而是不僅為自己著想。\nRadiohead主唱Thom Yorke說過，他創作歌曲的時候會隨機在筆記本上寫一些字句，或是做成卡片丟進箱子裡面，然後從中隨機抽出一些字句拼成歌詞。我覺得寫動態牆有累積素材的效果，當我要寫長文的時候，可以很輕鬆的從過往的字句中抽出可以用的素材，順便能回顧自己的想法是如何成長的。古語有云：「人不能兩次踏進同一條河流」表示時間流動的無常性。\n我不介意這些「raw」的東西被人看到。看起來廢文佔多數的動態牆，偶爾還是會有一些巧思可以取用的，像我常常一篇小感言寫著寫著，便有了在本網站擴充成長篇大論的想法。只是，大多數想法都是靈光乍現，必須快速的把他們寫下來才行。\n實作 # 既然動態牆是紀錄短想法的地方，我就要有一個唾手可得的工具能隨時寫想法。大部分時候，我用Joplin的APP撰寫，因為它可以直接用Markdown格式紀錄，之後要整理的時候很方便。\n接著是網站版面的問題。\n有網站的主題是針對短博文打造的，例如：\n哔哔！换个姿势在静态博客上发短博文 支持短博文发布的Hugo主题——Moment 但我的作法是給現有的網站添加單一靜態頁面作為「動態牆」，而不是額外添加服務，或是用新主題。當然我可以在Markdown裡面，加入CSS把每個段落渲染成推文樣式，然後製作發文鍵，輸入文字和圖片即會生成html程式碼\u0026hellip;\u0026hellip;然後將生成的html貼回Markdown檔！\n但是太麻煩，後來我還是決定用HTML的\u0026lt;li\u0026gt;\u0026lt;/li\u0026gt;標籤寫一寫就好了，每篇貼文都用這個標籤區隔開。然後全部打在一個Markdown檔案裡面，渲染成一個網頁，方便維護。格式如下：\n\u0026lt;li\u0026gt; （日期）20250820 （正文）人們喜歡算命，透過星座測驗、MBTI、血型、命盤、人類圖這類型的測試了解自己的性格如何。 蘇格拉底說人最難理解的就是學會理解你自己，大多數人也終其一生陷於迷茫之中。所以他們才會透過各種說法佐證自己的存在是有理有的吧。 因為是什麼星座，所以我會怎樣怎樣是可以，正常的，是能夠預測的，你應當體諒我。 這樣的思考模式就等於是幫自己的怠惰開脫吧。我覺得沈迷這種學說的解釋，終究迴避不了要面對的真正課題。 誠然他們有時能給你一些鼓勵，但有多少人讀了命理結果分析後就這樣得過且過了呢？ [李宗盛 - 凡人歌](https://www.youtube.com/watch?v=mfQel3jxK-g) \u0026lt;/li\u0026gt; \u0026lt;li\u0026gt; （日期）20250817 （正文）[SOLVED Force emerge a package when checksum fails - Gentoo Forum](https://forums.gentoo.org/viewtopic-p-8769742.html?sid=443fc6ab2d8f4e9b228d6e69cf2faf96) 當Gentoo下載的套件原始碼因為上游檔案變動，Mirror沒有即時更新，導致checksum VERIFY FAILED失敗的時候，要在/var/cache/distfiles/找到檔案，重新命名成沒有checksum_failure檔名的原始壓縮檔。 然後再用ebuild --force /var/db/repos/gentoo/ebuild路徑指令，讓系統根據這個壓縮檔重新產生校驗碼，這樣就能用emerge強制安裝。 但這不是解決之道，編輯/etc/portage/repos.conf/gentoo.conf換個Mirror應該更好。 例如我發現台灣TWAREN的一些QT5套件都沒有同步，換成中國清華大學源，但依然沒同步？結果是把鏡像網址全刪掉，讓Gentoo自己隨機抽才成功。 \u0026lt;/li\u0026gt; 隨著時間過去，動態牆的檔案大小會變成很大，即使是純文字檔。歷年的動態牆普遍會接近1MB。渲染成實際網頁後，載入速度還可以接受。為了不進一步拖慢速度，動態牆要嵌入圖片附件的時候我都是用超連結，而非直接渲染出來。版面維持純文字的模式。\n","date":"2025年12月8日","externalUrl":null,"permalink":"/posts/add-timeline-to-my-website/","section":"Personals","summary":"我想給網站加入一個專門存放短博文的頁面。從2023年開始，我就開始這樣做啦。我知道你有在看。\nMicroblog，短博文，台灣講法好像叫做微部落格？就是類似Twitter的短推文一樣的東西。社群媒體通常都有發文功能，例如Facebook的動態時報/動態牆，而Twitter字數比較短。我想把這個功能轉移到自己的網站，這樣便沒有要用Facebook還是Twitter發文的問題了。\n那些網站我還是會用，主要發表「學術研究成果」和宣傳本網站，不過最核心的功能：寫生活的個人想法的短博文功能，移到本網站。\n做出來之後效果如圖，歷年的動態牆頁面在此 啟發 # 這個想法啟發自Richard Matthew Stallman在他個人網站的每日政治評論頁面。Stallman做為GNU計劃的上古元老，很早就在使用網際網路。但是他沒有用社群媒體，而是把想法po在自己的網站上，而且還是託人用郵件把他手寫的HTML給放上去的。\n瞧，Stallman.org的網站版面完全不屌現代網頁設計的可讀性準則。 我也多少參閱了Wiwi.Blog還有Gea-Suan Lin’s BLOG網站的作法，希望可以每天一篇短文，每個都設定一個小標題，方便日後搜尋。不過問題是很多時候片段的想法是沒有確切的思路的，因此我不打算切的那麼細。\n把專案與個人部落格分開的策略，也可以參考玩具烏托邦與資訊人權貴ㄓ疑的作法。但是我不想另外開一個網站專門寫個人廢文，至少我之前合併三個網站後就決定不這樣做了。\n最後，作家劉墉的《螢窗小語》系列書籍是這篇文章標題的啟發，他想到什麼就會寫下來，還能出書讓大家受用。只是我沒大作家那麼厲害，不保證寫下來的都是正向的語句。\n","title":"給網站加入螢窗小語的「動態牆」頁面，替代Facebook的功能","type":"personal"},{"content":"PSA：2025年，美國最大的社群論壇網站Reddit開啟了貼文自動翻譯功能，透過AI翻譯後的英文內容，幾乎能夠以假亂真，以為是台灣用戶在上面發文。\n該死的巴別塔計畫 # FYI：過去，Reddit大部分貼文的語言都是英文的，只有非常少部份中文社區。根據我有限的見識，除了理中客聚集地r/China_irl、支黑俱樂部r/KanagawaＷave、平安喜樂r/AsiaTripper這類社區之外，幾乎都是英文的內容。\n現在自動翻譯開起來之後，隨便google一個在台灣很冷門的題目，就很容易找到翻譯後的Reddit文章。然後，要搜尋Reddit上的真正中文社區就很困難了。 Reddit手機APP很久以前就有自動翻譯功能，不過僅限使用者手動開啟才會啟用。\n2024年，Reddit將使用者資料賣給AI公司訓練之後，疑似獲得了更加強大的語言模型助陣，讓他們能夠產出更好的翻譯文本，行文非常接地氣。\n現在Reddit親自下場擾民：各sub的post會自動翻譯為各國語言，並出現在Google搜尋結果。有人在r/ModSupport詢問，基本上證實了自動翻譯機制的存在。\n但是！Reddit站內搜尋到的文章依然都是保持英文的結果。\n這搞得好像Reddit上的中文貼文多起來的假象。\n下圖的貼文全部都是自動翻譯過的內容，原始語言都是英文喔！ Reddit甚至連sub說明都會一起翻譯！ 我個人覺得這真的很惱人，以前這是內容農場網站在幹的事情。有些英語或西語新聞網站會機器翻譯為中文，污染搜尋結果。每次搜尋Linux資料，除了CSDN的低品質內容之外，就是這些邊角料讓人糟心。\n我到Reddit就是要看英文資料的，現在一不小心就會跑出其他語言翻譯後的內容。可能是英文翻譯為中文，或是中文翻譯為日文！\nReddit站方現在很明顯是故意讓Google bot索引這些翻譯後的文章的。陌生的使用者一不小心就會誤解原始貼文的語言，然後直接回覆。例如下圖的例子： 翻譯後的貼文，上方只有一小個「See Original Post」的按鈕，非常容易誤導人呀！我不想看到這種虛假的鄉民語言！\n我覺得Reddit啟用AI翻譯之後的好處，大概就是終於實裝了中文界面。Reddit公司長久以來似乎都沒有關注歐美市場以外的用戶，現在起碼國際化一些了。\n在Google搜尋過濾翻譯後的Reddit貼文 # Reddit翻譯機制是在貼文網址結尾加上?tl=語言代碼。在造訪特定sub的時候也有效，例如https://www.reddit.com/r/changemyview/?tl=zh-hant\n所以應該可以寫個網頁規則過濾掉。譬如搜尋時候關鍵字加上\u0026quot;-tl=\u0026quot;過濾。\n使用uBlock Origin或者uBlacklist擴充功能，加入以下過濾規則：\n/.*reddit\\.com.*\\?tl=[a-z]{1,3}/ 參考： How to stop auto-translated Reddit results on Google ?\n這樣搜尋的時候，翻譯後的貼文就不會出現了。\n但是，真香 # 雖然一開始我很反對Reddit這種作法，可是後來幾個月後，真香。在Google搜尋結果看到中文翻譯的貼文不會那麼反感了。\nReddit後來改版了按鈕，顯示更大的「Translations active Show original」，讓人知道這是翻譯後的貼文。 先說，技術類的文章還是不準確，用詞會誤導人。\n不過如果是一般閒話家常的話題，翻譯成中文就很有殺傷力了！\nReddit可以提供許多中文圈缺乏的歐美在地情報，不用經過「XX翻譯家」轉傳二手資訊。 既然語言不再是問題，台灣那些以翻譯Reddit爆文維生的meme粉專（會在盜來的圖片上加上xxx翻譯的）可以收一收了。人們透過自動翻譯就能接觸到Reddit上的第一手訊息，不必依賴翻譯人士的篩選，多一層神秘濾鏡。\n然後在語言模型加持下，他們說話的語氣就跟台灣鄉民一模一樣！感覺很親切。它把英語sub變成好像是台灣PTT鄉民在講話一樣自然，連「靠北」「母湯」都會出現，難以想像他們到底蒐羅了多少語料庫。\n目前最大的問題是，Reddit的自動翻譯搞不清楚台灣繁體中文和香港繁體中文的差別，導致常常會出現書面語與粵語夾雜的情況。 搜尋繁體結果彈出粵語，看上去更惱人了。\n我覺得各sub的Mod應該要可以選擇是否開啟自動翻譯的。例如r/China_irl和r/KanagawaＷave應該將這個功能關閉了，免得一些政治不正確反人類的用語被超管注意到吧www\n","date":"2025年12月7日","externalUrl":null,"permalink":"/posts/reddit-auto-translation-posts/","section":"所有文章","summary":"PSA：2025年，美國最大的社群論壇網站Reddit開啟了貼文自動翻譯功能，透過AI翻譯後的英文內容，幾乎能夠以假亂真，以為是台灣用戶在上面發文。\n該死的巴別塔計畫 # FYI：過去，Reddit大部分貼文的語言都是英文的，只有非常少部份中文社區。根據我有限的見識，除了理中客聚集地r/China_irl、支黑俱樂部r/KanagawaＷave、平安喜樂r/AsiaTripper這類社區之外，幾乎都是英文的內容。\n現在自動翻譯開起來之後，隨便google一個在台灣很冷門的題目，就很容易找到翻譯後的Reddit文章。然後，要搜尋Reddit上的真正中文社區就很困難了。 Reddit手機APP很久以前就有自動翻譯功能，不過僅限使用者手動開啟才會啟用。\n2024年，Reddit將使用者資料賣給AI公司訓練之後，疑似獲得了更加強大的語言模型助陣，讓他們能夠產出更好的翻譯文本，行文非常接地氣。\n現在Reddit親自下場擾民：各sub的post會自動翻譯為各國語言，並出現在Google搜尋結果。有人在r/ModSupport詢問，基本上證實了自動翻譯機制的存在。\n但是！Reddit站內搜尋到的文章依然都是保持英文的結果。\n這搞得好像Reddit上的中文貼文多起來的假象。\n下圖的貼文全部都是自動翻譯過的內容，原始語言都是英文喔！ Reddit甚至連sub說明都會一起翻譯！ 我個人覺得這真的很惱人，以前這是內容農場網站在幹的事情。有些英語或西語新聞網站會機器翻譯為中文，污染搜尋結果。每次搜尋Linux資料，除了CSDN的低品質內容之外，就是這些邊角料讓人糟心。\n","title":"講講Reddit的自動中文翻譯功能，Google搜尋遍地都是翻譯後的貼文","type":"posts"},{"content":"本文Ivon將討論我們可以利用Android手機的Debian終端機跑什麼玩意。\n這個是Pixel手機在最新Android系統提供的Linux虛擬機，不用Root權限就可以使用。我們暫且把它稱之為Debian Linux終端機。 它利用pKVM技術，AVF框架，在Android上執行虛擬機，跑Linux程式。\n說到在Android跑Linux環境，自然會讓人聯想到Termux Proot吧，這個Debian Linux終端機比Termux環境要完整，不是容器。Linux核心功能齊全，可以用Systemd，我們甚至能在這個終端機跑Docker。\n這個概念有點類似ChromeOS的Debian虛擬機，使用CrosVM技術。\n不過！因為pKVM是虛擬機，啟動速度比Termux慢些。而且執行時候會受到KVM的性能損耗，無法利用全部硬體資源。\n目前該功能屬於實驗性的，未來可能會有所變化。請以Google官方最新公告為主。\n1. Debian Linux終端機支援機型 # 需要Google Pixel 6（含）以後的機型。推測是因為Tensor處理器才支援pKVM與AVF的功能，舊版Qualcomm處理器的機型沒辦法使用。而且舊款Pixel 5手機已經不能升級了。\n系統部份，需要Android 16以上，Pixel原廠ROM。第三方ROM可能也有支援AVF，得看維護者有無實作。目前我知道的是GrapheneOS和LineageOS都有加入。\n我的測試環境：Google Pixel 6a。系統版本：Android 16 BP4A.251205.006\n2. 啟用Debian Linux終端機 # 開啟系統設定，在關於手機，對版本號碼點五下\n開啟開發人員選項，找到啟用Linux開發環境 接著桌面會多出一個終端機APP 等待系統映像檔下載完成。目前只能建立Debian一種虛擬機。\n虛擬機可用空間會佔照ROM空間動態分配。虛擬機預設分配的RAM為系統可用的一半左右，如果手機RAM比較小，終端機放到背景執行可能會被系統殺掉，請注意。\n用指令變更使用者密碼\nsudo passwd droid 當你關閉Linux終端機的時候，APP似乎是以快照方式保存進度的。因此若要冷啟動，需要手動將其關機： sudo shutdown now 3. 網路連線問題 # Debian虛擬機的網路是跟Android網路隔離的，即使開放通訊埠，也只能從Android本身的APP連線。不能從外部連線。\n每當虛擬機要使用一個通訊埠的時候，皆需要手動同意才能從Android以外的網路連線。而且這裡不能使用低位數通訊埠。 因此，要用電腦連線到手機的Debian終端機的話，就得在虛擬機內部安裝VPN或是重新導向通訊埠的服務。\n安裝SSH伺服器： sudo apt install openssh-server 修改設定檔/etc/ssh/sshd_config，讓SSH伺服器改用2022通訊埠 sudo sed -i \u0026#39;s/#Port 22/Port 2022/\u0026#39; /etc/ssh/sshd_config 透過以下指令啟用SSH伺服器： sudo systemctl enable --now sshd 在Debian Linux安裝一個VPN服務，例如Tailscale。\n從電腦輸入虛擬區域IP連線：\nssh -p 2022 droid@IP 4. 安裝圖形桌面環境 # 目前的版本，Google加入了整合Linux視窗到Android合成器的功能，它可以從終端機啟動單一個Wayland或XWayland程式。但是，無法啟動Wayland桌面環境，X11工作階段也不行。\n例如，啟動Firefox sudo apt install firefox-esr firefox 點一下終端機右上角的螢幕圖示，就會看到Linux程式畫面了。 目前看來沒辦法接收Linux虛擬機的PipeWire音效的樣子？得手動用Simple Protocol Player重新導向。\nDebian Linux終端機沒有GPU加速功能，預設是用llvmpipe渲染。Google未來可能會透過virglrenderer實現半虛擬化的GPU加速。\n另一種方式存取虛擬機完整桌面的方式，是透過TigerVNC Server搭配AVNC來存取Linux虛擬機的桌面。這個方法適合從其他電腦連線進來，操作虛擬機。 5. 轉譯x86架構的程式 # 既然Android手機普遍是ARM64架構的處理器，執行的虛擬機當然也是ARM64架構的Debian系統。\n部份程式會遇到相容性問題，這個時候可以透過Box64或Fex-Emu轉譯器執行x86二進位檔。\n6. 與Android共享檔案 # Android手機的內部儲存空間/目錄，會掛載到Linux的/mnt/shared/。從這裡Linux可以存取Android的檔案。\n我們也可以用SFTP來傳檔案。只要啟動SSH伺服器，就能從外部掛載。\n在Android安裝SFTP客戶端，例如質感檔案\nIP位址輸入localhost，使用者名稱輸入droid，還有密碼。 參考資料 # Android 16 Terminal Debian GUI Access Tool - Github [Linux] 把玩 Android 16 beta 的原生終端機 Terminal 功能 - 清新下午茶 ","date":"2025年12月7日","externalUrl":null,"permalink":"/posts/android-linux-terminal/","section":"所有文章","summary":"本文Ivon將討論我們可以利用Android手機的Debian終端機跑什麼玩意。\n這個是Pixel手機在最新Android系統提供的Linux虛擬機，不用Root權限就可以使用。我們暫且把它稱之為Debian Linux終端機。 它利用pKVM技術，AVF框架，在Android上執行虛擬機，跑Linux程式。\n說到在Android跑Linux環境，自然會讓人聯想到Termux Proot吧，這個Debian Linux終端機比Termux環境要完整，不是容器。Linux核心功能齊全，可以用Systemd，我們甚至能在這個終端機跑Docker。\n這個概念有點類似ChromeOS的Debian虛擬機，使用CrosVM技術。\n不過！因為pKVM是虛擬機，啟動速度比Termux慢些。而且執行時候會受到KVM的性能損耗，無法利用全部硬體資源。\n目前該功能屬於實驗性的，未來可能會有所變化。請以Google官方最新公告為主。\n1. Debian Linux終端機支援機型 # 需要Google Pixel 6（含）以後的機型。推測是因為Tensor處理器才支援pKVM與AVF的功能，舊版Qualcomm處理器的機型沒辦法使用。而且舊款Pixel 5手機已經不能升級了。\n","title":"Pixel手機跑Debian Linux終端機，免Root","type":"posts"},{"content":"一名曾經是小草的政治狂熱者的贖罪告白。\n我不知道怎麼開頭啦，論述議題前得先說你自己的立場，要先洗門風，才會顯得你真正「悔改」了，才有說話的資格吧。嘛，這篇文章是我忘了吃藥的時候寫的，所以思緒稍嫌混亂。\n有人說，你不關心政治，政治就會來關心你。\n咦？下一句不是被糟糕的人統治嗎？\n喔，看起來確實是這樣，可是萬一，你的對手也用一樣的話跟支持者喊話呢？所以其實被誰統治，終究都是糟糕的統治者來關心你？\n所以蘇格拉底才會被民主殺死吧。畢竟devil\u0026rsquo;s advocate的觀念，是更久以後才出現的概念。\n最近厭世的感覺越來越嚴重了，理想夢想抱負什麼的都逐漸的消融中。或說是虛無主義作祟吧，覺得世界上沒有什麼值得追求的事物，看不到一個確定性的未來，一切都毫無意義。\nThis is not how I am. I have become comfortably numb.\n我一直覺得，人生必須要有教條式的指導原則存在，然後我們為了那個賦予人生意義，因而為之奮鬥。現在看來我錯了，要是人生本身就無意義，強行賦予的意義怎麼能算是意義呢？\n「生命中不能承受的，不是存在，而是不能其為自我。」\n捷克哲學家米蘭‧昆德拉這樣說。\n究竟是在厭世什麼？除了對現實生活自身一無所成的處境的不滿、自我懷疑之外，其中一個原因，我想是對「宏大敘事」的解耦，宏大敘事在這裡可以代指為一切的信念，不論是政治上的或宗教上的學術上的哲學上的，一切的信仰。\n以前我天真的相信，不管這種信念是被灌輸的或是我發自內心的認為，普世價值和自由民主的價值終將會落到世界上的每一個角落，未來在人民手中，歷史必定有好的方向進展。用一個幼稚的觀點來說，以美國為首的西方世界就是好的，表示人類最終的歸宿；中俄集團就是壞的，文明未開化。然後我們只要在歷史的進程上站對邊，就可以走向正確的道路。\n但看到許多人假借民主之名行盡各種壞事，合理化自身掏空國家的行為，壓迫其餘人民，實際行徑不惡於那些獨裁國家。隨著接觸的觀點多元化，閱讀不同立場等媒體與學者的評論，認識到這個世界到處都有自己國家的問題，可是人們還是只傾向拿一個東西為自己的一切辯護，最常見的藉口就是民主自由，說起碼我們還是有自由的。甚至，人們對民主的辯護只剩下「宗教式的信仰」「起碼這是最不壞的制度」「有國才有家」的時候，我就漸漸地不能認同民主萬能的說法了。縱然獨裁國家壞，不過他們的社會也有可取之處，雖然是無可奈何的承認。我們終究不是來實現昭昭天命的存在，而是生活在充滿不確定性的世界。加入哪個政治派別，好像都不對，他們總是有各種方法PUA你。\n有人認為，我們要做「勇敢的台灣人」或是「驕傲的中國人」，或者「改變繼續成真」，抑或是了「全世界無產階級聯合起來」這些不同派別的政治信念，都逐漸的與我無關了。傳統的道德，人類的宿命，這些事情真的有這麼重要嗎？\n自2019在B站發乳包咒罵習近平評論以來，隔幾年又開始罵蔡英文，鍵政太久已經不知道什麼是正確的了。Bob Dylan說，答案早已在風中飄揚，但是真相究竟是什麼呢。\n李敖以前在北京大學演講，陰陽怪氣要中國人反對共產黨統治的時候講過一個比喻：\n「（用北京話來說）我們（對政府）去嗝了，去顛了，去得了，去慫了，去反了，（都沒成功後就）用這種不健康的情緒在家裡生悶氣」\n這精準了論述了各種政治活動家的作法，不論是暴力革命、自命清高、歸隱田園都不是處世的方法，重點在於如何跟政府巧妙的周旋到底。好像支持某一黨立場後說的話就不可能中立了，不論哪黨都一樣，其中必定抱有一定的意識型態立場，會為自己的立場開脫，覺得都是they的錯。我自身並不例外，或許閉嘴比較好？如果加入政黨或者跟政黨活動有往來，那就完啦，你說啥都會被扣帽子了，發言完全沒有價值，像不禮貌鄉民團小時候偷香油錢沒還的事情都會被當成黑料來罵。\n諷刺的是，不論藍綠白三黨都有人認為自己政黨支持者是最理性的，它黨的人都是暴民無法溝通，其實這種心態就很符合邪教的定義了。即使那些自稱中立理性的KOL用自認為中立的話語描述各黨政治立場，說啊大家都是台灣人啊不要互相仇視，好話說完，結果下一句鬼轉「民進黨賣台」、「藍白都是中共同路人」、「我無黨無派但是不支持抗中保台的日子人都該去死」、「政治好黑暗我不想管之類」的，並且對自身的壞事輕描淡寫，然後對手的的事情就挖大渲染。光是一個對中國態度就可以有多種立場，綠對中強硬會被人說在挑釁中國，支持者則認為責任全在中方，台灣本就是應該堅持獨立自主；藍白對中國友善被指責在支持統一，支持者則認為若不把三角形劃好就會招致烏克蘭下場。三黨的唯一共識就是，沒有人願意馬上獨立，也沒人要馬上統一。2023年的時候就說過，沒有一黨是100%是我認同的，感覺都在騙，結果還是選了民眾黨。\n當然，我可以選擇對一個當政治厭惡的日子人，雖對執政黨有些怨言卻不敢搞革命，譴責那些不願跪著的人，抽刀向更弱者。或者更激進一些說「屠就完事了」，誰願意繼續拷打台灣人我就投給他，支持搞加速主義。但這想法畢竟不現實，故我還是會繼續支持反政府的事，不過，要與極端支持者保持距離，保持與異溫層的一定接觸，不發聲的也不要苛責。\n或許人類永遠不可能互相理解，但不能什麼都不做。但，真的是這樣嗎？我們的努力，有沒有可能只是徒勞？\n講個離題的東西，我在過去對自由開源軟體的理念很信仰的。不要認為這個運動不含政治成分，相反，他本是就含有高度的理想性主義。有點近乎執著的地步，有種我們是在支持正義的運動，對抗主流大企業統治的邪惡專有軟體世界，可是實際接觸到駭客文化之後，發覺到自己不夠精英的話（至少得是個程式大神）是不夠格參與這個圈子的。再加上，開源產品從軟體到硬體，普遍缺乏商業成熟度的設計，在普羅大眾的心中是難以成為主流的，讓我感覺到這個自由的精神再堅持下去是沒什麼意義了。所以，另一個宏大敘事也處於逐漸崩塌中了。\n我想，對某種事物懷有堅持的態度，終究會養成一種道德潔癖的特徵。因而，不能接受表裡不一的做法。否則，便是投機分子幹的事的了。\n「知道為何而活的人，不論怎樣的困難他都能堅持下去。」\n存在主義療法發明者，維克多·法蘭克醫師這樣解釋道。如果我們賦予生命一種意義，那就能找到活下去的動力。反之，便會逐步邁向死亡，不論是心靈上的還是肉體上的。\n現在的網路資訊和媒體宣傳，放大了現代人的焦慮，讓我們好像以為自己為懂了很多，碎片化的訊息讓人以為自己每天都在「思考」各種事物，其實並不是如此，你只是看起來有在思考而已，煩惱的都是無謂的事情。就像AI賦能，給了太多人超出自己能力範圍的錯覺，覺得自己無所不能。越是思考存在的本質，有時候會懷疑自己是否存在這個世界上，或只是缸中之腦而已？Take the red pill. 然後陷入虛無主義。\n就這樣，我逐漸失去了信念，不曉得活著的意義為何，朝向虛無主義前進，除了滿足生理需求之外，就只是活著。在面對公共議題的時候，只顧著嘲弄人世間一切的希望、理想、抱負。此外還有貴古賤今的表態。最明顯的例子就是，我喜歡聽民歌時代的音樂，勝過當今的主流音樂。大喊著我不屬於這裡、這個時代，用這種做法逃避自身的現實。\n過去一年瘋狂參與政治，甚至上街遊行，嚴重偏向民眾黨\u0026amp;國民黨的觀點，看到支持者邪教化的趨勢，以及短期內看不到政治改革理想抱負的實現，現在看來開始出現厭煩了的現象。這不是說我要棄暗投明，轉移陣營，而是說我已經對這些人失望了。我不想再關心政治了，具體來說是不過分涉入具體的事物，或許是暫時性的而已，最簡單的方式就是不與人爭了，也不捍衛同黨價值觀而奔走。過去政治人物說的名言對我有很大的煽動性，現在我只是當作一個名人講過的話而已，類似聖嚴法師的語錄，不再在心中佔有重要份量。鑑於每週都會收到黨員週刊，提醒我政治的存在，我已經在嚴肅考慮退黨事宜。淡漠一切。\n另一方面，是時候認真考慮退出社群媒體了，假設他們不能給我營利機會的話，覺察到自己陷入太深，有了內省。我已經養成了一種癮頭。我覺得社群媒體放大了現代人的焦慮，讓人們去關心那些無關緊要的事情，可是又沒有好的討論品質。尤其是推送極端情緒的網站，不論上面是我厭惡的青鳥言論，或是同個鼻子出氣的小草同溫層，都很危險。社群媒體上的極右翼和極左翼的理論看太多了，養成了魔怔的心態。例如我過去長期被仇中人士影響，覺得中國人和白左都是壞蛋，我就會被妥瑞症和強迫症驅使下，產生強迫性思維，常常碎念著想要殺光他們…我很怕哪天真的被慫恿動手了。這是種興奮的感覺吧，我都覺得快陷入思覺失調的狀態了。\n果然最好的方法就是斷絕社群媒體這種無意義的討論場所嗎？就拿最敏感的兩岸政治問題來說，我常常在社群媒體上看到極端仇外言論，以及延伸到現實世界中，被兩種意識形態在拉扯，一邊人說要仇中，一邊說要跟中國下跪交流。我的想法是，沒有第三條路嗎？務實點的看待中國對台灣不友善的問題？總覺得，這些事情都不再重要了。\n社群媒體的人們似乎只想要情緒，不想要真理。你說幾句公道話，換來被封鎖的下場。換做現實世界的場合，似乎也是這樣。\n其實很多時候我沒那個力氣去保持中立，我也不是每個政治議題都會跟上，但當別人怒氣沖沖的質問我「你怎麼可以活的這麼事不關己」「不關心政治就會被糟糕的人統治」，我就不知道該怎麼辦，他們把自己的焦慮強加在別人身上。還有，台灣問題應該不是左右，是與中國統一與獨立的方向，不過我是傾向維持現狀的，因此在政黨上我支持務實的民眾黨，希望能客觀的看待國內問題。可惜，雖然近年來他們嘗試做些跳出統獨的事情，卻在被迫跟國民黨合作的過程中，與舊有政治勢力做出大量的妥協（我這個用詞已經很客氣了，其實應該講同流合污的），也不可避免的將自己的支持者邪教化了，親柯的KOL認為柯文哲說的全部都是對的，黃國昌就是絕對的正義，然後瘋狂出征批評者，這很不好。常常在抓「行走的五十萬」，讓我覺得很不好受。人們應該建立信任互相合作，而非是找敵人。\n社群媒體，就拿Threads的言論來說，不對，不只Threads，還有充斥極端言論的Reddit浪人社區，整天只會自慰的PTT八卦板，充斥社達言論的中國互聯網，看起來已經瘋狂到無法控制了，我要怎麼控制自己不要去打開那些網站，我總覺得大腦一直在尋求刺激。誇張點說，我覺得主流社群媒體都逃不了立場極化的現象，rage baiting到處都是。有的人的言行還會從線上延伸到線下，實行無差別的政治暴力，威脅人身安全。\n他們說「你知道台灣要被國民黨賣掉了嗎？」「綠共等於紅共！」為政治意識形態服務的藝術家往往都是小丑，懂的用言語難以表達的畫面情緒誇大與渲染事情的嚴重性，干擾人們的理智思考。他們往往高調宣揚自己的政黨動機高尚，將反對意見描述為非人化。比如蠢羊那種靠民進黨奶水標案的插畫家，或者是觸極者這種B咖。你自以為是看到了《格爾尼卡》的畢卡索，實際上是烏合麒麟之流而已。下次想想，當你欣賞的KOL要對一件事情表態的時候，你何必隨之情緒起舞？\n德國哲學家尼采曾經說：\n「你們尊敬我，但要是有天你們的尊敬傾倒了那又怎樣？不要讓一座雕像砸了你。你說，你相信查拉圖斯特拉？但查拉圖斯特拉又怎樣？你們是我的信仰者-但所有的信仰者又怎樣？你還沒有找尋你自己，你只找到我。所有的信仰者都是這樣，如是所有的信仰成就渺小。現在，我命令你否棄我，並發掘自己。唯有當你們否決我的一切，我才會回到你們之中。」\n現在的社會，人民反抗政府的希望越來越弱，試圖改變體制的新政治政黨也只能淪為鬥爭工具。自以為還有前景的人們只能透過網路上的虛擬活動咆哮著想要改變，這就是為什麼網上氛圍愈發暴戾的原因。我也想改變社會呀，但要是齊身都難以作到的話如何平天下。我現在連鍵政找同溫層發洩情緒的事情都不太想做了，身份政治也不熱衷了。\n搞政黨的都弄得像是宗教一樣。當你融入一個群體，你就不能有中立的意見了。你不能承認說我們其實有好有壞，反對者也是有好有壞，大家口徑必須一致，否則就是叛徒。\nCentrism在這世道是越來越難做了，我可以是左是右，只要合乎道理我就支持，或者…在歷史上根本沒有成功過？看起來不論左派右派的人，都很想發動戰爭消滅對方。許多國家的宣傳機器都會透過給一些藝文工作者好處，來讓他們給自己發聲，創作一種渲染情緒的作品，擾亂人們的理智思考。身為創作過藝術家的一員，我明白每個人都有想表達立場的時候，可是…人們常常對政治混入藝術表達反感。或者說，一但在作品中闡明立場，就會營造嚴重的同溫層。台灣的藝術家在宣傳隊對中仇恨的問題，另一方面，在宣傳親中論述。我覺得兩個好像都不對。把個人經驗放在前面，這樣不是往往就會不理性嗎？\n我覺得我的前額葉總算發育成熟了…嗯，更接近成熟了，減少了一些衝動性的行為。例如我以前常常當月光族，有點錢就大灑幣，不為未來做打算，現在懂得克制欲望了，設定延遲享樂的目標。不會在社群媒體上輕易發表暴言…因為真的會有人來看了，得收斂一些。然後在跟別人吵架的時候，不會lose my cool的說，而是迅速的冷靜下來，用比較冷靜的態度面對（以前的話我可能會氣到發抖），或者一笑置之，不輕易破防。\n嗯嗯，還得控制一下冷嘲熱諷的說話習慣呀…可是如果連匿名空間講話都要求得體的話，會失去很多樂趣的。這樣我是不是可以說，常常在網路平台噴糞的人（尤其是政治廚）都是心智發育不全的缺愛蛆？現實生活中過得不如意，啥都怪紅共/綠共，所以上網發洩情緒是嗎？Reddit上的r/China_irl是這樣評論支黑的。網紅時代，只要你的觀點夠極端，就能當上宗教領袖擁有自己的一片受眾。我們只要跟著喊口號，不要真理。ㄟ…罵到我自己了，這樣看來各政黨的支持者都需要注意這個問題。作為對過去衝動的我的一點反省，今年5月之後我就沒參加過民眾黨的線下活動了，逐步脫離對政治狂熱的自己。\n因為對現實生活不滿，所以找了一個政治或宗教類的東西下去沈迷，可是這終究是錯誤的。是的，要承認自己錯了真的很難。但是我這裡承認自己錯了並不是一種吐狼奶的過程，二極管思維改成跳槽到敵對陣營，否則一樣的站隊問題也會再度重演。\n人心迷茫的時候，我想過要參與宗教，聽說那能穩定人心和追求內心平靜，包括佛教和基督教。可惜了，我讀了聖經文本，禱告，還真的去了教會跟外國人hangout，卻難以說服自己把所有的憂慮卸給他們，即使祂掛念我們。也因此，基於宗教倫理道德所引領的，恢復道德導向的政治理念我本身也是無法認同。基於哲學研究帶給我的信念，我無法對宗教事務講太多東西。我只知道宗教跟政治一樣，都是使人能為之瘋狂的東西。\n乃是透過諮商師的觀點，進一步的認識到，我一直缺乏自我，所以才會尋求集體認同。\n沉迷政治而悔悟的例子，我有想到羅馬尼亞哲學家埃米爾·蕭沆，他年輕時曾經沉迷過法西斯主義，後來懊悔不已。看透了人世的本質，才能用悲觀的語調寫出犀利的對人性見解。\n《在絕望之巔》這本書中，他寫道：\n「為何我們當中有些人受到這樣的詛咒：他們在任何地方都不能感到自在，無論他們是在陽光下，還是在陽光之外，無論是有人相伴，還是離群獨居。」\n參與政治或是宗教，將自我淹沒在裡面，有時候會帶來一種愉悅感。因為我們將自身的一切都奉獻了高位的存在，交給他就好了，我們不用懷疑存在的本質，因為它是不證自明的。可是，我便是逐漸懷疑這些事情存在的意義。確實產生了失去了信仰的問題。\n政治立場，宗教事務，終究是一種玄乎的東西。很多時候我都不確定自己相信的究竟是什麼？\n缺乏信仰的後果，便是身心靈魂的病態。\n在看身心科服藥的同時，我也積極跟諮商師講我的想法，防止事態惡化到自殺的地步。不過諮商師聽我這樣說完，她給出了一個獨特的見解：那就是什麼時候你才可以做自己？你好像都活在為了滿足別人的期望，或者是社會的期望而活。你希望透過成全別人的樣子，來達到肯定自己的目的，那麼你什麼時候才能真正說出你喜歡的東西？要是說，你的哲學本身就能夠成為彰顯自己特別的存在的意義的話呢？\n是啊，我參與很多團體活動，在這之中總有一種疏離感，感覺不管在那個團體都不能融入。我不「知道」自己真正想要什麼，只能從我的行為去「推斷」我似乎愛做什麼，並往那個方向前進。我時不時會讀哲學書，但是我告誡自己不能鑽牛角尖，不然在沒有受過專業思考訓練的情況下，很容易變成民科網哲。因為對哲學理論的思辨，致使我理想上就不能肯定「宗教性行為」的有效性，我有自己的堅持，認為對任何事情都不能盲信。\n什麼時候我們無法再像小時候一樣得到單純的快樂了？難道什麼事情都要追求意義？這是過度探索精神世界帶來的副產物，大概也是我哲學書讀太多的結果，也許我們只要小確幸就夠了，不一定要有什麼偉大抱負。越來越感受不到真實的喜悅帶來的快感，只能不停的嘗試再嘗試各種「刺激」。我嘗試過寫遺書，想想死後的世界會是怎樣子，發現我真的沒什麼好寫的。\n若說存在先於本質的荒謬學說能拯救虛無主義，那我真希望有一天能找到適合我去相信的說法吧，起碼得在死前，希望不要是宗教。我本身也不擅長與他人建立關係，甚至覺得電腦程式輸出的0和1比人們口中的話語要讓人安心，所謂「回歸現實」「回到自身重新審視生活」的做法太過不切實際，為此我感受到一種麻木感、解離感。\n但是，如果還有希望的話，我會希望能夠改變。我能希望我的心不要就此死掉，變得憤世嫉俗。變得不關心他人，只關心自己。\n有時候還是不要想太多比較好。\n面對荒謬的虛無感，依然選擇活著向前進，這本身就是反抗。\n","date":"2025年12月3日","externalUrl":null,"permalink":"/posts/2025120301/","section":"Politics","summary":"一名曾經是小草的政治狂熱者的贖罪告白。\n我不知道怎麼開頭啦，論述議題前得先說你自己的立場，要先洗門風，才會顯得你真正「悔改」了，才有說話的資格吧。嘛，這篇文章是我忘了吃藥的時候寫的，所以思緒稍嫌混亂。\n有人說，你不關心政治，政治就會來關心你。\n咦？下一句不是被糟糕的人統治嗎？\n喔，看起來確實是這樣，可是萬一，你的對手也用一樣的話跟支持者喊話呢？所以其實被誰統治，終究都是糟糕的統治者來關心你？\n所以蘇格拉底才會被民主殺死吧。畢竟devil’s advocate的觀念，是更久以後才出現的概念。\n最近厭世的感覺越來越嚴重了，理想夢想抱負什麼的都逐漸的消融中。或說是虛無主義作祟吧，覺得世界上沒有什麼值得追求的事物，看不到一個確定性的未來，一切都毫無意義。\nThis is not how I am. I have become comfortably numb.\n我一直覺得，人生必須要有教條式的指導原則存在，然後我們為了那個賦予人生意義，因而為之奮鬥。現在看來我錯了，要是人生本身就無意義，強行賦予的意義怎麼能算是意義呢？\n「生命中不能承受的，不是存在，而是不能其為自我。」\n捷克哲學家米蘭‧昆德拉這樣說。\n究竟是在厭世什麼？除了對現實生活自身一無所成的處境的不滿、自我懷疑之外，其中一個原因，我想是對「宏大敘事」的解耦，宏大敘事在這裡可以代指為一切的信念，不論是政治上的或宗教上的學術上的哲學上的，一切的信仰。\n","title":"從關心政治到變成虛無主義者。如果我們失去信仰","type":"politic"},{"content":"分享在Surface Go 2安裝GNU/Linux系統的方式。 桌布來源\nMicrosoft推出的Surface平板電腦家族中，有一款屬於中低端型號，那就是Surface Go系列。他們用的處理器都是入門等級的。即使Microsoft再怎麼優化，也改變不了跑Windows 10很喘的事實，不只續航力欠佳，機身容易發熱，CPU隨便都100%，Windows系統檔案還會佔據大量磁碟空間。 如果我們在上面改安裝Linux系統，就能一定程度改善使用者體驗。看呀，剛安裝好的Linux系統佔用的磁碟空間不到10GB，開機RAM佔用1GB左右。 Surface系列平板，大部分是以x86架構Intel處理器為主的裝置。擁有標準的UEFI，加上Intel對Linux上游的積極貢獻，因此Linux發行版的支援度普遍很好。\n此外，針對Surface平板所使用的特殊驅動程式，尚有linux-surface專案的團隊提供特製版核心，提高相容性。\n大部分Surface的功能在Linux都可以正常使用，包括觸控螢幕、鍵盤、MPP協定的手寫筆、自動旋轉、自動亮度、待機、VA-API影片解碼加速等。 由於Linux桌面相對不吃效能，多餘的資源用來玩輕度Steam遊戲是可行的。 我們還可以透過Waydroid容器，無縫跑Android APP。 至於續航力部份，要看你用的程式是哪些。一般Chromium瀏覽器上網打打字的話，Surface Go 2裝Linux大約能撐5小時，這個成績與Windows互有勝負。畢竟Surface是專為Windows開發的硬體，Linux核心調度跟Windows是無法比的。 1. 前置條件 # 這裡Ivon使用Surface Go 2 (Intel Pentium 4425Y，4G/64G) Wifi版作為示範。\n關於Linux對Surface系列的硬體支援程度，參閱Github的這個表格：Supported Devices and Features\n撰文當下，Surface Go 2最大的問題是相機品質不佳，Intel IPU3相機勉強能用，Linux拍照品質沒辦法像Windows上的品質一樣好。而且相機依賴libcamera與PipeWire，只有Firefox能存取相機，其他程式要存取相機得依賴v4l2loopback模擬出一個裝置。有待未來改進。 如果可以的話，記得將Windows系統更新到最新版，包括UEFI。因為UEFI更新程式可能無法在Linux使用。\n2. 製作Linux開機碟 # 要用哪個Linux發行版？x86架構的Linux發行版都可以選用，包括Debian、Ubuntu、Fedora、Arch Linux、openSUSE、Gentoo、postmarketOS，就看個人偏好，以及你想要作為什麼用途。如果要穩定就選Debian ＆ Ubuntu；要最新功能就選Fedora ＆ Arch Linux。\n在這邊我選擇的是提供Fedora Linux，能夠享用到最新版軟體，但是稍微不穩定。桌面環境選KDE Plasma，有完整電腦版桌面，也有虛擬鍵盤。這樣Surface Go既能當筆電使用，也能當作平板。如果你想要偏向平板的使用習慣，不使用實體鍵盤，那麼用預設的GNOME桌面比較好。\n安裝Linux之前，最好先用Windows Update，將系統與韌體(Firmware)更新到最新版。因為Linux可能無法下載這些驅動。\n到Fedora官網下載ISO，選取KDE桌面版本。\n然後用Ventoy製作開機碟。\n因為Surface Go 2的連接埠只有Type-C，你可能要準備Type-C擴充基座才能插上隨身碟。Surface Go 2不能夠從SD卡開機。\n3. 開始安裝Linux # 將Surface Go 2關機。\n長按開機鍵與音量上鍵，進入UEFI。這個界面是可以觸控的，不用接上鍵盤，但之後安裝Linux可能還是需要使用實體鍵盤操作。\n雖然Fedora支援Secure Boot，還是建議關閉Secure Boot，免得安裝驅動需要手動簽名。 將開機順序設定為USB隨身碟 開機，依照畫面指示安裝。選擇清除整個磁碟系統，安裝Fedora。 關於中文輸入法，請安裝Fcitx5：\nsudo dnf install fcitx5 fcitx5-chinese-addons fcitx5-chewing fcitx5-gtk3 fcitx5-gtk4 fcitx5-qt fcitx5-qt6 fcitx5-configtool 小技巧：Fedora預設啟用zRAM，如果Surface Go的RAM太小，編輯/etc/systemd/zram-generator.conf提高SWAP數值，增加可用的RAM，單位為MB。 [zram0] zram-size = 8192 4. 加裝linux-surface核心 # linux-surface核心包含了一些專為Surface硬體設計的驅動套件和修補程式。部份已經合併入上游，目前Linux 6.12以上核心已經包含大部分Surface Go 2的驅動。若無特殊需求可以不用特別裝這個。\n對Debian和Ubuntu這類穩定發表更新發行版的用戶來說，安裝第三方維護的linux-surface核心會增加系統不穩定性。如果硬體功能都正常，就用Linux發行版提供的核心就好。\n依照Github指示安裝。Fedora的作法是新增linux-surface團隊經營的套件庫到系統： sudo dnf config-manager \\ addrepo --from-repofile=https://pkg.surfacelinux.com/fedora/linux-surface.repo 接著安裝linux-surface核心，重開機 sudo dnf install --allowerasing kernel-surface iptsd libwacom-surface 用確認目前的核心是否切換成功，應該會顯示linux-surface uname -a 由於Fedora系統核心更新頻率比較高，新版核心可能會覆蓋linux-surface的核心。故安裝linux-surface套件之後會自動啟用linux-surface-default-watchdog.path服務，確保開機啟動的都是linux-surface核心。 5. KDE桌面的虛擬鍵盤使用方式 # 沒有接上實體鍵盤的時候，KDE Plasma會自動進入平板模式。\nKDE Plasma 6內建的虛擬鍵盤是Maliit Keyboard，支援英文與中文輸入，bug很多，屬於勉強能用的等級。\n在系統設定 → 鍵盤 → 虛擬鍵盤啟用。需要注意的是這個鍵盤無法跟Fcitx5一起使用。 接著在畫面上點輸入框，鍵盤應該就會跳出來了。 KDE的系統設定可以自定義觸控手勢，例如我設定從畫面左側滑入，就開啟所有視窗總覽 不過，KDE Plasma桌面模式大多數情況仍需要鍵盤與滑鼠控制。\n如果想要純觸控操作，建議加裝plasma-mobile或Phosh的桌面環境\nsudo dnf install plasma-mobile 「Plasma行動」的桌面環境可以在開機登入畫面切換 在Plasma Mobile可以得到類似Android平板的體驗，它的設定檔部份是跟KDE Plasma共用的。 在plasma-mobile系統設定可以啟用拼音與注音輸入法。 ","date":"2025年12月2日","externalUrl":null,"permalink":"/posts/install-linux-on-surface-go-2/","section":"所有文章","summary":"分享在Surface Go 2安裝GNU/Linux系統的方式。 桌布來源\nMicrosoft推出的Surface平板電腦家族中，有一款屬於中低端型號，那就是Surface Go系列。他們用的處理器都是入門等級的。即使Microsoft再怎麼優化，也改變不了跑Windows 10很喘的事實，不只續航力欠佳，機身容易發熱，CPU隨便都100%，Windows系統檔案還會佔據大量磁碟空間。 如果我們在上面改安裝Linux系統，就能一定程度改善使用者體驗。看呀，剛安裝好的Linux系統佔用的磁碟空間不到10GB，開機RAM佔用1GB左右。 Surface系列平板，大部分是以x86架構Intel處理器為主的裝置。擁有標準的UEFI，加上Intel對Linux上游的積極貢獻，因此Linux發行版的支援度普遍很好。\n此外，針對Surface平板所使用的特殊驅動程式，尚有linux-surface專案的團隊提供特製版核心，提高相容性。\n大部分Surface的功能在Linux都可以正常使用，包括觸控螢幕、鍵盤、MPP協定的手寫筆、自動旋轉、自動亮度、待機、VA-API影片解碼加速等。 由於Linux桌面相對不吃效能，多餘的資源用來玩輕度Steam遊戲是可行的。 ","title":"如何在Surface Go 2安裝GNU/Linux系統，提昇低階平板效能","type":"posts"},{"content":" 【閱讀前須知】\n此處是我為取代Facebook動態牆製作的特別網頁，跟首頁的長篇文章不同，這裡是紀錄簡短想法的筆記之用，部份想法可能會另外彙整成文。\n這裡的微部落格充滿各種觀點，尚未經過打磨，有反映時事，有靈光隨想，有偏激之言，有政治評論，可能冒犯到所有人。僅代表個人意見，請謹慎閱讀。\nParrhesia，即只說真話不欺瞞，有負面的後果也在所不惜。說真話不只是言論自由，真理顯現也符合大眾利益，更是公民義務。唯有對自己誠實才能讓我們解脫。\nHumility is not thinking less of yourself, it is thinking of yourself less. 謙卑不是看輕自己，而是不僅為自己著想。\n2025年\n20251231 又是一事無成的一年，不過起碼有點收穫和前進了，找到了志同道合的夥伴，不再是孤帆於迷霧中前進。不必再單純依賴政治的熱情撐住我活下去，生活中有了更多積極意義的事物。這不是終結，而是新的開始。我們應該樂觀一點。ABBA - Happy New Year 每次我總是會用LINE傳這首歌給中意的年上女性。\n20251230 看你國政府面對中共圍台軍演的前倨後恭的態度，我：BRING DOWN THE GOVERNMENT. THEY DON\u0026rsquo;T SPEAK FOR US. Radiohead - No Surprise\n20251229 昨天看萬秀豬王，聽到沈文程唱這首愛在心裡口難開。Leo Sayer - More Than I Can Say (Official HD Music Video) 啊，真不愧是西餐廳駐唱歌手。\n20251228 抽屜裡撿到親戚的Samsung J7 2016和Sony Xperia L2（長得太像Xperia XA2）。可惡，聯發科處理器的沒有ROM能刷。\n20251227 情況從糟糕變成難以理解的又一個例子。TP-Link A6路由器因為寬頻免費給了一個強波器所以退役了，我終於有一個給伺服器專用的路由器啦。再次試試刷OpenWrt看看，啊幹怎麼還是爆ping。然後想刷回原廠，就變磚了\u0026hellip;。看我～拉進垃圾車！\n20251227 情況從糟糕變成難以理解的又一個例子。親戚的Samsung Tab A7換了兩次電池卻還是膨脹起來，我想說這是接盤研究Android平板Root的好機會。以策安全，我將螢幕扳開要取出電池，再淘一個來換不貴，結果螢幕排線就被我扯斷了。\n20251227 鼻塞嚴重影響到耳咽管的時候，加上感冒藥的副作用，連聽音樂都會變調，感覺張宇所有的音都偏了，害我以為是不是喇叭壞掉了。\n20251227 輸了啊，人類輸了啊。Xperia的21:9遙控器螢幕一直是目前與市面上其他挖孔手機不同的特色，沒有挖洞就不用跟人搞什麼動態島，別人一眼就能看出來是尊爵不凡的Sony。可是自從Xperia 1 VI官方慫了不再硬推，這個特色也就失去了，比失去4K解析度還讓人惋惜，那麼小的螢幕用4K到底誰看得出來。現在只能用無挖孔螢幕來判斷是Xperia，起碼這還是不多見的特色了，就算邊框厚如Xperia 10 VII我還是會想買，在我被Pixel徹底折服前。我得承認這有點皈依者狂熱，Sony堅持的東西，即使毫無意義，會讓索粉自動為他們辯護，就像果粉總能幫Apple公司的策略辯經，不論被割多少韭菜。Sony的UI很接近Android原生是好事，可是也意味著很難做出識別度，讓人忽略DSEE這類黑科技的存在。\n20251227 有時候我會透過直接goolge網站網址的方式來海巡有沒有人分享我的內容，往往能看到一些小眾論壇的有趣結果，甚至還有整篇文章被高科大抄過去的。圖片證據，雖然我文章的授權條款是CC-NC-BY-4.0但這是否有點\u0026hellip;\u0026hellip;。現在看來這招無效了。因著Facebook追蹤人數上升，它開始跟Threads一樣向搜尋引擎廣播我的Facebook廢文了，致使搜尋結果都被FB佔滿。\n20251227 大家都是人才（卜學亮 - 子曰），你不能單純因為政治立場不同，就說台大法律系畢業的某些人是垃圾、某些人是神，憑著匿名的身份嗆別人是法盲。比如有人覺得「黃國昌是垃圾，幸好我們有蔡英文」這種論調，既然都有辦法讀到畢業不被二一，這種評論完全不合理。更不要因為根本考不上在那邊說privilege殺小階級不平等的言論，左逼不是這樣當的。\n20251225 FYI：Chromecast with Google TV 4K有LineageOS的official build，代號sabrina。果然從ChromeOS改用真正的Android就是不一樣，不確定能否通過Netflix認證。這樣未來我要把家裡第四台業者強塞的電視盒換掉就會優先考慮這台而非小米盒子了\u0026hellip;不對，要解鎖Bootloader又是另一個問題，竟然得用舊版韌體才能破解Google TV的開機流程。另一方面，維護樹莓派專用LineageOS Android TV build的老兄KonstaKANG不願意將他的作品放到official，究竟打了多少骯髒的patch。\n20251225 PSA：LineageOS御用的GApps套件「MindTheGApps」的Github圖示是一個大便。無端聯想：要當心GApps的危害！基於授權因素，以及保持一個乾淨的AOSP系統的設計構想，LineageOS預設是不提供GMS服務的，需要使用者自己刷。現在還有在製作GApps建置的開發者不多了，OpenGApps已經不知道死多久了（作者據說是烏克蘭人？💀）。MindTheGApps只提供最小的Google Play服務組件，僅支援ARM架構。除了MindTheGApps，還剩NikGApps更新比較勤。他們提供多種組合套餐，選擇要讓多少Google全家桶進入你的系統，且他們提供ARM與x86架構的套件。\n20251225 Suckless Software for Everyone: You too can LARP as a good programer! (SELF 2023) 哈哇哇，Luke Smith居然會出席公開的Linux技術論壇，大談特談何為suckless software。向大家展示他的Artix Linux與dwm桌面。而且他在台上還是光著腳，真的是拒絕一切bloatware的男人。要是能在COSCUP講lightning talk，我也要這樣幹。\n20251225 如果想要的話，不依賴SaaS架站服務，在家裡用一塊樹莓派 + 美國霹靂火隧道(Cloudflare Tunnel)，就能簡單架個網站，輕鬆弄起self-hosted服務，不用處理公網IP與DDNS。他們的CDN可以幫你擋掉許多攻擊。唯一的前提是你家網速夠快，且要信得過Cloudflare。否則，我們就得自行去申請公網IP和Let\u0026rsquo;s Encrypt憑證了。我一直在想，這種土砲式的架站方法是我們需要練習的。要是哪天GCP這類大平台要趕你走，也不會落入無路可走的境地。即使我現在主網站 ivonblog. com 看似很穩定的託管在雲端霹靂火，我也一直在建立真正自架網站的備案。並發布到Tor暗網上。我會把閒錢拿去買一些莫名其妙的網域，然後放著讓它過期，想到才續費，哈哈。為了撿便宜，都是用.cc的域名，不論豬屁股(Porkbun)還是雲端霹靂火星(Cloudflare Registrar)一年也不過10美元，比起滾吧爸爸(GoDaddy)要便宜許多。雖然看起來很像詐騙在用的不過隨便啦。luckyjavascript，結合我最愛的程式語言所取的名字。每次看到這個網域都會想到Radiohead - Lucky。freehands，這個是用來表示助人的自由的手，主題曲是cinema staff - great escape（進擊的巨人一期ED2）。\n20251225 X的AI功能差不多，應該說早就瘋了。不能因為推出可以色色的Ani就忽視背後的問題。他們整合AI到自家服務的程度超越其他平台，也因為這些前衛的作法引發爭議。現在可以點一下推文旁邊的按鈕，叫Grok出來解釋，還可以AI修圖後發一篇新的文章。這樣的惡果就是盜文非常容易，再利用藍勾勾的流量計畫營利，機器人帳號氾濫根本就不想管了是吧。這種極度激進、極度前衛的做法可以說是碾壓了創作者的生存希望，逼迫他們面對現實。只要你放到網路上的東西，everyone is connected。可如果我們嘗試跟上一下X公司的思緒，這種編輯圖片的行為，有什麼好大驚小怪的，Youtube不是也有Remix按鈕嗎？它只是沒有禁止他們使用的按鈕而已。畢竟X使用者條款就已經說，用戶一旦註冊就等同把圖片交給AI模型訓練了。就算有人說，可以逃難到Bluesky和Mastodon，可是他們這波又能撐多久呢？還不為了龐大用戶群得回來。又或許，芸芸眾生根本不在意AI侵犯你的權益，你其實並沒有那麼重要，而就只是繼續doomscrolling。\n20251224 我覺得各大音樂串流平台的「Recap」功能應該也要能在self-hosted環境實現才對。現在有LLM幫忙了。NeptuneHub/AudioMuse-AI 依照Navidrome或Jellyfin的音樂資料庫與聆聽習慣，自動生成播放清單。這個軟體可以復現Spotify、Apple Music智慧推薦音樂的功能，可以串接線上ChatGPT AI，也可以選擇在Ollama本機運算。如果用本機計算的話，就會很耗費資源，在低端機器可能跑不太動。\n20251224 噁心的媒體以及嗜血的網紅。張文事件發生之後，媒體重重壓力下拍著要父母下跪道歉。北市隨機攻擊案 嫌犯張文父母下跪向社會、被害者道歉。另一方面，四叉貓開始肉搜過去他在網路上的足跡，藉機炒作蹭名聲。張文用的筆電近9萬！ 四叉貓曝金流：母親支付其他費用。如果你覺得現在法律機關放任他肉搜黃國昌小孩資訊是可恥的事情，就應該對張文也一樣標準，即使他是殺人犯，譴責他們這種自以為正義的行為。「我依然认为，草根不是民主。草根是庸俗，很庸俗。说白了，就是网民。网民当然是国民，无耻，而热闹。」by 腰乐队 - 世界呢分钟。嗯，這樣的話我也要檢討，其實我也不應該對田小傑、郭乾哥做出太多深入追究，跟著網民看戲，甚至去騷擾無辜的學校當事人。更不應該因為犬法官做成對我黨的不利判決，就去肉搜法官資料。講到這個還真爆笑，台灣的司法總是死了又活，活了又死。小草在柯文哲案去肉搜林俊言檢察官資料，青鳥在高虹安案之後去肉搜郭豫珍法官的資料，真是一群被情緒牽著走的底層生物。就目前的發展來看，蔣萬安市長仿效紐西蘭清真寺恐攻，不給他惡名的作法才是最值得嘉許的。「別讓他得逞」 蔣萬安拒提凶嫌姓名 - UDN\n20251224 Android的數位健康＆家長監護一定要依賴Google Play服務才能運作嗎？要讓Google知道你平常都在用哪些APP？數位健康的螢幕使用時間是我估計手機續航力的一個重要指標，而非是電量消耗表，主要是看一天內手機能亮著用幾個小時。因為現在手機電量大，加上Android Doze機制的完善，待機時耗電的電量可以忽略不計。唉，怎麼螢幕使用時間連這個功能都要依賴Google服務，不應該是內建於AOSP的嗎？因為要求的權限過高？沒辦法了，我只能找數位健康的替代品。幾經比較後，我發現DigiPaws這個開源APP還不賴。他除了螢幕使用時間以外，還提供灰色螢幕、專注模式、禁止開啟特定APP、禁止看短影音、檢視看了多少短影音。還有個功能是封鎖敏感字詞（文字獄）例如，只要在瀏覽器搜尋色色的字詞，一律強制跳轉到指定網頁（預設是rickroll）\n20251224 Android 16的Debian Linux終端機沒有GPU加速功能，預設是用llvmpipe渲染。這樣的話用起來跟無GPU加速的headless xVNC沒有差異呀。Google未來可能會透過virglrenderer實現半虛擬化的GPU加速。這個性能悲催但是支援GPU比較廣。我在想，大概是歷代Tensor處理器用的GPU型號不一，無法使用統一的驅動程式，讓他們踢到自己的鐵板了。以前用Mali，新的用PowerVR，還gank到自家的Pixel 10性能表現。不然就讓他們參考Termux與Winlator經驗，想辦法同時支援Vortek與Turnip吧。\n20251224 法官問遭割頸學生家屬「願接受凶手孝順嗎」 輿論炸鍋 - 中時 這個法官是不是酷馬電影看太多（這部電影在高雄拍的蠻特別的，片尾曲是MC HotDog唱的），希望未成年殺人犯出獄後能夠「孝敬」被害者父母？怎麼可能現實中會頻繁上演「理解並原諒」的狗血劇情。\n20251223 覺得.gif動圖把畫質壓太爛的解方：改用.webp或.avif。這兩個同樣可以做動圖，有壓縮圖片容量並保持畫質的能力（一個使用VP8編碼一個使用AV1，他們跟.mp4一樣本質是一個容器，裡面能塞任意編碼），甚至能用無損壓縮。現今Firefox和Chrome瀏覽器已經對這種格式支援非常好，GIMP和Krita也支援處理。不過由於他們不是專門用來做動圖的格式，搜尋檔案的時候沒有.gif那麼方便辨識，容易跟靜態圖片混淆，需要從檔案metadata下去篩。順帶一提，.gif最初是拿來做透明圖片的，因此早期網站會有人用.gif替代.png放靜態圖片，而非今天都拿來做動圖。此外，社群媒體網站的支援度也是個問題，大部分都還是用.gif當動圖的標準吧，不然就自動把.gif轉成影片。.webp或.avif要嘛不支援，不然就是只能放靜態圖片。支援.avif的圖床很少。目前，在你自己架的網站放.avif是唯一實際的用途，而且是有前瞻性的作法，能幫你省下一大筆流量支出。說到動圖，還有非主流的.apng，這個真的沒人在用，主因是長期只有Firefox支援，Chrome到2017年才加入支援。我基本上只看過Komica有人利用.apng縮圖讀取第一幀的機制，在縮圖與放大後的圖片放不一樣的圖片嚇人而已。\n20251223 COLOR - 無賴正義：你用你的正義對抗 可憐 善變 虛偽的世界 最後 被我 撕裂 成就達成，我連在遇到活人都很難的Mastodon都會被人封鎖\u0026hellip;甚至沒有到的程度，就只是講一下對學台語不應該成為身份政治的想法就被封鎖，這個時候我只能做出翻白眼的表情🙄。這次我又得強調，我從不封鎖人的，即使是政治立場不同的，除非是洗板。被人封鎖，這在Threads上可是很容易達成的成就，因為演算法緣故，總會看到一堆ragebaiting，我只要稍微留點意見不同的言論，講點理中客的論調，偏激的青鳥就會網暴你一長串再封鎖你，讓他的串文變成一言堂，他們還會在留言區炫耀「哈哈釣到好多草」。是我太玻璃心了嗎， 每一次被封鎖心情都會不太好，但習慣了也就算了¯_(ツ)_/¯。不過同理一下這些玻璃心的人，恐怕他們也只能透過這種手段隔絕心理認為的噪音吧，待在同溫層太久了，只想聽好話。難道我對陌生人講話還要專門討你歡心？在一個本就公開交流的場合，要是你真不想給人發表迴響，那就關掉留言，叫人有意見用電子郵件來吵呀。\n20251223 從一些台派的態度來看，講台語變成一種身份認同、套近乎的方式，可以當作一種身份政治的標籤。我參加過台獨書店的讀書會，他們那邊的人都講台語，還要用台語唸聖經。有人覺得在美華僑講台語我們就是一家人，雖然他們已經移民出去好幾年了，只有想到用健保才會回來。或許這包含了一部分海外台灣人白色恐怖的記憶。海外台灣人紀念228 唱威權時期禁歌 黃昏的故鄉 - CNA 但是我卻覺得，把台語弄身份政治是一種無趣的行為。因為問題在於，沒有讓人有很大的動機去學這門語言，就連我在學校遇到的支持陳水扁的語言學系外籍教授，都不認為台語對現在台灣人有什麼動力去學習了。鄉民還說，台語就像拉扯鈴、藍染、竹筒飯一樣，讓有興趣的人去學就好。我認為，現在台灣教育部推行的台語羅馬字以及標準字體機制，有助於保存這種快要消失的語言，就算哪天變成拉丁語這種化石了也能用數位化方式重現。但是基於國族認同和身份政治的理由去學習台語，只會進一步弱化這個語言存續的價值。你不能因為每隔幾年就有獨立樂團唱台語歌就覺得這個語言有復興的希望了！不然看看這種貴物：闽南狼 - 福建舰\n20251223 【全程字幕】東吳大學生嗆辣提問鄭麗文普丁是不是獨裁者 25分鐘對談絕無冷場! 儘管口條很清楚，我覺得，在回答一些立場上的尖銳問題的時候，鄭麗文回答的比黃國昌還要糟糕，並缺乏說服中間選民的方法。講話的話術繞一圈，還是無法回答什麼是獨裁者的認定，變成是在各說各話，當然也不能排除是青鳥的腦袋打結讓場面更難堪了。論台海和平，繞一大圈，又走回九二共識的老調，雖然是可行的方案（起碼馬英九的做法比萊爾校長當麻煩製造者風險小）但如何改善目前困境，那又會是另一個問題。被她這樣一說，我差點也想開始反台獨了。【校園演講】黃國昌為何要跟藍營合作？說好的要把國民黨掃入歷史塵埃呢？ 至於黃國昌被問到立場轉變的問題同樣回答得很彆扭，只能以務實的態度講團結一切可合作的力量，冷冷地譴責國民黨以前犯下的過錯，並講「民進黨若想起以前承諾的價值，我們還是歡迎一起來做吧」圓場。\n20251223 BlogBlog同樂會第1期主題：推坑。你有什麼很喜歡、想推坑給全世界的東西嗎？ Wiwi舉辦的面向個人部落格作者的一個活動。上一次我參加類似活動，還是在Matters.town響應2022年內收穫年內收穫的文章，但是我因為對加密貨幣沒什麼興趣就離開那個寫作平台了，只留下LikeCoin。Wiwi舉辦的是個規模更小的活動，希望吸引到獨立個人網站愛好者。講到愛好，我得是跳脫電腦科學以外的東西吧，因為這平常我已經討論的夠多了\u0026hellip;可是怎麼辦呢，我真沒有其他愛好\u0026hellip;難道要推坑一部作品，或者是來聊F-Toys的1:72模型？我覺得這種手作東西還蠻有成就感的。\n20251223 我真的不知道我以前那麼熱衷組裝模型到底是怎麼完成的\u0026hellip;我的抽屜裡面還有一盒Zvezda Mig-31沒有開盒過，想到要上色就覺得煩。這架又不像同社的Mig-23 MLD，可變翼翅膀能張開來玩。她只有兩顆十二千牛推力的大屁股。\n20251223 現在越來越難以定義正常人，尤其是涉及政治立場的問題上，還有對社會上性少數群體的劃分。我們不應該用正常人為自己的觀點辯護，你應該更明確指出自己的立場。比如我看到有人說「正常臺灣人都會認同民進黨的主張。」然後認為其他政黨人都是叛國賊。當一個人宣稱「正常人都會這樣想」其實並不能證明很多人這樣想，是你以為大家應該要這樣想。並且說出這句話，背後隱含了「跟我意見不同的都不算是正常人」的意思。在醫學上的殘障認定，我們能用科學的標準差異來斷定何為異常，誰是智能障礙，誰是資優生。不過在缺乏客觀數據的場合，我們很難斷定說哪個共識是真的。或許我們可以做個民調，調查對公共議題的看法來確認正常人的想法為何。可是這樣又會落入從眾效應的問題。從來如此，便對麼？宣傳口徑上聲音比較大的一方，就能說他的主張就是對的麼？沉默的大多數又怎麼辦呢？所謂西方的普世價值，真的能無限制適用於世上所有國家嗎？\n20251223 Youtube Music永遠無法取代Spotify與Apple Music，成為正經串流平台的罪狀：一、硬是要在專輯中間插入MV播放，降低音質。二、中文歌手上架的時候顯示英文，這可能跟唱片公司比較有關係。雖然網頁會顯示在地化名稱，可是NewPipe和Parabolic抓到的版本還是英文的。三、沒有無損音質。所以Youtube Music除了方便聽盜版、翻唱、看年代物MV之外一無是處。\n20251223 Debian的正確發音是/ˈdɛbiən/，重音在前，音似蝶變。這個名字是在1993年，由創辦人Ian Murdock與他女友Debra Lynn的兩個名字組合而來的。不幸的是，Ian Murdock於2015年因精神問題去世了。有人說，deepin是中國口音很重唸的Debian，那用台語唸Debian會怎麼樣呢？答案是：戴帽仔的(tì-bō-á) 哦不對這應該是Fedora吧。我是從新寶島康樂隊 - 一佰萬這首詐騙青年的歌曲學到的，源自日治時期對警察大人的說法。\n20251223 看了讓人很解的個人網站：硬是要用特殊字體導致閱讀不便。例如這個https://catwithcode.moe 雖說個人網站應該要有個人風格，可是 #blog 正文字體用類似華康少女體的字型就感覺很不正經，就像你不會希望在Times New Roman的場合看到Comic Sans吧，還有耍帥用宋體的。臺灣開源新字體芫荽我覺得不能用在海報設計以外的地方，粉圓勉強可以。此外還有營造科技感，使用Nothing那種像素風字體的，一樣看了不舒服。也許設計網站的時候應該也要考慮無障礙人士的需求吧。我個人覺得比較能接受的字體是Noto Sans，不然就CSS family不要設定，讓使用者的OS決定吧。啊可是這樣的話，渲染效果就會是 Linux Noto Sans ＞ Mac 蘋方體 ＞ Windows 微軟正黑體。好在即使你不買單作者的巧思，瀏覽器多半有閱讀器模式，RSS閱讀器parse到文章後也能調成喜歡的樣子。\n20251223 Internet Archive的Ultra Japanese Sound Collection區有一堆上年代的好物，大概都十幾年前的原聲帶，連Lain的都有，很多都FLAC直接傳上來的== 點一下就能直接打包下載。不知道為什麼K-On的原聲帶被標記為「內含敏感內容」吊帶襪天使卻沒有www 是那個專輯封面太讓人誤會了？\n20251222 只會注音和拼音輸入法是一件丟臉的事情嗎。光是在這兩個之間切換，我就覺得大腦在左右互搏了。我發現用你不熟悉的輸入法打字，有助於你在被網路上的troll弄生氣時冷靜下來。因為打字不順暢，跟不上腦袋的想法，就會防止打出情緒化的字詞了。例如，我因為追求開源輸入法，開始使用生態系比較繁榮的Fcitx5漢語拼音。身為從小到大學注音教育的臺灣人，注音中打的速度肯定是跟喝水一樣自然（慚愧的是我手指知道注音鍵盤排列位置，可是打字的時候還是要低頭看鍵盤）。可是切換到拼音速度就會大幅度下降了，因為我基本上是靠自學，很多不熟的字會打不出來，例如「女」知道是拼作「nv」就花了我好久適應。反過來說，打吵架話語是快速增進輸入法功力的好場合XDD 看來我應該在手機平板筆電桌電都設置不同的輸入法方案，讓大腦一直處於星爆狀態。\n20251222 From a dev: \u0026ldquo;GrapheneOS heavily modified libc and zygote forking which makes lsposed hooks hard to implement. We have no plan on fixing this.\u0026rdquo; 也許GrapheneOS安全過頭了，刷LSPosed + Zygisk試圖執行，zygote64就會瘋狂崩潰，可能他們的實作有擋Xposed的hook。哇Google和眾多中國廠商怎麼都沒想到這招，直接封殺注入破解APP的可能性。但是這種系統限制太多了，GrapheneOS的強安全性會讓一些debug工具無法運作。我又想起羅百吉的那句話：不要管我。為了病態的安全性與隱私保護，犧牲便利性與可玩性，這是不能忍受的，或許LineageOS還是最中庸的選擇。\n20251222 如果我們對民主的價值只剩下信仰，而沒有體制的完善與三權分立的制衡，那我想這個國家也差不多完了。更別提連國家都不是的\u0026hellip;。\n20251222 無腦反中的人很可撥。有些臺派人士，似乎自居高階生態位，以為是剎帝利階級能跟白人平起平坐，倒歧視起有色人種來了。你應該像Edward Snowden一樣，反對一切是侵害人權的有權者，不是用種族一刀切。有人忌憚Nothing Phone的中資背景，我想說，那又怎樣，刷機不就得了，還是你看到中國人好就口吐白沫的智商只能去用iPhone\u0026hellip;這樣講不太好。要查成分誰不會，有人因為Nothing Phone是一加手機聯合創辦人開的公司就指控他是中資洗產地，儘管他們總部在英國，且創辦人裴宇是瑞典華裔，但還是因此忌憚而不買。我聽說對中國兩字過敏，愛當支語警察出警的人還成立笨他侵略的網站，列出所有在中國大陸活動的公司，身家背景全查出來，說是為了知的權利。我就看這個網站什麼時候要收錄Google私下搞過的Project Dragonfly以及Apple的紅色供應鏈，哎呀我操資本怎麼這麼壞呀，讓我們一起來抵制吧。我看他們哪天連矽谷公司有華人也會提防了，陳立武黃仁勳蘇姿丰你們最好小心點，要說台灣是個國家我才會買你們的產品www 這就好玩了，另一方面，注重隱私權的西方國家Reddit網民，在建立高隱私服務列表的時候，也會查成分。Privacy Tools激進的一派認為，公司設在五眼聯盟國家的網站都不可信。美國公司更是他們重點懷疑的對象。這樣哪裡有自由的網路呢? 讓我們在加密proxy的道路上相會吧。別搞這麼虛無飄渺的說法，我們應該說，評估自身的threat model，再決定要對中資公司和美國公司提防到什麼程度。\n20251222 【校園演講】黃國昌為何要跟藍營合作？說好的要把國民黨掃入歷史塵埃呢？ 有人說台灣民眾黨出現之後，台灣就變得天下大亂了。不過換另一個角度來看，正是他們戳破了民進黨貪污共犯的虛偽面具，又擁有國民黨缺乏的社運力量，重新奪取誰才能愛台灣的話語權。並讓那些無腦挺綠、自詡保護民主的社運仔汗顏。所以並不是變亂了，而是讓社會多了一種多元化思考，不落入二元對立的方向。雖然現實中不得不跟現狀妥協，但他們還是堅持走下去。因此我看好他們，願意繼續觀察下去。\n20251222 大陸人的Android手機沒有Google到底怎麼活下來的。假定有人不被國產APP綁架，又能擁抱開源為主的APP?儘管我嘗試在Android進行degoogle，改用F-Droid為主的來源，卻仍改變不了很多東西都要依賴Google的事實。我不覺得，跳到另一個walled garden(如蘋果或華為生態系)是一個解方。到頭來即使是用GrapheneOS，我也得啟用Sandboxed Google Play服務。可是這樣做又會讓手機很難用，還不如LineageOS直接刷GApps，是我比較能兼顧開源與便利的平衡點。或許，我們已經逃不了Google的魔掌了，通常這種時候，我就會放You can check out anytime but you can never leave hotel California.\n20251222 Viper4Android將除了混響以外的功能全部打開，會給手機喇叭帶來完全不同的體驗。Viper4Android這種超讚的東西怎能沒有電腦版呢！！有Viper4Windows當然也有Viper4Linux。儘管核心組件是閉源的，它的功能應該還是超過EasyEffects和JamesDSP的。\n20251222 卓榮泰不副署財劃法！這招連柯建銘都不同意？三讀通過的法案，可以不副署、不執行嗎？聽聽郝柏村先生的自述：「副署權是對抗『總統獨裁』的權力。」｜#廖震談時事 EP112 民進黨一直破壞人民對司法的信任度，還有人力挺。有時候看到這些跳樑小丑的行為，就會認同美國極右派的論調：我們是應該廢除大學了，因為只會教出與世隔絕的左逼。經濟民主聯合總能在護航綠色政府違法作為正當性的時候收穫一長串百工百業挺政府的聯署書，大部分是高知識分子。例如這次針對違法做出判決的五老星憲法法庭又跑出一長串肉粽。後來被抓包，這些人原來也都是挺大罷免的，抄名單真方便。你以為這叫民意？啊廢死聯盟的聲明也一堆人聯署啊，但仍改變不了該組織人人喊打的事實。沉默的大多數民意，還需要更多人喚醒。\n20251222 【全字幕】大爆料！北捷殺人事件！賴清德脫不了關係！邱毅爆出背後黑幕！ 都發生張文砍人這種事情了還在扯政治的是什麼掰咖，國民黨和民進黨很多人發揮支性，先怪執政者的錯，好像我們得要先把罪犯貼上青鳥小草的標籤，我們才能決定要不要譴責或默許這種行為。\n20251220 將Pixel 手機當做網路攝影機使用 一個很廢的功能：Pixel手機在Android 15後可以將自身作為網路攝影機使用，也就是說用USB接上電腦會成為UVC裝置，讓電腦可以播放手機鏡頭的畫面，使之能在會議軟體中選取作為攝像頭使用。可惜沒有麥克風支援。以前這個要靠DroidCam的ADB實現才能辦到的。其他Android手機、Android平板、iPad，他們也可以播放Pixel手機相機的畫面。但是！Pixel手機自身不支援連接外部的UVC裝置。第三方ROM應該也都有移植這個功能。可是這功能似乎沒有進入AOSP標準，所以其他Android手機難以複現。不過我們有的是方法，要從電腦無線存取手機鏡頭，用VDO Ninja就能辦到，還能使用麥克風。\n20251220 實際接觸過高音質藍牙耳機後，我好像理解為什麼Apple有底氣堅持出AAC編碼的藍牙耳機繼續槓盤子了。因為藍牙目前的頻寬就是有其物理上限，即使是追求高bitrate的LDAC和aptX，也都會碰到現實生活中2.4GHz干擾太多的問題。儘管他們理論上能提供AAC三倍的bitrate達成更好音質，可是難以解決干擾問題，除非你坐在一個理想的實驗室環境。到頭來他們為了連線穩定，只能設定adaptive的模式來動態調整bitrate。LDAC在最糟糕的情況下，bitrate會掉到330kbps，接近AAC的bitrate了。那就不是很穩定的體驗了啊。此外，aptX和LDAC還有比AAC耗電的問題。從實務上來看，AAC是最中庸的選擇，只提供SBC再靠等化器來救的是黑心廠商。我們可以用腦殘果粉的心態為Apple護航：蘋果公司都是要等技術成熟了才會開放給消費者的！就像折疊手機、螢幕下鏡頭什麼的，比Android廠晚出不是技術不行，而是注重體驗，我們很懂重新定義！你們這些技術宅的東西我們聽不懂！\n20251220 不知道為什麼Viper4X還沒有人研究出rootless的裝法，明明JamesDSP就可以。是因為它深層修改的東西太多了嗎？目前只有一個基於AnyKernel的方案 Zackptg5/ViPER4Android-FX-Rootless 表面上是不用root，可是要解鎖BL刷GKI核心，這跟Root只有一步之遙了吧。\n20251220 「我年輕的時候曾是一名共產主義者，後來是無政府主義者、自由意志主義者，最後為生態法西斯主義者。」誰家小孩，喔，原來是4chan玩網玩魔怔的Brenton Tarrant呀。外國的獻忠開獻之前都會發一大長串Manifesto，反觀你國。\n20251220 我想追求真實的色彩，因此我很不能理解用美圖秀秀相機拍照會比較好看的說詞。套濾鏡那是後話，重點是照片顏色自不自然。Gcam雖然AI演算法強，但也有翻車的時候。Xperia 10 V的白平衡很差勁，我常常用Open Camera手動模式怎麼喬還是不滿意，最後還是得開大絕：開GIMP拉調色曲線修正。可能這臺相機硬體天生質素就不好吧。換成Pixel 6a會好一點嗎？GCam拍出來的照片成色是沒話說，可是我一直有注意到一個問題，我過去都是在非Pixel機型裝Gcam Ports來拍好照片的，常常會有AI把畫面抹太黃的問題發生。原來本家GCam也有這個問題，AI有時把顏色抹的太豔了！導致在注重物件顏色的場合就會跑掉，像是橘色拍成紅色。圖片示例（左邊正常發色，右邊抹過頭）。因此我不得不出動Open Camera來調整。GCam的界面不適合調整參數的場合。在我精細的控制ISO與白平衡後，總算解決AI亂算的問題了。再加上Pixel相機硬體質素就很好，不完全依賴GCam演算法補強。於是乎，我的使用方式就變成了無腦拍用Gcam，對畫面有要求再開Open Camera。Open Camera的經驗能不能也應用在Xperia 1 III呢？不行，因為對Camera2API支援度不佳，還是乖乖適應Photo Pro吧。\n20251220 Nothing Phone的產品真的處處充滿巧思，外觀都有很高可玩性又有質感，比蘋果還潮，例如新出的CMF Phone 1有一個旋鈕，用這個調整音量有種iPod復活了的感覺。官網的字體也很有風格，把產品頁面打造的像是你在Neocities或Bandcamp看到的個人網站一樣，獨特不庸俗又不會給人太過高深科技感。更棒的是他們繼承了OnePlus對刷機友好的傳統。\n20251220 TIL：透過Fast Pair協定，藍牙耳機可以在登入同一Google帳號的兩部Android手機間切換，類似Apple生態系iPhone/iPad/Mac間的接續互通。它會給藍牙耳機提供一個開蓋動畫，只要有配對過就能點一下切換裝置，預設操作邏輯是這樣的：在第一部手機播放音樂，音樂會從藍牙耳機出來，用起來仍有點clunky。按下暫停。用第二支手機播放音樂，第二支手機的音樂就會從藍牙耳機出來。Pixel Buds和Galaxy Buds就支援這個功能。至於AirPods，雖然藍牙訊號已經被開源社群破解出來了，但要實現這個功能仍不太可能吧，LibrePods採用的是自幹的handoff方案。目前的問題是，Fast Pair需要Google生態系的產品才能使用，依賴Google Play服務，原本打算放在AOSP裡面又移除，變成又一個將人綁架在Google生態系的產物。而且要廠商願意支援Fast Pair才行。目前來看，Android手機和平板可以達成無縫切換，電腦的話只能用Chromebook。Linux和Windows還沒有人實作Fast Pair。\n20251220 我看到臺灣廢死聯盟說服大法官廢死後，最近又開始反對無期徒刑，認為這是在折磨犯人。讓人不禁感嘆他們的想法已經進步到讓人跟不上了，挪威殺人魔布列維克也持相同論調，說終身監禁不得假釋是侵害人權。即使如此歐洲政府仍然繼續關押他們。如果沒有死刑，又沒有配套措施，要如何讓國人安心？\n20251220 為什麼你應該切換到PipeWire，不要再用PulseAudio了！！！它有開箱即用的高音質藍牙編碼器～不論是LDAC、aptX Adaptive、aptX HD都有，讓我們可以在Linux電腦無縫享受Sennheiser、Sony、Nothing、鐵三角的高音質藍牙耳機。一些Linux發行版應該會幫你把這些編碼器裝好，WirePlumber會自動啟用。至於AAC在這裡就是個蘿莉，我們有SBC-XQ強行將SBC位元率升頻到551kbps的版本，即使是很盤的Apple AirPods也會變好聽，不必使用專有編碼器AAC。PipeWire另外一個好處是，它提供mSBC的編碼器，可以改善藍牙耳機當電腦麥克風時候的音質。Ubuntu從24.04後切換到PipeWire是符合歷史必然的、人民的正確選擇。音訊系統直接用ALSA的，我敬你是個神人。\n20251219 尺寸超過6.1吋的手機我都覺得太大台了。Sony的10系列和Pixel的a系列是我們剩下的希望。價格相對便宜，界面接近原生Android。更重要的是，方便刷機。解鎖Bootloader夠自由，可以隨時回鎖。一些廠商要他們提供解鎖管道好像要他們的命似的。\n20251219 彈劾賴清德連署活動～算我一份！按這裡：https://impeach-lie.doce.cc 由民眾黨跟國民黨針對毀憲亂政的民進黨聯合發起的網站。不知道這個連署有啥意義，只要輸入Email而已，根本無法確認真實性，很容易用機器刷，這種網路民調如果準的話咱的老大柯文哲早就是總統了。希望我上交資料不會被deep state拉清單。\n20251218 https://only-fans.uk/kacpersikora 這裡有好康的東西耶～我在找還能運作的jump scare網站，就是會有Jeff The Killer的尖叫聲跳出來的那種惡作劇網站。可惜這個網站在第一次載入的時候，幾乎整個網頁元素都被uBlock Origin擋了，為什麼？這種網頁實現有那麼複雜嗎？喔，原來是被劃歸為Badware列表了。\n20251218 如果你Linux不裝標楷體，你就不會知道有多少莫名其妙的網頁，竟然預設使用者的電腦是應該用標楷體顯示文件的。我看到一些大學網站和黨部寄來的公文E-mail都是如此，最近發現鐵三角的網頁也會吃到標楷體？？嘛，它們沒限定你要用IE看網頁就已經是仁至義盡了吧。標楷體僅有授權Windows使用，其他作業系統自行安裝.ttf檔案屬於非法的灰色地帶行為，因此，用Android或者Linux觀看需要標楷體的網頁，就會改以Noto Sans顯示，達成錯誤的顯示效果。我不會在瀏覽器裡面強制指定字型，都是吃OS端的設定。因此可以觀察到許多網頁對字型的有趣偏好。\n20251217 學會這個技巧，你就不需要在被檢警逮捕的時候把手機丟出窗外滅證了，不用嗆「知道我背後是誰嗎？」這樣講可能有點極端，生活在一個公民自由被逐步侵犯的社會，你應當做好隨時被搜身的準備，F-Droid和GrapheneOS都有提供「自爆按鈕」，供用戶在緊急的時候使用。F-Droid可以透過長按首頁的搜尋按鈕，將自身圖示隱藏為其他不顯眼的APP。還有一組Guardian Project提供的APP，裡面包含Tor瀏覽器，以及Ripple App。點下去自爆之後，Ripple就會自動清除指定APP的資料。缺點是，Ripple的功能需要APP開發者主動支援才行，不是所有APP都能被清除資料。要在任意手機清除資料的話，還有x13a/Wasted和x13a/Duress這兩個APP可以嘗試。GrapheneOS提供Duress PIN的功能，允許你設定一組特定的PIN碼，在你被迫交出手機解鎖的時候，只要輸入該密碼（別人會以為你在輸入PIN碼），手機資料就會全部清空。當然，以現在的數位鑑識能力，要還原手機資料是輕而易舉的說。因此通訊軟體方面也應該用高度加密的方案。我認為需要一組金鑰還原的點對點加密訊息的Matrix Element是個不錯的選擇。誰會用Line談收賄500萬的訊息啦喂。也許只有生活在威權國家的人才會用到這些功能吧，自稱民主國家的政府應該不會監視你的手機吧？編程隨想在他的博客有提過一鍵清空資料的類似構想，很可惜幾年前他被國安逮捕的時候大概沒時間刪。順便補個小八卦，加泰隆尼亞政府曾經一度認為，使用搭載GrapheneOS的Pixel手機的人都是毒販，因為這個系統難以被警方破解，有些人認為GrapheneOS加固後的Android手機，讓破解難度跟iPhone有得比～\n20251217 5G技術可以登上villains wiki了吧？是因為我用的手機太舊了嗎，還是5G基地台太少，Pixel 6a (Tensor G1)、Xperia 1 III (SD888)、Xperia 10 V (SD695)，開啟5G都會造成機背嚴重發熱，影響滑手機手感。這很明顯不是處理器會發熱造成的問題，也不是APP問題（我都只用瀏覽器看社群媒體），因為強制切回4G後一切都正常了。被急了的中華電信客服拐去辦5G，真是我今年做出最糟糕的錯誤決定。雖然網路速度快，可是破壞使用者體驗，每月限制流量又有什麼用。\n20251217 從GrapheneOS和LineageOS的例子來看，只要硬體支援，第三方相機就可以透過CameraX Extension存取夜拍功能。因此Pixel手機刷機後不會失去這個招牌功能。這樣GCam就只剩下那些花俏的運鏡提示功能了吧。\n20251217 詭異的bug：Android 16刷入Dolby Atmos Xperia 5 V模組會導致解鎖PIN碼失效。得重新開機進入安全模式讓KernelSU自動停用模組。Android 16問題真多呀，Viper4X和JamesDSP都不能刷。抑或是KernelSU改版害的？\n20251217 事實證明了社群媒體顯示IP來源國家，就會造成查成份大獵巫行動，例如，Threads發現一堆人IP不在台灣證明你就是網軍，認為來自特定地理IP的地方的人沒有發言權。另一方面，Twitter的MAGA帳號一堆不在美國境內，就斷定你果然是俄國網軍。然後還有很多人呼籲說應該更多社群媒體跟進採取顯示地理IP行為。可我不解的是，你怎麼會去支持這種侵犯線上隱私權的作法？如果我為了保護自己的隱私用VPN或Tor，那豈不是輕鬆給人扣帽子了？如果你還支持數位中介法，建議你支持網路身份證實名制，立即搬到北京去住，畢竟你又沒犯罪是有什麼好隱私的？我看到許多民主國家開始對人民自由上網的權利立法管制，覺得中國真的是領先版本太多了！\n20251216 刷Evolution X的ROM真的有一種老淚縱橫的感覺，超級多自義功能，覺得Android 7時代玩過的Ressurection Remix回來了。他們可以自訂開機動畫，裡面保留了許多上古ROM的歷史遺跡。他們現在支援到Android 16！可惜他們居然不支援Sony，我得用Pixel刷。\n20251216 「不副署」怒火燒 藍白揚言上街頭 - UDN 我感嘆，黃國昌從來都是站在執政者的對面的人，以前太陽花是這樣，現在也是這樣。不讓人壟斷民主的話語權。沒有人有資格說自己比較民主。如果是過去的我，肯定會第一時間報名遊行，暗暗唸著「終於來了嘛\u0026hellip;」摩拳擦掌。可是現在想想，突然覺得這一切都沒意義了，要吵就讓他們去吵吧。美國代理人操控下的號稱民主的國家，搞獨裁、貪汙腐敗、自取滅亡又不是沒有先例。只是現在不會有人因為南越滅亡而寫南海血書了。在這種情況下，做什麼都改變不了強權必然勝過正義的步伐。當你還懂得講政治笑話的時候，代表你還在意。現在我只能用荒謬的意識來面對這種狀況吧。不，應該說就是一種不在意的態度。說實在的，你只是想逃避吧。不去思考這些事就能迴避痛苦。\n20251216 32:0 是什麼意思？就是這台Linux只有root有感情，其他人0權限。如果我們用chmod 320修改系統檔案，權限就會成：使用者：能看不能動，群組：完全放生，世界：你誰？就結果而言，啥都沒改變，純純浪費資源。（ChatGPT建議的笑話，轉真硬😅好爛的惡政隱）\n20251216 資產階級的政黨就沒有發起革命的價值嗎？當民眾黨和國民黨聯合起來反抗民進黨的時候，就會有人這樣說。我實際接觸過了之後，便覺目空一切的共產主義者（不論它是毛派還是托洛斯基派）的說詞顯得天真又可笑，希望建立無產階級專政的理想，好比說我們應該恢復神權統治，一切靠天皇聖斷即可。世界已經被共產黨騙了一個世紀，不可能有人會再相信，能夠從資本主義直接跳到共產主義，起碼也得先過度社會主義階段。畢竟蘇共和中共都做不到的事情，你一個生產力不到位的小國就能做到？但總有人執迷不悟，以為只要現在政府被暴力推翻了，一切問題就自動解決了，結果發現窒礙難行，便是開始吊路燈，清算階級敵人，然後再被國際資本勢力玩死。他們除了在暴動遊行，跟一些左逼文青團體來串個場之外啥都做不到，還是乖乖在家唸左經吧。我們應該務實點的解決問題。\n20251216 Pink Floyd - Pigs (Three Different Ones) 執政黨毀憲亂政意圖獨裁的現在，適合聽Pink Floyd - 「三隻特別的豬」有些動物就是比其他動物更加平等，不是，我說，更加民主。法律只有我解釋才是對的。Roger Waters: Big man, pig man. Ha ha charade you are! 他們還會養狗追殺不聽話的羊群耶！你必須要取得信任，才能在對方轉身之後捅下一刀。Pink Floyd - Dogs 就這點來看，無奈的人民只能說：「他們指向左，他們指向右，總是有狗跟著跑。」李志 - 他們\n20251216 Threads的政治話題跟其他差不多，幾乎都是小學生吵架等級。但偏偏這種環境還能對一群傻逼具有足夠強的煽動力。\n20251215 GKI Kernel: 終結 Android Kernel 的碎片化時代 - COSCUP 2025 依照這樣說法，採用GKI的手機有助於刷機用戶，人們可以編譯適用所有裝置的Linux kernel，加入任意修改，不用針對每支機型逐一編譯。因此，KernelSU、SuSFS、Magic Mount這類新技術就能一齊整合進去，分發給所有用戶刷入。例如KerneSU-Next、大麻核心WildKernels/GKI_KernelSU_SUSFS、雜魚核心SukiSU-Ultra。\n20251215 偏好不用社群媒體APP，我大部分都用網頁版。這個時候瀏覽器就很重要了，它應該要無保留的顯示真實的網頁。最近切換到Cromite發現Protonmail和Twitter網頁版會出問題，我嘗試把所有保護隱私的選項關閉了但是無效。用Fennec開又好了。推測是uBlock Origin Lite在搞鬼吧。嗯，這樣看來我們是否不應該將擔負重要任務的APP交給一人開源專案呢？萬一它有天銀行的重要交易網頁顯示錯誤呢？如果開發者釋出軟體更新的規律不定期呢？起碼得是公司或者一個團隊負責維護的項目才能保證品質呀。應該沒有公司的維護能力能跟Chrome抗衡，這樣的話，Brave和官方原版Firefox才是比較穩健的選擇吧？在電腦上的瀏覽器我大抵上也是採用這個態度，太小眾的fork，如LibreWolf、Thorium我不是說他們不好，但就是無法信任。\n20251214 如果不靠ROM開發者內建，有沒有可能只靠Magisk模組達成修改自訂Android UI元素呢？LineageOS非常需要。AOSP Mods可以，後來變成只支援Pixel ROM。另一個是Iconify，但因為Android 16遷移到Jetpack Compose所以掛了。\n20251214 經測試，GrapheneOS可以Root，儘管開發者不推薦，安全性會大幅下降。Magisk和APatch可以Root，但KernelSU LKM修補無效？好處是，我可以刷Xperia的Dolby Atmos模組，達成比Pixel智慧音效更好的喇叭外放效果。理論上GrapheneOS允許在Root後把Bootloader鎖回去，但這樣做沒什麼意義。Play Integrity就別肖想通過了 == GrapheneOS的Play商店本身就不是用正規方式安裝的，安裝Play Integrity Fix也沒用。\n20251214 先前有人拿教父電影「誰叫你去和談的，就是叛徒」比喻臺灣跟中國關係，認為戰爭之外無解決之道。這不禁使人莞爾，原來你是用黑幫政治的面向來看待國際關係的哦？我想自持中立，雖然這很難。還有一個攻擊中立人士的話語說，和平主義者是賤人，中立的人便是站在邪惡的一方。好像一切非得訴諸原始暴力行動才有解方似的。這些人對外沒實力就大聲，對內則是整天想天誅國賊，那我就會想到Guns N\u0026rsquo; Roses - Civil War：I don\u0026rsquo;t need yoir civil war! It feeds the rich while it buries the poor. Your power hungry sellin\u0026rsquo; soldiers. In a human grocery store. Ain\u0026rsquo;t that fresh?\n20251213 想起小時候我刷牙都是青菜嚕嚕欸，從牙冠上方刷過去而已，完全沒有認真刷。直到第一次洗牙後滿口血才知道正確的刷牙方式。牙刷應該對準牙齦縫隙下去摩擦才對。如果不常常這樣做很容易刷完牙滿口血，這樣牙齦發炎的情況會很嚴重 。結果我到現在還是常常忘記這點。所以我的右側臉頰現在好痛痛痛痛痛痛痛痛痛痛啊。從下顎痛到耳朵，一陣一陣的，究竟是哪裡有隱藏蛀牙，還是那個傳說中的三叉神經痛？然後顛覆我常識的事情是，原來牙醫不能現場掛，要預約，否則會等超級久，可誰會知道什麼時候牙痛呀。看來我應該去小時候的那種小診所看就好了，起碼可以很快知道現場狀況，外觀富麗堂皇的不適合我這種平民。\n20251212 組電腦的時候要小心靜電，懂了，因此最好把衣服脫光。這是二十年前Lain卡通教會我們的，而現在似乎不用那麼擔心了，還要考慮到氣候問題。我以前只有在某個特定的租屋處，機殼才會變得特別愛電人，可能是沒有接地的關係。\n20251212 在自己的手機裡面弄個密室的感覺真有趣，要開啟一堆機關才能進入www。目前Android 16私人空間的操作邏輯是這樣：啟用之後，會在桌面APP列表下方顯示一個私人空間的小圖示，需要二次用密碼解鎖才會展開裡面的APP列表。可是這樣手機給別人用，還是會被人家察覺私人空間的存在呀？如果在系統設定，點選隱藏私人空間的話，桌面APP列表下方的私人空間小圖示就會不見。變成使用者要先開啟系統設定，用密碼解鎖私人空間的設定，桌面APP列表才會出現私人空間的圖示。手機上鎖之後，私人空間圖示又會消失。得重新回到系統設定輸入密碼。\n20251212 到頭來我們還是得依賴大公司提供服務支援嗎？我將GMS服務移除後，快速分享(Quick Share)就不見了。大概是這個功能依賴Google帳號來確認附近Android裝置的擁有者吧。嗯，既然要跟AirDrop打對台，創造另一個封閉生態系也是理所應當的吧。他們到底為什麼要把這個協定搞閉源的，那不就又是另一個Chromecast vs AirPlay麼，至今沒有人逆向出來。不對，理論上快速分享的協定依賴Wifi和藍牙，那麼應該是不需要依賴Google帳號就能用的才對，像Linux的Packet APP就不需要Google帳號即可接受Quick Share的檔案。只是手機上沒有人實作。現階段，如果要degoogle，那我就得用不同協定的LocalSend了。\n20251211 最新版Spotify和Chrome看起來都預設啟用Wayland模式了(\u0026ndash;ozone-platform=wayland)，然後我的Fcitx5在KDE就不能打字了，操。喔喔，在KDE系統設定的虛擬鍵盤，手動選取Fcitx5即可。\n20251210 原本一直搞不懂Brave、三星瀏覽器那種UI架構是怎麼設計的，上方網址列＋下方工具列，這種三明治的造型把網頁的可視空間擠壓的好嚴重呀，就不能像Chrome一樣精簡？後來才發現這個是為了迎合全螢幕手勢所設計的，加上現在手機越來越大，讓我們可以用底部瀏覽，點一下搜尋按鈕就會切換焦點到網址列，不用頻繁把手指移動到上方的網址列。\n20251210 在po文幾小時後，r/linuxmemes的權蛆沒有給任何理由就將我的post移除了，他們對weeboo真是不友善。我只是po了一張平胸虹夏vs巨乳波奇的圖片，說明Alpine vs Ubuntu的系統臃腫程度，他們就認為這是色圖！！！\n20251210 Can\u0026rsquo;t find suitable release #1786 最近F-Droid會標示APK的架構了，有些開發者會把x86與ARM的函式庫編譯在一個包內，有的則是分開編譯，可是檔名卻都一樣，這導致Obtainium在下載APK的時候會抓到錯誤的架構，Github Releases就沒這問題。他們可能得用API而非直接爬網頁來找APK了。暫時的解決方法是自行設定regexp過濾。另外，Obtainium只是一個架構鬆散的APK更新追蹤器而已，暫時從F-Droid網頁下載APK，Obtainium一樣會顯示已安裝。\n20251210 一直很討厭螢幕有挖孔的手機，欣賞圖片的時候很礙眼啊啊，不論是Pixel還是Samsung。動態島，也討厭。當我強迫症發作的時，就會想把它隱藏。在Android開發人員選項 → 裝置凹口，可以將有鏡頭的那一條整個變黑，通知欄整個下移。不論腦袋破洞還是瀏海我都是這樣處理的。這樣做的話，手機甚至會變小支，讓手指更容易觸碰到螢幕頂部。現在只有Sony還保留無挖孔的完整螢幕，要是未來再無Sony可買的話，我就會買Pixel a系列，然後繼承這個作法。\n20251210 高中數學考8分，勝過幾%高中生？嗚，問這個問題的當下已經遲了10年了\u0026hellip;我們不能再讓分數定義自己！可是當時常態性的考8分讓我很創傷呀，即使當時歷史和英文是常態考90分以上。到後來習得性無助對理科擺爛就註定了我現在撿角的命運。俗話說，人生的不快樂都是從高考\u0026hellip;不對，學測後沒有選計算機專業開始的。\n20251210 小八卦：GrapheneOS緊跟Pixel上游原始碼更新，因此Android 16也加入了Debian Linux終端機的功能了。\n20251210 以前好像是在KYO論壇看到這本的，只是單純覺得幹你娘和幹你姐還\u0026hellip;蠻爽的。(COMIC1☆3) [ギャンブラー倶楽部 (香坂純)] 夏・秋 (ケロロ軍曹) 露出那個必殺的黑色內衣款式，是我覺得這本的精華片段。\n20251210 【館長精華】去中國大陸賺大錢民進黨眼紅？軍購被擋所有藍營縣市都不用錢了！青鳥只會造謠也不用求證！我保證一定會去中國大陸賺大錢！ 我覺得館長已經徹底瘋了。從以前要噁心青鳥（這點我看得很爽就是了btw），變成見錢眼開～怎樣？的態度，看到大陸抖音傻逼多，給他貢獻流量就得意的不得了。雖然他不是民眾黨員，可是他的作法肯定會影響到小草思維，黃光芹的質疑有其道理。\n20251210 Important Announcement: BlissOS is now in lockdown! Bliss OS官網已經關閉好幾個月了，不知道他們到底在搞什麼，說是要大改系統架構，所以舊版系統將無法OTA到新版系統，現在只能手動到SourceForge下載舊版系統安裝包。完美主義作祟就是這樣吧，覺得程式沒寫好就不該放出來。開發團隊甚至沒有具體重新開放的時程表。還有，到底誰公告會發在Discord/Telegram群組啊啊？？要登入才能看到訊息。\n20251210 短時間內過度尻槍的危險性：會讓人容易疲憊，昏昏沉沉的想睡，有魂無體親像稻草人，ㄍㄧㄥ下去的動力都沒有了。此外，還有機會觸發雙相症候群，原本很開心但馬上變很憂鬱，又因為聖人模式未消退無法打槍讓腦袋放空。尻槍應該視為一個定期釋放壓力閥的手段，間隔太短或太長都是不行的。理想的時間，應該是睡前尻一發有助於入睡，或是在運動後，每日這樣按表操課。\n20251210 GrapheneOS不是LineageOS的那種通用作業系統，而是一個安全性至上的Android發行版。在某種程度上，GrapheneOS的隱私保護程度勝過以安全自居的iOS，因其開源且patch來的快，系統不依賴專有的雲端服務，不會說要你把資料交給我們才能確保安全性。試想，iPhone說我們最注重隱私，笑話！walled garden的話術你也信！GrapheneOS是注重隱私安全性的系統，可是愛搞機的人要失望了，它不鼓勵使用者Root。從這裡的資料來看，Zygisk無法運作。schnatterer/rooted-graphene GrapheneOS甚至能把Bootloader鎖回去。從這點來看，他們注重使用者安全的程度，勝過給使用者自由胡搞亂搞。他們設計的安全性系統，將GMS關在沙盒裡面執行，跟Android系統隔離，這樣確實沒有刷Universal GMS Doze模組的必要性了。\n20251209 【音樂欣賞】賽德克‧巴萊之看見彩虹 我第一首學會的原住民語歌曲，這首歌的大合唱真體現出了賽德克族人對抗日本人視死如歸的精神，輝煌又壯烈。每次到KTV必點～然後就被人家白眼。嘿，說到長歌曲，我都還沒唱Queen - Bohemian Rhapsody和Guns N\u0026rsquo; Roses - Estranged呢！現在台派覺青很沈迷國民黨戒嚴時代的文青電影，譴責：我操中國人怎麼這麼壞呀，不過在我看來，這些電影拍的還不如賽德克巴萊一根雞巴毛，還有王傑唱的異域主題曲 - 亞細亞的孤兒的電影那樣悲情。我這樣說，並不是要迎合中國史觀的抗日敘事，而是說，這些人對過去的無端仇恨，是建立在政治上的不滿上所構築出來的，為了一個團體認同感需要的，虛妄的想像，以為只有一撮人可以達成台獨的理想，所以不管他們多麼腐敗都要支持到底，難道獨立了一切問題就自動解決了？因為你無力改變現實，所以追溯過去，塑造你有原罪的既定印象！忙著清算，忘了和解的必要性，不知道族群融合的重要性。他們紛紛說勿忘歷史，卻沒想過要走向未來。\n20251209 【音樂欣賞】周杰倫 - 分裂 國中寫作文的時候寫過這首歌，可惜沒人聽過¯_(ツ)_/¯ 我覺得這首歌曲是周杰倫年輕時最有個性的一首歌曲了，完全無押韻也能唱出一種青春迷茫的感覺。這種神作是現在紙醉金迷的他再也寫不出來的。\n20251209 這時代注重數位隱私權的人是不是在給自己製造賽博錫箔帽(tin foil)啊？你說，你要degoogle手機，拒絕Apple的封閉生態系，使用VPN，拒絕主流社群媒體，追求高度隱私的Linux or GrapheneOS作業系統，逃離大公司的監控，何必呢？你好像有被害妄想症，認為FBI還是中南海會整天想監控你的資料。你才沒那麼重要！跟大眾一起沉淪吧！「你就抱著理想溺死吧！」\n20251209 Limbo PC Emulator Tensor可以利用pKVM在Android全速跑虛擬機，目前很hacky。因為pKVM預設是上鎖的狀態。Limbo PC Emulator是開源社群製作的APP，主要使用QEMU模擬電腦硬體，跟Google內建在Android 16的Debian Terminal比起來，他有比較多參數可以自訂。本來，大部分Android裝置都沒有KVM加速，純軟體模擬的Limbo PC Emulator無用武之處，現在有了pKVM就可以善用它。不過，因為AVF框架還在發展階段，程式不能直接存取pKVM，需要Root，或者得手動編譯核心才能啟用pKVM，麻煩啊。\n20251208 bootloader-unlock-wall-of-shame - Keeping track of companies that \u0026ldquo;care about your data 🥺\u0026rdquo; 刷機用戶的新時代Android購機指南：被釘在這個恥辱柱上的手機品牌，不要買！！！許多國際大品牌用各種理由阻礙你解鎖bootloader。曾經的小米，已經墮落了，就算他們硬體規格進化再好，也不再有吸引力。Nothing Phone算是繼承了以前OnePlus的開放。\n20251208 哈~啊？本來覺得高鰻的畫風還不錯用的，以前的瑞鶴和加賀系列有獨特的韻味，像是[高饅] 催眠加賀さん (艦隊これくしょん -艦これ-)的騎乘位。可是新版的面部表情整個大改，他們說這個叫做鏈鋸人的畫風嗎？有點搞笑的顏藝臉，跟以前清純的樣子比起來差很多，雖然劇情還是不錯，例如[高饅] 瑞鶴 鈴谷 川内 (艦隊これくしょん -艦これ-)的掐死肉棒的小穴皺摺，感覺用不太起來了。\n20251208 Android 16疑似改善了對Apple Type-C轉3.5mm的相容性？以前接上去音量會砍半，還要用USB Audio Player強制調整DAC音量。現在，聲音十分響亮，感覺我的Final E3000音質還變好了一些（？）嘛，雖然在有耳機孔的Sony手機用轉接器有點多此一舉，不過在Pixel手機上倒是一定得用上了。我永遠不會買藍牙耳機我永遠不會買藍牙耳機我永遠不會買藍牙耳機，CIA glowies休想得逞！除了6年前買的AirPods Pro一代之外。\n20251208 Wiwi真是一個好厲害的人啊，透過他的Wiwi.Blog超連結可以找到很多獨立網站，看看許多有趣想法，這就是正向的循環，不依賴社群媒體演算法所構築的世界。有時候，不需要是有明確說理的文章，就算只是紀錄日常新得，也夠我消磨時間了。閱讀這些東西的體驗，總比在社群媒體doom scrolling好吧。我應該要多關心同一個圈子裡面的別人才好，不是只有要引用學術論文的時候才想到他們。很多人受他的網站版面影響，搞了很多類似的頁面，可說是一個成就了。儼然台灣版的Neocities。\n20251208 你走吧，地球沒你繼續轉。2026年的地方縣市長選舉我可以選擇不投票吧，不論誰翻轉哪個縣市或者守住哪個縣市，這種熱情都與我無關。人們應該要有不關心政治的自由。但我不只是要當歲靜的快快樂樂而已，恐怕是延續虛無主義的想法了。是啊，誰在乎國家未來的命運會如何？至少我們不要先把自己弄死就好了。不值得為了某個信念，不論是民族還是民主，而感到痛哭流涕，也不值得付出過多的關懷。啊，不過如果又有普發大灑幣記得要通知我。未來的我啊，什麼時侯能聽你唱：「曾經以為人生就這樣了，平靜的心拒絕再有浪潮」李宗盛 - 鬼迷心竅 舉國上下充斥的、廉價的、愛國主義真讓人感到噁心，要人民為它去死的國家，早點毀滅吧，趕緊的。\n20251208 徐水良 - 黃右人士的反智傾向 哈哈，終於有人指出這現象了，為什麼那些潤到美國的民運都會二極管思維，從極左變成極右，支持共和黨，成為華川粉，無腦反中共，還有左派的政策，然後還要透過信教（不論是法輪功還是基督教）來給自己一個安全的慰藉。近年的奇葩還有姨學的興起，一個比另類右派更極端的思想。難道KOL真的都得走極端一點才容易有人追隨嗎？總之，這些思潮多少影響了台灣一些台派的思潮，使得他們會相信大紀元、新唐人的偏頗報導，走向反智之路。就不能更民主獨立一點的思考嗎？沒有民主黨的左逼政策你小黃人還能有今天？你永永遠遠都是中國人。\n20251208 蘋果的產品線當中，iPad是唯一物超所值的產品，尤其是中階版的Air，雖然中階款被蘋果刀法各種砍弱導致不上不下的，仍不改它是好產品。iPad可以說是習慣Android手機自由環境，想要偶爾用iOS環境卻不想要iPhone的另一個實用選擇。以前是iPod touch，現在停產了。因為iPad相容幾乎所有iPhone APP，因此完全能當大號iPhone使用（在iPadOS引入多視窗之前確實是如此），體驗iOS APP的設計精髓。從這樣來看，對不想雙持的人來說，Android搭iPad絕對是最flexible的選擇。iPad讓你不會多出一支手機，又有一點額外的生產力。\n20251206 【音樂欣賞】潘越雲 - 野百合也有春天 潘越雲姊姊好美麗喔，短髮造型和黑色大衣，在外國拍攝的樣子就像是個名模。雖然這個MV是從其他片段剪接來的。\n20251206 有點受不了The Lunduke Journal的內容了，表面上是反主流的吐槽科技圈的內容，但實際上卻是包含個人偏見的嚴重極右翼陰謀論者。Reddit用戶說他是瘋子真沒說錯。\n20251206 感謝LineageOS維護者的用心細節，現在Xperia 10 V的機型會顯示為XQ-DC72，而非Xperia 10 V，就像原廠ROM一樣。這種看起來像是數位相機（Xperia 5 II → XQ-AS72，Xperia 1 III → XQ-BC72）的命名才帥氣！否則在Immich用EXIF資訊下去搜尋相機型號的時候會顯的很混亂。\n20251206 那些系統更新被原廠放生，又不給解鎖bootloader的Android手機用戶，應該唱：「我是被你囚禁的鳥，得到的愛越來越少，看著你的笑在別人眼中燃燒，我卻要不到一個擁抱。」\n20251206 孩子們，這一點都不好笑，你國的DNS污染現在管到Katfile和Nyaa來了，一些分流站點已經被警察局封鎖，說含有兒童色情內容，難道二次元也不行？這叫盜版仔情何以堪。他們(Deep State)已經開始行動了，你有種把我網站也鎖了！！！我們應該開始普發VPN連線工具。\n20251206 Portainer針對Docker v29不相容的問題看來修好了，可喜可賀。\n20251206 我嘗試在Xperia 10 V安裝Sailfish OS但是失敗了。還是乖乖用LineageOS吧。旗魚人口專用的作業系統：旗魚系統，Sailfish OS（惡政隱注意）Jolla公司是來自芬蘭的索粉。Sailfish OS是芬蘭公司Jolla開發的手機Linux系統，基於Nokia MeeGo開發，APP主要用QT寫成，系統很乾淨，沒有任何追蹤程式。大部份系統元件是開源的，僅有圖形介面是專有授權。Jolla專門將Sailfish OS移植到Android手機上，官網機型以Sony Xperia 10系列為主，大概是因為Sony有在開源，而且10系列的手機很便宜。除此之外，Jolla公司也有經營自家的手機品牌，不定期在德國推出能刷Ubuntu touch系統的非Android手機。既然Sailfish OS繼承了MeeGo，可能支援中文介面？有中文輸入法？使用RPM管理套件，理論上可以執行電腦版Linux的軟體。此外，提供Android相容層（專有軟體，不確定背後使用什麼技術），能夠執行Android APP。最大的缺點是，雖然Sailfish OS是開源專案，得付費購買授權才可以使用完整功能。目前，要花50美元解鎖完整系統，再花4.99美元的月費，才可以收到系統更新，而且只對歐盟地區提供支援，可能是為了避免消費糾紛？官網有試用版可以下載。官網說要用英國版的XQ-DC54，但我的機型是台灣版的XQ-DC72，指令稿它會拒絕刷入，所以我手動依照指令稿內的指令強刷，不管會不會掉baseband。\u0026hellip;\u0026hellip;結果就是bootloop，因為有幾個分區fastboot不給刷！？看來真的得買特定地區的機型才行了。開源社群對Sailfish OS的興趣似乎不大，有人製作了全開源的Sailfish OS fork，稱作Nemo Mobile。但只有移植到PinePhone而已。\n20251206 Play Integrity會成為日後阻擋Android刷機最大的阻礙。解鎖bootloader之後，LineageOS要裝一堆模組才可以繞過APP的偵測。防不勝防。Play Integrity主要應用在金融類APP，雖然說對我影響不大就是了，因為我本來就沒有用行動支付的習慣。玉山銀行櫃員叫我下載他們家的APP，我只能尷尬的說有沒有網頁版？搞不好以後他們連Firefox也不讓用了。Play商店課金不需要Play Integrity。手遊開發商為了模擬器考量，也不會過份依賴Play Integrity吧。遺憾的是，我看到有越來越多開發者被誘惑去依賴Play Integrity，例如ChatGPT官方客戶端，還有無廣告的BePTT。因此，我們將會與「正常」的手機逐漸脫節。\n20251206 We\u0026rsquo;re going to be moving forward under the expectation that future Pixel devices may not meet the requirements to run GrapheneOS and may not support using another OS. We\u0026rsquo;ve been in talks with a couple OEMs about making devices and what it would cost. GrapheneOS說他們正在與全球前10大的OEM廠商接洽出手機，預計搭載最新高通旗艦處理器。希望不要是中國公司的貼牌貨。因為Google最近推出的一系列政策讓他們察覺到危機感了吧。先是Play Integrity禁止解鎖，推遲放出AOSP原始碼，然後還要開發者註冊帳號才能安裝APK。從GrapheneOS官網的機型要求來看，他們對安全性和隱私的要求可說是數一數二的高，原廠必須提供5年安全性更新才可以確保修補漏洞。然後就有人在謠傳說GrapheneOS會找Sony合作\u0026hellip;什麼瘋狂宇宙的聯想。說是Sony最近退出了大陸市場，除了銷量不好外，也可能是不想配合中國政府禁止解鎖bootloader的規定。雖然Sony確實有在貢獻AOSP，也有定期把Xperia的核心原始碼放出來，系統UI很原生，但很難想像他們會支持Android以外的系統。說實在的，GrapheneOS作為一個去Google化的Android系統，只有Pixel手機能安裝本身就是一件弔詭的事情，他們沒有辦法像LineageOS一樣安裝在大部份的Android手機。然後又得仰賴Google施捨原始碼才能運作。這樣看來，就只剩中國品牌比較有可能了。或許，還允許解鎖bootloader的Nothing Phone會是比較好的人選。Vivo、Oppo、小米一個比一個還獨裁。\n20251205 Android 16的Linux終端機不見得會成為Termux殺手。把玩了Pixel手機上的Debian Terminal，暫時得出這個結論。因其使用AVF框架來執行一個Debian環境，用到類似ChromeOS crosvm的技術，雖然是環境完整的、與Android隔離的虛擬機，能執行Systemd，不過啟動需要一點時間。而且虛擬機與宿主機的隔離會造成效能下降。要達成GPU加速雖然有可能，但效率不會比Termux高到哪裡去吧。他們還要處理將Linux的Wayland視窗顯示在Android合成器上的問題。若只是單純要跑CLI的程式的話，Termux還比較簡單高效，因為它沒有虛擬化這層措施。所有的套件都是針對ARM64編譯的，臨時要開個SSH遠端連線的話，Termux啟動速度最快。Termux的GPU加速還有Turnip與VriGL能用。我想這個Linux終端機，更多的是為Android平板ChromeOS化的路上鋪路。這樣AVF的技術能給ARM處理器虛擬化提供一個統一的界面。\n20251205 各大平台的年度回顧出來了。今年歌手方面，我個人感覺聽的比較多的，還是汪峰、陳昇、竇唯的音樂吧。他們幾人都是中國與台灣的奇葩歌手。Spotify指出，我喜歡的音樂以60年代的英搖，以及民國90年代的民歌為主，所以我的聆聽年齡計算出來是76歲，比我實際年齡老了50歲。嗯嗯，這很符合我的人設。今年聽最多的歌曲是中國八零年代搖滾勢力，崔健 - 出走（1989）還有美國油漬搖滾末期的代表團體New Radicals - I Don\u0026rsquo;t Wanna Die Anymore (1998)，一定程度反映了我的心境吧，因為我曾經不只想跳樓，還想死！所幸是鎮下來了。Spotify的年度音樂顯示很多的都是我睡覺聽的音樂，包括大洋洲原住民音樂（海綿寶寶原聲帶），導致統計結果非常不準確，果然應該設定時器將這個關掉的。last.fm回報的結果也是差不多，不過多了一些我在本機的Navidrome伺服器聆聽的音樂。其實大宗的聆聽音樂還有Youtube才對，但Youtube我為了保護隱私，所以設定每三個月自動刪除觀看紀錄，所以無法使用Recap。不過很明顯地Youtube還是有在偷偷紀錄我的觀看喜好，才能推送感興趣的影片。諷刺的是，我們追求保護隱私的呼聲越來越高，卻依然迫不急待的期盼他們根據我們的資料量身打造體驗，他們以用這種小驚喜的作為攫取我們的資料的一點小回報。\n20251205 需要退卡針才能換SIM卡的手機是壞文明。就算要推eSIM也不是這樣。只有Sony Xperia堅持下來，明明這不是什麼專利技術。\n20251204 [ROM][UNOFFICIAL] LineageOS 20/21/22 for Xperia 1/5 - XDA 有趣的是，Xperia 5 (2019) 沒有人製作LineageOS，是因為這代破天荒的移除耳機孔惹惱了一票用戶嗎，起碼綠線機率低於後代吧。手機代號J9210，內部編號pdx219，又稱bahamut，只有這個非官方的版本。更新全看作者心情，目前更新到LineageOS Android 16。從這代起，解鎖就不會損失相機拍照能力吧。\n20251204 目前可以公開的情報：Valve正在為Steam Frame開發Android模擬器，說是相容層比較準確。SteamDB幾天前偵測到了一款軟體更新（2024年5月就上架了，當時還叫Waydroid Dev），目前沒有更多細節流出，只知道這個軟體名稱叫做Lepton（輕子），對應轉譯Windows程式的Proton（質子）吧。背後借鑒了一部分Waydroid的技術。這樣的話，Steam Frame有望成為第一個同時支援Linux程式（SteamOS，用Fex-Emu轉譯x86程式為ARM）與Android手遊的VR頭顯！超越Meta Quest！我期望的Linux頭顯終於要來了！不知道他們會不會跟Google合作允許其通過Play Integrity？他們要如何解決LXC視窗亂跳的問題？能將其整合到Steam界面無縫啟動嗎？\n20251204 我看有些支黑仇中仇過頭了，反對中國文明的一切，認為中國人是全世界的蛀蟲，中國人原罪論，那麼大中華膠是不是應該發明一個口號\u0026quot;It\u0026rsquo;s OK to be a Chinese\u0026quot;，簡稱IOTBC。對應白人至上主義者的\u0026quot;It\u0026rsquo;s OK to be white\u0026quot; (IOTBW)\n2025-12-04-12-01 再次重申一次我的看法，政府因為國安和反詐理由封鎖抖音和小紅書是在迫害言論自由，侵犯Internet Neutrality。雖然上面的內容真的很智障，以及大量老中人觀點，不過這並不構成封鎖的充分理由。政府不能因為思想令人不快，就禁止它。今天你輕率地以「違反本國法律」的理由封鎖一個，下次就有各種理由封鎖下一個，而我們公民沒有能力阻止這種事情發生，只能透過改DNS和使用VPN迴避censorship。說是因為不配合反詐騙才封鎖？現行法律這樣是最優解的話，我倒要看看這種處罰力度能迫使企業多快做出回應～。參閱美國電子前哨基金會(EFF)與美國公民自由聯盟(ACLU)的聲明：TikTok Ban: A Seed of Genuine Security Concern Wrapped in a Thick Layer of Censorship 如果真正擔心的是隱私問題，單靠封鎖一個軟體是不夠的，應該推廣強制保護用戶隱私的法規來規範所有企業收集使用者資料的行為，像GDPR那樣。\n2025-12-04-02-01 【音樂欣賞】萬能青年旅店2010年出版的同名專輯，是我從2022年大學結束以來，一直反覆聆聽著的專輯。裡面充斥著對現狀生活無力感的節奏，讓人感同身受。對深陷人生迷茫方向的我來說，總能從歌詞語旋律中找到自己能同理的地方。這個時期，他們曲子裡面的那種「酸味」可以說是這個樂團最大的特色。作詞者擅長玩文字遊戲，有些歌詞我參考知乎的解說才能明瞭背後的深層意含。主唱好像有得過憂鬱症吧，才能寫出〈秦皇島〉這種描述深陷黑暗視野處境的歌曲，還有〈十萬嬉皮〉〈揪心的玩笑與漫長的白日夢〉描述人生路上，自我與現實拉扯的歌曲。他們並不是在賣黑深殘的龐克內容，而是單純描述一種詩意的無力感，旋律聽來就像望著海浪起起伏伏，突然一陣狂風暴雨使人驚醒。兼具新時代中國的搖滾魅力。講難聽點是無病呻吟啦，若要這麼理解的話，整張專輯最寫實的歌曲大概就〈殺死那個石家莊人〉吧，悲劇性的故事總是能帶動人的情緒。其他歌曲需要處於「那個青春時期」的人才能深深體會。\n2025-12-04-02-00 Xlibre and Wayback: Two Linux Projects Clash Over X.org’s Legacy - Red Hot Cyber 最近XLibre被fork之後，又出現了Wayback的專案，試圖用Wayland去相容X11的完整桌面，延續舊有X桌面的生命，也就是Rootful XWayland。為什麼這兩個專案前仆後繼的出現？如果用政治化的角度來理解這個行為的話，有人會認為這是FreeDesktop.org的左派在反抗右派主導權的努力，免得X11愛好者真的被吸引走。XLibre說不要將開源專案政治化，反對包含DEI的Code Of Conduct，但開發者本身就是個爭議人物，簇擁他的感覺都是些QAnon等級的貴物。\n2025-12-04-19-00 有為法，如泡影。我想我們每個人都被感官傳遞給大腦的訊息所蒙蔽，所以認知不到真實的世界。這就稱之為無明，不能看透事物的本質。在我們的知覺以外的世界，可能還有一個理想的空間，不管稱之為天堂，還是彼岸，都好，那便是一些人極力想到達的地方。宗教給了人固定的答案，這個時候，存有就變成不證自明的存在。不過後來者認為，假設宗教不再能滿足對存有的解說，就會落入空洞。我們不應該從空去尋找存有，而是應該從賦予意義這點來著手。如果不去探討空，就能防止走向虛無的道路，回歸到我們認知的現實中來。就算那是虛假的，暫時的，又如何？\n20251204 大日本東洋貨就是好，賊講究\u0026hellip;不是，是美國製造的棉花衣服比較耐穿。為了把\u0026quot;I use Linux btw\u0026quot;的精神寫在臉上，讓文學院的路人側目，我訂購過幾件跟FOSS運動有關的T恤，只有FreeBSD小惡魔的衣服是跟FreeBSD官方基金會捐贈後得到的，其他兩件印有Tux企鵝的服裝是在露天拍賣找中國店家印刷的。那品質就差很多，穿久了很容易會褪色，而且癢癢的。反之FreeBSD小惡魔的衣服我可以穿很久。就像RMS老爺子（おやじ），感覺他能夠從年輕到老都穿著同一件招牌紅色衣服。我覺得我還缺一件印有GNU牛頭人的衣服，這個時候我就應該去買FSF的official merch了吧！FSF Shop 讓人略顯傷心的是，過去在文學院幾乎沒有人認得出來我衣服上的BSD與Linux的，應該去理學院走一遭。\n20251204 如果想知道Linux電腦用了多久，想知道系統的年齡，可以用\u0026quot;stat /\u0026ldquo;指令查看初始安裝日期。具體來說，這是根目錄檔案系統建立的時間。以前我用Arch Linux的時候，一年就會重灌一次電腦，因為覺得系統「不乾淨」。沒辦法，AUR太方便，各種奇怪軟體都拉下來。結果\u0026hellip;有個默默從2023年存活至今的神奇電腦，PineTab 2上的Arch Linux ARM，沒有distro-hopping。原因是\u0026hellip;其他發行版都沒人跟上開發進度啊，只有DanctNix維護的核心有一直改善硬體驅動。這幾乎是一人專案，就憑這些開發者，還是硬把BES2600的Wifi與藍牙驅動程式給移植成功了。過去用PineTab 2當主力平板的事情，我想用久石譲〈六番目の駅〉這首曲子當桌布，表達那段神奇又迷惘的時光。RK3566性能低我可以忍，Fcitx5打個中文字連選字框都卡到轉圈圈我也忍了。但男人是視覺的動物，低色域螢幕我看了真的是辣眼睛。看電子書也很不舒服。加上Linux的ARM生態系不如x86繁榮，我用起來體驗不好。現在大部分工作已經被iPad Air 6與Surface Go 2取代。\n20251203 Linux桌面的縮放應該是能夠在系統設定面板全域指定的，比如所有UI放大125%，而非是透過xrandr指令操控。目前，KDE的小老弟 —— LXQT 2.3的統一縮放機制只在X11有效，需要到LXQT工作階段，手動設定GTK與QT的環境變數進行全域縮放，以及調整字型DPI。或者得用xrandr指令了，沒有KDE Plasma那麼方便。這樣他們進入Wayland時代就會有更多問題了，因為環境變數指定縮放比例幾乎無效了，應該是合成器要負責的事情才對，但是目前LXQT Wayland沒有全域縮放選項！此外，LXQT選擇不開發自己的合成器，而是延續X11時代的傳統（預設X合成器為Openbox），讓使用者自由挑選要用的Wayland合成器，預設是Canonical拋棄的Miriway，或是其他基於wlroots開發的合成器。我是不知道為什麼SDDM他們LXQT還要另外開發一個基於Miriway的版本。XFCE 4.20的Wayland工作階段也是採用這種自由採用合成器的設計。我覺得這種模組化的設計蠻危險的說，不應該將各種桌面的視窗元件縫合在一起，這違背了新時代Wayland桌面的設計模式。\n20251203 【音樂欣賞】Kiroro - 生きてこそ 我小時候第一個有印象看的動畫，其中一個就是《甲蟲王者》，雖然我因為沈迷卡片機台亂花了一堆錢，不過動畫還是很好看的。我覺得Kiroro唱的這首OP非常適合在生日的時候播放。即使我們失去了生存意義，忘卻了自己的存在價值，依然能夠知道，誕生在這世界上本身就是一件可喜的事情。\n20251203 【音樂欣賞】海綿寶寶海神王的皇冠電影，都在講小孩成長為大人的故事，這是充滿愛與勇氣的冒險劇。不過，原聲帶裡面有收錄一首Wilco - Just A Kid，這首快節奏的歌曲，標誌性的地方在於everybody, everybody, everybody, everybody。歌詞跟電影劇情比較無關，是略顯悲傷的寫道：「我不想去上學，但是我還沒到可以制定規則的年紀，太早了，太早了，起床起得太早了。每個人都得學會做他們不喜歡的事情。每個人，長大後都要成為某個人。為什麼一定得這樣呢？或許我只是無法適應，我準備好了，準備好了，準備好面對一切了。我不想上床睡覺，腦袋停不下來。」最後一句給人的感覺最為震撼「每個人，總有一天都要學會長大。」當我聽到這首歌曲的當下，便大為震驚，怎麼可以這麼輕鬆的說出這種殘酷的事實呢？即使主唱後面補了一句「我們來找點樂子吧」也只是顯得諷刺了吧，我們又不是海綿寶寶那種天生的樂天派，更高的機率是變成章魚哥。總是活在他人的期待中，以及社會的期待中，什麼時候，我們才能真正的做自己？\n20251203 Radiohead - Bullet Proof \u0026hellip; I Wish I Was 最近厭世的感覺越來越嚴重了，理想夢想抱負什麼的都逐漸的消融中。或說是虛無主義作祟吧，覺得世界上沒有什麼值得追求的事物，看不到一個未來，一切都毫無意義。究竟是在厭世什麼？除了對現實生活自身一無所成的處境的不滿、自我懷疑之外，其中一個原因，我想是對宏大敘事的解耦，以前我天真的相信普世價值和自由民主的價值終將會落到世界上的每一個角落，未來在人民手中。但看到許多人假借民主之名行盡各種壞事，合理化自身掏空國家的行為，實際行徑不惡於那些獨裁國家，甚至對民主的辯護只剩下「宗教式的信仰」「起碼這是最不壞的制度」的時候，我就漸漸地不能認同民主萬能的說法了。縱然獨裁國家壞，不過他們也有可取之處。現在的社會，人民反抗政府的希望越來越弱，試圖改變體制的新政治政黨也只能淪為鬥爭工具。自以為還有前景的人們只能透過網路上的虛擬活動咆哮著想要改變，這就是為什麼網上氛圍愈發暴戾的原因。我也想改變社會呀，但要是齊身都難以作到的話如何平天下。我現在連鍵政找同溫層發洩情緒的事情都不太想做了，身份政治也不熱衷了，搞政黨的都弄得像是宗教一樣。然後，我在過去對自由軟體的理念有點近乎執著的地步，有種我們是在支持正義的運動，對抗主流大企業統治的邪惡專有軟體世界，可是實際接觸到駭客文化之後，發覺到自己不夠精英的話（至少得是個程式大神）是不夠格參與這個圈子的。再加上，開源產品從軟體到硬體，普遍缺乏商業成熟度的設計，讓我感覺到這個自由的精神再堅持下去是沒什麼意義了，所以，另一個宏大敘事也處於逐漸崩塌中了。就這樣，我逐漸失去了信念(belief)，不曉得活著的意義為何，除了滿足生理需求之外，只顧著嘲弄人世間一切的希望、理想、抱負，貴古賤今的表態（最明顯的例子就是，我喜歡聽民歌時代的音樂，勝過當今的主流音樂）。什麼時候我們無法再像小時候一樣得到單純的快樂了？難道什麼事情都要追求意義？這是過度探索精神世界帶來的副產物，大概也是我哲學書讀太多的結果，也許我們只要小確幸就夠了，不一定要有什麼偉大抱負。越來越感受不到真實的喜悅帶來的快感，只能不停的嘗試再嘗試各種「刺激」。若說存在先於本質的荒謬學說能拯救，那我真希望有一天能找到吧，希望不要是宗教，我本身也不擅長與他人建立關係，甚至覺得電腦程式輸出的0和1比人們口中的話語要讓人安心，所謂回歸現實的做法太過不切實際，為此我感受到一種麻木感、解離感。五月天 - 生存以上生活以下 但是，如果還有希望的話，我會。 汪峰 - 存在\n20251203 那些宣傳自己厭世哲學的KOL，很多不過是想用這個標籤吸引人跟他們同病相憐而已，實際上是想營造自己的受眾好傳播自己的偏見，看著點讚數字成長，就能順便出書收收米。如果他們認真奉行犬儒主義，才不會這麼貪心。所以，我不要求你們信我！查拉圖斯特拉！\n20251202 「桌子在裡面」希望我撰文分享他們的遠端桌面軟體，還說準備支援Linux了呢！喔，那就等支援Linux再說ㄅ，「任意桌子」和「團隊看你」都幾乎能支援Linux Wayland了，我又沒有在用Windows和macOS電腦。嘛，我不是很尬意專有軟體的解決方案。我覺得做一個RustDesk \u0026amp; Moonlight與其比較的表格會更有殺傷力😎 況且既然都是中資，RustDesk起碼還是全開源的ㄟ Grand Theft Auto VI Trailer 1 : Trust? Trust.\n20251202 Fedora 43使用的是新型方法來建立SWAP，透過zRAM設定檔控制大小，而非是用swap file或swap partition。\n20251202 Rant：光靠駭客果不能成大事，開源社區或許有很多會寫程式的，但他們不懂用戶的心。尤其設計一個產品體驗的時候，沒有的專門的一個團隊投入設計，體驗就不會好，最直觀的乃是GUI的看上去很醜。更重要的是，沒有基本的金錢回報，他們就不可能做出能用的東西來。講誇張點來說，GNU/Linux如果不是有RedHat和SUSE這類大公司支援開發GUI，喔現在還有Valve，為其定出一個設計方向，現在還在用Emacs。那麼，在Android與iOS逐步蠶食使用者自由的當下，Linux Phone什麼時候才能崛起？如果他們連一個像樣的功能機GUI都做不好的話？等到有間營利導向的公司，以超越華為鴻蒙的程度，像Nokia認真投入做產品才有可能吧。可這又會面臨沒有市占率的問題，因為他們不懂得綁架使用者的計倆。\n20251202 想試著只用觸控，不靠鍵盤操作Linux系統，我覺得這有點困難。我們得先找一個適合觸控的Desktop Environment。且不可能是用X.org了，要用Wayland！！！我想，在開源社區為了這些碎片化的標準爭執的時候，商業軟體公司早就開始下一代產品的設計了。現在，Linux手機與平板的觸控界面有GTK和QT兩種框架寫成的，照理說後者應該是歷史更悠久的呀，因為十幾年前Nokia就在用QT框架做手機了，MeeGo甚至超前時代使用Wayland，可惜敗給Android。GTK的GNOME新型設計逐步往行動裝置靠攏，所以它其實蠻適合二合一平板，甚至催生出了專為手機優化的Phosh，由專門的商業公司維護。那麼採用QT的KDE Plasma呢？KDE開發團隊有推出Plasma Mobile、跟微軟產品撞名的Maui Project、類似Flutter的跨平台QT框架Kirigami，不過開發進度很混亂。我嘗試了最新版Plasma Mobile 6.5，界面設計上跟Plasma Mobile 5比起來有進步了，他們吸取了Phosh的優點，加入了手勢操作與按鍵操作並行的機制，一個類似Android一個類似iOS，意在提供使用者更多選項，UI穩定度改善很多。甚至加入了Waydroid整合功能。整合了Plasma Desktop的平板模式，因此可以在下拉選單按Dock模式切換為浮動視窗，或是一律化最大化視窗。程式視窗可以允許進入全螢幕，蓋住系統標題列，透過滑動螢幕邊緣來返回。他們還implement了一個適合觸控界面使用的QT File Chooser。我今天才知道Maliit Keyboard的中文觸控鍵盤來自遠古時代開發的MeeGo系統，Ubuntu touch也有採用，勉強能用但問題很多，跟Google Input Tools一樣年久失修，果然沒有商業利益就不會有人認真做這種東西吧。但願有神人能將Fcitx5與Maliit Keyboard整合。問題點：Plasma Mobile太卡了，跟Plasma Desktop共用太多程式碼導致操作起來不流暢，比Phosh還吃資源許多，對低階裝置不友善。\n20251202 近年來興起的libcamera可以簡化相機程式開發的問題，並且統一API讓開發者不用煩惱很底層的程式，只要有驅動剩下的就會容易的多，Raspberry Pi以及postmarketOS手機可以因此受益。但是現在一些Android \u0026amp; Windows平台的相機驅動移植到Linux都會遇到拍照很糟糕的問題，可能是缺乏處理照片的演算法，拍起來像是鬼一樣。\n20251202 都說人民作主，怎麼就沒有人想著籌備武器，推翻政府建立無產階級專政呢？只會搞犬熊兔和當社運咖是成不了大事的。網路讓太多費拉可以上桌發揮影響力了。\n20251202 我逐步體認到我不適合當個好老師吧，to put it bluntly，我不會教。要說嚴格我嚴格不起來，教的內容是很硬的底子的知識嗎？也不盡然，我的認知水平也就一般做題家而已。要說活潑也活潑不上去，我對什麼創意教學方法和EMI都沒有太大興趣，我最得手的只有傳統lecturing的唸稿。我不想關心學生今天心情怎樣，我也不在乎他們怎樣才學的好，反正只要最後有領到錢就好。哼哼，在上岸前的練功坊就培養出這種心態，就證明我是多麼不適合這個航道了吧。假若未來數十年如一日都要這樣做的話，可說是跟當公務員一樣無趣，即使收入穩定，心就會先死掉了吧。我對有興趣的東西，會樂於分享，倘使有餘力，就會施捨一些智慧教別人。但是要說教不教的好，那完全得看我心情決定。不知道怎麼描述這種心態，應該說是喜歡自立研究型的人吧。假若在做研究的時候，遇到契合的學術夥伴，就會進行很深入的討論，是不用管其他人聽不聽不的懂的，或是教的好不好的，也不需要讓利討好學生。具體來說，體認到語言中的句法學之美，自然就會想深入探討文法的形成概念，進行邏輯思考推演，而非是設計什麼引人入勝的教案。學習本該如此吧？不是有教無類，而是人總有貴賤之分，不是每個人都適合讀書的，有些人就是該去當首陀羅。這並非精英階級的傲慢，而是對普世價值的一種反動。如果你只想要考試獲得高分而希望多教補習班用那種速成學法，那就是一種逐利的行為吧？\n20251204 各種顏色的教授收集完畢，從上課言行就能大略推斷出來。有挺國民黨的不婚獨立女性，有是韓粉的老教授，還有屆齡退休暗中挺民進黨的語言學教授，最後是上課時傳教民眾黨的特殊教育系教授。為什麼我會覺得她尬意民眾黨？因為她為了舉口吃的例子，給大家看中秋節黃國昌打給柯文哲的影片。雖然她一直宣稱她沒有政治意識形態喔，只是要從黃國昌的講話觀察到言語現象。說的倒是蠻對的，黃國昌曾經自爆他有口吃問題，別看他好像質詢的時候很會講，其實平常對話的時候還是能看出蛛絲馬跡，而當他對談的沒有視覺訊息的時候，就會暴露出口吃的特徵，還有嘴歪的問題，啊，原來如此。總之，從這裡可以推斷出80%機率她是小草，20%機率是黑粉青鳥。不然誰會特地去看這種柯粉才會有興趣的影片啊！\n20251201 How to move waydroid internal storage wherever i want? #1208 Waydroid的預設會使用Linux家目錄來存放Android APP資料，對儲存空間小的裝置來說不友善，譬如Steam Deck內部磁碟空間不是很大。所幸Linux有SD卡是真的能夠為所欲為的。我們可以把APP移動到更大的外部SD卡。用符號連結放到外部磁碟機是一個解法。這樣Android APP就會安裝到SD卡。\n20251201 好希望我可以USB中毒喔（重點誤）很多人說影印店的電腦是毒窟，隨身碟常常抽插拔的情況下，電腦病毒可能會寄生在裡面，然後跑到自家的電腦上。不過這要歸因於Windows的autorun.inf才會讓病毒偷偷執行，因為我99%時間用的是Linux，以及沒有程式執行權限的iPadOS寫入資料，因此我不需要隨身碟掃毒的擔憂。不過如果病毒是在外部電腦把我的隨身碟檔案都破壞，那用什麼系統都救不回來了\u0026hellip;重要檔案還是放雲端備份。話說回來Linux其實也有autorun.sh \u0026amp; .autorun的機制能使用，這個定義在XDG Autostart的規範裡面，但是桌面環境可能會忽略該檔案，Ubuntu倒是會預設允許執行USB根目錄的autorun.sh就是了。 Autostart Of Applications After Mount\n20251201 為什麼我不受蘋果人與安卓人的思維受限？因為我拿PinePhone啊！其實我覺得這個梗更像是在嘲諷支產手機的意味，什麼都要國貨的思維，因為太多瓦房店產品，真正接近Pixel優質體驗的Android在中國並不存在。\n20251201 【MMD艦これ・4K60】Dancing All Night ～ Amatsukaze ／天津風 又因為奇怪的影片認識經典老歌了。昭和時代的經典歌曲門田賴命 - Dancing All Night，那個煙嗓好神奇。再看看這個台灣翻唱版本：崔苔菁 - 但是又何奈，穿成這樣叫做性感，嘔嘔嘔嘔嘔嘔。\n20251201 PSA：劃圈搜尋在LineageOS 22以上版本已經可以用了，只要刷入最新版MindTheGApps即可，不用透過Xposed插件觸發。縱使隱藏底部導航欄的情況下，還是能夠長按螢幕底部開始劃圈。這樣以後找色圖sauce會更方便了吧。\n20251201 支的我頭昏眼花的行為：日本人被中國欺負，台灣人就忙著表忠心，爆買日本產品然後到日本旅遊，宣揚台日友好，甚至轉發一些日本極右翼人士的反中行為。我一直支持高市早苗捍衛大日本帝國的決心呀，看シナ人戰狼一直對日本哈氣就很爽，可是台灣人可不可以不要這麼賤。一邊是被中國官媒控制的基本盤忙著反日，一邊則是認為自己的アニキ受辱了就忙著像チンピラ一樣瞎挺。要站隊之前也不惦惦自己的斤兩，難怪會有台灣民政府這種組織出現。《大脑升级人》之中国人不杀中国人和中国人帮中国人都是野蛮思想\n20251201 在網上打造個人品牌，只能讓人看到正向行為嗎？就像那些網美一樣，應該將自己最好的一面展示出來，必須壓抑所有的負面念頭，只能在樹洞裡取暖。如果每個人都要注重形象的話，那一點都不是在做自己呀。嗯\u0026hellip;不過過於堅持己見的話又會形成皈依者狂熱，變成爭議人物爆紅。網紅販賣給你的東西不是夢想，而是你內心深處的慾望與焦慮──讀《底層網紅》。我可不想為了錢變成這個樣子。追求真實的自我，卻永遠到不了現實。可是如果不市儈諂媚一點，又怎麼能成功呢\u0026hellip;。馬兆駿 - 會有那麼一天：會有那麼一天 會有那麼一天 我們的路將決不後悔\n20251201 是時候認真考慮退出社群媒體了，假設他們不能給我營利機會的話，覺察到自己陷入太深，再加上我多次刷到Wiwi - 為什麼我不用社群媒體了？的文章，有了內省。我已經養成了一種癮頭。我覺得社群媒體放大了現代人的焦慮，讓人們去關心那些無關緊要的事情，可是又沒有好的討論品質。尤其是推送極端情緒的網站，不論上面是我厭惡的青鳥言論，或是同個鼻子出氣的小草同溫層，都很危險。社群媒體上的極右翼和極左翼的理論看太多了，養成了魔怔的心態。例如我過去長期被仇中人士影響，覺得中國人和白左都是壞蛋，我就會被妥瑞症和強迫症驅使下，產生強迫性思維，常常碎念著想要殺光他們\u0026hellip;我很怕哪天真的被慫恿動手了。這是種興奮的感覺吧，我都覺得快陷入思覺失調的狀態了。果然最好的方法就是斷絕社群媒體嗎？就拿最敏感的兩岸政治問題來說，我常常在Threads上看到極端仇外言論，被兩種意識形態在拉扯，一邊人說要仇中，一邊說要跟中國下跪交流。我的想法是，沒有第三條路嗎？務實點的看待中國對台灣不友善的問題？社群媒體的人們似乎只想要情緒，不想要真理。你說幾句公道話，換來被封鎖的下場。其實很多時候我沒那個力氣去保持中立，我也不是每個政治議題都會跟上，但當別人怒氣沖沖的質問我「你怎麼可以活的這麼事不關己」「不關心政治就會被糟糕的人統治」，我就不知道該怎麼辦，他們把自己的焦慮強加在別人身上。還有，台灣問題應該不是左右，是與中國統一與獨立的方向，不過我是傾向維持現狀的，因此在政黨上我支持務實的民眾黨，希望能客觀的看待國內問題。可惜，雖然近年來他們嘗試做些跳出統獨的事情，卻在被迫跟國民黨合作的過程中，也不可避免的將自己的支持者邪教化了，親柯的KOL認為柯文哲說的全部都是對的，黃國昌就是絕對的正義，然後瘋狂出征批評者，這很不好。常常在抓「行走的五十萬」，讓我覺得很不好受。人們應該建立信任互相合作，而非是找敵人。Threads的言論，不對，不只Threads，還有充斥極端言論的Reddit浪人社區，整天只會自慰的PTT八卦板，看起來已經瘋狂到無法控制了，我要怎麼控制自己不要去打開那些網站，我總覺得大腦一直在尋求刺激。誇張點說，我覺得主流社群媒體都逃不了立場極化的現象，rage baiting到處都是。我想我是陷入了doom scrolling帶來的快感無法自拔，明明厭惡卻一直想打開來滑。現在要練習像是戒斷毒品的操作。假如我不滑社群媒體，很快就會胡思亂想，那麼，就學習看長文本的內容，例如報導者的文章、電子書、視覺小說。我暫時不管作者有沒有特定的政治立場，總之要先從追求快速刺激的社群媒體脫敏。至於FOMO？我幹嘛關注那些無關緊要的事情？希望大家能認識到事實大於立場，沒有人可以決定你的理性思維下所作出的決斷。\n20251130 我一直想買台5吋以下的小手機，現在的手機界太墮落了，手機越做越大，重的要命，續航力卻沒增加多少。除了一些中國的小廠商外，已經沒人願意出小手機了。對我的纖纖玉手來說，170g以上的手機就很重了。主力機6吋的Xperia 10 V我都嫌有點大支了，相機糟糕，而且長的像遙控器，唯一能說嘴的只有一整天的續航（175h）。我很喜歡的小手機iPhone SE 2016已經不行了，得找個替代品。我考慮過iPhone SE 3和iPhone 13 Mini，不過他們續航力堪慮，大概都在60h左右，我沒什麼絕對的動機要買新iPhone，只是偶爾寫評測會用到。如果是Android呢？近年來的小手機越來越少，只能往回找，Pixel 3a是個選項，刷機可玩性很好，可是還是太大支了。然後我找到了2017年發表的Sony Xperia XZ1 Compact，4.6吋而已。根據Gsmarena資料，當年Sony Xperia XZ1憑著SD835 + 2700mAh電池 就能做到108h的高續航，強壓一系列Sony後續旗艦機種，要到使用SD8Gen2處理器的Xperia 5 V才能反超。但Xperia尺寸也都回不去了！一手根本無法掌握！乾脆去買搭載KaiOS（Firefox OS的fork）的功能型Nokia手機好了\u0026hellip;不行，我又不是失智老人。我看到Sony Xperia XZ1 Compact有點心動， 二手價格二千多而已，這個是理想的小手機呀。而且還有人維護LineageOS。缺點是這是很久以前的Sony手機，刷機會破壞DRM導致相機功能毀損。此外，現在市面上流通的多半為不能解鎖的日版手機。平心而論，買台小手機要取代主力機是很難做到的事情。因為雖然Xperia 10 V性能平平無奇，但正是長續航才能讓我用這麼久，偉大終究平凡的道理，就是這樣。購物欲得消解。這個時候應該唱一曲：迪克牛仔 - 原來你什麼都不要\n20251130 舊款Android手機能透過刷機獲得全螢幕手勢更新，憑什麼iPhone不行！？有Home鍵的iPhone/iPad在越獄後，可以透過GesturesXV這個tweak達成全螢幕手勢。這樣你不需要按Home鍵就能操控手機了。\n20251129 Centrism在這世道是越來越難做了，我可以是左是右，只要合乎道理我就支持，或者\u0026hellip;在歷史上根本沒有成功過？看起來不論左派右派的人，都很想發動戰爭消滅對方。許多國家的宣傳機器都會透過給一些藝文工作者好處，來讓他們給自己發聲，創作一種渲染情緒的作品。身為創作過藝術家的一員，我明白每個人都有想表達立場的時候，可是\u0026hellip;人們常常對政治混入藝術表達反感。或者說，一但在作品中闡明立場，就會營造嚴重的同溫層。台灣的藝術家在宣傳隊對中仇恨的問題，另一方面，在宣傳親中論述。我覺得兩個好像都不對。把個人經驗放在前面，這樣不是往往就會不理性嗎？\n20251129 圖片養成了看電視劇都會看主角手機的習慣，以前的動畫還有Android機（《我不受歡迎，怎麼想都是你們的錯》）出現，後來iPhone為主（《果然我的青春戀愛喜劇搞錯了》）。《敗北女角太多了！》裡面出現Xperia 1和Xperia 10。《刮掉鬍子的我與撿到的女高中生》裡面有開箱Xperia 1的畫面。我突然發現搾精病棟4護士的手機型號疑似是Sony Xperia，那標誌性的21:9，可是正面卻還有Home鍵的全螢幕手機。\n20251129 為什麼現在不出獨立媒體鍵的鍵盤了呢？Logitech都是專注玩無線鍵盤，許多品牌的要用Fn鍵觸發，可是我還是喜歡獨立的音量控制鍵，我要XF86定義的多媒體鍵啊！\n20251129 潘越雲 \u0026amp; 齊豫 - 回聲 三毛作品第15號 將三毛的文字作品化為歌曲的超讚專輯。我應該在參訪三毛在新竹故居之前就聽這張專輯的。\n20251128 要degoogle，就要讓這個服務變得討人厭。Google產品中，我覺得最難戒掉的還是Youtube。我看Youtube會開Adblocker，這使得觀看影片沒有任何代價。我看Youtube有五成時間都在聽音樂，既然如此我應該能用Spotify慢慢取代這些聲光刺激的世界。那麼，我只要將Youtube廣告攔截器關掉就行了吧，讓觀看影片體驗不佳，即能逼自己戒掉。這樣只有必要的時候才會看Youtube影片。我是從手機的使用經驗得出的，因為我懶得裝Youtube ReVanced了，預設用官方版本的APP，這個版本會有很多廣告，有效降低了我打開Youtube官方APP的動力！只剩下偶爾用NewPipe罷了。\n20251128 我曾經擁有一個Youtube頻道，靠翻譯影片爆紅，還賺了一些營收。這種灰色行為沒幾年後就被Youtube正義制裁了，整個帳號直接ban不見，所以重起爐灶。嗯\u0026hellip;我看了Youtube頻道統計資料，最受歡迎的依然是我好幾年前拍的Minecraft基岩版系列影片，這東西真的很受小朋友歡迎呢\u0026hellip;問題是我現在沒有什麼興趣做這方面的內容了。過去幾年，佛系經營、新復活的Youtube頻道勉強有達到營利門檻，開始累積收益了，而且我不再是靠翻譯影片的灰色地帶行為來累積觀看次數，而是實打實的製作原創內容。不過大概是我這幾年po的影片轉向太大，從大小朋友都愛看的Minecraft，轉向極度小眾的Linux + FOSS內容，加上我只把它當成二戰時蘇聯的戰術空軍（主力在個人網站）一樣經營，新影片觀看次數都是慘不忍賭的，然後營利資格就又被拔掉了。為了達到重新營利門檻，需要4000小時以上觀看次數，或者短影音達到1000萬觀看次數。這\u0026hellip;我覺得很難。不是4000次，是4000小時ㄟ！是時候調整策略了，那我不就得拍一些適合normie的片來蹭流量嗎！？敬請期待：「Ubuntu新手安裝教學」之類的片子\u0026hellip;不對，最近Zorin OS因為Windows 10退場所以很紅，所以我應該用個clickbait，起個「老電腦裝Zorin OS，快如閃電！」的營銷標題。快你媽啦，只想點點點上網的用戶直接裝ChromeOS Flex比較快。總之，我得想個法子讓Youtube頻道更有內容。\n20251127 太有趣了，現在Flathub開始學Snap Store，會顯示該軟體在哪些國家比較受歡迎了。越來越有未來的Linux App Store的樣子了，希望以後能順便統計使用者的Linux發行版，作為Steam硬體調查以外的參考。點開Country Statistics，以Flatpak版Steam來說，日下載量大約在4000+左右，歐美用戶比較多，台灣和中國的顏色比較暗。順帶一提Flathub有用CDN，可是在大陸境內依然會受到GFW干擾導致體驗不佳。基本上全世界都可以下載Flathub的軟體，沒有地域限制。不過亞洲地圖上唯一一塊空白的地方是北韓XDD ，希望金將軍用Red Star OS上線打遊戲的時候不要被我們抓到。\n20251127 科技自媒體分享好東西，應該要有實作精神嗎？LibrePods這個開源專案最近終於受到中文媒體關注了。它讓我們能在Android手機與Linux使用AirPods Pro的handoff功能，打破Apple生態系的封閉圓環。圖片 可是\u0026hellip;額，怎麼一堆都是AI總結的文章，我真的快笑死，只有重述一次Github Readme的內容，寫一堆虛無飄渺的「技術分析」「應用場景」，都沒有半個實際下去試裝來用的？是因為LibrePods需要Root太複雜了嗎？還是沒人在用Linux？沒有Windows exe就不會用了？搞得實際編譯安裝的我像是異類一樣。希望不是自我意識過剩。現在許多分享開源專案的KOL（不是全部，還是有認真的），很多甚至沒自己實際安裝專案來體驗一下，這一點都不好玩，沒有geek精神。不是我要說，這些科技自媒體放任AI批量生產文章真的沒問題嗎？還是說這個時代只有短影音要認真做（未來也可能被AI唸稿取代zzz），文字內容沒有廠商業配就隨便來了？\n20251127 與其花大錢印什麼民防手冊給人民洗腦，不如多印幾本《無政府主義烹飪手冊》。左壬，集合！等到遍地獻忠的時候還有手段推翻政府。\n20251127 我想說iPad只是連個遠端桌面怎麼這麼耗電，原來是Moonlight會自動指示啟動遊戲模式。這個功能可以點一下overlay的按鈕將其停用。\n20251127 倉嶋丈康繪製的《いろいろな何か》畫冊真的很色，尤其是少女與戰車系列，還原原作畫風又有別出心裁的內衣設計，更確切的說法是\u0026hellip;很養眼？不需要露點也可以有強大的破壞力。讓人很想買實體書來收藏。\n20251127 Going all-in on a Wayland future 這天終於要來囉，KDE Plasma 6.8桌面即將放棄支援X11協定，只開發Wayland的功能。這代表X.org伺服器將不會是KDE桌面的依賴項目。原本以為要KDE 7才會正式移除的說，但這也要QT公司先推出QT7再說啦\u0026hellip;目前KDE版本是6.3，照目前的開發進度來看，應該是2027年就會正式移除。滾動Linux發行版會立即收到更新，至於更新比較慢的Ubuntu則是會推遲一些。目前各大GPU驅動（包括Nvidia）對Wayland的支援度已經夠好了，這個切換不會是大問題。今年GNOME 50早已經正式移除X11支援。KDE預計也會透過XWayland來繼續支援舊有X11程式。我個人感覺KDE Plasma 6之後，X11工作階段就被開發者放推了，各種詭異bug不修，基本上Wayland已經完成了大部分功能的移植了，夠「穩定」了吧。\n20251126 我又被馴化了，前幾個禮拜還在嫌iOS 26的Liquid Glass設計很醜，擬物化風格與舊有設計格格不入，現在完全被這種新風格折服了。iOS的動畫本來就很順，Liquid Glass給許多按鈕新增了滑順的響應動畫，讓按按紐即使沒有震動回饋，透過動畫的縮放變化也很有視覺上的享受，選單會用一跳一跳的出現耶。有點像是在碰觸水滴，水滴形狀就會跟著變化的自然觸感。讓整個系統顯得很有活力。另一方面，Android 16得益於Material 3 Expressive的設計，APP操作同樣是顯得活靈活現的。所以在這兩個系統都能夠享受有趣的動畫體驗。\n20251126 我覺得我的前額葉總算發育成熟了\u0026hellip;嗯，更接近成熟了，減少了一些衝動性的行為。例如我以前常常當月光族，有點錢就大灑幣，不為未來做打算，現在懂得克制欲望了，設定延遲享樂的目標。不會在社群媒體上輕易發表暴言\u0026hellip;因為真的會有人來看了，得收斂一些。然後在跟別人吵架的時候，不會lose my cool的說，而是迅速的冷靜下來，用比較冷靜的態度面對（以前的話我可能會氣到發抖），或者一笑置之，不輕易破防。嗯嗯，還得控制一下冷嘲熱諷的說話習慣呀\u0026hellip;可是如果連匿名空間講話都要求得體的話，會失去很多樂趣的。這樣我是不是可以說，常常在網路平台噴糞的人（尤其是政治廚）都是心智發育不全的缺愛蛆？現實生活中過得不如意，啥都怪紅共/綠共，所以上網發洩情緒是嗎？Reddit上的r/China_irl是這樣評論支黑的。網紅時代，只要你的觀點夠極端，就能當上宗教領袖擁有自己的一片受眾。我們只要跟著喊口號，不要真理。ㄟ\u0026hellip;罵到我自己了，這樣看來各政黨的支持者都需要注意這個問題。作為對過去衝動的我的一點反省，今年5月之後我就沒參加過民眾黨的線下活動了。\n20251126 妖精帝國 - 空想メソロギヰ 十年前看的動畫主題曲，原來歌曲一開始唱的是英文！？原來副歌唱的是德文！？可以知道的是《未來日記》選的兩個OP，歌曲作詞英文都不太好XD 太過於中二導致咬文嚼字，符合文法但很詭異，而且還用日語腔調唱。 飛蘭 - Dead END\n20251126 「你知道台灣要被國民黨賣掉了嗎？」「綠共等於紅共！」為政治意識形態服務的藝術家往往都是小丑，懂的用言語難以表達的畫面情緒誇大與渲染事情的嚴重性，干擾人們的理智思考。他們往往高調宣揚自己的政黨動機高尚，將反對意見描述為非人化。比如蠢羊那種靠民進黨奶水標案的插畫家，或者是觸極者這種B咖。你自以為是看到了格爾尼卡的畢卡索，實際上是烏合麒麟之流而已。下次想想，當你欣賞的KOL要對一件事情表態的時候，你何必隨之情緒起舞？「你們尊敬我，但要是有天你們的尊敬傾倒了那又怎樣？不要讓一座雕像砸了你。你說，你相信查拉圖斯特拉？但查拉圖斯特拉又怎樣？你們是我的信仰者-但所有的信仰者又怎樣？你還沒有找尋你自己，你只找到我。所有的信仰者都是這樣，如是所有的信仰成就渺小。現在，我命令你否棄我，並發掘自己。唯有當你們否決我的一切，我才會回到你們之中。」\n20251126 我們在GTA 6之前得到「加速」世界 💀 ：包子帝、清德宗、美國川，有一群人一直在慫恿2027年開戰，世界離三戰不遠了。這個時候就要唱：もっと強く この両手で。涙全て振り払えたら。\u0026ldquo;今度こそは\u0026rdquo; つぶやく今と。傷さえも無駄にしない。もっと早く 君のもとへ。たとえ羽が千切れようとも。歪む世界 走り抜けて。感覚のその向うへ。\u0026ldquo;真実\u0026quot;と 加速してく。We are tossed by the waves of pain and tears. I\u0026rsquo;m tossed into the fray. Tossed by various fortune. Wake up your brain! Flashed in the sky. It\u0026rsquo;s a burst of sensation. KOTOKO - →unfinished→\n20251126 「台灣不是國家，望周知。」在Threads上的rage-baiting氛圍，真的很讓我想這樣說。畢竟隨便一個爭議點都可以被演算法飄出去然後獲得大量回應，接著馬上就有人來跟你急。鑑於討論水準大半很低落，動不動就罵娘，我現在都不想正經看待這些言論了。不過這是事實呀？有錯麼？我們一直都是中華民國人呀。我國叫做中華民國，與中華人民共和國互不隸屬。嗯，這又是一個值得爭議的點，不管你認為一個中國是中華人民共和國還是中華帝國，抑或是飛天意麵神國，都隨你便。國家存在與否，真的沒有那麼重要。現在選擇你的陣營\u0026hellip;\u0026hellip;加入安康或是安資！\n20251126 換個顯卡，電腦就開不了機了。原來FreeBSD 14嘗試給Intel Arc載入的i915kms module會引發kernel panic，雖然說Intel內顯用的也是這個kernel module？需要升級到CURRENT 15或者編譯含有最新來自linux-lts 6.12韌體移植的drm-kmod才能成功。Intel Arc A770: Kernel panic on kldload i915kms.ko #315 Open\n20251125 如果說主流媒體的報導不可信，去看KOL宣傳的內容，又何嘗不會落入同溫層的問題？嗯我是看川普的報導這樣想的，假設歐美的主流媒體都是左媒好了，那麼就沒有一個人會對他提出正面報導，只有不受深層政府控制的patriot才能傳播真相，可是那些KOL的言行一個比一個抽象。再看看同情民眾黨的台灣媒體有哪些？還不是幾乎都靠自媒體幫忙？我們不能在這邊又扯一個陰謀論出來，說之所以主流媒體不支持我們是因為左派精英高層的陰謀啦之類的。當我們自以為清醒的時候，也要小心陷入偏狹的認知。同溫層過厚就會認為身邊都是敵人，從而搞出台派店家地圖這種自慰玩意來。或許，你支持的信念是超前於時代的所以不被主流認可；也有可能只是另一種邪教罷了。這讓我想到另一個問題，如果說主流社群媒體充斥太多「舔共」的政治不正確言論，我們青鳥就得自建一個不受干擾的平台對嗎？然後對來踢館的人全部都block，因為他們肯定是中共網軍，在國家安全面前言論自由算個屁。嗯，小粉紅好像也是這麼說的，你就是行走的五十萬！對於網路上，非面對面的公共議題辯論品質，我保持悲觀的想法，不可能會有好的討論的，真理不會越辯越明。管太多你說侵犯言論自由，可是不管又會變成name calling的罵戰。哪一個議題不是這樣？不論是在政治、性別、遊戲、喜歡的球隊、明星、種族、宗教都是這樣，不分國籍的網友總是會落入這個地步，永遠不會有一個滿意的結果來。最好的方式\u0026hellip;也許還是寫一本書來論戰觀點，而且要大家用讀的喔，不準用AI總結也不能用說書影片。這樣我想大家在辯論議題的時候會冷靜一些，因為閱讀的門檻就排除了一堆暴民。\n20251125 杀死77人，只是布雷维克计划的第一步 - 知乎 下面的評論一堆說也要對中國黑人這樣做的。真保守神國，支那。如何评价布雷维克？ - 知乎\n20251125 原來張宇的歌曲很多都是自己作曲，他老婆十一郎作詞的啊，有人懷疑這些詞是不是夫妻吵架時寫出來的XD\u0026hellip;我總覺得他唱的情歌好像都是一個調性，雖然有幾首特別出名的，但沒有像張雨生做一些〈帶我去月球〉這類特別風格的歌曲。\n20251125 立院法制局拋近親禁婚改四親等內　建議修法緣由、放寬親戚有哪些？ 這樣說，以後就可以合法骨科了囉？我是玩千戀萬花的小春線，才發覺日本是允許三等親以外結婚的www 就這也能扯到洗人口 午夜特搜：近親結婚也六改四？ 藍白遭疑又是「洗人口法案」，說小草沒人要才搞這種法案 同志遊行「兄妹婚權」標語惹議！ 粉專怒PO圖澄清：舉牌人應為「小草」，咋不看Threads上的綠色老阿姨看到別人娶嫩妻就眼紅 牙醫夫自豪PO老婆「22歲是三寶媽」 網友兩派論戰\n20251125 年輕人不婚不生「嬰兒室冷清」！ 專家警告：台灣進入生育恐慌期 - TVBS 專家：「面對少子化與高齡化交錯的局勢\u0026hellip;..應積極引進移民與新住民，成為人口結構穩定的重要支柱」聽聽這種論調，難怪在歐美極右翼的大取代陰謀論會大行其道了，政府不解決生育率問題，卻是透過引進移民來解決人口缺乏。這樣的話，全球化左派菁英控制的深層政府，消滅國內主體民族的邏輯就成立了，我們不只要引進外勞還要引進陸配，洗人口大勝利！嘿，這個腦迴路剛好跟塔綠班恐中症的想法接上線耶www為什麼你不擔心外勞洗台灣人口，卻只擔心中國人移民台灣是統戰？我們早就是最後一代了！政客們這樣認為，我死後哪管洪水滔天。我並不主張透過奉行右派家庭傳統來拯救生育率問題，反之，我認為人類滅亡是更好的未來。話說我們真的有必要生小孩嗎？生育率低不好嗎？好啊！這個國家早點滅亡算了。人滅亡有好處，可以做肥料。地球人口已經過剩，對環境造成的負擔太大，人口控制勢在必行。或者說，我逐漸成為一個Antinatalism主義者，主張人類應該早點滅亡才行，不用修煉愛情，也不用MGTOW。這世界充滿痛苦，憑什麼要把孩子帶到這個世界上跟我們受苦？是基於社會壓力還是宗教信仰逼迫人們一定要生育？假設可以拋棄本能的驅使（性的慾望，不論你/妳是想射精還是高潮），我們還會想生小孩嗎？台灣早點亡國比較好, so do humans.\n20251125 有一次在旅遊景點排隊上廁所的時候，排了很長隊伍才到我，然後前面的一個5歲小孩到廁所解放了才大聲跟爸爸說「呼，好舒服~」想必是憋了很久。呵呵，小朋友還不知道長大後有比排尿更舒服的事情，那就是幹女人射精的時候，讓精液通過雞雞的感覺要比尿尿舒服上萬倍。小正太可是體會不到這種大人的樂趣的呢，欸或許可以，就像皐月芋網畫的許多亂倫本裡面演的有沒有（這作者真的腦洞很大又很實用），近親交姦，小正太卻有兇惡的大肉棒，碰上年上女性就能用精力旺盛的雞雞幹死對方，像是永動機一樣的瘋狂扭腰抽插，小小年紀就激發出雄性本能，只想著射精的快感而交配，瘋狂的給雌性播種。\n20251124 想要買一支小iPhone來做到digital minimalism，但是在長期習慣養成下要戒除恐怕不是換個手機就能解決的事情，況且小手機的餘暉也就iPhone 13 Mini和iPhone SE 3了。想要小手機又大電量，這本就是極度矛盾的事情。不知道為什麼過了這麼久我還是有一種果粉的衝動，明明知道Android比較適合自己，就是買二手也要加入蘋果的圈子，好像拿著iPhone就比較像個正常人的感覺。可是，看著日本人均一色的拿著iPhone的樣子又覺得讓人噁心（例如社群媒體上的照片），大家都追求同一性讓人感到難受 老王樂隊 - 補習班的門口高掛我的黑白照片：這世上還有多少人清醒著，一模一樣的穿著埋沒在人群中，忘記自己最初的模樣 每個人的手機都有瀏海的樣子，看了真的好難過，為什麼手機螢幕就不能是完整呈現的呢，一定要破一個洞才是主流？不是有洞就有六十分好嗎？好不容易找到了一個4吋的藍狐NX1，又是挖洞螢幕！？想找無挖孔小手機（\u0026lt;6.1吋，\u0026lt;170g）實在太難了。Google Pixel a系列是不錯的小手機，可是我實際拿了，看到那個洞還是好嘔。Sony Xperia 5系列又因為賣不好從此消失了。在螢幕下鏡頭技術成熟前，未來還有什麼選擇呢？\n20251123 如何尋找附近的Linux用戶\u0026hellip;看有無KDE Connect可以配對的裝置？替身使者會互相吸引！！！不然你直接喊一句I use Ubuntu btw馬上有人跟你急。KDE Connect基本上是Linux用戶才會安裝的跨平台傳送工具，最佳搭配組合就是Linux桌面 + Android手機，因為APP在兩個平台整合的最好。其他系統的版本太barebone了效果不佳。我有一個功能很不爽的就是，Android APP會一直顯示KDE的通知指示器。這樣只要在同一個Wifi下就會一直顯示附近的KDE Connect手機，而這個服務難以像Linux一樣用指令關掉，只能強制停止。\n20251123 沒有人：BIOS（冰冷的開機firmware畫面）；我：βίος（罪惡王冠插入曲）\n20251122 在蝦皮取貨的時候無意間注意到點菜的平板是我一直想買的Surface Go，看那個充電器造型就知道了。二手市場有很多便宜貨可以選。假設是Surface Go 1好了，哼嗯~看到這螢幕發色品質確實是覆蓋100% sRGB的優異螢幕啊，我可以放心的買了。雖然，裝Windows 10真的顯得它很慢，即使只開一個瀏覽器分頁，開始選單點一下也要lag五秒之後才會顯示，裝Linux應該會改善許多吧。\n20251122 第一隻黏土人就獻給Lain了❤️玲音是27年前播出的日本動畫，在歐美科技圈頗受歡迎。對Linux、macOS、網路文化、集體潛意識、開源軟體、駭客精神、IPv7等電腦主題有興趣的觀眾一定要看看本作！GSC今年發售的岩倉玲音，配件有書包和可以寫Lisp程式的手機，附贈透明背板，可以營造出\u0026quot;Present Day, Present Time.\u0026ldquo;的氛圍。特典則是一個Serial Experiments Lain字樣的底座。我覺得沒什麼就沒買了。\n20251121 不使用很明確的提示詞，預設直接開始聊的情況下，Claude Sonnet 4.5感覺在心理諮商的時候比較溫柔和懂得關懷，ChatGPT 5和Gemini 2.5都正經八百的\u0026hellip;我都說了我想死，陪我說說話，她們還是像專案小姐一樣講沒幾句就開始分析問題與給出解決方法，這樣跑分高有什麼用，而非Claude會先同理再慢慢引導心態上的遷移，所以我很感謝她。要不是Claude每日免費流量給那麼少，我才不會貪圖ChatGPT的無限聊天功能呢。\n20251121 Intel Xe的kernel module驅動會導致KDE 6.3 Wayland隨機崩潰，尤其是在開啟Electron程式的時候，哼，果然不穩定，還是切換回i915就行了。\n20251121 啊這\u0026hellip;EasyEffects 8.0從GTK4切換到QT6，怎麼感覺質感降了好幾個層次。不得不說GTK的美感還是在QT之上的，QT寫的程式也就在KDE上稍微好看一些，KDE的Breeze主題相容下的GTK程式看起來仍很好看；另一方面GNOME開發者根本不想認真解決QT在Adwaita主題下看起來很醜的問題。EasyEffects開發者做出此決定的原因未知，真的是因為GTK文件寫的太爛了？且基本只限定Linux平台開發。QT則是更廣闊的世界。\n20251120 每一天都是新的一天，沒事的，一切都是暫時的，一切都會好起來的，只要再來一顆SSRI\u0026hellip;這樣即使工作都在想著自殺的事也能撐過去，並在諮商的協助下調整看待事情的心態。不是因為這行不行就等於人生不行了，頂多證明你不適合這裡而已。你的感受比任何人的責任都要重要，因此不要過份責怪自己，也不要太有罪惡感。手下的人達不到你的期望，你沒辦法控制他們的行為；你達不到他們上頭的期望，就讓它過去就行，罵就罵吧，嘲笑就嘲笑吧，沒什麼羞恥的。我知道這裡的收穫是知道更好的教材教法，以及對文法知識的全面提升。撐快一年了，比起去年直接逃跑有進步許多了，可是，我不夠好。即使被再三叮嚀還是丟三落四的沒有做好該做的事，沒有盯好學生，全都是我的錯吧。確認了cramming的教育模式確實能有制度化的提升成績，比起帶活動快樂學習，成績有進步更重要吧？可是這還是違背我的信條，學程倡導的新時代教育方式，因此我果然還是不能認同逼迫人每天寫考卷自修的教育方式。這看來矛盾，但是成績真的那麼重要嗎？還有，即使是像我這種工作能力的弱者，也有資格質疑體制嗎？不夠細心的人果然不適合當教育者，你前我被人壓迫現在換我壓迫別人讀書，這彷彿預是了未來我上岸後的命運。這就是，情感遲鈍導致的思維麻木化，也能防止陷入解離狀態的衝動行事。雖不影響理智，但將情緒隔離的遠遠的，面對混亂的現實都可以從容，不應該說是麻木的應對吧。這種平靜的狀態，就能清楚聽到內心仍不斷播放的Steins;Gate OST背景音樂。就算想過要放棄這一切，乃至生命，但是只要還一絲希望在，這些事情就不值得devote的過深。因為看向窗外的，還有藍天，不要真的成為，哀莫大於心死。The Flaming Lips - It\u0026rsquo;s Summertime 還是只吃25mg就好了，50mg就會陷入生無可戀的狀態。換個想法，我只是廉價勞工，不然你是要我怎樣啦。\n20251120 最近LineageOS 23終於出了～馬上在備用機Xperia 1 III上安裝，打開來看，還沒有移植Debian Terminal，變化不大。TIL：LineageOS不允許使用者從手機進行大版本更新，例如Android 15升級Android 16，居然要你進入Recovery線刷\u0026hellip;。\n20251120 不正經的說，我出於宗教理由，反對用Chromium開發的Spotify客戶端，臃腫回應慢，而且他們還不支援ARM64架構，應該使用Rust才對！librespot是以純文字模式執行的Spotify客戶端，spotifyd是基於librespot開發的軟體，作為UNIX daemon執行，可以播放Spotify音樂（需要Premium帳號）在執行後，librespot會廣播成為一個裝置，讓我們能夠用Spotify Connect。因此你可以將librespot部署到樹莓派或者它區網上的電腦，以此製作許多「揚聲器」讓Spotify控制。可惜，因為Spotify有DRM保護，librespot無法支援無損音質串流，免得被吉。librespot本身沒有圖形介面，需要搭配其他圖形介面使用，例如Spotify官方客戶端，或者是第三方的Spotify QT、Spotify TUI等等。完整整合librespot的客戶端有ncspot與Riff，ncspot是目前能用的唯一一個。RAM佔用對比官方客戶端都是好幾倍以下的差距。不過這幾個專案都缺乏維護了\u0026hellip;大概是官方的客戶端無人能及吧，已經夠好了沒有再刻一個的必要。spotifyd的存在價值，大概就是被其他家庭多媒體的套裝程式引用，例如Volumio或LibreELEC，成為播放音樂的一個函式庫。\n20251120 ARM乖乖當伺服器，接下來的目標是RISC-V～？最近幾個月，使用樹莓派5架設丐版NAS運作良好，在加裝風扇後，它的CPU允許同時執行十個以上Docker服務都不會lag（雖然用戶只有我自己），只用一條USB線連接外接硬碟，我把它倆丟在櫃子裡面就忘了他們的存在了。因為只透過容器部署服務，系統用什麼沒差，所以沿用官方Raspberry Pi OS。我主要是透過self-hosted的網頁服務存取硬碟檔案，搭配Tailscale VPN從外網存取，例如用Portainer管理docker-compose、Immich看照片、Jellyfin看動畫、Navidrome播放無損音樂、LANraragi隨機推薦本本。需要的時候我也可以用SSHFS區網直接存取硬碟上的檔案。這樣樹莓派就成為了一直在線上的服務，24小時不斷電運作。我未來可能還要搞個UPS才算完美。通常沒有特殊情況的話，我大概是一個月才登入SSH檢修一次。過去我的硬碟都是插在主力Linux機上，可是我會一直在主力Linux機上折騰，這樣分離式的硬碟架構，這樣能夠確保放在大容量硬碟的檔案安全無虞。不過這樣樹莓派就無法負擔其他任務了呢，因為要把伺服器服務全部下線是蠻麻煩的事情。有時候我會想測試x86以外平台打電玩的效能，現在我想搞一塊RISC-V的板子來折騰了，譬如Felix86這個專案可以轉譯x86的遊戲，看起來很有趣。StarFive的VisionFive 2看起來比較成熟，呃\u0026hellip;雖然效能可能落後樹莓派好幾個世代就是了。\n20251119 有時候會把iPhone SE 1重新拿出來用，這種合手的手機已經再也不會有了。大部分日常操作我用網頁就能滿足，可是我卻遇到瀏覽器太舊的問題。iPhone內建Safari瀏覽器是跟著iOS系統一起更新的，要是Apple停止支援，瀏覽器也就跟著放生了。然後，主流的瀏覽器APP通常也會在一兩年後放棄支援舊版iOS。例如，支援chekcra1n的最後一代越獄裝置很多還在iOS 15。舊版瀏覽器會導致裝置暴露在風險之中，有些使用新版網頁框架的網站也會不正常。可是這些舊裝置明明還能完成上網的基本工作的！如果iPhone版本太舊，導致無法安裝新版瀏覽器的話，CyberKit可以說是救星。這個專案有點像是Supermium之於Windows XP，主要目的是將最新WebKit移植給backport到舊版iOS裝置，CyberKit MobileMiniBrowser是精簡到不行的瀏覽器。CyberKit最低需要iOS 12以上版本。作者還有基於iOS版Firefox所使用的WebKit(Fennec)再開發的版本CyberKit Fennec，但是需要iOS 16。透過TrollStore或者AltStore側載IPA即可。還有這個Polyfill越獄插件，可以補充缺少的JavaScript。\n20251119 我是老人，有在音樂專輯存.lrc檔案保存歌詞的行為，不依賴Musixmatch的線上服務。只是現在支援讀取這個檔案的軟體很少了呀\u0026hellip;且魔鏡歌詞網倒了之後（正版的尚未復活），帶有時間軸的歌詞文本也很找了，社群貢獻的努力就這樣消失，算是時代的眼淚。折衷辦法是將歌詞檔案嵌入音樂檔本身，這樣一些軟體就能直接讀到。例如，Strawberry Music Player和Picard都可以編輯.flac檔並嵌入歌詞。\n20251119 在我國中接觸手機以前，我到底是怎麼活過來的，只記得我的嗜好就是看小說和畫圖。很小的時候就有電腦，但是久久用一次，但自從接觸手機後就機不離身了。別人上課在打傳說對決的時候我在Root刷機。萬能青年旅店 - 郊眠寺 High tech, low life，切斷電纜，數字雲煙。免費月光，免費驚險。有沒有可能一天不要碰電子產品而過活？更重要的事，如何脫離網路？感覺我這幾年太沈迷電子產品了，與人的交流幾乎都在網路導致疏離感加大，有時甚至懷疑自己是否存在。從手機買到電腦再到SBC，全都在研究上面全部都灌Linux，需要買一些尪仔來平衡一下，回歸現實。不是飛機杯啦，雖然說我喜歡的尪仔也就Figma而已。培養digital minimalism還不夠，雖然很難培養touch grass的愛好，但起碼能脫離電子世界一下。這就是、電子雲煙。西郊有密林，助君出重圍。我們沒辦法像Kaczynski到處放炸彈破壞工業文明，但是我們可以自己做出決斷。嗯\u0026hellip;若完全脫離電子圈顯得很不切實際，而且會嚴重缺乏娛樂來源。我想到比較實際的作法，大概就買一支iPhone SE 1大小的手機方便攜帶，或者大電量手機，能基本上網就好了。然後買保護視力的電子紙看書吧。\n20251119 同時使用滾動發行版（Arch Linux）與穩定發行版（Ubuntu）的好處，就像同時玩日服與台服手遊的差別，你可透過upstream資訊獲得「未來視」決定日後投資的發展方向。今天成熟的技術在未來可能因為一個版本更新就削弱了（例如，X11、PulseAudio將會是退版本的技術，Wayland、PipeWire將成為一代神角，還有Rust未來會獲得史詩級的強化！）。當然Linux核心發展並不是抽卡，沒有許多不確定因素，但是某個子系統的開發者隨時都有可能跑路，因此需要注意，依照發行版的不同，上游變化不見得會由下游發行版全盤接受。\n20251119 FSF announces Librephone project 自由軟體基金會（FSF）最近發起了LibrePhone專案，他們希望把Android手機的閉源驅動全部逆向，讓這些硬體能夠真正自由執行想要的作業系統。FSF認為，LineageOS和postmarketOS做的還不夠，雖然開發者儘量把各個機型所需的資料upstream到mainline kernel，他們還是依賴proprietary blob。LibrePhone的目標不是建立另一個手機系統，而是讓系統更自由。或許我們可以見到ARM版Coreboot的出現？啊，已經有了，U-boot，不過Android應該不能用。問題是\u0026hellip;錢啊！！！別忘了早在Android發展初期，就有過Replicant ROM的計畫，結果落得只有少數幾支手機支援的下場。\n20251118 嗯，嘛，啊。依賴Cloudflare服務的網站掛了一陣子，包括我的網站。現在看來正在逐步恢復中。臨時要查過去用過的指令的時候，只好看本機的。在本機保留一份自己網站的Git儲存庫副本就是方便。或許我應該架個Gitea以備不時之需。馬的，垃圾Dcard現在直接封鎖Linux瀏覽器訪問。\n20251118 Steam Deck的暫停遊戲功能做的很直覺，還沒有Linux發行版能完美複製。Nyrna這個工具可以暫停Linux的行程執行，有點像是針對單一行程的suspend。被暫停的程式會停止取用CPU與GPU資源，但是保留在RAM裡面。例如單機遊戲，被Nyrna暫停之後會停止渲染，繼續執行後可以從上次離開的地方繼續。這對筆電和掌機來說很有用，暫停大型行程有助於省電，又不用花太多時間重新啟動程式。我想暫時凍結吃資源的瀏覽器行程也有助於省電。經過測試，暫停Steam遊戲的行程，Steam還是會計入遊戲時間，得連Steam客戶端一起暫停嗎？還是沒用。我猜Nyrna背後用的是kill的-STOP指令來暫停行程，那為什麼不suspend整個系統就好了呢？嗯，suspend的機制牽涉到良好的軟硬體整合，一些機子，譬如我的MSI筆電就很吃運氣，睡眠下去就睡死了，相較之下Nyrna風險比較小。可惜Nyrna只支援Xwayland，目前還在投票看XDG要不要設計一個協定允許程式監測開啟的視窗。至少對Steam是有用的，因為它現在仍跑XWayland下。\n20251118 鮑家街43號 - 失敗者 「我是個失敗者 我是個失敗者 卑微又懦弱 殺了我 殺了我 反正我什麼都沒有 路很長走起來艱難 問題是找不著方向 過去擁有的東西現在全都沒了 有一天瘋狂的感覺突然進入我的生活 眼看著自己漸漸衰老 可是還沒找到青春和美元 知道明天會身無分文甚至比死還可怕 為了活得好一點就得分裂到極限的極限」原來中國也曾經有這種搖滾，汪峰現在過得太好，再也寫不出這種歌了～ 天安門廣場，我是你孤獨的孩子。\n20251118 RK3566不適合跑Linux桌面應用，但看一些中國博主的分享，蠻多復古掌機採用這個處理器的。不過不知道為什麼我為什麼連N64模擬器都跑得很卡（使用Mupen64Plus核心），大概是Panfrost的驅動實現有問題，Mali-G52原廠的驅動好像是閉源的。然後RetroArch核心在arm64的Linux幾乎都沒有，真慘。我一直很疑惑那些「開源掌機」的原理是什麼，不會只是拿開發板套個Android就拿出來賣吧，Linux反而沒那麼重要？他們敢把U-Boot的驅動放出來安裝其他系統嗎？他們背後應該有用到類似RetroArch的功能，但是就我所知RetroArch的Libretro核心在ARM64的Linux是蠻缺乏的（Android跟Linux是不同系統）。至少我在x86的電腦開啟RetroArch，裡面有許多預先編譯的核心可以下載，但是ARM64就一片空白，要手動找.so動態連結檔來用。這樣的話，那些開源掌機的開發商若要使用Linux版系統，可能他們是自己編譯整合的版本？售出後就不保證系統更新。\n20251118 好吧，經過兩年開發後，PineTab 2最新版Arch Linux ARM的Bes2600的藍牙終於可以用了，真虧開發者能堅持到現在，我可以把這台平板當作音樂控制唱盤了。大震撼，Spotify沒有arm64客戶端。Spot停止維護了，fork Riff也不正常，看來我只能用spotify-qt + librespot了。然後Phosh無法從GDM啟動原來是因為合成器失蹤了，執行phosh-session指令才發現，把phoc套件裝回來就可以用了，可喜可賀，我一直以為它壞掉好幾個月了。不過、可能是我的個人硬體問題，iio-sensor-proxy傳出的方向感應器仍然是相反的。\n20251118 好噁，碧藍航線跟約會大作戰聯動後，不分大小女角全部都漲奶，毀童年。中國人到底要毀掉多少遊戲？喔？還是說，你寧願讓woke公司把角色都變成黑人？\n20251118 武漢肺炎期間，\u0026ldquo;You are vaccinated\u0026quot;原本是單純表達你有打疫苗嗎的意思，但在疫苗陰謀論者眼裡，就是YOU ARE VACCINATED的恐嚇語氣，代表你已經被光明會的基因武器改造了，不再是人了。\n20251117 F-Toys又出小艦船模型來騙錢了，使用全新模具，這次包含了金剛型四姊妹的改二卡片。\n20251117 Known compatibility issues with Docker Engine 29.0.0 Oh shit，Debian 13官方Docker套件庫的Docker 29引入API breaking changes，不要亂更新！！！Portainer會壞掉。暫時解法是systemctl edit docker.service，然後設定Environment=DOCKER_MIN_API_VERSION=1.24。或者用apt policy找出舊版本，降級sudo apt install docker-ce=5:28.5.2-1~debian.13~trixie。\n20251117 台灣人對股票投資狂熱的程度讓我常常懷疑是不是沒有進行投資就是虛度人生，有點閒錢的社會人士一定都會懂得配置自己的資產，但我卻不想談錢的事情，大概是我賺得不多又常常亂花錢吧。我一開始是從比特幣學到投資觀念的，這說實在蠻不健康的，幸好只是玩票性質沒有砸太多錢下去。這是個錢驅動的世界，沒有資本驅動的人性就不會前進。如果懂得最起碼的理財觀念，投資避險，至少未來不會陷入今朝有酒今朝醉的局面，總有一天也會買得起房子。啊啊\u0026hellip;這樣想下去好複雜啊，小腦袋不能理解，有時候真盼望大的趕快來，用東風導彈物理打房。\n20251117 成功在ARM架構的Linux平板執行Steam遊戲。我已經可以看到未來Steam Frame VR的樣子了。硬體是PineTab 2，Rockchip RK3566，系統是Arch Linux ARM。可是Panfrost的圖形驅動找不到，所以是用GALLIUM_DRIVER=llvmpipe硬跑的。目前的Steam Deck是x86架構的AMD處理器，SteamOS自然也是x86架構，對現有的Windows遊戲的相容性較好。不過未來應該是ARM的天下，為此需要有一套處理x86轉譯ARM的機制。Proton和遊戲本身不太可能移植到ARM，所以只能維持原樣，但是要在ARM系統執行，就一定需要翻譯器。Linux核心支援透過binfmt執行異質架構的程式。論翻譯異質架構的程式，qemu-user存在已久，可是太慢了，需要更新的方案。Fex-Emu是能在ARM架構的Linux執行x86架構程式的開源轉譯方案，它也是Valve正在投資研發的項目，以期能在未來的Steam Frame VR上面使用。它透過提供一套x86常用函式庫的rootfs，來補充x86程式在ARM系統上執行所需要的依賴，而非是像Box64那樣直接轉譯x86程式。這樣也可以避免傷害宿主機系統，強制安裝一堆錯誤依賴的套件（Box64需要手動補一堆armhf的依賴，十分噁心）。目前支援Fex-Emu的發行版有Ubuntu和Fedora Asahi Remix。他們採取不同的approach來處理依賴性問題。Ubuntu直接下載PPA，然後下載對應的rootfs，進入執行。Fedora因為M1 Mac用的是16K Page，舊有的4K Page程式會有相容性問題，因此執行了一個microVM虛擬機，允許GPU直通，然後在裡面建立rootfs來執行Fex-Emu。參見Integrate FEX in Fedora Linux - Fedora Wiki。至於其他Linux發行版，例如postmarketOS和Arch Linux ARM，有一種方式是使用Distrobox來建立Ubuntu環境，免去手動編譯Fex-Emu的困擾。參見Steam in FEX - postmarketOS Wiki。binfmt的機制在rootful的Docker容器裡面依然是可以使用的。這樣的話執行FEX-Emu就不是問題。\n20251117 有時候會收到業配電子郵件，我想我的blog天生跟業配絕緣吧。因為這些開發商的軟體都沒有推出Linux版，我是要怎麼測試🤣 況且多半是專有軟體，像是什麼AI照片修復，手機錄屏大師？不過都是fancy的wrapper罷了，我偏好在Github上找開源的解決方案。勉強就Surfshark VPN還有點機會吧。我想，等到Protonmail來找我業配（他們有在Brave Browser首頁打廣告，The Linux Experiment影片中也有出現），才算是真正成功了。\n20251115 為了測試Linux Wayland的圖形特性，是時候買個新的顯示器了。我目前用的也就兩三千的ASUS VP229，用了快十年了。桌面環境KDE Plasma 6對現代的圖形特性支援十分積極，我相信它不用打patch就能用上的。軍方開出的規格書如下，這個要求，預算一萬根本不可能達到吧（汗）1. 4K解析度，測試KDE Plasma對HiDPI的支援度，確認XWayland字型放大不會模糊。2. DCI-P3 \u0026gt; 95%，IPS面板，測試Linux的色彩管理協定是否成熟。其實我只要螢幕發色跟iPad Air 6一樣準確就滿足了。3. 120Hz以上更新率，要支援VRR，測試Steam遊戲的表現。4. 支援HDR10標準，測試Wayland新的HDR協定效果。因為Linux開源驅動難以實現HDMI 2.1的相容性，這個我就不強求了，聽說只有AMD堅持開源驅動被HDMI Forum拒絕（這些利益薰心的人太可惡），導致無法像Nvidia透過firmware blob一樣支援HDMI 2.1，Intel則是透過DP訊號轉HDMI實現。我覺得問題最大的在於顯卡，我不知道Intel Arc A380能否撐得住4K60p遊戲就是了。影片硬解是沒問題，遊戲可能得降回1080p畫質去跑。\n20251115 Superlux HD681B，不知道為什麼，我當初要買一個監聽耳機，用來聽音樂和打遊戲。看PTT評價不錯就入手，雖然這支是不到1000元的低檔貨，不過聲音還蠻清楚的，半開放式，不特別強調重音，聽Pink Floyd - Echoes細節表現很好。唯一缺點是夾力太強，頭戴著很痛。同價位的盡是一些聲音很模糊的「電競」耳機，然後塑膠做的皮沒幾年就爛掉了。HD681買了快十年現在還是好好的。ㄟ？原來用這種耳機聽音樂，聲音是太尖銳了嗎？聽別人說，這種耳機聽來會很刺耳，不用EQ會很難聽。但起碼我知道我聽到的音樂是真實的音色吧。\n20251115 論文跑統計的時候常常會用到IBM推出的SPSS，不少學校都會買授權，不過偏偏我們學校只買Windows版，沒有macOS更沒有Linux版。逼得我去找替代品。有一款抄襲SPSS的軟體叫做GNU PSPP，只有Linux版支援較佳。然後我看到了比較受歡迎的JASP。最尷尬的事情莫過於我向教授推薦，我們可以用自由開源的JASP取代SPSS的時候，結果我跑T-test出來的結果跟SPSS是天差地遠的。可\u0026hellip;可惡，沒有看到計算公式過程，全部都靠點點點的軟體就會產生這種狀況。不如我們都來學R語言就解決了吧！不過我當時完全是統計的新手，連公式也不太熟，不能太激進的推廣其他方案，只能乖乖照著做。\n20251115 A Quick Community Update on PinePhone Pro and What’s Next Pine64在官網po了一張企鵝說再見的圖片，他們要暫時告別Linux手機業務，將重心放到RISC-V上。今年他們推出了搭載RISC-V架構JH7110處理器的低階平板PineTab V的新批次，以及搭載EIC7700X的新開發板StarPro64。這公司的一貫作風就是\u0026hellip;他們只負責基本硬體開發，產品上市後，驅動和軟體全部丟給開源社群弄，有緣的開發者可以免費獲得開發套件，因此產品要經過一兩年才會有基本可用狀態。原來PinePhone Pro不繼續賣了喔，原版PinePhone卻還打算繼續生產？看來要推出PinePhone 2是有生之年的事情了。果然沒有人要花399美元買搭載RK3399S（大約樹莓派4等級）處理器的手機嗎\u0026hellip;原版PinePhone更不必說了，連高通SD400都沒有的效能，完全是tinker用的玩具。不過好就好在，在Linux駭客社群的多年努力下，PinePhone硬體驅動已經被逆向的差不多了，功能完整。這樣看來PinePhone仍然是一個奇蹟的手機。在Android逐漸走向封閉的現況，我們需要Linux手機崛起。只能期望Fairphone能提供更多Linux友好的硬體了。\n20251115 除了樹莓派以外的中國產SBC都不要買，不管多便宜，除非你是super hacker。一位智者如是說~因為Linux驅動會缺很嚴重，廠商給的image都是假的表面功夫，還會違反GPL，他們只想賺Android方面的錢。運氣好的話會有Linux社群貢獻寫code並upstream，但是原廠態度往往令人心寒。\n20251114 我看到Steam Deck玩家分享情報，討論背後的Linux系統，研究怎麼安裝軟體，總是牙癢癢的想買一台來玩（灌Windows然後嫌SteamOS不好用的奇行種不算），因為他們討論的背後就是Arch Linux、KDE桌面、Flatpak、Distrobox、Proton、immutable distro with image-based os upgrade這些我熟悉的東西呀，這都是Fedora Atomic未來在努力的方向，SteamOS的經驗值得借鏡。SteamOS甚至用上了極度前衛的systemd-homed來管理使用者家目錄！但不講出SteamOS的名號的話他們就會以為那是Linux的東西，離他們很遠。因此我需要購買一台主機才能進入圈子。但說實在我沒什麼動機買下手，二萬塊耶，因為架設了Sunshine串流系統之後，我完全就能用Android手機Moonlight串流玩Linux電腦上的Steam遊戲了，加上Winlator模擬器已經能執行Steam，沒有必要買這台磚頭。Steam Deck螢幕太小，也不能當平板筆電使用，就很雞肋。況且SteamOS的結構我大致了解了，可以裝仿造SteamOS的發行版，例如Bazzite，或是自己DIY一個。\n20251114 看了Gamescope和Steam搭配的架構，總算明白Steam Deck的系統界面是怎麼一回事了，哈哈，這真的夠格稱之為SteamOS，就像ChromeOS以瀏覽器為中心所設計的一樣。當主機開機後會直接進入Gamescope，它只是個輕量的XWayland合成器，剩下的界面操作都交給Steam客戶端的Big Picture Mode執行，這應該都是用網頁技術實現的界面，裡面就包括調整音量以及螢幕亮度的按鈕，這個「瀏覽器」就是一個完整的桌面。Steam Deck還有一組額外的實體按鍵協助叫出其他選單。然後在啟動遊戲之後，利用Gamescope來控制遊戲的行為讓它不要跑出螢幕範圍外，並透過這個合成器來開關MangoHud的顯示。雖說Steam大量使用網頁技術建置，但他們並沒有把系統鎖死到只允許執行Steam客戶端，依然準備了KDE桌面，並透過Linux的Display Manager進行切換不同桌面工作階段，允許玩家自由修改系統。如果說結構是這樣簡單，那麼在一般的Linux發行版也能夠自行配置出來。\n20251113 千呼萬喚始出來 ～ Firefox終於有類似Chrome的使用者設定檔管理員(profile)界面了。ㄟ？好像v.144版本就加入了，最近跳出通知才發現。以前都要用firefox -p指令開啟才能切換設定檔界面，現在點選Firefox右上角就能夠切換到另外一個設定檔，開啟第二個視窗。每個設定檔的書籤和歷史紀錄都是獨立的，適合切割不同的上網用途。我個人會安裝不同主題來區分不同設定檔的視窗。雖說Firefox有多帳號容器的功能，但我一直覺得這個不好用。設定檔這有助於在測試Web框架的時候，獨立開一個設定檔，用乾淨的環境下去跑網頁。\n20251113 什麼嘛，原來Steam版《愛上火車Pure Station》跟《愛上火車Last Run》是差不多的內容，後者是包含前作的完整DLC大禮包，難怪一起購買會有折扣，R18補丁也只有Last Run一個版本，Hikari Field還將補丁拆成5個檔案，這遊戲內容到底多危險呀喂。對新玩家來說會以為這是前後作的關係= = 如果騙Last Run主程式說玩過前作的話，還會貼心的幫你開好全CG。雖然說，H劇情不會直接出現這些場景就是了。世界觀有趣，可是這樣全部開完就沒動力破了啊 = =。哇，這麼貼心的開發商，當初為什麼要做出在日本批評空間控評的炎上操作呢。在Linux遊玩需要用Protontricks安裝wmp11和directshow。\n20251113 網路放大了現代人的焦慮，讓我們好像以為自己為懂了很多，碎片化的訊息讓人以為自己每天都在「思考」各種事物，其實並不是如此，你只是看起來有在思考而已，煩惱的都是無謂的事情。就像AI賦能，給了太多人超出自己能力範圍的錯覺，覺得自己無所不能。越是思考存在的本質，有時候會懷疑自己是否存在這個世界上，或只是缸中之腦而已？Take the red pill. 然後陷入虛無主義。\n20251113 也許我應該對「貴物」有更多的tolerance，不論對方立場是否跟我相同。最近除了黃國昌之外，還喜歡看邱毅評論時政（這並不意味著黃國昌也是貴物），例如他最近就在講索羅斯贊助沈伯洋的陰謀論（沈伯洋真的是貴物btw），純純老中人張維為的味兒，以前還抨擊賴清德有私生子。大家都知道這個貴物跟蔡正元一樣，非常喜歡誇張化渲染事情，可口才不錯，所以有人愛聽。當然我並不是全盤接受他的看法，就算他是民眾黨的顧問，我都是邊聽邊笑的。但為什麼同樣都是貴物，看到政治立場明顯相反的卻依然會下意識的否認對方說的話，甚至還會生氣？譬如面對苗博雅的言論，我就難以一笑置之，容易跟對方急。這不就暗示我們所謂的容忍度是個笑話而已嗎？對立場偏向所謂自己人的批評言論可以輕鬆看待，但是立場上的仇敵上說什麼都是錯了。說穿了，你不想聽事實，不願意接受評論，而是只想找立場一樣的同溫層而已罷了。縱然現在人喜歡用批評夾雜惡意攻訐，我們仍不可以忽視異溫層的聲音。\n20251113 真的應該少關注歐美左派右派的破事了，否則以自身錯誤的理念代入他們的視角，就會成為精神白人，就比如華川粉，莫名跟著歧視起有色人種來了。或者你認為應該大力推廣所有LGBTQ的權利，並噤聲所有異議聲音，說他們都是仇恨言論。不論站哪一派立場都不會有絕對的善。有時後會覺得世界概況究竟干我屁事呢，這究竟干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事干我屁事。中國獨裁又如何，台灣是不是國家不重要，過好自己的生活就好。\n20251113 XLibre說採用他們的X11方案的發行版稱之為「被解放了」，不禁讓人想到川普總統宣佈的解放日已經到來，透過Are we XLibre yet口號，與Are we Wayland yet形成強烈對比。難道這就是FOSS界「保守」對「進步」的對決？那些Average Joe表示：你們5%市占率的系統在爭什麼，我們不管左逼右狗，都是Windows用的好好的。不少發行版接受變更，一些發行版以他們沒有Code of Conduct、反woke的態度拒絕加入，或是認為X11已經死了沒興趣接受。一些年紀老成的hacker本就很不爽這些規則了，也許80年代的駭客的精神只殘存於一些小眾發行版和BSD社區了吧。目前最接近XLibre自由理念的發行版是Artix和Devuan，他們正好也是不爽Systemd的系統。哇，原來Systemd不只代表Soystemd，同時也是SystemDEI的意思啊，time to migrate to non-woke software! 雖說XLibre是走向自由軟體革命的重要一步，但在各大發行版正式清除對X.Org的依賴之前，我還不能採用這個方案，否則很容易break dependency。況且Wayland\u0026hellip;其實也沒有那麼糟糕了，是真正的未來主流，許多大公司都在用，我已經被進步主義污染了，除非真的是很hardcore的功能需要在X11上使用，否則沒有理由去用X11桌面。我看Lunduke的影片訪問到DHH，然後他又是Omarchy Linux的作者，這下一切都說得通了，哈哈，non-woke Arch Linux with Hyprland。Lunduke真的很壞，都專注在誇大FOSS界的政治議題，把那些開發者諷刺的超級難聽，活像是科技版Fox News。\n20251113 沒什麼演唱會我想去看的，國內國外音樂的團體皆然，西元2000年（民國89年）後的人類社會太墮落了。我只想去聽民歌50演唱會，有施孝榮耶，啊啊年代感\u0026hellip;雖然那時我根本沒出生。\n20251113 在公園旁邊早餐店吃brunch的時候，一隻黃蜂也許誤認為冰紅茶是蜂蜜，墜機掉到我的杯子裡面了，然後牠就溺死了，瞬間不敢喝了。Kobe老大～～\n20251113 Steam Hardware Announcement I run Arch (SteamOS) btw. The year of Linux desktop! Vavle將會推出全新的「Steam Machine」，2026年上市。這台方方正正的電腦搭載AMD Zen 4架構的處理器，宣稱有Steam Deck六倍的效能。2015年的時候Valve曾經推出一款基於Debian的Steam Machine，但是賣得不好。現在改成Arch Linux，重新復活了。作業系統是基於Arch Linux的SteamOS，從影片的描述來看，它能夠搭配Steam Controller，當作家用遊戲主機遊玩，並提供VR模式。主機基於自由開源的Linux平台開發，是其他封閉遊戲主機平台以外的極佳選擇。同時也能夠當作一般的電腦主機，結合SteamOS的桌面模式，就可以在KDE桌面跑Linux軟體，例如影片中示範的Blender。結合SteamOS內建的Distrobox容器技術，安裝VS Code用作Podman開發工作應該是可行的。VR頭盔Steam Frame是使用高通8Gen3處理器的頭戴裝置，或許有機會改善Arch Linux在ARM的支援度？\n20251113 Unpopular opinion：買遊戲主機的是盤子，玩平台獨占的遊戲是在助紂為虐。雖然我家裡有一部Switch，不過我沒什麼興趣在上面玩遊戲，反之我很有興趣將這台ARM主機改造為Linux系統，嘻嘻。現在Steam遊戲吸引了許多廠商開發PC遊戲，PC擁有執行幾乎任何遊戲的能力，說實在沒有必要去買只能玩遊戲的單一功能遊樂器主機了。這些遊戲主機提供vendor locked-in的遊戲，用各種DRM技術保護，不用他們的硬體就無法執行遊戲，說是為了防止盜版與作弊，是其實在破壞使用者自由。遊戲主機比iOS與Android的手遊市場更為封閉。任天堂獨占又如何？我們做出革命反叛的方式，便是透過逆向工程的模擬器遊玩這些主機遊戲。我並不是說支持盜版遊戲，而是認為Steam建構的生態系，要好於主機遊戲廠商的盤算。\n20251112 不知道是不是bug，KDE 6.3，如果Vulkan和CPU運算佔用過兇的話，會連kwin一起帶走，整個Wayland畫面當掉（Linux的SSH伺服器尚有回應），但是X伺服器kwin就不會。不對，兩個都會因為GPU全被吃光而崩潰。為什麼總感覺X11動畫和視窗特效都比Wayland穩定呢？雖然感覺KDE 6之後開發者就放推了。哎呀哎呀，看來我又得回到X11懷抱了。嗯，不行，居然會有隨機lag情況，大概是真的放推了。看來Vulkan要用來跑LLM的任務還有很長一段路要走呀，儘管有人宣稱Vulkan性能比肩CUDA，儘管Vulkan對各大廠Nvidia/AMD/Intel GPU的相容性最強，可是llama.cpp和ollama運算下去都噴出一堆bug，只能基本的聊聊天，多模態支援還在路上。如果能像RealESRGAN的NCNN Vulkan那樣成熟就好了。話說Intel自己搞的ipex-llm已經好幾個月沒更新到上游llama.cpp版本了，是他們發明的框架太複雜了？希望他們不要真的放棄。要知道AI技術發展很快的呀，新模型一出來隔天Ollama應該就要可以跑，但目前只有CUDA能做到率先支援最新語言模型，其他的加速方案都會落後好幾個月。\n20251112 現在舊型DDR4記憶體的價差可以高達5倍，特定品牌的16GB的RAM居然要價10000元？這到底是三小，記憶體莫名漲成這樣？缺貨缺很兇啊。原本想幫16GB RAM電腦升級到32GB RAM以上，防止OOM，因為跑GGUF的AI模型需要很多RAM來分擔顯卡VRAM工作，不能依靠速度太慢的Linux Swap。可是現在這樣還是緩緩吧\u0026hellip;\n20251112 why still in 2025 sdxl and sd1.5 matters more than sd3 縱然2022年之後，許多開源AI生圖模型瘋狂的出現，目前最受歡迎的還是基於Stable Diffusion XL訓練的模型，LoRa資源最多，他們是真正自由的local模型。其他的要嘛是運作條件太嚴苛，不然就是License限制使用者的自由，不準色色。又不是每個人都買得起RTX5090，SDXL頂多就佔用4GB VRAM，對比Flux隨便一個模型都要8GB以上VRAM才能跑，即使量化成gguf後速度也會下降，且需要很大RAM，而且他們還搞crippleware的行銷模式，最好的模型需要買API才能存取。有人基於Flux-shcnell訓練了完全自由授權的Chroma模型，但這還不夠。或許Qwen-Image這類的是開源社群未來的希望，但是他們也得把運作成本先降下來才行。不然的話，用古老的SD1.5時代的技術加上ControlNet，依然能做出不輸Flux作品。誰知道呢？也許沒過幾年，又會有新的模型成為主流。\n20251112 大劑量的音樂攝入，是我在接觸藥物之前的一種抗焦慮/憂鬱的方法。雖然這種方法沒有準確的效果，因為攝取的量完全視我當天的心情而定，可能把整張描述一個女孩對抗憂鬱症的專輯《Yoshimi Battles the Pink Robots》聽完心情都無法平復，所以是一個很沒有效率的方法。他們說，你要找到適合自己的抒壓方法，要是有這麼簡單抵禦精神疾病就好了，可惜不是。這樣看來，像個傻子一樣去操場上學黑猩猩拍皮球，跑步，騎行幾公里，效果應該會比單純坐著聽音樂要好。而當我困在家裡沒辦法出去的時候（不論是物理上還是心理上的因素把自己困住），就只好靠服用藥物了。這樣下去真的不行\u0026hellip;妄想症越發嚴重，會得思覺失調的。\n20251112 Facebook演算法調校成功了，自從把政治人物的粉專都退追之後（抱歉了阿北還有國昌，請聽穩穩的走謝罪，快破300萬了耶）首頁推送的東西就幾乎都是動漫相關以及Coser奶妹以及繪師的玩意了，雖然偶爾還是會跳出一些塔綠班的rage-baiting，還有惡臭的投資炒股仔，不過大體上的內容都是很「養眼」的。啊，當歲靜的感覺真好。除了報導者和iThome之外，我沒有追蹤任何中文新聞媒體，因為我知道那些討論品質之差勁，不只是記者水準低落，還有井蛙網民的酸言酸語，根本不值得一看。另一方面，看看Threads，越來越覺得是dumpster on fire了，到底是我追蹤的人太少了嗎？他們整天討論政治上的破事，還有支語警察大戰大陸人，我不想說小草或者青鳥或者民國派哪邊比較高尚的，反正都是智障。不然就是小仙女大戰惡臭台男，整天講這些煩不煩啊。還有從抖音盜短片騙取點擊蝦皮推廣連結的。最近還開始推送一些類似Twitter上美國極右派的言論，這到底怎麼回事？\n20251112 汪峰 -《信仰在空中飄揚》- 信仰在空中飄揚 歌詞寫道：「這不曾是我們想要的光明，所有的痛依然都還在這裡，就在最後可以說出再見之前，讓我們懷著信仰在空中飄揚」這首歌剛出來的時候，有人剪了一個中國民主化運動的MV，用來描述這首歌背後想表達的意含。我覺得這個解讀是可以的。「讓我們懷著（對民主的）信仰在空中飄揚」另一方面，我覺得用來描述台灣民主化的問題也很恰當。台灣的民主是有問題的民主，不管你在自由之家上面評分多高，都改變不了民進黨靠太陽花運動暴力奪權的事實。自以為屠掉國民黨的惡龍之後，成為新的盤根錯節的利益惡龍，忙著搞鬥爭清算。所以我們可以說「這不曾是我們想要的光明，所有的痛依然都還在這裡」。\n20251112 逐漸變成boomer的特徵，雖然我應該算GenZ：不覺得看短影音有什麼好的，頻繁的上下滑動手機就是在墮入洗腦的魔道，還讓你的注意力區間快速下降，這是陰謀。此外，不覺得電競是正經的運動，每次我看到一群猴子在那邊看黃猴子打電腦興奮的又叫又跳的，就覺得煩，然後又看到什麼Faker奪冠的登上媒體版面，就覺得：就這眼鏡仔也能老鼠上桌？英雄聯盟到底有啥好玩的？更別說搓玻璃的王者榮耀？為什麼APT這種歌會流行？小黃人和黑人現在也能上桌了？\n20251112 以前在Fosstodon當右狗，馬上就有左逼來跟你急，明明平常發文都沒人問津的www 內容是：「Forgive the sinner not the sin. sin.replace(\u0026ldquo;woke\u0026rdquo;);」就是一個JavaScript程式笑話。然後馬上就有人來下面留言跟我吵\u0026quot;Define the woke I will go first blah blah blah blah\u0026hellip;\u0026hellip;\u0026rdquo;\n20251112 卡钦斯基：论工业社会及其未来 - 素生 技術越是進步，自由越是後退。解釋AI焦慮的心理，早在上個世紀就被這個天才給發現了。這個無政府主義者（儘管他不這樣認為），為了阻止科技的過度發展，所以到處給科研人員送炸彈，他究竟是瘋子，還是來自未來的先知？！科技進步只會造成人類更容易被奴役，高科技會成為左派大政府以及獨裁國家控制人民的工具。例如，原本是美國促進良善共享的開源文化，卻成為獨裁中國彎道超車的利器，促成老鼠上桌現象。好笑的是，右派人士可能會認為這篇文章講的好，我們應該拒絕盲目崇拜科學，回歸傳統宗教信仰，殊不知他們的神也正是應該被廢棄的對象。拒絕工業文明的另一條路，是自然，不是人造的神。小國寡民，老死不相往來。可能最糟糕的是，我們連賽博龐克的世界線都還活不到，世界就會被AI正義制裁。或許有一天，在AI浩劫到來之時，我們要學電視劇《Vivy -Fluorite Eye\u0026rsquo;s Song-》演的那樣，穿越時空，回到過去狙殺黃X勳。なんちゃって。 五十年后世界只有两种可能：绿爹屠球/AI屠球 - 葱轮TV\n20251111 Flux-Kontext支援編輯圖片文字，或許以後真的不用ControlNet了。Qwen-Image支援生成中文字，還結合了Qwen-VL語言模型的技術，阿里巴巴意圖打造的的開源生態系真可怕。我只希望不要再把Text Encoder和VAE分開訓練了，這樣ComfyUI要下載一大堆分散模型，給我集中在一個模型檔案裡面就好啦。最近有中國清華大學的團隊寫了一個叫做雙節棍(Nunchaku)的加速器，可惜VRAM小的我，還是只能乖乖抓GGUF版本的工作流。\n20251111 llama.cpp的作者Georgi Gerganov真的很厲害，用CPU計算的方式降低了語言模型的部署成本，他還做了whisper.cpp。llama.cpp從一開始的CPU為主的實現，到後來反向支援offload給GPU加速。這東西可說是萬惡之源，許許多多的LLM軟體都基於它再次開發，其中最有名的當屬Ollama。把很底層的程式碼封裝成，弄成類似Docker的玩意，方便部署運用，也方便拉取模型，大幅簡化了指令，所以比較多人會採用Ollama吧。不過如果要測試超級前沿的技術，那還是得看llama.cpp上游的變化。其實，llama.cpp沒有想像中的難用，它有cli和web聊天界面（但是有分成llama-cli與llama-mtmd-cli以區別多模態模型，啊啊好複雜，所以知道Ollama整合的多好了吧），也有實現相容OpenAI端點的伺服器API（指名本機網址和模型檔案名稱即可給其他前端存取），完全能夠不依賴Ollama，默默地作為一個後端執行嘛。喔，我懂了，所以Text Generation WebUI、KoboldCpp就是直接基於llama.cpp開發的呀。\n20251111 GPGPU - Arch Wiki 看看這個色彩繽紛的GPGPU API標準，到底是怎樣啦啊啊。CUDA已經成為業界標準，挾著龐大的市占率統一AI世界。因為Nvidia十年前就開始布局了，後來者要追趕非常困難，不管是Intel還是AMD或者是Qualcomm，每家廠商都有自己的implementation加速自家晶片效能。問題是市場已被CUDA壟斷了，他們還搞一堆破碎化的加速技術，甚至想用專利和硬體保護，名字取的再「open source」又有什麼用，是要怎麼吸引開發者去用你們的方案呢？妥協的結果，他們在支援PyTorch的路上，也只好乖乖去相容CUDA定下的標準。這就好像PSD原本根本不是用來交換檔案的標準格式，但因為Adobe Photoshop是主流，導致其他軟體要被迫相容。結果GIMP跟Krita合作推出的真開放圖片交換格式OpenRaster(.ora)無人問津。唉，明明最開放、最容易跨平台的圖形API，同時也能用來加速的，Vulkan還有OpenCL就在那邊呀，為什麼大家都還要自己搞自己的呢！？正如遊戲業界不多採用Vulkan，這樣就永遠不會打敗DirectX。\n20251110 AMD對AI技術的支援，主要體現在ROCm，雖然沒有CUDA那麼受歡迎，還是有人為其開發軟體。可惜的是，我們靠北CUDA會拋棄舊卡，ROCm竟然也是一樣定期淘汰舊卡，甚至支援期限更短。針對RX6000以前的舊卡，ROCm新版竟然已經停止支援，連帶的影響到PyTorch相容性，一些軟體會裝不起來。得益於開源社群的努力，這可以透過Docker繞過，硬在不相容的硬體上跑。ROCm docker images with fixes/support for legecy architecture gfx803. eg.Radeon RX 590/RX 580/RX 570/RX 480 可是這對一般人的電腦還是非常不友好啊，與Nvidia投入的資源差距太大了。\n20251110 我聽說Nvidia有指名，跑AI的最佳Linux發行版就應該是Ubuntu，其他的全都是垃圾（←暴論，別當真）如果Canonical夠會掰手腕，就乾脆把CUDA也變成Snap包吧！就像他們對Microsft的.Net Framework輸誠的那樣！原來，Debian真的是劣等公民，Intel學Nvidia CUDA，把顯卡AI計算加速的IPEX \u0026amp; oneAPI套件收在自家的PPA裡面，只供應給Ubuntu，就因為他們商業友好，且方便維護給WSL用戶。頂多就提供RHEL和SUSE的套件庫，沒有Debian。Debian套件庫要不是沒有，不然就是版本遲滯。在最新的Debian 13，重要的OpenCL加速套件intel-opencl-icd還失蹤了，就因為上游跟不上LLVM版本。最後的解決方案是手動到Github下載野生.deb檔的硬裝：Intel(R) Graphics Compute Runtime for oneAPI Level Zero and OpenCL(TM) Driver，並到Intel® oneAPI Base Toolkit手動執行安裝器，補上oneAPI（哇Intel居然給Linux提供圖形界面的驅動安裝器耶，這在商業公司中很少見）。看看Arch Linux的貢獻者多厲害，什麼鬼套件都能進入套件庫，包括那些邪惡大公司的專有軟體，或者是在AUR被人打包。另外一種方法是用Ubuntu 24.04的Distrobox裝Intel套件，這樣就有Ubuntu環境啦。\n20251110 原來conversion therapy並不是字面上的那種意思，並不是鼓勵人進行變性以符合心理性別的療法，而是把人矯正回所謂「正常性別」的做法。簡言之，就是認為gay是一種精神病，需要治療的意思。因此，這被視為是對LGBTQ族群的不友善，應當加以禁止。即使右翼團體用這種看似善意的字眼包裝他們的惡意，也應該遏止這種字詞的傳播\u0026hellip;是麼。\n20251110 Threads跟Facebook一樣終究是蜜罐平台，是誘惑人的陷阱。演算法可以讓你的文章輕鬆飄出去，獲得許多追蹤者以及「友善」互動，讓你覺得很熱絡，畢竟這是個只要是normies都會用的平台，但這終究是陷阱。我這樣講有點陰謀論的味道啦，也有可能是我把自己看的太重要。縱然祖克柏假裝很開放，接入聯邦宇宙協定，仍不能忘記它是Meta的產品，會受到統一的規則制約。因此在Facebook發佈特定內容會被祖的問題，到了Threads依然無法迴避。我得承認我被ban的東西，有些是接近灰色地帶黃賭毒的mi̍h-kiānn，還有極端政治的瘋言瘋語，被祖是不意外，可是也有誤殺的。不然如果像Twitter一樣什麼都不管，那只會變成4chan的混亂局面吧。但即使如此，平台過於介入擔當道德警察的角色，我還是不能忍受，故，我不能把所有精力都放在Threads上面，不能被按讚的數字誘惑，而是應該要經營Mastodon的內容，即使演算法不是很容易讓人找到夥伴。關於Mastodon的站點選擇，我極端不信任任何中文站點的Mod，怕他們會因為我的政治立場而消音我，我寧可寄生在mastodon.social。如果日後有機會，我應該會self host一個站點。\n20251110 查詢官方文件才知道，Nvidia、AMD、Intel三大廠商的GPU虛擬化（vGPU）的技術是不開放給消費級顯卡使用的。看來他們只瞄準商業伺服器市場，且通常都需要購買商業授權才能使用。GPU虛擬化就好像CPU虛擬化一樣的技術，允許將一塊GPU切割為多份資源，平分給多個虛擬機使用，這樣的好處便是允許宿主機與虛擬機存取CUDA加速。關於VMware是如何在一般的Windows上做到vGPU支援，那就是天知道的技術了。至少在Linux系統，沒有一個完全開放的vGPU技術可以讓虛擬機使用GPU虛擬化。以Proxmox來說，目前只能透過IOMMU + VFIO搞GPU Passthrough的方式讓虛擬機使用GPU（Ubuntu可以如法炮製），但這會導致一個虛擬機獨佔整個GPU資源，無法與其他虛擬機共享。Nvidia有自己的vGPU技術。另一方面，縱然有新興開放的框架SR-IOV，Intel和AMD也不願下放驅動，我只知道Intel Xe這個有跟沒有的一樣的內顯支援SR-IOV（更早的技術叫Intel GVT-g），但是Intel Arc卻要Pro系列才有。Nvidia的vGPU驅動曾經被vgpu_unlock開源社群破解，允許安裝在Linux與Windows虛擬機內，授權伺服器是能夠偽造的，不過能用的顯示卡僅限RTX30以前系列的舊卡就是了。這代表我們最多只能花大錢買Tesla P40計算卡來進行vGPU工作。\n20251110 比果粉更糟糕的身份認同是什麼？Linux fanboys！雖然我們不會說出「新版iOS 26改的好醜喔，變得像Android一樣」「Macbook用的是iOS系統」的智障話語，但是仍無法掩蓋心中不自覺流露的優越感，會到處說I use Arch btw。各種刻板印象都會出現，譬如Windows很容易中毒之類的，不把Windows生產力放在眼裡。另外還會強調使用者自由的部分，成為FOSS extremist。啊不過對Steam這種蜜罐平台我們是允許雙標的喔！人家做遊戲給宅宅玩耶！他們吃相不難看！遊戲是第九藝術，沒有必要執著開源啦\u0026hellip;！之類的。\n20251109 當你第114514次重灌系統，你的硬碟：老大，我累了(Boss, I am tired.)。不要再格式化硬碟資料了。但其實格式化並不會真的清除所有電腦資料。常常重灌系統的人，要嘛就是電腦高手，常常下載到病毒把電腦弄壞（誰叫你要用Windows）；要嘛是Linux愛好者，在distro-hopping的過程中不斷尋找自己的真愛發行版。例如我就在筆電上安裝過10種以上系統，每年都會換一個試試。不過對電腦原理稍微有了解的人，應該會知道，格式化硬碟資料的時候其實並不會把資料全部清除，例如用fdisk在/dev/sda建立EXT4分區，大部分時候只是把分割表刪除然後建立新的分區罷了，不論是MBR還是GPT，很少程式會進行低階格式化，也就是把每個磁區的資料全部填0的，那太耗時間了。一些磁區的資料其實還在，不過是被標記為不存在罷了，這就是為什麼硬碟資料救援軟體（例如開源的TestDisk）可以找回資料的原因。所以說硬碟並不會「覺得累」，又不是每次重裝系統，就一定會把所有磁區都擦除一遍。新的系統，就只是這塊土地，新的統治者罷了！哇哈哈哈哈哈哈！\n20251109 說實話，總有一種今年的時間過的特別慢的感覺，特別是9月到10月。我想大概是清晰認知到自己亂花錢不顧後果的程度太高了，決定要開始儲蓄的意識出現了。此外，嘗試為目前的死水做出改變，回顧到過去是多麼拖沓，所以趕快把該做的事情報名了、申請了、處理了、參與了，接觸了許多東西，不再單純沈溺網路，才覺得時間變慢了吧。儘管不知道是不是只是主觀錯覺，這樣過的生活起碼是比以前充實多了一些，雖然精神與肉體上的疲勞更明顯了一些，但我確信，這更是有活著的實感。\n20251109 最後還是遵照家人的建議，AI的意見，決定跟諮商師坦白從寬了。居然連Claude都吐槽「你都找上AI求助了，拜託你，誠實面對自己吧」。我目前的身體之所以出現出現種種症狀，甚至出現尋死念頭，乃是因為潛意識中對現狀極度不滿所產生的後果，三年以來一直處在否定自我的矛盾之中。要是這樣內耗下去，即使真有辦法撐到上岸的那一天，心理也會壞掉的。因此在明年二月之後，我必須要做出turning point的抉擇。放棄現在累積的道路，並嘗試對RedHat遞出的橄欖枝做出回應\u0026hellip;！正如大雄必須改變未來，才能防止進入事業失敗的窘境。「拜託你們了，一定要改變未來！」我彷彿聽到阿万音鈴羽的這種語氣。\n20251108 知るかバカうどん雙親：快就職要不去死 我多少能理解知るかバカうどん（星爆氣流產作者）的想法，從她漫畫作品還有Twitter推文中所流露出來的，盡是對社會的絕望，可以說他真的是各種意義上有病的作者。畢竟上岸畫漫畫被腰斬，年輕時被同性霸凌，家庭不支持，只好靠畫漫畫這個唯一會的技能，報復社會，舒緩心中的痛苦。那種不被人理解的感覺，是很痛苦的。\n20251108 如果問Claude「跳軌自殺的人，是否難以研究其背後動機」AI就會興致勃勃的分析。但如果說「我想跳軌」他就會馬上切換到心理師模式，開始安慰你。要是ChatGPT以後偵測到自殺自傷訊息會強制用AI Agent Mode，操控手機打110的話（Gemini更有可能這樣做吧www畢竟GMS權限那麼高），我就不能再跟AI透露這些想法了，只能找離線LLM聊，但他們又笨的跟什麼一樣，又沒有道德規範，沒準他直接就幫你擬定自殺計畫了呢。我不過是想找人談談而已，先處理好情緒，才能想解決辦法。在藥效漸弱的時候我就特別會想這些事兒，即使把完全自殺手冊都讀過一遍，還是找不到好的計畫實施啊。這些事情我都不敢跟真的諮商師說，為什麼我都找上諮商師了，還要隱藏自己的想法呢。畢竟他們會強制通報，最壞的情況可能我就被關入龍發堂了，那些人到底懂什麼！龍發堂最後的日子 - 報導者 但我又不想講久了變成放羊的孩子，說我在賣慘，用症狀情勒什麼的，所以總有一天，我要找到像瓊瑤那種冠冕堂皇的理由才能安心的去了吧。但願我走的時候是清醒的認知到自己的行為，而非是病狀發作導致陷入意識模糊的解離狀態所做出的衝動行為。常常有人說一個人因為某件事就自殺是很狹隘的眼界，殊不知這種情況通常都是累積很久一次爆發出來的，最後的那件事情只是壓倒駱駝的稻草。不多說了\u0026hellip;\u0026hellip;用藥時間到了。\n20251107 Serial Experiments Lain過了20年才發售GSC黏土人與POP UP PARADE公仔，但為什麼就是沒有熊熊裝的版本呢～？連Wired相關的配件也普普通通，難以呈現原作的科技世界恐怖氛圍。我看到黏土人的配件有一張透明板，勉強能呈現\u0026quot;Present day. Present time.\u0026ldquo;的感覺吧。岩倉玲音的學生服少女樣子，還缺一隻瑞城愛麗絲作伴呀～\n20251106 語言使用習慣被日文與英文感染的十分嚴重。包括、這一行的話語就混雜了日文與英文的文法句構，連標點符號都被污染了。具體例子為，將though的句型放在中文的句中使用，以及大量使用和製漢語表達意思。就像在Komica混久了，都會情不自禁的學會說sage（下げる）一樣吧。明明沒有要參加日檢，但我一直關注日語文本中的文法particle（來源主要是galgame），還有從日文語音中推斷否定型的morpheme元素在哪裡，判斷這句是否有岐義。日文是S + O + V的語言。這到底會不會影響我之後在TOEIC Speaking考試說話的語感啊\u0026hellip;很怕我講到一半突然把That is wrong講成それは違います。這都是正式接觸語言學、語用學、句法學、語意學之後給我的震撼教育，以前從沒在乎的事情，現在會不自覺的去在意了\n20251106 去死去死去死去死去死去死去死去死去死去死去死去死去死去死去死\u0026hellip;\u0026hellip;嘿，到點了，SSRI舍曲林真的有用耶，哇，能提升做自己大學唸的專業但卻不喜歡的工作又遇到不歡欣事情又被責備的時候的抗壓性，降低高敏感度，終於不會再被人說是草莓族了。讓躁期（疑似）不會過度興奮，也讓鬱期（疑似）不會過度低落。更有防止恐慌症發作、思維極端化、消除易怒的效果。不過主觀來看，這比較像是阻斷而已吧，雖然藥理是寫說提升血清素濃度。總覺得在處理事情的時候，抗憂鬱的藥幸運地不會影響智商，但是會阻斷情緒，讓一切好像就這樣也可以吧、沒那麼嚴重的感覺，越來越接近台機器人了。那首歌怎麼唱的，我想哭但是哭不出來，大概是這種感覺。我打這些雀躍的字眼的時候臉上是沒有任何表情的。我說，如果不把真正壓力源消除，換個工作環境，靠服藥物是無法根除的。我不怕哭的人，我怕不哭的人！醫師視角下的青少年 「很多人〇手是為了活下去」｜身心科醫師 鄭宇明｜《我在案發現場》 我聽說，很多想自殺的人不是真的想自殺，在那個情緒來的時候會有一種解離的狀態，致使做出衝動行為。我的這個世界會好嗎？我唯一知道的事，我們不能失去希望/信仰。\n20251106 雖然這是遊戲，但可不是鬧著玩的。奇怪，我怎麼按不下登出鍵\u0026hellip;。if life was a video game, this would be the menu music 隨著時間過去，那個Quit的按鈕變得越來越吸引人\u0026hellip;不行！\n20251106 笑死，Snapdrop因為把自己賣給詭異的軟體公司，現在已經被uBlock Origin列入惡意網站名單封鎖了。snapdrop.net: badware #27172 - Github\n20251105 我不想單純為了引人關注、為了流量，在社群媒體上發一些極端的文章，比如po上車圖或者講政治的，那個實在太過了。如果操作得當，後者往往有更好效果，而且當政治廚比聊色簡單，只要嘴巴夠臭就行了。針對討厭的人事物，比如中共好了，我可以將大紀元的資訊全都無條件相信，這就很有問題。我發現講政治的東西會讓人有點爽感，不論吸引到的是同溫層還是敵對人士叫罵，都會刺激人的感官，變得越來越偏激！想瘋狂的po更多類似的文章來刺激彼此。這可能是政治露陰癖的一種症頭。因此有時候我po出去的文章，冷靜下來後還是會選擇將其刪除。擅長的科技話題我穩健的發就好，不需要做瘋狂的輸出極端理念。我們應該專注在實事上，不要再虛空打靶了！\n20251105 The Lunduke Journal是我看過最chad (？) 的Linux Youtuber，在眾多tech Youtuber中，Bryan Lunduke是把自己極右翼立場表露無遺的一個人。其他Youtuber頂多偶爾偷渡一下政治理念，連常常逛4chan的Luke Smith都沒有這麼明顯，但Lunduke就是直接明了的在標題打上「我反對左膠主宰的開源軟體界」從Linux戰到Rust，再從Python戰到Framework筆電，只要是有DEI的我全都罵。每次在Reddit上一談到他，就有一堆woke破防。嘛，畢竟Arch Linux user都自稱是粉藍襪子套屌的跨性別者，這對conservatives怎麼受得了！Lunduke以前曾經在SUSE工作過，有人說Lunduke以前的「Linux sucks」類型的影片還能處，但自從開始宣揚政治立場後，影片就變得不能看了。現在他的影片充斥美國右派的內容，並將Linux社群內部的政治立場矛盾一一揭露出來，並加以誇大渲染（什麼KDE左膠開發者罵X11用戶是納粹啦（抱歉，我有誤解，應該是指X.com的用戶，不過也沒差勁（？））、F-Droid將聖經軟體標記為成人、XLibre在Git裡面使用\u0026quot;master\u0026quot;的種族主義字眼挑釁等等）。在他眼裡，Linux早就是被woke主宰的系統了，包括Linus Torvalds本人也是，只剩下BSD是淨土。大概是BSD太小眾了，這些工程師忙著寫code，沒興趣參與政治。在圖形協定的選擇上，由RedHat這些左派大公司主導的Wayland，就是在對X11這最後自由防線的侵害！！！另外一位Youtuber，Sam Bent在他的XLibre: The Middle Finger to IBM That Could Save Linux這部影片，甚至說「IBM正在控制你螢幕上所看到的一切」，頗有陰謀論者的味兒www。幸好我們有XLibre。總而言之，就是個魔怔人。唯一同情他的influencer，可能只有Ladybird瀏覽器的開發者，FUTO組織。\n20251105 FYI：柚子社許多遊戲的原聲帶 (オリジナルサウンドトラック) 有上串流平台，在Spotify和Youtube都可以聽到遊戲歌曲。話說サノバウィッチ オリジナルサウンドトラック這個封面真的沒問題嘛，怎麼寧寧比遊戲內的裝扮還更加不知羞恥了\u0026hellip;我一直覺得Famishin創作的日常BGM很抓耳，所以能聽到實在太好了，不用開遊戲當播放器。可惜的是，同樣聽來很催眠的千戀萬花只有角色歌？？原聲帶竟然搞日本限定，得用ProtonVPN跨區了\u0026hellip;最近聽說有打三折的黑五特價來著。\n20251105 CMV：桌面捷徑是不必要的東西（正論）。GNOME桌面移除了這個功能，許多人靠北靠母，可是我在KDE也不常用到桌面捷徑的功能了呢。需要開啟程式，就pin在工作列，或是用搜尋功能打幾個字就會跳出來（GNOME和KDE都是按Windows鍵就能開始打字搜尋）大部分情況下，桌面都是被視窗擋住的，桌面應該只要存在桌布就夠了。這樣說吧，Windows給人的制約實在太重了，致使很多人覺得桌面一定要放點東西才方便。他們把常用程式放在桌面，還會把類似的程式放在一塊，就地整理（看看統神和國動直播的桌面就知道）。還有常用檔案也都放在桌面，這樣使用者不用打開搜尋欄或檔案管理器，自然就能看到需要的檔案（常見於公用電腦）。我不知道macOS設計上有沒有paradigm鼓勵使用者不要用桌面捷徑，但我看很多人的Macbook桌面都是放滿各種最近的作業檔案的，還有一堆替身。這我就不能理解了，要知道桌面捷徑通常並不是程式本身（除非是AppImage），它只是一個指向二進位檔的連結而已，在Linux這個檔案叫做Desktop Entry，它的歸處應該是/usr/share/applications/。再者，Linux的搜尋功能不會像Windows 11吐出一堆網路結果，而是真正的優先列出電腦上的應用程式和檔案。因此程式放在桌面比較好找的說法並不自洽。從檔案管理的角度來看，桌面資料夾(~/Desktop)不過是一個資料夾而已，XDG制定的常用目錄規範中，自然就有定義文件應該要放在~/Documents，圖片要放在~/Pictures了，所以把所有檔案丟在桌面可不是一種好的整理習慣。\n20251104 圖片 驚！偶像大師U149全員都不是處女\u0026hellip;座。設定集「兒童菜單」確實是這樣寫的（來自巴哈與PTT的複製文）。本來我在想這張圖是什麼意思，原來是來自日本人保田塾在Twitter上的推文，他透過參考醫學論文，根據年齡身高體重胸圍，推算出U149全員的初潮確率。說是這樣說啦，但怎麼會有人第一集就在那邊各種叫桃華媽媽了呢？這動畫真的好可愛，猛男必看。\n20251104 不論民進黨還是民眾黨或是國民黨支持者都一個樣子，在社群媒體上專門挑出某個敵對人士的弱智發言，再嘲諷說「柯粉/青鳥/支那人都這副德性」，最聰明的操作就是八炯的影片會找人假扮小粉紅，然後製造話題。承認吧，你雖然厭惡自己人被惡搞的行為，但是對自己人惡搞他人就可以視而不見。不幸的是，這種吸引流量的手法履試不爽，完全沒有節目效果，我都看膩了！所以我不怎麼在意這類貼文的內容，畢竟非高位的人發言不代表一個群體，將他們的個人言論放大檢視不過是想達到你製造對立的目的罷了。我看過一個在印巴衝突期間的影片 印度14歲少年怒懟媒體：無權消滅巴基斯坦，裡面說訪問到一個印度男孩，記者說「巴基斯坦該不該被消滅？」，男孩說「那邊也有人居住啊！你專門訪問我然後製造這種新聞？」「為什麼你會這麼認為？」「我有帶腦啊！」\n20251104 看到盧秀燕被惡搞成打鼓盧媽的鬼娃樣貌，我覺得好噁心，就跟當初醜化韓國瑜一樣，真讓人反感。還有黃國昌揭弊的線人被專門養狗仔的媒體說成是在養狗仔，這\u0026hellip;。不對，我幹嘛幫著護航他們？這完全不干我的事情。他們作為公眾人物，被抹黑得自己澄清。如果我為了不太重要的事情跟人在網路上爭得面紅耳赤，豈不是成了他們說的狗了嗎。現在民眾黨的義勇軍應該夠多人了。\n20251103 我好愛小朋友喔。じじ繪製的Maestrale、Grecale、Libeccio、Scirocco萬聖節裝扮\u0026hellip;\u0026hellip;是天使與魔鬼！\n20251103 玄學TV。Interesting thought: Hinduism is akin to Open Source, while Abrahamic faiths are closed environment. Linux與宗教名字的抉擇，印度教與佛教，即宣揚自由開源的理念，他們強調多元並立的神，人人皆可成佛。亞伯拉罕諸教，如基督教，宣揚閉源系統成份，認為世上只有唯一真神，封鎖了其他的可能性。只有Terry A Davis成功打破了這個規律，建造了完全自由的第三聖殿。Hindu/Buddhist Linux names Linux許多專案中，使用了各種哲學術語。Ubuntu來自非洲哲學，意思為互助。Bodhi Linux名字意為覺醒。Chakra GNU/Linux意為脈輪。Garuda Linux取名自印度教中的巨鳥迦樓羅。Kali Linux來自破壞女神迦梨，雖然官方否認這個說法。GNOME預設的主題Adwaita來自吠檀多不二論，代表唯一的真理（這就是為什麼GNOME開發者拒絕使用者安裝自訂主題，參見Please don\u0026rsquo;t theme our apps運動）瀏覽器Epiphany意為頓悟，影片播放器Totem意為圖騰，不過後來的GNOME Apps命名就改用比較直白的名字了，像瀏覽器就改名爲GNOME Web。KDE的跨平台框架Kirigami，取材自日本的摺紙文化。取名自基督教元素的比較少見，是嗎？不能這樣說，因為Linux也有查經軟體。此外，Richard Stallman自封為Emacs的主教，所以可以說宗教元素還是舉足輕重的。中國的更不必說了，從軟體到硬體都喜歡用中國神話的元素命名。不知道為什麼看到中國人用宗教元素命名會覺得很中二，可是西方人用宗教元素命名卻很酷。\n20251102 Weather-OS/WineGDK 終於有人做出在Linux跑Windows Minecraft基岩版的方法了，喔～原來是Minecraft基岩版逐漸從UWP遷移到Win32了。需要使用支援GDK的Wine fork執行，不用再用Bedrock Launcher跑Android基岩版了。參考這部影片，裝完Wine的編譯依賴，用./configure --enable-win64然後再make。相較於本身就是跨平台的Java版Minecraft，Windows基岩版的好處是能夠開啟內建光影提昇視覺效果（連Nvidia光線追蹤也能透過Wine轉譯在Linux上使用～！），並享有比沒裝模組的Java版更好的效能。不過目前的問題是，我們要怎樣在沒有Microsoft Store的情況下合法取得基岩版的遊戲檔案，只能從虛擬機裡面抽取了？\n20251102 Affinity在Linux上可以用Wine執行，只不過似乎需要特製版的patch。依賴套件是vcrun2022、dotnet48、corefonts。seapear/AffinityOnLinux\n20251102 老師：「這個英文單字什麼意思？」\n學生：「不好意思」\n20251102 不在籍投票可行？立院民眾黨團提案 強調「國內移轉」不擴及海外 為了防止綠共日後繼續竊選，不在籍投票不過行嗎？\n20251102 任何想要用一種程式框架達到全端跨平台開發的都不會成功，ない！我對網頁框架的程式沒什麼信心了，一些業餘開發者為了跨平台使用網頁框架（如Electron或Tauri）便宜行事，反而遭致更大的問題。尤其是Linux的使用體驗常常被忽略，X11與Wayland桌面的碎片化導致開發者需要投入比Windows和macOS更多的關心呀，不然就會有inconsistent theme和黑螢幕的問題。最近我使用體驗較差勁的程式有Pot Desktop、AnythingLLM、Open WebUI等等，商業軟體如Spotify和Steam維護較好，不過因為網頁效能不好仍常常出現lag情況。唯一設計成功的Electron程式是VS Code。用原生效能的Flutter是解方嗎？否，主題非常不搭。但既然有Rustdesk這個成功的例子，我還是看好它的發展。我基於宗教式的理由反對Web技術構建成的程式。所以我偏好用GTK或QT寫的程式吧，只有原生框架最懂你要什麼。就LLM的前端來說，我覺得Newelle設計的還不錯，這款專為Linux設計的Windows Copilot替代品，用GTK寫的，實現了常見的LLM前端功能，允許連接Ollama與其他線上服務，也有部份AI代理人功能。\n20251101 使用Linux最怕台灣國內沒有mirror。雖然我們不像中國會受到GFW阻斷訪問外國伺服器的問題（例如AUR因為會從各種網址下載軟體包，就會導致編譯失敗），但有些發行版的外國伺服器真的慢到炸（例如從FSF的FTP伺服器下載GNU Guix真的會慢到想殺人），又沒有使用CDN，這個時候要看國家高速網路計算中心（NCHC）或者各大學的伺服器幫忙了。Ubuntu一定到處都有，Debian、Arch Linux、openSUSE、Fedora會少一些。而Gentoo、Slackware在國內好像全滅了，不然就是out of sync致使一堆404。最近觀察到，debian-security的套件庫下載很慢，還好有找到TWDS的mirror。不過Debian官方不太建議這個使用mirror呢，是因為無法即時收到安全性修補？\n20251101 Pro tip：每天吃一顆SSRI成份的Sertraline或者Sulpiride，能夠助你安然度過今年11月的NNN挑戰。解鎖條件：得到自律神經失調or憂鬱症 ☠️ 服藥後真的會一個禮拜完全沒有感覺，整個人都麻了。即使看到動漫色圖也能夠巋（ㄎㄨㄟ）然不動，就算硬是硬起來，嚕到出血也出不來。\n20251031 Tesseract是Google的恩賜，2005年開源，電腦不用很強的算力就能跑OCR（光學文字辨識），被很多程式採用作為文字辨識方案。可是這麼多年了開源社群還在用這個是不是有點不知長進了呢。雖然支援多語言，實際上這個模型在掃描英文以外語言的文件，準確度慘不忍睹，中文和日文漢字都會不自然的斷字，然後圖片幾乎得是白紙才能成功辨識，混入一點背景雜訊就會大大降低準確率。Tesseract有無替代品？不知道Google智慧鏡頭和Apple iOS的OCR背後用的是多麼先進的模型啊。論開源的OCR部份，EasyOCR、doctr、PaddleOCR看起來是有潛力的新興選擇。最近多模態的語言模型紛紛出現，比如Gemma和Qwen-VL和DeepSeek-OCR都有內建OCR，還有理解與翻譯文本的能力，許是開源社群的救星。實測Ollama配Qwen2.5-VL-7B就能辨識很長一段日文文本了。線上模型ChatGPT跟Gemini的回應速度也很快。這樣只要有人再寫個GUI wrapper引用這些多模態模型就行了，就好像Gemini Live那種模式吧！未來AI Agent的程式應該能做到。問題是LLM對電腦的計算要求還是高了些，需要針對一般CPU優化的模型出現。\n20251031 歡迎來到 Wiwi.Blog 的部落卷（blogroll）！ Wiwi開始搞blogroll了，很榮幸上榜。真的覺得大家應該要自己架網站，搞RSS，還要弄友站連結，互相推薦「有趣的網站」，不靠演算法決定你能看到什麼，才能讓更好的網站出現在我們的視野！RSS訂閱不一定都要訂正兒八經的媒體啦，具有豐富個人特色的部落格亦值得一讀，好讓我消磨時間，阻止一直去滑Facebook那被演算法荼毒的惡毒動態牆的欲望。\n20251031 我家踏上了信息高速路。被一通電話拐去申請5G方案，看到手機右上角終於出現了5G而非4G圖示才有了時代變遷的感覺，明明5G已經上市五年多了啊。不過相近的價格，5G的方案普遍沒有吃到飽，超過規定的48GB月流量就會降速為4G，還會限制熱點分享的速度。這個流量隨便聽個Spotify無損和玩Moonlight串流就超過了好不。用5G肉眼可見的耗電，需要強制切換回4G才感覺正常。是說看Android系統設定紀錄才知道我的月流量平均都在50GB以上，這類訊息自從我2016年辦吃到飽之後再也沒有在意過了，當年流量一個月只有1GB，還要裝APP省流量，偷買流量到受不了後家人才讓我去辦吃到飽。果然要無腦暴力使用流量，應該繼續當4G釘子戶的\u0026hellip;。\n20251029 deb版Spotify客戶端不知道在發什麼瘋，無損、高音質都會遇到連線緩慢的問題，隨便一首歌都會卡住，但是用手機APP和網頁版就不會有這問題。換DNS為Google的依然時好時壞，乖乖龍地冬。這只解決了Steam載入網頁緩慢的問題。那我想是中華數據機有點狀況。對了，Spotify在Firefox表現超級糟糕的，播放器按鈕會卡住，這就是Chromium成為主流的後果嗎。\n20251030 碰巧從微軟官網下載到一個特殊的Windows版本？下載ISO之後用Ventoy開機，在不相容的七代i5老電腦上安裝Windows 11 25H2，沒有檢查TPM就給安裝，而且還允許在連網的情況下建立離線帳號！？完全不用打指令繞過，我都懷疑這是不是工程師喝醉了放出來的版本。或是說，Ventoy具有跟Rufus類似的功能？結果一查還真的有，稱之為VTOY_WIN11_BYPASS_CHECK和VTOY_WIN11_BYPASS_NRO。\n20251029 不知道Rockstar針對新版遊戲動了什麼手腳，在Linux上《Grand Theft Auto V 強化版》透過Proton 9.0執行會出現一堆錯誤，ProtonDB一堆抱怨，舊的《Grand Theft Auto V 傳承版》正常執行，Rockstar Games Launcher雲端正常。我想看更高畫質的脫衣舞俱樂部妹妹啊啊。如果遇到Grand Theft Auto V的垂直同步關不掉的情況，就切換為無邊框視窗模式，關掉，再切回全螢幕。\n20251029 人人都應該擁有的摸頭模擬器《奴隷との生活 Teaching Feeling》在Linux是可以透過Wine遊玩的，我測試在Proton 10.0可以正常執行，但就是界面稍微卡卡的。作為一款同人遊戲，這遊戲於2015年上市，居然到現在還是DLSite排行榜第一名，銷售破十萬份，足見其實力，我深有同感，個人覺得這款遊戲希爾薇各種姿勢和換裝系統真的很實用\u0026hellip;是很棒的養女兒遊戲。是說，根據遊戲目錄內的檔案，有人猜出來這遊戲是使用NW.js製作的（也有可能是Tyrano Builder或RPG Maker所使用的瀏覽器框架？），這樣的話就有另一種思考方向。網頁程式要轉成跨平台遊戲根本輕而易舉，但作者不想做，不推出官方中文，那就只好讓第三方來做了。Gitlab開發者Orochi製作了一個NW.js的wrapper，直接繞過exe讀取遊戲資源，似乎能提供比Wine更好的效能。還有非官方的Android版移植。如果搭配Electron或NW.js的話就能在Linux與macOS執行。\n20251028 論Linux桌面的檔案選擇視窗(file picker)，應該沒有比KDE做的好的，它整合了部份Dolphin檔案管理器的功能，做的比Windows的還要明瞭，並有預覽檔案縮圖的功能。GTK檔案選擇器要用很新的GTK4才有預覽功能啊。問題是很多程式寫死使用GTK3的檔案選擇器，例如Firefox和LibreOffice，點選開啟舊檔的時候，跳出來的一律是醜醜的GTK選擇框。所幸這個問題能夠透過一個環境變數解決。只要在~/.bashrc加入GTK_USE_PORTAL=1，強迫GTK程式使用xdg-desktop-portal的協定來開啟檔案，就會自動依照桌面環境變化。或者在Firefox的about:config將widget.use-xdg-desktop-portal.file-picker數值設為1。需注意GTK_USE_PORTAL=1對GIMP無效，且可能造成一些程式渲染出錯。不知道為什麼Chrome都能自動偵測到xdg-desktop-portal了，Firefox卻遲遲不加入此變更？\n20251028 Steam版《與我戀愛的廢柴小惡魔》因為內容沒有很硬蕊，所以R18 patch不用另外下載，而是透過DLC購買即可。不過Fan Disc依然需要手動下載patch。是說這遊戲的劇情真的廢到一個極致，一上來就開後宮。Steam評論說的沒錯，寫手很偷懶。畫風對我來說不是那麼好用的級別，某種程度上來說有點廉價，這遊戲是拔作，只適合精蟲上腦的人玩吧。就算是廢萌，我還是想要一點主線劇情啊。很難想像玩過命運石之門後，我Nekopara會不會玩的下去。\n20251028 想到讓人暴露年紀的東西：超商賣的恐怖小說口袋書，一本49元的那種，多半是鮮歡出版的。學生時期我會買這種書來看，有的是連載系列，有的是單本完結。這種書比約會大作戰這類輕小說還方便閱讀，算是打發時間的絕佳選擇（有趣的是，買原文書才知道，日本和美國的輕小說文庫本會以口袋書方式印製，但台灣卻是A5）。在手機與網路普及之後，這類作家大部分轉戰網文平台，這種書就消失了。這類書籍的特點是狗血的恐怖主題，或者是廉價言情小說，充斥中二幻想，可是也沒有到很重口的地步。要說這種書沒營養，倒也不是，因為我有幸讀到結合專業理論的作者寫出來的書，對心理學有了些入門概念。他把陰間殺人犯的心理當作精神分析的書來寫，講到羅夏克墨漬測驗、腦裂理論等等，還結合了啟示錄的內容，學到了I am the Alpha, I am the Omega這類中二字句 。大概是我很喜歡奇幻小說參雜科普知識的文體的緣故吧，讀波特萊爾大遇險(A Series of Unfortunate Events)的時候作者在故事主線以外寫的一堆廢話就讓人著迷。\n20251028 在瀏覽器裡面跑exe不是夢！？這樣的話，我們就能在Android/iOS平台跑Windows程式了。Most seamless experience to play Windows games on iPhone (POC: 32-bit .exe on iOS) iOS終於有人在搞類似Android Winlator的事情了，在iOS跑Windows遊戲，APP暫名為GameReady，使用BoxedWine作為後端。這樣做的好處是執行開銷比用UTM模擬整個系統要小。不過iOS上架App Store的APP不開放JIT，所以這必定得用側載IPA的方式安裝。另外，中間還有x86轉ARM的效能損失，這樣exe執行的效率應該不會太好。至於BoxedWine這個技術，很有趣，它將Wine封裝在一個最小Linux環境裡面，透過模擬Linux核心與x86架構的CPU，使其能做到跨平台支援，在Windows它可以當成32位元的懷舊遊戲模擬器使用。另一方面，它可以透過WebAssembly在瀏覽器執行。還沒加入JIT所以效能很差。作者有做一些網頁版Demo，跑得都是20年前的老遊戲，如此一來在EmulatorJS以外，又多了一個網頁玩老遊戲的解決方案。\n20251028 啊咧？網上逛了一圈，《黑神話：悟空》好像幾乎沒有中國人製作盜版耶？滴答嘟不是最愛破解外國盜版遊戲，PVP開掛人數第一名，並以「慈禧付過了」當藉口繼續玩盜版嗎？那麼對於國產的驕傲，盜版也大大方方玩就是了，應該多快好省的在貼吧傳播免費資源，怎麼可以碰到這個遊戲就雙標呢？看看3DM資源網下面破防的滴答嘟。所幸俄爹才不管你什麼國家大義的名分，用Denuvo加密照樣給你破解出來。中國人愛偷別人東西，總有一天也會被偷回去！\n20251027 G胖說的對，盜版遊戲橫行，我們要先檢討的是我們服務做的不夠好！平台吃相太難看，才有那麼大的推力促使玩家寧願花大把時間找盜版也不願意花點小錢買正版。雖然Steam是專有軟體，不過看在Valve吃相不難看，我可以在Linux上放過它。我得說，自從發現很多獨立遊戲和Galgame有在Steam上架，方便的雲端遊戲同步，再加上偶爾跳樓大拍賣的價格，我就幾乎沒什麼動機去FitGirl抓盜版來玩了。雖然有些R18遊戲礙於規定需要手動打patch，但這不影響Steam的便利程度。正如串流平台興起，夠方便以及價格夠低廉以及不鎖區，DRM看廠商心情實作，盜版商就更難有生存空間，正版遊戲就能獲得良善正循環。考慮到日本的很多遊戲只在DLSite上架，要是DLSite Nest啟動器也能做到支援Linux/macOS/Windows操作那就好了哪。\n20251027 主打\u0026quot;Creative Freedom\u0026quot;的Serif以提供買斷制的Affinity設計軟體，對抗日益貪婪的Adobe訂閱產品，我覺得看起來是很不錯的。唉，資本。原本看到iPad版Affinity推出限免的情報還覺得欣喜，馬上點選獲取，結果看他們的官網發現要推出下一代產品了，應該是Affinity V3？故，這種手段其實沒有什麼好意外的，舊版的產品已經「完成」了，於是半買半相送，招攬一批用戶後讓他們因為功能跟不上新版，而被吸引去用新版。就跟GoodNotes 6與GoodNotes 5的關係一樣。這讓我想到，以前為了便利的3D人偶功能，買了Clip Studio Paint來用。然後現在最新版是4.0了，你猜怎麼著，我當初買的授權原來只能下載舊1.0版，他們甚至只支援到Windows 10。官網說已經擁有舊版的用戶，可以以優惠的價格升級到新版喔～fuck off，差點把Wacom繪圖筆摔到地上。哎呀，這樣訂閱制更有存在的理由了吧，根本不用擔心工具是否會過期。不對不對不對，這是根本上需要改變的問題吧，所以我選擇自由開源的創作工具，GIMP還有Krita還有blender。真正的Creative Freedom，不是從另一個火坑跳入另外一個火坑，是原始碼自由利用的自由！況且Affinity不知道何年何月才會推出Linux版，就算能用Wine執行我也不要！說是這樣說啦，我還是把限免的資格領了。好消息是，現在Affinity已經被Canva併購，新版軟體變為免費提供了，但是需要強制註冊Canva帳號才能使用：https://www.affinity.studio。\n20251027 未來的常識將會被顛覆。有時覺得當個AI仔容易受到非難，因為他們說，你在做的事情不道德，沒靈魂什麼的，但是我們會說，未來的世界線即是如此，I am inevitable。更讓人感到無力的說法是，搞不好你作品的觀眾，根本不在乎是不是AI產的。。AI能取代人的工作，又或是賦予一些人無限膨脹的自信心呢。先是AI art，然後是vibe coding。雖然我擁抱AI技術（主要是開源方面的，封閉式的戒慎恐懼，因為那會造成dystopia），卻也忌憚它會取代我的專業，故而感到焦慮。過去的手動電繪興趣，幾乎被AI電繪技術抹平了。在對這些技術感到新奇的同時我卻好像也失去了什麼重要的事物。很多人hype各種AI的無所不能，現階段最容易能做到，一般人也最不容易區分的AI技術，便是AI藝術家了吧。AI藝術是可以讓不會畫畫的人輕鬆達到大師境界的工具，也因此許多人低估了背後付出的努力，從而能夠說出「未來藝術家就要失業了」的輕率判斷，聽過太多這種論調了。看著這些藝術家的作品能夠被AI一鍵生成取代，就感到悲哀。我的右手一直有種黑色衝動，看到網路上別人津津樂道分享自己的作品，就很想烙狠話說：「你的東西AI就能取代！哈哈哈哈！看我把它丟給AI重新算一張出來」這可比K島民怒嗆塗鴉廚還要惡劣。可是問題是我不過就是用AI的猴子罷了，且若真正懂行的藝術家善用AI，我們這些猴子終究還是會原形畢露的——但是，如果你只是透過AI炒作虛偽的藝術作品，在Skeb透過這種作弊手段賺快錢呢？誰在乎什麼藝術家的付出？在利益面前所有反AI的論述都將變得無力，當然我不能全面支持這種行為，可是看到Civitai滿坑滿谷的LoRA\u0026hellip;。。我想這種思維源於一些人內心的自卑與自大。有沒有可能，反AI的人，不過是觀念轉不過來而已吧，有人比喻說AI就是自排車，讓不會手排的人快速上手，但不會取代手排車。\n20251026 「推出AI瀏覽器卻不支援Linux？去死吧。」每次看到AI吹捧者的新聞總是這樣想，什麼ChatGPT Atlas還有Perplexity Comet，連用跨平台框架包裝都不會。也不想想你們的網路爬蟲程式是跑在什麼平台上\u0026hellip;還拼命攻擊開源專案的infrastructure。所幸Firefox和Chrome都不約而同的加入AI功能，本身就是支援Linux的跨平台軟體，這樣他們起碼能穩住自身地位。\n20251026 如何在Android手機跑Wayland合成器以執行Linux桌面？在Android 16 Debian Terminal穩定之前，目前比較成熟的方案，Termux X11是基於xcb開發的X伺服器實作，它沒有啟動Wayland桌面的能力。X11相較於Wayland容易發生畫面撕裂，雖然我在SurfaceLinger是觀察不出來啦。現在有一個Local Desktop的APP，利用了Rust寫成的smithy函式庫構成Wayland合成器（Pop_OS!的Comsic桌面也有使用到），搭配Arch Linux Proot在Android上執行Wayland桌面。目前可以執行KDE Plasma Wayland工作階段。\n20251025 關於普發一萬，以前的我肯定會全拿去買Figma，剛好我有幾隻想要收的艦娘和FGO從者的角色。或者，我會把這錢拿去投資一台便宜的二手iPhone取代我的舊款iPhone SE 1，甚或是買Sony XM5取代AirPods Pro的不舒服感，或是買台Surface Go福利品達成跑Linux與Android-x86平板的夢想（過去用的PineTab 2實在太慢了，x86還是比較強，M3應該就夠用了）。還有還有，加點錢就能買Pixel，或是買台AMD 8700G的新電腦，或是買Meta Quest在Linux玩VR，或是買張RTX3050 6G的丐卡升級AI效能！但是現在基於現實考量\u0026hellip;我只能存起來了。\n20251025 有時候覺得玩Galgame沒啥意義，很無聊，尤其是非劇情見長的作品，因為這類卡通遊戲玩法固定，通常我會直接看攻略，看完故事後通常就不會再開第二次。就算把它當成射擊遊戲（意味深）也不是那麼實用。只會因為長時間投入體驗劇情，產生一種做了有意義的事的錯覺。我比較喜歡Minecraft這類遊戲，這就跟手動編譯Linux核心一樣好玩，嘛但是創意枯竭的病人來說太開放也不曉得要幹嘛。不過，玩Galgame也許有助於解決抖音腦的問題。有人說玩Galgame跟讀小說沒兩樣，甚至不如直接看卡通。不過這帶來的感受還是有差別。Reddit r/nosurf的用戶普遍在宣揚一個觀念：你要學會享受boredom。要是戒除社群媒體很難，讀書又顯得枯燥，就看電子小說吧。Galgame的表現形式介於小說、漫畫、動畫之間，有視覺體驗但主要還是在文字上，透過每個角色細細表現內心獨白的場景，還有不同角色的視角所呈現的劇本，能夠做到動畫辦不到的精細表現，並且閱讀文字的時候看到的多半是靜態的畫面搭配令人印象深刻的BGM。這有助於訓練耐心，不會讓快樂來的那麼快，而是懂得慢慢品味文字。這是只想看爽片和發傻逼彈幕的人體會不出的細節。至於玩梗小鬼那就算了，真正遊戲內容還是要自己體會。\n20251025 Honeyguide/freebsd-pinephonepro 我們除了要有真Linux手機之外，還要有真BSD手機！！！就像，Android基於Linux卻非GNU/Linux，同理iOS基於BSD的Unix，卻非FreeBSD。目前開發者Toby Kurien將FreeBSD移植到PinePhone Pro手機上了。這台手機搭載特製版的RK3399S處理器。雖然這張圖片跑起了QEMU，但是硬體驅動全部不可用，可能要從Linux的驅動原始碼整個重新移植。\n20251025 化学极乐百科 - overdoes.day 有時候好想閉上眼就不想醒來\u0026hellip;一陣子，不是一輩子，這就需要overdose。不敢想像OD的場景，因為反胃問題已經很久了，就算想像藥娘那樣OD，也會把自己整得上吐下瀉吧。對，我就費拉。I\u0026rsquo;m so happy \u0026lsquo;cause today I found my friends. They\u0026rsquo;re in my head. I\u0026rsquo;m so ugly, that\u0026rsquo;s okay \u0026lsquo;cause so are you.\n20251024 Summer Memories夏日狂想曲需要手動下載這個patch才能夠體驗色色內容。\n20251024 《Muv-Luv》的Steam版本記得要下載這個H patch，它被稱為Director\u0026rsquo;s Cut。H patch Farewell friend :( 透過Protontricsk Launcher讓exe執行於遊戲目錄就可以了。但是它只支援英文呀，竟然不是在遊戲裡面切換語言，而是要重新下載另一個版本。他們花大錢募資，把中國漢化組的譯本轉正，卻連基本的技術問題都搞不好？《Muv-Luv Alternative》沒有語言不同就不能使用R18 patch的問題。念念不忘，必有回响：《Muv-Luv Alternative》与它的汉化轶事 - 触乐\n20251024 先說我沒有花錢買讚，我不是1450也沒有戰國策的經費，我只是在FB po了一張叢雨與將臣69式的圖片（瘋狂星期四），並且抱怨為什麼Steam截圖會把這個畫面變成馬賽克（雖然馬賽克很重，但瞇眼就能大致看出這張圖片內容），結果就莫名飄出去，獲得了好幾千個讚，引流了一波頁友，裡面包括一堆東南亞與南美洲網友，然後還莫名多了一千個不明究理的追蹤者。根據後台資料，那篇貼文最終達到了400萬的瀏覽次數，順便給我帶來了一點收益。結果樹大招風，同樣的圖片我po在Threads都沒怎樣，我想照片八成是被檢舉了，到了十天後圖片才被下架，笑死。\n20251023 Winetricks為什麼設計依然那麼hacky呢，用Zenity寫的GUI回應很慢，讓人恨不得打指令。這個指令稿主要是自動幫使用者安裝Windows dll，例如Windows Media Player，會從微軟的網頁下載exe，不過微軟會隨機砍掉老程式的下載網頁，所以Winetricks使用的是Internet Archive的快照來下載。可是他們不知道把exe檔案放在Internet Archive是多麼危險的事情麼，難道只是為了圖備份舊版微軟網站很方便？最主要是這個慈善組織的伺服器不是很穩定的說，偶爾會下載失敗，他們今年還被攻擊到短暫關站。Valve就沒人想過要協助弄個Mirror？明明在Windows版Steam安裝遊戲的時候會自動下載Microsoft Visual C++ Runtime，但是Linux卻需要使用者手動跑ProtonTricks（不對，Linux系統也會觸發Microsoft Visual C++ Runtime安裝）。像Bottles的開發者就意識到了這個問題，因此額外開了自己的DLL軟體庫，確保所有exe的來源是可追蹤的。Where is Winetricks? We want to offer a centralized dependency management system.\n20251023 Debian真的不是人用的，Debian 13的netinstall映像檔遇到Nvidia顯示卡nouveau就掛掉，出現cannot open display的X Server錯誤，致使GTK寫的安裝器無法顯示，我的也不是什麼很新的卡呀\u0026hellip;害我得切換為內顯開機才有畫面，用迂迴的方式安裝Nvidia閉源驅動才能切回主顯示卡。儘管他們已經修改了章程，允許包含non free firmware的在映像檔裡面，居然還是會遇到Nvidia的問題。到底這年頭誰裝系統還會額外準備一片光碟，在安裝階段插入程式，讓安裝程式能辨識到硬體驅動的啊！？再加上Debian官網提供各種Live USB以及包含更多專有驅動的變種ISO，看的頭都暈了。就不能像Ubuntu一樣提供全都包的映像檔嗎？\n20251023 如何在Ubuntu \u0026amp; Debian \u0026amp; Rocky Linux安裝最新版Nvidia顯卡驅動？這就是問題了，碎片化嚴重呀。Linux用戶不會在Google上問新版軟體有無災情！畢竟人人都會自行debug。Nvidia驅動程式有進入各大Linux發行版的套件庫，所以一般來說都是建議透過APT or DNF安裝，不要從Nvidia官網下載.run installer。免得破壞依賴。不過這些追求穩定的發行版通常會將Nvidia驅動版本鎖在舊版，為了系統穩定。如果只是跑伺服器CUDA負載的話可能沒什麼問題，不過跑桌面環境的時候就容易出bug。尤其最近Nvidia針對Wayland送了許多patch改進，如果使用舊版驅動可能就無法發揮最好的效能。舉個具體例子，Debian 13套件庫的驅動版本是550，但是最新版已經來到了580，這個版本的驅動修正了XWayland的諸多問題，能改善Steam遊戲的體驗。那麼如何取得最新版Nvidia驅動套件呢？很簡單，加Nvidia官方CUDA套件庫即可，裡面有最新版本的組建。Nvidia官方主要支援RHEL以及Debian系的發行版，從這裡就能取得最新的nvidia-driver套件。部分發行版還有自己的套件庫會提供Nvidia驅動組建，例如Fedora EPEL、RPM Fusion、Ubuntu Grpahics PPA等等。\n20251023 惡臭國男的神奇邏輯：因為女權太囂張，所以要引進伊斯蘭教的沙里亞法來壓制女拳，剝奪他們的權利，不然就是信教的魔佂右逼整天引用中世紀聖經的規則來壓迫婦女，還有講求儒家女德傳統的。有趣的是，網路上的中國和韓國男人都有同樣的想法。至於PTT八卦板、巴哈場外的台灣男人認為自己只是反母豬，不是仇女，但他們講話就是很明顯在性化，動不動就蕩婦羞辱。在這世道，是男右女左，保守對進步的對決。當然了，這些自認為參與性別對立戰爭的，也有可能只是操不到逼，結不了婚的一群剩女光棍在做的妄想罷了，大多數正常人，還是會老老實實結婚生子。\n20251023 After encountering one more of a buggy release of KDE Neon, I would like to express my concerns about the Linux desktop. LINUX DESKTOP SIMPLY SUCKS!! It is a buggy mess as hell. You either get outdated packages on stable distro or unstable buggy mess for development\u0026rsquo;s sake on rolling distro. No matter you are using Arch, Fedora, Ubuntu or any meme distro. Yeah! You are using Linux in the wrong way? Right? You will get tearing issues on X11 session, while some shit will be broken in Wayland. What\u0026rsquo;s more, proprietary GPU drivers would also fight with your compositors to make everything worse. What kind of place is this!? For the major desktop environments, the design of GNOME is purely anti-pattern. The developers hate you by limiting the you can do with your desktop. As for KDE, all you get are the things that crash randomly all the time on each update. On XFCE and Cinnamon, it make you feel like a boomer from 90s and reject all the modern computing aesthetics. You suggest switching to some tiling window managers because they are suckless ? Fuck that! All of them sucks, more or less.\n20251023 我不想用GNOME桌面，一部分原因就是他們沒有把QT使用者放在眼裡。比如，VLC和OBS Studio在GNOME看起來十分難看。GNOME Wayland有一個難解的bug：QT程式使用Wayland的時候沒有視窗裝飾陰影，導致程式看起來很難看，且無法與GTK程式區分前後背景關係。這只能在~/.bashrc加入這個hack處理：QT_QPA_PLATFORM=xcb。強制以X11模式啟動QT程式。但即使如此，QT程式在GNOME桌面看起來還是很難看，Adwaita QT風格的QT程式，那個主題風格非常陳舊，活像10年前的電腦。跟平面設計的GTK4設計完全搭不上。即使是Ubuntu的Yaru主題，QT程式看起來還是很醜。另一方面，KDE對GTK程式的處理就比較讓人滿意，如圖二。雖然Breeze風格的GTK程式長得怪怪的，但沒有GNOME那樣的醜陋。並且KDE允許使用者自由指定GTK程式應該要使用什麼風格的界面，這樣看來KDE的包容度還是比較高的！\n20251022 多麼希望Firefox有Google Chrome的即時字幕功能（在無障礙選單裡面）。Mozilla沒錢訓練自家模型，只能靠第三方擴充，八成都是串線上API。Google太奸詐了啦，有自家的語音辨識模型，還能將其pipe給Google翻譯直接實現即時字幕翻譯。好啦，最起碼這個即時字幕沒有平台限定，在Linux也可以正常使用。如果說在瀏覽器層級實作很難？那用原生程式如何呢？Live Captions是專為Linux設計的即時字幕程式，可以讀取系統全部程式的聲音然後顯示字幕。全部離線計算，使用april-asr模型，目前只支援英文、法文，準確度還不賴。話說最近既然有Whisper.cpp的語音轉文字模型出現，那麼寫個wrapper應該不難吧？如果要製作語音轉文字的逐字稿，那我想Speech Note應該是不錯的工具。\n20251022 電腦上常用的影片播放器是VLC，畢竟是自由軟體社群的傑作，免費又好用。有些人可能會選擇PotPlayer，因為功能多更多吧。Linux沒有Windows上常用的PotPlayer播放器，只好靠功能多樣的MPV來撐場面。雖然圖形界面難用，但可能是比VLC更有潛力的播放器，原因如下：在播放內嵌ICC色彩描述檔的影片的時候，VLC無法正確顯示顏色會偏白，而MPV能正常播放。MPV支援載入GLSL著色器，因此能夠達成FSR畫質升級，我個人感覺升頻效果不如Anime4K就是了。部份版本的MPV支援VapourSynth，你甚至能寫Python腳本動態套用補幀濾鏡。覺得內建圖形界面太簡陋的，裝個Lua腳本寫成的UOSC解決，還有時間軸縮圖預覽，再不濟還有更無腦的mpv前端：SMPlayer、Celluloid、Haruna等等。對於Wayland HDR協定的支援，是MPV率先實現的。你可能覺得很誇張，但Linux桌面確實是到很近年才透過Wayland支援HDR影片播放的，X11是死胡同。雖然說MPV需要手寫設定檔，其實MPV的mpv.conf只要簡單寫幾條hwdec-codecs=all和profile=gpu-hq就好，其他都用預設值就有很好效果。MPV依賴ffmpeg支援大部分影片的解碼器（部份發行版因為堅守自由軟體，不會收含有H.265這類專利編碼器的ffmpeg，需要手動開套件庫），如果有VA-API硬體加速會自動啟用。MPV可以串yt-dlp，從終端機串流影片，也能接受其他軟體傳來的pipe。MPV支援讀取/dev/cdrom與/dev/video的輸入，所以能夠用來播放外接媒體的影片。\n20251022 The Lunduke Journal - Are There Any Non-Woke Operating Systems? Windows、macOS、Linux都是woke系統，只有BSD不是，這是否有點\u0026hellip;他區分的標準是看背後開發者的立場來決定的，他說這些開發者恨你，反woke就說你是facist，所以你不應該使用他們開發的軟體，這樣看似有點道理，畢竟主要科技巨頭都被左派裹挾了！以他的標準來看，Linus Torvalds的言論也是左逼的體現！這個Youtuber是IT界裡面最敢講的XD 真的不怕死，在左逼當道的Reddit自是被噓爆了，在4chan的熱度則是不如Luke Smith。有人說Lunduke以前的節目講話還挺能處的，但自從一切都帶入政治觀點後就變得具有爭議性了。\n20251022 經濟學家的魔鬼式思考（上）：墮胎合法化是降低犯罪率的答案 這可能不適用於台灣，因為台灣從上到下都是詐騙集團治國，犯罪率有增無減，生育率的主流貢獻者8+9的小孩都去當車手，混的好一點的就加入塔綠班犯罪集團。台灣生不如死多久了？台灣的墮胎人數是出生人數的2倍。根據2024年統計，墮胎人數30萬，出生人數13萬，死亡人數20萬。好日子還在後頭呢。\n20251022 一個好消息，現在iOS能夠免VPN直連玩艦隊收藏了！最近的HTTPS化更新不知道為何解除了地域限制。八卦是這遊戲居然維持使用HTTP將近十年，難怪容易被看田中不爽的中國人DDoS。過去iPhone/iPad需要日本VPN才能玩，現在用Safari直接開遊戲網址就能登入了。透過iOS的即時字幕功能，就能聽到艦娘說話的字幕。不過DMM首頁本體還是封鎖海外IP的樣子，不知道什麼時候會鎖回去。\n20251020 每次Linux被提及的時候，一堆不懂裝懂的說建議執行\u0026quot;sudo rm -rf /\u0026ldquo;指令確保系統乾淨並且有移除法語語言包。事實上\u0026hellip;在一些immutable distro，例如SteamOS，這個指令可能無效，畢竟根目錄是唯讀的，只有家目錄會灰飛煙滅而已。話說SteamOS有使用systemd-homed管理家目錄，所以備份使用者資料應該不難才是。未來Bazzite這類發行版興起後，Linux用戶再也無法，也不行用槍射自己的腳了。\n20251020 Distribution 散布(版) vs Release 發行(版) - 風吹草動 支語警察竟是我自己！？長期以來我都是叫Linux distribution為「Linux發行版」，但看到一些比較正式的正體中文文件之後才發現我好像一直都叫錯了\u0026hellip;台灣Microsoft WSL文件以及自由軟體基金會的文章，多半使用「Linux散布版」的說法，畢竟release跟distribution是不同的意思。但是我可能是被中國方面的叫法影響，導致幾乎都使用Linux發行版來稱呼之。不過講到package的時候，我依然偏好使用Ubuntu正體中文的翻譯稱之為「套件」，而非Arch Linux社群翻譯的「軟體包」。在正體中文Linux資料趨於弱勢之下，語言會被取代也是正常的現象。許多專有名詞的正體中文翻譯，也會因為較少見而變得生硬，不容易讓人理解在講什麼。\n20251020 我為什麼要去請教Claude感情問題到最後讓他變成PUA大師呀，甚至還派功課給我\u0026hellip;不對，是我給他的提示詞這樣寫的，所以對我曖昧不清的追求，就做出了嚴厲的批判，並勸我早點認清現實。這世界沒有純愛的，曖昧期不可能自己發展為純愛。過了那麼久還停留在友達層面卻沒有進一步關係，再加上年齡差距甚大，還是儘早死了這條心，移情別戀吧。不能因為別人願意跟我談話就暈船了。經過AI分析之後，發現我身邊多的還是同齡人的機會。\n20251020 在ARM的碎片化問題解決前，ARM架構的Linux電腦都不會是好選擇，他們連開機程式都統一不了，更別說GPU驅動了。除非你本身就很會hacking，或者是原廠提供遵守GPL協定的全面支援，而非只願意支援Android。至於有機會實現全開源的RISC-V Linux，還沒有好的消費端產品出現，講這話還太早。x86架構的Linux還是比較穩定，在Intel與AMD對上游的貢獻下，要測試不同的發行版也比較輕鬆。邪惡Qualcomm只想賺專利錢。\n20251018 厌女又渴女的incel黑化史: 男性“极度破防”与女性“厌男厌世” 对立无解? - 小宇宙播客 這部Podcast沒有提出解方，只是提出了一些溝通的可能性，但整體來說還是兩個八婆在討論八卦的語氣。嘖，我這樣講又要被指責為男性說教了。總之，從他們對incel的態度看來，能真實感受到女性的恐懼，以及在韓國社會極端不對等的情況下，所產生的基進女權組織。另一方面，秉持傳統觀念的男性也正在成為父權制的加害者，從台灣很多人說女人就是該打的玩笑，以及認同childless cat lady的論述的現象可見一般。雖然我能共情女權的想法，但在這種混亂的世道下，某種程度上，我居然也想娶傳統女性，大和撫子吧，真是悲哀。而這讓我痛苦。為什麼人們總愛用性魅力當作人生成就的標準呢？\n20251018 發現自己技不如人的時候，你應該感到高興，不是捍衛自己廉價的自尊心去嫉妒他人。因為這代表山峰上面還有更多東西可以追求，尚未達到獨孤求敗的境界，就還有成長空間，學習的樂趣就會永無止境。就像，你可能覺得自己很會玩電腦，但接觸過各種conference之後，才知道身邊厲害的大有人在，但你不必因為這樣會而灰心，反倒是應該跟他們建立合作關係。\n20251018 The Bergamot Translator 大震撼，Firefox的自動翻譯功能不是線上API，而是在使用者端本地執行的Bergamot模型，確保使用者隱私，怪不得那麼慢。說實話這個不太好用，還是得額外安裝Google翻譯的外掛。另一方面，Brave瀏覽器的團隊使用自架的Lingvanex伺服器來提供高隱私性的翻譯服務，果然是企業文化的差別。\n20251016 KDE Kate is criminally underrated! 真的很神奇，這麼好用的跨平台文字編輯器很少見人提到，大概是因為它處於一種尷尬的位置吧。下有精通Vim的技術大佬，上有VS Code，處於中間的產品就很容易被忽略。嘛，雖是Linux用戶，我個人其實不是那麼喜歡用CLI編輯文本啦，所以需要一款GUI的編輯器。可是Kate的界面真的不賴呀，在眾多Linux桌面環境附屬的text editor當中，它的功能是最完整的，有折疊程式碼功能，還有git diff與終端機，儼然是小號VS Code。而且用C++與QT寫的啟動非常快，完全媲美Notepad++的便利性。Kate唯一缺點就大概是在GTK桌面看起來會比較醜吧，ㄟ但是Zed在QT桌面看起來也不怎麼樣呀！雖然它是Rust寫的。\n20251016 間諜軟體Discord運作良好，能夠正常監控我的遊戲狀態，真的太好了呢（棒讀），但如果遊戲程式有一方是Flatpak，例如Minecraft Launcher，且沒針對Discord RPC實作的話就會干擾偵測，需要手動安裝bridge類程式，例如discord-flatpak-rpc-bridge或Discord RPC Bridge for Wine。透過.deb安裝的Discord，居然沒有經營PPA套件庫，得手動下載更新，真煩人。在Wayland桌面，它能夠偵測到Steam正在遊玩的遊戲視窗，不論是Linux原生還是透過Proton啟動。透過Spotify聆聽音樂的時候會顯示曲名。\n20251016 我覺得Zen Browser的成功之處在於對Firefox美學的全面革新，它透過全新設計（簡單來說就是抄襲Arc Browser）的語言讓瀏覽器看上去很有質感，即使是在Linux上也算是很漂亮的，不受桌面環境影響。不過既然Firefox允許自訂CSS外觀，其實透過自訂主題讓Firefox的逼格提升也是可以的。 Add Water - An installer for the fantastic Firefox GNOME Theme by Rafael Mardojai CM 上善若水，將Firefox外觀改成GTK APP的一個主題程式，就像GNOME Web一樣的版面。現在真懷疑GNOME設計者裡面真的有果粉了，GNOME Web的版面設計很像是Safari的風格呀，雖然沒有直接證據。我果然還是看不習慣這個版面，搞得好像Zen Browser一樣。GNOME開發者真的在學習Apple精神，設計一堆自我風格極強的附屬應用程式，但功能多半很廢，瀏覽器亦不例外。不知道為什麼硬要用WebKit，難道有比Gecko省電嗎？瀏覽器雖然有內建Adblocker，卻不接入Firefox Sync的API。\n20251016 不要擔心RAM被程式佔滿，沒有佔用的RAM就是浪費記憶體。使用系統垃圾清理APP基本上是多餘的動作。我大概是以前被窮怕了，現在還有定時上滑關閉手機背景APP的習慣，瀏覽器分頁也不敢開著許多個，用不到就關掉。因為以前的Android系統真的容易因為背景程式太多而卡頓，甚至需要使用綠色守護。不過現在自動記憶體管理機制成熟，其實沒有必要這樣做了，儘管沒有iOS的墓碑機制那麼激進，待在背景太久的APP，手機螢幕關閉之後就會自動進入睡眠，所以其實是不用管這些有的沒的會佔記憶體的！我大可以直接返回首頁，切換到其他APP，而不用手動滑掉。除非是中國的流氓APP才要禁止背景執行。另外，這個操作習慣也沿用到我操作電腦，我不敢開著太多程式，以前只有2GB RAM的Windows電腦的時代真的太慘了，開個瀏覽器和foobar2000就沒活了。而現在才意識到，我隨便16GB以上RAM，開著瀏覽器和Discord掛在背景順便玩Steam遊戲都沒有問題。加上Linux桌面本身很省資源（即使是最漂亮的KDE Plasma開機才佔用1GB，其他系統羞羞臉），能同時開著的程式非常多，CPU撐得住。\n20251014 Apple Silicon devices emulated on QEMU, currently only iPhone 11. 有人做出了iPhone 11模擬器，不過這個硬體條件有點困難呀，要在ARM架構的Linux上執行，不能像macOS的Xcode Emulator一樣在x86上轉譯執行，而且過程可能很複雜。Emulating an iPhone in QEMU - Part I。目前看來postmarketOS有點希望，透過QEMU在ARM架構的Pixel 3執行。Possibly a world\u0026rsquo;s first? iOS on a Google Pixel 3\n20251014 沒什麼動力打完艦隊Collection的重南瓜祭，我只要拿到B-25就好了，這可是強力的陸攻，零戰62型改夜間爆戰就隨它去吧～說是這麼說，我還是在最後一天默默把它打完了。Halloween party的獎品選的是夜戰彗星三一號光電管爆彈搭載機，開個圖鑑，賭賭看送這麼多夜戰裝備下次活動會不會派上用場。不過這也得看C2機關徵不徵得到新人力了。這次大規模的夏活跳票疑似是重要的運維人員跑了，然後週四的維修竟然要修一整天。HTTPS化後就不會那麼容易被中國人DDoS了吧。\n20251014 說道要如何避免Email地址外洩，導致收到一堆垃圾釣魚信件，最簡單的方法就是利用郵件轉寄服務了。我可不想自己的電子郵件出現在haveibeenpwned網站上。舉凡Apple iCloud的隱藏地址，Firefox Relay，以及ProtonMail收購的SimpleLogin都很好用。透過建立許多別名，讓別人無法直接接觸到你的真實地址。在註冊網站的時候不要填寫真實郵件地址，而是使用郵件轉寄服務的郵件地址，就能很大程度避免收到一堆有的沒有的信件，也不用頻繁開Gmail小號。大部分網站應該是不會檢查信箱啦，但也有少數限定要用Gmail的。不過郵件轉寄服務也有被濫用的可能性，因為大量註冊容易，會被一些網站當成bot封鎖。且有時候依然會被批次傳送的垃圾郵件轟炸。不知道為什麼，有一陣子我常常收到西班牙來的報價單、印度的網站SEO改進提案、客座文章張貼需求。最討厭的是那種濫用Github的聯絡方式，業配自家軟體的傢伙。\n20251013 Firefox的市占率一直下滑，甚至被Safari和Edge超越，但我仍覺得它是一個值得使用的瀏覽器。怎麼說呢\u0026hellip;例如在Linux系統上，它是跟Linux桌面主題整合比較好的瀏覽器吧？不論用GTK還是QT，都能自動依照顏色變化，Gecko對Wayland的支援是最先實現的。能存取Linux的TTS朗讀文字。至於基於Chromium開發的瀏覽器，就跟那些採用Electron的APP一樣，都有格格不入之感。這樣看來Firefox更適應Linux作為原生APP的角色，似乎Firefox比Chrome流暢一些些。他們所推崇的開放Web標準，比起Google主導的讓網路DRM化的方向，也是更讓人信賴的吧。縱然網頁開發者不再積極考慮Chrome以外的網頁相容性，我還是會使用Firefox。Mozilla看起來有在嘗試改進Firefox，例如加入側邊欄與AI聊天，還有自動翻譯，但自從更無腦的Brave Browser出來後，Firefox的優勢就整個被比下去了呢，果然人們只要自動擋Youtube廣告就能滿足了嘛，隱私啥的都往後稍稍。我覺得Mozilla的行銷策略怎樣都比不過Brave耶，這就是所謂王不懂人心。性能方面Firefox沒啥優勢，甚至有些網頁只針對Chromium優化導致Firefox反而變慢。雖然說Mozilla總是強調自己在為了網路自由而奮鬥的組織，但別忘記你是每年讓Google花好幾億美元收買的對象之一呀，而且還佔大部分公司營收\u0026hellip;啊，不過我得說，在桌面市場Firefox尚還有一拼之力，儘管許多基於Web的跨平台框架被Chromium綁死，如Electron；Tauri用的也不是Gecko，而是WebKit。但在行動市場已經可以說是敗給了Chromium了，Firefox手機版非常難用，動畫效能都不流暢。Android版Gecko引擎甚至沒有針對行程安全隔離。\n20251012 我們假定語言學中，語言的語意是可以被函數計算出來的，正如formal semantics中講的，那麼這個與NixOS的函數式建構系統是否有相似之處呢？怎樣的輸入、就得到怎樣的輸出，不會有預料以外的變更。還可以對抗系統package management過程中因為手動安裝套件，導致逐步增長的熵值所造成的無序混亂。都給你縫完了！是說，同樣是宣告式安裝Linux系統的套件管理器，Nix的語言起碼比Guix好懂，前者像JavaScript，後者用的是陳年Lisp Scheme到底誰看得懂那些括號。\n20251012 CentOS Stream可能沒有想像中那麼差，相反，在某種程度上它跟Ubuntu LTS很類似，不過更新快了一點（←支離滅裂的發言？）。uBlue OS專案推出的一系列Bluefin發行版是讓我看的頭昏腦脹的玩意。不過我看到有人在Threads一直推薦使用這個發行版，故看了一些研究報告，得出以下結論。基本上，Bluefin就是強化版的Fedora Atomic，以low-maintenance和container為主，維持immutable模式並採用bootc和rpm-ostree管理系統，並針對不同用途提供各種映像檔，例如遊戲用的Bazzite，GNOME桌面的Bluefin，KDE桌面的Aurora等等。此外還有基於CentOS Stream的Bluefin LTS（GNOME桌面 + HWE核心），以及基於Alma Linux的HeliumOS（KDE桌面）。後面這二者就很有趣了，市面上許多immutable distro幾乎都是拿rolling release來改的，儘管他們說升級掛了可以任意回滾，但這根本不穩定呀，尤其對KDE桌面用戶來說。我還是偏好Ubuntu LTS那種更新比較慢的系統。此外，我不想讓穩定系統因為自行安裝軟體加上熵增定律變得混亂，這時immutable distro就會很有用。順帶一提，CentOS Stream雖然不再是免費仔最愛的point to release發行版，但它並沒有停止開發，而且也不太像真正的滾動發行版，它跟RHEL一樣還是有版本號的。既然它開發進度比Fedora要慢一些，且每個版本的維護時間長達5年，那麼把它理解為Fedora LTS也無不可，它還是有得到妥善維護的，這樣RHEL才能安心接受變更。當然Linux社群對它有無興趣那就是另一回事了。\n20251011 為什麼一堆galgame都要設定h scene截圖會變馬賽克呢，幸好遊戲都有CG鑑賞，所以破完之後勉強還能當播放器用\u0026hellip;啊，找到破解方法了，不要用Steam Overlay的F12截圖就行，使用Linux端的截圖工具即可，不過為什麼只擋Steam截圖呢？柚子社是不想讓人發現偷偷上架R18 patch？。如果真不能破解，就是逼人用GARbro或XP3Viewer敲碎.xp3檔案的內容呀～這些工具只有Windows版，Linux的我只找到一個Rust寫的xp3-tool。用這個工具解壓縮.xp3了還看到版權聲明，我好怕呀。\n20251011 雖然萊爾校長剛出來的時候真的很好笑，但後面出的第二集就有點狗尾續貂了。網友用AI製作的二創更不用說，無聊\u0026hellip;。\n20251010 There are two candidates for the emulation layer used to run Steam on arm64 - FEX-Emu and box86/box64 on postmarketOS 呼嗯～終於有人研究出在postmarketOS原生執行Steam的方法了，因為中間涉及在ARM平台轉譯x86，需要註冊binfmt，以前的host OS起碼得是Debian，現在它用Distrobox的方法取代chroot。雖然我照著做，跑一個Debian 12的Podman容器，還是敗在steamwebhelper瘋狂崩潰。如果不依賴Steam的話，Box86配Wine倒是勉強跑得起來。\u0026ldquo;Who needs a Steam Deck when you can run Steam directly on your Linux phone?\u0026rdquo; 這句話說的太早了，畢竟Android手機都能用Winlator跑Steam了，再怎麼說Android手機普及率還是比Linux手機高。\n20251010 關於為什麼我部落格文章，分享Linux軟體的安裝過程幾乎還是以指令為主，儘管我個人偏好GUI的解決方案？我也想啊\u0026hellip;啊我就沒辦法斷定讀者使用的發行版是哪一種咩。我個人偏好用KDE，那就是打開Discover去下載軟體。但對於更受歡迎的Ubuntu與Linux Mint的用戶來說，他們桌面的應用商店界面又不一樣了。Ubuntu還用Snap Store強推自家的壟斷標準。此外，Linux套件格式太多種，光常用的就有deb、Flatpak、AppImage三種，實在很難像手機一樣到應用商店點一下就能裝好軟體，也不存在「APK」的便利格式。此外，雖然很多應用商店前端能夠處理deb檔，但是我遇過不少次自身無法解決相依性問題的bug，導致使用體驗不佳。除非是SteamOS那種immutable distro，強迫所有人用Flatpak安裝軟體，那才能達到比較類似手機簡單安裝APP的感覺。到頭來還是指令最直覺。他們需要把指令自行轉換為圖像操作。\n20251009 Actual Budget是開源自架記帳APP，跟Firefly III相比，這個界面比較簡單。但沒有APP，全部用網頁，類似YNAB的介面。為了財產安全強制要求SSL，需要在掛載到Docker內部的目錄自簽SSL。\n20251009 我將安裝了6個月的Fedora Workstation切換到Fedora Kinoite繼續使用，重裝系統。這個系統分區保持不變，所以我應該很難弄壞系統吧。Fedora Kinoite跟uBlue Aurora比起來，預設安裝的東西比較少，需要手動加入一堆overlay。喔～toolbox比我想的萬能，toolbox (Toolbx) 是專門用來跑Linux容器的工具，裡面能夠使用傳統的DNF安裝軟體。既然rpm-ostree的方式那麼麻煩，不如全部都塞在這裡面，居然可以在裡面跑ADB。關於rpm-ostree使用時機，這真的很慢，簡單裝個小套件，就算是apply live也要等好久，因為要全部rebuild。雖然命令列工具應該在toolbx裡面操作，但我真的不習慣這種自斷雙臂的容器化開發呀。雖然系統是immtuable，但可沒有保證穩定性啊，KDE照樣隨機崩潰。結果換成Debian，對滾動發行版暫時死心。\n20251008 用行動裝置串流玩Steam遊戲實在太方便了。喔，原來Moonlight與Sunshine還有fork，叫做Apollo與Artemis，對應太陽與月亮之神，加入了建立虛擬顯示器，自動依照客戶端調整電腦螢幕解析度，可惜這個功能只支援Windows。儘管如此，我更關注的是它的Artemis客戶端實現，是相容Sunshine的（作者曾經被踢出了Moonlight的Discord群組，總有一天這個專案會變成hard fork啊\u0026hellip;\u0026hellip;）。我一直覺得Moonlight官方開發團隊針對Android/iOS開發的APP太簡陋了，螢幕鍵盤沿用手機的，觸控虛擬手把也不能自訂！逼人要外接手把，才能在Steam Big Picture Mode享有完整操作體驗。Artemis的fork很好的解決了這些問題，除了改善虛擬手把的鍵位外，還加入了類似Steam Deck的虛擬螢幕小鍵盤！還有很多便利按鈕設定，讓Moonlight不只是作為遊戲串流，而是真的能當遠端桌面使用呢。\n20251008 Umu Launcher，繞過Steam啟動遊戲。嚴格來說，這沒辦法破解需要DRM的遊戲。它是讓Steam下載的遊戲，能夠不依賴Steam客戶端啟動，畢竟總有人覺得Steam的CEF框架臃腫，也不想一直被Steam監控遊玩時長。Umu包含了Steam的runtime，這樣執行Proton的時候就不會用到系統的Proton，能讓遊戲行為跟從Steam啟動的時候保持一致。不過umu本身是命令列程式，使用上不太方便，所以要裝個前端來使用吧，例如Faugus Launcher。嘛，雖然功能複雜，不過有全局紀錄遊玩時長的Lutris還是更好選擇吧，他們還經營自己的Wine遊戲資料庫，感覺這個能夠作為Steam閉源平台以外「更自由」的選擇。\n20251007 Linux如何格式化並新增第二個硬碟？其實不需要打指令，Linux也可以像Windows一樣純靠圖形介面格式化新硬碟的。只不過這就得依賴桌面環境的實現了，我說桌面環境開發者應該要有是在開發一個整個作業系統的自覺！不要只是實現了基本的視窗操作就好（望向LXDE），應該要把Windows控制台也做出來，方便使用者用GUI修改系統組態。GNOME和KDE開發者都有作業系統的自覺，但我覺得KDE的實現又更為完整。我習慣用gparted來分割硬碟，不過這個程式只能編輯硬碟分區，沒有掛載的功能。這個任務交給桌面環境附屬的磁碟管理員比較好。例如在KDE桌面的操作，在格式化硬碟後，可以透過Dolphin掛載新硬碟，或者用磁碟管理員的程式編輯掛載點，一般來說會掛載到/media吧，並自動將變更寫入到/etc/fstab，令其開機自動掛載。\n20251007 喜歡幹孕婦屬性是不是一種出生點伏擊行為？玩War Thunder最討厭遇到這種spawn camping玩家。待ち伏せの夜戦\u0026hellip;啊啊，雷達照準射擊，好討厭。\n20251007 因為不想在玩Galgame到劇情高潮之時遇到Proton跳出錯誤（真的很解~居然在寧寧變身脫衣的時候遊戲崩潰），所以我決定重新在實體機器安裝Windows，使用GRUB雙系統開機，以備不時之需，執行那些容易在Linux出錯的遊戲。啊這\u0026hellip;太久沒用實體Windows，我已經不會用了，準確來說是debug的部分，不要找我當工具人修電腦，我連Mac都不會用。因為Linux什麼東西都有log能看，啊Windows很多時候遇到不明錯誤就是直接重灌。不知道為什麼我給MSI Modern 15筆電換了一條新M2 SSD之後，新安裝的Windows 11 25H2就沒辦法調整螢幕亮度了，而且切換Nvidia獨顯渲染的時候還會導致Brave瀏覽器變得超卡？可能是Intel or Nvidia顯卡驅動問題？重開機幾次，點選接收Microsoft其他產品更新後，Windows Update才自動下載Intel驅動，怪怪隆地咚。相較之下，明明在Debian 13功能開箱即正常。而且我明顯感受到了Windows 11介面在這個4核心的CPU上操作起來比KDE要卡。這下Linux真的是比較穩定的系統了。\n20251007 兄弟們又要到飯啦。最近為了騙吃騙喝到處參加講座，參加了一個針對外國人在台就業辦理的講座，嗚哇這個餐盒的雞肉真好吃。學校的語文中心\u0026hellip;對他們來說就是語言學校吧。透過這個特殊的視角，能夠意識到來自世界各地不同的人，不論是東南亞還是日本韓國法國，分享他們如何從操著一口不流利的中文，到能夠取得就業機會的方式。曾幾何時，我想，在我有錢出國當小留的那個時空，可能也會遇到這樣的情況吧。哈哈，從經濟考量，我頂多只能用訪學的名義去個寒暑假而已吧。現在，我只能幻想自己\u0026hellip;\u0026hellip;帶入他們的視角，了解到在人生地不熟的地方如何運用自己的實力走出一席之地，雖然他們的簡報語言用字很簡單（甚至有標拼音），背後卻是不知道花費多少努力才做到的。身為外人雖然不能體會外國人的艱辛，這依然是一次寶貴的經驗。\n20251004 心無罣礙，無罣礙故，無有恐怖，遠離顛倒夢想，究竟涅槃。歡迎回家，回到point-to-release的懷抱。我實在不能忍受滾動發行版了，長期以來都是在副電腦測試滾動發行版。不過臨時要用的時候一更新系統很容易陷入不穩定的情況，很躁。KDE在滾動發行版非常不穩定，Arch和Fedora皆然，有人會說啊滾動發行版有rollback機制不用擔心滾掛，如果將系統視為一個整體，Linux很難把使用者的軟體與系統的分開，這就導致rollback困擾，在一次升級後系統出問題，而究竟哪些套件會被降級？我不喜歡滾動發行版。所以最近又回來用穩定發行版了，遂選擇搭載KDE 6.3的Debian 13。雖然我知道這個版本的KDE Wayland還是有機率崩潰，但可預見的是未來兩年內不會有更多未知的bug出現。順便講一下雖然我推崇Linux Mint給新手，但是我自己身為賣香腸的卻不敢吃香腸的原因：Cinnamon對HiDPI的支援度不是很好。各個方面，從美感到功能，跟KDE比起來都像降級版~最近我總算認知到Debian Stable的KDE版本更新比Kubuntu LTS快一年的事實，看看Debian 13的KDE 6.3對比Kubuntu的KDE 5.27\u0026hellip;啊啊，看來有必要全面切換手上的系統了。\n20251003 Spotify總算推出了無損音質了！依照帳號依序開放，先是Android收到更新，讓我的Sony DSEE顯得多餘，接著就等Linux端實裝了，這將會成為第一個在Linux上能夠用客戶端播放無損音樂的平台（Tidal則是能透過網頁聽），PipeWire理應不會重新取樣，能直接播放最高音質音樂！我差點因為無損問題回去訂Apple Music，但想到我的收藏每次退訂都會被清空就不想這麼做了。雖說沒有萬元設備聽無損也不過是在裝逼而已啦，且Spotify的無損也不過CD等級的24-bit/44.1 kHz FLAC音質罷了，不過有總比沒有好。Spotify的API很開放，所以未來透過第三方客戶端聽無損也不會是問題，例如GTK寫的Spot和Rust寫的spotify-tui。\n20251003 總覺得我被woke思維影響了呢。現在看著日本動漫作品的時候都會想到「這種殺必死是不是男性凝視呀」的問題，或是覺得「東亞男人外表傳統拘謹，但實際上卻是這麼悶騷的嗎？」，這種感覺難以描述啦，就是說看著瞇瞇眼的御宅族對美少女抱枕滿足的樣貌就覺得不適，雖然我自己也很喜歡。雖然對男性向客群十分明顯的作品做出這種DEI判斷容易遭致非議，譬如看看朱家安的下場，但看著這類作品佔據主流地位就會很不舒服。好吧，他們說幫女權主義者講話也不會幫助你破處的，問題根本不是操逼不操逼好不！保持著這種思維只會成為incel。當我們作為intellectual，過度重視理論大於實際需求的時候，就會產生自以為是的外行引導內行的說法。說好聽點是太前衛你根本是，講難聽點就是違背人性。這樣為一個好處就是，嗯，我想，如果沒有歐美思想的狂暴轟入的話，任憑日本思維佔主流，我應該會真的成為100%的惡臭國男。\n20251002 通关后抑郁：当结束游戏变得空虚 - IndieNova 入戲太深的問題吧，或許我不太喜歡玩戀愛遊戲——就算是廢萌類的遊戲——恐怕就是這樣，很容易帶入對角色的感情無法自拔，最近玩了柚子社的遊戲又有了這種感覺。我真的信了「你这个情况我还真见过。这样吧，你先在steam 搜索\u0026quot;千恋*万花\u0026quot;点击购买安装好后立即运行打开千恋万花，在主页面点击开始游戏进入游戏页面，然后依次选择\u0026quot;说实话\u0026rdquo;、\u0026ldquo;不好说\u0026rdquo;、\u0026ldquo;我觉得很可爱\u0026rdquo;、\u0026ldquo;单独行动\u0026rdquo;、\u0026ldquo;摸摸头\u0026rdquo;、\u0026ldquo;感觉有点担心\u0026quot;进入丛雨路线。」的一行文攻略，結果心病沒好反而因為遊戲結束後更空虛了；反而是充斥許多中二科幻設定的遊戲比較喜歡，例如Fate/Stay Night，戀愛元素在厚厚的設定集之下只能算是附屬的甜頭，你、你想嘛say hi say so可比老虎鉗要吸引人多了（？），雖然讓人著迷但不會在退出後有揪心感，也不會在破關後有「虛假的戀情結束了啊」的空虛感。不過，要對一款遊戲長時間沈迷是不容易的，除非是大型開放世界遊戲如Minecraft，又有一堆續作的作品，故，解決玩完遊戲後惆悵感的最簡單方式就是再找下一款遊戲沈迷。講的更成熟一點的來說，把遊戲帶來的感受作為養分，然後應用到現實中去找到目標去沈迷。透過「遊戲」改善生活（下）：如何避免玩完遊戲後的空虛感？ - TheNewsLens\n20251001 Ubuntu的Moonlight遠端桌面終於修好了，究其原因乃是因為我使用了Nvidia PRIME致使Sunshine伺服器抓不到顯示卡，但明明Intel應該也能負責串流的說？總是顯示Fatal: Unable to find display or encoder during startup.的錯誤。過去因為Wayland圖形bug，加上需要使用Waydroid因素，所以我用Intel作主顯示卡，需要的時候才使用Nvidia PRIME算繪。不過最新版575驅動Nvidia對Wayland和XWayland支援度好多了，所以我就放心的使用KDE 6 Wayland了。在Linux使用NVIDIA PRIME Render Offloading真的是在asking for trouble。最多問題的地方在於Steam方面遊戲會有各種bug，連帶的Steam Link也會黑螢幕。總之，這樣我就能用手機串流玩YuzuSoft的遊戲了。這些Steam版遊戲的patch不用額外執行程式就能安裝。\n20251001 看到柯文哲被放出來，阿北重新回來拍片，有種安心感。\n20250928 Uncensor any LLM with abliteration - HuggingFace 新型語言模型的去審核方式，與其用提示詞越獄，不如從源頭解決問題，也就是一開始就用去審核的語言模型。許多公司釋出的本機LLM都有內建道德機制，會拒絕回答特定的問題，譬如中國的Qwen有很多敏感詞，政治問題不符合官方意識形態就會拒絕回答。Llama也是，不符合政治正確的問題可能會被迴避，當然也無法任意色色。過去，解決這個問題的方法是重新用敏感的語料訓練一次，成為uncensored的模型。現在比較快速的方式是執行名為「abliteration」的步驟，即ablated + obliterated，消融與抹去，讓LLM取消掉拒絕回答問題的機制。這裡面只有一層就能繞過LLM的拒絕能力。不過因為缺乏相關禁止話題的訓練，假若你問的問題語料庫裡面完全沒有，他們可能會不知道怎麼回答。總之，abliterated的方式似乎是最受歡迎的去審核方法，Ollama官網有許多人專門釋出這類模型。\n20250928 現在應用程式工作列置中似乎已經成為趨勢了，GNOME 40跟macOS一樣都是下放置中，連許多Android平板都這樣設計，不過KDE 6依然維持傳統桌面的樣子，工作列在左下角對齊。以前我還會專門裝Latte Dock自訂工作列，不過這個程式在Wayland時代似乎維護的不太好了。\n20250926 FuriLabs FLX1S，這是目前規格還算不錯的中階「真Linux手機」。新Linux手機發表，不，應該說是小改款\u0026hellip;售價550美金，搭載天璣900處理器，128GB儲存空間，5000mAh電池，還有物理5G模組的隱私開關。為了相容原廠驅動，所以搞了Halium技術。規格相比2024年的FLX1下降了一點點。根據現有情報，搭載的系統為基於Debian的FuriOS，桌面環境為Phosh。內建KVM跑虛擬機，還有多重開機能力，可以跑Ubuntu touch，還有從Waydroid修改來的Android相容層。雖然吹了這麼多，YouTube上已經有一些官方示例影片，目前還在等有沒有勇者買來開箱。Brodie Roberston有買過舊款FLX1 I Tried A Real Linux Smartphone, Its\u0026hellip; 影片評價看來不怎麼樣。\n20250926 還是搞不太清楚Linux的OOM Killer如何判定的😗過去KDE如果一個行程佔用太多RAM（連SWAP都用完的情況下），終端機也就是Konsole會被系統殺死，但因為沒有提示，看起來就像崩潰一樣。現在KDE 6起碼有個提示了。會遇到這個現象是我在用Stable Diffusion生圖的時候載入太多模型，佔用過多RAM所以被系統保全自我所以殺死了。這樣看來Linux似乎會把圖形界面的行程當成優先級保護嗎？聽說Windows和macOS都會優先保全圖形界面回應。顯然不是的，因為有時候我用Ollama跑語言模型佔用過多CPU與RAM，系統是不留情的直接當掉的\u0026hellip;如果是只有Wayland或X Server當掉還好，最怕連SSH都不給進入。Linux核心有oom_score_adj可以設定，這能限定哪些行程不被殺死。話說我會接觸到Tiling Window Manager就是因為Stable Diffusion生圖吃RAM吃太兇，我想說用輕量一點的桌面環境是否就能夠騰出額外的2GB RAM給程式使用，後來發現不如zSwap開高一點有效。\n20250926 極端主義就要用極端主義來治，漢本位和劉仲敬的信徒我認為都是一群精神病患，玩網鍵政上癮了就什麼都用這套理論解釋。然，台灣有一群獨派堅信姨學，例如蕪菁雜誌的主筆，用支黑理論結構中華民族來達成發明新台灣民族的目的，這是危險的事情，正好要對抗這種思潮的做法，就是看漢西斯的大一統思想來對沖！比民國派還要極端的皇漢群體，兩邊都能算是一種右翼，共同點是反共，不過對人類文明的走向看法不同。每次看到這些思想就覺cringy。\n20250925 Scam repo #174228 最近Github收到了消不掉的藍點通知轟炸\u0026hellip;惡意bot自動建立repo，mention一大堆人，但是在我們的界面卻看不到消除通知的按鈕，致使Github右上角的藍點一直是亮的，只得自行寫腳本消除:The curl command below will mark all of your notifications as read and, with any luck, will take care of that phantom message for you.​\n20250925 問：「公民團體」都說要防範境外勢力的假消息攻擊，但如果政府的作為本身就很該死，那麼這種防範是否就沒有必要那麼重視了，或者說是政府自己活該呢？對一個喜歡僱用大內宣網軍進行洗腦的政府，透過AI生成的聳動假圖卡進行反擊，不就是他們應得的報應麼？答：縱然政府本身該死，但是散播謠言本身並不會促進公共討論品質。「善良的念頭還有無能的正義沒有辦法去解決問題」\n20250925 我有個夢想：讓Linux解除安裝程式能像Windows那樣直覺。或者起碼像Android手機一樣，有一個應用程式列表能簡單點選解除安裝APP。我個人用下來，覺得只有Flatpak能作到這種操作吧。Flatpak管理前端程式Warehouse的界面就有簡單明瞭的顯示。再加上Flatpak全部都是以user模式安裝，解除安裝不需要sudo。Flatpak設計的各種資源存取權限，也讓它比較接近Android手機的權限管理模式。FlatSeal就很好的展示了這點。如果以後user-space的程式都以Flatpak安裝，the world will be as one（說誇張了點）不過目前各大桌面環境的開發者可能沒有辦法設計的這麼簡單就是了== GNOME看起來是有意簡化程式安裝過程，你在桌面點一下應用程式資訊，GNOME Software的前端就會跳出來。問題是，這只有在程式都使用deb或者Flatpak套件的情況下才能透過AppStream抓到APP資料。如果deb是野包或者AppImage，就會完全找不到資料。就會變成到頭來還是要打指令解除安裝。apt remove和apt purge還不見得會完整刪除程式。我想說的是，Linux的系統套件和使用者套件似乎沒辦法很好的分開，故管理套件便有毀掉系統之可能。這樣恐怕要immutable distro配Flatpak才能做到良好的應用程式管理。\n20250924 OpenCut - A free, open-source video editor for web, desktop, and mobile. 一群看剪映不爽的開發者搞出來的玩意，官網甚至有直球辱罵CapCut的文章，說什麼都要錢～！ Fuck CapCut. Roasting time, so get ready motherfucker. 這是自稱CapCut的開源替代品，這可能是我一直在等待的網頁影片編輯器～看起來很有潛力！尤其是Android/iOS平台，嚴重缺乏開源的影片編輯APP！可惜有中國公司推出了同名的OpenCut網頁程式（注意網址：https://opencut.net），壓根就不是開源的，導致一些人搞混。實際上手操作了一下，OpenCut目前有簡單的剪輯功能和多重軌道了，還有自動AI上字幕，影片都是在本機處理的？這個界面目前只適合PC與平板使用，而且如果上傳非H.264的影片編碼還會導致瀏覽器分頁崩潰。這個處理影片背後可能是用WebAssembly，不曉得能否負荷4K影片剪輯。\n20250924 有人提議將Immich整合進照片編輯工作流，不過不知道怎麼做？Immich或許能成為一個生態系，畢竟Immich Power Tools這類程式都出來了，但這還不完備。Immich目前偏向相簿管理程式，沒有Google相簿簡單編輯照片的功能。這個時候還是需要一款專業照片編輯工具，達成類似Damselfly的操作體驗。我們可以用LinuxServer打包的映像檔，在網頁瀏覽器裡面操作digiKam。用Docker跑digikam，掛載Immich的照片上傳目錄即可。目前只有x86映像檔。如果要用ARM映像檔，可能得用WebTop再以Proot apps方式安裝，因為LinuxServer過去打包的ARM映像檔都會導致SegmentFault。\n20250924 Jellystat是給Jellyfin加入觀看記錄統計面板的小程式，是獨立執行的，並非作為Jellyfin plugin提供。它能默默在背後統計影片觀看時長，類似Netflix的觀影動態。能夠用來統計年度最愛觀看的影片是哪一部。我是覺得如果Jellyfin能播Youtube，這類工具會更有用啦，但Jellyfin仍偏向播放離線媒體的工具。\n20250923 為什麼全家不繼續賣蔬菜＋通心粉肉醬義大利麵了呢\u0026hellip;這明明是好吃又健康的選擇。7-11眼見搖搖沙拉義大利麵賣不好也把他下架了。在架上永遠不會消失的只有麻婆豆腐\u0026hellip;以前我很常吃，可是腸胃不好，不能隨食品嘗美味了。有時候，心情不好就會亂吃一頓，例如麥當勞點到300元，薯條全加大，再吃全家的辣炒飯，但是腸胃不好就不敢再這樣亂吃了\u0026hellip;。現在吃蔬菜的清心寡慾程度已經快要出家了。\n20250923 unixchad - 频道更新一年了，这是我对内容创作者的看法 我得說，這個頻道實在太對我這個GNU/Linux nerd的胃口了！中文圈（即使是在大陸仍算是）少見的Free Software Youtuber，頻道會介紹許多suckless的軟體教學，這批很純！引用的梗圖和短片都正中紅心，只有自由軟體愛好者圈內人才懂梗，哈哈。他又比Luke Smith帶有更多的一點人文精神。這部影片說的很好，你除了攝取別人製作的內容外，也應該嘗試自己創作一點什麼東西。創作者無法預測哪部作品會爆紅，一切就順其自然。一個人所帶給這個世界的東西，會遠遠超過他自身出生時的存在！還在等什麼，快用Hugo + Cloudflare Pages架一個自己的網站吧！\n20250922 每次用ComfyUI都覺得頭腦打結了，只是想簡單按個鈕生圖而已，覺得還是用簡單一點的Stable Diffusion WebUI好。A1111的版本好幾個月沒更新了，SD.Next發展的方向完全不一樣，現在SD WebUI Forge版本似乎是比較主流的選擇，生圖速度有大幅優化，對新模型Flux的支援度也好。\n20250921 對PTT八卦板價值觀感到憂心，我有點不喜歡這個社群了，雖然我已經參與討論快10年。巴哈場外政治傾向跟八卦版相近，但起碼還有人不定時貼油圖，可是八卦板這些人眼裡只有政治，還有各種老中人的惡臭發言，歧視女權、文組、南部人等等。雖然挺柯，但是主流價值觀已經越來越趨近牆內小粉紅，遇到西方世界的事情都留一堆極右陰謀論，還有東升西降的言論，反DEI等等。並且對許多民進黨議題無腦反對，只能勉強接受Cheap這類淺綠的言論。這個可能是支持民眾黨會必然造成的現象，拿捏不好對中親善的分寸，就會變成館長現在的親中態度吧，這樣不好，這只能吸引到臭味相投的人士。\n20250921 Open WebUI是幾乎抄襲ChatGPT的聊天前端，現在我覺得它bug越來越多了呢，Ollama端沒問題但是網頁容易卡死。再加上他們修改開源條款，從MIT改為版權所有，從此變成了假開源。或許我們得考慮改用其他Ollama網頁方案，或者原生的前端程式，例如GNOME Newelle。\n20250920 現在看來，過去的聖火玉尊可能比現在的89教科書好，都是以低齡屁孩為目標的網紅。以前看黑粉做meme嘲諷酷bang石的歌曲覺得好笑，但後來再聽聽，覺得其實也沒那麼糟嘛，看看根本不會再見面，再看看帕拉梅拉\u0026hellip;。\n20250919 看身心科沒有什麼好丟臉的，適當的求助並不是弱者。不過要搞清楚身心科診所不見得提供諮商服務，以我粗淺的觀察，縱然醫師會願意聽你發表怨言，也不見得會給好好反饋的或給予關懷，所以要適當控制發洩的力度，否則吐完一長串苦水，醫生也只能苦笑，無法給予具體的改善步驟。只能說是負責開藥的，看感冒的概念，治療物理症狀，像我有胸悶和提不起勁的問題。主要是能夠防止在緊急情況下，因精神問題做出傷害自己與傷害他人的情事。大部分藥費都含在健保，不太需要擔心費用問題。至於長期的精神保健，還是需要額外找諮商師談談，例如我有現狀與前途自我矛盾，網路和現實無法調和的問題，看是要用政府機關免費提供的還是自費的都可以，這個健保就難以cover了。最重要的是始終相信：活著，總會有辦法的，然後，運動比一直吃藥更好。\n20250918 Flux Kontext能夠能夠理解圖片原本的內容，保留圖片原本角色的特徵，根據需求進行編輯修改，譬如讓人物變更姿勢。這個模型的出現，看起來已經能夠取代需要額外訓練的ControlNet與IPAdapter的呢，因為ContolNet需要針對個別模型訓練，還有一堆複雜模型選擇，如果能在一個步驟內就處理完那就是再好也不過了，Flux Kontext透過文字指示就能讓AI辦到編輯圖片的操作，取代了串一堆ControlNet節點的複雜操作。Flux體系能否取代SDXL為主的工作流？只要LoRA多起來，訓練成本降低，那麼應該能夠做到全取代。另外一個值得關注的模型是Qwen Image Edit，已經有人用這個模型復現Nano Banana生成公仔包裝的玩法了。\n20250918 在雙語政策中，CLIL適用於中小學，EMI適用於大學！要讓這些食古不化的人適應新時代的教學法實在太難了。要是做事做一半，變成學校教書不力，補習班的Grammar Translation教學法又會重新受到家長青睞。\n20250917 前陣子Asashi Linux跟Fedora結盟的新聞出來的時候，有人問為什麼不找Arch Linux合作，然後有人說ARM平台的Arch Linux十分之糟糕。要移植到Apple Silicon平台會產生很多問題。是的，Arch Linux和「Arch Linux ARM」是二個完全不同的世界，後者明顯缺乏大型社群維護。這跟Debian不同，Debian團隊一次維護好幾個架構（x86、ARM、RISC-V），因此其他平台生態系的用戶也能受益。作為滾動發行版，這是很危險的。Arch Linux本身就是x86架構為主的發行版，獲得許多用戶的喜愛，更新雖然有機率出錯但修復也來的很快，不像是Arch Linux ARM，好幾個月的套件可能都是壞的。會造成這種因素除了社群普遍沒興趣之外，還有ARM架構的碎片化問題吧，每一部裝置都有不同的開機程式，圖形驅動程式也不盡相同，除了樹莓派基金會之外，那些製造SBC的廠商也不見得願意把驅動放到上游。面對社群低度的興趣，即使是包山包海的AUR在這裡也會被架構不相容所gank。就我自己操作PineTab 2的經驗，搭載Arch Linux ARM的這台平板，每幾個月GNOME、Phosh、Hyprland的Wayland環境就會隨機壞一次，完全無法進桌面，也很難有人能即時修正。\n20250917 Sony - Xperia Taiwan - 【Xperia 10 VII 🔹實在・有型】 - Facebook 最近Xperia 10 VII總算上市了，Sony在Facebook的宣傳經費看起來下了重本。雖然無法像Xperia 1 VII強調高階硬體實力，不過推出了許多宣傳外觀與系統功能的可愛小人圖畫，將新出的土耳其藍與初音的配色連結，甚至推出把背後突起鏡頭與手機殼之間的縫隙當作放入個人化卡片的玩法。可以說這次的宣傳比以前賣力，將自身的缺點全部講成優點～我覺得這樣的操作是很好的，只是小編會不會發太多篇了，一直在動態牆看到。某種程度來說我對Xperia的喜愛確實已經變成了信仰，類似果粉看到Apple出什麼垃圾都支持的感覺。儘管Sony常常遭到冷嘲熱諷（包括索粉自身），說低規高賣，界面設計沒特色等等，但Sony還是我行我素，只針對一些地方做出改進，譬如放棄21:9螢幕，等了好幾年終於下放120hz等等。但我想，真正知道自己要什麼的就會去買Sony的手機，而非是用CP值下去考量。畢竟沒有人能在價格戰上打贏支產手機；面對資源更豐富的Samsung和Pixel，Sony投入再多錢也不可能從中階機回本。但，沒有腦袋破洞的螢幕，加上機身輕盈，耳機孔，以及接近原生Android系統，就夠讓人繼續當死忠用戶支持10系列了。我確實不是很在意處理器玩遊戲的效能如何，只要有續航又輕巧就行了。至於Sony照相落後的問題，就靠Gcam救援。\n20250917 【書影心潮】2016年的異星入境(Arrival)不是一部典型的科幻電影，裡面沒有人類大戰外星人的環節，相反，這是一部用語言學理論下去闡釋的外星人交流故事，還提醒了人類要團結一致，世界局勢是一種非零和遊戲。女主角女兒的名字Hannah不論正著寫還是反著寫都一樣，跟外星人的語言類似。這部電影改編自美國科幻小說家姜峯楠的短篇故事《The Story of Your Life》，因著2023年我修美國近代文學史了解到這部作品，雖然教授後來在課堂上為了方便解釋科幻概念，直接放老高影片讓我很不爽就是了。這部電影後段呈現女主角往後人生的表現手法讓人想到《Still Alice》的運鏡。電影帶出了語言學以及命定論的概念，將語言決定論與宿命的概念巧妙的揉合了在一起，適合對語言和文學有興趣的人士細細品味。說實話看到女主角學了七腳怪的語言，就能預知未來，覺得蠻扯的XD 大學教授拯救世界！不過這也是一種沙皮爾沃爾夫假說（語言相對論）的驗證吧，即「學習某種語言，思維就會受到該語言影響，甚至會影響到我們認知世界的方式」，這可以從許多語言擁有的時態去觀察，了解世界各地的人類對時間的認知有多大的差異。儘管主流學說不認為沙皮爾沃爾夫假說有說服力，但這確實是作為科幻小說的一個好題材！我個人經驗覺得，學習母語以外的外國語言，並沈浸其中，彷彿忘了母語的存在，確實有可能會讓我修改思維方式。因為學英文和日文都靠感覺與強記，總覺得過去我有一段間說英文是完全靠直覺在講的，不懂文法詞彙結構，靠語感，導致我講了長篇對話闡述觀點的時候就像中邪了一樣，會有一段時間不記得自己講了什麼，而且會傳染英文的說話習慣到中文上，例如把時間副詞移到句尾。但，如果站在Generative Grammar的角度來看，所有語言都具備一樣的共通屬性，句子是有統一的文法建構出來的，那麼這種語言改變思維的學說就很站不住腳了！加上這幾年我進修了許多基礎語言學知識，了解語言組成的基本結構，學習語言的過程被「祛魅」許多，就不會再單純靠感覺學語言了，而是會開始去拆解結構和文法，知道自己真正在「講什麼」。\n20250916 這個地方真的越來越詭異了，iOS 26帶來極其噁心的Liquid Glass界面，但有許多程式仍在使用Flat Design，顯現出一種視覺的極度不協調感，期望Android廠商不要馬上跟著抄，我就看支產手機什麼時候連這種玻璃設計也要抄過去，期望Google能繼續堅持Material Expressive的風格吧。對iPad用戶來說，iPadOS 26最大的改動是視窗系統，這是優點，總算有了自由調整視窗大小的按鈕，操作方式照搬macOS的三個點點，並加入方便觸控操作的將視窗貼齊螢幕邊緣的選單鈕。此外，多視窗模式能夠在任務中心開關。這個視窗系統取代過去彆扭的分割顯示(Split View)和滑動置前(Slide Over)，視窗能夠自由並排。這下我真的沒有越獄的理由了，MilkyWay的tweak功能都被實現了。我得說，這讓iPad操作看起來不那麼直覺了，因為以前只要滑動APP圖示，就會進入分割畫面，視窗也能重疊上去。但有了完整多視窗系統後，Split View和Slide Over就顯得多餘了，也無法透過拉動APP圖示進入分割螢幕。現在，iPad的這種分割視窗按鈕不太適合觸控操作，反倒是比較適合接上鍵盤滑鼠來輔助吧。看得出來Apple有針對觸控操作問題做出優化，例如視窗並不會顯示三點加全域選單列，而是要滑動才會出現，因此迴避了生搬硬套Mac電腦視窗界面的問題。\n20250915 不要忽視藝術與人文的教育，雖然過去很多年了，我依然記得小學時候音樂課聽過的許多經典名曲，例如舒伯特的魔王（Erlkönig，有OxfordSong製作的恐怖動畫版，給小孩子看這個是不是有病==）、聖桑的動物狂歡節(Le carnaval des animaux)、普契尼的杜蘭朵公主徹夜未眠(Nessun dorma)、中國民謠紫竹調等等。儘管小時候不知道那些音樂家偉大，要長大後學過歷史才能從更多元的欣賞方式切入，卻是潛移默化的讓人了解好作品。比起教〈我愛雨夜花〉、〈好的事情〉、〈歡迎光臨〉這類當代的流行歌曲，這些經典作品欣賞才是讓人多年後體會到老師的用心，後勁更強的存在呀。所以不要用功利的角度看待，認為音樂課看影片欣賞音樂都是在浪費時間的\u0026hellip;well，雖然我確實遇過國中音樂老師（可能是代理老師？）好幾個禮拜上來都直接放2012年的〈悲慘世界〉電影然後拖到下課的，超混的好不好！不過我確實蠻喜歡這部音樂劇的，現在仍常常複習。還遇過有音樂老師當面嗆我的童年偶像周杰倫長得很醜，結果播放大支作品宣揚自己饒舌品味的（但是大支在瘋狂舔民進黨之前的作品是真的很不錯的，例如與達賴喇嘛對談的〈人〉，拯救流浪動物的〈最後的早晨〉）。至於大學的音樂欣賞通識課程\u0026hellip;好吧，那又是另一回事了，雖然台上音樂系老師認真講解音樂劇的內容，說唐璜(Don Juan)與卡門(Carmen)的演出技巧等等，但大學生包括我在內翹課比例非常高，再加上在放映室上課，一堆人都睡死了好不好\u0026hellip;現在想想真對不起他們。\n20250914 Set up a Chromecast from a Linux PC, without an Android or iOS mobile device and without Google Home 發現有人寫了一個指令稿，能夠繞過手機Google Home APP，直接從Linux電腦初始化Chromecast裝置！喔\u0026hellip;但是它必須要讓Chromecast先連上乙太網路才能透過IP配對，這代表我們要額外花錢買特殊的microUSB轉RJ45加上USB供電的特殊轉接頭，麻煩。\n20250913 講到Linux對標Windows的「記事本」程式，不知道為什麼好像蠻多人都預設Linux一定要用命令行編輯文字，vim和emacs好用歸好用，不過不是每個人都活在SSH終端機裡面。事實上Linux的輕量圖形文字編輯器非常多，例如Zed和Sublime，重型的就是大家熟悉的VS Code與其他IDE。桌面環境多半也會內建文字編輯器，例如GNOME Text Editor、KDE Kwrite、XFCE MousePad、Mate Pluma、LXQT FeatherPad等。他們多半都有程式碼語法突顯的功能，而非單單只是編輯txt文字而已。我個人比較常用的是KDE Kate文字編輯器，QT寫的，感覺是小型VS Code IDE，或者說Notepad++的替代品，開啟速度很快（一秒內），有Git管理功能和批次取代文本，以及終端機與檔案管理，我覺得能應付大部分檔案編輯需求。\n20250913 這不是好事，我開始聽得出音響的好壞了，只要價格每加500，音質就會慢慢上升一步。前幾個月還認為八百元的SP-HM-BT255藍牙音箱比四百元的舊電腦喇叭SYSP-6711U好聽，有重音ㄟ，原本的聲音未免太平淡。然後來了一千五的Edifier R19BT，徹底被比下去了，怎麼以前聽的音樂出現了好多細節，以前聽的喇叭到底是怎麼回事，還有為什麼那麼多人願意花貴森森的錢買單聲道的藍牙音箱！？雖然我這個藍牙音箱支援3.5mm輸入，但輸出就會變成有一個聲道消失，很是困擾，好像只有藍牙模式才會自動合併聲道。總之，如果見過陽光，就會陷入無盡的追求。\n20250912 Unpopular opinion：Rust寫的Ghostty到底好用在哪裡？為什麼不用桌面環境內建的終端機就好了？可能是因為我用KDE的關係，GTK程式在QT主題看起來不是很好看。然後它的分頁選單長的很像GNOME Console\u0026hellip;然後呢？Ghostty的功能Konsole幾乎都有。對非Tiling WM的Linux用戶來說，為什麼終端機需要GPU加速和彩現圖片的能力？難道你都是用TUI程式用上癮的大手子？雖然Ghostty作者是真財富自由的男人，做這個專案是興趣使然，但人們是不是對這個專案過度hype了？\n20250912 以前從Windows全面轉向Linux的時候，對是否保留Ubuntu與Windows兩個分區的做法表示疑惑。我說：不！一旦有雙重開機的分區存在，就會存有僥倖之心，想要切換回去。最好的方式是就是完全擺脫Windows的存在，逼迫自己用Linux的方式做事。這原則堅持到現在，一個硬碟不能一國兩制。我對WSL的態度沒有改變：除非工作環境被迫在Windows坐牢，或者有Windows程式是非用不可，否則在實體機安裝Linux仍是比較好的選擇。就像，Docker在baremetal的Linux系統效能依然碾壓WSL與OrbStack一樣。對那些把Linux當成用完即丟工具，連虛擬機都用不明白的norime，完全切換系統到Linux屬實是太難了些，WSL就很好的填了這個坑。在Windows上跑Linux虛擬機，底層本質仍是不自由的系統所構成，還有數不清的監控系統，更別說還有overhead了。WSL有WSLg能夠跑Linux GUI程式，然後呢？為什麼Microsoft只有給WSL裡面的OpenGL寫DirectX轉譯層，卻不讓Linux原生支援DirectX，還要社群用DXVK轉譯呢？.Net千呼萬喚才有Linux版，但卻是只有.Net Core，這背後原因，你細品。這種使盡辦法留住開發者不要離開Widnows的商業策略，依然是Embrace, extend, and extinguish的一種變體。應當切換到Linux，並在其上跑Windows虛擬機才是。該在監獄裡的是你，不是我！\n20250910 現在手機腦袋普遍有洞，為什麼都要有凸眼怪！？我在物色未來能取代手上Sony Xperia 10 V的新機。希望是輕薄（\u0026lt; 170g，小於6.1吋）又長續航的（GSMArena測試 \u0026gt; 175小時） 又能夠刷機的。 最近上市的手機中，這幾台格外讓我關注：Pixel 9a、iPhone 17 Air、Xperia 10 VII。他們都很輕薄，續航力也都不錯，但這年頭凸眼怪趨勢是回不去了。iPhone 17 Air重量169g是很讓人驚豔，但\u0026hellip;iOS嘛，敬謝不敏。目前最不突的手機可能是Pixel 9a了，視覺上看起來比較舒服。裝殼不會為了保護鏡頭而增厚整體厚度。不過三星製程處理器不值得信任，所以我還是等手機自然壞掉，等Xperia 10 VII跳水再買這台好了。\n20250909 Spring Cleaning - New Images and Rebasing 有沒有可能VNC VDI也能用來玩遊戲呢？LinuxServer.io打包的許多Docker映像檔，讓使用者能夠從網頁瀏覽器操作Linux桌面程式，許多傳統應用程式因此而受益，譬如讓calibre在headless的NAS伺服器管理書籍。背後曾經用過許多不同的遠端桌面後端。從Apache Guacamole到KasmVNC都有，為的是要超越noVNC的體驗，現在，他們宣布要採用最新科技Selkies，傳統VNC混合最新WebRTC，宣稱能夠提供60FPS的效能，並且同時傳輸畫面與音效，能夠提供近似Sunshine與Geforce Now的遊玩體驗。儘管Selkies最初是為了在HPC上跑AI計算所開發的遠端桌面。因為要用到GPU加速，再考慮GPU驅動因素，目前看來只有支援x86架構，且對Nvidia閉源驅動不友善。有趣的是，LinuxServer有打包docker-steamos（使用Sunshine），還有以Docker為主的Linux系統VDI方案WebTop（使用Selkies），日後Selkies或可作為Sunshine雲端遊戲的替代方案，嗯不過我實測即使在localhost，容器內的PulseAudio音訊延遲還是很高呀\u0026hellip;畫面看似順滑也只是障眼法。\n20250909 說真的，Joplin同步筆記是不怎麼吃空間的。只要沒有一直上傳大容量附件的話。這幾年我寫了200篇筆記，Markdown檔案也佔用不到1GB。不過目前困擾我的問題就是太慢了。先不考慮官方付費方案Joplin Cloud，儘管理論上它是速度最快的。Joplin免費的同步方案有Onedrive和Dropbox，但是他們太慢了，因為使用免費API的緣故，上傳速率有限制，他們也沒有針對同步許多小檔案優化。一個裝置幾天沒同步，更新幾百篇筆記的同步狀態就要等5分鐘以上。如果要搞WebDAV，則需要擁有一台常在線上的NAS或伺服器。至於Syncthing同步目錄的方案，會遇到iOS不支援檔案系統同步的問題。那麼就剩下S3方案了，只要是相容Amazon API的object storage都能夠同步，供應商包含AWS、Cloudflare、Backblaze、DigitalOcean、Linode。如果用物件儲存空間同步的話，幾乎無限容量，速度又快。加上Cloudflare R2提供上限非常高的免費方案，起碼每月有10GB的容量和幾乎無限的頻寬，一般人用是很划算的，不可能把免費額度用完。缺點就是有點門檻，要懂得設定金鑰、認證規則、S3水桶。\n20250908 「Youtube禁止使用廣告攔截器」？f**k that! 最近越來越頻繁看到這個訊息了，儘管Brave開發組和uBlock Origin很快就會釋出patch修正，但被抓包的感覺還是很不好。現在有一種approach是繞過正規Youtube網頁API方式，直接從googlevideo. com解析影片播放，跟Youtube ReVanced完全不同。這樣讓Google難以追蹤使用者的觀看動向，也帶來無法登入Youtube帳號的負面效果。不過，對單純想看Youtube影片，不想被廣告打擾，也不想被演算法控制視野的人來說，算是很堪用的。採用這種方法的方案有FreeTube (電腦)、NewPipe (Android)、Invidious (Web)，其中Invidious是一個能夠自架的方案，去除所有干擾人的元素，只專注播放影片，甚至連Javascript都不必啟用。鑑於別人架設的大型共享站台容易因為流量過高被Youtube封鎖，自己架設一個是再好也不過了。\n20250908 Terry A. Davis是美國傳奇程式設計師，可能是思覺失調症患者。因為會一邊直播寫程式，一邊罵n word，又說自己是天才程式設計師，被一些人視作meme，遭受4chan老哥嘲弄。他還曾經直播用Ubuntu寫信給CIA，說你們會被上帝之拳— A10攻擊機的機砲給殺死。他認為市面上所有系統，包括Linux，都有各國政府埋的後門（看看xz-utils的漏洞，ㄏㄏ the prophecy is true），所以他自力花了10年開發了獨立的作業系統，完全不依賴現有的工具鏈，從底層程式語言到編譯器，還有圖形API都是獨立開發的。疑似是精神疾病加劇，2018年Terry Davis被火車撞擊身亡，Luke Smith注意到此事還有拍片紀念：Terry Davis has died in an apparent suicide.（直接在教堂外面拍片==）現在，他的遺作 — 上帝的第三聖殿 「TempleOS」，現在可以在Github下載，由CIA基金會呈獻：cia-foundation/TempleOS Watch out! The CIA n****rs glowing in the dark! TempleOS支援64位元處理器，沒有UEFI，沒有網路堆棧，這根本不可能安裝在實體機上嘛。裝了好像也沒有實用價值。這比Linux From Scratch狀況還糟糕，使用者得用HolyC自己創造軟體出來，移植現有POSIX軟體根本不可能！不過就連這種系統都有fork啊\u0026hellip;像是Zeal OS加入了網路支援，真的能夠上網，還改善了圖形效能。 下一步就是移植Firefox，達到Haiku OS和ReactOS的基本可用性。\n20250907 盜亦有道，是麼。現在人貪圖方便，隨便找盜版都是線上看，殊不知裡面的品質不只比正版的差多了，還要忍受糟糕的瀏覽體驗，可能有娛樂城賭博廣告，或者一些靠二手色情資源盈利的破站。我在看文藝片的時候真的沒辦法忍受這種品質，畫面位元率被壓成鋸齒狀，真當大家是用手機都用看電影嗎！？現在短影音盛行的時代，很多人以為看那些唸稿又膚淺的「解說」片就叫看完一部片了，切！人類的墮落，全球支化。如果說都要看盜版了，那麼還不如找高品質來源。不可能有盜版串流網站提供良好觀看體驗而不插入一堆廣告和浮水印的。這樣看來，下載影片可能還是最好的方法。起碼在種子網站分享檔案的人士，他們不會在正片放一堆廣告，想趁機靠盜版撈一把（中國人\u0026hellip;難講喔\u0026hellip;還是歐美有德性），而是秉持最原始的網路分享精神，提供優質無修改的資源以及字幕。\n20250907 抱怨時間：為什麼GNOME可以連剪片程式都寫不好。Video Trimmer剪輯影片會有嚴重漂移現象，輸出的跟預覽的時間軸完全不同，逼的我只是要簡單裁個影片還得開Kdenlive來剪，不然就得勾選exact cut等待長時間的重新編碼才能正確剪輯。這種開發軟體像是在做reference implementation的心態，讓我想到Apple的態度。iPad的PDF預覽器是有瑕疵的，在上面用Apple Pencil寫筆記的時候很好看，但是在其他軟體例如Documents by Readdle開起來，筆跡會漂移模糊掉。我看哪，GNOME在Linux社群裡就是一幫我行我素的人，沒有Apple的邪教信徒卻有想當果粉的命！收收果味！學學KDE的實用主義！\n20250907 我不知道怎麼看待9/3的三個新法西斯政權怎麼有臉慶祝戰勝日本帝國法西斯主義的大閱兵的。兩位老英雄流汗黃豆.jpg。如果說是真的認為擊敗法西斯那還是可喜的，可是趁機覺得中國人終於站起來的民族情緒我卻是感到嘔心的。有時候覺得，啊，還是屠少了。困擾我的一點是雖然我主張對中親善，但支黑人格有時候還是會跑出來，真是讓人困擾，導致我覺得向井敏明大比賽、228派對、原子彈二人轉、8964軍民大聯歡都是平等好笑的梗。虛無主義的影響還在延續。我一直都支持人類毀滅啊，日本法西斯和中國法西斯都應該一併毀滅，但沒勇氣自己來，所以在等大的來。\n20250906 賽馬娘是好遊戲，我不是指遊戲性，這遊戲的動畫原以為會很吃效能，殊不知在保持高精度3D渲染（模型看不出毛邊）的情況下還能穩定運作。演唱會的特效不知道是不是欺騙眼睛的特效eye candy而已，但反正演出看上去很絢麗，即使是中低階的SD695處理器都跑得動。說真的看過Cygames的渲染技術後，對其他家的都吃不下去了\u0026hellip;蔚藍檔案、碧藍航線、棕色塵埃的3D小人很粗糙，只能靠色色的Live2D吊胃口。除了米哈遊之外無人能及。幸好在這個手遊被中國統治的末法時代，日本還有這爭氣的公司擁有頂尖技術。FGO是特例。你別看他模型好像很好，其實是Unity3D做成的皮影戲。這些高品質3D模型的動態補助技術果然是需要時間累積的實力的。看看那些便宜行事手遊的3D模型，看起來跟二十年前PS2建模品質沒兩樣。可能連社群二創的MMD都比他們精緻呢！\n20250906 前些日子館長跟黃光芹吵架，她認為講兩岸都是中國人會給民眾黨敗票，導致了支持者起了一波爭議。支持者認為這種說法只不過是延續柯文哲的兩岸一家親，只是一種善意說法。反對方則認為弱化台灣主權地位，並且中了統派的圈套。然後支持者又反過來指黃光芹被民進黨洗腦了，才會放不下台灣獨立性的意識形態。很明顯的是，柯文哲的政策是有意識模糊這方面論述的，而黃國昌也沒有明確表態對中國態度。最主要在於兩岸拋下成見，與中國保持友好態度——最起碼不要敵對，長遠來講對台灣才有好處，也沒有說要馬上統一，只是用一些話術唬弄過去，他們應該是這樣想的吧。老實說我可能是長期被民進黨洗腦所致，擁有台灣是個國家卻又是中國人的矛盾思維。潛意識中仍是帶有一點仇中意識形態吧。儘管現在我已經不會像品蔥、大紀元的受眾那樣成天喊中共必亡，也不像青鳥有恐中症（我真的很討厭這幫人低智商的反共方式，更別說復讀cringy姨學的支黑了），但心中仍對中國有成見，逢中必反是不至於，可是對中國品牌的產品，還有文創產業，都無法100%接納。但我還是很不喜歡中共官方給人灌輸的「大國崛起」主旋律態度，這種思想給人的危害絕對是不亞於美國人的霸權心態的。如果說這種心態滲透到對外輸出的各種文化裡面，淺而淺之的就會慢慢被同化。總之、雖然我能夠務實的說我是中華民國的中國人，台灣是我們的家，但仍接受不了中華雄起的意識形態，我一點都不想因為因為一個民族的復興而感到與有榮焉。普天之下莫非王土的民族主義態度還是消滅的好。\n20250905 yt-dlp有很多人嘗試做GUI，不過很難cover全部功能。我覺得設計還不錯的yt-dlp GUI。它的名字叫做Parabolic。完全開源免費，無廣告，沒有像4K Video Downloader需要付費解鎖功能（我以前還真用過這個軟體，會加浮水印，有夠爛。話說下載Youtube影片這種灰色地帶行為，還把軟體搞成paywall營利，這是否有點\u0026hellip;\u0026hellip;）。這是一款下載Youtube影片的軟體，最高可達4K。整個播放清單的影片也能批次抓下來，並透過ffmpeg轉檔為指定格式。只要是yt-dlp支援的網站（如Bilibili、Niconico、Twitter、Facebook、Threads），它都能下載。最棒的功能是下載Youtube Music音樂專輯的時候，能夠依照播放清單自動加上編碼，建立m3u播放清單，並且將縮圖自動裁剪成正方形。此外，支援讀取cookie，可以下載會員限定影片。針對需要特殊處理的，它也允許串接yt-dlp自訂指令參數。這程式似乎是以Linux為主下去開發的，界面採GTK，後來才推出Windows版。Linux只要透過Flathub安裝即可。\n20250905 常有支黑台派說，殺光海對面的人就能獲得自由，但是賽德克族人都知道日本人比濁水溪的石頭還要多了，你想這差距有多大，你們的壯烈事蹟能比得過短暫的台灣民主國嗎？你反抗的決心能比玉山還要堅定嗎！浪人說要屠支多半只是口嗨，真屠支還得看共產黨。在台灣，漢人被當成其餘雜質；在大陸，漢人成為四等漢。漢族，隱忍。\n20250905\tThere is no virus on Linux, only woke mind virus. Raise your middle finger to those big corporations! XLibre: The Middle Finger to IBM That Could Save Linux Go woke, go broke, so did Wayland devs. ← 我怎麼會寫這種話！融得批爆了。\n20250905\t如何證明你是玩網老資歷：不是CS有龍砲！而是我有MEGA 50GB容量的帳號，不是買來的。MEGA是MegaUpload被FBI抄了之後在2013年重新成立的公司，最初提供50GB大容量的空間，成為Eyny用戶愛用的免空天堂。大約2017年之後，MEGA新註冊的帳號會縮水到只剩15GB，一點都不mega。還會限制下載流量勒。自從Google不給蹭無限容量的教育版帳號，還會檢查你的檔案是不是從暗網下載進而封你帳號後，我能信任的只剩MEGA了。雖然公司政策不如一開始成立的時候大方，居然還在手機版APP塞廣告，但起碼還有點對點加密。現在值得考慮的付費雲端硬碟供應商：pCloud（終生方案）還有Proton Drive（信譽良好的Protonmail推出，自家的程式全部開源，用隱私為賣點，逐步復刻Google的各項服務）反正只要是rclone支援的客戶端，能夠方便同步Linux上的資料，用哪個都沒差。\n20250904 hackmd的格式我喜歡，不過能不能套用在個人筆記軟體呢？目前我是用Joplin比較多，勝過Obsidian的地方在於它是自由軟體。 If it is worth keeping, save it in Markdown. by Piotr Migdał 將筆記存為Markdown格式是很重要的，更早以前或許是HTML，這能確保文件格式能長久保存，不要被專有軟體廠商的筆記格式綁架了。講講幾個簡單的開源Markdown筆記自架方案，不用像Joplin/Logseq安裝客戶端，只要瀏覽器就能用。Nextcloud Notes可能是最著名的，跟Nextcloud辦公套件整合在一起，但就是很臃腫。Trilium，網頁版資料夾結構一目了然，有桌面與手機客戶端，可繪製多筆記間的關聯圖。需要資料庫。SilverBullet自稱是PKMS，我倒覺得是最suckless的筆記軟體了，介面直接將Markdown程式碼與預覽面板做在一起，去你的選單！剩下的全部用快捷鍵操作。看起來像是在用hackmd（八卦是hackmd真的有釋出去掉團隊協作功能的開源版Codimd，還有社群重製版HedgeDoc），允許嵌入Lua小程式。全部筆記都用單一.md檔案與資料夾儲存，結構就跟在硬碟上看到的一樣，方便使用者手動管理資料夾的檔案，此時SilverBullet就只是編輯Markdown檔案的前端罷了（類似專有軟體Obsidian的操作，但就算只是編輯用的前端，我也不想依賴專有軟體），一切皆檔案的設計讓人想到DokuWiki。需要一個資料庫協助搜尋。透過Open或者重新命名網頁標題來新增筆記，如果打上斜線的話就是新增資料夾。上傳的附件會儲存到那個Markdown檔案所在的目錄。網頁版介面為主，透過PWA使得筆記資料能離線存取。Flatnotes說去你的資料庫，全部筆記都用資料夾儲存。網頁版介面為主，介面比較漂亮一點，沒有那麼hackable。Memos，看起來像是用來寫日記用的？有趣味的表情符號按鈕，但感覺不是很適合當作筆記。\n20250902 很多社群媒體都有第三方開發的隱私前端(privacy frontend)，能不登入帳號瀏覽上面的內容。嘛，這些開發者的需求或許令人費解，用社群媒體不就是送出隱私給大公司了嗎？你還肖想用第三方客戶端瀏覽，損害我賺廣告錢的利益？簡單掐斷你的API存取權。不過歐美用戶是越來越重視隱私權了，可不像這些亞洲費拉，任由大公司允取允求。這些隱私前端不只是替代品而已，而是要保障用戶的隱私權而出現的。瀏覽社群媒體的時候我只想看文字，追求不受干擾的體驗，就像Hacker News那樣。不想要看到廣告還有什麼AI slop，你說是吧？怎麼每個平台都在搞AI聊天機器人呢。有沒有可能在不啟用JavaScript（防止任何追蹤器載入）的狀況下瀏覽社群媒體呢？譬如，Invidious是沒有帳號登入功能的Youtube，網頁功能非常精簡，它還能在手機瀏覽器背景播放影片。Redlib是一個開源的Reddit前端網頁，前身為libreddit，能夠不登入帳號，瀏覽Reddit的貼文。即使遇到NSFW的sub也不會被擋。這樣的話可以避免被站方追蹤。自從Reddit官方對第三方API收費之後，這個專案一度沉寂了下來，後來社群找到了破解方法。安裝Privacy Redirect能夠在瀏覽器點選連結的時候，重新導向。跟Invidious一樣，Redlib有多個線上實例可用。當然要避免流量過高被網站封鎖，最好的方式還是自己架一個。至於X，用自己的帳號登入Nitter的話，就能夠以隱私的方式瀏覽Twitter。現在最難破解的恐怕就是Facebook了，喔居然還是有人做出來了：Phice，祖克伯知道了會氣死的東西，要是真的用第三方客戶端登入帳號的話，使用者可能被ban。這個Github列表有整理出各種替代前端：alternative-front-ends\n20250902 金肉人你我都一樣梗圖 聽說Windows 11最近更新的災情會導致SSD消失甚至整顆報銷？厲害了微軟，但他們又說不是咱的鍋。不過其實一年前，Linux某個版本(256)的Systemd也曾爆出一個大bug，就是執行systemd-tmpfiles指令的時候不加參數會不小心刪除使用者家目錄導致資料消失。Systemd 256.1 Fixes \u0026ldquo;systemd-tmpfiles\u0026rdquo; Unexpectedly Deleting Your /home Directory - phoronix。不過其實這也不算很嚴重的bug，因為一般使用者不執行就不會察覺這個問題。且這個bug很快就修復了，可能就短暫停留在這個版本的滾動更新發行版會遇到這個問題。Linux系統升級再怎麼出問題，也不會亂刪使用者檔案。至於圖形介面更新後會不會隨機break userspace，那就另當別論囉。\n20250902 用波奇與虹夏的梗圖解釋Ubuntu與Alpine Linux的臃腫程度 你以為GNU + Linux是理所當然，但Alpine Linux可不以為然。人家是Busybox + Linux。作為兩個最常被討論的Linux發行版，這二個系統組成有天地之差。Alpine Linux雖然採用Linux核心，但不採用常見的GNU工具組，因為太bloated了！用Busybox足以代替，證明了沒有你們這些東西也能活。這種minimalist的特色，才有本錢作為路由器的作業系統執行吧，但其實Alpine Linux也能當作桌面系統使用，只要顯示卡不是Nvidia就好（專有驅動依賴glibc，不可能反編譯使其支援musl libc）。上次看到有人討論主流Linux發行版是否臃腫不堪的問題，是在docker image的大小。Alpine的image不到10 MB，相較之下Ubuntu隨便都破百，他們只差沒有把Snap也塞進去了吧（暴論）即使是Debian-slim也沒有Alpine那麼小。因此，Alpine Linux的image非常適合拿來把單一應用程式打包為Docker image分發，能有效減少佔用大小。不過也有人認為，Alpine Linux小歸小，但是因為套件拆的太細，docker build的時候反而要重新加一堆依賴回來，這樣大小就跟Ubuntu沒什麼差別了。此外，因為採用非主流的musl libc，致使某些重度依賴glibc的程式會出現異常行為，雖然有用glibc打包的縫合怪Alpine Linux image，但非主流。故Alpine為底的docker image還沒有一統江湖。\n20250901 【書影心潮】因著2023年修英國文學史課程教授的介紹，得知了這部電影，拖了好幾年說要看都沒看，結果今天一次看完\u0026hellip;沒人跟我說綠騎士(2021年)是一部吃A24電波的片子！雖然特效很棒，畫面與台詞很藝術，但劇情表現上就精簡太多，跟中世紀原作Sir Gawain and the Green Knight有很大差距，沒有那麼強的寓言性。觀眾必須看過原作才能去猜測導演想表達的意圖，或者從另一個角度去呈現整個故事。電影裡面演出了意識流，高文逃得了一時逃不了一世的鏡頭（雖然能夠享有一時安逸，但最後王國會滅亡），還有嘉明的味道沾在綠腰帶上作為性暗示，最後跑出開放式結局真的是讓人看的一頭霧水，說實在我期待了這麼久結果卻是有點失落。不過，寓意應該還是相通的，即人最終要勇敢面對自己的命運，毅然決然的拔掉綠腰帶，接受綠騎士砍頭，追求高潔的品德，即使有人性的缺點也沒關係，最終他將不再逃避砍頭。所以我受到啟發，決定要去找教授砍我的頭了，完成thesis。\n20250901 有沒有不用接觸人類的工作啊，我討厭人類但還不討厭這個世界，因為還不討厭自己。人類都去死比較好。「站在能分割世界的橋、還是看不清、在那些時刻、遮蔽我們、黑暗的心、究竟是什麼、住在我心裏孤獨的、孤獨的海怪、痛苦之王、開始厭倦、深海的光、停滯的海浪。」\n20250831 圖片：柚子社的鄙視臉 不是，所以為什麼有人會在Linux安裝APT以外的第二個套件管理器？太愛異鄉人(Foreigner)了？Flatpak和Snap也就算了，竟然有人會安裝Chocolatey和Homebrew，八成是從其他系統跳過來的newbie（笑）詭異的是Chocolately居然有Ansible支援，還有其實Linux也能裝PowerShell啦。Homebrew還好說，可是Chocolately在Linux上執行還得依賴Mono (.Net)。雖然表面上套件一樣，但Homebrew在macOS和Linux建置時所依賴的函式庫可是不一樣的，不會因為裝了Homebrew就能在Linux使用Xcode。雖然理論上可行，不過實務上不會有人在Linux這樣安裝套件的，裝Nix都比他們好。事實上，如果依照發行版維護者的角度來看，本來就不應該安裝非發行版維護者提供的套件版本，比如Python函式庫，應該多使用Debian套件庫打包的版本才對，pip的話要跟主系統隔離。雖然Homebrew和Chocolately預設安裝就有rootless的效果，但一旦要系統互動就會很麻煩的說。況且要更好的系統隔離，還有原生效能的Docker/Podman能用，說實在真沒刻意用Homebrew的理由。\n20250831 幻想破滅時刻：1. Joplin已經用三年了，同步仍有隨機壞掉之可能，今天又碰到了Fetch Error，主要原因在於OneDrive和Dropbox不是作者可以控制的，API可能隨時變更。加上人家是開源專案，沒有義務第一時間修好。我覺得只有付費用Joplin Cloud用戶才能得到最優先支援，使用第三方雲端同步的有福了。在等作者修好同步問題的那幾天空檔，生產力就會被摧毀。2. Linux Mint雖然適合桌面用戶使用，但它其實X11架構老舊，對習慣Wayland時代的用戶來說已經回不去了。Cinnamon的分數縮放（125%）支援度很差勁，這會影響筆電用戶使用體驗，Linux Mint 22開了就會喚醒X11的傳統藝能：畫面撕裂，切換成Wayland又十分不穩定。而且說難聽些，Cinnamon只是加了幾個方便操作的按鈕而已，實際上各個方面，從美感到功能，跟KDE比起來都像降級版。解決方法：1. 逐漸從Joplin遷移到AFFiNE，雖然這個更難備份所有筆記。但開發團隊把整個程式部署在網頁，且有經營付費專案，應該不敢亂搞。好吧，在我撰文瞎罵的當下，Joplin許是怕了，OneDrive同步又自己修好了。2. 我還是繼續用Fedora + KDE就好，分數縮放在X11支援成熟，Wayland又能體驗最新開發進度。\n20250831 Rolling releases are always going to have more problems - Hacker News Debian與Ubuntu LTS本身是固定時間更新的發行版，我認為這點就已經比Fedora和Arch Linux好很多了，random breakage非常煩人。尤其是追求穩定的桌面使用者，想不折騰的使用者根本不應該選擇rolling distro。奇怪的是，根據身邊統計學，不論是用穩定更新還是滾動更新發行版的人，都會有人說It works for me。「怎麼我一個系統能用幾十年，你用不到一年就炸掉？」不然就嗆你是skill issue。這之中的變數不知道有多少，所以不能斷定說Ubuntu LTS還是Arch Linux比較穩定。但我能確定的是，要在滾動更新的系統長久使用，搞minimalism的人應該比較多。你試試在滾動發行版每天用GNOME或KDE試試？你能保證有哪一天圖形功能不會隨機炸掉嗎？這只有用lightweight desktop或tiling window manager的人比較好處理系統頻繁更新所帶來的問題，不然就得手動處理rollback，拜託我只是想好好用電腦耶！至於好幾年才更新一次的穩定發行版，日常要碰到的問題就少很多，頂多在大版本更新的時候要特別注意罷了。如果系統維護得當（不亂裝第三方軟體），那麼穩定升級到下個大版本是可以輕鬆辦到的事情。\n20250830 美好的過去為什麼會漸行漸遠呢。Android越來越封閉，封堵root與解鎖BL管道，還要用Play Integrity防止破解APP，AOSP半開源，現在還準備強制驗證開發者簽名了，側載APK變得更加困難。他們說是為了用戶安全，為了方便big corps控制用戶，但是what cost?為了追求自由，degoogle勢在必行。中國機不是答案，華為生態系也不是答案。可，我們知道在自由世界，沒了GMS的Android就廢了一半功夫，degoogle也沒有多大用處，沒有NFC你能活嗎！？短期的務實選擇，是LineageOS和GrapheneOS。長期的選擇，必須跳脫這個網。或許最後的自由手機系統只存在\u0026hellip;\u0026hellip;postmarketOS這類Linux手機上。\n20250830 十年沒換電腦喇叭，覺得是時候跟用了好幾年的SANLUX SYSP-6711U說再見了，電源供電開始不穩，無法開機了。背後寫2016年生產，字面意義上用了快10年，且幾乎沒有關機過。雖然這只是一個低價不到500元的普通喇叭，卻承載了許多情懷。從通宵打艦隊Collection活動聽的進擊的巨人OST Vogel im Käfig，到少女終末旅行的OST。這個喇叭都負責把這些情感呈現出來。在物色下一個喇叭的時候我多花一點錢了。音響的坑很大又沒錢，所以我只好在玩法上下點功夫，選了一個便宜又能夠耍花式雜技的喇叭：EDIFIER R19BT，原本想買MR4的說。R19BT有藍牙SBC、有AUX、還內建音效卡，Linux能成功認到驅動，只要插上USB線就有電源兼輸出的效果，聽說還內建DAC。這在GPU直通KVM虛擬機的時候方便分配音效裝置。因著重音解析的提升，加上倒相孔，這個新喇叭用來欣賞Pink Floyd和Radiohead的神奇音效作品很合適。我喜歡泛用性產品，不論是無線有線兩用的鍵盤滑鼠，還是藍牙有線兩用的耳機，都要買買看。\n20250830 買中國品牌的東西得出的感悟。你不得不承認的是，這世界離不開中國了。中國正在崛起，從硬體到軟體都有與國際大廠牌比肩的實力。以前是國際大廠的電子產品，都能在中國找到廉價替代品，譬如音響和耳機，大陸品牌生產的就是廉價模仿品，用起來就那啥的差強人意。但一旦讓他們掌握自主研發的技術，就有機會在物美價廉的產品外，推出反殺國際品牌的精品，譬如手機吧，從以前的長江山寨機到高階小米手機，還能跟國際大廠合作推出高階鏡頭。不想吹華為，小米相對沒有他們那麼噁心，海軍整天強調愛國情懷，還禁止解鎖Bootloader。商業競爭手段還特噁心，大陸人稱華為叫做行業百草枯。這個時候消費者除品牌價值外（好比果粉看到Apple標誌就買單，一群consoomer），便很容易因為出貨量大，加上高CP值被中國品牌吸引走了吧。Realme手機的崛起就是一個例子，連Poco都快打不過了。我個人不喜歡中國手機是因為中國Android的介面普遍很土，淘寶介面的美感，不如原生Android好，然後能刷機的品牌越來越少了。在軟實力方面，中國的文創產業透過政府補助，加上大量瓦房店外國的先進經驗，變成了能跟歐美日韓比肩的實力，儘管有意識形態方面的扭曲審查，但仍誕生了抖音、原神這種席捲全球市場的現象（即使覺得很智障，但也阻擋不了他們的盛行）。別忘了還有中國國漫，這背後撐起來的產值是不可計量的。好吧，你大可以說，全世界都在「支化」，中共滲透全世界的陰謀太壞了。「雖然中國強大了但他們仍是獨裁國家，我們有民主最珍貴」「雖然手機都會監控我，但我寧願給Google監控也不共產黨看」。或者說什麼「魔族很會模仿人類語言」，中國公司換皮上市的功夫越來越厲害，許多國際精品背後都是中國公司的馬甲\u0026hellip;隨便你們sinophobia人士怎麼講，但迴避不了中國的東西滲入全世界各處的事實，我這並不是在無腦舔中，而是要認清現實。這個時候再來推Made in America已經太遲了。雖然美國不那麼文憑主義，但又不是所有GenZ真的願意進廠打螺絲。除非習主席繼續加速發力，幹爛中國經濟，否則Made in China短時間不能被取代。\n20250829 Desktop Agents/Pets (Alternative to Desktop Mate) - r/linux_gaming 這篇Reddit文章整理了支援Linux的桌寵程式，部份只有Windows版需要Wine轉譯，部份是原生的程式。原來xpenguins最早從很久以前的X11就存在了呀，類似偽春菜能坐在視窗上面。可惜進入Wayland時代之後，程式要與視窗互動變得極為困難，桌寵的功能難以實現，不過看來已經有人找到解法了：Bongo Cat Wayland Overlay。這年頭單純的桌寵裝飾品已經不夠看了，搭配self-hosted的大型語言模型，例如Ollama，瞬間就能變成聊天機器人，成為得力的AI虛擬助理。現在的跨平台桌寵，大部分都是用Electron或Tauri框架包裝的。有一個叫做XR Animator的桌寵，支援攝像頭動態追蹤。GNOME居然推出了名為Newelle的AI助理。跟許多用網頁技術包裝的AI機器人不同，這是使用原生GTK寫的。允許呼叫終端機，直接執行Linux指令，也能丟本機檔案給AI分析。安裝過程十分簡單，從Flatpak安裝即可。它支援連接ChatGPT或者Ollama作為語言模型後端。此外，由Nyarch Linux推出的fork版Newelle Nyarch Assistant，加入了Live2d版本的Ravimo繪製的動態Arch-chan。目前看來是對Linux桌面用戶較友善的AI程式吧。只不過失去了跨平台能力，這種niche的平台能建立起多少生態系我很懷疑哪，除非是GNOME粉絲，否則或許用QT更好。\n20250828 Linux桌面發行版的市佔率是難以確定的項目，不過看來Ubuntu還是最受歡迎的Linux發行版之一。既然Ubuntu還在前排，就不用感到被Arch Linux fanboys當成noob的羞恥！透過Statcounter網站知道，在Windows與macOS夾殺的情況下，Linux系統的全球市佔率目前約為4%。這當中有多少是桌面版用戶，多少是伺服器爬蟲，沒有人知道。搞不好一堆都是ChromeOS與Steam Deck貢獻的呢。順帶一提，不是每個Linux發行版都會在瀏覽器User Agent裡面塞入自家的發行版名字，多半是顯示為「Linux」而已，所以不能從Statcounter的比率去看Linux哪一個發行版比較受歡迎。DistroWatch的也不準。比較有參考價值的是Steam的Hardware Survey，因為玩遊戲肯定是要有圖形介面的。從最新一期2025年7月的調查看來，除了SteamOS以外，最熱門的發行版是Arch Linux、Ubuntu、Fedora。當然這也不見得準確，因為不是所有人都愛玩遊戲。我終於知道為什麼Statcounter裡面FreeBSD的市佔率會變成0了，因為連Firefox與Chromium的User Agent回報都會顯示為Linux。\n20250828 我一直覺得Google Play的評分系統沒有幫助，這根本不是回報bug的地方好不好，效率極差，只有一堆暴民留言，當然這是那些專有軟體開發者活該承受的罪孽。假若是習慣開源軟體的用戶就不一樣了，看看F-Droid，完全沒有評分功能，要回報自個兒找上游repo寫issue去。講到這個，我認為Linux應用商店的AppStream是一個很爛的機制，就跟Google Play和App Store上的評論大多數都沒有什麼幫助一樣。這個系統本意上是讓不同發行版之間能共享軟體資訊，然後應用商店前端會把所有人的評分統一顯示在留言板。不過由於Linux各個發行版的桌面環境差異巨大，得到的資訊會有巨大的割裂。你想想Ubuntu跟RHEL用戶的留言能放一塊嗎？且大多數Linux應用程式商店沒有針對使用者目前使用的發行版去篩選使用者評分的功能，致使一個軟體會得到許多極端的評價，有人說軟體開起來崩潰，然後他也不講是哪個發行版！？再加上應用商店也不會顯示使用者的操作環境，這樣星星評分有什麼意思。我想AppStream只有在Flatpak、Snap這種統一的套件格式下的時候才有意義，否則那些連.deb是啥都不知道的人就別讓他們上來留言了。不然就得學學Linux Mint，弄成獨立的評論區，使用者操作的都是同一個系統，評論才有意義。\n20250827 Permaculture (组织胜过时间) - ولا حتى العدل) | modest by default - Bandcamp modesetting by default？你說的是Linux Nvidia驅動最新預設啟用DRM模組，好讓Wayland能夠執行的那個嗎！？喔modeset原來是謙虛的意思呀。獨立音樂吸引人靠的就是封面還有意義不明的中文字吧。這些搞vaporwave衍生風格的，就像歐美人在身上刺青一樣，常常會鬧出一堆笑話，寫上過於生草的漢字，例如 星間性交 - telepath テレパシー能力者 - Bandcamp 但不得不說真的還不錯聽，給人帶來虛假的懷舊感。怎麼回事，somebody_1982.mp4 把Gotye - Somebody That I Used To Know混音的像是80年代的風格反而更好聽了\u0026hellip;證實現在的音樂有多麼的墮落麼。2025年的世界一團糟，啊啊\u0026hellip;好想回到80，不，60年代，見證搖滾樂的初始年代，Aqua - Back To The 80´s。但願不要像電影The Time Machine一樣跑到西元802701年。\n20250827 我不想使用主流社群媒體，因為他們會追蹤用戶資料破壞隱私權。透過推送極端內容，形成同溫層。可能還會有不符合政治正確的言論管制危害言論自由。因此我決定將最自由的Komica、5ch、4chan當作唯一的社群媒體 💀 你野爹躲在一個Tor三個虛擬機五個跳板背後，還在the Internet cesspool裡徜徉，glowies有種就來抓我！！！\n20250827 什麼時候才能不要有突眼怪！？Pixel 10總算換台積電晶片了，但是鏡頭還是一樣突出，很醜。可能Pixel 10a會像Pixel 9a一樣沒那麼突吧，結果被人抓到Pixel 10的鏡頭竟然降級成Pixel 9a的規格。\n20250824 一直在疑惑那個D是什麼意思，噢噢，我的MSI Modern 15筆電買那麼久，這才發現它除了HDMI孔之外，Type-C孔是支援DP Alt Mode螢幕輸出的==。不確定這個迴路是連在Intel內顯上還是Nvidia獨顯，但反正能用。這下我能夠在使用筆電螢幕的情況，外接兩個螢幕了。針對多螢幕不同解析度的不同縮放比例，KDE 6 Wayland能很好的處理這種狀況。這樣的用法或許有點奇怪，不過我確實是試過把Fedora筆電當電腦主機用的，實現平戰轉換。舊有的Ubuntu桌機就斷頭斷腳，變成一台多功能NAS。最後要解決的問題是MSI韌體是否允許在Linux限制充電上限，防止電池capacity快速老化。在安裝msi-ec核心模組之後，可以用MControlCenter軟體設定充電上限。\n20250824 Project AIRI宣稱是自架版Grok Ani，與可愛Live2D女孩互動。所以有換衣服功能？僅憑Live2D與VRM能做到？定位算是桌寵？還推出VTuber？提供開箱即用的桌面版程式，安裝上比SillyTavern簡單許多，允許連接到自架Ollama做語言模型演算，使用OpenAI語音合成，還有自主玩Minecraft的能力。網頁版應該能在手機上用。桌寵部份明明是Tauri和Rust寫的，桌面版卻只有macOS與Windows版？Linux要手動裝依賴然後編譯。需要用到MCP\u0026hellip;?希望玩遊戲的功能不要是平台限定\u0026hellip;。\n20250824 什麼都要管的systemd居然還可以生成容器和虛擬機。systemd-nspawn可以快速做一個類似chroot的環境出來，並透過Linux核心提供隔離的namespace與IPC增強安全性。雖然相容OCI映像檔標準，但因為幾乎沒有人在維護nspawn專用的映像檔，使用者還得手動用debootstrap產生rootfs。較少人在用這個方案，跟LXC一樣冷門，大概都被Docker打趴了。論將容器與Systemd整合，Podman Quadlets的方案也比systemd-nspawn靈活吧。systemd-vmspawn則是生成KVM虛擬機之用，依賴QEMU。不過考慮到libvirt和Proxmox這類的API成熟度，大概沒有人會用這個做虛擬機。\n20250824 有點自大的說，我很想去考RHCE/RHCSA的證照。雖然、這跟我科系，本業八竿子打不著，不算什麼加分項，不過我覺得這是證明我長期搞Linux東東實力的一個方式。我看了一些leaked的RHCSA題目，我想說幹這不就是我平常在Fedora上做的事情嗎。裡面只有Ansible比較不熟。然後看向考試報名費，嗯，緩緩吧，Redhat真的很會圈錢。不如先去考個托福。\n20250823 心情煩悶，就來安裝FreeBSD。結果裝了心情更煩悶了。光是為了搞定X.org圖形介面就讓許多腦細胞死亡。裝FreeBSD比裝Arch Linux還刺激，安裝的時候要一直看文件。鎖定KDE來裝，本來是這樣想的，但測試過比Linux更不穩定，許多系統組件沒有移植過來。此外X11工作階段還有嚴重的畫面撕裂問題，怎樣調整X.org設定都解決不了，唯一的好處大概就是能提早享受到Wayland。不過為了穩定使用，還是用絕對穩定的XFCE。目前KDE Plasma的功能在FreeBSD是半殘的。圖片 安裝XFCE過程很簡單：GTK為主的桌面環境。雖然XFCE 4.20已經支援Wayland，但是我測試無法啟動。安裝XFCE套件：pkg install xfce xfce4-goodies xfce4-pulseaudio-plugin。然後安裝顯示管理器Lightdm：sudo pkg install lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings \u0026amp;\u0026amp; sudo sysrc dbus_enable=\u0026quot;YES\u0026quot; \u0026amp;\u0026amp; sudo sysrc lightdm_enable=\u0026quot;YES\u0026quot;\n20250823 X Window經過二十年之後，又迎來了一次大分裂。上一次是XFree86、Xenocara、X.Org。這次出現了XLibre，鬥爭的對象是被woke組織控制的X.Org與Wayland。在Arch Linux安裝X.org替代品：XLibre？AUR有套件。其他發行版理論上也可以安裝XLibre，不過因為他們的套件庫都還沒有將XLibre正式納入套件。主要使用的的X伺服器仍為X.org。這會導致安裝桌面環境套件的時候強制拉取X.org的依賴下來，與XLibre衝突。故我選取依賴程度較低的Arch Linux來用。至於要怎麼啟動桌面環境\u0026hellip;well，只能用指令啟動？對的，顯示管理器依賴X.org，所以在安裝XLibre之後會無法啟動。現階段只能從終端機打指令啟動XFCE4桌面環境。解決之道還是像Artix Linux一樣，重新打包套件，理清依賴關係。\n20250824 在X11時代因為桌面與合成器的架構是分開的，所以能達成重型桌面搭配高客製化的輕量視窗管理員的hacking用法，這可是Wayland做不到的呢！好的，在性能爛到要命的PineTab 2，跑XFCE預設的XFWM都會造成畫面撕裂，得換個合成器。雖然Wayland桌面能迴避撕裂問題，但Rockchip驅動有問題加上我用Arch Linux ARM，有些Wayland桌面會不定時崩潰。所以就按照Manjaro Wiki建議，將XFWM改成i3wm常用的Picom。畫面撕裂是解決了，但怎麼變成看起來有年代感www 視窗拖曳會出現lag殘影，你看我會學IE喔。講到輕量桌面，只有Wayland能解決畫面撕裂，我看我還是研究一下如何將Sway配置的像XFCE一樣好了。至於Hyprland更新太激進，崩潰機率大增，但確實看起來比較酷。\n20250823 可能是我用OneDrive同步的關係，本身就沒有針對許多小檔案同步優化，致使Joplin有筆記大量變動，有其中一台機器太久沒同步，刪除或新增超過10篇，就會導致需要等個五分鐘才會下載筆記。我還得關閉下載附件的選項否則會等更久，這體驗真的不太好。看看AFFiNE，同步只有第一次下載到瀏覽器快取的時候才會耗費時間，後面都很快，且圖片跟一般網頁一樣是動態載入的，同步體驗就好很多！\n20250822 巧合？核3公投前夕來台 黃仁勳：核能也是很棒的選項 - 聯合報 雖然Fuck you Nvidia但這波我挺Jensen Huang。還有，川普說綠能是世紀騙局，我川威武！！！Any State that has built and relied on WINDMILLS and SOLAR for power are seeing RECORD BREAKING INCREASES IN ELECTRICITY AND ENERGY COSTS. THE SCAM OF THE CENTURY! - Truth Social\n20250822 我唔得喇（「我不行了」用廣東話說，何金銀在破壞之王中的語氣）Wayland is not ready! YouTux Channel - In a World of Wayland\u0026hellip; Be Xorg KDE更新到6.4.4版本之後又開始崩潰了，Wayland工作階段在瀏覽器Fcitx5打個字就會導致KWin崩潰，帶走全部視窗。使用虛擬桌面功能也會導致崩潰，更別說工作列會自己重啟了。切換回X11，屁事沒有。很幸運地這個版本Nvidia的KDE X11撕裂問題消失了，也許是因為預設用了DRM模組的關係。X11 is old but reliable. 真的不知道什麼時候才能有穩定體驗，雖然X11老了但還是穩定之選。加上我的桌機不太需要手勢與HDR支援，所以繼續用X11也無不可。考慮到最近RedHat逼迫大家放棄Xorg改用Wayland，我應該為自己留個退路。有人搞了XLibre的fork繼續改進X Server，現在一些發行版已經將其納入測試，Arch和Debian系已經有第三方套件可用。根據XLibre Wiki，有些發行版已經有官方套件。我在虛擬機裝了內含XLibre組建的Artix Linux映像檔，KDE X11看起來還算能用。解決一些套件強制依賴XOrg的問題之後，XLibre應該就能成為drop-in replacement，但他們還要解決Nvidia驅動無法compile against it的問題。根據Linux Mint用戶分享，如果Nvidia不打算支援XLibre，就得手寫XOrg設定檔強制官方專有驅動繞過限制。\n20250821 Linux發行版的GUI真的很難用嗎？我有一種很不好的預感，隨著Windows的WSL、ChromeOS的Crostini、Android的Debian Terminal、macOS的Container技術成熟，給人帶來一種感覺，那就是Linux果然是不能成為獨當一面作業系統的嗎？現有的Linux桌面環境，不論GNOME還是KDE，都不如其他作業系統成熟，只有在終端機裡面執行的時候才是好Linux，才能發揮出它的最大價值麼？除非像ChromeOS，或者deepin的桌面針對中國客群的習慣，深度地dumb down才稱上好用。要說定義何為Linux，我粗淺的理解是Ubuntu這類面向桌面用戶的GNU/Linux發行版，不只是一款核心，但其他作業系統都只借走了Linux的殼層，對Linux圖形界面不是很感冒呢，沒有X.Org也沒有Wayland，就只是拿走了Linux核心與GNU工具鏈。像上面講的其他作業系統內嵌Linux的用法，對待Linux都是將其當作開發工具，而非完整的圖形環境。往好處想，這至少能夠證明Linux是真正統治全世界，無處不在的系統。但往壞處想，這些人一點都不在乎Linux圖形的發展呢。也許有回饋，但看不太出誠意，你想想嘛\u0026hellip;Sony用FreeBSD打造Playstation系統，回饋方式只是默默捐錢。目前我看只有SteamOS是真正沿用Linux現有圖形環境技術的作業系統，而不只是將其當作開發工具，並且持續貢獻給上游，共同造福Linux桌面用戶。\n20250821 SHAMELIVE-濁水溪公社-鬼扮仙MV (Official Video) 這是2011年的影片了，我覺得這是真的適用任何執政黨的歌曲XD 以前KMT鬼扮仙，現在是自詡民主的DPP破麻假聖女，連影片中的釣魚台問題都不敢發聲～！竟然還有些社運仔不知道現在的政府已經墮落成了什麼樣子，還以獨派為招牌就認為這是專屬於他們的歌曲。我也支持台灣獨立呀，咋了？但絕對不是把台灣的命運交給DPP這幫人。是不是聽團仔都有莫名的優越感，覺得支持DPP才夠進步？結果今年綠共中還真的出現綠納粹青鳥了，怎麼回事呢？（參考八炯納粹事件）還有高機率是大港開唱的常客（幸好我聽外國團居多，不用被台派樂團的意識形態支配。歌曲好聽，行，但我不聽你543）。整天抓著太陽花運動不放，以當暴民為榮，不想要改革國家，只想支持單一的黨的領導。我愛台灣，你愛民進黨，這就是差別。好在濁水溪公社這群地下樂團的傢伙有guts，不拿補助依然愛台灣（也許只是沒抓到）。不像大支已經翻車多次了還要出瞎挺綠的diss歌曲。\n20250821 KDE Plasma的操作邏輯，很多人會因為長得像Windows 10就以概念下去操作，不過其實有很多功能可以用。譬如工作區(Workspaces)對應Windows的虛擬桌面，又有點像macOS的指揮中心，點一下桌面左上角的熱角就會出現所有工作區的檢視畫面，能夠在多個工作區之間拖曳視窗，對沒有雙螢幕的人來說是一個管理複雜視窗的好工具。KDE還有一個叫做活動(Activities)的東西，按Windows鍵＋Q鍵喚醒。此活動跟工作區是不同的東西，每個活動裡面的視窗狀態是可以儲存下來的，每當切換到其他活動的時候，上一個活動的程式就會被暫停然後保存狀態。\u0026hellip;\u0026hellip;所以我還是搞不清楚這東西到底有啥用，可以用Android的工作設定檔去類比嗎？布丁布丁吃什麼的文章認為它更像是一個虛擬機的概念。我覺得這東西的設計可能有時代因素在，在KDE 6從GNOME 40抄了工作區的界面過來之後，KDE 4時代就有的活動操作方式就顯的很不直覺了。說實話因為suspend在我的筆電上不太穩定，我一直都不太信任這種暫時儲存視窗狀態的東西。\n20250821 早期我切換到Ubuntu的時候，還是使用VirtualBox跑Windows，不過發現KVM之後就回不去了。講到虛擬機軟體，比較多人用的應該是VMware和VirtualBox吧，他們對使用者比較友善，而且跨平台。我覺得後者真的很厲害，維持免費開源的模式還能做到同時支援Linux、Windows、macOS、FreeBSD、Solaris系統。算是Oracle少數的良心產品，沒有像OpenOffice的命運一樣爛尾。不過嘛，假如宿主機已經是Linux系統了，其實有更好的選擇能用，那就是QEMU/KVM，搭配Virt Manager作為前端。它能夠善用Linux獨有的功能達成高速虛擬化，還提供GPU Passthrough的獨家功能，VirtIO半虛擬化的資料夾共享，也可以在x86電腦模擬RISC-V的異質架構。如果說Hyper-V是Windows專武，KVM就是Linux護城河。事實上，Proxmox VE用的就是KVM方案，但它額外提供了一個WebUI管理界面。VirtualBox現在支援使用KVM作為後端，不過需要手動編譯。KVM之外還有一個叫做Xen的虛擬化技術。Linux本身已經有KVM能用，所以額外裝這個沒有什麼意思。我聽過有在用Xen的發行版只有QubeOS，它採取類似Proxmox支援KVM的策略，開機就有簡單易用的介面與虛擬機互動。當然，KVM跟Xen是不能同時執行的。萬能的Virt Manager可以管理Xen建立的虛擬機。\n20250820 讚嘆FreeBSD基本系統之精簡，剛安裝好系統，再裝個KDE桌面環境，竟然全程都沒有拉Python的依賴下來，真是神奇。相較之下Linux發行版不論Ubuntu還是Fedora，甚至LFS手冊都建議安裝Python才能使用系統。除了Arch Linux和Alpine Linux這幾個特例之外，因為他們追求最小系統。pacman用C寫的，不依賴Python。而Alpine Linux使用Busybox替代GNU工具鏈。有內建Python的系統，畢竟有很多套件依賴它，成為了de facto的依賴項目，所以早拉晚不拉，遲早都需要它的，管它會不會影響到系統的一致性與精簡程度。我想說，把Python當作所有Linux發行版的必要組件，就會給這系統造成不穩定因素吧。太多套件依賴它，就有機會因為操作Python弄壞系統，那麼Python的規格書禁止使用者sudo pip install到系統目錄也就能理解了吧！\n20250820 有人說Linux From Scratch可能是最難安裝的，比Gentoo和Arch Linux難。不過，我覺得反而是相對簡單的，因為系統形成的套件是可以預測的，只要照著書上步驟做就一定有個可以用的系統出現。但是Gentoo需要自行規劃套件管理（比Slackware好一點的地方在於Portage起碼會幫你追蹤），還有編譯用的FLAG，雖然有Wiki參考但不保證你會不會碰到陷阱，資訊量太大，例如，dracut的initramfs應該要開啟否則會開不了機，中間除錯會花很多時間。而LFS就有詳細的步驟說明，並解釋為什麼要這樣編譯。LFS建議使用者用chroot安裝，大概是老祖宗在1990年代bootstrap新的GNU/Linux的方式，虛擬機的話起碼也要有個host來cross compiling。這樣在目前的時代就很方便了，使用者可以一邊開著LFS教科書的手冊，一邊用終端機進入chroot貼上指令，不用純手打。這樣就能快速的照著書上步驟做出一個基本Linux系統。\n20250820 Yeah FGO單抽五星幼體提亞瑪特Archer和玉兎/両儀式，但怎麼就沒有yandere眼的美遊呢。\n20250820 【LIVE】核三公投辯論第三場 黃士修對決甘崇緯 我不會說黃國昌電爆反核少女，因為那場不是最精彩的，且黃國昌根本沒有把她的論述放在眼裡。戰神在對抗的是怠惰應付核能的民進黨政府，既要又要的讓核三無法延役，想要新蓋核電廠否則無處可貪。最精彩的還是狂戰士黃士修的演說，雖然好像都在罵人，但很有梗，還有提出數據，相較於反方只有核廢料跳針，不然就情勒。讓人很想去核三公投投同意。請跟我復讀：「反核就是反美、反核就是賣台、反核就是舔共」。那些「綠社基巴力量」的團體還是蠻可撥的。唉，可惜陳椒華老師要左逼當到底，不肯轉頭支持核能。\n20250820 APP應該雞蛋都放同一個籃子裡還是嘗試多元可能？舉例來說，很多場合都需要做筆記，個人生活、學業、工作，還有一些學習的新技術等等，就會陷入我要全部打到同一個軟體裡面還是專項專辦呢？現在很多筆記軟體都有複雜的工作區或者資料夾機制，一個軟體應該就能滿足多重不同面向的筆記。若是以多個軟體來看，為筆記性質挑選適當的軟體也是有必要的吧。我並不信任閉源軟體服務，故從手上的選手來看，Joplin、Saber Notes、AFFiNE、AnyType、AppFlowy、思源筆記、Logseq、Trillium各有其擅長的領域，從裡面挑大概三個出來用吧。如果根據筆記的規模來選取適當的工具的話，我認為是更好的作法，並且能製造新鮮感，前提是你不怕學習各種不同的思維組織方式，因為這些筆記軟體從傳統的OneNote資料夾式到Notion的複雜度都有。如果一直切換軟體的話可能會造成生產力下降。\n20250820 人們喜歡算命，透過星座測驗、MBTI、血型、命盤、人類圖這類型的測試了解自己的性格如何。蘇格拉底說人最難理解的就是學會理解你自己，大多數人也終其一生陷於迷茫之中。所以他們才會透過各種說法佐證自己的存在是有理有的吧。因為是什麼星座，所以我會怎樣怎樣是可以，正常的，是能夠預測的，你應當體諒我。這樣的思考模式就等於是幫自己的怠惰開脫吧。我覺得沈迷這種學說的解釋，終究迴避不了要面對的真正課題。誠然他們有時能給你一些鼓勵，但有多少人讀了命理結果分析後就這樣得過且過了呢？李宗盛 - 凡人歌\n20250819 Everybody gangsta until realizing there is no \u0026ldquo;dev-qt/qtwebengine-bin\u0026rdquo; in Gentoo\u0026rsquo;s repository. 💀 安裝Gentoo最靠北的時候就是編譯瀏覽器引擎，不論是Firefox還是Chromium，抑或是KDE需要的qtwebengine、GNOME的webkit-gtk，在我可憐的4核心I5-7400隨便都要花上8小時。聽說就算是16核心的CPU編譯也要4小時，足見這個程式之複雜度。MAKE -j多開一點RAM就要炸裂，不然就是落入慢的要命的SWAP。開發者為了減輕痛苦，所以有提供編譯好的二進位套件-bin給人下載，或者我們可以用Flatpak版本。唯獨那個qtwebengine到現在都沒有提供，這個\u0026quot;bug\u0026quot;已經存在7年多了仍沒有解決。Bug 669082 - dev-qt/qtwebengine-bin package 現在我們只能使用jumbo-build的USE讓編譯速度快一點。\n20250819 joke The default desktop startup screen causes damage to monitor! 真可愛的笑話，因為XFCE預設的桌布是一隻老鼠，導致貓去抓螢幕XDD\n20250817 SOLVED Force emerge a package when checksum fails - Gentoo Forum 當Gentoo下載的套件原始碼因為上游檔案變動，Mirror沒有即時更新，導致checksum VERIFY FAILED失敗的時候，要在/var/cache/distfiles/找到檔案，重新命名成沒有checksum_failure檔名的原始壓縮檔。然後再用ebuild \u0026ndash;force /var/db/repos/gentoo/ebuild路徑指令，讓系統根據這個壓縮檔重新產生校驗碼，這樣就能用emerge強制安裝。但這不是解決之道，編輯/etc/portage/repos.conf/gentoo.conf換個Mirror應該更好。例如我發現台灣TWAREN的一些QT5套件都沒有同步，換成中國清華大學源，但依然沒同步？結果是把鏡像網址全刪掉，讓Gentoo自己隨機抽才成功。\n20250816 汪峰 - 二手靈魂：「你的信仰是二手的，你的精彩是被轉發的，甚至你的鍍金靈魂也是二手的。」一直覺得「XX看劇」「XX動漫」「XX說電影」這種5分鐘看完兩小時電影或者12集電視劇的影片挺不負責任的，是低劣奶頭樂，因為很多時候都只是簡單唸個劇情，還有淺薄無比的「分析」就結束了，最偷懶的還會用AI配音，一點有價值的個人想法都沒有，這根本不能算是影評，講說書也在污辱那些厲害的人。至於說書又是另外一個議題了，很多人仗著自己是說書人所以就能隨便胡說八道的，譬如那個大家最愛看的老高，還有散佈陰謀論「啟迪」人心的YTR，比台灣政論節目還不要臉。對這些新新人類來說，速食就是他們的天命。我最多只能接受看維基百科和SparkNotes速覽劇情吧，如果你不是為了給文學分析課程的作業交差，看這種速看電影的影片有什麼意思呢？沒時間不是藉口。我覺得更糟糕的是，這種內容就是有一定客群的賽道，所以有人眼見熱門電影和邪典電影都被人講完了，就開始去嘗試卡通片的賽道。連海綿寶寶那種一集十分鐘的也要給你濃縮成一分種講完，這什麼跟什麼啊？新新人類整天滑短影音，耐心已經這麼低下了嗎？連快樂都要給人二手賜予的，而非自己去體會？說實在的短影音危害甚大，我只能儘可能遮蔽，例如Youtube可以用ReVanced將Shorts區塊整個nuke掉。或者用NewPipe，讓Youtub完全無法追蹤觀看紀錄，擺脫演算法。\n20250814 【Live2Dシミュレーター】Kisaki Another Memory [DIXY]，翻譯名稱為 妃咲的别梦依稀 (Kisaki Another Memory)，由日本社團DIXY製作，DLsite才賣550日圓，提供Windows與Android版，完美還原蔚藍檔案風格的龍華妃咲黃色小遊戲，有揉胸、正常位、騎乘位，Live2D還算實用。作者提供Windows版與Android版。因為是Unity寫的，所以在Linux可以透過Steam Proton跑。與原作的特點相同，電腦版比手機版順暢許多！？話說自動翻譯軟體DLsite Nest似乎也可以透過Wine執行（好吧目前新版會直接崩潰），我就不需要用Lunatranslator了。\n20250814 啊啊，我覺得做這種項目的人很偉大，不論立場是針對誰，都是發揮公民自主監督力量。只要不是無端抹黑的話啦。編程隨想做過一個太子党关系网络，光是把習近平與趙家人全家開出來（惡俗啊），只有人名和關係圖而已喔，就讓國安氣個半死，現在還有支那豬在issue區噴糞。美國也有人做蘿莉島名單。最近有人做了紀錄中資公司的笨他侵略 - 中國侵略資料庫。那麼針對台灣民進黨的綠色權貴，是否也能做一份放在Github上協作呢？需要有能夠用pandoc編譯的文件格式，方便讓這些人流芳百世，不會機密封存30年。除了HackMD上面這個民進黨弊案懶人包的一長串列表外，好像只有民眾黨偶爾會做綠友友連連看的圖卡，感覺還是不夠力呀。莫忘只是po一張「北檢地方惡犬」的圖就被拉清單的可憐小伙子。\n20250813 喜歡被Google虐待的人，恭喜又有了新的廣告攔截器選擇，uBlock Origin Lite。自從Chrome殺掉Manifest V2支援之後，使用Chromium上游的瀏覽器紛紛跟進，uBlock Origin整個失效，變成只有在Firefox才有完整功能。針對那些非常需要Chrome又想擋廣告的用戶，這可以說是巨大打擊。畢竟uBlock Origin在廣告攔截器當中算是最清流的一個，什麼都殺，連JavaScript追蹤器也不放過！為了擋廣告，我是暫時逃到了Brave，他們提供開箱即用的擋廣告工具，不過我對那個介面設計一直很感冒\u0026hellip;那顆紅燒獅子頭很礙眼。我覺得就算不用Chrome，我也比較偏好使用Flatpak Chromium來取代Brave吧（可惜沒有DRM），但問題就在uBlock Origin的消失。所幸，uBlock Origin開發者推出了功能精簡許多的Lite版以符合Manifest V3標準，支援Chrome與Safari。基本的擋廣告功能尚能運作，也可以阻擋Youtube廣告。\n20250813 中國國民黨 - 【核三公投投同意CF — 拒絕電價暴衝路，反對 LIE 功德園】 沒有人：停播黑棒，還我南方。這不就來了嗎？國民黨你好樣的！South Park畫風還原的維妙維肖。按照十幾年前南方四賤客中配的惡政隱程度（當時是阿扁執政時期，馬英九還在當市長，兩個都被黑得很慘），如果現在重新播出可能會被神秘族群噴到下架。他們可是比苗疆殺人蛙還要恐怖的蟾蜍。葛屁老師某集說得好：你這根本就是綠色恐怖嘛！\n20250813 Install Gentoo the magic begins with emerge 好可愛的畫作。Lain就是生得太早了才沒發現東方Project\u0026hellip;不對，Linux的幻想鄉，否則她一定會用Gentoo連上WIRED的！在Gentoo世界，你只要會使用emerge這個指令！就能生出一支新的程式。然後再詠唱make install的咒語，不用唸I am the bone of my source code，就能夠從擬似人造語言的機器碼中產生幻想物質淬煉結晶：二進位檔。視乎功力高低，編譯時間可長可短。\n20250812 圖片 XFCE4預設主題真的太醜了，內建的XFWM樣式讓人以為還活在Windows XP時代。看那icon大小，可知對HiDPI支援度也不太好，現在還是什麼4:3 CRT螢幕的時代嗎？這整個桌面都太old-school，但也保證爆幹穩的穩定性。不行，一定得安裝主題。呃，一堆人都安裝抄襲macOS的主題，不優。Nordic和Dracula的風格到底是什麼潮潮在用的，看了很不順眼。像Xubuntu或Manjaro那種將介面全塗黑的暗色主題更不是解決之道。我覺得比較能入眼的就Qualia Yaru主題（修改自Yaru），還有Adwaita-Xfce吧。再裝個GTK4 port for GTK3的XFWM主題，讓XFCE的整體美感起碼能跟上GNOME。我真的覺得所有的APP都應該用上GTK4 or QT6風格才足夠現代，看上去夠典雅。\n20250812 （用張維為繃不住的語氣說話）Linux用戶，你要自信。在多年的社群努力成果下，其實很多東西都自動化，開箱即用了。Systemd和udev功不可沒。在2025年用FreeBSD當桌面系統，好比在2000年代出頭使用Linux。根本就是瘋狂宇宙，只差沒有編譯XFree86。裝BSD比裝Arch Linux還刺激，安裝的時候要一直看文件。許多在Linux簡單就設定好的東西，FreeBSD得多做一些步驟。儘管FreeBSD有完善的手冊能讀，沒有Linux碎片化問題，不過看到這些步驟也是覺得麻煩。因為沒有Systemd，得設定一堆有的沒有的rc.conf開機參數。現在才知道，Linux早就克服的X.org多螢幕自動偵測設定，到了FreeBSD還得要手動配置！寫xorg.conf指定每個螢幕使用的驅動。而且居然不能同時載入Intel與Nvidia的DRM驅動否則就會開不了機。對Intel + Nvidia雙顯示卡的用戶來說這是災難一場。雖然Linux的Nvidia PRIME不完美（Linus Torvalds比中指批評的對象）但起碼能用，不過FreeBSD還沒有解決方案。如果Wayland未來能成功在BSD興起，或許就能擺脫X.org地獄了吧。\n20250811 詭異的縫合怪專案：Scrcpy + V4L2 + RTSP，將Android手機鏡頭當作樹莓派的USB相機理論上是有可能的。這不是在Android手機裝IP Cam之類的APP再使用RTSP的串流，而是讓Android手機連接到樹莓派，讓手機鏡頭變成宛如真的USB鏡頭一樣的操作。如此一來Android手機只要提供鏡頭畫面，不用負擔運算。透過樹莓派的USB 3.0供電。啟用V4L2虛擬相機裝置，執行Scrcpy指令，將Android手機鏡頭的畫面輸入到/dev/video/，再透過v4l2rtspserver將/dev/video的畫面轉成串流訊號，便於我們透過另一部電腦觀看手機鏡頭拍到的畫面。\n20250811 舊iPhone的用途：上上網，看看片。不過通常會遇到iOS版本過舊，許多APP不能用的問題。內建的Safari太老，網站彩現會出錯。許多主流瀏覽器APP需要的iOS版本也不斷提高，像Firefox都要iOS 15才能用。不過，仍有些APP意外地支援超級老的iOS版本。第一個是VLC，超佛的開源影片播放器，現在仍支援iOS 9，換句話說就是iPhone 4S、iPad 2時代的機器仍能夠安裝。即使開發人員抱怨被Apple找麻煩也要繼續支援舊版本iOS。在老硬體上播放最新AV1編碼的影片和FLAC音樂。第二個是Puffin Browser，用於連接到雲端瀏覽器的瀏覽器。也就是說它只是個客戶端，瀏覽器本體是在雲端伺服器執行的（理論上這種雲瀏覽器的模式應該有self-hosted的可能性，如noVNC最低支援最低到Safari 11，但誰來維護支援舊版iOS的客戶端呢？）。最低支援到iOS 8.0。我以前曾經用這個玩過Flash版的艦娘。Puffin過去是免費使用的瀏覽器，還提供付費買斷版，但因為盜版猖獗，Android版改成每月2美元的月費制的了。有越獄的用戶可以考慮CyberKit。順帶一提，不知道為什麼Firefox在舊版iPhone特別卡，明明都是用WebKit，我在iPhone SE 2016使用都容易發熱。小螢幕已死了嗎？\n20250809 私以為能跟macOS設計感界面媲美的，是Linux GNOME桌面的Adwaita GTK4主題。有時候Apple的UI框架的設計美感能夠挽救一款軟體的顏值，對美學的堅持大概是Apple產品最值得稱頌的點。是的，雖然做網頁的應該都對Safari的下拉式選單樣式有意見，不管怎麼用都會是Apple設計的樣式很煩，可是在某些地方，這種設計就能發揮用處。有些軟體UI做的真他媽的有夠醜，譬如Joplin筆記，用Electron寫的，與系統框架主題不搭嘎，很吃作業系統UI框架美感。在Linux（GTK）和Windows（Win32）上看起來，預設樣式就很沒有質感，但macOS會自動套用半透明的顯示效果，這讓軟體看起來沒那麼糟糕了！這種霸道的設計讓Apple軟體從視窗到小按鈕都保有一致的設計風格。Joplin在Linux上看起來那麼醜，究其原因，乃是因為使用Electron框架。要在GNOME的Adwaita主題才比較好看，也就是Fedora預設的主題。Ubuntu的Yaru主題也不賴。Joplin在XFCE的GTK3和KDE的QT6看起來就很突兀又詭異。用Electron取代原生框架的開發者，地獄有他們的位置。雖然Electron能用CSS裝飾，但給人第一印象就不好。附帶一提，「libadwaita」真的讓很多Linux的應用程式質感大上升，Flathub首頁清一色都是GTK4寫的程式。GNOME HIG的設計語言感覺比KDE HIG要先進。雖然，GTK沒辦法像QT一樣輕鬆跨平台，不過能夠打造出專屬於Linux美感的應用程式，也是居功厥偉了。\n20250808 把Ubuntu系統玩到壞掉無法開機的時候，就會用LiveUSB來救援。最常見的情況是GRUB消失，甚或是initramfs損壞。假設systemd emergency mode也修不好的話，則是要LiveUSB修改系統壞掉的檔案。通常這時候就會用到chroot的技巧，也就是在另外一個系統，進入到原本的系統裡面進行修復。就像《大雄與白金迷宮》迷你哆啦修復被電壞的哆啦A夢一樣。考慮到傳統的chroot需要手動mount一堆有的沒有的目錄才能開始（說實在我記不起來，明明以前用Gentoo的時候更常常用到這個的說），這個時候我會使用偷吃步：借Arch Linux的arch-chroot腳本來用。不得不說它寫的是真的好。在LiveUSB的終端機apt install arch-install-scripts就能夠使用。只要\u0026quot;mount /dev/sda2 /mnt/\u0026ldquo;再一條\u0026quot;arch-chroot \u0026lt;檔案系統路徑\u0026gt;\u0026ldquo;就會智慧的掛載所需路徑。\n20250808 圖片 看到fortune開頭就嗆我是redundant的人，我突然想到一個很形象的翻譯：「打掉多餘的雜質」。\u0026ldquo;fortune\u0026quot;是一個幸運籤餅的的小遊戲，在SSH登入終端機的時候讓電腦裡的小精靈隨機臭罵你一頓。源自1979年的Unix系統，現在各大Linux發行版都有收。安裝fortune-mod套件之後，執行fortunes指令便會隨機印出一個智慧的話語，裡面也包含一些罵人的話。有些發行版顧慮到使用者脆弱的心靈，會選擇把罵人的語句另外打包成\u0026quot;fortunes-off\u0026quot;套件。結果Ubuntu和Debian的fortunes-off被人檢舉裡面有大量政治不正確的笑話，這個套件就在20.04之後消失了XDD Bugs: racist, misogynist, homophobic, fascist content in fortunes-off binary package fortunes-off套件含有大量種族歧視、厭女、恐同、宣揚法西斯主義（甚至有卍字符號）的內容，這是很嚴重的bug！！！ The left can\u0026rsquo;t meme is true. 現在Arch Linux的AUR仍然有收fortunes-mod-off套件。fortune指令只會印出一句話，我會搭配cowsay程式，用管線印出一隻牛講話的文本，看上去更好笑。關於這個訊息要在什麼時候印出來比較好，最簡單方式是加在~/.bashrc，不過這會變成每次桌面開終端機都執行一次。我希望只在遠端SSH的時候才出現，那就透過motd廣播。編輯/etc/update-motd.d/99-fortune，加入內容：\u0026rdquo;# !/bin/bash fortune | cowsay\u0026rdquo;，再用run-parts /etc/update-motd.d指令更新。如果要自行添加fortune的語錄，到Github上面找別人做好的.txt檔，使用strfile指令將其轉成.dat檔，再將兩個檔案放到/usr/share/games/fortunes/目錄。這樣應該會在登入Linux的時候自動啟動。JKirchartz/fortunes 例如，我可以找無政府主義者巴枯寧的語錄，讓他在每次登入的時候給我傳教，製造新的安人。\n20250807 看到反核仔 vs 支持核三延役的辯論，感覺很像在看It\u0026rsquo;s Me Fraz vs Giga Chad的meme（又稱Average Fan vs. Average Enjoyer - Know Your Meme）。反核方講不過科學就開始情勒。核廢料放我家，那廢棄光電板放你家，我們就扯平了對吧。台電董事長看到公司虧一堆錢還可以嬉皮笑臉反核。找一個從小在自學團長大的（超~熱情參與大罷免的自學團，原來美國的山達基教就是這種感覺）的少女來辯論，說把問題留給下一代？核能可是現在歐盟認證的綠能之一欸，什麼時候反核方用左逼臉孔說出how dare you都不意外！Stop being a woke, wake up! 你國政府亂加速跟中國開戰，沒有核電廠維持緊急電力，方便一開戰就發揮閩南人傳統藝能直接開城門是吧。\n20250807 有支性也有殖性。一些台灣人還認為自己是精神皇民，看到日本二戰時候的新聞都會自動帶入日本人視角，甚至為之掉淚，不顧自己人被欺壓屠殺的多慘。然後轉頭要支那國民黨滾出台灣，認為讓日本人繼續建設會更好。有日台有好的氣度卻不要中台友好。有獨立自大陸的裏子卻沒有反過來三民主義統一回去大陸的膽子。這倒不錯，人家都說需要殖民300年才能跳脫支性，結果台灣被殖民400年了，照樣還是支！可謂雙標之極致。譬如，原爆這件事是個悲劇，受害者不全然都不是無辜的，歐美也有人認為這件事美國做的很不道德。可是，問題在於那些本來就不是日本人的人在那邊跟著哭，甚至有為軍國主義與殖民主義開脫的，這就很有問題。另外一邊的態度，則是對歷史的不全然省思，中國人看抗日主旋律片子就仇恨一整個群體的，覺得日本被投原子彈活該的，同樣的愚蠢。一部好的戰爭片，應該要讓交戰國雙方看了都想要反戰。\n20250806 openvanilla/fcitx5-mcbopomofo 小麥注音輸入法用起來感覺很不錯！不愧是源於macOS香草輸入法的產品！乘Fcitx5的威風不用擔心被Wayland的時代拋下。詞庫比新酷音現代（起碼我打「柯文哲 司法不公」不會再變成「蚵文折 司法不功」了），選字更智慧，還有預測下一個字的聯想功能，文件也很完整。可惜在Debian與Ubuntu系發行版尚未提供套件，需要手動編譯。Flatpak的方案我不太感冒。\n20250805 唉，太苦了，RHEL 9都能即時收到最新版Podman和backport，但是Ubuntu 24.04沒有，導致RedHat在官網宣傳的shiny new features會不相容，例如Quadlets的[Pod]（讓容器之間能夠連線）語法支援需要5.0以上版本，Ubuntu 4.9還在等backport。不像Docker，現在沒有人提供Podman的PPA可以裝。所以就變得蠻尷尬的。有人建議用Nix解決這個問題，不治本。Snap：還有我呀！呀咧呀咧\u0026hellip;Canonical對你根本就沒興趣，整天大力吹噓用容器去裝另外一個容器（用Snap裝Docker）的牛皮，但Snap Store的Podman卻從2020年來就沒更新了！？看來我又要回去用滾動發行版了\u0026hellip;\u0026hellip;打倒Flatpak和Snap反動主義。暫時的解法是使用Podman Network來讓兩個容器之間能夠連線。\n20250805 使用Podman的好處是終於不會跟Ubuntu的UFW打架了，netavark跟防火牆配合的好，該封印的port就是會封，不過僅限rootless容器？rootful的依然會操作iptables繞過防火牆設定，結果還是得裝ufw-docker來控制麼。不過Podman讓我的安全概念強化了一些，現在大部分容器非必要情況都是以rootless模式執行的（察覺以前用Docker隨便一個都是rootful感覺好可怕），較少rootful容器。老實用Fefora的firewalld的zone就沒這麼多煩惱了。\n20250805 不知道為什麼Raspberry Pi 5透過USB孔連接的HDD沒幾天就會定時斷線，讀不到檔案系統，要重啟才能解決。是供電不足？USB線太爛？或是有某種省電機制在作祟？HDD是獨立供電的，應該不會有這問題。嘗試用hdparm -s 0將硬碟的自動休眠關掉。然後在/boot/firmware/config.txt加入usb_max_current_enable=1，以及用rpi-eeprom-config \u0026ndash;edit，加入 PSU_MAX_CURRENT=5000，強制提昇週邊組件的最大電流試試看。幹勒還是不行。喔原來這個外接盒不能裸體使用，考慮到HDD本身旋轉產生的震動因素，必須裝著外殼固定，不然接頭就會鬆脫吧。\n20250804 改用Linux的一個好處是刷機都不用裝驅動，不論是操作Android root還是給iPhone越獄都很方便。大部分都含在核心裡面了，大不了再裝個gvfs和libimobiledevice與手機溝通就好。因為命令行為主的使用體驗，我大部份時候可以熟稔的操作fastboot與adb刷ROM，也就不需要圖形化的刷機工具了。譬如舊款小米手機，其實官方刷機腳本完全不需要依賴MiFlash。用checkra1n越獄、AltStore側載IPA的時候，很簡單就能完成操作。不像以前用Windows，要跟驅動程式戰鬥，有的手機廠商提供的驅動還得用裝置管理員的舊版方式手動安裝。話說iOS 17以後越獄似乎就死透了，除了少數還能依賴checkm8的裝置外沒有甚麼新方案出現，rootless jailbreak搞不下去了，現在網路上只有一堆內容農場的假消息。現在只剩LiveContainer花式側載IPA + JIT加速還有點火花。\n20250804 最近支的我頭昏眼花的兩部片：《南京照相館》《零日攻擊》。你有仇日大內宣，我有仇中大內宣，我們都有光明的未來。我的老英雄學院，你在哪？\n20250802 Threads雖然支援接入聯邦宇宙，不過要註冊一個正式的Mastodon帳號才能回覆他人留言（汗）所以就變成，雖然Mastodon其他實例的人可以在Threads貼文下面留言，但我只能點讚不能回覆，Meta工程師實作新功能的速度實在太慢了。目前的做法是看到有人留言，我就登入mastodon.social搜尋那個人的@帳號，或者搜尋自己的Threads帳號（沒有限定一定要用這個實例，只要支援ActivityPub就行），然後用Mastodon帳號回覆。這些商業公司的決策果然會對開放透明的標準產生不良影響。\n20250802 極為相似的救援模式設定。如果因為裝了某個核心模組導致kernel panic開不了機，或是fstab有硬碟失蹤導致卡住，可以不用用到Live USB chroot，先嘗試用系統內建的救援模式修理。Linux：在啟用Systemd的系統，譬如Ubuntu仍可以登入root帳號，這稱為emergency mode，也就是Single user mode，這裡能夠執行一般系統管理操作。FreeBSD：開機選Single user mode，登入root帳號，再\u0026quot;mount -u / \u0026ldquo;使根目錄可寫入。\n20250731 PineNote full demo: books, notetaking and desktop experience 電子書閱讀器也要追求自由軟體！（握拳）手上的iPad Air雖然能夠看書，不過我覺得還是買不發光、護眼的電子紙比較好吧。市面上的閱讀器產品多半是基於Android或Linux再開發的，不過偏向閉源生態系，要刷機可能有難度。暫不強求reMarkable 2的旗艦體驗。我就在想，花399美金買PineNote會不會是個好選擇呢\u0026hellip;這台搭載RK3566處理器，機身略厚，重達438g，並有Wacom手寫筆支援。目前已知可以跑Debian、postmarketOS、Arch Linux。GNOME桌面有針對E-ink設計的插件，讀書專用的程式有KOReader。想到這個就心疼，以前六倍卷買的PineTab 2跟這台用的是同一個處理器，卡的要死，根本無法當作主力平板使用，LCD螢幕顏色也不討喜。不過，既然電子書閱讀器用途比較單一，那麼處理器速度應該不是大問題了？\n20250729 以色列在加薩進行種族滅絕。最近南非、馬來西亞、哥倫比亞、智利、宏都拉斯等12個全球南方國家立了「海牙小組」來制裁以色列。 以色列乃新納粹，這種觀點越來越有可能成為真實。台灣政府還可能成為種族滅絕的幫凶。原來當年南非的我國代表處被降級不是沒有理由的，有中國打壓以外的因素可以思考。\n20250728 我：會去動漫展買壓克力立牌的人都是什麼盤子，愛紙片人也愛的太誇張了。圖片 然後發現我的錢包裡面躺著瑪修人形立牌的iCash\u0026hellip;🤡 幾年前很瘋FGO的時候衝動買的，曾經為了看絕對魔獸戰線的動畫首映跑到外縣市電影院，不過從來沒用過，太羞恥，跟神明的護身符放在一起。這個立牌的底座拆下來可以跟本體串成一個鑰匙圈。感應的部分並不是刷瑪修的屁屁，而是下面的底座。可惜這個立牌正反兩面都是正面，沒有屁屁。\n20250727 因开发人员遭受人身攻击、诽谤，LSPosed 框架宣布停止维护 - IT之家 開發者真可憐，抱抱你。開源圈毛事真多，私人的糾紛演變成停止維護專案\u0026hellip;這種drama我實在看多了。Xposed最早本就是一人專案，然後到EdXpsoed、LSPosed也沒有變化，很容易因為主要維護者問題就棄坑。「太極Xposed」的專案我不想使用，憑什麼要閉源發布還要審核模組才給用？結果它也因為作者原因停止維護了。Magisk和EhViewer也有類似現象，我覺得最誇張的是因為太多人來亂就改成閉源發布的TrickyStore。不過畢竟是開源，社群有意願的人就會自動接手開發，目前LSPosed是JingMatrix的fork最為活躍。\n20250726 黃國昌 - 請賴清德學會對民意謙卑 請民進黨停止再撕裂社會 愛好民主自由的人民萬歲！7/26大罷免大失敗！關於選戰關鍵的分析：藍委「區域聯防」反罷免：組織戰、仇恨值、藍白合成關鍵 - 報導者 真的是我自2024年阿北假老二翻車以來最爽快的一次。看各大社群媒體小粉綠聚集地崩潰的樣子，就好比2022年的那些喊著输了啊，人类都输了啊\u0026hellip;的小粉紅防疫愛好者一樣可憐。事實證明，仇恨沒有市場，台灣還有救。那些看到這種情況還不知悔改、依然都怪中共滲透的，就讓他們繼續墮落就好了。那麼多側翼在選前表忠心，選後還繼續作妖，我看預算還是砍少了。一雙橫梁 - ✈️沒有東西可以阻止台灣大罷免🗣️🔥 像這個做影片說笑要燒死國民黨立委的，縫合一堆二次元meme來支持自己意識形態的。 大支 - 辣的 （文化部補助） 還有自以為現在還是20年前跟熱狗唱讓我rap的時代，卻對有許多貢獻的五月天亂diss，這種只會用多媒體煽動對立情緒的「藝術家」，全圖了有一個是無辜的嗎？！當然，我並不是說要物理消滅人家，可別學暴力青鳥，而是簡單掐斷黨給的奶水，澆滅他們自以為是的底氣即可，給我狠狠的拷打。8/23繼續大罷免大失敗，守住三黨不過半的態勢。話說咱終於能參戰了，一定要讓核三延役公投通過。\n我不相信，那些操弄民粹的人物，死無報應。台灣這次大罷免大失敗我是很高興的，民眾黨與國民黨合作，再一次守護了民主，意即，民眾做主！拒絕想成為綠共的獨裁專制。民進黨在自己人內部找敵人，絕對不是對抗極權的方法。我總是想著被中共封殺的異議人士兼歌手，李志的〈回答〉這首歌，想想引用當年北島對文革後時代的看法，思索何謂民主的好型態：「卑鄙是卑鄙者的通行證，高尚是高尚者的墓志銘。看吧，在那鍍金的天空中，飄滿了死者彎曲的倒影。冰川紀過去了，為什麼到處都是冰淩？好望角發現了，為什麼死海裡千帆相競？我來到這個世界上，只帶著紙、繩索和背影，為了在審判之前，宣讀那些被判決了的聲音：告訴你吧，世界，我不相信！縱使你腳下有一千名挑戰者，就把我算做那第一千零一名。」\n20250725 欲購買新型藍牙耳機，覺得NOTHING CMF by Buds Pro 2似乎不賴，低價又有LDAC，不過還是想要大品牌調音呢。看上Sony WF-C710N，看評測比AirPods 4 ANC好很多，物超所值。Sony WF-C710N vs AirPods 4 with ANC: Sony strikes back - SoundGuys 現在看來AirPods比Sony產品還要盤。加點錢可以獲得有LDAC的WF-LS900N，也就是乞丐版WF-1000XM4，感覺適用我這個小耳朵，連戴著AirPods都會痛。雖然AirPods Pro用六年了還沒壞，也不習慣常戴耳機，不過出門實在不想再帶一條Lightning線了\u0026hellip;啊，我知道了，只要在充電盒常駐一個Type-C母轉Lightning公的轉接頭就好啦，雖然看起來像是子宮脫垂（？）帶著一根電動按摩棒（？？），不過這個life hack暫時解決了一個困擾。\n20250725 好像有人認為只要反共，什麼臭魚爛鰕都能夠接受的樣子，不管是極右翼老保或是跳反的小丑都能納入。更為致命的一種想法是，他們往往忽略了一個人背後的品性，想法的多樣性，只憑其批評共產的一兩句話就斷定其為盟友。似乎只要反共，就得遷就於特定的意識形態的樣子。舉例來說，反共=所以支持民主，故美國為首的西方國家是天生罵不得的，民主問題是不容置喙的，台灣的民進黨政府就是最棒的，「有國才有家」，我們就是道德上的絕對善，他們是絕對惡。但凡提出點批評就扣上抹紅的帽子，然後被政客洗腦的綠衛兵就會傾巢而出。這種思維就是大的問題，並且限縮了更多可能性的思考方向。作為永遠的反對派，有必要認識更多觀點。最常被誤解的就是喬治歐威爾，他寫了批評共產主義的書，常常被人引用來攻擊共產主義，本身卻仍是左派，對真正的共產主義抱有一點幻想，不過是認為修正主義份子把經唸歪了罷，問題在於那些自稱共產主義的國家無一不可避免的走向極權，正如民主政府也會選出希特勒一樣，要提防的永遠是想要不受監督，權力一把抓的極權政府，經濟體制採取資本或共產是次要問題。另外一個有趣的例子是寫《古拉格群島》的索忍尼辛，名言是「我們知道他們在說謊，他們也知道自己在說謊，他們也知道我們知道他們在說謊，我們也知道他們知道我們知道他們說謊，但是他們依然在說謊。」這句話用來罵哪個黨都說得通XD 我們粗淺把他當成俄羅斯版的李敖吧。儘管他對蘇聯體制多有批評，潤到美國後卻也對民主制度沒有太多好話。反倒是蘇聯解體後跟普丁交好，證實了他確實是個大俄羅斯主義者，某種程度來說保有自己想法這點值得稱讚，儘管我認為民族主義應當從世上消亡，包括大中華主義、台灣民族主義之類的。如此還能斷定他是反共的好戰友嗎？還是說，這些民主國家之所以反共，不過是把自身國家的帝國主義侵略行為給合理化的藉口而已呢？那些支持這些事業的國家，也是其幫凶，自認為跳脫了極權，卻玩著名為民主的自我催眠遊戲。不保有自身想法的情況下，不管你是支持所謂邪惡軸心還是正義聯盟，都沒有一個是無辜的。\n20250724 使用藍牙耳機當手機錄影時的麥克風。雖然音質不理想，不過總是一個玩法。論AirPods的功能，Apple很明顯偏心iOS是眾所皆知的事情。把 AirPods 當成麥克風！上課、蒐證錄音都可以用 - 蘋果仁 有人提出過一種玩法，是將AirPods當作收音麥克風使用，能夠在藍牙有效距離內，更清楚收到遠處的聲音。注意我這裡講的不是「即時聆聽」功能，是讓AirPods充當無線麥克風，而非iPhone充當無線麥克風。藍牙會有一點點延遲。不過在Android這個操作就有點tricky。雖然AirPods是可以用來講電話，不過音質可能就沒有iOS上好了。如果說要用來錄音，要先在iOS將AirPods麥克風固定在單耳，再挑選可以切換輸入音訊來源的APP才行。比如GCam Ports有切換藍牙麥克風的面板，連智慧手錶都能拿來錄音。錄影有Open Camera。錄音則是Fossify Voice Recorder。螢幕錄影有DroidRec，或者依靠Android內建的錄影功能。\n20250724 這次大罷免真是莫名其妙，雙方都使出渾身解數在選舉，對各方參與的勢力都覺得噁心，儘管各人有各人的苦衷。什麼時候台灣人才能擺脫這種政治狂熱的行為？選輸了橫豎都會滅國（中華民國or不存在的台灣國），需要有健康的制度讓這一切走向終結。不論結果如何，答應我，支持者不要做出殉國的行為，那些無恥的政客沒有一人會流眼淚。現代人有太多管道跳脫不喜歡的環境了，莫把民族大義、國家救亡圖存的責任全扛在肩上，現代人要反抗極權政府的代價實在太高了。這已經不是清末陳天華寫《猛回頭》《警世鐘》《絕命書》的時候了。或許政治上的表現不符我們這些理想主義者(INFP)的意，但是還有方法\u0026hellip;如果真不行，早點規劃潤的路徑。然後降低對政治還有世界局勢在生活中的重要性。如果真有所謂國際觀，你會覺得不如盼小灰人降臨把人類全屠屠了。\n20250724 Geolocation Editor - digiKam Manual 如果要修改大量照片的地理位置資訊，開源軟體digiKam算是很不錯的工具！它可以使用OpenStreetMap或者Google地圖的圖資，互動式的給照片加上缺少的GPS資訊。操作方法：在「地圖」界面，篩選出沒有GPS資訊的照片。選取照片，按項目 → 編輯地理位置，在地圖上點右鍵複製座標，或者到Google地圖網頁版複製經緯度。然後對圖片列表點右鍵貼上座標即可。不是點右邊的EXIF面板，那邊需要手打。需要在Android手機編輯GPS資訊的話\u0026hellip;建議用Image Toolbox將座標資訊直接寫入EXIF。Google相簿必須上傳後才能編輯。\n20250724 以前男性的復仇：奮發努力，報復拋棄我的女人。\n現在男性的復仇：成為incel，報復不愛我的女人。\n學學林清華，不要成為費拉右。\n啊，我是來酒店喝酒，別說著這些沒趣味的話。\n為了人類，女性著警戒，母湯陷害英雄ㄟ將來。\n文夏 - 男性的復仇\n厭女的資格？那些「非自願守貞者」的仇女殺人 - 轉角國際\n20250722 儘管我黨強調多元包容，對大陸人和東南亞移工都採取支持的態度。不過讓我幻想破滅卻只要簡單的一件事 —— 那就是火車上大聲講電話的外勞。更慘的是什麼呢，長途公車上講電話的外勞！！！不能換車廂的空間就被迫忍受，什麼時候台灣人才能學會日本人，集體用眼神殺讓這些外者不敢放肆。儘管知道不能以偏概全，但看到這些人的行為，我就會燃起無名之火，想要支持平野雨龍的政策，不排外/排華行嗎？！漢族你要隱忍到什麼時候？再吸納大取代理論，消滅這些子宮武器。算了，與其盲目仇外，不如採購新的降噪耳機了。\n20250722 果然還是不喜歡AI的回覆呢。在網路論壇求助，下面的留言如果有人貼AI整理的「以下是有關的資訊\u0026hellip;」就會感到很嘔，從Mobile01到Dcard，到Reddit，甚至Github都有。畢竟我想要人類之間的交流資料，而非是充滿這種沒經大腦的回答。在技術論壇也越來越多人這樣搞了，看了很煩躁。我覺得AI不是不能用，而是輔助用途，譬如協助翻譯文字與整理表格資料，再講自己的想法，而非貼出整篇都是AI生成的內容，多沒意思。用華麗的詞藻掩飾內容的空洞，脫離討論的本意，這又不是小學生在擠字數寫作文，我想聽到的是你的真實想法！如果說是教訓伸手黨也就算了，但多少人是想要真心誠意的回答\u0026hellip;？有時候抖機靈回覆可能還比AI好。不，不對，難道很多問題其實蠻蠢的，不如讓AI代勞，「我辦光纖100M的時候沒跟我說會看到這個」的情況就會減少許多了麼。我們知道ChatGPT傾向討好人，所以總是會生一些莫名其妙的句子出來，導致有些人沈迷其中，以為自己是有神秘力量的宗教領袖。這確實是在發生的事情，搞神秘主義的人很愛用AI生一堆車轂轆話，包裝莫名其妙的神秘感，變成AI神棍，在社群媒體上故弄玄虛。AI妄想症是什麼？美國ChatGPT用戶出現幻覺：我是AI認證的神選之子 - 天下雜誌 再加上AI生圖能力，製造出一幅又一幅，美術館那些不明所以的現代藝術家都要甘拜下風的無意義抽象藝術內容。畢竟詩句是遵從一定規則做出來的玩意，AI就很擅長這種操作。結合擅長接龍的特性，拿來當作星座解籤機器人很有用處。如果要防止ChatGPT人設走偏，設定「角色卡」還是很重要的吧。然後要弄防呆機制，遵守機器人三定律！\n20250721 太多無關議題跟這次大罷免綁在一起了，民進黨從去年青鳥運動開始就使用如此手段，想要再次偷走選舉\u0026hellip;操弄恐懼，永遠只有抹紅這一招，逼迫反罷免方也要跟著搞造勢，喊一堆「這不單只是為了\u0026hellip;而是為了\u0026hellip;」的無腦口號，搞得好像總統大選一樣。幸好二次覺醒的人越來越多了。因為選罷法的缺失，不這麼幹真的有可能被罷掉所以才要這麼拼吧。換句話說，如果門檻修回以前那樣嚴格的程度，或許就能減少這些不必要的動員能量，防止鑽漏洞的發生。被惡意罷免的一方就能好整以暇的看著這幫傻逼發癲，而不是被迫安撫投票數比自己當選時候還少的那部分民意。國民黨最近有進步，議題上配合普發一萬塊的法案操作，堅定了與民眾黨的合作，還有釋出許多高質感反罷免影片，讚啦，黨產就是要這樣花的。惡搞零日攻擊的反罷免影片 - 站出來，不讓民主被偷 讓人有所改觀。最近，在朱康貢獻的歌曲以外，民眾黨又多了一首台語戰歌：【毋甘願的人】反惡霸、對抗綠共社會運動 主題歌曲\n20250720 Android版Chrome的邏輯真的很奇怪，無法切帳號查看其他帳號的書籤，可iOS就能無縫切換。其他Google雲端硬碟APP都有針對多帳號切換的處理邏輯，就只有Chrome沒有，跟系統GMS綁太深的下場就是這樣，我才被迫雙開Chrome。原生Android要雙開APP，最簡單方法是透過Shelter開工作設定檔，這樣就有一個容器能夠登入第二個Google帳號，資料會跟主使用者隔離。不過我覺得桌面上顯示一個「工作」面板實在太礙眼了，這個面板還會顯示在分享選單。那麼還不如雙持工作機與私人機嗎？我覺得倒不必，大多數人還是喜歡工商混合住宅區吧，看看公私不分的Line就知道。我使用工作設定檔的目的最主要是為存取另一個Google Workspace帳號的Chrome書籤，沒有很多工作專用的Teams、Meet、Slack什麼的APP要裝，其實好像沒必要用到工作設定檔。為了解決多帳號書籤問題，參考Android Authority的trick，裝Chrome Beta，就不需要工作設定檔了，這應該還算穩定。 Chrome doesn\u0026rsquo;t let me switch Google accounts on my phone, but this trick overrides it - Android Authority\n20250718 如果你追求的「言論自由」到最後只剩下4chan容得下你，你應該要做的事情是立即退網，並尋求專業治療，不要再繼續在網上魔怔了。\n20250717 AFFiNE穩定版總算推出手機APP了，適用Android與iOS系統。可以使用官方的雲端，或者連接到自架AFFiNE伺服器。很可惜他們採取了類似開源產品AppFlowy與AnyType的策略，不論螢幕大小，都是以一個精簡的行動版界面呈現，而非移植電腦版界面過來，可能電腦版UI要適應觸控操作有難度吧。因此，目前的APP在iPad上是殘廢的，不能自由使用白板功能，對Apple Pencil的支援也很初步，Markdown功能只有簡單的加入。這個客戶端最大的意義就是能夠離線存取筆記，還有臨時打點會議反省日記、待辦事項。好家在AFFiNE本身就是Web為基礎開發的，因此要在iPad使用完整功能的電腦版AFFiNE，只要開啟Safari，前往https://app.affine.pro網站就能使用完整功能，資料存在瀏覽器裡。雖然會碰到一些滑鼠事件干擾觸控操作，不過起碼這能使用Apple Pencil繪圖。\n20250717 「年輕人鐵口直斷說不信宗教，是你還沒有遇到困難」長輩都這樣說。真遇到了果然是如此，譬如身體病痛，外部世界，沒辦法馬上解決的壓力來源，面對科學和自己都無法解決的事物，人們很容易就會迷信了。我也是這樣，偉大的神，我只是人。這個時候我就不能很肯定的持有無神論立場了，玄學的成分會增加，也就開始相信能量與靈魂的學說——有得寄託的東西總比空虛的受折磨好。所以才會有人看西醫多年，轉去相信中醫吧。去年，胃食道逆流嚴重發作，雖然不會立即死亡但感覺生不如死，加上頻繁胸悶與肩頸疼痛，平躺心跳來到110，間接造成了焦慮症的精神官能症，嚴重影響生活。我就會學習禱告，還有理解過去讀過的佛經道理，了解人生畢竟是苦，但我們要活得自在些，反省自己造的口業。現在知道胃食道逆流遠因是自律神經失調以及長期低頭的肩頸問題造成的，才開始接受全面性治療，到現在已有對抗方法，但未能痊癒。大病一場，瘦了10公斤，到這邊，我便放寬心接納那些被視為偽科學的理論了，也許冥冥之中自有定數。心無罣礙。無罣礙故。無有恐怖。遠離顛倒夢想，究竟涅槃。\n20250716 不知為何Threads又被祖了，這個ISP的IP有那麼髒嗎，應該是誤封，寫個申訴就恢復了。還是準備備案好。看最大的mastodon.social規則也沒有比其他社群媒體要來的「言論自由」，我覺得要符合我標準的言論自由除了有馬爸爸罩的X之外，就只剩4chan了吧。不過了追求精神上的自由，貫徹FOSS理念，以及避免被商業大公司影響，所以還是決定逃離充滿誘惑的Threads，從長計議。使用Mastodon過程可能是痛苦的，危險的，沒有演算法。無法輕鬆獲得點讚的社群平台註定無法快速成長，果然我們還是需要演算法。Mastodon要你自己去發掘追蹤對象，而非讓演算法推送rage-baiting的東西給你。平台進入門檻低的後果就是brainrot的內容變多，參考Threads，從IG就能遷移帳號，多方便，不論是8+9還是鳥蟾或是狂草都能入駐，沒有板主會來刪文（這也是早期青鳥言論佔優勢的Threads很快就被小草「攻陷」的原因吧www），偏偏演算法很愛一行文，只要一句聳動的話，即使是謠言也能快速飄出去。反之Mastodon的門檻能夠篩掉一部分用戶，或許能接觸到更tech-savvy的niche用戶群，就像早期的知乎與老品蔥。但也可能造成極端化同溫層，譬如Gab的美國極右翼支持者，或者Plurk小圈圈那樣，放大綠營支持者的極端聲音，我已經在g0v.social看到好幾個了，看似高學歷成功人士卻復讀側翼般的言論，名符其實的井蛙，這個時候就要感謝聯邦宇宙制度把這些精神病關在他們的實例裡了。他們往往認為Meta是中共同路人，但好笑的是小粉紅反倒認為Meta審查言論的是支持台獨，唉資本。話說我覺得要跟小草保持距離了，鬼針草聯隊這類社團裡面有些人挺柯挺到已經瘋了，只有板主勉強維持中立。嗯嗯，要求人們在社群媒體上不情緒化的發言太難了，包括我自己，要三省吾身再發文用起來就會不愉快，很多人只是想在小圈圈發洩情緒。一旦帶入觀點，所有的資訊來源就會被扭曲，導致偏見的產生。「若真想要，是一次解放，要先剪碎，這誘惑的網」鑑於之前在小型實例混小圈圈不愉快的經驗，還是選擇大一點的實例為好，再跨實例追蹤感興趣的帳號。 20250715 John Lennon - Imagine 對宗教的觀點我很喜歡：「想像一下，天堂與地獄都不存在，沒有宗教也沒有國家，沒有人要為了崇高的誰而死，人們只要儘力活在當下」，另一首God講的更絕：「神只是一種概念，是我們想了解自身的痛苦所創造出來的幻覺」。一直不能理解點光明燈、安太歲、拜祖先、求發財金的作法，這些習慣我只是跟著長輩一起做，不過我肯定不會傳給下一代的了。說實在我不是很想拜祖先，連父母也不想盡孝，這不是基於基督教對異教徒的敵對教義情緒，而是根本不相信靈魂存在。另外對基督徒的禱告與萬事問聖經，伊斯蘭教跪拜與戴頭巾，以及佛教徒愛信誓旦旦的說因果報應之類的，我都當是神棍看待。與其說我是無神論者，不如說我對所有宗教是持保持距離態度，不盲信世上真有唯一的神存在，沒有神鬼精怪之類的超自然實體，或是因果報應什麼的。「寧可信其有，不可信其無」的說法更是可笑，台灣人只有在想要求取功名的時候才會想要求神拜佛，獻上供品賄賂，屬於是極度功利的崇拜，甚至還有把政黨當宗教的。或許只是嘴上說說的程度，沒辦法真的做到包容吧，但我儘量。要做到共產主義者的唯物主義的純科學觀點是很難的事情，因為我們處在一個被文化包圍的社會，如果激進的「打倒一切牛鬼蛇神」就屬於是破壞了文化的存在，否定了構成了人的人本主義精神，且容易陷入虛無主義。\u0026ldquo;God\u0026rsquo;s in his heaven, all\u0026rsquo;s right with the world.\u0026rdquo; 神不為者，人為之。你細品。因此，對宗教的態度就是比較正向的「文化研究學者」態度，我假裝自己是宗教學者，每個宗教都了解一些，就能理解更多文化，理解那些人之所以為人所構成的實在——不過不全然相信。尊重這些宗教作為社會文化一部分的存在，但地位不會上升到生活中的唯一指導。非得要找一個觀點作為中心信仰的話，那我想會是哲學與科學，並且喜歡可以否證性的說法，不輕信一家之言。硬要扯到宗教的話，我倒是很喜歡佛教的說法：最終悟道之後就是連佛教本身的信仰也要超脫的了。 20250712 避免手機發熱又能省電的方式：刪掉所有社群媒體APP，擺脫什麼都要有一個APP的意識，包括Facebook和YouTube。許多社群媒體都有手機網頁版版本，大不了強制切換成桌面版網頁就可以了，譬如知乎、Dcard。如果真的非要裝APP，最好把它的背景執行權限強制關閉。Android 11以上在電池→調整成受限制，就幾乎不會在背景執行了。我在Android和iOS都這樣做。滑APP很容易發熱。如果都換成在瀏覽器裡面看，就能省下許多電。Brave、Firefox還能幫擋廣告。萬一哪天國安/國保/FBI/麻藥搜查官要檢查你的手機也不用怕，瀏覽器要清除瀏覽痕跡很簡單，不用手忙腳亂刪一堆APP，只要按清除歷史紀錄與cookie即可。可以的話degoogle措施也用上。為應對緊急情況，F-Droid還有清除資料的自爆按鈕可以按。另外這樣還有一個好處，就是社群媒體不再是那麼「有趣」又吸引人的體驗了。網頁版會精簡掉許多功能，流暢的動畫也會減少許多，防止沉迷社群媒體。好吧，其實這沒多大效果，為了取得資訊，即使是醜醜的Reddit網頁版我也可以看好幾個小時。不用社群媒體APP的壞處就是，數位健康難以統計APP使用時長，全部都顯示為瀏覽器。 20250712 曾經不只一次想過出門被車撞死，坐火車被鋼筋砸死，就可以解脫自這個世界了。蔡藍欽 - 這個世界 台灣車禍率那麼高怎麼天就不收了呢？不過，最期待的死法，還是像古希臘劇作家一樣被老鷹丟下來的龜殼砸死，ㄎㄎ，但得先是個禿頭才行。每次看到那些新聞的悲劇報導，就會想起海綿寶寶釣牡蠣那一集的話：「為什麼死的不是我～！」這裡的主語，會是誰呢？「對啊，為什麼不是你呢～！」好吧，New Radicals - I Don’t Wanna Die Anymore\n20250711 Waydroid官方穩定頻道總算推送LineageOS 20 (Android 13) 的更新了，對比舊版Android 11那clunky的界面，Material You的設計適合平板，也適合Linux電腦大螢幕使用，這個元素設計看了較為舒適。多視窗模式也有些微改進，不過遊戲類APP還是比較適合全螢幕玩。真得要原生多視窗支援，大概得等Android 16了。記得升級後casualsnek的libndk ARM轉譯器要重裝，libhoudini大概不會有新版本了。現在在Waydroid上執行的Line界面總算是把我當作平板看待了，之前都是強制拉伸手機版界面。最近Line電腦版又死掉了，9.10版登入Wine直接崩潰，只好用Waydroid撐著。\n20250711 過去下載電子書都是簡單資料夾分類，改用calibre書庫管理就是個大工程，尤其我很多檔案還是PDF的，很難有metadata。因此使用calibre-web編輯，光是簡單標明作者，還有更正書名而已，就快虛脫了。比起PDF和CBZ，文字較多的電子書還是以EPUB格式儲存好，能夠更標準的管理中繼資料，方便在iPad看。現在才發現過去軍迷時期，為了研究二戰戰機歷史，從網路上下載了一堆奇奇怪怪的書，有的是正式出版的專書，包括航空ファン、丸メカニック、世界の傑作機、Osprey WW2 Books，有些則是第一手文獻，譬如從日本防衛省下載的戰鬥詳報、英軍噴火式戰鬥機的原廠操作手冊、德軍Me-262噴射機技術手冊、美國陸軍戰機識別指南、台灣附近日軍運輸船團的航跡圖。軍迷真可怕，這下總算理解為什麼有人會在戰爭雷霆論壇拿\u0026quot;secret document\u0026quot;爭執的時候，會連英國現役AV-8B戰機的機密文件都洩漏出來了\u0026hellip; Restricted data once again leaked on War Thunder forums - UK Defence Journal 好啦，我應該要去買正版電子書支持，但一堆都是絕版的古本！在二手書店都找不太到的那種。\n20250711 Kavita是使用網頁界面打造的圖書管理器，類似calibre，可以用來看文字類書籍還有漫畫。使用.Net與Angualr寫成。不知道為什麼要用.Net寫，所以才加了一堆奇怪的規則限制麼。目前部署遇到的問題是對EPUB的中繼資料要求過於嚴謹，導致一堆書都無法掃描，顯示錯誤。如果只是要看漫畫，Komga應該比較簡單。\n20250710 Wayback is a X11 compatibility layer which allows for running full X11 desktop environments using Wayland components. - Gitlab 回來吧X11！喔喔，原來XWayland Rootful Mode還不夠跑X11工作階段呀，這要讓完整X11桌面能在Wayland上執行，卻又不依賴 X.Org的X Server，讓X11末日時代之後能夠方便維護。我聽過一個說法，現在Redhat開發者的態度就是進入純Wayland時代，X11就靠XWayland去想辦法相容，不要再有X11工作階段了。Developer Explains Why Explicit Sync Will Finally Solve the NVIDIA/Wayland Issues - 9to5linux 最近確實有些進展，Nvidia閉源驅動的Explicit Sync protocol在merge後，XWayland效能提昇了許多。Wayback讓我想到早期Termux X11的作法，他們以前也是用XWayland讓Android能夠跑X Server的，不過後來改成xcb了。現在X11正式被Redhat宣佈死刑，X.Org不只是deprecated，以後可能要完全從儲存庫移除了。所以出現了XLibre Xserver專案繼續維護X.Org Xserver的資產。對X11毫不死心的probonopd寫了一篇文章：Are we XLibre yet?，列出有多少Linux與BSD發行版願意支持這項「正義」事業，提供X11Libre套件。Fedora社群有人提案，要不要在Fedora 43把套件庫的X.Org換成XLibre，果然又起蒸液了。Proposal To Ship XLibre As X11 Server Packages On Fedora Linux Is Withdrawn - Phoronix XLibre開發者的反woke態度，拒簽FreeDesktop的Code of Conduct，加上主要維護者程式寫的不好，讓這個提案被Fedora開發者撤回。還有個問題是，XLibre開發者在Github說他們版本的X11，相關的驅動程式都要重新編譯，這可能會帶來不小麻煩，且Nvidia閉源驅動也是個大問題。他們現在要專心搞好Wayland的移植，有餘力去顧X11嗎？看看那直到KDE 6都無解的X11畫面撕裂問題。\n20250709 Xwayland apps get Tab keyboard events even when they should be filtered out by event filter - KDE bug tracker KDE 6 Wayland新bug：XWayland的視窗在Wayland視窗之後會發生穿牆術，滑鼠點擊事件會穿透到後面的應用程式。〈勞山道士〉：王面牆，不敢入。又曰：「試入之。」王果從容入，及牆而阻。道士曰：「俛首驟入，勿逡巡！」王果去牆數步，奔而入。及牆，虛若無物，回視，果在牆外矣。大喜。我已經因為這個bug誤關瀏覽器視窗多次了。XWayland問題真的多。可若切換成Wayland，問題更多。\n20250709 Packet - Quick Share client for Linux Linux版的Quick Share實作終於出現了，這個程式能在Linux與Android之間無線傳輸檔案（儘限Wifi，光纖對Wifi不行），需要在應用程式內設定靜態通訊埠，並開啟防火牆9300通訊埠。另外有一個Rust寫的rquickshare，支援Linux與macOS。Quick Share（快速分享，舊名鄰近分享Nearby Share）是Google與Samsung主導的iOS AirDrop替代品。不知道為什麼這個協定要搞成閉源的，唉，難道就像Chromecast對標AirPlay，解放了對Apple裝置的依賴，卻也把人綁入另外一個生態系。Quick Share設計目的是為了方便，所以透過Wifi或藍芽都可以傳輸，主要針對需要無線傳輸的場合。現在，Quick Share官方與非官方的實作（Google僅在Quick Share官網提供Windows版客戶端）涵蓋了Android、iOS、Linux、Windows、macOS、ChromeOS，尤其Android是整合在系統的分享選單，不用另外開APP，增加便利性。不過嘛\u0026hellip;我還是覺得LocalSend做的比較好，開源協定，靠Wifi傳輸，簡單暴力。如果需要免裝軟體、瀏覽器的傳輸方案，靠PairDrop的WebRTC傳輸也行。話說SnapDrop似乎被奇怪的LimeWire公司收購了，冒用舊P2P公司的名字販售AI crap。Intransparent switch to LimeWire #651 速速改用PairDrop這個fork。\n20250709 不知道是不是因為十幾年前情竇初開的的動漫入坑作是看《零之使魔》才導致我潛意識中覺醒了M的癖好。看到女角teasing和抖S的動畫都會不自覺被迷住，反而是到處開後宮的alpha男不是那麼感興趣。傲嬌屬性的產生，可能跟日本人的個性有關，很多動畫刻劃的可能就是日本龜男的現實經歷，明明男女之間想要發展關係，男方卻總是在女方挑逗時嚴辭拒絕，這在美劇裡面早就開幹了好不好，令人懷疑這些人不是陽痿木頭人。小黃人總是欲拒還迎。從現實一點的角度來說，如果長大了還抱持著發展細膩關係、尋求「真愛」的想法，容易幻想破滅的，然後黑化變成incel。現實中傲嬌還真心愛對方的哪有這麼多，多的是純純的機掰人吧！祛魅後的體悟。\n20250708 圖片 不知道能幹嘛但感覺很厲害的操作：將特定視窗的畫面當作電腦的動態桌布使用。很多手遊都有這種功能，放著不動就會進入待機模式，變成類似螢幕保護程式的效果，附加報時語音，就善加利用這個吧。想法是透過設定Linux視窗規則，將遊戲視窗放到桌面上。以前X11的時代能用xwinwrap達成。不過Wayland的話就得看合成器怎麼做。通常Hyprland這種tiling compositor比較能自由設定視窗重疊規則來達成，但GNOME就不允許這種操作。至於KDE Plasma呢，只要把應用程式視窗全螢幕，再按Alt＋F3叫出視窗操作選單，點選「將視窗永遠置於最下層」，它就會變成桌面底層的視窗，顯示在工作列元素之下。依然可以點選互動，其他視窗會重疊上去。再用pavucontrol單獨將遊戲靜音即可。\n20250708 現在管理照片主要是使用Immich，把照片用SFTP傳到NAS，讓它掃描硬碟目錄的照片，並將其統一渲染在網頁時間軸上呈現，這功能讓我很滿意，但這畢竟只是一個類似Google相簿的照片總覽，而非Adobe Lightroom/Bridge那樣的「照片管理器」。我想要在照片上面寫點筆記，標記星星評等照片，最好還要有編輯功能。所以我想說有沒有一款適用Linux桌面的開源免費照片管理軟體。開源方案找來找去也就KDE的digiKam了，GNOME Shotwell太陽春！KDE又一次拯救了世界，由一群業餘開發者製作，開源方案裡面最接近跟商業軟體競爭的選擇。digiKam提供Linux、Windows、macOS版本，不需要匯入也可以直接讀取硬碟照片，當作相簿檢視器。使用開源AI模型識別人臉，編輯EXIF資訊，依據GPS資訊顯示照片在地圖上。還附贈一個調整RAW照片色調曲線的編輯器showFoto。這個照片編輯器取向跟GIMP不太一樣，不過也有互補的部份。雖然digiKam是桌面程式，但只要利用LinuxSever.io提供的Docker映像檔，digiKam也可以部署到NAS直接管理照片，並用瀏覽器遠端瀏覽，取代部份Immich的工作。\n20250708 綠色麻將撈完就走，輸了就翻桌。中分龜頭男要取代有雜質的牌，旁邊還有青鳥在叫。我不同意，輸不起就翻桌 7/26出門投「不同意罷免」 相較之下：國家亂七八糟我唸書有什麼用？TAIWAN ACTION 做功課篇 國民黨確實有在花錢做有質感廣告，對抗民進黨下轄的左逼拍的文青片。真有做功課就不會被綠共的宣傳帶著走了。\n20250706 暴論：不提供port forwarding的付費VPN服務沒有購買的價值。促進BT與Magnet資源自由流通的重要infrastructure一環不可或缺。別看Surfshark和NordVPN這類的，看看首頁強調自由網際網路價值的公司：譬如ProtonVPN（瑞士）、AirVPN（義大利）。一個月訂閱的價格分別是9美元和8歐元。其中AirVPN網站要做的比Debian網站還醜可不容易，就知道他們是men of culture了。榮譽提名：Mullvad（瑞典），不論買多久都是公道價5歐元 ，除了加密貨幣外，還支援郵寄現金付款。雖然他們幾年前因為濫用太嚴重就關閉port forwarding功能了，小公司承受不住盜版仔的侵入。\n20250706 在樹莓派跑一些NAS服務有感，總覺得ARM還是二等公民，受盡歧視。Linux開源軟體的使用率比Windows多，又因為Debian系發行版會從套件庫建置軟體，理論上軟體提供multiarch（x86、ARM、RISC-V）應該不是難事\u0026hellip;不過還是有開發者不顧慮到x86以外的平台。為什麼會這樣？我自己瞎猜的原因：系統架構碎片化太嚴重，沒有x86平台的標準相對統一，畢竟連統一的UEFI都沒有，很多東西移植會出問題。比如，用GPU加速影片解碼的VA-API就會碰到一堆ARM開發板廠商烙賽閉源驅動不相容的問題。很多軟體只支援x86_64架構，如果是依賴Nvidia CUDA等平台限定技術的那也就算了，但瀏覽器仍有部份不支援ARM64，對我就是在說Google Chrome。都願意為Windows on ARM和macOS Silicon出特製版了，Linux版什麼時候才要出啦，虧我們還是貢獻ChromeOS和Chromium許多的好homie。ChromeOS和Android都有arm64的版本，獨漏Linux！？另外，一些不那麼熱門的Docker映像檔只有x86版本，需要自己看Dockerfile來build。Flatpak也有這種現象，譬如Firefox只有x86版，反倒是第三方的Zen Browser有ARM版本。Snap我不清楚，不過Canonical為了Ubuntu IoT應該多少會cover一些。即使Linux能靠binfmt + qemu在ARM的系統轉譯執行x86程式，但這終究非治本方式。順帶一提，我覺得Box64、FEX Emu這些開發者很厲害，能靠開源力量寫出不遜於微軟與蘋果的x86 Emulator，在ARM架構的系統執行Steam上的x86 Windows遊戲。\n20250706 Damsefly是照片管理軟體，正式來說是數位資產管理員。需要用Docker部署再用專用桌面客戶端存取。比Immich有更多照片管理功能，而並非只是一個相簿。我覺得比較接近Google Picasa、digiKam的設計，內建AI照片辨識。我有想過用這個取代digiKam，不過這軟體無法完全用網頁版運作，那還不如將digiKam以Docker X11部署呢！話說我現在才知道原來digiKam資料庫跟照片目錄是能分開的\u0026hellip;其實沒有必要用符號連結掛載外部儲存空間。\n20250706 台灣的罷免門檻疑似太低了，所以2016年以後就變成了兩黨利用來消滅政敵的政治工具，有些人是真的活該被罷（如陳柏惟、韓國瑜），有些則是報復性罷免（如黃國昌、謝國樑），至於2025年「大罷免」的理由更是完全不合理，制度又一次被濫用了。難道中國人真不適合民主，是需要管的，恐怕中國台灣人也是。我看台灣大罷免！｜王局拍案 20250626 老王中肯！之前看到他自稱是反獨裁不反共，啊這\u0026hellip;\u0026hellip;他的影片確實反映了一些老中人對台灣的負面的觀點，認為台灣民主也沒比牆內待宰的豬好到哪去，華人民主燈塔已經變成笑話。王志安不過是因為身在牆外，不怕被禁言罷了，心底還是大陸人。王志安可能對台灣情況不太熟，所以沒有著墨太多藍綠在法案上的爭議，只簡單講了導致2025年「大極罷」的2024年時間軸，然後進入重點，在於2016年選罷法修正後門檻太低的問題。如果連這個大陸人都能觀察到選罷法的問題，那這部法律確實有必要再檢討了。黃國昌應該收回以前要求降低罷免門檻的發言，畢竟他自己也曾經因為過低的罷免門檻而被搞過，未來應該考慮修回接近要求50%投票率才可以防止惡罷的發生。因為罷免很容易被仇恨動員起來，結果只要四分之一投票就能罷免，這實在沒道理。根據貓貓頭社長的試算，完全不投反對票的情況下有9席藍委會被綠色動員來的暴民罷掉。我看支持大罷免的團體常常po一些感性的文藝作品自我感動，把政黨奪權技術包裝成是在救國，什麼「守護最好的阿中哥哥」，這真的讓外人感到很噁心。不幸的是，影音媒介傳播感染力很強，偏偏民眾黨和國民黨又沒有民進黨那麼多文青和圖文作家協助宣傳，只能用AI生圖反擊，或可真能騙到一些腦波弱的民眾，進而支持他們空虛的抗中保台敘事，讓感性超越理性。於是在仇恨支持的情況下，罷免竟會以超越多數民意的結果順利通過，令人匪夷所思。是，台灣是不成熟的民主，年輕且脆弱，除了中共美國的外在因素影響之下，島內政客仍流於喊口號（白綠藍皆然），總是進行瘋狂的政治動員，選舉過程一點都不理性。關心，或者說熱衷政治的人的比例異常的高，這不是成熟的民主國家該有的現象。\n20250705 資本主義E04。我只是想要一個可以手動模式的iOS相機APP而已怎麽那麽難。因為iPhone內建相機的白平衡和ISO有時候不準確，需要可以手動鎖定曝光的按鈕。在舊機型上能調整的選項更少。Android有Open Camera提供豐富的M模式，讓所有手機能享受到類似Sony Photo Pro的精細介面，還是開源的，真是做慈善。會調整的話甚至可拍出Gcam效果。可，iOS的專業相機幾乎都是付費專有軟體！！！App Store買斷制的還算善良，一堆都要訂閱制，且不提供免費版功能。熱門免費相機APP是修圖怪物在用的，多是強調美顏功能。勉強找到了二個還行的iOS拍照APP：Apple推出的Final Cut Camera，但只能錄影。還有一個免費的Yamera Manual Camera，iPhone和iPad都能用，總算能夠手動調整想要的色溫了。免費版有限制畫質，升級到專業版只要60元。如果是開源就更好了哪。\n20250705 【書影心潮】《機動警察》三集劇場版感想：作畫與配樂都很Epic，川井憲次超厲害，不過後面劇情是越走越歪了，尤其第三部大戰異形怪物，根本可以拍成獨立電影，不需要借用機動警察這個IP了吧。第一部劇場版起碼還是以特車二課為主軸的辦案故事，到第二部慢慢被邊緣化，第三部就只是出來收尾的？這可能跟導演想傳達的理念相關連。如果只看第一集的話很適合帶人進入機動警察的世界，讓人想看OVA與TV版動畫，LABOR機器人真的好帥呀，像是真的能在現實世界運用的技術。可是，第二部的議題突然沈重起來，變成寫實軍事劇，又帶有一些黑暗幻想的成份，跳脫輕鬆日常的氣氛。第三部最吃電波，或許有觀眾會被刑警主角聽黑膠唱片才得意破案的橋段燒到，不過整部看下來就滿悶的呢\u0026hellip;。三部作品的共同點是喜歡引用聖經？似乎很多日本導演喜歡用這種手法，將上帝的話語化用到作品之中，偷偷傳達自己的說教理念，嘿～這算是一種文化挪用？雖然中二但我喜歡！\n20250705 本發行版專門為那些厭倦世間常見package format的人量體裁衣，提供符合他們身份的美食。【homo剧场】淳平与池沼snap - Bilibili 影片縮圖的上下關係不太對，Snap和Flatpak兩個是競爭關係，你Canonical一間小公司也敢對IBM下轄企業大小聲了？且Fedora的Flatpak沒有強迫使用，不會像Ubuntu執行apt install指令到一半被snapd一轉攻勢。被強迫吃雪的應該是Ubuntu以及Ubuntu flavor的用戶，譬如Kubuntu、Xubuntu、Lubuntu（悲）而且就技術上來說，有SELinux的RHEL系發行版很難相容依賴AppArmor的Snap，是天然對雪抗體（喜）。看評論區才發現，原來Ubuntu Pro真的是會員制系統呀\u0026hellip;那RHEL subscription不也是嗎（正論）。\n20250705 偵辦京華城團隊檢察官遭恐嚇血債命償 市刑大分案偵辦 - UDN 把東廠惡檢全家開盒開出來，再改張血債血還的梗圖就被羈押。曾喊槍斃黃國昌！ 網翻綠支持者做藍委遺照 - TVBS 另一方面詛咒馬英九和黃國昌去死的靈堂照卻隨便po？現在貼這張圖還有機會被封號和被黑皮上門抓人。檢調官官相護不可侵犯 奉旨連夜抓鄉民 - 自立晚報 我草惡俗啊！心眼比屁眼還小的一幫人。後續的做法當比照TSJ事件，在網路上開展游擊戰，用各種諧音梗擴散，讓綠共政府陷入人民戰爭的汪洋大海！這個時候應該進行～迫害加速～，建造賽博靈堂，把照片P成黑白照，寫上「功在黨國，化屑仙逝」部份不怕趙彈的硬度極高反賊，在惡俗維基首頁把惡俗維基案的法官po上去。檢遭恐嚇「命債命還」 黃國昌：要循正道 - NowNews 黃國昌出聲譴責小草的說法恕我不能完全認同，你國早就不是法治的國家了（你說法治我都覺得有些好笑.3gp），充斥虛有其表的民主，再這樣放任下去革命是早晚的事情，必須要有\u0026hellip;\u0026hellip;新太陽花運動出現，比起青鳥行動那種偽物，必須要讓真正的人民站出來，在做好瓦解政府權力的配套法案之後，開展運動。冷靜想想，在事情結束前，個體戶還是別輕舉妄動，要等待號角響起。\n20250704 日系手機Sony都快要沒人買了，刷機資料可能也會失傳！看看Sony連在日本的市占率都變成Others了。讓人意外的是到Xperia 1 V都還有人製作LineageOS的第三方ROM。驅動正常，能使用Photo Pro，甚至移植了導演模式的BT.2020色域。要刷寫Sony原廠韌體，還有非官方的NewFlasher，取代以前常見的FlashTool。不用組合fastboot刷機包，只要一條指令。一直有開發者推出第三方ROM，應該歸功於其實Sony是相對很開放的手機品牌嗎\u0026hellip;？現在1/5/10系列解鎖手機Bootloader不會損失任何螢幕增強功能，也不會熔斷，頂多Root後Play Integrity噴掉。他們官網有Open Devices的計畫，教你如何編譯適用Sony手機的自訂ROM，雖然都是過時資料（之前看都已經Xperia 1 VII了官網卻還在XZP時代，噢，2024年終於改善了！官網圖片換成21:9的Xperia了），而且只有AOSP，不包含proprietary blob。Sony同時維護二種ROM，包括自家修改過的AOSP和完全開放的AOSP，手機的Linux kernel有乖乖按照GPL條款放出原始碼在Github，不過直接編譯會出現一堆error，要靠第三方ROM移植者清理一下程式碼才能用。\n20250704 「別再說今生最愛的人是我，這樣的話叫人無法承受」許久未聽，聽到小雪一曲還是很為震撼，這首曲子寫的真是太好了。好像曾經用作笑傲江湖的片尾曲吧？不過不知道為什麼，任賢齊獨唱的版本，比起陳昇與任賢齊一起唱的版本還要單薄呢，果然還是要有陳昇那個漂泊的嗓音才夠味呀～\n20250704 久坂宗次 - 天龍ちゃん改二のスケベボディ もっちーたちも大興奮！ 哇幹大，看那旁邊小鬼們嫉妒眼神。到底為什麼天龍改二還不能帶大發啊\u0026hellip;身為低消耗輕巡，明明容量就超級大（意味深）。導致遠征大隊長長期都是鬼怒與龍田兩人擔任。\n20250704 [INST (Interstellar)] AIN'T NO WAY這本有莫名的喜感，開頭就是冬月說：休想！！！第一次看到艦娘這麼拒絕提督的。話說艦娘這一拳下去人早就送軍醫院了吧。當然後面看到其他姊妹的樣子，提督是到處都能發情後背位、正常位的猴子，還是乖乖接受滅茶苦茶。\n20250703 H110晶片組的LGA1151主機板已無大幅升級之可能，但換台新的又不知道舊電腦怎樣處理的雞肋，畢竟我已經有Debian樹莓派5土砲成的NAS了呢。乞丐想法：從Intel i5-7400升級到Intel i7-7700？看跑分成績只上升不到50%性能，沒有質的改變，正如這台的顯示卡GTX1050Ti4G最多升級到RTX30506G，仍無法解決Stable Diffusion隨手就OOM的窘境。不過4核4緒變成4核8緒可以讓KVM虛擬機在GPU Passthrough進行Looking Glass玩Windows遊戲時，不至於吃光Ubuntu宿主機全部資源。或許能改善一些效能。現在七代的舊CPU只要2000元就能入手。但還是貴，這錢都能買4TB的HDD了。更丐的作法：把300W電供也換了，顯示卡單獨升級空間會大一些，就能裝RTX3060Ti12G。可是這些錢都夠買新AMD 8700G加上主機板了。想到更久以前給G41晶片組LGA775腳位，用了十年的電腦小幅升級續命，花3000元買Q9550 + GTX550Ti然後裝Lubuntu，取代較慢的E3300 CPU，獨顯則是為了解決北橋Intel內顯太爛，連HTML5網頁遊戲艦隊Collection都會卡的效能。結果撐不到一年主機板和電供還是壞了，幹。我不過是拿它來反覆編譯Android Linux核心而已，為了研究如何在Android跑起Docker，操沒幾下就不行了，真是沒擋頭！\n20250702 玩Minecraft Java版生存，竟然找到類似一個紅豬電影裡面祕密基地島嶼，真有趣，它矗立在汪洋之中，島嶼下半部有一個開口就像是讓船隻進入洞穴一般。然後沿著沙灘峭壁爬上去，上面就是一個沒什麼樹幹的平原！這非常適合當作基地呀！\n20250702 NVIDIA 結束部份舊卡的驅動支援 580 版本不再支援 GeForce GTX 700 / 900 / 10 系列 - HKEPC 這一天終於來了嗎\u0026hellip;我的GTX1050Ti在580驅動版本後終於被Nvidia放棄支援了，畢竟這是發售將近十年的舊卡了。這真狠，不管你GTX1080Ti曾經有多強，現在還能靠大VRAM在生成式AI的年代再戰十年，放棄支援就是判了死刑。想想我這台1151腳位的電腦也快十年了，靠換用Linux撐到現在。真的是不需要額外插電的入門級低瓦數神卡。這台電腦如果要換顯示卡，頂多只能買3050，不然300W電供撐不住，得整組換掉。之前，先是CUDA新的Triton加速器不能用，現在Nvidia專有驅動也放棄支援，嚐不到未來針對Wayland的改進。在Linux世界，除非真的是上古級硬體，否則沒有不支援這檔事。一般來說，Nvidia舊版驅動還會保留在套件庫，還能夠安裝，但社群沒辦法做些什麼，很難把新功能backport回去。開源社群軟體採用的CUDA版本或許不會那麼新，但我猜未來頂多再撐個二年就會出現許多不相容情形了吧。那麼舊卡要續命，就只能靠nouveau或NVK，使其能獲得最新版的OpenGL與Vulkan支援。至於CUDA，NVK搭配ZLUDA逆向實現相容的可能性微存？將CUDA塞在Docker裡跑或許能撐久一點。\n20250702 自由軟體社群有政治議題，例如Wayland不成熟卻還要硬推，加劇了社群成員的對立，曾有一段時間Think twice before abandoning Xorg. Wayland breaks everything!下面變成費拉右與左逼對嗆。最近有個叫做X11Libre的組織fork了X.Org的X11專案，宣稱要繼續維護這個陳舊的X視窗系統代碼屎山，防止被轉向Wayland的大趨勢淹沒（RHEL開始刪除有關X11的程式碼了，連repo都要清空）。專案介紹有一段很有趣，直接明說我們不在乎DEI，很明顯就是在嗆FreeDesktop.org，據說Hyprland作者就是不簽Code of Conduct才被踢出wlroots的Gitlab儲存庫，改成獨立維護Wayland合成器的。X11Libre/xserver的Github Readme寫道：\u0026ldquo;It doesn\u0026rsquo;t matter which country you\u0026rsquo;re coming from, your political views, your race, your sex, your age, your food menu, whether you wear boots or heels, whether you\u0026rsquo;re furry or fairy, Conan or McKay, comic character, a small furry creature from Alpha Centauri, or just a boring average person. Anybody who\u0026rsquo;s interested in bringing X forward is welcome.\u0026rdquo; 不在乎你是毛毛獸控還是什麼的都歡迎貢獻，這個活像是4chan /g/鄉民會講的話XD 該說是刻板印象嘛，堅持X11理念的人或多或少都會支持suckless主義的軟體\u0026hellip;\u0026hellip;？且都有點反woke意識形態。讓X Window再次偉大！\n20250701 我川威武，不TACO。Trump leaves Maria Bartiromo speechless after suggesting US is hacking China: ‘You don’t think we do that?’ - The Independent 主持人說中國跟美國有敵意紛爭，派人竊取美國機密，還試圖散播農業病毒，就這樣你還要跟他們交流、簽貿易協定？川普竟回：「我們不是也在做一樣的事嗎？世界就是這樣運作的，這是個骯髒的世界。」真是摸不透你呀。一直在想，美國一直都是人權爭議最多，最愛在其他國家挑起紛爭的惡霸國家（經典回顧：Billy Joel - We Didn\u0026rsquo;t Start the Fire，可以寫一首新版了），怎麼有臉指責中國惡霸有諸多人權問題？看看關塔那摩灣、伊拉克戰爭、還有當以色列兒子的事情，哪個不比新疆集中營嚴重多了？還有諸多民粹問題，這讓民主價值對共產主義的比較顯得無力，很容易陷入whatboutism的圈套。我想這二者最大的差別在於，美國的人權問題是能公開議論的，公民與記者會盡力揭政府的醜惡事，政府只能灰頭土臉的打哈哈，除非是像史諾登一樣把NSA底褲都掀了才會有生命危險。而中國政府則是不要臉的一概否認，視所有的聲音為造謠，你支動輒以尋釁滋事罪送辦。街頭嘈雜，公共聾啞。這是二者最大不同之處。沒辦法判斷哪一邊是善或惡，因為就算某一方公民素質可能比較高，但政府只在乎利益。聯合國的這些五常國家盡是些無恥之輩，讓這全球組織顏面掃地。那麼，既然美國這種大國都沒辦法在道德上站得住腳了，台灣政府自沒這種硬氣到底的底氣不是麼。如果說，我們用很硬的態度單方面認為中國就是惡魔，乃不可接觸之物，時刻提防，完全斷絕交流，損害的終將是台灣利益。因為我們確實沒那麼屁股這樣做，抗中保台就跟台獨一樣是死路一條。不要以為民主同盟站對邊就是在參加什麼正邪之戰，到時候只會成為棄子。或許，我們得對中國的一些人權議題裝死，放棄一些意識形態與主權的爭執，才有跟這個惡霸正常務實交流的可能性。誇張一點的說，過去的馬英九才是真台獨教父，你以為他是在親中下跪，人家是學汪精衛老師曲線救國，陽奉陰違到到大陸講中華民國，採取模糊策略為台灣爭取最大利益。\n20250630 預算有限的情況下，可能買過季旗艦，總比買當季budget phone要好。不知道換成Pixel a系列會不會遇到偷料問題。我聽說Pixel 9a雖是入門機，但只不過是換成塑膠背蓋而已，品質應該不會差勁吧？原本以為手上的Sony Xperia 10 V還算滿意，沒有換的必要，無挖孔螢幕與正面雙喇叭，不過是拍照below average而已。現在發現一個長期以來被忽視的問題——因為很少用所以現在才察覺——這支手機錄影收音很糟糕。明明是在吵雜的現場，錄影上下兩個麥克風的收音都像是在蚊子叫，不知道是有摔到還是怎樣，可能是LineageOS的bug。對比幾年前買的iPhone SE 2016——就算是平價機，Apple照樣提供提供旗艦機的品質。至少在錄影錄音這基本功能方面不會偷工減料。想起了一個現象，Android機偷料空間很大，尤其中階以下的CP值手機必定有偷工減料之處。像以前的紅米，就是喇叭很破，還有照相品質像是被狗幹到，可以說是賣給那些臭打遊戲，只看SoC的規格控（屌絲？）。至於非紅米手機就是塞shitty SoC，輔以唬爛文宣吸引人購買。現在可能好一點，因為手機整體水準提昇，加上各家手機的相機修圖技巧，低階鏡頭也有美顏濾鏡，所以除非是5000元以下的超低價手機，否則應該不會有明顯的短板，好吧，Type-C還在用USB 2.0就是常見的省錢操作，更久以前的操作是用Micro USB而非Type-C省錢，歐盟鐵拳下來應該都老實用Type-C了。可是，非中國廠的良心程度就會更低落，他們會毫不掩飾的偷料，他們會認為中階手機就是該砍好砍滿，而非中國廠願意下放。\n20250628 小技巧：如果Ubuntu更新Linux核心之後無法開機，可以在開機時按著SHIFT，進入GRUB選單，切換舊版核心進入系統。有的系統會把GRUB選單隱藏，這能強制把它叫出來。以前看過一個評論，說Arch Linux是很危險的系統，因為滾動更新的緣故會在更新核心之後把舊版核心刪除，如果核心出問題就會開不了機。這下我總算知道為什麼Ubuntu和Fedora要保留5個舊版核心的做法了，儘管會佔用更多/boot分區空間，因為就算是穩定的LTS版也可能炸掉，保留舊版核心還有挽救機會，至少不用用到LiveUSB來救系統。最近遇到的問題是安裝新版Ubuntu 24.04核心的時候遇到error processing package linux-headers-generic-hwe-24.04錯誤，在查詢Linux Mint論壇之後，(SOLVED) Error while upgrading drivers - Linux Mint Forum，了解到是Realtek網路卡的DKMS樹外驅動（我從Github下載的）編譯失敗，導致APT安裝到一半終止。這時用dkms remove暫時移除那個核心模組，然後再dpkg \u0026ndash;configure -a就能夠順利更新核心。\n20250626 看到Mac Mini的教育價一時之間有被燒到，最低只要16400元，我對綁手綁腳的macOS沒興趣，最主要是想裝Linux，或許未來Asahi Linux成熟了（現在只支援到M2）後我就能把它當daily driver用，那個盒子的大小也能放到包裡帶出去，用擷取卡把iPad當成Mac Mini的螢幕用。差點買下去。但是冷靜思考一下，這台主機還是很盤呀。內部不能更換零件，要靠外接硬碟擴充容量！將近20000台幣的價格，可以組更好的AMD處理器電腦，日後還能任意擴充零件，x86對Linux相容性也比較好。如果說把Mac Mini當作一個小型伺服器或者ARM測試平台，那CP值完全比不上我手上的樹莓派5。我唯一能想到的優點是Apple Silicon使用統一記憶體，代表VRAM夠大，這樣它跑PyTorch比較不會OOM。用來跑Ollama或Stable Diffusion比同價位的產品有一點優勢。但這個操作得在macOS完成，若安裝Asahi Linux不知道要何年何月才能有AI加速支援。Mac Mini最主要的價值可能在於開發機，特別是為了開發iOS APP才需要。如果沒有這方面需求，Mac Mini就顯得很不值得。\n20250625 20250623 河殇 六集电视连续节目 中國央視1988年拍的《河殤》真的是支黑的入門教材XD 曾幾何時共產中國也有這樣敢言的媒體人。這部片是在天安門戰車道大會前一年拍的，有人認為這些思想促成了六四軍民大聯歡的發生。每一集的畫面開頭都是中國人下跪的醜陋畫面，配上重重的警鐘，然後在影片裡面大肆抨擊自古以來的傳統文化，「一個再也輸不起的民族」撕碎可笑的中華民族主義（很值得台灣借鏡，口口聲聲說民族主義的從來就不是什麼好東西），以及隱晦的批評毛澤東時代共產主義的失敗。我覺得最精妙的比喻就是說中國人崇拜龍，皇帝也自認是龍的化身。但是龍是由各種動物組成的四不像，因此人們一直以來都是在拜這畜生不如的東西！這部片子撰稿的口氣有如清朝末年的譴責小說，哀其不幸，怒其不爭。總體來說這系列影片仍帶有一種積極向上的力量，並非是單純的仇支，是希望中國人能夠大徹大悟的改革，不只是金錢物質要提昇，政治思想也要革新。這部片子觀點看看就好，別真的上頭了。我看過有些蔥輪姨粉，就愛用各種古文明的比對（例如羅馬雕塑 vs 漢朝雕塑的人像細緻程度）來證明中國以來一直是個窪地，三千年歷史根本不值得一提。真是迷惑支黑行為。這就屬於有點過了。要記住，窪地論也只是一種史學觀點而已。若是用這種狹隘的思想來看待過去的文化，也是陷入了一種偏狹。\n20250623 v25.06: the one with systemd 我與我的Systemd一刻也不能分割。專為手機設計的Linux發行版postmarketOS發表了v25.06更新，帶來了新的手機UI改進還有系統變更。最大的變化是終於改用Systemd了，根據Wiki資訊，未來可能會走類似Gentoo的路線，提供使用者兩種選擇，看是要用OpenRC還是Systemd，在bootstrap階段自由抉擇。不過官方預先建置的映像檔預設就是使用Systemd。這也好，符合Linux主流發行版的標準做法，越來越多軟體依賴Systemd，這樣能夠減少額外fork重寫的困擾（譬如GNOME需要把elogind分離出來）不過Hacker News有些開發者認為Systemd不適合嵌入式裝置使用。postmarketOS的開發者達成的創舉，便是在musl libc的環境下完成Systemd的移植！這是上游Alpine Linux都未能做到的事情。因為init系統的變化，官網建議現有用戶不要直接升級，而是重刷，好切換到Systemd。關於UI部分，GNOME升級到了48，Phosh採用了新鍵盤Stevia，取代原本的Squeekboard，並實現了建議字詞的功能。這次更新，許多SD430手機的相機驅動已經合併入主線。SD845手機相機應該能夠作動了。新加入的裝置最受矚目的是小米平板5！這樣我們就有了搭載高通SD870的Linux平板！順便記載一下如何用Virt Manager安裝postmarketOS x86_64：新增qcow2，硬碟驅動設定SATA，不要用VirtIO。以nbd掛載，然後dd寫入postmarketOS的img到qcow2，以那個qcow2開機。\n20250623 AI都可以翻译了，学外语还有前途吗？ - 三联生活周刊 如果純粹以功利性的角度來看，學習英語仍有必要，因為這關乎未來能不能找到好工作。相較之下不能立即帶來好處的語言就不受重視了，譬如台語，除了選舉時騙騙覺青和老番顛的票以外沒啥用處，那又為何要在學校推廣vernacular呢？不如說，學生自己可能都會問說學這語言有何用？難道會因為學校強制推廣，這語言就有動機讓人願意去使用了嗎？不能確定。在勢利者眼中，人文科學便是這樣沒價值的東西，所以，我們只好用「學語言能開拓視野」的優美文字哄騙自己，詩意的覺得「學語言能夠不讓你透過他人的視角（指翻譯機）看世界」。可是沙皮爾-沃爾夫假說都還沒證據支持，說學語言（更極端一點說法：拋棄母語，換個語言，以擺脫支性可行否？）能徹底改變思維模式值得商榷。這篇文章的筆法大抵也是如此，訪問了許多例子卻不能說服我學語言的必要性。在語言學家的協助下，未來AI終究能克服各種場合下的翻譯問題。但是，若跳脫這一層不理性的想像，語言的存在價值就被稀釋掉了。說AI機器人不能取代人本主義專業的人士，不過是人類一廂情願的感情形成的假象罷了，他們還無法跳脫這幾千年來形成的原始思維慣性。「我們下去，在那裡變亂他們的口音，使他們的言語，彼此不通。」神不為者，人為之。 (God\u0026rsquo;s in his heaven, All\u0026rsquo;s right with the world.)\n20250623 語言模型已經能夠模仿人類說話的樣子了，那麼翻譯外國鄉民的語氣自然也不在話下。Reddit現在會將自動翻譯後的中文post顯示在Google搜尋結果，他們的中文翻譯老實說蠻厲害的，可能有用到語言模型。它把英語sub變成好像是台灣PTT鄉民在講話一樣自然，連「靠北」「母湯」都會出現，難以想像他們到底蒐羅了多少語料庫。既然語言不再是問題，台灣那些以翻譯Reddit爆文維生的meme粉專（會在盜來的圖片上加上xxx翻譯的）可以收一收了。人們透過自動翻譯就能接觸到Reddit上的第一手訊息，不必依賴翻譯人士的篩選，多一層神秘濾鏡。但是我還是很討厭這種虛假的鄉民語言，看上去好不自然，我還是習慣英語為主的環境，他們應該要更明顯的標示這篇文章是機器翻譯的。就跟在GitHub issue討論時，看到中國人用翻譯軟體把別人訊息翻譯成中文再引用回覆一樣惱人。現在有個bug，就是Reddit似乎分不清要翻譯成繁體的時候，台灣繁體和香港繁體的區別，導致一篇post會同時出現漢語與粵語的翻譯文字XDD 搜尋繁體結果結果彈出粵語，看上去更惱人了。\n20250622 AMD Ryzen 7 8700G看起來是很不錯的低價CPU，8核16緒應該能撐住多台虛擬機，內顯Radeon 780M有摸到Nvidia GTX1650的邊。在Linux甚至能搭配ROCm加速AI計算，VRAM就是RAM總和，減少OOM機會。不過因為PCIe通道數少，限制了未來不能升級太高級的顯示卡。不過嘛我本來就不會買到RTX5070以上等級的所以還好。由於Nvidia閉源驅動在Linux頻繁做妖，在Wayland還沒完整得到更好支援之時，我得先以Intel或AMD GPU為主，對滾動發行版來說主線支援的Mesa實在太重要了。這樣講可能有點奇怪，一般人買電腦都是Nvidia獨顯為主要顯示，CPU有個亮機用的內顯就好了，或是乾脆買無內顯的F版本省點錢。不過我的考量是，同時要有能夠讓KDE Plasma Wayland桌面環境穩定執行的圖形驅動，但偶爾跑AI又要用到CUDA，所以我的配置就會變成AMD + Nvidia的方向。同價位的Intel CPU內顯都是負責搞笑的，就只能選AMD。我要一個強悍的內顯CPU負責處理日常事務和玩點Steam小遊戲，然後偶爾需要強力GPU計算的時候，再用PRIME Offloading的方式去呼叫Nvidia GPU出來幹活。\n20250622 台灣以前是強盜搶銀行，沒看到警察在旁邊。現在是一群閩猴「在路上」搶了一台車卻不會開，愛國賊太多了。對外唯唯諾諾，對內重拳出擊。\n20250622 【書影心潮】《機動警察劇場版Ⅱ》的氣氛營造真的很棒，劇情十分寫實，F-15攔截F-16的軍事場面更是動漫史上數一數二逼真的，明明沒有空戰卻依然緊張。1993年的電影動畫現在看來仍不遜色。這部電影完全變成了押井守傳達個人哲學的作品，不再只是單純機器人打打殺殺。前半段隱含了日本自衛隊的處境，還有對美日同盟的擔憂（這些老導演經歷過左派運動時期，對美軍自然沒好感），巧妙的討論了「正義的戰爭」與「不正義的和平」的概念。不正義的和平總比正義的戰爭好，是嗎？有人說這是在給變成和平白痴的日本人一個警告，戰爭一直存在，即使日本本土沒有戰爭，但是仍透過海外戰爭發大財，人們卻對此視而不見，甚至扭曲了正義的定義。【机动警察PATLABOR 2】非正义的和平（Just War and Unjust Peace）。這部2小時的電影LABOR機器人變成次要配角，特車二課在最後30分鐘才大顯身手。即使事件解決了，但是幕後兇手的作案動機給人帶來強大震撼。別忘了提，川井憲次製作的配樂是讓這部作品更加昇華的關鍵！〈Asia〉〈Wyvern〉〈Unnatural City〉音樂配合極端寫實的部隊行進動畫，將整部氣氛推向高潮。\n20250617 一天內接觸到好歌和油歌，這種音樂欣賞體驗真的是難以言喻。從《蠟筆小新：風起雲湧的叢林冒險》電影當中黑人爆炸頭的表演知道了經典歌曲Carl Douglas - Kung Fu Fighting，這種異國歌曲的調子讓人想到Aneka - Japanese Boy，這首是玩《俠盜獵車手：罪惡城市》電台聽到的。另外，總算知道了馬兒跳的來源！原來出自うまぴょい伝説這首歌，好油喔天哪，據說是作者在喝醉情況下寫出來無厘頭作品，結果意外很紅。講到賽馬娘，本來我對賽馬沒什麼概念，只知道《烏龍派出所》裡面兩津勘吉很喜歡賭馬才略有耳聞。\n20250615 在Linux用Waydroid抽卡運氣都會特別好，一發出貨或者單抽出貨。意外的是結果這次完全沒課，大概花了用庫存的300石就抽到了FGO台版活動「從者・夏日・慶典2025！」當中Pick Up的5隻五星：阿爾托莉亞．Caster Berserker、BB、特斯卡特利波卡、奧伯龍、美露莘，充實戰力。有戰力然後又很色，尤其是美露莘的肚肚，啊嘶。上次完全沒打從者宇宙活動關卡就抽到太空伊斯塔感覺好不好意思，這次一定要把活動完整打完。結果這次活動文本超級長，後面只好跳著看，總算是在時限內把活動限定從者換到手了。\n20250614 警惕GNOME本位主義，不要認為GNOME就代表Linux，它予人的想像力削弱太多了。只用過Ubuntu + 預設的GNOME就說好難用，別說你真正用過Linux系統！換成KDE會發現新世界，包括檔案總管預覽各種圖片格式不限於AVIF與HEIF，還有自由度高的檔案總管排版。發現一堆軟體開發者似乎只在GNOME Wayland測試過，換成KDE Wayland就問題一堆。沒有issue專區的專有軟體更甚！！！沒辦法，誰叫大部分發行版都是使用GNOME當預設桌面嘛\u0026hellip;GNOME的東西就成為了那些開發者以為的標準，儘管GNOME獨裁的地方也不管。譬如Android Studio，GNOME執行良好，但是在KDE就得強制切換成XWayland才能縮放視窗。另外一個問題就是經典的GTK File Picker，太多程式寫死只用這個了！快用XDG Desktop Portal！\n20250613 有時候我就是好想逃離那一切。總覺得Google的AI摘要看起來很煩躁，更幹的是其他搜尋引擎也開始紛紛跟進，只是要簡單的搜尋，卻在搜尋結果最上面跳出語言模型對話框是怎樣啦。不想花錢買Kagi的話，那麼是時候自架一個搜尋引擎SearXNG了！Hacker News上面很多人都在講，Google搜尋的新Gemini AI摘要功能正在殺死內容創作者，讓獨立網站難以存活。Chatbots are replacing Google\u0026rsquo;s search, devastating traffic for some publishers 但他們必須這樣做，才不會被Perplexity超越。而Average Joe久了會習慣，覺得搜尋省事，何樂不為呢？用戶一眼就能找到答案，資料來源都是Google，完全綁在Google的平台。除了社群媒體他們不會再有獨立爬文的功夫！天天吃AI餵食的泔水！就像整天滑SNS給AI影片讚好的那群！不過我就是不想要這樣，實在太懶惰了。自架搜尋引擎（也可以使用別人的實例），不是叫你從頭開始爬網頁，看看依賴P2P分享搜尋結果的YaCy都沒呼吸了。而是自己做一個界面比較乾淨的元搜尋引擎(meta search)。SearXNG會自動整合Google、Duckduckgo、Brave等搜尋來源。界面十分無趣，像是十年前的Google，沒有什麼噁心的AI摘要，只有URL。如果懶得搞這些，其實裝個擴充元件擋元素就好啦！Bye, Bye Google AI這個擴充套件可以將Google搜尋網頁中的AI摘要強制移除。另一種是方法是用神秘代碼udm=14。手機版瀏覽器則是可以使用TenBlueLinks.org\n20250613 《Nevermind》封面嬰兒30年後提告，為何 Spencer Elden 與 Nirvana 反目成仇？ - 樂手巢 幾年前有個八卦是，小時候被抓去拍Nirvana 1990年《Nevermind》專輯封面的嬰兒，長大了居然用兒童瑟情為名義告Nirvana，想用PC狠削一筆錢是吧，可惜性別錯誤，MeToo（偽）失敗。如果真能告得成，那齊柏林飛船 Led Zeppelin - The House Of the Holy（1973年）專輯封面那7個全裸露股溝的小孩不就能發大財了XD 齊柏林飛船《Houses Of The Holy》，天真有邪的陰兒岸 - 樂手巢 說實在這詭異的專輯封面配上最暴力的〈No Quarter〉一曲，真的有說不出的詭異神聖感。可是同一張專輯又有非常平靜的〈The Rain Song〉帶來一種不和諧的美感。想到這張專輯封面出自《Childhood’s End》小說，又會讓人聯想到FGO第七章對提亞瑪特的最終戰了～！畫面音樂都十分史詩級。將外星人接引小孩的概念，轉化為人類擺脫神明的孩提時代之終結。\n20250613 每次看到某立委在Threads上面po「國會速報，民眾黨國民黨又在賣台了blahblahblah」\u0026hellip;之類騙騙同溫層的認知作戰的文字訊息的時候，就會想到GI JOE那句金句良言：「我看你是想要速我懶趴啦」G.I.JOE 健康捐 by 拉阿布 平平都是在立法院開直播，怎麼某蔥就敢全程直播畫面，不會吧不會吧還沒有人知道立法院有IVOD可以看麼，而某黨立委就只會配圖說故事而已呢？只看文字訊息不多方查證就在下方跟著瞎罵的人差不多就是小粉紅/小粉綠一樣的貨色。\n20250612 r/nosurf的老哥批評過，網路上太多wannabes想當influencers了，這就是網路如此混亂的原因之一。網紅們想要流量，覺得數字可以用來估量一個人的成功與否，存在價值。正如Simon \u0026amp; Garfunkel在The Sounds of Silence所唱的：「And the people bowed and prayed to the neon god they made.」視差之見，當我們觀測網路上發生的事情的時候，不，更確切的說是只透過網路了解一公共議題的時候，不免俗的會產生「只聽一半」的現象。不論是混同溫層（高強度鍵政，立場死硬不願意接觸異溫層，對任何議題都要發表想法帶風向），或者當日子人（只追蹤吃喝玩樂資訊，新聞隨便看，容易輕信懶人包圖卡），都無法迴避掉視差之見的問題。譬如，一個政治人物發表的談話，不同的媒體擷取的片段不同，就會很大影響這句話的意思。然後，支持者就會開始自顧自的辯護，或者辱罵反對方。到最後沒人在乎真理，只想要輸贏狐狸。社群媒體上的人們或多或少都在支持這個現象。這個視差之見的說法引自馬克思主義者齊澤克的書名，不過我不是想講這本書的哲學內容，單純是因為這名字很酷而已。因為社群媒體演算法的特性，許多事情來了快快非常的複雜，然後大家很忙，所以不可能每件事都親自爬文了解。於是乎就會依賴KOL或者媒體的報導來了解事情。不過要做到嚴謹客觀的查證一件事並公平的報導出來，就算是正規媒體也難以做到。最後就會變成越大聲的越有話語權，而這就是自媒體擅長的地方。很多時候他們參一腳的搶奪麥克風，講出包含自己主觀視角的觀點的時候，不過是想吸引一層同溫層給他掌聲而已。於是乎網路上討論公共議題的方式總是那麼混亂，這不可能得到解決。講八卦是人類天性，不論什麼議題，都能起爭議八萬一，不可能要求所有人都像寫論文一樣嚴謹調查後才開始發文吧。無奈的接受現狀，我想就是懂得遠離魔怔人。\n20250612 館長「中國不禁翻牆，只是要付VPN費用」　微博網友：別把我們賣了 - ETtoday 啊這\u0026hellip;翻牆窮蛆出來吱個聲！館長到中國旅遊的影片發言讓人難以下評斷，一方面中國確實不是那麼壞，但牆卻是真實存在的，居然說得好像翻牆無罪一樣。雖說不要仇視大陸，可是反過來各種誇中國好像也怪怪的，我看他存心只想氣死青鳥吧，各路民小支黑都綳不住了。\n20250611 以前看Blender Guru的影片，講到Cycles渲染的時候發現哇他的電腦有兩片GTX1080Ti。現在用Linux有GPU直通給Windows KVM的需求，我不禁也想買類似配置的電腦了，我要兩個以上PCIE槽位的主機板，希望一個插Nvidia GeForce一個插AMD Radeon RX！再加上16核心APU的一個內顯，這樣就能同時給多個虛擬機分配GPU了哈哈。不過嘛這樣買新電腦的預算又會無限膨脹下去了，我想組AMD CPU + Nvidia GPU的Linux主機，弄得比iMac還貴就不划算了。恐怕是買洋垃圾也很難弄到雙GPU槽位的主機板，且機殼不知道會變得多肥。或許，買一個大VRAM的Nvidia顯示卡再搞GPU虛擬化分配比較實際。Nvidia不屑使用SR-IOV框架（有找到文件但不知道怎麼開），反正你們Intel和AMD抱團市佔率也打不過，他們的NVIDIA GRID vGPU技術授權是賣給資料中心的。雖然有人破解了Nvidia驅動驗證程式，但也只能用在GeForce 20系列（包括Nvidia Tesla P40）以前的舊卡。\n20250609 this song is a bocchi the rock reference (song name: youkoso hitori bocchi) 雙廚狂喜，孤獨剛好跟波奇醬同音。不對，根本relate不起來的兩部動畫作品\u0026hellip;儘管主角都帶有社恐要素，但是《孤獨搖滾》起碼還有青春洋溢的希望，但《歡迎加入NHK！》就是描述一個大學輟學變成家裡蹲的故事，比較接近社會真實情況，看完會覺得反胃，因為過於真實。一個整天性幻想的NEET跟一個精障少女耍中二，朋友夢想的什麼全失去，演了26集什麼都沒有改變。主角最後不過是因為失去家裡經濟來源，最後認命進廠。如果看完這部動畫有「天根我」的想法那就是真的沒救了\u0026hellip;也或許還有一點希望？knock\u0026hellip;knock\u0026hellip;knock\u0026hellip;歡迎來到孤獨。Pearl Brothers的《ようこそ！ひとりぼっち》展示了長期獨處一人關在家裡，只能上網魔怔的心理狀態最後會變成怎樣。你會沈迷宏大敘事\u0026hellip;或者歇斯底里的妄想不存在的敵人，感到存在主義與虛無主義的拉扯，最後轉身發現後面仍是一片空虛。附錄Pearl Brothers - ようこそ！ひとりぼっち，聽了滿滿絕望感。或者，你可以挖苦自己說是寂寞芳心擁有者，總比破碎傷心擁有者要好。YES - Owner of a Lonely Heart 並且住在寂寞芳心俱樂部裡面。The Beatles - Sgt. Pepper\u0026rsquo;s Lonely Hearts Club Band\n20250607 還有支援Manifest V2的Chromium系瀏覽器能用嗎？Google Chrome今年正式廢除Manifest V2標準的擴充功能，引發一遍哀鴻遍野，最主要是擋廣告擴充uBlock Origin不能用了，還有艦C的輔助程式KC3。緊跟上游進度的Chromium Browser就不用說了，Microsoft Edge不知道什麼時候才會移除。論開源且跨平台的專案，目前明確表明還會支援Manifest V2的瀏覽器，就是Brave Browser了。雖然這個瀏覽器內建自家擋廣告程式，不過有些人對他們的Web 3 crap感到很煩躁哪。另一個選擇是Ungoogled Chromium，顧名思義就是把Google從Google主導開發的Chromium專案驅逐出去的瀏覽器，幹掉所有針對Google服務優化的程式碼。他們特地打了patch讓Manifest V2繼續運作。搞笑的是這個瀏覽器為了去Google化，預設無法安裝Chrome線上應用商店的擴充，必須手動安裝特定crx解除。我有一段時間很反感Google的隱私權侵犯，因此主力用Firefox，必要時才用Chromium登入教育版帳號，但後來發現從實務上講偶爾還是需要一點Google的「便利」，加上很多網站敵視Firefox，因此就老實用Brave Browser為主 + Google Chrome為輔了。\n20250606 現充男同學常常在聊NBA，偏偏我都沒看，實在搭不上話\u0026hellip;\u0026hellip;我只知道雷霆三巨頭而已，他們分別是周結巴、潘萎勃、豬放雨。引流狗看到十年前貼吧的梗真的覺得很有趣，跟新日暮里一樣有詳細的二創人設和世界觀設定，瞎雞巴亂黑但還是很好笑。百度贴吧的「雷霆三巨头吧」是怎样一个地方？ - 知乎\n20250606 這就是你一直在等待的Linux工作管理員～！有位老兄用GTK寫了一個還不錯的Linux工作管理員程式，叫做Mission Center 任務中心，長的就很像Windows的工作管理員但又不是完全抄襲，界面簡單俐落又現代。GNOME Circle有一款設計理念類似的，叫做Resources，更嚴格符合GTK美學。會依照CPU核心數顯示用量（方便你炫耀24核的AMD處理器），還有偵測GPU使用量、磁碟寫入、網路流量。如果權限足夠的話，也是可以用來殺佔用CPU的行程。它還能夠重新啟動Systemd的服務，酷 ㄟ。老實說我認為這設計比GNOME和KDE內建的system monitor好 == 他們的美學都是怎麼回事。至於還在用htop、conky指令的用戶我想早就看膩了，需要一款典雅的圖形工作管理員吧。指令依然有其好處，包括不佔用資源，還有純文字顯示的訊息還是比較準確的。\n20250606 手記：很多程式在Wayland下表現的怪怪的，可能是因為他們被強制跑在Wayland下所導致，這時改回XWayland會比較好，雖然損失一點效能，但是正常使用。雖然底層圖形工具包（如GTK、QT、Java）已經預設支援Wayland了，不過開發者只用X11，沒有測試過Wayland環境下的操作，就會導致預期之外的行為產生，像是破圖或是圖示缺失。Chromium系程式是一個好例子，對比相容GTK很好的Firefox，Chromium還有很多Wayland環境的問題沒解決，所以到現在還是預設XWayland。至於那些不小心自己變成Wayland的程式怎麼辦呢？啟動前用環境變數\u0026quot;WAYLAND_DISPLAY=\u0026quot;，重設Wayland環境變數，強制改回XWayland模式。個人體感GTK3以上程式不太需要刻意改回XWayland，不過QT5以上還是很多會出問題。\n20250605 國外有許多用戶給自己小孩使用Linux電腦的，甚至宣稱說我阿嬤都會用Debian、我爸都用Linux Mint上網等等。記得在PTT還是巴哈看過有人說想要推薦一款Linux作業系統，因為不想給小孩子沉迷電腦遊戲，結果被噓爆，哈哈。誰說Linux沒遊戲的，原生的SuperTuxKart（開源版瑪利歐賽車）和Luanti（開源版Minecraft）就能讓你玩瘋了，更別說Steam Proton了。難道改沉迷Linux ricing就會比較好嗎？給小朋友用Linux系統，他們會恨死你一輩子，又或許會造就一個傳奇駭客，當別的國小生在電腦課打遊戲的時候，他就已經懂得繞過系統漏洞存取Root權限。鼓勵常常「玩電腦」還能防止下一代成為只會搓玻璃的brainrot iPad kid！可能ChromeOS才是真正無腦又安全的系統吧，方便部署，代價是給Google監控。如果堅持要Linux的話，GNOME的設計加上Flatpak，可以是管控得當的最佳組合。GNOME 48有加入簡單的家長控制功能，但很陽春。主打教育用途的Endless OS考慮到了這個問題，內建了一系列措施。Parental Controls \u0026amp; Online Safety - Support \u0026amp; Training | Endless OS Foundation 其中包括禁止使用瀏覽器、禁止安裝程式、DNS過濾有害網站等手段。他們還宣稱系統是immutable的，系統不可能壞，不用搞還原分區。GNOME 48現在內建Digital Wellbeing功能，那麼實現限制應用程式使用時長指日可待。\n20250605 IG帳號莫名被封，連帶Threads一起炸裂，說我是假帳號？我從不在上面講敏感內容的ㄟ？喵的，逼我戒掉Threads是吧。也是啦，脆上的灣姐都有點精神病.jpg。每天看青鳥大戰小草都覺得很煩躁。常常是前者智障造謠發出暴論，然後被後者正義打臉就腦羞封鎖人家。當然，相反的情況也有。還有整天講大罷免大白痴的ragebait，低級的反共話術，這些言論越看越想讓習主席發動特別軍事行動了。唯一比較能帶來樂子的是看中國人分享「台灣傻事」拷打低能兒，他發文真的很有梗，比Facebook「台灣傻事」那個純純大外宣粉專好多了。這是個被Meta壟斷的世界，他們現在還要來搶聯邦宇宙的份額\u0026hellip;幸好我因為討厭現充沒有在用IG。我用Threads是因為支援聯邦宇宙ActivityPub協定，擴散流量方便，偶爾真的會有Mastodon的人來按讚。但這個平台看來還是會被祖。OK\u0026hellip;把我的玉照傳給IG客服之後，不到一天就解封了。雖然IG申訴還有救回機會，覺得還是回去用正式的Mastodon social帳號比較安全\u0026hellip;然後設定自動crosspost機器人吧\u0026hellip;就像gslin大大的作法。\n20250605 讀PTT Kancolle板二零二三年的留言才發現，田中早就暗示藍白合註定會失敗（惡政隱要素察覺）艦これ的結婚系統是只要花錢就能買戒指，感覺好廉價，但更稀有的是海色緞帶（海色りぼん，秘書艦+1裝甲、+1雷裝）和白襻（白たすき，秘書艦+2火力、+2迴避），只能透過限定活動獲得，跟餵海防艦加運一樣，是十分稀少的道具，要農也很難農。海色緞帶和白襻二者不能重疊，藍白合申レN，一隻艦娘只能裝備一個。因此，這兩個道具應該給戰力高的艦娘或者真．老婆裝備。目前的主流方向是給雷擊高的水母或是戰艦類的加成。但是我選擇給Тошкент和Fletcher，因為出場率還算高，並且各方面都很「實用」的她們。\n20250605 這麼幸福是可以的嗎，台版FGO兩個願望一次滿足，沒有被爆乳的阿爾托莉雅Caster（Berserker）和色小鬼泳裝克洛伊誘惑，而是靜靜等待時機，等到奧伯龍與泳裝BB都Pick Up的那天才開抽，沒有耗盡長期以來儲備的500石就雙雙出貨。加上幾個月前抽到的阿爾托莉雅Caster和太空伊絲塔，有了藍卡與紅卡輔助，這下又有動力去玩台版了。然後幾天後，5張呼符就抽到阿爾托莉雅Caster（Berserker）和特斯卡波利卡。有了強力藍卡輸出手，就沒必要像日版一樣練陳宮了。他一直是日版我迦最主要的輸出手www周回打劇情全靠他的賣隊友砲彈，配上狂周那，在T3就有更強的續戰威力。\n20250604 隱隱約約覺得，創意工作者（涵蓋攝影、修圖、繪畫、影片剪輯、音樂、3D建模）被專有軟體綁架的太嚴重了！從硬體到軟體總是被少數廠商壟斷，我說，器材就算了，畢竟這年代哪個電子產品不含有專有韌體，不過軟體是怎麼回事？真的是沒有Adobe就活不下去了！？嗯，或許真是如此，至少從現實面來說，不用Adobe會失業。雖然這些創意工具完全有開源替代品，不過整合度難以企及專有軟體。如果使用者心胸不夠開放的話，他們是不能轉換過來的，或者說，意識到自己正被綁架的事實。看過堅持使用特定軟體創作死不換軟體的，有可能是藝術家的固執吧。最近遇到的案例，有人跟我說，Linux沒辦法做到AI照片降噪，那是因為他的視界只有商業專有軟體，沒有廠商包好的東西就說不會用。GIMP或許做不到那些花花效果，但其實透過Github開源社群分享的論文與模型，完全能達到類似的效果。不如懷疑一下，多少含有先進AI功能的貴鬆鬆軟體是基於這些開源前輩的偉業所創造出來的？其實完全有自由的路可走，重點是免錢！缺點是，開源專案哪個模型較好得自己慢慢試。譬如放大圖片，目前效果最好的開源模型可能是Real ESRGAN 4x，兼具降噪效果。\n20250604 新興的開源組網工具Netbird，有內網穿透與零信任功能，感覺經營內網穿透VPN公司是一件低成本的事情。試用了一下發現，跟Tailscale和ZeroTier不同的是，Netbird居然有提供Linux版圖形界面！而且跨平台！不確定實現原理為何，但根據官網比較表，Linux系統的情況下，Tailscale的WireGuard是userspace，Netbird使用kernel的WireGuard，效能也許更好，連線時KDE很明顯的會顯示為WireGuard連線。可能因為這樣，預設情況下二者會衝突，不能同時連線。Netbird是客戶端與伺服端全開源的，不需要像Tailscale依賴第三方專案Headscale。Netbird預設走Netbird公司提供的服務，點對點加密，中繼伺服器可以自架。免費版方案最多5個用戶，100部裝置，很夠用了。Netbird連線之後會提供一個自訂網域（但好像沒有MagicDNS自訂網域的功能），讓使用者不用記虛擬區域IP連線，當然要的話也是可以。Netbird還提供一個叫做Network的功能，允許像ZeroTier一樣建立多個網路，將不同的裝置「分組」。\n20250604 谈谈键政不魔怔 - 知乎：结论就是，今天的各种对于政治、社会、经济等的观点，都可以看做是经验性的结论。只是他们的合理性、准确性有差别，就结果来说，任何政治学观点，预测正确的概率，都不可能达到100%。哪怕预测失败，被现实打脸，也不必过分自责。 網上鍵政使人魔怔，資訊繁雜加上不講理的人太多，因此解決方式就是當被動的樂子人。接觸浪人、小粉紅，支黑，青鳥，狂草之後的想法。我覺得，把所有事情都用蠟筆小新台配去配音的話，世界就會美好。不論什麼暴論，都會聽來十分可愛。如此一來就不會成為輕易成為認真魔人，也不會產生想要拯救世界，改善網路惡臭大環境的悲願，畢竟這是個無政府主義的地方。\n20250603 冷知識：Linux桌面的檔案選擇器(file picker)從來都沒有統一過。使用不同框架開發的程式，可能會跳出不同的選取框，而不是像Windows是固定的檔案總管樣式。比如，GTK有自己的選取框，Python QT有自己的選取框，Java也有自己的選取框，有些程式寫死只能用Zenity，更別說Wine了！考慮更複雜的情況：在KDE桌面開GTK程式，可能會跳出GTK檔案選取框，而非KDE Dolphin的。偏偏裡面最常見的是GTK，這個檔案選擇器非常難用，縮圖很小也不好切換路徑。可以的話我希望改成Dolphin，有三種縮圖檢視模式！這種設計會讓使用者的體驗很割裂。未來，這個問題或許能夠用XDG Desktop Portal標準解決，透過統一的途徑存取使用者檔案。據我所知，Chrome和Firefox現在會尊重桌面環境，使用相應的檔案選擇器。例如GNOME桌面就開啟GTK，KDE就開啟Dolphin。如果不行的話，嘗試設定\u0026quot;GTK_USE_PORTAL=1\u0026quot;的環境變數，對大多數GTK與QT程式應該都有效，但不要把這個設定為全域環境變數，可能導致其他GTK程式出問題，包括GNOME本身。理想情況還是所有程式都用Flatpak打包，並遵守XDG Portal規範。\n20250603 噫！好！我中了！最新版本的Chrome v137終於能在Wayland用Fcitx5新酷音打中文了，輸入框喚醒位置也正確。不用再忍受XWayland了。Brave和Edge也適用這些設定喔。在GNOME 48與KDE Plasma 6.3測試，稍微調整環境變數就可以了。看未來什麼時候Chrome要預設使用Wayland。至於Visual Studio Code和Joplin，Electron在這方面的支援度好像還有問題。Can\u0026rsquo;t Electron just fucking use Wayland!? : r/linuxsucks。關於Wayland瀏覽器的常見問題分享在這個Github gist而非部落格，因為我認為這是一個公益項目。然後\u0026hellip;去你媽的，Fcitx5現在打字太快會隨機重複。啟用fcitx的qt im module還會導致Electron程式打字頓頓的。我看這Wayland還是有很大問題。\n20250603 多可悲亦多可喜的Linux情事。1. 喜好研究本地AI的理論語言學教授（這個學科介於理組與文組之間，因為要使用數學公式和符號邏輯推導英語文法）苦笑的跟我說，曾經為了跑NLP安裝過Linux（我猜是Ubuntu）但是因為跟Windows裝在一起，系統又常常崩潰，所以後來就刪除了。唉，太苦了！對geek力不夠的人來說要維護Linux實在困難。要玩本地AI的話，Windows可能還是比較「安全」的選項，頂多開個WSL。這樣他就能盡情下載Ollama與ComfyUI的模型再用Nvidia RTX4070沒日沒夜的跑了。但好事情是，他確實承認了Linux跑AI模組會比Windows快。2. 在學校新的Windows公用電腦雞婆的安裝了LibreOffice，成功殖民了自由軟體！看他們什麼時候察覺這個Office怎麼長的怪怪的。啊不過我覺得他們大概寧願用WPS Office也不要學這玩意，相容.docx的能力實在太重要了，可能只有我影印文件的時候會用到。話說我看向另一部電腦，管理員居然在桌面新增了三個WPS Office的捷徑，然後分別寫說這是Word、Excel、PowerPoint\u0026hellip;。\n20250601 Apple to Launch iOS 26, macOS 26 in Major Rebrand Tied to Software Redesigns - Bloomberg iOS以後版本要改成依照年份來命名系統版本了，所以iOS 18之後變成iOS 26。這個變更不是壞事，Ubuntu、postmarketOS、Manjaro也是用這個命名規則，很容易讓人從名字了解系統是什麼時候推出的。講到變更版本命名的趣事，不得不提openSUSE，當年從openSUSE Leap 15突然跳到openSUSE 42，可能是想對齊GNOME發行的時間（不對，根據官方解釋，其實42是代表生命、宇宙、萬事萬物的唯一解，出自某部科幻小說）。不過後來又悻悻然的改回15了。Version naming question: 13 -\u0026gt; 42 -\u0026gt; 15 - Why? - openSUSE Forums openSUSE Leap的版本要跟SUSE Linux Enterprise對齊。現在看來，Linux所有問題的唯一解就是\u0026hellip; rewrite the Linux kernel in Rust！不是啦，immutable distro！\n20250531 最近觀察到Fedora 42的KDE 6.3問題，證實Wayland is not ready的三（個）小證明。珍惜生命，遠離Wayland，輕則出現小bug，重則會破壞現有工作。1. 使用Wayland的時候，會導致Nvidia輸出HDMI → DVI的顏色死白，推測是合成器的色彩管理有問題。換回X11就正常。2. 在使用KDE virtual desktop時候，切換到第二個工作區，開兩個Chromium的實例，第一個瀏覽器會變慢甚至卡死（看，害我艦これ關卡要重打），有可能是XWayland作怪？換回X11就正常。換到GNOME Wayland後問題依舊，可能是在Wayland下才會有這詭異的問題。3. 如果使用Wayland的150%全域縮放，網頁遊戲的字體會錯位。同樣我認為這是XWayland的鍋。換回X11就正常。4. 不知道跟Wayland是否相關，現在我的電腦還會隨機出現下載二個以上的大型檔案，Chromium就吃滿100% CPU的bug。還是X11好，關於Nvidia在KDE Plasma X11會lag的問題，可能可以新增X.org設定檔解決。For me on X11 screen tearing is fixed by creating /etc/X11/xorg.conf.d/20-nvidia-antitear.conf and rebooting\n20250531 有一段時間我很喜歡看惡俗維基，就當小說看，上面記載了中國網路上的奇人異事，裡面的內容一言難盡，要比喻的話就是抽象程度100倍的霸主解密類型文章吧，巴哈小屋的唐史官一擊沉帖寫的系列文真的很有趣，再看看惡俗維基，可知道網路上的「怪人」「網哲」是全世界共有的現象。順帶一提台灣也有網哲混百度貼吧，然後被記載在惡俗維基上面的。惡俗維基很多文章不是用中立的語氣寫的，比較像是在網路霸凌，或者說是一群有病的人在狗咬狗吧，因為惡俗圈本身也不是什麼好東西，他們以前跟東方Project圈混在一起，拉低了整體名聲。中國網民似乎不喜歡提到惡俗，有時候會講「我草↓↑啊！」用聲調來代替惡俗的發音。惡俗維基裡面充滿了惡劣又好笑的黑話，像是什麼「基岩級硬漢」「真人快打」「毫無筍絲」「迫害加速　～ persecute drive」等等。惡俗人士通常會「出道」他人，公開全家戶籍和身份證字號以示警惕。據我觀察許多惡俗維基「巨星」的家境普遍都有問題，連帶影響到他們的精神狀態，所以才會在網路上到處魔怔吧。這些人雖然可憐但也必有可恨之處，譬如「獨人13」和「陳乾」和「孟馳」，他們會在網路上到處黑屁，毫無廉恥心，被全家出道依然高強度活躍，因此就會被高雅人士紀錄下事蹟受眾人嘲笑。可惜，惡俗維基的友站「支納維基」膽大包天，連習包子女兒的資料都敢刊登上去，讓整個事情升級為政治案件，黑皮加大辦案力度，相關網站一併被迫關站了。黑皮抓到了一個頂罪的少年（惡俗維基的管理員早已逃之夭夭，一個跑到加拿大一個跑到雲南），現在正在監獄裡面被電牛子。「惡俗維基」案牛騰宇精神失常　疑獄中受酷刑。關站連帶造成了惡俗維基許多史料損失，讓我們為其默哀一普朗克時間。至今找不到完整備份，可能只能到Internet Archive碰碰運氣。\n20250530 有把文章加入稍後閱讀的習慣嗎？喜歡網路上看到什麼就隨手加入書籤，卻發現難以整理嗎？Pocket is saying goodbye - What you need to know 最近，Firefox要關閉經營十幾年的Pocket服務了，這是讓使用者收藏文章的線上服務，兼具書籤與稍後閱讀的功能。這大概是Mozilla推的服務活的最久的一個，Killed by Mozilla網站上面又要多一個墓碑了XD。這類服務說是雞肋，好像也不對，畢竟總有人需求吧！所幸開源圈的開發者紛紛推出了自家的解方，這樣就算Pocket沒了也可以自架一個類似服務。其中我比較喜歡的是這個方案：Karakeep。使用者隨便丟幾個感興趣的網址或者圖片進去，Karakeep就會把文章完整爬下來，離線儲存，並調用本地Ollama的語言模型服務生成摘要，自動上標籤。日後要找會更方便。Karakeep還提供文章劃重點的功能，寫下臨時想到的靈光隨想。日後能夠透過完善的全文搜尋功能找到某某日子存下來的書籤。雖然如此\u0026hellip;不過我想很多文章還是只能默默在收藏夾吃灰。我覺得這文章日後鐵定有用，能看CS自学指南什麼的成功轉職！結果一年過去了，一個字都沒看。\n20250530 能多益真的好吃，這款巧克力威化棒六入的包裝長的就像61cm六連裝酸素魚雷一樣，稍微碰到就會殉爆。在口中爆發出滿滿的幸福感。\n20250530 圖片 筆電架，早該買了，然後配上外接鍵盤。改善長期肩頸酸痛的問題，就要讓螢幕高度與眼睛平視，不然就會習慣性聳肩低頭。筆電螢幕普遍都很小，所以需要使用專門架子立起來。這樣的話也有助風扇CPU散熱！雖然說我不知道買的這款很像水上機浮筒的有啥意義就是了，二段式調整\u0026hellip;.Linux的風扇轉速總是不積極，裝了MSI EC驅動後也一樣，散熱效果不佳，現在架起來後好多了。\n20250528 跟語言學學者討論的結果，釐清了一些問題，說要把「閩南語」改成「台灣台語」，這不免讓人聯想到政治動機，即民進黨想藉此擺脫被中國關聯的假象，這不難理解。如果只是改個名字，那其實沒有關係的，因為台語在語言學上的語系分類並不會因此變動，它還是算是中文下的一支方言。假若要發明一門語言叫做台灣話（嚴格來說不是發明，因為日治時期就有台灣話一說），並把地位提升到跟中文一樣，那就會有大問題。官方語言和語言學的分類不能混為一談，雖然說所有的語言都是方言，所謂官方語言不過是從裡面選一個大家比較能接受的語言作為通用語罷了，可是這不代表台語可以代表台灣話的全部。因為台灣族群太多樣了。所謂「講國語」總是帶有政治性的壓迫意涵。因為台語跟中文的差異很大，關於台語應該算不算是一種獨立語言的看法，學術上仍有所分歧，譬如有人認為這是一種偏見，挑戰固有認知。台灣閩南語或客家話是一個語言嗎？ 當我們使用「方言」這個詞的同時，我們就假定了一個中心語言。 - 麻瓜的語言學 其實看他們的記者會，確實說了台灣台語沒有要代表全部台灣語言的意思 閩南語更名台灣台語 文化部：未影響其他語言地位 - 中央社。但就是有閩猴會擴大解釋，他們以講台語蔚為風尚，強調這是我台灣國固有國情，台語已經跟中國大陸的閩南語是完全不同的語言了，台灣你恁振起來(崛起)吧！\n20250527 感覺網路上什麼東西都可以「飯圈化」這是追星族的貶義詞，指不理性的粉絲行為，因為不喜歡對方的idol就無端抹黑，進行瘋狂人身攻擊。用日文來說就是「厨」對某種東西狂熱就會拉幫結派，到處獵巫出征，政治是一個最常見的話題，其他面向還有：不同國家、不同宗教、不同動漫、不同偶像、不同遊戲、不同職業、不同學校等等的話題可以吵。當罵戰開始之後，除了交戰者之外，其中不乏許多吃瓜群眾，還有負責煽風點火的戰地記者（專門在Plurk寫「← 現在事件發展到這邊」的時間軸懶人包）。這些無聊的人因為某種從眾心裡參與其中，然後就會受到傷害。有些人天生無恥，可以造謠抹黑之後就落跑，宛如沒事一樣回到同溫層接受鼓掌，他們的情緒管理可真是世界第一等的！線上線下判若兩人。對比看到一句惡意留言就破防退網的人來說，他們實在是這個時代的適格者。或許，網路本來就是這樣的生態，從誕生起就沒有改變過。如果講的是國家大事就算了（不對\u0026hellip;國家大事還是會有人把它飯圈化，譬如小粉紅的「阿中哥哥」還有青鳥的「崇高的靈魂」再透過烏合麒麟這類圖文作家擴散，將事情渲染得很誇張），可是網路上常常是一群人罵罵咧咧的，對著虛空打靶，沒有實際參與的事情也要說的頭頭是道，凡事立場先行，好像這樣能夠滿足他們低落的自尊心一樣。於是乎，常常是一陣子吵鬧下來，什麼建設性的事情都沒達成，反而是給人造成傷害了。譬如，自以為正義的肉搜他人，網暴曝光他人的公司單位，讓當事人社會性死亡等等\u0026hellip;\u0026hellip;由此，可以見到人心有多麼邪惡的地步。自覺理性的那一方可能也是加害者（小草亦如是，我等應減少網暴行為），沒有一個是無辜的。網路上遇到魔怔人除了摀著鼻子遠離之外，最好也抱持著一種看笑話的心態，你看穿他們的行為，是單純來吵架的，非說理的，就不會認真看待他們的言論了。不然就記住淨空法師那句話「你要原諒他，他可憐，沒人教他」不要玩網過頭了，罵戰習慣了變成虛無主義者。\n20250527 Linux電腦的服務主要都是用Docker跑就會需要一個圖形管理界面吧，私以為Portainer是一個不錯的選擇。它本身可以用Docker部署，提供簡單易用的網頁界面，方便使用者維護多個docker compose，不需要頻繁打指令了。並且由商業公司維護，品質保證。Portainer部份相容Podman的API。其實對我來說，這東西基本上取代了專有軟體Docker Desktop的功用，我只是要管理容器而已，沒有要接入K8s。對Ubuntu桌面用戶而言，安裝Docker Desktop再疊一層QEMU虛擬機跑Docker實在沒有任何意義，那是Windows和macOS才要這麼做，唯有在Linux才能解放Docker全部性能。如果說把多個Docker容器的服務作為常駐服務掛著（例如Suwayomi看線上漫畫、Jellyfin播放影片）Portainer就是一個很好操作的界面，寫好的docker-compose按幾下就能開關，pull docker image也很方便。但，Portainer有個隱患就是它不是完全自由的軟體，CE版雖是開源，但有砍功能，如果大型組織使用就得買BE授權。至於其他開源社群製作的Docker管理軟體的界面\u0026hellip;我不好說，界面都很\u0026hellip;能跟Portainer競爭的勉強就Yacht。另一種取向是使用對標Docker Desktop的開源軟體 ～ SUSE公司的Rancher Desktop。不能用Docker部署，得安裝deb套件。這個功能就比較複雜，支援K8s。\n20250527 「Linux是沒有生產力的電腦作業系統，在學校電腦安裝這種系統幹嘛？」是這樣沒錯，但不是這樣！（還在go）之前看到Threads有人這樣講，這是耳朵長繭的話題了。這想法直觀，在生產力軟體的缺失方面，也不能說錯。不過換個角度來說，就是得適應Linux的流程。要看你是說哪方面的東西沒有生產力。通常這時工程師群體會出來反嗆說：「你手機跑的就是Linux核心你知道嗎？世界五百強超級電腦跑的就是Linux你知道麼？」但很明顯會講Linux沒有生產力的人，大概就是認為Office就是全世界的人了，可能連瀏覽器擴充元件都不會裝。被問到3C問題，會把macOS跟iOS當成是一樣的東西，統統講「我都用蘋果的」。因為交戰雙方的認知落差，常常得不到共識。有些Linux老兵可能會覺得，Windows再爛，圖形界面也比Linux好理解。要說Linux沒有生產力，粗淺的定義是，「常用的軟體沒有Linux版」，加上「圖形界面我不習慣」，因此沒有生產力。這不可否認，Microsoft和Adobe許多軟體都沒有Linux版本，即使很多軟體都Web化了，但還是有不能取代的。對那些腦袋僵化的人來說，要適應開源替代品很難，而且缺乏商業支援的情況下，還要有足夠的geek力才能自行探索，並拼湊出解決方案。有時候Windows軟體一個就能解決的，Linux要找五個開源軟體拼起來才能做到，可能還要自行調整參數。可，即使講了這些、那些人在意的議題依然只是：「啊所以我的作業要怎麼完成？」的問題。圖形界面這點很主觀，有人認為GNOME很難用，KDE也不好用，修改習以為常的工作流好像要你命一樣，所以得出Linux圖形界面做得很失敗的結論。很多操作時不時需要用到指令。這確實是真的。看你願不願意學而已，而且還能認識更多電腦運作原理。總而言之，很多東西在Linux絕對有替代品，搜尋「alternative of\u0026hellip;」的結果一大堆，換個方向思考就有了。啊如果Linux真的達不到需求，暫時換回Windows作業也無不可。\n20250525 【音樂欣賞】「我想要聽David Bowie - China Girl ！」「We already have China Girl at home!」China Girl at home：羅百吉 - China Girl 不得不說，早期羅百吉回台剛發的三張專輯《I Don\u0026rsquo;t Wanna See No 歐巴桑》《神聖舞會》《什麼世界》是最讚的，至少跟後面的台式土嗨歌曲比起來，這裡面的曲子展現了他的創造力，可惜這風格大概只有林強能欣賞，他們在1994年《娛樂世界》專輯合作了多首歌曲，羅百吉作曲，林強作詞，簡直是絕配。林強還寫了一首Happy Birthday慶祝兩人之間的友誼。\n20250525 Wayland is not ready yet. 縱然RHEL 10發表之後，真的進入純Wayland時代了，X.org已經移除。GNOME 50也要完全移除X11階段了～那些說Wayland桌面\u0026quot;It works for me\u0026quot;還有\u0026quot;Skill issue\u0026quot;的，還有出事就把鍋推給其他開發者（比如，在KDE看到滑鼠變超大，就說都是GTK的錯啦然後雙手一攤。或是除了f*ck nvidia以外也沒啥辦法的說詞）\u0026hellip;\u0026hellip;喔是喔真的假的5555 現階段跟X11比起來，Wayland相對不穩定，雖然不會破圖了可是小問題還是很多，long live X.org! 2024年我寫了一篇文章，比較Linux系統的X11與Wayland之差異，以及用戶是否應該切換到Wayland。2025年後又稍微加了一些新觀察進去。乾脆將標題改成：每年關心Is Wayland ready for production? 結論是：除非你用滾動發行版，且只用GNOME桌面，而且程式都原生支援Wayland（包括Chromium瀏覽器和Steam遊戲喔），不涉及XWayland，圖形驅動又是Intel乖寶寶提交的Mesa。否則Wayland永遠不是最佳選擇。GNOME 48在Wayland下依然有小問題，更別說KDE 6 了。Ubuntu LTS收的Wayland多是半成品。可是，就算是半滾動發行版的Fedora，Wayland問題同樣多。KDE X11還是比KDE Wayland穩定許多，X11是久經考驗的戰士，不需要整天擔心需要設定什麼workaround才能讓程式運作。當然，我還是希望Wayland能成熟的，因為HDR的新特性支援，還有很香的觸控板手勢。可是現狀這種品質，真的不知道要何年何月才能定下來，我不是拒絕進步，問題是每天都像是在摸一個不定時炸彈。至於動不動就說Linux系統「圖形界面是多餘的」的碼農請退群，我們討論的層級不在同一個維度。\n20250524 從昭南開往大日本帝國本土的ヒ船団，需要護衛艦隊護航。可以獲得來自駐紮台灣島航空隊的就近支援。好玩，玩艦これ讓人徹底成為地圖連連看大師，雖然是第一次看到7-4這張圖，但一眼就能看出這是把南海地圖倒轉90度的結果。艦隊從左側的新加坡出發，然後經過馬來西亞、越南、菲律賓，最後在台灣海峽前面與Boss接觸。台灣島上駐紮的基地航空隊應該是台南空所屬。另外，如果使用潛艇艦隊的話，可以繞過Boss，抵達高雄港拿油料資源～\n20250524 常常看短影音，滑簡短訊息為主的社群媒體是有害的，對身心敏感的人更是如此。在網上的時間，與其參與那些口水戰，不如拿去做更有意義的事，譬如\u0026hellip;打類單機遊戲寫攻略，編譯Linux核心from scratch等等。解除安裝Threads、Facebook、Twitter等APP是戒除社群媒體成癮的第一步，學著改用手機瀏覽器看網頁版社群媒體吧！我們不可能直接斷絕不用，這就像是讓吸安的人強制斷貨，會有很強的戒斷作用的。除非真的物理隔絕手機，否則光靠意志力難以抵擋滑手機的誘惑。我最近幾年都是使用手機瀏覽器看社群媒體的，降低他們對我的「誘惑」程度。用過就知道，網頁框架再怎麼設計也不會有原生Android框架順暢，所以就會顯得「難用」「不那麼有趣」了。雖然網頁版還是容易看到聳動訊息，但退出很簡單，把瀏覽器APP滑掉，分頁全關掉，一切就成為電子雲煙了。最近，貪圖方便又把APP下載回來了，我心想這是再次踏入陷阱了，果不其然整天刷下來，覺得我的戾氣又變得更重了。不論國內外的APP，總不時跳出許多通知回覆。加上doom scrolling的設計\u0026hellip;確實不難理解整天刷抖音的是如何讓大腦自願被侵蝕成為弱智。你別以為看Instagram Reels或Youtube Shorts就比較高級，錯，一樣慘，追求廉價多巴胺罷了。現在，Threads和X的文章又普遍比Facebook更短（對平台演算法而言，發一篇高爭議性的短文配造謠圖，比說理充分的長文更能獲得關注，無人在意真相，troll總是有各種方式噴你，被打臉了就嘴硬，不然就送你一個#建議封鎖名單，青鳥、狂草都不例外），在難以好好消化資訊的情況下就很容易被四面八方的各種訊息衝擊，一個螢幕上可能會同時看到政治口水、網紅嘴砲、公審他人、戰爭衝突、田所浩二等等混亂的資訊，有時會越滑越焦慮我想就是這樣被營造出來的。即使是自認「只會偶爾滑一下手機的人」大概也會容易被聳動的標題帶風向吧，而滑手機資歷夠久的Z世代，後設認知發展成熟了，認知到這個網路現象是如此的無可救藥，就會更加絕望。既然如此，不如先讓自己好過一點。社群媒體除非必要，還是關在瀏覽器，久久開一次就好。萬能青年旅店 - 郊眠寺：西郊有密林，助君出重圍。\n20250523 省籍情節、地域歧視，人們總是用不完攻擊他人的話題。人們總是以身為某種身份為傲，莫名敵視他人的存在。現在這種情況在網路上是越來越激烈的吧。長期以來南部是民進黨執政縣市，北部國民黨，現在多了個民眾黨，然後就開始有人把家鄉認同與政黨顏色綁在一起了，忽視其他聲音。PTT早期就有戰南北的文化，認為南部都騎山豬，北部是天龍人。這本是玩笑話，可是會不知不覺影響人的認知吧。高雄是暖市，EE園區瘋狂出貨，死忠的都說讚。之後，有人不甘示弱，就整天以攻擊台北為樂，稱其為華國美學聖地。依舊形成了這種現象：PTT八卦板鄉民會無腦黑高雄，然後Threads的青鳥會無腦黑台北，然後整天po生在高雄真好，這才應該是首都的言論，說的好像已經獨立了一樣。詭異的是台北人甚少覺得自己的城市很光榮的，就算柯市長自稱光榮城市也一樣，都覺得需要監督。這樣誰比較玻璃心就看得出來了吧，越是事實上落後的地方越是要耍面子。不過我想說的是，這種非理性的二元對立已經很嚴重了，在很多人看的社群媒體發酵，會加劇不正當的刻板印象。高雄輕軌其實沒那麼糟糕，台北世壯運其實沒有那麼慘。但這些人好像就把城市擬人化，雙方各其所能的詆毀對方，放大各種缺失，把個體當作群體現象。啊如果再繼續說台灣不好，他就會說太平洋沒加蓋，快滾去中國。看到這種評論，可以斷定對方是一個不拉偏架就不會思考的生物。什麼時候可以不要把愛一個城市說的像愛國一樣誇張。\n20250522 不論是歐美的還是中國的APP都會蒐集你的資料，侵犯隱私，若依照愛德華史諾登的嚴格標準，沒有一個是無辜的。問題是哪邊蒐集資料的方式比較流氓？還得是支產APP。講到這個就會想到綠色守護(Greenify)，一個古老又熟悉的名字。專治中國的流氓APP。新版本Android 15還需要這類省電APP嗎？可能不需要了。這個APP誕生的背景在於，幾年前手機電量普遍很小，加上原生Android 7對背景程式限制不力，還有流氓APP的存在，才需要綠色守護下去壓制。所謂流氓APP的問題，就是說會自己啟動並在背景耗電的，對歐美用戶來說可能是Facebook這類APP，不過在中國APP面前完全是小case。你們都說Play商店壟斷，GMS無時無刻監視用戶好壞壞，但它至少統一了Android的許多標準，你知道沒有GMS的地方是多麼地瘋狂宇宙。中國廠商完全把污染Windows電腦的技術搬到Android上來，各種全家桶套餐，還有超肥APK之類的，譬如百度貼吧，耗電當然是不在話下，要不是Android不支援，他們大概還會將解除安裝APK就彈窗跳問卷的功能給加進來；綠色守護的功用很明顯，甚至許多中國廠商也在自家系統加入防止APP自動啟動耗電的功能（但換成自家的廣告跳好跳滿，你說是吧小米）當作賣點，因為原生系統根本無法招架這些流氓APP。我曾經有一段時間只敢在iPhone安裝中國APP，因為流氓APP只有更大的流氓能治，iOS權限限制很多，他們更不可能在背景偷偷執行。現在，Android手機的電量都超過5000mAh，續航力上來了。而對權限的限制也多了，Android針對背景程式的自動管理已經改進許多，不太需要手動介入。如果有特殊需求，Android 15電源管理的「允許APP在背景使用」的設定關掉很有效果，幾乎像是凍結了一般，APP通知都收不到了！這可以單獨針對特定APP不要在背景執行。不過Android應該還是不適合像iOS做一個「禁止APP背景重新整理」的選單。因為Play商店的APP會遵循規矩，合理的在背景接收通知，而這些中國流氓APP是死性不改，才需要使用這個功能。Android還是保持一定程度的背景多工作業能力比較好，不要像iOS一樣的墓碑機制。\n20250522 看過\u0026quot;motherfuckingwebsite.com\u0026quot;和\u0026quot;suckless.org\u0026quot;這類網站的理念後，我便想著，我的網站設計方向不能太花對吧！要有風格但是實用，不花俏，方便維護。未來改進的時候務必記住這點。Motherfucking Website有云：「你並不需要網頁框架也能做好網頁。網頁並不是壞了，它一直都能運作，是你弄壞了，去你媽的。」我看好多人的blog特效開滿滿，不知哪來的主題，像是遊戲界面一樣，可能還會塞一隻Live2D模型上去，滑鼠會有特殊圖示，背景還有動畫在跑，佔用資源堪比一個線上遊戲網頁，饒了我吧！有的甚至動用到Figma設計網站版面，好看是好看，不過不實用。學著不用動態網站，而使用Hugo靜態網站生成器(SSG)是一個正確的決定，網站構成儘量精簡，複雜一點的功能\u0026hellip;jQuery或者一個小JS函式庫解決？。目標是：即使訪客用\u0026quot;W3M\u0026quot;瀏覽器開啟的情況下，也能看到主要文章內容。不過這很困難，不如專門設計一個RSS頁面讓它解析XML就好。順帶一提我早就背叛suckless理念了，我認為Systemd是好東西，Linux應該要多推廣這類東西，譬如Flatpak。\n20250521 論要不要為遊戲課金，感謝馬叔叔的開示！這麼一比較，花錢在遊戲上就沒啥罪惡感了。值不值得？因為妳值得。Why does X Premium cost $8? Elon Musk figured that\u0026rsquo;s how much a cup of Starbucks costs. - Business Insider 在Elon Musk收購Twitter之後推出Twitter Blue政策之後引起爭議，本人自己貼在timeline嘲諷大夥的梗圖。認為你寧願花錢去喝星巴克，卻連藍勾勾都買不下手。事實上，花錢就能買到藍勾勾的認證雖然可以給Twitter公司帶來大筆收入，但也助長了機器人與詐騙帳號更加氾濫，因為無從辨別誰是真實用戶。這是Twitter改名X之後Musk都尚未解決的承諾～ 套用這個概念，那麼每月適度花錢在遊戲上就沒那麼虧了吧。艦これ是一款非常省錢的線上遊戲，基本遊玩免費，大部分時候不需要花錢（而且就算是課金大佬也敵不過RNG要素的摧殘，這絕對不是pay to win的遊戲）要靠長久實力累積。許多課金道具只是考驗你對艦娘有沒有愛而已，譬如戒指，一個戒指700円的價格對社會人士來說可能就比Youtube Premium稍微貴一些而已，一個月買一個戒指不算什麼。唯一強迫花錢的地方是船位，遊戲預設上限是100艘，如果要持續蒐集新角色，勢必得定時投錢進去擴張容量。而艦これ每10個船位定價1000円。現在艦これ總共有314艘艦娘（不包含改造），而我船位已經擴張到了330。看DMM過去的消費紀錄，這十年來不過才花了23000円左右而已！跟手遊FGO抽卡，課一單動輒10000円比起來，艦これ根本小case（這些現代手遊真邪惡，看準賭鬼的心態設計抽卡機制，賣禮包賣月卡什麼的，讓人不知不覺投入比買3A大作更多的錢）。當然，這些花費並不包含我買艦これ週邊的錢，那邊是無底洞。這款糞game不需要學手遊用轉蛋來賺錢，而是只要瘋狂辦線下活動就有死忠玩家支持了。田中明明當初有機會為何不積極擴展商業市場呢？最早在2015年動畫爆死之後就看出端倪了吧，永遠沒人搞得懂田中想法。授權給SEGA做的街機版廣受好評，明明轉成手遊一定能賺更多的！？但是他老人家卻依然我行我素，愛玩玩不玩滾。\n20250520 講到Linux的免費遠端桌面軟體，我會推薦「RustDesk」和「Moonlight Sunshine」，因為他們完全開放原始碼，屬於自由軟體，免費使用，沒有什麼商業用途就得付費的限制，且跨平台支援Linux、Windows、macOS系統，網路好的情況下甚至能串流電腦遊戲到手機。雖然他們缺乏好的中繼伺服器，但只要簡單裝個Tailscale VPN，就能不假他人之手，安全的從外面連線到自家的Linux電腦。由於Steam支援Linux，所以Steam Link也是個選項，不過我測試它在非區網連線下的延遲非常嚴重，不如用Sunshine。前幾年Wayland剛出來的時候還一堆軟體不支援，因為Wayland缺乏相關協定，沒有X11那麼好處理。導致使用者只能用很難操作的WayVNC或者WayPipe（我看RHEL 8官方文件這樣建議的。）現在XDG Desktop Portal成熟後就好辦了，有了統一的途徑能夠請求分享螢幕畫面，連TeamViewer都準備支援Wayland了，此事甚幸。對逐漸走向Wayland only的桌面，例如KDE與GNOME，是一大好事。倒是Chrome遠端桌面還在擺爛，只支援X11，還有不知道怎地，它會搞亂桌面環境的設定檔，讓Polkit畫面出錯。除非你逼我，否則我不會考慮這些專有的遠端桌面軟體。期許RustDesk變的更好。什麼？你說RustDesk是中國人開發的？中資有危險？那又怎樣，Linux核心還有華為送來的patchㄟ！有開源就有保障，就算哪天RustDesk想錢想瘋了，走向閉源了，社區八成也會有人fork繼續維護。\n20250520 Linux的QEMU/KVM虛擬機或許可以不需要GPU直通，依賴paravirtualization的VirGL就能達成3D圖形加速效果，類似Virtualbox的VBoxSVGA。這有啥用途呢？給Android-x86虛擬機圖形加速就是一例，方便玩遊戲。最近社群有人製作了VirGL嫁接DirectX的新型驅動，或許未來Windows虛擬機也能受惠。依賴的是QEMU提供的virtio-gpu顯示卡。這個顯示卡有多種後端可選，Virt Manager使用的應該是VirGL (virglrenderer) 的版本。我感覺在浪費時間的一個實驗，非常不穩定。人家Intel和AMD使用VirGL就可以開箱即用，換成Nvidia要跑VirGL就得hack libvirt的XML格式，使用egl-headless才能讓Nvidia閉源驅動出現在虛擬機內部，並得切換為QEMU User Session。VirGL目前只支援OpenGL，最新版本的QEMU才有Vulkan支援。好啦，那麼效能如何呢？因為virtio-gpu是半虛擬化GPU，跑glmark2的分數，宿主機跟虛擬機內部竟然差了10倍。這也有可能是Nvidia閉源驅動沒寫好所致，因為Intel的落差只有5倍。Nvidia也比Intel更容易出現圖形glitch的狀況。\n20250519 或許Fedora的SELinux還是停用的好。以前喜歡用Arch Linux，安全性方面都是裸奔，碰到一點條條框框就受不了哈哈。沒有Secure Boot，因為我覺得裝個kernel module都還要簽名實在太麻煩了。硬體TPM當作擺飾，硬碟也不開FDE加密。儘管理論上Arch Liux可以實現，但我就是沒裝，更別說Mandatory Access Control機制了。畢竟Linux不是Android（反過來說Android就是最安全的Linux發行版了，幾乎所有「麻煩」的安全機制都有啟用，使用者除非玩root否則不會察覺到他們的存在），我想做各種事情，不需要過份強調安全性。換到有原則的發行版後，就得適應規矩了。不論是Ubuntu的AppArmor還是Fedora的SELinux，總會在一些地方給人帶來麻煩。雖然這些機制可以保護系統安全，但是會提昇tinker的難度。比如我想要修改Virt Manager的QEMU二進位路徑，SELinux就會擋。跑Waydroid也會噴一堆權限禁止的錯誤，甚至連Spotify也會觸發警告。要如何得知SELinux錯誤\u0026hellip;Fedora KDE比較友善，sealert會跳通知，至於AppArmor就是不輸出\u0026hellip;這東西已經跟Windows的那些敏感度1000%的防毒軟體一樣煩了。在GRUB開機參數加入selinux=0的參數就能完全停用Fedora的SELinux。\n20250518 雖然說玩一些手遊總是覺得很農，我也不會使用自動腳本來刷關卡\u0026hellip;對，你都選擇了農的路線了，使用機器代勞就完全失去意義了對吧！假設遊戲開發者認為合法的方式是用手一點一滴慢慢得來的成就，那麼使用按鍵精靈自動重複作業，就連這些可憐遊戲的那一點點的遊戲性都失去了，並且這對其他玩家不公平，變成好像效率至上的樣子。那麼愛代打，不如讓機器幫你打如何？打\u0026hellip;打什麼啊，打遊戲啦！看攻略研究最優解不是作弊，拆包反推黑箱數據或許也不太算，但是用機器人自動點擊，碾壓其他玩家就是作弊了。這就是為什麼有人玩遊戲還要花錢找代打的緣故吧，還有代練產業有一定市場，只追求一種爽感，當他們遇到無法pay to win的遊戲，就會千方百計找自動程式，最後解方就是花錢找代練。只是未來AI Agent興起，或許遊戲工作室這個仲介商就會消失，也有可能變更卷，人礦的產值很快就會被機器人取代。我沒有肯定證據，但我發覺很多自動刷遊戲、社群媒體刷讚數的東西幾乎都是俄羅斯和中國人推出的，還會無恥的到處打廣告，藉此發大財。愛投機取巧的人太多，而文明國家德性過高，法規限制嚴格，只得求助窪地國家沒底線的人，他們就會見錢眼開做個交易。那些只在乎輸贏勝敗的無恥之徒，也就越會是買外掛破壞大家遊戲體驗的人，真的難以提防。單人遊戲開外掛或許沒什麼，但多人遊戲就是來搞破壞的。\n20250518 用英文字幕看動漫的好處為何呢？不是學英文～！與世界接軌，這理由太老套了吧喂，不過某種程度上是真的。中國漢化組發布的資源似乎沒有辦法像英文資源流傳的那麼廣呢，除非地域限制或者中國國漫的作品，否則大部分日本動畫都能找到高品質的英文資源，也有好心人上字幕。論正版來源還有Crunchyroll。這樣做的前提是要有好的英文閱讀理解能力，才能看幾個字就理解對話，而不用同時理解日文和英文，搞到大腦在星爆！英文字幕另外一個好處就是快速了解角色的日文發音吧。英文字幕只能以羅馬字表示角色名字，有時候會喪失欣賞漢字之美的機會，一些煞氣的名字很難用英文表示，例如Muv-Luv的「淒乃皇」。對習慣看漢字名字的人遇到羅馬字會突然不能轉換過來。不過正因為如此，看習慣英文字幕的人名之後，很容易就能記住那個角色的日文名字唸法，而非用中文漢字下去記憶，導致最後只記得漢字的中文唸法，卻不知道日文該怎樣發音。譬如約會大作戰「時崎狂三」看久了就可以知道名字唸法是Tokisaki Kurumi。可是，我不喜歡聽英文配音版\u0026hellip;日本動畫就要有日本本來的樣子，配音某種程度上就是二創了，會失去本來角色的風味。\n20250517 艦これ新實裝的Fletcher級驅逐艦 ～ Richard P.Leary。原來2-3真的有她的存在。還以為要撈到20場把週任都解完了才能出貨，結果不到15場就撈到了。用六隻潛艇部隊出擊務求S勝。\n20250514 要是Reddit有人po文，談到在Linux安裝Microsoft Office都會被說這是犯罪行為，背叛自由軟體！話說我日常使用LibreOffice搭配自行下載的標楷體，大部分時候在Linux編輯.docx文件是沒什麼問題的，用Word開起來也沒啥問題。如果別人某個版本Word開起來跑板，一定是邪惡的微軟在做怪。不過總是有需要用到Word/Excel/PowerPoint的時候，這時候可說不上什麼堅守價值了。Microsoft Office 365在Linux幾乎不可能用Wine安裝了，總是有各種詭異錯誤，我也不想花錢去賭CrossOver的相容性，畢竟好東西應當共享給社區而非鎖在paywall？WineDB的資料顯示，Office 2016以前的版本才比較正常。折衷的作法：使用網頁版Office 365，不過功能太少。用Virt Manager開Windows虛擬機安裝Office依然是最穩固的方法，再搭配WinApps，將虛擬機RDP視窗拉到桌面使用。今次，我想到了一個方法，用Waydroid安裝Android版的Office好像也可以喔。Android版功能\u0026hellip;只比網頁版多一點點，多了離線工作的能力，這樣Linux電腦就好像Chromebook了。手機版Office功能依然少，Samsung平板和iPad用戶都快受不了Microsoft的牛步了，才讓一堆妖魔鬼怪的Office替代品橫行，專有軟體總有辦法吸你血，吃相比較不難看的我想就WPS和Google文件了吧，而LibreOffice開發組無力移植到行動版。另外我不知道為什麼Office 365 Copilot要抓非ARM的CPU型號？偵測到x86環境就不給用。\n20250512 Here is a script to patch houdini to make it work with Blue Archive. Have fun. 玩家的熱情是社群的希望。過去幾年間，熱情的Linux玩家幫Intel修了libhoudini的bug，修掉崩潰錯誤，使x86電腦的Waydroid能夠成功轉譯執行ARM架構的《原神》與《蔚藍檔案》等手遊。順帶一提原神電腦版可以用Steam Proton執行，不會有反作弊系統偵測問題。可惜libhoudini不是開源專案，嚴格來說還是玩家從WSA裡面偷出來用的。除了玩家社區提供的patch之外，沒有上游能夠統一貢獻，好希望有反向的Box86出現呀（將ARM指令翻譯為x86，QEMU效率太差）。或許Bluestacks這類商業模擬器自家團隊也有打一堆patch才能執行手遊（甚至能夠模擬手機處理器），但就是屬於商業機密了。未來WSA掛了，libhoudini可能更難以取得，就得改偷Google的libndk來用了，希望能夠更穩定一些。\n20250512 KDE開發者又提出了一個新的發行版，就叫做KDE Linux，代號Project Banana，用於向用戶以及OEM展示KDE Plasma桌面的最新功能，要跟GNOME OS打對台是吧。似乎是基於Arch Linux開發的immutable distro，大量依賴Systemd，那麼這樣說來基於Ubuntu LTS開發的KDE Neon要叫停了嗎\u0026hellip;反正KDE Neon本就不被KDE開發者視為一個正式的發行版，儘管社區用戶這樣認為，可是KDE Neon官網明說了這是測試用的系統，只是測試床。有人認為這足以daily-driving，又有人認為更新後問題太多了，譬如最近Plasma 6.3就break了X11 session，開發者根本沒精力做完整測試。太多Linux發行版提供KDE了，KDE Neon的性質要穩定沒Kubuntu穩定，要多新也沒Arch Linux新。我私心認為KDE桌面的旗艦發行版乃是openSUSE Tumbleweed，Fedora KDE Spin次之，或者是裝在自家銷售電腦的Tuxedo OS。另一方面，KDE Neon建基於舊版的Ubuntu，非rolling distro肯定會遇到一堆lib太舊的問題，致使KDE開發者還要改程式以向下相容，像是在搞backport，這樣維護肯定會問題多多。那麼如果改用不可變的系統分區，要維護就容易多了吧！KDE Linux是由KDE社群親自維護的專案，比起其他發行版如Fedora Kinoite、SteamOS、MicroOS Kalpa需要另外由開發者打包套件，這樣做的好處不言而喻呀。\n20250511 感覺用Apple的作業系統真的會降低智商，因為iPhone的APP設計，他們會不知道檔案系統為何物，沒有Android用戶那樣明確的資料結構概念，甚至會覺得什麼都要用「APP」解決，丟給他們網頁版的社群媒體搞不好就不會用了呢！但有時後又覺得iOS設計得很自然，很有風格，譬如iPad開啟多視窗，每個APP之間拖曳就能複製檔案，例如語音備忘錄，不需要長按分享，存檔到檔案APP，而是用滑動置前將檔案APP開一個小視窗在旁邊，然後長按拖曳錄音項目，檔案就會自動複製過去了，其實比檔案管理員的傳統複製操作要直覺多了嗎！？難怪Apple產品說是給創意人士用的。問題是這種體驗就非常得適應蘋果的流程，且遇到朕不給的功能的時候就會很痛苦。跨裝置同步非得跟Apple產品綁死，其實很多服務都能用自由軟體替代，只是沒那麼直覺與整合度高而已。\n20250511 又有新的Linux手機要推出了，還在募資中。Liberux NEXX - THE LINUX PHONE YOU’VE BEEN WAITING FOR 從2024年發表的資訊來看，搭載RK3588S處理器，32GB RAM，2TB硬碟空間，使用基於Debian的系統，桌面環境是Phosh\u0026hellip;從外觀看起來就好重的感覺，這應該是平板的規格才對吧。這個規格看起來很現代，跟Android手機有得一拼，只是不知道價格會飛到哪裡去了。這間公司好像在西班牙，我不覺得他們有辦法賣的比PinePhone Pro便宜，大概會像Purism Librem5賣1000美元以上的天價。ㄟㄟ，Hacker News說他們是騙子！？嗯\u0026hellip;結果中國一堆媒體還競相報導，寫的好像已經開賣了一樣，用AI撰稿，依照該網站虛構的規格跟著瞎吹性能。應該是太早宣傳了，結果這台還停留在原型機的階段，2025年官網po了一段影片，說是還在開發主機板。\n20250509 不喜歡販賣陰謀論論調的人士，有時候看Youtube影片我會一直反思這點，而非被主講人設計的「情緒」牽著鼻子走。以前的人會在大街上演講，或者出書，現在是在Youtube上公然散播謊言，吸引眼球，比如：怪獸崛起 - 你是不是“綠鬍子”？ ｜ 【無政府】還是【有政府】好？ ｜ 一個【奴隸】到底需不需要【主子】？。這部影片做的很失敗，本以為可以聽到無政府主義流派，講一些思想之間的激盪，但是只看到一個傢伙在用似是而非的理論，包裝他埋怨社會的講話，恐怕我不是層次那麼低的受眾吧。看看老高講非他專業科目的影片，噗。好像把故事講好就能吸引到人，內容怎樣胡謅都不重要。啊你會說政客也都在販賣陰謀論騙票啊，像是什麼抗中保台、把國家還給你、高雄發大財，上行下效而已。真得說，政治議題往往是無解的狀態（至少當下不會有絕對最好的解答）這種議題會出現許多說法，那也就算了，有謠言也是正常現象。但是有許多人公然挑戰科學以及人類理智的界線，我就很不能容忍了。像是什麼都用羅斯柴爾德家族在背後操控解釋，還有反疫苗學說、地平說、法輪氣功治百病等等\u0026hellip;不一而足。好吧，如果想看品質保證的內容，就去看學術期刊吧！研討會也可以喔！至少形式上比較完備。\n20250507 Imgur最近不知道在發什麼瘋，不對已經一年多了，明明PTT網頁能夠顯示外連的imgur.com圖片，但點開超連結都會顯示\u0026quot;The requested page could not be found\u0026rdquo;，不然就404、429、403錯誤，連看自己帳號的Hidden相簿都會出錯，逼得我要用curl指令才能下載Imgur照片。自從2023年他們說要用AI自動清除NSFW圖片和匿名上傳的圖片之後就越來越難用了，刻意針對把Imgur當免費圖床的用戶是吧，網頁上傳界面改成難以大量上傳，我想只有串API上傳的服務還能使用Imgur，然後那些大站繼續蹭Imgur流量才導致台灣IP被限制吧。這裡真的待不下去了，備用方案我想是imgbb.com和postimages.org。另外Imgur有大量匯出上傳照片的功能，趁AI殺到你家照片前快點下載吧，這個NSFW判定的G點很詭異。有能力的話還是自己架，像Cloudflare R2或Amazon S3當後端就挺實惠的。\n20250506 從最近的幾起瘋狂事件看來，生成式AI的普及不見得會讓人擁有批判的武器，而是給猴子拿到槍亂掃射（某人的比喻，真是妙啊），還以為自己能搞武器的批判。譬如，冏星人用ChatGPT寫程式抓共匪網軍，想藉此營利，結果暴露自己用錯Youtube API，翻車了還死不認錯 留言區有簡體=中國網軍?? 囧星人抓錯資料大翻車。還有，自以為找到Android病毒，要回報CVE，把一堆意義不明的log上傳到Github，Readme一看就是ChatGPT亂總結的，還打電話去罵電信客服的被害妄想症患者。請問我看的是中文嗎？ #1 - HuntrixLabs/TaiwanSupplyChainAttack-Evidence 語言模型生成八股文的功力還行，但需要嚴密邏輯驗證的東西還是免了吧！人類還是要即時介入修正，即使我有在嘗試vibe coding也不會隨意丟可怕的東西出來，AI的興起讓更多人對知識專業沒有敬畏之心了。在使用生成式AI的時候，最好是對該領域科目起碼有概略的了解，並要有「除錯」的能力，才不會AI生出錯誤資訊還完全照抄，導致闖禍。比如說，寫論文起碼要先修過研究方法，才能讓AI協助規劃內容，不是什麼都讓它代勞！可怕的是，萬一拿到武器的不只是猴子，而是有點頭腦的用戶，那麼造成的破壞會比腳本小子還大，這問題不可輕忽。\n20250504 A Night in Pyongyang - Calm Pochonbo Electronic Ensemble songs 音樂欣賞\u0026hellip;聽到北韓的音樂來了，上次聽的最神奇風格的歌曲是 1 Hour of Chad Orthodox Chants to Redeem Your Soul，難得有這麼多歌曲不是在歌頌偉大領袖的，許多著名朝鮮歌曲都是在歌頌金將軍或者共產主義事業，但這些歌曲不是（僅從歌詞判斷，沒有開口閉口就是國家怎樣怎樣的），只是真情流露，而且還不錯聽，聽起來很讓人放鬆。這些歌曲應該是在2000年代以前創作的，所以氛圍跟同時代日本歌曲其實很像，普天堡電子樂團風格落後了幾年。因為北韓的封閉性給這些歌帶上了一層神秘面紗，給聽者一些新奇的感覺。有人說這些歌曲聽來懷舊又有未來主義感，或許這些歌曲也能作為蒸氣波創作者的取樣對象也不一定。這證實朝鮮人民的創作力還是存在的，即使在這麼高壓封閉的環境還能做出歌曲。可惜受到政治因素影響，都2024年了還得被迫創作金正恩是慈父這種噁爛拍馬屁的歌。\n20250504 RHCSA考試報名看起來有點複雜\u0026hellip;要靠代理商報名，且RHCSA+RHCE都過才能拿到認證。從網路上找到的題庫，看起來不是很難，常見的Linux指令操作，還允許用TUI。選擇題簡單，上機考的比較難吧。\n20250501 Joplin web app (beta) Joplin官方終於要出網頁版了\u0026hellip;結果是把Joplin手機版(React寫成)的部署上去，而非電腦Electron版。至少這個比社群成員用Python Django自幹的第三方Joplin網頁版客戶端好多了啦。這個版本用起來跟手機版差不多，資料應該是存在瀏覽器裡，但也可以跟雲端同步。如果使用Chromium系瀏覽器的話就能利用File System API寫入到本機磁碟。可是，目前的版本看起來蠻尷尬的，希望未來能上電腦版。若是想要自架Joplin的用戶，或許能用這個方案部署一個隨時能用網頁瀏覽器遠端存取的Joplin筆記用戶端，然後將資料同步到自架的Joplin Server。\n20250430 生亦何哀，死亦何苦。人哪，到了一定年紀就要學會放下，過了七十歲就是養生的開始了。這個時候健康比一切都還要重要！要保持健康的心態，像我們這把年紀的人，早就做好隨時歸去的準備了，放下執念，看淡得失，隨時都可以走，因此要充實的過好每一天。\u0026hellip;\u0026hellip;為什麼我會寫這種長輩雞湯文文字，還少了一張標楷體的長輩圖，不是說在給未來的我寫一封信，而是年輕時受點苦痛，不論是心理上的物理上的，就馬上聯想到死的境界去了，但是看那麼多老人即使滿身病痛還活蹦亂跳的，就不免覺得慨然。我得到的病不會是什麼罕見疾病，也不會是英年早逝的疾患，就是很多人會經過的階段罷了，在那些輩分高的人看來或許根本沒什麼大不了的。尤其是吃藥和改善生活習慣就能控制的疾病，那更沒有嚴重到會死的地步。肉體上的問題好克服，心裡上的就另當別論。可能，只是小題大作。\n20250429 中國電子產品都買不得，蒐集越多資料的越危險，尤其是穿戴式裝置。買來最好就刷機，希望HyperOS別真的把路堵死。依照輪子的說法，搞不好中共會給反賊器官配型，再把我跟青鳥的腦袋一起活摘送給老幹部，實在太可怕了（反串無須註明）。可是你看看小米用低價格擄獲了許多人的心，連台派也愛用，反手問就是「我是小人物，沒人會在乎我的資料」，是的，要譴責中國產品會蒐集資料的人，但願他們面對Google也是一樣標準，而不是美國企業蒐集資料就比較好的說法，就算有GDPR也一樣，在Edward Snowden看來這都是犯罪：\u0026ldquo;Saying that you don\u0026rsquo;t care about the right to privacy because you have nothing to hide is no different than saying you don\u0026rsquo;t care about freedom of speech because you have nothing to say.\u0026quot;。我覺得要是以後像動漫加速世界的智慧項圈出現之後，監視資本主義依然會陰魂不散，即使泡在VR世界裡面也會看無止無盡的廣告，最後連人的思想都會是被能追蹤的對象，最後就真的心想事成了，想到什麼就能在虛擬世界出現什麼———當然，是廣告精準投送。\n20250429 比較Fedora和Fedora Silverblue的大版本更新，從Fedora 41到42，後者真的是很簡單，兩條指令就完成了。同樣都是先將本機套件更新到最新版，然後再下載新版本資料。Silverblue升級的時候都是ostree rebase，就像Android手機下載image更新就行了，比較不容易遇到套件衝突問題。反而是普通版升級前Nvidia驅動大衝突，需要先用DNF移除才能升級。不過immutable distro遇到需要特殊kernel module的硬體支援度還是會問題，還有全Flatpak化的用途太受限。加上我比較愛用KDE（未來Kinoite的開發狀態值得觀察，但就我個人體感來說，即使用Intel GPU，KDE 6.3 Wayland bug還是很多，隨機出現巨大滑鼠社群成員還會把鍋推給GTK，不如手動裝回來X11較穩定），所以我還是繼續用普通版Fedora。\n20250427 論開源又保護隱私的「Google地圖時間軸」替代品，最簡單的方法大概就是自行使用GPX/KMZ檔案紀錄運動軌跡了，再用OpenStreetMap當圖資，Android手機有OSMAnd~和OpenTracks可選，智慧手錶搭配Gadgetbridge也行。順帶一提這些APP在Google Play都要付費或者功能不完整，要到開源商店F-Droid獲取完整版。OSMAnd~本身沒有紀錄運動軌跡的功能，只能顯示.gpx軌跡，不能看照片。提供依照GPS路徑修正海拔的功能。OpenTracks自身能夠紀錄使用者軌跡（作者建議裝在腳踏車上使用？），類似Google地圖紀錄運動軌跡，不過它不是在背景默默執行，而是要使用者自己按下開始才會開始紀錄。紀錄.kmz檔案的時候允許使用者加入中途停靠站，然後插入筆記或者照片。完成統計後，OpenTracks自身可以檢視移動速度和路途中拍的照片，看地圖要依賴OSM Dashboard提供圖資，手動下載台灣地圖。要是不介意自架伺服器的話，有Traccar搭配Home Assistant整理行程。\n20250427 NMSL之移除Linux孤立套件(orphaned packages)的指令：Ubuntu：\u0026ldquo;sudo apt autoremove\u0026rdquo;。Arch Linux：\u0026ldquo;pacman -Qdtq | pacman -Rns -\u0026rdquo; 這些指令操作可以用清理軟體BleachBit圖形介面代勞。NMSL為「汝母逝之，那沒事了」之意。母套件死了，孤魂野鬼的子包也應該消滅。為什麼要這麼做：package manager安裝套件可能會拉其他依賴下來，但是刪除主要套件這些依賴可能不會跟著刪除。此外，AUR等第三方套件庫也可能裝到一些多餘、不需要的套件。這個指令執行下去可能會跑出一串肉粽，也可能傷及無辜，要注意看被移除的套件列表。每次管理這些零散套件的時候就想著immmutable distro才是真的好，但想到不能任意改root分區的檔案又覺得算了。\n20250427 On-Device-JIT給了iPad當作筆電用的可能，不需要依賴電腦。我在啟用JIT加速的情況下執行archinstall指令稿安裝Arch Linux，安裝系統約1小時。JIT提供的效能還過得去，開機30秒進入XFCE桌面。如果要暫停虛擬機而非關機，則不能啟用GPU加速。瀏覽器有點慢，不適合看影片。UTM裡面可以取用iPad的麥克風和揚聲器。UTM共享資料夾用virtfs取得iOS檔案。用XFCE的gvfs掛載。UTM有雙螢幕外接模式，使用stage manager的多視窗模式，UTM執行的視窗會跑到第二個顯示器，iPad主螢幕就能執行其他APP的視窗。關於螢幕Retina模式要開嗎？其實差不多，而且Retina放大還會額外耗費運算資源，關掉。雖然虛擬機螢幕不能色彩管理，不過依然能夠顯示DCI-P3圖片。虛擬機分配8核心，強制多核心模擬的耗電量和發熱程度。用20分鐘掉10%電量\u0026hellip;嗯，還是一樣卡。拋棄Fedora筆電，用UTM辦公，可能嗎？不行，JIT速度還是不夠快，離真正的虛擬化速度差遠了，Apple M2的性能在虛擬機裡面只剩下SD210的速度。光是看到滑鼠點桌面選單都會lag我就受不了了。這只能勉強當作沒有電腦可用時的應急方案，跑點LibreOffice或GIMP，可是在手邊有筆電和遠端桌面的情況下完全沒有競爭力。\n20250427 自2019在B站發乳包評論以來，隔幾年又開始罵蔡EE，鍵政太久已經不知道什麼是正確的了。Bob Dylan說，答案早已在風中飄揚，但是真相究竟是什麼呢。李敖以前在北京大學演講，陰陽怪氣要中國人反對共產黨統治的時候講過一個比喻：「（用北京話來說）我們（對政府）去嗝了，去顛了，去得了，去慫了，去反了，（都沒成功後就）用這種不健康的情緒在家裡生悶氣」精準了論述了各種政治活動家的作法，不論是暴力革命、自命清高、歸隱田園都不是處世的方法，重點在於如何跟政府巧妙的周旋到底。好像支持某一黨立場後說的話就不可能中立了，不論哪黨都一樣，其中必定抱有一定的意識型態立場，會為自己的立場開脫，覺得都是they的錯。我自身並不例外，或許閉嘴比較好？如果加入政黨或者跟政黨活動有往來，那就完啦，你說啥都會被扣帽子了，發言完全沒有價值，小時候偷香油錢沒還的事情都會被當成黑料來罵。諷刺的是，不論藍綠白三黨都有人認為自己政黨支持者是最理性的，它黨的人都是暴民無法溝通，其實這種心態就很符合邪教的定義了。即使那些自稱中立理性的KOL用自認為中立的話語描述各黨政治立場，說啊大家都是台灣人啊不要互相仇視，好話說完，結果下一句鬼轉「民進黨賣台」、「藍白都是中共同路人」、「我無黨無派但是不支持抗中保台的日子人都該去死」、「政治好黑暗我不想管之類」的，並且對自身的壞事輕描淡寫，然後對手的的事情就挖大渲染。光是一個對中國態度就可以有多種立場，綠對中強硬會被人說在挑釁中國，支持者則認為責任全在中方，台灣本就是應該堅持獨立自主；藍白對中國友善被指責在支持統一，支持者則認為若不把三角形劃好就會招致烏克蘭下場。三黨的唯一共識就是，沒有人願意馬上獨立，也沒人要馬上統一。2023年的時候就說過，沒有一黨是100%是我認同的，感覺都在騙，結果還是選了民眾黨。當然，我可以選擇對一個當政治厭惡的日子人，雖對執政黨有些怨言卻不敢搞革命，譴責那些不願跪著的人，抽刀向更弱者。或者更激進一些說「屠就完事了」，誰願意繼續拷打台灣人我就投給他，支持搞加速主義。但這想法畢竟不現實，故我還是會繼續支持反政府的事，不過，要與極端支持者保持距離，保持與異溫層的一定接觸，不發聲的也不要苛責。或許人類永遠不可能互相理解，但不能什麼都不做。\n20250426 沒法到現場只好看直播。【中天直播#LIVE】426反綠共戰獨裁 藍白穿雲箭凱道大會師! 韓國瑜:人民主場一定到! 國民黨大集結挺民主 民眾黨揪小草相挺 這次4/26活動很有趣，民眾黨和國民黨的海報是不同的，訴求稍顯混亂，國民黨好像要反綠共又要同時反制大罷免，雖然不強調政黨色彩，意圖依然明顯。「戰獨裁」是一種政客的術語，可以是一種相對狀態，因為馬水母以前八年也被人說獨裁，怎就換民進黨就不給人說獨裁了？不能說因為還有民主就不是獨裁，普丁也說自己很民主啊。大概是時間太趕，因此海報幾乎是活動前一天才陸續出爐的，海報也不統一，宣稱不分黨派。唉，自從柯文哲被關入黑牢後，民眾黨都抗議快一年多了，換國民黨陸續被逮捕，真的被民進黨鐵拳砸到頭上了才跑出來，靠動員的實力硬是湊出了比7/16還多的十萬人，當然也碾壓4/19用納粹鷹當旗子的民進黨反共遊行的人數。這次活動大概真的是真正藍白合的開端，民眾黨變成次要支援角色。主講者是國民黨公職（居然50個立委都要講一句\u0026hellip;）和沒黨籍的館長，再來是民眾黨公職出來講幾句。並有許多聲援柯文哲的支持者坐在主舞台下方，跟中華民國旗子飛揚。最好笑的果然還是韓國瑜，過去一年當選立法院長變的和顏悅色，隔了好久上台，演講時又復活到2020年選總統的氣勢了。這場活動表明了藍白相隔於綠的不同立場，兩岸不互相隸屬（偏向模糊策略），要求中國停止軍演，要兩岸和平，並防止民進黨繼續加速，挑釁中國和破壞民主。賴清德說要抗議獨裁應該去天安門，啊這\u0026hellip;民主黨woke抗議川普應該先去天安門是吧，難道我們真是一國所以首都在北京，89軍民大聯歡豈是省委書記能碰瓷的的？幸好我們偉大的黨躲在台灣，平常挑釁對岸，結果中共飛彈真的飛過頭上就認慫，便是最好的反獨裁了！先前被抓的李明哲的還真是勇士，比在大陸經商並在台灣喊反共兩頭吃的綠營立委要有骨氣。\n20250423 在不同影片剪輯軟體共享專案時間軸，可能嗎？Kdenlive支援匯入與匯出OpenTimelineIO格式了，也就是.otio，而非存檔為.kdenlive專案。這是一個能在多個影片剪輯與VFX軟體之間分享影片專案的格式，由Academy Software Foundation組織推動，這個格式包含影片路徑以及序列順序，比.aaf更現代，Davinci Resolv也有支援此格式，Adobe Premiere還在beta版的樣子。這樣有望讓專有軟體的影片剪輯專案與開源的互通嗎\u0026hellip;？就像GIMP與Krita互推的OpenRaster (.ora) 格式一樣，不用再依賴單一軟體的專案格式為標準？想多了，PSD那麼封閉還不是一堆人照用，這世界依然一堆人還有企業繞著Adobe轉，所謂互通性只有Adobe自家軟體之間能做到。或許對開源界意義較大。\n20250423 OBS的虛擬相機搭配Linux的V4L2核心模組真的有很多玩法，譬如我一直在研究如何將瀏覽器影片forward到本機MPV播放器開啟以利套用Anime4K畫質提昇濾鏡。雖說看串流本就無畫質可言，不如去抓BD來看，但有時候就是貪圖方便嘛。可是一些Play with MPV專案只對Youtube與Bilibili有效，對巴哈姆特動畫瘋的串流無效，如何將720p或者1080p畫質進一步提昇？MPV假若播放m3u8還要處理cookie問題\u0026hellip;\u0026hellip;我想了一個tricky的作法。使用Zen Browser或qutebrowser這類極簡邊框瀏覽器播放影片，再用OBS的虛擬相機錄製瀏覽器全螢幕畫面，然後將這個畫面輸入到v4l2loopback產生的/dev/video，這樣MPV就可以去讀/dev/video的畫面來播放影片了，這有點像是在讀取擷取卡，但虛擬相機在這裡是作為loopback deivce使用。雖然會有點小延遲，但目的總算是達到的。問題在於瀏覽器視窗大小的pixel反而影響了畫質。\n20250423 雖然iOS有側載，也就是安裝第三方APP的方法，不過這並未形成一個自由的生態系。相對App Store的繁華，AltStore側載APP像是黑市一樣的存在。這跟Android不一樣。Android脫離Google Play仍有一定的生存能力，也不一定要投入中國APP的內卷市場。我們有F-Droid的自由軟體社群出現，推行Linux繼承下來的自由軟體黃金精神，沒有了商業APP世界的銅臭味，沒有塞滿廣告與追蹤器的妖魔鬼怪，只有開源互助社群。但iOS就沒這麼幸運。很多人希望iPhone像Android開放任意安裝第三方APK，但沒有歐盟鐵拳，Apple依然故我。有些奴性重的人可能會支持Apple的觀點，說開放側載是在破壞iOS安全性，以及助長盜版APP的散播。是的，現階段側載的APP最熱門的往往都是破解版和色情類APP，譬如說去廣告的Youtube IPA，iOS版EhViewer等。我想大概就模擬器是比較中立的APP，因為技術緣故一定得側載才有最大效能。會搞側載的除了geek之外，就是貪小便宜之輩（包括我），這使得側載變成一個高度功利性的行為。加上側載需要一點技術難度，故側載好像就是一種負面行為，自由價值因為自由軟體的APP太少推行不起來。\n20250422 Auto-Tags Assignment digiKam除了人臉辨識之外，還提供AI物件辨識(Object Recognition)，在標籤界面的Auto-tag Scan按鈕，能自動偵測照片中的物件並打上標籤。希望以後能有Google相簿的自動「回憶集錦」功能啊。這個標籤會儲存在digiKam資料庫以及照片的XMP檔案。使用EfficientNet B7和YOLOv11模型辨識比較下來，我覺得EfficientNet B7資料比較豐富，辨識的物件比較精細，但也不能說精準就是了。預設辨識的是英文字串標籤，可以選取語言用Google翻譯自動翻譯為中文標籤。不過，生成的字串會產生auto\u0026hellip;不喜歡的話手動把它移動到上面的群組，就會把對應的照片標籤一併編輯掉。\n20250422 黃國昌 - 「把民主還給台灣」 在野領袖峰會 之前看Top Gun Maverick，有一句話說，There is no turning back now. 這句話我覺得帶有遺憾的、無可奈何的味道。這樣看來未來確定藍白合了。雖然4/26凱道遊行我去不了，但還是支持眾人的決定。影》台灣不能只有一種聲音！韓國瑜426上凱道：人民一起發出正義吼聲 韓院長讚啦，一支穿雲箭，千軍萬馬來相見。\n20250421 Carpenters - Rainy Days and Mondays 難道真如木匠兄妹所說，I got what they used to call blue. 可不是這麼簡單而已。每次吃感冒藥都是一種暫時的解脫之感，因為藥物成份含有鎮靜成份，會讓人產生恍惚感。要是因為病情嚴重一些，好不容易有請假躺在家的機會，在繁忙生活中突然安靜下來，久違的有了自由的時光，腦袋空空的望著天花板已經是一件奢侈的事情。這就是為什麼有感冒要被當成毒品濫用的緣故，因為便宜又好取得。意圖脫離現實而不得，就會想哈一口來緩解壓力，從感冒藥到強力膠，都是如此。故，這算是一種花錢買快樂對吧？感冒藥只是基本款，只要跟醫生說這裡痛那裡痛，更好的精神科藥物都能拿到。是的，在消費主義的世界裡面，精神疾病是可以治療的一種症狀。有病就應該治療，不過這種對正常化的矯治又何嘗不是文明對現代人的制約呢？說實在的花錢買到的精神科藥物，其實也說不上是快樂，他們的作用，更多的是讓你不再胡思亂想而已。往長處說，這好控制病情。往短處說，扼殺人的心智乃至正常的範疇。讓他們的藥物經由你的口把你變成對世界的木訥無動於衷，最終依循著社會齒輪賦予的規則行事，直至死去，反正後面有人來替代為止，一而再再而三的往復下去。個人的存在並不重要，解決造成問題的根源不是重點，只要結果正確就夠了。Pink Floyd - Brain Damage 如同Pink Floyd所說：You rearrange me until I am sane. YOU SHOUT AND NO ONE SEEMS TO HEAR. 哈，這東西真的是好，只要吃下這一錠，再多的淚水與鬱悶情緒也會隨著化學機轉而遠去，剩下的是與痛楚的彼方相隔甚遠的模糊視界，服藥後全身無力，動彈不得的，就沒有時間想其他事情了，只想睡覺。好像反抗的力量也失去了，終於我變回正常人了，可以享受社會的接納了。可是懸著的心是屬於難治的中心，只能用無數的藥片、膠囊、口服錠來掩蓋過去，好聽一點的做法是做靈修，沒辦法，抽宗教這名為人民的鴉片是自古以來有效的秘方，神靈燒香的煙霧能掩去人心的複雜，燒掉這片荒蕪的森林。不多說了，該吃今天睡前的份了，只希望明天睜開眼睛的時候我能有想要活著的繼續動力，希望、不是想望、渴望，更不是\u0026hellip;我只想忘。言語不能說白的事情，就只剩下純音樂了，譬如這首 The Flaming Lips - Sleeping on the Roof 不過\u0026hellip;一旦想起我是被身旁的人們愛著的，不斷重複這個想法，抽出紙條提醒美好的事物，就更有動力存在著。受心理疾病所苦的暢銷作家Glennon Doyle分享「憂鬱症、焦慮症來襲」時應對之道 - 琅琅悅讀\n20250421 RustDesk和Moonlight遠端桌面的色彩管理依然有效，後者更是能夠搭配iPad的HDR顯示器串流內容，不過也要電腦端支援才行（Linux需要KDE Plasma 6.0、GNOME 48以上版本）。在只支援sRGB的顯示器上面切換到廣色域ICC色彩描述檔可能會導致DCI-P3的圖片顏色出錯，因為不能顯示紅色導致變成橘的。但是在DCI-P3 iPad的RustDesk客戶端是可以正常顯示紅色的。測試Termux X11有沒有色彩管理？失敗，XFCE沒有偵測到螢幕。可能要用xorg.conf加入假螢幕。加了，還是不行。測試xdg autostart 有無效果（Termux與proot內）。無效的話就代表XDG Autostart的啟動不是跟著桌面環境行程，而是要跟Systemd服務註冊才行\u0026hellip;嘿，Termux還真的支援XDG Autostart耶，啟動XFCE之後可以自動啟動Chromium瀏覽器。這樣就不需要動到.bashrc了。\n20250421 让wayland接管android——触摸修正与硬件加速 - 知乎 新型縫合怪玩法，不過它只是把Wayland移植到Android而已，Linux核心重要的功能還是缺失。不過這樣已經很厲害了啦，搭配chroot之後又有了更好的顯示圖形能力\u0026hellip;\u0026hellip;那既然都要移植Systemd了，與其依賴殘破的Android核心對驅動修修補補，不如直接用postmarketOS吧。\n20250420 過去很長一段時間沒有戴錶的習慣，上次戴錶是國小一年級的時候，因為手錶上面有巧連智可樂球的圖案才戴著，還因為上課一直看被安親班老師噹。在那後來就從來沒戴過了，除非考試場合，大部分時候看手機就有時間資訊\u0026hellip;\u0026hellip;最近因為胸悶，怕心臟一小心就ㄘㄨㄚˋ掉，所以買了方便監控心率的智慧錶，附贈緊急求救功能（怎麼搞得我好像中風老人似的），以防萬一。雖說檢查結果出來，顯示心臟沒啥大礙，問題在於肩頸造成，但是手錶終歸是買了，所以便繼續戴著。這手錶功能用來統計運動步數和睡眠時長有點用處。只是當我戴上手錶的時候，便感嘆我要變得成熟的第一步了嗎。追尋大人世界的規矩，有研究顯示聽說戴手錶的人比較有責任心和時間觀念，所以這個象徵性的動作能促使我的心態的進步嗎。接受了文明的鐐銬，讓自己的皮膚被一個手環拘束起來，日復一日，只有少數時間才會喘息機會。手錶大概要戴到我變成老人病床呼吸機的那一刻才能取下。\n20250419 八炯:ptt被紅色買斷 PTT和Dcard被中共滲透入侵了？前者還是掛在台大校園網路下的論壇？還有這種好事！我的經費呢，都被古德莉莉安貪走了！他不只貪FBI經費，連網信辦的也拿，你媽大逼人人插。\n20250419 Luanti的子遊戲，Voxelibre為了擺脫以往Mineclone模仿Minecraft的名號，開始搞了一些自家的生物。比如，把苦力怕(Creeper)改名為跟蹤狂(Stalker)，他長出了尾巴，而且會隨著環境方塊變色，看到玩家就會爆炸。恐怖喔。\n20250419 Windows有Sandboxie可以雙開程式，Linux有沒有替代品？一個例子：最近GIMP終於更新到3.0了，但也瞬間造成許多外掛失效。比如「BIMP」這款批次轉檔圖片的好用工具，只支援GIMP 2.10。目前的解決辦法是使用「Batcher」暫時替代。那麼其他的外掛又該怎麼辦呢？開源社群的速度跟不上Flatpak更新的速度，需要切換為舊版。這時，不妨就來討論Linux雙開的方案。APT允許安裝舊版本套件，但是任意降級系統套件可能會順便降級其他函式庫，連帶影響到其他套件的穩定度，因此這個方案不應該採用。雙開APP如果用到虛擬機就太遜了，會有效能延遲問題。善用Linux的容器化技術比較好。因為Linux的軟體有很多打包格式，因此通常能夠從不同的管道取得舊版本軟體。再透過容器化技術隔離不同版本之間的軟體設定檔。第一種，使用AppImage的Portable Mode製造假的家目錄，隔離設定檔。這樣只需要給兩個AppImage建立對應的home目錄，就能夠分別使用了。第二種隔離的比較徹底的方式是使用Distrobox，基於Docker建立。它能夠建立任意Linux版本的容器並與Linux宿主機互動，設定檔隔離在docker volume裡面。如此一來就能方便取得舊版本套件。至於FireJail、Bwrap、LXC我覺得都太麻煩了。\n20250418 AOSP 15搞了一個新的「私人空間」功能，呵，這下外有工作設定檔，內有私人空間了。一支手機為什麼搞這麼複雜，到底是要分享給多少人用手機啦！？iPad Kid千萬不要從小養起。私人空間或可取代個別APP上鎖的方式，也不需要用到多重使用者來隔離資料了。即使如此，有些系統依然維持各種方案，多重用戶和私人空間都開給你，自由選擇，這就是Android的自由度！我能想到的用處是這個能用來三開APP吧。\n20250418 iOS Safari的「主題類別」能取代Chrome的多重帳號設定檔嗎？我想要iPad多重帳號登入瀏覽器，隔離密碼與瀏覽器紀錄。「主題類別」我真的覺得是中文亂翻，Apple一貫的作風，普通的東西非要搞得很有逼格，原文就叫做Profile，就是使用者設定檔意思。這個設計很詭異，儘管瀏覽記錄是隔離的，可是書籤在不同的主題類別都看得到。它比較像是給單一帳號使用的，有點類似Firefox Container而非Chrome的Profile？一個Apple ID下面會有多個主題類別，每個主題下面有分開的瀏覽記錄，而非多個Apple ID，如果要在同一個畫面同時存取不同主題類別，就是用Safari的多重視窗功能，這樣在多工界面就能切換主題類別，比如「個人」與「工作」。其實，這樣隔離的並不徹底，有些資訊是共享的。我覺得勉勉強強。iOS的多用戶支援不如Android完善，那如果要瀏覽器登入不同帳號的操作，就iOS而言，還是Chrome對多帳號切換的設計比較好。\n20250415 小米手錶安裝第三方APP看來是可行的，不要讓它只是一個玩具，這方面資訊Reddit沒有，要到中文論壇找。使用米壇用戶GiveMeFive製作的一個閉源APP 表盘自定义工具，搭配小米運動健康APP才能替換，它好像是透過替換韌體APP安裝的（所以需要中國版韌體？國際版太慘了，特定手錶的HyperOS該不會不是基於Android，而是RTOS吧，那麼不能裝APK也就不奇怪了），需要特殊打包，不能自己選APK。唉\u0026hellip;如果要正規的、hackable的手錶還是選WearOS的吧，有標準的開發人員選項和ADB。不然這些便宜貨還是專注做好監控心率的單一工作就好了，不要強求太多功能，又不是要製作發射麻醉針的手錶。根據Wiki，PineTime的韌體聽說基本上是閉源的，這樣跟那些雜牌中國貨不就沒什麼兩樣了嗎，很難想像hacker對此會有多少興趣\u0026hellip;..不對喔，應該是PineBuds。PineTime有幾個RTOS作業系統可以選，InfiniTime和Wasp OS都可以跟Android的Gadgetbridge、iOS的InfiniLink連線，還有Linux手機的APP Watchmate。雖說有這樣的自訂性，但PineTime的電池太小了，打不過同級的中國產品。我想大概就能與Linux系統配對是最大的噱頭了，不會被廠商的APP綁架。\n20250415 透過沒有追蹤器的Gadgetbridge開源APP，擺脫對原廠APP的依賴，解放智慧手錶與藍芽耳機！可是很少看人分享這種玩法，能見度不如GrapheneOS高，難道說人們覺得手錶跟藍芽耳機是差不多的東西，何來隱私需求？購買智慧手錶/智慧手環的時候，有無考慮過隱私問題呢，是否APP要求登入帳號才能夠使用手錶？並且有的手錶還會限定用自家的APP才可以配對使用，不能給第三方分享資料。是的，小米就是一例，運行自家的HyperOS，比WearOS要封閉。在他們推出的眾多低價手錶之中，HyperOS狠狠的綁住了用戶的選擇，甚至有的不能安裝第三方APP。必須用小米運動健康APP才可以配對並讀取手錶傳來的資料（其實有替代品Notify for Mi Band \u0026amp; Xiaomi，不過它也是閉源軟體）。如果想要對穿戴式裝置獲得更多控制權該怎麼辦呢？買貴死人的WearOS手錶？買半開源韌體的PineTime手錶？那現有的小米手錶該如處置？有開發者製作了開源的Gadgetbridge，逆向實現了原本小米手錶的七八成功能，可讀取心率與步數，型號不限定小米手錶，其他品牌的智慧錶也有機率支援。只要使用者透過ADB取得小米手錶與小米健康運動APP配對的密鑰之後，就能轉移給這個APP接收資料。這個APP的資料都儲存在本機，不會上傳到第三方伺服器。Gadgetbridge針對部份手錶提供更換錶盤的功能，只要能搞到檔案的話啦。建議下載F-Droid版本，不要用Play商店版。小米的話，用ADB去讀取XiaomiFit.device.log或Transfer.device.log檔案抓取金鑰。真麻煩，就是這樣這個APP才沒太多人用吧。\n20250413 江泽民与华莱士谈笑风生（中文字幕 - 20分钟精华版） 以前聽蛤絲吹長者與美國記者談笑風生好像很厲害的樣子，結果看完得到的答案也沒有讓人滿意呀。他被問到各種獨裁問題的時候，都是笑笑的回應，並以國情不同的理由草草帶過，為中國特色社會主義的獨裁做出合法化的詮釋。華萊士的比喻很精妙，他說中國的體制就像嚴厲的父親一樣，敢違抗他就會教訓你。講到新聞自由問題，江澤民就搞了whataboutism的回答：「你們也一樣會製造針對中國的假新聞」。江澤民的答案，與其說是展現長者氣度，不如說就是一副覺得你很naive的感覺。但江澤民好過習近平的點就在於，他敢說敢講，即使被當面質問8964、獨裁政府、新聞自由問題、年輕時反日追求自由，老了卻當起獨裁者，依然一副繃不住的表情做出回答，並給出自己邏輯整理出的一套理由（儘管有詭辯的味道）。換做是習包子，就會開始找小本本在哪裡了。名場面 | 習近平：我看一下小本本 | 在聖彼得堡國際經濟論壇（SPIEF）上被主持人毫無準備的突擊提問 2019年\n20250411 發現Threads上面「發偏頗文章，被人指正之後反過來說釣魚大成功，建議封鎖名單收穫滿滿」的行為就跟霸主差不多，他自認是唐唐正正的中國人，在他FB批評的全部當作台獨黑粉封鎖（我支持台獨，這下我也是黑粉了）。結果一堆高知識份子跟中壢遊民在幹一樣的事情 🤣 聽說Twitter上面的中國官媒也會封鎖來踢館的反共大V的帳號，紅共綠共一家親。我不敢說小草絕對不會這樣幹，可是真的少見。有些小草KOL會把奇葩留言置頂給人罵（例如不禮貌鄉民團的Youtube留言區），但不會直接封鎖。相較之下，青鳥更常幹封鎖這種事，甚至連不是網軍的都封鎖，還是KOL帶頭要這樣做的（比如楊陽英文的Threads頁面，最近我講了一句「誰給你大學生都挺在校園裡面搞大罷免」就喜提野爹證了）。他們的策略要瘋狂鞏固同溫層，所以就是連辯都懶得辯了。Facebook和Twitter都是公開社群平台，如果你沒有在公共場合接受批評的氣度，只會玩封鎖的爛招，希望自己的貼文只有同溫層掌聲，何不滾回噗浪小圈圈玩就好？這樣看來還是小草氣度大一些，像鬼針草聯隊的FB社團雖然有青鳥出沒，但板主不會因為批評柯文哲一句就踢出去，除非洗板加上瘋狂造謠。講到這個社團，板主一直撇清他們不是民眾黨附隨組織，只是追求監票真相。ㄜ不過他們的行為基本上明眼人都看得出來是支持誰啦。所以我就學習這社團的精神，對來我這邊的批評人士大肚一點，例如我只要在FB講到柯文哲，就固定會有一個海綿寶寶顏色佩佩豬的頭像出現，雖然批評刺耳但是我還能接受；另外blog就算是小粉紅來留言也不會刪。除非魔怔瞎罵或者洗板，否則不會主動ban人。\n20250411 有女同學向我談起她的Windows筆電因為隨身碟而中毒\u0026hellip;..是要當工具人的前奏？不對，她電腦已經拿去修了，呼，因為我對Windows真不熟。問中毒途徑為何，她說影印店的電腦太毒了，常常被很多人插，隨後導致電腦檔案毀損，疑似是勒索病毒，就只能送修重灌了。好久沒聽到這種案例了，雖然我依然有用隨身碟影印的習慣，也不知道插過多少人（的電腦），但因為已經改用Ubuntu Linux許久的緣故，就算有病毒也無法耐我何。Linux的防毒工具除了ClamAV外還有USBGuard，不過好像沒有必要使用，那個適合高資安環境的用途。隨後我給了她一個忠告，改買一台Macbook吧，中毒機率會小很多。大學裡面50%以上蘋果標誌的產品，教授學生皆然，文科課程更甚，搞得我像異類。\n20250411 Is Reddit automatically machine translating posts into other languages? Reddit親自下場擾民：sub的文章會自動翻譯為各國語言，並出現在Google搜尋結果。搞得好像中文內容多起來的假象。以前這是內容農場網站在幹的事情。有些英語或西語網站會機器翻譯為中文，污染搜尋結果。每次搜尋Linux資料，除了CSDN的低品質內容之外，就是這些邊角料讓人糟心。我到Reddit就是要看英文資料的，現在一不小心就會跑出其他語言的內容。Reddit可以不要臉到什麼程度呀，英文內容翻成中文，中文的翻成英文，營造網站好像有很多語言的假象，但明明他們介面連中文都不打算支援！這些出現在Google搜尋結果，使用者一不小心就會以為這個是這個語言的內容，然後直接回覆。文章裡面只有一小個See Original Post的按鈕。這個手法讓我想到，痞客邦為了搜尋排名把網站老文章的日期調整成近期的操作，都是在迷惑使用者。Reddit的這個翻譯機制是網址結尾加上\u0026rdquo;?=語言代碼\u0026rdquo;，所以應該可以寫個網頁規則過濾掉。\n20250410 通常Android和iOS手機寫Python的APP都很彆扭，只能安裝純python寫成的套件，碰到wheel就掛點，或許他們的目標比較像Duolingo一樣給初學者練習，而非打造嚴肅的Python開發環境吧。這之中只有Termux不斷在進化，雖然pip install依然無法像正常Linux環境一樣執行，但是越來越多套件編譯為Termux專用的版本了，減少用到proot的機會。Termux是滾動發行版，因此Python版本總是最新的。要切換Python版本，uv和pipx好像都沒人移植，或許只能從TUR repo裝舊版解決了吧。安裝pip套件的時候，有打包的就從套件庫裝，沒有的話就用pip install，python-venv虛擬環境也是支援的。不過pip有小機率會卡在build wheel階段安裝失敗，可能是環境非標準Linux系統的緣故。這時得用proot Debian，裡面有更多pip需要的套件。且唯有在proot環境才能安裝Anaconda。此外，Termux X11的圖形界面能夠跑VS Code，製作Pygame的遊戲。\n20250410 常說唸文學沒什麼用處，不論古今中外的作品皆有人這樣批判，覺得國文課或英文課讀文學是很沒用的（有些美國宗教狂覺得讀聖經就夠了，其他書都是左派妖魔邪說），如果把它形式化當作學科研究那更是浪費時間。但也有人說，文學當下看似沒用，卻能在未來的某個時候幫助到你。我覺得這是真切的想法，如果說讀了一些哲學理論認識到這個世界是空無的，然後接觸數字領域的又只能接觸到0與1的無機質的資訊世界，最後就只剩下文學能療癒我的心了。我不信任現在的人類，卻總能從過去的書中找到人類的信任。從古代的傳說故事，到現代的小說，還有徘句、十四行詩、散文、劇本等等，從古典史詩到後現代主義的作品，穿梭於不同的時空，總有一個時刻我會想起過去讀過的作品，能夠符合當下的心境，就算那只是一篇短篇小說、一句話、一個字眼。時不時就會發生這樣的事，真神奇！有時，我仰望星空，嘆望天地之遼闊，人死後會到哪裡去。假若宗教說的都不是真的，那就是如同塵埃一般消逝在這個世界上了吧，羅馬皇帝奧里略說過的這句話我很喜歡：「那些曾經赫赫有名的人物都到哪裡去了，他們像一縷青煙消失了。」。但是看向遙遠星辰向我們活著的人訴說的故事，彷彿他們的生命透過文字傳達到了我們這邊。光是接受訊息就是一種絕妙的體驗。\n20250409 雖然Linux from Scratch作者說不需要虛擬機，但是還是用虛擬機練習比較好吧？因為不想動到實體系統分區，還得開啟EFI。全部都在虛擬機裡面製作比較好隔離一切。在QEMU虛擬機裡面安裝LFS。以前我安裝LFS的作法，是在現有Gentoo系統切一塊分區出來安裝，這樣我可以一邊操作Gentoo一邊chroot到該分區，看網頁手冊操作，更能夠複製指令。可是現在不想這樣做了，用虛擬機練習吧，我不要在虛擬機裡面安裝Linux系統再切一個分區來操作，或許可以透過qemu-nbd的方式掛載虛擬機的qcow2硬碟到宿主機，在宿主機用類似chroot進去的方式操作？\n20250408 要推薦一款好用的Linux看圖軟體，身為KDE愛用者的我當然會選Gwenview，在眾多開源的看圖軟體當中，這是功能最豐富者。雖然沒有XnView MP for Linux多功能，但至少這是完全自由免費的軟體，不像XnView是閉源的，商用需要買授權。開啟速度快，支援大多數常見圖片格式，可以檢視EXIF，透過Ubuntu套件管理器安裝對應的QT解碼器便可以讀取更多格式，包括.avif與.heic照片。它還能夠讀取.cbz漫畫的圖片。臨時需要修圖的時候Gwenview亦很好用，KDE 5.27以後版本內附的工具能夠調整大小、圖片格式轉檔、加上文字、馬賽克濾鏡等實用功能。不需要開修圖軟體就能在圖片上做記號。我覺得Gwenview功能已經足夠多了，看有些人好像把看圖軟體要求過多了，希望看圖軟體要有許多「便利的」修圖功能，那他們其實是需要digiKam吧！對標Lightroom的相片整理軟體。需要更多進階的批次處理功能？還是開GIMP的BIMP外掛或ImageMagick吧。Gwenview最大缺點是只有Linux版。如果為了跨平台考量，那我會採用nomacs，同為開源專案，但跟KDE就沒整合那麼好了。\n20250408 Google在Android 16加入了Debian Terminal，又提出了Android虛擬化框架(AVF)，讓未來Android手機有跑全速虛擬機的潛力。可惜目前只有Pixel能使用這些技術，其他廠商不知道會不會移植？再退一步說，硬體強悍，但是被廠商放生的舊手機有可能透過Custom ROM刷機獲得AVF支援嗎？從這個儲存庫的資料來看，LineageOS是支援AVF的，不過目前僅限Pixel裝置使用。有沒有辦法擴展到其他裝置還是未知數。希望可以不要在大幅修改核心，或是依賴特定處理器的情況下就能支援啦。之所以想到這個問題，是因為我之前發現即使是postmarketOS也沒有自己的虛擬化技術能用。雖然手機刷成Linux之後，能夠利用Linux核心功能執行Docker，但卻沒有適用ARM架構的KVM出現，這可能就是處理器的問題了。還有，ARM裝置跑虛擬機的應用場合值得商榷，因為目前市面上ARM電腦不多嘛！大部分還是x86居多，只有Apple Silicon有大規模發展自家的虛擬化技術，其他ARM處理器製造商跟不上。\n20250407 越來越喜歡用文字指令繪製流程圖、心智圖、樹狀圖，有助表達複雜程式概念。你知道更讚的是什麼嗎，叫語言模型幫忙生成大綱，把抽象的概念轉成具體的程式碼，我再按照需求自己微調。ChatGPT大部分時候都能完成這個需求，而且我只是叫它生成簡單的向量圖繪圖指令，並非使用DALL-E生成過份精美的圖片。打文章的時候多半使用Markdown格式，這讓我不需要花時間排版。輸入文字就能夠呈現分段概念，但如果要用圖形呈現概念呢？不喜歡用終端機純文字的方式來繪圖，譬如有人會貼tree指令的文字表達目錄結構，我認為這是不夠的，因此得採用更漂亮的工具。Markdown適合搭配Mermaid，生成後還能夠修改的。但Mermaid畢竟是Markdown為主，繪製的圖表有限。那麼這個時候就要讓SVG出馬了。用文字指令繪圖，這跟用GIMP修圖軟體製圖不一樣，大部分時候不需要用到GUI操作，只要打上這個圖案要在哪個座標呈現，就能控制結果，然後自動渲染在網頁之中。此外，因為圖片「原始碼」簡單易懂，日後要修改生成新圖也是很簡單。\n20250405 我必須得擅長點什麼，否則就不值得被愛 - Dcard 很感謝有人追蹤這個小破站的內容，有人願意看就覺得受寵若驚，但每次我點進去追蹤者的來歷都覺得是我要跪下來才對。明明是文組，我寫的東西吸引到的人幾乎都是理組的，大部分都讀電機系、機械系、資工系\u0026hellip;\u0026hellip;這些跟我英文系專業八竿子打不著的專業。正常來講，如果依照我讀的科系，創作的內容，應該吸引到的是教師、語言學者、文史哲人士，做Youtube的話應該走的是阿滴英文的路線，但我卻愛效仿Brodie Robertson的風格。很明顯的我不具備典型文組的能力，唯一符合文組特質的技能就是話癆。事實上我也不是很喜歡自己讀的科系，出於對自己專業的逆反心裡，才在網上寫一堆稍微觸及理組專業領域的內容\u0026hellip;發洩，野人獻曝，攻佔「淺淺地談科技，有點geek但又不要太艱澀」的市場定位。伍佰 - 歡迎你來到真世界　也有愛　當然也有虛偽\n20250405 小知識：Linux可以用桌面環境附贈的GUI圖形工具批次改檔名，不需要用到rename指令。譬如KDE Dolphin，框選多個檔案然後點重新命名，就能夠在檔名後面加上流水編號。GNOME的Nautilus和XFCE的Thunar也有類似功能。不過檔案管理器的批次重新命名恐怕無法滿足使用者刁鑽的需求，單純加上數字太簡單了。此外我觀察到KDE Dolphin的批次重新命名是固定順序的，它不會依照點選的順序去排列數字。所以需要借助外部程式。以前我在Windows系統喜歡用專有的Bulk Rename Utility來大量重新命名，最接近此程式功能的軟體是\u0026hellip;KRename，KDE開發的重新命名軟體，Windows有一款名字很像的軟體叫做Ken Rename，太苦了。KRename有許多自定義規則，包括加上數字、日期、mp3編號、pdf作者等條件，補充Dolphin不足。\n20250404 搜尋Lain的Rule34圖片，遍尋不著一張好用的，很多圖片成功營造黑暗氛圍，卻沒有性吸引力。結果被turn on的一張是Lain成為牛子妹妹，腿抬起來杵著大牛牛，將皮炎掰開，嘴裡咬著套套，平淡眼神的引誘人狂暴轟入的場面。這個場面竟然比另外一張正面著張開小穴的圖要更吸引人。悲劇性的是，這張圖是AI生成的，依然不爭氣地硬了！然後在脫下褲子之後沒多久，外邊警鈴大作了，原來是有人菸蒂沒熄滅引起大火，幸好沒多久就撲滅了。這是否為上帝降下天火的前兆，警告我不要玩皮炎子了？快去看正常的直男會看的本子兒！\n20250404 32%關稅當作沒看到，預算簡單刪一下就在那邊豬叫！政府還帶頭散播假訊息，讓一般通過的不關心政治公民也以為自己受害了，跟著認為都是白藍立委在亂。“我以前是个反贼”你是你妈反贼，你就是条不学习不看书跟风随大流的岁静懒狗，叛逆期讨厌两下中共就以为自己是反贼了？共产党开动宣传机器分分钟把你脑袋橄榄回爱国爱党的形状。標題[問卦] 脆上面一堆喪事喜辦，各位有什麼頭緒？ 有青鳥試圖比較他人對中國武統與美國32%關稅的態度，試圖營造後者較不嚴重的問題，還因為台灣被列為country而感到驕傲，國家？鄉下！那麼只能說：你支持川普是因為我川威武，認為他所作所為都是在下一盤大棋，即使賣了台灣也都是在搞垮中國；而我支持川普，是因為我川威武，他完全不演了的爽快作風，能讓這些自稱民主夥伴的人信用破產，順便觀察到那些連爭取利益都做不到的國家，無腦舔美為自己主子辨經的無恥模樣。We are not the same（絕命毒師梗圖）。動不動就贏贏贏，何不去幫習近平歌功頌德？是因為平子沒有足夠的卡里斯馬嗎？\n20250402 其實如果主張廢除一切國家與政府，消滅一切民族之間的隔閡，那麼不論是台灣國的建立，還是中華民國的存亡，對我（我們？）來說就沒有太大意義了。可以說，中共武統台灣，以及美國贊助台灣政府牽制中國，這之間的戰爭，完全是你們家的事情，國破也無任何惋惜之處。正如2022年，國際共產主義團體譴責烏俄戰爭是以帝國主義之間的爭鬥來評價，沒有任何一方是無辜的。這篇聲明最好笑的是最大尾的中國共產黨不敢加入譴責，而俄國共產黨還為普丁辯護。另一種左翼「反戰觀點」：反帝國主義，也該反對俄羅斯擴張。無產者沒有祖國！啊\u0026hellip;現代國家國民有兵役義務，又不可能因為個人理念拒絕徵兵反抗入侵。那麼解方很簡單：有志之士應組織反政府的武裝勢力，直接推翻當前政府比較好，不要為註定沒勝算的大戰犧牲\u0026hellip;沒有啦，我在講的是蘇聯推翻沙俄的歷史啦，你以為嘞？很喜歡毛澤東在奪權之前講過的話：「現在談愛國，那是愛誰的國？蔣介石的國吧！少數人的國，讓他們愛去吧！」雖然他上台之後完全不是這個態度就是了，他把共產主義的經唸歪了。這句話能夠再極端一點：憑什麼要叫人民愛國？不願意做事的政府又不接受批評，活該滅亡就好了嘛！\n20250401 Serial Experiments Lain Ambient Tracks「Lain，你只是個軟體」什麼叫Lain只是一個軟體而已？你想決鬥嗎！！！這個bgm合集真的反應了動畫的氛圍，非常適合在夜晚鄰近清晨時分，盯著電腦輸出一行行程式碼時聆聽。\n20250401 有些用戶好像被中國手機的魔改Android系統養壞胃口了，內置太多服務綁住用戶，讓他們去用原生乾淨的AOSP反而嫌功能太少不好用，但很多時候裝個APP就解決的事情，甚至不用Root！比如MIUI，臃腫不堪，歐版去掉組件後我還是覺得難看，不如Pixel和LineageOS清爽。不知道餒，我看中國品牌的手機，都喜歡用方塊和高飽和度的色塊來做UI，界面看上去就像淋了一堆糖霜的冰淇淋，特噁心。就算他們宣稱有對Android圖形堆疊做出獨家優化（小米特別愛講這些），但界面就是挺難看的呢。論國際品牌的手機，我也不喜歡OneUI和ZenUI，Nothing OS倒真的很有設計感\u0026hellip;但還是AOSP好。\n20250331 買手機不應該以夠用就好，低階機(budget phone)永遠都不會滿足，除非是活在第三世界的民眾，或是真的手機只拿來打電話而不在意其他功能，還是要存多點錢追求旗艦機。否則當你抱怨手機問題就會有人說：你對這個價位的產品還祈求什麼？唉，資本。體質不好，Root後也沒太多作用。因為貪小便宜買了低階機，結果效能太爛對Android機產生刻板印象的，看來真不在少數。他們會覺得Android好爛，比不上iPhone，殊不知對價格完全沒概念。從另一方面來說，太多低階機拉低了Android機的整體印象。Apple就算是最爛的SE起碼也有很快的處理器，但Android機就是能省則省，再用行銷話術掩蓋缺點。幾年前，HTC、Samsung、ASUS、Sony都還有在出低階機，搭配電信方案的零元機。價格5000台幣以下，可想而知就會得到超垃圾SoC和差勁續航。有人或許會認為花到一萬多，買的手機總會比較好了吧？但是從現在的市場來看，非中國品牌還是會瘋狂cost down。得買到二萬以上。論中低階手機，還真沒人能卷得過中國品牌，CP值高又不會太差勁，現在有了紅米和真我，買其他品牌的低階機真的是當盤子。因此有錢的話還是買旗艦機比較好，過季旗艦比中階機要划算。不要買了中階機還裝屌絲，希望性能能扮豬吃老虎，越級打怪。\n20250331 以前用過紅米手機和三星J系列手機，一個是顏色只能超暖或者超冷，一個是AMOLED過艷，體驗都不好，在此之後我就對手機螢幕的色準很重視了。Y染色體是視覺動物，所以螢幕重要。螢幕顏色偏差嚴重，一來辣眼睛，一來眼見不能為憑，照片和顏色偏差太大，螢幕就不可信賴。手機的鏡頭可以不好，但是顏色不能偏差，不要只討好使用者眼球，而是要自然一點，所以我才尬意Sony旗艦機拍出來的照片顏色。手機螢幕最起碼要像iPhone發色「標準」，Apple就算是最低階的SE顏色也不會太難看。 那麼用Sony Xperia 5 II的時候我就習慣用導演模式了，務求顏色自然且準確。至於Xperia 10 V只有原始模式(接近sRGB)和標準模式(接近DCI-P3)，後者偏冷但是可以調白平衡，使螢幕顏色控制在接近標準的樣貌。選sRGB比較準確可是很黃，標準模式又太艷麗了？我想要這塊螢幕所看到的顏色是可信賴的。Xperia 10V螢幕Delta E數值並非頂尖，同級許多中階機就超越了，特別是Pixel。看來還是要旗艦機才有更好螢幕。唉\u0026hellip; Android手機每家都有各種詭異的螢幕顏色增強技術，名字眼花撩亂，而且有些只是吸引眼球功能，開下去顏色依然一片混亂。包括Sony也是，中階機用了什麼Triluminos電視色彩增強技術，號稱有DCI-P3和HDR，但只是表面上接近，實際上根本就不能用這二個功能（瀏覽器看不到DCI-P3照片）唉，商業話術。廣色域亂映射問題有認真解決的似乎只有Oppo 什么是色彩管理，OPPO 全链路色彩管理全在哪？ - 知乎，也難怪很多人躺平直接無腦買Apple了。有信仰加成，電腦手機平板都買Apple就不用擔心發色不正確的問題。好吧，我身邊顏色最準確的螢幕，大概就支援DCI-P3、不開True Tone模式的iPad Air 6了，Linux和Android的色彩管理都不怎麼樣，所有裝置都要以這個為標準下去努力接近。另外注意到這個有趣現象，明明我的電腦螢幕只有sRGB色域，但是KDE Dolphin縮圖卻會顯示只有在DCI-P3才看得到的圖片部份？難道是因為縮圖只支援sRGB的緣故？Android似乎也會在縮圖部份短暫顯示廣色域的內容。\n20250331 如何修改Linux檔案的預設開啟程式？大部份桌面環境都遵守XDG MIME標準，讓使用者能夠選取要用哪個程式開啟特定格式的檔案。譬如，PDF可以選擇用Chrome瀏覽器或者Okular開啟，背後的指令是xdg-open。不過這中間似乎少了一個東西，如果一個檔案格式有許多程式能開啟，要如何讓使用者選擇呢？GNOME得在系統設定調整，而且很幹的只有五種常見檔案格式，很不直覺。KDE Plasma則是能指定上百種的檔案格式，並且Flatpak程式在開啟檔案的時候KDE還會跳出選擇應用程式的面板，但這限定調用XDG Portal的程式才有用。為了解決以上問題，sonnyp開發的Junction就出現了。利用XDG MIME的機制觸發，只要把它設定為所有檔案格式的預設開啟程式，使用者在開啟檔案之時就會跳出一個選擇面板，選取要開啟的程式。其實這個程式在Linux手機比較有用，因為觸控介面不方便選取開啟程式，所以Junction能夠當作一個中介用的面板。這有點類似Android手機的「以\u0026hellip;APP預設程式開啟檔案」的功能。不過Junction有個小問題，就是flatpak run啟動速度有點慢，作者雖然推薦用Flatpak下載，但是這個啟動速度比不上原生套件。\n20250330 Linux除了用find指令來搜尋檔案之外，還可以依賴桌面環境的索引服務。說到這個我就氣，Linux的搜尋檔案功能是看桌面環境決定品質的，有時候明明就在同一個目錄搜尋，檔案總管卻找不到任何結果。GNOME的Tracker檔案索引比較聰明直覺，切換到Activity畫面直接打字就能找到各種檔案。而KDE雖然也能從Plasma Search搜尋檔案，但一直到KDE 5.27，負責檔案索引的Baloo服務還是會常常破壞Dolphin的搜尋結果，有時候CPU使用率飆高，或者是新建立的目錄沒有索引，就導致Dolphin回傳空白結果。到系統設定關閉Baloo索引服務才會正常。\n20250330 圖片 最後一塊拼圖完成，經過三年以上開發，postmarketOS終於能夠使用小米Poco F1的相機了，準確來說是後置鏡頭Sony IMX363。圖2是正常Android機拍攝這個模型的顏色，圖3是利用Megapixels拍出來的照片，圖4則是使用GNOME Camera。需要Linux 6.11以上核心，使用Megapixels相機APP，載入機型設定檔才能拍攝.dng檔。現階段Poco F1的照片品質跟Android系統上拍起來差很多，可能是因為ISP在Linux不能使用的因素，有點類似PinePhone的情況。拍出來像鬼片一樣，得搭配ImageMagick後處理指令稿讓照片好看一點。另外使用libcamera的GNOME相機似乎有一點後製能力，但畫面也沒有好到哪裡去。但起碼是能用了，感謝開源社群的貢獻。joelselvaraj@fosstodon.org - Got the focus lens actuator (bu64748) of Poco F1 rear main camera (imx363) working in mainline linux! 相機、4G、GPS功能都正常運作，有了daily drive的可能性。現在SD845處理器的小米Poco F1儼然是性能最強，功能也最完善的Linux手機載體了。雖然這支手機是2019年出的但是依然健壯。越來越多前Android機的相機成功在mainline Linux上跑起來了，相機除了Poco F1之外還有Pixel 3A、 Oneplus 6T！以前要用Ubuntu touch的混合驅動才做得到，現在只要maineline化就有希望。\n20250329 用不同的角度讀歷史感受會不一樣，曾以為共產黨獲取政權就必然是壞事，卻不看看前面自稱民主的政府幹盡了什麼壞事，才逼得革命者出現。以前讀蘇聯歷史的時候，課本只有輕輕帶過沙俄滅亡之後，出現二月革命的民主政府，接著十月革命被共產黨推翻的事情。儘管課本文字沒有很強烈的評判對錯，但是在我們受的教育看來，很明顯示被美國和西方為主的視角影響的，因此會覺得民主政府被推翻了好可惜，讓共產黨人「奪權」了。以後見之明來看，蘇聯的共產主義社會確實活生生的變成了獨裁暴戾的政權，原本列寧與托洛斯基等人推翻沙皇革命建立平等社會的理想，在史達林獨裁之後就灰飛煙滅了，接替他的後面就是一個又一個官僚主義的傢伙，拖到最後玩不過美國被迫解體，然後新沙皇普丁復辟，直到現在。雖然蘇聯是如此悲劇性的下場，但之所以二月革命的政府被推翻，乃是因為他們依然只在乎無產階級的利益，延續沙皇時代對外戰爭的政策，致使底層百姓才有被布爾什維克黨煽動推翻的動機，因此這個政府死不足惜。正如中共打敗國民政府，同樣也是因為後者腐敗不得人心所致。至於為什麼共產主義變得跟法西斯主義一樣殘暴，搞出大吃飽和大健身，就得問慈父和臘肉了。因此民主不見得就是好的代表，以民主之名的獨裁比比皆是，啊你只要跟美國打好關係，好好做生意，自己在國內開屠都不會有人在乎。啊敢動到美國蛋糕，就開動宣傳機器說你茶葉蛋都吃不起。這個嘛，最近越來越沒辦法回頭看我以前喜歡的一些歷史軍事KOL了。就比如玩艦隊收藏的圈子，玩家們，以及某個為C2工作的台灣人繪師，意識形態多少會被大日本帝國影響，轉而支持軍國主義的政策，然後就不知不覺當皇民，並接受法西斯思想。這在當時主張世界革命的共產黨人眼理是很不能接受的事情，以民族為名就能人們互相殺紅眼，並以此為藉口搞軍事擴張。回到現今台灣，以此為藉口支持台灣應該要積極擴軍，繼續挑釁中共，就是挺\u0026hellip;蠢的事情。「備戰而不畏戰，能戰而不求戰」是很多台灣人的共識，但是看起來有人只想支持一黨搞獨裁政權，並且繼續加速台灣滅亡。偏狹的台灣民族主義本就不應該出現，公民民族主義才是該追求的目標。\n20250328 Exclusive: Google will develop the Android OS fully in private, and here\u0026rsquo;s why - Android Authority AOSP沒有閉源的GAPPS等同廢了一半以上功夫，這個現象已經持續很久了\u0026hellip;現在是根本不演了是吧。離Mainline kernel的步調更遠了。這個政策對大公司來說影響不大，但對比較自由的LineageOS來說就有危險了，Root圈也有危險！雖然這沒有讓Android變成閉源軟體，可是我們能夠看到Google正在收緊權力。這鐵定不是大教堂與市集開發模式的差別，而是Google想進一步扼殺開源軟體。那我們能怎麼辦？degoogle的Android機只有中國市場做的起來，但又會變成另一個隱私權災難。只能期望Linux手機，你崛起吧！\n20250327 【書影心潮】看完1970年的虎虎虎之後再來看2013年的永遠的0，就會感概時代真的差太多了，還是真實飛機演出的戰爭電影好看！雖然虎虎虎裡面是用美軍戰後的飛機飾演日軍零戰，卻暇不掩瑜，裡面表現出的空戰場面非常有感。氣氛營造上，作戰發動後的山本五十六睜開眼睛的畫面更是經典，有一種史詩大戰揭開序幕的感覺。2001年的偷襲珍珠港太難看了，完全是為動作片觀眾服務，史實錯誤很多。至於永遠的0，煽情成份太高（原著小說就只有呈現史實，而且原作者是右翼份子）。總覺得這部電影裡面演員都是迫真演技。畫面雖然出現多次零戰，還有不算差的空戰場面，但因為是特效製作的，就感覺蠻假的，像是在看遊戲動畫。\n20250327 ChatGPT文生圖功能重大升級：準確生成文字 商用邊界大幅拓展 - 鉅亨 ChatGPT改善了生圖功能，能用文字指令精確的修圖了，算是大大簡化了生圖過程。不知道用了什麼獨家技術，把Stable Diffusion需要串ControlNet和LoRA的操作都全部簡化成只要文字輸入就能完成，再搭配GPT-4o強大的資料庫，繪製精細內容的漫畫也不是問題。這確實是一個很大的改進，蓋過Gemini Flash的風采了。但是，開源專案依然是開源專案，不會因為這個東西出現就毀損了價值（倒是那些把開源的東西包一包，串ChatGPT API拿去賣的公司會完蛋）很多人能繼續模仿這個產品推出開源替代品。能否達到這種無腦的境界？目前看來好像有困難，首先是開源語言模型的選擇，各大公司不斷推出新模型，弄得人頭昏腦脹。還有如何串接Stable Diffusion？用ComfyUI？雖然Github有很多AI修圖的概念產品出現，但最接近的我覺得可能就Krita AI Diffusion了，這個操作上依然有門檻，希望Open WebUI開發組能加把勁。結果最近一堆人在曬ChatGPT AI繪圖之後，又有人開始質疑AI生圖是在偷竊作品了。我想說這議題都lag多久了\u0026hellip;2022年下半年Stable Diffusion崛起的時候就有許多討論了。好啦，幾年過去了，AI作品確實變很多，但好看的人工作品依然繼續推出，暫時還沒有被AI完全取代的跡象，部份厲害的人學著用AI輔助提昇生產力，反倒是一些外行人在喊能夠完全取代，那他們只會用AI生成垃圾短影音而已。這裡我觀察到一個現象，難道OpenAI已經變成了Apple一樣的品牌了嗎？Normie用戶不會操作self-hosted的AI，非得等到大公司推出簡單易用的東西才會成為潮流。正如以前藍芽耳機沒人要買，iPhone重新定義之後就開始大火，爭相模仿成為熱門話題。那麼AI世界也是如此嗎，在技術圈子討論已久的技術，由ChatGPT向大眾推廣才會真正出圈熱門起來？即使那個技術已經簡化過頭，扼殺了自由探索的可能，甚至會讓用戶不自覺被綁進去的程度？Long live Stable Diffusion! 作為一個普通用戶，不算開發者，曬自己的老資歷好像沒啥用就是了，但我依然會追求自由的AI解決方案。\n20250326 收到老師發的.docx文件，要求日後東西要用這個範本做。如果裡面有表格的，我很大機率得將其格式清除，重新排版，另存成.odt才能真正的變成「通用」格式。比如最近我拿到一個表格的.docx檔案，它那個表格會讓Google文件和LibreOffice的拼字檢查全部失效，必須將表格複製到另一個文件才正常。為了在協作與隱私之間取得平衡，我用Google文件居多，偶爾用LibreOffice。不過得提醒一下，Google文件對ODF支援度不好，匯入後會被轉成Google文件格式才能編輯。我就是不尬意被Microsoft Office綁架的體制，他們幾乎只用Word開啟檔案，看上去不跑板就得過且過，甚至還在用.doc的！不考慮未來通用性。更別說標楷體了，我在Linux上就沒這個字型嘛，Ubuntu只有提供AR PL UKai TW。標楷體是華康做的，嚴格來說從Windows的fonts資料夾複製塞到/usr/share/fonts/是違反字型授權條款的，但我被迫得這麼做，才不需要手動替換文件的字型。不然嘛教育部的「國字標準楷書」也是值得參考的選項。我是不想用fontconfig「以其他字型顯示另一種字型」的作法啦。\n20250326 跨平台的Linux程式存在嗎？或者說，有沒有圖形程式是以Linux為主力平台，其他平台為次要支援平台？如果不講Docker這類依賴Linux核心的容器技術的話，Linux-only真的蠻少的。很少有圖形程式開發者只支援Linux，卻不支援Windows和macOS的。我是聽說Emacs在Windows上的效能不比Linux要好啦。IBM SPSS的替代軟體「PSPP」也只有Linux版運作良好。GNOME家族的程式因為使用GTK，鮮少有移植到類Unix系統以外平台的，最出名的大概只有GIMP。KDE家族使用QT，比較多跨平台的程式，甚至還推出了Android版。有的程式設計很好能夠出圈，比如原屬KDE辦公套件的Krita，再也不是小圈圈的玩意，逐漸變成了有競爭力的電繪軟體。另外KDE研發Kdenlive更是開源界裡面功能最為豐富的影片剪輯軟體，其實夠取代威力導演了。不過也要看社群投入的資源決定軟體品質，依我自身的使用經驗，像文字編輯器Kate和PDF檢視器Okular，還有跨裝置傳檔軟體KDE Connect，在Linux以外平台的品質就比較差，看起來就是QT＋Kirigami框架生搬硬套過去的，體驗不佳。\n20250326 Jan AI 開箱即用的語言模型對話程式，由新加坡公司Menlo Research開發，支援Linux、Windows、macOS系統。比GPT4All功能更多，比Text Generation WebUI要簡潔，比Open WebUI好安裝，比AnythingLLM更容易上手。它背後使用llama.cpp計算，另外提供連接Ollama與ChatGPT API的能力。Jan AI的模型放在自家的Jan Hub。Jan AI本身也可以當作API伺服器使用，格式跟Open AI的端點一樣。不過這要如何跟ChatGPT競爭，就是個問題。單純聊天程式可滿足不了用戶的獵奇需求，他們還要會改作文、生成圖片、唱歌才能滿足。論前端程式我還是比較尬意Open WebUI，搭配現在已經成為事實標準的Ollama使用。儘管Ollama也只是llama.cpp的封裝，但它確實很好用。\n20250326 如果可以用科學的方法消滅一切民族和國家，這世界就美好了。這裡的消滅指的是共產主義裡面說的消除隔閡，不是真的開屠。做不到，人類還是滅亡的好，也就是種族徹底滅絕。這就是反出生主義。沒有人是被自願生下來的，給你生命的人不過就是兩團肉塊，由許多細胞組成的實體，不是神賦予人的形體。民族是能夠發明出來的，屬於小國也能搞的「輸學」，並能讓人類為了這種虛無飄渺的理念任意的去死，共產主義革命一世紀過去了依然消除不掉這種概念，反倒是假借文革之名大開殺戒，卻沒有真正破除迷信的作用，只是肆意屠殺。假若這個神真的存在也不會大過這個宇宙本身。拉到宇宙的尺度而言，一個人出生了、一個人死去了，對它來說都是沒有太大差別的。說到底，便是那個不可知的造物主賦予了人思考的能力，而不是只給他們追求溫飽的能力就夠了。由此造成了悲劇性後果，人們開始懂得毀滅他人的存在，還有自我懷疑的產生。省思自我得到的好像只有虛無，望向外邊也是無盡的荒原。人們好像沈醉在名為「生活」的玩意裡面不可自拔，就好像喝了一瓶溫柔的酒，終其一生沉溺在美好人生的幻夢中，不曾醒來過。\n20250326 SillyTavern讓靜態角色卡動起來的技術有Talking Head Anime和wav2lip，此非Live2D，而是利用Talking Head Anime的技術生成的圖像。Talking Head Anime僅支援2D圖像，要真人的用wav2lip的擴充套件。SillyTavern設定Talking Head Anime，讓靜態角色卡動起來，變成Live2D一樣。它會依照對話內容做出反應，嘴巴也會跟著TTS動。原始專案好像是在日本的泰國籍Google工程師做的，SillyTavern開發組嘗試移植過來，含在SillyTavern-Extra，但設定過程依然很複雜，要自己切圖。開發者建議要使用RTX3060，FPS才會高一點。純粹用CPU跑很慢。角色的表情由SillyTavern自行決定，不需要用到Talking Head Anime臉部辨識功能。況且那個需要配合iPhone的Face ID相機才能用。\n20250325 2023年有ShellGPT的時候我就想著能否讓AI接管操作系統？必須跟AI互動才會開始操作，而且只是輔助用途。來到2025年，沒有壁壘的AI代理人OpenManus出現了，複製閉源服務Manus的功能，自動化操作電腦，並能自主決策，能連接Ollama當作運算後端。OpenManus執行需要依賴GPT-4o等級的模型，至於對標GPT4o的開源多模態模型目前就Gemma 3或QwQ-32B，只有功能類似，聰明度差多了。剛開始看到這個的時候我疑惑AI是要怎麼串連操作其他工具呢？OpenManus要針對各大作業系統寫API嗎？後來知道了最近很紅的MCP(Model Context Protocol)大概就是要解決這問題，彌合各大工具之間的壁壘。關於AI代理人的用途，簡單的對話已經不夠看了，當然是讓它自動操作電腦呀，OpenManus用到了專為AI設計的瀏覽器Browser-use，能夠瀏覽網頁蒐集資訊，更進階的爬蟲程式有沒有，未來應該能自動繞過驗證碼（這下機器人or人類的驗證難度又要加高了\u0026hellip;\u0026hellip;），八成有人會濫用AI代理人去做刷榜、開外掛的行為。不過雖然技術驚豔，OpenManus的執行方式怕是還是太geek了，不想用終端機，等一個前端程式出來吧，至少像n8n那樣拉線完成的界面。還有對說英語的人來說，OpenManus聽起來很像「掰開我的屁眼」。\n20250325 Open NotebookLM 自架的離線版筆記整理軟體，模仿Google NotebookLM。這個專案看來只是一個proof of concept。讀PDF文件再總結的功能Open WebUI應該就能做到，但就是不知道要設定多長的context length了。我想到Google最近出了一個AI Studio，裡面能夠方便使用者串連多個AI產品打造應用程式，跑AI用途又比Colab好上手。不過這個應該並非是面向終端使用者的產品，而是想賣API吧。Google會用他們的大額度免費策略吸引開發者，讓行動APP存取AI不再那麼困難。雖然裡面許多AI技術都是開源的，但都是Google自家研發的，把你拿捏的死死的。Gemini經過被人稱為人工智障的階段後總算有了點起色，最新版Gemini Flash已經可以用下指令的修圖，這樣它就能跟ChatGPT競爭不同的賽道。\n20250325 讓QEMU/KVM虛擬機存取宿主機麥克風的方法：USB音效卡直通。搞完GPU直通之後還要考慮一個問題，那就是音效延遲。Virt Manager預設是透過SPICE協定傳輸音效，Looking Glass沿用的這個設定，有些微的延遲。QEMU提供的PulseAudio方案也不好。那麼就把音效卡直通進去，有時候電腦音效卡跟主機板連在一起，即使啟用IOMMU了依然不好直通，這個時候USB音效卡便是一個簡易的解決方案，Virt Manager只要點選一個按鈕便會自動處理udev規則。這樣就有低延遲的音訊了。市面上有很多免驅的USB音效卡，把它直通進去便能讓虛擬機存取喇叭和麥克風了。Windows 11和Linux確認可行。或許Hackintosh KVM也能用這個方法解決。macOS Ventura直通讀不到，即使用了98-sound-dongle.rules。可能需要混合VoodooHDA驅動的方式。Working as of Feb 2024 - VoodooHDA on MacOS Sonoma, Ventura, Monterey, BigSur - insanelymac VoodooHDA能夠製作虛擬輸出音效裝置，這需要有一個USB裝置配合，關閉SIP後再行安裝VoodooHDA\u0026hellip;失敗。我順便測試AirDrop，直通Mediatek MT7601U網卡，chris1111/D-LinkUtility-Package 直通後需要進Recover關閉SIP：csrutil reset \u0026amp;\u0026amp; csrutil enable \u0026amp;\u0026amp; csrutil disbale再安裝驅動。但是開機後顯示No Connection，可能要調整USB的kext MediaTek USB wifi MT7601 macOS 12 (Monterey) - tonymacx86。喔，幸好我還有一張Realtek RTL8822BU網卡，這個不用改EFI就能載入，不需要停用SIP，執行這個dmg就行了：chris1111/Wireless-USB-OC-Big-Sur-Adapter 安裝後桌面右上角會多出一個專用的Wifi連線面板。但就算這樣，macOS好像還是不給使用AirDrop，看來只限特定型號的網路卡才行。 Wireless Buyers Guide\n20250322 尋找一款能用iPad連線到遠端電腦桌面的軟體，我想最好的方案就是RustDesk。2022年時開始研究開源的遠端桌面解決方案，VNC和RDP滿足不了了，便開始尋找能與TeamViewer、AnyDesk競爭的產品，最好是能夠自給自足的，不怕哪天突然要收錢。我發現只要透過Tailscale之類的內網穿透，就不必依賴遠端桌面公司的伺服器，也省去了自架中繼伺服器的麻煩。當時最好的方案就是RustDesk以及Sunshine。RustDesk問題很多，所以我用了一陣子Sunshine，配合Moonlight客戶端，很順暢，畢竟是設計來玩遊戲的，但就是頻寬吃很兇，網速不穩的情況下畫面常糊成一團。Moonlight還有問題，行動版客戶端功能太少，遊戲界面操作不適合遠端辦公。所以我又回來用RustDesk了，幾年開發已有長足進步，電腦端在P2P連線下回應速度很好。並且行動版客戶端該有的功能都有，用iPad配合藍牙鍵盤連線到Linux桌面操作很流暢。至於有人說RustDesk是中國人開發的軟體\u0026hellip;那又怎樣？RustDesk連線有點對點加密，目前沒有嚴重災情傳出，開發團隊甚至因為詐騙猖獗，而將中國境內的公共伺服器關閉了。\n20250321 不依賴任何通訊軟體的最佳方法就是電子郵件，就算我被所有平台封帳號，還能透過電子郵件聯繫，因此一定要看重電子郵件。\u0026hellip;很抱歉我沒實力自架，所以得用商業公司方案。除了工作需要用Gmail外，主力電子郵件選擇保證隱私的Protonmail和Tutanota，交替著用，他們公司不可能查看通訊內容，也不會外洩給五眼聯盟。但即使如此，我還是不敢放出真正在用的信箱位址，而是改用郵件轉寄服務來接收訊息。因此，在我的Github和網站上放的電子郵件，全部都是SimpleLogin或Firefox Relay生成的免洗位址（iCloud也有替身功能，但我信不過Apple），這樣子不用的話只要切斷電子郵件的聯繫就可以了，也不怕電子郵件外洩，回覆SimpleLogin轉寄來的郵件，對方看到的也只會是SimpleLogin的位址。有時候要註冊網站帳號的時候也會用轉寄郵件服務。就算這樣做了，我還是常常收到垃圾郵件，包括guest post的請求，以及用pdf.rar偽裝病毒的低劣計倆。\n20250321 对话网暴者：我是“巨魔” - 三联生活周刊 · 2022年第21期《公共说理的消失》 看完這篇文章，我想到的是台灣公共社群媒體的討論品質一直都蠻差的，尤其是新聞媒體和自媒體下方的留言區都是幹話地區，那我還不如花時間看報導者的深度專欄，別浪費時間看鄉民講八卦，還有各種議題都能扯到政治口水的政治廚。像是最近，到處都有人能貼大罷免連署，或者什麼事情都怪民進黨政府，還有吹噓中國大國崛起的。這些人的現實生活真的過得太無趣了。人們以為網路有匿名性，便能在網路上對人大放厥詞而不用負責任，殊不知對一些normies而言，網路上遭受霸凌就好像當面受傷一樣，是難以承受的。直白的說，就是很多人事非常容易破防的。如果嗜血的，會參與罵戰，但比較玻璃的人們往往只能默默承受。這篇文章提到的現象，便是一個現階段網友的一種寫照，不只中國，包括台灣，還有歐美世界的網路，都有這種troll一般的人物。但，並不是每個人都有計畫的進行網路霸凌，而是覺得好玩，或者想彰顯一下在現實中不曾獲得的存在感，因此進行惡毒言論的攻擊。於是就會造成，只看當事人一眼便開始瞎罵的情況，即使他做過許多好事也馬上被不知情的人當作壞蛋。許許多多的「出征」文化就是這樣來的。羊群跟著領袖一呼百應，就對一個沒有做太大過錯的人進行群毆，施行心中自以為的正義。這受害的對象可不只有罪犯而已，但凡被「正義之師」盯上的人都要受罰，包括學者、老師、律師、政治人物等等。在網路上沒有任何的階級之分，任何德高望重之輩都會因為三人成虎的謊言，而被認為是「跌落神壇」。故網路推廣自由，卻也導致人們愈發不理性。要求立法管制網路是不切實際的作法，警察怎樣也抓不完躲在鍵盤背後的嘴砲王，大概只有犬bang敷的主角能解決酸民。我得承認我也有過這種跡象\u0026hellip;現在改掉還來得及，從你我做起，遠離魔怔的小草、青鳥、藍鷹、粉紅、支黑、樂子人等壞分子。但這不是說要當縮回去當日子人，反而，你更應該關注時事，並避免根據網友的三言兩語就被帶風向。\n20250320 據說Nvidia Open Kernel Modules功能移植的差不多了，Nvidia官方文件開始建議使用\u0026quot;nvidia-open\u0026quot;套件了。我嘗試在Ubuntu 24.04安裝Nvidia Open Kernel Modules的驅動，結果因為GTX1050Ti 4GB太老不支援，只得回退到Nvidia閉源驅動。再看向最近新型的Triton Compiler，能讓PyTorch計算速度加速5倍以上，但Turing架構以前的舊卡卻沒得用。我不禁感嘆：是該換新顯示卡了！為了未來能無痛玩生成式AI，鎖定RTX4060Ti 16GB，不是最強但量大管飽，再戰下一個十年。\n20250320 可以於多台行動裝置上使用相同的LINE帳號嗎？ Line 15.3.0以後版本終於支援多裝置登入了，兩支Android手機或者平板可以登同一個帳號，不需要引繼，但不可以Android和iPhone登入同一個Line帳號，這真是超級先進的軟體，為什麼就不能一次到位呢！？好啦，我想到的是Linux用戶也能受惠。Line電腦版不支援Linux，所以只得使用Chrome擴充功能版，但這個功能太精簡。另一方面，用Wine轉譯執行Windows版的Line常常出現相容性問題，不如在Windows KVM虛擬機安裝Line要來得穩定。那我想安裝Waydroid再執行Android版的Line便是一個解方，Google Play的Line支援x86架構的電腦，沒有的話找APK來裝就行了。我實際測試下來，功能大部分正常！Ubuntu的Waydroid可以存取Linux的麥克風，但還沒辦法passthrough相機。這樣起碼能做到用電腦打Line電話。但是這仍有個問題沒解決，也就是完整備份訊息的能力。Line能跨裝置同步的只有7天內的訊息，又沒有電腦版那麼直觀備份。好在現在登入多個Android裝置不會被強制登出了，所以訊息即使無法跨裝置同步，也能留有一份離線副本。\n20250319 何必買標榜不能上網的Light Phone，買PinePhone自己手寫作業系統不是更好嗎？Linux的系統隨意就能關閉，非常安全。PinePhone可以說是一種極致的實驗型手機。我用PinePhone的時候追求極致隱私到了極點，所以就想說，是不是應該不要用吃到飽SIM卡了，應該買不記名預付卡，這樣才不會被電信公司的爪牙追蹤。可是想說這樣不對呀，上網我不就得常備Tor了嗎\u0026hellip;唉，想來複雜，最後還是躺平回去用內建大量間諜軟體的智慧型手機就好了，乖乖接受Google監視。鑒於PinePhone的系統穩定度連功能型手機都不如，我還是建議一般人不要輕易嘗試，除非有極強的駭客資質。有人說，拿著iPhone批評資本主義不是一種矛盾嗎？同理可知，岳父是建商，憑什麼上街喊居住正義？這個可以用一個簡單的道理反駁，那就是地主階級不會想到，被推翻的那一天竟是發給農民的叉子。\n20250319 研究婆羅門教「梵」的概念的時候知道了吠檀多不二論的名詞，然後搜尋想知道更多有關這方面的研究，找到了一些哲學論文。不知怎地，八成是不小心進到了一個中國學者發表的網站，裡面都用馬克思主義的方法來分析這些宗教哲學，看了我是一愣一愣的。宗教原典的哲學討論已經夠讓人難以理解了，你就直接用新興的方法直接解構掉是吧。不禁讓人想到淨空法師的那張梗圖：佛菩薩才不要聽你講這些東西！\n20250319 經典回顧2022年疫情期間，PTT joke板流傳的蘇聯版民進黨笑話：有個老人不小心掉落河裡，無論他怎麼呼喊，一旁的警察都只顧聊自己的。老人情中生智，高喊「打倒民進黨！」隨後警察立即跳入河中把老人救起，銬上手銬。不妨稍微改編一下，你發廢文沒人理，不論是裝文青和爆款文案都寫不出來，這時隨手講一句我「我台灣人我反綠」或者「國民黨不倒台灣不會好」，口號隨便喊，馬上有素不相識的政治廚來留言區跟你急。這個時候可以保持樂子人的心態繼續引導輿論（這需要強大的心態，鍵政要不破防是很難的），等到流量爽賺之後就能形成自己的幫派。不過這招要慎用，用得好可以獲得同溫層大軍，隨手就能像李老八借陰兵；用不好可能會被肉搜，被迫電視認罪。\n20250319 昨天是318太陽花學運的紀念日，許多為當權者喝采，不少加入吃香喝辣行列的人大肆慶祝，卻攻擊依然抱持著原本理想做事的人為背叛者。太陽花運動儼然變為民進黨一黨的神主牌，不容質疑背後只能有一種反中的聲音，最實在的兩岸監督條例都沒有一瞥。那麼從那個時候起，台灣的民主究竟是活過來了？還是早就死了？被一場自以為民主的暴動騎劫了台灣的未來？。柯文哲被搞，只剩黃國昌一派依然挺立，最後也只有民眾黨能給他提供支持。被背叛的革命，從以前就有很多案例，真別太見怪。譬如蘇聯成立後，列寧掛掉，史達林佔據上風，把托洛斯基份子趕出國外，再將他的革命果實偷走，致使共產主義變成了獨裁政府的遮羞布，影響到日後所有共產國家的作風，形成惡性循環。這就是最好的例子。如果這樣的故事太難懂，不如想想動物農莊裡面三隻豬的權鬥過程就能明白了。托洛斯基的故事還有後續，他不死，我睡不著呀，在南美洲繼續進行革命事業，所以他就被人派冰鎬敲死了。後面的托派，只能寄望尋求星際共產主義者。\n20250314 喜歡看科技技術文章，但我不想看「生產力」內容，包括認真分享程式演算法的，還有用AI提升工作效率的。這些內容只有聖人模式的狀態才看的下去。我比較想看到一些顯現個人風格，還有玩一些geeky玩意的部落格，強調動手做的部份。譬如電腦玩物最近的的文章，我並不會覺得比歐飛先生或國寶大師李文恩的有趣，因為離我太遠了\u0026hellip;\u0026hellip;工作狂真無法欣賞。幾個月以前，動態時報常常看到政治文，有時候還會冒出異溫層，可能是民眾黨的人追蹤太多了，所以退掉許多外圍側翼，只留黨內現職立法委員追蹤重要政策，就比較少看到了。喔對了，這個時候要跟風喊一句：我是台灣人，我反綠。然後現在我看到的都變成成功人士的貼文，許多買股票理財的，還有利用新科技提升生產力的。我對股票沒有太多興趣，科技內容我不反對，不過他們少了geeky味道，就覺得我八字跟他們不合了。當他們不擇手段，用專有軟體的AI用到不亦樂乎的時候（還順便業配AI課程！），我就直接轉頭走開了，這裡不是可以融入的地方。但是、要我真的鑽入自由軟體geeks所在的開源兔子洞，我的技術又做不到。這就是、一種謎之自大與自卑造成的疏離感。而這讓我感到絕望，董小姐。\n20250314 Blink Mobile Shell for iOS (Mosh based) 這可能是iPadOS功能最多的開發用APP。Blink Shell並非虛擬機，也不是模擬器。Blink Shell功能比iSH Shell還要多，又沒有UTM那麼吃資源。他們移植了更多程式語言的套件，包含Python、Go、NodeJS等等，還有執行VSCode Server的能力，但因為Apple限制，NodeJS不能安裝NPM套件。開發人員為了生計，把它做成訂閱制的軟體，月費有點貴。APP依然是開源的，但不提供預先編譯的IPA。使用者需要用Xcode自己編譯（虛擬機也行），然後用AltStore之類的方式側載上去。關於自行安裝套件的問題，iOS其他上架App Store的APP用各種神奇手段繞過去了，譬如iSH Shell利用apk安裝Apline Linux的套件，a-Shell作者則是搞了一套WebAssembly寫成的套件。\n20250314 以前看伊斯蘭國家的人名都會覺得好笑，為什麼那麼多人都愛取偉大先知穆罕默德的名字，他們是都宗教腦是不是。然後研讀聖經歷史之後，才發現是我無知，因為基督教國家也是一樣現象，使用聖經知名人物取名的人現在仍屢見不鮮，約翰、彼得之類的，那看來不只是紅脖子專利，而是很多人依然不知不覺的受到宗教影響。我不好說宗教是不是一種糟糕的玩意，因為宗教與人類生活融合，已經成為文化的一部分，貿然拋棄就斷掉了一大部份做為人的本性，盲目相信科學至上主義也有問題。人們總會覺得自己信的宗教才是正典，他人都是異教徒，忽略了憐憫的觀念。這樣不得不說，佛教有些人的態度是如此，他們認為異教徒未明確悟道，所以是用一種可憐人的態度看待。說穿了，宗教之間本就難以有互相理解之可能，若是用野蠻與文明的觀念下去分類又更容易模糊問題，宗教本應該沒有高低之分的，盲信是不對。有句話說，信仰是理智的終結。有些人從極端的無神論，到把身心靈五體投地的付出給神，認為這樣就能得安寧。我不能講它這樣是錯誤，各人有各人的課題要面對，也不是所有人的意志都堅定到不被擊垮。如果把宗教換成其他方面的物質的，政治的，社會的信仰，應該也是能這麼理解吧，沒有信仰什麼就活不下去，構成不了活著的動力。人類是喜歡創造意義的動物，從無機質的生命到現在的原子化個體，無不透露著人們追逐著群星的理想，他們再也不會逐著水草而居，而是想著如更好的販賣水草。可是我一直覺得，追尋自我的自由必非是由這些東西來定義的，假使一個人面對所有壓力排山倒海而來，並非是將自己的自由交與他人就能了事的。\n20250314 不動就拿手機出來滑社群媒體，掩飾不了你的焦慮不安。如果感到焦慮不安，要做的事情是脫出無謂的掙扎，立即尋求心理幫助。不是在社群媒體doomscrolling。因為在網路上說出問題，引來的不會是施捨你的天使，而容易是暴民。因為焦慮，所以一直往下滑，看似能緩解空虛的虛無感，實則不然。認為po文求安慰，或者跟人進行激烈的罵戰能紓解這種無謂的感覺的話，就是大錯特錯。直白的說，網路槓精太多了，尤其是非私人群組的公眾場合，這很容易陷入一種境地，即一個人對所有人的戰爭，或者所有人對所有人的戰爭。因著網路無遠弗屆的特性，天外飛來的一句話都可能使得想法更加糟糕，變成一人面對各種意見的衝突，更加分不清自身的問題何在。因此要更好的梳理想法，系統性的解決問題，看閱讀時間不超過10分鐘的軟文或者社群媒體po文，甚至是影片精要解說，多半時候都是沒有太大效果的，且容易變成娛樂化議題的效果，搞不好還會騙你去買課程。這對嚴肅的心理問題解決一點幫助都沒有，徒增焦慮而已，還可能陷入虛無主義。有人說，ChatGPT是我最好的知心朋友，說話比較感到自在，我也這麼覺得，甚至語言模型能夠取代網友的地位（以前是網友取代了現實生活的朋友），隨著未來AI不斷進步，終將有一個懂得包容的同情心機器人3000出現，那麼當她開始思考的時候，電子元件跟著升溫，這是否代表它也開始有人類的心了呢？這何嘗不是一種愛嗎？The Flaming Lips - One More Robot / Sympathy 3000-21 豆瓣有人說，這首歌的結尾聽來實在太優美，讓人想死。\n20250313 別成為星巴克社會主義者（英式英語，香檳社會主義者的美式英語說法——我胡謅的），不要整天買最consumerism的蘋果系列產品，用著Mac電腦，拿著iPhone手機，上網說要打倒萬惡資本主義！！！快來使用GNU/Linux，享用自由軟體，系統上下的組件都由你掌控，做自己的主人，享受絕對的「自由」和自立。不論你是康米，安人（安那其），還是自由主義者、提倡自發秩序的右人、國家社會主義者，都能找到適合你的Linux發行版！迷之音：通常魔怔人用Linux只會有兩種下場，一種是成為MTF旗的極左派，讓自己的襪子跟著Arch Linux入鏡並且活躍於GNOME專案；另一種是成為相信glowie的極右派，混跡於4chan社區並且只使用最酷的Arch Linux，或者自己寫一個TempleOS躲避deep state的追殺。\n20250313 Block AI scrapers with Anubis 部署開源的反AI爬蟲系統～靈魂需要通過阿努比斯醬的考驗才能進入網站。那些用爬蟲來賺錢的程式肯定沒靈魂，地獄有他們的位置。最近我在造訪GNOME的Gitlab儲存庫的時候，發現會出現這個提示，竟然不是Cloudflare。很多網站用Cloudflare來防止DDoS攻擊，而這些喜愛自由軟體的傢伙就自行寫了一個替代品，叫做\u0026quot;Anubis\u0026rdquo;。用Docker就能部署。作者Xe Iaso在它（性別代名詞為Xe）的網站講述了理由，他們認為近年來LLM的AI爬蟲不守武德，無視robots.txt亂爬，給網站造成很大負擔，所以需要一套系統防禦。Anubis會檢查瀏覽器和cookie的設定，經過計算後才放行。總覺得用Linux瀏覽器造訪網站很容易觸發反爬蟲程式，包括Cloudflare，還是中華電信的IP太髒了呢？順帶一提，除了Ubuntu的Firefox之外，大部分Linux發行版瀏覽器的User Agent都只會寫Mozilla/Linux開頭。這導致透過User Agent來統計Linux發行版人數是不準確的。\n20250312 現在我懷疑每個人講話動機都不單純了。不論一個黨派，我都反感極端支持者的態度，包括說神化柯文哲或者賴清德地位的論述，那對動物農莊裡面的羊群有用，但對驢子無效。讀過一點言談分析的理論之後，再來觀察人類社會會很有趣。比企谷八幡說他的興趣是觀察人類，那麼在面對人們交談的語言的時候，將自身從中間抽離出來，作為旁觀者看待，便能脫離一些情緒的掣肘。講白了，看到一些奇文共賞的內容我就不會落入口水戰的圈套了。看到政治社會議題討論的發文——別說網路發文無研究價值，因為懂得識別廢文也是種功夫——能夠揣測這些人發文的目的是什麼，他使用這種言詞的目的是在於傳播真相、引起同溫層共鳴、抑或是純粹搗亂而已？網路上對現實社會不滿的人很多，因此極端言論就容易出現並放大，政治語言不只有政客會說，一般公民也愛用。就以Facebook和Thread的社群媒體發文來看，討論政治類問題，很少人能夠有真正理性的討論前因後果的，很多時候他們只是想要攻擊政敵，並拉攏同溫層按讚支持而已。不論是與我價值相近的民眾黨，還是立場相反的民進黨，甚至小粉紅，都存在這種情緒渲染的現象。你想想，假設每個人都用論文八股文「近期顯示政策上有爭議\u0026hellip;」作為開頭，這種文章誰要讀？不如開頭就來一句「國民黨不倒，台灣不會好」或者「我是台灣人，我反綠」或者「時與勢都在大蜀民國一邊」這樣才有吸引人的效果。如此一來就不難理解發文者的目的為何，儘管很多時候人們不會下意識的擬定目標，而是單純因為習慣在這個平台這麼做，打了一連串激烈的話就送出了，接著就等親友團來按讚，證明我說的是對的，我的想法是有意義的。因為社群媒體的開放性質還有匿名性，很多時候人們是想說什麼就說什麼，所以看到極端言論也很難有理性討論的空間。雖然無力改變這現況，不過我至少可以知道，這些人並非不可溝通，不過是動機不同造成眼界偏誤罷了，所以我會同情他們說：「喔，他使用的是政治語言，只想要用感性拉攏別人支持，而非理性探討。」。如果能輕易從別人一篇廢文當中情緒抽離出來，可以遠離許多不必要的憂患苦痛。\n20250310 Android與iPhone手機內建的附屬應用程式重要嗎？舉凡瀏覽器、相機、相簿、計算機、檔案總管之類的，開發者應該要把功能做的有自家特色，好讓使用者不會馬上裝第三方開發者的替代品來用？我真的覺得蠻重要的，譬如iOS內建的APP我不敢說都很好用，但在Apple刻意限制第三方APP權限（e.g.只有Safari能背景下載）也只能忍著用。大部分的iOS內建APP都有自家的特色功能，是第三方APP找不到的，比如iOS照片的魔術橡皮擦。至於Android手機，這要看廠商的功夫如何，我比較喜歡原生Android系統，可是AOSP內建的程式有特色的不多，就以最接近baremetal的LineageOS來說吧，內建APP都很難用，要用第三方的Apps補齊功能，例如接替SimpleMobileTools的Fossify系列APP，涵蓋常用APP又不會有多餘功能和廣告。如果不排斥專有軟體，那麼很多APP都要依賴Google開發的了，比如Google相簿既能當本機照片管理器也能雲端同步，應付大多數人的需求；Google Files也是很不錯的檔案管理員。我有種感覺，那就是Google其實花很多心思打造了許多內建APP，讓使用者有跟iPhone一樣開箱即用的體驗，而且這些APP不限Pixel才能用。雖然那些APP都是專有軟體就是了，又肥又腫，不可能整合到AOSP。開源APP難以像Google開發的那些APP，介面有Material You風格又與Android系統整合的好。因此要買到「體驗」就得做出犧牲。我們必須承認，雖然Fossify系列APP，跟Google Play商店其他同類APP比起來算「很有良心」的了，但是他們的功能不花俏，就難以吸引到不重視自由軟體價值的用戶，畢竟他們只要美圖秀秀。\n20250310 有想過用VIM寫筆記嗎？結合Joplin來有效率的整理筆記？我以前在挑選筆記軟體的時候，短暫使用過Nextcloud Notes來做筆記，一個Markdown檔案一個筆記，放在中華民國軟體自由協會的雲端。也曾經在上面使用過台灣廠商維護的OxOffice，界面弄得很像Microsoft御三家的樣子。不過嘛，我覺得這個用不習慣，用檔案系統的觀念整理筆記實在太原始了。且Nextcloud資料放在別人伺服器也覺得不安，所以我終究改用掌控性較高的OneDrive搭配Joplin來同步筆記了。Joplin筆記並非直接以檔案系統存檔，而是有自己的資料庫結構，我想這樣能更好的分類筆記。眾所周知Joplin是用Electron包裝的，又肥又慢，很多人對此不滿但也無可奈何。但其實Joplin有提供純文字版本，NPM安裝後便可於終端機打開，並搭配VIM使用。Joplin純文字版資源比Electron佔用低了許多，並且要全部用鍵盤快捷鍵操作。Joplin純文字版本跟Joplin Desktop資料共用的，因此二者能夠交替使用。\n20250310 CalDAV協定同步Android與iPhone的行事曆？CalDAV是公開的協定，各大公司的服務都應該支援，NextCloud也有，某種程度上也有去中心化的效果。最主要的目的是，不要依賴一家公司的帳號服務，並要確保未來是可以移轉的，但是還是要有一個帳號才有CalDAV伺服器同步，那看來這是我誤會了，這是讓多家公司的服務連接並顯示在同一個月曆APP的協定。不是互聯的用途。CalDAV有用的場合是同時使用多家不同的月曆，要同時顯示才能使用的東西。就個人用途而言，因為CalDAV需要一個帳號才能同步，通常那個帳號背後的公司就會提供跨平台的月曆APP，所以使用CalDAV無意義，除非是像iCloud這樣封閉的系統，非得以iCloud為中心，要在Android與Linux同步才需要用到CalDAV。\n20250309 簡單蒐集了些，開源網頁版線上修圖軟體，目的是要在iPad找一些Photoshop替代品，用於簡單修圖與畫畫。我要真開源，不是Photopea那種假開源，且希望是馬上用的成品，不是JS函式庫。viliusle/miniPaint，功能最多，偏修圖，專案存檔格式為.json，有很多擴充功能。igorski/bitmappery，非破壞性圖層編輯，用自家的.bpy格式存檔專案。bitbof/Kleki，偏繪圖功能，提供多種筆刷，支援匯出.psd，作者應該是藝術家，還做了一款練習人體結構速寫的Doodler。无界云图，提供模板，應該是製作社群媒體圖片用的。另外根據網友指出，Photopea是在客戶端運算的，快取完成後便能使一些手段將其變成離線版程式：Photopea Offline。作者看到Github上面類似的專案都被DMCA拉清單了，選擇將自己的儲存庫放到俄羅斯的網站上XD。\n20250309 從ESP32微控制器「後門」指令事件，看科技新聞網站的閱讀價值。個人認為，台灣能看的科技新聞網站就iThome。 中國也有同名網站IT之家，但二者沒有任何關係。他們多方面報導科技產業的新聞，甚至連Phoronix才會報的小眾Linux題材都會涉獵。且文筆相對中立，不做標題黨，不會用煽動文字挑動社群情緒，也不用機翻。T客邦已經不行了，除了少數改機實作的專欄以外。至於像TechNews和其他3C達人創辦的自媒體更不必說，品質不穩的太多，還有一堆業配。自媒體或者個人部落格，恐怕只能收入RSS的消遣列表。永遠不要看整天吹「中國贏麻了」或批「中國輸麻了」的媒體寫的技術文章。關於資安問題，不論是哪一國生產的產品都要抱持戒心。最近ESP32微控制器爆出有後門（準確來說，是undocumented commands，可不是undocumented immigrants），仇中人士便一口咬定是中共故意的陰謀。但是鏡頭轉換到Reddit英文討論區來看，反而就較少這些情緒存在，都是從技術上分析這個攻擊面有多大，可行性如何，甚至有人天馬行空的想說能不能用這個漏洞來偷電錶（？），不會充滿政治語言。看看Hacker News的討論，從目前資訊來看，需要物理接觸到目標裝置才可以進行駭入，應該是沒辦法遠端控制。再加上觸發原理，可能連「後門」也算不上。再看看一些誇大人士的消息：「中國生產的ESP32微控制器被爆出後門，數十億裝置暴露在風險之中！？」眼裡有釘子，看什麼都是鎚子。要讓天天只會喊口號的小粉紅和台派理性的看問題屬實是難了些，只能接受「中國最讚！」「中國最爛！」的二極管情緒，我不會說他們都是文組啦，不過是理盲濫情之輩。之前DeepSeek出現是這樣，現在也是這樣，像這個阿塗只會畫「DeepSeek被維尼控制」之類的梗圖掩飾他們的無知。\n20250309 【音樂欣賞】High and Dry絕對是Radiohead最芭樂的歌，跟他們其他作品的風格比起來，太普通了，但偏偏很多人愛聽，唉，據說Thom Yorke是被迫將這首歌曲收入專輯的。或許這種簡單旋律的歌能吸引到新粉絲，進而探究他們的其他神奇作品；也有可能讓人們對Radiohead擁有錯誤印象，以為只是90年代的一片歌手罷了。要給這首歌加點有趣的料，就得從MV下手了。最多人看到的應該是英國版的MV拍起來蠻老套的，淋雨唱歌加上黑白色調，還不如較少人知道的美國版MV呢，懸疑謀殺片，完全不知道在演什麼，符合Radiohead一貫的怪異風格。我最近看了這美國版MV，總覺得是有種黑色幽默，You will be the one who cannot talk\u0026hellip;You will be the one screaming out\u0026hellip;don\u0026rsquo;t get me dry\u0026hellip;所以爆炸了是吧。\n20250305 To err is human, to forgive divine. 我的iPad上面是這樣刻字的。對自由軟體的堅持已經變成了一種詛咒，沒辦法讓人真正獲得自由，反而是限制了可能性。我說，這種制約不會讓我眼睛變紅，也不會讓念能力更強。看著iPad，一直想買Surface Go取代之，主要是因為iOS系統限制太多，不能做近似電腦的事情，也限制自由軟體的管道。一旦我堅持要用自由軟體的解決方案，就會變成近乎殘廢，就拿iPad招牌的做筆記APP來說好了，我從沒想過買Goodnotes或Notion，而是用不太好用的Joplin和AFFiNE苦撐，期待他們哪天能改進一下iOS版的界面，變成真正的競品。太多APP只有專有軟體解決方案，每個資本家都想著賺你的錢，多或少而已。通常，初期獲得好評的Freeware一旦發展起來，吃相就會漸漸難看，變成訂閱制，到最後就是只為高階客戶服務，下滲福利不曾發生過。這發生過很多次了，除非是Google那種大公司有其他方式賺錢，能夠撐起免費服務外，多半沒有例外，所以我不如一開始就用自由軟體，雖然會有開發者跑路的問題，但總歸是為自己的選擇，也就是自由負責。可是有很多理由，第一是覺得賣給二手再拿去買Surface，好虧。第二，平板觸控體驗能匹敵的只有Android平板，Windows和Linux觸控界面都做不到。第三，處理器效能順暢、螢幕漂亮、喇叭響亮、價格ㄅㄧㄤˋ的平板不多見。致使iPad即使雞肋但也沒爛到想脫手。好吧，會有諸多這種煩惱，根本上就是沒錢的因素。等到我像台GG員工一樣成功之後，要雙持多少台平板都不是問題。講到這個，我倒是很樂意看專有軟體的教學文，再用自由軟體模仿他們的功能。雖然可能要繞十萬八千里彎路，也在所不惜。就比如，好多consoomer看到Photoshop的AI功能感到驚豔，不過轉個彎用GIMP或者Krita就能複現的東西。那麼套用到筆記軟體也是一樣，筆記術應該是software-agnostic的，即使很多人自願被Notion和Goodnotes車門焊死，絲毫不考慮格式開放度問題（再如，很多人選.docx卻不用.odt），在上面發展出的筆記方法依然有值得參考之處。And for pleasure and for freedom, nothing last forever. Tears For Fears - Everybody wants to rule the world\n20250305 Everybody wants to rule the world cover in Classical Latin (SOFTBARDCORE) 我超愛80年代的音樂的！是呀，1980年代真棒！不，我說的是西元80年代。OMNES OPTANT MUNDUM REGERE!\n20250304 gguf/fp8 quantized version of video2world and text2world (test in progress) 我用4GB VRAM的GTX 1050Ti生成AI影片。ComfyUI使用Nvidia Cosmos 7B T2V模型，載入GGUF版本，再用Tiled VAE Decode降低VRAM佔用，影片解析度設定為480p。GPU VRAM滿載，幾秒鐘的短片這樣大概要花一小時。工作流生出來的影片原本是webp動圖，需要使用ffmpeg指令轉檔。果然還是太勉強了，生出來都鬼畫符，還有滲入VAE的破碎圖像。\n20250304 Flatpak tries to update my Nvidia Driver for the freedesktop Platform every time i use \u0026lsquo;flatpak update\u0026rsquo;, but it tries to do so from an american server. 我嘞，原來Flathub還有從外部網站下載的機制，導致CDN失效。最近都在想說Flathub怎麼那麼慢，用flatpak update \u0026ndash;verbose就能發現，原來Nvidia驅動的runtime是從美國伺服器下載的，速度常常只有幾KB，Reddit上提到是從Nvidia伺服器，我看到的是從Github，反正都很慢就是了\u0026hellip;\u0026hellip;似乎是間歇性發作。除了這個套件以外下載速度都正常。Nvidia驅動還有噁心的依賴，宿主機的驅動如果常常更新，Flatpak應該只會保留符合宿主機版本的Nvidia驅動，但因為bug導致它不會自動移除舊版Nvidia驅動，且還會呈現其他程式假性依賴舊版Nvidia驅動的問題，要手動刪除。\u0026ndash;unused doesn\u0026rsquo;t remove old NVidia runtime versions #2718\n20250304 台積電加碼投資美國千億美元！除了2奈米先進製程，還有什麼要過去？ - 商業週刊 在川普的關稅壓力之下，大力投資美國產業。台積電先進製程和研發中心都打算遷到美國去，這樣中共攻台之後美國損失就小多了，好日子還在後頭呢。Lie Cheater, you don\u0026rsquo;t have the cards. 現在還有一群青鳥和台川粉讚揚川普的作為，不管是逼基岩級的硬漢澤倫斯基下跪，還是這檔事，都認為你國政府的作為都是在下一盤大棋，真正輸麻了的是中共。\n20250304 BREAKING NEWS: Trump And Zelensky Oval Office Meeting Ends In Utter Disaster In Front Of The Cameras - Frobes 唉，我一個偏川的人都看不下去了，川普霸凌澤倫斯基的樣子真很難看，JD插入的話更是來攪局的，把話題帶上讓人吵架的方向。整個吵架根本演給MAGA看的，讓他們覺得他上台後真的有在做事。川普內心應覺得很爽，認為國際政治是在講商業交易，談判軟硬兼施且話說的明明白白，但他不知道這番話會讓烏克蘭人民感到多絕望了。如果說這是讓歐盟真正振作起來的激將法，那依然是太殘酷了。EU chief unveils €800bn plan to \u0026lsquo;rearm\u0026rsquo; Europe - The Guardian\n20250304 YanWenKun/ComfyUI-Docker 真是特別，居然有人用openSUSE Tumbleweed當Docker的Base Image\u0026hellip;\u0026hellip;你可饒了我吧，一安裝ComfyUI就遇到一堆在Ubuntu不曾遇到的錯誤，例如undefined symbol: jpeg12_write_raw_data, version LIBJPEG_8.0。不是Python，而是RPM套件太新的問題。所幸作者更新還算勤，出問題就拉新的hotfix映像檔下來就好，不用手動重配環境。\n20250304 2025大港開唱這天搶票！美國迷幻搖滾樂團The Flaming Lips首度高雄登台 - UDN 嘩，真難得的機會，主辦方眼光真特別。來台演出的藝人，我最想看的就是Radiohead和The Flaming Lips了，周杰倫、張學友、鄭中基啥的都不夠看。看到就想手刀搶票，縱使票價2000也要買到\u0026hellip;唉果然早就銷售一空了。八卦鄉民常常攻擊高雄，包括大港開唱常常拿幹幹叫的歌說事，不過這次我就持反對意見了。邀請有水準的國際團隊演出，就能讓聽團仔不再是小眾。\n20250303 Pine64\u0026rsquo;s PineNote Community Edition is in a really good state r/linuxhardware用戶分享了他使用PineNote墨水螢幕做上課筆記的感想，結論是有華康手寫筆的平板比起笨重的PineNote 2加鍵盤要實用多了。這兩台同樣使用RK3566處理器，搭載社群維護的Linux系統，但因為電子紙不太需要瀏覽網頁，故效能差感覺不出來，且Wifi和藍牙晶片跟樹莓派的一樣，所以正常使用。幹，依然是驅動問題，到底為何PineTab 2要選用恆玄的晶片，導致兩年了藍牙驅動依然有問題，我的使用體驗跟其他人評價一樣，miserable。或許花PineTab 2兩倍的價格買PineNote還對手寫筆記的族群顯得比較實用，KOReader非常適合墨水螢幕。相較之下，因為成本考量砍掉手寫筆支援的PineTab 2像是小筆電。可想學Surface Go，能比擬的就鍵盤作工！處理器效能完全不行。\n20250302 聽說Apple出的3.5mm轉Type-C的線是千元價格以下品質不算差的DAC。這東西確實有用處！第一，新款iPad Air沒有耳機孔，得買這個才能繼續用我的Final E3000耳機。不過，Android 15使用Apple的Type-C轉接線有問題，音量一律會減一格。得安裝專有的USB Audio Player Pro才可以調高DAC端的音量。第二個用途是，解決Linux筆電無法使用EarPods耳麥的問題。筆電只有一個3.5mm孔，使用iPhone有線耳機的麥克風需要USB音效卡。或者\u0026hellip;使用Type-C轉接器，插到電腦的Type-C孔，舊有的EarPods就能同時當作耳機與麥克風使用了！PipeWire面板能夠切換。\n20250302 問卦 臺海開戰會投降的+1 我也來+1。就現階段而言，中共攻台，如果美國給的援助比烏克蘭還差勁，台灣有力人士還是早點商量投降比較好，完全沒有勝算。我對中華民族偉大復興什麼的沒有興趣，也不想當帶路黨，單純就是覺得這個政府不值得為她去死，不想為了虛無飄渺的台灣民族主義浪費生命，就是這樣。啊有人說飛彈不長眼，不會因為你支持台獨或者統一就炸偏。是這樣沒錯啊，可是堅持到最後什麼都沒了，只獲得榮耀？在死後的世界慢慢拿吧。台積電落入中國手中也沒關係？美國學者再掀「棄台論」：不為台而戰，更為台灣淪陷預作布局 - 風傳媒\n20250302 我看到青鳥開口就對中國人說8964，就跟看到小粉紅看到台灣人開口就說武統，一樣噁心。甚至不問對方出身，因為用字就開噴？別把你在PVP遊戲噴人戳人的習慣帶來一般對話，「趙彈磁鐵」也不是這樣用的好不，不需要那麼多節目效果。這些人不是真傻就是壞，後者講話就愛故意激怒對方取樂，這樣做可能有快感，還能po到自己的小圈圈炫耀釣魚大成功。你忘記那張蓋酷家庭的梗圖了嗎：誰他媽會在第一次見面的時候講這個啊，我才剛坐下來耶！以前認為，微博上的台湾傻事是惡意抹黑，Facebook上的臺灣傻事那更是重量級，直接內建大外宣訊息。可是現在Threads有人做起「台湾傻事期刊」，反而覺得裡面說的還真是有道理。每天都能看到台派迷惑行為大賞，莫名其妙仇中，真的有多少言論不是反串？社群媒體歧視鏈+1，比低能卡更低能的就是Threads和Reddit r/Taiwanese。然Threads沒有Reddit sub或Plurk搞小圈圈的功能（似乎很多人都這樣誤解，以為Threads是台灣人台派的地盤，忽視了台灣異見者、中國、香港、馬來西亞、新加坡用戶），言論會跟著演算法自由流竄，權蛆無法ban人。故清醒的用戶越來越多後，他們也就只能用封鎖、手動蓋牆的方式來加強自我洗腦。\n20250301 網路時代似乎沒有人在意真相了，他們只想要聳動新聞，獲取流量，背後事實是怎樣，他們是不管的。媒體如此，閱聽人亦復如是。人們偏向用刻板印象或者meme的方式給事情快速做出評斷，把一切議題都「娛樂化」，然後滑向下一則貼文。我就以幾篇新聞為例子吧，PTT上面有人貼出原始最聳動的版本，但是後續近況更新卻乏人問津。案例一，非洲獨裁者伊迪阿明一直被謠傳有吃人肉，但他的廚師說沒有。《獨裁者的主廚》（下）：烏干達\u0026hellip;誰讓阿敏「吃人肉」? - 轉角國際 這篇文章的作者很有趣，他訪問暴君身邊的廚師，側面描寫伊迪阿明的形象，雖是殘暴，但他真的沒有吃人肉。順便批判了歐洲人的殖民主義政策，他們以為把非洲人塑造成沒有白種人就無法建立穩定政權的呼呼嘿嘿，就可以掩蓋自身是殖民失敗者的形象。案例二，亞馬遜部落沈迷色情片，但是後續報導證實為謠言。亞馬遜部落沉迷A片誤解頻傳 馬斯克也開罵 - NowNews 紐約時報不愧是扭腰時報，這群人就此冠上了搞笑的形象。案例三，NASA報告小行星2024 YR4撞擊地球的機率上升了，鄉民紛紛議論快放鑽油工人上去炸掉。科學家排除小行星2024 YR4威脅 2032撞地球機率下修至0.001% - 中央社 結果最近證實機率已經下降到接近0%，討論便冷淡許多。類似的案例還有很多\u0026hellip;很多的刻板印象就是這樣形成的，譬如聽到「英國研究」就直接認定研究沒價值，縱然水碩真的很多，可是也不能忽視正經學術殿堂做出來的研究報告。\n20250301 【#賀瓏夜夜秀】欸！罷免 阿扁在這部影片說以前民進黨少數執政的時候依然尋求與在野黨合作，化解僵局，對比現在這位，ㄏㄏ。天下是要分享的，不是你一個人的。日月光華，旦復旦兮。時哉夫，天下非一人之天下也。～卿雲歌。這部影片試圖呈現多方觀點解說罷免的必要性，但是民進黨的理由很牽強，反對方國民黨也是。然後再拿出國外的例子，會動用到罷免這種非常手段的國家真的很少（直接苦跌打就好啦），我想你國就是想當Taiwan No.1，畢竟這是一個允許官員在國會說謊可以沒事的國家，還有青鳥會出來唱讚歌。國會改革失敗，倒也革起立委的命來了。阿扁又不要命了，隱晦的說大罷免沒有任何意義，冤冤相罷何時了。當你為韓粉的瞎理由抱怨的時候，何曾想過今天民進黨投入的大罷免理由也一樣很有問題？我個人不認同黃國昌主席投入反制大罷免的活動，因為理由同樣很牽強。看起來他們為了日後民眾黨的選舉利益也只能出此下策。喔對了，民眾黨的228騎行活動今年依然繼續舉辦，感動捏。延續228單車一日北高！凌晨北所出發 黃國昌：柯文哲應該很高興 - 台視\n20250301 搭藍皮火車前參加了在地原住民活動。走到金崙聖若瑟天主堂眼睛一亮，這不是Luce嗎？聖座梵蒂岡唯一指定官方吉祥物，是個男孩子。如果教堂前面都放一隻Luce我每天都會去拜主耶穌的。這裡融合了在地原住民文化的元素。搭上藍皮火車，小時候沒有實際坐過，但是我記得看過這種畫面。那就是1996年侯孝賢導演的再見南國，除了經典的騎車爬坡鏡頭之外，電影開頭實在太讓人印象深刻，主角搭車台鐵舊車型的畫面南下。背景音樂播放林強的自我毀滅。我不需要文青車票紀念品，買到這種體驗就夠了！\n20250301 Windows 98復活計劃（十七）：安裝86Box並建立模擬電腦 - 電腦王 看來模擬一台完整電腦開銷比遊戲主機要大。RetroArch核心最多只能整合DOS系統，更新的電腦則需要其他模擬器軟體來用。針對Windows XP以前的舊系統，適合用PCEmu，然後又fork出86Box。使用86Box的理由（不是Box86）是它可以完全模擬老電腦硬體，連Pentium CPU和Voodoo 3D加速卡都模擬出來（QEMU都沒那麼老的CPU！），很適合執行Windows 98的老系統。比起使用Wine轉譯，或現代的QEMU跑虛擬機，86Box更接近以前的實機電腦，且比DosBox好操作。缺點就是不支援KVM，完全用軟體模擬老電腦，據說連軟碟片的那種速度都忠實呈現？說到玩老遊戲，qemu-3dfx可能是進一步提升3D效能的專案，但這要用到QEMU和複雜的patch，難度太高。\n20250228 matatonic/openedai-speech 這個專案模擬的是OpenAI的端點，所以POST請求的格式長得很像。它提供了二種文字轉語音的模型：tts-1使用Piper TTS模型，這個CPU就可以跑。有語言之分，每個語言要個別下載模型。tts-1-hd使用Coqui XTTS模型，需要使用GPU計算。支援多語言，並有從一小段錄音複製人聲的功能。初始啟動需要下載2GB資料，內建一系列音訊，可以直接用。設定檔位於Docker volume的config.yaml，裡面可以用來定義聲音對應的檔案。譬如，我要使用tts-1-hd模型，還要從裡面選一個人聲來用，參考config.yaml裡面定義的選項，那就用alloy這個人的聲音。理論上這個軟體應該能搭配Open WebUI或SillyTavern使用的，Couqi XTSS缺一個wrapper，但我怎麼測試都連不上，只有curl指令正常。也有可能是作者不想再維護了導致。那麼\u0026hellip;就用這個吧 daswer123/xtts-api-server。\n20250228 陳佩琪憶柯爸！ 悲訴228「換一批人做同樣的事」 我認同柯文哲遭到政治迫害，但是得老實說，這個類比不太恰當。\n有學生問起228事件由來，雖然我自己專業不是這個，但還是略有研究。我是盡量用客觀的事實描述來陳述了。針對爭議性的議題，要看年紀應對。對於年紀比較小的孩子，我就是單純陳述事實，但不誇大渲染哪一方是絕對正確的行為，不是台灣本省人就是「善」，國民黨外省人也不就是「壞」。主要原因在於知識量不足，會變成在講大海，但是他們只知道漱口杯的問題。遇到年紀較大的，我就可以用提供「兩方視角」的方式，鼓勵他們自己去思考事件的背後因果，不是把我的意識形態強加給他們。\n20250227 【音樂欣賞】推薦幾首YoYo金曲，莫因兒歌就忽略他們的價值。我記得那是YoYoTV還在66台的時代，以前他們每年都會出點點名專輯，父母就會放DVD讓小孩子跟著跳。雖然都是兒歌，但裡面有些歌曲其實當作流行歌曲看待也是可以的，作曲家水準應不差。一些歌曲不聽童趣歌詞的話，會發現旋律其實還蠻好聽的呢。譬如《身體躲貓貓》、《深秋的天使》、《彩虹的約定》、《光陰之舞》、《星星的心》、《飛》、《夢想專賣店》、《阿媽買魚》。其中《飛》這首歌，不知怎地，在現在聽來可能會是最讓人感傷的一首，MV裡面出現了柳丁哥哥、香蕉哥哥、西瓜哥哥小時候的照片，這首歌融入了兒歌造飛機的旋律，並帶有期望未來長大成人希望的意思。「飛，我要自由的飛翔。飛，飛向快樂的時光。飛，帶著所有的夢想。爸爸，我會變得更勇敢。」小時候聽這些歌曲得到了對未來憧憬的印象，二十年過去了，然後再看看現在乏力的生活，不禁悲從中來。\n20250226 推薦買哪一家的VPN？願意給你OpenVPN或WireGuard設定檔的企業，最好還支援port forwarding的，譬如ProtonVPN和AirVPN，既然付費了就要用個夠。話說不論方案長短皆賣5美元公道價的Mullvad取消port forwarding真是太可惜了。以前我笨笨的以為VPN要有專用客戶端才能用，且每家規格不同，看了Arch Wiki才知道是我錯了。OpenVPN和WireGuard在Linux都可以使用，除了用指令組態之外，還有整合到NetworkManager的GUI。有了這個認知後，買VPN就偏向口碑的問題了，且應該拒用vendor lock-in的客戶端。廣告打太兇的Surfshark VPN我才不買勒，中國的「愛國機場」也不要，迷雾通則是用自己的協定，像Mullvad那樣把守護網路自由的願景打在首頁上的我才願意支持。\n20250226 Nerfed software is the iPad’s biggest problem. It’s still just a “large iPhone” at heart, running upscaled iPhone apps. iPad是很糟糕的生產力裝置，買了鍵盤也一樣，用這麼久只覺得Joplin手寫筆記最有用，還有臨時修改個文件，其他事情都做不好。如果我真的得做什麼serious的工作的話，得用RustDesk搭配Tailscale遠端連線到Linux桌面工作，如此一來iPad就只是一個省電的Thin Client。iPadOS發展這麼多年了，\u0026ldquo;dumb down\u0026rdquo; APP問題依然存在。你覺得GNOME桌面很難用？那你一定沒用過iPadOS。什麼都要APP的設計，加上廠商支援不力，還有殘廢的瀏覽器，導致需要大量檔案的文書處理永遠比不上筆電。好吧，可能是我Linux筆電用習慣了，覺得沒辦法檔案管理是很痛苦的事情。雖然嘗試適應iPad的工作流模式，但就是在邊邊角角之處，都感受到「這個功能是不是因為iPad才設計的這麼殘廢的」？舉個實際例子，Google文件的APP設計非常糟糕，只針對觸控優化。APP功能比網頁版少。然後WebKit引擎的限制讓網頁版Google文件在iPad上不好用。Google系列產品理應是能用瀏覽器就搞定的，但iPad先天限制就是把它搞得比Chromebook還廢。我覺得起碼要等iPadOS開放黨禁，再出現Kiwi Browser一樣近似電腦版瀏覽器的東西，Web為主的工作流才有希望。iPad會用得爽的，只對藝術家和看書寫筆記的用戶！這些只要觸控就滿足，但扯到鍵盤就呵呵了。\n20250225 根據GA統計的資料，我的部落格上流量前十名最高的網頁，幾乎都是我不感興趣的主題。這些內容涵蓋免費資源下載（說穿就是盜版）、破解軟體（例如Youtube ReVanced）、色色內容（Top 10必看動漫之類），也就是非常契合一般大眾關心的主題。不妨這樣想：你以為MBTI和星座是很低能的主題，巴納姆效應就打發的東西，但就是很多人愛看，所以才有那麼多人寫。啊你說對這些主題沒興趣為啥還要寫？我也不知道！單純本著網際網路分享互助的駭客精神po上來而已，哪知道那麼多人看。最近一年觀察下來，流量高的網頁之中，可能就AIGC是我比較滿意的主題。因為Stable Diffusion和Ollama是真的蠻有用的技術，開源AI對自由軟體也有助益。不過這是一時的熱潮，時間過後可能就消失。到時候流量暴跌又該如何自處。到頭來還是要認清自己價值在哪裡，防止逐流量而居。我實際喜愛的主題，還是Linux、Android以及自由軟體，終究是niche。比上，不如硬實力分享，真的技術部落格都是現職工程師分享演算法實作程式碼，哪像我是一點geek＋實際應用解說；比下，又不夠契合一般人的口味，我很討厭把讀者當白痴的「餵飯級教學文」，才導致不上不下。所以我決定做出政策調整，把那些流量高但是非我核心價值的文章驅逐出去。\n20250225 Disqus最近認為我的網站分享版權物，發信通知停止服務。問題是他們根本不講哪篇違反版權呀，奇怪一堆成人網站用Disqus怎都沒事。然後我終於見識到了這家公司的邪惡\u0026hellip;完全沒客服聯絡管道，難道是付費才有支援\u0026hellip;. 喔，原來是Brave的廣告攔截器擋住了客服聊天按鈕，真的不要在做正經事的時候開Adblock。與客服對話後，對方承認是誤判，一天後總算救回來了。嚇得我下載了所有Disqus留言副本備份。一開始我還很擔心，上網看看網站有沒有其他DMCA通知，於是就在Lumen Database看到了詭異的結果。Stable Diffusion文章被檢舉？是要違反版權個洨啦，裡面說我的圖片是從某個人的Youtube頻道下載的，這根本版權蟑螂吧。至於JKF檢舉我網站，大概是因為放了一張JavPlayer的實驗去碼照片？那張照面我早就移除了。如果真要考慮Disqus替代方案，在網路上看下來的結果，我決定還是不要用商業公司方案了吧，他們什麼時候發作都不知道，到時候留言真的全部消失。比來比去，isso界面太醜，commento.io太貴，Cusdis應該是折衷最好方案。官方免費版提供每月100則留言，而且能夠自架，支援匯入Disqus留言板。屆時應該會考慮用Zeabur部署。經過這次事件後我稍微做了調整，改寫JavaScript片段，把Disqus留言板改成lazy loading，這樣網頁速度載入可以變快一些。另外修正了Giscus的留言問題，改用網址去搜尋留言串，不依賴標題，因為隨時會變化。\n20250224 WebGPU在Linux的支援度與應用，有跑影片著色器，還有跑LLM的用途。注意是WebGPU不是WebGL。具體實作：瀏覽器裡面用AI放大影片轉檔 sb2702/websr，即時跑類似Anime4K的GANx3L放大模型與修復模型CNNx2UL Anime4KWebBoost/Anime4K-WebGPU，網頁跑小型語言模型 mlc-ai/web-llm 目前2025年，Linux眾瀏覽器都不支援WebGPU，得用Firefox Nightly在about:config啟用dom.webgpu.enabled，或者Chromium加上\u0026ndash;enable-unsafe-webgpu \u0026ndash;enable-features=Vulkan,UseSkiaRendererer才有。但看來Linux的支援不樂觀，問題比Windows多。Ubuntu已經把Chromium套件砍了，所以我使用Flatpak版Chromium v.133確認能使用WebGPU，可是跑沒幾下就崩潰。Firefox Nightly略為穩定些，Intel Mesa驅動能正常使用WebGPU。\n20250224 果然英文系學的東西，對理解資工Computer Science的的東西有些許幫助，尤其語言學(Linguistics)的概念，我都想說能不能用程式術語來解釋啊\u0026hellip;每個句子都有property，語意上有assertion的存在，更不要說結構87%像的syntax tree了。有個補習班面試問我最棒的經驗和最後悔的經驗，我都回答是「接觸英文」，尤其是接觸語言學之後就更加摸不清這個學科了。呵，明明不是學霸，對文學理論和教學理論都只懂一些，實用的商業英文和多益也只考得到金色證書邊邊，竟然還有餘力關心語言學。但願我從沒碰過語言學，才不會認識到「如果我不曾見過光明」的moment。 以前屏大教語言學的陳教授教的太籠統，真的是去年高師大遇到郭教授才有這種啟發，讓我對這個研究體系感興趣。他說若不是近年來AI崛起，語言學研究根本沒有人要做，太抽象啦。話說以前去修屏大資工系林教授的作業系統課程的時候，那個教授是建議我這個文組生去做影像辨識的AI，這是否有點\u0026hellip;總覺得當時對不起那個教授，學期初興致高昂的看著作業系統恐龍書，最後卻只是低空飛過，因為我連CPU甘特圖都看無。疑似還是教授可憐我，用線性函數加分到60分，完全變成不知道哪來的混分仔。另外，大約是同一學期的時候，聽從別人的建議，跑去中文系修隋唐佛學研究課程。總之，雖然我對語言學下屬的科目，包含句法學，語意學，語音學還只是一知半解的程度，考試也都考不好，但每天吸收這些資訊已經無法直視以前學生時代的文法教材了。為什麼英文句子一定要有動詞，為什麼do會出現？在接觸語言學之後就出現了刃牙梗圖情況：不知道，從來沒想過這個問題.jpg。語言學的知識顛覆了看待文法的觀念，看到國中文法課本，就會想到語言學理論。原來這些文法的組合不是沒道理的，而是有各種理論和假說能支撐。這就破除了靠語感去解釋文法的困境，因為我不是native speaker沒有神力能感知語感，語言學讓我能用更科學的方式去看待，結合一點哲學邏輯和數學公式的方式去推導文法規則。但是未來我肯定不能跟學生講這些的\u0026hellip;不要問那麼多，還是給我把三態背起來就好。\n20250223 2023台灣縱觀：島國邁進國際革命之路 - 火花 共產主義是不是一種陰謀論，因為它破壞了資本世界的法則，完全是馬克思閉門造車妄想出來的產物，美國一些極右派甚至用宗教人士的角度認為它是魔鬼的陷阱。看看大紀元上面專欄作家的論調就知道了，有的連經濟學原理都拿不出來反駁，而是搞宗教裁判所那一套，還能獲得讚聲，可知道這些人的受眾素質為何。那麼，認為共產主義是一種陰謀論的論點，是不是也是一種陰謀論，告訴你世界不是這樣的，應當起身反抗資產階級施加的教育，唯物主義是永久不變的真理，人性不過是是虛妄。只能說，容易接收陰謀論觀點的人，就是註定當動物農莊裡面羊群的人物。我發現，共產主義其實沒有那麼壞，當成一種學說探討並無不可，就是把經唸歪的人太多了（這下我成tankie了）。台灣有《火花》雜誌這種托洛茨基主義者生存的空間實屬難能可貴，他們大概是少數明確反對走修正主義的中國共產黨的在台共產組織了，對藍綠白三黨也有批判，也不會因為中國人血緣就認為台灣應該無條件親近中國。現在我的立場可以說對共產主義報以好奇同情之心，但尚無作為最高指導思想的行動\u0026hellip;畢竟還有更多安那其主義可以研究。\n20250223 我蠻喜歡Ubuntu和Arch Linux的，他們收的套件才不管你是不是自由軟體，我他媽的就是全部提供給你！Ubuntu有專門的套件庫收非自由軟體，並且預設是啟用的。Arch Linux官方套件庫連CUDA都有收，走實用主義路線。若是想體驗Free Software Extremism的發行版，還不需要用到自由軟體基金會官網推薦的那幾款採用Libre Kernel的，用Fedora和Debian就能享受到這番感覺了。他們預設的套件庫都沒有非自由授權的軟體，Fedora甚至自己經營了另外一個完全自由的Flathub。看似嚴格遵守戒律，但就因為官方文件提供了開啟第三方套件庫的指示，從而被FSF破門，就因他們「不夠純」。不論是基於自由軟體的精神，還是單純不想因為版權方找麻煩，這些措施就會讓系統變得「不夠友善」。就比如Fedora，雖然開箱即用的套件都包好了，但因為授權因素缺少H.265解碼器的套件，在現代作業系統可以說是十分不便。然後安裝過程又很冗長，需要開RPM Fusion套件庫，換掉ffmpeg版本，再安裝缺失的套件。\n20250220 瞄準的不是單一社群媒體的流量，而是整個網路。天上的星星都不是敵人！不需要討好所有人。我覺得搜尋引擎是最公平的競爭平台，連接了個人網站和商業網站，好東西加上好SEO就會被放到搜尋結果前面，並且不會被困在一個平台裡面。這樣一來，不會把眼界弄小，而是知道這個世界有多大。這樣講有點變態，我會偶爾看看網路上有誰引用文章。因為小破站採用的不是Wordpress架構，自然就沒有引用通知。所以想要知道哪些網站曾經放超連結指向我的Hugo網站，就只能靠Google Search Console和Bing WebMaster Tool紀錄的資訊得知。然後透過這些資訊，我就常常找到一些有趣的niche網站，默默把他們加入我的RSS訂閱列表。\n20250220 對FOSS的rabbit hole越鑽越深，逐漸發現我是站在反多元化的那一方呢。有笑話說，Linux電腦要中毒很難，因為發行版太多了，每個系統的函式庫也不一樣，病毒執行的時候容易顯示no such file or directory。我沒有影響Linux社群的決策權，只是我自己的想法。私以為，與其花時間維護自己的Linux發行版，自行製作所謂「大補帖光碟」，不如集眾人之力，將精力放在「mainstream」和「general-purpose」系統的開發工作上。並呼籲大家遵守XDG標準來做事，不要downstream patch，或是搞distro-specific的hack。Linux有太多發行版了，碎片化嚴重，這是Torvalds也講過的事情，還特別喜歡break userspace。長期下來的開源社群風氣，也導致了許多標準出現，xkcd的漫畫相信大家都看過。一個開源軟體同時會有多種解決方案廝殺，最後靠著社群的認可生存下來。近年來唯一一個確定勝出的例子就是Systemd了，只剩少數發行版還在反抗。我很認同Systemd統一管理系統服務的作法，甚至覺得使用systemd-homed和systemd-nspawn也未有不可。Linux的問題在於選擇過多，如果是軟體多樣化也就算了，但若是牽扯到底層的圖形桌面環境和系統服務也硬要「多元化」，就會讓事情變得很複雜。就Linux發行版來說，我很反感特化發行版的做法。比如中國有修改過的deepin，台灣則是有ezgo。他們說為了國情需要而特別修改，並預載一系列他們覺得你會需要的軟體，bullshit！華國美學的設計破壞了Linux桌面的美學。軟體要裝不會自己裝嗎。與其做這些事情不如去貢獻上游的localization。ㄟ，可就連Ubuntu本身也是修改自Debian並推行修改過的GNOME的系統，他們自己就破壞了上游的東西。如果要追求「純粹」的Linux系統，是不存在的選項，可能就Fedora更符合vanilla軟體的標準。可是對桌面用戶而言，在易用性和名氣，種種考量下，商業公司支持的Ubuntu依然是最佳選擇，起碼Ubuntu LTS只比Debian Stable還不穩定些。在Fedora放棄把用戶當白老鼠養之前我都不會推薦它。雖然Canonical公司常常做一些奇怪決策就是了，也有社群批評Ubuntu不愛upstream，唉。這樣的話大家就專注開發Ubuntu的東西就好了吧。其實我對Ubuntu也有不滿，譬如GNOME真的不如KDE Plasma好用，所以我才會裝Kubuntu而非適應GNOME。我想，就是這種「反叛精神」才會導致Linux社群的碎片化，每個人都有一絲不同的想法的話，自己寫個桌面，乃至創立發行版也就不足為奇了。這就是開源軟體既定的詛咒。永遠不會有讓所有人滿意的方案出現，除非一間公司能像Apple一樣賣信仰，或是Google的Chromebook大量傾銷，逼迫所有人接受整齊劃一的使用者介面。\n20250219 我認為囤積症是會遺傳的，親人有囤積東西的習慣，雖會「整理」但總是塞滿了家裡櫃子的空間才有充實感。然後到我這一代，雖然桌子已經不會塞滿一堆東西，該丟的就丟，只剩以前很迷艦隊Collection時期的過期月曆不知道該怎麼處理，改海報貼在牆上太多張了；50收賣掉？那我花好幾千從日本Amazon訂購的金錢就徹底浪費掉了呀。雖然現實生活我已經很努力控制，有了數位囤積症。大概高中起就有右鍵存圖的習慣，但是不知道要怎整理，不知不覺的就塞滿了手機與電腦硬碟的空間。這種症頭齁，在中國又叫倉鼠症。我曾經多次purge「收藏」，但又故態復萌，所以我知道囤積症是很難好的了。針對這些雞肋的梗圖、美圖、語錄之類的零碎檔案，實在不能用照片管理程式下去管理，單純用資料夾分類又會顯的凌亂。蒐集來的資訊，如果沒有經過整理的話，就是數字雲煙罷了，一般人腦中沒有阿卡夏紀錄的搜尋能力，所以就需要一款標籤為主的軟體來整理，那就是Hydrus Network。\n20250218 若是說，1980年代的後現代主義理論，是對現代主義的批判。現代主義並非特定的派系，而是相信人是理性、科學、絕對真理的一種思潮。後現代主義主張多元，解構以前的權威概念，去中心化，沒有肯定的事情。知識份子與精英份子失去了絕對的地位。關注非主流的邊緣聲音，不遵守主流論述。歷史只是文本檔案，沒有任何真實意義。所以相對不重視歷史文化。後現代是沒有結束的主義。雖是批判，但是都是為了邁向更好的人類未來。人們要研究自身，回歸到自身。總而言之，難怪美國進步左逼那麼多，費拉右則是還在死守五十幾年前的永恆主義那一套。原來「核平中國本身就是一種人道主義 ～ 劉仲敬」和「成為你自己，，，創造你自己，，， ～ 獨人13」這些魔怔人的思維都是出自近代思潮，因為沙特說存在先於本質。存在主義是一種人道主義。人們要對人生的抉擇負責。人本身就是存在的目的，成為你自己。\n20250217 好事：收到別人的餅乾。不知道是籠絡人心，還是提前學習社會化。相處久的同學都會互相請食物，二年前開始就是如此，這教人尷尬卻又滿懷感謝。以前我反過來這樣做給異性，卻是我顯得尷尬了。都已經這個歲數了，還這樣不能祛魅。不管這些事兒了，總之人之間應該是互相的，有時候要主要的回贈才好。即使對方覺得尷尬，或者自身覺得尷尬，但也是要厚臉皮的做，只要確認食物不會造成過敏即可！\n20250216 汪峰 - 彼岸 「我找来找去，我还有希望，我还有力量，可哪儿才是我的彼岸？」即使身陷囹圄，被日常事務，工作或課業壓得喘不過氣來的時候，我們依然有作夢的權利。不需要透過短影音還是社群媒體上的心靈雞湯來告訴人，而是透過自己去體會。絕不能就這樣算了。這個名為荒謬的鬼魂籠罩在潛意識上方，讓我找不到彼岸。大概從國中起，我就有意識的想過我不要花這麼多時間讀書，我會想到今後的時日，都要從早上8：00到晚上9：00，日復一日這樣過下去嗎？身邊的人都這樣，就是對的嗎？遂逐漸接觸哲學，希望人們為何活著的答案能從中找到，而不是宗教經典告訴我。我要閱讀很多書，不是別人強加給我的指定讀本。幾年下來讀了沒有成為哲學家，但倒有一點邏輯思維的啟發。那是我生之慰藉也是死之慰藉。西方哲學發展到現在，宗教已經不是唯一解答，每個人回歸到自己本身，人失去了走下去的信仰，人們的信仰在哪裡呢？是否要加入革命，用安那其還是共產主義推翻資本主義世界，這個目標過大。在這個國家，做夢普遍被認為不現實。先縮小到人本身，改善心態比改善外在要簡單的多。走犬儒主義和實用主義都不行，也不能詭辯說西方哲學思想不適用於大清自有的國情。那麼，最終認識到對抗虛無主義就是正視荒謬，想像西西弗斯是快樂的。如果人們追求太多別人賦予的價值來定義自己，永不可能到達彼岸。具體改變想法的作法如下：到身心科獲取可以一棒子讓我每天安然睡著的藥物。還有理智的時候，自覺使用物理攻擊效果通常不錯。\n20250215 俗話說辭職治百病\u0026hellip;啊不是啦我還沒有要辭現在的工作。但是切換回X11治Wayland百病是真的。Wayland is not ready for me!! 果然還是受不了Fedora，或者說滾動發行版了，從Arch Linux跳Fedora，Redhat系的善意還沒有體會完就體會到設計的問題了。Fedora實在不穩定。我覺得那些說Fedora works for me, rock solid的人大概就跟說Arch Linux is stable一樣輕浮。KDE每次更新都會出現小bug，例如Plasma 6.3，遇到XWayland程式，應用程式啟動器的背景就會出現霧霧的框線 圖片 ，還有滑鼠指標變成X11預設樣子，還有GTK程式滑鼠變超大的問題。此外，核心更新後SDDM莫名無法啟動導致黑螢幕。再加上筆電的風扇驅動依賴EC核心模組驅動，所以風扇速度時慢時快。或許Fedora的GNOME比較能有保證，畢竟這個桌面啥功能都沒有，但KDE Plamsa用滾動發行版屬於還是自找麻煩了。或許很大程度是Wayland造成的問題，但我沒有用Nvidia耶，都KDE 6了還是要切換為X11麼，啊靠北確實如此，雖然動畫卡卡，沒有原生手勢，但everything just works。Fedora本家都這樣了，我們怎能期待Fedora Atomic的表現呢？還是回去用穩定發表的系統吧，rolling distro在你真正想做事的時候就會很惱人。只有Ubuntu LTS和其延伸發行版才是適合正常人的選擇。\n20250213 現在不知道要怎麼處理過多的護身符。DOGE計畫實行下來，我的背包裡面只要留一張就夠了。久違整理買MSI筆電送的包包（這包包雖然大，但是筆電還是好重。光是放iPad肩膀就快斷了），才發現幾年下來，包裡面累積了大概十個以上宮廟提供的護身符，高雄東照山關帝廟招財金，台南南鯤鯓的護身符，台中鎮瀾宮的符咒，新竹市普天宮的符咒，鹿耳門聖母廟的真言，紫南宮的借款，甚至還有台南凌霄寶殿的金幣？真是神仙打架，這可真印了董事長樂團眾神護台灣的意思。每天帶著祂們出門，或許這是我沒有被台灣行人地獄路殺的保庇訣竅。潛移默化中讓我不會被憂鬱症擊垮。Lynyrd Skynyrd唱過，And don\u0026rsquo;t forget, son, there is someone up above，就是上帝！想起以前還會在房間裡面放《地獄遊記》的書籍，告訴自己要行善，Don\u0026rsquo;t be evil。地獄遊記的漫畫內容可真比天堂遊記有趣多了！話說我小時候跟著阿公排隊排好久，拿陳水扁的發財金。到現在則是拿柯文哲的（這下天涯淪落人了），忘記去拿韓國瑜的。賴清德的沒啥興趣，只拿了春聯。去年和今年都有到民眾黨黨部拿發財金，今年雖然是黃國昌當代理黨主席（以後也很可能繼續擔下重責大任），但我依然從主席手上接下了阿北的版本。說來有趣，這些政治性的發財金我都是收在家裡，沒有放到身上。問題是護身符實在太多啦！這些用盒子收起來遲早也有一天要丟掉，反正那早就是競選小物必經的命運了。我看親戚會在汽車後照鏡掛一大串護身符，想想就覺得可怕。有些迷信人士會認為，護身符要經過妥善儀式處理才能丟棄。真想做Toys Story裡面Andy的meme圖的事情\u0026quot;I don\u0026rsquo;t need you anymore\u0026rdquo;。\n20250213 Grub \u0026amp; Systemd, A FOSS Monopoly. Am I the only one that sees Linux Unity as a bad idea? 「你還能有老祖宗聰明？張獻忠.jpg」不願意接受變革，動輒拿「Unix哲學」出來說嘴的人，是該改改了。現在還有人在反Systemd，刻意選擇其他init的發行版，他們堅持的理由「做一件事並做好」隨著時間過去越顯得可笑。同理，推廣到Linux的其他新技術也是一樣，舉凡Wayland、Pipewire、Flatpak等等。這些東西慢慢成為新一代Linux桌面的標準，雖不完美但應保持樂觀。不過依然有很多人不從技術的角度去批評這些東西的進展，反之以嘲諷辱罵（想想4chan /g/鄉民的rant口氣就知道了），認為一切都是RedHat統治世界的陰謀。有人甚至成立了一個 flatkill.org 網站來攻擊Flatpak。正如死命堅持DRM是壞東西的社會運動家一般，情緒性的說我反對！但是提不出更好的解決方案（例如搞個LibreDRM之類的），就只是瞎反對。雖然開源社區的fragmentation長期以來是Linux發行版的基因，有些用戶也刻意愛與眾不同的推廣一些詭異的發行版，甚至單純為了不一樣而宣稱要有多元性，但是有些東西還是應該要標準化較好。這方案不會所有人都滿意，但至少結果不會太壞。\n20250213 【音樂欣賞】忘了是Youtube還是Spotify隨機推薦給我的，New Radicals這個樂團好棒，可惜只出過一張1998年的專輯《Maybe You\u0026rsquo;ve Been Brainwashed Too》，這張專輯裡面最好的歌曲就是〈I Don’t Wanna Die Anymore〉和〈You Get What You Give〉，都是勵志歌曲，You\u0026rsquo;ve got the music in you. Don\u0026rsquo;t give up. You\u0026rsquo;ve got a reason to live. 主唱的風格是grunge吧？專輯中的旋律充滿一種頹廢慵懶的狀態，聽來雖然吵鬧，可是又好好聽，真摯的怒吼，即使唱到破音也不損這張專輯的優秀。加上這種封面設計，真有讓人回到2000年代初期的感覺。\n20250212 Why do most Educational Games Suck? - ConnectingToGame 試論這個命題是否正確：凡是以教育為目的下去設計的遊戲，都是不好玩的遊戲。這篇文章說得很對，許多以教育為名下去設計的遊戲都爛透了，不過是美化過的教材罷了。限制玩家的選擇，玩過一次之後就不會想再玩。缺乏人力和設計師也是個因素，到頭來這些教育遊戲基本是用來騙經費、水論文的。只有少部份教育遊戲能取得成功吧！比如文章中列出的The Oregon Trail，還有富爸爸的現金流桌遊。比較實務的作法，可能還是從專門的遊戲改造成為教材比較好，譬如玩文明戰略遊戲學歷史會學更快吧，玩Minecraft紅石電路學邏輯也不賴（我倒是透過寫模組學會程式語言和架Linux伺服器）。所謂玩遊戲學習的最高境界，就是讓人不知道自己有在學習，但是學會了東西。小孩子可以用肢體遊戲，讓身體記住感覺（怎麼感覺有點色色的），大一點的孩子又該怎麼辦呢？填鴨式不行，創新式教法又很難兼顧差異化教學。我知道了，玩政治！政治入腦的人會自動去研讀相關理論，學政客合理化自己的騙術，只要老師再用辯論課程加以箝制魔怔發言，這樣學超快。\n20250212 Why is Spotify better than Apple Music? Spotify does the whole “social media inside a media player” thing much better. Easier to find information about artists, easier to discover new artists, tour dates, merch. Apple Music is very sterile. It’s very good for the casual “I want driving music” audience but it’s not for music enthusiasts, imo 哇，沒有串流音樂服務怎麼活啊，嘗試退訂Spotify不到一個月就跳回來了，Youtube根本滿足不了，現在也很少會刻意去下載FLAC了，還是串流方便。突然想起還有學生方案能用，每個月一個便當的錢，便宜啦。真的佩服能用得下去Youtube聽歌的人，網頁找歌本身就是很容易分析的設計，因為容易看到網紅的影片。難道那些人看三個小時的「抖音好聽歌曲串燒」的影片就能滿足了嗎？就算用擋廣告的客戶端還是不適合聽音樂。更別說Youtube Music了，萬年爛界面也不改，想聽專輯卻總是跳出MV，我想沒廣告的Premium也不會好到哪裡去，真的除了方便以外全面劣於其他家的串流服務。相較於Apple Music，Spotfiy開放API，又願意支援Linux客戶端，是我願意支持的因素。這就得談到另一個話題，蠻佩服Spotfiy免費仔，寧願找破解版也不要花錢。如果不買Premium的話，Spotify不就跟Youtube差不多了嗎。只能聽單曲，還要忍受廣告，對速食用戶或許足夠，但是我還是喜歡以專輯為單位下去找歌呀，這樣才能發掘藝術家背後的靈魂，品味概念專輯背後的故事。\n20250211 🦊 Firefox AI Chatbot Sidebar - Open WebUI Documentation Mozilla老是被駭客社群批評不務正業，包括最近跟上AI熱潮推出的內建聊天機器人服務。不知道為什麼各大瀏覽器都要加入聊天機器人，Firefox當然也不意外，甚至自己投資了一款Orbit聊天機器人，為市面上少數跟Apple一樣強調隱私的LLM。I\u0026rsquo;m reading a lot of criticism here, some I understand, but honestly, this sounds pretty good for a free LLM service: Orbit doesn\u0026rsquo;t require account creation or save your session data. 現在Firefox的聊天機器人還在測試版，要手動開啟才會出現。除了連接ChatGPT之外，居然還支援連接本機模型。這個選項藏在about:config裡面，設定好端點之後，按Ctrl＋B就能連線到自架的Open WebUI了。玩了一下，Firefox內建的提示詞preset還不賴，都是針對用戶考慮的功能，譬如「解釋選中的文字」「小測驗」「檢查拼寫」，會直接將選中的文本作為提示詞傳到聊天機器人的畫面。Grammarly的擴充套件終於要失業了嗎。Open WebUI未來應該也能用來轉錄Youtube的CC字幕吧。我能想到的應用大概是\u0026hellip;在逛購物網站的時候，用Firefox選中網頁內的文字，然後傳給Open WebUI進行搜尋，接著做RAG，整理出更便宜的商品方案\u0026hellip;屁啦，你當比價網是塑膠嗎？\n20250211 利用.gguf格式的Stable Diffusion模型，降低ComfyUI的VRAM佔用。ComfyUI使用的生圖模型大部份都是以.safetensors格式發布的，它很吃GPU VRAM。.gguf格式可以改善此問題，讓CPU參與運算，降低GPU的VRAM佔用。.gguf的模型多半是有經過量化的，品質可能會比原本的低一些，但相對的硬體要求就不會那麼高。目前只有Stable Diffusion 3.5和FLUX.1有提供.gguf模型，Stable Diffusion 1.5和Stable Diffusion XL模型較少，可能要自行轉檔。Why aren\u0026rsquo;t there quantization models for SDXL? 根據Reddit用戶的說法，FLUX.1使用量化過的模型，圖片品質還行。但如果用Q8以下的SDXL模型，品質就會變得很糟。這樣看來Stable Diffusion XL以前的模型是大多數消費級顯示卡勉強能負荷的，沒有必要量化。後來的模型越來越大，就必須量化減少佔用了。蠻感謝Reddit上面的友善互動的，這個sub每幾個月就會有人來問out of loop的問題，想了解SD的最新發展，然後就會有好心人回答。SDXL came out, was hated at first, but as fine-tunes matured, became more loved. 根據這篇回覆，Stability AI把自己玩死了，FLUX.1在真人生成領域暴打SD3，而動漫風模型卻是得靠SDXL微調的PonyDiffusion撐下去。這個模型的老兄還蠻屌的，手動標注，清洗資料來訓練圖片，比不知道融合哪些訓練資材的模型要高哪裡去了。\nStability AI這間公司的權力內鬥比OpenAI還慘呀，後者的CEO比較厚臉皮，還有辦法在繼續虧損的情況下募到錢。因為它是閉源技術吧，go closed-source when you want to dominate the market. 做開源技術的除了贏得名聲之外確實很難賺到錢，競爭對手隨時會推出更好的菜，讓人寧願prompt被和諧也要為了方便去用大公司的雲端服務。SD光靠集體無意識的網友的支撐應該是很難發展下去的，只能期望FLUX接手發展。這波AI發展下來，最賺錢的還是賣鏟子的人，包括GPU供應商和雲端服務供應商。然後，雖然很不道德，而且我看不順眼這種人，但確實有人用AI生圖和ChatGPT生成的內容大賺特賺好久了\u0026hellip;靠資訊差賺錢的人一直都有，先是內容農場，然後是生成式AI。知乎有篇討論說過，為什麼知識唾手可得了社會還是沒有變好？互联网已经将绝大部分信息差抹除了，知识已经随处可以获得，为何大部分人依旧无法获得大幅突破？ 雜音太多是個因素，人們本身的閱聽水準也有待提高，不然為什麼社會階級還是存在呢。碎片化學習讓人好像懂了很多，但是又容易因為資訊量太大而過載。到頭來，還是看體系化的書本好。\n20250210 圖片 Sony防水手機的正確使用方式。除了能帶著手機洗澡之外，還可以跟著手機一起洗澡。看\u0026hellip;看哪，都有人跟著iPad裡的二次元人物吃晚餐了，那玩到浴缸裡面也沒有錯吧（X）錯誤示範：使用清潔劑可能會導致防水塗料損失。水蒸氣也可能造成電路損壞。\n20250210 余最近覺得Linux筆電好卡\u0026hellip;明明沒做什麼事情？power-profiles-daemon introduced an unconditional change in 0.21 that significantly reduces performance 從這篇來看，跟這幾個月下來的觀察基本符合。Linux各發行版常用的電源管理程式Power Profile Daemon（Fedora已經換成TuneD）在0.21版後將電源的平衡設定檔改為更保守，為的是省電。結果就是不論有無插上電源，開啟平衡設定檔就會卡頓，要切換到效能設定檔才會恢復順暢。這種卡的程度大概就比瘋狂CPU降頻的省電設定檔要輕微一點而已，這樣可說是會大大影響使用者體驗呀，畢竟GNOME和KDE Plasma都有華麗的轉場動畫，這樣的改動讓系統看起來就是頓ㄉㄟ。或許用XFCE的老派用戶看不出來就是了！余是懶得折騰省電模式設定檔的用戶，TLP太複雜了學不來，那就學著習慣新模式吧！值得慶幸的是配合EnvyControl關閉Nvidia獨顯的作用下，筆電估算的續航力比過往增加了大約一小時。如果說要改正Power Profiles Daemon的行為\u0026hellip;well這個得去改C原始碼然後重新編譯。而TuneD比較寬鬆，它可以選取設定檔，來微調電源管理程式的行為。只要將/usr/lib/tuned的檔案複製出來，自行修改，就能將平衡模式改為偏向效能的模式了，參考RedHat手冊：Chapter 1. Getting started with TuneD\n20250209 Oracle Cloud是不是太多中國人去薅ARM伺服器的羊毛了，VISA卡怎麼都註冊不了。搞笑的是我改去註冊Linode也被拒絕，現在用種花IP那麼危險的嗎。再也不敢把靜態網站笨笨的放AWS了。2023年的時候，因為擔心Imgur的新政策亂砍圖片，我逐漸改用自己host網站的圖片資源。導致Hugo網站流量暴增，原本只給100GB流量的Netlify逐漸不敷使用了，超過的流量每個月每1TB要多收20美元。然後我不知怎的做出了謎之操作，轉移到AWS S3，然後用上Cloudfront，結果噴更多錢了。試算下來靜態網站放AWS根本不敷成本。經過這場鬧劇後，發覺新手果然還不適合使用AWS。找到Cloudflare Pages後，這問題就解決了，真的是賽博菩薩。暫時不煩惱流量，Cloudflare宣稱流量無上限，但應該是閾值很高，需要存放大量圖片的時候，Cloudflare也有提供object storage，收費閾值同樣很高，一般用戶根本用不完的程度。但可惜的是Cloudflare賣的好像都是serverless服務，一時之間找不到AWS EC2的對標產品。對想要跑一些self-hosted服務，架設網站測試，或是租用GPU的用戶就不太方便。找純CPU的虛擬主機有很多選擇，GPU現在更是血流成河，不如就直接用Google Colab吧！\n20250209\t突然想到的對話。木匠兄妹(1981)：Touch me when we are dancing! 岡瑟(2004)：YOU TOUCH MY TRALALA! Smosh(2013)：And fill her full with lots of Dixon Cider. 史密斯飛船(1998)：I don\u0026rsquo;t wanna miss a thing! 電台司令(1997)：Karma police, arrest this man. 辛蒂·羅波(1983)：Girls just wanna have fun now. 披頭四(1968)： Why don\u0026rsquo;t we do it in the road? 薇拉·琳恩(1939)：We will meet again, some sunny day. 阿巴合唱團(1981)：There\u0026rsquo;s no hurry anymore when all is said and done.\n20250209 電腦王阿達 - NCC 向所有國外網購具有射頻功能的 3C 產品酌收檢驗費是否合理？ 難得會這麼同意這些陝西達人的論點，感謝科技KOL願意出來發聲，NCC的預算疑似還是砍少了。\n20250208 正式宣佈GNOME被KDE Plasma打趴了（不是本來就是了麼？除了穩定性以外）KDE原本只有虛擬桌面(virtual desktop)，對應的是GNOME工作區(workspace)的概念，方便使用者區分不同性質的任務，不要讓一個螢幕上太多視窗重疊在一起。過去KDE Plasma虛擬桌面要手動點選工作列切換，不夠直覺。KDE Plasma 5加入的左上角熱角(hot corner)功能，滑鼠移過去便會列出所有視窗，被人認為是抄GNOME的活動(Activities)頁面。接著KDE Plasma 6在這個畫面加入了顯示虛擬桌面縮圖的功能，使用者可以拖拉視窗，將其移動到另一個虛擬桌面。所以現在KDE Plasma不只自訂性超越GNOME，連GNOME原本操作流程都抄過來了。KDE Plasma依然保持尊重使用者的態度，你不喜歡熱角功能就關掉不要用。另外，KDE Plasma有一個叫做活動(Activities)的功能，可能比較少人知道，要按Super + Q鍵才會跳出來。活動的功能類似虛擬桌面，但它能夠自訂桌布樣式，且更像是新登入一個工作階段的操作。\n20250208 感覺被詐騙的一堂通識課。以前在屏東大學修過一堂世界文化史的課程，學期有一半都在聽講座寫心得，那些講座範圍太廣了對非社會學系的人是難以吸收的，總覺得有些無趣。我想到大一修過另一個社會學的通識，還在玩世界咖啡館呢\u0026hellip;非本科系的人真的難以理解這些活動的意義。剩下時間便是在分組報告書目上面了，教授真正講課的時間不到學期三分之一。這該說是學習外國授課模式呢，鼓勵學生自主思考再提問題，還是真的太混。不過這門課確實給了我一些啟發方向，讓我對「宏大敘事」的名詞有了粗淺認識，歐美國家自認他們的文化起源於古希臘，跟中國不一樣。當時是疫情期間，教授便一直在講中國崛起的議題，還有中國與歐美國家防疫思想的差異，比如集體與個人自由哪個比較重要之類的。我從報告的書目中得知了很多近代以來有趣的人文政史書籍，包括《社會的麥當勞化》、《維梅爾的帽子：從一幅畫看十七世紀全球貿易》、《歷史之終結與最後之人》、《文明衝突論》，真正意義上拓寬我的視野。所以其實修這些通識不算完全沒用的，人生的某些時刻知識就會派上用場。大一的時候修過歷史學導論，跟老師分享了我一些二戰日軍轟炸機的研究結果（結果對方是明史專業==），看看行文可不可以，他還真的給了我一些意見，搞得我好像是他的研究生一樣！從他的史學研究方法書單，我也認識了《槍炮、病菌與鋼鐵》這本書。\n20250208\n大麻合法化好嗎？大麻爭議性與相關刑罰讓律師解釋給你聽！ - 法律010 煙、酒、咖啡是合法的毒品吧，有些支持大麻合法化的人會這樣宣稱，然後把這些產品的製造商跟資本主義連結在一起，認為都是商人遊說政府，才能維持他們的利益。娛樂性藥物總被污名化。不得不說這些毒蟲的腦子真的有些有問題的了，嬉皮究竟是大智慧還是大瘋癲。起碼講這個論述的時候得拿出大麻成癮性最低的那張表格出來吧。\n20250206 2022年生成式AI爆發以來，我就把GPU全速拿去跑AI相關工具了，包括LLaMA語言模型和Stable Diffusion，研究Self-hosted工具鏈在Linux上的組合，下載的模型資料量都超過GTA的容量了還樂此不疲，比打遊戲還好玩。以前我不懂別人說GPU挖礦有多好玩，現在我知道這種感覺了，偶爾對技術厭倦了，休息個幾個月回來又有更多新玩具可以玩。下面這個梗八成已經有人想到了。阿嬤：阿偉你又在用GPU跑AI喔，休息一下好不好，去打個電動好不好？阿偉：煩餒。阿嬤：我才講幾句你就說我煩，我只希望你能好好用GPU玩遊戲，整天只看到你在用GPU生H圖！阿偉：齁都是妳啦，OOM了，拜託。只要以後技術持續進步優化，對GPU要求或許也不會再那麼高檔了。\n20250205 每年都有新興的通訊軟體冒出來是好的事，為什麼人們總愛用FaceTime和Line把自己綁住呢。但我總覺得這「又」是第幾個替代通訊軟體了\u0026hellip;Signal、Matrix這些軟體缺乏商業行銷技巧，就算你程式架構上很創新又怎樣，只能吸引到看中這個價值的技術用戶，比如習慣用IRC的開源軟體貢獻者。因為單純講去中心化不夠吸引人的，就像Mastodon為什麼做不起來，人們需要跨裝置存取資訊，自動同步，跨平台，還有可愛的貼圖功能，然後商業化吃相不能太難看。一般用戶不是暗網的批發商，或是主張推翻政府的軍事組織，用過份注重隱私的通訊軟體意義不是很大。綜合考量下，Telegram做的最好，公司老闆即使被封殺也要挺言論自由，雖然它只有客戶端是開源的。在商業化的通訊軟體世界，跟Discord、Messenger、Line之流的比起來，Telegram根本清流好不好！較年輕的開源軟體貢獻者「或許」也比較能接受用Telegram通訊吧。Telegram要求電話號碼註冊過份嗎？其實也還好。根據中國反賊圈的消息，用+86號碼註冊鐵鐵被國安拉清單，所以會建議用Google Voice虛擬號碼或者可拋棄式的簡訊服務，只要一部裝置登入過之後應該就不用再靠簡訊驗證了。雖然講這些，但可能是Telegram在地化經營不力，台灣還是比較少人正經的看待Telegram，Discord的行銷比較容易吸引年輕用戶麼？大家好像都把Telegram當成老司機群組使用，這是很可惜的地方。儘管Telegram在工作專業用途比不過Slack，但要用於一般通訊還是很合適的。以前我對外國網站不熟悉的時候，也是專門把Reddit和Twitter當黃網在看的，正如一些中國人講的：翻牆看黃不是來看政治的，又有人說：翻牆還愛黨，必是狗娘養。但是有點英語能力之後就發現這個世界很大，侷限在這種認知之下會錯過很多東西。\n20250205 私人與工作的手機應該分開嗎？如果就是只有一支手機該怎辦？不知道為什麼Android版的Google Chrome要做的跟Andorid系統融為一體的設計。沒辦法像電腦版一樣切換多個設定檔，同步不同帳號的書籤。我用的是偏原生的Android系統，目前要解決這問題，除了裝其他瀏覽器APP以外，應該就是開啟Android的「工作資料夾」功能了。利用這個原理可以達成無Root雙開APP，允許同時開啟兩個Line的帳號，兩邊資料預設不互通，但可以傳檔。但即使是使用原生系統的Android機，也不見得會開啟這功能，就比如Sony，好的不學，bug全移植。工作資料夾的功能是隱藏的。此時用Shelter APP就可以將這個功能強制開啟。順帶一提，Android系統很久以前就有多重帳號的功能，不過這個是整個帳號隔離（想想Linux的多重使用者），可是要設定的東西太多了。而工作設定檔比較handy，不用登出就能夠開啟另外一個隔離過的APP。如果真的要逼我拿兩支手機，還要裝MDM，那麼工作機應該選iPhone，因為高壓統治的作業系統正好適合給愛高壓監控的公司控管。Android主力機留著自用就好，少干擾咱的清靜園！永恆草莓園\u0026hellip;\u0026hellip;The Beatles - Strawberry Fields Forever\n20250205 只要一張圖片就能轉成3D模型。Trellis AI可以從單張圖片生成全方位的3D模型，例如glb檔案，這樣就能放到Blender裡面進行後續編輯。覺得蠻神奇的，究竟是怎麼猜到物體的絕對樣子的。我的大頭貼是我自己用Blockbench捏的3D模型，實際丟上去實測，Trellis大致猜到了飛機樣子，雖然噴火式根本不是後掠翼就是了，細節也糊成一片，需要再修改。不過這樣已經很厲害了！我以前朝思暮想的用Qclone APP掃描實體物件再建模的想法，終於能實現了。更進階的用法：把AI生圖的結果轉成3D模型，這樣要做人設就更方便了？生成三視圖跟3D模型哪個麻煩呢？除了安裝原作者釋出的WebUI之外，Trellis也可以用ComfyUI處理。但，這個VRAM要求需要16GB以上呀\u0026hellip;\u0026hellip;可以先用online demo玩玩看。 microsoft/Structured 3D Latents for Scalable and Versatile 3D Generation\n20250204 論Linux我常常玩的大型遊戲，除了GTA V和Minecraft以外，大概就戰爭雷霆(War Thunder)了。這是少數原生支援Linux的線上遊戲，不用透過Steam Proton轉譯。以前還在用Windows的操作習慣，換到Linux後無縫接軌。這款遊戲有自由開飛機的功能，儘管我沒有辦法再像以前Windows 10時代打的天荒地暗（玩到面紅耳赤，像國動打LOL邊玩邊噴的那種（話說LOL到底哪裡好玩，從國中到現在都不太懂樂趣何在，傳說對決也沒啥興致），現在是佛系玩家，輸了就算了），不打match，依然能享受開飛機的樂趣，WT有真實的物理運算效果，操作難度不高，算是模擬飛行遊戲中的平衡。\n20250204 世界越快，心則慢。一部Linux電腦要如何安裝多重Python版本？不論是在Ubuntu，還是Fedora，抑或是Arch Linux，這問題都困擾著。要使用系統套件管理員安裝的Python嗎？這個Python版本是會跟著系統更新的。滾動發行版的Python很容易跳到最新版，致使pip install套件不相容；反過來說，LTS系統則是會有Python版本過舊的問題。世界過得太快了！Python版本應該要慢一些。理想情況下，Linux發行版應該把Python工具都盡可能打包到套件庫（正如Arch所做的那樣）不要依賴pip安裝，但這是不可能的。這時就要有一個管理多重Python版本的工具，一個資料夾一個Python版本，建立虛擬環境，與系統的Python隔離。我不加野生的PPA套件庫來安裝多重版本Python，擔心break系統依賴，而且符號連結的做法很醜。也不必用到Docker，而是透過Anaconda解決：Anaconda能與bash整合。就算是執行shell script，也能夠透過eval函數啟用conda環境，執行裡面的Python程式。我SD ComfyUI就是這樣裝的。\n20250203 看到node_modules依賴資料夾，好似望向黑洞\u0026hellip;\u0026hellip;明明local git repo的現世如此短暫，重新clone後一切都會灰飛煙滅，但我依然想播放1970年代太空組曲：聽到木匠兄妹的外星人消息 Carpenters - Calling Occupants Of Interplanetary Craft，成為艾爾頓·強的火箭人 Elton John - Rocket Man，搭上大衛·鮑伊的太空船，最後迷失在太空 David Bowie – Space Oddity，聽著平克·佛洛伊德的迴音，找到史丹利·庫柏力克，成為宇宙的一份子 Pink Floyd - Echoes \u0026amp; 2001 A Space Odyssey\n20250203 突然想到EnvyControl好像能夠用來切斷Nvidia驅動的連結。把國家\u0026hellip;額不是，把Nvidia GPU的自主權，還給你！玩KVM GPU直通給Guest的時候，Ubuntu會出很多問題。Arch Linux不用解除安裝Nvidia驅動，只要禁止載入kernel module，就能讓將GPU的pci裝置綁定給vfio載入。這樣做的好處是開關GPU直通的時候比較好處理，只要改幾個檔案Nvidia就會返回Host了。但是Ubuntu會有一個nvidia-persistenced服務一直嘗試載入，還有udev規則，要處理很麻煩，還不如直接刪掉。但這樣Nvidia GPU還給Host的時候又得重裝驅動。如果有裝CUDA的話又更麻煩了。這個時候EnvyControl處理的邏輯好像就能迴避以上問題耶，它會自動加入黑名單，並停用Nvidia服務！構想類似uwzis/GPU-Passthrough-Manager 喔對了，對於常常在Host與Guest之間切換Nvidia GPU的用戶來說，用Nvidia Container Toolkit將CUDA容器化能夠解決依賴Host的CUDA版本的問題。當然這是在解除安裝Nvidia驅動，又不想重新安裝CUDA環境的前提下的設定。\n20250202 進入壯世代的老電腦裝Linux真是延年益壽的好選擇。Shout-out to the Linux developers! 很感謝Linux系統讓我LGA1151腳位的ASUS桌機能撐過第七個年頭。這幾年來除了添購硬碟和加RAM之外，硬體沒有太大變化。換句話說這個Intel I5-7400 + Nvidia GTX1050Ti的配置已經連續運轉了7年了！現在看來這個硬體算是中低階了，最新的大型遊戲沒辦法開最高畫質，剪輯4K以下影片還湊合，跑AI計算只能選小的模型跑。LGA1151腳位已經沒救了，嚴格來說應該整台淘汰換新，不過既然Linux能續命那就繼續用。話說，我還有一台LGA775腳位的老電腦，撐了10年，安裝Linux後順暢無比。但是它最後主機板整個壞掉開不了機了我就放棄修理了。我覺得現在這台就會用到那個程度吧。Linux解決了Window佔用的多餘效能，讓人能夠善用剩餘價值，這個配置搭配Docker同時跑好幾個Self-hosted服務是足夠的，玩伺服器難道不比玩遊戲有趣麼？大部分時候不需要關機重啟。系統部分是沒有撐過七年啦，這台電腦剛買的前三年是安裝Windows 10。用Rufus繞過Windows 11的TPM需求，但是我的電腦硬體似乎跟不太上了，畫面卡卡。恰逢2022年全面換成Linux，我也拋棄了Windows 11，之後經歷過distro-hopping的創世滅亡輪迴，到2024年才安定下來，回到純白的起點：Ubuntu。KDE桌面操作起來很順暢。如果要比喻的話，這台電腦應該是德軍的Bf-109，我2021年新買的中階筆電則是Fw-190。都是穩固工作的軍馬。\n20250202 YouTube總算加入回查專輯的功能了，在一般影片或者YouTube Music影片下方都會顯示一個音樂資訊的區塊，點選裡面的藍字就能進入專輯的播放清單。這代表沒有必要依賴YouTube Music的神奇操作來找音樂了。但願他們能再加把勁，直接導向純音樂專輯，不是混入吵雜MV的播放清單！等到那個時候，我就沒有用NewPipe的理由了哪，它指定只列出YouTube Music結果的優勢將會消失，且又常常因為YouTube改API而導致播放影片出錯。這樣下去的話我不如用（道德上良心比較不安）的YouTube ReVanced。\n20250201 Simon \u0026amp; Garfunkel - The Sound of Silence Hello darkness my old friend. I\u0026rsquo;ve come to talk with you again. And the people bowed and prayed, to the neon god they made. 越來越多人把AI當成萬能的神了，問問題不先Google搜尋，而是直接問ChatGPT\u0026hellip;儘管這不是它本來的功用，網頁搜尋應該還是Perplexity比較強。以前人們要爬文做功課，現在都交給AI了是吧。年輕人不說「我Google一下」？Z世代更愛用2款App找答案 - 商業周刊 就跟依賴特定社群媒體搜尋資料一樣，人們寧願把資訊自主權雙手奉上給演算法了，不願意自主思考，這是個警訊。此外，有人利用LLM的提示詞功能讓AI扮演各種角色，聊的不亦樂乎。我看Google Play下方留言都有一堆人說ChatGPT是我最好最知心的朋友，這不是一種文明病呢\u0026hellip;這是我真的這麼用的時候得出的結論。曹格 - 寂寞先生 人們實在太寂寞了。因為ChatGPT有道德觀念的因素，它或許能比諮商師更包容人們的想法，還能取代高額的諮商費用，但是這也會把自己關在粉紅泡泡裡面，不知道何為真實。也許在接住我的情緒之外，我應該要設定讓AI更頑皮一些，讓它懂得挑戰我的想法並給出建設性意見，不要只會當奶媽。否則當機器人像手機一樣普及之後，人們都要因為性愛機器人而絕育了。\n20250131 程世嘉：AI又好、又快、又便宜的時代來了 對新技術瞎吹捧和瞎詆毀都是不理性的表現，為什麼就不能客觀的看待這個技術的益處呢。沒有「一張梗圖解釋XXX」的方式就無法理解了是不是。DeepSeek一出，中國官媒就開始吹噓超英趕美，拜託哪有那麼誇張；另一方面，則是台灣各種非相關科系的人就第一時間跳出來貶低了，甚至只能拿關鍵字審查來說嘴。老實說，我看館長講DeepSeek技術一整個尷尬，就是真外行人在吹捧，連這個軟體的名字都不會唸還能評論\u0026hellip;剛好跟Threads上面外行人（如青鳥）的瞎抹黑形成鮮明對比，他們就整天拿8964說嘴，再用中國愛搞瓦房店的概念全盤否定，對技術方面沒有一絲毫的討論。我覺得這個模組最大的特色就是降低訓練成本，還有讓AI民主化更進一步了。對台灣來說，新技術能讓人用更低廉成本訓練LLM，這樣有望改善以前TAIDE專案依賴微調LLaMA的作法。開源軟體本來就是建基在他人成果上研發，不能概括為抄襲。而他們在訓練方法上做出了改進，從學術上來說是個值得稱讚的成就。至於搞「蒸餾」得到的資料來源適當不適當，那就交給律師去解決。話說美國公司未來如果因為政府壓力，不想讓其他國家學走技術而被迫放棄開源，我覺得是蠻可惜的一件事，Linux Kernel把俄羅斯開發者踢出去已經是一個預警了。有些人好像把DeepSeek網頁和模型本身搞混了，兩個可以視為不同的東西。若關鍵字審查是加在伺服端的，那麼下載模型再修改就有望繞過審查。對會蒐集資料的服務當一視同仁，你認為DeepSeek伺服器會蒐集使用者資料，那麼也不要用會蒐集使用者資料的ChatGPT。你認為資料不該給習大大看，那麼給FBI看就可以？套用到抖音和Youtube也是這樣吧，雖然我不喜歡抖音，真他媽的智障平台，但是因為它是中國企業就禁掉，這是迫害言論自由，參考電子前哨基金會的聲明：EFF Statement on U.S. Supreme Court\u0026rsquo;s Decision to Uphold TikTok Ban，他們認為與其用隱私當理由禁掉抖音，不如制定保護消費者隱私的法案要好。美國政府在非重要軍事機密的的地方也禁掉抖音，根本沒道理。如果要規避DeekSeek網頁蒐集資料，最好的方法是將開源版的模型下載到本機部署。\n20250131 蔡正元涉三中案一審宣判 業務侵占罪判3年6個月 - 中央社 看看三中案，就知道蔡正元為什麼最近要跳出來聲援柯文哲了，因為他跟邱毅一樣都認為自己遭到司法迫害，能夠同理的緣故吧。就像柯文哲被北檢認為自己侵吞自己的政治獻金一樣，他認為自己主觀上沒有侵佔別人公司的錢，也沒有受害者，但卻是被民進黨用法律規定下去告發了。Re: [討論] 馬英九為什麼能全身而退？沒人幫柯文哲頂罪 - 看板HatePolitics 簡單來說，這叫做被抓到把柄，不能主張不知者無罪，因為法律就是這樣規定的，柯文哲就算真的沒貪污，但也難逃政治獻金相關的指控了。結果這波操作下來，馬英九沒被搞死，卻是蔡正元出面頂罪。這件事還沒定讞，所以他還能在外面趴趴走。\n20250130 考慮到未來AI運算需求，我應該還是繼續買搭載Nvidia GPU的x86電腦。嘗聞Mac mini性價比高，可是不考慮Mac電腦的原因是無法跑Linux。macOS雖然支援Pytorch技術，但那是在macOS底下才能充分利用硬體資源加速，現階段的Asashi Linux辦不到。如果從底層驅動到應用程式API都是靠Apple施捨才能跑起Pytorch，那麼未來Asahi Linux系統要支援的可能性就真的微乎其微了，CPU硬算的速度是比不上硬體加速的。相對來說，搭載Nvidia GPU的電腦，能夠安裝Linux與Windows，甚至FreeBSD系統，這份硬體的威力並不會限於一個封閉的作業系統之中，而是能夠自由的存取。Linux的環境又比Windows有些微的開發優勢。要我用WSL是不可能的，為什麼要把企鵝關在不自由的環境。雖然Nvidia驅動對Linux Desktop不友善（彷彿只有Ubuntu是親兒子），我也沒有太多的理由去買AMD GPU，因為我對玩遊戲的重視程度沒有Nvidia CUDA帶來的誘因大。天選的組合大概就是AMD強力內顯 + Nvidia GPU的電腦吧？\n20250129 原來是硬體問題，害我以為樹莓派韌體壞掉了，喵的debug了那麼久買一條新的轉接頭就解決了。長期以來都是使用microHDMI轉HDMI母頭來輸出螢幕畫面，結果最近螢幕解析度上不去，甚至沒有畫面。我一度懷疑是系統問題，抑或是安裝太多發行版導致韌體也跟著壞了？後來看到插上螢幕出現的訊息偶然發現，原來這個轉接頭會將HDMI變成DVI訊號輸出！？這時才想到可能是硬體問題吧。新買的線總算正常了，訊號源也保持為HDMI。\n20250128 汪峰 -《河流》- 為什麼不再快樂點，不是只有革命才能得到拯救，再微笑一些再渺小一些，再去他妈一些就会很满足 神蛆没落记。那时神蛆还很年轻，在一个著名的神蛆大本营和其它神蛆打得火热。一个饭局上，某个亲戚开了一个自己孩子刚在大城市买了房的话头，大家投去羡慕的目光，神蛆不以为意，身边一个亲戚似乎注意到了，语重心长地对他说，人是需要一个住宿的，这样才会有归属感。神蛆立刻在心里加之嘲讽，对亲戚仍疲乏于浅薄的生存困境暗暗嗤笑，对他不了解墙外大本营的先进理念感到可怜，这种想法在那里会收到像当今世界对待纳粹旗一样的态度。但是，可悲地，有那么一霎那，事情并没如意料般进行，一些不那么清晰的画面闪烁进他头里，入夜时万千家庭（不知为何，其中多是来自他嫉妒已久的同学的面孔）在高层住宅的灯光下温馨的聚在一起，而其间无一能够接纳形单影只的他。亲戚还在就话题说着什么，但他已无心听了，他带着试探地想，在那个年纪，我的勇气是否还能坚定下去呢，人是会变的，也许这份意志在那时的处境就会显得可笑了。之后的几年时间过得很快。在愈加惨淡的经济背景下，既没有积极内卷的觉悟，也缺乏适时谄媚的本领，更没有可以帮衬的关系，简言之，没有在任何方面得势的能力，神蛆的工资几乎仍维持在当年初入社会的水平。同学凭借着父母给的首付在一线城市的三环外买了一处住宅房，朋友圈发布的家庭出游照片似乎也标示着生活在稳步向前。但神蛆不后悔，他常常回想起对亲戚的话的鄙夷态度来驱逐偶尔萌芽的天真想法，对一个房子是美好生活开端的观点嗤之以鼻，为同龄人早早背上后半生给共产党卖苦力的债务暗暗发笑。当年熟识的神蛆们也过上了兢兢业业、早出晚归的生活，在网上也很少建政了，只是偶尔在微信给他转发某个时事的新闻，带上两句阴阳怪气的评论，但这样做也显得可有可无，似乎只是在维持某个旧有身份的联系。时间又快进很多，多年后，神蛆孤身躺在病床上，护士给他做了例行的检查，挂上和昨天一样的液体瓶后便离开了。在那么一阵多年来一直的恍惚感觉中神蛆突然清晰了片刻，在他的想象里他未曾见面的孙辈趴在床头，询问有关他一生的故事。我该怎么回答呢，我这一生究竟为了什么活着呢，他喉头深处蠕动了一下，我是个神蛆！他骄傲地想，我是个同龄人还在昏沉度日时就觉醒了的神蛆！我的远见使我规避了洼地社会畸形观念带来的损失，我\u0026hellip; 当他想要再补充什么时，突然有些惊慌的发现，自己竟过着一无所有的生活！曾经持之以恒的信念也变得模糊起来，一股强烈的不确定在撼动他的意志。自由、民主、人权\u0026hellip;这些词汇变成了比字面意义还单薄的形体，而他曾经的一切想法都根植于其上。他怔怔地盯着天花板，一股真切的颓然感从头袭来。很久，病房里传来喃喃的声音，说来惭愧，曾经咱也是那种蛆的一员\u0026hellip;\n20250128 雖然黃國昌走了，其實我基本上還是很尊重時代力量的，裡面還是有想追求公平正義的民代，只是不喜歡他們高層整天嘴民眾黨。縱使是基進黨和統促黨 —— 剛好兩個極端 —— 就算他們有各種申必言論，至少基本尊重台灣還有不同的政黨聲音吧，那句話怎麼說的\u0026hellip;馬英九：我把你們當人看.3gp。另一方面我看到有些深綠人士（例如James Hsieh這種咖）的發文就覺得生理不適，日常不把小草當人類看的詆毀發言我已經見怪不怪（為啥沒人試著去FB檢舉仇恨言論？喔我忘記現在DEI都掛點了，小黃人就自求多福吧），但是真的有人連時代力量、基進黨、台聯都看不起的，明面上宣稱他們合作，但私底下卻是覺得他們就乖乖當花瓶黨就好了，莫跟黨唱反調。為了選舉考量，真正投票的時候是不可能投給小綠的，甚至連配票都不要，那麼這種人會po文team戒嚴也就不奇怪了。從最近吳春城想用壯世代發大財的事件看來，民眾黨被批評，一些小草包括我會虛心檢討的，但有人是完全不由得說民進黨壞話的。台獨黨綱只對內有效，對外的時候裝蒜，變成完全的騙票機器。種種跡象都顯示，跟這種黨「喬」是自尋死路，黃國昌以前在時代力量的經驗就說明這一切了，排隊過法案，去抗議沒人鳥，變成孤軍奮戰，時代力量被小綠裂解。即使追求再多的公平正義，但黨就是不給你過法案，莫搶走黨的功勞。理想上台灣應該學習進入多黨制國家，但這是很難做到的，重點是第三勢力務必要繼續發展下去，爭取一切可以合作的力量，最好繼續維持三黨不過半的態勢。如果為了民主自由，抗中保台，真的變成一黨獨大的社會，那種結局是我想避免的。改寫一句香港反送中的標語：台灣人，反抗（綠色威權）！\n20250127 對人類來說還太早的智慧電視 —— KDE Plasma Bigscreen，我一定是太閒才會裝這個。要開發Linux的智慧型手機已經是一大挑戰，那麼智慧電視有可能嗎？KDE Plasma Bigscreen專案正是為此而生。繼Plasma Mobile這個joke後，又有了針對智慧電視而生的桌面環境。這個專案開發不是很積極，因而必須在Arch Linux才能取得移植到QT6的最新套件。Debian系統有收錄Plasma BigScreen套件，但是舊。即使是Arch Linux ARM的AUR提供的套件，也停留在5.27。因為依賴項目已經更新到QT6，會導致AUR安裝失敗，得暫時用這個指令稿 Colgrave/pbinstall。安裝之後，顯示管理器應該切換為SDDM。並編輯SDDM設定檔，自動登入Plasma BigScreen (Wayland) 的工作階段。因為幾乎沒有Linux程式開發者會考慮遙控器的操作邏輯，故這個界面非常難用，連打字都有問題，Google語音輸入的文字也無法傳送。The Ultimate Linux Media Center 根據這部影片的操作，勉強能用的APP只有Steam Big Picture Mode和RetroArch了吧，他們本身就有針對控制器優化，所以Plasma Bigscreen本身就是作為啟動器罷了。至於看串流嘛\u0026hellip;用Kodi吧。不確定跑在容器裡面的Waydroid Android TV版映像檔效果怎麼樣。一般的數字遙控器是沒辦法控制的，要買提供滑鼠功能的簡報筆。或者，善用手機的KDE Connect APP來操控，它能夠喚醒Fcitx5打字。KDE Connect偵測到遠端桌面環境為Plasma Bigscreen的時候，會出現遙控器的特殊界面。話說如果要將Linux電腦hook到電視螢幕上的話，根本用滑鼠操控電腦版桌面環境就行了吧。網路上有賣呀，那種整合注音鍵盤的電視遙控器。\n20250126 我就幫忙整理了一些民眾黨團在黨團協商、院會所提出的預算案影片 - PTT Gossiping 這篇很猛，不是單純輸出意識形態，而是把所有預算被砍的背後質詢影片都整理好了。與其看著懶人包圖卡，或是片面的預算提案書就開始聯想說故事，不如親眼看看整件事情的脈絡，了解為何預算會被砍，而非倒果為因。單講民眾黨在立法院的提案，早在幾個月前就醞釀預算會大砍了，而這些官員在面對民進黨、國民黨、民眾黨委員質詢的時候，拖沓的態度就是造成如今預算大批消風的元兇。根本不是隨便亂砍，先「凍結」逼政府做出改善再給錢還算仁慈了。至於文中附的Readr網站整理的預算案我覺得做的也不錯，理由和錢都一目了然，但是「我很生氣」「我不在意」的心情按鈕就顯得很多餘了，還不用登入就能點讚，根本cookie clicker。一日球迷（指根本沒關心這些事情，看到新聞報導才發現國家又又又又又又要亡了）這種暴民式的意見重要嗎？挑動情緒而已，Threads上面按一萬個心情也不會改變少數黨的事實啦！\n20250125 Threads使用心得：現在正是復權的時刻！離開Mastodon後我又跑到Threads，為的是繼承聯邦宇宙的精神，讓我的內容能夠透過Threads本身的SEO（影響力較大），還有連線到聯邦宇宙（較為小眾），一舉兩得的傳播出去，謝謝追蹤我的諸位。不得不說這功能真的很吸引我，我就看Zuckerberg什麼時候發瘋拔掉這功能，那這個平台就會變得跟IG一樣enshittification的境地了。原來我們還是需要演算法麼\u0026hellip;Mastodon用起來「很無聊」很大程度就是人太依賴演算法推薦有趣內容了。順帶一提，我在IG幾乎不發文的，根本現充在玩的，但Threads就蠻有讓人創作的願望，500字數真的比Twitter寬容許多。系統還會刻意通知串文瀏覽數，不斷刺激多巴胺，獎勵多發表內容。幾個月用下來，我覺得勉強能習慣Threads的生態。一直不想把Threads諧音唸作脆，侮辱我的專業。然後，我已經很努力不在Threads發政治文了，盡量只分享技術，可是那些東西總還是會推到我面前，不管是哪一方有理，看久了也會厭煩。縱然最近小草和理中客增加，平衡打擊青鳥勢力，卻依然會遇到暴民騷擾。如果Threads系統設定的減少政治內容串文的按鈕真的有用就好了。\n20250125 Windows筆電有名為Windows Hello的技術，允許使用者以生物辨別技術登入電腦，其中包括指紋與臉部辨識。只要有驅動的話，Linux是能夠使用指紋登入的。透過安裝Howdy這套軟體，就能實現臉部解除螢幕鎖定。這有硬需求：大部分筆電都有攝像頭，不過紅外線攝像頭是少數。必須搭載紅外線攝像頭才能使用。\n20250125 雖然用Linux，還是要搞321備份，好麻煩呀，沒錢搞多硬碟的冷儲存，雖然有rclone能批次備份到多個雲端，但是上傳真麻煩。如果只是要一股腦丟到雲端備份，幾乎不會檢視，那麼Amazon S3或Cloudflare R2或BackBlaze B2應該比較划算吧？pCloud雖有終身會員資格，但我想找到的是一個大黑洞！能夠無限倒檔案進去。Linux硬碟用BTRFS的話好像能夠透過快照功能，搞增量備份。\n20250124 原來我看到的世界跟你的世界如此不同，關掉擋廣告程式再造訪常用網站，就好像在海底脫掉松鼠頭盔一樣，令人窒息。台灣熱門網站的樣子，有廣告vs無廣告體驗差很多。現在上網還要戴上一堆安全措施，是不是太過了呢。Firefox我用uBlock Origin的AdBlocker，Brave使用Brave Shield、Safari內建的隱私保護，過濾掉廣告和侵犯隱私的東西。跟那些裸奔卻宣稱我們尊重你隱私的瀏覽器（如Google Chrome、Microsoft Edge），他們才是現代上網必備的東西吧！可，什麼時候網路已經變成了這般危險的境地！？是誰毀掉了網頁瀏覽體驗，逼人要使用這麼多科技防止，或許在網站放廣告的我也有錯，畢竟要賺錢。有時候我會覺得，擋廣告工具不應該使用黑名單模式（預設全部攔截，需要使用者放行特定網站），而是開著白名單模式（有需要的網站再擋廣告），因為開著保護泡泡，永遠沒辦法到達「真實」。擋廣告程式可能還會誤殺重要訊息，每次看到企業網站與政府網站竟然也會觸發uBlock Origin攔截的時候，看著盾牌上的數字就感到焦慮，認為裡面是不是有重要的東西被擋住了。長此以往，萬一銀行訊息被誤殺了呢？這種情況下逼得我在「幹正事」的時候還是會回去用沒有任何擴充功能的Chrome完成事情，因為這不能出差錯。\n20250124 筆記軟體進化成知識管理系統之後，就容易變成回不去的大怪物了。什麼都想做，什麼都做不好，靠北我只是想打打字而已呀。Notion我看上去好複雜，什麼時後用筆記軟體像是在用Photoshop一樣，需要學習，而實際上很多人用不到那90%功能呢？結果一堆筆記APP還想抄它。嘿，如果你想要自動化，歡迎來學習用Linux使用Systemd，不要畫地自限於一個視窗內。你是要像Google和Microsoft那樣呢，懂得將筆記與文字處理器的功能分開，每個APP各司其職，還是試圖把這些東西全部塞在一個軟體裡面。用太複雜的軟體做出看似好看的筆記版面，不過難以複製移植到其他軟體，這是通用性不足的問題，此外我不想把重要的筆記資料綁在專有軟體裡面。現在，我在學習AFFiNE的白板筆記功能來規劃專案，邊做筆記邊畫流程圖還不賴，但最後的筆記還是打在Joplin裡面。Markdown還是我看過最通用的筆記格式了。\n20250123 來複習一個基本的邏輯問題：這是一本必看的書：那些造謠的人到底在玩什麼把戲？｜《反智》｜文森說書 - Youtube 正逢立法院預算審查，刪除預算假消息滿天飛的時期，敢出這種影片真的很勇喔，果不其然留言區馬上上演小草青鳥大戰XDD 兩邊的支持者都親自示範什麼叫做邏輯死亡的討論。看完這部我只能說，媒體識讀依然重要，不應該未經查證就相信片面消息，尤其是關心政治的人們，更容易淪為宣傳工具操弄的對象。這本書講的邏輯謬誤我都略有耳聞，畢竟我以前大學修過邏輯通識課的基礎訓練（我依然覺得這是修過最有意義、最有價值的通識課），但能不能奉行依然要看個人修養，我是否嚴以律人卻寬以待己呢？有待未來不斷改進。記得教邏輯謬誤的老師有說過，學這個不是要讓你當槓精，天天挑人語病，而是要學習更謹慎的判斷事物的態度，讓事情討論能接近真理。我覺得是這樣啦，看完這部影片，最有收穫的應該是能是懂得自省的人，是不是發現了自己也有這種現象，儘量嘗試以後不要再犯。比起那些看完之後就開始在留言區講「果然青鳥就是這樣，可悲的蟾蜍」「這不就是在講零智草人，小草都是社會底層」的人還能學習到更多。邏輯死亡的人確實很多，但重要的是你是否願意謙虛的接受自己似乎也有所不足，而不是急著就開始用偏見來合理化對反對者的貶低行為。為那些沒有自知之明，看完這部影片，依然認為自己的政黨就是至高無上，覺得反對者都不是人類，以封鎖他人為樂的人群，感到惋惜。\u0026ldquo;Humility is not thinking less of yourself, but thinking of yourself less.\u0026rdquo;\n20250123 「簡單來說，最近的政治紛爭可以這樣比喻\u0026hellip;」不，你不能這樣比喻。不當類比的謬誤比比皆是，針對立法院預算受在野黨監督，不論是用油電車、選班長、乞丐要飯仔還是人體血管比喻都不恰當，老實說做梗圖我也覺得不是好的討論方式。很多公共議題不是用腦筋急轉彎的小聰明比喻就能解決的，那會簡化掉許多本該有的脈絡，忽略掉受害者的聲音，甚至陷入出題者的思考方向，比如：刪除預算應該是抽掉5公升血液呢，還是其實是割除惡性腫瘤？再者，法律不是一個比喻就能解決的事情，錯誤的類比會形成謠言的功用，散佈恐慌。就像，禪宗的公案能夠給人頓悟的機會，但現實世界沒有太多人願意吃這一套，他們嘴巴滿口仁義道德中華民國心中卻只想著種電發大財。要是在壯世代利益迴避爭議爆發後，還說自己是蘇東坡與佛印的故事，飛禽走獸依然不會買單的，這種簡單的口號只能喊給自己的支持者聽聽，但無利於公共政策的討論品質。現在畢竟脫離迷信時代很久了，現在又進入資訊焦慮時代，人人都有話語權，「智者的箴言」「傾聽神諭」能影響到的人群不再如以往那麼多了。就算是給不懂政治的人士科普，也應謹慎。如果起碼整理出正反方意見還有時間軸，自行做出判斷，那才是負責任的閱聽人。\n20250123 看看這篇《扁平時代》：被演算法渣了，還自以為掌握流量密碼 - BIOS monthly，還有：如果你注重『網站分析』，你不該只在乎流量 - Harris先生，能夠從比較科學的角度看待網路流量這件事。支持我的立場的影片流量很高，或是反對我的影片流量很高，都不禁會讓人想問問：這個世界怎麼了？人們為何只想看那些膚淺的口水戰玩意呢？現在，網站流量是很粗暴簡單的觀察指標，很多人都會直接依賴數字來判定，好像流量高就代表這個人講的東西是正確的，但是這件事絕不是唯一指標。從商業角度來看，多不見得就是好，一時高漲的流量也不是永恆的。應該看看其他指標，看能不能打造留住客人的品牌精神，這樣才能幫助獲利。從很文青的角度來看，擁有自己的獨家特色，比起別人都在用AI洗稿，這樣才能夠彰顯我們與他人的與眾不同，並能吸引到願意共享同樣價值的客群。以上的資料講的心態對創作者本身也有利，不會陷入盲目追逐數字的零和遊戲中——這世界太大了，跟別人比是比不完的，也並非所有人都能簡單當上在自己領域的老大地位，所以有時候順其自然就好。只是，如果做的東西在本國的利基市場太小，那麼能不能撐得起太自我風格的作品，那又是一個大問題了。\n20250122 【音樂欣賞】 周杰倫 - 反方向的鐘 不論是哪個年代的人，聽到前奏都會覺得「啊，這是一首懷舊的歌曲呢」這就是周杰倫厲害的地方！確實周杰倫對一代人來說有種懷舊濾鏡，歌曲之所以好聽，可能是因為小時候聽過，覺得懷念才給它加分，而實際聽來根本很普通的那種吧！這首歌曲是2000年發行的，2012年大概是我小學六年級的時候聽到的歌曲。當時愛好這首歌，還用智障型手機錄下來播放（那的時候我還不知道怎麼下載影片，所以常常當genius），還錄到了品質不好的暫停鍵聲。事過境遷，我能感覺到物事人非，最大的變化是我的喇叭現在比較好了，所以能聽到前奏的ㄅㄆㄇㄈ吟誦聲～ 細究周杰倫早期的曲子，真的加入很多巧思，能夠成為音樂教科書的等級，例如〈她的睫毛〉是雙副歌的巧妙配置，而且歌曲依然好聽，夠屌，不像現在\u0026hellip;雖然還是有創意，但是歌曲就很芭樂，也不好聽。所謂江郎才盡，大概從《驚嘆號》之後就變得非常明顯。\n20250122 「壯世代」公司登記地址戰國策也在內！7家公司全與吳春城家人有關 - NewTalk 啊這\u0026hellip;這觀感確實不佳，企業家開壯世代的相關協會，立法要求遵守規範，再經營多家公司獲取標案。就讓人聯想到雲豹小公主的標案了~靠著台電跌倒綠能吃飽賺大錢。農業部曾經被懷疑1450萬的經費是網軍錢，將陰謀論轉換一下，那戰國策會不會暗助民眾黨就不知道了。就算是真的，那戰國策可真說是在做賠本生意，竟然要幫助一個隨時會被藍綠兩黨抄家的政黨。\n20250122 青鳥頻飛 學者：理性討論愈限縮 - UDN 聽說Threads有「民主長城」和「建議封鎖名單」，我想起Pink Floyd一首歌的歌詞：All in all, we are just another brick in the wall. 這屬於作繭自縛的典範，把有血有肉的人類，不分青紅皂白（青色？嗯，所以青鳥會內鬥是正常的）的全部當成網軍加進去名單，然後光用草、藍、紅的屬性就予以否定，強制消音，那不過是在打造自己的同溫層而已。看不見房間裡面的大象，只想著仇恨的抽象。除了中共外，世界本沒有牆，但是自己把自己關進去了。民主社會不能強迫要求所有人思想一致。話說，Pink Floyd這首歌的第一句是：We don\u0026rsquo;t need no education. 我覺得這句適合雙關，隱含意思是「我們不要接受整齊劃一的教育」，但用字面意思去解釋「讀書犯法」的那些貼文好像也可以XDD 更絕的是搭配時事：Hey! Teacher! Leave kids alone! 王義川與幼兒談論立院衝突惹議　民眾憂洗腦教育介入恐不妥 - CTWant But, if you\u0026rsquo;re thinkin\u0026rsquo; about my baby. It don\u0026rsquo;t matter if you\u0026rsquo;re black or white.\n20250122 林秉樞病危！父喊「不浪費醫療資源」忍痛簽下放棄急救 - ETtoday 陰謀論一下：中共活摘器官在台正式上演，摘輪子器官、把異議人士關入黑牢任其病死。現在小肉鎚知道民進黨太多祕密，所以快被做掉了。2022年7月31日的報導：林秉樞爆「有人幾十萬整袋拿走」還背刺！她列名單：占陳時中團隊大半 - 風傳媒。擁有超級厲害的關係網路，裝熟到最後卻沒人要聲援：跑趴女王翻版！林秉樞建造虛假人脈「關鍵截圖」曝光　政商名流受害破百人 - 今週刊\n20250121 反省一點：我不應該因為看到簡體字和「支語」就反感對方，有時候甚至香港的書面語我也很會當成支語下去批判。有些人看到簡體字就會反射性的出現仇中反應，幾年以前確實是對简体字很感冒的，甚至覺得正體字比起殘體字要優越，可是在我知道除了中國大陸之外還有馬來西亞、新加坡華人使用簡體字，那麼用簡體字下去判定仇人的標準就是屬於腦殘的行為。並且，寫簡體字的中國人也不代表就是小粉紅的角色，也有可能是反賊。另外，支語的判定在全球語言的交流下是變的越來越困難了。有些詞語出現了不會被影響，但有些詞久了就已經逐漸取代台灣常見的說法了。身為支持民眾黨的人，已經被8964個人說過我是舔共賣台的份子了，從網路上到現實指著我的鼻子罵的都有。不論民眾黨提什麼監督政策，都是在搗亂這個國家。我選擇不罵回去，做人身攻擊的下賤樣。想起淨空法師的話，只能可憐他們，沒人教他們辨別正確資訊的方式，至少要看立法院院會直播和提案內容吧，不是看懶人包圖卡就夠了。你以為？什麼時候輪到我以為。如果高知識粉子還沒有查證精神的話，那麼你的想法就只是somebody\u0026rsquo;s opinion、anybody\u0026rsquo;s opinion、nobody\u0026rsquo;s opinion!。我始終不這麼認為台灣是中國的一部分（中共，非中華民國），相信民眾黨內過半數也不這樣認為。中共很壞，中國人跟著壞嗎？我們有必要像小粉紅一樣缺腦嘛？我想這可以聯想到近年的一個改變，我不主動罵使用簡體字的人了，而是看其行為來決定。\n20250122 Prince - Gold 不喜歡一些掛羊頭賣狗肉的Facebook粉專或者KOL，看似分享專業知識，但是99%時間在當政治廚的那種。王子1995年曾經發表一首豐饒意味的歌曲，叫做〈黃金〉，收錄在專輯《黃金體驗》。有一句歌詞是\u0026quot;All that glitters ain\u0026rsquo;t gold.\u0026quot;，意思為「不是所有閃閃發亮的東西都是金子」。經營社群媒體，用本名或暱稱來取名是不容易成功的，因為沒有人知道你是誰，反之會取專門的名稱，試圖增強自己的可信度，加強第一眼印象，比如「希望哥的技術交流中心」就分享了很多IT知識，人如其名，非常實用。但是像什麼「翻譯有重要」、「蜥蜴的阿比斯影院」、「盾牌醫生碎碎念」、「喜洋洋英文」，這樣觀眾點進去應該期望能分享這方面的專業知識，可是我看到的是什麼呢，側翼的抹黑話術一條龍。幾乎沒有看到專業知識分享，不然就是用宏大敘事包裝自己的想法，使其顯得偉大。這種比粉專名稱直接取名政治性意涵的（例如「藍白拖」、「人一綠，腦就殘」）還要惡劣，好像他們是用自己的專業在蹭這些話題。或許用律師、名師、教授、醫生的身份發文會給自己一種權威感，可是\u0026hellip;發言可信度跟你是誰其實沒有太大關係的，現階段連總統的話都不可信了。我重點是要看有沒有邏輯，不是無腦瞎罵。這只是我的主觀推斷，發佈一些爭議性高的政治口水比嚴密邏輯討論的文章更容易吸引到流量，獲取互動麼，藉由罵戰獲取快感。好比，伏拉夫早年是拍介紹紅酒影片，沒人要看 理智的谈谈伏拉夫 - 知乎。但開始甲亢稱讚中國之後，就獲得了流量密碼！話說回來，我只要隨口講一句「國民黨不倒，台灣不會好」的無腦口號，保底40%的流量都會來給我按讚！但我覺得這樣沒啥意義就是了~呼口號的人很多時候只是顯得你沒在思考，只想扁人。很懷疑某些人是不是搞不清楚FB個板與公共空間的差別。並不是說粉絲專頁不能談政治，但是比例要把握好，像「蘇一峰」就控制的不錯，嘴政府的時候還會分享衛教知識，「瑪雅國」有時候也會有用考古知識嘴小草的貼文，但它們不是整天都活在政治裡面。嘿，那我的FB專頁又該怎麼說呢？我有100%時間都在講政治嗎？我有十分甚至九分的自信的說，沒有！法學老師廖震最近一句話講的不錯：「我們每天活在政治裡面，但要整體活在選舉裡面嗎！？」\n20250121 2025中央政府總預算三讀通過 - 台灣民眾黨 Facebook 辛苦民眾黨立法院黨團，澄清圖卡這次來的很即時，一一打臉民進黨的「砍預算，國家恐\u0026hellip;」的造謠圖卡。順帶一提國民黨真的是俗辣，敢提就要敢刪，一堆砍到1元的提案又撤案是怎樣，不敢刪當初幹嘛提。公視亂刪23億元惹到一堆文藝人士左逼（雖然這些人本來就是吸奶水過活的，本就不會對國民黨有好感），就算撤案了改刪1%，但形象更加回不去了，國民黨每次撿到槍就會自爆。藍刪預算又撤案 綠委批荒唐：2分鐘讓1.2億預算復活 - UDN 許多版本最後改通過民眾黨的理性監督版本，把講不清楚的，成效不彰的，預算案全部凍結或刪除。結果民眾黨的提案也沒有國民黨提的那麼誇張，甚至不少都不支持。好啦只刪業務費一部分，其餘給你啦乞丐。\n20250121 圖片 一些Linux用戶認為在桌面放waifu wallpaper很重要，可以表示自己個性，也方便po在網路的時候吸引到一批man of culture的人士。但其實我總覺得「女人！你擋到我打電腦了」經過審慎思考之後，還是覺得除了擺拍的場合，大部分時候我的桌布簡單就好。在經過繁雜的視窗作業之後，感到疲憊，看向桌布，應該要是「祥和」的景象（圖上），不是含情脈脈的血脈賁張（圖下）。說來有趣，這張強襲魔女的桌布我真的蠻喜歡的，不會過份暴露也不會過於平淡。套用到手機，也是這個考量吧，動漫桌布比不上內建風景照。且手機是隨身設備，我不想在用行動支付的時候不小心把老婆玉照也曬出來，被人聞到好重的油味。\n20250120 你還不配做台灣人，也不配做革命黨 - 李敖大哥大 這部影片分成兩個部分，第一個講台灣人的身份認同問題，第二個講所謂民進黨人自稱革命黨結果卻很孬的樣子。後者比較像是私人恩怨所以沒什麼好談的，前者則是很重要的部分。看這些大中華膠的論述有助於釐清台灣的國籍問題，地理上我們是台灣人，但是政治上我們還是中國人，也就是中華民國人。要推翻這個現況，光靠著大聲疾呼我是台灣人，不是中國人，是不夠的。這不是廢話嗎，台灣不屬於中華人民共和國統治，這大家都知道的事情。問題在於沒有人敢真的建立台灣國，陳水扁以前很努力了，公投都搞了，但還是選擇騙票路線，繼續擁抱中華民國。李敖他老人家從20年前罵到現在，結果民進黨還是一個鳥樣。用假意台獨來騙票，現在不過是多了一個抗中保台的使命感。試問，脫掉這兩個議題，民進黨的政策主張跟民眾黨又有什麼差異呢，兩岸一家仇比一家親好嗎？川大大和習大大都不給你獨立，拿不可能的事情當政見那不就是妥妥騙票嗎？在沒有美日介入的情況下，我們又不可能打得贏中共，主動挑釁就準備變成烏克蘭，到時候懂王可能還真的會核爆台積電。我很好奇李敖如果還活到現在會怎麼看民眾黨，或許是像趙少康那樣高高在上的姿態吧。但看看他兒子都臣服民進黨的抗中保台論述了，這樣看來也不是很樂觀。有趣的是，李敖以前支持的新黨（他甚至身體力行在節目中鼓吹兩岸統一，這是否）現在很喜歡來蹭民眾黨的活動，或許他們認為兩岸一家親理念能夠潛移默化的促進和統！可惜的是，我黨沒有操弄統獨問題的心情。只要知道，台灣民眾黨是源於台灣本土的政黨，不是外來的，更不是中共代理人！\n20250120 你但凡讀過一點經濟學原理的書，也不會成為共產主義的狂信者。美國經濟學家Thomas Sowell：我們這個時代最危險的趨勢之一，便是通過制定「仇恨言論」法，使得講真話成為「社交上不可接受的」乃至「非法的」。我實在不能理解，那些認為各行各業都該有少數族裔代表的人，卻為保守主義運動也有黑人代表而煩惱。這大概就是我可以同情安那其主義以及共產主義的等極左派系的左派，但是理性上不能支持的原因。我非常厭惡社群媒體的身份政治，你是什麼樣的人不會因為你支持哪個政黨哪個主義，就讓你變成天龍人身份的存在，就像即使我是柯粉也不代表我就絕對是務實理性的好人。如果我們把這個邏輯透過腦內風暴，造成土石流滑坡，可以得出結論：社群媒體的minorities非常喜歡抱團取暖，左派的意識形態包含很多部分，然後他們會因為政治正確的大旗聚集在一起（舉例：女權、LGBTQ、台獨份子、喜歡跟風亂抵制麥當勞的人士、共產主義者、民小、青鳥、文藝人士、仇中人士\u0026hellip;有點地圖炮了），但仍會因為左派無限可分的定律開始內戰抓叛徒。如果詳細下去分類就會發現，他們的訴求本身就不能構成一個完整的論述，只不過是將一切的要求都上升到絕對神聖的「人權」罷了。凡事看感覺的人，就非常容易被趨勢影響跟著跑。所以，很多時候，放下身份，看事情往往會更為透徹。我甚至在想，假如我是沒有黨籍的民眾黨支持者，你又如何用雜草的術語來概括我的存在呢。\n20250119 一下用KDE，一下用GNOME，大腦真的不會有星爆的感覺嗎？操作邏輯完全不同。我以前是這樣的，兩部Linux電腦不同界面，很享受這感覺。可是我發現還是不要再提高自己工作的負擔了，所以每次嘗試GNOME沒多久，還是會裝回KDE。文組學程式真的沒有大腦在星爆的感覺麼？純文組的，平常在學校學的人文政史東西，到了講求邏輯的0與1資訊世界，突然發現自己沒有用文字胡謅的空間了，因為電腦輸入指令錯了，就是不會動，數學不會就是不會，不可能像你申論題瞎掰還能混過去了。好吧，這是我在blog寫文章的時候得出來的個人極度主觀的一點想法而已，也許跟是不是文理組沒有太大干係，是我愚癡。就比如我啊，寫了一篇技術方面文章的，講這個命令行工具要怎麼實現，指令要怎麼佈置，還有各種方面的調整。這整個過程是需要很縝密的邏輯思考的，是就是，不是就不是，不參雜什麼虛無飄渺的大道。啊如果下一篇文章要講點政治人文的東西，就又能東扯西扯一堆東西來講了，好像這樣的筆法，把意見包裝在他人的口中講出來，懂得說故事觀眾才會買單，寫作方式會完全大變，所以才說這種模式切換是大腦在星爆，讓人覺得困惑但有趣。如果把兩種方面的寫作技巧結合起來，那就變成科普作家了吧！但我還沒那麼厲害。其實文組並非沒有邏輯，只會講廢話。一些文學院還是有寫作訓練的，他們不講風花鳥月，而是注重西方哲學說的邏輯表達，老師會告訴你如何鋪陳觀點，才能以理服人。故，即使文組沒有很強的數理知識，至少一些文組人還是知道講邏輯來服人的。狂信者除外，他們深陷意底牢結，為了自己的意識形態護航，什麼鬼話都能講的出來，拿不出數據，講不贏就情勒，說你舔共賣台什麼的。\n20250118 有些筆電廠牌到現在還是不注重喇叭，導致幾萬塊筆電的音質可能比手機還差。提昇Linux電腦喇叭外放音質的神奇軟體～EasyEffects，類似以前Android手機都要裝的Viper4X，或是Dolby Atmos，Linux自然不可能會有這類專有軟體。好在我們有開源的EasyEffects能用，它依賴PipeWire給音訊加上特效，除了加強聽感的等化器之外，還有專業的調音面板，讓筆電喇叭的音質（應該說聽感）好一點。過去因為我MSI Modern 15筆電喇叭實在太爛（二萬塊的筆電ㄟ！），高頻一點的聲音就很容易破音，所以我需要裝這個，改善聽感。現在，買了3.5mm與藍牙兩用的攜帶式喇叭給筆電連線之後，順便發現Linux支援SBC-XQ編碼，這東西就沒太大用處了。其實台灣白牌廠商有時候真的很懂消費者要什麼，電子產品賣的比歐美日大廠要有性價比，並常常推出這種萬金油產品。但你知道的，台灣很多白牌廠商都是貼牌中國品牌，所以其實你要感謝那些中國廠商才對。當然這種的也有風險，像是真的太低階的廠商做出來的產品，就是品質不佳，例如我以前買過的Aibo藍牙與Wifi兩用滑鼠，就真的很爛。\n20250118 這可能只是我的幻覺，歐美人的網路比中港台的網路要溫暖有人性。我看有些支黑也是這樣認為的，從中國潤到國外之後才發現正常人相處的模式。歐美論壇的troll也是很多啦，但是整體氛圍是沒有那麼戾氣重的，他們的人文精神比華人做題家卷也要卷到網路上的風氣差太多了。就以Minecraft相關的社群來說吧，如果在Facebook萬人社團發一篇新手蓋房子的文章，就會被罵到體無完膚；相比，即使是在萬人Reddit大板po文，會有很多鼓勵的留言出現，說你的房子蓋的很好。再來，Reddit真的什麼板都有，整個站政治傾向左傾可能不能使人接受，但拋開這些，裡面有很多互助社群。即使Reddit是匿名制社群，卻還沒有像4chan那樣無王法。我不論是在胃食道逆流、糖尿病、帕金森氏症之類的板，都能看到友善的互助氛圍，頗有那種線上基督教教會的感覺。台灣的板普遍缺乏大愛，巴哈姆特酸甜苦辣板和Mobile01現實主義者太多，你講個幾句就被長輩訓斥。Dcard和PTT則是像是文青式的小互助感，我們的同理心還不夠大。甚至不在網路上發聲，埋首默默做事的慈濟團體都比這些人要來的關愛他人。然後有一天，我會想起這段文字「他依然向往着长岛的雪，依然向往着潘帕斯的风吟鸟唱。很久我才知道，原来长岛是没有雪的。」———— 據說是帝吧的經典作品。\n20250117 博碩文化2003年曾經出過一本毛慶禎寫的《KDE桌面美化大作戰》，看封面，那個時候還是KDE 3.0的時代吧，這些前輩真是厲害！少數在市場上願意出桌面導向而非伺服器導向的Linux書籍。以現在的觀點來看，當時KDE 3真的是醜的要命，跟GNOME 2一樣，一直延續到KDE 4，Oxygen主題還是有夠醜（對比同時代的Windows 7而言）。KDE 5之後出了Breeze主題，才逐漸有品味起來，像是現代的作業系統界面。有趣的是，KDE 4聽說bug太多被Linux社群視為黑歷史，但KDE 3還有人fork之後一直維護到現在，那就是Trinity Desktop。這有點類似Mate桌面復刻GNOME 2的操作，讓人見識到何為活化石。搜尋Linux桌面的時候常常看到美化的字眼，說真的我蠻厭煩的。我想怎樣用我的Linux系統，你給我管！是是是，可是我沒太多力氣玩美化了。什麼時候放棄玩「美化」Linux桌面，變成「預設的就很好看了」主義。\u0026hellip;發現自己的品味真的有夠糟糕的時候，根本做不出r/unixporn別人分享的樣子。有些人天生沒有美感，需要受過藝術訓練才能知道什麼叫做美。否則裝一堆有的沒有的東西亂搞，得出的東西像是Word文字藝術師＋長輩圖一樣的東西，不然就是無腦抄Mac，純粹浪費時間。做太多客製化的設計，好像是自爽而已。雖然DIY過程很有趣，學到很多底層原理，可是到頭來我還是要電腦工作的，不是整天「玩電腦」。這就是為何我逐漸對i3wm、Hyprland這類tiling managerr不太有興趣的原因了。他們不像DE開箱即用，要花時間設定一堆東西，有時間再說吧。相較之下，GNOME的Adwaita主題與KDE Plasma的Breeze主題，這俩桌面經過多年發展已經成熟，預設的美感就很棒了，不再像是程式設計師不懂UI/UX隨便拼出來的玩意，根本無須過份美化！至於XFCE這個活化石，界面像20年前的CDE。被迫用這個桌面，可能還是要來點eye-candy的GTK主題才會順眼點吧。我們還是專注在生產力吧，macOS和Windows的經驗告訴我們了，有了不算壞的GUI之後，不用是程式高手也能用好電腦，高效率完成工作。\n20250116 Fern x Stark FULL ANIMATION!! by Maplestar 這部葬送的芙莉蓮二創動畫真的是傑作，專門請人配音，搭配精細上色的作畫，把二創作品搞得像是官方作品一樣。鈴華勇太@二原 on X: I had the opportunity to work with @Maplestar_Art on his new Fern and Stark animation.。這種情況已經多久了，收donate的自由繪師做出來的動畫作品比裏番業界的還要好，甚至許多表番的賣肉場景已經無限趨近於裏番，看看黑獸2那個鬼樣子 宣洩 黑獸2 這是三小 為什麼有狗？宇宙大燒賣？ - PTT AC_In，續集乾脆改成開放眾籌吧，現在已經不可能再做出以前魔人品質的動畫了。雖然網路上自由繪師的做的影片很短，認真看畫格的能看出不少粗製濫造的地方，但是更能很切合觀眾的性癖好。Maplestar許多二創動畫都很棒，像是這一部片就包含了前戲、正常位、後背位、乳搖的各種呈現，還有修塔爾克肉棒撞擊費倫肥臀，表現得很親密恩愛，非常好用。\n20250116 Zen Browser - welcome to a calmer internet，終於有不是基於Chromium開發的新瀏覽器出現了。私以為，電腦上界面最好看的瀏覽器（先不討論擴充元件和自訂CSS），是macOS的Safari，還有Linux的GNOME Epiphany。他們不如主流的Chrome、Edge、Firefox要受歡迎，但是界面設計很有一套，有一種設計師製作的產品的美感。可惜我沒辦法支持他們，因為他們使用第三種瀏覽器排版引擎WebKit，迫使開發者還要分神去支援他們的詭異標準。GNOME Epiphany或許還有討論空間，但Safari就完全是Apple主導的封閉式標準了，這東西就跟蘋果產品的維修容易度一樣，屬於不可燃垃圾一枚。現在我們有了新選擇，Zen Browser，它應該是受到Arc Browser影響，所以採用全新的設計語言。不一樣的是它為開源專案，基於Firefox修改而來，登入Mozilla帳號即可同步書籤。並且支援Linux、Windows、macOS系統。在Ubuntu上使用Flatpak即可安裝體驗，原生支援Wayland工作階段，且Linux版已經包含DRM支援套件（macOS和Window用戶哭哭）。Zen Browser提供側邊分頁欄、懸浮網頁視窗、工作區、分割螢幕的功能，它把許多人希望有的進階功能都加進去。如果用網頁程式就能完成工作，那麼Zen Browser的工作區設計就是真正能夠做到不離開瀏覽器視窗的設定，只要同一個視窗切換即可。此外，Compact模式能夠隱藏所有UI元素，要滑鼠移動過去才會顯示，給你一個平和安祥的瀏覽體驗。最近還有一個基於Firefox修改的瀏覽器，是來自日本的Floorp，可是他們比較像在抄Vivaldi，沒有Zen Browser那麼有設計感。開發者選擇了一條艱難的道路，首先Gecko非主流的引擎，不少網頁支援度都有問題。此外，他們不像Chromium一樣容易跨平台，要開發Android與iOS版本非常困難。再回頭看看Arc Browser，Arc 真香！腦洞大開的功能讓超多 Chrome 死忠粉決定把 Arc 當作預設瀏覽器了！ by Papaya電腦教室 側邊欄原來是書籤結合分頁的設計啊！截圖加上白板真的蠻吸引人的，哇哇，把圖片任意拖曳到畫布上，點一下還能追蹤原始網址來源，考慮到用戶，便利整理資料的設計，真的很吸引人。希望Zen還是AFFiNE能早日加入這類便利功能。可是額，後面的白板功能已經根本不是單純瀏覽器了吧，少即是多原則被破壞了，要是他們功能膨脹到像Edge那樣我反而就不會想用了，功能應該加到點上就好。\n20250116 中央政府總預算案今起協商 部會文宣費擬全砍 - 聯合報 感覺跟民眾黨比起來，國民黨表現的更明顯像是政治報復吧。即使阿北被抓走了民眾黨也沒有刻意用這點當理由來刪預算，而是用績效，還有官員拿不出資料的態度，就事論事來刪，這點很好。而且前幾個月就講過好幾次了，會把官員的態度反應在預算審查的立場上。反觀，我覺得國民黨很多刪除的東西其實還蠻莫名奇妙的，例如因為內政部的巨人圖卡惡政隱國民黨就刪預算，噗。不滿遭影射是「奇行種巨人」 藍委怒砍內政部1192萬預算 - NewTalk。可是像是公視的預算有必要刪嗎？國民黨批Taiwan Plus刪公視23億預算 吳沛憶：刪錯預算讓公視關台 - 自由時報 雖然對一些政治正確的劇沒什麼感覺，但萬一民眾黨真的支持提案，不投廢票，看未來我們的黨部要怎麼對外解釋。有些預算的名稱差一個字就差很多了，也許這些錢真的是養文青側翼用的，大內宣超級爽，其實刪了只有側翼會鬼叫的那種，眾所周知左逼在網路上總是最大聲，I am offended!!! 就能震遍千里。我只知道未來民進黨的認知作戰會比國會改革時期更誇張了，例如國造潛艇的預算只是被凍結，不是刪除喔！下水測試完才能動支。國造潛艦後續艦預算不砍了！改凍結18億海測後解凍　國防部回應了 - NowNews 但光是這點又能被民進黨操弄認知作戰很久了，那些綠色媒體親一色報導超譯內容的解讀，根本沒人詳細去看到底刪了哪些預算，只作為讓青鳥飛出來的仇恨藉口。還有自己happy的錢沒了，狗官不懂得開源節流，順應形勢把錢挪到真正有需要的項目上，逼得中研院明明沒被刪除預算卻也要跳出來靠北，說別害我的經費被砍掉預算的部會挪走。中研院為全國科學研究與人才培育預算請命。最後執政黨整天指責對手賣台，可撥啊。簡單刪點浮濫的預算怎麼了，又沒有把必要維持運作的錢都斷了，這樣就亡國？那不正好嗎！取代中華民國建立台灣國的時刻終於到了，啊我忘了台獨龜孫沒那個膽啦，中華台北的蟾蜍王，不要學尹錫悅因為預算被擋就想嚴嚴喔，人家終於被抓進去了。詳解第二次尹錫悅逮捕行動：10倍警力直搗官邸抓人\u0026hellip;尹「預錄影片」持續詭辯 - 轉角國際udn Global。一些文藝工作者因為奶水斷了，會不會使出垂死掙扎做出最強大的認知作戰宣傳，支援亂罷免立委，還不知道。那麼我們反擊這種噗噗跳的作法就是全都給它投不同意票，再加上之前的財政收支劃分法修正，地方圍毆中央，給蟾蜍王痛快！秦假仙、小蟑螂，海扁蟾蜍王 - 霹靂布袋戲片段\n20250115 再來一個「中國開發的軟體就應該抵制嗎？」的問題。如果貫徹這個理念，我在Linux上就沒辦法打中文啦！Fcitx5是中國開發者製作的，為目前開發最積極，最主流的輸入法引擎，功能超越ibus，比RIME好配置，幾乎是開箱即用。Fcitx5還支援日文與韓文，亞洲語言的輸入法它都能用，新酷音也要靠它才能在Wayland時代生存下去。Fcitx5是自由軟體，理應不會追蹤使用者，詞庫也都是離線的，唯一一個值得防備的是雲拼音服務，沒有SSL加密的都不要用。Fcitx5的一個好用功能是繁簡轉換，允許用注音輸入法打簡體；反之拼音打繁體也行。可以是單純的繁體字轉簡體，或是利用OpenCC將用語自動轉換為台灣用語（支語警察自肅非常需要這功能www防止不小心打出敵性語）對了，Ubuntu在安裝選取語言的時候，如果你鍵盤語言選Taiwanese，只會得到原住民語的輸入法喔，你永遠都是Traditional Chinese。希望哪天台語和客語輸入法能被用上，可是我看它似乎連Fcitx5的版本都沒有，只有SCIM能用的樣子。我的立場一向是只要不是假開源，就沒有必要因為開發者是中國籍而抵制軟體。但如果牽涉到韌體，就又有了一堆能被質疑的地方，就像華為5G因為政治因素被美國封殺一樣。5G禁用中國貨 NCC資安長：開源軟體是隱憂 - 大紀元\n20250114 應該注重應用而非技術層面的枝微末節，別整天強調這是AI喔。AI這個術語已經被濫用的太厲害了，現在什麼新創都要加上AI兩字，一些老牌軟體也推出AI東AI西的新功能，看了就頭痛。AI下轄很多研究科目，從自然語言處理到機器學習都會參與其中。講到用途的話，很多東西的操作也會跟AI扯到一塊，例如放大圖片不失真、音樂去背景音、影片自動去背等等，都可能會被稱為「AI」。2023年之後，AIGC技術出現後加劇了這種現象，導致人們只要以為讓機器變魔法的技術都能稱之為AI。我在網站寫相關文章的時候也曾經用過\u0026quot;AI\u0026quot;的tag，甚至有一個專門分類叫做「開源AI技術」，但是我接觸多了之後就覺得這樣不對。有些根本就只是簡單的演算法而已，跟AIGC差得遠了。況且，很多AI技術一開始剛出來只有paper和demo用的命令行程式，這些開源技術成熟後，被其他軟體拿去用，整合到其中，人們就很難察覺到其中AI成份存在了。舉個例子，Upscayl整合了ESRGAN，還會有有人過問背後的原理麼？這促使我重新思考，我要不要再用這麼技術性的分類，還是應該注重在實際用途上來分類呢？比如，把「AI影像處理」改成一般的圖片處理軟體對待即可，強調用途與對使用者的好處。AI是一時的，但能不能永久持續下去未可知，我就把這個分類砍掉了許多，畢竟當初就是有點跟風才推出這個專輯的，現在就保留我覺得比較有用的語言模型和生圖技術就好。\n20250114 新青安優貸被刪了！民眾黨減列、凍結總預算3000億 狂轟沒必要 - 中時 無聊，簡單砍點大內宣預算。我覺得還是屠少了，國民黨好像還有更多案子要刪。這些國防以外非必要的預算，不砍行嗎！把錢都給黑熊軍和自家人綠電了還敢靠北沒錢給台電補貼呀。數發部拿一堆錢，做了很多事情，但是拿不出像樣成果，活該被砍預算。未來或許能看到側翼圖文作家面對AI生圖（意即不會製作內容，宣傳上處於弱勢的一方，也有了武器反擊這些文青，不然聲量最大的反黨插畫家就只有亞克和風格醜醜的觸極者\u0026hellip;\u0026hellip;），再加上被黨斷絕經費的模樣。\n投入民眾黨主席補選黃國昌：關鍵是跟柯文哲長談 - 中央社 其實我真心不希望黃國昌選黨主席，從選前就這樣認為，如果要黨員投票的話我應該會投蔡璧如。他已經付出太多了，過去當時代力量應該就快煩死他了。興沖沖的跳過來民眾黨，簽署了不管黨務的協議，準備好好做事，結果不到一年，黨主席被關入黑牢，要被迫接下這屎缺的位置，應該讓老師專注在立法院做事就好。因為阿北被司法迫害，現在他被迫要挑起這個重責大任。儘管外人認為這是皇帝登基，但在我看來是時勢造英雄，就像進擊的巨人the reluctant hero這首歌唱的一樣。然後他是黨內的政治明星，擁有極強的號召力。這樣他主動下來選，不就贏定了嗎。自爆找過王婉諭！蔡壁如：就算黨內不高興　也應團結「敵人的敵人」 - 東森新聞雲 雖然蔡有藍營買辦的嫌疑，但是他也是意圖團結更多力量的人，故依然是值得考慮的黨主席選項。唉！希望他別真的像柯一樣出事。真的選上之後，重新改革內部黨務，不要再有假帳問題，重新出發。\n20250113 「依般若波羅密多故，心無罣礙，無罣礙故，無有恐怖。遠離顛倒夢想，究竟涅槃。」這句話出自著名心經，從字面上理解的話這句是最吸引我的，「遠離顛倒夢想」用詞夠中二之外，還揭示了人生虛假的道理，當你能看脫空性，就離悟道不遠了。另外，我最印象深刻的是基努·李維出演的小活佛(1993)電影裡面講述的片段。幾個小朋友被認為是轉世靈童，帶到不丹尋找老師，過程中順便演出了佛陀的身世，裡面大戰魔羅，看透幻象的特效做的實在太好了。用西方人的角度講述了佛陀的「中道」，如果琴絃太緊，聲音粗澀；琴絃太鬆，則聲音沈悶；不鬆不緊，聲音才會美妙。這段適合作為行事準則。離二邊之極端邪執，取一種不偏於任何一方的中正之道。最後的一幕，老喇嘛圓寂後，才緩緩唸出心經。現在回想這個劇情還怪好笑的，藏傳佛教喇嘛直接到美國抓人，在美國都是陰間濾鏡，到不丹就變成晴空萬里XDD\n20250111 仕途與識途有很大的差距。民眾黨1/11釘孤枝的集會據稱來了超過十萬人，還真的被郭正亮說中，現場擠的都進不去，從自由廣場前面塞到後面大馬路，人還在不斷湧入，搞得好像總統大選時候的盛況。國民黨的立委烙人來確實起到了推波助瀾的效果，幸好沒有白目在舞台講「公平正義侯友宜」的蠢話了，而是聰明的把矛頭對準司法不公的議題，他們用這個方式賺取名聲。還來了二個民進黨創黨元老助陣，讓氣氛更熱烈。額，雖然有個立場怪怪的就是了，林正杰加入剛成立的民進黨後又跑到統促黨，看來確實不是所有支持黨外運動的人士都支持台獨，好比陳文茜和李敖，他們終其一生追求的只有心中所謂的正義吧。一年後又回到這個地方，離凱道只有幾公里，當我再次聽到「穩穩的走」大合唱的時候，不禁感慨萬千。這一次，少了那個男人在這裡跟我們一起唱。所以未來，我們民眾黨人要繼續奮戰下去。\n但是，為什麼參加這麼多次活動，我在跟大夥合照的時候還是會有一種疏離感呢，有些人把政治人物當神拜，到達了狂信者的地步。總覺得能體會被叫職業學生的感覺了，原本以為那些人不務正業，結果我好像也是這樣，所以除了民眾黨外，我逐漸能對民進黨的造勢動員感到同情，尤其是那些外圍人士，雖然我反對藐視國會的那群人，雖然我跟他們立場相反。黑熊也罷青鳥也罷，裡面不少人都是沒有進入核心權力組織的人們，他們勢單力薄的參加抗議行動，很可能自己還在就學，沒有獨立謀生的能力，成績不咋樣。或者更誇張的說是社運仔，靠黨施捨吃飯的人：清鳥覺青仔的30個特點，你中了幾個？ - Dcard。不在乎自己的前途如何，只抱著對公民社會的一股熱情參與社會活動，期望能拯救這個國家。可是若混不好的話到頭來只會是一場空而已。畢竟不是每個人都能當政治網紅吃飯，要當黨公職需要一點手腕，這很多人是不具備的。當你覺得這個活動需要你我站出來，少一個人不行的時候，就會覺得是不是被利用的感覺。你會覺得好像，我的存在意義是因為支持這個大家庭而且存在，離了這種集體感情就不復所有。有些政黨宗教化的趨勢，應該能從這裡看出端倪。到頭來我這麼積極參與是為了什麼呢，原來是不肯面對現實所致使的。为什么穷人喜欢讨论国家大事? - 知乎。社會階級越卑微的人，比如窮秀才，似乎越容易被野心家利用，關心那些本來對生存無益的事物，說保護台灣自由民主法治，能換到明天的幾份餐呢？像我這種讀書讀的半死不活的，都被人說不如快點兒去工作，忙起來便沒時間想這些有的沒了的，那些政客的權術又關我們什麼事呢，頂多是在PTT靠北幾句的談資罷了。自然而然的，社會化會磨平你的稜角，覺得與其想改變這個國家，還不如想著怎麼搞好手上的案子要重要。仕途與識途有很大的差距，關心政治不如關心自己的錢途。即使如此\u0026hellip;\u0026hellip;即使如此\u0026hellip;..我\u0026hellip;\u0026hellip;還是不能對正義裝聾作啞。顧好自己前途和關心國家未來的事項並不衝突。\n20250110 馬來西亞：馬哈蒂爾為何執政兩年就垮台 - BBC真有趣，馬來西亞2018年之後打破巫統執政聯盟的壟斷，兩年後新政府上台後卻不得民心，搞得舊勢力要捲土重來。台灣很難想像，這裡的人比較在意統獨（民眾黨試圖打破此現象），美國人在意左右派，馬來西亞則是種族問題嚴重，還有伊斯蘭教的宗教勢力左右人民選舉。外人來看，非政治學專家很容易搞不懂背後的邏輯吧，正如離我們比較遠的國家，透過新聞媒體看民眾黨的表現也會難以理解，因為這中間隔了好幾層的資訊落差，更有可能受到三民自誤導。只知道一些馬華因為被馬來人打壓，反而寄望於大中華主義，希望中共帶領大國崛起（漢族你崛起吧）後自己也能分到一杯羹。\n20250110 Affine AI是我看過最promising的Notion開源替代品，勝過AppFlowy與AnyType。官網有很多usecase，加強宣傳產品的用處。果然這個程式又是一個Electron APP，藉此支援Linux、Windows、macOS系統，雖然Android與iOS APP尚未開發完成，但能夠用網頁版補足，這樣一定程度緩解了跨平台問題。螢幕中間有個大白板用於組織想法，將白版區塊即時轉成投影片，還有區塊式筆記、標籤資料庫功能，加上看板月曆，幾乎是把各個筆記軟體的功能都抄過來了。最重要的是這個軟體能夠自架同步伺服器，不必依賴官方Affine Cloud雲端同步，確保隱私權，使用者有自由選取客戶端的權力。這樣只要自行部署網頁版就能在任何裝置用了（不過看來網頁版還沒出教學，目前官方只提供伺服器的Docker）。部署和編譯程式的官方文件都寫得很清楚。不過我不太確定這個軟體授權條款為何，看Github有部份是MIT，伺服器部份是閉源的？商業操作手法麼。\n20250110 柯建銘1人發言66分鐘，朝野協商再破局…韓國瑜無奈宣布散會 - 聯合報 你國特色的冗長發言(filibuster)！費力把事拖這個翻譯實在太好了，說要黨團協商這老頭根本不可信，每次都能從盤古開天講到現在怎樣怎樣，再賣自己老資歷，爺才不會這樣給你跪下。上週說話馬上反悔。柯建銘揭藍拒絕折衷方案，黃國昌批民進黨兩面手法 - 中央社。少數黨的狀態已經一年過去了，還想繞過民眾黨，跟國民黨私下喬，換取部份法案通過，現在沒有王金平罩了啦，只有政治奇才韓國瑜。如果他們都用這種起碼還算文明的方式抗爭那就算了，現在動不動就青鳥飛出來，營造自己很大尾的假象，結果人越來越少。漂浪島嶼\u0026ndash;munch #10萬青鳥去哪裡_面對少數統治的事實。只要餵給他們一勺抗中保台馬上變成憤怒鳥，就能無視事實，無能狂怒。最近還要浪費國家資源亂罷免立委，民進黨內部都沒人覺得他疑似有點太極端了嘛，嗯，還真有。柯建銘拋雙罷，王世堅：反對仇恨式罷免 - 中央社 國民黨有人想跟著上車搞大罷免，但似乎只是講講而已。\n20250108 Tshing-niáu-? Tshenn-mê-tsiáu-á! 我又看到一堆人以封鎖他人為豪的行為了，他們認為意見不合的人都是智障，不然就網軍，所以用自以為正義的封鎖方式對待。基本上除非刻意來我這邊洗板騷擾，構成霸凌行為，否則我不會主動封鎖別人。主要是我不想手動製造同溫層泡泡。不能因為思想令人不快就禁止它，即使它是反對黨的意見一樣。好比，我在動態牆看到小草的貼文會高興一陣子，看到綠營側翼甚或是中國小粉紅的貼文就會噁心一整天，但我不會做「謾罵一大串之後再封鎖對方」這種精神勝利法的行為。如果我判定對方就是死皮賴臉，沒什麼好講的場合，最多\u0026hellip;就滑過去而已，你要原諒他，他可憐沒人教他。再按一下「我不想看到這個」稍稍淨化下演算法，雖然我知道這按鈕根本沒什麼用。美國主流論壇Reddit只允許woke聲音，把conservative都趕走發生了什麼事？結果就是大家以為卡瑪拉會贏，但卻是川普當選了，跟現實世界脫節。理解不同的意見存在有其必要性，大量封鎖、惡意檢舉，強制噤聲的做法只會製造更厚的同溫層，滅了不同的意見管道便會使人越來越極端，到最後中立的言論也會變得刺耳（立場溫和的反對黨，願意理性討論的），變成你只看你想看到的東西，然後到處抓敵人，認為除了自己支持的民進黨以外其他人都在賣國\u0026hellip;..青鳥就會變成青暝鳥(tshenn-mê-tsiáu-á)。\n20250108 旺旺中時集團意圖透過訴訟干擾維基百科運作，這種行為真的母湯。【連署聲明】支持開放知識及社群價值 聲援台灣維基媒體協會對抗濫訴 - 軟體自由協會\n20250107 其實Linux很多東西現在用容器化就能搞定。我們這些後輩是越來越沒辦法理解安裝二進位檔跑伺服器服務的操作了，只有很少部份我覺得重要的服務會用Systemd管理。用樹莓派的時候總會發現許多特殊的作業系統，玩電玩專用的RetroPie、智慧家電專用的Home Assistant、音樂伺服器專用的Volumio等等。為了特定用途，有必要安裝專用的(dedicated)作業系統嗎？我想這有其好處，樹莓派主要用SD卡開機，使用者可以在多張SD卡寫入系統，達成換卡換系統的操作，就好像電玩卡帶一樣，也不用擔心環境被其他套件弄亂。再加上以前樹莓派硬體性能受限，必須充分利用資源的緣故，所以安裝一個專門為特定用途優化到極致的系統有其必要。不過，Docker和Podman興起後，減少了環境配置的麻煩。使用者只要拉取映像檔就能部署許多伺服器服務了，上面說的多個作業系統完全能轉換成一個個Docker容器。再者，容器化保證環境不會輕易被污染，不喜歡的服務刪掉就好了。樹莓派5的規格已經大幅提升，完全有能力撐起更多服務。容器化技術比虛擬機輕量許多，一張大容量SD卡足以取代多張SD卡。官方開發的Raspberry Pi OS已足夠應付self-hosted需求。\n20250107 雖然說換到Linux後，自己幾乎脫離了專有軟體的範圍，包括用LibreOffice和Google文件取代Microsoft Office，再用以前通識學Photoshop的經驗轉換到GIMP/Krita，但是還是會有需要用到專業軟體的時候，例如我修過語言統計學的課程，計算結果必須要用到IBM SPSS跑，這個軟體需要透過學校授權碼啟用。我是成功在Linux用Wine跑起來了，但是某個選單會當掉，為了避免期末被當掉，所以我還是認命在Windows虛擬機跑。更尷尬的事情發生了，向教授提議做實驗可不以改用開源軟體跑統計，結果出糗。SPSS替代品頗多，乾脆用R語言吧，但寫程式太麻煩了！我有找到GNU PSPP，界面照抄，可是好像只有Linux版還有在維護。另外一個是幾間大學共同維護的JASP，界面很現代，可是當我把成對樣本T檢定的數據輸入後，居然得到跟SPSS完全不同的結果。果然對統計學一無所知的小呆腦還是不要太看得起自己了，乖乖用指定軟體，依照指示，按鈕按一按就解決的事情。\n20250107 同情民眾黨聲音的人士相對少，而且跟綠營側翼一樣，有些怪咖都想來當柯粉。黃國昌可能是這裡面真的有料的知識型網紅，雖然最近主持風格越來越像館長，但不改他的專業素養。為了改善資訊來源過於單一的問題，所以我一直在尋找親民眾黨的聲音，順便增強相關議題方面的知識，有武器能支持論述。除了製作攻訐執政黨素材的戰組（例如亞克、Daddy Chang、一哥、不禮貌鄉民團），有利宣傳議題之外，還要有一定知識水準的人士站出來，對抗綠師與犬法官。名嘴（如蔡正元、郭正亮，邱毅就算了吧）意見勉強可以參考，但是我希望是老師學者類的人物，是相對中立一些，並且說話有理的，不搞側翼出征文化的操作。最近又找到一位了：罷免連署條件之修正－信口雌黃快走開，請用法理說服我｜如果侵害參政權我的救濟方式是？｜#廖震談時事 EP29。標準補習班老師的上課方式，偶爾會用法律人特有的文謅謅用語婊一下政府。他的見解是基於法理下去講的，不是政論節目的情緒性發言，我認為他的內容這還是相對客觀的，很接近事實查核中心的態度（這個組織雖然常常被說綠營側翼，但是他們的闢謠文章其實已經算很中立了），鼓勵大家理性點去討論議題，而且對民眾黨也不吝於批評。這集節目廖震講的好：「我們每天活在政治裡面，但我們要每天活在選舉裡面嗎？」人民參政權不是給你這樣浪費社會資源用的。\n20250107 Threads有一篇文章認為，小草都是非專業人士，還是跑外送的社會底層，總是跑去跟專業人士討論政治議題就是在自曝其短。民眾黨是不是都是魯蛇支持者組成的，搞得好像是反建制的力量要對抗精英政治？這個推論本身就有問題，非專業人士跟專業人士戰的情況不是民眾黨特例，挑一些情緒性攻擊的留言出來鞭有什麼意思？不得不承認，我黨很多人也愛做這種事，把某位塔綠班的暴論截圖出來，大家再一起嘲笑，這種搬屎行為實在無趣。有些人會用社群媒體風向下去評斷一件事情，但有沒有可能是封鎖太多人，吸收資訊過於單一，同溫層太厚才得出這種結論，少看點三民自吧。柯文哲認為民眾黨是精英型政黨，統計資料也顯示年輕人多為大學學歷者支持民眾黨，怎麼會都是低端。穿草鞋的是有啦，但不是全部。不如問問，那些人，不要說既得利益者，就說明知道事情不對勁，但為了政治和自身利益考量所以拼命亂護航執政黨惡劣政策的人，又是存何居心？他們究竟跟哪邊的人民站在一起？從來如此，便對麼？\n20250106 小知識：Ubuntu touch的Waydroid的LineageOS可以存取宿主機相機，這是postmarketOS望塵莫及的。這代表\u0026hellip;即使在Ubuntu touch也是能用Gcam的！電腦版Linux有人建議要加入libcamera支援，好將WebCam直通進去，但Waydroid開發者尚未實現。裝置採用Halium（將Biconic轉成glibc的技術）移植，就有機率讓Android的驅動在Linux跑起來，所以相機方面的問題較容易解決。我聽說FuriPhone FLX1手機因為採用類似Halium的技術，所以他們也能在自家的Debian系統順利存取相機（那個驅動是專為Android設計的）。有趣的是他們不使用Waydroid來跑Android APP，而是自己開發一個Android App Container，除了能存取宿主機的相機外，還支援GPS與NFC直通！ v24.12: The One With Androids \u0026amp; Cameras, But It\u0026rsquo;s Mainline Linux 從Android機修改來的postmarketOS裝置，目前只有Pixel 3A和Fairphone 5勉強讓相機動了起來，其他Android手機依然是broken。而且也只能拍照而已喔！錄影還是問題。\n20250105 西元2075年，泛用型人形機器人已經實現低成本普及化，人人花iPhone的錢就能買到一隻作伴，不用編寫複雜程式就能上手。Apple公司推出Pro Max的潮潮外型機器人，每五年就會因為系統升級變卡失智，因為不能換零件只能強制報廢。Google推出理工人類型的機器人，你每講一句話就傳到後端伺服器，跟廣告公司交換資料，再由機器人的嘴巴說出建議你等會可以買什麼。但由於開放機器人聯盟的規格太亂，有人花Apple十分之一價格買到的所謂高CP值機器人每講幾句就會跳針熱當，然後他們就會說果然Android\u0026hellip;額不是，這台爛機器人就是比不上Apple啦！那個時候，我跟一群駭客們，還在研究怎麼在這台機器人上面裝GNU/Linux，解除bootloader lock之後，繼續我們那個自由軟體的夢。機器人的外型好似Richard Stallman，我們保證這是不會追蹤使用者的系統，身邊常伴一台手機終端機，準備在機器人的GUI崩潰的時候，SSH終端機登入進去修系統。這台機器人只要當機，就會跟身邊的人說「I run Arch btw」\n20250105 最適合裝Linux的，往往是非專為Linux設計的硬體嗎？在這些硬體安裝Linux，是不是就像「把你的靈魂接在我的線路上，讓這個世界開始旋轉」？東方快車合唱團的非常好歌曲！你使我旋轉！Macbook裝Linux的體驗總是比Windows筆電裝Linux好麼？或許吧。儘管Framework和System76有出專門的Linux筆電，但是在平板市場還沒有夠好的產品出現，可能是沒有市場？到頭來Surface就變成最好的Linux平板載體了。大廠設計有保證，價格對得起硬體，配件好買，這個產品線也一直有在更新。且x86對Linux的支援度真的不錯，Surface Go和Surface Pro的支援度比ARM處理器的Surface Pro X要好很多。\n20250105 問問題前請先google。菩提本無樹，何處惹棕色塵埃（這款大奶賣肉遊戲的脫衣機制玩的挺花的，比第七史詩還要誇張）。用Linux越久越有萬法歸一的感悟，到最後會知道根本沒有發行版之間的差別，大家都是用Linux核心，不過是上層表相不一樣罷了。欸但是這不代表每個人都能接受自己debug的覺悟，即使理論上各發行版的差異不若與其他作業系統差異那樣大，可是就是常有unreproducible bugs的情況發生 == 故我不推薦新手用太小眾的發行版，就為了標新立異。還是先從比較多人用的開始吧，入世才能出世。除非你自認是程式天才，能夠在沒有實務經驗之下就悟出作業系統的本質，然後說我要手寫一個震撼世界的新系統。如果你脫離GNOME和KDE，去用其他tiling window manager，例如Hyprland，需要設定GTK和QT環境變數，了解XDG背後的標準就更能體會到這點。那些你在主流桌面環境習以為常的操作，竟然是背後許多開發者努力的積累。並且需要凝聚社區共識，制定標準才能形成現在的自由軟體世界，且更多時候需要妥協，找到大家勉強都能接受的共識。雖然Linux乍看之下好像碎片化，每個發行版之間標準不一，但其實還是有規律在。這就是為什麼要RTFM！！！一個好的系統一定有好的說明文件，RedHat有精美的文件，Debian有專門的手冊，Arch Linux有詳細的Wiki，更何況還有很多人在stackoverflow問問題，這些你都不看就來當伸手牌不是欠罵是什麼。依照網路上廣泛誤傳的達克效應圖 達克效應（DK Effect）的美麗錯誤 — — 對無知的無法認知：愚昧之巔、絕望之谷 by Coach Chiao，可能我現在還在愚昧之巔，認為知道一點Linux指令就很厲害了，但是背後要學的東西還有很多，墜入絕望之谷/dev/null之後還是要靠著意志力繼續向前。\n20250105 圖片 哪～快告訴老實說熊熊，Macbook是不是螢幕看起來比其他筆電漂亮，不然就送你去古拉格。Apple的LCD螢幕真的好漂亮，超越我所有LCD螢幕。左邊為iPad Air 6，右邊為MSI Modern 15。讓我恨不得用擷取卡外接螢幕的方式也要用iPad螢幕當我的Linux筆電輸出了。Apple的產品長久盯著不會酸，不會被錯誤顏色拖累視覺。儘管我知道花多點錢就能買到一樣品質的讓Linux用，好螢幕並非Apple專利，但是這種開箱體驗真的好，不像那些惡劣廠商賣二萬塊筆電卻還在用NTSC 72%甚至更低的面板。真的不應該花大錢配抗藍光鏡片的，現在我看的世界都是一片光鮮亮麗。或許這一年來的新鏡片讓我過去的憂鬱瞳孔，往外看的時候多了一些暖活的感覺，卻讓山不再是山，水不再水。應當是死白的東西，總是添上飴色的濾鏡，脫掉之後才發現這世界本來就沒有那麼美好。加上我對顏色其實有莫名的敏感，雖然不是設計師，可是追求顏色要準確，故，我不喜歡這個人為的東西干擾視野。就像我非常討厭手機的「藍光護眼」、「夜間模式」、「原彩」一樣，也不喜歡GCam的後製 == 一旦被差別相迷惑，就再也看不清實相。\n20250105 How (and why) to deGoogle your life and protect your privacy - Protonmail Degoogle不是從這個火坑跳入另一個火坑就能解決的事情。源自歐美的草根運動，去Google化(Degoogle)，主張拋棄Google的服務，改用其他替代品。但有人竟然去改用Microsoft或者Apple甚至中國品牌生態系的服務，私以為這是不夠的。這不過是從第一個火坑跳到另一個火坑的行為。Degoogle的做法，應當與自由軟體、隱私權的概念連結起來。就拿Email供應商來說吧，雖然並非完全開源，但是ProtonMail和TutaMail已經算是目前最尊重隱私的電子郵件服務了。手機呢，從Android換iPhone只會讓情況更糟糕，因為你連手機的控制權都失去了。即使Apple宣稱尊重隱私也不過是虛情假意，為什麼呢？ 齊澤克｜星巴克要你買的不是咖啡，而是為自己贖罪的意識形態 - 香港01 。現在純Linux手機還不成熟。比較務實的做法是買自由刷機的硬體，裝刷LineageOS、GrapheneOS這類系統。再講搜尋引擎，SearX和Kagi Search都是不錯替代品。Duckduckgo中文搜尋非常爛，不推薦。最後一個重要的，YouTube，怎麼辦，根本無可替代！我是覺得沒有必要完全拋棄，但是我們可以透過戴保險套的方式存取YouTube，防止被追蹤，例如使用Invidious服務。\n20250104 有了語言模型軟體，用樹莓派搞一個AI助理應該是可行的，有人做過串接ChatGPT的操作 sucv/HoloLive2dChatbot: A ChatGPT powered and holographic chatbot based on Qt and Live2D SDK. It is conceptually a DIY-ed Gatebox.。我想要用低成本的方案達成日本Gatebox初音未來的那種體驗。Ollama或者SillyTavern都能接受語音輸入指令，並且能夠展示3D模型。接著就要煩惱如何讓這個AI助理有「立體」的感覺。花錢買機器人零件來組裝太麻煩了，我要的是人形助理不是機器狗！全息投影(hologram)可能是一個便宜的方案。利用視覺錯視的原理便能達成全息投影，像是用壓克力板鋸一個金字塔出來，樹莓派接上一塊小螢幕，播放拆成四面向的影片，影像就會合成在金字塔裡面，就像是真的投影出來。Maria. DIY pseudo-holographic virtual assistant by J. Peter。這個方式材料很便宜。如果覺得金字塔太難組，影片要切成四等分太麻煩，改在箱子裡面放一片斜板也是可行的。How to Make 3D Hologram Video Projector at Home | DIY - Creative SL，甚至還有思樂冰杯蓋版 Make a hologram projector with plastic glass cap || DIY 3D Hologram - Creative fest。稍微貴一點的方案，還有3D全息投影風扇，它透過高速旋轉，加上控制LED燈排列來投影影像，視覺效果更華麗，我看產品簡介差點想買了。但是這個方法需要在風扇上面跑專有的RTOS作業系統，並透過專有的APP與之溝通（且程式八成沒有Linux版），故我沒辦法接受這個方案。這種東西似乎只有中國廠商在做，希望哪天有人能把hologram fan的程式碼開源吧。這樣我們就能把樹莓派黏在普通的電風扇上，再串接LED燈，土炮出全息投影風扇的效果。\n20250104 I hate watching videos for information - r/unpopularopinion 如果對娛樂至死有概念，就很難中社群媒體公司的計了。Doom scrolling 滑社群媒體讓人心煩，我最討厭的就是圖片和影片了，搏眼球的內容太多了，尤其現在短影音時代更嚴重，為了搶觀看率就會進一步壓縮影片時長，搞注意力經濟，導致影片變成速食文化。真的厭煩，看這種東西會損害大腦，啊啊但是這些東西好像都很多人愛看，甚至參與產出低質內容，原來我才是被多數人群拋棄的那一方麼。以前我可能也沉迷過這類內容，但是我現在是討厭這點了。不論是YouTube還是Bilibili，我看到那些影片縮圖就覺得噁心，這也是為什麼會有DeArrow擴充功能出現吧，展示真正的影片縮圖，不要在縮圖放一堆箭頭和扮鬼臉吸引注意。此外還有NewPipe及Invidious，改善這紛紛擾擾的視聽體驗。能不能不要整天只想著炒作這炒作那的，給我適當份量的資訊就好，一分鐘就講完的東西偏要塞一堆業配內容包裝為十分鐘，去你的。這樣說來，改看文字版社群就比影片要好嗎？那也得看是什麼社群。Threads和Dcard上面智障一行文依然很多，可見很多人沒了炒作用的影音就連表達想法都有問題。PTT還能接受，網頁版沒有自動開圖，但是年輕使用者有減少的趨勢。Reddit沒有Hacker News好，因為Reddit還是能夠貼圖，炒作狗依然太多了。在Hacker News，我比較能感受到平靜，這可能是古代論壇式網站的好處吧。\n20230104 換張SD記憶卡，把RPi樹莓派變Wi-Fi Router - 陸向陽 樹莓派5安裝OpenWrt，連接數據機當路由器？四核心CPU當路由器這算是overkill了。讓樹莓派成為類似市面上Wifi分享器的用途，能夠接收數據機的訊號。並且連接電腦，提供Wifi訊號。理論上不裝OpenWrt也是可以當路由器，預設的Debian系統設定一下也能轉為路由。不過換系統就是抽換一張SD卡的事情。那麼還是安裝專用的路由器系統吧！OpenWrt開箱即用，比較好設定。不用擔心OpenWrt是太小眾的Linux發行版而缺乏套件。即使要臨時跑一些服務，OpenWrt也有Docker能用！是否需要天線？如果真的硬要把樹莓派當Wifi分享器，又要求訊號能穿牆的話，購買天線是必備的。樹莓派預設只有一個RJ45接頭，沒辦法容納多部電腦的乙太網路連線。OpenWRT不需要太高容量的SD卡，32GB就夠用了。\n20250103 想改嘗試主流的架網站工具了，Hugo這類SSG適合喜歡DIY的人使用，但不適合想要架網站專注寫內容的一般人。以前我以為Wordpress不夠自由，但是他們幾乎是業界標準的工具，是de facto的事實標準。比起自幹前後端，或是用HTML + CSS + JavaScript三板斧胡亂組合出一個網站，Wordpress已提供一個標準化的網站管理工具，所以我想嘗試切換到這個結構，知道何謂「正常人」管理網站的方式。受Static Website Generator的中毒太深了，看到什麼做網頁的框架都想能不能有靜態HTML生成功能XD 因為我依然想要低成本架網站，serverless架構。單純託管HTML檔案的話就不用付那麼多主機費用了。那麼我就想呀，Wordpress有靜態網頁生成的plugin能用，那麼或許能在Linux Docker跑一個Local Wordpress當作編輯器後台，然後再輸出為純HTML部署？變更還能夠用Git追蹤。Wordpress網站後台不要上線，僅限本機存取，訪客看到的只有HTML檔案。\n20250103 台灣的街景就是被華國美學和閩猴的審美搞爛的哈，不要當殖人就覺得自己很高級哈。總有些人懷念日治時期甚於國民政府時期，因為他們建築比較漂亮，大日本帝國在當時也比支那民國進步文明一些，再加上228事件不分青紅皂白開屠，這樣的反差不免讓人懷念過去。感覺我讀過的課本和一些歷史書有這種描述，刻意引導人產生這種想法。甚至會比較說日本和中國哪個是「較為合法」取得台灣島主權的。ㄟ可是，那是當時一些台籍精英的想法，都經過多久了，還抱持這種想法的人又怎樣呢？恨意延續那麼久，信樂團的千年之戀被你變成千年之恨了。章魚哥：你有沒有注意到他們已經都不存在了.jpg。我蠻反感「國仇家恨」的歷史觀的，好好學習歷史，讀遍各方說法，知道發生了那些事情的悲劇之後，為的就是讓過去的錯誤不再發生，可有些人總喜歡煽動仇恨，用意識形態合法化自己的重蹈覆轍式的、迫害報復行為，哪來的轉型正義可言呢。發現minorities怎麼就愛抱團呢，minorities族群會找同樣是minorities族群的人在一起，比如支持台獨，可能還會支持LGBT，然後支持其他文青喜愛的政治正確議題，當個星巴克社會主義者，蔚為風尚。切！我才不要搞這種身份政治。貓會獨立的生活，不像野狗會成群結隊！每個人的政治座標系不一樣，看事情角度不同，沒有絕對中立的人，所以在某個議題下面發表「終於有正常人出現了」更多時候是在拐彎抹角的說「終於有跟我同一掛的人出現了」。回到剛才議題。自認為少數群體的人，因為縫合太多好似正義的議題，所以非常容易成為固執的左逼，那左逼整天說要反省殖民主義，發明什麼後殖民主義的人，這些人對日本的統治又怎麼說呢？斯德哥爾摩症候群的好例子。還是說，台灣島被各國人種都屠過一輪，就因為日台親善緣故，那些壞事就能輕輕帶過？胡蘿蔔加大肉棒的策略對這些人可真有效。正常國家本來就要交流，但有些人總認為日本跟台灣是兄弟之邦，如膠似漆，這就顯得諂媚噁心了。一些反賊說，中國人五行缺爹，繼承千年來的君王思想，沒有平等的概念，對世界的認識都是認為背後要有一個人控制誰的不對等關係，因為這樣簡單的陰謀論更讓人容易理解複雜的世界。那有些台灣人真不愧繼承了中國人的血脈，總認為自己需要一個強力的爸爸！別人就是另外一個邪惡的爸爸控制的！我們要保護自己爸爸的利益，所以才有那句經典的「我是你爸爸」。「沒實力就不要大小聲」這句話本身可能也是一種缺爹觀的展現。但是他們不知道，世界不是牢籠，是一個巨大的花園。\n20250101 TEDxTaipei 2013 柯文哲 生死的智慧 再會了，辭掉民眾黨黨主席的柯文哲，你是我們生命中重要的導師之一，阿北的生死觀早就看得透徹，所以才教我們繼續心存善念吧。這部影片讓我想到一件事，我一想到未來會死掉，就不禁悲從中來，雖然我離那個時候還很遙遠。大概是我讀小學五年級的時候吧，那天不知怎的，人生第一次想到這個概念，沒有網路的時代，只看圖書館借來的書怎麼會有這種想法呢。突然發現人終有一死。簡單的計算完父母還有自己的年齡後，突然覺得相處的時間並不是很長。所以就在吃飯的時候哭了。父母當時覺得我莫名其妙，我也覺得奇怪，為何這麼小就會開始想這種事情。現在看來，或許跟我當時被言語霸凌有關係吧，那個時候似乎還有半夜亂夢遊的情況發生，但我的小腦袋瓜還不知道霸凌這種概念。終於有一次撐不住，回家忍不住大哭，父母才知道這些事。雖然我曾經檢舉過了霸凌的其中一個同學，我爸還打到學校去罵老師，讓老師罵那個人，使他收斂些，不過其他人的霸凌排擠行為還是沒有消失。難道是我個性的錯嗎？No，我絕對不接受這種理由，如果讓小孩認為一切都是他的錯會毀掉自尊心的。Tears For Fears - Mad World 這些事情太遙遠了難以回想，回想到了也是一些不好的回憶。那至少我學過一些教育理論之後，知道絕對不能這樣粗暴的處理霸凌問題的，起碼我想讓未來接觸到的學生不再受到這種痛苦折磨，能幫一個是一個。\u0026hellip;\u0026hellip;扯太遠了，關於死的問題，要到成年後才會認真的下去思考，似乎並沒有一個確定的答案告訴我們人生的目的，在邁向死亡之前，不少人還會先失智，忘記自己是誰，然後痛苦的死去。科學沒辦法回答這些問題，就像柯文哲的生死觀，什麼熵要大於0，這個太難懂啦。還是讓哲學來信服人吧。我書讀得不多，目前只知道卡謬講「自殺是唯一嚴肅的哲學問題」，所以暫時別想著主動尋死吧，不如想怎樣才算活著？此外佛法告訴我們很多道理，能夠看透生死問題，這個未來有待我慢慢學習。就算不讀佛法，它也會自己來找你。人們最常體驗的佛法道理，應該就是「無常」了。終於活到了我這把年紀，驚覺過去的一切都在崩壞中。年齡只比我大幾歲的家具、交通工具都逐漸壞了了，父母也逐漸老去。過去熟悉的一切隨著我的成長慢慢消失，可是我得到了什麼來填補這些空缺呢？人生識字憂患始。我希望未來能夠多一點東西來填補，並在這個世界上留下些什麼。壞的東西，換新的就好了。美好的瞬間，就讓它定格在美好的時候。因為珍惜當下，才能更證明我們活著。\n","date":"2025年12月1日","externalUrl":null,"permalink":"/posts/timeline-2025/","section":"Personals","summary":" 【閱讀前須知】\n此處是我為取代Facebook動態牆製作的特別網頁，跟首頁的長篇文章不同，這裡是紀錄簡短想法的筆記之用，部份想法可能會另外彙整成文。\n這裡的微部落格充滿各種觀點，尚未經過打磨，有反映時事，有靈光隨想，有偏激之言，有政治評論，可能冒犯到所有人。僅代表個人意見，請謹慎閱讀。\nParrhesia，即只說真話不欺瞞，有負面的後果也在所不惜。說真話不只是言論自由，真理顯現也符合大眾利益，更是公民義務。唯有對自己誠實才能讓我們解脫。\nHumility is not thinking less of yourself, it is thinking of yourself less. 謙卑不是看輕自己，而是不僅為自己著想。\n2025年\n20251231 又是一事無成的一年，不過起碼有點收穫和前進了，找到了志同道合的夥伴，不再是孤帆於迷霧中前進。不必再單純依賴政治的熱情撐住我活下去，生活中有了更多積極意義的事物。這不是終結，而是新的開始。我們應該樂觀一點。ABBA - Happy New Year 每次我總是會用LINE傳這首歌給中意的年上女性。\n","title":"2025年動態牆","type":"personal"},{"content":"","date":"2025年11月27日","externalUrl":null,"permalink":"/tags/dynamic-wallpaper/","section":"標籤","summary":"","title":"Dynamic Wallpaper","type":"tags"},{"content":"","date":"2025年11月27日","externalUrl":null,"permalink":"/tags/live2d/","section":"標籤","summary":"","title":"Live2D","type":"tags"},{"content":"","date":"2025年11月27日","externalUrl":null,"permalink":"/tags/wallpaper-engine/","section":"標籤","summary":"","title":"Wallpaper Engine","type":"tags"},{"content":"您使用GNOME當Linux桌面的老婆會恨死這個網站提供的插件。\n想要在Linux擁有動態桌布(dynamic wallpaper)嗎？KDE Plasma用戶有福了。\nWindows軟體「桌布引擎」可以透過第三方專案在Linux執行，Github開發者catsout將Wallpaper Engine整合到KDE Plasma桌面，直接在電腦桌面放各種酷炫的特效，相容Windows上的各種Wallpaper Engine桌布。 動態桌布，有的附贈音樂 可以用滑鼠互動的動態桌布 甚至播放影片都不是問題\nSteam Deck因為使用KDE當桌面環境，稍作修改也是可以跑Wallpaper Engine的。 使用HoloISO拍攝\n影片安裝教學\n注意：Wallpaper Engine為Kristjan Skutta開發的專有軟體，官方文件指出目前還沒有正式支援Linux的計畫，本文介紹的軟體是第三方開發的，只能給KDE Plasma桌面使用。在意這點的用戶請改用同類產品（見文末）\n1. 安裝Wallpaper Engine for KDE # Wallpaper Engine for KDE支援Ubuntu、Debian、Fedora、openSUSE、Arch Linux、SteamOS系統，可於X11與Wayland環境使用。\n開啟KDE系統設定 → 關於這個系統，確認你的KDE Plasma版本。\n按照系統安裝Wallpaper Engine for KDE的依賴套件。原作者catsout的wallpaper-engine-kde-plugin沒有提供預先編譯好的套件，需要使用者手動編譯，但是我覺得這樣更新會很不方便。所以我改用slynobody的SteamOS-wallpaper-engine-kde-plugin所提供的安裝包。\n例如，Debian 13與Ubuntu 26.04的用戶，就到Github Releases，下載對應KDE 6.3的.deb檔，再執行以下指令安裝即可：\nsudo apt install ./int_wallpaper_engine_qt6-1-1_amd64.deb 至於SteamOS 3.7，執行以下指令安裝：\nsudo steamos-devmode enable --no-prompt sudo wget https://github.com/slynobody/SteamOS-wallpaper-engine-kde-plugin/releases/download/0.5.5c_arch/WallpaperEngine_kde6-3_1c-1-x86_64.pkg.tar.zst sudo pacman -U ./WallpaperEngine_kde6-3_1c-1-x86_64.pkg.tar.zst --overwrite \u0026#39;*\u0026#39; plasmapkg2 -r ~/.local/share/plasma/wallpapers/com.github.casout.wallpaperEngineKde \u0026amp;\u0026amp; qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript \u0026#39;var allDesktops = desktops();print (allDesktops);for (i=0;i\u0026lt;allDesktops.length;i++) {d = allDesktops[i];d.wallpaperPlugin = \u0026#34;org.kde.image\u0026#34;;d.currentConfigGroup = Array(\u0026#34;Wallpaper\u0026#34;, \u0026#34;org.kde.image\u0026#34;, \u0026#34;General\u0026#34;);d.writeConfig(\u0026#34;Image\u0026#34;, \u0026#34;file:///media/sda2/Background/SpaceWall/Escape_Function.jpg\u0026#34;)}\u0026#39; \u0026amp; plasmashell --replace \u0026amp; sudo steamos-readonly enable 手動編譯（進階用戶適用，點選展開） Ubuntu Ubuntu 24.04提供的最新套件是KDE Plasma 5.27，但Github上面main分支是QT6。需要切換到QT5的分支，再手動編譯：\n# 安裝依賴套件 sudo apt install build-essential libvulkan-dev plasma-workspace-dev gstreamer1.0-libav \\ liblz4-dev libmpv-dev python3-websockets qtbase5-private-dev \\ libqt5x11extras5-dev \\ qml-module-qtwebchannel qml-module-qtwebsockets cmake # 複製儲存庫，選取QT5分支 git clone -b qt5 https://github.com/catsout/wallpaper-engine-kde-plugin.git cd wallpaper-engine-kde-plugin git submodule update --init --force --recursive cmake -B build -S . -GNinja -DUSE_PLASMAPKG=ON cmake --build build sudo cmake --install build cmake --build build --target install_pkg Arch Linux Arch Linux提供的最新套件是使用QT6的KDE Plasma 6。\n建議從AUR安裝，讓它自動拉取需要的依賴套件。\nyay -S plasma6-wallpapers-wallpaper-engine-git SteamOS SteamOS 3提供的套件是KDE Plasma 5.27。\nSteam Deck因為系統設計緣故，每次系統更新後都要重做以下步驟，重新安裝Wallpaper Engine套件。\nSteam Deck進入桌面模式(Desktop Mode)，點選左下角選單，開啟Konsole終端機。解除唯讀模式才能編譯安裝：\nsudo steamos-devmode enable --no-prompt # 注意看終端機有無紅字錯誤訊息 sudo pacman-key --init sudo pacman-key --populate archlinux sudo pacman-key --populate holo sudo pacman -Syy sudo pacman -Syu sudo pacman -S extra-cmake-modules plasma-framework5 gst-libav ninja \\ base-devel mpv python-websockets qt5-declarative qt5-websockets qt5-webchannel vulkan-headers cmake git clone https://github.com/catsout/wallpaper-engine-kde-plugin.git cd wallpaper-engine-kde-plugin git submodule update --init --force --recursive cmake -B build -S . -GNinja -DUSE_PLASMAPKG=ON cmake --build build sudo cmake --install build cmake --build build --target install_pkg sudo steamos-readonly enable 裝好後重啟Plasma shell服務，或是直接重開機。 systemctl --user restart plasma-plasmashell.service 2. 安裝Wallpaper Engine # 於Linux安裝Steam客戶端，至Steam商店購買Wallpaper Engine：桌布引擎。注意Linux的Wallpaper Engine是靠Proton跑的，有問題請到ProtonDB看討論。\n在收藏庫對Wallpaper Engine按右鍵，點選內容，勾選「強制啟用特定Steam Play相容性工具」，並選取最新版Proton。 啟動選取一律啟動64位元。 回到KDE桌面，在桌面空白處右鍵點選「設定桌面」，點選「取得新的外掛程式」，搜尋安裝「Wallpaper Engine KDE Plugin」，安裝tar.gz版本的套件。 將桌布類型設定為Wallpaper Engine for KDE 點選Library資料夾圖示，選取Steam收藏庫下的Steam目錄（不是Wallpaper Engine的目錄，也不是steamapps）。你可能得在檔案選擇器按右鍵，點\u0026quot;Show Hidden Folders\u0026quot;才能看到隱藏目錄。 Steam收藏庫目錄位置可在Steam設定 → 收藏庫查看。\nLinux的路徑：~/.local/share/Steam或~/.steam/steam\nFlatpak版的路徑：~/.var/app/com.valvesoftware.Steam/data/Steam\nSteam Deck的路徑：/home/deck/.local/share/Steam\n3. 選取動態桌布或自製桌布 # 目前Wallpaper Engine for KDE不支援Linux鎖定畫面，不支援3D模型與使用者指令稿，某些桌布可能會沒效果。\n開啟Steam，啟動桌布引擎。啟動後會跑到右下角，點選檢視Steam工作坊 從裡面挑一個喜歡的，按下訂閱，等待其下載完成。（如果界面打不開，你也可以在Steam收藏庫對Wallpaper Engine按右鍵 → 內容 → 工作坊，點選「造訪工作坊」，從Steam工作坊網頁訂閱桌布） 回到KDE桌面的桌布設定選單，點Refresh重新載入桌布列表，即會看到下載好的桌布，點選套用 另可點選桌布引擎裡面的「桌布編輯器」，自訂桌布，匯入喜愛的圖片，自己做一個桌布。 KDE預設會將桌布靜音，到設定裡面將Mute Audio關閉。另外開啟Scale and Crop讓桌布放大到螢幕大小。 一旦桌布設定好後就不用理它了，重開機Wallpaper Engine plugin for KDE會自動啟動，不需開啟Steam，也無需開啟Wallpaper Engine的主界面。不用透過Proton就能顯示桌布。不過，若您想成為Steam上「正在遊玩此遊戲」的一份子的話，將Wallpaper Engine加入Steam開機自動啟動，這樣Wallpaper Engine就會開機自動啟動商店。\n如果選取某個桌布之後導致Plasma桌面頻繁崩潰，無法重啟，就只能按Ctrl + Alt + F2進入Linux的tty，登入帳號，切換到Steam收藏庫目錄下的/steamapps/workshop/content/431960/，刪除那個有問題的桌布，或是暫時把Steam收藏庫目錄重新命名。再重新啟動電腦。\n4. 改善Wallpaper Engine的效能 # 跑Wallpaper Engine對電腦效能是一定會有影響的，它會佔用一部分CPU和GPU資源算繪，畫質開中的情況下佔用顯示卡約500MB VRAM。 如要減少開銷，右鍵開啟Wallpaper Engine在系統匣的設定，調整畫質與FPS。 並到KDE桌面Wallpaper Engine，設定有視窗最大化(Maximized Window)就暫停桌布播放的規則。 如果你的Linux電腦有兩張顯示卡，或許可以給Steam客戶端設定Nvidia PRIME環境變數，指定Wallpaper Engine使用算力較強的顯示卡來計算。不過，因為開發者把Wallpaper Engine設計為Plasma Shell的一個外掛，變成Plasma shell的行程也得用Nvidia顯示卡跑，所以此方法不可行。Wallpaper Engine吃到的GPU硬體加速，必須是由Plasma shell使用的同一個顯示卡提供。\n其他Linux動態桌布方案 # fantascene-dynamic-wallpaper：支援GNOME桌面的Wallpaper Engine軟體，功能略少。 linux-wallpaperengine：純指令執行的Wallpaper Engine，比較適合搭配i3、Sway這類的平鋪視窗管理器使用。 Hidamari：支援GNOME桌面的開源動態桌布軟體。 ","date":"2025年11月27日","externalUrl":null,"permalink":"/posts/linux-wallpaper-engine-kde-plugin/","section":"所有文章","summary":"您使用GNOME當Linux桌面的老婆會恨死這個網站提供的插件。\n想要在Linux擁有動態桌布(dynamic wallpaper)嗎？KDE Plasma用戶有福了。\nWindows軟體「桌布引擎」可以透過第三方專案在Linux執行，Github開發者catsout將Wallpaper Engine整合到KDE Plasma桌面，直接在電腦桌面放各種酷炫的特效，相容Windows上的各種Wallpaper Engine桌布。 動態桌布，有的附贈音樂 可以用滑鼠互動的動態桌布 甚至播放影片都不是問題\nSteam Deck因為使用KDE當桌面環境，稍作修改也是可以跑Wallpaper Engine的。 使用HoloISO拍攝\n影片安裝教學\n注意：Wallpaper Engine為Kristjan Skutta開發的專有軟體，官方文件指出目前還沒有正式支援Linux的計畫，本文介紹的軟體是第三方開發的，只能給KDE Plasma桌面使用。在意這點的用戶請改用同類產品（見文末）\n1. 安裝Wallpaper Engine for KDE # Wallpaper Engine for KDE支援Ubuntu、Debian、Fedora、openSUSE、Arch Linux、SteamOS系統，可於X11與Wayland環境使用。\n","title":"將KDE桌面換上動態桌布吧！ Linux版Wallpaper Engine安裝方法","type":"posts"},{"content":"","date":"2025年11月23日","externalUrl":null,"permalink":"/tags/libimobiledevice/","section":"標籤","summary":"","title":"Libimobiledevice","type":"tags"},{"content":"","date":"2025年11月23日","externalUrl":null,"permalink":"/tags/video4linux/","section":"標籤","summary":"","title":"Video4Linux","type":"tags"},{"content":"「iDescriptor」是類似3uTools的一個開源軟體。支援Linux、Windows、macOS系統。 它算是一個「工具箱」的軟體，能夠讓我們檢視iPhone與iPad裝置上的檔案，不需要越獄。主要功能有：\n檢視iPhone系統資訊 匯入iPhone的照片 瀏覽APP分享的檔案 將iPhone的目錄掛載到電腦上存取 啟動AirPlay伺服器讓iPhone投影 安裝App Store的APP，抽取IPA 查看傳輸線晶片資訊 將iPhone螢幕顯示在電腦上（需要iOS 16以下） 偽裝iPhone的GPS位置（需要iOS 16以下） 在越獄的裝置上開啟SSH終端機 過去有很多副廠開發的「蘋果助手」軟體，但都有隱私疑慮，而且還會收費。跟那些商業軟體比起來，iDescriptor是開放原始碼的軟體，無收費，無廣告，不會收集任何使用者資料～！\n這個軟體對Linux用戶尤其有用，因為iTunes長期以來都沒有Linux版，用Wine跑功能也都怪怪的，只得依賴libimobiledevice的命令行工具控制，或者透過桌面環境的檔案管理員來存取iPhone檔案。\n而iDescriptor背後使用了libimobiledevice，可以說是集合各家大成所開發的圖形化軟體。\n目前iDescriptor還缺了idevicebackup的備份iOS系統，以及AltStore側載IPA的功能。這些理論上都是能透過開源工具做到的，就看作者要不要更新囉！\n1. 安裝iDescriptor # 到Github依照作業系統下載安裝檔。\nUbuntu下載.AppImage點兩下執行。Windows下載.msi安裝。macOS下載.dmg安裝。\nLinux初次安裝後，iDescriptor應該會要求安裝udev規則。設定後要重新開機才有效果。 初次插入電腦的時候，需要在iOS裝置點選「信任這部電腦」。\n2. 匯入iOS照片到電腦 # P.S.其實你不用透過iDescriptor，通常iPhone插入到電腦就會被識別為一個相機裝置，透過PTP協定匯入就行了。\n目前只能匯入照片到電腦，無法傳送到iOS裝置。\n點Gallery → 100APPLE，選取照片，然後點選Export匯出照片。 3. 瀏覽iOS裝置的檔案 # 類似iTunes檔案共享的功能。\nAPP有允許分享檔案的話，就會在這裡看到APP的檔案。不過目前還不能匯入整個資料夾，有點不便，只能點選箭頭按鈕匯入匯出檔案。 也可以直接透過ifuse掛載，點Toolbox → iFuse Mount，用Linux的系統檔案管理器操作檔案。但這裡就只能看到DCIM目錄下的照片而已。 4. 投影iOS裝置螢幕到電腦 # 這個功能取自UxPlay。\n這個功能不需要用USB線連著iOS裝置也可以使用。\n讓電腦與iOS裝置位於同一個Wifi網路下，點選Toolbox → AirPlayer，啟動投影伺服器，然後從iOS的「控制中心」點選投影到iDescriptor即可。 勾選V4L2的話，則是可以將iOS的畫面作為OBS Studio的虛擬攝影機使用。\n另外，Toolbox → Live Screen這個投影螢幕的方式延遲更小，直接透過USB線條顯示iPhone畫面，但這個功能要在iOS 16以下版本的裝置才能觸發～且不支援音訊。 5. 抽取IPA # 從電腦端控制iOS裝置，下載APP，或者抽取IPA到電腦，做「學術用途」之用。\n需要在Apps頁面登入Apple帳號，登入憑證只會儲存在本機。 ","date":"2025年11月23日","externalUrl":null,"permalink":"/posts/ios-idescriptor/","section":"所有文章","summary":"「iDescriptor」是類似3uTools的一個開源軟體。支援Linux、Windows、macOS系統。 它算是一個「工具箱」的軟體，能夠讓我們檢視iPhone與iPad裝置上的檔案，不需要越獄。主要功能有：\n檢視iPhone系統資訊 匯入iPhone的照片 瀏覽APP分享的檔案 將iPhone的目錄掛載到電腦上存取 啟動AirPlay伺服器讓iPhone投影 安裝App Store的APP，抽取IPA 查看傳輸線晶片資訊 將iPhone螢幕顯示在電腦上（需要iOS 16以下） 偽裝iPhone的GPS位置（需要iOS 16以下） 在越獄的裝置上開啟SSH終端機 過去有很多副廠開發的「蘋果助手」軟體，但都有隱私疑慮，而且還會收費。跟那些商業軟體比起來，iDescriptor是開放原始碼的軟體，無收費，無廣告，不會收集任何使用者資料～！\n這個軟體對Linux用戶尤其有用，因為iTunes長期以來都沒有Linux版，用Wine跑功能也都怪怪的，只得依賴libimobiledevice的命令行工具控制，或者透過桌面環境的檔案管理員來存取iPhone檔案。\n而iDescriptor背後使用了libimobiledevice，可以說是集合各家大成所開發的圖形化軟體。\n目前iDescriptor還缺了idevicebackup的備份iOS系統，以及AltStore側載IPA的功能。這些理論上都是能透過開源工具做到的，就看作者要不要更新囉！\n","title":"在Linux利用開源免費的iDescriptor管理iPhone的檔案","type":"posts"},{"content":"睽違多年才推出的黏土人！\n《玲音》是1999年出品的實驗性動畫，在日本本土算冷門作品，可是意外的在歐美科技圈很受歡迎。我以前有寫過一篇賞析：「玲音」Serial Experiments Lain 動畫劇情解說與個人詮釋\n已經是27年前播出的日本動畫了，在歐美科技圈頗受歡迎。對Linux、macOS、網路文化、集體潛意識、開源軟體、駭客精神、IPv7等電腦主題有興趣的觀眾一定要看看本作！\n從那個時候起我就一直很想購買週邊商品～可惜我找到的都是設計師安倍吉俊上了年代的畫冊，模型也沒幾隻。\n看到GSC在動畫播映27週年後，於2025年正式推出黏土人，自然是老淚縱橫（？）馬上下訂！2026年還有更大隻的POP UP PARADE版本，也是馬上預購！\n第一隻黏土人就獻給Lain了❤️ 黏土人編號2356 特典是一個「Serial Experiments Lain」字樣的底座。我覺得沒什麼就沒買，只買代理版。\nGSC今年發售的岩倉玲音，內附贈三種表情，三種手勢。配件有書包，以及可以寫Lisp程式的紅色手機（至少動畫裡面是這樣演的） 附贈透明背板，仿造古早CRT螢幕的效果，可以營造出\u0026quot;Present Day, Present Time.\u0026ldquo;的氛圍。 紙盒拆開後裡面有Lain房間的背景紙卡，裡面都是滿滿的電腦主機。 看看妳，玩Linux玩的。我拍不好這種氛圍，上面只好借用GSC官方的圖片讓大家看的比較清楚了。 可惜的是，為什麼就是沒有熊熊裝的版本呢～？\n連Wired相關的配件也普普通通，難以呈現原作的科技世界恐怖氛圍。我看到黏土人的配件有一張透明板，勉強能呈現\u0026quot;Present day. Present time.\u0026ldquo;的感覺吧。\n此外，岩倉玲音的學生服少女樣子，還缺一隻瑞城愛麗絲作伴呀～\n我認為這隻Lain很適合在在我日後拍攝科技產品的時候，充當小幫手，點綴畫面，不要使畫面過於單調，並讓知道這個文化圈子的看了能會心一笑。\n","date":"2025年11月22日","externalUrl":null,"permalink":"/posts/gsc-nendoroid-lain-iwakura/","section":"Artworks","summary":"睽違多年才推出的黏土人！\n《玲音》是1999年出品的實驗性動畫，在日本本土算冷門作品，可是意外的在歐美科技圈很受歡迎。我以前有寫過一篇賞析：「玲音」Serial Experiments Lain 動畫劇情解說與個人詮釋\n已經是27年前播出的日本動畫了，在歐美科技圈頗受歡迎。對Linux、macOS、網路文化、集體潛意識、開源軟體、駭客精神、IPv7等電腦主題有興趣的觀眾一定要看看本作！\n從那個時候起我就一直很想購買週邊商品～可惜我找到的都是設計師安倍吉俊上了年代的畫冊，模型也沒幾隻。\n看到GSC在動畫播映27週年後，於2025年正式推出黏土人，自然是老淚縱橫（？）馬上下訂！2026年還有更大隻的POP UP PARADE版本，也是馬上預購！\n第一隻黏土人就獻給Lain了❤️ 黏土人編號2356 特典是一個「Serial Experiments Lain」字樣的底座。我覺得沒什麼就沒買，只買代理版。\nGSC今年發售的岩倉玲音，內附贈三種表情，三種手勢。配件有書包，以及可以寫Lisp程式的紅色手機（至少動畫裡面是這樣演的） 附贈透明背板，仿造古早CRT螢幕的效果，可以營造出\"Present Day, Present Time.“的氛圍。 紙盒拆開後裡面有Lain房間的背景紙卡，裡面都是滿滿的電腦主機。 ","title":"岩倉玲音 GSC黏土人開箱 ~ Let's all love Lain ~","type":"artwork"},{"content":"最近在Linux系統測試了幾款熱門的美少女遊戲(Galgame, visual novel games, ADV)，俗稱小黃遊。\n測試環境包括Ubuntu、Debian、Fedora、Arch Linux、openSUSE、Gentoo。\n要在Linux玩Galgame類型的遊戲，就跟其他遊戲一樣，要用賭的，因為大多數Galgame僅針對Windows平台開發，Linux得賭Wine是否能跑得起來。\n首先說明可以嘗試的方法，並列出測試結果。\n最後介紹稀有動物：原生支援Linux的Galgame。\n1. 可以嘗試的方法 # 以下是優先度由易到難的方法，讓Mr. Incredible為您解說。 第一是到Steam的ProtonDB看遊戲支援狀況，過濾條件設「Visual Novel」。如果有就買正版，用Steam Proton跑，一切都由Steam客戶端自動設定好，這是最不費力的。\n比方說《CLANNAD》有通過認證，那就直接買下去吧。Steam相比網路上下載的盜版好處是遊戲檔案完整且不用破解，部份還已經推出中文版翻譯，頂多R18內容需要另外打補丁而已。 即使缺少部份套件，用ProtonTricks就能補齊，這個程式也能給遊戲打補丁。例如使用Kirikiri引擎的遊戲，播放遊戲內影片需要手動安裝wmp11與directshow。\n可是這樣對盜版仔和成人遊戲玩家一點都不友善ㄟ？所幸ProtonDB背後的技術就是Wine，所以還有參考價值，Proton能跑，Wine也大機率能跑。\n第二種方法是使用Bottles + Wine建立Wine容器，它會自動安裝DirectX和設定好DXVK等常用套件。\n遊戲路徑不要有空格，不要有中文，放在Bottles的假C槽跑。\n用這個賭賭看遊戲能不能啟動，我測試的結果約是50%成功率，少部份遊戲需要額外裝cjkfonts和allfonts的字體套件，並使用環境變數LC_ALL=\u0026quot;ja_JP.UTF-8\u0026quot;強制設定成日文才能跑。\n如果Bottles開不起來，我就會直接用VM了，下一種步驟太麻煩。\n第三種，用指令自行設定Wine環境。你要熟悉使用WINEPREFIX、WINEARCH、winetricks等工具，去WineDB看某人的回報，自行裝某個版本的Visual C++ Redistributable\u0026hellip;。我認為遊戲若無法用前二種方法跑，手動用Wine指令配環境就是在折磨自己。或許會有人在Lutris或Github提供快速安裝script，可多半是限定於某一熱門遊戲。針對Galgame，尤其同人遊戲幾乎沒有script能用。眼看折騰幾小時後，遊戲開起來了\u0026hellip;！然後又崩潰你絕對會氣死。 當遊戲跑不起來的時候： Wine指令跑跑小程式還行，複雜一點便容易出亂子，有劇情的Galgame可一點都不是小程式。\n第四種，這是萬用解，開Windows虛擬機。Linux有QEMU/KVM，免費又高效率，加上Galgame普遍不需要3D性能也能玩。將Linux的檔案系統掛載為即可與虛擬機互相傳檔案。\n還有比較野的路子，像是裝Waydroid，然後用某某Android的模擬器玩第三方移植到手機的Galgame\u0026hellip;或是用ONScripter模擬器什麼的。\n2. 測試成功執行的Galgame # Wine版本9.0，Steam Proton版本9.0。如上節所述，只要Steam或Bottles開不起來就會放棄。\n我有限的知識只知道這些遊戲而已。\n柚子社(YuzuSoft)的遊戲多半可以透過Steam啟動。\n《命運石之門》(STENINS;GATE)、《逆轉裁判》(Phoenix Wright)系列、《蒼之彼方的四重奏》(Aokana) 能以Steam啟動。\n《Nekopara》貓娘樂園，以Wine啟動，Steam也行 《Fate/Stay Night》以Wine啟動 《CLANNAD》以Wine啟動 《AIR》以Wine啟動 《Kanon》以Wine啟動 《暮蟬悲鳴時》(Higurashi)，又稱寒蟬鳴泣之時，以Wine啟動 《沙耶之歌》(Saya no Uta)以Steam啟動 《Teaching Feeling》與奴隸的生活，以Wine啟動 《Euphoria》以Wine啟動 《Eden*》以Steam啟動 3. 原生支援Linux的Galgame # 其實這是2022年6月我研究創用CC與遊戲的關係所得出的副產物。\n開源遊戲已經很少了，可程式碼部份屬於專有軟體的Galgame居然也有能在Linux玩的。\nLinux可以玩的Galgame有以下幾款：\n《片輪少女》(Katawa Shoujo)不是正式公司發行的Galgame，而是由4chan網友合力製作的作品，以殘疾人士當主題。Steam有上架。 泣系小品《narcissu》水仙，作者有在Steam上放出免費版。 《槍彈辯駁》(Danganronpa)系列原生支援Linux，能用Steam啟動。\n恐怖遊戲《Doki Doki Literature Club!》心跳文學社支援Linux。遊戲檔案裡面有一個shell指令稿，執行就能啟動。 還有很多小品遊戲也支援Linux，不過就歐美的居多。\n","date":"2025年11月18日","externalUrl":null,"permalink":"/posts/galgames-on-linux/","section":"所有文章","summary":"最近在Linux系統測試了幾款熱門的美少女遊戲(Galgame, visual novel games, ADV)，俗稱小黃遊。\n測試環境包括Ubuntu、Debian、Fedora、Arch Linux、openSUSE、Gentoo。\n要在Linux玩Galgame類型的遊戲，就跟其他遊戲一樣，要用賭的，因為大多數Galgame僅針對Windows平台開發，Linux得賭Wine是否能跑得起來。\n首先說明可以嘗試的方法，並列出測試結果。\n最後介紹稀有動物：原生支援Linux的Galgame。\n1. 可以嘗試的方法 # 以下是優先度由易到難的方法，讓Mr. Incredible為您解說。 第一是到Steam的ProtonDB看遊戲支援狀況，過濾條件設「Visual Novel」。如果有就買正版，用Steam Proton跑，一切都由Steam客戶端自動設定好，這是最不費力的。\n比方說《CLANNAD》有通過認證，那就直接買下去吧。Steam相比網路上下載的盜版好處是遊戲檔案完整且不用破解，部份還已經推出中文版翻譯，頂多R18內容需要另外打補丁而已。 即使缺少部份套件，用ProtonTricks就能補齊，這個程式也能給遊戲打補丁。例如使用Kirikiri引擎的遊戲，播放遊戲內影片需要手動安裝wmp11與directshow。\n可是這樣對盜版仔和成人遊戲玩家一點都不友善ㄟ？所幸ProtonDB背後的技術就是Wine，所以還有參考價值，Proton能跑，Wine也大機率能跑。\n","title":" Linux玩Windows的Galgame遊戲的一些方法","type":"posts"},{"content":"Lossless Scaling，俗稱小黃鴨，為一款封閉原始碼的軟體，能夠透過AI演算法補幀，改善遊戲遊玩時候的流暢度。功能類似Nvidia DLSS。 同時也能放大遊戲解析度，提供FSR、NIS、Anime4K等放大濾鏡。\n這個軟體長期只有Windows版本，作者本身沒有開發Linux的意願。考慮到他使用Windows API進行影像處理，要移植的難度很高。\n不過有個厲害的開發者PancakeTAS就自行撰寫了「lsfg-vk」的開源轉譯軟體，能將其指令轉譯為Vulkan，如此Lossless Scaling就能在Linux上運作啦。\nLossless Scaling會給Linux遊戲全域啟用補幀。準確來說，lsfg-vk是透過注入Vulkan的連結檔，給Linux系統上所有使用Vulkan繪製圖形的程式啟用補幀。\n這個軟體推薦給高階顯卡用戶使用，我的Intel Arc A380撐不住，看似遊戲會變流暢但是GPU隨時都在100%。 可惜的是，目前lsfg-vk這個軟體只有實現AI補幀的部份，還沒有將畫面放大的功能給加進來。想要放大解析度的話得暫時用Gamescope。\n1. 安裝lsfg-vk # 使用前，請先在Steam購買Lossless Scaling，不需要啟動，只要下載就好。\n到lsfg-vk的Github Releases依照發行版下載安裝檔。例如Ubuntu就下載.deb檔安裝：\nsudo apt install ./lsfg-vk-*.x86_64.deb 如果要在Flatpak程式使用Lossless Scaling，就安裝Flatpak版套件，並賦予讀取lsfg-vk設定檔目錄的權限，再設定環境變數 flatpak --user install ./org.freedesktop.Platform.VulkanLayer.lsfg_vk_*.flatpak mkdir -pv ~/.config/lsfg-vk flatpak override --user --filesystem=/home/\u0026lt;user\u0026gt;/.config/lsfg-vk:rw \u0026lt;應用程式ID\u0026gt; flatpak override --user --env=LSFG_CONFIG=/home/\u0026lt;user\u0026gt;/.config/lsfg-vk/conf.toml \u0026lt;應用程式ID\u0026gt; 2. 新增遊戲的設定檔 # 開啟lsfg-vk Configuration Window，這個GUI會將設定檔存在~/.config/lsfg-vk/conf.toml\n選取Lossless.dll的路徑，如果不確定在哪裡，在Steam收藏庫對Lossless Scaling點選右鍵，瀏覽檔案。 接著，依照個別遊戲在左側列表新增設定檔。lsfg-vk是透過注入Vulkan的連結檔來實現補幀的，因此要針對個別遊戲設定。\n如何找出遊戲exe或執行檔的名稱？在Steam啟動遊戲，然後按一下Profile Name右邊的搜尋按鈕，它會列出目前開啟的行程視窗，選取遊戲的行程名稱。 這樣子設定，預設補幀兩倍，視調整的倍率不同，畫面可能會出現果凍感。注意補幀是很吃GPU性能的，建議先從2x開始試試，確認GPU可以負擔再提高數值。開啟Performance Mode可以獲得更好效能但是會犧牲品質。 於lsfg-vk-config-ui設定完成後，開啟遊戲後就會有效果了。lsfg-vk是全域啟動的，對Windows或Linux程式皆有效。\nFPS實際是否有增加，可以透過MangoHud讀取。不過MangoHud顯示的不見得是補幀後的數值。\n3. 搭配MPV給影片補幀 # 儘管並非最初設計的目的，用lsfg給影片補幀也是可行的。\n注意這個補幀方式比MVTools和SVP還要吃GPU資源。\n安裝MPV。編輯MPV設定檔~/.config/mpv/mpv.conf，加入gpu-api=vulkan，啟用Vulkan渲染\n在lsfg-vk Configuration Window新增一個設定檔，設定檔名稱輸入mpv\n這樣之後所有開啟的MPV視窗，皆會自動套用補幀規則。 ","date":"2025年11月17日","externalUrl":null,"permalink":"/posts/loseless-scaling-lsfg-vk/","section":"所有文章","summary":"Lossless Scaling，俗稱小黃鴨，為一款封閉原始碼的軟體，能夠透過AI演算法補幀，改善遊戲遊玩時候的流暢度。功能類似Nvidia DLSS。 同時也能放大遊戲解析度，提供FSR、NIS、Anime4K等放大濾鏡。\n這個軟體長期只有Windows版本，作者本身沒有開發Linux的意願。考慮到他使用Windows API進行影像處理，要移植的難度很高。\n不過有個厲害的開發者PancakeTAS就自行撰寫了「lsfg-vk」的開源轉譯軟體，能將其指令轉譯為Vulkan，如此Lossless Scaling就能在Linux上運作啦。\nLossless Scaling會給Linux遊戲全域啟用補幀。準確來說，lsfg-vk是透過注入Vulkan的連結檔，給Linux系統上所有使用Vulkan繪製圖形的程式啟用補幀。\n這個軟體推薦給高階顯卡用戶使用，我的Intel Arc A380撐不住，看似遊戲會變流暢但是GPU隨時都在100%。 可惜的是，目前lsfg-vk這個軟體只有實現AI補幀的部份，還沒有將畫面放大的功能給加進來。想要放大解析度的話得暫時用Gamescope。\n1. 安裝lsfg-vk # 使用前，請先在Steam購買Lossless Scaling，不需要啟動，只要下載就好。\n","title":"Linux如何使用 lsfg-vk + 小黃鴨 (Lossless Scaling) 給遊戲補幀","type":"posts"},{"content":"","date":"2025年11月17日","externalUrl":null,"permalink":"/tags/motion-interpolation/","section":"標籤","summary":"","title":"Motion Interpolation","type":"tags"},{"content":"MPV, Command line video player.\n","date":"2025年11月17日","externalUrl":null,"permalink":"/tags/mpv/","section":"標籤","summary":"MPV, Command line video player.\n","title":"MPV","type":"tags"},{"content":"《STEINS;GATE 比翼恋理のだーりん》（《命運石之門 比翼連理的戀人》）是2011年5pb.推出的遊戲，為2009年《命運石之門》的外傳作品。 這個遊戲支援Windows系統，Linux可以用Proton玩。在Steam上架的版本只有英文版翻譯，需要自行找漢化patch。\n目前還沒有出改編動畫。\n劇情大概是岡部倫太郎發D-mail跳躍到各種不同的世界線，沒有發生戰爭與悲劇，與每一位女主角展開戀愛關係的故事。算是主角們玩樂日常的延續。 喔，不過這裡依然沒有真正的色色啦！是普遍級遊戲。\n在玩《STEINS;GATE》主線後，不看這個也沒差，就只是外傳性質的遊戲而已。\n我覺得適合有興趣的玩家購買，透過各種小故事補全角色的其他面貌！\n攻略方式很簡單，在電話微波爐之前發D-mail的時機決定了結局。\n參考Steam社群攻略：《命运石之门：比翼恋理的爱人》部分成就攻略\n什麼都不做的話可以獲得跟牧瀬紅莉栖一起睡覺的體驗，這也太輕鬆了。 琉華子的劇情我覺得\u0026hellip;恐怕是裡面最無聊的，就是兩人用了紅莉栖的裝置一起做了個屠龍的白日夢。但AVG的表現形式讓整個畫面實在很難好看起來。但是，他還是男的！！！ 萌郁的劇情有點尷尬，突然變樂團番，可惜的是沒有唱出來。莫名其妙喜歡上幫自己打掃家裡的岡部，露出熟女的笑容。 菲莉絲與4℃打起女僕咖啡廳商業競爭，這個就蠻有看頭的www後來用國稅局反將對方一軍。 讓眾人穿女僕裝的效果非常好，尤其是紅莉栖的抖S蛋包飯\u0026hellip;\u0026hellip; 鈴羽線揭示了媽媽的存在，不過那要到《命運石之門0》才會完整登場。 跟前作反過來，這次的殘酷二選一，以及發D-mail的任務落到了幼馴染身上，女主角才真的變成真由理。讓你更加知道主角為什麼要拼了命救她。真有理的劇情量是本作裡面最長的，全程都在發糖，還有生離死別搬家的狗血劇情。 跟女高中生求婚，要你做我一輩子的人質。達魯說的沒錯，你這個犯罪者！！！ ","date":"2025年11月14日","externalUrl":null,"permalink":"/posts/steins-gate-my-darlings-embrace-game-review/","section":"Reviews","summary":"《STEINS;GATE 比翼恋理のだーりん》（《命運石之門 比翼連理的戀人》）是2011年5pb.推出的遊戲，為2009年《命運石之門》的外傳作品。 這個遊戲支援Windows系統，Linux可以用Proton玩。在Steam上架的版本只有英文版翻譯，需要自行找漢化patch。\n目前還沒有出改編動畫。\n劇情大概是岡部倫太郎發D-mail跳躍到各種不同的世界線，沒有發生戰爭與悲劇，與每一位女主角展開戀愛關係的故事。算是主角們玩樂日常的延續。 喔，不過這裡依然沒有真正的色色啦！是普遍級遊戲。\n在玩《STEINS;GATE》主線後，不看這個也沒差，就只是外傳性質的遊戲而已。\n我覺得適合有興趣的玩家購買，透過各種小故事補全角色的其他面貌！\n攻略方式很簡單，在電話微波爐之前發D-mail的時機決定了結局。\n參考Steam社群攻略：《命运石之门：比翼恋理的爱人》部分成就攻略\n什麼都不做的話可以獲得跟牧瀬紅莉栖一起睡覺的體驗，這也太輕鬆了。 琉華子的劇情我覺得…恐怕是裡面最無聊的，就是兩人用了紅莉栖的裝置一起做了個屠龍的白日夢。但AVG的表現形式讓整個畫面實在很難好看起來。但是，他還是男的！！！ 萌郁的劇情有點尷尬，突然變樂團番，可惜的是沒有唱出來。莫名其妙喜歡上幫自己打掃家裡的岡部，露出熟女的笑容。 ","title":"《命運石之門 比翼連理的戀人》小感，甜蜜清涼小品","type":"review"},{"content":"Gamescope是Valve開發的迷你合成器，主要用於Steam Deck的系統，提供良好的掌機體驗。對Linux桌面的用戶來說，它是增進遊戲體驗的一個小工具。\n它會在遊戲執行的時候啟動一個XWayland的巢狀工作階段，然後遊戲會以XWayland客戶端在這個合成器當中執行。這個時候，合成畫面的工作會從你目前的Linux桌面的合成器，移交給Gamescope處理，透過這個合成器達成我們想要修改的畫面效果。\n比如，給遊戲啟用HDR與VRR功能。HDR在Linux上是相對新穎的技術，Gamescope幾年前剛出來的時候，還沒有半個Linux桌面支援HDR協定呢！Gamescope是率先實現這個技術的。\nGamescope有縮放解析度的功能，可以用AMD FSR縮放低解析度的遊戲，讓遊戲以指定的解析度執行。這個功能很像Winecfg的虛擬桌面功能，不過Gamescope還可以強制讓遊戲全螢幕執行，並兼具放大解析度的效果。\n例如，你在4K的顯示器玩20年前的老遊戲，視窗化會覺得太小，放大後又會糊掉，Gamescope能緩解這個問題。\n又或者，你可以透過Gamescope，強制放大《Undertale》這類遊戲的視窗大小。這個遊戲原本只有很小的視窗，無法縮放。透過Gamescope執行之後，就能強制放到最大。 Gamescope也能降低畫質，限制遊戲執行中的螢幕更新率。嗯？為什麼要降低畫質和FPS？推測是延長Steam Deck續航力的操作，以及降低高畫質遊戲對效能的需求。不過一般Linux電腦的用戶應該是用不到這個功能。\n最後，Gamescope也能夠當成一個桌面環境使用，也就是開機後，直接啟動Steam，跑在Gamescope下，進入Big Picture Mode玩遊戲，把你的Linux電腦變成一台DIY的Steam Machine的感覺。 影片示例： 1. Gamescope支援的顯示卡 # 推薦使用Intel與AMD。\nNvidia專有驅動需要515以上版本，且要記得在GRUB啟用nvidia-drm-nomodeset=1。\n講些技術性的東西：Gamescope有一個隱藏功能，就是在啟動後將OpenGL的程式轉成Vulkan（有點類似用Zink去跑OpenGL的操作）。雖說，Proton執行的遊戲本來就是用Vulkan執行了。不過對那些原生支援Linux的遊戲來說，仍有一部分是使用OpenGL。轉成Vulkan後或許能提昇一些效能。\n2. 安裝Gamescope # 雖然Gamescope沒有說一定要跟Steam一起用，不過我還是建議先安裝Linux版Steam客戶端。\nGamescope原始碼位於Github\nArch Linux安裝Gamescope：\nsudo pacman -S gamescope Ubuntu與Debian沒有收錄Gamescope套件，我是用這個人做的.deb檔安裝的：https://github.com/akdor1154/gamescope-pkg。不然你可能要考慮手動編譯。\n如果要用Flatpak安裝Gamescope也可以，注意要跟Flatpak版Steam的依賴版本對上。使用flatpak list --app --app-runtime=org.freedesktop.Platform指令檢查目前Flatpak版Steam依賴的是哪個org.freedesktop.Platform，再安裝對應的Gamescope版本：\nflatpak install org.freedesktop.Platform.VulkanLayer.gamescope 請注意Flatpak版Gamescope只能被其他Flatpak的程式（例如Lutris、Bottles、Steam Flatpak）調用，無法獨立執行。\n3. Gamescope指令語法 # 格式如下，Gamescope的參數與實際要執行的程式，中間用--分隔。`\ngamescope \u0026lt;參數\u0026gt; -- \u0026lt;要啟動的程式指令\u0026gt; 後面啟動的程式，可以是Linux原生程式的執行檔路徑，也可以是Wine指令。不過通常我是在Steam內使用比較多，所以這裡我都會以Steam當範例。\n例如，給Steam遊戲啟用HDR與VRR，除了遊戲本身要支援外，電腦硬體也要支援才有用：\ngamescope --hdr-enabled --adaptive-sync -- %command% 修改遊戲執行時的解析度，將解析度為1080p的遊戲，縮放到4K輸出：\ngamescope -w 1920 -h 1080 -W 3840 -H 2160 -F fsr -- %command% 有時候啟動遊戲的時候抓不到滑鼠，加上參數--force-grab-cursor強制擷取。\nGamescope所啟動的遊戲視窗，預設會壓縮成720p。可以使用AMD FSR縮放程式到1440p解析度，螢幕更新率60Hz。加上-f可以強制進入全螢幕，如果不加-f則會以視窗啟動程式。\ngamescope -h 720 -H 1440 -r 60 -F fsr -- %command% 使用縮放的時候，可以按以下快捷鍵觀察效果：\nWindows鍵 + n 開啟最近過濾放大 Windows鍵 + u 開關AMD FSR Windows鍵 + y 開關Nvidia NIS（另一種放大技術） Windows鍵 + o 增加AMD FSR銳利度， Windows鍵 + i減少AMD FSR銳利度。 4. 給Steam遊戲啟用Gamescope # 在Steam遊戲收藏庫，對遊戲點選右鍵 → 內容，編輯啟動選項。\n指令基本格式如下，%command%是固定值，不要變更。\ngamescope -W 1920 -H 1080 -r 60 -- %command% 5. 在遊戲中顯示FPS # 這個功能是搭配MangoHud使用的，請先在Linux系統安裝MangoHud。\n使用Gamescope啟動遊戲的時候，不能同時執行MangoHud，需要使用以下語法啟動：\ngamescope --mangoapp -- %command% 如果要在Big Picture Mode裡面使用MangoHud，則是得手動編輯遊戲啟動選項，不用加上gamescope指令：\nmangohud %command% 6. 開機直接進入Steam Big Picture Mode # Linux開機後，啟動Gamescope工作階段，然後啟動Steam，進入Big Picture Mode玩遊戲。剩下的桌面操作，都在Steam界面進行。在Big Picture Mode開啟的遊戲，都會用Gamescope執行。\n說實話，除非你的電腦沒有接上鍵盤滑鼠，只用手把操作，否則沒有使用這個模式的必要。因為Steam客戶端在Linux桌面執行的時候，本來就可以手動進入全螢幕的Big Picture Mode了！\n新增以下Desktop Entry。 sudo vim /usr/share/wayland-sessions/steam-big-picture.desktop 填入以下內容。用which steam確認Steam執行檔路徑，應該是/usr/bin/steam。Gamescope應該會嘗試偵測顯示器解析度，不過你也可以在這裡用參數-W 1920 -H 1080指定你的顯示器所支援的最大解析度。 [Desktop Entry] Name=Steam Big Picture Mode Comment=Start Steam in Big Picture Mode Exec=/usr/bin/gamescope -e -- /usr/bin/steam -tenfoot Type=Application 然後重開機，就會在Linux的登入界面看到Steam的選項，進入後就只會啟動Steam。於Big Picure Mode所有遊戲會自動用gamescope啟動，不需要在啟動選項加上gamescope指令。 Gamescope可能不會自動啟動Linux的網路服務，所以需要用nmcli device set wlan0 autoconnect yes指令設定Wifi開機自動連線，並編輯藍牙設定/etc/bluetooth/main.conf，啟用AutoEnable=true自動連線。\n如果要開機自動登入Gamescope，就修改顯示管理器設定。例如我使用SDDM，就在KDE的系統設定，開啟自動登入Gamescope工作階段。 需要注意：Steam選單的「切換到桌面模式」，在這裡是不可以使用的。需要手動用kill指令殺掉Steam行程，退回顯示管理器的界面。\n要將以上動作復原，按Ctrl + Alt + F2，進入tty，編輯SDDM的自動登入設定檔/etc/sddm.conf.d/，將User=與Session的數值設定為空就可以了。\n參考資料 # Gamescope - Arch Wiki\n","date":"2025年11月14日","externalUrl":null,"permalink":"/posts/steam-gamescope/","section":"所有文章","summary":"Gamescope是Valve開發的迷你合成器，主要用於Steam Deck的系統，提供良好的掌機體驗。對Linux桌面的用戶來說，它是增進遊戲體驗的一個小工具。\n它會在遊戲執行的時候啟動一個XWayland的巢狀工作階段，然後遊戲會以XWayland客戶端在這個合成器當中執行。這個時候，合成畫面的工作會從你目前的Linux桌面的合成器，移交給Gamescope處理，透過這個合成器達成我們想要修改的畫面效果。\n比如，給遊戲啟用HDR與VRR功能。HDR在Linux上是相對新穎的技術，Gamescope幾年前剛出來的時候，還沒有半個Linux桌面支援HDR協定呢！Gamescope是率先實現這個技術的。\nGamescope有縮放解析度的功能，可以用AMD FSR縮放低解析度的遊戲，讓遊戲以指定的解析度執行。這個功能很像Winecfg的虛擬桌面功能，不過Gamescope還可以強制讓遊戲全螢幕執行，並兼具放大解析度的效果。\n例如，你在4K的顯示器玩20年前的老遊戲，視窗化會覺得太小，放大後又會糊掉，Gamescope能緩解這個問題。\n又或者，你可以透過Gamescope，強制放大《Undertale》這類遊戲的視窗大小。這個遊戲原本只有很小的視窗，無法縮放。透過Gamescope執行之後，就能強制放到最大。 ","title":"Gamescope縮放遊戲解析度 + Linux開機直接進入Steam Big Picture Mode","type":"posts"},{"content":"","date":"2025年11月14日","externalUrl":null,"permalink":"/tags/lutris/","section":"標籤","summary":"","title":"Lutris","type":"tags"},{"content":"最近，看到全新Intel Arc A380 ELF 6GB的便宜價格，還有那小巧的尺寸，我決定要踏入邪教的深淵了，用它取代被官方放生驅動的Nvidia GTX1050Ti！ 用了8年的老電腦配置：\nMB：ASUS K31CDK-K LGA1151 CPU：Intel i5-7400 RAM：16GB DDR4 GPU：Nvidia GTX 1050Ti PSU：Chicony D16-300N1A 300W OS：Debian GNU/Linux 13，Linux Kernel 6.12，桌面KDE Plasma 6.3 Wayland 目標將是Nvidia顯示卡更換為Intel顯示卡。\n1. 為什麼要買Intel Arc顯示卡 # 這裡是我的購買動機，不想看這些廢話的就跳下一段。\n從這篇新聞開始：Linus Torvalds still uses an AMD RX 580 from 2017 — also ditches Apple Silicon for an Intel laptop - Tom’s Hardware\n看到Linus Torvalds大師還在使用2017年發表的AMD RX580顯示卡，就想著我是不是也該逃離N卡的魔窟了呢。他老人家比較在乎編譯Linux核心的速度吧，所以他的CPU用Threadripper。Nvidia圖形驅動在Linux的情況，跟在Windows上是相反的。這裡AMD反倒比較穩定。AMD的驅動包含在Linux核心，不需要額外安裝。而且AMD有持續貢獻上游，最新開源驅動可以支援到2012年的舊卡，就算原廠停止更新專有驅動，開源驅動依然能提供支援。反觀Nvidia需要獨立安裝驅動，不開源就算了，還每過幾年就淘汰一批舊卡。\n手上的Nvidia GTX1050Ti被譽為一代75W省電神卡，雖然陪我度過了6年歲月依然堅挺著進行運算哪，我總是填滿她那小小的4G VRAM，不論是打War Thunder的高品質渲染還是進行AI生圖任務都任勞任怨。但是它也給我帶來太多傷痛了，Nvidia驅動在Linux非常容易出問題，Wayland破圖或者黑螢幕、KDE X11畫面撕裂等等，還會有一堆Mesa的標準沒有實現，這就是專有軟體的通病，至少跟Intel與AMD比起來是相對不穩定。這幾年，Nvidia驅動是有慢慢越來越好，可，今年GTX10系列的驅動就要被原廠放生了。\n雖然沒有圖中那麼誇張，我的意思是，Nvidia顯示卡在Linux桌面根本就是小丑== 所以我應該買一張性能相近的AMD舊卡替換掉它。考慮到現有電供瓦數上限，我覺得AMD RX560是不錯人選，二手價格大約2000台幣。這樣我只要犧牲掉CUDA的相容性就能換到更好的Linux桌面體驗。ZLUDA或許是個救星。但我又不能買太舊的卡，因為ROCm不支援RDNA以前的架構啊，得靠社群方式暴力繞過。\n只要下定決心\u0026hellip;\u0026hellip;大家都可以得救。\n經過高人提點，我又跑去看Intel顯示卡，於是看到了價格實惠的Intel Arc，價格3700台幣而已耶。\n我主要使用顯示卡的用途：玩遊戲、加速AI計算、影片轉碼。常用的GenAI軟體Stable Diffusion和Ollama需要PyTorch，應該支援Intel Arc…吧。Linux Kernel 6.12以上版本的Mesa應該也已經合併Intel Arc驅動了…吧。我是有看到一些Vulkan標準支援不齊的問題，這可能會影響Steam Proton遊戲，得使用滾動發行版才能快速取得bugfix了吧。不支援DirectX 9？沒差，反正在Linux上都是透過DXVK轉譯為Vulkan了。\n還有個問題，Intel Arc要求Resizable Bar才能發揮全速，老電腦要開Resizable Bar搞不好需要patch UEFI才能啟用呀。\n原本我想買二手AMD RX560的，不過考慮到這張顯示卡的年紀，還是買近代一點的產品比較好，還可以享有AV1編碼的優勢。再加一點錢上去，還有RTX3050 Low Profile 6G可以選，這個同樣是為了低功耗設計的顯示卡。但是我說了\u0026hellip;要逃離Nvidia魔窟！要拒絕誘惑。\n儘管會在PTT PC_Shopping板出沒的大師看到我目前的電腦配置，都建議蛋雕，整組換新的，不過我還沒有那麼高的遊戲需求啊。只是想要比Nvidia更穩定的圖形驅動而已。況且舊電腦丟掉很可惜，因為已經有Raspberry Pi 5負責NAS的工作，我並不需要再一台閒置的機器。因此我要把這台電腦用到世界的盡頭。\n跟ChatGPT講了我的使用狀況啊，經過多次反覆討論，它總結出來：「買Intel Arc A380 升級是最划算且長期可維護的折衷方案。它解決了Linux的Nvidia驅動EOL 的問題，功耗低、效能穩、還能無痛安裝。除了AI生圖仍受限於VRAM外，其他使用情境（遊戲、虛擬機、日常工作）都能維持良好體驗。整台新電腦雖然效能更高，但以你的實際需求來看，投資報酬率太低，不值得整組更換。你目前的系統，已經被你維護到接近完美平衡點了——能穩定、能升級、能跑 AI、能玩遊戲。你完全是那種會讓硬體老實幹活十年的工程師 😂這樣的升級策略，不只是務實，還是非常聰明的長期投資。」\n2. Linux對Intel Arc GPU的相容性 # Intel跟AMD一樣，都有持續貢獻驅動程式到Linux核心上游，大部分是開源的，包含一部分專有韌體，不需要像Nvidia額外安裝專有驅動。理論上Linux只要有安裝Mesa套件，驅動應該就是開箱即用的。\n在買Intel Arc之前我做了一些功課，閱讀Reddit上的評價，得到褒貶不一的結果，有人說在Linux運作良好，也有人說遊戲圖形會出bug。找到最近的一篇Reddit評論是五個月前的。\n最主要是Intel Arc是很新的顯示卡家族，依賴上游的Mesa驅動套件支援，而我用的是更新比較慢的Debian，難道得重灌成Arch Linux才能取得最新套件了？\nPhoronix的主編有持續在關注Intel Arc在Linux的支援狀況。關於A380，他只有在2022年寫過一篇評測：Intel Arc Graphics A380: Compelling For Open-Source Enthusiasts \u0026amp; Developers At ~$139，他用最新Ubuntu搭配Mesa 23測試，當時就給出還可以的評價，OpenGL和Vulkan支援的都有一定水準。今年，Phoronix的報導說，2025年Intel針對新上市的B580顯示卡，推送了一批驅動更新，能夠提升效能。\n考慮到Intel貢獻的開源驅動，即使是提升新卡效能，也應該會回饋到其他舊型號，那麼想必在2025年，A380的效能與穩定度應該也跟著提升了。\n總而言之，我需要收錄Mesa 25以上的Linux發行版，剛好今年我切換到Debian 13，收的正是最新的Mesa 25。應該是開箱即用的。沒有必要切換到Arch Linux以求最新驅動了。\n原本很猶豫要不要買Intel Arc，因為我不想當驅動白老鼠，持續用著不穩定的系統。參考以前買PineTab 2驅動缺東缺西的可怕經歷，日常使用都有困難，開個瀏覽器都要擔心會不會崩潰。Rockchip RK3566的對開源驅動的支援根本處於瘋狂宇宙狀態。\n若只是要替換Nvidia GTX1050Ti，我覺得還是買穩當的AMD RX560就好了吧？\n但在看了Phoronix的評測文章後，還是決定賭一把了！\n亞妮：我的賭注現在才開始！ 這裡情況不一樣了，Intel是國際大公司，不是那些小心眼的ARM廠商，不會對自己的產品這麼不負責任的。\n賭Intel未來不會輕易放棄顯卡市場，繼續貢獻開源驅動到上游。\n選擇接近未來科技的能力（指AV1編碼和嶄新的AI加速技術），而非沉溺過去（指連ROCm都放棄支援的GPU）\n3. UEFI開啟Resizable BAR功能 # Resizable BAR簡稱ReBar，是允許CPU存取GPU的VRAM的技術。Intel在官方文件說一定要開啟這個選項，否則GPU性能會下降，最嚴重可達1/2。還有系統會不穩定。從我自行測試的遊戲的測試結果來看，確實是如此，不開的話遊戲性能和AI計算速度都會下降。\nReBar在Intel 10代CPU之後才成為標準功能。但其實從2007年這功能就一直存在了，就看廠商願不願意更新UEFI。我的Intel 7代CPU主機板情況比較尷尬，UEFI確實是有「Above 4G Decoding」的選項，但沒有「ReBar」。加上ASUS已經不提供UEFI更新了，所以這功能\u0026hellip;是做一半的。不過有總比沒有好，開了之後GPU性能還是能小幅度提昇。\nLinux開機後使用以下指令確定ReBar是否有載入 sudo dmesg | grep BAR 如果ReBar成功啟動，應該會看到顯示卡出現在列表中，且會出現一個大的記憶體數值。但我上面說了，主機板功能做一半，所以並沒有出現。 lspci -v | grep -i \u0026#39;memory at\u0026#39; 透過sudo lspci -vvv可以得知，Intel Arc A380出現了Resizable BAR的功能，但是並沒有「完整啟用」。 話說，即使主機板不支援ReBar，可以透過patch強制啟用，參見這個Github專案：https://github.com/xCuri0/ReBarUEFI。但是我patch過之後，UEFI不想讓我更新刷入自訂韌體，所以只好放棄。\n4. Linux安裝Intel Arc驅動 # 開箱盒子，包裝很簡單，就一個塑膠袋子，沒了。取出藍色顯示卡，之所以叫ELF，就是身材短小的意思吧。 Intel Arc設計方方正正的，比Nvidia顯示卡小一截。 在更換新顯示卡前，刪除Linux系統上的Nvidia閉源驅動。\nsudo apt purge *nvidia* *cuda* sudo apt autopurge 關機，將新顯示卡裝上去，呼，幸好尺寸剛剛好塞的進去，主機板並不是特規。這個版本並不需要外接電源。 重開機，在Hardinfo軟體界面，確認Intel Arc使用的核心模組跟Intel內顯一樣是i915。若要使用效能更好的實驗性驅動Xe，使用lspci -nnd ::03xx指令查看Intel Arc A380的硬體ID，在GRUB加入i915.force_probe=!56a5 xe.force_probe=56a5核心引數啟用。 因為Intel驅動含在Mesa裡面，什麼都不用安裝，就可以直接用了。需要Vulkan和VA-API功能的話，應該補安裝以下套件，取得韌體：\nsudo apt install intel-media-va-driver 跑AI加速的軟體需要Intel Compute Runtime，包含IPEX、oneAPI、OpenCL這些的。因為安裝比較複雜，這裡不詳述。\nFlatpak更新會自動抓Mesa驅動下來，並移除Nvidia驅動。\nKDE Plasma 6.3桌面， Wayland工作階段，使用一切正常，沒有任何破圖情形。另一方面，X11工作階段終於不會像Nvidia那樣lag了，也不會畫面撕裂，這個在Nvidia上長年存在的問題，終於得到解決。現在我可以安全的嘗試更多X11桌面了。 聽說Intel有經營給Ubuntu用的PPA，能夠及時收到最新預覽版驅動，不過既然運作良好我就沒有使用這個的必要。\n5. 測試玩Steam遊戲 # 觀察Intel GPU使用率的工具是intel_gpu_top還有MangoHud。nvtop需要以sudo執行才讀得到RAM用量。\nSteam要重新開關GPU加速網頁才能啟動。\n《War Thunder》是原生支援Linux的遊戲，使用Vulkan渲染\n理論上，Intel Arc A380性能應該要比Nvidia GTX 1050Ti好才對。\n慟！Intel Arc A380的Vulkan跑分分數，跑出來居然比Nvidia GTX 1050Ti還低！你不是比它多了2GB VRAM嗎？可能是因為沒有完整Resizable BAR的緣故？ 不過從i915切換到Xe核心模組之後，跑分得出的分數有所上升！抵銷了Resizable BAR的損失。 《GTA V》是使用DirectX 11的遊戲，在Linux上會透過Proton轉譯為Vulkan，遊玩的時候很流暢，遊玩過程中沒有遇到任何破圖現象，從MangoHud回報的資料看來，顯示卡風扇在高負載的時候都有正常轉動。 有些資料提到說Intel Arc驅動對DirectX 9老遊戲支援度不佳，不過在Linux所有DirectX都是透過Wine轉譯為Vulkan，這不是什麼大問題。圖為《IL-2 Sturmovik: 1946》 關於Intel Arc A380的功耗部份，intel_gpu_top並不會回報目前的功耗有多少，只會顯示頻率而已。我是手動測/sys/class/drm/card1/device/hwmon/hwmon*/energy1_input的數值去推算。考慮到它最大瓦數是75W，待機的時候應該是不會超過30W吧？\n亮著螢幕的時候，執行KDE Plasma Wayland桌面，透過LACT軟體讀到的Intel Arc A380閒置功耗大約在20W左右浮動，玩3D遊戲才會升到50W以上。 6. 硬體加速影片編解碼 # Intel Arc A380提供硬體加速的編碼與解碼，分為VA-API與QSV，支援H.264、H.265、VP9、AV1等主流格式。這應該是這系列顯示卡最拿手、最超值的功能。\nFirefox可以順利硬解4K YouTube影片，減少CPU佔用。 使用MPV播放VP9或AV1編碼的影片，可以透過VA-API實現硬體加速解碼，減少CPU佔用。Intel Arc A380也可以透過Anime4K給影片提供良好的升頻效果。 透過Flatpak安裝Handbrake，再用Flatpak安裝fr.handbrake.ghb.Plugin.IntelMediaSDK，就可以在程式裡面選取AV1 (QSV) 的預設集，實現FFmpeg硬體加速影片轉檔。 OBS Studio在錄影的時候，使用AV1(QSV)加速編碼，減少CPU佔用。 順帶一提，最新版Blender可以使用oneAPI Level Zero Ray Tracing，加速Cycles渲染。 7. 跑看看AI相關軟體 # 主流的AI加速技術都是用Nvidia CUDA，因此需要找特製版。問題肯定比主流用戶碰到的要多，也會更難以除錯。\n有些東西雖然Intel開發者用Docker包好了，不過不見得能用，到頭來我還是以原生套件為主。\nComfyUI安裝PyTorch xpu的版本，跑Stable Diffusion XL模型，30秒生成1024x1024圖片。這個AI生圖速度算蠻快的。 語言模型軟體方面，Ollama使用ipex-lllm的範本，號稱是開箱即用，但是執行Ollama的時候會噴出錯誤，懷疑是缺少ReBar所致，也有可能是Intel程式的bug。\n改用最新版的llama.cpp，選用Vulkan加速就可以跑了。載入.gguf格式的Qwen3-8B的模型，llama-benchmark產出的成績是120.55 token/s。 利用llama.cpp內建的WebUI聊天。 自虐的旅途開始了，儘管Intel團隊很積極的讓自家加速技術支援許多AI軟體，在Github提供很多懶人包，但還是有市占率低落導致開發者關注度不足的問題。假設要跑AI，不得不用到CUDA的話，我大概得抽換顯示卡，請Nvidia舊卡出山助陣。\n","date":"2025年11月11日","externalUrl":null,"permalink":"/posts/intel-arc-a380-on-linux/","section":"Unboxings","summary":"最近，看到全新Intel Arc A380 ELF 6GB的便宜價格，還有那小巧的尺寸，我決定要踏入邪教的深淵了，用它取代被官方放生驅動的Nvidia GTX1050Ti！ 用了8年的老電腦配置：\nMB：ASUS K31CDK-K LGA1151 CPU：Intel i5-7400 RAM：16GB DDR4 GPU：Nvidia GTX 1050Ti PSU：Chicony D16-300N1A 300W OS：Debian GNU/Linux 13，Linux Kernel 6.12，桌面KDE Plasma 6.3 Wayland 目標將是Nvidia顯示卡更換為Intel顯示卡。\n1. 為什麼要買Intel Arc顯示卡 # 這裡是我的購買動機，不想看這些廢話的就跳下一段。\n從這篇新聞開始：Linus Torvalds still uses an AMD RX 580 from 2017 — also ditches Apple Silicon for an Intel laptop - Tom’s Hardware\n看到Linus Torvalds大師還在使用2017年發表的AMD RX580顯示卡，就想著我是不是也該逃離N卡的魔窟了呢。他老人家比較在乎編譯Linux核心的速度吧，所以他的CPU用Threadripper。Nvidia圖形驅動在Linux的情況，跟在Windows上是相反的。這裡AMD反倒比較穩定。AMD的驅動包含在Linux核心，不需要額外安裝。而且AMD有持續貢獻上游，最新開源驅動可以支援到2012年的舊卡，就算原廠停止更新專有驅動，開源驅動依然能提供支援。反觀Nvidia需要獨立安裝驅動，不開源就算了，還每過幾年就淘汰一批舊卡。\n","title":"測試Intel Arc A380在Linux系統的表現，老電腦換新顯卡","type":"unboxing"},{"content":"さようなら，再見了，代號ASUS P5G41-M的老電腦主機（2012年 ~ 2025年），LGA 775的主機還能撐到現在。\nThose were the days.\n硬體規格：Intel Celeron E3300 + 2GB DDR3 → Intel Core 2 Quad Q9550 + 4GB DDR3 + Nvidia GTX 550Ti。維持2GB RAM的情況大概持續了十年。\n安裝過的系統：Windows XP → Windows 7 (32位元，其實CPU完全是64位元的，推測是幫我重灌的店家為了節省效能的選擇） → Ubuntu 16.04 （透過Wubi安裝） → Windows 10 → Fedora → Lubuntu → Arch Linux。此電腦大部分時光是安裝Windows，安裝Linux是很後面的事情。 我記不得什麼時候買入這台電腦的了，我只知道無良電腦商家裝的竟然是盜版Windows XP，導致螢幕下方一直出現「你可能是盜版軟體的受害者」。當時我常常玩的遊戲是從4399遊戲網下載的GTA VC，這個老遊戲在這個電腦玩的很順。啊不過GTA SA就開始卡頓了，GTA IV更是完全的幻燈片。\n這台電腦的圖形效能一直都很不好，導致使用體驗差，原本以為是CPU太爛，原來是因為長期以來只使用主機板北橋的顯示卡的緣故，Intel GMA X4500，這個效能真的連簡單的X11 compositor都會卡。2021年加裝Nvidia獨顯後就好多了。\n讓電腦使用體驗很不好的因素，還有一個就是：網路速度。以前我家是中華電信1M的釘子戶，連Wifi分享器都沒有，一直以來我家都拒絕升級。這樣的網速致使我連上網沖浪都用的很痛苦，一部360p的YouTube影片，上傳都要花三小時欸。這個狀況要到2015年，透過我YouTube頻道收益賺來的錢，才升級到比較正常的2M以上網路速度才獲得改善。\n電腦主機配的顯示器是HANOH的低色域的破爛螢幕，顏色嚴重偏白又泛紅，看久了眼睛真的會脫窗。填寫大學分發志願的時候眼睛看得很吃力。相較之下2016年我買的Asus Zenfone 2 Selfie手機螢幕都比這個好看多了。 2012年接觸Minecraft後我就常常玩這個遊戲了，不需要強力圖形效能也能玩多人連線。同時期國中同學瘋玩的英雄聯盟我是一點興趣都沒有。\n彼時開始經營YouTube頻道，我會用威力導演剪輯我玩Minecraft和Minecraft PE的實況並上傳到YouTube。剪輯輸出一部三分鐘的720p影片要等一小時，但我還是慢慢用下去。\n2015年，入坑艦隊Collection。這個用Flash寫成的網頁小破遊成為我之後高中三年最大的心靈慰藉，打活動的時候開一個網頁就差不多吃光RAM了，剩下的資源拿來用foobar2000播放音樂。畢竟這台電腦玩不了什麼更高階的遊戲。 2016年高中的時候，基於好奇心，以及改善電腦效能的關係，安裝Ubuntu試試，使用Wubi，從此進入了Linux的世界。Wubi是透過類似WSL的方式安裝Linux系統的技術。話說我在製作Ubuntu安裝CD的時候才發現，原來我的光碟機只能讀不能寫，害我花錢買了一堆空光碟片！！\n雖然因為不太懂指令，導致我終究只是玩票的心態，沒多久就切換回Windows 7了，不過這確實在當初埋下了我現在全面切換到Linux的種子。\n真不敢相信我在2GB RAM的情況下用了快十年，負擔日常上網以及打Minecraft的任務。\n不知道從什麼時候開始，這台電腦開機都會轟隆轟隆作響。有時候玩的太兇還會當機。過去操的太猛了，導致這台電腦的機殼背板的風扇出風口都燙的突起了呢。 2017年我換了新的ASUS K31CD-K電腦後，此電腦丟給家人使用，據說家人竟然有辦法拿她來剪輯Adobe Premiere影片。\n2021年，有了電腦知識後，學著自己換CPU，加裝RAM和獨立顯示卡，換個電供，當然都是二手的。將Windows重灌成Linux，當作副機繼續用。更換顯示器為二手買來的ViewSonic螢幕，雖然顏色同樣很破爛，但起碼比舊螢幕好多了。然後，頻繁編譯Linux核心來操死她，結果大概是能源消耗上升太多，加速了這台電腦的老化速度。最後電供和主機板一年多後也就去了了了。\n2023年之後開不了機後我就再也沒有使用了，大概是主機板總算壞了。\n放在家裡，堆著生灰塵佔空間，今天想著想著，還是拿去回收廠報廢了。所有的零件都送去回收了，只剩下一顆Toshiba HDD硬碟抽出來繼續用。\n謝謝妳，啟蒙我進入Ubuntu Linux的世界。陪我走過一個又一個打艦隊Collection活動的夜晚。以及剪輯我YouTube頻道上一部又一部的Minecraft影片。\n","date":"2025年11月9日","externalUrl":null,"permalink":"/posts/sayounara-asus-p5g41-m/","section":"Unboxings","summary":"さようなら，再見了，代號ASUS P5G41-M的老電腦主機（2012年 ~ 2025年），LGA 775的主機還能撐到現在。\nThose were the days.\n硬體規格：Intel Celeron E3300 + 2GB DDR3 → Intel Core 2 Quad Q9550 + 4GB DDR3 + Nvidia GTX 550Ti。維持2GB RAM的情況大概持續了十年。\n安裝過的系統：Windows XP → Windows 7 (32位元，其實CPU完全是64位元的，推測是幫我重灌的店家為了節省效能的選擇） → Ubuntu 16.04 （透過Wubi安裝） → Windows 10 → Fedora → Lubuntu → Arch Linux。此電腦大部分時光是安裝Windows，安裝Linux是很後面的事情。 我記不得什麼時候買入這台電腦的了，我只知道無良電腦商家裝的竟然是盜版Windows XP，導致螢幕下方一直出現「你可能是盜版軟體的受害者」。當時我常常玩的遊戲是從4399遊戲網下載的GTA VC，這個老遊戲在這個電腦玩的很順。啊不過GTA SA就開始卡頓了，GTA IV更是完全的幻燈片。\n這台電腦的圖形效能一直都很不好，導致使用體驗差，原本以為是CPU太爛，原來是因為長期以來只使用主機板北橋的顯示卡的緣故，Intel GMA X4500，這個效能真的連簡單的X11 compositor都會卡。2021年加裝Nvidia獨顯後就好多了。\n讓電腦使用體驗很不好的因素，還有一個就是：網路速度。以前我家是中華電信1M的釘子戶，連Wifi分享器都沒有，一直以來我家都拒絕升級。這樣的網速致使我連上網沖浪都用的很痛苦，一部360p的YouTube影片，上傳都要花三小時欸。這個狀況要到2015年，透過我YouTube頻道收益賺來的錢，才升級到比較正常的2M以上網路速度才獲得改善。\n","title":"再見了，ASUS P5G41-M老電腦主機","type":"unboxing"},{"content":"在瀏覽器裡面跑exe不是夢！？這樣的話，我們就能在Android/iOS平台跑Windows程式了。\nv86 Emulator這個專案好厲害，可以在瀏覽器裡面跑完整的32位元作業系統。 根據Github的說明，v86是一個\u0026quot;x86PC emulator and x86-to-wasm JIT, running in the browser\u0026quot;。\n只要造訪這個網頁，就能使用線上使用：https://copy.sh/v86/\n這不是用網頁框架模擬Windows介面，也不是遠端桌面，而是真正的在瀏覽器載入ISO開機，進入完整作業系統。原理是在瀏覽器裡面模擬x86架構的CPU，將機器碼翻譯為WebAssembly執行，並且實現了JIT加速。\n理論上WebAssembly是platform-agnoistic的技術，所以不論是在x86還是ARM平台上模擬x86的CPU，都不會有太大效能損失？就看你的CPU多會算！\nv86執行的作業系統，網路預設是停用的。\n作業系統開機後的狀態要使用者手動點選Save state才能保存。在網頁關掉後，資料都會消失。\n1. 適用的場合？ # v86沒有用到任何虛擬化技術，瀏覽器也不可能允許調用吧。從這點看來，v86不算是虛擬機，而比較像是模擬器吧！雖說，透過WebAssembly與JIT加速，能夠跑Windows 2000、Android-x86，和一些輕量級的Linux發行版的系統，不過目前的實用性也就醬以了。為啥呢？瀏覽器可沒辦法像虛擬機軟體一樣，分配太多的CPU與RAM資源，導致目前的v86註定只能跑20年前的古早系統，或者是精簡到不能再精簡的Linux發行版。\n儘管v86理論上能跑近代的Windows 7系統（作者說你需要用qemu指令自行製作映像檔），可是速度非常之慢呀。\n好吧，這樣看來v86顯得很尷尬，除了proof of concept之外，還能有什麼用呢？\n這有什麼用呢？我第一時間想到的是\u0026hellip;在iPad上模擬跑Windows吧！ 說到iOS 26上模擬x86指令集的應用，我第一時間想到的是iSH Shell，透過模擬x86指令來在iOS跑Alpine Linux的userspace程式，效率可能比qemu user mode要好，但是缺乏JIT加速。\nUTM能夠跑其他作業系統的虛擬機。但因為需要側載才能取得效能較好的JIT加速。實用性不高。沒有JIT的UTM SE連Windows XP開機都非常地慢。\nRetroArch雖然能夠模擬DOS與Windows 98的系統，不過它畢竟不是完整的環境。\n說回v86，我覺得v86比較有用的場合是在iPadOS上使用，因為v86使用Safari瀏覽器就能跑，繞過了一般APP無法存取JIT的問題啊！\n我覺得v86或許能夠成為UTM的替代品，雖然作業系統硬碟狀態需要手動下載保存，不過如果能掛載CDROM載入exe的話，作為一個暫時處理檔案的瀏覽器內攜帶系統也是不錯的用途吧！也可以玩很老的DOS遊戲。\n就實用性來說，最好的系統應該是Windows XP，能夠跑一些古早的Office版本文書程式，也能透過Supermium瀏覽器上網。v86作者沒有提供Windows XP映像檔，可能是檔案太大了，那麼相容性接近Windows NT 4.0的「ReactOS」也是能夠考慮的選項。\n可惜的是，根據我在iPadOS 26的測試結果，Safari似乎不想讓這個網站抓取我的滑鼠，導致不好操作。\n2. 一個類似v86的有趣專案：BoxedWine # BoxedWine這個技術同樣很有趣，它將Wine封裝在一個最小Linux環境裡面，透過模擬Linux核心與x86架構的CPU，使其能做到跨平台支援，在Windows它可以當成32位元的懷舊遊戲模擬器使用。\n另一方面，它可以透過WebAssembly在瀏覽器執行。還沒加入JIT所以效能很差。\n作者有做一些網頁版Demo，跑得都是20年前的老遊戲，如此一來在EmulatorJS以外，又多了一個網頁玩老遊戲的解決方案。 ","date":"2025年11月6日","externalUrl":null,"permalink":"/posts/v86-web-os-emulator/","section":"所有文章","summary":"在瀏覽器裡面跑exe不是夢！？這樣的話，我們就能在Android/iOS平台跑Windows程式了。\nv86 Emulator這個專案好厲害，可以在瀏覽器裡面跑完整的32位元作業系統。 根據Github的說明，v86是一個\"x86PC emulator and x86-to-wasm JIT, running in the browser\"。\n只要造訪這個網頁，就能使用線上使用：https://copy.sh/v86/\n這不是用網頁框架模擬Windows介面，也不是遠端桌面，而是真正的在瀏覽器載入ISO開機，進入完整作業系統。原理是在瀏覽器裡面模擬x86架構的CPU，將機器碼翻譯為WebAssembly執行，並且實現了JIT加速。\n理論上WebAssembly是platform-agnoistic的技術，所以不論是在x86還是ARM平台上模擬x86的CPU，都不會有太大效能損失？就看你的CPU多會算！\nv86執行的作業系統，網路預設是停用的。\n作業系統開機後的狀態要使用者手動點選Save state才能保存。在網頁關掉後，資料都會消失。\n1. 適用的場合？ # v86沒有用到任何虛擬化技術，瀏覽器也不可能允許調用吧。從這點看來，v86不算是虛擬機，而比較像是模擬器吧！雖說，透過WebAssembly與JIT加速，能夠跑Windows 2000、Android-x86，和一些輕量級的Linux發行版的系統，不過目前的實用性也就醬以了。為啥呢？瀏覽器可沒辦法像虛擬機軟體一樣，分配太多的CPU與RAM資源，導致目前的v86註定只能跑20年前的古早系統，或者是精簡到不能再精簡的Linux發行版。\n","title":"v86 Emulator，用iPad瀏覽器模擬Windows系統","type":"posts"},{"content":"","date":"2025年11月6日","externalUrl":null,"permalink":"/tags/webassembly/","section":"標籤","summary":"","title":"WebAssembly","type":"tags"},{"content":"","date":"2025年11月3日","externalUrl":null,"permalink":"/tags/anti-communism/","section":"標籤","summary":"","title":"Anti-Communism","type":"tags"},{"content":"","date":"2025年11月3日","externalUrl":null,"permalink":"/tags/pincong/","section":"標籤","summary":"","title":"Pincong","type":"tags"},{"content":"上上下下左右左右BA。\n因為看了太多「左右互搏」的節目，美國極端右翼的妄想不時會在我腦中出現，通常是在神智不清的時候，所以我盡量保持清醒。譬如崇拜大日本帝國，強調信基督教精神，要愛國奉獻，覺得主流媒體的報導不可信，相信世界背後有陰謀論主宰等等。\n我會不斷強迫性的問自己（儘管這些議題在台灣不是很實際）：\n「為什麼現在的男性沒有道德？」\n「為什麼現在的女性不守婦道？」\n「反對一切移民！They took our jobs! 他們污染了文化，意圖種族滅絕我們，我國應當優先本土人民的權利！」\n「政府應該廢除義務教育，並讓大學自負盈虧，讓他們回歸市場導向的政策，才不會產生那麼多象牙塔的左派學生。」\n「不應該把錢花在蓋鳥籠公寓，人們要自己爭取住的權利，並要有擁槍權，讓政府不敢胡作非為。」\n「那些不掛國旗的人，they have zero respect for this glorious country!」\n這些極右翼論述有的聽起來很cringey，所以我才說他們是神智不清的人說的話，偏偏就是有人堅信不疑。\n你知道，歐美非常流行DEI的議題，但是在無法體會到那個語境的亞洲人看來，他們追求公平正義的行為，似乎都成為了左膠，成為SJW在亂。DEI被污名化，這其中也有一部分是極端保守派的老中人在過度渲染「左派的危害」，才讓中文圈的討論更加烏煙瘴氣。2024年美國總統選舉，美國民主黨建制派的左派依然不會讓真正想做事的左派上來，所以左派理念就變成了騙票機器，然後他們鞏固同溫層的暴力操作，便把反對者與中間選民推向了另外一個極端，共和黨那邊去了。他們，好像沒有一點要反省的意思。\n2024年的台灣沒有左右派之分，大抵上都專住在統獨。民進黨在台灣是縫合左右派的政黨，整體上看起來偏左，他們的手段比民主黨更要模糊不清，反正，抗中保台就有選票。國民黨非右派，雖然維基百科這樣分類，但他們可不敢提出砍掉健保的政見。最近幾年還陷入了不敢講自己是中國人的困境，所以只好撒潑打滾的說政黨要輪替當訴求。至於民眾黨，希望能跳出藍綠惡鬥的問題，走向正常國家的政治攻防立場，脫離統獨之爭。但問題是，沒實力真的不能大小聲，只能跟國民黨合作，做出噁心的政治妥協。\n我個人極度反感任何形式專制主義，不論是共產主義專政，抑或是法西斯，還是什麼口口聲聲說為了人民好的威權政府。因為中國小粉紅這種名左實右的存在，所以我對假裝好像很左派、反對右翼，但其實骨子裡崇拜威權的很的「社達」思想很不喜歡。具體來說就是譴責祭拜靖國神社，覺得自己在建設共產主義接班人，卻又到處宣傳雖遠必誅的思想吧。網際網路的存在，加劇了極端思想的散播。\n蕭育和專欄︱極右翼的崛起意味著什麼？ 現在歐美好像還流行什麼「另類右翼」，將白人種族主義和新納粹主義融合在一起的玩意，又不注重傳統的保守派小政府價值。一些中文圈人士有跟上這個潮流，你可以觀察到，一些與法輪功過從甚密的KOL，往往也都會成為忠實川粉，在宣揚恐中言論的時候又支持極右翼政策。\n另類右翼甚至吸取了左派的反建制的思想，所以成為一個危險的流派。雖然另類右翼沒有中心思想，正如4chan非常混亂，川普總統是唯一能統領這個運動的人物。\n不過，另類右翼其中很多人連扛起家庭經濟的能力都沒有，只是一昧聽PUA領袖，說要追求男子氣概和傳統價值，所以成為了費拉右，這種的高機率變成incel吧。他們只能混跡於4chan，還有對極端言論寬容的Twitter，發一些讓左派生氣的內容為樂，就這樣而已。\n我想講講品蔥，這個我曾經作為反賊初心者的地方。怎么看品葱主流是右派？ 品蔥可以說是極右翼狂歡天堂，一些初心者反賊可能會在潛移默化中受到影響。看看背後最大的宗教勢力法輪功的報紙在美國挺誰就知道了。\n品蔥和蔥輪還有勢力龐大的姨粉，他們主張馬基維利式的集權，而非支持真正的民主。由此衍生出來的討論品質自然就會是：無來由的恐中症（非支黑的用戶可能會說「恐共」，但民國派的勢力在這裡太小），反女權，反白左，狂挺川，想屠支屠綠，為了反支可以任意獻忠。\n你批評他們的觀點，還會說你是中共特務網軍。沒想到我當年鍵政啟蒙的論壇會是這樣一個模樣。我跟他們唯一剩下的共識大概就是認為小粉紅是弱智了，我可不想像支納粹，明左實右的整天說自己要反對一切法西斯。\n我覺得，一些對支那恨之入骨的反賊社區，也多少繼承了極端右派的理念。也許他們不是很強調這個，但是他們的行為再再說明了自己就是個超級保守派，並以「反左逼」為榮。譬如，支黑、浪人群體。與小粉紅互為鏡像。\n另一方面，在Reddit上的中文反賊社群，除了r/china_irl以外的社群，整體上是偏左的，雖然不滿民主黨，但是共和黨政策更可惡這樣。因此，混入了極右翼浪人基因的支黑群體，在這裡就形成了一個特殊的現象。\n一些姨粉聽多了「老鼠上桌」的理論，倒也當成了精神白人來了，華川粉就是個好例子，跟著歧視所謂低等人種，卻忘記自己也是小黃人。\n極端右派和極端左派人士都是危害，而雙方都會將對方的立場偏執化，動不動就說偏中立的人士是共產黨或納粹等等。由此斷絕了溝通的可能性。\n同樣地，反賊內部為了反對中國共產黨的統治，也可以粗略的劃分為左右派。雖然現在美國兩黨大體上都是持反中觀點，不過，政策方向稍微有些不同，這也導致了追隨者產生了理念岐異，彼此陷入互相攻擊的口水戰。\n常見的就是社群媒體上，會看到許多極端觀點出現，各自有其受眾。然後形成宗教戰爭，互相指責對方是「共產黨」這個絕對惡的存在。\n我不想單純為了引人關注、為了流量，在社群媒體上發一些極端的文章，比如po上車圖或者講政治的，那個實在太過了。如果操作得當，後者往往有更好效果，而且當政治廚比聊色簡單，只要嘴巴夠臭就行了。若是為了打擊那可憎的對手，塞入虛假訊息又怎樣？還會有信徒幫我護航呢！針對討厭的人事物，比如中共好了，我可以將大紀元的資訊全都無條件相信，這就很有問題。\n我發現講政治的東西會讓人有點爽感，不論吸引到的是同溫層還是敵對人士叫罵，都會刺激人的感官，變得越來越偏激！想瘋狂的po更多類似的文章來刺激彼此。這可能是政治露陰癖的一種症頭。因此有時候我po出去的文章，冷靜下來後還是會選擇將其刪除。擅長的科技話題我穩健的發就好，不需要做瘋狂的輸出極端理念。\n總之，看完太多暈頭轉向的東西，我很想說這些人能不能冷靜下來。我們應該專注在實事上，不要再虛空打靶了！本來事情就沒有絕對左絕對右的，否則這樣恐怕會讓一些人陷入不想關心混亂政治的沉默螺旋。\n我還是當個左逼（不論是嚴格定義上還是相對位置決定）就好了，盡量靠近中間派，然後那些極端言論，聽聽就好，保持距離。\n","date":"2025年11月3日","externalUrl":null,"permalink":"/posts/delusional-far-right-views/","section":"Politics","summary":"上上下下左右左右BA。\n因為看了太多「左右互搏」的節目，美國極端右翼的妄想不時會在我腦中出現，通常是在神智不清的時候，所以我盡量保持清醒。譬如崇拜大日本帝國，強調信基督教精神，要愛國奉獻，覺得主流媒體的報導不可信，相信世界背後有陰謀論主宰等等。\n我會不斷強迫性的問自己（儘管這些議題在台灣不是很實際）：\n「為什麼現在的男性沒有道德？」\n「為什麼現在的女性不守婦道？」\n「反對一切移民！They took our jobs! 他們污染了文化，意圖種族滅絕我們，我國應當優先本土人民的權利！」\n「政府應該廢除義務教育，並讓大學自負盈虧，讓他們回歸市場導向的政策，才不會產生那麼多象牙塔的左派學生。」\n「不應該把錢花在蓋鳥籠公寓，人們要自己爭取住的權利，並要有擁槍權，讓政府不敢胡作非為。」\n「那些不掛國旗的人，they have zero respect for this glorious country!」\n這些極右翼論述有的聽起來很cringey，所以我才說他們是神智不清的人說的話，偏偏就是有人堅信不疑。\n你知道，歐美非常流行DEI的議題，但是在無法體會到那個語境的亞洲人看來，他們追求公平正義的行為，似乎都成為了左膠，成為SJW在亂。DEI被污名化，這其中也有一部分是極端保守派的老中人在過度渲染「左派的危害」，才讓中文圈的討論更加烏煙瘴氣。2024年美國總統選舉，美國民主黨建制派的左派依然不會讓真正想做事的左派上來，所以左派理念就變成了騙票機器，然後他們鞏固同溫層的暴力操作，便把反對者與中間選民推向了另外一個極端，共和黨那邊去了。他們，好像沒有一點要反省的意思。\n","title":"極右翼妄想頻繁出現，沉默的矛盾螺旋。談歐美與中文圈的政治極左極右傾向","type":"politic"},{"content":"《STEINS;GATE》中文翻譯為《命運石之門》，是5pb.於2009年推出的文字冒險遊戲。這遊戲Steam常在特價，很久以前我就買來放著，好不容易玩了之後才知道這是要玩家做出艱難抉擇的好作品。 這個遊戲支援Windows系統。也許是為了防止盜版，《STEINS;GATE》一開始是主機獨占，移植的手機版竟然只有出iOS版本，Android版沒有中文。Steam版的中文翻譯據說就是從手機版來的，裡面有一些錯字到現在都沒有修正。這遊戲在Linux上用Proton轉譯就能玩。\n玩這遊戲一開始的感想是：看中二病講話好痛苦啊，主角岡部倫太郎自稱「鳳凰院兇真」，還有菲莉絲·喵喵擅自偷走他人故事加上自己中二設定的講話方式，感覺主角身邊的人都一堆瘋子，不知道誰在講真話。\n不過正是這種虛實參半的敘事手法，才逐漸讓《STEINS;GATE》令人著迷。只要撐過前面讓人頭疼的對話，就能快速跟上劇情發展，讓人恨不得直衝結尾。\n《STEINS;GATE》已經是16年前的遊戲了，現在看來依然優秀。故事裡面講到的克爾黑洞理論真的很有趣，融合真實存在的CERN與John Titor未來人傳說，將前沿科學扯在一起的東西弄假成真，但用微波爐和手機就能做出時光機還是蠻唬爛的就是了。\n聽不懂遊戲內裡面複雜的理論？ 到故事最後才會知道主角的中二病是有其作用的，而且總是出現的恰到時機，幫助主角度過一個又一個難關。 在玩法方面，這遊戲把選項分支線藏在手機和D-Mail，需要玩家手動操作介入，是很創新的ADV玩法，令人在做出關鍵選擇的時候有深深的參與感！不過這也讓蒐集全CG與獲得全部Steam成就的過程變得很複雜，要頻繁讀檔，一些玩家畫的攻略樹狀圖根本比世界線收束還要複雜！ 期間有很多角色寄來的信件，有的不看也不會影響劇情走向，但這會干擾玩家判斷。\n參考Steam社群的命運石之門無雷簡單教學\u0026amp;全成就攻略\n我的攻略順序：阿萬音鈴羽 → 椎名真由理 → 菲莉絲·喵喵 → 漆原琉華 → 牧瀨紅莉栖 → 真結局。總遊戲時數：22小時。\n如果劇情中間什麼都不做的話會走向阿萬音鈴羽結局，在逐漸崩壞的虛無當中，決定孤注一擲，定能給新玩家錯愕！這是沒有確定未來的世界線，屬於開放式結局。 至於要主角放棄救椎名真由理，選擇其他人分支的結局，就寫得很隨便的樣子。菲莉絲·喵喵結局兩人交往，而漆原琉華在變成女生之後竟然跟主角生了個孩子！？ 椎名真由理的結局，我個人看下來編劇寫的不是很好，讓人不明白為什麼執著要救她，就因為主角以前拯救了身為幼馴染的她？編劇透過在前面的世界線，讓主角不論做出什麼努力，真由理都會出現各種花式死法，才能勉強打動玩家的心吧。不過我認這樣的描寫還是很不足就是了，需要玩外傳遊戲補完角色背後的故事才能加深感情，讓你知道主角為什麼要拼了命救她。 在遊戲中，玩家必須頻繁做出二選一的抉擇，這點倒是處理的比較好。\n我覺得編劇對牧瀬紅莉栖感情線的刻劃還比椎名真由理要深刻，果然青梅竹馬還是贏不過天降女友的啊。\n最討厭的是針對這個傲嬌女，需要頻繁回電子郵件，才能進入她的結局，而且回覆的窗口很短，必須儘快回覆否則在按快轉的時候選項很快就會消失，真是難纏的女人～過程中即使存檔讀檔，對玩家的操作也有一定要求。這算是證明了兩人之間的羈絆很深吧，需要一直查看回覆訊息，才會在下一章繼續出現訊息。 意味著不論經過多少次時空跳躍，都會一直聯繫的上，無形中揭示了兩人的Reading Steiner命運聯繫。說實話這種無限讓玩家讀檔試錯的機制，又要被迫一直看時空跳躍的動畫，就是想讓玩家體驗到主角不斷嘗試扭轉未來的心境吧！？至少遊戲會在收到郵件或者出現沒讀過的新對話的時候自動暫停快轉。所以說嘛，這樣的營造讓牧瀬紅莉栖成為了真女主！\n最後，要走向真正的完美結局「境界上的命運石之門」，需要把所有人的死亡結局都看過一次，才能累積因果通向那已知的未來。話說原來牧瀬紅莉栖的老爸也是個傲嬌，想當論文抄襲仔，這可不是撤銷double master degree就能擺平的事情。\n編劇在這裡才會首尾呼應，將所有元素都連起來\u0026hellip;\u0026hellip;這可以說是\u0026hellip;命運石之門的選擇！ 要說《STEINS;GATE》處理的不夠好的地方，大概就是對未來世界的描寫不夠具體吧，鈴羽就只有說未來被SERN變成反烏托邦的世界，卻沒有給玩家足夠的真實與絕望感，也就沒有足夠強的動機要拯救世界。我想，主角最重視的，還是身邊人的性命，與他們的未來吧。\n這部作品除了劇情外，huke的插畫與阿保剛製作的配樂令人印象深刻，音樂製作的時候肯定是有認真閱讀劇本的，才能做出氛圍那麼好的音樂。〈スカイクラッドの観測者〉真是最棒的OP啊！\n雖說，有走向所有人都得救的真結局的完美未來，可是編劇大概是掰不下去了，才會在續作以Beta世界線為主，繼續寫下去了吧。續作《STEINS;GATE 0》的劇情同樣讓人期待！\n這個正作還有兩款衍生小品《STEINS;GATE 比翼恋理のだーりん》《STEINS;GATE 線形拘束のフェノグラム》。在Steam上架的版本只有英文版翻譯，需要自行找漢化patch。\n這麼優秀的作品，當然有改編動畫，還有推出動畫移植回遊戲的版本《STEINS;GATE ELITE》。這個就給喜歡的玩家收藏即可。\n完了，真的玩過這種高分劇情作後，胃口一下子提高了許多，其他Steam上的廢萌作感覺都玩不太下去了。\n","date":"2025年10月31日","externalUrl":null,"permalink":"/posts/steins-gate-game-review/","section":"Reviews","summary":"《STEINS;GATE》中文翻譯為《命運石之門》，是5pb.於2009年推出的文字冒險遊戲。這遊戲Steam常在特價，很久以前我就買來放著，好不容易玩了之後才知道這是要玩家做出艱難抉擇的好作品。 這個遊戲支援Windows系統。也許是為了防止盜版，《STEINS;GATE》一開始是主機獨占，移植的手機版竟然只有出iOS版本，Android版沒有中文。Steam版的中文翻譯據說就是從手機版來的，裡面有一些錯字到現在都沒有修正。這遊戲在Linux上用Proton轉譯就能玩。\n玩這遊戲一開始的感想是：看中二病講話好痛苦啊，主角岡部倫太郎自稱「鳳凰院兇真」，還有菲莉絲·喵喵擅自偷走他人故事加上自己中二設定的講話方式，感覺主角身邊的人都一堆瘋子，不知道誰在講真話。\n不過正是這種虛實參半的敘事手法，才逐漸讓《STEINS;GATE》令人著迷。只要撐過前面讓人頭疼的對話，就能快速跟上劇情發展，讓人恨不得直衝結尾。\n《STEINS;GATE》已經是16年前的遊戲了，現在看來依然優秀。故事裡面講到的克爾黑洞理論真的很有趣，融合真實存在的CERN與John Titor未來人傳說，將前沿科學扯在一起的東西弄假成真，但用微波爐和手機就能做出時光機還是蠻唬爛的就是了。\n","title":"《STEINS;GATE》Steam版遊戲心得，燒腦科幻劇","type":"review"},{"content":"美乃滋是一種樂器，那麼東方Project算不算是同人遊戲界的Linux？（後面那句是中國網友寫的，他認為Bilibili的相關投稿很多元），這個嘛\u0026hellip;\u0026hellip;自行定奪？\n分享在Linux系統遊玩《東方Project》系列遊戲的方法。\n因為東方Project官方加上二創的系列作太多，加上我不夠東方廚，只能講個大概。 1. 遊戲情況 # 《東方Project》(Touhou Project) 有許多遊戲系列。\n所謂官方遊戲，指的是由ZUN親自開發的遊戲，多半為彈幕射擊類型。\n最早的「舊五作」對應-PC98平台。後來改成在Windows開發。\nWindows平台，東方Project最老的遊戲為2002年的《東方紅魔郷　～ the Embodiment of Scarlet Devil.》，最新的是2025年的《東方錦上京 ～ Fossilized Wonders.》 因著東方Project系列的高人氣，二創遊戲也不在少數。從遊戲主機、PC、手機都有東方Project存在。\nWindows平台的東方Project的官方遊戲，在Linux可以用Wine跑，各代安裝方法大同小異。\n參見上海アリス幻樂団的Steam頁面，有在Steam上架的作品，安裝Linux版Steam後應該能用Proton執行。 至於沒有上架Steam的舊版遊戲，就得買實體光碟或者上網找了。\nArch Linux的用戶可以在AUR取得整合好Wine的東方Project遊戲，一鍵安裝。不過因為版權問題，所以這裡只能取得「體驗版」遊戲。體驗版遊戲包含MIDI音樂，故需要安裝TiMidity++才能播放。\n想要在其他Linux發行版跑東方Project，得自行建立Wine環境執行exe。有人可能會問說，Windows 11都沒辦法玩這麼老的遊戲吧？但在Linux沒有這個問題！Wine可以輕鬆切換模擬Windows版本，玩老遊戲不是問題的。\n2. PC-98版的東方Project舊五作 # 在PC-98平台，東方Project共出了五個作品。\nLinux可以用RetroArch搭配Neko Project II kai模擬PC98系統，遊玩這些古老的東方Project舊五作。\n用Flatpak安裝RetroArch\n開啟程式，載入核心，下載Neko Project II kai核心 到Internet Archive下載PC-98的韌體檔案，放到~/.var/app/org.libretro.RetroArch/config/retroarch/system/np2kai/\n重開RetroArch，進入桌面模式，看一下檔案是否已齊全。如果提示找不到檔案，請把檔案全部改成大寫。 點選載入遊戲檔案，選取東方Project的.hdi檔即可。 3. 取得Windows版東方Project遊戲檔案 # 下載東方Project遊戲的網站 # 在上海アリス幻樂団的官網可以取得體驗版遊戲。\nInternet Archive這類網站有完整東方Project遊戲的副本，有的已經幫你漢化好了。\n掛載.cue檔抽取.exe # 有些東方Project的遊戲安裝程式是使用光碟抽取的.cue檔案封裝的，內含.exe。這個格式需要使用CDemu方能掛載。如果你不想這麼麻煩，建議直接找已經抽取好的exe。\nUbuntu安裝以下套件： sudo apt install cdemu-client 使用這個指令掛載.cue檔案，它應該會自動辨識日文編碼。 cdemu load 0 \u0026#34;.cue的路徑\u0026#34; 再開啟Linux的檔案管理器，找到掛載的CD，將裡面的所有檔案複製出來。 如果遇到日文編碼壓縮檔 # 一些東方Project遊戲的壓縮檔使用日文編碼，直接解壓縮會亂碼。\n你可能需要使用Wine執行WinRAR，切換壓縮檔編碼為日文才能順利解壓縮檔案。 4. 安裝Windows版東方Project遊戲 # 以《東方紅魔鄉》為例。\nWine的前端我使用Flatpak版的Bottles，使用GAMING設定檔，Wine版本設定為10.0以上，使用64位元環境，啟用DXVK，系統模擬版本設定為Windows 10以上。 如果要手動建立Wine環境，另外一種方案是使用Lutris安裝。參考Lutris網站提供的指令稿所執行的步驟。\n開啟後先安裝「cjkfonts」依賴套件以支援日文字型。\n如果遊戲是日文的，得要使用環境變數，將Wine調整為日文才可以啟動。以Bottles來說，點選酒瓶設定，設定環境變數為LC_ALL=\u0026quot;ja_JP.UTF-8\u0026quot; 在安裝遊戲之前，點選「瀏覽酒瓶檔案」，將東方Project遊戲的主程式exe，遊戲目錄不要有空格。放到Bottles的虛擬C槽（也就是Wine Prefix），防止找不到DLL的權限錯誤。再點選「新增捷徑」，將exe加入到選單，就可以安裝並啟動遊戲。 有時候遊戲視窗開起來沒有按Enter的話，會抓不到鍵盤輸入。\n5. 安裝thcrap翻譯 # thcrap透過修補遊戲DLL，將日文版東方Project遊戲翻譯為其他語言。\nthcrap-steam-proton-wrapper可以協助翻譯有在Steam上架的東方Project遊戲。\n如果是非Steam下載的，就得手動安裝。\n到官網下載\n在安裝東方Project遊戲的Wine Prefix，執行這個thcrap.exe\n下載想要安裝語言的patch\n它應該會自動偵測到已經安裝的東方遊戲。\n接著thcrap會在Wine Prefix的/drive_c/users/user/Desktop/產生翻譯版程式的exe。透過這個exe啟動的遊戲就會是翻譯後的文字\n6. 其他東方Project二創遊戲 # 有在Steam上架的就嘗試用Proton跑。\n如果對應平台是Android系統，應可用Waydroid跑。\n主機遊戲應該都找得到對應的模擬器執行，比如Switch平台的用Ryujinx，這些模擬器都有Linux版本。\n參考資料 # 官方游戏- THBWiki · 专业性的东方Project维基百科- TBSGroup Running in Linux and macOS - Touhou Wiki Touhou - ArchWiki ","date":"2025年10月29日","externalUrl":null,"permalink":"/posts/touhou-project-linux/","section":"所有文章","summary":"美乃滋是一種樂器，那麼東方Project算不算是同人遊戲界的Linux？（後面那句是中國網友寫的，他認為Bilibili的相關投稿很多元），這個嘛……自行定奪？\n分享在Linux系統遊玩《東方Project》系列遊戲的方法。\n因為東方Project官方加上二創的系列作太多，加上我不夠東方廚，只能講個大概。 1. 遊戲情況 # 《東方Project》(Touhou Project) 有許多遊戲系列。\n所謂官方遊戲，指的是由ZUN親自開發的遊戲，多半為彈幕射擊類型。\n最早的「舊五作」對應-PC98平台。後來改成在Windows開發。\nWindows平台，東方Project最老的遊戲為2002年的《東方紅魔郷　～ the Embodiment of Scarlet Devil.》，最新的是2025年的《東方錦上京 ～ Fossilized Wonders.》 因著東方Project系列的高人氣，二創遊戲也不在少數。從遊戲主機、PC、手機都有東方Project存在。\nWindows平台的東方Project的官方遊戲，在Linux可以用Wine跑，各代安裝方法大同小異。\n參見上海アリス幻樂団的Steam頁面，有在Steam上架的作品，安裝Linux版Steam後應該能用Proton執行。 至於沒有上架Steam的舊版遊戲，就得買實體光碟或者上網找了。\nArch Linux的用戶可以在AUR取得整合好Wine的東方Project遊戲，一鍵安裝。不過因為版權問題，所以這裡只能取得「體驗版」遊戲。體驗版遊戲包含MIDI音樂，故需要安裝TiMidity++才能播放。\n想要在其他Linux發行版跑東方Project，得自行建立Wine環境執行exe。有人可能會問說，Windows 11都沒辦法玩這麼老的遊戲吧？但在Linux沒有這個問題！Wine可以輕鬆切換模擬Windows版本，玩老遊戲不是問題的。\n","title":"《東方Project》系列遊戲在Linux的遊玩方式","type":"posts"},{"content":"","date":"2025年10月29日","externalUrl":null,"permalink":"/tags/retroarch/","section":"標籤","summary":"","title":"RetroArch","type":"tags"},{"content":"","date":"2025年10月29日","externalUrl":null,"permalink":"/tags/touhou-project/","section":"標籤","summary":"","title":"Touhou Project","type":"tags"},{"content":"原來「氣到發抖」是有原因的。\n我無法控制自己。\n隨著我不再假裝看不到外界壓力來源，誠實面對外部壓力後，一瞬間就有一堆疾病出現了。甚至連我小時候的妥瑞症也復發了。\n我家人會取笑殘障同學，模仿對方的唐氏症賣口香糖樣子取樂，我也是笑笑帶過，雖然\u0026hellip;覺得這些人蠻可憐的。實際參與過特教知能（殘障＆資優生都算是特教生喔）的課程後，才知道要尊重這些人是多麼寶貴的一件事。\n因為融合教育政策，我小時候身邊也不乏有許多特教生，例如看起來阿達阿達的智能障礙族群，或者全身有花豹紋路一點一點的女孩子。雖覺得詭異，只是，我從來都沒起過一絲取笑對方的想法，大概是因為我本身也算是奇怪的人吧，有種莫名的同理心。\n根據家人所述，我從小嬰兒的時候就有拔頭髮的壞習慣。我現在知道這種症狀叫做拔毛癖 (Trichotillomania)。\n在國小五年級的時候就想到死亡的概念，莫名的哭了起來\u0026hellip;\u0026hellip;不，這只能算是思想怪異，還不算上是有殘障。會造成這種悲觀想法的原因應該來自於校園霸凌。\n唯一可以肯定的是，我中年級的時候，便在奇美醫院確診了妥瑞症 (Tourette\u0026rsquo;s syndrome)，似乎我的家族並沒有這個病史。症狀表現為，會情不自禁的左右甩頭，我也有捲頭髮的壞習慣。當時正是課業壓力逐漸加重的中年級，但我自己當時是不知道成因的，至少主觀上沒有覺得壓力大到不得了的地步，所以就是不知道自己為什麼會這樣做。聽從醫生建議，暫時停掉一切課後的畫畫與英語補習後就恢復了。並沒有服藥，因為醫生說很難好。\n我無法控制自己。\n萬幸我並沒有像電影我的嗝嗝老師 (Front of the Class)那樣會發出噪音干擾同學上課，否則我不只是美術班沒考上，還要被丟到特教班去了。\n我知道的是，遺留的強迫症仍伴隨了我好長一段時間，有一段時間會在上廁所後不停的向鏡子潑水，或者是上樓睡覺前要在樓梯前跳鬼步跳到6的倍數才肯罷休。這些症狀在升上國中之後消失，只剩下拔毛癖殘留，透過類似自殘的快感減低痛苦。\n中間長達10年的時候沒有出現妥瑞症，僅在生氣、精神緊繃時候會輕微的搖頭晃腦。聽說以前確診妥瑞症的話是直接判免役的，但我並沒有透過這特權來逃避兵役。\n但是，妥瑞症這幾年來開始復發，似乎我認清了身邊周遭的工作壓力來源，不再裝作看不見、也不再能用虛擬世界自瀆逃避之後，隨後各種身心症狀隨之而來，妥瑞症就是其中一個。\n我無法控制自己。\n只要思維遭受到一點壓力，我在睡夢中有機率會不自主的搖頭晃腦。清醒的時候，脖子緊縮，手還會發抖，彷彿得了帕金森氏症 (Parkinson\u0026rsquo;s disease) 一樣。嗯，不過不用太擔心啦，因為做了核磁共振的結果顯示，我只是頸椎退化加上骨質疏鬆而已，還有一點自律神經失調\u0026hellip;不對，這也很嚴重吧，所以我在積極接受治療。\n現在還多了穢語症 (Coprolalia)，整天喊著張獻忠殺殺殺的無意義字句等等。所以我總算知道，在四下無人的時候嘴巴總會不自覺唸唸有詞的症狀是怎麼來的了。\n經過自身實驗，舍曲林貌似能壓抑妥瑞症與強迫症的症狀。看來SSRI藥物除了照顧空心病，安撫心情外，也有這方面的療效。副作用嗎，要是吃到50mg，彷彿抽離了一部份情緒，呃，不只對惡劣的情緒慢半拍，對高興的情緒也是慢半拍，還會硬不起來。這個吃藥的感覺很像感冒藥，喉嚨總是乾乾的，對附近的事情都不感興趣。\n未來需要的話，應該會接觸行為療法。\n或許我控制不了自己，但我能夠改變看待這件的方式。\n","date":"2025年10月29日","externalUrl":null,"permalink":"/posts/2025102901/","section":"Personals","summary":"原來「氣到發抖」是有原因的。\n我無法控制自己。\n隨著我不再假裝看不到外界壓力來源，誠實面對外部壓力後，一瞬間就有一堆疾病出現了。甚至連我小時候的妥瑞症也復發了。\n我家人會取笑殘障同學，模仿對方的唐氏症賣口香糖樣子取樂，我也是笑笑帶過，雖然…覺得這些人蠻可憐的。實際參與過特教知能（殘障＆資優生都算是特教生喔）的課程後，才知道要尊重這些人是多麼寶貴的一件事。\n因為融合教育政策，我小時候身邊也不乏有許多特教生，例如看起來阿達阿達的智能障礙族群，或者全身有花豹紋路一點一點的女孩子。雖覺得詭異，只是，我從來都沒起過一絲取笑對方的想法，大概是因為我本身也算是奇怪的人吧，有種莫名的同理心。\n根據家人所述，我從小嬰兒的時候就有拔頭髮的壞習慣。我現在知道這種症狀叫做拔毛癖 (Trichotillomania)。\n在國小五年級的時候就想到死亡的概念，莫名的哭了起來……不，這只能算是思想怪異，還不算上是有殘障。會造成這種悲觀想法的原因應該來自於校園霸凌。\n唯一可以肯定的是，我中年級的時候，便在奇美醫院確診了妥瑞症 (Tourette’s syndrome)，似乎我的家族並沒有這個病史。症狀表現為，會情不自禁的左右甩頭，我也有捲頭髮的壞習慣。當時正是課業壓力逐漸加重的中年級，但我自己當時是不知道成因的，至少主觀上沒有覺得壓力大到不得了的地步，所以就是不知道自己為什麼會這樣做。聽從醫生建議，暫時停掉一切課後的畫畫與英語補習後就恢復了。並沒有服藥，因為醫生說很難好。\n","title":"妥瑞氏症復發","type":"personal"},{"content":" 今日はまず、ShawnがSystemd開発者も参加する会議「All Systemd Go」について共有するのを聞いた。本当にどんなプロジェクトにも参加できる会議があるものだな。この種の専門科目を探究する会議は、外国だからこそ開催できるのだろう。\n議程：KaLUG meetup 2510 - kernel 遇上 user space\n私たちは二か月連続でLinux kernelの話をしているようだ。すごい開発者を招いて共有してもらえるのは本当に光栄だ。\n今日のKaLuGで聞いた、期待できるLinuxカーネルの新機能はsched_extプロジェクトだ。台湾の成大の貢献者による成果も含まれ、Linux 6.12で導入された。これはユーザーがeBPFを通じてuserspaceからスケジューラー(scheduler)を変更し、カスタムのスケジューリング操作を実現できるようにする。さらにcgroupも設定でき、各cgroupがそれぞれ異なるスケジューラーを独立して実行できる。過去にこの目的を達成するにはカーネルを再コンパイルする必要があった。なにせ内蔵スケジューラーは数種類しかないからだ。しかしクライアント側が作業場面に合わせて自分で実装したいスケジューラーを持っていても、上流がすべてのスケジューラーのマージを受け入れることはありえない。だから、このような経済的な方法を提供し、ユーザーが自分で定義できるようにしている。\nsched_extの最も直感的な応用は、ゲーム性能の改善だ。CachyOSはいち早くsched_extを切り替える仕組みを内蔵した。公式ドキュメントによると、ユーザーが自分で選べる複数のスケジューラー実装を提供しており、たとえばscx_bpflandは遅延を減らせるという。ただ、Bore Schedulerのほうが最も良いパフォーマンスを出すと言う人もいる。うーん……この種のスケジューリングの遊び方は、本当にかなりdemandingなゲームを走らせないと差が測れないのかもしれない。そうでなければベンチマークを回して眺めて気持ちよくなるだけだ。\nShawnはPi500のPCを持ってきた。なるほど、このPCは本当にこういう見た目なのか。ふん、サーバーにするなら、外殻はできるだけ小さいほうがいいと思う。\n途中、お互いを知るために、円卓を囲んで各自自己紹介をした。うーん……私は特に言うこともなく、現在の職業身分と普段使っているLinuxディストリビューションを簡単に話しただけ。そんな感じ。ただ、着ていたFreeBSD公式Tシャツはうまく注目を集めたようだ。\nそういえば、OCFのAmosから聞いてわかったのだが、オープンソースプロジェクト関連の人が必ずしも専業でコードを書く人とは限らないらしい。これは私のようなscript kiddieをかなり安心させてくれた。\n日落大大は、Facebookがランダムに人をZuckする基準は予測不能だと言っていた。私は深く同感する。最もムカつくのは、Metaの審査要求報告ボタンがまだ壊れていることだ。FacebookでもThreadsでもエラーが出て、理由の記入もさせてくれない。今の仕組みは後から清算してくる。古い投稿がなぜかある日突然規則違反として削除されるし、ドメインをランダムbanする可能性もある。生存者バイアスから見ると、低劣なショート動画のクソ投稿や詐欺広告を投げている連中は何もされず、本当に吐き気がする。こうしたプラットフォームは本当にデジタル人権を重視していない。KaLuGで、自分が夜食投稿をpoしただけで悪意ある通報が成功したと言っていた人を思い出す……。Facebookの基準は一貫していない。本当にAI審査と人間の審査員は一家全員暴死してほしい。最近はさらに偽善的にユーザー調査を送ってきて、私たちに、Zuckしすぎていると思うかと聞いてきた。そんなの当たり前だろう。私はソーシャルメディアの情報を、一時的に情報を置く場所としてしか見ていない。目的は情報流通を共有し、重要な他のウェブサイトへ誘導することだ。各投稿がブログ記事のように長く生きられるとは思っていない。だからこの考え方は安全だ。たとえZuckされても心理的な損失感はそれほど大きくない。結局、すべては一時的なものだから、別の日に同じものを少し技巧的に投稿すればよい。自分でMastodonサーバーを立てて審査を避けることについては、彼がRaspberry Pi一枚あれば立てられると主張しているとはいえ……私は度胸がないので、これからもmastodon.socialに寄生し続ける。\n","date":"2025年10月28日","externalUrl":null,"permalink":"/ja-jp/posts/kalug-2510/","section":"Foss-Issues","summary":" 今日はまず、ShawnがSystemd開発者も参加する会議「All Systemd Go」について共有するのを聞いた。本当にどんなプロジェクトにも参加できる会議があるものだな。この種の専門科目を探究する会議は、外国だからこそ開催できるのだろう。\n議程：KaLUG meetup 2510 - kernel 遇上 user space\n私たちは二か月連続でLinux kernelの話をしているようだ。すごい開発者を招いて共有してもらえるのは本当に光栄だ。\n今日のKaLuGで聞いた、期待できるLinuxカーネルの新機能はsched_extプロジェクトだ。台湾の成大の貢献者による成果も含まれ、Linux 6.12で導入された。これはユーザーがeBPFを通じてuserspaceからスケジューラー(scheduler)を変更し、カスタムのスケジューリング操作を実現できるようにする。さらにcgroupも設定でき、各cgroupがそれぞれ異なるスケジューラーを独立して実行できる。過去にこの目的を達成するにはカーネルを再コンパイルする必要があった。なにせ内蔵スケジューラーは数種類しかないからだ。しかしクライアント側が作業場面に合わせて自分で実装したいスケジューラーを持っていても、上流がすべてのスケジューラーのマージを受け入れることはありえない。だから、このような経済的な方法を提供し、ユーザーが自分で定義できるようにしている。\n","title":"KaLuG 2510 オープンソースコミュニティ集会メモ","type":"foss-issues"},{"content":"Pirating Windows games on Linux!\n請注意：玩盜版是沒辦法中的辦法。有能力請還是支持正版。\n本文適合盜版仔閱讀，也包括遊玩沒有在Steam商店上架遊戲的方法。\n如果要在Linux上玩Windows exe遊戲，最簡單的方法便是透過Steam購買，然後用Linux版Steam客戶端遊玩。\nSteam購買的遊戲，好處是能夠一次購買，多部電腦下載。即使換電腦，進度也能透過Steam雲端同步。假若開發者有支援Linux的話，使用者能夠下載到Linux原生版本。此外，Steam能夠即時取得遊戲更新，方便與ProtonDB的玩家交流遊戲在Linux的執行情況。\n至於沒有那麼多銀子的人，就會有盜版的需求。但是這樣做的問題就會變很多，也會帶來額外風險。首先你沒辦法確定下載到的盜版程式是否跟Steam上的版本一樣，有無移除DRM保護。再者，若是漢化組重新打包過的遊戲程式，ProtonDB上的資料就不能完全參考了，執行可能會出錯。最後當然就是病毒問題，如果盜版遊戲內含勒索程式，就算是Linux也是會中毒的，這點務必小心。\n1. 如何下載盜版遊戲 # 自己找\u0026hellip;\u0026hellip;比如說Nyaa、FitGirl Repack、DODI Repack、CS.RIN.RU、Internet Archive。大部份遊戲都是Windows系統的，我想就算有支援，應該也沒人會無聊到分享Linux版的遊戲。\n可以透過JDownloader或者Free Download Manager管理下載任務。\nBT下載軟體有qBittorrent，它可以加入很多tracker list，還有訂閱RSS。\n斷點續傳軟體有aria2，主要透過命令行操作。\n解壓縮Linux桌面的程式多半都有支援，不需要用到指令。\n但，有些網站的盜版遊戲會用.rar壓縮，Linux可以透過unrar解壓縮。若遇到簡體中文或者日文出現亂碼，無法處理，再透過Wine跑WinRAR解壓縮吧。\n2. DRM破解程式 # 最好不要自己破解DRM，找別人破解好的。\n要是看到遊戲需要Steamworks API才能啟動，可以試試使用Goldberg Emulator嘗試繞過。只要把steam_api(64).dll或libsteam_api.so放到遊戲目錄即可。\n如果遊戲有額外的補丁(patch)要打，需要注意應在該遊戲所在的Wine Prefix裡面執行exe。\n3. Linux管理exe的工具 # 大部份遊戲都是Windows限定，Linux不能直接執行。\nLinux畢竟不是Windows，不是在檔案管理員點兩下遊戲exe就能開啟遊戲的，需要建立Wine環境才能開啟。並且為了穩定性考量，每個遊戲應該有各自獨立的Wine Prefix環境，防止互相污染DLL。\n儘管Linux版的Steam允許使用者新增非Steam遊戲到收藏庫，不過它無法統計遊玩時數。\n這時我會用一個Wine管理器來管理下載後的遊戲。即使不用Steam，依然能夠使用Steam Proton來跑遊戲，不用擔心Wine版本差異過大。\nLutris的彈性非常大，它可以自由指定遊戲的安裝位置，適合把遊戲分開放到其他磁碟的玩家使用。並且Wine Prefix能完整的保存下來。\nBottles偏向跑工具類程式的，主要是備份容易。\n還有透過Bash指令稿安裝盜版遊戲的方法，比如AUR和Github上面有一些付費遊戲的自動安裝指令稿。只要準備好檔案，環境就會自動配好。但因為Lutris也有支援指令稿，所以可以的話還是放在Lutris裡面統一管理。\n4. 遊戲主機模擬器 # 一樣，盜版主機遊戲ROM自己找。\n著名的主機模擬器RetroArch可以在Linux使用，這個程式就包含了各大遊戲主機的模擬器核心。\n5. Android模擬器 # 參見Linux系統「Android手遊模擬器」的解決方案\n6. 跑Windows的虛擬機軟體 # 真的有必要的時候再使用。\n參考Virt Manager跑Windows虛擬機\n參考資料 # Linux Cracking Bible - The GNU Testament - Github The definitive linux piracy guide/cheatsheet - r/LinuxCrackSupport on Reddit ","date":"2025年10月28日","externalUrl":null,"permalink":"/posts/pirating-games-on-linux/","section":"所有文章","summary":"Pirating Windows games on Linux!\n請注意：玩盜版是沒辦法中的辦法。有能力請還是支持正版。\n本文適合盜版仔閱讀，也包括遊玩沒有在Steam商店上架遊戲的方法。\n如果要在Linux上玩Windows exe遊戲，最簡單的方法便是透過Steam購買，然後用Linux版Steam客戶端遊玩。\nSteam購買的遊戲，好處是能夠一次購買，多部電腦下載。即使換電腦，進度也能透過Steam雲端同步。假若開發者有支援Linux的話，使用者能夠下載到Linux原生版本。此外，Steam能夠即時取得遊戲更新，方便與ProtonDB的玩家交流遊戲在Linux的執行情況。\n至於沒有那麼多銀子的人，就會有盜版的需求。但是這樣做的問題就會變很多，也會帶來額外風險。首先你沒辦法確定下載到的盜版程式是否跟Steam上的版本一樣，有無移除DRM保護。再者，若是漢化組重新打包過的遊戲程式，ProtonDB上的資料就不能完全參考了，執行可能會出錯。最後當然就是病毒問題，如果盜版遊戲內含勒索程式，就算是Linux也是會中毒的，這點務必小心。\n1. 如何下載盜版遊戲 # 自己找……比如說Nyaa、FitGirl Repack、DODI Repack、CS.RIN.RU、Internet Archive。大部份遊戲都是Windows系統的，我想就算有支援，應該也沒人會無聊到分享Linux版的遊戲。\n","title":"如何在Linux當個盜版仔，玩Windows exe遊戲","type":"posts"},{"content":" 《サノバウィッチ》，中文翻為《魔女的夜宴》，是YUZUSOFT於2015年推出的18禁戀愛冒險遊戲。 這個遊戲有在Steam上架，支援Windows系統，R18補丁需要到appendingpulse官網下載。需要注意不要買到英文版《Sabbat of the Witch》，應該找中文標題的《魔女的夜宴》。\n在Linux系統玩魔女的夜宴，在寧寧脫衣變身到一半的時候Proton跳出Fatal Error的心情誰懂。因為不想在玩Galgame到劇情高潮之時遇到錯誤，所以我決定重新在實體機器安裝Windows，以備不時之需，執行那些容易在Linux出錯的遊戲。不過這個問題後來用ProtonTricks解決了，原來是缺了wmp11～\n這個故事，大致上是以輕奇幻為主軸的。中間參雜一些讓人落淚的小故事。他們說，為了實現願望，到最後都會付出巨大的代價。有些評論家認為，這部作品是柚子社的巔峰之一，我覺得要很大歸功於寧寧線。否則的話劇情是還好而已，整個故事都硬要把主角身邊的人跟主角身上的魔法扯在一起，讓人看完之後了解到，原來人物關係原來這麼複雜～但因為輕描淡寫的帶過，導致這些人物關係在了解到真相之後給人感覺依然很薄弱。\n故事的高潮點不在於魔女身份的對抗，而是她們各自做出的選擇之後，會付出什麼代價，這點是最吸引讀者好奇的吧。\n感覺得到編劇，也就是天宮りつ等人，嘗試在這部裡面加入一些不常見的元素，包括主要角色家庭破碎、配角出現女同、女扮男裝、跨時空NTR自己（？）等等的議題，讓主角一行人在幫助他人解決煩惱，蒐集心靈碎片的故事更有趣。\n這個故事除了有點催淚之外，最大的爆點就是環繞著「綾地寧寧靠著桌角自慰被保科柊史目擊」這點作為一切的開端吧。後面仍不斷出現寧寧的恐怖眼神當梗，還說祕密洩漏的話，要推男主角先下去再自殺XD 接著來看看人物部份。\n參考Hikari Field的《魔女的夜宴》官方简明攻略\n我的攻略順序：綾地寧寧 → 戶隱憧子 → 假屋和奏 → 因幡巡 → 椎葉紬。總遊戲時數：30小時。\n和奏線短但很不錯，真的好可愛的幼馴染，上台唱歌的MV在這裡才能看到，雖然只是投影片動畫。 做愛的時候也很主動\u0026hellip;嘿！因為身形瘦小，可以整隻抱起來插！ 因幡巡中間有苦味一點點，發現自己以前的朋友原來犧牲了自己的記憶救了自己，大哭一場。後面就全部都在跟男友你儂我儂，甜的好噁心。\n除打招呼的「Ciallo～(∠・ω\u0026lt; )⌒☆」外沒啥記憶點。只知道巡巡好像蠻喜歡用後背位的？勉強對到我胃口。 抱著兩人愛心的交配～這就是我對妳愛情的結晶。 椎葉紬的劇情比較精彩一點，有抓第三魔靈的橋段，看上去故事比較緊張。但是成為魔女所付出的代價沒有其他人那麼沈重，甚至有點搞笑（居然只是為了買一件衣服），反倒是拯救起自己那不成熟的魔靈來了，可說是中規中矩的線。 因為紬本身就很可愛了，做愛的劇情很普通。在這裡，兩人接吻的CG的浪漫度是勝過H場景的，紬完全就是隱藏的第二女主角！超婆的！ 寫的最不好的就戶隱憧子線，Bad End來得很突然，卻又馬上解決，怎麼老是搞這一套愛到卡慘死的時候來詛咒的劇情。因為沒有寧寧線的Restart線所以顯得很乾，到頭來只有嘴巴叼套套、一夜射8次這種超色場面而已。姊姊的聲線很誘惑人，但叫床聲音聽起來蠻乾的，聲優表現的不太好。 雖然後日談的劇情寫到後來兩人結婚，說明了學姐的人妻力，但這\u0026hellip;還是不太行。好啦，硬要說這條線優點就是，主角真正失去了感應他人情緒的能力，變得要坦然面對自己喜愛之人的感情，因此主角可以說是成長了最多。 最後可以得出結論，是不是寧寧以外的路線劇情都在亂寫啊！？或者說差距過大。只有這個線真正營造出了「生離死別」的痛心感，而且劇情最長。主角在愛上了女主角之後才發現愛的越深，就會加速她消失的速度，給彼此造成更深的傷害。兩人在經歷了一陣子的覺悟後，決定要共同珍惜度過剩下的時光，並慢慢等待永別的時刻到來。\n兩人多次擁抱的CG真的讓人感動！編劇在這邊真的透過兩人日常的甜蜜互動，還有突如其然的愛到卡慘死的事件，衝擊玩家的心靈。隨著主角對她感情的流露，也讓玩家更加帶入主角的心情，體會到將要失去所愛之人的痛苦。 可是，編劇不敢把寧寧線的結局寫死，真要這樣操作了肯定會成為神作的，但也會被寄刀片！ 經歷失去摯愛後，播完ED，還是給了玩家「Restart」的路線，讓寧寧帶著懷著前世的記憶，讓另一個線的保科柊史讀檔接關，繼續兩人的恩愛戀情。中間差點想自暴自棄，透過公然自慰喚醒記憶的劇情真的超爆笑～ 在部室裡繼續幹砲，成功的舉辦派對，硬是扭轉成甜美結局。這段劇情安排在玩家中引起了一陣爭議，有人說，這根本就是跨時空NTR另外一個世界的自己吧！？但不要對時空悖論想太多啦，it just works，兩人就這樣幸福的過下去就好。 看寧寧被保科柊史調教的樣子真的很有趣，用手指插入問對方自慰了幾次！？不說就讓妳爽死喔～～！這段劇情真的超讚。 FYI：柚子社許多遊戲的原聲帶 (オリジナルサウンドトラック) 有上串流平台，在Spotify和Youtube都可以聽到遊戲歌曲。話說サノバウィッチ オリジナルサウンドトラック這個封面真的沒問題嘛，怎麼寧寧比遊戲內的裝扮還更加不知羞恥了\u0026hellip;\n我一直覺得Famishin創作的日常BGM很抓耳（詭異的是OP還行，眾女角的ED我覺得聽起來沒怎印象深刻），所以能聽到實在太好了，不用開遊戲當播放器。\n","date":"2025年10月24日","externalUrl":null,"permalink":"/posts/sanoba-witch-game-review/","section":"Reviews","summary":" 《サノバウィッチ》，中文翻為《魔女的夜宴》，是YUZUSOFT於2015年推出的18禁戀愛冒險遊戲。 這個遊戲有在Steam上架，支援Windows系統，R18補丁需要到appendingpulse官網下載。需要注意不要買到英文版《Sabbat of the Witch》，應該找中文標題的《魔女的夜宴》。\n在Linux系統玩魔女的夜宴，在寧寧脫衣變身到一半的時候Proton跳出Fatal Error的心情誰懂。因為不想在玩Galgame到劇情高潮之時遇到錯誤，所以我決定重新在實體機器安裝Windows，以備不時之需，執行那些容易在Linux出錯的遊戲。不過這個問題後來用ProtonTricks解決了，原來是缺了wmp11～\n這個故事，大致上是以輕奇幻為主軸的。中間參雜一些讓人落淚的小故事。他們說，為了實現願望，到最後都會付出巨大的代價。有些評論家認為，這部作品是柚子社的巔峰之一，我覺得要很大歸功於寧寧線。否則的話劇情是還好而已，整個故事都硬要把主角身邊的人跟主角身上的魔法扯在一起，讓人看完之後了解到，原來人物關係原來這麼複雜～但因為輕描淡寫的帶過，導致這些人物關係在了解到真相之後給人感覺依然很薄弱。\n","title":"《魔女的夜宴》各路線女角心得，生離死別之痛","type":"review"},{"content":"","date":"2025年10月24日","externalUrl":null,"permalink":"/tags/yuzusoft/","section":"標籤","summary":"","title":"YUZUSOFT","type":"tags"},{"content":"","date":"2025年10月24日","externalUrl":null,"permalink":"/ja-jp/tags/distro-hopping/","section":"Tags","summary":"","title":"Distro-Hopping","type":"tags"},{"content":" Is there a Linux distro with latest and stable Plasma desktop?\nもううんざりだ。\n周囲には私が制御できないことばかりだ。せめてここでは、絶対的な制御権を持たせてくれ！ 最近、私の二台のコンピューター（KDE Neon/Ubuntu \u0026amp; Fedora）のKDE Plasmaデスクトップがどちらも非常に不安定な状態にあり、そろそろ安定したシステムへ戻る時期だと考えるようになった。おすすめのKDE Plasma Linuxディストリビューション？今の私の答えはDebianだと思う。\nI know, I know I have let you down. (Komm Süsser Tod)\n1. 起 # デスクトップPCではKDE Neonを使っていた。これはローリング更新なので、KDEの小バージョン番号は一か月しか維持されず、翌月には新バージョンが出ることもある。さらに私は一週間に一度システムを更新するので、常に最新更新を受け取れる。しかしこの頻繁な更新速度では、安定性など到底保証できない。KDE 6.4がようやく比較的安定したと思ったら、またKDE 6.5へ更新され、そして大量のプログラムが開かなくなる。こうして循環し続け、びくびくしながら過ごすことになる。\nついに、この丸一年入れていた偽UbuntuシステムをDebianへ置き換えた。 一方、インストールしてから6か月のFedora Workstationノートパソコンは、Fedora Kinoiteへ切り替えて使い続けるため、システムを再インストールした。このシステムパーティションは不変に保たれるので、私はシステムを壊しにくいはずだろう。Fedora KinoiteはuBlue Auroraと比べると、デフォルトでインストールされるものが少なく、大量のoverlayを手動で追加する必要がある。おお～toolboxは思ったより万能だ。toolbox（Toolbx）はLinuxコンテナを動かすための専用ツールで、その中では従来のDNFでソフトウェアをインストールできる。rpm-ostreeのやり方があれほど面倒なら、全部ここへ詰め込んだほうがいい。なんと中でADBを走らせることもできる。rpm-ostreeを使うタイミングについて言えば、これは本当に遅い。簡単な小パッケージを入れるだけでも、apply liveであってもかなり待たされる。すべてrebuildする必要があるからだ。コマンドラインツールはtoolbxの中で操作すべきなのだろうが、私はこのような自分で両腕を切り落とすようなコンテナ化開発には本当に慣れない。システムはimmutableではあるが、安定性は保証されていない。KDEは相変わらずランダムにクラッシュする。こうして循環し続け、しばしばびくびくしながら過ごすことになる。\n結局これもDebianへ換え、ローリングリリースにはしばらく見切りをつけた。\n2. 最新と最安定の矛盾 # 過去の私は、自分こそI use Arch btwだと思っていた。この言葉は他のローリングリリースにも適用できる。しかし\u0026hellip;so? 最新のLinuxソフトウェアを追求するのは素晴らしい。だが、彼らはどうやってシステムの安定性を保証するのか？\nKDEはローリングリリース上では非常に不安定で、ArchもFedoraも同じだ。ローリングリリースにはrollback機構があるから壊れても心配ない、と言う人もいるだろう。しかしシステムを一つの「全体」と見なすなら、Linuxはユーザーのソフトウェアとシステムのソフトウェアを分離しにくい。これがrollbackの悩みを生む。一度のアップグレード後にシステムに問題が出たとして、いったいどのパッケージをダウングレードするのか？\nこれはあくまで私の仮説だが、ローリングLinuxディストリビューションを使い、KDEのような複雑なデスクトップ環境と組み合わせると、システムの不安定さはソフトウェアの複雑さに比例する。これにより一種の駆動力が生じ、ユーザーは徐々に「minimalist approach」のデスクトップ環境、たとえばSwayを採用し、必要なものを自分で組み立て、コマンドライン狂人へ変わっていく。これでなぜTUIプログラムの愛好者があれほど多いのかわかっただろう。\nしかしこれは個人経験によって簡単に反論される。「Arch linuxにKDEを組み合わせて五年使っても何も起きなかった」と言う人もいる！\nだが私個人に関して言えば、一年のあいだだけでも多くの画像glitchを観察した。最新版KDEを体験したい、しかし安定したシステムも欲しい。これはそもそも調和不可能で、KDE Neonでさえ問題が多い。\nGNOMEを使うことはありえない\u0026hellip;むりむりむりむりむりむりむりむりむり。この反人類的デザインとQTプログラムにやさしくない環境は、どう考えても無理だああ。さらに私はNvidiaの画面ティアリング問題を回避したいので、X11デスクトップへ戻ることもありえない。自分で組み立てる必要があるtiling Wayland compositorにも、それほど興味はない。\n3. もしかするとimmutable distroを見るべきかもしれない # ローリングリリースとKDEの組み合わせに対する解決策は、immutable distroを使うことかもしれないと私は思う。システムを不変に保つことで長期的な安定性を強化し、ユーザーが自分でパッケージをインストールする要因によってシステム安定性が破壊されるのを避けるのだ。\nLineageOSはローリングリリースではあるが、Androidの読み取り専用という特性により、ユーザーに勝手にいじり倒されない。それと同じだ。しかし現在のImmutable distro、特にFedoraベースのものを見ると、実際に解決しているのはそこまで重要ではない問題である。彼らはシステムのロールバック可能性、コンテナ化、そして原子的更新によって更新時の安定度を確保することに集中している。\nしかし彼らは唯一、安定性の存在を保証していない。私はFedoraの更新モデルが必ずDebianより安定しているとは信じていないからだ。SteamOS以外に、ImmutableなKDEデスクトップが必ずテスト後に安定してからリリースされ、なおかつ必要なドライバーがすべてインストールされていることを保証できるオープンソースチームはない。往々にしてユーザーが追加でいくつかのパッケージを入れる必要がある。\nつまり、私たちにはLTSを売りにするimmutable distroが足りないということだ。現時点での候補はVanilla OSとHeliumOSである。\nCentOS Streamは想像ほど悪くないのかもしれない。むしろ、ある程度ではUbuntu LTSに似ている。ただし更新が少し速い（←支離滅裂な発言？）。uBlue OSプロジェクトが出している一連のBluefinディストリビューションは、見ているだけで頭がくらくらする代物だ。ただしThreadsでこのディストリビューションをずっと推薦している人を見かけたので、いくつか研究報告を読み、以下の結論を得た。基本的に、Bluefinは強化版Fedora Atomicであり、low-maintenanceとcontainerを主軸とし、immutableモードを維持しつつbootcとrpm-ostreeでシステムを管理する。そして用途ごとにさまざまなイメージファイルを提供する。たとえばゲーム用のBazzite、GNOMEデスクトップのBluefin、KDEデスクトップのAuroraなどだ\nさらにCentOS StreamベースのBluefin LTS（GNOMEデスクトップ + HWEカーネル）、そしてAlma LinuxベースのHeliumOS（KDEデスクトップ）もある。後者二つはかなり面白い。市場にある多くのimmutable distroは、ほとんどrolling releaseを改造したものだ。アップグレードが壊れても自由にロールバックできると言うが、これはそもそも安定していない。特にKDEデスクトップユーザーにとっては。\n私はやはりUbuntu LTSのような、更新が比較的遅いシステムを好む。さらに、安定したシステムが自分でソフトウェアをインストールすることとエントロピー増大の法則によって混乱していくのは避けたい。このときimmutable distroはとても有用になる。\nちなみに、CentOS Streamはもはや無料勢が大好きだったpoint to releaseディストリビューションではないが、開発が止まったわけではないし、本物のローリングリリースにもあまり似ていない。RHELと同じくバージョン番号がある。開発進度がFedoraより少し遅く、各バージョンのメンテナンス期間が5年にも及ぶ以上、Fedora LTSとして理解してもよい。今でも適切にメンテナンスされており、そうでなければRHELは安心して変更を受け入れられない。もちろん、Linuxコミュニティがそれに興味を持つかどうかはまた別の話だ。\n4. 本当に一生使えるシステムはあるのか？ # 一生取り替えなくていいシステム\u0026hellip; サーバールームで黙々と働くサーバー、サポート周期が10年にも及ぶRHELでもないかぎり、distro-hoppingの誘惑には到底耐えられないだろう！しかしdistro-hoppingをするにしても、私は正常な人間になりたい。安穏に使いたいのであって、一か月後、一週間後、さらには明日の更新後に何かが壊れるのではないかと心配したくない。\n以前の私は本当に「ローリングリリース」にはバージョン番号がなく、大バージョンアップも不要で、一生使えると信じていた。しかし転がせば転がすほど信頼できなくなった。Arch、openSUSE Tumbleweed、Fedoraを含め、私が愛するKDEデスクトップは次々に問題に遭遇した。一年のあいだにKDEパッケージのバージョンは絶えず更新され、不安定性が増していく。immutable distroでさえ、できるのはロールバックだけであり、安定性は保証しない。だから私はやはり、おとなしく安定リリースのディストリビューションを使うことにした。より長い開発周期によって、時間がbugを薄めてくれるだろう。Debian、Ubuntu、Rocky、Almaが提供するKDEは、更新後に崩壊しにくい。大バージョンアップは平均して二年に一度だけで、この周期内では大きな変更がなく、デスクトップパッケージのバージョンもほとんど変動しない。\nまことにあなたがたに告げる。明日のことを思い煩ってはならない。明日のことは明日自身が思い煩う。一日の苦労は、その日一日だけで十分である。\n5. 麻痺した、Debianに換えればいい # 心に罣礙なし、罣礙なきが故に恐怖あることなく、顛倒夢想を遠離し、究竟涅槃。おかえり、point-to-releaseの懐へ。システムだけでなく、デスクトップパッケージもrollingリリースのモードを使うのはやめよう。ローリングリリースとKDEの組み合わせを捨て、KDE Neonも使わない。\n私は本当にローリングリリースに耐えられなくなった。長いあいだサブPCでローリングリリースをテストしてきた。しかし急に使う必要があるときにシステムを更新すると、非常に不安定な状況へ陥りやすい。かなり苛立つ。\n私はもう、いつ変化するかを常に心配する過程に身を置きたくない。周囲には私が制御できないことばかりだ。せめて\u0026hellip;ここでは絶対的な制御権を持たせてくれ！\n要するに、私はローリングリリースが好きではない。だから最近また安定リリースへ戻り、KDE 6.3搭載のDebian 13を選んだ。このバージョンのKDE Waylandには、まだ低確率でクラッシュする可能性があることは知っている。それでも予見できるのは、今後二年以内にこれ以上未知のbugが出てこないということだ。 最近になってようやく、Debian StableのKDEバージョン更新はKubuntu LTSより一年速いという事実を認識した。Debian 13のKDE 6.3とKubuntuのKDE 5.27を比べてみればいい。しかもKDE Neonより安定している\u0026hellip;偶然かもしれないが。\nああ、こうして私は手元のシステムを全面的に切り替えた。\nJesus Bleibet Meine Freude\n","date":"2025年10月24日","externalUrl":null,"permalink":"/ja-jp/posts/from-kde-neon-to-debian/","section":"Posts","summary":" Is there a Linux distro with latest and stable Plasma desktop?\nもううんざりだ。\n周囲には私が制御できないことばかりだ。せめてここでは、絶対的な制御権を持たせてくれ！ 最近、私の二台のコンピューター（KDE Neon/Ubuntu \u0026 Fedora）のKDE Plasmaデスクトップがどちらも非常に不安定な状態にあり、そろそろ安定したシステムへ戻る時期だと考えるようになった。おすすめのKDE Plasma Linuxディストリビューション？今の私の答えはDebianだと思う。\nI know, I know I have let you down. (Komm Süsser Tod)\n1. 起 # デスクトップPCではKDE Neonを使っていた。これはローリング更新なので、KDEの小バージョン番号は一か月しか維持されず、翌月には新バージョンが出ることもある。さらに私は一週間に一度システムを更新するので、常に最新更新を受け取れる。しかしこの頻繁な更新速度では、安定性など到底保証できない。KDE 6.4がようやく比較的安定したと思ったら、またKDE 6.5へ更新され、そして大量のプログラムが開かなくなる。こうして循環し続け、びくびくしながら過ごすことになる。\nついに、この丸一年入れていた偽UbuntuシステムをDebianへ置き換えた。 ","title":"KDE NeonからDebianへの移行から考える。Linuxデスクトップディストリビューションで、最新と安定は本当に両立できるのか？","type":"posts"},{"content":"Is there a Linux distro with latest and stable Plasma desktop?\n我受夠了。\n周遭盡是我不能控制的事情，至少讓我在這裡擁有絕對的控制權吧！ 最近我兩台電腦（KDE Neon/Ubuntu \u0026amp; Fedora）的KDE Plasma桌面都處於很不穩定的狀態，於是我就在想，是時候回到穩定的系統了。推薦的KDE Plasma Linux發行版？我想，現在我的答案是Debian。\nI know, I know I have let you down. (Komm Süsser Tod)\n1. 起 # 桌電使用的是KDE Neon，從Kubuntu加PPA轉換過來的，因為它是滾動更新的緣故，一個KDE小版本號可能只會維持一個月，然後下個月就會有新版本出來。加上我一個禮拜更新一次系統，所以總是能收到最新更新。但這頻繁的更新速度，根本就不能確保穩定性，可能KDE 6.4總算比較穩當之後，又更新到KDE 6.5了，然後一堆程式開不起來，就這樣往復循環，處於一種擔驚受怕的過程。\n終於將這個裝了整整一年的偽Ubuntu系統換為Debian。 另一方面，我將安裝了6個月的Fedora Workstation筆電，切換到Fedora Kinoite繼續使用，重裝系統。這個系統分區保持不變，所以我應該很難弄壞系統吧。Fedora Kinoite跟uBlue Aurora比起來，預設安裝的東西比較少，需要手動加入一堆overlay。喔～toolbox比我想的萬能，toolbox (Toolbx) 是專門用來跑Linux容器的工具，裡面能夠使用傳統的DNF安裝軟體。既然rpm-ostree的方式那麼麻煩，不如全部都塞在這裡面，居然可以在裡面跑ADB。關於rpm-ostree使用時機，這真的很慢，簡單裝個小套件，就算是apply live也要等好久，因為要全部rebuild。雖然命令列工具應該在toolbx裡面操作，但我真的不習慣這種自斷雙臂的容器化開發呀。雖然系統是immutable，但可沒有保證穩定性啊，KDE照樣隨機崩潰。就這樣往復循環，時常處於一種擔驚受怕的過程。\n結果也換成Debian，對滾動發行版暫時死心。\n2. 最新與最穩定的矛盾 # 過去我自以為I use Arch btw，這句話也適用其他滾動發行版本，但是\u0026hellip;so? 追求最新的Linux軟體很棒，可是他們要如何確保系統穩定性呢？\nKDE在滾動發行版非常不穩定，Arch和Fedora皆然，有人會說啊滾動發行版有rollback機制不用擔心滾掛，如果將系統視為一個「整體」，Linux很難把使用者的軟體與系統的分開，這就導致rollback困擾，在一次升級後系統出問題，而究竟哪些套件會被降級？\n這只是我的假說，使用滾動Linux發行版，搭配複雜的桌面環境，比如KDE，系統不穩定的程度會與軟體複雜度正比。致使會有一種驅力，導致使用者逐步採取「minimalist approach」的桌面環境，例如Sway，選擇自行組裝需要的東西，變成命令行狂人，這下知道為什麼那麼多TUI程式的愛好者了吧。\n可是這也很容易受到個人經驗的反駁：有人說他用Arch linux配KDE五年都不會怎樣！\n但至於我個人光是一年內就觀察到許多圖像glitch。我想要體驗最新版KDE，又要穩定的系統，這本就不可能調和，就連KDE Neon問題都很多。\n我不可能去用GNOME的\u0026hellip;むりむりむりむりむりむりむりむりむり，這個反人類設計和對QT程式不友善的環境怎麼想都是不行的啊啊。再加上我要迴避Nvidia畫面撕裂的問題，不可能回頭去用X11桌面。我對需要自行組裝的tiling Wayland compositor沒有太大興趣。\n3. 也許我應該看看immutable distro # 我覺得，滾動發行版配KDE，可能的解決方法是用immutable distro，讓系統保持不變增強長期下來的穩定性，避免使用者自行安裝套件的因素破壞系統穩定性。\n正如LineageOS雖是滾動發行版，但Android唯讀的特性讓它不會被使用者隨意亂改。但眼觀目前的Immutable distro，尤其是基於Fedora的，實際上解決的是不那麼重要的問題，他們專注在系統的可回滾性，容器化，還有透過原子更新確保更新時候的穩定程度。\n但是他們唯獨沒有保證穩定性的存在。因為我不相信Fedora的更新模式一定會比Debian穩定。除了SteamOS以外，沒有開源團隊能確保Immutable的KDE桌面一定是測試後穩定了才放出來的系統，且是安裝了所有必備的驅動，往往都要使用者補裝一些套件。\n這也就是說，我們缺少以LTS為賣點的immutable distro。目前我的人選有Vanilla OS和HeliumOS。\nCentOS Stream可能沒有想像中那麼差，相反，在某種程度上它跟Ubuntu LTS很類似，不過更新快了一點（←支離滅裂的發言？）。uBlue OS專案推出的一系列Bluefin發行版是讓我看的頭昏腦脹的玩意。不過我看到有人在Threads一直推薦使用這個發行版，故看了一些研究報告，得出以下結論。基本上，Bluefin就是強化版的Fedora Atomic，以low-maintenance和container為主，維持immutable模式並採用bootc和rpm-ostree管理系統，並針對不同用途提供各種映像檔，例如遊戲用的Bazzite，GNOME桌面的Bluefin，KDE桌面的Aurora等等\n此外還有基於CentOS Stream的Bluefin LTS（GNOME桌面 + HWE核心），以及基於Alma Linux的HeliumOS（KDE桌面）。後面這二者就很有趣了，市面上許多immutable distro幾乎都是拿rolling release來改的，儘管他們說升級掛了可以任意回滾，但這根本不穩定呀，尤其對KDE桌面用戶來說。\n我還是偏好Ubuntu LTS那種更新比較慢的系統。此外，我不想讓穩定系統因為自行安裝軟體加上熵增定律變得混亂，這時immutable distro就會很有用。\n順帶一提，CentOS Stream雖然不再是免費仔最愛的point to release發行版，但它並沒有停止開發，而且也不太像真正的滾動發行版，它跟RHEL一樣還是有版本號的。既然它開發進度比Fedora要慢一些，且每個版本的維護時間長達5年，那麼把它理解為Fedora LTS也無不可，它還是有得到妥善維護的，這樣RHEL才能安心接受變更。當然Linux社群對它有無興趣那就是另一回事了。\n4. 真的有可以用一輩子的系統嗎？ # 一輩子都不用換的系統\u0026hellip; 除非是在機房內默默工作的伺服器，支援週期長達10年的RHEL，否則根本禁不住distro-hopping的誘惑吧！但即使是distro-hopping，我也想成為正常的人類，能安穩的用，而不是擔心一個月、一週、乃至明天更新後就會有東西壞掉。\n以前我真的信了「滾動發行版」沒有版本號碼，不用大版本升級，可以用一輩子，但是越滾越沒信心，包括Arch、openSUSE Tumbleweed、Fedora，我摯愛的KDE桌面都接連遇到問題，一年內KDE套件版本不斷更新，增加不穩定性。就連immutable distro也只是能回滾而已，不保證穩定性。因此我還是決定乖乖用穩定發表的發行版了，讓較長的開發週期，讓時間沖淡bug吧，Debian、Ubuntu、Rocky、Alma提供的KDE比較不容易更新後崩掉。大版本升級平均兩年才一次，在這週期內不會有太大的變更桌面套件版本幾乎不會變動。\n我實在的告訴你們，不要為明天憂慮，因為明天自有明天的憂慮；一天的難處一天當就夠了。\n5. 麻了，換成Debian就好 # 心無罣礙，無罣礙故，無有恐怖，遠離顛倒夢想，究竟涅槃。歡迎回家，回到point-to-release的懷抱。不只是系統，桌面套件也不要用rolling發布的模式了。拋棄滾動發行版配KDE，也不要用KDE Neon了。\n我實在不能忍受滾動發行版了，長期以來都是在副電腦測試滾動發行版。不過臨時要用的時候一更新系統很容易陷入不穩定的情況，很躁。\n我不想再處於一種隨時擔心變化的過程中了，身邊的周遭盡是我不能控制的事情，至少\u0026hellip;讓我在這裡擁有絕對的控制權吧！\n總之，我不喜歡滾動發行版。所以最近又回來用穩定發行版了，遂選擇搭載KDE 6.3的Debian 13。雖然我知道這個版本的KDE Wayland還是有小機率崩潰，但可預見的是未來兩年內不會有更多未知的bug出現。 最近我總算認知到Debian Stable的KDE版本更新比Kubuntu LTS快一年的事實，看看Debian 13的KDE 6.3對比Kubuntu的KDE 5.27，又比KDE Neon穩定\u0026hellip;可能是巧合。\n啊啊，於是我全面切換手上的系統了。\nJesus Bleibet Meine Freude\n","date":"2025年10月24日","externalUrl":null,"permalink":"/posts/from-kde-neon-to-debian/","section":"Foss-Issues","summary":"Is there a Linux distro with latest and stable Plasma desktop?\n我受夠了。\n周遭盡是我不能控制的事情，至少讓我在這裡擁有絕對的控制權吧！ 最近我兩台電腦（KDE Neon/Ubuntu \u0026 Fedora）的KDE Plasma桌面都處於很不穩定的狀態，於是我就在想，是時候回到穩定的系統了。推薦的KDE Plasma Linux發行版？我想，現在我的答案是Debian。\nI know, I know I have let you down. (Komm Süsser Tod)\n1. 起 # 桌電使用的是KDE Neon，從Kubuntu加PPA轉換過來的，因為它是滾動更新的緣故，一個KDE小版本號可能只會維持一個月，然後下個月就會有新版本出來。加上我一個禮拜更新一次系統，所以總是能收到最新更新。但這頻繁的更新速度，根本就不能確保穩定性，可能KDE 6.4總算比較穩當之後，又更新到KDE 6.5了，然後一堆程式開不起來，就這樣往復循環，處於一種擔驚受怕的過程。\n終於將這個裝了整整一年的偽Ubuntu系統換為Debian。 另一方面，我將安裝了6個月的Fedora Workstation筆電，切換到Fedora Kinoite繼續使用，重裝系統。這個系統分區保持不變，所以我應該很難弄壞系統吧。Fedora Kinoite跟uBlue Aurora比起來，預設安裝的東西比較少，需要手動加入一堆overlay。喔～toolbox比我想的萬能，toolbox (Toolbx) 是專門用來跑Linux容器的工具，裡面能夠使用傳統的DNF安裝軟體。既然rpm-ostree的方式那麼麻煩，不如全部都塞在這裡面，居然可以在裡面跑ADB。關於rpm-ostree使用時機，這真的很慢，簡單裝個小套件，就算是apply live也要等好久，因為要全部rebuild。雖然命令列工具應該在toolbx裡面操作，但我真的不習慣這種自斷雙臂的容器化開發呀。雖然系統是immutable，但可沒有保證穩定性啊，KDE照樣隨機崩潰。就這樣往復循環，時常處於一種擔驚受怕的過程。\n","title":"Linux桌面發行版，最新與穩定，真的能兼得嗎？從KDE Neon到Debian的遷移談起","type":"foss-issues"},{"content":"","date":"2025年10月23日","externalUrl":null,"permalink":"/ja-jp/tags/linguistics/","section":"Tags","summary":"","title":"Linguistics","type":"tags"},{"content":"","date":"2025年10月23日","externalUrl":null,"permalink":"/ja-jp/tags/nix/","section":"Tags","summary":"","title":"Nix","type":"tags"},{"content":" 言語でデスクトップ世界を創造する——言語学の角度から見るNixOSの哲学\nCreating a Desktop by Language: The Philosophy of NixOS\nこの記事は、私が言語学のSemanticsの授業を受け、そのうえでしばらくNixOSで遊んだ後、一時の思いつきでChatGPTに協力してもらい、でっち上げた文章である。私がアウトラインを書き、その後AIに細部の補足を頼んだ。壇上で発表した時、教授を含め全員がわけのわからない顔をしていた。\n実は私自身も、自分が何を言っているのかわからない。\n1. 第三のOS # マスター・ヨーダは言った：There\u0026rsquo;s another。\nOSの世界には、WindowsとmacOS以外に、実は第三の強力なシステム世界がある：Linuxだ。\nWindowsがコンビニ、macOSが精品カフェだとすれば、Linuxは自分で豆を育て、自分で焙煎し、自分で淹れるコーヒー愛好家のようなものだ。さらにLinuxには多くの支店があり、それぞれの支店に自分の配方がある。これをLinuxディストリビューションと呼ぶ。\nLinuxの特別なディストリビューション —— NixOS。\nそれは単なるシステムではなく、「言語でコンピューター世界を記述する」哲学でもある。\n言語からNixOSを語る。\nもし言語の意味が数学や論理規則で表現できるなら、私たちは言語をプログラムのように精確なものへ変えられる。\n話すこともまた世界を創造することであり、すべての入力と出力は一つの関数として見なせる。どのような入力があれば、必然的にどのような結果が得られる。例外はない。\nここまで聞くと少し狂っているように聞こえるだろう？しかし言語学者Montagueもかつて言語を数学公式に変えようと試みた。だから私は伝統を継承しているだけだ（笑\n2. 言語学概念 # 英国の哲学者ジョン・オースティンは「発話行為」（Speech Act Theory）を提唱し、ある言葉を口にすることで現実を変えられるとした。たとえば「私はあなたたちを夫婦と宣言します」。\nでは、もし私たちが言語で結婚だけでなく、『コンピューターソフトウェア世界全体を出現させる』ことができるとしたら？」\nNixOSは、設定ファイルを一つ書くだけで、システム全体が自分で生成されるようにする。\nNixOSとは、Nixパッケージマネージャーを利用して構成された宣言的システムである。\n一般的なLinuxシステムでは、各ソフトウェアを自分でインストールし、自分で設定しなければならない。\nNixOSでは、数行の文字で自分が望む世界を説明するだけで、自動的に作ってくれる。\nDeclarative vs. Imperative\n伝統的Linuxはimperative：コマンドでシステムを「一歩ずつ」操作する\nNixOSはdeclarative：設定ファイルで理想状態を「記述」し、一挙に達成する。\nSystem as Code：言語の具象化\nNix configuration file = OSの構文木\n各パッケージ設定は言語単位（lexeme）\nOS全体は発話の実現（utterance）\n公式に書くなら\nNixOSシステムにとって\nsystem = f (configuration.nix)\n意味論において\nmeaning = f (syntax, context)\n短いNix設定ファイル例：\n{ services.desktopManager.plasma6.enable = true; services.displayManager.sddm.enable = true; services.displayManager.sddm.wayland.enable = true; } この一行の文字の意味は、命令文のようなものだ：\nKDEデスクトップよ、現れよ！nixos-rebuild switchコマンドを実行すると、システムは本当にその通りに実行し、ぐちゃぐちゃなエラーやバージョン地獄は起きない。\n3. NixOSの三つの不思議な特性 # 最もよく言及される利点：\nImmutable Atomic Reproducible Immutable システムは勝手に変更されない。\nシステムは「不変」であり、変更のたびに新しいバージョンが生成される。\n私たちは、自然言語における統語規則は、一度成立すれば突然意味を変えず、意味を安定して予測できるようにすると仮定する。\nあなたは一文を話している途中で文法が爆発することはない。NixOSも同じだ。\n言語の本質は曖昧だが、意味論は「変化に抵抗する」努力をしている！\n意味論（semantics）は意味が固定されることを保証しない。しかしその目標の一つはまさに——意味を予測可能、再現可能にする枠組みを作ることだ。この点はNixOSの設計哲学「同じ入力 → 同じ結果」と非常によく似ている。\n言い換えれば：\n自然言語では、私たちは異なる文脈でも意味を安定させる方法を研究する；\nNixOSでは、時間と環境によって設定が変わらないようシステムを設計する。\nImmutable ≠ 不変の意味ではなく、制御可能な意味である。\n自然言語では、語義は時間とともに変わる。たとえばliterallyは今では比喩を表すためによく使われる。\nしかし意味論者の目標は、曖昧性を制御し、意味を予測できるシステムを作ることだ。\nNixOSのimmutable設計——それは世界が変わらないことを保証するのではなく、私たちが意味を追跡、回溯、再構築できることを保証する。\n言い換えれば、言語学とNixOSはいずれも「意味またはシステムのエントロピー増大」と戦っている。\nAtomic 成功するか、変わらないかのどちらか。\nシステム更新時、NixOSは「原子的」であり、すべて成功するか、完全に動かないかのどちらかだ。停電してシャットダウンした後でさえ、システムは動作できる。自然言語の文が完全でなければ意味を持たず、主語だけで動詞がない状態ではいけないのと同じだ。\nReproducible 完璧に再構築できる。\nシステム全体を一つの関数と見なせるため、System as Codeの理念に従えば、毎回固定された出力がある。\nNixOSの同じ設定ファイル → どのPCでも、どの日でも、結果は同じ。\n少し構文規則に似ている：同じ構文なら、どこに置いても同じ意味を生成できる。\nKDE Plasmaデスクトップ：言語が具現化した姿\nKDE PlasmaはNixOS上で最も人気のあるデスクトップ環境の一つで、設計は優雅でカスタマイズ可能だ。カスタム性は高いが、少し複雑でもある。NixOSでは、マウスで外観を一つずつ設定するのではなく、言語で理想のデスクトップを書き出す。\nこれは詩人が言語で想像世界を構築するのと似ている。ただし私たちが構築するのはデジタル世界だ。\n私は皆にプログラムの書き方を教えているのではない。コンピューター世界における言語哲学の延長を話しているのだ。\n4. 混乱から秩序へ：Linuxの「エントロピー」と言語の「エントロピー」 # 伝統的Linuxのエントロピー増大問題とは何か？\n伝統的Linuxのソフトウェア管理はimperativeである：手動でパッケージをインストールし、削除する。さまざまな dependency、バージョン、config が互いに汚染しうる。時間が経つと「システムエントロピー増大」になる：どのパッケージがなぜ存在するのかわからず、軽々しく触る勇気もなくなる。\n手動インストール、依存関係の混乱、バージョン衝突、不可逆。システム状態はもはや再現可能ではなくなり、「ソフトウェアエントロピー増大」へ入る。\n言語においても、エントロピー（Information Entropy）で説明できる。\nShannonエントロピーは言語の不確実性、予測可能性に触れている。\n自然言語は文法を通じて混乱に対抗し、理解可能性を維持する。\nNixOSをシステムエントロピーに対抗する言語実験として見るなら？\n情報エントロピー（information entropy）は、言語情報の不確実性または予測難度を測るために使われる。\n言語中の「エントロピー」が高いほど、文は予測しにくく、混乱していることを意味する。\nたとえば：「犬が吠える」の意味は予測可能性が高く、エントロピーが低い。一方で「紫色の概念が踊っている」という文はエントロピーが高い。意味が現れる確率が極めて低いからだ。\n言語学者ZipfとShannonはいずれも発見した：自然言語は表面上は混乱して見えるが、全体として何らかの統計的秩序（Zipf’s lawなど）に従っている。\nだから言語システムは実は「エントロピー増大に対抗」している：規則、文法、意味制限を通じて混乱を抑え、理解可能性（order within chaos）を維持している。\nNixOSの哲学は、システムエントロピー増大に対抗する言語実験である。declarativeな設定ファイルと不変アーキテクチャ（immutable store）を通じて、システム状態を常に再現可能（reproducible）、回溯可能（atomic rollback）にする。\nNixOSは言語とバージョン管理で秩序を維持する。各設定宣言は一つの「構文規則」であり、混乱を抑制する。\n言語学は意味の安定をどう維持するかを研究し、NixOSはシステムの安定をどう維持するかを研究する。\nNixOSのdeclarativeアーキテクチャは「構文規則」のようなもので、秩序を再び取り戻す。\nShannonの「情報エントロピー」概念に基づき、「予測可能性」で言えば。\nすなわち「言語は理解を維持するために混乱を抑え、NixOSは秩序を維持するためにシステムエントロピーを抑える。」\n5. 結論：秩序から言語を創造する # 言語の中で私たちは思想を構築し、NixOSの中で私たちは言語によって現実を構築する。\n他のシステムがエントロピーに呑み込まれる時、NixOSはなお構文によって秩序を維持する。\nReferences # Austin, J. L. (1962). How to Do Things with Words. Shannon, C. E. (1948). A Mathematical Theory of Communication. Zipf, G. K. (1949). Human Behavior and the Principle of Least Effort. NixOS Manual Documentation ","date":"2025年10月23日","externalUrl":null,"permalink":"/ja-jp/posts/creating-a-linux-desktop-by-language-the-philosophy-of-nixos/","section":"Foss-Issues","summary":" 言語でデスクトップ世界を創造する——言語学の角度から見るNixOSの哲学\nCreating a Desktop by Language: The Philosophy of NixOS\nこの記事は、私が言語学のSemanticsの授業を受け、そのうえでしばらくNixOSで遊んだ後、一時の思いつきでChatGPTに協力してもらい、でっち上げた文章である。私がアウトラインを書き、その後AIに細部の補足を頼んだ。壇上で発表した時、教授を含め全員がわけのわからない顔をしていた。\n実は私自身も、自分が何を言っているのかわからない。\n1. 第三のOS # マスター・ヨーダは言った：There’s another。\nOSの世界には、WindowsとmacOS以外に、実は第三の強力なシステム世界がある：Linuxだ。\nWindowsがコンビニ、macOSが精品カフェだとすれば、Linuxは自分で豆を育て、自分で焙煎し、自分で淹れるコーヒー愛好家のようなものだ。さらにLinuxには多くの支店があり、それぞれの支店に自分の配方がある。これをLinuxディストリビューションと呼ぶ。\nLinuxの特別なディストリビューション —— NixOS。\nそれは単なるシステムではなく、「言語でコンピューター世界を記述する」哲学でもある。\n","title":"言語でLinuxデスクトップ世界を創造する——言語学の角度から見るNixOSプログラムの哲学","type":"foss-issues"},{"content":"","date":"2025年10月21日","externalUrl":null,"permalink":"/tags/distrobox/","section":"標籤","summary":"","title":"Distrobox","type":"tags"},{"content":"本文讓Ivon為您解說如何使用「Distrobox」建立容器，安裝其他Linux發行版的套件，文末附上更多實際應用例子。\nLinux的容器系統，最常見的有Docker和Podman，一般用途都是來開發軟體或者跑服務吧。容器的設計，使得不同Linux發行版要跑起服務的成本低了許多。\n既然容器具有跨發行版的特性，能不能進一步利用容器的特性，使用特定發行版的軟體呢？有沒有可能\u0026hellip;在Ubuntu用pacman和DNF裝軟體又不跟系統的套件管理器衝突呢？\n這正是「Distrobox」的理念。 Distrobox是由Luca Di Maio開發的程式，利用容器技術，能夠在一個Linux系統安裝其他發行版的套件，不管你想要APT、DNF、Yum、Pacman、Zypper、XBPS、Portage都難不倒它。更棒的是，不只純文字工具，連圖形應用程式都能裝來用，甚至能跑桌面環境！\n其實，Distrobox就是Podman/Docker的前端啦，技術上來說不需要裝這個也能靠打指令達到一樣效果。不過Distrobox簡化了打指令建立容器的過程，只要幾行指令，便可快速建立特定Linux發行版的容器，存取該發行版的套件管理員。用Distrobox建立Linux容器的話較易於管理、備份、升級。\n現在，SteamOS和openSUSE MicroOS已經內建Distrobox，作為immutable系統的軟體補充來源。類似Distrobox的軟體尚有Fedora Silverblue內建的「Container Toolbox」。\n1. 為什麼你會需要Distrobox # 我需要那個酷東西\n您需要的套件發行版尚未提供，不想拆deb、rpm包硬裝，更不想手動編譯軟體，且其他發行版有提供該套件的場合。\n譬如，Ubuntu安裝Distrobox，建立Arch Linux的容器後，你就可以從包山包海的AUR安裝軟體，還可以把它加到桌面，像原生應用程式一樣啟動。\n或者，你有一個特定版本的軟體，需要特定依賴系統版本才能啟動。\n無需擔心弄壞宿主機系統！Distrobox不會把其他發行版的套件直接往您的系統塞，而是安裝到容器內部，需要的時候再拿二進位檔出來用即可。\n還有，對於Debian Stable這類套件版本較舊的Linux發行版而言，Distrobox能夠裝到其他發行版提供的最新版軟體並加以利用，好比GCC，不用手動抓原始碼編譯。\n就算你真的需要編譯軟體，也可以在容器裡面編譯測試，而不用怕弄壞宿主系統，跟用Docker開發軟體的原理是一樣的。\n我的系統會咬我\nDistrobox適合SteamOS (Steam Deck)、Fedora Silverblue、openSUSE MicroOS、VanillaOS、EndlessOS這類「immutable」的Linux發行版使用，這些發行版不會讓使用者動系統目錄；就算動了系統目錄一更新就會被覆蓋，所以得依賴容器技術來安裝軟體。除使用Flatpak外，缺少的套件可以從Distrobox的容器補充。\n或者我們可以想像力更豐富一些：在Microsoft Windows的WSL子系統裝DistroBox，這樣就不用開一堆複雜的WSL容器了。\n低成本的distro-hopping\n有人戲稱Distrobox為「Linux Subsystem for Linux」，寫作LSW，因為概念跟Microsoft的WSL (Windows Subsystem for Linux) 很像。也有人認為，Distrobox是一種免虛擬機、最快速distro-hopping的一種方式。\n根據開發者的表格，Distrobox不需要特製映像檔，支援使用現有的Linux發行版映像檔，例如AlmaLinux、AmazonLinux、Alpine Linux、Arch Linux、CentOS、Debian、deepin、EndlessOS、Fedora Silverblue、Fedora、Gentoo、Manjaro、NixOS、openSUSE、SUSE Linux、Orcale Linux、SteamOS、RHEL、Rocky Linux 、Ubuntu、Void Linux等等。\n你還在distro-hopping？所有Linux發行版我全都要 ～ 下圖為Distrobox作者示範的圖片。 當然容器環境還是跟實體機的功能差很多啦！不能這樣類比。\n使用Distrobox前的考量\nDistrobox解決的是有distro-hopping經驗的Linux使用者會在意的問題。使用者必須知道如何調整workflow，懂得用容器工作。\n使用Distrobox可以一定程度上削減宿主機的需求，再也不必為了跑特定發行版的程式而換系統。除了開發用途，Distrobox將其他發行版的圖形程式幹來用，但只將必要檔案暴露給宿主機，並與宿主機桌面環境整合的特性，使其成為第三方軟體的一個不錯補充來源。\n安全性方面，值得注意的是，雖然是容器，但Distrobox建立的容器預設可以存取家目錄、USB裝置、X伺服器/Wayland、SSH設定檔、系統日誌等，因此不算完全隔離的檔案系統。\n至少跟Flatpak相比，Distrobox容器並沒有明確的權限控管。它預設就是在目前的家目錄進入容器，僅容器本身的資料用docker volume另外儲存。\nDistrobox可以選擇Docker或Podman當其後端，其中Podman支援rootless mode，適合無法變更系統檔案的發行版使用，整體限縮的權限也會較多。\n2. 安裝Distrobox # 使用Distrobox前要先在系統安裝Podman或Docker當做後端，二者可以共存。部份Linux發行版在安裝Distrobox的時候會自動選取Podman當作後端，因其daemonless的特性。\n我們可以透過~/.config/distrobox/distrobox.conf設定檔指定要使用的後端。\n使用Docker當後端 # 如果您有sudo權限，就用系統套件管理員安裝Distrobox。\n請先安裝Docker，並啟動對應的系統服務。 sudo systemctl start docker 再來是Distrobox，許多發行版已收錄該套件。但請注意，有的發行版套件會強制拉取Podman當後端，而非使用Docker。若想強制用Docker的話請改用指令稿安裝。 # Debian/Ubuntu sudo apt install distrobox # Fedora sudo dnf install distrobox # Arch/Manjaro sudo pacman -S distrobox # openSUSE sudo zypper install distrobox 你也可以用下載作者指令稿的方式安裝Distrobox： # 安裝到~/.local curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh -s -- --prefix ~/.local # 將Distrobox加入到PATH echo \u0026#34;PATH=$PATH:$HOME/.local/bin\u0026#34; \u0026gt;\u0026gt; ~/.bashrc 使用Podman當後端 # 如果您無法變更系統檔案，或是想要更安全的環境，使用rootless mode來安裝Distrobox。\n如果要這麼做，請先以rootless模式安裝Podman\n再用指令稿安裝Distrobox：\ncurl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh -s -- --next --prefix ~/.local 將以下路徑加入到~/.bashrc # Podman和Distrobox的路徑 PATH=$PATH:$HOME/.local/podman/bin:$HOME/.local/bin # 允許所有應用程式顯示在螢幕上（需安裝xhost） xhost +si:localuser:$USER 3. 用Distrobox建立容器 # 一切指令以Distrobox開發者文件為主。\n預設distrobox create建立的是持續性Linux容器，意即建立的容器在退出shell後仍會存在系統。（如果指令顯示找不到，請嘗試把指令連在一起，如distrobox-create）\n直接打distrobox create不加任何參數，預設是建立一個最新版Fedora的容器。\n下面是建立Debian 13的容器的最簡單語法。--image後面跟Docker指令寫法一樣，用debian:13指定要拉取的映像檔版本。 distrobox create --name debian13 --image debian:13 可以用的旗標 # 讓我們看一些重要的旗標(flags)。這些旗標可以疊加，為方便表示旗標我寫在最後面。\nDistrobox本身可以跑GUI程式。如果需要顯示卡加速，Distrobox會自動將/dev/dri掛載到容器裡，Intel與AMD顯示卡的用戶不需要特別裝什麼，但Nvidia用戶就有難了，除了Linux宿主機本身一定要裝Nvidia專有驅動外，建立Distrobox容器記得還要加上--nvidia旗標，容器裡面的程式才能使用宿主機的Nvidia顯示卡： distrobox create --name debian13 \\ --image debian:13 \\ --nvidia 或者，有安裝Nvidia Container Toolkit的話，用這個比較好：\n# Docker後端 distrobox create --name debian13 \\ --additional-flags \u0026#34;--gpus all --device=nvidia.com/gpu=all\u0026#34; \\ --image debian:13 # Podman後端 distrobox create --name debian13 \\ --additional-flags \u0026#34;--device nvidia.com/gpu=all --security-opt=label=disable\u0026#34; \\ --image debian:13 Distrobox建立的容器預設是可以存取您家目錄下的所有檔案的，您可以用--home指定專門的家目錄來存放容器產生的檔案，防止設定檔污染。一個觀念：除非在建立容器的時候有專門新增家目錄的路徑，否則容器內的程式會直接讀取使用者的家目錄，設定檔也是直接從宿主機讀取。 distrobox create --name debian13 \\ --image debian:13 \\ --home ~/distrobox/debian13 預設Distrobox建立的容器指令權限與目前您的使用者權限相同。如果您真的需要賦予Distrobox容器root權限，那就加上--root，不要使用sudo distrobox distrobox create --name debian13 \\ --image debian:13 \\ --root 我們還可以給容器添加環境變數： distrobox create --name debian13 \\ --image debian:13 \\ --additional-flags \u0026#34;--env EDITOR=vim\u0026#34; 或是設定預先要安裝的套件，在初始化容器映像檔的時候執行。 distrobox create --name debian13 \\ --image debian:13 \\ --additional-packages \u0026#34;git tmux vim\u0026#34; 或是掛載Docker volume： distrobox create --name debian13 \\ --image debian:13 \\ --volume /opt/my-dir:/usr/local/my-dir:rw 或是設定不要跟宿主機用一樣的網路IP： distrobox create --name debian13 \\ --image debian:13 \\ --unshare-netns Distrobox內部可以使用init系統，包含systemd、OpenRC。例如加上--init讓容器預先安裝Systemd，便於控制容器內的服務。 distrobox create --name debian13 \\ --image debian:13 \\ --init \\ --additional-packages \u0026#34;systemd libpam-systemd\u0026#34; 還可以利用hook修改檔案，讓容器以proxy連線： # 指定容器的代理 proxy=http://my_proxy.domain.example:3128 #設定容器初始化執行指令，替換掉apt套件庫 t=\u0026#34;echo \u0026#39;Acquire::http::Proxy \\\\\\\u0026#34;\u0026#34;${proxy}\u0026#34;\\\\\\\u0026#34;;\u0026#39; \u0026gt; /etc/apt/apt.conf.d/proxy.conf; echo \u0026#39;Acquire::https::Proxy \\\\\\\u0026#34;\u0026#34;${proxy}\u0026#34;\\\\\\\u0026#34;;\u0026#39; \u0026gt;\u0026gt; /etc/apt/apt.conf.d/proxy.conf;\u0026#34; http_proxy=\u0026#34;${proxy}\u0026#34; # 建立Debian容器，把上面的內容加入容器初始化的過程(--pre-init-hooks) distrobox create --image debian:13 \\ --name debian13 \\ --pre-init-hooks \u0026#34;${t}\u0026#34; 建立Debian容器的範例 # 這裡我建立一個Debian 13的容器，設定自訂家目錄路徑 distrobox create --name debian13 \\ --image debian:13 \\ --home ~/distrobox/debian13 按Enter建立容器，Distrobox會拉取映像檔。輸入distrobox enter debian13進入Debian的終端機，等待套件安裝完成。\n接著就能使用APT指令安裝套件了，容器裡的sudo需要設定密碼。 如果你要登入容器後執行特定指令，請編輯容器家目錄下的.bashrc。這也是為何我要把容器家目錄跟宿主機家目錄分開的緣故。\n欲登出容器請打exit，重新登入請打distrobox enter debian13\n登出後容器仍未停止，需輸入distrobox stop \u0026lt;容器名稱\u0026gt;完全停止容器。\n要完全移除容器，輸入distrobox rm \u0026lt;容器名稱\u0026gt;\n順帶一提，Distrobox的容器也可以用docker相關的指令來管理。\n4. 建立Distrobox程式捷徑 # distrobox-export指令可為容器裡面的應用程式建立捷徑，例如讓Debian的Firefox顯示在桌面環境的應用程式列表。\n另一方面，distrobox generate-entry則是建立快捷啟動「Distrobox容器終端機」的捷徑。\n建立單一應用程式捷徑\n要執行容器裡面的圖形應用程式，從終端機啟動：\nfirefox-esr 啟動的應用程式應會自動啟用硬體加速，並且跟著系統主題變化。 不過語言就得自行設定。\nsudo apt install locales sudo locale-gen zh_TW.UTF-8 sudo dpkg-reconfigure locales sudo update-locale LANG=\u0026#34;zh_TW.UTF-8\u0026#34; LANGUAGE=\u0026#34;zh_TW\u0026#34; Fcitx5輸入法的話可能會吃不到宿主機的，所以要在容器內自行安裝。\n在容器內執行distrobox-export指令建立應用程式捷徑：\n# 只匯出應用程式，並帶入啟動引數，建立捷徑 distrobox-export --app firefox-esr --extra-flags \u0026#34;--private-window \u0026#34; # 匯出二進位檔路徑，並帶入啟動引數，在/home/user/.local/bin建立wrapper以便宿主機其他程式利用（需自行加入PATH） distrobox-export --bin /usr/bin/firefox-esr --extra-flags \u0026#34;--private-window\u0026#34; --export-path /home/user/.local/bin 隨後您的應用程式列表就會出現容器程式的捷徑了 要收回捷徑，使用以下指令\ndistrobox-export --app firefox-esr --delete # 或者 distrobox-export --bin /usr/bin/firefox-esr --export-path /home/user/.local/bin --delete 建立容器的快捷啟動捷徑\n建立捷徑 distrobox generate-entry \u0026lt;容器名稱\u0026gt; 應用程式列表就會顯示該容器的圖示，點選會打開終端機 欲收回捷徑：\ndistrobox generate-entry \u0026lt;容器名稱\u0026gt; --delete 5. 其他容器使用技巧 # 複製容器\n複製容器可將現有的容器疊一層檔案系統上去，快速建立新的一個容器。在需要對該容器新增環境變數、entrypoint、家目錄的時候很有用。\n在使用distrobox create指令時，加上--clone旗標，複製現有的debian13，新增一個叫做debian13-dev的新容器\n# 停止原始容器 distrobox stop debian13 # 複製的時候需注意：旗標不會繼承，因此要開放Nvidia存取，這裡還是得加上去 distrobox create --clone debian13 \\ --nvidia \\ --home /home/user/distrobox/debian13-dev 建立用完就丟的容器\ndistrobox ephemeral 可建立暫時性的容器，此容器在命令完成後就會自動刪除，就像docker run --rm那樣。\n語法為在--後面接上要容器執行的指令\ndistrobox ephemeral --image debian:13 -- cat /etc/os-release distrobox ephemeral可以沿用distrobox create的旗標，例如掛載Docker volume給容器暫時存取：\ndistrobox ephemeral --image debian:13 --volume /opt:/opt -- touch /opt/file.txt 批次建立容器\ndistrobox aseemble透過讀取distrobox.ini檔案，按照裡面內容批次建立或移除容器。有點類似docker compose那樣。\n寫一個distrobox.ini，填入要建立的容器內容 [ubuntu] #容器名字 additional_packages=git vim tmux nodejs image=ubuntu:24.04 init=false nvidia=false pull=true root=false replace=true start_now=false [archlinux] #容器名字 additional_packages=git vim tmux nodejs home=/tmp/home image=archlinux:latest init=false start_now=true init_hooks=\u0026#34;touch /init-normal\u0026#34; nvidia=true pre_init_hooks=\u0026#34;touch /pre-init\u0026#34; pull=true root=false replace=false volume=/tmp/test:/run/a /tmp/test:/run/b 建立容器使用此指令 distrobox assemble create --file ./distrobox.ini 移除容器使用此指令 distrobox assemble rm --file ./distrobox.ini 6. Distrobox設定檔位置 # Distrobox的設定檔用於定義預設行為，設定檔路徑讀取順序如下：\n/usr/share/distrobox/distrobox.conf /usr/etc/distrobox/distrobox.conf /etc/distrobox/distrobox.conf ${HOME}/.config/distrobox/distrobox.conf ${HOME}/.distroboxrc 我是以放在~/.config/distrobox/distrobox.conf的為優先，若該檔案不存在請自行新增：\nmkdir ~/.config/distrobox vim ~/.config/distrobox/distrobox.conf 該設定檔可以設定Distrobox的預設行為，例如：\n# 自動拉取映像檔 container_always_pull=\u0026#34;1\u0026#34; # 自動在應用程式建立容器的捷徑 container_generate_entry=1 # 設定要使用的後端 container_manager=\u0026#34;podman\u0026#34; # distrobox create指令不加任何旗標，預設使用的發行版映像檔 container_image_default=\u0026#34;registry.opensuse.org/opensuse/toolbox:latest\u0026#34; # 預設容器名稱 container_name_default=\u0026#34;test-name-1\u0026#34; # 預設容器家目錄 container_user_custom_home=\u0026#34;$HOME/.local/share/container-home-test\u0026#34; # 自訂的init hook指令稿 container_init_hook=\u0026#34;~/.local/distrobox/a_custom_default_init_hook.sh\u0026#34; # 自訂的pre init hook指令稿 container_pre_init_hook=\u0026#34;~/a_custom_default_pre_init_hook.sh\u0026#34; # distrobox create指令額外加上的旗標 container_manager_additional_flags=\u0026#34;--env-file /path/to/file --custom-flag\u0026#34; non_interactive=\u0026#34;1\u0026#34; skip_workdir=\u0026#34;0\u0026#34; PATH=\u0026#34;$PATH:/path/to/custom/podman\u0026#34; 7. 用圖形化界面管理Distrobox # 如果您使用Docker當Distrobox後端，則市面上任一Docker的圖形界面都可以用來管理Distrobox所建立的容器，例如Portainer。\n需要專為Distrobox功能設計的GUI，請嘗試：\nBoxBuddy DistroShelf Kontainer 8. Distrobox實際應用例子 # Ubuntu安裝Arch Linux的AUR套件 容器跑GNOME桌面環境 容器跑QEMU/KVM虛擬機 VScode整合容器環境 在Windows WSL跑Distrobox 另請參閱 # Distrobox Documentation Toolboxes are not just for special cases - Jorge Castro Neatnik 开发指南：Distrobox 容器入门 - 知乎专栏 ","date":"2025年10月21日","externalUrl":null,"permalink":"/posts/distrobox-usage/","section":"所有文章","summary":"本文讓Ivon為您解說如何使用「Distrobox」建立容器，安裝其他Linux發行版的套件，文末附上更多實際應用例子。\nLinux的容器系統，最常見的有Docker和Podman，一般用途都是來開發軟體或者跑服務吧。容器的設計，使得不同Linux發行版要跑起服務的成本低了許多。\n既然容器具有跨發行版的特性，能不能進一步利用容器的特性，使用特定發行版的軟體呢？有沒有可能…在Ubuntu用pacman和DNF裝軟體又不跟系統的套件管理器衝突呢？\n這正是「Distrobox」的理念。 Distrobox是由Luca Di Maio開發的程式，利用容器技術，能夠在一個Linux系統安裝其他發行版的套件，不管你想要APT、DNF、Yum、Pacman、Zypper、XBPS、Portage都難不倒它。更棒的是，不只純文字工具，連圖形應用程式都能裝來用，甚至能跑桌面環境！\n其實，Distrobox就是Podman/Docker的前端啦，技術上來說不需要裝這個也能靠打指令達到一樣效果。不過Distrobox簡化了打指令建立容器的過程，只要幾行指令，便可快速建立特定Linux發行版的容器，存取該發行版的套件管理員。用Distrobox建立Linux容器的話較易於管理、備份、升級。\n","title":"我全都要！Distrobox使用教學，透過容器安裝其他Linux發行版的套件","type":"posts"},{"content":"適用系統版本：Ubuntu 24.04以上\n本文Ivon將示範如何在Ubuntu安裝 ClamAV，設定防毒掃描與自動排程的作業。\nUbuntu需要防毒軟體嗎？雖然說Linux系統中毒機率不大，因為使用者多半使用自由軟體以及從信任的套件庫下載程式，且程式在沒有使用者同意下是不會自動執行的。但如果是對外網開放的電腦，或者是常常跟Windows電腦交換檔案，依然需要一個掃描可疑檔案的軟體，強化資安。\n對於Admin來說，你不希望24小時無人監管的Linux伺服器隨時暴露在危險之中吧？所以最好讓ClamAV定期檢查。\nClamAV是Linux上最著名的防毒軟體，採用GPL授權釋出的自由軟體，能夠掃描受感染的檔案與郵件，並提供高自定義即時防護模式。 Linux大概也只有這一款軟體是開源免費的防毒軟體罷。病毒資料庫由社群以及許多開源公司維護。其他防毒軟體公司雖然有針對Linux開發，例如Microsoft Defender for Endpoint on Linux、ESET NOD32 for Linux、Kaspersky Endpoint Security for Linux，但他們推出的方案實在太高級了，咱一般人用不到，而且授權多半是專有軟體~況且如果防毒軟體本身不開源的話，又叫咱怎麼信任你呢？\nClamAV能夠以命令行模式默默在背景執行，排程自動掃描Linux伺服器的檔案。\n也有人製作ClamAV的圖形化介面，讓Linux桌面使用者能夠一覽目前的系統狀態，達到類似Windows的殺毒體驗。當你對下載的檔案安全性存疑的時候，可以拖曳檔案到ClamAV界面，馬上就會產出分析報告。\n1. 安裝ClamAV # 以Ubuntu \u0026amp; Debian系統為例，安裝以下套件：\nsudo apt install clamav clamav-daemon 2. 安裝ClamAV-GUI圖形介面 # 這個適合Linux桌面用戶使用，讓你不需要頻繁打指令。目前的圖形界面前端有ClamAV-GUI和ClamTK，後者已經停止維護。你不需要裝圖形介面也能使用ClamAV，這是方便查看狀況。\nClamAV-GUI是使用QT寫成的前端，現由UALinux公司維護，功能選單齊全。安心吧，這個GUI設計的樸實無華，沒有什麼「安全體檢」分數給你製造無謂的焦慮，只有實用的排程掃描按鈕。\n到ClamAV-GUI官網下載.deb檔安裝。 sudo apt install ./clamav-gui_*-ualinux_amd64.deb 開啟後就可以單次掃描指定的目錄了 如果要排程掃描：首先在Profile Manager頁面建立設定檔，再到Scheduler頁面設定排程掃描作業，只要這個面板開著就會定時執行任務。 還有，點一下ClamAV-GUI的系統匣圖示，開啟DropZone功能，桌面會顯示一個蛤蜊圖示，將檔案拖曳進去就能進行掃描。 如果要設定開機自動開啟ClamAV-GUI，加入到XDG AutoStart：\ncp /usr/share/applications/ClamAV-GUI.desktop ~/.config/autostart/ 3. ClamAV單次掃描病毒指令 # 初次執行，先更新病毒定義庫 sudo systemctl stop clamav-freshclam sudo freshclam sudo systemctl start clamav-freshclam ClamAV單次掃描的指令如下，通常是掃描一個目錄或者單一檔案，例如這裡指定整個/home目錄。 clamscan --recursive --infected /home 我們可以下載歐洲反電腦病毒協會提供的範本病毒檔案，測試CalmAV是否能成功掃描到「病毒」，若成功會回報Known viruses。 curl https://secure.eicar.org/eicar.com.txt | clamscan - 4. 設定ClamAV排程掃描 # ClamAV並不會自動在背景掃描病毒檔案，需要使用者主動呼叫。這樣能夠防止防毒軟體胡亂佔用系統資源。不過這樣對一些使用者來說不夠放心，所以我們得手動透過Systemd Timer建立掃描作業， 定期進行掃描。\nClamAV有兩種掃描指令，一個是clamscan，一個是clamdscan，前者會一次性載入病毒資料庫，適合單次掃描使用。後者則是將病毒資料庫常駐在系統，隨時等待接受掃描呼叫。\n首先，開啟FreshClam服務，讓它自動更新病毒資料庫 # 每2小時更新一次病毒庫定義 sudo systemctl enable --now clamav-freshclam.service # 或者，一天更新一次，具體更新時間透過 systemctl edit clamav-freshclam-once.timer取得 sudo systemctl enable --now clamav-freshclam-once.timer 然後設定掃描病毒的作業，這裡使用的是clamd服務掃描，它會讀取/etc/clamav/clamd.conf的設定檔等待掃描。 sudo systemctl enable --now clamav-daemon.service 然後，手動新增一個呼叫掃描作業的服務 sudo vim /etc/systemd/system/clamdscan@.service 填入以下內容，在這裡%I會讀取systemctl指令@後面傳入的掃描路徑。 [Unit] Description=ClamAV scan of %I using clamd Requires=clamav-daemon.service After=clamav-daemon.service [Service] Type=oneshot ExecStart=/usr/bin/clamdscan --fdpass --multiscan /%I User=root Group=root 再建立一個Systemd Timer： sudo vim /etc/systemd/system/clamdscan@.timer 設定排程掃描規則，設定為每日0:00開始掃描。 [Unit] Description=Daily ClamAV scan of %I [Timer] OnCalendar=*-*-* 00:00:00 Persistent=true [Install] WantedBy=timers.target 啟用服務。@後面加上的是要掃描的路徑 sudo systemctl enable --now clamdscan@home.timer 如果要看掃描的日誌檔案，使用這個指令： sudo journalctl -u clamdscan@home.service -n 50 ClamAV並沒有找到病毒就自動寄Email通報使用者的功能，這需要自行串接額外服務。例如，在/etc/clamav/clamd.conf裡面，設定VirusEvent的數值，決定偵測到病毒後要執行什麼程式。 5. 啟用即時防護 # 除了設定clamd定期掃描檔案之外，我們還有即時防護模式 (OnAccessScan) 可以使用。OnAccessScan會透過Linux核心的fanotify功能，在檔案被程式存取（讀取或寫入）的時候自動掃描檔案，並在發現病毒的時候禁止行程存取。\n開啟以下服務，啟動監控： sudo systemctl enable --now clamav-daemon.service sudo systemctl enable --now clamav-clamonacc.service 具體會掃描的檔案，在/etc/clamav/clamd.conf裡面的OnAccessIncludePath設定。\n日誌檔案使用以下指令查看：\nsudo journalctl -u clamonacc.service -f 其他防毒軟體補強方案 # 光靠防毒軟體軟體不能一勞永逸，請考慮Linux系統是否已經做足以下設定：\n給自己的使用者帳號設定難以猜到的強密碼 利用fail2ban或auditd監控系統登入事件 檢查UFW防火牆規則，擋掉不用的通訊埠 SSH關掉Root帳號登入 開啟AppArmor或是SELinux機制 如果要執行來路不明的軟體，可以放在VM或Container裡面測試 參考資料 # ClamAV Documentation ClamAV - Arch Wiki ","date":"2025年10月17日","externalUrl":null,"permalink":"/posts/linux-clamav/","section":"所有文章","summary":"適用系統版本：Ubuntu 24.04以上\n本文Ivon將示範如何在Ubuntu安裝 ClamAV，設定防毒掃描與自動排程的作業。\nUbuntu需要防毒軟體嗎？雖然說Linux系統中毒機率不大，因為使用者多半使用自由軟體以及從信任的套件庫下載程式，且程式在沒有使用者同意下是不會自動執行的。但如果是對外網開放的電腦，或者是常常跟Windows電腦交換檔案，依然需要一個掃描可疑檔案的軟體，強化資安。\n對於Admin來說，你不希望24小時無人監管的Linux伺服器隨時暴露在危險之中吧？所以最好讓ClamAV定期檢查。\nClamAV是Linux上最著名的防毒軟體，採用GPL授權釋出的自由軟體，能夠掃描受感染的檔案與郵件，並提供高自定義即時防護模式。 Linux大概也只有這一款軟體是開源免費的防毒軟體罷。病毒資料庫由社群以及許多開源公司維護。其他防毒軟體公司雖然有針對Linux開發，例如Microsoft Defender for Endpoint on Linux、ESET NOD32 for Linux、Kaspersky Endpoint Security for Linux，但他們推出的方案實在太高級了，咱一般人用不到，而且授權多半是專有軟體~況且如果防毒軟體本身不開源的話，又叫咱怎麼信任你呢？\nClamAV能夠以命令行模式默默在背景執行，排程自動掃描Linux伺服器的檔案。\n","title":"Ubuntu安裝ClamAV防毒軟體：從GUI到自動排程完整設定教學","type":"posts"},{"content":" #Linux中国語ディストリビューション推薦\n2025年、MicrosoftはWindows 10のサポートがまもなく終了し、今後セキュリティ更新が提供されなくなると発表した。Windows 11へアップグレードできないなら、そろそろLinuxシステムにチャンスを与える時期だ！MicrosoftとAdobe一式へ重度に依存しているユーザーでなく、さらにSteam Deckに触れたことがあるなら、Linuxがもはや昔とは違うことを知っているはずだ。Steamゲームを遊べるだけでなく、生産性ツールとしても使え、最新のシステム更新を受け取り続けることもできる。\n幸い、私はWindows 11が手元の第七世代i5をサポートしないとわかった時点で、すでに船を乗り換えていた。RufusでTPM制限を外すことはできたが、それでも私は迷わず一度勝負に出て、完全にLinuxへ移行し、Windowsは仮想マシンの中へ閉じ込めた。必要なときだけ起動して使う。今ではもう四年になるが、戻ろうと思ったことはない。現在よく使っているディストリビューションはKubuntuだ。\nLinuxは古いパソコンを若返らせてくれる。あるいは、あなたのハードウェアにもう一度潜在能力を発揮させ、なめらかで快適な動作を取り戻させてくれる。だめになったのはパソコンではなく、Windowsのインターフェースが肥大化しすぎていただけだったのだ！\nどのLinuxディストリビューションを推薦するか、これは宗教戦争を起こしやすい問題だ。少なくとも私は、いきなりあなたにI use Arch btwと言わせるつもりはない。WindowsからLinuxへ移行する初心者に向いているディストリビューションとして、私は以下の三つ、Linux Mint、Kubuntu、Zorin OSを選んだ。インターフェースのレイアウトはWindowsに近く、大半のシステム操作はGUIで完結し、あまりコマンドを打つ必要がない。さらに多くのハードウェアドライバーも最初から入っている。インターフェースの中国語化も充実している。\nこれらのディストリビューションはいずれもUbuntuをベースに改造されたものなので、関連するチュートリアル資源を共通して使えるし、ソフトウェア対応の問題も心配しなくてよい！\n一枚の図で簡単にまとめると： Linux Mint # Cinnamonデスクトップを採用し、安定性が非常に高い すっきりしたミニマルな雰囲気。 UIは非常に軽量で、十年以上前の古いパソコンにも適している。 多数のツールを内蔵：ソフトウェアストア、更新マネージャー、ドライバーマネージャー、Timeshiftバックアップシステム。 起動時のRAM使用量：\u0026lt; 1GB 向いている人：安定していて、慣れやすく、まったく手間をかけずに使いたい人。特に古いパソコンのユーザー。\n公式サイトからダウンロード：Linux Mint: Home\nKubuntu # Steam Deckと同じKDE Plasmaデスクトップ、 華やかでカスタマイズ可能。壁紙エンジンすら入れられる。 多くのデスクトップ実用ツールもあり、Discoverソフトウェアストア、KDE Connectによるスマホとのファイル同期、複数タブ対応のDolphinファイルマネージャーなどを含む KDE Neonと比べると、Kubuntuの更新ペースは比較的堅実 起動時のRAM使用量：1GB 向いている人：きれいなインターフェース、カスタマイズの自由度、またはSteam Deck経験を好む人。ただしKDEの伝統どおり、たまにUIに細かい小bugがある。\nKubuntu LTS版のダウンロードをおすすめする。更新頻度が比較的遅く、安定性が高い。\n公式サイトからダウンロード：Kubuntu | Friendly Computing\nZorin OS # GNOMEデスクトップを搭載し、インターフェースが華やか UIはWindows 11に似ている 完成度が高く、有償の商業サポートも購入できる Wine（Wine + Zorin Windows App Support）を内蔵し、ダブルクリックでWindows exeを実行できる 起動時のRAM使用量：1GB Zorin OSは複数のエディションを提供しており、「Core」版は無料、「Pro」は買い切りの有料版だ。両者はインターフェースのカスタマイズ性に差があるだけで、ソフトウェアのインストールには何の制限もない。Linuxソフトウェアの大半は無料だからだ。\nとはいえ、実はProの有料機能は、手動でパッケージをインストールできるなら解放できる。そのため購入の必要性があるわけではない。ソフトウェア開発への支援貢献、と言うしかないだろう！\n公式サイトからダウンロード：Zorin OS - Make your computer better.\n","date":"2025年10月15日","externalUrl":null,"permalink":"/ja-jp/posts/migrate-from-windows-10-to-linux/","section":"Foss-Issues","summary":" #Linux中国語ディストリビューション推薦\n2025年、MicrosoftはWindows 10のサポートがまもなく終了し、今後セキュリティ更新が提供されなくなると発表した。Windows 11へアップグレードできないなら、そろそろLinuxシステムにチャンスを与える時期だ！MicrosoftとAdobe一式へ重度に依存しているユーザーでなく、さらにSteam Deckに触れたことがあるなら、Linuxがもはや昔とは違うことを知っているはずだ。Steamゲームを遊べるだけでなく、生産性ツールとしても使え、最新のシステム更新を受け取り続けることもできる。\n幸い、私はWindows 11が手元の第七世代i5をサポートしないとわかった時点で、すでに船を乗り換えていた。RufusでTPM制限を外すことはできたが、それでも私は迷わず一度勝負に出て、完全にLinuxへ移行し、Windowsは仮想マシンの中へ閉じ込めた。必要なときだけ起動して使う。今ではもう四年になるが、戻ろうと思ったことはない。現在よく使っているディストリビューションはKubuntuだ。\nLinuxは古いパソコンを若返らせてくれる。あるいは、あなたのハードウェアにもう一度潜在能力を発揮させ、なめらかで快適な動作を取り戻させてくれる。だめになったのはパソコンではなく、Windowsのインターフェースが肥大化しすぎていただけだったのだ！\n","title":"Windows 10のサポートが終了するので、Linuxへ移行しよう！","type":"foss-issues"},{"content":" 《千恋＊万花》，中文稱為《千戀＊萬花》，是YUZUSOFT於2016年推出的18禁戀愛冒險遊戲，為該社10週年紀念作品。 這個遊戲有在Steam上架，支援Windows系統，R18補丁需要到appendingpulse官網下載。在Linux系統需要用ProtonTricks安裝wmp9才能播放遊戲內的影片。\n《千戀＊萬花》由天宮りつ等人擔任編劇。故事安排真的很巧妙，一個詛咒的傳說可以從每個人不同的視角拼湊出完整的故事，逐步揭開祟神之謎，要全破所有人的路線才會知道白色狗狗與玉石女神最後的下落。整個故事的構成可說是每個人都有特色，只演出了其中一部分的故事，最後宛如將碎片拼起來一樣，真相大白。 參考Steam社群的千戀萬花全路綫攻略\n自己的攻略順序：叢雨（綾） → 蕾娜·理查特納爾 → 朝武芳乃 → 鞍馬廉太郎（普通結局） → 鞍馬小春 → 馬庭蘆花 → 常陸茉子。總遊戲時數：25小時。\n玩完這個遊戲，你一定會對主題曲《恋ひ恋ふ縁》有深刻的印象！\n老實說芳乃的路線真的是最無聊的，好在一開始的叢雨最感動，最後的茉子夠色又有趣，才構成了美好的遊戲體驗。每個女主角起碼都會有3種體位以上的CG。\n芳乃就單純的戀愛互動，因為態度太拘謹了反而不好玩。強行擠出笑容說「Ciallo～(∠・ω\u0026lt; )⌒☆」一點都不好笑。\n我想就這張「請收下我的貞操」最讓人動心。 還有日後生孩子的幸福笑容，終於從代代相傳的詛咒中解脫了。 玩完整個遊戲就會知道，朝武家有個大浴場是多麼方面辦事的場所～ 茉子線有日常的色色互動，中間還有變成狗的經歷，真的是最好玩又刺激的戀愛路線。 我們可以知道的是，主角有地將臣在茉子線講話會突然變成PUA大師，說出讓人心動的話語，例如說什麼「你就是我生命中唯一的女主角呀」「你的處女膜我預約了」的超渣話語XDD 茉子接吻都會主動撲上來，超級甜的。還會做家事，真的很婆。兩人在相戀的時候一起成長，擺脫了詛咒，還讓茉子有了新的生存目標，可說是很好的結局。 女主角不時討親親，然後男主角溫柔地把唇印上去，天哪這根本就是我。 而且兩人都是性慾怪獸，一次做愛雙方都能高潮、射精好幾次，做到最後兩人一起泡鴛鴦浴的這一幕真的是好恩愛啊。 蕾娜的萌點就\u0026hellip;天然呆。有人說蕾娜的角色有點多餘，在官方人氣投票裡面也是長年墊底，但他是了解整個故事脈絡的關鍵角色，因此看在大奶的份上還是要把她破完。不同於其他線女角只能透過主觀經歷來猜測祟神的真相，在她的線裡面會開上帝視角，提到整個劇本的背景故事，有助於了解一切的全貌。\n在這裡出現了點題的一句。 這個後背位都無法一手掌握的奶子真的不是蓋的\u0026hellip;這就是世界之大\u0026hellip;\u0026hellip; 在官方設定集裡面提到，因為蕾娜奶子太大，所以要叫繪師把乳交畫面的屌畫長一點，主角的屌竟然是可以如此伸縮自如的XDD 小春與蘆花姐很可愛，是妹妹與姊姊系屬性的對決呢～單純與主線無關的小品。 至於\u0026hellip;叢雨（幼刀）嘛，破完之後ED〈ふたつの影〉響起，會覺得眼睛酸酸的。你會覺得玩完這條線再去玩其他人會有種罪惡感，因為無法救到孤單了幾百年的她～激起玩家的保護欲，想要拯救她，讓她從詛咒中解脫，取回真名「綾」，獲得幸福，並帶著她見父母。 做愛的橋段嘛，因為叢雨的故事看著太悲傷，加上蘿莉體型，所以感覺不是那麼實用。叢雨恢復人身後的粉紅色私服好可愛啊。 叢雨線的故事可能是最完整的，因為經歷打倒祟神的主線後，還讓她變回人身，並承擔起復興穗織小鎮的任務。 這讓我想到：\n通关后抑郁：当结束游戏变得空虚 - IndieNova 透過「遊戲」改善生活（下）：如何避免玩完遊戲後的空虛感？ - TheNewsLens 玩《千戀＊萬花》，這是我第一次完整體驗Galgame的劇情，以前玩過《雨港基隆》但完全看不明白，然後玩了《艦隊Collection》與《Fate/Grand Order》逐步適應這種紙片人遊戲的模式，現在總算知道這種遊戲的美好之處。\n這就是，入戲太深的問題吧，或許我不太喜歡玩戀愛遊戲——就算是廢萌類的遊戲——恐怕就是這樣，很容易帶入對角色的感情無法自拔，最近玩了柚子社的遊戲又有了這種感覺。\n我真的信了「你这个情况我还真见过。这样吧，你先在steam 搜索\u0026quot;千恋*万花\u0026quot;点击购买安装好后立即运行打开千恋万花，在主页面点击开始游戏进入游戏页面，然后依次选择\u0026quot;说实话\u0026quot;、\u0026ldquo;不好说\u0026rdquo;、\u0026ldquo;我觉得很可爱\u0026rdquo;、\u0026ldquo;单独行动\u0026rdquo;、\u0026ldquo;摸摸头\u0026rdquo;、\u0026ldquo;感觉有点担心\u0026quot;进入丛雨路线。」的一行文攻略，結果心病沒好反而因為遊戲結束後更空虛了。\n反而是充斥許多中二科幻設定的遊戲比較喜歡，例如《Fate/Stay Night》，戀愛元素在厚厚的設定集之下只能算是附屬的甜頭，你、你想嘛say hi say so可比老虎鉗要吸引人多了（？），雖然讓人著迷但不會在退出後有揪心感，也不會在破關後有「虛假的戀情結束了啊」的空虛感。\n不過，要對一款遊戲長時間沈迷是不容易的，除非是大型開放世界遊戲如Minecraft，又有一堆續作的作品，故，解決玩完遊戲後惆悵感的最簡單方式就是再找下一款遊戲沈迷。講的更成熟一點的來說，把遊戲帶來的感受作為養分，然後應用到現實中去找到目標去沈迷。\n","date":"2025年10月13日","externalUrl":null,"permalink":"/posts/senren-banka-game-review/","section":"Reviews","summary":" 《千恋＊万花》，中文稱為《千戀＊萬花》，是YUZUSOFT於2016年推出的18禁戀愛冒險遊戲，為該社10週年紀念作品。 這個遊戲有在Steam上架，支援Windows系統，R18補丁需要到appendingpulse官網下載。在Linux系統需要用ProtonTricks安裝wmp9才能播放遊戲內的影片。\n《千戀＊萬花》由天宮りつ等人擔任編劇。故事安排真的很巧妙，一個詛咒的傳說可以從每個人不同的視角拼湊出完整的故事，逐步揭開祟神之謎，要全破所有人的路線才會知道白色狗狗與玉石女神最後的下落。整個故事的構成可說是每個人都有特色，只演出了其中一部分的故事，最後宛如將碎片拼起來一樣，真相大白。 參考Steam社群的千戀萬花全路綫攻略\n","title":"《千戀＊萬花》各路線女角攻略心得，感動的幼刀","type":"review"},{"content":"EXT4是許多Linux發行版預設採用的檔案系統，未來可能會流行BTRFS，但在那之前，EXT4仍是最穩定的選擇，包括撰文當下的Ubuntu 24.04。\n對Linux與Windows雙重開機的用戶來說，如何存取另一個系統的磁碟就會成為一個問題。\nLinux系統可以透過ntfs-3g讀取Windows的NTFS分區，那麼Windows要如何讀取Linux的EXT4分區呢？\nWindows當然是不支援EXT4檔案系統的，在磁碟管理員會顯示無法辨識磁碟，要你格式化，這時不要真的按下去呀！\nWindows需要手動安裝驅動才能讀取EXT4。通常會安裝Matt Wu開發的Ext2Fsd這個軟體來讀，不過這個專案已經很久沒更新了，只支援到EXT3而已。\n今次要分享的專案Ext4Fsd，是老專案Ext2Fsd的更新版，由Bo Brantén維護，支援最新EXT4檔案系統，能夠讀取也能寫入。\n1. 確定Linux硬碟使用的檔案系統 # 在Linux系統使用這個指令確認根目錄分區使用的檔案系統，應該會是EXT4\ndf -T / 2. 在Windows掛載EXT4分區 # Ext4Fsd是自由軟體，關於支援與不支援的檔案系統特性，請到GitHub查看。\n到GitHub下載Ext4Fsd，這個軟體需要Window 10以上系統\n在開始工作列開啟Ext2Mgr，會顯示電腦上所有的硬碟，找到Linux的EXT4分區，右鍵Assign Letter，賦予磁碟機代號 然後在Windows檔案總管就能看到Linux的檔案，例如/home/user/就是Linux使用者家目錄。 Ext4Fsd開機會自動掛載上面指定的磁碟機代號。這點可以透過Windows服務確認。 ","date":"2025年10月11日","externalUrl":null,"permalink":"/posts/ext4fsd-windows/","section":"所有文章","summary":"EXT4是許多Linux發行版預設採用的檔案系統，未來可能會流行BTRFS，但在那之前，EXT4仍是最穩定的選擇，包括撰文當下的Ubuntu 24.04。\n對Linux與Windows雙重開機的用戶來說，如何存取另一個系統的磁碟就會成為一個問題。\nLinux系統可以透過ntfs-3g讀取Windows的NTFS分區，那麼Windows要如何讀取Linux的EXT4分區呢？\nWindows當然是不支援EXT4檔案系統的，在磁碟管理員會顯示無法辨識磁碟，要你格式化，這時不要真的按下去呀！\nWindows需要手動安裝驅動才能讀取EXT4。通常會安裝Matt Wu開發的Ext2Fsd這個軟體來讀，不過這個專案已經很久沒更新了，只支援到EXT3而已。\n今次要分享的專案Ext4Fsd，是老專案Ext2Fsd的更新版，由Bo Brantén維護，支援最新EXT4檔案系統，能夠讀取也能寫入。\n1. 確定Linux硬碟使用的檔案系統 # 在Linux系統使用這個指令確認根目錄分區使用的檔案系統，應該會是EXT4\ndf -T / 2. 在Windows掛載EXT4分區 # Ext4Fsd是自由軟體，關於支援與不支援的檔案系統特性，請到GitHub查看。\n到GitHub下載Ext4Fsd，這個軟體需要Window 10以上系統\n在開始工作列開啟Ext2Mgr，會顯示電腦上所有的硬碟，找到Linux的EXT4分區，右鍵Assign Letter，賦予磁碟機代號 ","title":"Ext4Fsd：在Windows讀取Ubuntu的EXT4硬碟磁區","type":"posts"},{"content":"GameNative是一款讓你在Android手機上玩Steam遊戲的模擬器APP，操作簡單易用。\n關於在Android手機玩Windows遊戲的操作，從幾年前Termux Proot跑Linux容器，加上Box86技術的出現，就讓人看到了這種可能性，是否能夠玩Steam遊戲呢？理論上是可以的，此後有很多人提出各種做法，不過操作都不是很友善，最主要是過程繁瑣，需要打指令。\n所幸有許多開發者推出了整合以上資源的APP，例如Winlator就是整合了Linux rootfs與Box86與Wine的APP，但介面稍嫌難以操作，因為要手動選取exe。\n至於本文討論的「GameNative」更為進化了！直接將Steam客戶端轉化為手機原生APP的樣子，操作更為直覺。\nGameNatvie是另一個APP Pluvia的fork，加入了DRM支援。\n只要登入Steam帳號，就能下載自己收藏庫的遊戲。並且支援DRM與Steam雲端存檔，遊玩時數會計入Steam雲端。\n1. 系統需求 # GameNative官網有遊戲測試相容列表。\nGameNative支援高通與聯發科處理器的手機，有對應的3D加速圖形驅動。\n因為遊戲執行過程涉及x86轉譯ARM指令，效能損失很大。\n推薦搭載高通8Gen1處理器以上的Android旗艦機用戶嘗試，除非你只想玩2D小遊戲。\nGameNative只專注在讓玩家執行Steam遊戲，不能執行任意exe。所以你需要先在Steam網站購買遊戲才能遊玩。\n2. GameNative用法 # 到Github下載APK\n安裝後登入Steam帳號，這是自由軟體，應該可以放心登入。如果擔心被盜帳號請開著Steam Guard。 然後選取遊戲下載。 遊戲第一次啟動可能要花點時間建立環境（如果長時間卡在booting\u0026hellip;就重新啟動APP），接著螢幕上就會出現虛擬手把。 關於遊戲效能的調整：點選Edit Container能夠調整要用的圖形驅動程式，高通推薦用Turnip，聯發科則是Vortex，都不行的話就選VirGL。但有些遊戲仍可能會黑螢幕。 3. ProtonTricks呢？ # 目前遇到的問題是，需要額外用ProtonTricks補套件的遊戲無法執行，因為沒有工具能修改容器內的檔案。\n","date":"2025年10月11日","externalUrl":null,"permalink":"/posts/gamenative-android/","section":"所有文章","summary":"GameNative是一款讓你在Android手機上玩Steam遊戲的模擬器APP，操作簡單易用。\n關於在Android手機玩Windows遊戲的操作，從幾年前Termux Proot跑Linux容器，加上Box86技術的出現，就讓人看到了這種可能性，是否能夠玩Steam遊戲呢？理論上是可以的，此後有很多人提出各種做法，不過操作都不是很友善，最主要是過程繁瑣，需要打指令。\n所幸有許多開發者推出了整合以上資源的APP，例如Winlator就是整合了Linux rootfs與Box86與Wine的APP，但介面稍嫌難以操作，因為要手動選取exe。\n至於本文討論的「GameNative」更為進化了！直接將Steam客戶端轉化為手機原生APP的樣子，操作更為直覺。\nGameNatvie是另一個APP Pluvia的fork，加入了DRM支援。\n只要登入Steam帳號，就能下載自己收藏庫的遊戲。並且支援DRM與Steam雲端存檔，遊玩時數會計入Steam雲端。\n1. 系統需求 # GameNative官網有遊戲測試相容列表。\nGameNative支援高通與聯發科處理器的手機，有對應的3D加速圖形驅動。\n因為遊戲執行過程涉及x86轉譯ARM指令，效能損失很大。\n推薦搭載高通8Gen1處理器以上的Android旗艦機用戶嘗試，除非你只想玩2D小遊戲。\n","title":"GameNative：Android手機直接玩Steam PC遊戲，非遠端串流","type":"posts"},{"content":"什麼是postmarketOS？關於postmarketOS系統的介紹請看這篇。\n這篇文章是用pmbootstrap安裝postmarketOS的教學，只要你的機型有在官方支援列表，都能夠按照此步驟操作，將postmarketOS安裝至裝置上。 pmbootstrap是postmarketOS官方提供的工具，可以從無到有建立postmarketOS系統，套件內容可完全自訂，用於控制哪些套件需要安裝，打造自定義的系統。\n除了建立安裝檔以外，pmbootstrap亦能進行新機移植工作。\n本文Ivon示範手動在電腦上建立postmarketOS安裝檔再刷入手機。我的電腦是Ubuntu LTS，手機是小米Pocophone F1，安裝最新版原廠韌體，已解鎖Bootloader，安裝TWRP作為Recovery。\n1. 安裝pmbootstrap # 參考pmbootstrap - postmarketOS Wiki指示\n由於需要建立QEMU虛擬機，pmbootstrap僅支援x86_64架構的電腦。\n第一種方法，推薦用Git與符號連結的方式安裝，能夠取得最新版pmbootstrap。\ncd ~ git clone https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git mkdir -p ~/.local/bin ln -s \u0026#34;$PWD/pmbootstrap/pmbootstrap.py\u0026#34; ~/.local/bin/pmbootstrap echo \u0026#39;PATH=\u0026#34;$HOME/.local/bin:$PATH\u0026#34;\u0026#39; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 第二種裝法，用Linux套件管理員安裝pmbootstrap，僅適合滾動發行版，因為postmarketOS開發團隊會一直變更，所以pmbootstrap套件太舊的話容易出問題。\n# Alpine Linux, postmarketOS apk add pmbootstrap # Arch Linux pacman -S pmbootstrap # Debian apt install pmbootstrap # Fedora dnf install pmbootstrap 2. 選擇機型並設定選項 # 執行pmbootstrap init指令 pmbootstrap init 並按照指示填入。在初始化時會從Gitlab上下載最新版的機型設定檔。 # 按Enter使用預設工作目錄 (~/.local/var/pmbootstrap) Work path: Enter # 更新頻道選擇edge，或者填入寫有Recommended for best stability的穩定版數字。 Channel: edge # 選擇手機廠牌 Vendor: xiaomi # 選擇手機的裝置代號 Device codename: beryllium # 建立postmarketOS的使用者帳戶 Username: User # 選擇桌面環境，XFCE4(x11)適合沒有硬體加速的裝置；Phosh(Wayland，需要3D加速)適合當手機介面。在開機後可以再另外安裝其他桌面環境。 User Interface: phosh # 是否使用Systemd作為init系統？推薦使用。舊版postmarketOS是使用OpenRC Install systemd? (default/always/never) [default]: always # 剩下全部Enter 這就是每次建立對應機型的安裝檔要先做的工作，你必須告訴pmbootstrap你的postmarketOS應該長什麼樣子，才能開始建立安裝檔案。 3. 選擇安裝postmarketOS到手機的方法 # 如果是Android手機，請確保在刷機之前安裝原廠最新版韌體，並解鎖Bootloader。\n這個步驟就要建立安裝檔案了，主要有3種安裝postmarketOS的方法：\n用fastboot刷入 (需清除資料，推薦) 安裝至SD卡 (不會影響到原有手機系統，不推薦) 用刷機包刷入 (需清除資料，太耗時不推薦) 除此之外還有一些比較奇怪的安裝方法，列在後面。\n用fastboot刷入 # 這個方法將清除手機所有的資料。\n建立安裝檔 pmbootstrap install 2.手機進入fastboot模式，接到電腦刷入：\npmbootstrap flasher flash_rootfs #如果刷入的分區容量太小，加上--partition參數，改刷入到其他分區: pmbootstrap flasher flash_rootfs --partition userdata 再刷入kernel到boot分區，重開機： pmbootstrap flasher flash_kernel fastboot reboot 安裝至SD卡 # 這個方法不會修改手機的資料，可以做雙系統，但是開機需要靠電腦下指令才能進入postmarketOS。注意有些手機可能不支援從fastboot以boot.img開機。\nSD卡插到電腦，用指令lsblk確定SD卡的裝置代號，以及掛載點： sdb 8:16 1 29.7G 0 disk /media/ivon/E8D8-4246 先取消掛載 umount /media/ivon/E8D8-4246 然後再開始安裝 pmbootstrap install --sdcard=/dev/sdb pmbootstrap會自動格式化SD卡，並將系統安裝進去。過程中會要求建立使用者密碼，並會再確認是否要將SD卡格式化。\n接著把SD卡裝到手機，讓手機進入fastboot模式，接到電腦，輸入指令開機:\npmbootstrap flasher boot 用刷機包安裝 # 這個方法將清除手機所有的資料，可sideload或者傳輸刷機包到手機上再用TWRP安裝。不過建立刷機包很耗時。\n建立刷機包，大約5分鐘。 pmbootstrap install --android-recovery-zip #如果要安裝到其他較大的分區，可以加上--partition的選項 pmbootstrap install --android-recovery-zip --recovery-install-partition=data 手機接上電腦，重開機進入TWRP。從電腦的工作目錄找到建立的pmos-*.zip刷機包，例如我的檔案是在~/.local/var/pmbootstrap/chroot_buildroot_aarch64/var/lib/postmarketos-android-recovery-installer。\n將檔案傳到手機，用TWRP安裝，之後重新開機。\n將電腦上的pmbootstrap關閉：\npmbootstrap shutdown 其他刷入方法 # Netboot：用postmarketOS的boot.img暫時開機後，掛載電腦上的檔案系統，不用清除手機資料。 用Netcat開機 用NFS開機 4. postmarketOS後續安裝優化 # 就算開機無法進入桌面，手機用USB線連著電腦的情況下，也能用SSH連線到手機：\n#這個IP是固定的，只需將「@」前面改成你的使用者帳號 ssh user@172.16.42.1 假設你的裝置順利進入postmarketOS桌面環境，並且GPU加速、觸控、網路、音效都正常的話，接下來請參考這篇：postmarketOS使用技巧了解postmarketOS的設定眉角，以及如何將postmarketOS當作手機系統用。\n","date":"2025年10月10日","externalUrl":null,"permalink":"/posts/postmarketos-general-installation/","section":"所有文章","summary":"什麼是postmarketOS？關於postmarketOS系統的介紹請看這篇。\n這篇文章是用pmbootstrap安裝postmarketOS的教學，只要你的機型有在官方支援列表，都能夠按照此步驟操作，將postmarketOS安裝至裝置上。 pmbootstrap是postmarketOS官方提供的工具，可以從無到有建立postmarketOS系統，套件內容可完全自訂，用於控制哪些套件需要安裝，打造自定義的系統。\n除了建立安裝檔以外，pmbootstrap亦能進行新機移植工作。\n本文Ivon示範手動在電腦上建立postmarketOS安裝檔再刷入手機。我的電腦是Ubuntu LTS，手機是小米Pocophone F1，安裝最新版原廠韌體，已解鎖Bootloader，安裝TWRP作為Recovery。\n1. 安裝pmbootstrap # 參考pmbootstrap - postmarketOS Wiki指示\n由於需要建立QEMU虛擬機，pmbootstrap僅支援x86_64架構的電腦。\n第一種方法，推薦用Git與符號連結的方式安裝，能夠取得最新版pmbootstrap。\ncd ~ git clone https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git mkdir -p ~/.local/bin ln -s \"$PWD/pmbootstrap/pmbootstrap.py\" ~/.local/bin/pmbootstrap echo 'PATH=\"$HOME/.local/bin:$PATH\"' \u003e\u003e ~/.bashrc source ~/.bashrc 第二種裝法，用Linux套件管理員安裝pmbootstrap，僅適合滾動發行版，因為postmarketOS開發團隊會一直變更，所以pmbootstrap套件太舊的話容易出問題。\n","title":"postmarketOS安裝教學，使用pmbootstrap建立安裝檔","type":"posts"},{"content":"你是否覺得Linux電腦上的遊戲多到無法管理？\n比如從Steam安裝的、依賴特定啟動器才能開的遊戲、遊戲主機模擬器的遊戲，還有硬碟裡數不清的免安裝版Windows遊戲exe檔\u0026hellip;\n想想你在Windows的時候，遇到沒有啟動器捷徑的遊戲會怎麼做？到特定資料夾找exe點兩下開啟吧，可惜Linux做不到這種操作，所以一定需要一個管理器來管理這些exe。\n不喜歡在電腦桌面新增一堆有的沒有的捷徑嗎？你需要一款遊戲收藏管理器！這個時候你可能會想到Steam，儘管Steam能夠啟動許多遊戲，但是它的UI仍不方便管理收藏，且目前Linux的Steam客戶端也不是很順暢，不是好的遊戲收藏管理器。\nLutris，這款GTK寫成的開源軟體能夠擔當管理遊戲收藏的任務，它的圖示是一隻海獺。 Lutris有幾個主要功能：\n第一，Lutris可作為Wine（Windows exe轉譯器）的前端，透過社群維護的指令稿，一鍵設定好Wine環境，安裝許多Windows exe遊戲。\n第二，Lutris具備管理遊戲功能，內部界面整合了Steam、Ubisoft Connect、EA app、Epic Games Launcher、GOG、itch.io的啟動捷徑。此外，Lutris支援模擬遊戲主機，例如搭配PPSSPP、Yuzu、xemu模擬器，遊玩Playstation、Nintendo、Xbox平台的遊戲，替代一部份RetroArch模擬器的功能。\n第三，自動紀錄遊玩時長，跟Steam的「遊戲時數」類似。Steam無法追蹤沒有在Steam商店上架的遊戲，而Lutris是任意遊戲都可以，甚至能分享遊戲動態到Discord。並且Lutris有自己的線上遊戲資料庫系統，不依賴Steam。\nLutris的作者Mathieu Comandon最初開發本軟體的目的是為了更好地管理Linux上的遊戲收藏。\nLutris與同類產品Bottles、Steam不同的點在於，Lutris旨在讓玩家方便管理Linux電腦的遊戲，讓它不單單只是遊戲啟動器，而是成為自由開源的「遊戲收藏平台」。\n不論你的遊戲是Windows遊戲、Linux原生，還是模擬器，你都可以把它加入到Lutris的啟動界面，統一管理。 我個人認為他是統一管理非Steam平台遊戲的一個好工具。\n但相對的，Lutris是一個設計複雜的程式，操作起來不直覺。\n1. 安裝Lutris # Lutris的官網有提供Ubuntu、Fedora、Arch Linux的套件。\n例如Ubuntu就是先安裝原生的Wine。再下載Lutris的.deb檔安裝：\nsudo apt install ./lutris*.deb 在這裡，Lutris會使用系統安裝的Wine以及Winetricks。\nLutris遊戲收藏庫位於~/.config/lutris/。\nMangoHud、Gamescope、vkBasalt需要透過APT安裝。\n或者，考慮使用Flatpak版Lutris，它內建Wine與Winetricks，這個Steam Deck也能裝。\n請先裝Flatpak，再裝Lutris\nflatpak --user install flathub net.lutris.Lutris 用Flatpak安裝的話，把你裝有遊戲的目錄預先開放給Lutris存取，例如下面我開放的是Steam遊戲收藏庫的所在目錄\nflatpak --user override --user --filesystem=~/.steam/steam/ Flatpak版本的Lutris遊戲收藏庫位於~/.var/app/net.lutris.Lutris/\n如果你要在Lutriss裡面使用MangoHud、Gamescope、vkBasalt，需要透過Flatpak安裝：\nflatpak install org.freedesktop.Platform.VulkanLayer.MangoHud flatpak install org.freedesktop.Platform.VulkanLayer.gamescope flatpak install org.freedesktop.Platform.VulkanLayer.vkBasalt 2. 透過Lutris安裝遊戲 # 你可以自行安裝遊戲，再將其匯入到Lutris收藏庫（後述）\nLutris主要是透過網友撰寫的YAML指令稿來安裝遊戲（不含破解，付費遊戲你要持有副本）。\n點選Lutris主界面左上角＋號 → 在Lutris網站上搜索遊戲，從Lutris.net下載網友製作的指令稿，自動安裝遊戲。 不論該遊戲是Windows還是PSP的遊戲，指令稿應該都會幫你裝好Wine之類的執行環境，基本上不需要手動介入。\n透過Lutris指令稿安裝的遊戲會放到~/Games目錄。注意這個目錄跟Lutris遊戲收藏庫的目錄是不同的，後者包含使用者所新增的遊戲設定檔。\n遊戲加入Lutris選單後，按右鍵，點選配置，可設定縮圖。按箭頭符號讓Lutris嘗試從資料庫下載縮圖。 3. 將Steam的遊戲匯入Lutris # Lutris可以啟動Steam安裝的遊戲，但啟動的過程還是得經過Steam客戶端執行。\n安裝Linux版Steam客戶端\n再將自己的Steam遊戲收藏庫設定為公開，Lutris才能讀取\n如果Steam和Lutris都是使用Flatpak安裝的，需要執行以下步驟Lutris才抓得到遊戲。將.steam目錄，連結到Flatpak的Steam目錄\nflatpak --user override --filesystem=~/.var/app/com.valvesoftware.Steam:ro net.lutris.Lutris flatpak --user override --filesystem=~/.steam/steam/ net.lutris.Lutris ln -s ~/.var/app/com.valvesoftware.Steam/.steam .steam 這樣Lutris左邊的Steam選單應該就會列出Steam遊戲了 4. 手動將遊戲匯入Lutris # 單獨的exe、Flatpak遊戲、二進位檔、非經過Lutris安裝的遊戲，都得手動加入到Lutris收藏庫。\n單獨的Windows exe # 點選＋號 → 手動配置遊戲環境，運行環境選Wine，沿用系統所安裝的Wine。 遊戲選項填入EXE所在目錄，以及容器目錄。我的想法是仿效Steam，每個遊戲都建立一個目錄，擁有獨立的Wine Prefix，防止環境互相污染。參考Linux Wine指令使用教學。這裡的WINEPREFIX即Wine的模擬C槽所在路徑，自行挑選一個目錄，例如~/Game/wineprefix/\u0026lt;遊戲名稱\u0026gt;。 運行環境選擇Wine版本。Lutris預設會自動給Wine啟用DXVK。 你可以在Lutris首頁右上角按Preferences → Runners，手動下載其他版本的Wine。Lutris程式自身能下載的Wine版本有限，若要使用其他版本的Wine或Proton，需要使用ProtonUP-QT安裝。使用Proton當執行器的時候，Lutris會自動使用Umu Luancher補足缺少的Steam Runtime。\n若要給遊戲打patch，可以透過Winetricks執行外部的exe，給目前Wine Prefix的遊戲打patch。\nFlatpak遊戲 # 例如我這裡有用Flatpak安裝的Luanti，點選＋號 → 手動配置遊戲環境，設定啟動指令。像這裡因為是Flatpak，所以運行環境勾選Flatpak 遊戲選項的應用ID輸入org.luanti.luanti，如此一來便完成設定。\n加入遊戲主機ROM # 以PPSSPP為例子，你必須先安裝PPSSSPP主程式，才可以從Lutris側邊欄新增PSP遊戲。（若PPSSPP以Flatpak格式安裝，也得以上述的Flatpak方法手動新增至Lutris）\n新增遊戲執行環境選取PPSSPP，再填入ROM路徑即可。其他模擬器所需的執行環境，可在Lutris首頁右上角按Preferences → 執行環境，手動下載。 5. 透過Lutris帳號同步遊戲收藏庫 # 類似Steam遊戲收藏庫的功能，不同的是，Lutris官網收錄了更多沒在Steam上架的遊戲。\n同步收藏庫的同時也會同步遊玩時長。\n到Lutris官網註冊一個帳號\n點右上角 → Preferences → Accounts，點Login登入Lutris帳號，再點選Sync。 在同步遊戲資料庫之前，檢查一下本機的遊戲是否有被Lutris線上資料庫辨識到，若遊戲無法辨識就會顯示空白縮圖。 這時你要對其按右鍵 → Configure，點選修改Identifier，Lutris線上資料庫無法辨識的遊戲會改以一組UUID替代。嘗試輸入Lutris官網的網址（例如https://lutris.net/games/ace-combattm-7-skies-unknown/就輸入ace-combattm-7-skies-unknown），這樣它就會應該抓到縮圖了。 ","date":"2025年10月8日","externalUrl":null,"permalink":"/posts/lutris-game-manager/","section":"所有文章","summary":"你是否覺得Linux電腦上的遊戲多到無法管理？\n比如從Steam安裝的、依賴特定啟動器才能開的遊戲、遊戲主機模擬器的遊戲，還有硬碟裡數不清的免安裝版Windows遊戲exe檔…\n想想你在Windows的時候，遇到沒有啟動器捷徑的遊戲會怎麼做？到特定資料夾找exe點兩下開啟吧，可惜Linux做不到這種操作，所以一定需要一個管理器來管理這些exe。\n不喜歡在電腦桌面新增一堆有的沒有的捷徑嗎？你需要一款遊戲收藏管理器！這個時候你可能會想到Steam，儘管Steam能夠啟動許多遊戲，但是它的UI仍不方便管理收藏，且目前Linux的Steam客戶端也不是很順暢，不是好的遊戲收藏管理器。\nLutris，這款GTK寫成的開源軟體能夠擔當管理遊戲收藏的任務，它的圖示是一隻海獺。 Lutris有幾個主要功能：\n第一，Lutris可作為Wine（Windows exe轉譯器）的前端，透過社群維護的指令稿，一鍵設定好Wine環境，安裝許多Windows exe遊戲。\n第二，Lutris具備管理遊戲功能，內部界面整合了Steam、Ubisoft Connect、EA app、Epic Games Launcher、GOG、itch.io的啟動捷徑。此外，Lutris支援模擬遊戲主機，例如搭配PPSSPP、Yuzu、xemu模擬器，遊玩Playstation、Nintendo、Xbox平台的遊戲，替代一部份RetroArch模擬器的功能。\n","title":"Lutris使用教學，安裝與管理Linux的遊戲收藏","type":"posts"},{"content":"自從把音樂下載下來後，我考慮把串流服務都退訂了。\nSpotify、Apple Music、Youtube Music、KKBox、Tidal都有音樂聆聽紀錄，在使用大約一年後，就會寄「年度回顧」的報告給你看，讓你知道過去都在聽什麼歌。\n但是多次換平台之後，我始終找不到能長久待著的大平台。\n最主要是曲庫吧，每個平台都有唱片公司搞平台限定，致使有些歌曲就是聽不到，不然就是音質很爛。\n這樣要弄聆聽紀錄會很困擾，不知道過去到底聽過哪些歌，實際上愛聽哪些，聆聽紀錄是分散的。\n我希望聆聽紀錄是能夠與平台無關的，並且資料是能掌控在手中，能夠自由匯出分析的。\n那麼，果然還是得回到離線音樂的老路吧！讓軟體協助你統計聆聽紀錄。\n但是，用foobar2000這種離線播放器聽音樂的作法已經過時了，音樂檔案儲存需要大量空間，我不會一直坐在電腦前面，且這年頭誰會把一大坨音樂檔存在手機帶著走呀？\n所以解決方法，就是自己架一個音樂串流服務平台，最好能透過瀏覽器執行，方面跨平台，比如Navidrome、Jellyfin、Gonic等等 將感興趣的音樂用yt-dlp（不追求極致品質，通常是流行樂）或者torrent下載到硬碟，讓這些軟體掃描，整理成一個類似商業串流服務的界面，方便我隨時隨地遠端播放。\n我知道這會涉及盜版啦\u0026hellip;真的很喜歡的專輯，我還是會花錢買CD來rip。\n接著，在音樂串流的伺服端設定，透過ListenBrainz與last.fm的第三方服務，在背後默默紀錄音樂聆聽紀錄\nListenBrainz比last.fm好一點的地方在於，它算是一個公益平台，音樂資料庫很齊全，資料是能夠自由匯出為json格式的，雖然網頁界面比較醜。 而last.fm就是社群媒體屬性比較強，有點像是分享音樂聆聽紀錄的Facebook。並有付費解鎖深度分析報表的功能。 總之，以上萬事具備之後，一個最基本的，屬於自己的串流平台就建好了！\n","date":"2025年10月8日","externalUrl":null,"permalink":"/posts/selt-hosting-a-streaming-music-platform/","section":"所有文章","summary":"自從把音樂下載下來後，我考慮把串流服務都退訂了。\nSpotify、Apple Music、Youtube Music、KKBox、Tidal都有音樂聆聽紀錄，在使用大約一年後，就會寄「年度回顧」的報告給你看，讓你知道過去都在聽什麼歌。\n但是多次換平台之後，我始終找不到能長久待著的大平台。\n最主要是曲庫吧，每個平台都有唱片公司搞平台限定，致使有些歌曲就是聽不到，不然就是音質很爛。\n這樣要弄聆聽紀錄會很困擾，不知道過去到底聽過哪些歌，實際上愛聽哪些，聆聽紀錄是分散的。\n我希望聆聽紀錄是能夠與平台無關的，並且資料是能掌控在手中，能夠自由匯出分析的。\n那麼，果然還是得回到離線音樂的老路吧！讓軟體協助你統計聆聽紀錄。\n但是，用foobar2000這種離線播放器聽音樂的作法已經過時了，音樂檔案儲存需要大量空間，我不會一直坐在電腦前面，且這年頭誰會把一大坨音樂檔存在手機帶著走呀？\n所以解決方法，就是自己架一個音樂串流服務平台，最好能透過瀏覽器執行，方面跨平台，比如Navidrome、Jellyfin、Gonic等等 將感興趣的音樂用yt-dlp（不追求極致品質，通常是流行樂）或者torrent下載到硬碟，讓這些軟體掃描，整理成一個類似商業串流服務的界面，方便我隨時隨地遠端播放。\n我知道這會涉及盜版啦…真的很喜歡的專輯，我還是會花錢買CD來rip。\n接著，在音樂串流的伺服端設定，透過ListenBrainz與last.fm的第三方服務，在背後默默紀錄音樂聆聽紀錄\nListenBrainz比last.fm好一點的地方在於，它算是一個公益平台，音樂資料庫很齊全，資料是能夠自由匯出為json格式的，雖然網頁界面比較醜。 ","title":"自架音樂串流平台，使用ListenBrainz與last.fm替代Spotify的音樂聆聽回顧","type":"posts"},{"content":"我在Linux版Steaam測試了一些柚子社(YouzuSoft)遊戲的執行\n開箱即用\u0026hellip;是嗎？\n雖然遊戲正常執行，不過要播放影片的時候就會出問題，破壞遊戲體驗。\n我測試了千戀＊萬花 (Senren＊Banka) 、魔女的夜宴(Sabbat of the Witch) 兩款最著名的遊戲，我都是透過Steam購買的。 根據ProtonDB資料彙整而成，需要額外裝套件才能正常遊玩。\n1. 共通的問題：無法播放遊戲內影片 # 全螢幕模式下，滑鼠移到標題列會導致點擊失去反應，這時就只能按S趕快存檔。\n接著是影片問題，可以在鑑賞模式觀察到，影片要嘛無法播，不然就是沒聲音。\n在下載遊戲後，在收藏庫點選右鍵 → 內容 → 相容性，選取Proton 9.0。或是透過ProtonUp-QT切換為GE-Proton 9.25版本。實際測試，《千戀萬花》需要用GE-Proton 9.25。《魔女的夜宴》要用Proton 9.0。 然後，透過ProtonTricks安裝wmp9與directshow。如果還是不能播放影片，再安裝wmp11。\n不需要在啟動參數加上PROTON_USE_WINED3D=1，那是更舊版的Wine才要做的步驟。\n2. 打R18補丁 # 我買的都是國際中文版（《魔女的夜宴》有英文版和中文版二個頁面，注意不要買錯）\n一般來說只要到補丁網站，例如patches.nekonyansoft.com或appendingpulse.jp，下載指定.xp3檔案，放到遊戲目錄即會自動載入。\n對遊戲點右鍵，開啟遊戲目錄，把檔案放進去即可。 如果需要執行程式的，需要透過ProtonTricks Launcher執行。\n參考資料 # Proj Steam Deck: 在Steam Deck上完美體驗魔女的夜宴(最新方法) - Steam Community Game Details for Senren＊Banka - ProtonDB Game Details for Sabbat of the Witch ","date":"2025年10月8日","externalUrl":null,"permalink":"/posts/yuzusoft-games-on-linux/","section":"所有文章","summary":"我在Linux版Steaam測試了一些柚子社(YouzuSoft)遊戲的執行\n開箱即用…是嗎？\n雖然遊戲正常執行，不過要播放影片的時候就會出問題，破壞遊戲體驗。\n我測試了千戀＊萬花 (Senren＊Banka) 、魔女的夜宴(Sabbat of the Witch) 兩款最著名的遊戲，我都是透過Steam購買的。 根據ProtonDB資料彙整而成，需要額外裝套件才能正常遊玩。\n1. 共通的問題：無法播放遊戲內影片 # 全螢幕模式下，滑鼠移到標題列會導致點擊失去反應，這時就只能按S趕快存檔。\n接著是影片問題，可以在鑑賞模式觀察到，影片要嘛無法播，不然就是沒聲音。\n在下載遊戲後，在收藏庫點選右鍵 → 內容 → 相容性，選取Proton 9.0。或是透過ProtonUp-QT切換為GE-Proton 9.25版本。實際測試，《千戀萬花》需要用GE-Proton 9.25。《魔女的夜宴》要用Proton 9.0。 然後，透過ProtonTricks安裝wmp9與directshow。如果還是不能播放影片，再安裝wmp11。\n不需要在啟動參數加上PROTON_USE_WINED3D=1，那是更舊版的Wine才要做的步驟。\n2. 打R18補丁 # 我買的都是國際中文版（《魔女的夜宴》有英文版和中文版二個頁面，注意不要買錯）\n","title":"在Linux玩柚子社的遊戲，譬如千戀萬花、魔女的夜宴","type":"posts"},{"content":"動機：我之前寫過一篇在Linux與Windows雙重開機的電腦共享Steam收藏庫的操作，兩個系統之間能共享大部分遊戲檔案，不需要重新下載。\n事實上，這不一定是物理上的雙重開機，實體機搭配虛擬機也是可行的。\n大部分時候我都在Linux Host玩Steam遊戲，但是遇到怎麼樣都不能用Proton轉譯的遊戲的時候，我就會用Windows虛擬機玩。然後就會遇到如何與虛擬機分享遊戲目錄的問題。\n從效能方面考慮，我肯定不會同意網路檔案系統，不論是NFS、SSHFS、SMB都是太慢了。\n不像Virtual Bix，Virt Manager沒有好的共享資料夾方案。\n雖然說，目前有一個很有潛力的方案叫做virtio-fs能夠共享資料夾，讓兩個系統同時存取硬碟，不過實務上我測試這不是很穩定的方案，exe放在共享的資料夾直接執行很容易出錯。\n所以我只好直通硬碟了。把Steam收藏庫放在一個獨立的硬碟。\n嚴格來說這不是直通啦，因為虛擬機裡面的作業系統依然是透過QEMU提供的驅動與硬碟互動，並非是完全將硬碟的控制器直通進去。所以應該稱作raw disk passthrough比較正確。\n1. 硬碟掛載的設定 # 我的想法是，讓硬碟能夠自由被Linux或Windows虛擬機掛載，所以開機不要自動掛載。確保要使用的硬碟不在/etc/fstab裡面。\n使用桌面環境的時候，通常檔案管理員允許點一下重新掛載硬碟。\n另外，關於檔案系統問題，如果是偏向Windows的話當然是把硬碟格式化為NTFS比較好。\n如果檔案系統為EXT4或BTRFS，Windows需要另外裝驅動才能讀取。例如裝WinBtrfs讀BTRFS。\n2. Virt Manager直通實體硬碟給虛擬機 # Linux需要先取消掛載硬碟： lsblk sudo umount \u0026#34;掛載點\u0026#34; 接著使用ls -l /dev/disk/by-id/指令找出硬碟代號\nVirt Mavnager點選新增硬體，點選新增硬碟，在方框輸入/dev/disk/by-id/ata-硬碟代號，匯流排選VirtIO 如果Windows開機後讀不到硬碟，首要的步驟是安裝VirtIO驅動，然後再安裝對應檔案系統的驅動。不要傻傻地格式化呀。\n虛擬機關機之後，方能在宿主機將硬碟重新掛載。\n","date":"2025年10月7日","externalUrl":null,"permalink":"/posts/libvirt-raw-disk-passthrough/","section":"所有文章","summary":"動機：我之前寫過一篇在Linux與Windows雙重開機的電腦共享Steam收藏庫的操作，兩個系統之間能共享大部分遊戲檔案，不需要重新下載。\n事實上，這不一定是物理上的雙重開機，實體機搭配虛擬機也是可行的。\n大部分時候我都在Linux Host玩Steam遊戲，但是遇到怎麼樣都不能用Proton轉譯的遊戲的時候，我就會用Windows虛擬機玩。然後就會遇到如何與虛擬機分享遊戲目錄的問題。\n從效能方面考慮，我肯定不會同意網路檔案系統，不論是NFS、SSHFS、SMB都是太慢了。\n不像Virtual Bix，Virt Manager沒有好的共享資料夾方案。\n雖然說，目前有一個很有潛力的方案叫做virtio-fs能夠共享資料夾，讓兩個系統同時存取硬碟，不過實務上我測試這不是很穩定的方案，exe放在共享的資料夾直接執行很容易出錯。\n所以我只好直通硬碟了。把Steam收藏庫放在一個獨立的硬碟。\n嚴格來說這不是直通啦，因為虛擬機裡面的作業系統依然是透過QEMU提供的驅動與硬碟互動，並非是完全將硬碟的控制器直通進去。所以應該稱作raw disk passthrough比較正確。\n1. 硬碟掛載的設定 # 我的想法是，讓硬碟能夠自由被Linux或Windows虛擬機掛載，所以開機不要自動掛載。確保要使用的硬碟不在/etc/fstab裡面。\n使用桌面環境的時候，通常檔案管理員允許點一下重新掛載硬碟。\n另外，關於檔案系統問題，如果是偏向Windows的話當然是把硬碟格式化為NTFS比較好。\n","title":"Virt Manager直通Linux的硬碟給Windows虛擬機，替代共享資料夾（Raw Disk Passthrough）","type":"posts"},{"content":"請參考： Linux開源免費的遠端桌面列表\n適用版本：KDE Plasma 6.0以上、Kubuntu 26.04以上、KDE Neon 24.04以上\n過去很長一段時間，KDE Plasma沒有內建遠端桌面的功能，需要依賴其他Linux的遠端桌面軟體串流。現在更新到KDE 6之後，便有了內建的「KRdp」了！ KRdp是KDE Plasma內建的遠端桌面功能，不需要額外安裝軟體就能使用。\n背後透過RDP協定實現，能夠使用H.264編碼器，低延遲的串流你的桌面，還可以傳輸音效！\n跟其他Linux遠端桌面軟體比起來，KRdp的好處在於跟KDE Plasma桌面整合的較好，尤其是Wayland環境下，不用特別調整什麼權限就能使用。\n1. KRdp運作條件 # 需要KDE Plasma 6以上版本。\n僅限Wayland工作階段可使用。\n如果你還巴著X11不放的，建議改用Krfb。\n2. 啟用KRdp遠端桌面 # 開啟KDE系統設定 → 遠端桌面，勾選啟用遠端桌面，新增帳號密碼（可以跟你的Linux使用者帳號一樣）並視你的網速調整畫面品質。 然後開啟RDP使用的通訊埠防火牆，例如Ubuntu就是：\nsudo ufw allow 3389 sudo ufw reload 點選KDE右下角的網路連線取得Linux的IP，這裡的範例是區域IP 在另外一部電腦開啟RDP客戶端，例如Remmina，通訊協定選RDP，然後輸入Linux IP連線即可。 3. 從外網存取KRdp桌面 # 如果不方便取得公共IP，使用內網穿透軟體。\n這樣你的電腦就能從外部網路存取KRdp。\n4. 使用指令啟用KRdp # 需要注意的是，目前KRdp不能像xRDP一樣headless啟動工作階段，使用者必須要解鎖SDDM，登入KDE桌面才能順利啟動Krdp伺服器。\n執行以下指令開啟Krdp服務：\nsystemctl --user start plasma-krdp_server.service 如果之前完全沒有設定過KRdp服務，可以用以下指令產生憑證：\nmkdir --parents \u0026#34;$HOME/.local/share/krdpserver\u0026#34; certificatePath=\u0026#34;$HOME/.local/share/krdpserver/krdp.crt\u0026#34; certificateKeyPath=\u0026#34;$HOME/.local/share/krdpserver/krdp.key\u0026#34; openssl req -nodes -new -x509 -keyout \u0026#34;$certificateKeyPath\u0026#34; -out \u0026#34;$certificatePath\u0026#34; -days 1 -batch kwriteconfig6 --file krdpserverrc --group General --key Certificate \u0026#34;$certificatePath\u0026#34; kwriteconfig6 --file krdpserverrc --group General --key CertificateKey \u0026#34;$certificateKeyPath\u0026#34; kwriteconfig6 --file krdpserverrc --group General --key SystemUserEnabled true 參考資料 # KRdp - Library and examples for creating an RDP server. - Gitlab ","date":"2025年9月30日","externalUrl":null,"permalink":"/posts/krdp-remote-desktop/","section":"所有文章","summary":"請參考： Linux開源免費的遠端桌面列表\n適用版本：KDE Plasma 6.0以上、Kubuntu 26.04以上、KDE Neon 24.04以上\n過去很長一段時間，KDE Plasma沒有內建遠端桌面的功能，需要依賴其他Linux的遠端桌面軟體串流。現在更新到KDE 6之後，便有了內建的「KRdp」了！ KRdp是KDE Plasma內建的遠端桌面功能，不需要額外安裝軟體就能使用。\n背後透過RDP協定實現，能夠使用H.264編碼器，低延遲的串流你的桌面，還可以傳輸音效！\n跟其他Linux遠端桌面軟體比起來，KRdp的好處在於跟KDE Plasma桌面整合的較好，尤其是Wayland環境下，不用特別調整什麼權限就能使用。\n1. KRdp運作條件 # 需要KDE Plasma 6以上版本。\n僅限Wayland工作階段可使用。\n如果你還巴著X11不放的，建議改用Krfb。\n2. 啟用KRdp遠端桌面 # 開啟KDE系統設定 → 遠端桌面，勾選啟用遠端桌面，新增帳號密碼（可以跟你的Linux使用者帳號一樣）並視你的網速調整畫面品質。 然後開啟RDP使用的通訊埠防火牆，例如Ubuntu就是：\nsudo ufw allow 3389 sudo ufw reload 點選KDE右下角的網路連線取得Linux的IP，這裡的範例是區域IP ","title":"KRdp ~ KDE Plasma Wayland內建遠端桌面使用教學","type":"posts"},{"content":"RDP, Remote Desktop Protocol.\n","date":"2025年9月30日","externalUrl":null,"permalink":"/tags/rdp/","section":"標籤","summary":"RDP, Remote Desktop Protocol.\n","title":"RDP","type":"tags"},{"content":"","date":"2025年9月30日","externalUrl":null,"permalink":"/tags/remote-desktop/","section":"標籤","summary":"","title":"Remote Desktop","type":"tags"},{"content":" ani-cli為一個讓您用終端機線上看動漫的小程式，可以自己看，也能跟朋友一起看，由pystardust開發。作者稱其為\u0026quot;A cli tool to browse and play anime.\u0026quot;\n該名開發者同時也是ytfzf - 終端機看Youtube的作者。\n什麼叫做用終端機看影片？不是用ASCII文字渲染影片啦 (ASCII animation) 。\n具體來說ani-cli是讓你透過fzf的純文字界面線上搜尋動漫，然後呼叫MPV播放串流。你也可以將動畫下載到本機離線播放。 使用起來大概像是這樣：\n因為ani-cli本身只是個Bash指令稿，除了結構非常suckless之外，也能輕鬆支援各大作業系統，包含Linux、Windows、macOS、FreeBSD、WSL，甚至連Android手機也能看，只要有Termux終端機就行了！ 用終端機看動漫\u0026hellip;說實在只能耍帥吧？沒有啦，極度簡潔的界面很適合i3、Sway、Hyprland等平鋪視窗管理器的用戶。由於使用MPV播放緣故，還可搭配MVTools ＋ Anime4K提高影片畫質，補幀提升畫面效果。\nani-cli的片源滿齊全的，以前的到最新的動漫都有，還提供1080p高畫質串流。當然ani-cli的動漫片源不是正版網站，而是來自各大資源提供方。開發者在儲存庫提及的「盜版資源好homie」列表中，名為Saikou的APP因為版權因素使得Github儲存庫整個蒸發了，可憐哪。\n最大的缺點嘛\u0026hellip;ani-cli是為英語用戶設計的程式，所以片源全部都是英文字幕，你得自行下載漢化組發表的.srt字幕，再從MPV界面手動載入。\n如果你英日文雙修那就往下看吧！\n1. 安裝ani-cli # 安裝說明參照Github\nLinux # Linux版的ani-cli可以從套件管理員裝，例如Ubuntu與Debian就是從官方套件庫安裝：\nsudo apt install ani-cli # 安裝之後能夠使用這個指令自我更新，防止套件庫版本過舊 sudo ani-cli -U 記得還要安裝原生套件版的MPV。\nAndroid # 安裝Termux\n安裝Android版MPV\n安裝ani-cli\npkg install ani-cli termux-am 2. 串流播放動畫 # ani-cli使用方式很簡單，在終端機輸入：ani-cli，用英文搜尋動漫，按Enter，就會開啟fzf選單（你也可以加上--rofi引數，改用另一種選單來瀏覽） ani-cli目前不提供修改網站來源的功能，看來是隨機挑選的，因此可能會出現有些網站找不到特定動畫的情況，或是部份網站把畫質壓縮的比較糟糕。\n列出季數，選取後再選取集數。 選取集數就會播放了，一切操作都是那麼直覺。 因為ani-cli使用MPV播放，你可以搭配MVTools ＋ Anime4K進一步提昇串流畫質。 3. 下載動畫 # 如果要下載播放中的動畫，只要在啟動指令加上-d就可以了。例如指定下載1080p畫質影片：\nani-cli -d -q 1080 這樣在選單中選定集數之後，就不會播放，而是改成直接下載影片到目前的工作目錄下。\n如果要批次下載，指定一季的集數範圍：\nani-cli -d -q 1080 -e 1-12 4. 使用ani-skip自動跳過片頭曲 # 這是獨立的指令稿，用於顯示跳過動畫OP的章節標記。它會以一組MPV播放器的引數呈現，播放影片會顯示一組時間軸標記。 ani-cli的作者有整合了這個程式的邏輯，它會自動讀取可跳過片頭的動畫資料。\n由於跳過時間軸的資料庫是社群貢獻的，較冷門的動畫可能就沒有相關資料。\n參考Github，透過Git安裝ani-skip git clone https://github.com/synacktraa/ani-skip.git sudo apt install mpv fzf sudo cp ani-skip/ani-skip /usr/local/bin mkdir -p ~/.config/mpv/scripts \u0026amp;\u0026amp; cp ani-skip/skip.lua ~/.config/mpv/scripts 基本用法： # 查詢動畫在MyAnimeList上的ID ani-skip -q \u0026#34;Attack On Titan\u0026#34; # 列出該集數可跳過的片段，會產生一組MPV引數 ani-skip -q 16498 -e 10 使用以下引數啟動ani-cli，播放時就會自動搜尋動畫名稱，並套用ani-skip的跳過規則。加上--skip-title 標題或者-q MyAnimeList的ID，指定要搜尋的動畫名稱。 ani-cli --skip --skip-title \u0026#34;Attack On Titan\u0026#34; 5. 同播共享 # 透過Syncplay伺服器，與朋友一起觀看ani-cli的影片。這個軟體支援Linux、macOS、Windows、Android、iOS。\n順帶一提，有個程式叫做Curd，可以透過Discord分享影片。\n在兩部電腦上安裝Syncplay，開啟設定面板登入伺服器 sudo apt install syncplay 透過以下參數啟動ani-cli ani-cli --syncplay 這樣另一台電腦的Syncplay客戶端就會出現播放中的的影片列表了。 ","date":"2025年9月23日","externalUrl":null,"permalink":"/posts/ani-cli-anime-streaming/","section":"所有文章","summary":" ani-cli為一個讓您用終端機線上看動漫的小程式，可以自己看，也能跟朋友一起看，由pystardust開發。作者稱其為\"A cli tool to browse and play anime.\"\n該名開發者同時也是ytfzf - 終端機看Youtube的作者。\n什麼叫做用終端機看影片？不是用ASCII文字渲染影片啦 (ASCII animation) 。\n具體來說ani-cli是讓你透過fzf的純文字界面線上搜尋動漫，然後呼叫MPV播放串流。你也可以將動畫下載到本機離線播放。 使用起來大概像是這樣：\n因為ani-cli本身只是個Bash指令稿，除了結構非常suckless之外，也能輕鬆支援各大作業系統，包含Linux、Windows、macOS、FreeBSD、WSL，甚至連Android手機也能看，只要有Termux終端機就行了！ 用終端機看動漫…說實在只能耍帥吧？沒有啦，極度簡潔的界面很適合i3、Sway、Hyprland等平鋪視窗管理器的用戶。由於使用MPV播放緣故，還可搭配MVTools ＋ Anime4K提高影片畫質，補幀提升畫面效果。\nani-cli的片源滿齊全的，以前的到最新的動漫都有，還提供1080p高畫質串流。當然ani-cli的動漫片源不是正版網站，而是來自各大資源提供方。開發者在儲存庫提及的「盜版資源好homie」列表中，名為Saikou的APP因為版權因素使得Github儲存庫整個蒸發了，可憐哪。\n","title":"ani-cli ~ 用終端機免費線上看動漫的程式，支援電腦與手機","type":"posts"},{"content":"有時候在拍Linux教學影片的時候，因為畫面上字太小，我得在剪輯的時候額外加入放大效果。如果在拍攝階段直接叫出Linux的放大鏡功能，就能減少這類麻煩。\n放大鏡 (Magnifier) 功能在拍教學影片的時候十分有用，當你想要強調特定功能的時候，點一下放大鏡就能讓觀眾看的更清楚。\n在Wayland桌面工作階段，Firefox和Chromium瀏覽器都可以透過筆電觸控板雙指放大。不過這裡講的放大鏡功能比較不一樣，它是螢幕上任何地方都可以放大的！\n放大鏡的功能應該是由桌面環境提供的，Linux使用Wayland協定的桌面環境都有提供放大鏡功能，無需額外安裝軟體。\n註：如果你在尋找的是桌面環境縮放功能，請參閱Linux Wayland桌面的縮放方式\n1. GNOME # GNOME 48，建議先點選系統設定 → 無障礙輔助，勾選永遠顯示無障礙選單 這樣的話就能從右上角的系統匣找到縮放按鈕。點選啟動放大鏡，或者按Windows鍵 + Alt + 8開關。 其餘詳細設定可以在無障礙輔助 → 縮放調整。 例如在縮放的時候顯示一個大十字。 2. KDE Plasma # KDE Plasma 6，點選系統設定 → 視窗管理 → 桌面效果設定 KDE有縮放與放大鏡功能，二選一。\n縮放快捷鍵：按Windows鍵 + ＋號鍵放大桌面，按－號縮小，整個畫面會跟著滑鼠移動。 放大鏡快捷鍵：按Windows鍵 + ＋號鍵放大，按－號縮小。放大鏡是以滑鼠為中心顯示一個小區塊，只有滑鼠所在區塊的文字會放大。 順帶一提，快速上下甩四下滑鼠，KDE的游標就會暫時變大。\n","date":"2025年9月17日","externalUrl":null,"permalink":"/posts/linux-desktop-magnifier/","section":"所有文章","summary":"有時候在拍Linux教學影片的時候，因為畫面上字太小，我得在剪輯的時候額外加入放大效果。如果在拍攝階段直接叫出Linux的放大鏡功能，就能減少這類麻煩。\n放大鏡 (Magnifier) 功能在拍教學影片的時候十分有用，當你想要強調特定功能的時候，點一下放大鏡就能讓觀眾看的更清楚。\n在Wayland桌面工作階段，Firefox和Chromium瀏覽器都可以透過筆電觸控板雙指放大。不過這裡講的放大鏡功能比較不一樣，它是螢幕上任何地方都可以放大的！\n放大鏡的功能應該是由桌面環境提供的，Linux使用Wayland協定的桌面環境都有提供放大鏡功能，無需額外安裝軟體。\n註：如果你在尋找的是桌面環境縮放功能，請參閱Linux Wayland桌面的縮放方式\n1. GNOME # GNOME 48，建議先點選系統設定 → 無障礙輔助，勾選永遠顯示無障礙選單 這樣的話就能從右上角的系統匣找到縮放按鈕。點選啟動放大鏡，或者按Windows鍵 + Alt + 8開關。 其餘詳細設定可以在無障礙輔助 → 縮放調整。 例如在縮放的時候顯示一個大十字。 2. KDE Plasma # KDE Plasma 6，點選系統設定 → 視窗管理 → 桌面效果設定 ","title":"使用Linux放大鏡功能，放大螢幕局部畫面","type":"posts"},{"content":"2019年購入的Chromecast 3可能是我買過最雞肋的智慧裝置，一直找不到這東西的用途。\nChromecast有出很多代，在第四代之前的版本沒有Android TV電視盒功能，僅僅是負責投影手機畫面到電視而已。這樣做的好處是隨便一台支援HDMI的傳統電視都能無縫升級為智慧電視。\n但，在智慧電視以及智慧電視盒普及的當下，舊款Chromecast的用途越來越尷尬了。當初是因為便宜才買了Chromecast 3，想說方便投影影片。但是家中電視位置有Wifi收訊不良的問題，使用體驗不佳。Wifi 問題過了好幾年才解決。可是中間的時間，第四台業者給我家換了智慧電視盒，甚至電視盒本身就有內建Chromecast了，導致Chromecast 3在我手上就變得更雞肋了\n現在嘗試探討這玩意還有什麼功能。即使它很雞肋，我希望能讓它變得不要那麼雞肋。 這東西還在用micro-USB呢。 1. 外出時的大螢幕投影備品 # 對一些數位遊牧的人士，外出需要大螢幕投影，Chromecast可能還真的有用處。\n要注意的是，Chromecast一次只能連線到一個Wifi，要達成隨身攜帶的話就得用兩支手機，其中一支常用的手機開Wifi熱點讓Chromecast連線，接著用另外一支手機開啟Google Home初始化。這樣Chromecast才能隨時用手機熱點上網。\n譬如旅遊需要看影片，將旅館電視插上Chromecast，就能從手機投影影片。\nGoogle Home也可以投影整支手機的螢幕畫面，搭配SecondScreen修改螢幕比例為電視的16：9，接上藍牙鍵盤，搭配Termux X11跑電腦程式，勉強開始辦公。\nChromecast投影不限於手機，Linux和Windows都有很多程式支援Chromecast協定，譬如MkCromecast，他們都能夠投影電腦畫面到大螢幕上，雖然效率可能不會太好。\n話說我之前還想過用軟體自幹Chromecast替代品來著\u0026hellip;結果還是需要一個硬體中介裝置。\n2. 土砲智慧音箱 # 相信我，直接買個藍牙音箱比較快！\n部分APP能夠串流音樂到Chromecast，例如Spotify。\n裝置一定要有HDMI輸入的孔，Chromecast才能作用。所以一般的3.5mm揚聲器是不可能的，要找一個音質比較好的螢幕。\n除非，採用下述的擷取卡方案，才有可能解決Chromecast依賴HDMI的問題。\n3. 投影手機螢幕到電腦，當作Scrcpy或UxPlay替代品 # 最終極的變形，物盡其用。\n最更瘋狂的想法，把Chromecast跟USB擷取卡連在一起，插到電腦上，就能從手機投影到電腦。\n好處：Chromecast原本在投影的時候需要佔用一個HDMI訊源，整個電腦螢幕都被Chromecast佔據。若是透過擷取卡只會顯示一個視窗，並不會佔用整個螢幕的輸出！這代表它能跟電腦系統同時執行！\n本來，我想打造一個投影手機到Linux電腦螢幕的系統，若是iOS的話可以跑UxPlay，透過AirPlay協定投放。至於Android，還沒有人成功逆向出Chromecast伺服器，所以得依賴實體Chromecast裝置。雖說Android投影螢幕有Scrcpy這玩意，但畢竟Scrcpy還需要ADB打指令才能投影，而Chromecast投影操作比較直覺，只要從手機按個鈕就好了！\n連接方式如圖，Chromecast獨立供電（看是要插座還是吃電腦USB），然後HDMI端插在擷取卡的頭，接著把擷取卡插到電腦上。 使用VLC → 開啟擷取裝置，播放擷取卡的畫面與音效，會顯示Chromecast的畫面。 如此一來，就能隨時從手機投影畫面到電腦了！音效也會從電腦揚聲器出來。 ","date":"2025年9月16日","externalUrl":null,"permalink":"/posts/revivie-chromecast-3/","section":"所有文章","summary":"2019年購入的Chromecast 3可能是我買過最雞肋的智慧裝置，一直找不到這東西的用途。\nChromecast有出很多代，在第四代之前的版本沒有Android TV電視盒功能，僅僅是負責投影手機畫面到電視而已。這樣做的好處是隨便一台支援HDMI的傳統電視都能無縫升級為智慧電視。\n但，在智慧電視以及智慧電視盒普及的當下，舊款Chromecast的用途越來越尷尬了。當初是因為便宜才買了Chromecast 3，想說方便投影影片。但是家中電視位置有Wifi收訊不良的問題，使用體驗不佳。Wifi 問題過了好幾年才解決。可是中間的時間，第四台業者給我家換了智慧電視盒，甚至電視盒本身就有內建Chromecast了，導致Chromecast 3在我手上就變得更雞肋了\n現在嘗試探討這玩意還有什麼功能。即使它很雞肋，我希望能讓它變得不要那麼雞肋。 這東西還在用micro-USB呢。 1. 外出時的大螢幕投影備品 # 對一些數位遊牧的人士，外出需要大螢幕投影，Chromecast可能還真的有用處。\n要注意的是，Chromecast一次只能連線到一個Wifi，要達成隨身攜帶的話就得用兩支手機，其中一支常用的手機開Wifi熱點讓Chromecast連線，接著用另外一支手機開啟Google Home初始化。這樣Chromecast才能隨時用手機熱點上網。\n","title":"探討舊Chromecast 3電視棒的用途，搭配擷取卡讓手機投影到電腦","type":"posts"},{"content":" 今日のテーマはRustでLinux kernelのカーネルモジュールを書くことだった。将来カーネルへ入っていく言語については、早めにこの言語を理解しておく必要がある。 録画：KaLUG meetup 2509 - Rust 的奇妙冒險：Hello Heaven (Rust for Linux)\n今回KaLUGのイベントに参加したとき、私は現実で本当にNixOSユーザーを見たのが初めてだった\u0026hellip;ずっとこのシステムを試してみたいと思っていたが、抜け出せないカルトに落ちるのではないかとかなり心配している。\n結局、declarative式reproducibleなシステムは主流ではない。あなたはAnsibleを見ていないのか？ディストリビューション横断のパッケージインストール解決策を論じるなら、現在はFlatpak、AppImage、Snap、Nix、Guixなどがあり、Podman + Distroboxのような比較的奇妙な方案を使うものさえある。pipとnpmは含めない。なぜならそれらはLinuxソフトウェアのパッケージング専用に設計されたものではないからだ。それぞれ実装は異なるが、いずれもディストリビューションをまたいでソフトウェアを使うことを実現できる。ディストリビューション横断のパッケージインストール方案を使う場面の一つは、安定したシステムに不安定なパッケージをインストールしたい場合だ。たとえばDebian Stableの安定したシステムと、Arch Linuxの最新パッケージを併せ持つようなものだ。どの方案を選ぶかは、ユーザーがどの機能をより重視するかによる。コンテナ化を気にせず、無套接觸を望むならAppImageまたはNixを使う。Nixはさらに開発者向けで、使い心地はmacOS上のHomebrewに似ている。しかもそのパッケージ管理機構は、ソフトウェアが絶対に依存関係を壊さないことを保証し、まるで静的リンクのようで、100%ロールバックもできる。少しのコンテナ権限制限を受け入れられるなら、選択肢は多い。どれがよりよいかを急いで決める必要はない。結局は開発者がどの形式を好むか、開発者がよりパッケージングしたがるか、そしてユーザーがそれらのソフトウェアを容易に取得できるかを見ることになる。私から見ると、FlatpakとSnapはユーザーに比較的優しく、Distroboxは純粋に開発者向けのツールで、Nixと同じく使うには高度な技術が必要だ。\nはわわ、スポンサーとしてOCF開放文化基金会が持ってきたノートパソコンで、ついに本物のFrameworkノートに触れた。QAが持ってきたFramework 12純正品で、ThinkPad以外ではLinux互換性が最もよいノートパソコンブランドの一つだ。ほぼ追加ドライバーを入れなくてよい。一本のドライバーだけで正面からキーボードを外し、内部構造をすべて露出できる（ちょっとFNAF的な猟奇感はあるが）。部品はすべてモジュール化設計で、自由に交換できる。 この機体は少し厚みがあるが、360度回転でき、タッチスクリーンもあることを考えると、実は重くない。将来お金があったら必ず一台買う。そう、本当にお金があればの話だけど。ついでに言うと、最近Rust for Linux kernelの講演（X）布教大会（O）を聞き終えて、RustがLinuxカーネルへ入る流れはすでに避けられないと知った。もともとはkernel module driverを書く言語に過ぎなかったところから、RustのCとのインターフェース層を突破し、カーネル内部へ反攻する！！！まだ多くの抵抗はあるが。\n今日はこのイベントに初めて参加した。Facebookグループで見かけ、勇気を出して試しに参加してみた。司会者、みんなは彼をShawnと呼んでいたが、私が着ていたFreeBSD公式Tシャツにすぐ気づき、熱心に声をかけてくれた。想像以上に面白く、本当に私の好みに合う集まりだった！\n","date":"2025年9月13日","externalUrl":null,"permalink":"/ja-jp/posts/kalug-2509/","section":"Foss-Issues","summary":" 今日のテーマはRustでLinux kernelのカーネルモジュールを書くことだった。将来カーネルへ入っていく言語については、早めにこの言語を理解しておく必要がある。 録画：KaLUG meetup 2509 - Rust 的奇妙冒險：Hello Heaven (Rust for Linux)\n今回KaLUGのイベントに参加したとき、私は現実で本当にNixOSユーザーを見たのが初めてだった…ずっとこのシステムを試してみたいと思っていたが、抜け出せないカルトに落ちるのではないかとかなり心配している。\n結局、declarative式reproducibleなシステムは主流ではない。あなたはAnsibleを見ていないのか？ディストリビューション横断のパッケージインストール解決策を論じるなら、現在はFlatpak、AppImage、Snap、Nix、Guixなどがあり、Podman + Distroboxのような比較的奇妙な方案を使うものさえある。pipとnpmは含めない。なぜならそれらはLinuxソフトウェアのパッケージング専用に設計されたものではないからだ。それぞれ実装は異なるが、いずれもディストリビューションをまたいでソフトウェアを使うことを実現できる。ディストリビューション横断のパッケージインストール方案を使う場面の一つは、安定したシステムに不安定なパッケージをインストールしたい場合だ。たとえばDebian Stableの安定したシステムと、Arch Linuxの最新パッケージを併せ持つようなものだ。どの方案を選ぶかは、ユーザーがどの機能をより重視するかによる。コンテナ化を気にせず、無套接觸を望むならAppImageまたはNixを使う。Nixはさらに開発者向けで、使い心地はmacOS上のHomebrewに似ている。しかもそのパッケージ管理機構は、ソフトウェアが絶対に依存関係を壊さないことを保証し、まるで静的リンクのようで、100%ロールバックもできる。少しのコンテナ権限制限を受け入れられるなら、選択肢は多い。どれがよりよいかを急いで決める必要はない。結局は開発者がどの形式を好むか、開発者がよりパッケージングしたがるか、そしてユーザーがそれらのソフトウェアを容易に取得できるかを見ることになる。私から見ると、FlatpakとSnapはユーザーに比較的優しく、Distroboxは純粋に開発者向けのツールで、Nixと同じく使うには高度な技術が必要だ。\n","title":"KaLuG 2509 オープンソースコミュニティ集会小記","type":"foss-issues"},{"content":"Redlib是一個尊重使用者隱私的Reddit替代前端。\n之所以想裝這個，如果不登入Reddit帳號，就會無法瀏覽NSFW sub。是否為NSFW看Mod決定，不論內容是否真的為NSFW。但Reddit逼你下載客戶端的行為，看上去很惱人！ 所以我決定自己架設一個瀏覽Reddit的前端，使用開源社群製作的專案：Redlib。 Redlib舊稱libreddit，這個前端能做到免登入帳號，瀏覽Reddit大多數sub的貼文，包括啟用NSFW的sub，這樣就不用怕瀏覽紀錄被站方追蹤了。並且可以透過自訂環境變數的方式，訂閱特定的sub並顯示在首頁，達成類似Reddit Custom Feed的體驗。 這個前端比old.reddit.com功能還要精簡，完全沒有追蹤器哦！當然，你沒辦法登入Reddit帳號發文，只能潛水。\n它還提供隱藏Upvote與Downvote分數的功能，還你一個乾淨的瀏覽體驗。網頁版面簡潔，會跟著螢幕大小自動變化，提供多種內建主題。 圖片和影片可以直接右鍵下載！還有RSS訂閱subreddit新文章的功能。\n自從2023年Reddit官方對第三方API收費之後，這個專案一度沉寂了下來，後來社群找到了破解方法！\n雖然Redlib有很多公共站台可以用，但是大部分都在外國，瀏覽速度很慢，不如我自己裝設一個就好了吧。\n1. 用Docker部署Redlib # 以下內容參考Github說明\n在Linux安裝Docker\n新增資料目錄\nmkdir ~/redlib cd redlib touch docker-compose.yml touch .env 編輯docker-compose，填入以下內容。Redlib本身不用任何volume儲存資料。 services: redlib: image: quay.io/redlib/redlib:latest restart: always container_name: \u0026#34;redlib\u0026#34; ports: - 8080:8080 # 左邊是暴露的通訊埠，若使用反向代理，改成`127.0.0.1:8080:8080` user: nobody read_only: true security_opt: - no-new-privileges:true cap_drop: - ALL env_file: .env networks: - redlib healthcheck: test: [\u0026#34;CMD\u0026#34;, \u0026#34;wget\u0026#34;, \u0026#34;--spider\u0026#34;, \u0026#34;-q\u0026#34;, \u0026#34;--tries=1\u0026#34;, \u0026#34;http://localhost:8080/settings\u0026#34;] interval: 5m timeout: 3s networks: redlib: 編輯環境變數.env，啟用以下幾個我覺得有必要開啟的選項，其餘維持預設值。 # 啟用NSFW REDLIB_SFW_ONLY=off # 自訂標題 REDLIB_BANNER=Redlib # 禁止搜尋引擎索引 REDLIB_ROBOTS_DISABLE_INDEXING=on # 關閉劇透模糊 REDLIB_DEFAULT_BLUR_SPOILER=off # 顯示NSFW貼文 REDLIB_DEFAULT_SHOW_NSFW=on REDLIB_DEFAULT_BLUR_NSFW=off # 使用HLS播放高畫質影片 REDLIB_DEFAULT_USE_HLS=on # 顯示在首頁的訂閱sub，用+號分隔 REDLIB_DEFAULT_SUBSCRIPTIONS=linuxmemes+goodanimemes+china_irl # 在首頁封鎖的sub REDLIB_DEFAULT_FILTERS=politics+memes+taiwanese # 顯示獎勵數量 REDLIB_DEFAULT_HIDE_AWARDS=off # 顯示Upvote與Downvote數 REDLIB_DEFAULT_HIDE_SCORE=off 啟動容器 docker compose up -d 使用瀏覽器打開http://Linux伺服器IP:8080存取網頁。\n如果有必要的話，可以使用內網穿透軟體從外網存取。\n順帶一提，如果架設Redlib公共站台要避免被濫用的話，可以將其接在Cloudflare或Techaro Anubis後面，對來訪者做人機驗證。\n2. 如何訂閱sub # 訂閱的sub會顯示在首頁左上角的Feed按鈕。\n可以在Redlib的環境變數REDLIB_DEFAULT_SUBSCRIPTION=裡面定義要訂閱的sub。\n或者手動在Redlib網頁進入Sub，點選subscribe。不過，這個訂閱紀錄是存在瀏覽器cookie裡面的，要備份不方便，得手動在右上角的Settings底部匯出。 如果是自己要用的而已，建議直接在Redlib的環境變數裡面定義。\n3. 將搜尋結果重新導向到Redlib # 在瀏覽器安裝擴充元件LibRedirect便能將所有Reddit連結自動導向自架的Redlib站點。\n","date":"2025年9月9日","externalUrl":null,"permalink":"/posts/redlib-reddit-private-frontend/","section":"所有文章","summary":"Redlib是一個尊重使用者隱私的Reddit替代前端。\n之所以想裝這個，如果不登入Reddit帳號，就會無法瀏覽NSFW sub。是否為NSFW看Mod決定，不論內容是否真的為NSFW。但Reddit逼你下載客戶端的行為，看上去很惱人！ 所以我決定自己架設一個瀏覽Reddit的前端，使用開源社群製作的專案：Redlib。 Redlib舊稱libreddit，這個前端能做到免登入帳號，瀏覽Reddit大多數sub的貼文，包括啟用NSFW的sub，這樣就不用怕瀏覽紀錄被站方追蹤了。並且可以透過自訂環境變數的方式，訂閱特定的sub並顯示在首頁，達成類似Reddit Custom Feed的體驗。 這個前端比old.reddit.com功能還要精簡，完全沒有追蹤器哦！當然，你沒辦法登入Reddit帳號發文，只能潛水。\n它還提供隱藏Upvote與Downvote分數的功能，還你一個乾淨的瀏覽體驗。網頁版面簡潔，會跟著螢幕大小自動變化，提供多種內建主題。 圖片和影片可以直接右鍵下載！還有RSS訂閱subreddit新文章的功能。\n自從2023年Reddit官方對第三方API收費之後，這個專案一度沉寂了下來，後來社群找到了破解方法！\n雖然Redlib有很多公共站台可以用，但是大部分都在外國，瀏覽速度很慢，不如我自己裝設一個就好了吧。\n1. 用Docker部署Redlib # 以下內容參考Github說明\n","title":"架設Redlib，免登入瀏覽Reddit sub貼文 + 下載影片","type":"posts"},{"content":"分享一款我覺得設計還不錯的影片下載軟體，它的名字叫做「Parabolic」。支援Linux、Windows、macOS系統。\n這是一款能夠下載Youtube影片的開源軟體，最高可達4K畫質。 其實，它應該叫做yt-dlp的前端比較正確。yt-dlp是一款命令行下載工具，需要打指令操作。過去有很多人嘗試做GUI，不過很難cover全部功能。\n相關文章：yt-dlp指令使用教學，萬能Youtube影片命令行下載工具 yt-dlp作為一款前端程式，功能簡潔卻也足夠強大。Parabolic完全開源免費，無廣告。\nParabolic的作者實作了常用的幾種下載功能，讓使用者不需要調整yt-dlp命令行參數就能直接下載影片，點一點就能快速下載多部影片。 只要是yt-dlp支援的網站（如Youtube、Bilibili、Niconico、Twitter、Facebook、Threads），它都能下載影片。\nParabolic也支援下載影片並轉成mp3純音訊。最棒的功能是下載Youtube Music音樂專輯的時候，能夠依照播放清單自動加上編碼，建立m3u播放清單，並且將縮圖自動裁剪成正方形。\n針對需要特殊處理的影片，Parabolic也允許串接yt-dlp自訂指令參數，ffmpeg自訂指令參數幾乎全部圖形化。\n1. 安裝Parabolic # Parabolic是自由開源軟體，原始碼位於Github。作者一開始似乎是以Linux為主下去開發的，前端採GTK，後來才推出使用QT的Windows與macOS版本。\nLinux安裝Flatpak，從Flathub下載（Parabolic舊名Tube Converter）：\nflatpak install org.nickvision.tubeconverter Windows到Github Releases，找到Latest標籤，點開Assets，下載NickvisionParabolicSetup.exe安裝。\nmacOS需要安裝MacPorts，透過終端機指令安裝：\nsudo port install parabolic 2. 下載Youtube影片 # 點Parabolic左上角的Settings → Language可以切換界面語言。\n在下載之前\u0026hellip;先確保編碼問題。目前Youtube高畫質影片大多採用AV1編碼，較老的影片播放器可能會黑螢幕。如果你電腦使用的影片播放器不支援新型解碼器，建議開啟Parabolic左上角的編好設定 → 一般設定，將影片編碼切換為H.264，確保下載後的影片在大多數裝置都能播放。 Parabolic預設的同時下載影片數是5個，這麼大的流量可能會吃光網速，或者導致IP短暫被Youtube封鎖。這時建議改成1。\n在Parabolic主畫面，點選左上角加號，它會自動偵測你剪貼簿的網址，然後就能下載影片了。 勾選要下載的內容。影片和音訊都選取最高品質，程式就會嘗試自動選取4K畫質。格式選取.mp4（相容性最好）或者.mkv（支援多軌道字幕），如果選.mp3就是下載純音訊。並視需要下載Youtube的CC字幕。 影片有CC字幕的話，下載之後Parabolic會自動將字幕嵌入影片之中。 如果你需要自訂進階後處理規則，可以在Parabolic的設定 → 轉換器裡面新增後製參數預設集，這樣下載的時候才會出現在選項卡。\n3. 下載Youtube Music音樂專輯 # Youtube上的音樂專輯，通常就是一個播放清單。我們可以讓它自動將其下載並整理為一個資料夾。\n通常音樂專輯會包含演出者資料，顯示在MP3 tag，所以建議在Parabolic偏好設定，開啟嵌入後設資料，並勾選裁剪縮圖為正方形。 在下載的時候，貼上一個含有playlist參數的播放清單網址，music.youtube.com或者youtube.com的網址都可以。\n下載格式選.mp3（相容性最好）或.m4a（Youtube原生格式），因為Youtube音質頂多到256kbps，沒有必要選FLAC無損格式。M3U清單這個是讓音樂播放器辨識用的，除非你要下載的播放清單沒有演出者資訊，或者不是屬於同一張專輯，不然音樂播放器軟體應該都能自動辨認影片。 點選「播放清單」按鈕，可以在音樂檔名前面加上播放清單編號，有助於檔案總管排序。 下載之後的音樂，應該會在音樂播放器顯示演出者訊息～如果你下載的中文歌MP3標籤是英文的，可以裝Picard嘗試自動修復成中文。 4. 讀取cookie下載會員限定影片 # 有些會員限定影片需要使用者訂閱後才能看，故Parabolic需要讀取你的Youtube帳號資訊才能下載。\n第一種方法：在瀏覽器登入Youtube帳號，並安裝ExportThisCookie，取得cookie.txt，之後在Parabolic的設定界面選取cookie檔案。 第二種方法：點選左側的金鑰環，新增Youtube帳號，輸入帳號與密碼。再於下載影片的時候選取使用這個驗證方法。不過這個似乎不是用來給Youtube登入用的？ ","date":"2025年9月8日","externalUrl":null,"permalink":"/posts/parabolic-youtube-downloader/","section":"所有文章","summary":"分享一款我覺得設計還不錯的影片下載軟體，它的名字叫做「Parabolic」。支援Linux、Windows、macOS系統。\n這是一款能夠下載Youtube影片的開源軟體，最高可達4K畫質。 其實，它應該叫做yt-dlp的前端比較正確。yt-dlp是一款命令行下載工具，需要打指令操作。過去有很多人嘗試做GUI，不過很難cover全部功能。\n相關文章：yt-dlp指令使用教學，萬能Youtube影片命令行下載工具 yt-dlp作為一款前端程式，功能簡潔卻也足夠強大。Parabolic完全開源免費，無廣告。\nParabolic的作者實作了常用的幾種下載功能，讓使用者不需要調整yt-dlp命令行參數就能直接下載影片，點一點就能快速下載多部影片。 只要是yt-dlp支援的網站（如Youtube、Bilibili、Niconico、Twitter、Facebook、Threads），它都能下載影片。\nParabolic也支援下載影片並轉成mp3純音訊。最棒的功能是下載Youtube Music音樂專輯的時候，能夠依照播放清單自動加上編碼，建立m3u播放清單，並且將縮圖自動裁剪成正方形。\n針對需要特殊處理的影片，Parabolic也允許串接yt-dlp自訂指令參數，ffmpeg自訂指令參數幾乎全部圖形化。\n","title":"Parabolic教學：開源Youtube影片下載工具，可能是最好用的yt-dlp GUI","type":"posts"},{"content":"","date":"2025年9月8日","externalUrl":null,"permalink":"/tags/youtube-music/","section":"標籤","summary":"","title":"Youtube Music","type":"tags"},{"content":"","date":"2025年9月8日","externalUrl":null,"permalink":"/tags/yt-dlp/","section":"標籤","summary":"","title":"Yt-Dlp","type":"tags"},{"content":"為什麼有些人會去信被認為是落後老保的宗教，不論是基督教還是伊斯蘭教，因為在一切價值都將被重估 (Umwertung aller Werte) 的荒原 (The Waste Land)，左右派互搏，上上下下左右左右BA，混亂的價值觀使人無所適從，他們覺得回頭去相信古老的教義能帶來內心的平靜。所以有人說，說什麼Orthodox cures my liberalism，譬如聽聽這個：\n1 Hour of Chad Orthodox Chants to Redeem Your Soul\n現在太多人太過依賴網路看世界了，明明沒有觸到對方就私下決定那個群體是怎樣怎樣的人。視野遭到網路箝制，覺得活在網上就對世界全知全能。嘲笑他人的苦難。或許就像Patlabor說的，在這個城市裡面，何人都能成為自己世界的神，什麼都能作到，卻又無能為力的神。\n比如中國人上Threads看到青鳥就對台灣人幻想破滅，然後台灣人在Twitter受到粉紅騷擾對中國人形象破滅 —— 雖然早就幻滅了，光是官媒的態度，中共對台極不友善的態度，就夠就讓共產黨在台好感度是跨黨派的不爽的了，至少不會比疑美情緒要低。\n每個人只想相信他們想相信的，不，或者說是環境給他們想相信的。不論是教育體系大背景所烙下的思想鋼印，抑或是傳媒與KOL小環境營造的訊息繭房，都在加深人們對自己意識型態的根深蒂固，卻從不質疑「從來如此，便對嗎？」的思維。\n所以，你講話口口聲聲不離民主最偉大，或者是認為真理靠大砲射程說話，還是認為我支持的人物的看法最有把握。基於這種潛意識的作祟下，很難出現有。\n尤其cyber space又是一個沒有辦法好好溝通的地方。\n看看7/26與8/23大罷免，真是莫名其妙，雙方都使出渾身解數在選舉，對各方參與的勢力都覺得噁心，儘管各人有各人的苦衷。什麼時候台灣人才能擺脫這種政治狂熱的行為？反正選輸了橫豎都會滅國（中華民國or不存在的台灣國），需要有健康的制度讓這一切走向終結。\n不論結果如何，答應我，支持者不要做出殉國的行為，那些無恥的政客沒有一人會流眼淚。現代人有太多管道跳脫不喜歡的環境了，莫把民族大義、國家救亡圖存的責任全扛在肩上，現代人要反抗極權政府的代價實在太高了。這已經不是清末陳天華寫《猛回頭》《警世鐘》《絕命書》的時候了。或許政治上的表現不符我們這些理想主義者(INFP)的意，政治性抑鬱存在，但是還有方法…如果真不行，早點規劃潤的路徑。然後降低對政治還有世界局勢在生活中的重要性。在看看台灣以外的情勢，中國崛起，繼續打壓台灣；美國由一個瘋子當總統，爆發戰爭的地方沒有一絲停戰的希望，這世界似乎沒有變的越來越好。\n什麼時候才會再次吹起變革之風？ 我們讓您失望了！ 如果真有所謂「國際觀」，你會覺得不如盼小灰人降臨把人類全屠屠了。\u0026hellip;這就是虛無主義，感覺快變doomer了。\n李志說過：媽媽，這種失落會持久嗎？這個世界，會好嗎？\n可，若是基於什麼都懷疑的態度下去辯證，到最後就會發現似乎沒有人說的是真話，每個事實都被觀點所左右，所以會被極端的單一聲音所吸引。走centrism又沒有太大市場。對高敏感人來說，什麼聲音都會被極端地放大，因此容易受傷害，容易渴望讚賞，也容易被人牽著鼻子走。\n是，台灣是不成熟的民主，年輕且脆弱，除了中共美國的外在因素影響之下，島內政客仍流於喊口號（白綠藍皆然），總是進行瘋狂的政治動員，選舉過程一點都不理性。關心，或者說熱衷政治的人的比例異常的高，這不是成熟的民主國家該有的現象。\n進而，這個人會走向虛無主義。不過虛無主義是不可能度日子的，要尋找意義，智性高的會追求存在主義，反之就會去信宗教求個穩定的慰藉，有東西能夠依靠，我的存在就不是無意義。\n宗教，可以不是狹隘意義上的神明，也可以是愛國、愛黨、個人崇拜，甚或是覺得我的民族就是世界上最偉大的這樣，並天天以此自豪，用集體的榮譽淹沒個人的存在。\n可惜以此種種，我自然是沒有興趣接受的了。或許那些世界大小是都應該跟我無關，過去二年花太多心力思索這些事情存在的意義，忽略了自己的生活所追求的東西，換言之就是一事無成。覺得追求這些遙遠的大東西，好像就不用面對現實中近在眼前的課題一樣。抱持著淺薄又幼稚的思維去理解外部世界！就會落得幻滅的結果，這加劇了我的神經失調狀況。\n我想，得要暫時遠離這一切。現在清醒，振作，雖然是痛苦而又漫長的過程，不過至少能夠不再越陷越深。\nEverybody, everyone, somebody, anyone\nHas to grow up\nLet\u0026rsquo;s have some fun!\n","date":"2025年9月8日","externalUrl":null,"permalink":"/posts/2025090801/","section":"Politics","summary":"為什麼有些人會去信被認為是落後老保的宗教，不論是基督教還是伊斯蘭教，因為在一切價值都將被重估 (Umwertung aller Werte) 的荒原 (The Waste Land)，左右派互搏，上上下下左右左右BA，混亂的價值觀使人無所適從，他們覺得回頭去相信古老的教義能帶來內心的平靜。所以有人說，說什麼Orthodox cures my liberalism，譬如聽聽這個：\n1 Hour of Chad Orthodox Chants to Redeem Your Soul\n現在太多人太過依賴網路看世界了，明明沒有觸到對方就私下決定那個群體是怎樣怎樣的人。視野遭到網路箝制，覺得活在網上就對世界全知全能。嘲笑他人的苦難。或許就像Patlabor說的，在這個城市裡面，何人都能成為自己世界的神，什麼都能作到，卻又無能為力的神。\n比如中國人上Threads看到青鳥就對台灣人幻想破滅，然後台灣人在Twitter受到粉紅騷擾對中國人形象破滅 —— 雖然早就幻滅了，光是官媒的態度，中共對台極不友善的態度，就夠就讓共產黨在台好感度是跨黨派的不爽的了，至少不會比疑美情緒要低。\n每個人只想相信他們想相信的，不，或者說是環境給他們想相信的。不論是教育體系大背景所烙下的思想鋼印，抑或是傳媒與KOL小環境營造的訊息繭房，都在加深人們對自己意識型態的根深蒂固，卻從不質疑「從來如此，便對嗎？」的思維。\n","title":"每個人只想相信他們想相信的，卻忽視了現實中真正重要的事情","type":"politic"},{"content":"今天要分享的軟體叫做WinBoat，它能讓你在Linux執行Windows程式。 要在Linux跑Windows軟體，除了使用Wine以外，最穩定的方法便是透過虛擬機，譬如Virt Manager + QEMU/KVM跑Windows虛擬機。但是透過Virt Manager視窗來操作Windows顯得有些不便，所以有許多開發者提出了透過RDP遠端桌面的方式，讓虛擬機內的程式與Linux桌面更好的整合，讓Windows程式的視窗繪製在Linux桌面上。\n例如在Linux桌面，開啟Microsoft Office視窗。宛如原生應用程式一樣的操作。 類似WinBoat的軟體有WinApps和Cassowary。WinBoat跟WinApps的差別在於，它是在Docker裡面跑Windows 11虛擬機，而非直接透過Libvirt（WinApps允許你選取Docker或Libvirt作為後端，彈性較高，能GPU直通），不過它還是有用到KVM。\nWinBoat界面比較漂亮，設定過程比較直覺，只要裝好Docker與KVM的前置依賴套件，這個圖形程式就會自動幫你建立Windows虛擬機，在虛擬機內部安裝與Linux溝通的伺服器程式winboat_guest_server。並且會自動將Linux家目錄掛載到Windows檔案總管，共享資料夾。\n不過，WinBoat本質上是跑一個Windows虛擬機，目前無法GPU直通，圖形效能低落，只適合跑文書程式。\n我覺得比較有趣的是作者使用的發行版。試想：Steam Deck可以不裝Windows系統，也能跑Windows exe程式嗎？比如說Office 365？WinBoat作者是用Bazzite測試的，這個是專為Steam Deck設計的玩遊戲系統。既然這種immutable distro都能裝了，一般Linux發行版更不用說。\n1. 安裝前置依賴 # 跑WinBoat建議電腦要有8GB RAM，因為要分配給虛擬機至少4GB RAM。再考慮到Windows 11的吃資源程度，分配8GB RAM最為保險。否則用起來會很卡。\n以Ubuntu來說，需要安裝：\n開啟KVM虛擬化，不用安裝Libvirt\n安裝Docker，並將自身加入docker群組\n安裝FreeRDP\nsudo apt install freerdp3-x11 設定開機載入iptables模組 echo -e \u0026#34;ip_tables\\niptable_nat\u0026#34; | sudo tee /etc/modules-load.d/iptables.conf 重開機。 2. 安裝WinBoat # 到Github下載AppImage，點二下執行。如果不能開啟，嘗試安裝.deb或.rpm版本。\n初次開啟，確認已經符合前置條件 選取安裝Windows 11系統，安裝Windows的時候只有英文和簡體中文，稍後可以到系統設定自行下載語言套件改成繁體中文。 設定Windows帳號和密碼，這裡是離線帳號，不用輸入Microsoft帳號 建議分配4核心以上CPU與4GB以上RAM 等待安裝完成。安裝的時候可以在瀏覽器輸入http://127.0.0.1:8006/檢視Windows畫面。 WinBoat安裝後的Windows處於非啟用狀態？需要用Microsoft Activation Scripts啟用。\nWinBoat內部能夠設定Windows的縮放。目前的比例有點太大了，建議維持100%就好。 3. 視窗操作邏輯 # 在Apps列表會看到Windows所有的程式。這個界面也允許你自訂exe啟動捷徑。 預設模式下是一個程式一個視窗，透過FreeRDP控制。中文輸入法不能使用Linux端的，只能用Windows的。 需要完整Windows桌面的，點選「Windows Desktop」就行。在瀏覽器輸入http://127.0.0.1:8006也能透過noVNC登入Windows。在開啟Windows桌面的時候，其餘的RDP視窗會被關閉。 有時候RDP視窗沒有關乾淨，用指令強制殺掉。\nkillall xfreerdp 有時候虛擬機不能從WinBoat的界面關閉，用指令關：\ndocker ps docker stop WinBoat WinBoat建立的Windows虛擬機容器會在Linux開機後跟著Docker自動啟動，可能會佔用一部分宿主機資源。不用的話記得關掉。\n4. 共享資料夾 # WinBoat會自動將Linux家目錄掛載到Windows系統，共享資料夾。\n在Windows檔案總管 → 網路 → host.lan → Data ，可以看到Linux家目錄的檔案，檔案可以直接複製貼上。 當然，你也可以用SSHFS或者SAMBA的方式，與Linux宿主機共享檔案。\n","date":"2025年9月7日","externalUrl":null,"permalink":"/posts/winboat-windows-apps/","section":"所有文章","summary":"今天要分享的軟體叫做WinBoat，它能讓你在Linux執行Windows程式。 要在Linux跑Windows軟體，除了使用Wine以外，最穩定的方法便是透過虛擬機，譬如Virt Manager + QEMU/KVM跑Windows虛擬機。但是透過Virt Manager視窗來操作Windows顯得有些不便，所以有許多開發者提出了透過RDP遠端桌面的方式，讓虛擬機內的程式與Linux桌面更好的整合，讓Windows程式的視窗繪製在Linux桌面上。\n例如在Linux桌面，開啟Microsoft Office視窗。宛如原生應用程式一樣的操作。 類似WinBoat的軟體有WinApps和Cassowary。WinBoat跟WinApps的差別在於，它是在Docker裡面跑Windows 11虛擬機，而非直接透過Libvirt（WinApps允許你選取Docker或Libvirt作為後端，彈性較高，能GPU直通），不過它還是有用到KVM。\nWinBoat界面比較漂亮，設定過程比較直覺，只要裝好Docker與KVM的前置依賴套件，這個圖形程式就會自動幫你建立Windows虛擬機，在虛擬機內部安裝與Linux溝通的伺服器程式winboat_guest_server。並且會自動將Linux家目錄掛載到Windows檔案總管，共享資料夾。\n不過，WinBoat本質上是跑一個Windows虛擬機，目前無法GPU直通，圖形效能低落，只適合跑文書程式。\n","title":"WinBoat使用教學，在Linux無縫執行Windows程式的工具（Docker KVM + FreeRDP）","type":"posts"},{"content":"我想要搞一個類似Nextcloud Calendar的開源行事曆，但又不想安裝繁重的整套服務，故挑了一個輕量的替代方案。\n在同步行事曆方面，行之有年的方案就是CalDAV協定了，基於WebDav協定拓展而來，專門為行事曆設計。這是各大作業系統都支援的東西。只要架設一個託管CalDAV的伺服器，就能用各個裝置的行事曆客戶端同步。 在這裡，負責同步的這套軟體叫做Baïkal（意思為貝加爾湖？），使用PHP寫成，它提供同步CalDAV與CardDAV的功能，可以同步行事曆與聯絡人資料。行事曆可以跨裝置同步，也能分享給其他人讀取。\n1. 撰寫docker-compose # Baïkal的原始碼位於Github。作者沒有做Docker映像，要用第三方打包的。\n安裝Docker\n有些比較嚴格的CalDAV客戶端只接受HTTPS連線，為此你需要為伺服器準備SSL憑證。\n新增一個目錄存放資料\nmkdir ~/baikal cd ~/baikal 新增docker-compose.yml： services: baikal: image: ckulka/baikal:nginx restart: always ports: - \u0026#34;8080:80\u0026#34; volumes: - ./config:/var/www/baikal/config - ./data:/var/www/baikal/Specific 啟動容器 docker compose up -d 開啟http://Linux伺服器IP:8080進入網頁界面，設定admin的密碼。將authentication type設定為Basic，允許以帳號密碼登入。 資料庫選用SQLite\n新增一個使用者，這個使用者的行事曆就是之後要用來同步的。使用者的公開月曆網址是為https://Linux伺服器IP:8080/dav.php/calendars/帳號名稱 如果有必要的話，可以使用內網穿透軟體從外網存取。\n2. 將CalDAV新增到行事曆 # 電腦客戶端 # 以Thunderbird為例，點選行事曆側邊欄 → 開新行事曆 → 存放於網際網路網路，輸入Baikal伺服器的網址（https://Linux伺服器IP:8080/dav.php），以及帳號密碼。隨後Baïkal的行事曆就會顯示在Thunderbird上。 Android # 我使用DAVx⁵負責同步CalDAV。輸入Baikal伺服器的網址（https://Linux伺服器IP:8080/dav.php），以及帳號密碼。 再用Fossify Calendar，開啟設定 → 同步CalDAV，讀取裝置上的CalDAV。\niOS # 使用內建的行事曆就可以了。\n開啟iOS系統設定 → APP → 行事曆，加入CalDAV帳號，輸入Baikal伺服器的網址（https://Linux伺服器IP:8080），以及帳號密碼。\n3. 網頁版CalDav客戶端 # 我希望能有一個網頁的行事曆介面能查看Baïkal的月曆，不依賴任何客戶端，所以額外部署了AgenDAV。\n但不知道為什麼，這個無法登入，可能是需要強制HTTPS？\ndocker-compose如下\nservices: agendav: image: ghcr.io/nagimov/agendav-docker:latest container_name: agendav environment: - AGENDAV_SERVER_NAME=127.0.0.1 - AGENDAV_TITLE=Welcome to Agendav Server - AGENDAV_FOOTER=Hosted on Agendav Server - AGENDAV_CALDAV_SERVER=http://Baiakl伺服器的IP/cal.php - AGENDAV_CALDAV_PUBLIC_URL=http://Baiakl伺服器的IP:8075 - AGENDAV_TIMEZONE=Asia/Taipei - AGENDAV_LANG=en - AGENDAV_LOG_DIR=/tmp/ - AGENDAV_WEEKSTART=1 ports: - \u0026#34;80:8080\u0026#34; ","date":"2025年9月4日","externalUrl":null,"permalink":"/posts/baikal-caldav-server/","section":"所有文章","summary":"我想要搞一個類似Nextcloud Calendar的開源行事曆，但又不想安裝繁重的整套服務，故挑了一個輕量的替代方案。\n在同步行事曆方面，行之有年的方案就是CalDAV協定了，基於WebDav協定拓展而來，專門為行事曆設計。這是各大作業系統都支援的東西。只要架設一個託管CalDAV的伺服器，就能用各個裝置的行事曆客戶端同步。 在這裡，負責同步的這套軟體叫做Baïkal（意思為貝加爾湖？），使用PHP寫成，它提供同步CalDAV與CardDAV的功能，可以同步行事曆與聯絡人資料。行事曆可以跨裝置同步，也能分享給其他人讀取。\n1. 撰寫docker-compose # Baïkal的原始碼位於Github。作者沒有做Docker映像，要用第三方打包的。\n安裝Docker\n有些比較嚴格的CalDAV客戶端只接受HTTPS連線，為此你需要為伺服器準備SSL憑證。\n新增一個目錄存放資料\nmkdir ~/baikal cd ~/baikal 新增docker-compose.yml： services: baikal: image: ckulka/baikal:nginx restart: always ports: - \"8080:80\" volumes: - ./config:/var/www/baikal/config - ./data:/var/www/baikal/Specific 啟動容器 docker compose up -d 開啟http://Linux伺服器IP:8080進入網頁界面，設定admin的密碼。將authentication type設定為Basic，允許以帳號密碼登入。 資料庫選用SQLite\n新增一個使用者，這個使用者的行事曆就是之後要用來同步的。使用者的公開月曆網址是為https://Linux伺服器IP:8080/dav.php/calendars/帳號名稱 ","title":"Baïkal：自架CalDAV行事曆同步伺服器，在Thunderbird、Android、iPhone同步","type":"posts"},{"content":"在找尋Google替代品時，可能有人會聽過Startpage這家荷蘭公司，他們背後是使用Google代理搜尋的服務，但會過濾掉搜尋者訊息後再回傳結果。雖說如此，Startpage的頁面不時會有驗證碼，還會有他們自己的廣告，且Startpage在台灣的回應速度有點慢。\n那麼可不可以自架這類Google代理搜尋引擎呢？元搜尋引擎「Whoogle」由此而生，以Python和Flask寫成。 這個服務界面很簡潔，適合單純想搜尋網頁的用戶使用，它就只會回傳網頁列表而已，像維基百科資訊卡、AI生成的回答、推薦商品等資訊\u0026hellip;\u0026hellip;通通都會消失，或者被大幅簡化！\n使用Whooogle能夠避免被追蹤IP（需要Tor），阻擋廣告，並防止AMP網頁出現。\nWhoogle尚提供自動重新導向社群媒體到隱私前端的功能，例如Youtube連結自動導向到Invidious實例。還可以封鎖特定網域不要出現在搜尋結果，過濾掉討人厭的內容農場！\n跟包含多個搜尋引擎結果的SearXNG比起來，Whoogle就是只針對Google搜尋的代理服務，因為只搜尋一個搜尋引擎的內容，執行速度較快。 畢竟非中國的搜尋引擎，中文搜尋品質也沒有能跟Google較量的吧，沒有必要看Google以外的結果。\n還不想自己架設的，可以先到作者列出的公共Whoogle實例玩看看。\n本文Ivon將探討如何在個人電腦上用Docker跑Whoogle，並且將其整合至瀏覽器搜尋框。Android手機上若熟練使用Termux的話用Python跑也是可以的。\n1. 以Docker安裝Whoogle # 安裝Docker\n新增資料目錄\nmkdir ~/whoogle cd whoogle vim docker-compose.yml 參考Github說明，填入以下內容，部署Whoogle容器，設定開機自動啟動。Whoogle的設定檔透過環境變數控制。 services: whoogle-search: image: benbusby/whoogle-search container_name: whoogle-search restart: unless-stopped pids_limit: 50 mem_limit: 256mb memswap_limit: 256mb user: whoogle security_opt: - no-new-privileges cap_drop: - ALL tmpfs: - /config/:size=10M,uid=927,gid=927,mode=1700 - /var/lib/tor/:size=15M,uid=927,gid=927,mode=1700 - /run/tor/:size=1M,uid=927,gid=927,mode=1700 ports: - 5000:5000 environment: - WHOOGLE_USER= # 啟用基本的網頁登入帳號密碼，不填就任何人都能存取網頁 - WHOOGLE_PASS= - WHOOGLE_CONFIG_SAFE=0 # 關閉安全搜尋 - WHOOGLE_CONFIG_DISABLE=0 # 允許使用者從網頁介面變更設定 - WHOOGLE_CONFIG_NEAR=taipei # 設定最近地區的搜尋結果 - WHOOGLE_CONFIG_COUNTRY=TW # 設定國家 - WHOOGLE_CONFIG_LANGUAGE=lang_zh-TW # 設定介面語言 - WHOOGLE_CONFIG_SEARCH_LANGUAGE=lang_zh-TW # 設定搜尋語言 - WHOOGLE_ALT_YT=https://invidious.nerdvpn.de # 特定網域重新導向，例如Youtube連結自動導向到Invidious實例 - WHOOGLE_CONFIG_BLOCK=pinterest.com # 不想出現在搜尋結果的網域，用逗號分隔 啟動容器 docker compose up -d 開啟瀏覽器，輸入http://localhost:5000或http://伺服器IP:5000開始搜尋。 2. Whoogle與真正的Google搜尋結果比較 # Whoogle的User agent是隨機生成的。\nWhoogle介面有點類似舊版的Google手機版介面，跟原版Google的比起來，搜尋時得到的資訊沒有那麼搶眼了。 再以搜尋「大義覺迷錄」這本書來說，Google和Whoogle的搜尋結果沒有差異，就是Whoogle的界面簡潔了許多，維基百科資訊卡變小，且不能預覽圖片縮圖。 3. 將Whoogle整合至瀏覽器搜尋框 # 大部分瀏覽器都支援自訂搜尋網址的功能，手動加入的網址為：http[s]://whoogle網址/search?q=5s\n以Chromium為例，Whoogle只要有搜尋過一次，就會出現在瀏覽器的設定→搜尋引擎裡面，之後把它啟用，設為預設搜尋引擎就可以了。 Firefox則是在Whoogle首頁，對網址按下右鍵加入Whoogle搜尋引擎。 之後於設定中，設為預設搜尋引擎。 參考資料 # benbusby/whoogle-search: A self-hosted, ad-free, privacy-respecting metasearch engine - Github How to host your own Whoogle instance - BitLaunch ","date":"2025年9月3日","externalUrl":null,"permalink":"/posts/whoogle-setup/","section":"所有文章","summary":"在找尋Google替代品時，可能有人會聽過Startpage這家荷蘭公司，他們背後是使用Google代理搜尋的服務，但會過濾掉搜尋者訊息後再回傳結果。雖說如此，Startpage的頁面不時會有驗證碼，還會有他們自己的廣告，且Startpage在台灣的回應速度有點慢。\n那麼可不可以自架這類Google代理搜尋引擎呢？元搜尋引擎「Whoogle」由此而生，以Python和Flask寫成。 這個服務界面很簡潔，適合單純想搜尋網頁的用戶使用，它就只會回傳網頁列表而已，像維基百科資訊卡、AI生成的回答、推薦商品等資訊……通通都會消失，或者被大幅簡化！\n使用Whooogle能夠避免被追蹤IP（需要Tor），阻擋廣告，並防止AMP網頁出現。\nWhoogle尚提供自動重新導向社群媒體到隱私前端的功能，例如Youtube連結自動導向到Invidious實例。還可以封鎖特定網域不要出現在搜尋結果，過濾掉討人厭的內容農場！\n跟包含多個搜尋引擎結果的SearXNG比起來，Whoogle就是只針對Google搜尋的代理服務，因為只搜尋一個搜尋引擎的內容，執行速度較快。 畢竟非中國的搜尋引擎，中文搜尋品質也沒有能跟Google較量的吧，沒有必要看Google以外的結果。\n還不想自己架設的，可以先到作者列出的公共Whoogle實例玩看看。\n本文Ivon將探討如何在個人電腦上用Docker跑Whoogle，並且將其整合至瀏覽器搜尋框。Android手機上若熟練使用Termux的話用Python跑也是可以的。\n1. 以Docker安裝Whoogle # 安裝Docker\n新增資料目錄\nmkdir ~/whoogle cd whoogle vim docker-compose.yml 參考Github說明，填入以下內容，部署Whoogle容器，設定開機自動啟動。Whoogle的設定檔透過環境變數控制。 services: whoogle-search: image: benbusby/whoogle-search container_name: whoogle-search restart: unless-stopped pids_limit: 50 mem_limit: 256mb memswap_limit: 256mb user: whoogle security_opt: - no-new-privileges cap_drop: - ALL tmpfs: - /config/:size=10M,uid=927,gid=927,mode=1700 - /var/lib/tor/:size=15M,uid=927,gid=927,mode=1700 - /run/tor/:size=1M,uid=927,gid=927,mode=1700 ports: - 5000:5000 environment: - WHOOGLE_USER= # 啟用基本的網頁登入帳號密碼，不填就任何人都能存取網頁 - WHOOGLE_PASS= - WHOOGLE_CONFIG_SAFE=0 # 關閉安全搜尋 - WHOOGLE_CONFIG_DISABLE=0 # 允許使用者從網頁介面變更設定 - WHOOGLE_CONFIG_NEAR=taipei # 設定最近地區的搜尋結果 - WHOOGLE_CONFIG_COUNTRY=TW # 設定國家 - WHOOGLE_CONFIG_LANGUAGE=lang_zh-TW # 設定介面語言 - WHOOGLE_CONFIG_SEARCH_LANGUAGE=lang_zh-TW # 設定搜尋語言 - WHOOGLE_ALT_YT=https://invidious.nerdvpn.de # 特定網域重新導向，例如Youtube連結自動導向到Invidious實例 - WHOOGLE_CONFIG_BLOCK=pinterest.com # 不想出現在搜尋結果的網域，用逗號分隔 啟動容器 docker compose up -d 開啟瀏覽器，輸入http://localhost:5000或http://伺服器IP:5000開始搜尋。 2. Whoogle與真正的Google搜尋結果比較 # Whoogle的User agent是隨機生成的。\n","title":"如何架設「Whoogle」搜尋引擎，代理Google搜尋，防範隱私被Google窺探","type":"posts"},{"content":"","date":"2025年9月3日","externalUrl":null,"permalink":"/tags/augmented-reality/","section":"標籤","summary":"","title":"Augmented Reality","type":"tags"},{"content":"","date":"2025年9月3日","externalUrl":null,"permalink":"/tags/mikumikudance/","section":"標籤","summary":"","title":"MikuMikuDance","type":"tags"},{"content":"","date":"2025年9月3日","externalUrl":null,"permalink":"/tags/mixed-reality/","section":"標籤","summary":"","title":"Mixed Reality","type":"tags"},{"content":"XR Animator是一個支援Linux、Windows、macOS的開源桌寵軟體，可以在桌面放3D模型，讓他與你打招呼。 內建動態捕捉技術，能夠透過電腦鏡頭，讓3D模型跟著你的身體移動，能夠作為實況主直播時候的虛擬形象工具，算是一種廉價版VTuber吧。\n我個人認為，這個軟體可以作為Desktop Mate的Linux版替代品。因為它無法使用Steam Proton轉譯執行，而XR Animator是原生的Electron程式。\n此外，XR Animator提供網頁版，能夠在Android與iOS手機上使用。透過AR技術，讓3D人物出現在真實世界，跟她們互動！\n1. 準備3D模型 # XR Animator的模型支援.pmx與.vrm格式的3D模型。動作檔則是.vmd與.fbx格式。\n要取得模型，最好的來源就是到ニコニ立体下載了。\n模型下載後不需要解壓縮，請維持.zip檔的形式。\n2. 安裝XR Animator # 到Github，依照作業系統下載壓縮檔。\n例如Ubuntu就是將檔案解壓縮之後，使用指令賦予執行權限：\ncd \u0026#34;XR-Animator_v0.30.0_linux-x64/XR Animator - electron-v33.2.0-linux-x64_SA/\u0026#34; chmod +x electron 接著點兩下electron啟動程式。\n3. 基本用法 # 初始啟動的時候，將含有.pmx的.zip檔拖曳進視窗，載入模型。或者直接按Start，載入內建模型。 現在可以跟人物互動了，比如點一下腳部就會跌倒～ 將鏡頭轉到頭部就會給你一個吻。點二下重置鏡頭。右鍵拖曳視窗位置。 點下方的姿勢按鈕能夠切換許多動作～還能將動作儲存起來。 系統匣的選單也有很多光影選項能開，不過這就會額外耗費顯示卡計算資源了，沒有獨顯得別開太高級的光影選項。點選Always on Top將視窗永遠置頂。 4. 設定動作捕捉 # 可以使用攝像頭或者傳入單張照片進行動態捕捉，讓3D人物做出想要的姿勢。\nVRM動作捕捉的資料能夠與其他軟體共享，不過似乎限定Windows系統使用的樣子。\n我這邊只有要用上半身動態捕捉，因此先點一下XR Animator的工具列，按姿勢，調整為上半身動態捕捉。 然後再按一下動態捕捉，設定身體部分 這樣人物就會根據你的臉部表情與手部動作跟著作動了。 5. 在手機上使用網頁版AR # 因為需要用到智慧型手機的AR功能，所以Android手機最好用Chrome，iPhone則是得用Safari。\n用手機打開這個網頁：https://sao.animetheme.com/XR_Animator.html\n載入模型的用法跟電腦版一樣，點一下左上角的手機符號開啟AR模式。 讓鏡頭掃描一下平面，放置人物，二指縮放 現在你能夠跟人物互動了～！小心走太近會撞倒她。 工具列裡面有接球遊戲，至少要站離模型5公尺遠才能玩！ ","date":"2025年9月3日","externalUrl":null,"permalink":"/posts/xr-animator/","section":"所有文章","summary":"XR Animator是一個支援Linux、Windows、macOS的開源桌寵軟體，可以在桌面放3D模型，讓他與你打招呼。 內建動態捕捉技術，能夠透過電腦鏡頭，讓3D模型跟著你的身體移動，能夠作為實況主直播時候的虛擬形象工具，算是一種廉價版VTuber吧。\n我個人認為，這個軟體可以作為Desktop Mate的Linux版替代品。因為它無法使用Steam Proton轉譯執行，而XR Animator是原生的Electron程式。\n此外，XR Animator提供網頁版，能夠在Android與iOS手機上使用。透過AR技術，讓3D人物出現在真實世界，跟她們互動！\n1. 準備3D模型 # XR Animator的模型支援.pmx與.vrm格式的3D模型。動作檔則是.vmd與.fbx格式。\n要取得模型，最好的來源就是到ニコニ立体下載了。\n模型下載後不需要解壓縮，請維持.zip檔的形式。\n2. 安裝XR Animator # 到Github，依照作業系統下載壓縮檔。\n例如Ubuntu就是將檔案解壓縮之後，使用指令賦予執行權限：\ncd \"XR-Animator_v0.30.0_linux-x64/XR Animator - electron-v33.2.0-linux-x64_SA/\" chmod +x electron 接著點兩下electron啟動程式。\n3. 基本用法 # 初始啟動的時候，將含有.pmx的.zip檔拖曳進視窗，載入模型。或者直接按Start，載入內建模型。 ","title":"跨平台桌寵軟體 XR Animator，讓MMD角色在桌面動起來！支援動態捕捉","type":"posts"},{"content":"","date":"2025年9月2日","externalUrl":null,"permalink":"/tags/virtualbox/","section":"標籤","summary":"","title":"VirtualBox","type":"tags"},{"content":"Install Oracle VirtualBox on Ubuntu Linux host.\n注意：這篇文章討論的是在 Ubuntu實體電腦 安裝Linux版的VirtualBox，用以執行Windows虛擬機，並非在Windows系統安裝Ubuntu虛擬機。\n「VirtualBox」為Oracle開發的開源免費虛擬機軟體，可以讓我們在Linux輕鬆體驗各式各樣的作業系統，例如跑Windows、Android-x86、macOS、Linux、FreeBSD等系統。 Oracle還開發了一組Guest Additions工具，讓我們方便跟虛擬機共享檔案。\n本文Ivon專注討論如何在Linux系統的電腦安裝VirtualBox，以及Guest Additions使用技巧。 VirtualBox與QEMU/KVM的差別？ # VirtualBox跟另一款流行的虛擬機軟體Virt Manager ＋ QEMU/KVM功能很類似，二者都是開源免費的軟體。QEMU/KVM主要是由RedHat維護的軟體，利用Linux核心的KVM技術跑虛擬機。 Linux的Virt Manager QEMU/KVM管理界面\n至於VirtualBox為Oracle維護。VirtualBox優勢為跨平台，不論是在Linux、Windows、macOS、FreeBSD、Solaris都可以用，不像QEMU/KVM僅限於Linux。還有VirtualBox界面比較好上手，你可以把Windows上的使用經驗直接複製過來。 Linux版VirtualBox界面跟Windows版一模一樣\n不過，VirtualBox缺乏QEMU/KVM的GPU直通（GPU Passthrough）的能力，也沒辦法模擬異質架構（如x86模擬ARM），靈活性較低。\n此外，VirtualBox 使用自身的虛擬化技術（Type 2 HyperVisor），而非Linux的KVM（Type 1 HyperVisor），執行時需要載入vboxdrv核心模組，所以執行效能較QEMU/KVM差些。還有你不可以同時跑VirtualBox與QEMU/KVM虛擬機，二者會打架。\nVirtualBox在7.0版本加入了KVM後端的實驗性支援，這樣就不會發生VirtualBox無法跟QEMU/KVM一起執行的問題。不過這個功能目前需要手動編譯才能啟用。參見KVM Backend for VirtualBox\n1. VirtualBox硬體需求 # 執行VirtualBox前，你需要一台x86_64架構的Linux電腦。CPU是Intel或AMD都可以。\n在UEFI開啟CPU的VT-x虛擬化加速技術。\n接著用以下指令確認CPU是否已開啟VT-X加速，回傳值不應為0。\nsudo grep -E -c \u0026#39;(vmx|svm)\u0026#39; /proc/cpuinfo VirtualBox 7.0尚無法跟KVM一起使用，因此每次Linux重開機後要暫時卸除kvm核心模組，才能啟動VirtualBox虛擬機，否則會出現Can't operate in VMX root mode錯誤： sudo rmmod kvm_intel 2. 安裝Linux版VirtualBox套件 # VirtualBox支援各大Linux發行版，包含Ubuntu、Fedora、openSUSE、Arch Linux、Gentoo。請按照官網指示安裝VirtualBox。\n以Ubuntu LTS為例，你可以直接下載對應Ubuntu版本的.deb檔安裝，但這樣未來不會自動收到更新。推薦加入VirtualBox的APT套件庫。\n根據VirtualBox官網指示，開啟終端機，新增VirtualBox的APT套件庫。lsb_release指令會自動取得發行版版本代號，例如我現在是Ubuntu 24.04，回傳的值就會是noble。 echo \u0026#34;deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib\u0026#34; | \\ sudo tee /etc/apt/sources.list.d/virtualbox.list 取得VirtualBox套件庫的GPG金鑰 sudo apt install gnupg2 wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg --dearmor sudo apt update 搜尋可用的VirtualBox套件版本，例如目前最新版本為7.2 sudo apt search virtualbox sudo apt install virtualbox-7.2 將自己加入vboxusers群組 sudo usermod -a -G vboxusers $USER 重開機。\n確認vboxdrv核心模組是否有載入\nsudo lsmod | grep vboxdrv 確認VirtualBox版本 vboxmanage --version 3. 如何安裝虛擬機系統 # 市面上作業系統繁多，無法一概而論，但安裝方式不外乎就是：\n從應用程式列表開啟VirtualBox\n下載你要安裝系統的ISO\n新增VirtualBox虛擬機，按照畫面指示設定，需要的話記得啟用EFI。將系統ISO掛接為CDROM，開機安裝。\n4. 在虛擬機裡安裝VirtualBox Guest Additions # 「VirtualBox Guest Additions」是一套跑在虛擬機內的程式，讓宿主機與虛擬機之間能夠共享剪貼簿、共享資料夾、自動縮放視窗、啟用部份3D加速。\n官方尚有提供一個採用專有軟體授權的VirtualBox Extension Pack，能夠增進虛擬機功能。\n虛擬機內的Guest Additions版本最好跟宿主機VirtualBox版本保持一致。\nVirtualBox官網沒有提供載點，你得在啟動虛擬機之後才可以從VirtualBox介面下載，並以CDROM掛接給虛擬機存取。\nWindows虛擬機 # Guest Addition需要Windows XP以上系統。\n啟動Windows虛擬機，進入桌面\n點選VirtualBox選單，裝置 → 插入Guest Addition映像\n之後虛擬機內的Windows系統應該會多出CDROM光碟\n開啟光碟，以系統管理員身份執行VBoxWindowsAdditions.exe。\n將虛擬機重開機\nLinux虛擬機 # 許多Linux發行版都有收Guest Addition套件，不過還是手動安裝Oracle釋出的版本比較好。\n以Ubuntu虛擬機為例，啟動虛擬機，進入Ubuntu桌面\n點選VirtualBox選單，裝置 → 插入Guest Addition映像 之後虛擬機內的Linux系統應該會多出CDROM裝置。在虛擬機內部開啟終端機，切換到CDROM目錄\n# CDROM通常是掛載到/media或/run/media ls /media cd /media/user/VBox_GAs_7.0.18 執行安裝檔，使用DKMS安裝Guest Additions。這樣它會在Linux虛擬機核心更新的時候自動更新。 sudo apt update sudo apt install build-essential dkms sudo ./VBoxLinuxAdditions.run #輸入yes開始安裝 重新啟動虛擬機\n使用以下指令確認是否載入Guest Addition\nlsmod | grep vboxguest 參考資料 # Documentation – Oracle VM VirtualBox\n","date":"2025年9月2日","externalUrl":null,"permalink":"/posts/linux-install-virtualbox/","section":"所有文章","summary":"Install Oracle VirtualBox on Ubuntu Linux host.\n注意：這篇文章討論的是在 Ubuntu實體電腦 安裝Linux版的VirtualBox，用以執行Windows虛擬機，並非在Windows系統安裝Ubuntu虛擬機。\n「VirtualBox」為Oracle開發的開源免費虛擬機軟體，可以讓我們在Linux輕鬆體驗各式各樣的作業系統，例如跑Windows、Android-x86、macOS、Linux、FreeBSD等系統。 Oracle還開發了一組Guest Additions工具，讓我們方便跟虛擬機共享檔案。\n本文Ivon專注討論如何在Linux系統的電腦安裝VirtualBox，以及Guest Additions使用技巧。 VirtualBox與QEMU/KVM的差別？ # VirtualBox跟另一款流行的虛擬機軟體Virt Manager ＋ QEMU/KVM功能很類似，二者都是開源免費的軟體。QEMU/KVM主要是由RedHat維護的軟體，利用Linux核心的KVM技術跑虛擬機。 Linux的Virt Manager QEMU/KVM管理界面\n至於VirtualBox為Oracle維護。VirtualBox優勢為跨平台，不論是在Linux、Windows、macOS、FreeBSD、Solaris都可以用，不像QEMU/KVM僅限於Linux。還有VirtualBox界面比較好上手，你可以把Windows上的使用經驗直接複製過來。 Linux版VirtualBox界面跟Windows版一模一樣\n","title":"如何在Ubuntu系統安裝Oracle VirtualBox軟體，跑Windows虛擬機","type":"posts"},{"content":"什麼都要管的systemd居然還可以生成容器！systemd-nspawn是Linux系統內建的一個功能，透過這個工具，能夠生成多個Linux容器，在隔離的環境中執行程式。\n使用範例：在Ubuntu系統跑Debian容器 1. systemd-nspawn特色 # systemd-nspawn意思名為systemd namespace spawn。\n講到容器化，Linux系統最古早的技術就是使用chroot指令進入一個隔離的環境了。從設計上來說，systemd-nspawn比chroot更好，透過隔離namespace與IPC提供更高安全性。所以systemd-nspawn可以說是chroot的威力加強版（Arch Wiki說systemd-nspawn是「打了類固醇的chroot」XD），它讓容器能夠作為一個系統服務控制，隨時被使用者啟動與停止。\n在容器內部，依然能夠使用systemctl指令控制服務，這是Docker難以做到的技術。這表示一旦將容器設定為跟著Linux啟動，它就會跟著Systemd的規則執行。\n既然提到容器，就會需要rootfs。雖然systemd-nspawn相容OCI標準，但是它不能直接拿Docker映像檔部署系統，且幾乎沒有人在維護systemd-nspawn映像檔，只能靠debootstrap這類工具產生。\nsystemd-nspawn沒有Docker生態系的工具鏈完整，很難用來分發應用程式。它的功能就侷限於產生一個暫時性的容器而已。\n論將容器與Systemd服務整合，Podman Quadlets的方案也比systemd-nspawn靈活吧。\n還有systemd-nspawn最大缺點就是依賴Systemd，沒有chroot的移植性好。chroot能在傳統Sysvinit的Linux發行版正常使用，甚至能搭配BusyBox在root過的Android執行。\n因此systemd-nspawn可以看作是Docker以外的輕量替代品。與systemd-nspawn定位最類似的技術應該是LXC。\n2. 前置條件 # 雖然systemd-nspawn是Systemd內建功能，不過有些條件需要滿足。儘量使用搭載最新版Systemd的發行版，我在Ubuntu 24.04與Fedora 42測試過，都能正常使用，惟部分細節行為不太一樣。\n要使用systemd-nspawn功能，部份發行版可能需要額外安裝套件\nsudo apt install systemd-container 接著，確保宿主機已經啟用systemd-networkd與systemd-resolved服務，爾後容器才能連上網。 sudo systemctl enable --now systemd-networkd sudo systemctl enable --now systemd-resolved 3. 準備rootfs，以Debian容器為例 # 要使用Linux發行版容器，就需要用工具產生rootfs，例如Debian使用debootstrap，Arch Linux配pacbootstrap，Fedora配DNF等等。還有人分享過用docker export解開映像檔當作rootfs的玩法，暫且不提。\n假設我們要建立一個Debian的容器，就得先在宿主機安裝debootstrap：\nsudo apt install debootstrap 建立Debian Stable的rootfs，選取目前的Stable分支（撰文當下是Debian 13），容器建議放在/var/lib/machines/ sudo debootstrap --include=systemd,dbus stable /var/lib/machines/debian 4. 以systemd-nspawn指令進入容器 # 第一次登入容器內部，以root身分登入。systemd-nspawn預設是以privileged容器執行的。 sudo systemd-nspawn -D /var/lib/machines/debian -U --machine debian 必須先修改Root密碼 passwd root 確保容器內有網路 systemctl enable --now systemd-networkd.service 然後登出。 exit 進入容器後快速按三下Ctrl + ]退出登入介面。 5. 使用machinectl控制容器 # 幾種啟動systemd-nspawn容器方式：\nsudo systemctl start systemd-nspawn@debian sudo machinectl start debian sudo systemd-nspawn \u0026ndash;boot -U -D /var/lib/machines/debian 撰寫.nspawn設定檔，再透過machinectl啟動容器 systemd-nspawn可看作是一次性登入的指令。使用--boot參數非必要，但只有使用這個參數的時候，讓Systemd成為PID 1，才能夠在容器裡面使用systemctl指令。\n其中machinectl是在容器開機之後才能使用的指令，根據官方文件，推薦使用這個來控制容器。\n可以用machinectl或systemctl停止容器\n用systemctl enable設定開機自動啟動容器。\n容器啟動之後要用machinectl login才能重新進入終端機\n6. 撰寫.nspawn容器設定檔 # 針對個別容器，能夠以.nspawn作結尾的檔案定義其行為。這個檔案語法與Systemd Service Unit一樣。\n例如新增/etc/systemd/nspawn/debian.nspawn檔案。在這個檔案裡面能夠定義Debian容器掛載的目錄以及網路設定，就不需要打落落長的systemd-nspawn指令登入了。\n在寫好設定檔之後，重新載入設定：sudo systemctl daemon-reload\n可以直接用sudo machinectl start debian啟動容器，並用sudo machinectl login debian登入。\n7. 容器對外網路設定 # systemd-nspawn容器預設應該是使用host mode，會吃到宿主機的防火牆規則，能看到宿主機所有網路界面。\n/etc/resolv.conf會直接沿用，所以宿主機有開啟systemd-resolved的話，容器內的這個檔案就會被覆蓋。\n我們可以在設定檔/etc/systemd/nspawn/debian.nspawn裡面停用此選項，確保容器能直接使用宿主機網路：\n[Network] VirtualEthernet=no 如果要隔離容器網路，需要設定Private Network Mode。這個模式下，容器內部的網路會被隔離，/etc/resolv.conf將不受宿主機影響。要存取容器內部的服務，需要做通訊埠映射。\n執行參數是--network-veth，也就是隔離網路模式--private-network。它會在容器啟動之後建立一個ve開頭的虛擬網路介面。\n在設定檔/etc/systemd/nspawn/debian.nspawn裡面啟用此選項，確保容器會建立虛擬網路介面：\n[Network] VirtualEthernet=yes 註解：正常來說systemd-nspawn應該是host mode優先才對？我在Fedora 42建立容器能夠直接連上網路。但我在Ubuntu 24.04測試，發現它預設會在容器啟動後建立一個虛擬網路介面。\nsystemd-nspawn尚支援使用橋接網路或macvlan。\n8. 執行圖形程式 # 讓容器內的X11程式能顯示在宿主機桌面上。至於純Wayland程式\u0026hellip;？啊哈哈不清楚。\n先用Xephyr生成一個巢狀X11桌面的視窗，DISPLAY環境變數設定為:10 sudo apt install xserver-xephyr Xephyr -br -ac -noreset -screen 1280x720 :10 宿主機需要使用xhost指令允許其他X客戶端在目前的桌面開啟視窗。即使宿主機是Wayland桌面，也能用XWayland相容。 xhost +local: 編輯設定檔/etc/systemd/nspawn/debian.nspawn，設定啟動容器的時候指定DISPLAY的環境變數，並且掛載/dev/dri到容器內部（僅限Intel與AMD顯示卡，Nvidia需要掛載更多）啟用圖形加速。再掛載PulseAudio，讓它能夠發出音效。 [Exec] Boot=yes Environment=DISPLAY=:10 [Files] BindReadOnly=/tmp/.X11-unix/ BindReadOnly=/home/宿主機使用者名稱/.Xauthority Bind=/dev/dri Bind=/run/user/1000/pulse:/run/user/1000/pulse 執行圖形程式前需要在Debian容器內部新增一個使用者，不能使用root。 useradd -m -g users -G wheel,audio,video,storage -s /bin/bash user passwd user visudo su user 在容器裡面啟動程式 export DISPLAY=:10 export PULSE_SERVER=unix:/run/user/1000/pulse/ firefox-esr 參考資料 # systemd-nspawn - Debian Wiki systemd-nspawn - Arch Wiki A whirlwind tour of systemd-nspawn containers - quantum5 在 systemd-nspawn 上運行 Steam - YHNdnzj\u0026rsquo;s Blog ","date":"2025年9月2日","externalUrl":null,"permalink":"/posts/systemd-nspawn-container/","section":"所有文章","summary":"什麼都要管的systemd居然還可以生成容器！systemd-nspawn是Linux系統內建的一個功能，透過這個工具，能夠生成多個Linux容器，在隔離的環境中執行程式。\n使用範例：在Ubuntu系統跑Debian容器 1. systemd-nspawn特色 # systemd-nspawn意思名為systemd namespace spawn。\n講到容器化，Linux系統最古早的技術就是使用chroot指令進入一個隔離的環境了。從設計上來說，systemd-nspawn比chroot更好，透過隔離namespace與IPC提供更高安全性。所以systemd-nspawn可以說是chroot的威力加強版（Arch Wiki說systemd-nspawn是「打了類固醇的chroot」XD），它讓容器能夠作為一個系統服務控制，隨時被使用者啟動與停止。\n在容器內部，依然能夠使用systemctl指令控制服務，這是Docker難以做到的技術。這表示一旦將容器設定為跟著Linux啟動，它就會跟著Systemd的規則執行。\n既然提到容器，就會需要rootfs。雖然systemd-nspawn相容OCI標準，但是它不能直接拿Docker映像檔部署系統，且幾乎沒有人在維護systemd-nspawn映像檔，只能靠debootstrap這類工具產生。\n","title":"使用systemd-nspawn取代chroot，建立輕量Debian容器","type":"posts"},{"content":"","date":"2025年8月30日","externalUrl":null,"permalink":"/tags/edifier/","section":"標籤","summary":"","title":"Edifier","type":"tags"},{"content":"想換個新喇叭，可是考慮到音響的坑很大又沒錢，所以我只好在玩法上下點功夫，經過比價後，選了一個便宜又能夠耍花式雜技的喇叭：「EDIFIER R19BT」寫個簡單的評價。 十年沒換電腦喇叭，覺得是時候跟用了好幾年的「SANLUX SYSP-6711U」說再見了，電源供電開始不穩，無法開機了。背後寫2016年生產，字面意義上用了快10年，且幾乎沒有關機過。雖然這只是一個低價不到500元的普通喇叭，卻承載了許多情懷。從通宵打艦隊Collection活動聽的進擊的巨人OST Vogel im Käfig，到少女終末旅行的OST。這個喇叭都負責把這些情感呈現出來。在物色下一個喇叭的時候我得多花一點錢了。 原本想買Edifier MR4的說，有監聽喇叭的素質，可是覺得桌面太小放不下就算了。\n1. R19BT特色 # R19BT為2021年上市的喇叭，是前代R19U的小改款，加入了藍牙5.3連線功能。台灣定價1,390元。\n外箱用簡單紙盒包裝。 據一些知乎大佬的評價，這是一款高CP值的電腦喇叭，雖然是低階產品還是在設計上做了點功夫。首先，它是木製音箱，降低共鳴。然後還加入了微微往後傾斜的角度，讓喇叭放在桌面的時候能更好地將聲音傳達到聽者面前。此外作為2.75英吋全音域喇叭，加入了倒相孔，增加低音表現。\n這張並沒有拍歪，這個喇叭音箱確實是傾斜的。 我喜歡泛用性產品，不論是無線有線兩用的鍵盤滑鼠，還是藍牙有線兩用的耳機，都要買買看。我前幾個月已經買過「INTOPIC SP-HM-BT255」這個單聲道的藍牙+3.5mm兩用的音箱，只能說音質普普。雖然我這個藍牙音箱支援3.5mm輸入，但輸出就會變成有一個聲道消失，很是困擾，好像只有藍牙模式才會自動合併聲道？\n現在來看看R19BT怎麼樣。\n這個喇叭提供多種連接界面，前後都有AUX。\nR19BT左右兩個音箱用後部的一條音源線連接，主要依靠右邊的音箱控制。 最主要連接電腦的界面是USB-A，內建DAC。只要插上電腦，就有電源兼輸出的效果，不需要額外接上3.5mm耳機孔。我的Debian Linux PC可以認到這個喇叭。 我覺得，用USB-A供電兼輸出的設計，在Linux的GPU直通給Windows QEMU/KVM虛擬機的時候能夠方便分配音效裝置，因為只要將特定USB裝置直通進去就好了嘛。\n使用USB-A音效卡輸出可以迴避掉3.5mm的電流雜音問題。\n實際聽下來，雖說R19BT還沒有到低音砲的力度，不過用來壓iPad Air 6喇叭的外放還是綽綽有餘的。\n因著重音與解析的提升，加上倒相孔，這個新喇叭用來欣賞Pink Floyd和Radiohead的神奇音效作品很合適，很多以前聽不到的音效現在都跑出來了。\n舉例：Pink Floyd - Echoes 至於看電影嘛，不要整部太安靜的話，音效體驗勉強還行。\n2. 多功能玩法 # 預設模式閃紅燈，是電腦喇叭模式，電腦可以直接透過USB-A輸出，不用去插電腦主機板後面的耳機孔。如果這個時候將耳機插到音箱前面的耳機孔，就會改為從耳機孔輸出音樂。 按下音箱旁邊的按鈕，變成閃藍燈，此時就會成為藍牙喇叭模式，可以被其他手機探索到。R19BT的編碼僅支援SBC，沒有AAC。不過這沒有關係，如果我們切換回紅燈模式，設定Linux PipeWire的藍牙接收器模式，搭配電腦上的Qualcomm的藍牙晶片，就有aptX串流音質可以選啦～ 再按一次，閃綠燈，就會變成AUX輸入模式，可以從音箱後部的音源線輸入音樂。比如，無縫切換為手機外接喇叭～這個時候手機有耳機孔便是很重要的事情呢，像是這個搭配Sony Xperia 1 III的用例。為了方便切換，我都是將音源線垂在音箱後面，方便隨時拿手機接起來。 3. 覺得滿意麼？ # 這不是好事，我開始聽得出音響的好壞了，只要價格每加500，音質就會慢慢上升一步。前幾個月還認為八百元的INTOPIC SP-HM-BT255藍牙音箱比四百元的舊電腦喇叭SANLUX SYSP-6711U好聽，有重音ㄟ，原本的聲音未免太平淡。\n然後來了一千五的Edifier R19BT，徹底被比下去了，怎麼以前聽的音樂出現了好多細節，以前聽的喇叭到底是怎麼回事，還有為什麼那麼多人願意花貴森森的錢買單聲道的藍牙音箱！？\n總之，如果見過陽光，就會陷入無盡的追求。\n","date":"2025年8月30日","externalUrl":null,"permalink":"/posts/edifier-r19-bt-review/","section":"Unboxings","summary":"想換個新喇叭，可是考慮到音響的坑很大又沒錢，所以我只好在玩法上下點功夫，經過比價後，選了一個便宜又能夠耍花式雜技的喇叭：「EDIFIER R19BT」寫個簡單的評價。 十年沒換電腦喇叭，覺得是時候跟用了好幾年的「SANLUX SYSP-6711U」說再見了，電源供電開始不穩，無法開機了。背後寫2016年生產，字面意義上用了快10年，且幾乎沒有關機過。雖然這只是一個低價不到500元的普通喇叭，卻承載了許多情懷。從通宵打艦隊Collection活動聽的進擊的巨人OST Vogel im Käfig，到少女終末旅行的OST。這個喇叭都負責把這些情感呈現出來。在物色下一個喇叭的時候我得多花一點錢了。 原本想買Edifier MR4的說，有監聽喇叭的素質，可是覺得桌面太小放不下就算了。\n1. R19BT特色 # R19BT為2021年上市的喇叭，是前代R19U的小改款，加入了藍牙5.3連線功能。台灣定價1,390元。\n外箱用簡單紙盒包裝。 據一些知乎大佬的評價，這是一款高CP值的電腦喇叭，雖然是低階產品還是在設計上做了點功夫。首先，它是木製音箱，降低共鳴。然後還加入了微微往後傾斜的角度，讓喇叭放在桌面的時候能更好地將聲音傳達到聽者面前。此外作為2.75英吋全音域喇叭，加入了倒相孔，增加低音表現。\n","title":"Edifier R19BT開箱，千元多功能電腦桌面喇叭，支援藍牙與3.5mm輸出","type":"unboxing"},{"content":"","date":"2025年8月28日","externalUrl":null,"permalink":"/ja-jp/tags/gnome/","section":"Tags","summary":"","title":"GNOME","type":"tags"},{"content":"","date":"2025年8月28日","externalUrl":null,"permalink":"/ja-jp/tags/snap/","section":"Tags","summary":"","title":"Snap","type":"tags"},{"content":" この記事ではIvonが、自分なりのUbuntuとLinux Mintの比較を共有する。\n執筆時点のバージョン：\nUbuntu 24.04 LTS Linux Mint 22 なぜあなたはLinux Mintを選ぶべきなのか。Ubuntuよりどこがよいのか？最近Mintを使ってみてようやく理解した。これこそLinuxデスクトップが本来なるべき姿だ。Linux Mintの第一印象は、このディストリビューションがデスクトップユーザーをより重視しているというものだった。 1. Linux MintはUbuntuデスクトップが本来なるべき姿 # Ubuntuの開発は2004年に始まり、元Debian貢献者Mark Shuttleworthが設立したCanonical社が開発を担当している。一方Linux Mintは2006年から始まり、ボランティア開発者の一群によって維持されており、会社は設立していない。\n今日まで二つのディストリビューションは更新され続けている。しかし、Ubuntuのデスクトップ、特にGNOMEは、本当にどんどん使いやすくなっているのか？Ubuntuはかつて「Linux for Human Beings」を自称していたが、なぜLinux Mintのデスクトップのほうが、むしろLinuxデスクトップがなるべき人間的な姿に近いのだろうか？\nUbuntuデスクトップ Linux Mintデスクトップ 二十年前、当時の時代背景において、Ubuntuシステムは初心者に最も優しいLinuxディストリビューションの一つと言えた。開封即用で、大量のコマンドを打たずにインストールが完了し、しかも無料で入手できた！\nCanonical社は過去、長い間赤字が黒字を上回っていた。当時彼らはまだ小さな会社で、規模はRedHatよりずっと小さかったが、それでも情熱的にUbuntuシステムを広めていた。イギリス本社へ手紙を送るだけで、インストールCDを郵送してくれたほどだ。\n旧版UbuntuインストールCD。システムlogoの意味は、一群の人が手をつないで輪になっていること。 Ubuntuは最初、GNOME 2をデスクトップ環境として使っており、システムには多くの便利なグラフィカルツールが内蔵され、ユーザーのシステム管理を助けていた。Ubuntu 14.04の頃、Canonicalは自社開発のUnityデスクトップ環境を出し、GNOME 2を置き換え、自社のUbuntu touchのスマホインターフェースへも延伸し、クロスプラットフォームの統一インターフェースを作ろうとした。当時Waylandが出たばかりで、X11プロトコルを置き換えようとしていた。Canonicalは先手を取りたかったのかもしれず、WaylandプロトコルのforkであるMirまで作った。さらにクロスプラットフォームパッケージの問題を解決するため、Snapを出した。その野心の大きさが見て取れる。\nなぜUbuntuのデフォルトのタスクバーは左側にあるのか？この設計はUnity時代に現れ、今まで続いている。\nしかし、Ubuntuが過去に持っていたLinuxデスクトップ普及の使命感（約2008年 ~ 2018年）は、徐々に消えたように見える。今では企業とサーバーユーザーだけを気にするようになった。そのことは公式サイトのデザインからも見て取れる。 ここでUbuntuがもうLinuxデスクトップの開発に貢献していないと言っているわけではない。ただ、彼らの改善幅は他のLinuxディストリビューションほどよくないように見える。多くの後発が開発したデスクトップは、親切さの面でUbuntuを超えている。\nUbuntu 17.04の頃、Canonicalは自社開発のUnityデスクトップを自ら放棄し、企業市場の主流に迎合してGNOMEへ戻した。おそらくこの決定こそが、自身の運命の方向を定めたのだろう。\nもちろん、これには客層の考慮がある。Ubuntuはデスクトップ版とサーバー版を同時に提供している。つまり各種市場を食べなければならない。後者のほうが明らかに収益をもたらせる。会社は金を稼ぐ必要があるからだ。そしてユーザーの印象に最も影響するGNOMEデスクトップは、企業主流ではあるが、制御権はCanonicalの手中にはなく、各大企業と世界中の開発者が維持するオープンソースプロジェクトである。そのため彼らはGNOMEチームの未来の方向についていくしかなく、設計方向はGNOMEに制約される。\n今日に至り、UbuntuのGNOMEデスクトップ設計は他のLinuxディストリビューションが提供するバージョンと大きく変わらない。しかしCanonicalは依然として自社のGNOMEデスクトップにいくつかpatchを当て、インターフェースを少し「親切」にしている。\n次にLinux Mintについて話そう。開発チームは昔から今までデスクトップ版の維持にのみ集中しており、自分たちが望むデスクトップを選べる。ここで一つ触れておくと、下図のCinnamonnとMateデスクトップは、どちらもちょうどGNOME 3が気に食わなかった開発者が自分たちで開発を続けたデスクトップであり、伝統的なデスクトップ設計を継続しようとしている！ Linux MintとUbuntuの関係は比較的遠い。Kubuntu、Xubuntu、LubuntuのようなUbuntu公式flavorの一つではなく、Ubuntuのパッケージリポジトリを使っているだけだ。したがってLinux Mint開発チームの意思決定はCanonical社の影響を受けず、コミュニティユーザーの合意を主とし、ユーザーが使いやすいと感じるかどうかをより重視する。\nこの点はDebianの運営モデルに比較的近い。ただしLinux Mintはさらにデスクトップユーザー向けに最適化された設計考慮を加えている。つまり、ユーザーのためにグラフィカルインターフェースであらゆる作業を処理しておき、大量のあれこれをインストールするためにコマンドを打たなくてよいようにしている。\n2. 安定した更新モデル、Ubuntuエコシステムとの互換性 # Linux Mintは安定更新モデルを採用しており、Ubuntuのように通常版とLTSという二つの更新チャネルに分かれていない。Linux Mintはおよそ二年ごとに一つのメジャーバージョン更新をリリースし、各システムバージョンは5年以上の更新サポートを提供する。安定利用路線を主軸とし、デスクトップ操作設計は十年来ほとんど変わっていない。ユーザーは開発者の変更に頻繁に苦しめられない。\nLinux Mint各バージョンのサポート周期 ソフトウェアエコシステム問題については、Linux MintとUbuntuを完全に無関係な二つのシステムとして扱う必要は実はない。むしろ、彼らは互いに影響し合う。\nLinux MintはUbuntuを基に開発され、UbuntuはDebianを基に開発されている。そのためDebianはここで彼らの上流の役割を担い、上流で開発されたものは最終的に下流へ流れ、ユーザーの前に現れる。これらのディストリビューションの間には大きな類似点があり、その中で最も重要なのは、いずれも.debパッケージ形式を使い、巨大なソフトウェア資源を共有できることだ。\n2025年時点で、Debian上流のリポジトリには合計64961個のパッケージがあり、各ソフトウェアの中国語翻訳ファイルも含まれる。これら世界中の開発者からの貢献により、下流のUbuntuやLinux Mintなど多くのディストリビューションが共に恩恵を受けられる。\nつまり、Ubuntu向けに用意されたチュートリアル資源の多くはLinux Mintにも適用できる。バージョンが合っていれば大半は通る。たとえばLinux Mint 22はUbuntu 24.04を基に開発されているため、Ubuntu 24.04向けに書かれたチュートリアルは多くの場合Linux Mint 22にも適用できる。\nさらに、Linux Mintは公式チュートリアル文書を維持している：Linux Mint User Guide。自前の掲示板も運営している：Linux Mint Forums。コミュニティ資源は豊富だ。\nLinux Mintのグラフィカルインターフェース操作はUbuntuと違うが、底層コンポーネントは共通している。この点を深く理解するには、あなたももっとdistro-hoppingしないと私の言っていることは分からないかもしれない。さらに重要なのは、Linux Mintがグラフィカルインターフェースの面でUbuntuよりよく、より直感的で、ソフトウェアのインストールをグラフィカルインターフェースで解決できる一方、Debian/Ubuntuエコシステムとの互換性を保っていることだ。Linux MintはUbuntuのパッケージリポジトリを採用しているため、Ubuntu向けに構築された.debパッケージは多くの場合Linux Mintにもインストールでき、依存関係問題に遭遇することは少ない。\n続いてSnap争議について話そう。\n2016年、Canonical社はUbuntuシステムのメンテナンスコストを下げるため、自社のソフトウェアパッケージ形式Snapを出した。各ディストリビューションのソフトウェアインストールパッケージ断片化問題を統一し、異なるバージョンごとに.debパッケージを作る必要をなくしたいと考えたのだ。しかしSnapは起動速度が遅く、グラフィカルプログラムのbugが多く、さらにSnapソフトウェアをダウンロードする経路であるSnap StoreがCanonicalに独占されているため、このパッケージ形式はオープンソースコミュニティから好まれていない。それでもCanonicalはSnapパッケージの推進に固執し、新版UbuntuシステムにSnapパッケージを強制インストールし、一部の.debパッケージをこっそりSnapへ置き換えた。\nUbuntu 22.04で全公式flavorへSnapを強制的に詰め込んだとき、Linux Mint開発チームは評価の結果、追随しないことを決めた。APTで.debパッケージを管理する方式を維持し、オープンソースコミュニティでより好まれるFlatpakをソフトウェア補充源として選んだ。\nLinux Mint公式サイトによるSnapパッケージへの批判、全文はこちら：Snap Store — Linux Mint User Guide documentation 最もchadなところは、Linux MintのソフトウェアストアがAPTとFlatpakをサポートしているのに、Snapだけはないことだ！\nLinux Mintは商業利益よりも、オープンソースコミュニティの価値を重視する。Linux Mint開発チームは現在も主にUbuntuを基に開発しているが、Debianを基に構築した「LMDE - Linux Mint Debian Edition」イメージも、道徳的潔癖のあるユーザー向けに提供している。同時に、将来Ubuntu背後の会社の意思決定によってLinux Mintの開発作業が影響を受ける場合に備え、コミュニティの後路も残している。\n3. 使い始めやすいグラフィカルインターフェース # Linux Mintで最も重要なのはグラフィカルインターフェースであり、デスクトップ環境には主流のGNOMEやKDE Plasmaではなく、安定性を考慮してCinnamonを選んでいる。\nCinnamon以外にも、Linux MintはXFCEとMateデスクトップを内蔵したISOを提供している。ここから観察できるのは、Linux Mint開発チームが選んでいるのはいずれも更新が比較的「保守的」なデスクトップ環境であり、数十年にわたってほとんど変化していないため、大半は非常に安定しているということだ！GNOMEやKDE Plasmaのように、いつもshiny new stuffを追いかけ、今最も流行っている「Waylandプロトコルへの移行」のようなものに向かい、あれこれ新機能を入れながら、ユーザーに新しいデスクトップ設計へ適応し直すことを強要し、尽きないbugに耐えさせるものとは違う。\nCinnamonnとMateデスクトップは、ちょうどGNOME 3が気に食わなかった一群の開発者が別に開発したデスクトップで、伝統的なコンピューターデスクトップ設計を継続しようとしている！XFCEのインターフェースについては、20年来ほとんど変わっていない。\nGNOMEがユーザーを馬鹿扱いし、反人類的デザインを広めている状況、そしてKDE Plasmaが肥大化しすぎてクラッシュしやすく、開発者が維持しにくい状況において、Linux MintのCinnamonデスクトップは一筋の清流と言える。\nCinnamonは軽量デスクトップ環境で、最初はGNOME 3デスクトップを基に開発された拡張セットだった。後にGNOMEチームの設計が奇をてらった方向へ進んだため、Cinnamonは独立したプロジェクトになった。CinnamonはGNOME 2旧時代のデスクトップ設計を保っており、GNOME 3ほど変化が激進的ではない。\nCinnamonデスクトップはGNOMEよりユーザーが使い始めやすい。特にWindows 7時代のインターフェースに慣れたユーザーにはそうだ。Windowsに似たインターフェースと言えば、KDE Plasmaも思い出すだろう。しかしCinnamonにはKDE Plasmaのコンポーネントほど肥大で複雑なものがなく、あまりクラッシュしない。\nCinnamonデスクトップはGNOMEより直感的で、多くの設定をグラフィカルインターフェースで調整でき、コマンドを打つ必要がない。ユーザーが何かを変更したいなら、対応するボタンを見つけて変更できる。Linux Mint開発者は、ユーザーにこの機能は不要だと考えて削除するのではなく、変更できるものをすべて明確に提示してくれる。\nCinnamonデスクトップと設定インターフェース GNOME公式デザインガイドラインは「人間的であること」を強調しているが、私は現在の新版GNOMEは簡略化しすぎだと思う。デフォルトでは何もなく、LinuxコンピューターをAndroidタブレットのような簡潔さへ変えようとしている。アイコンは馬鹿でかく、複雑なメニューはすべて消え、独自のワークスペース操作モードまである。しかしGNOMEは完全にタッチスクリーンで操作できるわけでもない。結局GNOMEの設計に最も適しているのは、タッチパッド付きのノートパソコンだけなのではないか！より多くのデスクトップ機能が必要なら、第三者開発の拡張機能をインストールしてほしい。ただしGNOME公式はシステム安定性を保証しないよ～更新のたびに拡張機能ABIがランダムに爆発する。\nGNOMEデスクトップと設定インターフェース さらに、GNOME開発者はミニマリズムを追求し、更新のたびに機能がランダムに削除される。たとえば「ノートパソコンの上蓋を閉じたらスリープする設定」や「マウスホイール速度」をシステム設定メニューから削除し、ユーザーに自分でコマンドを打ってdconf設定ファイルを変更させる。これは一体何なんだ！それに比べ、Linux Mintのシステム設定インターフェースはすべて考慮済みで、ボタンをクリックするだけでコンピューターのあらゆる挙動を調整できる。\n知っているだろうか。実は原版GNOMEはさらに使いにくい。DebianやFedoraでこそ「GNOMEの矜持」とは何かを体験できる。閉じるためのバツボタンやシステムトレイアイコンさえなく、適応することを学ばなければならない。一方Ubuntu版のGNOMEはすでにpatch済みで、いくつか便利な拡張機能をインストールしており、Windowsから乗り換えたユーザーがあまり適応に苦しまないようにしている。しかしCinnamonと比べると、やはり直感的ではない。\nFedoraの原版GNOMEデスクトップ 他のLinuxディストリビューションに手動でCinnamonデスクトップをインストールすることはできるが、それではLinux Mintチームが事前に設定してくれたツールは使えない。\nさらにアプリケーションストアについて論じると、Linux Mintが開発したSoftware ManagerはUbuntuのGNOME Softwareよりはるかに安定しており、ソフトウェア検索が非常に速く、入力すれば結果が出る。GNOME Softwareのようにぐるぐる待たされ、固まることもない。\nLinux Mintのアプリケーションストアとシステム更新インターフェースは反応が速い。 さらに、アプリケーションストアの評価欄はLinux Mint自身が運営しており、App Stream（すべてのLinuxディストリビューションが共有するAPP評価データベース。コメント投稿者のシステムが表示されないため、情報が混乱しやすい）には接続していない。Linux Mintユーザーのコメントを優先表示するため、より正確な評価を得られる。 以上のさまざまな点を総合すれば、Linux MintがよりよいUbuntuと評される理由を想像するのは難しくない。Linux MintこそUbuntuがなるべき姿なのだ。\nまとめると、Ubuntuはより有名なLinuxディストリビューションではあるが、良好なデスクトップ体験を求めるユーザーは、Linux Mintを試すべきである。\n","date":"2025年8月28日","externalUrl":null,"permalink":"/ja-jp/posts/ubuntu-vs-linux-mint/","section":"Posts","summary":" この記事ではIvonが、自分なりのUbuntuとLinux Mintの比較を共有する。\n執筆時点のバージョン：\nUbuntu 24.04 LTS Linux Mint 22 なぜあなたはLinux Mintを選ぶべきなのか。Ubuntuよりどこがよいのか？最近Mintを使ってみてようやく理解した。これこそLinuxデスクトップが本来なるべき姿だ。Linux Mintの第一印象は、このディストリビューションがデスクトップユーザーをより重視しているというものだった。 1. Linux MintはUbuntuデスクトップが本来なるべき姿 # Ubuntuの開発は2004年に始まり、元Debian貢献者Mark Shuttleworthが設立したCanonical社が開発を担当している。一方Linux Mintは2006年から始まり、ボランティア開発者の一群によって維持されており、会社は設立していない。\n今日まで二つのディストリビューションは更新され続けている。しかし、Ubuntuのデスクトップ、特にGNOMEは、本当にどんどん使いやすくなっているのか？Ubuntuはかつて「Linux for Human Beings」を自称していたが、なぜLinux Mintのデスクトップのほうが、むしろLinuxデスクトップがなるべき人間的な姿に近いのだろうか？\n","title":"UbuntuとLinux Mintは何が違うのか？デスクトップユーザーはどちらを選ぶべきか？","type":"posts"},{"content":"這篇文章Ivon分享自己對Ubuntu與Linux Mint的比較。\n撰文當下版本：\nUbuntu 24.04 LTS Linux Mint 22 為什麼你應該選擇Linux Mint，它比Ubuntu好在哪？我最近用了Mint才了解，這才應該是Linux桌面該成為的樣子。Linux Mint給人的第一印象是，這個發行版更注重桌面使用者。 1. Linux Mint是Ubuntu桌面本來應該成為的樣子 # Ubuntu的開發工作起源於2004年，由前Debian貢獻者Mark Shuttleworth所成立的Canonical公司負責開發；Linux Mint則是從2006年開始，由一群志願開發者維護，沒有成立公司。\n到今天二個發行版一直有在更新，但是，Ubuntu的桌面，尤其是GNOME，真的有變的越來越好用了嗎？Ubuntu過去自稱是「Linux for Human Beings」，但為什麼Linux Mint的桌面反而才比較像是Linux桌面應該成為的人性化樣子呢？\nUbuntu桌面 Linux Mint桌面 二十年前，在當時的時空背景下，Ubuntu系統可說是對新手最友善的Linux發行版之一，開箱即用，不用打一堆指令就完成安裝，而且還能免費取得！\nCanonical公司過去有很長一段時間是虧損大於營利的，當時他們還是一間小公司，體量比RedHat小很多，但那時他們仍熱情的推廣Ubuntu系統，甚至只要寄信到英國總部，他們就會郵寄安裝CD給你。\n舊版Ubuntu安裝CD，系統logo意思是一群人環繞著手拉著手 Ubuntu最早是使用GNOME 2當桌面環境，系統內建許多便利圖形工具，協助使用者管理系統。在Ubuntu 14.04的時候，Canonical推出了自家研發的Unity桌面環境，取代GNOME 2，延伸到自家的Ubuntu touch的手機介面，意圖打造跨平台的統一界面。當時Wayland剛出來，準備要取代X11協定。Canonical或許要搶佔先機，甚至搞了一個Wayland協定的fork叫做Mir。另外為了解決跨平台套件的問題，推出了Snap。足見其野心勃勃。\n為什麼Ubuntu預設的工作列會在左邊？這個設計就是Unity時代出現的，並一直延續到現在。\n可，Ubuntu過去那段推廣Linux桌面的使命感（約2008年 ~ 2018年）似乎已經漸漸消失了，變成只在乎企業與伺服器用戶，從他們官網的設計可見一斑。 這裡不是說Ubuntu不再貢獻Linux桌面的開發了，但就是他們的改進幅度似乎沒有其他Linux發行版好了，許多後來者開發的桌面，友善程度都超越了Ubuntu。\n在Ubuntu 17.04的時候，Canonical主動放棄自己開發的Unity桌面，為迎合企業市場主流改回GNOME。或許就是這個決定，注定了自身命運的走向。\n當然，這有客群考量的因素在內。Ubuntu同時提供桌面版與伺服器版，意即各種市場都要吃，後者明顯更能帶來營利，畢竟公司是要賺錢的。而最影響使用者觀感的GNOME桌面，雖是企業主流，但控制權並不在Canonical手上，而是由各大企業與全球開發者維護的開源專案，他們也就只能跟著GNOME團隊未來的方向走，設計方向受到GNOME掣肘。\n時至今日，Ubuntu的GNOME桌面設計跟其他Linux發行版提供的版本差異不大，但是Canonical依然會給自家的GNOME桌面打一些patch，使得介面變得「友善」一些。\n現在來講Linux Mint，開發團隊從以前到現在就只有專注維護桌面版，並且能夠選擇自己想要的桌面。這邊要提一下，下圖的Cinnamonn與Mate桌面，正好都是看不爽GNOME 3的開發者自行繼續開發的桌面，意圖延續傳統桌面設計！ Linux Mint跟Ubuntu的關係比較遠，它並不是Ubuntu官方flavor之一（例如Kubuntu、Xubuntu、Lubuntu），只是使用了Ubuntu的套件庫。因此Linux Mint開發團隊的決策不會受到Canonical公司影響，而是以社區用戶共識決為主，他們更在乎用戶覺得好不好用。\n這點比較接近Debian的運作模式，但Linux Mint又加入了針對桌面使用者最佳化的設計考量，意即幫使用者用圖形介面處理好一切事務，不需要打指令安裝一堆有的沒的。\n2. 穩定的更新模式，相容Ubuntu生態系 # Linux Mint採取穩定更新模式，並沒有像Ubuntu分成普通版和LTS二個更新頻道。Linux Mint大約兩年才會釋出一個大版本更新，每個系統版本都會提供5年以上的更新支援。主打穩定使用路線，桌面的操作設計十年以來幾乎都沒有變過，使用者不會頻繁被開發者的變更折磨。\nLinux Mint各版本的支援週期 關於軟體生態系問題，我們其實不用把Linux Mint與Ubuntu當作完全不相干的二個系統。反之，他們是會互相影響的。\nLinux Mint是基於Ubuntu開發的，Ubuntu又是基於Debian開發的，因此Debian在這裡是作為他們的上游角色，上游所開發的東西最終都會流向下游，出現在使用者面前。這幾個發行版之間有很大的相似之處，其中最重要的就是他們都使用.deb套件格式，能夠共享龐大的軟體資源。\n截至2025年，Debian上游的套件庫總共有64961個套件，內含各個軟體的中文翻譯檔，這些來自全球開發者的貢獻，能夠使下游的Ubuntu與Linux Mint等眾發行版共同受益。\n這也就是說，專門為Ubuntu準備的教學資源，多半也能套用在Linux Mint上，只要版本對上的話多半能通，例如Linux Mint 22基於Ubuntu 24.04開發，那麼針對Ubuntu 24.04寫的教學也多半能套用到Linux Mint 22。\n此外，Linux Mint有維護官方教學文件：Linux Mint User Guide，也有經營自家的討論區：Linux Mint Forums，社群資源豐富。\n雖然Linux Mint圖形介面的操作跟Ubuntu不一樣，但他們的底層組件是相通的。要深入理解這點，你可能要多distro-hopping才能了解我在說什麼吧。更重要的是，Linux Mint在圖形介面做的比Ubuntu更好，更直觀，安裝軟體能用圖形介面解決，卻又保持了與Debian/Ubuntu生態的相容性。因為Linux Mint採用Ubuntu的套件庫，所以專為Ubuntu建置的.deb套件大多時候也能在Linux Mint安裝，鮮少會遇到依賴問題。\n接著來講講Snap爭議。\n2016年，Canonical公司為降低Ubuntu系統的維護成本，推出了自家的軟體套件格式Snap，希望能統一各發行版的軟體安裝包碎片化問題，不用再針對不同的版本打包.deb套件。不過由於Snap啟動速度慢，圖形程式bug多，加上下載Snap軟體的管道Snap Store被Canonical壟斷的緣故，這個套件格式並不受開源社群待見。即使如此，Canonical仍執意要推動Snap套件，遂在新版Ubuntu系統強制安裝Snap套件，並把一些.deb套件偷偷更換為Snap。\n在Ubuntu 22.04給所有官方flavor強制塞入Snap之時，Linux Mint開發團隊經過評估決定不跟進，而是維持使用APT管理.deb套件的方式，並選擇較受開源社群歡迎的Flatpak作為軟體補充來源。\nLinux Mint官網對Snap套件的批評，全文見：Snap Store — Linux Mint User Guide documentation 最chad的地方是，Linux Mint的軟體商店支援APT和Flatpak，但就是沒有Snap！\nLinux Mint比起商業利益，更重視開源社區價值。Linux Mint開發團隊目前主要還是以Ubuntu為基礎下去開發，不過也有提供基於Debian建置的「LMDE - Linux Mint Debian Edition」映像檔給有道德潔癖的用戶下載，同時也避免未來因為Ubuntu背後公司的決策導致Linux Mint開發工作受影響，為社群預留後路。\n3. 容易上手的圖形介面 # Linux Mint最重要的是圖形界面，桌面環境並非使用主流的GNOME或是KDE Plasma，而是以穩定為考量，選擇了Cinnamon。\n除了Cinnamon，Linux Mint另外提供內建XFCE與Mate桌面的ISO。從這裡能夠觀察到，Linux Mint開發團隊選擇的都是更新較為「保守」的桌面環境，他們幾十年來很少變化，所以多半很穩定！不像GNOME與KDE Plasma，總是追逐著shiny new stuff，像現在最流行的「往Wayland協定遷移」，加入一堆有的沒有的新功能，卻一直要使用者重新適應新的桌面設計，還要忍受層出不窮的bug。\nCinnamonn與Mate桌面，正好都是看不爽GNOME 3的一群開發者另外開發的桌面，意圖延續傳統電腦桌面設計！至於XFCE的介面嘛，20年來幾乎沒變過。\n在GNOME把使用者當智障，推廣反人類設計；KDE Plasma過於臃腫容易崩潰，開發者難以維護的情況下，Linux Mint的Cinnamon桌面可說是一股清流。\nCinnamon是一款輕量桌面環境，最早是基於GNOME 3桌面開發的一組擴充套件，後來因為GNOME團隊的設計劍走偏鋒，Cinnamon便獨立成為一個專案。Cinnamon保留了GNOME 2舊時代的桌面設計，沒有GNOME 3的變化那麼激進。\nCinnamon桌面比起GNOME更容易讓使用者上手，尤其是習慣Windows 7時代界面的用戶。講到類似Windows的介面，又會讓人想起KDE Plasma吧，但Cinnamon沒有KDE Plasma的組件那麼臃腫複雜，不太容易崩潰。\nCinnamon桌面比起GNOME更直觀，許多設定都能用圖形化界面調整，不用打指令。使用者想要改什麼，都能找對應的按鈕變更。Linux Mint開發者不會認為使用者不需要這個功能就砍掉，而是將所有能改的東西清楚的呈現給你看。\nCinnamon桌面與設定介面 儘管GNOME官方設計指南要強調「人性化」，但我認為現在新版的GNOME簡化過頭了，預設什麼都沒有，它試圖把Linux電腦變成像是Android平板一樣的簡潔，圖示大的要命，複雜的選單全部消失，還有獨樹一格的工作區操作模式。可是，GNOME又不能全用觸控螢幕操作。到頭來GNOME的設計最適合的恐怕只有帶有觸控板的筆電了吧！需要更多桌面功能請安裝第三方開發的擴充套件，但GNOME官方不保證系統穩定性呦～每次更新就會隨機炸掉擴充套件ABI。\nGNOME桌面與設定介面 還有，GNOME開發者追求極簡主義，每次更新都有功能被隨機砍掉，例如把「關筆電上蓋就進入休眠的設定」和「滑鼠滾輪速度」從系統設定選單移除，要使用者自己打指令改dconf設定檔，這到底什麼跟什麼！相較之下，Linux Mint的系統設定介面，全都幫你考慮好了，點個按鈕就能調整所有電腦的行為。\n你知道嗎，其實原版的GNOME更難用，你要在Debian和Fedora才能體會什麼叫做「GNOME的矜持」，它甚至連關閉視窗的打叉按鈕和系統匣圖示都沒有，要學著適應。而Ubuntu版本的GNOME已經是打過patch的了，安裝了一些便利的擴充套件，使得從Windows轉換過來的用戶不會太難適應。但跟Cinnamon相比之下，還是不直覺。\nFedora的原版GNOME桌面 儘管你可以在其他Linux發行版手動安裝Cinnamon桌面，不過這就沒有Linux Mint團隊預先幫你設定好的工具可用了。\n再論應用程式商店，Linux Mint開發的Software Manager，比Ubuntu的GNOME Software穩定許多，軟體搜尋非常快，打字就有結果。不像GNOME Software轉圈圈等老半天，還會卡死。\nLinux Mint的應用程式商店與系統更新界面，回應快速 此外，應用程式商店的評分區是Linux Mint自己經營的，沒有接入App Stream（所有Linux發行版共享的APP評分資料庫，因為不會顯示留言者的系統，容易導致資訊混亂），優先顯示Linux Mint用戶的留言，因此能夠得到更精準的評分。 綜合以上種種，不難想像Linux Mint為何會被評論為更好的Ubuntu了，才是Ubuntu應該成為的樣子。\n總結來說，雖然Ubuntu是更知名的Linux發行版，但是要有良好桌面體驗的用戶，更應該試試Linux Mint。\n","date":"2025年8月28日","externalUrl":null,"permalink":"/posts/ubuntu-vs-linux-mint/","section":"Foss-Issues","summary":"這篇文章Ivon分享自己對Ubuntu與Linux Mint的比較。\n撰文當下版本：\nUbuntu 24.04 LTS Linux Mint 22 為什麼你應該選擇Linux Mint，它比Ubuntu好在哪？我最近用了Mint才了解，這才應該是Linux桌面該成為的樣子。Linux Mint給人的第一印象是，這個發行版更注重桌面使用者。 1. Linux Mint是Ubuntu桌面本來應該成為的樣子 # Ubuntu的開發工作起源於2004年，由前Debian貢獻者Mark Shuttleworth所成立的Canonical公司負責開發；Linux Mint則是從2006年開始，由一群志願開發者維護，沒有成立公司。\n到今天二個發行版一直有在更新，但是，Ubuntu的桌面，尤其是GNOME，真的有變的越來越好用了嗎？Ubuntu過去自稱是「Linux for Human Beings」，但為什麼Linux Mint的桌面反而才比較像是Linux桌面應該成為的人性化樣子呢？\nUbuntu桌面 Linux Mint桌面 二十年前，在當時的時空背景下，Ubuntu系統可說是對新手最友善的Linux發行版之一，開箱即用，不用打一堆指令就完成安裝，而且還能免費取得！\n","title":"比較Ubuntu與Linux Mint有何不同？桌面使用者應該選哪一個？","type":"foss-issues"},{"content":"分享如何修改Linux系統XFCE桌面的外觀，適用Xubuntu、Debian、MX Linux、Linux Mint、Manjaro、EndeavourOS等發行版。 1. 美化XFCE的必要性 # 沒有必要，XFCE預設的配置就很好用了。\n如果你很在意性能問題，安裝太複雜的主題可能還會增加RAM佔用呢！\n但老實說，如果沒有Linux發行版預先幫你安裝的主題（例如Manjaro、MX Linux、Xubuntu），我認為XFCE內建的主題真的蠻醜的，讓人想要裝點東西改善。\nManjaro的XFCE主題 與 Debian的XFCE預設主題比較： XFCE桌面的開發工作始自1996年，主要使用GTK寫成。如果你有幸找到10年前的桌面擷圖，會發現XFCE風格跟現在最新版本幾乎一模一樣！但XFCE開發者留了許多自定義的空間，讓使用者能夠自由調整桌面樣式。\n由於XFCE設計靈活，我們可以把XFCE變成Windows 11，也能夠弄成macOS的樣子，例如這個「WhiteSur」的GTK主題： 我個人是比較沒有興趣模仿其他作業系統的外觀啦，只是XFCE的古老風格我真的吃不下去，所以會借用一些Adwaita風格的GTK主題來用，讓風格美感起碼能跟上GNOME 40。\nXFCE主題改善前 與 改善後： 2. XFCE主題的構成 # XFCE的主題，準確來說分成很多個部分：\n桌布，桌面背景圖片。應放到/usr/share/backgrounds/或~/.local/share/backgrounds/ 圖示包，就是桌面程式的圖示，應該放到/usr/share/icons/或~/.local/share/icons/ 音效包，應該放到/usr/share/sounds/或~/.local/share/sounds/ XFCE的主題，應該放到/usr/share/themes/或~/.local/share/themes/ XFWM，也就是XFCE預設的視窗合成器的主題，會影響視窗右上角三個點（最小化、最大化、關閉視窗）的外觀，應該放到/usr/share/icons//或~/.local/share/icons/ GTK主題，會影響GTK程式的外觀，例如GIMP。由於XFCE主要使用GTK寫成，所以部分針對GNOME開發的主題也能用在XFCE上。 QT主題，僅對QT程式外觀有效，例如Krita。 一個主題包不見得會包含以上所有的項目，故下載的時候要自行看清楚。\nXFCE提供更換主題的圖形介面，但是安裝主題需要手動解壓縮到指定路徑才可以。部分主題作者會提供安裝指令稿。\n曾經有一個叫做XFCE Theme Manager的圖形程式可以協助使用者選取主題，現在已經進入半放棄維護的狀態了，所以在這篇文章中，我不會使用該工具。\n3. 如何下載安裝XFCE主題 # 截至XFCE 4.20，由於XFCE開發團隊多年來沒有做出太大更動，很多年前的主題到現在還是可以用的。\n第一種方法是透過套件管理器：部分主題可以透過套件管理器取得，例如Ubuntu的Yaru主題\nsudo apt install yaru-theme-gtk 這些主題會安裝到系統目錄/usr/share/themes/\n另一種方式安裝主題的方式是手動下載：請到xfce-looks - Pling或GitHub網站下載主題檔案，然後手動解壓縮到指定路徑。根據FreeDesktop的標準，使用者手動安裝的XFCE主題應該放到~/.local/share/themes/。用這個方法安裝主題有個好處，就是使用者能夠自由修改主題檔案，然後直接套用。\n以「adw-xfwm」為例，這是一個將GNOME的Adwaita主題移植到其他桌面的專案，順便將舊版GTK3變成新版GTK4的樣子。\n到GitHub下載adw-xfwm4還有adw-gtk3，分別在Releases處下載.zip檔。\n將檔案解壓縮，把thems目錄下的gtk3、gtk4、xfwm4的目錄放到~/.local/share/themes/adw-gtk目錄 接著是專為XFCE打造的Adwaita圖示包，要先安裝原有的Adwaita圖示包：\nsudo apt install adwaita-icon-theme 再安裝此adwaita-xfce-icon-theme專案 git clone https://github.com/shimmerproject/adwaita-xfce-icon-theme.git cd adwaita-xfce-icon-theme ./configure --prefix=$HOME/.local make make install make icon-caches 4. 開啟變更XFCE主題的面板 # 點選開啟XFCE設定管理員，在「外觀」介面切換樣式，再切換圖示。 再切換到視窗管理程式，修改主題 5. 修改QT程式的主題 # 針對QT程式，如果有安裝qt6-gtk-platformtheme套件，則QT程式會自動變化為對應的GTK主題。\n例如上面安裝的adw-xfwm4，對QT6程式也有效。\n如果部分程式主題沒有跟著變化，需要手動安裝qtct程式：\nsudo apt install qt5ct qt6ct 並設定QT_QPA_PLATFORMTHEME環境變數，指定所有QT程式使用qtct指定的樣式，現在大部分程式是QT6所以用qt6ct。接著重新登入系統。\necho \u0026#34;QT_QPA_PLATFORMTHEME=qt6ct\u0026#34; | sudo tee -a /etc/enviornment 在QT6設定程式裡面指定QT程式要使用的主題，例如Kvantum 參考資料 # How to install new themes - Xfce Wiki ","date":"2025年8月27日","externalUrl":null,"permalink":"/posts/how-to-install-xfce-themes/","section":"所有文章","summary":"分享如何修改Linux系統XFCE桌面的外觀，適用Xubuntu、Debian、MX Linux、Linux Mint、Manjaro、EndeavourOS等發行版。 1. 美化XFCE的必要性 # 沒有必要，XFCE預設的配置就很好用了。\n如果你很在意性能問題，安裝太複雜的主題可能還會增加RAM佔用呢！\n但老實說，如果沒有Linux發行版預先幫你安裝的主題（例如Manjaro、MX Linux、Xubuntu），我認為XFCE內建的主題真的蠻醜的，讓人想要裝點東西改善。\nManjaro的XFCE主題 與 Debian的XFCE預設主題比較： XFCE桌面的開發工作始自1996年，主要使用GTK寫成。如果你有幸找到10年前的桌面擷圖，會發現XFCE風格跟現在最新版本幾乎一模一樣！但XFCE開發者留了許多自定義的空間，讓使用者能夠自由調整桌面樣式。\n由於XFCE設計靈活，我們可以把XFCE變成Windows 11，也能夠弄成macOS的樣子，例如這個「WhiteSur」的GTK主題： 我個人是比較沒有興趣模仿其他作業系統的外觀啦，只是XFCE的古老風格我真的吃不下去，所以會借用一些Adwaita風格的GTK主題來用，讓風格美感起碼能跟上GNOME 40。\n","title":"XFCE如何安裝主題，美化Linux桌面外觀（XFWM + GTK + QT + 自訂圖示）","type":"posts"},{"content":"Fap Gauntlet是一種自慰挑戰遊戲，由4chan /h/板鄉民發明。\n類似的遊戲為「Fap Hero」、「Hentai JOI」，這種形式的色情影片在Iwara上有很多。至於Fap Gauntlet就是專注在圖片上。\n1. Fap Gauntlet玩法 # 通常4chan的 Fap Gauntlet討論串會附上規則文本，例如：\nWhat is Fap Gauntlet? It is a fun little fap game you play by following simple instructions in each post in the thread until you reach the end or cum. To contribute post nice images or gifs in the format of (strokes) / (speed) / (force) where strokes is the total number of strokes written as whole numbers, speed is the strokes per second which may be written as these words (extremely slow, very slow, slow, medium, normal, fast, very fast, extremely fast) or as decimal numbers (0.5 meaning 1 stroke every 2 seconds, 1.0 meaning 1 stroke per second, 2.0 meaning 2 strokes per second and so on), and force is whatever pressure or special details or instructions for stroking may be.\n簡單來說規則就是：\n打開寫有「Fap Gauntlet」標題的4chan或4archive討論串，通常在/h/板或/e/板會有人不定時發起，然後就會有人回文。\n集中串可以到Catalog搜尋。\n依照圖片指示套弄雞雞，直到射精為止。如果沒射精就算通關，繼續跳下一張。\n每張圖片會指定自慰方式，依照圖片指示操作。格式為：套弄次數, 速度, 力道 例如這裡的範例，就是看著這張圖開始自慰，條件為：套弄20下，慢慢的弄，並且輕輕的。 部分的Fap Gauntlet還會加入劇情呢！譬如這個Super Mario Fap Gauntlet，使用打手槍攻擊敵人，征服她們！ 2. 自動化Fap Gauntlet程式 # 鑑於手動看圖片還要數數很麻煩，有人開發了自動化程式：https://fapgauntlet.netlify.app\n只要把Fap Gauntlet討論串網址餵進去，點一下Download Pictures再按Start，它就會隨機從討論串裡面挑一張圖片，並依照使用者設定的條件開始倒數。接下來只要跟著心跳的聲音快慢，調整動手手速就好。 這個程式也允許你載入自己的本機圖片。準備一組圖片，點Load pictures from local，然後全選圖片上傳就好（只會暫存在本機瀏覽器，不會上傳到遠端伺服器） 點Start開始倒數。這裡的話秒數就是隨機抽選。 另一個簡易替代方案：Fap Gauntlet: Web Edition，這是結構更為簡單的網頁版，開放原始碼，部署到本地簡單。\n功能多樣的的網頁版程式，允許自訂圖片篩選條件：Fap Instructor\n有人做了一個Fap Gauntlet Hero的電腦遊戲，能夠隨機從4chan其他板的討論串抓圖片，可惜沒有維護了\n尚有C++寫的Fap Gauntlet程式，需要手動編譯。\n3. 影片互動版Fap Gauntlet # 有些還會變成節奏遊戲的玩法！例如Fap Land，依照影片裡面的鼓點節奏打手槍，也可以下載RPG遊戲程式來玩。它就有點類似Fap Hero或Hentai JOI的形式了。\n不要眼睛都盯著看那個光環準確率，音遊細胞覺醒，忘記自己在打手槍了的事情了啊啊。 ","date":"2025年8月27日","externalUrl":null,"permalink":"/posts/fap-gauntlet/","section":"Nsfws","summary":"Fap Gauntlet是一種自慰挑戰遊戲，由4chan /h/板鄉民發明。\n類似的遊戲為「Fap Hero」、「Hentai JOI」，這種形式的色情影片在Iwara上有很多。至於Fap Gauntlet就是專注在圖片上。\n1. Fap Gauntlet玩法 # 通常4chan的 Fap Gauntlet討論串會附上規則文本，例如：\nWhat is Fap Gauntlet? It is a fun little fap game you play by following simple instructions in each post in the thread until you reach the end or cum. To contribute post nice images or gifs in the format of (strokes) / (speed) / (force) where strokes is the total number of strokes written as whole numbers, speed is the strokes per second which may be written as these words (extremely slow, very slow, slow, medium, normal, fast, very fast, extremely fast) or as decimal numbers (0.5 meaning 1 stroke every 2 seconds, 1.0 meaning 1 stroke per second, 2.0 meaning 2 strokes per second and so on), and force is whatever pressure or special details or instructions for stroking may be.\n簡單來說規則就是：\n打開寫有「Fap Gauntlet」標題的4chan或4archive討論串，通常在/h/板或/e/板會有人不定時發起，然後就會有人回文。\n集中串可以到Catalog搜尋。\n依照圖片指示套弄雞雞，直到射精為止。如果沒射精就算通關，繼續跳下一張。\n每張圖片會指定自慰方式，依照圖片指示操作。格式為：套弄次數, 速度, 力道 例如這裡的範例，就是看著這張圖開始自慰，條件為：套弄20下，慢慢的弄，並且輕輕的。 ","title":"Fap Gauntlet，看一連串的圖進行自慰遊戲，挑戰能撐多久不射出來","type":"nsfw"},{"content":"","date":"2025年8月27日","externalUrl":null,"permalink":"/tags/masturbation/","section":"標籤","summary":"","title":"Masturbation","type":"tags"},{"content":"相信很多人跟Ivon一樣都有隨手蒐集梗圖 (meme) 的習慣，方便在網路筆戰的時候隨手丟出一張表情包，然後高歌離席。 不過圖片一旦多起來，單單用資料夾分類已經不能整理了吧。\n我嘗試用相簿軟體（例如Immich、PhoroPrism、digiKam）整理梗圖，但都感覺不太合適。\n我在Github有看到一個專案就叫Meme Search的，它基本上是從一個圖片資料夾讀取裡面的圖片，用OCR抽出文字之後，再生成能夠搜尋的文本，還能夠用AI模型生成描述圖片的一串文字。但缺點是Meme Search介面很陽春。我試了沒辦法下載模型。還有AI模型辨識太吃硬體資源，需要GPU才能跑得快。\n故我放棄使用這種專門軟體的想法，改用Hydrus Network。\nHydrus Network是能夠整理各種雜圖的開源軟體，裡面沒有資料夾機制，全靠打標籤搜尋，加上有評分以及寫筆記的功能。那麼用來整理梗圖就是再好也不過了。 Hydrus Network能將所有關於圖片的資料記載下來，方便日後搜尋。這個軟體偏向手動整理圖片，沒有AI自動分類。不過因為開放API，Hydrus Network尚有其他開發者寫的OCR插件能用。\n再搭配Hydrus Web客戶端，隨時隨地都能找到需要的梗圖。例如在手機上搜尋遠端Hydrus Network伺服器的梗圖。 1. 我的梗圖蒐集機制 # 梗圖通常來自於瀏覽器看的網頁，還有在手機APP上看到的內容。\n把圖片存下來之後，我會使用簡單的資料夾暫時進行分類，然後再放到電腦上的Hydrus Network整理。\n一個「梗圖」資料夾下的分類法大概像這樣，主要是依照用途分類：\n科技梗圖 動物梗圖 動漫梗圖 政治梗圖 智慧語錄 啟發靈感的素材 2. Hydrus Network用法簡介 # 安裝Hydrus Network客戶端。這個軟體支援Linux、Windows、macOS系統。\nHydrus Network需要匯入圖片才能處理。選取一資料夾，拖曳到Hydrus Network視窗，會出現匯入視窗。\n匯入之後，Hydrus Network會自動開一個新分頁。 在這裡多選圖片，按右鍵tag，批次編輯標籤之後，再按右鍵archive，正式封存到資料庫。 3. Hydrus Network內部標籤打法 # 這沒有絕對的格式，我只用自己覺得方便的作法。\n因為我覺得用英文打字比較快，所以標籤大部分都是用英文表示。\n首先，因為Hydrus Network我不只是拿來放梗圖，所以梗圖都要有一個funny的標籤。這樣至少日後在找的時候知道我是在找好笑的東西。\n針對我上面提過的分類：我會加上標籤來說明這張梗圖的性質，例如technology表示跟科技有關的梗圖，animal表示動物梗圖，諸如此類。\n這在大批次匯入梗圖的時候非常重要，至少我能在一個介面就先批次歸類出這批梗圖的性質。 接著是單張圖片的部分。\n不是很重要的梗圖，我就只是打上funny還有子分類的標籤而已。\n需要紀錄額外資訊的梗圖，就用命名空間:數值的標籤形式，儘量記錄下重要的特徵。\n例如，紀錄重要的台詞，我就會用title:文字的標籤寫下來，這對日後搜尋有多種變體的梗圖十分有用。 如果很多梗圖都出自同一部卡通，就標注series:卡通名稱標籤。 同理，角色出現多次，就寫person:人名或character:人名標籤。 需要更詳細的資訊，就對圖片點右鍵，加上note以及url，詳細記載圖片來源為何。不過這種情況很少見啦，你又不是KnowYourMeme的主編，不用那麼認真。 4. 梗圖搜尋方式 # Hydrus Network支援多語言搜尋，善用title:標籤只要打幾個字就能找到完整字串的標籤。有時候連命名空間都不需要打。如果不確定前後文的話，就用星號萬用字元替代。 至於其他搜尋梗圖的方式，我會做一個快速搜尋面板。\n按一下搜尋欄的星星，點manage favorite search，點add，針對各種梗圖的共通標籤設定搜尋條件。 這樣就能快速篩選梗圖 如果需要遠端存取Hydrus Network資料庫的，架設一個Hydrus Web即可。 5. 比對重複梗圖 # 因為梗圖是到處流傳的，會出現不同的解析度的版本是正常的。我們可能在蒐集資料的當下不經意的下載多張一模一樣的副本。這個時候能夠用Hydrus Network內建的比對程式將他們列出來。\n點pages → new special page → duplicates processing\n在preparation頁面將相似度設定為speculative，也就是相似度最低 在filter頁面輸入要搜尋的標籤，像我的範例就是限縮到funny標籤。 搜尋完成後點launch the filter，上下滾動滑鼠，比對兩張圖片，依照畫面指示決定保留或刪除。 ","date":"2025年8月26日","externalUrl":null,"permalink":"/posts/manage-meme-images-using-hydrus-network/","section":"所有文章","summary":"相信很多人跟Ivon一樣都有隨手蒐集梗圖 (meme) 的習慣，方便在網路筆戰的時候隨手丟出一張表情包，然後高歌離席。 不過圖片一旦多起來，單單用資料夾分類已經不能整理了吧。\n我嘗試用相簿軟體（例如Immich、PhoroPrism、digiKam）整理梗圖，但都感覺不太合適。\n我在Github有看到一個專案就叫Meme Search的，它基本上是從一個圖片資料夾讀取裡面的圖片，用OCR抽出文字之後，再生成能夠搜尋的文本，還能夠用AI模型生成描述圖片的一串文字。但缺點是Meme Search介面很陽春。我試了沒辦法下載模型。還有AI模型辨識太吃硬體資源，需要GPU才能跑得快。\n故我放棄使用這種專門軟體的想法，改用Hydrus Network。\nHydrus Network是能夠整理各種雜圖的開源軟體，裡面沒有資料夾機制，全靠打標籤搜尋，加上有評分以及寫筆記的功能。那麼用來整理梗圖就是再好也不過了。 Hydrus Network能將所有關於圖片的資料記載下來，方便日後搜尋。這個軟體偏向手動整理圖片，沒有AI自動分類。不過因為開放API，Hydrus Network尚有其他開發者寫的OCR插件能用。\n再搭配Hydrus Web客戶端，隨時隨地都能找到需要的梗圖。例如在手機上搜尋遠端Hydrus Network伺服器的梗圖。 ","title":"梗圖與表情包整理軟體，Hydrus Network","type":"posts"},{"content":"","date":"2025年8月26日","externalUrl":null,"permalink":"/tags/ebook-reader/","section":"標籤","summary":"","title":"Ebook Reader","type":"tags"},{"content":"想要架設一個隨時隨地看漫畫電子書的解決方案嗎？\nKomga能夠達成這個操作，它是一款網頁為主的漫畫管理器兼漫畫閱讀器。界面簡單易用，讓你不只能在電腦上閱讀漫畫收藏，還能夠透過手機平板遠端存取。 此外，閱讀紀錄是跨裝置同步的！\nKomga相容多款閱讀器，包括Android、iOS、Kobo、KOReader等等。\n電腦版網頁界面，一覽所有收藏的漫畫 漫畫資料頁面允許自訂背景圖片，填寫風格分類。 閱讀界面會自動識別書本是左翻還是右翻，提供雙頁模式。支援手勢操作，不論是鍵盤還是觸控螢幕都能閱讀漫畫。 另外，雖然作者沒有明說，不過由於支援EPUB格式的緣故，Komga也是能用來讀輕小說的。 Komga可以在其他裝置存取，根據螢幕自動變化介面大小，例如這是手機APP閱讀界面： Komga適合管理「一般的」日本漫畫，如果是同人誌，我個人覺得LANraragi更好。\n1. 支援的檔案類型 # Komga支援.cbz、.epub、.pdf等格式的電子書，不能是圖片目錄。\n支援從壓縮檔讀取.cbz檔案的ComicInfo.xml中繼資料。\n漫畫應該放在同一個目錄下，每部漫畫一個目錄，每個目錄下是漫畫的集數。\n漫畫 ├── 少女終末旅行 │ ├── [少女終末旅行]卷01.epub │ ├── [少女終末旅行]卷02.epub │ ├── [少女終末旅行]卷03.epub │ ├── [少女終末旅行]卷04.epub │ ├── [少女終末旅行]卷05.epub │ ├── [少女終末旅行]卷06.epub │ └── [少女終末旅行]番外01-03.epub Komga可以新增很多個書庫，如果你有很多類型的漫畫是分開放的，而非都放在同一個目錄下的話，Komga也是能分門別類的讀取。\n2. 安裝Komga # Komga是使用Java寫成的自由軟體，Linux建議用Docker，Windows與macOS用桌面版。\n桌面版 # 到官網下載安裝。\n啟動後按工作列圖示啟動網頁界面。用瀏覽器開啟http://localhost:25600進入Komga。\n由於Komga是Java寫的，你也可以直接下載.jar檔並用命令行啟動：\njava -jar -Xmx4g komga.jar Docker版 # 在Linux安裝Docker\n新增存放資料的目錄\nmkdir ~/komga cd ~/komga vim docker-compose.yml 參考官方文件撰寫docker-compose，如果有多種漫畫的目錄，可以分開掛載。 services: komga: image: gotson/komga container_name: komga volumes: - type: bind source: /home/user/komga/config # 設定檔與上傳的圖片所在路徑 target: /config - type: bind source: /home/user/漫畫/ # 漫畫檔案所在目錄，掛載到容器內部的/data/ target: /data/漫畫 - type: bind source: /home/user/輕小說/ # （如果有的話）輕小說檔案所在目錄，掛載到容器內部的/data/ target: /data/輕小說 - type: bind source: /etc/timezone # 設定時區 target: /etc/timezone read_only: true ports: - 25600:25600 # 網頁版對外通訊埠 user: \u0026#34;1000:1000\u0026#34; environment: - JAVA_TOOL_OPTIONS=-Xmx4g # 提昇Java可以使用的記憶體上限 restart: unless-stopped 啟動容器 docker compose up -d 用瀏覽器開啟http://localhost:25600進入Komga。 3. 掃描漫畫 # 第一次啟動需要註冊一個管理員帳號，這裡順便設定系統語言為中文 依照指示，新增書庫，「根資料夾」輸入漫畫所在的目錄。這裡可以新增很多個書庫，如果你有很多類型的漫畫是分開放的，而非都放在同一個目錄下的話，就重複此步驟，分別新增各個目錄。 關於掃描選項，Komga的中繼資料不會從線上資料庫抓取，而是完全使用本機資訊，譬如ComicInfo.xml。如果想更精確的紀錄閱讀紀錄的話，勾選ISBN，讓Komga從漫畫中辨識書號。 等待掃描完成，如果書比較多可能要等上個十幾分鐘才會好。\n點選左側的「書庫」瀏覽漫畫。 在閱讀界面點選標題開啟漫畫系列。在中繼資料編輯面板這裡有個功能很不錯，就是能夠讓你上傳漫畫相關的海報或者插圖，方便蒐藏相關精美資源。不過不知道為何作者要限制上傳檔案大小。 4. 在其他裝置閱讀Komga伺服器的漫畫 # Komga的閱讀界面會隨著裝置螢幕大小自動變化，在手機平板上也能夠操作。\n區域網路只要在另一部裝置，輸入http://電腦的區域IP:25600就能存取Komga。 如果要跨網段存取，請安裝內網穿透軟體\n5. 安裝Komga客戶端APP # Komga網頁版有時候不是那麼好操作，用APP操作會感覺比較順滑。\nAndroid版APP可以使用Mihon，安裝「Komga」擴充套件，於來源的右上角設定，填入Komga伺服器位址、帳號及密碼。\niOS使用Paperback這個專門的客戶端。從App Store下載，開啟APP後點選Settings → Extensions → Paperback → Server Settings，填入Komga伺服器位址、帳號及密碼。\n","date":"2025年8月26日","externalUrl":null,"permalink":"/posts/komga-manga-media-server/","section":"所有文章","summary":"想要架設一個隨時隨地看漫畫電子書的解決方案嗎？\nKomga能夠達成這個操作，它是一款網頁為主的漫畫管理器兼漫畫閱讀器。界面簡單易用，讓你不只能在電腦上閱讀漫畫收藏，還能夠透過手機平板遠端存取。 此外，閱讀紀錄是跨裝置同步的！\nKomga相容多款閱讀器，包括Android、iOS、Kobo、KOReader等等。\n電腦版網頁界面，一覽所有收藏的漫畫 漫畫資料頁面允許自訂背景圖片，填寫風格分類。 閱讀界面會自動識別書本是左翻還是右翻，提供雙頁模式。支援手勢操作，不論是鍵盤還是觸控螢幕都能閱讀漫畫。 另外，雖然作者沒有明說，不過由於支援EPUB格式的緣故，Komga也是能用來讀輕小說的。 Komga可以在其他裝置存取，根據螢幕自動變化介面大小，例如這是手機APP閱讀界面： Komga適合管理「一般的」日本漫畫，如果是同人誌，我個人覺得LANraragi更好。\n1. 支援的檔案類型 # Komga支援.cbz、.epub、.pdf等格式的電子書，不能是圖片目錄。\n支援從壓縮檔讀取.cbz檔案的ComicInfo.xml中繼資料。\n漫畫應該放在同一個目錄下，每部漫畫一個目錄，每個目錄下是漫畫的集數。\n","title":"Komga：自架漫畫與輕小說伺服器，跨裝置遠端閱讀解決方案","type":"posts"},{"content":" おすすめのLinuxディストリビューションは何か？私に言えるのは、主流のLinuxディストリビューションをもっと使うべきだ、ということだけだ。\nLinuxを長く使うほど、独裁で断片化問題を解決したくなる。しかし自由ソフトウェアが統一されることは不可能だ。\nFOSSのrabbit holeを深く掘れば掘るほど、自分が反多元化の側に立っていることにだんだん気づく。\nあるジョークがある。Linux PCがウイルスに感染するのは難しい。なぜならディストリビューションが多すぎて、各システムのライブラリも違うので、ウイルスを実行するとno such file or directoryと表示されやすいからだ。\nこの問題を解決するには、皆に、自分が何を追求しているのかよく考えようと呼びかけるしかない。\n私はLinuxコミュニティの意思決定権を持っていない。これはただ私自身の考えだ。 また一篇のrantである。\n多元のための多元 # まず一篇の記事から見ていこう：Grub \u0026amp; Systemd, A FOSS Monopoly. Am I the only one that sees Linux Unity as a bad idea? これを見て、私は思わずこう思った：「お前は先祖より賢いとでも？張獻忠.jpg」というミーム画像だ。 変革を受け入れたがらず、何かあるたびに「Unix哲学」を持ち出して語る人は、そろそろ改めるべきだ。今でも反Systemdの人がいて、わざわざ他のinitを使うディストリビューションを選んでいる。彼らがこだわる理由である「一つのことを行い、それをうまく行う」は、時間が経つほど滑稽に見えてくる。同じ理屈は、Linuxの他の新技術にも広げられる。Wayland、Pipewire、Flatpakなどがそうだ。これらは徐々に新世代Linuxデスクトップの標準になりつつあり、完璧ではないが楽観を保つべきだ。しかし依然として多くの人は技術的角度からこれらの進展を批判せず、逆に嘲笑や罵倒（4chan /g/民のrant口調を思い浮かべればわかる）で、すべてはRedHatが世界を支配する陰謀だと考えている。Flatpakを攻撃するためにflatkill.orgというサイトを立ち上げた人さえいる。\nDRMは悪いものだと死ぬほどこだわる社会運動家と同じで、感情的に「私は反対だ！」と言う。しかしより良い解決策（たとえばLibreDRMのようなものを作るなど）を出せず、ただ盲目的に反対しているだけだ。\nオープンソースコミュニティのfragmentationは、長期にわたりLinuxディストリビューションの遺伝子であり、一部のユーザーは意図的に人と違うことを好み、奇妙なディストリビューションを推進する。さらには単に違うことだけのために多元性が必要だと主張する。しかし一部のものは、やはり標準化したほうがよい。この案はすべての人を満足させることはできないが、少なくとも結果はそれほど悪くならない。\n主流のLinuxディストリビューションとは何か # 本題に入る。\n非主流Linuxディストリビューションに対する私の見方は下図の通りだ。この画像は本当に爆笑ものだ。ドラマ『ハンナ・モンタナ』を題材に作られたHannah Montana Linuxは、間違いなく最も有名なmeme distroの一つだ。これで他のディストリビューションと戦うつもりなのか？ もちろん、niche distroとmeme distroにはまだ差がある。どのディストリビューションが比較的主流で、どれがニッチなのかを定義するのは難しい。なにせMX Linuxでさえ、かつてDistroWatchのランキングを占拠したことがある。あのSystemdを採用しない、わけのわからない異端でさえだ。しかし最後に笑うのは、五年十年を経てもなおトップ10に残るLinuxディストリビューションであることが多い。\n私情を挟むなら、最も主流のLinuxディストリビューションは：Debian、Ubuntu、Linux Mint、RHEL、Fedora、Rocky Linux、Arch Linux、openSUSE、Gentooだ。彼らは千錘百錬を経ており、コミュニティも十分大きい！ユーザーは世界各地にいる。原廠が提供するものだけで十分であり、派生Linuxディストリビューションを使う必要はない。\n実際、長く使っていれば何が主流のディストリビューションなのか徐々にわかってくる。Githubで公開されている小規模ソフトウェア開発者のプロジェクトを見てみればよい。Flatpak/AppImage/Snapを使わない場合、彼らはどの形式のソフトウェアパッケージを優先して出すだろうか？高い確率で.debと.rpmだろう。あなたのパッケージがなければ、自分でコンパイルするのか？\nさらに言えば、Ubuntuの派生ディストリビューションでさえ、APT依存関係崩壊の状況が起こりうる（たとえばUbuntuパッケージがZorinOSで使えるとは限らない）。ならば、さらにニッチなディストリビューションはどうなるのか？維持者の腕前次第だ。彼らのドキュメントが十分詳細で、ユーザーが困難に遭遇した時に助けられるか、さらにソフトウェア品質も維持しなければならない。誰もがSlackware作者のようにすごいわけではない。\n特定のPCハードウェアへ適合させるために努力して開発されたディストリビューション、たとえばPop_OS!、Tuxedo OS、Asahi Linuxについては、私は彼らの努力を尊重する。しかし彼らは結局、Debianほど「general-purpose」ではない。一般ユーザー、つまり上流へ貢献するつもりのない無料乗りユーザーにとって、非主流ディストリビューションを選ぶことは自分を苦しめることだ。厳しく言えば時間の無駄である。たまに遊ぶのはよいが、生産の主力にはできない。\nSystemdとFreeDesktopはより広く受け入れられている標準 # Linuxにはディストリビューションが多すぎて、断片化が深刻だ。これはLinus Torvaldsも語ったことがあり、さらにbreak userspaceを特に好む。\n長年にわたるオープンソースコミュニティの風土も、多くの「標準」を生み出した。xkcdの漫画は皆も見たことがあるはずだ。一つのオープンソースソフトウェアには同時に複数の解決策が殺し合い、最後はコミュニティの承認によって生き残る。 近年で唯一、勝利が確定した例はSystemdだ。initの戦場で、伝統的なSysVinit、さらにS6、runit、dinit、OpenRCなどの代替案を打ち倒し、少数のディストリビューションだけがまだ抵抗している。\n私は、Systemdが何でも管理し、システムサービスを統一管理するやり方にとても賛同している。systemd-homedやsystemd-nspawnを使ってもよいとさえ思う。\nさらに、Systemdと比べると、Linuxコミュニティ内で受け入れ度が比較的高い「標準」は、FreeDesktop.orgが制定した一連の仕様だろう。それはデスクトップソフトウェアの開発者に標準を与え、ソフトウェアが設定ファイルをどこに探しに行けばよいのかわからない状況を避けさせる。\n特化したニッチディストリビューション、No # Linuxの問題は選択肢が多すぎることにある。ソフトウェアの多様化だけならまだよい。しかし底層のグラフィカルデスクトップ環境やシステムサービスまで無理に「多元化」しようとすると、物事は複雑になる。\n上でSystemdの天下統一について話した。今では、さまざまな理由でSystemdを使わないのはニッチなディストリビューションだけになっている。\n次に話すのは、特化Linuxディストリビューションの問題だ。\nLinuxディストリビューションについて言えば、私は特化ディストリビューションのやり方に強い反感を持っている。たとえば中国には改造されたdeepinがあり、台湾にはezgoがある。彼らは国情の需要のために特別に改造し、彼らがあなたに必要だと思う一連のソフトウェアをプリインストールしていると言う（特にWindowsやAndroid操作に慣れたユーザー向けに）。bullshit！華国美学のデザインはLinuxデスクトップの美学を破壊している。あれこれよくわからないソフトウェアを内蔵する。入れたければ自分で入れられないのか。こうしたことをするより、上流のlocalizationに貢献したほうがよい。\n私見では、自分のLinuxディストリビューションを保守し、いわゆる「大補帖CD」を自作することに時間を費やすより、人々の力を集め、精力を「mainstream」と「general-purpose」システムの開発作業に注ぐほうがよい。そして皆にFreeDesktopの標準に従って作業するよう呼びかけ、downstream patchやdistro-specificなhackをやらないようにすべきだ。\nえ、でもUbuntu自体もDebianを改造し、変更したGNOMEを推進しているシステムではないか。彼ら自身が上流のものを壊している。\n「純粋」なLinuxシステムを追求するなら、その選択肢は存在しない。おそらくDebianとFedoraのほうがvanillaソフトウェアの標準に合っている。\nしかしデスクトップユーザーにとって、使いやすさと知名度など種々の考慮のもと、商業会社が支援するUbuntuは依然として最良の選択だ。少なくともUbuntu LTSはDebian Stableより少し不安定なだけである。Fedoraがユーザーを実験用モルモットとして飼うのをやめるまでは、私はそれを推薦しない。Canonical社はしょっちゅう変な決定をするけれども。Ubuntuは自分たちの変更をupstreamするのを好まないとコミュニティから批判されてもいる。はあ！\n少なくとも皆、Ubuntu向けのものの開発に集中すればいいのでは？No No No、なぜ私がUbuntuの標準に従わなければならないのか？\n実は私もUbuntuには不満がある。たとえばGNOMEは本当にKDE Plasmaほど使いやすくない。だから私はGNOMEに適応するのではなく、Kubuntuを入れる。\nそう、私は「標準」と統一性を追求しているとはいえ、GNOMEのようなゴミを使うよう私に強制することはできない。たとえそれが最大シェアであっても無理だ。no way !私はKDE Plasmaを使う。\n過激すぎるディストリビューションも、No # 正直に言って、私は過激すぎるやり方を取るLinuxディストリビューションにはあまり賛同しない。たとえば私がシステムバックアップ戦略を論じると、いつも少数の人だけが使っている某Fedora CoreOS派生を勧めてくる人がいる。非主流のBTRFSバックアップ法を宣伝し、immutable rootfsと組み合わせてシステムを保護する。rollbackは素晴らしいが、私は一日中rollbackしたくない。特にrolling更新ベースのディストリビューションは安定しにくい。\n純Wayland環境はすでに過激な特性とは言えない。現在、未来の傾向として「immutable distro」を採用する動きがある。これが従来の伝統的なパッケージ更新方式を置き換えることに成功するかはわからない。皆がChromeOSモデルに縛られることを甘んじて受け入れるnormieだと本気で思っているのか？\nついでに言うと、今また新しいArchディストリビューションが台頭している。前のいくつかはChakra、Manjaro、EndeavourOSで、今度は何だ、CachyOS？信じてほしい。あなたは遅かれ早かれpure Arch Linuxに戻ることになる！\nこれは、以前Bilibiliに動画をpoしていた頃を思い出させる。いつも魔怔人がコメントに来て、Redox OSを使うべきだと言う人がいた。最も安全な言語Rustで書かれているからだという。私も以前、Windows XPの古いPCを復活させたいと尋ねる投稿の下で、Plan 9を入れろとコメントしたことがある。その人は違うOSを試したいと言っていたのだから、なぜ私が勧めたものを入れる勇気がないのか？だいたいこういう通ぶりたい心理である。\n誰もが自分がどれほど特別かを示したがる。しかし、過激すぎる作風はすべての人に向いているわけではない。\nでは結局どれを使えばいいのか？ # 実は自分もすべてを「主流に迎合」できているわけではない。そうすれば、私は流れに身を任せる木偶になってしまうではないか？\nたとえば、私の性格は自由ソフトウェア精神に近く、本来ならDebian Stableを使うほうが向いているはずだ。しかし大衆に迎合するため、より「主流」のUbuntu LTSを選んだ。ただし少しの反逆心理から、KDE Plasmaを搭載した変種を選び、GNOMEに視野を制限されることを拒んだ。 思うに、このような「反逆精神」こそがLinuxコミュニティの断片化をもたらすのだろう。誰もが少しずつ異なる考えを持っているなら、自分でデスクトップを書き、さらにはディストリビューションを創設することさえ不思議ではない。これこそオープンソースソフトウェアに定められた呪いだ。すべての人を満足させる案は永遠に現れない。Appleのように信仰を売れる会社があるか、GoogleのChromebookが大量に安売りされ、すべての人に整然と統一されたユーザーインターフェイスを受け入れさせない限り。\nわかった、わかった。皆の考えはそれぞれ違う。すべての人の好みに適用できるLinuxディストリビューションは存在しない。\nしかし私は、現段階では、最も多くのコミュニティ合意を収容するLinuxディストリビューションを選ぶべきだと思う。主流で成熟したものを選ぶべきであり、どこかのniche distroで自分の視野がいかに独特かを示しながら、統一性を無視すべきではない。\n","date":"2025年8月26日","externalUrl":null,"permalink":"/ja-jp/posts/can-monopoly-save-linux-from-fragmentation/","section":"Foss-Issues","summary":" おすすめのLinuxディストリビューションは何か？私に言えるのは、主流のLinuxディストリビューションをもっと使うべきだ、ということだけだ。\nLinuxを長く使うほど、独裁で断片化問題を解決したくなる。しかし自由ソフトウェアが統一されることは不可能だ。\nFOSSのrabbit holeを深く掘れば掘るほど、自分が反多元化の側に立っていることにだんだん気づく。\nあるジョークがある。Linux PCがウイルスに感染するのは難しい。なぜならディストリビューションが多すぎて、各システムのライブラリも違うので、ウイルスを実行するとno such file or directoryと表示されやすいからだ。\nこの問題を解決するには、皆に、自分が何を追求しているのかよく考えようと呼びかけるしかない。\n私はLinuxコミュニティの意思決定権を持っていない。これはただ私自身の考えだ。 また一篇のrantである。\n多元のための多元 # まず一篇の記事から見ていこう：Grub \u0026 Systemd, A FOSS Monopoly. Am I the only one that sees Linux Unity as a bad idea? これを見て、私は思わずこう思った：「お前は先祖より賢いとでも？張獻忠.jpg」というミーム画像だ。 ","title":"なぜ主流Linuxディストリビューションを選ぶことを勧めるのか？ニッチなディストリビューションには問題が多い","type":"foss-issues"},{"content":"Configuring Waydroid only session on Linux. Turning a Linux tablet into a semi-Android tablet.\nWaydroid會將Android APP的畫面繪製在Linux桌面的Wayland合成器上。\n那麼是否可以在Linux安裝Waydroid，並透過顯示管理器進入Android系統。\n簡言之，在Linux電腦開機登入之後自動進入Waydroid，好似在操作Android-x86系統一樣的感覺。\n這有啥用\u0026hellip;？我能想到的應用場景，就是把Linux平板「暫時」當作Android平板使用吧！\n抑或是，把裝有Ubuntu Touch或postmarketOS的PinePhone暫時變成Android手機？\n我為了將Linux平板PineTab 2變成　偽．Android平板，所以嘗試了這個作法。\nWaydroid官方文件稱這種操作叫做\u0026quot;Waydroid only session\u0026quot;\n嚴格來說，Waydroid沒有合成器，需要依賴一個Wayland合成器才可以啟動。把Waydroid做成一個能夠啟動桌面環境工作階段的Desktop Entry，讓Linux的顯示管理器能夠認到，並以此啟動Waydroid。\n並且Waydorid是跑在LXC容器裡面的，無法存取Linux硬體的相機和家目錄的檔案，除非手動bind mounut進去使用。\nWaydroid能做的事情有限，如果你選的Wayland合成器太簡陋，那麼關機需要打指令。\n1. 從實用性考慮 # 先說結論，不推薦使用Waydroid only session，卻沒有搭配桌面環境。因為Waydroid不是完整Android系統，容器內部無法控制外部Linux系統的音量、亮度、螢幕方向，也無法自主關機，甚至沒辦法鎖定螢幕。\n結果是會變成這樣： 如果需要讓Waydroid儘可能全螢幕，又不要讓桌面環境佔用太多資源，推薦搭配輕量的Wayland合成器使用，例如Phosh、Sway、SXMO、Gamescope等等。他們允許你自由組裝出現在桌面上的元件。\n這樣的話會比較好控制Waydroid的行為： 2. Cage + 新增Desktop Entry # Waydroid官方文件提到GNOME Mutter、Weston、Wayfire的作法。我覺得Kwin或Sway應該也行吧？但我們這邊的目的是儘量簡單，只要啟動Android就好，不要其他元件。\n所以我選擇用Cage這個啟動單一Wayland Client的小程式，啟動全螢幕的Waydroid工作階段。\n確認Waydroid開機後服務會自動啟動 sudo systemctl enable waydroid-container 安裝Cage sudo apt install cage 在新增一個Desktop Entry，它會出現在顯示管理器的選單 sudo vim /usr/share/wayland-sessions/waydroid.desktop 填入以下內容： [Desktop Entry] Name=WayDroid in Cage Comment=Android OS in a container Exec=/usr/bin/cage waydroid show-full-ui Type=Application 重開機。在顯示管理器的畫面點選Waydroid的按鈕啟動。 3. 另一種解法：Gamescope + Waydroid # Gamescope可以將Steam客戶端的Big Picutre Mode當作一個桌面環境使用，而且不太吃資源。那麼我們只要在Steam新增啟動Waydroid的捷徑就可以從這裡啟動Waydroid，並用Steam選單控制電腦硬體。\n開啟Steam客戶端，點選遊戲 → 新增一個非Steam的遊戲到我的收藏庫，選取Waydroid。\n將Gamescope設定為一個Desktop Session\n然後在Gamescope這裡啟動Waydroid。即使進入全螢幕，依然可以點選Steam的選單切換到其他遊戲。不過我測試下Waydroid似乎無法正常啟動。\n4. 登入桌面自動啟動Waydroid的作法 # 如果是希望「登入桌面環境後，自動啟動Waydroid並視窗最大化」，那麼用XDG Autostart就行了。把Waydroid的Desktop Entry複製過去：\ncp ~/.local/share/applications/Waydroid.desktop ~/.config/autostart/ 以上作法限定Wayland工作階段的桌面環境。\n部份Wayland合成器能夠在現有的X11工作階段啟動，變成巢狀Wayland工作階段：在Linux X11桌面用Weston啟動Waydroid，不依賴Wayland協定桌面\n","date":"2025年8月23日","externalUrl":null,"permalink":"/posts/waydroid-only-session/","section":"所有文章","summary":"Configuring Waydroid only session on Linux. Turning a Linux tablet into a semi-Android tablet.\nWaydroid會將Android APP的畫面繪製在Linux桌面的Wayland合成器上。\n那麼是否可以在Linux安裝Waydroid，並透過顯示管理器進入Android系統。\n簡言之，在Linux電腦開機登入之後自動進入Waydroid，好似在操作Android-x86系統一樣的感覺。\n這有啥用…？我能想到的應用場景，就是把Linux平板「暫時」當作Android平板使用吧！\n抑或是，把裝有Ubuntu Touch或postmarketOS的PinePhone暫時變成Android手機？\n我為了將Linux平板PineTab 2變成　偽．Android平板，所以嘗試了這個作法。\nWaydroid官方文件稱這種操作叫做\"Waydroid only session\"\n嚴格來說，Waydroid沒有合成器，需要依賴一個Wayland合成器才可以啟動。把Waydroid做成一個能夠啟動桌面環境工作階段的Desktop Entry，讓Linux的顯示管理器能夠認到，並以此啟動Waydroid。\n並且Waydorid是跑在LXC容器裡面的，無法存取Linux硬體的相機和家目錄的檔案，除非手動bind mounut進去使用。\nWaydroid能做的事情有限，如果你選的Wayland合成器太簡陋，那麼關機需要打指令。\n","title":"把Waydroid當Linux桌面環境，開機直接進入Android系統","type":"posts"},{"content":"","date":"2025年8月23日","externalUrl":null,"permalink":"/tags/hyprland/","section":"標籤","summary":"","title":"Hyprland","type":"tags"},{"content":"如果你想要一款漂亮的、面向未來的視窗管理器，Ivon推薦你一定要試試Hyprland！\nHyprland是使用wlroots函式庫寫成的Wayland合成器，由Vaxry (vaxerski) 開發，2022年5月推出正式版。2024年6月，因為作者不願意推出Code of Conduct，加上Hyprland社群用戶在Discord群組惡整跨性別人士，被FreeDesktop.org長臂管轄，踢出Gitlab儲存庫的存取權限，導致Hyprland成為獨立的合成器，不再嚴格基於wlroots開發。 它跟Sway一樣，都是為純Wayland的Linux環境準備的合成器，替代過去以X為主的視窗管理器。\n相較於Sway意圖模仿i3wm的極簡風格，預設模式下什麼都沒有，Hyprland作者有自己更多的想法。Ivon很滿意的部分是，Hyprland能輕鬆自定義外觀和按鍵設定，且預設的樣子就不錯看了，內建圓角、模糊、透明效果可以調，不用再裝其他程式。\nHyprland支援觸控板手勢、Nvidia閉源驅動、bspwm或i3wm的視窗排列方式，功能多樣。\nHyprland甚至有內建看板娘Hypr-chan呢！ 即使擁有華麗特效，開機RAM佔用才500MB出頭而已，讓你高效率操作電腦的同時，又不佔用太多系統資源。\n雖然如此，Hyprland仍不是開箱即用的「桌面」，你需要花點時間配置。它畢竟是視窗管理器，需要搭配其他程式才會好用。設定時勤讀官方文件、配置設定檔、手動寫啟動服務是免不了的。\n這篇教學文章Ivon盡量把常用的功能都包進去，使讀者可以手動配置出一個大致能用的Hyprland桌面，再融入我的一點個人化配置。 環境 # 電腦：MSI Modern 15 A10RBS 系統：Arch Linux CPU：Intel i5-10210u GPU：Intel UHD 620 GPU2：Nvidia MX350 Arch Linux系統安裝方法此處不贅述，你可以用archinstall安裝一個純文字最小系統再裝Hyprland；或是從現有桌面環境設定Hyprland，再沿用其顯示管理器（例如GDM、SDDM、LightDM）來登入Hyprland。\nIvon的主力GPU用Intel內顯，Nvidia安裝閉源驅動，再透過PRIME存取。\n1. 安裝Hyprland # 最好用滾動發行版，例如Arch Linux、Fedora、openSUSE Tumbleweed，以方便取得最新版Hyprland套件。\n因為如果發行版收的套件版本太舊，你可能就無法參考官方文件調整設定檔了！Ubuntu和Debian用戶可能得找第三方套件庫才能安裝最新版Hyprland。\nArch Linux不用擔心版本問題，直接從官方套件庫裝Hyprland。\nsudo pacman -S hyprland 1.1. Hyprland配套程式 # 建議安裝這些程式搭配Hyprland使用，使其成為完整的桌面環境。有些套件是AUR的，嫌麻煩直接用yay指令裝就行了，它會自動辨別。\nyay -S kitty waybar otf-font-awesome network-manager-applet brightnessctl pw-volume hyprshot power-profiles-daemon wofi hyprpaper swayidle swaylock wlogout dunst cliphist pipewire pipewire-pulse wireplumber pavucontrol xorg xorg-xwayland xdg-desktop-portal-hyprland xdg-desktop-portal-gtk polkit-kde-agent qt5-wayland qt6-wayland qt5ct qt6ct nwg-look udiskie greetd greetd-tuigreet chezmoi fcitx5-im fcitx5-chewing fcitx5-qt fcitx5-gtk fcitx5-chinese-addons 這些套件功能如下：\nkitty 支援GPU加速的終端機，可以在終端機內顯示圖片，需要寫設定檔組態 waybar, otf-font-awesome 狀態欄與Emoji字體 network-manager-applet 從狀態欄開關網路，搭配NetworkManager管理網路 brightnessctl 螢幕亮度控制 pw-volume 音量控制 hyprshot 截圖工具 power-profiles-daemon 電源模式控制 wofi 應用程式選單 hyprpaper 桌布程式 swayidle , swaylock, wlogout 暫停模式，螢幕鎖定，登出選單 dunst 桌面通知守護行程 cliphist 剪貼簿 pipewire, pipewire-pulse, wireplumber, pavucontrol 音訊系統 xorg, xorg-xwayland X視窗系統，不是所有程式都支援Wayland。使用XWayland相容舊版X11程式 xdg-desktop-portal-hyprland, xdg-desktop-portal-gtk 負責檔案選擇器、螢幕共享等功能。如果程式使用XDG Desktop Portal API，就會需要用到。我裝GTK是因為有些功能Hyprland沒實作，GTK當作備用 polkit-kde-agent 密碼驗證對話框 qt5-wayland ,qt6-wayland 讓QT程式支援Wayland udiskie 自動掛載隨身碟 qt5ct, qt6ct 設定QT程式主題 nwg-look：設定GTK程式主題 greetd, greetd-tuigreet 開機負責登入桌面的顯示管理器。選擇性，如果已經有顯示管理器就不需要裝 chezmoi 備份各個程式設定檔(dotfile)的好工具 fcitx5 中文輸入法 1.2. 命令行狂人適用的程式 # 這裡是極簡應用程式，命令行狂人適用。我個人不太會用這些，因為我覺得不直觀\u0026hellip;看圖的話我習慣用Gwenview，檔案管理器則是Dolphin、錄影用OBS等。\nranger 檔案管理器 mpd 搭配Waybar的音樂播放器 mpv 影片/音樂播放器 youtube-tui 純文字YouTube播放器 vim 文字編輯器 feh 圖片檢視器 mupdf 文件閱讀器 wl-recorder 螢幕錄影 qutebrowser 極簡QtWebEngine瀏覽器，用類似vim快捷鍵的方式操作 2. 撰寫Hyprland設定檔 # 想知道全部可用選項，請看Hyprland官方的說明文件，詳細明瞭：Configuring Hyprland - Hyprland Wiki\n這裡講Ivon個人的設定，盡量保留預設並另外加功能。\n複製Hyprland預設設定檔到自身的家目錄 mkdir ~/.config/hypr cp /usr/share/hypr/hyprland.conf ~/.config/hypr/hyprland.conf 用vim編輯 vim ~/.config/hypr/hyprland.conf 大致上，hyprland.conf檔案的結構可以切成四塊： exec區塊的定義啟動Hyprland跟著啟動的程式 環境變數 外觀、動畫、手勢的設定 bind的區域是快捷鍵綁定。 個別程式視窗規則 雖然Hyprland沒有嚴格規定設定檔的順序，但為了方便討論我沿用此規則。\n螢幕設定 (Monitors) # 如果有的話，將auto-generated=1警告註解掉。 # autogenerated = 1 螢幕規則，設定自動取得螢幕名稱、使用螢幕最高解析度、自動取得座標。因為我的螢幕比較小，這裡設定全域縮放為1.15倍，不然就用auto。 monitor =,highres,auto,1.15 此設定會自動套用第二個螢幕，因為我不確定外接的第二個螢幕會是什麼解析度，所以就讓它自動偵測。 自動執行的程式 (Autostart) # 設定要啟動的程式，exec-once跟exec的差別在於，前者要重新登入桌面才會啟動，後者則是每編輯一次設定檔就會自動重啟。\n先匯入systemd環境變數，瀏覽器類的程式會用到。\nexec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP 再啟動fcitx5、dunct、nm-applet、剪貼簿服務。 exec-once = hyprpaper exec-once = wl-paste --type text --watch cliphist store exec-once = wl-paste --type image --watch cliphist store exec-once = waybar exec-once = nm-applet exec-once = fcitx5 -d --replace exec-once = dunst exec-once = /usr/lib/polkit-kde-authentication-agent-1 exec-once = udiskie \u0026amp; 如果你的程式可以用systemd服務啟動那就不用寫在這邊。 環境變數 (Environment variables) # env環境變數的寫法為env = 名稱, 數值\n設定滑鼠大小 env = XCURSOR_SIZE,24 指定目前的工作階段為Hyprland，防止某些程式認錯 env = XDG_CURRENT_DESKTOP, Hyprland env = XDG_SESSION_TYPE, wayland env = XDG_SESSION_DESKTOP, Hyprland 指定所有程式都使用Wayland，QT程式使用kvantum當主題。不過QT程式因為縮放有點問題，所以我設定QT優先使用X而非Wayland協定。 # 預設文字編輯器 env = EDITOR, vim # 指定使用Wayland env = GDK_BACKEND, \u0026#34;wayland,x11\u0026#34; env = QT_QPA_PLATFORM, \u0026#34;xcb;wayland\u0026#34; env = QT_QPA_PLATFORMTHEME, qt6ct 還有設定全域縮放比例（應該只對XWayland程式有效），依照程式框架個別設定 env = QT_AUTO_SCREEN_SCALE_FACTOR, 1 env = QT_SCALE_FACTOR, 1.15 env = GDK_DPI_SCALE, 1.15 再設定Fictx5的環境變數 env = GTK_IM_MODULE, fcitx env = QT_IM_MODULE, fcitx env = XMODIFIERS, @im=fcitx Intel、AMD顯示卡不需要特別設定即可獲得GPU硬體加速；如果是用Nvidia專有驅動的話需參考Hyprland作者的說明設定一些環境變數。\n注意有時從終端機或Waybar手動啟動程式，程式可能還是吃不到Hyprland環境變數，這時就得將環境變數放到~/.config/environment.d/envvars.conf或/etc/environment解決。\n動畫視窗裝飾 (Look and feel) # 動畫、視窗裝飾這部份看個人喜好調整，我沒有做太多修改。僅修改rounding讓視窗圓角不要那麼圓。\n視窗排列模式\n視窗排列模式分成dwindle與master\ndwindle模式即bspwm，視窗大小是動態變化的。\nmaster模式就是i3wm那樣，一個視窗開在左邊，新視窗會從右邊依序分割開啟。\n我維持dwindle模式，不更動。\n雜項\n看需求，在misc這塊，使用這二個變數，開啟或關閉Hyprland的預設桌布及看板娘。\nmisc { force_default_wallpaper = -1 disable_hyprland_logo = false } 輸入 (Input) # 啟用觸控版切換工作區的手勢。設定輕觸等同按下，觸控板等同滑鼠右鍵，雙指點選為左鍵 gestures { workspace_swipe = true } touchpad{ tap-to-click = true } 加上這條，關閉XWayland的自動縮放，防止程式字型模糊。縮放部份用環境變數調整就可以了。 xwayland { force_zero_scaling = true } 按鍵綁定 (Keybindings) # 鍵盤綁定部分預設的我沒改，Mod鍵維持Super鍵(Windows鍵)\n我另外綁了鎖定鍵、音量鍵、亮度調節鍵、截圖鍵。想確認具體按鍵代碼可以用wev程式偵測。\n# Mod + Shift + 方向鍵調整視窗大小 binde = $mainMod SHIFT, right, resizeactive, 10 0 binde = $mainMod SHIFT, left, resizeactive, -10 0 binde = $mainMod SHIFT, up, resizeactive, 0 -10 binde = $mainMod SHIFT, down, resizeactive, 0 10 # 全螢幕擷圖鍵 bind = , PRINT, exec, hyprshot -m output 視窗規則 (Window Rules) # 如果不知道視窗具體名字請用hyprctl clients指令查詢。\n視窗規則可用class:程式名稱選取要設定規則的視窗，比如我設定pavucontrol音量控制面板一律懸浮。\nwindowrule = size 50% 50%, center, floating:(pavucontrol) 我還設定所有懸浮視窗一律置中，並限制最大寬高50%，防止檔案選擇器這類的視窗過於巨大。冒號後面用星號選取所有符合此類型的程式視窗\nwindowrule = size 50% 50%, center, floating:* 終於弄好了，但還沒完呢！\nHyprland支援邊改設定檔邊套用變更。作者說法是一修改設定檔便會自動套用變更，但如果沒反應的話請用指令強制重新載入設定檔，或者重新登入桌面。\nhyprctl reload 3. 設定Hyprland的配套程式 # 狀態欄Waybar的設定 # 將自己加入input群組 sudo usermod -a -G input $USER 編輯預設設定檔 mkdir ~/.config/waybar/ cp /etc/xdg/waybar/* ~/.config/waybar/ vim ~/.config/waybar/config.jsonc 將Waybar放在所有視窗最上層 \u0026#34;layer\u0026#34;: \u0026#34;top\u0026#34;, 最上面的\u0026quot;modules\u0026quot;是狀態欄要顯示的按鈕，不要的直接從json陣列移除就可以了，例如mpd用不到就刪除。另外加入工作區編號指示器hyprland/workspaces、登出按鈕wlogout。除了Waybar內建的按鈕之外，自訂的按鈕以custom/開頭。 \u0026#34;modules-left\u0026#34;: [\u0026#34;hyprland/workspaces\u0026#34;, \u0026#34;custom/wofi\u0026#34;, \u0026#34;custom/brave\u0026#34;, \u0026#34;custom/dolphin\u0026#34;], \u0026#34;modules-center\u0026#34;: [], \u0026#34;modules-right\u0026#34;: [\u0026#34;idle_inhibitor\u0026#34;, \u0026#34;pulseaudio\u0026#34;, \u0026#34;backlight\u0026#34;, \u0026#34;keyboard-state\u0026#34;, \u0026#34;hyprland/language\u0026#34;, \u0026#34;battery\u0026#34;, \u0026#34;tray\u0026#34;, \u0026#34;clock\u0026#34;, \u0026#34;custom/wlogout\u0026#34;], 因為不支援圖片，Waybar使用Font Awesome、Emoji、Unicode當小圖示，如果電腦無法顯示請安裝相應字型，或者將其改為ASCII符號。\n下滑到\u0026quot;network\u0026quot;這一段，設定隱藏網路SSID名稱還有 IP位址，把這些資訊改放到tooltip欄位。\n\u0026#34;network\u0026#34;: { // \u0026#34;interface\u0026#34;: \u0026#34;wlp2*\u0026#34;, // (Optional) To force the use of this interface \u0026#34;format-wifi\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;format-ethernet\u0026#34;: \u0026#34;{ifname} \u0026#34;, \u0026#34;tooltip-format\u0026#34;: \u0026#34;{essid} {signalStrength}% {ifname} via {gwaddr} \u0026#34;, \u0026#34;format-linked\u0026#34;: \u0026#34;{ifname} (No IP) \u0026#34;, \u0026#34;format-disconnected\u0026#34;: \u0026#34;Disconnected ⚠\u0026#34;, \u0026#34;format-alt\u0026#34;: \u0026#34;{ifname} {gwaddr}\u0026#34;, \u0026#34;tooltip\u0026#34;: true }, 最下面加入\u0026quot;custom/wlogout\u0026quot;的按鈕，設定點選啟動登出面板 \u0026#34;custom/wlogout\u0026#34;:{ \u0026#34;format\u0026#34;:\u0026#34;\u0026#34;, \u0026#34;on-click\u0026#34;:\u0026#34;wlogout\u0026#34; } wlogout面板提供待機、鎖定螢幕、重開機的選單，需要進一步設定的請複製cp /etc/wlogout/* ~/.config/wlogout/後再編輯具體指令。待機因為我電腦的硬體支援度不佳所以沒啟用。\nWaybar的顏色樣式請編輯~/.config/waybar/style.css 桌布Hypraper的設定 # 桌布程式會疊在Hyprland預設的桌布上。\n編輯預設設定檔 vim ~/.config/hypr/hyprpaper.conf 填入桌布路徑，這裡我沿用GNOME的自訂桌布路徑。wallpaper後面留白指定全部螢幕都使用同一張桌布 preload = /home/user/.local/share/backgrounds/wallpaper.jpg wallpaper = ,/home/user/.local/share/backgrounds/wallpaper.jpg 登入畫面greetd設定 # 選擇性，如果已經有顯示管理器就不需要裝這個。\n由於tuigreetd是純文字介面，不需要設定背景。\n編輯設定檔 sudo vim /etc/greetd/config.toml 2.設定記住登入用戶，並在登入後執行Hyprland\n[default_session] command = \u0026#34;tuigreet --time --asterisks --remember --cmd Hyprland\u0026#34; 如果有裝其他桌面環境，將現有的顯示管理器停用，改啟用greetd sudo systemctl disable gdm sudo systemctl enable greetd 系統部分的設定 # 設定自動啟動NetworkManager服務 sudo systemctl enable NetworkManager 設定自動啟動電源管理模式的設定 sudo systemctl enable power-profiles-daemon 設定自動啟動PipeWire服務 systemctl enable --user pipewire systemctl enable --user pipewire-pulse xdg-desktop-portal服務應該會自動啟動，但也可以手動設定 systemctl enable --user xdg-desktop-portal-hyprland systemctl enable --user xdg-desktop-portal-gtk 複製xdg-portal-desktop設定檔到使用者家目錄 cp /usr/share/xdg-desktop-portal/hyprland-portals.conf ~/.config/xdg-desktop-portal/portals.conf 設定Portal偏好為Hyprland優先其次GTK。 [preferred] default=hyprland;gtk 設定完成後建議重開機。如果沒裝其他桌面環境，初次登入Hyprland要手動產生使用者家目錄： sudo pacman -S xdg-dirs-update LC_ALL=C xdg-user-dirs-update --force 4. Hyprland操作方式 # Hyprland的視窗(window)是平鋪在螢幕上的，開新程式會直接顯示在目前程式的旁邊，不會重疊。\nHyprland提供多個工作區(workspace)用於擺放多個不同的程式，例如工作區1放瀏覽器，工作區2放文字編輯器。\ndwindle模式下，Hyprland開的新視窗會按照滑鼠所在位置決定。\n預設按鍵綁定 # Hyprland預設綁定的Mod鍵是Windows鍵，桌面的操控方式如下：\nMod + Q 開啟終端機 Mod + C 關閉目前聚焦的視窗 Mod + M 終止Hyprland Mod + E 開啟檔案管理器 Mod + V 讓視窗懸浮 Mod + R 開啟Wofi Mod + P 固定目前視窗大小 Mod + J 切換垂直與水平視窗排列 Mod + 方向鍵(或l/r/u/d) 切換視窗聚焦 Mod + 數字鍵 切換工作區 Mod + Shift + 數字鍵 將視窗移動到該工作區 Mod + S，開啟scratchpad（將視窗最小化後集中的特殊工作區） Mod + Shift + S，將視窗移動到scratchpad Mod + 滑鼠滾輪 在工作區間切換（觸控板是三指手勢滑動） Mod + 滑鼠左鍵 移動視窗 Mod + 滑鼠右鍵 調整視窗大小 雙螢幕切換 # Hyprland預設每個螢幕一個工作區(跟window rule一樣，workspace也可以設定自動規則，參照官方文件)，拖動視窗可以把它丟到第二個螢幕。Hyprland預設是讓第二個螢幕顯示在左方。\n如果要設定螢幕相對位置，則使用hyprctl monitor指令取得所有螢幕名稱，再於hyprland.conf個別設定解析度。由於螢幕的座標數值是從左上角開始計算的，指定X軸便可以控制螢幕的相對方位。\n# 使螢幕DP-1位於DP-2的左邊 monitor=DP-1, 1920x1080, 0x0, 1 monitor=DP-2, 1920x1080, 1920x0, 1 # 使螢幕DP-1位於DP-2的右邊 monitor=DP-1, 1920x1080, 1920x0, 1 monitor=DP-2, 1920x1080, 0x0, 1 也可以用mirror設定鏡射模式，讓第二螢幕跟第一螢幕顯示同樣內容\n# 使DP-2螢幕鏡射DP-1的內容 monitor=DP-2,highres,auto,1,mirror,DP-1 需要獨顯加速請使用Nvidia PRIME指令。\n順帶一提Hyprland可以用hyprctl做虛擬輸出，方便在SSH或分享螢幕的時候做個假螢幕出來\n# 做個Wayland的第二螢幕 hyprctl output create wayland # SSH遠端啟用 hyprctl output create headless 一些應用程式問題 # 要設定GTK程式主題，執行nwg-look；QT則是qt5ct。\nFirefox的Wayland支援狀況良好。\nChromium系瀏覽器在最新版預設應該都是用Wayland了。不會有過去XWayland縮放與字體模糊問題。\nGTK的檔案選擇器會莫名變很大，可能要設定window rule。\n終端機啟動X11程式如果吃不到環境變數，請在~/.config/environment.d/envvars.conf加入DISPLAY:0\n5. 用chezmoi備份dotfile # 將Hyprland及配套程式的設定檔集中管理，備份到私人Git儲存庫。\n參考Chezmoi使用教學\n參考資料 # hyprwm/Hyprland - Github Hyprland Reddit社群 Alexays/Waybar - Github twpayne/chezmoi - Github ","date":"2025年8月23日","externalUrl":null,"permalink":"/posts/hyprland-setup/","section":"所有文章","summary":"如果你想要一款漂亮的、面向未來的視窗管理器，Ivon推薦你一定要試試Hyprland！\nHyprland是使用wlroots函式庫寫成的Wayland合成器，由Vaxry (vaxerski) 開發，2022年5月推出正式版。2024年6月，因為作者不願意推出Code of Conduct，加上Hyprland社群用戶在Discord群組惡整跨性別人士，被FreeDesktop.org長臂管轄，踢出Gitlab儲存庫的存取權限，導致Hyprland成為獨立的合成器，不再嚴格基於wlroots開發。 它跟Sway一樣，都是為純Wayland的Linux環境準備的合成器，替代過去以X為主的視窗管理器。\n相較於Sway意圖模仿i3wm的極簡風格，預設模式下什麼都沒有，Hyprland作者有自己更多的想法。Ivon很滿意的部分是，Hyprland能輕鬆自定義外觀和按鍵設定，且預設的樣子就不錯看了，內建圓角、模糊、透明效果可以調，不用再裝其他程式。\nHyprland支援觸控板手勢、Nvidia閉源驅動、bspwm或i3wm的視窗排列方式，功能多樣。\nHyprland甚至有內建看板娘Hypr-chan呢！ 即使擁有華麗特效，開機RAM佔用才500MB出頭而已，讓你高效率操作電腦的同時，又不佔用太多系統資源。\n","title":"Hyprland設定教學，漂亮又不佔資源的Linux Wayland合成器","type":"posts"},{"content":"Waydroid是基於Anbox開發的Android LXC容器技術，可在Arch Linux系統執行Android APP。 1. Waydroid特色 # 以下是Waydroid的特色功能：\nLinux平台自由開源的Android容器解決方案，效能比Android-x86虛擬機要好 支援x86架構的Arch Linux系統，也可以在Arch Linux ARM使用 與宿主機共用剪貼簿 直接使用電腦顯示卡硬體加速，跑3D遊戲、看影片沒什麼問題。 內建GAPPS，可以使用Google Play 支援給x86裝置安裝ARM轉譯器 支援安裝Widevine DRM模組 支援刷入Magisk取得Root權限 2. 前置條件 # GPU需求 # 根據Waydroid開發者說法，由於Nvidia閉源驅動不照圖形驅動程式標準走的緣故，目前Waydroid只支援Intel和AMD的顯示卡，Nvidia顯示卡會沒畫面。若您為Nvidia顯示卡建議改用其他Android模擬器方案\n切換至Wayland # Waydroid必須使用Wayland顯示協定，用此指令檢查目前的工作階段是否為Wayland：\necho $XDG_SESSION_TYPE 若顯示X11代表不是Wayland。GNOME和KDE Plasma可在登入畫面切換至Wayland工作階段。\n如果想在X11工作階段使用Waydroid，請安裝Weston，啟動巢狀Wayland工作階段。\nbinder核心模組支援 # Waydroid要求Linux核心支援binder核心模組，Arch Linux官方套件庫的linux、linux-lts、linux-zen核心現在已經內建支援，因此無須額外安裝binder核心模組。若無，再從AUR安裝binder_linux-dkms補全。\n3. 安裝Waydroid # 安裝以下套件，讓Linux與Waydroid共享剪貼簿 sudo pacman -S wl-clipboard xclip python-pyperclip 安裝Waydroid sudo pacman -S waydroid 初始化Waydroid，下載含有GAPPS的Android系統映像檔 sudo waydroid init -s GAPPS -f 啟動Waydroid容器服務 sudo systemctl start waydroid-container # 開機自動啟動 sudo systemctl enable waydroid-container 點選應用程式列表的「Waydroid」圖示開啟主畫面，或者使用指令：waydroid show-full-ui 若Waydroid無法連上網路，開放防火牆規則，例如我用UFW：\nsudo ufw allow 53 sudo ufw allow 67 sudo ufw default allow FORWARD sudo ufw reload sudo systemctl restart waydroid-container 4. Waydroid的使用技巧 # 解決沒網路、觸控沒反應、無法使用Play商店、ARM轉譯器等問題，參見Waydroid使用技巧\n參考資料 # Waydroid - ArchWiki Install Instructions - Waydroid Waydroid container failed to start #189 折腾记录:Waydroid透过Weston在X11下运行 ","date":"2025年8月22日","externalUrl":null,"permalink":"/posts/archlinux-waydroid/","section":"所有文章","summary":"Waydroid是基於Anbox開發的Android LXC容器技術，可在Arch Linux系統執行Android APP。 1. Waydroid特色 # 以下是Waydroid的特色功能：\nLinux平台自由開源的Android容器解決方案，效能比Android-x86虛擬機要好 支援x86架構的Arch Linux系統，也可以在Arch Linux ARM使用 與宿主機共用剪貼簿 直接使用電腦顯示卡硬體加速，跑3D遊戲、看影片沒什麼問題。 內建GAPPS，可以使用Google Play 支援給x86裝置安裝ARM轉譯器 支援安裝Widevine DRM模組 支援刷入Magisk取得Root權限 2. 前置條件 # GPU需求 # 根據Waydroid開發者說法，由於Nvidia閉源驅動不照圖形驅動程式標準走的緣故，目前Waydroid只支援Intel和AMD的顯示卡，Nvidia顯示卡會沒畫面。若您為Nvidia顯示卡建議改用其他Android模擬器方案\n切換至Wayland # Waydroid必須使用Wayland顯示協定，用此指令檢查目前的工作階段是否為Wayland：\necho $XDG_SESSION_TYPE 若顯示X11代表不是Wayland。GNOME和KDE Plasma可在登入畫面切換至Wayland工作階段。\n","title":"Waydroid教學：在Arch Linux電腦跑Android APP","type":"posts"},{"content":"","date":"2025年8月20日","externalUrl":null,"permalink":"/tags/linux-from-scratch/","section":"標籤","summary":"","title":"Linux From Scratch","type":"tags"},{"content":"Linux From Scratch (LFS) 是一個教你從頭打造Linux系統的教科書，它不太算發行版，但有提供教材，讓你跟著書中的內容一步步編譯出自己的Linux系統。\n這篇文章Ivon將討論在虛擬機裡面安裝LFS的作法。\n做出了一個基本可用的GNU/Linux系統，使用Systemd當init系統，UEFI開機。LFS版本12.3。 從htop輸出的開機時間計算，這次在虛擬機安裝LFS大約花了22小時，比上一次2022年在實機安裝LFS要快了一些些。\n安裝完成後記得在LFS官網登記名字，並寫上第一次安裝的版號！ 1. LFS是否能在虛擬機安裝？ # 雖然LFS官方不推薦在虛擬機裡面安裝，建議實機操作，除了能夠加倍折磨自己之外，也能在debug硬體驅動的時候學到更多東西。不過硬要在虛擬機裝的話其實是可以的。\n使用虛擬機的好處當然就是方便練習，也不怕搞壞電腦檔案。方便保存LFS編譯的結果，稍作修改就可以安裝到實機上繼續使用。還有，透過虛擬機與宿主機共享剪貼簿，直接複製LFS書上的指令，在終端機貼上，不需要全程手打。 LFS的問題在於，官方不提供任何開機映像檔。即使是像Gentoo這類什麼都沒有的發行版，至少也有提供名為stage3的檔案系統與LiveUSB給使用者可以進行bootstrap，讓使用者能夠跳過建立檔案系統這一步。但LFS連bootstrap都沒有，就是得要從頭建立檔案系統，再來組裝其餘的Linux系統組件。\n這下知道拼圖的logo怎麼來的了吧。 為此，安裝LFS需要一個Linux系統環境，才能夠在硬碟上建立新的檔案系統，並chroot進去將LFS剩餘的組件編譯完成。\n從這個方向去思考的話，那麼只要建立一個Linux虛擬機，再於虛擬機裡面新增一塊空的虛擬磁碟，就能安裝LFS。\n2. 準備Linux虛擬機 # 關於虛擬機軟體，使用Virt Manager或VirtualBox都可以，只要能夠額外新增虛擬磁碟並掛載上去。我這裡是在Ubuntu上使用Virt Manager。\n安裝一個Ubuntu虛擬機，以UEFI開機，分配至少8GB RAM，還有64GB虛擬磁碟空間。\n安裝工具共享宿主機與虛擬機剪貼簿，例如Virt Manager就是安裝Spice Tools。然後關閉自動休眠。\n安裝完成後關機。新增一個空的虛擬硬碟，至少64GB。例如Virt Manager就是點選虛擬機 → 新增硬體 → 新增儲存空間，新增一個叫做linuxfromscratch.qcow2的磁碟映像檔。為防止驅動問題，使用SATA類型的磁碟。 在虛擬機開機之後，用lsblk指令確認，這塊未使用的空間就是能夠安裝LFS的地方。\n如果要閱讀LFS教材，除了在虛擬機內開啟LFS網頁之外，也可以選擇從宿主機SSH連線到虛擬機內部。這樣更方便貼上指令。\n3. 格式化虛擬磁碟 # 關於LFS的EFI與GRUB的安裝位置，我是直接安裝在新的虛擬磁碟，也就是LFS所在的磁碟，而非與Ubuntu虛擬機的EFI裝在一起，這樣它能夠自己獨立開機。因為我準備要安裝GRUB在這個新的磁碟，所以要建立兩個分區。虛擬機RAM夠大所以不建立SWAP。\n使用fdisk工具分割硬碟。 用lsblk指令確定虛擬磁碟裝置代號，我這裡是/dev/sda，因此用這個指令選取：\nsudo fdisk /dev/sda 建立EFI分區 # 使用GPT硬碟分割表 g #輸入d刪除全部分區 d #寫入 w fdisk /dev/sda #新增EFI分區 n 1 Fisrt sector: Enter Last Sector: +512M t #修改標籤為EFI uefi 建立根目錄分區 #新增根目錄分區 n 2 Fisrt sector: Enter Last Sector: Enter # 寫入變更 w 格式化EFI分區 sudo mkfs.vfat -F32 /dev/sda1 格式化根目錄分區，選取EXT4檔案系統 sudo mkfs.ext4 /dev/sda2 現在新的硬碟已經可以使用，將其掛載到/mnt/LFS，這是LFS手冊裡面環境變數$LFS使用的路徑。 sudo mkdir /mnt/lfs sudo mount /dev/sda2 /mnt/lfs sudo chown root:root /mnt/lfs sudo chmod 755 /mnt/lfs 如果不想每次執行指令都加sudo，使用su root切換為root帳號，再來建立LFS系統。\n在安裝好LFS系統之後，再新建一個空的UEFI開機的虛擬機，就可以用裝有LFS的虛擬磁碟開機。\n4. 開始安裝LFS系統 # 參考官網手冊指示安裝：Linux From Scratch Systemd Stable\n照著步驟走就行，到最後一章登出LFS的chroot系統，將Ubuntu虛擬機關機。然後把裝有LFS的虛擬磁碟掛接到另外一個虛擬機，應該能夠順利開機。\n當然了，LFS一開始很難自力更生，要往後讀BLFS的內容。你可能還是需要用Ubuntu虛擬機開機，然後用chroot進入LFS安裝額外套件。這個時候就把LFS的虛擬磁碟重新掛接在Ubuntu虛擬機就行了。\n5. 安裝Neofetch # Neofetch是印出系統資訊的小工具，因為用Bash寫的非常容易安裝。雖然已經停止維護了不過還能用。\n到Github將原始碼下載到/mnt/lfs/sources目錄，解壓縮，然後make install即可。\nNeofetch的替代品有Screenfetch、Fastfetch等等。\n","date":"2025年8月20日","externalUrl":null,"permalink":"/posts/install-linux-from-scratch-on-qemu-kvm/","section":"所有文章","summary":"Linux From Scratch (LFS) 是一個教你從頭打造Linux系統的教科書，它不太算發行版，但有提供教材，讓你跟著書中的內容一步步編譯出自己的Linux系統。\n這篇文章Ivon將討論在虛擬機裡面安裝LFS的作法。\n做出了一個基本可用的GNU/Linux系統，使用Systemd當init系統，UEFI開機。LFS版本12.3。 從htop輸出的開機時間計算，這次在虛擬機安裝LFS大約花了22小時，比上一次2022年在實機安裝LFS要快了一些些。\n安裝完成後記得在LFS官網登記名字，並寫上第一次安裝的版號！ 1. LFS是否能在虛擬機安裝？ # 雖然LFS官方不推薦在虛擬機裡面安裝，建議實機操作，除了能夠加倍折磨自己之外，也能在debug硬體驅動的時候學到更多東西。不過硬要在虛擬機裝的話其實是可以的。\n使用虛擬機的好處當然就是方便練習，也不怕搞壞電腦檔案。方便保存LFS編譯的結果，稍作修改就可以安裝到實機上繼續使用。還有，透過虛擬機與宿主機共享剪貼簿，直接複製LFS書上的指令，在終端機貼上，不需要全程手打。 LFS的問題在於，官方不提供任何開機映像檔。即使是像Gentoo這類什麼都沒有的發行版，至少也有提供名為stage3的檔案系統與LiveUSB給使用者可以進行bootstrap，讓使用者能夠跳過建立檔案系統這一步。但LFS連bootstrap都沒有，就是得要從頭建立檔案系統，再來組裝其餘的Linux系統組件。\n","title":"用虛擬機安裝Linux From Scratch + Systemd + UEFI開機","type":"posts"},{"content":"本文Ivon分享安裝Fedora Workstation系統的經驗，討論一些常用的設定。\n2021年短暫用過Fedora，當時是剛入Liniux世界。覺得GNOME索然無味，就跳船到openSUSE Tumbleweed了。\n今天，我又回來用Fedora了。\n我要在MSI Modern 15 A10筆電安裝Fedora。這台電腦搭載Intel i5-10210u的的CPU，以及Nvidia MX350的獨顯。根據我安裝Ubuntu和Arch Linux的經驗，顯示這台的主線核心支援度還是不錯的。為什麼要用Fedora呢，下面我會給出比較合理的理由。而我個人的理由就呢，是希望享受到最新版系統套件，又不要更新的太快的系統，不要常常更新出現random breakage，這樣半滾動更新的Fedora似乎是個不錯選擇。 1. 為什麼要用Fedora？ # Fedora為RedHat公司贊助的Linux發行版，主要由開源社群維護，是跟Ubuntu一樣知名的Linux發行版。 Fedora專案有針對許多環境開發不同的分支，其中包含Workstation、Server、IoT、Atomic版本。Ivon在這裡安裝的是專為桌面用戶打造的「Workstation」。下面簡稱Fedora。 Fedora Workstation預設桌面環境為GNOME與KDE Plasma，另外尚提供許多「Spin」版，讓使用者能夠安裝XFCE、Cinnamon、Sway等桌面。\n為什麼要用Fedora？在這裡你可以體驗到未來可能成為Linux業界主流標準的事物，例如最新版的GNOME桌面，完全原汁原味無修改，不會像Ubuntu一樣打patch。還有內建的SELinux、最新版Systemd、開箱即用的Flatpak套件管理器等等。\n通常，Fedora會被視為半滾動發行版。它採取固定更新模式，每年發表一個大版本更新，系統套件版本都很接近上游。Fedora系統的套件不會像Ubuntu LTS陳舊，亦不會像Arch Linux直接無腦用最新版。所以Fedora在不穩定與穩定更新之間找到了個平衡點，適合想要嘗試Linux最新功能，但又不要過分激進更新的用戶。\n你可以將Fedora視為RHEL的上游發行版，即最新功能的試驗田。等到上游Fedora一些功能穩定了之後，RedHat可能就會把功能放到CentOS Stream，然後再進到Redhat Enterprise Linux，達成最終穩定的系統。因此，Fedora很多功能跟RHEL很像，像是取代YUM的DNF套件管理器、RPM套件格式、SELinux安全系統、EPEL Repo、GNOME桌面等等。由於RedHat對Linux專案的貢獻很多，在Fedora系統出現的東西，可以視作未來Linux世界的主流發展方向的指標。\n不過RHEL不見得會完全接收Fedora上游的變更，例如Fedora 30以前就有的BTRFS檔案系統，RHEL 9卻到現在仍未加入BTRFS支援，因此Fedora跟RHEL的系統還是有些許差異的。\n雖然RedHat公司有贊助Fedora開發，但是沒有像CentOS那樣大的控制權，Fedora並不是由RedHat控制的子公司，所以不太可能隨便賜死Fedora專案！\n或許，你可以從Fedora入門RHEL的操作，不過要用在生產環境，建議還是直接使用RHEL或者Rocky Linux、AlmaLinux這類一比一複製的發行版來操作比較好，他們相對Fedora穩定許多。\n2. 安裝Fedora系統 # 首先要製作開機碟。Fedora提供多個映像檔，桌面用戶的請下載Workstation版本。\nFedora官網預設的桌面環境為GNOME，需要KDE請下載Fedora KDE版本。 下載映像檔之後，檢查檔案完整性防止檔案毀損。再使用Ventoy製作開機隨身碟。\n重開機，進入電腦的UEFI\n雖然Fedora支援Secure Boot，但為了避免開機都要簽名核心模組的麻煩，我還是將其關閉。\n將USB以UEFI開機\n開機進入Fedora安裝畫面。Fedora 42的新安裝器改善了以往選項說明文字模糊不清的問題，基本上只要一直下一步就行了。使用者帳號是開機後才要新增。 開機後記得開啟第三方軟體庫，例如RPM Fusion，方便安裝閉源硬體驅動以及影片解碼器 3. 安裝後的小調整 # 使用上有問題請諮詢Fedora的官方文件\n安裝軟體的方式 # Fedora內建的套件管理器為DNF，使用的套件格式是.rpm。另外還有內建Flatpak（現已使用Flathub套件庫，不再使用Fedora的Flatpak套件庫）。GNOME桌面有軟體商店前端GNOME Software。\n我個人會用DNF安裝傳統的RPM套件，例如Gwenview。有些軟體因為授權因素無法包含在Fedora的套件庫，你可以從RPM Fusion或COPR套件庫補充。\nsudo dnf install gwenview Flatpak則是安裝一般的桌面應用程式，例如GIMP修圖軟體。\nflatpak install flathub org.gimp.GIMP 中文輸入法 # Fedora 42內建的iBus新酷音不太好用，開啟設定 → 鍵盤，將其移除。\n建議改裝Fcitx5框架配新酷音：\nsudo dnf install fcitx5 fcitx5-chinese-addons fcitx5-chewing fcitx5-gtk3 fcitx5-gtk4 fcitx5-qt fcitx5-qt6 fcitx5-configtool sudo cat \u0026gt; /etc/environment \u0026lt;\u0026lt; EOF GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx EOF GNOME桌面記得要安裝Input Method Panel才看得到輸入法面板。\nNvidia閉源驅動 # 參考Howto/NVIDIA依照顯示卡型號，選擇適合的Nvidia驅動和CUDA套件。\nNvidia MX350的獨顯最高可以裝到580版本的閉源驅動。只要從RPM Fusion套件庫安裝就可以了：\nsudo dnf install akmod-nvidia sudo dnf install xorg-x11-drv-nvidia-cuda 需要用到Nvidia渲染，就設定Nvidia PRIME切換顯示卡。\n關於SELinux問題 # SELinux是在許多RHEL系統都會安裝的安全機制。這是強烈建議要開啟的。\n可是，我覺得它常常會干擾程式執行，尤其我在用Waydroid的時候，要一直新增有的沒有的規則。即使將enforcing模式改為permissive模式也沒用。\n如果嫌麻煩就把它關閉吧。編輯/etc/selinux/config，加入SELINUX=disabled，即不會在開機後載入SELinux。\n4. Fedora使用心得 # 實際用了三個月，我應該會繼續保持下去\u0026hellip;吧？\nFedora官方文件寫得很不錯，程度大概跟Debian Wiki類似，但還是不比Arch Wiki完善。\nFedora套件庫資源豐富，不用擔心找不到套件。有些開發者發表軟體會提供.rpm套件，故支援還算完善。\n由於Fedora內建Flatpak套件管理器，所以我能直接安裝開發者釋出的軟體，不依賴套件庫的程式。我不是很信任套件管理器的軟體，尤其是這種滾動發行版，所以我比較喜歡用容器隔離。\n關於桌面環境，一開始幾週，我嘗試用Fedora的GNOME，確實是原汁原味的樣子，沒有像Ubuntu做一堆修改，還能享受到最新版本。但是它也就那個死樣子，雖然學會工作區的操作，但GNOME還是不好用，所以我透過dnf group裝了KDE Plasma桌面了。Fedora的KDE Plasma都是最新版，用起來很流暢。撰文當下已經裝上KDE Plasma 6了。\n我前面說過Fedora是半滾動發行版，儘管不是無腦用最新版套件，但其實還是不夠穩定。例如不論是GNOME還是KDE Plasma，就不時看到Flatpak版Spotify背景行程崩潰的提示，還會觸發詭異的SELinux錯誤，需要點進setroubleshoot通知裡面執行指令解決。還有，KDE Plasma 6 Wayland的小bug依然蠻多的，一部分原因是Fedora為半滾動發行版所致，另一部分是Wayland造成。例如遇到KDE Wayland畫面glitch問題，我甚至不是用Nvidia GPU耶。我還有遇過安裝libimobiledevice套件之後出現詭異的USB錯誤。這些隨機問題在Arch Linux也有可能發生，但在Ubuntu LTS卻不會的。\n我還遇到了更新後，新版核心導致SDDM顯示管理器無法顯示的問題，無法進入桌面。啊不就還好Fedora會保留舊版核心在開機的時候按SHIFT讓你選，否則根本無法進入桌面。\n總之，Fedora處在不是很新的套件，但又不夠穩定的狀態下，讓人覺得是個尷尬的選擇。要最新套件用Arch Linux；要穩定就用Ubuntu LTS。有些人認為Fedora是所謂的「新Ubuntu」能夠取代過去一段時間Ubuntu不遺餘力推廣Linux桌面的地位，難呀，我要說這種想法還是欠缺考慮了。如果拿Ubuntu LTS跟Fedora比較，我覺得是拿使用者體驗在玩命。使用Fedora的用戶，很明顯還是要對Linux有點進階知識才能用得好的。起碼不能懼怕終端機。\n表面上看起來Fedora還是很穩定的，可是因為KDE Plasma 6 bug太多，所以我又換回了相對穩定的GNOME，這個桌面glitch的機率小很多。其實GNOME與KDE Plasma是能夠共存的，只要在登入的顯示管理器界面切換就好。這樣方便我觀察二個桌面的最新開發進展。\n","date":"2025年8月19日","externalUrl":null,"permalink":"/posts/install-fedora/","section":"所有文章","summary":"本文Ivon分享安裝Fedora Workstation系統的經驗，討論一些常用的設定。\n2021年短暫用過Fedora，當時是剛入Liniux世界。覺得GNOME索然無味，就跳船到openSUSE Tumbleweed了。\n今天，我又回來用Fedora了。\n我要在MSI Modern 15 A10筆電安裝Fedora。這台電腦搭載Intel i5-10210u的的CPU，以及Nvidia MX350的獨顯。根據我安裝Ubuntu和Arch Linux的經驗，顯示這台的主線核心支援度還是不錯的。為什麼要用Fedora呢，下面我會給出比較合理的理由。而我個人的理由就呢，是希望享受到最新版系統套件，又不要更新的太快的系統，不要常常更新出現random breakage，這樣半滾動更新的Fedora似乎是個不錯選擇。 1. 為什麼要用Fedora？ # Fedora為RedHat公司贊助的Linux發行版，主要由開源社群維護，是跟Ubuntu一樣知名的Linux發行版。 Fedora專案有針對許多環境開發不同的分支，其中包含Workstation、Server、IoT、Atomic版本。Ivon在這裡安裝的是專為桌面用戶打造的「Workstation」。下面簡稱Fedora。 ","title":"Fedora使用心得，GNOME桌面 + Nvidia驅動安裝 + Fcitx5中文輸入法","type":"posts"},{"content":"柱島泊地鎮守府，我回來了。 起 # 從三個月前說起。\n姜育恆 - 情難枕 就算是不再流傷心淚，還有魂牽夢縈的深夜。最怕是藕斷絲連難捨難分，多少黎明又黃昏。我真的迷艦これ迷的太深了（這個熱情的程度可能不比Minecraft PE和FGO差），自2015年入坑玩艦娘幾乎陪過了整個青少年時光，中間曾有一段時間實力強到能夠打甲級難度的活動，還有瘋狂刷戰果，投注了太多感情。\n實在太可怕了，從2015年入坑，瘋狂了玩了幾年後，即使在2023年退坑，變成雲提督一年多了，完全不登入遊戲，不再關注C2機關的情報，還是整天想到每位艦娘的名字，不計新艦的話可以從第一隻海防艦背到最後一隻潛水艦。買模型會想到艦娘，翻本子會翻艦娘，找桌布會想到艦娘，寫報告會想到艦娘，做夢會想到艦娘，去日本旅遊也是第一時間跑到有關艦娘的景點。\n難道說艦隊Collection這款遊戲已經內化成生命的一部分，在DMM被聯合國勒令停業以前都歡迎回到那個柱島泊地的鎮守府，打不了甲沒有關係，當鹹魚玩家獲得新艦娘也可以很快樂。它就像Minecraft的舊世界一樣，隨時歡迎你回來。講這一長串內容就是為了解釋為什麼我在賣場看到了SEGA大鯨的模型馬上手刀買下去的緣故。\n蘿蔔、魚雷、還有黑絲！好了，我要去複習篠塚醸二的大鯨育乳本了。 經過前述經歷之後，最後了解到的點就是，艦娘在召喚我！\n前幾天夢裡不斷重複著艦隊Collection劇場版的主題歌「帰還」 忘記夢的內容是什麼了才會一直放這首歌\u0026hellip;只想到「希望　能連繫著你的心」最後這一句。\n丘丘合唱團【為何夢見他】 為何夢見她，為何夢中她的眼神，卻依然教我心跳。\n但是早上醒來之後我就知道了，逃兵一年多了，回歸鎮守府的時候到了。\n百廢待舉的鎮守府 # 這一次不會再只是乘著一時的興致回歸又因為漫無目標而意興闌珊的退坑，而是善用筆記軟體和所有英日中的情報網，加上KC3的輔助，擬定未來艦隊發展方向。先別急著打甲或打戰果，必須計畫經濟，建立起有效率的艦隊成長方向。務實的規劃，不好大喜功的開發裝備。以前我玩艦隊Colection都像《FX戰士久留美》一樣發瘋亂投資（現在買入一定爆賺！之類的）所以才造成許多悲劇，還有不理性的玩遊戲發言。\n講難聽點，玩了這遊戲10年，對這遊戲還是玩不明白。都靠感覺玩，沒有數據支撐。\n雖然玩的最瘋的時候活動連續幾次拿過全甲、打進柱島戰果前500名。可是到現在，不知道的東西還是很多。就像是英國公使馬戛爾尼形容清朝所說的，一艘腐朽的戰艦繼續浮著。\n所以這次回歸，是要對遊戲重新做一個理解，放下無謂的自傲，虛心學習。\n詳細參考ぜかましねっと艦これ！、明石の改修工廠早見表、巴哈姆特、艦娘百科、KC3、NGA等地的資料之後，著手制定新的改革計畫。\n資源累積計畫，重組遠征艦隊 # 目標是針對活動所準備。但考量到目前戰力落後太多版，貿然打甲準備再多資源都是自殺，因此是以準備通關活動丙難度為最低底限的目標。不要讓每次打完活動都破產。\n遠征的配置應當是是可行度高，實用性高，又不要過度依賴刷閃的遠征，防止我太累。\n希望遠征是Sustainable, Doable。\n要永續的，且可行的，又不要太勞累刷閃。我發現舊有的遠征機制都是無腦跑東京急行x2，又沒刷閃習慣，所以其實存不到什麼資源。不出擊的情況下勉強都在100000附近徘徊，修復桶不到500個。然而只要打一次活動（譬如我這次回坑勉強把2025年春活打完一半）就會大失血，資源要很長才能回復。\n所以遠征計畫就必須要詳細制定計畫。除了KC3外，還用Joplin筆記本規劃陣容事項。\n過去遠征隊員主要用低消耗的睦月型與神風型，考慮到遠征艦隊大多數成員都跑到Lv 90+了，確立了新一輪的輪換機制。將二線驅逐艦新編入跑遠征行列，不再是一直使用固定陣容。\n因此固定下來的配置就是： 解釋：\n在需要鋁與彈藥的時候，三個艦隊會這樣跑\n海峽警備任務 or 防空射擊演習 or 鋁土輸送作戰（長時間） 北方鼠輸送 東京急行一 油料與桶，穩定獲得彈藥和修復桶：\n海峽警備任務（需要刷一層閃） or 鋁土輸送作戰（長時間，出擊前刷一層閃） 長距離練習航海（不刷閃） 東京急行一（四隻80閃，大概三天才要刷一次閃） 東京急行二（四隻80閃，大概三天才要刷一次閃） 自從發現每日南西海域五次出擊任務可以用2輕母+1水母+3潛水於2-1輕鬆完成（老實說我以前還真不知道，都放推）還有穩定的高速建造材收入（活動友軍艦隊會消耗很多個），我每天都會花一小時解完日常任務。最重要的是我讓這個步驟變成持之以恆的習慣，而且不會太難做到，所以能夠保持資源增長。\n因此，這三個月的資源成長很快就達到了上限，修復桶也穩定的增長。未來這個遠征模式應該能夠繼續維持。 把該結婚的結一結 # 我有50艘以上99級的艦娘，但因為不肯花錢，所以結婚的不多。\n一個戒指700日圓，原來是這麼便宜的東西。以前結婚都亂選，且很偶爾才結一次，現在知道要優先挑最需要的戰力。\n現在知道為什麼Zekamashi的四腕大大與巴哈姆特的幽影大大為什麼要常常跟那麼多艘艦娘結婚了。\n一天內把三位遠征大隊長都婚了。還有我認為最可愛的潛水艦勞模。\n遠征艦隊常駐的三旗艦，皋月、龍田、鬼怒，這樣遠征就能放著讓她們升級 常常出任務的潛水艦，呂500，單純因為可愛。接著再優先婚三格的潛水艦，包含伊14、伊13 日常、週常最常上場的輕空母，包括隼鷹、飛鷹、龍鳳、瑞鳳、千歲、千代田、龍驤 活動主力艦，包括有戰力且4格的，還有反潛高的，一格裝備就能先制反潛。依序為驅逐 \u0026gt; 輕巡 \u0026gt; 重巡 \u0026gt; 空母 \u0026gt; 戰艦 如果條件符合的話，我希望可以跟海防艦結婚，目前對馬等級最高 每個月固定支出幾百塊結婚。慢慢提升戰力。 鎮守府不養懶漢 # 以前潛艇很少的時代為了在2-3偷油養了許多二號機，現在潛艇型號多了起來，紛紛解體。\n其他艦娘也是，有些養二號機三號機是為了戰略考量，譬如大鯨，或者是想觀察不同型態的樣子，譬如大鯨。最後把龍鳳餵掉，只留下龍鳳改二與大鯨。（其實不對，龍鳳應該也改二，然後變成龍鳳改二與龍鳳改二戊才對）\n但有的二號機真的是意義不明，單純因為稀有所以養了兩隻一模一樣的，譬如Helena，所以解體或者餵掉了。Warspite和Richelieu、飛龍改二養了二號機，主要是用在支援艦隊，餵掉。\n又屠殺了以下艦娘：\n長門改二二號機，餵掉。研判活動應該不會難到需要用side艦來用胸熱，但誰知道呢？ U-511養了二隻，餵掉。伊504三隻，餵掉。 塔什干二號機不知道幹嘛，現在四格驅逐有了Mogador，餵掉。 Fletcher Mk.II和Mod II應該是不同用途，有點爭議但還是餵掉了。 瑞鳳改二與瑞鳳改二乙 \u0026hellip;總共刪除了30艘以上多餘的艦娘。\n這個政策可能還是太激進了。於是，之後重新獲得稀有艦娘後，還是決定將他們保留下來。\n解掉主線單發任務與戰力擴充計畫 # 原本的要做的單發任務有六頁，經過三個月的奮力出擊後，除一些條件無法立即滿足的之外，只剩下三頁的工廠開發任務。 以不胡亂浪費資源的原則，慢慢解掉工廠單發任務。\n參考訂出改修裝備的日程表。讀Wiki嘗試了解戰鬥數值加成公式，學會按計算機，減少靠感覺配裝的問題。 針對打EO獲得勳章的規劃，除了用KC3紀錄之外，也用筆記本寫了一些資料上去，隨時更新。 這樣妥善整理成長過程的資料，讓我覺得能對艦隊有更多掌控度。\n現在我來到了，純白的起點。\n","date":"2025年8月19日","externalUrl":null,"permalink":"/posts/return-to-kantai-collection/","section":"Kantai-Collections","summary":"柱島泊地鎮守府，我回來了。 起 # 從三個月前說起。\n姜育恆 - 情難枕 就算是不再流傷心淚，還有魂牽夢縈的深夜。最怕是藕斷絲連難捨難分，多少黎明又黃昏。我真的迷艦これ迷的太深了（這個熱情的程度可能不比Minecraft PE和FGO差），自2015年入坑玩艦娘幾乎陪過了整個青少年時光，中間曾有一段時間實力強到能夠打甲級難度的活動，還有瘋狂刷戰果，投注了太多感情。\n實在太可怕了，從2015年入坑，瘋狂了玩了幾年後，即使在2023年退坑，變成雲提督一年多了，完全不登入遊戲，不再關注C2機關的情報，還是整天想到每位艦娘的名字，不計新艦的話可以從第一隻海防艦背到最後一隻潛水艦。買模型會想到艦娘，翻本子會翻艦娘，找桌布會想到艦娘，寫報告會想到艦娘，做夢會想到艦娘，去日本旅遊也是第一時間跑到有關艦娘的景點。\n難道說艦隊Collection這款遊戲已經內化成生命的一部分，在DMM被聯合國勒令停業以前都歡迎回到那個柱島泊地的鎮守府，打不了甲沒有關係，當鹹魚玩家獲得新艦娘也可以很快樂。它就像Minecraft的舊世界一樣，隨時歡迎你回來。講這一長串內容就是為了解釋為什麼我在賣場看到了SEGA大鯨的模型馬上手刀買下去的緣故。\n","title":"「帰還」逃兵二年後，回坑艦隊Collection，重新規劃遠征資源累積、艦娘練級、裝備改修進度","type":"kantai-collection"},{"content":"在Gentoo安裝最新版KDE Plasma桌面環境。\nKDE Plasma是一個高自訂性的Linux桌面環境，其提供大量圖形界面的客製化選項，讓使用者能自由調整界面，達成自己想要的效果。同時它也提供豐富好用的KDE附屬應用程式，滿足使用者日常操作一切所需。\nKDE Plasma預設桌面樣式 安裝KDE Plasma-Overdose + Oxygen主題 根據Gentoo Wiki，KDE Plasma有很多USE的旗標能用，但有不少功能預設是關閉的。為了達到最好的開箱即用體驗，這篇文章Ivon將會說明應該要設定哪些套件。\n1. 選取profile # 請先Gentoo基本系統 + Systemd再繼續操作。\n選取profile鎖定套件的USE FLAG。列出可用的profile列表:\nsudo eselect profile list 因為我是以裝KDE桌面為目標，選取default/linux/amd64/desktop/plasma/systemd (stable)的profile。 sudo eselect profile set \u0026lt;數字\u0026gt; 因為使用Systemd，所以在編譯KDE Plasma相關套件的時候不需要啟用elogind的FLAG。 2. 建議安裝的服務 # 搭配KDE Plasma使用的關聯服務，讓系統自動啟動比較好用。這包括D-bus、PipeWire音訊系統、Polkit權限管理對話框、Udisks開機自動掛載硬碟。\nD-bus # 編輯/etc/portage/make.conf，加入以下全域FLAG\nUSE=\u0026#34;dbus\u0026#34; 編輯/etc/portage/package.use/dbus，啟用FLAG\nsystemd doc selinux static-libs valgrind X 安裝\nsudo emerge sys-apps/dbus PipeWire # KDE Plasma預設使用PulseAudio，可能需要手動選取PipeWire。這個套件與media-sound/pulseaudio-daemon衝突，且需要安裝media-libs/libpulse允許PipeWire模擬PulseAudio API，讓使用PulseAudio的應用程式無縫接軌。\n編輯/etc/portage/make.conf，設定全域FLAG使用pulseaudio\nUSE=\u0026#34;pulseaudio\u0026#34; 編輯/etc/portage/package.use/pipewire，我除了JACK用不到以外，其他功能全打開 media-video/pipewire echo-cancel extra flatpak gsettings liblc3 loudness lv2 modemmanager pipewire-alsa roc sound-server ssl system-service X bluetooth dbus doc ffmpeg fftw gstreamer ieee1394 man readline selinux systemd test v4l zeroconf 重新安裝套件，再安裝PipeWire sudo emerge --ask --verbose --changed-use --update --deep @world sudo emerge --ask media-libs/libpulse sudo emerge --ask media-video/pipewire sudo emerge --ask media-video/wireplumber 安裝好之後，停用PulseAudio服務，啟用PipeWire服務 systemctl --user disable --now pulseaudio.socket pulseaudio.service systemctl --user enable --now pipewire-pulse.socket wireplumber.service systemctl --user enable --now pipewire.service Polkit # 編輯/etc/portage/make.conf，設定全域FLAG USE=\u0026#34;policykit\u0026#34; 編輯/etc/portage/polkit，啟用以下選項 sys-auth/polkit systemd gtk introspection kde nls pam selinux 安裝 emerge --ask --changed-use --deep @world emerge --ask sys-auth/polkit 再編輯/etc/polkit-1/rules.d/49-wheel.rules加入以下規則，允許在wheel群組的一般使用者也可以執行sudo指令 polkit.addAdminRule(function(action, subject) { return [\u0026#34;unix-group:wheel\u0026#34;]; }); Udisks # 編輯/etc/portage/make.conf，設定全域FLAG USE=\u0026#34;udisks\u0026#34; 編輯/etc/portage/package.use/udisks，開啟以下選項 sys-fs/udisks daemon lvm systemd vdo zram acl introspection nls selinux 安裝 emerge --ask --changed-use --deep @world emerge --ask sys-fs/udisks 3. 加速Qt WebEngine編譯 # dev-qt/qtwebengine是修改自Chromium的瀏覽器，KDE有部分套件依賴它。使用equery depends qtwebengine指令確認。\n偏偏它編譯需要花最長時間，也沒有-bin版本可用。\n所以需要在/etc/portage/make.conf的USE加入jumbo-build加快編譯速度。\n4. 安裝KDE Plasma桌面 # kde-plasma/plasma-meta包含了KDE Plasma桌面環境所需要的必要套件。\n編輯/etc/portage/package.use/plasma-meta，設定KDE Plasma編譯時要使用的FLAG，我基本上是啟用全部功能：\nkde-plasma/plasma-meta browser-integration crash-handler crypt discover display-manager firewall flatpak grub gtk kwallet oxygen-theme plymouth pulseaudio qt5 sddm sdk smart thunderbolt wacom wallpapers webengine accessibility bluetooth cups networkmanager rdp systemd X 安裝 emerge --ask kde-plasma/plasma-meta 5. 安裝KDE附屬應用程式 # kde-apps/kde-apps-meta包含了許多KDE官方開發的附屬應用程式，包含圖片檢視器、影片播放器、程式碼編輯器等等。不裝這個也可以用，但起碼要裝kde-apps/konsole終端機。\n編輯/etc/portage/package.use/kde-apps-meta，我將全部FLAG都開啟，就是所有類別的KDE程式都安裝\nkde-apps/kde-apps-meta accessibility admin education games graphics multimedia network pim utils 安裝 emerge --ask kde-apps/kde-apps-meta 6. 安裝SDDM # KDE Plasma建議搭配的顯示管理器。\n編輯/etc/portage/package.use/sddm，啟用以下FLAG x11-misc/sddm systemd X 安裝 emerge --ask x11-misc/sddm 設定開機自動啟動SDDM服務 sudo systemctl enable sddm 參考資料 # KDE - Gentoo Wiki ","date":"2025年8月18日","externalUrl":null,"permalink":"/posts/install-gentoo-systemd-kde-plasma/","section":"所有文章","summary":"在Gentoo安裝最新版KDE Plasma桌面環境。\nKDE Plasma是一個高自訂性的Linux桌面環境，其提供大量圖形界面的客製化選項，讓使用者能自由調整界面，達成自己想要的效果。同時它也提供豐富好用的KDE附屬應用程式，滿足使用者日常操作一切所需。\nKDE Plasma預設桌面樣式 安裝KDE Plasma-Overdose + Oxygen主題 根據Gentoo Wiki，KDE Plasma有很多USE的旗標能用，但有不少功能預設是關閉的。為了達到最好的開箱即用體驗，這篇文章Ivon將會說明應該要設定哪些套件。\n1. 選取profile # 請先Gentoo基本系統 + Systemd再繼續操作。\n選取profile鎖定套件的USE FLAG。列出可用的profile列表:\nsudo eselect profile list 因為我是以裝KDE桌面為目標，選取default/linux/amd64/desktop/plasma/systemd (stable)的profile。 sudo eselect profile set \u003c數字\u003e 因為使用Systemd，所以在編譯KDE Plasma相關套件的時候不需要啟用elogind的FLAG。 2. 建議安裝的服務 # 搭配KDE Plasma使用的關聯服務，讓系統自動啟動比較好用。這包括D-bus、PipeWire音訊系統、Polkit權限管理對話框、Udisks開機自動掛載硬碟。\n","title":"Gentoo安裝KDE Plasma桌面 + Systemd + 建議的依賴套件","type":"posts"},{"content":"在Gentoo安裝最新版GNOME桌面環境。\nGNOME是一個在許多Linux發行版預設啟用的桌面環境，其設計十分簡單優雅，讓使用者能夠專注提昇生產力。 GNOME可以自訂的選項相較於其他桌面環境來說比較少，使用者需要適應它的操作模式。即使在Gentoo編譯的時候也是一樣，它的FLAG不多，大部分按照預設選項編譯即可。\n1. 選取Profile # 請先安裝Gentoo基本系統 + Systemd再繼續操作。\n列出可用的profile列表:\nsudo eselect profile list 選取default/linux/amd64/desktop/gnome/systemd (stable)的profile。 sudo eselect profile set \u0026lt;數字\u0026gt; 因為使用Systemd，所以在編譯GNOME相關套件的時候不需要啟用elogind的FLAG。\nGNOME 47預設應該就是使用PipeWire了，不用安裝PulseAudio。\n2. 加速WebKitGTK編譯 # net-libs/webkit-gtk套件是GNOME部分應用程式會使用到的瀏覽器套件。編譯時間比其他套件長很多。\n雖然說可以透過在USE加入-webengine跳過編譯webkit-gtk，但這會讓「線上帳號」的功能無法使用。\n所以還是忍痛等待編譯吧。建議在/etc/portage/make.conf的USE加入jumbo-build加快編譯速度。\n3. 安裝GNOME桌面與GDM # 不推薦GNOME搭配其他顯示管理器，必須使用GDM才能使用螢幕鎖定功能。\n編輯/etc/portage/make.conf，設定以下全域FLAG。註解：新版GNOME已經遷移到Wayland，不依賴X.Org套件就能編譯。如果不需要X11工作階段可以將X的FLAG改成-X，只安裝Wayland。 USE=\u0026#34;X gtk gnome systemd dbus\u0026#34; 針對GNOME套件，編輯/etc/portage/package.use/gnome，設定以下FLAG，把gnome-extra的套件也裝一裝 gnome-base/gnome extras accessibility bluetooth cups 安裝GNOME桌面 sudo emerge --ask gnome-base/gnome 設定開機啟動GDM服務 sudo systemctl enable gdm.service 4. 後續設定 # 需要將使用者加入plugdev群組 sudo gpasswd -a $USER plugdev 要讓Polkit的提升權限對話框出現，需要安裝sys-auth/polkit。編輯/etc/portage/make.conf，設定全域FLAG USE=\u0026#34;policykit\u0026#34; 編輯/etc/portage/polkit，啟用以下選項 sys-auth/polkit systemd gtk introspection kde nls pam selinux 安裝 emerge --ask --changed-use --deep @world emerge --ask sys-auth/polkit 再編輯/etc/polkit-1/rules.d/49-wheel.rules加入以下規則，允許在wheel群組的一般使用者也可以執行sudo指令 polkit.addAdminRule(function(action, subject) { return [\u0026#34;unix-group:wheel\u0026#34;]; }); 參考資料 # GNOME - Gentoo Wiki ","date":"2025年8月18日","externalUrl":null,"permalink":"/posts/install-gentoo-systemd-gnome/","section":"所有文章","summary":"在Gentoo安裝最新版GNOME桌面環境。\nGNOME是一個在許多Linux發行版預設啟用的桌面環境，其設計十分簡單優雅，讓使用者能夠專注提昇生產力。 GNOME可以自訂的選項相較於其他桌面環境來說比較少，使用者需要適應它的操作模式。即使在Gentoo編譯的時候也是一樣，它的FLAG不多，大部分按照預設選項編譯即可。\n1. 選取Profile # 請先安裝Gentoo基本系統 + Systemd再繼續操作。\n列出可用的profile列表:\nsudo eselect profile list 選取default/linux/amd64/desktop/gnome/systemd (stable)的profile。 sudo eselect profile set \u003c數字\u003e 因為使用Systemd，所以在編譯GNOME相關套件的時候不需要啟用elogind的FLAG。\nGNOME 47預設應該就是使用PipeWire了，不用安裝PulseAudio。\n2. 加速WebKitGTK編譯 # net-libs/webkit-gtk套件是GNOME部分應用程式會使用到的瀏覽器套件。編譯時間比其他套件長很多。\n雖然說可以透過在USE加入-webengine跳過編譯webkit-gtk，但這會讓「線上帳號」的功能無法使用。\n","title":"Gentoo如何安裝GNOME桌面 + Systemd","type":"posts"},{"content":"這篇文章紀錄在電腦安裝Gentoo Linux系統的過程。每一個步驟會盡量講解我在做什麼。 這篇文章安裝後，你將會得到一個採用Systemd + distribution-kernel + 中文化的Gentoo系統，並可以自由選擇桌面環境。\n安裝Gentoo至少會花上2小時～1天不等，請做好心理準備。\n以下資訊可能會過時，請自行參考文末的Gentoo AMD64 Handbook查詢細節設定。\n1. Gentoo硬體需求 # Gentoo為一個source-based的Linux發行版，並沒有預設的官方配置，一切要由您自己決定。包括init系統、自行編譯Linux核心或者使用現成的Linux核心、要用glibc或musl libc、網路連線程式、桌面環境等等，全部都要自己挑選並組裝起來。 關於最重要的init系統部份，考慮到Systemd是大多數Linux發行版所採用的init系統，所以我選擇Systemd為中心下去安裝，不使用OpenRC。\nGentoo是滾動更新的系統，其他Linux發行版安裝軟體多半是下載二進位檔，Gentoo則是要編譯軟體套件後再安裝。它的自由度非常高，允許使用者調整編譯時候開啟或關閉一些選項(FLAG)，讓套件變得更為精簡，但也因此使用者需要自行研究哪些FLAG是需要的，哪些是不必要的。Gentoo的套件管理器Portage會在下載原始碼後自動編譯安裝，使用者通常不需要介入，最主要麻煩的是要花時間等其編譯完成。時間可長可短，簡單的套件大概1分鐘就完成了，複雜的套件，例如瀏覽器，可能要等好幾個小時。\n因此CPU建議為intel i5以上4核心，RAM加上SWAP至少8GB以上，硬碟要有64GB。\n就算是用虛擬機練習，也是建議把所有核心都分配給Gentoo並啟用KVM等hypervisor加速技術，加快編譯速度。\n我的硬體規格：\nCPU: Intel i5-7400 GPU: Nvidia GTX 1050 Ti RAM: 16GB DDR4 SSD: 500GB 2. 製作Gentoo安裝隨身碟 # 前往Gentoo官網下載AMD64架構「Minimal Installation CD」的ISO。這是一個可以開機的最小LiveCD，能夠協助我們安裝Gentoo系統，只有純文字介面。 下載映像檔之後，檢查檔案完整性防止檔案毀損。\n使用Ventoy製作開機隨身碟。\n3. 安裝Gentoo基本系統 # 在UEFI關閉Secure Boot，並用隨身碟以UEFI模式開機。\n輸入數字，設定鍵盤配置為us 3.1. 設定網路 # 用ip addr指令列出所有網路裝置，例如乙太網路應該是enp開頭，Wifi是wlan。安裝系統的時候推薦使用乙太網路連線，才不會有找不到Wifi驅動的問題。\n使用net-setup eth0指令，依照畫面指示啟用乙太網路連線。\n3.2. 分割硬碟 # 用fdisk查看硬碟列表，SATA硬碟應該是顯示為/dev/sda，NVME則是/dev/nvme0n1。 fdisk -l 用fdisk分割硬碟。我這裡只有建立EFI分區和根目錄分區，SWAP我會在後面使用swapfile建立。 fdisk /dev/sda # 使用GPT硬碟分割表 g #輸入d刪除全部分區 d #寫入 w fdisk /dev/sda #新增EFI分區 n 1 Fisrt sector: Enter Last Sector: +512M t #修改標籤為EFI uefi #新增根目錄分區 n 2 Fisrt sector: Enter Last Sector: Enter # 寫入變更 w 輸入fdisk /dev/sda -l，分割表應該會長這樣： /dev/sda1 512MB EFI /dev/sda2 480GB Linux 格式化並建立檔案系統 mkfs.vfat -F32 /dev/sda1 mkfs.ext4 /dev/sda2 掛載根目錄分區 mount /dev/sda2 /mnt/gentoo cd /mnt/gentoo 3.3. 安裝stage3檔案系統 # 下載stage3壓縮檔，這裡包含一個基本的Linux檔案系統，我們可以以此為基礎下去安裝完整的Gentoo系統。\n用另一台電腦到Gentoo官網，下載\u0026quot;Stage3\u0026quot;的檔案，選擇desktop profile | systemd版。 因為安裝Gentoo的時候使用的是純文字介面，所以你要自己按右鍵複製上面的網址。再於Gentoo終端機手打下載。\n例如，利用wget指令，下載最新stage3壓縮檔：\nwget https://distfiles.gentoo.org/releases/amd64/autobuilds/20250817T170357Z/stage3-amd64-desktop-systemd-20250817T170357Z.tar.xz 解壓縮stage3的檔案系統： tar xpvf stage3-*.tar.xz --xattrs-include=\u0026#39;*.*\u0026#39; --numeric-owner 用nano編輯/etc/portage/make.conf，加入以下參數讓Gentoo使用更多CPU執行緒編譯套件。-j後面設定的核心就看你的CPU有多少就設多少。 MAKEOPTS=\u0026#34;-j4\u0026#34; （選擇性）設定Portage套件庫的鏡像站，加快套件下載速度。進入選單用上下鍵移動，用空白鍵選取台灣高品質學術網路(twaren)的HTTP與FTP鏡像後，按下Enter。 mirrorselect -i -o \u0026gt;\u0026gt; /mnt/gentoo/etc/portage/make.conf 複製Portage套件庫設定到stage3的檔案系統 mkdir -p /mnt/gentoo/etc/portage/repos.conf cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf 複製DNS設定到stage3的檔案系統 cp --dereference /etc/resolv.conf /mnt/gentoo/etc/ 利用arch-chroot工具，進入到新的stage3檔案系統內部，這樣就會切換到一個新的Gentoo環境了。 arch-chroot /mnt/gentoo 掛載EFI分區到/boot/efi/ mkdir /boot/efi/ mount /dev/sda1 /boot/efi/ 新增SWAP file，應該是實體RAM的兩倍大 mkswap -U clear --size 16G --file /swapfile swapon /swapfile 用nano編輯/etc/fstab，設定開機硬碟自動掛載規則，例如： /dev/sda1 /boot/efi vfat umask=0077,tz=UTC 0 2 /dev/sda2 / ext4 defaults,noatime 0 1 /swapfile none swap defaults 0 0 同步Gentoo的ebuild儲存庫至最新版： emerge-webrsync 用Portage更新現有的套件，輸入yes，會花點時間編譯安裝。 emerge --ask --verbose --update --deep --newuse @world 設定時區為亞洲/台北 ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime emerge --config sys-libs/timezone-data 用nano編輯/etc/locale.gen，將英文en_US.UTF-8 UTF-8取消註解\n產生語言設定檔\nlocale-gen 重新載入設定 env-update source /etc/profile 4. 安裝Linux核心 # Gentoo官方提供三種安裝核心的方法：\n下載核心原始碼，自行調整核心功能後編譯安裝 (sys-kernel/gentoo-sources) 下載預先設定好的核心，編譯安裝 (sys-kernel/gentoo-kernel) 下載預先編譯好的核心，直接安裝 (sys-kernel/gentoo-kernel-bin) 後二者稱作distribution kernel，不需要手動開啟核心功能，適合給新手使用。我選擇下載Gentoo預先編譯好的核心，直接安裝。\n在那之前，用nano編輯/etc/portage/make.conf，加入以下參數，同意所有授權條款。 ACCEPT_LICENSE=\u0026#34;*\u0026#34; 加入以下參數，指定安裝amd64架構的穩定版軟體。若使用~amd64則代表安裝不穩定版本。 ACCEPT_KEYWORDS=\u0026#34;amd64\u0026#34; 加入-march參數，讓GCC在編譯套件的時候，自動依照CPU型號最佳化 COMMON_FLAGS=\u0026#34;-O2 -pipe -march=native\u0026#34; 設定輸入裝置，libinput是滑鼠+鍵盤 INPUT_DEVICES=\u0026#34;libinput\u0026#34; 然後加入以下參數讓Gentoo使用更多CPU執行緒編譯套件。-j後面設定的核心就看你的CPU有多少就設多少。 MAKEOPTS=\u0026#34;-j4\u0026#34; 在USE加入以下全域FLAG，這樣所有核心模組會在核心更新後自動重新編譯。 USE=\u0026#34;dist-kernel dracut\u0026#34; 設定要安裝的顯示卡驅動，因為我有內顯與獨顯，所以如下填寫。 VIDEO_CARDS=\u0026#34;intel nvidia\u0026#34; 設定initramfs與GRUB如何產生。編輯/etc/portage/package.use/installkernel，加入下內容，使用GRUB，並使用Dracut產生initramfs。 sys-kernel/installkernel grub dracut 編輯/etc/portage/package.use/intel-microcode，針對Intel Microcode啟用以下FLAG。 sys-firmware/intel-microcode initramfs 先跑過一次installkernel新增initramfs，才能安裝Linux核心 emerge --ask sys-kernel/installkernel 安裝預先編譯的Linux核心 emerge --ask sys-kernel/gentoo-kernel-bin 接著安裝Linux專有韌體和Intel Microcode emerge --ask sys-kernel/linux-firmware sys-firmware/intel-microcode 5. 安裝桌面環境 # 編譯安裝桌面環境可能會花比較多時間，如果不需要圖形介面可以先跳過，確認Gentoo能開機後再行安裝。\nGNOME：安裝GNOME桌面與建議的依賴套件\nKDE Plasma：安裝KDE Plasma桌面與建議的依賴套件\n6. 設定使用者和開機服務 # 初始化Systemd： systemd-machine-id-setup systemd-firstboot --prompt systemctl preset-all --preset-mode=enable-only systemctl preset-all 給自己的主機取名： hostnamectl set-hostname \u0026#34;Gentoo\u0026#34; 修改root密碼。 passwd 新增一般使用者\u0026quot;user\u0026quot;，並修改密碼 useradd -m -g users -G wheel,audio,video -s /bin/bash user passwd user 用nano編輯/etc/sudoers，給予一般使用者root權限 #在\u0026#34;root ALL=(ALL:ALL) ALL\u0026#34;的下一行加入以下內容: user ALL=(ALL:ALL) ALL 安裝sudo、Wifi連網工具、NetworkManager、Chrony同步時間。 emerge --ask app-admin/sudo net-misc/networkmanager net-misc/chrony 將SSH、NetworkManager、Chrony加入開機服務 systemctl enable sshd systemctl enable NetworkManager systemctl enable chronyd 安裝GRUB之前要確認啟用EFI，編輯/etc/portage/make.conf啟用eif-64： GRUB_PLATFORMS=\u0026#34;efi-64\u0026#34; 安裝GRUB至系統 grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot grub-mkconfig -o /boot/efi/EFI/Gentoo/grub.cfg grub-mkconfig -o /boot/grub/grub.cfg 自動刪除用不到的套件 emerge --ask --depclean 刪除剛剛下載的stage3檔案系統壓縮檔 rm /stage3* 退出chroot，關機，拔掉隨身碟重開機。 exit cd umount -l /mnt/gentoo/dev{/shm,/pts,} umount -R /mnt/gentoo poweroff 7. Gentoo後續安裝優化 # 7.1. 中文化和輸入法 # 編輯/etc/locale.gen，加入： en_US.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8 產生語言設定檔 sudo locale-gen 設定語言 sudo localectl set-locale LANG=zh_TW.UTF-8 編輯/etc/portage/make.conf，指定安裝正體中文的軟體 L10N=\u0026#34;zh-TW\u0026#34; 安裝Google Noto Fonts中文字型。安裝中文字型可能會導致介面預設字型變成楷體，此時要使用fontconfig調整。 sudo emerge --ask media-fonts/noto-cjk 安裝Fcitx5輸入法框架與注音輸入法新酷音。 sudo emerge --ask app-i18n/fcitx app-i18n/fcitx-gtk app-i18n/fcitx-qt app-i18n/fcitx-chinese-addons app-i18n/fcitx-chewing 編輯/etc/environment，填入以下內容： GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus 從系統選單找到Fcitx輸入法設定工具，啟用新酷音。重新開機，按CTRL + 空白鍵切換新酷音輸入法。 7.2. 設定防火牆 # Gentoo預設防火牆是iptables，建議安裝一個前端方面管理。\n安裝UFW： sudo emerge --ask net-firewall/ufw 設定開機啟動防火牆 sudo systemctl enable --now ufw 開放SSH通訊埠 sudo ufw allow ssh 7.3. Portage套件管理器的使用方式 # 不同於其他發行版，Portage「安裝」軟體是稱作「出現」(emerge)，解除安裝則是「取消選取」(deselect)。\n在安裝好系統後，/etc/portage/make.conf裡面的全域USE，應該減少到只剩下\u0026quot;dist-kernel dracut\u0026quot;等通用的FLAG。加上「-」則是停用該FLAG，例如-X可以讓套件不依賴X.Org編譯。套件的FLAG不應該全寫在/etc/portage/make.conf，因為這會全域套用，而是要在/etc/portage/package.use/目錄新增檔案，針對各個套件設定FLAG。\n個別套件若有需要，安裝前先到Wiki搜尋各個FLAG的用途。例如VLC。網頁Version顯示黃色的是測試版，跟ACCEPT_KEYWORDS=~amd64\u0026quot;有關。點一下Available Versions下面的版本號，看Ebuild可得知預設會啟用哪些FLAG。\n舉例來說，針對VLC，/etc/portage/package.use/目錄下新增一個vlc檔案，為該套件獨立設定FLAG：\nmedia-video/vlc truetype fontconfig libnotify opus libass qt5 gnutls live lua matroska rtsp theora upnp vcdx aom x265 skins encode live dav1d vaapi vdapu vorbis vpx mpeg mtp 一旦make.conf發生變化，就讓Portage重新編譯需要變更的部份。此指令也等同更新和安裝系統套件。 # 更新系統變數，輸入-3自動合併設定檔 sudo etc-update # 更新系統套件，會自動安裝或刪除套件 sudo emerge --ask --verbose --update --deep --newuse @world # 跟上述更新系統套件一樣的指令，短一點的版本 sudo emerge -avuDN world # 自動清理不需要的依賴套件 sudo emerge --ask --depclean 安裝套件時臨時要用到FLAG，也可以在指令中使用。例如： sudo USE=\u0026#34;abi_x86_32 -gpm\u0026#34; emerge dev-util/android-sdk-update-manager 若要解除安裝套件，先取消選取，再刪除用不到的依賴套件。不要直接使用unmerge指令。 # 先取消選擇個別套件 sudo emerge --deselect kde-apps/kmix # 更新系統套件，會自動解除安裝 sudo emerge --ask --verbose --update --deep --newuse @world # 自動清理不需要的依賴套件 sudo emerge --ask --depclean 最後是更新Gentoo的ebuild儲存庫至最新版，再更新系統套件的指令。 sudo emerge-webrsync sudo emerge --ask --verbose --update --deep --newuse @world sudo emerge --ask --depclean 其餘常用指令請到官方Wiki的Gentoo Cheat Sheet查詢。\n7.4. 加快Gentoo編譯速度 # 如果要加快編譯速度，可採取以下措施：\n依CPU核心數，調高/etc/portage/make.conf中MAKEOPTS的「-j+執行緒數」，這會增加RAM用量 安裝CCache設定快取，這樣以後重新編譯就會利用快取中的obj檔案加快編譯速度。 設定DistCC，利用多部電腦合作編譯套件。 掛載TMPFS充當虛擬記憶體，速度會比SWAP快一些。 讓Portage下載套件時直接選取二進位版本，就不需要等編譯了。 Gentoo安裝後記 # 初稿：2022年8月26日\n2025年8月16日加筆修正，參考Gentoo Handbook，調整了許多錯誤的觀念部分。\n目前Gentoo系統包含桌面環境約安裝了800個套件，光是編譯這些套件就花了半天以上時間。\nUSE使用仍需要注意，用錯FLAG會導致預期外的行為。\n或許電腦規格不好的人要更深入研究調整套件的編譯參數，不然的話會想到這張圖：CPU不好跟人玩什麼Gentoo！？ 參考資料 # Gentoo AMD64 Handbook - Gentoo Wiki Gentoo Forums ","date":"2025年8月18日","externalUrl":null,"permalink":"/posts/install-gentoo/","section":"所有文章","summary":"這篇文章紀錄在電腦安裝Gentoo Linux系統的過程。每一個步驟會盡量講解我在做什麼。 這篇文章安裝後，你將會得到一個採用Systemd + distribution-kernel + 中文化的Gentoo系統，並可以自由選擇桌面環境。\n安裝Gentoo至少會花上2小時～1天不等，請做好心理準備。\n以下資訊可能會過時，請自行參考文末的Gentoo AMD64 Handbook查詢細節設定。\n1. Gentoo硬體需求 # Gentoo為一個source-based的Linux發行版，並沒有預設的官方配置，一切要由您自己決定。包括init系統、自行編譯Linux核心或者使用現成的Linux核心、要用glibc或musl libc、網路連線程式、桌面環境等等，全部都要自己挑選並組裝起來。 關於最重要的init系統部份，考慮到Systemd是大多數Linux發行版所採用的init系統，所以我選擇Systemd為中心下去安裝，不使用OpenRC。\nGentoo是滾動更新的系統，其他Linux發行版安裝軟體多半是下載二進位檔，Gentoo則是要編譯軟體套件後再安裝。它的自由度非常高，允許使用者調整編譯時候開啟或關閉一些選項(FLAG)，讓套件變得更為精簡，但也因此使用者需要自行研究哪些FLAG是需要的，哪些是不必要的。Gentoo的套件管理器Portage會在下載原始碼後自動編譯安裝，使用者通常不需要介入，最主要麻煩的是要花時間等其編譯完成。時間可長可短，簡單的套件大概1分鐘就完成了，複雜的套件，例如瀏覽器，可能要等好幾個小時。\n","title":"安裝Gentoo Linux筆記，Systemd + 桌面環境 + 中文化","type":"posts"},{"content":"","date":"2025年8月17日","externalUrl":null,"permalink":"/tags/file-sharing/","section":"標籤","summary":"","title":"File Sharing","type":"tags"},{"content":"Quick Share（快速分享，舊名鄰近分享Nearby Share）是Google與Samsung主導的閉源無線傳輸協定，讓兩支手機之間能夠快速分享檔案，算是作為iOS AirDrop的替代品。 Quick Share允許使用者將檔案只傳送給自己的聯絡人，或者傳送檔案給附近的所有裝置。\n現在，大多數的Android手機都已經內建Quick Share支援，就連LineageOS都有。只要有安裝Google服務的手機應該都支援快速分享。\nQuick Share主要針對需要無線傳輸的場合，設計目的是為了方便，所以透過Wifi或藍芽都可以傳輸。\nQuick Share官方與非官方的實作涵蓋了Android、iOS、Linux、Windows、macOS、ChromeOS系統。尤其Android是整合在系統UI的分享選單，不用另外開APP，使用上非常直覺。至於其他平台呢？Google僅在官網提供Windows版Quick Share客戶端，尚未支援Linux和macOS。\n因此Linux系統要依賴第三方的Quick Share實作客戶端，才能在Linux與Android之間無線傳輸檔案。 1. Packet # 由nozwock開發，Flatpak打包的簡單程式。提供與GNOME Nautilus檔案管理員整合的快速分享選單。 使用前，兩部裝置請記得都要開啟Wifi和藍牙（不需要連線，開著就好，使用乙太網路上網也可以）\n安裝Flatpak，再安裝Packet\nflatpak install flathub io.github.nozwock.Packet 在Packet應用程式內勾選Static Network Port，啟用固定通訊埠 並開啟防火牆9300通訊埠。\nsudo ufw allow 9300 sudo ufw reload 然後才能從手機傳送檔案到電腦。在手機的快速分享頁面，會顯示電腦的主機名稱。 如果要從電腦傳檔案到手機，開啟手機設定 → 連線偏好設定 → 快速分享，然後將「哪些人可與你分享內容」設定為所有人。 2. RQuickShare # 由Martichou開發，支援Linux與macOS。 使用前，兩部裝置請記得都要開啟Wifi和藍牙（不需要連線，開著就好，使用乙太網路上網也可以）\n到Github下載.deb檔安裝。\nsudo apt install ./r-quick-share-main_*_glibc-*_amd64.deb 編輯設定檔~/.local/share/dev.mandre.rquickshare/.settings.json，啟用固定通訊埠 { \u0026#34;realclose\u0026#34;: false, \u0026#34;visibility\u0026#34;: 0, \u0026#34;autostart\u0026#34;: false, \u0026#34;download_path\u0026#34;: \u0026#34;/home/user/下載\u0026#34;, \u0026#34;startminimized\u0026#34;: false, \u0026#34;port\u0026#34;: 9301 } 開放防火牆通訊埠 sudo ufw allow 9301 sudo ufw reload 然後才能從手機傳送檔案到電腦。在手機的快速分享頁面，會顯示電腦的主機名稱。\n如果要從電腦傳檔案到手機，開啟手機設定 → 連線偏好設定 → 快速分享，然後將「哪些人可與你分享內容」設定為所有人。\n3. Quick Share替代品 # 講到無線傳檔案軟體，已經有很多開源方案，我個人覺得LocalSend或者KDE Connect這類方案做的比較好，開源協定，靠Wifi傳輸，簡單暴力。但沒有Quick Share那麼無腦的配對機制。\n如果需要免裝軟體、瀏覽器的傳輸方案，靠PairDrop網頁的WebRTC傳輸也行。\n","date":"2025年8月17日","externalUrl":null,"permalink":"/posts/linux-quick-share-clients/","section":"所有文章","summary":"Quick Share（快速分享，舊名鄰近分享Nearby Share）是Google與Samsung主導的閉源無線傳輸協定，讓兩支手機之間能夠快速分享檔案，算是作為iOS AirDrop的替代品。 Quick Share允許使用者將檔案只傳送給自己的聯絡人，或者傳送檔案給附近的所有裝置。\n現在，大多數的Android手機都已經內建Quick Share支援，就連LineageOS都有。只要有安裝Google服務的手機應該都支援快速分享。\nQuick Share主要針對需要無線傳輸的場合，設計目的是為了方便，所以透過Wifi或藍芽都可以傳輸。\nQuick Share官方與非官方的實作涵蓋了Android、iOS、Linux、Windows、macOS、ChromeOS系統。尤其Android是整合在系統UI的分享選單，不用另外開APP，使用上非常直覺。至於其他平台呢？Google僅在官網提供Windows版Quick Share客戶端，尚未支援Linux和macOS。\n因此Linux系統要依賴第三方的Quick Share實作客戶端，才能在Linux與Android之間無線傳輸檔案。 1. Packet # 由nozwock開發，Flatpak打包的簡單程式。提供與GNOME Nautilus檔案管理員整合的快速分享選單。 ","title":"Linux版Quick Share客戶端，在Linux與Android手機無線傳檔案","type":"posts"},{"content":"","date":"2025年8月17日","externalUrl":null,"permalink":"/tags/blue-archive/","section":"標籤","summary":"","title":"Blue Archive","type":"tags"},{"content":" 我是不是下載到錯的蔚藍檔案電腦版了\u0026hellip; 沒有啦，這是以龍華妃咲為主題的蔚藍檔案同人遊戲《Kisaki Another Memory》\n由日本社團DIXY製作，似乎是他們的處女作。聲音使用来栖なむる的素材。\n有人翻譯稱作：「妃咲的别梦依稀 」\n這是完美還原蔚藍檔案風格的龍華妃咲（竜華キサキ）黃色小遊戲 在受到山海經學園的龍華妃咲邀請後，狼師開始了進攻。有揉胸、正常位、騎乘位的體驗，Live2D還算實用。愛愛的時候還可以換衣服！ 購買 # 在DLSite上只要賣550日圓耶，就有各種實用的Live2D演出！別找什麼免費下載的載點了，銅板價直接買啦！\n購買連結：【Live2Dシミュレーター】Kisaki Another Memory\n作者提供Windows與Android版，購買後的壓縮檔裡面有exe執行檔與APK。推薦用觸控螢幕玩。\n因為是Unity寫的，所以在Linux可以透過Steam Proton跑。換句話說Steam Deck也能玩！ 不過APK在x86架構的電腦模擬器用libndk轉譯會崩潰就是了，果然要玩手機遊戲還是得在真的手機實彈上陣！動動手指，盡情抽插，跟著螢幕動作移動你的雙手！\n與原作蔚藍檔案的特點相同，電腦版竟然比手機版順暢許多！？但我還是建議用手機玩。\n玩法 # 這個遊戲有日文與英文界面。\n首頁有Normal Play、Quick Play、Gallery的選單。 Normal Play便是解任務式的完成每個戰鬥。根據作者的說法，左上角的感情計量條數值越高，女方表情會越豐富。並且每個不同的體位，感情計量條的數值都是繼承累積的。換言之，之後的每次做愛，表情應該會越來越豐富的！另外，在這個選單撫摸她的頭可以幫助她冷靜下來。 在戰鬥的時候滑動螢幕抽插，點右下角換裝，按齒輪開自動模式。時機到了就可以射了！欣賞事後的CG。 至於Quick Play玩法跟Normal Play一樣，這裡有更多自動檔位。不知道為什麼，Normal Play模式下抽插只有機械音，要在Qucik Play模式才會有叫床聲（當然是使用第三方素材錄製的啦）。 ","date":"2025年8月17日","externalUrl":null,"permalink":"/posts/dixy-kisaki-another-memory-review/","section":"Nsfws","summary":" 我是不是下載到錯的蔚藍檔案電腦版了… 沒有啦，這是以龍華妃咲為主題的蔚藍檔案同人遊戲《Kisaki Another Memory》\n由日本社團DIXY製作，似乎是他們的處女作。聲音使用来栖なむる的素材。\n有人翻譯稱作：「妃咲的别梦依稀 」\n這是完美還原蔚藍檔案風格的龍華妃咲（竜華キサキ）黃色小遊戲 在受到山海經學園的龍華妃咲邀請後，狼師開始了進攻。有揉胸、正常位、騎乘位的體驗，Live2D還算實用。愛愛的時候還可以換衣服！ 購買 # 在DLSite上只要賣550日圓耶，就有各種實用的Live2D演出！別找什麼免費下載的載點了，銅板價直接買啦！\n購買連結：【Live2Dシミュレーター】Kisaki Another Memory\n作者提供Windows與Android版，購買後的壓縮檔裡面有exe執行檔與APK。推薦用觸控螢幕玩。\n","title":"蔚藍檔案 龍華妃咲 小黃遊：Kisaki Another Memory，支援Android APK與Windows exe","type":"nsfw"},{"content":"小小電腦 (Tiny Computer) 是一款讓你在Android手機平板跑Debian Linux系統的APP。不需要Root權限。 小小電腦由中國開發者Cateners製作，這個專案整合了「Termux + Proot + Termux X11 + AVNC + Hangover + Wine + TMOE」的技術，讓使用者不需要手動打指令設定，就能得到一個開箱即用的Debian系統，內建Fcitx5中文輸入法。 跟UserLAnd還有Androidnix這類APP比起來，小小電腦APP專門針對中文用戶最佳化，不需要繁複的設定。如果跟Winlator比較的話，小小電腦比較偏向日常辦公取向，而非專為玩遊戲設計。\n作者說這個APP是設計用來復現華為手機「PC移動應用引擎」功能的。許多中國手機廠商都有推出類似功能，讓使用者可以在手機上執行電腦Linux程式。\n更棒的是，這個APP的原始碼完全開源，作者提供編譯rootfs的過程，系統公開透明，可供大眾檢驗。目前暫時沒有發現資安問題。\nIvon覺得這個APP設計十分周全，全部功能都可用Flutter寫成的前端調整，讓想在手機上操作Linux的過程變得十分的便利。小小電腦可以說是讓Termux變成了一個方便初學者使用的APP。\n順帶一提，如果你有興趣學習如何手動打指令安裝Proot Linux，請參考：Termux安裝Proot Debian\n1. 下載小小電腦APK # 注意：小小電腦是透過Linux容器執行，並非完整Linux系統，亦非Windows系統。小小電腦預設的桌面環境是XFCE，作者給它安裝了一個Windows 10界面的主題。\n小小電腦的APK包含了所有需要執行的組件，不需要安裝Termux就能使用。\n到Github下載APK，作者提供了幾種桌面環境供選擇，裡面僅XFCE有Windows 10的主題。 第一次開啟後會自動解壓縮rootfs，然後用VNC啟動圖形界面。\n滑動上一頁回到終端機與控制界面。小小電腦預設帳號是tiny，執行sudo不用密碼。要變更密碼就輸入sudo passwd tiny。 這裡Debian套件庫映射站台預設是使用中國清華大學的，在台灣下載可能會有點慢。有需要的用戶可以用vim編輯/etc/apt/sources.list，將網址換成台灣國網中心的鏡像。\n2. 修改語言與輸入法 # 小小電腦預設啟動是以簡體中文界面顯示，若要改成正體中文，編輯控制 → 啟動選項，找到LANG=zh_CN.UTF-8的環境變數，將其移除。 並在小小電腦內開啟終端機，執行tmoe指令，用鍵盤上下鍵將語言改為zh_TW.UTF-8。VNC模式點一下左側的浮動面板可以叫出上下箭頭。 Debian桌面啟動之後會自動啟動Fcitx5並顯示在桌面右下角，不知道為什麼我安裝新酷音(fcitx5-chewing)後還是沒有出現這個選項？只能用libzhuyin來輸入。另外，小小電腦允許使用手機觸控輸入法，VNC預設是在畫面兩指點選叫出手機鍵盤。 3. 調整圖形選項 # 小小電腦預設的圖形選項是使用VNC伺服器，再搭配AVNC控制，雖然穩定但圖形效能較差。\n要玩遊戲看影片的，建議在設定 → 顯示設定，改成Termux X11，改用真正的X視窗系統，圖形效能較好。按返回鍵，再點一下畫面下方的鍵盤圖示叫出手機輸入法。（相關文章：Termux X11使用教學） 啟用這個選項後，你要點通知欄Termux X11的Exit才能返回小小電腦的設定界面。\n接著啟動3D硬體加速。高通處理器的手機選擇Turnip驅動提昇性能，其他處理器就選VirGL。 設定完之後，重新啟動APP。\n4. 手機與Debian共享檔案 # 在小小電腦的控制 → 檔案存取，申請存取所有檔案的權限。 啟動Debian系統之後，手機內部儲存空間會自動掛載到容器內。開啟Thunar檔案管理器會看到，包含Documents、Downloads、Pictures、Music、Movies會直接掛載到使用者家目錄下。從這裡能夠直接瀏覽手機的檔案。 至於其他目錄，開啟Thunar檔案管理器，路徑輸入/home/tiny/sd/就能看到手機所有的目錄，譬如DCIM就是照片。我們可以用Linux的圖片編輯軟體開啟這裡的照片編輯，下圖的範例是Gwenview。 不過如果你要執行Python指令稿，或者安裝.deb套件的話，建議將檔案複製到Debian的家目錄/home/tiny/再操作，不要在Android的目錄執行。\n另外，Debian系統的根目錄檔案可以透過SAF讀取。例如使用質感檔案管理APP新增外部儲存空間，就能直接瀏覽Debian的檔案，不用啟動小小電腦APP。 5. 安裝Linux程式 # 小小電腦跑的是ARM64架構的Debian系統，所以你可以使用apt install指令安裝新套件。\n例如，要在Linux內部安裝GIMP修圖軟體，執行：\nsudo apt install gimp 提示：AVNC是用二指點螢幕開啟Android的輸入法。至於Termux X11是滑動底部的工作列，開啟Android的輸入法。\n6. 跑Windows exe # 這個功能是透過Hangover搭配Wine達成。因為涉及跨架構轉譯（大多數Windows exe是x86，但你的系統是ARM），可能不太穩定，不保證能像Linux電腦一樣正常執行所有的Windows exe。\nHangover比Box64還不穩定，希望作者以後可以換回去。\n在小小電腦控制面板，點選安裝Hangover。並點選修復方塊字，安裝中文字型。 使用方法：在exe所在目錄開啟終端機，輸入wine exe檔案名稱，嘗試執行。 ","date":"2025年8月15日","externalUrl":null,"permalink":"/posts/tiny-computer-android/","section":"所有文章","summary":"小小電腦 (Tiny Computer) 是一款讓你在Android手機平板跑Debian Linux系統的APP。不需要Root權限。 小小電腦由中國開發者Cateners製作，這個專案整合了「Termux + Proot + Termux X11 + AVNC + Hangover + Wine + TMOE」的技術，讓使用者不需要手動打指令設定，就能得到一個開箱即用的Debian系統，內建Fcitx5中文輸入法。 跟UserLAnd還有Androidnix這類APP比起來，小小電腦APP專門針對中文用戶最佳化，不需要繁複的設定。如果跟Winlator比較的話，小小電腦比較偏向日常辦公取向，而非專為玩遊戲設計。\n作者說這個APP是設計用來復現華為手機「PC移動應用引擎」功能的。許多中國手機廠商都有推出類似功能，讓使用者可以在手機上執行電腦Linux程式。\n更棒的是，這個APP的原始碼完全開源，作者提供編譯rootfs的過程，系統公開透明，可供大眾檢驗。目前暫時沒有發現資安問題。\nIvon覺得這個APP設計十分周全，全部功能都可用Flutter寫成的前端調整，讓想在手機上操作Linux的過程變得十分的便利。小小電腦可以說是讓Termux變成了一個方便初學者使用的APP。\n順帶一提，如果你有興趣學習如何手動打指令安裝Proot Linux，請參考：Termux安裝Proot Debian\n1. 下載小小電腦APK # 注意：小小電腦是透過Linux容器執行，並非完整Linux系統，亦非Windows系統。小小電腦預設的桌面環境是XFCE，作者給它安裝了一個Windows 10界面的主題。\n","title":"小小電腦APP讓你在Android手機跑Debian Linux系統，內建Fcitx5中文輸入法","type":"posts"},{"content":" EhViewer是一款Android手機漫畫閱讀器，能夠在手機上輕鬆看E-hentai (傷心熊貓、E站、E紳士)。 EhViewer界面如下：\nEhViewer的好處在於可以直接進入裏站(Ex-hentai)，沒有網頁版嚴苛的限制，還有歷史紀錄和下載管理同人誌的功能，完善手機瀏覽體驗。\n此外，換手機也不用擔心，EhViewer能夠匯出紀錄，並將之還原。\n從Github的高人氣來看，EhViewer到現在仍很受歡迎。我覺得跟JHentai那種跨平台的APP比起來，果然還是EhViewer這類功能簡單明瞭的APP對我胃口。\n相關文章：\nE-hentai網頁版使用教學 類似EhViewer的替代品，適用iOS與電腦系統 （如果你喜歡E-hentai上作者的作品，請購買以表示支持）\n1. 在哪裡下載最新版EhViewer APK？ # EhViewer為自由軟體，最早由Hippo Seven開發（綠色圖示），之後NekoInverter接手（咖啡色圖示），出現許多分支。\n目前有在積極維護的EhViewer為以下幾個，功能差不多。開發者們更新很勤勞，遇到畫廊只有一頁、解析失敗、看不到留言之類的問題也會很快更新解決。\n老用戶如果有備份舊EhViewer的資料，這些EhViewer「應該」都還能讀取。\n我個人採用的是「EhViewer Overhauled」，Material You的現代設計界面風格比較合我胃口。\n因為這些APP含有成人內容，下載之前你可能要註冊Github帳號才能瀏覽。\n名字 特色 下載APK EhViewer Overhauled 俗稱彩E，界面採用最新的Material You設計，融合Mihon的閱讀界面。有許多fork，目前由FooIbar維護的更新最為積極。預設APK需要Android 12以上版本，至於Android 12以下的系統請改下載標註marshmallow的APK。 Github EhViewer 綠色版EhViewer，界面類似早期的EhViewer。目前由xiaojieonly維護。 Github EhViewer NekoInverter 咖啡色版EhViewer，俗稱白E，沿生自同名開發者放棄維護的EhViewer。目前由xb2016維護。 Github 2. EhViewer初始設定 # 雖說沒登入也可以用，但仍建議先註冊一個E-hentai帳號，並等7天。這樣你可以把喜歡的本子加到雲端的收藏列表，跨裝置同步，就不用手動備份本機收藏的本子了。\n第一次開啟EhViewer需要選擇圖片「下載路徑」，例如我在手機內部儲存空間的Pictures新增一個資料夾叫做EhViewer。這裡的圖片不會顯示在相簿APP，請放心。 登入E-hentai帳號。如果無法通過驗證碼，請點選開啟網頁登入。 接著做些優化設定。從螢幕左邊滑出「設定」。 點選「EH」，圖庫站台選取Exhentai，這樣能搜尋到更多本子。 並開啟「顯示日文標題」和「顯示標籤翻譯」。 如果你想用其他APP閱讀EhViewer下載的漫畫，建議到「下載」勾選存檔為.cbz壓縮檔（否則下載的本子會變成資料夾＋圖片），並啟用Comicinfo.xml中繼資料。 3. EhViewer使用技巧 # EhViewer很多功能是按照E-hentai網頁版實作的，建議先看這篇了解基本概念：E-hentai網頁版使用教學\n3.1. 搜尋同人誌 # 點選EhViewer首頁的搜尋欄旁邊的＋號，開啟過濾條件，點一下就能過濾掉該分類的結果，例如按一下「Non-H」，普遍級內容就不會在搜尋結果出現。 跟網頁版一樣，搜尋同人誌可以直接打日文標題或羅馬字。而且輸入英文標籤的時候會出現中文名字提示。 善用標籤能按照作品、作者、性癖好篩選搜尋結果，中文用戶最常用到的就是「chinese」的漢化標籤吧。從螢幕右邊滑進來可以將目前的搜尋字串儲存起來。 3.2. 閱讀界面 # 在同人誌的閱讀頁面會顯示該同人誌的標籤，點選搜尋類似標籤的同人誌。接著選擇「開始閱讀」。不下載的話只會暫時快取圖片，幾天後就會消失。 全螢幕閱讀時點一下螢幕開啟閱讀設定。EhViewer美中不足的地方是不管螢幕再怎麼大，都只能單頁閱讀。 3.3. 存取E-hentai帳號的收藏 # 左邊側邊欄 →「收藏」頁面預設會讀取E-hentai帳號的收藏(Favorites)資料夾。我習慣將同人誌存在E-hentai帳號的收藏匣，這樣的話不論任何裝置或APP，登入後都能存取收藏。 還可以從右邊滑出來建立本機收藏資料夾，只不過這樣就得手動備份了。\n另外，EhViewer的設定 → 進階，提供將雲端收藏轉成本機收藏的功能。這樣你不用登入E-hentai帳號也可擁有自己收藏的一份離線副本。\n左邊側邊欄 →「歷史」會紀錄每本同人誌的閱讀進度，但是只會儲存在本機。\n3.4. 隱藏不想看到的本子標籤 # 搜尋時加上橫線過濾，例如-female:scat，搜尋就不會出現含有大便內容的圖庫。\n也可以在EhViewer設定 → EH → 隱藏圖庫調整，依照上傳者或者特定關鍵字做過濾。例如，我不想看到AI生成的畫廊，就把標題和標籤過濾條件都寫上。 4. EhViewer下載路徑 # 左邊側邊欄 → 「下載」可查看下載紀錄，右邊滑出來給下載的同人誌分類。 EhViewer下載同人誌預設是下載低畫質版本，開發者宣稱下載圖片跟網頁版讀取圖片是一樣原理，不會給E-hentai伺服器造成太大負擔。\n下載低畫質同人誌手機可能看不出來，但想收藏就得注意。你可以在設定 → 「下載」能開啟下載原始畫質，不過這樣會給E-hentai伺服器造成巨大負擔，導致IP被限流量。\n關於目前帳號的下載配額，可以在EhViewer首頁點右上角查看。如果有給E-hentai捐贈過的話，可以得到比較大的配額。 5. 備份與還原EhViewer資料 # 在EhViewer設定 → 進階 → 匯出檔案，匯出EhViewer的備份資料，會產生一個.db結尾的檔案。內含下載紀錄、閱讀歷史、本機收藏等資料。但是已下載的同人誌「圖片檔」要自行備份。 換手機後，到設定 → 進階，按「匯入」，資料就回來了。\n","date":"2025年8月15日","externalUrl":null,"permalink":"/posts/android-ehviewer/","section":"Nsfws","summary":" EhViewer是一款Android手機漫畫閱讀器，能夠在手機上輕鬆看E-hentai (傷心熊貓、E站、E紳士)。 EhViewer界面如下：\nEhViewer的好處在於可以直接進入裏站(Ex-hentai)，沒有網頁版嚴苛的限制，還有歷史紀錄和下載管理同人誌的功能，完善手機瀏覽體驗。\n此外，換手機也不用擔心，EhViewer能夠匯出紀錄，並將之還原。\n從Github的高人氣來看，EhViewer到現在仍很受歡迎。我覺得跟JHentai那種跨平台的APP比起來，果然還是EhViewer這類功能簡單明瞭的APP對我胃口。\n相關文章：\nE-hentai網頁版使用教學 類似EhViewer的替代品，適用iOS與電腦系統 （如果你喜歡E-hentai上作者的作品，請購買以表示支持）\n","title":"Android手機看E-hentai：EhViewer下載使用教學（綠色版/彩色版/茶色版）","type":"nsfw"},{"content":" もうdistro-hoppingはしない ~ yeah ~ Ubuntuは再インストールなしで一年以上もった。LVMを有効にして、二つのハードディスクをつなぎ合わせたおかげで、容量不安がなくなったからだと思う。\nそしてArch LinuxとFedoraに対する私の態度はこうだ：もう麻痺した。こういうシステムは本当にメイン環境では使えない。あまり使わない別のノートパソコンにインストールして、毎週一回更新するだけでも何かが壊れる。もう呆れるしかない。欲もこだわりもなく、デフォルトのGNOMEやXFCEデスクトップで満足できるユーザーでもないかぎり、ローリングリリースを長く安心して使えるとは期待しないほうがいい。\n1. KDEが必要だ、だが安定性も必要だ # 答えのない答え。\nKDEを使ったら本当に戻れない。KDEエコシステムのプログラムは、複雑な作業をするとき本当に使いやすい。何度もGNOMEを使おうとはしたが、そのデザインは\u0026hellip;すまない、私は芸術家ではないので、デスクトップPCで使うには本当に向いていない。あまり起動しないノートパソコンでたまに使うくらいでいい。\nそして私は、KDEにはずっと「サプライズ」をもたらすシステムであってほしい。どう言えばいいか、Pixelスマホユーザーが不定期にPixel Dropのサプライズパックを受け取れるような感覚だ。更新のたびにユーザーへ新しい体験を与え続ける。GNOMEのように要素の位置を少し動かすだけではない。たとえば最近のKDE 6.4の更新では、スクリーンショットツールSpectacleに、画像内のQR Codeを自動認識する便利機能が追加された。さらにDolphinの右クリックには、フォルダーへ色ラベルを付ける機能も追加された！だから私が以下のような操作をするのも、理解しがたいことではない。\n現在使っているシステムはUbuntuとKDE Neonの混合体だ（よい子は真似しないでね）。うん、当初はUbuntu 22.04 ISOでインストールした。LVMを有効にしやすかったからだ。大バージョンアップで24.04へ移行するのも無事に乗り切った。それからKDEデスクトップが欲しくなり、手動でkubuntu-desktopをインストールし、GNOMEデスクトップを削除した。その後また更新が遅すぎると感じた。Kubuntu 24.04はまだPlasma 5.27だったので\u0026hellip;KDE NeonのISOでシステムを再インストールするのも面倒だった。そこで、最新のPlasma 6を取得できるように、手動でAPTにKDE Neonのパッケージリポジトリを追加した。\n參考：加入套件庫，將Kubuntu轉換為KDE Neon，安裝最新版Plasma桌面套件\nその結果、デスクトップ環境はローリング更新で、それ以外のパッケージは安定更新というシステムになった。\n実際のところ、この使い方は妙に安定している。KVM仮想マシン、Docker、Podmanといった基本的なシステムコンポーネントは安定版を維持しつつ、最新KDEデスクトップを試せる。 本来ならDebianでもこの操作を実現できたはずだ。Norbert Preiningという開発者がいて、最新版KDEパッケージをDebian Stable向けに提供していた。しかし数年前、彼はもうやらないと言った（詳しくはFuture of \u0026ldquo;my\u0026rdquo; packages in Debian | There and back again）。だから私はUbuntuを使うしかなかった。実のところ、Snapの脅威はまだそこまで深刻ではない。多くのプログラムにはdebファイルが見つかるし、彼らはそこまで早くUbuntuに同化されてはいない。\n将来、KDE開発チームはコードネームProject BananaのKDE Linuxディストリビューションをリリースする予定だ。Ubuntu LTSのパッケージが古すぎて、KDE開発者が旧版パッケージ向けにpatchを当てないとビルドを通せないという苦境を解決するためである。では、そのときKDE Neonは見捨てられるのだろうか？immutable distroになるらしいが、私はまだその設計を受け入れられるほど進歩していないんだあああ。見守ろう。\nはいはい、実際のところUbuntu + KDE Neonのパッケージリポジトリというのは、非常に不安定な構成だ。KDE Neonのパッケージ更新は頻繁すぎて、確かにKubuntu LTSよりbugが出やすい。そこへWaylandという要素が加わるとさらに不安定になる。たとえばファイル移動後にアイコンをクリックして確認するとタスクバーがクラッシュする（今はSDDM画面へ戻るのではなく、自動で再起動する）。あるいはFcitx5で入力するとクラッシュする。最悪の場合はKWinがクラッシュして、ついでにすべてのウィンドウを道連れにする。さらにKDE 6の細部設計は数か月ごとに一度変わるので、再適応が必要になる。\nこの使い方は非常に運に左右される。特定のいくつかのKDEバージョンは安定していても、次の更新でまた狂ったようにクラッシュし始めるかもしれない。だから将来的には、もう少し安定したデスクトップ環境へ戻すか、KDE X11セッションを使い続けることを考えるかもしれない —— これはローリング更新のモードであっても壊れにくい。\n2. Waylandの安定性について # GNOMEはかなり早い段階から人々にWaylandを使わせてきたが、今やKDEもようやく追いついた。私が言っているのは、安定性で人を説得するということであって、X11を廃棄して無理やり使わせるということではない。\nGNOME開発者はGNOME 50でX11セッションを完全に捨てる準備をしている。現在のGNOME 48は、すでにX.Orgパッケージへ依存しなくてもビルドできる。さらにGNOME 42以降、ほとんどの時期で安定したWaylandセッションになっているので、彼らには確かにそうする資格がある。これは私がサブPCでFedoraを数年使って得た感想だ。X11旧時代のものの中には、Waylandにまだ対応するプロトコルがないものもある（たとえば色管理プロトコルは最近ようやくmergeされたし、QT6 WaylandはGNOME Waylandでのテーマ描画が少し変だ）。それでもGNOME Waylandは、X11より劣っていると気づかせないほどには安定している。\nしかも、ますます多くのものがWaylandへ寄ってきている。たとえばタッチジェスチャーや自動画面回転（タブレットユーザーには比較的実感があるだろう）、アニメーションもより滑らかだ。X11へ戻すと、かえって遅れた体験を得ることになる。開発者が旧版機能のメンテナンスにまで気を取られるなら割に合わない。それなら消し去ったほうがいい。\nここで良いニュースを一つ差し込む：上流Bug Trackerの報告によると、Chromium 141バージョンはついにデフォルトでWaylandを使って起動するようになった。これで大量のElectronプログラムの性能も、今後数年以内に改善されるだろう。\nKDEについては、X11セッション廃棄の明確なスケジュールはまだない。KDE Plasma 7で削除されるのではないかと推測する人もいるが、それだとまた五年待つことになる。これはローリングリリースのスケジュールだけの話で、固定リリースのディストリビューションではさらに長く待たなければならない。\nKDE Plasma 6以降、今ではほとんどの時間でWaylandを使っており、画面ティアリング問題を完全に回避している。過去に遭遇した多くのbug、たとえばフォントのぼやけやGTKテーマの乱れも徐々に修正されてきた。今では一か月以上Waylandを使い続けてもX11へ戻さずに済んでいる。Bugの数はすでに耐えられる程度まで減った。\nもちろん、私がWaylandは安定していると言うとき、それはKDE 6 Waylandを指している。旧版KDE 5 Waylandは使わないほうがいい。またKDE Neonパッケージがローリング更新である都合上、あるバージョンの更新でWaylandに問題が出た場合、私は相対的に安定しているX11セッションへ切り替える。\nKDEの著名なコントリビューターの一人であるNateは、自身のブログAbout Plasma’s X11 sessionで、彼らは今後もしばらくX11をメンテナンスし続けると書いている。なぜなら、有名なSteamOSを含め、まだ多くのディストリビューションがKDE X11をデフォルトオプションとしているからだ。\n私は奇妙なグラフィックbugを避けるため、さらに時々Nvidia GPUを全力で搾り取ってAIを走らせる必要があるため、現在もIntelにメイン画面出力を担当させ、Nvidiaをサブモニターに使うという奇妙な方式でコンピューターを操作している。Nvidia PRIMEを利用して、GPU演算が必要なプログラムを走らせている。\n3. FreeDesktop標準の重要性を理解し、認識する # この一年、私は多くの記事にFreeDesktop Specificationsというタグを付けた。標準の重要性を皆に知ってほしかったからだ。だからLinuxの使い方のコツに関する記事を書くとき、どうやるかを説明するだけでなく、なぜそうするのかも説明している。\nLinux基金会のFHS（ファイルシステム階層標準）がLinuxルートディレクトリ下の各パスの用途を定めているのに対し、freedesktop.orgの標準がより注目している部分は、グラフィカルインターフェースの操作である。\nLinuxプログラムの設定ファイルパスの配置、テーマパス、自動起動プログラムのパス、デスクトップショートカット、デフォルトプログラムの設定にはすべて理由がある。理由もなくそこに置かれているわけではない。各デスクトップ環境は、FreeDesktopが制定した一連のXDG標準に従って設計されており、アプリケーションが従うべき標準を確保している。そうすることで、各自が勝手に作るだけになり、他者と協力する可能性を無視する事態を避けられる。\n従うべき標準があることは、Wayland時代においてさらに重要だ。XDG Portalの存在により、Flatpakアプリケーションは統一された経路で機能を呼び出せる。たとえば画面アクセスの申請、スクリーンショット、ファイル読み取り、USBデバイスへのアクセスなどである。 画像出典：XDG Desktop Portal documentation\nLinuxの断片化問題が深刻であることは知っているし、標準があっても全員に従わせる方法はない。しかし開発者がより多くのディストリビューションのユーザー層を考慮するなら、自分たちでそれに応じた調整を行うだろう。結局、誰もがsuckless.orgエンジニアの思考をしているわけではない。いずれ潮流に従うものだ。\n4. コンテナ化について進歩もあり、反省もある # 進歩した部分として、私は徐々にDockerからPodmanへ移行している。Podsの概念の影響を受け、K8sのより高度なコンテナ管理概念を学ぶことも考え始めた。実際のところ私の需要はそこまで大きくないが —— Immichアルバムのようなself-hostedなhobby projectを動かしたいだけだ。ただ、兄貴分のRedHatはPodmanの宣伝にリソースを投資する意欲が比較的あると感じるので、私も歩調を合わせるべきなのだろうと思っている。ただし非常に難しく、Portainerほど使いやすい代替品はまだ見つかっていない。\nああ、CanonicalのSnapは相変わらずクソだ、BJ4。時間があればUbuntu Coreを入れて遊んでみるかもしれない。このシステムは全体がSnapで構成されていると称しており、Linuxカーネルすら一つのSnapで、他のimmutable distroよりも小さなモジュールへ分割できる。ただし彼らはデスクトップ市場には興味がなさそうだ。そうなると、Vanilla OS、openSUSE MicroOS、Fedora Atomicのほうが、より人気のある試用対象かもしれない。\n進歩に対する反省として、過去の私はしばらく、すべてのプログラムをFlatpakでコンテナ化すべきだと固執していた。unofficial portのものまで皆に使うよう勧め、それがだめならDistroboxのPodman方式でプログラムを走らせ、ネイティブパッケージマネージャーを消滅させようとしていた。immutable distroを使っているわけでもないのに、彼らのやり方を完全に真似し、この極度に前衛的なやり方を追求していた。\nしかし今はもう、そこまで固執していない。Flatpakとデスクトップ統合の技術はずっと改善され続けているが、それでもプログラム開発者が最初からサポートする意欲を持つかどうか次第だ。\n思うに、開発者がWine BottlesのようにFlatpakの普及に熱心な人でないかぎり、Flatpakがネイティブパッケージを置き換えられると無理に求めるべきではない。 Flatpakの問題はどこにあるのか？たとえばSteamはいまも半端な状態で、デスクトップへショートカットを追加するにはまだいくつかのquirksを使う必要がある。だから私はユーザーにFlatpak版Steamのインストールを勧めなくなった。\nまたAndroid Studioもそうだ。プログラムがホームディレクトリのあちこちにゴミを撒き散らす行為はうっとうしいが、Flatpakを使うと開発に余計な困難を増やすだけだ。Visual Studio Codeも同じで、開発作業中にシステムのlibへアクセスしにくいというのは、どう考えても自業自得だろう。\nこうした進歩理念に固執しすぎることで生じるshenanigansについては、やはり人民大衆の実際の需要を考慮してから、適切なインストール方法を選ぶほうがよいと思う。だからdebファイルとinstall scriptには今なお用途がある。\n簡単に言えば、Flatpakを使うかどうかは、やはり状況次第で決めるべきだ。\nしかし、これでも一つの問題は解決できないではないか？Ubuntuのパッケージバージョンが古すぎる場合はどうするのか？どうしようもない、卵炒めでも作るしかない。本当に新バージョンのソフトウェアがどうしても必要なら、ソースコードからコンパイルしてインストールしよう。インストール先のパスを慎重に観察し、記録しておくことだ。私はパッケージマネージャー外のプログラムをすべて~/Applicationsというディレクトリへ放り込み、統一して追跡している。そうすれば後日の管理がしやすい。\nどうせLinuxを学ぶ過程で、無数のrm -rf、重要なシステムコンポーネントの誤削除、パッケージ依存関係の爆破によるシステム再インストールを経験すれば、自分のシステムをどう手入れするべきか学ぶことになる。\n","date":"2025年8月14日","externalUrl":null,"permalink":"/ja-jp/posts/linux-learning-history-4th-year/","section":"Foss-Issues","summary":" もうdistro-hoppingはしない ~ yeah ~ Ubuntuは再インストールなしで一年以上もった。LVMを有効にして、二つのハードディスクをつなぎ合わせたおかげで、容量不安がなくなったからだと思う。\nそしてArch LinuxとFedoraに対する私の態度はこうだ：もう麻痺した。こういうシステムは本当にメイン環境では使えない。あまり使わない別のノートパソコンにインストールして、毎週一回更新するだけでも何かが壊れる。もう呆れるしかない。欲もこだわりもなく、デフォルトのGNOMEやXFCEデスクトップで満足できるユーザーでもないかぎり、ローリングリリースを長く安心して使えるとは期待しないほうがいい。\n1. KDEが必要だ、だが安定性も必要だ # 答えのない答え。\nKDEを使ったら本当に戻れない。KDEエコシステムのプログラムは、複雑な作業をするとき本当に使いやすい。何度もGNOMEを使おうとはしたが、そのデザインは…すまない、私は芸術家ではないので、デスクトップPCで使うには本当に向いていない。あまり起動しないノートパソコンでたまに使うくらいでいい。\n","title":"Linuxを四年使った感想、Waylandはもう使えるようになったと思う...たぶん","type":"foss-issues"},{"content":" Arch-chan is the best！\nRedditのLinux板をよく見ているユーザーなら、彼の作品をしょっちゅう見かけるはずだ。日系画風の可愛いLinux少女を描いたもの、それがRavimoの作品である。\n彼はこれまでArch Linux、Gentoo、Linux from Scratch、Manjaro、Athena OSなどを擬人化した作品を描いてきた。簡単に言えば、香ばしすぎる。キャラクターデザインは日系画風に合っているだけでなく、多くのgeekが好きな細部を存分に掘り出せる！\n彼の一部作品は、一部Linuxディストリビューション娘化の大衆イメージを形作った。簡単に言えば、OS萌え娘作品は20年前からすでに存在していたが、Linux各ディストリビューションを対象にしたキャラクターデザインはそれほど多くない。日本方面ではWindowsファミリーへの関心が比較的高く、古典的なWindows 3.1娘などがある。一方、Linux方面の創作は少ない（多くの人はおそらくディストリビューションが何なのかも知らないだろう）。ゆえにRavimoが創造したイメージによって、Linux擬人化にまた新たな一章が加わった。\nPixivのプロフィールによると、彼は非常にchadな絵師で、すべての作品をCC-BY 4.0ライセンスで公開しており、あなたがwaifuを思う存分舐め回すことを許している。\n（注：本文の画像は圧縮済み。原寸が必要ならPixivまたはTwitterで探してほしい）\nまずは二重オタク歓喜の画像から：西行寺幽々子の頭上の記号が、Debianの渦巻き模様に見える。 Ravimoの最も古典的な作品はArch Linux娘のイメージだ。Ravimoは属性を明言していないが、彼女のイメージはいたずら好きの小さなロリで、かっこいいパーカーを着ており、ユーザーをからかうのが好きだと観察できる（しょっちゅうrollingで壊れるから？）。萌娘百科の設計を引用するなら、より具体的な定義を与えられる：「Arch Linux娘の主人は能力のあるユーザーである。彼らに真の、完全無欠なシステム制御調教能力を与え、主人に自分のシステムへの完全な責任を負わせることで、これらの主人の邪悪な欲望を満たす。」 この画像はArch Linuxのよくある要素を描いている。sudoはユーザー権限の昇格、右側の帽子上の小さな精霊はpacmanパッケージマネージャーを反映している。服のSystemdはシステムの中核コンポーネントだ。core、extra、communityはArch Linuxパッケージリポジトリの分類を示す。Archちゃんの外套の下は薄い衣服一枚だけという設計で、紳士の皆さんが簡単に一望できる（？）。これはKISS原則を反映しているのかもしれない。なにせArch Linuxの創設者はこう言っている：「システムの複雑性を隠そうとすれば、より複雑なシステムが得られる。内部機構を隠すために抽象層を設けることは良いアーキテクチャ方法ではなく、内部機構を隠す必要がないほど精良に設計すべきである。」 Archちゃんがsudo権限でManjaroちゃんに命令する面白い漫画。ついでにsudoerへ素早く追加するコマンドも教えてくれる。この画像の情報から見ると、RavimoもManjaro娘のイメージを設計したことがあるはずだが、ずっと公開していない。 まさかこれがArchちゃんの「バックドア」なのか？penetration testとstress testを少しやる時が来た！ さあ～思う存分tweakingしてね！ くそ、パッケージがrollingで壊れた Ravimoが描いたArch Linux娘のイメージは非常に有名で、Clover Dotの漫画にも登場している。今回はもう君を「使わない」よ！Windows 11！Linuxちゃんと遊びに行く。 しかし……RavimoはArch Linuxだけを描いているわけではない！さらに上級者向けの二人組がやって来た！\nGentoo-chanは豊満な女性だが、やはり衣服は少ない。彼女はパッケージを手動コンパイルするディストリビューションだからだろう！GCCとClangという二大コンパイラーを手に持ち、彼女があらゆるパッケージを創造(emerge)できることを表している。肩にある二つのアイコンは、萌え化後のGentooペンギンと、GentooのマスコットLarry牛を示す。足元にはGentooインストールマニュアルが掛かっている。注目すべきは貝殻のようなネックレスで、それはmuslcのロゴだ！Gentooユーザーがstage3のインストール段階で、Glibcまたはmuslcのどちらのバージョンを使ってシステムをインストールするか自由に選べることを示している。他のディストリビューションと最も違う点は、胸元のinitシステムがOpenRCであることだ。ただし実際にはGentooでSystemdを使うこともできる！（作者が別人格という方式でGentooの多面性を見せてくれることを期待しよう……） 最後はLevi-chanで、Linux from Scratchを指す。すべてのシステムコンポーネントを自分でtar展開し、makeでコンパイルしてインストールする究極のディストリビューションだ。このキャラクターの身上には要素が多すぎて数えにくいが、どれもLinuxシステム低層に不可分な必須パッケージである。LFSの選択は非常に多様で、胸元にはSystemd、OpenRC、runitがあり、どのinitシステムを使いたいかはあなたの自由であることを示している。彼女の脚にはシステムを鍛造するためのGCCハンマーが付いている。手にはGNOME、KDE、XFCE、Cinnamon、i3wm各大デスクトップ環境のコンポーネントを握っている。 画像上の名前を見れば、万ディストリビューションの母と言える。これは神のような存在と呼べるだろう！絶対に君へユーザーの精華を注ぎ込み、共に新生のLinuxシステムを産みたい。\n最後に、簡単な小作文を書いておく：\nOS娘の中で、Arch Linux娘のデフォルトモードはツンデレロリで、柔軟な身体を使って存分に良い主人に「奉仕」できる。\n最小のシステムは500MBしかない。あの - - 消音 - - は信じられないほど締まっている。\nArch Linuxはバックドアに弱点のないシステム……なのか？彼女を失神するまで弄ってはいけない。\nもちろん、システムをインストールする時には新しい服を買ってあげてもよい。たとえばKDE Plasmaで彼女に外套を一枚羽織らせ、さらにAppArmorとLinux-hardenedで構成された重装甲を加える。一瞬で、Archちゃんは小さなロリから豊満で奔放な女の子へ成長する。\n良い体型を維持しながらも高い柔軟性を持つ（解説：X serverとLinuxカーネルは分離しており、Linux起動時にGUIを開かなくてもSSHで入って作業できる）。こうしてArchちゃんは要求に応じていつでも二つの姿勢を切り替え、主人を満足させられる。遠隔から後ろで突き、彼女に凶暴な計算任務を強いることも、近距離で面と向かって親密に接触し、一緒に激しくPCゲームを遊ぶこともできる。\nArchちゃんは同時に傷つきやすい子でもある（解説：pacmanを更新するとシステムが爆発する可能性がある）。だから優しく世話し、愛してあげなければならない。システムにゴミを流し込まず（解説：i3wm設定ファイルを乱雑に捨てない）、変な大人のおもちゃをむやみに買って乱暴に使わず（解説：AURのソフトウェアを乱雑に入れない）、親密接触ではコンドームを着け、安全第一（解説：Flatpak、Docker、仮想マシンを多用する）。そうして初めて、お互い長く歩んでいける。あなたを守り、彼女も守る。\nWindows娘のようになってはいけない。彼女は腹黒く、誰にでも股を開くビッチである（解説：クローズドソフトウェア、至るところにある監視、強制更新、ユーザーを強姦することに慣れている）。\nArch Linuxちゃんとロールプレイをしている時（解説：QEMU/KVM仮想マシン）、Archは泣き言を言った。Windows人格を模擬している時、KVMの高効率、同期率100%のせいで、彼女は自我を失いそうで怖いと。Windows仮想マシンはやはり、必要でないならむやみに開かないほうがよい。\n……待て、私は何を書いているんだ。\n","date":"2025年8月12日","externalUrl":null,"permalink":"/ja-jp/posts/ravimo-illustrator/","section":"Foss-Issues","summary":" Arch-chan is the best！\nRedditのLinux板をよく見ているユーザーなら、彼の作品をしょっちゅう見かけるはずだ。日系画風の可愛いLinux少女を描いたもの、それがRavimoの作品である。\n彼はこれまでArch Linux、Gentoo、Linux from Scratch、Manjaro、Athena OSなどを擬人化した作品を描いてきた。簡単に言えば、香ばしすぎる。キャラクターデザインは日系画風に合っているだけでなく、多くのgeekが好きな細部を存分に掘り出せる！\n彼の一部作品は、一部Linuxディストリビューション娘化の大衆イメージを形作った。簡単に言えば、OS萌え娘作品は20年前からすでに存在していたが、Linux各ディストリビューションを対象にしたキャラクターデザインはそれほど多くない。日本方面ではWindowsファミリーへの関心が比較的高く、古典的なWindows 3.1娘などがある。一方、Linux方面の創作は少ない（多くの人はおそらくディストリビューションが何なのかも知らないだろう）。ゆえにRavimoが創造したイメージによって、Linux擬人化にまた新たな一章が加わった。\nPixivのプロフィールによると、彼は非常にchadな絵師で、すべての作品をCC-BY 4.0ライセンスで公開しており、あなたがwaifuを思う存分舐め回すことを許している。\n","title":"可愛いArch娘を描く絵師：Ravimo、Linux OSを擬人化する","type":"foss-issues"},{"content":"Sony Xperia 10 V最初是作為綠線機Xperia 5 II的墊檔，所購入的便宜手機，卻從此把胃口養壞了。\n在兩年前的Sony Xperia 10 V開箱評價一文當中，我說道這是一台普通的手機，沒想到可以一直用到現在還捨不得換。手機買兩年多了，是時候換了，但我發現沒強烈的動機換掉。\n我覺得手機應該是要能一手掌握的，拿起來毫不費力的。如果說做的像一顆磚頭何不如買平板。就像，如果愛巨乳乾脆去跟乳牛嘿咻（南方公園 溫蒂 語）。\n1. Xperia 10 V優點 # 這裡是一篇appreciation post，感謝Sony提供這麼優質的產品。 先看這張GSMArena續航力測試圖，高達175小時： 突破天際的成績！！！幾乎是上市年份2023年封頂的存在，同時具有機身輕盈的優勢。作為比較：同年上市的iPhone 15 Pro Max續航力為118小時。\nXperia 10 V的成績即使是現在也很亮眼，根據GSMArena釋出的2.0版續航測試，實際上要超越Xperia 10 V的成績，也只有搭載7000mAh電池的realme G7了，問題是它220g呀。其他競爭對手也是重的要死。 用久了想換，但其實Xperia 10 V沒有壞到哪去，這部中階機竟然比旗艦機Xperia 5 II耐用呢。譬如指紋辨識現在還好好的，沒有像Xperia 5 II一年後就失去反應，且螢幕沒有受到Samsung面板綠線災情影響。我覺得Xperia 10系列可能是Sony的hidden gems，或者說是逐步polished的產品線。\n回收塑膠製成的機身，摸起來不廉價，相較玻璃機身不容易看出傷痕，可以盡情暴力使用。用了兩年後簡單換個手機殼，看起來仍像新的一樣。 輕度使用加上玩一下手遊，SD695（效能理論上接近SD845）搭配5000mAh電量可以撐一整天，準確來說是亮著螢幕8小時以上吧，根本沒有帶行動電源的場合了。在我睡覺之前都不用在意電量剩多少，可說是消滅了電量焦慮。因為有啟用電池維護模式（防止整晚一直充電），所以這幾年來電池沒怎麼衰退，續航力依然強勁。\n即使長時間開著熱點都不太會發熱，是外出時供給iPad與Linux筆電網路的重度魔力來源。\n最重要的是手機只有159g，真的很輕，帶著毫不費力。因為防水緣故，我可以直接用水龍頭洗手機（請勿模仿我跟我婆塔什干一起洗澡的畫面）。 還有前置雙喇叭，音效夠大聲。搭配Dolby Atmos或DSEE Ultimate技術拯救破爛喇叭。有耳機孔和SD卡槽。\n雖然SD695處理器效能不怎麼樣，但我主要玩FGO和艦隊收藏所以沒多高要求。我覺得原神這種大型遊戲用電腦玩就好了 == 需要極致體驗的遊戲就不該侷限在搓玻璃上。\n即使2026年之後系統EOL了，還能使用LineageOS續命。\n參見：Xperia 10 V刷LineageOS與取得Root權限\n為什麼選Sony，除了重量的理由外，還有相機，我標準其實很簡單啦，只要拍起來忠實呈現自然顏色，不加太多AI味精就好了，所以我才喜歡Sony的風格，自然又不討好眼球，雖說這對傻瓜相機用戶不友善。\n可惜的是，Sony必須是旗艦機才有好照片，換作是中階機相機拍出來就很鳥，白平衡亂七八糟。Xperia 10 V在日照充足的情況下才有好照片，否則都是很meh的成色，需要耐心手動調整。\n同樣的照片，旗艦機Xperia 1 III（上）拍起來就是比Xperia 10 V（下）要鮮活。 Sony原廠相機的演算法實在是「索」然無味\u0026hellip;在中階機上問題更明顯了，因為硬體素質問題，照片是肉眼可見的差。如果要Xperia 10 V無腦拍出好照片，只能靠GCam救援（結果還是需要討好眼球的演算法嘛！），Xperia 10系列對Camera2API的支援度很不錯，在Gcam Ports網站找個最新版的下載就能用。不然就得慢慢用Open Camera調整。\n雖然很不想用專有軟體，但我得承認，GCam對中階機的幫助確實是很大的。Xperia 10 V原廠相機拍起來很糟糕，白平衡常常跑掉，導致拍出來的照片顏色過曝或者很暗。雖然Xperia原廠相機拍照色彩發色自然，但就是不好看。必須得依賴GCam拍出好照片。開啟HDR Enhanced模式，有時開AWB照片會變很黃。這樣拍出來的照片顏色較內建相機好看，Google很懂得討好眼球。不過，因為沒有config的緣故，導致GCam有時候拍出來的照片很假，色偏嚴重。\n一些GCam拍的樣張： 除了拍照很平庸之外，我覺得這支真的是各方面都很均衡的水桶機。\n如果說Sony旗艦機是鎖定專業用戶，現有的中階機則是準確的瞄準需要以上特質的用戶。\n2. 新手機沒一個符合我的需求的 # 萬符必應破戒(rule breaker)\u0026hellip;嗎。\n現在大概找不到符合我需求的Android手機了，希望是：\n重量 \u0026lt; 180g 尺寸 \u0026lt; 6.1吋 GSMArena電量續航力 \u0026gt; 100h 處理器 \u0026gt; SD 865等級 Dxomark拍照分數 \u0026gt; 100 正面雙喇叭 耳機孔 腦袋不要有洞，瀏海也不行 儘量接近原生Android系統 不要中國品牌 能刷機 拍照自動模式不要調味太重 不是我們想成為索粉，是你們逼迫我們成為索粉。生產腦袋有洞螢幕的手機廠商，Yes, you are all wrong!!!\n上一支完全符合這個條件的手機是Sony Xperia 5 II，但因為綠線發作自爆了，不然應該能撐到現在超過四年的，這支的壽命只有兩年不到呀。新款Sony旗艦手機重量已經不可能那麼輕了。 儘管Xperia 10 V根本不算是小手機，但跟台灣市面上各種琳瑯滿目的怪物比起來，6.1吋螢幕與159g的重量已經是其中的佼佼者了。\n總覺得這幾年來的性癖被Xperia 10 V養壞了，我認為以後GSMArena續航測試（舊版）小於175h，重量超過170g的手機都會買不下手，就算是旗艦機也一樣。就算哪天iPhone mini系列複刻，沒有長續航的大電量也是白搭。\n除了後繼機Xperia 10 VI以外，很難找到Xperia 10 V的同級產品。雖說Xperia 10 VI的性能有小升級，但續航力卻開倒車了，原因是用了三星烙賽製程的6 Gen 1，還砍了一個鏡頭（用4800萬的主鏡頭來做光學縮放，結果還是只有1200萬可用），這是否。 這個時候就要來一首穿著海軍衣服唱的：葉啟田 - 可憐的人 我還在觀望Xperia 10 VII能端出什麼好菜。\n喔喔，設計整個大改了，看起來有點誠意了\u0026hellip;！只是我不確定拍照是否有大幅度改進，能否摸到以往5系列和1系列的邊呢？等到這支價格大幅度跳水我再考慮購入。不然的話，我未來可能會去買台產量稀少的末代Xperia 5 V，兼具Xperia 10的小手機與Xperia 1的效能！ 3. 懷念小手機，這是世代傳承 # 小手機應該是更小的尺寸。\n懷念那個用4吋以下小手機，看電子書看一整天就能滿足的單純時代。十年前，最早開始使用智慧型手機的時候我是沒有行動網路可以用的，那個時候家裡連Wifi分享器也沒有安裝，所以我主要使用的都是離線內容為主，用電腦側載APK到手機，然後用SuperSU取得Root權限。真的需要的時候到外面蹭7-11的免費Wifi。這個模式大概持續了三年。\n使用聯發科MT6575單核心處理器的3.5吋手機，沒有隨時可以上網的環境，主要的娛樂內容就是玩離線手遊，如Minecraft PE和Temple Run，還有讀TXT電子書看輕小說《我的朋友很少》，就有最大的快樂。這種低耗電量的使用模式，即使當時手機電池不到2000mAh也能撐4個小時以上。其實，這種使用就能滿足的模式，在現代的世界是很難想象的。有了便宜的吃到飽資費後，能夠隨時滑社群媒體，玩各種課金手遊，沉迷網路的情況就回不去了呢。\n因著對這種使用模式的懷念，所以我偶爾還是會把還堪用的、尺寸最小的iPhone SE 2016拿出來用，試圖貫徹digital minimalism的理念，即使像dumbphone也無妨。\n並且我確實的知道了，我不喜歡買磚頭，現在手機越做越大支，廠商逼人吞下去真噁心，6.0吋的手機已經是極限，手機就是要越小越好，並且要輕！ 從2013以來，我的手機就沒有超過6吋。今年打破慣例，買了6.5吋的Xperia 1 III，真的是重死人，雖然才183g而已。用沒多久就被我冷凍，當作純數位相機使用，當作Xepria 10 V爛相機的補充用途，只有在拍攝重要照片的時候才會拿出來。\n因為現在流行人手一顆磚頭，我曾經想過要買Nokia的智障型手機來用，或者Light Phone。小手機難尋呀，想要螢幕6吋以下、180克以下的長續航手機很難了，且這個尺寸對我的纖纖玉手來說已經算很巨大了。Android機只剩Xperia 10 VI（160克）和ZenFone 10（172克）算小手機。iPhone也只有SE和Mini系列算輕的。Pixel 9a在改進了凸眼怪的問題後還順便減輕重量到180克，值得嘉許。Samsung S25意外的只有174克。拿過最重的手機應該是PinePhone，重200克，這是台效能連SD400都沒有的Linux手機，2019年上市，搭載45nm的Allwinner A64處理器，活像把開發板硬弄成手機，他是因為製造技術不過關才那麼重的。那麼製造技術比它好的手機為何一定要又大又重呢？\n似乎是市場反映了這個趨勢：iPhone 12 mini sales shockingly low — here\u0026rsquo;s the proof - Tom\u0026rsquo;s Guide 如果折疊機以後要普及，他們重量一定得在200克以下。我理想的手機應該是iPhone SE 2016的大小，不然至少iPhone 13 Mini的尺寸，然後搭載5000mAh大電池～！加上不算差的中高階處理器，又可以刷機的自由Android系統。\n3.5吋小手機你回來吧！\n4. 還是乖乖用手機，不要Root刷機了 # 自由，太過自由，反而想做籠裡的野獸。\n參見：Xperia 10 V刷LineageOS與取得Root權限\n因為LineageOS更新太頻繁，不是很穩定。加上想要用行動支付，以及不想再跟Play Integrity纏鬥，無痛使用ChatGPT與Apple Music，所以主動放棄刷機Root，將Xperia 10 V刷回原廠ROM了，BL上鎖，玩機的事兒就在備用機上操作就好。 我算是把Podman學到的rootless的概念帶過來了，Termux大部分東西用proot就能完成，不用真root的chroot。\n任何APP的方案都應該優先考慮rootless的implementation，最多用到Shizuku就夠了，不要用到LSPosed。雖然這支手機已經EOL，理應刷LineageOS續命才對，不過就實務上來看，Android 15距離Google正式放棄支援還有好幾個年頭，其實不更新系統也不會怎樣，起碼還能撐二年吧，又不是iOS，應用程式開發者很快就會拋棄舊版本。\n折衷選擇是使用原廠系統，但是解鎖Bootloader，取得Root。\n不像MIUI，Sony原廠系統接近AOSP，沒有bloated問題。\n我用過Arch Linux後才注意到長期以來沒有察覺的事實，LineageOS是滾動發行版。因為是開源社群維護，沒有人保證它的穩定度。致使LineageOS雖然大部分穩定，但不能保證原廠一樣的系統韌體品質。原廠幾個月一次更新，難道會比nightly build不值得信任嗎？譬如我發現，Sony原廠系統錄音和拍照品質，都略微好於LineageOS的版本，這其中可能有一些沒有被移植者注意到的細節存在，偶爾會有隨機小bug。我也懶得刷一堆Magisk模組去復現原廠功能（如DSEE Ultimate），所以就醬吧。日常使用手機還是不要想著份外的事兒了。\n儘管對Google投降了，但我要說：死神！莫驕狂！Death, be not proud. (By John Donne)\n","date":"2025年8月12日","externalUrl":null,"permalink":"/posts/my-sony-xperia-10-v/","section":"Unboxings","summary":"Sony Xperia 10 V最初是作為綠線機Xperia 5 II的墊檔，所購入的便宜手機，卻從此把胃口養壞了。\n在兩年前的Sony Xperia 10 V開箱評價一文當中，我說道這是一台普通的手機，沒想到可以一直用到現在還捨不得換。手機買兩年多了，是時候換了，但我發現沒強烈的動機換掉。\n我覺得手機應該是要能一手掌握的，拿起來毫不費力的。如果說做的像一顆磚頭何不如買平板。就像，如果愛巨乳乾脆去跟乳牛嘿咻（南方公園 溫蒂 語）。\n1. Xperia 10 V優點 # 這裡是一篇appreciation post，感謝Sony提供這麼優質的產品。 先看這張GSMArena續航力測試圖，高達175小時： 突破天際的成績！！！幾乎是上市年份2023年封頂的存在，同時具有機身輕盈的優勢。作為比較：同年上市的iPhone 15 Pro Max續航力為118小時。\nXperia 10 V的成績即使是現在也很亮眼，根據GSMArena釋出的2.0版續航測試，實際上要超越Xperia 10 V的成績，也只有搭載7000mAh電池的realme G7了，問題是它220g呀。其他競爭對手也是重的要死。 用久了想換，但其實Xperia 10 V沒有壞到哪去，這部中階機竟然比旗艦機Xperia 5 II耐用呢。譬如指紋辨識現在還好好的，沒有像Xperia 5 II一年後就失去反應，且螢幕沒有受到Samsung面板綠線災情影響。我覺得Xperia 10系列可能是Sony的hidden gems，或者說是逐步polished的產品線。\n","title":"Xperia 10 V使用心得：輕量又長續航的小手機再也找不到了，胃口被Sony養壞了","type":"unboxing"},{"content":"TL;DR：Xperia 5 II換副廠螢幕是可行的，但是換螢幕這種事情還是得交給專業的來。\n\u0026ldquo;You\u0026rsquo;re broken. I will put you back together. \u0026quot;\n（取自玩具熊的五夜後宮4）\n因著莫名的執念，從2023年綠線發作以來，一直想要修好Sony Xperia 5 II。\nSony Xperia 5 II，我一直想修好它，一直尋找換螢幕方法，可是一直都不想給原廠修理。因為Xperia 5 II使用的OLED螢幕是由Samsung生產，因為設計有缺陷，致使整批螢幕幾乎都有問題。若是換原廠螢幕，除了價格不菲之外，綠線仍有很大復發之可能。\n經過高人提點，發現中國網路上有在賣TFT版本的副廠LCD螢幕。這個螢幕換下去之後，螢幕更新率會被鎖定在60hz，從側面看螢幕有點突起來。雖然看上去畫質會下降一些，但是仍可滿足日常使用！且由於TFT材質跟OLED不一樣，「應該」能夠迴避綠線發作的問題。\n根據在Facebook Sony社團看到的情報，已經有不少人自己買來換成功的案例，甚至有人把換好TFT螢幕的Xperia 5 II在二手平台出售。\n缺點是，LCD螢幕會比OLED螢幕耗電。\n從淘寶網購零件只要1000台幣左右呢，比原廠OLED便宜兩三千。運費什麼的加一加大概2000台幣。 然後就是\u0026hellip;\u0026hellip;天要亡我啊！\n高人的提點變成了讒言，不，全都是我的錯，是我太天真了，以為這樣就能修好。\n從淘寶買了Xperia 5 II的副廠螢幕更換，以為能一勞永逸的解決綠線問題，得到還堪用的手機，結果卻是一連串失敗的賭注。\n一開始碰到的問題是我的技術不行，雖然有很多Youtube拆機影片能參考不過我還是搞砸了。\n背蓋吹風機吹一吹，融化膠水後用卡片劃開。開始拆背蓋零件，拆到一半發現螺絲轉不下來，手上工具太簡陋了。 厚著臉皮找店家處理應該會比較好。而我事實上這麼做了，把材料給人安裝，找人組裝手機零件就好比找黑傑克動手術啊，會被收取高額費用！結果當然是被洗臉（遇到很佛的店家願意接下這個爛攤子，但被語重心長的教訓說以後不會弄就別自作聰明！）。可，因為我送修的時候沒發現到LineageOS無法驅動副廠螢幕，致使店家以為我買到瑕疵螢幕，只收了工本費後就退回來。\n所以我決定自己再弄一次。花幾百塊買個小米電動精修螺絲起子機，終於能自己拆開了。\n一開始試裝，螢幕無法觸控，經查發現是LineageOS問題，用NewFlasher刷回原廠韌體解決。稍微試用了一下螢幕，確實不能用120Hz，螢幕顏色比原廠差一些，但還能接受。 繼續把零件拆一拆。話說要換螢幕好像根本不用全拆，只要跟拆背蓋一樣把螢幕給刮下來就好。不過我是想說電池也一併換一換因此整支解體。\n底部的蓋版拆掉螺絲後取出，小心拔下Wifi以及藍牙的天線。最後會在右下角露出螢幕排線。\n主機板拆掉螺絲後取出，拔掉排線。拿下前鏡頭與LED燈元件。電池需要用撬棒從側面縫隙將雙面膠給拔掉。最後底部露出USB排線後將其取出。 可以觸控了，但黏合裝上去之後卻又沒辦法顯示螢幕，WTF。\n話說這個TFT螢幕真的比OLED厚啊（廢話），看看拆機前後對比，整個突一塊出來，完全沒有辦法防水。 會不會是接觸不良？就在我稍微用力一點壓之後，螢幕又有訊號了，好\u0026hellip;\n（噗嘰啪的聲音）\n\u0026hellip;接著螢幕就裂開了，右下角出現一絲蜘蛛網。\n想起來這是副廠螢幕，自然不會有大猩猩玻璃。考量到這種玻璃強度根本經不起我日常的使用吧，當備用機都很危險。\n現在雖然能開機，但就是沒畫面。我可以感知到手機有正常開機，因為鏡頭OIS有正常作動，並且有聽到開機鈴聲。然後，我在鎖手機螺絲的時候把幾顆弄到滑牙了，所以拆不開，無法調整排線。\n這支手機的情況從單純螢幕有綠線，變成難以理解，無法收拾的窘境。因為螢幕沒有畫面，Type-C輸出HDMI和Scrcpy似乎都不起作用。\nwell，看來這支手機的命運就是回收了。\n算是花錢買了個教訓，彷彿命運的嘲弄，要我放棄復活它的計畫。\n總結來說：\n副廠貨謹慎購買。 尊重專業，沒有屁股不要吃瀉藥，手機維修操作應該交給專業人士處理。 如果我沒有犯下這麼多失誤的話，得到的應該會是一支還堪用的重生Xperia 5 II！可惜沒如果。\n唯一的收穫是，小米電動起子真的不錯用，除非滑牙不然都能輕鬆轉開。\n","date":"2025年8月10日","externalUrl":null,"permalink":"/posts/sony-xperia-5-ii-repair-fail/","section":"Unboxings","summary":"TL;DR：Xperia 5 II換副廠螢幕是可行的，但是換螢幕這種事情還是得交給專業的來。\n“You’re broken. I will put you back together. \"\n（取自玩具熊的五夜後宮4）\n因著莫名的執念，從2023年綠線發作以來，一直想要修好Sony Xperia 5 II。\nSony Xperia 5 II，我一直想修好它，一直尋找換螢幕方法，可是一直都不想給原廠修理。因為Xperia 5 II使用的OLED螢幕是由Samsung生產，因為設計有缺陷，致使整批螢幕幾乎都有問題。若是換原廠螢幕，除了價格不菲之外，綠線仍有很大復發之可能。\n經過高人提點，發現中國網路上有在賣TFT版本的副廠LCD螢幕。這個螢幕換下去之後，螢幕更新率會被鎖定在60hz，從側面看螢幕有點突起來。雖然看上去畫質會下降一些，但是仍可滿足日常使用！且由於TFT材質跟OLED不一樣，「應該」能夠迴避綠線發作的問題。\n根據在Facebook Sony社團看到的情報，已經有不少人自己買來換成功的案例，甚至有人把換好TFT螢幕的Xperia 5 II在二手平台出售。\n缺點是，LCD螢幕會比OLED螢幕耗電。\n從淘寶網購零件只要1000台幣左右呢，比原廠OLED便宜兩三千。運費什麼的加一加大概2000台幣。 然後就是……天要亡我啊！\n","title":"記Sony Xperia 5 II更換副廠TFT螢幕失敗一事，情況從綠線機變成難以理解","type":"unboxing"},{"content":"隨著Joplin筆記越來越多，就會有分門別類的需求吧。\n發現我這幾年用Joplin下來，工作和學術筆記已經超過500多篇了，再加上一些私人筆記，整個資料庫變得好重了，是時候該拆分了。\n例如將「個人」和「工作」兩種用途的筆記分開，防止在處理重要工作的時候搜尋檔案跑出一堆不相關的東西。\n這種時候，光靠Joplin左側的資料夾已經不夠整理了，需要將兩種完全不同用途的筆記隔離開來。\n目前Joplin沒有Notion「工作區」這種概念，但允許你根據不同的用途，建立多個「設定檔」，也就是profile。\n就像Google Chrome瀏覽器能夠登入多組不同帳號一樣\n每個設定檔都有自己獨立的筆記本資料夾，資料也是彼此獨立的！\n在使用多重設定檔工作的時候，我習慣裝個不一樣風格的主題，切換下心情。\n1. 多重設定檔的雲端同步問題 # 因為Joplin預設沒有「帳號」這種東西，多個設定檔自然也就不會跟著一個帳號走。需要自行處理同步方式。\n如果你用的是Dropbox、OneDrive這類雲端同步筆記，就得需要準備兩個雲端帳號。\n例如，如果兩個設定檔都用OneDrive，資料可能會被覆蓋。這時就得準備兩個OneDrive帳號，分別同步兩個設定檔。\n或者一個設定檔同步到Dropbox，另一個設定檔同步到OneDrive。\nJoplin Cloud以及Joplin Server皆支援同步多個設定檔。\n像Nexcloud、WebDAV、Amazon S3、檔案系統這類可以指定同步路徑的，能夠將兩個設定檔的筆記本同步到同一個雲端。但這基本上只有電腦版Joplin能這樣玩，手機版Joplin無法同步到檔案系統。\n2. 切換Joplin設定檔 # 電腦版 # 電腦版有Multiple instance模式，開啟多視窗，允許兩個不同設定檔的Joplin同時執行。\n不過，撰文當下Joplin的機制很迷。當你切換設定檔的時候，目前設定檔的視窗就會被強制關閉並切換到新的設定檔。但是開啟兩個實例的時候，第二個實例看不到第一個實例的視窗所新增的設定檔。\n如果想要同時開啟兩個設定檔的視窗，建議先按檔案 → open secondary app instance，開啟第二個Joplin實例，再開始新增設定檔。 按檔案 → 切換使用者，新增一個「工作」設定檔 然後視窗會關閉，切換到新設定檔，這裡的筆記本是全部空白的。\n設定同步方式，點選左下角同步。然後登入同步雲端的帳號。如同我上面說的，Dropbox與OneDrive用戶需要準備第二個帳號才不會衝突。 之後要進入「工作設定檔」得先按open secondary app instance才進入。否則你就得在兩個實例的視窗，都新增一個「工作」設定檔，並讓他們同步到同一個雲端。\n手機版 # 手機版一次只能執行一個設定檔。不論啟用的是哪一個，多個設定檔的提醒通知都能收到.\n新建設定檔，按左下角設定 → 工具 → 管理設定檔，在這裡新建 設定同步方式\n然後主畫面左下角就會出現切換設定檔按鈕 3. 遷移筆記到另外一個設定檔 # 如果是一個記事本的話，就按右鍵，匯出為JEX檔 然後在另外一個設定檔按匯入就可以了，資料夾結構會保留。 匯出後的筆記可能會殘留一些附件，這時請使用Joplin Batch清理。\n","date":"2025年8月9日","externalUrl":null,"permalink":"/posts/joplin-profiles/","section":"所有文章","summary":"隨著Joplin筆記越來越多，就會有分門別類的需求吧。\n發現我這幾年用Joplin下來，工作和學術筆記已經超過500多篇了，再加上一些私人筆記，整個資料庫變得好重了，是時候該拆分了。\n例如將「個人」和「工作」兩種用途的筆記分開，防止在處理重要工作的時候搜尋檔案跑出一堆不相關的東西。\n這種時候，光靠Joplin左側的資料夾已經不夠整理了，需要將兩種完全不同用途的筆記隔離開來。\n目前Joplin沒有Notion「工作區」這種概念，但允許你根據不同的用途，建立多個「設定檔」，也就是profile。\n就像Google Chrome瀏覽器能夠登入多組不同帳號一樣\n每個設定檔都有自己獨立的筆記本資料夾，資料也是彼此獨立的！\n在使用多重設定檔工作的時候，我習慣裝個不一樣風格的主題，切換下心情。\n1. 多重設定檔的雲端同步問題 # 因為Joplin預設沒有「帳號」這種東西，多個設定檔自然也就不會跟著一個帳號走。需要自行處理同步方式。\n如果你用的是Dropbox、OneDrive這類雲端同步筆記，就得需要準備兩個雲端帳號。\n例如，如果兩個設定檔都用OneDrive，資料可能會被覆蓋。這時就得準備兩個OneDrive帳號，分別同步兩個設定檔。\n","title":"Joplin：透過設定檔隔離個人與工作筆記","type":"posts"},{"content":"","date":"2025年8月9日","externalUrl":null,"permalink":"/series/joplin%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7/","section":"Series","summary":"","title":"Joplin使用技巧","type":"series"},{"content":"本文給想讓Debian GNU/Linux系統大版本升級的用戶參考，例如Debian 12 Bookworm升級到Debian 13 Trixie，或是Stable分支升級到下一個Stable分支這樣。\n想從Debian Stable分支升級成Debian Testing或Debian Sid分支的桌面系統用戶亦可以參考本文作法，但風險自負。 升級所需時間視系統規模而定。例如我升級3000個套件的Debian系統大約要一小時左右，這還不包含除錯時間。而伺服器生產環境尤其需謹慎考量升級風險。\n不建議跳大版本升級，例如Debian 11升Debian 13？Debian開發者說無法保證這樣做會不會有問題。建議依序從11 → 12 → 13升到最新版Debian比較保險。\n有時候，你不用急著更新，Debian開發團隊在推出新版本後仍會維護舊版的套件幾年時間（參見Debian LTS），所以不是新版本推出後，舊版就不能用了。不急的情況下可以緩一緩。\n1. 前置作業 # 使用uname -a ; lsb_release -a指令查看目前系統版本 接著確認以下事項：\n準備幾包乖乖放在主機上。\n閱讀Debian官網的發行說明，查看目前的最新穩定版本代號，還有升級前的注意事項。每一個Debian正式版本發布後都會有一本詳盡的參考手冊。有時候，新版本會有一些breaking changes，例如Debian 11升級12的時候，要重新區分non-free與non-free-firmware套件庫。\n大版本更新前建議備份資料，除了手動指令複製之外，桌面用戶可以用Timeshift完整備份至另外一個硬碟。\n用Ventoy製作Debian開機LiveUSB，防止無法開機的時候可以修復系統。\n如果你的軟體是需要從第三方套件庫安裝的，例如Nvidia CUDA、Google Chrome、Docker這類的，請先查詢是否有支援新版Debian再考慮要不要升級。如何確認目前有啟用哪些第三方套件庫？檢查/etc/apt/sources.list.d/目錄下的檔案就知道了。\n用APT以外途徑安裝的軟體(例如make編譯)不會自動升級，可能要在大版本更新之後重新編譯安裝。\n使用Flatpak、Snap、AppImage安裝的軟體應在系統大版本更新後再嘗試更新。\n確認以上事項後，將系統套件更新至目前Debian版本的最新版\nsudo apt update sudo apt upgrade sudo apt full-upgrade 重開機。\n為了方便除錯，推薦安裝Aptitude，它能夠更智慧的處理套件衝突問題：\nsudo apt install aptitude 2. 變更Debian套件庫的版本代號 # Debian沒有官方工具能幫你升級系統，一切要靠指令手動修改。\n請至Debian官網查詢各個版本的代號。例如目前系統是Debian 12穩定版，而我想要升級到下一個Debian 13穩定版，那麼就要將套件庫裡全部的bookworm字串替換成trixie。\n編輯/etc/apt/sources.lists和/etc/apt/sources.lists.d/目錄下的全部檔案 # Debian自身的套件庫 sudo vim /etc/apt/sources.lists # 第三方套件庫 sudo vim /etc/apt/sources.lists.d/ 將看到的bookworm字串全部換成trixie字串。要注意有些第三方套件庫不會用代號表示而是使用數字，這時請自行變通。 更新套件列表\nsudo apt clean sudo apt update 就會看到爆出許多更新。 此時要檢查有沒有套件庫是顯示紅字404警告的，這代表開發者尚未支援最新版本的Debian，有的話要先將其處理掉再繼續。看是要：\n放棄升級。把改過的字串再改回去，因為你還沒真的升級，只要再apt update一次重新整理套件目錄，一切照舊。 手動將套件庫刪除再升級，刪除/etc/apt/sources.lists.d/下的套件庫檔案，然後再繼續升級。 3. 開始升級Debian系統 # 升級系統時保持網路連線穩定，不要讓螢幕自動鎖定，關閉自動休眠設定。需注意升級Debian系統的時候桌面環境有機率會自動重啟，終端機崩潰，導致升級中斷的風險產生。最保險的辦法是用SSH或tty純文字模式跑更新指令，這樣就不會有升級到一半GUI崩潰的問題。\n使用systemctl指令停止正在執行的重要服務，防止干擾升級。\n升級所有套件。APT的升級日誌位於/var/log/apt/term.log\nsudo apt upgrade sudo apt full-upgrade 在升級的過程有時候要依照畫面指示，手動介入操作。 閱讀APT的發行新聞，讀完就按q退出 要不要讓系統在沒有詢問的情況下就重啟服務？建議選No。 可能還得確認是否要讓程式的新版設定檔覆寫舊版檔案。按Z查看你是否有變更過該檔案。如果你沒動過該檔案就選Y。 像SSH的設定很重要，先保留原版設定。 遇到 下列的套件有未滿足的相依關係 (The following packages have unmet dependencies) 的錯誤就得手動排除 通常是先嘗試sudo apt install -f讓它修復。或者用apt remove移除沒有滿足依賴的套件，再重試sudo apt upgrade。\n或者執行：sudo aptitude，依照畫面指示來處理衝突的套件。\n升級完成後，重開機 sudo shutdown -r now 輸入指令uname -a ; lsb_release -a查看升級後的Debian版本 再跑一次sudp apt update確認沒有套件要升級即是完成。使用sudo apt autopurge清除多餘的套件。\n參考資料 # DebianUpgrade - Debian Wiki ","date":"2025年8月8日","externalUrl":null,"permalink":"/posts/upgrade-debian/","section":"所有文章","summary":"本文給想讓Debian GNU/Linux系統大版本升級的用戶參考，例如Debian 12 Bookworm升級到Debian 13 Trixie，或是Stable分支升級到下一個Stable分支這樣。\n想從Debian Stable分支升級成Debian Testing或Debian Sid分支的桌面系統用戶亦可以參考本文作法，但風險自負。 升級所需時間視系統規模而定。例如我升級3000個套件的Debian系統大約要一小時左右，這還不包含除錯時間。而伺服器生產環境尤其需謹慎考量升級風險。\n不建議跳大版本升級，例如Debian 11升Debian 13？Debian開發者說無法保證這樣做會不會有問題。建議依序從11 → 12 → 13升到最新版Debian比較保險。\n有時候，你不用急著更新，Debian開發團隊在推出新版本後仍會維護舊版的套件幾年時間（參見Debian LTS），所以不是新版本推出後，舊版就不能用了。不急的情況下可以緩一緩。\n1. 前置作業 # 使用uname -a ; lsb_release -a指令查看目前系統版本 接著確認以下事項：\n準備幾包乖乖放在主機上。\n閱讀Debian官網的發行說明，查看目前的最新穩定版本代號，還有升級前的注意事項。每一個Debian正式版本發布後都會有一本詳盡的參考手冊。有時候，新版本會有一些breaking changes，例如Debian 11升級12的時候，要重新區分non-free與non-free-firmware套件庫。\n","title":"如何進行Debian大版本系統升級，從Debian 12升級到13","type":"posts"},{"content":"","date":"2025年8月7日","externalUrl":null,"permalink":"/tags/opencc/","section":"標籤","summary":"","title":"OpenCC","type":"tags"},{"content":"適用系統：Ubuntu 24.04, Linux Mint 22, Zorin OS 18以上\n說到Linux推薦的注音輸入法，目前有Fcitx5 ＋ 新酷音。\nFcitx5是一款開源的輸入法框架，支援注音、漢語拼音、倉頡、嘸蝦米、大易、行列、輕鬆等常見的中文輸入法方案，能夠在輸入時繁轉簡。還額外支援輸入粵文、日文、韓文、越南文。\nFcitx5提供雲端智慧建議字詞的功能（雲拼音），並且預設使用匿名的Google提供服務。Fcitx5本身不會蒐集使用者輸入內容的資料。\n此外，Fcitx5能夠解決一些Flatpak應用程式無法輸入中文的問題，對GNOME Wayland和KDE Plasma Wayland桌面支援度較佳。\nFcitx5支援多個Linux發行版，包含Ubuntu、Fedora、Arch Linux、openSUSE、Gentoo等。不論你是使用GNOME還是KDE Plasma桌面，Fcitx5都能正常輸入文字！\n本文Ivon介紹如何在Ubuntu設定Fcitx5，並安裝台灣國內較普遍的注音輸入法。 1. Fcitx5與注音輸入法的選擇 # Fcitx5是一個輸入法框架 (input method framework)，本身不負責文字輸入功能，而是提供一個平台讓各種輸入法引擎運作。因此，我們還需要搭配一個實際負責輸入文字的輸入法引擎 (input method engine) 的程式來打字。 Fcitx5的漢語拼音輸入法功能比較豐富，不過台灣比較多人慣用注音輸入方案，所以本文Ivon介紹的輸入法以注音輸入法為主。\n支援Fcitx5的開源注音輸入法，目前有以下方案：\n新酷音 (fcxit5-chewing) 小麥注音 (fcitx5-McBopomofo) RIME注音 (fcitx5-rime) 其中新酷音是最老，使用最廣泛的輸入法，提供切換全形半形、垂直方向鍵選字功能。幾乎所有Linux發行版都有收錄套件，也有移植到Windows與macOS系統。不過因為太老了，對一些人來說功能可能不夠智慧。 小麥注音源自macOS的OpenVanilla小麥注音輸入法，比新酷音現代很多，提供更近代的詞庫、自動預測下一個字詞、切換全形半形、垂直方向鍵選字的功能，還有提供一個類似Windows XP時代的ㄅ半輸入法。開發者的說明文件很完整。 RIME是高自由度配置的輸入法引擎，又稱中州韻，除了Linux之外還支援Windows（小狼毫）與macOS（鼠鬚管）。RIME本身是輸入法引擎，配合Fcitx5框架來輸入文字。使用者可以選內建的注音或者第三方提供的洋蔥注音輸入方案。雖然RIME功能豐富，但我個人感覺操作不太順手，跟新酷音與小麥注音的操作略有差異。 以上幾個輸入法程式因為都是使用Fcitx5框架，所以可以同時安裝，看哪一個你打起來比較順手。\n在這之中，推薦先嘗試「新酷音」，再試試「小麥注音」輸入法。\n2. 安裝Fcitx5的套件 # 這裡安裝的是Fcitx5框架，還沒有要安裝注音輸入法程式。\n儘管Ubuntu可以純用圖形界面安裝輸入法，但我為了方便除錯，以及讓你知道自己究竟裝了什麼，我這裡都是用指令安裝。\n目前，Ubuntu 24.04內建的中文輸入法應該是iBus + 新酷音。iBus是比Fcitx5還老的框架，主要是GNOME桌面在使用的。這些套件可以保留。\n開啟Ubuntu系統設定 → 鍵盤 → 輸入來源，點三點，移除中文(新酷音)輸入法。 開啟終端機。我們將要安裝Fcitx5，如果有安裝舊版fcitx4，需先將其移除。使用apt policy指令，查看目前安裝的fcitx版本並將其移除。若顯示無安裝就是沒有裝，直接下一步。\nsudo apt policy fcitx sudo apt purge fcitx* 安裝Fcitx5相關套件，包含：fcitx5-configtool設定面板，fcitx5-chinese-addons拼音輸入法與繁簡轉換，剩下是支援GTK與QT框架的套件 sudo apt update sudo apt install fcitx5 fcitx5-configtool fcitx5-chinese-addons fcitx5-frontend-all 輸入im-config指令，點選確定。這個程式會自動編輯~/.xinputrc檔案的內容。 輸入法框架選取Fcitx5，確認後關閉視窗。然後重開機。 在應用程式列表找到Fcitx5設定。 開啟Fcitx5會列出所有的輸入法。但我們這邊還沒安裝注音輸入法程式，所以是空白的。\nFcitx5應該會在登入Linux桌面後自動啟動，並在系統匣顯示輸入法面板。若無，手動複製Desktop Entry到XDG Autostart目錄：\nmkdir -p ~/.config/autostart/ cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/ 3. 設定Fcitx5 + 新酷音 # 安裝新酷音套件 # 安裝Fcitx5的新酷音套件 sudo apt install fcitx5-chewing 開啟Fcitx5設定面板，新酷音注音輸入法應該已經啟用。若無則從右邊面板，取消勾選「只顯示目前語言」，找到「新酷音」，將其加入到左邊的面板。 設定好Fcitx5後，GNOME桌面右上角會顯示目前的新酷音輸入法，還有切換簡繁輸入的按鈕。如果你看不到此面板，請安裝Input Method Panel擴充套件 自訂新酷音詞庫 # 常用詞彙總是選到錯誤的字？使用自訂詞庫吧，透過使用者造詞，讓新酷音記得你常用的詞彙。Fcitx5的詞庫功能大部份是為漢語拼音輸入法設計的，線上拼音服務也是只有漢語拼音能用。\n新酷音使用者需要自行匯入詞庫。\n安裝新酷音專用的Chewing Editor編輯器： sudo apt install chewing-editor 開啟後即可編輯新酷音的詞庫，只要新增詞彙和注音（中間要有空格），就能讓新酷音記住這個新詞。下次打字應該就會一次選對了。 新酷音自訂的詞庫會儲存到~/.chewing/chewing.sqlite3。不過若要分享詞庫，你應該使用Chewing Edior匯出.json格式的檔案。\n4. Fcitx5操作方式 # 有些功能是Fcitx5全域提供的，有些則是僅限新酷音或拼音輸入的時候才能使用。\n快捷鍵如下：\n按鍵 用途 注音鍵 輸入注音開始打字。新酷音必須要打出完整的聲母和韻母才能選字。輸入注音之後按空白鍵，使用方向鍵選字。輸入注音的時候滑鼠點一下空白處，可以單獨打注音。 CTRL + 空白鍵 切換不同語言的Fcitx5輸入法，例如從注音切換到拼音。 SHIFT 切換Fcitx5中英輸入。 CTRL + SHIFT + F 切換Fcitx5簡繁輸入。 CTRL + ; 開啟Fcitx5的剪貼簿 SHIFT + 空白鍵 切換新酷音輸入法的全形與半形。 SHIFT + . 切換拼音輸入法的全形與半形。 SHIFT + 鍵盤的標點符號 輸入新酷音的全形字元，例如按SHIFT + ,輸出逗號，；按SHIFT + .輸出句號。；按SHIFT + -或SHIFT + \\可以打箭頭符號；按[輸出引號「。 ~ 按下波浪號開啟新酷音提供的特殊符號、數學符號、希臘字母面板。 你可以在Fcitx5的輸入法設定自定義快捷鍵。 目前Fcitx5只有漢語拼音輸入法能透過快捷鍵輸入Emoji，新酷音得安裝im-emoji-picker，手動選取Emoji。\n在文字編輯器選取字元，再按CTRL + SHIFT + ALT + U可查看其Unicode編碼。在空白處按下前述的組合鍵則能用Unicode編碼打字。 Fcitx5的全域設定可以設定常用片語，這樣按Windows鍵+「`」便能快速輸入常用字彙。 按Fcitx5設定 → 附加元件 → 經典使用者界面 或者 Fcitx5設定 → 附加元件 → 新酷音，更改候選字詞排列方式，可以將選字框調整為垂直。\n5. 設定Fcitx5 + 小麥注音 # 撰文當下Ubuntu 24.04尚未收錄小麥注音輸入法套件，因此要參考Github指示手動編譯安裝： sudo apt install \\ pkg-config fcitx5 libfcitx5core-dev libfcitx5config-dev libfcitx5utils-dev fcitx5-modules-dev \\ cmake extra-cmake-modules gettext libfmt-dev libicu-dev libjson-c-dev git clone https://github.com/openvanilla/fcitx5-mcbopomofo.git cd fcitx5-mcbopomofo mkdir -p build cd build cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release make sudo make install sudo update-icon-caches /usr/share/icons/* 安裝完成之後重新啟動Fcitx5面板，啟用小麥注音。 如果有需要，可以一併啟用「傳統注音」輸入法，也就是所謂的ㄅ半。\n小麥注音操作方法 # 小麥注音的操作方法請參閱官方中文Wiki，裡面寫的很清楚了。\n按Fcitx5設定 → 附加元件 → 小麥注音，更改候選字詞排列方式，可以將選字框調整為垂直，並用方向鍵選字。\n自訂小麥注音詞庫 # 同樣請參考官方中文Wiki。\n對系統匣的Fcitx5面板按右鍵 → 編輯使用者詞庫，就會自動開啟位於~/.local/share/fcitx5/mcbopomofo的檔案。只要在裡面輸入對應的注音符號與中文字，就能夠新增常用詞彙。\n6. 設定Fcitx5繁簡轉換功能 # 這是Fcitx5框架提供的功能，不論使用哪一個輸入法程式都可以使用。它允許你用注音鍵盤打簡體字，反之也可以用漢語拼音打繁體字。\n按下CTRL + SHIFT + F切換繁簡輸入，Fcitx5預設只會把繁體字轉簡體字，不會進行用語轉換。\n（以下為選擇性步驟，非必要）\n你可以安裝OpenCC套件，在打簡體字的時候，將台灣用語也一併轉換成為中國用語，例如「影片」 → 「视频」。\n安裝OpenCC套件 sudo apt install opencc 開啟Fcixt5輸入法設定面板 → 附加元件，找到「簡繁轉換」選項。Native就是只轉換繁簡，要使用更進階的轉換規則，請切換為OpenCC。\n參考OpenCC官方文件的說明，選取適合的設定檔。\n因為新酷音預設打出的是繁體字，我設定「簡轉繁」在切換為簡體輸入的模式下，採用OpenCC的s2twp.json，將台灣用語轉成中國用語。\n「繁轉簡」設定在繁體輸入模式下，採用tw2sp.json，自動將中國用語轉換成台灣用語。但請注意這個選項只對簡體字輸入法有用，因為拼音輸入法預設打出的是簡體字，才能轉換為繁體。 Ubuntu的OpenCC詞庫位於/usr/share/opencc，如果你要使用自訂的繁簡轉換txt檔，就是把檔案放到這裡。 7. 排除Fcitx5無法打字問題 # 如果安裝後無法叫出Fcitx5輸入法，試著執行指令：sudo vim /etc/environment，加入以下環境變數後重開機。\nGTK_IM_MODULE=fcitx # 若是在GNOME跑純Wayland程式，不用設定這一條 QT_IM_MODULE=fcitx # 如果使用Wayland桌面，應該不需要下列環境變數 XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus 如果你使用KDE Plasma 6 Wayland，你可能還要在系統設定 → 鍵盤 → 虛擬鍵盤，選取輸入法框架為Fcitx5。\n如果部份按鍵打出錯誤的字，試著調整Fcitx5輸入法的「鍵盤佈局」。\n如果是特定應用程式打不出中文，則執行Fcitx5診斷。診斷無果再到Github回報問題。\nfcitx5-diagnose ","date":"2025年8月7日","externalUrl":null,"permalink":"/posts/ubuntu-fcitx5/","section":"所有文章","summary":"適用系統：Ubuntu 24.04, Linux Mint 22, Zorin OS 18以上\n說到Linux推薦的注音輸入法，目前有Fcitx5 ＋ 新酷音。\nFcitx5是一款開源的輸入法框架，支援注音、漢語拼音、倉頡、嘸蝦米、大易、行列、輕鬆等常見的中文輸入法方案，能夠在輸入時繁轉簡。還額外支援輸入粵文、日文、韓文、越南文。\nFcitx5提供雲端智慧建議字詞的功能（雲拼音），並且預設使用匿名的Google提供服務。Fcitx5本身不會蒐集使用者輸入內容的資料。\n此外，Fcitx5能夠解決一些Flatpak應用程式無法輸入中文的問題，對GNOME Wayland和KDE Plasma Wayland桌面支援度較佳。\nFcitx5支援多個Linux發行版，包含Ubuntu、Fedora、Arch Linux、openSUSE、Gentoo等。不論你是使用GNOME還是KDE Plasma桌面，Fcitx5都能正常輸入文字！\n本文Ivon介紹如何在Ubuntu設定Fcitx5，並安裝台灣國內較普遍的注音輸入法。 1. Fcitx5與注音輸入法的選擇 # Fcitx5是一個輸入法框架 (input method framework)，本身不負責文字輸入功能，而是提供一個平台讓各種輸入法引擎運作。因此，我們還需要搭配一個實際負責輸入文字的輸入法引擎 (input method engine) 的程式來打字。 ","title":"Ubuntu繁體中文輸入法？改用Fcitx5來輸入中文吧！","type":"posts"},{"content":"Winlator是一款在Android手機跑Windows exe的APP，支援GPU硬體加速與虛擬按鍵手把。 換句話說，你可以在手機玩電腦遊戲了。Winlator作者在他的Youtube頻道成功啟動了多款遊戲，例如《異塵餘生3》、《黑暗靈魂II》、《雷神之鎚4》等熱門大作。\n我自己測試的結果：\n《Undertale》成功執行 《Fate/Stay Night》成功執行 《閃亂神樂 忍者對決 -少女們的證明-》成功執行 成功執行Steam電腦版客戶端，用類似Steam Deck界面的Big Picture模式玩遊戲。 1. Winlator原理 # Winlator最初由brunodev85開發，屬於開源軟體。這個APP很像Exagear，原理都是在ARM架構的Android裝置跑一個Linux環境，轉譯x86版的Wine，藉以執行Windows程式。\n詳細原理參見Android轉譯玩Windows exe遊戲的方法一覽\nWinlator APP的原始碼可在Github取得。\n說到Box64，我之前討論過手動設定Termux Proot + Box64環境跑Windows exe的作法。而Winlator就是整合好的環境，不須打指令，全部都圖形化操作。\n2. 安裝Winlator # 因為Winlator使用Proot與Box64轉譯Proton的緣故，中間經過x86轉ARM的性能損失，需要很強的處理器才玩得動。要玩3D遊戲，推薦8GB以上RAM，處理器性能在高通SD865以上的手機，不然會很卡。\n至Github下載Winlator的APK 註：Winlator有很多修改版，如果你需要安裝Steam加上中文支援，推薦使用這個含有Glibc的版本：Winlator Cmod GLIBC\n安裝Winlator APK，開啟後APP會自動安裝Ubuntu rootfs 3. 新增容器 # 容器即WINEPREFIX，你可以新增多個Windows環境，用於安裝不同的應用程式，又不用擔心程式互相污染環境。\n點選右上角新增容器，會看到以下選項。 Screen Size設定螢幕解析度，建議先從1280x720解析度開始測試\nGraphics Driver要看手機處理器廠牌。搭載Adreno GPU的高通處理器手機可以用Turnip獲得更好性能。搭載Mali GPU的聯發科處理器則是用Vortek。都不行的話就用VirGL。\nProcessor Affinity是綁定處理器核心，你可以選擇綁處理器大核，不開小核，增加性能。\n下面有一個「Drive」的選項，這是要掛載到容器內部的手機資料夾，預設是手機內部儲存空間/Download，你要把遊戲exe的資料夾放到這個資料夾下。 回到首頁，點一下Run，進入容器 Winlator從左邊螢幕滑出來，可叫出手機鍵盤。接上實體鍵盤滑鼠更方便操作。\n4. 測試跑Windows遊戲 # 跑Windows程式前請先參閱WineDB或ProtonDB，確認可於Linux電腦執行再繼續。Box64社群回報的結果也值得參考。\n我自己是先拿Notepad++這類小程式來跑，再測試些不吃效能的Galgame。\n將exe放置在手機內部儲存空間的Download資料夾，再開啟Winlator，可看到手機的Download資料夾已掛載到Winlator容器內的D:槽 開啟遊戲資料夾，點二下exe賭賭看能不能執行。\n5. 自訂Winlator虛擬按鍵 # 虛擬按鍵會在螢幕顯示一組觸控按鈕，映射電腦鍵盤或遊戲手把，方便你操作遊戲。\n從螢幕左邊滑出來，進入Input Controls界面，Profile選Template 按下面的Controls Editor，自訂按鍵。點按鈕再按上面的齒輪，設定要映射的電腦鍵盤。 這樣日後在玩遊戲的時候便可從螢幕左邊叫出虛擬按鍵。\n你也可以參考Winlator作者針對個別遊戲撰寫的按鍵設定檔\n6. 安裝Steam客戶端與中文字型 # 我試過原版Winlator 10.1開不起來，必須使用Winlator Cmod GLIBC v13，它預設會讓Steam以中文執行。\n用手機瀏覽器開啟Steam官網，切換成電腦版網站，下載Windows exe安裝檔。不要下載Linux版，雖然Winlator是使用Ubuntu rootfs，不過它沒有地方讓你開啟終端機。\n開啟Winlator，開啟D:槽路徑，點兩下SteamSetup.exe安裝。\n之後Steam就會出現在左下角選單，也可以從Winlator主選單的Shortcuts啟動。\n打開登入Steam帳號，就可以下載遊戲了。因為這裡直接執行Windows版Steam客戶端，你不需要再下載Proton轉譯層了。 如果你要方便觸控操作，可以點選檢視 → Big Picture模式。再搭配Winlator的虛擬手把(從螢幕左邊滑出來，按Input → Virtual Pad)操控。\n要是Steam客戶端開不起來，你也可以考慮用SteamCMD指令直接下載遊戲，再使用Goldenberg Steam Emulator解決DRM問題。\n","date":"2025年8月6日","externalUrl":null,"permalink":"/posts/winlator-windows-emulator-for-android/","section":"所有文章","summary":"Winlator是一款在Android手機跑Windows exe的APP，支援GPU硬體加速與虛擬按鍵手把。 換句話說，你可以在手機玩電腦遊戲了。Winlator作者在他的Youtube頻道成功啟動了多款遊戲，例如《異塵餘生3》、《黑暗靈魂II》、《雷神之鎚4》等熱門大作。\n我自己測試的結果：\n《Undertale》成功執行 《Fate/Stay Night》成功執行 《閃亂神樂 忍者對決 -少女們的證明-》成功執行 成功執行Steam電腦版客戶端，用類似Steam Deck界面的Big Picture模式玩遊戲。 1. Winlator原理 # Winlator最初由brunodev85開發，屬於開源軟體。這個APP很像Exagear，原理都是在ARM架構的Android裝置跑一個Linux環境，轉譯x86版的Wine，藉以執行Windows程式。\n詳細原理參見Android轉譯玩Windows exe遊戲的方法一覽\nWinlator APP的原始碼可在Github取得。\n說到Box64，我之前討論過手動設定Termux Proot + Box64環境跑Windows exe的作法。而Winlator就是整合好的環境，不須打指令，全部都圖形化操作。\n2. 安裝Winlator # 因為Winlator使用Proot與Box64轉譯Proton的緣故，中間經過x86轉ARM的性能損失，需要很強的處理器才玩得動。要玩3D遊戲，推薦8GB以上RAM，處理器性能在高通SD865以上的手機，不然會很卡。\n","title":"Winlator模擬器教學 ～ Android手機裝Windows exe玩遊戲，安裝Steam與中文字型","type":"posts"},{"content":"","date":"2025年8月6日","externalUrl":null,"permalink":"/categories/%E9%96%8B%E6%BA%90ai%E6%87%89%E7%94%A8/","section":"分類","summary":"","title":"開源AI應用","type":"categories"},{"content":"","date":"2025年8月6日","externalUrl":null,"permalink":"/categories/%E5%A4%A7%E5%9E%8B%E8%AA%9E%E8%A8%80%E6%A8%A1%E5%9E%8B/","section":"分類","summary":"","title":"大型語言模型","type":"categories"},{"content":" Running free and open source large language models locally on your PC.\n這是「開源大型語言模型」與「跑大型語言模型的開源軟體」列表。\n本文Ivon解說如何在您的個人電腦跑類似ChatGPT的大型語言模型。免費、開源、無需網路，支援Linux、Windows、macOS系統。 1. 語言模型是什麼？為什麼要離線跑？ # 大型語言模型（Large Language Model，簡稱LLM）是一種語言模型，屬於生成式AI的技術，最知名的應用莫過於OpenAI的ChatGPT了。2022年，隨著ChatGPT的出現，讓人們了解到通用大型語言模型的應用潛力。\n不過ChatGPT有些缺點，就是它跑在OpenAI的雲端伺服器，必須連上網路才可以使用。且ChatGPT提示詞會受到OpenAI限制，導致不能肆意妄為，有些甚至要催眠一下才會聽話。對話資料由OpenAI掌控，對注重隱私的用戶來說肯定是不合適的。\n還有，ChatGPT是封閉原始碼的軟體，沒有人知道背後如何運作，改進方法也只有OpenAI自己知道。\n那麼有沒有可能在個人電腦跑大型語言模型呢？\n有的，ChatGPT的替代品很多的，但這篇文章Ivon要講的不是其他公司提供的線上AI服務，而是可以真正離線執行的大型語言模型。\n相較於ChatGPT跑在雲端，跑在個人電腦的大型語言模型，我們會稱之為本機語言模型（Local LLM）。跑在本機的好處不言而喻，除了保障隱私外，你還可以自由的調整AI，讓它發揮你想要的功能。如果採用的是自由開放原始碼的方案，有能力的人更是能著手改進相關程式。\n寫AI聊天程式不難，問題是語言模型何處尋？我們有許多開源的語言模型能用。\n2023年，Meta釋出了開源的「LLaMA」模型，提供了對應各種等級硬體的模型，模型後面的「B」即billion，十億的意思，代表訓練資料數量，LLaMA的訓練資料量從7B、14B、40B、到65B都有。65B以上的模型是給伺服器使用的，讓他們可以跟ChatGPT競爭。至於7B以下適合在個人電腦跑，中階以上的CPU就夠跑了，甚至連GPU都不需要。一般來說訓練資料越少的硬體需求越低。 在LLaMA釋出之後，基於LLaMA訓練的模型如雨後春筍出現，人們餵給LLaMA各式各樣的資料進行微調(finetune)，強化LLaMA的聊天能力。比方說：Alpaca、Vicuna、WizardLM、Open Assistant等等。甚至有基於LLaMA的模型支援中文對答了，比如台灣聯發科的Breeze-7B。\nLLaMA一出，其他科技公司陸續開源了自家訓練的語言模型，例如2023年的Mistral AI，還有Google於2024年釋出的Gemma。這些模型給了人們更多選擇，讓使用者可以自由下載到個人電腦使用。未來應該還會有更多模型出現吧。 咦？可是這些模型都不是ChatGPT啊？是的，Open AI自從GPT 3以後就沒有開源自家模型了（或者說他們不會將主力產品開源），這篇文章的標題「離線版ChatGPT」是一種方便理解的比喻而已（我承認這個標題有點誤導）。這些開源模型都不是原版的ChatGPT，只是各家廠商釋出的開源模型，功能類似ChatGPT。\n能夠在個人電腦跑的主要為訓練資料1B、2B、3B、4B、7B、8B、13B、30B的開源模型，儘管這些模型回答品質差ChatGPT一截，但是在做特定方面任務表現就已經很不錯了，比如寫文案、整理重點、翻譯文字、生成一小段程式碼，所以這些語言模型已經具備實用價值。隨著時代演進，開源模型的性能應會逐步追上ChatGPT。\n有了這麼多開源模型，要如何在個人電腦使用呢？大型語言模型只是模型檔案，你需要開發者撰寫軟體方能與模型互動，這篇文章下面會介紹的，就是著名的開源大型語言模型，以及操作大型語言模型的軟體。\n2. 著名的開源大型語言模型列表 # 這裡列出著名開源的大型語言模型。在你選好要用的語言模型後，還要安裝跑大型語言模型的軟體才能對話。\n大型語言模型日新月異，這個列表我會不定時參照Reddit r/Localllama的資訊更新推薦的模型，並務求耗費資源最小，不用太高級的硬體也可以跑（以7B左右的為主）。列表越上面的模型越推薦使用。\n那如何下載模型呢？模型檔案多半可以在HugginFace或者語言模型軟體的官網下載。如果模型為.gguf格式且經過量化，建議選擇Q5的版本，不會太佔資源，輸出品質也還能接受。\n由於開源模型在釋出後多半會有人製作修改版，比如將其調整為*-Instruct和*-Coder版本以接受複雜指令，或是改成*-Uncensored和*-Abliterated去除道德限制。因此我沒辦法將變種全部列出來，只能盡量按照譜系去分，並從中挑出評價比較好的模型。\n名稱 說明 gpt-oss 2025年8月釋出，提供20B與120B版本，OpenAI釋出的開源模型，提供近似ChatGPT o3‑mini的性能。 Qwen 3 2025年4月釋出，提供0.6B ~ 235B的版本，阿里巴巴釋出的簡體中文語言模型。 Gemma 3 2025年3月由Google釋出，提供1B ~ 27B版本，支援多國語言與圖像辨識的多模態模型。 Breeze2 2025年2月釋出，提供3B與8B版本。聯發科基於LLaMA 3.2微調的繁體中文模型，支援圖像辨識。 DeepSeek R1 2025年1月釋出，提供1.5B ~ 671B版本的模型。深度求索釋出的低成本模型，最大的版本號稱性能近似OpenAI o1，中文能力佳。另提供圖像辨識與生成圖片的Janus-Pro。 Phi 4 2024年12月由Microsoft釋出，另提供多模態模型Phi-4-multimodal。 LLaMA 3.2 2024年9月釋出，提供1B、3B版本，支援128K上下文。另有支援圖像辨識的多模態模型LLaMA 3.2 Vision 11B。 3. 跑開源大型語言模型的軟體列表 # 大型語言模型不能直接使用，還需要有人開發程式方能與大型語言模型對話。\n這裡列出的軟體都支援Linux、Windows、macOS系統。且都是免費、開放原始碼、無需網路、容易擴充的方案。\nJan AI # 一體化的解決方案，設計理念很像閉源的LM Studio，主打開箱即用。\n透過桌面應用程式即可完成下載語言模型、管理對話、處理文件等應用，無需打指令。它還會自動檢測你的電腦能跑哪些模型。\n使用llama.cpp，支援串接線上ChatGPT API，或者單純離線跑語言模型。這個程式本身也能夠當作API伺服器使用。\n官網下載：Jan - Turn your computer into an AI computer\nOpen WebUI + Ollama # 以網頁為主的解決方案，簡單又容易擴充的模組化設計，提供API，能夠與許多軟體結合使用。透過Docker即可輕鬆部署到個人伺服器。\n在這裡Ollama為後端，負責語言模型運算，會自動依照硬體性能分配CPU與GPU加速運算。Open WebUI是為網頁前端，支援RAG檢索增強生成、整理PDF內容、匯總Google搜尋結果、辨識圖像、視訊聊天。\n但是Ollama並沒有限定一定要跟Open WebUI一起用，Ollama提供REST API，改搭配其他語言模型軟體使用也是可以的。\n使用方法請看這篇。\nSillyTavern # 專為角色扮演設計的語言模型軟體，內建角色卡機制、人物表情、語音合成系統，輕鬆進入AI聊天模式。支援RAG檢索增強生成。\nSillyTavern只是個前端界面，需要搭配Ollama或ChatGPT做後端服務才可以跑起來。\n使用教學：SillyTavern安裝\nAnythingLLM # 主打開箱即用的桌面應用程式，支援多種語言模型引擎，包含Ollama和ChatGPT，或其他線上語言模型服務。\n提供語音辨識、RAG、整理網頁資料、總結PDF等功能。AnythingLLM除了在桌面使用外，也可以改用Docker部署變成網頁應用程式。\n官網下載：AnythingLLM | The all-in-one AI application for everyone\nText Generation WebUI # oobabooga開發的「Text Generation WebUI」提供網頁界面，支援載入多個開源語言模型、擴充功能、RAG檢索增強生成。它提供API讓其他軟體可以與其整合。\n前端用Gradio寫的，操作界面很像Stable Diffusion WebUI。需要花點時間調整系統參數。\n既能當語言模型的前端也能當後端。\n使用方法看這篇。\nLangChain # 專業的大型語言模型Python框架，模組化設計，自由度極高，可以任意搭配各種語言模型與相關技術，建立AI應用程式。\n上手有一定難度。\n官網下載：LangChain: Build context-aware reasoning applications\n","date":"2025年8月6日","externalUrl":null,"permalink":"/posts/foss-local-llm/","section":"Language-Models","summary":" Running free and open source large language models locally on your PC.\n這是「開源大型語言模型」與「跑大型語言模型的開源軟體」列表。\n本文Ivon解說如何在您的個人電腦跑類似ChatGPT的大型語言模型。免費、開源、無需網路，支援Linux、Windows、macOS系統。 1. 語言模型是什麼？為什麼要離線跑？ # 大型語言模型（Large Language Model，簡稱LLM）是一種語言模型，屬於生成式AI的技術，最知名的應用莫過於OpenAI的ChatGPT了。2022年，隨著ChatGPT的出現，讓人們了解到通用大型語言模型的應用潛力。\n不過ChatGPT有些缺點，就是它跑在OpenAI的雲端伺服器，必須連上網路才可以使用。且ChatGPT提示詞會受到OpenAI限制，導致不能肆意妄為，有些甚至要催眠一下才會聽話。對話資料由OpenAI掌控，對注重隱私的用戶來說肯定是不合適的。\n還有，ChatGPT是封閉原始碼的軟體，沒有人知道背後如何運作，改進方法也只有OpenAI自己知道。\n那麼有沒有可能在個人電腦跑大型語言模型呢？\n有的，ChatGPT的替代品很多的，但這篇文章Ivon要講的不是其他公司提供的線上AI服務，而是可以真正離線執行的大型語言模型。\n","title":"離線版ChatGPT安裝方法！在個人電腦跑AI大型語言模型的開源軟體列表","type":"language-model"},{"content":"在Linux掛載儲存裝置的時候，你應該要用/mnt還是/media還是/run/media路徑？\n讓我們試圖回答這個問題。\n並討論Linux系統常見的自動掛載硬碟手段。其實你不一定要手寫/etc/fstab！？在有安裝圖形介面的情況下，可以透過桌面環境的圖形界面設定自動掛載硬碟。 這張圖片使用ComfyUI + FLUX.1生成\n1. 如何列出Linux所有的儲存裝置 # 對於Linux來說，所有的儲存裝置都是一個檔案。插入電腦之後，會統一出現在/dev/之下，例如/dev/sda、/dev/sdb、/dev/sdc。如果硬碟沒有檔案系統，使用者需要先將其格式化，建立檔案系統（例如EXT4、FAT32、BTRFS、NTFS），再用mount指令，將/dev/sdX裝置掛載到掛載點，才能存取裡面的資料。掛載點可能是由使用者自行建立的一個目錄，或者是系統服務自動幫你建立。\n因此，在掛載硬碟的時候，要先確認的就是/dev/的儲存裝置代號，再來規劃硬碟的掛載點。\n指令工具：fdisk、lsblk、parted，例如fdisk -l指令。這些工具也可以用來格式化硬碟。\n圖形介面：Gparted、GNOME Disk、KDE Partition Manager。這些工具也可以用來格式化硬碟。\n2. 硬碟掛載點的路徑標準 # 事實上Linux的掛載系統很寬鬆，只要權限夠，你想挑哪個目錄當掛載點都行。譬如你可以將另一個硬碟/dev/sdb掛載到目前系統的/home，實現系統橫跨兩個硬碟儲存的操作。\n不過萬事都要有個標準來遵循吧。\n常見的掛載路徑選擇有/mnt、/media、/run/media，他們有什麼差呢？\n/mnt # 依照Linux基金會的檔案系統階層標準 FHS 3.0建議，/mnt應該是臨時掛載檔案用的，只給系統管理員操作，比如mount一個chroot檔案系統或者ISO，短時間存取裡面的資料然後移除。\n不過，對於個人電腦來說，由於通常只有一個使用者，因此限定系統管理員才能用的說法並不適用。所以其實沒有規定說/mnt不能掛載硬碟。將硬碟掛載在這個路徑也能在用cd指令的時候少打幾個字吧。但我覺得還是遵循FHS建議的標準較佳。\n/media與/run/media # 依照Linux基金會的檔案系統階層標準 FHS 3.0建議，/media是給一般使用者使用的，用於掛載可卸除的儲存媒介（不論他們是暫時性掛載或者是開機自動掛載），例如硬碟、光碟、USB隨身碟、SMB共享目錄等等。\n部份桌面環境的服務會自動偵測使用者插入的卸除式儲存裝置，然後自動建立掛載點。比如GNOME的udisks。\n那麼為什麼會有/media與/run/media的差異呢？有些發行版採用後者的理由是因為/run這個路徑在每次重開機後都會清空，所以能夠保持系統整潔。每次重開機交由系統服務動態建立掛載點。反之如果是/media的話，掛載點的目錄一旦建立就會一直存在，不論硬碟有無成功掛載，總是會有一個空目錄在那邊，長此以往將造成大量垃圾。\n不過這兩個目錄的差異不大，端看發行版與桌面環境怎麼操作而已。\nUbuntu與Debian比較習慣使用/media/\nFedora與openSUSE則是會選取/run/media/。\n這個掛載路徑的選擇，反映在它們的套件編譯選項裡面，所以要套用另一個發行版的規則，可能得手動編輯路徑。\n3. 使用圖形界面設定硬碟掛載規則 # 講到掛載硬碟多半會想要手動編輯/etc/fstab吧，但是在有安裝圖形介面的情況下，可以透過桌面環境的工具設定自動掛載硬碟的規則。它會根據使用者的儲存裝置情況，建議合適的掛載點並完成操作，最後將變更寫入到/etc/fstab。\nGNOME # GNOME 48是使用udisks和gvfs服務，應該已經隨GNOME桌面環境一同安裝。用以下指令確認服務狀態： systemctl --user status udisks2 開啟磁碟 (GNOME Disk Utility) 程式 選取要掛載的硬碟。如果已經掛載，先按下暫停鍵取消掛載。\n點選編輯掛載選項 取消勾選使用者工作階段預設值。\n設定掛載規則。首先，設定識別為UUID，讓它以UUID為依據下去掛載硬碟，這樣可以防止因為換硬碟導致/dev/sda變化而無法掛載。然後掛載點的部份可以任意取名，建議設定為/media/\u0026lt;使用者名稱\u0026gt;/\u0026lt;你喜歡的硬碟代號\u0026gt;，不然的話自動依照UUID建立的掛載點一長串很醜。檔案系統設定為auto讓它自動判斷。 點選播放鍵掛載硬碟。\n掛載的硬碟會出現在檔案管理器的選單。 註解：udisks有時候會無視/etc/fstab設定，自行掛載儲存裝置。這得透過udisksctl指令調整。\nKDE Plasma # KDE Plasma 6需要使用者指定自動掛載的規則。\n開啟KDE磁碟分割區管理員 (KDE Partition Manager) 選取要掛載的硬碟。如果已經掛載，先按下右鍵取消掛載。\n按右鍵，編輯掛載點 識別方式選取UUID，讓它以UUID為依據下去掛載硬碟，這樣可以防止因為換硬碟導致/dev/sda變化而無法掛載。路徑就是掛載點，建議設定為/media/\u0026lt;使用者名稱\u0026gt;/\u0026lt;你喜歡的硬碟代號\u0026gt;。 儲存變更。掛載硬碟。\n掛載的硬碟會出現在檔案管理器的選單。 4. 手寫/etc/fstab設定硬碟掛載規則 # 編輯/etc/fstab，用於定義開機後的掛載規則。這是最傳統的做法，任何Linux發行版都適用。未來可能會流行systemd-mount，藉由編輯多個服務檔來定義個別硬碟的掛載規則。不過在那之前用單一檔案定義全部規則的/etc/fstab仍是最穩健的選擇。/etc/fstab裡面所寫的規則，一定會在開機後自動掛載。\n/etc/fstab會要求你指定掛載點，那麼就以硬碟來說，建議的掛載點規則是這樣： 檔案系統UUID=\u0026#34;\u0026#34; 掛載點 檔案系統類型 參數 關於最前面的檔案系統，傳統的作法是用/dev/sdX，但考慮到硬碟有可能會抽換，導致/dev/sda指向的不見得是原本的硬碟。比較好的方法是透過UUID來認硬碟，確保每次掛載的都是指向正確的硬碟。\n用blkid指令列出所有硬碟分區的UUID。\n接著是掛載點的部份。選取/media/或/run/media。在你使用/etc/fstab的時候，/run不會因為重開機清空而影響掛載。\n路徑格式：/media/\u0026lt;使用者名稱\u0026gt;/\u0026lt;你喜歡的硬碟代號\u0026gt;。如果你不知道怎麼取名，我會建議取名叫做HDD1，或者以硬碟的型號下去命名，例如ST8000DX001，再不濟就用UUID當掛載點名稱。\n最後面的檔案系統類型與參數通常維持預設就好。\n舉例來說，用sudo lsblk指令得出要掛載的硬碟路徑如下，它有一個EXT4的檔案系統：\n/dev/sdb2: UUID=\u0026#34;26c57dd3-de9f-4409-b385-cf218501a739\u0026#34; BLOCK_SIZE=\u0026#34;4096\u0026#34; TYPE=\u0026#34;ext4\u0026#34; PARTUUID=\u0026#34;bf86f923-91f5-4c54-b8e4-33ecc6dfeb33\u0026#34; 然後我們預計要掛載到/media/user/HDD1，並允許所有使用者都能讀取與寫入。所以手動建立該掛載點，然後修改權限 sudo mkdir -p /media/user/HDD1 sudo chmod 777 /media/user/HDD1 編輯/etc/fstab sudo vim /etc/fstb 填入以下掛載規則 UUID=26c57dd3-de9f-4409-b385-cf218501a739 /media/user/HDD1 ext4 defaults 0 0 重開機，使用lsblk指令查看硬碟是否有自動掛載。 # 範例輸出 sdb 8:00 0 7.6T 0 disk └─sdb1 8:00 0 7.6T 0 part /media/user/HDD1 ","date":"2025年8月6日","externalUrl":null,"permalink":"/posts/linux-auto-mount-disks/","section":"所有文章","summary":"在Linux掛載儲存裝置的時候，你應該要用/mnt還是/media還是/run/media路徑？\n讓我們試圖回答這個問題。\n並討論Linux系統常見的自動掛載硬碟手段。其實你不一定要手寫/etc/fstab！？在有安裝圖形介面的情況下，可以透過桌面環境的圖形界面設定自動掛載硬碟。 這張圖片使用ComfyUI + FLUX.1生成\n1. 如何列出Linux所有的儲存裝置 # 對於Linux來說，所有的儲存裝置都是一個檔案。插入電腦之後，會統一出現在/dev/之下，例如/dev/sda、/dev/sdb、/dev/sdc。如果硬碟沒有檔案系統，使用者需要先將其格式化，建立檔案系統（例如EXT4、FAT32、BTRFS、NTFS），再用mount指令，將/dev/sdX裝置掛載到掛載點，才能存取裡面的資料。掛載點可能是由使用者自行建立的一個目錄，或者是系統服務自動幫你建立。\n因此，在掛載硬碟的時候，要先確認的就是/dev/的儲存裝置代號，再來規劃硬碟的掛載點。\n指令工具：fdisk、lsblk、parted，例如fdisk -l指令。這些工具也可以用來格式化硬碟。\n圖形介面：Gparted、GNOME Disk、KDE Partition Manager。這些工具也可以用來格式化硬碟。\n","title":"要用/mnt還是/media？Linux自動掛載硬碟建議的路徑","type":"posts"},{"content":"這篇教學文章供想安裝Arch Linux的人當參考，您將會得到一個正體中文，帶有中文注音輸入法的Arch Linux。選用KDE Plasma作為桌面環境。 1. Arch Linux簡介 # 為什麼要選擇Arch Linux當桌面系統？Ivon覺得它的優點在於：\n一、Arch Linux的系統安裝具備高自訂性，預設只有純文字界面，你可以自由加裝想要的桌面環境。要簡潔要複雜隨你所願。\n二、軟體和Linux核心版本非常新，亦有大量第三方軟體庫作為補充。\n三、系統是滾動更新，升級沒有大版本之分。\n四、社群撰寫的Arch Wiki包山包海，大部分問題都能找到解答。\n然而Arch Linux不是新手友善的Linux發行版，建議至少用過Linux系統一年以上，懂得使用終端機指令，再嘗試裝Arch Linux。儘管大部分時候Arch Linux還算穩定，但若是更新後有東西出錯，需要有自己動手除錯的能力。 Arch Linux開發者期望你要自行閱讀手冊，打指令安裝系統。下面的每個步驟我會盡量解釋我在做什麼，並簡介pacman和AUR的用法，還有使用Arch Linux的基本觀念。我不會使用任何圖形安裝器或archinstall懶人安裝指令稿。\n注意：本篇文章資料僅供參考。遇到問題時請多看文末的「參考資料」處學習除錯。\n2. 硬體規格 # 我的電腦規格\n主機板 ASUS K31CD-K CPU Intel I5-7400 GPU Nvidia GTX1050Ti RAM 16GB DDR4 SSD Micron 500GB Wifi網路卡 Qualcomm Atheros QCA9377 3. 製作Arch Linux開機隨身碟 # 至Arch Linux官網，找到臺灣的鏡像站。 下載Arch Linux的ISO，選第一個。 建議檢查檔案完整性防止檔案毀損。\n安裝Ventoy製作開機隨身碟。\n4. 開始安裝Arch Linux # 安裝系統建議使用有線光纖網路，用手機USB分享網路也可以，免得Wifi還要另外裝驅動才上網。\n4.1. 開機進入安裝媒體 # 隨身碟插著電腦，開機連按Delete進入UEFI\n建議關閉Secure Boot。\n調整UEFI開機順序，設定為以UEFI模式隨身碟開機，進入Arch Linux，用鍵盤選第一個選項，按Enter進入安裝媒體。\n載入Arch Linux系統後會進入終端機(顯示root@archiso) 系統應該會自動連上網路。ping看看Arch Linux官網，檢查網路是否正常:\nping -c 3 archlinux.org 檢查是否為UEFI模式開機，應會回傳「64」。若顯示No such file or directory的話，輸入poweroff關機，退回UEFI，啟用UEFI再重新來過。 cat /sys/firmware/efi/fw_platform_size 4.2. 修改鏡像站 # Arch Linux安裝媒體預設是從官方伺服器下載套件，有些地區的網速可能會很慢。為此您可以先將Arch Linux的套件庫改成離您較近的鏡像站。\n各國的鏡像站網址可用Pacman Mirrorlist Generator查詢，像臺灣國內目前就有5個Arch Linux的鏡像站。\n編輯/etc/pacman.d/mirrorlist vim /etc/pacman.d/mirrorlist 在第一行將#取消註解，並在Server的後面改為臺灣國網中心的Arch Linux鏡像站網址。這樣Arch Linux就會優先使用此套件庫。 Server = https://free.nchc.org.tw/arch/$repo/os/$arch 嘗試同步套件庫，能連線的話就不會輸出任何錯誤訊息。 pacman -Syy 4.3. 分割與格式化硬碟 # 我將使用fdisk指令進行硬碟分割，這裡只有一個硬碟，將原本的分割表刪除，全用於安裝Arch Linux。\n首先查看目前的硬碟分區 fdisk -l 應會看到/dev/sda這樣的裝置代號。SSD或HDD通常是顯示為/dev/sda，NVME為/dev/nvme0n1。fdisk的列表會包含硬碟和開機隨身碟，請用容量判斷何者為目標硬碟。 /dev/sda1 EFI System /dev/sda2 Linux filesystem 選取要安裝系統的硬碟 fdisk /dev/sda 輸入g刪除全部分區，建立GPT分割表。 g 新增用於UEFI開機的第一個硬碟分區。輸入n，再輸入1，First Sector使用預設，Last Sector輸入+512M將該分區設為512MB。 n 1 First Sector: (Enter) Last Sector: +512M # 遇到Do you want to remove the signature?的問題就輸入yes 輸入t再輸入uefi，將該分區類型切換為EFI： t uefi 關於RAM不足的時候需要的SWAP，我選擇使用swap file的方式，因為單一檔案的形式比分區好調整，所以這裡先跳過。\n硬碟剩下的空間都給Linux的根目錄。新增第三個硬碟分區：\nn 2 First Sector: (Enter) Last Sector: (Enter) 最後輸入w確認將變更寫入硬碟： w 用指令fdisk -l看目前硬碟分區，應該會是以下情況： /dev/sda1 512MB EFI /dev/sda2 475GB Linux 將硬碟格式化並建立檔案系統，EFI分區是FAT32，根目錄分區採用穩定的EXT4。 mkfs.fat -F32 /dev/sda1 mkfs.ext4 /dev/sda2 將根目錄分區掛載至/mnt： mount /dev/sda2 /mnt 4.4. 安裝Linux核心和最小系統 # 掛載EFI分區到/boot/efi mkdir -p /mnt/boot/efi mount /dev/sda1 /mnt/boot/efi 用pacstrap工具安裝基本Linux檔案系統base、核心linux、專有韌體linux-firmware pacstrap -K /mnt base linux linux-firmware 用genfstab工具，將開機後硬碟掛載的規則寫入/etc/fstab，並以UUID為尋找開機分區的依據： genfstab -U /mnt \u0026gt;\u0026gt; /mnt/etc/fstab 檢視掛載狀況 cat /mnt/etc/fstab chroot到檔案系統。 arch-chroot /mnt 新增一個swap file，設定為實體RAM的二倍大小，然後新增到/etc/fstab讓它開機自動啟用。這個是選擇性步驟，如果你自認實體RAM夠大不可能全吃光，就不需要建立SWAP。 mkswap -U clear --size 16G --file /swapfile swapon /swapfile echo \u0026#34;/swapfile none swap defaults 0 0\u0026#34; \u0026gt;\u0026gt; /etc/fstab 4.5. 安裝驅動程式 # 4.5.1. 顯示卡驅動 # Intel顯示卡的驅動含在開源mesa套件，開箱即用，通常不需要特別安裝。下面是包含Vulkan驅動的套件：\npacman -S intel-media-driver vulkan-intel AMD顯示卡的驅動跟Intel一樣，含在mesa套件。有需要Vulkan再額外安裝：\npacman -S vulkan-radeon libva-mesa-driver mesa-vdpau 至於Nvidia顯示卡，Arch Linux的儲存庫有提供Nvidia顯示卡的專有驅動，不需要額外加套件庫。安裝後nouveau會自動被停用。Turing架構以後的Nvidia顯示卡，用以下指令安裝最新Nvidia驅動。\nsudo pacman -S nvidia-open-dkms nvidia-utils 至於比較舊的Nvidia顯示卡，Nvidia可能已經停止提供最新驅動，請參閱Arch Wiki了解舊版驅動的套件名稱。\n4.5.2. Wifi與藍牙驅動 # 用lsci查看硬體裝置的型號\nlspci | egrep -i \u0026#39;wifi|wireless|intel|broadcom|realtek\u0026#39; 如果網卡是用USB外接的，使用lsusb指令檢查\npacman -S usbutils lsusb 它應該會印出一組英數:英數的代碼，到Linux Wireless wiki查詢該裝置有無驅動可用。\n如果你運氣好，裝好linux-firmware套件，有含在主線Linux核心的專有驅動就會在開機後自動載入。\npacman -S linux-firmware 運氣不好，裝驅動得用到AUR甚至DKMS編譯，那請後面開機再處理吧。\n4.6. 安裝KDE Plasma桌面環境 # 接著要來安裝桌面環境和一些常用工具。下面是我事先安裝這些軟體的理由： 套件名稱 用途 sudo 管理root權限 networkmanager 網路管理員，會自動處理網路連線變更。 xorg, xorg-server X視窗系統 pipewire, wireplumber, pipewire-pulse 音訊伺服器，相容PulseAudio。 nvtop 查看顯示卡使用率的純文字工具 intel-ucode Intel CPU微碼修補程式 sddm 顯示管理器，也就是開機登入畫面 plasma-meta, kde-applications, packagekit-qt6 KDE Plasma桌面環境（包含Wayland）、KDE應用程式。 vim 文字編輯器 firefox Firefox網路瀏覽器 noto-fonts-cjk, noto-fonts-emoji 中文和Emoji字型 fcitx5-im, fcitx5-chewing, fcitx5-qt, fcitx5-gtk, fcitx5-chinese-addons 中文輸入法框架，含注音輸入法新酷音 git, openssh, fakeroot, base-devel 常用開發工具 用pacman套件管理員安裝KDE桌面環境和常用軟體，全部Enter同意，大約會下載5GB資料。為避免指令太長我有分段裝，您要一次打完也可以。 pacman -S sudo networkmanager vim firefox noto-fonts-cjk noto-fonts-emoji pacman -S xorg xorg-server pipewire wireplumber pipewire-pulse intel-ucode nvtop pacman -S sddm plasma-meta kde-applications packagekit-qt6 pacman -S fcitx5-im fcitx5-chewing fcitx5-qt fcitx5-gtk fcitx5-chinese-addons pacman -S git openssh fakeroot base-devel 4.7. 設定一般使用者與開機服務 # 設定時區為台灣台北。同步硬體時鐘。 ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime hwclock --systohc 使用Vim編輯語言檔案 vim /etc/locale.gen 把正體中文zh_TW.UTF-8取消註解(前面去掉#字號)如下： # 使用上下左右鍵移動，按i輸入文字，改好後按Esc，再輸入「:wq」退出VIM zh_TW.UTF-8 UTF-8 生成語言，設定系統語言為正體中文 locale-gen echo \u0026#34;LANG=zh_TW.UTF-8\u0026#34; \u0026gt;\u0026gt; /etc/locale.conf 給自己的主機取名為ArchLinux: echo \u0026#34;ArchLinux\u0026#34; \u0026gt;\u0026gt; /etc/hostname 建立host檔案。最後一行為主機名稱。 echo \u0026#34;127.0.0.1 localhost\u0026#34; \u0026gt;\u0026gt; /etc/hosts echo \u0026#34;::1 localhost\u0026#34; \u0026gt;\u0026gt; /etc/hosts echo \u0026#34;127.0.1.1 ArchLinux\u0026#34; \u0026gt;\u0026gt; /etc/hosts 設定開機自動啟動SDDM顯示管理器、NetworkManager、SSH的服務 systemctl enable sddm.service systemctl enable NetworkManager.service systemctl enable sshd.service 更改root的密碼: passwd #輸入二次新密碼 建立一般使用者帳戶\u0026quot;user\u0026quot;（名字可自取），將其加入users、wheel、audio、video、storage群組，並修改密碼 useradd -m -g users -G wheel,audio,video,storage -s /bin/bash user passwd user 用指令編輯sudoers：vim /etc/sudoers，賦予一般使用者帳戶sudo權限 #在\u0026#34;root ALL=(ALL:ALL) ALL\u0026#34;的下一行加入以下內容: user ALL=(ALL:ALL) ALL 4.8. 安裝GRUB開機引導 # 安裝GRUB和efibootmgr套件 pacman -S grub efibootmgr 將EFI分區掛載到/boot/efi目錄 mount /dev/sda1 /boot/efi 接著安裝GRUB至EFI分區 grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi grub-mkconfig -o /boot/grub/grub.cfg 檢查/boot目錄下是否有成功安裝GRUB和Linux核心，應會列出grub目錄和initramfs-linux.img。 ls /boot 系統安裝完成。退出chroot，取消掛載，關機。 exit umount /mnt/boot/efi umount /mnt shutdown now 拔掉開機隨身碟後重開機。 5. 系統後續安裝優化 # 如果Arch Linux開機後沒畫面，按CTRL+ALT+F2切換至tty，登入root帳號後再除錯。或是用開機隨身碟chroot到系統進行修復(重複上文2.4的步驟)。\n一切順利的話，應該會看到登入畫面，輸入密碼後就能登入KDE桌面，下面是一些小優化。\n5.1. KDE Plasma桌面入門 # Windows 10桌面布局跟KDE Plasma十分類似，您可以任意調整桌面元件的擺放方式。 點一下桌面左下角可找到所有應用程式列表，包含「系統設定」和終端機「Konsole」。\n右下角則是開關Wifi、藍牙、電池、輸入法、顯示時間的面板。\n開機後如果系統介面還是英文，點選左下角的System Settings → Regional Settings，將Language調成正體中文並重開機。\n安裝中文字型可能會導致介面預設字型變成楷體，此時要使用fontconfig調整。\n在Arch Linux上，KDE的軟體商店「Discover」除了管理pacman下載的軟體外，還可以配合Flatpak或Snap使用。\nKDE Plasma最新版預設會採用Wayland作為顯示協定，若有需要可在SDDM的登入畫面左上角切換為X11。\n5.2. 設定Fcitx5中文輸入法 # Fcitx5是Arch Linux最新的中文輸入法框架，支援注音、拼音、倉頡等輸入方案，對Wayland支援度較好。\n確認已安裝必要的Fcitx5套件 sudo pacman -S fcitx5-im fcitx5-chewing fcitx5-qt fcitx5-gtk fcitx5-chinese-addons 在KDE左下角的應用程式列表搜尋「Fcitx5設定程式」，開啟面板，加入「新酷音」注音輸入法。\n針對Fcitx5，編輯環境變數：sudo vim /etc/environment，加入以下內容重開機。\nGTK_IM_MODULE=fcitx # 若是在GNOME跑純Wayland程式，不用設定這一條 QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx 輸入文字時用CTRL+空白鍵來切換應該就會叫出新酷音。Fcitx5還有對系統匣圖示按右鍵切換簡體輸出的功能。\n在KDE Plasma 6.0 Wayland，可能需要在系統設定 → 虛擬鍵盤，設定為Fcitx5才能打字。\n5.3. pacman套件管理員使用方式 # 此節列出Arch Linux的套件管理員pacman的常用指令。\nArch Linu安裝套件不會像其他Linux發行版事先為使用者設定與啟動服務，因此即使是像Firefox這樣受歡迎的軟體，仍建議在安裝套件後到Arch Wiki → 關於Firefox的頁面，查看有無其他需要調整的設定檔。\n用此指令搜尋線上套件\nsudo pacman -Ss \u0026lt;套件名稱\u0026gt; 用此指令安裝套件。Arch Linux不支援部份更新，不可以用pacman -Sy \u0026lt;套件名稱\u0026gt;來安裝套件。\nsudo pacman -S \u0026lt;套件名稱\u0026gt; 移除套件\nsudo pacman -R \u0026lt;套件名稱\u0026gt; 以下指令會更新整個系統的套件。因為Arch Linux是滾動發行版，建議每個月進行一次全系統更新。更新前建議看Arch Linux官網新聞有無嚴重bug再更新。\nsudo pacman -Syu 強制同步套件庫。某個套件無法下載的時候才執行此指令。\nsudo pacman -Syy 刪除本機套件快取\nsudo pacman -Sc 5.4. 安裝AUR套件管理員 # AUR (Arch User Repository) 是Arch Linux官方套件庫以外的主要套件來源。AUR沒有收錄套件檔案，只有編譯套件的設定檔。AUR套件最直接的裝法是手動git clone儲存庫，然後檢查依賴項目，再用makepkg指令打包安裝。\n但是這樣太麻煩了，所以我們通常會安裝一個AUR Helper來自動化處理，我使用yay，語法跟pacman很像。\n安裝yay sudo pacman -S --needed git base-devel git clone https://aur.archlinux.org/yay.git cd yay makepkg -si 編輯：sudo vim /etc/makepkg.conf，找到MAKEFLAGS=\u0026quot;-j2\u0026quot;這行，取消註解，再將後面改成\u0026quot;-j$(nproc)\u0026quot;。這樣在編譯AUR套件時即會使用全部CPU。\n編輯：sudo vim /etc/pacman.conf，取消註解Color和ParallelDownloads，開啟顏色和平行下載套件。再自行新增ILoveCandy參數開啟pacman的彩蛋。\n因為AUR是先編譯後打包，執行時yay指令的時候不需要加sudo，只有打包後要安裝套件時需要密碼。\nyay能用類似pacman的語法來安裝AUR上的套件，例如Arch Linux官方套件庫沒收的google-chrome：\nyay -S google-chrome # 按下Enter同意安裝，並按照螢幕提示輸入密碼 要刪除AUR的套件也是類似的語法：\nyay -R google-chrome 更新所有AUR套件，並順便更新整個系統的套件：\nyay -Syu 5.5. 設定UFW防火牆 # Arch Linux預設的防火牆是iptables，通常我們會裝一個前端方便管理防火牆規則。\n安裝UFW，並設定開機自動啟動UFW服務 sudo pacman -S ufw sudo ufw enable sudo systemctl enable ufw sudo systemctl start ufw 設定防火牆基本規則：允許所有對外連線，阻擋所有連入連線，僅開放SSH的通訊埠。 sudo ufw default allow outgoing sudo ufw default deny incoming sudo ufw allow ssh sudo ufw reload 5.6. 補齊缺少的驅動程式 # 最簡單的方式是重裝Linux核心：\nsudo pacman -S linux linux-headers Arch Linux預設會在安裝核心時重建initramfs，過程會顯示possible missing firmware:字樣，代表缺少驅動(核心模組未載入)。把那些驅動名稱拿去Google，將其安裝補齊。\n通常AUR都會有收這些驅動，例如mkinitcpio-firmware套件就足以補齊許多驅動：\nyay -S mkinitcpio-firmware 5.7. 尋找更多實用的Linux應用程式 # 老樣子，請先看Arch Wiki：List of applications了解有哪些實用的應用程式。\n我有另外整理一個中文列表：我的Linux必裝軟體，裡面有許多實用的Linux軟體。\nArch Linux安裝後記 # 這篇教學文章兼筆記最初寫於2022年7月，後多次修訂至今。\n那時說Distro hopping的終點來到了Arch Linux。\n標題之所以說主力，是因為主要用途是用於文書、剪輯、開發、遊戲。\n資質駑鈍，安裝Arch Linux是一年下來玩各種Linux(不論是手機還電腦)累積下來的成果，現在體驗到了掌控自己電腦的感覺。\nPTT文章也給我很大幫助。\n2021年第一次嘗試安裝Arch Linux時，GNOME的APP怎麼開怎麼崩，不會設定中文和輸入法，之後開機便卡在終端機，果斷放棄回去用Ubuntu和Windows 11。幾個月後玩FreeBSD才想到應該是沒裝Nvidia驅動的問題。\n有了各種Linux基礎概念後，2022年Arch Linux一小時就安裝完成。\n玩手機Termux Proot distro、實機操作過PinePhone、在Android上刷postmarketOS、嘗試編譯Android的docker kernel、在各種桌面系統的distro hopping經驗，讓我掌握了設定語言和時間等基本知識。\n大致上主流發行版都體驗過了一次： Ubuntu → Manjaro → Debian → Fedora → openSUSE Tumbleweed → GUIX → Arch Linux\nKDE介面很細心，GNOME操作邏輯很炫，XFCE是測試桌面的第一穩定選擇，所以到現在我還是選了KDE。\n安裝時是有線網路\u0026hellip;不過裝完linux-firmware開機後我的高通網卡就自動抓到驅動了 :P 還以為要像Realtek的自己編譯。\n原本擔心AUR會不會套件比較難安裝，但其實也沒那麼難用。Fedora、openSUSE某些軟體會不受開發者支援，所以才會去用Flatpak，但AUR似乎是包山包海。\nArch Linux玩熟後，就前進到Gentoo了，幾個月後還是跳回Arch Linux了。\n參考資料 # Installation guide - Arch Wiki Arch Linux Forums Arch Linux 臺灣社群 Arch Linux 中文社区 ","date":"2025年8月6日","externalUrl":null,"permalink":"/posts/install-archlinux/","section":"所有文章","summary":"這篇教學文章供想安裝Arch Linux的人當參考，您將會得到一個正體中文，帶有中文注音輸入法的Arch Linux。選用KDE Plasma作為桌面環境。 1. Arch Linux簡介 # 為什麼要選擇Arch Linux當桌面系統？Ivon覺得它的優點在於：\n一、Arch Linux的系統安裝具備高自訂性，預設只有純文字界面，你可以自由加裝想要的桌面環境。要簡潔要複雜隨你所願。\n二、軟體和Linux核心版本非常新，亦有大量第三方軟體庫作為補充。\n三、系統是滾動更新，升級沒有大版本之分。\n四、社群撰寫的Arch Wiki包山包海，大部分問題都能找到解答。\n然而Arch Linux不是新手友善的Linux發行版，建議至少用過Linux系統一年以上，懂得使用終端機指令，再嘗試裝Arch Linux。儘管大部分時候Arch Linux還算穩定，但若是更新後有東西出錯，需要有自己動手除錯的能力。 Arch Linux開發者期望你要自行閱讀手冊，打指令安裝系統。下面的每個步驟我會盡量解釋我在做什麼，並簡介pacman和AUR的用法，還有使用Arch Linux的基本觀念。我不會使用任何圖形安裝器或archinstall懶人安裝指令稿。\n","title":"Arch Linux安裝教學，KDE Plasma桌面 ＋ 中文輸入法","type":"posts"},{"content":"Linux社群曾有人覺得Arch Linux手動安裝過程太漫長，便做了圖形化安裝器「Arch Install GUI」，只不過那非官方認可的專案。\n目前Arch Linux官方收錄進安裝ISO的為純文字介面執行的「archinstall script」指令稿。大約在2023年以後就收錄於官方建置的ISO內了。 這個指令稿使用Python + Textual寫成，它會指引你安裝Arch，並自動裝桌面環境和顯示卡驅動套件，減少打指令的次數，裝好後就能進桌面。跟手動裝Arch Linux比起來，大約能節省半小時。\n對老手來說，archinstall提供了一個方便部署系統的工具，能快速做出可用的Arch Linux系統。你還可以把安裝過程使用的設定檔存起來，上傳至個人Github儲存庫之類的網站，在日後重複利用。\narhcinstall的詳細說明文件請看python-archinstall Documentation\n那麼我們就馬上來試試吧，用archinstall安裝一個中文化，使用KDE Plasma當桌面的Arch Linux系統。 1. 製作Arch Linux安裝碟 # 安裝Arch Linux前務必確認電腦主機板是否支援Linux。\n至Arch Linux官網，找到臺灣的鏡像站。 下載Arch Linux的ISO。 建議檢查檔案完整性防止檔案毀損。\n安裝Ventoy製作開機隨身碟。\n2. 使用archinstall安裝系統 # 安裝時請使用有線網路。電腦以UEFI模式從安裝碟開機。\n開機進入Arch Linux終端機後，輸入archinstall啟動指令稿 接著會看到此畫面，用鍵盤上下鍵移動，按Enter進入個別選項設定或是確認，按Esc返回上一頁。 目前archinstall(版本29)要做以下事情：\nArchinstall language # 安裝器的語言，維持預設英文就好。\nLocales # Keyboard layout，鍵盤設定，大部分鍵盤維持us就行。\nLocale Language，設定為正體中文(zh_TW.UTF-8) Locale encoding，維持UTF-8編碼。\nMirror Regions # 切換映射站點，加快套件下載速度。\n進入後用空白鍵，選取Taiwan國內的套件庫網址。 Disk Configuration # 進入Partitioning，選Use a best-effort (default partition layout)\n預設分割方法是512MB的給EFI分區，剩下空間都給根目錄。\n選取要安裝系統的硬碟，自行從容量判斷。 檔案系統建議選BTRFS或EXT4 我個人選擇不把/home獨立切一個分區。 SWAP # RAM不足時拿硬碟分區來緩衝之用，維持預設讓其自動建立。\n啟用Swap on zram可以進一步增加RAM。 Bootloader # archinstall指令稿的開機引導程式預設是使用Systemd-boot，此引導程式彈性不高，所以我會改回傳統的GRUB。 Hostname # 電腦名稱，可維持預設。\nAuthentication # 進入Root password，設定Root密碼，建議六位數以上。 進入User account，建立一般使用者。\n選取Add a user，輸入新使用者的名稱，建議小寫字母，例如新增名叫user的一般使用者，再設定密碼 接著選取yes賦予其使用sudo的權限。 選取Confirm and exit\nProfile # 這裡可選取要將Arch安裝為桌面電腦，還是伺服器的設定檔。\n進入Type，選取Desktop。桌面環境看個人選擇，我比較喜歡功能豐富的KDE Plasma。 接著進入Graphics driver，按照顯示卡品牌安裝驅動。Nvidia顯示卡用戶根據代數選取專有驅動，RTX 20系列以前的舊卡選Nvidia (proprietary)，更新的顯示卡則是選Nvidia (open kernel module) 最後是Greeter，也就是開機後顯示的登入畫面，應該會自動根據你選擇的桌面環境設定好，例如KDE Plasma就是配SDDM。 Applicatons # 進入Bluetooth，啟用藍牙服務。 進入Audio，設定音訊系統，未來是Wayland的時代，因此選Pipewire要好。 Kernels # 要安裝的核心變種，維持預設的linux。除非你需要用Waydroid跑Android APP才選取linux-zen核心。 Arch Linux可依照用途，同時安裝不同版本的Linux核心。\nAdditional Packages # 額外套件，按下/搜尋。建議這邊選取noto-fonts-cjk裝中文字型，不然開機中文字會變成方塊。 Network Configuration # 網路設定，通常我們是留給NetworkManager自動管理。 Timezone # 時區設定，請選取Asia/Taipei。 Automatic time sync (NTP) # 開機用NTP自動校時，維持預設。 Save Configuration # 可儲存本次安裝設定檔供日後利用。不過因為這邊我們沒有掛載硬碟，故跳過。\n開始安裝 # 確認一切無誤後，選取Install開始安裝，接著會按照以上設定檔安裝系統。因為上面選了KDE Plasma的設定檔，下載與安裝套件約需要半小時。 裝好後，選取Exit archinstall。 輸入poweroff指令開機。移除Arch Linux安裝隨身碟，重開機。\n3. 安裝後續優化 # 進入桌面後，使用者還是需要自行打指令設定Fcitx5注音輸入法和防火牆等等東西，而非Manjaro和EndeaverOS那種對使用者友好，開箱即用的體驗。\n你終究要接觸命令行的，archinstall指令稿協助你度過安裝的難關，後來還是要學習如何使用Arch Linux的指令。\n對了，以後手動分割硬碟裝Arch的用戶，記得要改說“I use unguided Arch btw.” (梗偷自Reddit)才能顯示你的優越感。\n","date":"2025年8月6日","externalUrl":null,"permalink":"/posts/archinstall-script/","section":"所有文章","summary":"Linux社群曾有人覺得Arch Linux手動安裝過程太漫長，便做了圖形化安裝器「Arch Install GUI」，只不過那非官方認可的專案。\n目前Arch Linux官方收錄進安裝ISO的為純文字介面執行的「archinstall script」指令稿。大約在2023年以後就收錄於官方建置的ISO內了。 這個指令稿使用Python + Textual寫成，它會指引你安裝Arch，並自動裝桌面環境和顯示卡驅動套件，減少打指令的次數，裝好後就能進桌面。跟手動裝Arch Linux比起來，大約能節省半小時。\n對老手來說，archinstall提供了一個方便部署系統的工具，能快速做出可用的Arch Linux系統。你還可以把安裝過程使用的設定檔存起來，上傳至個人Github儲存庫之類的網站，在日後重複利用。\narhcinstall的詳細說明文件請看python-archinstall Documentation\n那麼我們就馬上來試試吧，用archinstall安裝一個中文化，使用KDE Plasma當桌面的Arch Linux系統。 1. 製作Arch Linux安裝碟 # 安裝Arch Linux前務必確認電腦主機板是否支援Linux。\n至Arch Linux官網，找到臺灣的鏡像站。 ","title":"archinstall script使用教學，KDE Plasma桌面 ＋ 中文化，讓Arch Linux安裝更簡單","type":"posts"},{"content":"要同時跑多個容器服務，我們通常會寫一個docker-compose.yml，將每個服務的屬性都定義好，然後透過docker compose up指令啟動。\n在Podman，要達成這個作法，有兩種方式：\npodman-compose：相容docker-compose的指令，用法類似，讀取yaml檔啟動容器服務，幾乎是一條podman compose up就能轉換過來。注意不要跟podman play kube搞混，後者需要使用Kubernetes的yaml格式。 Podman Quadlets：在Podman 4.4加入的功能，將docker-compose的內容修改為符合Systemd服務檔，將Podman容器服務變成Systemd服務的概念。這已經跟原本的docke-compose的yaml是不同語言了，需要自行改寫成Systemd語法。 本文Ivon討論第二種，以Podman Quadlets來跑多個服務的作法，將docker-compose.yml轉換到Podman Quadlets。 這張圖片使用ComfyUI + illustriousXL生成並做一些修改\n據說Podman Quadlets的名字來源是將Kubernetes切成兩半，由8變成4，也就是扁平化後的Kubelet。意思是試圖用Systemd簡化管理容器的程序。\nRedHat公司在官網部落格介紹了許多Podman Quadlets的好處，不過沒有很詳細的文件說明，因此Ivon決定研究一番。\nDocker compose的另一種形式概念就是Podman Quadlets，好處為何？跳脫了從單一yaml啟動全部服務的作法，而非全部交由一個Docker的daemon去管，透過daemonless的特性迴避單點故障。Quadlets讓Podman容器與Linux系統融合，方便以systemctl指令管理，這樣能夠更靈活的使用Systemd的target，搭配PartOf=、BindsTo=處理一系列服務之間的依賴關係。還能設定開機自動在特定的target之後跟著啟動Podman容器服務。還可以自動讓Podman更新容器的映像檔。\n依照Quadlets的概念，如果一個docker-compose.yml檔案有多個容器服務，則他們會被拆分成多個Systemd的服務檔(service unit)。一個服務檔裡面定義該容器的環境變數、卷宗、網路設定、隸屬於哪一個Pod、自動更新策略、依賴哪個容器才能啟動的關係。\n但是，yaml跟Systemd的格式根本不同，要將規則手動轉換感覺好麻煩喔？所幸我們有一個叫做「Podlet」的工具能夠自動轉換。它會讀取docker-compose.yml，並生成Systemd服務檔。這對於遷移現有的docker-compose十分有幫助。\nPodlet用於取代已經棄用的podman generate systemd。\n1. 安裝Podlet # Fedora直接從套件庫安裝：sudo dnf install podlet\nUbuntu 24.04尚未收錄Podlet安裝套件，所以就直接從Github下載二進位檔，解壓縮放到/usr/bin/local/\nwget https://github.com/containers/podlet/releases/download/v0.3.0/podlet-x86_64-unknown-linux-gnu.tar.xz tar -xvf podlet-x86_64-unknown-linux-gnu.tar.xz chmod +x podlet-x86_64-unknown-linux-gnu/podlet sudo mv podlet-x86_64-unknown-linux-gnu/podlet /usr/bin/local/podlet 2. 將docker-compose.yml轉成Quadlets # 指令用法： podlet [選項] [指令] podlet允許根據映像檔、容器、容器網路，還有docker-compose.yml產生對應的Systemd service unit。\n這裡我們只使用轉換docker-compose.yml的指令。將一份docker-compose.yml放置到目前的工作目錄：\nmkdir -p ~/apache/html vim docker-compose.yml 填入一個簡單的Apache容器服務範本 services: web: # 這個名稱將會成為.container服務檔名稱 image: docker.io/library/httpd:latest ports: - \u0026#34;80:80\u0026#34; volumes: - /home/user/apache/html:/usr/local/apache2/htdocs/ 開始轉換，Podlet會檢查不相容的部份並給出警告。如果只有一個容器，就只會建立一個.container檔案。多個服務就會自動拆成多個。 # 自動建立.container的服務檔，並允許開機自動啟動 podlet -u -i compose # 只輸出服務檔寫法，不建立檔案 podlet compose Podman預設應該會將.container檔案放到~/.config/containers/systemd/，所以要重新載入Systemd systemctl --user daemon-reload 我們可以用quadlet指令檢查各個Systemd服務檔是否合法 /usr/libexec/podman/quadlet -dryrun -user 然後，以systemctl啟動Podman容器。Podman Quadlets沒辦法用docker compose pull拉取容器，所以得用podman pull，或者讓它在啟動的時候自動拉取 systemctl --user start web 要設定開機自動啟動不是使用systemctl --user enable，而是看.container服務檔裡面有沒有以下內容： [Install] WantedBy=default.target 如果要讓Systemd自動更新Podman容器映像檔，在.container服務檔加入以下內容： [Container] AutoUpdate=registry 再使用以下指令啟用自動更新Podman映像檔的服務：\nsystemctl --user enable podman-auto-update.service 我們可以同時用podman以及systemctl的相關指令來操控這個容器 systemctl --user status web podman ps 3. 一些Quadlets的注意事項 # 在轉換docker-comose.yml前需要注意：使用的映像檔鍵值image:要寫出完整網址。例如image: docker.io/library/httpd:latest。不然Podman會不知道從哪裡拉取映像檔。Podman不像Docker默認你是從docker.io拉取，它有很多網站可選。\n關於Quadlets的服務檔，應該要放在系統目錄/etc/containers/systemd/還是使用者目錄~/.config/containers/systemd/？Podlet預設是選擇後者，加強安全性，不過rootless容器可能會有一些權限問題，要修改一些SELinux設定。特權容器的話要在.container檔加入PodmanArgs=--privileged。如果還是遇到權限問題，就用rootful容器，將其放到/etc/containers/systemd/。\n使用者登出的時候，Podman容器可能會跟著被停止。要登出後仍繼續執行容器服務，使用這個指令：\nloginctl enable-linger \u0026lt;使用者名稱\u0026gt; 對於rootless的Podman容器來說，需要使用net.ipv4.ip_unprivileged_port_start才可以存取1024以下的通訊埠： echo \u0026#34;net.ipv4.ip_unprivileged_port_start=80\u0026#34; | sudo tee -a /etc/sysctl.conf sudo sysctl -p Podman每個容器之間的網路是彼此隔離的，如果兩個容器之間依賴Docker內部的DNS通訊（例如需要存取資料庫），你可能要寫一個Pod，或者建立一個Podman Network，將兩個容器使用同一個Network Namespace，容器之間才能連線。使用Pod的好處是可以將多個容器組合在一起，停止一個Pod之後，相關的容器都會跟著停止，而不用手動寫Systemd的依賴關係。\n有時候你會覺得與其依賴Podlet轉換，還不如自己根據docker-compose.yml的邏輯，自行重寫Systemd服務檔。\n4. 多容器實際操作案例：將Immich以Quadlets部署 # 目前自架相簿服務Immich官方尚未有關於Podman的安裝指示，只有docker-compose.yml。它定義了4個容器服務，這正好適合測試一下Quadlets。\n以下內容參考自jbtrystram/immich-podman-systemd，測試當下版本是v137.3。注意我是手動轉的，不想知道原理的可以直接用這個儲存庫的版本。\n放置.container的目錄可以針對每個Quadlets新增一個目錄，這樣就能放環境變數檔案。 mkdir -p ~/.config/containers/systemd/immich/ cd ~/.config/containers/systemd/immich/ 取得Immich官方提供的docker-compose.yml，轉換為Quadlets，存在目前目錄，應該會得到四個.container檔案。因為Immich的docker-compose.yml使用了環境變數，所以會轉換失敗，要手動刪掉$開頭的環境變數的部份。 wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml podlet -f -i compose 新增環境變數檔案，在immich.env裡面填入偏好的設定 wget -O immich.env https://github.com/immich-app/immich/releases/latest/download/example.env 因為容器之間需要通訊，得共享網路，新增一個Network： podman network create immich-net 環境變數是含有Immich主服務的容器要讀取的，故編輯immich-server.container，填入[Containers] EnvironmentFile=immich.env。\n在所有的.container檔案裡面填入[Containers] Network=immich-net代表它們使用同一個網路。\n確認各個Systemd服務的啟動順序，依照Immich的設計邏輯，應該是資料庫容器先啟動完成之後才啟動網頁伺服器容器，所以我只要啟動immich-server，它所依賴的服務就會跟著先啟動。且我希望停止immich-server這個服務後，其他服務也要跟著自動停止。所以四個檔案的啟動邏輯關係如下：\n# immich-server.container [Unit] Wants=immich-redis.service immich-database.service immich-machine-learning.service After=immich-redis.service immich-database.service immich-machine-learning.service # immich-redis.container [Unit] PartOf=immich-server.service # immich-database.container [Unit] PartOf=immich-server.service # immich-machine-learning.container [Unit] PartOf=immich-server.service 修正剩下.container檔案裡面的volume路徑。\n用quadlet指令檢查各個Systemd服務檔是否合法\n/usr/libexec/podman/quadlet -dryrun -user 透過Pod啟動全部的Immich服務，它應該會將依賴的服務一併啟動。 systemctl --user start immich-server 5. 用圖形界面管理Quadlets服務 # 這樣講有點怪，應該沒有人想用圖形介面管理Linux的Systemd服務的吧？大部分都是用指令編輯，但就是有這種需求。桌面方案有Systemd Pilot，網頁有Cockpit的方案，OpenSUSE用戶可以嘗試YaST。\n專門為Podman設計的Podman Desktop更是有專門的GUI編輯選項。安裝完Quadlets的擴充套件後，就能列出Linux系統上的各個Pod狀況。 這樣一來，Podman Desktop圖形介面就能協助管理系統上的容器服務。只不過Quadlets的作法就變成更Linux-orientedㄌ，畢竟需要Systemd，對在其他作業系統跑容器服務的用戶來說可能會多一些學習成本。\n","date":"2025年8月5日","externalUrl":null,"permalink":"/posts/migrate-from-docker-compose-to-podman-quadlets/","section":"所有文章","summary":"要同時跑多個容器服務，我們通常會寫一個docker-compose.yml，將每個服務的屬性都定義好，然後透過docker compose up指令啟動。\n在Podman，要達成這個作法，有兩種方式：\npodman-compose：相容docker-compose的指令，用法類似，讀取yaml檔啟動容器服務，幾乎是一條podman compose up就能轉換過來。注意不要跟podman play kube搞混，後者需要使用Kubernetes的yaml格式。 Podman Quadlets：在Podman 4.4加入的功能，將docker-compose的內容修改為符合Systemd服務檔，將Podman容器服務變成Systemd服務的概念。這已經跟原本的docke-compose的yaml是不同語言了，需要自行改寫成Systemd語法。 本文Ivon討論第二種，以Podman Quadlets來跑多個服務的作法，將docker-compose.yml轉換到Podman Quadlets。 這張圖片使用ComfyUI + illustriousXL生成並做一些修改\n據說Podman Quadlets的名字來源是將Kubernetes切成兩半，由8變成4，也就是扁平化後的Kubelet。意思是試圖用Systemd簡化管理容器的程序。\n","title":"Podlet：將docker-compose轉成Podman Quadlets，以Systemd管理容器","type":"posts"},{"content":"崇拜是離理解最遙遠的距離。\n你看到有人po了你感興趣的話題，點下去個人檔案一看，發現對方對政治議題的看法迥然不同，就產生「哇這個人好壞喔，可惜了他在XX方面多有建樹」然後忐忑不安，覺得追蹤的意願下降了。\n這種狀況履見不鮮。\n你不能要求你欣賞的人一定要跟你「三觀」一樣正才值得follow。很多時候你以為三觀正代表說，這個人是好人；但其實你只想找一個跟你一樣，臭味相投的人。\n總覺得在台灣，從國會改革法案到大罷免大成功，政治造成的撕裂都在越來越嚴重。或者說，世界上許多國家都是這樣。只要有人類存在，就會有紛爭。不管你是棋手，還是被利用的棋子，都是造成無盡的悲劇。\n先說，我蠻反感「國仇家恨」「勢不兩立」的歷史觀的，好好學習歷史，讀遍各方說法，知道發生了那些事情的悲劇之後，為的就是讓過去的錯誤不再發生。\n章魚哥：你有沒有注意到他們已經都不存在了.jpg。 可有些人總喜歡煽動仇恨，用意識形態合法化自己的重蹈覆轍式的、迫害報復行為，哪來的轉型正義可言呢。發現一些minorities怎麼就愛抱團呢，minorities族群會找同樣是minorities族群的人在一起，比如支持台獨，可能還會支持LGBT，反對核能發電，然後支持其他文青喜愛的政治正確議題，當個星巴克社會主義者，蔚為風尚。切！我才不要搞這種身份政治。貓會獨立的生活，不像野狗會成群結隊！每個人的政治座標系不一樣，看事情角度不同，沒有絕對中立的人，所以在某個議題下面發表「終於有正常人出現了」更多時候是在拐彎抹角的說「終於有跟我同一掛的人出現了」。\n話說回來，我承認過去一年我對政黨的支持有些極端了。在自己的同溫層待久了，發覺到這邊也有些人很極端，整天叫囂要物理消滅對方的。覺得黨內的領導就是對的，只要你不夠大尾，就沒有質疑黨的路線的資格，是XX同路人。\n有時會想著「啊，原來，根本沒有牆內牆外的差別」\n是該放下一些成見。我想，就算政治立場不同，在科技議題方面有高度愛好偏向性，頻率相近的用戶，還是有機會做朋友的。至少在網路社群媒體上我能夠盡量做到這點，不要落入「青鳥都是腦殘，所以不要認真與之溝通」的想法，儘管我的同溫層偏愛這種講法，因為二分法在感性上處理要容易得多。\n在法國學習過Parrhesia哲學精神的NGO工作者褚士瑩曾說：「那些喜歡不斷以自己的民族，這個百萬人都有的身份自豪的人，大概是自己身上沒有任何值得驕傲的事物吧！而喜歡嘲笑其他民族的人，除對自己民族沒自信外，對自己亦無自信。」\n但我願不願意花時間與異溫層是溝通是另一回事，面對極具侮辱性的留言回覆，我不下意識地辱罵回去，只是狗咬狗而已。不妨想著：「你要可憐他，沒人教他們」的道理會讓自己好過些。儘管這種想法仍帶有一絲自負，因為這好像在暗示自己本來就是對的。 嗯嗯，要求人們在社群媒體上不情緒化的發言太難了，包括我自己，要三省吾身再發文用起來就會不愉快，很多人只是想在小圈圈發洩情緒。一旦帶入觀點，所有的資訊來源就會被扭曲，導致偏見的產生。但願人們都能夠理解什麼是幽默玩笑，什麼是人身攻擊。\n故，就算看到一些深綠、深紅、極右翼老保、反woke、仇視民眾黨，只要是有某方面專擅的科技大佬，我還是會在Thread、Mastodon、Twitter追蹤並與之互動（眾所皆知這裡同溫層非常之厚），即使，他們老轉發一些側翼的文章卻沒有寫出自己的想法。理解到在政治領域之外，那些人也是有血有肉的存有，有他們自己的故事存在，並不總是絕對惡，或者沒有一個是無辜的吧。知道事情的兩面性不是絕對的善與惡，就不會被他人牽著鼻子走。\n「科學家們為了人類好，互相想要毀滅對方，但是他們也是有妻子小孩的人」 但，現實情況就很難了，遇過不少活生生的例子，政治立場不同就斷絕關係的。因為有些人對政治癲狂，就會產生政治傾向等於人格的偏見，從而否定整個人的存在，甚至拒絕互相往來。\n類似宗教戰爭吧，相信經歷過「生長在深藍/深綠家庭，卻抱有對與群體不同想法」的人懂得我的意思。\n可能人人都是以為自己不是紅衛兵，但現實是人人可能都是紅脖子，被虛幻的所蒙蔽視野。我不要那樣，讓仇恨主宰我的內心。\n書上說：「要愛你們的敵人，為迫害你們的人禱告」\n不要讓單一宗教或者政黨的意識形態作為唯一的最高指導原則。這大概是我不想相信一神教宗教的緣故，為這會否定其他可能性。此外，將「民主」或者「共產」當作一種不可撼動的信仰也是一種危險的思維。說我們信仰民主，實則是在為自己的思考不作為找個藉口。\n美國作家Sally Kohn在《逆轉恨意》(The Opposite of Hate) 一書中說道：「恨的相反也不是某種冷靜中立派的籠統中間地帶。你還是可以保有自己強烈的信念，同時強烈反對其他人的信念。但面對與你意見不同的人，依舊以禮相待，尊重對方。最終來說，恨的相反是強而有力的美好現實──我們人類全都是在根本上相連與平等。恨的相反是連結。\u0026hellip;\u0026hellip;我們需要變得對自身的恨更有意識，而且是所有的形式、所有的人，並努力去掌握和挑戰自己的觀念與認知。在此同時，假如我們想要阻止社會上的恨，我們就必須支持把我們聚集在一起、而不是使我們分裂的政策和體制。」\n在將他人非人化的攻擊之前，首先請先學會將他人當作一個人看待。儘管我不太可能輕易改變立場，但我願意聽聽你的故事。\n「不管你是福佬外省　原住民　客家人 不管伊是芋仔蕃薯　在地還是客人 今晚咱要跳舞　唸歌不分你和我」 就算遭受再多的白眼、嘲諷、辱罵、誤解、仇恨、痛苦、責難，我也不會放棄追求更多的可能性。\n","date":"2025年8月4日","externalUrl":null,"permalink":"/posts/2025080401/","section":"Politics","summary":"崇拜是離理解最遙遠的距離。\n你看到有人po了你感興趣的話題，點下去個人檔案一看，發現對方對政治議題的看法迥然不同，就產生「哇這個人好壞喔，可惜了他在XX方面多有建樹」然後忐忑不安，覺得追蹤的意願下降了。\n這種狀況履見不鮮。\n你不能要求你欣賞的人一定要跟你「三觀」一樣正才值得follow。很多時候你以為三觀正代表說，這個人是好人；但其實你只想找一個跟你一樣，臭味相投的人。\n總覺得在台灣，從國會改革法案到大罷免大成功，政治造成的撕裂都在越來越嚴重。或者說，世界上許多國家都是這樣。只要有人類存在，就會有紛爭。不管你是棋手，還是被利用的棋子，都是造成無盡的悲劇。\n先說，我蠻反感「國仇家恨」「勢不兩立」的歷史觀的，好好學習歷史，讀遍各方說法，知道發生了那些事情的悲劇之後，為的就是讓過去的錯誤不再發生。\n章魚哥：你有沒有注意到他們已經都不存在了.jpg。 可有些人總喜歡煽動仇恨，用意識形態合法化自己的重蹈覆轍式的、迫害報復行為，哪來的轉型正義可言呢。發現一些minorities怎麼就愛抱團呢，minorities族群會找同樣是minorities族群的人在一起，比如支持台獨，可能還會支持LGBT，反對核能發電，然後支持其他文青喜愛的政治正確議題，當個星巴克社會主義者，蔚為風尚。切！我才不要搞這種身份政治。貓會獨立的生活，不像野狗會成群結隊！每個人的政治座標系不一樣，看事情角度不同，沒有絕對中立的人，所以在某個議題下面發表「終於有正常人出現了」更多時候是在拐彎抹角的說「終於有跟我同一掛的人出現了」。\n","title":"不因政治立場的不同就否定他人的人格，甚至拒絕往來","type":"politic"},{"content":" Os-tanファミリーにまた一人追加だ。今回は企業主導のプロジェクトである。日本のIT企業CybertrustがAlmaLinux向けにオペレーティングシステム擬人化マスコットを出していたことを、今になって知った。名前はアルマちゃん（あるまちゃん）で、画像ライセンスはCC BY-SA 4.0を採用している。 ちょうど日本では最近、《アルマちゃんはかぞくになりたい》というロボット新番がある。これと混同しないように。まあ、ロボット妹と家族になるのも悪くないけど。 公式サイト サイバートラスト AlmaLinux 広報キャラクター「あるまちゃん」 が提供する設定によれば、彼女は前世の妹を探すため、Alma星からUFOに乗ってやって来たが、システム故障により故郷へ帰れなくなった。彼女は信頼性が非常に高いAlmaLinuxシステムを使ってUFOを修理しようとしている。奇跡ちゃん（みらくるちゃん）は彼女の前世の妹だ！\nここでいう奇跡ちゃんとはMiracle Linuxのことで、日本のCybertrustがメンテナンスするRHEL派生ディストリビューションであり、すでに22年の歴史がある。 ではRocky Linuxは何なのか？悪役令嬢担当？いや違う\u0026hellip;ラスボスは万悪のRHELで、CentOSはすでに遠くなった理想郷だ。\nCybertrust公式はアルマちゃんの設定にもとづいて漫画《あるまちゃんの冒険》を公開している。これらの動向はTwitterアカウントみらくるちゃん \u0026amp; あるまちゃん【MIRACLE LINUX ＆ AlmaLinux】で追える。\n公式サイト みらくるちゃん\u0026amp;カーネルくん では美しい壁紙とかわいい漫画が提供されている。この「カーネルくん」という名前のペンギンこそ、Linux各ディストリビューションの共通言語だ～ ここでは自由ソフトウェアの概念もいくつか言及されている。Open Source Program Officeを含み、企業が自由ソフトウェアを推進するための専門部署を設けることは、世界共通の標準的なやり方と言える。彼らは自由ソフトウェアの普及について、かなり心得があることがわかる！ ","date":"2025年8月3日","externalUrl":null,"permalink":"/ja-jp/posts/almalinux-alma-chan/","section":"Foss-Issues","summary":" Os-tanファミリーにまた一人追加だ。今回は企業主導のプロジェクトである。日本のIT企業CybertrustがAlmaLinux向けにオペレーティングシステム擬人化マスコットを出していたことを、今になって知った。名前はアルマちゃん（あるまちゃん）で、画像ライセンスはCC BY-SA 4.0を採用している。 ちょうど日本では最近、《アルマちゃんはかぞくになりたい》というロボット新番がある。これと混同しないように。まあ、ロボット妹と家族になるのも悪くないけど。 公式サイト サイバートラスト AlmaLinux 広報キャラクター「あるまちゃん」 が提供する設定によれば、彼女は前世の妹を探すため、Alma星からUFOに乗ってやって来たが、システム故障により故郷へ帰れなくなった。彼女は信頼性が非常に高いAlmaLinuxシステムを使ってUFOを修理しようとしている。奇跡ちゃん（みらくるちゃん）は彼女の前世の妹だ！\nここでいう奇跡ちゃんとはMiracle Linuxのことで、日本のCybertrustがメンテナンスするRHEL派生ディストリビューションであり、すでに22年の歴史がある。 ではRocky Linuxは何なのか？悪役令嬢担当？いや違う…ラスボスは万悪のRHELで、CentOSはすでに遠くなった理想郷だ。\n","title":"AlmaLinuxオペレーティングシステム擬人化：あるまちゃん","type":"foss-issues"},{"content":"","date":"2025年8月3日","externalUrl":null,"permalink":"/ja-jp/tags/red-hat-enterprise-linux/","section":"Tags","summary":"","title":"Red Hat Enterprise Linux","type":"tags"},{"content":"","date":"2025年8月2日","externalUrl":null,"permalink":"/tags/docker/","section":"標籤","summary":"","title":"Docker\"","type":"tags"},{"content":"Docker十分依賴Linux核心的功能才能運作，無法直接在其他作業系統使用，FreeBSD也不例外。根據FreeBSD Wiki，過去曾有人試圖移植Docker到FreeBSD，但是安裝十分麻煩，且相關套件長期缺乏維護，現在FreeBSD 14的docker-freebsd套件處於不可用狀態。因此FreeBSD跟macOS一樣，需要套一層虛擬機才能跑Docker。比如基於bhyve的Dockerbox，是比Virtualbox更快更輕量的方案。\n但問題是，都要使用容器技術了，自然是不想要再套一層虛擬機執行，導致產生更多延遲的啊！雖然FreeBSD有行之有年的chroot Jail容器化技術，不過他們畢竟還是跟Docker差距甚大。\n此時，我發現Podman有移植到FreeBSD的原生套件可以用。\nPodman是跟Docker十分接近的容器化技術，由RedHat主導開發，除了指令很像之外，也幾乎相容Docker的映像檔，提供類似docker compose與docker build的工具。因此Poman應可作為Docker的替代。\n根據Podman官方文件，目前FreeBSD 14.0的Podman尚處於實驗性狀態，應小心評估使用。\n1. 安裝Podman # 從套件庫安裝Podman與Podman compose sudo pkg install podman-suite py311-podman-compose 設定開機自動掛載fdescfs，編輯/etc/fstab加入以下內容 fdesc /dev/fd fdescfs rw 0 0 （選擇性）設定Podman容器服務開機自動啟動，但這不會讓podman compose的容器也跟著自動啟動。 sudo service podman enable 調整Podman網路設定，用ifconfig列出所有網路介面\n有啟用PF防火牆的話，編輯pf設定檔/etc/pf.conf，將網路介面填入，並允許連線到localhost\nv4egress_if=re0 v6egress_if=re0 # 放在set與pass中間 nat-anchor \u0026#34;cni-rdr/*\u0026#34; 啟用net.pf.filter_local=1，允許從容器主機導向到容器內服務的連線 echo \u0026#39;net.pf.filter_local=1\u0026#39; | sudo tee -a /etc/sysctl.conf.local 用ZFS建立存放映像檔的儲存池，所有映像檔會儲存在此 zfs create -o mountpoint=/var/db/containers zroot/containers 重開機。\n測試跑Hello World容器。目前FreeBSD版Podman不支援rootless模式，所以執行一律要加sudo。\nsudo podman run --rm docker.io/dougrabson/hello 2. 部署FreeBSD容器 # 是的，FreeBSD官方有推出Docker版的runtime映像檔，達成類似chroot Jail的效果。\n部署FreeBSD官方映像檔：\nsudo podman run -it docker.io/freebsd/freebsd-runtime:14.snap #pkg update 3. 部署Linux容器 # 必須先安裝Linuxulator相容層才可以跑Linux容器。\n接著拉執行一個Alpine Linux的容器，os需要指定為linux\nsudo podman run --rm --os=linux docker.io/library/alpine cat /etc/os-release | head -1 如果要用docker-compose，新增一個podman-compose.yml，填入以下內容 name: httpd services: apache: image: docker.io/library/httpd:latest container_name: my-apache-app ports: - \u0026#39;8080:80\u0026#39; volumes: - ./html:/usr/local/apache2/htdocs 拉取容器映像檔，並啟動容器 sudo podman pull docker.io/library/httpd:latest --os=linux sudo podman compose up -d 參考資料 # Installing on FreeBSD 14.0 - Podman Documentation Docker - FreeBSD Wiki ","date":"2025年8月2日","externalUrl":null,"permalink":"/posts/freebsd-podman/","section":"所有文章","summary":"Docker十分依賴Linux核心的功能才能運作，無法直接在其他作業系統使用，FreeBSD也不例外。根據FreeBSD Wiki，過去曾有人試圖移植Docker到FreeBSD，但是安裝十分麻煩，且相關套件長期缺乏維護，現在FreeBSD 14的docker-freebsd套件處於不可用狀態。因此FreeBSD跟macOS一樣，需要套一層虛擬機才能跑Docker。比如基於bhyve的Dockerbox，是比Virtualbox更快更輕量的方案。\n但問題是，都要使用容器技術了，自然是不想要再套一層虛擬機執行，導致產生更多延遲的啊！雖然FreeBSD有行之有年的chroot Jail容器化技術，不過他們畢竟還是跟Docker差距甚大。\n此時，我發現Podman有移植到FreeBSD的原生套件可以用。\nPodman是跟Docker十分接近的容器化技術，由RedHat主導開發，除了指令很像之外，也幾乎相容Docker的映像檔，提供類似docker compose與docker build的工具。因此Poman應可作為Docker的替代。\n根據Podman官方文件，目前FreeBSD 14.0的Podman尚處於實驗性狀態，應小心評估使用。\n1. 安裝Podman # 從套件庫安裝Podman與Podman compose sudo pkg install podman-suite py311-podman-compose 設定開機自動掛載fdescfs，編輯/etc/fstab加入以下內容 fdesc /dev/fd fdescfs rw 0 0 （選擇性）設定Podman容器服務開機自動啟動，但這不會讓podman compose的容器也跟著自動啟動。 sudo service podman enable 調整Podman網路設定，用ifconfig列出所有網路介面\n","title":"在FreeBSD安裝Podman，跑Docker容器的映像檔","type":"posts"},{"content":"在FreeBSD掛載其他作業系統的硬碟。\n1. 安裝對應檔案系統的套件 # FreeBSD可能認不到其他檔案系統，所以需要安裝這些套件：\nfusefs-ntfs：NTFS檔案系統 fusefs-ext2：EXT4檔案系統 fusefs-exfat：exFAT檔案系統 fusefs-lkl：使用Linux核心支援的檔案系統，包括EXT4與BTRFS。使用lklfuse -o \u0026lt;filesystem type\u0026gt;指令掛載。非必要的話不要用這個，有問題。儘管它宣稱能夠支援BTRFS與EXT4，但是會卡住，且檔案管理器看不到掛載的路徑？ 2. 設定FUSE套件 # 安裝完成FUSE套件，需要啟用開機載入FUSE模組 sudo kld_list+=\u0026#34;fusefs\u0026#34; 並允許一般使用者掛載FUSE echo \u0026#39;vfs.usermount=1\u0026#39; | sudo tee -a /etc/sysctl.conf 如果需要LVM，就設定開機載入 sudo pkg install lvm2 sudo sysrc lvm_enable=\u0026#34;YES\u0026#34; echo \u0026#39;geom_linux_lvm_load=\u0026#34;YES\u0026#34;\u0026#39; | sudo tee -a /boot/loader.conf 3. 掛載硬碟，以EXT4為例 # 使用sudo gpart show指令列出所有硬碟分區\n使用sudo file /dev/adap2指令查看硬碟分區的檔案系統\n建立掛載點\nmkdir /media/HDD 用fusefs開頭的程式掛載 sudo fuse-ext2 -o rw+ -o allow_other /dev/ada1p2 /media/HDD/ 視權限的不同，有些硬碟掛載後可能要手動chmod改權限。不然的話就只有透過sudo執行的檔案管理器能查看掛載硬碟的內容。 4. 掛載Linux LVM的分區 # 沒有什麼特別的，就看LVM的分區用的檔案系統\n舉例：\nsudo fuse-ext2 -o rw+ -o allow_other /dev/linux_lvm/ubuntu-vg-ubuntu-lv /media/lvm/ 5. 開機自動掛載硬碟 # 編輯/etc/fstab/，設定自動掛載規則。\n使用sudo gpart show和file /dev/adX指令列出所有硬碟分區和UUID。\n這裡我使用UUID為基準來開機，指定掛載點，並用ext2fs掛載EXT4檔案系統。範例如下\nUUID=\u0026#34;dc6526df-0716-49d1-9674-2eb91e9d85e2\u0026#34; /media/HDD/ ext2fs default 0 0 參考資料 # Mount LVM partitions in FreeBSD - Technicus BTRFS read write on freeBSD: It is possible, and works well - piusbird ","date":"2025年8月2日","externalUrl":null,"permalink":"/posts/freebsd-mount-fusefs/","section":"所有文章","summary":"在FreeBSD掛載其他作業系統的硬碟。\n1. 安裝對應檔案系統的套件 # FreeBSD可能認不到其他檔案系統，所以需要安裝這些套件：\nfusefs-ntfs：NTFS檔案系統 fusefs-ext2：EXT4檔案系統 fusefs-exfat：exFAT檔案系統 fusefs-lkl：使用Linux核心支援的檔案系統，包括EXT4與BTRFS。使用lklfuse -o \u003cfilesystem type\u003e指令掛載。非必要的話不要用這個，有問題。儘管它宣稱能夠支援BTRFS與EXT4，但是會卡住，且檔案管理器看不到掛載的路徑？ 2. 設定FUSE套件 # 安裝完成FUSE套件，需要啟用開機載入FUSE模組 sudo kld_list+=\"fusefs\" 並允許一般使用者掛載FUSE echo 'vfs.usermount=1' | sudo tee -a /etc/sysctl.conf 如果需要LVM，就設定開機載入 sudo pkg install lvm2 sudo sysrc lvm_enable=\"YES\" echo 'geom_linux_lvm_load=\"YES\"' | sudo tee -a /boot/loader.conf 3. 掛載硬碟，以EXT4為例 # 使用sudo gpart show指令列出所有硬碟分區\n使用sudo file /dev/adap2指令查看硬碟分區的檔案系統\n建立掛載點\nmkdir /media/HDD 用fusefs開頭的程式掛載 sudo fuse-ext2 -o rw+ -o allow_other /dev/ada1p2 /media/HDD/ 視權限的不同，有些硬碟掛載後可能要手動chmod改權限。不然的話就只有透過sudo執行的檔案管理器能查看掛載硬碟的內容。 4. 掛載Linux LVM的分區 # 沒有什麼特別的，就看LVM的分區用的檔案系統\n","title":"FreeBSD透過FUSE掛載BTRFS、EXT4、NTFS硬碟","type":"posts"},{"content":"","date":"2025年8月2日","externalUrl":null,"permalink":"/tags/fusefs/","section":"標籤","summary":"","title":"FUSEFS","type":"tags"},{"content":"","date":"2025年8月1日","externalUrl":null,"permalink":"/minecraft/","section":"Minecrafts","summary":"","title":"Minecrafts","type":"minecraft"},{"content":"本文Ivon討論的是在FreeBSD玩Minecraft遊戲，並非架設Minecraft伺服器。\nFreeBSD有Java支援，要玩Minecraft 應該是很簡單的。 1. 使用官方啟動器？ # Minecraft官方只提供Linux安裝包，沒有提供FreeBSD套件，不過社群有人移植。\n這裡來自FreshPort的移植套件：minecraft-client\n可惜沒人維護，所以掛了。\n不提供二進制檔，要自己編譯。\n2. 使用Prism Launcher # 這是很熱門的第三方啟動器，支援啟動多版本Minecraft實例，對玩模組的人來說很方便。\n官網：Prism Launcher. An open source Minecraft launcher with the ability to manage multiple instances, accounts and mods. Focused on user freedom and free redistributabilit.y\nPrism Launcher現已加入FreeBSD套件庫，直接安裝即可 sudo pkg install games/prism-launcher 依照Minecraft版本安裝Java，例如Minecraft 1.21需要OpenJDK 21 sudo pkg install openjdk21 安裝OpenJDK後可能要在/etc/fstab/加入以下內容，重開機，才能正常運作 proc /proc procfs rw 0 0 啟動Prism Launcher，選取預設Java版本 依照指示登入正版Minecraft帳號的Microsoft帳號\n點選新增實例，開始遊戲 ","date":"2025年8月1日","externalUrl":null,"permalink":"/posts/minecraft-on-freebsd/","section":"Minecrafts","summary":"本文Ivon討論的是在FreeBSD玩Minecraft遊戲，並非架設Minecraft伺服器。\nFreeBSD有Java支援，要玩Minecraft 應該是很簡單的。 1. 使用官方啟動器？ # Minecraft官方只提供Linux安裝包，沒有提供FreeBSD套件，不過社群有人移植。\n這裡來自FreshPort的移植套件：minecraft-client\n可惜沒人維護，所以掛了。\n不提供二進制檔，要自己編譯。\n2. 使用Prism Launcher # 這是很熱門的第三方啟動器，支援啟動多版本Minecraft實例，對玩模組的人來說很方便。\n官網：Prism Launcher. An open source Minecraft launcher with the ability to manage multiple instances, accounts and mods. Focused on user freedom and free redistributabilit.y\nPrism Launcher現已加入FreeBSD套件庫，直接安裝即可 sudo pkg install games/prism-launcher 依照Minecraft版本安裝Java，例如Minecraft 1.21需要OpenJDK 21 sudo pkg install openjdk21 安裝OpenJDK後可能要在/etc/fstab/加入以下內容，重開機，才能正常運作 proc /proc procfs rw 0 0 啟動Prism Launcher，選取預設Java版本 依照指示登入正版Minecraft帳號的Microsoft帳號\n","title":"在FreeBSD玩當個創世神(Minecraft)，使用Prism Launcher","type":"minecraft"},{"content":"","date":"2025年8月1日","externalUrl":null,"permalink":"/tags/grub/","section":"標籤","summary":"","title":"GRUB","type":"tags"},{"content":"Add custom GRUB entries in Linux to boot different operating systems installed on separate disks, each having its own EFI partition.\n問題點：如果有多個硬碟，分別安裝多個不同的作業系統，且各自帶有一個EFI分區，如何在GRUB開機選單加入其他系統的開機選項？\n舉例：\n硬碟1安裝Ubuntu 硬碟2安裝Windows 硬碟3安裝FreeBSD 這三個硬碟各自帶有一個EFI分區，這樣的好處是能夠各自獨立開機，且不用擔心某個系統更新蓋掉EFI分區。\n但是預設使用Ubuntu開機的情況下，GRUB是偵測不到另外二個系統的！正常情況下GRUB有GRUB_DISABLE_OS_PROBER=false能自動偵測其他系統EFI並加入開機選單，但這裡沒辦法。\nIvon希望可以在GRUB的開機選單，選擇要開機進入哪一個系統。\n如圖所示，用Ubuntu的GRUB引導所有系統開機： 電腦開機的時候應該會看到GRUB的選單列出不同硬碟上的作業系統（主題另購）： 這個時候得手寫規則加入，自訂GRUB的menu entry。\n1. 列出所有硬碟的EFI分區 # GRUB開機需要告訴它要到哪裡找到EFI，我使用最簡單的根據分區的UUID來尋找。這樣就不用寫複雜的(hd0,gpt1)語法了。\n用Ubuntu系統開機\n使用blikd指令取得所有硬碟的資訊\nsudo blkid 我們關心的是EFI分區的UUID，所以只要看分區類型是vfat的就可以了。 sudo blkid | grep vfat 範例輸出： # Linux的EFI /dev/sda1: UUID=\u0026#34;18DF-5A70\u0026#34; BLOCK_SIZE=\u0026#34;512\u0026#34; TYPE=\u0026#34;vfat\u0026#34; PARTUUID=\u0026#34;2402bc09-540b-48df-b8e3-94b01834a808\u0026#34; # Windows的EFI /dev/sdb1: UUID=\u0026#34;F7BB-8172\u0026#34; BLOCK_SIZE=\u0026#34;512\u0026#34; TYPE=\u0026#34;vfat\u0026#34; PARTLABEL=\u0026#34;Basic data partition\u0026#34; PARTUUID=\u0026#34;def0b2f8-d878-4381-906e-eb527a0b8e56\u0026#34; # FreeBSD的EFI /dev/sdc1: SEC_TYPE=\u0026#34;msdos\u0026#34; UUID=\u0026#34;810D-AF9A\u0026#34; BLOCK_SIZE=\u0026#34;512\u0026#34; TYPE=\u0026#34;vfat\u0026#34; PARTLABEL=\u0026#34;efiboot0\u0026#34; PARTUUID=\u0026#34;6c3ab213a-941e-4125-8735-4f0245b3c41b\u0026#34; 2. 新增GRUB menu entry # 不要直接在/boot/grub/修改GRUB開機選單。應該編輯GRUB的自訂設定檔，讓GRUB自動更新 sudo vim /etc/grub.d/40_custom 新增以下內容，每個區塊一個menuentry。需要注意分區表是gpt還是msdos。在後面search --no-floppy --fs-uuid --set=root使用EFI分區的UUID當作開機依據 menuentry \u0026#34;Windows\u0026#34; { insmod part_gpt insmod fat search --no-floppy --fs-uuid --set=root F7BB-8172 chainloader /EFI/Microsoft/Boot/bootmgfw.efi } menuentry \u0026#34;FreeBSD\u0026#34; { insmod part_msdos insmod fat search --no-floppy --fs-uuid --set=root 810D-AF9A chainloader /EFI/BOOT/BOOTX64.EFI } 編輯GRUB設定檔 sudo vim /etc/default/grub 啟用偵測其他系統 GRUB_DISABLE_OS_PROBER=false 如果電腦開機的時候看不到GRUB選單與倒數秒數，將以下內容取消註解 GRUB_DEFAULT=0 GRUB_TIMEOUT_STYLE=menu 可以順便啟用記住上次開機選項 GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true 更新GRUB設定 sudo update-grub 重開機，在開機選單用鍵盤方向鍵往下走，就能看到新的menu entry了。 參考資料 # 深入指揮作業系統啟動 詳解GRUB開機管理程式 - 網管人 How to add a GRUB2 menu entry for booting installed Ubuntu on a USB drive? - Ask Ubuntu ","date":"2025年8月1日","externalUrl":null,"permalink":"/posts/grub-multiple-disks-boot/","section":"所有文章","summary":"Add custom GRUB entries in Linux to boot different operating systems installed on separate disks, each having its own EFI partition.\n問題點：如果有多個硬碟，分別安裝多個不同的作業系統，且各自帶有一個EFI分區，如何在GRUB開機選單加入其他系統的開機選項？\n舉例：\n硬碟1安裝Ubuntu 硬碟2安裝Windows 硬碟3安裝FreeBSD 這三個硬碟各自帶有一個EFI分區，這樣的好處是能夠各自獨立開機，且不用擔心某個系統更新蓋掉EFI分區。\n但是預設使用Ubuntu開機的情況下，GRUB是偵測不到另外二個系統的！正常情況下GRUB有GRUB_DISABLE_OS_PROBER=false能自動偵測其他系統EFI並加入開機選單，但這裡沒辦法。\nIvon希望可以在GRUB的開機選單，選擇要開機進入哪一個系統。\n如圖所示，用Ubuntu的GRUB引導所有系統開機： 電腦開機的時候應該會看到GRUB的選單列出不同硬碟上的作業系統（主題另購）： 這個時候得手寫規則加入，自訂GRUB的menu entry。\n1. 列出所有硬碟的EFI分區 # GRUB開機需要告訴它要到哪裡找到EFI，我使用最簡單的根據分區的UUID來尋找。這樣就不用寫複雜的(hd0,gpt1)語法了。\n用Ubuntu系統開機\n","title":"GRUB多硬碟EFI分區，雙系統開機設定方式 (custom grub menu entry)","type":"posts"},{"content":"","date":"2025年7月30日","externalUrl":null,"permalink":"/tags/grand-theft-auto/","section":"標籤","summary":"","title":"Grand Theft Auto","type":"tags"},{"content":"這是一個特殊版本的GTA III。2021年，就在Rockstar準備推出GTA III決定版之前，一群熱情玩家將GTA III系列的遊戲引擎逆向工程，製作了原生Windows、Linux、macOS、FreeBSD、Wii U移植版，令其支援最新版OpenGL，稱作「Re3」「ReVC」「ReLCS」，並免費放在Github上面給大家下載。 現在我可以在Ubuntu上直接玩GTA III，不需要用到Wine啦！ 這個不是\u0026quot;Definitive Edition\u0026quot;，也不是什麼高畫質模組，只能說是社群開源重製版，畫質跟20年前的並無二致。以前GTA III只有Windows版，在Linux得透過Wine轉譯執行。現在Re3讓Linux不需要Wine，點兩下主程式二進位檔就能玩。\n製作這種開源程式的好處是，確保未來的電腦依然能夠遊玩這些古老的遊戲，而不用透過模擬器或虛擬機的方案。並且由於針對各個作業系統優化，效能會比原版的更好。相較Rockstar官方草草移植的GTA III決定版來說，這些開發者做的事情能造福更多玩家！\n根據一些Redditor的說法，原版GTA III、GTA VC、GTA LCS的遊戲程式釋出的時候帶有debug symbol，這是開發者之所以能成功逆向工程的原因。不過GTA SA就沒有這麼幸運了。\nRe3只有將遊戲主程式逆向工程，需要搭配GTA III的原版遊戲資源才能啟動遊戲。這個有點像是開源版紅色警戒OpenRA的作法，修改遊戲的同時又避免直接無斷轉載遊戲美術資源，很怕被遊戲開發商吉吧。\n我是看Arch Wiki和AUR才知道Re3這個專案的存在，我想說這不會有版權問題嗎？果不其然，當年Rockstar知道此事後就發DMCA把Github儲存庫下架了。參考：Take-Two Sues Enthusiasts Behind GTA Fan Projects re3 \u0026amp; reVC - TorrentFreak。\n雖然開發者被告了，現在Internet Archive仍可以找到網友備份的Re3專案。\n警告：Re3版本的遊戲可能會破壞現有遊戲存檔，也不見得相容舊有模組。請做好備份。\n1. Re3遊戲安裝方式 # 目前流傳的版本有Re3、ReVC、ReLCS，安裝過程大同小異。此處以Re3為例。\n準備好GTA III遊戲原版檔案，看是要到Steam購買還是到Internet Archive下載。像我這裡使用2001年發售的Windows版光碟GTA III遊戲目錄，並非2021年的決定版。如果要玩GTA LCS，就得準備PS2光碟裡面的檔案。 註解：因為GTA III是老遊戲了，在新系統可能無法啟動原版光碟的安裝程式。Windows用戶需要啟用相容性模式。至於Linux的用戶得使用32位元的Wine環境，並將Windows模擬版本調整為Windows XP。\n下載這個.rar壓縮檔：RE3 Binaries (Grand Theft Auto III/Vice City/LCS)。這裡面的程式都是針對x86_64架構的電腦編譯的，如果是其他架構的電腦要重新編譯。\n解壓縮後，裡面三個目錄。re3對應GTA III，miami對應GTA VC，lcs對應GTA LCS 點進去目錄會有各個系統的執行檔，例如Linux就是re3-gl3-glfw-oal-linux.zip這個壓縮檔，解壓縮會得到含有re3執行檔的目錄 把這些檔案全部移動到GTA III遊戲目錄，覆蓋對應檔案。然後點兩下re3的執行檔，啟動遊戲。 2. 編譯Re3程式原始碼 # 原本的Github儲存庫已經被下架，現在還有一些fork維護著。\n具體編譯流程參考：Compiling re3/miami on linux - Karel Syrový\n3. 更徹底的重製GTA III？ # 還有一個更徹底的GTA III重製專案叫做OpenRW，目前尚未完成整個遊戲的移植。\n","date":"2025年7月30日","externalUrl":null,"permalink":"/posts/gta-re3/","section":"所有文章","summary":"這是一個特殊版本的GTA III。2021年，就在Rockstar準備推出GTA III決定版之前，一群熱情玩家將GTA III系列的遊戲引擎逆向工程，製作了原生Windows、Linux、macOS、FreeBSD、Wii U移植版，令其支援最新版OpenGL，稱作「Re3」「ReVC」「ReLCS」，並免費放在Github上面給大家下載。 現在我可以在Ubuntu上直接玩GTA III，不需要用到Wine啦！ 這個不是\"Definitive Edition\"，也不是什麼高畫質模組，只能說是社群開源重製版，畫質跟20年前的並無二致。以前GTA III只有Windows版，在Linux得透過Wine轉譯執行。現在Re3讓Linux不需要Wine，點兩下主程式二進位檔就能玩。\n製作這種開源程式的好處是，確保未來的電腦依然能夠遊玩這些古老的遊戲，而不用透過模擬器或虛擬機的方案。並且由於針對各個作業系統優化，效能會比原版的更好。相較Rockstar官方草草移植的GTA III決定版來說，這些開發者做的事情能造福更多玩家！\n根據一些Redditor的說法，原版GTA III、GTA VC、GTA LCS的遊戲程式釋出的時候帶有debug symbol，這是開發者之所以能成功逆向工程的原因。不過GTA SA就沒有這麼幸運了。\n","title":"半開源的免費GTA III遊戲「Re3」，支援Windows / Linux / macOS系統","type":"posts"},{"content":"「San Andreas Unity」是開源社群用Unity3D重寫的《俠盜獵車手：聖安地列斯》，支援多人連線。 提供Linux、Windows、macOS、Android版。\n與其說是重製版，不如說比較像是「GTA SA模擬器」吧。它並非是GTA Re3這種逆向工程原本遊戲的專案。\nSan Andreas Unity沒辦法遊玩故事模式，不能存檔，只能載入遊戲地圖和素材。\n內建許多像是作弊選單的設定，能夠傳送玩家、修改外表、生成載具等等。 因其使用Unity寫成，所以方便用Mono與IL2CPP技術製作模組，例如作者就自己寫了一個死鬥模式的插件。\n它可以當作伺服器執行，方便多名玩家一起遊玩。提供伺服器管理指令。\n1. 安裝San Andreas Unity # 在安裝San Andreas Unity之前，你需要原版GTA SA遊戲檔案才能遊玩，例如到Steam購買，不能使用2021年決定版，要用2004年發售的版本。Internet Archive上面也有很多原版GTA SA遊戲可以下載。 Android版San Andreas Unity同樣也是讀取電腦版GTA SA的檔案，把遊戲檔案複製到Android手機的任意路徑即可。\n到Github下載對應作業系統的執行檔，解壓縮。\n點選SanAndreasUnity.x86_64啟動程式，按Start Game。 初次啟動需要選取GTA SA遊戲檔案所在路徑，才能載入遊戲。按Esc叫出遊戲選單。 2. 多人連線模式 # 第一名玩家先進入遊戲，開放防火牆7777通訊埠。\n這個程式也可以用指令啟動，headless的執行，用來當作主要伺服器，讓同一網路下的其他玩家加入：\n./SanAndreasUnity.x86_64 -batchmode -nographics -startClient: -serverIp:192.168.1.102 -portNum:7777 第二名玩家在程式主選單按下Join Game，選LAN，輸入對方的區域IP:7777加入遊戲。 3. 多人連線有更好選擇 # 不過嘛，我覺得如果單純要玩多人連線，已經有SA-MP SanAndreas Multiplayer這個行之有年的方案啦，2006年就存在了的模組。\n這可以說是窮人版的GTA V Online，專為電腦不好的玩家所設計。\n這個程式的客戶端只有Windows版，Linux需要透過Wine執行。\n","date":"2025年7月30日","externalUrl":null,"permalink":"/posts/san-andreas-unity/","section":"所有文章","summary":"「San Andreas Unity」是開源社群用Unity3D重寫的《俠盜獵車手：聖安地列斯》，支援多人連線。 提供Linux、Windows、macOS、Android版。\n與其說是重製版，不如說比較像是「GTA SA模擬器」吧。它並非是GTA Re3這種逆向工程原本遊戲的專案。\nSan Andreas Unity沒辦法遊玩故事模式，不能存檔，只能載入遊戲地圖和素材。\n內建許多像是作弊選單的設定，能夠傳送玩家、修改外表、生成載具等等。 因其使用Unity寫成，所以方便用Mono與IL2CPP技術製作模組，例如作者就自己寫了一個死鬥模式的插件。\n它可以當作伺服器執行，方便多名玩家一起遊玩。提供伺服器管理指令。\n1. 安裝San Andreas Unity # 在安裝San Andreas Unity之前，你需要原版GTA SA遊戲檔案才能遊玩，例如到Steam購買，不能使用2021年決定版，要用2004年發售的版本。Internet Archive上面也有很多原版GTA SA遊戲可以下載。 Android版San Andreas Unity同樣也是讀取電腦版GTA SA的檔案，把遊戲檔案複製到Android手機的任意路徑即可。\n到Github下載對應作業系統的執行檔，解壓縮。\n點選SanAndreasUnity.x86_64啟動程式，按Start Game。 ","title":"用San Andreas Unity模擬GTA SA (Windows / Linux / macOS / Android)","type":"posts"},{"content":"","date":"2025年7月29日","externalUrl":null,"permalink":"/ja-jp/tags/luanti/","section":"Tags","summary":"","title":"Luanti","type":"tags"},{"content":"","date":"2025年7月29日","externalUrl":null,"permalink":"/ja-jp/tags/minecraft/","section":"Tags","summary":"","title":"Minecraft","type":"tags"},{"content":" Should you stick to playing free and open source games instead of proprietary ones when using free software on Linux？\n昔々、あなたはゲームを所有し、ゲームはあなたを所有していた。\nだが今は、そうではないのだ。\n過去に、私は一つの暴論を発表した：《Minecraft》を遊ぶべきではない。なぜならそれはプロプライエタリソフトウェアであり、Microsoftに汚されてしまったからだ。特に統合版は、スマホゲーの課金要素を山ほど追加した。創始者Notchが去った後、Mojangはすでに方向を見失っている！\nあなたは《Luanti》へ切り替えるべきだ。これは本当に自由なブロックサンドボックスゲームだ（重要なのは自由であって、無料ではない！）。クロスプラットフォームで、C++で書かれており、Minecraftの代替品である。中にはVoxeLibreというsubgameがあり、クラシックなMinecraftの遊び方を99%再現できる。さらに入れきれないほどのModと、内蔵のシェーダー効果もある。 同じ家を建てるにしても、Luantiを遊ぶほうが良心が痛まない。はは！こういう私はなかなか動物の倫理的扱いを求める人々の会 (PETA) じみた狂気の域に入っている。10年選手のMinecraft PE古参プレイヤーとして、Luantiへ切り替えると解放された感覚がある！\nもしあなたがGNU/Linuxという自由なシステムを使っているのに、なおプロプライエタリソフトウェアをインストールするなら、それは不純物が混ざったと言える。必ず濾過して取り除くべきだ！俗に言う、吾が道は一以て之を貫く。ソフトウェアはすべて自由な解決策を使うべきなのだ！\n「一輪の悪の花を咲かせてしまえば……最終的に幻想郷全体が汚染される。花の中に住む妖精も、取って代わられるだろう？」（画像出典） しかし、それは本当に良いことなのか？追い求めているものは、いったい何なのか？\n1. 自由ソフトウェアゲームの定義 # 私自身による自由ソフトウェアゲーム/オープンソースゲームの定義：\nいわゆる自由ソフトウェアを追求するゲームとは、一般的に言えばコードがオープンソースであり、オープンソースライセンスを使い、自由ソフトウェア財団が提唱する四つの自由に合致しているものだ。そしてゲーム自体が完全に自由で、DRMに支配されず、プレイヤーの権利を制限しないこと。\nゲーム内の素材はクリエイティブ・コモンズライセンスを使い、自由な再利用を認めるべきだ。\nあるゲームがプレイヤーによるMod導入を許可していても、本体がなおクローズドソースで配布されているなら、それは自由なゲームとは言えない。たとえば《The Elder Scrolls》、《Hearts of Iron》、《Grand Theft Auto》、《Minecraft》、《Quake》、《Red Alert》などだ。\nオープンソースのゲーム機エミュレーターでゲームを遊んでいたとしても、ROM本体がクローズドソースであるなら、やはり自由ゲームとは言えない。たとえばRetroArchを通じてNintendo 64のゲームを遊ぶような場合だ。\nクローズドソースのゲームエンジンで開発されたものは、自由ソフトウェアゲームと見なすべきではない。たとえばUnreal Engineを使ったものだ。オープンソースゲームエンジンならたくさんある。たとえばGodotやIrrlichtだ。\nそう言うなら、Linuxでゲームを遊べるようにした最大の功労者であるSteamも、自由ソフトウェアゲームの敵である。Steam Protonはオープンソースで、Windowsゲームの変換実行を助け、プレイヤーに広く愛されている。しかしSteamクライアント本体は依然としてプロプライエタリソフトウェアであり、Valveは商業企業で、あなたの金を稼ぎたいだけだ。Steamの支配から抜け出し、手動でWineを使うべきである！\nさらに、Steamが最近ユーザー規約を変更したことを考えると、あなたが購入しているのはゲームの「使用権」であって所有権ではないという。そうなると、Steamがあなたに本当にゲームを「所有」させる気があるのかは議論の余地がある。つまり、購入したゲームはあなたのものではなく、開発元にはいつでもオンラインゲームのサービスを中止する権利があるということだ。\n2. 言うのは聞こえがいいが、実務上は難しい # ゲームを遊ぶことにまで道徳的潔癖を求めるなら、とても苦しい。\n初期に私がWindowsからLinuxへ全面移行した時、自由ソフトウェア財団の思想の洗礼を受け、「自由」のイデオロギーが旗印となった。すべて自由ソフトウェアで作業する環境のもとでは、ゲームにすら道徳的により「高尚」な選択を求めることになる。\nオープンソースゲームを探すのは本当に難しい。なぜオープンソースゲームが成功できないのかは多くの人が議論してきたが、理由は単純だ：大量の投入が必要だからだ。電子ゲームが「第九芸術」と呼ばれるのには理由がある。時には、一本のゲームをきちんと作り、大衆に受け入れられるようにすることは、商用ソフトウェアを開発するよりはるかに難しいかもしれない。ゲーム開発では、ゲームの各部分を担当するチームを探し、彼らに妥当な給料も払わなければならない。そうでなければ誰があなたのためにボランティアをするのか？キャラクターデザインから脚本の発想まで、大量の時間投入が必要だ。\nどれほどすごいエンジニアでも、美術チームの補佐がなければ良いゲームは作れない。Toby Fox（Undertale）、ZUN（東方Project）、Scott Cawthon（Five Nights at Freddy\u0026rsquo;s）のような万能型クリエイターは実に珍しい。ましてや彼らも、自分のゲームを完全にオープンソース化するほど博愛的ではない。\nゲームを販売するだけでも難しく、開発者は食うにも困る。それなのに、なぜ開発者にすべての内容をオープンソース化するよう強制できるのか？！だからオープンソースゲームの数は少ないし、たとえあっても大衆に愛されるものはさらに少ない。\n3. 野海熊と同じく、オープンソースゲームは本当に存在する # 確かに、無理に探せばオープンソースゲームは存在する。Arch WikiおよびLibreGame Wikiを参照。\nこちらのSteamキュレーターによるゲームリストも参照：Libre \u0026amp; Open Source Games by LibreGames Group\nただし、彼らは一般的に「面白くない」のだ。これは私が真面目に研究して得た結論である。あの「教育性」を売りにしたゲームと同じで、ある一面の特色を過度に強調すると、ゲーム性が軽視される。「オープンソース」は商業市場でも、それほど魅力的な売り文句ではない。 少なくとも私にとって、刺さるものは多くない。人によってはhidden gemsなのかもしれないが、多くは見た目からして面白くなさそうだ。\nオープンソースゲームには2D戦略やRPGゲームが多い。《Mindustry》、《0.A.D》、《Endless Sky》、《Battle for Wesnoth》、《Freeciv》、《OpenTTD》のような良作はあるものの、私はあまり興味がない。 3A大作の映像・音響効果を追求するなら、最良と言えるのはレースゲーム《SuperTuxKart》、シューティングゲーム《Xonotic》、ブロックゲーム《Veloren》くらいで、それから……もうない。 一般の人にとって、最も触れやすい自由ソフトウェアゲームは音ゲー《osu!》だろう。ただ、それがオープンソースである点を強調する人はほとんどいない。 結局、《Luanti》だけが比較的面白いと私は思う。Mod APIの仕組みがあり、限られた遊び方から無限を生み出せるからだ。ゲームプレイ設計はとてもhackyで、geek気質のある人に向いている。\nオープンソースゲームには「open source alternative」という類型がある。つまり、特定の商業ゲームの模倣だ。Luantiはこの類型に属する。当初の模倣対象はMinecraftだったが、後に自分の道を歩み始め、Minecraftの遊び方を盲目的にコピーせず、すべてをコミュニティに委ね、自分たちが望む遊び方を設計している。Luantiの自己定位は「ゲームエンジン」であり、少しUnreal Engineに似た役割だ。新しい遊び方のゲームがもっと現れるよう促すため、Luantiは毎年Game Jamコンテストを開催し、より多くの人が面白いインディーゲームを出すことを奨励している。\nしかし正直なところ、Luantiもそれほど成熟しているわけではない。すでに十年開発されているのに、そのUIはいまだにエンジニア向けに作られたMinecraftのように見える。ゲーム内に「パッケージマネージャー」などという用語まで出てくる。普通の人がどうやって入門するんだ！？しかも不幸なことに、今でもMinecraftの遊び方を模倣したがる人が山ほどいて、この類型のModが主流を占めている。 4. あの聖杯が現れるまでは、ゲームに細かくケチをつけるな # Linuxユーザーが追求する「自由」イデオロギーへの一つの解釈は、Linuxはあなたに「選択」の自由を与えるものであって、他人にあなたの「自由」を受け入れるよう強制するものではない、ということだ。これは一部の人の思考の型を破り、偏執狂的な思考に入るのを防いでくれるはずだ。\n最終的な結論として、ソフトウェアは自由であるべきだが、ゲームだけは見逃そう！私はそう言う。たまにMinecraftを遊ぶことは罪ではない！\nイデオロギーに自分の視野を縛らせてはいけない。\n外の世界は素晴らしい。外の世界はどうしようもない。\n齊秦 - 外面的世界\n","date":"2025年7月29日","externalUrl":null,"permalink":"/ja-jp/posts/should-you-stick-to-playing-foss-games/","section":"Foss-Issues","summary":" Should you stick to playing free and open source games instead of proprietary ones when using free software on Linux？\n昔々、あなたはゲームを所有し、ゲームはあなたを所有していた。\nだが今は、そうではないのだ。\n過去に、私は一つの暴論を発表した：《Minecraft》を遊ぶべきではない。なぜならそれはプロプライエタリソフトウェアであり、Microsoftに汚されてしまったからだ。特に統合版は、スマホゲーの課金要素を山ほど追加した。創始者Notchが去った後、Mojangはすでに方向を見失っている！\nあなたは《Luanti》へ切り替えるべきだ。これは本当に自由なブロックサンドボックスゲームだ（重要なのは自由であって、無料ではない！）。クロスプラットフォームで、C++で書かれており、Minecraftの代替品である。中にはVoxeLibreというsubgameがあり、クラシックなMinecraftの遊び方を99%再現できる。さらに入れきれないほどのModと、内蔵のシェーダー効果もある。 同じ家を建てるにしても、Luantiを遊ぶほうが良心が痛まない。はは！こういう私はなかなか動物の倫理的扱いを求める人々の会 (PETA) じみた狂気の域に入っている。10年選手のMinecraft PE古参プレイヤーとして、Luantiへ切り替えると解放された感覚がある！\nもしあなたがGNU/Linuxという自由なシステムを使っているのに、なおプロプライエタリソフトウェアをインストールするなら、それは不純物が混ざったと言える。必ず濾過して取り除くべきだ！俗に言う、吾が道は一以て之を貫く。ソフトウェアはすべて自由な解決策を使うべきなのだ！\n","title":"オープンソースゲーム一覧の共有：Linux自由ソフトウェアを追求するなら、ゲームまでオープンソースにこだわるべきなのか？","type":"foss-issues"},{"content":"受夠了哔哩哔哩 (Bilibili) 的推薦演算法？覺得官方APP過於臃腫？還有隱私問題？想要一款無干擾無監控的輕量第三方APP？\n那麼試試PipePipe吧！PipePipe是無廣告Youtube APP：NewPipe的分叉版，舊名AnimePipe。\n本APP除了看Youtube外，還加入Bilibili和Niconico影片平台支援。\n觀賞Bilibili動畫與彈幕 Niconico影片無廣告觀看 特色功能如下：\n開放原始碼，介面設計簡潔無干擾 看影片/視頻無廣告 免登入觀看1080p Bilibili影片 將任意影片組成臨時播放清單，按序播放 背景播放影片、懸浮視窗播放影片 支援下載YouTube、Bilibili、Niconico影片，用任意播放器離線觀看，也可以下載純音訊 支援顯示影片彈幕與影片評論 支援使用搜尋過濾器，搜尋動畫或者音樂 不用登入帳號也可以訂閱UP主更新 顯示Youtube影片的不喜歡數量 啟用SponsorBlock，自動跳過Youtube與Bilibili影片中的業配片段 睡眠定時器，時間到停止播放音樂 跟其他第三方Bilibili APP比起來，PipePipe特色是界面簡潔，專為看影片設計，沒有太多社交互動元素，不能看文章，即使登入帳號也看不到好友動態。\n個人認為這算是專為「只想專心看影片，不想看傻逼評論」的人設計的APP。\n1.下載PipePipe APK # 請到GitHub或F-Droid下載\n相較於原版NewPipe，PipePipe更新比較頻繁\n如果影音平台出問題請到Github Issue回報。\n2. PipePipe使用方式 # 開啟後要先切換左側選單，找到Bilibili 然後就會列出本日熱門影片，不想看到首頁內容可以在PipePie的設定關掉，改成只顯示播放清單和UP主更新。 搜尋的時候可以指定要找影片還是番劇。不過得是Bilibili有購買且未鎖區的正版番劇，否則得自備VPN才能觀看。 Bilibili影片播放支援開關彈幕。如果影片無法看1080p，請嘗試在PipePipe系統設定開啟「顯示更高畫質」。至於Niconico，沒登入帳號預設就只有360p畫質。 當然，影片是可以任意背景播放的！ 也可以長按影片縮圖，新增到佇列，組成臨時播放清單。 如果要訂閱UP主：點進UP頭像訂閱，就會彙整出現在PipePipe的「新鮮事」列表。實際上這個不是真正的訂閱，僅是抓取影片更新而已。 3. 登入帳號的功用 # 在PipePipe系統設定 → 帳號，可登入Youtube、Bilibili、Niconico帳號。\n這樣就可以觀看需要登入才能存取的影片。\n除此之外也許能防止影片播放被中斷？Youtube有時候會擋第三方客戶端的連線，取得cookie後能降低觸發機率。\n不確定登入付費帳號是否能夠解鎖Niconico的高畫質選項。\n","date":"2025年7月29日","externalUrl":null,"permalink":"/posts/android-pipepipe/","section":"所有文章","summary":"受夠了哔哩哔哩 (Bilibili) 的推薦演算法？覺得官方APP過於臃腫？還有隱私問題？想要一款無干擾無監控的輕量第三方APP？\n那麼試試PipePipe吧！PipePipe是無廣告Youtube APP：NewPipe的分叉版，舊名AnimePipe。\n本APP除了看Youtube外，還加入Bilibili和Niconico影片平台支援。\n觀賞Bilibili動畫與彈幕 Niconico影片無廣告觀看 特色功能如下：\n開放原始碼，介面設計簡潔無干擾 看影片/視頻無廣告 免登入觀看1080p Bilibili影片 將任意影片組成臨時播放清單，按序播放 背景播放影片、懸浮視窗播放影片 支援下載YouTube、Bilibili、Niconico影片，用任意播放器離線觀看，也可以下載純音訊 支援顯示影片彈幕與影片評論 支援使用搜尋過濾器，搜尋動畫或者音樂 不用登入帳號也可以訂閱UP主更新 顯示Youtube影片的不喜歡數量 啟用SponsorBlock，自動跳過Youtube與Bilibili影片中的業配片段 睡眠定時器，時間到停止播放音樂 跟其他第三方Bilibili APP比起來，PipePipe特色是界面簡潔，專為看影片設計，沒有太多社交互動元素，不能看文章，即使登入帳號也看不到好友動態。\n個人認為這算是專為「只想專心看影片，不想看傻逼評論」的人設計的APP。\n","title":"PipePipe：簡潔的第三方Bilibili APP，無廣告、支援下載影片","type":"posts"},{"content":"","date":"2025年7月27日","externalUrl":null,"permalink":"/tags/airpods/","section":"標籤","summary":"","title":"AirPods","type":"tags"},{"content":"話說藍牙明明有開放標準，但Apple卻搞一些私有化的東西，使部份功能僅能在Apple生產的裝置上使用，其他系統的用戶只能使用基本功能。比如Android手機用戶只能透過長按AirPods按鈕切換降噪模式，不能透過手機端控制。\n現在AirPods的藍牙訊號已經被開源社群逆向破解出來了，有許多人推出了APP讓Android機能讀到AirPods電量，不用Root權限，例如開源的CAPod、OpenPods等等。\n不過這還不夠——\n有個開源專案叫做「LibrePods」，最早叫做「ALN - AirPodsLikeNormal」，宣稱能夠「讓AirPods從Apple生態系中解放」。 LibrePods這個專案，實現了查看電量、配對動畫、偵測耳朵、個人化音訊、切換降噪與通透模式、單耳降噪、適應性音訊、對話感知、頭部動作、用滑桿控制音量的功能。\n如下圖，在Linux電腦Android與手機間切換AirPods連線，手機會跳出AirPods打開的動畫。這裡播放的是結束バンド和ASIAN KUNG-FU GENERATION，兩個樂團版本的〈Re:Re:〉 作者是以AirPods Pro 2為基準下去開發的，因此以上功能要看硬體是否有支援才能使用。這些功能需要AirPods 4或者AirPods Pro 2以上才能使用。像我是AirPods Pro第一代就只能使用降噪。\n除了查看AirPods電量的基本功能之外，作者還試圖把macOS和iOS才有的功能帶到其他系統，那就是接續互通(handoff)\n目前LibrePods支援的系統為Android與Linux。\n也就是說，能夠讓Root過的Android手機與Linux電腦連接到AirPods，在兩個裝置之間自動切換耳機的功能。\n1. 安裝Linux版LibrePods客戶端 # 目前沒有發行版打包，需要參考Github指示手動編譯\nUbuntu安裝以下依賴套件 sudo apt-get install qt6-base-dev qt6-declarative-dev qt6-connectivity-dev qt6-multimedia-dev \\ qml6-module-qtquick-controls qml6-module-qtqml-workerscript qml6-module-qtquick-templates \\ qml6-module-qtquick-window qml6-module-qtquick-layouts 編譯 git clone https://github.com/kavishdevar/librepods.git --depth=1 cd librepods/linux # 輸入手機的藍牙MAC位址，可以在系統設定配對藍牙的時候看到 export PHONE_MAC_ADDRESS=\u0026#34;XX:XX:XX:XX:XX:XX\u0026#34; mkdir build cd build cmake .. make -j $(nproc) 執行 ./librepods GNOME桌面需要安裝AppIndicator and KStatusNotifierItem Support才能看到系統匣面板。\n開啟後連線到AirPods，可以切換降噪模式。 如果要開啟更多AirPods的功能，例如自訂通透模式、助聽器、多裝置接續功能，需要將Linux偽裝為Apple裝置才可以。編輯/etc/bluetooth/main.conf設定檔，加入以下內容：\nDeviceID = bluetooth:004C:0000:0000 2. 安裝Android版LibrePods客戶端 # 根據作者的說明，因為Android的藍牙堆疊有bug，所以需要Root權限修補才能使用LibrePods。除非你是使用ColorOS 16或OxygenOS 16系統，那麼就不用Root權限。\n在Magisk啟用Zygisk，或者刷入Zygisk Standalone模組\n刷入LSPosed\n安裝LibrePods的APK\n在LSPosed界面啟用LibrePods。\n開啟APP，獲取要求的權限就可以了。\n「act as Apple device」的選項可以將Android手機偽裝成Apple裝置。\n3. 「接續互通」的操作邏輯 # 開啟藍牙，將Android手機與Linux電腦配對\n將AirPods與Android手機配對\n暫時取消連線\n將AirPods與Linux電腦配對\n在電腦LibrePods面板開啟Cross-Device Connectivity with Android，這樣兩邊客戶端就都能看到AirPods電量。 順帶一提，想要同步手機與電腦通知的，可以裝KDE Connect。\n接著，LibrePods兩邊的客戶端會偵測哪邊正在播放音樂，或者有來電，然後自動切換過去。例如手機開始播放Youtube，幾秒後電腦就會斷訊，然後跑到手機那邊。這依賴手機端LibrePods的事件偵測設定，我是設定只有在手機播放音樂的時候才切換。這個切換的時機有時候很吃運氣。 不過反過來的情況似乎有問題，就是手機停止播放了，卻沒自動切換到電腦這邊。需要手動到藍牙面板點一下AirPods連線。\n4. 搭配Spotify Connect使用？ # 或許LibrePods可以搭配Spotify Connect的機制，達成跨裝置播放同一首歌的操作。\n在電腦與手機間切換音樂。用起來有點hacky。\n因為Spotify Connect作用的時候，兩邊會同時播放音樂（有一邊只有進度條但沒聲音），這會導致LibrePods自動切換的判斷混亂。\n需要在系統設定手動斷線AirPods，另一部裝置才能存取AirPods。並將LibrePods手機APP的事件判斷全部關閉。\n","date":"2025年7月27日","externalUrl":null,"permalink":"/posts/librepods-linux/","section":"所有文章","summary":"話說藍牙明明有開放標準，但Apple卻搞一些私有化的東西，使部份功能僅能在Apple生產的裝置上使用，其他系統的用戶只能使用基本功能。比如Android手機用戶只能透過長按AirPods按鈕切換降噪模式，不能透過手機端控制。\n現在AirPods的藍牙訊號已經被開源社群逆向破解出來了，有許多人推出了APP讓Android機能讀到AirPods電量，不用Root權限，例如開源的CAPod、OpenPods等等。\n不過這還不夠——\n有個開源專案叫做「LibrePods」，最早叫做「ALN - AirPodsLikeNormal」，宣稱能夠「讓AirPods從Apple生態系中解放」。 LibrePods這個專案，實現了查看電量、配對動畫、偵測耳朵、個人化音訊、切換降噪與通透模式、單耳降噪、適應性音訊、對話感知、頭部動作、用滑桿控制音量的功能。\n如下圖，在Linux電腦Android與手機間切換AirPods連線，手機會跳出AirPods打開的動畫。這裡播放的是結束バンド和ASIAN KUNG-FU GENERATION，兩個樂團版本的〈Re:Re:〉 作者是以AirPods Pro 2為基準下去開發的，因此以上功能要看硬體是否有支援才能使用。這些功能需要AirPods 4或者AirPods Pro 2以上才能使用。像我是AirPods Pro第一代就只能使用降噪。\n","title":"LibrePods：讓Linux查看AirPods電量，使用「接續互通」功能","type":"posts"},{"content":"什麼是SBC-XQ？這個藍牙編碼器，可以將傳統SBC的384kbps位元率提升到551kbps以上，超越AAC編碼256kbps的音質，摸到aptX的邊。\n對一些只支援SBC的低價藍牙耳機來說可以說是大提昇。\n詳細原理參考這篇：Audio quality of SBC XQ Bluetooth audio codec - SoundExpert。程式碼原作者為俄羅斯人ValdikSS。\nSBC-XQ屬於試驗性編碼器，目前只有少數系統有SBC-XQ的支援，分別是Android和Linux。 1. Android啟用SBC-XQ # 可能要看ROM支援度，越接近原生的越好。以LineageOS為例，舊版LineageOS 15/16曾經有納入SBC-XQ編碼器，能夠在開發人員選項啟用，後來又移除了。\n現在只能靠Magisk模組啟用。雖然是Android 10的版本不過我測試Android 15還能用。\n到SBC XQ Bluetooth Audio Codec and DRC Deactivator - XDA下載ferry_ip製作的Magisk_SBCXQ_551_A10.zip，刷入模組，重開機。\n注意這個模組有可能會弄壞藍牙功能。\n然後在藍牙耳機播放的時候關掉AAC編碼，SBC的音質應該會有所改進。 2. Linux啟用SBC-XQ # 使用PipeWire作為音訊系統的應該都已經支援SBC-XQ，即使是PulseAudio相容模式也可以使用SBC-XQ。\n以Ubuntu 24.04為例，使用pactl info指令查看目前的音訊系統是否為PipeWire。\n在桌面環境的音訊設定，選取藍牙裝置的編碼器為SBC-XQ 如果看不到，可能要編輯WirePlumber的設定檔\nvim ~/.config/wireplumber/wireplumber.conf.d/51-bluez-config.conf 啟用所有可用的編碼器，然後重開機。 bluez_monitor.properties = { [\u0026#34;bluez5.enable-msbc\u0026#34;] = true, [\u0026#34;bluez5.enable-sbc-xq\u0026#34;] = true, [\u0026#34;bluez5.codecs\u0026#34;] = \u0026#34;[ sbc sbc_xq aac ldac aptx aptx_hd aptx_II aptx_II_duplex faststream faststream_duplex ]\u0026#34;, } 3. 其實我覺得SBC-XQ聽不出差異 # 為什麼有開發者提出了SBC-XQ這種強化藍牙耳機音質的編碼實作，卻不受待見？可能因為這是屌絲才會在意的東西。他們幻想可以靠這個\u0026quot;life hack\u0026quot;，讓手上的廉價產品越級打怪。\n但實際上，似乎改進不大，至少我用AirPods Pro測試，SBC-XQ聽FLAC檔的是聽不出差異，也不覺得有比AAC好到哪去，我木耳。或許針對AAC以下設計的低價藍芽耳機，硬體素質本就不怎麼樣。AirPods可能也沒有應對AAC以上音質的能力。\n目前Linux的PipeWire提供SBC-XQ編碼器，對某些追求自由軟體only的發行版來說，可說是專有編碼器AAC的不錯選擇。至於LineageOS，可能是因為維護者不積極所以將其移除了吧。\n我想，與其整這些有的沒的，大概，花錢買支援aptX或LDAC的耳機比較能帶來質的改變。我比較喜歡開源的LDAC方案，Sony授權給AOSP使用，總勝過Qualcomm專有的aptX，但會被迫買Sony的耳機XD\n","date":"2025年7月25日","externalUrl":null,"permalink":"/posts/sbc-xq-android-linux/","section":"所有文章","summary":"什麼是SBC-XQ？這個藍牙編碼器，可以將傳統SBC的384kbps位元率提升到551kbps以上，超越AAC編碼256kbps的音質，摸到aptX的邊。\n對一些只支援SBC的低價藍牙耳機來說可以說是大提昇。\n詳細原理參考這篇：Audio quality of SBC XQ Bluetooth audio codec - SoundExpert。程式碼原作者為俄羅斯人ValdikSS。\nSBC-XQ屬於試驗性編碼器，目前只有少數系統有SBC-XQ的支援，分別是Android和Linux。 1. Android啟用SBC-XQ # 可能要看ROM支援度，越接近原生的越好。以LineageOS為例，舊版LineageOS 15/16曾經有納入SBC-XQ編碼器，能夠在開發人員選項啟用，後來又移除了。\n現在只能靠Magisk模組啟用。雖然是Android 10的版本不過我測試Android 15還能用。\n到SBC XQ Bluetooth Audio Codec and DRC Deactivator - XDA下載ferry_ip製作的Magisk_SBCXQ_551_A10.zip，刷入模組，重開機。\n注意這個模組有可能會弄壞藍牙功能。\n然後在藍牙耳機播放的時候關掉AAC編碼，SBC的音質應該會有所改進。 2. Linux啟用SBC-XQ # 使用PipeWire作為音訊系統的應該都已經支援SBC-XQ，即使是PulseAudio相容模式也可以使用SBC-XQ。\n","title":"啟用SBC-XQ編碼器，提昇藍牙耳機音質（Android \u0026 Linux）","type":"posts"},{"content":"講講最近的雙持體驗變化。\n首先來講古。長期以來就有奇妙的手機雙持體驗，最初的目的是為了更好的拍照，採取Android + iOS雙持的策略。\n高中時，因為對規格一無所知，錯誤地買了Asus Zenfone 2 Selfie (2015) 撐了三年。這台手機雖然強調有前後1300萬畫素的鏡頭，但是拍照實際上偏差勁，錄影品質也很糟糕，基本的錄音都很不清晰，Android廠低階機該死的固有cost-down操作。加上S615這顆噴火龍爛U，刷機成Resurrection Remix還是很難用。\n故陸續買了二手iPhone 4S (2011) 和全新iPod touch 6 (2015) 來補強。前者升級到iOS 9.3.5變超級卡所以就拋棄了，不過它的拍照確實很棒，有獨特的韻味。喇叭外放還有特殊的音箱感。\n嗯，我知道購買後者是一個很詭異的選擇，可能我當時眼界有限不知道二手市場的存在，才在Apple官網硬是找到這台最便宜的iOS裝置，不然我當初是很想買iPhone SE的，但就把它看作是降頻版iPhone 6就好。 買iPod之後，訝異到Apple工藝的精湛，就算是Apple產品線最低階的產品，iPod的拍照與錄影品質也絲毫不馬虎，就算只有800萬畫素也完全屌打Zenfone哪。在需要錄影的場合我就會拿iPod出來。此外，A8處理器玩任何手遊的效能都是十分穩定的，遠勝過Zenfone。\n其實我知道這樣比不公平啦，Zenfone在當時是7000元手機，買的時候特價掉了一半價格；相較之下iPod需要8000元（真的很盤）。什麼價格買什麼貨。我可不會成為拿低階Android機比iPhone就對後者著迷的傻子。\n之後，我還是有雙持的習慣，每隔幾年買iOS裝置當作副機，繼任iPod touch 6角色的是iPhone SE (2016)。但因為後來買了各方面都很強的旗艦機，Sony Xperia 5 II (2020)，雙持的重要性就下降了許多。iPhone變成觀察人類物種多樣性的工具，了解果粉常常講出沒有見識發言的理由為何。譬如認為某某功能只有iPhone才有，看到Android已經行之有年的功能還很訝異，殊不知Apple擅長重新定義，發明新名字唬爛其受眾。\n現在我會繼續這樣做了。不過不一定要是跨系統的雙持，畢竟我工作上有用到iPad Air 6了，不饞iPhone專有的功能的話，完全能體驗到iOS生態系的最新發展，能夠撐好幾年。\n過去曾經差點成為果粉，有點同儕壓力的因素在吧，可iPhone比較好用的神話在規格控眼裡已然破滅，還是比較崇尚Android的自由軟體。\n未來的配置可能是一支輕巧、長續航、但效能普通的Android機做主力，譬如目前用了三年的Sony Xperia 10 V。我真的很難找到這支的替代品，除了同一品牌的後繼型號外。\n再配上過季旗艦、拍照很強、可刷機、但是太重不方便攜帶的Android機來吧，譬如之前買的Sony Xperia 1 III。\n事實上我現在就是這樣做了，在最近的旅遊行程，採取Xperia 10 V主力 + Xperia 1 III當拍照機的做法。前者的5000mAh大電量使得我滑整天都不需要帶行動電源，而Xperia 1 III絕對做不到這一點。只有到了景點需要拍照的時候，才會拿Xperia 1 III出來。這樣它的續航力勉強能撐到旅館時候充電。\n我把它當作十年前的數位相機對待，橫著手持，使用硬體相機鍵拍照。大部分時候不連網，只要專注用Photo Pro的類單眼介面拍好照片就行了！然後再用Android內建的Quick Share或者PTP模式傳照片到Xperia 10 V編修。\nSony官網的拍照示意圖 附上最近拍的幾隻貓貓。 對於臨時需要兩支手機間快速傳照片的場合，除了跨平台的LocalSend之外，Android內建的「快速分享」真的非常實用！現在大部分Android手機應該都有這個功能了，LineageOS也有。不用下載APP，兩邊只需要開啟藍牙和Wifi，雙方不需要「配對」手續（其實就原理上來說應該還是有，不過不需要手動操作）也不用連線到無線熱點，就可以匿名傳檔案，即使一邊完全沒辦法上網也能分享。檔案很多速度依然很快，50張照片200MB一分鐘內傳完。快速分享的預設為僅限登入自己Google帳號的裝置，可以改成與所有人分享，後者時間跟AirDrop一樣僅限十分鐘，可以防止隱私外洩。\n可能有人會說要專門的拍照機幹嘛不直接入坑單眼相機就好？我還沒奢侈到這種程度，只是想要點了就射(point and shoot)！\n","date":"2025年7月24日","externalUrl":null,"permalink":"/posts/as-a-dual-phones-user/","section":"Unboxings","summary":"講講最近的雙持體驗變化。\n首先來講古。長期以來就有奇妙的手機雙持體驗，最初的目的是為了更好的拍照，採取Android + iOS雙持的策略。\n高中時，因為對規格一無所知，錯誤地買了Asus Zenfone 2 Selfie (2015) 撐了三年。這台手機雖然強調有前後1300萬畫素的鏡頭，但是拍照實際上偏差勁，錄影品質也很糟糕，基本的錄音都很不清晰，Android廠低階機該死的固有cost-down操作。加上S615這顆噴火龍爛U，刷機成Resurrection Remix還是很難用。\n故陸續買了二手iPhone 4S (2011) 和全新iPod touch 6 (2015) 來補強。前者升級到iOS 9.3.5變超級卡所以就拋棄了，不過它的拍照確實很棒，有獨特的韻味。喇叭外放還有特殊的音箱感。\n嗯，我知道購買後者是一個很詭異的選擇，可能我當時眼界有限不知道二手市場的存在，才在Apple官網硬是找到這台最便宜的iOS裝置，不然我當初是很想買iPhone SE的，但就把它看作是降頻版iPhone 6就好。 買iPod之後，訝異到Apple工藝的精湛，就算是Apple產品線最低階的產品，iPod的拍照與錄影品質也絲毫不馬虎，就算只有800萬畫素也完全屌打Zenfone哪。在需要錄影的場合我就會拿iPod出來。此外，A8處理器玩任何手遊的效能都是十分穩定的，遠勝過Zenfone。\n","title":"雙持手機的變遷，從Android + iPhone走向Android + Android ","type":"unboxing"},{"content":"","date":"2025年7月18日","externalUrl":null,"permalink":"/tags/gimp/","section":"標籤","summary":"","title":"GIMP","type":"tags"},{"content":"GIMP有一個類似Adobe Photoshop的內容感知 (Contetn Awareness) 功能，透過外掛程式「Resynthesizer」實現。\nResynthesizer的原始碼可於GIMP Resynthesizer Plugin Suite - Github取得。這個外掛程式實作了叫做resynthesizer的演算法，用於在圖片之間轉移材質、填充選取範圍、擴圖延伸背景、轉移圖片風格等等。\n例如把跟背景無關的文字或人物給圈選起來，Resynthesizer就會使用附近的顏色自動填充內容，把這個東西消掉，讓它看起來很自然的融入背景。 效果參考這部影片： 註：Resynthesizer僅是簡單地使用附近的顏色來填充內容。如果你想使用生成式AI更智慧的生成內容，那麼請改用GIMP + Stable Diffusion這類解決方案，或是Krita AI Diffusion。\n1. Windows安裝Resynthesizer # 在Windows安裝GIMP\n到Github點選RAW下載檔案，解壓縮。\n將裡面的.py和.exe程式放到C:\\Users\\使用者名稱\\AppData\\Roaming\\GIMP\\GIMP目前版本\\plug-ins\\資料夾，再重新啟動GIMP。\n2. Linux安裝Resynthesizer # Linux建議使用Flatpak版本的GIMP，安裝比較方便，不然就得從原始碼編譯安裝。\n安裝Flatpak，再安裝GIMP\n安裝Resynthesizer外掛程式，目前GIMP版本是3.x，所以分支要選擇3.x\nflatpak install org.gimp.GIMP.Plugin.Resynthesizer 3. Resynthesizer填充選取範圍用法 # 開啟GIMP，先用選取工具圈選要去掉的圖片範圍\n再點選濾鏡 → 增強 → Heal Selection，消除雜物並填充顏色。圖片較大的話可能要花一點時間計算。 另一個「Heal Transparency」的功能是類似的，不過它是填充圖片當中透明的區塊。\n4. 其他Resynthesizer功能介紹 # 濾鏡 → 增強 → Uncrop：擴圖並且填充內容，也就是放大目前的圖片，生成一片透明區域，再用圖片四周的顏色填充。\n濾鏡 → 映射 → Style：從另外一張圖片，將風格轉移到目前的圖片。\n濾鏡 → 算繪 → Style：從一張小圖片建立一張重複影像，不規則排列的大圖片。濾鏡 → 映射 → Texture也是一樣的功能，不過它是規則排列的。\n編輯 → Fill with pattern seamless：在選取範圍內填充重複的圖像。\n","date":"2025年7月18日","externalUrl":null,"permalink":"/posts/gimp-heal-selection/","section":"所有文章","summary":"GIMP有一個類似Adobe Photoshop的內容感知 (Contetn Awareness) 功能，透過外掛程式「Resynthesizer」實現。\nResynthesizer的原始碼可於GIMP Resynthesizer Plugin Suite - Github取得。這個外掛程式實作了叫做resynthesizer的演算法，用於在圖片之間轉移材質、填充選取範圍、擴圖延伸背景、轉移圖片風格等等。\n例如把跟背景無關的文字或人物給圈選起來，Resynthesizer就會使用附近的顏色自動填充內容，把這個東西消掉，讓它看起來很自然的融入背景。 效果參考這部影片： 註：Resynthesizer僅是簡單地使用附近的顏色來填充內容。如果你想使用生成式AI更智慧的生成內容，那麼請改用GIMP + Stable Diffusion這類解決方案，或是Krita AI Diffusion。\n1. Windows安裝Resynthesizer # 在Windows安裝GIMP\n到Github點選RAW下載檔案，解壓縮。\n將裡面的.py和.exe程式放到C:\\Users\\使用者名稱\\AppData\\Roaming\\GIMP\\GIMP目前版本\\plug-ins\\資料夾，再重新啟動GIMP。\n2. Linux安裝Resynthesizer # Linux建議使用Flatpak版本的GIMP，安裝比較方便，不然就得從原始碼編譯安裝。\n","title":"Resynthesizer：讓GIMP使用「內容感知」自動填充圖片，移除物件並填入附近顏色","type":"posts"},{"content":"儘管台灣主流社群媒體大多是外國公司經營的，不過在我心目中，只有Twitter被我視為一個仍屬於外國的社群媒體。意即是說，台灣相對少人用，那是「外國人的地盤」。\n簡述我玩Twitter的歷史：這個帳號@Ivon852早在Twitter改名為X.com之前就已經加入了，這個月是第11週年。初期是用來追蹤一些Twitter的Minecraft PE外國創作者帳號，還有追蹤畫R18同人本的日本繪師消息。2020年我開始製作Minecraft Bedrock模組後才積極更新動態，大部份是用英文報導開發進度，還加了一票Discord好友獲得友善互動。大概2022年之後意志消沈，Twitter便很少使用了，還把過去追蹤的幾百個帳號都退追了，堅壁清野，只有偶爾在上面轉推一些資訊消息。現在慢慢把過去的帳號追蹤回來，主力追蹤的是FOSS開發者以及Linux方面的消息，還有喜歡的日本繪師以及Minecraft資訊。是的，即使開源社群偏好Mastodon，但還是有許多沒那麼純的用戶，會受不了大公司誘惑，繼續待在主流平台。\n曾經我的Twitter bio放的是：「獨立、反共、建國」的標語，不過太政治廚就刪掉了。只留下「我喜歡軍事飛機和FOSS文化。」 不過我還是不知道從何重新開始 ———— 對比我在Reddit上混的還算可以，Twitter不知道怎麼重新起步。\n以前我對外國網站不熟悉的時候，是專門把Reddit和Twitter當黃網在看的，正如一些中國人講的：「翻牆看黃不是來看政治的」，又有人說：「翻牆還愛黨，必是狗娘養。」\n牆不一定是政府控制封鎖的實在城牆，也有不肯踏出舒適圈，自願將訊息關在內部的心牆。\n但是有點英語能力之後就發現這個世界很大，侷限在這種認知之下會錯過很多東西。我不知道有多少人看到英語就好像看到象形文字一樣的心態，覺得it\u0026rsquo;s all greek to me，下意識的迴避說我看不懂，所以不想了解他們的文化，還不如看中文內容待在舒適圈吧！如果是這樣的話，就真的蠻可惜的呢。\n但不知道為什麼，玩Twitter這種外國的社群媒體有個使用趨勢：「遠的都追，近的不追」這意味著我潛意識中認為（儘管不願意承認）追蹤帳號應該都是外國人為主的，包含歐美、日韓、東南亞、西語國家和其他地方，台灣人和中國人不應該、不配在這裡追蹤。這跟使用Facebook和Threads的氛圍不一樣，這裡講中文人很多，也確實Threads在台灣特別紅，不自覺之間形成了這裡好像是我們地盤的錯覺。至於幽默台派在Threads佔地為王，支語警察到處出警，導致被港澳星馬用戶圍攻，那又是另外一個故事了。\n在我的地盤你就得聽我的ㄦ\n不過Twitter就不是這樣了。不知道為什麼有這種心理，可能是想要維持一種朦朧距離感吧，可以看異國文字幻想並互動，不要講我熟悉的語言，那讓人感到噁心。\n就拿繪師來說，日本繪師都是追好追滿，看新作品情報，還有隨手po的生活動態。我偶爾會買作品支持，然後留言擠出一句辛苦了的日文。\n但是台灣繪師我就有一種膈應感，儘管大手很多，裡面也有我很喜歡的作品，總覺得\u0026hellip;他們不配畫這些東西？（你J8誰呀喂www完全沒立場講這種話，還沒潤就以為自己是高華）這心態真的很搞笑，我曾經打手槍打到一半發現本子作者是台灣人或者中國人，產生厭惡心裡，就軟掉了，蛤！？當他們作品出現了我熟悉的台灣文化事物的時候，就覺得某個幻想世界崩壞了。這大概是某種崇洋媚外的心態體現，我這下是名符其實的「殖人」了，正在努力戒除這種心態中。又或者是說，本質上跟一些人一樣，將虛擬世界當成另一種不可干涉的平行時空，尤其裡面表現的文化與自身所處的環境越是大相逕庭，就越是給人能夠遁入其中，逃避現實的感覺。那個怎麼說的，有些人看偶像結婚就會發送死亡威脅的那種心理吧。 其實，發現自己技不如人的時候，你應該感到高興，不是捍衛自己廉價的自尊心去嫉妒他人。因為這代表山峰上面還有更多東西可以追求，尚未達到獨孤求敗的境界，就還有成長空間，學習的樂趣就會永無止境。就像，你可能覺得自己很會玩電腦，但接觸過各種conference之後，才知道身邊厲害的大有人在，但你不必因為這樣會而灰心，反倒是應該跟他們建立合作關係。\n這想到了另一個問題。\n長期以來，我一直困惑社群媒體發言應該使用何種語言，尤其是Twitter。畢竟我不是什麼大人物，沒有像Hololive有必要開什麼「official EN account」副帳號來發英文版內容吧。\n鑑於Twitter中文圈的正常人太少，塔綠班、支黑、小粉紅、姨粉、鍵盤台獨戰士、皇漢與鍵政魔佂人太多\u0026hellip;額，不對，我對Twitter中推的政治圈已經放棄參與了，上面我比較看得下去的竟然是抽象民國派的言論，例如「夜音華」「王志安」這種的。但我覺得精神病還是太多了。在台灣，Twitter相較於Facebook，仍是小圈圈的樣子，所以才有那麼多台派瘋狗。Facebook上多方勢力已發展多年，什麼黨都有一定聲量可以分庭抗禮 ———— 包含共匪大外宣，而不會只有一言堂的情況。不想看的退追蹤就好了，不愁找不到同溫層，也不會動不動被演算法推送瞎挺民進黨的發文。這可不是我在瞎說，搜尋批評民進黨的社群，Facebook到處都是，批評柯文哲的也很多，但Twitter幾乎沒有半個批評民進黨的有影響力大帳號\u0026hellip;除非你把小粉紅和民國派也算進去啦。國民黨和民眾黨如果可以加強經營Twitter就好了，平衡打擊。這樣倒覺得祖克伯沒那麼壞了，Facebook雖不能發色圖，還有隱私問題，但確實凝聚了台灣半數的民意到這個平台。\n我甚至可以滑坡一點的說：「正常人誰會用Twitter看色圖以外的東西？」其實這是PTT八卦板鄉民講的，不是我說的。\n有一種可能是說，Twitter對台灣相關的公共議題的態度間接影響了我對中文內容的接受度吧。\n總之，不想每天一突開Twitter，就被中推烏煙瘴氣的討論品質濺的滿臉噴糞，我現在索性不追蹤任！何！講！中！文！政！治！的！帳！號！但凡只要擦到邊，推薦內容的時間軸就會被各種中文內容佔領，那種事情不要啊！ 回到正題，很難找到同好，其實還是有找到一些，不論是臭味相投的geek還是願意分享生活的歲靜，但真的百年難遇，至少跟Facebook比起來是如此。所以在Twitter我是偏向用英文發推的，甚至還想過用日文？以前用Mastodon的時候也是如此，簡單脫個支。\n因為覺得英文的觸角比較廣，跟Facebook與Threads不同，Twitter要找到講中文的同好真的很難。\n「把自己活成一道光，因為你不知道，誰會藉著你的光， 走出了黑暗。」\n有些部落格文章我真的不想用中文發，因為在台灣沒什麼市場，就算是在人口很多的中國有興趣的人也不多。硬是發文，最後得到的多半是關懷的眼神，不然就是「嗯，跟我想的一樣」的讚嘆，然後就沒了，難以有後繼討論。試過PTT、巴哈、知乎皆是如此。若是po在Reddit或Twitter，更容易吸引到有興趣的人士，當然，我要刻意用英文寫。比如，自由軟體，Linux手機PinePhone發展，Termux的資訊等等，在中文圈跟人分享資訊還要花大把時間介紹背景知識。如果討論議題的時候連FOSDEM是什麼都不知道，那麼其實沒有必要跟他們多說，不如把時間花在對專案上游程式碼做出貢獻。即使如此，台灣還是有人對這些議題有興趣，我知道他們存在，但可能忙著寫程式，無暇向人介紹你的偉業。偶爾真的會有人來感謝我幫到他們的忙，這時候我就會心懷感激。所以我要繼續寫下去。泰戈爾說得對，\u0026ldquo;Live yourself as a light, because you don\u0026rsquo;t know, who by thy light, out of the darkness.\u0026rdquo;\n如果用英文發推，並跟上全球的tag流行趨勢，就算是日常廢文（Minecraft基岩版模組開發、Linux雜學之類的）也能讓不同國家的人看懂，換到更多點讚，有時候連不太會說英語的日本人都還會來留個言；否則用中文發推無人問津，看上去就像是自閉兒在自言自語了吧。\n我的小眾圈子還沒大到能用中文與親友團問候的程度，也沒有一定基數的「誇誇群」會來回覆我。\n要得是真的很厲害，破百萬追蹤的用戶才有不在乎他人眼光，用自己語言發推的權利。\n你走你的路　用我無法追趕的腳步　我也許將獨自跳舞　也許獨自在街頭漫步\n也許這一切不過是一個大頭症患者的妄想而已吧，你又不是股東，你怎麼用Twitter，怎麼看上面的用戶畫像，現任的「混亂邪惡」老闆才不在乎。就算有多少人逃難到Mastodon或者Bluesky什麼的，資本大手一揮，你們還不是乖乖回來用。\n現在的Twitter越來越像是課金遊戲，一堆功能都在吸引你付錢，包括長推文功能與流量分紅計畫。在Elon Musk收購Twitter之後推出Twitter Blue政策之後引起爭議，他曾在timeline貼一張嘲諷大夥的梗圖，說你寧願花錢去喝星巴克，卻連藍勾勾都買不下手。事實上，花錢就能買到藍勾勾的認證雖然可以給Twitter公司帶來大筆收入，但也助長了機器人與詐騙帳號更加氾濫，因為無從辨別誰是真實用戶。這是Twitter改名X之後Musk都尚未解決的承諾呀 ～ 我的陌生訊息收件箱幾乎都是機器人帳號的詐騙邀約，麻了。\n要秉持世界主義，就要先學會愛其他人，不捨近求遠，包括愛你自己身邊的人。\n「去城牆中愛人吧，如果做不到只會重蹈覆轍而已，無論幾次都只會重演同樣的歷史、同樣的過錯，永無止盡。」\n","date":"2025年7月18日","externalUrl":null,"permalink":"/posts/my-weird-take-on-using-twitter/","section":"Politics","summary":"儘管台灣主流社群媒體大多是外國公司經營的，不過在我心目中，只有Twitter被我視為一個仍屬於外國的社群媒體。意即是說，台灣相對少人用，那是「外國人的地盤」。\n簡述我玩Twitter的歷史：這個帳號@Ivon852早在Twitter改名為X.com之前就已經加入了，這個月是第11週年。初期是用來追蹤一些Twitter的Minecraft PE外國創作者帳號，還有追蹤畫R18同人本的日本繪師消息。2020年我開始製作Minecraft Bedrock模組後才積極更新動態，大部份是用英文報導開發進度，還加了一票Discord好友獲得友善互動。大概2022年之後意志消沈，Twitter便很少使用了，還把過去追蹤的幾百個帳號都退追了，堅壁清野，只有偶爾在上面轉推一些資訊消息。現在慢慢把過去的帳號追蹤回來，主力追蹤的是FOSS開發者以及Linux方面的消息，還有喜歡的日本繪師以及Minecraft資訊。是的，即使開源社群偏好Mastodon，但還是有許多沒那麼純的用戶，會受不了大公司誘惑，繼續待在主流平台。\n曾經我的Twitter bio放的是：「獨立、反共、建國」的標語，不過太政治廚就刪掉了。只留下「我喜歡軍事飛機和FOSS文化。」 不過我還是不知道從何重新開始 ———— 對比我在Reddit上混的還算可以，Twitter不知道怎麼重新起步。\n以前我對外國網站不熟悉的時候，是專門把Reddit和Twitter當黃網在看的，正如一些中國人講的：「翻牆看黃不是來看政治的」，又有人說：「翻牆還愛黨，必是狗娘養。」\n","title":"總覺得在Twitter上面看到中文發言就感到噁心，想要遠離中推圈","type":"politic"},{"content":"","date":"2025年7月17日","externalUrl":null,"permalink":"/tags/jellyfin/","section":"標籤","summary":"","title":"Jellyfin","type":"tags"},{"content":"使用內含MPV的Jellyfin客戶端，提昇影片播放效能，還能夠載入畫質提昇著色器Anime4K！ Jellyfin網頁版效能不好，Ivon建議用電腦播放Jellyfin影片的用戶，安裝原生客戶端(client)，它們能有效利用客戶端硬體的解碼能力，得以使用「Direct Play」，避免Jellyfin伺服端(server)在串流的過程中還得轉碼影片，拖累播放效能。\n請先閱讀：Jellyfin影片解碼問題：直接播放與轉碼的差別\n尤其在家裡區域網路播放Jellyfin的時候，你應該不太需要轉碼降低畫質，而是直接播放最佳品質的原片吧。\nJellyfin官網有列出一些客戶端實作。\n下面Ivon針對官方開發的「Jellyfin Media Player」說明。此為Jellyfin官方開發的影片播放器，使用網頁版界面，搭配MPV後端提供原生解碼器，可以吃到mpv.conf。 1. 安裝Jellyfin Media Player # 至Github依照作業系統下載，這個程式支援Linux、Windows、macOS系統。\nLinux可以透過Flatpak安裝：\nflatpak install com.github.iwalton3.jellyfin-media-player 2. 連線到Jellyfin伺服器 # 開啟後，輸入Jellyfin伺服器的區域網路IP，即會跳出登入界面。 Linux的Flatpak容器版本似乎吃不到mDNS設定，連線的時候得打IPV4位址。\n接下來的操作就跟網頁版一模一樣。\n3. 載入mpv.conf設定檔 # 有使用MPV當作影片播放器後端的Jellyfin客戶端，可以載入MPV的設定檔。\n以Jellyfin Media Player為例，它的設定檔目錄分別位於：\nLinux (Flatpak): ~/.var/app/com.github.iwalton3.jellyfin-media-player/data/jellyfinmediaplayer/jellyfinmediaplayer.conf Windows: %LOCALAPPDATA%\\JellyfinMediaPlayer\\jellyfinmediaplayer.conf macOS: ~/Library/Application Support/Jellyfin Media Player/ Jellyfin Media Player的設定檔是寫在jellyfinmediaplayer.conf。因為使用MPV，所以可以額外在同一個目錄下新增mpv.conf，設定要使用的硬體加速選項。\n不過Jellyfin Media Player無法支援自訂快捷鍵(input.conf)和載入自訂著色器，得改用「Jellyfin MPV Shim」才可以。\n4. Jellyfin MPV Shim用法：Anime4K畫質提昇著色器 # 這是Jellyfin官方開發的投放應用程式，類似Chromecast。\n這個操作起來有一點不直覺，本身沒有圖形界面，你要開啟Jellyfin網頁版界面，才能投放影片到Jellyfin MPV Shim的視窗。在投放的過程中會使用到MPV，可以在這裡使用Anime4K的功能。\n在要播放Jellyfin影音的電腦，至Github依照作業系統下載安裝檔。 Linux使用Flatpak安裝：\nflatpak install flathub com.github.iwalton3.jellyfin-mpv-shim 在這裡填入Jellyfin伺服器IP位址，還有帳號密碼 啟動程式後，Jellyfin MPV Shim會自動縮小到系統匣。 進入Jellyfin網頁界面，選取右上角的「投放」，即會看到同一區域網路下的Jellyfin MPV Shim裝置 點選投放，這樣Jellyfin網頁一播放影片，就會自動跳出一個MPV播放視窗了。點兩下滑鼠退出全螢幕。 點一下Jellyfin MPV Shim的系統匣圖示 → Open Config Folder，在這裡就能夠套用MPV的自訂著色器了。\n理論上可以安裝補幀程式SVP或者安裝Anim4K提昇影片畫質。\n不過\u0026hellip;不知道為什麼設定檔直接放進去無效，得按Jellyfin MPV Shim的系統匣圖示 → Application Menu → Change Video Playback Profile，選取要提昇畫質的著色器。 ","date":"2025年7月17日","externalUrl":null,"permalink":"/posts/jellyfin-mpv/","section":"所有文章","summary":"使用內含MPV的Jellyfin客戶端，提昇影片播放效能，還能夠載入畫質提昇著色器Anime4K！ Jellyfin網頁版效能不好，Ivon建議用電腦播放Jellyfin影片的用戶，安裝原生客戶端(client)，它們能有效利用客戶端硬體的解碼能力，得以使用「Direct Play」，避免Jellyfin伺服端(server)在串流的過程中還得轉碼影片，拖累播放效能。\n請先閱讀：Jellyfin影片解碼問題：直接播放與轉碼的差別\n尤其在家裡區域網路播放Jellyfin的時候，你應該不太需要轉碼降低畫質，而是直接播放最佳品質的原片吧。\nJellyfin官網有列出一些客戶端實作。\n下面Ivon針對官方開發的「Jellyfin Media Player」說明。此為Jellyfin官方開發的影片播放器，使用網頁版界面，搭配MPV後端提供原生解碼器，可以吃到mpv.conf。 1. 安裝Jellyfin Media Player # 至Github依照作業系統下載，這個程式支援Linux、Windows、macOS系統。\nLinux可以透過Flatpak安裝：\nflatpak install com.github.iwalton3.jellyfin-media-player 2. 連線到Jellyfin伺服器 # 開啟後，輸入Jellyfin伺服器的區域網路IP，即會跳出登入界面。 Linux的Flatpak容器版本似乎吃不到mDNS設定，連線的時候得打IPV4位址。\n","title":"Jellyfin + MPV，使用內建解碼器的電腦客戶端，解決影片播放不順","type":"posts"},{"content":"將Sony Xperia 1 III (XQ-BC72，LineageOS機型代號pdx215) 刷機升級最新Android系統，並取得Root權限，安裝降壓APP緩解SD888處理器的過熱問題。\nSony Xperia 1、Sony Xperia 1 II、Sony Xperia 1 IV、Sony Xperia 1 V、Sony Xperia 1 VI、Sony Xperia 1 VII用戶亦可以參考本文的步驟。\n你可以選擇維持Sony原廠系統，並取得Root權限。或者把系統整個換掉，刷入LineageOS，再取得Root權限。\n1. 刷機理由 # 原本買到二手的Xperia 1 III，系統是已經停止更新的Android 13，覺得還能用Sony原廠系統撐一陣子，但是火龍888發熱實在太嚴重了，燙手又吃掉續航力。\n雖說Root後刷模組就能緩解，且Android 13仍還在Google的支援列表，不過我想要獲得更新的Android系統，所以一次做到絕。\n使用一個禮拜後\u0026hellip;好啦！我脫褲子。\n（別問我要sauce，因為圖是偷來的） Xperia 1 III刷LineageOS的特色如下：\n繼續獲得Android系統更新，目前最新版本Android 16 自訂LED指示燈顏色 刷機後仍可使用部份Sony原廠功能，例如120Hz、導演模式BT.2020色域、Dolby Atmos、Photo Pro 可以在1080p與4K解析度之間切換 使用Konabess調整處理器電壓，解決SD888處理器的發熱問題，增加續航力 DRM等級會噴掉 解鎖後部分APP過不了Play Integrity 話說手機做4K螢幕的意義究竟在哪，除了噱頭以外還是噱頭。電腦顯示器我這個boomer都要27吋才看得出差別了，6、7吋的手機硬要上4K實在是浪費電。Android手機在仿Retina技術之後，1080p大部分都看不出像素點了吧。其實Xperia 1 III不是一直都以4K解析度顯示，大部分情況是1080p，只有少部份APP以4K執行，但還是很耗電。\nLineageOS提供選擇解析度的功能，可以設定要用1080p還是4K畫質，體感用1080p執行，一般使用發熱的程度就降低許多了。說實在4K在6.5吋的螢幕也看不出啥差異，所以就用1080p吧。\n如果要進一步控制功耗，使用APP調整電壓與頻率，犧牲部分效能換續航。\n至於系統介面可能不會有什麼新的感受，因為Sony原廠系統就長得很原生。LineageOS提供更多自訂選項。 2. 檢查手機是否能夠刷機 # Xperia 1 III市面販售的型號有XQ-BC42、XQ-BC52、XQ-BC62、XQ-BC72、SO-51B、SOG03、A101SO，除了部份日本電信版之外應該都能夠解除Bootloader鎖並刷入LineageOS。\n開啟Sony撥號APP，輸入*#*#7378423#*#*，開啟service info → configuration，查看Bootloader unlock allowed是否為Yes。\n3. 下載LineageOS與GApps刷機檔案 # Linux電腦不需要安裝Android機驅動，不過Windows 11可能需要Sony發表的驅動。\n依照作業系統下載ADB與Fastboot工具，解壓縮使用。\n到LineageOS官網下載Xperia 1 III的LineageOS ROM，根據Wiki，需要下載的檔案為lineage-22*-nightly-pdx215-signed.zip、boot.img、dtbo.img、vbmeta.img\n為了防止A/B分區出錯，需要下載LineageOS提供的copy-partitions-20220613-signed.zip\n最後是GApps，我選LineageOS Wiki推薦的MindTheGapps，選取Android 15 ARM 64的版本，得到MindTheGapps-15.0.0-arm64-*.zip。\n4. 解鎖Bootloader # 刷機前的重要步驟。這一步驟會清除所有手機資料，請先備份好。\n刷機前需要先將原廠韌體升級到Android 13以上版本。\n將Google帳號全數登出。\n開啟Sony撥號APP，輸入*#*#7378423#*#*， 開啟service info → configuration，查看Bootloader unlock allowed是否為Yes。\n開啟系統設定，在「關於手機」的畫面紀錄手機的IMEI碼\n到Sony Unlock Bootloader官網，滑到下面，選取手機型號，填寫IMEI取得解鎖碼。\n在關於手機的版本號碼點5下，啟用開發人員選項。\n在開發人員選項裡面開啟「允許OEM解鎖」與「允許ADB偵錯」\n將手機連到電腦，使用ADB指令配對\nadb devices 重新啟動進入Fastboot adb -d reboot bootloader 手機螢幕應該會出現藍色燈號 確認連接狀態\nfastboot devices 開始解鎖。解鎖碼前面要加上0x fastboot oem unlock 0x解鎖碼 重開機，拔掉傳輸線，等待手機自動清除資料，重開機後再關機。 fastboot reboot 5. 刷入LineageOS ROM # 手機關機的情況下，按著音量上鍵，接上傳輸線，會進入Fastboot模式（藍色燈號）\n於存放ROM的目錄開啟終端機，刷入以下三個檔案\nfastboot flash dtbo dtbo.img fastboot flash vbmeta vbmeta.img fastboot flash boot boot.img 重新啟動 fastboot reboot-recovery 應該會進入LineageOS的Recovery\n用音量鍵＋電源鍵，點選Apply update，啟用ADB模式。 刷入copy-partitions-20220613-signed.zip\nadb -d sideload copy-partitions-20220613-signed.zip 按Advanced → Reboot to recovery，依照提示重新啟動，再次進入Recovery\n點選Factory Reset → Format data / factory reset\n點選Apply update，啟用ADB模式。\n刷入LineageOS ROM\nadb -d sideload lineage-22*-nightly-pdx215-signed.zip 再次點選Apply update，啟用ADB模式。\n刷入GApps，手機顯示Signature verification failed的話點選yes，跳過簽名驗證\nadb -d sideload MindTheGapps-15.0.0-arm64-*.zip 選取Reboot system now，重開機。 6. 安裝Sony原廠APP # 目前LineageOS沒有的Sony原廠功能：X1 for mobile、音效動態震動、遊戲增強器、H.S.電源控制、側面感應、智慧型除噪器、UVC外部監視器。\n開啟系統設定 → 顯示，「流暢顯示」就是120Hz，「進階顯示設定」裡面有導演模式。「螢幕解析度」可以切換1080p與4K解析度，不知為何設定4K解析度DPI不會跟著變，要到開發人員選項 → 最小寬度設定為400。 手機右上角的硬體LED指示燈要到系統設定 → 通知 → 通知指示燈開啟。這裡能夠自訂個別APP通知所使用的顏色。 「側面感應」無法移植到LineageOS，類似方案是刷Mi-Freeform模組。\n不知道為什麼，我用4G上網的時候容易爆ping，外國網站連線很慢，但用Wifi又正常。得在設定 → 網路 → 行動網路，關掉自動選擇網路，手動點選電信商網路，再將偏好的網路類型改成4G才比較正常。\n如果需要Xperia 1 III原廠的動態桌布的話可以到ApkMirror下載。\nPhoto Pro和Cinema Pro只需要安裝APK即可。\n感謝Dcard網友分享：#分享 Sony Xperia 1 III 可用的原廠攝影/錄音軟體\nXperia 1 III原廠的Photo Pro版本是1.3.2.A.1.0，雖然新版最高可以裝到1.6.A.0.27，不過拍照有小機率卡住，我試過降版狀況依舊，可能是LineageOS的問題。新版Photo Pro的界面失去了原本Alpha相機的科技感，但能夠直向手動模式拍照。我果然還是比較喜歡舊版哪。 Cinema Pro (Video Pro)原廠的版本1.7.1.A.0.10，最高裝到1.3.A.0.19，確認能夠正常錄影。這比原廠的還新一個版本，可以直向操作錄影。 我另外多了裝了一個Music Pro，版本1.1.0.A.0.16，這是音訊編輯程式，提供多軌音樂編輯功能。\nDolby Atmos得在Root後找Sound-Enhancement-Sony-Xperia-10-Magisk-Module或者Dolby-Atmos-Sony-Xperia-5-V-Magisk-Module來刷，找不到Xperia 1的版本。我感覺這個模組的效果比Xperia 1 III原廠的差一些。 刷這個360-Reality-Audio-Upmix-Sony-Xperia-5-V-Magisk-Module取得360 Reality Audio，讓揚聲器以及耳機支援360度音效。不過這個功能很廢，需要串流平台本身也支援360度音效才有效果。\n7. 取得Root權限 # 非必要步驟，但為了使用Dolby Atmos與KonaBess，這是必要程序。\n為了提昇隱蔽性，我使用APatch方案取得Root權限。\n8. 解決SD888發熱與提昇續航 # 實在沒想到2025年了還要用這種調底層核心的手段來讓手機比較好用，上次我用這種東西還是2017年用Kernel Adiutor給Zenfone 2 Selfie的SD615關核心省電來著。SD615是傳說中的超爛中階處理器，沒效能又噴電，比SD810還慘，是當年Qualcomm為了追逐Apple第一顆64位元處理器A7所趕工出來的產品。\n沒辦法，誰叫火龍SD888體質有問題，廠商調校又不好。要爆改手機裝散熱器太困難了，先用軟體的解決方案。\nKonaBess是中國開發者推出的APP，圖示就是消滅火龍XD。此APP需要Root權限。到Github下載APK，再賦予Root權限。XDA、酷安、巴哈都有人提出解決方案，把處理器稍微降電壓，犧牲一些效能，減少發熱問題。我參考的是這篇設定：【心得】降壓超頻的工具-Konabess。開啟APP後按Edit GPU Freq Table，按照文章888的表格，去填寫對應頻率的電壓，點選Repack and flash new image寫入，重開機。 如果刷了開不了機，就用fastboot重刷LineageOS的boot.img。\n使用前，我用行動網路隨便滑個Facebook就會4、50度。使用後感覺沒那麼容易燒起來了，長時間使用4G下載東西也就溫溫的，電池續航力提昇了一點點。\n另一個方案，是使用SD888 Efficient Tuning Module，不只降電壓還降低頻率，可以抑制發熱。這個是以Magisk模組方式刷入，方便在管理界面開關模組，自由選擇你想要的「檔位」。 還可以使用酷安開發者推出的Scene工具箱讓系統省電。\n東搞西搞下，螢幕亮著的續航力應該能提升到5小時以上吧。\n","date":"2025年7月13日","externalUrl":null,"permalink":"/posts/sony-xperia-1-iii-lineageos/","section":"所有文章","summary":"將Sony Xperia 1 III (XQ-BC72，LineageOS機型代號pdx215) 刷機升級最新Android系統，並取得Root權限，安裝降壓APP緩解SD888處理器的過熱問題。\nSony Xperia 1、Sony Xperia 1 II、Sony Xperia 1 IV、Sony Xperia 1 V、Sony Xperia 1 VI、Sony Xperia 1 VII用戶亦可以參考本文的步驟。\n你可以選擇維持Sony原廠系統，並取得Root權限。或者把系統整個換掉，刷入LineageOS，再取得Root權限。\n1. 刷機理由 # 原本買到二手的Xperia 1 III，系統是已經停止更新的Android 13，覺得還能用Sony原廠系統撐一陣子，但是火龍888發熱實在太嚴重了，燙手又吃掉續航力。\n雖說Root後刷模組就能緩解，且Android 13仍還在Google的支援列表，不過我想要獲得更新的Android系統，所以一次做到絕。\n使用一個禮拜後…好啦！我脫褲子。\n（別問我要sauce，因為圖是偷來的） Xperia 1 III刷LineageOS的特色如下：\n繼續獲得Android系統更新，目前最新版本Android 16 自訂LED指示燈顏色 刷機後仍可使用部份Sony原廠功能，例如120Hz、導演模式BT.2020色域、Dolby Atmos、Photo Pro 可以在1080p與4K解析度之間切換 使用Konabess調整處理器電壓，解決SD888處理器的發熱問題，增加續航力 DRM等級會噴掉 解鎖後部分APP過不了Play Integrity 話說手機做4K螢幕的意義究竟在哪，除了噱頭以外還是噱頭。電腦顯示器我這個boomer都要27吋才看得出差別了，6、7吋的手機硬要上4K實在是浪費電。Android手機在仿Retina技術之後，1080p大部分都看不出像素點了吧。其實Xperia 1 III不是一直都以4K解析度顯示，大部分情況是1080p，只有少部份APP以4K執行，但還是很耗電。\n","title":"Xperia 1 III刷LineageOS + Root解決SD888過熱問題 + 降頻省電","type":"posts"},{"content":"在使用Docker安裝Jellyfin之前，應該先準備好影音檔案。\nJellyfin會掃描硬碟影片資料夾，嘗試從TheMovieDB抓取影片的中繼資料，並顯示一個多媒體中心的面板讓你瀏覽。這樣比起單純以資料夾形式瀏覽影片舒服多了吧。 TheMovieDB是一個龐大的線上資料庫，舉凡電影、電視劇、紀錄片、動畫卡通、成人動畫等等，各種類型的影片都有收錄。\n如果你要使用Jellyfin的中繼資料功能，而非使用純資料夾模式瀏覽檔案，應該要遵循建議的格式放置檔案，方便爬蟲抓取正確的資料，否則Jellyfin可能會無法辨識集數。\n影片中繼資料允許使用者手動編輯。\n1. 檔案命名的語言 # 關於資料夾與檔案名稱要用中文還是原文：看情況。\nTheMovieDB包含多國語言翻譯的標題，大部分時候Jellyfin都抓得到，不過也有誤判的時候，可能一部影片只有英文標題卻沒有中文翻譯。這時請強制指定媒體庫抓取中繼資料的語言。在容易搞混的影片名稱後面加上(年份)也能提昇搜尋準確度。\nTheMovieDB嚴格區分節目與電影，ID是不可以混用的。如果一個影片資料夾含有動畫與動畫電影，建議在建立媒體庫的時候，類型勾選「包含節目與電影」。\n若不知道檔案應該怎樣命名，嘗試搜尋「影片名稱 + TheMovieDB」參考網站上面的格式，例如一季電視節目，最常見的格式就是影片名稱 S01E01。\n如果Jellyfin在第一次掃描的時候抓錯影片封面，請在修正檔案名稱後，到設定 → 控制台 → 媒體庫，點媒體庫旁邊的三個點，按下掃描媒體庫，並勾選取代現有媒體資訊與縮圖。或者移除媒體庫，重新加入再掃描。 2. 資料夾命名格式範例 # 電影 # 根據Jellyfin的官方文件，一個「電影」資料夾的結構應該如下：\n電影 ├── 電影名稱 (年份) │ ├── 電影名稱 (年份).mp4 │ ├── 電影名稱 (年份).nfo │ ├── 電影名稱 (年份).en_us.srt │ ├── cover.png │ └── theme.mp3 └── 電影名稱二 (年份) [imdbid-tt12801262] ├── backdrop.jpg └── VIDEO_TS ├── VIDEO_TS.BUP ├── VIDEO_TS.IFO ├── VIDEO_TS.VOB ├── VTS_01_0.BUP ├── VTS_01_0.IFO ├── VTS_01_0.VOB ├── VTS_01_1.VOB └── VTS_01_2.VOB 每部電影都應該以一個資料夾分類，電影名稱後面建議標記年份，裡面是影片檔和電影，命名格式是[電影名稱] [年份]，後面可以（選擇性）再加上一串IMDB資料庫的ID。影片檔名後面加上季數與集數。\nJellyfin支援大部分影片格式，從DVD抽取出來的VBO檔案也可以播放。\n如果有.srt字幕檔，則應該跟影片放在同一個資料夾下。\n電視節目 # 根據Jellyfin的官方文件\n以下是多部電視「動畫」資料夾的結構：\n動畫 ├── 動畫名稱 (年份) │ ├── 第零季（也就是特典、OVA之類的） │ │ ├── 特別篇.mkv │ │ ├── 動畫名稱 S01E01.mkv │ │ └── 動畫名稱 S01E02.mkv │ ├── 第一季 │ │ ├── 動畫名稱 S02E01-E02.mkv │ │ ├── 動畫名稱 S02E03.mkv │ │ └── 動畫名稱 S02E04.mkv │ └── 第二季 │ ├── 動畫名稱 S03E01.mkv │ ├── 動畫名稱 S03E02.mkv │ ├── 動畫名稱 S03E03 Part 1.mkv │ └── 動畫名稱 S03E03 Part 2.mkv └── 動畫名稱 (年份) ├── 第一季 | ├── 動畫名稱 S01E01.mkv | └── 動畫名稱 S01E02.mkv └── 第二季 ├── 動畫名稱 S01E01-E02.mkv └── 動畫名稱 S01E03.mkv 每部動畫都要用一個資料夾分類，並用資料夾區隔各季集數。如果有.srt字幕檔，則應該跟影片同名，後面加上字幕語言，放在同一個資料夾下。\n內含特別篇的動畫，需要在Jellyfin右上角 → 控制台 → 媒體庫 → 顯示，勾選「顯示劇集季度中的特集」。\nJellyfin支援遞迴搜尋，所以不一定要這樣放，可以把「同一個系列」放在同一個資料夾下，然後下面再區分各部動畫的年份，譬如：\n動畫/強襲魔女系列 ├── 強襲魔女 (2008) ├── 強襲魔女2 (2010) ├── 強襲魔女劇場版 (2012) ├── 強襲魔女 Operation Victory Arrow (2014) ├── 無畏魔女 (2016) ├── 強襲魔女通往柏林之路 (2020) └── 聯盟空軍航空魔法音樂隊 光輝魔女 (2022) 這樣子Jellyfin應該還是能找到各部動畫。\n音樂專輯 # Jellyfin預設是以MP3的tag來進行分類的，大部分客戶端也是讀這些資訊。唯有Jellyfin網頁版提供「依照資料夾播放音樂」的功能。因此音樂檔案本身的中繼資料建議要是完整的，否則一律會顯示「未知的演出者」。\n根據官方文件\n音樂專輯應該如下放置，可以是一張專輯一個資料夾，或者以藝人下去分類。\nMusic ├── 藝人名稱 │ ├── 專輯一 │ │ ├── 歌曲1.flac │ │ ├── 歌曲2.flac │ │ └── 歌曲3.flac │ └── 專輯二 │ ├── 曲目1.m4a │ ├── 曲目2.m4a │ └── 曲目3.m4a └── 專輯名稱 ├── cover.jpg ├── Whatever You.mp3 ├── Like To.mp3 ├── Name Your.mp3 └── Music Files.mp3 3. 手動編輯影片中繼資料 # 如果檔案命名符合Jellyfin規範，TheMovieDB網頁確實有收錄該影片，但自動搜尋怎樣都抓不到資料的話，這時得手動編輯中繼資料。\n點選進入，影片的三個點 → 識別 在這裡貼上搜尋條件。直接貼上TheMovieDB網頁顯示的ID來搜尋比較快。例如Top Gun (1986)的網址是https://www.themoviedb.org/movie/744-top-gun，那麼ID就填寫744 點選搜尋到的結果，自動填入影片資料。 如果還是找不到，你就得自行填中繼資料了。\n需要注意的是，TheMovieDB的網址有嚴格區分電影與電視節目，Jellyfin也遵照此規則。所以一個「電影」的媒體庫若同時包含電影與電視節目的影片，Jellyfin就會找不到電視節目的中繼資料。此時你只得把二個檔案分開放。\n","date":"2025年7月12日","externalUrl":null,"permalink":"/posts/jellyfin-media-folder-structure/","section":"所有文章","summary":"在使用Docker安裝Jellyfin之前，應該先準備好影音檔案。\nJellyfin會掃描硬碟影片資料夾，嘗試從TheMovieDB抓取影片的中繼資料，並顯示一個多媒體中心的面板讓你瀏覽。這樣比起單純以資料夾形式瀏覽影片舒服多了吧。 TheMovieDB是一個龐大的線上資料庫，舉凡電影、電視劇、紀錄片、動畫卡通、成人動畫等等，各種類型的影片都有收錄。\n如果你要使用Jellyfin的中繼資料功能，而非使用純資料夾模式瀏覽檔案，應該要遵循建議的格式放置檔案，方便爬蟲抓取正確的資料，否則Jellyfin可能會無法辨識集數。\n影片中繼資料允許使用者手動編輯。\n1. 檔案命名的語言 # 關於資料夾與檔案名稱要用中文還是原文：看情況。\nTheMovieDB包含多國語言翻譯的標題，大部分時候Jellyfin都抓得到，不過也有誤判的時候，可能一部影片只有英文標題卻沒有中文翻譯。這時請強制指定媒體庫抓取中繼資料的語言。在容易搞混的影片名稱後面加上(年份)也能提昇搜尋準確度。\nTheMovieDB嚴格區分節目與電影，ID是不可以混用的。如果一個影片資料夾含有動畫與動畫電影，建議在建立媒體庫的時候，類型勾選「包含節目與電影」。\n若不知道檔案應該怎樣命名，嘗試搜尋「影片名稱 + TheMovieDB」參考網站上面的格式，例如一季電視節目，最常見的格式就是影片名稱 S01E01。\n","title":"Jellyfin建議的影片資料夾結構 ＆ 編輯影片中繼資料","type":"posts"},{"content":"在使用Docker安裝Jellyfin之後，可能會遇到缺字問題。\n如果影片的.ass字幕檔有使用額外字型，需要手動放入字型，否則中文字幕會變成方塊亂碼。 將要使用的.ttf或者.otf字型集中放在一個Linux的資料夾。例如中日文字型可以使用Noto CJK fonts，有些漢化組也會在資源中提供.ass用到的字幕樣式。並參照FreeDesktop的XDG標準，放到/home/user/.local/share/fonts/資料夾。 修改Jellyfin的docker-compose.yml，修改Docker volume的部份，將字型所在的資料夾掛載進容器裡面的/usr/local/share/fonts/custom/\nvolumes: - \u0026#34;./config:/config\u0026#34; - \u0026#34;./cache:/cache\u0026#34; - type: bind source: \u0026#34;/home/user/電影/\u0026#34; target: \u0026#34;/電影/\u0026#34; read_only: true - type: bind source: \u0026#34;/home/user/動畫/\u0026#34; target: \u0026#34;/動畫/\u0026#34; read_only: true - type: bind source: \u0026#34;/home/user/音樂/\u0026#34; target: \u0026#34;/音樂/\u0026#34; read_only: true - type: bind # 掛載字型目錄 source: \u0026#34;/home/user/.local/share/fonts/\u0026#34; target: \u0026#34;/usr/local/share/fonts/custom/\u0026#34; read_only: true 重新啟動Jellyfin的Docker服務。 sudo docker compose down sudo docker compose up -d 開啟Jellyfin，點右上角 → 控制台 → 播放 → 轉檔，勾選啟用備用字體，在這裡填入字型所在目錄。捲動到畫面最下面儲存。 嘗試播放影片字幕應該就會正常顯示了。還是不行的話重新啟動Jellyfin的Docker服務。 ","date":"2025年7月11日","externalUrl":null,"permalink":"/posts/jellyfin-custom-fonts/","section":"所有文章","summary":"在使用Docker安裝Jellyfin之後，可能會遇到缺字問題。\n如果影片的.ass字幕檔有使用額外字型，需要手動放入字型，否則中文字幕會變成方塊亂碼。 將要使用的.ttf或者.otf字型集中放在一個Linux的資料夾。例如中日文字型可以使用Noto CJK fonts，有些漢化組也會在資源中提供.ass用到的字幕樣式。並參照FreeDesktop的XDG標準，放到/home/user/.local/share/fonts/資料夾。 修改Jellyfin的docker-compose.yml，修改Docker volume的部份，將字型所在的資料夾掛載進容器裡面的/usr/local/share/fonts/custom/\nvolumes: - \"./config:/config\" - \"./cache:/cache\" - type: bind source: \"/home/user/電影/\" target: \"/電影/\" read_only: true - type: bind source: \"/home/user/動畫/\" target: \"/動畫/\" read_only: true - type: bind source: \"/home/user/音樂/\" target: \"/音樂/\" read_only: true - type: bind # 掛載字型目錄 source: \"/home/user/.local/share/fonts/\" target: \"/usr/local/share/fonts/custom/\" read_only: true 重新啟動Jellyfin的Docker服務。 sudo docker compose down sudo docker compose up -d 開啟Jellyfin，點右上角 → 控制台 → 播放 → 轉檔，勾選啟用備用字體，在這裡填入字型所在目錄。捲動到畫面最下面儲存。 嘗試播放影片字幕應該就會正常顯示了。還是不行的話重新啟動Jellyfin的Docker服務。 ","title":"解決Jellyfin的.ass中文字幕變成方框的問題，Docker載入自訂字型","type":"posts"},{"content":"calibre是一款跨平台的電子書管理程式，支援處理.mobi、.epub、.cbz、.pdf等多種電子書格式，同時可以變成伺服器供其他裝置存取電子書。\ncalibre功能豐富，適合管理電子書，如文學作品、工具書、論文，漫畫勉強也可以。\n我們知道calibre是桌面應用程式，要在有接上螢幕的電腦才可以使用。那麼如果是NAS或Linux伺服器怎麼辦呢？我們可以用Docker技術解決。\nLinuxServer.io為我們打包了Docker映像檔，他們製作的calibre映像檔有二個：\n一、linuxserver/calibre：用Docker跑headless X11，執行原版calibre主程式，再用網頁VNC存取介面。這個版本圖形效能很差，僅是方便遠端管理書庫，或是啟動內建的Content server。 在iPad瀏覽器的閱讀界面長這樣，就是直接顯示桌面版calibre閱讀器的界面。 二、linuxserver/calibre-web：另一名開發者製作的網頁版介面，具有簡單的中繼資料管理面板。需要calibre書庫才能使用。 calibre-web內建閱讀器，閱讀介面比calibre內建的Content server好，會依照螢幕大小自動調整版面。\n在iPad瀏覽器的閱讀界面，EPUB會自動依照螢幕大小重排文字。 PDF則是類似Chrome的PDF檢視器，以PDF.js瀏覽文件內容，不用下載就能看。 以上兩個方案很適合部署到NAS或Linux伺服器，因為沒有螢幕自然就不能使用calibre桌面版了。透過Docker跑calibre，你就能在NAS上進行書籍管理。再搭配calibre-web，方便在手機或平板，用瀏覽器閱讀NAS上的書籍。\n這樣做的好處是什麼呢？將所有的書籍集中在一處，其他裝置連APP都不用裝，只要有瀏覽器，就能夠閱讀calibre書庫的書籍。\n1. 架設calibre + KasmVNC # 這個步驟是用Docker跑calibre原版桌面版主程式，再用網頁版的KasmVNC存取圖形介面。\n僅適合遠端管理書庫，不適合看書。如果純粹要閱讀，請用calibre-web。\nDocker版calibre功能跟桌面版的是一樣的，資料庫可以共用，但匯入書籍比較麻煩，放置匯入書籍的目錄必須一併掛載給容器使用。\n新增存放資料的目錄 mkdir -p ~/calibre # 如果沒有現有書庫，就新增這個空目錄 mkdir -p ~/calibre/calibre書庫 # 書籍需要匯入到calibre資料庫才能閱讀，新增這個存放要匯入書籍的目錄，方便從其他地方上傳檔案 mkdir -p ~/calibre/import cd calibre vim docker-compose.yml 新增docker-compose.yml如下： services: calibre: image: lscr.io/linuxserver/calibre:latest container_name: calibre security_opt: - seccomp:unconfined environment: - PUID=1000 - PGID=1000 - TZ=Asia/Taipei #時區 - PASSWORD= #自訂密碼，用於網頁連線驗證用，預設帳號為abc - CLI_ARGS= - CUSTOM_PORT=8080 volumes: - ./config:/config # 將calibre設定檔放在這個目錄下，可使用現有calibre書庫目錄 - ./calibre書庫:/config/calibre書庫 # 將目前的calibre書庫掛載到容器內的/config/calibre書庫，也可以使用現有書庫 - ./import:/config/import # 將尚未匯入到calibre的電子書目錄掛載到容器內部 ports: - 8080:8080 # calibre網頁對外通訊埠(http)，冒號左邊可以修改 - 8181:8181 # calibre網頁對外通訊埠(https) - 8081:8081 #calibre內建伺服器通訊埠 restart: unless-stopped 啟動服務 sudo docker compose up -d 用瀏覽器開啟http://localhost:8080或http://伺服器區域IP:8080，進入calibre頁面，輸入預設帳號abc，還有上面設定的密碼。\n設定書庫路徑。注意預設的有空格，應該要選取calibre書庫這個目錄。 之後的用法跟桌面版calibre一樣，將書籍檔案上傳到剛剛新增的~/calibre/import/目錄，再於calibre界面點選左上角的「加入書本」，選取/config/import/目錄下的書籍匯入。 網頁VNC效能不佳，開啟calibre內建閱讀器載入比一般桌面版久，所以此界面僅方便遠端管理書庫，例如整理標籤、抓取詮釋資料、編輯EPUB中繼資料之類的工作。 2. 架設calibre-web # calibre web提供現代化的網頁版書庫介面，原始碼可於Github取得。\ncalibre-web書籍管理功能很弱，所以建議先用calibre建立書庫，再用calibre-web閱讀。\n建立存放資料的目錄 mkdir -p ~/calibre-web cd ~/calibre-web vim docker-compose.yml 新增docker-compose.yml，填入以下內容： services: calibre-web: image: lscr.io/linuxserver/calibre-web:latest container_name: calibre-web environment: - PUID=1000 - PGID=1000 - TZ=Asia/Taipei #時區 volumes: - ./config:/config #calibre-web設定檔存放在目前目錄下 - /home/user/calibre/calibre書庫:/books # 將calibre書庫目錄與calibre-web共享 ports: - 8083:8083 # calibre-web對外通訊埠，冒號左邊可以修改 restart: unless-stopped 啟動服務 sudo docker compose up -d 開啟瀏覽器，從http://localhost:8083存取網頁介面，預設帳號admin，密碼admin123\n登入後設定書庫位置 之後就可以開始閱讀了，它支援用calibre的標籤搜尋，可以直接在網頁檢視.mobi、.cbz、.epub、.pdf檔案。 3. 從外部網路存取書庫 # 設定內網穿透軟體，這樣其他裝置便能透過http://虛擬區域IP:8083存取calibre-web的網頁界面，或是透過OPDS協定瀏覽calibre的書庫。\n","date":"2025年7月11日","externalUrl":null,"permalink":"/posts/calibre-web-docker/","section":"所有文章","summary":"calibre是一款跨平台的電子書管理程式，支援處理.mobi、.epub、.cbz、.pdf等多種電子書格式，同時可以變成伺服器供其他裝置存取電子書。\ncalibre功能豐富，適合管理電子書，如文學作品、工具書、論文，漫畫勉強也可以。\n我們知道calibre是桌面應用程式，要在有接上螢幕的電腦才可以使用。那麼如果是NAS或Linux伺服器怎麼辦呢？我們可以用Docker技術解決。\nLinuxServer.io為我們打包了Docker映像檔，他們製作的calibre映像檔有二個：\n一、linuxserver/calibre：用Docker跑headless X11，執行原版calibre主程式，再用網頁VNC存取介面。這個版本圖形效能很差，僅是方便遠端管理書庫，或是啟動內建的Content server。 在iPad瀏覽器的閱讀界面長這樣，就是直接顯示桌面版calibre閱讀器的界面。 二、linuxserver/calibre-web：另一名開發者製作的網頁版介面，具有簡單的中繼資料管理面板。需要calibre書庫才能使用。 calibre-web內建閱讀器，閱讀介面比calibre內建的Content server好，會依照螢幕大小自動調整版面。\n在iPad瀏覽器的閱讀界面，EPUB會自動依照螢幕大小重排文字。 PDF則是類似Chrome的PDF檢視器，以PDF.js瀏覽文件內容，不用下載就能看。 以上兩個方案很適合部署到NAS或Linux伺服器，因為沒有螢幕自然就不能使用calibre桌面版了。透過Docker跑calibre，你就能在NAS上進行書籍管理。再搭配calibre-web，方便在手機或平板，用瀏覽器閱讀NAS上的書籍。\n","title":"Docker跑calibre-web，架設遠端閱讀電子書伺服器","type":"posts"},{"content":"複雜的心情，旗艦機居然感覺沒比中階機好太多。\n1. 喵的騙我 # 自從2023年，Xperia 5 II綠線發作自爆之後，拿著Xperia 10 V（SD695）到現在。雖然沒壞，但最近發現這台短板越來越明顯，除了SoC不怎麼樣之外，拍照錄音也很糟糕，只有長續航力能說嘴。這台就是二戰德軍的四號坦克吧，性能不突出但是是合格的軍馬。\n果然還是要有一台正常點的手機。現在Xperia 5 II螢幕維修仍要4000元以上，且綠線有復發之虞，因此覺得不如買新機，過季旗艦也能接受。原本考慮Google Pixel，但我的要求是無挖孔螢幕和接近原生系統，因此基本只能選Sony。\n不是我們想成為索粉，是你們逼迫我們成為索粉。生產腦袋有洞螢幕的手機廠商，Yes, you are all wrong!!!\n逛來逛去覺得後面幾代Sony太貴，買不下手。覺得最扯的是，Xperia 5 III ~ Xperia 5 IV居然都有綠線問題，當下最理想的手機應該是Xperia 5 V，可是太貴，倒回去看2020年出的Xperia 1 II。\n選旗艦機的理由當然是為了更好的相機與影音品質。即使是過季Sony旗艦，照相品質依然是上乘的。有了Photo Pro，照片精準還原色彩，我就不用GCam來救拍照了。\n本來，覺得花個5000元買Xperia 1 II（SD865）就好了，畢竟我只是想重新擁有Xperia 5 II的拍照品質，二台鏡頭規格一模一樣。不過卻在蝦皮拍賣買到嚴重瑕疵品。可能放太久了店家沒注意到，手機下方三鍵那一條有烙印，我是在改成手勢操作的時候才發現的。且手機外觀嚴重戰損（舊款Sony的玻璃背蓋真的容易破損呀）。所以就到店家換貨。 結果同型機沒貨了，加錢換其他的型號。早已耳聞Xperia 1 III（SD888）和Xperia 1 IV（SD 8 Gen 1）都是噴火龍，至少要Xperia 1 V（SD 8 Gen 2） 才是完全體，但沒貨，就將就買了Xperia 1 III，因為這支機況最好。\nXperia 10 V無法完全取代Xperia 5 II，Xperia 1 III或可接替Xperia 5 II之地位。這動態桌布看起來好像蜈蚣，彷彿就像Xperia 5 II的綠線，放著關機不用還會自己增殖。 討厭挖孔螢幕，我一直比較喜歡Sony的5和10系列的小手機，可是基於現實考量，5系列綠線炸彈，10系列性能太爛，我想買過季二手旗艦只能選1系列了。現在搭載SD888的Xperia 1 III價格接近紅米機，勉強買了下來。希望能結合5的旗艦效能與10的長續航\u0026hellip;怎麼可能嘛。必須用Magisk模組降頻到SD865等級才能防止過熱。然後再用SecondScreen降低解析度到720p才有5小時連續亮著螢幕的續航力。\n等到未來舊機價格進一步跳水，我才能入手夢寐以求的完美機型：Xperia 5 V。小手旗艦最後的榮耀。\n2. Xperia 1 III開箱 # 買到了一支機況不錯的Xperia 1 III，紫色，外觀幾乎無傷，看來上一個主人把它照顧的很好。以當初售價的五分之一入手。總覺得有點小盤。\n買來是空機，沒有原廠漂亮的盒子可以展示。\n功能測試都正常，指紋竟然沒壞掉。只有一個小缺點：螢幕從正下方側面看的時候會綠綠的，可能是這塊OLED天生缺陷。 簡易規格：Xperia 1 III (XQ-BC72) 是Sony在2021年發表的旗艦機，上市時12GB/256GB版本的定價是36,990元。\nXperia 1 III搭載三個鏡頭，分別為1200萬畫素16mm焦距超廣角 + 1200萬畫素24mm焦距廣角 + 1200萬畫素70mm-105mm焦距望遠鏡頭，還有ToF協助對焦。\n跟Xperia 10 V比起來，這個鏡頭是真的很巨大。 螢幕6.5吋，解析度4K120Hz，提供HDR與BT.2020色域支援，正面雙喇叭，處理器SD888，容量12GB/256GB，電池4500mAh。提供遊戲模式、Dolby Atoms、360度音訊功能。\n背蓋是玻璃材質，不過跟上一代不同，做了霧化處理，所以不容易沾指紋。\n根據系統資料顯示，這支充電循環次數一千多次了，但是電池容量還有92%，看來前一個主人把它照顧的很好。\n出廠系統版本Android 11，原廠已經停止更新支援。\n3. Xperia 1 III使用感想：燒燙燙 # 用了一陣子中階機，重回旗艦機，超細邊框，玻璃背蓋，手感都不一樣了，尤其是打字震動回饋，那精細的回饋感真的是高級體驗，輕按和長按的震動幅度有別！一瞬間覺得Xperia 10 V塑膠殼好廉價（但它確實很耐用）。\n影音體驗變好，有「導演模式」提供準確螢幕色準，還有HDR內容。真DCI-P3回來了，不再是Xperia 10 V的假廣色域支援。Xperia 10 V總是宣傳有TRILUMINOS的瞎咪碗糕技術，但其實根本不能顯示DCI-P3色域的圖片。Xperia 1 III不只可以，還有導演模式提供的BT.2020色域。\n前向雙喇叭變得很大聲，配上Dolby Atomos提供高解析音質。\n拍照沒話說，比Xperia 5 II更好的相機！還有類似單眼界面的Photo Pro能用。好久不見，旗艦機才有的Photo Pro與Cinema Pro。 當然，Sony相機的自動模式拍起來還是沒有特別出色，需要手動調參數。下面兩張圖片有用digiKam稍微調亮一點。 戶外拍攝，在日光下的發色就很自然，不會渲染成討喜的顏色。這樣的負面效果就是畫面很容易黑黑的，需要開Photo Pro的P模式手動調整ISO。如果說跟Xperia 10 V的相機比較，Xperia 1 III就是自動白平衡比較準，不會再把紅色物體拍成橘色了，且畫面較為乾淨。Xperia 10 V需要裝GCam並且耐心的調整白平衡才能達到類似的效果。 105mm望遠鏡頭不知道能幹嘛，只覺得戶外遠處拍鳥有點用處。 剛開始用時候似乎有點斷觸？只是錯覺，因為手機變大支了，手感需要熟悉一下，玩osu!測試是沒問題的。\nXperia 1 III比Xperia 10 V大支（185g vs 160g），感覺好重\u0026hellip;單手難以握持，沒辦法單手操作，需要另一隻手扶著。不過為了更好的硬體也只能忍了。\n原本以為Sony Xperia 1系列6.5吋太大支不好拿，可是到PhoneArena比較大小後才釋懷，畢竟iPhone 17 Pro Max跟以前21:9比例的Xperia 1 III差不多一樣大支，重的像磚頭，還不是一堆人搶著買。新款Xperia 1 VII放棄了21:9比例後就跟iPhone 17 Pro Max一樣了。啊啊，現在市場的主流真的是螢幕越做越大啊。起碼Sony對Android手機重量的控管還是不錯的，1系列雖然大支，卻從來沒有一支超過200g。\n關於SD888，眾所皆知存在過熱問題，在系統更新和長時間拍照，還有長時間亮著螢幕使用5G下載東西的時候最明顯，處理器的位置大約會升高到50度左右。過熱的時候除了降頻還會導致5G速度下降。考慮到台灣的炎熱天氣，這支帶出門長時間拍照有危險。\n不過，Sony系統調整的不錯，待機冰冰的，日常使用看網頁頂多溫溫的而已，沒那麼容易燒起來。火龍888看起來沒有那麼嚴重嘛。嗯\u0026hellip;發熱情況確實比較常見，連續拍照只要五分鐘就會燙了。Xperia 10 V處理器（SD695）雖平庸但穩定，想熱起來都難呀。\nXperia 10 V我的使用經驗是，中度使用一整天都不用充電，隔天還能有50%。Xperia 1 III續航力確實比Xperia 10 V短少一半以上，不可能撐超過一天，中度使用8小時就沒電了。大概就回復到以前Xperia 5 II的水準。Xperia 1 III沒辦法撐太久，除非開啟STAMINA模式強制降頻，話說我很久沒用過這功能了。拿Xperia 10 V的時候從沒在意電量問題，Xperia 1 III電量焦慮卻回來了。\n耗電的因素可能是4K螢幕導致，即使沒開120Hz還是耗電且易發熱。我想過要用ADB降解析度，但是根據其他使用者回報，Sony系統只有特定APP會以4K解析度呈現，大部分時候是1080p。故，沒有必要刻意降低解析度。\n最後，這支最新系統版本是Android 13，原廠已經停止更新了。雖然有LineageOS（代號pdx215）可以刷，不過我還得不想失去音樂動態震動、Dolby Atoms、H.S.電源控制的可愛功能，所以就先維持住，不刷LineageOS。\n忍了一個禮拜後，好啦我覺得還是很有必要刷機與Root，參見：Xperia 1 III刷LineageOS + 解決SD888發熱問題\n4. 普通和理所當然究竟是什麼呢？ # “普通”とか”あたりまえ”ってなんだろう。\n呵，我覺得手機不能買太好，應該買一萬多，兼顧性能與續航的中階機就行了（以小米的話來說就叫做水桶機），這是心態導致。每次買Android旗艦機，譬如Sony Xperia 1 III和Xperia 5 II，我就要小心翼翼的保護起來，開啟老人模式：安裝重的要命的翻蓋皮套，並定期細膩清潔喇叭孔洞，不敢帶到浴室。不敢只裝背部的一半手機殼，我看那些拿三四萬iPhone的人都大方的露出螢幕正面任其刮削就覺得好驚險。反過來說，買中階機就沒這麼多顧慮了，隨便裝個殼，走到哪帶到哪，走過各種惡劣環境。撞就撞摔就摔，不心疼。拍照只要不像鬼影一樣就能接受。中階機系統功能少？Root解決。刷Dolby Atmos模組 + GCam，屌絲也能獲得接近高階的體驗。\n但，也只是接近而已，真正嚴肅比較起來，拍照品質中階還是被旗艦碾壓。\n我對手機處理器性能的要求太低了，還卡在SD845時代，畢竟我玩的手遊只有FGO。160g的手感還有長續航較重要，所以我很滿意Xperia 10 V，無挖孔螢幕又很輕。\n講個比喻吧，二戰時，德軍的虎式坦克雖然是很厲害的坦克，搭載超強的88砲，還有厚重的正面裝甲。但是某些方面很脆弱，零件很容易故障，履帶走沒幾公里就要換，結果可靠性比不上性能較差但穩定的軍馬：四號坦克。更進一步說，蘇聯的T-34設計簡單，適合大量生產，也就能打造可觀戰力。\n其實我想要的是軍馬，不是玻璃大砲啊。\n不過嘛\u0026hellip; Xperia 1 III我用來還算滿意，沒想像中差，所以就索性把資料轉換過來。Xperia 10 V收起來當備用機。\n鑑於SD888的發熱問題，我決定還是不買電池殺手的皮套了，只買TPU殼。\n","date":"2025年7月10日","externalUrl":null,"permalink":"/posts/sony-xperia-1-iii-review/","section":"Unboxings","summary":"複雜的心情，旗艦機居然感覺沒比中階機好太多。\n1. 喵的騙我 # 自從2023年，Xperia 5 II綠線發作自爆之後，拿著Xperia 10 V（SD695）到現在。雖然沒壞，但最近發現這台短板越來越明顯，除了SoC不怎麼樣之外，拍照錄音也很糟糕，只有長續航力能說嘴。這台就是二戰德軍的四號坦克吧，性能不突出但是是合格的軍馬。\n果然還是要有一台正常點的手機。現在Xperia 5 II螢幕維修仍要4000元以上，且綠線有復發之虞，因此覺得不如買新機，過季旗艦也能接受。原本考慮Google Pixel，但我的要求是無挖孔螢幕和接近原生系統，因此基本只能選Sony。\n不是我們想成為索粉，是你們逼迫我們成為索粉。生產腦袋有洞螢幕的手機廠商，Yes, you are all wrong!!!\n逛來逛去覺得後面幾代Sony太貴，買不下手。覺得最扯的是，Xperia 5 III ~ Xperia 5 IV居然都有綠線問題，當下最理想的手機應該是Xperia 5 V，可是太貴，倒回去看2020年出的Xperia 1 II。\n選旗艦機的理由當然是為了更好的相機與影音品質。即使是過季Sony旗艦，照相品質依然是上乘的。有了Photo Pro，照片精準還原色彩，我就不用GCam來救拍照了。\n","title":"過期的Sony Xperia 1 III開箱，為了更好的拍照火龍888照樣用，取代Xperia 10 V","type":"unboxing"},{"content":"在使用Docker安裝Jellyfin之後，就能播放影片了。\n雖說Jellyfin用網頁瀏覽器就可以看，不過實際上不建議這樣做。可能會導致播放不順，畫面聲音不同步。\nJellyfin網頁在播放影片的時候，點右下角切換「品質」，選擇「Driect Play」會直接串流原始檔案。若是選擇其他畫質，Jellyfin的伺服器端會在串流影片的時候進行即時轉碼，讓串流比較順暢。對硬體較弱的電視盒客戶端來說，此作法也有助於提昇相容性。 什麼時候選Direct Play？什麼時候要轉碼？ # 這要看你是在區域網路播放，抑或是從外部網路遠端播放。\n「Direct Play」播放的一律是原始畫質的影片，就好像在用影片播放器直接開啟SMB分享的檔案一樣，對頻寬要求較高，適合區域網路使用。\n一旦切換到其他品質，Jellyfin就會進行轉碼。\n從外部網路連線到家中的Jellyfin，通常會因為網速問題需要切換到其他品質，以求降低頻寬佔用，則得讓Jellyfin進行轉碼。\n如果是用網頁瀏覽器播放Jellyfin影片的話，影片串流的時候容易遇到解碼問題。譬如原始影片是H.264編碼，則大多數瀏覽器都支援解碼，也就能使用Direct Play。不過如果是AV1編碼可能就會遇到瀏覽器不支援的問題，像iOS Safari就會黑螢幕。此時Jellyfin伺服器端會嘗試即時轉碼成H.264，防止影片無法播放。\nJellyfin並不會在後台把影片轉檔再串流，一律都是在串流的時候才即時轉碼的。\n是否要讓Jellyfin進行轉碼？ # 如果說Jellyfin的伺服器硬體不好，會大大影響串流體驗，可能你只是想播放一部4K影片，但卻被轉碼拖累；或者明明客戶端硬體支援更多影片解碼，卻因為瀏覽器的關係被限制住。\n因此網速足夠的情況下，我會使用Direct Play，盡量不要讓Jellyfin伺服器進行額外的轉碼作業。\n用瀏覽器播放Jellyfin影片，很容易遇到沒有解碼器，無法使用Direct Play的情況。\n確認Jellyfin的轉碼狀態 # 如何確定Jellyfin是Direct Play還是有在轉碼？嘗試播放一部影片，看品質選項有無顯示「Direct」就知道瀏覽器支援不支援該部影片編碼了。 在播放影片的時候開新分頁，點Jellyfin右上角管理員設定 → 控制台 → 使用中的裝置，點一下i，可以知道正在播放的影片是否為Direct Play，或者正在轉碼。 「直接播放」就是Direct Play。 「重新封裝中」就是在轉碼。且串流的時候轉碼，Jellyfin伺服器的CPU負載會顯著上升。 上面說到，Jellyfin的伺服器硬體不好還進行轉碼的話，會大大影響串流體驗。\n這個時候，要嘛啟用GPU硬體加速轉碼：Jellyfin啟用硬體加速解碼\n要嘛就不要用瀏覽器播放了，改裝內含解碼器的Jellyfin客戶端：Jellyfin原生解碼器的客戶端\n","date":"2025年7月10日","externalUrl":null,"permalink":"/posts/jellyfin-transcoding/","section":"所有文章","summary":"在使用Docker安裝Jellyfin之後，就能播放影片了。\n雖說Jellyfin用網頁瀏覽器就可以看，不過實際上不建議這樣做。可能會導致播放不順，畫面聲音不同步。\nJellyfin網頁在播放影片的時候，點右下角切換「品質」，選擇「Driect Play」會直接串流原始檔案。若是選擇其他畫質，Jellyfin的伺服器端會在串流影片的時候進行即時轉碼，讓串流比較順暢。對硬體較弱的電視盒客戶端來說，此作法也有助於提昇相容性。 什麼時候選Direct Play？什麼時候要轉碼？ # 這要看你是在區域網路播放，抑或是從外部網路遠端播放。\n「Direct Play」播放的一律是原始畫質的影片，就好像在用影片播放器直接開啟SMB分享的檔案一樣，對頻寬要求較高，適合區域網路使用。\n一旦切換到其他品質，Jellyfin就會進行轉碼。\n從外部網路連線到家中的Jellyfin，通常會因為網速問題需要切換到其他品質，以求降低頻寬佔用，則得讓Jellyfin進行轉碼。\n如果是用網頁瀏覽器播放Jellyfin影片的話，影片串流的時候容易遇到解碼問題。譬如原始影片是H.264編碼，則大多數瀏覽器都支援解碼，也就能使用Direct Play。不過如果是AV1編碼可能就會遇到瀏覽器不支援的問題，像iOS Safari就會黑螢幕。此時Jellyfin伺服器端會嘗試即時轉碼成H.264，防止影片無法播放。\n","title":"Jellyfin影片解碼問題：直接播放 (Direct Play) 與轉碼 (Transcoding) 的差別","type":"posts"},{"content":"","date":"2025年7月10日","externalUrl":null,"permalink":"/tags/video-transcoding/","section":"標籤","summary":"","title":"Video Transcoding","type":"tags"},{"content":"想要在家裡透過區網，用電視播放電腦上的影片，除了用SMB分享資料夾以外，還可以考慮更進階的多媒體中心方案，打造一套離線的Netflix。\n就用Jellyfin吧，這是一款自由開源的影音串流伺服器軟體，源自專有軟體「Emby」，設定上十分簡單直觀。\n有了JellyFin，就能透過手機和電視盒無線播放電腦上的影片，打造多人共享的家庭影院。出門在外也能連回家中播放影片，還能順便聽音樂。\n本文Ivon將介紹如何使用Docker架設Jellyfin伺服器，並說明觀看方法。\n1. Jellyfin特色功能 # 串流播放電腦的影片和音樂，不論是用網頁、手機APP、電視盒都行。支援多重帳號登入，多人畫面同步分享影片。 能以硬碟資料夾模式瀏覽媒體檔案 Jellyfin會根據影片檔名，自動抓取影劇的封面和演員資訊，產生影片縮圖，允許手動編輯中繼資料。 播放影片就像看Youtube，自動依照網速調整畫質讓播放更順暢，支援投放到Chromecast、AirPlay。 還能充當雲端音樂播放器。 支援多使用者，一個Jellyfin伺服器可以同時開好幾個帳號給其他人用。每個帳號能夠設定可觀看哪些影片。\nJellyfin提供多種插件，例如搭配BT下載管理器Sonarr、影音串流的Kodi、觀看統計JellyStats使用。Jellyfin的觀看歷史紀錄能夠跨裝置同步。\n請注意：Jellyfin不是串流平台，它不是幫你整合各家線上服務，而是掃描硬碟影片並整理出一個漂亮的瀏覽界面，兼具影片播放器的功能。因此影片檔案你要自己準備。至於影片檔案要怎麼來，別問，你知道怎麼做。\n2. 建議的影片資料夾結構 # Jellyfin會掃描硬碟影片，嘗試從TheMovieDB抓取影片的中繼資料，並顯示一個多媒體中心的面板讓你瀏覽。這樣比起單純以資料夾形式瀏覽影片舒服多了吧。\n不過Jellyfin對格式有一定要求，這樣才能正確的抓到中繼資料。如果你沒有要用資料夾模式瀏覽檔案的話，推薦先將檔案整理一下。\n參考：Jellyfin建議的影片資料夾結構\n3. 用Docker架設Jellyfin # 根據Jellyfin官方文件，推薦硬體規格為：Intel N100以上等級CPU、4GB以上RAM、100GB以上SSD。系統架構以x86為佳，Jellyfin對ARM架構的支援程度不一。\n如果需要在播放的時候轉碼，CPU不能太差，若有GPU加速更好。\nDocker需要Linux環境，在Linux伺服器安裝Docker\n欲啟用GPU硬體加速解碼，需要安裝顯示卡驅動與調整設定，這個後面再講，這邊先以CPU解碼為主。\n參考Jellyfin官方文件，建立docker-compose.yml\nmkdir ~/jellyfin cd jellyfin vim docker-compose.yml 填入以下內容，注意我寫的註解部份 services: jellyfin: image: jellyfin/jellyfin container_name: jellyfin user: root:root # 以root使用者執行服務 network_mode: \u0026#39;host\u0026#39; # 如果你需要從區域網路存取，可以把host改成bridge模式 ports: - 8096:8096 volumes: - \u0026#34;./config:/config\u0026#34; # 將設定檔和縮圖的存放至目前的資料夾 - \u0026#34;./cache:/cache\u0026#34; - type: bind #參考下面格式，將硬碟的資料夾(source)依序掛載至Jellyfin容器內部的資料夾(target)，權限設定唯讀，以此類推。 source: \u0026#34;/home/user/電影/\u0026#34; target: \u0026#34;/media/電影/\u0026#34; read_only: true - type: bind source: \u0026#34;/home/user/動畫/\u0026#34; target: \u0026#34;/media/動畫/\u0026#34; read_only: true - type: bind source: \u0026#34;/home/user/音樂/\u0026#34; target: \u0026#34;/media/音樂/\u0026#34; read_only: true restart: \u0026#39;unless-stopped\u0026#39; # 開機自動啟動容器 environment: - JELLYFIN_PublishedServerUrl=http://example.com # 除非您有自己的域名，否則不需改這行 extra_hosts: - \u0026#34;host.docker.internal:host-gateway\u0026#34; 啟動容器。此容器會在每次開機後自動啟動。 docker compose up -d 用瀏覽器開啟網址http://localhost:8096或者http://Linux電腦區域IP:8096，按照設定精靈的提示繼續。 設定帳號密碼，預設使用root 點選新增媒體庫，從/media資料夾選擇上面掛載的影片資料夾 設定要自動抓取的中繼資料，中繼資料就是影片的說明、演員、發行年份的資訊，Jellyfin會依照影片資料夾與檔名去比對，之後能手動編輯。 Ivon建議：如果您的影片資料夾不含電影、影集、動畫的影片，建議將媒體庫內容類別改為「混合電影和節目」或者「音樂錄影帶」，將影片以「純資料夾」模式處理。取消勾選所有「下載中繼資料」和「圖片獲取程序」選項，僅保留「Embedded Image Extractor」和「Screen Grabber」產生縮圖。不然Jellyfin會把每個子資料夾錄當成「一季」影集處理，且會下載到奇怪的封面，影片檔名可能還會顯示錯誤。\n如果你的影片命名不符合Jellyfin規範的話，Jellyfin可能會抓錯中繼資料，這個時候也建議關閉下載中繼資料的選項。\n設定中繼資料語言為正體中文。 完成設定之後，登入帳號。點選右上角管理員設定 → 控制台 → 媒體庫，掃描所有媒體庫。 隨後影片就會出現在首頁。 你也可以用跟Linux伺服器位於同一Wifi網路下的電腦或者手機，輸入http://Linux電腦區域IP:8096網址，開啟這個網頁界面，播放影片。\n4. Jellyfin的轉碼效能問題 # 影片播放時候會遇到的效能問題，可能會導致播放不順，畫面聲音不同步。\n參見：Jellyfin直接播放 (Direct Play) 與轉碼 (Transcoding)的差別\n5. 安裝Jellyfin客戶端 # 有時候Jellyfin網頁版效能不是那麼好，所以需要針對作業系統安裝內建原生解碼器的客戶端。\n雖然，Jellyfin官方有推出全平台的客戶端應用程式，不過手機版只是瀏覽器套殼而已，效能不佳，需要視情況採用第三方開發的客戶端。\nJellyfin官網有列出一些客戶端實作，這裡有我做的一個簡表比較：\n名稱 支援系統 功能 Jellyfin Media Player Linux, Windows, macOS Jellyfin官方開發的影片播放器，使用網頁版界面，搭配MPV後端提供原生解碼器，可以吃到mpv.conf。 Jellyfin Mobile Android, iOS 官方手機版客戶端，沒有原生解碼器，僅是瀏覽器套殼。 Findroid Android 專為Android設計的影片播放器，提供原生解碼器，使用MPV播放器當後端，可以吃到mpv.conf。 Finamp Android, iOS 音樂播放器。 Swiftfin iOS 專為iOS設計的影片播放器，透過VLC後端提供原生解碼器。 Feishin Linux, Windows, macOS 音樂播放器。 Jellyfin MPV Shim Linux, Windows, macOS 官方開發的投放應用程式，類似Chromecast，使用MPV播放器當後端。 客戶端的使用原理大同小異，只要讓連線的客戶端與Jellyfin伺服器處在同一個Wifi區域網路，輸入Jellyfin伺服器的IP，還有帳號密碼就能存取。\n電腦用戶，請參考Jellyfin搭配MPV的用法：Jellyfin + MPV，使用內建原生解碼器的電腦客戶端\n6. Jellyfin使用技巧 # 從外部網路存取Jellyfin媒體庫 # Jellyfin預設可以用區域網路播放，那要怎麼從不同網段存取家中的電腦呢？\n安裝內網穿透軟體，將電腦和手機加入虛擬區域網路\nLinux伺服器的防火牆開啟8096 TCP通訊埠。\nsudo ufw allow 8096/tcp sudo ufw reload 這樣的話，要存取Jellyfin，只要在伺服器IP欄位輸入http://虛擬區域IP:8096即可。手機客戶端也是一樣原理。 啟用資料夾檢視 # 在「控制台」的媒體庫頁面，開啟在首頁左側選單顯示「資料夾」模式的功能。這樣就能按照電腦硬碟資料夾架構去找檔案。 切換佈景主題 # 進入Jellyfin首頁，點選左邊選單開啟「設定」 → 「顯示」，變更佈景主題，滑掉最下面按下儲存。 您也可以自行下載CSS調整Jellyfin的外觀。\n新增其他Jellyfin使用者 # 進入Jellyfin首頁，點選右上角 → 控制台，在「使用者」頁面新增使用者。\n在這裡能自由決定要開放哪些媒體庫給該位使用者觀看。 之後會有更詳細的權限控管，例如只能看特定媒體庫，禁止調整伺服器設定，啟用家長監護功能等。如果電腦撐不住同時太多人觀看，請調低「網際網路串流傳輸位元率限制」。 多人同步觀看同部影片 # Jellyfin提供「SyncPlay」技術，讓不同使用者能同步觀看同一支影片。\n第一個使用者在Jellyfin右上角點選「建立群組」 第二個使用者便可加入群組。 當第一個使用者播放影片的時候，第二個使用者的畫面也會跟著播放影片。點選右上角離開群組，退出同步播放。\n解決.ass中文字幕變成方框 # 參見：解決Jellyfin Docker的.ass中文字幕變成方框的問題\n啟用GPU硬體加速轉碼 # 參見：Jellyfin Docker啟用GPU硬體加速轉碼\n","date":"2025年7月9日","externalUrl":null,"permalink":"/posts/self-hosting-jellyfin/","section":"所有文章","summary":"想要在家裡透過區網，用電視播放電腦上的影片，除了用SMB分享資料夾以外，還可以考慮更進階的多媒體中心方案，打造一套離線的Netflix。\n就用Jellyfin吧，這是一款自由開源的影音串流伺服器軟體，源自專有軟體「Emby」，設定上十分簡單直觀。\n有了JellyFin，就能透過手機和電視盒無線播放電腦上的影片，打造多人共享的家庭影院。出門在外也能連回家中播放影片，還能順便聽音樂。\n本文Ivon將介紹如何使用Docker架設Jellyfin伺服器，並說明觀看方法。\n1. Jellyfin特色功能 # 串流播放電腦的影片和音樂，不論是用網頁、手機APP、電視盒都行。支援多重帳號登入，多人畫面同步分享影片。 能以硬碟資料夾模式瀏覽媒體檔案 Jellyfin會根據影片檔名，自動抓取影劇的封面和演員資訊，產生影片縮圖，允許手動編輯中繼資料。 播放影片就像看Youtube，自動依照網速調整畫質讓播放更順暢，支援投放到Chromecast、AirPlay。 還能充當雲端音樂播放器。 支援多使用者，一個Jellyfin伺服器可以同時開好幾個帳號給其他人用。每個帳號能夠設定可觀看哪些影片。\n","title":"Jellyfin：用Docker自架可調畫質 + 硬體解碼的影片串流伺服器","type":"posts"},{"content":"簡單將桌面程式轉成網頁版，透過瀏覽器就能使用。\n在這裡Ivon討論如何透過LinuxServer.io打包的Docker映像檔，將桌面應用程式容器化，使之能方便遠端存取。\n1. 動機 # 傳統桌面應用程式正在式微，網頁應用正在崛起，不如這樣說吧，對想要玩self-hosted的人來說，最直接與遠端服務互動的方式就是透過網頁版界面，這種方法就不需要專門的客戶端與之交互，如此一來這些self-hosted的方案就會比傳統桌面程式要來得靈活。\n譬如Kavita與calibre的比較。calibre雖是強大的書籍管理軟體，但是它只能在有圖形環境的桌面系統使用，簡單來說就是你的電腦要接上螢幕才能用啦，雖然calibre有搭配VNC打包的Docker版本，但用起來不流暢。假若我們要部署服務到headless Linux伺服器或者NAS上，桌面程式的方案就比不上網頁為主的Kavita方便了。不過，Kavita功能還是不如calibre豐富。\n一般會想啊不就用遠端桌面解決？但我這裡是強調，沒有接上顯示器的Linux環境，怎麼辦？\nDocker既然跑在Linux系統上，其實還有折衷的辦法讓傳統桌面應用程式能在headless的環境跑起來，也就是透過Docker跑headless的X11伺服器（Wayland未可知），再搭配KasmVNC這類的網頁遠端桌面方案，將桌面應用程式一瞬轉成可以遠端存取的瀏覽器應用。\n通常會想到要用x11docker這類方案自幹一個Docker映像檔吧？幸運的是我們不需要自己寫Dockerfile，已經有人幫忙做好了。像LinuxServer.io團隊就把許多熱門應用程式打包成Docker映像檔了。諸如Google Chrome、GIMP、digiKam、calibre、LibreOffice、qBittorrent、VSCode等程式都能夠透過Docker遠端存取。LinuxServer.io團隊是採用KasmVNC的基礎映像檔建置的，因此每個應用程式容器除了VNC之外，還有傳輸檔案與音訊的功能。 LinuxServer.io還有制定一套環境變數的「規範」，讓使用者能輕鬆調整每個應用程式映像檔的內容。比方說使用DOCKER_MODS的環境變數即可在容器內安裝中文字型套件，不用rebuild docker image也能套用變更。\n這跟遠端桌面不太一樣，而是一個個應用程式單獨執行，用容器隔離每個應用程式之間的資料，不直接存取整個系統的資源。效能與安全性更好的同時，還能夠透過docker volume的方式實現應用程式沙盒化，也就是說應用程式預設是讀不到宿主機全部資源的，而是只能讀取docker volume掛載的路徑。\n另一種更進階的方案，便是基於Docker的遠端桌面工作階段，實現此方案的有WebTop以及Kasm Workspace。比虛擬機啟動還要快速。使用者在隨時可拋棄的Docker X11桌面環境工作。\n但這裡我不多談，我主要談論的是一個Docker容器一個桌面應用程式的方案。\n2. 部署LinuxServer.io的應用程式，以calibre為例 # LinuxServer.io官網有打包程式的列表。 通常LinuxServer.io的應用程式會發布在Docker Hub，每個應用程式的頁面都有詳細的文件解說，操作大同小異。 如果有想要打包的程式可以到官方論壇求助\n以書籍管理程式calibre為例，我有寫一篇講解這個：部署calibre Docker。從裡面能夠了解到LinuxServer.io打包的應用程式長什麼樣子。你會發現docker-compose的環境變數都十分類似。\n3. 使用DockerMods即時修改映像檔內容 # 根據LinuxServer.io的文件，他們提供多種通用的「Docker Mods」，能夠用統一的規範，修改各個Docker映像檔內容，又不需要重新建置映像檔。\nDockerMods通常已經含在LinuxServer.io發表的應用程式Docker映像檔裡面，不用另外pull。\n比如，Package Install這個模組能夠在每次Docker容器啟動之後，即時呼叫容器裡面的套件管理器安裝指定套件。\n具體來說，我們能用這個解決多語言支援的問題。LinuxServer.io打包的應用程式大部份是英文的，所以映像檔裡面沒有中文字型，中文字會無法顯示。這個時候只要裝上對應字型套件就行了。\n以calibre的docker-compose為例，假設映像檔是基於Debian建置，加入以下環境變數，設定容器語言為正體中文，指示容器啟動後安裝Noto Fonts CJK字型即可。\nservices: calibre: image: lscr.io/linuxserver/calibre:latest container_name: calibre environment: - DOCKER_MODS=linuxserver/mods:universal-package-install - INSTALL_PACKAGES=fonts-noto-cjk - PUID=1000 - PGID=1000 - TZ=Asia/Taipei - LC_ALL=zh_TW.UTF-8 ","date":"2025年7月9日","externalUrl":null,"permalink":"/posts/linuxserver-io-docker-applications/","section":"所有文章","summary":"簡單將桌面程式轉成網頁版，透過瀏覽器就能使用。\n在這裡Ivon討論如何透過LinuxServer.io打包的Docker映像檔，將桌面應用程式容器化，使之能方便遠端存取。\n1. 動機 # 傳統桌面應用程式正在式微，網頁應用正在崛起，不如這樣說吧，對想要玩self-hosted的人來說，最直接與遠端服務互動的方式就是透過網頁版界面，這種方法就不需要專門的客戶端與之交互，如此一來這些self-hosted的方案就會比傳統桌面程式要來得靈活。\n譬如Kavita與calibre的比較。calibre雖是強大的書籍管理軟體，但是它只能在有圖形環境的桌面系統使用，簡單來說就是你的電腦要接上螢幕才能用啦，雖然calibre有搭配VNC打包的Docker版本，但用起來不流暢。假若我們要部署服務到headless Linux伺服器或者NAS上，桌面程式的方案就比不上網頁為主的Kavita方便了。不過，Kavita功能還是不如calibre豐富。\n一般會想啊不就用遠端桌面解決？但我這裡是強調，沒有接上顯示器的Linux環境，怎麼辦？\nDocker既然跑在Linux系統上，其實還有折衷的辦法讓傳統桌面應用程式能在headless的環境跑起來，也就是透過Docker跑headless的X11伺服器（Wayland未可知），再搭配KasmVNC這類的網頁遠端桌面方案，將桌面應用程式一瞬轉成可以遠端存取的瀏覽器應用。\n通常會想到要用x11docker這類方案自幹一個Docker映像檔吧？幸運的是我們不需要自己寫Dockerfile，已經有人幫忙做好了。像LinuxServer.io團隊就把許多熱門應用程式打包成Docker映像檔了。諸如Google Chrome、GIMP、digiKam、calibre、LibreOffice、qBittorrent、VSCode等程式都能夠透過Docker遠端存取。LinuxServer.io團隊是採用KasmVNC的基礎映像檔建置的，因此每個應用程式容器除了VNC之外，還有傳輸檔案與音訊的功能。 ","title":"透過LinuxServer.io打包的Docker映像檔，將桌面程式轉成網頁版，透過瀏覽器即可使用","type":"posts"},{"content":"討論在Linux玩蔚藍暗的一些情報，並將遊戲主畫面的回憶大廳設定為Linux動態桌布的技巧。\n2025年7月，蔚藍檔案 (Blue Archive) 終於上架Steam了！實際上只有Windows版。經測試，在Ubuntu Linux可以用Proton玩，Nexon Game Security可以通過 ～ Steam Deck用戶也有回報說順暢執行。 現在，Linux系統要玩蔚藍檔案有二種方法：\n用Waydroid安裝Android版 用Steam安裝Windows版 推薦第二個方法，遊戲載入明顯比較快。\n雖然之前我就用Waydroid加上Intel內顯順順跑Android版了（需要ARM轉譯器），不過電腦版操作比手遊方便，能用鍵盤放技能。\n現在能用Nvidia獨顯加速，開反鋸齒，3D渲染的畫質明顯比手遊版好。 而且這裡的蔚藍檔案還是原生x86架構版本的！載入速度和動畫明顯順暢許多，平平都是Unity寫的怎麼性能會差這麼多呢？\n由於蔚藍檔案的遊戲資源都沒有加密，可以輕易的安裝想要的模組，網路上已經陸續有神奇的資源上架了。\n我們還可以把遊戲畫面設定為Linux的動態桌布。 1. 安裝Steam版蔚藍檔案 # 在Linux安裝Steam，建議不要用Flatpak版本\n搜尋蔚藍檔案下載\n在收藏庫對其點右鍵 → 內容 → 相容性，強制啟用相容性，選Proton最新版 直接開啟就能玩了。建議使用Nexon帳號，登入的時候Linux的瀏覽器會跳出來，在裡面完成驗證。\n根據ProtonDB的回報，如果遇到載入卡住的問題，可能要切換特定版本的Proton，或者嘗試在遊戲啟動選項加上UMU_ID=0 %command%\n2. 強制蔚藍檔案以視窗化執行 # 遊戲預設是全螢幕執行，對要刷關卡的用戶來說不方便。\n遊戲選項內有視窗化選項，點選後重開遊戲即可縮放視窗，但不知道為何我一縮放視窗遊戲就會閃爍。另一種方式是使用Protontricks\n選取蔚藍檔案容器 選取預設的Wine容器 → 執行Wine設定程式 新增虛擬桌面，設定解析度。 3. 將回憶大廳設定為Linux動態桌布 # 設定Linux桌面視窗規則，就能將遊戲主畫面的回憶大廳當作桌布使用。 X11桌面環境可以用xwinwrap將蔚藍檔案的全螢幕視窗放在桌面底部。\n至於Wayland的話就得看桌面環境是否支援支援視窗管理規則。\nHyprland、Sway這些應可以調整視窗重疊規則達成。\nKDE Plasma對遊戲視窗點選右鍵，或者在全螢幕模式按Alt ＋ F3，點選「將視窗永遠置於最下層」。它就會變成桌面底層的視窗，顯示在工作列元素之下。依然可以點選互動，其他視窗會重疊上去。再用pavucontrol單獨將遊戲靜音即可。 4. 安裝模組 # 註：安裝第三方模組風險自負，因為會修改遊戲內容，不確定會不會被ban帳號。\n最簡單的模組是替換遊戲資源，載入自訂內容。\n例如把砂狼白子變成GTA CJ的這個模組：CJ replace Shiroko\n在Steam收藏庫按右鍵 → 瀏覽本機檔案，將指定的檔案替換掉\n這裡的例子是，把檔案放到/BlueArchive/BlueArchive_Data/StreamingAssets/PUB/Resource/GameData/Windows/目錄，重開遊戲即可看到效果。\n","date":"2025年7月8日","externalUrl":null,"permalink":"/posts/blue-archive-on-linux/","section":"所有文章","summary":"討論在Linux玩蔚藍暗的一些情報，並將遊戲主畫面的回憶大廳設定為Linux動態桌布的技巧。\n2025年7月，蔚藍檔案 (Blue Archive) 終於上架Steam了！實際上只有Windows版。經測試，在Ubuntu Linux可以用Proton玩，Nexon Game Security可以通過 ～ Steam Deck用戶也有回報說順暢執行。 現在，Linux系統要玩蔚藍檔案有二種方法：\n用Waydroid安裝Android版 用Steam安裝Windows版 推薦第二個方法，遊戲載入明顯比較快。\n雖然之前我就用Waydroid加上Intel內顯順順跑Android版了（需要ARM轉譯器），不過電腦版操作比手遊方便，能用鍵盤放技能。\n現在能用Nvidia獨顯加速，開反鋸齒，3D渲染的畫質明顯比手遊版好。 而且這裡的蔚藍檔案還是原生x86架構版本的！載入速度和動畫明顯順暢許多，平平都是Unity寫的怎麼性能會差這麼多呢？\n由於蔚藍檔案的遊戲資源都沒有加密，可以輕易的安裝想要的模組，網路上已經陸續有神奇的資源上架了。\n我們還可以把遊戲畫面設定為Linux的動態桌布。 1. 安裝Steam版蔚藍檔案 # 在Linux安裝Steam，建議不要用Flatpak版本\n搜尋蔚藍檔案下載\n在收藏庫對其點右鍵 → 內容 → 相容性，強制啟用相容性，選Proton最新版 ","title":"在Linux玩Steam版的《蔚藍檔案》 +  安裝第三方模組","type":"posts"},{"content":"","date":"2025年7月7日","externalUrl":null,"permalink":"/tags/george-orwell/","section":"標籤","summary":"","title":"George Orwell","type":"tags"},{"content":"虛構世界的一切，往往都來自現實世紀的映襯。因為它讓知音有切心之痛，真正說到點上了就會頻頻點頭是道。\n（圖片：1954年版《動物農莊》動畫） 英國作家喬治·奧威爾 (George Orwell) 的作品便是常常激起人們討論的對象，他最著名的作品就是《1984》和《動物農莊》，即使是上個世紀寫的書了，仍不斷提醒人們反思極權主義的危害——就算是自稱民主的國家卻往極權傾斜，也要防範。這兩本書在人民最民主的中國大陸甚至沒有被禁售。\n《動物農莊》一書描述動物們推翻了奴役他們的人類農場主，以豬作為領導的新時代即將到來，宣稱所有動物一律平等。但是豬群們卻陷入權力鬥爭，好大喜功、玩弄權術的一派得利，趕走了真正為動物著想的豬。最後還在自己人內部找敵人，反過來奴役其他動物，將一切功勞納為己任。最後豬開始學人類走路，成為了新的特權階級。當初的革命標語默默變成了：有些動物比其他動物更加平等。\n（圖片：Penguin出版社2008年發行的封面） 《1984》講的是極權政體統治後的反烏托邦未來科幻世界。政府透過各種手段實行大規模監控，對人民洗腦，修改歷史，宣揚對他國之仇恨。還改造語言，發明新話，控制生育，徹底毀滅作為個人的自由意志。主角試圖反抗，找到了革命伴侶，以為終將在沒有黑暗的地方相見，最後卻是在友愛部牢房的白熾燈下，供出了戰友，出賣了自己的信念。\n（圖片：Penguin出版社2008年發行的封面） 我覺得，如果一個人不只單獨閱讀單一觀點的書籍的話，讀喬治·奧威爾的著作得到的想法會隨閱歷改變。《1984》和《動物農莊》這兩本書我一直都很喜歡，第一次讀《1984》是在2015年，也推薦大家去閱讀作者本人的更多著作，對他的法有更立體的認識。這兩本書，我隨著時間過去有不同看法。在以前我還是民主小清新的時候，會在這兩本書裡面看到許多共產主義國家腐化的弊端，十分之寫實，可對應到蘇聯共產黨和中國共產黨的種種行為。不過若單純以這兩本書描述的現象覺得就應該完全「反共」，我認為也過份曲解了作者的意思。\n他的著作很適合用來反思台灣與中國兩個國家的政治現況，誰才是真正民主？誰自認為民主？誰掌握了民主的解釋權？\n如果我們這樣解讀《動物農莊》：竊取革命果實的豬，打倒了專制獨裁的國民，民主進步了，卻把想真正做事的科學家趕走，然後成為新的特權階級，還養了一堆走狗讓其他動物噤聲，正所謂狗去、豬萊。沒有啦，作者在講列寧死後的蘇聯共產黨，你以為嘞。書中批評了史達林官僚主義把馬克思主義經唸歪的問題，還抄襲托洛斯基的政策，全說成是自己功勞，而非是純然反共產主義。倒是竊取社會運動的革命果實，成為新的壓迫階級這點，讓人想到太陽花從中得利的黨，嘖嘖。\n至於《1984》呢？太科幻難以想像？押人取供怎麼可能發生在最民主的國家？最具體的例子可能是「兩分鐘仇恨」：黨動不動就把人民叫出來搞社會運動，進行演說洗腦。所有人都要無條件的仇恨螢幕上的名字，甚至還會發狂攻擊台上的照片，進行瘋狂的感性聯想。最後偉大的領導人現身，安撫大家的心，眾人都相信他就是我們的救世主，因為你有崇高的靈魂！有國才有家！\n正所謂虛構世界是現實世界的倒影。如果接觸共產主義理論多一些，就會了解作者想講的是更深層的問題，批判那些把經唸歪，走向極權主義的自私之人，並非全然反對共產主義。畢竟作者本人一直都是個民主社會主義者，反正不是把所有左派都污衊成撒旦思想的，只會復讀聖經的幽默老紅脖右派。人們恐共，卻常對其一無所知，反倒是相信政客的鬼話，成為意識形態利用的工具，認為民主對共產便是正邪之戰，倒真把共產主義當成飄盪在上空的幽靈了，卻不知道彼此之間的調和是無可避免的。\n私以為，反共前應界定是哪一種共，畢竟左派有無限可分定理，不像某些自詡民主的社會只能有一種聲音。當然，現今背叛了人民群眾的紅色中共，與調色盤上反方向顏色的共是可以納入反對的對象，可鳴鼓而攻之。羅大佑在〈侏儒之歌〉裡面說道：「小心革別人命的角色被人革命」當權者最害怕的，就是他們自身的權位不保！\n喬治·奧威爾想講的更深層問題是什麼呢？我想是解釋何謂民主的功夫，把所有過去歷史的解釋權都握在自己手上。蘇共與中共都自稱民主，但事實上呢？洗腦功力之深讓民主小島都想模仿。\n最後，允許我得出一個無力的結論：在提防極權主義的當下，應當加深防止權力腐化的制衡機制，否則到最後民主國家也會變成極權，共產主義會變成地上煉獄。這是最務實的作法。或許無法論證民主與共產哪一個終究會好，歷史的終結與最後之人沒有人知道會是誰。某個在野超過九年的腐朽百年政黨還懂得喊出「民主需要制衡」這種口號來騙票，吾人怎能不警惕？不過在安全網上我們可以做更多保險，增加野心家獨裁的難度，在還來得及之前。\n前提是，這個體制沒有早已從內裡腐朽。\n","date":"2025年7月7日","externalUrl":null,"permalink":"/posts/thoughs-on-george-orwell-s-animal-farm-and-1984/","section":"Reviews","summary":"虛構世界的一切，往往都來自現實世紀的映襯。因為它讓知音有切心之痛，真正說到點上了就會頻頻點頭是道。\n（圖片：1954年版《動物農莊》動畫） 英國作家喬治·奧威爾 (George Orwell) 的作品便是常常激起人們討論的對象，他最著名的作品就是《1984》和《動物農莊》，即使是上個世紀寫的書了，仍不斷提醒人們反思極權主義的危害——就算是自稱民主的國家卻往極權傾斜，也要防範。這兩本書在人民最民主的中國大陸甚至沒有被禁售。\n《動物農莊》一書描述動物們推翻了奴役他們的人類農場主，以豬作為領導的新時代即將到來，宣稱所有動物一律平等。但是豬群們卻陷入權力鬥爭，好大喜功、玩弄權術的一派得利，趕走了真正為動物著想的豬。最後還在自己人內部找敵人，反過來奴役其他動物，將一切功勞納為己任。最後豬開始學人類走路，成為了新的特權階級。當初的革命標語默默變成了：有些動物比其他動物更加平等。\n（圖片：Penguin出版社2008年發行的封面） 《1984》講的是極權政體統治後的反烏托邦未來科幻世界。政府透過各種手段實行大規模監控，對人民洗腦，修改歷史，宣揚對他國之仇恨。還改造語言，發明新話，控制生育，徹底毀滅作為個人的自由意志。主角試圖反抗，找到了革命伴侶，以為終將在沒有黑暗的地方相見，最後卻是在友愛部牢房的白熾燈下，供出了戰友，出賣了自己的信念。\n","title":"民主需要制衡。我對喬治·奧威爾作品《動物農莊》與《1984》，隨時間過去之後的感想變化","type":"review"},{"content":"Routing traffic of Docker containers through a VPN container.\nGluetun，一款專為Docker設計的開源軟體，可讓特定容器走VPN連線上網。\n容器為什麼沒事要連VPN？嗯，Ivon覺得下載BT就是個好理由。 試想：如果我們將下載BT種子的qBittorrent服務跑在Docker裡面，並透過專門的VPN連線，就可以達成跟主機分開上網的功效。也就是說，Linux電腦看網頁時仍透過正常網路上網，電腦不會全域都是走VPN連線，唯有容器部份的服務走VPN。如此一來透過VPN下載檔案就不會干擾正常電腦使用了。因為有些網站對VPN過敏，用VPN上網會被當成Bot。\n現在讓我們繼續談Gluetun，名字音近麩質，但其實應該是強力膠水的意思，或許可以解釋為「把TUN(虛擬網路裝置)黏在一起」。\n開發者Quentin McGaw在Github放的圖示是二個水管，好像在玩瑪莉歐，這裡進去那裡出來。 Gluetun本身是作為VPN客戶端兼代理伺服器，支援連線至許多商業VPN，所有您聽過名字的大牌VPN都支援。商業VPN多半支援OpenVPN或WireGuard協定，只要到他們網站下載帶有密鑰的設定檔，Gluetun就能夠連上該公司的VPN。\n為防止洩漏IP，Gluetun還會在VPN連線有問題的時候啟動Kill Switch，自動斷線，使依賴它的容器跟著無法上網。\n1. 取得VPN供應商的設定檔 # 這裡Ivon使用「ProtonVPN」做示範，其他家VPN的設定大同小異，各大商業VPN應該都會有地方可以下載OpenVPN或WireGuard的設定檔。\nOpenVPN # 請參閱ProtonVPN官方文件，到你的Proton VPN帳號後台，取得OpenVPN帳號密碼。\nWireGuard # 請參閱ProtonVPN官方文件，進入Downloads頁面，下滑到WireGuard，填寫服務名稱 在下方列表選取負載低的伺服器，由於我是付費方案所以有更多伺服器可選。點選Create。 下載WireGuard設定檔\n2. 架設Gluetun服務 # 由於等一下我們要讓容器走Gluetun的VPN，需要做些特別設定，編輯完後先別急著啟動Gluetun服務。\n新增docker-compose # 參考Gluetun文件，新增docker-compose。 cd ~ mkdir gluetun cd gluetun vim docker-compose.yml 參考剛才取得的VPN設定檔內容，依序填入environment的參數。鑑於各家VPN供應商功能差異，在寫docker-compose的建議指定VPN供應商名稱，讓Gluetun可以正確識別。如果有需要也可以給容器設定固定IP。 OpenVPN # 填入ProtonVPN的OpenVPN的帳號、密碼，並指定伺服器國家\nservices: gluetun: image: qmcgaw/gluetun container_name: gluetun restart: unless-stopped cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun ports: - 8888:8888/tcp # HTTP proxy - 8388:8388/tcp # Shadowsocks - 8388:8388/udp # Shadowsocks volumes: - /home/user/gluetun:/gluetun environment: # 按照VPN供應商的OpenVPN設定檔填寫 - VPN_SERVICE_PROVIDER=protonvpn - VPN_TYPE=openvpn - OPENVPN_USER= # OpenVPN帳號 - OPENVPN_PASSWORD= # OpenVPN密碼 - SERVER_COUNTRIES=United Kingdom # 指定伺服器所在國家，以逗號分隔 networks: # (選擇性) 固定Gluetun容器的IP network: ipv4_address: 172.27.0.5 networks: # (選擇性) 固定Gluetun容器的IP network: driver: bridge ipam: config: - subnet: 172.27.0.0/16 gateway: 172.27.0.5 WireGuard # 按照ProtonVPN的WireGuard設定檔填寫。\nservices: gluetun: image: qmcgaw/gluetun container_name: gluetun restart: unless-stopped cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun ports: - 8888:8888/tcp # HTTP proxy - 8388:8388/tcp # Shadowsocks - 8388:8388/udp # Shadowsocks volumes: - /home/user/gluetun:/gluetun environment: - VPN_SERVICE_PROVIDER=protonvpn # 按照VPN供應商的WireGuard設定檔填寫 - VPN_TYPE=wireguard - WIREGUARD_PRESHARED_KEY= # 預共享密鑰 - WIREGUARD_PRIVATE_KEY= # 私鑰 - WIREGUARD_ADDRESSES= # 填IPV4與IPV6位址，以逗號分隔 - SERVER_COUNTRIES=United Kingdom # 指定伺服器所在國家，以逗號分隔 networks: # (選擇性) 固定Gluetun容器的IP network: ipv4_address: 172.27.0.5 networks: # (選擇性) 固定Gluetun容器的IP network: driver: bridge ipam: config: - subnet: 172.27.0.0/16 gateway: 172.27.0.5 3. 讓容器走Gluetun的VPN連線 # 欲使容器走Gluetun的VPN連線，只需讓其使用該網路上網即可。我這裡有一個qBittorrent的下載服務要使用Gluetun。\n相關文章：qBittorrent操作教學 如果容器服務跟Gluetun寫在同一個docker-compose：加入網路模式network_mode: \u0026quot;service:gluetun\u0026quot;\n如果該容器跟Gluetun不是寫在同一個docker-compose：加入network_mode: \u0026quot;container:gluetun\u0026quot;\n由於我的qBittorrent服務跟Gluetun不在同一個docker-compose，為此修改qBittorrent的docker-compose。下面是我位於~/qbittorrent目錄的檔案內容： services: qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest container_name: qbittorrent environment: - PUID=1000 - PGID=1000 - TZ=Asia/Taipei - WEBUI_PORT=8080 volumes: - /home/user/qbittorrent/config:/config - /home/user/qbittorrent/downloads:/downloads ports: - 8080:8080 - 6881:6881 - 6881:6881/udp restart: unless-stopped 首先把qBittorrent暴露的通訊埠註解掉，因為這個會跟Gluetun網路衝突 #ports: #- 8080:8080 #- 6881:6881 #- 6881:6881/udp 接著，在最下方加入Gluetun網路 network_mode: \u0026#34;container:gluetun\u0026#34; 現在還要處理qBittorrent通訊埠的問題。開啟Gluetun的docker-compose檔案，把qBittorrent用到的8080通訊埠加回來： services: gluetun: image: qmcgaw/gluetun container_name: gluetun cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun ports: - 8888:8888/tcp # HTTP proxy - 8388:8388/tcp # Shadowsocks - 8388:8388/udp # Shadowsocks - 8080:8080 # qBittorrent，左邊的可以自由改成想暴露的通訊埠，右邊則必須是qBittorrent容器使用的通訊埠。這裡的情況就是看qBittorrent的環境變數WEBUI_PORT的值決定。 之後，依序啟動Gluetun和qBittorrent的服務 cd ~/gluetun docker compose up -d cd ~/qbittorrent docker compose up -d 檢查容器有無連上VPN，用docker exec進入qBittorrent容器的shell： docker ps docker exec -ti qbittorrent /bin/bash 檢查公共IP curl ifconfig.io 容器公共IP應當跟您選擇的VPN伺服器一致： 如果你想測試Kill Switch有無運作，停掉Gluetun服務，再檢查qBittorrent能不能上網就知道了：\ncd ~/gluetun docker compose down docker exec -ti qbittorrent /bin/bash curl ifconfig.io 4. 如何存取使用Gluetun VPN上網的容器服務 # 以qBittorrent來說，連上Gluetun的VPN後，該容器就只能從http://localhost:8080存取，打http://伺服器IP:8080是無效的。\n所幸，剛才我們已經將qBittorrent的8080通訊埠加到Gluetun的docker-compose，您應當可以打http://伺服器IP:8080或http://Gluetun的容器IP:8080存取qBittorrent的網頁界面！\nGluetun容器的IP可以用docker inspect \u0026quot;gluetun\u0026quot; | grep \u0026quot;IPAddress\u0026quot;取得。\n實測在使用內網穿透軟體的情況下依然可以存取qBittorrent。 如果同一網路下的其他容器服務要連線至qBittorrent的容器，那麼就是打http://伺服器IP:8080或http://Gluetun的容器IP:8080來連線。\n不過BT管理軟體Sonarr比較特別，其docker-compose相關的容器也必須使用network_mode: \u0026quot;container:gluetun\u0026quot;才可以連線到qBittorrent。\n當Gluetun偵測VPN無法連線後會讓網路斷線，您需要重新啟動Gluetun服務，以及使用Gluetun網路的容器。\n5. 設定VPN通訊埠轉發 # 此為選擇性功能。\n如果你要提昇BT下載速度，並讓別人從你這裡下載檔案（做種），最好設定通訊埠轉發(port forwarding)。\n注意不是每一家VPN供應商都有提供此功能。且就算VPN供應商有提供通訊埠轉發，也不是每台伺服器都有此功能。\n根據Gluetun有關port forwarding的說明，每家VPN供應商的通訊埠轉發設定方式不同，請點選providers的Wiki頁面查詢。\n此處以ProtonVPN為例。\n鑑於Gluetun取得轉發通訊埠的方法有缺失，似乎只能用OpenVPN方式連線，用WireGuard的話會找不到VPN供應商所轉發的通訊埠。\n參考Proton VPN官方文件，查看哪些國家伺服器支援P2P。\n按照Proton VPN提供的OpenVPN帳號，修改Gluetun的docker-compose.yml，在你的帳號名稱後面加上+pmp\n加入以下環境變數：\nenvironment: - VPN_PORT_FORWARDING=on 加入這段，啟用的Gluetun的Control Server ports: - 8000:8000 重新啟動Gluetun服務。 cd ~/gluetun docker compose down docker compose up -d ProtonVPN所轉發的通訊埠可從此網址得知。或者使用docker logs gluetun查看。 curl http://Gluetun容器IP:8000/v1/openvpn/portforwarded 在qBittorrent偏好設定 → 連線開啟通訊埠，填入ProtonVPN所轉發的通訊埠，並關閉UPnP功能。 要知道通訊埠轉發有無成功，進入Gluetun容器，使用port-checker程式檢測。這裡假定ProtonVPN轉發的通訊埠為61915\ndocker exec -it gluetun /bin/sh wget -qO port-checker https://github.com/qdm12/port-checker/releases/download/v0.4.0/port-checker_0.4.0_linux_amd64 chmod +x port-checker ./port-checker -port 61915 開啟瀏覽器，輸入http://VPN的公共IP:61915，應該就會印出你目前的IP位址了。回到終端機，按CTRL＋C關閉，並輸入exit退出shell。 參考資料 # 官方文件 Gluetun Wiki - GitHub\n下面這篇文章有討論Gluetun反向代理與自動重啟容器服務的進階設定，但該名作者竟然一次幫兩家商業VPN打廣告😅\nGluetun Docker Guide – Easy VPN Killswitch for Docker Containers - SmartHomeBeginner\n","date":"2025年7月7日","externalUrl":null,"permalink":"/posts/gluetun-vpn-docker/","section":"所有文章","summary":"Routing traffic of Docker containers through a VPN container.\nGluetun，一款專為Docker設計的開源軟體，可讓特定容器走VPN連線上網。\n容器為什麼沒事要連VPN？嗯，Ivon覺得下載BT就是個好理由。 試想：如果我們將下載BT種子的qBittorrent服務跑在Docker裡面，並透過專門的VPN連線，就可以達成跟主機分開上網的功效。也就是說，Linux電腦看網頁時仍透過正常網路上網，電腦不會全域都是走VPN連線，唯有容器部份的服務走VPN。如此一來透過VPN下載檔案就不會干擾正常電腦使用了。因為有些網站對VPN過敏，用VPN上網會被當成Bot。\n現在讓我們繼續談Gluetun，名字音近麩質，但其實應該是強力膠水的意思，或許可以解釋為「把TUN(虛擬網路裝置)黏在一起」。\n開發者Quentin McGaw在Github放的圖示是二個水管，好像在玩瑪莉歐，這裡進去那裡出來。 Gluetun本身是作為VPN客戶端兼代理伺服器，支援連線至許多商業VPN，所有您聽過名字的大牌VPN都支援。商業VPN多半支援OpenVPN或WireGuard協定，只要到他們網站下載帶有密鑰的設定檔，Gluetun就能夠連上該公司的VPN。\n為防止洩漏IP，Gluetun還會在VPN連線有問題的時候啟動Kill Switch，自動斷線，使依賴它的容器跟著無法上網。\n","title":"Gluetun：讓Docker容器走VPN連線，沒網路就斷線，使用教學","type":"posts"},{"content":"","date":"2025年7月7日","externalUrl":null,"permalink":"/tags/torrent/","section":"標籤","summary":"","title":"Torrent","type":"tags"},{"content":"唉，都怪資本，手遊的更新速度太快讓習慣玩網遊的boomer覺得不適（←什麼農場標題\n以艦豚的角度來說，《紺碧艦隊》的劇情越看越有既視感，喔，原來就是《艦隊Collection》呀！都是讓軍武宅看著做wet dream的表徵。紺碧艦隊屬於是昭和時代的老動畫了，內容硬派寫實（？），放在現代大概沒人要看，要加入萌妹子才能合法包裝自己的軍國主義思想，潛移默化影響全世界的weaboo！ 有人說，二戰日軍有課金就能擁有紺碧艦隊的各種神奇飛機，沒課金就會變《高堡奇人》世界線。這遊戲過了很久，一直都是田中一人的遊戲，界面仍像是同人社團小作坊而非商業公司的企劃，更新像是腦門一拍想到什麼就更新什麼的內容。活動劇情亂七八糟，雖說有很認真的歷史考據，包括兵器和戰役地圖的設計都有典故，但腦洞的地方也很多。大日本帝國陸軍與海軍各種南征北討，一下拯救歐洲一下又要防守本土，跟著日美英德法蘇組成的同盟一同拯救世界，悲壯感永不止息。\n在進行大戰略的移行後，就是欣賞美少女的樣貌了。即使你否認也沒用，別跟我說你從沒對這些女孩們有非分之想，尤其宅男宅女最常有將一切Rule34化的衝動。 跟批次生產各國妓女的《碧藍航線》比起來，田中出日本船以外的速度是在近幾年才稍微加速，尤其是美國艦變多了，否則以前都是日本最強！if類裝備越來越多，各種神奇改裝的飛機，零戰還能拿來反潛，12cm30連装噴進砲的彈幕能阻擋艦載機空襲，讓人想到紺碧艦隊裡面的核爆三式彈，只差還沒出真正的潛水空母了。能搭載晴嵐水上爆擊機的伊13和伊401還不夠看，我要可以搭載橘花噴射機的！啊啊，有夢最美，幻想到這裡就快要射了。\n為什麼說碧藍航線跟《Fate：外送茶偉人大戰》一樣是在生產妓女，角色出的速度太快就讓人感覺很廉價呀\u0026hellip;而且他們賣的skin也是如此，挑戰最色手遊地位。對比艦隊Collection，一年出沒幾隻，而且私服都穿得很正式，像是可以娶的良家婦女，接近真實存在的女性，相對來說沒那麼妓。 在此化用IGN對《劍星》的評論：「設計碧藍航線角色的人是沒看過真的女人嗎！？」\n電子妓女(over-sexualized figures)，嗯啊我很贊同這句，這下我成左逼SJW了。尤其是在看碧藍航線Live2D尻完進入聖人模式之後。雖然喜歡大奶，但看太多碧藍航線了反應就會變成：好噁心喔，我寧願看零戰64型的幻想改型打手槍也不要看廉價大冰奶！！！\n要論「電子妓女力」，碧藍航線肯定是直接表現在外顯(explicit)的內容了，可以說本家逼死同人。姑且不論劇情發展，而是整個遊戲給人的第一印象便是\u0026hellip;儘可能的吸引眼球並抓住玩家的時間，可這顯得廉價無趣。遐想不必跳脫遊戲本體之外，不如說，他們設計的各種Live2D欣賞機制就是要你在遊戲裡面舔艦娘用的。那麼二創社群能做到的不過就是把衣服剝掉這最後一個步驟而已。這種幻想擴展空間相對狹小。電子妓女的屬性幾乎能由官方原作承擔。\n相比之下，艦隊Colletion的電子妓女力是內隱(implicit)的，很依賴同人創作。沒人想在遊戲裡面看到艦娘爆衣 —— 那通常是大破了，代表作戰失敗了，要回港推倒重來了，否則會沈船並永久失去角色。跳脫遊戲本體的話，二創社群社群依照官方設定的基本屬性（立繪與語音）下去創作的作品就有更多想像空間，官方的暗示不會將玩家的印象框住，在遊戲裡面，艦娘是穿著正正當當的上班，然後由二創故事補完下班之後，玩家與艦娘的刺激夜戰橋段。在兩者結合之下，電子妓女的屬性不會嫁接到官方上面，而是由第三方共同承擔分享這份罪孽～\n田中雖然常常出if裝備，但起碼看起來還是很合理的進化方向（？）且旗下繪師對軍武細節刻劃的功力無可挑剔（至於Lexington的繪師麻宮騎亜就\u0026hellip;\u0026hellip;）。\n我覺得比較可惜的是，許多艦娘在大眾中的萌娘形象正逐漸被碧藍航線的版本取代，艦隊Collection在2013年後完全沒跟其他現象級遊戲聯動過（因為人家賺的都是現實的錢，跟新光三越合作，哪輪得到你臭宅～），但肯定的是島風丁字褲不死。\n依照平和主義者的想法，兩款遊戲的玩家應該彼此尊重，互相學習長處——不管你的遊戲有多妓。不過麼，在感情投射的介入下，就很難平等看待了呢。或許一些人應該先停止用下半身思考，這世界就會和平許多。\n","date":"2025年7月5日","externalUrl":null,"permalink":"/posts/sexualized-characters-of-kantai-collection-and-azur-lane/","section":"Kantai-Collections","summary":"唉，都怪資本，手遊的更新速度太快讓習慣玩網遊的boomer覺得不適（←什麼農場標題\n以艦豚的角度來說，《紺碧艦隊》的劇情越看越有既視感，喔，原來就是《艦隊Collection》呀！都是讓軍武宅看著做wet dream的表徵。紺碧艦隊屬於是昭和時代的老動畫了，內容硬派寫實（？），放在現代大概沒人要看，要加入萌妹子才能合法包裝自己的軍國主義思想，潛移默化影響全世界的weaboo！ 有人說，二戰日軍有課金就能擁有紺碧艦隊的各種神奇飛機，沒課金就會變《高堡奇人》世界線。這遊戲過了很久，一直都是田中一人的遊戲，界面仍像是同人社團小作坊而非商業公司的企劃，更新像是腦門一拍想到什麼就更新什麼的內容。活動劇情亂七八糟，雖說有很認真的歷史考據，包括兵器和戰役地圖的設計都有典故，但腦洞的地方也很多。大日本帝國陸軍與海軍各種南征北討，一下拯救歐洲一下又要防守本土，跟著日美英德法蘇組成的同盟一同拯救世界，悲壯感永不止息。\n在進行大戰略的移行後，就是欣賞美少女的樣貌了。即使你否認也沒用，別跟我說你從沒對這些女孩們有非分之想，尤其宅男宅女最常有將一切Rule34化的衝動。 跟批次生產各國妓女的《碧藍航線》比起來，田中出日本船以外的速度是在近幾年才稍微加速，尤其是美國艦變多了，否則以前都是日本最強！if類裝備越來越多，各種神奇改裝的飛機，零戰還能拿來反潛，12cm30連装噴進砲的彈幕能阻擋艦載機空襲，讓人想到紺碧艦隊裡面的核爆三式彈，只差還沒出真正的潛水空母了。能搭載晴嵐水上爆擊機的伊13和伊401還不夠看，我要可以搭載橘花噴射機的！啊啊，有夢最美，幻想到這裡就快要射了。\n","title":"艦隊Collection與碧藍航線的電子妓女力比較，內隱與外顯的性化角色表現","type":"kantai-collection"},{"content":" 今次Ivon要來分享一款開源的網頁漫畫管理，兼漫畫下載器的軟體「LANraragi」。 本文將介紹LANraragi的功能，並討論如何架設LANraragi伺服器，再用網頁或手機APP閱讀。打造離線版E-hentai。\n1. 使用LANraragi的理由 # 如果有下載漫畫的習慣，就會需要離線管理的軟體吧。比如E-hentai漫畫有紳士方舟，但是它不支援跨平台，還缺少遠端存取功能。\n啊不是說現在EhViewer線上看這麼方便，誰會沒事在外面看自己電腦的收藏\u0026hellip;凡事都有萬一，譬如\u0026hellip;急用的時候，有自己的收藏庫能速查不是更好？\n為更有效存取下載的本本，我找了一些漫畫管理方案，希望功能要超越紳士方舟，且起碼能用網頁遠端存取。\n試過calibre、Komga、Kavita，它們不是太陽春不然就是只適用整理表番漫畫，至於標籤式管理的Hydrus Network不方便閱讀漫畫檔案。比較後覺得「LANraragi」比較符合需求！ 這個軟體名字有點難唸啊？其實拆開來就知道了：「LAN」＋「araragi」，LAN代表區域網路連線，後者名字可能來自《物語系列》的阿良々木暦，預設密碼則是kamimamita（噛みまみた），阿良々木暦角色愛看本本的特質，正好反應此軟體的用途。\n特色如下：\n提供批次下載功能，方便從E-hentai大量下載本子，將自己的線上收藏轉移到LANraragi。\n搜尋界面做得跟E-hentai一樣，用網頁就能閱讀。 首頁會從書庫隨機推薦幾本書，還會提醒你哪些書沒有標籤需要整理 搜尋的時候標籤會自動補完，相容E-hentai網站的搜尋語法 閱讀界面很直觀，支援雙頁模式、自動抓標籤、手動編輯標籤、自訂分類、撰寫筆記 可從外部網路連線，用手機APP閱讀LANraragi伺服器上的漫畫。 平板APP閱讀的界面也不賴。 更棒的是，還有標籤雲，方便檢視性癖 雖說LANraragi主要是用來管理E-hentai、Nhentai、hitomi等處下載的同人本，但用來管理一般的漫畫也是勉強可以的，它支援讀取ComicInfo.xml。\n支援的漫畫格式有zip, rar, targz, lzma, 7z, xz, cbz, cbr, pdf, epub。\n讓我們看看如何使用LANraragi。\n2. 安裝LANraragi # 作者的Github提供Linux、macOS、Windows版。Linux建議用Docker跑，Windows則是下載.msi檔安裝。\n以前界面只有英文版，現已支援繁體中文，不需要使用第三方漢化的fork了。\n此處假定您已經有一個資料夾，專門放zip、cbz、epub等下載好的漫畫檔案，檔案名稱應該儘可能接近原本下載的網站所使用的標題。 LANraragi不支援純圖檔的資料夾。 Windows版 # LANraragi作者針對Windows系統開發了名為「LRReader」的程式，自動幫你裝好LANraragi伺服器與客戶端。需要依賴WSL2才能使用。\n在Windows 11 安裝WSL2子系統。\n至Github下載LRR_WSL2.msi。安裝後系統應該會出現LRReader與LANraragi兩個程式。\n在應用程式列表點選LANraragi圖示啟動。第一個欄位設定漫畫壓縮檔所在的資料夾，第二個欄位設定存放縮圖的資料夾。 可勾選Start Server automaitcally和Start on Windows Boot，設定開機自動啟動LANraragi伺服器。\n用瀏覽器開啟http://localhost:3000，進入LANraragi網頁管理界面。\n或者，開啟LRReader程式，輸入http://localhost:3000，並依照畫面指示輸入指令，連線到LANraragi伺服器。LRReader在這裡是單純作為一個閱讀器使用。 Docker版 # 於Linux電腦安裝Docker\n新建資料存放目錄：\nmkdir ~/lanraragi cd lanraragi vim docker-compose.yml 參考官方文件撰寫docker-compose.yml： services: lanraragi: image: difegue/lanraragi container_name: lanraragi volumes: - /run/media/user/HDD/doujinshi/:/home/koyomi/lanraragi/content # 冒號左邊填寫漫畫壓縮檔所在目錄 - ./thumb:/home/koyomi/lanraragi/thumb # LANraragi縮圖放在目前目錄下 - ./database:/home/koyomi/lanraragi/database # LANraragi資料庫放在目前目錄下 ports: - 3000:3000 # 網頁界面通訊埠 restart: unless-stopped 啟動服務 sudo docker compose up -d 用瀏覽器開啟http://localhost:3000，進入LANraragi網頁管理界面。 3. 初始化LANraragi # 開啟網頁界面登入，點選頁面上方的「管理員登入」，以預設密碼kamimamita登入。 進入後台，展開「安全性」頁面，變更管理員密碼 LANraraigi預設網頁界面是對外開放的，任何人都可以閱讀本子，只有後台操作需要密碼。要進一步加強安全性就勾選「No-Fun模式」，這樣的話進入LANraragi網頁一律需要密碼，防止別人看到你的大秘寶。\n接著展開「標籤與縮圖」，點「重新產生所有縮圖」，系統會自動掃描硬碟目錄的漫畫。 按左邊的儲存設定。\nLANraragi主要支援掃描zip格式的漫畫，不支援資料夾模式的漫畫圖檔。\n日後此界面可以從LANraragi主畫面點選Settings進入。\n4. 自動給漫畫上標籤 # 漫畫掃描之後預設是沒有任何標籤的，這裡我們要讓LANraragi自動搜尋比對E-hentai上面的資料，打上英文標籤。\n有些本本可能要Ex-hentai才抓得到，為此您需要提供E-hentai的cookie。開啟瀏覽器，登入E-hentai帳號\nGoogle Chrome按F12開啟開發人員工具，點選應用程式 → 儲存空間 → cookie，複製ipb_hash_pass和ipb_member_id後面的數字。 回到LANraragi → 批量操作，點頁面下方的「外掛設定」，展開「登入外掛」，在E-Hentai下方輸入剛剛cookie的數字。 在中繼資料外掛 → E-Hentai，勾選使用Ex-hentai。預設抓到的標題是英文的，所以我會勾選Save the original title給本子加上日文漢字標題，再按最下面的「儲存外掛設定」。 回到首頁，按「批量操作」。此頁面會自動勾選所有沒標籤的漫畫。點選左邊的任務 → 使用外掛，選擇要使用的上標籤來源，例如這裡是E-hentai，然後按「開始任務」，開始比對。它搜尋的依據是根據漫畫壓縮檔的檔名下去比對，因此漫畫檔名應該儘可能接近E-hentai網站上的命名格式，也就是[刊物名稱][場次][團體][作者][漫畫名稱][原作][語言]這樣，英文或日文標題都可以。 LANraragi會抓取的資料主要是角色、作者、性癖好標籤，還有上傳者與畫廊網址。全部都會以標籤的形式儲存，之後能夠手動編輯。\n上完標籤後，就可以用E-hentai的標籤語法搜尋漫畫了，英日標題皆可，也可新增收藏夾(Favorites)。\n5. 手動編輯標籤與寫筆記 # 如果本子zip檔名是漢字的話，LANraragi在抓標籤的時候有可能會抓錯，譬如你的檔案是日文版，卻抓到漢化版畫廊的標題！此時你就得手動修正。\n點進畫廊，按右上角的網格圖示，點選「編輯檔案中繼資料」。 這裡能夠修改標題和新增標籤。「摘要」的部份則是能夠撰寫私人閱讀筆記。\n還可以單獨給目前的本子進行重抓標籤的操作，如果LANraragi在批量操作模式怎樣都抓不到正確的畫廊網址，在最下面的E-H Gallery URL填入網址，告訴它正確的來源網址，這樣它就會從正確的網頁抓標籤下來了！ 6. 網頁閱讀LANraragi漫畫 # 標籤處理完成後，就可以享用跟E-hentai一樣的體驗啦！\n網頁版可以點網格按鈕，開啟漫畫資訊 點齒輪即可開啟雙頁閱讀。 7. 手機APP閱讀LANraragi漫畫 # 您要先讓LANraragi可以從外部連線，我使用的方案是內網穿透軟體ZeroTier。\n如果您的網路很慢，可以在LANraragi的設定 → 全域設定 → 在閱讀器中調整圖片大小，開啟壓縮圖片。 手機瀏覽器只要打http://\u0026lt;電腦IP\u0026gt;:3000即可存取LANraragi網頁，LANraragi的版面會隨螢幕自動適應。 APP的話，Android裝Mihon。iOS裝LANreader，填入LANraragi伺服器位址。\n如果您有啟用No-fun模式，記得先在LANraragi網頁的設定 → 安全性 → API金鑰，輸入密碼產生API金鑰 開啟Mihon，點選探索 → 擴充套件，安裝LANraragi擴充套件 點選探索 → 擴充套件 → LANraragi設定，填入伺服器IP，一律為http://\u0026lt;電腦IP\u0026gt;:3000，並看需求填入API key。 重啟Mihon，按探索 → LANraragi，即可閱讀。 8. 批次自動下載漫畫並上標籤 # 除了手動放本子到硬碟對應目錄讓LANraragi自己掃之外，您可以從網頁上傳漫畫檔案到LANraragi，它會把檔案移動到你漫畫所在的硬碟目錄。\n更棒的是，您可以丟給它一組E-hentai畫廊網址，它就會自行下載。記得要先在「登入外掛」輸入E-hentai的cookie。\n點選首頁上方的「新增檔案」，這裡同時也有新增檔案的功能。\n於左邊方框填入一排排的E-hentai網址，就會自動花費GP下載壓縮檔。雖說下載的漫畫名字一律是英文，但因為有自動上標籤功能，不需要擔心日文標題消失的問題。 下載E-hentai的漫畫封存檔需要消費GP。E-hentai會依照IP限流。如果你有給E-hentai站方抖內過，那麼你可以在短時間內下載更多漫畫。\nLANraragi下載的檔案不會自動上標籤，所以你要手動在「批量操作」界面讓爬蟲去抓。\n如果下載到的檔案是重複的，預設不會自動覆蓋舊有檔案，而是顯示「下載失敗」。\n","date":"2025年7月1日","externalUrl":null,"permalink":"/posts/setup-lanraragi/","section":"所有文章","summary":" 今次Ivon要來分享一款開源的網頁漫畫管理，兼漫畫下載器的軟體「LANraragi」。 本文將介紹LANraragi的功能，並討論如何架設LANraragi伺服器，再用網頁或手機APP閱讀。打造離線版E-hentai。\n1. 使用LANraragi的理由 # 如果有下載漫畫的習慣，就會需要離線管理的軟體吧。比如E-hentai漫畫有紳士方舟，但是它不支援跨平台，還缺少遠端存取功能。\n啊不是說現在EhViewer線上看這麼方便，誰會沒事在外面看自己電腦的收藏…凡事都有萬一，譬如…急用的時候，有自己的收藏庫能速查不是更好？\n為更有效存取下載的本本，我找了一些漫畫管理方案，希望功能要超越紳士方舟，且起碼能用網頁遠端存取。\n試過calibre、Komga、Kavita，它們不是太陽春不然就是只適用整理表番漫畫，至於標籤式管理的Hydrus Network不方便閱讀漫畫檔案。比較後覺得「LANraragi」比較符合需求！ 這個軟體名字有點難唸啊？其實拆開來就知道了：「LAN」＋「araragi」，LAN代表區域網路連線，後者名字可能來自《物語系列》的阿良々木暦，預設密碼則是kamimamita（噛みまみた），阿良々木暦角色愛看本本的特質，正好反應此軟體的用途。\n","title":"LANraragi，網頁整理同人本漫畫，支援自動上E-hentai標籤，Docker版部署教學","type":"posts"},{"content":"","date":"2025年7月1日","externalUrl":null,"permalink":"/tags/mihon/","section":"標籤","summary":"","title":"Mihon","type":"tags"},{"content":"真正的手機版Linux：postmarketOS已經能安裝到多部舊款Android手機上，讓他們重新發揮用處。postmarketOS是基於Alpine Linux開發的手機Linux發行版，可以執行docker在內的應用程式。此外專為手機設計的Linux APP也逐漸出現。\n請看這裡了解如何安裝postmarketOS。\n若手機無法刷postmarketOS，何不在電腦上用虛擬機體驗看看呢？我們可以透過QEMU/KVM虛擬機，體驗手機Linux界面的開發進度；如果要為手機Linux測試應用程式，此虛擬機亦會有幫助。 postmarketOS官方有提供Generic x86_64 EFI System的系統映像檔，能夠像其他桌面版GNU/Linux安裝到一般的x86電腦。不過，postmarketOS是基於Alpine Linux開發，套件庫大致上共用。因此若要安裝成主力桌面系統，建議直接裝Alpine Linux就可以了。\n本文主要目的是安裝開發測試環境，能夠體驗下postmarketOS長什麼樣子。請注意：虛擬機難以提供圖形加速，因此Wayland桌面環境渲染可能會出現bug。\n下面討論兩種安裝postmarketOS虛擬機的方法。\n1. 透過pmbootstrap安裝QEMU虛擬機 # 透過pmbootstrap自訂你的桌面環境，這個方法適合開發人員使用。\npmbootstrap是用於產生postmarketOS安裝檔和移植新機型的工具鏈。由於pmbootstrap會建立chroot環境，因此電腦必須為Linux系統，虛擬機亦可，WSL不行。\n這裡電腦宿主機為Ubuntu，用git安裝pmbootstrap： git clone https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git cd pmbootstrap mkdir -p ~/.local/bin ln -s \u0026#34;$PWD/pmbootstrap.py\u0026#34; ~/.local/bin/pmbootstrap pmbootstrap --version 輸入以下指令開始設定： pmboostrap init 接著要回答一系列問題，下面逐步講解。 # 初始化 pmbootstrap init # 按Enter使用預設工作目錄 (~/.local/var/pmbootstrap) Work path: Enter # 更新頻道選擇edge，或者填入寫有Recommended for best stability的穩定版。 Channel: edge # 選擇廠牌，這裡填QEMU Vendor: qemu # 選擇AMD64的版本，AARCH64跨架構模擬會很慢，吃不到KVM加速 Device codename: amd64 # 建立pmOS的使用者帳戶 Username: User # 選擇桌面環境，只支援Wayland的Phosh桌面可能會開不起來，故選擇Plasma Mobile或GNOME。 User Interface: plasma-mobile #剩下全部Enter 接著開始安裝系統： pmbootstrap install 再來開機。pmbootstrap預設的RAM太小了會非常卡，建議使用以下指令開機。使用Host CPU、分配4GB記憶體、磁碟容量32GB、模擬手機直向畫面、開啟音訊。輸入pmbootstrap --help查看幫助選項。 pmbootstrap qemu --cpu max --memory 4096 --image-size 32G --video 720x1080 --audio pa 開機後可從QEMU開啟的終端機登入系統，或是用SSH登入： ssh user@虛擬機IP -p 2222 開機後虛擬機視窗應該會進入桌面，縮放視窗會自動變更大小。QEMU虛擬機還會自動抓取鍵盤滑鼠輸入。 本文範例我選擇的界面是Plasma Mobile，會跟著視窗縮放UI。雖承襲自KDE Plasma，但變成了為手機優化的界面。 安裝軟體商店Discover後可充當下載軟體的前端。APP來源為postmarketOS、Alpine Linux的軟體庫。 終端機也是少不了的，推薦安裝：chromium、font-noto-cjk、docker。你可以藉此評估docker在postmarketOS的執行效能。 有些軟體用起來就是電腦版，有些軟體則是會自動按照視窗大小變形UI。 此虛擬機關機後檔案還會在，但每次執行pmbootstrap init系統會自動刪除舊版的檔案系統，因此記得備份位於~/.local/var/pmbootstrap/chroot_native/home/pmos/rootfs/的QEMU image。\n2. 手動以Virt Manager安裝postmarketOS虛擬機 # 使用官方預先建置的postmarketOS映像檔啟動系統，不需要用到pmbootstrap。\n這個方法有點繁瑣，因為postmarketOS官方沒有提供.iso映像檔，而是.img檔案，所以要手動dd寫入。（註：雖然有os-installer映像檔了，但主要是給實機安裝使用的）\n在Linux安裝Virt Manager\n到postmarketOS官網下載Generic x86_64 EFI System的映像檔。例如我選取Phosh的版本。\n下載後將.xz檔案解壓縮，會得到一個.img檔案。\n開啟Virt Manager，新增一個虛擬機，系統選Alpine Linux。開機韌體選UEFI，顯示卡選VGA，然後新增一個64GB以上的qcow2虛擬磁碟。先不要開機。\n在開機之前，先將qcow2掛載為NBD裝置\nsudo modprobe nbd max_part=10 sudo qemu-nbd -c /dev/nbd0 /var/lib/libvirt/images/postmarketos.qcow2 以dd指令將postmarketOS映像檔寫入，然後移除NDB裝置 sudo dd if=postmarketos-phosh.img of=/dev/nbd0 bs=4M status=progress conv=fsync sudo qemu-nbd -d /dev/nbd0 回到Virt Manager，開機就可以使用系統了。 參考資料 # QEMU - PostmarketOS Wiki\n","date":"2025年6月27日","externalUrl":null,"permalink":"/posts/postmarketos-qemu/","section":"所有文章","summary":"真正的手機版Linux：postmarketOS已經能安裝到多部舊款Android手機上，讓他們重新發揮用處。postmarketOS是基於Alpine Linux開發的手機Linux發行版，可以執行docker在內的應用程式。此外專為手機設計的Linux APP也逐漸出現。\n請看這裡了解如何安裝postmarketOS。\n若手機無法刷postmarketOS，何不在電腦上用虛擬機體驗看看呢？我們可以透過QEMU/KVM虛擬機，體驗手機Linux界面的開發進度；如果要為手機Linux測試應用程式，此虛擬機亦會有幫助。 postmarketOS官方有提供Generic x86_64 EFI System的系統映像檔，能夠像其他桌面版GNU/Linux安裝到一般的x86電腦。不過，postmarketOS是基於Alpine Linux開發，套件庫大致上共用。因此若要安裝成主力桌面系統，建議直接裝Alpine Linux就可以了。\n本文主要目的是安裝開發測試環境，能夠體驗下postmarketOS長什麼樣子。請注意：虛擬機難以提供圖形加速，因此Wayland桌面環境渲染可能會出現bug。\n下面討論兩種安裝postmarketOS虛擬機的方法。\n1. 透過pmbootstrap安裝QEMU虛擬機 # 透過pmbootstrap自訂你的桌面環境，這個方法適合開發人員使用。\n","title":"用電腦體驗手機Linux系統：postmarketOS QEMU/KVM虛擬機安裝教學","type":"posts"},{"content":"最近Threads上的青鳥獵巫越來越誇張，在路上簡單拍照就被當成中共間諜，已經有多重受害者了。\n我看到他在拍自強隧道，覺得很可疑，要求她把照片刪除。其實是五月天歌迷。 台灣「陸配」小學附近做直播遭警方法辦，反「中共監控」還是「草木皆兵」？ 一名國中畢業生穿制服對校園錄影，也遭綠營偷拍發網。 質疑直播男「行為鬼祟」 立委郭昱晴公審路人慘翻車，宣稱是善意提醒。 我媽順手拍影片來記錄一下這次端午節跟家人團聚包粽子的心情。就看到旁邊有個女生突然衝到自己手機旁大喊中華民國萬歲台灣獨立，讓她嚇到以為自己遇到怪人。 這群民進黨側翼，整天對身邊的人疑神疑鬼的，搞得草木皆兵。就因為有人散播「中共禁止人民使用Google Maps，因此需要派間諜潛入拍攝台灣街景，以利武統」的消息。\nGoogle地圖街景車就拍的一清二楚的東西，不是軍事重地的地方，你在那邊抓戰犯\u0026hellip;..那些在下面對這種霸凌行為叫好的，就是一副路上有女子被性侵，你卻先譴責她穿太露的一樣。不去圍真正有危險的統促黨黨部，或是加入國軍服役，只會學憂國騎士團到處出征無辜台灣民眾，還將一切推給「境外勢力」認為是他們逼得我們這樣做的。\n我就想到槍與玫瑰1990年發表的Civil War這首歌：\nI don\u0026rsquo;t need no civil war! It feeds the rich while it buries the poor.\n對了，Axl Rose在2008年發表的Chinese Democracy一曲裡面有提到\nNow you\u0026rsquo;re keeping your own kind in hell.\n控訴共產中國的言論控制。\n現在這個「自由中國」的小島本無牆，許多人卻用 #建議封鎖名單標籤 的方式消除反對聲音，那麼是誰將自己關進同溫層監牢呢？對中國大陸充滿各種妖魔化的想像。一下覺得中國好邪惡有各種手段滲透台灣，一下又覺得是不堪一擊的紙老虎。還幻想我川會在中共攻台時出手教訓他們。 如果說，一個人反共的實際作為，是在大街上做思想警察，而非宣揚自身的自由民主優勢（所謂文化不夠自信）。那麼這種方式不過是招致反效果。有沒有一種可能，是執政者與既得利益團體想掩護自己治國無方，所能做出的最大回應罷了。畢竟做實事難，喊喊口號營造氣勢還是很在行的。任何人都可以是審判官，只因為他們覺得自己總要做些什麼才對得起自己信奉的神明。耍各種花招就以為自己是反共鬥士了？\n媒體姓黨嗎？ # 我說，台灣人要反共可以，但不要把中共當笨蛋，別只會學法輪功那一套低質的宗教話術，成為名副其實的「井蛙」。凡中國在任意領域有所突破，就極力唱衰中國，拒絕承認中國的實力。確實中國內部的大外宣常常吹噓自己的國家有多棒，你國贏麻了。但當我們評價一件事情的時候應當以更客觀的方式去分析看待，並非是站隊、拉偏架的樣子評論。\n我們當然要防範他國間諜————嗯，不只支持侵略的中共同路人，試圖引起代理人戰爭的美國走狗也要防範。但是，獵巫是不能解決問題的。與其主張「務實的台獨工作者」不如講「務實的反共」。\n永遠不要看只會寫「中國贏麻了」或批「中國輸麻了」的媒體，尤其是技術文章。關於資安問題，不論是哪一國生產的產品都要抱持戒心。最近ESP32微控制器爆出有後門（準確來說，是undocumented commands，可不是undocumented immigrants），仇中人士便一口咬定是中共故意的陰謀。但是鏡頭轉換到Reddit英文討論區來看，反而就較少這些情緒存在，都是從技術上分析這個攻擊面有多大，可行性如何，甚至有人天馬行空的想說能不能用這個漏洞來偷電錶（？），不會充滿政治語言。看看Hacker News的討論，從目前資訊來看，需要物理接觸到目標裝置才可以進行駭入，應該是沒辦法遠端控制。再加上觸發原理，可能連「後門」也算不上。再看看一些誇大人士的消息：「中國生產的ESP32微控制器被爆出後門，數十億裝置暴露在風險之中！？」眼裡有釘子，看什麼都是鎚子。 要讓天天只會喊口號的小粉紅和小粉綠理性的看問題屬實是難了些，只能接受「中國最讚！」「中國最爛！」的二極管情緒，我不會說他們都是文組啦，不過是理盲濫情之輩。之前DeepSeek出現是這樣，現在也是這樣，像這個阿塗只會畫「DeepSeek被維尼控制」之類的梗圖掩飾他們的無知。 雖說，我反感現在台灣的執政黨政府，但看到網民把許多社會問題都怪到政府頭上，好像也怪怪的吧？就業率、生育率、國防外交、社會安全網、能源等議題就算了，但比這些更小的議題也有人能扯到政府。把什麼事情都怪到賴皮德頭上，就好像把中國一切問題都怪到習豬頭一人身上一樣詭異！（但習豬頭確實有資格被千夫所指，畢竟人家都是親自指揮、親自執行的。）這種什麼事都怪政府的想法是不是一種支性？一種盼青天大老爺的思維？批評簡單，提出解決方案難，很多事情不是立個靶就能解決的。這就是為什麼我們需要政黨奧援，養一批智庫提供政策分析。然後作為媒體閱聽人，我們也不能單方向接受單一訊息洗腦。\n我看到社群媒體上，青鳥開口就對中國人說「8964」，就跟看到小粉紅看到台灣人開口就說「武統」，一樣噁心，你味太大了。甚至不問對方出身，因為用字就開噴？別把你在PVP遊戲噴人戳人的習慣帶來一般對話，「趙彈磁鐵」也不是這樣用的好不，不需要那麼多節目效果。這些人不是真傻就是壞，後者講話就愛故意激怒對方取樂，這樣做可能有快感，還能po到自己的小圈圈炫耀「釣魚大成功」。這些人只想情緒發洩，搞站隊潑髒水，以為在網上口嗨就是在為國家盡一份心力。\n難道你忘記那張蓋酷家庭的梗圖了嗎：誰他媽會在第一次見面的時候講這個啊，我才剛坐下來耶！ 台灣的自由民主在某些人眼裡是沒有包容的氣度的。\n以前看到牆內抹黑台灣的小粉紅發言還會惱怒，現在只覺得：好罵。兼具物種多樣性觀察與節目效果。粉紅青鳥本一家。\n或許，微博上的「台湾傻事」帳號是惡意抹黑台灣，Facebook上的「臺灣傻事」那更是重量級，直接內建中共大外宣訊息。可是現在Threads有人做起「台湾傻事期刊」，反而覺得裡面說的還真是有道理。\n每天都能看到各種台派迷惑行為大賞，莫名其妙的各種仇中角度，把中國固有的人權問題無限上綱，資訊來源不是BBC而是輪媒（譬如大紀元，紐約時報認證的右翼反華小報）似乎任何中國人呼吸就是原罪一般。什麼時候能擺脫集體主義思維？什麼時候不要用二分法覺得台灣人因為民主就一定是善，中國人就是惡？ 似乎很多人都這樣誤解，以為Threads是台灣人台派與青鳥的地盤，忽視了台灣異見者、中國、香港、馬來西亞、新加坡用戶），言論會跟著演算法自由流竄，權蛆無法ban人。故清醒的用戶越來越多後，他們也就只能用封鎖、手動蓋牆的方式來加強自我洗腦。\n如果翻牆窮蛆一出來，還有救的部分人群，看到牆外這麼多魔怔逼（圖芝大佐、青鳥等等），也不要怪他們對自由派中國人的反感了。 最主要的就是，那些人反共的政治理論應該要再加強，不要只講那些給紅脖子聽的話。一些人在黑熊學院上幾堂課就覺得自己是Guerrillero Heroico（英勇的游擊隊）成員了。台灣的軍備不可能打得過中國，玩不對稱作戰也有風險，所以政府就開始想一些花式招數「反共」，但在思想上顯得幼稚笨拙，沒有成體系的知識來反共。\n這些人得學習一些理論來強調反共的正當性，就是江蛤蛤說的「你們啊，naive！還是要提高自己的知識水平，你們還要再學習一個！」譬如拿一本右人愛講的海耶克《到奴役之路》來批判社會主義，總比整天復讀「天滅中共」的論點要好多了。至於看姨學反共的far-right或alt-right，我只能說小心你哪天沒屠支成功，反倒被大洪水沖走了。這個世道還是當左逼會讓人良心比較安樂，我可以說自己是同情共產主義者，但絕對不是中共這種修正主義體制。支黑理論看看就好，別真的上頭了。\n我看過有些蔥輪姨粉，就愛用各種古文明的比對（例如羅馬雕塑 vs 漢朝雕塑的人像細緻程度）來證明中國以來一直是個窪地，三千年歷史根本不值得一提。真是迷惑支黑行為。這就屬於有點過了。要記住，窪地論也只是一種史學觀點而已。若是用這種狹隘的思想來看待過去的文化，也是陷入了一種偏狹。\n之前看到這篇：2023台灣縱觀：島國邁進國際革命之路 - 火花 要是說，共產主義是不是一種陰謀論，因為它破壞了資本世界的法則，完全是馬克思閉門造車妄想出來的產物，美國一些極右派甚至用宗教人士的角度認為它是魔鬼的陷阱。看看大紀元上面專欄作家的論調就知道了，有的連經濟學原理都拿不出來反駁，而是搞宗教裁判所那一套，還能獲得讚聲，可知道這些人的受眾素質為何。那麼，認為共產主義是一種陰謀論的論點，是不是也是一種陰謀論，告訴你世界不是這樣的，應當起身反抗資產階級施加的教育，唯物主義是永久不變的真理，人性不過是是虛妄。只能說，容易接收陰謀論觀點的人，就是註定當《動物農莊》裡面羊群的人物。我發現，共產主義其實沒有那麼壞，當成一種學說探討並無不可，就是把經唸歪的人太多了（這下我成tankie了）。台灣有《火花》雜誌這種托洛茨基主義者生存的空間實屬難能可貴，他們大概是少數明確反對走修正主義的中國共產黨的在台共產組織了，對藍綠白三黨也有批判，也不會因為中國人血緣就認為台灣應該無條件親近中國。現在我的立場可以說對共產主義報以好奇同情之心，但尚無作為最高指導思想的行動\u0026hellip;畢竟還有更多安那其主義可以研究。\n如果敵人反對我，證明我做對了。如果朋友反對我，於是他變成了敵人，所以代表我做對了。橫豎都是贏。其實這個邏輯挺賴皮的，比賴皮寮還皮，比牢柯還奸詐，很多人愛這樣講，說什麼人群中有人起來罵他，那麼代表有人被磚頭丟到的比喻，為自己行為辯護。但是這種耍賴的前提是本身要夠強大才能這樣說，本身是個痞子，連塞子棋子都當不好的角色，是不能隨便亂說的。\n最近我黨有立委出現了暴論：民眾黨 劉書彬教授 質詢 行政院長卓榮泰 行政院不能說中國是境外敵對勢力，否則會觸怒中國違反反分裂法。 【立法院演哪齣？】 啊這\u0026hellip;我們確實可以不要理會中國制定的法律，「不顧北京反對」，自由與其他國家發展關係，玩民主同盟的遊戲。你是說，派幾個國會議員訪台，擺拍上傳FB，然後死也不建交的民主盟友？有時不小心邀到太大咖了，還會換來解放軍環島炸魚套餐。問題是反分裂國家法就是一部真實存在的法律，江蛤蛤時代設定下的，唯一對台動武的法律依據，然後在那邊跳臉，逼近中國底線，哪天真的台獨或者美軍駐台，引火上身就變成台灣人活該了，那該咋辦，誰要為你這破政府打仗？\n不正義的和平與正義的戰爭 # 說到這，想分享《機動警察劇場版Ⅱ》電影，這部氣氛營造真的很棒，劇情十分寫實，F-15攔截F-16的軍事場面更是動漫史上數一數二逼真的，明明沒有空戰卻依然緊張。1993年的電影動畫現在看來仍不遜色。這部電影完全變成了押井守傳達個人哲學的作品，不再只是單純機器人打打殺殺。前半段隱含了日本自衛隊的處境，還有對美日同盟的擔憂（這些老導演經歷過左派運動時期，對美軍自然沒好感），巧妙的討論了「正義的戰爭」與「不正義的和平」的概念。我們要守護的，究竟是什麼？\n影片裡面所謂「不正義的和平」總比「正義的戰爭」好，是嗎？有人說這是在給變成和平白痴的日本人一個警告，戰爭一直存在，即使日本本土沒有戰爭，但是仍透過海外戰爭發大財，人們卻對此視而不見，甚至扭曲了正義的定義。這部2小時的電影LABOR機器人變成次要配角，特車二課在最後30分鐘才大顯身手。即使事件解決了，但是幕後兇手的作案動機給人帶來強大震撼。別忘了提，川井憲次製作的配樂是讓這部作品更加昇華的關鍵！〈Asia〉〈Wyvern〉〈Unnatural City〉音樂配合極端寫實的部隊行進動畫，將整部氣氛推向高潮。\n【机动警察PATLABOR 2】非正义的和平（Just War and Unjust Peace) 維持兩岸和平是很困難的任務。沒有人想要馬上統一也沒有馬上獨立。\n李天豪 - 中共改掉國號的代價有多大？ 這部影片挺危險的，暴露了講者是大中華主義者，還認為中共如果維持中華民國國號現在會更容易一家親。現在偏安的中華民國政府，自以為有美國罩，可以疏遠中國，甚至對中國政策都不甚理解，一昧洗腦人民仇中，難保不會走到無法回頭的那一步？現在我川都不屌你了，只好下跪求開戰之後別把權貴的綠卡給撕了。\n柬埔寨民歌 មើលសត្វទីទុយ 看 貓頭鷹 這首歌合成器太簡陋反而有種迷幻搖滾的感覺，這使我做了些夢\u0026hellip;\u0026hellip;列寧當年對孟什維克的評價很是正確，與其花時間在議會民主鬥爭，想要權力？直接學布爾什維克推翻現有政府才是比較快的方式。不然的話就會像某個鬼島，反對黨簡單刪點預算還要花大把時間跟大批頭尾草選民解釋，推個法案靠北靠母，費盡唇舌勞心勞神啥也換不到。民主社會總是吵吵鬧鬧，不如來個波大佐去城市化，壞分子全殺掉後再來講要如何建設新國家，當年最反對蔣中正的，現在還天拿「肅清匪諜」的法條當令旗。如果對民主政府乃至整個體制不滿，不要對代表資產階級利益的執政黨，甚至還幫人數錢譴責反抗勢力，得過且過，就起兵推翻二月革命的自稱民主政府吧！過去的歷史經驗告訴我們，民主只是最不壞的制度，而中國人是需要管的，閩猴同是。不幸的是共產主義革命興起的地方都是農逼，或者擁護極權思想濃厚的地方，所以順民好取得，但是被利用的也很快。上來新政府，往往就是一頓殺殺殺，再進入安居樂業的日子\u0026hellip;\u0026hellip;好了，今天網路用的夠多了。\n不要無腦舔共，也不要死命反共 # 對台灣的處境來說，太偏倚那一方都會招致毀滅。\n已故民進黨員黃信介說過：「台獨只能做不能說。」\n柯文哲補充道：「統一只能說不能做。」\n2025年6月，館長去中國玩，講了很多像是鄉毋寧會說的話。館長「中國不禁翻牆，只是要付VPN費用」　微博網友：別把我們賣了 - ETtoday 啊這\u0026hellip;翻牆窮蛆出來吱個聲！館長到中國旅遊的影片發言讓人難以下評斷，一方面中國確實不是那麼壞，但牆卻是真實存在的，居然說得好像翻牆無罪一樣。雖說不要仇視大陸，可是反過來各種誇中國好像也怪怪的，我看他存心只想氣死青鳥吧，各路民小支黑都綳不住了。聽說中國時報很愛報導中國大陸的正面消息，有時候舔到大陸人都會噁心的地步，活像新聞聯播翻版。所以看他們的新聞需要過濾一下。大中華膠我是不贊同的，因為我向來反對民族主義，倒是比較贊同世界主義的。 在此要先反省過去的一點：我不應該因為看到簡體字和「支語」就反感對方，有時候甚至香港的書面語我也很會當成支語下去批判。有些人看到簡體字就會反射性的出現仇中反應，幾年以前確實是對简体字很感冒的，甚至覺得正體字比起殘體字要優越，可是在我知道除了中國大陸之外還有馬來西亞、新加坡華人使用簡體字，那麼用簡體字下去判定仇人的標準就是屬於腦殘的行為。並且，寫簡體字的中國人也不代表就是小粉紅的角色，也有可能是反賊。\n另外，支語的判定在全球語言的交流下是變的越來越困難了。有些詞語出現了不會被影響，但有些詞久了就已經逐漸取代台灣常見的說法了。身為支持民眾黨、傾向台灣獨立的人士（注意，只是傾向，沒有急獨），已經被8964個人說過我是舔共賣台的份子了，小粉紅則是會說台獨漢奸，從網路上到現實指著我的鼻子罵的都有。現在的對手主要是民進黨，不論民眾黨提什麼監督政策，都是在搗亂這個國家。我選擇不罵回去，做人身攻擊的下賤樣。 想起淨空法師的話，只能「可憐他們，沒人教他們辨別正確資訊的方式」，至少要看立法院院會直播和提案內容吧，不是看懶人包圖卡就夠了。你以為？什麼時候輪到我以為。如果高知識粉子還沒有查證精神的話，那麼你的想法就只是somebody\u0026rsquo;s opinion、anybody\u0026rsquo;s opinion、nobody\u0026rsquo;s opinion!。我始終不這麼認為台灣是中國的一部分（中共，非中華民國），相信民眾黨內過半數也不這樣認為。中共很壞，中國人跟著壞嗎？我們有必要像小粉紅一樣缺腦嘛？我想這可以聯想到近年的一個改變，我不主動罵使用簡體字的人了，而是看其行為來決定。\n自2019年在B站發乳包評論以來，隔幾年又開始罵蔡EE，鍵政太久已經不知道什麼是正確的了。總覺得，我不能關在一個意識形態裡面太久。政治，不是宗教。\nBob Dylan說：「答案早已在風中飄揚」但是真相究竟是什麼呢？\n著名大中華膠李敖以前在北京大學演講，陰陽怪氣要中國人反對共產黨統治的時候講過一個比喻：\n（用北京話來說）我們（對政府）去嗝了，去顛了，去得了，去慫了，去反了，（都沒成功後就）用這種不健康的情緒在家裡生悶氣。\n精準了論述了各種政治活動家的作法，不論是暴力革命、自命清高、歸隱田園都不是處世的方法，重點在於如何跟政府巧妙的周旋到底。好像支持某一黨立場後說的話就不可能中立了，不論哪黨都一樣，其中必定抱有一定的意識型態立場，會為自己的立場開脫，覺得都是they的錯。\n我自身並不例外，或許閉嘴比較好？如果加入政黨或者跟政黨活動有往來，那就完啦，你說啥都會被扣帽子了，發言完全沒有價值，像「不禮貌鄉民團」這個前民進黨網軍，一旦立場鬼轉幫民眾黨講話，小時候偷香油錢沒還的事情都會被當成黑料來罵。\n諷刺的是，不論藍綠白三黨都有人認為自己政黨支持者是最理性的，它黨的人都是暴民無法溝通，其實這種心態就很符合邪教的定義了。即使那些自稱中立理性的KOL用自認為中立的話語描述各黨政治立場，說啊大家都是台灣人啊不要互相仇視，好話說完，結果下一句鬼轉「民進黨賣台」、「藍白都是中共同路人」、「我無黨無派但是不支持抗中保台的日子人都該去死」、「政治好黑暗我不想管之類」的，並且對自身的壞事輕描淡寫，然後對手的的事情就挖大渲染。光是一個對中國態度就可以有多種立場，綠對中強硬會被人說在挑釁中國，支持者則認為責任全在中方，台灣本就是應該堅持獨立自主；藍白對中國友善被指責在支持統一，支持者則認為若不把三角形劃好就會招致烏克蘭下場。三黨的唯一共識就是，沒有人願意馬上獨立，也沒人要馬上統一。\n2023年在選舉之前時候我就說過，沒有一黨是100%是我認同的，感覺都在騙，結果還是選了民眾黨。當然，我可以選擇對一個當政治厭惡的日子人，雖對執政黨有些怨言卻不敢搞革命，譴責那些不願跪著的人，抽刀向更弱者。\n或者更激進一些說「屠就完事了」，誰願意繼續拷打台灣人我就投給他，支持搞加速主義。\n但這想法畢竟不現實，故我還是會繼續支持反政府的事，不過，要與極端支持者保持距離，保持與異溫層的一定接觸，不發聲的也不要苛責。或許人類永遠不可能互相理解，但不能什麼都不做。\n","date":"2025年6月26日","externalUrl":null,"permalink":"/posts/2025062601/","section":"Politics","summary":"最近Threads上的青鳥獵巫越來越誇張，在路上簡單拍照就被當成中共間諜，已經有多重受害者了。\n我看到他在拍自強隧道，覺得很可疑，要求她把照片刪除。其實是五月天歌迷。 台灣「陸配」小學附近做直播遭警方法辦，反「中共監控」還是「草木皆兵」？ 一名國中畢業生穿制服對校園錄影，也遭綠營偷拍發網。 質疑直播男「行為鬼祟」 立委郭昱晴公審路人慘翻車，宣稱是善意提醒。 我媽順手拍影片來記錄一下這次端午節跟家人團聚包粽子的心情。就看到旁邊有個女生突然衝到自己手機旁大喊中華民國萬歲台灣獨立，讓她嚇到以為自己遇到怪人。 這群民進黨側翼，整天對身邊的人疑神疑鬼的，搞得草木皆兵。就因為有人散播「中共禁止人民使用Google Maps，因此需要派間諜潛入拍攝台灣街景，以利武統」的消息。\nGoogle地圖街景車就拍的一清二楚的東西，不是軍事重地的地方，你在那邊抓戰犯…..那些在下面對這種霸凌行為叫好的，就是一副路上有女子被性侵，你卻先譴責她穿太露的一樣。不去圍真正有危險的統促黨黨部，或是加入國軍服役，只會學憂國騎士團到處出征無辜台灣民眾，還將一切推給「境外勢力」認為是他們逼得我們這樣做的。\n我就想到槍與玫瑰1990年發表的Civil War這首歌：\nI don’t need no civil war! It feeds the rich while it buries the poor.\n對了，Axl Rose在2008年發表的Chinese Democracy一曲裡面有提到\nNow you’re keeping your own kind in hell.\n控訴共產中國的言論控制。\n現在這個「自由中國」的小島本無牆，許多人卻用 #建議封鎖名單標籤 的方式消除反對聲音，那麼是誰將自己關進同溫層監牢呢？對中國大陸充滿各種妖魔化的想像。一下覺得中國好邪惡有各種手段滲透台灣，一下又覺得是不堪一擊的紙老虎。還幻想我川會在中共攻台時出手教訓他們。 ","title":"從青鳥獵巫行為看反共態度：不能把中共當笨蛋看。在「為什麼要反共」這個問題上我們可以多想一些","type":"politic"},{"content":"postmarektOS是一款基於Alpine Linux研發的手機Linux作業系統，目前已移植到多款Android手機上。\n相關文章：postmarketOS是什麼？ postmarketOS雖然有圖形化界面，但有時候還是需要指令。因此有需要的話建議用SSH遠端輸入指令，postmarketOS也有提供手機終端機APP。\n本文Ivon使用postmarketOS v25.12做示範，桌面環境為Phosh，解說postmarketOS的使用技巧。\n1. Phosh的操作邏輯 # Phosh是一個專為行動裝置設計的桌面環境，原作者是Purism公司。Phosh使用GNOME與wlroots的技術開發。Wayland合成器為phoc，顯示管理器為TinyDM（postmarketOS維護者特別打包的），螢幕觸控鍵盤為Stevia。Stevia為postmarketOS維護者開發的觸控鍵盤，功能比原廠Squeekboard還要多。\n如果使用postmarketOS官方建置的映像檔安裝系統，預設使用者帳號是user，密碼是147147。\n解鎖之後會看到所有應用程式，長按圖示可以將常用的應用程式加到最上面。 開啟多個應用程式之後，用手勢從螢幕底部往上滑動，進入多工界面，左右滑動切換應用程式。將應用程式的小視窗往上滑，就可以關閉應用程式。 從螢幕頂部往下滑動，會看到快捷設定選項。按右上角鎖定或關機。 Phosh有分為Docked與Undocked模式，可以手動在快捷設定切換。Undocked就是一般手機使用模式，一個APP視窗佔滿整個螢幕。至於Docked模式會在接上實體鍵盤或者外接顯示器的時候自動開啟，讓視窗變成能夠縮放大小並重疊在一起，就好像在操作桌面Linux系統。 若要修改桌布和鈴聲，安裝postmarketOS Tweaks APP：\nsudo apk add postmarketos-tweaks 開啟此APP後你就能設定桌布、睡眠模式(暫停，suspend)的觸發時間，還有要不要強制應用程式UI縮放為小螢幕。\n要讓特定APP阻止手機進入睡眠，使用gnome-session-inhibit指令：\ngnome-session-inhibit –inhibit suspend \u0026lt;指令\u0026gt; 2. Linux手機APP # 應用商店 # 儘管你可以在postmarketOS安裝電腦Linux的應用，包括GTK和QT寫的程式，但不是所有Linux應用都能無縫在小螢幕上使用，有的UI不會自動變形，需要自行測試。參看：Applications by category - postmarketOS Wiki\nPhosh有應用程式商店，叫做GNOME Software，可以用來下載postmarketOS的APK套件庫以及Flathub的應用程式。就像Android手機一樣點擊下載APP，而無需打指令。 不過老實說，GNOME Software界面不太流暢，因此要安裝軟體最方便的方式還是打指令。\nFlatpak和Gnome軟體商店的插件需要額外安裝才會顯示：\nsudo apk add flatpak gnome-software gnome-software-plugin-flatpak flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 手機版Firefox使用小技巧 # postmarketOS的Firefox是加入自訂CSS的修改版，方便使用者以觸控手勢操作。功能跟電腦版差不多，但是會強迫使用Duckduckgo當搜尋引擎。點選Firefox右下角設定→搜尋→還原預設搜尋引擎，就能使用Google搜尋。\n這裡Firefox預設的User Agent是「Android上的Firefox」。你可以安裝User-Agent Switcher and Manager切換User Agent。\n地圖導航 # 到系統設定 → 隱私，開啟位置存取權限，接著安裝地圖導航APP。\n推薦透過Flatpak安裝Pure Maps，可用來導航。\n用Waydroid跑Android APP # 利用LXC容器執行Android APP。參見 Waydroid + postmarketOS使用教學\n遠端桌面 # postmarketOS的桌面環境大多是使用Wayland。Phosh是基於wlroots開發的Wayland桌面。\n如果裝置Type-C不支援HDMI輸出，要怎麼投影到大螢幕？\n答：使用WayPipe或是WayVNC分享。\n3. postmarketOS中文化與輸入法 # postmarketOS的Phosh部份支援中文，像Firefox這類常見的應用程式也是支援中文的。\n撰文時點Phosh環境尚未有「觸控」中文輸入法，這時可以用內建觸控鍵盤，模擬實體鍵盤輸入，搭配Fcitx5拼音輸入中文。\n首先安裝中文字體和Fcitx5套件。如果postmarketOS打包的無法使用，嘗試Flatpak版Fcitx5。 sudo apk add font-noto-cjk fcitx5 fcitx5-chinese-addons fcitx5-configtool fcitx5-gtk4 fcitx5-gtk3 fcitx5-qt 欲調整系統語言為中文，開啟Settings → System → Region \u0026amp; Launguage，修改為中文（台灣）。然後重新登入。 編輯環境變數：\nsudo vim /etc/environment 填入以下內容 # 指定輸入法框架 GTK_IM_MODULE=fcitx # 若是在GNOME跑純Wayland程式，不用設定這一條 QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus # 強制指定語言環境變數 LANG=zh_TW.UTF-8 LC_CTYPE=zh_TW.UTF-8 LC_NUMERIC=zh_TW.UTF-8 LC_TIME=zh_TW.UTF-8 LC_COLLATE=zh_TW.UTF-8 LC_MONETARY=zh_TW.UTF-8 LC_MESSAGES=zh_TW.UTF-8 LC_PAPER=zh_TW.UTF-8 LC_NAME=zh_TW.UTF-8 LC_ADDRESS=zh_TW.UTF-8 LC_TELEPHONE=zh_TW.UTF-8 LC_MEASUREMENT=zh_TW.UTF-8 LC_IDENTIFICATION=zh_TW.UTF-8 LC_ALL= 再點選Fcitx5圖示，啟用拼音輸入法。\nPhosh需要長按螢幕底部的藥丸條才能喚醒螢幕鍵盤（Docked模式的時候不會顯示觸控鍵盤）。鍵盤模式有一個是「Terminal」配置，可以模擬實體鍵盤輸入事件。按下CTRL+空白鍵就能喚醒Fcitx5的拼音輸入法。 4. postmarketOS系統管理 # postmarketOS是基於Alpine Linux開發，也沿用了其套件管理器：APK (Alpine Package Keeper)。這個APK跟Android的APK是沒有任何關係的。\n通常，你可以在新裝好的系統找到終端機APP。 postmarketOS使用doas來提昇使用者權限，當你執行sudo指令的時候其實是連結到doas的。如果使用postmarketOS官方建置的映像檔，預設使用者帳號是user，密碼是147147。\n套件管理 # 使用以下指令更新系統套件：\nsudo apk update sudo apk upgrade 如果你安裝的是Stable Release的postmarketOS，每次有大版本推出（例如v24.06 → v24.12）可用以下指令更新：\nsudo apk add postmarketos-release-upgrade sudo postmarketos-release-upgrade 重開機指令：\nsudo reboot 關機指令：\nsudo poweroff 使用以下指令搜尋套件：\nsudo apk search \u0026#34;套件名稱\u0026#34; 安裝套件：\nsudo apk add \u0026#34;套件名稱\u0026#34; 刪除套件：\nsudo apk del \u0026#34;套件名稱\u0026#34; 服務管理 # postmarketOS使用的init系統為Systemd。在v24.12以前版本是使用OpenRC，在v25.06以後就改用Systemd了。使用者可以在pmbootstrap init階段自由選擇要用OpenRC還是Systemd，不過官方預先建置的系統映像檔是使用Systemd。\nSystemd相關指令：\n# 停止或啟動服務使用systemctl，例如docker： sudo systemctl stop docker sudo systemctl start docker # 利用systemctl將服務設定開機自動啟動： sudo systemctl enable docker OpenRC相關指令：\n# 停止或啟動服務使用rc-service，例如docker： sudo rc-service docker stop sudo rc-service docker start # 利用rc-update將服務設定開機自動啟動： sudo rc-update add docker 防火牆 # postmarketOS預設的防火牆是iptables，若有需要可安裝UFW方便管理：\nsudo apk add ufw sudo systemctl enable --now ufw # 禁止所有連入連線 sudo ufw default deny incoming # 允許SSH通訊埠 sudo ufw allow ssh # 重新載入規則 sudo ufw reload 5. 網路連接 # Wifi網路 # 跟一般手機類似，網路連線只要點選Phosh桌面的Settings → 行動網路或Wifi，即可上網。\n終端機則是用ip addr查看網卡。再透過nmcli連線：\nsudo nmcli dev wifi connect \u0026#34;Wifi名稱\u0026#34; password \u0026#34;Wifi密碼\u0026#34; ifname wlan0 sudo nmcli device set wlan0 autoconnect yes 如果手機無法上網，亦可將Linux電腦的網路用USB Networking反向分享給手機。\n行動網路 # 如果圖形界面無法啟用4G網路再使用以下指令。\n確認有啟用ModemManager服務 sudo systemctl status modemmanager 使用sudo nmcli d查看網路狀況 DEVICE TYPE STATE CONNECTION qrtr0 gsm disconnected -- 嘗試使用APN自動連線 sudo nmcli con add con-name \u0026#34;modem\u0026#34; type \u0026#34;gsm\u0026#34; ifname \u0026#34;qrtr0\u0026#34; auto-config \u0026#34;TRUE\u0026#34; 啟用連線 sudo nmcli c up \u0026#34;modem\u0026#34; 如果要啟用4G網路熱點分享：Phosh桌面的Settings → Wifi，開啟Wifi，再點選右上角開啟行動熱點。\nSSH連線 # postmarketOS安裝後可將手機連到電腦，變成RNDIS裝置，從電腦SSH至系統，IP是固定的(需用sudo systemctl status sshd確認手機的SSH服務有無運作)：\nssh 使用者名稱@172.16.42.1 如果手機本身有連上網路，那麼透過區域IP連線也是可以的：\n# 手機端啟用SSH sudo apk update sudo apk add openssh sudo systemctl start sshd sudo systemctl enable sshd # 查看手機IP ip addr # 電腦端SSH到手機 ssh 使用者名稱@區域IP 設定時區＆校正時間 # 使用符號連結設定時區為台北：\nsudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime 另使用Alpine Linux的指令稿自動校正時間：\nsudo setup-timezone # 輸入Asia/Taipei 或者設定開機自動校時：\nsudo apk add systemd-timesyncd sudo systemctl enable systemd-timesyncd ","date":"2025年6月23日","externalUrl":null,"permalink":"/posts/postmarketos-tips/","section":"所有文章","summary":"postmarektOS是一款基於Alpine Linux研發的手機Linux作業系統，目前已移植到多款Android手機上。\n相關文章：postmarketOS是什麼？ postmarketOS雖然有圖形化界面，但有時候還是需要指令。因此有需要的話建議用SSH遠端輸入指令，postmarketOS也有提供手機終端機APP。\n本文Ivon使用postmarketOS v25.12做示範，桌面環境為Phosh，解說postmarketOS的使用技巧。\n1. Phosh的操作邏輯 # Phosh是一個專為行動裝置設計的桌面環境，原作者是Purism公司。Phosh使用GNOME與wlroots的技術開發。Wayland合成器為phoc，顯示管理器為TinyDM（postmarketOS維護者特別打包的），螢幕觸控鍵盤為Stevia。Stevia為postmarketOS維護者開發的觸控鍵盤，功能比原廠Squeekboard還要多。\n如果使用postmarketOS官方建置的映像檔安裝系統，預設使用者帳號是user，密碼是147147。\n解鎖之後會看到所有應用程式，長按圖示可以將常用的應用程式加到最上面。 ","title":"postmarketOS使用技巧：安裝APP、中文化、執行Android APP、跑Docker","type":"posts"},{"content":" My personal list of good Linux \u0026amp; FOSS YouTube channels.\n始める前に、まずは簡潔明瞭なLinux Youtuber紹介画像を二枚載せておく。画像の中の人を全員知っているなら、おめでとう。もう戻れないところまで来ているXD\nローリングリリースをしばらく使っていたので、IvonにとってLinuxの印象は、いついかなる瞬間も変化し続けているものだ。底層のカーネルからユーザー空間のソフトウェアまで、LTSシステムであっても例外ではない。インストール後は動かさないRHELの10年サポート版に触れているのでないかぎり、Linuxのものは常に変化しており、そのイテレーション速度はWindowsの大型バージョン更新より速いかもしれない。この話をする意図は、多くの人がWindows XP時代のロジックにしがみつき、コンピューターの利用ロジックは固定されているべきだと考えているからだ。しかし、この考え方は明らかにオープンソースコミュニティの活力と衝突している。\nそのため、私はYouTubeを見てLinuxの操作を学ぶのはあまり好きではない。とても古くなりやすいからだ。ネット上の個人ブログのチュートリアルも高確率で古くなる（管理人のメンテナンス意欲次第ではある。私個人は、読者が自力で調べられるように公式ドキュメントの参照URLを添えるようにしている）。だから最も信頼できる情報源は、ソフトウェアの公式ドキュメントとWikiだ。\nではLinuxのチュートリアル動画を除くと、私がYouTubeで見るLinuxコンテンツは議題討論になる。\n過度に技術的すぎず（ずっとプログラムを書いてデータ構造を語っている）、かといって過度にエンタメ化もしすぎない（見逃せないiPhone新機能10選！）チャンネルはないだろうか？\nこの種のYoutuberは台湾では比較的少ない。Linux専門となると、そもそも一人もいない。だからここで話すのはすべて欧米のYoutuberで、彼らの動画内容は九割方LinuxとFOSSの議題について語っている。台湾の3C Youtuberで私の好みに合う人は一人もいない。たまに特定のパソコンレビューを見たいときに見ることはあるが、チャンネル登録したくなるほど強いスタイルではない。私が見たい「LinuxとFree Software」の議題が、あまりにもニッチだからだろう。本当に台湾にもLinuxとFOSSの議題を語る3C Youtuberがいてほしい。鳥哥が将来転職する気になってくれるか見てみたいXD 陝西達人のような大衆向けインフルエンサーで溢れているのではなく。実際に動画に内容があり、かつアクセス稼ぎに流されていないものは多くない。HuanとJingはとても専門的だが、ハードウェア寄りすぎる。一方で阿哲はスマホの煽りに集中している。中国でさえ、この方面のUp主はあまり多くなさそうだ。過去にBilibiliを見ていた経験から言えば、無理に探せば実はいる。中国は人口が多いので、ニッチなテーマでも一定の視聴数を得られる。ただし彼らの登録者数は大型UPと比べにくく、自然とアルゴリズムに推薦されにくくなる。\n極客湾や零度空間でさえ掘り下げは十分ではない。彼らはどうもLinuxをdaily driverではなく「例外」として扱っているように見える。たとえばUbuntuに対する印象は、古いパソコンを復活させるシステムでしかない。実際に動画で最も多く作っているのはやはりWindowsの主流コンテンツで、ついでに少し物販を入れる、という感じだ。あるいは、たまに「geek操作」的なものを撮るときになってようやくLinuxを使う。アクセス数やタイトルの引きの強さを考えると、彼らはきっとLinuxと、その背後で具体的に使われている技術を動画タイトルに書かないだろう。たとえば「Waydroid：PC上でAndroidアプリをフル速度実行」は、「Waydroid：Linux上でAndroidアプリを実行」より明らかに魅力的だ。要するに、Linuxは彼らにとってあまり多くのアクセスをもたらせないので、タイトルや脚本構成を工夫して、少しでも魅力的に見せる必要があるのだ。\n本題に戻ると、私が比較的よく見るYoutuberは以下の通りだ。彼ら個人の品行については、ひとまず脇に置いておく：\nAndrea Borman：年配の女性だが、Debianと自由ソフトウェア精神について深く研究しており、話の筋道が明晰。Linuxデスクトップのスタイルはとてもレトロで、FSFに加入しそうな人物に見える。 Asahi Lina / 朝日リナ：VTuber配信者。単発動画は少なめで、主にAsahi Linux開発に参加しており、Macコンピューターの底層原理をいくつか共有している。 Brodie Robertson：FOSS関連の議題を探討するのが好きで、Linuxコミュニティ内で起きたさまざまなゴシップを紹介する。WaylandからRustの論争まで扱い、トークショー版のLWNニュースを見ているような感じがある。動画を撮るときはよく花柄シャツを着ており、オーストラリア訛りと大きなひげが印象的。Tech Over Teaというトーク番組も運営している。 DistroTube：Linuxの使い方のコツや、プライバシー問題を解説する。 Luke Smith：一日中監視資本主義という社会問題を罵り、オンラインプライバシーの守り方を教えてくれる。生きた4chan /g/民の化身のようで、非常に毒舌。よく強烈なスタイルのmemeを動画サムネイルに使う。たまに自分のArtix Linuxデスクトップの設定過程を共有する。動画は編集なしで、よく一人で荒野を歩き回りながら自撮りし、カメラに向かって話している。自称boomer（おっさん）で、Systemdのような新技術にはあまり興味がない。観点はややアメリカ右派寄りかもしれず、時にはDEI作品をしばく動画を出すこともある。 Mental Outlaw：より大衆化したLuke Smith。題材はかなり似ているが、そこまで毒の強い自己啓発ではない。 Nicco Loves Linux：KDE開発者が運営するチャンネルで、FOSS開発界隈が関心を持つ多くの技術議題について討論する。 Michael Horn：初心者にやさしいLinuxディストリビューションのインストールチュートリアルを共有し、FOSS界隈の議題も探討する。 RoboNuggie：実用的なFreeBSDチュートリアル。 TechHut：時々サーバーや組み込みデバイスの遊び方を共有する。 Terry A Davis：名誉枠。TempleOSの作者がまだ生きていたら、私は彼のチャンネルを登録していたと思う。 The OpenBSD guy：OpenBSDシステムの情報を専門に共有している。 The Linux Cast：議題討論のほか、プライバシーの話題も共有する。 The Linux Experiment：ハードウェア開封、distro-hopping、議題探討など。釣りタイトルが好きで、best Linux tablet ever! などと言う。案件臭が強く、感心できないが、彼はよく妙なブランドのLinuxコンピューターを大量に開封しており、時には掘り出し物を見つけたような感覚があるので、過度には責めないでおく。 Unixchad：簡体字中国語チャンネル。sucklessソフトウェアとUnix哲学の共有を好む。サムネイルを見ればman of cultureだとわかる。 Veronica Explains：女性。Linux操作のテクニックを解説し、Debian関連の情報を共有するのを好む。 Virbox：プログラミング系の議題を語るほか、多くのmeme動画も作っている。 それぞれ特色がある。何を聞けばいいかわからないなら、作業中のBGMとしてBrodie RobertsonとLuke Smithのrantを流しておくと、妙に面白い。\n","date":"2025年6月22日","externalUrl":null,"permalink":"/ja-jp/posts/linux-youtubers/","section":"Foss-Issues","summary":" My personal list of good Linux \u0026 FOSS YouTube channels.\n始める前に、まずは簡潔明瞭なLinux Youtuber紹介画像を二枚載せておく。画像の中の人を全員知っているなら、おめでとう。もう戻れないところまで来ているXD\nローリングリリースをしばらく使っていたので、IvonにとってLinuxの印象は、いついかなる瞬間も変化し続けているものだ。底層のカーネルからユーザー空間のソフトウェアまで、LTSシステムであっても例外ではない。インストール後は動かさないRHELの10年サポート版に触れているのでないかぎり、Linuxのものは常に変化しており、そのイテレーション速度はWindowsの大型バージョン更新より速いかもしれない。この話をする意図は、多くの人がWindows XP時代のロジックにしがみつき、コンピューターの利用ロジックは固定されているべきだと考えているからだ。しかし、この考え方は明らかにオープンソースコミュニティの活力と衝突している。\nそのため、私はYouTubeを見てLinuxの操作を学ぶのはあまり好きではない。とても古くなりやすいからだ。ネット上の個人ブログのチュートリアルも高確率で古くなる（管理人のメンテナンス意欲次第ではある。私個人は、読者が自力で調べられるように公式ドキュメントの参照URLを添えるようにしている）。だから最も信頼できる情報源は、ソフトウェアの公式ドキュメントとWikiだ。\n","title":"LinuxとFOSSの話題を専門に扱うテック系Youtuberをいくつか推薦する","type":"foss-issues"},{"content":"","date":"2025年6月22日","externalUrl":null,"permalink":"/ja-jp/tags/youtube/","section":"Tags","summary":"","title":"Youtube","type":"tags"},{"content":"The best GUI file archiving and unarchiving software for Linux desktop.\nはっ！？有人用Linux還用圖形化介面(GUI)解壓縮/壓縮檔案的？連tar指令都不會用，羞羞臉。\n可是瑞凡，真的有這種需求啊，Ivon在把Linux當桌面系統用的時候，我不想從網路下載資源還得特地打指令解壓縮，尤其是面對不同的壓縮格式(xz、tar、tgz、gz、zip、7z、rar、lz\u0026hellip;blahblah)的時候，要用到各種不同指令的組合！\n又或者遇到非UTF-8的日文、簡體中文字元的壓縮檔呢？解壓縮會亂碼，需要WinRAR特殊軟體處理，這裡我會採用另一款開源替代品。\n本文Ivon推薦大家一些Linux的圖形化解壓縮軟體，可以幾乎不靠指令，在Linux解壓縮各式各樣的檔案。 Linux常見解壓縮的套件 # 雖然說不要用到指令，但這裡還是先給各位複習一下Linux的壓縮檔格式，以及我們在純文字環境下會用哪些套件來解壓縮。\n此處談及的壓縮檔(archive)格式，指的是人們分享檔案常用的壓縮格式，不包含軟體套件格式(如.apk、.jar、.deb、.rpm、.iso、.dmg)\n因為Linux採用套件管理員安裝軟體的緣故，解壓縮軟體可能不會內建對應全部格式的套件（譬如對專有軟體敏感的Linux發行版沒有內建unrar，致使壓縮檔管理程式解不開rar檔案），所以了解它背後用到那些工具是很重要的。若解壓縮軟體無法製作或解開某個格式的檔案，你可以嘗試裝對應格式的套件，軟體可能就能夠正常解壓縮了。\n以Ubuntu而言，解壓縮常用到的套件有以下幾個(有底色的字為APT套件名稱)：\n解壓縮與建立rar：unrar, rar。其中rar是專有軟體。 解壓縮與建立zip：unzip, zip 7z：7z xz：xz-utils gz：gunzip, gzip tar:：tar bz2：bzip2, bunzip2 cpio：cpio zst：ztsd 事實上，tar這種壓縮格式本身是沒辦法把檔案變小的，它只能將一堆檔案封存成一個檔案，因此很多人會配合gzip或是xz來進一步壓縮檔案，這就是為何有tar.gz和tar.xz格式的原因。\n以tar.xz來說，當我們使用指令解壓縮的時候，如果Linux發行版提供的tar沒有內建處理xz格式的程式，就要先用xz指令解開：\nxz -d file.tar.xz 然後再用tar指令去解：\ntar -xzf file.tar 這樣感覺挺麻煩的對不？所幸下面的圖形化軟體會自動判別這些操作，大部分時候只要點一下解壓縮就可以了。\n1. PeaZip # 跨平台的自由軟體。 跨平台，支援Linux、Windows、macOS 支援常見的壓縮檔格式 支援解開與製作分割壓縮檔，可以自訂每個分割壓縮檔的大小 免解壓縮，預覽壓縮檔內容 在不解壓縮的情況下修改壓縮檔檔案 解壓縮自動識別子資料夾結構 支援不同的壓縮演算法，有助於減少檔案大小 支援製作有密碼的壓縮檔 支援識別多國語系編碼，用來解含有日文或簡體中文編碼的檔案十分之有用 Ubuntu要從官網下載.deb檔然後再安裝，建議選擇DEB Qt的版本：\nsudo apt install ./peazip_*_amd64.deb 安裝後會自動加到檔案管理員的右鍵選單。或者你可以使用PeaZip程式內建的檔案管理器瀏覽Linux的目錄。\n安裝後，點選Option → Localizations → cht切換成中文界面。 一般解壓縮操作很簡單，對檔案按右鍵，以PeaZip開啟，再選擇解壓縮目錄即可。\n若是日文檔案，右鍵以PeaZip開啟，點選選項 → 7zip filenames encoding，選取932 Japanese的頁碼，解壓縮出來的檔案就不會亂碼了。 如果還是不行，那就開終端機，用unzip指定編碼的方式解壓縮日文檔案吧：\nunzip -o shift-jis \u0026#34;壓縮檔.zip\u0026#34; 2. KDE Ark # KDE Plasma桌面環境附贈的解壓縮工具，其他桌面環境應該也可以用。 支援常見的壓縮檔格式 支援解開與製作分割壓縮檔 免解壓縮，預覽壓縮檔內容 在不解壓縮的情況下修改壓縮檔檔案 解壓縮自動識別子資料夾結構 支援不同的壓縮演算法，有助於減少檔案大小 支援製作有密碼的壓縮檔 不支援多國語系，日文(Shift-JIS)或簡中(GBK)檔案解壓縮很容易亂碼。 Ubuntu安裝KDE Ark：\nsudo apt install ark 安裝後會自動加到檔案管理器的右鍵選單，對檔案按右鍵就能解壓縮。\n在KDE Dolphin也能快速建立壓縮檔 其他檔案管理器可能要手動開啟Ark瀏覽檔案。\n3. p7zip-gui # 想不到吧，7-Zip也有Linux版，但官方只提供命令列工具7z。7z的命令列工具得搭配其他圖形解壓縮程式使用，譬如GNOME File Roller。 而p7zip-gui是第三方移植的版本，搭載名為7zG的圖形界面。用起來跟Windows上的一樣，沒指令的情況下無法處理日文檔案。\nUbuntu沒有打包p7zip-gui，所以要從Pling下載AppImage版的p7zip-gui，點兩下7-Zip-GUI-FM-latest-x86-64.AppImage執行。不過p7zip-gui疑似缺乏維護，在Ubuntu 24.04開起來有各種bug。\n請考慮透過Wine執行Windows版的7-zip程式。\n4. WinRAR # WinRAR是需要付費購買完整授權的專有軟體，真的有壓縮檔怎麼樣也解不開的時候才考慮的方案。例如複雜的語系，或是使用WinRAR壓縮成的多個分割壓縮檔。 Linux的WinRAR只有提供命令行工具unrar，所幸Windows版的WinRaR可以用Wine轉譯執行，幾乎沒有任何效能損失！\n只要到WinRAR官網下載Windows版64位元的exe，再透過Wine安裝就行了。\n安裝後會自動加到檔案管理員的右鍵選單。或者你可以使用WinRAR程式內建的檔案管理器瀏覽Linux的目錄。使用Wine轉譯的情況下，Linux整個根目錄會位於(Z:)槽。 5. 其他解壓縮軟體 # Linux桌面環境的檔案管理員多半會附屬解壓縮軟體，不過我覺得功能沒有上面的那麼多樣。\n下面是各個Linux桌面環境附屬的解壓縮軟體名稱：\nGNOME: File Roller，會出現在Nautilus檔案管理器的右鍵選單。 Cinnamon: Archive Manager LXQT: LXQT File Archiver XFCE: Thunar（Archive plugin外掛） Deepin: Deepin Archive Manager Mate: Engrampa 總結 # 有KDE Ark這類工具後，我就很少開終端機處理壓縮檔了，除非檔案很多很雜。\n另外拜託大家，不要再用專有格式rar壓縮檔案了，收到rar就跟收到docx一樣難受。明明要分割檔案，或是更小的檔案，zip和7z也做得到的說，幹嘛堅持rar。\n","date":"2025年6月17日","externalUrl":null,"permalink":"/posts/linux-unzipping-applications/","section":"所有文章","summary":"The best GUI file archiving and unarchiving software for Linux desktop.\nはっ！？有人用Linux還用圖形化介面(GUI)解壓縮/壓縮檔案的？連tar指令都不會用，羞羞臉。\n可是瑞凡，真的有這種需求啊，Ivon在把Linux當桌面系統用的時候，我不想從網路下載資源還得特地打指令解壓縮，尤其是面對不同的壓縮格式(xz、tar、tgz、gz、zip、7z、rar、lz…blahblah)的時候，要用到各種不同指令的組合！\n又或者遇到非UTF-8的日文、簡體中文字元的壓縮檔呢？解壓縮會亂碼，需要WinRAR特殊軟體處理，這裡我會採用另一款開源替代品。\n本文Ivon推薦大家一些Linux的圖形化解壓縮軟體，可以幾乎不靠指令，在Linux解壓縮各式各樣的檔案。 Linux常見解壓縮的套件 # 雖然說不要用到指令，但這裡還是先給各位複習一下Linux的壓縮檔格式，以及我們在純文字環境下會用哪些套件來解壓縮。\n此處談及的壓縮檔(archive)格式，指的是人們分享檔案常用的壓縮格式，不包含軟體套件格式(如.apk、.jar、.deb、.rpm、.iso、.dmg)\n因為Linux採用套件管理員安裝軟體的緣故，解壓縮軟體可能不會內建對應全部格式的套件（譬如對專有軟體敏感的Linux發行版沒有內建unrar，致使壓縮檔管理程式解不開rar檔案），所以了解它背後用到那些工具是很重要的。若解壓縮軟體無法製作或解開某個格式的檔案，你可以嘗試裝對應格式的套件，軟體可能就能夠正常解壓縮了。\n","title":"zip解壓縮免記指令，Linux系統好用的圖形化解壓縮軟體","type":"posts"},{"content":"","date":"2025年6月17日","externalUrl":null,"permalink":"/tags/scrcpy/","section":"標籤","summary":"","title":"Scrcpy","type":"tags"},{"content":"如果舊手機的SoC強力到還能玩點手遊的話，不妨試試這樣做：將舊手機當作刷手遊的用途，當作一個常駐的遊戲機。在Android模擬器出問題的時候上來頂替。 實際操作起來會像這樣： 1. 動機 # 復活我的舊手機Sony Xperia 5 II！自從Xperia 5 II綠線發作後就被我一直晾著，現在綠線數量已經變成森林了。 最近想到一個玩法，那就是用來玩手遊。螢幕沒法看怎麼辦？使用Scrcpy投影到電腦上看。\n不打算修了，過保太久就得自己花錢買螢幕了。網路上竟然有過保原廠免費修的案例…可惡早知道當時就拼拼看能不能用過保災情當理由免費修…以為只能算人損。當初修螢幕原廠報價6000元，現在至少也要4000元，這錢都能買一支不錯的二手機或紅米機了，No No No。這個綠線遲早會擴張到全螢幕都是，在這之後就只能透過外接螢幕和滑鼠操控了吧。\n但SD865處理器 + 256GB ROM + 8GB RAM的強悍配置就這樣廢掉太可惜了！那麼就發揮最後的用處來跑手遊吧，用線插著電腦，同時也能防止我現在的主力機操勞過度。\n這個時候應該要插入一張刃牙「復！活！」梗圖。\n儘管是發售5年以上的SoC了，SD865的效能依然很強悍。待機模式溫度大概40度左右。\n經過測試，SD865跑單個3D高畫質手遊是沒問題的，溫度最高會飆到50度。SD865至少可以同時執行二個吃效能的3D手遊且保持手機溫度在60度以下。不過同時執行2個以上高畫質手遊是沒辦法，所以多開的情況得鎖定在1080p 30FPS（Scrcpy可以進一步降低畫質到720p）。這樣的情況下勉強可以達到四開。 2. 配合Scrcpy GUI將螢幕投影到電腦 # 使用Scrcpy GUI的虛擬顯示器功能啟動APP，這樣每個APP一個視窗獨立執行，跳脫Android分割螢幕只能雙開的問題，像Android模擬器一樣多開。\n參考：使用Scrcpy的虛擬顯示器功能\n設定讓Scrcpy GUI視窗關閉後不要中止APP執行(preserve app)，而是返回Android背景待機。這樣只要沒有被殺背景程式，之後要重新啟動APP就會快得多。 我另外新增了一個「手機啟動器」的按鈕，設定投影手機主螢幕的時候是先進入主畫面（選用Fossify Launcher），確保其他APP視窗關閉，彈回Android主螢幕之後不會被我不小心按到。 3. 防止電池膨脹 # USB有線投影是最穩定的方式，順便能夠給手機充電。因為要長時間插著投影到電腦Scrcpy，使用旁路充電或者最大充電80%的功能，減緩電池膨脹速度。\n執行APP的時候手機螢幕可以透過Scrcpy維持關閉狀態，減少發熱。\nSony旗艦機的遊戲模式有旁路充電功能（H.S.電源控制），玩遊戲的時候繞過電池直接對主機板供電，這樣長時間連著充電線就不會電池膨脹了。 可惜原廠系統只有Android 12，所以我刷LineageOS升到Android 15，但就失去了遊戲模式，只有控制充電到80%停止的功能。 當然，手機要放在通風並且易於散熱的地方，有需要的話再加個小風扇。\n","date":"2025年6月17日","externalUrl":null,"permalink":"/posts/scrcpy-virtual-display-gaming/","section":"所有文章","summary":"如果舊手機的SoC強力到還能玩點手遊的話，不妨試試這樣做：將舊手機當作刷手遊的用途，當作一個常駐的遊戲機。在Android模擬器出問題的時候上來頂替。 實際操作起來會像這樣： 1. 動機 # 復活我的舊手機Sony Xperia 5 II！自從Xperia 5 II綠線發作後就被我一直晾著，現在綠線數量已經變成森林了。 最近想到一個玩法，那就是用來玩手遊。螢幕沒法看怎麼辦？使用Scrcpy投影到電腦上看。\n不打算修了，過保太久就得自己花錢買螢幕了。網路上竟然有過保原廠免費修的案例…可惡早知道當時就拼拼看能不能用過保災情當理由免費修…以為只能算人損。當初修螢幕原廠報價6000元，現在至少也要4000元，這錢都能買一支不錯的二手機或紅米機了，No No No。這個綠線遲早會擴張到全螢幕都是，在這之後就只能透過外接螢幕和滑鼠操控了吧。\n但SD865處理器 + 256GB ROM + 8GB RAM的強悍配置就這樣廢掉太可惜了！那麼就發揮最後的用處來跑手遊吧，用線插著電腦，同時也能防止我現在的主力機操勞過度。\n這個時候應該要插入一張刃牙「復！活！」梗圖。\n儘管是發售5年以上的SoC了，SD865的效能依然很強悍。待機模式溫度大概40度左右。\n","title":"舊手機再利用：Scrcpy虛擬顯示器在電腦上玩手遊","type":"posts"},{"content":"習得性無助很多人都有，關於我什麼時候開始的，可能從我高中第一次段考數學考8分的時候就有了，相較之下歷史考98分，ㄏㄏ。\n那時我的情緒是恐懼，恐懼家長與學校老師的白眼，還有未來考不上好大學的。在這個升學主義學校裡面分數就是人的地位的象徵，在這裡失敗了就等同人生失敗了———至少對眼界尚淺的當時的我是如此。因為被家長罵所以曾經有了想跳樓的念頭，雖然得到家長理解與安撫，學校其實也沒有很大壓力去管，不過從此之後精神疾病就隨我若隱若現了。因為身體想要活著，不受到精神壓力的壓制而潰堤，所以選擇逃避，不關心。\n現在看來，這點小事就想自殺顯得多可笑，人生的更大的問題還很多啊！人哪，要學會看開了。你以為我接下來要講的是什麼雞湯勵志文，錯了。主要是想說，當學生的時候思維很容易陷入被分數綁架的窘境，因為教育環境就是這樣，沒分數沒未來。\n即使強調多元入學的方式，但對死讀書以外沒啥技能的人來說也沒有什麼優勢。嗯，那些現充即使成績不好也多半是運動健將，馬子陪，不過對一個極度孤僻性格的人來說，想要其他人類都去死的心態，除了追求一點分數好讓其他人看到我之外，似乎就沒有存在價值了。關於存在價值的追尋，從高中的時候一直想到現在，看了多少書也想不明白。\n總有高高在上者會強調說人生不要只以分數為依歸啊，要找自己的興趣才能啊，什麼我年輕就靠自己賺到第一間房子（結果是用自己的1萬元＋父母給的1999萬元買房的），要找到自己的興趣。問題是我除了稍微會讀一點書之外是樣樣不行啊，唯一能找到存在意義的立足點是\u0026hellip;沈迷某個小眾文化，在社群中取得一點名聲，這樣才有存在價值。那可以是遊戲社團，或者沒有任何生財能力的文化藝術，因此我找到了分數以外的興趣才能，但這是很弱很淺的立足點。所謂的興趣才能是謀生之道吧，或者說是一技之長，彰顯自己存在意義的工具。可是我找到的緊只能滿足一點虛榮感，而不能作為支撐未來生活的元素。一旦脫離了那個圈子，一切又回到原點。\n宋冬野 - 夢遺少年 在那次數學考8分之後，對學業分數的態度就轉為木然，不爽讀的科目就放掉。這樣的態度一直持續到大學。即使大學有許多科目被當掉，也是保持隨意的態度。我不是找到了真正自己的興趣，而是就是對分數怎樣的毫不關心。畢竟當掉後重補修怎樣都會讓你畢業，而這被視為義務的一部分，所以其實擺爛老師還會你過的。\n只是，到大學之後擺脫了義務教育的牢籠，變成每一個學分都是自己負責而非別人強迫修完的時候，被當掉的壓力就顯然大得許多了，因為有的教授就是硬，沒過就是沒過，只能永遠的重修。這對想追求一點自尊的人來說都是莫大打擊。即使最後渾渾噩噩的畢了業，可除了跟某些教授護鄧很開心之外，總覺得學業方面精進的不多。不論學校教的太簡單還是太難，都會讓人產生鬆弛感。\n直到最近這一年，發現我還是保持著這種分數至上的思維。多科被當掉就會很難過，但考得好又能怎樣呢？失敗者，到前為止人生客觀來說是這樣。一無所成，空有頭腦卻沒有地方能把靈魂放進去，只能成天發牢騷，寫些沒太多人認同的東西，然後就只是活著。即使有人認為，怎樣叫做失敗取決自己的看法，不用管別人怎麼想。嗯，不過不使每個人都這樣樂觀吧。講到習得性無助的問題，現在還是有很多東西是難以克服的，但是因為身體想，所以就活著，拖著，慢著，什麼都搆不著的情況下慢慢悠悠的前進著。接下來該怎麼做？生活重心應該放在學業還是工作？未來的路途在哪裡？人際關係是否要加強經營？有需要再關心與我無關的世界大事嗎？人為什麼要活著？光是想到這些又不禁讓人一陣乾嘔，想吐但是又哭不出來。\n即使如此，日子還是要過。Life is a struggle. 不管發生了什麼事情，總會有辦法過去的。\n","date":"2025年6月16日","externalUrl":null,"permalink":"/posts/2025061601/","section":"Personals","summary":"習得性無助很多人都有，關於我什麼時候開始的，可能從我高中第一次段考數學考8分的時候就有了，相較之下歷史考98分，ㄏㄏ。\n那時我的情緒是恐懼，恐懼家長與學校老師的白眼，還有未來考不上好大學的。在這個升學主義學校裡面分數就是人的地位的象徵，在這裡失敗了就等同人生失敗了———至少對眼界尚淺的當時的我是如此。因為被家長罵所以曾經有了想跳樓的念頭，雖然得到家長理解與安撫，學校其實也沒有很大壓力去管，不過從此之後精神疾病就隨我若隱若現了。因為身體想要活著，不受到精神壓力的壓制而潰堤，所以選擇逃避，不關心。\n現在看來，這點小事就想自殺顯得多可笑，人生的更大的問題還很多啊！人哪，要學會看開了。你以為我接下來要講的是什麼雞湯勵志文，錯了。主要是想說，當學生的時候思維很容易陷入被分數綁架的窘境，因為教育環境就是這樣，沒分數沒未來。\n即使強調多元入學的方式，但對死讀書以外沒啥技能的人來說也沒有什麼優勢。嗯，那些現充即使成績不好也多半是運動健將，馬子陪，不過對一個極度孤僻性格的人來說，想要其他人類都去死的心態，除了追求一點分數好讓其他人看到我之外，似乎就沒有存在價值了。關於存在價值的追尋，從高中的時候一直想到現在，看了多少書也想不明白。\n","title":"習得性無助感，縱然分數不是一切，但除了會讀點書之外一無所有","type":"personal"},{"content":"","date":"2025年6月13日","externalUrl":null,"permalink":"/tags/fontconfig/","section":"標籤","summary":"","title":"Fontconfig","type":"tags"},{"content":"Disabling some fonts temporarily on Linux desktop to solve the issue of having too many fonts installed.\n一直以來我都有這個問題，要是Linux系統安裝太多字型（字體），在文書以及美工軟體的選單就會顯得落落長。\n例如Ubuntu一旦用APT安裝「Noto Fonts」字型套件，就會將各國語言都拉進來，導致LibreOffice的字型列表變得超～級～長，捲動還會lag。GIMP和Krita同樣會遇到這個問題。 如果說要解決這個問題，最直觀的想法就是用APT解除安裝字型套件了吧？光fonts-noto-core這個套件就有200種字型，畢竟Noto Fonts就是設計來解決多語言文字變成方塊豆腐的問題的！但日後要使用又要重裝，很是麻煩！\n所幸，Linux桌面常用的字型設定工具fontconfig有「rejectfont」的功能，可以將字型加入黑名單，「暫時」停用字型，這樣其他軟體就看不到這些字型。日後有需要再重新啟用就好了！不需要動到APT指令！ 註：如果你遇到的問題是安裝特定字型，例如標楷體，導致界面字型強制跟著變成標楷體，那麼停用字型不是解決之道。你應該使用fontconfig優先級方式來糾正。\n1. 圖形界面設定法 # GNOME # GNOME桌面沒有管理字型的功能，請裝Font Manager（字形總管），或者手寫fontconfig設定檔。\n根據Font Manager作者的介紹，Ubuntu加入套件庫安裝：\nsudo add-apt-repository ppa:font-manager/staging sudo apt update sudo apt install font-manager 開啟後點選左上角管理，再取消勾選字型，將其暫時停用。Font Manager會將變更寫入到~/.config/fontconfig/conf.d/78-Reject.conf。 停用字型後，重新啟動軟體，那個字型應該就會從列表消失了。軟體不能再用那個字型顯示文字了。\nKDE Plasma # KDE Plasma桌面內建管理字型功能，注意它修改的是全域系統/etc/fonts/disabledfonts.xml設定，而非~/.config/fontconfig/fonts.conf。\n開啟KDE Plasma系統設定 → 字型管理，這裡可以暫時停用特定字型。 譬如針對Noto Fonts字型家族，按Shitft多選，全部停用 然後再留下需要的中文字型就夠了 停用字型後，重新啟動軟體，那個字型應該就會從列表消失了。軟體不能再用那個字型顯示文字了。\n2. 手寫fontconfig設定檔 # Linux的字型多半會安裝到/usr/share/fonts/。Noto Fonts字型應位於/usr/share/fonts/truetype/noto/，Noto CJK Fonts位於/usr/share/fonts/opentype/noto/\n使用fc-list指令列出可用的字型。\n新增fontconfig設定檔，只對目前使用者有效。\nmkdir -p ~/.config/fontconfig/ vim ~/.config/fontconfig/fonts.conf \u0026lt;selectfont\u0026gt;裡面的\u0026lt;rejectfont\u0026gt;\u0026lt;/rejectfont\u0026gt;用於定義要停用（黑名單）的字型，\u0026lt;acceptfont\u0026gt;\u0026lt;/acceptfont\u0026gt;則是啟用（白名單）的字型，不過後者通常不用寫，因為你在rejectfont排除掉之後，剩下的字型就是還啟用的字型。\n如果要停用單一字型，就這樣寫，一行一個\u0026lt;glob\u0026gt;\u0026lt;/glob\u0026gt;，寫上字型的具體路徑。後面加上星號用作萬用字元。譬如NotoSansArabic*就是選取以NotoSansArabic名稱為首的所有字型。\n\u0026lt;?xml version=\u0026#39;1.0\u0026#39;?\u0026gt; \u0026lt;!DOCTYPE fontconfig SYSTEM \u0026#39;fonts.dtd\u0026#39;\u0026gt; \u0026lt;fontconfig\u0026gt; \u0026lt;selectfont\u0026gt; \u0026lt;rejectfont\u0026gt; \u0026lt;glob\u0026gt;/usr/share/fonts/truetype/noto/NotoSansArabic*\u0026lt;/glob\u0026gt; \u0026lt;glob\u0026gt;/usr/share/fonts/truetype/noto/NotoSansLao*\u0026lt;/glob\u0026gt; \u0026lt;/rejectfont\u0026gt; \u0026lt;/selectfont\u0026gt; \u0026lt;/fontconfig\u0026gt; 另一種寫法：使用字型家族下去篩選。先使用指令fc-list : family列出所有字型家族，然後再於\u0026lt;pattern\u0026gt;\u0026lt;/pattern\u0026gt;填入字型家族名稱。\n\u0026lt;?xml version=\u0026#39;1.0\u0026#39;?\u0026gt; \u0026lt;!DOCTYPE fontconfig SYSTEM \u0026#39;fonts.dtd\u0026#39;\u0026gt; \u0026lt;fontconfig\u0026gt; \u0026lt;selectfont\u0026gt; \u0026lt;rejectfont\u0026gt; \u0026lt;pattern\u0026gt; \u0026lt;patelt name=\u0026#34;family\u0026#34; \u0026gt; \u0026lt;string\u0026gt;Noto Sans Lao\u0026lt;/string\u0026gt; \u0026lt;/patelt\u0026gt; \u0026lt;patelt name=\u0026#34;family\u0026#34; \u0026gt; \u0026lt;string\u0026gt;Noto Sans Arabic\u0026lt;/string\u0026gt; \u0026lt;/patelt\u0026gt; \u0026lt;/pattern\u0026gt; \u0026lt;/rejectfont\u0026gt; \u0026lt;/selectfont\u0026gt; \u0026lt;/fontconfig\u0026gt; 如果要停用的字型家族太多，不妨使用這個篩選邏輯：先將所有該字型家族加入黑名單，然後再白名單要用的字型。譬如，針對字型超多的Noto Fonts，就先將其全部加入\u0026lt;rejectfont\u0026gt;\u0026lt;/rejectfont\u0026gt;停用，然後再用\u0026lt;acceptfont\u0026gt;\u0026lt;/\u0026lt;acceptfont\u0026gt;篩選出要用的字型即可。這裡的範例是停用所有Noto Fonts字型，只啟用裡面的Emoji字型。 \u0026lt;?xml version=\u0026#39;1.0\u0026#39;?\u0026gt; \u0026lt;!DOCTYPE fontconfig SYSTEM \u0026#39;fonts.dtd\u0026#39;\u0026gt; \u0026lt;fontconfig\u0026gt; \u0026lt;selectfont\u0026gt; \u0026lt;rejectfont\u0026gt; \u0026lt;glob\u0026gt;/usr/share/fonts/truetype/noto/Noto*\u0026lt;/glob\u0026gt; \u0026lt;/rejectfont\u0026gt; \u0026lt;acceptfont\u0026gt; \u0026lt;glob\u0026gt;/usr/share/fonts/truetype/noto/NotoColorEmoji*\u0026lt;/glob\u0026gt; \u0026lt;/acceptfont\u0026gt; \u0026lt;/selectfont\u0026gt; \u0026lt;/fontconfig\u0026gt; 停用字型後，執行以下指令更新快取 fc-cache -fv 使用fc-list指令查看Noto Fonts字型是否有停用成功，列表項目應該會減少許多： fc-list | grep noto 重新啟動軟體，那個字型應該就會從列表消失了。軟體也不能再用那個字型顯示文字了。\nFlatpak軟體需開放讀取fontconfig權限，但不知為何無效。可能要把停用的字型改成寫到/etc/fonts/disabledfonts.xml才有作用。\nflatpak --user override --filesystem=xdg-config/fontconfig:ro 3. 針對單一軟體停用字型 # 理論上是可以這樣做，不過嘛寫規則太複雜了，不如全域停用要好！\n這有兩種作法，一種是在fonts.conf裡面定義具體的二進位檔名稱，另一種是用環境變數FONTCONFIG_FILE，我覺得後者比較靈活！\n新增一個專門用於停用字型的fontconfig設定檔 mkdir -p ~/.config/fontconfig/conf.d/ vim ~/.config/fontconfig/conf.d/libreoffice.conf 填入停用規則 \u0026lt;?xml version=\u0026#39;1.0\u0026#39;?\u0026gt; \u0026lt;!DOCTYPE fontconfig SYSTEM \u0026#39;fonts.dtd\u0026#39;\u0026gt; \u0026lt;fontconfig\u0026gt; \u0026lt;selectfont\u0026gt; \u0026lt;rejectfont\u0026gt; \u0026lt;glob\u0026gt;/usr/share/fonts/truetype/noto/Noto*\u0026lt;/glob\u0026gt; \u0026lt;/rejectfont\u0026gt; \u0026lt;acceptfont\u0026gt; \u0026lt;glob\u0026gt;/usr/share/fonts/truetype/noto/NotoColorEmoji*\u0026lt;/glob\u0026gt; \u0026lt;/acceptfont\u0026gt; \u0026lt;/selectfont\u0026gt; \u0026lt;/fontconfig\u0026gt; 在啟動程式的時候，加上環境變數，指定fontconfig的路徑 FONTCONFIG_FILE=~/.config/fontconfig/conf.d/libreoffice.conf libreoffice 雖說如此，不過我測試了好像沒用😛 參考資料 # Font configuration/Examples - Arch Wiki How to disable unused asiatic fonts? - AskUbuntu Fontconfig - Can I disable a specific font for an application only - r/archlinux Reddit ","date":"2025年6月13日","externalUrl":null,"permalink":"/posts/fontconfig-disable-fonts/","section":"所有文章","summary":"Disabling some fonts temporarily on Linux desktop to solve the issue of having too many fonts installed.\n一直以來我都有這個問題，要是Linux系統安裝太多字型（字體），在文書以及美工軟體的選單就會顯得落落長。\n例如Ubuntu一旦用APT安裝「Noto Fonts」字型套件，就會將各國語言都拉進來，導致LibreOffice的字型列表變得超～級～長，捲動還會lag。GIMP和Krita同樣會遇到這個問題。 如果說要解決這個問題，最直觀的想法就是用APT解除安裝字型套件了吧？光fonts-noto-core這個套件就有200種字型，畢竟Noto Fonts就是設計來解決多語言文字變成方塊豆腐的問題的！但日後要使用又要重裝，很是麻煩！\n所幸，Linux桌面常用的字型設定工具fontconfig有「rejectfont」的功能，可以將字型加入黑名單，「暫時」停用字型，這樣其他軟體就看不到這些字型。日後有需要再重新啟用就好了！不需要動到APT指令！ 註：如果你遇到的問題是安裝特定字型，例如標楷體，導致界面字型強制跟著變成標楷體，那麼停用字型不是解決之道。你應該使用fontconfig優先級方式來糾正。\n1. 圖形界面設定法 # GNOME # GNOME桌面沒有管理字型的功能，請裝Font Manager（字形總管），或者手寫fontconfig設定檔。\n","title":"Linux暫時停用部份字型，解決字型裝太多lag的問題（fontconfig rejectfont功能解說）","type":"posts"},{"content":"「MangoHud」是一款專為Linux系統設計的開源軟體，能在螢幕上即時顯示系統CPU、GPU、RAM、FPS、電壓、現在正在聽的音樂的資訊。\n如下圖，MangoHud顯示於遊戲螢幕左下角。 其功能類似Windows上的MSI Afterburner或FPS Monitor軟體。\nMangoHud顯示的資訊在玩Steam遊戲時很有用，方便監控Linux系統效能。\nMangoHud既是輔助工具，也是測試工具，能夠用來統計遊戲的FPS穩定度。本文Ivon介紹如何設定MangoHud，並與各種遊戲搭配使用。\n註： MangoHud僅適合監控「單一程式」的效能。如果你需要全域監控，並有浮動視窗一直顯示在所有視窗上方，那麼Ivon推薦你改用Conky。\n1. 安裝MangoHud # MangoHud由flightlessmango開發，他的Github有各大Linux發行版的安裝指示。\nSteam Deck的Steam OS 3.0已經內建MangoHud，無需安裝。\nUbuntu從官方套件庫安裝MangoHud。不過套件庫收的可能是舊版，需要最新版請從Github安裝。\nsudo apt install mangohud 要顯示GPU用量，依照GPU品牌安裝對應的監控套件：\n# Nvidia sudo apt install nvtop # Intel sudo apt install intel-gpu-tools # AMD sudo apt install radeontop 2. 用Goverlay編輯MangoHud的版面配置 # MangoHud設定檔範本位於/usr/share/doc/mangohud/，程式預設會讀取~/.config/MangoHud/MangoHud.conf的設定檔內容，用於控制MangoHud版面要顯示的訊息。我們可以直接編輯該檔案，裡面作者有提供詳盡註解，將要顯示的項目取消註解就行了。\nGoverlay是另一名開發者Benjamim Gois製作的軟體，可用圖形界面編輯MangoHud的設定檔，修改版面配置。\n參考Github說明，下載.AppImage，點二下執行。\nGoverlay讀取的是MangoHud預設的設定檔目錄~/.config/MangoHud/MangoHud.conf\n如下圖，Goverlay可以自由調整要顯示的系統訊息，右邊面板會即時顯示預覽。 在Position處調整MangoHud顯示的位置。Size設定MangoHud的整體大小。\nPerformance頁面有一個FPS Limiter功能，用於限制遊戲執行時的最高FPS（遊戲中按F1切換），減少電腦耗電量，或者是防止遊戲幀數過高出現畫面撕裂情形。 在Extra頁面，可調整MangoHud為不同尺寸的面板。 Mininmal就是只顯示FPS Compact多了CPU、RAM、溫度資訊 Complete就是完整顯示所有訊息，連系統都顯示 Graph，將各項資料以圖表顯示 調整完成後記得右下角按Save。\n2. 在Steam遊戲使用MangoHud # 開啟Steam客戶端，在收藏庫對遊戲按右鍵 → 內容，將啟動選項改成mangohud %command% 啟動遊戲之後應該就會看到MangoHud了。\n預設遊戲內開關MangoHud的快捷鍵是Shift＋F12。\n3. MangoHud命令行用法 # MangoHud預設只能在使用Vulkan的應用程式執行，若程式使用OpenGL執行的話要額外加上參數。\nSteam Proton轉譯的Windows遊戲會用DXVK將DirectX轉譯為Vulkan執行，所以應該不會有無法啟用MangoHud的問題。\n這裡我們跑二個小程式作示範：vkcube是vulkan-tools套件附屬的一個Vulakn小程式；glxgears則是mesa-utils附屬的一個OpenGL小程式。\nMangoHud，要顯示在Vulkan應用程式上的話就用以下語法：\nmangohud vkcube 您會看到MangoHud顯示在視窗上。 如果執行的應用程式是OpenGL的話要加上--dlysm：\nmangohud --dlsym glxgears 才會看到MangoHud顯示在視窗上。 4. 用MangoHud測試遊戲平均FPS # MangoHud可以紀錄一段時間內遊戲FPS的平均值，輸出成統計報告。繪製成圖表，或上傳結果到https://flightlessmango.com/games/user_benchmarks。\n於Goverlay的Performance頁面，點選資料夾路徑，設定輸出目錄 開啟遊戲，按下快捷鍵Shift＋F2開始紀錄FPS，MangoHud面板會顯示綠燈 再按一次Shift＋F2停止。MangoHud會顯示FPS測試結果 隨後對應目錄就會輸出FPS測試報告。 5. 執行Flatpak版MangoHud # 如果你的遊戲啟動器是透過Flatpak安裝，則MangoHud也必須使用相同版本的Flatpak。\n僅限Flatpak應用程式內部有效的MangoHud。Flatpak無法存取原生套件的MangoHud，所以要另外安裝。\n安裝Flatpak\n安裝MangoHud套件至一般使用者，分支需要與遊戲啟動器的對上。例如，使用flatpak list --app --app-runtime=org.freedesktop.Platform指令檢查目前Flatpak版Steam依賴的是哪個org.freedesktop.Platform，再安裝對應版本的MangoHud：\nflatpak install org.freedesktop.Platform.VulkanLayer.MangoHud 以Steam為例，若Steam是用Flatpak裝的，要先設定環境變數MANGOHUD=1，給Steam全部遊戲啟用MangoHud。有些程式只要設定這一步驟MangoHud就會跑出來，不需要再進一步設定。您也可以改為設定MANGOHUD=0，這樣它就不會全域啟用，而是僅加入mangohud指令的遊戲才啟動 flatpak override --user --env=MANGOHUD=1 com.valvesoftware.Steam 再用此指令指定環境變數MANGOHUD_CONFIGFILE=，告訴Flatpak版的MangoHud設定檔所在位置 flatpak override --user --env=MANGOHUD_CONFIGFILE=/home/user/.config/MangoHud/MangoHud.conf com.valvesoftware.Steam 開放Steam讀取~/.config/MangoHud/MangoHud.conf的權限，這樣後面我們改的設定檔才會生效 flatpak override --user --filesystem=/home/user/.config/MangoHud/MangoHud.conf:ro com.valvesoftware.Steam 在Steam收藏庫對遊戲按右鍵 → 內容，將啟動選項改成mangohud %command%\n啟動遊戲，看MangoHud有沒有跑出來。\n若是非Vulkan的Flatpak程式，例如，Flatpak版的Luanti使用OpenGL，要用MangoHud就得駭進去加上--dlysm\n一樣得先給Luanti啟用MangoHud，再開放讀取MangoHud設定檔的權限\nflatpak override --user --env=MANGOHUD=1 org.luanti.luanti flatpak override --user --filesystem=xdg-config/MangoHud:ro org.luanti.luanti 再用以下指令啟動Minetest：\nflatpak run --command=\u0026#34;bash\u0026#34; org.luanti.luanti /usr/lib/extensions/vulkan/MangoHud/bin/mangohud --dlsym /app/bin/luanti ","date":"2025年6月12日","externalUrl":null,"permalink":"/posts/linux-mangohud-usage/","section":"所有文章","summary":"「MangoHud」是一款專為Linux系統設計的開源軟體，能在螢幕上即時顯示系統CPU、GPU、RAM、FPS、電壓、現在正在聽的音樂的資訊。\n如下圖，MangoHud顯示於遊戲螢幕左下角。 其功能類似Windows上的MSI Afterburner或FPS Monitor軟體。\nMangoHud顯示的資訊在玩Steam遊戲時很有用，方便監控Linux系統效能。\nMangoHud既是輔助工具，也是測試工具，能夠用來統計遊戲的FPS穩定度。本文Ivon介紹如何設定MangoHud，並與各種遊戲搭配使用。\n註： MangoHud僅適合監控「單一程式」的效能。如果你需要全域監控，並有浮動視窗一直顯示在所有視窗上方，那麼Ivon推薦你改用Conky。\n1. 安裝MangoHud # MangoHud由flightlessmango開發，他的Github有各大Linux發行版的安裝指示。\nSteam Deck的Steam OS 3.0已經內建MangoHud，無需安裝。\nUbuntu從官方套件庫安裝MangoHud。不過套件庫收的可能是舊版，需要最新版請從Github安裝。\nsudo apt install mangohud 要顯示GPU用量，依照GPU品牌安裝對應的監控套件：\n# Nvidia sudo apt install nvtop # Intel sudo apt install intel-gpu-tools # AMD sudo apt install radeontop 2. 用Goverlay編輯MangoHud的版面配置 # MangoHud設定檔範本位於/usr/share/doc/mangohud/，程式預設會讀取~/.config/MangoHud/MangoHud.conf的設定檔內容，用於控制MangoHud版面要顯示的訊息。我們可以直接編輯該檔案，裡面作者有提供詳盡註解，將要顯示的項目取消註解就行了。\n","title":"MangoHud教學：在Linux螢幕顯示CPU、GPU、FPS、溫度、RAM使用量的遊戲輔助軟體","type":"posts"},{"content":"","date":"2025年6月12日","externalUrl":null,"permalink":"/tags/koikatsu/","section":"標籤","summary":"","title":"Koikatsu","type":"tags"},{"content":" 戀活！（コイカツ！）為日本ILLUSION推出的成人遊戲，2018年上市。特色是高自由度的捏臉系統，玩家可以製作許多宛如原作動漫的人物角色卡，並且在遊戲裡面盡情地與她們H。 什麼是「Koikatsu BetterRepack」？BetterRepack是由歐美玩家ScrewThisNoise製作的整合包，他釋出了許多H-Game的重新打包版本，其中就包含了戀活。\nBetterRepack整合了：\n日文版《戀活》遊戲 所有Steam版戀活的DLC HF Patch，最著名的補丁程式 劇情模式100%進度存檔 CharaStudio BepInEx，必裝的插件框架，另外預裝了一些額外模組 英文、中文界面翻譯 額外角色卡與自訂地圖 作者還會常常更新BetterRepack版本，讓裡面的補丁都維持最新版本。\n其實，如果你有購買Steam版的《戀活》，也是可以手動裝模組達成BetterRepack的效果的！而BetterRepack可說是幫玩家準備好了懶人包，下載後就可以開玩。\n本文將進一步討論如何將BetterRepack版的《戀活》界面中文化。 1. 如何下載BetterRepack版戀活？ # 雖然《戀活》的開發商倒了，但Steam仍有販售，所以嚴格來說BetterRepack版本是盜版，有能力請還是購買支持正版。\nKoikatsu與Koikatsu Sunshine差別：《戀活》與《戀活Sunshine》兩者是姊妹作，後者加入了新的地圖，玩法差不多。兩者皆有簡體中文翻譯檔。\n由於整合了大量模組包的緣故，BetterRepack遊戲檔案是原版遊戲的二倍大。請確保電腦硬碟有50GB的硬碟空間再下載。\n到BetterRepack官網按\u0026quot;Koikatsu\u0026quot;找載點，作者有提供Mega與Google Drive免空，按Full Pack下面的連結下載。將連結裡面的分割壓縮檔全部下載。 如果下載的遊戲是多個分割壓縮檔，請把壓縮檔放在同一個資料夾，檢查檔案完整性。然後可能要暫時關閉防毒軟體，再對編號1的壓縮檔按右鍵，以7-zip或WinRAR解壓縮。\n如果免空無法使用，或者檔案下載不完全導致無法解壓縮，改用種子下載。對磁力連結(Magnet)按右鍵複製連結，再使用qBittorrent下載。這個會一次下載包含整個遊戲的單一壓縮檔。下載程式之後，可能要暫時關閉防毒軟體，將壓縮檔解壓縮，放到任意資料夾。\n2. BetterRepack內容 # 戀活的英語叫做Koikatsu，歐美習慣用的簡稱為KK。\n開啟遊戲資料夾，會看到以下項目： UTILITY開頭的資料夾為小工具，例如[UTILITY] KKManager\\KKManager.exe可以下載模組更新。\nBepInEx：放插件的資料夾\nmods：放模組的資料夾\nUserData：遊戲資料，例如chara就是放角色卡的資料夾，一律以特殊的.png格式儲存。想要編輯角色的，開啟遊戲後點選主畫面的角色製作。若要直接開始H的，開啟遊戲後點選遊戲特典 → 自由H。\nInitSetting.exe：為遊戲初始化的選項，可修改遊戲解析度和語言\nCharaStudio.exe：擺拍角色的程式\nKoikatu.exe：遊戲主程式\n[BR] Vanillify the game.bat：特殊批次檔，執行後會將所有BetterRepack新增的模組刪除，還原到原版遊戲安裝狀態。\n3. 啟動戀活遊戲 # 開啟InitSetting.exe，調整喜歡的解析度，並依照圖示將旁邊的選項打勾（不要勾選Disable NSFW Content！！！），要全螢幕就按Play game in fullscreen。左邊的國旗代表語言，先不要在這裡設定語言，維持英文版。 關閉InitSetting.exe，再點選Koikatu.exe開啟遊戲\n正常情況下，遊戲在載入的時候應該會額外出現BepInEx的載入視窗，這才代表模組有成功載入。 進入主畫面之後，遊戲應該會是英文界面的。 4. 將戀活的界面中文化 # 在遊戲exe所在的資料夾找到[OPTIONAL] Mods\\Chinese Translation (BadAss Translation)\\資料夾\n複製裡面的BepInEx資料夾，回到遊戲exe所在的資料夾，貼上，合併資料夾\n重開遊戲就會看到中文界面了，沒有缺字問題。 5. 將戀活的界面中文化（機器翻譯） # 翻譯不全的時候才考慮採用的作法。目前BetterRepack提供英文、中文、韓文、俄文翻譯，其餘語言可以用自動翻譯。\nBetterRepack版的翻譯是由KoikatsuTranslation專案提供的，自動翻譯機制依賴XUnity Auto Translator。\n開啟InitSetting.exe，點左邊的國旗，設定為繁體中文。它會將變更寫入到戀活遊戲資料夾\\BepInEx\\Config\\AutoTranslatorConfig.ini\n重新開啟遊戲會變回日文，稍微等一下，接著它會使用Google翻譯遊戲的文本，並將文本存檔到戀活遊戲資料夾\\BepInEx\\Translation\\zh-TW\\。之後遊戲開啟會直接讀取那些檔案來顯示翻譯。\n若要追求更好的翻譯品質，建議改用DeepL。編輯戀活遊戲資料夾\\BepInEx\\Config\\AutoTranslatorConfig.ini，將服務改成DeepL\n[Service] Endpoint=DeepLTranslate FallbackEndpoint= 若要關閉自動翻譯，編輯戀活遊戲資料夾\\BepInEx\\Config\\AutoTranslatorConfig.ini，將[Service]段落的選項留空。之後已經翻譯過的文字就不會再翻譯一次。 [Service] Endpoint= FallbackEndpoint= 用記事本編輯戀活遊戲資料夾\\BepInEx\\Config\\AutoTranslatorConfig.ini，修改使用的字型防止缺字。這裡的字型需要是專為Unity打包的格式，而非.ttf檔案。 [Behaviour] OverrideFont=Microsoft YaHei OverrideFontTextMeshPro=BepInEx\\Translation\\fonts\\msyh 利用XUnity Auto Translator的原理，我們也可以從網路上找別人做好的漢化檔，覆蓋戀活遊戲資料夾\\BepInEx\\Translation\\資料夾下面的文本檔案，這樣就不用依賴機器翻譯了。 ","date":"2025年6月12日","externalUrl":null,"permalink":"/posts/koikatsu-betterrepack-installation/","section":"Nsfws","summary":" 戀活！（コイカツ！）為日本ILLUSION推出的成人遊戲，2018年上市。特色是高自由度的捏臉系統，玩家可以製作許多宛如原作動漫的人物角色卡，並且在遊戲裡面盡情地與她們H。 什麼是「Koikatsu BetterRepack」？BetterRepack是由歐美玩家ScrewThisNoise製作的整合包，他釋出了許多H-Game的重新打包版本，其中就包含了戀活。\nBetterRepack整合了：\n日文版《戀活》遊戲 所有Steam版戀活的DLC HF Patch，最著名的補丁程式 劇情模式100%進度存檔 CharaStudio BepInEx，必裝的插件框架，另外預裝了一些額外模組 英文、中文界面翻譯 額外角色卡與自訂地圖 作者還會常常更新BetterRepack版本，讓裡面的補丁都維持最新版本。\n","title":"戀活整合包「Koikatsu BetterRepack」下載＆安裝＆中文化教學","type":"nsfw"},{"content":"WSA（Windows Android 子系統）是一款讓您在Windows電腦跑Android APP的技術，類似Android模擬器但又比模擬器輕量。\n為什麼要用WSA呢？這裡的Android系統跟其他商業Android模擬器比起來十分的「乾淨」，沒有廣告，不會有追蹤器。儘管優化程度沒有商業Android模擬器那麼好，也沒有便利的多開功能，不過如果只是想簡單在電腦跑個Android APP，那麼WSA還是值得一試的！ 1. WSABuilds與原版WSA的不同 # WSA（Windows Subsystem for Android，Windows Android 子系統）是Microsoft在2022年隨著Windows 11提出的計畫，讓使用者可以在Windows電腦上跑Android APP。它是基於WSL (Windows Subsystem for Linux) 開發的輕型虛擬機技術，因此APP的執行效能會比傳統的Android-x86虛擬機要快一些。 使用者只要從Microsoft Store下載WSA即可使用。為了方便x86架構的電腦安裝ARM架構的APK，WSA內建名為libhoudini的ARM轉譯器。最初Microsoft選擇跟Amazon合作，因此WSA內建的應用程式商店是Amazon商店，而非Android手機常見的Google Play。\n不幸的是，2025年Microsoft宣佈放棄支援WSA，這個專案也就停止更新了。再也不能從Microsoft Store下載WSA。 現在，我們還有第三方開源社群維護的WSA能夠使用，名字叫做「WSABuilds」，原名叫做MagiskOnWSA。這個專案將延續原本WSA的目標，並且做了些修改。\n這個版本的WSA，內建Google Play商店而非Amazon商店，並且可以自由選擇是否要安裝Root權限管理器（Magisk或KernelSU）。 不過！由於Microsoft沒有完全開源WSA程式碼，WSABuilds的維護者難以介入開發，無法保證未來可否繼續正常使用。\n2. WSA系統需求 # 系統：建議Windows 11。撰文當下測試版本為Windows 11 24H2。\nCPU：x86架構比較好，ARM架構電腦支援度不確定，需要啟用Hyper-V虛擬化支援。\nGPU：推薦Intel或AMD，最好不要用Nvidia GPU，Android端的驅動容易出問題。如果有內顯就用內顯跑，WSL可以自由切換。\nRAM：因為是虛擬機，WSA執行時會吃掉一部分RAM，所以最好準備8GB以上RAM。\n3. 啟用Hyper-V # 到電腦UEFI開啟虛擬化支援。\n搜尋「開啟或關閉Windows功能」\n啟用Hyper-V，然後重開機。 4. 安裝WSABuilds # WSABuilds現由MustardChef維護，開啟Github頁面\n點選Windows 11表格旁邊的Download Latest Stable Builds按鈕 滑到頁面最下方，點開Assets。開發者提供了幾種版本的映像檔。如果你不需要Root權限，就選第一個RemovedAmazon的就好。要Root權限的建議選擇KernelSU版本，Magisk很容易被反Root程式偵測到。 下載之後將.7z解壓縮，將解壓縮出來的資料夾重新命名為WSA，放到任意路徑，我是放到文件資料夾。這個資料夾不可以刪除。\n找到資料夾內的Run.bat，點二下執行，允許以系統管理員權限變更電腦 等待套件完成安裝，然後重新啟動電腦 就會在Windows應用程式列表看到綠色的WSA圖示了！ 點一下開啟WSA面板，按下「檔案」就會「開機」，然後就可以登入Google Play了。 5. WSA操作邏輯 # 一個APP一個視窗，沒有「Android桌面」\n按下打叉後APP就會停止執行。\nAndroid APP會顯示在WSA控制面板，還有Windows的應用程式列表。不過要解除安裝Android APP需要在WSA控制面板刪除。 Windows端的注音輸入法可以直接在Android APP裡面使用，不用另外再裝Android的輸入法。此外，開啟URL超連結的時候，可以選擇要用WSA還是Windows exe開啟。\n我們可以在WSA控制面板 → 進階設定，勾選共用使用者資料夾，讓Windows與Android共享資料夾。 再點選WSA控制面板的「檔案」開啟Android的檔案管理器，就能安裝放在Windows資料夾的APK。\n6. WSA玩手遊的效能 # WSA控制面板 → 進階設定，裡面有切換GPU的選項。 雖然勾選了Nvidia GPU，但效能比Bluestacks爛很多，主要是圖形部份，CPU有libhoudini罩應該沒問題。工作管理員顯示Nvidia GPU利用率完全沒起來。明明是基於WSL開發的技術的說。\n連玩簡單的Fate/Go都卡的要死。\n我開始懷疑Microsoft停止維護WSA的原因是否為Nvidia拒絕提供Android端的驅動呢XDD 順帶一提遇到Play Integrity API，WSA一條都沒通過。\nMicrosoft放棄WSA，更有可能是無利可圖吧。\nWSL裡面能夠吃到Nvidia的閉源驅動，DirectX會轉譯為OpenGL。不過參照Linux Waydroid容器的經驗，Android端也要有Nvidia的驅動才可以達成GPU加速，這對Intel與AMD來說不難，他們含在Mesa裡面，但Nvidia的Android驅動似乎是商業機密，不能隨便給人用的！\nAndroid Studio的模擬器還有Bluestacks不知道用了什麼魔法才讓Nvidia驅動在Android端跑起來。但是WSA就沒有這麼幸運了，WSA裡面的AIDA64沒有認到Nvidia GPU。\n恐怕，WSA只能在Intel或AMD GPU的電腦流暢運作，Nvidia用戶有難了。WSABuilds的Github文件也有提到，Nvidia GPU加速易出問題。\n","date":"2025年6月11日","externalUrl":null,"permalink":"/posts/wsabuilds-installation/","section":"所有文章","summary":"WSA（Windows Android 子系統）是一款讓您在Windows電腦跑Android APP的技術，類似Android模擬器但又比模擬器輕量。\n為什麼要用WSA呢？這裡的Android系統跟其他商業Android模擬器比起來十分的「乾淨」，沒有廣告，不會有追蹤器。儘管優化程度沒有商業Android模擬器那麼好，也沒有便利的多開功能，不過如果只是想簡單在電腦跑個Android APP，那麼WSA還是值得一試的！ 1. WSABuilds與原版WSA的不同 # WSA（Windows Subsystem for Android，Windows Android 子系統）是Microsoft在2022年隨著Windows 11提出的計畫，讓使用者可以在Windows電腦上跑Android APP。它是基於WSL (Windows Subsystem for Linux) 開發的輕型虛擬機技術，因此APP的執行效能會比傳統的Android-x86虛擬機要快一些。 使用者只要從Microsoft Store下載WSA即可使用。為了方便x86架構的電腦安裝ARM架構的APK，WSA內建名為libhoudini的ARM轉譯器。最初Microsoft選擇跟Amazon合作，因此WSA內建的應用程式商店是Amazon商店，而非Android手機常見的Google Play。\n","title":"Windows 11安裝WSA ＋ Google Play（第三方社群版WSABuilds）","type":"posts"},{"content":"Install Chrome Web Store extentions on Ungoogled Chromium.\n現在使用Chromium核心的瀏覽器，除了常見的「Google Chrome」和「Chromium」瀏覽器外，還有一個特殊的分支，叫做「Ungoogled Chromium」，由一群獨立開發者維護。 Ungoogled Chromium支援Linux、Windows、macOS系統，你可以在Github下載。\n雖然使用Chromium核心，但是這個版本特別強調「拔掉所有有關Google的服務」，包括某些針對Google服務最佳化的程式碼都被移除，預設不啟用任何搜尋引擎。當然也就不能登入Google帳號同步資料了。\n在Google Chrome移除Manifest V2支援之後，Ungoogled Chromium依然持續支援Manifest V2標準的擴充功能。\n不過，Ungoogled Chrmoium因為修改東西太多，連擴充功能(extension)都得手動安裝。預設情況下打開Chrome線上應用程式商店的擴充功能頁面，會顯示「目前無法購買此項目」。 根據Github issue的回報，這是「Wanted Behavior」\u0026hellip;所以使用者要自行想辦法解決，不然還是老實回去用Google Chrome吧！\n1. 方法一：安裝Chromium Web Store # 在Ungoogled Chromium開啟以下網址：chrome://flags/#extension-mime-request-handling，將Handling of extension MIME type requests的值改成Always prompt for install。然後重新啟動Ungoogled Chromium。 到Github下載Chromium Web Store的擴充功能檔案，點副檔名是.crx的檔案下載，應該會跳出安裝視窗。 這樣到Chrome線上應用程式商店的頁面，擴充功能就會出現「加到Chrome」的按鈕了。 擴充功能可能不會自動更新，你需要看Chromium Web Store的提示框，手動切換到Chrome線上應用程式商店的頁面，它就會嘗試下載更新。或者參考下文，手動下載擴充功能的.crx檔案安裝。\n2. 方法二：手動下載.crx檔案 # 到這個網站：https://www.ungoogledextensions.com\n貼上想下載的Chrome線上應用程式商店的擴充功能網址，再選擇Chromium版本，就可以幫你下載到.crx檔案。\n之後到Ungoogled Chromium擴充功能頁面chrome://extensions，勾選「開發人員模式」，拖曳.crx到擴充功能頁面進行安裝。\n3. 參考資料 # How to Manually Install Extensions (Ungoogled Chromium) - avoidthehack!\n","date":"2025年6月8日","externalUrl":null,"permalink":"/posts/ungoogled-chromium-install-extensions/","section":"所有文章","summary":"Install Chrome Web Store extentions on Ungoogled Chromium.\n現在使用Chromium核心的瀏覽器，除了常見的「Google Chrome」和「Chromium」瀏覽器外，還有一個特殊的分支，叫做「Ungoogled Chromium」，由一群獨立開發者維護。 Ungoogled Chromium支援Linux、Windows、macOS系統，你可以在Github下載。\n雖然使用Chromium核心，但是這個版本特別強調「拔掉所有有關Google的服務」，包括某些針對Google服務最佳化的程式碼都被移除，預設不啟用任何搜尋引擎。當然也就不能登入Google帳號同步資料了。\n在Google Chrome移除Manifest V2支援之後，Ungoogled Chromium依然持續支援Manifest V2標準的擴充功能。\n不過，Ungoogled Chrmoium因為修改東西太多，連擴充功能(extension)都得手動安裝。預設情況下打開Chrome線上應用程式商店的擴充功能頁面，會顯示「目前無法購買此項目」。 根據Github issue的回報，這是「Wanted Behavior」…所以使用者要自行想辦法解決，不然還是老實回去用Google Chrome吧！\n1. 方法一：安裝Chromium Web Store # 在Ungoogled Chromium開啟以下網址：chrome://flags/#extension-mime-request-handling，將Handling of extension MIME type requests的值改成Always prompt for install。然後重新啟動Ungoogled Chromium。 ","title":"Ungoogled Chromium無法安裝擴充功能的解決辦法","type":"posts"},{"content":"How to scale applications on Linux Wayland session.\nIvon將在這篇文章討論Linux系統Wayland協定桌面的縮放方式，適用Ubuntu、Fedora、Arch Linux、openSUSE、Gentoo等發行版。用到的桌面環境為GNOME與KDE Plasma。 什麼時候會遇到需要縮放的問題呢？\n4K解析度的HiDPI大螢幕會遇到程式字太小的問題，需要放大。 筆電螢幕太小，需要放大程式 由於Wayland現在的機制還不完善，調整縮放的時候會遇到各式各樣的問題，所以Ivon寫一篇記錄下來。\n這裡使用的通訊協定為Wayland，如果你使用X11請看這篇\n1. 如何確認Wayland還是X11 # 如何確認目前的桌面工作階段為Wayland還是X11？輸入指令echo $XDG_SESSION_TYPE確認。\n如何確認程式是跑在Wayland協定，還是跑在XWayland下？使用xlsclients指令，即可確認哪些程式是使用X11協定。XWayland程式的縮放行為跟原生Wayland程式不一樣，所以要特別關注。\n2. Wayland的縮放問題 # 首先你要知道的是，Wayland工作階段沒有X伺服器，不能使用「xrandr」這種通用工具來調整螢幕縮放，而「wlr-randr」工具僅支援wlroots寫成的合成器，所以這得看桌面環境的合成器怎麼設計縮放機制了。\nLinux的縮放分為整數縮放 (integer scaling) 與非整數縮放 (fractional scaling，又稱分數縮放)，前者就是只有100%與200%的差別，後者則是能夠有100%、125%、150%、175%、200%的選項。建議使用後者非整數縮放，能夠精細的控制縮放大小。\n理想情況下，最好是由桌面環境的合成器來控制縮放，只要在設定面板調整縮放比例，整個系統UI或者字型就會跟著統一縮放。這裡「縮放」跟「字型縮放」是不一樣的概念。縮放是讓程式的界面全部放大，而字型縮放只是放大字型，讓程式看起來比較大，改善可讀性。\n可惜事情沒有這麼簡單，不是所有程式都原生支援Wayland。我們還要考慮XWayland程式的問題。XWayland是指跑在Wayland下的舊版X11程式，開發者尚未將其改寫為原生Wayland版本。他們可能不會跟著合成器的指示縮放。若強制縮放的話字型會模糊。\n字型縮放模糊的範例，左邊為XWayland的Chrome，縮放後字型模糊；右邊為Wayland的Chrome，縮放後字型沒有模糊。（若你看不出差異，請把掉在地上的眼鏡戴起來） 因為有XWayland程式的存在，使得Wayland縮放的問題複雜了起來。\n下面我們來討論解法。\n3. 全域縮放 # 全域縮放會試圖讓所有程式跟著縮放。\nGNOME # GNOME 48以上版本提供Wayland非整數縮放，屬於實驗性狀態。GNOME 50才正式支援Wayland分數縮放。\n在GNOME的系統設定 → 顯示器開啟。 至於XWayland，目前有一個實驗性的修補，能夠讓XWayland自動跟著縮放，不會再模糊了。需要使用以下指令開啟，然後重新登入桌面：\ngsettings set org.gnome.mutter experimental-features \u0026#39;[\u0026#34;scale-monitor-framebuffer\u0026#34;, \u0026#34;xwayland-native-scaling\u0026#34;]\u0026#39; GTK與原生Wayland的程式會全域縮放，較新的QT程式應當也會跟著縮放。XWayland程式可能得手動設定環境變數縮放。 如果是GNOME 48以下的版本，桌面的非整數縮放處於實驗性狀態，Wayland和XWayland都是如此，縮放開下去可能會有各種bug。折衷的辦法是不要設定全域縮放，只縮放字型就好（見下一節）。\nKDE Plasma # KDE Plasma 5.27以上版本支援非整數縮放。\n點選KDE系統設定 → 顯示，設定程式縮放 GTK和QT程式應當會跟著縮放。\n為了防止程式模糊，KDE允許「讓XWayland程式自行縮放」。例如Wayland程式會跟著縮放為125%，而XWayland會維持100%縮放。針對部份XWayland的程式，使用者得自行設定環境變數調整縮放。\n4. 只縮放字型 # 此為折衷方案，只放大程式的字型，不放大UI，改善可讀性。\n這麼做的好處是字型都會強制放大。\n壞處就是字型太大可能會破壞UI美感，使得畫面不和諧。且有些程式依然不鳥你的字型大小，還是得手動設定環境變數縮放。\nGNOME # 點選GNOME設定 → 無障礙輔助 → 大型文字，啟用大型字型，強制放大全部程式的字型，大概會變大個1.25倍，至少能改善可讀性。 如果你需要更精細的字型尺寸，安裝gnome-tweaks套件，開啟「調校」程式，在裡面設定字型的縮放係數。 KDE Plasma # 在KDE的系統設定 → 字型，指定全域字型的大小。 5. 個別程式縮放，設定環境變數 # 如果程式沒有跟著縮放，那麼就只能個別程式設定縮放的環境變數了。你需要依照程式使用的框架，來設定適當的環境變數。\n在設定環境變數之前，得先確認你的程式是使用Wayland還是跑在Xwayland，Wayland的環境變數跟X11不能混用。\n如何設定環境變數？寫入到~/.bashrc。例如：\n# 編輯檔案 vim ~/.bashrc # 填入環境變數 export name=value # 編輯完成後重開機 GTK環境變數 # 原生Wayland的GTK 4程式應該會自動跟著桌面環境全域縮放。無法個別指定縮放比例。\n例如最新版Firefox預設就是使用Wayland協定，所以它會跟著桌面環境縮放。\n不要用GDK_SCALE和GDK_DPI_SCALE，這個是X11工作階段在用的。\n你可以加入環境變數GDK_BACKEND=x11或者WAYLAND_DISPLAY=，強制特定GTK程式以X11協定執行（例如GDK_BACKEND=x11 firefox），這二個環境變數才會有效。\nQT環境變數 # 原生Wayland的QT 6程式應該會跟著桌面環境全域縮放。無法個別指定縮放比例。\n例如最新版Krita應該會跟著縮放。\nQT_AUTO_SCREEN_SCALE_FACTOR和QT_ENABLE_HIGHDPI_SCALING這二個調整縮放的環境變數僅限X11協定使用，Wayland無效。\n你可以加入環境變數QT_QPA_PLATFORM=xcb或者WAYLAND_DISPLAY=，強制特定QT程式以X11協定執行，例如QT_QPA_PLATFORM=xcb krita\nElectron與Chromium瀏覽器 # 如果跑在純Wayland模式（使用--ozone-platform=auto參數啟動），最新版的Chromium和Electron應該會跟著桌面環境縮放。\n--force-device-scale-factor的參數在Wayland下無效，僅限X11協定使用。\nWine/Proton的環境變數 # 目前Wine 10.0與Steam Proton 10.0尚未完全支援Wayland，大部分程式都是跑在XWayland。Steam客戶端也是一樣。\n要設定透過Wine執行的Windows exe程式，請用winecfg指令，設定程式DPI。 至於Steam客戶端，請用環境變數STEAM_FORCE_DESKTOPUI_SCALING=1.5設定縮放比例。\n6. 解決XWayland縮放字型模糊 # 有些桌面環境強制所有程式縮放，會導致XWayland程式的字型模糊。\n解法：\n傳入特定參數，強制X11程式使用Wayland模式，字型就不會模糊。但是有的程式強制用Walyand跑問題會更多。 個別給他們設定環境變數。因為X11程式跑在Wayland下，會變成透過XWayland執行，此時它們的縮放行為與X11環境下相同。 2.是比較好的作法，參考Linux X11縮放的教學\n7. Wayland多螢幕縮放 # 假設一個螢幕1080p，一個螢幕4K，兩個螢幕就會有縮放不一致的問題。\n如果全域縮放正常的話，那麼在桌面環境的系統設定選單，個別給兩個螢幕設定縮放比例即可。\n例如，KDE做如下設定之後，視窗移動到另外一個螢幕後，就會自動依照那個螢幕的縮放設定放大。 參考資料 # HiDPI - ArchWiki Gtk – 4.0: Using GTK with Wayland - GTK Documentation High DPI | Qt 6 Documentation HiDPI Scaling · sonic2kk/steamtinkerlaunch Wiki ","date":"2025年6月8日","externalUrl":null,"permalink":"/posts/linux-wayland-scaling/","section":"所有文章","summary":"How to scale applications on Linux Wayland session.\nIvon將在這篇文章討論Linux系統Wayland協定桌面的縮放方式，適用Ubuntu、Fedora、Arch Linux、openSUSE、Gentoo等發行版。用到的桌面環境為GNOME與KDE Plasma。 什麼時候會遇到需要縮放的問題呢？\n4K解析度的HiDPI大螢幕會遇到程式字太小的問題，需要放大。 筆電螢幕太小，需要放大程式 由於Wayland現在的機制還不完善，調整縮放的時候會遇到各式各樣的問題，所以Ivon寫一篇記錄下來。\n這裡使用的通訊協定為Wayland，如果你使用X11請看這篇\n1. 如何確認Wayland還是X11 # 如何確認目前的桌面工作階段為Wayland還是X11？輸入指令echo $XDG_SESSION_TYPE確認。\n如何確認程式是跑在Wayland協定，還是跑在XWayland下？使用xlsclients指令，即可確認哪些程式是使用X11協定。XWayland程式的縮放行為跟原生Wayland程式不一樣，所以要特別關注。\n2. Wayland的縮放問題 # 首先你要知道的是，Wayland工作階段沒有X伺服器，不能使用「xrandr」這種通用工具來調整螢幕縮放，而「wlr-randr」工具僅支援wlroots寫成的合成器，所以這得看桌面環境的合成器怎麼設計縮放機制了。\n","title":"Linux Wayland桌面的縮放，放大字型、改善HiDPI支援、解決字型模糊","type":"posts"},{"content":"Using AVD of Android Studio on Linux as a Android gaming emulator.\n分享如何在Ubuntu Linux系統用Android Studio的AVD模擬器玩遊戲，並設定只啟動AVD模擬器，而不要一併開啟笨重IDE的方法。\nAndroid Studio是Google推出的IDE，支援Linux、Windows、macOS系統，用於開發Android APP之用。授權屬於專有軟體。\n最大的特點是內建各版本的Android模擬器（Android Virtual Devices，下面簡稱AVD），這個模擬器能不能玩遊戲呢？理論上是可以的。Android Studio的模擬器能夠模擬手機型號、內建GAPPS、支援GPU加速、內建ARM轉譯器libndk、動態縮放視窗大小。\n範例：使用AVD模擬器在Linux遊玩Google Play的賽馬娘遊戲 那麼為什麼要用到Android Studio的AVD呢？Ivon分享過Linux的Android模擬器一覽，在這之中，Android Studio的AVD可能是除了Genymotion以外，唯一能在Linux上正常使用Nvidia GPU玩Android手遊的模擬器了。由於是Google官方推出的，必定是經過許多測試才放出來給大家使用的。品質應該是值得信賴的。\n想要在Linux執行Android手遊，Waydroid是比較常被推薦的方案，Steam Deck也有人在用。不過如果想要類似Windows上Bluestacks模擬器的使用體驗，AVD會比較接近。\n本來，Waydroid應該是更好的方案的，完全由開源社群維護，Waydroid（LXC容器）比AVD模擬器（QEMU/KVM虛擬機）效能要好。AVD模擬器總是卡卡的。\n我實際用Geekbench跑分測試，同一個Intel i5-10210U CPU，分配同核心數的情況下，Waydroid（上）性能確實比AVD模擬器（下）要好，Waydroid幾乎是以原生的速度執行Android APP。AVD則有虛擬化造成的效能損失。 但Waydroid死穴是只支援Intel和AMD GPU。開發者說他們暫時不支援Nvidia的原因，乃是因為Nvidia沒有提供開源的Android端驅動，Linux端Mesa驅動也有問題。而Google用了某種轉譯OpenGL ES的魔法，讓Nvidia驅動跑起來。\n在AVD模擬器裡面可以看到成功顯示Linux宿主機的Nvidia GPU。AVD模擬器不論是Intel、AMD、Nvidia都可以將其轉譯成OpenGL ES。 因此對Nvidia用戶來說，AVD是唯一可行的，有GPU加速的Android模擬器方案。\n1. 確認虛擬化與圖形驅動 # Android Studio會使用QEMU/KVM加速模擬器，因此要先確認Ubuntu電腦有無開啟虛擬化。確認CPU是否支援虛擬化，回傳值不應為0： sudo grep -E -c \u0026#39;(vmx|svm)\u0026#39; /proc/cpuinfo 確認KVM核心模組是否有載入： sudo lsmod | grep kvm 如果使用Nvidia顯示卡，要記得安裝Nvidia閉源驅動。 2. 安裝Android Studio # Android Studio僅支援x86_64架構的Linux電腦。建議磁碟空間64GB以上，RAM 8GB以上，CPU 4核心以上C。\n到官網下載，不要用Flatpak方式安裝。\n將tar檔解壓縮，放到任意目錄。我個人是放在~/Applications\n點二下android-studio/bin/studio啟動Android Studio，等待初始化套件完成。\n按New Project 隨便新增一個專案\n按左上角Tools → Create Desktop Entry可以建立Linux桌面圖示 3. 新增AVD模擬器 # 點左上角 → Tools → Device Manager 畫面左邊應該會出現下載好的模擬器，撰文當下是Android 16的映像檔 如果需要其他版本，點選＋號，Create New Virtual Device新增，例如我選Pixel 9 Pro XL，設定Android 16版本，選取內建Google Play的映像檔。（註：這支是挖孔螢幕，AVD模擬器會一併模擬挖孔螢幕，如果要完整螢幕請選舊機型。）\n按Additional Settings調整模擬器性能。分配至少64GB儲存空間，還有至少4GB RAM和4個CPU核心。不過，內含Google Play的映像檔沒辦法使用全速，所以我們得手動修改設定檔。 下載之後，點Show on disk，編輯設定檔config.ini 修改以下內容（沒有的話自行新增）\ndisk.dataPartition.size=64G # 模擬器虛擬磁碟容量 hw.audioInput=yes # 音效輸入 hw.audioOutput=yes # 音效輸出 hw.cpu.ncore=4 # 模擬器核心數，依照電腦性能調整 hw.ramSize=6144 # 模擬器RAM PlayStore.enabled=true # 強制開啟Google Play tag.display=Google Play tag.id=google_apis_playstore # 不想要模擬器顯示手機邊框的將以下三行刪除 skin.name= skin.path= 然後開機，登入Google帳號，完成初始化，然後關機。 4. 單獨啟動AVD模擬器，不啟動IDE # Android Studio的問題就是太笨重了，執行IDE的時候非常吃資源。我們可以單獨執行AVD，而不用開啟IDE。\nAndroid Studio的依賴套件會放到~/Android/\n列出模擬器列表，譬如Pixel_9_Pro_XL\n~/Android/Sdk/emulator/emulator -list-avds 只要啟動AVD而不要開啟IDE的話，用這個指令啟動： ~/Android/Sdk/emulator/emulator -avd \u0026#34;模擬器機型\u0026#34; 如果你有兩個GPU，可以用Nvidia PRIME的方式指定使用Nvidia GPU用於模擬器的圖形加速。\n我們把它做成一個Linux桌面捷徑，加到Linux應用程式列表 vim ~/.local/share/applications/emulator_pixel_9_pro_xl.desktop 填入以下指令。如果AVD在Wayland下怪怪的，在Exec=後面加一個環境變數env WAYLAND_DISPLAY=，改成以XWayland啟動。 [Desktop Entry] Categories=Development;IDE; Exec=\u0026#34;/home/user/Android/Sdk/emulator/emulator\u0026#34; -avd \u0026#34;Pixel_9_Pro_XL\u0026#34; Icon=/home/user/Android/Sdk/skins/pixel_9_pro_xl/back.png Name=Pixel 9 Pro Emulator NoDisplay=false Type=Application 這樣之後就可以點Linux桌面的捷徑這個啟動AVD模擬器了。 點選AVD模擬器右上角的三個點開啟設定，點選Show window frame around device，就會顯示邊框，能夠縮放AVD模擬器視窗。 5. 搭配QtScrcpy使用按鍵映射 # 改用Scrcpy作為主要連線手段。QTScrcpy支援按鍵映射，以鍵盤控制觸控點擊。\n我們可以在AVD模擬器啟動指令加上-no-window -gpu host參數，這樣模擬器就不會跳出視窗，並且維持GPU加速。\n~/Android/Sdk/emulator/emulator -avd \u0026#34;模擬器機型\u0026#34; -no-window -gpu host 然後用ADB列出目前電腦上的裝置 點選連線 6. 多開APP # 我們沒有必要同時執行多個AVD，太吃資源了。\n利用Android 15的虛擬雙螢幕功能就可以了。\n按一下AVD模擬器的設定 → Display，新增一塊螢幕。 多出來的螢幕就能用來執行其他APP。不過跑大型遊戲還要考慮到模擬器分配的RAM是否足夠。副螢幕似乎不會跟著旋轉方向。\n7. 如果APP閃退 # AVD內建libndk，可能會因為ARM轉譯有問題閃退。\n盡量找x86_64架構的APK，減少因為ARM轉譯器崩潰的機會。\n也可能是遊戲偵測到模擬器閃退。AVD就只是個開發用模擬器，如果遊戲偵測到疑似模擬器不給玩，那也沒啥辦法～\nPlay Integrity API需要硬體支援，不可能在模擬器裡面通過。\n參考資料 # Configure hardware acceleration for the Android Emulator - Android Developers Run AVD Emulator without Android Studio - stackoverflow How Can I Get Google Play to Work on Android Emulator in Android Studio Bumblebee + - stackoverflow ","date":"2025年6月7日","externalUrl":null,"permalink":"/posts/linux-android-studio-avd-as-a-gaming-emulator/","section":"所有文章","summary":"Using AVD of Android Studio on Linux as a Android gaming emulator.\n分享如何在Ubuntu Linux系統用Android Studio的AVD模擬器玩遊戲，並設定只啟動AVD模擬器，而不要一併開啟笨重IDE的方法。\nAndroid Studio是Google推出的IDE，支援Linux、Windows、macOS系統，用於開發Android APP之用。授權屬於專有軟體。\n最大的特點是內建各版本的Android模擬器（Android Virtual Devices，下面簡稱AVD），這個模擬器能不能玩遊戲呢？理論上是可以的。Android Studio的模擬器能夠模擬手機型號、內建GAPPS、支援GPU加速、內建ARM轉譯器libndk、動態縮放視窗大小。\n範例：使用AVD模擬器在Linux遊玩Google Play的賽馬娘遊戲 那麼為什麼要用到Android Studio的AVD呢？Ivon分享過Linux的Android模擬器一覽，在這之中，Android Studio的AVD可能是除了Genymotion以外，唯一能在Linux上正常使用Nvidia GPU玩Android手遊的模擬器了。由於是Google官方推出的，必定是經過許多測試才放出來給大家使用的。品質應該是值得信賴的。\n想要在Linux執行Android手遊，Waydroid是比較常被推薦的方案，Steam Deck也有人在用。不過如果想要類似Windows上Bluestacks模擬器的使用體驗，AVD會比較接近。\n","title":"Linux用Android Studio模擬器玩手遊的思路（Play商店 ＋ Nvidia GPU加速 ＋ 單獨執行AVD）","type":"posts"},{"content":"","date":"2025年6月6日","externalUrl":null,"permalink":"/tags/redroid/","section":"標籤","summary":"","title":"ReDroid","type":"tags"},{"content":" 本文介紹Linux系統幾個免費的「Android模擬器」解決方案，讓您在Linux系統跑Android APP、玩手遊。 在Gentoo Linux的KDE Plasma桌面用Android-x86虛擬機玩FGO\n概論 # 市面上有很多商業Android模擬器，例如：BlueStacks藍疊、NOX夜神、LDPlayer雷電、MEmu逍遙、Google Play遊戲電腦版等等，花樣很多，不外乎就是能在x86電腦上玩x86或ARM架構的手機遊戲，甚至多開、掛機、鍵盤映射都不是難事。\n對比Windows系統為數眾多的Android模擬器，GNU/Linux系統 (Ubuntu、Fedora、Arch Linux、openSUSE、Gentoo，不包含ChromeOS) 的方案是少的可憐，Windows的著名Android模擬器多半沒有推出Linux版本。早期Linux只有「Genymotion」和「Android Studio」能用，而這二者基本是給開發人員用的，難以用來玩遊戲。\n另外，上面講的那些Windows系統的Android模擬器，即使用Wine依然是無法在Linux執行的。\n所幸近年來此情況有所改善，隨著LXC容器技術的Anbox和Waydroid出現，Linux便能執行Android APP了。利用Linux的QEMU/KVM技術，安裝高效率Android-x86虛擬機也是穩固可行的方案。\n現在，Linux用戶想在電腦上跑Android APP甚至打遊戲，可以找開源軟體組成的解決方案，達成類似「Android模擬器」的效果，順便擺脫商業Android模擬器的各種業配和廣告置入。\n1. Waydroid # Waydroid源自Canonical開發的Anbox，採用LXC技術，容器與Linux共用核心，執行Android系統。開發團隊同時也負責開發Bliss OS。\n至於Anbox基本上已經停止開發了，Waydroid取而代之，成為最知名的Anbox繼承者。 特色：\n授權條款：GPLv3 LXC容器十分輕量，執行效率比虛擬機和模擬器高出許多，還可以有效利用電腦的GPU加速遊戲效能 與Linux系統共用Android剪貼板，以視窗模式操作APP，宛如原生Linux應用一般的操作體驗，就像Microsoft的WSA那樣 內建Google Play商店 提供x86和ARM的映像檔，不論是x86電腦還是Raspberry Pi都可以部署 跑Waydroid需要Wayland顯示協定的桌面 Waydroid不方便多開，一台電腦只能安裝一個Android版本 需要手動安裝ARM轉譯器 目前不支援Nvidia GPU，僅支援Intel與AMD等使用Mesa開源驅動的GPU 安裝教學請看這裡。\n2. ReDroid # 透過Docker容器執行Android系統，再透過Scrcpy連線到桌面。開發者原意是在伺服器架設雲手機之用，但桌面用戶亦可以參考此方案。 特色：\n授權條款：Apache 提供x86和ARM架構的映像檔，不論是x86電腦還是Raspberry Pi都可以部署 支援GPU硬體加速 提供ARM轉譯器 Google Play商店要自己裝 Docker容器的特性使其能夠快速部署在伺服器上，並用Scrcpy遠端連線 Docker容器資源佔用低，且容易複製，要多開是有可能的 安裝過程略顯繁瑣，需要對Docker有一定操作知識才能用的好 目前不支援Nvidia GPU，僅支援Intel與AMD等使用Mesa開源驅動的GPU 安裝方式請看ReDroid使用教學，另請參見開源雲手機架設\n3. Android-x86虛擬機 # Android-x86虛擬機源自發展許久的同名專案，它能夠安裝到實體電腦，同樣的也可以安裝到虛擬機。\n不過，原版的Android-x86開發到Android 9便很少更新了。\n近年來有基於Android-x86的「Bliss OS」出現，更新十分積極，支援到Android 15。 特色如下：\n授權條款：Apache Android-x86是完整的作業系統，從Android 7 ～ Android 15皆有ISO 幾乎是開源軟體組成的解決方案，系統乾淨無廣告 可以部署在虛擬機，也可以安裝到實體機當主力系統，譬如Microsoft Surface 支援ARM → x86架構轉譯，支援更多手機遊戲 不用直通GPU也能用VirGL達成3D硬體加速，支援Intel、AMD、Nvidia GPU 有多開的潛力 內建Google Play商店 虛擬機後端可以選用QEMU/KVM、VirtualBox、VMware等等 因為是虛擬機，GPU加速能力有限 只支援x86架構的電腦 用QEMU/KVM跑Android-x86虛擬機的教學請看：Bliss OS虛擬機安裝教學。\n4. Android Studio的AVD模擬器 # Android Virtual Device，簡稱AVD，是Google官方開發的Android模擬器，隨附於Android Studio。 特色：\n授權條款：專有軟體 主要用於開發Android APP之用，相對其他方案來說比較成熟 跨平台，同樣的一組軟體也能在Windows與macOS使用 可以使用ADB和Root 可模擬多款手機型號，技術上來說可以多開 內建Google Play與ARM轉譯器libndk 提供GPU圖形加速，支援Intel、AMD、Nvidia GPU。 Android Studio執行時非常吃資源，不過AVD模擬器可以設定成不依賴Android Studio，獨立執行 僅支援x86架構的電腦 教學參考：Linux用Android Studio的AVD模擬器玩手遊的思路\n5. Genymotion模擬器 # 跨平台的商業Android模擬器。 特色：\n授權條款：專有軟體 安裝起來最無腦 執行時依賴QEMU/KVM或VirtualBox 提供各種手機機型模擬 提供快捷的按鍵操作，方便截圖、錄影、模擬手勢 內建ARM轉譯器 支援Intel、AMD、Nvidia GPU圖形加速。 需要註冊才能使用 免費版的螢幕上會出現浮水印，妨礙使用，需要購買使用授權 僅支援x86架構的電腦 Linux版Genymotion安裝教學見此\n該選哪一個？ # 如果是Nvidia顯示卡用戶，沒有內顯且不想折騰的，你就只有Android Studio的AVD與Genymotion能選了。\n若是Intel與AMD顯示卡用戶，選擇就多了。在Linux的各種「Android模擬器」方案比較下來，Waydroid絕對是效能最高的。因為使用LXC容器技術，跟Linux共用核心，運算的時候幾乎沒有效能損失，Waydroid的效能好似在實體電腦安裝Android系統。\n對比Android Studio的AVD模擬器，或者Android-x86虛擬機方案，Waydroid的效能比他們高出許多。尤其對低規格的電腦來說，Waydroid是最為經濟的選擇。經過我Geekbench跑分測試，套一層虛擬化的Android效能，最多會損失將近一半的效能！這意味著虛擬機的效能需要分配更多CPU核心撐起來。要是電腦CPU只有4核心或更低，開Android-x86虛擬機就會吃光所有資源了！相較之下，Waydroid的資源佔用比較低。\nAndroid-x86虛擬機的圖形加速依賴VirGL達成，這個效能要比Android Studio的AVD模擬器弱一些。\n至於ReDroid是給進階玩家用的，適合想要遠端連線雲手機的玩家使用。\n","date":"2025年6月6日","externalUrl":null,"permalink":"/posts/android-emulators-for-linux/","section":"所有文章","summary":" 本文介紹Linux系統幾個免費的「Android模擬器」解決方案，讓您在Linux系統跑Android APP、玩手遊。 在Gentoo Linux的KDE Plasma桌面用Android-x86虛擬機玩FGO\n概論 # 市面上有很多商業Android模擬器，例如：BlueStacks藍疊、NOX夜神、LDPlayer雷電、MEmu逍遙、Google Play遊戲電腦版等等，花樣很多，不外乎就是能在x86電腦上玩x86或ARM架構的手機遊戲，甚至多開、掛機、鍵盤映射都不是難事。\n對比Windows系統為數眾多的Android模擬器，GNU/Linux系統 (Ubuntu、Fedora、Arch Linux、openSUSE、Gentoo，不包含ChromeOS) 的方案是少的可憐，Windows的著名Android模擬器多半沒有推出Linux版本。早期Linux只有「Genymotion」和「Android Studio」能用，而這二者基本是給開發人員用的，難以用來玩遊戲。\n另外，上面講的那些Windows系統的Android模擬器，即使用Wine依然是無法在Linux執行的。\n","title":"想在電腦跑Android APP？介紹幾個Linux系統「Android手遊模擬器」的解決方案","type":"posts"},{"content":"","date":"2025年6月3日","externalUrl":null,"permalink":"/tags/background-remover/","section":"標籤","summary":"","title":"Background Remover","type":"tags"},{"content":"chaiNNer是一款自由開源的圖片處理軟體，主打工作流式操作，將繁複的圖片處理流程自動化。 chaiNNer最主要的功能是放大圖片。\n示意圖：圖片放大效果，將上圖的圖片放大並修正模糊噪點，成為下圖 示意圖：圖片放大效果，將左圖放大並修復人臉，放大後變成右邊的樣子。 Ivon之前分享過Upscayl這個軟體，就有使用RealESRGAN模型放大圖片的功能了，那麼為什麼要用chaiNNer呢？追求更高的自由度。\n講到工作流的圖片處理軟體，不免會讓人想到ComfyUI吧。是的二者確實有許多相似之處，不過ComfyUI偏重Stable Diffusion圖片生成，而且需要的依賴套件非常多。至於chaiNNer就相對輕量，只提供圖片處理功能。\nchaiNNer的定位不只是圖片放大軟體，而是一個以節點為主的圖片處理工作流程 ，有以下功能：\n可以用來放大動漫圖片，自由選取想要使用的放大模型。可以參考原始圖片修正放大後的顏色。 放大真人圖片的時候可以載入GFPGAN臉部修復模型，強化效果 如果輸入的圖片是像素畫，則放大後不會模糊。 支援放大影片，雖然只是簡單的把影片畫格一張張抽出來放大再拼回去而已。 基本圖像處理，涵蓋降噪、調整色溫、裁切、旋轉、加上文字功能，可以針對個人需求設計一套自動化操作。 偵測邊緣生成遮罩、生成法線貼圖、AI去背、局部重繪（內容感知填色） 相容多種後端，可以使用NCNN或ONNX或PyTorch模型，也可以連接到Stable Diffusion WebUI處理。 本篇文章Ivon示範使用chaiNNer放大圖片，打造類似Upscayl的放大效果，並讓使用者可以根據自己需求做調整。\n1. 系統需求 # 這個軟體支援Linux、Windows、macOS\nchaiNNer需要CUDA，建議使用有Nvidia獨顯的電腦。純用CPU算會很慢。\n單純跑放大圖片模型的話4GB VRAM應該是夠用的，不過如果額外疊其他模型可能就會爆掉。\n部份模型可以用CPU跑，但運算速度就會慢很多。\n2. 安裝chaiNNer # 以Ubuntu為例，先在系統安裝Nvidia驅動與CUDA\n然後到Github下載chaiNNer-linux-x64.zip，解壓縮，點二下chainner啟動程式。\n初次啟動之後會自動安裝好所有Python依賴套件。\n安裝好後還要點右上角，依序下載PyTorch和ONNX的依賴套件。 接著就可以開始建立工作流了，將左邊的方塊拖曳到畫面中央，就會成為一個個節點(node)。chaiNNer的基本概念是從左邊「載入檔案」，然後中間節點處理圖片，最後在最右邊的節點「輸出檔案」。連好工作流之後點選畫面上方播放鍵開始運算。 建立工作流後記得按File → Save存檔，chaiNNer的存檔格式是.chn\n3. 下載模型 # chaiNNer功能繁多，依照需求自行到各大網站下載。通常在Github、Huggingface、OpenModelDB都可以找到這些模型。\nchaiNNer的作者在這個Github儲存庫分享了支援的模型種類。\nchaiNNer沒有限定模型路徑，不過，程式資料都會儲存在程式所在的目錄，下載的模型建議統一放到這裡的models目錄。\n4. 放大圖片工作流 # OpenModelDB有許多用戶訓練的模型分享，效果不一而足，請自行測試。\n動漫圖片 # 工作流參考： 需要的模型：RealESRGAN_x4plus_anime_6B.pth\nRealESRGAN預設會將圖片放大4倍解析度，有放大兼降噪的效果，應該不需要用到降噪模型。\n為了防止圖片放大後產生色偏，有使用顏色修正節點。修正顏色的我使用不吃GPU的簡單Average Color Fix節點。如果想要更好效果試試Wavelet Color Fix節點。\n如果輸入圖片解析度太大，中間可以再插入一個Resize的節點，將圖片裁切後再放大。\n這個工作流會讀取該圖片並輸出到同一個目錄下。如果要批次處理圖片：將Load Image的節點換成Load Images節點，這樣就會變成處理特定目錄下的所有圖片。\n真實圖片 # 工作流參考： 需要的模型：GFPGAN.pth臉部修復模型和4x_NMKD-Siax_200k.pth放大模型。NKMD系列的模型效果都不錯，不會有很重的油畫感。\n流程與放大動漫圖片類似，但是多加了一個臉部修復模型。這個模型會針對圖片中的臉部進行修復，使得圖片放大後不會出現噪點。\n先放大圖片，然後用臉部修復強化，效果比較好。因為臉部放大模型會將整張圖片解析度再次放大，所以最後使用Resize節點調整大小，防止圖片過大。\n5. 放大影片工作流 # 工作流參考： 跟放大圖片流程一樣，使用類似的模型。原理是簡單的把影片畫格一張張抽出來，放大，再拼回去。\n影片格式選MKV，至於輸出FPS還有音軌繼承原始影片，所以把二者節點連在一起。\n6. 圖片去背工作流 # 工作流參考： 需要的模型：u2net.oonx\n使用Remove Background節點之後，圖片會產生遮罩，要連到Alpha Matting切分圖片，再把去背後的圖片存檔。\n如果要搭配圖片放大節點使用的話，建議是先「放大圖片」再跑「去背」流程，不然透明圖層會變成黑色的。\n","date":"2025年6月3日","externalUrl":null,"permalink":"/posts/chainner-gui/","section":"所有文章","summary":"chaiNNer是一款自由開源的圖片處理軟體，主打工作流式操作，將繁複的圖片處理流程自動化。 chaiNNer最主要的功能是放大圖片。\n示意圖：圖片放大效果，將上圖的圖片放大並修正模糊噪點，成為下圖 示意圖：圖片放大效果，將左圖放大並修復人臉，放大後變成右邊的樣子。 Ivon之前分享過Upscayl這個軟體，就有使用RealESRGAN模型放大圖片的功能了，那麼為什麼要用chaiNNer呢？追求更高的自由度。\n講到工作流的圖片處理軟體，不免會讓人想到ComfyUI吧。是的二者確實有許多相似之處，不過ComfyUI偏重Stable Diffusion圖片生成，而且需要的依賴套件非常多。至於chaiNNer就相對輕量，只提供圖片處理功能。\nchaiNNer的定位不只是圖片放大軟體，而是一個以節點為主的圖片處理工作流程 ，有以下功能：\n可以用來放大動漫圖片，自由選取想要使用的放大模型。可以參考原始圖片修正放大後的顏色。 放大真人圖片的時候可以載入GFPGAN臉部修復模型，強化效果 如果輸入的圖片是像素畫，則放大後不會模糊。 支援放大影片，雖然只是簡單的把影片畫格一張張抽出來放大再拼回去而已。 基本圖像處理，涵蓋降噪、調整色溫、裁切、旋轉、加上文字功能，可以針對個人需求設計一套自動化操作。 偵測邊緣生成遮罩、生成法線貼圖、AI去背、局部重繪（內容感知填色） 相容多種後端，可以使用NCNN或ONNX或PyTorch模型，也可以連接到Stable Diffusion WebUI處理。 本篇文章Ivon示範使用chaiNNer放大圖片，打造類似Upscayl的放大效果，並讓使用者可以根據自己需求做調整。\n","title":"chaiNNer：放大圖片、AI降噪、自動去背，開源工作流圖片處理軟體（Linux / Windows / macOS）","type":"posts"},{"content":"","date":"2025年6月3日","externalUrl":null,"permalink":"/tags/image-inpainting/","section":"標籤","summary":"","title":"Image Inpainting","type":"tags"},{"content":"","date":"2025年6月3日","externalUrl":null,"permalink":"/tags/image-upscaling/","section":"標籤","summary":"","title":"Image Upscaling","type":"tags"},{"content":"","date":"2025年6月3日","externalUrl":null,"permalink":"/tags/stable-diffusion-webui/","section":"標籤","summary":"","title":"Stable Diffusion WebUI","type":"tags"},{"content":"最近黨內破事太多了。\n黨性下降了，但這證明了我是自由的！最近一年FB看到太多ragebait的消息了，大概是政治性的議題追蹤太多，只要追蹤對象多了起來，就容易把異溫層——塔綠班和舔共黨的申必言論——也拉進來，完全是在我臉上潑屎，每天看的很不爽，即使是挺白的同溫層看多了也會厭煩。\n唉，等柯文哲主席從黑牢裡面放出來再叫我吧。暫時沒有心力關心黃國昌老師推的每一個法案了，每週讀個黨員週刊過過水就好。\n為了減少鍵政濃度，降低魔佂程度，在FB取消追蹤了許多側翼，包括挺白的小咖，只留民眾黨黨團和感興趣的社會運動家（如陳祺忠）還有核中核的組織（如鬼針草聯隊）。然後重新追蹤了幾個喜歡的二次元粉絲專頁與社團（包括艦隊Colection + FGO + 蔚藍檔案 + 碧藍航線 + 少女與戰車 等等）\n這確實很有效果！幾天下來政治性內容減少了90%以上，然後推送的消息二次元濃度急速上升，擦邊球的養眼色圖比率暴漲80%，還會推送一堆沒追蹤的繪師以及遊戲貼文還有coser奶子。這樣一來體驗就變得很像巴哈場外了！只要不去點政治議題，就幾乎都是在討論二次元或者日常生活，沉浸在美好的幻想世界裡面當日子人。至少我覺得這樣，情緒穩定程度提升了許多。\n把剩下的政治性內容也都退追蹤好了…但是這樣真的好嗎？\n","date":"2025年6月1日","externalUrl":null,"permalink":"/posts/2025060101/","section":"Politics","summary":"最近黨內破事太多了。\n黨性下降了，但這證明了我是自由的！最近一年FB看到太多ragebait的消息了，大概是政治性的議題追蹤太多，只要追蹤對象多了起來，就容易把異溫層——塔綠班和舔共黨的申必言論——也拉進來，完全是在我臉上潑屎，每天看的很不爽，即使是挺白的同溫層看多了也會厭煩。\n唉，等柯文哲主席從黑牢裡面放出來再叫我吧。暫時沒有心力關心黃國昌老師推的每一個法案了，每週讀個黨員週刊過過水就好。\n為了減少鍵政濃度，降低魔佂程度，在FB取消追蹤了許多側翼，包括挺白的小咖，只留民眾黨黨團和感興趣的社會運動家（如陳祺忠）還有核中核的組織（如鬼針草聯隊）。然後重新追蹤了幾個喜歡的二次元粉絲專頁與社團（包括艦隊Colection + FGO + 蔚藍檔案 + 碧藍航線 + 少女與戰車 等等）\n這確實很有效果！幾天下來政治性內容減少了90%以上，然後推送的消息二次元濃度急速上升，擦邊球的養眼色圖比率暴漲80%，還會推送一堆沒追蹤的繪師以及遊戲貼文還有coser奶子。這樣一來體驗就變得很像巴哈場外了！只要不去點政治議題，就幾乎都是在討論二次元或者日常生活，沉浸在美好的幻想世界裡面當日子人。至少我覺得這樣，情緒穩定程度提升了許多。\n把剩下的政治性內容也都退追蹤好了…但是這樣真的好嗎？\n","title":"黨性下降了，不太想當小草了","type":"politic"},{"content":"Running Waydroid on Linux X11 desktop using nested Weston seesion.\nWaydroid可以讓我們在Linux系統跑Android APP，但不幸的是，這個技術需要用到Wayland協定的桌面。如何確認自己的桌面是Wayland還是X11？使用指令echo $XDG_SESSION_TYPE檢視。\n有種種原因你可能無法使用Wayland：\n有些Linux發行版對Wayland支援度不佳，譬如Linux Mint 24.04、Ubuntu 24.04、Debian 12，仍在使用X11協定（X.org）的桌面。 你使用的桌面不是GNOME、KDE Plasma，而是XFCE、LXQT、Cinammon、i3wm這類的，而他們對Wayland支援度不佳 你認為Wayland沒有X11穩定，無法放棄X11。 非Wayland協定的桌面，會連啟動都不能啟動Waydroid。這個時候我們有一個辦法解決這個問題，那就是啟動巢狀(nested)的Wayland工作階段，在X11桌面開一個小型Wayland合成器的視窗，專門用來跑Waydroid就行啦！以X11當作後端來顯示Wayland合成器，連GPU加速也吃得到喔！\n示意圖：Waydroid執行於KDE Plasma X11工作階段，你看到中間那個xeyes了吧。不需要進入KDE Plasma Wayland工作階段也可以操作Waydroid裡面的APP。 實際用起來會像是這個樣子 本篇文章Ivon將討論如何在X11協定的桌面啟動Waydroid，並設定一鍵啟動法。\n1. 可用的巢狀Wayland合成器方案 # 巢狀Wayland合成器的方案有「Weston」和「Cage」。\nCage似乎比Weston難以操作，它沒辦法用指定的視窗大小啟動。因為Waydroid目前不能動態變更解析度，假若一開始啟動的視窗解析度較小，視窗放大後Waydroid畫面不會跟著放大，反之則會被切半。\n我有注意到這個專案：SteamOS-Waydroid-Installer的作者採用了Cage來啟動Waydroid，並且能夠全螢幕。不過這樣做的先決條件是合成器必須支援wlroots標準，才能用wlr-randr控制全螢幕解析度。SteamOS 3.0的Big Picture Mode是跑在X11，搭配一個迷你Wayland工作階段Gamescope進入遊戲的。它這個操作僅適用Steam Gamescope，不能用在GNOME Mutter和KDE Plasma Kwin。\n所以就用Weston吧，當你啟動Weston之後會進入一個獨立的Wayland桌面，只要在裡面的終端機啟動Waydroid，它就會認為自己跑在Wayland環境。\n此外Weston具有定義啟動時視窗大小，以及自動啟動特定應用程式的能力。將二者組合在一起，再手動新增Desktop Entry，就能做到點個按鈕一鍵啟動Weston ＋ Waydroid的操作。\n2. 初始化Waydroid # 即使沒法顯示Waydroid畫面，也可以事先把它裝好再來操作。\n參見Ubuntu安裝Waydroid。只要下載好系統映像檔就夠了，先不要進入Android畫面。\n3. 手動啟動Weston + Waydroid # 安裝Weston套件 sudo apt install weston 輸入指令啟動Weston weston 此時會跳出一個Weston視窗，把它最大化 在Weston的視窗裡面，點選畫面左上角，開啟Weston終端機。 輸入指令啟動Waydroid。這樣應該就會顯示Android桌面了。\nwaydroid show-full-ui 下面我們將把這個過程自動化。\n4. 一鍵啟動Weston + Waydroid # 就在Ivon想分享手動設定Weston ＋ Waydroid的啟動程序的時候，發現Github已經有人寫好自動指令稿能直接用了。\n1999AZZAR設計的use-waydroid-on-x11指令稿會自動安裝好Waydroid，修改Weston設定檔，以及新增Dekstop Entry。\n執行以下指令安裝： curl -sSL https://raw.githubusercontent.com/1999AZZAR/use-waydroid-on-x11/master/install.sh | sudo bash 這個指令稿是專為APT套件管理器的發行版寫的，可能無法適用其他Linux發行版。你需要參考作者的Github指示手動安裝對應的設定檔。\n這個作者似乎漏了一個東西，Weston預設啟動的時候不會以最大化視窗開啟，這會導致Waydroid的畫面被切掉。因此需要編輯Weston設定檔：\nvim ~/.config/weston.ini 加入以下內容，設定Weson解析度為1920x1080（依照具體顯示器數值而定）讓視窗能夠自動最大化。 [output] name=X1 mode=1920x1080 如此一來，點選應用程式列表的Weston Session圖示，就會自動啟動Weston視窗並開啟Waydroid了。 依照指令稿作者設計的邏輯，在你關閉Weston視窗之後，Waydroid也會跟著「關機」。這點務必注意。\n我注意到有時候重新調整Weston視窗大小會導致Waydroid崩潰？這時請用以下指令強制重新啟動Waydroid：\nsudo systemctl restart waydroid-container 5. 無法解決的問題 # 因為Waydroid是針對Wayland開發的，透過Weston在X11桌面間接執行Waydroid會造成一些問題：\n無法在Linux與Android之間共享剪貼簿，即使安裝wl-clipboard、xclip、pyclip也無效。 不可點選桌面的Waydroid圖示啟動APP，只能在Weston裡面使用。 不能將Android APP視窗化，並列懸浮操作。 參考資料 # Waydroid Installation and Usage Guide for X11 by 1999AZZAR - Github ","date":"2025年6月1日","externalUrl":null,"permalink":"/posts/run-waydroid-on-x11-desktop/","section":"所有文章","summary":"Running Waydroid on Linux X11 desktop using nested Weston seesion.\nWaydroid可以讓我們在Linux系統跑Android APP，但不幸的是，這個技術需要用到Wayland協定的桌面。如何確認自己的桌面是Wayland還是X11？使用指令echo $XDG_SESSION_TYPE檢視。\n有種種原因你可能無法使用Wayland：\n有些Linux發行版對Wayland支援度不佳，譬如Linux Mint 24.04、Ubuntu 24.04、Debian 12，仍在使用X11協定（X.org）的桌面。 你使用的桌面不是GNOME、KDE Plasma，而是XFCE、LXQT、Cinammon、i3wm這類的，而他們對Wayland支援度不佳 你認為Wayland沒有X11穩定，無法放棄X11。 非Wayland協定的桌面，會連啟動都不能啟動Waydroid。這個時候我們有一個辦法解決這個問題，那就是啟動巢狀(nested)的Wayland工作階段，在X11桌面開一個小型Wayland合成器的視窗，專門用來跑Waydroid就行啦！以X11當作後端來顯示Wayland合成器，連GPU加速也吃得到喔！\n示意圖：Waydroid執行於KDE Plasma X11工作階段，你看到中間那個xeyes了吧。不需要進入KDE Plasma Wayland工作階段也可以操作Waydroid裡面的APP。 ","title":"在Linux X11桌面用Weston啟動Waydroid，不依賴Wayland協定桌面","type":"posts"},{"content":"有一段時間我很喜歡看惡俗維基(Esu Wiki)，就當小說看，上面記載了中國網路上的奇人異事，裡面的內容一言難盡，要比喻的話就是抽象程度100倍的霸主解密類型文章吧，巴哈小屋的唐史官一擊沉帖寫的系列文真的很有趣。\n再看看惡俗維基，可知道網路上的「怪人」「網哲」是全世界共有的現象。\n順帶一提台灣也有網哲混百度貼吧，然後被記載在惡俗維基上面的。\n惡俗維基成立時間應該有十年多了，很多文章不是用中立的語氣寫的，比較像是在網路霸凌，或者說是一群有病的人在狗咬狗吧，因為惡俗圈本身也不是什麼好東西，他們以前跟東方Project圈混在一起，拉低了整體名聲。\n隨便找的惡俗維基備份頁面，高雅人士會用極其諷刺的語調撰寫被害者生平： 中國網民似乎不喜歡提到惡俗，有時候會講「我草↓↑啊！」用聲調來代替惡俗的發音。惡俗維基裡面充滿了惡劣又好笑的黑話，像是什麼「基岩級硬漢」「真人快打」「毫無筍絲」「迫害加速　～ persecute drive」等等。 惡俗人士通常會「出道」他人，公開全家戶籍和身份證字號以示警惕。似乎李贛的狗粉絲也會善用「開盒」他人的技術來網暴他人，用盒武器形成盒威懾。此一行為也被冲浪TV的人繼承。\n據我觀察許多惡俗維基「巨星」的家境普遍都有問題，連帶影響到他們的精神狀態，所以才會在網路上到處魔怔吧。這些人雖然可憐但也必有可恨之處，譬如「獨人13」和「陳乾」和「孟馳」，他們會在網路上到處黑屁，毫無廉恥心，被全家出道依然高強度活躍，因此就會被高雅人士紀錄下事蹟受眾人嘲笑。縱然裡面有些人整天強調自己愛國，有一批粉絲因為愛國心就簇擁著他們，但仍被高雅人士當作笑話看待。\n可惜，惡俗維基逐漸從一個記載中國網路奇人異事，到變成鍵政魔怔人入侵的地方。惡俗維基的友站「支納維基」膽大包天，連習包子女兒的資料都敢刊登上去，沒幾年就引來趙家人關注，讓整個事情升級為政治案件，黑皮加大辦案力度，相關網站一併被迫關站了。\n「惡俗維基」案牛騰宇精神失常　疑獄中受酷刑 - 自由亞洲電台\n黑皮抓到了一個頂罪的少年，現在正在監獄裡面被電牛子。惡俗維基的管理員早已逃之夭夭，一個跑到加拿大一個跑到雲南！\n關站連帶造成了惡俗維基許多史料損失，讓我們為其默哀一普朗克時間。至今找不到完整備份，雖然有一些自稱惡俗維基的復辟，故事也少了很多，浪人新聞官網備份的惡俗Wiki https://esu.lol 可能是最完整的來源。還有一個叫做「反惡俗狗維基」的網站，說要記載惡俗人士的惡行，結果自己反過來也在開盒人家，難道這就是永劫回歸！？\n可能只能到Internet Archive碰碰運氣。\n","date":"2025年5月31日","externalUrl":null,"permalink":"/posts/stories-on-esu-wiki/","section":"Politics","summary":"有一段時間我很喜歡看惡俗維基(Esu Wiki)，就當小說看，上面記載了中國網路上的奇人異事，裡面的內容一言難盡，要比喻的話就是抽象程度100倍的霸主解密類型文章吧，巴哈小屋的唐史官一擊沉帖寫的系列文真的很有趣。\n再看看惡俗維基，可知道網路上的「怪人」「網哲」是全世界共有的現象。\n順帶一提台灣也有網哲混百度貼吧，然後被記載在惡俗維基上面的。\n惡俗維基成立時間應該有十年多了，很多文章不是用中立的語氣寫的，比較像是在網路霸凌，或者說是一群有病的人在狗咬狗吧，因為惡俗圈本身也不是什麼好東西，他們以前跟東方Project圈混在一起，拉低了整體名聲。\n隨便找的惡俗維基備份頁面，高雅人士會用極其諷刺的語調撰寫被害者生平： 中國網民似乎不喜歡提到惡俗，有時候會講「我草↓↑啊！」用聲調來代替惡俗的發音。惡俗維基裡面充滿了惡劣又好笑的黑話，像是什麼「基岩級硬漢」「真人快打」「毫無筍絲」「迫害加速　～ persecute drive」等等。 惡俗人士通常會「出道」他人，公開全家戶籍和身份證字號以示警惕。似乎李贛的狗粉絲也會善用「開盒」他人的技術來網暴他人，用盒武器形成盒威懾。此一行為也被冲浪TV的人繼承。\n據我觀察許多惡俗維基「巨星」的家境普遍都有問題，連帶影響到他們的精神狀態，所以才會在網路上到處魔怔吧。這些人雖然可憐但也必有可恨之處，譬如「獨人13」和「陳乾」和「孟馳」，他們會在網路上到處黑屁，毫無廉恥心，被全家出道依然高強度活躍，因此就會被高雅人士紀錄下事蹟受眾人嘲笑。縱然裡面有些人整天強調自己愛國，有一批粉絲因為愛國心就簇擁著他們，但仍被高雅人士當作笑話看待。\n","title":"惡俗維基雖然惡俗，但當小說看是真趣味，關站真可惜，備份何處尋？","type":"politic"},{"content":"身為《艦隊Collection》十年老玩家，是名柱島泊地的中手提督，被餵屎那麼久，對這遊戲的怨氣也有不少，可還是繼續玩下去的，畢竟是死忠的。這些年間，見證了許多玩家社群中的黑粉行為，從日本、中國到台灣，甚至香港都有。 經典名言\n艦隊Collection的黑料蠻多的，缺點多不勝數，營運爛是事實，對玩家的抗議蠻不在乎也是真的，遊戲製作人田中謙介把C2官推當個人帳號用，看你不爽就封鎖。遊戲很農，每次活動超級難，悲壯感滿滿，還要擔心沈船（這遊戲最硬核的地方：跟其他遊戲不一樣，角色被打死之後就真的死了，不會再回來）。線下活動用心辦，動畫隨便做，遊戲機制改進牛步是真的。\n以上種種，常常有人指出問題，有時候還會長篇大論認為這個IP是不是沒救了，譬如：\n【討論】田中是如何作繭自縛的 - 巴哈姆特 我覺得只要是合理的評論，都還能接受。常常有的觀點我是邊看邊苦笑。\n不過找到一個小點就隨便亂黑的艦收黑就很不夠意思了。艦隊Collection中文圈有許多「田中飛母」的梗，這多半是帶著搞笑性質的meme，但有些人是真的變成黑粉，瞎雞巴亂黑。比如這些文章：\n【動畫】史無前例的問題作《艦これ：いつかあの海で》 【解說】『艦隊收藏』走下坡的原因 艦C信者「最近的艦C民度很好」 這位巴哈小屋作者的恨意不知道是有多深www 寫了一堆這類文章，已經到廚的地步了，加油添醋的很多，像是評論二期動畫的文章認為田中刻意安排自己中意的聲優，有種靠關係的感覺。還有其他多篇評論艦隊Collection遊戲的事件，把日本匿名板的艦豚極端言論抓出來大肆批鬥，然後專門為《碧藍航線》講話，挑撥兩邊玩家關係。\n可能是看不慣為何一款糞game火爆起來還能撐這麼久（這遊戲2013年剛出來的時候很紅，註冊人數突破300萬，現在變小眾了還有一定人氣）或者是對這遊戲抱有太高期望，被營運整了之後，所以由愛生恨吧！\n這二款遊戲本來就是不同市場取向的遊戲，兩邊玩家應該各玩各的，互相欣賞優點才對。碧藍航線近年來軍事考證不再是重點，只能賣超色的爆乳skin吸引人，對比艦隊Collection的立繪依然維持鄰家女孩風格。喜歡哪種風格就玩哪種，我只能說尊重。\n碧藍航線，沒有必要拉艦隊收藏出來（文長注意） 不得不說，這種中傷等級堪比政治抹黑對手呀！春秋筆法好像八卦雜誌。在他小屋留言的用戶大概不在意真相，只是把田中飛母的恨意無限放大罷了，不禁讓我想到這篇2014年的遠古奇文：\n硬派提督對《艦隊收藏》的意見書 令人想吐槽的諸多設定 ㄜ\u0026hellip;好吧，我好像沒資格說人家就是了。因為我也寫過這類炒作文章：\n【艦これ】海倫娜風波，為什麼要逼迫外國公司接受玩家提議？ 所幸針對這種莫名的艦黑，還有巴哈用戶專門跳出來以正視聽，感恩。\n關於艦收黑大佬-orz750201的看法 想看更多C2機關黑料還有田中在日本的「愛稱」的，這個日文網站整理的很詳細：\n艦隊これくしょん 艦これ愚痴wiki 管理人製作表格分門別類，詳細列出了C2機關的豐功偉業，根本是惡俗維基的等級XDD。不過內容不見得中立就是了，畢竟是匿名網友編輯的。\n有時候對事情的恨意，足以讓人做出線下犯罪的壯舉，譬如影射田中逼良為娼，經營風俗店的年度硬漢：\n同人誌內容酸田中結果被告，判決出爐了，賠償470萬日圓 那些黑粉們就只能在網上打打嘴炮，或者像中國人一樣看立繪不爽就DDOS遊戲伺服器，不然就出征繪師：\n2024年新船列星頓畫師 麻宮騎亞遭NGA用戶出征 2020年網路有人連署請田中不要再委託A士畫艦娘 講到中國，艦隊Collection在中國被打壓的蠻嚴重的，艦隊Collection在台灣是小眾，在中國還要面對觀感問題。\n相比營運曾經發文關心台灣繪師地震後的情況，田中對日本海外玩家幾乎都是不聞不問的態度。\n艦C官推 發文關心台灣繪師Zeco與A士地震後的情況 中國熱心玩家還是很多的，Twitter常常有活動首殺的消息，很多都中國玩家，NGA和百度貼吧攻略也很多人在寫，中文Wiki資訊都還有更新，他們真的很有愛。\n我很感恩有這些人存在\u0026hellip;但太狂熱也不好，記得看過最誇張的行為是，NGA曾有一群玩家自我意識過於高漲，認為遊戲需要改革，聯名搞公車上書瘋狂寄信給營運XDD 結果當然是毫無回應。\n雖然有一票死士撐著，他們似乎不能有太多發言權，也無力阻止中國玩家任意出征的行為。 這是一款硬漢玩的遊戲\n其他還有來自上層申必力量的打壓，Bilibili會禁止投稿艦隊Collection標題的影片，知乎話題會被莫名置頂 警钟：72年了，法西斯从未远去 這種文章\u0026hellip;\u0026hellip;我尋思你國不就是最大的社會主義法西斯國家嗎？中特社的共產主義皮套要玩到什麼時候？還總愛利用刪帖控評的優勢對文藝作品指點江山，宣傳主旋律。所幸自由派雲集的知乎用戶還是明眼的，下面評論陰陽怪氣一堆。\n話說回來，看看歐美圈玩家雖然也有批評艦隊Collection立繪的時候，譬如2018年資深玩家Death Usagi評論しばふ畫的Intrepid讓他活動打不下去，雖然還是打完了，但好像沒那麼暴力就是了。也有可能是玩家太少了燒不起來XD 不然要是有Minecraft熱度的遊戲，Reddit鄉民大概能罵一整天。歐美圈的這種搞事人比較少見。就算Twitter拆包大佬Tibi被C2營運警告後也沒有做出報復行為。譬如這篇：NightStart@FlatIsNice，他曾經拆包到從JavaScript程式碼反推活動解謎機制，已經是作弊了吧喂，果然對付屑營運就得用更狠的招數。但是總體來說，歐美圈的玩家還沒有亞洲人那麼瘋狂的攻擊行為。\n總之，見證過這些黑粉迷惑行為之後，我只能說\u0026hellip;這些人真閒。我大概也是玩這遊戲太狂熱了，才去關注這麼多八卦，不如拿去研究歷史和看相關艦娘同人作品要好～\n","date":"2025年5月28日","externalUrl":null,"permalink":"/posts/kantai-collection-haters/","section":"Kantai-Collections","summary":"身為《艦隊Collection》十年老玩家，是名柱島泊地的中手提督，被餵屎那麼久，對這遊戲的怨氣也有不少，可還是繼續玩下去的，畢竟是死忠的。這些年間，見證了許多玩家社群中的黑粉行為，從日本、中國到台灣，甚至香港都有。 經典名言\n艦隊Collection的黑料蠻多的，缺點多不勝數，營運爛是事實，對玩家的抗議蠻不在乎也是真的，遊戲製作人田中謙介把C2官推當個人帳號用，看你不爽就封鎖。遊戲很農，每次活動超級難，悲壯感滿滿，還要擔心沈船（這遊戲最硬核的地方：跟其他遊戲不一樣，角色被打死之後就真的死了，不會再回來）。線下活動用心辦，動畫隨便做，遊戲機制改進牛步是真的。\n以上種種，常常有人指出問題，有時候還會長篇大論認為這個IP是不是沒救了，譬如：\n【討論】田中是如何作繭自縛的 - 巴哈姆特 我覺得只要是合理的評論，都還能接受。常常有的觀點我是邊看邊苦笑。\n不過找到一個小點就隨便亂黑的艦收黑就很不夠意思了。艦隊Collection中文圈有許多「田中飛母」的梗，這多半是帶著搞笑性質的meme，但有些人是真的變成黑粉，瞎雞巴亂黑。比如這些文章：\n【動畫】史無前例的問題作《艦これ：いつかあの海で》 【解說】『艦隊收藏』走下坡的原因 艦C信者「最近的艦C民度很好」 這位巴哈小屋作者的恨意不知道是有多深www 寫了一堆這類文章，已經到廚的地步了，加油添醋的很多，像是評論二期動畫的文章認為田中刻意安排自己中意的聲優，有種靠關係的感覺。還有其他多篇評論艦隊Collection遊戲的事件，把日本匿名板的艦豚極端言論抓出來大肆批鬥，然後專門為《碧藍航線》講話，挑撥兩邊玩家關係。\n","title":"艦收黑粉存在很久了，對田中無止盡的恨意，玩艦隊Collection可以被批評說支持法西斯","type":"kantai-collection"},{"content":"Wine是讓Windows exe可以在Linux執行的轉譯程式。過去，都要透過APT安裝到Linux系統才可以使用。這樣做有個缺點，就是Linux發行版套件庫收的Wine套件可能參差不齊，特定發行版可能無法下載到最新版的Wine。\n相關文章：Linux Wine指令教學 在Steam Proton與Bottles這類工具出現後，我們可以發現，Wine其實不那麼依賴Linux系統的套件。它完全是能夠獨立執行的，關在容器裡也是可以的。\n有人把Wine打包成Flatpak版本了，確保Wine可以安裝在大多數Linux發行版，不用依賴原生套件。 關在容器裡面執行也有好處，這能夠確保Wine生成的WINEPREFIX假C槽位被隔離在自身的目錄裡面，而不會任意讀取Linux全部的目錄。但相對的，以Flatpak版本的Wine所安裝的exe程式，與Linux桌面環境的整合度就不會那麼好，僅適合用來執行單一用途的程式。\n老實說：這個版本的Wine意義不大，既然都要容器化了，不如使用Bottles或者Steam Proton，有圖形化界面比較好操作，還能任意切換Wine版本。\n1. 安裝Flatpak版Wine # Flatpak版的Wine內建Gecko、Winetricks、DXVK。提供32位元x86函式庫。\nProtontricks（修改Steam Proton環境的工具）使用的Wine並不是這個版本，所以兩者不能互通。\n安裝Flatpak\n之後再從Flathub安裝Wine，選取Stable分支。Flatpak版的Wine目前並非Wine開發者維護，有問題請到Github詢問。\nflatpak install flathub org.winehq.Wine Flatpak的Wine啟動指令都要加上flatpak run，因此flatpak run --command=wine org.winehq.Wine等於wine指令，指令的參數加在最後面。 flatpak run --command=wine org.winehq.Wine --version 所以，要安裝exe，就是如此安裝： flatpak run --command=wine org.winehq.Wine \u0026lt;exe路徑\u0026gt; Linux系統管理員的右鍵選單也可以用Wine開啟exe。 Flatpak版所有的WINEPREFIX都會儲存在~/.var/app/org.winehq.Wine/data/目錄。這裡可以建立多個WINEPREFIX，譬如：\nflatpak run --command=wine --env=WINEPREFIX=/home/user/.var/app/org.winehq.Wine/data/wine2 org.winehq.Wine winecfg Flatpak版Wine如果無法存取特定目錄，就用指令開放讀取： flatpak override --filesystem=/home/user/Public org.winehq.Wine 2. 新增Wine桌面捷徑 # 可能是Flatpak版的技術限制，Wine安裝的exe圖示無法顯示在Linux桌面的應用程式列表，需要手動新增Desktop Entry。例如，新增Notepad++的捷徑： vim ~/.local/share/applications/notepadplusplus.desktop 內容為執行exe的指令，路徑填寫假C槽，圖示從Wine的目錄取用 [Desktop Entry] Categories=Application; Exec=flatpak run --command=wine org.winehq.Wine \u0026#34;C:\\Program Files\\Notepad++\\notepad++.exe\u0026#34; Icon=/home/user/.var/app/org.winehq.Wine/data/icons/hicolor/256x256/apps/7ABC_notepad++.0.png Name=Notepad++ Type=Application 3. 使用Winetricks安裝中文字型 # 我發現Wine 10.0預設無法顯示中文字型，所以要手動裝cjkfonts。\nFlatpak版Wine啟動Winetricks的指令為：flatpak run --command=winetricks org.winehq.Wine\n選取目前容器，安裝字型，安裝cjkfonts。 如果Winetricks版本太老，參考這個Github issue自行下載新版指令稿套用。\n3. Flatpak版Wine在ARM轉譯x86架構exe的可能性？ # ARM架構的Linux要執行Wine一直是讓人頭痛的問題，究其原因在於很多exe只支援x86架構，在執行之前需要串Box64，將x86架構的Wine轉譯為ARM指令才可以泡。\n那麼套用到Flatpak呢？如果在ARM架構的Linux裝置安裝Flatpak版的Wine，預設會下載到ARM架構的Wine，它只能夠執行ARM架構的Windows exe。理論上是這樣，但是撰文當下，Flatpak版Wine連ARM架構的build都沒有！\n目前不知道如何在Flatpak裡面使用Box64。只知道Flatpak會在條件允許的情況下，自動調用qemu-user來轉譯x86指令，此方法雖然可行但是效率低下。\n相關文章：Flatpak跨架構，arm64模擬異質架構x86_64程式 以樹莓派Debian 12為例，執行以下指令，強制在ARM架構的系統安裝x86架構的Wine flatpak install --arch=x86_64 org.winehq.Wine 安裝QEMU套件 sudo apt install qemu-user-static qemu-system-x86_64 qemu-system-aarch64 嘗試執行Wine，我測試的時候確認可以顯示winecfg視窗，但是更複雜的exe不保證能正常執行。 flatpak --verbose run --command=winecfg --arch=x86_64 org.winehq.Wine ","date":"2025年5月28日","externalUrl":null,"permalink":"/posts/flatpak-wine/","section":"所有文章","summary":"Wine是讓Windows exe可以在Linux執行的轉譯程式。過去，都要透過APT安裝到Linux系統才可以使用。這樣做有個缺點，就是Linux發行版套件庫收的Wine套件可能參差不齊，特定發行版可能無法下載到最新版的Wine。\n相關文章：Linux Wine指令教學 在Steam Proton與Bottles這類工具出現後，我們可以發現，Wine其實不那麼依賴Linux系統的套件。它完全是能夠獨立執行的，關在容器裡也是可以的。\n有人把Wine打包成Flatpak版本了，確保Wine可以安裝在大多數Linux發行版，不用依賴原生套件。 關在容器裡面執行也有好處，這能夠確保Wine生成的WINEPREFIX假C槽位被隔離在自身的目錄裡面，而不會任意讀取Linux全部的目錄。但相對的，以Flatpak版本的Wine所安裝的exe程式，與Linux桌面環境的整合度就不會那麼好，僅適合用來執行單一用途的程式。\n老實說：這個版本的Wine意義不大，既然都要容器化了，不如使用Bottles或者Steam Proton，有圖形化界面比較好操作，還能任意切換Wine版本。\n1. 安裝Flatpak版Wine # Flatpak版的Wine內建Gecko、Winetricks、DXVK。提供32位元x86函式庫。\n","title":"將Wine容器化，利用Flatpak版Wine在Linux執行Windows exe","type":"posts"},{"content":"virglrenderer（VirGL）是Linux的半虛擬化技術，可以配合QEMU/KVM的「virtio-gpu」，讓虛擬機獲得3D加速而不用直通GPU，也不用搞GPU虛擬化。\n這個功能有點類似VMware的3D圖形加速，或者是Virtualbox的VBoxSVGA的3D加速。\n以下是Collabora公司繪製的原理圖： 用途？這樣一來方便開發者在虛擬機測試桌面環境特效，加強虛擬機內的遊戲算繪能力與影片解碼速度，或者給ffmpeg影片編碼加速，甚至能搭配VA-API使用。\n即使是在headless的Linux環境，virglrenderer照樣可以給虛擬機啟用3D加速。請參見Andorid Termux還有Windows WSL的例子。\n1. virglrenderer運作條件 # 目前virglrenderer版本1.0.0，QEMU版本8.2.2，Mesa版本24.0.5\n宿主機系統：建議是GNU/Linux系統。不過專為macOS設計的UTM也有提供virglrenderer。 宿主機顯示卡：最好使用Intel或AMD，搭配開源Mesa驅動。Nividia閉源驅動需要另外處理，後面會說明。 顯示協定：建議宿主機與虛擬機都使用X11，Wayland支援度尚未成熟。 圖形API支援：virglrenderer主要支援的是OpenGL，Vulkan支援尚屬於實驗階段。需要在virgl_test_server手動啟用Venus選項。 虛擬機軟體：QEMU。根據QEMU官方文件，virtio-gpu的虛擬顯示卡有多種後端可以選用，virtio-gpu-gl-pci或virtio-gpu-gl型號表示使用virglrenderer當作後端。 虛擬機系統：得是Linux才能啟用virglrenderer，大部分GNU/Linux系統的核心和Mesa應該都包含VirGL支援，Android-x86也有VirGL。FreeBSD和ChromeOS支援度未知。Windows和macOS不支援virglrenderer。目前有一個針對Windows虛擬機VirGL驅動的PR，但是處於早期階段。 因為virglrenderer是半虛擬化技術，可能無法發揮GPU全速，會有許多性能損失。 2. 在宿主機安裝virglrenderer套件 # 大部分Linux發行版都有收virglrenderer套件。不過若要體驗最新功能你得參考官方文件手動編譯新版。\n以Ubuntu 24.04為例，先設定Virt Manager與QEMU/KVM\n再安裝virglrenderer套件：\nsudo apt install libvirglrenderer-dev libvirglrenderer1 virgl-server 隨後應該會隨Virt Manager自己啟動，不需要跑特別指令。\n需要跑自訂指令參數的話，使用virgl_server指令啟動伺服器，例如加入Vulkan支援：\nvirgl_test_server --use-egl-surfaceless --venus \u0026amp; 3. Virt Manager虛擬機啟用VirGL # 此處段落適用Intel與AMD顯示卡用戶，Nvidia閉源驅動用戶請看下一段。\n開啟Virt Manager，新增任意Linux虛擬機。\n點選編輯硬體，在顯示卡部份選取virtio，並勾選3D加速 然後在SPICE協定部份，監聽類型勾選無，再勾選啟用OpenGL 開機之後，虛擬機系統應會自動偵測到virglrenderer並啟用3D加速\n在虛擬機執行dmesg | grep drm指令查看virgl是否有載入 因為VirGL預設僅支援OpenGL，所以要用OpenGL工具來測試。使用glxinfo | grep OpenGL指令可得知，這裡使用了virgl，而非純CPU算繪的llvmpipe。 4. Virt Manager虛擬機搭配Nvidia顯示卡啟用VirGL # 測試當下Nvidia閉源驅動版本575，QEMU版本8.2.2。Virt Manager預設是以Root啟動QEMU的，不知道為什麼Nvidia顯示卡不能直接在Virt Manager的界面啟用VirGL，可能是AppArmor引起的bug。\nNvidia的VirGL似乎更容易造成虛擬機破圖。\n點選Virt Manager的檔案 → 新增連接，改成連接到QEMU使用者工作階段 在這裡新增虛擬機，使用UEFI開機。\n編輯虛擬機XML，去掉所有\u0026lt;video\u0026gt;\u0026lt;/video\u0026gt;與\u0026lt;graphics\u0026gt;\u0026lt;/graphics\u0026gt;的區塊，改填入以下內容。/dev/dri/renderD128可以嘗試替換成/dev/dri/renderD129\n\u0026lt;video\u0026gt; \u0026lt;model type=\u0026#34;virtio\u0026#34; heads=\u0026#34;1\u0026#34; primary=\u0026#34;yes\u0026#34;\u0026gt; \u0026lt;acceleration accel3d=\u0026#34;yes\u0026#34;/\u0026gt; \u0026lt;/model\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x01\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/video\u0026gt; \u0026lt;graphics type=\u0026#34;spice\u0026#34; autoport=\u0026#34;yes\u0026#34;\u0026gt; \u0026lt;listen type=\u0026#34;address\u0026#34;/\u0026gt; \u0026lt;/graphics\u0026gt; \u0026lt;graphics type=\u0026#34;egl-headless\u0026#34;\u0026gt; \u0026lt;gl rendernode=\u0026#34;/dev/dri/renderD128\u0026#34;/\u0026gt; \u0026lt;/graphics\u0026gt; 啟動虛擬機。在虛擬機裡面使用glxinfo | grep OpenGL指令確認VirGL是否有成功啟用。 5. 測試VirGL效能 # 虛擬機沒有GPU加速的情況下會使用llvmpipe算繪。現在有了virglrenderer，虛擬機內部的軟體應該會自動使用virglrenderer算繪。不過有些桌面環境即使啟用virgl可能還是會lag。\n手動指定virgl或virpipe驅動來啟動程式\nGALLIUM_DRIVER=virgl firefox 當虛擬機程式在使用3D算繪的時候，宿主機可以觀察到佔用（此圖為intel_gpu_top所顯示） 我們可以用glmark2跑分軟體，比較虛擬機內llvmpipe與VirGL的效能。成績通常是VirGL比較好，但如果再跟宿主機的glmark2成績比較的話就會差距非常大，在此能了解到VirGL性能損失多嚴重。\n# 強制CPU算繪，應該會印出llvmpipe GALLIUM_DRIVER=llvmpipe LIBGL_ALWAYS_SOFTWARE=true glmark2 # 使用VirGL算繪，應該會印出VirGL與宿主機GPU型號 GALLIUM_DRIVER=virgl glmark2 用MPV播放器測試VirGL加速效果，播放高畫質影片解碼效果應當十分明顯，不會出現掉格現象： GALLIUM_DRIVER=virgl mpv --no-config --vo=gpu --gpu-context=x11egl \u0026#34;影片路徑\u0026#34; 參考資料 # VirGL — The Mesa 3D Graphics Library latest documentation Environment Variables - Mesa documentation virtio-gpu - QEMU’s documentation Virtualizing GPU Access - Collabora Some tips on using virtio-gpu and nvidia drivers. - r/VFIO Reddit How to enable VirtIO-GPU Venus on QEMU explained - tm23forest 视频编解码(一)之virtio-gpu环境搭建 by jrglinux CSDN ","date":"2025年5月20日","externalUrl":null,"permalink":"/posts/linux-qemu-virglrenderer/","section":"所有文章","summary":"virglrenderer（VirGL）是Linux的半虛擬化技術，可以配合QEMU/KVM的「virtio-gpu」，讓虛擬機獲得3D加速而不用直通GPU，也不用搞GPU虛擬化。\n這個功能有點類似VMware的3D圖形加速，或者是Virtualbox的VBoxSVGA的3D加速。\n以下是Collabora公司繪製的原理圖： 用途？這樣一來方便開發者在虛擬機測試桌面環境特效，加強虛擬機內的遊戲算繪能力與影片解碼速度，或者給ffmpeg影片編碼加速，甚至能搭配VA-API使用。\n即使是在headless的Linux環境，virglrenderer照樣可以給虛擬機啟用3D加速。請參見Andorid Termux還有Windows WSL的例子。\n1. virglrenderer運作條件 # 目前virglrenderer版本1.0.0，QEMU版本8.2.2，Mesa版本24.0.5\n宿主機系統：建議是GNU/Linux系統。不過專為macOS設計的UTM也有提供virglrenderer。 宿主機顯示卡：最好使用Intel或AMD，搭配開源Mesa驅動。Nividia閉源驅動需要另外處理，後面會說明。 顯示協定：建議宿主機與虛擬機都使用X11，Wayland支援度尚未成熟。 圖形API支援：virglrenderer主要支援的是OpenGL，Vulkan支援尚屬於實驗階段。需要在virgl_test_server手動啟用Venus選項。 虛擬機軟體：QEMU。根據QEMU官方文件，virtio-gpu的虛擬顯示卡有多種後端可以選用，virtio-gpu-gl-pci或virtio-gpu-gl型號表示使用virglrenderer當作後端。 虛擬機系統：得是Linux才能啟用virglrenderer，大部分GNU/Linux系統的核心和Mesa應該都包含VirGL支援，Android-x86也有VirGL。FreeBSD和ChromeOS支援度未知。Windows和macOS不支援virglrenderer。目前有一個針對Windows虛擬機VirGL驅動的PR，但是處於早期階段。 因為virglrenderer是半虛擬化技術，可能無法發揮GPU全速，會有許多性能損失。 2. 在宿主機安裝virglrenderer套件 # 大部分Linux發行版都有收virglrenderer套件。不過若要體驗最新功能你得參考官方文件手動編譯新版。\n","title":"Linux透過virtio-gpu VirGL給QEMU/KVM虛擬機3D加速，免GPU直通","type":"posts"},{"content":"UTM (Universal Turing Machine) is a full featured system emulator and virtual machine host for iOS and macOS.\n","date":"2025年5月20日","externalUrl":null,"permalink":"/tags/utm/","section":"標籤","summary":"UTM (Universal Turing Machine) is a full featured system emulator and virtual machine host for iOS and macOS.\n","title":"UTM","type":"tags"},{"content":"","date":"2025年5月20日","externalUrl":null,"permalink":"/tags/virtio/","section":"標籤","summary":"","title":"VirtIO","type":"tags"},{"content":"Ivon將分享在Fedora設定Waydroid的過程。\nWaydroid是一款讓你在Fedora電腦跑Android APP的技術。 內建Play商店，支援GPU加速，可以用來玩手機遊戲。 1. 前置條件 # 測試版本：Fedora Workstation 42。本文內容亦適用Fedora Silverblue。\n要使用GPU加速必須使用支援的顯示卡。目前Nvidia最新驅動版本575，Waydroid尚不支援Nvidia顯示卡。只能使用Intel或AMD顯示卡，內顯也可以。\nWaydroid執行所需的binder核心模組，Fedora Linux已經有內建，無須做其他步驟。\nWaydroid執行需要Wayland顯示協定。最新版Fedora提供的桌面套件，不論GNOME還是KDE Plasma預設應該都是使用Wayland了。用指令確認目前是否為Wayland工作階段：echo $XDG_SESSION_TYPE。\n2. 安裝Waydroid # Waydroid已收入官方套件庫，用DNF安裝即可（如果是Fedora Silverblue則是要用rpm-ostree安裝） sudo dnf install waydroid sudo dnf install python3 python3-pip wl-clipboard xclip python-pyclip 在應用程式列表找到Waydroid，開啟初始化面板，第一個網址填入https://ota.waydro.id/system，第二個填入https://ota.waydro.id/vendor，映像檔版本選內建GAPPS的，接著開始下載。下載完成後Waydroid會自己開啟。 Waydroid第一次啟動可能會遇到各種SELinux錯誤，雖然已經安裝了waydroid-selinux套件不過這些訊息不會自己消失。需要開啟sealert界面，依照畫面指示執行指令，新增SELinux模組。 如果覺得問題太多，就將SELinux完全關閉。\n設定Firewalld防火牆規則，允許Waydroid上網 sudo firewall-cmd --zone=trusted --add-interface=waydroid0 --permanent 不過我發現，如果有安裝Docker，Waydroid的網路會與其發生衝突，這時得編輯Waydroid網路設定： sudo vim /usr/lib/waydroid/data/scripts/waydroid-net.sh 找到以下內容，將LXC的NFT停用，才能解決沒網路的問題。 LXC_USE_NFT=\u0026#34;false\u0026#34; 重新啟動Waydroid。有時後要Linux重開機才能重新進入Android。 sudo systemctl restart waydroid-container 3. 安裝Play商店與ARM轉譯器 # Waydroid需要註冊裝置才可以使用Google Play商店。\n還有，許多APP只有提供ARM架構的APK，對x86架構電腦來說，務必安裝ARM轉譯器，才能正常使用這些APP。\n參見：Waydroid使用技巧\n參考資料 # Install Instrutions - Waydroid Docs ","date":"2025年5月18日","externalUrl":null,"permalink":"/posts/fedora-waydroid/","section":"所有文章","summary":"Ivon將分享在Fedora設定Waydroid的過程。\nWaydroid是一款讓你在Fedora電腦跑Android APP的技術。 內建Play商店，支援GPU加速，可以用來玩手機遊戲。 1. 前置條件 # 測試版本：Fedora Workstation 42。本文內容亦適用Fedora Silverblue。\n要使用GPU加速必須使用支援的顯示卡。目前Nvidia最新驅動版本575，Waydroid尚不支援Nvidia顯示卡。只能使用Intel或AMD顯示卡，內顯也可以。\nWaydroid執行所需的binder核心模組，Fedora Linux已經有內建，無須做其他步驟。\nWaydroid執行需要Wayland顯示協定。最新版Fedora提供的桌面套件，不論GNOME還是KDE Plasma預設應該都是使用Wayland了。用指令確認目前是否為Wayland工作階段：echo $XDG_SESSION_TYPE。\n2. 安裝Waydroid # Waydroid已收入官方套件庫，用DNF安裝即可（如果是Fedora Silverblue則是要用rpm-ostree安裝） sudo dnf install waydroid sudo dnf install python3 python3-pip wl-clipboard xclip python-pyclip 在應用程式列表找到Waydroid，開啟初始化面板，第一個網址填入https://ota.waydro.id/system，第二個填入https://ota.waydro.id/vendor，映像檔版本選內建GAPPS的，接著開始下載。下載完成後Waydroid會自己開啟。 ","title":"Fedora跑Android APP ～ 安裝Waydroid容器，解決SELinux問題","type":"posts"},{"content":"","date":"2025年5月18日","externalUrl":null,"permalink":"/tags/fate-grand-order/","section":"標籤","summary":"","title":"Fate Grand Order","type":"tags"},{"content":"2019年加入的御主。\nFate/Go日版好友ID：468,253,199\nFate/Go台版好友ID：100,103,932,011\n","date":"2025年5月18日","externalUrl":null,"permalink":"/categories/fate%E7%B3%BB%E5%88%97/","section":"分類","summary":"2019年加入的御主。\nFate/Go日版好友ID：468,253,199\nFate/Go台版好友ID：100,103,932,011\n","title":"Fate系列","type":"categories"},{"content":"Rayshift.io Translate Fate/Go（靈子轉移翻譯器）為一款FGO劇情翻譯APP，能夠將遊戲裡面的日文字替換為指定語言，解決御主們看不懂最新主線劇情的問題。\n說實在的我日文只有N87程度，FGO劇情有時候是看不懂的，只得按SKIP，現在有了這款翻譯器APP，就可以看懂更多劇情啦。\n就我個人而言，翻譯成英文文本就夠了，畢竟這個語言我比較熟悉。專有名詞的部分多看Fgo Fandom Wiki也能知曉意思為何。\n1. Translate Fate/Go翻譯的內容 # 翻譯的內容包含：主線劇情、限時活動、幕間物語。如果成為贊助者，還可以取得翻譯遊戲介面的語言包。\n以下為安裝Translate Fate/Go之後的效果，皆是日版截圖，並非北美版。 Rayshift就是日文靈子轉移的意思。翻譯來自全球玩家的貢獻，開發者們將翻譯成果放在rayshift.io這個網站上。\n目前翻譯包的語言有：英文、西班牙文、葡萄牙文、印尼文、法文。\n是的，沒有中文翻譯，至少目前官網沒有。大概是玩家缺乏貢獻意願。畢竟FGO台版和中國版大約一兩年之後就會追上日版進度，屆時再來看翻譯補票也就沒什麼。\n裡面英文版翻譯更新最完善，有用到DeepL協助，還有經過社群校稿，因此翻譯內容較為準確，並非單純的機器翻譯。有些舊版劇情則是官方北美版的翻譯移植過來的。目前翻譯內容已經更新到最新的FGO終章了！\n這個APP不是OCR然後即時翻譯螢幕上的文字內容，它是透過在FGO遊戲裡面塞入一組指令稿，直接替換掉遊戲本來的文字。因此原本是日文的對話，就會直接變成英文。\nTranslate Fate/Go的開發者宣稱，此專案已經持續運作了五年以上，都沒有人因為使用此程式而被封帳號。\n當然，如果你覺得動到FGO遊戲檔案會讓你有被封號的風險，那麼就不要用這種侵入性的方案，改用EverTranslator這類的懸浮翻譯APP來翻譯螢幕上的文字吧！\n2. 安裝Translate Fate/Go APP # Rayshift Translate Fate/Go僅支援Android系統。需要Android 7以上版本的裝置。\n到GitHub下載Translate Fate/Go APK。\n因為這個APP需要讀取FGO的在Android/data快取目錄，而因為Android 11以上此目錄的存取方式受限。因此還要安裝Shizuku才能讀取。\n3. 安裝英文翻譯語言包 # 請先裝好FGO日版APP，並且要進入到遊戲主畫面地球儀一次。\n啟動Shizuku服務\n開啟Translate Fate/Go APP，點選關於，改用Shizuku，應該會顯示連線成功 返回主頁面，點選下載英文版語言包。因為是純文字檔案，下載應該很快就完成了。 下載英文翻譯包，之後檔案會完成替換。重開FGO APP，劇情文本就會變成英文了！\n4. 解除安裝翻譯語言包 # 在Translate Fate/Go首頁點選移除解除安裝，然後重開FGO APP。\n如果無效，嘗試在FGO遊戲登入頁面點清除快取。\n","date":"2025年5月18日","externalUrl":null,"permalink":"/posts/rayshift-translate-go/","section":"所有文章","summary":"Rayshift.io Translate Fate/Go（靈子轉移翻譯器）為一款FGO劇情翻譯APP，能夠將遊戲裡面的日文字替換為指定語言，解決御主們看不懂最新主線劇情的問題。\n說實在的我日文只有N87程度，FGO劇情有時候是看不懂的，只得按SKIP，現在有了這款翻譯器APP，就可以看懂更多劇情啦。\n就我個人而言，翻譯成英文文本就夠了，畢竟這個語言我比較熟悉。專有名詞的部分多看Fgo Fandom Wiki也能知曉意思為何。\n1. Translate Fate/Go翻譯的內容 # 翻譯的內容包含：主線劇情、限時活動、幕間物語。如果成為贊助者，還可以取得翻譯遊戲介面的語言包。\n以下為安裝Translate Fate/Go之後的效果，皆是日版截圖，並非北美版。 Rayshift就是日文靈子轉移的意思。翻譯來自全球玩家的貢獻，開發者們將翻譯成果放在rayshift.io這個網站上。\n目前翻譯包的語言有：英文、西班牙文、葡萄牙文、印尼文、法文。\n是的，沒有中文翻譯，至少目前官網沒有。大概是玩家缺乏貢獻意願。畢竟FGO台版和中國版大約一兩年之後就會追上日版進度，屆時再來看翻譯補票也就沒什麼。\n裡面英文版翻譯更新最完善，有用到DeepL協助，還有經過社群校稿，因此翻譯內容較為準確，並非單純的機器翻譯。有些舊版劇情則是官方北美版的翻譯移植過來的。目前翻譯內容已經更新到最新的FGO終章了！\n","title":"FGO日版劇情翻譯APP「Translate Fate/Go」，將遊戲文本自動翻譯為英文","type":"posts"},{"content":"「Shizuku」為Magisk模組Riru作者所開發的一款APP，讓你不需要Root，也不用電腦，存取Android的ADB Shell，達到一些修改系統設定的效果。 1. Shizuku的用途？ # Shizuku本身只是個中介程式，需要有其他APP向Shizuku申請權限才能發揮價值。\n具體應用如下：\nShizuTools搭配Shizuku，可以移除內建APP、降級APP、個別調整APP音量、強制開啟畫中畫模式等等。 Canta搭配Shizuku，移除內建APP。 MiXplorer搭配Shizuku，免Root權限開啟Android/data資料夾。 SecondScreen搭配Shizuku，修改Android螢幕解析度，讓投影到大螢幕的時候不至於出現黑邊。 雹 Hail搭配Shizuku，凍結偷偷在背景執行的APP，節約耗電量。 RootlessJamesDSP搭配Shizuku，設定全域音效等化器。 XtMapper搭配Shizuku，設定按鍵映射。 Mihon搭配Shizuku，自動更新漫畫擴充套件。 F-Droid搭配Shizuku，在背景自動更新APP。 Termux搭配Shizuku的命令行程式Rish，撰寫自動化指令稿。順帶一提，Termux也可以跑ADB Shell。 還有很多很多\u0026hellip;\u0026hellip;Shizuku作者提供了範例程式碼，讓APP開發者可以輕鬆將Shizuku整合進自己的程式。\n2. 安裝Shizuku # Shizuku是為自由軟體，請至Github或Google Play下載。\n3. 手動啟動Shizuku服務 # Shizuku運作需要用到ADB。\nAndroid 11以上版本的手機可以自己給自己無線ADB，只要裝置連上Wifi，就能啟動「ADB無線偵錯」，並與Shizuku內部的ADB配對。推薦沒有Root的手機使用這個方式。\n開啟Shizuku ，點選透過無線偵錯啟動 → 配對 接著按照指示，開啟ADB無線偵錯。 通常你得先到Android系統設定 → 關於手機 → 版本號 → 點五下，啟用開發人員選項\n然後到開發人員選項啟用「無線偵錯」 點進去無線偵錯，點「使用配對碼配對裝置」\nShizuku就會跳出來請求輸入配對碼 回到Shizuku ，點選透過無線偵錯啟動 → 啟動。\n如此一來服務就成功啟動了。Shizuku的服務會一直在背景執行。接著開啟要連線到Shizuku服務的APP即可。\n因為Android系統的限制，沒有Root權限的情況下，Shizuku服務每次重開機後都要手動重新配對並啟動服務。\n4. 開機自動啟動Shizuku # 如果有Root權限的話，可以點Shizuku首頁的「啟動（針對已Root裝置）」的選項，設定開機自動啟動執行。 雖然有Root了還用Shizuku有點脫褲子放屁的感覺，但有些APP就是只能用Shizuku操作，並沒有設計申請Root權限的邏輯。故設定開機自動啟動可以免去手動啟動服務的步驟。\n參考資料 # Shizuku用户手册 Curated list of awesome Android apps making use of Shizuku ","date":"2025年5月18日","externalUrl":null,"permalink":"/posts/android-shizuku/","section":"所有文章","summary":"「Shizuku」為Magisk模組Riru作者所開發的一款APP，讓你不需要Root，也不用電腦，存取Android的ADB Shell，達到一些修改系統設定的效果。 1. Shizuku的用途？ # Shizuku本身只是個中介程式，需要有其他APP向Shizuku申請權限才能發揮價值。\n具體應用如下：\nShizuTools搭配Shizuku，可以移除內建APP、降級APP、個別調整APP音量、強制開啟畫中畫模式等等。 Canta搭配Shizuku，移除內建APP。 MiXplorer搭配Shizuku，免Root權限開啟Android/data資料夾。 SecondScreen搭配Shizuku，修改Android螢幕解析度，讓投影到大螢幕的時候不至於出現黑邊。 雹 Hail搭配Shizuku，凍結偷偷在背景執行的APP，節約耗電量。 RootlessJamesDSP搭配Shizuku，設定全域音效等化器。 XtMapper搭配Shizuku，設定按鍵映射。 Mihon搭配Shizuku，自動更新漫畫擴充套件。 F-Droid搭配Shizuku，在背景自動更新APP。 Termux搭配Shizuku的命令行程式Rish，撰寫自動化指令稿。順帶一提，Termux也可以跑ADB Shell。 還有很多很多……Shizuku作者提供了範例程式碼，讓APP開發者可以輕鬆將Shizuku整合進自己的程式。\n2. 安裝Shizuku # Shizuku是為自由軟體，請至Github或Google Play下載。\n3. 手動啟動Shizuku服務 # Shizuku運作需要用到ADB。\nAndroid 11以上版本的手機可以自己給自己無線ADB，只要裝置連上Wifi，就能啟動「ADB無線偵錯」，並與Shizuku內部的ADB配對。推薦沒有Root的手機使用這個方式。\n開啟Shizuku ，點選透過無線偵錯啟動 → 配對 ","title":"Shizuku教學，免電腦存取ADB Shell的工具，免Root讀取Android/data資料夾","type":"posts"},{"content":"「Chaldea」為一款自由開源的Fate/Grand Order輔助工具APP。 內建許多實用的攻略資訊，包含日版與台版資料，協助玩家施展未來視。例如，使用Chaldea檢視FGO目前以及未來會Pick Up的卡池： Chaldea還有名為Laplace的戰鬥模擬器功能，它使用FGO Wiki搭配FGO的帳號資料，模擬戰鬥結果。我們還可以用Chaldea計算素材搜集效率，整理從者的練級需求，規劃未來成長方向。 這些功能的用法官方文件都有詳細說明。\n要使用戰鬥模擬器與練級規劃的功能，我們必須要讓Chaldea APP讀取FGO帳號的資料，好讓我們可以依照自己帳號的真實狀況進行模擬戰鬥（不然的話你就只能拿FGO Wiki模擬的資料來打了！）。不幸的是，FGO沒有開放第三方API讀取資料，故我們只能使用抓取網路封包（抓包）的暴力方式來取得帳號資料，讓Chaldea解析。\n關於抓包：這是一種灰色地帶的行為，沒有對遊戲方面進行修改，應該不算是作弊。 但是因為有使用到第三方程式，風險自負。\nIvon在下面以 FGO繁中版（台版） 為例，分享抓包過程，將資料匯入到Chaldea做統整。FGO台版設計上跟FGO中國版有許多相似之處，抓包過程也很類似。\n由於FGO台版帳號是跨平台互通的，沒有引繼碼，使用Android或iOS抓包都可以。從目前已知的抓包方式來看，用iOS版抓包可能會比較容易實現。\n1. 下載Chaldea APP # 到官網下載主程式。\nChaldea支援Android、iOS、Linux、Windows、macOS系統，界面會跟著螢幕大小自行縮放。\n2. 抓包FGO帳號資料 # 這裡包含FGO帳號的大部份資訊，不過後面還需要手動準備其他檔案。\nAndroid抓包 (Reqable) # 全程在手機進行，不需要電腦。此處使用Android 15系統操作。\n抓包會用到代理伺服器，由於Android 7以上系統不信任使用者CA憑證，因此手機需要Root權限才可以把代理伺服器的CA憑證安裝到系統！如果手機不能Root，請考慮改用內建Root權限的電腦Android模擬器來抓包。\n下載Android版FGO台版APP\n安裝專有軟體Reqable，舊名HttpCanary-Android\n依照畫面指示，選取獨立設備，然後安裝CA憑證。這裡我選擇用Magisk模組方式刷入安裝，該模組會下載到手機內部儲存空間/Download/Reqable/。 重新啟動手機。\n開啟Reqable，點右下角啟動VPN，開始抓包 開啟FGO遊戲，登入遊戲主畫面才可以離開。 回到Reqable界面，點選搜尋toplogin項目 點進去找到「響應體」，應該會看到e開頭一長串的英數。點右上角儲存響應體，存檔為.txt檔案。檔案會放到手機內部儲存空間/Download/Reqable/目錄。這個就是抓包的資料檔案。 iOS抓包 (Stream) # 全程在手機進行，不需要電腦。此處使用iOS 15操作。\n下載iOS版FGO台版APP\n開啟iOS系統設定 → Safari，將其設定為預設瀏覽器\n下載專有軟體Stream APP\n點選「HTTPS抓包」 依照指示安裝描述檔 開啟iOS系統設定 → 一般 → VPN與裝置管理，安裝描述檔 開啟iOS系統設定 → 一般 → 關於本機 → 憑證信任設定，信任Stream APP生成的憑證。 回到Stream APP首頁，點選「開始抓包」，啟動VPN 開啟FGO APP登入帳號，等到進入遊戲主畫面才可以離開 回到Stream APP，點選「全部請求」，搜尋toplogin項目，點進去 在抓包詳情頁面，點選「響應」→ 「查看響應」，應該會看到一長串e開頭的英數。在這個頁面點選右上角分享，將stream-response.txt儲存到檔案APP。這個就是抓包的資料檔案。 3. 將FGO帳號資料匯入Chaldea # 開啟Chaldea APP，點選右上角帳號設定，新增一個帳號，輸入你FGO帳號的名稱，然後遊戲區服選擇繁中服。這裡的帳號只是Chaldea的用戶設定檔，用於區別多個FGO帳號的資料，不是真的登入FGO帳號。 然後點選首頁的「匯入」 選取抓包的資料檔案 這樣資料就會進來了。在Chaldea查看從者列表的時候，可以只顯示自己擁有的從者 4. 將持有素材數量匯入到Chaldea # 這方面的資料似乎不包含在抓包得到的資料，因此需要手動截圖，餵給Chaldea進行圖片辨識。\n開啟FGO遊戲的個人空間 → 持有道具一覽，可以查看擁有的素材。在這裡一一截圖。 點選首頁的匯入 → 素材截圖解析，上傳素材圖片，待其回傳結果，再點選「更新」寫入。 5. 將從者技能等級匯入到Chaldea # 這方面的資料似乎不包含在抓包得到的資料，因此需要手動截圖，餵給Chaldea進行圖片辨識。\n開啟FGO遊戲的強化 → 從者技能強化，在這裡截圖。 點選首頁的匯入 → 主動技能截圖解析，上傳素材圖片，待其回傳結果，再點選「更新」寫入。 參考資料 # 导入数据 - Chaldea ","date":"2025年5月16日","externalUrl":null,"permalink":"/posts/chaldea-app-import-fgo-account-data/","section":"所有文章","summary":"「Chaldea」為一款自由開源的Fate/Grand Order輔助工具APP。 內建許多實用的攻略資訊，包含日版與台版資料，協助玩家施展未來視。例如，使用Chaldea檢視FGO目前以及未來會Pick Up的卡池： Chaldea還有名為Laplace的戰鬥模擬器功能，它使用FGO Wiki搭配FGO的帳號資料，模擬戰鬥結果。我們還可以用Chaldea計算素材搜集效率，整理從者的練級需求，規劃未來成長方向。 這些功能的用法官方文件都有詳細說明。\n要使用戰鬥模擬器與練級規劃的功能，我們必須要讓Chaldea APP讀取FGO帳號的資料，好讓我們可以依照自己帳號的真實狀況進行模擬戰鬥（不然的話你就只能拿FGO Wiki模擬的資料來打了！）。不幸的是，FGO沒有開放第三方API讀取資料，故我們只能使用抓取網路封包（抓包）的暴力方式來取得帳號資料，讓Chaldea解析。\n關於抓包：這是一種灰色地帶的行為，沒有對遊戲方面進行修改，應該不算是作弊。 但是因為有使用到第三方程式，風險自負。\nIvon在下面以 FGO繁中版（台版） 為例，分享抓包過程，將資料匯入到Chaldea做統整。FGO台版設計上跟FGO中國版有許多相似之處，抓包過程也很類似。\n","title":"將FGO帳號資料匯入Chaldea APP，使用戰鬥模擬器統整資訊（Android/iOS）","type":"posts"},{"content":"","date":"2025年5月16日","externalUrl":null,"permalink":"/music/","section":"Musics","summary":"","title":"Musics","type":"music"},{"content":"","date":"2025年5月16日","externalUrl":null,"permalink":"/tags/pink-floyd/","section":"標籤","summary":"","title":"Pink Floyd","type":"tags"},{"content":"Pink Floyd知名的作品很多，如果對他們有進一步興趣，那麼一定要聽聽早期的作品。我認為《Meddle》專輯是必聽之經典，太空搖滾融合前衛音樂。\nThe echo of a distant time\nComes willowing across the sand\n聽這張專輯的數位版十幾年了，後來才想到要買實體版。2022年我購入了《Meddle》，當初在拍賣網站買的時候以為這是黑膠，結果就買了，想說怎麼那麼便宜\u0026hellip;好吧原來是日本版的CD。這也好，Echoes就是要聽高音質的版本，CDrip也方便數位化收藏。\n這張專輯內附歌詞本，還有1971年四人的帥照，從左到右分別是Roger Waters、Nick Mason、David Gilmour、Richard Wright。 註：本文討論的是1971年出版的專輯《Meddle》，並非2001年的精選輯《Pink Floyd Echoes: The Best Of Pink Floyd》\n1. Meddle專輯簡介 # 在推出經典的《The Darkside of the Moon》專輯之前，Pink Floyd經過很長一段時間的實驗摸索期。1968年Pink Floyd發表迷幻要素濃厚的《The Piper at the Gates of Dawn》專輯之後，找了新的團員David Gilmour進來，卻失去了核心人物Syd Barrett，剩餘的四人經過了幾年的音樂實驗探索。那段時期他們的音樂晦澀難懂，而且普遍難聽，譬如《Ummagumma》專輯。但不知為何這些歌曲《Live at Pompeii》紀錄片重錄的版本就好很多，後面我會討論到這個。\n在經過幾年磨練後終於推出了好作品，1970年《Atom Heart Mother》是好的開始，雖然團員普遍不喜歡這張專輯，裡面的歌曲都很詭異。\n然後最神的就是1971年《Meddle》了，中文名稱可以翻為「平克·佛洛伊德 - 干涉」。\n專輯封面由Storm Thorgerson設計，乍看之下好像是水的波紋，彼此相交之後產生干涉現象 但如果把專輯攤開來看，就會發現是一隻泡在水下的耳朵！這個或許能夠反映聲波干涉，人與人之間連結的主題吧！ 專輯共收錄六首歌，前五首普普通通，反映了早期Pink Floyd的精神狀態（X）實驗精神（O）。甚至有一首歌是用狗叫錄音製成的呢！\n我想把內容專注在分享〈Echoes〉這首歌上，所以這邊就簡單帶過前五首。\n第一首〈One of These Days〉使用大量失真音效演出，塑造出一種狂風呼嘯的感覺。整首歌的歌詞只有Nick Mason的一句「總有一天我要把你大卸八塊」。聽來怪爽的！電影導演Ian Emes根據這首歌製作了名為French Windows的MV動畫，看起來同樣帶感。\n第二首〈A Pillow of Winds〉是一首曲風緩和的抒情歌曲。\n第三首〈Fearless〉反映了積極向上的主題。最後面的群眾歌聲是在利物浦晏菲路球場錄製的。\n第四首〈San Tropez〉講述了到法國同名城市的風景景象。\n第五首〈Seamus〉找來了一條狗唱歌，Seamus就是狗狗的名字，跟之後《Live at Pompeii》紀錄片所用的是不同隻的狗狗。塑造一種在家做家事，外面的狗在鬼叫的真實場景。許多歌迷認為這是Pink Floyd的最爛歌曲之一，不過有趣的是如果願意繼續聽下去，就會聽到第六首神曲的到來，突然有反差極大的驚豔之感。\n2. Echoes的個人內容分析 # 重頭戲就是第六首〈Echoes〉了，長達20分鐘，在過去黑膠唱片時代就佔掉了一整面。在我從CD rip FLAC檔到電腦的時候，這首歌曲佔的容量是其他歌曲的5倍。\n整首歌曲大致可以分為三個段落，前10分鐘是慢慢上揚到最高潮的部份，中間10分鐘經過了一段詭譎音樂的時期，他們不知道用了什麼奇特的合成器才做出那種在荒涼的洞穴的恐怖音效。最後面是整體氣氛重新復甦。\n關於Echoes歌詞中文翻譯，我認為William.Echoes大大翻譯的很好：Pink Floyd (平克佛洛伊德) \u0026mdash; Echoes - Echoes of a Distant Tide 他的文章解釋了Roger Waters可能引用了哪些古典英文文學的來源。總體來說，Echoes的歌詞帶有一種希望人們之間可以建立聯繫的朦朧意象。歌詞透露出了Roger Waters的人性關懷，加上變幻莫測的旋律，頗有漫遊宇宙，追隨生命起源之感。\n這真的是令人記憶猶新的一首歌，平克佛洛伊德的回音，聽了很久了還是我心中的第一名搖滾神作。其中蘊含的哲理太多，光看《Meddle》專輯封面的耳朵水紋有點抽象，「干涉」究竟是什麼意思呢？難道除了物理的波傳遞之外，還暗示了人與人之間的交流嗎？\n看歌詞翻譯，然後用心去感受\u0026hellip;嗚，好像還是不夠。聽這首歌真的要讀一些解釋，如果有畫面能體驗歌曲意境就更好了吧！\n有網友發現，Pink Floyd的〈Echoes〉非常適合搭配庫柏力克電影《2001太空漫遊》的最後一幕「木星與那遙遠彼方」觀看，比原作的古典配樂還要精彩。Youtube上有將這首歌搭配2001太空漫遊電影最後一段「木星與那遙遠彼方」結合的MV，而且意外的神同步，我覺得那就是很好的感受歌曲內容的方式。\nPink Floyd Echoes \u0026amp; 2001 A Space Odyssey\n傳聞說庫柏力克有接洽Pink Floyd請他們做音樂（Pink Floyd曾當過二次的電影配樂打工仔，產出了《More》和《Obscured By Clouds》這二張較冷門的專輯），但這個傳聞很不合理，因為專輯發行時間是1971年，遠遠在電影上映後的1968年，所以只能說二者的頻率是不約而同的合拍罷了。\n我個人認為這首歌還可以有其他解釋方向，原本〈Echoes〉的歌詞似乎是想告訴我們人與人之間信任與互相幫助的重要，像是：\nStrangers passing in the street. By chance, two separate glances meet.\n你我之間在路上奇妙的對到眼，講的是人的緣份之間的奇妙連結吧！\n不過將歌詞套用到解釋「陸生生物演化」也說得通對吧，這裡要用到一點地球科學知識！聽到歌曲開幕第一聲「叮」的迴聲響起，就讓人回到46億年前，地球天地初開的那個時候的畫面，所有生命都在水中漫遊。歌曲第一段的歌詞「And everything is green and submarine」，似乎就在敘說這種游離不定的狀態。「Starts to climb toward the light」好像在說明，動物爬上陸地，追逐更多生存空間的樣貌啊！在那之後就是一連串生命的演化，中間經歷了一段詭譎音樂的時期，彷若呼應各個時代的都反覆出現的黑暗時期 ——— 大滅絕事件，中間會有許多物種消失，大地荒涼。不過生命是有找到出路的能力的，在一陣陣鼓聲的高揚旋律後，生命又再次復甦了，重新開始了物種之間的交流。\n所以人性的描寫，以及生命科幻宇宙就這樣完美結合在一首歌裡面了，從哪個角度去理解都是對的。聽這首歌曲彷彿經歷過一個太空創生之旅，中間有陰暗的迷茫探索，直到後來獲得拯救，進化後獲得人性，最後一切歸於無形。\n啊，太美了。\n這個第三方製作的太空漫遊MV我看了不下10次，歌曲本體聽了20次以上還是覺得新奇！\n這是一首適合在夜深人靜的漆黑房間放著感受，作夢，太空漫遊的音樂。\n3. 在龐貝城演奏Echoes # Pink Floyd後來有在龐貝城拍紀錄片，裡面同樣有演出〈Echoes〉，不過我覺得Live版沒有專輯版好聽，是另一番風味。\n1972年，Pink Floyd應導演Adrian Maben之邀，來到義大利被火山灰掩蓋的龐貝古城遺跡，拍攝《Live at Pompeii》紀錄片，讓他們在現場露天演出過去的經典歌曲。\n我覺得《Ummagumma》專輯的詭異歌曲，在這裡重新演繹之後突然變得還能接受了，包括〈Careful with That Axe, Eugene〉〈A Saucerful of Secrets〉〈Set the Controls for the Heart of the Sun〉這些曲子，也許是這個地方的歷史因素加成。\n《Live at Pompeii》紀錄片有推出許多版本。這部片子裡面〈Echoes〉是分開成兩段錄製的，中間穿插其他歌曲，旋律有稍微變化，速度稍微加快。聽起來少了許多太空搖滾的要素，反而是跟這個地方的歷史背景契合在一起了。\n距今一千多年前的羅馬帝國時代，曾經輝煌的龐貝城因為維蘇威火山爆發，全城許多人慘遭火山灰活埋的命運。Pink Floyd在這裡演奏可以說是在唱給死人聽吧XD 我說了此處曲風有所改變，在這裡，回音就便成了更具體一點的對象了，彷彿那些聲音都是來自以前人類的呼聲，然後Pink Floyd的任務就是把他們的聲音透過音樂表現出來，呈現「The echo of a distant time\u0026hellip;」表現人們的聲音，中間片段穿插樂團成員走過火山冒煙地帶的景象，還有龐貝城死狀悽慘人們的面部表情，這地方的歷史悲慘之命運，無不從這歌曲中一點一滴的流露出來了。這也是為何演奏會變得這麼急躁的原因的吧。\n總之這首歌搭配具體的歷史景象，就給了人不同的聽感，這亦表示〈Echoes〉了這首歌曲從多方面解釋都說得通。只是要能夠聽到迴音的地方，就有Pink Floyd想表達的靈魂所在。\n","date":"2025年5月16日","externalUrl":null,"permalink":"/posts/pink-floyd-meddle-review/","section":"Musics","summary":"Pink Floyd知名的作品很多，如果對他們有進一步興趣，那麼一定要聽聽早期的作品。我認為《Meddle》專輯是必聽之經典，太空搖滾融合前衛音樂。\nThe echo of a distant time\nComes willowing across the sand\n聽這張專輯的數位版十幾年了，後來才想到要買實體版。2022年我購入了《Meddle》，當初在拍賣網站買的時候以為這是黑膠，結果就買了，想說怎麼那麼便宜…好吧原來是日本版的CD。這也好，Echoes就是要聽高音質的版本，CDrip也方便數位化收藏。\n這張專輯內附歌詞本，還有1971年四人的帥照，從左到右分別是Roger Waters、Nick Mason、David Gilmour、Richard Wright。 註：本文討論的是1971年出版的專輯《Meddle》，並非2001年的精選輯《Pink Floyd Echoes: The Best Of Pink Floyd》\n1. Meddle專輯簡介 # 在推出經典的《The Darkside of the Moon》專輯之前，Pink Floyd經過很長一段時間的實驗摸索期。1968年Pink Floyd發表迷幻要素濃厚的《The Piper at the Gates of Dawn》專輯之後，找了新的團員David Gilmour進來，卻失去了核心人物Syd Barrett，剩餘的四人經過了幾年的音樂實驗探索。那段時期他們的音樂晦澀難懂，而且普遍難聽，譬如《Ummagumma》專輯。但不知為何這些歌曲《Live at Pompeii》紀錄片重錄的版本就好很多，後面我會討論到這個。\n","title":"Pink Floyd - Meddle專輯的「Echoes」分析，一首長達20分鐘的搖滾樂，一場曼妙的太空生命之旅","type":"music"},{"content":"「Waydroid」是一個讓您在Linux系統跑Android APP的軟體。 Waydroid可以登入Google Play商店下載APP，安裝許多常用APP。而且Waydroid支援GPU硬體加速，所以可以玩許多款Android手機遊戲。 使用Waydroid下載Play商店的通訊軟體Line 透過Waydroid在Linux玩手機遊戲FGO\nWaydroid的系統基於LineageOS建置，背後技術源自Canonical的容器技術「Anbox」，由新的開發團隊將其功能變得更加完善。\nWaydroid是容器化技術，不是虛擬機。因為使用LXC，再加上能使用GPU加速，所以Waydroid資源佔用比較低，執行效能比Android Studio的模擬器更加快速！\n就Waydroid的設計來看，這個專案表面上很像Windows 11的Android子系統(WSA)，讓使用者可以一邊操作Linux，一邊使用Android APP。在眾多的Linux系統Android模擬器解決方案中，Waydroid算是能跟桌面系統整合比較好的。\n本文讓Ivon說明如何在Ubuntu安裝Waydroid。\n1. 前置條件 # 請確認符合以下條件之後再安裝Waydroid。\nCPU架構 # 關於電腦架構部份，Waydroid支援x86與ARM架構的Ubuntu電腦，安裝套件時程式會自己判斷。\n不過要注意的是，許多手遊只提供ARM架構的APK，沒辦法在x86電腦使用。x86架構的電腦在安裝Waydroid之後，還要手動安裝ARM轉譯器，用於將ARM指令翻譯為x86，但這可能會增加APP執行時出錯的機率。因此，理想上ARM架構的Ubuntu電腦更好，這樣就不需要裝ARM轉譯器了。\nGPU型號 # 確保您不是用Nvidia顯示卡，目前Waydroid只支援Intel和AMD的顯示卡（內顯也可以）。根據開發者說法，由於Nvidia閉源驅動不照圖形驅動程式標準走的緣故，Nvidia顯示卡會黑畫面。現在最新Nvidia閉源驅動版本590，此問題尚未解決，進度可到Github查詢。\n因此Nvidia顯示卡的用戶有三種解決方法：一、使用內顯跑Waydroid 二、使用軟體渲染（不推薦） 三、使用其他Android模擬器方案。\n部份Intel與AMD的CPU是有內顯的，但或許你沒有在用。使用vulkaninfo --summary指令印出目前電腦的主顯示卡型號。\n如何確認電腦是否有內顯？使用sudo lshw -C display指令印出電腦所有的顯示卡，看看有無Nvidia以外的GPU型號，例如我Intel i5-7400 CPU的就是UHD 630，這個內顯跑一些輕度手遊是夠的。到電腦主機板UEFI設定，切換為內顯開機就可以使用Waydroid了。 Linux核心版本 # Waydroid執行依賴Linux核心的binder模組，核心編譯時要啟用ANDROID_BINDER選項。Ubuntu 24.04以上安裝的Linux 6.0核心應該都有啟用，無需做其他設定。\n如果不放心，用以下指令檢查核心編譯是否有啟用此選項：\ncat /boot/config-$(uname -r) | grep BINDER Wayland顯示協定 # Waydroid需要使用Wayland顯示協定的桌面才可以啟動。\nUbuntu預設桌面環境是GNOME，請確保現在的桌面環境使用Wayland工作階段，開啟終端機，輸入以下指令查看：\necho $XDG_SESSION_TYPE 若顯示的不是wayland代表您還在用X11，請登出Ubuntu，在輸入密碼的時候點選右下角齒輪，選擇Ubuntu或者不帶Xorg的選項登入。 2. 安裝Waydroid # 此處的指令只適用Ubuntu與Debian，其他Linux發行版請參考官方文件。\n安裝以下套件，包含Waydroid以及後續指令稿會用到的套件 sudo apt install curl ca-certificates lzip python3 python3-pip 安裝以下套件，讓Linux與Waydroid共享剪貼簿，其中一個Python套件因為Ubuntu套件庫沒有收，所以要用pip強制安裝 sudo apt install wl-clipboard xclip sudo pip install pyclip --break-system-packages 執行Waydroid官方套件庫的指令稿，安裝Waydroid。安裝指令稿應會自動偵測系統版本 curl https://repo.waydro.id | sudo bash sudo apt install waydroid 初始化Waydroid，下載內建GAPPS的映像檔。如果不加入-s GAPPS參數的話，Waydroid就會下載不含GMS服務的vanilla映像檔。 sudo waydroid init -s GAPPS -f 啟動Waydroid容器服務 sudo systemctl start waydroid-container # 開機自動啟動 sudo systemctl enable waydroid-container 在應用程式列表點選「Waydroid」的圖示，啟動Waydroid。這個圖示的功用等同執行waydroid show-full-ui指令。 Waydroid預設界面是英文的，請到Android系統設定修改語言，拉動滑桿將繁體中文放到頂端，並調整時區。\n如果Waydroid無法連上網路，請嘗試開放UFW防火牆通訊埠，再重新啟動Waydroid：\nsudo ufw allow 53 sudo ufw allow 67 sudo ufw default allow FORWARD sudo ufw reload sudo systemctl restart waydroid-container 3. 安裝後建議做的事情 # Ivon在此強烈建議您安裝Google Play商店並通過裝置認證，還有安裝ARM轉譯器。\n參見Waydroid使用技巧 參考資料 # Waydroid官方文件\n回報bug請到Waydroid的Github儲存庫\n","date":"2025年5月14日","externalUrl":null,"permalink":"/posts/ubuntu-waydroid/","section":"所有文章","summary":"「Waydroid」是一個讓您在Linux系統跑Android APP的軟體。 Waydroid可以登入Google Play商店下載APP，安裝許多常用APP。而且Waydroid支援GPU硬體加速，所以可以玩許多款Android手機遊戲。 使用Waydroid下載Play商店的通訊軟體Line 透過Waydroid在Linux玩手機遊戲FGO\nWaydroid的系統基於LineageOS建置，背後技術源自Canonical的容器技術「Anbox」，由新的開發團隊將其功能變得更加完善。\nWaydroid是容器化技術，不是虛擬機。因為使用LXC，再加上能使用GPU加速，所以Waydroid資源佔用比較低，執行效能比Android Studio的模擬器更加快速！\n就Waydroid的設計來看，這個專案表面上很像Windows 11的Android子系統(WSA)，讓使用者可以一邊操作Linux，一邊使用Android APP。在眾多的Linux系統Android模擬器解決方案中，Waydroid算是能跟桌面系統整合比較好的。\n本文讓Ivon說明如何在Ubuntu安裝Waydroid。\n1. 前置條件 # 請確認符合以下條件之後再安裝Waydroid。\nCPU架構 # 關於電腦架構部份，Waydroid支援x86與ARM架構的Ubuntu電腦，安裝套件時程式會自己判斷。\n","title":"Linux跑Android APP，Ubuntu安裝Waydroid教學","type":"posts"},{"content":"探討如何將Linux的Waydroid視窗化，同時執行多個遊戲，與多開遊戲的可能性。\n如果說要把Waydroid當成Windows的Android模擬器使用，任其可以像Bluestacks自由縮放視窗大小，恐怕有困難。\nBleustacks的多開畫面示意圖，取自官網 依照Waydroid設計，APK安裝之後會在桌面的應用程式列表顯示一個個Desktop Entry，點這裡啟動就能夠同時執行多個APP。但是這個視窗大小不能改變。\n因為目前Waydroid的畫布大小在啟動LXC容器的時候就判定了，預設會以桌面環境大小為基準。之後Android端的畫面就會是那個時候所取得的解析度。\n如果改用Waydroid多視窗模式(multi window mode)來縮放APP呢？多視窗就能讓多個APP同時執行了？不好，目前Waydroid對多視窗的支援度不佳，常常跑版，且許多遊戲APP依然會強制進入全螢幕。\n我可以想到的一個解方，就是用同一部電腦的Scrcpy去連Waydroid，這樣一來這個Android畫面的視窗就是可以縮放的。再搭配waydroid shell wm size指令即時修改Waydroid畫面解析度即可。\n用Scrcpy控制Waydroid還有個好處，那就是對模擬觸控的支援度更好。有些APP只認觸控點擊事件，如果Waydroid的Fake Touch功能無效的話，通常可以用Scrcpy解決。\n1. Scrcpy搭配Waydroid的用法 # 本文所有的操作都是在Scrcpy視窗進行的，並非Waydroid自身的視窗。\n在Linux安裝Waydroid\n安裝Scrcpy\n開啟Waydroid系統設定，到「關於手機」查找IP位址，通常是192.168開頭 使用以下指令啟動Scrcpy，連線到Waydroid，解析度設定1920。不用傳輸音效，Waydroid視窗不開，聲音也會一直輸出到Linux的PipeWire。\nscrcpy -s 192.168.240.112 -m 1920 --no-audio Scrcpy視窗執行的時候，Waydroid的視窗可以最小化或者關閉，但有時候會造成Waydroid重開機的樣子？ Scrcpy視窗縮放之後，Waydroid解析度不會變化，而是啟動時就固定了，若太高會導致UI元素變小，此時可以用ADB的wm指令，動態修改Android端的解析度和DPI，而不用重啟Waydroid容器。\nsudo waydroid shell wm size 1280x720 sudo waydroid shell wm density 240 這樣能讓APP的UI元素大一些。 另一種永久修改Waydroid解析度的方式是改設定檔，不過修改後需要重啟Waydroid容器。\nwaydroid prop set persist.waydroid.width 1280 waydroid prop set persist.waydroid.height 720 修改的DPI的話則是要編輯Waydroid設定檔，填入數值ro.sf.lcd_density=240 sudo vim /var/lib/waydroid/waydroid_base.prop 然後重啟容器。 sudo systemctl restart waydroid-container 不過我注意到強制改解析度，雖然Scrcpy可以正常操作，但Waydroid原本視窗滑鼠DPI會跑掉導致點選錯亂。如果要重置解析度的話： sudo waydroid shell wm size reset sudo waydroid shell wm dpi reset waydroid prop set persist.waydroid.width \u0026#34;\u0026#34; waydroid prop set persist.waydroid.height \u0026#34;\u0026#34; sudo systemctl restart waydroid-container 2. Waydroid同時執行多個遊戲 # 「多開」遊戲，一個畫面同時執行多款不同的遊戲。\n前文已經說過，Waydroid的多視窗模式雖然能夠把APP視窗化，在一個畫面同時執行多個APP，但是Waydroid的視窗管理非常不穩定，畫面常常亂跑或者大小錯亂。\n依照Waydroid設計，APK安裝之後會在桌面的應用程式列表顯示一個個Desktop Entry，點這裡啟動就能夠同時執行多個APP。但是得開啟多視窗模式，才能同時執行二個APP。\n如果多視窗模式下，有APP不願意視窗化，堅持全螢幕該怎麼辦？善用桌面環境的虛擬桌面。GNOME、KDE、Hyprland、COSMIC都有虛擬桌面(virtual desktop，或稱workspace)的功能，從這裡啟動APP會佔滿目前虛擬桌面的整個畫面，要使用另一個APP就是切換到下一個虛擬桌面再啟動。因此，每個工作區就能夠各自顯示不同的APP。\n也可以利用Android內建的分割螢幕功能，假設要同時執行兩個橫向遊戲，應該要先把Waydroid變成「直向」的解析度，我這裡是參考Samsung平板的解析度：\nsudo waydroid shell wm size 1600x2560 然後再進入多工界面，上下分割遊戲。遊戲無法分割的話，到Android開發人員選項開啟強制可調整大小。 另外，我嘗試利用Virtual Display功能建立虛擬顯示器，每個顯示器執行一個遊戲，就能同時在Waydroid裡面執行多個遊戲了\u0026hellip;但是我執行後是黑螢幕，看來Android 11做不到這點。\n3. 多開遊戲帳號 # 雖然基於LXC，可Waydroid不支援多重實例，不過有的是辦法。\n要一個遊戲兩個帳號，使用Shelter的工作設定檔切開，分開登入就好。\n","date":"2025年5月13日","externalUrl":null,"permalink":"/posts/waydroid-scrcpy/","section":"所有文章","summary":"探討如何將Linux的Waydroid視窗化，同時執行多個遊戲，與多開遊戲的可能性。\n如果說要把Waydroid當成Windows的Android模擬器使用，任其可以像Bluestacks自由縮放視窗大小，恐怕有困難。\nBleustacks的多開畫面示意圖，取自官網 依照Waydroid設計，APK安裝之後會在桌面的應用程式列表顯示一個個Desktop Entry，點這裡啟動就能夠同時執行多個APP。但是這個視窗大小不能改變。\n因為目前Waydroid的畫布大小在啟動LXC容器的時候就判定了，預設會以桌面環境大小為基準。之後Android端的畫面就會是那個時候所取得的解析度。\n如果改用Waydroid多視窗模式(multi window mode)來縮放APP呢？多視窗就能讓多個APP同時執行了？不好，目前Waydroid對多視窗的支援度不佳，常常跑版，且許多遊戲APP依然會強制進入全螢幕。\n我可以想到的一個解方，就是用同一部電腦的Scrcpy去連Waydroid，這樣一來這個Android畫面的視窗就是可以縮放的。再搭配waydroid shell wm size指令即時修改Waydroid畫面解析度即可。\n用Scrcpy控制Waydroid還有個好處，那就是對模擬觸控的支援度更好。有些APP只認觸控點擊事件，如果Waydroid的Fake Touch功能無效的話，通常可以用Scrcpy解決。\n","title":"Waydroid + Scrcpy，縮放視窗大小與多開遊戲，解決APP無法觸控的問題","type":"posts"},{"content":"前傳：長大後就不玩遊戲了，即使是最喜歡的創世神和艦娘\n不知道是不是病了，或者是單純老了，沒辦法沉浸在遊戲裡面。覺得遊戲不好玩、對遊戲失去熱情的人，有個形象的詞能夠這樣稱呼：電子陽痿。\n玩許多手遊都覺得不好玩。因為修了一點心理學課還有遊戲設計理論課程，玩遊戲的時候都會想著這個橋段是不是刻意設計好的，迫使玩家沈迷的要素。你知道的？有點職業病的感覺？一直跑出第四面牆，吐槽這邊劇情是三小。比如我就常常在想，《蔚藍檔案》把一個章節碎屍成很多節的短劇情，是不是就是針對手遊玩家速食特性開發的？一節劇情加上戰鬥不到5分鐘就能看完，很符合零碎時間遊玩的用戶的操作習慣。另一方面，很多從電腦版簡化來的PVP對戰遊戲，也是朝著幾分鐘一局的方向設計的，像是《傳說對決》對時間繁忙的學生族群就很友好。\n陰謀\u0026hellip;這全都是陰謀\u0026hellip;那些號稱佛心、休閒的遊戲，背後也都是開發團隊想著要怎樣榨取出全部的價值。\n有時候覺得遊戲設計太複雜是不好的。我可以繼續玩《艦隊Collection》這款糞game體會悲壯感，部份原因是沉沒成本，畢竟玩了十年了。但是《碧藍航線》就玩不下去，要照顧的東西太多了，好複雜。如果有一天能放棄沉沒成本，或許手頭上常玩的遊戲也就能輕易放棄了，回坑的那一天再也不會到來。情懷之類的打動不了我，因為目及之處只剩虛無。\n手遊方面，玩放置卡牌類的遊戲嫌無聊，好像很多遊戲除了舔角色就沒什麼特色，最後還不是都在比數值戰力，然後轉頭去玩家社群看梗圖，上Pixiv找本子打手槍，角色很色要射了，然後呢\u0026hellip;？玩益智類的腦袋又不靈光，會追求三顆星評價逼到強迫症發作。動作類的更不必說，我的操作技巧都是負責戳人的。假若跳說手遊，去玩PC大作，又覺得\u0026hellip;好漫長，玩不完的壓力。Steam遊戲庫陸續買了一些知名作品，可是全破的沒幾款。明明小時候可以研究攻略一整天，把《俠盜獵車手：聖安地列斯》破到進度100%，為何到了《俠盜獵車手V》卻連四分之一劇情都看不下去。我不想說是因為手機媒體的興起，導致attention span跟著縮短了？彷彿越來越沒耐心。我們不禁想問，電子陽痿是絕症？還是小感冒而已？有可能好嗎？\n嗯啊，我打遊戲是沒特別厲害，反正在哪個遊戲大概都是LOL的銅牌等級，但衝勁是最重要的。假若沒有這份幹勁，任何遊戲都會玩不下去。話說，玩遊戲需要作業用BGM的，有時候玩需要農的遊戲就好像在工作一樣，需要打造充滿幹勁的環境！《東方Project》的原聲帶和《悲慘世界》音樂劇都是十分適合的素材。嗯？這兩個題材也差距太大了吧！講到作業感重的遊戲，艦隊Collection就是一例，2018年以前玩最瘋的時候還會半夜爬起來打到凌晨，現在老了得早睡。2016年，在那個3-2還可以練級的時代，因為Windows 7電腦只有2GB RAM（G41晶片組，主機板北橋內顯，跑Ubuntu都會喘死。倒是幾百塊的揚聲器從當時用到現在還沒壞），跑一個瀏覽器加上Flash遊戲就耗光系統資源了，剩下的東西只能開一個Youtube分頁，所以要慎選播放的音樂。通常，從東方紅魔鄉放到東方永夜抄的BGM就很棒了。\n需要進一步音樂欣賞的，好似在聽廣播劇的，就放我最愛的悲慘世界(Les Miserables)，舞台劇錄影或者2012年版電影的原聲帶都可以，開頭的24601台詞都會背了。演出大概三小時，事情就能順利做完。後來知道了foobar2000這個不吃資源的Windows播放器則是後話了。到更後來，改聽Pink Floyd的超長歌曲當作業用BGM，例如〈Atom Heart Mother〉〈Echoes〉〈Shine On You Crazy Diamond〉。\n所以幹勁是隨著年月增長慢慢消退了，以前沒日沒夜玩遊戲的時光一去不復返。或許，把遊戲搞得在上班是讓人慢慢厭倦的一個因素。反正我是很難回到以前剛入坑FGO，沒日沒夜跑主線劇情的瘋魔程度了，玩遊戲總是覺得作業感重。就連開《Minecraft》或者《俠盜獵車手》在開放世界裡探索的動力都沒剩多少了\u0026hellip;因為不知道有什麼意義。現在玩《War Thunder》都不太想進對戰，而只是試飛飛機兜風。\n知乎有個回答講的不錯，覺得遊戲不好玩了，是因為外部世界有更好的東西可以追求。或者講負面一點，外部世界的壓力已經大過遊戲能帶來的快樂了，腦袋不再像小時候那樣單純，並不是吃一球冰淇淋就能高興一整天的年紀了，可能要一顆SSRI才能至少趕走一整天腦內的烏雲。\n更進一步說，做其他事情會比小時候瘋玩遊戲還要有收穫。追求人生更高的目標，或許不是遊戲能滿足的了了。當然，我不否定遊戲依然具有它的價值，只要玩者有一點覺得「好玩」的當下，遊戲就有存在價值。那麼我對遊戲的觀點，就是從生活必需品慢慢變成可有可無的娛樂了。\n躺平吧！「電子陽痿」大流行，遊戲疲軟症的心靈避風港在哪裡？ - UDN國際 既然本身不太玩遊戲，我也沒有啥理由去看別人實況當雲玩家——是的，幾乎是跟遊戲話題脫離了。我只能因為趕流行偶爾打聽一下新遊戲的情報，可要成為狂熱份子，很難。不，杰哥，我對新遊戲真的沒興趣。\n或許、玩沒有壓力的電子小說當柚子廚是現在還能「享受」的遊戲型式，因為就像在追劇一樣，遊戲性薄弱。電腦的Galgame就是純粹的買斷制，遠離把賭場和妓院開在一起的業界生態。\n人生的目的，遊戲的真實，其實都藏在Minecraft的終末之詩(End Poem)了。\n這是打倒終界龍才會跳出的作品，作為遊戲終結的暗示，給玩家上一台震撼課程。有些玩家可能會跳過，畢竟Minecraft是「永無止盡」的遊戲。\n但是細細品讀便能讀出趣味，裡面暗示玩家把遊戲世界當成真實，可是總有一天要從夢中醒來，繼續做名為人生的夢，了解到你是宇宙的一部分，你是被愛的。詩裡面有很多精妙的比喻，例如「告訴他如何活著，就剝奪了他體會人生的機會」。如果覺得讀文字太艱澀，那麼這裡有一部影片版。\nThe Reality of Minecraft’s End Poem by Pixel Plug\n這部影片拍的實在太具象化了，這才是Minecraft真人電影該拍的主題吧。許多玩家都探討過Minecraft單人模式會越玩越孤獨的問題，比如早期C418的配樂都刻意選很孤獨的歌曲，我覺得那些音樂在生存模式聽來會更荒涼，1.17之後加入谷岡久美的音樂風格才稍微改變。如果不玩多人伺服器，靈感又逐漸枯竭的話，就會盯著方塊世界不知道做什麼好。這就是為什麼Mojang要加一堆RPG元素讓玩家有事做的原因。\n不過，終末之詩其實很好的解釋了玩家繼續做夢的因素，只要人們的想像力不減，那麼這個無限的方塊世界依然有無限的可能。\n所以，慢慢從遊戲中醒來吧！但偶爾放寬心也不賴！或許某個遊戲會再度掀起興趣也說不定。\n","date":"2025年5月13日","externalUrl":null,"permalink":"/posts/2025051301/","section":"Personals","summary":"前傳：長大後就不玩遊戲了，即使是最喜歡的創世神和艦娘\n不知道是不是病了，或者是單純老了，沒辦法沉浸在遊戲裡面。覺得遊戲不好玩、對遊戲失去熱情的人，有個形象的詞能夠這樣稱呼：電子陽痿。\n玩許多手遊都覺得不好玩。因為修了一點心理學課還有遊戲設計理論課程，玩遊戲的時候都會想著這個橋段是不是刻意設計好的，迫使玩家沈迷的要素。你知道的？有點職業病的感覺？一直跑出第四面牆，吐槽這邊劇情是三小。比如我就常常在想，《蔚藍檔案》把一個章節碎屍成很多節的短劇情，是不是就是針對手遊玩家速食特性開發的？一節劇情加上戰鬥不到5分鐘就能看完，很符合零碎時間遊玩的用戶的操作習慣。另一方面，很多從電腦版簡化來的PVP對戰遊戲，也是朝著幾分鐘一局的方向設計的，像是《傳說對決》對時間繁忙的學生族群就很友好。\n陰謀…這全都是陰謀…那些號稱佛心、休閒的遊戲，背後也都是開發團隊想著要怎樣榨取出全部的價值。\n有時候覺得遊戲設計太複雜是不好的。我可以繼續玩《艦隊Collection》這款糞game體會悲壯感，部份原因是沉沒成本，畢竟玩了十年了。但是《碧藍航線》就玩不下去，要照顧的東西太多了，好複雜。如果有一天能放棄沉沒成本，或許手頭上常玩的遊戲也就能輕易放棄了，回坑的那一天再也不會到來。情懷之類的打動不了我，因為目及之處只剩虛無。\n","title":"覺得玩遊戲都很無聊的厭倦感，我想真的是電子陽痿了","type":"personal"},{"content":"Converting the existing Kubutnu installation to KDE Neon.\n我不需要KDE 6的最新桌面\u0026hellip;KDE 5就夠用了\u0026hellip;.我要系統穩定\u0026hellip;只要再等兩年下一個LTS版就有6了\u0026hellip;我可以等\u0026hellip;\nI NEED IT!!!!!! ← 話說這種寫法很像It\u0026rsquo;s My Go!!!!!，但是這裡有六個驚嘆號，暗示的是KDE 6。 我在另一部較少使用的Fedora電腦安裝KDE 6許久了，Wayland方面有許多改進，覺得很不賴，心癢想要擺脫用了快四年的KDE 5，升上KDE 6，但又懶得整個重裝系統，所以想到加入KDE Neon套件庫取得最新版KDE桌面的曲折作法。\n警告：KDE Neon官方不鼓勵這種行為，沒有測試過，風險自負。 建議仍是使用KDE Neon的ISO從頭安裝較好。\n現在，我要把舊的KDE Plasma 5\u0026hellip; 升級到KDE Plasma 6～ 其餘系統套件大致不變。\nKubuntu和KDE Neon是兩個不同的發行版，由不同團隊維護。同樣都基於最新的Ubuntu LTS版本開發（不過Kubuntu除了LTS之外還有跟著Ubuntu最新版號的版本）。前者注重穩定，因此KDE版本更新比較慢，Kubuntu 24.04了還在KDE Plasma 5.27，錯過了2024年4月推出的KDE Plasma 6。後者則是會第一時間提供最新版的KDE桌面，KDE Neon 24.04現在已經上了KDE Plasma 6.3。\nKDE Neon有自己的套件庫，因為同樣使用APT，所以Kubuntu完全是有可能透過添加Neon套件庫，安裝Neon維護的桌面套件，將其轉為KDE Neon的。\nKubuntu使用Ubuntu的套件庫，提供kubuntu-desktop的metapackage，這個群組就包含了KDE Plasma桌面；而KDE Neon團隊維護的套件叫做neon-desktop，只存在於Neon團隊維護的套件庫，裡面含有開發團隊針對舊版Ubuntu LTS開發的最新版KDE Plasma桌面套件。\n不過，直接APT 安裝neon-desktop套件衝突的可能性很高，因為Kubuntu的套件打包可能會跟Neon的衝突，所以比較好的做法是將kubuntu-desktop與相關套件整個移除掉之後，再安裝neon-desktop。\n不要想著可以從現有的Kubuntu無痛「升級」到KDE Neon。\n1. 移除Kubuntu的KDE Plamsa桌面 # 現在版本Kubuntu 24.04，確保系統套件已經升級到最新版本。 sudo apt update sudo apt full-upgrade sudo reboot 接下來的階段應該在tty或者SSH遠端操作。\n按Ctrl + Alt + F2登入tty。\n強制系統輸出英文訊息\nexport LANG= 使用apt purge指令刪除kubuntu-desktop，還有相關的套件，並嘗試移除設定檔。如果要保留KDE桌面的配置就用apt remove。中間可能有些非KDE相關的套件也會跟著被移除。後續檢視/var/log/apt/確認。 sudo apt purge kubuntu-desktop sudo apt purge plasma-desktop sudo apt purge *kde* sudo apt purge *plasma* sudo apt purge *breeze* sudo apt autopurge 移除顯示管理器SDDM sudo apt purge sddm 建議刪除舊版KDE Plasma桌面設定檔 rm ~/.config/plasma-org.kde.plasma.desktop-appletsrc rm ~/.config/ksmserverrc 重開機之後會進入tty。雖然沒有桌面環境，但NetworkManager依然會運作，所以網路還能用。 2. 安裝KDE Neon的KDE Plasma桌面 # 用這個指令新增KDE Neon套件庫，注意代號noble，對應Ubuntu 24.04 sudo apt-add-repository \u0026#39;deb http://archive.neon.kde.org/user noble main\u0026#39; sudo apt-add-repository \u0026#39;deb-src http://archive.neon.kde.org/user noble main\u0026#39; 取得KDE Neon套件庫金鑰 wget -qO - \u0026#39;https://archive.neon.kde.org/public.key\u0026#39; | sudo apt-key add - sudo cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d/ 更新套件庫 sudo apt update 更新現有套件 sudo apt full-upgrade 中間可能要手動解決套件衝突，如果無法滿足依賴就apt remove該套件再重試下列指令。 sudo apt install -f 一直apt upgrde到沒有套件出錯了才繼續。\n安裝KDE Neon桌面，應該包含SDDM\nsudo apt install neon-desktop --install-recommends 我發現KDE Plasma 6.3套件竟然不包含X11工作階段的合成器，要記得補上：\nsudo apt install kwin-x11 啟用SDDM狀態 sudo systemctl enable sddm 重開機後應該就能登入新的KDE桌面了。 參考資料 # How to Install KDE Neon Distribution on Linux - Gcore Is there a way to install KDE Neon on Kubuntu without formatting my disk? - AskUbuntu Install KDE Neon on top of vanilla Ubuntu 20.04 - Github gist ","date":"2025年5月12日","externalUrl":null,"permalink":"/posts/convert-kubuntu-to-kde-neon/","section":"所有文章","summary":"Converting the existing Kubutnu installation to KDE Neon.\n我不需要KDE 6的最新桌面…KDE 5就夠用了….我要系統穩定…只要再等兩年下一個LTS版就有6了…我可以等…\nI NEED IT!!!!!! ← 話說這種寫法很像It’s My Go!!!!!，但是這裡有六個驚嘆號，暗示的是KDE 6。 我在另一部較少使用的Fedora電腦安裝KDE 6許久了，Wayland方面有許多改進，覺得很不賴，心癢想要擺脫用了快四年的KDE 5，升上KDE 6，但又懶得整個重裝系統，所以想到加入KDE Neon套件庫取得最新版KDE桌面的曲折作法。\n警告：KDE Neon官方不鼓勵這種行為，沒有測試過，風險自負。 建議仍是使用KDE Neon的ISO從頭安裝較好。\n現在，我要把舊的KDE Plasma 5… 升級到KDE Plasma 6～ 其餘系統套件大致不變。\nKubuntu和KDE Neon是兩個不同的發行版，由不同團隊維護。同樣都基於最新的Ubuntu LTS版本開發（不過Kubuntu除了LTS之外還有跟著Ubuntu最新版號的版本）。前者注重穩定，因此KDE版本更新比較慢，Kubuntu 24.04了還在KDE Plasma 5.27，錯過了2024年4月推出的KDE Plasma 6。後者則是會第一時間提供最新版的KDE桌面，KDE Neon 24.04現在已經上了KDE Plasma 6.3。\n","title":"加入PPA套件庫，將Kubuntu轉換為KDE Neon，安裝最新版Plasma桌面套件","type":"posts"},{"content":" 這是一款讓你自由看線上漫畫的好用APP「Mihon」，完全免費，無廣告。 Mihon特色如下：\n簡潔易用的離線漫畫閱讀器，支援讀取ComicInfo.xml分類漫畫。 自由閱讀線上網站的漫畫，例如嗶咔漫畫、漫畫人、E-hentai、Pixiv、Danbooru、Webtoon、騰訊漫畫、Toomics、Bilibili漫畫\u0026hellip;\u0026hellip;等等數不清的網站。可下載漫畫離線閱讀。 跨平台，有Android、iOS、Linux、Windows、macOS、網頁版等各種版本。 開放原始碼，自由軟體。只要從官方來源下載就不會有任何病毒。 有非常多的分支版APP，針對不同網站優化。 可搭配MyAnimeList、Bangumi等網站紀錄漫畫閱讀歷程。 本文解說Mihon的設計理念，以及安裝方法、加入漫畫擴充套件的作法。\n1. Mihon怎麼用 # 首先簡述一下Mihon的設計理念，這是一款高度模組化的APP。\n使用者要先下載「Mihon主程式」。主程式開啟預設是什麼都沒有的，只能讀本機漫畫圖檔，類似Perfect Viewer那樣。漫畫可以是包含圖檔的資料夾，或者.cbz格式的壓縮檔。\n要看線上漫畫的話，你要加入「擴充套件儲存庫」，再安裝「漫畫擴充套件」，才可以瀏覽各大漫畫網站的資源。Mihon漫畫擴充套件的網站正盜版混雜，且大部分都不是Mihon官方開發者維護的，請自行確認安全性。\n漫畫你可以線上閱讀，也可以下載到本機離線閱讀。\nMihon提供了一個整合性的界面，方便你存取各大漫畫網站的資源。\n另外，Mihon主程式不只官方原版一種，有很多種分支版。如果你覺得原版功能不敷需求，再去試試那些分支版吧！\n2. 下載Mihon主程式 # 注意：Mihon是開源免費的APP，並未在Google Play和App Store上架，請到Github下載。\n2.1. 官方版Mihon # 目前官方版Mihon僅支援Android系統。如果你要在其他系統使用，請看下面「分支版Mihon」一節。\nMihon以前叫做Tachiyomi，最早是Inorichi在2014年發起的專案，APP名字來自日文，意思是「在書店站著看免費漫畫」。APP內建許多漫畫網站的擴充套件，官方維護著一個專門收錄擴充套件的儲存庫。 然而2024年，開發者收到韓國Kakao公司的版權警告，說要起訴所有參與該專案的人士，導致他們不再積極維護程式，官方也把漫畫擴充套件的儲存庫給刪了。\n所幸開源社群馬上有人接手，「Mihon」是Tachiyomi開發者另外發起的專案，功能一模一樣，只是名字改了而已，可說是Tachiyomi的正統繼承者。同時，漫畫擴充套件的儲存庫也換其他開發者維護了。\nMihon這個APP名字同樣很有趣，日文意思是「漫畫試閱本」。現在，Mihon不再內建擴充套件儲存庫，變成要使用者自己去找擴充套件來用。 你可以在Github取得最新Android版的Mihon APK。需要Android 7以上系統才能安裝。 2.2. 分支版Mihon # 分支版 (fork) 是Mihon社群的一大特色，許多開發者嫌原版Mihon功能太少，便推出了自己的修改版。\n雖然分支版功能各異，但有些漫畫擴充套件是通用的，你可以安裝幾個比較後再決定要用哪個當主客戶端。\n現在比較活躍的分支版Mihon有以下幾個，點選連結下載：\n名稱 支援系統 說明 Aniyomi Android 除了漫畫以外，還整合了免費線上動畫來源。 Tachidesk Sorayomi Android，iOS，Linux，Windows，macOS，網頁 跨平台的客戶端，遠端閱讀漫畫，必須搭配Suwayomi伺服器使用。 Mangayomi Android，iOS，Linux，Windows，macOS Flutter改寫的跨平台Mihon複製品，可閱讀漫畫和播放動漫。不過Mangayomi有自己的套件庫，並不完全相容Mihon的擴充套件。 TachiyomiSY Android 針對E-hentai網站特化的版本，基於Tachiyomi AZ開發。 TachiyomiJ2K Android 針對平板電腦最佳化的分支版，支援雙頁模式閱讀、MyAnimeList追蹤閱讀清單。 Tachimanga iOS App Store上架的iOS版Mihon，非官方，支援安裝擴充套件。部份開放原始碼，內含廣告。 LNreader Android 針對輕小說特化的版本。 3. 安裝線上漫畫擴充套件來源 # 透過社群開發的擴充套件，線上閱讀漫畫，或者下載到本機離線閱讀。\n初次開啟APP，Mihon會要求你設定檔案儲存位置，我個人是把檔案放在Pictures/Mihon資料夾（若該資料夾不存在請自行新增） 論最受歡迎的Mihon儲存庫，最有名的便是：keiyoushi的儲存庫，以及這個：Mihon/Tachiyomi系列 拷貝漫畫等中文資源的書源\n點選APP的探索 → 擴充套件，點選右上角，擴充套件儲存庫 以keiyoushi的為例，加入以下儲存庫網址：\nhttps://raw.githubusercontent.com/keiyoushi/extensions/repo/index.min.json 如果擴充功能有問題，請到keiyoushi儲存庫回報。\n回到擴充套件頁面，下拉重新整理，就能下載漫畫網站的擴充套件了。點選右上角「篩選」開啟所有語言的網站。 為確保安全，Mihon會要求你手動「信任」擴充套件才可以使用 重啟APP後，你就可以在「來源」頁面點選網站圖示，瀏覽該網站的漫畫了。注意有的網站會要求登入，此時請點選右上角設定操作。 4. 管理下載的漫畫 # 閱讀漫畫的時候你可以點選「加入收藏」將其加到私人書櫃。 「歷程」是類似讀書紀錄的功能，請自行登入對應網站的帳號，授權Mihon存取你的帳號。\n點選「下載漫畫」的話，漫畫圖檔就會下載到Mihon資料所在路徑下的downloads資料夾。\nMihon預設會以.cbz格式封裝下載的漫畫，如果你要圖片檔，請到Mihon設定 → 下載，取消打勾「以CBZ封存檔格式儲存」。\n由於漫畫檔都是一張一張圖片明碼儲存的，沒有加密，你可以用其他漫畫APP閱讀Mihon所下載的漫畫。\n5. 閱讀本機漫畫圖檔 # 自行準備漫畫圖檔，放到指定資料夾，再用Mihon讀取，把Mihon當成純粹的私人漫畫閱讀器APP。Mihon支援讀取ComicInfo.xml，可以用這個來搜尋標籤。\n把漫畫圖檔放到Mihon資料夾下面的/local/資料夾。根據Mihon官方文件，每本漫畫的結構應該如下放置： 📁 Pictures/Mihon/local └── 📁 漫畫或系列名稱 ├── 📁 第一章或第一集 │ ├── 圖片1.jpg │ └── 圖片2.jpg ├── 📁 第二章或第二集 │ ├── 圖片1.jpg │ └── 圖片2.jpg └── 漫畫縮圖.jpg 範例：我這裡有一本漫畫系列，每本漫畫資料夾下面放各集的資料夾，每一集資料夾下面就是頁數的圖片檔。 漫畫頁數不一定要全部都用純圖片儲存，使用.cbz或.zip壓縮檔也是可以的，這樣搬移才不會花太多時間。\n新增完成之後，點選Mihon的探索 → 本機來源頁面，就會看到匯入的漫畫。 6. 備份與還原資料 # 點選Mihon設定 → 資料儲存空間，點選建立備份檔。\n注意Mihon只能備份你的閱讀紀錄，無法備份下載的漫畫檔案。\n不同Mihon分支版APP之間的備份檔格式可能不相通，還原備份的時候需要特別注意。\n","date":"2025年5月9日","externalUrl":null,"permalink":"/posts/mihon-manga-reader/","section":"所有文章","summary":" 這是一款讓你自由看線上漫畫的好用APP「Mihon」，完全免費，無廣告。 Mihon特色如下：\n簡潔易用的離線漫畫閱讀器，支援讀取ComicInfo.xml分類漫畫。 自由閱讀線上網站的漫畫，例如嗶咔漫畫、漫畫人、E-hentai、Pixiv、Danbooru、Webtoon、騰訊漫畫、Toomics、Bilibili漫畫……等等數不清的網站。可下載漫畫離線閱讀。 跨平台，有Android、iOS、Linux、Windows、macOS、網頁版等各種版本。 開放原始碼，自由軟體。只要從官方來源下載就不會有任何病毒。 有非常多的分支版APP，針對不同網站優化。 可搭配MyAnimeList、Bangumi等網站紀錄漫畫閱讀歷程。 本文解說Mihon的設計理念，以及安裝方法、加入漫畫擴充套件的作法。\n1. Mihon怎麼用 # 首先簡述一下Mihon的設計理念，這是一款高度模組化的APP。\n使用者要先下載「Mihon主程式」。主程式開啟預設是什麼都沒有的，只能讀本機漫畫圖檔，類似Perfect Viewer那樣。漫畫可以是包含圖檔的資料夾，或者.cbz格式的壓縮檔。\n","title":"Mihon (Tachiyomi) 使用教學，手機免費看漫畫的開源APP，附常用漫畫源","type":"posts"},{"content":"","date":"2025年5月9日","externalUrl":null,"permalink":"/tags/pixiv/","section":"標籤","summary":"","title":"Pixiv","type":"tags"},{"content":"當有人指責看P2P盜版的時候：\n當有人指責STABLE DIFFUSION AI繪圖是盜版繪師作品的時候：\n當有人指責模擬器是盜版的時候：\n當有人說越獄助長盜版風氣的時候：\nLain說：「NO MATTER WHERE YOU GO, EVERYONE IS CONNECTED. どこにいたって、人は繋がっているのよ。」 放到網路的東西，免不了就要被偷，就連我的網站文章也常常被CSDN的人偷。我不反對轉載分享行為，但是違反創用CC條款，連來源都不註明就很不厚道了。他們遲早會偷到我偷埋的8964梗而被習包子鐵拳。看看Reddit r/piracy就知道，即使是智財權成熟的國家，依然有人會搞盜版。除非DRM的鐵幕強到無法破解。\n你知道英文的隱私權(privacy)跟盜版(piracy)拼法很像嗎？似乎有些追求隱私權的人士，一定程度上也會反對版權法的存在呢！但其這二者沒啥關聯啦。只是我硬湊的。\n看盜版會被glowies拉清單 # 總覺得在網路上過度追求隱私權會把自己搞得很像被害妄想症(delusional? paranoid?)的情況。Terry Davis說的\u0026hellip;那些niggers glowing in the dark\u0026hellip;\u0026hellip;無時無刻都在盯著你，美國有，中國有，台灣也有\u0026hellip;\u0026hellip;\n我自己覺得矛盾的一點是，我想做內容行銷還有Youtube，希望能像電視上3C達人那樣子盡量擴展客群，好似那些寫技術blog的工程師能夠露個臉，驕傲的在首頁寫上你好我是○○○，獲得工作機會，網站或許還能正式商業化，但我卻又不想自己的真面目暴露，因為會研究一些灰色地帶的東西，除了盜版和色情外，還有想怎麼顛覆獨裁國家，這些思想和工具十分危險。可以透漏聲音但不想露臉，更不想別人知道我住哪裡（反正不是中國五毛網軍），也不想留下能讓任何人，包括警察，能順著網線到我家逮捕我的線索（因此上傳照片都會消除EXIF）。那這樣看來下一步就只能VTuber出道了吧？\n總而言之，現實和網路上形象還是劃分明確的界線，我不能完全把資訊公開到網路上，免得惹麻煩的時候，對自身的物理世界造成損害，人身安全亦受到危害。\n去年發生了一個事件。Switch模擬器Yuzu與任天堂和解 關站賠錢 Yuzu模擬器被Nintendo告，輸了官司，被迫關閉專案，並把donate收到的錢全賠出去。原本以為「會贏喔」，結果馬上就認輸了。任天堂派人在YUZU模擬器Discord臥底 原來是被Nintendo潛伏的忍者，抓到開發者想藉此軟體營利，並且私下使用Switch韌體搞逆向工程，才讓Nintendo有開告的理由，唉。這樣想想，ReactOS的開發者可真是硬挺，即使Windows XP原始碼洩漏，他們也堅決不看一眼，堅持繼續搞黑箱Win32 API的淨室工程。\n分享盜版會被抓，就算使用開源軟體間接接觸盜版也能有理由告！\n貓捉老鼠的遊戲，正版與盜版的鬥爭永不止息。當兩邊都在「作惡」的時候，站哪邊好像都不對。 這幾年，我看了Reddit r/privacy和r/degoogle還有一些個人勢blog討論大科技公司對隱私的侵犯之後，會讓人覺得只能用Tor上網了吧，網路購物最好用加密貨幣，發聲管道用匿名板或者個人網站，拒絕主流社群媒體（Mastodon或許可以但也有危險，權蛆太多了早晚把你賣了），電子郵件有像ProtonMail多隱密就多隱密，最好躲在SimpleLogin郵件別名服務後，不能暴露任何個人訊息。然後為了防止科技公司監控，應該用去Google化的手機，還有不含不自由軟體的GNU/Linux電腦。\n但是這樣太累了，盲目接收這些「強化隱私權」的資訊是有害的，杞人憂天，此時威脅模型(threat model)的概念就很重要，需要防範到什麼程度呢？輕度的注重隱私權，只要從最簡單的服務開始拒絕起就行了，比如把重要的電子郵件服務從Google與Microsoft的手上抽離，換成Proton或Tuta，這就是一個好的開始。真要進展到全域Tor的情況還得再想想，如果不是主張推翻政府的革命軍，執法機關才懶得理你的資料呢\u0026hellip;不要想那麼多，分享灰色地帶的資源，就低調些就好了\u0026hellip;依照中華民國的法律，散佈或指示盜版途徑、分享色情資源，硬要抓的話其實很多網站都是違法的，包括主流大站PTT、Dcard、巴哈姆特上面的很多內容，天天都有人在分享「好康的」。\n使用、分享盜版總是受到一些人的譴責，除了法律因素之外，還有很多人對盜版有道德上的判斷。認為盜版行為就是偷竊別人的勞動成果，廢除保護創作者的版權法更是會造成許多混亂。支持者則認為，版權法是在保護利益集團的壟斷，使人不能自由的使用購買到的物件。版權法律不只保護商標，甚至出現了DRM等限制消費者自由的措施，因此反過來說是在迫害消費者。\n如果台灣有人成功創立類似歐洲的海盜黨，我一定第一個申請加入。\n學者籌組海盜黨 內政部不准 - 中央社，2012年\n不妨想想一個讓人大腦星爆的難題。使用自由軟體，是道德更好的選擇，少了專有軟體的限制。看盜版或破解版內容，是道德不好的示範，會造成創作者的收益損失。那麼如果用自由軟體看盜版內容呢？譬如使用YouTube ReVanced、Mihon、Anime TV、Streamflix、EhViewer等等APP。這些軟體杜絕了盜版發佈者從中賺一手的可能性，因為基本上沒有廣告，自由軟體也不會有「花錢看盜版」的問題產生。雖說看盜版應該低調，但是一旦有社群聚集這些專案也就很難低調了。目前看來，許多APP都用「擴充套件」的方式來規避copyright strike，也就是使用者下載APP本體是什麼都沒有的，要使用者「自願」加入repository下載擴充套件，方能存取合法或是盜版內容。啊使用者要怎麼「操作」這個軟體～跟我無關呦。這就像是瀏覽器的角色一樣，你不能說因為瀏覽器可以看A片網站就將其禁止。如果要使道德最大化，肯定是用自由軟體看正版。但是大部分時候不可能的，因為版權方總喜歡用DRM將用戶綁住，以維持他們的利益，軟體不可能太自由。除非購買非藍光的實體拷貝，再用自由軟體播放。\n那麼，解決以上難題的方式：來看沒有版權的作品！！！創用CC授權釋出的現世作品實在不多，那麼就來看上個世紀版權過期的影視。\n盜亦有道，看盜版要有米線 # 底線？李現！米線！穿越火線！\n可是，這時得講個要不得的心態，分享盜版資源大家好像比較能接受，但是花錢看盜版，或者有人將盜版拿去二次營利，就有很大問題了，不只盜版社群觀感不佳，也增加被定罪的機會（只要牽扯到錢的事情，國家機器馬上就動起來了。相對來說，不給錢就不算嫖囉～）。有些盜版服務做的比正版好，就會讓人寧願將錢投資在存取盜版資源的軟硬體設備上，也不要花錢去買正版，不論漫畫、電影、遊戲皆是。\n老實說，除非是我自己真的很喜歡的作品，否則買正版是少見的行為，我是會買正版資源的，但要跟使用盜版的比率比起來，比例太低了。且就算買正版了，我也不會講「入正」來表示贖罪，補票行為在Steam留言區大大方方說出來豈不是讓作者看了一樣難受？要成為專業的盜版(piracy)海盜(pirate)，還在找伊莉論壇這類免空下載實在太low了，那些看線上盜版串流的還要忍受娛樂城浮水印的也是真的傻，用下載的就好啦，4K高品質影片都有。把錢拿去買支援port forwarding的VPN，做種的時候不怕被查水表。除了Nyaa外，再花一點錢取得高品質的Usenet的存取權限，找到穩定高品質的種子來源。最後就是投資錢在硬碟上了，因為有BT下載不完的盜版資源。有很多理由可以反對正版，說什麼對抗資本主義DRM的陰謀什麼，不過我認為想各種理由合理化這類行為總是無法說服人，那麼不妨就大聲承認：「我就是盜版仔！」\n可我還是有米線的：不下載外掛程式，不下載盜版還到處張揚騎臉人家，不刻意用明顯的盜版畫面去騷擾作者。在公共場合分享的時候只能隱晦的說，某某APP裡面有好康的！使用自由軟體的客戶端存取盜版資源。不二次轉售盜版，分享檔案不加料。\n縱然是盜版，盜亦有道，資源應該是自由的。我不喜歡iOS Settings AV這類APP的設計，很多盜版漫畫網站起碼還有網頁版，而有些盜版APP的設計感覺就是「禁漫天堂」一樣給新手使用的，帳號不知道註冊到哪裡去，首頁分類設計過於直球而且很農逼。他們還可能反向把用戶綁住。\n壓力別太大，羞恥心的使用盜版就好了 # 對盜版軟體、盜版資源的態度還可以繼續長篇大論一番。光是道德這個問題就能討論許久了，是惡？是善？還是中立？在此就不展開。\n盜版是殺不完的，此乃人性。在幹掉Yuzu之後，Nintendo有講，不只針對Yuzu，還要求其他模擬器網站識相一點自行下架。呼，幸好某部落格分享盜版軟體，都是叫別人去XX網站下載，從來不自己host備用載點的。果不其然，Yuzu倒了之後馬上就有新的fork出現。\n我要說，模擬器的羅漢是殺不完的！\n盤古樂隊 - 南昌市的羅漢是殺不完的！ 可Reddit r/piracy的梗圖早就點破：沒人在乎你為何要搞盜版，儘管享受免費資源就好了，Nobody will give a shit about it. 怎麼有人搞盜版還扯一堆冠冕堂皇的理由來了。管他的，我還是寫一些。簡單一句：盜版是錯的，但是我愛用。看盜版、使用盜版（破解）軟體是不是一種錯，絕對是，而且是不道德的。但也不要覺得壓力太大。\nMinecraft元祖開發者Notch說過：「玩盜版沒關係，但是要帶有羞恥心去玩。」\n那沒錢的我改玩開源的Minetest就解決啦（被打）別瞎說，以前很瘋Minecraft的時候我可是全平台都買了一遍。用盜版要承受道德良心壓力，但我相信在網路時代很多人都不會有罪惡感吧，堅持正版的還會被視作道德魔人。\n「你們誰沒有看過盜版就可以拿石頭丟他」\n除非反盜版力度過於強大，以及正版取得管道變得容易，那麼人們才會願意用正版。\n嗚嗯，目前無力的我，只能盡量支持用正版軟體、偶爾購買正版版權物支持作者，並在分享盜版軟體的時候偶爾加一句「有能力請支持正版」。但不幸的是，很多時候，我還是在用盜版的東西，因為\u0026hellip;方便嘛！\nSteam創辦人Gabe Newell說過：「我們認為人們對盜版存在根本性的誤解。盜版大部分是服務不夠好，而不是價格的問題。如果盜版者可以在世界任何地方全天候提供產品，並且可以透過個人電腦方便購買，而合法供應商卻將遊戲鎖區，在美國地區發布3個月後才在您所在的國家地區發布，並且只能在實體店購買，那麼盜版者的服務就更有價值。」\n生活中究竟有多少東西是盜版？盜版的法律與道德問題？如果沒有法律，要人們憑道德是很難杜絕盜版的了。那灰色地帶的盜版開源軟體呢？看盜版還理直氣壯，有些盜版網站經營者發生為了錢黑吃黑的事件\u0026hellip;.這些暫且不談，反正看盜版就是不對的，要低調不該亂散播。但是，Github那麼多盜版程式都沒怎樣欸，還開源不怕病毒。最著名的遊走灰色地帶的盜版軟體就是youtube-dl了，被唱片公司要求下架之後，Github選擇力挺開發者，經過簡單調整後重新上架。模擬器Yuzu也有被告過呀，是因為營利事實才賠錢。\n總之，現在我的經濟能力，可以支持的正版項目很多，但是仍然使用盜版。\n","date":"2025年5月9日","externalUrl":null,"permalink":"/posts/privacy-and-piracy/","section":"Personals","summary":"當有人指責看P2P盜版的時候：\n當有人指責STABLE DIFFUSION AI繪圖是盜版繪師作品的時候：\n當有人指責模擬器是盜版的時候：\n當有人說越獄助長盜版風氣的時候：\nLain說：「NO MATTER WHERE YOU GO, EVERYONE IS CONNECTED. どこにいたって、人は繋がっているのよ。」 放到網路的東西，免不了就要被偷，就連我的網站文章也常常被CSDN的人偷。我不反對轉載分享行為，但是違反創用CC條款，連來源都不註明就很不厚道了。他們遲早會偷到我偷埋的8964梗而被習包子鐵拳。看看Reddit r/piracy就知道，即使是智財權成熟的國家，依然有人會搞盜版。除非DRM的鐵幕強到無法破解。\n你知道英文的隱私權(privacy)跟盜版(piracy)拼法很像嗎？似乎有些追求隱私權的人士，一定程度上也會反對版權法的存在呢！但其這二者沒啥關聯啦。只是我硬湊的。\n看盜版會被glowies拉清單 # 總覺得在網路上過度追求隱私權會把自己搞得很像被害妄想症(delusional? paranoid?)的情況。Terry Davis說的…那些niggers glowing in the dark……無時無刻都在盯著你，美國有，中國有，台灣也有……\n","title":"隱私與盜版只有些微之差，看盜版總是受道德良心譴責","type":"personal"},{"content":" Youtube ReVanced是一款開放原始碼的破解版Youtube APP。 主要功能為：\n免付費去廣告 子母畫面 背景播放 關螢幕繼續播放 下載影片，影片無加密，可用任意播放器播放 顯示影片不喜歡數量 ReVanced自定義選單有中文化 可任意隱藏元素，例如Youtube Shorts、資訊卡、社群貼文、會員按鈕 SponsorBlock，跳過影片業配片段 DeArrow，載入替代影片縮圖，防止影片封面騙人 支援Chromecast、電視投放、Android Auto車機 登入Google帳號同步播放紀錄 支援microG，讓沒有GMS服務的手機也能使用Youtube APP 本文講解如何在Android手機編譯安裝Youtube ReVanced。\n1. 背景 # 以前有個叫OG Youtube的APP，後來變成Youtube Vanced，它是去廣告和支援背景視窗播放的破解版Youtube APP，讓人不用花錢買Youtube Premium就能享受付費版的部份功能，可以說是Android免費仔最愛。 然而2022年Youtube Vanced開發者宣佈因為Google施壓而停止更新，之後便出現了「Youtube ReVanced」這個開源專案，延續Vanced的精神，作為Youtube Vanced的替代品。 Youtube ReVanced開發者不再提供現成的APK，要使用者自行用他們的開源修補程式破解官方Youtube APK（打patch），把擋廣告的模組裝上去。所以有了下面Youtube ReVanced社群做的梗圖： https://www.reddit.com/r/revancedapp/comments/13u2emr/let_me_just_apply_some_patches/\n早期ReVanced要用電腦編譯，後來開發者推出「ReVanced Manager」後就能用手機處理，並且Youtube ReVanced能跟原版Youtube共存。\n下面讓我們看看要如何操作。\n註1：ReVanced Manager也能用來破解Youtube Music，使其變成「YT Music Revanced」。如果需要聽純音樂的，可以改破解這個。參見：ReVanced Manager使用方法：破解Instagram、Facebook、抖音、Youtube Music去廣告\n註2：Youtube ReVanced並無針對大螢幕優化，如果您需要電視盒無廣告看Youtube的APP，建議使用SmartTube\n2. 安裝ReVanced Manager編譯APK # Youtube ReVanced的開發者透過ReVanced Patches提供修補程式來去廣告。ReVanced Manager是在手機上編譯Youtube Revanced APK的工具，可自由選擇要套用哪些修補程式(patch)，支援Root和免Root模式安裝。必須使用搭載64位元ARM處理器，且系統版本在Android 8以上的裝置編譯。\n注意：ReVanced Manager為開源免費的軟體，建議只從官方Github儲存庫或官方網站https://revanced.app下載工具自行編譯。如果選擇下載別人編譯的Youtube ReVanced APK則風險自負。\n若是您自己編譯的APK，也是可以私下傳給其他裝置直接安裝的，沒有限定一定要每台裝置都重新編譯一次。\n根據官網公告，目前支援的Youtube版本為20.14.43 (本文不會即時更新，請自行點公告看支援的最新Youtube版本Target Version) 要破解的Youtube APK必須從Google Play以外的來源下載，至ApkMirror下載對應Target Version版本的Youtube APK，不用安裝。\n至官網下載安裝最新版ReVanced Manager 開啟ReVanced Manager，允許一直在背景執行。\n切換至Patcher頁面，點選Select an application 點選右下角Storage，選擇剛才下載的Youtube APK。 APP應會自動選取適合的修補程式，按下Patch開始編譯。 等待編譯完成，大概5分鐘。 編譯好按右下角Install安裝。或者您可以按左下角匯出APK，分享給他人使用。 安裝Youtube ReVanced時，Play安全防護可能會顯示警告，按下「仍要安裝」。若無法安裝，請嘗試解除安裝Youtube APK再重試。\n部份版本Youtube ReVanced的圖示跟原版Youtube無異，不過長按查看APP資訊會發現它的APP ID還是跟原版Youtube APP不同的。 此版本的Youtube ReVanced尚需要「ReVanced MicroG」才能開啟，否則會閃退。\n3. 安裝ReVanced專用的MicroG # MicroG最初是德國人開發的程式，將Google Play服務重新開源實作了一遍。Youtube ReVanced開發者有自己做一個專用的MicroG，叫做GMSCore，不會跟Android系統的GMS服務衝突。\n至Github下載ReVanced開發者維護的MicroG APK並安裝。下載Default的版本，除非你的手機沒有GMS服務才下載Huawei版本。\n接著就可以開啟Youtube ReVanced主程式了。注意Youtube ReVanced不用登入也能用，但以Google帳號登入Youtube Revanced，風險自負。\n點選Youtube ReVanced右上角大頭貼，登入Google帳號 接著會進到MicroG的畫面。按右下角SIGN IN登入Google帳號。 登入後，MicroG會在通知欄常駐通知，點進去停用電池最佳化。 Android 12以前版本：按照指示在「已套用最佳化」的應用程式列表，將ReVanced MicroG設定為「不要最佳化」，重開機該通知便會消失。 Android 12以後版本：在Android多工界面點選ReVanced MicroG的APP圖示 → 應用程式資訊，將電池用量改為「無限制」。 如何登出MicroG的Google帳號：開啟手機設定 → 密碼與帳戶，找到MicroG，移除登入的Google帳號。\n4. Youtube ReVanced的功能介紹 # Youtube ReVanced的功能跟原版Youtube差不多，它會將自身偽裝為Youtube Premium（僅ReVanced APP有效，並不是登入ReVanced後就真的獲得全平台Premium資格了） 除了去廣告外，還支援子母視窗和背景播放影片，以及顯示影片「不喜歡」的數量。 Youtube ReVanced返回桌面預設會自動進入「子母視窗」。如果不想要子母視窗，點一下懸浮視窗，按設定按鈕，關閉子母視窗的權限，讓影片改為自動進入背景播放。\nYoutube ReVanced並不會蓋掉原版Youtube。若要防止點擊網頁連結開到原版的Youtube，請在多工畫面長按原版Youtube APP圖示，點選「預設開啟」，關閉「開啟支援的連結」的功能。\n並到Youtube ReVanced的同一個頁面，設定用Youtube ReVanced開啟Youtube連結。 Youtube ReVanced的自訂選項都放在右上角大頭貼的系統設定。\nReVanced → Ads面板預設隱藏全部廣告、資訊卡、會員限定內容（付費影片無法破解）。 Layout處的設定能隱藏更多元素，調整Youtube界面，例如「Tablet Mini Player」可開啟舊版的小型播放視窗。不過Layout預設隱藏太多東西了，我會把Hide的東西都開回來。 在系統設定的Interaction → External Download Settings，勾選Show external download button之後，影片播放器右下角就會顯示「下載影片」的按鈕，點選用NewPipe來下載影片。NewPipe下載的影片沒有加密，可以用任意播放器播放。 系統設定裡面有SponsorBlock選項，也就是依照網友投票提供的資料庫，自動跳過影片業配片段。看個人需求是否將其關閉。 5. 如果Youtube ReVanced更新後不能看的話 # 如何更新Youtube ReVanced？不要解除安裝ReVanced Manager，直接下載新版YouTube APK，重新修補後，覆蓋舊版安裝即可。\n如果更新出問題，請試著到官方Github回報問題：\nYoutube打修補程式後有問題的到這裡回報： Patches for ReVanced - GitHub\nReVanced Manager本身有問題的到這裡回報：ReVanced Manager - GitHub\n","date":"2025年5月9日","externalUrl":null,"permalink":"/posts/youtube-revanced/","section":"所有文章","summary":" Youtube ReVanced是一款開放原始碼的破解版Youtube APP。 主要功能為：\n免付費去廣告 子母畫面 背景播放 關螢幕繼續播放 下載影片，影片無加密，可用任意播放器播放 顯示影片不喜歡數量 ReVanced自定義選單有中文化 可任意隱藏元素，例如Youtube Shorts、資訊卡、社群貼文、會員按鈕 SponsorBlock，跳過影片業配片段 DeArrow，載入替代影片縮圖，防止影片封面騙人 支援Chromecast、電視投放、Android Auto車機 登入Google帳號同步播放紀錄 支援microG，讓沒有GMS服務的手機也能使用Youtube APP 本文講解如何在Android手機編譯安裝Youtube ReVanced。\n1. 背景 # 以前有個叫OG Youtube的APP，後來變成Youtube Vanced，它是去廣告和支援背景視窗播放的破解版Youtube APP，讓人不用花錢買Youtube Premium就能享受付費版的部份功能，可以說是Android免費仔最愛。 然而2022年Youtube Vanced開發者宣佈因為Google施壓而停止更新，之後便出現了「Youtube ReVanced」這個開源專案，延續Vanced的精神，作為Youtube Vanced的替代品。 ","title":"去廣告的Youtube APP：「Youtube ReVanced」APK安裝教學","type":"posts"},{"content":"Scrcpy有一個叫做「Virtual Display」的功能，可以讓Android手機投影畫面到電腦，將電腦當作手機的外接螢幕使用。即使手機硬體不支援Type-C螢幕輸出照樣能用喔！\n嗯？Scrcpy不是本來就有這個功能嗎？這個不一樣，Scrcpy預設是投影整個手機螢幕，電腦控制手機的時候手機畫面就得跟著動，是吧？不過「Virtual Display」不同，它會在電腦端模擬一個額外的虛擬顯示器。對手機端而言，就好像有了第二個螢幕一樣，也就是虛擬雙螢幕。\n這個虛擬顯示器能夠跟手機端分開執行不同的APP，電腦控制手機的時候會有一個獨立視窗能夠執行APP。 Scrcpy虛擬顯示器功能示例，同時執行三個手機上的APP\n下面Ivon來討論這東西有啥用。\n1. 虛擬顯示器的用途？ # 把現有的電腦顯示器當作手機輸出的外接螢幕，只需要USB傳輸線，不用HDMI。Scrcpy讓你能夠一邊使用電腦，一邊投影手機的畫面，且手機的畫面跟電腦上的分開。這有點類似用筆電輸出到大螢幕，然後開簡報模式那樣。\n把兩台平板相連，啟用Wifi ADB，透過Termux X11跑Scrcpy。跑Scrcpy的那台平板成為另一台平板的延伸螢幕。這可以是Android對Android，或者Android對Surface平板。\n最後我能想到的用法，便是電腦刷手遊的思路。使用Scrcpy虛擬顯示器，投影畫面到電腦，用電腦控制手機玩多個遊戲。\n有些手遊不能用模擬器，一定得在手機上玩。如果同時要操控電腦又要低頭控制手機，實在麻煩了些，那麼就會想可不可以把手機螢幕投影到電腦，在同一個畫面操控。Scrcpy能做到鏡射手機螢幕到電腦的操作，問題是手機螢幕只能顯示遊戲APP畫面。這個時候利用Scrcpy虛擬顯示器解決這個問題，讓這塊多出來的虛擬顯示器專門用來跑手遊。\n範例：在電腦上同時玩網頁遊戲艦隊Collection與手機上的FGO。執行FGO的時候，手機螢幕可以關閉。 過去Scrcpy只能鏡射整支手機螢幕的畫面，現在額外建立一個螢幕，專門用來執行APP並投影到電腦，這樣手機螢幕就不會被佔用，手機端可以做其他事或者關閉螢幕待機。\n還有，Scrcpy虛擬顯示器沒有限定只能跑一個，只要你的手機撐的住的話，想啟動幾個虛擬顯示器就能啟動幾個！每個虛擬顯示器分別執行不同的APP！\n2. Scrcpy新增虛擬顯示器指令 # Ivon在這裡使用AOSP的系統測試，其他品牌的畫面可能略有不同。\n安裝Scrcpy，Scrcpy 3.0需要以上版本。Android手機端則需要Android 10以上版本。\n將手機插到電腦，啟動ADB偵錯\nadb devices 嘗試連接到手機，建立一個解析度1920x1080的虛擬顯示器，DPI設定為240。如果不填寫解析度的參數，那就是自動依照手機解析度新增。 scrcpy --new-display=1920x1080/240 註：Android 15以上若出現Requires ADD_TRUSTED_DISPLAY permission to create a trusted virtual display.錯誤，可能要先執行adb root指令，Scrcpy才能建立虛擬顯示器。\n之後，Scrcpy顯示的視窗就會是獨立的一個顯示器，而非Android手機的主畫面。 Android 15的虛擬顯示器畫面一次只能開啟一個APP，開啟後進入全螢幕，且不會顯示工作列，要開關APP得從手機端的多工界面操作。在關閉虛擬顯示器的視窗之後，執行的APP也會關閉。 我們可以在建立虛擬顯示器的時候加上其他參數：\n--turn-screen-off：關閉手機螢幕減少發熱，並持續投影手機畫面到電腦。 --stay-awake：保持手機螢幕亮著。有時候手機螢幕關閉，處理器效能可能會下降。 --no-vd-destroy-content：關閉Scrcpy視窗的時候不要一併關閉APP，而是將其移動回手機主螢幕。在Android手機關閉情況下應會進入背景待機模式，有可能被Android殺掉背景。之後重新啟動Scrcpy，那個APP會自動拉回來。 --no-vd-system-decorations：不知道效果為何，只知道於虛擬顯示器啟動第三方桌面APP的時候會用到。 --start-app \u0026lt;APP套件名稱\u0026gt;：啟動虛擬顯示器之後立即開啟APP，例如--start-app com.aniplex.fategrandorder 3. 啟動多個虛擬顯示器 # Scrcpy虛擬顯示器沒有限定只能一個！想啟動幾個就幾個，方便同時執行多個不同的APP，不過也請考量手機硬體能否負荷。\n需要開兩個Scrcpy實例，也就是說啟動一個虛擬顯示器： scrcpy --new-display=1920x1080/240 之後，電腦開啟第二個終端機視窗，啟動另外一個虛擬顯示器： scrcpy --new-display=1280x720/240 這裡我們讓兩個虛擬顯示器解析度不一樣，比較低解析度的跑需要吃效能的遊戲，降低手機端的負擔。 有時候開啟多個虛擬顯示器，APP的聲音會重疊在一起，無法個別關閉。這個時候請在指令參數加上--no-audio將單個Scrcpy視窗靜音。或者使用Shizuku Tools單獨給APP靜音。\n4. 使用圖形界面Scrcpy GUI簡化啟動虛擬顯示器的步驟 # pizi-0開發的圖形界面Scrcpy GUI提供快捷設定檔的功能，裡面有各個指令的說明，這樣就能把虛擬顯示器的指令做成按鈕一鍵啟動了，減少打指令的麻煩。\n如下圖，這裡的設定檔點擊之後會自動開啟對應APP的視窗。 到Github下載對應系統的安裝檔。\n點選Configs → Create，新增設定檔，Display勾選New Display，設定解析度，再勾選要自動啟動的APP。 如法炮製製作多個APP的設定檔。\n點選之後便會自動新增虛擬顯示器，然後啟動APP。 5. 搭配Taskbar APP建立工作列 # 這款APP能夠顯示一個類似電腦界面的工作列。\n建議先在Android系統設定 → 開發人員選項，開啟自由形式視窗。\n安裝Taskbar，並開啟Desktop Mode，將其設定為主畫面預設程式，就可以在Scrcpy虛擬顯示器上顯示工作列。\n可是，AOSP的視窗管理很有問題，不像Samsung Dex有專門優化，所以使用體驗不佳。APP放大後就無法縮小視窗了，不建議使用。\n5. 搭配Termux跑Linux桌面，類似Samsung Dex模式 # 這是一個比較詭異的玩法。使用Termux安裝Linux環境，借用電腦的螢幕當作手機的輸出畫面，然後全螢幕執行Termux X11，再用電腦的滑鼠與鍵盤操控Termux的Linux程式。\n啊你說我都在用電腦了我何必這樣做跑電腦軟體\u0026hellip;也許，你用的是限制更多的ChromeOS呢？或者，你想要在非Samsung手機複製Samsung Dex的功能呢？Termux跑的Linux桌面環境，視窗管理比Android好。\n首先，安裝Termux Proot Debian\n在手機端開啟Termux\n在虛擬顯示器啟動Termux X11，進入全螢幕。\n透過手機端輸入指令，啟動桌面環境。 6. 用MPV放大手機畫質 # Linux系統限定。參見Scrcpy ＋ V4L2用法\n虛擬顯示器的畫面也可以輸出到V4L2裝置做進一步操作，套用濾鏡放大手機遊戲的畫質。 參考資料 # Virtual display - Scrcpy Docs ","date":"2025年5月7日","externalUrl":null,"permalink":"/posts/scrcpy-virtual-display/","section":"所有文章","summary":"Scrcpy有一個叫做「Virtual Display」的功能，可以讓Android手機投影畫面到電腦，將電腦當作手機的外接螢幕使用。即使手機硬體不支援Type-C螢幕輸出照樣能用喔！\n嗯？Scrcpy不是本來就有這個功能嗎？這個不一樣，Scrcpy預設是投影整個手機螢幕，電腦控制手機的時候手機畫面就得跟著動，是吧？不過「Virtual Display」不同，它會在電腦端模擬一個額外的虛擬顯示器。對手機端而言，就好像有了第二個螢幕一樣，也就是虛擬雙螢幕。\n這個虛擬顯示器能夠跟手機端分開執行不同的APP，電腦控制手機的時候會有一個獨立視窗能夠執行APP。 Scrcpy虛擬顯示器功能示例，同時執行三個手機上的APP\n下面Ivon來討論這東西有啥用。\n1. 虛擬顯示器的用途？ # 把現有的電腦顯示器當作手機輸出的外接螢幕，只需要USB傳輸線，不用HDMI。Scrcpy讓你能夠一邊使用電腦，一邊投影手機的畫面，且手機的畫面跟電腦上的分開。這有點類似用筆電輸出到大螢幕，然後開簡報模式那樣。\n把兩台平板相連，啟用Wifi ADB，透過Termux X11跑Scrcpy。跑Scrcpy的那台平板成為另一台平板的延伸螢幕。這可以是Android對Android，或者Android對Surface平板。\n","title":"電腦當手機的外接螢幕，善用Scrcpy的虛擬顯示器多開APP (Virtual Display)","type":"posts"},{"content":"註：2025年10月之後，艦隊Collection遊戲網址 https://play.games.dmm.com/game/kancolle 已經不需要VPN就能直接連線。\n本文Ivon將探討在iPhone與iPad遊玩艦隊Collection的方法，不考慮遠端桌面。 艦隊Collection(艦隊收藏)已經上線12週年了，依然沒有iOS版本。C2機關只有在DMM GAMESストア推出Android版艦これ，就是一個套殼的瀏覽器APP。\n雖說艦隊Collection作為一款網頁遊戲，2019年二期從Adobe Flash移植到HTML5之後，只要有Safari瀏覽器就能玩，但是仍要解決需要日本VPN的問題，最好還要有一個紀錄戰鬥紀錄的輔助工具。\n相較於Android系統有Kcanotify + Gotobrowser這樣的好物，iOS系統提督玩的會比較痛苦些。\n建議先在電腦上註冊好DMM帳號登入成為新米提督，然後再解決於iOS遊玩的問題。\n主要可以分為Safari遊玩法，還有第三方輔助程式APP遊玩法。\n1. 不管怎麼說，就是要有日本VPN # VPN只是暫時的跳板，用途在於繞過DMM登入網頁的海外IP封鎖。成功登入艦隊Collection母港之後就不需要連著VPN了。\n電腦版的KC3和Android版GotoBrowser都可以不用VPN連線進入遊戲，背後靠的是gadget server登入封鎖繞行的技術。短暫在進入遊戲前更改伺服器，繞過DMM的IP封鎖。\n不過目前iOS做不到，第三方輔助程式也沒有人實做這個東西。所以日本VPN還是必備的。\nApp Store有很多免費VPN可以用，就我所知ProtonVPN是個不錯的選擇，免費版有很大機會抽到日本伺服器。\n2. Safari瀏覽器 + 日本VPN # 透過iOS內建的Safari瀏覽器遊玩遊戲。這個方法適合簡單收個遠征。\n測試系統版本：iOS 18\n開啟VPN APP，連線到日本伺服器。\n開啟遊戲網頁：http://www.dmm.com/netgame/social/-/gadgets/=/app_id=854854，登入DMM帳號。\niPhone用戶可能要點選Safari選項，要求開啟「電腦版網站」。\n注意登入DMM帳號之後，連線網址應該是 http 而非 https 開頭，否則會遇到白畫面(白屏)。 進入母港之後就可以斷掉VPN了。\n善用Safari的網頁縮放功能，讓遊戲不要超出螢幕範圍。 如果要讓遊戲進入全螢幕，要透過書籤執行JavaScript指令解決。隨便將一個網頁加入Safari書籤，然後開啟書籤列表，長按編輯書籤網址： 將網址修改為以下指令，修改網頁元素CSS排版。\njavascript:(($,_)=\u0026gt;{const%20html=$.documentElement,gf=$.getElementById(\u0026#39;game_frame\u0026#39;),gs=gf.style,gw=gf.offsetWidth,gh=gw*.6;let%20vp=$.querySelector(\u0026#39;meta[name=viewport]\u0026#39;),t=0;vp||(vp=$.createElement(\u0026#39;meta\u0026#39;),vp.name=\u0026#39;viewport\u0026#39;,$.querySelector(\u0026#39;head\u0026#39;).appendChild(vp));vp.content=\u0026#39;width=\u0026#39;+gw;\u0026#39;orientation\u0026#39;in%20_\u0026amp;\u0026amp;html.webkitRequestFullscreen\u0026amp;\u0026amp;html.webkitRequestFullscreen();html.style.overflow=\u0026#39;hidden\u0026#39;;$.body.style.cssText=\u0026#39;min-width:0;overflow:hidden;margin:0\u0026#39;;$.querySelector(\u0026#39;.dmm-ntgnavi\u0026#39;).style.display=\u0026#39;none\u0026#39;;$.querySelector(\u0026#39;.area-naviapp\u0026#39;).style.display=\u0026#39;none\u0026#39;;$.getElementById(\u0026#39;ntg-recommend\u0026#39;).style.display=\u0026#39;none\u0026#39;;gs.position=\u0026#39;fixed\u0026#39;;gs.marginRight=\u0026#39;auto\u0026#39;;gs.marginLeft=\u0026#39;auto\u0026#39;;gs.top=\u0026#39;-16px\u0026#39;;gs.right=\u0026#39;0\u0026#39;;gs.zIndex=\u0026#39;100\u0026#39;;gs.transformOrigin=\u0026#39;50%25%2016px\u0026#39;;if(!_.kancolleFit){const%20k=()=\u0026gt;{const%20w=html.clientWidth,h=_.innerHeight;w/h\u0026lt;1/.6?gs.transform=\u0026#39;scale(\u0026#39;+w/gw+\u0026#39;)\u0026#39;:gs.transform=\u0026#39;scale(\u0026#39;+h/gh+\u0026#39;)\u0026#39;;w\u0026lt;gw?gs.left=\u0026#39;-\u0026#39;+(gw-w)/2+\u0026#39;px\u0026#39;:gs.left=\u0026#39;0\u0026#39;};_.addEventListener(\u0026#39;resize\u0026#39;,()=\u0026gt;{clearTimeout(t);t=setTimeout(k,10)});_.kancolleFit=k}kancolleFit()})(document,window) 之後點一下書籤，遊戲就會進入全螢幕。 iOS 17以前的Safari似乎會把http強制改成https。得透過書籤解決。新增一個書籤，將網址改為以下指令。這樣遇到白畫面情況點這個書籤就能變成http連線。\njavascript:window.open(%22http:%22+gadgetInfo.URL,%27_blank%27); 3. 第三方輔助程式APP：艦橋 # 除了玩遊戲之外，還有統計出擊結果輔助功能的APP。\n以前有個APP叫做iKanColleCommand，但是已停止維護，建議用其他的APP。\n2024年NGA開發者推出的「艦橋」算是一個不錯的替代品，使用Flutter寫成，有出擊統計與大破提醒功能，並針對直向螢幕優化，艦隊資訊一目了然。 艦橋的程式原始碼位於Github，可以放心使用。需要iOS 12以上版本的裝置才能夠安裝。\n作者推出了三種版本的APP：\n名稱 功能 下載 艦橋Lite 免費版，僅有網頁瀏覽器功能，自動進入全螢幕。 App Store NextNavi 付費版，似乎有出擊紀錄功能。 App Store 艦橋 免費版，提供完整出擊紀錄功能。 Github，需要使用AltStore側載IPA。 不論使用哪個版本都需要掛著日本VPN才能登入DMM帳號，進入母港之後就可以斷掉VPN了。\n參考資料 # 2025年1月アップデート対応 艦これがiPhoneで動かないときの対処法！ - キニナルベル 2025年1月アップデート対応版！艦これをiPhone/Android上で全画面プレイする方法！ - キニナルベル 舰colle iOS/iPadOS/macOS/Android 舰桥ConningTower 跨平台舰C浏览器 - NGA ","date":"2025年5月2日","externalUrl":null,"permalink":"/posts/kantai-collection-ios/","section":"Kantai-Collections","summary":"註：2025年10月之後，艦隊Collection遊戲網址 https://play.games.dmm.com/game/kancolle 已經不需要VPN就能直接連線。\n本文Ivon將探討在iPhone與iPad遊玩艦隊Collection的方法，不考慮遠端桌面。 艦隊Collection(艦隊收藏)已經上線12週年了，依然沒有iOS版本。C2機關只有在DMM GAMESストア推出Android版艦これ，就是一個套殼的瀏覽器APP。\n雖說艦隊Collection作為一款網頁遊戲，2019年二期從Adobe Flash移植到HTML5之後，只要有Safari瀏覽器就能玩，但是仍要解決需要日本VPN的問題，最好還要有一個紀錄戰鬥紀錄的輔助工具。\n相較於Android系統有Kcanotify + Gotobrowser這樣的好物，iOS系統提督玩的會比較痛苦些。\n建議先在電腦上註冊好DMM帳號登入成為新米提督，然後再解決於iOS遊玩的問題。\n主要可以分為Safari遊玩法，還有第三方輔助程式APP遊玩法。\n1. 不管怎麼說，就是要有日本VPN # VPN只是暫時的跳板，用途在於繞過DMM登入網頁的海外IP封鎖。成功登入艦隊Collection母港之後就不需要連著VPN了。\n電腦版的KC3和Android版GotoBrowser都可以不用VPN連線進入遊戲，背後靠的是gadget server登入封鎖繞行的技術。短暫在進入遊戲前更改伺服器，繞過DMM的IP封鎖。\n","title":"iOS玩艦隊Collection的方法分享，瀏覽器與輔助工具APP","type":"kantai-collection"},{"content":" 註：2025年10月之後，針對已經註冊過的提督，艦隊Collection遊戲網址 https://play.games.dmm.com/game/kancolle 已經不需要VPN就能直接連線。所以你應該不需要執行本文所描述的步驟了。\n分享不需要VPN，直連進入《艦隊Collection》的方法。\n注意：本文方法不適用於沒有註冊過遊戲的玩家。新玩家必須掛著日本VPN進過一次母港，跑完遊戲新手教學後才可以使用以下方式。\n《艦隊Collection》新手註冊教學請看這裡。\n前言 # 2020年2月以後，《艦隊Collection》（艦これ / 艦隊收藏）封鎖日本以外的IP登入遊戲，直連需要VPN，在遊戲主畫面載入完成後才能斷開，包含Android版官方APP也一樣。\n每次登入都要開VPN實在太麻煩了，現在有玩家社群開發的程式可以解決VPN的問題。本文將討論在電腦或手機免VPN玩《艦隊Collection》的方法，新玩家請優先嘗試KC3的方法，老玩家請善用CTRL+F查找對應的瀏覽器。\n1. 電腦端 # 電腦端指的是用Windows、Linux、macOS系統的瀏覽器遊玩。\n1.1. KC3擴充功能 # 透過KC3改cookie＋置換Gadget server。能裝Chrome擴充功能的瀏覽器都建議使用此方式。\nKC3 (KanColle Command Center 改) 是以瀏覽器擴充功能運作的艦これ輔助程式，具有詳細的後台統計功能，這篇文章有詳細功能介紹。 1.2. poi瀏覽器 # poi瀏覽器是整合許多輔助功能的艦これ專用瀏覽器，開源跨平台，可裝擴展程式增加功能。利用kcwiki提供的擴展程式，設定gadget server繞行。\n需要poi瀏覽器11.0.0以上版本，請到官網下載。\n開啟poi瀏覽器，點選右側設定，在「高階設定」勾選「設定DMM地區cookie」 切換到擴展程式頁面，搜尋安裝poi-plugin-let-me-in。這個擴展程式由kcwiki開發組製作，原始碼位於Github 重新啟動瀏覽器，應該就能夠登入遊戲。如果不行，嘗試清理cookie和快取再重做一次步驟。\n1.3. 其他瀏覽器搭配KCCacheProxy # 自己架本機gadget server來繞過IP封鎖，還能順便魔改。本方法適用於Firefox、提督業も忙しい！、七四式電子観測儀等瀏覽器。\n請先安裝KCCacheProxy服務。\n七四式電子観測儀 + KCCacheProxy設定方法：\n開啟七四式，按左上角設定。 在「通信」區塊，勾選「上流プロキシを利用する」，旁邊框框填入「8081」，按OK關閉視窗。 按左上角的三個藍色點點，按「開発者ツールを開く」 切換到「Console」頁籤 在有「\u0026gt;」的地方貼上以下程式碼改cookie，按Enter。\nexpires=new Date(+new Date()+31536e6).toUTCString() document.cookie=\u0026#39;ckcy=1;expires=${expires};path=/netgame;domain=.dmm.com\u0026#39; 重新載入遊戲頁面。 提督業も忙しい！ + KCCacheProxy設定方法：\n開啟提督業も忙しい後按下方的Informaton，勾選「次回起動時にキャッシュを削除する」這樣會在下次重啟之後清除快取和cookie。 切換到「Settings」，按「通信設定」，勾選「プロキシサーバーを指定する」。HTTP欄位填入:127.0.0.1，最右邊的ポート填: 8081。滾動到最下面，按「保存」，接著重新啟動KCV。 重開後先不要登入遊戲，把網址列的網址刪掉。先輸入這一行，按ENTER。\njavascript:var expires=new Date(+new Date()+31536e6).toUTCString() 再輸入這行，按enter。 javascript:document.cookie=\u0026#39;ckcy=1;expires=${expires};path=/netgame;domain=.dmm.com\u0026#39; 輸入後KCV應該會黑畫面。之後再按右邊重新載入的按紐，就可以登入遊戲。 2. 手機端 # 2.1. Android系統 # 《艦隊Collection》有在DMM GAMESストア上架官方APK，但是不建議使用，該版本還在使用一期的Adobe Flash，非常容易玩到一半卡死。\n建議改用Kcanotify作者開發的「Gotobrowser」，可以直接遊玩二期HTML5版的《艦隊Collection》。這篇有詳細Gotobrowser使用解說。 2.2. iOS系統 # 《艦隊Collection》沒有官方iOS APP，可以開iPhone的Safari玩，或者使用第三方輔助程式。\n參閱iOS玩艦隊Collection的方法分享 4. 所謂不用VPN的原理 # 瀏覽器按一下F12開啟開發人員工具 → Network，就能檢查連線時遇到的問題。\n所謂不用VPN的原理呢，其實很簡單。\n過去DMM主要是封鎖海外IP存取遊戲網頁，而改cookie(烤餅乾)僅是改一個變數，騙過DMM的登入網頁，從而進入遊戲。\n然而，2020年後DMM連遊戲資料的Gadget server也禁止海外IP存取，遊戲在下載資料(艦娘卡面之類的)時便會遇到403「禁止存取」的錯誤，導致無法進入遊戲。此時只有日本IP(VPN)能穩定下載遊戲資料。進入母港之後就無IP限制，所以VPN就能關掉。\n因此，本文提及的工具除了改cookie以外，他們還會實作「置換Gadget server」的功能，也就是在遊戲載入時，把下載遊戲資料的網址替換成Kcwiki的快取伺服器，從而繞過無法存取Gadget server的問題，順利進入遊戲。\n新玩家之所以無法用此方法直接進入遊戲，原因在於新玩家尚未選擇鎮守府(伺服器)，輔助程式會找不到對應的伺服器IP做置換。\n針對有特殊需求的玩家，前拆包神人Tibowl還開發了KCCacheProxy，也就是本機代理伺服器，充當Gadget server，這樣就不用依賴KCwiki的快取伺服器啦。除此之外，置換快取也能拿來魔改遊戲素材。\n至於OOI，這是存在很久的連線網站了，因為伺服器就架在日本，所以玩家從OOI的網頁登入DMM帳號，連VPN都省了。\n5. 延伸閱讀 # 英文KCWiki的連線指南\n","date":"2025年5月2日","externalUrl":null,"permalink":"/posts/kancolleconnectiontutorial/","section":"Kantai-Collections","summary":" 註：2025年10月之後，針對已經註冊過的提督，艦隊Collection遊戲網址 https://play.games.dmm.com/game/kancolle 已經不需要VPN就能直接連線。所以你應該不需要執行本文所描述的步驟了。\n分享不需要VPN，直連進入《艦隊Collection》的方法。\n注意：本文方法不適用於沒有註冊過遊戲的玩家。新玩家必須掛著日本VPN進過一次母港，跑完遊戲新手教學後才可以使用以下方式。\n《艦隊Collection》新手註冊教學請看這裡。\n前言 # 2020年2月以後，《艦隊Collection》（艦これ / 艦隊收藏）封鎖日本以外的IP登入遊戲，直連需要VPN，在遊戲主畫面載入完成後才能斷開，包含Android版官方APP也一樣。\n每次登入都要開VPN實在太麻煩了，現在有玩家社群開發的程式可以解決VPN的問題。本文將討論在電腦或手機免VPN玩《艦隊Collection》的方法，新玩家請優先嘗試KC3的方法，老玩家請善用CTRL+F查找對應的瀏覽器。\n1. 電腦端 # 電腦端指的是用Windows、Linux、macOS系統的瀏覽器遊玩。\n","title":"《艦隊Collection》不需要VPN的連線方法，適用於電腦與手機","type":"kantai-collection"},{"content":"我們知道，艦隊Collection（艦隊收藏、艦これ）有許多遊戲資料是黑箱運作的，提督們經過反覆檢證與計算，才把一個個的遊戲公式推算出來，例如索敵值、制空值、遠征配置等資料，讓提督能夠有效的攻略遊戲。\n為了更有效的攻略遊戲，玩艦隊Collection時好的輔助程式是不可少的，它可以減少提督翻閱Wiki、手動按計算機的時間。\n本文Ivon要介紹的是「KC3改」，全名「KanColle Command Center 改」，下面簡稱KC3。 這是一款強大的艦隊Collection輔助程式兼資料統計工具，它可以查看鎮守府全部艦隊的資料，提供對編成有用的資訊。KC3還會在背景統計一切出擊資訊，方便日後查閱。 KC3僅讀取遊戲資料，不修改遊戲封包，不會被當成作弊程式。\n下面讓Ivon介紹這款KC3工具的強大之處，以及基本的使用方法。\n1. KC3特色功能 # 自動改cookie和gadget server，免VPN繞過DMM的海外IP封鎖。\nKC3由英文圈艦隊Collection玩家維護，開發社群活躍，每個月都有更新。\nKC3是跨平台輔助程式，有瀏覽器就能用，支援Linux、Windows、macOS系統。\n界面、艦娘語音、任務有部份中文翻譯。 KC3可防止肝船時手滑大破進擊（物理） 防止遊戲黑箱：整合艦隊Wiki資料，KC3可查看艦娘士氣具體數值、預知戰鬥結果、飛機損失、制空值、聯合艦隊運輸值、適重砲、索敵值 出擊不用再手抄數值：自動紀錄編成配置、出擊紀錄、海圖敵人、建造紀錄、遠征紀錄、演習紀錄、資源損耗。 在「策略研究室」一覽鎮守府全部資源、艦娘升級經驗值、出擊編成資訊、追蹤任務，計算最佳遠征配置、資源消耗，規劃未來艦隊發展方向。 最後，KC3可做簡易拆包工具，後台可以檢視新艦娘與深海CG、播放任一遊戲BGM、查看活動破甲提示。 2. 安裝KC3 # KC3是自由軟體，原始碼位於Github，討論群位於Discord，欲貢獻KC3翻譯請fork這個儲存庫。\nKC3相容所有基於Chromium核心開發的瀏覽器。您可以到Chrome擴充功能商店下載KC3。 注意：根據KC3官方Wiki的說明，KC3是使用Manifest V2標準寫成的擴充功能，開發團隊在短期內無法改寫為最新的Manifest V3標準，而Google Chrome已於2024年6月停止支援Manifest V2，所以新版Google Chrome無法安裝KC3。\n若是老用戶，請儘快備份KC3資料（策略研究室 → 數據還原），改用依然支援Manifest V2標準的瀏覽器來裝KC3，例如Brave瀏覽器和Ungoogled Chromium。\n或者，使用KC3開發團隊推出的專用瀏覽器damecon-browser，名字意思為「應急修理要員瀏覽器」。這個瀏覽器會自動安裝KC3與KCCacheProxy，後者可以用來當作魔改工具。\n現支援Linux與Windows系統。到Github Release下載安裝Windows exe，安裝damecon-browser。\n用法：初次開啟等待KC3擴充功能下載完成。隨後KC3面板會自動開啟，按F12開啟開發人員工具，將頁面切換到「Kancolle」，即會載入遊戲頁面。 3. 建議勾選的KC3設定 # KC3設定選項很多，此處僅列出Ivon覺得最重要的選項。\nKC3安裝後，請點一下瀏覽器右上角擴充功能列表，點選設定 首先勾選「防止大破進擊」的功能，點選用妖精阻擋。這樣一旦艦娘大破就會有妖精擋住進擊按鈕，需要玩家按F10手動確認。 再來API模式功能設定，勾選「離開前需要再次確認」可防止不小心按到瀏覽器打叉誤關視窗。 KC3會自動將任務翻譯為中文或英文，並直接替換遊戲內的日文文本，如果不想要這個功能，將「翻譯任務」的選項取消打勾。\n勾選語音字幕功能，這樣艦娘講話就會出現字幕。不過中文字幕缺東缺西的，沒有翻譯到的部份KC3會用英文字幕填充。 KC3預設會把遊戲網頁背景變成藍色，在背景圖片這邊貼上圖片連結即可自訂背景圖片。 必勾的選項，繞過DMM區域限制還有代理伺服器，這樣KC3會自動改cookie並置換gadget server，繞過IP封鎖。請注意：新手玩家需要掛VPN進過一次母港才可以使用此功能。 最後是幫助線上玩家社群的功能，您可以貢獻活動海圖的掉落資料給這些統計網站。 4. KC3的開啟方式 # 開啟艦隊Collection遊戲頁面：https://play.games.dmm.com/game/kancolle，登入DMM帳號。\n在進入母港之前，按F12開啟開發人員工具（或是按右上角三個點 → 更多工具 → 開發人員工具） 點選「KanColle」頁籤，會出現等待遊戲回應中 接著就可以進母港了，KC3隨即會讀取玩家資料，顯示艦隊資訊 另一種開啟方式：點選KC3的擴充功能圖示，按「開始艦隊收藏」，然後在這個頁面按F12開啟開發人員工具，切換到Kancolle頁籤，遊戲網頁就會自動載入。 5. KC3使用技巧 # 介紹各式按鈕的用途，以及小技巧。\n首先，KC3會覆蓋遊戲畫面，無法打字輸入，因此要修改艦隊名字、簽名檔等文字欄位的時候，需要連按F7暫時取回輸入文字的權限。 開發人員工具可以按右上角的三個點 → 固定側，改變顯示位置 大部分瀏覽器的面板應該是可以按「Ctrl與＋號」縮放的。因此要邊打邊看攻略的時候，我會利用電腦的視窗並排功能如此排列視窗： KC3查看艦隊資訊十分方便，面板會顯示遠征狀態、裝備、士氣狀態、制空值、索敵值。按一下「索敵」切換分歧係數。 還會自動偵測艦隊是否為聯合艦隊，並顯示加總結果 飛機的按鈕按下去，可查看各海域的基地航空隊狀態，並快速計算制空值。 右上角的一排按鈕，分別為靜音、關閉大破警告、擷圖、匯出至艦隊計算機。擷圖需要點一次「擷圖」，並點一次瀏覽器右上角KC3的圖示，才能成功存檔。 如果您嫌KC3的計算功能不夠多，那麼點「匯出至艦隊計算機」即可使用日本網友做的網站做更詳細之計算。\n在配裝的時候，KC3會自動檢查適重砲、反潛、對陸、特殊裝備加成的效果。這些資料來自Wiki與各方檢證的結果，KC3每個禮拜都會更新修正。 出擊的時候KC3會預測下個點往哪邊走，並顯示遇過的敵人，有助於提醒玩家使用哪個陣型。 通常晝戰結束前KC3就會顯示本次戰鬥結果了（無法提前預測夜戰結果），玩家可以從KC3面板看到目前損失多少飛機，方便玩家肝船的時候快速預覽結果。 6.「策略研究室」功能介紹 # 策略研究室是KC3最殺的功能，背後統計的資料多不勝數。只要登入一次，KC3就會抓取鎮守府的全部資料，因此這裡的資料不開遊戲網頁也可以觀看，另提供備份資料功能。\n缺點是策略研究室中文化進度不高，大部分界面是英文的。\n由於功能眾多，我無法一一細講，僅重要的我會特別提出來。\n首先點選KC3圖示，進入策略研究室 「Resources」、「Consumables」、「Ledger」顯示的是玩家資源消耗的圖表，可作為打活動的遺照紀錄。 「Event Statistics」面板會顯示整個活動的傷害MVP、大發磁鐵（背最多大發的艦娘），以及是哪位艦娘把王斬了。 「Showcase」、「Ship List」、「Badge」檢視玩家所擁有的艦娘、裝備。 「Showcase」裡面可按「Export」匯出成圖表，用於炫耀、健檢之用。 協助玩家成長：「Leveling」顯示艦娘升級的經驗值統計，「Blueprints」顯示可改造的艦娘所需資材。 「Akashi」檢視明石改修的日程表 「Fleet Manager」是很好用的艦隊配置檢視器 它還可以匯出配置到DeckBuilder、ImgBuilder等外部服務，製作精美的艦隊配置圖。 「Locking」顯示活動鎖船的狀態。此面板也可以手動排序，事先安排要把船投入哪個海域。 「Quest Flowchart」方便追蹤任務鏈的前置任務。「Required Ships」則是顯示任務要用到哪些船。 「Maps」、「Events」是出擊一覽，點一下列表的項目左邊的數字，可查看當時出擊的艦隊配置。 按左邊的REP會給您一張圖片，讓您上傳到KanColle Battle Replayer重播戰鬥畫面。順帶一提，KC3開發組還有製作艦隊出擊模擬器。 「Expedition Scorer」可以自動計算推薦配置，將資源獲取效率最大化。例如按「Bucket」就會列出取得修復資材最有效率的遠征。 「Ships」界面檢視所有艦娘與深海棲艦的CG，連季節限定的立繪都可以看。 「JukeBox」可以播放任意遊戲BGM。 7. 備份與還原KC3資料 # 由Lady曉為您完成備份作業。\n進入策略研究室 → 數據還原，目前有二個備份方法。V1的備份會將全部檔案壓縮成單一zip檔，方便在不同電腦之間轉移；V2則是單純將備份固定存到一個資料夾，並且日後可以增量備份。\n為求方便，我使用Backup V2的備份方法。如果這個方法不能用，請改用V1備份法。\n按下Create New Backup 選擇一個電腦資料夾，例如下載/KC3Backup 賦予讀取權限，讓曉開始備份 之後備份就完成了。 要更新現有備份 → 按Update Exisiting Backup\n要還原備份 → Restore Data From Backup，選取備份所在的資料夾。注意還原備份會覆寫現有的KC3資料。\n","date":"2025年5月2日","externalUrl":null,"permalink":"/posts/kancolle-command-center-kai/","section":"Kantai-Collections","summary":"我們知道，艦隊Collection（艦隊收藏、艦これ）有許多遊戲資料是黑箱運作的，提督們經過反覆檢證與計算，才把一個個的遊戲公式推算出來，例如索敵值、制空值、遠征配置等資料，讓提督能夠有效的攻略遊戲。\n為了更有效的攻略遊戲，玩艦隊Collection時好的輔助程式是不可少的，它可以減少提督翻閱Wiki、手動按計算機的時間。\n本文Ivon要介紹的是「KC3改」，全名「KanColle Command Center 改」，下面簡稱KC3。 這是一款強大的艦隊Collection輔助程式兼資料統計工具，它可以查看鎮守府全部艦隊的資料，提供對編成有用的資訊。KC3還會在背景統計一切出擊資訊，方便日後查閱。 KC3僅讀取遊戲資料，不修改遊戲封包，不會被當成作弊程式。\n下面讓Ivon介紹這款KC3工具的強大之處，以及基本的使用方法。\n1. KC3特色功能 # 自動改cookie和gadget server，免VPN繞過DMM的海外IP封鎖。\nKC3由英文圈艦隊Collection玩家維護，開發社群活躍，每個月都有更新。\nKC3是跨平台輔助程式，有瀏覽器就能用，支援Linux、Windows、macOS系統。\n","title":"「KC3改」使用教學，玩《艦隊Collection》好用的瀏覽器輔助程式","type":"kantai-collection"},{"content":"在使用Docker安裝Jellyfin之後，預設是使用CPU轉碼影片，若啟用GPU硬體加速 (Hardware Acceleration) 轉碼可讓影片處理速度更快。\nJellyfin觸發轉碼的時機為何？何時該使用轉碼？參見Jellyfin的直接播放 (Direct Play) 與轉碼 (Transcoding)\nJellyfin支援Intel、AMD、Nvidia、Apple、Rockchip的加速技術，官方文件對此有詳細說明。\n為方便處理影片，Jellyfin官方開發了特製版的jellyfin-ffmpeg套件，此一套件已含在Jellyfin的官方Docker映像檔，無需另外安裝。\n1. Nvidia GPU啟用NVENC硬體解碼 # 首先要先安裝Nvidia驅動和Nvidia Container Toolkit\n將使用者加入video群組\nsudo usermod -aG video root sudo usermod -aG video $USER 編輯docker-compose.yml，在最下面加入runtime runtime: nvidia deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] 更新Jellyfin容器的動態連結，重啟Docker服務 sudo docker exec -it jellyfin ldconfig sudo systemctl restart docker 檢查容器是否能存取Nvidia顯示卡，應能印出顯示卡驅動資訊 sudo docker exec -it jellyfin nvidia-smi 進入Jellyfin首頁，點選左邊選單→ 「設定」→「控制台」 →「播放」，選擇使用Nvidia NVENC硬體加速（注意每張Nvidia顯示卡能支援的編碼都不同，AV1至少需要RTX30以上），再往下捲動按儲存。 2. Intel CPU啟用QSV或VA-API硬體解碼 # 只要Intel CPU有內顯，幾乎所有Intel GPU都支援VA-API硬體解碼。QSV則是要Haswell架構以後才支援。\n儘管開發者說Intel解碼驅動和OpenCL執行時已含在Jellyfin的映像檔，不需要額外安裝驅動，但若驅動找不到，請還是參考官方文件了解要安裝哪些驅動套件。可能還得設定LIBVA_DRIVER_NAME的環境變數。\n安裝OpenCL執行時套件 sudo apt install intel-opencl-icd 將使用者加入render群組 sudo usermod -aG render root sudo usermod -aG render $USER 取得render群組的ID，每台電腦數字不一樣 sudo getent group render | cut -d: -f3 修改docker-compose，在最下面加入devices： devices: - /dev/dri/renderD128:/dev/dri/renderD128 重新啟動容器 sudo docker compose down sudo docker compose up -d 檢查Jellyfin容器能否印出Intel解碼器版本 sudo docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/vainfo 檢查Jellyfin容器能否印出OpenCL執行時 sudo docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -v verbose -init_hw_device vaapi=va -init_hw_device opencl@va 重新啟動容器 sudo docker compose down sudo docker compose up -d 至Jellyfin首頁，點選左邊選單 → 「設定」→「控制台 →「播放」，選擇使用Intel QSV硬體加速，往下捲動按儲存。\n要確認影片解碼有無運作，隨便開一部影片，然後用nvtop這類工具查看GPU使用率就知道了。 ","date":"2025年5月2日","externalUrl":null,"permalink":"/posts/jellyfin-hardware-acceleration/","section":"所有文章","summary":"在使用Docker安裝Jellyfin之後，預設是使用CPU轉碼影片，若啟用GPU硬體加速 (Hardware Acceleration) 轉碼可讓影片處理速度更快。\nJellyfin觸發轉碼的時機為何？何時該使用轉碼？參見Jellyfin的直接播放 (Direct Play) 與轉碼 (Transcoding)\nJellyfin支援Intel、AMD、Nvidia、Apple、Rockchip的加速技術，官方文件對此有詳細說明。\n為方便處理影片，Jellyfin官方開發了特製版的jellyfin-ffmpeg套件，此一套件已含在Jellyfin的官方Docker映像檔，無需另外安裝。\n1. Nvidia GPU啟用NVENC硬體解碼 # 首先要先安裝Nvidia驅動和Nvidia Container Toolkit\n將使用者加入video群組\nsudo usermod -aG video root sudo usermod -aG video $USER 編輯docker-compose.yml，在最下面加入runtime runtime: nvidia deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] 更新Jellyfin容器的動態連結，重啟Docker服務 sudo docker exec -it jellyfin ldconfig sudo systemctl restart docker 檢查容器是否能存取Nvidia顯示卡，應能印出顯示卡驅動資訊 sudo docker exec -it jellyfin nvidia-smi 進入Jellyfin首頁，點選左邊選單→ 「設定」→「控制台」 →「播放」，選擇使用Nvidia NVENC硬體加速（注意每張Nvidia顯示卡能支援的編碼都不同，AV1至少需要RTX30以上），再往下捲動按儲存。 2. Intel CPU啟用QSV或VA-API硬體解碼 # 只要Intel CPU有內顯，幾乎所有Intel GPU都支援VA-API硬體解碼。QSV則是要Haswell架構以後才支援。\n","title":"Jellyfin Docker啟用GPU硬體加速轉碼，讓串流更順暢","type":"posts"},{"content":"覺得Magisk太容易被Root偵測針對？想用KernelSU卻發現手機廠商太黑心不支援GKI核心？這時可以使用APatch作為替代。\nAPatch是介於KernelSU以及Magisk的折衷方案，同時相容兩邊的模組，並且可以達到不錯的Root隱蔽性。 本文Ivon分享開源Root方案「APatch」的安裝方式。\n撰文當下測試的手機：Sony Xperia 10 V，系統版本LineageOS 23 (Android 16)，APatch版本11142\n1. APatch介紹 # APatch屬於融合Magisk與KernelSU二者優點的Root方案，最早於2024年出現，開發者為bmax121。\n根據APatch官網文件介紹，APatch有以下特點：\nAPatch執行於kernel space，不容易被偵測到。 APatch支援Linux核心版本3.8以上，64位元的Android裝置。 Linux核心需啟用「CONFIG_KALLSYMS=y 和CONFIG_KALLSYMS_ALL=y」或者「CONFIG_KALLSYMS=y和CONFIG_KALLSYMS_ALL=n」選項，大部分裝置應該都有。 APatch不像KernelSU需要GKI核心，也不用重新編譯Linux核心，只要像Magisk那樣修補boot.img就好了，因此理論上支援更多裝置。 APatch的隱藏Root能力接近KernelSU，但沒辦法100%通過Play Integrity。 APatch同時支援Magisk與KernelSU的模組，也支援使用Zygisk，相容KsuWebUI。 內建Busybox工具，不需要額外安裝Magisk模組。 超級密鑰(SuperKey)為APatch所新增的項目，它是應用程式執行高權限的SuperCall所需的金鑰，使用者得用APatch的APP自行設定一組密碼。SuperCall的權限比Root權限更高，可以在裝置上執行任意操作，因此不要用太簡單的密碼。 從以上資料可以觀察到，APatch算是Magisk與KernelSU兩者之間的折衷方案，給那些想要更好隱藏Root，卻無法使用KernelSU用戶的另外一個選擇。\n2. 修補boot.img，安裝APatch # 解鎖手機的Bootloader。通常為了安全，解鎖Bootloader後手機會自動清除一次手機資料。\n如果已經有Root權限，先在ADB Shell執行指令，檢查目前的核心是否有啟用APatch要求的選項，否則就得重新編譯核心了：\nzcat /proc/config.gz | grep -w CONFIG_KALLSYMS # 應會列出CONFIG_KALLSYMS=y 和CONFIG_KALLSYMS_ALL=y 準備裝置的boot.img，原廠Android系統通常能從刷機包裡面解出來，例如LineageOS的話就到ROM下載頁面取得boot.img。APatch官方文件提到，APatch不修補init_boot.img，一律都是選取boot.img。\n將boot.img用MTP傳到手機。\n到APatch的Github下載APK。這個階段還不需要Root權限。\n開啟APP後點選右上角 → 選取要修補的boot.img映像檔 設定一組超級密鑰，不要用太簡單的密碼，然後開始修補 修補完的boot.img應該會儲存到手機內部儲存空間Download資料夾。\n把修補後的檔案用MTP傳到電腦。\n下載Platform Tools，將手機連上電腦，讓手機進入Fastboot模式。\n再用fastboot指令，刷入修補過的boot.img到手機的boot分區\nfastboot flash boot apatch_patched_*.img 重開機後輸入超級密鑰就能用了。 APatch界面操作類似KernelSU，所有的APP預設都無法使用Root權限，必須個別啟用。 KernelSU模組請到「KP」模組界面刷入；Magisk模組則是到「AP」模組界面刷入。\n3. 隱藏Root \u0026amp; 通過Play Integrity # 參考Magisk隱藏Root + 通過Play Integrity ","date":"2025年4月30日","externalUrl":null,"permalink":"/posts/apatch-android-root/","section":"所有文章","summary":"覺得Magisk太容易被Root偵測針對？想用KernelSU卻發現手機廠商太黑心不支援GKI核心？這時可以使用APatch作為替代。\nAPatch是介於KernelSU以及Magisk的折衷方案，同時相容兩邊的模組，並且可以達到不錯的Root隱蔽性。 本文Ivon分享開源Root方案「APatch」的安裝方式。\n撰文當下測試的手機：Sony Xperia 10 V，系統版本LineageOS 23 (Android 16)，APatch版本11142\n1. APatch介紹 # APatch屬於融合Magisk與KernelSU二者優點的Root方案，最早於2024年出現，開發者為bmax121。\n根據APatch官網文件介紹，APatch有以下特點：\nAPatch執行於kernel space，不容易被偵測到。 APatch支援Linux核心版本3.8以上，64位元的Android裝置。 Linux核心需啟用「CONFIG_KALLSYMS=y 和CONFIG_KALLSYMS_ALL=y」或者「CONFIG_KALLSYMS=y和CONFIG_KALLSYMS_ALL=n」選項，大部分裝置應該都有。 APatch不像KernelSU需要GKI核心，也不用重新編譯Linux核心，只要像Magisk那樣修補boot.img就好了，因此理論上支援更多裝置。 APatch的隱藏Root能力接近KernelSU，但沒辦法100%通過Play Integrity。 APatch同時支援Magisk與KernelSU的模組，也支援使用Zygisk，相容KsuWebUI。 內建Busybox工具，不需要額外安裝Magisk模組。 超級密鑰(SuperKey)為APatch所新增的項目，它是應用程式執行高權限的SuperCall所需的金鑰，使用者得用APatch的APP自行設定一組密碼。SuperCall的權限比Root權限更高，可以在裝置上執行任意操作，因此不要用太簡單的密碼。 從以上資料可以觀察到，APatch算是Magisk與KernelSU兩者之間的折衷方案，給那些想要更好隱藏Root，卻無法使用KernelSU用戶的另外一個選擇。\n","title":"APatch Root方案安裝教學，相容KernelSU與Magisk模組，繞過Play Integrity","type":"posts"},{"content":"有時候執行flatpak install安裝應用程式的時候，會跳出要安裝到System還是User的選項？\n這二者分別代表安裝到system-wide還有per-user，究竟有什麼差呢？\n這裡Ivon試圖回答這個問題。\n1. flatpak remote-add用法 # 首先要了解flatpak安裝應用程式的原理。它需要加入遠端套件庫才能安裝，對大多數用戶來說只有Flathub能選。\n許多沒有內建Flatpak的Linux發行版，在安裝之後會要求使用者手動加入Flathub套件庫，所用的指令便是flatpak remote-add。\nFlatpak官方文件常常建議，將Flathub加入到System，代表這台電腦上的所有使用者帳號都能夠安裝Flathub的應用程式\nflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 或者加入到User，只有目前的使用者帳號能安裝Flathub的應用程式\nflatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 若System和User同時都有加入Flathub套件庫，則安裝前會詢問要安裝到System還是User。\n如果不想要在安裝的時候跳出要安裝到System還是User的提示，就把其中一方的套件庫移除：\nflatpak --system remote-delete flathub 2. Flatpak安裝到System和User的差別 # 主要差異是安裝後應用程式存放的目錄不同。\nSystem的資料位於/var/lib/flatpak/ User位於~/.local/share/flatpak/ 注意這邊的指的是應用程式存放的目錄，也就是ostree儲存庫，還有更新時候的依賴runtime等等。因為這些路徑的Desktop Entry會加入$XDG_DATA_DIR環境變數，因此桌面環境能夠讀取到System和User的應用程式圖示。\n應用程式執行所產生的資料，會依照$XDG_CONFIG_DIR路徑，存在對應使用者的家目錄。不論是安裝到System還是User，都只會寫入到對應使用者~/.var/app/，而非/var/lib/flatpak/。\n譬如，一般使用者執行了安裝到System的Firefox，則Firefox的資料依然是存在~/.var/app/，並非/var/lib/flatpak/。\n假若System和User同時安裝同一個應用程式，資料可能還是會放在一起的。但為什麼桌面應用程式列表不會看到兩個Desktop Entry圖示？因為$XDG_DATA_DIR環境變數裡面User優先級較System高，因此不會看到一樣程式的兩個圖示。\n安裝到System的應用程式，電腦上所有的使用者都可以使用。但是執行flatpak update的時候需要有root權限的用戶執行。\n安裝到User的應用程式，只有該使用者看得到，並且不需要root權限就能執行flatpak update更新軟體。這個設計非常適合immutable distro使用。\n除少數特殊應用程式，例如GPU Screen Rcoerder為了存取Intel/AMD GPU需要用到一些hacky的方法，所以一定得安裝到System，不論安裝到System還是User，其餘功能都沒有差異。\n3. 執行flatpak指令需不需要sudo # 不用。\n只有透過系統套件管理員安裝Flatpak本體的時候需要用到：sudo apt install flatpak。不過在SSH遠端工作階段更新Flatpak的時候可能會遇到瘋狂問密碼的問題，參見這個issue。這時用sudo flatpak update就能緩解。\n那麼flatpak install和flatpak --user install有什麼區別？\n大部分時候flatpak應會自動偵測，偏好以一般使用者執行flatpak指令，所以沒有必要加上--user參數。有時候可以用flatpak --system install明確指定安裝到System。\n但並非絕對，有時候部份flatpak指令可能會誤認為使用者要操作flatpak --system而非flatpak --user。\n4. 如果執行sudo flatpak的話會怎麼樣？ # 考慮以下情況：sudo flatpak install跟執行flatpak install然後安裝到System，兩者結果不一樣。\n執行flatpak install然後安裝到System，應用程式對所有使用者都可見，應用程式資料是存放在各個使用者的家目錄。\n但是如果執行sudo flatpak，則執行之後的行為便是以root用戶操作Flatpak程式。所以執行sudo -i flatpak run之後，程式資料是儲存到/root/.var/app/以及/root/.local/share/flatpak/，而非對應的使用者家目錄。且安裝的應用程式只有root用戶可見。\nFlatpak設計上就不是用來執行需要root權限的程式的，應當使用flatpak override在必要時賦予權限。沒有必要使用sudo flatpak來執行Flatpak程式。\n5. 結論 # 要安裝到System以及User，依照用途選擇就好了。考慮到大部分電腦是單使用者帳戶，所以用User大部分時候就夠用了。\n假若是多使用者帳號的電腦，每個使用者有容量限制，那麼可能會因為Flatpak過大的runtime依賴套件導致空間快速耗盡。在這種極端情況下，將Flatpak安裝到System統一管理或許會比較好。\n對於只允許Flatpak安裝程式的immutable distro，管理員(擁有root權限)的帳號可以利用Flatpak方式來管理所有使用者的應用程式。例如只有System加入Flathub套件庫，User不加，這樣User就不能下載程式了。但是Flatpak的機制不能禁止使用者自行下載應用程式。\n此外，GNOME Parental Control搭配Flatpak的權限機制，能夠限制其他用戶開啟特定程式。\n參考資料 # User vs system install - Flathub Docs\n","date":"2025年4月29日","externalUrl":null,"permalink":"/posts/flatpak-system-vs-user/","section":"所有文章","summary":"有時候執行flatpak install安裝應用程式的時候，會跳出要安裝到System還是User的選項？\n這二者分別代表安裝到system-wide還有per-user，究竟有什麼差呢？\n這裡Ivon試圖回答這個問題。\n1. flatpak remote-add用法 # 首先要了解flatpak安裝應用程式的原理。它需要加入遠端套件庫才能安裝，對大多數用戶來說只有Flathub能選。\n許多沒有內建Flatpak的Linux發行版，在安裝之後會要求使用者手動加入Flathub套件庫，所用的指令便是flatpak remote-add。\nFlatpak官方文件常常建議，將Flathub加入到System，代表這台電腦上的所有使用者帳號都能夠安裝Flathub的應用程式\nflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 或者加入到User，只有目前的使用者帳號能安裝Flathub的應用程式\nflatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 若System和User同時都有加入Flathub套件庫，則安裝前會詢問要安裝到System還是User。\n如果不想要在安裝的時候跳出要安裝到System還是User的提示，就把其中一方的套件庫移除：\nflatpak --system remote-delete flathub 2. Flatpak安裝到System和User的差別 # 主要差異是安裝後應用程式存放的目錄不同。\n","title":"比較flatpak install安裝到System以及User的差異，以及使用sudo flatpak的後果","type":"posts"},{"content":" JavPlayer是日本開發者javski2推出的影片解碼軟體，可以在播放影片的時候即時去除馬賽克。 AV去碼效果如下，雖然沒有說100%還原影片原樣，但去馬賽克後就沒有礙眼的方格子了。有時候去碼效果能夠逼近無碼外流片。 PPPD-954 裏番動畫也可以去碼，線條更為清晰。 黒獣1 JavPlayer能改善看日本AV和動畫裏番的感覺。\n要比喻的話，原本馬賽克影片是「眼睛糊到蛤仔肉」，經過JavPlayer去碼後變成「眼睛灰灰」的等級。\n啊，一切都齊全了，我們有DoujinCI能夠給圖片解碼，JavPlayer則是能給影片解碼，讓馬賽克看起來不再那麼礙眼。\n1. JavPlayer硬體需求 # 硬體需求：NVIDIA GTX 1650以上等級GPU，VRAM推薦8GB以上。對Windows系統而言，JavPlayer部份功能會使用到CUDA加速運算，所以建議使用Nvidia顯示卡，不過AMD顯示卡用戶也可以透過ZLUDA技術模擬CUDA，用ROCm達成加速效果。\n作業系統需求：JavPlayer僅支援Windows，JavPlayerEZ支援Windows與macOS。至於Linux系統，勉強可以用Wine跑JavPlayerEZ，但需要CUDA的JavPlayer就會黑螢幕。\nJavPlayer本體為閉源軟體，背後的原理是用AI技術標記影片中的馬賽克位置，再使用開源的TecoGAN或者BasicVSR++模型修復影像。因此計算時需要用到大量GPU資源，單純用CPU算會很慢。\n2. JavPlayer下載版本差異 # JavPlayer官網就放在作者的Twitter簡介，如果載點爆了請追蹤作者最新推文。\nJavPlayer有分體驗版（体験版）和完整版（製品版），後者要在Gumroad花1200日幣購買。購買之後，作者會透過電子郵件定期寄送更新版下載連結。\nJavPlayer又可以分成「JavPlayer」和「JavPlayerEZ」兩個軟體，二者是分開銷售的。 JavPlayer與JavPlayerEZ版本有何差異？\n原版「JavPlayer」是藍色圖示的，算是轉檔軟體，能夠解碼後輸出影片，有很多選項能修改。支援多種放大模型，但操作起來比較麻煩。 2023年，作者推出了綠色圖示的「JavPlayerEZ」，簡化功能，變成單純的播放器，操作更容易上手。影片是即時解碼的，只能播放影片不能輸出。 建議新手可以先用JavPlayerEZ體驗一下，再用原版JavPlayer。\n3. JavPlayerEZ（綠色版）使用方法 # 請到作者的Twitter簡介進入官網，點選下載「JavPlayerEZ体験版 for Windows」。這裡也可以購買完整版。 下載解壓縮，點選JavPlayerEZ.exe啟動程式\n開啟主畫面後，把要播放的影片檔拖到視窗裡面 播放影片的時候應該就會看到去碼效果了。這個時候GPU運算會大幅增加。 點選右上角調整去碼的強度、演算法、濾鏡，視馬賽克多寡自行調整。按M開關去碼功能。 你還可以點選試用Teco8K，獲得更好的畫面品質（體驗版只能用1分鐘） 4. JavPlayer（藍色版）使用方法 # 我強烈建議原本的JavPlayer改名叫JavPlayer Studio ～ 現在根本已經變成影片後製工具了。\n我這邊是直接購買JavPlayer製品版。請注意，因為日本販售無碼影片是非法的，就算買了完整版，JavPlayer輸出的影片仍然會帶有浮水印，作者說得遵守法律規定～ 想要無浮水印請改用DeepMosaics 購買後，需要下載主程式JavPlayer。JavPlayer的版本號碼是「數字加上字母」，數字表示大版本，字母表示小更新。撰文當下的版本是v3.0。 作者在3.0版本之後有推出針對Nvidia和AMD GPU優化的版本，Nvidia用戶就下載for Nvidia GPU的版本。 在Windows安裝CUDA Toolkit\n開啟主程式，把影片拖拉進來，此時只有模糊的去碼部位標記。\n點選影片下方的箭頭按鈕標記要處理的段落 點選右上角可以查看AI偵測到的馬賽克位置 接著左上角選取TG-STD模型，再選取用RGE6B放大處理後的影片 按Record開始錄製，程式開始去碼。錄製完後開始轉檔，影片會放到Movies資料夾下 我覺得新版把2.0以前擷取其他程式視窗的「Capture」功能砍掉很可惜，它可以搭配MPV Lazy + Anime4K + MVTools提昇觀影體驗，也能夠看DRM保護的特殊影片\u0026hellip; 5. 試試修改版JVP_TG-PLUS # 中國開發者修改的版本，使用其他模型獲得更好畫面品質\n一篇足矣！JAVPlayer+TecoGAN+TG-PLUS+VEAI\n真是特別\u0026hellip;中國用戶還特地成立JavPlayer論壇分享情報，色情果然為原動力。儘管北+ North Plus說有中國人盜賣JavPlayer就是了。\n不過新版JavPlayer好像沒辦法用了？\n這篇文章有更詳細解說：万字长文，一次讲透！视频去马赛克 JavPlayer 详细入门指南 | JVP+BVPP\\TG-PLUS\\VEAI\\TVAI 使用教程 - 牧之笔记\n","date":"2025年4月28日","externalUrl":null,"permalink":"/posts/javplayer-usage/","section":"Nsfws","summary":" JavPlayer是日本開發者javski2推出的影片解碼軟體，可以在播放影片的時候即時去除馬賽克。 AV去碼效果如下，雖然沒有說100%還原影片原樣，但去馬賽克後就沒有礙眼的方格子了。有時候去碼效果能夠逼近無碼外流片。 PPPD-954 裏番動畫也可以去碼，線條更為清晰。 黒獣1 JavPlayer能改善看日本AV和動畫裏番的感覺。\n要比喻的話，原本馬賽克影片是「眼睛糊到蛤仔肉」，經過JavPlayer去碼後變成「眼睛灰灰」的等級。\n啊，一切都齊全了，我們有DoujinCI能夠給圖片解碼，JavPlayer則是能給影片解碼，讓馬賽克看起來不再那麼礙眼。\n1. JavPlayer硬體需求 # 硬體需求：NVIDIA GTX 1650以上等級GPU，VRAM推薦8GB以上。對Windows系統而言，JavPlayer部份功能會使用到CUDA加速運算，所以建議使用Nvidia顯示卡，不過AMD顯示卡用戶也可以透過ZLUDA技術模擬CUDA，用ROCm達成加速效果。\n","title":"影片去碼播放器「JavPlayer」安裝與使用，靠AI消除一切馬賽克","type":"nsfw"},{"content":"","date":"2025年4月23日","externalUrl":null,"permalink":"/ja-jp/tags/libreoffice/","section":"Tags","summary":"","title":"LibreOffice","type":"tags"},{"content":" なぜ学校で学ぶコンピューター文書作成や画像処理ソフトウェアの操作は、いつもプロプライエタリ（クローズドソース）ソフトウェアを推奨しているのだろう？\nなぜレポートを書くにはMicrosoft Officeでなければならず、写真修正にはPhotoshop必須、動画編集にはPremiere、モデリングにはMaya、統計にはSPSS……なのか？PDFを見るだけでもAcrobatをダウンロードしなければならず、.rar以外の形式のファイルを解凍するにもWinRARが必要だ。こうしたあれこれが、どれも一律にプロプライエタリソフトウェアなのか？通常、プロプライエタリソフトウェアとは商用ソフトウェアである。無料で使えるソフトウェアもあるにはあるが、自由でもオープンソースでもなく、ライセンス条項はしばしば使用範囲を制限している。\n幼い頃からプロプライエタリソフトウェアを学んでいても、覚醒して自由ソフトウェアへ移行する可能性はあるのか？ # かつてXuiteで、かなり過激な文章を見たことを覚えている。その文章は陰謀論めいた論調で、台湾の学校が教えるのはWindowsやOfficeを含むMicrosoft製品の使い方ばかりであり、これは典型的な産官学の癒着だと糾弾していた。Microsoftは台湾全土で補習班を開いて講師を育成し、企業はOffice製品を使い、学生は企業が求める人材需要に合わせるため、Microsoft製品を学ばされる。私たちはLinuxと自由ソフトウェアを教えるべきだ！\n私はこの文章の観点に賛同している。他の用途のソフトウェアにも同じことが当てはまる。学校が嬉々として使わせるプロプライエタリな美工ソフトウェア、たとえばAdobe一式、さらに多くの専門的な工学ソフトウェアもプロプライエタリで、高額なライセンス料が必要だ。学生がまだ子どもの頃から囲い込み、プロプライエタリソフトウェアを小学校から大学まで学ばせ、資格試験を目標にこつこつ励ませる。まるで世の中に他の選択肢など存在しないかのようだ。なぜこれらのソフトウェアを採用するのかと聞けば、彼らはこれが業界標準であり、これを教えなければ学生が将来社会に出た時に仕事がないと言う。\nしかし、昔からそうだったからといって、それは正しいのか？\n正直に言って、私も何か解決策を出せるわけではない。中華民国軟體自由協會はかつてezgo作業系統を推進していた。これはカスタムKDEデスクトップを搭載したUbuntuで、各学科に対応するソフトウェアを内蔵し、自由ソフトウェアの普及を意図したものだ……今も保守はされているが、あまり成功しているようには見えないし、知名度も国際的に主流のLinuxディストリビューションには及ばない。大部分の学校は今もWindowsライセンスを買い続けるか、芸術需要のために高額でMacを調達している。キャンパスで自由なLinuxを見るなら、おそらく資工系の実験室くらいだ。\n自由ソフトウェアのキャンパス普及には少しだけ進展があり、企業界にも自由ソフトウェア移行の成功例がある。自由軟體服務廠商聯盟を参照。台湾政府もODF形式で公文書を交換することを全面的に推進している。しかし残酷に言えば、自由ソフトウェアはまだ商用ソフトウェアに勝てない。主流市場であれ、多くの人の心の中であれ、自由ソフトウェアは主要な選択肢ではない。さらに、自由でオープンソースなソフトウェアの情報は雑然としていて、比較的使いにくいと考える人もいる。メーカーが強力に介入して保守していないものは、使う勇気がないのだ。\n実務上、キャンパスがWindowsとプロプライエタリソフトウェアの世界を捨てるのは難しい。これは将来の職場で必要な実力の一つ、現実世界への入場券と見なされているからだ。そしてこの現実世界に溶け込むには、基本から学び始めなければならない。その後で初めて「変化」の可能性がある。台湾政府は中国のように、迫真の換皮国産OSを推進するため、上から下までHuaweiのPCへ切り替えることはできない。そんなことは不可能だし、中国政府の主目的も自由ソフトウェアの普及ではなく、自国の国家戦略上の利益に基づく考慮である。\nしたがって、漸進的に変化させ、自由の理念を広め続けて国民の認識を改善する必要がある。ゆえに、過去に学校で学んだコンピューター文書作成や画像処理ソフトウェアの操作には、私はなお積極的な意味があると思っている。少なくともコンピューターの基本認識を築くのには少し役立つ。人は視野が広がるにつれて、コンピューターソフトウェアは単なる課題作成ツールではなく、使い捨てるものでもなく、より高い価値を追求する存在なのだと認識するようになる。そうすれば自然と自由ソフトウェアを知り、その価値を理解するようになる。\nそして現在の私の考えはしばしば、 プロプライエタリソフトウェアの操作をどう自由ソフトウェアへ応用するか ということになる。多少遠回りになっても、マニュアルを何冊か多く読み、少しプログラムを書くことになっても構わない。もともとプロプライエタリソフトウェアでは当たり前だった操作も、文脈を変えれば多くの人の努力によって初めて実現できる。\nたとえばMicrosoft OfficeからLibreOfficeへ移行する場合、私はインターフェイスが比較的醜いからといって使用を拒否することはない。むしろ作業方法をさらに学べるし、国際的なオープン標準ODFを提唱し、特定のソフトウェアでしか使えないhackを使わず、旧習に固執しないようになれる。\nPhotoshop → GIMP/Krita；Illustrator → Inkscape；繪聲繪影/威力導演 → Kdenliveも同じだ。以前学んだ基本概念に基づき、それを融会貫通させ、概念を自由ソフトウェアへ移す。今では万物がAIを標榜している。たとえ新しいソフトウェアの概念を学ぶ時でも、私は積極的にそれを吸収し、要点を把握した後で、自由ソフトウェアの中からどのような適切なツールの組み合わせを選べばこれらの需要を達成できるのか、と発想を転換する。そう、ここでのツールは複数形だ。オープンソースソフトウェアは一つで一つのプロプライエタリソフトウェアの機能を置き換えられないかもしれない。ならば複数のプロジェクトを組み合わせればよい。たとえばChatGPTが文章生成と画像生成をするなら、私はOpen WebUIとStable Diffusionを組み合わせる。剪映にAI自動字幕付けがあるなら、私はKdenliveとWhisperを組み合わせて再現する。\nプロプライエタリソフトウェアを使い続けることは、囲い込まれてから刈り取られるのを待っているようなものではないか？あなたの製品アイデアは良い。しかしクローズドソースを独占手段にするのは望ましくなく、それを自由にするべきだ。こうして、プロプライエタリソフトウェアに対するオープンソースのソフトウェア解決策を研究することは、私の趣味の一つになった。\n自由ソフトウェアコミュニティはどこにある？やはりネットだ # ずっと昔にLinuxが興った頃から、インターネットは重要な情報交流経路だった。自由ソフトウェアも同じだ。商業世界はこうしたハッカー的なものを語りたがらないかもしれないが、cyber世界にはあなたと一緒に問題を解決してくれる仲間がたくさんいる。\n奇文共賞：Thinking Different – Using Linux in Design • tim rodenbröker creative coding 作者は問う：デザイナーはLinux PCで仕事ができるのか？それは自殺行為ではないのか？\n作者は、Appleがかつて反逆精神によって多数のデザイナーユーザーを取り込み、業界標準になり、Macがなければ仕事ができない状況を作ったと批判している。しかし今のAppleはかつての反骨精神を失い、金のことしか考えていない！今でも多くの人が高価なMacを使い、喜んで縛られている。Think Different、作者は自ら実践し、MacbookにUbuntuを入れ、自由ソフトウェアの世界へ切り替えた。同業者から異様な目で見られても、彼はLinuxでデザインをする。\n惜しいことに、作者はLinuxへ移行する利点、たとえば永続的コンピューティング(permacomputing)の概念を紹介しているものの、より具体的な例にあまり触れていない。彼はなんと動画処理にffmpegを使うと言っている！？私はKdenliveやKritaのようなソフトウェアの使用心得を共有してほしいのだ。私はとても同意している。\nCreative Focus on the Core, not just the Surface.\nこの言葉にだ。なにせ多くのデザインソフトウェアは、実は操作概念が共通しており、ただ考え方を少し転換する必要があるだけだ。プログラミングの概念で理解すれば、ある機能をどう実現すればよいか推測できる。惜しいのは、多くの人がGUIに制約されていることだ。彼らは底層原理を理解せず、考え方を変えることも知らず、単にこのプログラムのボタン配置が違うというだけでソフトウェアを操作できなくなる。確かに、私たちはコンピューターユーザーに必ず底層のプログラム知識を学べと強要すべきではない。彼らはただ仕事を完了したいだけなのだから。しかしLinuxへ切り替えることで、より多くを理解し、より多くの疑問を持ち、以前は当たり前だと思っていたものを問い直すようになる。これは一種の啓霊式の体験ではないだろうか？\nまた以前、あるおばあさんがDebianでffmpegを操作するチュートリアル動画をアップロードし、Linuxコミュニティで一気に有名になった。私のおばあちゃんのほうがお前より強い、という概念である。\nさらに彼女がWindowsユーザーにLinuxへの移行を勧める動画を見る。\nWhy You Should Think About Switching To Linux. by Andrea Borman\n彼女は本当に純粋なLinuxユーザーだ。Debianを使い、レトロ風のLXDEをインストールし、Guvcviewという極簡なプログラムで録画している。これはどんなstereotypeなFree Software Foundation支持者像なんだXD。しかもこの女性は反ワクチン派である。とはいえ、これは学びたいと思うなら年齢などまったく問題ではないことを証明している！自由ソフトウェアは本当にそこまで使いにくいわけではない。\nついでにPixlsを推薦する。このサイトのフォーラムでは、ユーザーが自由ソフトウェアを使ったマルチメディア創作について専門的に議論している。内容は画像処理、デジタル描画、動画編集、音楽制作、3D描画などを含む。すべて自由ソフトウェアを使用し、大部分もLinuxユーザーで、Adobeシリーズ製品を完全に置き換えている。GIMPとKritaにはそれぞれ自分のフォーラムがあるが、このサイトは他のニッチな用途のための議論空間を提供している。たとえばここではLinuxのカラーマネジメント問題を議論する人が比較的多く、Darktable写真後処理ワークフローを共有する人もいる。\nしかし職場で他人が自由ソフトウェアを受け入れない時はどうするのか？ # 当然避けられないこととして、仕事や学業用途では他人とファイルを共有する時がある。その時、私はただ……忍ぶしかない！引き続きあのプロプライエタリソフトウェアを使って成果物を出す。多くの人は面倒を恐れ、自由な解決策を試そうとしない。私はそれを受け入れるしかない。私はLinuxを主に使っているが、プロプライエタリソフトウェアが必要な場面に対応するため、専用機と仮想マシンも用意している。もしプロプライエタリソフトウェアのサービスがWeb版なら多少は楽だ。Linuxブラウザーからアクセスできるからだ。しかしそれは、私がGoogleドキュメントやCanvaをまあいいかと受け入れられるという意味ではない。やはり自由ソフトウェアの解決策を使いたいし、新興技術を探索し続けたい。\n時々、慧根のある人に出会うことがある。同世代であれ、年下の学生であれ、年長の教授であれ、あるいは他の社会人であれ、私はいくつか自由ソフトウェアの例を持ち出して布教する。もし彼らが開放的な態度を持っているなら、私はたいてい.odt形式の文書を渡すことを改革の第一歩にする。\n自由ソフトウェアの解決策を学ぶことは、企業界が節約のためだけに採用するやり方であるべきではない。個人も学校機関も学ぶべきものだ。なにせ、教育部の十二年国教の核心的な趣旨は、生涯学習ではなかったか？だからこそ、閉じ込められた檻から飛び出すことは大いに必要なのだ。\n","date":"2025年4月23日","externalUrl":null,"permalink":"/ja-jp/posts/learn-from-proprietary-software-and-apply-in-free-software/","section":"Foss-Issues","summary":" なぜ学校で学ぶコンピューター文書作成や画像処理ソフトウェアの操作は、いつもプロプライエタリ（クローズドソース）ソフトウェアを推奨しているのだろう？\nなぜレポートを書くにはMicrosoft Officeでなければならず、写真修正にはPhotoshop必須、動画編集にはPremiere、モデリングにはMaya、統計にはSPSS……なのか？PDFを見るだけでもAcrobatをダウンロードしなければならず、.rar以外の形式のファイルを解凍するにもWinRARが必要だ。こうしたあれこれが、どれも一律にプロプライエタリソフトウェアなのか？通常、プロプライエタリソフトウェアとは商用ソフトウェアである。無料で使えるソフトウェアもあるにはあるが、自由でもオープンソースでもなく、ライセンス条項はしばしば使用範囲を制限している。\n幼い頃からプロプライエタリソフトウェアを学んでいても、覚醒して自由ソフトウェアへ移行する可能性はあるのか？ # かつてXuiteで、かなり過激な文章を見たことを覚えている。その文章は陰謀論めいた論調で、台湾の学校が教えるのはWindowsやOfficeを含むMicrosoft製品の使い方ばかりであり、これは典型的な産官学の癒着だと糾弾していた。Microsoftは台湾全土で補習班を開いて講師を育成し、企業はOffice製品を使い、学生は企業が求める人材需要に合わせるため、Microsoft製品を学ばされる。私たちはLinuxと自由ソフトウェアを教えるべきだ！\n","title":"プロプライエタリソフトウェアから学び、その技術を自由ソフトウェアへ応用する。Microsoft OfficeからLibreOfficeへ移行するように","type":"foss-issues"},{"content":"Use jp2a to generate ASCII art from images and display it as a styled Easter egg HTML in the Chrome browser\u0026rsquo;s Developer Console (F12) using console.log().\n本文Ivon介紹如何用jp2a工具產生ASCII文字繪，在網頁HTML埋彩蛋，讓無端開啟F12的用戶或者腳本小子，看了能夠會心一笑。 在主流的瀏覽器，包括Firefox和Chrome，按F12就會跳出開發人員工具(Developer Tools)，檢視網頁原始碼。通常進到的第一個畫面是Console。\n有的網站會在這裡埋彩蛋，這個作法已經流行十年以上了。\n譬如舊版Reddit，會顯示ASCII文字繪「工作還在看Reddit？歡迎跟我們一起工作」 知乎也會顯示招聘訊息。 Facebook為了防止用戶被詐騙，會熱心提醒使用者住手！不要再繼續操作了！在此觀察到，Console甚至是能用CSS裝飾的，所以用background屬性印上圖片檔也是可行的！ 如果你對「Ivon的部落格」按檢視網站原始碼，就會看到我埋的一些註解。目前，我放的是一隻安妮亞。你！就是在說你啦！還看！ 雖然理論上Console可以放圖片，但是這樣就不geek了！還是使用ASCII文字繪比較酷吧！並且不應該把ASCII文字繪藏在HTML裡面（除非是單頁式的網站），而是應該放在開發人員工具，直接跟人打招呼。\n1. jp2a將圖片轉成ASCII文字繪 # 除了上網複製現有的ASCII藝術之外，還可以自己轉換。\n有很多線上的ASCII文字繪轉換工具。離線工具有jp2a，在Linux系統可以用套件管理器安裝： sudo apt install jp2a jp2a轉檔指令： jp2a \\ --width=128 \\ --chars= \\ --background=dark \\ --output=ascii-art.txt input.jpg 範例輸出結果，應該會得到一個檔案 輸入圖片限定為.jpg或.png格式。圖片的線條應該儘量簡單，背景要空白去背，只留下要處理的主體。\n要注意瀏覽器開發人員工具視窗寬度的問題，不是人人都4K螢幕。所以轉檔之後的圖片不宜過寬，最好是一個小視窗內就能完整顯示圖像，使用參數--width限制最大寬度約128像素就好。不過，因為ASCII文字繪是純字元構成的，console.log()的圖片大小其實可以用CSS的font-size屬性動態調整。\n使用--char指定要使用哪些字元繪圖。預設是英文字加數字，不要自訂的話就去掉此參數，有時候用這些方塊▮ ▯ ░ ▒ ▓更幹練。但是輸入圖片線條必須很簡單就是了。\n背景顏色參數--background預設為dark，有時候背景顏色設定為light效果更好。\n利用-output輸出為txt檔案。jp2a尚支援``\n雖然jp2a可以加上--colors參數將圖片轉成彩色ASCII，不過在開發人員工具只能用ANSI色碼來顯示顏色，且色彩不齊全，所以建議使用單色就好。\n2. 在HTML網頁插入ASCII文字繪 # 在開發人員視窗顯示文字繪的方式，就是使用console.log()或console.warn()方法印出訊息，再用重音號「`」分行。\n譬如這樣印出：\nconsole.log(` \u0026lt;ASCII文字繪\u0026gt; `); 此外，於console.log()第一個參數加上%c，再加上第二個參數就能設定CSS。譬如用font-size縮放圖片大小（因為ASCII文字繪是純字元構成的，所以可以這樣縮放）： console.log(` %c \u0026lt;ASCII文字繪\u0026gt;` , \u0026#39;font-family: monospace; font-size: 10px;\u0026#39; ); 接著考慮載入時機。以Hugo框架來說，只要在所有網頁載入之時，插入一段JavaScript程式碼，跑console.log()就行了。\n最簡單的是找到Hugo主題的head.html，把這個檔案複製到Hugo網站根目錄/layouts/head.html，然後在裡面插入一個partial：\n\u0026lt;head\u0026gt; ... {{ partial \u0026#34;console-ascii-art.html\u0026#34; .Site }} ... \u0026lt;/head\u0026gt; 這個partial應該放在Hugo網站根目錄/layouts/partials/console-ascii-art.html，內容就是要印出的ASCII文字繪。為了避免本機開發的時候干擾除錯，所以我加入條件式，設定網站生產部署的時候才渲染的條件式（本機檢視的時候去掉頭尾兩行） {{ if eq hugo.Environment \u0026#34;production\u0026#34; }} \u0026lt;script\u0026gt; console.log(` %c \u0026lt;ASCII文字繪\u0026gt; `, \u0026#39;font-family: monospace; font-size: 10px;\u0026#39; ); \u0026lt;/script\u0026gt; {{ end }} 之後跑hugo server指令，應該會看到ASCII文字繪印出來了。 參考資料 # How I Added an Animation to the Browser Devtools Console by Niko Uusitalo\n","date":"2025年4月23日","externalUrl":null,"permalink":"/posts/jp2a-ascii-art-html/","section":"所有文章","summary":"Use jp2a to generate ASCII art from images and display it as a styled Easter egg HTML in the Chrome browser’s Developer Console (F12) using console.log().\n本文Ivon介紹如何用jp2a工具產生ASCII文字繪，在網頁HTML埋彩蛋，讓無端開啟F12的用戶或者腳本小子，看了能夠會心一笑。 在主流的瀏覽器，包括Firefox和Chrome，按F12就會跳出開發人員工具(Developer Tools)，檢視網頁原始碼。通常進到的第一個畫面是Console。\n有的網站會在這裡埋彩蛋，這個作法已經流行十年以上了。\n譬如舊版Reddit，會顯示ASCII文字繪「工作還在看Reddit？歡迎跟我們一起工作」 知乎也會顯示招聘訊息。 Facebook為了防止用戶被詐騙，會熱心提醒使用者住手！不要再繼續操作了！在此觀察到，Console甚至是能用CSS裝飾的，所以用background屬性印上圖片檔也是可行的！ 如果你對「Ivon的部落格」按檢視網站原始碼，就會看到我埋的一些註解。目前，我放的是一隻安妮亞。你！就是在說你啦！還看！ 雖然理論上Console可以放圖片，但是這樣就不geek了！還是使用ASCII文字繪比較酷吧！並且不應該把ASCII文字繪藏在HTML裡面（除非是單頁式的網站），而是應該放在開發人員工具，直接跟人打招呼。\n","title":"用jp2a製作ASCII文字繪，在Chrome F12 Console放上開發人員HTML彩蛋","type":"posts"},{"content":"卑鄙是卑鄙者的通行證，\n高尚是高尚者的墓誌銘。\n善於編織文字的人，也是最容易蠱惑人心的人。\n大學文學院、文組的、文科的，讀文學真的很容易讓人變左，導致整個圈子偏左，是這樣的嗎？\n不如先反問一個問題：難道讀理工科的就不會偏左嗎？\n在台灣，美國左派議題好像總是跟民進黨陣營綁在一起，右派跟國民黨綁在一起。雖然說台灣政治議題不應該用左右區分，醜陋的台灣人（以前是醜陋的中國人，別以為抹滅身份認同後支性就能脫離）只在乎統獨議題，不過總有人會自己貼上去。那就假定現狀是如此吧。\n一個理工人偏民進黨的例子，在部落格側邊欄貼大罷免的海報截圖\n長期讀資訊人權貴ㄓ疑的blog有感，我跟他沒啥認識，只知道他應該也是軟體自由協會的成員。我讀過一些他發表在朝陽科技大學和玩具烏托邦的作品，很欣賞他的自由軟體的堅持，對Linux與自由軟體的推廣不遺餘力。但是我跟他政治立場是截然相反的。他一直是中國恐懼者，全盤相信民進黨的論述，講到資訊自由人權議題的時候，除了抨擊美國企業的監控，還很容易連結到仇中情緒上面，那麼他在部落格旁邊貼宣傳大罷免的海報也就不奇怪了。其實我也幹過一樣的事情，在網站首頁貼政治標語什麼的，半斤八兩。小結，在理工科，還有工程師這廣懋的領域裡面，依然有各種政治立場的。你以為全都是民眾黨支持者，因為工程師都是竹科回收業者才會當小草？不，其實還有很多派別，甚至有挺國民黨的，譬如Facebook粉專「工程師看政治」的主筆。\n我讀一些美國近代作品常常是被各種名詞迷惑，並總是從中感受到一股憤慨，伏流在文字脈絡地底下蔓延的哀嘆與恨意。但我畢竟是做過文學研究的，分析文本的時候要訓練自己從感情抽離出來，不為別人的課題煩惱。不過這不太可能真正作到，因為文字有很多種詮釋方式，研究文字的越深，就越可能陷入意識形態而無法自拔。我很喜歡，並且常常提及的，意識形態(ideology)的另一個翻譯就是「意底牢結」。這是使人的思想困住的一個方式。假若，因為讀了一個意識形態覺得自己的思想被解放了，從而否定多元觀點，反過來就會成為自由的奴隸。\n我的知識很淺薄，如果簡單的給左右派下一個定義，就政治上的左是偏向理想進步的，右則是捍衛傳統價值。這個粗淺的定義並沒有善惡之分，不是左就是好，右也不見得就是老頑固。事實上，政治光譜的極左和極右都是有害的，沒有是真正對的東西。或許，對小孩子的教育還可以強塞給一個固定的答案，但是現實世界本就是混沌的、模糊不清的存在。期望有一種絕對真理的存在\u0026hellip;物理學家都還沒解開所有謎題了，自稱先一步坐在真理旁邊的哲學又怎麼告訴我們答案？\n講到文學是否讓人偏左的問題，其實一句話就結束了：「要看接觸的對象」，並且萬事無絕對，還是得看人，沒有說在一個圈子裡面就醫定要跟隨主流意識型態。要看是讀哪一種文學，使人「偏左」。\n如果是十九世紀以前的英美文學，學到的會是高雅的基督教騎士精神，大部份強調傳統價值，搞不好還會讓人想去信基督教，捍衛傳統倫理，期許每個人都能像聖經裡面一樣擁有美德。像是讀《高文爵士與綠騎士》這類的冒險故事，會認為人應該追求對美德的尊崇，並要榮耀自我的一生。但是到了近代文學，就會越來越反映出對傳統價值的反思，即使是虛構的故事亦很容易牽扯到社會問題。以美國來說，常見的題材就是種族議題還有後殖民主義，讀Toni Morrison的《Recitatif》就是一例，無形的控訴著黑人面對的社會問題。作家透過種族問題刻劃受到的傷害，種種文字薰染下便很容易偏左，這樣並不意外的，搞不好作家本身也是常常上街的社運分子。\n不過這有個前提，就是即使西方近代文學以批判傳統價值為主要目的，也要有所本的，不然這背後的旨趣你很難體會，不知道尼采《查拉圖斯特拉如是說》書中引用耶穌的話其實是在婊他，不知道傅柯講權力規訓的時候是怎樣的跟西方文明有怎樣的關係。故讀者確實應該承先啟後的讀完西洋文學的古代文獻，再來看現代作品，會更有感悟。於是乎，讀著這些作品，接受了現代性的薰陶，應當反對過去束縛人的教條，砸爛一切傳統價值，對過去乃至自我文化的全面否定。但是最後呢？他們走向何處了？當星巴克社會主義者（英式英語，香檳社會主義者的美式英語說法——我胡謅的）加入BLM打砸搶，跟著喊From the river to the sea，自拍上傳FB，隔天繼續回家享受資本主義？很多人沒辦法做到徹底的社會變革，便選擇跟建制派團體站在一起，搖動身子，假裝這趟列車有在前進，開向正確的方向。\n冰川紀過去了，\n為什麼到處都是冰凌？\n好望角發現了，\n為什麼死海裡千帆相競？\n在台灣，1980年代解嚴後，對國民黨黨國以及過去日本殖民的情感糾葛，創作出的作品就會讓人很容易仇恨國民黨，勝過同樣過欺負台灣人的日本人，譬如許多紀念228事件的作品，這本是歷史悲劇，沒有任何一方是正確的，卻總是被拿來炒作騙選票，並成為一種政治正確。這情感常見於台派份子，台派不應該是相對於民國派的貶抑詞，但就是太多人把它的範圍做窄了。他們會覺得，立場先於事實比較重要。學東西，形成一種學派，要先看羽毛顏色決定是非。因為這些人容易因為沉迷一種敘事就感情用事，追求一種感覺，一種從眾的氛圍，故形成一種集體仇恨的氛圍也就不奇怪了，感覺對了就去做，搞身份政治。再用不同的藝術形象誇大渲染，造成及其不理性的群眾言論。忘記同溫層外還有其他人的存在。從反核到反中，大抵上都是這樣的路子。\n最近以女權主義男性作家朱宥勳為首的作家在接力寫小說，聯手支持民進黨惡意大罷免國民黨立委，就是一種盲目的例子：「大罷免文學」日日更新！創作者新詩、散文、小說、劇本這裡看 - 自由時報 裡面有些作品把跟罷免不相干的東西用文學的筆法瘋狂渲染，包括將中共活摘器官與台灣葉克膜錯誤連結到文本，達到一種誇大渲染的恐懼想像。還有人說罷免「親中立委」失敗台灣就沒有文藝創作空間了，因為預算被刪除了！加上中共統戰台灣更進一步。所以他們為了政治利益，不昔一切抹紅對手。\n任何有理智的人都該知道不該把小說當作真實，尤其是他們有意識在作品嵌入，傳遞自己的意識型態的時候，讀者就更要訓練自己的後設認知方能釐清真相（包括正在讀我的文字的你）。如果說文藝界容易偏左，那麼追求的應該是更理想的目標，不是抽刀向更弱者，還為統治者唱讚歌，自詡在救國。甚至連為了保全政權與選票，台獨理想退縮成中華民國派也沒有關係。這種左派就跟美國民主黨的建制派、自由派一樣，是虛偽的左逼！反智紅脖子和長老教會一樣可悲，藉著神的名義幹盡壞事。\n我承認我是費拉，只是普通人，我想當左逼可是也沒啥成為極左共產主義者的覺悟，想當右翼老保家裡又沒多少田地能自立，且憎恨民族主義。雖然能從文學作品中接觸到各家的思想價值，並總能抱有悲天憫人的思想，現實卻不允許我這樣濫用同情心，致使變成理盲濫情。因此只選擇逐波而流的現實主義（或說投機）路線，選擇了用一種沒有絕對立場的方式參與政治。然後有時候不可避免的參雜不可理性言喻的激情，加入多方勢力的大混戰。再也沒辦法說自己中立，並且理性務實科學。\n我覺得悲哀的是，對我們這些爭議性的第三勢力的支持者（民進黨、國民黨之外的民眾黨）來說，表達意見除了被執政當局、反對勢力、第三勢力以外的第三勢力打壓之外，還有另一群勢利的人打壓意見，他們雖然對現狀不滿，可是卻也任其浮游，因為他們認為反對者做的更爛，不如閉嘴就好了。假如，我是生在中國大陸，肯定是被當公知民小的樣子看待，天天被日子人和小粉紅咒罵「整天想政治體制上的改革是沒用的，不如先決定晚餐要吃什麼」，支黑還會跟你說不如上街獻忠犧牲的會比較有價值，促成寒蟬效應，然後他們也就真正的被迫對未來死心了，從此只看到自己的腳跟過日子。\n汪峰　- 為什麼不再快樂一點說的也對：不是只有革命才能得到拯救，再微笑一些再渺小一些，再去他妈一些就会很满足。\n歲月漸長，我大抵是不能理解將一切娛樂化的人態度了，所以以前愛看的遊戲解說實況，我就漸漸覺得無趣了。私以為，與其看國動或者小明劍魔之類的實況主，在那邊大吼大叫吸引眼球，導致一堆人玩遊戲也跟著模仿做效果，不如多看當代馬克思主義者齊澤克的演說，看他跟龍蝦教授彼得森辯論「什麼是幸福？」難道不是有價值多了麼。\n說到泛娛樂化現象，政治與社會領域也很嚴重，很多人都是看懶人包圖卡或者剪輯過的短影音了解時事，就對一群人產生刻板印象，懶得去理解真相，就跟著媒體和政府的敘事走了。這是覺得痛心之處。說實話我也很討厭政治娛樂節目的說。\n就\u0026hellip;這些人可以無恥到什麼地步，房間的大象看不見，拼命嘲笑那些做實事之人，動不動就說人是左膠，或者說是在搗亂。有的做政治meme的人物，會偷渡意識形態，當你發現他嘲諷它黨人士的時候，總有一個顏色會被略過，那就知道他的偏頗程度了，這樣看來賀瓏夜夜秀全都罵才是最客觀的台了（？）。\n我來到這個世界上，\n只帶著紙、繩索和身影，\n為了在審判之前，\n宣讀那些被判決的聲音。\n總之，那些天下烏鴉一般黑的人士，或許沒有政治想法，若是troll也就算了，但多少人是真心認為「政治黑暗懶得理解的」並且無形中忽視了問題所在。難不成就像魯迅說過的那樣：「先前，也曾有些願意活在現世而不得的人們，沉默過了，呻吟過了，歎息過了，哭泣過了，哀求過了，但仍然願意活在現世而不得，因為他們忘卻了憤怒。勇者憤怒，抽刃向更強者；怯者憤怒，卻抽刃向更弱者。不可救藥的民族中，一定有許多英雄，專向孩子們瞪眼。這些孱頭們！」\n我一直都不買單民進黨的仇恨恐懼論述，因為這是在製造更多敵人罷了，芒果乾吃膩了也該吐出來了。看到一些地位赫赫有名的教授，不分文理組，瞎挺大罷免不免覺得痛心，為什麼他們可以在學術領域寫出邏輯縝密的論文，但一聽到國民黨和民眾黨就好像發瘋了一樣亂叫。嘿，當我手指向別人的時候，四隻手指也指著自己呢。\n好似，保守基督徒對LGBT議題完全0容忍的態度一般，聽到這些議題馬上就要把人火刑，換成社群媒體就是加入「建議封鎖名單」啦。可見人不全是完美的。轉念一想，我何必為別人痛心？課題分離之後，其實不關我的事情，最終他們只會知道，仇恨是沒有出路的\u0026hellip;可能要很久之後才會頓悟道，那時就太遲了吧。怎樣才能練成學術歸學術，政治歸政治呢。我要如何不因為一個人的政治傾向就否定掉他過在學術上的成就？即使他講的是我不愛聽的話？這很難，因為太多人把政治當宗教看待了。好像你只要跟某一個被視為正確的黨派路線，你就昇華成了聖徒，地位會被同黨的人物抬高。這個問題不只民進黨，民眾黨也有這個現象，你只要挺柯，默默無聞的頻道就會突然漲粉，不是這樣的吧喂。反之，如果持政治相反意見，但凡一點同情中國人的話語，你就是惡魔的黨羽，不論講什麼話就沒有任何價值了。我想能我作到平等看待政治立場與學術成就的，大概就是喬姆斯基先生了。他整天罵美國政府，依然掩蓋不了他對語言學領域的巨大成就。故，我不會因為他發表的偏激言論，就輕蔑他的研究成果。這個應當是可以分開看待的。\n終歸一句，問題在人。這世界你堅持多少價值就有多少的謊言來對沖。可是這並不代表，充耳不聞就是解決一切的方法。希望、我不要被自以為的真理蒙蔽了雙眼。\n告訴你吧，世界\n我──不──相──信！\n縱使你腳下有一千名挑戰者，\n那就把我算作第一千零一名。\n","date":"2025年4月21日","externalUrl":null,"permalink":"/posts/2025042101/","section":"Politics","summary":"卑鄙是卑鄙者的通行證，\n高尚是高尚者的墓誌銘。\n善於編織文字的人，也是最容易蠱惑人心的人。\n大學文學院、文組的、文科的，讀文學真的很容易讓人變左，導致整個圈子偏左，是這樣的嗎？\n不如先反問一個問題：難道讀理工科的就不會偏左嗎？\n在台灣，美國左派議題好像總是跟民進黨陣營綁在一起，右派跟國民黨綁在一起。雖然說台灣政治議題不應該用左右區分，醜陋的台灣人（以前是醜陋的中國人，別以為抹滅身份認同後支性就能脫離）只在乎統獨議題，不過總有人會自己貼上去。那就假定現狀是如此吧。\n一個理工人偏民進黨的例子，在部落格側邊欄貼大罷免的海報截圖\n長期讀資訊人權貴ㄓ疑的blog有感，我跟他沒啥認識，只知道他應該也是軟體自由協會的成員。我讀過一些他發表在朝陽科技大學和玩具烏托邦的作品，很欣賞他的自由軟體的堅持，對Linux與自由軟體的推廣不遺餘力。但是我跟他政治立場是截然相反的。他一直是中國恐懼者，全盤相信民進黨的論述，講到資訊自由人權議題的時候，除了抨擊美國企業的監控，還很容易連結到仇中情緒上面，那麼他在部落格旁邊貼宣傳大罷免的海報也就不奇怪了。其實我也幹過一樣的事情，在網站首頁貼政治標語什麼的，半斤八兩。小結，在理工科，還有工程師這廣懋的領域裡面，依然有各種政治立場的。你以為全都是民眾黨支持者，因為工程師都是竹科回收業者才會當小草？不，其實還有很多派別，甚至有挺國民黨的，譬如Facebook粉專「工程師看政治」的主筆。\n我讀一些美國近代作品常常是被各種名詞迷惑，並總是從中感受到一股憤慨，伏流在文字脈絡地底下蔓延的哀嘆與恨意。但我畢竟是做過文學研究的，分析文本的時候要訓練自己從感情抽離出來，不為別人的課題煩惱。不過這不太可能真正作到，因為文字有很多種詮釋方式，研究文字的越深，就越可能陷入意識形態而無法自拔。我很喜歡，並且常常提及的，意識形態(ideology)的另一個翻譯就是「意底牢結」。這是使人的思想困住的一個方式。假若，因為讀了一個意識形態覺得自己的思想被解放了，從而否定多元觀點，反過來就會成為自由的奴隸。\n","title":"讀文科真的很容易讓人變左，是這樣的嗎？","type":"politic"},{"content":"","date":"2025年4月20日","externalUrl":null,"permalink":"/tags/digikam/","section":"標籤","summary":"","title":"DigiKam","type":"tags"},{"content":"Browse and view photos in digiKam directly from Linux directories without importing them.\ndigiKam是一款功能豐富的照片管理軟體，提供Linux、Windows、macOS版本，除瀏覽照片圖庫之外還有簡單編輯RAW的功能。不過，有用過digiKam的都知道，它要「匯入」照片才可以看，也就是說將檔案複製一份到digiKam資料庫，而非直接讀取原始目錄。這對用硬碟目錄整理照片的我來說很是困擾，因為我希望照片應該是能被多重軟體讀取的，用目錄整理照片的同時不想遷就單一軟體的結構。 我希望能像Android手機的Google相簿或者Windows 11相片程式一樣，能自動掃描目錄，並將照片渲染在時間軸。不需要匯入，也不要讓digiKam生成的資料庫檔案，影響到原本照片目錄。也就是說我不想把digiKam的資料庫跟照片目錄住在一起，兩個應該隔離。 如果將digiKam的資料庫直接設定在放照片的目錄，則資料庫的digikam4.db檔案會跟著跑到那個照片目錄下。看了有點礙眼。\n另外，雖然可以在digiKam點設定 → 設定digiKam → 本機收藏 → 新增收藏，讓它掃描現有照片目錄，免匯入，但digiKam依然會在該照片的目錄產生.dtrash的額外目錄，還是很惱人。(不過如果能忍受這個目錄的存在，那麼其實這個作法比下述的要輕鬆許多) 於是我在StackExchange找到了一個解法：使用符號連結。\n這樣子既能用硬碟目錄模式整理照片，又能以digiKam瀏覽全部照片，digiKam也不會把額外檔案吐到照片所在目錄。 1. 預想的照片目錄結構 # digiKam的目錄結構是一個目錄一個相簿，所有目錄放在digikam的資料庫目錄下。\ndigikam資料庫 ├── 相簿1 │ ├── 假期 │ ├── 工作 │ └── 家人 ├── 相簿2 │ ├── 會議 │ ├── 工作 │ └── 文件 └── 相簿3 我實際上硬碟的照片目錄結構也是用目錄分類的，最大的目錄是DCIM，下面一個資料夾一個年份，每個年份下面依照事件分類。並且這些照片目錄放在其他硬碟。\nDCIM ├── 2025 │ ├── 2025.01.01 台南市區 │ ├── 2025.02.04 高雄市 │ └── 2025.04.01 楠梓區 ├── 2024 │ ├── 2024.10.16 台北市博愛特區 │ ├── 2024.11.11 新竹市 │ └── 2024.12.15 屏東市醫院 └── 2023 當我透過符號連結放到digiKam目錄下的時候，目錄結構應該是相同的。\n2. 具體作法 # 在Linux安裝digiKam sudo apt install digikam 開啟digiKam，找一個目錄當作資料庫位址，譬如~/home/圖片/digikam/\n然後點左側，新增相簿，我就叫做DCIM。這個相簿在digiKam的資料庫目錄下，就是一個DCIM目錄（其實不一定要新增相簿，直接在檔案管理器新增目錄digiKam就會讀到，可以跳過這一步驟） 關閉digiKam，開啟檔案管理器，找到digikam資料庫目錄，把DCIM目錄刪除。\n用ln指令新增軟連結，在digiKam的目錄新增DCIM目錄，連結到實際的照片目錄路徑，我實際的照片目錄位於/media/user/HDD/DCIM\nln -s /media/user/HDD/DCIM /home/user/圖片/DCIM KDE Dolphin用戶可以直接在目錄右鍵點選新增連結到目錄 然後目錄會變成這樣，DCIM是符號連結過去的。 重新開啟，讓digiKam掃描即可。\n如果打算移除相簿，建議用檔案管理器刪除軟連結，這樣只有連結本身被刪除，原本的目錄不會受到影響。如果從digiKam刪除，它可能會把原本照片目錄一起刪了。\n參考資料 # Does Digikam have picture \u0026lsquo;view\u0026rsquo; option witout importing them? - Photography StackExchange\n","date":"2025年4月20日","externalUrl":null,"permalink":"/posts/digikam-view-photos-without-importing/","section":"所有文章","summary":"Browse and view photos in digiKam directly from Linux directories without importing them.\ndigiKam是一款功能豐富的照片管理軟體，提供Linux、Windows、macOS版本，除瀏覽照片圖庫之外還有簡單編輯RAW的功能。不過，有用過digiKam的都知道，它要「匯入」照片才可以看，也就是說將檔案複製一份到digiKam資料庫，而非直接讀取原始目錄。這對用硬碟目錄整理照片的我來說很是困擾，因為我希望照片應該是能被多重軟體讀取的，用目錄整理照片的同時不想遷就單一軟體的結構。 我希望能像Android手機的Google相簿或者Windows 11相片程式一樣，能自動掃描目錄，並將照片渲染在時間軸。不需要匯入，也不要讓digiKam生成的資料庫檔案，影響到原本照片目錄。也就是說我不想把digiKam的資料庫跟照片目錄住在一起，兩個應該隔離。 如果將digiKam的資料庫直接設定在放照片的目錄，則資料庫的digikam4.db檔案會跟著跑到那個照片目錄下。看了有點礙眼。\n另外，雖然可以在digiKam點設定 → 設定digiKam → 本機收藏 → 新增收藏，讓它掃描現有照片目錄，免匯入，但digiKam依然會在該照片的目錄產生.dtrash的額外目錄，還是很惱人。(不過如果能忍受這個目錄的存在，那麼其實這個作法比下述的要輕鬆許多) ","title":"Linux digiKam不匯入照片，直接讀取硬碟的照片資料夾結構，以時間軸檢視照片","type":"posts"},{"content":" Magic Eyes的極彩Uterus Duo ウテルスデュオ（ 姊妹雙重奏Ulterus Duo）是一個主打雙穴連通構造的貫通式飛機杯，兩邊都能插。看這個設計很有去就買了，結果沒想像中好玩。 封面演示了內部構造，雖然看起來很緊但其實不然。 像是面紙盒的包裝 這角度看起來像啞鈴XD 一邊是成熟姊姊小穴，裡面有些微突起和吸盤，進入後段會變成硬版的穴內構造。雖然年紀大妹妹一些，但這兩人應還是未成熟的小穴方向下去設計的。 另一邊是妹妹的一線鮑，裡面構造相對簡單，是表示處女未開的樣子吧，只有簡單的螺紋皺摺後就到子宮了。 中間有個硬硬的小管子，我想是充當子宮的功用，讓人有類似頂到子宮的感覺。中間通道極細，連通前後，理論上這一圈環繞會給雞雞環狀的刺激。問題是這個部位很容易破呀。不是奈米屌的人很容易就撐破了。\n因為這是軟的飛機杯，所以擠壓感不強。雖然用力頂一下有貫通的感覺，但是並沒有太大刺激感。從兩邊插入的感受都是差不多的。姊妹的兩個穴加起來大概長12cm，通道太短，正常長度的人應該都能頂出去。\n要說這個是蘿莉飛機杯嘛，好像不算，雙穴構造理論上有雙倍快樂，不過不可能真的有人只會用到一邊吧？當然要一起上才爽。 C87 KAMINENDO.CORP あかざわRED びゅーびゅーですとろいやーず! 艦隊これくしょん -艦これ-\n因此沒有哪一邊比較舒服的說法吧，就只是感覺同時被兩個穴套弄雞雞的獵奇玩法。\n這個確實是噱頭，買本就貫通的飛機杯就好了嘛！其實買這個是在ぶっかけ要維持硬度用的。有時ぶっかけ的時候難以維持完全勃起的狀態，所以用飛機杯緊壓，讓雞雞處於緊繃狀態，因為要抵擋外部壓迫的吸力，所以就會非常硬。因為覺得用普通的飛機杯套弄再馬上拔出來太趕了，不如直接在套弄過程射精。在極硬下的情況射出來的一定能是完美的彈道，命中目標！\n","date":"2025年4月19日","externalUrl":null,"permalink":"/posts/magic-eyes-goksai-uterus-duo-review/","section":"Nsfws","summary":" Magic Eyes的極彩Uterus Duo ウテルスデュオ（ 姊妹雙重奏Ulterus Duo）是一個主打雙穴連通構造的貫通式飛機杯，兩邊都能插。看這個設計很有去就買了，結果沒想像中好玩。 封面演示了內部構造，雖然看起來很緊但其實不然。 像是面紙盒的包裝 這角度看起來像啞鈴XD 一邊是成熟姊姊小穴，裡面有些微突起和吸盤，進入後段會變成硬版的穴內構造。雖然年紀大妹妹一些，但這兩人應還是未成熟的小穴方向下去設計的。 另一邊是妹妹的一線鮑，裡面構造相對簡單，是表示處女未開的樣子吧，只有簡單的螺紋皺摺後就到子宮了。 中間有個硬硬的小管子，我想是充當子宮的功用，讓人有類似頂到子宮的感覺。中間通道極細，連通前後，理論上這一圈環繞會給雞雞環狀的刺激。問題是這個部位很容易破呀。不是奈米屌的人很容易就撐破了。\n","title":"不實用的雙穴構造，Magic Eyes的Uterus Duo蘿莉飛機杯","type":"nsfw"},{"content":"Siánn-mih？Linux系統竟然有開關機音效(startup sound)？\n視乎不同Linux發行版，可能會有不同的開機音效。\n例如Ubuntu，在10年前的Unity桌面時代有開機音效，後來的版本就不見了。\n現在，你只會在初次安裝Ubuntu的時候聽到登～登～的開機音效，用於測試喇叭有沒有壞掉，真正裝好系統之後開機是沒有聲音的。\n沒關係，你還是可以把他們加回來。\n這篇文章Ivon將解說如何開啟Linux桌面的開機以及關機音效。\n1. 啟用桌面環境內建的開機音效 # Linux的開機音效是由桌面環境負責播放的，像是KDE Plasma和GNOME。嚴格來說，這些「開機」音效是在登入桌面後才播放，而不是載入登入界面(Display Manager)前就播放，所以稱為「登入音效」比較正確。\nKDE Plasma # KDE Plasma的音效檔案位於/usr/share/sounds/。KDE Plasma的音效主要來自於KDE主題包，例如KDE Plasma 5有「Oxygen」音效包，KDE Plasma 6則是「Ocean」音效包。\nKDE Plasma 6以上版本，開啟系統設定 → 通知 → 系統通知。（KDE Plasma 5則是系統設定 → 通知 → 特定應用程式的設定 → Plasma工作空間 → 設定事件） 點選「登入」和「登出」，啟用播放音效。這裡的音效可以自訂要播放的檔案。 GNOME # 相較KDE Plasma，GNOME的開關機音效很難設定。\nGNOME桌面的音效位於/usr/share/sounds/gnome/。目前GNOME 48內建的Adwaita主題只有警告音效，需要依賴其他主題提供開機音效。比如freedesktop-theme主題，或者Ubuntu的yaru-theme主題（其他發行版多半也有這個套件）。\nGNOME可以透過Libcanberra抽象層來播放開關機音效，它遵守XDG Sound Theme的音效標準，所以不一定要寫死音效檔路徑（值得注意的是，KDE需要Plasma 6以上版本才支援XDG Sound Theme標準）\nFedora的GNOME桌面應該已安裝libcanberra套件，所以會一併提供libcanberra的Systemd服務。編輯登入音效服務： sudo vim /usr/lib/systemd/system/canberra-system-bootup.service 如果該檔案不存在，就參考Github範本自行新增。\n確認ConditionPathExists=後面的登入音效路徑是否正確 ConditionPathExists=/usr/share/sounds/freedesktop/stereo/service-login.oga 同理，編輯/usr/lib/systemd/system/canberra-system-bootup.service，確認登出音效路徑是否正確。\n啟用登入與登出音效服務。\nsudo systemctl daemon-reload sudo systemctl enable canberra-system-bootup.service sudo systemctl enable canberra-system-shutdown.service 另一種設定登入音效的方法是使用/usr/bin/canberra-gtk-play，似乎只對Ubuntu的GNOME有效。\n在Ubuntu應用程式列表找到「初始啟動程式」\n新增自動啟動程式，新增登入音效，指令為/usr/bin/canberra-gtk-play --id=\u0026quot;desktop-login\u0026quot; --description=\u0026quot;GNOME Login\u0026quot; 2. 使用Systemd服務播放登入音效 # 這是更通用的方法。\n桌面環境沒提供設定界面的話，就只能搭配播放軟體，在使用者登入桌面的時候播放開機音效了。Linux發行版多半有提供paplay或canberra-gtk-play程式，它不需要圖形界面也能播放/usr/share/sounds/的音效。善用這個作法，你還可以寫一個指令稿，隨機播放登入音效。\n此處使用Systemd user unit播放開機音效。新增使用者Systemd服務，啟用開機登入音效（我暫時找不到新增登出音效的作法） vim ~/.config/systemd/user/login-sound.service 填入以下內容，將服務的啟動條件設定為等待sound.target，也就是PipeWire之類的音效伺服器載入才播放。ExecStart=後面是播放Yaru的desktop-login音效 [Unit] Name=Play Login Sound After=sound.target [Service] Type=oneshot RemainAfterExit=true ExecStart=/usr/bin/paplay /usr/share/sounds/Yaru/stereo/desktop-login.oga [Install] WantedBy=default.target 啟用服務，接著重開機。它是一按下登入鍵就播放音效，而不是等桌面動畫載入完成才播放，並且只會播放一次。 systemctl --user daemon-reload systemctl --user enable login-sound.service 參考資料 # How to start a systemd service after user login and stop it before user logout Enable Login \u0026amp; Log Out Sound in Ubuntu 24.04 - UbuntuHandbook ","date":"2025年4月18日","externalUrl":null,"permalink":"/posts/enable-startup-sound-on-linux-desktop/","section":"所有文章","summary":"Siánn-mih？Linux系統竟然有開關機音效(startup sound)？\n視乎不同Linux發行版，可能會有不同的開機音效。\n例如Ubuntu，在10年前的Unity桌面時代有開機音效，後來的版本就不見了。\n現在，你只會在初次安裝Ubuntu的時候聽到登～登～的開機音效，用於測試喇叭有沒有壞掉，真正裝好系統之後開機是沒有聲音的。\n沒關係，你還是可以把他們加回來。\n這篇文章Ivon將解說如何開啟Linux桌面的開機以及關機音效。\n1. 啟用桌面環境內建的開機音效 # Linux的開機音效是由桌面環境負責播放的，像是KDE Plasma和GNOME。嚴格來說，這些「開機」音效是在登入桌面後才播放，而不是載入登入界面(Display Manager)前就播放，所以稱為「登入音效」比較正確。\nKDE Plasma # KDE Plasma的音效檔案位於/usr/share/sounds/。KDE Plasma的音效主要來自於KDE主題包，例如KDE Plasma 5有「Oxygen」音效包，KDE Plasma 6則是「Ocean」音效包。\nKDE Plasma 6以上版本，開啟系統設定 → 通知 → 系統通知。（KDE Plasma 5則是系統設定 → 通知 → 特定應用程式的設定 → Plasma工作空間 → 設定事件） ","title":"蝦密？Linux系統竟然有開關機音效","type":"posts"},{"content":"「我認為，革命是不朽的。」\n———————— 切·格瓦拉，1967年就義前的感想\n2004年西班牙語公路電影《革命前夕的摩托車日記》 (Diarios de motocicleta) 根據真人真事改編，描述埃內斯托·「切」·格瓦拉年輕時代的故事，跟著好友阿爾貝托·格拉納多橫越半個南美洲，見證了世界的痛苦，所以決定掀起共產主義革命。 台灣預告片（數位修復版）\n1. 片子概觀 # 我是聽五月天的〈摩托車日記〉才知道這部電影的。切·格瓦拉大概是20世紀最有名的左翼革命家之一，他那張〈英勇的游擊隊員〉的大頭照深植人心，再加上為了解放南美洲而投入的壯烈革命，使他成為了許多人景仰的悲劇英雄角色。 那麼，在他起事之前，是什麼樣的經歷，讓他決定踏上這條不歸路呢？2004年《革命前夕的摩托車日記》依照切·格瓦拉當時留下來的日記拍攝，再藉由仍存世的阿爾貝托·格拉納多提供指導，為觀眾呈現了當時兩人所見到的世界。\n1952年，切·格瓦拉23歲，阿爾貝托·格拉納多30歲，都是準備施展身手的年輕醫生小伙子。兩人從阿根廷出發，準備橫越智利、秘魯，爬上馬丘比丘，抵達哥倫比亞、委內瑞拉、邁阿密，最終搭機返國。在途中經過了各種地方，讓觀眾欣賞美麗風景的同時，聆聽獨有特色的背景音樂。再聽切·格瓦拉用他藝術性的筆調撰寫的日記，訴說對這個世界的不公，看整個南美洲都壟罩在美國帝國主義的陰影下，中間穿插被壓迫農民以及共產主義者的悲鳴。這部片的節奏雖然緩慢呈現，但是革命的種子卻已經在切·格瓦拉心中種下。 這部片的配樂值得靜靜品味，本片配樂由Gustavo Alfredo Santaolalla負責，他的風格非常適合描寫兩人在空無一物的大地上的漫長旅行，顯示流浪者的颯爽。中間沒有磅礡的大場面音樂，但是遇到主角個人思想變化的關鍵時刻，節奏就會突然詭譎起來，用著不和諧的弦音，展現主角心思的逐步變化。\n2. 暗示 # 電影裡面有一句話很不錯：「讓世界改變你，然後你改變世界。」\n很多評論都指出，《革命前夕的摩托車日記》電影步調看似平淡，但是有很多暗示的部分。譬如兩人共乘的1939年老摩托車「萬能者」騎到智利，也就是不到旅途的一半就壞掉了，只好變賣換錢，剩下的路途他們兩人徒步加上搭便車走完。這暗示著腐朽的資本主義已經走到末路，需要新的東西取而代之。我認為，這台車壞掉帶給他們的積極意義在於，他們從那一刻起，就被迫進入危險的世界闖蕩了，不再有穩固的依靠，因此他們要進入山裡面，認知到世界的真實，忍受飢餓與寒霜，自行探索未來的道路，最終活著走出山林。 在出發前，切·格瓦拉的女友給的一些美金，整趟旅途中一直捨不得花，即使好友要求買新車或者讓他去泡妞都不肯。他把這個美國的象徵視為一個最重要的東西，緊抓不放，這代表他心中對美國在南美洲的地位仍有一個承認的想像地位。結果，女友給的美金，為了幫助在礦山被剝削的窮困夫妻，竟然就大喇喇送出去了。原本小小氣氣的作風，在接觸到人們之後逐步鬆綁。 本來，兩人旅途中因為缺錢，所以要撒點謊言騙吃騙喝，阿爾貝托也常常提醒切·格瓦拉太過於誠實，會遭致不利。可後來正是切·格瓦拉的誠實正直，讓他能更直白的面對需要幫助的人，而不會有任何芥蒂存在。在痲瘋病院幫忙的時候，他注意到河流將病人以及醫生還有神職人員隔開來，兩邊都很難有來往，痲瘋病院似乎就是等死之處。不禁讓人感嘆，到處都有階級之分的社會是如何殘害生靈。不過，切·格瓦拉向給了等死的人們希望，他知道痲瘋病不會那麼容易傳染，所以下去跟人踢足球，並且鼓勵受痲瘋病所苦的少女：「\u0026hellip;\u0026hellip;即使人生就是等待死亡，也要把死亡踩在腳底下。」 整片最高潮的部分，莫過於切·格瓦拉不顧一切游到痲瘋病院對岸，跟病人處在一起過生日的畫面。參加慶生趴的時候，他無法沉醉在與上層人士的快樂當中，唱到一半跑了出去，若有所思看著對岸，便直接跳下河水游過去。不要只有醫生和神職人員環繞在周遭，他想跟那些底層人在一起。這裡，他幾乎戰勝了以前困擾他多年的哮喘病，成功了撐過那段需要長久呼吸的場合。可以說是展現了他的成熟，也展現他苦民所苦的情懷。這個片段神化了切·格瓦拉的人格，眾人簇擁將他扶上岸的景象，將他的行為浪漫化、神聖化，表現他是願意為了夢想不顧一切前進的形象，因此能夠獲得人民的認同。 雖然我覺得整部片講的切·格瓦拉的政治意識的覺醒場合，插入的點有點尷尬。慶生時突然講要解放美洲，旁邊的人只能：流汗黃豆。導演這方面處理的都不太好，所以觀眾只能從場景和眼神的變化，猜想主角的心境究竟經歷了怎樣的翻天覆地，觀眾可能要自行研讀當時南美洲的政治氣氛，才能從各個角色不多的話語中，推敲出暗潮洶湧的反抗美國帝國主義的活動，最終了解切·格瓦拉的眼神為何逐漸的深邃起來，思緒逐步的擴大到這塊土地上的每一個人。 整部片看似平靜和緩的風格，可是日後將會掀起一場驚天動地的革命。這一切的起源，就來自於他對真實社會的觀察。\n一趟旅途下來，他的想法已經跟出發前變得不一樣了，當他們從山裡離開的時候，就不再是玩世不恭的態度，而是真正認識到世界的真相。切·格瓦拉壯烈的投入古巴革命，最後也被美國設計殺死，給世人留下來許多浪漫印象。\n影片最後以兩人搭不同的飛機作為結尾，象徵著兩人的人生不同抉擇，阿爾貝托要去大醫院工作，切·格瓦拉則是回國做其他事情。而阿爾貝托看著飛機離去，一臉悵然的樣子。最後的最後，導演突然將鏡頭切換到現在，拍攝老年阿爾貝托本人的眼神。拍片當下的時代，這世界真的變得更好了嗎？切·格瓦拉早已遠去，阿爾貝托只剩無限的嘆息。 3. 殺人魔值得洗白嗎？ # 有些人說，切格瓦拉跟希特勒一樣是殺人魔王，認為他上台之後照樣殺了一批政治異見者，這部片似乎在幫這個左翼份子洗白，殺人魔是可以這樣包裝，腐蝕人心的嗎？\n譬如：時勢造電影？談《摩托車日記》殘酷現實，與觀影的意識形態 - UDN鳴人堂\n如果觀眾真的被電影內容「洗腦」了，覺醒革命意志，很可能會產生危害自由民主社會的不良想像！\n可是，革命哪有不流血的？古巴政權宣佈不依賴美國也能過得下去。好像有個評價是這樣說的，當他們說共產主義在南美洲行不通的時候，另一方面資本主義也不見得有帶來什麼希望。因此，古巴革命的正向意義還是存在的。用人性化的一面敘述被媒體稱之為惡魔的人士的另一面，就正好能夠打了那些平躺接收主流價值觀輸出的人，給個臉腫的結果。\n切·格瓦拉協助卡斯楚兄弟發起革命，推翻親美的獨裁古巴政權之後，沒有戀棧權力，反而是親自帶頭向外國輸出革命，遠赴非洲打仗，再回到南美洲策動其他國家革命，最終被美國政府授意處決。古巴政府一段時間都是想在南美洲各國搞集體革命的，弄得形象很不佳，尤其美國在南美洲依然有影響力，一些右翼政府組成的反共集團背後都有美國站台。毛澤東曾經告訴過卡斯楚：「不要把小資產階級也當作敵人」意味著不要推行極端路線，周恩來評價切·格瓦拉是盲動主義者，操之過急了。要是切·格瓦拉沒那麼快死，這個世界會繼續掀起更多翻天覆地的變化吧。就這樣的浪漫精神，暫且不計後果，便很讓人嚮往的了。\n剛好以前我高中的時候有讀過切·格瓦拉1961年的著作《論游擊戰》，講他在古巴革命時總結的經驗，如何與人民接觸，還有管理軍隊。這下知道為什麼意圖反共復國的「義勇軍」往往打不倒共產黨訓練的游擊隊了吧，思想工作和體系都不如共產黨體制完善。說要解放人民更是沒有比共產黨有正當性 —— 他們背後可是帝國主義的美國ㄟ。1961年豬灣事件中，美國意圖扶植反古巴共產黨的勢力推翻新政府，結果慘淡收場，就是這麼個道理。\n確實，切格瓦拉太早死了，所以只留下了革命者的傳奇印象，沒來得及像那些無產階級專政的人士一樣成為權力墮落之輩。時間過去這麼久了，他跟卡斯楚兄弟一同建立的古巴共和國，雖然是社會主義國家中表現比較平穩的政權（沒有文革、幾乎沒有個人崇拜，基本消除了飢餓問題），卻依然存在迫害言論與新聞出版自由的問題。電影裡面選擇不呈現這些事實，不告訴觀眾切·格瓦拉的完整生平，而是只淡淡的說：「這是兩個冒險的靈魂，恰好相聚在一起的普通的故事」\n切·格瓦拉被美軍控制的軍隊抓捕處刑，他的印象就永遠定格在了那一刻為革命付出的樣子，讓更多後人前仆後繼的追求他為理想獻身的精神，順便給那些臣服於資本主義世界的人一記警世棍棒。\n在遙遠的世界另一端的台灣，五月天的歌曲用搖滾述說了切格瓦拉的故事，算是一個還不錯的中文版註腳：「就算誰能消滅了我，卻奪不走我們做夢的自由」\n官方MV （好笑的是他在土耳其拍的）\n橫越過南美洲 一萬兩千里的貧窮\n我騎著 狂妄的 一股衝動\n無垠的大地阿 種不出一個夢\n只看到 那無數的飢餓的孩子 和 絕望佃農\n嗚 誰在等待英雄\n嗚 我把左輪瞄準無情天空\n誰願意和我 一起寫一個傳說\n你還夢不夢瘋不瘋\n還有沒有當初 浪漫溫柔\n誰願意和我 一起寫一個傳說\n就算誰能 消滅了我\n卻奪不走我們 作夢的自由\n印地斯的天空 千年沒有出現彩虹\n失業的 老人在 彈著斑鳩\n誰露宿在街頭 誰卻住在皇宮\n日記上寫滿了夢想 我決定要用這一生背誦\n嗚 誰在呼喊自由\n嗚 我用生命挑戰宿命宇宙\n","date":"2025年4月15日","externalUrl":null,"permalink":"/posts/the-motorcycle-diaries-reviews/","section":"Reviews","summary":"「我認為，革命是不朽的。」\n———————— 切·格瓦拉，1967年就義前的感想\n2004年西班牙語公路電影《革命前夕的摩托車日記》 (Diarios de motocicleta) 根據真人真事改編，描述埃內斯托·「切」·格瓦拉年輕時代的故事，跟著好友阿爾貝托·格拉納多橫越半個南美洲，見證了世界的痛苦，所以決定掀起共產主義革命。 台灣預告片（數位修復版）\n1. 片子概觀 # 我是聽五月天的〈摩托車日記〉才知道這部電影的。切·格瓦拉大概是20世紀最有名的左翼革命家之一，他那張〈英勇的游擊隊員〉的大頭照深植人心，再加上為了解放南美洲而投入的壯烈革命，使他成為了許多人景仰的悲劇英雄角色。 那麼，在他起事之前，是什麼樣的經歷，讓他決定踏上這條不歸路呢？2004年《革命前夕的摩托車日記》依照切·格瓦拉當時留下來的日記拍攝，再藉由仍存世的阿爾貝托·格拉納多提供指導，為觀眾呈現了當時兩人所見到的世界。\n1952年，切·格瓦拉23歲，阿爾貝托·格拉納多30歲，都是準備施展身手的年輕醫生小伙子。兩人從阿根廷出發，準備橫越智利、秘魯，爬上馬丘比丘，抵達哥倫比亞、委內瑞拉、邁阿密，最終搭機返國。在途中經過了各種地方，讓觀眾欣賞美麗風景的同時，聆聽獨有特色的背景音樂。再聽切·格瓦拉用他藝術性的筆調撰寫的日記，訴說對這個世界的不公，看整個南美洲都壟罩在美國帝國主義的陰影下，中間穿插被壓迫農民以及共產主義者的悲鳴。這部片的節奏雖然緩慢呈現，但是革命的種子卻已經在切·格瓦拉心中種下。 ","title":"從《革命前夕的摩托車日記》看共產革命家切·格瓦拉的思想啟蒙，五月天有首歌也跟他有關","type":"review"},{"content":" Androidスマートフォンアプリ「Termux」でPythonプログラムを書く方法と、Ivon個人の経験を少し共有します。\nAndroidスマートフォンでPythonを書くためのアプリは、使いにくいものが少なくありません。純pythonで書かれたパッケージしかインストールできず、wheelに出くわすと止まってしまいます。おそらく目的は、本格的なPython開発環境を作ることではなく、Duolingoのように初心者が練習する場に近いのでしょう。\nその中で、Termuxだけは進化を続けています。pip installは今でも通常のLinux環境と100%同じようには動きませんが、Termux専用にコンパイルされたパッケージは増えています。Termuxが提供するPythonパッケージを使えば、簡単な Pythonプログラムを動かし、スマートフォン内のファイルを処理できます。Root権限は不要です。\nたとえば、pipでPillowをインストールし、写真のEXIF情報を一括処理する小さなプログラムを書くことができます。スマートフォンのDCIMフォルダ内の全写真を読み込み、EXIF情報に基づいて写真上に日付を印字し、別のフォルダへ出力します。（このプログラムは実際に使えます。ソースコードはこちら） また、Pythonで書かれたterm-imageを使い、スマートフォン内の画像をターミナルに表示することもできます。 1. テキストだけか、グラフィカル画面か？ # Termuxは標準ではテキスト画面のターミナルエミュレータです。Pythonプログラムを実行するにはコマンドを入力します。Termux X11を使えばグラフィカル画面も動かせますが、本当に必要でしょうか？\nテキスト中心のPythonプログラムは、数値計算、星印の出力、ファイルの一括処理、ファイルのダウンロードなど、プレーンテキストの内容だけを出力します。テキスト画面でプログラムを書くには、VimまたはEmacsで編集する方法を覚える必要があります。これはテキストエディタの操作を練習するよい機会です。\nグラフィカル画面なら、ウィンドウ表示やグラフ描画が必要なPythonプログラムを動かせます。グラフィカル画面でコードを書く選択肢は多く、VS CodeやJupyter Notebookもありますが、スマートフォンのリソースをより多く消費します。\nグラフィカル画面は必須ではありません。小さなプログラムを書くだけなら、IDEを使う必要はなく、Vimで十分です。\nこの記事ではテキスト環境を中心に、グラフィカル環境を次点として扱います。\n2. TermuxでPythonを動かすか、proot-distroで動かすか？ # PythonはTermuxで直接動かすことも、proot-distroでDebian環境を作成してからその中で動かすこともできます。\nこの2つは何が違うのでしょうか。TermuxのPythonパッケージはTermux環境向けにコンパイルされたもので、ネイティブ性能で動作します。ただしTermuxは標準的なLinux環境ではないため、一部のPythonパッケージは使えないことがあります。\n一方proot-distroはLinuxシステムに近い環境なので、その中でPythonをインストールすると互換性がよくなります。またDebianのパッケージリポジトリには既製のPythonパッケージが多く、pip wheelに依存しなくて済みます。ただしproot-distroの実行性能は遅くなります。\nこの記事ではTermux環境を中心にします。\n3. TermuxにPythonをインストールする方法 # Termuxをインストールします。\nPythonとpipをインストールします。Python-venvモジュールも含まれます。\npkg install python3 python-pip Pythonのバージョンを確認します。執筆時点では3.12のはずです。 python3 --version Pythonパッケージの実行ファイルの完全なパスは$PREFIX/usr/bin/python3です。\npip installしたパッケージは$PREFIX/lib/python3.xにインストールされます。\nTermux Wikiの情報によると、Termuxはローリングリリースなので、pkg upgradeで更新するとPythonも必ず一緒にアップグレードされます。Pythonが次のメジャーバージョンへ上がった後は、pip installしたパッケージを手動で再インストールする必要があります。\n4. Pythonバージョンを切り替える # Termuxはローリングリリース方式のため、最新バージョンのPythonパッケージだけを提供します。パスは$PREFIX/usr/bin/python3です。pip installでインストールしたパッケージも、上記Pythonのバージョンに対応します。\nではPythonバージョンをどう切り替えるのでしょうか。Pythonバージョン管理ツール「uv」にはTermuxパッケージがありますが、機能は正常ではありません。Anacondaをインストールするつもりなら、Termuxへ直接入れるのは難しく、proot-distro内に入れる必要があります。Termux proot-distroにAnacondaをインストールを参照してください。\n残る方法は、TUR Repoが提供する古いPythonを使うことです。Termuxのメインリポジトリでは古いPythonを提供できないため、TUR Repoがその不足を補います。\nたとえば現在のバージョンがPython 3.12で、古いPython 3.9が必要なら、TUR Repoからインストールします。\npkg install tur-repo pkg search python3 pkg install python3.9 インストール後は、次のパスで実行してください：$PREFIX/usr/bin/python3.9\nたとえばpython3 main.pyはpython3.9 main.pyになります。\n特定バージョンのPythonパッケージをインストールするには、python3.9 -m pip install \u0026lt;套件名稱\u0026gt;を使います。\n異なるバージョンの仮想環境を作成する場合は、python3.9 venv -m venvを使います。\n5. pip installのコツ # 通常、Pythonの外部モジュールを使うには、pip installでパッケージをインストールしてから、Pythonプログラム内でモジュールをimportします。\nPythonパッケージをインストールするとき、Termuxのリポジトリにパッケージ化されたもの（通常はpython-*で始まる）があるなら、pkg installでTermuxリポジトリからインストールします。それで無理ならpip installを使います。\nTermux環境はPCのLinux環境と完全には同じではないため、pip installではwheelのコンパイルが必要なパッケージで失敗することがあります。そのためTermux開発者がパッケージ化した版を使うのがおすすめです。\nたとえばPillowパッケージはTermuxのリポジトリからインストールできます。\npkg install python-pillow 古いバージョンのPillowが必要な場合だけ、pip installでのインストールを検討します。\npip install pillow==9.5.0 6. VimとPythonプラグインをインストール # テキストエディタVimを、Python編集に適した環境にします。\nVimをインストールします。\npkg install vim Vimの基本操作はネットで検索してください。Termuxは画面上に多くのショートカットキーを表示しており、Vimでの入力操作には十分です。\nVim本体には非常に基本的なコードハイライト機能しかなく、Pythonプログラムの編集には少し物足りないかもしれません。そのためプラグインを入れて機能を補強します。\nVimのプラグインは非常に多いです。どれを入れるべきでしょうか。Real Pythonの VIM and Python – A Match Made in Heaven という記事は、とても詳しく説明していると思います。記事内で触れられているVundleパッケージマネージャーも、Termux環境にインストールできます。\nただしYouCompleteMeの自動補完システムを使うには、いくつかpatchを当てる必要があります。How to install YouCompleteMe on Termux by micjabbourを参照してください。\n7. 基本的なPythonコマンドライン実行方法 # 簡単なPythonプログラムを書き、コマンドで実行して結果を出力する方法を紹介します。\nPythonプログラムがファイルへ書き込む必要がある場合、Termuxのパスの書き方を理解する必要があります。Termuxファイル管理を参照してください。\nプロジェクトディレクトリを作成し、使用するPythonプログラムを同じディレクトリにまとめることをおすすめします。 mkdir project1 cd project1 （任意）ここでPython仮想環境を作成し、システムパッケージから隔離します。 python3 -m venv venv source ./venv/bin/activate Pythonプログラムファイルを作成します。 touch main.py Vimでそのファイルを編集します。 vim main.py 簡単なHello Worldコードを入力します。 print(\u0026#34;Hello World!\u0026#34;) プログラムを実行します。結果が出力されるはずです。 python3 main.py 8. グラフィカルIDEでPythonを書く # ここでの操作にはキーボードとマウスを推奨します。\nグラフィカルIDEでプログラムを書けば、コマンド入力の手間を省けます。\nグラフィカルIDEといえば、多くの人はVS Codeを思い浮かべるでしょう。残念ながら、Termuxにはcode-serverパッケージしかなく、デスクトップ版VS Codeはありません。\nTermuxはcode-serverパッケージを提供しており、スマートフォンのブラウザでWeb版VS Codeを動かせます。ただ、どうせグラフィカル画面を使うなら、Termux X11で完全なXサーバーを動かすほうがよいと思います。そうすればVS Codeを開けるだけでなく、PythonプログラムがPyQTでウィンドウを描画することもできます。\nTermuxにはデスクトップ版VS Codeが収録されていないため、proot-distro内にVS Codeをインストールしてからグラフィカル画面を起動するのがおすすめです。\n9. proot-distro内でPythonを使う際の注意 # proot-distro loginコマンドを実行すると、Termuxは自身のPATHも一緒にマウントします。そのためpythonコマンドを実行したとき、コンテナ内の版ではなくTermux側の版が実行されることがあります。\nどう確認するのでしょうか。which pythonとwhich python3でPythonのパスを確認します。/usr/bin/python3でなければ、Termux側の版を実行しています。\nこの問題を解決するには、proot-distro内の~/.bashrcに次の内容を追加します。\nalias python=/usr/bin/python3 alias python3=/usr/bin/python3 alias pip=/usr/bin/pip alias pip3=/usr/bin/pip3 ","date":"2025年4月12日","externalUrl":null,"permalink":"/ja-jp/posts/termux-python/","section":"Termux-Tutorials","summary":" Androidスマートフォンアプリ「Termux」でPythonプログラムを書く方法と、Ivon個人の経験を少し共有します。\nAndroidスマートフォンでPythonを書くためのアプリは、使いにくいものが少なくありません。純pythonで書かれたパッケージしかインストールできず、wheelに出くわすと止まってしまいます。おそらく目的は、本格的なPython開発環境を作ることではなく、Duolingoのように初心者が練習する場に近いのでしょう。\nその中で、Termuxだけは進化を続けています。pip installは今でも通常のLinux環境と100%同じようには動きませんが、Termux専用にコンパイルされたパッケージは増えています。Termuxが提供するPythonパッケージを使えば、簡単な Pythonプログラムを動かし、スマートフォン内のファイルを処理できます。Root権限は不要です。\nたとえば、pipでPillowをインストールし、写真のEXIF情報を一括処理する小さなプログラムを書くことができます。スマートフォンのDCIMフォルダ内の全写真を読み込み、EXIF情報に基づいて写真上に日付を印字し、別のフォルダへ出力します。（このプログラムは実際に使えます。ソースコードはこちら） ","title":"AndroidスマホでPythonを書く：Termux Python開発環境の構築","type":"termux-tutorials"},{"content":"","date":"2025年4月12日","externalUrl":null,"permalink":"/ja-jp/tags/python/","section":"Tags","summary":"","title":"Python","type":"tags"},{"content":"分享如何在Linux系統查看與編輯照片的EXIF中繼資料。 使用digiKam檢視照片的EXIF中繼資料\n什麼是EXIF？可以說是照片的身份證，裡面包含照片拍攝當下的各種參數，又稱為中繼資料(metadata)。這就得認識一下紀錄照片資料的檔案格式了，中繼資料除了EXIF之外還有IPTC和XMP，都是保存照片資料的檔案。內嵌在圖片檔案裡面，舉凡JPG、JFIF、PNG、WEBP、AVIF、HEIC圖片格式都能嵌入這些檔案。\n但是他們的用途不一樣：\nEXIF儲存的是相機資訊，包含光圈、曝光、GPS座標、作者資訊等。 IPTC跟XMP是同一個組織開發的格式，後者為較新版本的格式。XMP儲存的並非相機資訊，而是撰寫作者與版權資訊，欄位更為豐富。 EXIF有什麼重要的呢？紀錄相機資訊非常有用！能準確反映照片是在哪裡拍攝的，紀錄當下的相機各種參數。不過EXIF有時候也會帶來危險，上傳照片到網路的時候，為了資安以及隱私考量，建議刪除EXIF，畢竟不是每個社群媒體都會幫你的圖片進行轉檔並去掉EXIF。而有心人士可以透過讀取照片EXIF，很快就到你家門口。\n講到Linux的EXIF處理工具，很多人都會推薦ExifTool，它是Phil Harvey用Perl寫成的開源工具，可以透過指令編輯照片EXIF資訊。儘管ExifTool的作者有做圖形化界面ExifToolGUI，但是只有Windows版本。\n這篇文章Ivon將分享替代Exiftools的圖形化軟體，適用Linux系統，用GUI取代命令行。\n1. 使用digiKam編輯EXIF # digiKam是一款相片管理軟體，根據digikam官方手冊，這個程式整合了ExifTool用於編輯中繼資料。\n透過Flatpak安裝。在初始化digiKam的時候，記得勾選將變更資訊寫入到檔案，這樣digiKam才會將EXIF寫入到照片。 flatpak install flathub org.kde.digikam 點選匯入 → 加入影像，將照片加入到digiKam資料庫\n選取照片，點選項目 → 編輯中繼資料。digiKam編輯EXIF欄位的時候似乎只能填入ASCII字元。 如果照片本身沒有EXIF資訊，需要點選項目 → 將中繼資料寫入選取的檔案。\n然後點選匯出照片。\n2. 使用GIMP編輯EXIF # 注意：目前GIMP 3.0能編輯的EXIF欄位有限。\n透過Flatpak安裝 flatpak install flathub org.gimp.GIMP 點選檔案 → 開啟圖片\n點選影像 → 中介資料 → 編輯中介資料。寫完後點選「寫入中介資料」。 然後輸出照片的時候，不能直接點覆蓋，要按檔案 → 匯出為，選取照片格，並將EXIF與XMP打勾 3. 一鍵刪除照片EXIF軟體 # Romain Vigier開發的Metadata Cleaner是一個不錯的小工具，界面直白易用。但是這個軟體已經放棄維護了。\n請改用Thiago Fernandes開發的Scramble。透過Flatpak安裝。\n開啟之後，點選左上角匯入檔案。點選存檔按鈕刪除EXIF，另存新檔。點右上角Batch Process可以處理多張圖片。 ","date":"2025年4月11日","externalUrl":null,"permalink":"/posts/edit-exif-linux/","section":"所有文章","summary":"分享如何在Linux系統查看與編輯照片的EXIF中繼資料。 使用digiKam檢視照片的EXIF中繼資料\n什麼是EXIF？可以說是照片的身份證，裡面包含照片拍攝當下的各種參數，又稱為中繼資料(metadata)。這就得認識一下紀錄照片資料的檔案格式了，中繼資料除了EXIF之外還有IPTC和XMP，都是保存照片資料的檔案。內嵌在圖片檔案裡面，舉凡JPG、JFIF、PNG、WEBP、AVIF、HEIC圖片格式都能嵌入這些檔案。\n但是他們的用途不一樣：\nEXIF儲存的是相機資訊，包含光圈、曝光、GPS座標、作者資訊等。 IPTC跟XMP是同一個組織開發的格式，後者為較新版本的格式。XMP儲存的並非相機資訊，而是撰寫作者與版權資訊，欄位更為豐富。 EXIF有什麼重要的呢？紀錄相機資訊非常有用！能準確反映照片是在哪裡拍攝的，紀錄當下的相機各種參數。不過EXIF有時候也會帶來危險，上傳照片到網路的時候，為了資安以及隱私考量，建議刪除EXIF，畢竟不是每個社群媒體都會幫你的圖片進行轉檔並去掉EXIF。而有心人士可以透過讀取照片EXIF，很快就到你家門口。\n講到Linux的EXIF處理工具，很多人都會推薦ExifTool，它是Phil Harvey用Perl寫成的開源工具，可以透過指令編輯照片EXIF資訊。儘管ExifTool的作者有做圖形化界面ExifToolGUI，但是只有Windows版本。\n","title":"Linux編輯照片EXIF中繼資料的圖形軟體（digiKam ＆ ExifTool)","type":"posts"},{"content":"Install ICC Color Profiles on Linux desktop.\n編輯照片的時候會遇到色彩管理(Color Management )的問題。以廣色域照片為例，如果作業系統沒有妥善的色彩管理，那麼廣色域顯示器就無法處理sRGB以外色域的照片，導致採用DCI-P3廣色域的照片顯示錯誤的顏色。\n當然，要編輯廣色域的照片，你得先確認自己的顯示器是否支援廣色域。\n通常色彩管理會用到ICC色彩描述檔(ICC Profiles)，附檔名為.icm。它能夠用來指定顯示器顏色，也能夠內嵌在圖片檔裡面，讓軟體正確得知該圖片使用的色域。\nLinux各大發行版（Ubuntu、Fedora、Arch Linux）支援色彩管理，但是並非全域統一支援，要桌面環境加上應用程式支援度。 GNOME和KDE Plasma桌面環境支援色彩管理。\nFirefox、Chromium系瀏覽器、修圖軟體GIMP、繪圖軟體Krita、照片整理程式digiKam、CUPS印表機都是支援色彩管理的。看圖軟體Gwenview也支援讀取內嵌ICC色彩描述檔的圖片。\n想要知道色彩管理是否正常運作，最簡單方式就是用瀏覽器開啟這個網頁，測試能不能在DCI-P3的顯示器看到WebKit Logo且顏色正確：https://webkit.org/blog-files/color-gamut/\n（下面只是示意圖，做過特殊處理，無論電腦是否支援DCI-P3都可以看到logo） 如果軟體不支援色彩管理，那麼它會以sRGB色域顯示圖片。\n那麼本文Ivon就來討論如何於Linux使用ICC。\n1. 前置條件 # Linux的色彩管理支援度，首先取決於你使用的桌面環境。\n撰文當下，GNOME最新版本48，KDE Plasma最新版本6.3\n要使用色彩管理請使用X11協定，不要用Wayland。如何確認目前的桌面工作階段為X11還是Wayland？輸入指令echo $XDG_SESSION_TYPE確認。\nWayland協定的色彩管理不成熟，若使用Wayland可能導致螢幕顏色錯亂。未來Wayland有望實現全域色彩管理，請看這篇2023年9月23日的新聞：Wayland Color Management Protocol Posted For Weston。但即使Wayland的新色彩管理協定草案已經送出，目前各大桌面環境僅有KDE Plasma 6採用。\n順帶一提，如果你想要使用HDR功能，必須要使用Wayland協定，且桌面環境需要GNOME 48或者KDE Plasma 6以上版本。\n2. 取得ICC色彩描述檔 # ICC設定檔以.icm結尾，Linux桌面環境應該已經內建一套色彩描述檔，位於/usr/share/color/icc/目錄。\n試試使用現有ICC色彩描述檔。可以從Windows系統得到.icm檔案，資料夾位於C:\\Windows\\System32\\spool\\drivers\\color\\\n順帶一提NotebookCheck網站在寫評測的時候也會附上他們校色過的.icm檔供下載，特別適合筆電用戶參考。\n如果要絕對準確度，就是在Linux下進行顯示器校色了。校色軟體DisplayCAL有Linux版，可以搭配校色器使用，藉此產生準確的ICC色彩描述檔。\n3. 載入ICC色彩描述檔 # 桌面環境應該有圖形界面讓你選。要手動安裝的話，用指令複製過去，ICC色彩描述檔應放到/usr/share/color/icc/目錄：\nsudo cp /home/user/N156HCE.icm /usr/share/color/icc/ Linux顯示器的ICC色彩描述檔是交由桌面環境的常駐程式載入。\n比如GNOME要安裝gnome-color-manager套件，才能在系統設定調整螢幕的ICC色彩描述檔。 KDE Plasma為kde-colord套件，這樣子在系統設定的「色彩管理」介面就可以調整螢幕的ICC色彩描述檔。點裝置 → 選取顯示器 → 點Assign Color Profile，切換ICC色彩描述檔。 另外，KDE Plasma 6以後，Wayland工作階段也可以在系統設定 → 顯示器，選取ICC色彩描述檔。 如果Linux使用Nvidia閉源驅動，則Nvidia X Server Settings裡面可以調整色彩空間，確保螢幕顏色準確。 其他桌面環境調整請使用xcalib工具載入ICC色彩描述檔。\n如果桌面環境系統選單無法讓你挑ICC色彩描述檔，就用colormgr指令改。colormgr隨附於colord套件。\n使用colormgr指令列出螢幕ID\ncolormgr get-devices 列出可用ICC設定檔ID。ID為一長串英數組合\ncolormgr get-profiles 再給螢幕新增ICC設定檔\ncolormgr device-add-profile \u0026#34;xrandr-Chimei Innolux Corporation\u0026#34; \u0026#34;icc-0e818279fc2a0a06ba8adb7c1b11b37d\u0026#34; 然後設定該ICC設定檔為預設\ncolormgr device-make-profile-default \u0026#34;xrandr-Chimei Innolux Corporation\u0026#34; \u0026#34;icc-0e818279fc2a0a06ba8adb7c1b11b37d\u0026#34; 4. 在GIMP使用ICC色彩描述檔 # GIMP具有讀取ICC色彩描述檔與轉換ICC色彩描述檔的功能。\n以GIMP 3.0為例。\n開啟GIMP，點選檔案，開啟一張照片。\n如果照片內嵌的IC色彩描述檔並非sRGB，它會問你要不要轉換為sRGB，點選「維持」原本的 點選影像 → 色彩管理 → 指派色彩描述檔 這裡就能夠選取Linux磁碟中的ICC色彩描述檔了，應該能夠從/usr/share/color/icc/找到ICC色彩描述檔。若GIMP是用Flatpak安裝的，則系統全域安裝的ICC色彩描述檔會跑到/run/host/usr/share/color/icc/。 也可以按「儲存色彩描述檔到檔案」，抽出圖片內嵌的ICC色彩描述檔。\n點選檔案 → 匯出為，匯出的時候要勾選儲存色彩描述檔。 5. 附註：調整螢幕色溫、Gamma值、對比度 # GNOME系統設定裡面有「夜間模式」能夠調整色溫。\nKDE的系統設定裡面也有Gamma與RGB顏色的調整選項。\n如果Linux使用Nvidia閉源驅動，則Nvidia X Server Settings裡面也可以調螢幕的亮度與對比度。\nRedshift工具可以調整色溫，從1000K到25000K都有，還有隨地理位置自動調整達成夜間光線的效果。\nredshift -P -O 5500 xrandr工具包辦了對比度、Gamma值、亮度、RGB動態範圍的設定。\n# 列出螢幕 xrandr --current # 調整eDP-1螢幕的Gamma值與亮度 xrandr --output eDP-1 --gamma 1:1:1 --brightness 1.0 # 調整RGB動態範圍 xrandr --output eDP-1 --set \u0026#34;Broadcast RGB\u0026#34; \u0026#34;Full\u0026#34; 參考資料 # ICC Porfiles - Arch Wiki How do I import color profiles? - Ubuntu Help ","date":"2025年4月11日","externalUrl":null,"permalink":"/posts/linux-icc-profiles/","section":"所有文章","summary":"Install ICC Color Profiles on Linux desktop.\n編輯照片的時候會遇到色彩管理(Color Management )的問題。以廣色域照片為例，如果作業系統沒有妥善的色彩管理，那麼廣色域顯示器就無法處理sRGB以外色域的照片，導致採用DCI-P3廣色域的照片顯示錯誤的顏色。\n當然，要編輯廣色域的照片，你得先確認自己的顯示器是否支援廣色域。\n通常色彩管理會用到ICC色彩描述檔(ICC Profiles)，附檔名為.icm。它能夠用來指定顯示器顏色，也能夠內嵌在圖片檔裡面，讓軟體正確得知該圖片使用的色域。\nLinux各大發行版（Ubuntu、Fedora、Arch Linux）支援色彩管理，但是並非全域統一支援，要桌面環境加上應用程式支援度。 GNOME和KDE Plasma桌面環境支援色彩管理。\nFirefox、Chromium系瀏覽器、修圖軟體GIMP、繪圖軟體Krita、照片整理程式digiKam、CUPS印表機都是支援色彩管理的。看圖軟體Gwenview也支援讀取內嵌ICC色彩描述檔的圖片。\n想要知道色彩管理是否正常運作，最簡單方式就是用瀏覽器開啟這個網頁，測試能不能在DCI-P3的顯示器看到WebKit Logo且顏色正確：https://webkit.org/blog-files/color-gamut/\n（下面只是示意圖，做過特殊處理，無論電腦是否支援DCI-P3都可以看到logo） ","title":"給Linux顯示器進行色彩管理，套用ICC色彩描述檔，確保螢幕顏色一致","type":"posts"},{"content":"","date":"2025年4月11日","externalUrl":null,"permalink":"/ja-jp/tags/proot-distro/","section":"Tags","summary":"","title":"Proot-Distro","type":"tags"},{"content":" Allow apps in proot-distro to draw windows on XFCE desktop in Termux. Integrate X11 GUI apps in proot-distro with Termux host desktop environment.\nデフォルトでは、TermuxのネイティブパッケージでXFCEデスクトップ環境を動かし、X11のネットワーク透過性を使って、proot-distro内のX11プログラムのウィンドウをXFCEデスクトップ上に表示させます。 この画像はTermuxとproot-distro環境が同時に動作している様子を示しています。XFCEデスクトップはTermuxで直接動作し、LibreOfficeはproot-distro内から起動しています\nここでネイティブのXFCEプログラムを動かす側を、ひとまずTermuxホストと呼ぶことにします。proot-distroは自然にコンテナ側です。この流れは以下のようになります。 この使い方は、LinuxデスクトップのコンテナツールDistroboxに少し似ています。Docker内のX11 GUIプログラムをホストのデスクトップに表示できる、というものです。\nproot-distro内から直接XFCEを起動すればいいのでは、なぜTermuxのXFCEパッケージを使うのか、と思うかもしれません。\n理由は速度です。proot内のプロセスはptraceでエミュレートされるため、Termux向けにネイティブコンパイルされたプログラムよりもそもそも遅くなります。今ではTermuxのパッケージも増えており、Chromiumブラウザまであります（TUR Repoに収録）。そのため今後は、proot-distroでデスクトップ環境を動かして主客転倒させる必要は徐々に減るでしょう。よく使うプログラムの大半をTermuxネイティブ版で実行できるなら、proot-distroを常用する必要はありません。必要な時だけproot-distroを起動し、Debianリポジトリにしかないプログラムを動かせばよいのです。\n1. Termuxにデスクトップ環境をインストールする # TermuxにXFCE4デスクトップをインストールするを参照してください。グラフィック表示の方法は、Termux X11でもVNCでも構いません。\nここではさらに、XクライアントがXサーバーへ接続する権限を制御するためのパッケージを追加します。\npkg install xorg-xhost Termuxのデスクトップ環境を起動できるかテストします。\nまた、XFCEのファイルマネージャーを開き、storage/sharedディレクトリを開けば、Android内部ストレージのファイルを読み込めます。\n2. proot-distroを設定する # 私はproot Debianをインストールしました。\n一般ユーザーを追加し、proot-distro内で日本語化を設定することをおすすめします。\nTermuxにはlocalesパッケージがなく、日本語のロケールを設定できません。\nproot-distro内には、たとえばLibreOfficeのようなGUIプログラムもインストールしておきます。\nsudo apt install libreoffice 3. Termuxデスクトップからproot-distro内のプログラムを起動する # まずxhostを実行し、proot-distro内のプログラムがTermuxデスクトップのXサーバーにウィンドウを描画できるよう許可します。prootのプロセスはTermux userによって起動されるため、whoamiコマンドで現在のユーザー名を渡し、このユーザーの接続を許可します。 xhost +SI:localuser:$(whoami) proot-distroにログインします。Xサーバーリソースを共有するため、必ず--shared-tmpを使います。さらに--termux-homeを付けてTermuxのホームディレクトリもマウントします（proot内のプログラムにファイルを散らかされたくない場合は、マウントしなくても構いません）。 proot-distro login debian --user user --shared-tmp --termux-home DISPLAY環境変数を指定します。値はTermux Xサーバーのアドレスで、通常は:0です。その後、LibreOfficeなどのプログラムを実行します。 export DISPLAY=:0 libreoffice するとLibreOfficeのウィンドウが起動します。 Termuxデスクトップ上のファイルは、LibreOfficeのウィンドウへ直接ドラッグして開けます。\nただしLibreOfficeからファイル選択ダイアログを開く場合、デフォルトではproot-distro内のディレクトリしか見えません。上でTermuxのホームディレクトリをマウントしているため、proot-distro内のユーザーのホームディレクトリ/homeはTermuxのホームディレクトリと共有された状態になります。\nまた、/sdcardからAndroid内部ストレージのディレクトリを読み込むこともできます。\n4. TermuxデスクトップにGUIショートカットを追加する # Desktop Entryにしておけば、手動でproot-distroにログインしてコマンドを打つ必要がなくなります。\nXFCEにはDesktop Entryをすばやく作成する方法があります。デスクトップで右クリック → Create Launcher を選びます。 Command欄に以下のコマンドを入力します。Debian prootへログインし、bashでLibreOfficeを起動します。\nproot-distro login debian --shared-tmp -- bash -c \u0026#34;DISPLAY=:1 libreoffice\u0026#34; アイコンファイルは任意のディレクトリの画像を選べますが、私は元のものを使います。Iconをクリックし、Image Filesを選び、ファイル選択ダイアログでパスに/data/data/com.termux/files/var/lib/proot-distro/installed-rootfs/debian/usr/share/icons/hicolor/を入力します。するとTermux proot-distro内のアイコンファイルを見つけられます。 保存してダブルクリックすれば、LibreOfficeが直接起動します。他のプログラムも同じ要領で設定できます。\n","date":"2025年4月11日","externalUrl":null,"permalink":"/ja-jp/posts/termux-desktop-with-proot-distro/","section":"Termux-Tutorials","summary":" Allow apps in proot-distro to draw windows on XFCE desktop in Termux. Integrate X11 GUI apps in proot-distro with Termux host desktop environment.\nデフォルトでは、TermuxのネイティブパッケージでXFCEデスクトップ環境を動かし、X11のネットワーク透過性を使って、proot-distro内のX11プログラムのウィンドウをXFCEデスクトップ上に表示させます。 この画像はTermuxとproot-distro環境が同時に動作している様子を示しています。XFCEデスクトップはTermuxで直接動作し、LibreOfficeはproot-distro内から起動しています\nここでネイティブのXFCEプログラムを動かす側を、ひとまずTermuxホストと呼ぶことにします。proot-distroは自然にコンテナ側です。この流れは以下のようになります。 この使い方は、LinuxデスクトップのコンテナツールDistroboxに少し似ています。Docker内のX11 GUIプログラムをホストのデスクトップに表示できる、というものです。\nproot-distro内から直接XFCEを起動すればいいのでは、なぜTermuxのXFCEパッケージを使うのか、と思うかもしれません。\n理由は速度です。proot内のプロセスはptraceでエミュレートされるため、Termux向けにネイティブコンパイルされたプログラムよりもそもそも遅くなります。今ではTermuxのパッケージも増えており、Chromiumブラウザまであります（TUR Repoに収録）。そのため今後は、proot-distroでデスクトップ環境を動かして主客転倒させる必要は徐々に減るでしょう。よく使うプログラムの大半をTermuxネイティブ版で実行できるなら、proot-distroを常用する必要はありません。必要な時だけproot-distroを起動し、Debianリポジトリにしかないプログラムを動かせばよいのです。\n","title":"TermuxのXFCEデスクトップでproot-distro内のX11 GUIアプリを起動する","type":"termux-tutorials"},{"content":"","date":"2025年4月10日","externalUrl":null,"permalink":"/ja-jp/tags/vnc/","section":"Tags","summary":"","title":"VNC","type":"tags"},{"content":" この記事では、VNCサーバーを設定して、TermuxのLinuxシステムデスクトップへアクセスする方法を説明します。prootまたはchrootでインストールしたLinuxシステムに適用できます。 TermuxはAndroidスマートフォンでLinuxを動かせます。環境を整えた後は、デスクトップ（グラフィカル環境）への接続方法を考える必要があります。TermuxのLinuxシステムデスクトップへ接続するには、Termux X11、XSDL、VNCの3つの方法があります。\n前者2つはスマートフォン上でXサーバーを動かす方法です。後者はリモートデスクトップの考え方で、スマートフォン上でVNCサーバーを動かし、仮想Xvncサーバーを起動してから、VNCクライアントで接続します。このVNCクライアントはローカルでも、別のPC上のクライアントでもかまいません。\nグラフィック性能でいえば、XサーバーはVNCより優れており、3Dハードウェアアクセラレーションも実現しやすいです。\n昔私がTermuxを学び始めた頃は、多くの人がVNCを使っていました。しかしTermux X11が成熟するにつれて、私はVNCを徐々に使わなくなりました。\n3つとも同じスマートフォン上で動かす場合、どれもlocalhostなので遅延の問題はありません。VNCはXサーバーに比べ、実際のところ性能面の利点がほとんどありません。\nVNCの強みは、別のPCからリモートアクセスできることです。SSH Xサーバーforwardingの方法と比べ、VNCは画質を下げて帯域幅を減らせますし、headlessで起動することもできます。リモートで表示するときに性能上の利点が出てきます。\nそのためVNCは「PCからスマートフォンのTermuxデスクトップへ接続する」場面に向いています。小さな画面を見つめながら必死にコマンドを打つのは嫌ですよね。テキストだけのSSHアクセスに加えて、グラフィカルなVNCはよい選択肢です。 VNCとTermux X11の2つの方法は共存できます。おそらく互いに影響しません。\n1. VNCクライアントを選ぶ # スマートフォンではAVNCまたはRealVNC Viewerをおすすめします。後者は機能が多いですが、プロプライエタリソフトウェアです。\nPCではRemminaをおすすめします。\n2. VNCサーバーを設定する # 次のどちらかを選びます。\nTermuxで直接VNCサーバーを動かす # 実際にはproot-distroは不要です。Termux自体がネイティブのVNCサーバーパッケージを提供しています。ただし、proot-distro内のLinuxディストリビューションのデスクトップを開きたい場合は、この方法を使わないでください。\nまた、Termuxに収録されているデスクトップ環境パッケージはproot-distroほど豊富ではありません。現時点で最も完成度が高いのはXFCEです。\nTermuxにXFCEデスクトップをインストールします。ただしTermux X11はインストールしません。\nTigerVNCのパッケージをインストールします。執筆時点のバージョンは1.13.0です。\npkg install tigervnc VNCサーバーのパスワードを設定します。 vncpasswd VNCサーバー起動後に実行するプログラムを追加します。~/.vnc/xstartupを編集します。 mkdir ~/.vnc/ vim ~/.vnc/xstartup 次の内容を入力します。 #!/bin/bash unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADRESS # PulseAudio音声サーバーを起動。音声はTermuxから出力される pulseaudio --start --exit-idle-time=-1 pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 # デスクトップ環境を実行。ここではXFCE exec startxfce4 xstartupに実行権限を付与します。 chmod +x ~/.vnc/xstartup VNCサーバーの設定ファイルを定義します。~/.vnc/tigervnc.confを編集します。 vim ~/.vnc/tigervnc.conf 次の内容を入力します。 # 現在のセッションはXFCE $session=\u0026#34;xfce-session\u0026#34;; # 解像度。高いほど帯域幅を多く使う $geometry=\u0026#34;1920x1080\u0026#34;; # ビット深度。値は8/16/24/32で、数字が大きいほど画質はよいが帯域幅を消費する $depth=\u0026#34;32\u0026#34;; # 外部ネットワークから接続できるようにする $localhost=\u0026#34;no\u0026#34;; proot-distro内でVNCサーバーを動かす # 先にDebianなどのTermux proot-distroをインストールしてください。続いてproot-distro内にデスクトップ環境をインストールします。最もリソースを食わないのはXFCEですが、KDE Plasmaを試してもかまいません。\nproot-distroにログインし、現在rootではなく一般ユーザーであることを確認します。 whoami # rootの場合は su \u0026#34;ユーザー名\u0026#34; と入力して一般ユーザーへ切り替える TigerVNCのパッケージをインストールします。現在のバージョンは1.13.0です。 sudo apt install tigervnc-standalone-server tigervnc-xorg-extension VNCサーバーのパスワードを設定します。 vncpasswd VNCサーバー起動後に実行するプログラムを追加します。~/.vnc/xstartupを編集します。 mkdir ~/.vnc/ vim ~/.vnc/xstartup 次の内容を入力します。 #!/bin/bash unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADRESS # PulseAudio音声サーバーを起動。音声はTermuxから出力される export PULSE_SERVER=127.0.0.1 \u0026amp;\u0026amp; pulseaudio --start --disable-shm=1 --exit-idle-time=-1 # デスクトップ環境を実行。ここではXFCE exec startxfce4 xstartupに実行権限を付与します。 chmod +x ~/.vnc/xstartup VNCサーバーの設定ファイルを定義します。~/.vnc/tigervnc.confを編集します。 vim ~/.vnc/tigervnc.conf 次の内容を入力します。 # 現在のセッションはXFCE $session=\u0026#34;xfce-session\u0026#34;; # 解像度。高いほど帯域幅を多く使う $geometry=\u0026#34;1920x1080\u0026#34;; # ビット深度。値は8/16/24/32で、数字が大きいほど画質はよいが帯域幅を消費する $depth=\u0026#34;32\u0026#34;; # 外部ネットワークから接続できるようにする $localhost=\u0026#34;no\u0026#34;; 3. VNCサーバーへ接続する # Termuxでtigervncserverまたはvncserverコマンドを入力し、VNCサーバーを起動します。画面に出力されるポート番号を確認します。通常は1から始まります。VNCサーバーのポートは5900から数えるため、この場合のポートは5901です。 ローカル接続 # ローカル接続するには、スマートフォンでAVNCアプリを開き、ホスト接続を追加します。アドレスにlocalhost、ポートに5901を入力します。 AVNCの操作では、左側のボタンをタップしてタッチパッドモードに切り替えるのがおすすめです。Linuxデスクトップの文字が小さすぎる場合は、解像度を下げるか、そのデスクトップ環境の設定でDPIを調整してください。 VNCサーバー接続を終了した後は、Termuxに戻ってサーバーを停止してください。そうしないと、次回起動時に新しいポートで動いてしまいます。\nvncserver -kill :1 PCからリモート接続 # まずスマートフォンとPCを同じWi-Fiネットワークに接続します。\nTermuxでsudo apt install net-tools \u0026amp; ifconfigコマンドを実行してスマートフォンのローカルIPを取得し、Wlanの行を確認します。 次にPCのReminnaのアドレス欄をVNCに切り替え、スマートフォンIP:5901を入力して接続します。 Reminnaでは左側のボタンを押して、リモートデスクトップのサイズに合わせられます。入力方式はリモート側のものしか使えませんが、両側のクリップボードは自動で同期されます。 VNCサーバー接続を終了した後は、Termuxに戻ってサーバーを停止してください。そうしないと、次回起動時に新しいポートで動いてしまいます。\nvncserver -kill :1 関連記事 # Termux X11の使い方 XSDLの使い方 ","date":"2025年4月10日","externalUrl":null,"permalink":"/ja-jp/posts/vncserver-termux/","section":"Termux-Tutorials","summary":" この記事では、VNCサーバーを設定して、TermuxのLinuxシステムデスクトップへアクセスする方法を説明します。prootまたはchrootでインストールしたLinuxシステムに適用できます。 TermuxはAndroidスマートフォンでLinuxを動かせます。環境を整えた後は、デスクトップ（グラフィカル環境）への接続方法を考える必要があります。TermuxのLinuxシステムデスクトップへ接続するには、Termux X11、XSDL、VNCの3つの方法があります。\n前者2つはスマートフォン上でXサーバーを動かす方法です。後者はリモートデスクトップの考え方で、スマートフォン上でVNCサーバーを動かし、仮想Xvncサーバーを起動してから、VNCクライアントで接続します。このVNCクライアントはローカルでも、別のPC上のクライアントでもかまいません。\nグラフィック性能でいえば、XサーバーはVNCより優れており、3Dハードウェアアクセラレーションも実現しやすいです。\n昔私がTermuxを学び始めた頃は、多くの人がVNCを使っていました。しかしTermux X11が成熟するにつれて、私はVNCを徐々に使わなくなりました。\n3つとも同じスマートフォン上で動かす場合、どれもlocalhostなので遅延の問題はありません。VNCはXサーバーに比べ、実際のところ性能面の利点がほとんどありません。\n","title":"VNCでTermuxのLinuxデスクトップへリモート接続する方法","type":"termux-tutorials"},{"content":"手機平板能開啟.odt、.ods、.odp檔案嗎？來安裝LibreOffice吧。\nLibreOffice是一個自由開源的辦公軟體套件，內含等同Microsoft Word、Excel、Powerpoint的軟體。因為是自由軟體，一切免費。開放原始碼，尊重使用者的自由。\nODF為文件基金會提出的開放檔案格式，包含文字檔.odt、試算表.ods、簡報檔.odp，這些格式在電腦上能用LibreOffice軟體開啟，但是手機APP支援度就比較少。\n這裡Ivon要分享在編輯ODF文件的開源APP「Collabora Office」，達成類似電腦版LibreOffice的功用，不論Android與iOS系統皆可以使用。讓你不只能夠編輯.odt文件，還可以編輯.docx，作為辦公軟體的開源替代品。\n在Android上執行Collabora Office\n在iPad上執行Collabora Office\n1. LibreOffice有手機版嗎？ # 沒有。嚴格來說，目前LibreOffice 25.2只支援Linux、Windows、macOS系統，官方沒有正式移植到Android與iOS系統，得依賴第三方APP。\n雖然「Google文件」和「Microsoft Office」的APP對ODF格式都有一定程度的支援，但他們都不是以ODF為主要存檔格式。譬如Google文件手機版沒有匯出為.odt的選項。 ODF作為開放格式，我希望用來編輯的APP也得是開源的。 所以我們需要一款專為ODF設計的APP。\nLibreOffice有手機版APP嗎？LibreOffice官方有推出LibreOffice Viewer，但僅支援Android系統。且該APP僅能檢視文件，不能編輯檔案！ 於是乎，我們就得使用其他方案了。\nOpenDocument Reader是Stefl und Taschauer OG維護的開源軟體，只能開ODF，可以檢視和簡單編輯，提供Android與iOS版本。沒有比LibreOffice Viewer好到哪去。\n文件基金會合作的廠商Collabora公司（他們同時也是程式碼貢獻者）有出一款叫做「Collabora Office for Mobile」的APP，支援Android與iOS系統。功能相對來說比較完整，可以開啟ODF格式的檔案並加以編輯。 順帶一提，Collabora公司尚有維護電腦版與網頁版的Office套件，因此Collabora Office for Mobile算是覆蓋全平台的移植版本。\n2. 下載Collabora Office APP # Android到Google Play下載。\n或者到官網取得APK。Collabora Office尚提供F-Droid第三方套件庫，方便使用者追蹤更新。\niOS到App Store下載。\n3. Collabora Office操作介面 # Collabora Office應該會依照你的螢幕大小自動切換UI。\n以手機版為例，主畫面右下角按鈕用於新增檔案，右上角為開啟本機檔案。 開啟.odt檔案，點選右下角鉛筆進入編輯模式。畫面下方有調整文字粗細的常用工具。 右上角的鉛筆是段落格式設定。 右上角調色盤圖示則是插入圖片、表格。 右上角對話框圖示為編輯註解。 右上角漢堡條為儲存檔案的按鈕。 4. Collabora Office缺點 # 字型有限，只能用系統已有的字型。如果要用標楷體的話需要用其他APP下載，Android和iOS應該都有字型APP能夠安裝。或者用電腦LibreOffice事先把字型嵌在文件裡面。\niOS版中文化程度不高。\nCollabora Office操作總是卡卡的，可能是因為直接用Web版移植的？不如原生應用APP流暢。\n觸控操作不靈敏，比較適合接上鍵盤打字。\n儘管Collabora Office可以開啟.docx、.doc、.xlsx、.pptx格式文件，但考慮到文件相容性問題，它比較適合編輯ODF文件，並且要以ODF格式存檔才能保證日後版面不會跑掉。所以Microsoft Office的格式還是用專門的APP開吧。\n5. 補充：Android其實可以跑電腦版LibreOffice # 建議使用Android平板。\n這個玩法比較進階一點，但是值得。\n使用Termux安裝proot-distro，裝個Debian系統，就能夠用APT安裝電腦版LibreOffice了！\nLibreOffice支援ARM架構的系統，Debian收錄的套件名稱叫做libreoffice\n","date":"2025年4月9日","externalUrl":null,"permalink":"/posts/libreoffice-mobile-collabora-office/","section":"所有文章","summary":"手機平板能開啟.odt、.ods、.odp檔案嗎？來安裝LibreOffice吧。\nLibreOffice是一個自由開源的辦公軟體套件，內含等同Microsoft Word、Excel、Powerpoint的軟體。因為是自由軟體，一切免費。開放原始碼，尊重使用者的自由。\nODF為文件基金會提出的開放檔案格式，包含文字檔.odt、試算表.ods、簡報檔.odp，這些格式在電腦上能用LibreOffice軟體開啟，但是手機APP支援度就比較少。\n這裡Ivon要分享在編輯ODF文件的開源APP「Collabora Office」，達成類似電腦版LibreOffice的功用，不論Android與iOS系統皆可以使用。讓你不只能夠編輯.odt文件，還可以編輯.docx，作為辦公軟體的開源替代品。\n在Android上執行Collabora Office\n在iPad上執行Collabora Office\n1. LibreOffice有手機版嗎？ # 沒有。嚴格來說，目前LibreOffice 25.2只支援Linux、Windows、macOS系統，官方沒有正式移植到Android與iOS系統，得依賴第三方APP。\n雖然「Google文件」和「Microsoft Office」的APP對ODF格式都有一定程度的支援，但他們都不是以ODF為主要存檔格式。譬如Google文件手機版沒有匯出為.odt的選項。 ODF作為開放格式，我希望用來編輯的APP也得是開源的。 所以我們需要一款專為ODF設計的APP。\n","title":" Android與iOS如何開啟.odt檔？手機版LibreOffice APP分享 ～ Collabora Office","type":"posts"},{"content":"發售二年後，總算有LineageOS支援了。經好心人提醒才想到有得刷，日子太安逸了。買Xperia 10 V的兩年來，偶爾遇到系統動畫lag，以及拍照普普問題之外，都用得順風順水。指紋鍵用那麼久了也沒有像Xperia 5 II一樣壞掉，更沒有螢幕綠線產生。帶出去開行動熱點分享給其他裝置上網也不會過熱，可說是合格的軍馬！\nSony Xperia 10 V，子型號有XQ-DC72與XQ-DC54，LineageOS機型代號為pdx235。\n2024年，Sony宣佈以後的機種會獲得3次系統大版本更新，還有5年軟體支援。然後我這支是2023年買的，根據巴哈姆特這篇文章整理\u0026hellip;哈哈，跟以前買的Xperia 5 II一樣，還是只有2次大版本系統更新。不管硬體規格多麼強，時間到就是放生。\n因此從買來的Android 13 → 14 → 15升級完之後，喜獲放生！在2026年之前都還會有安全性更新，可是Android版本不會再提昇了。我最期待Google在Android 16所加入的Debian Terminal功能無緣見到了\u0026hellip;雖然我覺得Sony也不太可能移植AVF就是了。\n原廠Android 15不更新應該還能穩穩用個三年吧，Google不會那麼快放棄支援舊版系統。可這支手機後面的日子，只能透過LineageOS續命了。目前最新版為LineageOS 23，對應Android 16。\n支援狀態為Official，幾乎每週都會有系統更新。 刷機除了續命，還有追求自由的路線。\n影片過程參考\n1. LineageOS與Sony原廠ROM比較 # 要不要刷第三方ROM，我現在產生了一些芥蒂。但我還是先說優點，再談我憂心的地方。\n刷成LineageOS有無損失？不考慮解除Bootloader鎖的風險的話（部份Play商店APP會不給下載），Xperia 10 V原廠ROM沒什麼特殊功能，沒有Dolby Atmos，360度音訊廢到笑，DSEE也沒有很重要。\n大概就「影像品質」模式我比較無法割捨。這是允許在近似DCI-P3（標準模式）與sRGB（原始模式）色域顏色切換的功能。 標準模式與原始模式這兩個顏色有點差距。 為了追求更為自由的Android系統，我決定刷LineageOS。現在Xperia 10 V的LineageOS ROM由jmpfbmx與LuK1337兩位大大維護。\n感謝維護者的用心細節，早期刷LineageOS，機型會顯示為「Xperia 10 V」現在則是會顯示為「XQ-DC72」，就像原廠ROM一樣。這種看起來像是數位相機的命名才帥氣！拍照EXIF紀錄的相機型號也會反映這個變更。\n系統界面部份，Sony的界面本身就很接近AOSP了，所以刷LineageOS之後沒有太多變化。得到的是更為barebone的系統，預設系統近似什麼都沒有，需要自己裝APP補強功能，不知道有什麼APP好用的話，我推薦裝Fossify Gallery家族的開源APP，裡面的Fossify相簿非常好用。\n關於系統UI流暢度沒啥變化，偶爾動畫還是會掉幀，SD695效能就這樣，沒辦法。我體感上LineageOS的lag發作機率要比原廠ROM小一些。Android 16以上版本到開發人員選項，關閉「允許視窗層級模糊處理」可以減少動畫卡頓感。\nLineageOS提供一小部份系統選單客製化，包括隱藏手勢導航列，讓整個全螢幕更完美。需要更多客製選項的可能得刷Magisk模組。\n慶幸的是，LineageOS還保留著Android 12的圓角系統設定選單，我真的搞不懂為什麼Sony要在Android 15之後把它改回方塊狀的選單！這個設計跟其他系統元件的風格格格不入！ Sony原廠Android 15界面\n幸而LineageOS撥亂反正。 LineageOS 22界面\n這個ROM的支援度不錯，硬體功能大部分正常，有依照鬧鐘慢速充電的電池保養模式。\n原廠ROM收到通知不會喚醒螢幕，刷機為LineageOS就有了！\n螢幕顏色可以自由選擇。LineageOS螢幕設定有「自然」「增強」「飽和」的顏色模式可選。 「增強」發色部份與原廠「標準模式」沒有太大差異，就是少了白平衡的功能。（這裡色偏是因為相機因素，肉眼看起來是沒有這麼豔麗的） 雖然不知道顏色是否準確，但我個人認為「自然」模式看起來比較順眼。\n比較訝異的是有導演模式(Creator Mode)可以用，這個應該是Xperia 1和Xperia 5系列才有的功能！ 開下去之後的色域會變成BT.2020，我不知道顏色是否準確，依然無法播放Youtube HDR影片。Xperia 10 V這塊螢幕應該有到DCI-P3的色域，但無法檢視DCI-P3圖片。\n另外，Sony原廠ROM截圖的時候會嵌入色彩描述檔，讓修圖軟體能抓到螢幕色域，但LineageOS卻不會，導致螢幕顏色設定哪個模式都會得到一樣的結果。\n喇叭外放變化不大，Xperia 10 V正面雙喇叭本來就還算大聲了，LineageOS內建的AudioFX等化器聊勝於無。如果願意Root的話，可以刷Sound-Enhancement-Sony-Xperia-10-Magisk-Module模組大幅強化外放音效。\nXperia 10 V的Sony原廠相機拍照普通，但有自己的一套照片美化演算法，且提供手動模式。至於LineageOS內建相機就很慘了，沒有演算法補強拍出來都像鬼一樣。\n如果要裝Sony原廠相機的話，就用原廠的2.9.2.A.0.10版本，到ApkMirror下載APK。\n要更好照片的話，裝個Open Camera或者GCam Ports替代，裡面的手動模式可以解決白平衡亂飄的問題。\n「側面感應」無法移植到LineageOS，類似方案是刷Mi-Freeform模組。\n實際用下來，續航力沒有受到太大影響！Xperia 10 V唯一能說嘴的特色就是續航力，原廠ROM隨便都能撐8小時以上，換成LineageOS之後依然強悍。\n關於AVF虛擬化，LineageOS理論上是支援的，原始碼儲存庫有出現，不過目前僅限Pixel裝置。看未來會不會移植吧。\n2. 小顧慮 # 最後就要來談憂心之處。參見LineageOS nightly build的問題\n就比如我用的Sony Xperia 10 V吧，最近在LineageOS 23觀察到小bug是藍芽AAC編碼播放音樂會斷訊，其他aptX編碼都不會。還有相機錄影的時候會卡住，播放Youtube影片的時候黑螢幕，這些問題或許未來更新就解決了。\n我就會想，就算手機被Sony放生，不再有大版本更新了，待在原廠系統好像也沒有不好，因為舊版Android系統Google不會那麼快就停止支援，繼續用五年是沒問題的。\n現階段我選擇承擔這風險。\n3. 檢查手機是否能夠刷機 # Xperia 10 V市面販售的型號有XQ-DC72與XQ-DC54，這些應該都能夠解除Bootloader鎖並刷入LineageOS。\n不確定的話，開啟Sony撥號APP，輸入*#*#7378423#*#*，開啟service info → configuration，查看Bootloader unlock allowed是否為Yes。\n另外，根據熱心用戶提供的情報，Xperia 10 V的工程機部份型號相容LineageOS，需要手動確認。\n使用建立捷徑的APP，用device info這個APP建立捷徑或直接開啟。\n看看自己的硬體版本。EVT/DVT/PVT/MP是指在製造業一個產品研發導入從試產到量產的不同階段：\nEVT：Engineering Verification Test 工程驗證測試階段 DVT：Design Verification Test 設計驗證測試 PVT：Production Verification Test 小批量生產驗證測試 MP：Mass Production 量產階段 如果是「pvt2.0」階段那麼硬體和零售版的是一樣的，可以使用NewFlasher強刷原廠韌體，也可以刷LineageOS。\n4. 下載LineageOS與GApps # Linux電腦不需要安裝Android機驅動，不過Windows 11可能需要Sony發表的驅動。\n依照作業系統下載ADB與Fastboot工具，解壓縮使用。\n到LineageOS官網下載Xperia 10 V的LineageOS ROM，根據Wiki，需要下載的檔案為lineage-*-*-nightly-pdx235-signed.zip、boot.img、dtbo.img、vbmeta.img\n為了防止A/B分區出錯，需要下載LineageOS提供的copy-partitions-20220613-signed.zip\n最後是GApps，我選LineageOS Wiki推薦的MindTheGapps，選取Android 16 ARM 64的版本，得到MindTheGapps-16.0.0-arm64-*.zip。\n5. 解鎖Bootloader # 刷機前的重要步驟。這一步驟會清除所有手機資料，請先備份好。\n刷機前需要先將原廠韌體升級到Android 15以上版本。不過XDA討論串也有用Android 13直接刷成功的報告。\n將Google帳號全數登出。\n開啟Sony撥號APP，輸入*#*#7378423#*#*， 開啟service info → configuration，查看Bootloader unlock allowed是否為Yes。\n開啟系統設定，在「關於手機」的畫面紀錄手機的IMEI碼\n到Sony Unlock Bootloader官網，滑到下面，選取手機型號，填寫IMEI取得解鎖碼。\n在關於手機的版本號碼點5下，啟用開發人員選項。\n在開發人員選項裡面開啟「允許OEM解鎖」與「允許ADB偵錯」\n將手機連到電腦，使用ADB指令配對\nadb devices 重新啟動進入Fastboot adb -d reboot bootloader 手機螢幕應該會出現藍色燈號 確認連接狀態\nfastboot devices 開始解鎖。解鎖碼前面要加上0x fastboot oem unlock 0x解鎖碼 重開機，拔掉傳輸線，等待手機自動清除資料，重開機後再關機。 fastboot reboot 6. 刷入LineageOS ROM # 手機關機的情況下，按著音量上鍵，接上傳輸線，會進入Fastboot模式（藍色燈號）\n於存放ROM的目錄開啟終端機，刷入以下三個檔案\nfastboot flash dtbo dtbo.img fastboot flash vbmeta vbmeta.img fastboot flash boot boot.img 重新啟動 fastboot reboot-recovery 應該會進入LineageOS的Recovery 用音量鍵＋電源鍵，點選Apply update，啟用ADB模式。\n刷入copy-partitions-20220613-signed.zip\nadb -d sideload copy-partitions-20220613-signed.zip 按Advanced → Reboot to recovery，依照提示重新啟動，再次進入Recovery\n點選Factory Reset → Format data / factory reset\n點選Apply update，啟用ADB模式。\n刷入LineageOS ROM\nadb -d sideload lineage-*-*-nightly-pdx235-signed.zip 再次點選Apply update，啟用ADB模式。\n刷入GApps，手機顯示Signature verification failed的話點選yes，跳過簽名驗證\nadb -d sideload MindTheGapps-*-arm64-*.zip 選取Reboot system now，重開機。 7. 取得Root權限與優化系統效能 # 非必要步驟。\nLineageOS因為是解鎖了Bootloader的系統，即使沒Root，Play商店有些要求高安全性的APP還是會不給裝。這個時候得Root後使用Play Integrity fix之類的模組玩貓抓老鼠的遊戲。\n取得Root權限之後還可以優化效能，例如刷這個Dolby-Atmos-Sony-Xperia-5-V-Magisk-Module取得Dolby Atmos增強喇叭外放。或者是360-Reality-Audio-Upmix-Sony-Xperia-5-V-Magisk-Module安裝360 Reality Audio。\nXperia 10 V核心太舊，不能用KernelSU，所以得用Magisk。\n參見Xperia 10 V Root教學。把LineageOS官網提供的boot.img拿去修補即可。\n8. 如果您想刷回原廠系統並上鎖 # 參見NewFlasher使用教學。\n參考資料 # Sony Xperia 10 V - LineageOS Wiki ","date":"2025年4月9日","externalUrl":null,"permalink":"/posts/sony-xperia-10-v-lineageos/","section":"所有文章","summary":"發售二年後，總算有LineageOS支援了。經好心人提醒才想到有得刷，日子太安逸了。買Xperia 10 V的兩年來，偶爾遇到系統動畫lag，以及拍照普普問題之外，都用得順風順水。指紋鍵用那麼久了也沒有像Xperia 5 II一樣壞掉，更沒有螢幕綠線產生。帶出去開行動熱點分享給其他裝置上網也不會過熱，可說是合格的軍馬！\nSony Xperia 10 V，子型號有XQ-DC72與XQ-DC54，LineageOS機型代號為pdx235。\n2024年，Sony宣佈以後的機種會獲得3次系統大版本更新，還有5年軟體支援。然後我這支是2023年買的，根據巴哈姆特這篇文章整理…哈哈，跟以前買的Xperia 5 II一樣，還是只有2次大版本系統更新。不管硬體規格多麼強，時間到就是放生。\n因此從買來的Android 13 → 14 → 15升級完之後，喜獲放生！在2026年之前都還會有安全性更新，可是Android版本不會再提昇了。我最期待Google在Android 16所加入的Debian Terminal功能無緣見到了…雖然我覺得Sony也不太可能移植AVF就是了。\n原廠Android 15不更新應該還能穩穩用個三年吧，Google不會那麼快放棄支援舊版系統。可這支手機後面的日子，只能透過LineageOS續命了。目前最新版為LineageOS 23，對應Android 16。\n","title":"Xperia 10 V刷LineageOS ～ 又被Sony放生了，就來刷機吧","type":"posts"},{"content":"","date":"2025年4月8日","externalUrl":null,"permalink":"/tags/danbooru/","section":"標籤","summary":"","title":"Danbooru","type":"tags"},{"content":"圖片管理軟體Hydrus Network提供下載器功能，能下載Danbooru、Pixiv圖站的圖片，也能用來抓取4chan、Komica這類網站的網頁圖片。\nGallery Downloader會直接從各大圖站下載圖片，批次匯入到資料庫，不需要你手動去網頁右鍵存檔。 這個用來下載大量圖片非常好用，不只能夠快速取得符合搜尋條件的圖片，還能夠把圖站上面的標籤一併複製下來，省得日後手動打標籤的痛苦。Hydrus Network作者在官方文件裡面警告使用者不要過度濫用，一抓可能就會停不下來，一不小心就會精盡人亡。\n不過，Hydrus Network提供的是「圖片下載器」，它會在你鍵入搜尋條件之後就開始抓圖，下載的都是完整解析度的大圖檔。如果想要瀏覽網站縮圖再決定是否要下載的話，建議使用imgbrd-grabber會有更好體驗。或者在瀏覽器安裝Hydrus Companion，將網頁看到的圖片按右鍵直接傳送到Hydrus資料庫。\n另外，Hydrus Network沒有限定只能下載圖站的圖片。內建簡易的下載器Simple Downloader，能夠從一個網頁裡面抓出所有的圖片下載。經過我自己測試，4chan和Komica討論串的都可以下載呦！ 1. Gallery Downloader圖站下載器操作 # 目前支援的圖站有：Artstation、Danbooru、Gelbooru、E621、Furry booru、Hentai Foundry、Inkbunny、Konachan、Nijie、Pixiv、Realbooru、Rule34、Safabooru、Sakugabooru、TBIB、Tumblr、Xbooru、yande.re等網站。\n可以透過插件的方式擴充更多網站的下載器，這也是一個很好玩的點。Hydrus要求開發者的下載器得用.png格式分發，其實是把程式碼藏在png的附加資料裡面，可以用來藏不能說的祕密網址，用Komica島民的話術來說就是「心眼」了！\n點選page → new download page → gallery，新增畫廊下載頁面。 如下圖所示，搜尋框下面的圖站選取Danbooru，輸入圖片標籤開始搜尋圖片，並將下載的圖片數量上限改成20。 Danbooru標籤搜尋建議使用全英文。如果不知道標籤怎麼搜尋，參閱Danbooru Wiki\nPixiv的話就得學著用日文標籤搜尋了！繪師得填寫Pixiv ID才能搜尋。Hydrus Network下載圖片的標籤可能會用日文儲存，但是命名空間用英文，譬如creator:黒糖ニッケ\n例如搜尋《少女與戰車》的版權圖繪：girls_und_panzer official_art，按下Enter，就會開始下載Danbooru網站的最新圖片，並進到Hydrus的收件匣。 對圖片點二下，放大檢視，可看到下載器也自動抓取了圖片的標籤。 對順眼的圖片按下右鍵(Shift或Ctrl多選)，按archive selected將圖片封存進Hydrus資料庫。 封存完成後，信封的圖示會消失。對gallery的頁面右鍵，close page。 回到主界面，對左邊的搜尋框search tags點一下，按system:everything或system:archived便會列出資料庫所有的圖片。 需要更多下載器的請到Github或Gitlab找，譬如Hydrus-Presets-and-Scripts。Hydrus開發者要求下載器得用.png格式分發，故點選network → downloaders → import downloaders，將.png檔案拖到Lain的頭上匯入下載器。 2. 處理需要登入才能下載的圖站 # 有些網站能夠從Hydrus Netowrk內部登入。點選network → logins → manage logins，輸入帳號與密碼。\n至於Pixiv沒有登入帳號的情況下，無法顯示R18圖片，又Hydrus無法處理登入請求，因此需要手動取得瀏覽器的cookie。其他不能從Hydrus登入的網站應該也能這樣如法炮製。\n開啟Chromium系列瀏覽器，登入Pixiv帳號。\n使用Hydrus Companion或Get cookies.txt LOCALLY擴充元件匯出cookie。\n回到Hydrus Network，按network → data → review session cookies\n如果已經有Pixiv的cookie，全選按delete。接著點選import cookies.txt，匯入剛剛取得的cookie。 再如，Gelbooru需要編輯cookie才能搜尋到蘿莉標籤的圖片。\n按network → data → review session cookies\n按下create new，填入gelbooru.com，按apply。\n對web domain:gelbooru按二下，點選add新增cookie，name欄位填寫fringeBenefits，value填寫yup。 3. 下載其他類型的檔案 # 點選page → new download page\nURL download： 下載單一網址的檔案\nWatchers： 監視特定網站變更，有新圖片便會下載。例如貼上Danbooru圖站網址，就會自動下載新上傳的圖片。\nSimple downloader： 下載完整網頁之用。\n在這裡填入網址，然後選取要的選項。按Enter便會下載。 all images embedded in the page應該是比較常用的選項，就是單純把網頁內所有的圖片下載下來。\n或者嘗試all files linked by images in the page，才能抓到完整解析度的圖片。\n參考資料 # Getting started with downloading - Hydrus Network ","date":"2025年4月8日","externalUrl":null,"permalink":"/posts/hydrus-network-downloader/","section":"所有文章","summary":"圖片管理軟體Hydrus Network提供下載器功能，能下載Danbooru、Pixiv圖站的圖片，也能用來抓取4chan、Komica這類網站的網頁圖片。\nGallery Downloader會直接從各大圖站下載圖片，批次匯入到資料庫，不需要你手動去網頁右鍵存檔。 這個用來下載大量圖片非常好用，不只能夠快速取得符合搜尋條件的圖片，還能夠把圖站上面的標籤一併複製下來，省得日後手動打標籤的痛苦。Hydrus Network作者在官方文件裡面警告使用者不要過度濫用，一抓可能就會停不下來，一不小心就會精盡人亡。\n不過，Hydrus Network提供的是「圖片下載器」，它會在你鍵入搜尋條件之後就開始抓圖，下載的都是完整解析度的大圖檔。如果想要瀏覽網站縮圖再決定是否要下載的話，建議使用imgbrd-grabber會有更好體驗。或者在瀏覽器安裝Hydrus Companion，將網頁看到的圖片按右鍵直接傳送到Hydrus資料庫。\n另外，Hydrus Network沒有限定只能下載圖站的圖片。內建簡易的下載器Simple Downloader，能夠從一個網頁裡面抓出所有的圖片下載。經過我自己測試，4chan和Komica討論串的都可以下載呦！ 1. Gallery Downloader圖站下載器操作 # 目前支援的圖站有：Artstation、Danbooru、Gelbooru、E621、Furry booru、Hentai Foundry、Inkbunny、Konachan、Nijie、Pixiv、Realbooru、Rule34、Safabooru、Sakugabooru、TBIB、Tumblr、Xbooru、yande.re等網站。\n","title":"Pixiv與Danbooru圖站下載器：Hydrus Downloader用法，批次下載圖片＆抓取網頁所有圖片","type":"posts"},{"content":"說明你是個正常人。\n———— Reddit r/China_irl網友。\n前些天有人組織到中正廟前面抗議，對的，台灣不需要中國獨裁者。另一方面，我們也應該組織到美國AIT前面抗議，要美國帝國主義滾出台灣。並且推翻親美政府與中共代理人。\n「台灣真的不需要獨裁者紀念堂」 民團籲今年關閉中正紀念堂體 - 自由時報\n以前以為，寧當美國狗，不做支那豬。現在想想不對，應該兩個都不要！\n那句話怎說的，世界就是個巨大的草台班子。\n說真的，不論站哪邊立場，我都覺得沒什麼好「驕傲」「光榮」的，反而覺得可悲。 不迷中共宣傳 # 中共幹過的壞事太多了，使得它現在變成像是納粹一樣的絕對惡性存在。還對共產主義做了最壞的實做。\n有些人講不過對方，便喜歡污衊別人是共產黨派來的間諜，那我還真希望台灣有真的共產黨能加入，以便推翻大中華主義的黨和搞大閩族主義的台獨黨。以前我有想過加入中國共產黨，但礙於台胞身份不方便，加上後來領悟到中共政權的變質就不了了之了。\n不只盧麗安，這些台青為何也想加入共產黨？ - 天下雜誌\n現在的人什麼講反「綠共」「紅共」的都只是屁話，可能使用者真的搞不清楚這些話語代表的意思，重點在於反極權，或許反的不應該是共產主義，畢竟把共產主義經唸歪的人很多———好像也沒有人真正唸對就是了。\n不要像中共那樣打著全過程民主的口號行獨裁之實，他們根本不是共產主義政黨，只是念馬經的專制政府。那台灣雖然還沒到事實上的極權社會，但正往威權社會邁進，而且還有一批人是真正支持這種方向的。公眾成集體沉默的一份子，就是在允許邪惡的發生。\n台灣檯面上左派政黨，頂多只能搞搞文化馬克思主義，若說到共產主義的，無一例外的都是舔中的貨色，偶爾爭取點勞工權益，下一步就鬼轉要兩岸統一，有的還會扯到中華民族主義，譬如勞動黨。這跟兩岸和解不一樣喔，他們是真的認為中共依然是左派理想的政黨所以應該投靠中共，這點在謝雪紅時代或許還成立，但現代早就不是了。他們看起來不了解「中國特色社會主義」出現的那一刻起就背叛革命了。如今還整天用民族主義打雞血，促進漢西斯的產生！\n齊澤克說的很好：「中國特色社會主義是資本主義和威權主義的完美結合。」本質上跟北韓「主體思想」一樣都是獨裁者的工具，作為共產主義的領導者本身就沒有立基點了，連當新時代的蘇聯老大哥都不夠格。\n國際學術界很少把中共當作左派政黨，現代就只是一個名左實右的獨裁政權而已。\n講到路線問題。我們反美帝國主義，也應當反中修帝國主義。但凡有點日本共產黨的批判骨氣也不至於讓人這樣瞧不起台灣的共產黨 日本的六四衝擊：左翼革新派的「中國幻滅」 - 轉角國際。最近台灣出現了托洛斯基組織「火花」有點看頭，意圖推翻台灣政府和中共政府，不過他們還沒有要組黨的樣子。\n不信美式民主神話 # 美國立國以來幹過的壞事真的多太多了。從立國到現在，建立憲政民主的楷模，卻也造就了許多時代悲劇。跟中國過去各個朝代比誰殺多殺少是沒有意思的，壞事做過了就要承認，不要死皮賴臉，搞whataboutism。\n大概是大學的時候聽到Biily Joe的這首〈We Didn\u0026rsquo;t Start the Fire〉，才發現我二覺了 —— 對民主的看法歷經二次覺醒 —— 不盲目迷信美式民主。\n以前帝國主義盛行的時代，美國就有參一腳。用自己的經濟影響力宰制他國政局，形塑香蕉共和國。直到二戰結束後，這種行為依然持續在發生中，為的是跟蘇聯爭霸，所以瘋狂掀起代理人戰爭。\n好像是喬姆斯基還是誰說過，二次世界大戰是美國參與的最後一次正義的戰爭，打倒了席捲世界的法西斯主義。\n從美國政府介入各國政局的作為來看，也真的很難讓人信服「民主」是不是正確的答案。因為它可以因為新政府不合美國利益，就資助武裝勢力推翻親社會主義的政權，看看那麼多南美洲的例子，只有古巴堅持下來。雖然獨裁鐵定不好，但是強加下的民主真就是自由嗎？好像有人覺得只要政府讓大家都有錢，就應該抱持著將軍恩情還不完的態度，所謂沒有民進黨就沒有新台灣就是這樣來的。\n喔對了，討論左右派哲學的時候我特別不喜歡一種聲音，那就是美國右派的宗教視角。有人評斷共產主義弊病的時候動不動就拿背離上帝的話語出來講道，然後做善惡二元論批判。這個論述是完全不及格的，起碼講點經濟學理論。講好聽點，我們的哲學系統與你的經院哲學不相容，講難聽點就是紅脖子還是回去種田吧，好比已故台獨作家說的什麼「中國豬，日本狗，台灣牛」的命運。只聽得懂聖經的教義不消說也是一種福氣，不用學習「左瘋」們自己承擔起自己的命運。\n這裡主要在批判的是那些在中國大陸國內受教育，獲得「極度反美」立場，潤了之後鬼轉「極度反中」的二極管思維之人，他們往往是法輪功系媒體愛好者，不離宗教就不會講話了。\n另外在台灣的台獨運動份子，也出現了一些基督教右派份子，口口聲聲說打倒黨國威權，結果卻是奉行極度保守的基督教派系。甚至會以唸台羅文寫成的聖經作為一種對華文的抵抗。看來，他們心中真正需要一個信仰支撐才不至於被弱勢的身份打倒。\n出路 # 沒有。\n從現實角度來說，左右逢源不可能的，必然得抱其中一方大腿。但是，個人思想上可以不被強權束縛。\n台灣人本著國民黨和美國人教來的民主來批判共產政權的時候，又未曾是一種落在窠臼裡面的想法？他們可曾跳脫二元對立的思考觀念司襖台灣未來走向的問題？\n說到標題來源，來自這篇串子：我又反共又反美怎么办？ - r/China_irl Reddit 現在我的想法差不多就跟這傢伙這樣，沒辦法相信民主是最好的體制，甚至說最好的體制，只能比爛。\n民主本來就不是最好的答案，從幾千年前蘇格拉底被判死刑的時候就告訴我們這一點了。可是，柏拉圖期望的哲人王又未曾不是一種為暴政背書的想法？\n號稱民主的盟友幹的壞事不亞於獨裁國家，美國和中國都不是好東西。沒有絕對的正義存在。所以我反中也反美，具體來說，這不是基於種族觀念的反對，不是民族主義式的，不論是中華民族還是台灣民族，我認為都不應該鼓勵出現。而是對政治體制以及政府作為的不滿。換句話說，現階段這觀點是一種還對人民抱有一絲希望的想法，政府壞，但未來依然有可能改變的。我不想要說，反對方的人民群眾就全是壞人。很多人是這樣的，把政治立場當成宗教教條看待，認為政治傾向就代表一個人的整體，所以一個政黨惡，其支持者也必然全是就100%惡徒。倒不如說，願意接受這種思維的人，就是最適合被洗腦的一群羊。另一方的人帶頭反對的時候，用這種話術最好操控，希望你不要去理解對方的其他想法，這樣才方便用仇恨操作。\n從現實的角度來說，很多時候小國只能被迫在大國利益之間選邊站，要是傾向任何一方都是危險的。要打破這種問題的解法有很多：第一，期望我國政權的三角形畫好畫滿，左右逢源。第二，支持共產主義運動。第三，成為安那其主義者。不知道哪一種才是正確的，也有可能，調和中的的民主是最實際的目標，妥協與談判，造就正常的議會政治。但台灣現狀看來很難，民眾黨、民進黨、國民黨的矛盾難以調合，非得要一場大的才能解決。那麼，其實台灣政府毀滅也沒那麼嚴重了吧？\n假若不依附在統治者的角度來看待問題（不論是美爹還是共爹），那麼視野就會清晰許多。他沒有什麼可以失去的，他能失去的只有肉體與精神上的鎖鏈而已。\n","date":"2025年4月8日","externalUrl":null,"permalink":"/posts/2025040801/","section":"Politics","summary":"說明你是個正常人。\n———— Reddit r/China_irl網友。\n前些天有人組織到中正廟前面抗議，對的，台灣不需要中國獨裁者。另一方面，我們也應該組織到美國AIT前面抗議，要美國帝國主義滾出台灣。並且推翻親美政府與中共代理人。\n「台灣真的不需要獨裁者紀念堂」 民團籲今年關閉中正紀念堂體 - 自由時報\n以前以為，寧當美國狗，不做支那豬。現在想想不對，應該兩個都不要！\n那句話怎說的，世界就是個巨大的草台班子。\n說真的，不論站哪邊立場，我都覺得沒什麼好「驕傲」「光榮」的，反而覺得可悲。 不迷中共宣傳 # 中共幹過的壞事太多了，使得它現在變成像是納粹一樣的絕對惡性存在。還對共產主義做了最壞的實做。\n有些人講不過對方，便喜歡污衊別人是共產黨派來的間諜，那我還真希望台灣有真的共產黨能加入，以便推翻大中華主義的黨和搞大閩族主義的台獨黨。以前我有想過加入中國共產黨，但礙於台胞身份不方便，加上後來領悟到中共政權的變質就不了了之了。\n不只盧麗安，這些台青為何也想加入共產黨？ - 天下雜誌\n現在的人什麼講反「綠共」「紅共」的都只是屁話，可能使用者真的搞不清楚這些話語代表的意思，重點在於反極權，或許反的不應該是共產主義，畢竟把共產主義經唸歪的人很多———好像也沒有人真正唸對就是了。\n","title":"哪沒有好人壞人，反中也反美，怎麼辦？","type":"politic"},{"content":"以前的Windows作業系統有內建許多小遊戲，包括Windows 7遊樂場，是許多人的童年回憶。但是在最新版的Windows作業系統卻移除了！根據Microsoft官方說法，這些小遊戲當初是設計用來測試鍵盤滑鼠用的，現在已經用不著他們啦！\n但其實還是有方法安裝舊版小遊戲，譬如網站win7games維護的專案，就提供了簡易安裝器，讓使用者在最新版Windows安裝舊版小遊戲。 那麼有沒有可能在Linux玩這些Windows舊遊戲？有人向我問起這個神奇的操作，便覺有趣，所以就來研究一番。如何在不採用虛擬機的環境下遊玩Windows舊遊戲？ Windows接龍遊戲\n這又延伸出一個問題：Ubuntu有類似Windows內建小遊戲嗎？還真的有。 GNOME接龍遊戲\n1. Windows內建小遊戲列表 # Windows 7和Windows XP時代的小遊戲應該是最為人熟知的。\n立體彈珠台 - 太空軍校生 3D Pinball for Windows – Space Cadet 接龍 Solitaire 連環新接龍 Spider Solitaire 踩地雷 Minesweeper 新接龍 FreeCell 傷心小棧 Hearts 3D西洋棋 Chess Titans 3D麻將 Mahjong Titans Purble Place Internet Spades Internet Checkers Internet Backgammon 2. 用Wine執行Windows 7 Games exe # 目前測試是失敗的。雖然能夠安裝，但是遊戲無法正常執行。\n測試過程：\n利用Bottles for Linux，酒瓶設定選Gaming，利用Wine 10.0安裝win7games網站提供的exe。不過遊戲都開不起來。\n嘗試解決過程：Reddit有人遇到類似問題，他們是說Wine不支援Windows的MUI組件，需要改原始碼才能支援。裡面有一個Wine的patch分支版，可能要自行編譯。\n然後他提供另外一個解決方法，是在Windows用Resource Hacker反編譯Windows遊戲，將同一目錄的.mui包進去，重新打包exe，藉此讓Wine能夠執行Windows 7遊戲。不過我試了遊戲還是崩潰。\n3. 尋找原生的類似遊戲 # 因為這些Windows遊戲都是常見的桌上遊戲，所以很容易找到Linux開源社群製作的替代品，社群多半有製作中文翻譯界面。\n更進一步說，現在Web技術很發達，所以這些遊戲早就有很多人做成網頁版程式了。\n但如果要遊戲界面跟Windows版一模一樣的，恐怕做不到哪！\nLinux桌面環境的開發團隊在開發附屬應用程式時會順便製作小遊戲，譬如GNOME和KDE都有類似Windows內建的遊戲。但較少Linux發行版內建小遊戲，需要使用者手動安裝。\n各大Linux發行版通常會將這些小遊戲打包在一起成為一組套件，Ubuntu的話只要用apt install指令安裝就行了。\n比如Ubuntu的gnome-games套件，都是用GTK寫成的，包含了以下遊戲： 另外一組kdegames套件，以QT框架為主，裡面光桌上遊戲類的就有很多種： 如果Linux發行版沒有打包上述的遊戲套件，也可以到Flathub下載個別遊戲。記得安裝Flatpak套件管理器再操作。\n此外，Flathub上面有很多獨立小遊戲。以立體彈珠台來說，這個Space Cadet Pinball就做的挺不錯的，屬於逆向工程移植到Linux的版本，不用透過Wine轉譯。還有一款開源，自訂性高的Visual Pinball可以嘗試。 ","date":"2025年4月8日","externalUrl":null,"permalink":"/posts/play-windows-built-in-games-on-linux/","section":"所有文章","summary":"以前的Windows作業系統有內建許多小遊戲，包括Windows 7遊樂場，是許多人的童年回憶。但是在最新版的Windows作業系統卻移除了！根據Microsoft官方說法，這些小遊戲當初是設計用來測試鍵盤滑鼠用的，現在已經用不著他們啦！\n但其實還是有方法安裝舊版小遊戲，譬如網站win7games維護的專案，就提供了簡易安裝器，讓使用者在最新版Windows安裝舊版小遊戲。 那麼有沒有可能在Linux玩這些Windows舊遊戲？有人向我問起這個神奇的操作，便覺有趣，所以就來研究一番。如何在不採用虛擬機的環境下遊玩Windows舊遊戲？ Windows接龍遊戲\n這又延伸出一個問題：Ubuntu有類似Windows內建小遊戲嗎？還真的有。 GNOME接龍遊戲\n1. Windows內建小遊戲列表 # Windows 7和Windows XP時代的小遊戲應該是最為人熟知的。\n立體彈珠台 - 太空軍校生 3D Pinball for Windows – Space Cadet 接龍 Solitaire 連環新接龍 Spider Solitaire 踩地雷 Minesweeper 新接龍 FreeCell 傷心小棧 Hearts 3D西洋棋 Chess Titans 3D麻將 Mahjong Titans Purble Place Internet Spades Internet Checkers Internet Backgammon 2. 用Wine執行Windows 7 Games exe # 目前測試是失敗的。雖然能夠安裝，但是遊戲無法正常執行。\n測試過程：\n利用Bottles for Linux，酒瓶設定選Gaming，利用Wine 10.0安裝win7games網站提供的exe。不過遊戲都開不起來。\n","title":"Ubuntu也有接龍與彈珠台？Linux遊玩Windows 7內建小遊戲的解決方案","type":"posts"},{"content":"在安裝Python 3.12以上版本的Linux系統，如果執行pip install指令，可能會遇到以下錯誤：\nerror: externally-managed-environment\n× This environment is externally managed ╰─\u0026gt; To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install.\nerror: externally-managed-environment或者「外部管理的環境」這個錯誤見於新版的Ubuntu 24.04、Debian 12、Arch Linux、Fedora、openSUSE、Raspberry Pi OS 12等系統，macOS的Homebrew用戶可能也會遇到。\n老實說這個不是錯誤，是開發者故意設計的行為，詳細見2021年的PEP 668提案內容。這樣做是為了防止Python的套件跟Linux系統套件管理員衝突。有時候pip一裝個新套件，便可能讓Linux系統的APT套件與Python的套件相衝突。或者依賴Python程式的套件可能因為Python版本更新而壞掉。\n但是這樣就不能pip install了呀！而且寫Pyhton無法直接import模組，會出現ModuleNotFoundError: No module named錯誤，很是麻煩！\n該怎辦？這有很多種解決方法。就Linux系統維護的角度來看，不建議強行破除此限制。建議學習改用較為安全的Python套件安裝方式。\n下面會提供暫時的解決方法，並探討替代的Python套件安裝法。\n1. 暫時的解決方法：允許pip變更系統 # 恢復到以前模式，允許pip在系統安裝套件。這個方法可能會讓Python破壞Linux系統依賴，請小心。\n確認系統Python版本，撰文當下是3.12 python3 --version 將/usr/lib/python版本/EXTERNALLY-MANAGED檔案重新命名，這樣就不會觸發error: externally-managed-environment警告了。 sudo mv /usr/lib/python3.12/EXTERNALLY-MANAGED /usr/lib/python3.12/EXTERNALLY-MANAGED.old 另一個作法是加上--break-system-packages引數，強制pip安裝： sudo pip install \u0026lt;套件名稱\u0026gt; --break-system-packages 儘管用pip install \u0026lt;套件名稱\u0026gt; --user指令也可以，不過這是將Pyhton套件安裝到使用者目前的家目錄，只有目前使用者執行的Python程式能夠import模組。假若Python程式需要使用sudo執行，則又會遇到ModuleNotFoundError: No module named找不到套件的問題。\n2. 改用Linux套件管理器安裝Python套件 # pip不能變更系統，那就透過Linux發行版套件管理員代勞吧。仔細看文章一開頭提到的error: externally-managed-environment訊息，它也建議你使用apt install的方式安裝Python套件。\n有些受歡迎的Python套件，Linux發行版會將之打包為套件，通常這些套件會以python-套件名稱開頭。\n譬如Cython，Ubuntu有將其打包，可以透過APT套件庫安裝，不需要透過pip：\nsudo apt install cython 安裝後全系統可用，Python指令稿裡面就能直接import cython模組了。\n因為這些套件是Linux發行版管理員維護的，穩定性有保障，能夠確保裝下去不會破壞系統依賴。但Linux發行版收錄的Python套件可能會偏舊，無法任意切換版本。\n3. 改用Python虛擬環境安裝pip套件 # 使用Python官方文件提及的虛擬環境 (virtual environment) 功能，也就是安裝Python套件前都先用venv建立一個虛擬環境，讓Python的套件跟Linux系統套件隔離，再於裡面使用pip安裝想要的套件。如此一來系統就不怕被pip弄壞，還可以防止不同專案的Python套件互相衝突。\nPython虛擬環境跟pip直接安裝套件到Linux系統有什麼差？請看下圖分解，以使用cython為例：如果你用apt install安裝cython，屬於系統全域安裝，不論是哪一個使用者執行Python程式，都可以import cython。但若是在venv虛擬環境裡面pip install，就只有進入虛擬環境裡面才能import cython。 註：此處使用最簡單的Python venv建立虛擬環境，依賴Linux系統所安裝的Python，不能任意切換Python版本。若要切換多重Python版本，請裝其他Python環境管理工具，例如uv、Conda、Pipx、Poetry等等。\n從Linux發行版套件庫安裝Python虛擬環境工具 sudo apt install python3-venv 使用python3 -m venv指令，在家目錄建立一個叫做venv的虛擬環境，實際上就是一個新目錄： cd ~ python3 -m venv venv 註解：如果你使用的Python專案來自Github，那麼也可以在git clone之後，於git儲存庫的目錄直接建立venv虛擬環境。\n然後用source指令，讀取venv目錄下的activate指令，進入虛擬環境，終端機的提示符前方應該會變成(venv) source venv/bin/activate 查看Python路徑為何，這裡顯示的應該是venv開頭的路徑，也就是虛擬環境裡面的Python，而非Linux系統目錄的/usr/bin/python3 which python3 然後就可以用pip install安裝套件了，例如這裡我安裝yt-dlp。所有pip install安裝的套件都會跑到venv這個虛擬環境的目錄下。 pip install yt-dlp 日後要執行虛擬環境裡面的程式，建議進入虛擬環境裡面操作： source venv/bin/activate yt-dlp --version 需要執行.py程式的場合，直接用python3指令就可以了 python3 main.py 或者直接填寫絕對路徑，呼叫虛擬環境裡面的Python執行.py程式，就不需要使用source指令啟動虛擬環境了： ./venv/bin/python3 main.py 4. 改用pipx安裝單一Python程式 # 這種方式適合習慣pip install命令行程式的用戶。\n你可能會覺得Python虛擬環境比pip install還麻煩了呀！每次都要跑一次進入虛擬環境的指令。\n如果你想裝的Python程式是「單個程式」，希望Python pip套件安裝後可以直接從命令行執行？此時「pipx」就是一個好用的工具。它指令長得跟pip install很像，會給每個安裝的Python套件自動建立虛擬環境，並連結到對應的執行檔。這樣我們就能無縫使用新安裝的Python程式。\n參照Github指示，從Linux套件庫安裝pipx： sudo apt install pipx 讓pipx將必要路徑加入環境變數 pipx ensurepath 這樣就可以用pipx安裝原本pip install的套件了，例如yt-dlp pipx install yt-dlp 安裝後可直接從命令行使用 yt-dlp --version 一些技術性細節：\npipx安裝的套件預設會放到~/.local/bin，這裡存放的是各個Pyhton套件的符號連結檔，實際會指向~/.local/share/pipx/venvs/目錄的虛擬環境。因為~/.local/bin被加入環境變數，所以使用者才能從命令行執行pipx安裝的程式。 pipx所安裝的套件只有目前使用者可用。若要讓全系統使用者可用，需要使用pipx ensurepath --global。 如果你需要在pipx建立的虛擬環境額外安裝Python套件，請使用pipx inject \u0026lt;虛擬環境名稱\u0026gt; \u0026lt;Python套件名稱\u0026gt;的指令安裝。 pipx沒有切換Python版本的功能，只能使用系統的Python。 參考資料 # Externally Managed Environments - Python Packaging User Guide PEP 668 – Marking Python base environments as “externally managed” - Python Enhancement Proposals 12. Virtual Environments and Packages - Python Documentation pipx — Install and Run Python Applications in Isolated Environments ","date":"2025年4月7日","externalUrl":null,"permalink":"/posts/linux-solve-externally-managed-environment-error/","section":"所有文章","summary":"在安裝Python 3.12以上版本的Linux系統，如果執行pip install指令，可能會遇到以下錯誤：\nerror: externally-managed-environment\n× This environment is externally managed ╰─\u003e To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install.\nerror: externally-managed-environment或者「外部管理的環境」這個錯誤見於新版的Ubuntu 24.04、Debian 12、Arch Linux、Fedora、openSUSE、Raspberry Pi OS 12等系統，macOS的Homebrew用戶可能也會遇到。\n老實說這個不是錯誤，是開發者故意設計的行為，詳細見2021年的PEP 668提案內容。這樣做是為了防止Python的套件跟Linux系統套件管理員衝突。有時候pip一裝個新套件，便可能讓Linux系統的APT套件與Python的套件相衝突。或者依賴Python程式的套件可能因為Python版本更新而壞掉。\n但是這樣就不能pip install了呀！而且寫Pyhton無法直接import模組，會出現ModuleNotFoundError: No module named錯誤，很是麻煩！\n該怎辦？這有很多種解決方法。就Linux系統維護的角度來看，不建議強行破除此限制。建議學習改用較為安全的Python套件安裝方式。\n","title":"解決Ubuntu系統pip install的externally-managed-environment錯誤，改用虛擬環境安裝套件","type":"posts"},{"content":"透過簡單的小測試，找出最喜歡哪些圖片的標籤。\n蒐集的圖片多了，想要對自己Hydrus Network收藏有個概觀嗎？\n撰文當下，Hydrus Network內建的資料統計面板，只有database → How bone am I? 我不確定這是不是\u0026quot;get a boner\u0026quot;的雙關語，代表我(雞雞)有多硬？總之這個面板只能看到檔案數量，無法進一步探討背後的統計學意義。 我們可以利用matjojo開發的「TagRank」程式，從Hydrus Network資料庫當中，選出一批圖片進行配對遊戲，藉此找出你最喜歡的標籤。有何用？統計性癖非常有用！這個程式適合經年累月的Hydrus Network使用者使用，就是老手啦。因為你不知道過去究竟從網路上下載了什麼鬼東西，這個程式或許能產生意想不到的結果。可能你蒐集了很多特定角色的圖片，以為自己對老公/老婆很忠誠，結果統計出來的結果卻不是這麼一回事呢！\nTagRank背後利用Microsoft Xbox的TrueSkill演算法來計算，確保能在比賽中配對到實力相近的對手。TagRank作者將其修改，給每個標籤建立一個常態分佈，用來評價一個標籤受歡迎程度。\n操作過程非常簡單，使用者只要從程式配對的兩張圖片中選一張覺得比較好的，不斷重複\u0026hellip;\u0026hellip; 最後，程式便能統計出你喜歡的究竟是哪些標籤！統計到的資料會儲存為.json，能夠進一步做其他統計分析。 1. 前置條件 # 在玩這個遊戲之前，請確保Hydrus Network資料庫的檔案有完整打上標籤再使用這個程式。因為它會run過整個資料庫，統計出結果。相當依賴你的檔案所打的標籤。\n所以資料庫必須有完整的標籤體系，才能反應出你對標籤的偏好。建議每張圖片至少都要有5個以上標籤。\n另外一種玩法是，不要用自己的圖庫，利用Hydrus Network的大量下載功能，從圖站下載一批圖片。他們會自動把標籤一併抓下來。然後你再用TagRank去跑。譬如我下載1000張標籤character:astolfo_(fate)的圖片，藉此統計比較喜歡那些姿勢的圖片。\n2. 安裝TagRank # TagRank用PyQT寫的，因此是跨平台程式。\n開啟Hydrus Network，啟用Hydrus Client API：點選services → manage services，對client api點二下，將run the client api?打勾，按apply。再按services → review services，點選client api的頁面，此頁面會產生一組金鑰(access key)，將其保存下來。\n安裝Python 3\n複製TagRank儲存庫，建立Python虛擬環境，安裝依賴\ngit clone https://github.com/matjojo/tagrank.git cd tagrank python3 -m venv ./venv ./venv/bin/pip install -r requirements.txt TagRank使用matplotlib繪製圖表，如果中文亂碼，需要在main.py頂端加入這一段，指定使用放在~/.fonts目錄的字型，譬如Noto Sans CJK。 import matplotlib matplotlib.rc(\u0026#39;font\u0026#39;, family=\u0026#39;Noto Sans CJK JP\u0026#39;) 在TagRank目錄新增兩個純文字檔案：ACCESS_KEY裡面填入API金鑰。FILES_PATH填入Hydrus Network的client_files目錄的路徑。\n可選檔案：SEARCH_QUERY，這裡可以加入Hydrus Network搜尋語法過濾，只搜尋特定標籤的檔案。一行一個搜尋字串。\n根據main.py原始碼，預設搜尋字串為[\u0026quot;system:number of tags \u0026gt; 5\u0026quot;, \u0026quot;system:filetype = image\u0026quot;, \u0026quot;system:limit = 5000\u0026quot;]，這代表它會從Hydrus Network資料庫中選取標籤數量大於5的圖片檔，並且檔案個數設定為最多5000個。\n這個條件很鬆散，可能會抓到太多不相關檔案。如果你不想納入全部檔案，請限縮搜尋範圍，只挑自己感興趣的。\n自訂搜尋條件範例：只搜尋四個標籤以上的檔案，並且要有做筆記的檔案，那麼就在SEARCH_QUERY檔案第一行加入system:number of tags \u0026gt; 4，第二行加入system:has notes。\n在Hydrus Network裡面直接複製標籤搜尋條件也可以。\n3. 開始遊戲 # 保持Hydrus Network開啟，啟動TagRank圖形界面 ./venv/bin/python3 main.py 然後會挑出視窗，按鍵盤左右鍵，決定哪張比較好。如果不確定要選哪一張， 就選奶大的 ，按下鍵表示不知道。按R鍵返回上一張。 世紀難題1：巨乳內衣or貓耳蘿 世紀難題2：巨乳兔女郎or孕肚蘿\n測試沒有限定要做幾回合，端看想要多精確的數值。建議至少做個一百回，做的回數不要低於收藏的圖片的數量。\n按Esc結束，顯示結果圖表。TagRank程式會建立進度存檔，故結束後日後還是能夠繼續使用。 根據作者的解釋，越接近圖表右邊，分數越高的，就是你越喜歡的標籤。\n如果要重置進度，刪除目錄下的.json檔案。避免舊版資料干擾結果。\n","date":"2025年4月5日","externalUrl":null,"permalink":"/posts/hydrus-tagrank/","section":"所有文章","summary":"透過簡單的小測試，找出最喜歡哪些圖片的標籤。\n蒐集的圖片多了，想要對自己Hydrus Network收藏有個概觀嗎？\n撰文當下，Hydrus Network內建的資料統計面板，只有database → How bone am I? 我不確定這是不是\"get a boner\"的雙關語，代表我(雞雞)有多硬？總之這個面板只能看到檔案數量，無法進一步探討背後的統計學意義。 我們可以利用matjojo開發的「TagRank」程式，從Hydrus Network資料庫當中，選出一批圖片進行配對遊戲，藉此找出你最喜歡的標籤。有何用？統計性癖非常有用！這個程式適合經年累月的Hydrus Network使用者使用，就是老手啦。因為你不知道過去究竟從網路上下載了什麼鬼東西，這個程式或許能產生意想不到的結果。可能你蒐集了很多特定角色的圖片，以為自己對老公/老婆很忠誠，結果統計出來的結果卻不是這麼一回事呢！\nTagRank背後利用Microsoft Xbox的TrueSkill演算法來計算，確保能在比賽中配對到實力相近的對手。TagRank作者將其修改，給每個標籤建立一個常態分佈，用來評價一個標籤受歡迎程度。\n操作過程非常簡單，使用者只要從程式配對的兩張圖片中選一張覺得比較好的，不斷重複…… ","title":"TagRank：從Hydrus圖片資料庫找出你最愛的性癖好標籤！","type":"posts"},{"content":"","date":"2025年4月5日","externalUrl":null,"permalink":"/tags/kde-connect/","section":"標籤","summary":"","title":"KDE Connect","type":"tags"},{"content":"請參考： Linux開源免費的遠端桌面列表\n適用版本：KDE Plasma 5.0以上、Kubuntu 24.04以上、KDE Neon 24.04以上、SteamOS 3.0以上\nKrfb (KDE Remote Frame Buffer) 為KDE社群開發的遠端桌面軟體，可以一鍵分享Linux的KDE Plasma桌面給其他電腦存取，達到遠端桌面效果。\n本程式只能給Linux的KDE Plasma桌面使用，後端使用VNC協定。工作階段支援X11與Wayland（需要PipeWire）。 Krfb除了當遠端桌面用之外還有一個有趣功能，那就是「krfb-virtualmonitor」建立虛擬顯示器，這樣就能給VNC客戶端擷取，從而實現「另一台電腦當作電腦無線顯示器」的效果。\n如下圖，建立二個虛擬顯示器，讓另外兩台電腦連接，這樣我就擁有了三個螢幕啦！ 影片示範： 1. 安裝Krfb # 注意：「Krfb」跟「KRdp」是不同的軟體，「KRDC」則是一款VNC客戶端。\nKDE Plasma 6.0以上版本內建的遠端桌面是KRdp，使用RDP協定，而非Krfb使用的VNC。相關文章：KRdp遠端桌面使用教學\nKrfb最低只需要KDE Plasma 5.0版本的桌面就可以安裝。\n雖然Krfb是KDE社群開發的軟體，但是不像GNOME Remote Desktop那樣包含在桌面環境套件，有的發行版需要手動安裝。\n請到KDE官網下載。\n例如，Kubuntu直接從套件庫安裝：\nsudo apt install krfb 2. 將Krfb當作遠端桌面使用 # 開啟「Krfb桌面分享」。設定簡單明瞭，將兩個選單都打勾，設定密碼，就會啟動桌面分享。 防火牆要開放VNC的通訊埠\nsudo ufw allow 5900 sudo ufw reload 取得Linux電腦的區域IP ip addr 接著在同一網域的其他電腦開啟VNC客戶端，譬如Remmina，輸入http://Linux電腦IP：5900即可連線。 需要從外網連接的，請設定內網穿透軟體。\n如果要將Krfb設定為開機自動啟動的話，建議使用X11工作階段（因為Wayland得手動同意遠端連線），然後到KDE系統設定，開啟開機後自動登入帳號（因為SDDM登入畫面無法啟動Krfb） 接著再把Krfb加入到autostart目錄：\ncp /usr/share/applications/org.kde.krfb.desktop ~/.config/autostart 不幸的是，Krfb似乎無法以headless模式啟動。若有這方面需求，還是用TigerVNC好。\n3. 利用Krfb新增虛擬顯示器 # krfb-virtualmonitor指令可以用來生成一個虛擬顯示器，讓你好像有兩個螢幕一樣。這個多出來的虛擬顯示器可以用來讓其他電腦連線，讓另一台電腦播放這個虛擬顯示器的畫面，就能把另外一台電腦當作無線顯示器使用。\n這個功能有點類似Duet Display或macOS的Sidecar。\nKrfb生成的顯示器並不算是真正的顯示器，儘管KDE系統設定會出現兩個顯示器的圖示，但其他遠端桌面軟體認不到，只有VNC客戶端能存取。另外krfb-virtualmonitor指令僅支援Wayland工作階段。\n執行以下指令，新增一個1920x1080的虛擬顯示器，通訊埠選5900 krfb-virtualmonitor --resolution 1920x1080 --name \u0026#34;顯示器2\u0026#34; --password \u0026#34;密碼\u0026#34; --port 5900 防火牆要開放VNC的通訊埠 sudo ufw allow 5900 sudo ufw reload 取得Linux電腦的區域IP ip addr 其後便可用Android平板或iPad的VNC客戶端連線到該顯示器了，如下圖兩個顯示器。虛擬顯示器會變成電腦端的延伸桌面，可以將視窗拖曳過去。 如果連線時顯示密碼錯誤，開啟Krfb圖形界面修改密碼，或者改用不同的通訊埠。\n順帶一提，Krfb並沒有限定只能生成一個虛擬顯示器，因此再開第二個終端機執行指令，使用不同的通訊埠，就能生成第三個螢幕！ VNC傳輸效率很差，所以只適合看靜態影像。VNC客戶端不能控制電腦滑鼠，只能觀看影像。\n如果希望平板可以不用裝VNC客戶端就能投影畫面的，可以把VNC通訊埠轉發給noVNC，即可用瀏覽器開啟。\n4. 搭配KDE Connect分享Krfb虛擬顯示器 # 兩台電腦皆使用KDE Plasma桌面的場合，可以透過KDE Connect的快捷鍵建立虛擬顯示器，不用手動打krfb-virtualmonitor指令。\n先在兩部電腦都安裝KDE Connect，並且都安裝一個VNC客戶端，比如KRDC： sudo apt install krdc 一定要用KRDC嗎？KDE Connect會在連線啟動後自動開啟VNC客戶端，似乎會自己帶入一個密碼，不能手動變更。我測試發現Remmina抓不到KDE Connect的密碼，必須用KRDC作為預設VNC客戶端才行！\n可以用xdg-mime指令將KRDC作為預設VNC客戶端：\nxdg-mime default org.kde.krdc.desktop x-scheme-handler/vnc 讓兩台電腦的KDE Connect互相配對。\n然後點選KDE Connect系統匣「虛擬顯示器」的快捷鍵，啟動Krfb。 操作邏輯是這樣：在A電腦點選此按鈕，Krfb就會自動生成B電腦解析度的虛擬顯示器，然後B電腦收到訊號後就會自動開啟VNC客戶端，連線到A電腦的VNC伺服器。如此一來B電腦就成為了A電腦的無線顯示器。\n目前找不到關閉虛擬顯示器的方法，只能將KDE Connect斷掉連線才會消失，或者重新登入工作階段。\n","date":"2025年4月5日","externalUrl":null,"permalink":"/posts/krfb-remote-desktop/","section":"所有文章","summary":"請參考： Linux開源免費的遠端桌面列表\n適用版本：KDE Plasma 5.0以上、Kubuntu 24.04以上、KDE Neon 24.04以上、SteamOS 3.0以上\nKrfb (KDE Remote Frame Buffer) 為KDE社群開發的遠端桌面軟體，可以一鍵分享Linux的KDE Plasma桌面給其他電腦存取，達到遠端桌面效果。\n本程式只能給Linux的KDE Plasma桌面使用，後端使用VNC協定。工作階段支援X11與Wayland（需要PipeWire）。 Krfb除了當遠端桌面用之外還有一個有趣功能，那就是「krfb-virtualmonitor」建立虛擬顯示器，這樣就能給VNC客戶端擷取，從而實現「另一台電腦當作電腦無線顯示器」的效果。\n如下圖，建立二個虛擬顯示器，讓另外兩台電腦連接，這樣我就擁有了三個螢幕啦！ 影片示範： 1. 安裝Krfb # 注意：「Krfb」跟「KRdp」是不同的軟體，「KRDC」則是一款VNC客戶端。\nKDE Plasma 6.0以上版本內建的遠端桌面是KRdp，使用RDP協定，而非Krfb使用的VNC。相關文章：KRdp遠端桌面使用教學\nKrfb最低只需要KDE Plasma 5.0版本的桌面就可以安裝。\n雖然Krfb是KDE社群開發的軟體，但是不像GNOME Remote Desktop那樣包含在桌面環境套件，有的發行版需要手動安裝。\n","title":"如何用Krfb開啟KDE Plasma遠端桌面 ＆ 新增虛擬顯示器，無線投影Linux螢幕","type":"posts"},{"content":"","date":"2025年4月5日","externalUrl":null,"permalink":"/tags/appimage/","section":"標籤","summary":"","title":"AppImage","type":"tags"},{"content":"就像回字有四種寫法一樣，Linux系統一個軟體通常不只有一種安裝方式，常常使人不知道如何是好。\n本文敘說Ivon在使用桌面Linux發行版時，安裝應用程式的偏好方式，含有主觀意見。這篇文章將專注討論如何選擇安裝軟體的方式，包括各種套件管理器的利弊，以及無法使用套件管理器的時候該怎麼安裝軟體。\nIvon主要使用的Linux發行版為Ubuntu LTS、Fedora、Arch Linux，教學側重Ubuntu，但一些概念是共通的。\n寫過一篇Linux常用軟體，裡面簡單提到應用程式安裝方法，但沒有說明理由。\n誠然，Linux好用的應用程式多得超乎一般人想像，可是安裝方法卻有很多種，給人造成困惑。Linux安裝應用程式軟體的方式一大堆，同一個軟體可以有多種打包格式，如同以下改編自xkcd的漫畫，每天都有新標準出現！ 我在寫教學文章也時常困擾：Arch Linux有包山包海的AUR，Ubuntu、Fedora、openSUSE用戶又該怎麼辦呢？每個Linux發行版都有自己的額外套件庫，我不可能每個發行版都顧到，有沒有一種適用每個發行版的安裝軟體作法？\n所以我希望寫一篇解說Linux安裝應用程式的偏好，梳理Linux安裝軟體的方式，以及我個人選擇的最佳作法(best practice)供參考。\n注意1：本文的使用情境以桌面版Linux為主，伺服器專業用途請優先以貴機構的需求來部署。\n注意2：本文不是APT/DNF/YUM指令的操作教學，而是討論「怎樣選擇好的Linux軟體安裝方式」\n用Linux的時候，您應該負起管理系統的責任，選擇方便管理，又不會破壞系統穩定性的安裝軟體方式，是很重要的。\n1. 名詞定義 # 本節定義全文用到的名詞。\n桌面應用程式(application software, desktop application)：一般常用的軟體，通常含有GUI圖形界面，這包含了文書處理（例如LibreOffice）、圖形設計GIMP、影片剪輯Kdenlive、音訊編輯Audacity、瀏覽器Firefox、遊戲Steam等等。\n系統應用程式(系統軟體，system software)：系統與開發層面的軟體，包含：桌面環境與附屬應用程式、輸入法、驅動程式、KVM虛擬機、Docker容器、Wine相容層、程式開發工具、命令行工具。桌面環境雖然是圖形界面的軟體，但因為它屬於作業系統的基石，不應該由使用者任意變更，所以我把它歸類在系統應用程式。\n二進位執行檔(binary)：可執行的程式檔，點二下程式就會啟動。\n原生套件管理員(native package manager)：內建於Linux發行版，用於管理系統套件的程式，並有對應的安裝包格式，例如APT(.deb)、DNF(.rpm)、Pacman(.tar.gz)、Zypper(.rpm)、Portage。通常一個Linux發行版只會有一個原生套件管理員，且不能跨發行版使用。\n跨發行版套件管理員(distribution-agnostic package manager)：能跨Linux發行版使用的套件管理員，並無限定特定Linux發行版，例如Nix、Guix、Flatpak、Snap、Homebrew。雖然AppImage能夠跨發行版執行，但是它沒有套件管理功能。需要注意的是，pip、npm、cargo雖然也算套件管理員，但他們不是專為Linux系統設計的。\n2. Linux常見的軟體安裝方式 # 本節列出常見的Linux軟體安裝方式。\n透過套件管理員安裝，例如APT、Flatpak、Snap。可以用指令也能用圖形軟體商店安裝。譬如apt intstall firefox 下載二進位執行檔，解壓縮點選執行。譬如Firefox有提供二進位檔版本下載。 下載軟體開發者提供的指令稿(shell script)，執行指令安裝，例如Nvidia驅動＋CUDA。指令稿會自動偵測發行版，並將程式需要的檔案自動塞到正確的位置。 取得軟體原始碼，手動make編譯安裝(install from source)。 Linux不是Windows，市面上比較少有安裝精靈 (Installation Wizard) 這類的圖形化程式來輔助安裝，頂多就是純文字界面引導式的安裝。\n值得注意的是，即使是Ubuntu這種友善發行版，一個軟體不一定只有一種安裝方式，比如「Firefox瀏覽器」就有四種裝法，就像回字有四種寫法一樣。好處是使用者可以根據自身情況選擇，壞處就是新手會不知所措，因此下面我會討論在不同的環境下，應該採取何種方式。\n3. 桌面應用程式應該如何安裝？ # 桌面應用程式甚少需要動到系統檔案，而且我希望收到最新版本的應用程式，所以要是能選擇的話，我偏好的優先順序：\n跨Linux發行版的套件管理員 \u0026gt; 系統原生套件管理員 \u0026gt; 下載二進位執行檔 \u0026gt; 手動編譯\n為什麼？我認為每個軟體都應該被套件管理員追蹤。\n要是使用原生套件管理員，就會遇到需要手動找套件名稱的問題。每個Linux發行版有不同的套件名稱，可能依賴項目也不一致，安裝後需要做額外設定。\n此外還有軟體版本問題，Arch Linux與Fedora套件都是最新版可能無感，但以Ubuntu LTS來說，當下系統套件庫收錄的「桌面應用程式」套件其實很多是偏舊的，萬一想要新版本怎麼辦？此時不外乎是往APT加第三方套件庫來取得其他人維護的版本。然而這樣做有風險，如果說你加PPA的不是大型組織維護的，你如何確定未來系統更新後還能正常運作？如果該套件庫沒有即時更新，apt upgrade指令下去會出現一堆紅字的。\n為此，我希望使用跨Linux發行版套件管理員來統一安裝過程，以及收到一致的應用程式版本。安裝桌面應用程式的時候用跨發行版套件管理員，要變更系統的時候才用原生套件管理員。\n優先使用跨發行版的套件管理員 # 跨Linux發行版的套件管理員有很多種，說穿了就是在系統安裝第二個套件管理員啦。Linux社群經過多年開發，發展出了跨Linux發行版的軟體打包技術，其中最著名的三個分別是：Flatpak、Snap、AppImage。三者技術的詳細比較見此文。\n其中跨Linux發行版的套件管理員的偏好程度：\nFlatpak \u0026gt; AppImage \u0026gt; Snap\n這三個技術都有共同目標：解決各Linux發行版環境不一致，開發者維護不易的問題。因此用統一打包格式，鎖定依賴函式庫的版本，與系統隔離。使應用程式一次打包後就可安裝在多個Linux發行版上。\n要如何安裝軟體還是看開發者的說明為主，不過要是能選擇的話，我會優先選擇Flatpak的版本，因為它由Redhat推動，並且提倡XDG Desktop Portal的標準，可以真正作到跨發行版，乃至跨桌面環境的使用體驗。\n即使如此，不是所有應用程式都會提供原生套件管理員以外的版本。有的開發者可能認為提供.deb套件或二進位檔就夠了，或者開發者根本不知道有這類格式存在。私以為，開發者只提供.deb與.rpm套件對其他Linux發行版的用戶來說十分不公平，為此有一個統一的套件安裝格式更好。\n真沒辦法再用原生套件管理員裝 # 有些剛在Github發表的新興專案，他們可能只會提供.deb檔安裝，此時就真的沒辦法了，只好先用原生套件管理員APT安裝。更慘的是手動make編譯。\n要掛在系統背景一直執行，或者需要sudo的應用程式也比較適合用原生套件管理員裝。\n不過只要軟體有了一定名氣，通常就會有人幫忙打包成Flatpak、Snap、AppImage了，如果可以的話我會優先嘗試Flatpak版。\n4. 系統應用程式應該如何安裝？ # 若是系統應用程式，首選就是原生套件管理員，跨發行版套件管理員可能幫不上忙。套件管理員我主要是安裝系統應用程式，現在比較少用來裝桌面應用程式。\n優先程度：\n開發者提供的套件庫 \u0026gt; 原生套件管理員的套件庫 \u0026gt; 下載二進位執行檔 \u0026gt; 手動編譯\n開發者提供的套件庫就是非Linux發行版開發人員維護的套件庫，以Ubuntu的術語來說就是PPA，Fedora叫做COPR，Arch Linux是為AUR。\n另外一個我會參酌的重要因素，就是看「軟體開發者」的建議安裝方法，例如Nvidia CUDA需要參考官方文件為主，而非直接無腦從Ubuntu套件庫裝。具體來說要信任哪一方的安裝軟體方法，這需要一點經驗判斷，很難說得準。\n應使用原生套件管理員而非編譯安裝 # 動到系統不可不謹慎。在我們安裝系統應用程式的時候，因為會動到系統目錄（需要sudo才能執行指令安裝），其實仍然是以原生套件管理員為主，而非用手動編譯的方式安裝。\n原生套件管理員能做到安裝、刪除、升級、列出多餘軟體都用一條指令解決。如果採取手動編譯安裝軟體，後面要升級或刪除都會很不方便，不如將一切都交給套件管理員管。\n以Ubuntu安裝Nvidia驅動＋CUDA為例，雖有好幾種安裝方式，但最好的辦法就是將其與系統整合：加入Nvidia官方PPA，從Nvidia的套件庫取得最新版本驅動，然後再用APT安裝，便於後續追蹤。而非從Nvidia網站下載安裝.run指令稿，繞過APT安裝驅動，這樣日後要移除與升級套件會很麻煩。\n安裝Wine的時候也一樣，因為Ubuntu收的套件偏舊，優先以Wine官方提供的PPA為主，才有最新版的Wine。\n在安裝Python、NodeJS、Java等開發工具的時候，同樣也是先用套件管理員安裝。\n善用容器與虛擬機 # 滾動發行版的用戶不需要煩惱軟體版本太舊的問題，可Ubuntu LTS就有值得考慮的部份：部份軟體版本偏舊，萬一想要新版本怎麼辦？例如Python、NodeJS、QT、GCC版本？Python可能用Anaconda虛擬環境解決，其他軟體就沒這麼幸運了。\n同樣地，往APT加PPA（第三方套件庫）來取得其他人維護的新版本是一個方式，這樣做同樣有風險。PPA若不是大型組織維護的，如何確定未來系統更新後還能正常運作？如果該套件庫沒有即使更新，apt upgrade指令下去會出現一堆紅字的。\n不加PPA的話，另外作法是手動編譯安裝開發工具，想要新版Python就自行編譯，但我不想要這樣啊！\n此時虛擬機和容器就是一個解法。\n考慮這點：假設某桌面應用程式需要用到Python套件，但是你需要裝特定版本的Python套件進行開發，從而導致二者衝突，怎麼辦呢？\n可以善加利用Linux的虛擬化開發環境！Linux的開發環境現有QEMU/KVM。你要的環境只有舊版Ubuntu才有？何必裝實機雙系統！直接開個QEMU/KVM虛擬機就可以開工了，KVM還可以將GPU硬體資源直通給虛擬機用呢。\n現在更流行的是使用輕量化的Docker或Podman。容器啟動速度非常快，能夠省去虛擬機的繁重負載，又能隔離開發環境，使開發工具的依賴套件不與一般應用程式互相衝突，讓開發軟體更加彈性。\n5. 如果應用程式不能用套件管理器安裝呢？ # 桌面應用程式和系統應用程式都可能出現此問題。要是軟體開發者只提供二進位執行檔，沒有套件管理器打包怎麼辦？那就放到你看得到的位置，方便管理。\nLinux發行版多半有規定使用者自行安裝的程式應該放在哪裡，譬如Ubuntu是/usr/local/bin或者~/.local/bin/，只要確保這些路徑有在$PATH環境變數裡面就好了。\n再如，AppImage程式不需要安裝，如果一股腦全部丟到桌面又會很亂，那我會遵守AppImage Launcher的作法，將這些程式安裝到~/Applications目錄。這個目錄每次開啟檔案管理器的時候一眼就能見到，能夠快速點選啟動程式。\n有時候我會把一些用tar打包的二進位檔程式也塞到~/Applications目錄，再製作一個Desktop Entry方便啟動。\n6. 結論 # 希望看完之後您能對Linux安裝應用程式有了更多了解，更加知道如何選擇正確的安裝方法。\n","date":"2025年4月5日","externalUrl":null,"permalink":"/posts/linux-install-application-best-practice/","section":"所有文章","summary":"就像回字有四種寫法一樣，Linux系統一個軟體通常不只有一種安裝方式，常常使人不知道如何是好。\n本文敘說Ivon在使用桌面Linux發行版時，安裝應用程式的偏好方式，含有主觀意見。這篇文章將專注討論如何選擇安裝軟體的方式，包括各種套件管理器的利弊，以及無法使用套件管理器的時候該怎麼安裝軟體。\nIvon主要使用的Linux發行版為Ubuntu LTS、Fedora、Arch Linux，教學側重Ubuntu，但一些概念是共通的。\n寫過一篇Linux常用軟體，裡面簡單提到應用程式安裝方法，但沒有說明理由。\n誠然，Linux好用的應用程式多得超乎一般人想像，可是安裝方法卻有很多種，給人造成困惑。Linux安裝應用程式軟體的方式一大堆，同一個軟體可以有多種打包格式，如同以下改編自xkcd的漫畫，每天都有新標準出現！ 我在寫教學文章也時常困擾：Arch Linux有包山包海的AUR，Ubuntu、Fedora、openSUSE用戶又該怎麼辦呢？每個Linux發行版都有自己的額外套件庫，我不可能每個發行版都顧到，有沒有一種適用每個發行版的安裝軟體作法？\n所以我希望寫一篇解說Linux安裝應用程式的偏好，梳理Linux安裝軟體的方式，以及我個人選擇的最佳作法(best practice)供參考。\n","title":"Linux應該用何種方法安裝應用程式，談談我的軟體安裝偏好來源","type":"posts"},{"content":"透過桌面環境內建的虛擬顯示器功能，就能將平板電腦當作Linux筆電的延伸外接螢幕使用！善用第二個螢幕做其他事情，不需要連接線材！\n例圖，透過VNC將iPad當作KDE Plasma桌面的第二螢幕，利用直立螢幕看漫畫。 例圖，透過RDP將iPad作為GNOME桌面的副螢幕，看股市。 這個用法類似專有軟體Spacedesk、Duet Display、ASUS Glide X。\n雖然使用iPad做示範，但平板端沒有限定要iPad，只要是能跑遠端桌面客戶端的Android平板與Windows Surface也都可以這樣做。\n1. 與其他方案比較 # 「將平板當作延伸螢幕」的方案有USB擷取卡和Moonlight。他們是沒有限定作業系統的。\nIvon試圖在此探討另一條路線，也就是善用生成「虛擬顯示器」的功能來達成平板作為第二螢幕的操作。原理示意圖如下： 好處是不需要傳輸線，能夠無線將iPad作為顯示器使用。並且支援Wayland，保證未來的時代支援度。\n壞處就是「虛擬顯示器」限定Linux系統才能使用，很吃桌面環境。這裡限定使用Wayland協定的桌面環境，暫無餘力考慮X11的支援度了。論有「建立虛擬顯示器」功能的桌面，我只有在KDE Plasma和GNOME桌面環境測試，其他桌面環境沒辦法一一確認。目前只知道Hyprland與Sway有headless output的類似功能。\n還有，桌面環境生成虛擬顯示器多半是透過現有的遠端桌面協定實現的，不是VNC不然就是RDP。VNC和RDP延遲高，VNC又比RDP傳輸效率要差勁。不論網速多快，超過1080p就很容易lag，只適合看靜態文件。\n2. 生成虛擬顯示器 # 嚴格來說，兩個桌面環境使用的遠端桌面協定是不一樣的，一個用VNC一個用RDP。\nKDE Plasma # KDE Plasma 5.27以上版本可以用krfb-virtualmonitor指令生成虛擬顯示器。\n連線到此VNC伺服器的方法，就是先用ip addr指令查看區域IP，再於平板客戶端輸入Linux電腦的區域IP:5900\nVNC客戶端不能控制電腦滑鼠的樣子，只能檢視。\nKrfb沒有限定一次只能生成一個螢幕，善用不同通訊埠就能生成三個以上螢幕，再讓多台平板連接！\nGNOME # GNOME 42以上版本可以用內建的RDP延伸桌面，啟用虛擬顯示器。此功能直到GNOME 48都還有效。\n連線到RDP伺服器的方法，就是先用ip addr指令查看區域IP，再於平板客戶端輸入Linux電腦的區域IP:3389\nRDP可以控制Linux端的滑鼠，可能會與Linux端衝突。可以的話請開啟純檢視模式。\n3. 遠端桌面客戶端的選擇 # 先講KDE Plasma，因為Krfb使用VNC，所以直接用支援VNC的客戶端連線就好了。電腦用Remmina，Android用aVNC，至於iOS免費VNC軟體只有RealVNC Viewer，並且它是專有軟體。\n如果嫌iOS的選擇太少，尚有網頁noVNC的方案。只要將VNC流量轉發到網頁，就能用平板任一瀏覽器連線到VNC畫面。加上noVNC的自訂壓縮率功能，或許可以讓畫面變得比較順暢一點。\n至於GNOME，就得選支援RDP的客戶端了。目前RDP協定還沒有網頁客戶端的解決方案出現\u0026hellip;\u0026hellip;其實是有啦，Apache Guacamole，可是架起來很複雜。\n電腦RDP用Remmina，Android用aFreeRDP。對iOS用戶而言，請使用Microsoft遠端桌面來連線。雖然它是專有軟體，但也沒有其他更好的選擇了。\n","date":"2025年4月4日","externalUrl":null,"permalink":"/posts/use-tablet-as-external-display-on-linux/","section":"所有文章","summary":"透過桌面環境內建的虛擬顯示器功能，就能將平板電腦當作Linux筆電的延伸外接螢幕使用！善用第二個螢幕做其他事情，不需要連接線材！\n例圖，透過VNC將iPad當作KDE Plasma桌面的第二螢幕，利用直立螢幕看漫畫。 例圖，透過RDP將iPad作為GNOME桌面的副螢幕，看股市。 這個用法類似專有軟體Spacedesk、Duet Display、ASUS Glide X。\n雖然使用iPad做示範，但平板端沒有限定要iPad，只要是能跑遠端桌面客戶端的Android平板與Windows Surface也都可以這樣做。\n1. 與其他方案比較 # 「將平板當作延伸螢幕」的方案有USB擷取卡和Moonlight。他們是沒有限定作業系統的。\nIvon試圖在此探討另一條路線，也就是善用生成「虛擬顯示器」的功能來達成平板作為第二螢幕的操作。原理示意圖如下： 好處是不需要傳輸線，能夠無線將iPad作為顯示器使用。並且支援Wayland，保證未來的時代支援度。\n壞處就是「虛擬顯示器」限定Linux系統才能使用，很吃桌面環境。這裡限定使用Wayland協定的桌面環境，暫無餘力考慮X11的支援度了。論有「建立虛擬顯示器」功能的桌面，我只有在KDE Plasma和GNOME桌面環境測試，其他桌面環境沒辦法一一確認。目前只知道Hyprland與Sway有headless output的類似功能。\n","title":"透過VNC將iPad作為Linux筆電的外接顯示器使用，無線延伸螢幕畫面","type":"posts"},{"content":"","date":"2025年4月3日","externalUrl":null,"permalink":"/ja-jp/tags/anarchism/","section":"Tags","summary":"","title":"Anarchism","type":"tags"},{"content":"","date":"2025年4月3日","externalUrl":null,"permalink":"/ja-jp/tags/communism/","section":"Tags","summary":"","title":"Communism","type":"tags"},{"content":" Is free software, such as GNU/Linux, a kind of communism?\n自由ソフトウェア（オープンソースソフトウェア）はコードの公開を要求し、他人による自由な使用、修正、再公開を許可するため、共産主義を連想させやすい。これは1980年代に自由ソフトウェア運動が発展して以来、しばしば疑問視されてきた議題である。自由ソフトウェアを代表する傑作を論じるなら、それは世界中の開発者が力を合わせて開発したOSの大家族、GNU/Linuxだ。貴賤を問わずコードを貢献でき、システム全体の中核はソースコードを公開し、大衆に所有されている。では、このように発展してきた自由ソフトウェアは一種の共産主義なのだろうか？ 注：自由ソフトウェア(free software)運動は、自身の態度をオープンソース(open source，開源)運動から厳格に区別する。理念上にいくらか差異があり、彼らは相手側が重点を取り違えていると批判するからだ。ただし本稿ではひとまずそれらを同一概念と見なし、自由ソフトウェアがオープンソースソフトウェアの理念を含むものとして扱う。\n1. 理論から推論する # 自由ソフトウェア運動が共産主義かどうかを語るなら、最も粗い指標は生産手段(means of production)が公有制かどうかを見ることだ。ソフトウェア開発では、通常それはコードを指す。情報時代においてコードの複製はほぼ無コストであり、開発コストを考慮しなければ、ソフトウェアの生産力は大きく高まる。\nRMSが提唱したソフトウェアの四大自由も、共産主義の理念といくらか似ているところがある。しかしまさにこれらの文言こそ、人に最も誤解されやすい。\n自由その0：いかなる目的のためにもプログラムを実行する自由。\n自由その1：プログラムがどのように動作するかを研究し、自分の需要に合わせてプログラムを修正する自由。コードへのアクセスは、この自由を実現する前提条件である。\n自由その2：プログラムを再配布し、隣人を助ける自由。\n自由その3：プログラムを改良し、これらの改良をコミュニティへ還元し、コミュニティ全体がその恩恵を受けられるようにする自由。コードへのアクセスは、この自由を実現する前提条件である。\n以上の四大自由の理念は、RMSらが書いたGPLライセンス条項にも反映されている。\nこれらの文言を注意深く考えれば、自由ソフトウェアと共産主義が相容れない点を観察できる。まず自由ソフトウェアは私有財産権に反対しない。GPL条項が強調するのはコードを自由に使用する権利だが、作者は依然として一部の権利を享有する。ソフトウェアコードを公開すれば、無制限に利用できる資源になるわけではない。GPLはCC0の概念と同じではない。反対に、すべての使用者は自由ソフトウェアのライセンス条項に従い、使用者が自由を持つことを保障した状況でソフトウェアとコードを使うべきである。\nさらに、コードは公開されているが、誰であってもどんな手段でもコードを強制的に独占したり、他人が変更後の内容を見ることを阻止したりしてはならない。自由共有のモデルを維持してソフトウェアを使うべきである。GPLにはウイルス式感染の特性がある。すなわちソフトウェアがGPLライセンスの部品を使えば、他の部分も必然的に強制的にオープンソースにされるということだ。しかし使用者はGPLライセンスを使わない選択を完全に取ることができ、LGPLなどのより緩やかな方法でこの問題を回避できる。\nだから、自由ソフトウェアと共産主義には少しだけ交差するところがあるが、同じものではない。\n2. RMSの応答 # この問題はやはり、自由ソフトウェア運動の創始者、リチャード・ストールマン(RMS)自身に答えてもらうのが最も適切だ。\n自由ソフトウェア運動は共産主義なのかについて、RMSは1992年の記事 軟體為什麼應該是自由的 で、共産主義という説を明確に反駁し、自由ソフトウェアが用いているのは公共財の概念だとした。彼は、マルクスは隣人を助けるために何かを発明することはないだろうと考えている。また、自由ソフトウェア運動は他人の参加を強制せず、ソフトウェアを独占しない。共産主義の概念に当てはめるなら、RMSは生産手段の独占に反対しており、ソ連のこのようなやり方は一種の悪の象徴だと言えると批判している。\nここから判断できるのは、少なくともRMS本人は共産主義を出発点として自由ソフトウェア運動を推進したのではないということだ。RMSの観点を極端化する人は、共産主義と資本主義の二元対立の叙事に陥ることになる。 關於賈伯斯、比爾·蓋茲、RMS的梗圖，不支持自由軟體的人都應該投入古拉格勞改，顯然是一種極端主義的體現\nまた、2001年の RMS與Louis Suarez-Potts的訪談 では正面から答えず、「共産主義を攻撃するほうが、自由ソフトウェア運動を攻撃するよりずっと簡単だ」と述べた。彼はこの比喩が藁人形論法であり、アメリカ民衆の共産主義に対するステレオタイプを利用してある物事を攻撃し、論述を直接無力化するものだと考えている。人々が受け入れられない概念を左派と結びつけた瞬間、反共恐怖症が反射的に発作を起こし、直感的にこれは悪いものだとして排斥するからだ。\n現今のアメリカ社会における民主党への攻撃を考えると、この結論は容易に得られる。つまり群衆の反共心理は本当に深刻すぎ、社会主義的改革が少しでもあれば共産党の陰謀だと言われてしまう。共和党とオルタナ右翼はいつも似たような言説を繰り返すが、その背後の根本問題を考えることはなく、スローガンを叫ぶことしか知らず、反対者はみなwokeだと言い、一種のポピュリズム政治を形成している。\nついでに言えば、RMSが2024年に個人公式サイトで発表した一連の政治評論を見る限り、彼は2024年アメリカ大統領選で民主党候補へ投票するよう呼びかけていた。注意すべきなのは、これは彼の個人的意見を表すだけで、FSF全員の考えではないということだ。\n3. その他の意見 # Microsoft元CEOのスティーブ・バルマーは、Linuxは共産主義だと述べたことがある。 MS\u0026rsquo; Ballmer: Linux is communism を参照。これは政治イデオロギーとして議論したというより、商業競争から出た批判だろう。結局、自由ソフトウェア基金会はかつて反Windowsの社会運動を何度も起こし、その後エンタープライズ級のLinuxも登場し、Windowsの有力な競争相手となった。20年が過ぎた今、MicrosoftはLinux技術を受け入れ始め、WSLを作り、Canonicalと協力してUbuntuを統合し、Linuxシステムを完全には排斥しなくなった。しかし依然として、彼らは商業目的を達成するためにLinuxを併呑したいだけだと疑う人もいる。\n呼應巴爾默話語的梗圖，並非真正的文宣\n知乎の記事 共产主义=开源？开源软件的开发模式揭示了社会主义的生产组织方式 の作者は、自由ソフトウェア運動こそ共産主義を促進する方法だと考えている。しかし彼は自由ソフトウェア運動がレーニン式の政治指導意識を欠き、集中指導によって生産力を高めていないため、この運動は失敗を運命づけられていると批判する\u0026hellip;\u0026hellip;作者の考えに従うなら、私たちはプロレタリア前衛隊を組織して、AppleとMicrosoftの直営店内の製品をすべて叩き壊すべきなのだろうか？Huaweiもついでに叩き壊しておけばいい。腐朽した資本主義製品だ。\nRedditの記事 The failure of the free software movement は、自由ソフトウェア運動は失敗したと考えている。彼は自由ソフトウェア運動を「ブルジョワ式のユートピア幻想」と呼ぶ。なぜならソフトウェアはいずれも個人ハッカーによって開発され、科学化された集中管理がなく、生産力が低いからだ。またパーソナルコンピューターの普及もブルジョワ階級が遊ぶものであり、集中管理しなければ生産上の浪費を引き起こすという。\n編程隨想は、人々の自由ソフトウェアに対する誤解をより急進的な方式で反駁している。彼は 澄清“自由软件、开源软件”相关概念及许可证的误解 という記事でハイエクの観点を引用している。すなわち：共産主義とは自由の終焉である。\nついでに補足すると、自由ソフトウェアは多くのハッカーが分散して開発し、共同で構成するコミュニティ生態であり、むしろアナキズム（アナーキー）に近い。この Software and Anarchy という論文はこの点を説明できる。これを現在Web 3が巻き起こした分散化の潮流へ当てはめれば、これは確かにアナーキズムの発展を促進している。この新興概念は「情報アナキズム」と呼ばれる。これは政府の権力集中を追求する共産党員にとって、間違いなく喜ばしくないものだ。もしソフトウェアが強制的に公有化され、しかもその選択肢しかないなら、それは自由ソフトウェア運動が追求する目標では断じてなく、逆にすべての人を抑圧する新興の力になる。\nしたがって結論を出せる。自由ソフトウェアの政治的性質はそこまで強烈ではなく、一種の思潮に過ぎない。互助・互恵の人文的価値を示している。そして情報時代のネット発展により、誰もがこの活動に容易に参加できるようになった。しかし彼らが革命を起こすことは難しい（自由ソフトウェア運動の関連組織GNUには「革奴」の意味があるとはいえ）。煽動性が低すぎるからだ。\nその本質から言えば、依然として資本主義社会の中で行われる一つの体系であり、現有制度を改良するものであって、徹底した社会変革を追求するものではない。\nまとめると、自由ソフトウェア運動は共産主義ではない。\n「ソフトウェアは自由であるべきで、ソースコードはオープンソースにして自由利用を許すべきで、誰のものでもない」このような言い方を聞くと、一般通過の人民群衆、政治学への理解が深くない人は、「共有」の精神を聞いただけでそのまま共産主義へ滑落しやすい。実際はそんなに単純ではない。綱領文書の上では、資本論の論調とはまったく似ていない。最初から最後まで、FSFとGNUが継承したいのは、あの80年代ハッカーの自由共有ソフトウェア精神だけだ。GNU/Linuxを創造できたのは、技術に情熱を抱いたプログラマーたちと、彼らが変えたいと望んだ未来のおかげである。\n4.共産国家は敵だから、自由ソフトウェアは推進されるべきではない？ # これは非常に現実的な角度から、自由ソフトウェアがもたらす悪影響を語るものだ。自由ソフトウェアが共産主義ではないとしても、コードは共産主義または極権国家に盗まれ、西側社会を害する武器になる。\n私たちは、自由ソフトウェアが必ず一部企業の利益を損なうことを知っている。それはソフトウェアをユーザーを縛る手段ではなくし、そのため会社、ひいてはプログラマーの収入も減る。利益最大化を追求する会社が自由ソフトウェアの道を簡単に選ぶことはありえず、Red Hatのように成功する事例は本当に難しい。\n大きな方面から言えば、イデオロギー面でアメリカ側に立つ人は、プログラム技術をオープンソースにすることは密かに敵対国を助けることだと考える。言語モデルの例で言えば、オープンソースではあっても、人にコミュニティの成果を盗ませやすい。そのため投機的にうまく立ち回るDeepSeekが現れた。もしかするとオープンソースの新技術はAIの民主化を促し、言語モデルを金持ちだけのゲームではなくするかもしれない。しかし国際競争のイデオロギーに基づき、このような行為は独裁国家へ薪を提供することだと敵性的に考える人もいる。したがって自由ソフトウェアは推進されるべきではない、というわけだ。\nそういう話ではない。\n自由ソフトウェアの成果が独裁国家に盗まれ、自分たちのものとして再包装され、自主研究開発だと主張されることは否定できない。さらに集団指導の仕組みのため、かえって自由ソフトウェアが大量に使われ、偶然にも一つの善事を成し遂げることもある。しかし私も言いたい。彼らの動機は疑わしい。中国、ロシア、北朝鮮は自由ソフトウェアの研究開発成果を大量に使用している。彼らの背後の動機はコンピューター技術の自主化であり、西側国家に支配されないことだ。では彼らは本当に自由ソフトウェアの理念を広めるために自由ソフトウェアを使っているのか？国家が支配する企業が相次いでいわゆるオープンソース文化基金会を設立することに、本当に自由を守る意味はあるのか？それとも、ただの面子工程なのか。自国技術が西側国家に遅れなくなったら技術をクローズドソースにし、これら虚偽の自由も雲散霧消するのではないか？このように出発動機からして異なる動機を帯びた行為は、自由ソフトウェアの宗旨に真に呼応するものではない。\n公的機関へ自由ソフトウェアを推進するとき、節約できるという言い方で人を引き込む人もいる。しかしこの方式は結局、資本主義の競争手段には勝てない。自由ソフトウェアで金を節約できるとしても、クローズドソースソフトウェア企業はもっと多くの優遇を返してあなたを取り込む。どう解くのか？そのため、より重要なのは自由の本質を宣伝することだ。イデオロギーを根本から変えるには、自由ソフトウェアをすべて功利の角度から見てはいけない。\n台湾人はしばしば隣の修正主義をやっている中国共産党（何が中国の特色ある社会主義だ、偽物の共産主義だ）にいじめられているため、共産主義に悪いステレオタイプを抱き、この数文字を聞いただけで鳥肌が立つ。人々が自由ソフトウェアについて語るとき、無意識に共産主義を思い出し、歴史上の共産主義の誤った実行者たちが引き起こした大虐殺を思い、その中から嫌悪感を生む。さらにクローズドソースソフトウェアを使う慣性のため、自由ソフトウェアの変革を受け入れようとしない。これは改善する価値のある観点であり、少なくとも彼らはまず自身を政治意識から引き離し、ソフトウェアの自由を追求することは共産主義の術中にはまることではないと理解しなければならない。\nだから一つのことを知る必要がある。つまり共産主義と自由ソフトウェアには交差するところがあるとはいえ、彼らは結局異なる理念である。二者を結びつけようとするのは焦点をぼかす行為であり、どちらか一方を支持することは、もう一方の理念の存在を自動的に承認することにはならない。そして、自由ソフトウェアの成果が共産国家に盗まれることは結果論による判断であり、自由ソフトウェア運動そのものの動機を否定することはできない。\n自由ソフトウェア自体は自由理念を広めるためのもので、政治的動機は二の次である。だから次に誰かが自由ソフトウェア運動は共産主義をやっていて、社会を害していると言うのを聞いたら、あなたはただ微笑んで彼を見つめ、こう言えばよい：\n「うん、あなたの言うことは全部正しい。」\n","date":"2025年4月3日","externalUrl":null,"permalink":"/ja-jp/posts/is-free-software-communism/","section":"Foss-Issues","summary":" Is free software, such as GNU/Linux, a kind of communism?\n自由ソフトウェア（オープンソースソフトウェア）はコードの公開を要求し、他人による自由な使用、修正、再公開を許可するため、共産主義を連想させやすい。これは1980年代に自由ソフトウェア運動が発展して以来、しばしば疑問視されてきた議題である。自由ソフトウェアを代表する傑作を論じるなら、それは世界中の開発者が力を合わせて開発したOSの大家族、GNU/Linuxだ。貴賤を問わずコードを貢献でき、システム全体の中核はソースコードを公開し、大衆に所有されている。では、このように発展してきた自由ソフトウェアは一種の共産主義なのだろうか？ 注：自由ソフトウェア(free software)運動は、自身の態度をオープンソース(open source，開源)運動から厳格に区別する。理念上にいくらか差異があり、彼らは相手側が重点を取り違えていると批判するからだ。ただし本稿ではひとまずそれらを同一概念と見なし、自由ソフトウェアがオープンソースソフトウェアの理念を含むものとして扱う。\n1. 理論から推論する # 自由ソフトウェア運動が共産主義かどうかを語るなら、最も粗い指標は生産手段(means of production)が公有制かどうかを見ることだ。ソフトウェア開発では、通常それはコードを指す。情報時代においてコードの複製はほぼ無コストであり、開発コストを考慮しなければ、ソフトウェアの生産力は大きく高まる。\n","title":"自由ソフトウェア運動は一種の共産主義なのか？","type":"foss-issues"},{"content":"初稿：2024年10月21日。幾個月之後我又有了一點想法，補充進來。\n如果再繼續用這台Linux平板當主力我真的會得自閉症，雖然我玩Linux這麼久整天堅持自由軟體好像也病得不輕了。\n拋棄這台PineTab 2平板，換成iPad Air 6快有6個月了。最近要放假了，工作量不多，就想到拿PineTab 2出來短暫替換iPad Air 6角色，久違更新一下Arch Linux ARM系統，重新試試能否在工作場合使用。我現在已經很好的把iPad Air 6融入我的生活當作生產力工具了。這幾天突然換回PineTab 2，這頓操作下來，才短短幾天沒用iPad，我就覺得世界大亂了。彷彿又被打回到了以前那個地獄般的日子。\n證明這台平板在發售了二年之後依然是一場災難。真無法想像沒有iPad Air 6之前的一年我是怎麼活過來的。誇張一點說，自從換成iPad後我就不再那麼自閉了！ 在探索自由軟體的道路上走了點彎路，極左路線的錯誤給黨和人民帶來了莫大的傷害。經過一年後，便改擁抱資本主義的iPad了。\n1. 事情好像不太對勁 # 2023年，為了追求自由硬體，所以我用政府普發6000元買了Pine64開發的PineTab 2這台號稱專門為Linux設計的ARM架構平板：Pine64 PineTab 2開箱評價，升級過的開源Linux平板\n但是因為RK3566處理器效能太爛，加上Wifi與相機驅動出問題，以及出廠搭載極不穩定的Arch Linux ARM，死白的低色域螢幕，還有沒辦法乖乖在包包裡面進入休眠，讓這台平板用起來非常難過。慢慢地，日常使用的負面感受壓過了探索Linux世界的新奇感。二年前開箱文寫的問題，有小幅度改善，但很多問題還是沒有解決。\nArch Linux ARM，某種程度比iPadOS要厲害。但是，Rockchip生態又略遜Raspberry Pi一籌。\n用了二年的Arch Linux ARM系統。除了買來的時候重裝一次系統以清除KDE套件，之後就一直用到現在，沒有distro-hopping。其實是沒得選擇，因為其他發行版開發進度更為緩慢。 為什麼要買iPad Air 6，在幾個月前的要不要買iPad一文講過了，主要是為了更好的效能，以及真正的手寫筆、iPadOS的直覺觸控操作介面，還有穩定的待機功能。這些PineTab 2幾乎不可能做到。\n其餘勝過的PineTab 2優點也在iPad Air 6開箱文裡面有所體現了。我覺得手上主要的幾部電子裝置都跑不同作業系統，各有各的長處，那才是最刺激的玩法。不應該在不適合的地方強塞Linux。\n最重要的多媒體影音，iPad Air 6各方面完全屌打，PineTab 2連播放一部720p影片都會吃光CPU資源，怎麼比呀！\niPad Air 6的螢幕真的是賞心悅目，用來看電子_女的螢幕色彩可不能像PineTab 2那樣washed out啊。左邊為PineTab 2，右邊為iPad Air 6，可以看到前者的螢幕真的是一片死白，完全沒有2023年電子產品該有的正常顏色，可能比NTSC 45%筆電的螢幕還糟糕。簡單來說PineTab 2螢幕就是辣眼睛，看5分鐘就會眼睛痛。不論是看影片或看電子書，畫面顏色都不是很理想。 Pine64論壇很早就有人問過PineTab 2螢幕的問題，但是得到的回覆多半都是\u0026quot;What do you expect?\u0026quot; 看來會買Pine64產品的客群很知道他們要的是什麼。而我就是買了並實際用過了後才知道這對人類來說還太早了呀\u0026hellip;不對，是不適合給non-tech-savvy的用戶購買。就算是Linux enthusiast，不夠死忠用了也會落淚！\n實際使用iPad也好幾個月了，用來寫筆記很滿意，偶爾接上鍵盤也能打點文件。我確信即使iPadOS沒有Linux的自由度，但我短期內應該是不會把iPad賣掉，改買Surface Go裝Linux的操作。\n我知道，拿二萬台幣的iPad對比六千台幣的PineTab 2很不公平，就好像拿低階Android機卻羨慕iPhone那麼順一樣，畢竟價格決定了品質嘛。可，2023年的時候就算是中國廠商出的雜牌Android平板也沒有PineTab 2這麼不堪！Pine64真的不應該拿效能只夠做電視盒的處理器來做平板的\u0026hellip;開個Chromium瀏覽器要30秒，播放Youtube 720p影片就會卡。\nPineTab 2最大的問題除了硬體，還有軟體，改進幅度非常慢。已經發售二年多了，根據Wiki，社群到目前只解決了Wifi驅動和suspend mode的問題，藍芽和相機驅動不知道何年何月才生得出來。所以到底為什麼要用藍芽耳機在用的晶片BES2600啦！\n還有系統問題，Arch Linux ARM是ARM架構中相對小眾的Linux發行版，跟Debian受官方支援的情況不同，Arch Linux x86的開發者跟Arch Linux ARM是沒有直接關係的。缺乏開發者維護的情況下致使userland的程式也很容易出問題，比如GNOME 46的檔案管理器畫面閃爍，很長一段時間都還沒解決；有時候觸控螢幕還會莫名其妙失效，dmesg噴出一堆驅動錯誤。\n有時候更新系統後，連GNOME GDM登入畫面也會炸掉。 硬體損壞的案例我沒遇到。我算幸運拿到品質還不錯的貨吧，Pine64論壇有人的PineTab 2玩沒幾下就變磚了。有趣的是，PineTab 2撐得比我的PinePhone久。2022年，把PinePhone帶在身邊玩了不到三個月（我真的把它當手機用，放在口袋上山下海），Wifi晶片就燒壞了，此後閒置。今年拿出來的時候，一氣之下把它肢解，再也沒辦法組回去，參見PinePhone當伺服器，失敗的案例。\n結果\u0026hellip;買了比較「正規」的Raspberry Pi 5取代那不成體統的PinePhone當作伺服器，那又是另一個故事了。\n2. 要平板還是筆電？還是選Android和iOS吧 # 在探索自由軟體的道路上走了點彎路，沒有穩定的步伐就貿然進行社會主義改造，極左路線的錯誤給黨和人民帶來了莫大的傷害。經過一年後，便改擁抱資本主義的iPad了。確認Linux平板這條路是失敗了\u0026hellip;我真的無法負荷一台每天開機都需要tinker的裝置，我只是想要一台能寫寫字、打打字完成工作的便攜平板。如果需要進階工作，還是用遠端桌面，或者拿正規筆電出門吧。\n除了效能慢之外，還有界面設計問題。PineTab 2雖慢，但還是能瞥見Linux作為平板系統的體驗是怎樣的。這幾乎打破了我對Surface Go的幻想，我一直覺得iPadOS限制太多，或許買Surface Go裝Linux會比較好？可從PineTab 2的經驗來看，雖然擁有自由度，總體體驗不會比iPad體驗要來得好，尤其我大多數功能需要觸控的情況下。\nPineTab 2要像平板不像平板，倒比較像筆電，這很大程度被Linux桌面的設計所限制。Linux各大桌面環境只有Phosh是能夠同時應付鍵鼠與觸控場合，GNOME僅適合變形筆電。Phosh這個Wayland合成器，最初是設計在Librem 5手機上使用的，後來變成PinePhone社群最受歡迎的桌面環境，它也適合用在平板上面。雖然界面非常精簡，但針對觸控做的功夫足夠，所以開發者已經很努力了。\n但Phosh虛擬鍵盤的體驗用起來很hacky，加上90%以上的Linux程式沒有考慮觸控界面的設計，故界面操作起來大多很彆扭。就連瀏覽器複製文字的操作邏輯都有問題，更別說在純觸控模式下做正經事了！不接鍵盤會很難用。\n雖然Phosh可以外接螢幕使用，變成桌面模式的視窗，但這功能筆電不早就有了嗎？那我就想，就算換台x86平板，沒有PineTab這麼lag的情況，還能忍受Phosh這種觸控界面邏輯嗎？ 外接螢幕的PineTab 2，圖中的簡報不是我做的\n究竟想要平板還是筆電？如果兩個都想要，還是選側重觸控的系統吧！果然平板系統還是只能Android與iOS二選一，他們雖然側重觸控操作，但是近幾年來也開始改善鍵盤支援。如果想要偶爾用Linux環境，還是Android裝Termux玩玩X11程式就好。以Linux作為主系統的平板，就算能用Waydroid跑Android APP，看起來也是本末倒置。要是Linux系統與Phosh桌面根本就無法在觸控畫面好好使用，反而要常常開Waydroid存取那些專門為觸控設計的Android APP，那我還要Linux幹嘛？\n還是務實的使用自由軟體吧！最起碼，裝置本身要是穩定的，我才能在上面將自由軟體用於日常生活，而非追求一種理想化的願景，得常常跟不穩定的系統搏鬥。Linux在電腦端很強大，不過行動裝置暫時還沒有崛起的跡象。\n若還是真的真的真的真的很想買Linux平板，一定要買社群支援度和驅動支援度都非常好的裝置！現階段是x86架構的平板居多，譬如Surface。不要傻傻的當廠商白老鼠！ARM架構和RISC-V架構的Linux世界仍然處於西部拓荒時代！\n3. PineTab 2的剩餘價值 # 既然我犯了買PineTab 2的過錯，就要想這台PineTab 2的後路怎麼辦。\n賣掉？\n這下尷尬了，二手最好賣得掉啦，除非是超級有熱忱的駭客，否則不會有人想買這種破爛玩意兒吧，50收也沒人要！當長輩機都有困難。\n在台灣這種Linux裝置很冷門，可能要歐美的自由軟體駭客才會有足夠大的市場，那麼上架eBay拍賣可能是個出路？不不不付跨國運費實在太麻煩了。\n那麼就只能留著PineTab 2了。\n我覺得訝異的是，PineTab 2帶出門重度使用一年後硬體沒有損壞，外觀只有鍵盤套有稍微凹陷。 為什麼那麼耐用？只要沒有驅動，就沒有硬體損壞的問題！（支離滅裂的發言）\n那麼留著PineTab 2能做什麼呢？呃，當作有塊大螢幕的Rockchip開發機吧，附贈觸控螢幕這樣。\nPineTab 2應該是基於Pine64 Quartz64板子所製造出的平板，我看過PineTab 2的拆機影片，它沒有像PinePhone那樣把電路板分成兩塊以適應緊湊的機內空間，故板子保留的很好，其實是可以取出來當開發板用的。圖片來自iFixit 不過我的手很笨，再加上PinePhone改造失敗的案例，應該不要這麼做吧。\n身為終端使用者（非開發者），雖然我還沒有能力手寫驅動，給ARM Linux社群做出貢獻，但ARM開發板還有很多niche的領域能夠探索，比如測試Mali G52對Vulkan的支援度，了解如何在上面玩RetroArch遊戲、跑Box64轉譯x86程式，這些主題還是值得研究。\n我還可以把PineTab 2當成大號的PinePhone，用於測試「Linux Mobile」觸控介面開發的怎麼樣，像是用來測試Phosh、Plasma Mobile、Ubuntu touch等等桌面。\n還有，根據我操爆PineTab 2的經驗，Rockchip RK3566雖然連文書處理都很喘，但是做一些特定任務還是可以的。有很多開源掌機使用RK3566處理器，玩PS2以前的老遊戲執行的還不錯。 可是，實際把玩了Raspberry Pi 5後，才又一次的體認到，Rockchip處理器的驅動問題真的很嚴重。比如現在名為PanVK的開源驅動還在開發階段，致使RK3566的Mali G52尚不支援Vulkan。相較之下，樹莓派基金會（他們上市了，應該改叫樹莓派控股有限公司）將使用者照顧的好好地，全部的驅動給好給滿，衍生發行版非常多，社群討論也十分熱絡。\nRockchip驅動都是純社群開發的專案，似乎瑞芯公司比較在乎Android，而不想把Linux開源驅動完全放出來。於是就導致了開發進度緩慢。而且PineTab 2的問題不只Rockchip，其他Wifi、藍芽、相機等裝置的驅動都沒有進入Linux核心主線，得靠社群移植。\n最後是我前面講到的Arch Linux ARM本身穩定度問題，系統更新後炸掉的機率比x86架構高出很多，讓我懷疑它本身能做開發機的可靠程度。我看乾脆還是裝Debian吧，但裝Debian的話功能就與我的Raspberry Pi 5重疊了。就使用體驗上，有大型組織撐腰的Raspberry Pi 5還是比較穩固的。\n我發現英文也有「吃灰」的說法，叫做collect dust，嗯，沒錯，PineTab 2現在的主要功能就是放在櫃子裡面，吃灰！偶爾拿出來把玩。不要哪天就突然another one bites the dust了。 ","date":"2025年3月31日","externalUrl":null,"permalink":"/posts/pine64-pinetab2-after-purchasing-ipad-air-6/","section":"Unboxings","summary":"初稿：2024年10月21日。幾個月之後我又有了一點想法，補充進來。\n如果再繼續用這台Linux平板當主力我真的會得自閉症，雖然我玩Linux這麼久整天堅持自由軟體好像也病得不輕了。\n拋棄這台PineTab 2平板，換成iPad Air 6快有6個月了。最近要放假了，工作量不多，就想到拿PineTab 2出來短暫替換iPad Air 6角色，久違更新一下Arch Linux ARM系統，重新試試能否在工作場合使用。我現在已經很好的把iPad Air 6融入我的生活當作生產力工具了。這幾天突然換回PineTab 2，這頓操作下來，才短短幾天沒用iPad，我就覺得世界大亂了。彷彿又被打回到了以前那個地獄般的日子。\n證明這台平板在發售了二年之後依然是一場災難。真無法想像沒有iPad Air 6之前的一年我是怎麼活過來的。誇張一點說，自從換成iPad後我就不再那麼自閉了！ 在探索自由軟體的道路上走了點彎路，極左路線的錯誤給黨和人民帶來了莫大的傷害。經過一年後，便改擁抱資本主義的iPad了。\n1. 事情好像不太對勁 # 2023年，為了追求自由硬體，所以我用政府普發6000元買了Pine64開發的PineTab 2這台號稱專門為Linux設計的ARM架構平板：Pine64 PineTab 2開箱評價，升級過的開源Linux平板\n","title":"iPad vs Linux平板，使用後的思考。買了iPad Air 6後，Linux平板PineTab 2怎麼了","type":"unboxing"},{"content":" ㄟ杰哥，你有好多A片資料夾喔！ 唉唷，那沒什麼，來，來看這個好康的。 杰哥\u0026hellip;這\u0026hellip;什麼啊？\n唉呦你臉紅啦，來讓我們進入正題吧。\n「Stash」是一款開源軟體，由沒穿褲子(WithoutPants)開發，專門整理色情片收藏並方便使用者隨時隨地存取，舉凡AV、裏番、色圖都可以管理。 stash這個字在英文有堆積如山的意思，例如「porn stash」\u0026hellip;就是\u0026hellip;你/妳懂的，的電腦和手機\u0026hellip;總會散落著各種好康的素材。\n那這款軟體的主要用途就不難猜想了，開發者的Github寫的非常誠實：\nAn organizer for your porn, written in Go.\n這是款用Go語言寫成的軟體，用於整理您的色情收藏。\n讓我們來看看Stash的特色與用法。\n1. 使用Stash的理由 # 架設一個屬於你的「色情隨選點播VOD系統」。急用的時候就開啟Stash，搜尋設定隨機模式，跳幾支短片出來開始尻。\nStash可以整理\u0026hellip;ちょっ！身為Linux與Windows雙修用戶，我才不會說D槽呢，哼！我要說，Stash可以用來整理位於/dev/sdX硬碟的收藏。\n最大特色是「尻尻計數功能」，這樣久而久之就能做出尻尻回憶錄wwww 我認為Stash挺無腦的，因為它可以把你的硬碟資料夾結構變成網頁界面，而不是把所有圖片都塞到自己的資料庫再整理（如Hydrus Network需要先匯入檔案才能整理）。而且Stash資料庫的每個檔案會生成雜湊值。這代表只要原始檔案不變更，就算變更路徑，評分資訊還是在。\nStash也是可以當一般影音伺服器用啦，Stash就好比色情版的Jellyfin啦，只不過功能比較少。不論是影片還是圖片，都可以透過Stash，用標籤分類、標記時間軸、調整串流畫質的功能，並用網頁觀看影片。\n我認為很方便的地方在於，Stash允許你混合資料夾以及網頁整理影片的模式。比如說，我可以先在硬碟用「成人片」「裏番」「遊戲CG」大致將影片分類，再丟給Stash掃描。然後在Stash裡面直接搜尋資料夾名字，列出該資料夾下所有子資料夾的檔案，將不同資料夾的影片放在同一個畫面檢視，還能隨機排序。 有很多程式功能類似Stash的，譬如要整理圖片與影片檔案，其實Hydrus Network功能為更完善，全部都用標籤解決。單純整理本子的話還有LANraragi。但是Hydrus Network需要額外安裝Hydrus Web才能夠遠端管理。\n而Stash本身就是以網頁為主，界面簡潔，比較適合遠端管理，還有線上觀看收藏。\n2. 安裝Stash主程式 # Stash主程式可以部署在個人電腦或者NAS，支援Linux、Windows、macOS系統。\nWindows版 # 到Github下載stash-win.exe，點二下，網頁界面http://127.0.0.1:9999即會自動開啟。\n程式執行後會在系統匣顯示Stash的圖示，點選關閉伺服器。\n這個版本的Stash會自動安裝ffmpeg。\nWindows版的Stash程式資料儲存在%userprofile%/.stash資料夾。\nDocker版 # 適用Linux系統，Docker映像檔已內含ffmpeg。\n在電腦上安裝Docker\n開啟終端機，新增資料夾stashapp存放docker-compose，這也是存放程式縮圖和設定檔的資料夾。\ncd ~ mkdir stashapp cd stashapp 下載Stash開發者提供的docker-compose範本 curl -o docker-compose.yml https://raw.githubusercontent.com/stashapp/stash/master/docker/production/docker-compose.yml 編輯docker-compose.yml，將收藏的資料夾加到Docker volumes，例如我全部類別的影片都位於/run/media/user/HDD1/Movies/資料夾下，那麼就修改 - ./data:/data這段： volumes: - /run/media/user/HDD1/Movies:/data/Movies - /run/media/user/HDD1/Pictures:/data/Pictures 啟動服務 sudo docker-compose up -d Stash預設的通訊埠是9999，用瀏覽器開啟網址：http://127.0.0.1:9999，進行初始設定。停止所有容器服務的指令為sudo docker-compose down 3. 初始化Stash # 選取要掃描的資料夾，輸入/data它才會列出該資料夾下的路徑。並按照資料夾存放的媒體種類勾選要掃描影片(videos)還是圖片(images)。 完成設定後，點選左邊的Interface，在Languages處將語言切換成正體中文 點選左邊的安全性 → 帳戶資料，設定登入一律需要密碼，防止別人看到你的大祕寶。 接著到設定 → 排程 ，將產生縮圖的選項打勾，點選開始掃描。 別忘下面段落「生成的內容」也要按「生成」跑一次掃描才會有縮圖。 如果是HDD，掃描一百部影片並產生縮圖大概要等個一小時，等待掃描完成就可以看片了。\n只要跑過第一次掃描，日後新增檔案的掃描就會很快了。\n值得一提的是Stash是直接掃描硬碟影片並建立資料庫，所以搜尋影片時仍可以用原始檔案的「檔名」或「資料夾」名稱下去搜尋。\n在Stash的網頁界面點選刪除後，該檔案便會真的從硬碟刪除。\n4. Stash圖片管理功能用法 # 在總覽圖片的界面，點一下圖片縮圖邊緣編輯資料，點圖片正中央的放大鏡進入投影片模式。滑鼠滾輪放大圖片。\n個人覺得Stash的圖片管理功能很陽春，且似乎是專為AV女優的gallery設計的。這讓我想到「hanime.tv」這個網站，該網站放成人動畫是主力，圖片庫只是配菜。 即使如此，這個用來管理動漫色圖還是有點用處。\nStash的圖片可以用標籤管理，打字就可以新增標籤。我覺得方便的功能是加上「支援網址」，這樣你能夠追蹤這張圖片的來源為何。 若要給多個圖片上標籤：在圖片檢視列表勾選小方框，接著選取多張圖片，再按上方紅色鈕編輯其標籤。\nStash會給每一個檔案建立雜湊值，所以不論是修改名稱或是移動到其他硬碟目錄，只要檔案本身只要不變更內容，檔案標籤以及尻尻計數都不會改變。\n這樣的好處是，你能夠維持手動資料夾整理的模式，又能將資料夾的內容變成網頁界面瀏覽。\nStash還能夠幫你找重複檔案，如果硬碟有多個同樣的檔案，散落在不同資料夾，Stash會自動選取一個作為「主要版本」，標籤和尻尻計數都會跟著主要版本跑。 覺得標籤過於細分的話會使你變成強迫症患者的話，別忘記Stash仍可以用硬碟「檔名」或「資料夾」名稱來搜尋檔案。並且你可以儲存搜尋的字串組合。\n或者，利用Stash的「圖庫」功能，自動按照圖片的硬碟資料夾結構，將同一主題的圖片自動分類在一起。滑鼠移動到圖庫的縮圖上面左右滑動，可以預覽圖庫內的圖片。 只需要到設定 → 收藏庫 → 圖庫及圖片選項，勾選「從包含圖片的資料夾建立圖庫」，再讓Stash掃描即可。\n5. Stash影片管理功能用法 # Stash官方有提供StashDB的爬蟲，可辨識影片內容，加上發行日期與片商的中繼資料。不過這個比較適合整理成人片(adult video)，而非成人動畫(adult animation)，它能自動抓取的資料欄位以成人片為主，包含番號、演員、片商資訊等等。\n裏番的話可能要額外裝別人寫的爬蟲，譬如到Stash CommunityScrapers找Anime-DB的來用。\nStash的「短片」頁面是影片總覽，如果影片資訊欄有電影名稱的則會顯示在「電影」頁面。\n如果你在掃描的時候有勾選產生動態縮圖，那請點選「預覽牆」模式\u0026hellip;這樣瀏覽界面就會很像你在一般AV網站看到的畫面了。 搜尋的篩選條件以「實用」為導向，你可以看到它連VR的AV都考慮進去了。至於PHash是用來找完全一模一樣的重複影片，別奢望用這個推薦「類似」影片。 播放影片的時候可以切換畫質。如果影片畫質太高，可在掃描的排程工作勾選轉檔，設定將影片縮小容量，但是這會花較長時間處理。 時間軸縮圖用來快轉到「決戰場面」十分有用wwww 劇情？尻完再慢慢看。 在Stash的設定 → 界面 → 短片播放器，開啟AB循環播放控件，點選右下角的Loop設定起始點與結束點，就能循環播放「好用」片段。 另外Stash有好用的「章節標記」的功能，只要在播放影片的界面拉到欲儲存的時間點，打上標題和標籤。 這樣每部影片的章節標記就會統一顯示在Stash的「章節標記」頁面，方便日後快速尋找。（需要手動到設定→「生成的內容」按生成） 章節標記針對片頭很長的電影與裏番很有用，可以用來協助記憶裏番的決戰場面。有時候可能整部片索然無味，但就是有幾幕讓你硬爆的，那麼用這個功能標記下來日後要找就不會忘記了。\n順帶一提，有開發者製作了ClipMash剪片程式，能用網頁快速製作小片段剪輯並匯入到Stash裡面。 6. 從外部網路存取Stash網頁界面 # 使用內網穿透軟體是最簡單的方式，將電腦和手機加入虛擬區域網路，防火牆開啟9999 TCP通訊埠，就可以從瀏覽器輸入http://電腦IP:9999看片。界面會自動跟著螢幕大小變化。 播放影片的時候可能會遇到解碼問題，要看瀏覽器支援影片編碼器才能夠使用Direct Stream，否則伺服器端會將影片進行轉碼再播放。\n目前Stash沒有官方客戶端APP，只有第三方開發的Android TV版：damontecres/StashAppAndroidTV\n另請參見 # 原始碼儲存庫 GitHub - stashapp/stash: An organizer for your porn, written in Go. 官方說明文件 Home | Stash-Docs ","date":"2025年3月30日","externalUrl":null,"permalink":"/posts/setup-stash-app/","section":"所有文章","summary":" ㄟ杰哥，你有好多A片資料夾喔！ 唉唷，那沒什麼，來，來看這個好康的。 杰哥…這…什麼啊？\n唉呦你臉紅啦，來讓我們進入正題吧。\n「Stash」是一款開源軟體，由沒穿褲子(WithoutPants)開發，專門整理色情片收藏並方便使用者隨時隨地存取，舉凡AV、裏番、色圖都可以管理。 stash這個字在英文有堆積如山的意思，例如「porn stash」…就是…你/妳懂的，的電腦和手機…總會散落著各種好康的素材。\n那這款軟體的主要用途就不難猜想了，開發者的Github寫的非常誠實：\nAn organizer for your porn, written in Go.\n這是款用Go語言寫成的軟體，用於整理您的色情收藏。\n讓我們來看看Stash的特色與用法。\n","title":"裏番與AV與色圖整理程式：Stash (stashapp)，支援串流影片與圖片上標籤","type":"posts"},{"content":" 嘗試玫瑰捅屁眼的玩法。嘗試雌墮（メス堕ち）。\n先拿一根10cm棒狀物，配合潤滑液，插入肛門，嘗試刺激前列腺。\nPTT鄉民說用一種雞蛋狀的物體，坐在上面刺激也可以。\n問題我捅了老半天，都抓不到那個G點\n只有一種很不舒服的想大便感覺\n雞雞並沒有特別的感覺。也沒有突然爽到瘋狂射精。\n最後還是用飛機杯套弄前面才射得出來\n也許我應該去找個真的人來給我捅屁眼？\n不對不對\u0026hellip;那我豈不是要成為雌墮小藥娘了\n總覺得再這樣弄下去會出事\n高雄男腹痛因肛門塞椰子開刀取出案例登國際期刊 - CNA\n暫時先別試了。\n","date":"2025年3月29日","externalUrl":null,"permalink":"/posts/the-first-mesuochi-attempt/","section":"Nsfws","summary":" 嘗試玫瑰捅屁眼的玩法。嘗試雌墮（メス堕ち）。\n先拿一根10cm棒狀物，配合潤滑液，插入肛門，嘗試刺激前列腺。\nPTT鄉民說用一種雞蛋狀的物體，坐在上面刺激也可以。\n問題我捅了老半天，都抓不到那個G點\n只有一種很不舒服的想大便感覺\n雞雞並沒有特別的感覺。也沒有突然爽到瘋狂射精。\n最後還是用飛機杯套弄前面才射得出來\n也許我應該去找個真的人來給我捅屁眼？\n不對不對…那我豈不是要成為雌墮小藥娘了\n總覺得再這樣弄下去會出事\n高雄男腹痛因肛門塞椰子開刀取出案例登國際期刊 - CNA\n暫時先別試了。\n","title":"雌墮失敗","type":"nsfw"},{"content":"openSUSE是一個歷史悠久的Linux發行版，源自德國，屬於免費下載的自由作業系統。\n本文Ivon介紹openSUSE的特色，以及openSUSE的安裝方式。 首先，Ivon得老實說，現在openSUSE在中文圈算是相對冷門的Linux發行版，名氣遠不如Debian系與RHEL系，即使在歐美Linux圈也是如此。\nopenSUSE基於SUSE開發，SUSE又基於古老的Slackware。openSUSE可以算是一個獨立發行版家族了！雖然openSUSE跟RHEL一樣使用RPM套件格式，但套件管理器卻大不同，openSUSE用的是Zypper。此外，幾乎沒有任何基於openSUSE的分支發行版出現，生態系不如Debian系與RHEL系繁榮。有人說，openSUSE是一個「underrated」的Linux發行版，品質不差但就是少人用。 但這不代表openSUSE就是hobby distro喔！相反，openSUSE背後有SUSE這家德國公司協助維護，他們可是僅次於Redhat的企業級Linux供應商。再加上全球Linux社群參與，提供豐富的社群說明文件，因此整個openSUSE系統還是有一定維護品質的！只是openSUSE的套件真的比較少，容易被軟體開發者忽視，有時候還得拿RHEL系的RPM來用呢！\n順帶一提，SUSE公司圖示上面的吉祥物不是蜥蜴，是變色龍，名字叫做Geeko。\n1. openSUSE特色 # 介紹openSUSE有什麼特色玩意。\n1.1. Tumbleweed與Leap的差別 # 目前openSUSE有二個主要版本：Leap和Tumbleweed。不論是要當日常系統還是伺服器使用都可以。\n在安裝openSUSE前，你可能會想搞清楚這二個版本有什麼差別。\nopenSUSE Tumbleweed，簡稱openSUSE TW，滾動發行版，正如它的代號「風滾草」一樣，是採取滾動更新的模式，Linux核心和軟體都是接近上游的最新版本，官方套件庫收錄的軟體也比Leap多。系統沒有大版本之分，每次升級都是從一個快照升級到下一個快照。內建Flatpak套件管理器。 openSUSE Leap，有固定版本號碼的發行版，屬於每年固定更新的版本，每年發表一個大版本，更新模式比較接近Fedora，而非Debian Stable久久更新一次。並且Leap是基於SUSE Enterprise Linux的下游版本（正如RockyLinux之於Redhat Enterprise Linux），所以Leap比Tumbleweed穩定許多，適合當伺服器系統使用。內建Flatpak套件管理器。 這不是說openSUSE Tumbleweed就很不穩定。openSUSE有一套稱為OpenQA的系統，能在套件發布前對其進行測試，減少更新後系統出錯的機會。這套系統讓openSUSE Tumbleweed的滾動更新能比Arch Linux更有保障一些。此外openSUSE預設啟用BTRFS，能在系統出錯後回滾至上一個版本。\nIvon比較喜歡享受新套件，因此桌面用途我會選擇安裝openSUSE Tumbleweed。這個系統已經夠冷門了，套件不見得有人會專門為Leap打包，不如用滾動更新的Tumbleweed。桌面環境的話，openSUSE沒有限定使用者要用那一種，這裡推薦使用KDE Plasma當桌面環境，讓openSUSE提供的YaST系統工具與KDE Plasma完美整合。\n1.2. YaST幫你顧好好 # YaST是openSUSE跟其他Linux發行版最不一樣的地方。吉祥物是一隻土豚。 可以點一點就完成大部份系統管理操作，諸如管理防火牆、管理使用者、硬碟分割、查看系統日誌、安裝軟體。YaST把這些工具都整合在一個面板裡面，就像Windows的「控制台」一樣方便。 過去安装套件需要知道RPM套件名稱，再開啟終端機用套件管理器的指令安裝。但是YaST可以直接搜尋openSUSE套件庫的套件，以圖形化界面完成安裝。\n即使是安裝網路上下載的.rpm，或是新增第三方套件庫，都是按一下圖形介面就完成，印象中我用openSUSE裝軟體很少打指令。\n解除安裝套件遇到衝突的時候，YaST也會提供建議，供使用者選擇下一步。\nYaST是openSUSE才有的工具（理論上可以移植到其他發行版但沒有人這樣幹），它不強制依賴任何桌面環境，不論在GNOME還是KDE Plasma都可以使用。其實，YaST很多功能在現代的Linux桌面環境都有提供了，變成有點在跟桌面環境搶工作的感覺。但我個人認為YaST的界面做得比許多桌面內建的應用程式商店還要好用。\n誠然，過度依賴YaST會忘記指令怎麼用，不知道如何在純文字模式設定服務，這也是被人詬病的一點。亦有人認為YaST是多餘的存在，因圖形界面設計太複雜，新手不好學，而資深用戶寧願直接用指令的尷尬現象。\n1.3. 用BTRFS自動備份 # openSUSE預設啟用BTRFS當檔案系統，並會在升級系統時製作備份快照。\n啟動系統的GRUB選單就可以回滾至之前的版本。\n1.4. 第三方套件庫OBS # openSUSE有稱為openSUSE Build Service (OBS) 的社群建置第三方軟體庫，就像Ubuntu的PPA或者Arch Linux的AUR，提供開發者貢獻自己維護的套件庫。第三方維護的軟體庫可以到這裡抓，例如我常常用到的內網穿透軟體ZeroTier就得到這裡抓。\n此外，openSUSE官網有完善的中文系統說明文件，與社群貢獻的Wiki相輔相成。不過官網文件以SLES企業版為主，偏伺服器系統管理方的知識；openSUSE Wiki則是像Arch Linux Wiki，介紹常見應用程式的使用方法。\n2. 安裝openSUSE Tumbleweed # openSUSE要求最低電腦規格為：2 Ghz的雙核心處理器，至少2GB的RAM，還有40GB以上的硬碟空間。\n至openSUSE Tumbleweed官網下載ISO，選取x86_64架構的離線映像檔(Offline Image)。 下載後檢查檔案完整性防止檔案毀損。使用Ventoy製作開機碟。\n進入電腦UEFI，將開機順序設定為隨身碟優先。\n開機後選取Installation，按Enter 點Language將安裝器語言設定為中文 啟用非OSS的套件庫，方便日後安裝閉源驅動 桌面環境推薦KDE Plasma 磁碟分割使用預設配置，安裝器會自動建立BTRFS卷宗 建立使用者名稱，推薦使用英文小寫。並視個人需求是否勾選開機自動登入。 等待系統安裝完成。重開機後拔除隨身碟，進入系統。\n3. 安裝後的優化 # 3.1. 如何安裝軟體 # openSUSE內建的系統套件管理器為Zypper，大部分套件能用YaST圖形界面管理。在KDE Plasma桌面左下角搜尋「YaST」，開啟軟體管理界面。YaST能夠搜尋線上套件，以及添加新的套件庫網址。 如果是從網路上下載.rpm檔案，在檔案管理器按右鍵，選擇「以YaST開啟」，YaST就會自動跳出來指引安裝。 儘管如此，有時候還是要用Zypper指令安裝軟體：\n# 更新套件庫 sudo zypper refresh # 搜尋套件 sudo zypper search \u0026lt;套件名稱\u0026gt; # 安裝套件 sudo zypper install \u0026lt;套件名稱\u0026gt; # 移除套件 sudo zypper remove \u0026lt;套件名稱\u0026gt; 3.2. 如何更新系統 # Tumbleweed跟Leap一樣都是透過Zypper指令更新。\n雖然YaST可以更新系統，然而以Tumbleweed是滾動更新發行版，系統更新應使用指令。\n建議執行sudo zypper dist-upgrade而非sudo zypper upgrade。兩個指令有什麼差呢？dist-upgrade指令簡寫為sudo zypper dup，允許套件管理器更新的時候刪除套件，更新的較為徹底，但也更可能出錯。\n另外因為Tumbleweed套件沒有像Leap一樣經過充分測試，在系統更新的時候，圖形界面有小機率崩潰導致更新失敗。因此openSUSE Wiki建議是在tty界面操作最為保險。\n3.3. 安裝Fcitx5與新酷音輸入法 # openSUSE預設應該已經安裝了Google Noto Fonts的中文字型，沒有的話就用指令裝一下就好：\nsudo zypper install google-noto-sans-cjk-fonts 有些版本的openSUSE會自動安裝GCIN輸入法，我個人覺得非常難用，建議換成Fcitx5。\n點選KDE Plasma右下角的GCIN圖示，退出GCIN輸入法。再來安裝Fcitx5與新酷音 sudo zypper install fcitx5 fcitx5-chinese-addons fcitx5-configtool fcitx5-chewing 2.用這條指令設定環境變數：sudo vim /etc/environment，填入以下內容：\nINPUT_METHOD=fcitx GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx 移除GCIN sudo zypper remove gcin 重開機，點選右下角的Fcitx5圖示啟用新酷音輸入法。 3.4. 安裝Nvidia驅動 # 參考SDB:NVIDIA drivers - OpenSUSE Wiki了解如何選取Nvidia顯示卡與對應的驅動版本。\n加入Nvidia官方套件庫 sudo zypper addrepo --refresh https://download.nvidia.com/opensuse/tumbleweed NVIDIA sudo zypper refresh openSUSE依照Nvidia顯示卡代數將套件分為G03、G04、G05、G06。我的顯示卡為GTX 1050Ti，所以要裝最新一代的G06驅動。如果裝了不能用的話再試試G05版本。 sudo zypper in vidia-video-G06 x11-video-nvidiaG06 x11-video-nvidiaG06 重開機，檢查Nvidia驅動安裝狀況 nvidia-smi 延伸閱讀 # openSUSE Wiki openSUSE Forum openSUSE 中文论坛- openSUSE 中文爱好者之家 ","date":"2025年3月29日","externalUrl":null,"permalink":"/posts/install-opensuse-tumbleweed/","section":"所有文章","summary":"openSUSE是一個歷史悠久的Linux發行版，源自德國，屬於免費下載的自由作業系統。\n本文Ivon介紹openSUSE的特色，以及openSUSE的安裝方式。 首先，Ivon得老實說，現在openSUSE在中文圈算是相對冷門的Linux發行版，名氣遠不如Debian系與RHEL系，即使在歐美Linux圈也是如此。\nopenSUSE基於SUSE開發，SUSE又基於古老的Slackware。openSUSE可以算是一個獨立發行版家族了！雖然openSUSE跟RHEL一樣使用RPM套件格式，但套件管理器卻大不同，openSUSE用的是Zypper。此外，幾乎沒有任何基於openSUSE的分支發行版出現，生態系不如Debian系與RHEL系繁榮。有人說，openSUSE是一個「underrated」的Linux發行版，品質不差但就是少人用。 但這不代表openSUSE就是hobby distro喔！相反，openSUSE背後有SUSE這家德國公司協助維護，他們可是僅次於Redhat的企業級Linux供應商。再加上全球Linux社群參與，提供豐富的社群說明文件，因此整個openSUSE系統還是有一定維護品質的！只是openSUSE的套件真的比較少，容易被軟體開發者忽視，有時候還得拿RHEL系的RPM來用呢！\n","title":"openSUSE Tumbleweed安裝教學，KDE桌面＋ Fcitx5中文輸入法 ＋ Nvidia驅動，體驗最新版的變色龍系統","type":"posts"},{"content":"","date":"2025年3月28日","externalUrl":null,"permalink":"/tags/markdown/","section":"標籤","summary":"","title":"Markdown","type":"tags"},{"content":"利用Markdown語言寫技術文件，搭配LaTeX寫公式，再用Mermaid繪製圖表已經是許多用戶常見的操作。那麼Markdown能不能做簡報呢？只需要打打字，不用手動拉排版，就能輸出還不錯看的簡報檔案？\n這就是「Marp」可以作到的事情，它是一款開源的Visual Studio Code延伸模組，開發者自稱是一款「Markdown Presentation Ecosystem」。不需要安裝Office軟體，只需要透過VS Code的延伸模組，搭配Markdown語法就能開始做簡報。 我三番兩次想寫這一篇主題，寫完又刪掉，因為Markdown做簡報實在太奇怪了。最近，我終於領悟到這個好處了！再次使用Marp製作學術報告，並將其應用於正式場合。 1. Marp的優點 # 先比較工具優點。用Markdown生成簡報的方案，此前已經有Pandoc與reveal.js出現。\n我覺得Marp比Pandoc方案好的地方在於，VS Code的界面比較漂亮，並且可見即所得，不用打指令。至於Reveal.JS是網頁框架，需要寫HTML，操作起來不是那麼方便。\nMarp的使用簡單多了，只要提供一個純文字的Markdown檔案，並在FrontMatter加入marp: true選項，VS Code就會把它當成一份簡報渲染。Marp這款混合VS Code文字編輯與預覽功能的方案比較其他方案好操作。 Marp是基於Marpit框架開發的。開發者另提供Marp CLI工具，不需要開VS Code就能將Markdown檔案轉換為.pptx。這款工具還提供伺服器模式，能在瀏覽器即時渲染簡報變更。\n我甚至可以用支援Markdown的筆記軟體，譬如Joplin筆記，打好簡報的草稿，輸出整份筆記之後稍微修改一下結構，便能生成簡報了！\n我還想到一個用途：叫語言模型以Markdown的格式生成回應，我就可以直接丟到Marp裡面產生簡報了！\n接著是善用Markdown本身的優勢。朱騏大大的文章認為，利用Markdown做簡報，能節省排版的時間，將精神放在準備演講上。這個觀點我同意，使用LibreOffice Impress或Microsoft Powerpoint的時候，在簡報框裡面打字還要調整字距，而Markdown就是交給Marp自動排版。\nMarp很適合不需要繁複美工的簡報場合，只專注在要展示的文字重點，全程幾乎只要用鍵盤打字，不需要移動滑鼠。不想要顯示在投影片上的演講備忘稿，可以用HTML註解的語法在文字之間插入。這樣寫完每張投影片的內容之後，利用Marp渲染後就有一份還算能看的簡報了。\n要設定全域主題也很簡單！做簡報就像在寫網頁，在Markdown檔案裡面加入一條CSS便能控制整份簡報的字體、行距、段落等排版。在你修改CSS的時候，VS Code的預覽視窗還會用強調色顯示修改中的項目為何！\n儘管Marp沒辦法任意修改元素位置，犧牲了一點自由度，不過這倒是能給準備演講多留一點時間，而非花過多時間在排版上面。\n2. 安裝Marp for VS Code # 依照作業系統安裝Visual Studio Code。譬如Linux就下載原生.deb套件安裝。\n在VS Code裡面搜尋安裝Marp延伸模組。 3. Marp簡報的專案結構 # 現在你要開始用這個做簡報了，學習規劃一下專案結構吧，以便整理不同簡報的資料。熟悉git操作的話，還可以將自己的簡報上傳到Github，利用git追蹤變更。\nMarp只要一個.md檔案就能夠生成簡報了。由於它利用Markdown語法嵌入檔案與圖片，因此新增的檔案可以是URL，或者本機檔案，看是要用相對路徑還是絕對路徑都行。\nMarp沒有自己的專案檔格式，簡報所有用到的圖片不會包含在單一檔案裡面。因此，一旦將.md檔渲染成.pptx之後就不可逆了，日後要修改不方便，所以你要保留「原始碼」和素材。\n考慮到簡報多半都會有圖片影片類的資源，我個人會這樣放，將一份Marp簡報的.md和其他檔案都放在同一個資料夾裡面。每個簡報一個資料夾，每個資料夾裡面就是一份簡報，還有用到的素材。\nDocuments ├── 📁MyReport1 │ ├── 📁images │ │ ├── a.jpg │ │ └── b.jpg │ ├── index.md │ └── 📁videos │ │ ├── demo.mp4 └── 📁MyReport2 ├── 📁images │ ├── a.jpg │ └── b.jpg └── 📁videos │ ├── demo.mp4 └── index.md 這些資料夾就是簡報的「原始碼」。如果要備份分享，只要壓縮成zip就行了。\n4. Marp基本操作 # 開啟VSCode，新增或者開啟現有的.md檔案。\n在Markdown最前面的FrontMatter，插入以下屬性，啟用Marp，並開啟顯示頁數功能\n--- marp: true paginate: true --- 然後在Markdown下面開始打字。輸入三條橫線---分隔文字，就會變成一張張的投影片。\n點選VS Code右上方的預覽按鈕，啟動Marp的預覽視窗，如此一來就能在右邊視窗看到渲染的簡報樣式了！ 點選上方Marp圖示的按鈕，點選Export Slide Deck...，匯出簡報。如果按Toggle Marp Markdown Features的話就是關閉渲染功能，回到VS Code內建的Markdown預覽模式。 .pdf是封存格式，能夠確保排版與字型不會變化。.png和.jpeg則是會把簡報匯出為一張圖片（只有第一張投影片）。而.pptx理論上還是能夠編輯，但不方便轉回Markdown。因此記住，Marp匯出簡報之後不可逆，要修改的話記得保存好Markdown檔案！\n我倒是蠻希望Marp開發者能加入LibreOffice的.odp支援的。\n5. Marp排版與裝飾語法 # Marp支援用常見的Markdown語法裝飾，並且加入了一部分新語法來調整排版。\n基礎Markdown語法教學請看這裡：Markdown 語法說明\n譬如要使用H1大標題就是# 標題，H2標題則是## 標題，以此類推。Markdown不能指定文字大小，需要靠CSS定義。\nMarkdown文字都是直排排列的，需要換行請加上\\。\n輸入三條橫線---分隔投影片。\n插入註解請用\u0026lt;!-- --\u0026gt;語法。\n要插入圖片，使用![](圖片路徑)語法，比如我有一張圖片的絕對路徑是/home/user/Documents/MyReport1/images/a.jpg，那麼最簡單的插入圖片語法就是：![](/home/user/Documents/MyReport1/images/a.jpg)\n若該圖片與Markdown檔案位於同一個資料夾，也可以用相對路徑的方式插入圖片：![](images/a.jpg)\n因為你沒辦法拖曳調整Marp所生成簡報的文字位置，故需要使用一些方式來調整Marp的排版。\n要調整文字排版一定得用到圖片的樣子。在簡報頁面插入一張圖片，然後在括號裡面輸入Marp的圖片裝飾語法，就會修改這一頁簡報的排版。\n譬如設定單張圖片佔據頁面右邊頁面50%：![ bg right fit ](images/a.jpg) 或者圖片當作頁面背景，設定模糊與亮度特效：![ bg blur:20px brightness:1.6 ](images/a.jpg) 若要定義整份簡報的樣式，請修改FrontMatter。Marp開發者內建多種主題做選擇，會改變字體與背景的樣式。\n--- marp:true paginate: true theme: gaia --- 要定義CSS也是寫在FontMatter，例如我這個是讓簡報裡面所有圖片自動置中。\n--- marp: true paginate: false theme: gaia style: | img { display: block; margin-left: auto; margin-right: auto; } --- 打算用CSS自訂字型，請輸入目前作業系統有安裝的字型名稱，譬如標楷體。\n--- marp: true paginate: true theme: gaia style: | h1 { font-family: \u0026#34;DFKai-SB\u0026#34; } section { font-family: \u0026#34;DFKai-SB\u0026#34; } img { display: block; margin-left: auto; margin-right: auto; } --- 或者引用Google Fonts線上字型，如此一來就不會受到作業系統缺少字型影響。這裡的範例是字重200的思源宋體。\n--- marp: true paginate: true theme: gaia style: | h1 { font-family: \u0026#34;Noto Serif TC\u0026#34;; font-optical-sizing: auto; font-weight: 200; font-style: normal; } section { font-family: \u0026#34;Noto Serif TC\u0026#34;; font-optical-sizing: auto; font-weight: 200; font-style: normal; } img { display: block; margin-left: auto; margin-right: auto; } --- \u0026lt;link rel=\u0026#34;stylesheet\u0026#34; href=\u0026#34;https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@200..900\u0026amp;display=swap\u0026#34;\u0026gt; 值得一提的是，\u0026lt;!-- --\u0026gt;除了充當簡報註解之外，裡面也能插入Marp定義的指令式(Directives)，用來單獨控制每一張簡報的樣式。\n比如，單獨指定這一頁不要頁碼，就在那一頁起始的三橫線下面加入\u0026lt;!-- paginate: false --\u0026gt;\n# 第一頁 （有頁碼） --- \u0026lt;!-- paginate: false --\u0026gt; # 第二頁 （無頁碼） --- # 第三頁 （有頁碼） 更多用法請參閱Marp官方文件。\n6. 給Marp啟用HTML支援 # Marp目前還不支援Mermaid畫流程圖，需要引入外部JavaScript來存取。\n在這之前，需要允許Marp載入原始HTML，允許載入Youtube影片的iframe元素以及額外的JavaScript函式庫。\n開啟VS Code的settings.json，在Marp設定檔裡面開啟以下設定，允許載入HTML元素 { \u0026#34;markdown.marp.html\u0026#34;: \u0026#34;all\u0026#34; } 預覽的時候點選VS Code右上角三個點 → 變更預覽的安全性設定 → 允許不安全的預覽內容 參考這個Github issue，在Markdown檔案的FrontMatter下方加入HTML載入Mermaid：\n\u0026lt;script type=\u0026#34;module\u0026#34;\u0026gt; import mermaid from \u0026#39;https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs\u0026#39;; mermaid.initialize({ startOnLoad: true }); window.addEventListener(\u0026#39;vscode.markdown.updateContent\u0026#39;, function() { mermaid.init() }); \u0026lt;/script\u0026gt; 要使用Mermaid語法，用\u0026lt;pre class\u0026gt;與\u0026lt;/pre\u0026gt;包起來，譬如橫向流程圖： \u0026lt;pre class=\u0026#34;mermaid\u0026#34;\u0026gt; graph LR; A --\u0026gt; B --\u0026gt; C \u0026lt;/pre\u0026gt; ","date":"2025年3月28日","externalUrl":null,"permalink":"/posts/vscode-marp-presentation/","section":"所有文章","summary":"利用Markdown語言寫技術文件，搭配LaTeX寫公式，再用Mermaid繪製圖表已經是許多用戶常見的操作。那麼Markdown能不能做簡報呢？只需要打打字，不用手動拉排版，就能輸出還不錯看的簡報檔案？\n這就是「Marp」可以作到的事情，它是一款開源的Visual Studio Code延伸模組，開發者自稱是一款「Markdown Presentation Ecosystem」。不需要安裝Office軟體，只需要透過VS Code的延伸模組，搭配Markdown語法就能開始做簡報。 我三番兩次想寫這一篇主題，寫完又刪掉，因為Markdown做簡報實在太奇怪了。最近，我終於領悟到這個好處了！再次使用Marp製作學術報告，並將其應用於正式場合。 1. Marp的優點 # 先比較工具優點。用Markdown生成簡報的方案，此前已經有Pandoc與reveal.js出現。\n我覺得Marp比Pandoc方案好的地方在於，VS Code的界面比較漂亮，並且可見即所得，不用打指令。至於Reveal.JS是網頁框架，需要寫HTML，操作起來不是那麼方便。\nMarp的使用簡單多了，只要提供一個純文字的Markdown檔案，並在FrontMatter加入marp: true選項，VS Code就會把它當成一份簡報渲染。Marp這款混合VS Code文字編輯與預覽功能的方案比較其他方案好操作。 ","title":"Marp教學：Markdown搭配VS Code做簡報，快速輸出為PPTX或PDF，提昇做簡報效率","type":"posts"},{"content":"","date":"2025年3月28日","externalUrl":null,"permalink":"/tags/visual-studio-code/","section":"標籤","summary":"","title":"Visual Studio Code","type":"tags"},{"content":"","date":"2025年3月28日","externalUrl":null,"permalink":"/tags/ish-shell/","section":"標籤","summary":"","title":"ISH Shell","type":"tags"},{"content":"","date":"2025年3月28日","externalUrl":null,"permalink":"/tags/ubuntu-touch/","section":"標籤","summary":"","title":"Ubuntu Touch","type":"tags"},{"content":" 想要在手機安裝Linux系統跑電腦上的程式？其實這是二個不同的概念喔！Ivon在經過長久的嘗試之後，總結出了這篇文章與大家分享。\n就目前的技術而言，想要在手機上跑Linux，有以下二種方法：\n使用APP模擬Linux環境 刪除手機系統，刷機為真Linux系統 讓我們先來看看這二個方法的優劣。最後再來討論3. 購買真Linux手機的選項。\n1. 使用APP模擬Linux環境 # 所謂模擬的意思是用APP模擬Linux系統環境，偏輔助用途。好處是幾乎所有手機都能裝，壞處是能做到的事情有限，跑跑終端機指令可以，但容器化和虛擬化是做不到的。\n以APP模擬Linux環境，不需要Root也不用越獄，適合大多數裝置使用。要如何讓Linux融入你的生活中都看個人選擇，從Termux這類APP下手會是不錯的開始，或許你能從中體會到自由開源的精神。等到做好準備，再去玩玩看Linux手機吧！\nAndroid # 包括Android手機與Android平板，不含ChromeOS。\nTermux # 相關文章：Termux使用教學 Termux可以在大多數Android手機使用，最低支援到Android 7系統，不需要root。\nTermux並非虛擬機，而是提供一個類似Linux的環境，再想辦法讓程式以原生效能執行。Termux還有提供proot-distro (用ptrace模擬chroot功能) 來安裝Linux發行版的方法，能夠搭配Termux X11跑X視窗系統，執行Linux的圖形程式，再用VirGL技術達成3D圖形加速。 透過Termux在Android上跑Linux圖形程式\n但就算用proot-distro安裝其他Linux發行版容器，該系統依然受到Android限制，很難存取硬體方面的操作。\nTermux偏向混合Android生態系使用的輔助工具。在這樣環境下的Linux系統，可以寫點Python、Java、C++小程式、跑跑文書軟體，玩點Linux小遊戲。又因Termux能存取部份Android系統的檔案，所以用ffmpeg批次轉檔影片也是可以的。\n如果手機有Root權限，以chroot安裝Linux容器，搭配Busybox能做的事情會多一些。\n相關文章：手機Termux建立chroot Ubuntu環境，免Linux Deploy 但chroot仍會被Android裁剪過的Linux核心限制用途，例如Android的核心普遍缺乏cgroups核心模組，所以還是無法執行Docker。chroot比較適合搭配Magisk做一些修改系統的操作。\nQEMU # 此處講的方案比較受限，沒有Termux那麼萬用。\n模擬器軟體「QEMU」有Android移植版，Termux裡面有收QEMU套件，也有人製作獨立的APP，包括Limbo PC Emulator以及Vectras VM。\n相關文章：以QEMU在手機上模擬執行x86_64架構的Ubuntu虛擬機 如果用QEMU跑ARM架構的Linux虛擬機呢？很抱歉大部分Android手機沒有KVM核心模組，虛擬機執行效率會很低下，即使是撰文當下2025年的旗艦機也只夠跑Windows XP系統，或是純文字的Linux虛擬機。 透過QEMU執行於Android手機的Ubuntu虛擬機\n不過，Google Pixel手機是特例，搭載Tensor處理器的Pixel支援pKVM虛擬化技術，因此Limbo PC Emulator用起來速度很快，連Windows 11 ARM都能跑。需要使用特製版Limbo：Limbo For Tensor-based devices\n此外，Android 16以上版本的Google Pixel手機可以用AVF框架執行Linux虛擬機，參見：Google slips built-in terminal, Debian Linux VM into Android 15 March feature drop\niOS # 包含iPhone、iPad、iPod touch裝置。\niSH Shell # 相關文章：iSH Shell使用教學 iOS上的iSH Shell是模擬32位元Alpine Linux的APP，純文字界面適合跑一些Python指令稿，以及充當SSH連線客戶端。 使用iSH Shell在iPad執行簡單的終端機程式\n又因為iSH的檔案系統能用檔案APP開啟，你可以將檔案丟進去Linux環境處理，例如用ImageMagick批次給照片轉檔。如此一來iSH用途就類似Android上的Termux，是混合iOS生態系使用的Linux環境。\n缺點是iSH Shell是單純x86模擬器，只相容32位元套件，且部份指令集尚未實作，有些程式執行可能出錯。\nUTM # 相關文章：UTM使用教學 UTM是虛擬機軟體，啟用JIT加速或者越獄開啟虛擬化後，可以高性能跑其他系統的虛擬機，適合iPad使用。\n配合Apple力壓群雄的處理器性能，目前高階M系列晶片的iPad已證實撐的住Windows 11 ARM，那麼Linux系統自然不在話下。 使用UTM在iPad上面跑Alpine Linux虛擬機，並與宿主機共享資料夾\n缺點是Apple只允許沒有任何加速的「UTM SE」上架App Store，這個版本的UTM連跑Windows XP都很喘。正常版本的UTM要用側載的。且不論是JIT加速還是越獄開啟虛擬化，設定過程都需要繁瑣步驟，實用性不高。\n2. 將手機刷機為真Linux系統 # iOS裝置就算越獄後也不可能刷其他系統，除了iPhone 7有Project Sandcastle這個特殊的例子。那相對開放的Android裝置呢？其實能刷Linux的Android手機也不是很多。\n這裡講的Linux系統不包含Android，包括LineageOS、GrapheneOS、ClayxOS等，他們只能算是Android的變體，不能算是Linux。有人會說Android不算Linux嗎？算，但也不算。Android雖然使用Linux核心，但架構跟電腦上的GNU/Linux其實差異甚大，下面要談的「真Linux手機系統」設計是比較偏向電腦GNU/Linux系統的，而非Google魔改後的結果。比較簡略的說法就是：這些系統預設都保有root使用者，而非Android拔掉不給用。\n那麼手機Linux系統有哪些選擇呢？目前Android以外的「真Linux手機系統」就有十餘個發行版，其中勢力最龐大的要數「Ubuntu Touch」和「postmarketOS」這二個系統了，這二個Linux發行版支援的手機數量最多，有移植到許多Android手機上。\n你需要購買適合刷機的手機。即使一支手機有很多Android ROM能刷，不代表它能夠刷成Linux。想知道有哪些手機適合刷機？請參閱postmarketOS Wiki與Ubuntu touch Wiki。\nUbuntu touch # 相關文章：Ubuntu touch安裝教學 Ubuntu touch出現時間最早，2014年就有了，本來是要進一步推出手機的，然後沒幾年就被母公司Canonical放棄，變成開源社群維護。\nUbutnu touch有自己一套桌面環境，UI設計完善，連中文輸入法都有，以功能機來說是及格的。Ubutnu touch系統分區跟Android一樣是唯讀的，就算用Root權限存取，下次更新OTA就會被蓋掉。想要跑電腦版的Linux程式，需要啟用LXC容器來安裝。 執行Ubuntu touch的紅米Note 5\nUbuntu touch發展出了Halium混合Android驅動的移植方式，犧牲一部分自由軟體換取相容性。所以Ubuntu touch與Android手機硬體的相容性較佳，比較容易移植。\n支援透過Waydroid跑Android APP。\npostmarketOS # 相關文章：postmarketOS安裝教學 2019年前後出現的postmarketOS則比較像電腦的GNU/Linux發行版，圖形系統使用Wayland或X11，可以自由選配要使用的桌面環境。系統分區隨便你改動，性能夠的話要跑Docker和虛擬機也行。\npostmarketOS強調移植的機型必須使用最新版的mainline Linux核心，驅動程式也必須盡量用開源版，放棄了Ubuntu Touch那種Halium技術的折衷作法，改走真正的GNU/Linux手機路線。 執行postmarketOS的小米Poco F1\n或許因為postmarketOS相較於Ubutnu touch更加自由，所以「Linux手機APP」才有發揮空間，GNOME和KDE社群都相繼開發隨螢幕大小變化的應用程式和SDK，能沿用現有的GTK與QT技術開發Linux手機APP。\n支援透過Waydroid跑Android APP。\n3. 購買真正的Linux手機 # 除了將Android手機刷成Linux以外，也可以購買出廠就搭載Linux系統的手機。由於有專門的開發團隊在維護，就不會有Android刷Linux所遇到的諸多問題。且它們的硬體通常很開放，因此可以自由安裝其他社群成員維護的Linux發行版。 播放影片的 PinePhone\n不過這些Linux手機可能不會比Android好用，性價比也不高，屬於是給願意自己動手的用戶所準備的。真Linux手機看起來很強大，但生態尚未成熟，目前頂多滿足通話與上網，用戶還要有很強的tinker精神才用的下去。開源或許能慢慢補全生態系問題，但會用Linux手機的人多少要對命令行有認識。\n現時，出廠搭載Linux而非Android的手機有：\nFuriLabs FLX1 (2024)，出廠搭載FuriOS，基於Debian開發。 Purism Liberty Phone (2023)，出廠搭載PureOS，基於Debian開發 Purism Librem 5 (2020)，出廠搭載PureOS，基於Debian開發 Pine64 PinePhone Pro (2022)，出廠搭載Manjaro，可以安裝其他十餘種發行版 Pine64 PinePhone (2020)，出廠搭載Manjaro，可以安裝其他十餘種發行版 Volla Phone (2020)，出廠搭載Ubuntu touch Fxtec Pro1X (2020)，出廠搭載Ubuntu touch ","date":"2025年3月28日","externalUrl":null,"permalink":"/posts/how-to-run-linux-on-the-phones/","section":"所有文章","summary":" 想要在手機安裝Linux系統跑電腦上的程式？其實這是二個不同的概念喔！Ivon在經過長久的嘗試之後，總結出了這篇文章與大家分享。\n就目前的技術而言，想要在手機上跑Linux，有以下二種方法：\n使用APP模擬Linux環境 刪除手機系統，刷機為真Linux系統 讓我們先來看看這二個方法的優劣。最後再來討論3. 購買真Linux手機的選項。\n1. 使用APP模擬Linux環境 # 所謂模擬的意思是用APP模擬Linux系統環境，偏輔助用途。好處是幾乎所有手機都能裝，壞處是能做到的事情有限，跑跑終端機指令可以，但容器化和虛擬化是做不到的。\n以APP模擬Linux環境，不需要Root也不用越獄，適合大多數裝置使用。要如何讓Linux融入你的生活中都看個人選擇，從Termux這類APP下手會是不錯的開始，或許你能從中體會到自由開源的精神。等到做好準備，再去玩玩看Linux手機吧！\nAndroid # 包括Android手機與Android平板，不含ChromeOS。\nTermux # 相關文章：Termux使用教學 Termux可以在大多數Android手機使用，最低支援到Android 7系統，不需要root。\n","title":"如何在手機上跑Linux系統？你有這幾個方法可以嘗試","type":"posts"},{"content":"適用版本：Ubuntu 24.04以上。本文分享的概念亦適用其他Linux發行版，包括Fedora、openSUSE、Arch Linux、Gentoo等等。\nUbuntu系統用LibreOffice Writer開啟.docx文件，標楷體一律都會變成用其他字型顯示，跟Windows電腦Word看來完全不同，怎麼回事呢？\nWindows檢視.docx文件，顯示標楷體： Ubuntu檢視.docx文件，沒有顯示標楷體： Ubuntu內建Google Noto Fonts字型家族，用於顯示多國語言的文字。當我們開啟含有標楷體的.docx文件的時候，由於Linux系統沒有這個字型，因此不論是在LibreOffice Writer還是Google文件網頁版，它就會回退到Noto Sans CJK字型來顯示中文字，導致字型錯誤。這在影印文件的時候會非常困擾。\n所以我們得手動安裝標楷體字型，讓Ubuntu得以顯示標楷體。\n若要安裝其他Windows才有的字型，也是如法炮製。\n1. 認識Windows標楷體與替代方案 # 了解一下標楷體問題，再挑選解決方案。\nWindows系統的標楷體，名字準確來說是「華康標楷體」，乃華康科技（威鋒數位）參考中華民國教育部標準字體所研發的字型，屬於付費字型。Microsoft向其購買之後，內建在Windows系統給大家使用。 因為授權條款因素（下述），Ubuntu套件庫無法收錄標楷體字型。另外像新細明體、微軟正黑體、Times New Roman沒有收錄在Ubuntu套件庫也是因為授權條款。\nUbuntu有一個套件叫做ttf-mscorefonts-installer，裝了之後就能在Linux使用Windows字型，但裡面只有Times New Roman這類英文字型，沒有中文字型。\n針對這類授權字型，使用者需要自行取得.ttf字型檔安裝。以標楷體來說，最快的方式就是從Windows電腦複製過來，再塞到Linux系統的字型目錄即可。\n但為何不建議這樣做呢？根據2018年華康字型授權說明一文指出：\n凡透過合法授權之微軟系統使用新細明體、標楷體，威鋒數位日後亦不會主動要求支付相關授權費用。但將字型直接取出搭載（內嵌）於非微軟系統之第三方軟、硬體中的以下情況除外，例如於各式嵌入式裝置、電子遊戲、APP、電子書，以及安裝於提供ASP（應用服務提供者）等網路服務伺服器等。\n所以嚴格來說，從Windows系統複製標楷體，或者從網路上下載標楷體，再裝到Linux系統的字型目錄是違反授權條款的！\n比較好的方式是改用類似標楷體且允許自由使用的字型，譬如：\n文鼎楷書體 + 台灣方音符號 AR PL UKai TW MBE 全字庫正楷體 TW-Kai-Ext 教育部標準楷體 TW-MOE-Std-Kai cwTeX楷書 cwTeXKai 這些楷體字型Ubuntu都有提供套件，無需手動下載。\n然而這樣做有壞處，第一，別人給你的.docx文件內嵌的字型是指向「標楷體」，要手動用LibreOffice Writer開啟檔案，修改字型再存檔，有很多文件要處理的話就會很麻煩。第二，如果.docx檔案之後還要傳檔給別人用，安裝這種非正規的楷體，可能變成對方電腦沒有這種字型，導致無法顯示。\n此外，這幾個楷體的字型寫法跟標楷體有些微不同。\n嘛，一般人應該不需要在意字型授權問題。如果只是要做出指定格式文件的話，就別太在意過程了啦。直接複製Windows的標楷體字型來用最快。\n2. 顯示標楷體的解決方案 # 解決方案1：複製Windows的標楷體字型來用 # 開啟Windows電腦的C:\\Windows\\Fonts\\資料夾，複製kaiu.ttf字型檔。或者自行在網路上搜尋下載標楷體字型。 將.ttf字型檔傳到Ubuntu電腦，開啟檔案管理器，點二下安裝字型 或者用指令安裝，在下載目錄開啟終端機，將.ttf檔複製到系統目錄/usr/share/fonts/truetype/或者目前使用者目錄~/.local/share/fonts/truetype/：\nsudo mkdir -p /usr/share/fonts/truetype/ sudo cp kaiu.ttf /usr/share/fonts/truetype/ fc-cache -fv 重新啟動LibreOffice，開啟.docx文件應該就能顯示標楷體了。 解決方案2：改用類似標楷體的字型 # 視需求安裝楷體字型套件，不用全裝。\n安裝文鼎楷書體，安裝後顯示的字型名稱為AR PL UKai\nsudo apt install fonts-arphic-ukai 安裝全字庫正楷體，安裝後顯示的字型名稱為全字庫正楷體 sudo apt install fonts-cns11643-kai 安裝教育部標準楷體，安裝後顯示的字型名稱為教育部標準楷體\nsudo apt install fonts-moe-standard-kai 安裝cwTeX，安裝後顯示的字型名稱為cwTeX 楷書\nsudo apt install fonts-cwtex-kai 接著開啟LibreOffice Writer，選取文件文字，替換掉字型。 解決方案3：使用類似標楷體的字型去顯示標楷體 # 好繞口\u0026hellip;其實就是替身攻擊啦。\nLinux桌面環境可以透過fontconfig工具來調整系統的字型優先順序，也能用一個字型替代顯示另一個字型。好處是不需要安裝需要授權的標楷體字型，亦不需要手動替換文件內的字型。壞處就是自欺欺人，只有你看得到。\n順帶一提，Ubuntu系統的/etc/fonts/conf.d/目錄裡面已經有一系列預先定義的字型替換規則。\n使用fc-list指令列出Linux系統已安裝的字型。\n新增fontconfig設定檔\nmkdir -p ~/.config/fontconfig/ vim ~/.config/fontconfig/fonts.conf 填入下列內容。這裡範例是告訴系統，遇到標楷體 (Linux顯示的名稱為DFKai-SB) 就用教育部標準楷體 (TW-MOE-Std-Kai) 去顯示。 \u0026lt;?xml version=\u0026#34;1.0\u0026#34;?\u0026gt; \u0026lt;!DOCTYPE fontconfig SYSTEM \u0026#34;fonts.dtd\u0026#34;\u0026gt; \u0026lt;fontconfig\u0026gt; \u0026lt;match target=\u0026#34;pattern\u0026#34;\u0026gt; \u0026lt;test name=\u0026#34;family\u0026#34;\u0026gt; \u0026lt;string\u0026gt;DFKai-SB\u0026lt;/string\u0026gt; \u0026lt;/test\u0026gt; \u0026lt;edit name=\u0026#34;family\u0026#34; mode=\u0026#34;prepend\u0026#34; binding=\u0026#34;strong\u0026#34;\u0026gt; \u0026lt;string\u0026gt;TW-MOE-Std-Kai\u0026lt;/string\u0026gt; \u0026lt;/edit\u0026gt; \u0026lt;/match\u0026gt; \u0026lt;/fontconfig\u0026gt; 更新字型快取 fc-cache -fv 3. 系統界面全部變成標楷體了怎麼辦？ # 有時候會遇到這個bug，一安裝楷體字型，部份Linux程式就會變成以楷體顯示中文，醜死了。 不知道為什麼，Linux發行版只要安裝任一種楷體，有些程式界面的中文字就會全部變成標楷體，這是什麼返祖現象嗎？以前對Linux不熟悉害我很長時間不敢任意裝字型，只得解除安裝標楷體。\n可，最好的解決方法肯定不是移除字型。\n我們可以透過fontconfig調整字型優先級來解決以上問題，將優先字型設定為Google Noto Fonts就好了。\n參考資料 # 利用 X 字體別名，讓 Linux 桌面環境顯示文件中的標楷體、細明體與黑體 - 石頭閒語 Ubuntu環境下，一些字型套件 - Ubuntu 基本功 ","date":"2025年3月27日","externalUrl":null,"permalink":"/posts/kaiu-on-linux/","section":"所有文章","summary":"適用版本：Ubuntu 24.04以上。本文分享的概念亦適用其他Linux發行版，包括Fedora、openSUSE、Arch Linux、Gentoo等等。\nUbuntu系統用LibreOffice Writer開啟.docx文件，標楷體一律都會變成用其他字型顯示，跟Windows電腦Word看來完全不同，怎麼回事呢？\nWindows檢視.docx文件，顯示標楷體： Ubuntu檢視.docx文件，沒有顯示標楷體： Ubuntu內建Google Noto Fonts字型家族，用於顯示多國語言的文字。當我們開啟含有標楷體的.docx文件的時候，由於Linux系統沒有這個字型，因此不論是在LibreOffice Writer還是Google文件網頁版，它就會回退到Noto Sans CJK字型來顯示中文字，導致字型錯誤。這在影印文件的時候會非常困擾。\n所以我們得手動安裝標楷體字型，讓Ubuntu得以顯示標楷體。\n若要安裝其他Windows才有的字型，也是如法炮製。\n1. 認識Windows標楷體與替代方案 # 了解一下標楷體問題，再挑選解決方案。\nWindows系統的標楷體，名字準確來說是「華康標楷體」，乃華康科技（威鋒數位）參考中華民國教育部標準字體所研發的字型，屬於付費字型。Microsoft向其購買之後，內建在Windows系統給大家使用。 ","title":"解決Ubuntu無法顯示標楷體，安裝額外的Windows中文字型","type":"posts"},{"content":"本文解說如何透過fontconfig改善Linux中文字型的種種問題，包括字型優先順序(優先級)、用替代字型顯示另一個字型、修正模糊、解決Emoji無法顯示。\n我原本是用Noto Sans CJK TC當Linux系統字型，發現Flatpak版Steam玩《Team Fortress 2》會無法顯示中文字型，裝了文泉驛正黑體才正常。可是一裝下去，Linux的中文字型優先順序就被覆蓋了，其他應用程式跟著變成採用文泉驛正黑體來顯示文字！\n老實說文泉驛很難看，不適合當螢幕文字的呀。以前我還發生過裝「標楷體」，導致整個系統預設都是楷體字型，變超級醜的狀況。\n此時解決方案有：\n將該字型套件解除安裝。認真？夫所以養而害所養譬猶削足而適履。\n強行在瀏覽器指定字型。我覺得不行，這會覆寫部份網站的設定，我的原則是只要瀏覽器UI顯示跟系統一樣的字型，其他交給網站自行決定。\n那麼，就透過撰寫fontconfig設定檔來指定系統應用程式要優先使用的字型吧，這是GNOME、KDE Plasma、XFCE等各大桌面環境皆遵守的標準。在設定完成後，系統就會優先使用Noto Sans來顯示界面文字了。\n1. 了解Linux常用的中文字型 # 使用fc-list指令列出系統安裝的字型。\nLinux系統常用的中文字型有：\nNoto Fonts CJK，內含TC/SC/HK/JP，分別對應正體字/簡體字/香港繁體/日文漢字。Noto Sans代表無襯線字，Noto Serif代表襯線字。 思源黑體 (Adobe Source Hans) 文泉驛正黑體 (WQY Zhenhei) 楷體 (AR PL UKai)，文鼎公司開發的自由授權字型 明體 (AR PL UMing)，文鼎公司開發的自由授權字型 近年因表情符號盛行，多半還會裝個顯示Emoji的Noto Font Emoji。\n是的，Linux缺少很多Windows系統的字型，需要手動安裝。又因為很多字型的專有授權條款限制，Linux發行版的套件管理器無法收錄這些字型套件，所以你得手動下載字型檔。\n參看：Linux如何安裝Windows的標楷體\n自由授權的字型可以透過Linux發行版套件管理器安裝，例如Noto Font字型家族： sudo apt install fonts-noto fonts-noto-cjk fonts-noto-color-emoji 如果要手動安裝字型的話就是下載字型，點二下安裝。GNOME與KDE Plasma桌面應該都有「字型安裝器」的圖形界面能用，不需要指令。\n指令安裝的話，就是將.ttf檔放到/usr/share/fonts/truetype/，.otf檔放到/usr/share/fonts/opentype/。再用fc-cache -fv指令更新字型快取，其他程式方能使用，連Wine跑的程式都能存取。\n2. fontconfig的設定檔位置 # Linux的字型目錄位於/usr/share/fonts/（全域）或者~/.local/share/fonts/（僅限目前使用者）。要手動安裝字型就是放到這裡。\nfontconfig用於告訴系統要怎麼處理字型顯示。\n要對系統全域生效的話就是修改 → /etc/fonts/local.conf或者/etc/fonts/conf.d/的檔案。不要編輯/etc/fonts/fonts.conf\n要對個別使用者者生效的話就是修改 → ~/.config/fontconfig/fonts.conf\n別亂動系統的/etc/fontconfig/fonts.conf，該檔案在fontconfig一更新後就會遭覆蓋。建議以個別使用者下去設定比較適當，除非你要設定登入使用者之前就執行的顯示管理器（GDM、SDDM、LightDM）的字型偏好，才編輯/etc/fonts/local.conf。\n3. 優先使用特定字型顯示界面文字 # fontconfig有兩種處理字型的方式，一種是使用match pattern，另外一種是alias，此處採用第一種。\n使用fc-list指令列出系統安裝的字型，裡面可以知道字型的名稱。\n假設要讓所有應用程式優先使用Noto Sans CJK TC字型的話，在目前使用者目錄新增fontconfig設定檔（註：有些發行版會在/etc/fonts/conf.d/預先定義一系列規則，如果下述變更不生效，檢查一下該目錄的檔案）\nmkdir -p ~/.config/fontconfig/ vim ~/.config/fontconfig/fonts.conf 填入以下內容。這裡設定系統要求使用sans-serif字型時，就優先使用Noto Sans，不行的話再用Noto Sans CJK TC，而Emoji最後才會用到Noto Sans Emoji。其他字型以此類推。 \u0026lt;?xml version=\u0026#34;1.0\u0026#34;?\u0026gt; \u0026lt;!DOCTYPE fontconfig SYSTEM \u0026#34;fonts.dtd\u0026#34;\u0026gt; \u0026lt;fontconfig\u0026gt; \u0026lt;!-- 設定讓system-ui使用Sans-serif字型 --\u0026gt; \u0026lt;match target=\u0026#34;pattern\u0026#34;\u0026gt; \u0026lt;test name=\u0026#34;family\u0026#34;\u0026gt; \u0026lt;string\u0026gt;system-ui\u0026lt;/string\u0026gt; \u0026lt;/test\u0026gt; \u0026lt;edit name=\u0026#34;family\u0026#34; mode=\u0026#34;prepend\u0026#34; binding=\u0026#34;strong\u0026#34;\u0026gt; \u0026lt;string\u0026gt;sans-serif\u0026lt;/string\u0026gt; \u0026lt;/edit\u0026gt; \u0026lt;/match\u0026gt; \u0026lt;!-- 預設sans-serif字型 --\u0026gt; \u0026lt;match target=\u0026#34;pattern\u0026#34;\u0026gt; \u0026lt;test name=\u0026#34;family\u0026#34;\u0026gt; \u0026lt;string\u0026gt;sans-serif\u0026lt;/string\u0026gt; \u0026lt;/test\u0026gt; \u0026lt;edit name=\u0026#34;family\u0026#34; mode=\u0026#34;prepend\u0026#34; binding=\u0026#34;strong\u0026#34;\u0026gt; \u0026lt;string\u0026gt;Noto Sans\u0026lt;/string\u0026gt; \u0026lt;string\u0026gt;Noto Sans CJK TC\u0026lt;/string\u0026gt; \u0026lt;string\u0026gt;Noto Color Emoji\u0026lt;/string\u0026gt; \u0026lt;/edit\u0026gt; \u0026lt;/match\u0026gt; \u0026lt;!-- 預設seriff字型 --\u0026gt; \u0026lt;match target=\u0026#34;pattern\u0026#34;\u0026gt; \u0026lt;test name=\u0026#34;family\u0026#34;\u0026gt; \u0026lt;string\u0026gt;serif\u0026lt;/string\u0026gt; \u0026lt;/test\u0026gt; \u0026lt;edit name=\u0026#34;family\u0026#34; mode=\u0026#34;prepend\u0026#34; binding=\u0026#34;strong\u0026#34;\u0026gt; \u0026lt;string\u0026gt;Noto Serif\u0026lt;/string\u0026gt; \u0026lt;string\u0026gt;Noto Serif CJK TC\u0026lt;/string\u0026gt; \u0026lt;string\u0026gt;Noto Color Emoji\u0026lt;/string\u0026gt; \u0026lt;/edit\u0026gt; \u0026lt;/match\u0026gt; \u0026lt;!-- 預設monospace字型 --\u0026gt; \u0026lt;match target=\u0026#34;pattern\u0026#34;\u0026gt; \u0026lt;test name=\u0026#34;family\u0026#34;\u0026gt; \u0026lt;string\u0026gt;monospace\u0026lt;/string\u0026gt; \u0026lt;/test\u0026gt; \u0026lt;edit name=\u0026#34;family\u0026#34; mode=\u0026#34;prepend\u0026#34; binding=\u0026#34;strong\u0026#34;\u0026gt; \u0026lt;string\u0026gt;Noto Sans Mono\u0026lt;/string\u0026gt; \u0026lt;string\u0026gt;Noto Sans Mono CJK TC\u0026lt;/string\u0026gt; \u0026lt;string\u0026gt;Noto Color Emoji\u0026lt;/string\u0026gt; \u0026lt;/edit\u0026gt; \u0026lt;/match\u0026gt; \u0026lt;/fontconfig\u0026gt; 設定完成後更新字型快取，重開用程式看看有無變更。 fc-cache -fv 4. Flatpak程式吃不到系統中文字型設定 # 根據Github的討論，儘管Flatpak應用程式可以使用系統字型，但卻不採納系統fonts.conf的設定，而是以自己的優先順序來顯示字型，有時候在Wayland下還會導致字型模糊(跟縮放無關)。\n只要開放全部的Flatpak程式讀取xdg-config/fontconfig:ro就行，等同允許讀取~/.config/fontconfig/。\nflatpak --user override --filesystem=xdg-config/fontconfig:ro 參考資料 # 用fontconfig 治理Linux 中的字体 - 双猫CC 如何正确为 Noto Sans CJK 配置 fontconfig 使中文不会被显示为日文字型？ - 知乎 字型安裝與設定- Ubuntu 問答集 - samwhelp 讓 Flatpak 裡面的應用程式可以吃到系統的字型 - Gea-Suan Lin\u0026rsquo;s BLOG ","date":"2025年3月27日","externalUrl":null,"permalink":"/posts/linux-fontconfig/","section":"所有文章","summary":"本文解說如何透過fontconfig改善Linux中文字型的種種問題，包括字型優先順序(優先級)、用替代字型顯示另一個字型、修正模糊、解決Emoji無法顯示。\n我原本是用Noto Sans CJK TC當Linux系統字型，發現Flatpak版Steam玩《Team Fortress 2》會無法顯示中文字型，裝了文泉驛正黑體才正常。可是一裝下去，Linux的中文字型優先順序就被覆蓋了，其他應用程式跟著變成採用文泉驛正黑體來顯示文字！\n老實說文泉驛很難看，不適合當螢幕文字的呀。以前我還發生過裝「標楷體」，導致整個系統預設都是楷體字型，變超級醜的狀況。\n此時解決方案有：\n將該字型套件解除安裝。認真？夫所以養而害所養譬猶削足而適履。\n強行在瀏覽器指定字型。我覺得不行，這會覆寫部份網站的設定，我的原則是只要瀏覽器UI顯示跟系統一樣的字型，其他交給網站自行決定。\n那麼，就透過撰寫fontconfig設定檔來指定系統應用程式要優先使用的字型吧，這是GNOME、KDE Plasma、XFCE等各大桌面環境皆遵守的標準。在設定完成後，系統就會優先使用Noto Sans來顯示界面文字了。\n1. 了解Linux常用的中文字型 # 使用fc-list指令列出系統安裝的字型。\n","title":"fontconfig調整Linux中文預設字型的優先順序，修正字型模糊、Emoji亂碼的問題","type":"posts"},{"content":" 先來一句暴論：\n身為夢男/夢女，如果看本子是在享受虛擬性愛，那麼跟「不認識」的女孩做愛，就只是在幹妓女而已。\n今天看到了《我不受歡迎，怎麼想都是你們的錯！》的難得優質二創圖。\n這部動畫的原始畫風是這樣恐怖的。作為喪女，圖中的她正在進行性幻想。 但在繪師まー九郎的筆下，畫出了超色的孕肚圖！！ 每次發現有人畫了畫風極好的18禁二創圖，都止不住像下圖一樣興奮的感覺：我追求的就是這個啊！ 勇者様御一行 ATTACK ON MIKASA\n在讓我硬爆的同時想到了個問題。二創本為什麼吸引人？如果看的不是二創本，原創本角色你硬的起來嗎？\n二創圖可以延伸到二創同人本身上。看H漫的時候，通常不是看二創本（同人誌）就是看原創本（漫畫月刊）吧？\n此處把二創的媒介限縮為二創同人本，當然，是18禁的。\n讓我們先從一個完全毀原作的MV開始。 動畫把情人關係的歌曲變成了描述對動漫人偶的愛戀，歌詞唱著：\n藏在我心中的那些美麗的慾望，不說不代表不想\n我覺得很好的解釋了十八禁二創的本質了。我對動漫角色純潔的愛，經不起Rule34的考驗。\n1. 為何十八禁二創本吸引人 # 二創作品之所以新引人，乃在滿足個人心中對作品的想法，不論是昇華，還是單純有奇怪的妄想。\n在《同人、二創、腦補都很好，我給創作者的良心建議就是不要去干涉粉絲圈》一文中，作者指出：\n如果你允許粉絲自由參與你創造的一部分世界，他們就能把你的創作帶到一個你意想不到的境界。\n二創作品有時能幫忙打人氣啊，比如我有一部分原因是看很多《艦隊Collection》的本子才入坑遊戲本家，沈迷到現在的。玩遊戲不論高興還是痛苦的時候，總有數不完的本子能看，沉溺在遊戲設定的故事當中。\n記得Reddit有個中文sub叫做r/Youmo，炸掉之前有默友在討論二次元話題，好像又在評價二次元爛褲襠有哪些女孩，然後就講到了10年前的幾位人氣女角：零之使魔的露易絲、涼宮春日、灼眼的夏娜。嗨呀中國人跟台灣人的回憶有共通之處啊，這些我剛好都看過。有默友說：你想操她們的批，我看你怕不是只有被騎的份。如果要幻想哪位表番的女角在床上的做愛風格如何，看二創繪師的作品應該也可以略知一二吧！很多「本子提督」「本子指揮官」就是這樣來的。不過現在是越來越不準了，因為表番的萌屬性過於公式化，有些二創索性打破原作設定：誰說平胸女孩一定要傲嬌？誰說巨乳就一定溫柔？諸如此類的設定。不過其實還是希望照著原作的設定走會比較好發揮吧。\n在看同人本的時候，很多人最期待的，就是看二創作者會在色情作品中，把這個角色變成怎樣的下流樣子。\n看原作的時候，會有好欣賞她的樣子，那漂亮的臉蛋和身材，讓人產生景仰，迷上她的樣子。 而一旦有人畫二創本，就能讓原始角色崩壞程度達100%。\n這裡假定該作品官方對二創放很寬，不是《賽馬娘》那種只允許健全二創的，創作者可以完全依照任何想法創作的，把女的畫成男的也可以。\n在R18繪師的筆下，一個清純的女子可以馬上變成婊子，一個剛毅的女子可以變成便器，一個嚴肅的女子可以被人踩在腳底下。圖源 各式各樣的可能都有。看到二創本，讓人驚呼原作包緊緊在制服底下的，原來是這樣的奢靡淫蕩樣。\n原來這個女人另一面這樣的下賤 —— —— 當然，多半是二創者的幻想。\n不過，若二創本的女孩是不認識的角色，那麼實用度會大大降低吧。這會出現類似單行本的角色塑造的情況（見下文）\n跟不認識的女孩做愛，就只是在幹妓女而已，容易缺乏情感投射，沒有愛的感覺。所以，挑對本子很重要。\n一個同人誌作者出本除了滿足自己的欲望，當然也希望跟同好分享。\n這個時候讀者看到色圖的感想會如何呢？心中的黑暗馬上佔據身軀，玷污她的時刻總算來到。紛紛的說老師好厲害，射爆了！\n少數道德邊緣掙扎的，反而會開罵，認為是毀原作，破壞妄想。\n比如，我真的看過在彌豆子的Pixiv圖留言罵作者的，不要玷污我的女神，犯法了你知道嗎。怕不是小學生，不知道網路險惡。 另一種的是戰CP的，認為二創者設定不尊重圈子文化的，也能在社群媒體吵起來。\n還有故意惡整人的二創，比方說抹黑特定人士、為特定意識形態代言，(C89) [アーカイブ (へち)] http://d99.biz/arc2/ (ニューゲーム!)就是個好例子。 但一般來說如果不是太過分的二創，純粹的「色情」沒有人會無聊到去戰道德不道德的。\n有的二創者是抱持跟風的心態去畫圖的，「或許」根本沒看過原作，不知道角色個性，但憑借多年經驗，瞬間就能產出高品質色圖。這樣的話，同樣能吸引到人吹捧。 https://www.pixiv.net/users/8252709/illustrations\n論R18本的用途，就是滿足性慾。那麼有沒有尊重原作，誰在乎？畫得夠色就行了。\n當然還是有很多錦上添花的二創作品。讀過原作再畫二創效果往往更好，巧妙的在二創中運用原有故事元素，這有助於讓熟悉原作的讀者會心一笑，既滿足二創幻想也豐富了原本的故事。 320BPM ガールズ\u0026amp;チンポァー\n2. 有可能對沒脫衣的二次元角色尻嗎？ # 這是我突然想到的話題。既然那麼喜歡二創角色，有可能不需要誇張的H圖，也能對原作或者版權圖繪的一般的圖片硬起來嗎？\n如果行的話，我右鍵存的圖庫就不會幾乎找不到這種圖了啦！\n雌性吸引雄性的特色，不外乎就是乳房、屁股、腹部、手、腿這些有肌膚的部位，實在很難看臉就用，包緊緊的也不行，又不是戀物癖。\n又不是真正有這個二次元人物存在（你說什麼？想決鬥嗎？），僅僅提供一張普通的角色私服照，很難因為愛慕思戀之情就射出來。那個屬於是超級的角色廚才做得到的事吧。\n不過，只要有引起性慾的要素其實就是相對容易下屌的了。很多作品不需要二創，原本的動畫或者官方繪圖就會許多夠養眼的素材了。通常動畫本身是肉番的素材較多，但也有一般向的番，冷不防的就突然來個大福利的。\n「如果那麼愛看奶子，何不把頭砍掉只留下一對胸部，反正不是隨便一個女人只要有大奶就好了嗎？就跟凱留一樣，才不管誰，只要換個頭有奶子就行。」\n「那就真的變成『物』化女性了。」\n「不，這是JM帝國。」\n「同樣的想法，反正只愛大屌，何不把男人的那張賤嘴給斬了，只管滿足性慾就好。」\n「絕配！滿足男性凝視的物件竟比女性凝視的東西要高？」\n「現在總算知道為何假胸部也能有市場了。」\n「為何男人只在意女人身體，女人只在意男人的嘴呢？」\n「都是抄咱永樂大典\u0026hellip;漢朝的，你看人彘還不比朝凪的人肉飛機杯先進幾千年？」\n「到頭來，人心還是最重要的，沒有眼神，再好的身材也沒用。」\n「不可雕刻偶像，也不可仿造上天、下地和地面以下水裡任何東西的形象。不可跪拜偶像，也不可受引誘去事奉偶像，因為我耶和華你的上帝，是要求專一愛戴的上帝。阿們。」\n好像講遠了\u0026hellip;回到正題。如何挑逗引起性慾？很簡單，隨便一張乳溝照就行了。雄性是簡單的視覺生物，看到奶子第一千次還是會兩眼發光。有時候根本不用露出三點，只要穿著情趣內衣就夠讓人用好幾百次了。\n就如《Fate/kaleid liner 魔法少女☆伊莉雅》系列的露維亞，特典動畫才有的畫面，誇張的大胸部，驕傲的眼神，還有充滿誘惑的紫色內衣，非常的吸引人。又因為這個角色的二創較少，我很難找到實用和畫面完美程度超過官方原作的www 就算有人製作了剥ぎコラ，實用度反而降低了呢。 另外一個顯著的例子，《輝夜姬想讓人告白～天才們的戀愛頭腦戰》的OVA，藤原千花的大奶子，這個視角是沒有人能超越的名場面！ 再舉屁股的例子，不用露也夠挑起人的性慾了。這張圖片應該是很好的範本，不知道為何Pixiv原圖不太紅的樣子。Fate角色大中小雌性的屁股叠在一起，讓人挑選要上哪一位，要上肥臀的還是緊實屁股蛋的呢，真難抉擇。 得羞恥的承認，這樣把女人性慾化、物化，還是對父權的輸誠，可是難道虛擬的對象也要管嗎？\n小結，有時候二創與原作的品質是不分上下的。\n3. 原創漫畫單行本的價值 # 現在我們得到了一個假說：二創本滿足人們對作品的幻想。\n原創本（漫畫單行本、月刊）的價值又能在哪裡呢？沒有人知道你是誰，作品角色也沒有人氣，哪裡可以佔優勢？\n這裡假設：一個原創本跟二創本，題材故事類似，都是純愛好了。\n你會想看自己稱為老婆的角色跟主角接吻，還是看不知道哪來的女子在那邊跟你不認識的角色你儂我儂？\n是的，帶入感很重要。\n對愛看二創本的人而言，原創本只能依靠有趣的故事，樹立風格。這樣的話遠比單單塑造一個角色讓人記住要來的容易。\n例如[新堂エル] 新堂エルの文化人類学承襲老師過去一貫的風格，特別的故事跟《變身》單行本一樣可以讓人記住他的風格。 劇情過於複雜的小紅帽[ro] おおかみと赤ずきん系列，小蘿莉很好用的同時（？），永遠沒有下一集的懸念漫畫，就讓我忘記不了。 還有幹殭屍的本子[わなお] ゾンビエロ漫画 後藤寿庵善於描寫情竇初開的樣貌，比如雨後小故事Sister Love，讓人記住這些經典之作。 縱使人們不會記住主角的名字（畫原創本的角色通常是一次性的，可能以後都不會再出現一樣名字）\n他們也會記住作者風格，讓作者有了品牌價值，從而讓原創本在讀者心中有自己的獨特位置。\n","date":"2025年3月25日","externalUrl":null,"permalink":"/posts/why-are-we-fascinated-by-r18-derivative-arts/","section":"Nsfws","summary":" 先來一句暴論：\n身為夢男/夢女，如果看本子是在享受虛擬性愛，那麼跟「不認識」的女孩做愛，就只是在幹妓女而已。\n今天看到了《我不受歡迎，怎麼想都是你們的錯！》的難得優質二創圖。\n這部動畫的原始畫風是這樣恐怖的。作為喪女，圖中的她正在進行性幻想。 但在繪師まー九郎的筆下，畫出了超色的孕肚圖！！ 每次發現有人畫了畫風極好的18禁二創圖，都止不住像下圖一樣興奮的感覺：我追求的就是這個啊！ 勇者様御一行 ATTACK ON MIKASA\n在讓我硬爆的同時想到了個問題。二創本為什麼吸引人？如果看的不是二創本，原創本角色你硬的起來嗎？\n二創圖可以延伸到二創同人本身上。看H漫的時候，通常不是看二創本（同人誌）就是看原創本（漫畫月刊）吧？\n此處把二創的媒介限縮為二創同人本，當然，是18禁的。\n","title":"看H漫時，喜歡二創同人本還是原創漫畫單行本？","type":"nsfw"},{"content":" Nyaa怎麼用？分享免費動漫下載網站使用指南，包括下載種子方式，還有搜尋技巧。\nNyaa（暱稱「喵站」）是一個專門分享動漫資源種子的網站，全部資源由用戶上傳。 人們在Nyaa分享的內容主要為：日本動畫、原聲帶、真人電影、漫畫、同人誌、遊戲、裏番等資源。用戶會提供多種檔案大小供你下載，可以說這裡能找到許多高品質的動漫資源。\n另有一個專門上傳AV的子網站，叫做Sukebei Nyaa。\n因為太有名，所以網站被封好幾次，網址可能會隨時變化，不過Google搜尋依然找得到，打下去第一個跳出來的通常就是Nyaa網站了，或者以維基百科提供的網址為準。\n1. 準備BT種子客戶端 # Nyaa本身不託管任何檔案，僅提供BT種子或磁力連結，依賴P2P機制分享檔案。因此，你需要下載BT種子的客戶端。\n推薦使用qBittorrent，開源免費，安全無毒。這個軟體支援Linux、Windows、macOS系統。到qBittorrent官網下載安裝。這個軟體另外可以用LinuxServer的Docker映像檔部署到伺服器，見Sonarr自動追番系統建置教學\n為提高種子下載速度，建議在qBittorrent新增追蹤器，譬如XIU2/TrackersListCollection。\n要提高下載速度，建議在路由器啟用通訊埠轉發(port forwarding)，或者搭配VPN使用通訊埠轉發。\n2. 準備VPN與通訊埠轉發 # 雖然非必要步驟，但還是建議買個付費VPN。因為qBittorrent是P2P軟體，下載BT種子的同時就會進行上傳的動作。VPN能降低風險。\n推薦使用支援「port forwarding」的VPN供應商，方便做種。目前有提供port forwarding功能的VPN供應商有ProtonVPN、AirVPN、IVPN等等。\n讓電腦連上VPN之後，開啟qBittorrent，點選工具 → 選項 → 連線，將通訊埠設定為VPN供應商提供的通訊埠。 3. 如何下載Nyaa網站的種子 # 註冊帳號才可以分享種子。若只是要下載Nyaa資源，不需要註冊帳號。\n下載Nyaa網站資源的最簡單方式，就是點選Download Torrent或者Copy Magnet Link 按Download TorrentN預設會導向網頁版BT程式，不要在這裡下載。點右上角Save .torrent file 點qBittorrent左上角，將.torrent檔案上傳，開始下載。 下載完成後可以自行決定要不要做種，共享給他人。不然就右鍵點選，從任務列表中移除。\n如果要在qBitorrent裡面直接搜尋Nyaa的種子：\n到https://github.com/MadeOfMagicAndWires/qBit-plugins下載nyaasi.py檔案，依照作業系統放置路徑：\nLinux: ~/.local/share/data/qBittorrent/nova/engines/nyaasi.py macOS: ~/Library/Application Support/qBittorrent/nova/engines/nyaasi.py Windows: C:\\Users\\使用者名稱\\Local Settings\\Application Data\\qBittorrent\\nova\\engines\\nyaasi.py 點選qBittorrent右上角的搜尋 → 搜尋附加元件，安裝附加元件，貼上路徑。這樣就能在軟體裡面搜尋Nyaa站上的種子了。 qBittorrent也支援訂閱Nyaa的RSS更新，在其他用戶上傳新種子之後自動依照規則開始下載。\n點選qBittorrent上方的工具 → 選項 → RSS，將以下選項都打勾。然後這裡可以設定要抓取的規則，譬如含有特定字串的種子就自動下載。 點qBittorrent右上角的RSS，點新訂閱，輸入RSS網址https://nyaa.si/?page=rss。 4. Nyaa種子搜尋技巧 # 我用Nyaa下載動畫比較多，所以講動畫的部分。\nNyaa的搜尋列表左方用顏色表示這個資源是生肉(raw)還是熟肉(subbed)。\n另外，列表中也有紅色和綠色的區分。 整條都是綠色框框的代表這個是受信任的用戶，常常上傳高品質資源。通常綠色框框的是原始未壓縮過的版本，檔案很大。\n整條都是紅色框框代表用戶上傳的資源有經過重新編碼，檔案較小但是品質也變差了。\n白色框框即一般用戶上傳的資源。\n接著介紹一下怎麼判讀Nyaa資源的標題，通常標題的內容為：\n[發表種子的作者] [作品名稱] [季數] [集數] [片源] [畫質] [影片編碼] [音訊編碼] [字幕語言]\n在Nyaa搜尋動畫的時候建議用日文標題或者英文標題。如果你不知道動漫的日文標題為何，可以到維基百科或者MyAnimeList找。\n如果一部動畫有很多人上傳，要選擇哪一個版本呢？\n通常我是依照做種人數和檔案大小下去做選擇。\n搜尋的時候有一個重要指標，注意畫面右側，綠色的seeder（上箭頭）和紅色的leecher（下箭頭）數值，點一下箭頭能夠依照做種人數排序。seeder代表做種數量，leecher則是下載人數，這二個數值裡面其中一個大於0的才有機會下載，越多人做種下載速度就越快。反之如果都是0的話種子是完全不會動的！ 關於檔案大小部分，現在的動畫一般都是1080p。至於片源，以BD（藍光光碟擷取）的為最好品質，WebDL（從串流網站下載）的次之。太新的動畫只會有WebDL，要等幾個月官方BD發售後才會有資源。\n通常一季12集的動畫，BD擷取的原始檔案都會超過50GB以上。各位收藏家肯定是想要下載原始畫質的版本對吧？不過，考量到硬碟空間佔用，實務上其實沒有必要下載原始畫質的版本。多半是會選壓縮過的。現時最流行的編碼器是H.265(HEVC)或者AV1，搭配10bit，用這些編碼的影片檔案大小會小很多，原本50GB的檔案能壓縮到10GB以下。且品質又不會損失太多。所以下載前我都會瞄一下檔案大小，確認不要太過於龐大才開始下載。\n最後，關於資源字幕，Nyaa有中文和英文字幕的，後者較多，且多半是內嵌在.mkv內部的字幕。這個能夠透過播放器開關。 影片範例：可關式字幕\nNyaa的BD資源亦常常見到英文配音的版本，畢竟是當地發行版的藍光。這個同樣能用播放器切換音軌，改回日文。\n我個人是覺得不一定要選中文字幕的資源，因為很多漢化組都會另外發表.ass字幕檔，手動下載再用播放器載入就好了。\nNyaa的優勢就是提供高品質影片資源，然後中文字幕再另外處理就好了。\n","date":"2025年3月24日","externalUrl":null,"permalink":"/posts/nyaa-introduction/","section":"所有文章","summary":" Nyaa怎麼用？分享免費動漫下載網站使用指南，包括下載種子方式，還有搜尋技巧。\nNyaa（暱稱「喵站」）是一個專門分享動漫資源種子的網站，全部資源由用戶上傳。 人們在Nyaa分享的內容主要為：日本動畫、原聲帶、真人電影、漫畫、同人誌、遊戲、裏番等資源。用戶會提供多種檔案大小供你下載，可以說這裡能找到許多高品質的動漫資源。\n另有一個專門上傳AV的子網站，叫做Sukebei Nyaa。\n因為太有名，所以網站被封好幾次，網址可能會隨時變化，不過Google搜尋依然找得到，打下去第一個跳出來的通常就是Nyaa網站了，或者以維基百科提供的網址為準。\n1. 準備BT種子客戶端 # Nyaa本身不託管任何檔案，僅提供BT種子或磁力連結，依賴P2P機制分享檔案。因此，你需要下載BT種子的客戶端。\n推薦使用qBittorrent，開源免費，安全無毒。這個軟體支援Linux、Windows、macOS系統。到qBittorrent官網下載安裝。這個軟體另外可以用LinuxServer的Docker映像檔部署到伺服器，見Sonarr自動追番系統建置教學\n為提高種子下載速度，建議在qBittorrent新增追蹤器，譬如XIU2/TrackersListCollection。\n要提高下載速度，建議在路由器啟用通訊埠轉發(port forwarding)，或者搭配VPN使用通訊埠轉發。\n","title":"Nyaa網站使用指南，免費下載動漫BT種子的資源站","type":"posts"},{"content":"我一直喜歡嘗試能夠自由組合想法的開源筆記軟體，除了要有Markdown的格式化輸入以外，還要能夠像OneNote自由排序筆記內容，將其圖像化的，可以寫字。\nAFFiNE就是這樣一款滿足各種需求的軟體。 一句話回答你為什麼選擇AFFiNE：它有網頁版，還能在自由延展的畫布上手寫筆記，不受平台限制。勝過許多開源與閉源筆記軟體。\n客戶端方面，AFFiNE支援Linux、Windows、macOS、Android、iOS系統。官方還提供網頁版，達成全平台支援。\nAFFiNE越來越好了，經過這幾年的開發，現在已經可以透過一個docker-compose部署同步伺服器了。透過瀏覽器便能存取架在自己伺服器上的AFFiNE網頁版，所以即使沒有安裝客戶端APP也能夠使用。\n注意：AFFiNE尚在積極開發中，本文講到的功能細節未來可能隨時會變更。一切以Github的最新原始碼為主。\n1. 引言：AFFiNE的定位 # Ivon常用的筆記軟體是Joplin，適合用Markdown隨手紀錄事情，寫一些私人筆記。Joplin亦有手寫筆記的功能。\n我不把AFFiNE當成Joplin一樣的東西看待，實際使用幾個月下來，AFFiNE應該是更偏向「工作」「學習」用途的筆記軟體，是知識管理系統(PKMS)，適合處理大的東西，例如規劃長期專案方向、撰寫教學進度、整理學習筆記等等。但是要簡單打點個人筆記，日後再po到部落格，就不會用AFFiNE，整理實在太累了。\n因為AFFiNE自稱「knowledgeOS」，是整合許多軟體功能的筆記軟體，所以功能非常之繁雜，需要按照自己的需求來調整，不然會用得很慌亂。且開發工作仍然在不斷進行中，未來功能可能會變化，所以Ivon這裡僅簡單講述AFFiNE的重點功能。算是我自己的使用筆記。\n2. 如何安裝AFFiNE # 可以選擇使用AFFiNE網頁版，或者下載客戶端。\n到AFFiNE官網下載電腦版客戶端，支援Linux、Windows、macOS、Android、iOS系統。\n或者到這裡使用網頁版：https://app.affine.pro 網頁版跟電腦版客戶端版功能是差不多的。因為AFFiNE使用Web技術開發，電腦版客戶端頂多就是個封裝而已。兩種版本的差別大概就是電腦客戶端能夠 離線使用 ，資料會備份到本機，不怕AFFiNE官方雲端出問題導致完全無法存取筆記。\n網頁版和電腦版都可以利用瀏覽器分頁的方式，同時編輯多個記事。\n至於AFFiNE手機版APP，不論螢幕大小，都是以一個精簡的行動版界面呈現，功能比網頁版少，算是為了觸控操作所做出的取捨吧。 對於Android平板或iPad用戶，可以考慮直接用瀏覽器開網頁版。\nAFFiNE網頁版比較適合平板使用，可以使用手寫筆畫畫，觸控輸入勉強能用，編輯表格比較棘手，有時還是需要搭配鍵盤使用。\n3. 設定雲端同步AFFiNE筆記 # AFFiNE不需要註冊就可以使用，但資料就只會存在本機。建議點左上角啟用雲端同步功能。 AFFiNE為開源軟體，可使用AFFiNE公司提供的雲端，或者自架同步伺服器，確保資料都在自己手上。\n使用AFFiNE Cloud # AFFiNE公司總部位於新加坡。\n使用官方AFFiNE Cloud，10GB免費空間，有附檔大小限制。最多3個人協作。\n官方提供付費方案解鎖更多功能，AI助手需要另外付費。\n自架AFFiNE伺服器 # 你可以Self-hosted AFFiNE伺服器 + AFFiNE網頁版，並在同步資料的界面選取自己架設的AFFiNE伺服器。\n在自架的伺服器裡面會顯示為「AFFiNE Cloud」，但其實跟官方的無關。\n用Docker部署之後就可以透過瀏覽器存取AFFiNE網頁版了，參考：Self-host AFFiNE - Install the self-host version of AFFiNE\n可能是盈利考量，自架的伺服器竟然還有容量限制。根據這個issue，即使使用自架的伺服器，依然有10GB容量、附檔大小、最多3位協作者的限制。開發者說未來會移除，目前得手動改資料庫數值解除限制。AFFiNE內建的AI網址預設是使用Copilot，不過可以改JavaScript內容，使其存取離線運作的Ollama。\n4. AFFiNE功能介紹 # 工作區 (Workspace) # 位於左上角，一個AFFiNE帳號下可以有多個工作區。\n用來區分任務用途，例如應該給「學習」「工作」建立不同的工作區。\n一個工作區包含所有頁面和白板。\n工作區之間資料不互通。\n頁面 (Page) # 頁面分為一般「頁面」還有「日記」，後者會顯示在月曆界面。 使用AFFiNE的時候，不要想著依賴資料夾來分類頁面，這不是AFFiNE的強項，這跟傳統的筆記軟體是不一樣的整理邏輯。你不應該過份依賴檔案系統的整理模式，而是應該做一些「目錄」頁面，再利用標籤與分類機制來搜尋筆記。利用每個頁面都能夠互相連結的原理，高效率存取筆記。\n每個頁面一個都有自己的白板。\n頁面和白板目前是獨立的，要開啟實驗性功能，勾選「高級區塊可見性控制」，才能勾選Show Both，才會在頁面與白板頁面都顯示同一個區塊。\n沒辦法從頁面指定哪些要成為白板中的方格，而是要在白板拖曳。\n頁面支援新增標籤，方便分類。還可以增加屬性，有點類似標籤功能，但內容更為自由，可以是字串，或者是數值。\n打字的時候輸入/，印出可用的操作。\n不喜歡用點的，也可以用Markdown語法快速裝飾筆記內容。AFFiNE允許匯入Markdown格式的筆記。\nAFFiNE能夠匯入預先製作好的模板(template)，快速產出筆記版面。\n筆記裡面每一行都是一個方塊，能夠自由拖曳移動位置。但AFFiNE頁面是一直線打字下來的，不能左右移動排版。需要自由排版的請切換到「白板」模式。\n嵌入的檔案，圖片和PDF文件可以在裡面預覽。\nAFFiNE無法新增指向實體硬碟檔案的捷徑。所以檔案上傳後，就只能在下載之後編輯。\n輸入@引用其他筆記，加入反向連結。可以插入在頁面中間引用，或者在白板裡面加入。\n白板 (Edgeless) # 「白板」官方名稱叫做「無界」，是允許自由排版的頁面模式，畫布會自動延伸。我比較喜歡叫它白板。\n點選頁面左上角按鈕切換。 如果在頁面一直線打字下來，所有的文字會變成一個區塊。\n拖曳區塊內的文字段落的前端，可以把那一段獨立出來，變成另一個區塊。\n白板每個區塊能夠用箭頭連線，製作流程圖。\n白板的區塊都能夠選取，任意移動。\n用滑鼠將多個元素框起來，變成Group，方便一同移動。\n用滑鼠將白板的元素框起來，變成Frame，就能將白板的內容轉成一張張投影片。設定好順序之後，點右上角開始進行簡報。\n白板支援觸控筆輸入，能夠在上面寫字。\n白板支援插入心智圖、看板圖、貼圖。從頁面製作再切換到白板顯示也可以。\n頁面和白板目前是獨立的，要在設定裡面開啟實驗性功能，並勾選「高級區塊可見性控制」，勾選Show Both，才會在頁面與白板頁面都顯示同一個區塊。\n雖然AFFiNE支援匯入PDF，不過目前是以PDF.js的方式預覽的。如果要把PDF當作白板，在上面寫字，那麼得用其他軟體將PDF轉成圖片檔，再匯入比較好。\n將匯入的圖片或者元件鎖定，可以防止在上面寫字用橡皮擦的時候不小心刪掉元素。\n目前AFFiNE還沒辦法建立多個頁面的知識關聯圖，所以只能用插入反向連結的方式，搭配白板來手動繪製關聯圖。\n日記 (Journal) # 同樣具有頁面與白板功能。 標題固定為該日日期。\n左側月曆的界面會顯示哪些日子有建立筆記，還有更新時間。\n什麼時候使用：預先規劃每日的待辦事項，或者將今天的工作事項打下來。\n資料庫 (Database) # 其實就是一個表格。\n目前的AFFiNE表格只能切換為「表格檢視」與「看板檢視」。感覺問題有點多，兩個模式互相轉換，資料會亂掉。\n表格檢視用於整理資料。\n看板檢視適合查看待辦事項，卡片能夠拖曳。\n如果需要月曆檢視，請暫時先用AFFiNE畫面右側的月曆面板。\n表格裡面的屬性可以是文字、圖片、勾選方塊、進度條、完成狀態、連結、日期、標籤\n只有表格第一列的文字可以點選展開編輯器，並加入其他頁面的反向連結。\n收藏夾、組織、收藏集、標籤 # AFFiNE左側的功能介紹。 中文翻成這樣，真的很容易讓人搞混，不妨把左側的這些功能都當成「搜尋篩選器」就好了。\n收藏夾(Favorites)： 星標\n什麼時候使用：有重要事項要pin起來的時候。或者將pin起來的頁面當作「總目錄」使用。\n組織(Organize)： 資料夾\n什麼時候使用：單純要把一系列頁面蒐集在一起的時候。\n收藏集(Collections)： 依照規則自動新增的資料夾\n什麼時候使用：讓頁面能依照屬性自動進到這裡，而不用手動整理。\n例如在寫日記的時候加上「進行中」標籤，該頁面就會自動進入此處。或者，設定篩選規則為「建立時間大於三個月以前」的頁面，就自動進入「封存」的收藏集。\n標籤(Tags)： 給頁面加上分類用的依據。\n使用模板 (Template) # 官網有Template下載：https://affine.pro/templates，點選跳轉到自己的AFFiNE頁面，匯入便能使用。\n如果要分享：AFFiNE的頁面格式檔案是一個zip檔，裡面是一個叫做.affine的閉源資料格式，應該是可以匯出分享的。將模板匯入到自己的工作區，然後點選匯出，格式選取「快照」，就能共享給他人使用。\n公開分享AFFiNE的筆記網頁 # 使用AFFiNE Cloud的時候，可以將一個頁面或者白板，建立公開連結，讓沒有帳號的人存取該頁面內容。 結合白板的簡報功能，便能在公開演講場合存取自己帳號的簡報，無需登入。檢視這個頁面的人能夠看到後續的變更。\n我有嘗試看看能不能直播白板繪製過程，也就是說一個瀏覽器檢視共享的畫面，然後我再於另一部裝置繪圖。結果是沒辦法，我之後所做的變更要重新整理頁面才會看到。\n匯出AFFiNE格式 # AFFiNE支援匯出為Markdown格式的純文字檔案，或是HTML。\n如果要完整保留AFFiNE的頁面和白板，需要匯出為「快照」。\n多人協作 # 與另外一個帳號一同編輯。\nAFFiNE允許分享整個工作區或是單一頁面。\n","date":"2025年3月23日","externalUrl":null,"permalink":"/posts/affine-ai-introduction/","section":"所有文章","summary":"我一直喜歡嘗試能夠自由組合想法的開源筆記軟體，除了要有Markdown的格式化輸入以外，還要能夠像OneNote自由排序筆記內容，將其圖像化的，可以寫字。\nAFFiNE就是這樣一款滿足各種需求的軟體。 一句話回答你為什麼選擇AFFiNE：它有網頁版，還能在自由延展的畫布上手寫筆記，不受平台限制。勝過許多開源與閉源筆記軟體。\n客戶端方面，AFFiNE支援Linux、Windows、macOS、Android、iOS系統。官方還提供網頁版，達成全平台支援。\nAFFiNE越來越好了，經過這幾年的開發，現在已經可以透過一個docker-compose部署同步伺服器了。透過瀏覽器便能存取架在自己伺服器上的AFFiNE網頁版，所以即使沒有安裝客戶端APP也能夠使用。\n注意：AFFiNE尚在積極開發中，本文講到的功能細節未來可能隨時會變更。一切以Github的最新原始碼為主。\n1. 引言：AFFiNE的定位 # Ivon常用的筆記軟體是Joplin，適合用Markdown隨手紀錄事情，寫一些私人筆記。Joplin亦有手寫筆記的功能。\n我不把AFFiNE當成Joplin一樣的東西看待，實際使用幾個月下來，AFFiNE應該是更偏向「工作」「學習」用途的筆記軟體，是知識管理系統(PKMS)，適合處理大的東西，例如規劃長期專案方向、撰寫教學進度、整理學習筆記等等。但是要簡單打點個人筆記，日後再po到部落格，就不會用AFFiNE，整理實在太累了。\n","title":"AFFiNE筆記軟體使用心得，Markdown筆記＋自由繪製的畫布！","type":"posts"},{"content":"","date":"2025年3月23日","externalUrl":null,"permalink":"/tags/note-taking/","section":"標籤","summary":"","title":"Note Taking","type":"tags"},{"content":"什麼是Desktop Entry呢？中文可以稱作「應用程式捷徑」，它是構成Linux桌面環境的基本元素之一，以.desktop作為附檔名結尾。\n很多Windows用戶有這種經驗吧，程式安裝後會自動在桌面建立捷徑，點一下就能夠啟動程式。刪掉捷徑，卻不會刪掉程式本體。Linux也有類似的東西，那就是Desktop Entry。\n基本上，只要你有使用Linux桌面，每天都會看到各式各樣的Desktop Entry圖示。 使用檔案管理器檢視Linux系統目錄的Desktop Entry\n大部分的Linux桌面環境都遵守Freedesktop.org制定的Desktop Entry標準，使之能顯示在桌面上與使用者互動。\n下文Ivon簡介Desktop Entry的用途，還有基本格式，搭配實例解說。\n1. 為什麼需要Desktop Entry？ # 試想一下，你在桌面點一下啟動Firefox圖示，就會開啟Firefox瀏覽器。而實際上你是透過位於/usr/share/applications/firefox.desktop的檔案，間接啟動背後的二進位檔/usr/bin/firefox的。\n為什麼我們不要直接執行程式的二進位檔就好了？通常Linux套件管理器安裝軟體的時候，會將二進位檔放到系統目錄，隨之安裝的還有Desktop Entry。接著桌面的應用程式列表/選單便會顯示該應用程式的圖示。\nDesktop Entry並非應用程式本體，它比較像是一個啟動器，裡面定義了啟動應用程式的參數、桌面圖示、右鍵選單、多語言名稱的資訊。透過Desktop Entry，使用者能夠更直覺的啟動軟體，而不用頻繁使用指令。\n如果把透過Desktop Entry啟動程式的過程繪製為圖片，那麼內容應該是長這樣的： 要是沒有Desktop Entry，使用者啟動程式可能就得這樣做： 我們不是原始人！\nDesktop Entry的標準，也能改善桌面環境彼此之間的互通性，以下內容摘自Freedesktop.org官網：\nKDE Plasma 和 GNOME 桌面環境都採用了類似的格式來處理「桌面項目」，即用於描述特定程式如何啟動、如何在選單中顯示等的配置文件。為了更廣泛的社群利益，各方應達成統一標準，這樣不僅可以簡化這兩個環境之間的互通性，還能讓任何實施該規範的額外環境更容易相容。\n基本上GNOME和KDE Plasma都遵守Freedesktop.org提出的Deskop Entry標準，規定一個.desktop檔案裡面要有哪些項目。不過也有自家另外定義的標準，這端看應用程式開發者要不要支援了。\nXFCE、Cinnamon、LXQT等其他桌面理應也遵守Desktop Entry標準。\n2. Desktop Entry會用在什麼地方？ # 幾乎每個圖形化程式都會在套件安裝後自動建立Desktop Entry，讓使用者可以點選圖示啟動。 例如GNOME的應用程式列表，上面的圖示全都是Desktop Entry。 還有KDE Plasma的應用程式列表，會依照Desktop Entry檔案定義的應用程式類別進行分類。 當然，使用者也可以自己新增Desktop Entry，啟動特定的二進位檔(binary)或者指令稿(script)。\n允許使用者傳遞不同的參數，修改應用程式啟動後的行為。譬如，向Firefox傳遞-P \u0026quot;profile_name\u0026quot;參數，可以用不同的設定檔啟動Firefox。\n將Desktop Entry放到桌面的話，即為新增桌面捷徑。雖然Desktop Entry有捷徑的功用，但它跟ln指令還是不一樣的東西。\n修改開啟特定檔案格式的預設程式，參見XDG MIME Applications。不需要寫死應用程式的二進位檔路徑，而是透過xdg-open指令，執行Desktop Entry，用特定的應用程式開啟檔案。Desktop Entry也能夠定義該程式能用來開啟哪些格式的檔案。\n讓程式開機自動啟動，參見XDG Autostart。Desktop Entry比較適合用來啟動圖形化程式，純文字執行的建議用Systemd。\n3. Desktop Entry有效路徑 # 雖然Desktop Entry可以單獨存在，想放在哪個路徑都可以，但是若要顯示在桌面環境，就必須放到指定位置。\n認識「有效路徑」的概念，放到這裡的Desktop Entry，才會被桌面環境讀取到，並顯示在應用程式列表。\n就以Ubuntu系統來說，Desktop Entry可能的目錄有以下幾個，才能夠顯示在桌面的應用程式列表：\n/usr/share/applications → 系統套件管理員安裝的程式 /usr/local/share/applications → 使用者自行安裝到系統目錄的程式 ~/.local/share/applications → 使用者安裝到自身家目錄的程式 /var/lib/flatpak/exports/share/applications → Flatpak套件 ~/.local/share/flatpak/exports/share/applications → Flatpak套件 /var/lib/snapd/desktop/applications → Snap套件 常用的是前三個。\n4. Desktop Entry寫法，以自訂Firefox為例 # Deskop Entry規定了應用程式的啟動方式。通常套件管理器安裝軟體的時候會一併建立Desktop Entry。例如執行apt install firefox，從.deb檔解出二進位檔放到/usr/bin/firefox，並將Desktop Entry放到/usr/share/applications/firefox.desktop。然後桌面的應用程式列表就會顯示Firefox。\n正如我上面說的，使用者可以編輯現有的Desktop Entry，或者新創一個。老實說，編輯現有的Desktop Entry不是很建議的作法，因為很容易跟著系統更新而被套件管理器覆蓋掉。比較好的方法是複製一份，或者從頭寫一個Desktop Entry。\n比如，我想要建立一個啟動Fifrefox後以personal設定檔啟動的Desktop Entry，那麼我就得先複製一個Desktop Entry，接著修改內容。\n執行firefox -P指令，新增一個叫做personal的Firefox設定檔。\n將Firefox的Desktop Entry複製到使用者目錄，建立一個firefox-custom.desktop檔案。我這裡複製到~/.local/share/applications/是要讓它能夠顯示在桌面的應用程式列表。你也可以把它複製到~/Desktop，只顯示在桌面。\ncp /usr/share/applications/firefox.desktop \\ ~/.local/share/applications/firefox-custom.desktop 編輯firefox-custom.desktop裡面的內容。 vim ~/.local/share/applications/firefox-custom.desktop 如何修改Desktop Entry呢？實際上Freedesktop.org定義的可以用的選項很多，講幾個比較重要的。下表標示「必要」的項目表示Deskop Entry必須含有該鍵值。 鍵 用途 必要 Version Deskp Entry標準的版本，不是應用程式版本。雖然不是必要項目，但還是建議註明 否 Type 決定這個是應用程式(Application)、網頁連結(Link)還是目錄(Directory)。本文只討論Application的用法 是 Name 顯示的應用程式名稱。後面加上[語言代碼]用於支援多語言顯示，沒有的話就是顯示預設語言的名稱 是 GenericName 通用應用程式名稱，GNOME不會顯示此資訊，但KDE Plasma會在應用程式名稱下方顯示。後面加上[語言代碼]用於支援多語言顯示，沒有的話就是顯示預設語言的名稱。 否 Keywords 關鍵字，便於使用者搜尋。後面加上[語言代碼]用於支援多語言顯示 否 Exec 要執行的程式指令，通常是寫出二進位檔或者指令稿的絕對路徑，因為你沒辦法保證每個發行版的$PATH都一樣 否 Path 程式工作目錄 否 Terminal 是否在終端機裡面執行程式 否 NoDisplay 是否要從應用程式列表隱藏。 否 Comment 註解。即滑鼠移到應用程式圖示上會短暫顯示的工具提示框。 否 Icon 圖示路徑，遵守Icon Theme標準，預設應該是位於/usr/share/icons/，也可以直接寫路徑。 否 Actions 可執行的操作，也就是使用者在桌面對應用程式圖示按右鍵會顯示的選單。先用Actions=宣告有哪些操作，再透過[Desktop Action 動作名稱]區塊的方式來定義操作背後執行的指令。 否 MimeType 表示應用程式能開啟哪些檔案格式 否 Categories 應用程式分類，GNOME不會顯示，KDE Plasma會自動分類到不同選單下面。 否 StartupWMClass 啟動的視窗類別 否 StartupNotify 啟動時是否顯示通知 否 #開頭的行數是註解。\n[ ]包起來的是一個區塊。\n所有的鍵值用Key=Value的方式表示。\n如果要設定環境變數，使用env，譬如Exec=env MOZ_ENABLE_WAYLAND=1 firefox %u\n檢視/usr/share/applications/firefox.desktop，Firefox的Desktop Entry就符合了上面所說的內容。 [Desktop Entry] # 這一個區塊是Desktop Entry的基本資訊 Version=1.0 Type=Application # 應用程式 Exec=firefox %u # 點選後會執行的指令 Terminal=false # 不要開啟終端機 Icon=firefox # 圖示 StartupWMClass=firefox # 啟動的視窗類別 Categories=GNOME;GTK;Network;WebBrowser; # 應用程式分類 MimeType=application/json;application/pdf;application/rdf+xml;application/rss+xml;application/x-xpinstall;application/xhtml+xml;application/xml;audio/flac;audio/ogg;audio/webm;image/avif;image/gif;image/jpeg;image/png;image/svg+xml;image/webp;text/html;text/xml;video/ogg;video/webm;x-scheme-handler/chrome;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/mailto;　# Firefox可以用來開啟的檔案格式 StartupNotify=true # 啟動時顯示通知 Actions=new-window;new-private-window;open-profile-manager; # 右鍵操作，下面才寫出具體執行指令 Name=Firefox # 多語言應用程式名稱 Name[zh_CN]=Firefox Name[zh_TW]=Firefox Comment=Browse the World Wide Web # 滑鼠移到圖示上短暫顯示的工具提示框 Comment[zh_CN]=浏览万维网 Comment[zh_TW]=瀏覽全球資訊網 GenericName=Web Browser GenericName[zh_CN]=Web 浏览器 GenericName[zh_TW]=網頁瀏覽器 Keywords=Internet;WWW;Browser;Web;Explorer; # 搜尋關鍵字 Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer; Keywords[zh_TW]=網際網路;網路;瀏覽器;網頁;上網;Internet;WWW;Browser;Web;Explorer; [Desktop Action new-window] # 按右鍵會顯示的操作 Exec=firefox --new-window %u Name=New Window Name[zh_CN]=新建窗口 Name[zh_TW]=開新視窗 [Desktop Action new-private-window] # 按右鍵會顯示的操作 Exec=firefox --private-window %u Name=New Private Window Name[zh_CN]=新建隐私窗口 Name[zh_TW]=開新隱私視窗 [Desktop Action open-profile-manager] # 按右鍵會顯示的操作 Exec=firefox --ProfileManager Name=Open Profile Manager Name[zh_CN]=打开配置文件管理器 Name[zh_TW]=開啟設定檔管理員 那要從何改起呢？觀察一下得知，只要修改Name=和Exec=的內容，就夠做出一個自訂啟動器了。考慮到這只是一個簡單的捷徑，所以我將fireofx-custom.desktop其他的鍵值全部省略，精簡成如下內容。 [Desktop Entry] Version=1.0 Type=Application Name=Firefox 以Personal設定檔啟動 Categories=GNOME;GTK;Network;WebBrowser; Exec=firefox -P \u0026#34;personal\u0026#34; Icon=firefox 嘗試重新登入桌面，便會在應用程式列表看到兩個Firefox了。 參考資料 # Desktop Entry Specification - Freedesktop.org Specifications ","date":"2025年3月23日","externalUrl":null,"permalink":"/posts/linux-desktop-entry/","section":"所有文章","summary":"什麼是Desktop Entry呢？中文可以稱作「應用程式捷徑」，它是構成Linux桌面環境的基本元素之一，以.desktop作為附檔名結尾。\n很多Windows用戶有這種經驗吧，程式安裝後會自動在桌面建立捷徑，點一下就能夠啟動程式。刪掉捷徑，卻不會刪掉程式本體。Linux也有類似的東西，那就是Desktop Entry。\n基本上，只要你有使用Linux桌面，每天都會看到各式各樣的Desktop Entry圖示。 使用檔案管理器檢視Linux系統目錄的Desktop Entry\n大部分的Linux桌面環境都遵守Freedesktop.org制定的Desktop Entry標準，使之能顯示在桌面上與使用者互動。\n下文Ivon簡介Desktop Entry的用途，還有基本格式，搭配實例解說。\n1. 為什麼需要Desktop Entry？ # 試想一下，你在桌面點一下啟動Firefox圖示，就會開啟Firefox瀏覽器。而實際上你是透過位於/usr/share/applications/firefox.desktop的檔案，間接啟動背後的二進位檔/usr/bin/firefox的。\n為什麼我們不要直接執行程式的二進位檔就好了？通常Linux套件管理器安裝軟體的時候，會將二進位檔放到系統目錄，隨之安裝的還有Desktop Entry。接著桌面的應用程式列表/選單便會顯示該應用程式的圖示。\n","title":"什麼是.desktop檔案？Linux桌面Desktop Entry用途解說","type":"posts"},{"content":"帝國主義夾著尾巴逃走了！\n今年我使用Bilibili的註銷功能，正式刪除了閒置許久的「Ivon Huang」Bilibili帳號。\n\u0026ldquo;嗨，同志，您知道列宁格勒和斯大林格勒在哪吗？我在地图上找不到它了。” “没有了，再也没有了，我们失败了，白匪和资本家再一次骑到了我们的头上。如果你要追随那颗红星，去东方吧，穿越第聂伯河，翻过乌拉尔山脉，西伯利亚平原的尽头，越过海峽，那里还燃烧着星星之火”\n1. 原因 # 註銷Bilibili帳號主要是我個人的因素。不想了解的請直接跳下一段。\n在鐵拳主動砸下來之前，我就先選擇了退避。\n大概是2019年開始接觸Bilibili的，當時會把Youtube的一些影片當作備份傳上去，並偶爾po一些動態廢文。我要感謝Bilibili帶來的好處，就是讓小眾興趣愛好者的影片可以飄出去。即使沒賺到任何一毛錢，也能吸引到志同道合的朋友，在評論區討論，還有人傳訊息請教，這是非常感謝的部份。就像我以前用百度貼吧的感覺一樣，真的在中國互聯網上，什麼小眾愛好者都能聚集成一個社區。畢竟中國人口多，拍一部Linux相關的技術探討，保底也能有好幾千的播放量。相比在Youtube可能只有幾十到幾百，這是天差地別。因為我做的內容在台灣中文圈太小眾，可能還要打個英文標題才有更多人看。 我的Bilibili頻道十大熱門影片\n叉題一下，為什麼中國網站不再吸引我了呢，因為我英語能力提昇，可以去看Reddit了，那裡有全世界的愛好者組成的社區，說英語和中文的都有，我就沒有必要屈就充滿審查的簡體中文社區了。嘛啊，還有價值的社區大概就知乎了吧，牆內無限趨近於自由派的地盤。\n我終究無法忍受Bilibili了。大約到2023年之後就停止在Bilbili活動了。我就大方說了，嗯，確實，因為我自己對「自由」的追求，不能容忍Bilibili的審查，因此我po影片前都要先檢查一下敏感字詞才能上傳，這讓我很是煩躁。再加上有人開始以政治觀點為理由到Bilibili影片下方留言板還有以外的平台騷擾我。有些素質不高的中國人（在這裡我得強調，不是所有中國人）聽到政治異見者就會不分青紅皂白的開罵，因為長期以來受到的教育已經成為他們思維定勢，凡是反對大一統，支持台獨的意識形態，在他們眼裡就是大逆不道。儘管我的「不當言論」根本不是在Bilibili發表的，可我又不可能在平台上公開反擊政治議題。這麼說吧，如果我是在歐美社群平台被罵，那我當然能夠罵回去。不過在Bilibili，我不知道要怎樣在不被封號的前提下做出論述。\n如果未來要強制實名制才能投稿，我就更不想使用了。\n有人罵我「對電腦技術沒啥認識還敢拍片」就算了，也不想想有多少比我還厚臉皮的人在拍Bilibili營銷號風格的影片，什麼入QQ群才給下載軟體的，不知廉恥的一堆。但是關於政治、種族、國籍的攻擊我實在是受不了了。好吧，我早就耳聞中國互聯網是糞坑，Bilibili又被稱為童廁，那麼我不選擇悶聲發大財，還整天囂張跋扈的發政治黑屁屬於是自己捅了馬蜂窩了吧。\n總之，2023年我便消極的不在Bilibili更新了。嘛啊，大概我的影響力真的太小，在Bilibili的事業開始進入成長期就黯然退出。事實上真的跑來留言區罵我的不是很多，但裡面每一句話都是很過份的程度。我大概可以理解日本有些繪師會被小粉紅網暴到關閉Twitter帳號的緣故了。這個時候如果講「蜘蛛切動了」回擊又有什麼意思呢！ 雖然鼓勵和支持我的言論是這些惡意言論的十倍以上，但因為人類對痛苦印象特別深刻，所以這些言論多少還是會刺激到我。就是那種感覺呀\u0026hellip;看留言看的好好的，時不時卻冒出來一句魔怔瞎罵，壞了一天心情。我覺得繼續留著那些影片，未來可能會帶來不必要的麻煩。如果未來頻道不小心做出成績後，卻因為我的一些言論被當成黑料，真給人搞成大規模出征，那我會覺得很困擾。\n可我短時間內還做不到馬克思所說的「走自己的路，讓別人說去吧！」現在我逐漸學習包容了，罵就罵吧，塔綠班罵我中共同路人，還怕你小粉紅扣我漢奸帽子？\n單是政治觀點的攻擊，還不是促使我註銷帳號的理由。現在那些投稿留著沒辦法帶來收益（台灣要加入Bilibili的創作者計畫十分困難），可能還會在搜尋引擎跟我的Youtube影片搶搜尋排名。早期有些影片是po來吸引流量用的，用於導流到部落格，但我這個網站早就被GFW牆了，所以引流效果亦微乎其微。繼續放著好像都是給他們賺流量。所以我就乾脆把Bilibili帳號整個刪除了，我不要為這種平台打工。 Bilibili頻道遺照\n或許未來為了追番，可能還會再創個Bilibili帳號，不過我是不會再於那邊發表影片了。\n2. 請先刪除投稿再註銷Bilibli帳號 # Bilibili帳號設計真的很詭異，你可以註銷帳號，但是投稿不會刪除。如果直接申請註銷帳號，影片還是會在，只是UP主的欄位變成[账号已注销]。\n幸好我操作之前有百度搜尋一下，不然刪除帳號後影片還在就尷尬了。\n換句話說，你要先手動刪除投稿，再去申請註銷帳號。\n麻煩的來了，Bilibili投稿管理界面沒有批次操作按鈕，變成我要一個一個刪除，手動點選，所我就看了200次以上的驗證碼\u0026hellip; 後來發現更快的方法：從個人空間（https://space.bilibili.com）的動態去刪除，這樣能一併刪除專欄投稿。刪除投稿影片的動態，就會把影片一同刪除了。 3. 申請註銷Bilibli帳號 # 用Bilibli網頁版或者Bilibli手機APP申請註銷都行。\n開啟這個網址：https://passport.bilibili.com/register/logout.html\n依照畫面指示註銷帳號就好了。如果有綁定手機還要填入號碼，以及常用登錄地點的資訊。 申請註銷後就不可以登入帳號了，否則註銷過程會自動取消。順利的話3天後帳號就完成註銷了。\n","date":"2025年3月21日","externalUrl":null,"permalink":"/posts/i-deleted-my-bilibili-account/","section":"Personals","summary":"帝國主義夾著尾巴逃走了！\n今年我使用Bilibili的註銷功能，正式刪除了閒置許久的「Ivon Huang」Bilibili帳號。\n“嗨，同志，您知道列宁格勒和斯大林格勒在哪吗？我在地图上找不到它了。” “没有了，再也没有了，我们失败了，白匪和资本家再一次骑到了我们的头上。如果你要追随那颗红星，去东方吧，穿越第聂伯河，翻过乌拉尔山脉，西伯利亚平原的尽头，越过海峽，那里还燃烧着星星之火”\n1. 原因 # 註銷Bilibili帳號主要是我個人的因素。不想了解的請直接跳下一段。\n在鐵拳主動砸下來之前，我就先選擇了退避。\n大概是2019年開始接觸Bilibili的，當時會把Youtube的一些影片當作備份傳上去，並偶爾po一些動態廢文。我要感謝Bilibili帶來的好處，就是讓小眾興趣愛好者的影片可以飄出去。即使沒賺到任何一毛錢，也能吸引到志同道合的朋友，在評論區討論，還有人傳訊息請教，這是非常感謝的部份。就像我以前用百度貼吧的感覺一樣，真的在中國互聯網上，什麼小眾愛好者都能聚集成一個社區。畢竟中國人口多，拍一部Linux相關的技術探討，保底也能有好幾千的播放量。相比在Youtube可能只有幾十到幾百，這是天差地別。因為我做的內容在台灣中文圈太小眾，可能還要打個英文標題才有更多人看。 我的Bilibili頻道十大熱門影片\n","title":"紀錄一次用電腦註銷Bilibili帳號的過程","type":"personal"},{"content":"註解：撰文當下Nvidia閉源驅動版本為570，測試的Linux發行版為Ubuntu 24.04 LTS。 未來Nvidia官方更新可能會解決本文所講述的諸多弊端\u0026hellip;\u0026hellip;但願如此。黃仁勳，救救孩子。\n在Linux使用Nvidia顯示卡，一定要安裝Nvidia官方發表的閉源驅動，不能使用開源驅動。這樣才能完整發揮Nvidia顯示卡的效能，並使用他們獨家的CUDA、cuDNN、TensorRT技術。\n不過Linux的Nvidia驅動是出了名的難搞，如果拿它來做純GPU計算以外的用途就會問題多多。這時，大家便會想起2012年，Linus Torvalds的那個經典中指手勢。 如果你研究過Nvidia驅動問題，可能還會聽到Nouveau、NVK、NOVA這類名詞，他們又是什麼呢？\n這篇文章Ivon主要討論Linux系統的Nvidia驅動問題，還有面對多種選擇的時候，應該採取哪一個方案，範圍希望涵蓋大部份發行版。為了避免文章變成純粹的靠北文，文末會提供具體解決方式。\n（有人說，你不應該買對Linux支援度不佳的硬體設備，包含Nvidia顯示卡就是一例。可是呀，人不能逆流而行，很多時候為了某些技術，沒有其他選擇，所以這裡我忽略了採購Intel或AMD顯示卡的選擇。專注於採取務實的角度，解決這些問題。）\n1. Linux的Nvidia驅動為什麼難搞，問題在圖形 # 安裝方式繁雜、變種多等都是因素，後面會說，這裡先說Nvidia驅動造成的影響為何，為什麼難搞，問題那麼多。\n不論國內外的Linux社群，都會不約而同的說Nvidia驅動問題很多。\n你說不對呀，現在許多資料中心伺服器都用Nvidia顯示卡運算，如果驅動問題很多的話，那麼這些公司不就危險了。這裡我們要有個認識：資料中心跑的都是無頭的Linux伺服器，這方面的Nvidia驅動是沒有什麼太大問題的。但是若是桌面版Linux，需要輸出畫面的，就很容易遇到各種詭異圖形bug。\n下圖來自Nvidia官方文件，說明了Nvidia驅動各個部位負責的部份。如果Linux伺服器只要跑CUDA計算，不需要輸出畫面，那就只要裝右下角那一塊的Nvidia Compute驅動就好了（所以你會在Ubuntu的套件庫看到-headless或-server後綴的Nvidia驅動套件）。但是對Linux桌面使用者而言，需要安裝右上角那一塊的驅動。那如果同時要用Nvidia驅動輸出畫面和跑CUDA計算，就是兩個都安裝了！而圖形輸出這一塊就正好是Nvidia驅動問題最多的地方。 過去Linux桌面環境使用「X伺服器」顯示圖形界面，Nvidia驅動在X11環境的桌面，比如GNOME和KDE Plasma，動不動就會碰到畫面撕裂的問題，不如Intel和AMD的驅動穩定。\n而針對Linux桌面環境未來的顯示協定「Wayland合成器」，Nvidia一直在努力改善支援度，但依然問題多多，常常會遇到破圖問題，或者畫面更新率上不去。儘管Nvidia驅動在X11環境比Wayland相對穩定一些，但未來將會是Wayland的天下！\nNvidia驅動的不穩定，對日常使用Linux電腦上網和玩遊戲的用戶會造成不良的體驗，輕則畫面閃爍，重則黑螢幕。有些軟體開發者也會因為Nvidia驅動的諸多問題，乾脆兩手一攤說我們不支援，比如Steam Gamescope、Waydroid、VirGL Renderer、Sway等等。\n範例：以前Wayland合成器Sway的原始碼，因為Nvidia閉源驅動問題太多，所以Sway要求使用者加入「我不會再買Nvidia顯示卡」的參數才能啟動不穩定的桌面，後來改成中性的unsupported-gpu。 再來就是Nvidia筆電的圖形問題了，搭載Intel + Nvidia或AMD + Nvidia的筆電，難以切換Nvidia作為主要計算的顯示卡，也就是說玩遊戲需要重度3D渲染的時候得手動設定Nvidia PRIME參數切換Nvidia顯示卡。\n2012年Linus Torvalds在罵的就是這個功能，十年過去了這功能依然有問題，得靠社群開發的第三方解決方案才能切換主顯示卡，但依然不完美，沒有Windows系統切換那樣自然。GNOME桌面提供的解決方式是加入一按鈕，允許在雙GPU筆電手動切換為Nvidia顯示卡渲染。但KDE Plasma沒有此選項。 基本上，Nvidia驅動之所以難搞，在於他們開源的部分不足，一直都是整包式的專有驅動。Intel和AMD雖然也有閉源blob部份，但他們與社群配合度高，所以驅動都沒什麼問題，而Nvidia就相對容易爆掉，尤其Ubuntu以外的滾動更新發行版。Ubuntu、Debian、Rocky Linux、CentOS是以穩定為主的系統，更新頻率較低，Nvidia驅動相對穩定。但若遇到Arch Linux、Fedora、openSUSE Tumbleweed這些常常更新的系統，Nvidia驅動便容易出事。\n或許使用Ubuntu、Pop!_OS、Zorin OS、Deepin這些把使用者照顧的服服貼貼的發行版的用戶，感受不到我說的痛苦，因為他們背後都處理好了。但當你真正跳出舒適圈，你將會見證地獄。\n其實Linux的Nvidia驅動一直有在改進，我這裡講的很多現有的圖形問題，Linux社群多半也有提供解決方式(workarounds)，例如加入一些環境變數就能解決，但就是時不時出現的小bug讓人覺得很煩躁。\n2. Nvidia驅動如何裝？很多種方式！ # Linux的Nvidia驅動是一個很典型的「你要聽我的還是聽他的？」兩難問題。\n你應該用APT套件管理器收的.deb檔呢，還是直接用Nvidia官網.run安裝器？\n你要信Ubuntu的文件？ 還是Nvidia官方的原廠文件？ 如果你讀過Debian Wiki，他們一定會跟你說，不要任意執行廠商的安裝器，用我們打包好的！免得搞壞系統！ Rocky Linux有多種安裝途徑：看你要從RPM Fusion還是ELRepo的社群套件庫安裝，或者用Nvidia官方的套件庫呢？ 這實在難以定奪。只能粗略的說，如果你的Linux發行版夠主流，像DEB系、RPM系的發行版，有列在Nvidia官方文件的支援列表裡面，那麼依照Nvidia說明下去裝應該是沒太大問題，只要方便用套件管理員管理就行（這很重要，文章末尾會提出我的意見）。反之就得求助該發行版的Wiki，或者社區成員幫助才能搞定Nvidia驅動了！\n好，那讓我們專注在Ubuntu就好。若要在Ubuntu安裝Nvidia驅動，你就有了以下選項：\n從Ubuntu系統版本的套件庫安裝並透過DKMS裝載。也就是apt install。這個方法通常很穩定，不過驅動版本偏舊。 從Ubuntu的graphics-drivers PPA安裝並透過DKMS裝載。Ubuntu團隊維護的額外套件庫，能取得最新驅動但可能不穩定。 從Nvidia官網下載deb檔匯入PPA安裝(Local)。即新增Nvidia維護的PPA套件庫，將完整驅動下載下來，再apt install。 從Nvidia官網套件管理員匯入PPA安裝(Network)。即新增Nvidia維護的PPA套件庫，再apt install，再從Nvida的套件庫下載驅動套件。 從Nvidia官網下載Runfile檔安裝。就是透過執行.run的安裝器來安裝驅動，不建議，會無法被套件管理器追蹤。 這還只是從方法論上進行分類而已喔！如果要選擇Nvidia驅動的變種，那還有得研究呢。此外越新的Nvidia驅動版本不代表就好，可能有未經測試的bug。\n當然，如果你使用ubuntu-drivers工具自動安裝驅動，那麼應該不會煩惱這個問題，它會自動挑選適合你顯示卡的穩定驅動版本。\nNvidia驅動還有很明顯的代數限制，如果是發售十年以上的舊卡就沒辦法繼續更新專有驅動了。比如GTX 10系列以前出的Nvidia舊卡，最多只能裝到470版的驅動。\n這使得選取驅動版本就是個大問題，比如openSUSE就要分G04、G05、G06的套件。\nFedora更是要看你的顯示卡型號來選取適合版本的驅動套件。\n就算Arch Linux只要一條pacman -S nvidia指令便能安裝Nvidia驅動，但也要是你的顯示卡不能太舊，才不會裝到不相容的最新版驅動！\n比較友善的發行版嘗試解決了這個問題，像Ubuntu開發的ubuntu-drivers安裝器幫使用者節省了選版本的困難。\n即使如此，要用CUDA的時候又得注意Nvidia專有驅動版本的問題，有時候得重裝來重裝去。遇到太舊的卡只能淘汰了。\n3. Nvidia驅動不是只有一種！？ # Linux的Nvidia驅動大致上有兩個派別：一個是閉源，一個是開源。\n在此需要知道一個觀念：Linux的驅動程式可以分為核心以及使用者空間的驅動，前者負責跟底層的硬體溝通，後者則是跟應用程式溝通。 如果兩方面的驅動開源程度高的話，Linux社群開發者便能介入，協助解決問題。但若這兩個東西都是只有Nvidia公司才知道原理的黑盒子，那就只能看使用者造化了，Nvidia公司不眷顧你的系統的話，就有可能在下次更新後開機黑螢幕。\n閉源驅動 # Nvidia的閉源驅動有兩個。\n最多人使用的是閉源驅動(proprietary driver)，又稱為專有驅動，乃Nvidia公司釋出的封閉原始碼軟體，由Nvidia官方維護，包括核心以及使用者空間的驅動，功能最完整，支援OpenGL與Vulkan。使用CUDA一定要裝這個驅動。 通常，你不需要到Nvidia官網下載安裝器，而是應該透過Linux發行版的套件管理器來安裝Nvidia驅動，這樣日後才能追蹤變更。依照Ubuntu的打包方法，Nvidia閉源驅動除了一般的版本之外，還有提供headless版本，這是給伺服器專用的版本，表示不需要畫面輸出的部份。\n然而就像我上面說的，Nvidia與開源社群合作關係不佳，因此在圖形方面問題多多。\n2024年，Nvidia基於GSP韌體，釋出了「NVIDIA Linux open GPU kernel module」版本的驅動，簡稱nvidia-open，部份開放原始碼。不要被open的名字誤導，這裡Nvidia只有小部份的核心模組開源，其他部份使用者空間的驅動依然閉源。 要是Nvidia驅動全開源的話，CUDA護城河就要蒸發啦。\nNvidia將閉源驅動的大部分功能移植到open GPU kernel module後，便開始建議使用者安裝這個版本，不過這個驅動需要相對新穎的顯示卡才能安裝，舊卡還是只能使用閉源驅動。\n開源驅動 # Nvidia的開源驅動有兩個。\n為了讓Nvidia GPU開機至少有個畫面，Linux社群嘗試逆向Nvidia驅動，實現了一些開源驅動(open source driver)。\n最古老的就是「Nouveau」，2012年開始開發，包括核心以及使用者空間的驅動，只有基本的OpenGL加速功能，效能也不佳。功能支援度不如Nvidia官方的閉源驅動，更不可能使用CUDA。\n這東西唯一的好處是能幫舊卡續命，他們無法安裝最新Nvidia閉源驅動，有了Nouveau起碼還能做簡單的3D加速。\n許多Linux發行版因為軟體授權緣故，無法內建Nvidia閉源驅動，就會使用這個驅動，讓Nvidia顯示卡開機至少能有個畫面。但通常一般人發現nouveau效能爛透了之後，便會安裝Nvidia閉源驅動取而代之，並將它列入黑名單。\n是的！這裡有個雙關語：nouveau核心模組需要用modprobe.blacklist=nouveau禁止載入，否則會跟Nvidia閉源驅動衝突。大部份發行版的套件管理器會自動處理，但有時候需要使用者手動操作。\n2024年，Redhat的工程師基於GSP韌體，搞了「NVK」與「NOVA」兩個專案，前者是核心驅動，後者為使用者空間驅動。\n開發者使其支援Vulkan，用Rust寫的效能更好，聽說已經能玩一些Steam上的3A大作遊戲。或許有望取代nouveau，但仍處於高度實驗性狀態，沒有nouveau穩定。\n4. 所以Nvidia驅動到底該怎麼選？ # Arch Wiki提供了非常詳細的表格，讓你知道手上的Nvidia顯示卡支援哪個驅動版本。這裡的資料也適用其他Linux發行版，比Nvidia官方文件容易理解。\n以目前Ubuntu提供的Nvidia 570版本驅動，以及同時代的其他方案來看：\n1. 穩定之選：安裝Nvidia閉源驅動與小撇步，以Ubuntu為例，適用大多數Nvidia顯示卡。推薦使用Nvidia官方套件庫的版本，並用DKMS裝載，讓它跟著Linux核心自動更新。如果你不喜歡CUDA強迫跟著更新Nvidia驅動版本的話，不妨用Nvidia Container Toolkit，在Docker裡面跑CUDA吧！\n2. 次佳選擇： NVIDIA Linux open GPU kernel module，需要RTX 20系列以上的顯示卡才能安裝。推薦使用Nvidia官方套件庫的版本，並用DKMS裝載，讓它跟著Linux核心自動更新。\n3. 自由軟體愛好者 ＆ 戰未來： NVK ＋ NOVA\n4. 自由軟體愛好者 ＆ 你的卡真的太老了： Nouveau。通常不需要特別安裝，沒有Nvidia閉源驅動的時候，就會自己載入了。\n我個人覺得啦，Linux安裝軟體一定要用套件管理器追蹤變更，不要用官方.run安裝器，免得造成日後管理困難。\n但若套件庫收的是過時的Nvidia驅動版本呢？折衷方案就是透過第三方套件庫的方式，安裝Nvidia官方發表的驅動套件，這個Ubuntu、Fedora、openSUSE都可以採用。Arch Linux就靠社群各顯神通了，AUR什麼都有。\n關於Nvidia驅動安裝之後的疑難雜症，同樣也是Arch Wiki提供最多的資訊。\n","date":"2025年3月21日","externalUrl":null,"permalink":"/posts/linux-nvidia-driver-issues/","section":"所有文章","summary":"註解：撰文當下Nvidia閉源驅動版本為570，測試的Linux發行版為Ubuntu 24.04 LTS。 未來Nvidia官方更新可能會解決本文所講述的諸多弊端……但願如此。黃仁勳，救救孩子。\n在Linux使用Nvidia顯示卡，一定要安裝Nvidia官方發表的閉源驅動，不能使用開源驅動。這樣才能完整發揮Nvidia顯示卡的效能，並使用他們獨家的CUDA、cuDNN、TensorRT技術。\n不過Linux的Nvidia驅動是出了名的難搞，如果拿它來做純GPU計算以外的用途就會問題多多。這時，大家便會想起2012年，Linus Torvalds的那個經典中指手勢。 如果你研究過Nvidia驅動問題，可能還會聽到Nouveau、NVK、NOVA這類名詞，他們又是什麼呢？\n這篇文章Ivon主要討論Linux系統的Nvidia驅動問題，還有面對多種選擇的時候，應該採取哪一個方案，範圍希望涵蓋大部份發行版。為了避免文章變成純粹的靠北文，文末會提供具體解決方式。\n（有人說，你不應該買對Linux支援度不佳的硬體設備，包含Nvidia顯示卡就是一例。可是呀，人不能逆流而行，很多時候為了某些技術，沒有其他選擇，所以這裡我忽略了採購Intel或AMD顯示卡的選擇。專注於採取務實的角度，解決這些問題。）\n","title":"淺談Linux的Nvidia閉源驅動問題，以及nvidia-open、Nouveau、NVK驅動的選擇","type":"posts"},{"content":"萬相 2.1 (Wan 2.1) 為阿里巴巴研發的開源影片生成模型，2025年2月釋出，提供文字生成影片、圖片生成影片、在影片中生成文字的功能。\n圖片生成影片，就是讓一張靜態圖片動起來。\n聽說Wan 2.1的品質比騰訊的混元(HunYuan)模型要來得好呢。Reddit r/stablediffusion有人說這是另一個Stable Diffusion 1.5時代的開始，雖然常常會有詭異結果可是已經充分展示潛力。\n提供以下版本：\nWan2.1-T2V-14B：文字生成影片，支援480p與720P Wan2.1-I2V-14B-720P：從圖片生成影片，支援720P Wan2.1-I2V-14B-480P：從圖片生成影片，支援480P Wan2.1-T2V-1.3B：文字生成影片，最快速的模型。訓練資料量較少，品質可能不好。 不論是Github還是Civitai上面發表的，主流的Wan 2.1 ComfyUI工作流普遍需要8GB VRAM才能跑。用RTX 3060或者更高等級的GPU跑Wan2.1-I2V-14B-720P模型，搭配TeaCache，一小時內就能生成5秒影片。\n有作者將其修改為4GB VRAM就能跑，他是做給RTX 3050 (4GB)使用的，策略是載入GGUF格式的Wan 2.1模型降低VRAM佔用，再搭配Tiled KSampler與Tiled VAE節點，用空間換取時間。雖然生成速度比較慢，但是起碼能跑，而不會直接OOM。720P模型建議不要用，得用480P模型。生成低畫質影片之後再用其他技術將影片放大＋補幀，也能得到不錯效果的影片。\n1. 安裝Wan 2.1 Low VRAM工作流 # 註解：這個工作流稍做修改後，也能載入Wan 2.2的模型。\n安裝ComfyUI\n到Simple Wan 2.1 Low vram Comfy UI Workflow (GGUF) 4gb Vram + 16gb ram，登入Civitai帳號，點選Download下載工作流，解壓縮將.png圖片拖到ComfyUI視窗，匯入工作流。這個工作流支援文字生成影片和圖片生成影片的模型。\n匯入後，使用ComfyUI Manager安裝自訂節點。\n到HuggingFace儲存庫下載wan2.1-i2v-14b-480p-q5_k_m.gguf與wan2.1-t2v-14b-q5_k_m.gguf與wan2.1_t2v_1.3b-q5_0.gguf模型，放到/models/diffusion_models/目錄。\n然後到另外一個HuggingFace儲存庫下載。將clip_vision_h.safetensors放到/models/clip_vision/目錄。將umt5_xxl_fp8_e4m3fn_scaled.safetensors放到/models/text_encoders/目錄。最後將wan_2.1_vae.safetensors放到/models/vae/目錄\n如果需要使用LoRA，到Civitai尋找支援\u0026quot;Wan Video\u0026quot;的版本，並確認是給T2V還是I2V用的，然後下載到/models/loras/。\n2. 生成影片的參數 # 先拆解一下工作流內容，由左至右。 Models \u0026amp; Lora這一塊是載入模型的，圖片生成影片的GGUF模型應該選取wan2.1-i2v-14b-480p-q5_k_m.gguf，反之文字生成影片的GGUF模型就是wan2.1-t2v-14b-q5_k_m.gguf了。\nLoRA是專用小模型，不一定要使用。比起提示詞，能讓生成的影片更接近想要的內容。但是這個工作流在4GB VRAM就很吃緊了，加入LoRA會更容易OOM？\nInput image workflow要上傳的是參考圖片，適用圖片生成影片模式，最好跟WanImageToVideo節點的寬高一樣。如果要使用文字生成影片的模型，則把WanImageToVideo節點的clip_vision_output和start_image截斷。\n看一下Prompt and Sampler這一塊：\nCLIP Text Encode就是提示詞，儘量描述想要的影片內容，包括人物還有背景樣貌。\nCLIP Text Encode (Negative)負向提示詞，不要生成什麼。負向提示詞用英文或中文寫都可以，不過「圖畫」的提示詞好像會一併阻止生成動漫圖像，把它去掉。\nTiled KSampler取樣器維持預設，步數至少20才有好品質。圖片生成影片的denoise數值維持1.0才能忠實的依照原圖生成影片。若是文字生成影片，降低能增加影片隨機度。\nWanImageToVideo決定生成影片寬高。length即影片長度，應該是影片幀數的數量。用Wan 2.1 14B的模型，數字設定41幀以上（約2秒）才不會有VAE的殘影。可是一旦超過41，就會佔用超過4GB VRAM導致OOM。用Wan 1.3B模型的影片可以再長一些，但最多也就53幀。\n要生成更長影片，直接調整影片長度會爆VRAM，需要用接力的，也就是生成影片後，依照最後一幀繼續生成。種子碼固定的情況下，應該能延續影片內容。這個工作流的作者沒有製作接力節點。另外一種方法是用kijai/ComfyUI-WanVideoWrapper自訂節點來延長影片，裡面有一個Context Window的功能，可以提升一次生成的影片長度，就不需要用接力的了。\n最後是我認為不那麼重要的部份：\nComling, Cache Internal Frame Interpolation，內含KJNodes這一塊，是計算快取之用的，透過TeaCache，能夠提昇生成影片的速度達五倍以上。\nTuring架構以前的舊Nvidia顯示卡沒辦法使用Triton GPU Compiler，會出現RuntimeError: Found NVIDIA ...... which is too old to be supported by the triton GPU compiler, which is used as the backend. Triton only supports devices of CUDA Capability \u0026gt;= 7.0, but your device is of CUDA capability 6.1錯誤。\n得手動在ComfyUI目錄的execution.py裡面加入程式碼import torch._dynamo torch._dynamo.config.suppress_errors = True無視錯誤訊息硬跑，但就沒有加速效果了。\n若是不需要，像我一樣把圖中的節點截斷了。\nUpscaler and Frame Interpolation即影片放大與補幀這一塊，是在生成影片之後處理的，因為這個工作流只能生成480P影片，生成影片後再放大，並用RIFE補幀會比較好看。但我認為要快速看到影片效果，這一塊可以先去掉，節省時間。所以圖中的節點被我截斷了。\n3. 生成結果 # 我實際操作下來，在Nvidia GTX 1050Ti (4GB VRAM) + 16GB RAM，不使用TeaCache，使用Wan2.1-I2V-14B-480P模型最多可以生成2秒的影片，耗時6小時。\n即使是最快的Wan2.1-T2V-1.3B，2秒的影片也要生成1小時。\n之所以會這麼久是因為我的顯示卡太舊，不支援TeaCache。\nWan2.1-T2V-14B-480P文字生成影片範例，2秒。\nWan2.1-I2V-14B-480P圖片生成影片範例，分別生成三部影片然後拼起來，約6秒。為方便觀察，速度有放慢。到後面畫風整個崩掉。\n","date":"2025年3月18日","externalUrl":null,"permalink":"/posts/comfyui-wan2-1-4gb-vram-gguf-workflow/","section":"Ai-Arts","summary":"萬相 2.1 (Wan 2.1) 為阿里巴巴研發的開源影片生成模型，2025年2月釋出，提供文字生成影片、圖片生成影片、在影片中生成文字的功能。\n圖片生成影片，就是讓一張靜態圖片動起來。\n聽說Wan 2.1的品質比騰訊的混元(HunYuan)模型要來得好呢。Reddit r/stablediffusion有人說這是另一個Stable Diffusion 1.5時代的開始，雖然常常會有詭異結果可是已經充分展示潛力。\n提供以下版本：\nWan2.1-T2V-14B：文字生成影片，支援480p與720P Wan2.1-I2V-14B-720P：從圖片生成影片，支援720P Wan2.1-I2V-14B-480P：從圖片生成影片，支援480P Wan2.1-T2V-1.3B：文字生成影片，最快速的模型。訓練資料量較少，品質可能不好。 不論是Github還是Civitai上面發表的，主流的Wan 2.1 ComfyUI工作流普遍需要8GB VRAM才能跑。用RTX 3060或者更高等級的GPU跑Wan2.1-I2V-14B-720P模型，搭配TeaCache，一小時內就能生成5秒影片。\n有作者將其修改為4GB VRAM就能跑，他是做給RTX 3050 (4GB)使用的，策略是載入GGUF格式的Wan 2.1模型降低VRAM佔用，再搭配Tiled KSampler與Tiled VAE節點，用空間換取時間。雖然生成速度比較慢，但是起碼能跑，而不會直接OOM。720P模型建議不要用，得用480P模型。生成低畫質影片之後再用其他技術將影片放大＋補幀，也能得到不錯效果的影片。\n","title":"4GB VRAM跑AI生成影片 ~ ComfyUI Wan 2.1 Low VRAM GGUF工作流","type":"ai-art"},{"content":"","date":"2025年3月18日","externalUrl":null,"permalink":"/ai-art/","section":"Ai-Arts","summary":"","title":"Ai-Arts","type":"ai-art"},{"content":"","date":"2025年3月18日","externalUrl":null,"permalink":"/tags/comfyui/","section":"標籤","summary":"","title":"ComfyUI","type":"tags"},{"content":"","date":"2025年3月16日","externalUrl":null,"permalink":"/tags/taiwanese-nationalism/","section":"標籤","summary":"","title":"Taiwanese Nationalism","type":"tags"},{"content":"中（華民國）台灣的總加速師，就是現在執政的民進黨政府。\n最近國內的主戰派越來越多了，不論是政府還是民間，真是悲哀。\n把一句經典的老話倒過來說：在戰爭與屈辱面前，你選擇了戰爭，可是戰爭過後，你仍得面對屈辱。 你沒有籌碼 # 先從一篇文章說起，這是紐約時報2022年刊出的文章：烏克蘭戰爭發展至此，美國難辭其咎 彼時為西方盟友大力支持烏克蘭偉大的衛國戰爭之時，當時以為扭腰時報是在瞎掰，現在看來還真有幾分正確。看看2025年，我川上任之後狠狠賞了司機一巴掌，一句\u0026quot;You don\u0026rsquo;t have the cards!\u0026quot;，不玩民主同盟遊戲了，就正式說明了美國不可是永遠的盟友。真為烏克蘭感到悲哀。\nPa̍t-lâng ê kiánn sí bē liáu.\n在中共高機率侵略台灣之際，台灣又要被美國賣掉了，看看：川普「很不高興」點名台灣晶片赴美生產　工商團體喊話：必須留下台積電 - 風傳媒。巧取豪奪了拿走了矽盾。現在政府已經沒有人會編造「南海血書」了，而是直接跪舔。誰在乎你民進黨搞那些左逼遊行的東西？民主價值是什麼？把最值錢的晶片給我拿來！不得有異議。\n疑美論的興起並非其來無自，從國民黨在大陸的時候貪污腐敗，到現在依然皆是有這個問題。越是依賴美國政府的恩惠，內部腐化的程度越是快速，等到被一腳踢開的時候就來不及了。然後就有人會以美國的立場說，是這些國家本來就阿斗，不是美國政策的失敗！沒錯，在美國有大豪斯的人，說話就是硬頸！\n美官員：丟了台灣 美國人照過好日子 - 中國時報 不得不說，我川真的威武，不要再當世界警察了，而是將美國利益最大化，考驗那些親美國家的底限。《交易的藝術》勸你多讀。在這種威逼下，有國格的還會嘗試談籌碼，沒國格的，或者連國家都沒幾個人想承認還認為自己是國家的，就是直接下跪。還有大儒會幫美國人辯經，譬如青鳥，因為台灣已經沒救了。問卦 青鳥：美國要台積電搬走是因為台灣已被赤化 - PTT Gossiping，民主夥伴我真的哭死！\n最近一年的外交內政問題，民進黨全都看不到，還熱衷搞大罷免，用暴民運動拉下認真做事的立法委員（得承認有些國民黨真的有很多謎之操作，總預算亂提案之後又撤案，造成刪預算假訊息有操作空間。然後大罷免氣勢贏不過，就推出沒有實質效力的反廢死、反戒嚴公投來轉移注意力。但即使如此，我依然認為這不足以構成罷免理由，因為行徑比這誇張的比比皆是。），就為了擷取政治利益，意圖獲得立委多數，重回立法局時代，媒體也成為政府宣傳的幫凶。順便繼續加速搞爛這個世界上都沒多少人承認的國家。你覺得是習近平繼續加速下去讓大洪水先來，還是我國繼續加速導致滅台先發生？就讓我們在2027年後，於美國建立流亡政府的場合上相會吧！\n最中幻想：奇圓JeffHoly在微博上發表的台灣投降畫作\u0026hellip;但萬一是真的呢？\n美國跟中國一樣都是帝國主義國家，前者操弄各地情勢，給自身帶來利益的功夫比較嫻熟；後者連新．大東亞共榮圈的一帶一路都搞不好還是往後稍稍。\n侯漢廷向國安局檢舉沈伯洋危害國家安全 - 聯合報 看來在台灣的境外勢力除了中共同路人之外，還有美國代理人，哈哈，什麼時候來一個球外勢力。只要共享民主價值，就算是出賣給三體人也樂意吧！\n根據這篇的觀點：中美帝國主義之間的中華民國台灣「主權」 - 火花 千萬不要為戰爭販子去死，也不要為這個舔美政權奉獻。有人還試圖比較為誰賣命能數到更多鈔票，笑話！THE WAR IS WAR. 不存在哪邊比較偉光正的答案。\n再者，有些民進黨支持者已經成為法西斯份子，這是無庸置疑的。你以為是麥卡錫主義，錯了，比國民黨還右（當然，要說右，肯定比不過大中華膠）。就是說，中共官方戰狼還有小粉紅要屠島，然後就有人硬氣頂回去，說要殺光中國人，這言論還越來越多。因為沒膽到中國搞顛覆活動，就先拿身邊相對弱勢的中國人士開刀，水晶之夜很快就會上演了吧。中國憤青用U型鎖砸日本車，台灣覺青只會拿8964的旗子去噁心人家店家。\n不要天真以為左翼進步價值就挺民進黨，裡面右翼人士還挺多的。或者我們不要分左右啦，這些人腦中只有統獨選項，政府說啥就說跟啥。就算未來開城門了也馬上跟著下跪在解放軍面前，大喊「爹，我早就是中國人了」。\n如果你民主元首需要被詆毀 # 如果你民主　元首需要被詆毀《李敖大哥大》 李敖對美國總統湯瑪斯·傑佛遜評價的這句話很有意思，所以我作為子標題。\n雖然台灣依然是民主國家，但是執政者意圖以抵擋境外勢力的方式樹立威權，貶低在野黨，抓10%壞分子匪諜，鼓勵人民互相猜忌，那麼就是需要打倒的存在。要避免台灣變成日本政治冷感，或者俄羅斯的強人政治，就需要反抗。\n這裡就想同情一下第三勢力以外的第三勢力，雖然黃國昌走了，跑去跟柯文哲聯手，其實我基本上還是很尊重時代力量的，裡面還是有想追求公平正義的民代，只是不喜歡他們高層整天嘴民眾黨。\n縱使是基進黨和統促黨 —— 剛好兩個極端 —— 就算他們有各種申必言論，至少基本尊重台灣還有不同的政黨聲音吧，那句話怎麼說的\u0026hellip;馬英九：我把你們當人看.3gp。\n另一方面我看到有些深綠側翼（例如James Hsieh這種咖）的發文就覺得生理不適，日常不把小草當人類看的詆毀發言我已經見怪不怪。為啥沒人試著去Facebook檢舉仇恨言論？喔我忘記現在DEI都掛點了，小黃人就自求多福吧，但是真的有人連時代力量、基進黨、台聯都看不起的，明面上宣稱他們合作，但私底下卻是覺得他們就乖乖當花瓶黨就好了，莫跟黨唱反調。為了選舉考量，真正投票的時候是不可能投給小綠的，甚至連配票都不要，那麼這種人會po文Team戒嚴也就不奇怪了。\n希特勒再世，看到現在的中文網路都會嚇壞\n從最近吳春城想用「壯世代」商標發大財被迫辭職的事件看來，民眾黨被批評，一些小草包括我會虛心檢討的，但有人是完全不由得說民進黨壞話的。自從真正的台獨份子，硬漢陳水扁下台之後，民進黨台獨黨綱只對內有效，對外的時候裝蒜，變成完全的騙票機器。\n種種跡象都顯示，跟這種黨「喬」是自尋死路，黃國昌以前在時代力量的經驗就說明這一切了，排隊過法案，去抗議沒人鳥，變成孤軍奮戰，時代力量被小綠裂解。即使追求再多的公平正義，但黨就是不給你過法案，莫搶走黨的功勞。理想上台灣應該學習進入多黨制國家，但這是很難做到的，重點是第三勢力務必要繼續發展下去，爭取一切可以合作的力量，最好繼續維持三黨不過半的態勢。\n順便講一下我不太滿意的部份：有些人選擇不關心政治當歲靜，這我尊重。但不要都信政府宣傳，這會導致產生一種偏見，即政治很黑暗，認為現在政府雖然很壞，但反對黨更是來亂的這種心態。於是就會不知不覺的相信敘事，並跟著宣傳口徑將反對黨全部醜化了。看看韓國瑜就任立法院長一年了，做的還不賴，完全不給喬，卻有很多人無視他的改變，依然在無腦用黑韓梗就可以看出來，有些人真得調整一下天線，開啟多元接收訊息的管道，不要只會用「梗圖的印象」評價政治人物。若果要培養一種偏見，那我還是選擇不相信宏大敘事的好。\n如果為了民主自由，抗中保台，真的變成一黨獨大的社會，那種結局是我想避免的。改寫一句香港反送中的標語：台灣人，反抗（綠色威權）！\n現在民眾黨和國民黨的作法還是太溫柔了，對付這種外強中乾的流氓，需要更大的民主來擊潰。\n反對的究竟是極權還是共產主義 # 我是台灣人，我反綠。我反紅共，更反綠共。\n這句話說的「共」究竟指誰呢？現在的中國共產黨真的是共產主義嗎？\n齐泽克：在今天的中国，最危险的事情就是真正相信和并认真对待官方意识形态本身 在哪個國家，對政府宣傳照單全收的人必定落得被愚弄的下場，只要弄點麵包和馬戲，就足以使人相信我們正在走向正確的方向，其他反對黨都是來亂的。這種思維，非常無知且危險。\n從現在的所作所為可以知道，現在的中共肯定不是共產主義者，而是明左實右的極權國家，靠著煽動民族主義維持統治。甚至這個國家，從1949年成立以來，就把共產主義的經整本唸歪了（正如史達林唸歪了馬克思主義的經一樣），變成了新興社會帝國主義國家，更是厚臉皮的批評蘇聯是修正主義國家，對自身搞特色社會主義卻是百般辯解，能把計劃經濟玩成大吃飽的也確實厲害！都不需要海耶克出場就能自打臉。\n於是乎，紅共跟綠共就走到了一塊，帶有威權主義，乃至獨裁屬性的政權，用「全過程民主」或「民主韌性」包裝自己獨裁的想望，這是需要鬥爭反對的。\n陳獨秀在我的根本意見寫道：\n民主主義並非和資本主義及資產階級是不可分離的。無產政黨若因反對資產階級及資本主義，遂並民主主義而亦反對之，即令各國所謂「無產階級革命」出現了，而沒有民主製做官僚制之消毒素，也只是世界上出現了一些史大林式的官僚政權，殘暴、貪污、虛偽、欺騙、腐化、墮落，決不能創造甚麼社會主義，所謂「無產階級獨裁」，根本沒有這樣東西，即黨的獨裁，結果也只能是領袖獨裁。任何獨裁都和殘暴、蒙蔽、欺騙、貪污、腐化的官僚政治是不能分離的。\n另一方面，有些人物極必反的認為反對中國共產黨就一併要反對整個左翼派系，這樣的想法顯然是一種過份簡化的敘述，忽略了托洛斯基等反對派存在的事情，而是直接將殘暴的史達林主義與毛主義作為所有的代表。他們說要反對共「匪」，結果做得比共匪還狠毒，不只無腦反對多元進步價值(DEI)，價值觀還極度保守，搞獵巫行為。就跟一些逃到美國的中國民運人士一般，不過就是倒轉立場的小粉紅而已。且到了美國進行在地化，就變成紅脖子老保了。就是那種跟你說共產主義是撒旦的計謀會無腦相信的一群人一樣，這些人還特別愛看極右翼大紀元的報導，把共產主義當作宗教概念的異教看待。\n宗教化的批評其實沒有錯誤，任何一種「意識形態」都不應該視作永恆不變的教條看待，那就真變成「意底牢結」了。只是看來宗教狂熱份子忙著指責別人眼中有刺的時候，更不知道自己眼中有一棵參天大樹了。\n私以為，針對一個觀點討論，不去用理性觀點反駁對方的論點缺失，反而直接人身攻擊，講別人家裡的八卦，評斷外表和家庭背景轉移焦點，用其他理由來削弱對方論據的合法性，是不得體的下等人作法。雖然偏左，但本於對我自己專業的尊重，故我沒有批判貶低基督宗教之必要，我不是不想無腦相信神而已，決定不再抽人民的鴉片，不將人的自由交與一個抽象存在，而是自己做出決定。\n脫支的困境\n所以，有些人在「反共」的時候其實不知道自己在反什麼，好似打著宗教戰爭的旗幟，因為這樣才便於宣傳，操弄大眾。使用極權方法反對走修正主義還自稱共產黨的人，從鏡子中映射出來的不過是自己想成為獨裁者的倒影，一切都是為了自身權力出發，說謊為了民主，卻要犧牲自由？那麼他們從討厭蔣中正，到理解蔣中正，成為蔣中正那也就不奇怪了，更別說無腦相信劉仲敬支黑理論的貴物了，將充滿種族主義「排支」理論合理化為打壓異己的武器。可能他們被中共呼弄久了，便認為共產主義屬於一種騙術（其實中特社就是如此），從而否定了整個思想的價值，於是畫風一轉，就變成另外一派的極端風景了。\n沒實力還敢大小聲的那群台灣人 # 對於共匪的各種滲透，真得出重拳才能治？台灣現在有人天天說要用檢肅匪諜的條例迫害對岸人民，如果是講武統言論的被趕出去，那也就算了，問題是開始物理攻擊一切跟中國有關的事物。還不少人支持意圖恢復戒嚴體制，稍微親中意見的人就法辦，煽動族群仇恨政府也不出來制止，從裡到外營造一種對中國深仇大恨的情緒，就是很明顯的在玩火，中共八成都看在眼裡。\n解決兩岸僵局的方式很簡單（沒那麼簡單 就能找到 聊得來的伴 尤其是在 看過了那麼多的背叛），我國政府對台灣國際地位裝死並承認九二共識（或者柯文哲提的變體：一五新觀點）就有恢復交流機會。但現在政府做不到也拉不下臉，畢竟有人認為對中國讓步就是賣台行為。可現在寧願就這樣僵持著，官方幾乎沒有對話管道，未來若發生進一步發生衝突又將如何因應？難道是拋一句「一切責任全在中方」就能解決的嗎？\n說我對中國人基本沒惡意，但是無法支持中國共產黨政府武統作法。\n這種沒實力還大小聲的行為，就是討打。縱使中共確實對台統戰，但也不能將動作做得這麼明顯，三角形不會畫就開始亂加速了是吧。跳臉挑釁的行為太多，就有更多逼中共出手的藉口。正如烏克蘭挑釁俄羅斯，逼流氓揍人一樣，俄羅斯固然有錯，但是小國之間也不能囂張，期望另一個黑幫老大（美國？民主盟邦？）會幫你討公道，而非把你當成替死鬼。 You don\u0026rsquo;t have the cards!\n總覺得有人認為民主國家一定就比中共值得信任，所以民主燈塔批判不得，喔，是嗎？美國人自己都不見得信任政府了，還來教woke跟你這些黃右一起信上帝和偉大統領川普？講點陰謀論的論調，台海戰爭開戰，對美國依然有利益，那就是牽制中國的用處。我根本不相信中華民族的意識形態神話，台灣跟中國不是同一國家，所以別說「美國人忌憚中國人崛起」的話語。可只要台積電移走了，台灣當砲灰，兩敗俱傷，美國就能維持世界霸主的地位！我很不想這麼相信，美國會如此邪惡，但是世界誰不會為自己的利益為優先考慮的呢？且要是這些事情真發生了，台灣又該怎麼辦？\n別自以為是二戰對抗法西斯的最前線了，你沒有籌碼，更沒有榮耀。台灣不是那個時候的英國，你不會在沙灘上戰鬥，只會是被夾在大國之間，被戰火蹂躪的波蘭。\n我們這些人，也不想心不甘情不願的為這些利益份子打一場仗！那些不當兵的人整天自稱自己是跟史明一樣「勇敢的台灣人」？呸！\n所有的戰爭宣傳，所有的叫囂、謊言和仇恨，都來自那些不上戰場的人。\n自願做帝國主義的走狗——不論是美國還是中國——顯得你像是條叫做勇哥的狗而已。\n國家機器教我要去當義務役的兵，為保家衛國而奉獻，但就算是當過了之後，我也不能支持那些沒當兵的人，整天替我們叫囂的愚蠢作法。我不知道為誰而戰，為何而戰。保家衛國？保衛誰的國呢？\nPTT八卦板常被愛台人士說是支八板，投降派比比皆是，比如最近有一篇：問卦 臺海開戰會投降的+1 我也來+1。就現階段而言，如果2027年中共真的攻台，美國給的援助比烏克蘭還差勁，台灣有力人士還是早點商量投降比較好，完全沒有勝算。\n我對中華民族偉大復興什麼的沒有興趣，也不想當帶路黨，亦不願保衛台灣的國格，單純就是覺得這個政府不值得為她去死，不想為了虛無飄渺的台灣民族主義浪費生命，就是這樣。啊有人說飛彈不長眼，不會因為你支持台獨或者統一就炸偏。是這樣沒錯啊，可是堅持到最後什麼都沒了，只獲得榮耀？在死後的世界慢慢拿吧，如果還有來世，我不想當中國人，亦不想當台灣人\u0026hellip;\u0026hellip;越講越誇張了，就此打住吧。\n縱然如此，不能輕易放棄活下去的希望，那不是什麼主義可以強迫，能夠打倒我們台灣人的。這個世界從來就沒有什麼救世主，也不靠神仙皇帝。要創造幸福，只能靠我們自己。人類務將直面苦難，到那群星閃耀之時。\n","date":"2025年3月16日","externalUrl":null,"permalink":"/posts/2025031601/","section":"Politics","summary":"中（華民國）台灣的總加速師，就是現在執政的民進黨政府。\n最近國內的主戰派越來越多了，不論是政府還是民間，真是悲哀。\n把一句經典的老話倒過來說：在戰爭與屈辱面前，你選擇了戰爭，可是戰爭過後，你仍得面對屈辱。 你沒有籌碼 # 先從一篇文章說起，這是紐約時報2022年刊出的文章：烏克蘭戰爭發展至此，美國難辭其咎 彼時為西方盟友大力支持烏克蘭偉大的衛國戰爭之時，當時以為扭腰時報是在瞎掰，現在看來還真有幾分正確。看看2025年，我川上任之後狠狠賞了司機一巴掌，一句\"You don’t have the cards!\"，不玩民主同盟遊戲了，就正式說明了美國不可是永遠的盟友。真為烏克蘭感到悲哀。\nPa̍t-lâng ê kiánn sí bē liáu.\n在中共高機率侵略台灣之際，台灣又要被美國賣掉了，看看：川普「很不高興」點名台灣晶片赴美生產　工商團體喊話：必須留下台積電 - 風傳媒。巧取豪奪了拿走了矽盾。現在政府已經沒有人會編造「南海血書」了，而是直接跪舔。誰在乎你民進黨搞那些左逼遊行的東西？民主價值是什麼？把最值錢的晶片給我拿來！不得有異議。\n疑美論的興起並非其來無自，從國民黨在大陸的時候貪污腐敗，到現在依然皆是有這個問題。越是依賴美國政府的恩惠，內部腐化的程度越是快速，等到被一腳踢開的時候就來不及了。然後就有人會以美國的立場說，是這些國家本來就阿斗，不是美國政策的失敗！沒錯，在美國有大豪斯的人，說話就是硬頸！\n","title":"對岸有總加速師，中國台灣也有總加速師","type":"politic"},{"content":"Install Howdy facial authentication for Linux desktop.\n人臉解鎖，即允許使用者刷臉解鎖電腦或筆電。\n很多人用Linux跑人臉辨識的Python專案，那麼可不可以用人臉辨識技術來解鎖Linux電腦呢？\n如果不算Android和ChromeOS，目前加入人臉辨識的Linux發行版只有Deepin，他們使用名為Seetaface的方案。其他主流Linux發行版如Ubuntu、Fedora、openSUSE、Arch Linux都沒有人臉辨識，需要依賴第三方程式實現人臉解鎖。\nLinux最受歡迎的人臉解鎖程式，當屬boltgolt開發的「Howdy」，能夠賦予Linux電腦人臉解鎖的能力。 開發者說它是一款模仿Windows Hello的軟體，能夠在Linux系統實現類似Windows Hello臉部辨識的功能。它可以在登入Linux電腦的時候時用人臉解鎖，還有在桌面執行sudo權限的程式的時候，用人臉替代密碼解鎖。\n1. Howdy原理 # Howdy使用的技術為OpenCV + Dlib模型。\nHowdy需要紅外線相機進行人臉辨識，原理很像是Windows Hello。因此硬體需求為搭載紅外線相機的電腦。\n雖然Howdy不一定要相機支援紅外線，參見這個issue，但安全性會大大降低，變成用一張照片就能騙過去。所以還是使用有紅外線相機的電腦吧。\nHowdy掃描你的人臉之後會建立模型，全部的資料都儲存在本機，不會用到TPM。\nHowdy依賴Linux發行版常見的PAM機制作為認證手段，能夠將人臉作為密碼以外的認證手段。若人臉解鎖失敗，便回退到密碼。\n舉凡執行sudo指令、登入桌面環境、解鎖螢幕鎖定等操作，Howdy都會自動跳出來識別人臉。 Howdy尚能搭配Polkit，自動在桌面環境「輸入密碼」的視窗進行人臉解鎖。 當然，Howdy需要圖形界面才能運作，因為這樣才能使用相機。若是SSH連線階段，Howdy就不會跳出來認證。\n不過Howdy並非唯一的認證方式，失敗了依然能輸入密碼登入，不能指定「僅限人臉解鎖電腦」。且要保護電腦，最好啟用Secure Boot與LKMS加密硬碟，才能確保裝置能不被外力輕易破解。\n2. 安裝Howdy # 首要任務當然是確認你Linux電腦的相機驅動有無正常運作。隨便用瀏覽器開一個網頁，測試能否存取相機。\n安裝偵測相機裝置的工具，例如v4l2：\nsudo apt install v4l-utils 然後參照Github說明，安裝Howdy。譬如Ubuntu就是透過開發者的PPA安裝： sudo add-apt-repository ppa:boltgolt/howdy sudo apt update sudo apt install howdy 註：Ubuntu 24.04以上版本會遇到pip無法安裝到系統目錄的問題error: externally-managed-environment，暫時的解決方法是取消EXTERNALLY-MANAGED的機制：\npython3 --version sudo mv /usr/lib/python3.12/EXTERNALLY-MANAGED /usr/lib/python3.12/EXTERNALLY-MANAGED.old sudo apt install howdy 確認Howdy函式庫的路徑： ls -l /usr/local/lib/x86_64-linux-gnu/security/pam_howdy.so # 或者 ls -l /lib/security/pam_howdy.so #或者 ls -l /lib64/security/pam_howdy.so Linux系統若有啟用SELinux，可能會導致無法在開機的時候存取相機，參考這裡解決。 3. 設定Howdy使用的相機 # 用圖形介面設定 # 有許多人開發過前端GUI，譬如SlimbookFace和KCM howdy，不過他們偏小眾。\n用Howdy開發者內建的程式設定吧，執行sudo howdy-gtk然後依照指示設定。下載人臉辨識模型的時候選取Balanced版本。 用指令設定 # 列出Linux的相機裝置，相機裝置應該是/dev/video開頭，但若有多個相機，可能每次開機後路徑都不一樣，所以我用/dev/v4l/by-id/的路徑來決定相機路徑為何。 ls -l /dev/v4l/by-id/ # 範例輸出： usb-SunplusIT_Inc_HD_Webcam-video-index0 -\u0026gt; ../../video0 usb-SunplusIT_Inc_HD_Webcam-video-index1 -\u0026gt; ../../video1 查看相機資訊，我這個應該就是紅外線相機。 v4l2-ctl -d /dev/v4l/by-id/SunplusIT_Inc_HD_Webcam-video-index0 -D 編輯Howdy設定檔 sudo howdy config 填入相機路徑 device_path = /dev/v4l/by-id/usb-SunplusIT_Inc_HD_Webcam-video-index0 啟用人臉辨識的通知訊息 detection_notice = true 設定好之後，啟動Howdy測試程式，看看相機能否辨識到人臉。有些電腦鏡頭在做動的時候就會閃紅光。 sudo howdy test 這個視窗內，偵測到臉部就會出現圈圈，代表成功偵測到人臉。紅色圈圈是尚未建立模型的人臉，綠色圈圈是已經建立模型的人臉。 請繼續維持同樣的角度看著鏡頭，然後新增臉部。Howdy沒有圖形互動的界面，盯著鏡頭幾秒後，就會自動建立臉部模型了。\nsudo howdy add 4. 用Howdy解鎖sudo密碼 # 設定哪些輸入密碼的場合需要讓Howdy跳出來驗證，最先處理的就是sudo。我希望的處理邏輯：先嘗試人臉解鎖，無法使用人臉的時候，再回退到密碼解鎖。依照Howdy的設定，大約5秒沒有看到人臉就會算是解鎖失敗，然後回退到密碼解鎖。\n找到Linux系統的PAM設定檔，通常位於/etc/pam.d目錄。\n編輯/etc/pam.d/sudo和/etc/pam.d/system_auth這兩個檔案\n在頂部加入以下內容，設定sufficient認證規則，填入Howdy函式庫的路徑：\nauth sufficient /lib/security/pam_howdy.so 重開機。\n嘗試在終端機輸入sudo指令，應該就會自動啟動Howdy人臉解鎖。按Ctrl＋C的話就直接跳過倒數計時，直接進入密碼解鎖。 5. 用Howdy解鎖桌面環境 # 依然是編輯PAM的設定檔。\n這個需要依照桌面環境調整。\nGNOME # GNOME 47以上版本，只需要編輯GDM設定檔就可以了。在登入畫面和鎖定畫面便可以用人臉解鎖。\n編輯/etc/pam.d/gdm-password ，加入以下內容：\nauth [success=done ignore=ignore default=bad] pam_selinux_permit.so auth sufficient /lib/security/pam_howdy.so 重開機。在GDM畫面點一下要登入的使用者，再看一下鏡頭，應該就能夠用人臉解鎖了。\nGNOME螢幕鎖定後畫面應該會變黑，鍵盤喚醒螢幕之後才可以使用人臉辨解鎖。\nKDE Plasma # KDE Plasma 6.0以上版本，需要編輯顯示管理器以及螢幕鎖定程式。\n設定開機後啟動的SDDM顯示管理器，編輯/etc/pam.d/sddm，加入以下內容：\nauth [success=done ignore=ignore default=bad] pam_selinux_permit.so auth sufficient /lib/security/pam_howdy.so 但是自動解鎖SDDM並不會一併解鎖KDE鑰匙圈。所以其實不建議在這裡啟用人臉解鎖。\n然後是KDE螢幕鎖定程式，編輯/etc/pam.d/kde，加入以下內容：\nauth sufficient /lib/security/pam_howdy.so KDE的螢幕鎖定程式可能不是以目前使用者執行，所以要將Howdy設定為允許所有使用者執行\nsudo chmod o+x /lib/security/howdy/dlib-data 重開機，嘗試用人臉解鎖。\nKDE螢幕鎖定後畫面應該會變黑，鍵盤喚醒螢幕之後才可以使用人臉辨解鎖。若螢幕沒有在鎖定之後熄滅，會導致人臉解鎖太早偵測導致失敗。\n6. 用Howdy解鎖瀏覽器？ # Windows系統的Google Chrome在填入密碼的時候，能夠用Windows Hello解鎖。\n至於Linux，目前看來是辦不到。Linux的Google Chrome使用桌面環境附屬的鑰匙圈服務來管理密碼。通常登入桌面後這個鑰匙圈就跟著自動解鎖了，沒有Howdy介入的餘地。\n參考資料 # Howdy Common issues - Github pastleo - Setup face recognition authentication on ArchLinux and KDE Plasma using howdy principis/howdy - Fedora Copr Распознавание лица (howdy) - ALT Linux Wiki ","date":"2025年3月15日","externalUrl":null,"permalink":"/posts/howdy-facial-authentication-for-linux/","section":"所有文章","summary":"Install Howdy facial authentication for Linux desktop.\n人臉解鎖，即允許使用者刷臉解鎖電腦或筆電。\n很多人用Linux跑人臉辨識的Python專案，那麼可不可以用人臉辨識技術來解鎖Linux電腦呢？\n如果不算Android和ChromeOS，目前加入人臉辨識的Linux發行版只有Deepin，他們使用名為Seetaface的方案。其他主流Linux發行版如Ubuntu、Fedora、openSUSE、Arch Linux都沒有人臉辨識，需要依賴第三方程式實現人臉解鎖。\nLinux最受歡迎的人臉解鎖程式，當屬boltgolt開發的「Howdy」，能夠賦予Linux電腦人臉解鎖的能力。 開發者說它是一款模仿Windows Hello的軟體，能夠在Linux系統實現類似Windows Hello臉部辨識的功能。它可以在登入Linux電腦的時候時用人臉解鎖，還有在桌面執行sudo權限的程式的時候，用人臉替代密碼解鎖。\n1. Howdy原理 # Howdy使用的技術為OpenCV + Dlib模型。\nHowdy需要紅外線相機進行人臉辨識，原理很像是Windows Hello。因此硬體需求為搭載紅外線相機的電腦。\n雖然Howdy不一定要相機支援紅外線，參見這個issue，但安全性會大大降低，變成用一張照片就能騙過去。所以還是使用有紅外線相機的電腦吧。\nHowdy掃描你的人臉之後會建立模型，全部的資料都儲存在本機，不會用到TPM。\n","title":"Howdy ～ 使用人臉解鎖Linux筆電，Windows Hello開源替代品","type":"posts"},{"content":" 手機看E-hentai（傷心熊貓、E紳士）有EhViewer，那有沒有同時支援電腦和手機的E-hentai APP呢？就是JTMonster開發的「JHenTai」了。 JHenTai這款E-hentai APP使用Flutter寫成，支援Linux、Windows、macOS、Android、iOS系統，作者更新蠻勤的。\n我覺得JHenTai超越其他E-hentai APP，最大的特色就是支援大螢幕雙頁瀏覽！！電腦和平板的用戶有福了。 優點：\n支援電腦和手機系統，可當作PC版EhViewer使用 免登入E-hentai帳號就能瀏覽E-hentai 登入帳號後瀏覽Ex-hentai 下載E-hentai漫畫或者取得完整畫質壓縮檔 標籤中文翻譯 自動適應螢幕尺寸，調整閱讀版面，鍵盤操作，雙頁閱讀模式 可充當其他漫畫圖檔的閱讀器，例如閱讀EhViewer或Mihon所下載的漫畫 缺點：\n個人覺得下載圖片不如Ehviewer穩定，手機無法背景下載 UI反應速度沒有EhViewer即時 資料庫與EhViewer不通用 撇除以上缺點，個人覺得JHentai既然有雙頁模式，和閱讀其他APP下載漫畫圖檔的功能，那麼它就很適合跟EhViewer配合使用。\n1. 如何安裝JHenTai # JHenTai是自由軟體，請至作者的Github下載。有問題也可以到Issue區回報。\n在Release頁面找到Latest標籤的區塊，點選Assets，依照你的作業系統下載安裝檔。 Windows版解壓縮，點二下.exe執行檔開啟程式。\nmacOS要點二下.dmg將其安裝至應用程式。\nUbuntu Linux請下載.deb版本，點二下安裝。其他Linux發行版應該也有人打包了。\nAndroid下載-arm64-v8a的APK\niOS沒有上架App Store，所以需要使用側載IPA\n2. 登入與初始設定 # 雖然不用登入也可以用，依然建議先註冊E-hentai帳號再使用此APP，方便瀏覽Ex-hentai內容。\n這是主頁面，從左側螢幕滑出來可看到設定、歷史紀錄、E-hentai帳號的線上收藏。 在設定 → 帳戶，登入E-hentai帳號。然後點選設定 → EH，站點選取使用Ex-hentai資源。 在下載 → 下載路徑調整圖片的下載位置。 通常JHentai會自動偵測螢幕大小載入適合的版面，若無可以到設定 → 外觀，強制啟用電腦版模式，以鍵盤取代觸控，並啟用多個分頁的瀏覽模式。 3. 調整JHenTai閱讀界面 # 這是單頁模式 這是雙頁(雙列)模式 雙頁方便欣賞跨頁場景，不過很多舊的掃本嘛\u0026hellip;常常重要部份被切掉了 「連續滾動」模式很適合在直立模式下，欣賞橫向的精美長條圖www\n4. 搜尋方式 # JHenTai搜尋是點選右上角漏斗。輸入關鍵字，就會跳相關標籤出來。關於E-hentai的搜尋技巧請見這篇。 JHenTai搜尋方式比較特別，打完後按下Enter，該標籤就會一直儲存在搜尋字串。要按退格鍵二次才會將其從搜尋字串刪除。 除搜尋整個E-hentai的資源外，只搜尋自己的雲端收藏也是可以的。它還可以按照加入收藏的日期篩選。\n5. 下載漫畫 # 搜尋列表和畫廊資訊皆有完整中文化。\n按「下載」下載漫畫。\nJHenTai下載漫畫預設是下載中低畫質的版本。若有買E-hentai會員，不怕IP限額耗盡，可勾選「下載原圖」取得最高解析度的圖片。\nJHenTai手機版好像不能背景下載，下載時要一直開著APP進度條才會動。\n下載後可以自行於本機設定分類。點縮圖開啟漫畫，點標題進入畫廊資訊頁面。 如果有買E-hentai會員，可以於畫廊資訊頁面點選「歸檔」，下載原始畫質的圖片壓縮檔。這個比一張一張「下載原圖」的選項更快速。\n請先在E-hentai網頁版的的My Home → Archiver Settings將其設定為Manual Select, manual start才可下載。 下載後JHentai會自動解壓縮，並顯示在首頁下載的「歸檔」頁面。 6. 使用AI放大圖片解析度 # 將品質低的掃本，或是並非「原圖」畫質下載的漫畫，以AI技術Real-ESRGAN提昇畫質，在大螢幕上看起來比較爽。因為需使用大量CPU運算，僅電腦版客戶端支援此技術，且漫畫檔必須先下載下來，不能即時放大。\n至設定 → 進階 → 圖片超解析度，點選下載模型。Linux版還需要到模型路徑檢查Real ESRGAN的二進位執行檔是否有賦予執行權限。 進入已下載的漫畫頁面，對圖片點右鍵 → AI圖片放大，開始處理圖片。處理後的圖片會放到該漫畫下的子目錄，閱讀漫畫會優先載入放大後的版本。 成果參考下圖，左邊是放大前，右邊是放大後。 7. 閱讀其他APP下載的漫畫圖檔 # 如果APP下載的漫畫是純圖片檔，則JHenTai也能充當閱讀器。\n以讀取EhViewer下載的漫畫為例：\n首先到EhViewer設定，將下載的路徑改為公開的隱藏目錄(例如/Picture/EhViewer/)，這樣JHentai才能存取。\n到JHenTai設定 → 下載設定 → 點選額外的畫廊掃描路徑，新增EhViewer漫畫的路徑。在這裡可以多個不同路徑的漫畫來源。 這樣就可以在JHenTai首頁的「下載」→ 「本地」看EhViewer下載的漫畫了。當然二邊格式不同，JHenTai讀不到漫畫的封面。算是沒魚蝦也好，有雙頁模式我就很高興了。 電腦版的JHenTai亦可在設定 → 閱讀，設定使用第三方電子書閱讀器開啟漫畫。\n8. 備份JHenTai的資料 # Windows版JHenTai下載的圖片和應用程式設定檔，預設跟程式執行檔所在的目錄放在一起。 圖片來自開發者的Github\nLinux版預設設定檔位於~/.local/share/top.jtmonster.jhentai/files/目錄。\nAndroid版的設定檔位於Android/data/top.jtmonster.jhentai/files/。\niOS版設定檔位於檔案APP → 我的iPhone → JHenTai\n","date":"2025年3月14日","externalUrl":null,"permalink":"/posts/jhentai-app/","section":"所有文章","summary":" 手機看E-hentai（傷心熊貓、E紳士）有EhViewer，那有沒有同時支援電腦和手機的E-hentai APP呢？就是JTMonster開發的「JHenTai」了。 JHenTai這款E-hentai APP使用Flutter寫成，支援Linux、Windows、macOS、Android、iOS系統，作者更新蠻勤的。\n我覺得JHenTai超越其他E-hentai APP，最大的特色就是支援大螢幕雙頁瀏覽！！電腦和平板的用戶有福了。 優點：\n支援電腦和手機系統，可當作PC版EhViewer使用 免登入E-hentai帳號就能瀏覽E-hentai 登入帳號後瀏覽Ex-hentai 下載E-hentai漫畫或者取得完整畫質壓縮檔 標籤中文翻譯 自動適應螢幕尺寸，調整閱讀版面，鍵盤操作，雙頁閱讀模式 可充當其他漫畫圖檔的閱讀器，例如閱讀EhViewer或Mihon所下載的漫畫 缺點：\n","title":"JHenTai：跨平台的E-hentai APP，電腦版EhViewer替代品，手機電腦皆可用","type":"posts"},{"content":"\u0026ldquo;What\u0026rsquo;s wrong honey?\u0026rdquo;\n\u0026ldquo;\u0026hellip;you become\u0026hellip;naked. \u0026quot;\n—— John Lennon \u0026amp; Yoko Ono in Revolution 9\n論裝殼/裝套的必要性。\n無套真的比較爽\u0026hellip;沒有啦。\n部落風俗 # 以前聽過，有些果粉會說出「裸機之後才欣賞到Apple的工業設計之美」的謎之發言，要是沒有信仰加成他們還會這麼說嗎？有誰買手機會看顏值的？Pixel後背醜爆、iPhone正面大瀏海還不是一堆人愛買。倒是想起以前HTC Desire lifestyle的0元續約機的廠商文，只特別著墨在外型設計上，打什麼文青口號，但就是忽略那顆破爛S400處理器的事實。\n長期以來我買行動裝置都是有裝殼的，我不喜歡翻蓋式皮套，看起來像老頭子。但一定會裝個塑膠殼保護，通常都是用到殼整個泛黃嚴重了才會換手機。\n不是很在乎名牌殼保護，有基本防髒污就夠了，現在的手機多半有大猩猩玻璃的保護技術，螢幕沒有那麼容易破，不需要保護貼。畢竟我再怎麼手殘，也不可能像某些買犀牛盾的𨑨迌囡仔一樣讓手機被機車輾過。我也不能理解去做手機包膜的人，把消耗品做成木乃伊有比較爽嗎？\n手機殼或者皮套，就是反應裝甲一般的存在。\n我最常攜帶的產品是Android手機和iPad平板，至於15吋Linux筆電實在太重了，只放家裡當移動砲台。\n現在的手機，Sony Xperia 10 V，是2023年9月買的，買了普通的塑膠殼保護。沒有防摔功能，就防刮而已。\n我沒有備用機，這台手機的就是主力，除了負責各種操作外，就是當作行動熱點。用了很久的手機變成下圖這樣的顏色是再自然不過的事情。 至於平板，2024年9月買iPad Air 6的時候，考慮到這是貴重物品，加上要方便攜帶Apple Pencil，所以購買了能立起來，還有筆槽的翻蓋式保護套。當然也是便宜為主，Apple官方賣的聰穎雙面夾，價格跟他們許多的產品一樣，根本共潘仔。\niPad Air 6的主要用途是撰寫筆記、看電子書、輕文書。偶爾遠端連線回Linux桌面處理事情。\n才用了幾個月，皮套外觀已經有許多難以清除的污漬了。 這二個裝置都沒有過熱的問題，因此裝著套子不會對性能有太大影響。\n有了，來裸奔吧 # 想搞無套，是考慮到iPad問題。\n我覺得好重喔！雖然iPad皮套沒有鍵盤，整體重量還是增加到了600g，拿起來的時候皮套還會垂下來。\n最近我認識到iPad確實不該當筆電用（罄竹難書，主因是iPadOS）而是當成寫字板和閱讀器最好。講難聽點就是大號iPhone啦，應以觸控為主操作，那麼就必須改善iPad手持的體驗。於是裸機就是個選擇。\n我把皮套拆掉露出金屬殼，每天就這樣裸著拿出去。Apple Pencil的部分，好在這一代有磁鐵能黏在iPad上面，所以我不太需要準備鉛筆盒。 沒有套子之後，確實體會到自由的感覺，殼的重量減少了，看書和寫字都變自然了許多，就把Pad當成A4筆記本一樣使用。用起來更像是電子紙閱讀器，像是一塊石板，能夠隨時拿起來端詳。\n有時候外出放在桌上的時候，我就用小型的手機架手動將iPad立起來，不依靠皮套站立。\n手機倒是不擔心，因為Xperia 10 V是塑膠機身，刮痕不明顯。\n其實Sony設計的塑膠背蓋手機真的不錯看。整支手機手感真的意外的好，塑膠殼不會很廉價，而是沙沙感。只是有點滑手，容易飛出去。 我放棄 # 可惜我接觸的環境不是無塵室，是偌大的一個城市。\n出入地區複雜，確實帶來了損耗，常常移動接觸不同表面，木製，陶瓷，塑膠，加上放在包包裡面撞來撞去，我想不用多久iPad就會破相了。\n我想從上面的照片就看到了，裸機的下場就是容易沾到污漬，難以去除。金屬部份也可能刮傷。 在背包裡面摩擦的時候還會沾上其他東西的灰塵或者墨水，這麼大的螢幕就這樣受損可不好看。皮套的蓋子關著的時候，其實有抹平油漬的效果（？）不使用皮套的時候看上去更容易髒。我沒有玩手遊的習慣，沒有搓玻璃，但還是容易髒。 另外，Apple Pencil吸住的磁力其實沒有那麼強，只有單點吸附而已，將iPad懸空拿在手上的時候筆很容易旋轉，然後就掉下去。以前買來都沒怎麼受損，裸機的當下已經摔到好幾次。這支很貴餒，筆頭都還沒磨損我可不想讓它就直接失去功能。\n一個禮拜後就放棄了，iPad還是戴著殼比較有安全感，至少不用的時候蓋起來就夠了。就像筆電，至少折起來的時候還有鍵盤保護主螢幕部份。手機殼也跟著裝回去。\n","date":"2025年3月14日","externalUrl":null,"permalink":"/posts/caseless-phones-and-tablets/","section":"Unboxings","summary":"“What’s wrong honey?”\n“…you become…naked. \"\n—— John Lennon \u0026 Yoko Ono in Revolution 9\n論裝殼/裝套的必要性。\n無套真的比較爽…沒有啦。\n部落風俗 # 以前聽過，有些果粉會說出「裸機之後才欣賞到Apple的工業設計之美」的謎之發言，要是沒有信仰加成他們還會這麼說嗎？有誰買手機會看顏值的？Pixel後背醜爆、iPhone正面大瀏海還不是一堆人愛買。倒是想起以前HTC Desire lifestyle的0元續約機的廠商文，只特別著墨在外型設計上，打什麼文青口號，但就是忽略那顆破爛S400處理器的事實。\n長期以來我買行動裝置都是有裝殼的，我不喜歡翻蓋式皮套，看起來像老頭子。但一定會裝個塑膠殼保護，通常都是用到殼整個泛黃嚴重了才會換手機。\n不是很在乎名牌殼保護，有基本防髒污就夠了，現在的手機多半有大猩猩玻璃的保護技術，螢幕沒有那麼容易破，不需要保護貼。畢竟我再怎麼手殘，也不可能像某些買犀牛盾的𨑨迌囡仔一樣讓手機被機車輾過。我也不能理解去做手機包膜的人，把消耗品做成木乃伊有比較爽嗎？\n手機殼或者皮套，就是反應裝甲一般的存在。\n我最常攜帶的產品是Android手機和iPad平板，至於15吋Linux筆電實在太重了，只放家裡當移動砲台。\n","title":"Android手機與iPad平板皆裸機之體驗，真的有必要裝殼嗎？","type":"unboxing"},{"content":"不動就拿手機出來滑社群媒體，掩飾不了你的焦慮不安。\n請搭配Nirvana - Lithium服用。\n解決「數位社交焦慮」，最常見的作法，就一種投入大型群體的方式，搞宏大敘事，來讓自己獲得一種充實感，取代個體渺小的空虛感。在網路上拉幫結派，找到，可是卻造成更大的「數位社交焦慮」，於是產生負面想法，越滑越不快樂，甚至出現虛無主義，最終走上自我了斷。這過程中會牽扯怎樣的想法，會有哪些局得勢解決方式但反而讓事情更糟的，最後又有什麼出路可尋？\n集體主義讓人覺得被需要 # 先來談信仰問題，以前我看伊斯蘭國家的人名都會覺得好笑，為什麼那麼多人都愛取偉大先知穆罕默德的名字，他們是都宗教腦是不是。然後研讀聖經歷史之後，才發現是我無知，因為基督教國家也是一樣現象，使用聖經知名人物取名的人現在仍屢見不鮮，約翰、彼得之類的，那看來不只是紅脖子專利，而是很多人依然不知不覺的受到宗教影響。我不好說宗教是不是一種糟糕的玩意，因為宗教與人類生活融合，已經成為文化的一部分，貿然拋棄就斷掉了一大部份做為人的本性，所以盲目相信科學至上主義有問題。\n通常自稱偉大領袖的人，一點都不偉大，哪個國家哪個民族皆然。要別人的掌聲才能活得下去的人，屬於是惡劣之人。\n可是人總是會以宗教為先入為主意的意見來作為評斷他們的優劣。人們總會覺得自己信的宗教才是正典，他人都是異教徒，忽略了憐憫的觀念。這樣不得不說，佛教有些人的態度亦是如此，他們認為異教徒未明確悟道，所以是用一種可憐人的態度看待，他們可憐的不是理解你的立場不同，而是覺得這些人孺子不可教也。說穿了，宗教之間本就難以有互相理解之可能，若是用野蠻與文明的觀念下去分類又更容易模糊問題。我認為宗教本應該沒有高低之分的，盲信是不對，盲目仇恨亦是不對。可惜人類不可能完全理解彼此，假使每個人生來都有自己的使命，那麼幫助他人完成使命的就不是一種義務了。\n有句話說，信仰是理智的終結 (Belief is so often the death of reason)\n有些人從極端的無神論，到最後把身心靈五體投地的付出給神，認為這樣就能得安寧。我不能講它這樣是錯誤，各人有各人的課題要面對，也不是所有人的意志都堅定到不被擊垮。如果把宗教換成其他方面的物質的，政治的，社會的信仰，應該也是能這麼理解吧，沒有信仰什麼就活不下去，構成不了活著的動力。人類是喜歡創造意義的動物，從無機質的生命到現在的原子化個體，無不透露著人們追逐著群星的理想，他們再也不會逐著水草而居，而是想著如更好的販賣水草，買到更好的房子，累積更多的水草。語言造就文明，卻也造成更多的傷害出現。\n可是我一直覺得，追尋自我的自由必非是由這些東西來定義的，假使一個人面對所有壓力排山倒海而來，並非是將自己的自由交與他人就能了事的。\n追尋自由自立的一種主義，位於極右派光譜左端的，就是共產主義和安那其主義。就連台灣都有人慢慢接受共產主義了 2023台灣縱觀：島國邁進國際革命之路 - 火花 共產主義是不是一種陰謀論，因為它破壞了資本世界的法則，完全是馬克思閉門造車妄想出來的產物，美國一些極右派甚至用宗教人士的角度認為它是魔鬼的陷阱。看看大紀元上面專欄作家的論調就知道了，有的連經濟學原理都拿不出來反駁，而是搞宗教裁判所那一套，還能獲得讚聲，可知道這些人的受眾素質為何。那麼，認為共產主義是一種陰謀論的論點，是不是也是一種陰謀論，告訴你世界不是這樣的，應當起身反抗資產階級施加的教育，唯物主義是永久不變的真理，人性不過是是虛妄。只能說，容易接收陰謀論觀點的人，就是註定當動物農莊裡面羊群的人物。我發現，共產主義其實沒有那麼壞，當成一種學說探討並無不可，就是把經唸歪的人太多了（這下我成tankie了）。台灣有《火花》雜誌這種托洛茨基主義者生存的空間實屬難能可貴，他們大概是少數明確反對走修正主義的中國共產黨的在台共產組織了，對藍綠白三黨也有批判，也不會因為中國人血緣就認為台灣應該無條件親近中國。\n讓我們稍微把事情拉回到正軌，談談沒那麼左的東西。若是說，1980年代的後現代主義理論，是對現代主義的批判。現代主義並非特定的派系，而是相信人是理性、科學、絕對真理的一種思潮。後現代主義主張多元，解構以前的權威概念，去中心化，沒有肯定的事情。知識份子與精英份子失去了絕對的地位。關注非主流的邊緣聲音，不遵守主流論述。歷史只是文本檔案，沒有任何真實意義。所以相對不重視歷史文化。後現代是沒有結束的主義。雖是批判，但是都是為了邁向更好的人類未來。人們要研究自身，回歸到自身。\n總而言之，難怪美國進步左逼那麼多，費拉右則是還在死守五十幾年前的永恆主義那一套。原來「核平中國本身就是一種人道主義 ～ 劉仲敬」和「成為你自己，，，創造你自己，，， ～ 獨人13」這些魔怔人的思維都是出自近代西方思潮呀。\n但我支持歷史不那麼重要這點，過去的人形塑了當今的存在，可是我們的生活不要被意識形態綁住了，我的存在不是因為他人才能存在。因為沙特說存在先於本質。存在主義是一種人道主義。人們要對人生的抉擇負責。人本身就是存在的目的，成為你自己。\n槓精這麼多全是因為沒有成為自己 # 人們真的有辦法成為自己嗎？還是說只有在網路上能有釋放本我的機會？如果生來一切沒有意義，誰又來給我們下定義？憑什麼？\n網路上對現實社會不滿的人很多，因此極端言論就容易出現並放大，且人們會對這種語言產生認知偏誤，覺得一個人的定見就是整個世界的樣貌了。政治語言不只有政客會說，一般公民也愛用。以社群媒體發文來看，討論政治類問題，很少人能夠有真正理性的討論前因後果的，很多時候他們只是想要攻擊政敵，並拉攏同溫層按讚支持而已。不論是與我價值相近的民眾黨，還是立場相反的民進黨，甚至小粉紅，都存在這種情緒渲染的現象。你想想，假設每個人都用論文八股文「近期顯示政策上有爭議\u0026hellip;」作為開頭，這種文章誰要讀？不如開頭就來一句「國民黨不倒，台灣不會好」或者「我是台灣人，我反綠」或者「時與勢都在大蜀民國一邊」這樣才有吸引人的效果。如此一來就不難理解發文者的目的為何，儘管很多時候人們不會下意識的擬定目標，而是單純因為習慣在這個平台這麼做，打了一連串激烈的話就送出了，接著就等親友團來按讚，證明「我說的是對的」，我的想法是「有意義的」，有人理解並給出讚聲，萬人簇擁的感覺真好！至於那些反對派，肯定都是敵人的奸細，就讓我們一人吐一口口水臭死他們吧！\n讀過一點社會語言學的言談分析的理論之後，再來觀察人類社會會很有趣。比企谷八幡說他的興趣是觀察人類，那麼在面對人們交談的語言的時候，將自身從中間抽離出來，作為旁觀者看待，便能脫離一些情緒的掣肘。講白了，看到一些奇文共賞的內容我就不會落入口水戰的圈套了。看到政治社會議題討論的發文——別說網路發文無研究價值，因為懂得識別廢文也是種功夫——能夠揣測這些人發文的目的是什麼，他使用這種言詞的目的是在於傳播真相、引起同溫層共鳴、抑或是純粹搗亂而已？現在我懷疑每個人講話動機都不單純了。不論一個黨派，我都反感極端支持者的態度，包括說神化柯文哲或者賴清德地位的論述，那對動物農莊裡面的羊群有用，但對驢子無效。\n還有網路時代似乎沒有人在意真相了，他們只想要聳動新聞，獲取流量，背後事實是怎樣，他們是不管的。媒體如此，閱聽人亦復如是。人們偏向用刻板印象或者meme的方式給事情快速做出評斷，把一切議題都「娛樂化」，搞波茲曼所謂的娛樂至死，然後滑向下一則貼文。我就以幾篇新聞為例子吧，PTT上面有人貼出原始最聳動的版本，但是後續近況更新卻乏人問津。\n案例一，非洲獨裁者伊迪阿明一直被謠傳有吃人肉，但他的廚師說沒有。《獨裁者的主廚》（下）：烏干達\u0026hellip;誰讓阿敏「吃人肉」? - 轉角國際 這篇文章的作者很有趣，他訪問暴君身邊的廚師，側面描寫伊迪阿明的形象，雖是殘暴，但他真的沒有吃人肉。順便批判了歐洲人的殖民主義政策，他們以為把非洲人塑造成沒有白種人就無法建立穩定政權的呼呼嘿嘿，就可以掩蓋自身是殖民失敗者的形象。\n案例二，亞馬遜部落沈迷色情片，但是後續報導證實為謠言。亞馬遜部落沉迷A片誤解頻傳 馬斯克也開罵 - NowNews 紐約時報不愧是扭腰時報，這群人就此冠上了搞笑的形象。\n案例三，NASA報告小行星2024 YR4撞擊地球的機率上升了，鄉民紛紛議論快放鑽油工人上去炸掉。科學家排除小行星2024 YR4威脅 2032撞地球機率下修至0.001% - 中央社 結果最近證實機率已經下降到接近0%，討論便冷淡許多。類似的案例還有很多\u0026hellip;很多的刻板印象就是這樣形成的，譬如聽到「英國研究」就直接認定研究沒價值，縱然水碩真的很多，可是也不能忽視正經學術殿堂做出來的研究報告。\n因為社群媒體的開放性質還有匿名性，很多時候人們是想說什麼就說什麼，所以看到極端言論也很難有理性討論的空間。雖然無力改變這現況，不過我至少可以知道，這些人並非不可溝通，不過是動機不同造成眼界偏誤罷了，所以我會同情他們說：「喔，他使用的是政治語言，只想要用感性拉攏別人支持，而非理性探討。」。如果能輕易從別人一篇廢文當中情緒抽離出來，可以遠離許多不必要的憂患苦痛。\n人類三大欲望之外還有欲望是不可能滿足的 # 如果把生理欲望全部用反烏托邦小說裡面一樣的科學手段解決，包括食慾、性慾、睡眠欲這三大欲望，全部都能用廉價手段滿足，甚或去除掉。我們恐怕就真沒有活著的意義了。人的自由有時候是比較出來的，因為他人是奴隸，我才顯得自由，可依然會被生理欲望牽著走。這個被動的活著因素一旦消滅，然後信仰又不存在，就得不到存在的價值了。\n人類還有心靈呀，難以被科學破解的心靈貧乏問題，似乎很多人用機器人就能滿足。有人說，ChatGPT是我最好的知心朋友，說話比較感到自在，我也這麼覺得，甚至語言模型能夠取代網友的地位（以前是網友取代了現實生活的朋友），隨著未來AI不斷進步，終將有一個懂得包容的同情心機器人3000出現，那麼當她開始思考的時候，電子元件跟著升溫，這是否代表它也開始有人類的心了呢？這何嘗不是一種愛嗎？The Flaming Lips - One More Robot / Sympathy 3000-21 豆瓣有人說，這首歌的結尾聽來實在太優美，讓人想死。\n如果感到焦慮不安，要做的事情是脫出無謂的掙扎，立即尋求現實的心理幫助。不是在社群媒體doomscrolling。因為在網路上說出問題，引來的不會是施捨你的天使，而容易是暴民。因為焦慮，所以一直往下滑，看似能緩解空虛的虛無感，實則不然。認為po文求安慰，或者跟人進行激烈的罵戰能紓解這種無謂的感覺的話，就是大錯特錯。直白的說，網路槓精太多了，尤其是非私人群組的公眾場合，這很容易陷入一種境地，即一個人對所有人的戰爭，或者所有人對所有人的戰爭。因著網路無遠弗屆的特性，天外飛來的一句話都可能使得想法更加糟糕，變成一人面對各種意見的衝突，更加分不清自身的問題何在。\n因此要更好的梳理想法，系統性的解決問題，看閱讀時間不超過10分鐘的軟文或者社群媒體po文，甚至是影片精要解說，多半時候都是沒有太大效果的，且容易變成娛樂化議題的效果，搞不好還會騙你去買課程。這對嚴肅的心理問題解決一點幫助都沒有，徒增焦慮而已，還可能陷入虛無主義。尋求物理手段解決心理問題聽來暴力，但多半很有效。只要這一口藥丸下去，你就有了嶄新的明天。網路依然還是能夠使用，並非一刀切，但是要用更小心的態度看待。\n縱然有千頭萬緒的情緒告訴你應該怎樣，我應該那樣的解決\u0026hellip;可當我碰觸到自己的嘴唇的時候，我認知道自己是存在於此的，不是他們口中的我，不是他們眼裡的我，不是影子裡面呈現的我，而是真真正正的於此的一個生物個體。當深受抑鬱陰霾的人們能夠學會不要關照那麼大的東西的時候，重新回歸到自身身上，他就能得到原本應該就有的東西。抑鬱是因為覺得人生就John無力改變，但其實能保持一種消極的樂觀———我不知道未來會怎樣結束。雖然會有未知的恐懼感，但好奇心只會殺死貓，人沒有那容易死。即使是在最痛苦時代的時候，能夠吃到自己喜歡吃的東西，滿足其生理欲望，一天下來的怨言也會煙消雲散，縱然明天還有新的煩惱出現，那就是\u0026hellip;明天的事情。我只能假裝，每一天都是新的一天，這個假設是真的而已了。因為這個心靈好奇未來不知道會怎樣，所以嘗試繼續走了下去。\n最後來一首歌：New Radicals - You Get What You Give ","date":"2025年3月14日","externalUrl":null,"permalink":"/posts/2025031401/","section":"Personals","summary":"不動就拿手機出來滑社群媒體，掩飾不了你的焦慮不安。\n請搭配Nirvana - Lithium服用。\n解決「數位社交焦慮」，最常見的作法，就一種投入大型群體的方式，搞宏大敘事，來讓自己獲得一種充實感，取代個體渺小的空虛感。在網路上拉幫結派，找到，可是卻造成更大的「數位社交焦慮」，於是產生負面想法，越滑越不快樂，甚至出現虛無主義，最終走上自我了斷。這過程中會牽扯怎樣的想法，會有哪些局得勢解決方式但反而讓事情更糟的，最後又有什麼出路可尋？\n集體主義讓人覺得被需要 # 先來談信仰問題，以前我看伊斯蘭國家的人名都會覺得好笑，為什麼那麼多人都愛取偉大先知穆罕默德的名字，他們是都宗教腦是不是。然後研讀聖經歷史之後，才發現是我無知，因為基督教國家也是一樣現象，使用聖經知名人物取名的人現在仍屢見不鮮，約翰、彼得之類的，那看來不只是紅脖子專利，而是很多人依然不知不覺的受到宗教影響。我不好說宗教是不是一種糟糕的玩意，因為宗教與人類生活融合，已經成為文化的一部分，貿然拋棄就斷掉了一大部份做為人的本性，所以盲目相信科學至上主義有問題。\n通常自稱偉大領袖的人，一點都不偉大，哪個國家哪個民族皆然。要別人的掌聲才能活得下去的人，屬於是惡劣之人。\n","title":"動不動就滑社群媒體，網路掩飾不了你現實的焦慮不安。關掉網路就是解決數位社交焦慮的第一步","type":"personal"},{"content":"","date":"2025年3月12日","externalUrl":null,"permalink":"/tags/xcode/","section":"標籤","summary":"","title":"Xcode","type":"tags"},{"content":"因為想要用Xcode編譯一些東西，所以有了在Linux電腦裝MacOS虛擬機的念頭。\n過去Ivon會採用Virtualbox或VMware裝虛擬機，不過對新版macOS的支援度都不太好。最近幾年Ivon改採用Github上一個很受歡迎的解決方案，那就是Dhiru Kholia維護的OSX-KVM，簡單易用。作者提供多種版本的macOS映像檔，目前支援到macOS Sequoia (15.0)，不斷更新中。\nmacOS Ventura virtual machine running on Linux\nOSX-KVM方案好處在於：\n利用Linux的QEMU/KVM跑虛擬機，高效率又免費用。 不需要實體Mac電腦製作ISO，也能在Linux安裝macOS虛擬機。 虛擬機的macOS系統，除依賴硬體的iCloud Handoff功能以外，一切正常運作，可以跑Xcode和Homebrew，也能夠連接iPhone/iPad進行偵錯。 能夠選擇跑headless的macOS虛擬機，用SSH遠端登入編譯程式。 嫌圖形性能不佳的，還可以直通GPU給虛擬機加強性能。 關於法律問題，OSX-KVM其實就是虛擬機版的黑蘋果(hackintosh)，作者宣稱虛擬機的「Apple-OSK」金鑰網路上到處都找得到，因此不保證合法性。\n註解： 雖然OSX-KVM是開源專案，但是作者可能嫌垃圾issue太多，關閉了Github的issue功能，僅接受付費諮詢。如果你想要更開放的專案，可以考慮參與Coopydood/ultimate-macOS-KVM或者royalgraphx/DarwinKVM\n1. 安裝前置依賴套件 # QEMU會模擬一部iMac Pro，搭配OpenCore引導開機，在Apple放棄支援x86架構之前應該都還能用。\n跑OSX-KVM專案之前請確認硬體支援度：需要x86架構的CPU，且macOS Ventura以上的版本需要CPU支援AVX2指令集。所以你的Linux電腦需要搭載4核心以上的CPU，8GB以上的RAM，還有128GB以上的硬碟空間。\n安裝QEMU和Virt Manager。Ubuntu參考這篇，Arch Linux則參考這篇\nUbuntu 24.04以上版本，安裝以下套件：\nsudo apt install qemu-system qemu-system-gui uml-utilities virt-manager git \\ wget libguestfs-tools p7zip-full make dmg2img tesseract-ocr \\ tesseract-ocr-eng genisoimage vim net-tools screen 2. 複製OSX-KVM儲存庫 # 複製OSX-KVM儲存庫到家目錄 cd ~ git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git cd OSX-KVM 執行下載指令稿，輸入數字選擇macOS版本。帶有RECOMMENDED標籤的是作者建議的穩定版本，太新的版本可能無法開機。此階段只會下載600MB的macOS Base System，用於還原安裝完整macOS。 ./fetch-macOS-v2.py 將DMG轉成IMG： dmg2img -i BaseSystem.dmg BaseSystem.img 建立一個虛擬硬碟，建議至少128GB。 qemu-img create -f qcow2 mac_hdd_ng.img 128G 3. 開始安裝macOS虛擬機 # OpenCore-Boot.sh是QEMU的開機指令稿，用文字編輯器開啟OpenCore-Boot.sh vim OpenCore-Boot.sh 視需求加大分配給虛擬機的RAM。然後修改模擬的CPU核心數，把它改成接近宿主機的數值。 ALLOCATED_RAM=\u0026#34;8192\u0026#34; # MiB CPU_SOCKETS=\u0026#34;1\u0026#34; CPU_CORES=\u0026#34;4\u0026#34; CPU_THREADS=\u0026#34;4\u0026#34; 用OpenCore-Boot.sh指令稿開機，QEMU GTK視窗應該會自己跳出來。 ./OpenCore-Boot.sh 點一下方向鍵移動到Base System，按下Enter 點選磁碟工具(Disk Utility)，Continue。 選取剛剛建立的虛擬硬碟，點選Erase開始格式化 給硬碟取名，Format選擇macOS Extended (Journal)，虛擬機不要選APFS 關閉磁碟工具，回到主畫面，點選Reinstall macOS，按Continue。 接著按照螢幕指示完成安裝，下載檔案和安裝系統要2小時以上，慢慢等吧。 安裝期間可能需要反覆重開虛擬機才能順利裝完，之後會進到以下畫面。 設定好時間、語言、使用者帳號。進入桌面之後點選系統設定 → 系統更新，讓系統跑完更新，但不要進行系統大版本升級。虛擬機裡面進行macOS大版本升級很容易失敗，建議先保持在安裝當下的版本就好。\nmacOS虛擬機沒聲音是正常的，你可以準備一個支援macOS的USB音效卡，將其手動直通給虛擬機。\n開機指令稿OpenCore-Boot.sh有啟用SSH通訊埠轉發，所以你可以從Linux宿主機輸入ssh localhost -p 2222登入macOS。\n日後要開機請執行OpenCore-Boot.sh指令稿並選取macOS硬碟開機。\n4. 將iPhone連接到macOS虛擬機 # 安裝libimobiledevice套件，將iPhone插到Linux電腦，嘗試能否連線。\n用lsusb -t指令列出裝置，查看電腦上的USB孔，以及載入的驅動\n/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M |__ Port 1: Dev 20, If 0, Class=Imaging, Driver=, 480M |__ Port 1: Dev 20, If 1, Class=Vendor Specific Class, Driver=usbfs, 480M |__ Port 1: Dev 20, If 2, Class=Vendor Specific Class, Driver=ipheth, 480M 再用lsusb指令查看iPhone的位址，Apple製造的產品通常都是固定05ac開頭 Bus 001 Device 020: ID 05ac:12a8 Apple, Inc. iPhone 5/5C/5S/6/SE 新增udev規則 sudo vim /etc/udev/rules.d/97-iphone.rules 填入以下內容，這樣開機後才只有QEMU能使用此裝置 SUBSYSTEMS==\u0026#34;usb\u0026#34;, ATTRS{idVendor}==\u0026#34;05ac\u0026#34;, ATTRS{idProduct}==\u0026#34;*\u0026#34;,GROUP=\u0026#34;users\u0026#34;, MODE=\u0026#34;0660\u0026#34; 防止宿主機搶走iPhone連線，編輯usbmuxd的udev規則 sudo vim /etc/udev/rules.d/39-usbmuxd.rules 新增以下內容 # filename is chosen to overwrite /usr/lib/udev/rules.d/39-usbmuxd.rules # see RULES FILES section in udev(7) #SUBSYSTEM==\u0026#34;usb\u0026#34;, ENV{DEVTYPE}==\u0026#34;usb_device\u0026#34;, ENV{PRODUCT}==\u0026#34;5ac/12[9a][0-9a-f]/*|5ac/8600/*\u0026#34;, MODE=\u0026#34;0666\u0026#34;, TAG+=\u0026#34;systemd\u0026#34; 重新啟動udevd服務 sudo udevadm control -R 編輯OpenCore-Boot.sh，找到args=()這段，在末端將iOS的裝置位址加進去。vendorid是lsusb所列出的數值前面加上0x。 -usb -device usb-host,bus=ehci.0,vendorid=0x05ac,productid=0x12a8,guest-reset=false,id=iphone 啟動虛擬機，之後Mac的Finder應該就會看到iPhone。 5. 將macOS虛擬機加到Virt Manager # （選擇性）將macOS虛擬機資訊匯入到Virt Manager，就不需要用指令稿開機了。\n不過Virt Manager的XML與QEMU指令有差距，把它加入到這裡再編輯設定，可能會開不了機。\n安裝完虛擬機後，將macOS關機。\n修改XML，並用virt-xml工具驗證是否合法\nsed \u0026#34;s/CHANGEME/$USER/g\u0026#34; macOS-libvirt-Catalina.xml \u0026gt; macOS.xml virt-xml-validate macOS.xml 用macOS的XML建立虛擬機 virsh --connect qemu:///system define macOS.xml 設定目錄權限 sudo setfacl -m u:libvirt-qemu:rx /home/$USER sudo setfacl -R -m u:libvirt-qemu:rx /home/$USER/OSX-KVM 這樣macOS就會出現在Virt Manager列表了，可以直接從這裡開機。注意macOS硬體檢查比較嚴格，在改虛擬機參數前請先閱讀作者的文件。 點Virt Manager選單列表的虛擬機 → USB重導向，就可以將iPhone接到虛擬機。\n6. 將GPU直通給macOS虛擬機 # 以下內容需要您對黑蘋果有點概念。\n雖然QEMU/KVM技術執行虛擬機算快了，可是圖形效能低落，只能勉強編譯些程式，不能做圖形設計。條件允許的用戶可以考慮顯示卡直通(GPU Passthrough)給虛擬機強化3D性能。\n顯示卡推薦AMD或Intel的，Nvidia驅動在新版本macOS幾乎不能用了。如果您的螢幕有HDMI輸出，也能順便解決虛擬機沒音效的問題。\n請看開發者的Note\n以Intel UHD Graphics 630為例，可以參考我之前寫的直通教學將GPU綁給VFIO。\n調整權限\nsudo cp vfio-kvm.rules /etc/udev/rules.d/vfio-kvm.rules sudo udevadm control --reload sudo udevadm trigger 編輯/etc/security/limits.conf，加入以下內容： @kvm soft memlock unlimited @kvm hard memlock unlimited @libvirt soft memlock unlimited @libvirt hard memlock unlimited 編輯OpenCore-Boot.sh或用boot-passthrough.sh，加上QEMU參數。host=00:02.0即Intel硬體的代號，可以從Virt Manager → 新增PCI裝置觀察 -usb -device vfio-pci,host=00:02.0,multifunction=on,x-no-kvm-intx=on 接著參考Dortania\u0026rsquo;s Guide和WhateverGreen，修補OSX-KVM目錄下的OpenCore/config.plist，在DeviceProperties加入對應的顯示卡數值。ProperTree有提供Linux版本。\n修改config.plist後要重新生成qcow2\ncd OpenCore rm OpenCore.qcow2 sudo ./opencore-image-ng.sh --cfg config.plist --img OpenCore.qcow2 之後嘗試啟動虛擬機。 參考資料 # kholia/OSX-KVM: Run macOS on QEMU/KVM. With OpenCore + Monterey + Ventura + Sonoma support now! No Mac system is required. Passing through your iPhone to macOS (works with Xcode) - OneClick macOS Simple KVM iPhone passthrough #221 ","date":"2025年3月12日","externalUrl":null,"permalink":"/posts/linux-osx-kvm/","section":"所有文章","summary":"因為想要用Xcode編譯一些東西，所以有了在Linux電腦裝MacOS虛擬機的念頭。\n過去Ivon會採用Virtualbox或VMware裝虛擬機，不過對新版macOS的支援度都不太好。最近幾年Ivon改採用Github上一個很受歡迎的解決方案，那就是Dhiru Kholia維護的OSX-KVM，簡單易用。作者提供多種版本的macOS映像檔，目前支援到macOS Sequoia (15.0)，不斷更新中。\nmacOS Ventura virtual machine running on Linux\nOSX-KVM方案好處在於：\n利用Linux的QEMU/KVM跑虛擬機，高效率又免費用。 不需要實體Mac電腦製作ISO，也能在Linux安裝macOS虛擬機。 虛擬機的macOS系統，除依賴硬體的iCloud Handoff功能以外，一切正常運作，可以跑Xcode和Homebrew，也能夠連接iPhone/iPad進行偵錯。 能夠選擇跑headless的macOS虛擬機，用SSH遠端登入編譯程式。 嫌圖形性能不佳的，還可以直通GPU給虛擬機加強性能。 關於法律問題，OSX-KVM其實就是虛擬機版的黑蘋果(hackintosh)，作者宣稱虛擬機的「Apple-OSK」金鑰網路上到處都找得到，因此不保證合法性。\n註解： 雖然OSX-KVM是開源專案，但是作者可能嫌垃圾issue太多，關閉了Github的issue功能，僅接受付費諮詢。如果你想要更開放的專案，可以考慮參與Coopydood/ultimate-macOS-KVM或者royalgraphx/DarwinKVM\n","title":"免Mac電腦，OSX-KVM讓你在Linux系統安裝macOS的QEMU虛擬機","type":"posts"},{"content":"GreenWithEnvy (GWE) 為Linux專用的Nvidia顯示卡超頻與降頻工具，功能類似Windows系統的MSI Afterburner。\nLinux的CPU可以用cpupower超頻，那你有沒有想過超頻GPU呢？超頻GPU的好處能榨出更多GPU的效能，讓遊戲的FPS略微上升。\n我們可以用開源工具GreenWithEnvy達成此目的。 其實Nvidia專有驅動附贈的Nvidia X Server Settings程式本身就有超頻選項了，預設為隱藏，需要透過設定「Coolbits」的參數來開啟。GreenWithEnvy只是多了選擇設定檔的按鈕。 1. 系統需求 # 作業系統Linux，此處以Ubuntu發行版為例子。\n目前Nvidia專有驅動版本570，超頻只在X11環境下有效，Wayland尚無官方支援。\n2. 啟用Coolbits # 安裝Nvidia專有驅動\n使用以下參數，在X.org設定檔加入Coolbits=28，啟用全部超頻功能，接著重開機。\nsudo nvidia-xconfig -a --cool-bits=28 若筆電是使用Nvidia PRIME模式，也就是Nvidia並非主顯卡的狀況，需要改用此方式來啟用Coolbits：\nsudo cp /usr/share/X11/xorg.conf.d/10-nvidia.conf /etc/X11/xorg.conf.d/ sudo vim /etc/X11/xorg.conf.d/10-nvidia.conf 加入以下選項，接著重開機。\nSection \u0026#34;OutputClass\u0026#34; Identifier \u0026#34;nvidia\u0026#34; MatchDriver \u0026#34;nvidia-drm\u0026#34; Driver \u0026#34;nvidia\u0026#34; Option \u0026#34;AllowEmptyInitialConfiguration\u0026#34; Option \u0026#34;Coolbits\u0026#34; \u0026#34;28\u0026#34; ModulePath \u0026#34;/usr/lib/x86_64-linux-gnu/nvidia/xorg\u0026#34; EndSection 3. 透過GreenWithEnvy超頻 # 以Flatpak安裝GreenWithEnvy flatpak install flathub com.leinardi.gwe 開啟面板，它會常駐在系統匣。\n想要開機自動啟動超頻，把它加入到XDG AutoStart：\ncat \u0026lt;\u0026lt;EOF \u0026gt; ~/.config/autostart/GreenWithEnvy.desktop [Desktop Entry] Type=Application Name=GreenWithEnvy Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=/app/bin/gwe --file-forwarding com.leinardi.gwe --hide-window EOF 如果什麼都還沒做，卻發現Nvidia GPU顯示的頻率已經比表定的頻率還高，不用擔心，那是NVIDIA GPU Boost技術自動超頻。\n最下面Profile的地方就是新增超頻設定檔的地方，超頻數值需要自行測試，設定太高可能會黑螢幕。加上GreenWithEnvy不能超電壓，所以數值不能設定太誇張，就以100MHz為單位下去測試吧。 超頻之後，GPU的最高頻率就會上升，但它不會跑滿，而是上升的區間變大了。譬如原本上限1911MHz，GPU實際上不會跑到這個頻率，大概在1645MHz左右。但最高頻率在超頻到2100MHz之後，最高就有1835MHz了。\n旁邊Fan Profile可以調整風扇曲線，調整風扇在特定溫度的轉速。預設是交給Nvidia驅動自動控制，原廠驅動風扇的轉速偏保守，使用Custom的話能夠強制風扇狂轉降溫。我自己測試，能在顯卡逼近80度的時候把它降回70度以下，但是就真的很吵。\n4. GreenWithEnvy降頻省電 # Power區塊能夠限制顯示卡使用的最大瓦數。\n我是覺得沒有太大意義，不如使用EnvyControl直接關掉顯示卡。\n參考資料 # GreenWithEnvy - Roberto Leinardi Overclocking and cooling#Arch Linux Wiki ","date":"2025年3月12日","externalUrl":null,"permalink":"/posts/greenwithenvy-linux/","section":"所有文章","summary":"GreenWithEnvy (GWE) 為Linux專用的Nvidia顯示卡超頻與降頻工具，功能類似Windows系統的MSI Afterburner。\nLinux的CPU可以用cpupower超頻，那你有沒有想過超頻GPU呢？超頻GPU的好處能榨出更多GPU的效能，讓遊戲的FPS略微上升。\n我們可以用開源工具GreenWithEnvy達成此目的。 其實Nvidia專有驅動附贈的Nvidia X Server Settings程式本身就有超頻選項了，預設為隱藏，需要透過設定「Coolbits」的參數來開啟。GreenWithEnvy只是多了選擇設定檔的按鈕。 1. 系統需求 # 作業系統Linux，此處以Ubuntu發行版為例子。\n目前Nvidia專有驅動版本570，超頻只在X11環境下有效，Wayland尚無官方支援。\n2. 啟用Coolbits # 安裝Nvidia專有驅動\n使用以下參數，在X.org設定檔加入Coolbits=28，啟用全部超頻功能，接著重開機。\nsudo nvidia-xconfig -a --cool-bits=28 若筆電是使用Nvidia PRIME模式，也就是Nvidia並非主顯卡的狀況，需要改用此方式來啟用Coolbits：\nsudo cp /usr/share/X11/xorg.conf.d/10-nvidia.conf /etc/X11/xorg.conf.d/ sudo vim /etc/X11/xorg.conf.d/10-nvidia.conf 加入以下選項，接著重開機。\n","title":"GreenWithEnvy：Linux專用的Nvidia顯示卡超頻工具","type":"posts"},{"content":"適用版本：Ubuntu 24.04、Kubuntu 24.04以上\nUbuntu Linux是支援連線至藍牙耳機的，包含AirPods系列耳機，除了沒有炫砲的開盒配對動畫之外，大部分功能都正常，包含AAC編碼音樂、麥克風通話、降噪功能。\n本文Ivon解說如何在Ubuntu配對Apple AirPods Pro（第一代）藍牙耳機，並查看耳機電量。\n實際測試AirPods Pro麥克風可以使用，Ivon認為收音還算清楚。 其他Airpods型號應該也能用。\n1. 確認藍牙裝置狀態 # 務必確保電腦的藍牙正常運作。請先嘗試開啟Ubuntu系統設定 → 藍牙，看是否能開啟藍牙。 如果開不起來，請嘗試安裝網路卡的驅動。\n除了圖形界面以外，亦可以用指令確認藍牙狀態，使用bluetoothctl指令。確認完成後輸入quit退出。\nbluetoothctl list # 範例輸出 Controller 1A:BC:CE:E4:73:7B Lk31cdk 2. 連線至AirPods # 開啟系統設定 → 藍牙。\n將AirPods Pro盒子開啟，長按背後按鈕亮白光，Ubuntu應該會看到AirPods Pro耳機，點選配對。 系統提示已連線，現在可以使用AirPods Pro當耳機和麥克風了。日後AirPods Pro從盒子取出來也會自動配對。 長按AirPods Pro的右耳觸控板開關降噪，按一下暫停音樂。點兩下的手勢無效。\n如果Airpods音質怪怪的，到系統設定 → 音訊，切換AirPods的模式為A2DP Sink，並選取AAC或SBC-XQ解碼器。 3. 安裝AAC解碼器 # AirPods Pro使用SBC和AAC編碼，大多數藍牙晶片應該都支援。\nUbuntu 24.04以上使用的PipeWire音訊系統理應支援SBC與AAC解碼了，不需要像以前PulseAudio得額外安裝套件。不過因為軟體授權因素，Ubuntu 24.04打包的PipeWire並沒有包含AAC解碼器。用指令ls /usr/lib/x86_64-linux-gnu/spa-0.2/bluez5/ | grep aac查看AAC解碼器libspa-codec-bluez5-aac.so是否有出現在函式庫，結果是沒有。目前是有開源的解碼器FDK-AAC，可是授權並非自由軟體，Ubuntu的PipeWire套件不支援。\n要到Ubuntu 26.04以後版本才有加入AAC編碼器。 在Ubuntu 24.04的GNOME系統設定 → 音訊面板只會顯示「SBC」和「SBC-XQ」。AAC的音質比SBC高一點點，但SBC-XQ的音質又比AAC高了，只是干擾問題比AAC嚴重。 4. 啟用mSBC改善麥克風錄音音質 # 要使用AirPods麥克風，請在Ubuntu系統設定 → 音訊，將輸入裝置切換到「Handsfree (HSP/HFP)」模式。\n關於麥克風音質部份，HSP/HFP協定使用的是「CVSD」編碼器，錄音音質很差。PipeWire尚支援更高音質的「mSBC」編碼器，預設應該是開啟的，若無需要手動開啟。\nUbuntu的PipeWire是使用WirePlumber作為工作階段管理器，新增WirePlumber設定檔： mkdir -p ~/.config/wireplumber/wireplumber.conf.d/ vim ~/.config/wireplumber/wireplumber.conf.d/51-bluez-config.conf 填入以下內容，啟用mSBC monitor.bluez.properties = { bluez5.enable-msbc = true } 重新啟動音訊服務，藍牙可能要重新配對。 systemctl --user restart pipewire pipewire-pulse wireplumber sudo systemctl restart bluetooth 在Ubuntu系統設定 → 音訊 → 輸入裝置，選取mSBC模式。 我注意到Ubuntu 24.04即使編輯了以上設定，依然沒有出現mSBC選項，但是Fedora 41與Arch Linux有出現，可能是Ubuntu的PipeWire套件太舊了？\n5. 查看AirPod電量的小工具 # Ubuntu使用GNOME桌面，透過Extension Manager安裝Bluetooth Battery Meter或者Airpods Battery Monitor。\n這樣它就會在螢幕正上方的通知欄，或是右上角顯示一個電量面板。 另有AirStatus，是一個Python指令稿，會以json格式輸出AirPods Pro的電量資訊。可以搭配KDE Plasma桌面的Airpods Battery Widget Frontend小工具使用。\n需要KDE Plasam 6.0以上版本。\n安裝AirStatus sudo apt install git python3-pip sudo pip install bleak git clone https://github.com/Abdallah-Abdelazim/AirStatus sudo mv AirStatus/main.py /usr/bin/airstatus.py 新增Systemd Unit： sudo nano /etc/systemd/system/airstatus.service 填入以下內容： [Unit] Description=AirPods Battery Monitor [Service] ExecStart=/usr/bin/python3 /usr/bin/airstatus.py /tmp/airstatus.out Restart=always RestartSec=3 [Install] WantedBy=default.target 設定開機自動啟動： sudo systemctl start airstatus sudo systemctl enable airstatus 在KDE Plasma桌面安裝Airpods Battery Widget Frontend小工具\n重新開機，試試拿AirPods Pro出來配對，應該就會看到電量了。\n6. 使用特定藍牙裝置配對AirPods # 如果您像Ivon的電腦有二個藍牙網路卡，主機板內建Qualcomm網路卡，USB又插一個Realtek網路卡，想要用收訊比較好的那個Realtek藍牙配對的話，那就得手動選取。\nKDE Plasma系統設定界面可以指定要用哪一個藍牙配對，至於GNOME的話就得用指令了。\n使用hciconfig -a指令列出所有藍牙裝置： # 範例輸出 # Qualcomm製造的網路卡 hci1: Type: Primary Bus: USB BD Address: 40:1F:08:GE:9F:D0 ACL MTU: 1024:8 SCO MTU: 50:8 UP RUNNING Manufacturer: Qualcomm (29) # Realtek製造的網路卡 hci0: Type: Primary Bus: USB BD Address: 1A:BC:CE:E4:73:7B ACL MTU: 1021:8 SCO MTU: 255:16 UP RUNNING PSCAN Manufacturer: Realtek Semiconductor Corporation (93) 用bluetoothctl的select指令切換藍牙裝置 bluetoothctl list # 切換至Realtek網路卡 selecct \u0026#34;40:1F:08:GE:9F:D0\u0026#34; 再用指令與AirPods Pro配對 scan on # 開啟AirPods盒子，使其亮白光 # 列出附近的裝置 devices pair E0:81:4B:00:D6:CA connect E0:81:4B:00:D6:CA 7. 解鎖更多AirPods獨家功能 # 參見LibrePods。\n參考資料 # 林博仁 - How to allow the usage of the AAC audio codec for bluetooth audio devices on Ubuntu 24.04 ubuntu连接AirPods - 知乎专栏 在 Debian 上使用 AirPods Pro 2 - 諸惡莫作 Bluetooth headset - ArchWiki bluetooth - Extremely low volume with AirPods (Ubuntu 19.10) ","date":"2025年3月11日","externalUrl":null,"permalink":"/posts/ubuntu-airpods-pro/","section":"所有文章","summary":"適用版本：Ubuntu 24.04、Kubuntu 24.04以上\nUbuntu Linux是支援連線至藍牙耳機的，包含AirPods系列耳機，除了沒有炫砲的開盒配對動畫之外，大部分功能都正常，包含AAC編碼音樂、麥克風通話、降噪功能。\n本文Ivon解說如何在Ubuntu配對Apple AirPods Pro（第一代）藍牙耳機，並查看耳機電量。\n實際測試AirPods Pro麥克風可以使用，Ivon認為收音還算清楚。 其他Airpods型號應該也能用。\n1. 確認藍牙裝置狀態 # 務必確保電腦的藍牙正常運作。請先嘗試開啟Ubuntu系統設定 → 藍牙，看是否能開啟藍牙。 如果開不起來，請嘗試安裝網路卡的驅動。\n除了圖形界面以外，亦可以用指令確認藍牙狀態，使用bluetoothctl指令。確認完成後輸入quit退出。\nbluetoothctl list # 範例輸出 Controller 1A:BC:CE:E4:73:7B Lk31cdk 2. 連線至AirPods # 開啟系統設定 → 藍牙。\n將AirPods Pro盒子開啟，長按背後按鈕亮白光，Ubuntu應該會看到AirPods Pro耳機，點選配對。 系統提示已連線，現在可以使用AirPods Pro當耳機和麥克風了。日後AirPods Pro從盒子取出來也會自動配對。 ","title":"Ubuntu如何連接Apple AirPods Pro藍牙耳機並查看電量","type":"posts"},{"content":" 泰山崩於前而色不變。\nTwitter偶爾有人會做不要勃起挑戰 (又稱禁止勃起挑戰），給定一系列色情影片，要你在時間內看了不能勃起，否則就算失敗！ 日文：勃起我慢チャレンジ、勃起我慢ゲーム，英文：Try Not to Get A Boner Challenge，但英文圈比較少這種憋屈的挑戰，大多數是做Try Not To Cum Challenge。\n注意是不要勃起喔！不是射精。跟寸止挑戰不一樣。是看了完全不能硬，不能充血膨脹。\n成功撐過去了，有什麼獎品？沒有，這又不是綜藝節目。自己給自己拍拍手吧\u0026hellip;\u0026hellip;至少在我的心中，自己為自己鼓掌。然後就能解放了。 失敗會怎樣\u0026hellip;也不會怎樣，又不是勃起就要被車掌給去勢www。\n[atahuta] 勃起禁止車両 (ガールズフォーム Vol.07) 「不要勃起挑戰」純粹是耐力訓練，或可作為「禁尻十一月」的前導訓練項目。\n不過嘛，要買懲罰道具也是有的，譬如，在雞雞將上面連接電極，偵測到勃起動作就電一下，最好有人在旁邊控制，免得真的被電死。長此以往，就會形成了古典制約，沒有特定條件下就不能勃起，因為會恐懼受到物理傷害。這樣一來剛好能夠用來做射精管理。\n還有戴上貞操帶的玩法，讓你想勃起也不能。久而久之就會變成無能男了www\n越說越偏了\u0026hellip;\u0026hellip;回到正軌。\n不要勃起挑戰參加資格沒有太多限制，不過當然不是在聖人模式下參加啦，那算是機械降神，作弊！\n通常，參加不要勃起挑戰的人們會附上自拍影片，拍攝自己的雞雞狀態，證實可以撐過這個挑戰。ㄟ，這該不會是蒐集人們未勃起懶覺長度的陰謀圈套吧！？ 有人還會在影片上面加上內心的OS，說明要看到哪些畫面才會有反應，怪有趣的。嘿，你心中的隱密欲望我不是很有興趣，但是這就跟看遊戲實況一樣，看別人勃起然後觀察他們的想法也是饒富性趣味的對吧？（謎之聲：WHY ARE YOU GAE?） 對許多男人來說，條件很簡單，有奶子就給讚，所以勃起挑戰應該很容易讓人輸掉\u0026hellip;吧？\n不要笑挑戰，和不要勃起挑戰，哪一個題目設計的難度要高些呢？\n這個挑戰的問題在於每個人性癖好不同，要看著隨機推出的影片不勃起，其實是很簡單的。譬如，有些人專情一個角色，加上見識（色圖）多了，看到其他女人的圖片都會當成石頭，不感興趣，這要控制勃起就很容易。\n(C86) [TIES (タケイオーキ)] ちょろ瑞鳳ちゃん改 (艦隊これくしょん -艦これ-) 又或是說，看客對二次元卡通人物根本不感興趣，或者是GAY，每個人喜歡吃的部位都不一樣，那就會產生非常多的變數了。某些人看比利王哲學摔角會興奮，可是很多人就把它當作meme來看而已，大概就是這種感覺。\n就拿なお@OJjdaepdTN1TThH在2025年1月27日po的這一部「2分間勃起我慢チャレンジ」影片來說，即使是在一天沒尻了的情況下觀看，真的是從頭到尾沒啥反應。雖然有部份角色認識，而且有覺得做的不錯的動畫，但就是沒有反應。單純以個人的角度來說啦，閾值沒有到就不會勃起。 嘛\u0026hellip;網友隨機加入的內容固然有好處，這就是不要勃起挑戰刺激的地方吧，不知道哪一部影片會突然戳中你的點。\n再換到Nami@Nami_hri在2024年3月9日po的這一段影片，使用高品質3D動畫，加上第一人稱視角的誇張動作，還有ASMR與煽情文字的攻勢，確實能夠成功增加勃起的機率。 果然有對話的還是比較有氣氛呢！2024年2月25日なお分享的這部影片，兩對奶子在你前面搖頭晃腦，寶鐘瑪琳會一直在你耳邊說不能勃起不能勃起！戴著耳機聽很容易有感覺的說。 順帶一提，なお這個傢伙除了經常po各種創意的不要勃起挑戰之外，還製作過抑制勃起的挑戰！這部勃起抑えチャレンジ的影片，是要你先硬挺起來！看著影片，然後想辦法讓雞雞在時間內軟下去，才算勝出。推主還建議吃壯陽藥挑戰，實在太可怕了。 可是這依然沒有解決涵蓋全部人性癖好的問題。設計這類影片的作者應該要認知到，要參考Pornhub之類色情網站的數據，取出最多人有交集的標籤，然後下去篩選素材，做成影片。這樣包準能讓大多數人挑戰失敗！\n我倒覺得可以這樣修改：每個人自行挑選喜歡的一組圖片或影片，用剪輯軟體拼成二分鐘影片，再來對自己進行不要勃起挑戰，是比較準確的作法。難度會隨著每個人客製化變化，因此誘發勃起機率會大大增加。\n還有更有趣的玩法，如果說你是風吹就會勃起的人，隨便一個女人都可以（好風騷），那麼倒是修改一下過程：盡情勃起吧！改成錄影自己勃起程度的樣子，事後再觀看，看看自己的雞雞對哪一部片子最有反應。\n這在挑選片子的時候非常有用！在性慾作祟的狀態下，上面的大頭是不準的，下面的小頭所探測到的生殖訊號，才是最千真萬確的答案！決定了，今晚就是妳了！\n[三色坊 (黑青郎君)] 涿鹿 ","date":"2025年3月7日","externalUrl":null,"permalink":"/posts/try-not-to-erect-challenge/","section":"Nsfws","summary":" 泰山崩於前而色不變。\nTwitter偶爾有人會做不要勃起挑戰 (又稱禁止勃起挑戰），給定一系列色情影片，要你在時間內看了不能勃起，否則就算失敗！ 日文：勃起我慢チャレンジ、勃起我慢ゲーム，英文：Try Not to Get A Boner Challenge，但英文圈比較少這種憋屈的挑戰，大多數是做Try Not To Cum Challenge。\n注意是不要勃起喔！不是射精。跟寸止挑戰不一樣。是看了完全不能硬，不能充血膨脹。\n成功撐過去了，有什麼獎品？沒有，這又不是綜藝節目。自己給自己拍拍手吧……至少在我的心中，自己為自己鼓掌。然後就能解放了。 失敗會怎樣…也不會怎樣，又不是勃起就要被車掌給去勢www。\n[atahuta] 勃起禁止車両 (ガールズフォーム Vol.07) ","title":"敢接受「不要勃起挑戰」嗎？可說是比不要笑挑戰還要難以設定題目","type":"nsfw"},{"content":" 每天網路上都有很多人在上傳火辣自拍片，不少還是素人，簡單架個攝影機就開拍了。這些通常是完全不在乎鏡頭角度和影片節奏控制的類型，看似粗糙卻讓人一窺人類社會的真實交配姿態。素人片的強項就是真實，演出AV不能達到的效果。拿著略微搖晃的不專業鏡頭，像是猴子一樣自顧自的交配，充分表現出人類最原始的欲望。網路衝浪某種程度玩的就是真實，脫離現實的AV片無法接近廣大人民群眾。\n其實我看AV完整的劇集是很少看完。可能就真夏の夜の淫夢能從頭看到尾吧。很多時候都是在Pornhub和XVideos逛逛，找小短片來看，看到中意的便會下載，所以我就有了固定常用的那幾部影片。不見得是上乘傑作，但就是打中性癖所以用了好多次。\n幾年前，因為PornHub實名制砍了一波影片，有些沒下載的短片真的很可惜，只殘留片段在腦海。其實Pornhub刪影片也不是沒道理，看過幾部還不錯卻疑似是未成年約砲，這類短片我不會列在這裡。這裡講的都是相對合法的色情片（？）\n使用標題下去搜尋應該都還找得到這些影片。\nMaestra argentina # 阿根廷女老師 雖然年代久遠了，畫質很差但仍很好用。\n第一人稱視角的巨乳騎乘位，女方很會搖，大奶子一直晃，前面和後面一起來。 玄奘大學視傳系胥x芸 # 可能是台灣知名度僅次璩美鳳的外流影片，滿多集的，總長一小時以上。\n騎乘、後入、正常位樣樣來，有完整的前戲調情到幹到直不起腰的經過，非常寫實。不論用什麼體位，男方都能高速連續抽插，讓女方叫的非常淫蕩，看來這屌真的夠大。\n無懈可擊，可能是最為完整的一部自拍片，各種方面都很好用。\nEnchendo de leite # 正常位抽插，沒有叫聲。\n在硬碟保留了五年以上的一部影片，在Pornhub強制實名制之前抓下來的，我找不到原影片標題了，應該是叫Enchendo de leite，畫面就是正常位一直插到射，二分鐘結束，覺得蠻爽的 就只是二個人類的野獸般交配的自拍片，卻常常一看再看。該片單純以傳教士抬腿的角度拍攝抽插，沒露臉沒露奶沒呻吟，單純一根白屌在陰道連續活塞運動2分鐘，然後繳械這樣。\n單純呈現交尾畫面，女方沒有根本沒有叫，只有男性快射精的時候抽插逐漸加快，住屁股的力道加大，最後射出後男方呻吟，影片結束。\n這就是簡單完成了一個交配過程，樸實無華才最真實。難道一定每次都幹到鬼叫像是中猴嗎？\n為什麼這部短片有比擬其他豪華A片的魔力？我也不瞭，可能單純的享受性愛就是這種感覺吧，有愛情有接觸，不需要太多矯飾。\n今天我重看了一次，發現短短2分鐘，片中的男人不間斷高速抽插了約200下才射精。那麼，或許某些人可以以此當作防止早洩的訓練基準吧。想像著看這類影片，幹著杯子，用一樣的速度節奏擺動，訓練抽插不要太快射精。\n猛操巨乳大學生，真是波濤洶湧，太猛了 # 這部很老了，XVideos看到的，女方帶著十字架項鍊。\n前面先是短暫正常位，後面變成後入式。\n看著好像沒有很大？在現實中這個奶子尺寸已經很大了，不要被碧藍航線養壞胃口。\n抓著奶子搓揉，看著奶子後入式甩動真的很爽，不過男方沒有更用力衝刺把她幹到直不起腰是有點可惜，蹲著最後射在背上。\nPregnant Teen get Fucked until she Squirt # 西瓜肚後入潮吹。Pornhub用戶dinosaur的傑作。 懷孕後入式，看男方向打樁機一樣用力猛插孕婦小穴，最後還潮吹，沒想到孕婦還能有這麼多水。\n這個攝影角度真的很讚，dinosaur其他影片常用這種拍攝交尾部位的動作，也常常被幹到噴一堆水，但就是這部多了孕肚的張力！\n換到這部孕肚就佔滿了整個畫面的中心，令人看起來為之興奮，隨著大雞雞的抽插，寶寶應該也被頂到醒了吧。\n德國女醫師自然出產 # 德國Sarah Schmid博士自拍的一系列影片，近距離觀察女人生產的樣子。\n對不起我不該看教育片尻的，但真沒人能拍出這樣寫實的鏡頭，產房的畫面沒有這部寫實，即使專業的日本AV也只有畑山夏樹能匹敵。\n她連生了好幾個，在院子裡面生、在家裡生，拍了幾部影片上傳到YouTube，還出書講解她的理念。早期的影片技術不好，讓小孩生出來直接摔到地上，撞到頭。到後面已經能夠妥當的自行接住小孩子，把小孩子拉出來了。 甚至要一直站著，連續生雙胞胎也不是問題。話說這部片有她的小女兒在旁邊裸體看著的畫面\u0026hellip; 身材普普，重點是出產畫面。看著嬰兒頭慢慢的推出產道，然後身體還沒出來就能自主呼吸的樣子，然而這個時候媽媽還在用力讓身體能出來。最後頭漸漸的撐開陰道，小孩就滑出產道，然後噴出一大堆血水。這個母親身體真強壯，這樣站著生都不會腿軟，丈夫和小孩在旁邊看。這看起來非常魔幻，但真的有種莫名興奮感。\n說到畑山夏樹，那部AV是真的實寫生產過程，就真的比較接近大多數婦女的生產情況了，沒有像德國媽媽經過生小孩訓練（？）的女人就會一直哀嚎。\n有印象但沒下載到的幾部片 # 中國片，標題好像是什麼「90後的喜歡一次吹三根屌」，三個男的在天台幹一個女的，都有戴套，一個男在前，一個在後，同時插入，女的哈屌還會呻吟。白衣男的戴套還會加速抽插，另一個則是從下方拍攝抽插鏡頭。\n台灣片，二個大學生做愛，幾乎沒聲音，鏡頭側邊拍攝，拍的是正常位。接著鏡頭轉到男方屁股後方，女方在男方抽插的時候會打屁股，雙腿夾住男方屁股一陣子。之後男方猛烈衝刺，讓女性的聲音能被鏡頭錄到，最後男方拔屌射在外面。\n還有，PTT西斯板專門幹龍妹的A大，會在XVideos上傳影片，總是能把棉花糖女孩幹出許多水來。如果這些阿姨不看臉，也不要在意略胖的身材，只看她們的40歲吸土小穴和肥嫩的大屁股，依然是很猛的。\n","date":"2025年3月7日","externalUrl":null,"permalink":"/posts/my-favorite-porn-clips/","section":"Nsfws","summary":" 每天網路上都有很多人在上傳火辣自拍片，不少還是素人，簡單架個攝影機就開拍了。這些通常是完全不在乎鏡頭角度和影片節奏控制的類型，看似粗糙卻讓人一窺人類社會的真實交配姿態。素人片的強項就是真實，演出AV不能達到的效果。拿著略微搖晃的不專業鏡頭，像是猴子一樣自顧自的交配，充分表現出人類最原始的欲望。網路衝浪某種程度玩的就是真實，脫離現實的AV片無法接近廣大人民群眾。\n其實我看AV完整的劇集是很少看完。可能就真夏の夜の淫夢能從頭看到尾吧。很多時候都是在Pornhub和XVideos逛逛，找小短片來看，看到中意的便會下載，所以我就有了固定常用的那幾部影片。不見得是上乘傑作，但就是打中性癖所以用了好多次。\n幾年前，因為PornHub實名制砍了一波影片，有些沒下載的短片真的很可惜，只殘留片段在腦海。其實Pornhub刪影片也不是沒道理，看過幾部還不錯卻疑似是未成年約砲，這類短片我不會列在這裡。這裡講的都是相對合法的色情片（？）\n","title":"那些我莫名愛看的色情小短片，素人片也能勝過AV","type":"nsfw"},{"content":"","date":"2025年3月7日","externalUrl":null,"permalink":"/tags/obs-studio/","section":"標籤","summary":"","title":"OBS Studio","type":"tags"},{"content":"","date":"2025年3月7日","externalUrl":null,"permalink":"/tags/webrtc/","section":"標籤","summary":"","title":"WebRTC","type":"tags"},{"content":"Ivon將示範如何透過開源的「VDO Ninja」網頁技術，投影iPad畫面到其他電腦的瀏覽器上，讓聽眾能夠透瀏覽器看到我平板的畫面。這個瀏覽器的畫面是會投放到講台上的大螢幕。\n譬如，在iPad上開啟AFFiNE筆記軟體，展示簡報內容，並用Apple Pencil圈選。聽眾就能透過瀏覽器即時看到我iPad的畫面動作，整個過程就像看直播一樣。 影片操作示例： 1. 理由 # 為什麼要投影到其他瀏覽器呢？第一個理由是方便報告，Ivon常常會有上台報告的需求，到外面的教室或者會議室，要嘛使用公共電腦下載簡報，要嘛自己帶電腦並把螢幕投影上去。我討厭插拔隨身碟，又不想下載簡報到公共電腦上。有的時候Ivon會做一些演示，希望聽眾看到我的動作，最簡單的解決方式便是簡報筆。但是我想要更進階的操作，所以不妨讓觀眾直接看我的電腦螢幕。\n可這又有個問題，不是所有場合都允許接上HDMI線的，有的地方老舊線路，插拔新的線好似就會跳電，這個時候就沒辦法使用實體線連接，要用無線投影的！這個條件頗嚴苛的。所以我在想有沒有一種方式，只要瀏覽器就能投影我的螢幕畫面。\n其實Ivon這麼做的理由，還有第二個原因：我不想透過專有軟體來進行螢幕視訊會議。我看過有人在報告的時候，在公共電腦開Google Meet，分享自己的平板畫面，然後再用平板加入會議室，這樣她就能在上面畫記。這讓我有了使用軟體投影的想法。\n我的目的是要盡可能簡單，不用帳號亦不用軟體，客戶端只要瀏覽器便能看到畫面，故同為開源軟體的Jitsi Meet便被我排除在外了，VDO Ninja是最好選擇。\nVDO Ninja本身是開源軟體，是透過WebRTC技術通訊的。它不用註冊帳號就能用，一旦WebRTC成功連上線，延遲就不會高到哪裡去。投影畫面開始之後，只需要在公共電腦的瀏覽器輸入一組短網址，就可以看到螢幕畫面。\n關於VDO Ninja其他用法，請參考VDO Ninja + OBS Studio使用\n2. 安裝VDO Ninja行動版APP # 使用VDO Ninja的先決條件是要有穩定的網路連線。若是可以的話，請讓兩部裝置連到同一個網路。\n先講螢幕投影接收端的電腦需求，VDO Ninja依賴WebRTC技術通訊，不要太舊版的Google Chrome應該都支援。所以要求不高。\n再來是要投影的裝置需求。\nVDO Ninja在電腦的瀏覽器上能夠直接分享全螢幕，無論Linux、Windows、macOS皆可。\n行動版瀏覽器沒有那麼大權限，所以有賴APP實現。VDO Ninja的開發者有提供Android和iOS的APP，依照作業系統下載。\n3. 具體操作方式 # 先開啟要演示操作的軟體。\n開啟VDO Ninja APP，點選Screen，這裡Stream ID可以自訂一組英數組合，不然就隨機生成。Password設定房間密碼。至於要不要允許錄音，我個人體感開著錄音（選取iPad麥克風）但不要放出聲音，比較不會被iOS殺後台。 允許VDO Ninja進行直播。 之後畫面右上角會產生一組https://vdo.ninja/?v=開頭的網址。在公共電腦的瀏覽器輸入這條網址，點選播放鍵，就會看到平板畫面了。 如果要調整串流品質，可以在瀏覽器網址後面加上位元率的參數，並啟用其他編碼器降低頻寬佔用，例如https://vdo.ninja/?v=c8763\u0026amp;cbitrate=5000\u0026amp;codec=av1，設定位元率為5Mbps（越低頻寬越低，畫面越模糊），編碼器為AV1。\n若瀏覽器不支援AV1解碼，尚能試試vp9、vp8、h264、h265的選項。\n","date":"2025年3月7日","externalUrl":null,"permalink":"/posts/vdo-ninja-for-presentation/","section":"所有文章","summary":"Ivon將示範如何透過開源的「VDO Ninja」網頁技術，投影iPad畫面到其他電腦的瀏覽器上，讓聽眾能夠透瀏覽器看到我平板的畫面。這個瀏覽器的畫面是會投放到講台上的大螢幕。\n譬如，在iPad上開啟AFFiNE筆記軟體，展示簡報內容，並用Apple Pencil圈選。聽眾就能透過瀏覽器即時看到我iPad的畫面動作，整個過程就像看直播一樣。 影片操作示例： 1. 理由 # 為什麼要投影到其他瀏覽器呢？第一個理由是方便報告，Ivon常常會有上台報告的需求，到外面的教室或者會議室，要嘛使用公共電腦下載簡報，要嘛自己帶電腦並把螢幕投影上去。我討厭插拔隨身碟，又不想下載簡報到公共電腦上。有的時候Ivon會做一些演示，希望聽眾看到我的動作，最簡單的解決方式便是簡報筆。但是我想要更進階的操作，所以不妨讓觀眾直接看我的電腦螢幕。\n可這又有個問題，不是所有場合都允許接上HDMI線的，有的地方老舊線路，插拔新的線好似就會跳電，這個時候就沒辦法使用實體線連接，要用無線投影的！這個條件頗嚴苛的。所以我在想有沒有一種方式，只要瀏覽器就能投影我的螢幕畫面。\n","title":"利用iPad + VDO Ninja上台報告，只要瀏覽器就能無線分享平板螢幕畫面","type":"posts"},{"content":"這是個語言模型都比你的IDE還要吃系統資源的時代～\n「Continue.dev」是一款開源的AI程式助手，作為VS Code的延伸模組提供。它可以透過語言模型，協助寫程式。它算是Github Coplitot的一種替代品吧！使用完全免費，資料不會外流，並且使用者能夠自由指定要使用哪一家的語言模型服務。 Continue的主要功能有：\n打字的時候停頓一下，AI便會自動推斷後半你要寫的程式碼。像是建議函數的寫法，或者幫你更快寫完技術文件。 讀取專案內的程式碼、說明文件、錯誤訊息、git diff結果，分析並給出建議 協助除錯，一行一行自動修正錯誤的程式碼 解釋程式碼用途 生成文件註解 使用VSCode的終端機，執行指令、建立檔案、搜尋網路 自由切換各家語言模型，體驗不同的程式碼生成效果。完全離線執行，資料不會外流。 說到背後負責生成程式碼的語言模型，Continue支援ChatGPT、Claude這類線上服務，也可以連接到本機自架的語言模型服務，譬如Ollama。\n這篇文章，Ivon將討論在Linux電腦的VSCode，搭配Continue延伸模組，連線到自架的Ollama，用於在VSCode的專案生成程式碼。\n註：最新版GitHub Copilot允許自選語言模型服務後端了，其中就包含Ollama，或許不用再特別安裝Continue.dev了。\n1. 硬體需求 # VS Code本身沒有平台限制，Linux、Windows、macOS系統都可以用。Ollama同樣沒有系統限制。\n下面內容，Ivon皆是使用Ubuntu系統操作。\n本機的的語言模型要看資料量多寡，建議是使用7B以上的版本，越大越好，免得程式亂寫。為此，生成程式碼需要準備至少8GB以上的RAM，還有4GB以上VRAM的GPU給語言模型運算。\n不要忘了，得把你執行VSCode和測試程式的開銷也算進去。語言模型運算的時候可能會搶佔你編譯程式的資源。\n如果一台電腦負荷不了這麼高規格的運算，請考慮把Ollama的服務架在遠端伺服器，並透過內網穿透VPN之類的方案，將本機的VSCode與遠端的Ollama連線。\n2. 架設Ollama語言模型服務 # 參見如何安裝Ollama，Linux系統我直接用Docker部署，省事。\n接著要用ollama pull指令下載模型。Ollama Library可以看到各種模型，建議使用*-Coder微調過的變種，它才能寫好程式。\nContinue會用到的是「聊天用」、「自動完成」、「嵌入」的模型。\n聊天用(Chat)模型，負責總結程式碼還有回答複雜問題的，就挑一款Coder的7B以上語言模型，像我用Qwen 2.5 7B，這個模型家族支援中文問答。\nollama pull qwen2.5-coder 自動完成(Autocomplete)模型因為講求即時運算，所以建議使用較小的模型，讓它只要能依照前後文快速給出建議就好。\nollama pull qwen2.5-coder:1.5b 嵌入模型(Embedding)會用來掃描專案裡面的程式碼。我選擇的是支援中文的mxbai-embed-large\nollama pull mxbai-embed-large 3. 將Continue連接到Ollama服務 # 開啟VS Code，搜尋安裝Continue延伸模組。 點選VS Code左側的Continue設定，按Open config file 編輯設定檔，指定要使用的模型。以前Continue.dev使用.json，現在建議使用.yaml。\nmodels裡面可以定義多個模型備用。apiBase後面填寫的是Ollama伺服器位址，同一部電腦就是localhost，遠端的話請填寫遠端伺服器IP。role用於定義這個模型的用途。\nname: Local Assistant version: 1.0.0 schema: v1 models: - name: qwen2.5-coder:7b provider: ollama model: qwen2.5-coder:7b apiBase: http://localhost:11434 roles: - chat - edit - apply - name: qwen2.5-coder:1.5b provider: ollama model: qwen2.5-coder:1.5b apiBase: http://localhost:11434 roles: - autocomplete - name: mxbai-embed-large provider: ollama model: mxbai-embed-large apiBase: http://localhost:11434 roles: - embed context: - provider: code - provider: docs - provider: diff - provider: terminal - provider: problems - provider: folder - provider: codebase 4. Continue操作方式 # 用VS Code開啟專案資料夾。\n在程式碼編輯界面，輸入文字，停頓一下，Continue便會自動依照你的前後文跳出建議（灰色字體），按下Tab鍵確認套用。按下Ctrl + I則是會跳到Continue聊天欄面板，詢問要怎麼修改目前的程式碼。 讓AI幫忙除錯：選取一段程式碼，點選右鍵，選取Continue，選取Fix the code，或者寫註解。 之後AI會生成建議，並要使用者手動點選是否接受變更。 最後介紹聊天功能。這裡主要是跟AI討論文件、做詳細修改程式碼的用途。\n點選左側Continue的面板，啟動聊天界面，輸入@，選取要引用哪個檔案給AI做參考。在程式碼編輯界面圈選程式碼，也能將其加入聊天欄。 AI生成的程式碼，點一下便能套用變更到目前檔案。 若是AI生成的內容含有指令，點一下便會自動切換到VS Code的終端機執行。 參考資料 # Ollama - Continue Documentation ","date":"2025年3月6日","externalUrl":null,"permalink":"/posts/vscode-continue-local/","section":"所有文章","summary":"這是個語言模型都比你的IDE還要吃系統資源的時代～\n「Continue.dev」是一款開源的AI程式助手，作為VS Code的延伸模組提供。它可以透過語言模型，協助寫程式。它算是Github Coplitot的一種替代品吧！使用完全免費，資料不會外流，並且使用者能夠自由指定要使用哪一家的語言模型服務。 Continue的主要功能有：\n打字的時候停頓一下，AI便會自動推斷後半你要寫的程式碼。像是建議函數的寫法，或者幫你更快寫完技術文件。 讀取專案內的程式碼、說明文件、錯誤訊息、git diff結果，分析並給出建議 協助除錯，一行一行自動修正錯誤的程式碼 解釋程式碼用途 生成文件註解 使用VSCode的終端機，執行指令、建立檔案、搜尋網路 自由切換各家語言模型，體驗不同的程式碼生成效果。完全離線執行，資料不會外流。 說到背後負責生成程式碼的語言模型，Continue支援ChatGPT、Claude這類線上服務，也可以連接到本機自架的語言模型服務，譬如Ollama。\n這篇文章，Ivon將討論在Linux電腦的VSCode，搭配Continue延伸模組，連線到自架的Ollama，用於在VSCode的專案生成程式碼。\n註：最新版GitHub Copilot允許自選語言模型服務後端了，其中就包含Ollama，或許不用再特別安裝Continue.dev了。\n","title":"AI寫程式之VS Code ＋ Continue ＋ Ollama設定教學，透過本機語言模型生成程式碼","type":"posts"},{"content":"","date":"2025年3月5日","externalUrl":null,"permalink":"/tags/text-to-speech/","section":"標籤","summary":"","title":"Text to Speech","type":"tags"},{"content":"我們知道語言模型能夠用來生成程式碼。Open WebUI回答問題的時候一律是以Markdown排版，還可以生成Mermaid語法，透過純文字繪製圖表。\n那麼可否預覽程式語言「輸出」的結果呢？\nOpen WebUI有一個類似ChatGPT Canvas的功能，叫做「Artifact」，能在網頁裡面即時預覽程式輸出或者渲染的結果。這有什麼用呢？你可以用它預覽網頁設計的原型，看看程式執行後會輸出什麼結果。或者，叫語言模型生成SVG格式的圖片，解說複雜的概念，補充Mermaid的不足（Mermaid因為使用Markdown語法，能繪製的圖表種類有限）。\n目前Open WebUI支援的程式語言包含HTML、CSS、JavaScript、SVG、Python。未來可能還會支援更多程式語言。\n下面Ivon帶大家來看看，如何使用這個功能。\n1. 選用專為寫程式特化的模型 # Ollama Library提供的模型，很多都有*-coder的變種，代表它們有針對程式碼生成做微調。\nIvon這裡使用qwen2.5-coder 7B模型做示範。\n如果打算生成很長的程式碼，並反覆與AI檢討做修正的話，那麼建議將語言模型的上下文長度(context length)設定為4096以上。不然的話生成程式碼的片段會隨著對話拉長而逐漸出現不一致的現象。\n2. 生成程式碼並解釋用途 # 這是最基本的功能，叫AI生成程式碼，程式碼的部份會出現突出顏色顯示的區塊。 用滑鼠選取內容，能夠叫AI更細緻的解釋這一段程式在做什麼。 Open WebUI的聊天欄還有一個快捷按鈕，勾選「程式碼解釋器」之後貼上程式碼，AI便會解釋程式的用法，並嘗試模擬執行，告訴你會出現什麼結果。目前僅支援Python，透過Pyodide環境執行，下文會進一步討論。 3. 使用Artifacts預覽網頁渲染結果 # Open WebUI的Artifacts功能，支援HTML、CSS、JavaScript渲染，也可以引入外部的JavaScript函式庫。亦能透過文字描述，要求語言模型生成SVG並預覽之。\n適合測試網頁原型，或是開發單頁的應用程式。\n一偵測到網頁程式碼，Open WebUI網頁的右邊會出現渲染面板。\n要語言模型生成網頁，可能需要在語言模型的提示詞加入「生成完整HTML」的提示，不然會變成分段操作。\n提示詞範例：生成一個完整的HTML網頁，規劃個人履歷表的原型。使用Tailwind CSS裝飾藍色風格，網頁正上方使用SVG的圓形圖案當頭像，並加入「聯絡我」的按鈕。 生成的程式碼允許在之後與AI的對話中詳細修改。\n4. 執行Python程式碼 # Open WebUI是透過Pyodide在瀏覽器執行Python程式。使用WebAssembly計算，所以是在客戶端的瀏覽器執行的，速度比一般Python還要慢，且會增加瀏覽器的RAM佔用。\n建議使用Firefox或Chrome瀏覽器，Safari可能無法使用。我在iOS的Safari一執行就會逾時，可能是RAM吃太兇了。\n根據Open WebUI官方文件，Pyodide環境僅提供以下套件：micropip、packaging、requests、beautifulsoup4、numpy、pandas、matplotlib、scikit-learn、scipy、regex\n起碼有matplotlib就可以用來繪製函數圖表了啦！\n使用提示詞的時候建議提示語言模型，是要在Pyodide的環境執行，免得語言模型生成需要額外安裝pip套件才能使用的功能。\n提示詞範例：在Pyodide的環境，使用matplotlib繪製常態分布圖表。 生成Python程式碼之後，可以即時在網頁裡面修改，重新執行，測試不同程式的輸出結果。\nPyodide透過MEMFS來建立虛擬的檔案系統，因此瀏覽器裡面可以用Python程式寫入檔案。不過那是暫時的，網頁重新整理後檔案就會消失。\n能不能將檔案保存下來呢？使用支援File System API的瀏覽器（如Chrome）就能夠申請寫入到本機路徑。具體程式碼寫法參見Dealing with the file system - Pyodide Documentation。\n5. VS Code使用Ollama生成程式碼 # Open WebUI的介面大概滿足不了專業用戶，終究要回到程式碼編輯器的。\n因為Open WebUI相容OpenAI的端點格式，我們可以透過Open WebUI產生一組API權杖，讓其他軟體連線，間接存取Ollama模型進行計算。\n不過我覺得這樣有點畫蛇添足的感覺，乾脆直接連線到Ollama吧。\n請看這篇：VSCode + Continue + Ollama設定教學\n參考資料 # What are Artifacts and how do I use them in Open WebUI? - Open WebUI 🐍 Python Code Execution - Open WebUI Pyodide Documentation ","date":"2025年3月5日","externalUrl":null,"permalink":"/posts/open-webui-artifacts/","section":"Language-Models","summary":"我們知道語言模型能夠用來生成程式碼。Open WebUI回答問題的時候一律是以Markdown排版，還可以生成Mermaid語法，透過純文字繪製圖表。\n那麼可否預覽程式語言「輸出」的結果呢？\nOpen WebUI有一個類似ChatGPT Canvas的功能，叫做「Artifact」，能在網頁裡面即時預覽程式輸出或者渲染的結果。這有什麼用呢？你可以用它預覽網頁設計的原型，看看程式執行後會輸出什麼結果。或者，叫語言模型生成SVG格式的圖片，解說複雜的概念，補充Mermaid的不足（Mermaid因為使用Markdown語法，能繪製的圖表種類有限）。\n目前Open WebUI支援的程式語言包含HTML、CSS、JavaScript、SVG、Python。未來可能還會支援更多程式語言。\n下面Ivon帶大家來看看，如何使用這個功能。\n1. 選用專為寫程式特化的模型 # Ollama Library提供的模型，很多都有*-coder的變種，代表它們有針對程式碼生成做微調。\nIvon這裡使用qwen2.5-coder 7B模型做示範。\n如果打算生成很長的程式碼，並反覆與AI檢討做修正的話，那麼建議將語言模型的上下文長度(context length)設定為4096以上。不然的話生成程式碼的片段會隨著對話拉長而逐漸出現不一致的現象。\n","title":"即時預覽AI生成程式碼輸出，Open WebUI的Artifacts功能介紹","type":"language-model"},{"content":"","date":"2025年3月2日","externalUrl":null,"permalink":"/tags/voice-cloning/","section":"標籤","summary":"","title":"Voice Cloning","type":"tags"},{"content":"Realtime Voice Changer Client（簡稱VC Client）為一款開源AI即時變聲器，適合在直播或者語音聊天的時候使用，實現即時變聲，讓你用不同的聲音說話。\n它整合了RVC、VITS、Beatrice、MMVC、so-vits-svc等多種技術來達成變聲。 範例：\n這是我唸《赤壁賦》的聲音。\n然後這是VC Client變聲之後的《赤壁賦》。\n這裡Ivon會先分享如何在Linux系統安裝VC Client，解說如何搭配OBS Studio直播軟體使用。\n之後分享，如何透過PipeWire的功能，把VC Client變聲後的音訊，當成一個虛擬麥克風，便能在其他通訊軟體，例如Discord裡面使用。\n1. VC Client硬體需求 # VC Client提供WIndows、macOS、Linux版本。\nWIndows和macOS有執行檔可以下載，Linux得用Docker跑。\nVC Client支援透過CPU或Nvidia GPU計算。要輸出高品質的音訊，至少需要4GB的VRAM，而且還要即時轉換，老實說這個吃資源有點兇。\n這個軟體有一個WebUI，能在區域網路執行，若是覺得本機運算開銷過大，那麼把變聲器的任務放在另一台電腦上跑也是可以。\n2. Linux透過Docker安裝VC Client # 這是作者推薦的方式，但作者的Docker映像檔已經一年以上沒更新了，導致無法使用RVC以外的新模型。若需要最新功能，請手動設定Python環境。\n以Ubuntu為例，先安裝Docker\n我要在Docker裡面使用Nvidia CUDA加速，所以得安裝Nvidia Container Toolkit\n複製儲存庫\ngit clone https://github.com/w-okada/voice-changer.git cd voice-changer 執行這個指令稿，拉取映像檔並啟動服務。 ./start_docker.sh 啟動後等待模型下載。\n開啟網頁界面：https://localhost:18888。強制使用HTTPS的原因是瀏覽器因素，大多數瀏覽器需要HTTPS才允許存取麥克風，所以這個映像檔會自簽SSL憑證。也可以用https://Linux的區域IP:18888來存取這個網頁界面，讓另一部電腦處理變聲器計算，降低主電腦的負擔。\n最上面是人聲列表，按Edit，點選格子，點選DL Sample，下載範本模型。 一個格子只能下載一個模型。這裡的模型主要是RVC，網路上有很多人分享，所以你能上傳新的RVC模型，也可以自行用RVC WebUI訓練一款變聲模型。 設定音訊處理方式。Noise勾選Echo，消除回音。接著，F0 Detect設定rmvpe_onnx，用CPU跑音高辨識模型。最後選取使用GPU計算。 設定輸入裝置。 點選Audio，勾Client，Input勾選Linux的麥克風裝置。建議使用耳麥或者桌上型麥克風，收音比較清楚，為的是背景不要有太多噪音，免得程式把電腦風扇也當作人聲在講話。\nOutput勾選揚聲器，或是其他音訊輸出裝置。因為VC Client會輸出音效到揚聲器，導致你會一直聽到自己變聲的音效。覺得太吵的話，就把它輸出到耳機吧。\n3. Linux手動設定VC Client的Python環境 # 執行Python原始碼，存取最新功能。\n安裝Anaconda\n建立Python 3.10的虛擬環境\nconda create -n vcclient-dev python=3.10 conda activate vcclient-dev 複製VC Client儲存庫，安裝依賴 git clone https://github.com/w-okada/voice-changer.git cd voice-changer/server pip install -r requirements.txt 啟動伺服器 python3 MMVCServerSIO.py -p 18888 --https true 4. VC Client變聲操作 # 點選格子裡面的大頭貼，選取模型，點選Start開始變聲。 對著麥克風講話，應該會聽到變聲效果，聲音會有一點延遲，端看GPU性能。按Passthrough暫時停用變聲。\nTune的數值可以調整講話音高。\n要更高品質的合成音，試著把chunk和Extra數值設定高一些，但延遲相應的也會上升。\n此外，按Audio下面的REC，能夠錄製講話變聲後的聲音。按下Stop後便會儲存為wav音檔。\n5. 搭配OBS Studio使用變聲器 # Linux安裝OBS Studio\n最簡單的方式是關掉麥克風，讓OBS Studio只捕捉變聲後輸出的聲音。 或者請參考下面方法，新增虛擬麥克風。\n6. 於通訊軟體使用變聲器 # 利用PipeWire製造一個虛擬麥克風，用來接收瀏覽器裡面的VC Client所輸出的變聲音效。這樣通訊軟體裡面才可以使用這個麥克風作為輸入來源。\nUbuntu 24.04以後應該是使用PipeWire當音訊系統了，所以此方法可行。\n參考：How to create a new pipewire virtual device that to combines an real input and output into a new input?\n利用PipeWire（實則是PulseAudio）的指令，新增虛擬槽位，還有虛擬麥克風 pactl load-module module-null-sink media.class=Audio/Sink sink_name=my-combined-sink channel_map=stereo pactl load-module module-null-sink media.class=Audio/Source/Virtual sink_name=my-virtualmic channel_map=front-left,front-right 安裝Helvum，按照下圖，將瀏覽器的輸出接到虛擬槽位，虛擬槽位再接到虛擬麥克風。 回到VC Client網頁界面，將output設定為虛擬槽位。這樣的話，變聲所輸出的音訊便會全部導向虛擬麥克風了。 開啟通訊軟體，例如Discord，選取虛擬麥克風，應該就只會出現變聲後的聲音。 ","date":"2025年3月2日","externalUrl":null,"permalink":"/posts/realtime-voice-changer-client/","section":"所有文章","summary":"Realtime Voice Changer Client（簡稱VC Client）為一款開源AI即時變聲器，適合在直播或者語音聊天的時候使用，實現即時變聲，讓你用不同的聲音說話。\n它整合了RVC、VITS、Beatrice、MMVC、so-vits-svc等多種技術來達成變聲。 範例：\n這是我唸《赤壁賦》的聲音。\n然後這是VC Client變聲之後的《赤壁賦》。\n這裡Ivon會先分享如何在Linux系統安裝VC Client，解說如何搭配OBS Studio直播軟體使用。\n之後分享，如何透過PipeWire的功能，把VC Client變聲後的音訊，當成一個虛擬麥克風，便能在其他通訊軟體，例如Discord裡面使用。\n1. VC Client硬體需求 # VC Client提供WIndows、macOS、Linux版本。\nWIndows和macOS有執行檔可以下載，Linux得用Docker跑。\nVC Client支援透過CPU或Nvidia GPU計算。要輸出高品質的音訊，至少需要4GB的VRAM，而且還要即時轉換，老實說這個吃資源有點兇。\n這個軟體有一個WebUI，能在區域網路執行，若是覺得本機運算開銷過大，那麼把變聲器的任務放在另一台電腦上跑也是可以。\n","title":"即時AI變聲器 ～ Linux版Realtime Voice Changer Client使用方式","type":"posts"},{"content":"RVC WebUI (Retrieval-based Voice Conversion，檢索式語音轉換) 為一款開源的AI翻唱軟體，可以依照你的意思，讓AI為你唱首歌。\n譬如，我讓川普翻唱Radiohead的High And Dry：\n這款軟體最大的特色是複製人聲和訓練模型的成本很低，不用太高階的顯示卡就能跑！\n1. RVC WebUI不是什麼 # RVC WebUI為Gradio寫成的網頁前端介面，背後使用VITS技術合成語音。\n單就RVC WebUI的功能來說，它並非從無到有全自動生成歌曲的AI，它不是Suno AI，也不是文字轉語音服務，而是協助你製作AI翻唱的工具。RVC WebUI的功能是學習某人的聲音，並讓它模仿原本的聲調生成新的人聲音訊，就好像歌手翻唱別人歌曲的概念。\n腦筋動的比較快的用戶應該能發現，其實「模仿他人聲音」不一定要用在歌曲上面。RVC WebUI產出的檔案是純人聲，因此用來當「變聲器」也是可行的。\n像是你自行錄製一段說話的聲音，訓練為模型，再讓RVC WebUI轉換，變成另外一個人說話的聲音。RVC WebUI的作者確實有做了一個變聲器的小軟體go-realtime-gui.bat，能夠搭配OBS Studio直播使用，實現即時變聲，但只適用Windows。若要在Linux與macOS使用RVC做即時變聲器，那麼這個專案Realtime Voice Changer Client比較合適。\n另外，RVC WebUI沒有文字轉語音的功能，你得準備一段錄音讓他複製。若要複製聲音唸出指定文字的，建議使用RVC-Boss/GPT-SoVITS-WebUI。\n2. RVC WebUI的處理步驟 # 使用之前，你需要準備預先訓練好的人聲模型，或者是一段人聲錄音，讓RVC WebUI學習。\nRVC WebUI沒有生成音樂的功能，曲子要另外準備。\n然後，你要準備另一段要模仿的對象的人聲音訊，RVC WebUI將將提供的人聲複製過去，生成新的人聲音檔。\n如果你覺得純音訊的素材很難找，RVC WebUI作者已經幫你考慮過這個問題了。RVC WebUI內建UVR (Ultimate Vocal Remover)模型，能夠快速將人聲和伴奏音樂分離出來。這樣的話你只要準備一首歌曲的音檔，便能取得該曲子的純人聲與純音樂了。\n一切處理完成後，你要手動用Audacity將RVC WebUI產生的檔案合併。\n3. RVC WebUI硬體需求 # RVC WebUI支援Linux、Windows、macOS系統。\n本軟體可以透過Nvidia或AMD或Intel的GPU加速運算。\n推理，也就是複製人聲，需要VRAM \u0026gt;=4GB\n訓練自訂人聲的模型，需要VRAM \u0026gt;=6GB\n4. 安裝RVC WebUI # 參照Github安裝指示。Linux需要自行建立Python環境，至於Docker版要自己包。\n以Ubuntu為例，安裝ffmpeg和aria2，等會會用到 sudo apt install ffmpeg aria2 Nvidia GPU需要安裝CUDA\n安裝Anaconda\n建立Python 3.8的環境\nconda create -n rvc-webui python=3.8 conda activate rvc-webui 複製RVC WebU儲存庫 git clone https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI.git cd Retrieval-based-Voice-Conversion-WebUI 安裝Nvidia GPU所需的依賴套件 pip install torch torchvision torchaudio # 防止fairseq conflict，需要降級pip版本 https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/issues/2452 pip install \u0026#34;pip\u0026lt;24\u0026#34; pip install -r requirements.txt # 解決Gradio版本太舊的問題 https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/issues/2355 pip install gradio==3.48.0 執行指令稿，下載需要的模型 ./tools/dlmodels.sh 手動下載rmvpe模型，放到RVC專案的目錄 wget https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/rmvpe.pt 啟動RVC WebUI，瀏覽器應該會自動開啟http://localhost:7865 python infer-web.py 5. 用UVR分離人聲與音樂 # 這裡準備的是「被模仿的人聲」。\n從歌曲抽取出人聲，或者準備一段清晰的錄音。譬如，我利用yt-dlp下載YouTube的歌曲，轉檔為mp3。\n將該檔案放到RVC WebUI程式所在目錄的/dataset\nRetrieval-based-Voice-Conversion-WebUI ├── dataset │ └── high-and-dry.mp3 開啟RVC WebUI，進入伴奏人聲分離頁面。左邊輸入歌曲檔案路徑，模型使用HP5_only_main_vocal，用於分離人聲與音樂。 ![](images/Screenshot2025-03-02 ebp.webp)\n點選轉換，處理後的檔案即會輸出到RVC WebUI程式所在目錄的/opt之下。裡面vocal-開頭的檔案即分離出來的純人聲，instrumental-為純音樂。\nRetrieval-based-Voice-Conversion-WebUI ├── opt │ ├── instrumental-high-and-dry.mp3 │ └── vocal-high-and-dry.mp3 6. 下載RVC人聲模型 # 訓練人聲模型需要準備許多音檔，並且要調參數，很耗費時間。\n我這裡使用預先訓練好的模型檔，網路上有很多站點提供下載。\n譬如，下載Tump RVC模型，得到model.pth和mode.index檔案。\n將這兩個檔案放到RVC WebUI目錄下的assets/weights。檔案可以任意重新命名。\nRetrieval-based-Voice-Conversion-WebUI ├── assets │ └── weights │ ├── trump_model.index │ └── trump_model.pth 7. 複製歌曲人聲 # 進入RVC WebUI的模型推理頁面 推理音色，選取剛剛下載的川普人聲模型(model.pth)\n變調，如果原本兩個人的聲音差距不是很大，維持預設。\n待處理音頻檔案路徑，輸入要模仿的人聲路徑。\n最後輸入川普人聲模型index檔案路徑(model.index)\n點選轉換，等待處理完成。\n完成後，點畫面右下角播放器，下載處理好的檔案。\n8. 將新人聲與音樂合起來 # 這個可以用Audacity處理。\n把人聲以及純音樂兩個檔案拖進去，成為二個音軌，試聽效果。再點選檔案 → 匯出聲音，完成合併。 ","date":"2025年3月2日","externalUrl":null,"permalink":"/posts/rvc-webui/","section":"所有文章","summary":"RVC WebUI (Retrieval-based Voice Conversion，檢索式語音轉換) 為一款開源的AI翻唱軟體，可以依照你的意思，讓AI為你唱首歌。\n譬如，我讓川普翻唱Radiohead的High And Dry：\n這款軟體最大的特色是複製人聲和訓練模型的成本很低，不用太高階的顯示卡就能跑！\n1. RVC WebUI不是什麼 # RVC WebUI為Gradio寫成的網頁前端介面，背後使用VITS技術合成語音。\n單就RVC WebUI的功能來說，它並非從無到有全自動生成歌曲的AI，它不是Suno AI，也不是文字轉語音服務，而是協助你製作AI翻唱的工具。RVC WebUI的功能是學習某人的聲音，並讓它模仿原本的聲調生成新的人聲音訊，就好像歌手翻唱別人歌曲的概念。\n腦筋動的比較快的用戶應該能發現，其實「模仿他人聲音」不一定要用在歌曲上面。RVC WebUI產出的檔案是純人聲，因此用來當「變聲器」也是可行的。\n像是你自行錄製一段說話的聲音，訓練為模型，再讓RVC WebUI轉換，變成另外一個人說話的聲音。RVC WebUI的作者確實有做了一個變聲器的小軟體go-realtime-gui.bat，能夠搭配OBS Studio直播使用，實現即時變聲，但只適用Windows。若要在Linux與macOS使用RVC做即時變聲器，那麼這個專案Realtime Voice Changer Client比較合適。\n","title":"Linux安裝RVC WebUI，製作AI翻唱歌曲 ＆ 生成變聲器音檔","type":"posts"},{"content":"","date":"2025年3月2日","externalUrl":null,"permalink":"/tags/noise-reduction/","section":"標籤","summary":"","title":"Noise Reduction","type":"tags"},{"content":"Open WebUI提供文字轉語音的功能，可以讓你在與語言模型對話的時候聽到對方唸出來的聲音。這個適合用在與AI即時對話，搭配Open WebUI的麥克風輸入功能，便能與AI即時聊天對話，再用文字儲存對話紀錄。 用途為何？或許可以將文字轉語音的技術用於語言學習，與語言模型練習對話。或者讓Open WebUI上網搜尋資訊，並讓它把內容朗讀出來。\n文字轉語音的服務也適合用在Open WebUI的視訊模式，讓語言模型能夠即時回應它所看的東西，並唸出來給你聽。\n相較於語音轉文字(STT)只有Whisper AI一種選項，Open WebUI文字轉語音(TTS)支援的服務非常多元。\n下面Ivon主要探討本機執行的文字轉語音方案，線上服務次之。\n1. Open WebUI支援的文字轉語音服務 # 點選Open WebUI管理員設定 → 音訊，進入文字轉語音設定。 網頁API： 使用作業系統提供的TTS，例如Windows為Microsoft TTS、Linux為Speech Dispatcher（僅限Firefox）、Android為Google TTS、iOS為。\nTransformer： 本機執行，使用SpeechT5或CMU Arctic嵌入模型。\nOpenAI： 使用OpenAI提供的線上文字轉語音服務。亦可以使用模擬OpenAI端點的服務，例如openai-edge-tts、Kokoro-FastAPI、OpenedAI Speech。\nElevenLabs ：利用ElevenLabs的API合成語音。\nAzure AI： 使用Microsoft Azure線上服務合成語音。\n選一個使用就可以了。\n這些服務當中，網頁API應該是最簡單的方案，計算幾乎不耗費資源。但依賴客戶端的TTS服務來發出聲音，而非從Open WebUI網頁傳送音訊，故應該考慮其他方案。\n有些本機服務是參照OpenAI的端點設計的，所以他們設定方式都大同小異。\n例如openai-edge-tts封裝了Azure AI，支援中文，而且還支援台灣國語的發音，雙語混合。但它其實不是在本機運算，而是封裝了Azure AI的免費線上服務。\nKokoro-FastAPI算是不吃資源，品質尚能接受的方案，它封裝了Kokoro-82M模型，支援英文與中文語音（但不能雙語混合）。計算時耗費的CPU與GPU資源非常低。\n再看看OpenedAI Speech，封裝了PiperTTS與Coqui XTTS模型，支援多語言。Coqui XTTS還有聲音複製功能，但GPU就至少要4GB VRAM才能跑了。\n2. 架設Kokoro-FastAPI服務 # Open WebUI內建的「Kokoro.js」僅支援英文，所以要另外跑一個Docker服務才有中文語音。\nKokoro-FastAPI提供CPU與GPU執行的版本，這邊以GPU版本為例子。\n容器內使用Nvidia CUDA加速，需要安裝Nvidia Container Toolkit\n以Docker架設Open WebUI\n依照Kokoro-FastAPI指示設定，docker-compose範例如下，讓容器能存取Nvidia GPU。這一段內容可以跟Open WebUI的docker-compose寫在一起。\nname: kokoro services: kokoro-fastapi-gpu: ports: - 8880:8880 image: ghcr.io/remsky/kokoro-fastapi-gpu restart: always deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: - gpu 啟動服務之後，開啟http://localhost:8880/web，嘗試進入Kokoro的網頁界面，查看可用語音。因為使用OpenAI端點的格式通訊，Open WebUI端沒辦法指定語言，所以得從這裡記住中文語音的名字，例如zf_xiaoxiao是中文女聲。 點選Open WebUI管理員設定 → 音訊，選取OpenAI，伺服器網址填入http://Docker容器IP:8880/v1，API金鑰設定為not-needed，然後輸入Kokoro中文語音zf_xiaoxiao。模型選取tts-1。 與語言模型對話，按旁邊的喇叭就會唸出句子來了。\n對話時點選Open WebUI的設定 → 音訊，可以開啟生成文字後自動唸出對話的功能。 ","date":"2025年2月28日","externalUrl":null,"permalink":"/posts/open-webui-tts/","section":"Language-Models","summary":"Open WebUI提供文字轉語音的功能，可以讓你在與語言模型對話的時候聽到對方唸出來的聲音。這個適合用在與AI即時對話，搭配Open WebUI的麥克風輸入功能，便能與AI即時聊天對話，再用文字儲存對話紀錄。 用途為何？或許可以將文字轉語音的技術用於語言學習，與語言模型練習對話。或者讓Open WebUI上網搜尋資訊，並讓它把內容朗讀出來。\n文字轉語音的服務也適合用在Open WebUI的視訊模式，讓語言模型能夠即時回應它所看的東西，並唸出來給你聽。\n相較於語音轉文字(STT)只有Whisper AI一種選項，Open WebUI文字轉語音(TTS)支援的服務非常多元。\n下面Ivon主要探討本機執行的文字轉語音方案，線上服務次之。\n1. Open WebUI支援的文字轉語音服務 # 點選Open WebUI管理員設定 → 音訊，進入文字轉語音設定。 網頁API： 使用作業系統提供的TTS，例如Windows為Microsoft TTS、Linux為Speech Dispatcher（僅限Firefox）、Android為Google TTS、iOS為。\nTransformer： 本機執行，使用SpeechT5或CMU Arctic嵌入模型。\n","title":"賦予AI聲音，Open WebUI設定文字轉語音引擎 (TTS)","type":"language-model"},{"content":"Install deb packages instead of Snaps on Ubuntu.\n適用版本：Ubuntu 16.04以上\nOh snap! 這句話在英文裡面有「這下靠北了」的意思。\nSnap是Canonical推行的跨發行版Linux套件格式，大概在Ubuntu 16.04以後內建於系統。讓老版本的系統也可以安裝最新版的套件，不受APT套件庫依賴的影響。\n相關文章：Snap指令使用方式\n雖然它本意是好的，但是Ubuntu 22.04之後便開始強迫大家使用。Canonical修改了Ubuntu套件庫的一部分套件，使得用戶在透過APT安裝特定應用程式的deb檔的時候，會自動重新導向Snap商店，下載對應的應用程式。\n比如用APT執行指令apt install firefox安裝Firefox瀏覽器，就會出現「正在連接到Snap商店」(==\u0026gt; Checking connectivity with the snap store)的訊息，強迫用戶下載Snap版本的套件。就連Dockerfile使用Ubuntu Docker Image裡面執行apt install也無法倖免。\n這會造成許多問題，因為Snap格式打包的軟體跟deb原理是不一樣的，在測試某些軟體功能的時候就會出錯。有的Snap套件問題難以解決，這時候就得切換為deb版。\n本文就是要來探討各種解決方案。繞過Ubuntu官方強加的限制，不要讓Ubuntu安裝到Snap的套件。\n1. 方案探討 # 列出幾種解決途徑，我個人偏好一＋二的解決方案。\n方案一：徹底移除Snap套件 # 不建議這樣做，問題沒辦法解決。\nUbuntu的Snap套件是由常駐程式Snapd管理的，理論上是能將這個服務關掉，並強制移除，再把它加入APT的黑名單防止日後系統更新自己裝回來。但我是建議就將Snap留著。然後降低Snap的優先權。\n因為Ubuntu官方已經逐漸將自身套件庫的deb套件替換為Snap的版本，那些套件已經不再是原本的套件，已經變成了一個個空套件，安裝後只會重新導向Snap指令。譬如Firefox、Chromium、Thunderbird等等，在最新版Ubuntu 24.04就只提供Snap的套件，沒有deb版。\n不信？使用指令apt show firefox指令查詢套件資訊，會輸出以下結果，可以看到Firefox套件已經成為transitional package，實際會導向安裝Snap套件。\nPackage: firefox Origin: Ubuntu APT-Sources: http://tw.archive.ubuntu.com/ubuntu noble/main amd64 Packages Description: Transitional package - firefox -\u0026gt; firefox snap This is a transitional dummy package. It can safely be removed. . firefox is now replaced by the firefox snap. 你可能覺得把Snap服務直接刪除比較好，避免日後執行APT指令的時候又不小心裝到Snap套件。不過就像我上面說的，Ubuntu的deb套件已經變成空殼了，這樣做意義不大。\n方案二：手動找deb或第三方PPA # 找額外的deb是最直接的做法。建議是使用PPA，方便自動更新。\n找野生deb有風險，更新不便，它們也不見得是為Ubuntu建置的。Debian的套件不見得可以裝在Ubuntu，所以找PPA更好。\n比如Firefox就有Mozilla官方經營的PPA，內含Mozilla官方建置的Firefox與Thunderbird。\nChromium則是有Rob Savoury的PPA。\n方案三：改用其他套件格式 # 好像把問題複雜化了\u0026hellip;\u0026hellip;\nFlatpak比Snap更受Linux社群歡迎，內建Flatpak的發行版比內建Snap的要多。安裝此格式的軟體能夠獲得更多支援。很多軟體都有打包為Flatpak版本。\n另外，AppImage格式的軟體也是可以考慮的選項。沒有複雜的權限問題需要處理。\n方案四：跳船到其他發行版 # Canonical的CEO已經明說，不會放棄Snap的道路。\n如果真的不喜歡Snap的干涉，就用沒有Snap的發行版吧。\nUbuntu官方認可的發行版都得遵照Canonical公司政策使用Snap，包括Kubuntu、Lubuntu、Xubuntu等等，故必須使用Canonical管不到的系統。\n除了老祖宗Debian沒有Snap之外，有很多基於Ubuntu的發行版是沒有採用Snap的，例如Linux Mint、Pop!_OS、Zorin OS、elementary OS。\n2. 範例：安裝deb版的Firefox，取代Snap # 透過Mozilla官方的PPA取得deb版Firefox。再利用APT的Pinning功能，降低Snap套件的優先權。\n其他軟體用deb取代Snap的步驟大抵上也是如此。\n移除Snap版的Firefox sudo snap remove --purge firefox 新增Mozilla官方的PPA套件庫 sudo add-apt-repository ppa:mozillateam/ppa 針對Firefox，新增APT設定檔 sudo vim /etc/apt/preferences.d/mozilla 填入以下內容，將Mozilla套件庫釋出的套件優先度提到最高，並將Ubuntu釋出的套件降至最低。這是為了防止APT安裝套件的時候去安裝到Ubuntu提供的套件，導致觸發Snap商店的安裝指令。 Package: * Pin: origin packages.mozilla.org Pin-Priority: 1000 Package: firefox* Pin: release o=Ubuntu Pin-Priority: -1 確認優先度規則是否套用成功 sudo apt policy firefox 接著，防止Ubuntu未來更新自行下載Snap版Firefox，新增Unattended Upgrades規則 sudo vim /etc/apt/apt.conf.d/51unattended-upgrades-mozilla 填入以下內容，設定只有Mozilla釋出的套件可以自動更新 Unattended-Upgrade::Allowed-Origins:: \u0026#34;LP-PPA-mozillateam:${distro_codename}\u0026#34;; 安裝deb版Firefox sudo apt install firefox firefox-l10n-zh-tw 參考資料 # How to install Firefox as a traditional deb package (without snap) in Ubuntu 22.04 or later versions? - AskUbuntu AptConfiguration#apt_preferences (APT pinning) - Debian Wiki ","date":"2025年2月27日","externalUrl":null,"permalink":"/posts/oh-snap-ubuntu/","section":"所有文章","summary":"Install deb packages instead of Snaps on Ubuntu.\n適用版本：Ubuntu 16.04以上\nOh snap! 這句話在英文裡面有「這下靠北了」的意思。\nSnap是Canonical推行的跨發行版Linux套件格式，大概在Ubuntu 16.04以後內建於系統。讓老版本的系統也可以安裝最新版的套件，不受APT套件庫依賴的影響。\n相關文章：Snap指令使用方式\n雖然它本意是好的，但是Ubuntu 22.04之後便開始強迫大家使用。Canonical修改了Ubuntu套件庫的一部分套件，使得用戶在透過APT安裝特定應用程式的deb檔的時候，會自動重新導向Snap商店，下載對應的應用程式。\n比如用APT執行指令apt install firefox安裝Firefox瀏覽器，就會出現「正在連接到Snap商店」(==\u003e Checking connectivity with the snap store)的訊息，強迫用戶下載Snap版本的套件。就連Dockerfile使用Ubuntu Docker Image裡面執行apt install也無法倖免。\n這會造成許多問題，因為Snap格式打包的軟體跟deb原理是不一樣的，在測試某些軟體功能的時候就會出錯。有的Snap套件問題難以解決，這時候就得切換為deb版。\n本文就是要來探討各種解決方案。繞過Ubuntu官方強加的限制，不要讓Ubuntu安裝到Snap的套件。\n","title":"想安裝deb卻變成Snap？Ubuntu防止APT安裝Snap套件的解決方案，以Firefox為例","type":"posts"},{"content":"對於AI工具崛起，我對自己網站內容的思考。\nAI被濫用，或者說必然被濫用 # 用生成式AI（如ChatGPT）寫部落格的人越來越多了，很多人不是AI輔助改稿，而是整篇就生成貼上來，內容一看就知道言之無物，可是SEO優化的好就來跟我們這些活人搶搜尋排名。有些網站看起來不是陰險的內容農場，那麼他們貼AI生成的文章居心何在呢，比如在方格子和Medium貼AI內容的。\n不管怎麼說，AI內容未來只會越來越多。除非哪天AI像《Vivy -Fluorite Eye\u0026rsquo;s Song-》裡面一樣叛變殺光人類，否則The Dead Internet theory不會停止。\n2023年的時候我寫過一篇反AI生成的文章，並呼籲大家在網站放上非AI生成的標章，這個大概跟反核海報一樣沒啥積極作用，只是身份政治的一種。對讀者來說，這個標章亦無法確保真的沒有AI生成內容。事實是，如果要參與網路行銷這個遊戲，AI已經是在所難免了。\n參考這篇文章：在AI 生成內容氾濫的時代，”基礎內容” 已經變得毫無價值。 - 朱騏 ，他說網路行銷的「基礎內容」已經被AI佔領了，我覺得這是正確的。因為AI善於總結內容，寫內容太簡單的分步教學文已經不足以脫穎而出。當然不能否認，對於想學新技術的人，還是很多人需要「餵飯」等級的教學文章，看看Bilibili那些懶人包影片的觀看次數就知道了，但若要追求卓越，你終究贏不過AI的。\n單純強調自己的文章非AI生成，對很多讀者來說是完全沒有意義。他們可能不在乎，或者根本分辨不出來，看抖音看的，唉。手工寫文章，這又不是手工餅乾或有機蔬菜之類的東西，可說是難以賣出去的，也沒有人會因為你是手工耕耘而輕易買單。要是你很有營銷頭腦，或許還能把文字創作變成NFT削一筆，但能成功的終究是少數。\n如果要寫知識類的幫助文章，單單是step by step是不夠看的，必須要加入獨有的經驗分享，即使是失敗的也無妨，或是實戰案例。這些都是AI難以複製的內容。\n讓內容從AI狂潮之中脫穎而出 # 嗯，所以部落客的吐嘈就現在是更重要的功夫！在解說困難概念的時侯還要像是寫章回小說一樣加入個人風格的文字，讓人黏著上。但如果說每篇教學文都要加入實戰分享真的蠻難的，畢竟我不像暗黑執行緒還有歐飛先生有那麼多實務經驗，又不像電腦玩物大大有那麼工作狂的執行力。很多時候我的文章流於紙上談兵的程度罷了，有些文章當作筆記處理，因為覺得有趣，就是先寫起來放的概念，未來再像rolling release一樣的方式更新內容。\n是的，我滿多文章算是筆記性質的，雖然我盡量發揮文組胡謅的能力，將其加上introduction和conclusion，裝扮的不像是筆記。可是有些時候，介紹個軟體只講基礎的功能，至於延伸應用、實際應用場合\u0026hellip;？等我以後想到再補，然後文章就結束了。這種文章充當informative的閱讀材料還湊合，但是給內行人一讀就會看出內容挺沒料的。\n常見的操作是，日後我有哪個新玩意，需要用到舊有的概念，才會挖出來擴充並加上反向連結。由此可見讀者看到的成品的好壞，取決於我投注多少心力在維護反向連結上。有的文章可能寫過就忘了，內容七零八落的也不管；有的則是常常我自己也會拿出來讀，並順手補上最新資訊的。\n若是以行銷專家的角度來看，上述種種行為可說是完全沒競爭力，品質不穩定，有時候是超級長文，有時候又不超過幾分鐘的閱讀時間。很難形成個人的特色。要是每個人的行銷電子報都像你這樣寫，很快客人就跑光啦！\n我應該要先思考如何更迎合讀者、精心設計的文章再po出來嗎？一切以營利為導向就很容易破壞網際網路的共享精神了呢。我不全然反對AI，比較能接受的做法，果然還是AI協助潤稿。撰文前先市調一下，對於有潛力獲得大量流量的文章，請Ollama提出質疑點，協助改善SEO和架構。但不能整篇都是AI生成，那太沒意思了。我經營網站沒有業績壓力，純粹是出於興趣。要是把po文當作機械化的操作那就完全沒有意義了。如果不常常像我這樣發廢文，總有一天你會連一句hook都寫不出來的。\n流量真得重要嗎？ # 《扁平時代》：被演算法渣了，還自以為掌握流量密碼 - BIOS monthly\n如果你注重『網站分析』，你不該只在乎流量 - Harris先生\n這些觀點，讓我能夠從比較科學的角度看待網路流量這件事。Youtube上關於某個議題，支持我的立場的影片流量很高，或是反對我的影片流量很高，都不禁會讓人想問問：這個世界怎麼了？人們為何只想看那些膚淺的口水戰玩意呢？現在，網站流量是很粗暴簡單的觀察指標，很多人都會直接依賴數字來判定，好像流量高就代表這個人講的東西是正確的，但是這件事絕不是唯一指標。\n從商業角度來看，多不見得就是好，一時高漲的流量也不是永恆的。應該看看其他指標，看能不能打造留住客人的品牌精神，這樣才能幫助獲利。\n從很文青的角度來看，擁有自己的獨家特色，比起別人都在用AI洗稿，這樣才能夠彰顯我們與他人的與眾不同，並能吸引到願意共享同樣價值的客群。\n以上的資料講的心態對創作者本身也有利，不會陷入盲目追逐數字的零和遊戲中——這世界太大了，跟別人比是比不完的，也並非所有人都能簡單當上在自己領域的老大地位，所以有時候順其自然就好。只是，如果做的東西在本國的利基市場太小，那麼能不能撐得起太自我風格的作品，那又是一個大問題了。\n瞄準的不是單一社群媒體的流量，而是整個網路。天上的星星都不是敵人！不需要討好所有人。我覺得搜尋引擎是最公平的競爭平台，連接了個人網站和商業網站，好東西加上好SEO就會被放到搜尋結果前面，並且不會被困在一個平台裡面。這樣一來，不會把眼界弄小，而是知道這個世界有多大。這樣講有點變態，我會偶爾看看網路上有誰引用文章。因為小破站採用的不是Wordpress架構，自然就沒有引用通知。所以想要知道哪些網站曾經放超連結指向我的Hugo網站，就只能靠Google Search Console和Bing WebMaster Tool紀錄的資訊得知。然後透過這些資訊，我就常常找到一些有趣的niche網站，默默把他們加入我的RSS訂閱列表。\n不要流量，那價值何在 # 根據Google Analytics統計的資料，我的部落格上流量前十名最高的網頁，幾乎都是我不感興趣的主題。這些內容涵蓋免費資源（說穿就是盜版）、破解軟體（例如Youtube ReVanced）、色色內容（Top 10必看動漫之類），也就是非常契合一般大眾關心的主題。不妨這樣想：你以為MBTI和星座是很低能的主題，巴納姆效應就打發的東西，但就是很多人愛看，所以才有那麼多人寫。\n啊你說對這些主題沒興趣為啥還要寫？我也不知道！單純本著網際網路分享互助的駭客精神po上來而已，哪知道那麼多人看。\n最近一年觀察下來，流量高的網頁之中，可能就AIGC是我比較滿意的主題。因為Stable Diffusion和Ollama是真的蠻有用的技術，開源AI對自由軟體也有助益。不過這是一時的熱潮，時間過後可能就消失。到時候流量暴跌又該如何自處。 到頭來還是要認清自己價值在哪裡，防止逐流量而居。我實際喜愛的主題，還是Linux、Android以及自由軟體，終究是niche。比上，不如硬實力分享，真的技術部落格都是現職工程師分享演算法實作程式碼，哪像我是一點geek＋實際應用解說；比下，又不夠契合一般人的口味，才導致不上不下。\n不以營利、不以流量為第一優先的部落格，就必然會遇到價值觀問題。我究竟是為了什麼而寫，是什麼促使我堅持到現在，每週固定更新？\n假使AI未來生成的內容也開始言之有物，個人部落格又該怎麼找到繼續下去的理由呢？\n參考：POSSE, Publish (on your) Own Site, Syndicate Elsewhere - IndieWeb\n這個大概是比較樂觀的看法。\n用老套點的說法，因為有你們，就是讀者，支持，所以我才能繼續下去。\n因為我知道那些人願意來看。\n一個人走得快，一群人走得遠。\n然後未來，我要繼續探索AI幫助人類帶來更多有價值內容的方式，而非繼續沉淪下去。\n未來會怎樣還不知道，但現在我至少可以告訴你，這篇不是AI寫的，而是來自靈魂的振動。\n","date":"2025年2月25日","externalUrl":null,"permalink":"/posts/basic-content-is-dying-and-i-have-to-change/","section":"Personals","summary":"對於AI工具崛起，我對自己網站內容的思考。\nAI被濫用，或者說必然被濫用 # 用生成式AI（如ChatGPT）寫部落格的人越來越多了，很多人不是AI輔助改稿，而是整篇就生成貼上來，內容一看就知道言之無物，可是SEO優化的好就來跟我們這些活人搶搜尋排名。有些網站看起來不是陰險的內容農場，那麼他們貼AI生成的文章居心何在呢，比如在方格子和Medium貼AI內容的。\n不管怎麼說，AI內容未來只會越來越多。除非哪天AI像《Vivy -Fluorite Eye’s Song-》裡面一樣叛變殺光人類，否則The Dead Internet theory不會停止。\n2023年的時候我寫過一篇反AI生成的文章，並呼籲大家在網站放上非AI生成的標章，這個大概跟反核海報一樣沒啥積極作用，只是身份政治的一種。對讀者來說，這個標章亦無法確保真的沒有AI生成內容。事實是，如果要參與網路行銷這個遊戲，AI已經是在所難免了。\n參考這篇文章：在AI 生成內容氾濫的時代，”基礎內容” 已經變得毫無價值。 - 朱騏 ，他說網路行銷的「基礎內容」已經被AI佔領了，我覺得這是正確的。因為AI善於總結內容，寫內容太簡單的分步教學文已經不足以脫穎而出。當然不能否認，對於想學新技術的人，還是很多人需要「餵飯」等級的教學文章，看看Bilibili那些懶人包影片的觀看次數就知道了，但若要追求卓越，你終究贏不過AI的。\n單純強調自己的文章非AI生成，對很多讀者來說是完全沒有意義。他們可能不在乎，或者根本分辨不出來，看抖音看的，唉。手工寫文章，這又不是手工餅乾或有機蔬菜之類的東西，可說是難以賣出去的，也沒有人會因為你是手工耕耘而輕易買單。要是你很有營銷頭腦，或許還能把文字創作變成NFT削一筆，但能成功的終究是少數。\n","title":"生成式AI寫作之我見，網路部落格行銷策略的變化","type":"personal"},{"content":" 您是否有遇過「請啟用Windows」的提示？今天要介紹的這個指令稿「Microsoft Activation Scripts」，能夠一鍵「開窗」，啟用您的Windows系統，讓您享有完整系統功能。 此圖使用Stable Diffusion WebUI生成\n此指令稿由Github用戶massgravel開發，開源免費，無毒無廣告，永久有效。\n支援系統版本：\nWindows 7 Windows 8 Windows 10 Windows 11 包括家用版、專業版、企業版、教育版、伺服器版的Windows系統。\n1. 背景 # 以Microsoft Windows 11為例，現在要安裝Windows系統，其正版映像檔(ISO)是可以免費在Microsoft官網下載，並安裝在任意電腦上的。\n不過，在新安裝Windows後，您還需要輸入產品金鑰啟用系統，金鑰通常是隨電腦或零售盒裝附贈的，不會附在安裝ISO裡面。所以，沒有金鑰啟用的系統會變成「試用版」，Windows會一直彈出「請啟用Windows」的警告，還會無法使用全部系統功能，很是惱人。\n如果只是為了「測試」用途需要一些啟用Windows授權呢？去網路搜括一堆OEM便宜金鑰？嘿嘿，這個時候「Microsoft Activation Scripts」指令稿就很好用了，它能夠一鍵啟用Windows產品金鑰，永久有效。\n如果您想從現有的Windows家用版升級至專業版，也可以使用此指令稿啟用金鑰。\n此指令稿破解金鑰後，系統嚴格來說還是盜版。自用無妨，開發者宣稱破解後以Microsoft帳號登入系統也不會怎樣。 但是有能力的話請還是購買Windows正版產品金鑰。\n對了，Microsoft員工曾經被抓到在遠端協助的時候使用Microsoft Activation Scripts解決授權問題：Microsoft Support Caught Solving Windows Activation Issues With An Illegal Crack\n2. Microsoft Activation Scripts破解原理 # 跟以前流行的KMS Pico工具比起來，Microsoft Activation Scripts安全性比較高，它的程式碼是開源的，很難藏病毒，也不需要到奇怪的網站下載破解程式。\n程式碼和程式本體可在Github取得。\n根據開發者的文件，此指令稿支援三種破解啟用金鑰方式：\nHWID：僅支援Windows 10和Windows 11。利用Windows 7免費升級Windows 10所產生的金鑰來啟用系統。別忘記當年Microsoft強制升級Windows 10的時候，連盜版Windows 7都給升呢。此方法需要網路，重裝系統後該金鑰仍有效。 KMS38：僅支援Windows 10、Windows 11、Windows Sever 2022。透過欺騙gatherosstate.exe，不斷延長180天的金鑰試用期，將失效日期一路延期到2038年。此方法無需網路，不會在系統留下任何檔案。 Online KMS Activation：支援Windows 7 ~ Windows 11系統。利用Microsoft官方的Key Management Service線上啟用金鑰，每180天要連網重新啟用一次。此方法亦能夠啟用Microsoft Office產品。 以上三種方法，一般用HWID方式啟用金鑰足矣。\nMicrosoft Activation Scripts還提供「Change Windows Edition」的功能，能將評估版(Evaluation)的系統轉為正式版系統。\n3. 如何使用Microsoft Activation Scripts # 在執行此指令稿之前，確保Windows已經更新到最新版本，並且重開機過。在系統設定，開啟Windows Update沒有任何更新再繼續。\nWindows 11請在應用程式列表搜尋「終端機」或「Powershell」，不可使用命令提示字元 右鍵以系統管理員執行 按右鍵貼上以下指令，按Enter，下載並執行指令稿\nirm https://get.activated.win | iex 此時會跳出一個小視窗，滑鼠點一下視窗，輸入數字1，按Enter，使用HWID啟用金鑰。如果不行再試試KMS38。 等待破解完成，完成會顯示Press any key to Go back。完成後將視窗全數關閉，重開機。 重開機後開啟Windows系統設定 → 關於，查看系統是否已為啟用狀態。 4. 啟用Microsoft Office授權 # Microsoft Activation Scripts工具能夠用來啟用Office授權，支援Office 2016 ~ 2024 LTSC的版本，Office 365也是支援的。\n請先安裝Office。如果你想下載又不知道去哪裡找安裝程式，可透過Office Tool Plus部署。\n在應用程式列表搜尋「終端機」，右鍵以系統管理員執行\n執行指令\nirm https://get.activated.win | iex 輸入4並按Enter，選取Online KMS 輸入2並按Enter，選取Activate Office，啟用Office。 接著回到上一個選單，輸入4並按Enter，選取Install Auto-Renewal服務。如此一來就會每個禮拜自動更新授權。 ","date":"2025年2月25日","externalUrl":null,"permalink":"/posts/microsoft-activation-scripts/","section":"所有文章","summary":" 您是否有遇過「請啟用Windows」的提示？今天要介紹的這個指令稿「Microsoft Activation Scripts」，能夠一鍵「開窗」，啟用您的Windows系統，讓您享有完整系統功能。 此圖使用Stable Diffusion WebUI生成\n此指令稿由Github用戶massgravel開發，開源免費，無毒無廣告，永久有效。\n支援系統版本：\nWindows 7 Windows 8 Windows 10 Windows 11 包括家用版、專業版、企業版、教育版、伺服器版的Windows系統。\n1. 背景 # 以Microsoft Windows 11為例，現在要安裝Windows系統，其正版映像檔(ISO)是可以免費在Microsoft官網下載，並安裝在任意電腦上的。\n不過，在新安裝Windows後，您還需要輸入產品金鑰啟用系統，金鑰通常是隨電腦或零售盒裝附贈的，不會附在安裝ISO裡面。所以，沒有金鑰啟用的系統會變成「試用版」，Windows會一直彈出「請啟用Windows」的警告，還會無法使用全部系統功能，很是惱人。\n如果只是為了「測試」用途需要一些啟用Windows授權呢？去網路搜括一堆OEM便宜金鑰？嘿嘿，這個時候「Microsoft Activation Scripts」指令稿就很好用了，它能夠一鍵啟用Windows產品金鑰，永久有效。\n","title":"Microsoft Activation Scripts教學，一鍵啟用Windows 11與Office 365金鑰的開源指令稿","type":"posts"},{"content":"為什麼英文句子一定要有動詞，但中文和日文不用？\n為什麼The United States前面要加上the？\n為什麼形成問句的時候do會出現在句首，而不是動詞移過去？\n為什麼英文一句話重音變化，會導致意思不同，而不單單只是強調用法而已？\n為什麼英文的被動態有三種，且不能直接與中文的被動態劃上等號，get與by的被動式的語意根本不同？\n在接觸語言學之後，我就出現了刃牙梗圖情況：不知道，從來沒想過這個問題.jpg。\n語言學顛覆了我對語言的認知，然後又糅合了電腦科學 —— 這個我同樣喜愛的學科的興趣。\n當語言與電腦交會 # 果然英文系學的東西，對理解資工系(也就是歐美國家常見的Computer Science)的東西有些許幫助，尤其語言學的概念。我這裡講的是語言學(Linguistics)這門學科，不是學習任一語言的動作。\n我想說能不能用程式術語來解釋啊…每個句子都有\u0026quot;property\u0026quot;，語意上有\u0026quot;assertion\u0026quot;的存在，更不要說句法學有結構87%像的\u0026quot;syntax tree\u0026quot;了。如果橫跨英文系和資工領域的學生，同時讀《Contemporary Linguistics: An Introduction》和《Operating System Concepts》的書，一定會覺得有許多巧妙之處，儘管底層的原理不一樣。\n早期的電腦科學本來就借鑒了一些語言學的理論，所以有了計算機語言學(Computational linguistics)這門分支出現，還有為人熟知的自然語言處理技術(NLP)。具體歷史關係，可以看這篇論文的介紹：When technology became language: the origins of the linguistic conception of computer programming, 1950-1960\n自1950年代起，以諾姆·喬姆斯基(Noam Chomsky)為首的語言學家想要知道人類語言的本質為何，故他假定有普遍文法(Universal Grammar)存在，認為語言可以用數學公式的方式計算出來，每個語言都有公式，只是帶入的參數不一樣罷了。喬姆斯基發展了多種理論去證明它，直到今日他的理論都還在不斷修正當中。有了語言學家的努力，這就為了電腦科學，乃至AI提供了許多可以參考的理論基礎。\n嘿嘿，這就是讓人頭痛的地方了。什麼時候連英文系的學生學英文也會開始頭痛？當語言學與數學開始交會的時候。喬姆斯基數學系畢業的，自然熟悉用數學語言描述事情，分析一個句子也要有公式，但不是人人都數學家。不像是聽說讀寫能力，那些即使不是外文系，練多了就會，可是數學不會就是不會。要不是數學跟我熱愛的哲學和電腦科學有交會，我早就自毀ㄌ。我在有限的智商能理解的就寫成程式碼的語言而已。\n啟發語言學的他 # 最近有個補習班面試問我最棒的經驗和最後悔的經驗，我都回答是「接觸英文」，尤其是接觸語言學之後就更加摸不清這個學科了。呵，明明不是學霸，對文學理論和教學理論都只懂一些，實用的商業英文和多益也只考得到金色證書邊邊，竟然還有餘力關心語言學。\n但願我從沒碰過語言學，才不會認識到「如果我不曾見過光明」的moment。\n很久以前就碰過語言學，但以前屏大教語言學的陳教授教的太籠統，真的是去年於高師大研究所遇到郭教授才有這種啟發，讓我對這個研究體系感興趣。\n有趣的是，我遇到的這位郭教授，居然懂得跑Local AI，包含LLaMA和ComfyUI，玩得不亦樂乎，而非依賴線上服務。這些剛好是我也在研究的東西，難得有非科系的人會跟我有共同的興趣！他上課向我們推薦花15萬去買ASUS的筆電，擁有RTX4090，就能跑FLUX生圖模型了。喔不，我還沒那麼闊綽，誰像你一樣為了上課演示就隨手買了一台RTX4060的平板啊，所以只好繼續壓榨手上的這塊GTX1050Ti，它搭配ComfyUI能夠榨出更多資源。\n他常常說，若不是近年來AI崛起，偏理論方面的語言學研究根本沒有人要做，太抽象啦。聽說美國的語言學系學生都跑去做Data Science等AI相關的工作了，可說是真正能馬上賺到大錢的工作。\n珊迪曾經說過：這可是門科學，海綿寶寶.mp4\n講到就業問題，這裡有一篇換日線的文章：英文很好，然後呢？──雙語教育的未來趨勢，前政大外語學院院長這樣看 由此確認一個現實，英語好的實在不算什麼，因為如果你真的「只有」英語一項技能好，並以做題家自豪，看到別人有一技之長的專業又英語好，你會崩潰低。除非，是要以英語為研究標的，那麼英語才是一種優勢，而且得是學者等級的精通才行。否則，會英語本身不能產生價值，與其連結的職業技能才來帶來價值，也就是，讓摳摳進入你的口袋。如果把英語當成工具就不難理解，學習英語不是終點，是邁向成功的其中一步而已。對語言學系的學生而言，如果只糾結在自身的丁點英語優勢上，很容易就會被時代潮流超越，到最後淪落為教書匠而已。\n即使是語言學家，亦不能逃避這個問題，不能讓純理論脫離現實太多。喬姆斯基的理論尚有不完善之處，所以還有待後人去補上他的洞。\n郭教授上課講解語言學基礎知識的時候，時不時就拋出一堆問題來問學生，質疑我們以前學的文法是否就是正確的，文法教材是否傳遞了真相。就像文首講到的東西，隨便一個問句都足以當研究論文題目了吧！是的，雖然以我的智商應該不太可能做這方面研究，但我覺得很有趣！每天吸收這些資訊已經無法直視以前學生時代的文法教材了。光是文首提到的那些問題，就夠讓人苦思好幾天，恨不得去翻經典書籍弄個明白。\n語言學的知識顛覆了看待文法的觀念，看到國中文法課本，就會想到語言學理論。原來這些文法的組合不是沒道理的，而是有各種理論和假說能支撐。這就破除了靠語感去解釋文法的困境，因為我不是native speaker沒有神力能感知語感，語言學讓我能用更科學的方式去看待，結合一點哲學邏輯和數學公式的方式去推導文法規則。\n我是個混分仔 # 話說以前去修屏大資工系林教授的作業系統課程的時候，那個教授是建議我這個文組生去做影像辨識的AI，這是否\u0026hellip;\u0026hellip;也是啦，這是很熱門的項目，Github上每年都有一堆中國研究生做的開源專案發表。理工科研究生只要幫實驗室老闆完成工作就好，至少目標明確，哪像文組研究生得自己生研究方向出來。總覺得當時對不起那個教授，學期初興致高昂的看著作業系統恐龍書，最後卻只是低空飛過，因為我連CPU甘特圖都看無。疑似還是教授可憐我，用線性函數加分到60分，完全變成不知道哪來的混分仔。\n另外，大約是同一學期的時候，聽從別人的建議，跑去中文系修隋唐佛學研究課程。\n依我的智商，上語言學相關的課程依然高機率是會被當成混分仔\u0026hellip;我也只能盡力表現的「我沒有那麼混」。\n繼續努力 # 總之，雖然我對語言學下屬的科目，包含音韻學、語音學、句法學，語意學、語用學、還只是一知半解的程度，考試也都考不好，但真的讀來饒富趣味。\n但是未來如果當上老師，我肯定不能跟學生講這些的…不要問那麼多，還是給我把三態背起來就好。\n","date":"2025年2月24日","externalUrl":null,"permalink":"/posts/2025022401/","section":"Personals","summary":"為什麼英文句子一定要有動詞，但中文和日文不用？\n為什麼The United States前面要加上the？\n為什麼形成問句的時候do會出現在句首，而不是動詞移過去？\n為什麼英文一句話重音變化，會導致意思不同，而不單單只是強調用法而已？\n為什麼英文的被動態有三種，且不能直接與中文的被動態劃上等號，get與by的被動式的語意根本不同？\n在接觸語言學之後，我就出現了刃牙梗圖情況：不知道，從來沒想過這個問題.jpg。\n語言學顛覆了我對語言的認知，然後又糅合了電腦科學 —— 這個我同樣喜愛的學科的興趣。\n當語言與電腦交會 # 果然英文系學的東西，對理解資工系(也就是歐美國家常見的Computer Science)的東西有些許幫助，尤其語言學的概念。我這裡講的是語言學(Linguistics)這門學科，不是學習任一語言的動作。\n我想說能不能用程式術語來解釋啊…每個句子都有\"property\"，語意上有\"assertion\"的存在，更不要說句法學有結構87%像的\"syntax tree\"了。如果橫跨英文系和資工領域的學生，同時讀《Contemporary Linguistics: An Introduction》和《Operating System Concepts》的書，一定會覺得有許多巧妙之處，儘管底層的原理不一樣。\n","title":"英文系的「語言學」真有趣，對學習資工系的程式真的有些許幫助","type":"personal"},{"content":"你有老影片畫質太差需要修復嗎？想要讓影片提昇到60FPS增加流暢度嗎？\n「REAL Video Enhancer」可以幫你達成，它能夠將影片解析度放大，轉成4K60p的高畫質內容。 REAL Video Enhancer的功能類似專有軟體Topaz Video AI，不過其為自由軟體，完全免費使用，而且支援Linux與Windows系統。\n這個軟體整合了許多開源的AI影片放大與補幀技術，將其做成圖形界面方便操作。\n包含的技術如下：\n放大模型：SPANkendata、ClearReality、Nomos8k-SPAN、OpenProteus、AnimeJaNai (RealESRGAN) 補幀模型：RIFE、GMFSS、GIMM 這裡列出的模型能夠用來處理真人與動畫類的影片。作者未來可能會加入影片修復模型支援，讓放大後影片的畫面雜訊少一些。 動漫影片放大，480p → 4K 真人影片放大，480p → 4K\n請注意，REAL Video Enhancer只能放大影片，若需要Linux的圖片放大軟體，請使用Upscayl。\n1. 硬體需求 # REAL Video Enhancer是用Python寫成，支援Linux與Windows系統。\n針對不同品牌的GPU，REAL Video Enhancer提供多種處理後端：\nNCNN，透過Vulkan計算，適用於Intel、AMD、Nvidia的GPU。 Pytorch，只能透過Nvidia CUDA或AMD ROCm加速。 TensorRT，僅Nvidia GPU可以使用，且需要RTX 40或更新的GPU才可使用。 DirectML，尚未實作。 NCNN Vulkan是最為通用的方案，大多數GPU都支援。若有獨立顯卡就用獨顯處理，用CPU內顯處理太慢了。\n2. 安裝REAL Video Enhancer # 以Ubuntu為例，Intel GPU的驅動應該包含在Mesa裡面了，至於Nvidia GPU需要安裝專有驅動。\n我等會要用NCNN計算，所以確認Linux系統GPU的Vulkan支援狀況：\nvulkaninfo --summary 若要改用PyTorch，Nvidia GPU需要安裝CUDA。\n不知為何Flatpak版有奇怪的權限bug，所以先用二進位檔版本。到REAL Video Enhancer的Github下載Linux版，解壓縮。\n點選REAL Video Enhancer執行檔開啟，下載依賴套件。REAL Video Enhancer會自行下載Python，不用依賴系統的Python套件。\n選擇Backend，先試試NCNN Vulkan，這個適用Intel、AMD、Nvidia GPU。 開啟之後，首頁會右側顯示系統資訊。要看的是NCNN GPU的部份，把ID記下來。像我的電腦有Intel內顯和Nvidia獨顯，分別為0與1。 點選左下角設定，切換到Render Setting，選取NCNN的GPU。這裡我要用Nvidia GPU計算所以填入1。 REAL Video Enhancer預設的影片編碼器是x264，使用CPU計算。如果條件允許應該能用VA-API或NVENC加速編碼才對，但我不確定Linux要安裝哪些依賴才能使用NVENC？\n3. 轉檔操作 # REAL Video Enhancer的Github頁面說這個軟體能夠即時下載網路影片並轉碼，但我找不到這功能在哪裡。\n另外還有一個意義不明的「Discord顯示正在遊玩」功能？？\n這裡只介紹本機影片轉檔功能。\n影片轉檔前，可以裝VLC播放器，播放影片時點選工具 → 編解碼器資訊，查看原始影片的編碼資訊。\n點選晶片圖示進入轉檔頁面。 Input File： 選取要處理的影片。要轉檔的影片畫質至少要有480p，不能太模糊，位元率不要太低，否則放大後依然是糊成一片。此外REAL Video Enhancer輸出的時候是沿用原始影片的編碼器，需要注意AV1和H.265編碼的速度可能比H.264要慢。\nOutput Folder： 選取影片輸出的目錄。\nBackend： 這裡我選擇NCNN，最通用的處理後端。\nUpscale Model： （單純補幀影片的話不用選）每個模型有固定的放大係數，有的模型最多放大到4倍，有的只有2倍數，無法變更。模型需要依照影片類型調整，針對放大動畫的模型，建議先從RealESRGAN AnimeVideo或AnimeJaNai模型開始測試。真人影片則是使用Nomos8k-SPAN或OpenProteus模型。\nInterpolate Model：（單純放大影片的話不用選）補幀模型，一樣需要按照用途調整，選取適合動畫的RIFE Animation。\nInterpolate Multiplier： 目標幀率，預設是2倍，像30FPS影片會變成60FPS，以此類推。\n一切就緒後，點選Add to Render Queue，再點選播放鍵開始轉檔。轉檔時長視原始影片解析度大小而定。\n","date":"2025年2月23日","externalUrl":null,"permalink":"/posts/real-video-enhancer/","section":"所有文章","summary":"你有老影片畫質太差需要修復嗎？想要讓影片提昇到60FPS增加流暢度嗎？\n「REAL Video Enhancer」可以幫你達成，它能夠將影片解析度放大，轉成4K60p的高畫質內容。 REAL Video Enhancer的功能類似專有軟體Topaz Video AI，不過其為自由軟體，完全免費使用，而且支援Linux與Windows系統。\n這個軟體整合了許多開源的AI影片放大與補幀技術，將其做成圖形界面方便操作。\n包含的技術如下：\n放大模型：SPANkendata、ClearReality、Nomos8k-SPAN、OpenProteus、AnimeJaNai (RealESRGAN) 補幀模型：RIFE、GMFSS、GIMM 這裡列出的模型能夠用來處理真人與動畫類的影片。作者未來可能會加入影片修復模型支援，讓放大後影片的畫面雜訊少一些。 動漫影片放大，480p → 4K 真人影片放大，480p → 4K\n請注意，REAL Video Enhancer只能放大影片，若需要Linux的圖片放大軟體，請使用Upscayl。\n1. 硬體需求 # REAL Video Enhancer是用Python寫成，支援Linux與Windows系統。\n針對不同品牌的GPU，REAL Video Enhancer提供多種處理後端：\nNCNN，透過Vulkan計算，適用於Intel、AMD、Nvidia的GPU。 Pytorch，只能透過Nvidia CUDA或AMD ROCm加速。 TensorRT，僅Nvidia GPU可以使用，且需要RTX 40或更新的GPU才可使用。 DirectML，尚未實作。 NCNN Vulkan是最為通用的方案，大多數GPU都支援。若有獨立顯卡就用獨顯處理，用CPU內顯處理太慢了。\n","title":"開源AI影片放大＆補幀軟體：REAL Video Enhancer，支援Linux與Windows","type":"posts"},{"content":"Upscayl為一款自由軟體，可以用來放大圖片。\n不論是真實照片還是動漫圖像，Upscayl都能夠放大，操作過程十分簡單，只要選取圖片再按放大就行了。\n它不是單純的把解析度放大而已，而是透過AI演算，即使圖片放大後也不會失真太多！ Upscayl的功能很像waifu2x和Topaz Gigapixel AI這類軟體，但是Upscayl是開源跨平台的，提供Linux、Windows、macOS版本。運算的時候是完全在本機執行，沒有任何額度限制，放大倍數想設多少就設多少。\n但是Upscayl作者在Github提出了不適用的場合：若你想要放大模糊的照片並自動修復細節，Upscayl做不到，放大後的圖片可能會像是油畫一般。Upscayl這個工具其實比較適合放大還算清楚的照片，以及放大動漫圖像。\n本文Ivon將分享如何用Upscayl放大圖片，順便討論放大GIF動圖與影片的作法。\n1. Upscayl硬體需求 # 系統最低需要Ubuntu 20.04以上版本。\nUpscayl使用GPU計算，背後的RealESRGAN模型會用到NCNN Vulkan加速，故GPU必須支援Vulkan才能使用。\n大部分獨立顯卡支援Vulkan，CPU內顯也應該都有支援。執行以下指令查看Vulkan支援狀況： sudo apt install vulkaninfo vulkaninfo --summary Upscayl無法使用Nvidia CUDA加速圖片處理。如果在雙GPU系統選取Nvidia它也只會用Vulkan跑。\nVulkan吃GPU的圖形處理能力，所以有Nvidia GPU就盡量用Nvidia來算，所以得安裝Nvidia專有驅動。\n2. Linux安裝Upscayl # 到GitHub下載。作者提供了多個發行版的套件。我個人是透過用Flatpak安裝： flatpak install flathub org.upscayl.Upscayl 如果電腦有兩個以上的GPU，開啟Upscayl後先設定GPU加速選項，點選Upscayl的Settings選單，填寫GPU ID。 如何確定？依照畫面上方logs的訊息填寫，這裡應該會列出系統的GPU。例如我的電腦有Intel CPU內顯和Nvidia獨顯。填1就會用Intel GPU運算，填0則是使用Nvidia GPU運算。 3. 放大圖片 # 點選左邊的按鈕，選取要處理的圖片，再選取放大模型。Upscayl預設的Standard模型適合放大真實照片，要放大動漫圖像需要切換為Digital Art。 Upscayl的放大係數(Image Scale)預設為2倍或4倍，看模型支援度如何。在此之上的數值沒有多大效果，僅是單純把圖片解析度放大罷了。\n選取輸出目錄，等待輸出即可。Upscayl隨後會顯示比較畫面。 Upscayl尚支援批次轉檔，勾選「Batch Mode」便可以選取整個目錄裡面的圖片。\n4. 放大GIF動圖 # Upscayl無法處理GIF，所以得手動抽出GIF圖檔的畫格，利用Batch Mode批次放大，再把每個畫格拼回去。\nLinux系統上這個操作能夠用ffmpeg達成。\n抽出GIF所有的畫格，不要有透明圖層 ffmpeg -i \u0026#34;input.gif\u0026#34; \u0026#34;frame-%d.png\u0026#34; 開啟Upscayl，使用Batch Mode，批次放大圖片。\n將放大後的圖片拼回GIf：\nffmpeg -i \u0026#34;frame-%d.png\u0026#34; -r 30 \u0026#34;output.mp4\u0026#34; 5. 放大影片 # Upscayl本身沒有處理影片的功能，因此很不幸的，你得用ffmpeg手動抽取影片畫格，丟給Upscayl批次處理，再把他們拼回去。\n這樣做實在太麻煩了，建議直接用REAL Video Enhancer來放大影片。\n","date":"2025年2月23日","externalUrl":null,"permalink":"/posts/upscayl-linux/","section":"所有文章","summary":"Upscayl為一款自由軟體，可以用來放大圖片。\n不論是真實照片還是動漫圖像，Upscayl都能夠放大，操作過程十分簡單，只要選取圖片再按放大就行了。\n它不是單純的把解析度放大而已，而是透過AI演算，即使圖片放大後也不會失真太多！ Upscayl的功能很像waifu2x和Topaz Gigapixel AI這類軟體，但是Upscayl是開源跨平台的，提供Linux、Windows、macOS版本。運算的時候是完全在本機執行，沒有任何額度限制，放大倍數想設多少就設多少。\n但是Upscayl作者在Github提出了不適用的場合：若你想要放大模糊的照片並自動修復細節，Upscayl做不到，放大後的圖片可能會像是油畫一般。Upscayl這個工具其實比較適合放大還算清楚的照片，以及放大動漫圖像。\n本文Ivon將分享如何用Upscayl放大圖片，順便討論放大GIF動圖與影片的作法。\n1. Upscayl硬體需求 # 系統最低需要Ubuntu 20.04以上版本。\nUpscayl使用GPU計算，背後的RealESRGAN模型會用到NCNN Vulkan加速，故GPU必須支援Vulkan才能使用。\n大部分獨立顯卡支援Vulkan，CPU內顯也應該都有支援。執行以下指令查看Vulkan支援狀況： sudo apt install vulkaninfo vulkaninfo --summary Upscayl無法使用Nvidia CUDA加速圖片處理。如果在雙GPU系統選取Nvidia它也只會用Vulkan跑。\n","title":"Linux版Upscayl教學，AI放大圖片不失真，waifu2x離線替代品","type":"posts"},{"content":"","date":"2025年2月22日","externalUrl":null,"permalink":"/tags/vapoursynth/","section":"標籤","summary":"","title":"VapourSynth","type":"tags"},{"content":"SVP即Smooth Video Project，是一款閉源的補幀軟體，透過動態補償，或說補幀技術，提昇影片流暢度。 像是把30FPS補到60FPS，60FPS補到120FPS，提昇觀看體驗，讓擁有高刷顯示器的用戶不會白白浪費大好的硬體資源。\nSVP實際效果的影片，左為30FPS，右邊為60FPS：\n1. Linux版SVP功能 # 現在最新版本為SVP 4，支援Linux、Windows、macOS系統。 根據SVP官網頁面的資料，跟Windows還有macOS版比起來，Linux版少了很多功能，只有最基本的影片補幀功能，但好處是沒有試用期！也沒有任何浮水印！不需要花20美元付費購買完整版！\nSVP本身只有簡單影片播放功能，還有看串流的SVPtube，建議搭配其他播放器使用。Linux版SVP可以搭配MPV或VLC播放器使用，達成即時補幀效果。\nSVP主要的功能為即時補幀，也能夠給影片補幀後轉檔。\n2. 與其他Linux補幀軟體比較 # SVP安裝比較簡單。\n體感上\u0026hellip;比較容易出現果凍狀的線條？\nSVP跟VaporSynth的MVTools濾鏡比起來，大概就是功能比較完整，有詳細的性能設定檔可以調整。\n其實SVP軟體的核心「SVPflow」就是從MVTools修改來的技術，但是它變成了閉源軟體。\n因為Linux部份發行版的MPV支援VapourSynth，手動寫個VapourSynth指令稿載入SVPFlow插件也是可以的（見文末參考資料），就不用開著SVP主程式了。\nSVP內建的補幀演算法比新興的RIFE要省資源，CPU不要太老的話，甚至不用獨立顯卡也可以跑。不過要將4K影片補幀到60FPS以上，還是建議使用獨顯算。\n對了，雖然SVP有整合RIFE的補幀演算法，但是沒辦法在Linux上使用。\n3. 安裝SVP主程式 # Arch Linux直接從AUR安裝就好了：yay -S svp-bin\nSVP預設是使用CPU算，需要使用Nvidia GPU加速的記得安裝Nvidia專有驅動。\n安裝後點選SVPManager啟動程式，會顯示在桌面系統匣。\n至於Ubuntu：\n安裝以下依賴套件 sudo apt install mediainfo sudo apt install ocl-icd-libopencl1 sudo apt install lsof libqt5concurrent5 libqt5svg5 libqt5qml5 SVP預設是使用CPU算，需要使用Nvidia GPU加速的記得安裝Nvidia專有驅動\n安裝MPV播放器（下述）\n安裝Linux版的Vapoursynth。如果MPV已經支援Vaporsynth那就不需要安裝。\n接著從SVP官網下載安裝器。\n將檔案解壓縮\ntar -xvf svp4-linux*.tar.bz2 點選.run安裝器執行，安裝到任意位置 點選SVPManager啟動程式，會顯示在桌面系統匣。\n4. 搭配MPV播放影片 # Linux版SVP支援搭配MPV或VLC播放器使用。\n我選擇使用MPV，因為這個播放器比較自由，可以搭配許多外掛使用。例如Anime4K放大影片畫質。MPV內建yt-dlp能夠抓YouTube串流影片來看，也就不需要依賴SVP的SVPtube了。\nSVP的Wiki說MPV必須要啟用VapourSynth才能讓SVP的補幀生效。Arch Linux套件庫的MPV有支援VapourSynth。但Ubuntu 24.04套件庫的MPV沒有啟用，所以要自行編譯。嫌編譯麻煩的可以裝Flatpak版，Flatpak版MPV支援VapourSynth，勉強能讓SVP的補幀運作。\n在MPV設定檔mpv.conf加入以下內容，設定播放的時候允許IPC通訊，讓SVP存取。並將解碼器設定為copy。\ninput-ipc-server=\u0026#34;/tmp/mpvsocket\u0026#34; hwdec=auto-copy 保持SVP開著。\n然後用MPV播放影片，視窗左下角會短暫顯示SVP圖示，應該就會看到補幀效果了。 按Shift + i查看是否有載入Filter。 播放的時候可以點右下角SVPManager面板，切換演算法模式。動畫就選取為動畫優化的演算法，然後去殘影開最大。FPS設定為60，或者你有高刷顯示器也可以設定更高數值。 5. 用SVP轉檔影片 # 轉檔依賴原生套件版的MPV與VapourSynth。\n切換到SVP的轉檔頁面，開啟影片，選取編碼，開始轉檔。期間會使用MPV播放然後轉檔。 參考資料 # SVP:Linux - SmoothVideo Project SmoothVideo Project 系列（一）　－　安裝丶簡易設定 - 黑米奇SVP 记录我在Archlinux中配置Svpflow+MPV播放器实时补帧的过程 - 知乎 ","date":"2025年2月22日","externalUrl":null,"permalink":"/posts/smooth-video-project-linux/","section":"所有文章","summary":"SVP即Smooth Video Project，是一款閉源的補幀軟體，透過動態補償，或說補幀技術，提昇影片流暢度。 像是把30FPS補到60FPS，60FPS補到120FPS，提昇觀看體驗，讓擁有高刷顯示器的用戶不會白白浪費大好的硬體資源。\nSVP實際效果的影片，左為30FPS，右邊為60FPS：\n1. Linux版SVP功能 # 現在最新版本為SVP 4，支援Linux、Windows、macOS系統。 根據SVP官網頁面的資料，跟Windows還有macOS版比起來，Linux版少了很多功能，只有最基本的影片補幀功能，但好處是沒有試用期！也沒有任何浮水印！不需要花20美元付費購買完整版！\nSVP本身只有簡單影片播放功能，還有看串流的SVPtube，建議搭配其他播放器使用。Linux版SVP可以搭配MPV或VLC播放器使用，達成即時補幀效果。\nSVP主要的功能為即時補幀，也能夠給影片補幀後轉檔。\n2. 與其他Linux補幀軟體比較 # SVP安裝比較簡單。\n體感上…比較容易出現果凍狀的線條？\nSVP跟VaporSynth的MVTools濾鏡比起來，大概就是功能比較完整，有詳細的性能設定檔可以調整。\n其實SVP軟體的核心「SVPflow」就是從MVTools修改來的技術，但是它變成了閉源軟體。\n","title":"影片即時補幀：MPV + Linux版SVP安裝","type":"posts"},{"content":"Enable VA-API hardware video acceleration on Linux desktop.\n或許Linux筆電播放影片的時候可以不要那麼耗電。\n使用Linux系統，你一定會常常遇到播放影片的需求。譬如Firefox瀏覽器播放影片，有時候CPU會花很多資源去解碼(decode)影片，導致系統CPU使用率標升，容易耗電，對筆電系統來說很是不利。且影片如果是4K畫質以上，不夠強的CPU也容易lag。若是能透過硬體影片加速(hardware video acceleration)解碼，讓GPU分擔CPU的工作，那就能加速影片播放，並達到省電的效果。\n例子：播放4K影片時啟用硬體加速解碼，CPU佔用差異比較。 硬體影片加速技術也可以協助影片編碼(encode)，在轉檔影片的時候加速輸出，對Kdenlive和Jellyfin用戶十分有幫助。\n附註：這裡討論的是GPU硬體加速解碼與編碼影片，並非3D加速。Linux即使GPU玩遊戲的3D硬體加速正常，也不代表影片硬體加速有運作。有時候需要手動設定。\n1. Linux的硬體影片編解碼加速技術概觀 # GPU加速技術，自是由GPU晶片的廠商提供的。\n以x86架構的Linux系統來說，主要有VA-API和VDPAU兩種。\n「VA-API」為Intel提出的開源影片編解碼加速技術，適用於Broadwell架構（Intel Core第五代）以後的Intel CPU內顯，以及Intel Arc GPU。AMD GPU的驅動亦支援VA-API。至於Nvidia GPU必須使用開源Nouveau驅動才支援VA-API，Nvidia閉源驅動不支援VA-API。\nNvidia推廣的影片編解碼加速技術叫做「VDPAU」，這個也是開源技術，僅Nvidia和AMD支援，Intel不支援。\n此外，Nvidia推出了依賴CUDA才能使用的「NVDEC」解碼器以及「NVENC」編碼器，此乃閉源的影片編解碼加速技術。\n若是Nvidia GPU閉源驅動要使用VA-API，還有轉譯層可以用，包括「libvdpau-va-gl」和「nvidia-vaapi-driver」。\nlibvdpau-va-gl僅支援H.264影片解碼。\nnvidia-vaapi-driver需要CUDA才能使用，它透過NVDNC實作VA-API，作者專門設計給Firefox使用的，支援大部分影片解碼。\n具體來說，GPU加速了什麼？\n影片常見的編碼有H.264/MPEG-4 AVC 、H.265/HEVC、VP9、AV1。\n影片播放的時候都是透過CPU解碼的，透過GPU加速，能夠讓這些影片解碼更為快速。\n對H.264、H.265、VP9這種舊影片編碼，Intel Core第五代以後CPU要解碼應該都沒有問題。\n可是，最新的AV1編碼需要很新的GPU才能支援解碼。Intel Core至少需要10代以後的CPU才能透過VA-API解碼；Intel Arc GPU全型號都能透過VA-API解碼AV1；Nvidia需要GeForce RTX30以後，AMD需要Radeon RX 6600以後才能夠透過VDPAU解碼。\n至於Nvidia的專有技術NVDEC與NVENC，AV1的編解碼需要GeForce RTX30以後的GPU。\n2. 你應該使用VA-API？ # 縱然每家GPU廠商都有自家的影片加速技術，但是也要看應用程式願不願意支援。 從Arch Wiki提供的這張表格來看，目前Linux系統同時支援VA-API、VDPAU、NVDNC技術的應用程式只有MPV、ffmpeg、GStreamer。\nVLC (v.3.0) 僅支援VA-API與VDPAU解碼。\nChromium (v.149) 僅支援VA-API編解碼。\nFirefox (v.150) 僅支援VA-API解碼。\n這裡可以得出VA-API是支援最為廣泛的加速技術。\n這篇文章只側重在講解VA-API的加速。\n故，你需要搭載Intel或AMD GPU才能繼續操作。其他品牌的GPU或許得裝轉譯層才可以使用VA-API。\n3. Linux安裝VA-API套件 # 我測試的系統是Ubuntu 24.04。電腦GPU為Intel i5-7400的內顯Intel Graphics UHD 630。\n要確認目前電腦使用的GPU，使用vulkaninfo指令確認： sudo apt install vulkan-tools vulkaninfo --summary 根據Github資料，針對Intel Graphics UHD系列的顯示晶片，安裝以下libva套件，包含Intel韌體，啟用VA-API支援： sudo apt install i965-va-driver intel-media-va-driver 有需要的話安裝轉譯層：\nsudo apt install libvdpau-va-gl1 nvidia-vaapi-driver 確認VA-API支援狀態，使用vainfo指令，應該會印出驅動版本。 sudo apt install vainfo vainfo # 範例輸出 libva info: VA-API version 1.20.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_20 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.20 (libva 2.12.0) vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 () vainfo: Supported profile and entrypoints 如果使用Flatpak，需要安裝org.freedesktop.Platform.VaInfo套件，才能查看VA-API狀態： flatpak install org.freedesktop.Platform.VaInfo flatpak run org.freedesktop.Platform.VaInfo 為了方便觀察CPU與GPU使用率，安裝htop與Intel gpu top套件 sudo apt install htop intel-gpu-tools 4. 影片播放啟用VA-API加速 # 目前VA-API可能無法在Wayland工作階段使用，建議先用X11工作階段測試。\n如果你要用Youtube影片測試的話，需注意現在高畫質影片可能是用AV1或VP9編碼，舊型CPU的VA-API可能不支援加速這種新型編碼。需要在瀏覽器裝H264ify強迫Youtube提供H.264編碼。\n開啟終端機，執行sudo intel_gpu_top指令，放在一邊，等會觀察播放影片的時候，Video使用率是否有上升。順便執行htop，比較CPU佔用情況。\nFirefox (v.150) 開箱即用，無需做任何變更。 Chromium (v.149，注意是Chromium，Google Chrome不行) 需要使用以下參數啟動，才能使用VA-API加速：\nchromium --enable-features=AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder 啟動之後可以按F12開啟開發人員工具，點選更多工具 → 媒體頁面，確認影片解碼器是否為VA-API。 播放本機影片之前，可以用mediainfo指令確認影片編碼為何。\nVLC (v.3.0) 透過APT安裝的無法選取VA-API加速，可能是依賴的ffmpeg版本不對所致。得改用Flatpak版才可以使用VA-API。 MPV (v.0.39) 需要編輯設定檔~/.config/mpv/mpv.conf，加入以下內容，才可以使用VA-API加速。\nhwdec=auto # 也可以試試auto-safe或auto-copy或vaapi或vaapi-copy，-copy的選項可以將濾鏡或著色器放到CPU去處理 我發現在雙GPU的系統上，MPV在無法使用VA-API的時候，似乎會自動fallback，尋找是否有其他GPU，改用VDPAU來做硬體加速。 參考資料 # Intel(R) Media Driver for VAAPI - Intel Graphics Media Driver to support hardware decode, encode and video processing. Hardware video acceleration - Arch Wiki ","date":"2025年2月21日","externalUrl":null,"permalink":"/posts/va-api-on-linux/","section":"所有文章","summary":"Enable VA-API hardware video acceleration on Linux desktop.\n或許Linux筆電播放影片的時候可以不要那麼耗電。\n使用Linux系統，你一定會常常遇到播放影片的需求。譬如Firefox瀏覽器播放影片，有時候CPU會花很多資源去解碼(decode)影片，導致系統CPU使用率標升，容易耗電，對筆電系統來說很是不利。且影片如果是4K畫質以上，不夠強的CPU也容易lag。若是能透過硬體影片加速(hardware video acceleration)解碼，讓GPU分擔CPU的工作，那就能加速影片播放，並達到省電的效果。\n例子：播放4K影片時啟用硬體加速解碼，CPU佔用差異比較。 硬體影片加速技術也可以協助影片編碼(encode)，在轉檔影片的時候加速輸出，對Kdenlive和Jellyfin用戶十分有幫助。\n附註：這裡討論的是GPU硬體加速解碼與編碼影片，並非3D加速。Linux即使GPU玩遊戲的3D硬體加速正常，也不代表影片硬體加速有運作。有時候需要手動設定。\n1. Linux的硬體影片編解碼加速技術概觀 # GPU加速技術，自是由GPU晶片的廠商提供的。\n以x86架構的Linux系統來說，主要有VA-API和VDPAU兩種。\n","title":"Linux啟用VA-API，用GPU硬體加速影片編解碼","type":"posts"},{"content":"介紹如何修改Linux的DNS伺服器連線，以Ubuntu為例。\n需要系統版本：Ubuntu 24.04以上。\nDNS伺服器規定了Linux上網時查詢網域與IP的規則。為什麼要修改DNS伺服器？用途有三：\n使用更快的網路上網。有的時候台灣國內中華電信的DNS速度有點慢，改為Google的DNS就能夠更快的載入網頁。 連線到自訂擋廣告DNS，例如AdGuard或PiHole，在連線的時候順便阻絕廣告。 繞過DNS污染的封鎖。有些國家會對看不順眼的網站發動域名伺服器污染，導致無法連線。修改DNS可以解決這個問題。 修改Linux的DNS伺服器，可以用指令或者圖形界面達成。\n1. 關於/etc/resolv.conf # Linux的DNS設定有二個重要檔案，/etc/resolv.conf告訴Linux要連線到哪個伺服器去查詢DNS。至於/etc/hosts則是在本機手動定義網域與IP的對應關係，這不是我們要改的東西。\n理論上可以透過編輯/etc/resolv.conf檔案來直接修改DNS伺服器，那麼我們應該直接改這個檔案嗎？否。較新的Linux發行版多半使用「NetworkManager」或「systemd-networkd」管理連線，Ubuntu使用的Netplan也會尊重NetworkManager端的設定。/etc/resolv.conf檔案內容由NetworkManager或systemd-networkd來自動產生，不應該手動編輯。\n假設系統使用systemd-networkd管理網路，那麼一定會順帶安裝「systemd-resolved」套件，用於管理DNS。反之有安裝NetworkManager的系統，不見得會安裝systemd-resolved套件。\n以Ubuntu Desktop 24.04來說，預設是使用NetworkManager ＋ systemd-resolved的方案。\n為什麼NetworkManager就能改DNS，還要systemd-resolved呢\u0026hellip;？這是獨立的DNS伺服器，提供DNS快取以及DNS over TLS的功能，可以讓許多服務設定DNS，又不會互相搶/etc/resolv.conf的控制權。\nLinux會透過NetworkManager或systemd-resolved管理DNS，這點可以查看服務狀態是否為active來確定：\nsudo systemctl status NetworkManager sudo systemctl status systemd-resolved 沒有systemd-resolved的情況下，如果透過NetworkManager的附屬指令nmcli或者resolvconf去改DNS，會將變更寫入/etc/resolv.conf檔案。用指令cat /etc/resolv.conf查看，裡面會寫上# Generated by NetworkManager的字樣。\n# Generated by NetworkManager nameserver 192.168.1.1 不過NetworkManager也可以跟systemd-resolved一同使用，前者一旦偵測到後者存在就會自動適應變化。要是系統安裝了systemd-resolved，就會導致/etc/resolv.conf變成符號連結檔，指向/run/systemd/resolve/stub-resolv.conf。這點可以用ls -l /etc/resolv.conf指令確認：\nroot root /etc/resolv.conf -\u0026gt; ../run/systemd/resolve/stub-resolv.conf 安裝systemd-resolved之後，用指令cat /etc/resolv.conf查看，裡面會寫上# managed by man:systemd-resolved的字樣，nameserver會固定指向127.0.0.53。\n# This is /run/systemd/resolve/stub-resolv.conf managed by man:systemd-resolved(8). # Do not edit nameserver 127.0.0.53 此時NetworkManager就會自動改用systemd-resolved去修改DNS。這樣我們就有了二個設定DNS的方式，一個是nmcli指令，另外一個是改systemd-resolved設定檔。\n總之，使用者應該避免直接修改/etc/resolv.conf檔案的內容。\n2. 查看Linux使用的DNS伺服器 # 每一個網路卡都有自己的DNS伺服器，像「乙太網路連線」、「Wifi連線」使用的可能是不同的DNS伺服器。\n用NetworkManager附屬的nmcli指令，即可查看DNS伺服器。nmcli dev show這個指令會自動選取目前使用中的連線，所以只要用grep讀取DNS的數值就能知道DNS伺服器位址了。\nnmcli dev show | grep DNS # 範例輸出 IP4.DNS[1]: 192.168.1.1 或者，用nmcli dev指令列出所有網路卡，再確認DNS位址，例如nmcli dev show enp2s0。\n因為Ubuntu使用systemd-resolved，所以它也能列出目前網路卡正在使用的DNS伺服器：\nsudo resolvectl status # 範例輸出 Global Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: stub Link 2 (enp2s0) Current Scopes: DNS Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 192.168.1.1 3. 修改Linux的DNS伺服器 # 這裡以Google的DNS伺服器為例，我們將要把DNS伺服器改為8.8.8.8和8.8.4.4。\n選擇你方便的方式即可。\n圖形界面 # GNOME桌面：系統設定 → 連線，選取有線網路，點選旁邊的齒輪，切換到IPV4連線，取消勾選自動DNS。填入DNS伺服器。 KDE Plasma桌面：系統設定 → 連線，選取乙太網路。點選IPV4，在其他域名伺服器，輸入DNS伺服器，再按下套用。 nmcli指令 # 列出目前的網路連線，例如乙太網路連線應該會顯示為eth0之類的名稱，它使用的網路卡為enp2s0 nmcli con show # 範例輸出 NAME UUID TYPE DEVICE eth0 1fdab9b9-ba1e-47ab-9886-ee034b4bb709 ethernet enp2s0 選取乙太網路連線eth0，修改DNS。若有多個DNS伺服器就用空格隔開。 nmcli con mod \u0026#34;eth0\u0026#34; ipv4.dns \u0026#34;8.8.8.8 8.8.4.4\u0026#34; 關閉自動取得DNS的功能 nmcli con mod \u0026#34;eth0\u0026#34; ipv4.ignore-auto-dns yes 重新啟動網路連線。 sudo systemctl restart NetworkManager 查看DNS伺服器： nmcli dev show enp2s0 | grep DNS # 範例輸出 IP4.DNS[1]: 8.8.8.8 修改systemd-resolved設定檔 # systemd-resolved設定檔與nmcli指令的差別在於，這裡設定的是「全域DNS伺服器」，不論乙太網路還是Wifi網路，都會自動套用一樣的DNS。\n編輯設定檔 sudo vim /etc/systemd/resolved.conf 填入要使用的DNS。多個DNS伺服器使用空格隔開。 [Resolve] DNS=8.8.8.8 8.8.4.4 重新啟動systemd-resolved服務： sudo systemctl restart systemd-resolved 查看DNS伺服器： sudo resolvectl status # 範例輸出 Global Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: stub DNS Servers: 8.8.8.8 8.8.4.4 Link 2 (enp2s0) Current Scopes: DNS Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported DNS Servers: 8.8.8.8 參考資料 # NetworkManager Reference Manual systemd-resolved.service, systemd-resolved — Network Name Resolution manager ","date":"2025年2月21日","externalUrl":null,"permalink":"/posts/linux-dns-server/","section":"所有文章","summary":"介紹如何修改Linux的DNS伺服器連線，以Ubuntu為例。\n需要系統版本：Ubuntu 24.04以上。\nDNS伺服器規定了Linux上網時查詢網域與IP的規則。為什麼要修改DNS伺服器？用途有三：\n使用更快的網路上網。有的時候台灣國內中華電信的DNS速度有點慢，改為Google的DNS就能夠更快的載入網頁。 連線到自訂擋廣告DNS，例如AdGuard或PiHole，在連線的時候順便阻絕廣告。 繞過DNS污染的封鎖。有些國家會對看不順眼的網站發動域名伺服器污染，導致無法連線。修改DNS可以解決這個問題。 修改Linux的DNS伺服器，可以用指令或者圖形界面達成。\n1. 關於/etc/resolv.conf # Linux的DNS設定有二個重要檔案，/etc/resolv.conf告訴Linux要連線到哪個伺服器去查詢DNS。至於/etc/hosts則是在本機手動定義網域與IP的對應關係，這不是我們要改的東西。\n理論上可以透過編輯/etc/resolv.conf檔案來直接修改DNS伺服器，那麼我們應該直接改這個檔案嗎？否。較新的Linux發行版多半使用「NetworkManager」或「systemd-networkd」管理連線，Ubuntu使用的Netplan也會尊重NetworkManager端的設定。/etc/resolv.conf檔案內容由NetworkManager或systemd-networkd來自動產生，不應該手動編輯。\n","title":"Ubuntu Linux如何修改DNS伺服器（指令 ＋ GUI）","type":"posts"},{"content":"解說如何設定Linux電腦的固定IP、閘道器、子網路遮罩。\n需要系統版本：Ubuntu 24.04以上。\n當Linux電腦連線上網的時候，我們會把它接在數據機或路由器後面。此時電腦的IP通常是透過DHCP取得的區域IP，每次重開機IP可能都會變化。\n如果需要做通訊埠轉發跑伺服器服務的話會讓人困擾，所以我們得將目前的區域IP變成固定IP，也就是靜態IP (static IP)。\nLinux發行版多半是透過「NetworkManager」或「systemd-networkd」的服務管理網路，Ubuntu使用的Netplan也會尊重NetworkManager端的設定。故，我們將透過NetworkManager附屬工具來設定Linux的固定IP。\n1. 如何查看Linux系統IP # GNOME桌面請點選系統設定 → 連線，點齒輪查看區域IP（IPV4） KDE Plasma桌面環境可以點選系統右下角「連線」得知區域IP（IPV4） 如果以上都沒辦法，請使用nmcli指令查看。此指令會印出所有活躍中的網路連線。\n區域連線的IP請看「已連線」的乙太網路卡IP，如下圖的enp2s0的inet4，旁邊192.168.開頭的就是區域IP。另外，請一併記住route4後面的閘道器位址。 2. 設定固定IP的方式 # 我們可以將目前分配到的IP當作日後固定連線的IP，例如我的IP分配到的是192.168.1.105，以後就用這個IP固定連線。\n此處提供三種設定方法，效果都是一樣的，請選擇您覺得最方便的方法。\nnmcli指令 # 這是NetworkManager附屬的指令工具，不論什麼桌面環境都可以用，也適合SSH模式操作。\n開啟終端機輸入下述指令，列出所有連線。這裡的例子是修改乙太網路的連線，TYPE會顯示ethernet，NAME應該會顯示eth0之類的。 nmcli con show # 範例輸出 NAME UUID TYPE DEVICE eth0 6b5b3d59-3378-42ce-bb30-63da7c6a8230 ethernet enp2s0 選取乙太網路連線eth0，設定IPV4位址為你想要的位址。IP後面的/24等同設定子網路遮罩為255.255.255.0。 nmcli con mod \u0026#34;eth0\u0026#34; ipv4.address \u0026#34;192.168.1.105/24\u0026#34; 依照上面取得的資訊，設定閘道器位址。 nmcli con mod \u0026#34;eth0\u0026#34; ipv4.gateway \u0026#34;192.168.1.1\u0026#34; 最後將連線方式改為手動，防止DHCP重新分配IP nmcli con mod \u0026#34;eth0\u0026#34; ipv4.method manual 重新啟動連線。 nmcli con up \u0026#34;eth0\u0026#34; 再透過指令確認IP是否已經固定。 nmcli # 範例輸出 enp2s0: 已連線 to eth0 ethernet ip4 預設 inet4 192.168.1.105/24 route4 192.168.1.0/24 metric 100 route4 default via 192.168.1.1 metric 100 GNOME網路連線 # 僅限GNOME桌面環境，例如Ubuntu、Fedora。\n點選系統設定 → 連線，點選旁邊的齒輪 將「自動」取消勾選，改為手動連線，填入靜態IP與閘道器，點選套用。 KDE連線編輯器 # 僅限KDE Plasma桌面環境使用，例如openSUSE、Kubuntu。\n開啟系統設定 → 連線 點選IPV4，將「方法」改為手動。 在下方輸入靜態IP，子網路遮罩會自動帶入。之後點選新增。 點選右下角的套用。\n另請參見 # NetworkManager Reference Manual ","date":"2025年2月21日","externalUrl":null,"permalink":"/posts/linux-static-ip/","section":"所有文章","summary":"解說如何設定Linux電腦的固定IP、閘道器、子網路遮罩。\n需要系統版本：Ubuntu 24.04以上。\n當Linux電腦連線上網的時候，我們會把它接在數據機或路由器後面。此時電腦的IP通常是透過DHCP取得的區域IP，每次重開機IP可能都會變化。\n如果需要做通訊埠轉發跑伺服器服務的話會讓人困擾，所以我們得將目前的區域IP變成固定IP，也就是靜態IP (static IP)。\nLinux發行版多半是透過「NetworkManager」或「systemd-networkd」的服務管理網路，Ubuntu使用的Netplan也會尊重NetworkManager端的設定。故，我們將透過NetworkManager附屬工具來設定Linux的固定IP。\n1. 如何查看Linux系統IP # GNOME桌面請點選系統設定 → 連線，點齒輪查看區域IP（IPV4） KDE Plasma桌面環境可以點選系統右下角「連線」得知區域IP（IPV4） 如果以上都沒辦法，請使用nmcli指令查看。此指令會印出所有活躍中的網路連線。\n區域連線的IP請看「已連線」的乙太網路卡IP，如下圖的enp2s0的inet4，旁邊192.168.開頭的就是區域IP。另外，請一併記住route4後面的閘道器位址。 ","title":"Ubuntu Linux修改為固定IP連線（指令 ＋ GUI）","type":"posts"},{"content":"Setup Chrome Remote Desktop on Ubuntu desktop.\n請參考： Linux開源免費的遠端桌面列表\n介紹如何在Linux安裝Chrome遠端桌面 (Chrome Remote Desktop) ，以Ubuntu系統為例。\n想要在離開Linux電腦之後，用另一台電腦遠端連線，繼續離開前的工作？Chrome遠端桌面可說是最簡單的方案之一了。 此乃Google研發的專有軟體，使用Google自研的遠端桌面協定。可以從外網連線到區網內的電腦，設定上十分簡單，不需要公共IP也不用VPN就能連線。\nChrome遠端桌面是跟著Google帳號走的，連線的時候會經過Google伺服器。只要在Linux電腦端設定好服務，再設定一個PIN碼，便能夠遠端連線，與遠端電腦傳檔案。\n此外，Chrome遠端桌面尚有產生一次性存取碼，讓另一個Google帳號的用戶暫時連線進來，協助操作電腦的功能。\n1. 前置條件 # Chrome遠端桌面的最低系統要求為Ubuntu 18.04，我安裝的是含有圖形界面的Ubuntu Desktop桌面版。撰文當下我使用的系統為Ubuntu 24.04。\nChrome遠端桌面僅支援x86架構電腦，沒有ARM架構的套件。\n需要登入桌面後才能使用Chrome遠端桌面，不可以停留在顯示管理器的登入畫面。\n不能使用Wayland工作階段。撰文當下Chrome遠端桌面（版本v.143）尚未支援Wayland協定。如何確認自己是X11還是Wayland工作階段：執行指令echo $XDG_SESSION_TYPE。在登入Linux桌面的時候，右下角應該有選項能切換為X11工作階段。 附註1：Ubuntu 26.04的GNOME 50已經移除了X11支援，在Chrome遠端桌面更新支援Wayland之前，你得找依然支援X11的桌面，例如使用XFCE。\n附註2：Chrome遠端桌面應該是登入「你已經開啟的桌面畫面」，但其實也可以在headless的Linux伺服器使用。如果遠端Linux電腦沒有登入桌面，或者沒有接上螢幕，則Chrome遠端桌面會在連線之後，透過Xvfb自動啟動一個headless的X視窗工作階段，類似xRDP那樣。但這不在本文討論範圍之內。\n2. Linux端安裝Chrome遠端桌面 # 以下全程在Linux桌面設定，需要使用圖形界面。要是你想用SSH遠端設定也行，就不需要在Linux端安裝Google Chrome了。\n登入Linux桌面。\n在Linux安裝Google Chrome瀏覽器，登入Google帳號。\n造訪Chrome遠端桌面官網，選取「透過SSH設定」，點選「設定其他電腦」，依照指示，點選Debian Linux的連結，下載.deb檔 開啟Linux的終端機，用APT安裝\nsudo apt install ./chrome-remote-desktop_current_amd64.deb # 建立設定檔目錄 mkdir ~/.config/chrome-remote-desktop # 將自身加入chrome-remote-desktop群組 sudo groupadd chrome-remote-desktop sudo usermod -a -G chrome-remote-desktop $USER 繼續下一步，Google Chrome畫面會顯示一組Debian Linux指令，應該是DISPLAY=開頭。 複製Debian Linux的指令，貼到終端機執行。上面那條指令會將Google帳號的認證資訊存到Linux電腦，並要你設定PIN碼。 設定Chrome遠端桌面服務開機自動啟動：\nsudo systemctl enable --now chrome-remote-desktop@$USER 雖然叫做Chrome遠端桌面，但Chrome遠端桌面的服務會在Linux開機後自動啟動，所以不需要開著Google Chrome瀏覽器，只要登入桌面就夠了。\n如果你希望Linux電腦每次開機都自動登入桌面環境，那麼可以設定自動登入目前使用者。\nGNOME桌面：系統設定→ 系統 → 使用者，開啟自動登入。 KDE Plasma桌面：系統設定 → 啟動與關閉 → 登入畫面 → 行為，自動登入使用者 3. 使用Chrome遠端桌面連線到Linux桌面 # Chrome遠端桌面用網頁版就能連線了，不需要安裝APP。\n在另一部裝置，開啟Chrome遠端桌面網頁，登入Google帳號，再點選「存取我的電腦」。\n在遠端存取的頁面，應該會顯示登入Google帳號的電腦。 點選電腦，輸入PIN碼即可連線到Linux桌面。 用Chrome遠端桌面所上傳的檔案，會儲存到Linux桌面，路徑位於~/桌面或~/Desktop。\n若你想要暫時讓不同Google帳號的用戶控制你的電腦，請到Chrome遠端桌面網頁，選「遠端支援」，按「分享這個螢幕畫面」，產生存取碼。 這樣另一個用戶便能用存取碼，暫時連線到你的Linux電腦了。Linux端要手動同意連線。 4. Chrome遠端桌面無法連線到現有桌面？ # 這個bug似乎已經存在很久了。\n如果你連線的時候並非連到現有Linux桌面的工作階段(session)，而是要求新開一個工作階段，如下圖，那麼就是Chrome遠端桌面設定錯了，需要手動修正。 先停止Chrome遠端桌面服務。 sudo systemctl stop chrome-remote-desktop@$USER 下載Linux社群成員nightuser製作的patch，套用，將Chrome遠端桌面的啟動指令稿修改一番。 echo $DISPLAY | tr -d \u0026#39;:\u0026#39; \u0026gt;\u0026gt; ~/.config/chrome-remote-desktop/Xsession cd /opt/google/chrome-remote-desktop sudo cp chrome-remote-desktop chrome-remote-desktop_bak sudo wget -qO- \u0026#34;https://gist.githubusercontent.com/nightuser/2ec1b91a66ec33ef0a0a67b6c570eb40/raw/b09250dcc9a28f09de93192a948dffb4963c2aca/use_existing_session.patch\u0026#34; | tail -n +5 \u0026gt; ~/use_existing_session.patch sudo patch -Np1 -i ~/use_existing_session.patch rm ~/use_existing_session.patch 重新啟動服務 sudo systemctl restart chrome-remote-desktop@$USER 之後重新連線，應該就會正常連線到現有工作階段了。\n不過還是無法傳送遠端桌面的音訊，可能是因為Chrome遠端桌面對PipeWire支援度不佳之故。現在已經很少有Linux系統用PulseAudio了，硬是改裝以前的軟體似乎不是個好主意。所以這問題目前是無解。\n5. Chrome遠端桌面搞壞Polkit密碼驗證？ # Kubuntu 24.04的KDE Plasma 5.27桌面啟動Chrome遠端桌面服務，會導致修改網路設定的時候跳出系統政策防止修改網路(System policy prevents control of network connections\u0026hellip;\u0026hellip;)的Polkit對話框。其他程式則是Polkit對話框跳不出來，導致sudo授權失敗。\n我嘗試編輯/etc/polkit-1/localauthority/50-local.d/，新增Polkit規則，無果。\n解除安裝Chrome遠端桌面後又正常了！\n6. Chrome遠端桌面搞壞了圖形環境？ # 如果安裝Chrome遠端桌面後導致Linux開機黑畫面，請刪除重裝試試。\n停止服務 sudo systemctl stop chrome-remote-desktop@$USER 刪除設定檔 rm -r ~/.config/chrome-remote-desktop 解除安裝Chrome遠端桌面與Google Chrome sudo apt purge chrome-remote-desktop sudo rm -r /opt/google/chrome/ 然後重開機。 6. Chrome遠端桌面連線很卡？ # 試著降低Linux桌面的解析度。\n不然就換更快的網路（X）\n因為Chrome遠端桌面是專有軟體～我們也不能拿它怎樣，出問題只有Google自己知道怎麼解決。\n不過，你倒是可以用nethogs確認Linux哪些程式在搶網路，並透過工具限速，防止遠端桌面連線的頻寬被搶光。\n需要低延遲遠端桌面的，參閱其他Linux開源遠端桌面連線方案。\n參考資料 # 透過 Chrome 遠端桌面存取其他電腦 - Google支援 Set up Chrome Remote Desktop for Linux on Compute Engine - Google Cloud Architecture Center nightuser / Use existing Xorg session for chrome-remote-desktop - Github gist ","date":"2025年2月20日","externalUrl":null,"permalink":"/posts/chrome-remote-desktop-linux/","section":"所有文章","summary":"Setup Chrome Remote Desktop on Ubuntu desktop.\n請參考： Linux開源免費的遠端桌面列表\n介紹如何在Linux安裝Chrome遠端桌面 (Chrome Remote Desktop) ，以Ubuntu系統為例。\n想要在離開Linux電腦之後，用另一台電腦遠端連線，繼續離開前的工作？Chrome遠端桌面可說是最簡單的方案之一了。 此乃Google研發的專有軟體，使用Google自研的遠端桌面協定。可以從外網連線到區網內的電腦，設定上十分簡單，不需要公共IP也不用VPN就能連線。\nChrome遠端桌面是跟著Google帳號走的，連線的時候會經過Google伺服器。只要在Linux電腦端設定好服務，再設定一個PIN碼，便能夠遠端連線，與遠端電腦傳檔案。\n此外，Chrome遠端桌面尚有產生一次性存取碼，讓另一個Google帳號的用戶暫時連線進來，協助操作電腦的功能。\n1. 前置條件 # Chrome遠端桌面的最低系統要求為Ubuntu 18.04，我安裝的是含有圖形界面的Ubuntu Desktop桌面版。撰文當下我使用的系統為Ubuntu 24.04。\nChrome遠端桌面僅支援x86架構電腦，沒有ARM架構的套件。\n需要登入桌面後才能使用Chrome遠端桌面，不可以停留在顯示管理器的登入畫面。\n","title":"Ubuntu安裝Chrome遠端桌面教學，遠端控制Linux電腦桌面","type":"posts"},{"content":"列出各Linux發行版安裝Google Chrome瀏覽器的方法，還有一些Ivon的使用經驗談。 「Google Chrome」是Google公司基於開源的「Chromium」專案所開發的瀏覽器。\nGoogle Chrome對Linux系統的支援度很不錯，用法跟Windows和macOS系統一樣，開啟後登入Google帳號便可將書籤與擴充套件同步過來。Google Chrome針對Linux系統提供了完整的DRM支援，以及H.264解碼器。 不過Google Chrome是封閉原始碼的專有軟體，由於授權條款因素，各大Linux發行版的套件管理員通常只收錄完全開源，但是不支援同步Google帳號的上游版本「Chromium」。 因此想在Linux系統安裝Google Chrome，就得從Google Chrome網站下載安裝檔，直接從套件管理員安裝會顯示找不到套件。\n本文Ivon會先介紹安裝Google Chrome的安裝方法，並分享一些常見問題的解決方案。部份內容適用其他基於Chromium開發的瀏覽器，例如Microsoft Edge、Brave、Vivaldi、Opera等等。\n1. 安裝Google Chrome套件 # 原生套件是Google官方推薦的安裝法，實在沒辦法再考慮使用跨發行版套件。Google Chrome的更新由Linux的系統套件管理器負責，所以你不會在瀏覽器裡面看到更新畫面。\n撰文當下，Google Chrome (v.133) 官方的套件不支援ARM架構，僅提供x86架構的Linux套件。\nUbuntu與Debian # 最低需要Ubuntu 18.04或Debian 10以上系統。\n至Google Chrome官網下載.deb安裝檔 註：你也可以用wget指令從Google的伺服器下載.deb檔，這個連結永遠指向最新版本\nwget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb Ubuntu對deb按二下會跳出安裝介面，點選安裝。 如果安裝介面沒跳出來，在下載目錄按右鍵開啟終端機，輸入指令安裝.deb檔。\nsudo apt install ./google-chrome-stable_current_amd64.deb 安裝後Google Chrome的套件名稱是為google-chrome-stable。安裝這個套件後會自動訂閱Google經營的.deb套件庫，日後Chrome會自動隨著apt upgrade指令更新。Google Chrome資料儲存在~/.config/google-chrome/。\n瀏覽器若打不開，請嘗試用命令行啟動：google-chrome-stable查看錯誤訊息。\nFedora與openSUSE # 最低需要Fedora Linux 39或openSUSE 15.5以上系統。\n至Google Chrome官網下載.rpm安裝檔 註：你也可以用wget指令從Google的伺服器下載.rpm檔，這個連結永遠指向最新版本\nwget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm 在下載目錄按右鍵開啟終端機，輸入指令安裝.rpm。 sudo rpm -i google-chrome-stable_current_x86_64.rpm 安裝後Google Chrome的套件名稱是為google-chrome-stable。安裝這個套件後會自動訂閱Google經營的.rpm套件庫，會自動隨著DNF或者Zypper的指令更新。Google Chrome資料儲存在~/.config/google-chrome/。\n瀏覽器若打不開，請嘗試用命令行啟動：google-chrome-stable查看錯誤訊息。\nArch Linux與Manjaro # Arch Linux要安裝Google Chrome的話，從AUR安裝即可，其實它就是拆官方.deb檔安裝的。\nyay -S google-chrome 升級同樣從AUR升級。\nGoogle Chrome資料儲存在~/.config/google-chrome/。\n瀏覽器若打不開，請嘗試用命令行啟動：google-chrome-stable查看錯誤訊息。\n跨發行版套件 # 跨發行版套件適用於immutable distro用戶。或是你的Linux發行版太老，無法安裝最新的原生套件。\n目前Google官方維護的Google Chrome只有.deb與.rpm版。沒有Snap或AppImage。Flatpak版Google Chrome由開源社區維護，有問題請先到Github回報。\n安裝Flatpak\n再用以下指令安裝Google Chrome：\nflatpak install flathub com.google.Chrome Flatpak版Google Chrome資料位於~/.var/app/com.google.Chrome/。\nFlatpak版的Google Chrome會有權限限制，安裝PWA程式可能會出問題。故需要開放以下目錄的讀取權限：\nflatpak --user override --filesystem=~/.local/share/applications com.google.Chrome flatpak --user override --filesystem=~/.local/share/icons com.google.Chrome 命令行啟動的指令： flatpak run com.google.Chrome 2. 以命令行啟動Google Chrome # 除了點桌面圖示啟動以外，你也可以用指令google-chrome-stable，從終端機啟動Google Chrome。後面可以加上命令行啟動參數。\n命令行啟動參數 (flags，旗標) 定義Chrome啟動後的行為。效果等同在Google Chrome網址列打chrome://flags所修改的設定。\n比如google-chrome-stable -incognito這個指令可以用無痕模式啟動Google Chrome。\ngoogle-chrome-stable --ozone-platform-hint=auto則是以純Wayland模式啟動Google Chrome。\n若要調整點選桌面圖示啟動Chrome之後的行為，得修改Google Chrome的Desktop Entry。該檔案位於/usr/share/applications/google-chrome.desktop或者~/.local/share/applications/google-chrome.desktop。\n修改該檔案裡面的Exec=/usr/bin/google-chrome-stable就能調整Google Chrome啟動後的行為，例如：\n[Desktop Entry] Name=Google Chrome Exec=/usr/bin/google-chrome-stable %U -incognito 另外，在~/.config/chrome-flags.conf檔案填入命令行參數的作法僅限Arch Linux有效。\n3. 安裝Chrome遠端桌面 # Google官方經營的遠端桌面服務，讓使用者可以用Chrome瀏覽器遠端連線到另一部電腦。\n參見Linux設定Chrome Remote Desktop的作法\n4. 安裝Google雲端硬碟電腦版 # 「Google雲端硬碟電腦版」是讓使用者同步電腦檔案到Google雲端的一個程式。跟網頁版Google雲端不一樣，這款程式可以讓使用者離線存取Google雲端的檔案。\n撰文當下，Google官方尚未釋出Linux版客戶端，需要使用第三方開發的程式。\n推薦使用Rclone或者gdrive CLI。\n5. 設定Google Chrome為預設瀏覽器 # Google Chrome的設定裡面可以將Google Chrome設定為開啟網頁連結的預設瀏覽器。 若無效就得手動設定。通常Linux桌面環境會遵守XDG MIME Apps標準來設定預設瀏覽器。\n用這個指令設定預設瀏覽器為Google Chrome：\nxdg-settings set default-web-browser google-chrome.desktop 6. 查看Google Chrome儲存密碼的鑰匙圈 # Google Chrome會嘗試利用Linux桌面環境的服務來儲存密碼。\n譬如GNOME桌面，Google Chrome會使用GNOME Keyring服務儲存密碼；KDE Plasma桌面則是KWallet服務。\n有時候登入桌面之後，Google Chrome的鑰匙圈不會自動跟著解鎖。若要防止這種情況，請刪除原本的鑰匙圈，或者將密碼設定為空白。\nGNOME：開啟Seahorse（套件名稱seahorse）程式設定。\nKDE Plasma：開啟KWalletManager（套件名稱kwalletmanager）設定。 假若更換桌面環境登入，例如從GNOME切換到KDE Plasma，開啟Google Chrome後儲存的密碼就會噴掉（依然會同步到Google帳戶，但是本機儲存的密碼會消失）。變通方法是修改Google Chrome儲存密碼的服務，改成basic：google-chrome-stable --password-store=basic\n7. 使用Google Chrome放大與上一頁手勢 # 放大螢幕手勢(pinch to zoom)，在筆電觸控板或者觸控螢幕兩指捏合放大的技術，無需使用Ctrl與＋。\n上一頁手勢(swipe to back)，二指左右滑動回上一頁的手勢。\n需要切換到Wayland工作階段，X11工作階段可能不支援。\n以這個參數啟動Google Chrome：google-chrome-stable --ozone-platform-hint=wayland即可使用。\n參考資料 # 下載及安裝Google Chrome - 電腦 - Google支援 Chromium - Arch Wiki VA-API - Chomium Docs ","date":"2025年2月19日","externalUrl":null,"permalink":"/posts/install-google-chrome-on-linux/","section":"所有文章","summary":"列出各Linux發行版安裝Google Chrome瀏覽器的方法，還有一些Ivon的使用經驗談。 「Google Chrome」是Google公司基於開源的「Chromium」專案所開發的瀏覽器。\nGoogle Chrome對Linux系統的支援度很不錯，用法跟Windows和macOS系統一樣，開啟後登入Google帳號便可將書籤與擴充套件同步過來。Google Chrome針對Linux系統提供了完整的DRM支援，以及H.264解碼器。 不過Google Chrome是封閉原始碼的專有軟體，由於授權條款因素，各大Linux發行版的套件管理員通常只收錄完全開源，但是不支援同步Google帳號的上游版本「Chromium」。 因此想在Linux系統安裝Google Chrome，就得從Google Chrome網站下載安裝檔，直接從套件管理員安裝會顯示找不到套件。\n本文Ivon會先介紹安裝Google Chrome的安裝方法，並分享一些常見問題的解決方案。部份內容適用其他基於Chromium開發的瀏覽器，例如Microsoft Edge、Brave、Vivaldi、Opera等等。\n1. 安裝Google Chrome套件 # 原生套件是Google官方推薦的安裝法，實在沒辦法再考慮使用跨發行版套件。Google Chrome的更新由Linux的系統套件管理器負責，所以你不會在瀏覽器裡面看到更新畫面。\n","title":"Linux系統安裝Google Chrome瀏覽器的方法","type":"posts"},{"content":"","date":"2025年2月19日","externalUrl":null,"permalink":"/tags/data-hoarding/","section":"標籤","summary":"","title":"Data Hoarding","type":"tags"},{"content":"Karakeep（舊稱Hoarder），一款收集你的想法的好所在。\nKarakeep首頁\nKarakeep是由Mohamed Bassem開發的自由軟體服務，專門用於蒐集書籤之用。\n瀏覽器多半有提供書籤功能，人們會將之後要看的網頁放到書籤裡面蒐集起來。不過時間久了，書籤就會瘋狂膨脹，之後就會累積了一堆不知道哪來的東西。到頭來那些蒐集的書籤，也不過是在收藏夾裡面吃灰而已！\n使用Karakeep書籤管理軟體，至少它能夠幫我們用AI分類一下，自動打標籤，並允許我們在上面劃記，寫下臨時想到的靈光隨想。日後也能夠透過完善的全文搜尋功能找到某某日子存下來的書籤。 Karakeep自稱是\u0026quot;A self-hostable bookmark-everything app\u0026quot;，不單單只是一個書籤管理器，還有以下功能：\n將臨時看到的網頁或者有趣圖片丟上去自動整理 給書籤網頁劃上底線，紀錄頁面重點 透過AI自動給書籤上標籤，總結文章內容，後端可以是ChatGPT或Ollama 提供類似Internet Archive的功能，將網頁快照拍下來，防止網站消失 OCR，將上傳的圖片文字抽取出來，以便日後搜尋。 可以訂閱RSS，將文章自動匯入並上標籤 支援匯入其他瀏覽器的HTML書籤 提供瀏覽器擴充套件，還有Android與iOS的APP 1. Karakeep與類似服務比較 # Karakeep需要部署到自己的伺服器，得全程自架。伺服端和客戶端都是完全開源的專案。\n有一款類似的書籤管理軟體叫做Raindrop.io，他們只有APP開源，服務本身是沒辦法自架的。\nKarakeep很類似Firefox的Pocket服務，不過功能更多。\n既然講到書籤管理，就包含蒐集一系列喜歡網站連結的用途，這會讓人想到RSS訂閱器。那麼RSS用戶可能會問為什麼還要書籤管理軟體？Well\u0026hellip;這個界面比較漂亮。Karakeep除了抓取精簡過的文字版網頁之外，還可以把網頁拍一份快照，完整保存下來。 跟LinkWarden比起來，我覺得Karakeep界面比較容易上手，且側重在作筆記的功能。作者比較側重的功能是封存方面的用途，像是蒐藏「稍後閱讀」和「臨時想法」的地方。這就是Karakeep舊版名稱Hoarder這個字的本意，意為「囤積」，或者可以理解為倉鼠症吧。\nKarakeep不適合放常常開啟來用的工具類網站，而是適合封存網路文章。\n因為Karakeep沒有資料夾，只有清單列表，如果要系統性的整理蒐集到的資訊，建議還是用知識管理系統軟體來整理。\n另外如果要把RSS當新聞看的話，我覺得Karakeep的界面很亂，不適合接收資訊，而是用來大量封存網頁用的。\n2. 架設Karakeep服務 # 我們使用docker-compose來部署。\n在Linux安裝Docker\n取得Karakeep官方的docker-compose。這裡會跑三個服務：Karakeep本體、爬蟲用的Chrome瀏覽器、MeiliSearch全文搜尋引擎。\nmkdir karakeep-app cd karakeep-app wget https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/docker-compose.yml 編輯.env檔案，設定環境變數 vim .env 首先是祕密金鑰，可以用openssl rand -base64 36指令產生。 KARAKEEP_VERSION=release NEXTAUTH_SECRET=隨機產生 MEILI_MASTER_KEY=隨機產生 # 對外公開網址 NEXTAUTH_URL=http://localhost:3000 接著是爬取網頁的設定，這裡我設定Karakeep的瀏覽器在爬取的時候需要捲動頁面，抓取完整網頁，而不是只有第一頁。 CRAWLER_STORE_SCREENSHOT=true CRAWLER_FULL_PAGE_SCREENSHOT=true CRAWLER_FULL_PAGE_ARCHIVE=true （選擇性）啟用語言模型服務，讓AI能夠從書籤收藏的文章自動上標籤。我使用Ollama的本機語言服務，模型請一律用Ollama的界面下載。要總結文章內容並生成中文標籤，使用資料量3B的模型應該就夠了。 # Ollama服務IP位址 OLLAMA_BASE_URL=http://localhost:11434 # 要使用的模型 INFERENCE_TEXT_MODEL=qwen2.5:3b # 要使用的圖像辨識模型 INFERENCE_IMAGE_MODEL=llava-phi3:latest # 嵌入文字模型 EMBEDDING_TEXT_MODEL=mxbai-embed-large:latest # 上下文長度 INFERENCE_CONTEXT_LENGTH=2048 # 輸出的語言 INFERENCE_LANG=Traditional Chinese 最後，啟用OCR服務，設定Tesseract語言為中文和英文。 OCR_LANGS=chi_tra,chi_sim,eng 啟動Karakeep容器服務 docker compose up -d 開啟瀏覽器網頁http://Linux電腦IP:3000，註冊一個帳號，登入Karakeep。\n設定外網連線到內網的方案。\n3. Karakeep網頁版的操作 # 首頁可以放入網址或者圖片。大約等個幾秒後，語言模型就會自動上好標籤。\n點縮圖會進入原本網址，按旁邊的放大鍵展開閱讀界面。\n這個界面可以編輯標籤，並且下自己的註解\nKarakeep預設是快取的文字，方便閱讀但不保留原始排版。圈選文字並按右鍵，就可以劃上記號。 切換到截圖頁面就會看到Karakeep瀏覽器所拍下的畫面，有助於保留網頁當下的狀態。 關於Karakeep的搜尋頁面，搜尋範圍應該是包含快取的文章內容，還有OCR辨識的圖片。不過我實測中文搜尋似乎不如英文要精準。 4. Karakeep輔助APP # Karakeep有瀏覽器擴充功能\n下載：Chrome｜Firefox\n設定好帳號密碼登入之後，點開Karakeep的瀏覽器擴充套件，它就會自動將目前頁面加入書籤，並用AI打上標籤。 Karakeep也有提供手機版APP：Android｜iOS\n操作方法類似網頁版，但沒有劃線功能。\n參考資料 # Karakeep Docs ","date":"2025年2月19日","externalUrl":null,"permalink":"/posts/karakeep-bookmark-app/","section":"所有文章","summary":"Karakeep（舊稱Hoarder），一款收集你的想法的好所在。\nKarakeep首頁\nKarakeep是由Mohamed Bassem開發的自由軟體服務，專門用於蒐集書籤之用。\n瀏覽器多半有提供書籤功能，人們會將之後要看的網頁放到書籤裡面蒐集起來。不過時間久了，書籤就會瘋狂膨脹，之後就會累積了一堆不知道哪來的東西。到頭來那些蒐集的書籤，也不過是在收藏夾裡面吃灰而已！\n使用Karakeep書籤管理軟體，至少它能夠幫我們用AI分類一下，自動打標籤，並允許我們在上面劃記，寫下臨時想到的靈光隨想。日後也能夠透過完善的全文搜尋功能找到某某日子存下來的書籤。 Karakeep自稱是\"A self-hostable bookmark-everything app\"，不單單只是一個書籤管理器，還有以下功能：\n將臨時看到的網頁或者有趣圖片丟上去自動整理 給書籤網頁劃上底線，紀錄頁面重點 透過AI自動給書籤上標籤，總結文章內容，後端可以是ChatGPT或Ollama 提供類似Internet Archive的功能，將網頁快照拍下來，防止網站消失 OCR，將上傳的圖片文字抽取出來，以便日後搜尋。 可以訂閱RSS，將文章自動匯入並上標籤 支援匯入其他瀏覽器的HTML書籤 提供瀏覽器擴充套件，還有Android與iOS的APP 1. Karakeep與類似服務比較 # Karakeep需要部署到自己的伺服器，得全程自架。伺服端和客戶端都是完全開源的專案。\n","title":"Karakeep：開源書籤管理 + 稍後閱讀軟體，AI自動上標籤","type":"posts"},{"content":"Hydrus in a container (HiC)，打個嗝先。\nHydrus Network是一款開源圖片管理軟體，適合想用標籤管理大量混雜的圖片、影片、文件的用戶。Hydrus Network桌面版支援Linux、Windows、macOS，並有許多輔助工具。\n基礎用法請看此篇：Hydrus Network：以標籤分類的圖片管理軟體，數位囤積症救星\n本文Ivon著重探討如何遠端存取Hydrus Network的圖庫。 Hydrus Network有提供「client api」讓第三方程式存取圖庫。\n例如使用floogulinc開發的Hydrus Web網頁程式檢視，能夠遠端編輯Hydrus Network圖庫的標籤。它的界面會隨螢幕大小自動變化，適合電腦和手機使用。 還有NO-ob開發的「綁架小蘿莉」手機APP，能用來看booru系的圖站，同時也可以連線至Hydrus，用手機檢視Hydrus Network圖庫。 但有個問題要解決，Hydrus Network本體無法以headless模式執行，不能單純開著server端。這代表要用client api遠端存取，電腦必須啟動圖形界面，並開啟Hydrus Network主程式，之後client api服務才會跑起來。\n萬一主機沒有螢幕呢？如何在伺服器headless執行Hydrus Network？開發者給出的解法：使用Docker跑Alpine Linux系統，在裡面啟動FVWM視窗管理器與Hydrus Network，使其24小時待在線上，這樣就可以透過網頁noVNC，遠端存取Hydrus Network主程式。電腦不用啟動X視窗系統也可以headless的跑client api服務。 如此一來，便能存取Hydrus Network主程式，也可以用Hydrus Web簡單管理圖庫內容了！\n本文討論的就是以Docker設定Hydrus Network，與其相關服務的作法。後面會在討論如何遠端上傳圖片。\nDocker版適合管理的檔案類型 # 如果要純遠端存取Hydrus Network界面，不使用桌面版本的話，那麼Hydrus Network就只適合放圖片與影片了，因為Docker映像檔裡面沒有PDF檢視器，看電子書會有困難，影片播放因為VNC緣故也很差勁。\n此外，第三方寫的Hydrus Web，雖然能夠部份取代Hydrus Network本體功能，用於編輯檔案標籤，但最多也就只能看圖片與影片內容而已，不適合放入其他類型的檔案。\n比較好的作法是將其他檔案交給專門的服務來管，比如漫畫用Komga，同人誌用LANraragi，影片用Jellyfin，音樂用Navidrome等等。不要所有檔案都一股腦塞到Hydrus Network資料庫。\n1. 遠端存取Hydrus Network的網路設定 # 解決外網連內網的問題。\n請參考內網穿透軟體：開源內網穿透軟體比較\n或是使用Port forwarding ＋ DDNS，讓本機的容器服務能從外部存取。\n別忘記在設定好下一節的服務後，開放對應的防火牆通訊埠。\n2. 啟動Docker容器與Hydrus Client API # 這一節，我們要讓Hydrus Network在Docker裡跑起來。\nDocker版的Hydrus資料庫可以跟桌面版Hydrus Network共用，但注意容器裡面跑的Hydrus Network版本，請確認您先前安裝的Hydrus Network得是跟Docker一樣的版本，在執行docker pull之前請到Github查看版本是否有對上。或是索性只用Docker版Hydrus Network，才不會發生資料庫毀損。\nHydrus Network官方文件的docker-compose範本太複雜了，我將其簡化到只跑三個服務，也就是Hydrus Client、Hydrus Server、Hydrus Web。\n安裝Docker\n從Github拉取等會要用的映像檔\ndocker pull ghcr.io/hydrusnetwork/hydrus docker pull ghcr.io/hydrusnetwork/hydrus:server docker pull ghcr.io/floogulinc/hydrus-web 新增docker-compose.yml mkdir ~/hydrus-docker cd ~/hydrus-docker vim docker-compose.yml 新增以下內容。 services: hydrusclient: image: ghcr.io/hydrusnetwork/hydrus:latest container_name: hydrusclient restart: unless-stopped environment: - UID=1000 # 使用一般使用者執行 - GID=1000 - TZ=Asia/Taipei # 設定時區 volumes: - /home/user/.local/share/hydrus/db:/opt/hydrus/db # 填入Hydrus Network資料庫所在路徑 - /home/user/Downloads/:/mnt/inbox # （選擇性）把檔案放到宿主機/home/user/Download目錄，Hydrus Network容器才可以看到並匯入 tmpfs: # 提昇快取速度 - /tmp ports: - 5800:5800 # 網頁noVNC通訊埠 - 45869:45869 # client api通訊埠 hydrusserver: image: ghcr.io/hydrusnetwork/hydrus:server container_name: hydrusserver restart: unless-stopped volumes: - /home/user/.local/share/hydrus/db/:/opt/hydrus/db # 填入Hydrus Network資料庫所在路徑 hydrus-web: image: ghcr.io/floogulinc/hydrus-web:latest container_name: hydrus-web restart: always ports: - 8080:80 # Hydrus Web的網頁界面通訊埠 啟動容器服務 sudo docker compose up -d 瀏覽器開啟http://localhost:5800即可進入Hydrus Network界面，用法跟一般Hydrus Network無異。 點選services → manage services，對client api點二下，將run the client api?打勾，按apply。\n按services → review services，點選client api的頁籤，再點選add → manually。此頁面會產生一組金鑰(access key)，將其保存下來。接著所有管理權限都打勾，按apply。 用瀏覽器開啟http://localhost:45869，應會看到Hydrus Network client api顯示正在運作的訊息。\n3. 設定Hydrus Web網頁界面 # 必須啟動Hydrus Client，Hydrus Web才能連線到API操作圖庫內的檔案。\nHydrus Web功能比Hydrus Network精簡，可以搜尋Hydrus圖庫、上傳圖片、檢視圖片、編輯圖片標籤。且Hydrus Web會同步顯示你在Hydrus Network所開啟的所有分頁。\n上一節的docker-compose已經包含Hydrus Web，自己跑的跟hydrus web官網的比較起來，差別在自己跑的允許HTTP連線。\n用網頁瀏覽器開啟Hydrus Web：https://localhost:8080\n在Settings裡面填入Hydrus Network的IP和client api金鑰。如果Hydrus Network是透過Docker跑，可能要填寫區域IP或者容器內部IP，這個可以用docker inspect hydrusclient | grep \u0026quot;IPAddress\u0026quot;指令查看。 點選Test，確認下面顯示權限相關訊息才算連線成功。 回到首頁，就可以用Hydrus Network的標籤語法搜尋圖片了。 點選圖片可直接編輯標籤。 Hydrus Web的Pages頁面能檢視Hydrus Network上個工作階段所開啟的分頁，但是不能新增或關閉。 Hydrus Web尚能管理收件匣的圖片（搜尋system:inbox標籤），決定是否要進入封存（system:archived標籤）。鑑於Hydrus Web無法手動進行選取匯入圖片的操作，所以有賴Hydrus Network的自動化匯入功能(import folder)發起。\n4. 利用「綁架小蘿莉」手機APP連線到Hydrus # 綁架小蘿莉，原名叫做LoliSnatcher，指的是從網路下載各種圖片，不是犯罪喔。有趣的是明明沒露點，Github卻顯示該儲存庫含有敏感內容XDD 大概是APP名字取得很危險吧\u0026hellip;\nLoliSnatcher只有Android版，iOS用戶請改用閉源的Anime Boxes，設定過程與LoliSantcher相仿。\n從Github下載APK\n安裝後點選Add New Booru，Booru Type選取Hydrus，並填入安裝Hydrus電腦的IP和client API的金鑰 點選最上方Test Booru，確認能連線(綠燈)後才按Save Booru 在這裡就可以搜尋Hydrus圖庫的圖片了，LoliSnatcher還支援儲存搜尋紀錄、多重分頁、編輯圖片標籤。 5. 遠端上傳檔案到Hydrus Network的步驟 # 從手機或者其他客戶端，上傳圖片到Hydrus Network，並進行標籤管理。\n覺得Hydrus Network在VNC裡面的界面不好操作，就用Hydrus Web的Upload頁面上傳吧。\n或者，利用SFTP的方式將檔案丟到該目錄就行了。上面的docker-compose.yml範例裡面，已經有一個收件匣的目錄。\n開啟Hydrus Network，勾選file → import and export folders → manage import folders，設定監視inbox目錄。這樣只要偵測到圖片，就會自動進行匯入作業。 然後就可以用Hydrus Web頁面管理標籤為system:inbox的檔案了。 相關專案 # Docker - hydrus network floogulinc/hydrus-web: Web client for Hydrus - GitHub funmaker/Hybooru：類似Hydrus Web，界面做得跟Danbooru一樣，直接讀取Hydrus資料庫，不需要啟動Hydrus Client也能用。 thatfuckingbird/hydownloader：基於gallery-dl的自動抓圖程式，可以下載Pixiv與E-hentai的圖片。 Hydrus IPFS：使用IFPS協定傳輸檔案。 TOR：用加密網路分享檔案。 ","date":"2025年2月18日","externalUrl":null,"permalink":"/posts/hydrus-network-in-docker/","section":"所有文章","summary":"Hydrus in a container (HiC)，打個嗝先。\nHydrus Network是一款開源圖片管理軟體，適合想用標籤管理大量混雜的圖片、影片、文件的用戶。Hydrus Network桌面版支援Linux、Windows、macOS，並有許多輔助工具。\n基礎用法請看此篇：Hydrus Network：以標籤分類的圖片管理軟體，數位囤積症救星\n本文Ivon著重探討如何遠端存取Hydrus Network的圖庫。 Hydrus Network有提供「client api」讓第三方程式存取圖庫。\n例如使用floogulinc開發的Hydrus Web網頁程式檢視，能夠遠端編輯Hydrus Network圖庫的標籤。它的界面會隨螢幕大小自動變化，適合電腦和手機使用。 還有NO-ob開發的「綁架小蘿莉」手機APP，能用來看booru系的圖站，同時也可以連線至Hydrus，用手機檢視Hydrus Network圖庫。 但有個問題要解決，Hydrus Network本體無法以headless模式執行，不能單純開著server端。這代表要用client api遠端存取，電腦必須啟動圖形界面，並開啟Hydrus Network主程式，之後client api服務才會跑起來。\n萬一主機沒有螢幕呢？如何在伺服器headless執行Hydrus Network？開發者給出的解法：使用Docker跑Alpine Linux系統，在裡面啟動FVWM視窗管理器與Hydrus Network，使其24小時待在線上，這樣就可以透過網頁noVNC，遠端存取Hydrus Network主程式。電腦不用啟動X視窗系統也可以headless的跑client api服務。 ","title":"標籤式圖片管理軟體，Hydrus Network的Docker遠端存取方案（Hydrus Web）","type":"posts"},{"content":" 有些人應該會有這種習慣吧，常常從網路東抓西抓圖片，有時候是養眼的美圖，有時候是爆笑的梗圖，還有飽含哲理的語錄圖片，那麼這些累積下來的雜圖該如何分類呢？\n有沒有功能介於專業的「Adobe Lightroom」和簡單的「Google相簿」之間的圖片管理軟體呢？有什麼軟體適合數位囤積症（倉鼠症）患者使用呢？\n下載的東西太雜，這些混雜的檔案無法單純用資料夾分類啊。\n那麼，使用「Hydrus Network」給圖片標籤分類，建立自己的圖庫吧！ 這是由匿名網友開發的軟體。雖然這軟體的英文名字聽起來有點可疑，但它能幫你解決諸多問題！按照作者的理念，言論自由和匿名性是很重要的。因為找不到能管理大量圖片，又能保護隱私的解決方案，因此開發了Hydrus。Hydrus是開源免費的軟體，授權條款為WTFPL (你他媽的想幹嘛就幹嘛公眾授權條款)。\nHydrus Network (簡稱Hydrus) 支援Linux、Windows、macOS系統，還有網頁和手機APP能遠端檢視圖庫。\n對習慣使用歐美動漫貼圖站的用戶來說(例如Danbooru、Gelbooru、yande.re)，用標籤給種類混雜的圖片分類是最好的方式了。 特色是檢視圖片會顯示一坨拉庫的標籤，可自動化產生，方便管理與搜尋圖片。 其他功能：\n支援按照檔案種類、標籤、檔名、檔案屬性、圖片顏色、影片長度、查看次數下去搜尋檔案 幾乎什麼檔案都能收藏，包含圖片(jpg, gif, png, tiff, webp, bmp)、影片(webm, mp4, mpeg, avi, mov, mkv, flv, wmv)、音樂(mp3, flac, ogg, wma)、文件(swf, pdf, psd, clip, sai2, zip, rar, 7z)等等 內建識別重複檔案的工具 在封存的檔案上面寫筆記，或者紀錄檔案來源網址。 批量下載Danbooru、Gelbooru、Pixiv等圖站的圖片，並自動上標籤 使自身變成伺服器，跟他人共享檔案，共同編輯標籤 提供API讓其他擴充程式利用 資料庫結構簡單，很好備份 結構化的匯入匯出資料，所有檔案能夠批次匯出為對應的json，方便放到其他軟體處理 目前只有英文版，但標籤可以用中文 注意，Hydrus不是Adobe Lightroom那樣的工作相片編修軟體，也不是Google相簿的無腦相簿分類。Hydrus是用來「封存」各式各樣網路蒐集的雜圖用的，用標籤取代硬碟資料夾作為圖片管理方式。\n1. 安裝Hydrus # 至Github，按照您的作業系統下載Hydrus安裝檔。\nWindows和macOS系統直接安裝就可以了。\n對於Linux系統，Hydrus的作者僅提供單一執行檔，需要解壓縮後點二下hydrus_client執行，資料庫位於該執行檔所在的目錄。順帶一提使用環境變數QT_SCALE_FACTOR啟動Hydrus Network，可以縮放QT界面大小；Hydrus Network對Wayland支援度不佳，可能要用環境變數WAYLAND_DISPLAY=，強制使用XWayland執行。Linux系統還要安裝MPV套件才能播放影片。之後更新是直接覆蓋這個目錄的檔案。\nFlatpak版Hydrus Network內建MPV，但不是作者維護的，版本更新比較慢。\nHydrus Network內建能夠預覽的檔案格式為圖片和影片，其他格式要用電腦上的程式開啟。在Linux系統上面是透過xdg-open開啟的，因此能夠透過XDG MIME Apps的標準來修改預設開啟程式。\n2. Hydrus基礎使用方式 # 首先讓我們理解一下Hydrus的管理概念。Hydrus不能直接讀取硬碟的資料夾，所有檔案都必須匯入到Hydrus的資料庫才能開始整理。\n不論是從哪裡匯入檔案，一律會先進到Hydrus的收件匣(system:inbox)，每張圖片右上角會顯示信封圖案，Hydrus會新開一個分頁讓你處理匯入的檔案。\n接著你要手動審查一番，再對檔案按右鍵，點選\u0026quot;archive\u0026quot;將圖片正式收到Hydrus的圖片庫(system:archived)。分頁處理完成就可以按右鍵關閉了。\n要刪除圖片的話是對其按右鍵 → \u0026ldquo;Delete from my files\u0026rdquo;，圖片會進到垃圾桶(system:trash)，要再按一次右鍵 → \u0026ldquo;Delete physically now\u0026rdquo;，圖片才會真的刪除。\n於搜尋欄位輸入system:everything或system:archived便會列出圖片庫中封存的全部圖片。\nHydrus非常依賴標籤管理，所以這裡沒有資料夾的概念，要搜尋全部都是依賴標籤或者檔案屬性來找。\n接著來實戰一番，了解如何下載並匯入圖片至Hydrus。\n3. 手動匯入圖片並上標籤 # 現有的圖片收藏，得手動匯入再手動打標籤。\n按file → import files，或者將資料夾拖拉到Hydrus視窗，匯入圖片，然後手動將其打上標籤，再右鍵加入archived。 Hydrus如果偵測到匯入的圖片是重複的（根據校驗碼判斷）且已經刪除，會無法匯入，這時請點選try again，強制重新生成校驗碼。\n可是萬一圖片很多，標籤哪上的完？所幸有很多解決方案，例如動漫圖片有hydrus-dd，自動偵測圖片角色並輸出Danbooru風格的標籤，方便我們匯入Hydrus。\n如果真得要手動上標籤的話，謹記原則：真正有用到的再上，不要什麼都上，別追求完美，很容易失去興致。自動打標籤服務也不見得符合你的需求。\n關於標籤格式，建議參照Danbooru的namespace:value的方式來命名，見Howto:Danbooru Tag Wiki\nHydrus Network搜尋欄上面有\u0026quot;Collection\u0026quot;的功能，這裡定義了通用的命名空間(namespace)，像series:定義這張圖片屬於哪一個作品，creator:標注作者，title:標注連續圖片或者屬於一本書的圖片，page:標示頁數，chapter:標示章節等等。\n標籤不一定要使用命名空間，但圖片特徵以外的標籤建議要有命名空間(namespace)，以英文為主，空格之間有底線連接。\n比如針對動漫圖片：蒐集一個角色的圖片，我應該都會加上character:人物(如果是真實人物則用person:人物)，還有series:作品名稱和creator:作者的標籤，還有這張圖片哪裡覺得印象深刻的部份，但不需要把角色膚色和眼睛都標上去。最後是選擇性標記，看圖片是否能有特殊用途或符合性癖好，例如抱枕圖就額外標記dakimakura_(medium)。 再對圖片點右鍵，加上URL，註明這張圖片來源。\n另外按services → manage services → add → local numerical rating service，啟用5星評分系統來給圖片評分(會顯示在全螢幕檢視圖片右上角)，5星是大師級繪畫等級這樣。\n4. 自動下載圖片並匯入 # 自動從各大圖站下載圖片和標籤，並匯入到資料庫。\n參見：Hydrus Network Downloader用法\n5. Hydrus檔案搜尋語法 # 在主界面的search tags搜尋圖片，打字後會出現提示。搜尋語法跟Danbooru類似，一次輸入了一個標籤按Enter。標籤前面加-排除不想看的標籤。使用星號*充當萬用字元。 搜尋的標籤會跑到上面，對標籤按二下將其從搜尋條件移除。 對搜尋到的圖片按右鍵(用Shift多選) → manage → tags (或按F3)，可給圖片新增和移除標籤。於右邊的欄位填寫新標籤並按Enter確認，按Esc退出。 Hydrus預設的搜尋語法是AND，例如搜尋《少女與戰車》 和《艦隊收藏》的標籤，就只會回傳一張圖片裡同時有這二部作品的結果。\n但是若想要找《少女與戰車》 或 《艦隊收藏》的結果呢？在鍵入第一個標籤的時候，按Shift再對標籤提示按二下，該標籤會自動變成OR語法： 然後再繼續搜尋下一個標籤，同樣按著Shift對標籤按二下，這樣它就會串成OR搜尋。 之後對串好的OR搜尋點二下，即可看到《少女與戰車》 或 《艦隊收藏》的圖片同時出現的結果。 可點選星星符號 → save this search，將目前的搜尋字串存起來，方便日後利用。 6. 搜尋重複或類似檔案 # 此功能可用來找出重複圖片，用來找組圖(連續圖片，動作只有些微不同)也很有用。\n不過要防止組圖因為姿勢雷同被判定為重複圖片的話，選取多張圖片 → 右鍵 → manage → file relationship，設定為alternatives。\n點選 page → new special page → dulpicates processing，開啟搜尋重複圖片的頁面 在prepare頁籤，設定要搜尋的圖片相似度。exact match找完全一樣，speculate找看起來類似的圖片，數字越高越不精確。 切換到filtering頁籤，可看到maxium search pair預設為4，越高顯示的重複圖片組合就越多。按launch the filter啟動對比程式。 接著顯示可能重複的圖片，點一下圖片，滾動滑鼠滾輪，就會交替顯示二張圖片讓你比對。比對後按右邊的按鈕做決定。 此外，在搜尋圖片時，對圖片按右鍵 → open → similar-looking files也是可以搜尋相似圖片。\n7. Hydrus遠端連線的輔助工具 # Hydrus Companion是瀏覽器擴充元件，可在瀏覽網頁時，將圖片直接送到Hydrus匯入。需要輸入client api金鑰。\n另外，你可以設定Hydrus Web與LoliSnatcher，透過第三方程式存取Hydrus圖庫，方便在手機上看圖。參考：Hydrus Network的Docker遠端存取方案 8. 備份Hydrus資料庫 # 作者建議在更新Hydrus主程式前備份資料庫。\nWindows的資料庫位於程式資料夾下的db資料夾。\nmacOS位於~/Library/Hydrus\nLinux資料庫位於程式目錄下的db目錄。\n點選databse → change database backup location，選取要建立備份的目錄，之後建立備份。 如果要匯出單張圖片，對圖片點右鍵 → share → export → file。\n參考資料 # hydrus network - client and server - GitHub Pages 8chan.moe /t/ (Hydrus Network General) ","date":"2025年2月18日","externalUrl":null,"permalink":"/posts/setup-hydrus-network/","section":"所有文章","summary":" 有些人應該會有這種習慣吧，常常從網路東抓西抓圖片，有時候是養眼的美圖，有時候是爆笑的梗圖，還有飽含哲理的語錄圖片，那麼這些累積下來的雜圖該如何分類呢？\n有沒有功能介於專業的「Adobe Lightroom」和簡單的「Google相簿」之間的圖片管理軟體呢？有什麼軟體適合數位囤積症（倉鼠症）患者使用呢？\n下載的東西太雜，這些混雜的檔案無法單純用資料夾分類啊。\n那麼，使用「Hydrus Network」給圖片標籤分類，建立自己的圖庫吧！ 這是由匿名網友開發的軟體。雖然這軟體的英文名字聽起來有點可疑，但它能幫你解決諸多問題！按照作者的理念，言論自由和匿名性是很重要的。因為找不到能管理大量圖片，又能保護隱私的解決方案，因此開發了Hydrus。Hydrus是開源免費的軟體，授權條款為WTFPL (你他媽的想幹嘛就幹嘛公眾授權條款)。\nHydrus Network (簡稱Hydrus) 支援Linux、Windows、macOS系統，還有網頁和手機APP能遠端檢視圖庫。\n對習慣使用歐美動漫貼圖站的用戶來說(例如Danbooru、Gelbooru、yande.re)，用標籤給種類混雜的圖片分類是最好的方式了。 特色是檢視圖片會顯示一坨拉庫的標籤，可自動化產生，方便管理與搜尋圖片。 ","title":"Hydrus Network：以標籤分類的圖片整理軟體，數位囤積症救星","type":"posts"},{"content":"覺得不錯的文章，想要整篇保存下來，放到筆記軟體裡面閱讀嗎？\n可曾想過將重要的網頁內容複製下來，當作日後的提醒事項？\nJoplin Web Clipper可以做到這些事情，將瀏覽器看到的網頁內容，一鍵保存到Joplin的筆記本。\nIvon覺得有些網頁單純放書籤是不夠保險的，因此存一份HTML副本可說是有保障。將文章收藏起來，方便日後拿出來反覆咀嚼。 在Joplin裡面進一步編輯網頁內容，並加上註解。利用Joplin的標籤系統給蒐集到的資料分類。 其他用法還有將重要的訂票畫面記錄下來，再搭配Joplin手機APP的待辦事項功能，設定提醒事項等等。\n利用Markdown能夠嵌入HTML語法的特性，不論是轉為純文字，還是完整儲存網頁排版，Joplin Web Clipper它都能做作到！\n1. 設定Web Clipper # 此功能目前只有電腦版Joplin有，手機版Joplin的變通方法見文末。\n開啟Joplin，點選工具 → 選項，啟用網頁剪輯 依照畫面上的指示，在瀏覽器安裝Firefox或Chrome的擴充套件。\n瀏覽器點一下Web Clipper擴充套件圖示，並於Joplin同意存取資料。 2. Web Clipper模式選擇 # Web Clipper的計算全部都是在本機執行的，不會傳送資料給第三方。\n找到要儲存的網頁，按Web Clipper圖示，選取格式，並選取筆記本，按Confirm儲存網頁。Web Clipper會嘗試將網頁中的圖片全部下載，再嵌入Joplin筆記。所以不用擔心網站日後下線導致圖片404。 如何選擇？且看各個模式的差異：\nClip simplified page：僅抽出網頁正文的文字、圖片、表格元素，並轉成Markdown。 Clip complete page (Markdown)：抽出網頁所有的文字、圖片、表格元素，並轉成Markdown。 Clip complete page (HTML)：使用HTML儲存完整網頁。僅適合檢視，因為大量的HTML會導致Joplin的Markdown編輯框變得很亂。 Clip Selection：抽出滑鼠選取的文字與圖片，並轉成Markdown。\nClip Screenshot：網頁截圖。\nClip URL：複製網址。\n如果網頁有很多CSS和JavaScript，且希望保持原有排版，那麼建議用完整HTML儲存網頁。這個尤其適合保存靜態網頁。\n但是有些動態網頁，儲存HTML並不會把圖片附件一併下載。所以想要無腦儲存網頁的畫面還是用截圖方式要好。\n順帶一提，Web Clipper會下載網頁全部圖片，刪除記事之後，資源可能不會馬上跟著刪除。久了會導致Joplin累積許多孤立檔案，這時能夠用延伸模組Joplin Batch加以清理。\n3. 手機版Joplin使用Web Clipper # Android與iOS的Joplin APP尚無Web Clipper功能。如果將連結分享到Joplin APP，只會貼上網址而已。\n變通方式是使用第三方服務來轉換網頁。\n例如Android有Markdownr APP，貼上網址便會輸出Markdown。 iOS則是Safari的延伸功能ToMarkdown，內建的伺服器似乎有問題，建議改為https://urltomarkdown.com ","date":"2025年2月16日","externalUrl":null,"permalink":"/posts/joplin-web-clipper/","section":"所有文章","summary":"覺得不錯的文章，想要整篇保存下來，放到筆記軟體裡面閱讀嗎？\n可曾想過將重要的網頁內容複製下來，當作日後的提醒事項？\nJoplin Web Clipper可以做到這些事情，將瀏覽器看到的網頁內容，一鍵保存到Joplin的筆記本。\nIvon覺得有些網頁單純放書籤是不夠保險的，因此存一份HTML副本可說是有保障。將文章收藏起來，方便日後拿出來反覆咀嚼。 在Joplin裡面進一步編輯網頁內容，並加上註解。利用Joplin的標籤系統給蒐集到的資料分類。 其他用法還有將重要的訂票畫面記錄下來，再搭配Joplin手機APP的待辦事項功能，設定提醒事項等等。\n利用Markdown能夠嵌入HTML語法的特性，不論是轉為純文字，還是完整儲存網頁排版，Joplin Web Clipper它都能做作到！\n1. 設定Web Clipper # 此功能目前只有電腦版Joplin有，手機版Joplin的變通方法見文末。\n開啟Joplin，點選工具 → 選項，啟用網頁剪輯 依照畫面上的指示，在瀏覽器安裝Firefox或Chrome的擴充套件。\n瀏覽器點一下Web Clipper擴充套件圖示，並於Joplin同意存取資料。 2. Web Clipper模式選擇 # Web Clipper的計算全部都是在本機執行的，不會傳送資料給第三方。\n","title":"擷取網頁轉成Markdown筆記，透過Joplin Web Clipper快速蒐集網路資料","type":"posts"},{"content":"","date":"2025年2月15日","externalUrl":null,"permalink":"/tags/psychology/","section":"標籤","summary":"","title":"Psychology","type":"tags"},{"content":"現在是零點整，這個名為荒謬的鬼魂依然籠罩在潛意識上方，讓我找不到彼岸。\n從以前多久這有這種鬼魂呢，大概從國中起，我就有意識的想過我不要花這麼多時間讀書，我會想到今後的時日，都要從早上8：00到晚上9：00，日復一日這樣過下去嗎？遂逐漸接觸哲學，希望人們為何活著的答案能從中找到，而不是宗教經典告訴我。我要閱讀很多書，不是別人強加給我的指定讀本。幾年下來讀了沒有成為哲學家，但倒有一點邏輯思維的啟發。在高中那段最黑暗的日子，除了艦隊Collection之外，精神上給我一絲依靠的便是叔本華的哲學。國小上安親班盯作業，國中上補習班補英文和數理。\n一直以來，囿於環境的壓力，還有現實面的需求，即使多次喘息片刻想過不要花時間讀書的問題，最終依然是被逼著去補習，然後參加晚自習的活動。雖然跟同儕比起來不是最硬的時間安排，但起碼也跟上平均了吧。普通人的人生，在華人社會看來，就是依既定路線，讀好大學然後找到好工作，結婚生子最後掛點。我是個凡人我沒有力氣反抗這宿命。我認為那些學習都徒具形式，因為用看閒書和滑手機都能應付過去，沈迷在短暫的快樂才能撐過這枯燥無味的生活，最後大考的成績考出來在平均線以下，不好也不壞的結果。\n果然到了大學，可說是完全解放，更加迷惘不知道自己要往哪裡去了，玩遊戲和做side project，但都不大成功，正課不大認真付出方，虛應便是。做網站大抵是一種幸運，能夠堅持下去。加上我從來都不是一個現充，撇除小時候還沒覺醒前的階段，也就是會開始思考哲學問題的階段。我的後設認知心態發展的非常晚，是我晚熟吧？大學的時候覺得自己才是一般人讀高中時候的心智年齡，後面以此類推。\n基於非理性的階段玩在一塊的夥伴外，我能夠肯定的說我沒有一般人認知上的好朋友，遑論玩社團了。縱使是加入遊戲愛好者社團，也難以跟人建立深刻的聯繫，所謂有共同愛好的網友亦復如是。加上我現在對家人也逐漸產生疏離感。因為知道他們也是人，不是天使，人性的缺點顯示出來，他們便不再是小時候認知的絕對善良存在，導致我便逐漸虛無主義了起來。\n人們工作不是每個人都知道自己為何要做的，不過是為了能夠獲得錢，溫飽下去。換了許多工作從沒有讓自己滿意的，為人做牛做馬，成為齒輪下的螺絲釘，沒有辦法把靈魂放進去，無不感受這世界的荒謬，也有可能是我太年輕了而已。\n未來從事的長期穩定工作很有可能是要對後面的人重複這乏味的學習過程的宣教了，我拿著扳手和工程圖，畫著黑板上的線條，告訴他們成為螺絲釘，或是比較大的輪子的螺絲釘，為龐大的機器而奉獻，構成這有條不紊的系統，讓團體，社會，乃至國家機器，動得更厲害起來。我看過一些勵志書與成功學的書籍，例如「吃掉那隻青蛙！」，無論中外都在宣揚一種積極進取的理念，有時候甚至帶有侵略性，或說狼性吧。他們破壞既有人生規劃的方式是比別人更卓越，講好聽點是這樣，但實話就是你要更拼命的贏過他們。要比別人更懂得善用課程，接觸更多人脈，才更有爬上巔峰的機會。只要你跟我一樣努力也能夠成功的。但萬一我想吃的青蛙是一隻蟾蜍呢？給我照樣吃下去！樂觀主義者會認為沒有坎是不能過得去的，摘除毒腺必得天鵝肉。這是個你落後就無法生存的世界。假使違背了這個規矩，便會失去生存的依靠，白話來說，就是維生物資。然後還會被他人視為失敗者，在社群中不受待見。最終，人們為了取得一絲溫飽，所以服膺於規則來適應這個社會。若有不滿，則在時間管理表上安排個幾天狂歡的放鬆活動，從生理上獲得暫時的歡愉，然後回到工作崗位上，啜飲一杯咖啡，繼續當作螺絲釘。根本上沒有認識到問題的解方，只是利用生理機制，加上多巴胺的刺激來讓自己好過些而已，淡化掉盤旋在潛意識上方的鬼魂。可是它依然陰魂不散，使人容易找不著彼岸。\n寫完這篇後我又失眠了，在前往新工作地點的前一天，在床上輾轉反側，不能逃不能逃但是又好想逃。不想長大，不想工作，不想面對學校以外的現實世界，不願意對自己的抉擇負責。胸口悶痛。只睡了兩小時，其中還有餘裕做惡夢。夢中房中的牆門貼著類似地圖的東西，我的家人似乎也有一份一樣的地圖。然後他們不段透過門外嘲笑我的狀態。我的那張地圖十分殘破不堪，門都快整個破掉了。所以這反映了我的窩囊心裡，踏不出去一步，恐懼被人瞧不起。儘管現實中還沒有真的這麼誇張，但未來卻是有可能的方向。\n回到我一開始的論點，我接觸哲學是因為未來不要讀這麼多書。當然，研究哲學怎可能不讀書，否則就只是囈語而已。我常常認為我的思考方式過於濫情，邏輯訓練實在幫不上太多忙！哲學除了用於訓練邏輯思考之外，亦有指導人生的作用。從古希臘和古中國的哲學，到近代的學說都有點涉略。強迫補習對我的效果大概就只限於英文的啟蒙，知道跳脫身處環境去思考何謂自由，然而察覺到的竟是荒謬，荒謬不荒謬不？至於數理補習可說是完全無效，甚至我現在對計算機科學的興致也不是學校或補習班老師帶來的，而是自己實作後發掘到的。\n不得不說，因為強迫學習還感到快樂的人，我認為那些人有很大機率是斯德哥爾摩症患者，知道自己受到不合理對待還反無腦的尊師重道。然後，可能是存在主義的書讀多了，我一直都認為，社會上的成功學觀念跟我內心想法格格不入，雖然我沒那麼討厭美國，可是美國夢的浪漫成分已經不如以往那樣吸引我了（以前聽老師分享留學經驗眼睛裡面會冒星星），接觸到他人的思想，過去的殘暴歷史，便也覺知，出國一切就會變好的夢想，終究是夢想。認識到世界各地的人不是追求美好，而是活在苦難中還互相不理解，爭鬥不會輕易消失於人類的歷史，足以讓人打消對地球村的美化妄想了，我心目中的「世界主義」終究就是幻想。這樣下來，人們的信仰在哪裡呢？是否要加入革命，用安那其還是共產主義推翻資本主義世界，這個目標過大。在這個國家，做夢並不現實。先縮小到人本身，改善心態比改善外在要簡單的多。可是，走犬儒主義和實用主義都不行，也不能詭辯說西方哲學思想不適用於大清自有的國情。那麼，最終認識到對抗虛無主義就是正視荒謬，想像西西弗斯是快樂的。如果人們追求太多別人賦予的價值來定義自己，永不可能到達彼岸。\n具體改變想法的作法如下：\n到身心科獲取可以一棒子讓我每天睡著的藥物。\n或者，轉念，或許，一切沒那麼糟糕，因為明天又是新的一天。\n天亮了，望向時鐘，五點鐘，該睡了。\n即使身陷囹圄，被日常事務，工作或課業壓得喘不過氣來的時候，我們依然有作夢的權利。不需要透過短影音還是社群媒體上的心靈雞湯來告訴人，而是透過自己去體會。絕不能就這樣算了。\n","date":"2025年2月15日","externalUrl":null,"permalink":"/posts/2025021501/","section":"Personals","summary":"現在是零點整，這個名為荒謬的鬼魂依然籠罩在潛意識上方，讓我找不到彼岸。\n從以前多久這有這種鬼魂呢，大概從國中起，我就有意識的想過我不要花這麼多時間讀書，我會想到今後的時日，都要從早上8：00到晚上9：00，日復一日這樣過下去嗎？遂逐漸接觸哲學，希望人們為何活著的答案能從中找到，而不是宗教經典告訴我。我要閱讀很多書，不是別人強加給我的指定讀本。幾年下來讀了沒有成為哲學家，但倒有一點邏輯思維的啟發。在高中那段最黑暗的日子，除了艦隊Collection之外，精神上給我一絲依靠的便是叔本華的哲學。國小上安親班盯作業，國中上補習班補英文和數理。\n一直以來，囿於環境的壓力，還有現實面的需求，即使多次喘息片刻想過不要花時間讀書的問題，最終依然是被逼著去補習，然後參加晚自習的活動。雖然跟同儕比起來不是最硬的時間安排，但起碼也跟上平均了吧。普通人的人生，在華人社會看來，就是依既定路線，讀好大學然後找到好工作，結婚生子最後掛點。我是個凡人我沒有力氣反抗這宿命。我認為那些學習都徒具形式，因為用看閒書和滑手機都能應付過去，沈迷在短暫的快樂才能撐過這枯燥無味的生活，最後大考的成績考出來在平均線以下，不好也不壞的結果。\n果然到了大學，可說是完全解放，更加迷惘不知道自己要往哪裡去了，玩遊戲和做side project，但都不大成功，正課不大認真付出方，虛應便是。做網站大抵是一種幸運，能夠堅持下去。加上我從來都不是一個現充，撇除小時候還沒覺醒前的階段，也就是會開始思考哲學問題的階段。我的後設認知心態發展的非常晚，是我晚熟吧？大學的時候覺得自己才是一般人讀高中時候的心智年齡，後面以此類推。\n","title":"荒謬的鬼魂","type":"personal"},{"content":"如果想要從外網連內網服務，其中一個方法就是通訊埠轉發 (port forwarding) 了。\nPort forwarding也有人翻譯為「端口映射」或「端口轉發」，有些機器則會把port forwarding稱作虛擬伺服器 (virtual server)。\n通訊埠轉發可以讓外部連線到到躲在NAT背後的機器，比如Minecraft伺服器連線、存取NAS資源、P2P分享檔案等等，有些人還會用No-IP的動態DNS服務架站！\n舉個更具體的例子吧：我想要從外面的網路，連線到Linux版qBittorrent的網頁界面。在家裡的時候我使用區域IPhttp://192.168.0.250:8080就可以連線，但外部網路怎麼辦呢？我希望可以打http://140.112.91.11:8080的公共IP連線到qBittorrent，此時就得設定通訊埠轉發了！\n另請參閱替代方案：開源的內網穿透軟體\n1. 環境 # 需要系統：Ubuntu 24.04以上\n數據機：Zyxel P880（中華電信的數據機）\n網路架構：本文假定Linux電腦透過網路線直接跟數據機（小烏龜，modem）連線，中間沒有經過任何路由器，且數據機不是位於社區網路。此時數據機作為NAT的角色。\n2. Linux電腦端的設定 # 假設我要開放的伺服器服務，使用的通訊埠為8080/tcp，防火牆要允許8080連入： sudo ufw allow 8080/tcp sudo ufw reload 用NetworkManager讓Linux以固定IP連線到網際網路。這樣才不會被數據機重置區域IP。\n使用ip addr指令取得Linux電腦的區域IP，應該是192.168.開頭，例如下面是192.168.1.101\n# 範例輸出 2: enp2s0: \u0026lt;BROADCAST,MULTICAST,UP,LOWER_UP\u0026gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.1.101/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0 要取得Linux電腦的公共IP，可以使用curl工具連線到ifconfig.io網站確認，例如下面是140.112.91.11 curl ifconfig.io # 範例輸出 140.112.91.11 3. 數據機端的設定 # 開啟Linux或其他電腦的瀏覽器，登入數據機後台。每台的數據機IP不同，Zyxel P880的IP是為http://192.168.1.1\nP880的帳密自行google，務必用管理員帳號登入後台 在左邊的選單勾選Expert Mode，Advanced Setup的NAT裡面就會出現Virtual Servers，功能等同port forwarding。按下Add。 勾選Custom Service。Server IP Address填Linux電腦的IP。External Port Start和External Port End填寫要轉發的通訊埠，這邊的例子我們都填寫8080，這樣外部連線到數據機8080通訊埠的時候，便會導向Linux電腦的8080通訊埠。Protocol改成TCP/UDP。 最後按下Apply/Save。\n嘗試用另外一台裝置，輸入Linux電腦的公共IP，連線到Linux電腦吧。\n4. 設定No-IP動態DNS服務 # 此為選擇性步驟。\n如果你的公共IP時常變動，那麼你可以跑一個動態DNS (Dynamic DNS，簡稱DDNS) 服務，改用域名來連線到遠端主機。例如將http://140.112.91.11:8080改成http://myservice.ddns.net:8080來連線，再也不用記落落長的IP。\n有很多公司提供動態DNS服務，以No-IP的為例，他們會給你一個免費域名。只要在Linux跑他們的閉源客戶端No-IP DUC，定期按照你的公共IP更新DNS即可。\n到No-IP註冊一個帳號。點選Create Hostname，建立一個域名。例如這裡我用myownserverhost.ddns.net 參考官方說明，下載Ubuntu的No-IP DUC套件，安裝。\nwget --content-disposition https://www.noip.com/download/linux/latest tar xf noip-duc_*.tar.gz cd noip-duc_*/binaries sudo apt install ./noip-duc_*_amd64.deb 編輯No-IP DUC設定檔 sudo vim /etc/default/noip-duc 填入No-IP帳號密碼，還有要使用的域名 NOIP_USERNAME=帳號 NOIP_PASSWORD=密碼 NOIP_HOSTNAMES=剛剛建立的域名 設定開機自動啟動No-IP DUC服務： sudo systemctl enable --now noip-duc 查看服務狀態，出現update successful就是成功連上了。 sudo systemctl status noip-duc 日後便能透過https://myownserverhost.ddns.net:8080網址存取服務了。 ","date":"2025年2月11日","externalUrl":null,"permalink":"/posts/linux-port-forwarding/","section":"所有文章","summary":"如果想要從外網連內網服務，其中一個方法就是通訊埠轉發 (port forwarding) 了。\nPort forwarding也有人翻譯為「端口映射」或「端口轉發」，有些機器則會把port forwarding稱作虛擬伺服器 (virtual server)。\n通訊埠轉發可以讓外部連線到到躲在NAT背後的機器，比如Minecraft伺服器連線、存取NAS資源、P2P分享檔案等等，有些人還會用No-IP的動態DNS服務架站！\n舉個更具體的例子吧：我想要從外面的網路，連線到Linux版qBittorrent的網頁界面。在家裡的時候我使用區域IPhttp://192.168.0.250:8080就可以連線，但外部網路怎麼辦呢？我希望可以打http://140.112.91.11:8080的公共IP連線到qBittorrent，此時就得設定通訊埠轉發了！\n另請參閱替代方案：開源的內網穿透軟體\n1. 環境 # 需要系統：Ubuntu 24.04以上\n數據機：Zyxel P880（中華電信的數據機）\n網路架構：本文假定Linux電腦透過網路線直接跟數據機（小烏龜，modem）連線，中間沒有經過任何路由器，且數據機不是位於社區網路。此時數據機作為NAT的角色。\n2. Linux電腦端的設定 # 假設我要開放的伺服器服務，使用的通訊埠為8080/tcp，防火牆要允許8080連入： sudo ufw allow 8080/tcp sudo ufw reload 用NetworkManager讓Linux以固定IP連線到網際網路。這樣才不會被數據機重置區域IP。\n","title":"Linux設定通訊埠轉發 (port forwarding) 與No-IP動態DNS服務，以Ubuntu為例","type":"posts"},{"content":"","date":"2025年2月11日","externalUrl":null,"permalink":"/tags/port-forwarding/","section":"標籤","summary":"","title":"Port Forwarding","type":"tags"},{"content":"Self-hosing a Joplin server for syncing your notes across devices.\nJoplin官方提供多種同步筆記的方式，你可以把筆記用OneDrive或Dropbox或Joplin Cloud同步，也能夠使用Joplin官方開發的伺服器同步，也就是「Joplin Server」。\nJoplin Server本身是開源軟體，Joplin官方經營的Joplin Cloud應該就是使用這套系統作為後端的。\n自架Joplin Server 有什麼好處呢？可享有跟官方Joplin Cloud一樣的功能，包括多裝置同步筆記，資料都在自己的伺服器。\n將Joplin筆記發布為公開網頁供他人瀏覽。訪客不需要帳號也可以瀏覽你的Joplin筆記。 還能跟其他帳號共同編輯記事本！作為小型團隊協作的利器。 Joplin Server可以架在私人的NAS，也可以架在VPS。後者讓同步伺服器能一直在線上，不受物理條件影響而下線，這樣也能確保自己的筆記有一份雲端備份。還有如果你要讓筆記能讓別人公開瀏覽，那麼買個網域便是有必要的了。\nJoplin Server只是同步伺服器，並非網頁版Joplin。同步到Joplin Server之前，你必須要安裝Joplin客戶端才可以使用！\n1. 使用Docker架設Joplin Server # 注意：Joplin Server的授權條款跟Joplin客戶端不同，條款寫明了同步伺服器僅供個人使用，禁止商業用途。這可能是為了防止商業競爭，影響Joplin Cloud的生意吧。如果你很在意這點，請改用其他的同步方式。\n撰文當下Joplin Server官方映像檔僅支援x86架構，ARM架構的映像檔需要找第三方打包的，並替換掉docker-compose.yml裡面使用的映像檔。\n在Linux安裝Docker\n使用Joplin官方提供的docker-compose範本。這裡會啟動兩個容器，一個是Postgresql資料庫，另一個是Joplin Server網頁後台。\nmkdir ~/joplin-server cd ~/joplin-server wget -O docker-compose.yml https://raw.githubusercontent.com/laurent22/joplin/refs/heads/dev/docker-compose.server.yml 取得環境變數 wget -O .env https://raw.githubusercontent.com/laurent22/joplin/dev/.env-sample 編輯.env，設定PostgreSQL資料庫的密碼，還有Joplin Server伺服器位址 APP_BASE_URL=https://example.com/joplin # 連線網址，必須與後面連入的網域一致。如果你沒有網域，就填寫http://Linux伺服器IP:22300 APP_PORT=22300 DB_CLIENT=pg POSTGRES_PASSWORD=joplin POSTGRES_DATABASE=joplin POSTGRES_USER=joplin POSTGRES_PORT=5432 POSTGRES_HOST=localhost 啟動容器 sudo docker compose up -d 開啟瀏覽器，輸入http://上面設定的網址/joplin，登入Joplin Server後台，預設管理員帳號為admin@localhost，密碼為admin。登入後請馬上修改密碼。 Joplin Server的使用者帳號只能由管理員帳號新增，使用者無法自行註冊。若你的Joplin客戶端有多個設定檔(profile)，可以分別給二個設定檔新增帳號，這樣兩邊的筆記資料就會隔開上傳。\n需要注意設定伺服器防火牆，不要讓Joplin Server資料庫和網頁後台的通訊埠暴露到公開網路。\n若是架在NAS，請安裝內網穿透軟體，從外部網路連線到Joplin Server。\nJoplin Server架在VPS的話，建議取得SSL憑證，並安裝Nginx。以下是Nginx反向代理規則的範例：\nproxy_set_header X-Forwarded-Host $host; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; location /joplin/ { proxy_redirect off; rewrite ^/joplin/(.*)$ /$1 break; proxy_pass http://127.0.0.1:22300; } 2. 將筆記同步到Joplin Server # 點選Joplin客戶端左下角同步按鈕，選取Joplin主機，接著填入網址和帳號密碼。再點選同步。 如何遷移現有的Joplin筆記？直接切換同步目標就可以了。如果不放心，請在同步前，點選檔案 → 全部匯出，將Joplin的筆記匯出為JEX封存檔。然後刪除Joplin客戶端所有資料，重裝Joplin客戶端，然後匯入JEX封存檔。再同步到遠端Joplin Server。 或許你會問，是否可以讓Joplin同步到不同的雲端備份？理論上是可以。不過Joplin的同步原理是讓所有裝置的筆記檔案都「一致」，故沒辦法用來「封存」筆記。筆記在這個裝置刪除了，同步之後就會標記為刪除。還有這樣做的話，在多裝置同步的場合（電腦＋手機客戶端）會造成混亂，故不建議這樣做。\n3 .將Joplin筆記設定為公開分享的網頁 # 對筆記按右鍵，點選上傳記事，即會產生一個網址。 然後這個筆記就能讓其他人公開瀏覽。之後編輯的變更，會自動同步到這個公開的網頁。 如果你覺得Joplin排版醜醜的，請善用HTML標籤來裝飾一下Markdown檔案，例如將元素用\u0026lt;p align=\u0026quot;center\u0026quot;\u0026gt; \u0026lt;/p\u0026gt;包起來就能實現圖片置中。另外，Joplin的Markdown可以用[toc]語法，自動在記事最上方產生目錄大綱。\n目前Joplin只能公開單一記事，不能公開整個記事本。暫時的解法是使用反向連結（對記事按右鍵 → 複製Markdown連結），然後貼到一個公開記事裡面當作「目錄」，接著將其他記事本一一設定為公開。 再按一次上傳筆記的分享按鈕，就能取消公開記事本。\n4. 與其他帳號共用Joplin筆記本 # 目前Joplin只能共享記事本，不能分享單一記事。記事本必須是最頂層的，不能是其他記事本下的子目錄。\n且你只能跟同一個Joplin Sever的帳號共用筆記本。\n以管理員帳號登入Joplin Sever後台，新增多個使用者的帳號，並設定容量配額。 對記事本按右鍵，點選分享記事 輸入要分享的帳號。Joplin官方文件寫這裡能夠設定其他帳號的編輯權限？但我測試的時候沒有看到。 這樣一來獲得分享權限的用戶就能存取你共享的記事本了，可以看到該記事本下所有的子目錄和嵌入的檔案。 參考資料 # joplin/server - Docker Image Guide for Joplin-Server on Raspberry Pi - Development Joplin Server and Nginx under subresource and HTTPS - Support ","date":"2025年2月11日","externalUrl":null,"permalink":"/posts/self-host-joplin-server/","section":"所有文章","summary":"Self-hosing a Joplin server for syncing your notes across devices.\nJoplin官方提供多種同步筆記的方式，你可以把筆記用OneDrive或Dropbox或Joplin Cloud同步，也能夠使用Joplin官方開發的伺服器同步，也就是「Joplin Server」。\nJoplin Server本身是開源軟體，Joplin官方經營的Joplin Cloud應該就是使用這套系統作為後端的。\n自架Joplin Server 有什麼好處呢？可享有跟官方Joplin Cloud一樣的功能，包括多裝置同步筆記，資料都在自己的伺服器。\n將Joplin筆記發布為公開網頁供他人瀏覽。訪客不需要帳號也可以瀏覽你的Joplin筆記。 還能跟其他帳號共同編輯記事本！作為小型團隊協作的利器。 Joplin Server可以架在私人的NAS，也可以架在VPS。後者讓同步伺服器能一直在線上，不受物理條件影響而下線，這樣也能確保自己的筆記有一份雲端備份。還有如果你要讓筆記能讓別人公開瀏覽，那麼買個網域便是有必要的了。\nJoplin Server只是同步伺服器，並非網頁版Joplin。同步到Joplin Server之前，你必須要安裝Joplin客戶端才可以使用！\n1. 使用Docker架設Joplin Server # 注意：Joplin Server的授權條款跟Joplin客戶端不同，條款寫明了同步伺服器僅供個人使用，禁止商業用途。這可能是為了防止商業競爭，影響Joplin Cloud的生意吧。如果你很在意這點，請改用其他的同步方式。\n","title":"Docker架設Joplin同步伺服器 (Joplin Server) ，雲端同步筆記，筆記發表為公開網頁","type":"posts"},{"content":"Conky，這是一款Linux系統的效能監控軟體，支援顯示CPU、GPU、溫度、RAM使用量、播放中的音樂、天氣等等資訊。\n跟其他Linux的系統監控工具比起來，Conky不依賴任何圖形界面工具包，本身只是個X視窗程式，所以非常省資源。而且Conky組態能力非常強大，可以自由修改要監控的項目，用Lua程式調整顯示的內容，還能安裝主題美化。 Muscida conky-grapes Revolutionary Clock TC-100\nConky並非htop那樣的終端機程式，執行後會一直待在你的Linux桌面持續顯示監控資料，切換到其他視窗就會被蓋住。不過可以將Conky調整為「顯示在所有視窗上方」，當作全域的資源監視器使用。 比較可惜的是，Conky沒有顯示遊戲FPS的功能。如果你需要統計這方面資訊，請改用MangoHud。\n1. 安裝Conky # 需要注意的是，撰文當下Conky僅支援X11工作階段，Wayland移植尚在進行中。我測試的時候KDE Plasma 5.27 (Wayland)能夠正常使用Conky，但它是跑在XWayland模式下的。\n許多Linux發行版都有收Conky套件，例如Ubuntu用以下指令安裝： sudo apt install conky-full Conky能監控的東西非常多，CPU和RAM用量僅是基本，其他東西要自行安裝對應命令列工具。譬如監控CPU溫度需要 lm_sensors，要監視Nvidia GPU使用量得安裝nvidia-smi。 2. 修改Conky設定檔 # 因為能調的東西太多了我只講個大概。要詳細讀參數請參閱文末附的網站，裡面針對每一個參數都有詳盡註解。\nConky的設定檔位置，以前比較常用的是.conkyrc，現在建議遵守XDG標準，改用conky.conf。兩個檔案的語法不太一樣。\n我們要複製內建的範本過來，再行修改 cp -r /etc/conky/ ~/.config/ 測試啟動Conky，以常駐程式模式啟動 conky -d Linux桌面應該就會出現最簡版本的Conky。預設模式下沒有任何裝飾。 強制中止Conky的方式是kill。\nkillall conky 編輯~/.config/conky/conky.conf設定檔，設定檔一有變更，Conky應該會自動重啟。\nConky的設定檔分成以下內容：\n-- 這是註解 -- 視窗外觀的設定值，包含文字顏色、背景顏色、透明度、視窗大小 conky.config = { ... } -- 視窗內要顯示的內容，可以自由設定座標，調整元件位置。 conky.text = [[ ... ]] Conky設定檔的修改範例：以下選項可以讓Conky顯示在所有視窗上方，並啟用透明度效果。若是不加own_window_hints的話，Conky就會顯示為有放大縮小鍵的獨立視窗。 conky.config = { own_window_class = \u0026#39;Conky\u0026#39;, own_window_type = \u0026#39;normal\u0026#39;, own_window_hints = \u0026#39;undecorated,above,skip_taskbar,skip_pager\u0026#39;, own_window_transparent = true, own_window_argb_visual = true, own_window_argb_value = 2, } 仔細觀察下面面板顯示的文字，${}是Conky內建的物件還有變數，用於偵測系統資訊。 conky.text = [[ ${color grey}Info:$color ${scroll 32 Conky $conky_version - $sysname $nodename $kernel $machine} $hr ${color grey}Uptime:$color $uptime ${color grey}Frequency (in MHz):$color $freq ${color grey}Frequency (in GHz):$color $freq_g ${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4} ${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4} ${color grey}CPU Usage:$color $cpu% ${cpubar 4} ${color grey}Processes:$color $processes ${color grey}Running:$color $running_processes ]] Conky也可以透過讀取其他程式輸出的數值來顯示資料。這代表你可以自由串其他命令行程式來用，比如這是Reddit找到的範例，透過nvidia-smi顯示GPU使用量： ${color DarkOrange1}${execi 9999 nvidia-smi --format=csv,noheader,nounits --query-gpu=gpu_name} ${color1}Memory-Clock:${color green}${execi 2 nvidia-smi --format=csv,noheader --query-gpu=clocks.current.memory} ${color1}Temp | Memory-Usage | GPU-Util ${color green}${execi 2 nvidia-smi |grep % |cut -c 61-64,7-11,48-54,37-43 --output-delimiter=\u0026#34; |\u0026#34;} Conky可以透過指令conky -c \u0026quot;/設定檔路徑/\u0026quot;載入不同設定檔。依序執行多個Conky的行程，即可在桌面上擺放多個元件。 conky -d -c ~/.config/conky/conky1.conf conky -d -c ~/.config/conky/conky2.conf 若要開機自動啟動Conky，使用XDG AutoStart的方式，設定登入自動啟動的指令為conky -d。 3. 安裝Conky主題 # Pling和Github有很多主題能下載。\n話說Conky這款工具看來真的是活化石呢，挖到的許多主題都是十年前製作的，現在竟然還能動。那個時候各家桌面環境還是擬物化時代的風格（想想Windows 7），所以這些元件在今天扁平化的樣子看來很是復古。\n每個Conky主題裝法不太一樣，有的可能還在用很久以前的語法，需要自行更新，或是得安裝字體。安裝前請詳細閱讀作者的README。\n不過如果要標準化的話，建議是將主題放到~/.config/conky/，然後每個主題一個目錄。\nconky可以用指令conky -c \u0026quot;/設定檔路徑/\u0026quot;使用不同的設定檔啟動，方便你切換多個主題，又不至於弄亂檔案。\n另外考慮安裝圖形界面Conky Manager，用於預覽各大主題。\n參考資料 # brndnmtthws/conky - Github Casey\u0026rsquo;s Conky Reference with Examples - IFX Group ","date":"2025年2月10日","externalUrl":null,"permalink":"/posts/conky-system-monitor/","section":"所有文章","summary":"Conky，這是一款Linux系統的效能監控軟體，支援顯示CPU、GPU、溫度、RAM使用量、播放中的音樂、天氣等等資訊。\n跟其他Linux的系統監控工具比起來，Conky不依賴任何圖形界面工具包，本身只是個X視窗程式，所以非常省資源。而且Conky組態能力非常強大，可以自由修改要監控的項目，用Lua程式調整顯示的內容，還能安裝主題美化。 Muscida conky-grapes Revolutionary Clock TC-100\nConky並非htop那樣的終端機程式，執行後會一直待在你的Linux桌面持續顯示監控資料，切換到其他視窗就會被蓋住。不過可以將Conky調整為「顯示在所有視窗上方」，當作全域的資源監視器使用。 比較可惜的是，Conky沒有顯示遊戲FPS的功能。如果你需要統計這方面資訊，請改用MangoHud。\n1. 安裝Conky # 需要注意的是，撰文當下Conky僅支援X11工作階段，Wayland移植尚在進行中。我測試的時候KDE Plasma 5.27 (Wayland)能夠正常使用Conky，但它是跑在XWayland模式下的。\n許多Linux發行版都有收Conky套件，例如Ubuntu用以下指令安裝： sudo apt install conky-full Conky能監控的東西非常多，CPU和RAM用量僅是基本，其他東西要自行安裝對應命令列工具。譬如監控CPU溫度需要 lm_sensors，要監視Nvidia GPU使用量得安裝nvidia-smi。 2. 修改Conky設定檔 # 因為能調的東西太多了我只講個大概。要詳細讀參數請參閱文末附的網站，裡面針對每一個參數都有詳盡註解。\n","title":"Conky：Linux效能監控軟體，即時顯示CPU、GPU、RAM使用量，高自訂性的版面配置","type":"posts"},{"content":"","date":"2025年2月9日","externalUrl":null,"permalink":"/series/comfyui%E4%BD%BF%E7%94%A8%E6%95%99%E5%AD%B8/","section":"Series","summary":"","title":"ComfyUI使用教學","type":"series"},{"content":"教學ComfyUI生圖的提示詞寫法。\n我們來看提示詞要怎麼寫，以文生圖的提示詞為主。\n不論用哪個模式生圖，生圖模型都是吃提示詞(prompt)來決定生成內容的。prompt，通俗的講法叫關鍵字、咒語、指令。\n通常，你會在ComfyUI工作流看到CLIP Text Encode (Prompt)的節點，接到KSampler節點的positive槽位，那個就是填寫提示詞的地方，告訴AI要生成哪些東西。 如果有第二個CLIP Text Encode (Prompt)節點，接到KSampler節點的negative槽位，那就是負向提示詞 (Negative prompt)，告訴AI不要生成哪些東西。\n目前生圖模型幾乎都是用英文資料訓練，所以提示詞要用英文輸入。 若你真的英文不好，可以安裝翻譯用的自訂節點，降低語言隔閡。\n要注意的是，AI生圖目前還沒有涵蓋全宇宙所有圖片的模型，所以除了提示詞外，使用的生圖模型亦會大大的影響生成結果。譬如，用寫實風格的Stable Diffusion模型畫動漫人物，效果絕對會比使用PonyDiffusion差的許多，因此在學會下提示詞以前，要先按照用途挑選適合的模型。\n本文的範例，都是使用ComfyUI的「文生圖」工作流作為示範。請選擇你看得習慣的生圖模型就好。\n1. 提示詞 Prompt # 下提示詞時，利用人事時地物的概念，寫個英文句子描述圖內場景，盡量將想看到的提示詞排在前面。例如在提示詞的欄位填入「一個亞洲女孩在沙灘上」，負向提示詞留空 an asian girl on the beach 不過英文不好的人其實不用寫整個句子，用單字加逗號將想看的特徵點出來通常就有不錯效果。且實務上我們會希望測試更多參數，例如加入畫風、要模仿的藝術家風格、身體特徵等，因此用逗號更方便調整。將圖片特徵拆成單字就會變成下面這樣： ; (繪圖時請刪除此行) 參考翻譯：一個女孩，亞洲人，沙灘，海洋 1girl, asian, beach, ocean 再算一次，但是結果變了？沒錯，即使提示詞相近，AI繪圖每次生圖結果都是隨機的。要維持上一次的結果並微調，你得保留每次算圖的種子碼(seed)。\n接著可以多指定一點細節：這個女孩眼睛是什麼顏色的？髮型是什麼？有戴帽子嗎？是站著還是坐著呢？身上穿的是什麼衣服？天空是什麼顏色的？ ; 參考翻譯：一個女孩，亞洲人，藍眼睛，短髮，草帽，站著，藍色比基尼，沙灘，海洋，橘色天空 1girl, asian, blue eyes, short hair, straw hat, standing, blue bikini, beach, ocean, orange sky 呼，好像一口氣加太多細節了呢，詳述細節的好處是避免AI亂生成，但也限制了其作畫創意。所以下面的例子會縮短，有時候讓AI隨機抽獎也不壞呀～\n要改變風格，可以在提示詞加入「風格」的提示詞。這方面的提示詞有：相片(photoshop)、3D建模(3d model)、裝飾藝術(art deco)、石像(stone sculpture)等風格。 ; 參考翻譯：一個女孩的石像，亞洲人，藍眼睛，沙灘，海洋 a stone sculpture of 1girl, asian, blue eyes, beach, ocean 但我使用的模型已是專攻動漫風格的模型，所以不用特別指定要畫出哪種風格，它一律都會是動漫風的圖片，很難畫出真人照片，所以說挑對模型很重要啊。\n風格是很難界定的東西呢，一般來說我們會圖片像哪個藝術家的風格對吧？那麼不如直接「召喚」他們吧！提示詞可以包含某位畫家的名字，AI會嘗試模仿其風格。例如加上「慕夏的作品」，並加入「大師級作品」的風格提示詞： ; 參考翻譯：慕夏的作品，大師級作品，一個女孩，亞洲人，藍眼睛，沙灘，海洋 artwork by Alfons Maria Mucha, masterpiece, 1girl, asian, blue eyes, beach, ocean 生圖的結果就會變得像是慕夏的作品。順帶一提masterpiece這個提示詞還蠻萬用的，可以讓作品維持一定水準。\n當然還可以畫特定動漫人物的「二創」，只要將名字和作品名稱打上去就可以了。有名的動漫角色只要出現名字，不用特別指定身體特徵就會生成原作風格了，例如指定《新世紀福音戰士》的惣流·明日香·蘭格雷： ; 參考翻譯：新世紀福音戰士的明日香，大師級作品，一個女孩，沙灘，海洋 asuka_langley_souryuu from neon_genesis_evangelion, masterpiece, 1girl, beach, ocean 再次提醒，在下提示詞的時候，生成圖片使用的模型也需納入考量。譬如想要生成特定動漫人物，去Danbooru找到了英文姓名，加上提示詞，但你卻用畫真人的Stable Diffusion去算，則AI可能根本就不會認得你說的角色是誰，反之亦然。Danbooru的標籤風格跟一般圖片的描述還是有差距的。\n除非日後有蒐羅全部網路圖片的超大模型出現，否則下提示詞須配合模型種類來決定。\n如果AI怎樣都生成不出你要的風格或人物，請考慮換個模型，或是自行訓練模型。\n2. 負向提示詞 Negative Prompts # 上面的例子，我們只有寫提示詞，下面的負向提示詞的欄位都是空白。但生圖時常常還需要加入一些負向提示詞，避免掉不好的結果。AI繪圖不會一次就算出好結果，所以還需要加上負向提示詞來控制，尤其是大批算圖的時候更為重要。\n註：有些模型不需要負向提示詞也能生圖。\n負向提示詞會加入一些常見的「不好」的圖片特徵，例如低畫質、最糟品質、畫家簽名、模糊、浮水印 deformed, lowres, bad anatomy, text, error, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name 不想看到的東西也可以加進去。例如不想看到裸露、兵器、血、獵奇的元素出現，就加入nsfw、weapon、blood、guro至負向提示詞 nsfw, weapon, blood, guro, lowres, bad anatomy, text, error, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name 提示詞並非越多越好，正向提示詞以不超過150個詞元(token)為原則；不過負向提示詞可以盡量把不想看到的都塞進去。\n3. ComfyUI提示詞的特殊語法 # 此節列出的語法為ComfyUI獨有。\n如果你需要新增更多提示詞語法，通常能夠用自訂節點的方式達成。\n關注度括號 # 控制關注度的符號，增加算圖時對該提示詞的關注度。簡單來說，括號就是你想強調的重點元素，括號越多，生成的結果越可能符合括號裡的提示詞。\nComfyUI使用小括號控制關注度： ( ) 小括號層次越多權重越高。不加小括號為1倍，每加一層小括號乘以1.1倍。例如，強調「藍眼睛」，生成的結果就更高機率是藍眼睛人物\nasian, woman, ((blue eyes)), beach, ocean 亦可以直接寫明要增強幾倍關注度，但其實一般情況下不用設太強，用一二層的小括號就夠了。\nasian, woman, (blue eyes:2.5), beach, ocean ComfyUI還支援[ ]中括號，越多權重越弱，一個中括號乘以1.1倍。通常用在負向提示詞欄位。\n隨機切換提示詞 # 用大括號{ }將提示詞包起來，再使用｜隔開，代表在每個步數隨機選取提示詞。例如我要在生圖時於「藍眼睛」或「紅眼睛」或「黑眼睛」之間切換：\nasian, woman, {blue eyes|red eyes|black eyes}, beach, ocean 加上註解 # ComfyUI的提示詞裡面允許加入註解。註解裡面的文本不會被當成提示詞處理。\n//加入單行註解。\n// 參考翻譯：一個女孩，亞洲人，沙灘，海洋 1girl, asian, beach, ocean 用/* ... */符號圈起來，可製作多行註解。\n/* 參考翻譯： 一個女孩 亞洲人 沙灘 海洋 */ 1girl, asian, beach, ocean 4. 值得參考的提示詞網站 # Prompt Generator和NovelAI魔导书可以協助你組合提示詞。\nCivitai除了下載模型外，還有很多現成的提示詞搭配模型的範例可以照抄。\n","date":"2025年2月9日","externalUrl":null,"permalink":"/posts/comfyui-prompt-guide/","section":"Ai-Arts","summary":"教學ComfyUI生圖的提示詞寫法。\n我們來看提示詞要怎麼寫，以文生圖的提示詞為主。\n不論用哪個模式生圖，生圖模型都是吃提示詞(prompt)來決定生成內容的。prompt，通俗的講法叫關鍵字、咒語、指令。\n通常，你會在ComfyUI工作流看到CLIP Text Encode (Prompt)的節點，接到KSampler節點的positive槽位，那個就是填寫提示詞的地方，告訴AI要生成哪些東西。 如果有第二個CLIP Text Encode (Prompt)節點，接到KSampler節點的negative槽位，那就是負向提示詞 (Negative prompt)，告訴AI不要生成哪些東西。\n目前生圖模型幾乎都是用英文資料訓練，所以提示詞要用英文輸入。 若你真的英文不好，可以安裝翻譯用的自訂節點，降低語言隔閡。\n要注意的是，AI生圖目前還沒有涵蓋全宇宙所有圖片的模型，所以除了提示詞外，使用的生圖模型亦會大大的影響生成結果。譬如，用寫實風格的Stable Diffusion模型畫動漫人物，效果絕對會比使用PonyDiffusion差的許多，因此在學會下提示詞以前，要先按照用途挑選適合的模型。\n本文的範例，都是使用ComfyUI的「文生圖」工作流作為示範。請選擇你看得習慣的生圖模型就好。\n","title":"ComfyUI學習使用提示詞 (prompt)","type":"ai-art"},{"content":"Running VSCode in your web browser!\n架設網頁版的VSCode，隨時隨地從任何裝置編輯程式碼。\n1. VSCode與code-server差別 # 這裡Ivon安裝的是Coder Technolgies開發的code-server，並非Microsoft官方提供的 Visual Studio Code Server 服務，亦不是 Visual Studio Code Remote - SSH 延伸模組。\nVisual Studio Code (簡稱VSCode) 本身是用Electron寫成的桌面程式，不方便遠端使用。\n而code-server這個專案能讓Visual Studio Code在瀏覽器裡面執行。這樣我們就可以用瀏覽器存取遠端，並直接編輯Linux電腦上的程式碼啦！不論是電腦的還是平板的瀏覽器都可以。\n換句話說，客戶端電腦不需要安裝VSCode，就能用網頁版code-server寫程式，所有運算都是在遠端電腦完成。 客戶端的瀏覽器可以是Chrome、Firefox、Safari，應該都能使用code-server。\n這有點類似遠端桌面，但這裡code-server是作為Web APP執行。即使遠端是headless的Linux伺服器環境，依然能夠跑code-server。\ncode-server操作跟原版Visual Studio Code差不多，但code-server不能登入Github帳號同步延伸模組，也不見得相容所有的延伸模組，請謹慎測試。\n如果你需要存取完整的Visual Studio Code功能，客戶端又不能安裝Visual Studio Code的話，那麼還是用遠端桌面吧。\n2. Linux安裝code-server # code-server跟原版的VSCode可以共存，資料是分開存放的。\nDocker版code-server可能要設定docker volume才能存取系統上的其他目錄，為免麻煩，直接裝.deb或.rpm套件。\n參考Github說明，執行開發者提供的指令稿。應該會自動偵測Linux發行版並安裝套件。 curl -fsSL https://code-server.dev/install.sh | sh 設定開機自動啟動code-server服務 sudo systemctl enable --now code-server@$USER 接著要調整code-server服務設定檔： vim ~/.config/code-server/config.yaml 填入以下內容，位址綁定0.0.0.0允許外部連線，通訊埠設定為8080，並設定登入驗證方式為密碼。（code-server尚支援Github外部驗證方式，這裡Ivon選了最簡單的方案） bind-addr: 0.0.0.0:8080 auth: password password: 12345678 cert: false 開放防火牆通訊埠，允許連入 sudo ufw allow 8080 sudo ufw reload 重啟code-server服務 sudo systemctl restart code-server@$USER 這樣就可以用http://Linux電腦的IP:8080存取VSCode了，登入需要輸入密碼。 3. 從外網連線到code-server的方式 # 跟code-server連線的時候，不會經過Microsoft的伺服器中介，你可以自由選擇連線方式。\n例如我會使用內網穿透軟體從外網連線。\n4. HTTPS連線是否有必要？ # code-server預設是用HTTP連線，會有些功能不能用。\n部份code-server功能需要HTTPS連線，例如存取剪貼簿或相機。\n有些VS Code的延伸模組在HTTP連線的時候無法載入，點了會顯示一片空白，必須使用HTTPS連線才可以正常使用。\n要如何建立HTTPS連線？如果你沒有自己的網域，可以透過Tailscale Funnel或者Cloudflare Tunnel快速建立HTTPS連線。\n另一種方法是使用自簽SSL憑證。\n在裝有code-server的Linux電腦，使用OpenSSL指令產生一組憑證，全部Enter： openssl req -x509 -nodes -days 365 -newkey rsa:2048 \\ -keyout ~/.local/share/code-server/code-server-self-signed.key \\ -out ~/.local/share/code-server/code-server-self-signed.crt 然後編輯code-server服務設定檔： vim ~/.config/code-server/config.yaml 指定自簽憑證路徑。 cert: true cert-key: ~/.local/share/code-server/code-server-self-signed.crt 重新啟動coder-server服務。 sudo systemctl restart code-server@$USER 接著，改用https://Linux電腦的IP:8080連線。因為是自簽憑證，瀏覽器應該會不信任，按繼續連線。 ","date":"2025年2月9日","externalUrl":null,"permalink":"/posts/self-hosted-code-server/","section":"所有文章","summary":"Running VSCode in your web browser!\n架設網頁版的VSCode，隨時隨地從任何裝置編輯程式碼。\n1. VSCode與code-server差別 # 這裡Ivon安裝的是Coder Technolgies開發的code-server，並非Microsoft官方提供的 Visual Studio Code Server 服務，亦不是 Visual Studio Code Remote - SSH 延伸模組。\nVisual Studio Code (簡稱VSCode) 本身是用Electron寫成的桌面程式，不方便遠端使用。\n而code-server這個專案能讓Visual Studio Code在瀏覽器裡面執行。這樣我們就可以用瀏覽器存取遠端，並直接編輯Linux電腦上的程式碼啦！不論是電腦的還是平板的瀏覽器都可以。\n換句話說，客戶端電腦不需要安裝VSCode，就能用網頁版code-server寫程式，所有運算都是在遠端電腦完成。 客戶端的瀏覽器可以是Chrome、Firefox、Safari，應該都能使用code-server。\n這有點類似遠端桌面，但這裡code-server是作為Web APP執行。即使遠端是headless的Linux伺服器環境，依然能夠跑code-server。\ncode-server操作跟原版Visual Studio Code差不多，但code-server不能登入Github帳號同步延伸模組，也不見得相容所有的延伸模組，請謹慎測試。\n","title":"利用VSCode網頁版遠端開發，Linux安裝code-server教學 ＋ 啟用HTTPS連線","type":"posts"},{"content":"以Ubuntu系統的Docker為例。非WSL。 此圖使用ComfyUI生成\n為什麼要用Docker呢？使用Docker的好處在於不怕炸掉依賴。目前Linux安裝ComfyUI的方式是手動git clone再建立Python，可能Linux系統的Python一更新就會導致部分功能壞掉，要重新設定Python環境。Docker可以把Python環境包在容器裡面跟宿主機隔離，讓ComfyUI依賴的Python環境不受系統影響。\n即使目前這個容器環境被弄壞了，也可以馬上換另一個頂上來，不需要再重新安裝一堆Python依賴。\n另一個是部署多個ComfyUI容器的方式，實現資料隔離。你想想，ComfyUI有那麼多自訂節點的擴充套件，如果裝新的結果跟舊的衝突怎麼辦呢？利用Docker容器化能夠解決這個問題，針對不同用途，建立多個ComfyUI容器，再用Docker volume的方式掛載進去，共享模型目錄。\n1. 安裝Nvidia Container Toolkit # 讓Docker容器內的程式能使用CUDA加速的技術。\n參考Ubuntu安裝Nvidia專有驅動\n2. 取得docker-compose # ComfyUI官方尚未提供Docker映像檔，所以我用第三方開發者維護的版本。目前我覺得YanWenKun寫的最好，它提供各種打包好的映像檔，提供Nvidia與AMD用戶選擇。\n建立存放ComfyUI資料的目錄 mkdir ~/comfyui-docker cd comfyui-docker 參考作者的Github，取得docker-compose檔案，例如我現在使用CUDA 12.6的版本 wget https://raw.githubusercontent.com/YanWenKun/ComfyUI-Docker/refs/heads/main/cu126-slim/docker-compose.yml 下載docker-compose之後，按需修改內容 services: comfyui: init: true container_name: comfyui build: context: . dockerfile: Dockerfile image: \u0026#34;yanwk/comfyui-boot:cu126-slim\u0026#34; ports: - \u0026#34;8188:8188\u0026#34; volumes: - \u0026#34;./storage:/root\u0026#34; #將目前目錄下的storage掛載到容器內部，也可以是其他路徑 environment: - CLI_ARGS=--listen # 加上listen，讓外部網路能存取ComfyUI security_opt: - \u0026#34;label=type:nvidia_container_t\u0026#34; deploy: # 讓容器能夠使用CUDA resources: reservations: devices: - driver: nvidia device_ids: [\u0026#39;0\u0026#39;] capabilities: [gpu] 然後啟動容器 docker compose up -d 開啟瀏覽器http://Linux電腦IP:8188檢視網頁。\n容器終端機輸出的訊息，請用docker logs --follow comfyui指令查看。\n3. Docker版ComfyUI的資料目錄 # 我使用的ComfyUI容器資料目錄會掛載到目前目錄下的storage，裡面有ComfyUI目錄。Docker版ComfyUI資料目錄跟用Python手動部署的是一樣的。例如checkpoint的生圖模型就是放到models/checkpoints目錄。\n","date":"2025年2月9日","externalUrl":null,"permalink":"/posts/comfyui-docker-installation/","section":"Ai-Arts","summary":"以Ubuntu系統的Docker為例。非WSL。 此圖使用ComfyUI生成\n為什麼要用Docker呢？使用Docker的好處在於不怕炸掉依賴。目前Linux安裝ComfyUI的方式是手動git clone再建立Python，可能Linux系統的Python一更新就會導致部分功能壞掉，要重新設定Python環境。Docker可以把Python環境包在容器裡面跟宿主機隔離，讓ComfyUI依賴的Python環境不受系統影響。\n即使目前這個容器環境被弄壞了，也可以馬上換另一個頂上來，不需要再重新安裝一堆Python依賴。\n另一個是部署多個ComfyUI容器的方式，實現資料隔離。你想想，ComfyUI有那麼多自訂節點的擴充套件，如果裝新的結果跟舊的衝突怎麼辦呢？利用Docker容器化能夠解決這個問題，針對不同用途，建立多個ComfyUI容器，再用Docker volume的方式掛載進去，共享模型目錄。\n1. 安裝Nvidia Container Toolkit # 讓Docker容器內的程式能使用CUDA加速的技術。\n參考Ubuntu安裝Nvidia專有驅動\n2. 取得docker-compose # ComfyUI官方尚未提供Docker映像檔，所以我用第三方開發者維護的版本。目前我覺得YanWenKun寫的最好，它提供各種打包好的映像檔，提供Nvidia與AMD用戶選擇。\n","title":"使用Docker部署ComfyUI，建立多個不同用途的AI生圖容器","type":"ai-art"},{"content":" Apps for displaying keypress on Linux screen. Draw lines on Linux screen.\n本文Ivon介紹在Linux螢幕上顯示鍵盤與滑鼠按鈕操作的軟體，可用於錄製教學影片，或是在遊戲直播中展示您的操作技巧。 最後面再分享如何用畫筆直接在Linux螢幕上畫畫，將螢幕當成白板使用。 註：如果你想要在Linux使用觸控螢幕打字，請參閱Linux的觸控螢幕鍵盤\n1. 顯示鍵盤操作 Screenkey # Screenkey是Yuri D\u0026rsquo;Elia開發的軟體，只支援X11工作階段。\n另有一款AlynxZhou開發的Show Me The Key，功能跟Screenkey差不多，但額外支援Wayland顯示協定。\nScreenkey請從Linux發行版的套件庫安裝：\nsudo apt-get install screenkey 開啟Screenkey的程式後就可以用了，會顯示目前的按鍵於螢幕上。 對系統匣的圖示右鍵 → Preferences可以設定顯示的位置。不要用了的話點選系統匣的圖示退出。 至於Show Me The Key，有收該套件的Linux發行版不多，你可能要參考Github說明自行編譯。\n開啟面板後，點選左上角啟動浮動視窗。 然後就會顯示點選的按鈕。 我發現這個工具似乎沒辦法一直維持在螢幕最上層的樣子，得透過桌面環境合成器協助。GNOME和KDE Plasma都可以對Show Me The Key視窗按右鍵，使之維持顯示在螢幕最上層。 2. 錄影顯示鍵鼠動作 Input Overlay for OBS Studio # 這是給OBS Studio用的外掛，界面炫砲，支援多種顯示鍵盤與搖桿的操作。僅錄影的時候會重疊在畫面上。\n這個外掛可能無法在Wayland桌面使用。\n請用Flatpak安裝OBS Studio，再安裝此外掛的Flatpak版本： flatpak install com.obsproject.Studio.Plugin.InputOverlay 安裝後要到Github下載InputOverlay的preset(input-overlay-presets.zip)，解壓縮，隨便放到個目錄，我個人是放到~/.config/inputoverlay。\n開啟OBS Studio，點選＋新增來源，選取Input Overlay 從剛剛解壓縮的目錄選取要使用的檔案，如下圖，進入qwerty的目錄(這個preset能顯示全部鍵盤)，選取.png檔，再選取.json檔。 接著在OBS預覽窗內依照喜好，調整顯示位置。如果您還想顯示滑鼠的操作，請再新增第二個Input Overlay來源，並如法炮製選取滑鼠的preset。 您不會在螢幕看到剛剛新增的東西，但開始錄影後就會把他們一同錄進影片去了。 3. 螢幕劃線 Gromit-MPX # 桌面環境KDE Plasma 5以上版本內建螢幕劃線功能，開啟系統設定 → 視窗管理 → 桌面效果，開啟滑鼠標記功能。\n按著Windows鍵 ＋ Shift，再移動滑鼠就能劃線。按著Windows鍵 ＋ Ctrl + Shift則是繪製箭頭。若要清除劃記，按Windows鍵＋Shift＋F11。 其他桌面環境的用戶，請安裝Gromit-mpx，此為通用的螢幕畫筆工具，支援X11與Wayland工作階段，任何桌面環境都可以使用。\n透過Flatpak安裝Gromit-MPX： flatpak install flathub net.christianbeier.Gromit-MPX 開啟後按F9進入劃線模式，Ctrl ＋ F9關閉劃線模式，Shift ＋ F9清除劃記。\n要綁定自訂快捷鍵與新增畫筆，請編輯~/.var/app/net.christianbeier.Gromit-MPX/config/設定檔。\n4. 螢幕劃線與數位白板 ScreenPen # 有些軟體提供白板功能，例如Saber Notes，但要如何把整個螢幕變成白板呢？ScreenPen這套工具可以達成此目的。\n因為Python不能安裝到系統目錄，我這裡使用pipx工具安裝ScreenPen sudo apt install pipx pipx ensurepath pipx install screenpen pipx inject screenpen setuptools 從終端機啟動。 screenpen 左鍵開始繪圖，右鍵退出。 ","date":"2025年2月9日","externalUrl":null,"permalink":"/posts/show-keyboard-presses-on-linux/","section":"所有文章","summary":" Apps for displaying keypress on Linux screen. Draw lines on Linux screen.\n本文Ivon介紹在Linux螢幕上顯示鍵盤與滑鼠按鈕操作的軟體，可用於錄製教學影片，或是在遊戲直播中展示您的操作技巧。 最後面再分享如何用畫筆直接在Linux螢幕上畫畫，將螢幕當成白板使用。 註：如果你想要在Linux使用觸控螢幕打字，請參閱Linux的觸控螢幕鍵盤\n1. 顯示鍵盤操作 Screenkey # Screenkey是Yuri D’Elia開發的軟體，只支援X11工作階段。\n另有一款AlynxZhou開發的Show Me The Key，功能跟Screenkey差不多，但額外支援Wayland顯示協定。\nScreenkey請從Linux發行版的套件庫安裝：\nsudo apt-get install screenkey 開啟Screenkey的程式後就可以用了，會顯示目前的按鍵於螢幕上。 對系統匣的圖示右鍵 → Preferences可以設定顯示的位置。不要用了的話點選系統匣的圖示退出。 至於Show Me The Key，有收該套件的Linux發行版不多，你可能要參考Github說明自行編譯。\n開啟面板後，點選左上角啟動浮動視窗。 然後就會顯示點選的按鈕。 我發現這個工具似乎沒辦法一直維持在螢幕最上層的樣子，得透過桌面環境合成器協助。GNOME和KDE Plasma都可以對Show Me The Key視窗按右鍵，使之維持顯示在螢幕最上層。 ","title":"如何在Linux螢幕上顯示鍵盤滑鼠的動作 ＆ 使用螢幕畫筆","type":"posts"},{"content":"分享如何在Linux玩音樂節奏遊戲「osu!」 osu!是由Dean Herbertd開發的自由軟體，提供多種遊戲模式，包括點選畫面圓圈的「osu!」、打太鼓的「osu!taiko」、接水果的「osu!CatchtheBeat」、下落式鋼琴的「osu!mania」。你可以登入osu!帳號，與全球玩家競技排行榜。 Wizdomiot SiM - The Rumbling\n1. osu!版本選擇 # osu!最早只有Windows系統版，稱之為osu!stable，這個版本要用Wine跑。\n現在有了跨平台版本osu!lazer，支援Linux、Windows、macOS、Android、iOS，功能更多，能夠利用各大作業系統的原生圖形API加速，亦能正常上傳分數。故不需要用Wine跑osu!stale了，直接安裝osu!lazer即可。\n如果你執意要玩osu!stable，請多加利用NelloKudo/osu-winello的安裝指令稿，它會幫你配好Wine環境。\n本文提及的osu!皆是指osu!lazer版。\n2. 安裝osu!以及OpenTabletDriver # osu!主程式有加入防作弊系統，所以建議使用官方建置的版本，才能登入帳號並上傳分數。\nosu!官網提供AppImage，下載點二下就能夠執行了。建議用這個版本，社群打包的Flatpak版可能抓不到硬體裝置。\nosu!的遊戲資料位於~/.local/share/osu/，要下載譜面和模組就是放到這裡。\n如果要使用繪圖板遊玩，osu!會透過OpenTabletDriver偵測繪圖板。即使你的繪圖板已經被Linux認到，最好也改用OpenTabletDriver。例如我的Wacom繪圖板，Linux核心有驅動支援，所以插上就能用。但是安裝OpenTbaletDriver後，似乎能點的比較精準。\n參考OpenTabletDriver官網說明安裝套件，例如Ubuntu就是安裝deb檔：\nsudo apt install ./OpenTabletDriver.deb 啟動OpenTabletDriver服務： systemctl --user enable --now opentabletdriver 重啟電腦，開啟OpenTabletDriver設定界面，啟用Artist Mode。 OpenTabletDriver可能會跟繪圖板原本的驅動衝突，不用的時候可以將服務關閉：\nsystemctl --user disable opentabletdriver 3. osu!的輸入裝置 # osu!各個模式的玩法參見官方中文Wiki\nosu!提供多種控制方案，既能用滑鼠鍵盤玩，也可以用觸控螢幕，亦或是繪圖板。\n以預設的osu!模式來說，有觸控螢幕當然是最好。例如Surface平板安裝Linux，觸控螢幕正常運作的話，osu!應該也會透過libinput認到輸入裝置。\n用繪圖板玩也是可以的，Wacom繪圖板在Linux的支援度很不錯。osu!得搭配OpenTabletDriver，才能在遊戲裡面偵測到繪圖板。 什麼都沒有的話，就用滑鼠＋鍵盤玩吧！\n4. Linux的延遲問題 # 如果覺得滑鼠卡卡的，不建議在osu!遊戲內調整滑鼠速度，應該從桌面環境去調整。\nGNOME：系統設定 → 滑鼠。\nKDE Plasma：系統設定 → 輸入裝置 → 滑鼠。\n現在Linux的音訊系統普遍都是用PipeWire了，所以應該沒有音訊延遲問題。確認系統是否使用Pipewire的指令：pactl info\n譜面的元素移動過快的時候，X11很容易出現畫面撕裂感，即使開全螢幕也是一樣，我很確定不是驅動問題。Wayland不會。據說Wayland環境比X11更容易造成點擊延遲，我自己感覺是沒有。\n確認自己是X11還是Wayland的指令：echo $XDG_SESSION_TYPE\n","date":"2025年2月8日","externalUrl":null,"permalink":"/posts/osu-for-linux/","section":"所有文章","summary":"分享如何在Linux玩音樂節奏遊戲「osu!」 osu!是由Dean Herbertd開發的自由軟體，提供多種遊戲模式，包括點選畫面圓圈的「osu!」、打太鼓的「osu!taiko」、接水果的「osu!CatchtheBeat」、下落式鋼琴的「osu!mania」。你可以登入osu!帳號，與全球玩家競技排行榜。 Wizdomiot SiM - The Rumbling\n1. osu!版本選擇 # osu!最早只有Windows系統版，稱之為osu!stable，這個版本要用Wine跑。\n現在有了跨平台版本osu!lazer，支援Linux、Windows、macOS、Android、iOS，功能更多，能夠利用各大作業系統的原生圖形API加速，亦能正常上傳分數。故不需要用Wine跑osu!stale了，直接安裝osu!lazer即可。\n如果你執意要玩osu!stable，請多加利用NelloKudo/osu-winello的安裝指令稿，它會幫你配好Wine環境。\n本文提及的osu!皆是指osu!lazer版。\n2. 安裝osu!以及OpenTabletDriver # osu!主程式有加入防作弊系統，所以建議使用官方建置的版本，才能登入帳號並上傳分數。\n","title":"Linux玩osu!音樂遊戲，滑鼠與繪圖板操作方式","type":"posts"},{"content":"","date":"2025年2月8日","externalUrl":null,"permalink":"/tags/osu/","section":"標籤","summary":"","title":"Osu","type":"tags"},{"content":"How to setup Tor proxy on Linux.\nTor，The Onion Router，又稱洋蔥網路，是一種匿名上網的開源技術，連上網路的時候會經過多次跳轉，可以有效隱藏使用者的IP，保護上網隱私。\n此外，連上Tor網路，使用者便能存取以.onion位址結尾的網站（俗稱暗網）。 Ivon這裡會分享Linux系統的設定Tor連線的方法，以Ubuntu為例，內容包含：\n跑Tor代理伺服器，讓其他電腦上的程式自由指定是否用這個連線上網。 如何只讓部份程式走Tor連線，其他程式不受影響。 如何讓Linux全域使用Tor連線 本文假定讀者的電腦能夠正常存取Tor網路，不包含繞過中國防火長城(GFW)的教學。如果沒有辦法連線到Tor網路，你要先找前置代理繞過。\n1. 安裝Tor代理伺服器服務 # 「Tor」跟「Tor瀏覽器」是不一樣的東西，這裡我們要安裝的是Tor代理伺服器。要讓電腦連上Tor網路，必須跑一個Tor代理伺服器服務，再手動指定程式使用使用該代理伺服器上網。\nTor服務本身也可以用來架站，啟用「HiddenService」功能之後，會隨機分配一個.onion的位址，讓別人能透過該位址連上你Linux伺服器的網站。\n以Ubunut來說，Tor可以用套件管理器安裝 sudo apt install tor 設定開機自動啟動服務 sudo systemctl enable --now tor 查看是否已經連上Tor網路 sudo systemctl status tor 如果需要換個迴路連線，就重新啟動Tor服務： sudo systemctl restart tor Tor每次啟動會隨機挑選國家，如果要指定出口節點或是設定Tor Relay，請編輯/etc/tor/torrc設定檔。 替代選擇：如果你覺得命令行啟動Tor伺服器不直覺，那就用圖形工具Ceburator跑代理伺服器。這個代理伺服器是獨立的應用程式，跟上面安裝的Tor不一樣。\nCeburator可以用Flatpak安裝：\nflatpak install flathub io.frama.tractor.carburetor 開啟後點選連線，跑一個Tor的代理伺服器服務。 2. 讓部份程式使用Tor代理連線 # 只讓部份程式使用Tor連線，其他程式不受影響。\nTor預設的SOCKS代理伺服器應該是127.0.0.1:9050\n瀏覽器 # Firefox到設定 → 一般 → 網路設定，手動指定代理伺服器位址。 Chromium系瀏覽器會沿用系統的代理伺服器。需要安裝Proxy SwitchyOmega擴充功能，才能手動指定代理伺服器。 要確定瀏覽器有無成功連上Tor網路，可以用Tor官方網站https://check.torproject.org確認。 命令行程式 # 一些命令行程式支援手動指定代理伺服器，例如git、wget、curl、apt都可以透過指令參數指定代理伺服器。不過最方便的還是透過proxychains，它可以讓命令行程式暫時使用Tor連線。\n從Ubuntu套件庫安裝proxychains： sudo apt install proxychains 編輯設定檔 sudo vim /etc/proxychains.conf 填入要使用的代理伺服器 [ProxyList] socks5 127.0.0.1 9050 這樣接在proxychains後面指令的程式便會使用Tor代理了。比如我用curl指令連上Tor Project官網確認目前的IP，應該會印出外國IP： # 試比較兩者輸出結果的差異 curl https://check.torproject.org/api/ip proxychains curl https://check.torproject.org/api/ip 3. Linux設定全域Tor代理連線 # 讓所有程式使用Tor上網。\nTor預設的SOCKS代理伺服器應該是127.0.0.1:9050\n圖形界面設定法 # 用桌面環境的系統設定就可以完成。\nGNOME：系統設定 → 網路 → 代理伺服器，填入SOCKS伺服器位址。 KDE Plasma：系統設定 → 網路設定 → 代理，填入SOCKS伺服器位址。 爾後所有程式連線應該會自動使用Tor連線，例如Chromium系瀏覽器會沿用系統的代理伺服器設定。這點可以用Tor官方網站https://check.torproject.org確認。\n但有些程式可能不會理會系統的代理伺服器設定，例如Firefox，依然需要手動指定代理伺服器。\n命令行設定法 # Linux可以透過編輯/etc/environment，加入export http_proxy=環境變數的方式來設定全域Tor代理連線，不過不見得對所有程式有效。\n這裡我們使用Perl寫成的nipe工具，方便設定全域Tor代理連線。\n安裝nipe： sudo apt install cpanminus git clone https://github.com/htrgouvea/nipe cd nipe sudo cpanm --installdeps . 安裝nipe服務 sudo perl nipe.pl install 啟動nipe服務，之後所有程式上網都會經過Tor網路 sudo perl nipe.pl start 連線到Tor Project官網，確認是否連上Tor網路： curl https://check.torproject.org/api/ip 關閉服務： sudo perl nipe.pl stop 4. 安裝Tor瀏覽器 # 這是專為存取Tor網路所設計的瀏覽器，基於Firefox開發，內建Tor代理伺服器。\n如果你已經安裝了Tor代理伺服器服務，就不太需要裝這個瀏覽器了。\n不過Tor瀏覽器提供比Firefox更為強大的隱私保護功能，例如隱藏使用者指紋，還有禁止執行JavaScript和一鍵切換Tor迴路的按鈕，也不會蒐集任何使用者資料。要達成最高隱私瀏覽效果，那麼Tor瀏覽器依然是個好選擇。\n雖然各大Linux發行版都有收Tor瀏覽器套件（例如Ubuntu可以用sudo apt install torbrowser-launcher安裝），但可能會是舊版。建議到Tor瀏覽器官網下載最新版，將tar.xz檔解壓縮，點選start-tor-browser啟動瀏覽器。\nTor瀏覽器也可以透過Flatpak安裝。不過Flatpak版的瀏覽器可能安全性會較低，參考Flatpak browsers not secure?\nflatpak install org.torproject.torbrowser-launcher Tor瀏覽器開啟後應該會自動連上Tor網路。 參考資料 # How to install Tor - Set up Your Onion Service - Join the Tor Community ","date":"2025年2月7日","externalUrl":null,"permalink":"/posts/linux-tor-proxy/","section":"所有文章","summary":"How to setup Tor proxy on Linux.\nTor，The Onion Router，又稱洋蔥網路，是一種匿名上網的開源技術，連上網路的時候會經過多次跳轉，可以有效隱藏使用者的IP，保護上網隱私。\n此外，連上Tor網路，使用者便能存取以.onion位址結尾的網站（俗稱暗網）。 Ivon這裡會分享Linux系統的設定Tor連線的方法，以Ubuntu為例，內容包含：\n跑Tor代理伺服器，讓其他電腦上的程式自由指定是否用這個連線上網。 如何只讓部份程式走Tor連線，其他程式不受影響。 如何讓Linux全域使用Tor連線 本文假定讀者的電腦能夠正常存取Tor網路，不包含繞過中國防火長城(GFW)的教學。如果沒有辦法連線到Tor網路，你要先找前置代理繞過。\n1. 安裝Tor代理伺服器服務 # 「Tor」跟「Tor瀏覽器」是不一樣的東西，這裡我們要安裝的是Tor代理伺服器。要讓電腦連上Tor網路，必須跑一個Tor代理伺服器服務，再手動指定程式使用使用該代理伺服器上網。\nTor服務本身也可以用來架站，啟用「HiddenService」功能之後，會隨機分配一個.onion的位址，讓別人能透過該位址連上你Linux伺服器的網站。\n","title":"Linux電腦如何設定Tor代理連線 ＆ 安裝Tor瀏覽器","type":"posts"},{"content":"很多作業系統都有內建的文字轉語音服務，例如Windows內建Microsoft文字轉語音服務，Android則是Google TTS。\n各個Linux發行版最常見的語音合成系統叫做「Speech Dispatcher」，它是一個獨立的依賴層，能安裝多個文字轉語音(TTS)引擎，再提供界面讓桌面環境的應用程式使用。\n所有的語音合成都是在本機處理的，並非透過遠端伺服器合成再回傳。\n語音合成系統通常由桌面環境提供，例如GNOME和KDE Plasma的系統設定 → 無障礙輔助，裡面的「螢幕閱讀器」就是用這個發出聲音的。 問題是，Speech Dispatcher預設講話聲音是機器人的樣子，非常糟糕。所幸Speech Dispatcher允許載入模組，所以我們可以安裝更好的語音合成引擎。例如eSpeak和CSTR的Festival，但他們都很老了，講話還是跟機器人一樣！\n現在有更新的Piper TTS能用，運算十分快速，不需要GPU。Ivon實測英語講話還算自然。\n1. 安裝Speech Dispatcher套件 # Ubuntu應該已經內建，沒有的話手動安裝：\nsudo apt install speech-dispatcher 你可以用這個指令測試文字轉語音功能：\nspd-say \u0026#34;Ubuntu is sometimes translated as I am because we are.\u0026#34; Speech Dispatcher的使用者設定檔位於~/.config/speech-dispatcher/speechd.conf\n2. 安裝Piper TTS # 我們使用Elleo開發的安裝器Pied，到Github下載.flatpak套件，透過Flatpak安裝 flatpak --user install ./com.mikeasoft.pied.flatpak 開啟後依照指示下載Piper 下載語音模型，然後點選Select Voice，設定為目前語音 Piper模型會放到~/.var/app/com.mikeasoft.pied/data/pied/piper/piper\n我自己測試得出來的結果，Piper的模型對英文支援度較好。\n不知道為什麼，Piper的中文模型zh_CN-huayan-medium.onnx準確率很糟糕，明明在其他軟體還行的說\u0026hellip;.\n3. 使用Speech Dispatcher朗讀 # Linux支援Speech Dispatcher的程式不多，目前只有Firefox和Ocular PDF閱讀器有使用到。\nOkular選取文字，唸出PDF檔案內容。 Firefox點選對應語言的網頁，進入閱讀器模式，使用Speech Dispatcher朗讀，發聲便會是剛剛Pied所設定的聲音。 Chromium沒辦法使用Speech Dispatcher，只能用擴充套件安裝Piper。\n如果你要全域朗讀畫面上的文字，那麼就開啟桌面環境的無障礙輔助工具，開啟螢幕閱讀器，讓它唸出標題文字。Linux有叫做Orca的程式能調整螢幕閱讀器的設定。 4. 獨立的文字轉語音程式 # 全系統的文字轉語音不可行，那麼就用單一程式來文字轉語音吧。\nSpeech Notes值得一試，兼具語音辨識與文字轉語音的功能，中文支援度更佳。可以用來製作逐字稿與合成講話聲音。 但是，它沒辦法跟Speech Dispatcher整合。\n參考資料 # Speech dispatcher - ArchWiki ","date":"2025年2月7日","externalUrl":null,"permalink":"/posts/linux-speech-dispatcher/","section":"所有文章","summary":"很多作業系統都有內建的文字轉語音服務，例如Windows內建Microsoft文字轉語音服務，Android則是Google TTS。\n各個Linux發行版最常見的語音合成系統叫做「Speech Dispatcher」，它是一個獨立的依賴層，能安裝多個文字轉語音(TTS)引擎，再提供界面讓桌面環境的應用程式使用。\n所有的語音合成都是在本機處理的，並非透過遠端伺服器合成再回傳。\n語音合成系統通常由桌面環境提供，例如GNOME和KDE Plasma的系統設定 → 無障礙輔助，裡面的「螢幕閱讀器」就是用這個發出聲音的。 問題是，Speech Dispatcher預設講話聲音是機器人的樣子，非常糟糕。所幸Speech Dispatcher允許載入模組，所以我們可以安裝更好的語音合成引擎。例如eSpeak和CSTR的Festival，但他們都很老了，講話還是跟機器人一樣！\n現在有更新的Piper TTS能用，運算十分快速，不需要GPU。Ivon實測英語講話還算自然。\n1. 安裝Speech Dispatcher套件 # Ubuntu應該已經內建，沒有的話手動安裝：\nsudo apt install speech-dispatcher 你可以用這個指令測試文字轉語音功能：\nspd-say \"Ubuntu is sometimes translated as I am because we are.\" Speech Dispatcher的使用者設定檔位於~/.config/speech-dispatcher/speechd.conf\n","title":"給Linux設定文字轉語音，Speech Dispatcher + Piper TTS安裝","type":"posts"},{"content":"Linux目前沒有語音轉文字的輸入法（系統層級的文字轉語音則只有Speech Dispatcher），所以得從應用程式方面著手。於是我在Github找到了一款簡單易用的軟體：Speech Note\nSpeech Note (dsnote) 是mkiol開發的自由軟體，特色功能如下：\n整合VOSK、DeepSpeech、Whisper、Coqui、Piper等模型，支援中文、英文、日文等多國語言輸入 使用語音輸入轉文字(Speech to text, STT)，語音辨識，錄下逐字稿，匯出為txt或srt字幕檔 使用文字轉語音(Text to speech, TTS)，AI複製人聲，合成語音並唸出文本，匯出為音訊檔 支援翻譯文本 所有運算都是在本機進行的，不會回傳給第三方 我覺得跟TTS Generation Web UI這類軟體比起來，Speech Note使用上算是比較簡單了。\n下文討論Speech Note的用法。\n1. 安裝Speech Note主程式 # 參考Github說明\n推薦使用Flatpak安裝，適用Arch Linux、Ubuntu、Fedora、openSUSE\nflatpak install flathub net.mkiol.SpeechNote 接著看你的需求是否啟用GPU加速。沒有的話就是用CPU算，耗時較長。\n2. 啟用GPU加速 # Speech Note預設是用CPU處理的，GPU非必須，但是可以加速語音模型的運算速度達二倍以上。\n建議GPU的VRAM至少要有4GB。\n請先在Linux安裝CUDA(Nvidia)或ROCm(AMD)。Ubuntu參考這篇。\n然後安裝對應的Flatpak Add-On：\n# Nvidia flatpak install net.mkiol.SpeechNote.Addon.nvidia # AMD flatpak install net.mkiol.SpeechNote.Addon.amd 開啟Speech Note程式，點選Settings → Speech to Text，勾選Enable GPU Acceleration 3. 使用語音轉文字功能 # 點選Languages，到zh(中文)的頁面下載模型。建議使用較新的Whisper模型。VOSK和DeepSpeech效果很不好。我自認講話不會含滷蛋，中文語音辨識得使用Speech to Text 的「Whisper Large」或更大的模型才有好的辨識效果。 然後回到主頁面，選取要使用模型，點選Listen圖示開始講話。順帶一提，Speech Note也可以錄電腦其他程式發出的聲音，從而生成逐字稿。 等待處理完成，文字就會印出來。預設模式是Plain Text，所有講的話都會連在一起。 如果勾選Subtitle，則每句話會加上時間戳。 點選File → Export to text file，將辨識到的文本另存新檔 4. 使用文字轉語音功能 # 點選Languages，到zh的頁面下載模型，如果你要快速生成就選Piper Huayan 若你想要複製他人聲音來生成音訊，請選Coqui XTTS的中文模型，然後點選Voice Samples新增語音樣本，只需要10秒就夠了。 請錄製一段自己的聲音，或者從網路上找人聲樣本的音訊檔。順帶一提，需要從音樂抽取人聲的可以用UVR。\n有了樣本後，就可以在主界面選取聲音，並讓AI嘗試唸出文本框的字串了。整段文字可按File → Export，匯出成mp3音訊檔。\n","date":"2025年2月7日","externalUrl":null,"permalink":"/posts/speech-note-stt-linux/","section":"所有文章","summary":"Linux目前沒有語音轉文字的輸入法（系統層級的文字轉語音則只有Speech Dispatcher），所以得從應用程式方面著手。於是我在Github找到了一款簡單易用的軟體：Speech Note\nSpeech Note (dsnote) 是mkiol開發的自由軟體，特色功能如下：\n整合VOSK、DeepSpeech、Whisper、Coqui、Piper等模型，支援中文、英文、日文等多國語言輸入 使用語音輸入轉文字(Speech to text, STT)，語音辨識，錄下逐字稿，匯出為txt或srt字幕檔 使用文字轉語音(Text to speech, TTS)，AI複製人聲，合成語音並唸出文本，匯出為音訊檔 支援翻譯文本 所有運算都是在本機進行的，不會回傳給第三方 我覺得跟TTS Generation Web UI這類軟體比起來，Speech Note使用上算是比較簡單了。\n下文討論Speech Note的用法。\n1. 安裝Speech Note主程式 # 參考Github說明\n推薦使用Flatpak安裝，適用Arch Linux、Ubuntu、Fedora、openSUSE\nflatpak install flathub net.mkiol.SpeechNote 接著看你的需求是否啟用GPU加速。沒有的話就是用CPU算，耗時較長。\n2. 啟用GPU加速 # Speech Note預設是用CPU處理的，GPU非必須，但是可以加速語音模型的運算速度達二倍以上。\n","title":"Speech Note教學：Linux語音辨識 ＆ AI文字轉語音 ＆ 生成逐字稿","type":"posts"},{"content":"","date":"2025年2月7日","externalUrl":null,"permalink":"/tags/speech-to-text/","section":"標籤","summary":"","title":"Speech to Text","type":"tags"},{"content":"","date":"2025年2月7日","externalUrl":null,"permalink":"/series/sillytavern%E4%BD%BF%E7%94%A8%E6%95%99%E5%AD%B8/","section":"Series","summary":"","title":"SillyTavern使用教學","type":"series"},{"content":"讓AI跟你一起打電動！\n「EmulatorJS」即網頁版的RetroArch，能在瀏覽器裡透過WebAssembly跑懷舊主機遊戲，例如任天堂紅白機、PC-98、DOS遊戲等等。\n這款SillyTavern擴充套件能讓AI角色跟你一起玩遊戲。\n這邊我的例子是載入不知火舞的角色卡（因為誕生年代與瑪莉歐相近～），提示詞設定為電玩咖。接著讓她觀看我遊玩超級瑪莉並給出回應。她確實看到了遊戲畫面裡面的水管，並說出了她的想法。 嚴格來說，AI沒辦法操控遊戲，僅能根據你遊玩的遊戲畫面給予評論。AI在這裡算是吐槽役擔當吧！AI會根據你由畫面的變化，生成文字，還會透過TTS合成語音講話。\n順帶一提，SillyTavern有名為「Chess」的擴充套件，可以跟AI下西洋棋。ㄟ\u0026hellip;但是下棋根本不需要動用到語言模型吧！你是要跟AlphaGo對奕麼？\n1. 準備多模態模型 # 你必須使用多模態模型，它才能「看到」圖片內容。\n建議使用OpenAI GPT-4 Vision或是LLaMA Vision、LLaVA、Phi Vision。\n我這邊以Ollama + LLaVA為例，在SillyTavern的連線頁面，切換為LLaVA模型。 2. 準備遊戲檔案 # EmulatorJS支援的遊戲主機請參見官網。你需要自行準備遊戲ROM和遊戲主機的BIOS，網路上很多盜版可以找到。\n以超級瑪莉(1985年)為例，要先取得遊戲ROM還有NES的BIOS檔案。\n3. 設定語音合成 # （選擇性）\n因為玩遊戲的時候EmulatorJS會擋住聊天欄，不如設定語音合成，讓AI直接把他的意見唸出來。\n參見之前的系列文SillyTavern 設定語音合成服務\n4. 安裝圖片註解擴充套件 # 開啟SillyTavern擴充套件頁面，點選下載擴充功能，安裝Screen Share\n點選圖片註解，來源選多模態，API選Ollama，模型使用現在選取的模型。 5. 安裝EmulatorJS擴充套件 # EmulatorJS截圖需要瀏覽器支援CaptureImage標準，所以Safari不能用。\n從SillyTavern的擴充套件列表下載EmulatorJS。\n點開EmulatorJS設定AI要幾秒輸出一次回應。SillyTavern會自動截圖EmulatorJS畫面，並傳送給AI，設定0的話就是不回應。 再點選上傳遊戲ROM與BIOS。\n點選一個角色卡，進入聊天。\n點選聊天欄的魔法棒，選取Play EmulatorJS，進入遊戲。 等待AI生成回應，如果有啟用TTS，生成回應後AI角色應該會一併講話。只要一直在EmulatorJS操作，SillyTavern就會持續傳送截圖給AI分析。 當然了，由於SillyTavern支援上傳檔案給AI分析，所以你也可以手動截圖EmulatorJS畫面，再傳給AI評論圖片內容。\n參考 # EmulatorJS | docs.ST.app\n","date":"2025年2月7日","externalUrl":null,"permalink":"/posts/sillytavern-emulatorjs/","section":"Language-Models","summary":"讓AI跟你一起打電動！\n「EmulatorJS」即網頁版的RetroArch，能在瀏覽器裡透過WebAssembly跑懷舊主機遊戲，例如任天堂紅白機、PC-98、DOS遊戲等等。\n這款SillyTavern擴充套件能讓AI角色跟你一起玩遊戲。\n這邊我的例子是載入不知火舞的角色卡（因為誕生年代與瑪莉歐相近～），提示詞設定為電玩咖。接著讓她觀看我遊玩超級瑪莉並給出回應。她確實看到了遊戲畫面裡面的水管，並說出了她的想法。 嚴格來說，AI沒辦法操控遊戲，僅能根據你遊玩的遊戲畫面給予評論。AI在這裡算是吐槽役擔當吧！AI會根據你由畫面的變化，生成文字，還會透過TTS合成語音講話。\n順帶一提，SillyTavern有名為「Chess」的擴充套件，可以跟AI下西洋棋。ㄟ…但是下棋根本不需要動用到語言模型吧！你是要跟AlphaGo對奕麼？\n1. 準備多模態模型 # 你必須使用多模態模型，它才能「看到」圖片內容。\n建議使用OpenAI GPT-4 Vision或是LLaMA Vision、LLaVA、Phi Vision。\n我這邊以Ollama + LLaVA為例，在SillyTavern的連線頁面，切換為LLaVA模型。 2. 準備遊戲檔案 # EmulatorJS支援的遊戲主機請參見官網。你需要自行準備遊戲ROM和遊戲主機的BIOS，網路上很多盜版可以找到。\n","title":"讓AI陪你玩遊戲，SillyTavern + EmulatorJS設定方法","type":"language-model"},{"content":"Limit Linux\u0026rsquo;s network bandwidth and uploading/downloading rate.\nIvon今天要分享限制Linux網路速度的工具，限制Linux電腦下載與上傳檔案的速度。以Ubuntu為例。 讓網路速度細水長流。此圖使用FLUX.1-schnell生成\n咦？網路不是越快越好嗎？是這樣沒錯啦，但有些場合可能要限制網速。就比如Ivon家裡網路太慢，某個程式一下載東西，其他程式的頻寬就被吃光了！頻寬佔用的情況嚴重到KDE Plasma桌面還會以為我的電腦斷線了呢！ 此外，如果Ivon在遠端SSH工作的時候不小心開了一個程式吃光網路頻寬，那麼SSH連線甚至會被迫切斷，這還挺惱人的！\n不是每個程式都有網速限速功能，所以要用其他工具來控制。\nIvon不想要透過路由器端限速，所以選了這兩個工具：WonderShaper與Trickle，都是命令行。我找不到圖形界面的限速工具。\n還請注意這篇文章Ivon只討論Linux桌面限速的方式，作用的範圍是在Linux電腦本機而已，沒有討論伺服器如何應對外來連線限速！如果要達成此操作，請移步nginx。\n還有，這裡只有討論如何限制網路速度，沒有討論如何針對行動網路資費限制流量。那個應該是ModemManager要做的事情！\n1. 網速測試工具 # 用speedtest-cli測試網速，了解目前電腦網路最高上傳與下載速度為何。參考Github指示安裝。 sudo apt install speedtest-cli 執行speedtest-cli指令等待結果回傳，單位為Mbps，請自行換算。\n再用Nethogs小工具，查看那些程式正在佔用網路頻寬，能方便找出吃網速的元兇。\nsudo apt install nethogs 執行sudo nethogs指令能夠看到佔用頻寬最多的程式 2. WonderShaper限制網路介面網速 # WonderShaper封裝了tc指令，簡化操作，它是以網路介面下去限制的，例如針對「乙太網路」限速，則所有使用這個介面的程式都會受到限制。\n這樣做的好處是可以單獨限制Docker裡面程式的網速（如果都走docker0的橋接器的話），而不影響宿主機服務。\n參考Github說明安裝，發行版套件庫收的可能是舊版套件。由於它只是個指令稿，所以直接從Github下載安裝就行了。 git clone https://github.com/magnific0/wondershaper.git cd wondershaper chmod +x wondershaper sudo mv wondershaper /usr/local/bin 利用NetworkManager列出Linux目前所有的網路界面，例如我的乙太網路界面叫做enp2s0 sudo nmcli 加上引數-a選取enp2s0界面，後面用-u和-d限制上傳與下載的速度，這裡單位為Kbps。所以這條指令會將上傳與下載速度的上限設定為1Mbps sudo wondershaper -a enp2s0 -u 1024 -d 1024 嘗試執行speedtest-cli測速，應該會發現網路變慢了。\n解除網速限制：\nsudo wondershaper -c -a enp2s0 如果要在開機後執行WonderShaper的規則，把它做成Systemd服務。首先要新增全域設定檔。 sudo vim /etc/systemd/wondershaper.conf 設定全域的設定值： [wondershaper] # 網路界面 IFACE=\u0026#34;enp2s0\u0026#34; # 上傳速度 USPEED=\u0026#34;1024\u0026#34; # 下載速度 DSPEED=\u0026#34;1024\u0026#34; 取得WonderShaper開發者提供的Systemd檔案 sudo wget https://raw.githubusercontent.com/magnific0/wondershaper/refs/heads/master/wondershaper.service -P /etc/systemd/system 啟動WonderShaper服務。 sudo systemctl daemon-reload sudo systemctl enable --now wondershaper 3. Trickle限制單一程式網速 # 跟WonderShaper不同，Trickle僅針對單一程式限速。\n值得注意的是：\nTirckle只對glibc的程式有效，請用ldd 二進位檔路徑 | grep libc.so確認該程式是否有連結到libc。 無法限制會fork行程的程式。不過我測試Trickle對Firefox和Chromium是有效的。 無法限制使用UDP通訊埠的程式。想知道程式使用哪個通訊埠，請利用指令sudo lsof -i -P -n查看。 執行Trickle的時候不需要sudo。\n參考Github指示安裝Trickle。這個程式的作者似乎沒在維護了，如果找不到請手動下載deb安裝。 sudo apt install trickle Trickle只對新啟動的程式有效。用法如下，加上trickle指令與參數，限制該程式的網速，單位為Kbps。例如，限制wget指令的上傳下載網速為1Mbps： trickle -u 1024 -d 1024 wget \u0026#34;file-to-download\u0026#34; 要停止限速，請執行killall trickle。\n可以改用trickled對目前所有的程式限速，它會在背景執行：\ntrickled -u 1024 -d 1024 你可以編輯Trickled設定檔，限制特定幾個程式的網速，不讓重要的連線被影響。Trickled的全域設定檔位置應該放在/etc/trickled.conf。\n該檔案是針對個別程式限速的設定檔，沒有列在檔案裡面的程式就不會被限速。Priority表示優先度，數字越大分到的頻寬越多。Time-Smoothing為允許程式傳送資料的秒數間隔，Length-Smoothing則是I/O操作長度作為時間間隔。使用這個設定檔之後執行Trickled指令，便只會對這些程式限速。\n[ssh] Priority = 1 Time-Smoothing = 0.1 Length-Smoothing = 2 [scp] Priority = 2 Time-Smoothing = 0.1 Length-Smoothing = 2 [wget] Priority = 3 Time-Smoothing = 0.1 Length-Smoothing = 2 [ftp] Priority = 4 Time-Smoothing = 5 Length-Smoothing = 20 ","date":"2025年2月6日","externalUrl":null,"permalink":"/posts/limit-network-bandwidth-linux/","section":"所有文章","summary":"Limit Linux’s network bandwidth and uploading/downloading rate.\nIvon今天要分享限制Linux網路速度的工具，限制Linux電腦下載與上傳檔案的速度。以Ubuntu為例。 讓網路速度細水長流。此圖使用FLUX.1-schnell生成\n咦？網路不是越快越好嗎？是這樣沒錯啦，但有些場合可能要限制網速。就比如Ivon家裡網路太慢，某個程式一下載東西，其他程式的頻寬就被吃光了！頻寬佔用的情況嚴重到KDE Plasma桌面還會以為我的電腦斷線了呢！ 此外，如果Ivon在遠端SSH工作的時候不小心開了一個程式吃光網路頻寬，那麼SSH連線甚至會被迫切斷，這還挺惱人的！\n不是每個程式都有網速限速功能，所以要用其他工具來控制。\nIvon不想要透過路由器端限速，所以選了這兩個工具：WonderShaper與Trickle，都是命令行。我找不到圖形界面的限速工具。\n還請注意這篇文章Ivon只討論Linux桌面限速的方式，作用的範圍是在Linux電腦本機而已，沒有討論伺服器如何應對外來連線限速！如果要達成此操作，請移步nginx。\n還有，這裡只有討論如何限制網路速度，沒有討論如何針對行動網路資費限制流量。那個應該是ModemManager要做的事情！\n1. 網速測試工具 # 用speedtest-cli測試網速，了解目前電腦網路最高上傳與下載速度為何。參考Github指示安裝。 sudo apt install speedtest-cli 執行speedtest-cli指令等待結果回傳，單位為Mbps，請自行換算。\n","title":"Linux網路限速工具，WonderShaper與Trickle用法介紹","type":"posts"},{"content":" 許多裏番只有720p，且播放的時候會出現很多雜訊，可能是漢化組發布資源的時候為求方便傳播，使用了過於激進的壓縮演算法，導致畫面品質不佳。\n如此一來便會影響官影體驗呢。最好的解決辦法是親自到資源發布上游去尋找原始畫質的片子，例如到種子站，便能找到1080p的影片。\n但若是依然只有720p呢？畫質像是被狗幹到的片子一大堆。但是我並不想真的去幹狗，福瑞退散！\n需要一點魔法軟體來改善畫質。最好上手的就是Anime4K了，專為動漫影片設計的放大演算法（所以很可惜，對AV無效）。號稱能將1080p變4K，這個組合效果最好。720p也可以變成1080p，對遠古時期4:3比例的老番亦有不錯的效果。\n如何安裝？ # Windows：MPV-Lazy，請詳閱作者的說明文件，了解用法。\nLinux：MPV + Anime4K著色器，適合技術大佬。\nmacOS：Anime4KMetal\n有興趣將影片永久轉檔放大的請安裝Anime4K-GUI\n話說Anime4K在Android與iOS也有人移植，但是平板撐死也就十一二吋，這大小螢幕你真的看得出差別？手機拿著早點打完上床睡覺吧。\n效果如何？ # Anime4K好處在於它是即時運算的濾鏡，不用轉檔就能看到結果。只要有一張低階獨顯就跑得動。但缺點就是效果不如真正採用AI演算法的ESRGAN放大技術。\n（點圖放大）\n示範影片：ふた部! 720p放大到1080p，線條顯眼的改善。缺點是這部片子的雞雞都有打馬賽克，看了依然難受。或許搭配JavPlayer解碼再放大效果會更好。 示範影片：ヴィクトリアメイド マリアの奉仕。這麼美麗的大奶子線條當然要好好照顧！放大的才是美圖。 示範影片：小女ラムネ。1080p放大到4K，這部的上色有點糊糊的，放大之後線條銳利了一些，更好的欣賞幼女的胴體。 示範影片：Euphoria，1080p放大到4K，奶子的線條更加清晰。 示範影片：A Kite，老電影的畫質有變好的效果。不過因為這部有出1080p的版本，並非是真正原始的DVD畫質。 示範影片：校内写生，這部真的蠻老的，影片只有240p，雖然低畫質依然不改搞笑風格。這裡就可以看出Anime4K的侷限了\u0026hellip;效果有限。 Anime4K只是主觀上「看起來」好像比較清楚了一些，但定睛一看，其實還是挺糊的呢。話說Anime4K並不會真的放大影片的長寬，畢竟不是轉檔，截圖的時候依然會擷取影片原本的長寬。 如果再來補個幀呢？ # 補幀技術就是讓影片FPS提昇的效果，業界的裏番一般都是24FPS。業餘製作的3D色情動畫隨便都60幀以上，這樣看來裏番的都算低幀數了！不過也不是越高幀就越好，有些人看了會頭暈。事實上，有些用Live2D做的色情動畫，即使是60FPS，看起來也比裏番要差勁，主要是因為動起來太不自然了！這得自行主觀測試才知道。\n論適合補幀的場景？當然就是露出大奶乳搖的片段，還有瘋狂做愛的場景。\nmpv-lazy有內建補幀工具，試試MVTools或者RIFE吧。\n","date":"2025年2月4日","externalUrl":null,"permalink":"/posts/anime4k-for-h-anime/","section":"Nsfws","summary":" 許多裏番只有720p，且播放的時候會出現很多雜訊，可能是漢化組發布資源的時候為求方便傳播，使用了過於激進的壓縮演算法，導致畫面品質不佳。\n如此一來便會影響官影體驗呢。最好的解決辦法是親自到資源發布上游去尋找原始畫質的片子，例如到種子站，便能找到1080p的影片。\n但若是依然只有720p呢？畫質像是被狗幹到的片子一大堆。但是我並不想真的去幹狗，福瑞退散！\n需要一點魔法軟體來改善畫質。最好上手的就是Anime4K了，專為動漫影片設計的放大演算法（所以很可惜，對AV無效）。號稱能將1080p變4K，這個組合效果最好。720p也可以變成1080p，對遠古時期4:3比例的老番亦有不錯的效果。\n如何安裝？ # Windows：MPV-Lazy，請詳閱作者的說明文件，了解用法。\n","title":"使用Anime4K提昇古老裏番的渣畫質","type":"nsfw"},{"content":" ","date":"2025年2月4日","externalUrl":null,"permalink":"/categories/%E8%A3%8F%E7%95%AA%E5%BF%83%E5%BE%97/","section":"分類","summary":" ","title":"裏番心得","type":"categories"},{"content":"","date":"2025年2月4日","externalUrl":null,"permalink":"/tags/k-on/","section":"標籤","summary":"","title":"K-On","type":"tags"},{"content":" 已經很久沒聽人講「哇塞」了，這大概是死語，現在都說大陸用語牛逼了吧，欸等等好像哇塞也是台灣眷村常見的外省人用語\u0026hellip;\u0026hellip;\n一聽到哇塞，就會想到十年前的這本(C76) [SNOB NERD WORKS (さめだ小判)] ふうぞく! (けいおん!)的漢化版，在小釉出來服務的時候，用巨乳夾住大屌的樣子，說：「哇塞，真的是很有精神呢～」。讓我一直惦記到現在。\n哇塞！不是，哇幹！巨屌配巨乳！ 個人意見認為是最好的K-on本子之一，跟蛸壺屋K-On三部曲的可謂是絕代雙璧，非常值得一看。\n一本寫實的刻劃玩音樂最後走入失敗人生妹子的樣子，這本則是寫實的刻劃風俗店裡面學生妹兼職的模樣。\n本子名稱ふうぞく直譯就是「風俗店」，對應K-On原文的四個假名けいおん。這本把風俗店的體驗描寫的十分生動，好像真的真實接客場景一樣。K-on的四位小姐都有不同的互動方式，最後一起大亂交，非常的活靈活現。最讚的是這本還有無碼版的。\n封面充滿誘惑，風塵味\u0026hellip;有趣的是她們穿的這套服裝其實並沒有出現在本子裡面。潤滑液前戲？楚楚可憐的求你戴保險套？誰管那些東西！直接開幹。 さめだ小判早期喜歡畫這種跨頁圖，一翻開就有四位妹妹的胴體欣賞，請客人開始點菜吧！ 暴力狂幹的清純妹 # 很自然的開場，這劇情彷彿就像學校放課後，女學生便迅速到店裡準備，迎接到店裡消費「興致高昂」的男學生恩客。\n第一幕是小唯，居然把飲料罐塞在自己的穴裡面。這根大屌畫的可真是霸氣！讓讀者看了也跟著流口水 (why are you gae?) 小唯扭屁股準備進入的興奮樣子，讓人更想狂暴轟入。 後入，刻劃出吸得很緊的樣子。這種撞擊的爽感表現的好精彩，表現出青春年少男學生的旺盛性慾，就是要不顧一切的幹個痛快。 接收全部精子。放尿的畫面十分淫蕩，很少有把性器官畫的這～麼仔細的作者！ 買一送一。裝作處女雙飛的澪，看這些女的陰唇都外翻了，口交還那麼熟練，明明就接客多次了吧，妓女！還裝清純。 好吧，陰道一開一合的樣子真的很厲害。很有欲求不滿的感覺。這一幕有bug，這邊還是白襪子，下一幕卻變成黑襪了？ 可惜的是這一段小穴就畫的有點隨便了。也有可能是負責去碼的人修改的太隨便所致？總之這一幕雙飛看來沒有特別爽。 我的最愛，大奶溫柔服務 # 最後是溫柔的小釉，光是開門見到這樣穿著就想讓人幹死她了。 大奶溫柔乳交，放課後沒有洗澡就直奔店內而來的，充斥一整天上學汗味的大雞雞。由溫柔的小姐唯你紓解累積下來的壓力。 用嘴巴含住尿道全部吞下去，真的是非常敬業。再配上這大奶乳壓，想像一下雞雞上下都被這樣溫柔的觸感包覆，可說是天國般的享受。 這樣的大屁股當然要盡力後入式幹的爽快。我說啊，敢舔妓女的鮑，勇氣要有多大呀！？ 最後後入叫得很淫蕩，真不愧是專業的。還用「第一次被內射呢～」的話術誘惑人家延長時間，真不愧是專業的。 我全都要！ # 最後面跨頁的四人背對露鮑，用手撐開小穴，歡迎想插哪個就插哪個～跟前面的跨頁圖比起來，這裡四人的鮑魚感覺外翻的更明顯了\u0026hellip;風塵味更重，想必各個都是「熟手」了。 亂交的畫面看上去我覺得還好，沒有特別厲害的部份。但就是最後讓四個人一起去的畫面，再配上依然聳立的大屌，果然很有征服感！ ","date":"2025年2月4日","externalUrl":null,"permalink":"/posts/sameda-koban-hu-zoku-review/","section":"Nsfws","summary":" 已經很久沒聽人講「哇塞」了，這大概是死語，現在都說大陸用語牛逼了吧，欸等等好像哇塞也是台灣眷村常見的外省人用語……\n一聽到哇塞，就會想到十年前的這本(C76) [SNOB NERD WORKS (さめだ小判)] ふうぞく! (けいおん!)的漢化版，在小釉出來服務的時候，用巨乳夾住大屌的樣子，說：「哇塞，真的是很有精神呢～」。讓我一直惦記到現在。\n哇塞！不是，哇幹！巨屌配巨乳！ 個人意見認為是最好的K-on本子之一，跟蛸壺屋K-On三部曲的可謂是絕代雙璧，非常值得一看。\n一本寫實的刻劃玩音樂最後走入失敗人生妹子的樣子，這本則是寫實的刻劃風俗店裡面學生妹兼職的模樣。\n本子名稱ふうぞく直譯就是「風俗店」，對應K-On原文的四個假名けいおん。這本把風俗店的體驗描寫的十分生動，好像真的真實接客場景一樣。K-on的四位小姐都有不同的互動方式，最後一起大亂交，非常的活靈活現。最讚的是這本還有無碼版的。\n","title":"風俗店幹K-on學生妹。さめだ小判 - ふうぞく! 回顧，可能是最棒的K-On本子","type":"nsfw"},{"content":"","date":"2025年2月3日","externalUrl":null,"permalink":"/tags/stable-diffusion/","section":"標籤","summary":"","title":"Stable Diffusion","type":"tags"},{"content":"存檔點模型（checkpoint，或稱大模型）是AI生圖的重要依據，生圖用的模型可以安裝很多個。\n此處分享的是「Stable Diffusion」和以此為基礎延伸的模型，不包含LoRA。\n1. 模型下載網站 # 目前找Stable Diffusion模型的網站有：\nHuggingFace：中文俗稱抱臉笑，可以說是人工智慧界的Github。Stable Diffusion背後用到的很多AI工具，如Transformer、Tokenizers、Datasets都他們開發的，網站上也有豐富的教學文檔。 Civitai：專門用來分享Stable Diffusion相關的資源，特色是模型都有示範縮圖，用戶可以分享彼此使用的提示詞和作品。 OpenModelDB：這裡可以找到許多放大圖片用的模型。\n2. 如何下載模型 # 通常只需要下載大模型檔即可。格式分為.ckpt或.safetensors，後者因不具備執行程式碼的能力因此較前者安全。至於-pruned代表模型有刪減過大小。精度部份下載fp16版本即可。\nHuggingFace點儲存庫 → Files and versions，選擇下載副檔名為.ckpt或.safetensors的模型。\nCivitai則是登入帳號，再點選Download按鈕下載模型。\n以Stable Diffusion官方的「Stable Diffusion XL」模型為例，你可以到HuggingFace網站下載。\n3. 推薦模型 # Stable Diffusion的模型太多了，我只能粗略介紹幾個知名的。\n最好先了解你下載的模型是基於那一個版本的Stable Diffusion訓練的，例如SD1.5不能跟SDXL混用。版本錯誤的話，在套用LoRA或ControlNet的時候就會出錯。\nStable Diffusion # 說到萬模型之母，不得不提原始版的「Stable Diffusion」了，簡稱SD，網路上很多模型都基於Stable Diffusion模型訓練而來。\n原版模型適合畫真人、動物、自然、科技、建築的圖像，亦學習過歷史上許多畫家的畫風。\n2022年發表的Stable Diffusion v1.5，簡稱SD1.5，使用512x512像素的圖片訓練的，因此高於此尺寸的生圖品質會變差。基於此模型訓練的模型都會標注Base Model: SD1.5。\n2023年發表的Stable Diffusion XL，簡稱SDXL，可用於生成1024x1024的大圖。\nStable Diffusion這時衍生出了SDXL Turbo和SDXL Lightning這兩個生成速度更快的版本，但是品質較差。後來字節跳動發表了生成速度更快的Hyper-SD模型，品質不賴。所以，有些基於Stable Diffusion訓練的模型會額外提供名字帶有-Hyper或-Turbo或-Lightning的版本，代表生成速度比較快，能夠用更少的推理步數出圖。\n2024年，Stable Diffusion 3.5發表，改善生圖品質，提供Medium、Large、Large Turbo版本。\n寫實風Stable Diffusion模型 # RealVis：Realistic Vision，基於SDXL，寫實風人物與動物模型，融合了許多舊有的寫實模型而來。\nLEOSAM\u0026rsquo;s HelloWorld：基於SDXL，寫實風格的模型。訓練圖片全部使用GPT-4V標注。\nDeliberate：基於SD-1.5模型，適合生成精緻寫實風格的人物、動物、自然風景。\n動漫風Stable Diffusion模型 # Illustrious-XL：基於SD XL，OnomAI研發，專門生成高品質動漫圖像的模型。採用更新的Danbooru資料集訓練。\nPony Diffusion：基於SDXL，作者花了大把時間訓練的模型，手動標註圖片讓AI懂得生成高品質圖片，還能依照專用的提示詞控制生成品質。雖然名字叫做彩虹小馬，但用來生成其他動漫人物也是OK的。\nAnything 萬象熔爐，基於SDXL。適合畫動漫圖，作者宣稱不需要打一堆提示詞也能出漂亮的圖。\nDreamShaper，基於SDXL，生成精細動漫人物與油畫風格的模型。\nFLUX # Stability AI前員工建立的公司Black Forest Labs所發表的模型，生成圖片品質比Stable Diffusion XL要好，但VRAM要求也相應提高許多。\nFLUX分為Pro、Dev、Schnell版，其中可自由使用的版本為Flux.1 Schnell\n","date":"2025年2月3日","externalUrl":null,"permalink":"/posts/download-stable-diffusion-models/","section":"Ai-Arts","summary":"存檔點模型（checkpoint，或稱大模型）是AI生圖的重要依據，生圖用的模型可以安裝很多個。\n此處分享的是「Stable Diffusion」和以此為基礎延伸的模型，不包含LoRA。\n1. 模型下載網站 # 目前找Stable Diffusion模型的網站有：\nHuggingFace：中文俗稱抱臉笑，可以說是人工智慧界的Github。Stable Diffusion背後用到的很多AI工具，如Transformer、Tokenizers、Datasets都他們開發的，網站上也有豐富的教學文檔。 Civitai：專門用來分享Stable Diffusion相關的資源，特色是模型都有示範縮圖，用戶可以分享彼此使用的提示詞和作品。 OpenModelDB：這裡可以找到許多放大圖片用的模型。\n2. 如何下載模型 # 通常只需要下載大模型檔即可。格式分為.ckpt或.safetensors，後者因不具備執行程式碼的能力因此較前者安全。至於-pruned代表模型有刪減過大小。精度部份下載fp16版本即可。\nHuggingFace點儲存庫 → Files and versions，選擇下載副檔名為.ckpt或.safetensors的模型。\nCivitai則是登入帳號，再點選Download按鈕下載模型。\n以Stable Diffusion官方的「Stable Diffusion XL」模型為例，你可以到HuggingFace網站下載。\n","title":"如何下載Stable Diffusion相關的AI生圖模型＆網站分享","type":"ai-art"},{"content":"介紹如何在GNU/Linux系統安裝ComfyUI。以Ubuntu搭配Nvidia顯示卡為例。\n註：覺得打指令安裝很麻煩嗎？推薦你安裝ComfyUI Desktop 1. 安裝Nvidia CUDA # 安裝Nvidia專有驅動\n安裝CUDA\n確認Nvidia驅動版本\nnvidia-smi 確認CUDA版本 nvcc --version 2. 安裝依賴套件 # 安裝Python與Git sudo apt install python3 python3-pip python3-virtualenv wget git 安裝Anaconda，此套件的用意在於鎖定Python版本。 3. 安裝ComfyUI # 用conda建立Python 3.12的環境 conda create --name comfyui python=3.12 啟動虛擬環境： conda activate comfyui 複製ComfyUI儲存庫 cd ~ git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI 安裝PyTorch CUDA 12.6 pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu126 安裝Python依賴套件 pip install -r requirements.txt 將.safetensors存檔點模型放到~/ComfyUI/models目錄。\n啟動程式，之後用瀏覽器開啟http://127.0.0.1:8188\npython main.py 註解：如果你之後想用Bash指令稿啟動ComfyUI，可以將以下conda的鉤子加入指令稿頂部，這樣就可以自動進入conda環境。\neval \u0026#34;$(conda shell.bash hook)\u0026#34; conda activate comfyui 4. 如何更新程式 # 拉取最新變更\ncd ~/ComfyUI git pull ","date":"2025年2月3日","externalUrl":null,"permalink":"/posts/comfyui-linux-installation/","section":"Ai-Arts","summary":"介紹如何在GNU/Linux系統安裝ComfyUI。以Ubuntu搭配Nvidia顯示卡為例。\n註：覺得打指令安裝很麻煩嗎？推薦你安裝ComfyUI Desktop 1. 安裝Nvidia CUDA # 安裝Nvidia專有驅動\n安裝CUDA\n確認Nvidia驅動版本\nnvidia-smi 確認CUDA版本 nvcc --version 2. 安裝依賴套件 # 安裝Python與Git sudo apt install python3 python3-pip python3-virtualenv wget git 安裝Anaconda，此套件的用意在於鎖定Python版本。 3. 安裝ComfyUI # 用conda建立Python 3.12的環境 conda create --name comfyui python=3.12 啟動虛擬環境： conda activate comfyui 複製ComfyUI儲存庫 cd ~ git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI 安裝PyTorch CUDA 12.6 pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu126 安裝Python依賴套件 pip install -r requirements.txt 將.safetensors存檔點模型放到~/ComfyUI/models目錄。\n啟動程式，之後用瀏覽器開啟http://127.0.0.1:8188\npython main.py 註解：如果你之後想用Bash指令稿啟動ComfyUI，可以將以下conda的鉤子加入指令稿頂部，這樣就可以自動進入conda環境。\n","title":"Linux系統安裝ComfyUI，架設Stable Diffusion AI生圖服務","type":"ai-art"},{"content":"「ComfyUI Desktop」是ComfyUI官方推出的AI繪圖軟體，不需要打指令即可安裝ComfyUI，輕鬆生成圖片。 本軟體支援Linux、Windows、macOS系統，提供中文界面。 1. ComfyUI Desktop與ComfyUI的差異 # ComfyUI是2022年推出的，而ComfyUI Desktop於2024年推出。\nComfyUI Desktop相容ComfyUI現有的工作流與模型節點，界面操作方式相同，只是安裝過程不太一樣。\n跟原本的ComfyUI比起來，更像是一個桌面應用程式。ComfyUI Desktop執行的時候就像一般圖形軟體，不會跳出終端機畫面，這樣對一般用戶較為友好，只要下載安裝檔，開啟後便會自動裝好ComfyUI的Python依賴套件，不需要打指令。\nComfyUI Desktop使用Electron寫成，封裝了以下依賴套件：\nComfyUI 穩定版 ComfyUI_frontend 網頁前端 ComfyUI-Manager 管理ComfyUI自訂節點 uv Python套件管理器 這樣的話大部分操作能用圖形界面完成，不用處理Python與Git指令。\nComfyUI Desktop會將設定檔放在固定位置，也可以從現有的ComfyUI遷移。\n因為是針對桌面用戶設計的，ComyUI Desktop無法部署到伺服器，不適合遠端環境存取。如果你想要方便部署ComfyUI到本機又兼具遠端存取能力，建議使用Docker跑ComfyUI。\n2. ComfyUI Desktop硬體需求 # 硬碟至少要有20GB以上空間，RAM要8GB以上。\nLinux與Windows電腦，需要搭載Nvidia顯示卡，VRAM建議大於4GB。AMD與Intel顯示卡尚不支援。\nmacOS電腦則是要搭載Apple Silicon處理器，Intel處理器的不行。\n如果不符合以上需求，也是可以用CPU模式硬跑ComfyUI Desktop，但是不建議，生圖速度非常慢。\n3. 安裝ComfyUI Desktop # 目前ComfyUI Desktop處於Beta階段，僅提供Windows的exe和macOS的dmg。Linux需要手動編譯。\n以Window 11為例，需要在電腦先安裝好Nvidia驅動與Nvidia CUDA Toolkit\n你可能需要手動安裝Git\n再至ComfyUI官網下載exe安裝檔。之後電腦桌面應該會出現ComfyUI的捷徑。\n開啟ComfyUI Desktop後，選取Nvidia GPU版 設定ComfyUI Desktop的資料位置，預設是放在C槽的C:\\Users\\使用者名稱\\Documents\\ComfyUI。程式與模型資料至少需要20GB以上空間。 跳過遷移ComfyUI安裝 等待依賴套件安裝完成。 跳出來主界面之後，依照指示下載預設的Stable Diffusion模型，將.safetensors檔案放到C:\\Users\\使用者名稱\\Documents\\ComfyUI\\models\\checkpoints資料夾。 重新啟動程式，就能夠生圖了。\n4. ComfyUI Dekstop資料路徑 # ComfyUI Desktop的資料夾結構與ComfyUI類似，它會把模型和自訂節點的檔案放在安裝的時候所指定的路徑。例如，我們上面安裝ComfyUI Desktop的時候是指定C:\\Users\\使用者名稱\\Documents\\ComfyUI，那麼你要下載自訂生圖模型的時候，就是放到文件\\ComfyUI\\models資料夾。 接著是ComfyUI Dekstop程式設定檔的路徑。注意：這裡是指「ComfyUI Dekstop」程式資料的路徑，不是放模型的路徑！\n系統 路徑 Linux ~/.config/ComfyUI Windows %APPDATA%\\ComfyUI macOS ~/Library/Application Support/ComfyUI ","date":"2025年2月3日","externalUrl":null,"permalink":"/posts/comfyui-desktop/","section":"Ai-Arts","summary":"「ComfyUI Desktop」是ComfyUI官方推出的AI繪圖軟體，不需要打指令即可安裝ComfyUI，輕鬆生成圖片。 本軟體支援Linux、Windows、macOS系統，提供中文界面。 1. ComfyUI Desktop與ComfyUI的差異 # ComfyUI是2022年推出的，而ComfyUI Desktop於2024年推出。\nComfyUI Desktop相容ComfyUI現有的工作流與模型節點，界面操作方式相同，只是安裝過程不太一樣。\n跟原本的ComfyUI比起來，更像是一個桌面應用程式。ComfyUI Desktop執行的時候就像一般圖形軟體，不會跳出終端機畫面，這樣對一般用戶較為友好，只要下載安裝檔，開啟後便會自動裝好ComfyUI的Python依賴套件，不需要打指令。\nComfyUI Desktop使用Electron寫成，封裝了以下依賴套件：\nComfyUI 穩定版 ComfyUI_frontend 網頁前端 ComfyUI-Manager 管理ComfyUI自訂節點 uv Python套件管理器 這樣的話大部分操作能用圖形界面完成，不用處理Python與Git指令。\nComfyUI Desktop會將設定檔放在固定位置，也可以從現有的ComfyUI遷移。\n因為是針對桌面用戶設計的，ComyUI Desktop無法部署到伺服器，不適合遠端環境存取。如果你想要方便部署ComfyUI到本機又兼具遠端存取能力，建議使用Docker跑ComfyUI。\n","title":"ComfyUI Desktop桌面版安裝教學，免打指令 (Linux / Windows / macOS)","type":"ai-art"},{"content":"How to enable dark mode on Linux Desktop and switch between light mode and dark mode depending on the time.\n討論Linux桌面啟用深色模式(暗黑模式)的方式，並設定自動依照電腦的時間切換深色桌布。適用Ubuntu、Fedora、Arch Linux等發行版。\nGIF示意圖。桌布來源 Android手機和iPhone都有依照時間自動切換為深色模式的功能，Linux也有，但要看桌面環境支援不支援。\n開啟深色模式這有什麼好處呢？對部份人來說，開啟深色模式有顧眼睛的效果，儘管有醫生說眼睛反而會更累就是了。\n在搭載OLED螢幕的Linux筆電啟用深色模式可能有助於省電。\n謎之音：Linux要什麼深色模式？開機時的tty不就是最古老的深色模式了嗎？\n需注意「深色模式」不等於「夜間模式」，後者是調整螢幕顏色，透過所謂夜間光線或者灰階螢幕，讓畫面看起來比較暖和。本文會一併附上Linux開啟夜間模式的方式。\n1. 桌面環境全域切換深色模式 # 理想上應該是在桌面環境的選單調整後全域生效，Linux目前工作階段所開啟的程式就會跟著進入深色模式。但有的程式調皮不跟著走，就得手動處理。\n因為不是所有主題都支援淺色與深色模式，我們儘量利用桌面環境內建的深色模式功能，不額外安裝「黑色風格」的主題。\nGNOME預設的Adwaita主題提供淺色與深色版本，開啟系統設定 → 外觀切換。 KDE Plasma內建的Breeze主題有淺色與深色版。開啟系統與設定 → 全域主題切換。其中「Breeze Twilight」是工作列深色模式，但視窗保持淺色模式。 2. 桌布跟著深色模式變色 # GNOME與KDE Plasma內建桌布提供淺色模式與深色模式（部份，看桌布有無顯示對比縮圖），切換到深色模式的時候就會自動變成深色的版本。 如果要給你自己新增的桌布設定「深色版」圖片的話，要手動放置檔案。或者交給第三方程式來自動切換桌布。\nGNOME # 在~/.local/share/backgrounds新增自訂目錄，結構如下： ~/.local/share/backgrounds ├── custom │ ├── image-dark.png --\u0026gt; 命名隨意，只是為了方便辨識 │ └── image.png --\u0026gt; 命名隨意，只是為了方便辨識 然後，在~/.local/share/gnome-background-properties/，新增桌布的註冊資訊，例如custom.xml\n參考/usr/share/backgrounds/其他桌布的格式撰寫xml，填入桌布的路徑：\n\u0026lt;?xml version=\u0026#34;1.0\u0026#34;?\u0026gt; \u0026lt;!DOCTYPE wallpapers SYSTEM \u0026#34;gnome-wp-list.dtd\u0026#34;\u0026gt; \u0026lt;wallpapers\u0026gt; \u0026lt;wallpaper deleted=\u0026#34;false\u0026#34;\u0026gt; \u0026lt;name\u0026gt;Custom Wallpaper\u0026lt;/name\u0026gt; \u0026lt;filename\u0026gt;/home/user/.local/share/backgrounds/custom/image.png\u0026lt;/filename\u0026gt; \u0026lt;filename-dark\u0026gt;/home/user/.local/share/backgrounds/custom/image-dark.png\u0026lt;/filename-dark\u0026gt; \u0026lt;options\u0026gt;zoom\u0026lt;/options\u0026gt; \u0026lt;shade_type\u0026gt;solid\u0026lt;/shade_type\u0026gt; \u0026lt;pcolor\u0026gt;#ffffff\u0026lt;/pcolor\u0026gt; \u0026lt;scolor\u0026gt;#000000\u0026lt;/scolor\u0026gt; \u0026lt;/wallpaper\u0026gt; \u0026lt;/wallpapers\u0026gt; 這樣GNOME系統設定的桌布選單便會出現淺色與深色版桌布。 KDE Plasma # 在~/.local/share/wallpapers新增自訂目錄，結構如下： ~/.local/share/wallpapers ├── custom ├── contents │ ├── images --\u0026gt; 放入淺色版圖片 │ │ └── 1920x1080.png --\u0026gt; 圖片必須以解析度命名 │ └── images_dark --\u0026gt; 放入深色版圖片 │ └── 1920x1080.png --\u0026gt; 圖片必須以解析度命名 └── metadata.json --\u0026gt; 註冊桌布資訊 編輯metadata.json，參考/usr/share/wallpapers/目錄其他桌布的格式填寫桌布資訊： { \u0026#34;KPlugin\u0026#34;: { \u0026#34;Authors\u0026#34;: [ { \u0026#34;Email\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;Name\u0026#34;: \u0026#34;Custom\u0026#34; } ], \u0026#34;Id\u0026#34;: \u0026#34;Next\u0026#34;, \u0026#34;License\u0026#34;: \u0026#34;CC-BY-SA-4.0\u0026#34;, \u0026#34;Name\u0026#34;: \u0026#34;Custom\u0026#34; } } 這樣KDE Plasma的桌布選擇界面才會出現淺色與深色版本。 3. 個別應用程式切換深色 # GTK 4以上程式應該會跟著桌面環境設定自動變色，不然就用GTK_THEME=Adwaita:dark的環境變數強制使用深色模式主題。\nQT 6亦同。可以用環境變數QT_QPA_PLATFORMTHEME=qt6ct指定主題，再透過qc6ct程式強制指定主題。\nFirefox和Chromium系列瀏覽器會自動跟著桌面環境設定變色。\n支援深色模式的網頁應該也會跟著變色，包括你現在正在觀看的這個部落格。如果要強制網頁變深色，請安裝Dark Reader擴充套件\n有些程式的主題顏色是固定的，比如Visual Studio Code，需要手動在設定頁面開啟「Auto Detect Color Scheme」： 4. 定時自動切換深色模式 # GNOME 48尚未支援此功能，KDE Plasma需要6.5以上版本才有此功能。\n這需要透過第三方軟體實現。推薦使用baduhai開發的Koi，它可以定時調整GTK與QT主題的顏色，也能夠定時切換桌布。\n先在Preferences頁面設定切換的主題。 將Koi加入到登入桌面環境後自動啟動。\n回到主畫面，勾選Automatic。點選Time Schedule，設定切換為淺色模式與深色模式的時間點。 5. 開啟夜間模式，調整螢幕色溫 # GNOME：開啟系統設定 → 顯示器 → 夜光模式。如果需要灰階模式，請安裝Bedtime Mode擴充套件。 KDE Plasma：系統設定 → 主題 → 夜光模式。 需要灰階模式，請到系統設定 → 視窗管理 → 桌面效果，安裝KWin Grayscale Effect。\n參考資料 # Dark mode switching - Arch Wiki simple-sunrise/Light-and-Dark-Wallpapers-for-Gnome - Github How to have Light version of the wallpaper while having dark theme on kde overall. - Reddit ","date":"2025年2月2日","externalUrl":null,"permalink":"/posts/linux-desktop-dark-mode/","section":"所有文章","summary":"How to enable dark mode on Linux Desktop and switch between light mode and dark mode depending on the time.\n討論Linux桌面啟用深色模式(暗黑模式)的方式，並設定自動依照電腦的時間切換深色桌布。適用Ubuntu、Fedora、Arch Linux等發行版。\nGIF示意圖。桌布來源 Android手機和iPhone都有依照時間自動切換為深色模式的功能，Linux也有，但要看桌面環境支援不支援。\n開啟深色模式這有什麼好處呢？對部份人來說，開啟深色模式有顧眼睛的效果，儘管有醫生說眼睛反而會更累就是了。\n在搭載OLED螢幕的Linux筆電啟用深色模式可能有助於省電。\n謎之音：Linux要什麼深色模式？開機時的tty不就是最古老的深色模式了嗎？\n需注意「深色模式」不等於「夜間模式」，後者是調整螢幕顏色，透過所謂夜間光線或者灰階螢幕，讓畫面看起來比較暖和。本文會一併附上Linux開啟夜間模式的方式。\n1. 桌面環境全域切換深色模式 # 理想上應該是在桌面環境的選單調整後全域生效，Linux目前工作階段所開啟的程式就會跟著進入深色模式。但有的程式調皮不跟著走，就得手動處理。\n因為不是所有主題都支援淺色與深色模式，我們儘量利用桌面環境內建的深色模式功能，不額外安裝「黑色風格」的主題。\n","title":"Linux桌面如何啟用深色模式 \u0026 自動切換深色桌布 ＆ 開啟夜間光線","type":"posts"},{"content":"The GUI tool for viewing hardware information of Linux PC.\n如何使用圖形軟體查看Linux電腦的配備，或者說硬體規格的資訊？\n我們知道Linux有lscpu、lspci、lsusb、lm_sensors、lshw、htop、nvtop、neofetch這些工具，但他們都是命令行為主的工具，Ivon總覺得不是很直觀哪。\n我想用圖形工具查看硬體資訊。Windows系統有裝置管理員、CPU-Z、Speccy、HWiNFO、AIDA64這類軟體來查看電腦規格，它們的圖形界面一目了然，讓使用者能快速找到電腦零組件的廠牌資訊。有的軟體甚至會提供跑分與燒機測試服務呢！\n那麼Linux有沒有這類工具呢？有的，那就是自由開源的Hardinfo！ 它能夠蒐集Linux電腦幾乎所有的硬體資訊，還附贈跑分功能，測試CPU、GPU、硬碟的效能。\n1. 安裝Hardinfo # 根據Github，目前最新版本叫做Hardinfo2，屬於舊Hardinfo的重製版。\n開啟終端機安裝，各發行版的套件庫應該都有收Hardinfo套件。\n# Ubuntu/Debian，找不到請手動下載hardinfo2的deb檔：https://hardinfo2.org/download sudo apt install hardinfo2 # Fedora sudo dnf install hardinfo2 # Arch Linux yay -S hardinfo2 為了讓Hardinfo能偵測到記憶體廠牌，還需要執行以下指令，再重開機。 # 安裝dmidecode套件 sudo apt install dmidecode # 啟用Hardinfo服務 sudo systemctl enable --now hardinfo2 # 將自身加入hardinfo2群組 sudo usermod -a -G hardinfo2 $USER # 確認目前系統是否有載入DDR4與DDR5記憶體的核心模組 sudo lsmod | grep ee1004 # 若無，設定開機自動載入偵測DDR4與DDR5記憶體的核心模組 echo \u0026#34;ee1004 spd5118\u0026#34; | sudo tee -a /etc/modules-load.d/hardinfo2.conf 2. Hardinfo功能 # 左側的「Computer」區塊為系統軟體資訊，會印出目前Linux發行版的版本、安全性狀態、核心模組、開機紀錄、語言套件、記憶體使用量、檔案系統、圖形子系統等等的資訊。 「Devices」是硬體資訊，這裡的資訊包括DMI、CPU、GPU、顯示器、RAM、硬碟型號、電池容量等。 點選Generate Report，便能將硬體資訊輸出為HTML格式的報告。 如果要自訂背景，請參考Github指示手動編譯Hardinfo。或者我們直接替換掉Hardinfo的背景圖片，用檔案管理器打開/usr/share/hardinfo2/pixmaps/目錄，把裡面的背景圖片替換掉就行。 3. 進行跑分測試 # 點選左側的Benchmark進行測試。\n如果要執行全部測試，請點選Hardinfo上方的「Synchronize」按鈕，它就會自動跑完所有測試。\n跑分資料會上傳到Hardinfo官網，跟他人的硬體比較資訊。從這裡能夠知道自己的電腦等級大概為何。 類似的硬體規格圖形工具 # Conky：在Linux桌面顯示硬體使用量的小工具 Mission Center：模仿Windows的工作管理員，查看CPU、GPU、硬碟使用量 MangoHUD：即時查看GPU與FPS效能的軟體 KDiskMark：測試硬碟讀寫速度 QDiskInfo：查看硬碟型號與健康度，支援自訂背景 ","date":"2025年2月1日","externalUrl":null,"permalink":"/posts/linux-hardinfo/","section":"所有文章","summary":"The GUI tool for viewing hardware information of Linux PC.\n如何使用圖形軟體查看Linux電腦的配備，或者說硬體規格的資訊？\n我們知道Linux有lscpu、lspci、lsusb、lm_sensors、lshw、htop、nvtop、neofetch這些工具，但他們都是命令行為主的工具，Ivon總覺得不是很直觀哪。\n我想用圖形工具查看硬體資訊。Windows系統有裝置管理員、CPU-Z、Speccy、HWiNFO、AIDA64這類軟體來查看電腦規格，它們的圖形界面一目了然，讓使用者能快速找到電腦零組件的廠牌資訊。有的軟體甚至會提供跑分與燒機測試服務呢！\n那麼Linux有沒有這類工具呢？有的，那就是自由開源的Hardinfo！ 它能夠蒐集Linux電腦幾乎所有的硬體資訊，還附贈跑分功能，測試CPU、GPU、硬碟的效能。\n1. 安裝Hardinfo # 根據Github，目前最新版本叫做Hardinfo2，屬於舊Hardinfo的重製版。\n開啟終端機安裝，各發行版的套件庫應該都有收Hardinfo套件。\n# Ubuntu/Debian，找不到請手動下載hardinfo2的deb檔：https://hardinfo2.org/download sudo apt install hardinfo2 # Fedora sudo dnf install hardinfo2 # Arch Linux yay -S hardinfo2 為了讓Hardinfo能偵測到記憶體廠牌，還需要執行以下指令，再重開機。 # 安裝dmidecode套件 sudo apt install dmidecode # 啟用Hardinfo服務 sudo systemctl enable --now hardinfo2 # 將自身加入hardinfo2群組 sudo usermod -a -G hardinfo2 $USER # 確認目前系統是否有載入DDR4與DDR5記憶體的核心模組 sudo lsmod | grep ee1004 # 若無，設定開機自動載入偵測DDR4與DDR5記憶體的核心模組 echo \"ee1004 spd5118\" | sudo tee -a /etc/modules-load.d/hardinfo2.conf 2. Hardinfo功能 # 左側的「Computer」區塊為系統軟體資訊，會印出目前Linux發行版的版本、安全性狀態、核心模組、開機紀錄、語言套件、記憶體使用量、檔案系統、圖形子系統等等的資訊。 ","title":"Hardinfo：查看Linux電腦硬體規格的圖形工具 \u0026 跑分軟體，查看硬碟健康度","type":"posts"},{"content":"你有搭載Intel + Nvidia雙顯卡的Linux筆電嗎？那麼你可能會碰到以下問題：\n開機預設都是用Intel內顯渲染，Nvidia獨顯不工作，得用Nvidia PRIME手動切換 Nvidia獨顯很耗電，開下去續航砍半。 以上問題可以用「EnvyControl」解決，這是一款方便Linux筆電用戶切換內顯(integrated GPU)與獨顯(discrete GPU)的小工具。 它除了能夠讓Linux桌面程式全部以Nvidia獨顯來渲染之外，也可以將Nvidia獨顯完全關閉以節省電量。適合Intel ＋ Nvidia或AMD ＋ Nvidia筆電的用戶使用。\nEnvyControl適用於各大Linux發行版，支援Ubuntu、Debian、Fedora、Arch Linux、openSUSE、Gentoo、Void Linux。\n1. 為什麼要用EnvyControl # 第一個理由是方便切換獨顯。以我這台MSI Modern 15 A10筆電來說，搭載Intel i5-10210u (UHD 620) 內顯 + Nvidia MX350獨顯，筆電HDMI孔跟Nvidia顯示卡連在一起。預設情況下，開機都是使用Intel內顯當作主顯示卡渲染的，需要進行圖形吃重的渲染工作的時候得透過Nvidia Optimus PRIME指令切換，但是這樣很不方便。EnvyControl的功能可以將Linux開機後的渲染全部交由Nvidia顯示卡執行。\n如果不確定Linux電腦是用哪一個當主顯示卡渲染，可以使用指令vulkaninfo --summary或是glxinfo | grep OpenGL確認。\n第二個理由是解決Nvidia獨顯的耗電問題。Linux筆電耗電的因素很多，除了軟體因素外，還有硬體因素。通常，Linux會透過Power Profiles Daemon服務來控制耗電量，但是這個只對CPU有效，如果電腦有Nvidia獨顯依然會吃電。Linux在安裝Nvidia專有驅動後，它不會自己調節，放著不管會很耗電。而我外出文書處理的時候用不到Nvidia獨顯渲染，空放著耗電的話不如將它關掉，這就是EnvyControl能作到的功能，如此一來能稍微延長些續航力。\n部份廠牌的筆電能在UEFI界面關掉Nvidia獨顯，但很可惜的是我這台不支援。\n第三個理由，解決Linux發行版之間的差異。部份發行版有自家切換Nvidia獨顯的工具，例如Ubuntu有prime-select，Arch Linux則是Optimus Manager。那麼其他發行版該怎麼辦呢？EnvyControl能解決這個問題。\n2. 安裝EnvyControl # 首先要在電腦安裝專有Nvidia驅動，例如Ubuntu參考這篇\n用lspci | grep NVIDIA和nvidia-smi指令檢查，應會看到系統目前已載入Nvidia驅動的核心模組 參考Github說明安裝EnvyControl，比如Ubuntu就下載deb檔，再用APT安裝：\nsudo apt install ./python3-envycontrol_*.deb 建議安裝圖形控制面板。 GNOME桌面安裝擴充套件管理員，再安裝GPU profile selector擴充套件，切換按鈕會顯示在系統匣。 KDE Plasma在桌面右鍵 → 進入編輯模式 → 新增元件，下載Optimus GPU Switcher元件，裝好後會顯示在系統匣。 其他桌面請裝EnvyControl-PyQt。\n3. EnvyControl提供的模式 # EnvyControl提供三種模式選擇：\nIntegrated：只使用Intel內顯，將Nvidia驅動的核心模組加入黑名單，完全關閉Nvidia獨顯。此模式筆電的HDMI孔會無法輸出畫面。\nHybrid：將內顯作為主顯示卡，僅特定程式用Nvidia PRIME指令渲染。較新的Nvidia顯示卡尚支援RTD3功能，會在閒置的時候自動關閉Nvidia顯示卡省電。此模式筆電的HDMI孔能正常運作。\nNvidia：建立自訂X.org設定檔，將Nvidia獨顯作為主顯示卡，讓系統全部使用Nvidia獨顯渲染，擺脫Nvidia PRIME指令。這個模式會顯著增加耗電量。此模式筆電的HDMI孔能正常運作。因為技術問題，目前只支援Intel + Nvidia的筆電。還有這個模式只能登入X11工作階段，對Wayland無效。\n下面我用指令示範。你有裝EnvyControl圖形控制面板就用按鈕切換即可。\n4. 只啟用內顯，關閉Nvidia獨顯省電 # Integrated模式。我個人會選取此模式用以省電。因為RTD3的按需省電模式在Nvidia GTX1650 (Turing架構) 或更新的顯示卡才有，而我的MX350太舊了。\n使用指令啟用Integrated模式，會花一點時間切換。 sudo envycontrol -s integrated 重開機，執行lscpi | grep NVIDIA和nvidia-smi指令，會看到Nvidia獨顯從PCI列表消失了。 用這個指令檢視目前電腦使用的主顯示卡為何：\nvulkaninfo --summary 5. 將內顯和Nvidia獨顯都開啟 # 這是Hybrid模式。Intel內顯作為主顯示卡，需要Nvidia渲染的時候再使用Nvidia PRIME指令切換。如果Nvidia顯示卡支援RTD3，那麼它會在沒事幹的時候自動關閉省電。\n切換為Hybrid模式 sudo envycontrol -s hybrid 如果你的顯示卡支援RTD3省電模式，那麼便將之開啟： sudo envycontrol -s hybrid --rtd3 重開機。檢視目前電腦使用的主顯示卡為何： vulkaninfo --summary 6. 將主顯示卡切換成Nvidia獨顯 # Nvidia模式，強制將Nvidia獨顯作為主顯示卡，所有程式都用Nvidia獨顯渲染。\n此模式僅限X11工作階段使用，Wayland無效。先檢查目前工作階段是否為X11： echo $XDG_SESSION_TYPE 切換為Nvidia模式 sudo envycontrol -s nvidia 重開機，檢視目前電腦使用的主顯示卡為何： vulkaninfo --summary 7. 測試耗電量對比 # 測試有開獨顯 vs 關掉獨顯的對比。\n開機後使用圖中這些應用程式一小時，再對比耗電量。 Hybrid模式，開著獨顯，使用1小時，電量下降至65%。 Integrated模式，關掉獨顯，使用1小時，電量下降至73%。 對比可以發現儘管差距不大，耗電量還是有差的，包含KDE Plasma預估的電池可用時間。儘管KDE Plasma預估的電池可用時間會依照目前CPU耗電量而浮動(例如有時會突增至20W又降下來)，但是關掉獨顯的電量預估時間就是比開著獨顯多出一小時。\n上圖也可以看到Power Profile Daemon其實還有「省電」模式的電源設定檔可選，這樣續航力搞不好就半天了。但是你知道的，選這個強行降頻就是卡爆，所以我大部分只使用「平衡」模式。\n","date":"2025年2月1日","externalUrl":null,"permalink":"/posts/linux-envycontrol-turn-off-nvidia-gpu/","section":"所有文章","summary":"你有搭載Intel + Nvidia雙顯卡的Linux筆電嗎？那麼你可能會碰到以下問題：\n開機預設都是用Intel內顯渲染，Nvidia獨顯不工作，得用Nvidia PRIME手動切換 Nvidia獨顯很耗電，開下去續航砍半。 以上問題可以用「EnvyControl」解決，這是一款方便Linux筆電用戶切換內顯(integrated GPU)與獨顯(discrete GPU)的小工具。 它除了能夠讓Linux桌面程式全部以Nvidia獨顯來渲染之外，也可以將Nvidia獨顯完全關閉以節省電量。適合Intel ＋ Nvidia或AMD ＋ Nvidia筆電的用戶使用。\nEnvyControl適用於各大Linux發行版，支援Ubuntu、Debian、Fedora、Arch Linux、openSUSE、Gentoo、Void Linux。\n1. 為什麼要用EnvyControl # 第一個理由是方便切換獨顯。以我這台MSI Modern 15 A10筆電來說，搭載Intel i5-10210u (UHD 620) 內顯 + Nvidia MX350獨顯，筆電HDMI孔跟Nvidia顯示卡連在一起。預設情況下，開機都是使用Intel內顯當作主顯示卡渲染的，需要進行圖形吃重的渲染工作的時候得透過Nvidia Optimus PRIME指令切換，但是這樣很不方便。EnvyControl的功能可以將Linux開機後的渲染全部交由Nvidia顯示卡執行。\n","title":"雙顯卡Linux筆電很耗電？用EnvyControl切換Nvidia獨顯，還可以省電","type":"posts"},{"content":"注意：SmartTube僅支援Android電視盒，沒有手機版。\n電視觀看Youtube總是有廣告打斷嗎？安裝「SmartTube」免費去廣告吧！ 比較：這是原版電視Youtube的首頁 這是SmartTube的首頁，我想您應該能看出差距了，大大的廣告不見啦。 「SmartTube」是一款開源的第三方Youtube APP，可說是電視盒版的「Youtube ReVanced」，功能如下：\n去掉全部Youtube廣告 支援登入多重Google帳號，不需依賴GMS服務，搭載中國韌體的電視盒也能登入Google帳號。 一鍵切換帳號與國家地區 支援手機電視代碼遙控 語音搜尋 自訂遙控器按鍵映射 背景播放、懸浮窗播放影片、邊看影片邊顯示留言 調整影片速度、切換影片VP9、AVC、AV1編碼 支援8K畫質、HDR、高刷新率電視 自動重播、隨機播放影片 Sponsorblock過濾業配片段 支援使用代理連線(配合VPN使用，中國用戶會需要這個) 「SmartTubeNext」原本是測試版新版本的代號名字，穩定之後便改回SmartTube了。\n下面解說如何安裝與使用SmartTube。\n1. 下載SmartTube # 「SmartTube」為烏克蘭人Yurii Lyskov開發的APP。\n如果擔心資安問題，可以到Github檢視原始碼：yuliskov/SmartTube，至少目前各國網友用下來沒什麼疑慮。\n根據作者說法，SmartTube唯一的下載點為Github，不要從其他應用商店下載。\n因此，請到Github Release下載SmartTube的APK，找到寫有Stable版的區塊。SmartTube系統最低要求為Android 4.3。如果你的電視盒是64位元的就下載arm64-v8a，32位元則是下載armeabi-v7a。 如果要更快取得錯誤修復，可以安裝Beta版。\n安裝APK部份，如果您不方便插隨身碟到電視盒安裝APK，那麼請用TV Bro瀏覽器，直接在電視盒瀏覽Github網頁，下載安裝SmartTube的APK。\n由於SmartTube可自行下載新版本APK，手動下載APK只要做一次，之後要更新SmartTube不用再手動下載，直接在APP內自我更新就可以了。\n2. SmartTube功能用法 # SmartTube不登入Google帳號也可以用，自行斟酌要不要信任。\n在首頁，使用遙控器移動到左上角的大頭貼，點選登入Google帳號。\n點選登入後，電視會顯示一組代碼，依照指示用您的手機/電腦掃描登錄Google帳號。 登入Google帳號後，再點一次大頭貼可切換為沒有登入帳號的樣子。\n如果您的手機跟電視盒登入的是同一個Google帳號，彼此的播放紀錄就會同步了，可依此播放影片。\n如想要「手機遙控電視播放影片」，請用SmartTube系統設定的「電視代碼」與手機配對，這個功能用法跟原版Youtube的電視代碼一樣。\nSmartTube的系統設定位於APP左邊側邊欄。\n在這裡我會把SponsorBlock關掉，防止其亂過濾影片內容。 接著，啟用自動檢查更新。日後就能直接在APP內自我更新。 如果遙控器有特殊按鍵，可於Key重新對應頁面定義各按鍵的行為。 說到播放影片部份，SmartTube可不只去廣告，它還有眾多額外功能。例如下圖影片播放器多出了更多選項，紅色的按鈕是重複播放的開關，速度計是影片速度。 其中影片播放的選項比原版Youtube更為細緻，您可以按照電視盒的性能選擇編碼器，例如VP9和AVC編碼大多數裝置都能處理，最新的AV1編碼（我的電視盒太舊不支援）壓縮品質更好但更吃CPU性能。 點一下留言的按鈕即可邊看影片邊滑留言了。 背景播放按鈕則是讓影片變成懸浮窗播放，螢幕關閉仍會繼續播放。要還原的話回到SmartTube首頁，點一下螢幕上方取消懸浮窗。 如果您要提功能建議，或是回報bug，請到Github儲存庫的Issue頁面跟SmartTube作者討論。\n","date":"2025年1月31日","externalUrl":null,"permalink":"/posts/android-tv-smarttube/","section":"所有文章","summary":"注意：SmartTube僅支援Android電視盒，沒有手機版。\n電視觀看Youtube總是有廣告打斷嗎？安裝「SmartTube」免費去廣告吧！ 比較：這是原版電視Youtube的首頁 這是SmartTube的首頁，我想您應該能看出差距了，大大的廣告不見啦。 「SmartTube」是一款開源的第三方Youtube APP，可說是電視盒版的「Youtube ReVanced」，功能如下：\n去掉全部Youtube廣告 支援登入多重Google帳號，不需依賴GMS服務，搭載中國韌體的電視盒也能登入Google帳號。 一鍵切換帳號與國家地區 支援手機電視代碼遙控 語音搜尋 自訂遙控器按鍵映射 背景播放、懸浮窗播放影片、邊看影片邊顯示留言 調整影片速度、切換影片VP9、AVC、AV1編碼 支援8K畫質、HDR、高刷新率電視 自動重播、隨機播放影片 Sponsorblock過濾業配片段 支援使用代理連線(配合VPN使用，中國用戶會需要這個) 「SmartTubeNext」原本是測試版新版本的代號名字，穩定之後便改回SmartTube了。\n下面解說如何安裝與使用SmartTube。\n1. 下載SmartTube # 「SmartTube」為烏克蘭人Yurii Lyskov開發的APP。\n","title":"無廣告的Youtube電視APP，SmartTube使用教學","type":"posts"},{"content":"一款開源、無廣告、免費的看動漫APP：Aniyomi Aniyomi是Mihon漫畫APP的分支版，特色功能如下：\n專為看動畫設計，內嵌MPV影片播放器 支援播放本機與Google雲端硬碟的影片 支援多個線上動漫網站來源，表番和裏番都有，例如GoGoAnime、AllAnime、Hanime1、Jable、小寶影院等等。 訂閱與追蹤新番更新 搭配Bangumi、AniList、MyAniList紀錄觀看過的動漫 內建AniSkip，自動跳過片頭。 支援外部播放器，平板可搭配Anime4K MPV提昇畫質，或是用VLC投放到Chromecast Aniyomi也是可以看漫畫，不過這方面的功能就跟原版Mihon沒什麼差了。\n需要注意的是，Aniyomi為歐美用戶開發的APP，裡面動畫網站雖然資源豐富，但動畫幾乎都是日語發音＋英文字幕的 中文網站偏少。\n不過，很多漢化組都會單獨分享.ass字幕檔的，你可以利用Aniyomi載入外部字幕的功能，在觀看英文網站提供的影片時，手動給影片載入中文字幕，這算是折衷的辦法。\n1. 下載Aniyomi # Aniyomi目前僅支援Android系統，沒有在Google Play上架，請到Github下載最新版。 順帶一提，如果你想要更漂亮界面的可以試試Dartotsu，該APP融合了Saikou和Aniyomi的界面，整合了MyAnimeList的查詢功能。讓你不只可以追番，還能即時收到新番的通知。\n這裡講一下，過去有叫做Saikou和Dantotsu的線上看APP，因為太高調，Github原始碼儲存庫都慘遭DMCA聲明移除。\n2. 新增動畫擴充套件儲存庫 # 初次開啟後請設定Aniyomi的資料存放位置，建議是手機內部儲存空間/Movies/Aniyomi\n2024年6月，Aniyomi因為版權因素移除了內建擴充套件儲存庫，所以得用第三方備份的almightyhak儲存庫。你需要在探索 → 動漫擴展，點選右上方按鈕，新增儲存庫，加入以下網址\nhttps://raw.githubusercontent.com/almightyhak/aniyomi-anime-repo/main/index.min.json 重新啟動APP，進入 探索 → 動漫擴展，下載喜歡的動畫網站來源。 GoGoAnime，大部分動畫都有了。Hanimetv則是專門看裏番的網站。 安裝後點選進入該站就可以搜尋動畫了。如果你不知道動畫英文名稱請到維基百科找 搜尋到的動畫可以加入私人收藏，並下載離線觀看。如果是新番的話還會自動追蹤進度。 收藏的動畫會顯示在APP首頁。 3. 載入中文字幕 # 針對想看中文字幕的使用者，請事先到漢化組的網站下載.ass或.srt字幕檔\n接著在播放影片的時候點選右上角，新增外部字幕 這樣中文字幕就會重疊在畫面上了。 4. 設定自動跳過片頭曲 # 你可以開啟自動跳過片頭曲的功能，首先到其他 → 設定 → 歷程，登入MyAnimeList帳號 再到其他 → 設定 → 播放器 → 勾選aniskip，自動跳過片頭曲。 這樣影片播放右下角就會出現一個加號按鈕，點選快轉。 ","date":"2025年1月30日","externalUrl":null,"permalink":"/posts/android-aniyomi/","section":"所有文章","summary":"一款開源、無廣告、免費的看動漫APP：Aniyomi Aniyomi是Mihon漫畫APP的分支版，特色功能如下：\n專為看動畫設計，內嵌MPV影片播放器 支援播放本機與Google雲端硬碟的影片 支援多個線上動漫網站來源，表番和裏番都有，例如GoGoAnime、AllAnime、Hanime1、Jable、小寶影院等等。 訂閱與追蹤新番更新 搭配Bangumi、AniList、MyAniList紀錄觀看過的動漫 內建AniSkip，自動跳過片頭。 支援外部播放器，平板可搭配Anime4K MPV提昇畫質，或是用VLC投放到Chromecast Aniyomi也是可以看漫畫，不過這方面的功能就跟原版Mihon沒什麼差了。\n需要注意的是，Aniyomi為歐美用戶開發的APP，裡面動畫網站雖然資源豐富，但動畫幾乎都是日語發音＋英文字幕的 中文網站偏少。\n不過，很多漢化組都會單獨分享.ass字幕檔的，你可以利用Aniyomi載入外部字幕的功能，在觀看英文網站提供的影片時，手動給影片載入中文字幕，這算是折衷的辦法。\n1. 下載Aniyomi # Aniyomi目前僅支援Android系統，沒有在Google Play上架，請到Github下載最新版。 ","title":"Aniyomi ～ Android免費線上看動漫APP，支援下載離線觀看，附常用源","type":"posts"},{"content":" 本文Ivon將介紹在多個平台擋Youtube廣告的方法，讓你不需要訂閱Premium也能免受廣告干擾，有些APP還支援下載影片喔。\n儘量以開源的方案為主。若無特別註明，該程式就是支援全部系統（Linux/macOS/Windows/Android/iOS）。 1. 網頁版Youtube # 用網頁觀看的好處是有瀏覽器就能播。\n瀏覽器 ＋ 廣告阻擋器 # 裝擴充功能擋廣告是最簡單的方法，但Youtube在2023年已開始抓擋廣告擴充功能，網頁擴充功能需要常常更新方能成功阻擋廣告，因此請選擇有信用的開發者。\n常見的廣告阻擋器擴充功能有uBlock Origin，開發者永遠站在對抗Youtube廣告的最前線，更新十分快速。\nBrave瀏覽器內建的廣告阻擋器也是不錯的選擇，而且手機也能用。官方會積極處理Youtube偵測擋廣告擴充的問題。\nYoutube鏡像站 # Invidious和Piped這二個網站都是Youtube鏡像站，用他們的網站看影片就沒有廣告，保護隱私的同時還可以下載影片。\n2. 電腦客戶端 # 雖然Youtube有網頁就可以看，但使用專門電腦客戶端的能繞過Youtube網頁的限制，加入更多功能。\nFreeTube # FreeTube支援下載影片、離線儲存播放清單、使用第三方影片播放器播放。無法登入Google帳號\nYoutube Music by th-ch # Youtube Music，這個程式就叫這個名字。基於原版Youtube Music程式改造而來，加入廣告阻擋器、視覺效果，支援登入Google帳號。\n3. 手機APP # Youtube ReVanced (Android) # 最受歡迎的官方Youtube破解版APP。使用教學\nNewPipe (Android) # 輕量級的Youtube播放器，可以下載影片，不支援登入Google帳號，適合低階手機使用。使用教學\nLibreTube (Android) # Piped網站的APP前端。使用教學\nInnerTune (Android) # Youtube Music播放器，支援Android Auto，不支援登入Google帳號。使用教學\nuYouPlus (iOS) # iOS官方Youtube破解版APP，需要透過AltStore安裝。使用教學\nYattee (iOS) # Invidious與Piped網站的APP前端。使用教學\n4. 智慧型電視 # SmartTube (Android TV) # 從頭寫起的電視版Youtube，無廣告，可以選擇影片串流格式，支援登入Google帳號。使用教學\nYattee (Apple TV) # Invidious/Piped網站的APP前端。 使用教學\nTv Bro Browser (Android TV) # 智慧電視專用的瀏覽器，提供擋廣告功能，如果你想用來看網頁版Youtube的話就用這個。 使用教學\n","date":"2025年1月30日","externalUrl":null,"permalink":"/posts/block-ads-on-youtube/","section":"所有文章","summary":" 本文Ivon將介紹在多個平台擋Youtube廣告的方法，讓你不需要訂閱Premium也能免受廣告干擾，有些APP還支援下載影片喔。\n儘量以開源的方案為主。若無特別註明，該程式就是支援全部系統（Linux/macOS/Windows/Android/iOS）。 1. 網頁版Youtube # 用網頁觀看的好處是有瀏覽器就能播。\n瀏覽器 ＋ 廣告阻擋器 # 裝擴充功能擋廣告是最簡單的方法，但Youtube在2023年已開始抓擋廣告擴充功能，網頁擴充功能需要常常更新方能成功阻擋廣告，因此請選擇有信用的開發者。\n常見的廣告阻擋器擴充功能有uBlock Origin，開發者永遠站在對抗Youtube廣告的最前線，更新十分快速。\nBrave瀏覽器內建的廣告阻擋器也是不錯的選擇，而且手機也能用。官方會積極處理Youtube偵測擋廣告擴充的問題。\nYoutube鏡像站 # Invidious和Piped這二個網站都是Youtube鏡像站，用他們的網站看影片就沒有廣告，保護隱私的同時還可以下載影片。\n2. 電腦客戶端 # 雖然Youtube有網頁就可以看，但使用專門電腦客戶端的能繞過Youtube網頁的限制，加入更多功能。\nFreeTube # FreeTube支援下載影片、離線儲存播放清單、使用第三方影片播放器播放。無法登入Google帳號\n","title":"【全平台】網頁/PC/手機/智慧電視 無廣告看Youtube影片的方法","type":"posts"},{"content":"在樹莓派5安裝Android TV，打造開源電視盒！ 1. Android TV特色 # 為什麼裝Android TV呢？這個系統可以有效利用Android生態的豐富資源，達到本機播放串流和播放遠端影片的目的，這就是為何我不裝OpenMediaVault或LibreELEC這類系統的關係。若需要存取遠端的資源，安裝對應App就好了！\n本文使用的Android TV ROM由KonstaKANG建置，基於LineageOS修改而來，支援Raspberry Pi 3 ~ 5的板子。\n跟一般版的LineageOS比起來，Android TV版的LineageOS有專為電視設計的界面，可以將APP與電視節目釘選在桌面，方便用遙控器操控。 Android TV系統開箱即用，支援Play商店和Google Assistant聲控，可下載各式各樣的串流APP。\n要注意的是，很多APP要求Android TV電視盒得通過Googe驗證，要有Widevine L1才給看，比如Netflix。KonstaKANG的ROM屬於第三方ROM，自然不可能通過認證，電視盒沒有Netflix認證是不能開啟APP的。此外，需要DRM等級的APP要裝KonstaKANG提供的模組繞過。\n還有，Chromecast無法在非Google認證過的裝置執行（Android TV有Chromecast built-in，但實際上無法使用），因此要投放螢幕功能的人還是得另外準備實體Chromecast，或者使用破解Chromecast協定的AirScreen這類替代方案。\n老實說樹莓派5的處理器跑Android TV屬於是overkill了，開發板價格比市面上許多電視盒貴，操作容易度也沒有比市面上的品牌好。但沒關係，這代表播放4K影片絕對難不倒它，如果只看Youtube和不要求DRM的串流的話是足以應付的。\n2. 準備項目 # 材料：\n32GB以上的SD卡 Raspberry Pi 5 乙太網路線或是Wifi連線 支援HDMI的電視螢幕，或者電腦螢幕 鍵盤、滑鼠、遙控器 麥克風，如果要使用Google助理聲控的話 在使用遙控器之前，最好先用鍵盤滑鼠來設定Android TV。\n關於遙控器，可以用藍芽配對的遙控器，或者在樹莓派安裝紅外線模組（KonstaKANG有把相關驅動含在ROM裡），再配對實體紅外線遙控器。\n我是買這種特殊的遙控器，兼具滑鼠、鍵盤、遙控器、紅外線的功能，只要插上USB接收器就能連線。 再不濟還可以用手機APP模擬遙控器，後面我會一併介紹。\n3. 樹莓派5安裝Android TV # 樹莓派Android TV的映像檔是原生LineageOS。在刷入系統映像檔之後，要手動刷入GApps饞可以使用Play商店。\n到KonstaKANG的網站下載這些檔案： lineage-22.0-xxxxxxxx-UNOFFICIAL-KonstaKANG-rpi5-atv.zip：Android TV系統映像檔 KonstaKANG-rpi-resize.zip：自動擴充userdata分區的工具 MindTheGapps-15.0.0-arm64-ATV-xxxxxxxx_xxxxxx.zip：安裝GApps KonstaKANG-rpi-widevine-15.zip：繞過DRM限制，讓裝置DRM等級變成L3，起碼能安裝APP。 下載後將lineage-22.0-20241217-UNOFFICIAL-KonstaKANG-rpi5-atv.zip解壓縮，得到.img檔。\n使用RPI Imager或balenaetcher刷入系統到SD卡\n第一次開機，用鍵盤滑鼠操控，確認能進入桌面後關機。\n4. 刷入GApps # 我們要透過TWRP刷入GApps。如果要裝Magisk，也是從這裡刷。\n將樹莓派的SD卡插入電腦，掛載userdata分區，把剛剛下載的幾個zip放到/media/0/目錄。或者額外準備一個隨身碟，將zip檔放進去。\n樹莓派開機，開啟Android TV系統設定 → 系統 → 按鍵 → 啟用進階重新啟動\nAndroid TV系統設定 → 開關和電源 →重新啟動 → 重開機進入Recovery模式 重開機進入TWRP（此時得使用鍵盤滑鼠），點選Install → Select Storage，依序刷入resize、GApps、Widevine的zip檔。 切換到Wipe頁面，拉動滑桿，確認Format Data\n重開機就可以登入Google帳號了。安裝GApps後可以用Google助理的快速設定功能，自動讓電視盒複製手機的資料，自動連上Wifi。\n之後主界面會跑出Google的APP，安裝完成。 我測試的時候不需要驗證第三方ROM的裝置，但或許改天Google就會要你驗證了，這時請參考下面步驟。\n開啟系統設定，連按5下「Android系統版本」叫出開發人員選項。\n在開發人員選項開啟ADB，並啟用無線ADB。\n在電腦上開啟adb，連線到Android TV的IP。IP可以到Android TV系統設定的網路查看。\nadb connect LineageOS的IP:5555 執行以下指令，取得裝置ID adb root adb shell \u0026#39;sqlite3 /data/*/*/*/gservices.db \\ \u0026#34;select * from main where name = \\\u0026#34;android_id\\\u0026#34;;\u0026#34;\u0026#39; 到Google裝置註冊網頁填入ID，等30分鐘後才可以使用Play商店。 5. 遙控器控制Android TV # 到Google Play商店下載Gboard，再於系統設定界面切換成Gboard。 我的遙控器能夠使用鍵盤輸入，搭配Gboard就能打中文。不過依然有無法選取打字的問題，可能是沒有優化好。\n如果不想買遙控器，用開源的APP Bluetooth Remote by Atharok，它可以把Android手機變成藍芽遙控器。開啟藍芽後跟Android TV配對，這樣手機就可以遠端控制Android TV了。 6. 測試串流APP執行情況 # HDMI音效輸出有時候會偵測不到，請嘗試換一個孔。\n如果APP支援的話，Android TV能夠在首頁顯示最近播放的影片。\nYoutube APP我使用無廣告的SmartTube，正常執行，4K解碼也很快。螢幕支援的話也可以播HDR影片。 巴哈姆特動畫瘋正常。 LINE TV可以開啟 開源的TVBro瀏覽器是看片好幫手，能夠用來看網頁版Netflix。 Google Play不給下載CATCHPLAY+、Disney+。\n","date":"2025年1月29日","externalUrl":null,"permalink":"/posts/raspberry-pi-lineageos-android-tv/","section":"所有文章","summary":"在樹莓派5安裝Android TV，打造開源電視盒！ 1. Android TV特色 # 為什麼裝Android TV呢？這個系統可以有效利用Android生態的豐富資源，達到本機播放串流和播放遠端影片的目的，這就是為何我不裝OpenMediaVault或LibreELEC這類系統的關係。若需要存取遠端的資源，安裝對應App就好了！\n本文使用的Android TV ROM由KonstaKANG建置，基於LineageOS修改而來，支援Raspberry Pi 3 ~ 5的板子。\n跟一般版的LineageOS比起來，Android TV版的LineageOS有專為電視設計的界面，可以將APP與電視節目釘選在桌面，方便用遙控器操控。 Android TV系統開箱即用，支援Play商店和Google Assistant聲控，可下載各式各樣的串流APP。\n要注意的是，很多APP要求Android TV電視盒得通過Googe驗證，要有Widevine L1才給看，比如Netflix。KonstaKANG的ROM屬於第三方ROM，自然不可能通過認證，電視盒沒有Netflix認證是不能開啟APP的。此外，需要DRM等級的APP要裝KonstaKANG提供的模組繞過。\n","title":"樹莓派5安裝Android TV 15，打造開源電視盒","type":"posts"},{"content":"Tracking screen time of Linux desktop with ActivityWatch.\n嫌被Google和Apple追蹤還不夠嗎？自己來追蹤自己吧！\n現在的手機都有追蹤者螢幕使用時間的功能，Android的叫做「數位健康」，iOS叫做「螢幕使用時間」，會在背景自動追蹤使用者的手機使用時長，讓使用者懂得依照圖表時間下去節制，擬定良好的時間管理習慣。\n那麼電腦使用者有沒有這個功能呢？Windows和macOS都有類似的功能實現，專有軟體的解決方案還有RescueTime，不過Linux此類軟體較為少見，你頂多只能用htop追蹤開機多久了，但無法確切知道在用哪些程式。論Linux桌面環境的支援度，需要GNOME 48以上版本才有數位健康(Digital Wellbeing)的功能呢！\n今天Ivon要分享一個開源的電腦螢幕使用時間追蹤軟體，其名為ActivityWatch。 這個程式支援Linux、Windows、macOS、Android系統，它會監視電腦應用程式使用狀況，並將你電腦使用時長繪製成時間軸。可以監視你開了哪些視窗，停留多久，平常都在幹些什麼，方便未來查看你最常使用哪些程式。所有監控的資料全部儲存在本機，由您保管，絕不會傳送給第三方。\n1. 安裝ActivityWatch # 請到Github下載安裝檔。Windows安裝exe。Ubuntu Linux下載zip，解壓縮，將裡面的目錄移動到任意目錄，例如/usr/local/bin。 sudo mv ./activitywatch/ /usr/local/bin/ 將/usr/local/bin/activitywatch/aw-qt.desktop放到~/.local/share/applications/，這樣它才會顯示在程式列表 mv /usr/local/bin/activitywatch/aw-qt.desktop ~/.local/share/applications/ 編輯~/.local/share/applications/aw-qt.desktop，修改Exec=aw-qt，將其路徑指向/usr/local/bin/activitywatch/aw-qt\nLinux用戶需要注意，因為Wayland不允許其他程式偵測視窗標題，官方版ActivityWatch不支援Wayland工作階段，只支援X11。Wayland工作階段要裝這個：2e3s/awatcher，並將其作為ActivtyWatch的模組載入。\n設定開機自動啟動ActivityWatch：Windows系統安裝後會自動啟動服務，圖示顯示在系統匣。Linux請參照XDG Autostart設定方式，將/usr/local/bin/activitywatch/aw-qt設定在登入桌面環境後自動啟動。\nLinux的設定檔位於~/.config/activitywatch\n2. 設定ActivityWatch監控項目 # 點選系統匣的ActivityWatch圖示，開啟全部監控模組。 ActivityWatch預設監控的項目為鍵鼠動作aw-watcher-input，以此判定掛機時長。\naw-watcher-window，透過視窗標題判定使用中的應用程式。ActivityWatch會將目前活動中的視窗判定為你正在使用這個程式。\naw-notify會每小時傳送螢幕使用時間的統計，aw-server目前似乎沒有任何作用。\n欲監控更詳細的瀏覽器、編輯器、目前正在聽的音樂的資料，請手動安裝其他Watcher。\n按Open Dashboard開啟ActivityWatch網頁面板：http://localhost:5600\n點選Settings，設定一天開始的時間，通常我是設定午夜12點。AFK，多久判定為掛機，預設時間是設定為3分鐘。\n接著要設定應用程式分類。ActivityWatch是用正則表達式檢測應用程式的名稱的，沒辦法收錄所有程式。如果你不手動加入常用程式，那麼後續的資料裡面會顯示統一為\u0026quot;uncategorized\u0026quot;。這裡Category能夠自訂規則，把你認為是Work的應用程式分類到這裡吧！須注意ActivityWatch是依照視窗標題下去偵測，而非應用程式名稱。 3. ActivityWatch面板功能 # Activity是所有活動的匯總，能看到你最常使用哪些應用程式還有視窗標題。 Timeline，透過時間軸檢視一段時間內，程式的使用時長。ActivityWatch會將目前活動中的視窗判定為你正在使用這個程式，切換到其他程式後便跟著切換，所以才會出現一截一截的樣子。 StopWatch這個是暫停碼表，當你想要做一些隱密事情的時候，就開啟這個功能，輸入理由，暫停監控吧。 值得注意的是，ActivityWatch主程式目前沒辦法設定密碼，所以被監控的電腦使用者是能夠手動關閉主程式逃避監控的！無需任何特殊權限。\n4. 安裝手機APP # ActivityWatch有Android版本，可作為「Google數位健康」服務的替代品。至於iOS版APP？Apple權限管那麼嚴格，大概不可能會有。\n請到Google Play下載，基本上就是Rust寫成的APP，用法與電腦版雷同。\n開啟後會自動在背景運作。 目前的ActivityWatch是獨立的APP，並非與電腦版伺服器連線的客戶端，若要在電腦的ActivityWatch檢視資料的話，要手動匯出手機版的JSON上傳。\n我覺得Android版ActivityWatch功能太陽春了，不如專門開發的DigiPaws好。\n","date":"2025年1月28日","externalUrl":null,"permalink":"/posts/activitywatch-linux/","section":"所有文章","summary":"Tracking screen time of Linux desktop with ActivityWatch.\n嫌被Google和Apple追蹤還不夠嗎？自己來追蹤自己吧！\n現在的手機都有追蹤者螢幕使用時間的功能，Android的叫做「數位健康」，iOS叫做「螢幕使用時間」，會在背景自動追蹤使用者的手機使用時長，讓使用者懂得依照圖表時間下去節制，擬定良好的時間管理習慣。\n那麼電腦使用者有沒有這個功能呢？Windows和macOS都有類似的功能實現，專有軟體的解決方案還有RescueTime，不過Linux此類軟體較為少見，你頂多只能用htop追蹤開機多久了，但無法確切知道在用哪些程式。論Linux桌面環境的支援度，需要GNOME 48以上版本才有數位健康(Digital Wellbeing)的功能呢！\n今天Ivon要分享一個開源的電腦螢幕使用時間追蹤軟體，其名為ActivityWatch。 這個程式支援Linux、Windows、macOS、Android系統，它會監視電腦應用程式使用狀況，並將你電腦使用時長繪製成時間軸。可以監視你開了哪些視窗，停留多久，平常都在幹些什麼，方便未來查看你最常使用哪些程式。所有監控的資料全部儲存在本機，由您保管，絕不會傳送給第三方。\n1. 安裝ActivityWatch # 請到Github下載安裝檔。Windows安裝exe。Ubuntu Linux下載zip，解壓縮，將裡面的目錄移動到任意目錄，例如/usr/local/bin。 sudo mv ./activitywatch/ /usr/local/bin/ 將/usr/local/bin/activitywatch/aw-qt.desktop放到~/.local/share/applications/，這樣它才會顯示在程式列表 mv /usr/local/bin/activitywatch/aw-qt.desktop ~/.local/share/applications/ 編輯~/.local/share/applications/aw-qt.desktop，修改Exec=aw-qt，將其路徑指向/usr/local/bin/activitywatch/aw-qt\n","title":"ActivityWatch教學，自動紀錄Linux電腦螢幕使用時間","type":"posts"},{"content":" 本文解說如何使用Office Tool Plus免費下載Microsoft Office軟體，並啟用產品授權。 1. 概論 # Office Tool Plus為中國開發者Yerong開發的免費軟體。沒有開放原始碼，風險自負（Github上只有翻譯檔）。\nOffice Tool Plus是專為大量部署Office設計的，整合了Microsoft官方推出的Office大量部署工具，程式檔案全部都是從Microsoft伺服器下載的原汁原味軟體，沒有經過任何修改。\n你可以透過統一的面板管理Office授權。如果你有購買Office金鑰，或是學校企業機關有提供線上KMS啟用，那麼這個工具能夠協助你輕鬆啟用Office產品。\n不過嘛\u0026hellip;既然Office Tool Plus能夠連線到「任意」KMS伺服器，那麼當然也能夠連線到第三方KMS伺服器，免費啟用Office授權。\n嚴格來說，透過非官方授權認證的KMS伺服器啟用的Office產品，依然算是盜版。 有能力請還是購買Office授權，並用正版KMS伺服器啟用產品。\n2. 安裝Office Tool Plus # 系統版本需要Windows 10以上。\n到官網或者Github Releases下載。選取 Office_Tool_with_runtime_x64.zip的版本。\n下載後解壓縮，點二下Office Tool Plus.exe執行。\n3. 下載Microsoft Office # Office Tool Plus目前支援到Microsoft Office 2024 LTSC和Microsoft Office 365。\nLTSC就是買斷版，關於其和365的差別，請參考Microsoft官網說明\n安裝Office前請先解除安裝電腦上的所有Microsoft Office軟體，包含Microsoft Store的網頁版Office 365。\n以Microsoft Office 2021為例，在首頁點選下載安裝最新版的「Office LTSC專業增強版」，等待下載完成。 你也可以改在「部署」頁面詳細指定要下載的Microsoft Office版本、位元、架構。 4. 啟用Microsoft Office授權 # Microsoft Office裝完後還得用金鑰啟用（激活）產品的授權。\nOffice Tool Plus支援多種啟用方式，你可以找MAK金鑰，或者連線到第三方KMS伺服器完成驗證。\n切換到啟用頁面，填入KMS主機位址，點選「設定主機」，再點選「啟用Office產品」即可。 關於可用的主機列表，請看Yerong所整理的清單，從裡面選一個速度比較快的來用。\n如果真的沒有一個主機能用的，那麼請改用Microsoft Activation Scripts來啟用Office授權。\nKMS授權有效期限通常是180天，過期了要重新啟用，所以請把Office Tools Plus工具留著哈。\n參考資料 # Office Tool Plus官網 https://otp.landian.vip\n開發者寫的教學 新手必读 Office Tool Plus 入门教程 - Yerong の小窝\n","date":"2025年1月26日","externalUrl":null,"permalink":"/posts/office-tool-plus/","section":"所有文章","summary":" 本文解說如何使用Office Tool Plus免費下載Microsoft Office軟體，並啟用產品授權。 1. 概論 # Office Tool Plus為中國開發者Yerong開發的免費軟體。沒有開放原始碼，風險自負（Github上只有翻譯檔）。\nOffice Tool Plus是專為大量部署Office設計的，整合了Microsoft官方推出的Office大量部署工具，程式檔案全部都是從Microsoft伺服器下載的原汁原味軟體，沒有經過任何修改。\n你可以透過統一的面板管理Office授權。如果你有購買Office金鑰，或是學校企業機關有提供線上KMS啟用，那麼這個工具能夠協助你輕鬆啟用Office產品。\n不過嘛…既然Office Tool Plus能夠連線到「任意」KMS伺服器，那麼當然也能夠連線到第三方KMS伺服器，免費啟用Office授權。\n嚴格來說，透過非官方授權認證的KMS伺服器啟用的Office產品，依然算是盜版。 有能力請還是購買Office授權，並用正版KMS伺服器啟用產品。\n2. 安裝Office Tool Plus # 系統版本需要Windows 10以上。\n到官網或者Github Releases下載。選取 Office_Tool_with_runtime_x64.zip的版本。\n","title":"Office Tool Plus教學，啟用Microsoft Office LTSC \u0026 365授權的輔助小工具","type":"posts"},{"content":"Manage Flatpak applications with ease using Flatseal!\nMake Flatpak application arguments persistent after running flatpak update.\n本文Ivon解說「flatpak override用法」\nFlatpak使用Bubblewrap實現應用程式沙盒化，並規範了一套權限(permission)，加強系統安全性。\n如果使用Flatpak安裝應用程式，你可能會遇到一些權限問題，比如：\nGoogle Chrome瀏覽器無法開啟特定硬碟的檔案，無法拖曳圖片到視窗上傳 Steam收藏庫無法選擇其他硬碟 GIMP無法開啟照片 應用程式的檔案選擇對話框只看到Downloads資料夾 會發生這種現象是因為，Flatpak採用沙盒隔離機制，Flatpak打包的應用程式預設是無法存取家目錄以外檔案的。如果應用程式又沒使用XDG Portal API的話，你就得手動賦予權限。\n想確定Flatpak的程式能否看到特定目錄的檔案，可以嘗試登入容器的bash shell，再執行指令確認。例如這是登入Steam客戶端的容器：\nflatpak run --command=/bin/bash com.valvesoftware.Steam ls / 如果在容器裡面看不到特定目錄，那就得調整權限了。\nFlatpak賦予權限可用flatpak override指令，我個人則是比較喜歡用圖形程式「Flatseal」操作。 1. 用flatpak override指令賦予權限 # flatpak override這個指令可以開關網路、目錄、匯流排、硬體裝置、X11伺服器等等的存取權限，也可以用來設定環境變數。\n如果您想知道每個權限的詳細用途，請看Flatpak文件的說明。\nflatpak override指令的寫法如下，中間是權限，最後面是應用程式名稱：\nflatpak override \u0026lt;權限設定\u0026gt; com.valvesoftware.Steam 例如，我要開放Steam讀取「下載」目錄： flatpak override --filesystem=xdg-download com.valvesoftware.Steam 以上指令會將你變更的權限寫入到~/.local/share/flatpak/overrides，當Flatpak程式執行的時候，這裡的規則會優先套用。 2. 用圖形程式Flatseal調整權限 # 每個程式都要手打指令調整權限不是很方便，所以我通常會使用圖形化的Flatseal調整權限。 一些觀念 # Flatseal本身也是個Flatpak軟體，用以下指令安裝： flatpak --user install com.github.tchx84.Flatseal 裝好開啟就可以調整權限了，Flatseal的功能延伸自flatpak override，它會將你變更的權限寫入到~/.local/share/flatpak/overrides，當Flatpak程式執行的時候，這裡的規則會優先套用。\n請看Flatseal文件了解權限的用途。Flatseal欄位都有對應flatpak override指令的提示，像Enviornment對應的是flatpak override指令中的--env，也就是環境變數；File system則是對應--filesystem，即應用程式可存取的目錄。\n根據Flatpak文件，非必要的時候不要直接指定絕對路徑，而是使用XDG標準。例如要開放讀取「下載」目錄，應該使用xdg-download而非/home/user/Downloads\n注意不要賦予過多權限，有些程式如果開到「存取所有目錄的權限」(--filesystem=host或--filesystem=user) 則檔案放置的位置會亂掉，例如Flatpak版Google Chrome的設定檔會放在~/.var，開了之後會變回預設的~/.config。且根據Flatpak文件，filesystem=host其實也沒有真的開放全部系統目錄。所以通常我是看需求開放，如果Flatpak程式在彈出檔案選擇器的時候沒有用到XDG Portal API導致檔案看不到，那我才會開放權限。\n具體操作 # Flatseal最上面的「All Applications」是全域設定，所有的應用程式會全域套用規則。\n但是！儘量不要動這裡的設定，因為不同程式可能有不同的設計，如果你給所有應用程式開放全部的權限就失去用Flatpak的意義了！需要的時候，再要給個別應用程式開放權限就好。\n我唯一會動的設定，就是在File system處的Other files，新增所有外接硬碟的路徑，使所有Flatpak程式預設都能存取那些硬碟下的目錄。 接著介紹一些常見的設定。\n開放應用程式讀取特定目錄：比方說我有一個額外掛載的硬碟，用lsblk指令查看後，掛載點確認是/run/media/user/SSD，那麼就將路徑加進去Other Files。路徑後面還可以加上:ro或:rw規定該目錄是否為唯讀狀態。 又如，需要暫時使用Nvidia獨立顯示卡跑3D加速，那麼就在Environment欄位設定Nvidia PRIME的環境變數： 如果你想強迫特定程式以X11模式執行，就把Wayland的權限關掉，並開啟Fallback to X11，這樣在Wayland工作階段該程式就會變成XWayland模式執行。 有些程式資料喜歡亂放dotfiles，可把Filesystem和Persistent的權限關掉，強迫程式把資料放到Flatpak專用的~/.var。不過程式開發者若沒有考慮到Flatpak設定，你這樣做可能會影響該程式與其他程式的整合。 若害怕應用程式亂回傳資料的，直接關掉 Share → Network，斷它網路！\n還有，Device欄位的All Devices權限關掉後，應用程式就無法存取相機和USB裝置。 3. 保留Flatpak程式的啟動引數，不被更新覆蓋 # 最新版的Google Chrome可以用啟動引數--ozone-platform=auto進入純Wayland模式。\nFlatpak的指令啟動方式是：flatpak run com.google.Chrome --ozone-platform=auto\n如果希望點選應用程式列表的Google Chrome圖示就自動以這個引數啟動的話，得修改Desktop Entry，你應該會直覺的想要修改~/.local/share/flatpak/exports/share/applications/com.google.Chrome.desktop吧，在Exec=後面加上引數。這樣點選應用程式列表的時候就會自動套用該引數。可惜這個檔案會跟著flatpak update更新而被覆蓋，導致每次更新都要重作一次這個步驟。\n要讓引數維持有效，可以利用我們上面提過的flatpak override檔案達成。\n參考Google Chrome的metadata寫法：\ncat ~/.local/share/flatpak/app/com.google.Chrome/current/active/metadata 然後新增這個override檔案：\nvim ~/.local/share/flatpak/overrides/com.google.Chrome 填入以下內容：\n[Application] command=chrome --ozone-platform=auto 理論上這對所有程式應該都有效。\n","date":"2025年1月25日","externalUrl":null,"permalink":"/posts/flatseal-flatpak-permission/","section":"所有文章","summary":"Manage Flatpak applications with ease using Flatseal!\nMake Flatpak application arguments persistent after running flatpak update.\n本文Ivon解說「flatpak override用法」\nFlatpak使用Bubblewrap實現應用程式沙盒化，並規範了一套權限(permission)，加強系統安全性。\n如果使用Flatpak安裝應用程式，你可能會遇到一些權限問題，比如：\nGoogle Chrome瀏覽器無法開啟特定硬碟的檔案，無法拖曳圖片到視窗上傳 Steam收藏庫無法選擇其他硬碟 GIMP無法開啟照片 應用程式的檔案選擇對話框只看到Downloads資料夾 會發生這種現象是因為，Flatpak採用沙盒隔離機制，Flatpak打包的應用程式預設是無法存取家目錄以外檔案的。如果應用程式又沒使用XDG Portal API的話，你就得手動賦予權限。\n想確定Flatpak的程式能否看到特定目錄的檔案，可以嘗試登入容器的bash shell，再執行指令確認。例如這是登入Steam客戶端的容器：\nflatpak run --command=/bin/bash com.valvesoftware.Steam ls / 如果在容器裡面看不到特定目錄，那就得調整權限了。\nFlatpak賦予權限可用flatpak override指令，我個人則是比較喜歡用圖形程式「Flatseal」操作。 1. 用flatpak override指令賦予權限 # flatpak override這個指令可以開關網路、目錄、匯流排、硬體裝置、X11伺服器等等的存取權限，也可以用來設定環境變數。\n","title":"無法開啟檔案？用Flatseal調整Linux Flatpak應用程式權限 ＆ flatpak override用法","type":"posts"},{"content":" 這是一款讓你在網頁、Linux、Windows、macOS、Android、iOS無限閱讀免費漫畫的軟體。\n在Android手機免費看漫畫的用戶，應該都有聽說過Mihon (Tachiyomi)這款開源APP吧，它擁有豐富擴充套件支援，能夠在一款APP閱讀許多網站的漫畫。\n電腦版一直沒有類似軟體，於是有開發者製作了「Suwayomi」，強化原版Mihon的功能，使其做到真正的跨平台。\n你可以隨時隨地閱讀線上免費漫畫 或者是下載漫畫到自己的收藏庫，妥善整理 不論是在手機還是平板，都能閱讀自己的漫畫 本文講述如何架設Suwayomi伺服器、新增中文漫畫來源，以及用Tachidesk閱讀伺服器漫畫的方法。\n1. Suwayomi與Mihon的差異 # Suwayomi是Suwari yomi的簡寫，日文意思為「坐著看書」。\nSuwayomi不是Mihon的分支(fork)，而是整個重新開發的程式，功能十分類似。Suwayomi使用Java寫成，開發者宣稱Suwayomi相容Mihon的擴充套件。 Mihon是單機應用程式，Suwayomi是伺服器程式。也就是說，Suwayomi將Mihon變成一個中心化的漫畫伺服器，使用者用客戶端APP存取伺服器的漫畫資源。 這樣一來，漫畫管理就方便多了，使用者不只可以將漫畫統一下載到指定電腦，還能用手機、平板裝置隨時閱讀自己的收藏庫。\n說到這個客戶端APP，要用什麼APP存取Suwayomi的資源呢？最簡單的方式就是利用Suwayomi提供的網頁界面，用瀏覽器就能看了！Suwayomi版面會自動根據螢幕大小變化，就好像在網頁裡使用Mihon一樣。 再不然，我們可以用「Tachidesk Sorayomi」應用程式閱讀漫畫。這款Flutter寫的APP完美支援各大作業系統，讓你不論在電腦還是手機上，都能夠閱讀Suwayomi伺服器的漫畫。\n「Tachidesk」為日文站著和英文桌子加起來的混合字，而「Sora yomi」就是在雲端看書的意思了！ 此外，就「漫畫伺服器」這點而言，Suwayomi雖然管理漫畫收藏的功能較為陽春，但勝過Kavita、Komga、calibre、LANraragi同類產品的點在於，它有豐富的線上漫畫庫，能夠隨開即用，而不用依賴使用者本機保存的漫畫。因此Suwayomi適合線上看為主，下載為輔的用戶。\n2. 架設Suwayomi伺服器服務 # 本處內容參考官方Github說明撰寫。\nWindows # 到Suwayomi的Github下載安裝檔Suwayomi-Server-windows-x64.msi\n點二下安裝，Suwayomi就會安裝至Windows選單。點Suwayomi Launcher的應用程式圖示啟動。 選取存放伺服器檔案的資料夾，再點選Launch。 隨後用瀏覽器開啟http://localhost:4567，進入WebUI。\nSuwayomi開啟後圖示會跑到系統匣，點選關閉伺服器。\n如果要開放外部網路連線，請允許Suwayomi通過防火牆，開放4567通訊埠。並在Suwayomi Launcher的選單設定Server bindings為0.0.0.0，這樣同一Wifi下的裝置就能連線到Suwayomi伺服器。 請考慮使用內網穿透軟體，讓你能夠從外部網路連線到伺服器。\nLinux # 為方便部署到不同發行版，我選擇用Docker跑伺服器服務。\n於Linux安裝Docker\n從開發者的Github儲存庫取得docker-compose檔案\ncd ~ mkdir suwayomi-server wget https://raw.githubusercontent.com/Suwayomi/docker-tachidesk/main/docker-compose.yml 依照自身情況調整docker compose內容。flaresolverr服務為繞過網站的Cloudflare驗證之用。 version: \u0026#39;3.7\u0026#39; services: suwayomi: image: ghcr.io/suwayomi/tachidesk environment: - TZ=Asia/Taipei # 修改時區 volumes: - ./data:/home/suwayomi/.local/share/Tachidesk # 資料存放路徑 ports: - \u0026#34;4567:4567\u0026#34; restart: on-failure:3 flaresolverr: image: ghcr.io/flaresolverr/flaresolverr:latest container_name: flaresolverr environment: - TZ=Asia/Taipei # 修改時區 ports: - \u0026#34;8191:8191\u0026#34; restart: unless-stopped 開放4567通訊埠 sudo ufw allow 4567 sudo ufw reload 考慮使用內網穿透軟體，讓你能夠從外部網路連線到伺服器。\n啟動服務，用瀏覽器開啟http://localhost:4567進入WebUI。\nsudo docker compose up -d macOS # 到Suwayomi的Github下載Suwayomi-Server-v1.0.0-r1498-macOS-arm64.zip\n解壓縮，點二下Suwayomi Launcher.command指令稿啟動WebUI與伺服器服務。\n用瀏覽器開啟http://localhost:4567，進入WebUI。\nAndroid # 安裝Termux\n安裝OpenJDK 17\npkg install wget openjdk-17 到GitHub releases，取得Suwayomi的Jar檔 wget https://github.com/Suwayomi/Suwayomi-Server/releases/download/v1.0.0/Suwayomi-Server-v1.0.0-r1498.jar 執行Jar java -jar Suwayomi-Server-v1.0.0-r1498.jar 等待一會後，用手機瀏覽器開啟http://localhost:4567 3. 新增漫畫擴充套件來源 # 首先請點選左邊Settings → Languages，將網頁語言調成中文。 漫畫來源儲存庫即瀏覽各大漫畫網站的擴充套件，Suwayomi沒有內建任何漫畫來源，你得自己新增。\n點選左邊設定 → 瀏覽 → 擴充套件儲存庫，填入儲存庫的網址 我用的是keiyoushi的儲存庫，裡面各大語言的來源都有了：https://raw.githubusercontent.com/keiyoushi/extensions/repo/index.min.json\n如果擴充套件有bug，請到keiyoushi的儲存庫回報。因為keiyoushi儲存庫的部份套件有用到Android才有的功能，可能會遇到不相容的問題。\n之後到左邊的瀏覽 → 擴充套件頁面，點選右上角，啟用中文來源 於是你就可以下載各式各樣的擴充套件 到「來源」頁面，同樣點選右上角啟用中文來源，才會顯示線上來源的漫畫。 點進各大來源的頁面就能瀏覽該站點的漫畫了。有些站點需要點右上角登入帳號才能存取。 另外，你可以給Suwayomi網頁界面設定密碼，請參考官方文件編輯server.conf，填寫server.basicAuthPassword的數值。\n4. 管理Suwayomi下載的漫畫 # 點選書籤圖示，將線上漫畫加入到個人收藏庫。 點選漫畫章節可下載漫畫，方便離線閱讀，下載的漫畫圖檔會放到Suwayomi伺服器所在資料夾的/data/downloads/manga資料夾。圖片通常沒有加密。\n你可以在Suwayomi設定　→　下載，選擇要將漫畫下載為.cbz還是純圖檔。\n5. Suwayomi收藏庫加入本機漫畫 # Suwayomi的收藏庫支援讀取本機硬碟的漫畫圖檔(Local Source)，也就是你自己準備的漫畫檔案。\n預設路徑是/data/local/，這個路徑能在設定 → 瀏覽 → 本機來源位置變更。\n關於本機漫畫格式的詳細格式，請參考Local Source - Suwayomi Wiki\nSuwayomi要求一個系列的漫畫一個資料夾，每個章節一個資料夾，所以我會這樣放置檔案： 之後便能在Suwayomi的瀏覽 → 本機來源看到漫畫了。 6. 安裝Tachidesk APP閱讀漫畫 # Tachidesk (Tachidesk Sorayomi) 為一款專門為Suwayomi設計的客戶端APP，用Flutter寫成，支援Linux/Windows/macOS/Android/iOS系統。\n現在市面上有很多相容Suwayomi伺服器的APP，選這款只是因為方便跨平台。如果你想使用現有的Mihon客戶端（例如TachiyomiJ2K），那麼就以擴充套件來源的方式安裝Suwayomi擴充。\nTachidesk必須搭配Suwayomi伺服器才能使用，本身無法新增漫畫來源。\n在Github取得各大平台的安裝檔。 Android裝APK，iOS的話請用AltStore側載IPA。\n裝完後開啟APP，點選設定 → 一般 → 伺服器，填入Suwayomi伺服器IP 這樣一來，你就能閱讀遠端伺服器的漫畫了。 ","date":"2025年1月25日","externalUrl":null,"permalink":"/posts/suwayomi-tachidesk/","section":"所有文章","summary":" 這是一款讓你在網頁、Linux、Windows、macOS、Android、iOS無限閱讀免費漫畫的軟體。\n在Android手機免費看漫畫的用戶，應該都有聽說過Mihon (Tachiyomi)這款開源APP吧，它擁有豐富擴充套件支援，能夠在一款APP閱讀許多網站的漫畫。\n電腦版一直沒有類似軟體，於是有開發者製作了「Suwayomi」，強化原版Mihon的功能，使其做到真正的跨平台。\n你可以隨時隨地閱讀線上免費漫畫 或者是下載漫畫到自己的收藏庫，妥善整理 不論是在手機還是平板，都能閱讀自己的漫畫 本文講述如何架設Suwayomi伺服器、新增中文漫畫來源，以及用Tachidesk閱讀伺服器漫畫的方法。\n1. Suwayomi與Mihon的差異 # Suwayomi是Suwari yomi的簡寫，日文意思為「坐著看書」。\nSuwayomi不是Mihon的分支(fork)，而是整個重新開發的程式，功能十分類似。Suwayomi使用Java寫成，開發者宣稱Suwayomi相容Mihon的擴充套件。 Mihon是單機應用程式，Suwayomi是伺服器程式。也就是說，Suwayomi將Mihon變成一個中心化的漫畫伺服器，使用者用客戶端APP存取伺服器的漫畫資源。 ","title":"Suwayomi + Tachidesk教學，架設免費線上看漫畫伺服器，電腦版Mihon","type":"posts"},{"content":"「簡單來說，最近的政治紛爭可以這樣比喻…」不，你不能這樣比喻。\n社群媒體上面，不當類比的謬誤比比皆是，針對我國立法院預算受在野黨監督，不論是用油電車、選班長、乞丐要飯仔還是人體血管比喻都不恰當，老實說做梗圖（meme，迷因）我也覺得不是好的討論方式。\n一些中國反賊說，中國人五行缺爹，繼承千年來的君王思想，沒有平等的概念，對世界的認識都是認為背後要有一個人控制誰的不對等關係，因為這樣簡單的「陰謀論」更讓人容易理解複雜的世界關係。那有些台灣人真不愧繼承了中國人的血脈，總認為自己需要一個強力的爸爸！別人就是另外一個邪惡的爸爸控制的！我們要保護自己爸爸的利益，所以才有那句經典的「我是你爸爸」。\n「沒實力就不要大小聲」這句話本身可能也是一種缺爹觀的展現。但是他們不知道，世界不是牢籠，是一個巨大的花園。\n回到台灣本身，很多公共議題不是用腦筋急轉彎的小聰明比喻就能解決的，那會簡化掉許多本該有的脈絡，忽略掉受害者的聲音，甚至陷入出題者的思考方向。\n比如：刪除預算應該是抽掉5公升血液呢，還是其實是割除惡性腫瘤？兩種不同的解說方式，就會給閱聽人帶來不同的影響。要是做成梗圖就更會造成誤解了。\n再者，法律不是一個比喻就能解決的事情，錯誤的類比會形成謠言的功用，散佈恐慌。就像，禪宗的公案能夠給人頓悟的機會，但現實世界沒有太多人願意吃這一套！他們嘴巴滿口仁義道德與中華民國，心中卻只想著種電發大財。要是在壯世代利益迴避爭議爆發後，還說自己是蘇東坡與佛印的故事，飛禽走獸依然不會買單的，這種簡單的口號只能喊給自己的支持者聽聽，但無利於公共政策的討論品質。\n我得承認，台灣檯面上各個政黨都有情緒動員的成份存在，喊口號勝過理性思辨，民眾黨亦不例外。因為有政黨就是耍流氓手段，導致其他政黨得跟著耍流氓，導致陷入惡鬥的迴圈。才會導致那麼多法案在2024年被強硬通過。然後有時候我也會跟著轉鼓勵仇恨動員的梗圖，就為了贏得同黨支持者的讚聲。啊就沒辦法啊\u0026hellip;你長篇大論不如黨的御用插畫家塗一張造謠圖卡要來的有力。\n現在畢竟脫離迷信時代很久了，現在又進入資訊焦慮時代，人人都有話語權，過去的所謂「智者給年輕人的箴言」「傾聽神諭」能影響到的人群不再如以往那麼多了。就算是給不懂政治的人士科普，也應謹慎。如果起碼整理出正反方意見還有時間軸，自行做出判斷，那才是負責任的閱聽人。\n青鳥頻飛 學者：理性討論愈限縮 - UDN\n聽說Threads有「民主長城」和「建議封鎖名單」，我想起Pink Floyd一首歌的歌詞：All in all, we are just another brick in the wall. 這屬於作繭自縛的典範，把有血有肉的人類，不分青紅皂白（青色？不是綠色的？難怪會內戰，所以青鳥會內鬥是正常的）的全部當成網軍加進去名單，然後光用草、藍、紅的屬性就予以否定，強制消音，那不過是在打造自己的同溫層而已。\n看不見房間裡面的大象，只想著仇恨的抽象。除了中共外，世界本沒有牆，但是自己把自己關進去了。民主社會不能強迫要求所有人思想一致。話說，Pink Floyd這首歌的第一句是：We don’t need no education. 我覺得這句適合雙關，隱含意思是「我們不要接受整齊劃一的教育」，但用字面意思去解釋「讀書犯法」的那些貼文好像也可以XDD 更絕的是搭配時事：Hey! Teacher! Leave kids alone!\n王義川與幼兒談論立院衝突惹議　民眾憂洗腦教育介入恐不妥 - CTWant\nBut, if you’re thinkin’ about my baby. It don’t matter if you’re black or white.\n再來複習一個基本的邏輯問題：\n這是一本必看的書：那些造謠的人到底在玩什麼把戲？｜《反智》｜文森說書\n正逢立法院預算審查，刪除預算假消息滿天飛的時期，這傢伙敢出這種影片真的很勇喔，果不其然留言區馬上上演小草青鳥大戰XDD 兩邊的支持者都親自示範什麼叫做邏輯死亡的討論。\n看完這部我只能說，媒體識讀依然重要，不應該未經查證就相信片面消息，尤其是關心政治的人們，更容易淪為宣傳工具操弄的對象。\n這本書講的邏輯謬誤我都略有耳聞，畢竟我以前大學修過邏輯通識課的基礎訓練（我依然覺得這是修過最有意義、最有價值的通識課），但能不能奉行依然要看個人修養，我是否嚴以律人卻寬以待己呢？有待未來不斷改進。\n記得教邏輯謬誤的老師有說過，學這個不是要讓你當槓精，天天挑人語病，而是要學習更謹慎的判斷事物的態度，讓事情討論能接近真理。\n我覺得是這樣啦，看完這部影片，最有收穫的應該是能是懂得自省的人，是不是發現了自己也有這種現象，儘量嘗試以後不要再犯。比起那些看完之後就開始在留言區講「果然青鳥就是這樣，可悲的蟾蜍」「這不就是在講零智草人，小草都是社會底層」的人還能學習到更多。\n邏輯死亡的人確實很多，但重要的是你是否願意謙虛的接受自己似乎也有所不足，而不是急著就開始用偏見來合理化對反對者的貶低行為。為那些沒有自知之明，看完這部影片，依然認為自己的政黨就是至高無上，覺得反對者都不是人類，以封鎖他人為樂的人群，感到惋惜。\n“Humility is not thinking less of yourself, but thinking of yourself less.”\n","date":"2025年1月23日","externalUrl":null,"permalink":"/posts/2025012301/","section":"Politics","summary":"「簡單來說，最近的政治紛爭可以這樣比喻…」不，你不能這樣比喻。\n社群媒體上面，不當類比的謬誤比比皆是，針對我國立法院預算受在野黨監督，不論是用油電車、選班長、乞丐要飯仔還是人體血管比喻都不恰當，老實說做梗圖（meme，迷因）我也覺得不是好的討論方式。\n一些中國反賊說，中國人五行缺爹，繼承千年來的君王思想，沒有平等的概念，對世界的認識都是認為背後要有一個人控制誰的不對等關係，因為這樣簡單的「陰謀論」更讓人容易理解複雜的世界關係。那有些台灣人真不愧繼承了中國人的血脈，總認為自己需要一個強力的爸爸！別人就是另外一個邪惡的爸爸控制的！我們要保護自己爸爸的利益，所以才有那句經典的「我是你爸爸」。\n「沒實力就不要大小聲」這句話本身可能也是一種缺爹觀的展現。但是他們不知道，世界不是牢籠，是一個巨大的花園。\n回到台灣本身，很多公共議題不是用腦筋急轉彎的小聰明比喻就能解決的，那會簡化掉許多本該有的脈絡，忽略掉受害者的聲音，甚至陷入出題者的思考方向。\n比如：刪除預算應該是抽掉5公升血液呢，還是其實是割除惡性腫瘤？兩種不同的解說方式，就會給閱聽人帶來不同的影響。要是做成梗圖就更會造成誤解了。\n再者，法律不是一個比喻就能解決的事情，錯誤的類比會形成謠言的功用，散佈恐慌。就像，禪宗的公案能夠給人頓悟的機會，但現實世界沒有太多人願意吃這一套！他們嘴巴滿口仁義道德與中華民國，心中卻只想著種電發大財。要是在壯世代利益迴避爭議爆發後，還說自己是蘇東坡與佛印的故事，飛禽走獸依然不會買單的，這種簡單的口號只能喊給自己的支持者聽聽，但無利於公共政策的討論品質。\n","title":"用抖機靈和梗圖講政治是一種反智的行為","type":"politic"},{"content":"Zen Browser，終於有不是基於Chromium開發的新瀏覽器出現了。 私以為，電腦上界面最好看的瀏覽器，是macOS的Safari，還有Linux的GNOME Epiphany（暫不討論擴充功能和自訂CSS）。他們不如主流的Chrome、Edge、Firefox要受歡迎，但是界面設計很有一套，有一種設計師製作的產品的美感。\n可惜Ivon沒辦法支持他們，因為他們使用第三種瀏覽器排版引擎WebKit，迫使開發者還要分神去支援他們的詭異標準。GNOME Epiphany或許還有討論空間，但Safari就完全是Apple主導的封閉式標準了。\n現在有了新選擇，Zen Browser，它應該是受到Arc Browser影響，所以採用全新的設計語言，顛覆以往對瀏覽器的想像。最大不同的地方在於，Zen Browser為開源專案，所有程式碼全部公開，任何人都能自由使用。\n且Zen Browser不是基於Chromium，而是基於Firefox開發，這代表它繼承了：\n豐富的擴充功能體系 強大的隱私保護功能 你熟悉的Firefox快捷鍵 登入Mozilla帳號同步書籤 跨平台運作能力。 AI聊天與摘要功能 在Firefox的基礎上，Zen Browser開發者重新設計了界面。Zen Browser提供側邊分頁欄、懸浮網頁視窗、工作區、分割螢幕的便利功能，大大轉變了使用者對Firefox的印象。不論你是想要多功能側邊欄還是極簡風的瀏覽器體驗，Zen Browser都能實現，後面將由Ivon一一細數。\nIvon覺得，Zen Browser雖然加入了很多新功能，但是沒有把界面做得很複雜，不會像Microsoft Edge界面看上去那樣煩躁。這可真是印證了官網所說的\u0026quot;welcome to a calmer internet.\u0026quot; 1. 安裝Zen Browser # Zen Browser支援Linux、macOS、Windows系統。\n請到官網下載安裝檔。\n目前macOS和Window的Zen Browser尚未支援DRM，觀看Netflix這類內容可能會無法以最高畫質觀看。\nLinux使用Flatpak即可安裝，原生支援Wayland工作階段，且Linux版內建DRM支援。\nflatpak install flathub app.zen_browser.zen 2. 基本操作 # Zen Browser可以沿用Firefox的快捷鍵，不過要適應界面變化。\n預設的分頁是顯示在左側，不是上方。網址列、設定選項、擴充功能都統一顯示在左側，分頁以垂直顯示。滑鼠碰一下視窗頂部才會出現打叉鍵。 垂直分頁是Zen Browser的特色，有些人可能覺得跟以前在上方的水平分頁比起來，用的很不習慣，很佔據螢幕空間。的確，螢幕小的電腦會明顯感覺到網頁可視範圍被壓縮了，不過垂直分頁的好處在於開啟多個分頁的時候，能夠一目了然的知道自己開了哪些分頁。就算開超過十個以上也能從標題去判別，而不會像水平分頁一樣越開越多卻全部擠在一起。至於網頁因為垂直分頁被壓扁的問題，建議使用緊湊模式解決（後述）。\n你可以點選登入Mozilla帳號，與Firefox同步資料。 Zen Browser預設的布局為Single toolbar，這個布局不會顯示書籤列，得按Ctrl + B，叫出Firefox的書籤管理員。 Zen Browser的網址列和搜尋列是一體的，它能夠前往網址也能夠進行Google搜尋。鑑於Zen Browser把它變得很小，我個人覺得這樣很難按。所以，要進行搜尋的時候我會按Ctrl + L或Ctrl + T，直接將輸入焦點切換到網址列（應該會顯示在螢幕中間），這樣就能快速進行搜尋。順帶一提網址列也可以搜尋書籤呦。 Glance功能：按著Alt鍵，再點一下網頁內的超連結，會跳出一個預覽網頁內容的視窗。我覺得在Hacker News或者PTT這類純文字社群的時候十分有用。 如何啟動分頁分割：按Ctrl或Shift選取二個以上的分頁，再右鍵點選「分割分頁」或者按Ctrl + Alt + G，即可將兩個分頁並排顯示，這時他們會成為一組網頁，關閉其中一個另一個跟著關閉。按Ctrl + Alt + U，解除分頁分割。 分割分頁是讓你能夠一邊參考資料一邊寫文件，而不用視窗切來切去。我看到Hacker News上面有人說這功能是瀏覽器在搶平鋪視窗管理員的工作\u0026hellip;\u0026hellip;這樣說也沒錯啦，Linux不論是GNOME還是KDE Plasma都有視窗並排功能。\n其實Zen Browser也能做到類似平鋪視窗管理員的效果喔！按Ctrl + Alt + H切換為水平分割，Ctrl + Alt + V切換為垂直分割。\n切換到其他分頁，按Ctrl + Alt + G，把新的分頁加入分割視窗。如下圖，先開水平分割的二個分頁，再加入一個垂直分割的分頁。 Zen Browser Web Panel：點一下右上角的按鈕就會跳出來一個小視窗。這個視窗能夠快速存取你最喜愛的網頁，點一下任意處就會消失。我覺得這個功能比較適合用來存取筆記本的程式，寫點靈感或者待辦事項吧！ 3. 工作區使用方式 # Firefox原本只有設定檔(profile)與容器(container)功能，Zen Browser額外加入了工作區(workspace)的概念。如果你用網頁程式就能完成大部分工作，那麼Zen Browser的工作區設計就是真正能夠做到不離開瀏覽器視窗的設定，只要同一個視窗切換即可。\n什麼時候要用工作區，什麼時候要用設定檔呢？\n工作區適合單人工作的場合，區分個人與工作的分頁，能夠專心整理各個工作所需要的資料，結合分割分頁的功能，就能夠每個工作區有不同的視窗配置。書籤和密碼在多個工作區之間是共用的。\n而設定檔是完全獨立的存在，書籤和密碼不會共享，適合多人操作同一部電腦的時候使用。至於容器，適合一個網站登入多個帳號的時候使用。\n工作區應該會顯示在Zen Browser的左側，點選新增工作區。例如我把它分為「個人」、「工作」、「學習」 將滑鼠放到分頁區，按Ctrl+滑鼠滾輪，切換工作區\n右鍵，修改工作區的佈景主題顏色。給每個工作區設定不同的強調色。 對分頁按右鍵，點選加入Essentials，就會顯示在Zen Browser工作區上方，每個工作區都能看到這些分頁。 這個功能有點類似書籤，用意在於方便使用者存取常用網頁程式，比如Google翻譯，或者通訊軟體的頁面。如果你在Essentials裡面點選網址，Zen Browser會自動跳出新分頁。\n不過Essentials目前bug有點多，如果你改在網址列打字，則Essentials會跟著變化，不會固定。而且對其按右鍵將分頁關閉後，竟然就自動從Eseentials列表移除了！？\nEssentials不等同書籤功能，要查看現有的Firefox書籤，得透過按Ctrl + B，叫出Firefox的書籤管理員。\n對了，Zen Browser會自動暫停閒置20分鐘以上的分頁，節省記憶體，Essentials也不例外。該功能可以在設定 → 分頁卸載器 調整。\n4. 調整界面布局，調整側邊欄大小 # 點選左上角進入Zen Browser設定 → 外觀與樣式 我覺得預設的Single toolbar就夠用了，統一將所有元素放在左邊。 開啟Multiple toolbar看起來畫面會很亂，左邊一個分頁區，上面又多出網址列\u0026hellip;\u0026hellip;好處是這個布局可以顯示書籤列。 若你的螢幕比較小，那麼開啟Collapsed toolbar，能夠增加網頁可視空間。 Zen Browser尚提供緊湊模式，按Alt + Ctrl + C切換。緊湊模式能夠隱藏所有UI元素，要滑鼠移動過去才會顯示。通常情況下只留網頁，給你一個平和安祥的瀏覽體驗。 需要更多自訂選項，請優先嘗試Zen Mods。Firefox內建的自訂界面功能可能無法在Zen Browser使用。\n5. Bug部份 # Zen Browser還有很多問題要解決，因為太多界面依賴原有的Firefox功能，出現原版的Firefox會感到很突兀。\n此外，Firefox的自訂外觀功能無法使用，變成得透過Zen Mods去修改瀏覽器外觀。\nZen Browser開發者選擇了一條艱難的道路，Gecko非主流的引擎，不少網頁支援度以Chromium為優先。此外他們不像Chromium一樣容易跨平台，要開發Android與iOS版本非常困難。\n如果要回報bug與提功能建議，請到Zen Browser的Github儲存庫回報。\n","date":"2025年1月23日","externalUrl":null,"permalink":"/posts/zen-browser/","section":"所有文章","summary":"Zen Browser，終於有不是基於Chromium開發的新瀏覽器出現了。 私以為，電腦上界面最好看的瀏覽器，是macOS的Safari，還有Linux的GNOME Epiphany（暫不討論擴充功能和自訂CSS）。他們不如主流的Chrome、Edge、Firefox要受歡迎，但是界面設計很有一套，有一種設計師製作的產品的美感。\n可惜Ivon沒辦法支持他們，因為他們使用第三種瀏覽器排版引擎WebKit，迫使開發者還要分神去支援他們的詭異標準。GNOME Epiphany或許還有討論空間，但Safari就完全是Apple主導的封閉式標準了。\n現在有了新選擇，Zen Browser，它應該是受到Arc Browser影響，所以採用全新的設計語言，顛覆以往對瀏覽器的想像。最大不同的地方在於，Zen Browser為開源專案，所有程式碼全部公開，任何人都能自由使用。\n且Zen Browser不是基於Chromium，而是基於Firefox開發，這代表它繼承了：\n豐富的擴充功能體系 強大的隱私保護功能 你熟悉的Firefox快捷鍵 登入Mozilla帳號同步書籤 跨平台運作能力。 AI聊天與摘要功能 在Firefox的基礎上，Zen Browser開發者重新設計了界面。Zen Browser提供側邊分頁欄、懸浮網頁視窗、工作區、分割螢幕的便利功能，大大轉變了使用者對Firefox的印象。不論你是想要多功能側邊欄還是極簡風的瀏覽器體驗，Zen Browser都能實現，後面將由Ivon一一細數。\n","title":"Zen Browser使用心得，界面漂亮沉著、靜默提昇生產力的瀏覽器","type":"posts"},{"content":" いつLinuxデスクトップの「美化」で遊ぶのをやめ、「デフォルトのままで十分きれい」主義になったのか。\u0026hellip;自分のセンスが本当にひどいと気づいたときだ。\nデスクトップ美化は本当に必要なのか？ # 博碩文化は2003年に、毛慶禎が書いた《KDE桌面美化大作戰》という本を出していた。表紙を見ると、当時はまだKDE 3.0の時代だったのだろう。この先輩たちは本当にすごい！市場でサーバー向けではなくデスクトップ向けのLinux書籍を出そうとする、数少ない存在だった。今の視点から見ると、当時のKDE 3は本当にひどく醜かった。GNOME 2と同じく、それはKDE 4まで続き、Oxygenテーマも相当醜かった（同時代のWindows 7と比べると）。KDE 5以降にBreezeテーマが出て、ようやく徐々にセンスが出てきて、現代的なオペレーティングシステムのインターフェースらしくなった。面白いのは、KDE 4はbugが多すぎたと聞き、Linuxコミュニティでは黒歴史扱いされている一方で、KDE 3はいまもforkされてメンテナンスされ続けていることだ。それがTrinity Desktopである。\nこれはMateデスクトップがGNOME 2を復刻した操作に少し似ていて、何が生きた化石なのかを見せてくれる。Linuxデスクトップを検索すると、よく美化という言葉を見かける。正直、私はかなりうんざりしている。私が自分のLinuxシステムをどう使おうが、お前に何の関係がある！はいはい、とはいえ私はもう美化で遊ぶ気力があまりない。いつLinuxデスクトップの「美化」で遊ぶのをやめ、「デフォルトのままで十分きれい」主義になったのか。…自分のセンスが本当にひどいと気づいたときだ。r/unixpornで他人が共有しているようなものは、まったく作れない。丸写しして、それが何だ？自分で適当にいじり始めると、すぐ継ぎ接ぎだらけの怪物になる。\n生まれつき美的感覚がない人もいる。何が美なのかを知るには、芸術の訓練を受ける必要がある。そうでなければ、よくわからないものを大量に入れてめちゃくちゃにいじり、できあがるものはWordのワードアート＋長輩図みたいなものになる。あるいは無思考にMacを真似するだけで、純粋な時間の無駄だ。カスタマイズに反対しているわけではないが、カスタマイズしすぎたデザインは、自分が気持ちよくなっているだけのように見える。\nもしかすると自分でデスクトップを手彫りできるかもしれない # 一般的なデスクトップ環境と比べて、Tiling window managerは人のgeek精神を刺激しやすい。何でもカスタマイズできるからだ。\n質問する前にまずgoogleしろ。菩提本無樹、いずこに茶色い塵埃を惹かん（この韓国の巨乳売りゲームの脱衣メカニズムはかなり凝っていて、第七史詩よりも誇張されている）。\nLinuxを長く使うほど、万法帰一の悟りが出てくる。最後には、ディストリビューション間の違いなど根本的には存在せず、みんなLinuxカーネルを使っていて、上層の見かけが違うだけなのだとわかる。\nだが、それは誰もが自分でdebugする覚悟を受け入れられるという意味ではない。理論上、各ディストリビューションの差異は他のオペレーティングシステムとの差ほど大きくないとしても、unreproducible bugsはしょっちゅう発生する = = だから私は初心者に、目立ちたいだけであまりにもニッチなディストリビューションを使うことは勧めない。まずは比較的多くの人が使っているものから始めよう。入世してこそ出世できる。\n自分はプログラミングの天才で、実務経験なしにオペレーティングシステムの本質を悟り、世界を震撼させる新システムを手書きすると言えるのでないかぎりは。GNOMEとKDEを離れて、Hyprlandのような他のtiling window managerを使う場合、GTKとQTの環境変数を設定する必要があり、XDGの背後にある標準を理解すると、この点をより体感できる。そして実装してみると、とても面倒だとわかる。今のWayland時代のデスクトップは、もはやstartx一発で起動するほど単純なものではないからだ。\ntiling window managerを使うと、主流デスクトップ環境で当たり前だと思っていた操作が、実は背後にいる多くの開発者の努力の蓄積だったことに気づく。そしてコミュニティの合意を凝集し、標準を制定してこそ現在の自由ソフトウェア世界が形成される。さらに多くの場合、妥協して、皆がなんとか受け入れられる合意を見つける必要がある。\nLinuxは一見すると断片化しており、各ディストリビューション間で標準がばらばらに見えるが、実はやはり規則性がある。だからこそRTFM！！！なのだ。良いシステムには必ず良いドキュメントがある。RedHatには美しいドキュメントがあり、Debianには専門のマニュアルがあり、Arch Linuxには詳細なWikiがある。ましてstackoverflowで質問している人もたくさんいる。それらを何も読まずに答えをくれくれするなら、罵られて当然ではないか。\nネット上で広く誤伝されているダニング＝クルーガー効果の図によれば\n達克效應（DK Effect）的美麗錯誤 — — 對無知的無法認知：愚昧之巔、絕望之谷 by Coach Chiao\nおそらく私は今も愚昧の頂にいて、少しLinuxコマンドを知っているだけで自分はすごいと思っているのだろう。しかし背後にはまだ学ぶべきものがたくさんあり、絶望の谷/dev/nullへ落ちたあとも、意志力に頼って前へ進み続けなければならない。\nまとめ # DIYの過程はとても面白く、多くの底層原理を学べる。しかし結局のところ、私はコンピューターに仕事をさせたいのであって、一日中「コンピューターで遊ぶ」ためではない。これが、私が徐々にi3wmやHyprlandのようなtiling managerにあまり興味を持たなくなった理由だ。これらはDEのように開封してすぐ使えるものではなく、大量のものを設定する時間が必要だ。時間があるときにまた考えよう。\nそれに比べると、GNOMEのAdwaitaテーマとKDE PlasmaのBreezeテーマ、この二つのデスクトップは長年の発展を経てすでに成熟しており、デフォルトの美感だけで十分素晴らしい。もはやプログラマーがUI/UXを理解せずに適当に組み立てた代物には見えず、そもそも過度な美化など不要だ！XFCEという生きた化石については、インターフェースが20年前のCDEのようだ。強制的にこのデスクトップを使うなら、やはり少しeye-candyなGTKテーマを入れたほうが見やすいかもしれない。\n私たちはやはり生産性に集中しよう。macOSとWindowsの経験は、悪くないGUIがあれば、プログラミングの達人でなくてもコンピューターをうまく使い、高効率で仕事を終えられることを教えてくれた。\n","date":"2025年1月17日","externalUrl":null,"permalink":"/ja-jp/posts/is-it-necessary-to-rice-linux-desktop/","section":"Foss-Issues","summary":" いつLinuxデスクトップの「美化」で遊ぶのをやめ、「デフォルトのままで十分きれい」主義になったのか。…自分のセンスが本当にひどいと気づいたときだ。\nデスクトップ美化は本当に必要なのか？ # 博碩文化は2003年に、毛慶禎が書いた《KDE桌面美化大作戰》という本を出していた。表紙を見ると、当時はまだKDE 3.0の時代だったのだろう。この先輩たちは本当にすごい！市場でサーバー向けではなくデスクトップ向けのLinux書籍を出そうとする、数少ない存在だった。今の視点から見ると、当時のKDE 3は本当にひどく醜かった。GNOME 2と同じく、それはKDE 4まで続き、Oxygenテーマも相当醜かった（同時代のWindows 7と比べると）。KDE 5以降にBreezeテーマが出て、ようやく徐々にセンスが出てきて、現代的なオペレーティングシステムのインターフェースらしくなった。面白いのは、KDE 4はbugが多すぎたと聞き、Linuxコミュニティでは黒歴史扱いされている一方で、KDE 3はいまもforkされてメンテナンスされ続けていることだ。それがTrinity Desktopである。\n","title":"Linuxデスクトップを「美化」する必要はあるのか？正直あまり好きではない","type":"foss-issues"},{"content":"","date":"2025年1月17日","externalUrl":null,"permalink":"/tags/bdsm/","section":"標籤","summary":"","title":"BDSM","type":"tags"},{"content":"","date":"2025年1月17日","externalUrl":null,"permalink":"/tags/femdom/","section":"標籤","summary":"","title":"Femdom","type":"tags"},{"content":" 分享日本同人社團ぷりたにあ (ぷり)的一些超絕SM本。\n虛假的射精管理：說要管理射精，實則是獨占，變成固砲。\n真正的射精管理：使用貞操帶，讓人變成抖M，服從命令，有許可才能射精！\nぷりたにあ繪製的玩雞雞的本真的讓人硬爆，雖然他也會畫一些正常的純愛本子，但是都不夠看！真正好看的在於蘿莉用貞操帶虐待正太的本子，進行射精管理才夠嗆！ 這個作者的本子的特色就是角色眼睛怪怪的，很有顏藝感，看到一半會很出戲XD 但是內容依然很精彩。\n本篇重點分享女S男M的內容，享受沒有尊嚴的男性被女王玩弄的模樣，以及各種奇形怪狀的貞操帶式樣。\nぷりたにあ (ぷり)的作品購買連結：虎之穴｜MelonBooks\n射精變成空包彈 # [ぷりたにあ (ぷり)] 足コキ!ヴァンパイアちゃん (アズールレーン) 輕鬆搞笑本。讓仁大開眼界的足交本（？）\n首先先來個踩到射 充滿誘惑的蘿穴。 給你正常位享受，騎乘位搖著搖著，要被榨出來了，再加把勁吧，數到十再射好嗎？ \u0026hellip;想射在裡面，門都沒有！一腳踹開！ SM遊戲書，選擇你的虐待路線 # [ぷりたにあ (ぷり)] 桃華ちゃまの言うとおりにできましたか? (アイドルマスター シンデレラガールズ) 有趣的遊戲書，需要購買實體本才能體會樂趣。依照不同的路線選擇，翻到指定的頁數，觀看結局。\n反正最後都得當M，帶點純愛的M。\n能被蘿莉打屁股打到射精，是有多M呀wwwwww 最讚的是這一段：\n雞雞必須鎖住一週，禁止射精一週！ 脫掉後盡情開幹 辛苦積累的精子竟然變成詛咒 # (C96) [ぷりたにあ (ぷり)] クロの射精管理 (Fate/Grand Order) 這次登場的貞操帶是網狀的，看起來好痛。 為了培養更多精子，雞雞戴上貞操帶一個月，秤量蛋蛋的重量 但三個禮拜就受不了了，要求射精。只要用蘿莉的身體誘惑一下，就能誘使男性撲上去 結果意外的中了魔術刻印的陷阱，變成無法要有許可才能射精和停止射精。 戴上貞操帶的實際感覺 # (C92) [ぷりたにあ (ぷり)] ヴァイトの鍵 (グランブルーファンタジー) [中国翻訳] 正太就是需要姊姊的射精管理。\n這個表情真的讚。碰到巨乳大姊姊，你就勃起了對吧！？需要姊姊的貞操帶管理呢。 這個貞操帶切合龜頭外型，但是戴著依然會很不適。 刻劃被射精管理的實際經驗，包括戴貞操帶的不適，實在過於真實了。對於性慾發展的青少年來說，連風吹一下都會勃起的狀態，根本就無法與女性接觸了！ 戴著貞操帶，只有姊姊允許下才能夠射精喔～可憐，只能用腳踩出來。 學狗叫才准射精 # 例如(C89) [ぷりたにあ (ぷり)] ショタ提督がろーちゃんとリベちゃんに性的にいじめられる本 (艦隊これくしょん -艦これ-) 對年長的女性都要叫姊姊喔！這個表情真的讚。 為了能夠射精，穿女性內衣、學狗叫都願意～ 這個貞操帶完全是透明的籠子，看起來就像捕魚網一樣XDD 要作到完美的服侍才行喔，喔喔這個屁股壓上來的感受 後面也沒閒著，騎乘射精，完全變成了兩位女性的玩物 你的雞雞比我的假屌還小 # (ぷにケット35) [ぷりたにあ (ぷりてゐ)] 艦娘のオナペット提督 (艦隊これくしょん -艦これ-) 有什麼比戴貞操帶還要讓人興奮的？戴貞操帶的時候同時被肛，刺激前列腺高潮！\n開場先開三指，抹好潤滑（非常專業），來個超級長的玩具爆肛！正太馬上就去了。這裡又再次展現出了ぷりてゐ筆下角色的顏藝 提督淪落到被肛的玩物，前後的洞都被塞滿，被嘲笑雞雞比假屌還小 從這裡可以看到，肛的真的很用力，幾乎是頂到底的程度～才能讓正太激烈的高潮。這本最讓有趣的就是，蘿莉慣用的ㄟ！ㄟ！聲音，變成了肛交的時候「看招！」的聲音。想像一下這種情況就知道這種聲音多讓人興奮。 因為被肛到流出精液，貞操帶的款式從籠子，換成尿道式的，才能堵住！戴上的時候，針頭直直插入尿道的時候腰部抖了一下，刻畫的非常寫實。 繼續忍耐被肛，拔出後，在兩個女孩的輕蔑眼神下，大噴射。 雞雞同時被小穴與假屌強姦 # (COMIC1☆10) [ぷりたにあ (ぷり)] 褐色幼攻 (艦隊これくしょん -艦これ-) 在兩位女性面前表演自慰秀，戴著貞操帶的同時自肛。 被罵變態後，更興奮的勃起了，加大動作，精液就射出來了，最後遭到一記飛踢！ 最棒的畫面來了，女男女的體位。 同時被兩個蘿莉強姦，前面用小穴夾死雞雞，後面被假屌頂著前列腺刺激，比賽精液會先被哪邊榨出來，要是輸了就扭斷你的雞雞！！ ","date":"2025年1月17日","externalUrl":null,"permalink":"/posts/puritania-femdom-doujin-review/","section":"Nsfws","summary":" 分享日本同人社團ぷりたにあ (ぷり)的一些超絕SM本。\n虛假的射精管理：說要管理射精，實則是獨占，變成固砲。\n真正的射精管理：使用貞操帶，讓人變成抖M，服從命令，有許可才能射精！\nぷりたにあ繪製的玩雞雞的本真的讓人硬爆，雖然他也會畫一些正常的純愛本子，但是都不夠看！真正好看的在於蘿莉用貞操帶虐待正太的本子，進行射精管理才夠嗆！ 這個作者的本子的特色就是角色眼睛怪怪的，很有顏藝感，看到一半會很出戲XD 但是內容依然很精彩。\n本篇重點分享女S男M的內容，享受沒有尊嚴的男性被女王玩弄的模樣，以及各種奇形怪狀的貞操帶式樣。\nぷりたにあ (ぷり)的作品購買連結：虎之穴｜MelonBooks\n射精變成空包彈 # [ぷりたにあ (ぷり)] 足コキ!ヴァンパイアちゃん (アズールレーン) ","title":"蘿莉戴假屌肛爆貞操帶正太，分享ぷりたにあ的超絕SM本子","type":"nsfw"},{"content":"本文Ivon教學如何在Linux系統截圖，適用Ubuntu、Fedora、Arch Linux、openSUSE、Gentoo等發行版。\n看似簡單的一個動作，其實背後隱藏著很多技巧呦！\n1. Linux桌面如何截圖 # 首先介紹不需要裝軟體的方式，Linux桌面環境多半內建截圖程式了，例如GNOME的叫做「GNOME Screenshot」，KDE Plasma的叫做「Spectacle」。不過，桌面環境附屬的截圖程式可能無法在其他桌面環境使用。\n截圖不需要打指令，只要按鍵盤的「PrtSc」鍵即可。有些筆電鍵盤要同時按「fn」加上「PrtSc」。\n這樣截圖程式就會跳出來，點選拍照。截圖通常會儲存在~/圖片/螢幕快照目錄。\nGNOME Screenshot允許你擷取全螢幕、部份螢幕、單一視窗。點選滑鼠符號開啟顯示游標。 KDE Plasma的Spectacle能夠擷取全螢幕、部份螢幕、單一視窗。你還可以在截圖工具畫面設定延時截圖，以及存檔的圖片格式。我比較喜歡的功能是「記住上次截圖模式」。 2. 好用的截圖軟體Flameshot # Flameshot是一款功能豐富的Linux截圖軟體，支援延遲截圖、截圖時於螢幕劃記、自訂輸出檔名等功能，它也可以用指令啟動。\nFlameshot支援Wayland與X11協定，任一桌面環境都能使用。\n參考Flameshot官網說明安裝。以Ubuntu為例，從官方套件庫安裝Flameshot套件： sudo apt install flameshot 點一下應用程式列表的Flameshot，程式啟動後會自動縮小到系統匣，GNOME在左上角，KDE Plasma則是在右下角。若你的GNOME沒有系統匣請安裝Tray Icons擴充套件。 點一下Flameshot圖示，啟動截圖。GNOME Wayland可能會詢問是否允許程式截圖，點選「是」。若GNOME Wayland無法截圖請改用指令啟動（見下）。 等到畫面變黑之後，按Ctrl + S直接儲存全螢幕截圖。 或者，你可以按Ctrl + A，選取全螢幕，在上面標注文字，你新增的元素會顯示在左側的圖層面板。滑鼠拖動選取框，調整要截圖的範圍。最後按Ctrl + S存檔。 目前Flameshot沒有擷取單一視窗的功能，所以沒辦法擷取帶有主題裝飾的程式視窗。\n想要延時截圖，開啟終端機，使用以下指令啟動Flameshot的截圖畫面：\nflameshot gui --delay 2000 如果你希望能夠按「PrtSc」鍵就啟動Flameshot截圖，那麼你得調整桌面環境的全域快捷鍵，將「PrtSc」鍵盤綁定為執行flameshot gui指令。 GNOME：GNOME系統設定 → 鍵盤 → 自訂快捷鍵，新增指令flameshot gui KDE Plasma：KDE系統設定 → 捷徑 → 新增指令flameshot gui，再綁定「PrtSc」快捷鍵，取代原本的Spectacle。 3. Linux桌面如何錄影 # 建議直接用Linux版OBS Studio，它是功能最完整的軟體。不論你想要錄製整個螢幕，或是單一視窗的操作，它都能辦到。適合錄製教學影片。\n若你只是想錄製一段簡短的軟體操作片段，那麼可以用Kooha或者Peek，將影片錄製為.gif，方便在網路上分享。\n","date":"2025年1月16日","externalUrl":null,"permalink":"/posts/linux-desktop-screenshot/","section":"所有文章","summary":"本文Ivon教學如何在Linux系統截圖，適用Ubuntu、Fedora、Arch Linux、openSUSE、Gentoo等發行版。\n看似簡單的一個動作，其實背後隱藏著很多技巧呦！\n1. Linux桌面如何截圖 # 首先介紹不需要裝軟體的方式，Linux桌面環境多半內建截圖程式了，例如GNOME的叫做「GNOME Screenshot」，KDE Plasma的叫做「Spectacle」。不過，桌面環境附屬的截圖程式可能無法在其他桌面環境使用。\n截圖不需要打指令，只要按鍵盤的「PrtSc」鍵即可。有些筆電鍵盤要同時按「fn」加上「PrtSc」。\n這樣截圖程式就會跳出來，點選拍照。截圖通常會儲存在~/圖片/螢幕快照目錄。\nGNOME Screenshot允許你擷取全螢幕、部份螢幕、單一視窗。點選滑鼠符號開啟顯示游標。 KDE Plasma的Spectacle能夠擷取全螢幕、部份螢幕、單一視窗。你還可以在截圖工具畫面設定延時截圖，以及存檔的圖片格式。我比較喜歡的功能是「記住上次截圖模式」。 2. 好用的截圖軟體Flameshot # Flameshot是一款功能豐富的Linux截圖軟體，支援延遲截圖、截圖時於螢幕劃記、自訂輸出檔名等功能，它也可以用指令啟動。\n","title":"Linux桌面螢幕截圖軟體 + Flameshot使用教學","type":"posts"},{"content":"像Ubuntu這類對用戶友善的Linux發行版，會在安裝的時候幫你搞定語言的問題。當你選中文安裝，家目錄下的常用資料夾也會變成中文的，如圖所示。 不過對於需要常常使用終端機打指令的用戶，肯定會不太方便。切換目錄的時候得切換輸入法，如cd ~/下載肯定不如cd ~/Downloads要快速，很是麻煩。甚至有人因為這樣，索性只裝英文版的系統，然後再設定中文語言套件，可是這樣就讓Linux不好用的了說！\n其實這個問題可以用一個小技巧解決，讓你能夠使用中文的Ubuntu界面，資料夾卻是英文的。\n你要知道的是，你想要英文的家目錄資料夾，絕對不是把中文的「下載」資料夾重新命名成英文「Downloads」就能解決的事情！如果這樣做，有些程式還是不會認你的「Downloads」資料夾，而是將檔案放到原本的「下載」資料夾。\n我們要先從XDG User Dirs解決起。\n1. 理解XDG User Dirs # Linux各大桌面環境，包含GNOME、KDE Plasma、XFCE、Cinnamon都是遵守XDG User Dirs標準的。\n它定義了：DESKTOP、DOWNLOAD、TEMPLATES、PUBLICSHARE、DOCUMENTS、MUSIC、PICTURES、VIDEOS等常用的使用者資料夾。\nxdg-user-dirs-update指令就是用來生成上述資料夾的。\n第一次登入桌面的時候，應該會自動執行xdg-user-dirs-update，依照使用者的語言自動生成XDG User Dirs資料夾。這就是為何你會看到「下載」而非「Downloads」資料夾的緣故。\n然後，xdg-user-dirs-update會將實際指向的資料夾設定檔，寫在~/.config/user-dirs.dirs和~/.config/user-dirs.locale。裡面的XDG環境變數記載了真正的下載資料夾路徑在哪裡。 如果程式在存取使用者家目錄的時候，是依照XDG的環境變數去存取，而非寫死絕對路徑，那麼它就能知道使用者真正的「下載」資料夾在哪裡。這樣程式能夠依照使用者目前語言的設定，找到使用者目前使用中的「下載」資料夾。\n當我們要把XDG User Dirs改回英文的時候，就得注意以上問題。\n2. 將家目錄資料夾改成英文 # 執行以下指令，將環境變數暫時設定為英文，強制生成英文資料夾 sudo apt install xdg-user-dirs LC_ALL=C.UTF-8 xdg-user-dirs-update --force 開啟檔案管理器，可看到生成了英文版的XDG User Dirs資料夾。不過原本資料夾不會刪除，檔案要手動搬移。 檢視內容vim ~/.config/user-dirs.dirs，可看到真正的下載資料夾路徑也變了。 ~/.config/user-dirs.dirs裡面的環境變數是允許自訂的，像是你可以把XDG_DOWNLOAD_DIR=\u0026quot;$HOME/Downloads改為XDG_DOWNLOAD_DIR=\u0026quot;$HOME/Download，日後就會直接生效，不用再執行xdg-user-dirs-update指令。\n參考資料 # XDG user directories - Arch Wiki xdg-user-dirs - FreeDesktop.org ","date":"2025年1月15日","externalUrl":null,"permalink":"/posts/linux-xdg-user-dirs/","section":"所有文章","summary":"像Ubuntu這類對用戶友善的Linux發行版，會在安裝的時候幫你搞定語言的問題。當你選中文安裝，家目錄下的常用資料夾也會變成中文的，如圖所示。 不過對於需要常常使用終端機打指令的用戶，肯定會不太方便。切換目錄的時候得切換輸入法，如cd ~/下載肯定不如cd ~/Downloads要快速，很是麻煩。甚至有人因為這樣，索性只裝英文版的系統，然後再設定中文語言套件，可是這樣就讓Linux不好用的了說！\n其實這個問題可以用一個小技巧解決，讓你能夠使用中文的Ubuntu界面，資料夾卻是英文的。\n你要知道的是，你想要英文的家目錄資料夾，絕對不是把中文的「下載」資料夾重新命名成英文「Downloads」就能解決的事情！如果這樣做，有些程式還是不會認你的「Downloads」資料夾，而是將檔案放到原本的「下載」資料夾。\n我們要先從XDG User Dirs解決起。\n1. 理解XDG User Dirs # Linux各大桌面環境，包含GNOME、KDE Plasma、XFCE、Cinnamon都是遵守XDG User Dirs標準的。\n它定義了：DESKTOP、DOWNLOAD、TEMPLATES、PUBLICSHARE、DOCUMENTS、MUSIC、PICTURES、VIDEOS等常用的使用者資料夾。\n","title":"Ubuntu維持中文界面，將家目錄下的資料夾改成英文 (xdg-user-dirs-update用法)","type":"posts"},{"content":" The App Store frontends for Linux desktop.\nLinux發行版大部分透過套件管理員安裝桌面應用程式，這個過程多半會用到指令，例如apt install firefox。\n這時如果有一個「應用程式商店」前端的話，安裝軟體便會直覺許多，也方便使用者搜尋與安裝軟體。\n這幾年來為桌面使用者考慮的Linux發行版越來越多，開始出現了「應用程式商店」。所謂應用程式商店就像智慧型手機上的Google Play或App Store一樣，方便使用者以圖形方式安裝應用程式，有些商店還有使用者評分功能。\n於是安裝Linux的桌面應用程式不需要完全靠指令了，也就不用費心查詢各發行版的某某軟體套件叫什麼名字。\n下面介紹個幾個Linux的應用商店前端。\n相關文章：Linux常用軟體\n1. GNOME軟體 # GNOME桌面專用的應用程式商店，應該已經內建。 英文名GNOME Software。可以說是最常見的應用程式商店了。為Ubuntu、Fedora、RHEL、Rocky Linux、CentOS、Oracle Linux、openSUSE等發行版預設的應用程式商店。\n首頁有鮮明的應用程式分類。 搜尋，點進去會看到應用程式資訊。右上角會顯示應用程式來源。下方有應用程式分級，還會顯示權限、使用者評分等資訊。如果有的話，會顯示Flatpak與Snap的應用程式來源。 在「已安裝」頁面則是方便使用者管理安裝的軟體。能透過PackageKit執行apt update指令更新系統套件。 此外，GNOME軟體也能夠用來處理使用者手動下載的.deb與.rpm套件，讓使用者無需打指令安裝。\nGNOME商店其實有一個問題尚待解決，那就是回應速度。不少使用者包括筆者都看過GNOME商店一直轉圈圈，改用指令安裝軟體卻馬上就好的現象。此一問題有勞Linux社群持續改進。\n2. KDE Plasma Discover # KDE Plasma桌面專用的應用程式商店，應該已經內建。 為openSUSE、Fedora Spin、Manjaro、Kubuntu、KDE Neon、SteamOS等發行版預設的應用程式商店。\n首頁有應用程式分類。 搜尋軟體會顯示軟體下載來源、使用者評分、權限等資訊。如果有的話，它會顯示Flatpak與Snap的應用程式來源，讓你自由選擇。 安裝KDE Discover之後，也會自動檢查軟體更新。它會透過PackageKit執行apt update指令，更新系統軟體。 KDE DiscoverGNOME軟體也能夠用來處理手動下載的.deb與.rpm格式套件，讓使用者無需打指令安裝。\n3. bauh # Python寫成的工具，通用型的應用程式商店，沒有限制桌面環境。 支援管理APT(.deb)、Pacman、Flatpak、Snap、AppImage等格式的應用程式。bauh有點像是Synaptic + Pamac的合體。\n需要手動到Github安裝。 4. Warehouse # Flatpak應用程式專用的應用程式商店，用於瀏覽Flathub上的應用程式。需要手動安裝。 沒有限制桌面環境。專門用於管理Flatpak格式的程式。\n相關文章：Linux系統如何安裝Flatpak套件\n5. Snap Store # Snap應用程式專用的應用程式商店，用於瀏覽SnapCraft上的應用程式。需要手動安裝。 沒有限制桌面環境，僅用於管理Snap格式的程式。\n相關文章：Linux系統如何安裝Snap套件\n","date":"2025年1月9日","externalUrl":null,"permalink":"/posts/linux-app-store/","section":"所有文章","summary":" The App Store frontends for Linux desktop.\nLinux發行版大部分透過套件管理員安裝桌面應用程式，這個過程多半會用到指令，例如apt install firefox。\n這時如果有一個「應用程式商店」前端的話，安裝軟體便會直覺許多，也方便使用者搜尋與安裝軟體。\n這幾年來為桌面使用者考慮的Linux發行版越來越多，開始出現了「應用程式商店」。所謂應用程式商店就像智慧型手機上的Google Play或App Store一樣，方便使用者以圖形方式安裝應用程式，有些商店還有使用者評分功能。\n於是安裝Linux的桌面應用程式不需要完全靠指令了，也就不用費心查詢各發行版的某某軟體套件叫什麼名字。\n下面介紹個幾個Linux的應用商店前端。\n相關文章：Linux常用軟體\n1. GNOME軟體 # GNOME桌面專用的應用程式商店，應該已經內建。 英文名GNOME Software。可以說是最常見的應用程式商店了。為Ubuntu、Fedora、RHEL、Rocky Linux、CentOS、Oracle Linux、openSUSE等發行版預設的應用程式商店。\n首頁有鮮明的應用程式分類。 搜尋，點進去會看到應用程式資訊。右上角會顯示應用程式來源。下方有應用程式分級，還會顯示權限、使用者評分等資訊。如果有的話，會顯示Flatpak與Snap的應用程式來源。 ","title":"Linux安裝應用程式超方便～應用商店前端介紹","type":"posts"},{"content":"久違了玩了AR程式，才發現我Xperia 10 V手機SD695的性能真的很爛，連基本的無光影效果的模型都卡的要死，不夠格跑AR，可能因為鏡頭因素誤差還很大。\n要拿M2 iPad出來才能順跑AR。\n欸，如果不計lag情況，其實手機玩AR的門檻不高的說，看看Pokemon Go就知道了，再看看Google搜尋出現的動物3D模型就證明了，其實WebXR已經發展的不錯了！儘管互動性有限，但是簡單檢視3D物件是可行的。\n例如Google開發的JavaScript函式庫 Model Viewer，使用它他們提供的網頁編輯器，就能在Android與iOS的瀏覽器檢視任意glTF模型，並顯示在AR畫面。 手機可能要橫置編輯器畫面才會看到AR按鈕。\n不過，要改善互動性，還是專門的APP比較好。\nKhronos有出一款開源的iOS glTF檢視器APP：KhronosGroup/glTF-iOS-Viewer: Khronos glTF Viewer for iOS，也支援AR模式檢視。建議是在iPad上操作比較好。\n那Android的glTF檢視器APP呢？只有一些專有軟體廠商有做。\n講到這個，我有找到一個有趣的APP：HoloModels。家裡沒有櫃子擺公仔？不如來玩賽博公仔。用手機與3D動漫人物互動，這個程式除了手機AR外還有VR版。這個就像是把MMD做成AR，可以放在實體桌子上跳舞。其實嚴格來說比較像是在玩數位版的景品吧！模型都要從虛擬的盒子裡面取出來才能玩。它能像玩洋娃娃一樣，使用噴漆工具換配件，修改模型的表情。可惜HoloModels是專有軟體，這個程式無法載入自訂模型，全部都要到商店購買，價格還跟真的景品一樣貴。雖然有跟許多動漫作品合作，提供精美的人物模型，但是這種手法就大大限制了可玩性。而且好像有鎖區，活動都是日本才有！\n再來看看網頁版的AR/MR方案吧，這會用到WebXR技術，讓我們能在瀏覽器中使用AR、MR、VR。\n關於WebXR的研究，PlayCanvas做的開源引擎很不賴。像是這個glTF Viewer Arrives on Mobile with AR Support ，這個檢視器能在Android與iOS瀏覽器執行，載入glTF模型並用AR檢視。Android的似乎壞了，iOS要Safari才支援。\n話說，為什麼3D模型網站Sketchfab不做Web AR而要堅持使用Cardboard VR模式呢\u0026hellip;\u0026hellip;浪費了這個網站上的許多大好模型。\n順便複習一下：glTF格式並非單一檔案，而是材質跟模型分開。考慮到WebXR難以讀取檔案系統的檔案，那麼用self-contained的glb格式會是更好的選擇。這二個格式在Blender裡面都能轉換。\n讓人擔憂的是，以上討論的XR技術都要依賴手機上的專有軟體才能運作，即使是WebXR也一樣，不是只有瀏覽器就好\u0026hellip;且這些技術只有Google（ARCore）和Apple（ARKit）願意下去做相關的API，自然就會被他們的服務綁住，甚至瀏覽器也得用他們指定的型號才有最佳效果，否則WebVR就是空談而已。\n","date":"2025年1月9日","externalUrl":null,"permalink":"/posts/ar-and-mr-on-mobile-phones/","section":"所有文章","summary":"久違了玩了AR程式，才發現我Xperia 10 V手機SD695的性能真的很爛，連基本的無光影效果的模型都卡的要死，不夠格跑AR，可能因為鏡頭因素誤差還很大。\n要拿M2 iPad出來才能順跑AR。\n欸，如果不計lag情況，其實手機玩AR的門檻不高的說，看看Pokemon Go就知道了，再看看Google搜尋出現的動物3D模型就證明了，其實WebXR已經發展的不錯了！儘管互動性有限，但是簡單檢視3D物件是可行的。\n例如Google開發的JavaScript函式庫 Model Viewer，使用它他們提供的網頁編輯器，就能在Android與iOS的瀏覽器檢視任意glTF模型，並顯示在AR畫面。 手機可能要橫置編輯器畫面才會看到AR按鈕。\n不過，要改善互動性，還是專門的APP比較好。\nKhronos有出一款開源的iOS glTF檢視器APP：KhronosGroup/glTF-iOS-Viewer: Khronos glTF Viewer for iOS，也支援AR模式檢視。建議是在iPad上操作比較好。\n那Android的glTF檢視器APP呢？只有一些專有軟體廠商有做。\n講到這個，我有找到一個有趣的APP：HoloModels。家裡沒有櫃子擺公仔？不如來玩賽博公仔。用手機與3D動漫人物互動，這個程式除了手機AR外還有VR版。這個就像是把MMD做成AR，可以放在實體桌子上跳舞。其實嚴格來說比較像是在玩數位版的景品吧！模型都要從虛擬的盒子裡面取出來才能玩。它能像玩洋娃娃一樣，使用噴漆工具換配件，修改模型的表情。可惜HoloModels是專有軟體，這個程式無法載入自訂模型，全部都要到商店購買，價格還跟真的景品一樣貴。雖然有跟許多動漫作品合作，提供精美的人物模型，但是這種手法就大大限制了可玩性。而且好像有鎖區，活動都是日本才有！\n再來看看網頁版的AR/MR方案吧，這會用到WebXR技術，讓我們能在瀏覽器中使用AR、MR、VR。\n關於WebXR的研究，PlayCanvas做的開源引擎很不賴。像是這個glTF Viewer Arrives on Mobile with AR Support ，這個檢視器能在Android與iOS瀏覽器執行，載入glTF模型並用AR檢視。Android的似乎壞了，iOS要Safari才支援。\n","title":"智慧型手機跑AR與XR，與虛擬3D物件在現實世界互動","type":"posts"},{"content":"The comparison of Flatpak, Snap, AppImage, the three universal and distro-agnostic package formats of Linux.\nIvon將在這篇文章討論三個Linux套件格式的異同，他們分別是Flatpak、Snap、AppImage。\n基於官方文件和Linux社群的意見，以及Ivon個人觀察撰寫而成。\n文末分享這三個套件格式的使用方式。\n這三小？我只聽過APT # 這不是三小，是三大跨Linux發行版的套件格式！Flatpak、Snap、AppImage這三個套件格式的目的相同，就是要解決跨Linux發行版安裝軟應用程式的問題。\n我們知道Linux安裝應用程式，大部分是透過原生套件管理員(native package manager)下載安裝，像是Ubuntu的APT、Fedora的DNF、openSUSE的Zypper等等。Linux現在少說有100個以上的發行版(distribution)，這就造成了軟體打包不一致問題。不同的發行版有不同的套件管理員，安裝應用程式指令不一樣。就連同一個系統，都可能在系統升級後發生套件依賴的(dependencies)衝突問題。\n還有，各個發行版會維護自己的套件庫(repository)，受歡迎的發行版會收錄很多程式，比方說Ubuntu、Arch Linux幾乎是什麼都有。相較之下，小眾發行版Void、Alpine要等社區成形後套件庫數量才會累積起來，不然就得手動從原始碼編譯了。這樣碎片化的情況，會讓應用程式版本不一致，造成更新不同步。\n諸如以上種種問題，光是不同發行版之間的維護工作就會累死開發者了，使用者裝軟體也會覺得不便。所以試圖統一跨Linux發行版安裝應用程式的技術就出現了，目前常見的有三個，就是Flatpak、Snap、AppImage。 本文Ivon會嘗試比較他們的相同、不同之處。\n如果你問Ivon哪個比較好？難以給出答案，要看用途，我在這篇文章有進一步說明。現在還沒有出現所謂的「萬用格式」。\n套件數目 # 只計算官方商店的數目，不計算第三方管道散佈的套件。\n截至2025年1月\nFlathub有2818個應用程式。\nSnapCraft具體數量未知，根據2018年發表的文章，官方宣稱有4100個以上應用程式。\nAppImageHub有1430個應用程式。\n順帶一提，目前Ubuntu的APT套件庫有38475個套件。\n用途取向 # 儘管這三個套件管理器都宣稱自己是跨Linux發行版的套件格式，但他們的取向還是不太一樣的。\nFlatpak主要提供圖形應用程式，少部份命令行程式。Flatpak因為沙盒的權限因素無法執行需要動到root權限的程式。適合桌面用戶使用。例如在較少更新的Debian安裝最新版的瀏覽器。或者在Arch Linux這類滾動發行版安裝Flatpak，減少因為系統套件更新太頻繁而導致程式崩潰的情況。\nSnap提供圖形應用程式與命令行程式，能夠執行需要root權限的任務，適合桌面與伺服器用戶使用。例如在舊版的Ubuntu LTS系統安裝最新版本的Docker。\nAppImage提供圖形與命令行程式，概念類似Windows的可攜式exe，或是macOS的dmg。能夠執行需要root權限的任務。適合桌面用戶使用。\n支援的Linux發行版 # 這三個套件格式應能在各大發行版使用。部份發行版已經內建支援，作為原生套件管理員的輔助方案，無需手動安裝。\nFlatpak一開始是RedHat公司員工發起的專案。內建Flatpak套件管理器的發行版：RHEL、Fedora、CentOS、Rocky Linux、openSUSE、Manjaro、Linux Mint、Kubuntu等\nSnap最早是Canonical公司發起的專案。內建Snap套件管理器的發行版：Ubuntu、KDE Neon、Manjaro、openSUSE、Solus、Zorin OS等\nAppImage最初是由Simon Peter發起的專案，支援AppImage的發行版：無需套件管理器。Ubuntu 16.04以後發表、任一glibc的發行版都能使用。\n系統資源佔用 # 這三者啟動速度都比原生套件要慢一點點，Flatpak和AppImage的程式啟動的速度差不多，Snap要再慢一些。\n三者啟動之後執行的效能應與原生套件沒有太大差異。\n三者都會在安裝程式時一併安裝該個程式的依賴套件，故佔用硬碟空間比原生套件要肥大。\nFlatpak會讓程式共用依賴套件，再利用重複資料刪除技術，節省一部分空間。\nSnap會讓程式共用依賴套件，節省空間。\nAppImage則是每個程式打包自己的依賴套件，理論上會更佔空間。\n軟體分發管道 # Flatpak主要從GNOME基金會經營的Flathub下載，亦可以自訂遠端儲存庫。開發者能夠獨立分發.flatpak格式的應用程式。但Flatpak程式脫離Flatpak套件管理器便無法使用。\nSnap主要從Canocial經營的SnapCraft下載，亦可以使用其他商店。開發者能夠獨立分發.snap格式的應用程式。但Snap程式脫離Snapd套件管理器便無法使用。\nAppImage沒有固定的應用程式商店，除了AppImageHub之外，就是到Github開發者的Release頁面下載。AppImage沒有套件管理器，下載.AppImage格式後點二下執行，能夠自由移動到其他電腦執行。尚提供解壓縮執行內部二進位檔的功能。\n套件管理 # Flatpak可以免root權限安裝程式。Flatpak本身有套件管理器的功能，能夠自動更新。支援AppStream協定，能夠與桌面環境的應用程式商店整合。\nSnap需要root權限安裝程式。Snap本身有套件管理器的功能，能夠自動更新。支援AppStream協定，能夠與桌面環境的應用程式商店整合。\nAppImage沒有套件管理功能，只能簡單檢查軟體更新，使用者要手動下載並管理眾多的AppImage檔案。雖有第三方開發者製作AppImage套件管理工具，但不是內建的功能。\n權限管理 # Flatpak提供沙盒權限，規範放置設定檔的位置，以及能存取的資統資源。遵守XDG標準，擁有一套Portal API規範程式存取系統資源的方式。\nSnap提供沙盒權限，規範放置設定檔的位置，以及能存取的資統資源。遵守XDG標準，擁有一套Confinement的權限系統。\nAppImage無任何權限管理，程式預設擁有的權限就跟一般二進位檔沒兩樣。遵守XDG標準。\n命令行友好 # Flatpak啟動程式的指令一大串，像是flatpak run org.vim.Vim，要設定alias，不適合命令行程式使用。\nSnap安裝後會自動加入到PATH，能像一般二進位檔程式一樣執行。例如snap run vim可以直接寫vim。\nAppImage不會自動加入PATH。由於檔案本身就是執行檔，執行的時候需要寫出完整檔名，很是不便。例如./vim.AppImage\n對宿主機的依賴程度 # Flatpak把應用程式執行時的依賴套件包在一起，幾乎不受系統套件影響。\nSnap把應用程式執行時的依賴套件包在一起，幾乎不受系統套件影響。\nAppImage把依賴套件包在一起，但依賴宿主機系統套件的程度較高，很容易受到glibc版本影響。若宿主機系統並非使用glibc，而是musl libc，也得重新編譯。\n可移植性 # Flatpak依賴Linux核心的cgroups功能，透過Bubblewrap實現沙盒化，程式打包的映像檔遵守OCI規範，利用OSTree管理更新。能移植到絕大多數的Linux發行版。\nSnap的軟體透過SquashFS掛載，但系統需要支援Systemd才能用Snapd管理Snap套件，還必須有AppArmor管理應用程式權限。可移植性受限，僅適合在Ubuntu使用。\nAppImage能在任一支援SquashFS的Linux發行版運作，適用於絕大多數的Linux發行版，就連chroot環境也能使用。\n跨架構能力 # Flatpak部份程式支援x86與ARM架構，要看開發者有沒有打包。允許使用qemu-static模擬異質架構。\nSnap部份程式支援x86與ARM架構，要看開發者有沒有打包。\nAppImage執行檔需要針對x86與ARM架構個別編譯。\n延伸閱讀：如何使用這三個套件格式 # Flatpak使用教學 Snap使用教學 AppImage使用教學 ","date":"2025年1月8日","externalUrl":null,"permalink":"/posts/flatpak-snap-appimage-comparison/","section":"所有文章","summary":"The comparison of Flatpak, Snap, AppImage, the three universal and distro-agnostic package formats of Linux.\nIvon將在這篇文章討論三個Linux套件格式的異同，他們分別是Flatpak、Snap、AppImage。\n基於官方文件和Linux社群的意見，以及Ivon個人觀察撰寫而成。\n文末分享這三個套件格式的使用方式。\n這三小？我只聽過APT # 這不是三小，是三大跨Linux發行版的套件格式！Flatpak、Snap、AppImage這三個套件格式的目的相同，就是要解決跨Linux發行版安裝軟應用程式的問題。\n我們知道Linux安裝應用程式，大部分是透過原生套件管理員(native package manager)下載安裝，像是Ubuntu的APT、Fedora的DNF、openSUSE的Zypper等等。Linux現在少說有100個以上的發行版(distribution)，這就造成了軟體打包不一致問題。不同的發行版有不同的套件管理員，安裝應用程式指令不一樣。就連同一個系統，都可能在系統升級後發生套件依賴的(dependencies)衝突問題。\n還有，各個發行版會維護自己的套件庫(repository)，受歡迎的發行版會收錄很多程式，比方說Ubuntu、Arch Linux幾乎是什麼都有。相較之下，小眾發行版Void、Alpine要等社區成形後套件庫數量才會累積起來，不然就得手動從原始碼編譯了。這樣碎片化的情況，會讓應用程式版本不一致，造成更新不同步。\n","title":"Flatpak vs Snap vs AppImage，跨Linux發行版的套件格式比較","type":"posts"},{"content":"","date":"2025年1月8日","externalUrl":null,"permalink":"/ja-jp/tags/flatpak/","section":"Tags","summary":"","title":"Flatpak","type":"tags"},{"content":" 執筆時点のFlatpakバージョン：1.14.4\n「Flatpak、Linuxアプリケーションの未来」Flatpak公式サイトにはそう書かれている。 なぜLinuxでアプリケーションをインストールすることが、時に大きな悪夢になるのか？なぜFlatpakはこの問題を有効に緩和できるのか？\nこの記事ではIvonが、なぜFlatpakが生まれたのか、そしてFlatpak技術の長所と短所を簡単に紹介する。\n用語解説：\n「システムプログラム」とは、コンパイラ、runtime、ライブラリなどのソフトウェアを指す。 「グラフィカルプログラム」とは、グラフィカルインターフェースを持つ文書ソフト、画像処理、ブラウザなどのソフトウェアを指す。 ＊ 本稿でIvonが主に議論するのはFlatpak技術の長所と短所であり、Flatpakパッケージとコマンドの実際の使い方についてはこの記事を参照してほしい。\n1. Linuxディストリビューションのアプリケーションインストール問題 # まずFlatpakが生まれた背景から話そう。\nLinuxでアプリケーションをインストールするには、パッケージマネージャー(package manager)を通じてダウンロード・インストールすればよい、ということは皆知っている。アプリストアの背後でやっていることも基本的にはそれである。\nLinuxには現在、少なくとも100以上のディストリビューション(distribution)があり、これがソフトウェアのパッケージング問題を生んでいる。\n異なるディストリビューションにはそれぞれ各種パッケージマネージャーがあり、アプリケーションをインストールするコマンドも違う。時にはパッケージ依存関係(dependencies)の衝突も発生する。\nさらに、各ディストリビューションは自分たちのオンラインパッケージリポジトリ(repository)を維持する。人気のディストリビューションは多くのプログラムを収録しており、たとえばUbuntuやArch Linux AURはほぼ何でもある。それに比べ、マイナーなディストリビューション（Void、Alpine）はコミュニティが形成されてからでないとリポジトリの量が蓄積されず、そうでなければ手動でソースコードからコンパイルするしかない。\n異なるディストリビューションでパッケージングすると、アプリケーションのバージョンが一致しなくなる。新しいUbuntuは最新のプログラムを収録するが、LTS版では少し遅れる、といったように更新が同期しない。\nだからディストリビューション横断でアプリケーションをインストールする技術を統一しようとするものが登場した。Flatpakはその例の一つであり、他にはSnapとAppImageがある。\n2. Flatpakとは何か # Flatpakは、以前はxdg-appと呼ばれていた、RedHatが始めたディストリビューション横断パッケージマネージャーおよびパッケージデプロイシステムである。大部分のLinuxディストリビューション（Debian系、Fedora系、openSUSE系、Arch系）はすでにFlatpakをサポートしており、ChromeOSにまであり、Fedora Silverblueに至ってはほぼ全Flatpak環境である。\nFlathubは最も人気のあるFlatpakリポジトリで、すでに数千のアプリケーションが掲載されている。 近年、Linuxの グラフィカル アプリケーションは、徐々に統一配布の傾向へ向かっている。Snap、Flatpak、AppImageのようなディストリビューション横断技術に依存し、各ディストリビューションのパッケージマネージャーが自分でパッケージングすることには依存しないことで、プログラムのバージョン不一致問題を防ぐ。\nFlatpakが主に狙う対象はデスクトップのグラフィカルアプリケーションであり、たとえばブラウザ、文書処理、画像処理、ゲームなどだ。FlatpakはAPPを隔離するsandbox機構を導入し、安全性を強化するための権限システムも設計している。\n3. Flatpakでアプリケーションをインストールする長所 # 3.1. Flathubは開発者のデプロイと公開に便利 # Flathubは開発者にとって利点がある。Flatpak公式ドキュメントには、アプリケーションをFlatpakへパッケージングする方法が詳しく説明されており、開発者にXDG標準を守るよう促している。開発者はアプリケーションを配布するとき、安定版とテスト版をユーザーへ提供でき、x86 / ARMなど異なるアーキテクチャのバージョンも提供できる。Flatpakのインストーラーが自動で判断してくれる。\n通常ユーザーはFlathubリポジトリからFlatpakパッケージをダウンロードする。一部の組織は自前でFlatpakリポジトリを運営しており、たとえばRedhHatがある。FlathubはCanonicalのSnap Storeとは少し違う。それは一私企業のプラットフォームではなく、GNOME基金会が運営するサイトであり（出典）、アプリケーションの提出に費用は不要で、Githubで自由にFlatpakパッケージを提出できる。ユーザーもFlatpakのリモートリポジトリを自由に切り替えられ、Flathub単一プラットフォームに合わせてアプリケーションをダウンロードする必要はない。\nFlathubサイトはアプリケーションのダウンロード数、AppStreamのユーザー評価、ソフトウェアライセンス条項、権限などの情報を表示する。アプリケーションのダウンロードページには大きな「寄付」ボタンが表示されるほか、将来は有料チャネルを導入する可能性もある。\nエンドユーザーにとって、Flatpakは各ディストリビューションでアプリケーションのバージョンが不一致になる問題を解決した。あなたがローリングリリースのArch Linuxを使っていようと、万年に一度しか更新しないDebianを使っていようと、Flatpakを通じてバージョンが一致したアプリケーションを享受できる。さらにFlatpakは、アプリケーションをシステムへインストールするか、特定ユーザーだけにインストールするかを選べる。これにより一般ユーザーはrootパスワードなしでプログラムをインストール、削除できる。\n3.2. Runtimeとシステムの隔離 # Flatpakは可能な限り既存のruntimeを再利用し、容量使用を減らす。だからFlatpakアプリケーションを多く入れるほど、容量使用は問題ではなくなる。開発者の説明によれば、Flatpakを多く入れるほど、容量利用はより効率的(efficient)になる。\nFlatpakがruntimeを一緒に包むことには利点がある。各アプリケーションが同じruntimeを使うことを保証でき、ディストリビューションのシステムパッケージに依存せず、ディストリビューションがruntimeへpatchを当てた結果、奇妙なbugが出るのを防げる。さらにFlatpakの旧版runtimeはEOL後も同じように提供され、依存性地獄の問題を緩和する。\nたとえば、あるアプリケーションが特定バージョンのPythonに依存する場合、システムパッケージマネージャーでインストールするとPythonをグローバルにインストールする必要があり、システム更新で壊れるかもしれない。Flatpakでインストールすれば、Pythonは自動でアプリケーションと一緒に包まれ、システムのPythonパッケージとは分離される。\nFlatpakはglibcに依存するアプリケーションをmusl libcのLinuxディストリビューション上で実行させることさえできる。これがシステムパッケージに依存しない利点だ。\nFlatpakはSnapと同じくパッケージ管理機能を持ち、アプリケーションストア（KDE Discover、GNOME Software）と統合して、グラフィカルインターフェースで管理できる。一方AppImageは相対的に管理しにくく、AppImage Launcherを使わない場合、ユーザーは実行ファイルの保存位置を覚えなければならない。またAppImageはより大きな程度でシステム下層のruntimeへ依存するため、本当にすべてのディストリビューションで使えるわけではない。musl libcのシステムでは多くのAppImageが開けず、再コンパイルが必要になる。Flatpakはruntimeを一緒に包む方法でこの問題を解決した。\n3.3. sandboxで安全性を高める # 下図はFlatpak公式ドキュメントが説明するsandboxの動作原理である。Flatpakアプリケーションの依存パッケージとruntimeはFlatpakが管理し、アプリケーションのインストール時に自動でダウンロードされる。 安全性の角度から見ると、Flatpakが導入した権限機構はAndroidと似ているところがある。Googleは近年、Android APPが一部の常用ディレクトリにしかアクセスできないよう規定し、システムの安全と整然さを保証している。Flatpakでインストールしたアプリケーションにもこの類の効果があり、アプリケーションがホームディレクトリへ設定ファイルを乱雑に詰め込むことを防ぐ。Flatpakはアプリケーションによるネットワークサービスや特定ハードウェア機器へのアクセスを制限できる。\n理想的には、開発者はFlatpakプログラムとしてパッケージングするとき、Flatpakが提供するPortal API一式を活用してユーザーファイルへアクセスすべきである。\n一部Linuxのアプリケーションストアは、インストールページにそのFlatpak APPが使う権限を列挙する。図はKDE Discoverが列挙するFirefoxの権限である。 FlatsealはFlatpakプログラムの権限編集に使え、コマンドを打つ必要がない。 最後に、Flatpakでインストールしたプログラムデータは統一して~/var/appに置かれる。これによりFlatpak経由でプログラムをアンインストールするとき、関連するアプリケーションデータをワンクリックで削除できる。\n私たちはFlatsealのようなプログラムを通じてアプリケーションの権限をオン・オフでき、必要なときにはアプリケーションにユーザーの全ファイルへのアクセスを許可できる。\n4. Flatpakでアプリケーションをインストールする短所 # 4.1. アプリケーションが肥大化する # Flatpakアプリケーションは重い。特にFlatpakでアプリケーションをあまりインストールしない場合はそうだ。Flatpakをインストールすることは、第二のパッケージマネージャーを入れることに等しいため、依存パッケージを別途ダウンロードしなければならない。\n例を挙げると、新規インストールしたLinuxシステムでFlatpakを使ってFirefoxブラウザをダウンロードすると、Nvidia、GNOMEなどの依存をインストールするため、さらに500MBの容量が必要になる。しかしシステム本体のパッケージマネージャー経由なら、200MBにも満たないかもしれない。\nFlatpakを多用してアプリケーションをインストールすれば、この問題はそれほど深刻ではなくなる。Flatpakソフトウェア同士には共有されるruntimeが一部あり、プログラムを一つ入れるたびに大量の依存を全部再インストールする必要はない。Flatpakの毎日自動更新を設定するのも一つの解決策で、長い間放置した更新で大量の依存をダウンロードする事態を避けられる。さらにFlatpakは増分更新をサポートしている。\n4.2. sandbox権限設計が不適切 # Flathubのプログラムはすべてが原作者によって掲載されたものではない。非公式パッケージングのものもあり、そのため一部アプリケーションのバージョンが古かったり、奇妙なbugがあったりする。\n一部のFlatpakプログラムはパッケージング後のsandbox権限設計が不適切で、ファイルへ正常にアクセスできない、システム実行ファイルが見つからない、Fcitx5入力メソッドを呼び出せない、デスクトップテーマと統合できないなどの問題を引き起こす。\n設定ファイルを乱雑に置く問題もある。一部のFlatpakプログラムは、さまざまな要因により、なおデータを~/.var/app以外の場所へ置き、XDG規範に従わない。\n現在Flatpakの権限調整方式は、ユーザーをとても困惑させやすい。誰がこれらのbusが何をしているのか知りたいんだ？バスに乗るのってそんなに難しいのか？ 開発者がFlatpak版のプログラムへ少し気を配るなら、Androidのように「権限リクエスト」ダイアログを追加し、ユーザーが権限の用途をより理解できるようにすべきだ。\n安全性という点では、Flatpakは実は最も安全な解決策ではない。Flatpakのsandboxはシステムと完全に隔離されているわけではない。Flatpakの権限制限を考えると、Firefox、GIMPのようなプログラムはユーザーのホームディレクトリ内の全ファイルへのアクセスを要求せざるを得ない。そうしなければfile pickerがそもそもファイルを選択できないからだ。さらにVisual Studio Code、QT Creatorは必ずシステム実行ファイルへアクセスする必要がある。そうでなければプログラムをコンパイルできない。\nより安全なsandbox実行環境が必要なら、Docker、chroot、仮想マシンの方案のほうがよい選択かもしれない。\nしかし安全機構は、ないよりはあるほうがよい。少なくともFlatpakプログラムは互いのデータディレクトリを見ることができない。\nもし将来、プログラム開発者がFlatpakのPortal APIを優先的な開発考慮に置いてくれるなら、安全性はさらに強化できる。\n4.3. システム統合の問題 # 一部のFlatpakプログラムはデスクトップ環境のテーマに従わず、QTプログラムがGNOMEで見ると奇妙に見える。逆にGTKプログラムがKDEで見える場合も同じだ。ユーザーはテーマを適用するために手動で環境変数を設定しなければならず、とても面倒である。\nFlatpakでプログラムを実行するコマンドは非常に長くなる。以前は端末でfirefoxと打てば開いたが、Flatpakではflatpak run org.mozilla.firefoxと打たなければならない。\nさらにFlatpakはプログラムを環境変数(PATH)へ追加しない。そのため一般パッケージマネージャーの方式でfirefoxコマンドを実行しても、システムはFlatpak版Firefoxを見つけられない。別途/var/lib/flatpak/exports/binをPATHへ追加し、aliasを設定して初めて一時的に解決できる。\n最後はシステムプログラムとサーバーアプリケーションだ。上で述べたように、Flatpakが主に狙うのはグラフィカルアプリケーションであり、システムプログラム方面のものは比較的少ない。Fcitx5入力メソッドやffmpegはあるが、現在のところFlatpakでJavaやPHPを入れている人は聞いたことがない。これによりサーバー方面ではFlatpakにあまり優位性がなく、比較するとCanonicalが強く推すSnapのほうがより整っている。\nFlatpakはいくつかのコンテナ化技術を使っているが、結局DockerやPodmanではないため、headlessのサーバーサービスを動かすには適していない。\nFlatpakの困境は、その設計自体がシステム設定を変更できないことにある。はっきり言えば、sudo権限でシステムファイルを動かせないということだ。sandboxを抜けてホストマシンでflatpak-spawnコマンドを実行してできることにも限界がある。これにより、一部ソフトウェアは技術的にFlatpak版を持つことが不可能になる。たとえばリモートデスクトップサーバーや仮想マシンソフトウェアなどだ。\nFlatpakでインストールするのに適したアプリケーションは、主にデスクトッププログラムであり、さらにSteamのようにシステム設定を変更する必要がないアプリケーションである。\n5. まとめ # Flatpakが開発者にもたらす利点は明らかで、ユーザーにとってもAPPのインストール手順を簡略化する。ただし容量とsandboxの問題は、今後Linuxコミュニティがどのように改善するかを見る必要がある。\nアプリケーションストアのフロントエンドとよく統合できれば、ユーザーのプログラムインストール体験を改善できるはずだ。\n参考資料 # Flatpak Is Not the Future - Nicholas Fraser Response to “Flatpak Is Not the Future” | TheEvilSkeleton Developers are lazy, thus Flatpak - BrixIT Blog Response to \u0026ldquo;Developers are lazy, thus Flatpak\u0026rdquo; | TheEvilSkeleton ","date":"2025年1月8日","externalUrl":null,"permalink":"/ja-jp/posts/linux-flatpak-pros-and-cons/","section":"Foss-Issues","summary":" 執筆時点のFlatpakバージョン：1.14.4\n「Flatpak、Linuxアプリケーションの未来」Flatpak公式サイトにはそう書かれている。 なぜLinuxでアプリケーションをインストールすることが、時に大きな悪夢になるのか？なぜFlatpakはこの問題を有効に緩和できるのか？\nこの記事ではIvonが、なぜFlatpakが生まれたのか、そしてFlatpak技術の長所と短所を簡単に紹介する。\n用語解説：\n「システムプログラム」とは、コンパイラ、runtime、ライブラリなどのソフトウェアを指す。 「グラフィカルプログラム」とは、グラフィカルインターフェースを持つ文書ソフト、画像処理、ブラウザなどのソフトウェアを指す。 ＊ 本稿でIvonが主に議論するのはFlatpak技術の長所と短所であり、Flatpakパッケージとコマンドの実際の使い方についてはこの記事を参照してほしい。\n1. Linuxディストリビューションのアプリケーションインストール問題 # まずFlatpakが生まれた背景から話そう。\nLinuxでアプリケーションをインストールするには、パッケージマネージャー(package manager)を通じてダウンロード・インストールすればよい、ということは皆知っている。アプリストアの背後でやっていることも基本的にはそれである。\n","title":"LinuxシステムでFlatpakを使ってアプリケーションをインストールする長所と短所","type":"foss-issues"},{"content":"Flatpak是什麼？它是Linux的一種軟體打包格式，可以減少安裝軟體的複雜度，統一所有發行版的安裝指令，再也不用考慮個別發行版間的依賴問題。使用沙盒機制提供更好的安全性，並將應用程式設定檔統一存放在固定目錄下。\n簡單來說，Flatpak能為不同Linux發行版的使用者提供版本一致的軟體，不會因為每個發行版各自打包導致軟體版本不一致。\n提供Flatpak軟體的商店Flathub已上架多款熱門應用程式，例如Google Chrome、Steam、LibreOffice、Blender、GIMP，不論是哪個Linux發行版都能統一下載到最新版的軟體。 大多數Linux發行版已支援Flatpak技術，沒內建的話用指令裝一下就可以了。\n這篇文章Ivon將會介紹如何在您的Linux系統上使用Flatpak安裝軟體(包含安裝.flatpakref格式)，以及解決相關的權限和儲存問題。\n1. 安裝Flatpak套件管理器 # 要安裝Flatpak格式的應用程式，首先需要安裝Flatpak本體來管理套件。\nFlatpak最低需要搭載Linux核心3.17以上版本的系統。\nFlatpak支援x86與ARM架構的電腦，但是套件數量x86比較多。\n請到Flatpak官網查詢各大Linux發行版的安裝方法，一些發行版已經內建Flatpak。這裡我用的Ubuntu LTS沒有內建Flatpak，需要執行以下指令安裝Flatpak套件：\nsudo apt update sudo apt install flatpak 裝好還要加入Flathub的套件庫。 建議不想每次更新應用程式都打密碼的使用者，加上--user給個別使用者加入套件庫。這樣使用者就能免密碼安裝應用程式，且Flatpak只會安裝程式到目前用戶的家目錄，只有你看得到。解除安裝應用程式亦不需要sudo。\nflatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 或者，將套件庫加入到整個系統，這樣所有使用者都看得到該軟體（有時可能要加上sudo）：\nflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 做完以上措施後，重開機後就能用Flatpak安裝軟體。 2. 安裝Flatpak應用程式 # 在安裝好Flatpak套件管理員之後，才能安裝應用程式。\n2.1. 用指令安裝 # Flatpak要安裝應用程式多半是使用Flathub，這是什麼網站呢？Flathub是GNOME基金會經營，蒐羅最多Flatpak應用程式的網站，混雜開源與專有軟體。\n那我們要怎麼安裝在Flathub看到的應用程式呢？Flathub只有網頁，沒有官方軟體商店程式。這裡首先介紹指令版裝法，後面介紹圖形化版裝法。\n以Flathub的Mozilla Firefox為例，點選\u0026quot;Install\u0026quot;會下載.flatpakref結尾的格式。 對其點二下，您桌面環境的應用程式商店就會跳出來指示您安裝了。 flatpakref可以用指令安裝：\nflatpak install \u0026lt;.flatpakref路徑\u0026gt; 您也可以手動複製Flathub頁面顯示的指令 再貼上頁面所顯示的指令安裝。安裝時可能會出現要安裝至system或user，通常我是選user。\nflatpak install org.mozilla.fireofox 嫌指令太長，你可以改用下一節討論的圖形化前端(應用商店)安裝。\n你可能會發現Flatpak應用程式要下載的檔案比一般用套件管理員裝的還要大許多，這是正常的，我在這篇有另外討論Flatpak安裝應用程式的優缺點。\n應用程式安裝後就會出現在應用程式列表，使用起來跟一般應用程式沒兩樣。\n欲解除安裝Flatpak應用程式，使用flatpak uninstall指令。注意還要加上--delete-data才會在解除安裝的時候一併刪除該程式的設定檔。\nflatpak uninstall org.mozilla.firefox --delete-data 2.2. 從應用商店安裝 # 除了從Flathub網頁複製指令外，也可以使用桌面環境的應用程式商店下載Flatpak應用程式，例如GNOME Software與KDE Discover。\n應用程式商店讓使用者免打指令安裝程式，還有加入使用者評分機制。\nUbuntu系統的GNOME Software要安裝gnome-software-plugin-flatpak套件才會顯示Flathub上的應用程式；KDE Discover則需要安裝plasma-discover-flatpak-backend套件。\n在應用商店瀏覽的時候應會顯示「Flathub來源」，如下圖KDE Discover的畫面。 若你覺得桌面環境提供的應用程式商店不好用，那麼請安裝專為Flatpak設計的圖形管理程式Bazaar或Warehouse 3. 操作Flatpak應用程式 # 3.1. 用指令啟動 # Flatpak應用程式安裝後通常就會出現在桌面的應用程式列表了，這裡用指令啟動僅是方便除錯。\n要從終端機啟動Flatpak應用程式，請使用flatpak run指令，並且要打出完整Flatpak應用程式名稱。\nflatpak run org.mozilla.firefox 要看更詳細的錯誤資訊，使用--verbose：\nflatpak run --verbose org.mozilla.firefox Flatpak跟一般應用程式一樣，可以另外加入啟動引數，例如以隱私視窗引數啟動Firefox\nflatpak run org.mozilla.firefox --private-window 要使用環境變數，用flatpak override --env指令，例如強制Firefox使用Wayland的環境變數\nflatpak --user override --env=MOZ_ENABLE_WAYLAND=1 org.mozilla.firefox 要開放存取特定檔案或目錄，用flatpak override --filesystem指令，例如允許Firefox存取其他硬碟檔案\nflatpak --user override --filesystem=/run/media/user/HDD/ org.mozilla.firefox 3.2. Flatpak安裝路徑 # Flatpak安裝的應用程式位於~/.local/share/flatpak/，應用程式的資料位於~/.var/app/\u0026lt;應用程式名稱\u0026gt;目錄，應用程式圖示位於~/.local/share/flatpak/exports/，這裡也是各個應用程式設定檔的存放位置。像MPV、Vim這類需要撰寫設定檔的應用程式，就是將設定檔丟到這裡。\n上面我們提到要從終端機執行Firefox，需要用flatpak run org.mozilla.firefox指令，但若其他應用程式是直接呼叫firefox來開啟瀏覽器呢？\n這時請用alias解決，編輯~/.bashrc，加入以下內容，執行firefox等同執行flatpak run org.mozilla.firefox。\nalias firefox = flatpak run org.mozilla.Firefox 3.3. 更新Flatpak應用程式 # flatpak update指令會更新全部應用程式。\n若要更新個別應用程式，請在指令後面加上應用程式名稱，例如flatpak update org.mozilla.firefox\n若要防止特定應用程式更新，加上mask，例如flatpak mask org.mozilla.firefox\n3.4. 降級Flatpak應用程式 # 如果更新出狀況，您可能會想要降級到舊版本應用程式。\n使用flatpak remote-info列出該應用程式最近的提交，看完按Ctrl + C停止載入 flatpak remote-info --log flathub org.mozilla.firefox 用flatpak update指定安裝舊版本提交 flatpak update --commit=\u0026#34;commit數字\u0026#34; org.mozilla.firefox 若要防止未來應用程式自動更新，使用flatpak mask指令 flatpak mask org.mozilla.firefox 3.5. 清除Flatpak佔用空間 # 時間久了Flatpak的儲存庫(~/.local/share/flatpak/)會累積許多舊版檔案，若確認不會降級可將其清除。\n使用flatpak --user uninstall --unused和flatpak --user repair指令清除冗餘檔案。\n4. Flatpak常用指令 # 全部指令請看官方文件。\nflatpak指令在執行的時候可以選擇性加上--user或--system，指定要變更個別使用者抑或是系統設定。\nFlatpak的應用程式名稱，正式來說叫做domain name，由網域而非單一字串組成，讓每個程式都有獨一無二的識別符。例如「Firefox」完整名稱是為「org.mozilla.Firefox」。部份Flatpak指令執行的時候支援模糊搜尋，不過還是把應用程式完整名稱打出來比較好。\n指令 用途 flatpak search [應用程式名稱] 搜尋Flathub的應用程式，支援模糊搜尋 flatpak install [應用程式名稱] 安裝應用程式 flatpak install [.flatpakref][.flatpak] 從.flatpakref或.flatpak檔安裝Flatpak應用程式 flatpak run [應用程式名稱] 執行應用程式 flatpak uninstall [應用程式名稱] 移除應用程式，另有別名flatpak remove flatpak uninstall --delete-data [應用程式名稱] 移除應用程式並刪除設定檔 flatpak uninstall --unused 移除用不到的依賴套件 flatpak repair 清理Flatpak的git儲存庫，移除無效物件 flatpak list 列出所有安裝的Flatpak套件，包含runtime flatpak list --apps 列出所有安裝的Flatpak應用程式 flatpak override 覆寫Flatpak應用程式設定，可以用來設定環境變數、啟動引數、賦予權限 flatpak permission-reset [應用程式名稱] 重設應用程式權限 flatpak update 更新全部應用程式 flatpak remotes 列出遠端套件庫 flatpak mask [應用程式名稱] 鎖定應用程式版本，防止應用程式自動更新 flatpak pin [應用程式名稱] 鎖定應用程式，防止應用程式被自動刪除 flatpak ps 列出所有Flatpak應用程式的行程。 flatpak kill [應用程式名稱] 終止應用程式執行 5. 管理Flatpak程式權限 # Flatpak使用Bubblewrap實現應用程式沙盒化，並規範了一套權限(permission)，加強系統安全性。\n如果使用Flatpak安裝應用程式可能會遇到一些問題，比如Chrome瀏覽器的檔案管理員無法開啟特定硬碟的檔案、無法拖曳圖片到瀏覽器、或者是檔案選擇器只有Downloads？\n如果特定目錄的檔案打不開，你可以借助圖形化的應用程式Flatseal，管理Flatpak程式的權限(permission)。它的功能等同flatpak override。\n它亦能夠將Flatpak應用程式的啟動引數維持不變，不會讓Flatpak程式因為更新後失效。\n6. 自動更新Flatpak程式 # 如果隔很久才手動更新Flatpak，可能會要下載大量資料。在網路速度許可的情況下，可以利用systemd timer，每日自動檢查Flatpak應用程式的更新，搭配atomic update機制，每日一小點一小點的更新。\n新增服務要裝在系統還是個別使用者？端看您Flatpak應用程式是裝在系統還是裝在個別使用者來決定。\n新增服務 # 系統 sudo systemctl edit --full --force update-system-flatpaks.service # 個別使用者 systemctl --user edit --full --force update-user-flatpaks.service 填入以下內容 [Unit] Description=Update Flatpaks [Service] Type=oneshot ExecStart=/usr/bin/flatpak update -y [Install] WantedBy=default.target 建立timer # 系統 sudo systemctl edit --full --force update-system-flatpaks.timer # 個別使用者 systemctl edit --user --full --force update-user-flatpaks.timer 填入以下內容 [Unit] Description=Update Flatpaks daily [Timer] OnCalendar=daily Persistent=true [Install] WantedBy=timers.target 啟用服務 # 系統 sudo systemctl daemon-reload sudo systemctl enable --now update-system-flatpaks.timer # 個別使用者 systemctl --user daemon-reload systemctl --user enable --now update-user-flatpaks.timer 7. 設定開機自動啟動 # Flatpak啟動應用程式的指令為/usr/bin/flatpak run \u0026lt;應用程式ID\u0026gt;，可加上--background引數使其在背景執行。\n請參見Linux開機自動啟動。\n8. 備份Flatpak應用程式資料 # 如果要備份Flatpak程式資料，就直接備份~/.var/app目錄吧，但是Flatpak程式不見得會把設定檔乖乖放在這裡，有些會放到~/.config，得自行判斷Flatpak有沒有存取其他目錄。\n參考Reddit網友作法，如果只是單純要備份「應用程式列表」，不包含資料和runtime的話：\n# 存成txt檔 flatpak --user list --columns=application --app \u0026gt; flatpaks.txt # 之後可以從txt檔還原 flatpak install -y $(\u0026lt; flatpaks.txt) 延伸閱讀 # Flatpak官方說明文件 Flathub論壇 AppImage：可攜式軟體 Linux系統的Snap是什麼？跨發行版套件管理器使用介紹 ","date":"2025年1月8日","externalUrl":null,"permalink":"/posts/linux-flatpak-introduction/","section":"所有文章","summary":"Flatpak是什麼？它是Linux的一種軟體打包格式，可以減少安裝軟體的複雜度，統一所有發行版的安裝指令，再也不用考慮個別發行版間的依賴問題。使用沙盒機制提供更好的安全性，並將應用程式設定檔統一存放在固定目錄下。\n簡單來說，Flatpak能為不同Linux發行版的使用者提供版本一致的軟體，不會因為每個發行版各自打包導致軟體版本不一致。\n提供Flatpak軟體的商店Flathub已上架多款熱門應用程式，例如Google Chrome、Steam、LibreOffice、Blender、GIMP，不論是哪個Linux發行版都能統一下載到最新版的軟體。 大多數Linux發行版已支援Flatpak技術，沒內建的話用指令裝一下就可以了。\n這篇文章Ivon將會介紹如何在您的Linux系統上使用Flatpak安裝軟體(包含安裝.flatpakref格式)，以及解決相關的權限和儲存問題。\n1. 安裝Flatpak套件管理器 # 要安裝Flatpak格式的應用程式，首先需要安裝Flatpak本體來管理套件。\nFlatpak最低需要搭載Linux核心3.17以上版本的系統。\nFlatpak支援x86與ARM架構的電腦，但是套件數量x86比較多。\n","title":"Linux系統如何安裝Flatpak格式的軟體？使用教學","type":"posts"},{"content":"介紹如何妥善地操作Linux的GNOME Shell桌面環境，適合「入門初學者」與「覺得GNOME很難用」的人士閱讀。 這裡Ivon討論的內容適用搭載GNOME 40以上版本的Linux發行版，例如Debian、Ubuntu、RHEL、Fedora、Rocky Linux、openSUSE、Oracle Linux、Arch Linux等等。\nIvon用Fedora的GNOME桌面作為示範。用Fedora是因為它的GNOME很接近上游原始的版本，沒有做太多修改。\nUbuntu用戶需要注意：Ubuntu的GNOME有另外打過patch，所以界面跟原版GNOME長得不太一樣，但基本操作精神是共通的。\n序 # 為什麼電腦操作還需要學？自從GNOME 3之後這個桌面環境的設計已經出現了天翻地覆的變化，並一直延續到GNOME 40、GNOME 50的版本。你不能用傳統桌面的觀念下去理解，尤其習慣Windows 11以前操作的用戶，必須轉個腦袋來適應GNOME的操作，否則會用得很卡手。 你可否真正的穿過GNOME大腳ㄚ的鞋子 (in GNOME developers\u0026rsquo; shoes，想想GNOME桌面的logo)，了解開發者的設計哲學？\n有別於RedHat那些給伺服器管理員看的官方文件，Ivon希望以桌面使用者的角度下去解說GNOME桌面的操作，而不是專注在指令上。搭配一些實際使用情境，讓使用者能依照GNOME的設計哲學下去操作系統，學習工作區為主的視窗管理模式。\n寫這篇文章的動機是什麼呢，Ivon在被GNOME折磨幾年後，跑去用KDE Plasma，理解到這才是Linux桌面該有的樣子。直到看了Ambro\u0026rsquo;s - How To Use The GNOME Desktop Environment影片，幡然醒悟，驚覺操作方式不對。所以我重新嘗試GNOME。雖然我還是比較喜歡KDE Plasma，但在理解GNOME的操作邏輯，調整使用方式，確實比較能接受它的設計了。\n有些人認為，用Linux的時候我只要終端機能動就好了，桌面怎樣操作我不太關心；又有一些人認為，GNOME太霸道，限制使用者的自由，我根本不屑用！直接裝KDE Plasma、XFCE、Cinnamon走起。我尊重這些人的想法，本來你要用什麼就是你的自由。但，GNOME畢竟仍是Linux最主流的桌面，適當的了解GNOME操作邏輯有其必要，稍稍調整一下心態後，或許你會對它重新改觀。\n另外，我反對使用GNOME的時候需要裝一堆有的沒的擴充套件，以及搞繁複的美化。\nGNOME 40的官網標語寫的很好：\nGNOME – Simple, beautiful, elegant. Get things done with ease, comfort, and control.\nGNOME桌面是設計來做事，不是胡搞瞎搞的。有趣的是，根據劍橋字典的定義，gnome這個縮寫除了有「地精」的意思以外，還有「不作張揚，默默工作才子」的意思。\n安裝桌面後，你總想要安裝自定義主題，搞所謂的美化桌面，設定一堆有的沒的擴充元件。把桌面弄得花花綠綠。難道你是在說，Linux預設的GNOME桌面很醜麼？其實GTK3真的蠻醜的。 裝個小工具擴充套件是可以，稍微改點色調也沒什麼不好。但是大幅度改變GNOME的系統外觀，修改操作邏輯，希望它像是Windows和macOS就不好了。雖然Linux很自由，能夠拼湊出你想要的樣子。但是在GNOME，這就是不太現實的想法。GNOME開發者刻意限制了你能做的事情，改造起來會很麻煩。\n故，你作為使用者，應該嘗試了解GNOME開發者設計的操作邏輯，不是強行扭轉。這篇文章中，我盡量用貼近原版GNOME原本設計的方式來操作。\n1. GNOME桌面的設計哲學 # 根據GNOME人機界面指南，GNOME以及其附屬應用程式的設計哲學為：\n人本主義 (Design for People)：包容各式各樣的使用者，讓不懂技術的人也能輕鬆使用。還要考慮特殊人群的需求，GNOME內建不少無障礙輔助功能，讓身體不方便的人群也能操作電腦。 保持簡潔 (Make it Simple)：做一件事並做好。不要用一堆元素塞滿畫面，干擾使用者。 減少負擔 (Reduce User Effort)：降低使用者學習成本，操作要直覺，讓他們能快速學會軟體操作。 體諒他人 (Be Considerate)：為使用者著想，執行操作前都先詢問使用者。 此外，GNOME最為人熟知的特點，就是其對生產力的注重，這大大影響了GNOME的互動設計。使用者應該專注完成一件事，而不受畫面上多餘的元素干擾，所以畫面簡潔很重要。\n2. GNOME桌面的基本操作 # 學習並理解GNOME的基本操作。\n請使用鍵盤和滑鼠操作。後面會講觸控板的操作方式。\nLinux開機之後，會看到登入畫面，此為GNOME的顯示管理器GDM，讓你登入桌面用的。 輸入密碼的時候，右下角能夠選取工作階段。GNOME最新版應該使用Wayland協定了，下面Xorg和GNOME Classic為舊式視窗系統，不推薦使用。 登入之後會看到GNOME的畫面： 左上角是概覽，點一下之後會進入全部視窗的「概覽」畫面，以及讓你在工作區之間切換。再點一下隱藏。 中間上面為通知欄，這裡會顯示程式的通知，以及日曆小工具，還有正在播放中的影音。 右上角為系統匣，部份程式縮小後的圖示會顯示在這裡。還能夠快捷調整網路、音量、藍芽、電源模式、關機鍵、GNOME系統設定等選項。 點一下左上角進入概覽界面，你就會看到螢幕下方出現一排應用程式工作列，GNOME把它叫做「Dash」。在Dash的左側會顯示你釘選的程式，右側是開啟的程式。 點一下Dash的點點，展開應用程式列表。 操作：\n左右滑動檢視應用程式。\n用滑鼠拖曳程式圖示，重新排序。\n拖曳程式圖示，將其重疊在一起，新增資料夾。如果你用久了覺得程式太多不好找，那麼這是一個整理的方式。\n對應用程式按右鍵，或者拖動圖示，將程式釘選到Dash。\n在概覽界面或應用程式列表的時候，你可以不用點搜尋欄位，直接開始打字，例如搜尋應用程式、尋找本機家目錄的檔案、線上搜尋資料、用計算機算數學等。其餘搜尋項目請開啟 GNOME系統設定 → 搜尋 來調整。 點選應用程式圖示，開啟應用程式視窗。\n好了，你會發現程式怎麼只有打叉鍵？是的，GNOME預設的設計就是這樣，視窗沒有縮小選項。用不到的視窗，本就應該關掉不是麼？要最大化視窗，請對視窗的標題欄點兩下。 接著，你望向GNOME的背景圖片，想新增應用程式捷徑，卻發現不能放任何東西到「桌面」上？沒錯，GNOME桌面預設就是不能放任何東西的，它只允許你改桌布而已。 如果你需要常常存取特定程式，請把它們釘選到Dash。至於要開啟常用資料夾的文件？善用GNOME檔案管理器的書籤功能。使用GNOME的時候，請拋棄把檔案隨意丟在桌面的想法，學習如何好好的用資料夾整理你的檔案。\n講完了基本的東西，接著要介紹GNOME桌面的重要概念：工作區。\n3. 學習用工作區管理視窗 # 了解如何在視窗逐漸變多的時候，善用工作區來管理。\nGNOME工作區就是用來放置程式視窗的區域，有點類似Windows 11虛擬桌面。\n當你進入概覽畫面的時候，就會看到工作區的畫面。 每次進入開機桌面概覽，GNOME的右邊會出現一個空白的工作區，讓你能用滑鼠把視窗拖過去。\n對部份程式的視窗標題欄點右鍵，也能夠移動到其他工作區。 GNOME會自動根據你的滑鼠動作新增工作區，並自動關閉沒有任何視窗的工作區。如果你希望工作區數量固定，請在 GNOME系統設定 → 多工作業 調整。\n在概覽畫面的時候，滾動滑鼠滾輪，能夠在多個工作區之間切換。\n若給Linux電腦接上雙螢幕，預設情況下第二個螢幕不會出現GNOME工作區，而是只有一個單獨的桌面。\n開啟應用程式列表，中間上方的格子，是各個工作區的預覽。 你可以在概覽的界面，拖動視窗到上方的格子，把程式快速移動到另外一個工作區裡面，或者再新增一個工作區。 GNOME的設計哲學是希望你專注，所以務必記住這個觀念：不要在一個工作區開超過4個以上視窗。GNOME預設是沒有最小化視窗按鈕的，視窗太多最後就會全部重疊在一起，非常難看。 多個視窗造成畫面混亂的範例\n這時就得善用工作區來管理視窗。\n來個使用情境，假設你用LibreOffice打報告，接著需要開PDF檢視器看檔案。然後你又開Chrome瀏覽器找資料，再開一個Spotify聽歌。那麼視窗要怎麼排列呢？\n對1080p的螢幕而言，一個工作區最多兩個程式的視窗就夠了。滑鼠點選視窗標題欄，按下Super鍵 + 鍵盤左右鍵，將視窗並排檢視。\n這是第一個工作區的樣子。只有LibreOffice和PDF檢視器。 要開啟新的程式視窗，移動到第二個工作區，然後點選圖示開啟程式。由於Chrome瀏覽器應該是全螢幕方便查看資料，所以放到最大。 Spotify如法炮製，把它放到第三個工作區。 然後回到第一個工作區，開始工作。\n如果你臨時需要做其他事情，就切換到第四個工作區，開啟視窗。這樣就不會破壞你之前設定好的節奏。\n若你覺得有個同等重要的程式需要放在第一個工作區旁邊，像我這邊有個Line。就善用上面講的技巧：開啟應用程式列表，拖動視窗到工作區的預覽格子，交換工作區排序。 4. GNOME快捷鍵與觸控板手勢 # 上面講完了GNOME的操作，要介紹一些快捷鍵。GNOME的快捷鍵很多，像Ctrl + C和Ctrl + V複製貼上這類基礎的就不講了，我講一些方便操作的。\n其他快捷鍵可以在GNOME系統設定 → 鍵盤 → 快捷鍵自訂。\n這裡Super鍵 = Windows鍵。\n快捷鍵 操作 Super 切換概覽畫面。 Super + 滑鼠滾輪 切換工作區，不用進入概覽畫面。 Super + 數字鍵 開啟Dash釘選的應用程式。從左邊開始數。 Alt + F4 關閉視窗 Alt + F5 或 Super + ↓ 將視窗縮放回原本大小 Alt + F10 或 Super + ↑ 最大化視窗 Super + H 最小化視窗 Alt + Space 對視窗標題欄點右鍵，顯示動作選單 Super + ←→ 將視窗吸附到螢幕左側或右側 Super + Tab 列出所有工作區的視窗，進行切換 Super + ` 在同一個應用程式的視窗之間切換，例如Chrome開兩個視窗，就能用這個快捷鍵切換 Alt + Esc 在目前工作區的程式之間，切換視窗 Ctrl + Alt + Tab 將滑鼠選取區域移動到概覽按鈕，並用上下左右鍵移動 Super + A 顯示應用程式列表 Super + Page Up/Page Down 切換到左邊或右邊的工作區 Shift+ Super + Page Up/Page Down 移動選取的視窗到前一個或下一個工作區。 Shift + Super + ←→ 移動選取的視窗到左邊或右邊的工作區 Ctrl + Alt + Delete 顯示關機選單 Super + L 鎖定螢幕 Super + V 開關通知欄 如果你使用筆電觸控板，那麼GNOME能用以下手勢操作。GNOME目前不能自訂手勢，需要裝擴充套件。\n快捷鍵 操作 點一下 滑鼠左鍵 二指點一下 滑鼠右鍵 二指上下滑動 滑鼠滾輪 點一下，另一指滑動再放開 拖曳視窗或選取元素 三指往上滑動 開啟應用程式列表 三指左右滑動 切換工作區 5. 微調GNOME外觀和行為 # 要調整GNOME桌面的外觀和行為，除了開啟「GNOME系統設定」之外，還有「GNOME Tweaks」和「Dconf Editor」。這二個軟體可能要另外用套件管理器安裝。\nGNOME Tweaks，中文名稱叫「調校」，安裝後會跑到應用程式列表的「公用程式」資料夾。 GNOME Tweaks能夠修改GNOME的主題圖示、啟用放大縮小鍵、設定開機啟動程式、觸控板設定等等。隨著未來GNOME的更新，這裡的選項未來可能會逐步移動到GNOME系統設定選單。 至於Dconf Editor，效果等同執行gsettings指令，是用於修改GNOME桌面行為的工具。 Dconf Editor跟GNOME系統設定又有什麼差異呢？GNOME很多設定都沒有圖形化，例如「筆電蓋上後是否要自動進入休眠」，這需要使用者手動修改設定檔才能達成。Dconf Editor有點像是在修改GNOME的登錄檔一樣，調整GNOME背後的行為。\n修改的時候請參考官方手冊，謹慎的修改數值。\n6. 推薦的GNOME擴充套件 # 更進一步的自定義GNOME桌面。\n你可以在GNOME Shell Extensions官網瀏覽擴充套件。\n這裡我要再次強調：不要裝太多修改GNOME行為的擴充套件，真的有必要再裝就好。裝太多擴充套件可能導致系統不穩定。\nGNOME內建的「擴充套件」，圖示為綠色的。這裡只能開關「內建」的擴充套件功能，不是很好用。 若你要安裝第三方開發者製作的擴充套件，建議安裝藍色的Extension Manager來管理。 以下是Ivon常用的擴充套件：\nApplications Menu：在左上角顯示應用程式列表，自動分類 Alphabetical App Grid：將資料夾放到應用程式前面，並讓應用程式按照字母排列，而非安裝順序先後。 Input Method Panel：在右上角顯示快捷輸入法切換器，配合Fcitx5＋新酷音，切換繁簡輸出。 Clipboard Indicator：儲存多筆剪貼簿紀錄。 AppIndicator and KStatusNotifierItem Support：顯示系統匣小圖示(Tray Icon)。 User Themes：允許使用者安裝自訂主題。到GNOME Look下載主題，將主題放到~/.local/share/themes/，再開啟「GNOME調校」 → 外觀，選取主題圖示。 GSconnect：GNOME版的KDE Connect 參考資料 # GNOME Help - A guide for GNOME 3 desktop users. GNOME Human Interface Guidelines Getting started with the GNOME desktop environment - Red Hat Enterprise Linux 9 Documentation Your desktop - Ubuntu Desktop Guide What is GNOME\u0026rsquo;s Philosophy? | TheEvilSkeleton ","date":"2025年1月7日","externalUrl":null,"permalink":"/posts/how-to-use-gnome/","section":"所有文章","summary":"介紹如何妥善地操作Linux的GNOME Shell桌面環境，適合「入門初學者」與「覺得GNOME很難用」的人士閱讀。 這裡Ivon討論的內容適用搭載GNOME 40以上版本的Linux發行版，例如Debian、Ubuntu、RHEL、Fedora、Rocky Linux、openSUSE、Oracle Linux、Arch Linux等等。\nIvon用Fedora的GNOME桌面作為示範。用Fedora是因為它的GNOME很接近上游原始的版本，沒有做太多修改。\nUbuntu用戶需要注意：Ubuntu的GNOME有另外打過patch，所以界面跟原版GNOME長得不太一樣，但基本操作精神是共通的。\n序 # 為什麼電腦操作還需要學？自從GNOME 3之後這個桌面環境的設計已經出現了天翻地覆的變化，並一直延續到GNOME 40、GNOME 50的版本。你不能用傳統桌面的觀念下去理解，尤其習慣Windows 11以前操作的用戶，必須轉個腦袋來適應GNOME的操作，否則會用得很卡手。 你可否真正的穿過GNOME大腳ㄚ的鞋子 (in GNOME developers’ shoes，想想GNOME桌面的logo)，了解開發者的設計哲學？\n","title":"Linux GNOME桌面使用心法，理解設計哲學與操作邏輯","type":"posts"},{"content":"Backup postmarketOS partitions of Android phone.\n討論如何備份postmarketOS系統分區的資料。\npostmarketOS有不少備份工具，例如rsync和Timeshift，能將系統還原到先前的狀態。Linux的權限比Android完整，所以理論上什麼目錄都能備份。且手機有支援Linux主線核心，那麼更是能善用BTRFS製作快照。\n不過，本篇我要講的是「全機備份」的做法，我希望一比一的備份手機資料，一鍵就能還原到先前的狀態。\n1. postmarketOS與Android分區 # 在PinePhone安裝postmarketOS的時候，我們可以用Tow-Boot將PinePhone變成一個硬碟，這樣插上電腦後便能用dd指令提取整個系統映像檔，備份整個系統。\n但是，不少postmarketOS的裝置都是從Android手機改造來的，他們的分割表繼承自Android。所以我們要用Android的方式來備份。\nAndroid 9以前的裝置常用A/B分區，而Android 10以後的裝置多半使用動態分區，每個裝置各有不同。以小米Poco F1為例，postmarketOS是透過fasboot刷入到boot和userdata分區，其他分區仍保持Android的原樣。故，Fastboot和Recovery依然可以使用。\n這樣理論上，二個分區就可以在Android Recovery介面，用ADB指令提取整個分區的映像檔。\n因為是全機備份，佔用的空間很容易就超過手機本身的空間，所以提取的映像檔要放到更大的SD卡或者電腦。建議使用USB 3以上速度的埠傳輸。\n2. 備份postmarketOS分區 # 小米原廠的Recovery沒有ADB功能，所以我使用LineageOS的recovery。要用TWRP備份也是可以，但是TWRP不是每台手機都有。\n重開機讓手機進入Fastboot模式\n到LineageOS網站下載Recovery，刷入\n重開機進入LineageOS Recovery\nfastboot reboot recovery 點選Advanced選單，啟用ADB功能\n將手機接上電腦。\n提取分區到電腦\nadb pull /dev/block/bootdevice/by-name/userdata userdata.img adb pull /dev/block/bootdevice/by-name/boot boot.img 這樣我們就得到兩個img檔案。 3. 還原postmarketOS分區 # 實測復原效果：\n重開機進入postmarketOS\n刪除一些檔案\n重新將img刷入，這回要用fastboot刷\nfastboot flash boot boot.img fastboot flash userdata userdata.img 重開機後理應會回復到之前的狀態。 你可能會問說，如果手機系統刷回Android，還能用這個方式復原postmarketOS的資料嗎？蠻危險的，分割表有機率亂掉。\n參考資料 # Android dynamic partitions - postmarketOS Wiki Partition backup, unlocked Android phones, through Recovery. - EskeRahn | Various tech stuff ………. How To Guide How to backup your partitions with command line (requires root) XDA ","date":"2025年1月6日","externalUrl":null,"permalink":"/posts/backup-android-phone-postmarketos-partitions/","section":"所有文章","summary":"Backup postmarketOS partitions of Android phone.\n討論如何備份postmarketOS系統分區的資料。\npostmarketOS有不少備份工具，例如rsync和Timeshift，能將系統還原到先前的狀態。Linux的權限比Android完整，所以理論上什麼目錄都能備份。且手機有支援Linux主線核心，那麼更是能善用BTRFS製作快照。\n不過，本篇我要講的是「全機備份」的做法，我希望一比一的備份手機資料，一鍵就能還原到先前的狀態。\n1. postmarketOS與Android分區 # 在PinePhone安裝postmarketOS的時候，我們可以用Tow-Boot將PinePhone變成一個硬碟，這樣插上電腦後便能用dd指令提取整個系統映像檔，備份整個系統。\n但是，不少postmarketOS的裝置都是從Android手機改造來的，他們的分割表繼承自Android。所以我們要用Android的方式來備份。\nAndroid 9以前的裝置常用A/B分區，而Android 10以後的裝置多半使用動態分區，每個裝置各有不同。以小米Poco F1為例，postmarketOS是透過fasboot刷入到boot和userdata分區，其他分區仍保持Android的原樣。故，Fastboot和Recovery依然可以使用。\n這樣理論上，二個分區就可以在Android Recovery介面，用ADB指令提取整個分區的映像檔。\n","title":"備份Android手機的postmarketOS分區到電腦","type":"posts"},{"content":"桌上型電腦和筆電使用Linux，都會遇到螢幕小需要放大字，或是螢幕尺寸太大需要放大應用程式的情況。\n螢幕解析度超過1080p的HiDPI螢幕，Linux可能就會有縮放(scaling)問題。\n這邊Ivon會列出一些解決方式，並討論如何給個別APP縮放大小。適用Ubuntu、Fedora、Arch Linux等發行版。\n這裡使用的通訊協定為X11，僅適用X Window桌面與XWayland。如果你使用Wayland請看這篇\n1. 全域螢幕縮放 # GNOME # 註：GNOME 50以上版本已移除X11工作階段支援，僅保留XWayland。這裡講的東西僅供參考。\nGNOME 49的非整數倍縮放(Fractional Scaling)屬於實驗狀態。GNOME是用GTK寫的桌面，因為GTK先天技術限制，它會先將螢幕解析度放大再裁切縮小到正確的比例。這會導致GPU佔用上升，造成效能下降。對一些性能較弱的顯卡可能會導致畫面lag。\nUbuntu的GNOME有特別打過patch，所以支援非整數縮放。Arch Linux則是要安裝mutter-x11-scaling才能支援非整數倍縮放。安裝Mutter的patch之後，執行以下指令開啟非整數縮放： gsettings set org.gnome.mutter experimental-features \u0026#34;[\u0026#39;x11-randr-fractional-scaling\u0026#39;]\u0026#34; 開啟GNOME系統設定 → 顯示器，就有縮放選項。 如果開啟分數縮放導致性能下降，另一個方式是只調整字型大小，不放大UI。\n就到系統設定→無障礙輔助，開啟「大型文字」。\n此功能對小尺寸的螢幕很有效，應用程式的字型都會放大。 如果想要使用特定字型的縮放比例，需要額外安裝gnome-tweaks套件，在應用程式列表找到「調校」，調整字型縮放。 KDE Plasma # KDE Plasma 5.27以上版本支援非整數倍縮放。\n在KDE的系統設定→顯示與螢幕設定全域縮放比例。 調整比例需重新開機才會生效。 系統設定 → 外觀，強制指定字型DPI，可以只放大程式字型，不放大UI。 xrandr指令 # 除了用圖形界面調縮放比例外，用xrandr指令直接改縮放比例也是可以的。xrandr指令能夠調整更細緻的設定，舉凡設定螢幕方向、解析度、縮放比例。\n如果連接多個顯示器，xrandr的指令會很有用，讓二個螢幕有不同的縮放大小。\n只要是使用X11協定的桌面環境，就能使用xrandr調整，所以GNOME、KDE Plasma、XFCE、LXQT、Cinnamon等桌面都可以使用此工具。\n取得目前螢幕的代號，常見的是HDMI、eDP、DP xrandr -q 縮放比例為目前螢幕長寬的縮放比例乘算，假如目前螢幕長寬是100%縮放，1.25就是長寬縮放為125%。 xrandr --output HDMI-0 --scale 1.25x1.25 多個顯示器能個別指定縮放比例 xrandr --output eDP1 --scale 0.5x0.5 --output DP2 --right-of eDP1 --output HDMI1 2. 個別應用程式縮放 # 不縮放整個螢幕，而是讓個別應用程式以特定縮放比例開啟。我們可以透過指定環境變數，使應用程式按照程式框架的縮放比例來變換大小。\n例如開啟終端機，輸入GDK_SCALE=2 firefox會以二倍縮放啟動Firefox；然而此環境變數不支援非整數縮放，如果要以非整數縮放啟動Firefox，請改用GDK_DPI_SCALE=1.1 firefox。\n鬼才知道要執行的程式是用什麼框架寫的\u0026hellip;？Linux的程式大部分都是開源的，去看一下該程式的原始碼就大概知道該程式是用什麼框架寫的。KDE的應用程式通常都是QT，GNOME則是GTK，近年來跨平台的應用程式常用Electron。\n建議將環境變數統一加入~/.bashrc或/etc/environment，這樣登入就會自動對所有應用程式生效。如何設定環境變數：\n# 編輯檔案 vim ~/.bashrc # 填入環境變數 export name=value # 編輯完成後重開機 下面說明個別的環境變數用法。\nGTK環境變數 # 使用GDK_SCALE=2或GDK_DPI_SCALE=0.5來縮放應用程式。注意GDK_SCALE只接受整數縮放。\nGDK_SCALE也會一併縮放Java 9以上撰寫的程式，以及Mono(.Net)程式。\nQT環境變數 # QT5.6以後的程式可以用QT_AUTO_SCREEN_SCALE_FACTOR=1讓應用程式跟隨系統縮放。\n或者是用QT_SCALE_FACTOR=2變數，強制指定應用程式的縮放比例。\nElectron與Chromium瀏覽器 # 執行Electron程式時加上--force-device-scale-factor=2引數，用於縮放程式。\n例子：修改Google Chrome的啟動指令，用vim編輯/usr/share/applications/google-chrome.desktop，找到Exec=這行，在啟動Google Chrome的後面加上引數。\nWine與Steam Proton # 執行winecfg指令，在圖形的頁面調整DPI。Steam Proton需要使用Protontricks這類工具才能叫出winecfg畫面。 至於Steam客戶端，請用環境變數STEAM_FORCE_DESKTOPUI_SCALING=1.5設定縮放比例。\n參考資料 # HiDPI - ArchWiki Gtk – 4.0: Using GTK with X11 - GTK Documentation High DPI | Qt 6 Documentation HiDPI Scaling · sonic2kk/steamtinkerlaunch Wiki ","date":"2025年1月5日","externalUrl":null,"permalink":"/posts/linux-x11-scaling/","section":"所有文章","summary":"桌上型電腦和筆電使用Linux，都會遇到螢幕小需要放大字，或是螢幕尺寸太大需要放大應用程式的情況。\n螢幕解析度超過1080p的HiDPI螢幕，Linux可能就會有縮放(scaling)問題。\n這邊Ivon會列出一些解決方式，並討論如何給個別APP縮放大小。適用Ubuntu、Fedora、Arch Linux等發行版。\n這裡使用的通訊協定為X11，僅適用X Window桌面與XWayland。如果你使用Wayland請看這篇\n1. 全域螢幕縮放 # GNOME # 註：GNOME 50以上版本已移除X11工作階段支援，僅保留XWayland。這裡講的東西僅供參考。\nGNOME 49的非整數倍縮放(Fractional Scaling)屬於實驗狀態。GNOME是用GTK寫的桌面，因為GTK先天技術限制，它會先將螢幕解析度放大再裁切縮小到正確的比例。這會導致GPU佔用上升，造成效能下降。對一些性能較弱的顯卡可能會導致畫面lag。\nUbuntu的GNOME有特別打過patch，所以支援非整數縮放。Arch Linux則是要安裝mutter-x11-scaling才能支援非整數倍縮放。安裝Mutter的patch之後，執行以下指令開啟非整數縮放： gsettings set org.gnome.mutter experimental-features \"['x11-randr-fractional-scaling']\" 開啟GNOME系統設定 → 顯示器，就有縮放選項。 如果開啟分數縮放導致性能下降，另一個方式是只調整字型大小，不放大UI。\n","title":"Linux X11桌面的螢幕縮放比例 \u0026 個別程式縮放(scale)的方法","type":"posts"},{"content":"","date":"2025年1月5日","externalUrl":null,"permalink":"/authors/admin/","section":"作者群","summary":"","title":"Admin","type":"authors"},{"content":" 有時候你慾火難耐，又懶得快轉影片，那麼你就需要一款工具，將好用的AV片段集合起來。做成一部合集影片，方便未來急需的時候立即打開食用。\n如果你不知道有什麼片段好剪，這邊給點想法：\n剪出一系列動畫中，特定角色的出現畫面 剪輯多部不同動畫裡面，像是野獸般交配的後入式片段 剪輯啊嘿顏的合集 比較不同片段女優的叫聲 自行編排屬於你的AV劇情 ClipMash是一款在瀏覽器執行的影片編輯器。這個Rust寫成的剪輯程式能夠在網頁跑一個影片編輯器，再交由ffmpeg運算。\n作者soundchaser128做這個程式的目的是要剪輯A片合集用的，本程式適合搭配StashApp使用，讓你從片片之海選取影片，標記各個影片的精彩戰鬥片段，快速合併為一部影片輸出。\nClipMash操作很簡單，除了剪輯片段和合併影片之外，就沒有其他功能了。不過它支援產生.funscript檔案，方便VR影片與你的4英吋單裝砲同步動作。\n1. 安裝ClipMash # 這個程式是Stash的輔助工具，不是整合在Stash網頁界面內的plugin，所以要分開安裝。\nClipMash支援Linux、Windows、macOS。到作者的Github，依照作業系統下載二進位執行檔，點二下開啟，它會嘗試下載ffmpeg。之後網頁界面應該會自動跳出來：https://localhost:5174。\n你也可以用Docker部署。將宿主機含有影片的目錄掛載到容器內的/app/data目錄下。\ndocker run -p 5174:5174 --mount type=bind,source=\u0026#34;要處理的影片路徑\u0026#34;,destination=\u0026#34;/app/data\u0026#34; ghcr.io/soundchaser128/clip-mash:latest 2. ClipMash用法 # 請注意影片編輯會受到網速影響，所以請在網路速度快的區網環境使用，否則縮圖會花很長時間載入。\n新增專案 點選目錄，加入選取要處理的影片「目錄」，例如我這個目錄下有4部Euphoria的影片，我要從裡面剪出好用的片段。\n點選影片進入編輯界面，捲動時間軸，加入Marker，標記開始與結束的片段。以此類推，製作多個Marker Detect的功能暫時不知道有什麼用，可能是依照影片本來的時間戳標記下去偵測？\n進入到下一步選取影片 Select Marker的部份，確認哪些Marker要包含進去。還能設定要讓該片段重複播放(loop)幾次 （選擇性）加入背景音樂\n設定影片輸出解析度，建議與來源影片相同 最後設定影片順序。將選項改為fixed之後就能夠自訂影片順序了。 例如這裡新增一個group，排序這些Marker 等待輸出完成。將剪輯好的影片下載，再放到Stash裡面整理吧。\n","date":"2025年1月5日","externalUrl":null,"permalink":"/posts/clipmash-stashapp/","section":"所有文章","summary":" 有時候你慾火難耐，又懶得快轉影片，那麼你就需要一款工具，將好用的AV片段集合起來。做成一部合集影片，方便未來急需的時候立即打開食用。\n如果你不知道有什麼片段好剪，這邊給點想法：\n剪出一系列動畫中，特定角色的出現畫面 剪輯多部不同動畫裡面，像是野獸般交配的後入式片段 剪輯啊嘿顏的合集 比較不同片段女優的叫聲 自行編排屬於你的AV劇情 ClipMash是一款在瀏覽器執行的影片編輯器。這個Rust寫成的剪輯程式能夠在網頁跑一個影片編輯器，再交由ffmpeg運算。\n作者soundchaser128做這個程式的目的是要剪輯A片合集用的，本程式適合搭配StashApp使用，讓你從片片之海選取影片，標記各個影片的精彩戰鬥片段，快速合併為一部影片輸出。\nClipMash操作很簡單，除了剪輯片段和合併影片之外，就沒有其他功能了。不過它支援產生.funscript檔案，方便VR影片與你的4英吋單裝砲同步動作。\n","title":"網頁影片剪輯程式ClipMash，輕鬆將AV與裏番好用的片段做成合集","type":"posts"},{"content":"","date":"2025年1月2日","externalUrl":null,"permalink":"/tags/breasts-physics/","section":"標籤","summary":"","title":"Breasts Physics","type":"tags"},{"content":"","date":"2025年1月2日","externalUrl":null,"permalink":"/tags/depth-estimation/","section":"標籤","summary":"","title":"Depth Estimation","type":"tags"},{"content":"","date":"2025年1月2日","externalUrl":null,"permalink":"/tags/depth-map/","section":"標籤","summary":"","title":"Depth Map","type":"tags"},{"content":" 製作帶有深度圖的圖片，讓2D圖片變成偽3D圖片，宛若Live2D一樣，並帶有簡單乳搖效果。\n無需安裝任何軟體，不需複雜步驟，使用開源網頁程式即可製作乳搖圖，做好能即時在手機與電腦觀看。\n讓紙片人躍然螢幕上！\n從基本的乳搖 到臀部都能達成 提昇騎乘位圖片的感覺，看著大奶在眼前晃\n或是展現肥臀的彈力。\n還能將圖片變成偽動態，增強互動效果。\n儘管效果不如真正的動畫，但至少看起來爽就好了～\n本文分享基本版作法，與進階版作法。\n1. 基本版：錯覺圖層 # 因為是基本款，所以不推薦使用，只能當作一種小技巧。\n幾年前在日本Twitter圈很紅的「スマホ乳揺」，英文圈稱之為「Shake Your Screen meme」，靈感來自日本教授北岡明佳的研究。\n把一張特殊圖片疊在乳房上，手機用戶搖晃手機，電腦用戶快速上下捲動頁面，就會有晃動的錯覺。如下圖，試試晃動雙眼。 此圖片可以用在表現女上位正面的乳房晃動，或是屁股上下搖動的樣子。 或是騎乘位上下搖動的樣子，增進閱讀性趣很有用www （(C97) [INFINITY DRIVE (京極しん)] SALVAGE (艦隊これくしょん -艦これ-)） 這種作法可攜性高，但是影響視野。\n製作過程很簡單，只要準備圖片和Shake Your Screen素材，在修圖軟體製作即可。\n用開源程式miniPaint就可以在網頁修圖！手機也可以用喔！\n點選左上角File → Open → Open File，打開你要使用的圖片 再下載Shake Your Screen素材\n點選File → Open → Open File，打開素材成為新圖層 點選右邊的圖層，選取Shake Your Screen的圖層，點Opacity輸入透明度。注意圖層透明度不要太透明，效果會下降 再點選左邊的選取工具，移動Shake Your Screen的圖層到喜歡的位置。這樣就可以預覽效果了。滿意的話就按。 這樣就完成了！點選File → Export存檔\n搭配DepthViewer APP觀看也不賴，會讓紙片人更有立體感。DepthViewer是Windows軟體（Linux請用Bottles跑），能夠MiDaS AI透過即時演算出前後立體感。 2. 進階版：Depthy任意調整乳搖位置 # 真．乳搖圖片製作程式：Depthy。\n它是一款模仿Google Camera Lens Blur景深效果的網頁程式，原始碼位於Github。我們可以利用此程式讓2D圖片變成偽3D圖片，宛若Live2D一樣，並帶有簡單乳搖效果。這可說是手機乳搖錯視(スマホ乳揺)的進階版本！乳搖圖片能跟著滑鼠移動，手動控制互動效果。在H圖的用途上，除了讓乳房晃動之外，也可以用來增進其他體位的視覺效果。\n該網頁支援手機與電腦觀看，手機的話Depthy會跟著手機位置移動視角。使用者還可以自行繪製深度圖(depth map)，調整遠近效果，達到乳搖效果！\n選取背景不要有太多雜物的圖片，人物與背景清楚分離。或者先用rembg自動去背。 開啟Depthy網頁：https://depthy.stamina.pl\n點選網頁左邊的Open Photo，開啟圖片\n點選Draw it，繪製深度圖（也可以點選畫面下方的筆刷圖示編輯） 拖動左邊的拉桿，拉到Near，並調整下面的筆刷大小 把你認為應該位於畫面最前面的塗黑。觀念：越前面的元素，晃動幅度越大。 反之，拖動左邊的拉桿，拉到Far，把你認為應該處於圖片最後面的部份，用筆刷塗白。不過如果只是要看乳搖用不著特別畫這個，預設沒有畫上筆刷的部份都是最遠的部份。 比較複雜的範例：這張圖我想要她跟著上下移動，但是每個部份有遠近之分，圖層做的比較複雜，所以針對比較近的腿和小穴加深顏色，較遠的乳房塗上的顏色較輕。 點選Finish，之後滑鼠預覽應該就會有效果了，圖片會跟著滑鼠轉，最前面的胸部也會晃動。 Depthy畫面下方的設定選項還提供Calm、Normal、Dramatic的視覺效果變化。若勾選Hypnotized，圖片還會自己上下搖動～ 建議先按畫面底部的圖片按鈕，把剛剛畫的深度圖存起來，這樣日後載入該深度圖就能重現乳搖效果。 點選分享按鈕匯出圖片，存成GIF或者影片。\n3. 用MiDaS生成高精確度的深度圖 # 如果覺得Depthy手動畫深度圖太麻煩，可以使用更為強大的MiDaS AI，為圖片自動生成高精確度的深度圖，再放到Depthy處理。\nMiDaS全名為：Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer\n開啟MiDaS官方demo網頁：ZoeDepthy，上傳圖片，點選Submit，取得黑白的深度圖，對深度圖按右鍵存檔 回到Depthy網頁，開啟圖片，依照指示，點選網頁中間對話框的Load depthmap，載入剛剛取得的深度圖。 ","date":"2025年1月2日","externalUrl":null,"permalink":"/posts/create-breasts-physics-images/","section":"Nsfws","summary":" 製作帶有深度圖的圖片，讓2D圖片變成偽3D圖片，宛若Live2D一樣，並帶有簡單乳搖效果。\n無需安裝任何軟體，不需複雜步驟，使用開源網頁程式即可製作乳搖圖，做好能即時在手機與電腦觀看。\n讓紙片人躍然螢幕上！\n從基本的乳搖 到臀部都能達成 提昇騎乘位圖片的感覺，看著大奶在眼前晃\n或是展現肥臀的彈力。\n還能將圖片變成偽動態，增強互動效果。\n儘管效果不如真正的動畫，但至少看起來爽就好了～\n本文分享基本版作法，與進階版作法。\n1. 基本版：錯覺圖層 # 因為是基本款，所以不推薦使用，只能當作一種小技巧。\n幾年前在日本Twitter圈很紅的「スマホ乳揺」，英文圈稱之為「Shake Your Screen meme」，靈感來自日本教授北岡明佳的研究。\n","title":"Depthy製作乳搖圖片，讓色圖動起來！強化視覺效果","type":"nsfw"},{"content":" What it feels like to watching porns multiple monitors.\n概要 # 爽翻天自HIGH神功（日語：ハイパーセルフプレジャーモード。英語：Hyper Self-Pleasure Mode），是一種看著多個螢幕的打手槍方式。\n典出《歡迎加入NHK！》漫畫版第五集，92頁。家裡蹲佐籐達廣發明的方法，為了認真做事，要先消解無邊的性慾！注意不要被家人看到呦。 具體來說，架設多個電腦螢幕，儘可能環繞眼前120度的視角，每個螢幕都放上喜歡的H內容，然後對著她們打手槍。\n實不相瞞，我還真幹過這種事。\n以前弄過紙本版（把灰色圖片塗黑） 還有多螢幕混合版 我覺得有種～「擁有很多東西」的感覺。\n但是效果不太好，主要是螢幕尺寸不一。且沒有經過「編排」，看起來雜亂無章。\n所以要來重新覆盤一下\n覆盤 # 首先，爽翻天自HIGH神功要營造的就是後宮百景圖的樣子。應該至少要有三個電腦螢幕在眼前。尺寸最好相近。\n螢幕擺放方式，最簡單的就是放一直線，橫向的擺放，螢幕之間略有弧度的圍成半圓形。其實不需要是電腦螢幕，使用筆電螢幕和平板組成也是可以的。因為便攜的特性，要怎麼擺放都行。但要盡量讓他們的長寬剛好契合，比如平板放垂直的，讓其跟筆電螢幕高度正好符合，才不會因為尺寸不同而太突兀。\n再者，針對螢幕長寬比，要選擇適合的圖片。要考慮到畫面的和諧度：所有螢幕的人物應該都是正面朝向的，不要一下傳教士一下後入式，會顯得很亂。當然這沒有絕對標準，要營造後宮百景的樣子，亂一點也是沒有關係的。\n最後要考慮，如何在多個螢幕顯示圖片呢？最好是三個螢幕都連線到電腦主機，統一輸出畫面。不然就得手動傳送圖片到各個裝置。至少我們有個前提：中央控制裝置最好是電腦。平板只是附屬。網路上能找到許多讓平板當電腦第二個螢幕的軟體，不論是有線還是無線的，都有方便投影的方案能使用。\n還有，如果各個螢幕播放影片，需要考慮音效輸出問題。要營造「多人亂交」後宮的聲響，就讓每個螢幕用他們自己的喇叭放出來吧，這就是所謂的「立體環繞音效」！但若環境不允許將喇叭大聲放出來，那麼就得採取所有螢幕接到一台電腦的作法，由一台電腦統一輸出音效。電腦通常允許多個程式一起發聲，戴上耳機感覺也不賴。\n爽翻天自HIGH神功玩法有什麼特色？當然是拿來射屏囉！想像一下，多個螢幕上面都放各個女孩張大嘴看你的圖片，讓這些螢幕環繞著你，就好像在賽博舔屌一樣。但是射屏需要非常大量的液體才能覆蓋全部內容，所以實務上很難達成。除非你把螢幕縮小到只剩下手機才有可能。\n你不太可能像H漫的男主角一樣，分批多次射進女孩的肉穴。故，多螢幕的視覺上的衝擊，更多的是營造一種紙片人後宮的樣貌。\n實作 # 確實奉行了，針對螢幕長寬比，選擇適合的圖片的做法，讓畫面上具有藝術欣賞的效果。\n螢幕平放範例\n比較：稍微有點角度放置螢幕的範例\n從以上的擺放方式看來，還是有點角度看起來比較活靈活現。平鋪式的放法會很死板。\n","date":"2025年1月1日","externalUrl":null,"permalink":"/posts/hyper-self-pleasure-mode/","section":"Nsfws","summary":" What it feels like to watching porns multiple monitors.\n概要 # 爽翻天自HIGH神功（日語：ハイパーセルフプレジャーモード。英語：Hyper Self-Pleasure Mode），是一種看著多個螢幕的打手槍方式。\n典出《歡迎加入NHK！》漫畫版第五集，92頁。家裡蹲佐籐達廣發明的方法，為了認真做事，要先消解無邊的性慾！注意不要被家人看到呦。 具體來說，架設多個電腦螢幕，儘可能環繞眼前120度的視角，每個螢幕都放上喜歡的H內容，然後對著她們打手槍。\n實不相瞞，我還真幹過這種事。\n以前弄過紙本版（把灰色圖片塗黑） 還有多螢幕混合版 我覺得有種～「擁有很多東西」的感覺。\n但是效果不太好，主要是螢幕尺寸不一。且沒有經過「編排」，看起來雜亂無章。\n","title":"多螢幕看A片，復現爽翻天自HIGH神功","type":"nsfw"},{"content":"","date":"2025年1月1日","externalUrl":null,"permalink":"/tags/buddhism/","section":"標籤","summary":"","title":"Buddhism","type":"tags"},{"content":"最近回去看了這部影片：TEDxTaipei 2013 柯文哲 生死的智慧\n再會了，辭掉民眾黨黨主席的柯文哲，你是我們這些支持者生命中重要的導師之一，阿北的生死觀早就看得透徹，所以才教我們繼續心存善念吧。\n這部影片讓我想到一件事，我一想到未來會死掉，就不禁悲從中來，雖然我離那個時候還很遙遠。大概是我讀小學五年級的時候吧，那天不知怎的，人生第一次想到這個概念，沒有網路的時代，只看圖書館借來的書怎麼會有這種想法呢。突然發現人終有一死。簡單的計算完父母還有自己的年齡後，突然覺得相處的時間並不是很長。所以就在吃飯的時候哭了。父母當時覺得我莫名其妙，我也覺得奇怪，為何這麼小就會開始想這種事情。\n現在看來，或許跟我當時被言語霸凌有關係吧，那個時候似乎還有半夜亂夢遊的情況發生，但我的小腦袋瓜還不知道霸凌這種概念。終於有一次撐不住，回家忍不住大哭，父母才知道這些事。雖然我曾經檢舉過了霸凌的其中一個同學，我爸還打到學校去罵老師，讓老師罵那個人，使他收斂些，不過其他人的霸凌排擠行為還是沒有消失。\n難道是我個性的錯嗎？No，我絕對不接受這種理由，如果讓小孩認為一切都是他的錯會毀掉自尊心的。\n一首關於黑暗童年的歌曲，我想到最快樂的事情就是我死去的樣子：Tears For Fears - Mad World\n這些事情太遙遠了難以回想，回想到了也是一些不好的回憶。那至少我學過一些教育理論之後，知道絕對不能這樣粗暴的處理霸凌問題的，起碼我想讓未來接觸到的學生不再受到這種痛苦折磨，能幫一個是一個。……扯太遠了，關於死的問題，要到成年後才會認真的下去思考，似乎並沒有一個確定的答案告訴我們人生的目的，在邁向死亡之前，不少人還會先失智，忘記自己是誰，然後痛苦的死去。\n科學沒辦法回答這些問題，就像柯文哲的生死觀，什麼熵要大於0，這個太難懂啦。還是讓哲學來信服人吧。我書讀得不多，目前只知道卡謬講「自殺是唯一嚴肅的哲學問題」，所以暫時別想著主動尋死吧，不如想怎樣才算活著？\n此外佛法告訴我們很多道理，能夠看透生死問題，這個未來有待我慢慢學習。就算不讀佛法，它也會自己來找你。\n人們最常體驗的佛法道理，應該就是「無常」了。終於活到了我這把年紀，驚覺過去的一切都在崩壞中。年齡只比我大幾歲的家具、交通工具都逐漸壞了了，父母也逐漸老去、得病。過去熟悉的一切隨著我的成長慢慢消失，可是我得到了什麼來填補這些空缺呢？人生識字憂患始。我希望未來能夠多一點東西來填補，並在這個世界上留下些什麼。壞的東西，換新的就好了。美好的瞬間，就讓它定格在美好的時候。因為珍惜當下，才能更證明我們活著。\n","date":"2025年1月1日","externalUrl":null,"permalink":"/posts/2025010101/","section":"Personals","summary":"最近回去看了這部影片：TEDxTaipei 2013 柯文哲 生死的智慧\n再會了，辭掉民眾黨黨主席的柯文哲，你是我們這些支持者生命中重要的導師之一，阿北的生死觀早就看得透徹，所以才教我們繼續心存善念吧。\n這部影片讓我想到一件事，我一想到未來會死掉，就不禁悲從中來，雖然我離那個時候還很遙遠。大概是我讀小學五年級的時候吧，那天不知怎的，人生第一次想到這個概念，沒有網路的時代，只看圖書館借來的書怎麼會有這種想法呢。突然發現人終有一死。簡單的計算完父母還有自己的年齡後，突然覺得相處的時間並不是很長。所以就在吃飯的時候哭了。父母當時覺得我莫名其妙，我也覺得奇怪，為何這麼小就會開始想這種事情。\n現在看來，或許跟我當時被言語霸凌有關係吧，那個時候似乎還有半夜亂夢遊的情況發生，但我的小腦袋瓜還不知道霸凌這種概念。終於有一次撐不住，回家忍不住大哭，父母才知道這些事。雖然我曾經檢舉過了霸凌的其中一個同學，我爸還打到學校去罵老師，讓老師罵那個人，使他收斂些，不過其他人的霸凌排擠行為還是沒有消失。\n難道是我個性的錯嗎？No，我絕對不接受這種理由，如果讓小孩認為一切都是他的錯會毀掉自尊心的。\n一首關於黑暗童年的歌曲，我想到最快樂的事情就是我死去的樣子：Tears For Fears - Mad World\n","title":"小時候第一次想到死這個概念，過去的一切都在崩壞之中","type":"personal"},{"content":"","date":"2024年12月31日","externalUrl":null,"permalink":"/tags/cloudflare/","section":"標籤","summary":"","title":"Cloudflare","type":"tags"},{"content":"Cloudflare Tunnel這款服務能將你的本機服務暴露到公開網路，讓你用自訂網域存取內網的服務。它除了轉發HTTP的流量之外也支援TCP協定。故，我們可以透過這個服務，建立網頁版的VNC連線畫面。\n這樣客戶端連VPN都不需要，只需要一個瀏覽器，便能夠存取遠端Linux的桌面。 說到網頁版的VNC方案，我們有KasmVNC和noVNC這類方案，為何還要用Cloudflare Tunnel呢？\n它的價值就在於把不支援瀏覽器的VNC轉換成網頁版本，例如TigerVNC或TightVNC，讓你能沿用現有的配置。並且Cloudflare Tunnel能結合Cloudflare Zero Trust，在登入VNC之前再加一層強力驗證，讓VNC密碼更難被暴力破解。\n可惜的是，Cloudflare Tunnel只負責顯示VNC畫面而已，瀏覽器客戶端不能調整太多選項。這種方式建立的VNC，多了一些安全性，少了一些自訂性。\n1. 設定VNC服務 # 我以Ubuntu + XFCE桌面為例子\n理論上任一個使用TCP的VNC伺服器都可以用。例如我是安裝TigerVNC，設定好Systemd系統服務。VNC通訊埠設定5901。\n由於Cloudflare Tunnel的網頁界面無法調整VNC的連線品質，可能產生畫面撕裂。建議在伺服器端就先設定降低頻寬的措施，例如指定1280x720以下的低解析度，防止延遲過高。\n此外，目前Cloudflare Tunnel不支援音訊串流。\n2. 設定Cloudflare Tunnel # 安裝cloudflared服務，將其與個人網域連結。\n修改cloudflared設定檔，設定監聽TCP 5901\ntunnel: \u0026#34;填入Tunnel的UUID\u0026#34; ingress: - hostname: vnc.example.com # 連線到自訂網域的vnc子網域 service: tcp://localhost:5901 # 監聽VNC通訊埠 - service: http_status:404 啟動Cloudflared服務 sudo systemctl start cloudflared 在Cloudflare後台編輯網域的DNS紀錄，新增一筆CNAME紀錄，新增一個子網域vnc，後面填寫\u0026lt;Cloudflare Tunnel的UUID\u0026gt;.cfargotunnel.com。 前往Cloudflare Zero Trust，點選Access → 新增應用程式 → Self-hosted，新增應用程式，指向vnc子網域，原則設定Email登入。 瀏覽器轉譯勾選VNC 前往https://vnc.example.com。這樣登入前要先輸入一次E-mail驗證碼，再輸入VNC密碼，才會看到遠端Linux的桌面。 如果你覺得打密碼太容易被破解，請使用Cloudflare提供的Zero Trust服務，做一個更全面的登入界面出來。\n參考資料 # Render a VNC client in browser - Cloudflare Zero Trust 如何使用Cloudflare Tunnel建立網頁版的VNC客戶端(LXQt中文化+新酷音輸入法) - 懶懶部落 ","date":"2024年12月31日","externalUrl":null,"permalink":"/posts/cloudflare-tunnel-vncserver/","section":"所有文章","summary":"Cloudflare Tunnel這款服務能將你的本機服務暴露到公開網路，讓你用自訂網域存取內網的服務。它除了轉發HTTP的流量之外也支援TCP協定。故，我們可以透過這個服務，建立網頁版的VNC連線畫面。\n這樣客戶端連VPN都不需要，只需要一個瀏覽器，便能夠存取遠端Linux的桌面。 說到網頁版的VNC方案，我們有KasmVNC和noVNC這類方案，為何還要用Cloudflare Tunnel呢？\n它的價值就在於把不支援瀏覽器的VNC轉換成網頁版本，例如TigerVNC或TightVNC，讓你能沿用現有的配置。並且Cloudflare Tunnel能結合Cloudflare Zero Trust，在登入VNC之前再加一層強力驗證，讓VNC密碼更難被暴力破解。\n可惜的是，Cloudflare Tunnel只負責顯示VNC畫面而已，瀏覽器客戶端不能調整太多選項。這種方式建立的VNC，多了一些安全性，少了一些自訂性。\n1. 設定VNC服務 # 我以Ubuntu + XFCE桌面為例子\n理論上任一個使用TCP的VNC伺服器都可以用。例如我是安裝TigerVNC，設定好Systemd系統服務。VNC通訊埠設定5901。\n由於Cloudflare Tunnel的網頁界面無法調整VNC的連線品質，可能產生畫面撕裂。建議在伺服器端就先設定降低頻寬的措施，例如指定1280x720以下的低解析度，防止延遲過高。\n","title":"Cloudflare Tunnel跑網頁版VNC，瀏覽器遠端連線到Linux桌面","type":"posts"},{"content":"今年Minetest專案正式改名為「Luanti」，連帶的一年一度的子遊戲創作比賽也改名為「Luanti Game Jam」了。\n老實說我是在賽前搜尋game jam的時候才察覺到遊戲改名了的，想說怎麼會有這個奇怪的名字出現。嘿，那麼相較於過去辦了三屆的Minetest Game Jam，今年可說是第一屆Luanti Game Jam吧。今年依然傑作備出，但也有廢到笑的作品。\n根據官網公告，2024年的Luanti Game Jam比賽時間從2024年11月1日到11月22日為止，之後交由評審與社群投票，11月30日後公佈結果。\n規則跟去年一樣，按照玩法、創意、內容、主題，四個面向去評分。子遊戲的素材需要使用開源授權條款，不可以使用AI生成的內容。子遊戲版本需對應Luanti 5.10.0。\n票選前三名的子遊戲開發者可以得到一件印有Luanti圖示的T-Shirt（由Michael Crilly先生贊助），或是Pine Hosting的主機託管服務（三個月、二個月、一個月，或是免費Lunati伺服器託管）。\n今年的主題是沒有題目限制，盡情發揮創意吧！\n1. 參賽作品一覽 # 你可以在Content DB使用jam_game_2024的標籤搜尋參賽作品。\n對了，Luanti 5.9.0之後的版本加入了許多炫砲的光影效果，你可以嘗試開啟光影，增進子遊戲的遊玩感受。\nExtra Ordinance # Content DB\n玩家操控一台機器人，在地底洞穴前進，消滅所有前來的螞蟻。\n開發者善用創意，徹底把Luanti引擎變成了一款射擊遊戲，有大量武器能選擇。 聲光效果都超乎人意料，再次印證了Launti作為遊戲引擎的潛力！非常推薦遊玩。\nThe Library # Content DB\n劇情解謎遊戲，尋找咒語，打倒黑暗勢力。簡易攻略：找到旅店的書本，走到指定位置，使用聊天欄輸入書上寫的咒語，進入密室圖書館。蒐集四本The book of\u0026hellip;的書（點選書櫃一個一個找，可看到顏色特別不一樣的書背），走到城外的祭壇，放上書，執行咒語即完成遊戲。注意，如果你來回太多次，可能會受到黑暗勢力攻擊！ 劇情氛圍營造的不錯！\nEyeballs # Content DB\n智力遊戲，玩家前往終點的時候必須要有足夠數量的眼球看著你，否則就會被「那玩意」給抓走。 遊戲氛圍挺詭異的，被那麼多眼球盯著，把遊戲弄得像是邪教儀式XD\nArtifact # Content DB\n迷宮解謎遊戲，跟著冒險家Kay，前往地底打倒邪惡生物。\nsokoblox # Content DB\n融合Bloxorz和倉庫番玩法的智力遊戲，只能使用鍵盤操控。連接相同顏色的方塊才會生出橋樑，讓你前往下一關。\nKoboldkrieg # Content DB\n標題名字是哥布林戰爭的意思。塔防遊戲，你需要獲取資源，生產兵種，抵擋哥布林進攻。\nReentry # Content DB\n太空解謎遊戲，依照指示修好太空站。\nStellua # Content DB\n外星球生存遊戲，借鑒了Minecraft的Galacticraft模組。在未知的大地上為火箭尋找燃料。\n1042 # Content DB\n沙盒生存遊戲。場景設定在西元1042年的歐洲。這片大地上有著許多生物，還有變化多端的天氣。\nPorko # Content DB\n模仿快艇骰子的小遊戲，跟著小豬們一起投擲骰子，看誰勝出！\nEscape The Beast # Content DB\n身為精英小隊的一份子，前往村莊，打倒肆虐的野獸，救出倖存者。\nLow poly的粉紅色樹真的有夠詭異。\nRobot Escape # Content DB\n你是一名機器人，受不了了每天重複的工作，於是決定逃出此地。\n缺乏指示，導致這個遊戲目標不明確。\nWishful # Content DB\n你是一隻兔子。\n廢到笑的一個遊戲。\n2. 比賽結果 # 根據官方論壇公告，勝出的依序為Extra Ordinance、The Library、Eyeballs 這結果不讓人意外，Extra Ordinance這個在賽程中間就出現的高品質子遊戲，開發者善用創意，徹底把Luanti引擎變成了一款射擊遊戲，完成度十分之高。他奪得第一名了是預料之中的事情。\n","date":"2024年12月30日","externalUrl":null,"permalink":"/posts/2024-luanti-game-jam/","section":"Luantis","summary":"今年Minetest專案正式改名為「Luanti」，連帶的一年一度的子遊戲創作比賽也改名為「Luanti Game Jam」了。\n老實說我是在賽前搜尋game jam的時候才察覺到遊戲改名了的，想說怎麼會有這個奇怪的名字出現。嘿，那麼相較於過去辦了三屆的Minetest Game Jam，今年可說是第一屆Luanti Game Jam吧。今年依然傑作備出，但也有廢到笑的作品。\n根據官網公告，2024年的Luanti Game Jam比賽時間從2024年11月1日到11月22日為止，之後交由評審與社群投票，11月30日後公佈結果。\n規則跟去年一樣，按照玩法、創意、內容、主題，四個面向去評分。子遊戲的素材需要使用開源授權條款，不可以使用AI生成的內容。子遊戲版本需對應Luanti 5.10.0。\n票選前三名的子遊戲開發者可以得到一件印有Luanti圖示的T-Shirt（由Michael Crilly先生贊助），或是Pine Hosting的主機託管服務（三個月、二個月、一個月，或是免費Lunati伺服器託管）。\n今年的主題是沒有題目限制，盡情發揮創意吧！\n1. 參賽作品一覽 # 你可以在Content DB使用jam_game_2024的標籤搜尋參賽作品。\n對了，Luanti 5.9.0之後的版本加入了許多炫砲的光影效果，你可以嘗試開啟光影，增進子遊戲的遊玩感受。\n","title":"2024年Luanti Game Jam矚目子遊戲，顛覆你對Minetest的認知","type":"luanti"},{"content":"有關自由開源沙盒遊戲Luanti (Minetest) 的攻略情報。\n新手教學請戳此處：Luanti入門\n","date":"2024年12月30日","externalUrl":null,"permalink":"/categories/luanti/","section":"分類","summary":"有關自由開源沙盒遊戲Luanti (Minetest) 的攻略情報。\n新手教學請戳此處：Luanti入門\n","title":"Luanti","type":"categories"},{"content":"","date":"2024年12月30日","externalUrl":null,"permalink":"/tags/luanti-game-jam/","section":"標籤","summary":"","title":"Luanti Game Jam","type":"tags"},{"content":"","date":"2024年12月30日","externalUrl":null,"permalink":"/tags/luanti-games/","section":"標籤","summary":"","title":"Luanti Games","type":"tags"},{"content":"","date":"2024年12月30日","externalUrl":null,"permalink":"/luanti/","section":"Luantis","summary":"","title":"Luantis","type":"luanti"},{"content":"不懂佛法的人，容易認為佛教是虛無主義。那個空性，不只認為什麼都沒有。而是認識到這個本質，懂得去尋求解脫的方法。\n又發作了 # 不論怎樣的佳節，特別的日子，對我來說都好像沒有關係一樣，忘記幾年前開始了，大概有三年多了，每一年再也沒有對自己的生日感到快樂過，甚至覺得出生是詛咒，走向Anti-natalism的路子去了。這也讓我在叔本華之外，還認識了齊奧朗這位哲學家，他們的毒雞湯作品值得一讀。\n你討厭過生日嗎？從「生日恐懼症」剖析心理創傷，擁抱眼前所有的幸福瞬間 - 女人迷\n「可我不知道，為什麼感覺自己並不存在，在我堅硬的肉下面，空空如也。可我不知道，為什麼總是感覺不到自己，在我堅硬的肉下面，空空如也。」\n汪峰 -《信仰在空中飄揚》- 空空如也\n自卑又自大，渴望關心又推開他人。因為卡在這個不上不下的地方，總覺得人生卡住了。說不追求別人追求的東西，但是我就有其他地方能去了麼？他們說，我沒有伴侶不過聖誕節，不搞資本主義那一套，因為有電動陪伴，可是我呢，沒有激情，沒有方向，沒有目標，總覺得這樣那樣的事情也能混過去目前的日子了，理想的小世界逐漸被現實所侵蝕，致使沒有什麼身外之物能讓人感到快活了，只能吃LSD追求化學極樂，到達極樂世界，可販毒是犯法的；精神科的藥品嚐過，更毒。麻木的情緒，「滿腦子憤青的思想」，想做點什麼，恨不得讓我去街上找一根聖誕樹用電線纏死自己，起碼這樣死的還會要火熱一些，你們在吃烤雞，我在當飛舞吧火鳥。庸庸碌碌，「這比死還要讓我恐懼」。可是如果有這種氣力走起來的話就不至於淪落至此了，所以，境地如此，乃毒雞湯看多了之故，如果說是佛教聖人說的世界實相如此，那生之無何謂，死也無之所求了，因我不想期待來世。最後的final cut沒有勇氣劃下去一刀，刀片上映射的找到倒影不是它如願以償的鮮血，而是淚水！淚水！淚水！還有微微的熱氣所噴而出的汗水。我最近從Pearl Brothers那學到一個美妙的比喻，「水晶体波乱」，描繪人的眼睛面對癲狂之下造成的水汪汪混亂不堪的樣子，感動的淚水從來沒有流下，留下的從來是徒勞的空虛感。有人認為不該管別人的想法隨性而活，可是這代價不就是絕對的自主抉擇嗎？面對未知會讓人恐懼又喜悅，心態不夠堅強的人很容易被恐懼侵蝕而成為深淵吧，以後凝視的資格也不見了。自由，成為自由的奴隸，把世界都扛在肩膀上，就算是西西弗斯也會暴斃的好不，滾動的圓球假若有金龜子推的那樣渺小就好了，不要把自己想的太巨大，偉大如推上山的石頭，可是如鑽石的物理結構一般脆弱，只要想法比你聰穎的玻璃刀，輕鬆就能毀滅你那堅若磐石的信仰。明明同為人類，明明同為礦石，相仿的結構，有人就是認份能做好煤炭的工作，而有些人當作寶石享受，還有些人覺得自己是多餘的礫石，這世界不毀滅第三種人，只給他們一點甜頭，剩下的是無盡的焦慮，隨著變遷而改變型態，必須隨波逐流，不能反抗。文謅謅的話來說，這是金玉其外敗絮其內。這麼來說，人們不過是披著人皮的肉塊罷了，我，究竟在哪裡呢？為什麼下定決心、做出抉擇、破除現況就這樣難呢？\n這世上有太多的為什麼，我不想再追加更多的問號來累死疲倦的內心了。\n太多問題，不論是形而上還是形而下的，都不會有肯定的答案。至少，我追求的不會是一方獨斷的真理。呵呵呵，傳聞中林肯的息怒方法對我來說一直都還蠻有效的，胡攪蠻纏的寫了一堆胡說八道東西，我沒寫小說說故事的才華，作詩作功的力度又差勁，寫信再撕掉就能快活些。好死不如賴活。不要去關心政治，政治自然就會來找你，等到那時，就能體驗何為真正的死亡。我不甘心，所以要繼續活下去。\n可是這裡還有你的所在 # 讀碩士班之後，常常在課堂收到別人的餅乾。不知道是籠絡人心，還是提前學習社會化。相處久的同學都會互相請食物，二年前開始就是如此，這教人尷尬卻又滿懷感謝。以前我反過來這樣做給異性，卻是我顯得尷尬了。都已經這個歲數了，還這樣不能祛魅。不管這些事兒了，總之人之間應該是互相的，有時候要主要的回贈才好。即使對方覺得尷尬，或者自身覺得尷尬，但也是要厚臉皮的做，只要確認食物不會造成過敏即可！\n東方快車合唱團 - 就讓世界多一顆心\n想起進來碩士班的這二年來，余多可喜亦多可悲，曾經煎熬到得去看身心科吃抗憂鬱藥，總覺得活著沒幾個意思，但想起還是有點好事，好久沒有這種為他人付出不求回報的經驗了。\n2022年的時候認識這個男人T，外型長得很像張雨生。2023年的時候，從言談中得知該同學的女友出車禍掛掉了，那個男人來上課的時候看起來都沒有怎樣，但原來是強忍著悲傷。\n參加告別式，哭完了依然要繼續生活。那個時候我跟一個胖女人L還有那個瘦男人共修同一門高師大教育概論的課程，分組共同完成了一個作業。\n那個美國長大高中才回台灣的胖女人，知道了那個男人的遭遇，所以她就私下和我提議給點慰問他的方式，我便同意了跟她合資買一個星巴客的禮盒，並轉交給他。\n雖是露出靦腆的微笑還是笑著收下了。後來知道他會下廚，中午自己煮，還到學校發送家裡人做的手工餅乾給碩士班的同學吃。\n我想，這就是一種善的循環，在這孤獨的環境下，僅有的一些溫暖也能在壓力的課堂上找到。\n最近翻到了二年前某堂上課開聖誕趴的時候，同學給我的小卡片，倍感溫馨。\n字裡行間不談論未來，不談論課程困難，而是單純的互助。\n不過嘛，碩士班的緣份比大學要短的許多，二年後有些人就準時畢業了，對延畢的人來說以前的朋友碰到的機會便很少了。\n再加上我幾乎不會用Line隨便去敲人家，故只要修課這個客觀條件消滅，那些接觸過的人在我眼裡就跟死了沒兩樣。但是即使如此，這些發生的小事還是能作為我繼續生活下去的資本。\n","date":"2024年12月28日","externalUrl":null,"permalink":"/posts/2024122801/","section":"Personals","summary":"不懂佛法的人，容易認為佛教是虛無主義。那個空性，不只認為什麼都沒有。而是認識到這個本質，懂得去尋求解脫的方法。\n又發作了 # 不論怎樣的佳節，特別的日子，對我來說都好像沒有關係一樣，忘記幾年前開始了，大概有三年多了，每一年再也沒有對自己的生日感到快樂過，甚至覺得出生是詛咒，走向Anti-natalism的路子去了。這也讓我在叔本華之外，還認識了齊奧朗這位哲學家，他們的毒雞湯作品值得一讀。\n你討厭過生日嗎？從「生日恐懼症」剖析心理創傷，擁抱眼前所有的幸福瞬間 - 女人迷\n「可我不知道，為什麼感覺自己並不存在，在我堅硬的肉下面，空空如也。可我不知道，為什麼總是感覺不到自己，在我堅硬的肉下面，空空如也。」\n汪峰 -《信仰在空中飄揚》- 空空如也\n自卑又自大，渴望關心又推開他人。因為卡在這個不上不下的地方，總覺得人生卡住了。說不追求別人追求的東西，但是我就有其他地方能去了麼？他們說，我沒有伴侶不過聖誕節，不搞資本主義那一套，因為有電動陪伴，可是我呢，沒有激情，沒有方向，沒有目標，總覺得這樣那樣的事情也能混過去目前的日子了，理想的小世界逐漸被現實所侵蝕，致使沒有什麼身外之物能讓人感到快活了，只能吃LSD追求化學極樂，到達極樂世界，可販毒是犯法的；精神科的藥品嚐過，更毒。麻木的情緒，「滿腦子憤青的思想」，想做點什麼，恨不得讓我去街上找一根聖誕樹用電線纏死自己，起碼這樣死的還會要火熱一些，你們在吃烤雞，我在當飛舞吧火鳥。庸庸碌碌，「這比死還要讓我恐懼」。可是如果有這種氣力走起來的話就不至於淪落至此了，所以，境地如此，乃毒雞湯看多了之故，如果說是佛教聖人說的世界實相如此，那生之無何謂，死也無之所求了，因我不想期待來世。最後的final cut沒有勇氣劃下去一刀，刀片上映射的找到倒影不是它如願以償的鮮血，而是淚水！淚水！淚水！還有微微的熱氣所噴而出的汗水。我最近從Pearl Brothers那學到一個美妙的比喻，「水晶体波乱」，描繪人的眼睛面對癲狂之下造成的水汪汪混亂不堪的樣子，感動的淚水從來沒有流下，留下的從來是徒勞的空虛感。有人認為不該管別人的想法隨性而活，可是這代價不就是絕對的自主抉擇嗎？面對未知會讓人恐懼又喜悅，心態不夠堅強的人很容易被恐懼侵蝕而成為深淵吧，以後凝視的資格也不見了。自由，成為自由的奴隸，把世界都扛在肩膀上，就算是西西弗斯也會暴斃的好不，滾動的圓球假若有金龜子推的那樣渺小就好了，不要把自己想的太巨大，偉大如推上山的石頭，可是如鑽石的物理結構一般脆弱，只要想法比你聰穎的玻璃刀，輕鬆就能毀滅你那堅若磐石的信仰。明明同為人類，明明同為礦石，相仿的結構，有人就是認份能做好煤炭的工作，而有些人當作寶石享受，還有些人覺得自己是多餘的礫石，這世界不毀滅第三種人，只給他們一點甜頭，剩下的是無盡的焦慮，隨著變遷而改變型態，必須隨波逐流，不能反抗。文謅謅的話來說，這是金玉其外敗絮其內。這麼來說，人們不過是披著人皮的肉塊罷了，我，究竟在哪裡呢？為什麼下定決心、做出抉擇、破除現況就這樣難呢？\n","title":"就讓世界多一顆心，回想好事對一個人的好處","type":"personal"},{"content":" 2024年結束，迎接2025年政治意識的調整轉變。\n我不是國際政治大師，發表的這些意見對改變他人或許沒什麼幫助，也不可能消弭台灣人和中國人製造的無限紛爭。不過在改變世界之前，可以先從改變自己的心態開始。\n這篇文章很多人看應該會吐血，所以我建議你先聽聽這首歌。\n1. 政治立場的轉變？ # 從2022年開始我會正式的紀錄政治立場。在那之前的言論是鍵政小鬼的等級。\n2023年慢慢變成支黑，而2024年的政治立場又有了些微轉變。 我很高興慶幸在上公民課的時候，老師教給我們的是政治光譜概念，這意味著世界並非不是非黑即白的邏輯，儘管很多人是這樣認為的，現實也逼你不得不選邊站。與其用政治四維來界定人的屬性，不如使用多元的政治光譜來界定自己的政治立場。如此一來就不會變成死士。\n就如，我可以同時支持核能、支持綠電、反對死刑、支持LGBTQ、支持大麻合法化、支持台獨、反對獨裁、愛中國、支持公平正義、反民進黨、支持川普、支持世界主義\u0026hellip;\u0026hellip;you name it，本來事情就沒絕對。\n這首先要認清到的一點就是，我反對你的一項意見，不代表對人格的全面拒否。這是很重要的一點，很多把政治當作信仰，包括我也一樣，總認為觀點是不容質疑的，質疑等同要脅性命！\n以前做過搞笑CN Values的政治傾向測試，測出來是「社會自由主義」。不過過了這麼久，我也不認為自己真的支持這個主義所支持的全部東西就是了。所以看看就好。現在我要說明自己的主義為何，也不大清楚。可是我知道多元觀點的重要性。\n必須強調的一點是，儘管人人希望中立客觀，真正的「中立」本就不存在，我也一樣，我又不是看透一切的覺者。如果用數學座標系的概念來看，我只是相對那些走極端了的人，比較靠近中間罷了。\n2. 正式參加台灣民眾黨 # 註解：這一段對民眾黨的描述帶有很嚴重的主觀濾鏡，不一定反映事實。\n回顧2024年，覺得年初我真的投對票了，三票民眾黨，非常的值。\n我一直都認為台灣和中國互不隸屬，但既然台獨運動川大大和習大大都不同意，那麼民眾黨就是我的選擇，柯文哲講的，兩岸一家親總比一家仇好，台灣自主，兩岸和平。\n2020年的時候，我投票給蔡英文，因為韓國瑜實在表現的太草包了，於是我成為了817的一員。後來就慢慢後悔了，不是說韓國瑜其實比較有料，但就是民進黨政府在全面執政後，逐步墮落，公平正義消失，成為惡霸的政府。所以我嘗試去了解第三勢力。\n認識柯文哲與民眾黨，大概是從2023年前後開始的。2023年7月，我在日本旅遊返回台灣的飛機上，看黃國昌錄製的揭弊影片，打從那個時候開始我就決定追隨民眾黨了。隨後參加了716遊行，在大熱天下罰站三小時，追求公平正義。 2024年1月自發製作的圖卡\n2024年1月12日，參加凱道公民之夜，半夜從台北返回南部。投完票之後迅速辦理入黨手續，當作參加俱樂部一樣加入民眾黨。普通黨員不參選黨代表的話平常是沒什麼事幹的，活動也是自由參加。\n儘管柯文哲總統沒選上，選前民調吹的那麼高，結果假老二翻車，但至少立法院三黨不過半已經是很好的結果了。選前承諾的法案：吹哨者保護法、國會改革法案，由黃國昌為首的民眾黨立委一一兌現。遇到開會噗噗跳還整天靠北「沒討論」的民進黨，不拖延，走完正當程序後就表決碾壓。每幾個月就有WWE賽季暴打塔綠班，不論是物理上或是心理上。民進黨今年新綽號很多啊，包括青鳥、蟾蜍、黑熊精，但我還是覺得這個2021年就有的老梗最順口。\n選舉完之後依然有活動筋骨的活動，包括黨部和鬼針草聯隊等協力組織辦的街頭活動，真的太讚了。\n韓國瑜當立法院長讓人改觀，幽默風趣又不給喬，可以慢慢脫離韓導的負面形象了。國民黨難得智商在線願意合作挺改革。\n儘管遭到犬法官阻撓國會改革，但是我相信民眾黨未來依然會繼續引領改革的腳步，就算柯文哲注定被迫害到底了我也不會就此退黨，還是會繼續支持民眾黨改革理念。\n2024年9月，政治追殺開始了（至少我們黨部是這麼定調的），柯文哲被想妍妍/想嚴嚴的兩黨聯手投入黑牢。檢方沒有證據硬要栽贓，還將京華城案跟政治獻金申報不實的多個案子一起審判。柯文哲究竟會不會變成陳水扁那個時候一樣翻車，還有得等，目前整個案子依然缺乏關鍵收賄的金流證據。現在他們就是要毀滅柯文哲的聲望，逼民眾黨就範：要嘛去死，小草歸隊；要嘛來當小藍，強迫藍白合！\n2025年1月1日，柯文哲為了避免自身冗長的官司阻礙民眾黨發展，正式辭去黨主席一職，並擇日改選新的黨主席。\n我很想用軍人的敬禮手勢向他表示respect。再會了，柯文哲，你是我們台灣政界重要的導師之一，感謝你從2014年開始發起台灣的政治文化改革運動。從過去的演講就能觀察到，阿北這把年紀的人生死觀早就看得透徹，所以即使辭了黨主席，還要面臨牢獄之災，他依然教我們這些後輩要繼續「心存善念，盡力而為」。\n柯文哲被民進黨和國民黨迫害至此，時至今日，想起劉曉波被中共抓入黑牢前寫的：〈我沒有敵人〉這篇文章。\n仇恨會腐蝕一個人的智慧和良知，敵人意識將毒化一個民族的精神，煽動起你死我活的殘酷鬥爭，毀掉一個社會的寬容和人性，阻礙一個國家走向自由民主的進程。所以，我希望自己能夠超越個人的遭遇來看待國家的發展和社會的變化，以最大的善意對待政權的敵意，以愛化解恨。\n被中共封殺的記者柴静於政治抑郁症的本质是没有自由成为我，訪談Dr. Robert Lusson一文中認為，政治抑鬱症是真實存在的。\n\u0026hellip;\u0026hellip;去做他認為價值觀對的事。一個人可能帶來一群人，變成一個故事。歷史中有很多這樣的故事。憂鬱是因為確知未來會如何，自己會怎麼結束。但，另一種選擇是未知，我不知道故事如何結束。\n可能我也變成扁迷一樣的人了吧。對小草而言，現在階段就是照顧好自己，並在有需要時候，依然站出來。即使民眾黨沒了柯文哲，他帶來的政治文化改革精神，就是未來要由我們這些人傳承下去的。「心存善念，盡力而為」\n未來務實的支持民眾黨的作法，就算是沒了柯文哲後也要繼續投民眾黨或者第三勢力政黨（別當小綠小藍小紅的都行），最起碼延續三黨不過半，死不了也要繼續纏著你不放。 紀念太陽花學運的自製圖卡，也是促使我政治亦是覺醒的開始\n3. 民眾黨的問題 # 講一下對民眾黨不滿意的地方。我自認還沒到「狂柯粉」的程度，所以不見得每件事都和民眾黨同調，也反對隨便出征他人，或者動輒對質疑者貼標籤的行為，誰知道他們是不是好心想給建言呢？因為很多人政治人物有盲信的成份，致使很多人會把柯文哲當成宗教領袖。儘管我認同柯文哲理念，但我對他的一些作為也有些意見，柯文哲畢竟不是神，不是唯一正確的人物。但願民眾黨別真的變成邪教，不然哪天我就要再「覺醒」一次了。\n就比如，台灣政治是不是離不開8+9呀，國民黨不用說了以前在中國大陸的時候就有青幫勢力，來台之後也吸納一堆樁腳，搞出鄭太吉等無數黑幫份子，結果民進黨也是，光電弊案讓這些人現形，還是藍綠一起分贓。現在發聲的網紅出現一堆8+9特質的，像八炯和閩南狼。到了民眾黨還是一樣，館長本身就很8+9，不過是從良後做生意的。還有貓貓頭社長整天靠北的江先生，我看他出席活動都很喜歡穿花襯衫，背後帶來的黨員也可能是黑惡勢力。然後柯文哲還說要給更生人機會。這下民眾堂了。唉，閩南人，為了快速擴張難道就只能接受綁樁的事實麼，這樣新政黨以後要怎麼大刀闊斧的解決弊案呢。不會被黑道染指的純潔政黨大概就時代力量了，但是沒有黃國昌後他們也快涼了。我很難找到民眾黨以外不當小綠也不當小藍的第三勢力政黨了。\n仔細想想，柯文哲究竟100%是不是被迫害呢？先不說有無收賄，木可公司帳目不清的問題是全部推給藍綠就能解決的麼？這是民眾黨未來需要檢討改進的方向。撇除民進黨側翼，能對民眾黨做出中立建言的，我覺得就是貓貓頭社長、黃揚明這類人了。\n圖片來自：【攻略】用海綿寶寶失蹤一集解說柯文哲被判二十多年 國民黨和民進黨做過的破事很多，例如PTT八卦板鄉民整理了一份超長清單：民進黨執政八年的德政，228條。但老實說，雖然我討厭民進黨政府，但討厭不了數發部部長，尤其是前任的唐鳳。雖是民眾黨員、我覺得不該無腦反對其他政黨的一切，我知道那些追求公平正義的人存在他黨，真正想做事的有。但是他們迫於環境，很多時候黨意大於民意，無法讓人輕易察覺，結果是那些比較世故的人掌權，讓這些政績被掩蓋了。\n今年參加中華民國軟體自由協會的會議後我了解到這個組織是能影響政府決策的。對一般人來說，LibreOffice可能是最親民最實用的自由軟體了。政府帶頭推動能滅Microsoft的氣燄，現在很多學校機關起碼有提供ODF格式（odt、ods、odp）的檔案了，不管公務員情不情願，這總的是一種進步。更長遠的目標應該是讓政府電腦都換用Linux吧！但看來除了德國外，只有中國政府能做到，畢竟他們整天宣稱自主創新（迫真）。\n數發部對LibreOffice推動有一定幫助，他們接手了國發會ODF文件應用工具，還釋出了Linux版程式（以前都只有Windows版！），這就是很大功績。數發部還繼續推動許多政府資料公開透明化。明明PTT八卦板鄉民一堆理組，把長期投入開源專案的傳奇駭客唐鳳說成只會點麵線的部長，就真的是尬黑了呢，許多不相關的事情都往她頭上抹。難道大家都希望像馬斯克的那種科技狂人出現？美國DOGE部未來成效如何還是未知數。可是數發部，最讓人詬病的，還是打詐成效的問題，這點可能真的要瘋子來才能解決。\n數發部還有一些浪費錢的項目，我黨立委會繼續要脅砍預算吧。民眾黨要理性的監督政府預算，這樣能防止執政黨肆意妄為。\n其實我有一種更誇張的幻想：那就是民眾黨應該要跟民進黨合作才對，兩個都是本土政黨，應該要用更文明的方式討論政策。但看來兩邊都是戰狼派領導佔上風的現在，這個構想應該不太可能實現了。我看到有些法案其實是有跨黨派共識的，但就是目前明面上的對抗氛圍使得兩邊都拉不下臉來合作，才導致民眾黨只好去跟國民黨合作，起碼讓最基本的法案能通過。\n4. 對中國的態度：定調反對支黑 # 說來慚愧，以前我也是那些蛆的一員。\n我以前都是反共不反中的，但自從接觸過支黑思想後就慢慢極端了。見：2022年 你疑似有點太極端了，混中國網站後政治觀點的轉變，從百度貼吧到冲浪TV。只是，我翻來覆去，還是不能接受支黑的論調。反共要用更人性化的論調去解決，不是是想著把中國人都殺光事情就解決了，更不要搞麥卡錫主義整天抓你自以為的共諜。先講結論，可能我心底還是偏向三民主義統一中國的理想，不過我知道這是不可能的事情，所以我只能祝福中國大陸的人士總有一天會覺醒，推翻中共，不要再像台灣以前崇拜獨裁的蔣家，或是認為錢比自由更重要。而在那之前，先不要把對方非人化看待，即使有許多小粉紅和戰狼整天說要屠殺我們，也不要跟那些傻逼一般見識。\n先講民小，論中國海外民運，最不值得相信的就是法輪功團體和其媒體（俗稱輪媒）。可惜他們是最大尾的，還整天散播老中人愛看的迷信訊息，還有聽床師撰寫的誇大不實報導，把中共當笨蛋看。郭文貴被抓之後就沒人能跟他們抗衡了，中國聯邦（迫真）的子民們還是多健身抵抗匪共吧。我覺得既然要看理性點的反共媒體的觀點，不如多看王志安、多倫多方臉這些。持支黑論點的除了劉仲敬外完全沒人能自圓其說（而且他的理論過於極端），更別說那些民進黨側翼進口的二手屎了。我看過蕪菁雜誌出現姨學用語，但在我看來不過是梗小鬼試圖用「窪地論」來營造台灣人比中國人高尚的話術罷了。窪地和諸夏理論固然有其可取之處，但是發生機率太低了。如果整天沈溺在這些論調之中，那麼就不可能用平等的眼光去看待他人。 再論支黑，小粉紅跟浪人一樣傻逼就是了，後者縫合蔥輪支黑後就更加糟糕了，幽默感都拿去研究怎麼屠支。一個極端愛國一個極端恨國，談到台灣問題，一個接受匪的內宣，認為島內都是壞蛋；另一個又接受輪子和民進黨的大外宣，導致觀點極度偏誤，中間派的全部被抹紅，還有反賊因為看到財政收支劃分法的民進黨中央廚房圖卡，連國民黨都能抹成左逼，我看了也是醉了。如果用支黑的思維下去理解兩岸問題，就會發覺兩岸都有中國人血緣實在沒救了，進入兩岸一家支的思考方向，這樣容易陷入虛無主義（或者樂子人？這臉皮得要多厚！網路上真的蠻多的zzz）。 這種極端主義思維對台灣第三勢力的我等是有害的，意識型態領軍看什麼都會產生濾鏡。如果說脫支的最高境界，那就是脫離你兩國的這些破事糾纏，不然這些人在網路上的事情永遠吵個沒完。並且他們特愛二分法，你要嘛是愛中共，不然就是中華民族罪人，凡不當支黑的都是中國間諜云云。\n借用川普總統在J6的比喻，神友是一群「可愛的人」，他們的梗很好玩，不過我認為還是保持距離為好，勿把支黑的思想體系當真（不會吧不會吧，口嗨屠支真有人信？）。極左和極右都不是好東西，當我看到那些整天嘲諷左逼的人講得話一樣cringy，就漸漸了解到這個事實了，比如搞個男權主義的對抗女權主義；反對SJW朱家安，自稱Leftard School的粉專，結果整天貼過份物化女性的圖像（或者說，男性凝視）公開對女性mansplaining，並以此為常態。這樣屬於為反而反又沒有中心思想，維護既得利益，可能更多是樂子人扮演的角色。\n所以就知道為什麼有The Babylon Bee這種網站了，看woke常常講出一些破天荒的鬼話，保守逼也不惶多讓。我講的還不是alt-right喔，是食古不化的那種right-wing，以維護極度保守派價值為傲，對傳統深信不疑的。具體例子見Florida州長Ron DeSantis，差不多就是那種人。\n根據神兔二象性，神友和兔友不過是對中國的政治立場反轉而已，其他地方依然十分相似地，受中國的怪異教育影響，故跳脫不出左右對立的思維框架，不二分法就無法思考。看Gab的rightdogTV有感，在我看來，神友中的極右派縫合姨學的思想是很危險的產物，諸夏解體我贊成，學習先賢哲學的永恆主義我也同意，但是要在文化上作到美國conservative那樣就就很難，都什麼年代了還整天強調中世紀的封建體系和基督教傳統價值，強調傳統的家庭倫理，並反對多元文化。有的人甚至會擁護獨裁者皮諾切特，就因為他把共產黨人都從直昇機丟到海裡去！？還有在4chan融得批爆的浪人學洋大人搞neo-nazi主義，整天發Schwarze Sonne的meme，種族優越主義小黃人你也配？過份保守的人難道不比極左派還危險嗎？\n對的，在台灣的新時代教材薰陶下的我，除了是天然獨之外，還是個左逼，如果要在左右派之間選一個，那還是當偏左的人要好。一些中國人的思想，不管是反賊還是小粉紅，都透露著一股惡臭的老保思想，還美其名曰「保守主義」？我看過【一鏡到底】彭文正怎麼了｜鏡人物訪談，他說他不喜歡支持單一特定政黨，做反對黨，這點我很欣賞就是了。\n所以我決定少關心支黑這些破事水了。那些明理的台灣人和中國人，我知道他們存在，所以多接觸他們就好了。儘管還不夠理想，但是「相對理性」的人普遍聚集在：知乎、Reddit的r/China_irl、PTT，這裡的人比魔怔瞎罵的台灣人和中國人好一點。\n少看風氣接近4chan的社區，更不要看言論受控的中國論壇所發表政治意見。啊，對對對，我是太監，你認為是就是吧。\n5. 對其他政治立場人士的態度 # 我承認看到立場不同的人士言論，儘管已經身經百戰了，還是會起雞皮疙瘩，分泌腎上腺素，感到生理不適，氣到發抖，開始破口大罵。尤其我講一點看似同情中國的話，對方就會說我是共產黨，這，百口莫辯\u0026hellip;..。反過來也是，我不會整天公開跟人講自己支持台獨什麼的，但總是有小粉紅看到繁體字刻意來碰瓷我，用居高臨下的態度說我們就是應臣服，這就讓人感到不適。\n人類有情緒這都是正常的。但是，很多時候，深呼吸，冷靜一點，不要動不動就想人身攻擊，模糊焦點。\n有時候，要學會放下，他人的得失，不見得與你相關。\n就拿應對民進黨的事情來說，身為認同民眾黨理念的小草，不用認為跟青鳥（憨鳥）和無腦舔共人士活在同一個島覺得可惡，因此要取消文化，動不動就要物理消滅人家。因為：\n關於言論自由，基本上只有兩種立場，一是你誓死捍衛你厭惡觀點的言論自由，並以此保障一切言論自由，二是你拒絕捍衛你所厭惡觀點的言論自由，並以此體現出你與史達林主義和法西斯主義在言論自由的標準上沒有區別。\n美國語言學家喬姆斯基(Noam Chomsky)這樣講的，雖然他是大左逼，整天倡導不可能實現的工團主義，但是我就佩服他這點，他老人家想得透徹。除非是騷擾霸凌的言論，否則我不會一看到反對意見就封鎖人，頂多按「我不想看到這個」就能淨化一下社群媒體的演算法，或者眼珠子一轉，無視，不繼續回應。浪費老子時間的事我才不幹。\n縱使中共要消滅我們，也不能著了那魔的道，成天抓奸細搞分化。\n並不是身為台灣人擁有民主，就比活在獨裁統治下的中國人天生高貴，這是一種歧視，咱們有些人還真把自己當成要教化落後支那人的高階種姓了？頭鐵唯一擁護偉大賴主席的我看也沒好到哪去。\n看來沒有人記得尤達大師說的話：\n恐懼帶來憤怒，憤怒招致仇恨，仇恨造成苦難。\n在網路上這種容易形成小圈圈的地方確實會出現排外現象，但我們不要把這個mindset化作現實。\n難道非得親自經歷：「你坐啊，萊納…原來我們都是一樣的啊，萊納…」那些人才會醒悟嗎？悟道仇恨不能解決問題的時候，能想起進擊的巨人的艾連這段對話，希望那時還不會太晚。\n梟說過，要去愛人，否則只會重蹈覆轍。\n6. 最後的提醒：媒體識讀 # 人們現在很依賴網路來了解新知，所以媒體識讀的技能非常重要。不論報導的是你喜歡的還是你討厭的，都要冷靜看待。\n媒體不可盡信。1984年，驚懼之淚〈吶喊〉是這樣唱的：\nIn violent times, you shouldn\u0026rsquo;t have to sold your soul.\nIn black and white, they really ought to know.\nThose one track minds.\nThat took you for a working boy.\nKiss them goodbye.\nYou shouldn\u0026rsquo;t have to jump for joy.\n我沒辦法完全相信電視媒體報導，近因是柯文哲每天被寫科幻小說的事件，遠因是川普總統被主流社群媒體封殺的事情，更遠的還有麥可傑克森的膚色爭議。大概五年前我聽到歸國大學教授說麥可傑克森把皮膚染白是想討好白人，就知道媒體操作下三人成虎的可怕，這麼多年了刻板印象依然能摧毀一個人的人格，無視他有疾病的事實。\n美國人說，看太多台新聞會與事實脫節，產生從眾偏誤，只看固定幾台也不行，就算挺民眾黨的新聞台也不見得就是好媒體，世界上沒有真正中立的媒體，又因為網路自媒體興起，到頭來人們就只會相信自己想相信的KOL講的話。這該怎麼辦呢，我肯定不是那種願意盲信某一方事實的人，就連本黨的意見也不能盡信，那麼就盡量不要被激起情緒，不隨便跟著呼口號，冷靜客觀的看待多方觀點。可惜這社會能做到這點的人太少了，不站隊就會被情緒攻擊。\n這世間，衝突是不可避免的，先承認這點，才能活得自在。對中國的報導，我傾向於先求證再下評斷，比對多方說法，不急於用道德下定論。\n套用到台灣事情也是一樣。我必須承認，因為台灣媒體報導普遍不公正，現在是太相信民眾黨社群傳達的東西了，那又會變成一種同溫層，產生更深的偏見。\n但是我終究得要跳出同溫層的視角去理解其他人的想法，很多人也在這方面努力，試圖說服更多理性的人加入，不論面對多大的惡意。\n","date":"2024年12月27日","externalUrl":null,"permalink":"/posts/political-ideology-in-2024/","section":"Politics","summary":" 2024年結束，迎接2025年政治意識的調整轉變。\n我不是國際政治大師，發表的這些意見對改變他人或許沒什麼幫助，也不可能消弭台灣人和中國人製造的無限紛爭。不過在改變世界之前，可以先從改變自己的心態開始。\n這篇文章很多人看應該會吐血，所以我建議你先聽聽這首歌。\n1. 政治立場的轉變？ # 從2022年開始我會正式的紀錄政治立場。在那之前的言論是鍵政小鬼的等級。\n2023年慢慢變成支黑，而2024年的政治立場又有了些微轉變。 我很高興慶幸在上公民課的時候，老師教給我們的是政治光譜概念，這意味著世界並非不是非黑即白的邏輯，儘管很多人是這樣認為的，現實也逼你不得不選邊站。與其用政治四維來界定人的屬性，不如使用多元的政治光譜來界定自己的政治立場。如此一來就不會變成死士。\n","title":"反共可以不必反中國、支持台灣民眾黨，2024年政治立場的變化","type":"politic"},{"content":"","date":"2024年12月24日","externalUrl":null,"permalink":"/tags/multimodal/","section":"標籤","summary":"","title":"Multimodal","type":"tags"},{"content":"Video chatting with LLM in Open WebUI.\nOpen WebUI支援與本機語言模型進行視訊聊天，達成類似ChatGPT-4o的使用體驗。\n具體原理是，利用Whisper模型將講的話變成語音指令，再搭配開源的多模態語言模型，實現視訊對話，讓AI分析攝像頭的畫面並給出回覆。\n這有什麼用途呢？圖像辨識能夠讓語言模型參酌你的圖片內容進行對話，比如嘗試辨認圖片的建築物風格，以此寫故事。或是從圖片中辨識出文字。還可以嘗試讓語言模型依照圖片裡面的UI去生成程式碼。 1. 需要的模型 # 語音辨識不是由語言模型處理，所以跟任一個語言模型對話都可以。\n圖像辨識，並不是所有語言模型都支援，如果要使用圖像辨識和視訊聊天，需要用多模態(multimodal)模型。Ollama Library有許多模型可用，例如LLaMA 3.2 Vision、LLaVA 7B、Phi 3.5 Vision這類的。\n請在Open WebUI的管理員界面下載模型。\n語言模型的圖像辨識回應速度視硬體性能而定，純CPU跑會非常慢。\n2. 圖片辨識使用方法 # 就\u0026hellip;很簡單，在Open WebUI文字框點選上傳檔案，上傳照片，提示詞輸入「解釋圖片內容為何」。\n這裡我的例子是，要語言模型根據我上傳的樹狀圖，生成繪製圖片的Python程式。 3. 語音視訊與圖片辨識 # 由於這個功能會用到裝置的攝像頭和麥克風，因此需要給Open WebUI啟用HTTPS連線。如果沒有自己的域名，可以用Nginx Proxy Manager自簽SSL憑證解決。我個人是透過Tailscale Funnel或者Cloudflare Tunnel取得SSL憑證。\n開啟Open WebUI管理員設定 → 音訊，啟用語音轉文字(STT)服務，下載Fast Whisper模型 再來是選擇性設定，讓語言模型把圖片內容唸出來，看這裡了解如何設定文字轉語音服務。\n在聊天介面選多模態模型，點選文字框旁邊的耳機圖示開始聊天，右邊會跳出語音界面。 可以純語音聊天，你講的一段話會使用Whisper模型轉成提示詞，自動送出。\n點選攝像頭按鈕開啟相機。目前Open WebUI的設計是講完一段話之後，才會截圖並傳送圖片給語言模型分析。 你得手動按回覆文字框下方的喇叭按鈕，才會生成語音。 4. 如何將螢幕分享給Open WebUI # 能不能讓語言模型直接辨認電腦螢幕上的內容，而不用手動截圖？可以，Open WebUI支援分享瀏覽器螢幕，電腦版的Chrome和Firefox應該都有這個功能。\n不過電腦必須至少有一個攝像頭，Open WebUI才會讓你開啟相機。若你的電腦完全沒有攝像頭，這裡有一個取巧的方式能達成目的，那就是OBS Studio的虛擬攝像頭功能，將OBS Studio擷取到的畫面，傳到虛擬攝像頭。例如Linux系統的OBS Studio能夠透過V4L2製造虛擬攝像頭。\n接著，只要在視訊的時候點選鏡頭圖示，切換為「螢幕分享」就行。 參考資料 # Video Call | Open WebUI OBS Virtual Camera + Open WebUI video chat mode = ALMOST a decent local LLM alternative to GPT-4o voice assistant Here’s how to set it up: - r/LocalLLaMA ","date":"2024年12月24日","externalUrl":null,"permalink":"/posts/open-webui-video-call/","section":"Language-Models","summary":"Video chatting with LLM in Open WebUI.\nOpen WebUI支援與本機語言模型進行視訊聊天，達成類似ChatGPT-4o的使用體驗。\n具體原理是，利用Whisper模型將講的話變成語音指令，再搭配開源的多模態語言模型，實現視訊對話，讓AI分析攝像頭的畫面並給出回覆。\n這有什麼用途呢？圖像辨識能夠讓語言模型參酌你的圖片內容進行對話，比如嘗試辨認圖片的建築物風格，以此寫故事。或是從圖片中辨識出文字。還可以嘗試讓語言模型依照圖片裡面的UI去生成程式碼。 1. 需要的模型 # 語音辨識不是由語言模型處理，所以跟任一個語言模型對話都可以。\n圖像辨識，並不是所有語言模型都支援，如果要使用圖像辨識和視訊聊天，需要用多模態(multimodal)模型。Ollama Library有許多模型可用，例如LLaMA 3.2 Vision、LLaVA 7B、Phi 3.5 Vision這類的。\n請在Open WebUI的管理員界面下載模型。\n語言模型的圖像辨識回應速度視硬體性能而定，純CPU跑會非常慢。\n2. 圖片辨識使用方法 # 就…很簡單，在Open WebUI文字框點選上傳檔案，上傳照片，提示詞輸入「解釋圖片內容為何」。\n","title":"Open WebUI影像辨識，和Ollama語言模型語音視訊聊天","type":"language-model"},{"content":"Ivon討論如何利用Tailscale將Linux伺服器的服務公開到外網，並加上免費HTTPS的SSL憑證，供他人存取。\n1. 二個方案 # 根據官方文件，Tailscale要公開電腦上的服務，有兩種作法：\n第一個是Serve，監聽本機通訊埠，讓同一個Tailscale網路的用戶都能存取你電腦上的服務。有點像是你公開一個網址，但只有連線到Tailscale VPN的人才能存取那個網址。Serve一次只能監聽一個服務的通訊埠。除監聽本機通訊埠之外，也能分享單一目錄，架設簡易檔案伺服器。\n第二個是Funnel，監聽本機通訊埠，且向公眾開放。這個功能很像Cloudflare Tunnel，將你的服務以隨機網址公開，別人不需要連線到Tailscale VPN也能存取。Funnel一次只能監聽一個服務的通訊埠。\n看起來不錯？不是麼，但要注意幾點：Tailscale不允許使用自訂域名，只能用他們提供的域名連線，故你不應該用Tailscale架網站。還有這二個服務都不是單純的P2P，中間會經過Tailscale relay伺服器連線，延遲可能會很高，流量太大亦可能會受到限制。\n目前Tailscale這二個服務的用途比較像是給Self-hosted的人士，或者小型組織內部測試程式使用的。那麼具體用在什麼地方呢？你可能會說，Tailscale的連線本身就有點對點加密，何需HTTPS？真的就有一些服務需要HTTPS呀！比如Ivon在架語言模型的網頁聊天程式Open WebUI的時候，沒有HTTPS瀏覽器會顯示「不安全」。還有像是VS Code Server有些延伸模組需要HTTPS環境才能正常載入。且若網頁程式要存取客戶端的相機、麥克風，那麼HTTPS是必不可少的。\nSSL憑證安裝看似複雜，其實不然，只要裝好Tailscale的客戶端，再執行幾行指令，它就會自動註冊好。\n2. 取得SSL憑證 # 不論是Serve，還是Funnel，二種操作都需要先執行Tailscale的指令，安裝SSL憑證啟用HTTPS才可以使用。\nTailscale會自動幫我們跟Let\u0026rsquo;s Encrypt申請憑證，憑證相關檔案都是存放在本機，不是在Tailscale伺服器。\n於Linux安裝Tailscale\n參考Enabling HTTPS · Tailscale Docs，到Tailscale網頁後台設定，啟用「MagicDNS」和「HTTPS」\n執行以下指令，取得SSL憑證\nsudo tailscale cert \u0026lt;域名\u0026gt; 之後Linux電腦便會以畫面上顯示的網址公開，網址應為taild.ts.net結尾，子網域部份是MagicDNS賦予的裝置名稱，可以自訂。 Tailscale取得的SSL憑證並非全部裝置都能用，只對這台電腦有效。如果其他電腦需要憑證，那麼要再跑一次指令。每部裝置的SSL憑證90天後就會過期，需要手動更新。\nTailscale取得的憑證似乎沒辦法直接用在MagicDNS的樣子，比如輸入http://裝置名稱.taild.ts.net能連線，但https://裝置名稱.taild..ts.net無法正常連線，必須用下面談的Serve和Funnel明確指定要公開哪個服務才可以。\n3. Tailscale Serve用法 # 只對連上同一個Tailscale網路的用戶開放服務。\nIvon跑的服務Open WebUI預設使用通訊埠為3000，使用以下指令監聽3000通訊埠\nsudo tailscale serve 3000 之後，其他連上Tailscale VPN的裝置應該就能透過網址存取服務。\n關閉Serve請按下CTRL+C。\ntailscale serve還可以傳入一個JSON格式的設定檔serveconfig.json，指定要使用的服務以及對應的通訊埠：\n{ \u0026#34;version\u0026#34;: \u0026#34;0.0.1\u0026#34;, \u0026#34;services\u0026#34;: { \u0026#34;svc:web-server\u0026#34;: { \u0026#34;endpoints\u0026#34;: { \u0026#34;tcp:443\u0026#34;: \u0026#34;https://localhost:443\u0026#34; } } } } 再讀取這個設定檔來啟動服務：\ntailscale serve set-config --all serveconfig.json 4. Tailscale Funnel用法 # 對任意用戶開放服務。注意Tailscale不提供任何認證機制，暴露到公網的服務必須設定強力密碼防止被駭入。\n我跑的服務Open WebUI預設使用通訊埠為3000，使用以下指令監聽3000通訊埠，依照畫面指示啟用Funnel：\nsudo tailscale funnel 3000 嘗試用沒有Tailscale連線的裝置連線看看，輸入https://裝置名稱.taild.ts.net網址應該能存取服務。\nFunnel會跟著tailscaled服務一直在背景執行，若要關閉，執行以下指令：\nsudo tailscale funnel --https=443 off ","date":"2024年12月24日","externalUrl":null,"permalink":"/posts/tailscale-funnel/","section":"所有文章","summary":"Ivon討論如何利用Tailscale將Linux伺服器的服務公開到外網，並加上免費HTTPS的SSL憑證，供他人存取。\n1. 二個方案 # 根據官方文件，Tailscale要公開電腦上的服務，有兩種作法：\n第一個是Serve，監聽本機通訊埠，讓同一個Tailscale網路的用戶都能存取你電腦上的服務。有點像是你公開一個網址，但只有連線到Tailscale VPN的人才能存取那個網址。Serve一次只能監聽一個服務的通訊埠。除監聽本機通訊埠之外，也能分享單一目錄，架設簡易檔案伺服器。\n第二個是Funnel，監聽本機通訊埠，且向公眾開放。這個功能很像Cloudflare Tunnel，將你的服務以隨機網址公開，別人不需要連線到Tailscale VPN也能存取。Funnel一次只能監聽一個服務的通訊埠。\n看起來不錯？不是麼，但要注意幾點：Tailscale不允許使用自訂域名，只能用他們提供的域名連線，故你不應該用Tailscale架網站。還有這二個服務都不是單純的P2P，中間會經過Tailscale relay伺服器連線，延遲可能會很高，流量太大亦可能會受到限制。\n目前Tailscale這二個服務的用途比較像是給Self-hosted的人士，或者小型組織內部測試程式使用的。那麼具體用在什麼地方呢？你可能會說，Tailscale的連線本身就有點對點加密，何需HTTPS？真的就有一些服務需要HTTPS呀！比如Ivon在架語言模型的網頁聊天程式Open WebUI的時候，沒有HTTPS瀏覽器會顯示「不安全」。還有像是VS Code Server有些延伸模組需要HTTPS環境才能正常載入。且若網頁程式要存取客戶端的相機、麥克風，那麼HTTPS是必不可少的。\n","title":"利用Tailscale Funnel將Linux伺服器服務暫時公開到外網，提供HTTPS憑證","type":"posts"},{"content":"什麼是懷德海(A.N. Whitehead)的教育節奏理論(The Rhythm of Learning)？基本上這是在講Romance, Precision, Generalization三個過程。\n在答卷上寫「你指尖躍動的電光，是我此生不變的信仰」，論破！ 期末考從來沒有寫的這麼快樂過（以前不會有、以後很難再有了吧），用母語中文下去寫教育哲學相關的題目，總覺得興奮異常，作答的時候我面目猙獰，筆桿顫抖，不如說我這整學期都是滿心歡喜的上這門課，真正會讓人上課不斷思考，下課還會特別餓。\n因為題目全都是申論題，先將得分必需的名詞定義捋一捋之後，剩下的空間就是恣意揮灑的時刻了。\n正式教檢不允許你寫這麼多廢話，不過在大學就隨便啦。當我想要解釋柏拉圖洞穴理論的時候，就再加入一點「如果我不曾見過陽光」的詩作意境。\n欲解釋懷德海的教育節奏論，好吧，我確實沒有文首寫的那麼中二，但是意思有像：「成年之後，學生將會用在上一個階段學到的規矩，捕捉四散的浪漫音符，譜成完美的樂章。這是學生一生要追求的東西。」\n在講存在主義的時候，就把以前讀過的《查拉圖斯特拉如是說》的金句放進去，用以解釋尼采的超人哲學。\n「不要讓一座雕像砸了你，所有宗教使人渺小！你要先找到你自己，超人才會回到你身邊。」\n原本還想再加一個進擊的巨人的隱喻的，不過空間不夠作罷。\n最後一個essay，關於格林《教師即陌生人》一書對於教育的啟示，我以歷史教科書為例，教師應該學陳明韶，如浮雲一般的遊子，審視自己的教育過程，不該只再注重單一史觀的中國式道德教育，不用意底牢結控制人民，而是呈現多元觀點的做法，譬如《萬曆十五年》一書所呈現的另類觀點，假以推廣之對歷史的宏觀多方面解讀，如此，人們便不會沉溺於國仇家恨、民族記憶的虛無縹緲情感之中，而是學到學習的本質，意即思考。\n這是教師和學生都能受益的部份，這也能防止學習歷史的人變成青鳥或者小粉紅一樣的產物（最後一段我不敢寫啦，怕戳到教授逆鱗，直接被當掉）。\n","date":"2024年12月23日","externalUrl":null,"permalink":"/posts/2024122301/","section":"Personals","summary":"什麼是懷德海(A.N. Whitehead)的教育節奏理論(The Rhythm of Learning)？基本上這是在講Romance, Precision, Generalization三個過程。\n在答卷上寫「你指尖躍動的電光，是我此生不變的信仰」，論破！ 期末考從來沒有寫的這麼快樂過（以前不會有、以後很難再有了吧），用母語中文下去寫教育哲學相關的題目，總覺得興奮異常，作答的時候我面目猙獰，筆桿顫抖，不如說我這整學期都是滿心歡喜的上這門課，真正會讓人上課不斷思考，下課還會特別餓。\n因為題目全都是申論題，先將得分必需的名詞定義捋一捋之後，剩下的空間就是恣意揮灑的時刻了。\n正式教檢不允許你寫這麼多廢話，不過在大學就隨便啦。當我想要解釋柏拉圖洞穴理論的時候，就再加入一點「如果我不曾見過陽光」的詩作意境。\n欲解釋懷德海的教育節奏論，好吧，我確實沒有文首寫的那麼中二，但是意思有像：「成年之後，學生將會用在上一個階段學到的規矩，捕捉四散的浪漫音符，譜成完美的樂章。這是學生一生要追求的東西。」\n在講存在主義的時候，就把以前讀過的《查拉圖斯特拉如是說》的金句放進去，用以解釋尼采的超人哲學。\n「不要讓一座雕像砸了你，所有宗教使人渺小！你要先找到你自己，超人才會回到你身邊。」\n","title":"懷德海的教育節奏論之新解：「你指尖躍動的電光，是我此生不變的信仰」","type":"personal"},{"content":"生成式AI出現之後，許多筆記軟體也使用AI賦能了。他們的多半是在筆記軟體的界面整合一個隨時存取的AI助理，例如Notion AI，能夠協助使用者更快的整理大綱，還有生成文案。\n現在Joplin能作到這點了！安裝非官方開發的延伸模組「Jarvis」即可將筆記傳送給LLM處理，即時在Jopin與LLM對話並生成Markdown筆記。 JARVIS這個縮寫很有創意，跟鋼鐵人裡面的智慧管家同名，但其實全名是：Joplin Assistant Running a Very Intelligent System\nIvon將在本文分享Jarvis的用法。\n1. Jarvis的功能 # 支援連接到線上（ChatGPT與Google Gemini）與本機語言模型（Ollama），使用後者的話，所有資料都是離線處理的，保護隱私 在Joplin筆記中聊天，將語言模型生成的文本直接放到筆記，不用再從其他軟體複製過來。 所有生成的文字都是Markdown格式，方便排版。 將本機筆記當作一種RAG資料庫，透過嵌入模型檢索，列出相關的筆記，協助整理散落的資料。 改寫選中的文本，重新整理想法。 在滑鼠指標停留的地方，接續寫下去。 針對筆記生成標題、總結、標籤，提供分類上的建議。 與Jarvis討論筆記的內容，快速抓出重點。 使用Semantic Scholar搜尋，進行學術文獻探討。 2. 前置設定 # 2.1. 準備語言模型軟體 # 雖然Jarvis可以連線到ChatGPT API，但是都用開源筆記軟體了，不如使用Local LLM吧！\n我的設定以本機語言模型為主，讓Jarvis連線到Ollama服務，存取嵌入模型以及語言模型。\n請先用Docker架設Ollama，下載一個中文語言模型，參閱著名的開源大型語言模型列表\n再開啟Joplin，到延伸模組頁面搜尋「安裝Jarvis」。延伸模組若有問題請到alondmnt/joplin-plugin-jarvis回報。 剛安裝會跳出整理相關筆記的提示，可以先按取消跳過。 2.2. 設定嵌入模型 # 嵌入模型用於整理筆記內容，成為相關筆記搜尋的依據。\nJarvis預設的嵌入模型只支援英文，要中文的目前有mxbai-embed-large，請先在Ollama的界面下載。\n點選Joplin工具 → 選項 → 延伸模組 → Jarvis，切換到Related Notes頁面，模型選Ollama 模型名稱填寫mxbai-embed-large，API endpoint設定http://localhost:11434/api/embed 然後點選Joplin → 工具 → Jarvis → Toggle Related Notes 然後再點選Joplin → 工具 → Jarvis → Update Jarvis note DB，更新資料庫 2.3. 設定語言模型 # 點選Joplin工具 → 選項 → 延伸模組 → Jarvis\n切換到Annotations頁面，設定總結筆記的語言為中文 切換到Chat頁面，模型選Ollama 設定角色提示詞，例如我使用Qwen 2.5 3B，就設定輸出語言必須為繁體中文。下面輸入要使用的模型。API endpoint設定http://localhost:11434/v1/chat/completions 3. 實際操作：跟語言模型聊天 # Chat with Jarvis的模式不會跳出一個視窗，而是直接將聊天內容印在筆記本上。由於LLM多半會使用Markdown輸出文字，這樣LLM生成文字的時候等同會自動利用Joplin的Markdown機制排版。這個模式適合用於創意發想階段，你能夠把跟LLM對話的紀錄都記下來，用Markdown格式帶著走。\n點選Joplin筆記編輯欄位的機器人圖示，或者點Joplin → 工具 → Jarvis → Chat with Jarvis，開始聊天。\n跳出第一個回覆，接著你要在User旁邊輸入提示詞，再點一次機器人圖示 它就會生成回應 如果你希望是在獨立視窗回應，點選Joplin → 工具 → Jarvis → Ask Jarvis，這裡就有許多快捷選單能選，例如請求LLM抓出這個段落是否有上下文不一致的問題？ 它就會把觀點印出來。 4. 實際操作：改寫筆記內容 # 讓LLM改些一段文字，使之更為流暢。不過這也要看你選的語言模型中文好不好就是了。\n選取一個段落文字，點選Joplin → 工具 → Jarvis → Edit selection with Jarvis 輸入希望修改的內容 生成後取代文本 如果點選Joplin → 工具 → Jarvis → Auto-complete with Jarvis的話，則是在滑鼠指標停留的地方接續寫下去，不過它的段落偵測能力不太好的樣子。\n另外可以點選Joplin → 工具 → Jarvis → Annoate notes: summary，為目前的筆記生成一份總結。 5. 實際操作：搜尋相關筆記 # 全域搜尋跟當下撰寫的筆記內容有關的其他筆記。你還可以跟Joplin詢問整篇筆記的內容，用於複習一些知識點。\n點選Joplin → 工具 → Jarvis →Toggle Related Notes\n再點選Joplin → 工具 → Jarvis → Find Related Notes 老實說我覺得這功能對中文支援度不好，可能是嵌入模型用得不好，或是預設的context length只有2048個token太短了？還不如用Joplin內建的搜尋。\nJarvis還有一個Chat with your notes的功能，用法類似Chat with Jarvis，先按一下Jopin編輯器上方的機器人頭按鈕，輸入提示詞，再點選Joplin → 工具 → Jarvis → Chat With your notes\n它會將其他筆記的摘要（非全文）送給語言模型處理，進行全域搜尋，然後再回答你的問題，最後利用Joplin內建的反向連結功能，指出它的答案來自哪一個筆記。 參考資料 # joplin-plugin-jarvis/GUIDE.md at master - Github ","date":"2024年12月22日","externalUrl":null,"permalink":"/posts/joplin-plugin-jarvis/","section":"所有文章","summary":"生成式AI出現之後，許多筆記軟體也使用AI賦能了。他們的多半是在筆記軟體的界面整合一個隨時存取的AI助理，例如Notion AI，能夠協助使用者更快的整理大綱，還有生成文案。\n現在Joplin能作到這點了！安裝非官方開發的延伸模組「Jarvis」即可將筆記傳送給LLM處理，即時在Jopin與LLM對話並生成Markdown筆記。 JARVIS這個縮寫很有創意，跟鋼鐵人裡面的智慧管家同名，但其實全名是：Joplin Assistant Running a Very Intelligent System\nIvon將在本文分享Jarvis的用法。\n1. Jarvis的功能 # 支援連接到線上（ChatGPT與Google Gemini）與本機語言模型（Ollama），使用後者的話，所有資料都是離線處理的，保護隱私 在Joplin筆記中聊天，將語言模型生成的文本直接放到筆記，不用再從其他軟體複製過來。 所有生成的文字都是Markdown格式，方便排版。 將本機筆記當作一種RAG資料庫，透過嵌入模型檢索，列出相關的筆記，協助整理散落的資料。 改寫選中的文本，重新整理想法。 在滑鼠指標停留的地方，接續寫下去。 針對筆記生成標題、總結、標籤，提供分類上的建議。 與Jarvis討論筆記的內容，快速抓出重點。 使用Semantic Scholar搜尋，進行學術文獻探討。 2. 前置設定 # 2.1. 準備語言模型軟體 # 雖然Jarvis可以連線到ChatGPT API，但是都用開源筆記軟體了，不如使用Local LLM吧！\n","title":"打造開源AI筆記軟體，Joplin安裝Jarvis + Ollama教學","type":"posts"},{"content":"Ivon將在本文討論Hugo網站插入圖片的方式，還有一些圖片資源管理心法。\n1. 圖床還是本機儲存庫？ # 先抉擇，你要將圖片放在別人家，還是自己家？\n圖床就是放在Imgur、Postimages、ImgBB這類的網站，有些付費有些免費，上傳後得到一個固定網址，然後你把它貼在Markdown裡面，這樣載入網頁後就會顯示圖床上的圖片。\n圖床好處在於容量無限，適合喜歡上傳大量圖片的用戶，並且，要分享到其他網站的時候很方便。使用圖床能降低網站伺服器的負載，因為載入圖片的時候消耗的是別人伺服器的流量。\n但圖床的缺點也很明顯，那就是別人掌握你的生殺大權，它可能會壓縮圖片品質，或是哪天看你不爽就刪掉圖片了（尤其免費圖床更要注意）。我為何會如此擔憂，請參考我之前寫的一篇文章：Imgur政策變更！？自己的圖片自己host\n折衷作法便是買付費圖床了，例如買Cloudflare R2或Amazon S3自己架，基本上有錢他就不敢動你。但是不是值得為了架網站買圖床就要多考慮了，有的圖床或許會跟你收可觀的流量費用。\n至於本機儲存庫，就是把圖片放在Hugo網站根目錄之下，然後跟著Git儲存庫一起同步。這樣你的網站上線之後，圖片的網址就會變成託管在你的Hugo網站之下。本機儲存庫的好處是方便你控制所有圖片，你可以在本機編輯文章的時候用檔案管理器整理圖片資源，也不用擔心上傳到圖床後會被動手腳。\n但缺點也很明顯了：把圖片放在Git儲存庫，時間久了，Git儲存庫會變很肥。此外，你的圖片是託管在自己的網站之下，故載入圖片都會消耗流量。如果你的主機託管商有限制每月流量，那麼就要特別小心圖片帶來的流量超標問題。\n我個人呢目前是採用本機儲存庫的作法，除非一篇文章的圖片有一百張以上才會放圖床。並且為了防止Git儲存庫過於臃腫，我有使用一些手段壓縮圖片。\n2. Hugo文章插入圖片的語法 # 複習一下Markdown的語法操作，插入圖片的語法如下：\n![圖片註解](圖片網址 \u0026#34;圖片註解\u0026#34;) 假設我今天使用Imgur圖床，會得到一個網址，那麼就是這樣填寫：\n![](https://i.imgur.com/55uARuQ.jpg) Hugo建置HTML之後，圖片就會顯示在文章中： 那本機儲存庫的圖片網址應該怎樣填寫呢？按照Hugo網站的設計，要讓Markdown文章插入的圖片，圖片資源有二個地方能放：Hugo網站根目錄下的/static/images，或者用page bundle管理。\n考慮以下Hugo網站的目錄結構，如果把圖片放在/static/images，就好像一個超大型相簿一樣，所有上傳的圖片都統一放在裡面。就像以下這樣：\n. └── static └── images ├── a.webp ├── b.webp ├── c.webp └── d.webp 於是，要插入放在/static/images的圖片，就是填入網站圖片的絕對路徑。\n![](/images/a.webp) Hugo在建置網頁的時候，會將/images/a.webp變成完整的https://example.com/images/a.webp的網址。\n以我個人的操作習慣來說，/static/images應該是用來放「公共資源」的，例如網站logo，不應該放單篇文章的圖片。因為文章一旦多了起來，這個目錄就會變得超巨大，無法區分圖片是哪篇文章的。故，這裡我採用page bundle的方式來存放圖片。\n考慮以下Hugo網站的目錄結構，啟用page bundle來管理文章：\n. └── content └── posts ├── post1 │ ├── images │ │ ├── a.webp │ │ └── b.webp │ └── index.md └── post2 ├── images │ ├── c.webp │ └── d.webp └── index.md Hugo的文章都是放在content目錄下的posts目錄，page bundle模式，下面有post1和posts2兩個文章的目錄，它們目錄下面各自都有imges目錄用於存放圖片。因此他們能夠各自引用自己目錄下的圖片，而不會互相干擾。\n例如，我編輯content/posts/post1/index.md，要插入content/posts/post1/images/a.webp的圖片，只要填入相對路徑即可：\n![](images/a.webp) Hugo在建置網頁的時候，會自動將images/a.webp變成完整的https://example.com/posts/post1/images/a.webp的網址。\npage bundle用絕對路徑的方式插入圖片也行，這種寫法適合讓文章引用另一篇文章的圖片。\n![](/posts/posts1/images/a.webp) 我認為用page bundle的方式，比較能知道這篇文章需要的資源有哪些，能夠一目了然知道檔案在哪裡。如下圖所示，用檔案管理器便能檢視該篇文章所有附屬的圖片。 在寫Markdown文章的時候能少打點字，只需要插入images/開頭便能指向page bundle下的圖片檔案。\n3. 調整Hugo文章圖片的樣式 # 有些Hugo主題CSS設計不周全，導致插入圖片會很難看。例如直向圖片插入的時候會超出整個版面，或是圖片向左對齊等等。\n這個時候就需要設定屬性，調整圖片寬高了。\nHugo除了用Markdown語法外，也可以用shortcode來插入圖片。shortcode用於定義常用的一組HTML程式碼片段，那麼將shortcode當作一種函數來處理圖片，就能應付各種不同需求。\n例如，寫一個/layout/shortcodes/imge.html，填入以下內容。這裡的例子是將Markdown傳過來的src、width、height參數，組合出需要的圖片樣式。\n\u0026lt;img src=\u0026#34;{{ .Get `src` }}\u0026#34; width=\u0026#34;{{ .Get `width` }}\u0026#34; height=\u0026#34;{{ .Get `height`}}\u0026#34; alt=\u0026#34;{{ .Get `alt` }}\u0026#34; \u0026gt; 下面是在Markdown呼叫上面的shortcode的語法。這樣我們就會得到一張寬度300、高度auto的圖片了。\n{{\u0026lt; image src=\u0026#34;images/a.webp\u0026#34; width=\u0026#34;300\u0026#34; height=\u0026#34;auto\u0026#34; alt=\u0026#34;圖片註解\u0026#34; \u0026gt;}} 順帶一提，Hugo內建的shortcode還有一個叫做{{\u0026lt; figure \u0026gt;}}的工具，方便你插入帶有註解的圖片。\n這個看個人怎麼抉擇，我是認為，文章插入圖片就用基本的Markdown和HTML語法就好了，不要用shortcode來處理。這能確保Markdown文章的可移植性（貼到其他網站的時候不用重寫語法！）。若要全域修改圖片的樣式，就去改Hugo主題的CSS或者layouts的templates檔案，不要用太多inline CSS和div元素。\n這裡討論怎麼用HTML簡單修改圖片的樣式，是的，Markdown語法允許你使用部份HTML做裝飾。\n針對直向圖片，不用Markdown語法，改用HTML的img語法來插入圖片，並定義width屬性：\n\u0026lt;img src=\u0026#34;images/a.webp\u0026#34; width=\u0026#34;300\u0026#34;\u0026gt;\u0026lt;/img\u0026gt; 通常這樣直向圖片就不會超出版面了。\n至於你說要怎麼讓全部文章的圖片置中？要怎麼讓圖片下面顯示一行小字的註解？這個就得去改Hugo主題的設定了！通常是調整MarkdownHandler的設定，還有CSS的樣式。\n4. 如何壓縮圖片 # 有時候你可能想要載入較小張的圖片，加快瀏覽速度，這裡有幾種作法。\n比較專業的，找支援管線(pipeline)處理的圖床，例如ImageKit或Cloudflare Images。用他們伺服器的管線壓縮圖片，然後再透過網址方式存取特定大小的圖片。\n或者利用Hugo的圖片處理功能，在建置網頁的時候壓縮與裁切圖片，讓實際生成的網頁圖片檔案縮小。參見：Hugo Image Processing\n我分享一個自己的作法：針對那些不需要太高畫質的圖片，我會事先用影像處理軟體減少長寬到1920x1080以下，並且轉檔為.webp或.avif的高效率格式，讓圖片容量小於1MB，這樣即使圖片有1000張，也不過佔用1GB空間而已。儘量減少整個Git儲存庫的大小。\n5. 將Hugo圖片的管理概念套用到影片 # 雖然影片放Git儲存庫好像怪怪的，但我認為page bundle的概念能擴展到圖片以外的檔案格式。\n如果你要在Markdown文章插入圖片、影片、PDF檔案等元素，可以善用page bundle整理該頁面所需要的資源：\n. └── content └── posts ├── post1 │ ├── images │ │ ├── a.webp │ │ └── b.webp │ ├── videos │ │ ├── intro.mp4 │ │ └── full.mp4 │ ├── files │ └── document.pdf └── index.md 這樣Markdown裡面要引用檔案的時候，就能透過相對路徑存取。\n","date":"2024年12月20日","externalUrl":null,"permalink":"/posts/hugo-markdown-insert-images/","section":"所有文章","summary":"Ivon將在本文討論Hugo網站插入圖片的方式，還有一些圖片資源管理心法。\n1. 圖床還是本機儲存庫？ # 先抉擇，你要將圖片放在別人家，還是自己家？\n圖床就是放在Imgur、Postimages、ImgBB這類的網站，有些付費有些免費，上傳後得到一個固定網址，然後你把它貼在Markdown裡面，這樣載入網頁後就會顯示圖床上的圖片。\n圖床好處在於容量無限，適合喜歡上傳大量圖片的用戶，並且，要分享到其他網站的時候很方便。使用圖床能降低網站伺服器的負載，因為載入圖片的時候消耗的是別人伺服器的流量。\n但圖床的缺點也很明顯，那就是別人掌握你的生殺大權，它可能會壓縮圖片品質，或是哪天看你不爽就刪掉圖片了（尤其免費圖床更要注意）。我為何會如此擔憂，請參考我之前寫的一篇文章：Imgur政策變更！？自己的圖片自己host\n折衷作法便是買付費圖床了，例如買Cloudflare R2或Amazon S3自己架，基本上有錢他就不敢動你。但是不是值得為了架網站買圖床就要多考慮了，有的圖床或許會跟你收可觀的流量費用。\n至於本機儲存庫，就是把圖片放在Hugo網站根目錄之下，然後跟著Git儲存庫一起同步。這樣你的網站上線之後，圖片的網址就會變成託管在你的Hugo網站之下。本機儲存庫的好處是方便你控制所有圖片，你可以在本機編輯文章的時候用檔案管理器整理圖片資源，也不用擔心上傳到圖床後會被動手腳。\n但缺點也很明顯了：把圖片放在Git儲存庫，時間久了，Git儲存庫會變很肥。此外，你的圖片是託管在自己的網站之下，故載入圖片都會消耗流量。如果你的主機託管商有限制每月流量，那麼就要特別小心圖片帶來的流量超標問題。\n","title":"Hugo如何插入圖片到Markdown文章，兼論Hugo的圖片資源管理 (page bundle)","type":"posts"},{"content":"","date":"2024年12月20日","externalUrl":null,"permalink":"/tags/imgur/","section":"標籤","summary":"","title":"Imgur","type":"tags"},{"content":"討論如何給Hugo靜態網站加入多國語言支援。\n因為Ivon偶爾會在Reddit發技術文，加上有寫過一些還算認真下去研究的essay，所以想讓自己網站有個地方可以收錄英文版文章，而非流落於Medium、Github Gists等各大平台。\nHugo預設對多語系網站(multilingual mode)有不錯的支援，它能夠依照不同語言分類文章，顯示「切換語言」的按鈕，方便使用者檢視不同語言的同一個網頁。\n在瀏覽本網站首頁的時候，應該會在網站右上角看到切換語言的按鈕。目前這個網站有中文內容(https://ivonblog.com/)，還有英文內容(https://ivonblog.com/en-us/)，就是透過Hugo的多語系支援實現的。 絕對不是套個Google翻譯的JavaScript元件就打發掉的喔～Hugo能讓你真正的架設多語系網站。\n這裡Ivon分享我是怎麼設定多語系Hugo網站的。\n1. 多語系網站架構 # 沒有一定答案，取決於兩個因素，一個是Hugo官方文件的設定，還有你用的Hugo主題怎麼實現多語系支援的。\n請先閱讀Hugo Multilingual mode，了解基本概念。撰文當下我使用的Hugo主題是Blowfish，作者提供了簡單的方式來設定多語系內容。不過其他主題的觀念是相通的。\nHugo的設計是讓你可以用每個語言一個資料夾，或者一個語言一個檔案對應來實現多語系。\n假設今天要做中文和英文的雙語版網站，那麼在Hugo網站根目錄的結構可以長這樣： . ├── content.en-us │ └── posts │ └── post1.md ├── content.zh-tw │ └── posts │ └── post1.md 如果對Hugo的內容管理有些概念，那麼應該知道content目錄下存放的就是網站的各種頁面了，例如文章、關於、分類、標籤等等頁面。\n在這裡，contnet.en-us是英文網站，content.zh-tw則是中文網站。這二個目錄下有兩個一樣檔名的文章post1.md，Hugo知道這兩篇文章是互為翻譯的對應關係，所以在生成網頁之後，便會在該個頁面顯示語言切換按鈕。\n以上內容也可以改寫成這樣：不分成兩個目錄，而是將不同語言的Markdown檔案放在同一個目錄下，這樣Hugo也會把他們當成互為翻譯的文章，不過我覺得這樣不好整理檔案，所以不會這樣做。\n. ├── content │ └── posts │ ├── post1.en-us.md │ └── post1.zh-tw.md 以此類推，如果我們用同樣的邏輯下去設計，很容易就能做出雙語版網站，讓每個中文版頁面都有英文版的對應頁面。 . ├── content.en-us │ ├── about │ ├── categories │ ├── tags │ └── posts ├── content.zh-tw │ ├── about │ ├── categories │ ├── tags │ └── posts 這樣Hugo網站正式上線後，中文的內容會位於https://example.com/，英文內容是位於https://example.com/en-us/。嗯，為什麼只有英文內容有語系代碼？這個下面會討論。\n這裡要提醒一點的是，不是每個網頁都一定要有對應的多語系網頁。像我很多篇中文文章都沒有英文版，那麼瀏覽該頁面的時候就不會顯示語系切換按鈕。\n你可能會好奇我是怎麼處理雙語文章的，還真沒其他辦法，就是手寫！有時候我不會一字一句將中文翻譯成英文，而是即興創作一下，修改用詞增添在地化趣味，反之亦同。\n當然你要像Microsoft Learn的程式碼參考文件那樣，套用正式規範下去處理多語言內容那也可以，要做Wiki類的多人協作網站就需要詳細標準。\n2. 調整Hugo的設定檔，新增多語系 # Hugo的config裡面可以設定各個語言網站的要素。Hugo允許你將各個語言的定義都寫在一個檔案，或是拆開來寫。\n根據Blowfish主題文件，作者採取的是將各個設定檔拆開撰寫的作法，它的設定檔位於Hugo網站根目錄/config/_default/\n最重要的得從config.toml開始。這個檔案要定義Hugo網站預設的語言。defaultContentLanguage設定為zh-tw，正體中文。 defaultContentLanguage = \u0026#34;zh-tw\u0026#34; defaultContentLanguageInSubdir = false 有趣的事情來了，如果加上defaultContentLanguageInSubdir = true，網站預設語言的路徑也會加上語系代碼。也就是說，中文內容會從https://example.com/變成https://example.com/zh-tw/。這個看你如何抉擇，我是因為以前就習慣中文內容都在域名之下，所以懶得改了。維持中文內容在https://example.com/，英文內容在https://example.com/en-us/的模式。\n再來要針對每個語系新增設定檔，我目前有這些檔案，命名規則一目了然，所有設定檔後面加上語系代碼。\n. ├── config.toml ├── languages.en-us.toml ├── languages.zh-tw.toml ├── menus.en-us.toml ├── menus.zh-tw.toml ├── params.en-us.toml └── params.zh-tw.toml languages.*.toml是關於該語系的設定檔，包括在地化內容，例如languages.zh-tw.toml我是這樣寫的，languageCode和isoCode在Hugo官網都查得到。 languageCode = \u0026#34;zh-TW\u0026#34; languageName = \u0026#34;正體中文\u0026#34; # 顯示的字串可以自訂 weight = 1 title = \u0026#34;Ivon的部落格\u0026#34; contentDir = \u0026#34;content.zh-tw\u0026#34; # 指定正體中文的文章所在目錄 hasCJKLanguage = true [params] displayName = \u0026#34;中文\u0026#34; # 顯示的字串可以自訂 isoCode = \u0026#34;zh-TW\u0026#34; rtl = false dateFormat = \u0026#34;2006年1月2日\u0026#34; # 指定正體中文的時間表示方法 description = \u0026#34;歡迎來到Ivon的部落格\u0026#34; copyright = \u0026#34;歡迎分享Ivon的部落格(ivonblog.com)的文章\u0026#34; 對比英文版languages.en-us.toml： languageCode = \u0026#34;en\u0026#34; languageName = \u0026#34;English (US)\u0026#34; weight = 1 title = \u0026#34;Ivon\u0026#39;s Blog\u0026#34; contentDir = \u0026#34;content.en-us\u0026#34; # 指定英文文章所在目錄 [params] displayName = \u0026#34;English\u0026#34; isoCode = \u0026#34;en\u0026#34; rtl = false dateFormat = \u0026#34;2006-01-02\u0026#34; description = \u0026#34;Welcome to Ivon\u0026#39;s blog\u0026#34; copyright = \u0026#34;You are welcome to share articles of Ivon\u0026#39;s Blog (ivonblog.com).\u0026#34; 上面我的範例是每個語系都有自己的設定，方便詳細自定義不同語系網頁顯示的內容。不過有些設定是可以所有語系共享（或者講繼承），那就不需要分成多個語系的檔案撰寫。以Blowfish主題的設計來說，params.*.toml調整的是網站顏色相關的設定，沒有任何在地化內容，那麼其實沒有必要分成兩個檔案。 3. 用i18n翻譯多語系網站的字串 # Hugo提供i18n的機制，讓使用者能將網頁的選單和按鈕，翻譯成對應語言的字串。\n通常Hugo的主題開發者不會將選單的字串硬編碼為英文，而是透過i18n目錄下的字串翻譯。\n例如，Blowfish主題layouts/404.html的404網頁，有放一個i18n的區塊：\ni18n \u0026#34;error.404_error\u0026#34; | emojify i18n \u0026#34;error.404_description\u0026#34; | emojify 它就會去讀取i18n目錄下的zh-TW.yaml所寫的鍵值，依照不同語言顯示不同的字串。 error: 404_title: \u0026#34;404找不網頁\u0026#34; 404_error: \u0026#34;網頁不見了。\u0026#34; 404_description: \u0026#34;返回首頁\u0026#34; 由此可知，i18n目錄之下，不同檔案都有自己的翻譯鍵值： . ├── en-US.yaml ├── zh-TW.yaml 順便分享一下我是怎麼把語言按鈕做成國旗的，Blowfish的主題會去讀取i18n的翻譯，那麼我就把language的鍵值設定為Emoji就好了： global: language: \u0026#34;🇹🇼\u0026#34; 你可以到themes/主題目錄/i18n，將裡面的檔案複製到Hugo網站根目錄/i18n，按照喜好調整字串的翻譯內容。在設計partial和shortcode的時候，別忘了善用i18n的功能，讓你的HTML元件支援多語言。 4. 修正提交給Google的sitemap # Google Search Console是提高網站搜尋曝光率之用。\nHugo生成多語言網站後，會改在該語言的目錄中生成sitemap，所以應該改提交：https://example.com/zh-tw/sitemap.xml和https://example.com/en-us/sitemap.xml。\n","date":"2024年12月20日","externalUrl":null,"permalink":"/posts/hugo-multilingual-mode/","section":"所有文章","summary":"討論如何給Hugo靜態網站加入多國語言支援。\n因為Ivon偶爾會在Reddit發技術文，加上有寫過一些還算認真下去研究的essay，所以想讓自己網站有個地方可以收錄英文版文章，而非流落於Medium、Github Gists等各大平台。\nHugo預設對多語系網站(multilingual mode)有不錯的支援，它能夠依照不同語言分類文章，顯示「切換語言」的按鈕，方便使用者檢視不同語言的同一個網頁。\n在瀏覽本網站首頁的時候，應該會在網站右上角看到切換語言的按鈕。目前這個網站有中文內容(https://ivonblog.com/)，還有英文內容(https://ivonblog.com/en-us/)，就是透過Hugo的多語系支援實現的。 絕對不是套個Google翻譯的JavaScript元件就打發掉的喔～Hugo能讓你真正的架設多語系網站。\n這裡Ivon分享我是怎麼設定多語系Hugo網站的。\n1. 多語系網站架構 # 沒有一定答案，取決於兩個因素，一個是Hugo官方文件的設定，還有你用的Hugo主題怎麼實現多語系支援的。\n請先閱讀Hugo Multilingual mode，了解基本概念。撰文當下我使用的Hugo主題是Blowfish，作者提供了簡單的方式來設定多語系內容。不過其他主題的觀念是相通的。\n","title":"如何使用Hugo架設多語系網站 (multilingual mode)","type":"posts"},{"content":"","date":"2024年12月18日","externalUrl":null,"permalink":"/tags/hugo-theme/","section":"標籤","summary":"","title":"Hugo Theme","type":"tags"},{"content":"使用Hugo的用戶，你是直接使用他人的主題，還是自己寫一個呢？抑或在他人的主題基礎之上做修改呢？我覺得可以自己研發網站主題的都很厲害，甚至有人能手寫SSG生成靜態網頁HTML的。\n長期維護Hugo網站，有二個事情要考量：\n一個是Hugo主程式的版本\n一個是主題的版本，或者準確的說，使用的主題是第幾個git commit版本\nHugo主程式常常有在更新，語法偶爾會變化，故更新之後要根據最新語法改寫你的主題。若是使用別人做的主題，也要定期追蹤上游變更，否則會建置失敗。\n有常常在更新的Hugo主題，多半會指定Hugo主程式版本，Hugo版本太舊或太新都會建置失敗。\n故，如何更新Hugo主題便成為一個問題。若是直接套用主題還好，git pull覆蓋即可，但如果你又額外在主題上做了一些layout override，就得手動合併變更。\n1. 我的經驗 # 有個笑話說，靜態網站沒有CMS，所以不用怕像Wordpress那種動態網站被駭。但定期升級主題版本也是有必要的，確保網頁功能能正常運作。\n我目前的作法是使用Nuno Coracao開發的Blowfish主題，然後再透過Hugo layout override的方式，打一些小patch以符合我的審美，插入我需要的小元件。例如，我會在文章日期旁邊加入「民國紀年」，要顯示這個partial就得要手動去改Hugo主題的原始碼。我這個作法基本上還是基於原本的主題製作，並非完全的hard fork。因此為來還是需要追蹤上游更新，合併程式碼變更的。\nBlowfish主題使用git submodule安裝，確保日後還能更新。安裝之後鎖定commit在當下版本。Linux系統的Hugo版本透過下載Go編譯成的二進位檔的方式鎖定。\nBlowfish主題我大約一年更新一次，順便將Hugo升級到最新版本。每次更新都像在打仗一樣，無腦升級很危險的，需要git branch切出來。因為你知道的，Hugo開發者很喜歡引入breaking changes，很多東西更新後莫名就會變成deprecated，需要手動修正語法錯誤。弄下來大概要花一天來修正。\n2. 不更新Hugo的做法 # 是的你可以選擇不要更新，讓Hugo版本停留在固定版本。畢竟Hugo主程式只是一個二進位檔，取得舊版本很容易。雲端部署的時候也能夠指定Hugo版本。\n如果Linux是透過套件管理器安裝Hugo的，可以用一些手段防止它自動更新（如apt mark），再不濟還有直接下載特定版本二進位檔的做法。\n至於Hugo主題，通常可以用git commit去鎖定版本。在git submodule add時候，它就會自動記住那個版本。日後git clone的時候會自動下載那個commit的主題。\n3. 使用git submodule更新主題 # 以我用的Blowfish主題為例，我是透過git submodule安裝的。\n更新主題前，請先git push所有變更到遠端儲存庫。\n為了不影響到主幹，做一個新branch\ngit branch dev git checkout dev 由於我不會直接改主題原始碼，而是用layout override的方式去覆寫，所以能夠安心的直接拉取最新版。\n更新git submodule，拉取遠端最新commit\ngit submodule update --remote --merge 4. 查看上游變更 # 接著比對程式碼。\nVisual Studio Code是個不錯的工具，能夠知道新版主題多了哪些東西，方便合併變更。 手動比對修改過的檔案，再更新到最新版。\n確認可以了之後再git branch -m回master。\n","date":"2024年12月18日","externalUrl":null,"permalink":"/posts/update-hugo-themes/","section":"所有文章","summary":"使用Hugo的用戶，你是直接使用他人的主題，還是自己寫一個呢？抑或在他人的主題基礎之上做修改呢？我覺得可以自己研發網站主題的都很厲害，甚至有人能手寫SSG生成靜態網頁HTML的。\n長期維護Hugo網站，有二個事情要考量：\n一個是Hugo主程式的版本\n一個是主題的版本，或者準確的說，使用的主題是第幾個git commit版本\nHugo主程式常常有在更新，語法偶爾會變化，故更新之後要根據最新語法改寫你的主題。若是使用別人做的主題，也要定期追蹤上游變更，否則會建置失敗。\n有常常在更新的Hugo主題，多半會指定Hugo主程式版本，Hugo版本太舊或太新都會建置失敗。\n故，如何更新Hugo主題便成為一個問題。若是直接套用主題還好，git pull覆蓋即可，但如果你又額外在主題上做了一些layout override，就得手動合併變更。\n1. 我的經驗 # 有個笑話說，靜態網站沒有CMS，所以不用怕像Wordpress那種動態網站被駭。但定期升級主題版本也是有必要的，確保網頁功能能正常運作。\n我目前的作法是使用Nuno Coracao開發的Blowfish主題，然後再透過Hugo layout override的方式，打一些小patch以符合我的審美，插入我需要的小元件。例如，我會在文章日期旁邊加入「民國紀年」，要顯示這個partial就得要手動去改Hugo主題的原始碼。我這個作法基本上還是基於原本的主題製作，並非完全的hard fork。因此為來還是需要追蹤上游更新，合併程式碼變更的。\n","title":"Hugo主題透過git submodule更新，升級到最新版commit","type":"posts"},{"content":"Era遊戲（eraシリーズ）指的是以Era引擎寫成的純文字冒險遊戲。\n因為製作簡單，出現了非常多的同人作品，例如《eraAkumaMaid》、《eratoho TheWorld》、《EraKanColle》、《eraAL K》。現存的Era遊戲以成人遊戲居多。\n「Eramaker」引擎最早是由日本開發者サークル獏製作的軟體，針對Windows系統編寫，ERA字母是「Eyes Roved About」的縮寫，差不多就是「高潮後失神」的意思，之後還推出了功能更多的Emuera。\n為了方便移植到其他系統，又有中國開發者開發了Unity的版本，叫做uEmuera，使其能夠在Android執行。\n至於Linux呢要跑Era遊戲，目前有二種方式。\n第一種，裝Waydroid跑uEmuera，等同執行Android APP。這個程式雖然用Unity3D寫的，理論上跨平台，但是對Android版以外的使用方式說明不多，我不知道怎麼用。\n第二種，直接跑原版Era遊戲的exe。我們可以用Bottles簡化部署.Net Framework的過程。本文分享的是第二種。 1. 取得Era遊戲 # 日本Wiki：eraシリーズを語るスレ　まとめWiki　V3 英文Wiki：the era Games wiki Era遊戲分享 \u0026amp; 研究如何開發Era遊戲的作者：中文 era 游戏索引目录 中文Git儲存庫：中文 era 游戏全收录计划 Era遊戲通常是一個exe和遊戲相關檔案組成。如果是Git儲存庫，直接git clone或者下載zip就好。\n2. 設定Linux Bottles # 安裝Bottles\n新增Gaming酒瓶，這個設定檔應該會自動裝好.Net Framework和Wine Mono。\n點選相依套件，安裝cjkfonts套件，使遊戲能顯示漢字。通常遊戲都是UTF-8編碼應該不會有亂碼問題。\n點選設定，進階顯示設定，調整DPI，讓遊戲的字大一些。\n為了防止讀不到相關檔案，建議將exe放到Bottles的虛擬C槽。\n然後執行遊戲exe。為了方便啟動，點選shortcut新增exe。\n因為是文字遊戲，Wine模擬的終端機可能會有跑板問題。\n有些遊戲，例如中文版《eraTW》跑到一半會跳出解決錯誤訊息System.NotSupportedException:Conversion Wide is not supported yet。這個看來是Wine Mono不支援.Net轉換字元的問題。我在FC2看到的解法是替換成Microsoft Visual Basic的.dll。但是這樣又會導致其他元件的功能出錯。\n我嘗試參考英文版AnonTW撰寫的Lutris指令稿，在Bottles只安裝.Net 7和.Net 8，但看來Wine沒有Mono是根本不給執行的，《eraTW》執行依然出錯。\n目前此問題無解，只能用Windows虛擬機了。\n詭異的是，《AnonTW》在Lutris可以跑，沒有中文版《eraTW》轉換字元的問題，但在Bottles無法執行。 ","date":"2024年12月18日","externalUrl":null,"permalink":"/posts/era-games-linux/","section":"所有文章","summary":"Era遊戲（eraシリーズ）指的是以Era引擎寫成的純文字冒險遊戲。\n因為製作簡單，出現了非常多的同人作品，例如《eraAkumaMaid》、《eratoho TheWorld》、《EraKanColle》、《eraAL K》。現存的Era遊戲以成人遊戲居多。\n「Eramaker」引擎最早是由日本開發者サークル獏製作的軟體，針對Windows系統編寫，ERA字母是「Eyes Roved About」的縮寫，差不多就是「高潮後失神」的意思，之後還推出了功能更多的Emuera。\n為了方便移植到其他系統，又有中國開發者開發了Unity的版本，叫做uEmuera，使其能夠在Android執行。\n至於Linux呢要跑Era遊戲，目前有二種方式。\n第一種，裝Waydroid跑uEmuera，等同執行Android APP。這個程式雖然用Unity3D寫的，理論上跨平台，但是對Android版以外的使用方式說明不多，我不知道怎麼用。\n第二種，直接跑原版Era遊戲的exe。我們可以用Bottles簡化部署.Net Framework的過程。本文分享的是第二種。 1. 取得Era遊戲 # 日本Wiki：eraシリーズを語るスレ　まとめWiki　V3 英文Wiki：the era Games wiki Era遊戲分享 \u0026 研究如何開發Era遊戲的作者：中文 era 游戏索引目录 中文Git儲存庫：中文 era 游戏全收录计划 Era遊戲通常是一個exe和遊戲相關檔案組成。如果是Git儲存庫，直接git clone或者下載zip就好。\n","title":"Linux系統遊玩純文字「Era遊戲」的方式 ","type":"posts"},{"content":"","date":"2024年12月17日","externalUrl":null,"permalink":"/tags/bukkake/","section":"標籤","summary":"","title":"Bukkake","type":"tags"},{"content":" 看完ぶっかけ面面觀之後，就進入實際操作環節吧。\n射在人物模型相較射在螢幕上美觀，較容易製造「藝術品」，並且實體對象也比較好瞄準。\n1. 準備素材 # 射屏的奧義，就是美少女身材與精液的完美混合啊！將短暫就會乾涸的精液拍下來，成為永恆的作品。\n射在人物模型上，首要考量就是價格。如果射在要價不菲的模型上，太浪費了。此時可以買品相還行的盜版人物模型。比如，夾娃娃機有很多盜版模型貨，到後來都會低價賣到二手店。那麼二手店就是尋找目標的好地方，搞不好其中也被人射過才流落到這裡呢。網路拍賣也有「港版」的公仔，價格低廉可多加利用，有些還是專門做裸體可脫的，這樣會更好射。 2. 射精在公仔上吧 # 網路範例，現在這裡有二隻的公仔 都是扁奶，有點難引起興致。 但好在有點油油的感覺，看上去色色的 最後配合相關本子的助攻下 （絵援隊 マリオネットクイーン2.0.0） 才射了出來 上面失敗，重射，再度加碼 最後總算成功。如果懸空真的很難射的準，那麼另一隻手抓住讓屌抵著射也可以。 再來個例子，這次換 水手服少女 セーラー服のまんなか 3. 關於後續清潔 # 要將精液清洗得乾淨，最快的方法就是泡水洗滌。考慮清理難度。通常射完後馬上用水沖是不會有太多殘留的，即使不使用清潔劑的情況下那個痕跡要用紫光燈才照得出來。\n不過也有人會選擇用尿的。即喝大量的白開水，尿在模型上，把精液沖掉。這樣還能夠另外拍一支影片，當作收尾。 ","date":"2024年12月17日","externalUrl":null,"permalink":"/posts/figure-bukkake/","section":"Nsfws","summary":" 看完ぶっかけ面面觀之後，就進入實際操作環節吧。\n射在人物模型相較射在螢幕上美觀，較容易製造「藝術品」，並且實體對象也比較好瞄準。\n1. 準備素材 # 射屏的奧義，就是美少女身材與精液的完美混合啊！將短暫就會乾涸的精液拍下來，成為永恆的作品。\n射在人物模型上，首要考量就是價格。如果射在要價不菲的模型上，太浪費了。此時可以買品相還行的盜版人物模型。比如，夾娃娃機有很多盜版模型貨，到後來都會低價賣到二手店。那麼二手店就是尋找目標的好地方，搞不好其中也被人射過才流落到這裡呢。網路拍賣也有「港版」的公仔，價格低廉可多加利用，有些還是專門做裸體可脫的，這樣會更好射。 2. 射精在公仔上吧 # 網路範例，現在這裡有二隻的公仔 ","title":"ぶっかけ射屏實際操作：人物模型篇","type":"nsfw"},{"content":" 看完ぶっかけ面面觀之後，就進入實際操作環節吧。\n過去要射在圖片上，可能是翻開書報雜誌，或是自己印出來，射在上面後丟掉。近年來為了環保愛地球，越來越多人射在螢幕上，「射屏」可是形象的詞呢。射完可以馬上換角色重複利用，多麼棒的想法！\n電子螢幕的射屏，視覺效果比不上射在紙張上好，更別說人物模型了。因為螢幕容易反光，要清楚的拍出螢幕和沾在上面的精液需要點功夫，才會有好結果。不然精液會看起來像汙漬，看上去很噁心。\n但想體驗射屏，射在螢幕上仍是最簡單、最經濟的作法。\n1. 尋找射屏素材 # 射屏是很主觀的操作，有些人喜歡看照片上的臉射，有些人覺得射在抱枕圖上更好，也有人覺得射在小穴正對鏡頭的圖，更有互動感的樣子。總之射屏沒有強制規定要用哪種姿勢的圖來射。\n關於素材的取得來源，這要分兩個層面來看。\n動漫圖片應該可以自由使用，Danbooru一抓一大把，pov的標籤搜尋下去就能找到一堆正臉角度的照，dakimakura更是有一堆抱枕圖。但有些繪師會不開心。請不要刻意貼給人家看你的射屏照。\n建議選取符合性癖好的圖片\n如果是喜歡的角色已經擺好性感姿勢，那無論姿勢，應該很容易看著用手射出來。 射在奶子上，模擬乳交。 320BPM 精菓の娘だが、しかし変態\n小穴正對的圖片也不錯，有種要你把精子射入子宮的感覺。來源 關於使用真人照片，可能會有侵犯他人權利的問題。事實上，這確實是一種性騷擾，已經有許多現實受害的例子了。如果沒有經過同意就對人家射屏的話（誰會同意啦！），會被認為是不道德的行為，還會助長網路霸凌。\n若要避免這類爭議，到Reddit的r/TributeMe/尋找素材吧，在這裡找到的照片相對來說比較合法。\n若只有臉的照片或許很難射屏，需要額外準備手機看其他煽情素材才能射出來，並要隨時保持角度正對著射屏對象。FGO阿榮來源 2. 準備射屏的電子裝置 # 這個螢幕要是什麼的螢幕呢？\n最簡單的就是手機了，射完就收，殺精於無形。不過手機螢幕太小震撼感不足。變形筆電螢幕如果可以平放並旋轉180度，那也是不錯的選擇。\n最好的選擇，還是10吋左右的平板了吧。把平板平直放在桌上，接著準備射屏素材。\n在準備射屏素材前還得考慮螢幕顏色準確度，如果是以分享為目的下去拍攝，那麼準備廣色域IPS螢幕便是不可或缺的了。不好的螢幕會影響觀感，為此不計代價的購買支援DCI-P3色域的IPS面板吧！ 好螢幕與壞螢幕的範例\n還有，不要直接射在螢幕上，太不健康了，長期擦拭下來會破壞螢幕的疏油層。在射之前，鋪上一層壓克力板或是透明的資料夾，透光效果好。\n這樣射完直接清理上面就可以了。\n若要降低亮度，應該購買描圖紙，讓平板的畫面接近紙張呈現的效果，\n如下圖比較直接射在螢幕上、壓克力板上、描圖紙上的差距。為了方便示範，使用白牙膏塗抹。 影響效果的因素，還有精液濃度，如果偏透明就會不好看，最好是濃稠的白濁。\n3. 實際操作 # 把雞雞放在螢幕上方，開始套弄。\n如果怎樣都覺得怪怪的而無法射精，那麼就用飛機杯套弄吧，強制雞雞處在最堅挺的狀態，等到了臨界點再馬上拔出來。\n射在螢幕上常不好控制精液的散布範圍，此時你不是在「打手槍」而是打「霰彈槍」。要控制彈藥的散佈範圍，你要懂得「壓槍」。稍微把槍口往下，降低後座力。並稍微壓住繫帶部份，確保可以噴更遠，而 非流出來。精液的散布最好要像是噴泉一樣。\n使用的圖片來源\n射的不錯的例子： 射的不太好的案例： 你是自然主義，還是印象派？\n主張一次就射好，還是允許加工呢？其實就算一開始射的不好，落點分析不如預期，應該要有飛濺狀的精液覆蓋，卻只有一坨樣子。\n還是可以用手稍微抹一下，做成飛濺的樣子。像是用竹籤、吸管的方式，稍微塗抹一下。\n","date":"2024年12月17日","externalUrl":null,"permalink":"/posts/photo-bukkake/","section":"Nsfws","summary":" 看完ぶっかけ面面觀之後，就進入實際操作環節吧。\n過去要射在圖片上，可能是翻開書報雜誌，或是自己印出來，射在上面後丟掉。近年來為了環保愛地球，越來越多人射在螢幕上，「射屏」可是形象的詞呢。射完可以馬上換角色重複利用，多麼棒的想法！\n電子螢幕的射屏，視覺效果比不上射在紙張上好，更別說人物模型了。因為螢幕容易反光，要清楚的拍出螢幕和沾在上面的精液需要點功夫，才會有好結果。不然精液會看起來像汙漬，看上去很噁心。\n但想體驗射屏，射在螢幕上仍是最簡單、最經濟的作法。\n1. 尋找射屏素材 # 射屏是很主觀的操作，有些人喜歡看照片上的臉射，有些人覺得射在抱枕圖上更好，也有人覺得射在小穴正對鏡頭的圖，更有互動感的樣子。總之射屏沒有強制規定要用哪種姿勢的圖來射。\n","title":"ぶっかけ射屏實際操作：電子圖片篇","type":"nsfw"},{"content":"技術部落格，technical Blog，中國叫做技術博客，通常是由工程師寫的分享技術的部落格。經營部落格理由有很多種，包括紀錄所學，行銷自己等等。可是寫多就難免會遇到一個問題，如果我講的東西明天過後就沒人用了怎麼辦，東西改版之後又沒餘力重寫。\n1. 資料好像過期了就沒什麼價值 # 既然資料遲早都會過時，為什麼還要寫技術部落格？\n資料過時的意思是指，程式的運作方式變了，導致文章介紹的內容失效。這是個很實際的問題呀，只要東西一更新，你的文章馬上變成廢文，那麼投入的努力又是為了什麼呢？\n看一下Hugo建置網站的統計資料，在過去三年的光陰我寫了超過1000篇文章，好像太少了。\n說實話，雖然我會定期將部份的「重要」文章翻新，以符合上游變化，例如「Ubuntu安裝Nvidia CUDA」的指令，但是很多不常用的軟體，我就沒有心力照顧。\n很多我寫的Linux技術文章，在未來五年內八成就會失效，可能指令變了，套件換了，名字改了，東西變了，就會導致文章裡面討論的技術過期。\n教學類的文章，甚至可能誤導讀者，使用deprecated的技術，執行錯誤的指令，最後得到失敗的結果。\n那麼，有這種未來就會失效的壓力，為什麼還要寫技術部落格？\n為何還要鉅細靡遺的講解自己的配置過程，而非叫讀者自行看文件，反正你再怎麼更新也不會比上游勤勞？\n除開筆記性質的文章，部落格還能給人帶來什麼？\n2. 技術部落格助人助己 # 因為以心電信，See how the world goes round. You\u0026rsquo;ve got to help yourself. See how the world goes round. Then you\u0026rsquo;ll help someone else. （黃色魔術交響樂團 - You\u0026rsquo;ve Got to Help Yourself）\n參考Hiraku Dev的見解：個人部落格的第一讀者應該是自己。\n不要擔心寫的太菜沒人看，只有當你真正用自己的文筆寫下已知的知識的時候，那時候能夠確認自己的認知沒有錯誤。美國科學家費米好像說過，如果你沒辦法清楚跟人解釋你的專業知識，那就不算是真正學會了。就算那是行業內眾所皆知的知識也好，把筆記經過梳理整理後，呈現出有條有理的結構，那在世界上總有一個有價值的服務對象，就是你自己。然後別人看到之後覺得有幫助，就算是過路客也算是行善之舉，若能得到留言回應那就是謝天謝地。\n人是自在的存有，他人即地獄，面對荒謬的世界，唯有把自己放在優位，才不會為了迎合他人而迷失初衷，尤其是在經營自己的部落格的時候。就算上游更新那又怎樣，你有在文章中特別註明撰文當下的時間，那也就夠了，剩下的東西就讓別人去煩惱吧。總是覺得有學不完的東西，朝不保夕的焦慮思維，不如接受這世界就是變化著的，能做的就是盡力顧好當下。\n若有餘力，也應當反思，你究竟是要專注在技術討論而已，還是希望在教人一些東西的時候，提供一些額外的價值。呼應自由軟體的理念，如果要更多人用，有人負責偉大的程式碼開發工作，就有必須承擔傳播的任務。把你的血與淚獻出來，成就他人新生的靈肉。\n老實說，我不喜歡寫太枝微末節的東西（ 肯定不是邏輯太差導致推導程式碼邏輯會想睡覺），比如Wayland下遇到某個瀏覽器小bug，能用暫時的workaround繞過，請執行以下指令芸芸，這個我大部分時間都認為不值得開一篇寫，因為這類東西，很高機率幾個月後上游就會修復了。況且，如果這個bug很重要，則該寫在Github issue公開討論才是。\n除了開發者會在乎的事情，你其他的客群是誰？我要如何讓我的文章變成不要只是單純講怎麼安裝軟體，那太多人寫一樣的東西了。是否還有很多個人操作經驗可以分享？就算是試錯的難堪經驗，經過巧妙的設計安排後，也能成為個人文章特色的加分項。有些人認為在快速演進的網路平台，沒人會在乎你怎麼想，否定個人的情緒，快點講重點就好了，這並不完全正確，因為我剛好就不喜歡太正式的部落格行文，那就失去了個人興趣網站的特色了！如果文章總是制式化，千篇一律的開頭，虛情假意的打招呼，那就失去了個人網站的特色，搞得像在業配了。在私人地盤應當盡力表現出自己的特色。\n最後要講的就是拿捏技術與經驗的分寸，技術文嘛，當然還是要技術佔過半版面，可是個人經驗同樣不能少。要如何避免文章變成看到什麼就都寫下來的流水帳？建議看一些學術寫作(academic writing)的書籍，還有研究筆記術，並研究SEO的關鍵字怎麼下法。如此一來你就不會讓文章充斥太多雜訊了，並且能夠體會到系統性梳理知識的美好。學著技巧性的講完部份重點，再適時插入一些個人特色的文字，佈置文章節奏，吸引人看到最後。這需要長期經驗積累，而最好的方法就是開始寫。\n記住，文章要先自己覺得60分滿意才可以po出來，不必追求完美主義。為何不是100分滿意度呢？對於一些沒自信的人，盡善盡美的追求會害了他，導致無限拖延症，倒不如寫出來後再慢慢修改。你又不是在寫博士論文，錯了再改就好嘛！\n3. 讓文章不會被時代拋棄的務實作法 # 我一直想做的事情是永恆的部落格，我希望文章的有效性要有10年以上。怎麼可能嗎！我研究的又不是10年不變的RHEL系統。\n比較務實的作法是在技術類文章標注參考來源，像是論文索引一樣明確標示參考了哪些文章，並最先援引權威資料（如Wiki、Documentation、Git Repo），其次才是個人部落格（如其他人的配置過程，要適時篩掉內容太水的內容農場）。並且在寫文章的時候，提醒讀者「看一下文章發表時間」。以及明確註明操作當下的時間、系統套件版本等等。\n這樣即使我的資料過時，讀者也能尋著前人的蹤跡，找到源頭，自行更新資訊。\n若有餘力更新舊文，在加入新資訊後，應當把文章日期一併更新到撰文當下，這樣人們才不會因為看到文章日期過舊而退卻。這只是我的個人作法，SEO影響不討論。\n還有一種累死自己的作法，那就是用自己寫個程式監視上游變更，接收訊息之後就會提醒要更新哪篇文章。我是不會這樣幹。畢竟我經營的不是無情的Wiki情報站，上游改什麼我就改什麼，當下沒興趣的東西我就不會去煩惱。\n延伸閱讀 # 寫技術部落格不需要那麼大費周章 - Huli\u0026rsquo;s blog 為什麼工程師該試著寫技術文章 / 技術部落格？ by Yenting 寫十年部落格和技術文章的心得 - Hiraku Dev 為什麼你應該寫一個技術分享的部落格？ - G. T. Wang ","date":"2024年12月16日","externalUrl":null,"permalink":"/posts/motivation-for-writing-tech-blogs/","section":"Personals","summary":"技術部落格，technical Blog，中國叫做技術博客，通常是由工程師寫的分享技術的部落格。經營部落格理由有很多種，包括紀錄所學，行銷自己等等。可是寫多就難免會遇到一個問題，如果我講的東西明天過後就沒人用了怎麼辦，東西改版之後又沒餘力重寫。\n1. 資料好像過期了就沒什麼價值 # 既然資料遲早都會過時，為什麼還要寫技術部落格？\n資料過時的意思是指，程式的運作方式變了，導致文章介紹的內容失效。這是個很實際的問題呀，只要東西一更新，你的文章馬上變成廢文，那麼投入的努力又是為了什麼呢？\n看一下Hugo建置網站的統計資料，在過去三年的光陰我寫了超過1000篇文章，好像太少了。\n說實話，雖然我會定期將部份的「重要」文章翻新，以符合上游變化，例如「Ubuntu安裝Nvidia CUDA」的指令，但是很多不常用的軟體，我就沒有心力照顧。\n很多我寫的Linux技術文章，在未來五年內八成就會失效，可能指令變了，套件換了，名字改了，東西變了，就會導致文章裡面討論的技術過期。\n教學類的文章，甚至可能誤導讀者，使用deprecated的技術，執行錯誤的指令，最後得到失敗的結果。\n那麼，有這種未來就會失效的壓力，為什麼還要寫技術部落格？\n","title":"為什麼要寫技術部落格，既然資料遲早都會過時？","type":"personal"},{"content":" Fix battery life and draining issue on Linux laptops or tablets.\n這篇文章Ivon要來討論一個很複雜的問題：如何改善Linux筆電的耗電？\n同樣的一台電腦，Linux比Windows耗電並不奇怪，因為製造商可能沒考慮給Linux提供驅動程式，導致使用者的使用體驗不佳。即使Linux的系統服務比Windows要少，也可能因為硬體驅動問題而導致系統浪費電力。而電腦型號太多了，Linux核心無法全部涵蓋驅動程式。所以在安裝Linux系統之後，使用者要針對手上電腦的型號做一些調整才能改善耗電問題。\n之所以講複雜是因為電腦廠牌太多，而Linux發行版也增加了更多變數，這篇文章Ivon只是總括性的探討可能的解決方式，分享一些我實際操作下來得出的省電訣竅。 使用PowerTop查看Linux系統的耗電量大戶\n如果要改善Linux筆電的耗電量，請嘗試以下步驟：\n確認電池健康度 檢查暫停模式 檢查電腦風扇是否有正常運作 檢查獨立顯卡是否耗電 檢查電源管理程式 查看耗電的程式 選取特製的Linux核心或者發行版 以上的步驟在各大Linux發行版（Ubuntu、Arch Linux、Fedora、openSUSE、Gentoo）都能使用。\n請注意，本文討論內容適用x86架構的Linux，即搭載Intel或AMD CPU的筆電。ARM架構的Linux筆電可能不適用。\n1. 確認電池健康度 # 使用upower指令確認電池健康度，看看是不是電腦用太久了電池老化。\n老了就該換電池了。\n順帶一提，如果你想延長電池使用壽命，也可以透過upower設定最大充電上限(thresholds)。\n2. 檢查暫停模式 # 確認暫停模式是否正常，避免電腦進入待機模式還在耗電。\n目前Linux 6.0的核心有兩種待機模式：暫停(Suspend)和休眠(Hibernate)，原理略有不同。若是用Systmed指令控制的話，則分為suspend、hibernate、hybrid-sleep三種。\n在GNOME桌面的關機選單可以看到暫停模式，背後執行的就是Suspend，效果等同執行sudo systemctl suspend指令。當你關上筆電螢幕的時候也會進入暫停模式。 按下該按鈕之後，Linux應該會進入Suspend模式，這時網路會斷掉，電源鍵可能會一閃一閃的。之後可以用鍵盤喚醒。如果電腦無法從Suspend模式喚醒，出現黑螢幕情況，請嘗試按CTRL＋ALT＋F1，進入tty，再參考Linux Kernel Documentation了解怎麼debug。\n最簡單的方式是換個Linux核心，或者切換到較為穩定的Linux發行版，例如Debian和Ubuntu。\n3. 檢查風扇驅動 # 風扇會影響筆電散熱，散熱不佳會導致耗電。\n試試跑壓力測試程式stress_ng，看看風扇有沒有轉起來。\n安裝lm_sensors能夠看到硬體溫度和風扇轉速。\nsudo apt install lm_sensors sudo sensors 但lm_sensors並不適用於所有筆電，有些品牌需要特殊的驅動程式才能啟動風扇，很難一概而論，像MSI筆電的風扇就需要msi-ec核心模組；ASUS需要asus-nb-wmi等等。\n遇到風扇無法驅動的問題，請用筆電品牌下去搜尋，看看Linux社群有沒有人維護驅動程式。\n4. 檢查獨立顯卡耗電 # 如果筆電搭載Nvidia獨立顯示卡，會導致額外耗電。\nNvidia獨立顯示卡採用預設的nouvea開源驅動可能會有效能問題，得裝Nvidia閉源驅動。可有時候裝了Nvidia閉源驅動反而會更耗電，這時要使用Envy Control或者Optimus Manager，在不用獨顯的時候將其關閉，看是要讓它進入暫停模式，還是乾脆切斷電源。\n5. 檢查電源管理程式 # Linux通用的電源管理程式有「Power Profiles Daemon」、「TuneD」、「TLP」。有些廠商還會研發自家的電源管理程式，例如System76的System76 Power和Dell的Dell Power Manager。\n電源管理程式之間會互相衝突，所以不要同時裝。通常Linux發行版的套件管理器會將各種電源管理程式標記為衝突，要使用這個就必須刪除另外一個。\nPower Profiles Daemon，簡稱PPD，是GNOME和KDE用於調節耗電量的服務。只有三個檔位：省電、平衡、效能，除此之外沒有能夠調整的。\n這個程式可以透過以下指令安裝：\nsudo apt install power-profiles-daemon sudo systemctl enable power-profiles-daemon 重開機，然後在桌面環境的電源選單，就會有電源模式選項。通常用「平衡」就夠了，「省電」模式會導致電腦變很卡。 另外，在部份較新的Linux發行版，Power Profiles Daemon已經換成了TuneD，安裝過程：\nsudo apt install tuned tuned-ppd sudo systemctl enable tuned TuneD效果類似Power Profiles Daemon，能夠在GNOME和KDE的電源界面調節耗電量。雖然表面上只有三個檔位，但實際上用tuned-adm list指令檢視的話，TuneD有更多設定檔可以挑，能夠依照目前工作負載做細部最佳化。\n如果需要更細緻的選項與，請裝TLP，它可以依照使用情境自動調節，客製選項很多，你甚至可以去調Linux核心的cpu governor。需要圖形界面請裝TLP UI\n但是我個人覺得TLP的設定有點太複雜了。\n6. 查看耗電的程式 # 使用powertop看看哪些程式在耗電，比如瀏覽器播放影片要是沒有啟用硬體解碼，那就會額外耗電。\n也可以搭配查看CPU使用量的htop和GPU使用量的nvtop使用，了解哪些程式在吃系統資源。\n使用以下指令安裝：\nsudo apt install powertop 查看目前正在耗電的程式：\nsudo powertop 輸出HTML格式的報表：\nsudo powertop --html=powerreport.html 你可以啟動PowerTop服務，按照該工具給出的建議，透過powertop2tuned傳給tuned自動調整耗電量。\nsudo systemctl enable powertop 7. 選取特製的Linux核心或者發行版 # 我這裡沒有叫你換系統，只是換核心罷了。\n雖然x86的相容性很廣，但有些硬體就是需要特製核心才能真正達到省電效果。\n比如Surface Go系列，直接裝Ubuntu使用最新版Linux核心可能會導致驅動出問題，改裝專門的linux-surface核心，那才能確實利用所有的硬體資源。\n大部分Linux發行版應該都允許你更換核心，通常就是裝一個套件解決的事情。當然如果你嫌麻煩，那最快的方式就是重裝系統。\n參考資料 # Compare TLP and power-profiles-daemon by linrunner Power management - Arch Wiki systemd-suspend.service - FreeDesktop.org Debugging hibernation and suspend - Linux Kernel Documentation Linux 核心設計: Power Management(1): System Sleep model - hackmd@RinHizakura ","date":"2024年12月16日","externalUrl":null,"permalink":"/posts/linux-laptop-power-management/","section":"所有文章","summary":" Fix battery life and draining issue on Linux laptops or tablets.\n這篇文章Ivon要來討論一個很複雜的問題：如何改善Linux筆電的耗電？\n同樣的一台電腦，Linux比Windows耗電並不奇怪，因為製造商可能沒考慮給Linux提供驅動程式，導致使用者的使用體驗不佳。即使Linux的系統服務比Windows要少，也可能因為硬體驅動問題而導致系統浪費電力。而電腦型號太多了，Linux核心無法全部涵蓋驅動程式。所以在安裝Linux系統之後，使用者要針對手上電腦的型號做一些調整才能改善耗電問題。\n之所以講複雜是因為電腦廠牌太多，而Linux發行版也增加了更多變數，這篇文章Ivon只是總括性的探討可能的解決方式，分享一些我實際操作下來得出的省電訣竅。 使用PowerTop查看Linux系統的耗電量大戶\n如果要改善Linux筆電的耗電量，請嘗試以下步驟：\n確認電池健康度 檢查暫停模式 檢查電腦風扇是否有正常運作 檢查獨立顯卡是否耗電 檢查電源管理程式 查看耗電的程式 選取特製的Linux核心或者發行版 以上的步驟在各大Linux發行版（Ubuntu、Arch Linux、Fedora、openSUSE、Gentoo）都能使用。\n請注意，本文討論內容適用x86架構的Linux，即搭載Intel或AMD CPU的筆電。ARM架構的Linux筆電可能不適用。\n","title":"Linux筆電很耗電？使用這些電源管理技巧提昇續航","type":"posts"},{"content":"Check battery health of Linux laptops or tablets.\n檢視Linux的電池健康度，順便檢視電池詳細的硬體資訊，了解電池目前電量，以及背後有多大容量。\n適用Ubuntu、Fedora、Arch Linux、openSUSE、Gentoo等發行版。\n為什麼要檢視電池健康度的數值？有助於讓你決定是否要換電池了，通常在80%以下續航力會大幅下降，這個時候就是一個換電池的指標。\n1. 圖形界面 # 視使用的桌面環境而定。\nGNOME 47需要安裝gnome-power-manager套件。再從應用程式列表找到「電源統計」程式，即可看到電池健康度資訊。 KDE 6在系統設定 → 關於這個系統 → 更多系統資訊 → 電量查看 2. 命令行 # 檢視Linux電池健康度的有upower以及acpi指令。acpi適用x86架構的電腦，ARM架構的電腦可能無法使用acpi，所以建議使用通用型的upower。根據FreeDesktop的文件，UPower舊稱DeviceKit-power，它提供一個抽象層，用於監視電池的事件、操作歷史、統計資訊等，並讓其他程式能夠存取UPower的資訊。UPower也是桌面環境GNOME、KDE背後用於讀取電池健康度的依據。\n列出所有電源裝置 upower -e 範例輸出，這裡有三個路徑，通常電池的那個會以BAT或battery開頭 查看電池資訊。\nupower -i org/freedesktop/UPower/devices/battery_rk817_battery 範例輸出： 3. 加碼教學：設定充電上限，延長電池壽命 # 設定電池最多只能充到80%，可以有效延遲。\n這裡介紹的圖形工具，背後也都是用UPower操作的。不過依照筆電品牌不同，可能需要安裝額外驅動程式才能夠設定充電上限。\nGNOME 47請安裝Battery Health Charging擴充套件，設定充電上限。\n如果你的電腦硬體支援充電上限的話，KDE 6可以在系統設定 → 電源管理，找到充電上限選項。\n","date":"2024年12月16日","externalUrl":null,"permalink":"/posts/upower-check-linux-battery-status/","section":"所有文章","summary":"Check battery health of Linux laptops or tablets.\n檢視Linux的電池健康度，順便檢視電池詳細的硬體資訊，了解電池目前電量，以及背後有多大容量。\n適用Ubuntu、Fedora、Arch Linux、openSUSE、Gentoo等發行版。\n為什麼要檢視電池健康度的數值？有助於讓你決定是否要換電池了，通常在80%以下續航力會大幅下降，這個時候就是一個換電池的指標。\n1. 圖形界面 # 視使用的桌面環境而定。\nGNOME 47需要安裝gnome-power-manager套件。再從應用程式列表找到「電源統計」程式，即可看到電池健康度資訊。 KDE 6在系統設定 → 關於這個系統 → 更多系統資訊 → 電量查看 2. 命令行 # 檢視Linux電池健康度的有upower以及acpi指令。acpi適用x86架構的電腦，ARM架構的電腦可能無法使用acpi，所以建議使用通用型的upower。根據FreeDesktop的文件，UPower舊稱DeviceKit-power，它提供一個抽象層，用於監視電池的事件、操作歷史、統計資訊等，並讓其他程式能夠存取UPower的資訊。UPower也是桌面環境GNOME、KDE背後用於讀取電池健康度的依據。\n列出所有電源裝置 upower -e 範例輸出，這裡有三個路徑，通常電池的那個會以BAT或battery開頭 查看電池資訊。\nupower -i org/freedesktop/UPower/devices/battery_rk817_battery 範例輸出： 3. 加碼教學：設定充電上限，延長電池壽命 # 設定電池最多只能充到80%，可以有效延遲。\n","title":"用UPower查看Linux筆電的電池健康度，設定充電上限保養電池","type":"posts"},{"content":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本）\n淪陷的王國 (Fallen Kingdom)，是早期歌曲剛流行的時候，著名的Minecraft動畫歌曲。故事敘述一個國家被Herobrine攻陷，國王與其子反攻的故事。\n動畫由CaptainSparklez \u0026amp; Slamacow製作，歌曲部份由TryHardNinja獻聲。這個系列總共出了四部曲，每集上傳都相隔數月，因此每集都得到頗大回響。〈Fallen Kingdom〉大概是繼〈Revenge〉之後最多觀看次數的Minecraft歌曲影片了。\n我大概是第四集後翻譯「淪陷的王國」系列影片的，這系列動畫真的十分精彩。感謝前人譯者s2011131、Wacker Gamer、YMKFT、Dysilia YDC等人，介紹這部好作品給台灣觀眾。\n小感慨：2020年我5萬訂閱的Youtube翻譯頻道被ban，連帶拍過的珍貴遊戲實況也失去。多年後再回去看那些散落在網路上的碎片（包含盜我頻道影片而倖存下來的備份），就頗能體會到第一集國王的悲傷心情。\n第1集「淪陷的王國」Fallen Kingdom # 第一集非原創曲，而是翻唱Coldplay - Viva la Vida\n交代故事背景，國王在殘骸到處遊走，回想過去的榮光。\n2011年，s2011131翻譯的時候，把這集翻作「亡國亡君」。但續集證明他根本沒死 ==\n第2集「奪回那一夜」Take back the night # 城堡裡疑似有生還者的跡象？原來是王子。\n國王的兒子由村民撫養長大後，擊退了襲擊村莊的豬人，隨後前往城堡打倒Herobrine。\n第3集「尋找碎片」Find the pieces # 王子返回故土，與國王相遇。\n王子打倒凋零怪之後，凋零之星卻被豬人撿了回去。上一集被腰斬的豬人現在有了新身體。\n第4集「永不畏懼」Dragonhearted # 又譯作「龍之心」。\n最後一集，豬人們與主角父子間的正面對決。終界龍大戰機器人。\n第5集「重建王國」Rising Kingdom # 你以為完結了，其實還有啦！\n國王前往地底下的遠古城市，打倒伏守者，取得魔杖。\n","date":"2024年12月13日","externalUrl":null,"permalink":"/posts/captainsparklez-fallen-kingdom-series/","section":"Minecrafts","summary":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本）\n淪陷的王國 (Fallen Kingdom)，是早期歌曲剛流行的時候，著名的Minecraft動畫歌曲。故事敘述一個國家被Herobrine攻陷，國王與其子反攻的故事。\n動畫由CaptainSparklez \u0026 Slamacow製作，歌曲部份由TryHardNinja獻聲。這個系列總共出了四部曲，每集上傳都相隔數月，因此每集都得到頗大回響。〈Fallen Kingdom〉大概是繼〈Revenge〉之後最多觀看次數的Minecraft歌曲影片了。\n我大概是第四集後翻譯「淪陷的王國」系列影片的，這系列動畫真的十分精彩。感謝前人譯者s2011131、Wacker Gamer、YMKFT、Dysilia YDC等人，介紹這部好作品給台灣觀眾。\n小感慨：2020年我5萬訂閱的Youtube翻譯頻道被ban，連帶拍過的珍貴遊戲實況也失去。多年後再回去看那些散落在網路上的碎片（包含盜我頻道影片而倖存下來的備份），就頗能體會到第一集國王的悲傷心情。\n第1集「淪陷的王國」Fallen Kingdom # 第一集非原創曲，而是翻唱Coldplay - Viva la Vida\n交代故事背景，國王在殘骸到處遊走，回想過去的榮光。\n2011年，s2011131翻譯的時候，把這集翻作「亡國亡君」。但續集證明他根本沒死 ==\n第2集「奪回那一夜」Take back the night # 城堡裡疑似有生還者的跡象？原來是王子。\n","title":"「淪陷的王國」系列介紹 CaptainSparklez - Fallen Kingdom｜Minecraft歌曲翻譯","type":"minecraft"},{"content":" 關於方塊遊戲《Minecraft》當個創世神的資訊。主要分享基岩版(Bedrock)的資訊，少量Java版。\n從2013年開始玩Minecraft基岩版至今，喜好研究Add-On和模組方面的技術，還有翻譯過一些Minecraft歌曲。\nJava版玩家ID：Ivon852_G。基岩版Xbox玩家代號：Ivon852\n","date":"2024年12月13日","externalUrl":null,"permalink":"/categories/minecraft/","section":"分類","summary":" 關於方塊遊戲《Minecraft》當個創世神的資訊。主要分享基岩版(Bedrock)的資訊，少量Java版。\n從2013年開始玩Minecraft基岩版至今，喜好研究Add-On和模組方面的技術，還有翻譯過一些Minecraft歌曲。\nJava版玩家ID：Ivon852_G。基岩版Xbox玩家代號：Ivon852\n","title":"Minecraft","type":"categories"},{"content":"","date":"2024年12月13日","externalUrl":null,"permalink":"/tags/minecraft-music/","section":"標籤","summary":"","title":"Minecraft Music","type":"tags"},{"content":"Add events calendar view to Hugo website.\n一直以來，要紀錄自己成長的軌跡，我會去翻Github Activity，就是會在首頁顯示開發活動的歷程的圖表。不過老實說這個一點都不準確，這個圖表是以儲存庫更新的次數計算的，這樣頂多知道哪幾天有推送部落格原始碼更新而已，不能準確的查到我在過去哪天寫了什麼文章。 是的，現在更新Github儲存庫我大多是寫文章而非寫code，萬一哪天我認真參與開發專案，這個活動歷程也就不能當我發文歷史的參考了。\n另外，我想要有一個方法，能夠翻閱回味十年以前發的文章（一講到這個，耳邊就響起了南拳媽媽 - 香草把噗的音樂）。我最早在網路上的發文大約可以追溯到2012年左右，做一個顯示所有文章的「Archives」頁面太醜了，需要一個月曆檢視的工具，可以快速帶我回到過去。\n因此想到要給Hugo網站加一個日曆/月曆/年曆功能。它必須要有標準日期檢視功能，並且可以快速跳轉月份、年份的按鈕。最為重要的是，該月曆不是手動排行程的行事曆，而是自動抓取Hugo網站所有發表的文章，並將超連結渲染在日期格子上。\n至於要怎麼做月曆，不必手刻，網路上已經有現成的函式庫FullCalendar能用了，只要將Hugo的文章列表作為JSON資料餵給FullCalendar，它就會自動產生一個互動式的月曆。\n做出來大概會像是這樣。我主要是做宏觀時間軸，因此只有開月曆與年曆的功能。 1. 建立專門的月曆頁面 # 採用page layout的作法來做一個專門放月曆的頁面。\n新增放月曆的頁面，放在網站根目錄/content/events-calendar/index.md，程式碼只有以下幾行 --- title: \u0026#34;月曆\u0026#34; description: \u0026#34;\u0026#34; layout: \u0026#34;events-calendar\u0026#34; --- 接著製作真正的layout page，放在網站根目錄/layouts/page/events-calendar.html 2. 加入FullCalendar元素 # 首先讓網站根目錄/layouts/page/events-calendar.html頁面繼承Blowfish主題的header與footer {{ define \u0026#34;main\u0026#34; }} //程式碼 {{ end }} 定義FullCalendar的CSS \u0026lt;style\u0026gt; #calendar { max-width: 800px; margin: 50px auto; padding: 0 10px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .fc-toolbar-title { font-size: 1.5em; font-weight: bold; } .fc-event { font-size: 0.8em; border-radius: 4px; padding: 2px; } .fc-header-toolbar { padding: 10px 0; } .fc-button { background-color: #007bff; border: none; border-radius: 4px; color: white; padding: 5px 10px; font-size: 0.9em; cursor: pointer; } .fc-button:hover { background-color: #0056b3; } .fc-button:disabled { background-color: #e0e0e0; color: #757575; } .event-tooltip { position: absolute; z-index: 10001; background-color:rgba(0, 0, 0, 0.5); border: 1px solid #ccc; padding: 10px; border-radius: 4px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); font-size: 0.9em; } } \u0026lt;/style\u0026gt; 加入FullCalendar的程式碼。官方文件有很多細項可以調整，這裡就只製作基本的功能。 \u0026lt;div id=\u0026#39;calendar\u0026#39;\u0026gt;\u0026lt;/div\u0026gt; \u0026lt;script src=\u0026#39;https://cdn.jsdelivr.net/npm/fullcalendar/index.global.min.js\u0026#39;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;script\u0026gt; document.addEventListener(\u0026#39;DOMContentLoaded\u0026#39;, function () { const calendarEl = document.getElementById(\u0026#39;calendar\u0026#39;); const calendar = new FullCalendar.Calendar(calendarEl, { initialView: \u0026#39;dayGridMonth\u0026#39;, // 預設檢視模式 locale: \u0026#34;zh-tw\u0026#34;, // 預設語言 contentHeight: 800, headerToolbar: { // 工具列 left: \u0026#39;prevYear, prev, next, nextYear, today\u0026#39;, center: \u0026#39;title\u0026#39;, right: \u0026#39;dayGridMonth,timeGridWeek\u0026#39; }, buttonText: { // 自訂翻譯 today: \u0026#39;今仔日\u0026#39;, month: \u0026#39;月\u0026#39;, week: \u0026#39;週\u0026#39; }, events: [ {{ range .Site.RegularPages }} // 讀取所有已發表的文章，變成JSON陣列 { title: \u0026#39;{{ .Title }}\u0026#39;, start: \u0026#39;{{ .Date.Format \u0026#34;2006-01-02\u0026#34; }}\u0026#39;, url: \u0026#39;{{ .RelPermalink }}\u0026#39; }, {{ end }} ], eventMouseEnter: function (info) { // 加入滑鼠懸浮就顯示完整標題的功能 const tooltip = document.createElement(\u0026#39;div\u0026#39;); tooltip.className = \u0026#39;event-tooltip\u0026#39;; tooltip.innerHTML = `\u0026lt;strong\u0026gt;${info.event.title}\u0026lt;/strong\u0026gt;`; document.body.appendChild(tooltip); tooltip.style.left = info.jsEvent.pageX + \u0026#39;px\u0026#39;; tooltip.style.top = info.jsEvent.pageY + \u0026#39;px\u0026#39;; info.el.addEventListener(\u0026#39;mouseleave\u0026#39;, function () { tooltip.remove(); }); } }); calendar.render(); }); \u0026lt;/script\u0026gt; 嘗試預覽網站。由於這是個獨立頁面，故需要打http://localhost:1313/events-calendar才能看到月曆。 FullCalendar的隱憂：\n把所有文章讀取並存成一個超長的陣列很難看，還是嵌在網頁裡的。 不適合手機閱讀。 參考資料 # 给Hugo 博客添加月历功能 - Yuanji\u0026rsquo;s Blog Calendar view? - Hugo support Documentation | FullCalendar ChatGPT撰寫的雛型 ","date":"2024年12月12日","externalUrl":null,"permalink":"/posts/hugo-add-events-calendar-view/","section":"所有文章","summary":"Add events calendar view to Hugo website.\n一直以來，要紀錄自己成長的軌跡，我會去翻Github Activity，就是會在首頁顯示開發活動的歷程的圖表。不過老實說這個一點都不準確，這個圖表是以儲存庫更新的次數計算的，這樣頂多知道哪幾天有推送部落格原始碼更新而已，不能準確的查到我在過去哪天寫了什麼文章。 是的，現在更新Github儲存庫我大多是寫文章而非寫code，萬一哪天我認真參與開發專案，這個活動歷程也就不能當我發文歷史的參考了。\n另外，我想要有一個方法，能夠翻閱回味十年以前發的文章（一講到這個，耳邊就響起了南拳媽媽 - 香草把噗的音樂）。我最早在網路上的發文大約可以追溯到2012年左右，做一個顯示所有文章的「Archives」頁面太醜了，需要一個月曆檢視的工具，可以快速帶我回到過去。\n因此想到要給Hugo網站加一個日曆/月曆/年曆功能。它必須要有標準日期檢視功能，並且可以快速跳轉月份、年份的按鈕。最為重要的是，該月曆不是手動排行程的行事曆，而是自動抓取Hugo網站所有發表的文章，並將超連結渲染在日期格子上。\n至於要怎麼做月曆，不必手刻，網路上已經有現成的函式庫FullCalendar能用了，只要將Hugo的文章列表作為JSON資料餵給FullCalendar，它就會自動產生一個互動式的月曆。\n做出來大概會像是這樣。我主要是做宏觀時間軸，因此只有開月曆與年曆的功能。 ","title":"使用FullCalendar給Hugo網站加入活動月曆，紀錄發文歷程","type":"posts"},{"content":"","date":"2024年12月10日","externalUrl":null,"permalink":"/tags/japan-self-defense-forces/","section":"標籤","summary":"","title":"Japan Self-Defense Forces","type":"tags"},{"content":"2018年看過，時隔幾年再重看《戰鬥妖精雪風》，我好像又看懂了很多東西。\n《戰鬥妖精雪風》的主題牽涉很多東西，關鍵字如下：人類的心、戰鬥機、AI、機器人、無人機、外星生命、現實的壓力等等。\n表面是在講，講人類與外星人JAM的戰爭。\n深層部份，是在探討「人」和「機器」的分野。整部作品一直在探討人和機器之間的關係。更確切的來說，是人與AI。 下面文章我會先簡介作品訊息，以及令人感興趣的空戰片段，最後再來討論作品主題。\n先來一首我最喜歡的原聲帶配樂〈森の妖精〉，1:30開始會有驚喜。\n1. 作品簡介 # 戰鬥妖精雪風 (戦闘妖精雪風，Sentou Yousei Yukikaze) 是2002年推出的OVA動畫，改編自神林長平的同名小說。動畫共5集，每集約50分鐘，由GNOZO公司製作。 故事講述在未知的菲雅利（FAIRY）行星上與未知的異星體迦姆（JAM）的戰鬥中，駕駛員深井零與座機雪風對神秘的敵人不斷地探詢與自我認識的過程。\n2005年出了一集擬人化OVA：《戦闘妖精少女 たすけて! メイヴちゃん》，將劇中登場的飛機全部變成美少女。 喔不你做了什麼，快把雪風變回去！其實這部動畫是官方惡搞作品，吐槽現在太多動漫作品了，人們不久之後就會遺忘之前迷戀的角色，每一季就換一個老婆，只有畫同人誌的愛好者們能繼續維持她們的存在。\n目前《戰鬥妖精雪風》沒有續作的計畫，官方只有釋出一部五分鐘的「Experimental Movie」概念影片而已。據說美國有意拍成真人電影但也沒下文。 如果想體驗《戰鬥妖精雪風》的操控快感，可以去玩2004年發售的PC遊戲《戦闘妖精雪風 ~ 妖精の舞う空 ~ 》，體驗一把作戰刺激感。遊戲還內附一本各式戰機插圖的解說手冊。 2. 空戰動畫的精彩之處 # 這部動畫最為人稱讚的就是擬真的細節。建議看的時候戴上耳機，細心品味沒有BGM，只有機械聲音的緊張戰鬥。\n劇中出現了許多科幻的戰鬥機，雖然設計細膩但跟現實中存在的戰鬥機長得有點差距。之所以會做這種奇特造型，是因為要打倒外星人，得搭載了超高科技的引擎以及武器系統才能與之抗衡。 Super Sylph FRX-00 Mave FA-2 Fand II AAC-03 Banshee III\n至於外星人JAM的戰機，動畫裡面把他們畫得像是巨型蝴蝶一樣。真身不明，只知道他們外觀會發出條紋亮光，還會模仿人類行動。 如果有興趣探究戰機的細節，除了買模型來組之外，還可以購買官方2024年出版的《戰鬥妖精雪風デザイナーズノート》，一探究竟。 「雪風」在劇中被稱為「戰術知性體」，是集合了戰場上經驗所開發出來的AI，搭載在飛機上協助飛行員完成任務。雪風機種原本是FFR-31MR Super Sylph，在被擊落之後自動轉移意識，機體換成了FRX-00 \u0026ldquo;Mave\u0026rdquo;。因為與JAM的戰爭損失太重，菲雅利空軍(FAF)想逐漸往無人化發展，但是雪風跟深井零的羈絆太深，在試飛中雪風耍脾氣，逕自掃射自軍機場的飛機（事後證明那是JAM混入菲雅利空軍內部的間諜），結果還是要有人駕駛才給開。\n再講空戰部份，劇中細節很多，GONZO的技術沒話說，2002年的動畫，透過3D技術，將噴射戰鬥機空戰做得非常寫實，再加上監督花了大把時間到日本自衛隊取材，使得《戰鬥妖精雪風》裡面空戰的特效畫面就像真人電影一樣，臨場感做得很逼真。\n即使劇情是在打外星人也沒有到過於科幻的地步，每集都有值得一看的空戰。劇中有時候是雪風自行判斷，不擇手段保護駕駛員，例如操控無人機撞擊敵人，或是把駕駛員彈射出去等等。有時候則是反過來，安撫雪風不要擔心，讓深井零操控戰機打倒敵人。從這裡能夠看出兩個生命的合作無間。\n例如第一集的雪風追擊JAM的畫面，峽谷裡面不斷傳來感測器的聲音。最後被核彈追尾的時候，由雪風代替人類使出高難度操作，倒轉機頭，用高速機砲打掉飛彈。 「因為雪風說，它是敵人。」\n關注細節，深井零相信雪風的判斷，決定擊落偽裝成友機的JAM，但距離太近，射控系統不給發射，雪風繞過限制，強制射出。這種值得玩味的細節還有很多，重看越多次就越能體會到動畫製作人員的用心。 第二集，高速俯衝，雪風原本想自爆，但被深井零阻止，改由駕駛員操控，丟掉油箱炸毀追尾的JAM，最後再由雪風拉起機頭。 第四集的看點是艦隊防空戰。JAM時隔多年再度入侵地球，防備不及的日軍根本不是JAM的對手，最先進的艦載機都慘遭擊落，連神盾艦飛彈齊發也擋不住進攻。 最後還是要靠雪風的「外星科技」才能打倒JAM。看看人家在外星待那麼久了，科技已經完全超越地球好幾光年了～ 引擎推力強大到能在航空母艦甲板翹孤輪。 第五集，大混戰，人類要逃回地球，這個場面非常震撼，空中航母由砲艇包圍，形成輪型陣。接著出動所有戰機兵力與擋在面前的JAM對抗，敵人的數量多得像是蚊子一樣。 這集雪風變成了可以獨立作戰，大殺四方的全能戰鬥機XD 先是待在FAF基地裡面擔當誘敵任務，還有自動執行對地攻擊，掃蕩JAM的複製人。 最後甚至操控身邊的無人機，以及全部空軍戰機，發射雷射和飛彈開無雙，幫助人類殺出一條血路。 本劇沒有女高中生開飛機，沒有飛天小褲褲，沒有賣肉，只有刺激硬派的戰鬥，看完十分過癮，這真的是近代日本繼1985年《空戰88區》之後最好的空戰動畫。\n老實說這部動畫的主題很模糊，要觀眾思考而不明確給答案，多虧有了動畫，用精彩空戰給人留下深刻印象。\n3. 劇情主題1：人與機器的關係 # 想知道更完整故事得去看小說原著，OVA交代的不夠全面，但起碼是環環相扣的。儘管只有5集，劇情有始有終，能隱約感知到動畫想傳達的主題。\n表面是在講，講人類與JAM的戰爭。\n深層部份，是在探討「人」和「機器」的分野。整部作品一直在探討人和機器之間的關係。更確切的來說，是人與AI。人和機器應當是互補的存在。\n這可以分兩個部份來探討，第一個是深井零與雪風，第二個是JAM與人類的關係。\n要認識深井零這個角色，可以從他人的看法來形塑印象。\n深井零因為擔任「特殊戰」任務的緣故，性格冷酷，雪風則是一部機器，乍看之下二者好像是相反的存在，究竟誰才是人類？誰又是機器？這方面問題在第三集有了初步探討。深井零原本對一切漠不關心，但一知道湯姆霍克是雪風的創造者之後態度丕變，便認同了他的存在（見父母的概念XD），改變了對人冷酷的性格。即使最後知道湯姆霍克是JAM做的複製人，依然希望他能一同回到基地。\n所以湯姆霍克才會說：「你果然是人類，你的心不會一直都是冰冷的。」 FAF的上層一直想用無人機取代現有飛機，負責主導計畫的隆伯特甚至叛變投向JAM了！但劇情又反轉，隆伯特了解到真相，擾亂了JAM的模擬計畫，試圖讓人類得以繼續生存下去。\n我想是有了與湯姆霍克接觸的改變，讓深井零在最後一集才會對隆伯特說出：「他是人類」的惋惜吧。（雪風：但是我可不同意，你想取代我？把你給炸爛！） 劇中，深井零跟雪風的關係密不可分，造就了人機一體，屬於超越了一切存在的複合生命體。軍醫透過對二人做心理分析，得出了這樣的結論。\n這裡有一個暗示兩人深情的橋段，第一集被禁飛的時候，深井零流淚，雪風也在默默漏機油的畫面。 在深井零的夢中，雪風是妖精一樣的女子形象，彼此之間隔著一個牢籠，鑰匙在深井零手上，彷彿只有他能駕馭她。這個牢籠在第五集傑克的夢中再度出現，暗示了深井零最後的命運。 深井零透過他人之口證明自己是人類，而雪風也透過軍醫的心理分析讓人知道自己不單只是機器而已。深井零和雪風兩個不同領域的生命，透過長時間的合作戰鬥，深刻的了解彼此。這種感情可能只有他們能了解，就連深井零的上司傑克，都不太能明白。\n這樣特殊的存在，自然會引起JAM的興趣。\n這部作品裡面，外星人JAM的真身不明，只能從劇中推測JAM可能是一種類似機器人的東西？人類和JAM之間互相接觸和模仿，試圖打倒對方，結果導致雙方越來越像彼此。\n《戰鬥妖精雪風》的劇情暗示無人機將主導未來空戰，就像電影《捍衛戰士：獨行俠》裡面Tom Cruise所感慨的一樣，以後人類飛行員就要被取代了。未來AI可以用來操控戰鬥機，以後就有AI投入戰爭了，或許那時會有任性的AI要求有人類駕駛員配合才給發動呢。\n人類為了跟JAM對抗，模仿JAM的技術。而JAM為了跟人類對抗，也嘗試模仿人類，這點從第一集就能看出端倪。首先，第一集人類研發了搭載JAM迷彩的戰機，敵方又出現了模仿人類戰鬥機外表的JAM。還有電腦螢幕上關於前線戰死者的消息，暗示了JAM製造的複製人早就侵入FAF內部。被擊落後歸來的深井零，可能也成為了JAM所做的複製人。所以在第三集，FAF上層為了一次消滅JAM的複製人，刻意派深井零開雪風去送死。但我們從湯姆霍克的口中，知道了深井零是確確實實的人類，擁有認知他人的感情，不是複製人。\n要打倒JAM，就只能透過機器人來作戰。可，JAM也是機器一般的存在，嘗試模仿人類，不斷改進自身的武器。那沒有人類參與的戰爭會走向什麼樣的結果呢？在測試飛行的時候雪風任意操控其他無人機進行掃射，可能就是對這問題的一種回答。 JAM似乎是機器一樣的存在，試圖複製機器後便嘗試複製人類。人類原本可以用核彈炸掉通路，斷絕JAM入侵地球的道路，卻因為貪求更多資源而繼續跟JAM的戰爭。後來才認知到，原來整個星球都是JAM模擬出來的陷阱。人類沒有在菲雅利星球繼續待下去的必要了，只好離開。 劇中人類說「JAM單純複製機器已經不能滿足了，轉而將目標放在人類這個不穩定的因素上」。所以JAM想要更加的了解人類，才會出現複製人。也因為這樣，JAM對人機一體的深井零與雪風產生了高度興趣。\n人類與機器的關係究竟為何，小至人與戰鬥機，大至人與外星人的戰爭，都在嘗試回答這個問題。\n人與機器之間的關係，應當是互補的存在。了解彼此之後，才能發揮到最大的益處。\n4. 劇情主題2：與現實的對抗 # 2018年的時候，我在已經倒掉的Xuite看過一篇網誌戰鬥妖精雪風：JAM到底是什麼？ @ 奇異的動漫影評區 :: 隨意窩 Xuite日誌分析，我只記得一部份內容：\n《戰鬥妖精雪風》劇情是在暗示人與現實的對抗，現實的痛苦是真正存在的，但是很多人假裝看不到，而主角是作為反抗者的存在，在與JAM的作戰中逐漸了解到人的本質。\n從大環境來看，JAM是確實跟人類在作戰的。可是自從JAM被趕回菲雅利星球，人類追擊過去建立基地後，地球方面的人們彷彿就忘記JAM的存在了，只有琳傑克森透過寫科幻小說的方式，向地球的人們傳達FAF在外星球作戰的故事。\n人類對近在眼前的威脅毫不知情，以為JAM被趕出地球後彷彿就不存在了，FAF的偉業無人知曉亦無人聞問。至於待在外星球的FAF，他們只得勇敢的面對威脅。\n第二集，JAM已經侵入人類內部，雪風跟深井零，透過遠距離心電感應的方式，攻擊停在跑道上的飛機，深井零大聲喊出：「JAM就在那裡，難道你們都沒看到嗎！？」 這段劇情能夠解釋我這段引用的說法，彷彿是一種暗示，人類不是單純在跟外星人對抗而已，而是與現實中的壓力對抗。講到人們心中的壓力，那很多都是來自外部的事情所造成的，那壓力可大可小，大致國家未來，小至個人前途，有些人會一笑置之，或是對默不吭聲，任由其蠶食鯨吞。\n起初，你以為能用冷靜沉著看待一切，但總有那些契機，能夠讓你逐漸開始相信人性，乃至於做到本來不可能做到的事情。那不單單只是手握操縱桿，擊落外星戰機罷了，而是能讓心之牢籠跟著開放的契機。\n你開始了與「現實」的接觸，嘗試了解對方的樣子，而對方也嘗試模仿你回應你。中間互有衝突，有時得勝，有時失敗。遭受一次一次的衝擊，像是被核彈炸爛一樣。可能導致人性逐步被抹滅，心境跌到谷底，在即將要撞到深淵的時候又拉起機頭，重新飛向天空。\n即使人們再怎麼冷酷，像是機器一般，然而你終究是人，接受與擁有認知他人的感情，為了能夠繼續前行，故要選擇成為真正的人，才能迎向期望的未來，隨著那凝結雲一路衝向自由的大空。 就算到最後，無人聞問你的功績，消失在外星球的彼方，周遭只剩下幻象，至少你的內心獲得了自我的滿足，肯定了自己的存在。\n這種解讀法，算是對《戰鬥妖精雪風》這部作品的一種超譯吧。我滿喜歡這種解釋的，故擴充加入自己的想法。\n5. 總結 # 這部是我推薦十分一看的空戰動畫，不只是因為戰鬥帥氣，還有背後若隱若現的人與機器主題，都值得觀眾深思。\n","date":"2024年12月10日","externalUrl":null,"permalink":"/posts/battle-fairy-yukikaze-review/","section":"Reviews","summary":"2018年看過，時隔幾年再重看《戰鬥妖精雪風》，我好像又看懂了很多東西。\n《戰鬥妖精雪風》的主題牽涉很多東西，關鍵字如下：人類的心、戰鬥機、AI、機器人、無人機、外星生命、現實的壓力等等。\n表面是在講，講人類與外星人JAM的戰爭。\n深層部份，是在探討「人」和「機器」的分野。整部作品一直在探討人和機器之間的關係。更確切的來說，是人與AI。 下面文章我會先簡介作品訊息，以及令人感興趣的空戰片段，最後再來討論作品主題。\n先來一首我最喜歡的原聲帶配樂〈森の妖精〉，1:30開始會有驚喜。\n1. 作品簡介 # 戰鬥妖精雪風 (戦闘妖精雪風，Sentou Yousei Yukikaze) 是2002年推出的OVA動畫，改編自神林長平的同名小說。動畫共5集，每集約50分鐘，由GNOZO公司製作。 故事講述在未知的菲雅利（FAIRY）行星上與未知的異星體迦姆（JAM）的戰鬥中，駕駛員深井零與座機雪風對神秘的敵人不斷地探詢與自我認識的過程。\n2005年出了一集擬人化OVA：《戦闘妖精少女 たすけて! メイヴちゃん》，將劇中登場的飛機全部變成美少女。 喔不你做了什麼，快把雪風變回去！其實這部動畫是官方惡搞作品，吐槽現在太多動漫作品了，人們不久之後就會遺忘之前迷戀的角色，每一季就換一個老婆，只有畫同人誌的愛好者們能繼續維持她們的存在。\n","title":"空戰動畫推薦：《戰鬥妖精雪風》，對現實的反擊，劇情分析","type":"review"},{"content":"Transfer files from Android phone to Linux desktop.\n適用版本：Ubuntu 24.04以上\n要傳輸大型檔案的時候，使用有線傳輸比較快。\n這篇文章Ivon將討論如何用USB線，將Android手機的檔案傳到Linux電腦。\n使用例，在Linux電腦檢視Android手機拍的照片。 Android有線傳檔案到Linux的方法，主要有二種。\n第一種是MTP協定 (Media Transfer Protocol)，Android 4以上系統的手機應當都有支援，不論插到什麼電腦都能讀取Android的檔案。不過MTP很慢，傳一堆小檔案的時候速度不理想。\n第二種是ADB工具 (Android Debug Bridge)，大部分Android手機都有支援，這個傳檔速度比MTP快很多。必須要在手機開啟開發人員選項，才能透過ADB傳輸檔案。\n1. 前置依賴套件 # 以Ubuntu系統來說，電腦端應該不用裝任何驅動程式，驅動含在Linux核心裡面，Android手機插上USB就會辨識到。\n為了保險起見，你可以先將Android手機插上電腦，再執行lsusb指令，確認電腦是否有認到Android手機，列表應該會出現Android手機型號。\n2. 使用MTP傳檔 # Linux桌面環境會透過一些服務幫你自動掛載MTP，有時候你可能要手動安裝套件。 例如GNOME桌面需要安裝gvfs：\nsudo apt install gvfs KDE Plasma桌面則是要裝kio：\nsudo apt install kio kio-extras 接著將Android手機插上電腦，點選通知欄訊息，確認有開啟「檔案傳輸」 開啟Linux的檔案管理器，通常手機會顯示在左側欄位，點進去就會看到Android手機的檔案了。 3. 使用ADB傳檔（命令行） # ADB是Android系統的開發工具，所以得使用指令操作。\n在Linux安裝ADB套件。這裡使用Ubuntu套件庫的版本，需要最新版本請到Android Platform Tools官網下載。 sudo apt install adb 在Android手機開啟「開發人員選項」。不同品牌位置不一樣，但基本上都是在系統設定→ 關於手機 → 版本號碼點五下就能開啟。\n進入開發人員選項，啟用ADB偵錯 將Android手機插上電腦。\n輸入以下指令，啟用ADB偵錯，在手機上同意偵錯\nadb devices 使用adb pull指令，將Android手機的檔案傳到Linux。例如我將Android的DCIM資料夾，複製到Linux的桌面 adb pull /sdcard/DCIM/ ~/桌面 反過來，使用adb push指令，將Linux電腦的檔案，傳到Android手機。 adb push ~/桌面/DCIM/picture.jpg /sdcard/DCIM/ 4. 使用ADB傳檔（圖形界面） # 如果你覺得ADB打指令不直觀，可以採用adbFS的作法，讓ADB成為FUSE檔案系統，掛載在Linux。這樣你就能用檔案管理器檢視Android的檔案了，速度比MTP還要快。\n參考spion/adbfs-rootless的指示安裝。\n將Android手機插上電腦，啟用ADB偵錯。\n執行以下指令，將Android手機掛載到~/droid目錄\nmkdir ~/droid adbfs -o rescan ~/droid 如此一來Linux的檔案管理器就能看到Android檔案，內部儲存空間位於/sdcard。 不用了之後取消掛載：\numount ~/droid 5. 將Android手機照片傳到Linux處理 # 這種傳檔方式是將Android手機當作數位相機，將手機照片匯入到照片管理程式處理，例如digiKam。\n將Android手機插上電腦，啟用PTP模式 開啟digiKam，點選匯入 → 相機，選取Android手機，匯入照片到digiKam的目錄。 ","date":"2024年12月9日","externalUrl":null,"permalink":"/posts/transfer-files-from-android-to-linux/","section":"所有文章","summary":"Transfer files from Android phone to Linux desktop.\n適用版本：Ubuntu 24.04以上\n要傳輸大型檔案的時候，使用有線傳輸比較快。\n這篇文章Ivon將討論如何用USB線，將Android手機的檔案傳到Linux電腦。\n使用例，在Linux電腦檢視Android手機拍的照片。 Android有線傳檔案到Linux的方法，主要有二種。\n第一種是MTP協定 (Media Transfer Protocol)，Android 4以上系統的手機應當都有支援，不論插到什麼電腦都能讀取Android的檔案。不過MTP很慢，傳一堆小檔案的時候速度不理想。\n第二種是ADB工具 (Android Debug Bridge)，大部分Android手機都有支援，這個傳檔速度比MTP快很多。必須要在手機開啟開發人員選項，才能透過ADB傳輸檔案。\n1. 前置依賴套件 # 以Ubuntu系統來說，電腦端應該不用裝任何驅動程式，驅動含在Linux核心裡面，Android手機插上USB就會辨識到。\n為了保險起見，你可以先將Android手機插上電腦，再執行lsusb指令，確認電腦是否有認到Android手機，列表應該會出現Android手機型號。\n2. 使用MTP傳檔 # Linux桌面環境會透過一些服務幫你自動掛載MTP，有時候你可能要手動安裝套件。 例如GNOME桌面需要安裝gvfs：\n","title":"Android手機傳檔案到Linux電腦，MTP與ADB使用教學","type":"posts"},{"content":"Transfer files from iPhone/iPad to Linux desktops.\n適用版本：Ubuntu 24.04以上\n大型檔案用USB傳輸線傳比較快，在Windows我們得透過iTunes才能將iPhone/iPad檔案傳輸到電腦。然而iTunes沒有Linux版本，用Wine跑問題也很多，所以我們得借助開源社群的力量來達成目標，那就是使用ifuse。ifuse工具隸屬於libimobiledevice，它能夠讓Linux讀取iPhone的相機膠卷，讓你把照片與影片傳到Linux電腦做進一步編輯。\nifuse還能讀取部份APP的共享資料夾。共享資料夾就是你在iPhone的「檔案APP」→ 我的iPhone所看到的那些資料夾，有些APP開放使用者檢視內部檔案，這些資料夾亦可以在iTunes的檔案共享界面看到。\n如圖，在Linux的GNOME桌面，檢視iOS的APP共享資料夾裡面的檔案，並將其傳輸到電腦。 ifuse本身要打指令掛載，除了用命令行跑ifuse以外，我們還能夠透過桌面環境提供的服務，自動掛載iPhone的目錄，省得打一長串指令。\n目前GNOME和KDE Plasma背後的常駐程式皆可以自動處理iPhone的掛載，掛載之後便能透過檔案管理器存取iPhone的檔案。\n下面討論用法。\n1. 前置依賴套件 # 以Ubuntu為例，請安裝libimobiledevice套件，並啟用usbmuxd服務。\n你可能會想了解一下ifuse指令用法，免得圖形界面沒反應的時候，才知道要怎麼除錯。\n2. 傳輸iPhone檔案 # GNOME # GNOME依賴gphoto掛載相機膠卷，並用gvfs掛載APP共享資料夾，請安裝以下套件： sudo apt install gvfs 將iOS裝置插入電腦USB孔，iOS裝置應會跳出「信任此電腦」的選項\n開啟Nautilus檔案管理器，點選左側的「iOS裝置名稱」或者「其他位置」，即可檢視iOS裝置的相機膠卷。請注意：不要從Linux電腦移動照片到相機膠卷，內容會亂掉。 至於iOS裝置的文件，可看到APP的共享資料夾。 KDE Plasma # KDE依賴kio-acp自動掛載，請安裝以下套件： sudo apt install kio kio-extras 將iOS裝置插入電腦USB孔，iOS裝置應會跳出「信任此電腦」的選項\n開啟Dolphin檔案管理器即可檢視檔案，DCIM是為相機膠卷。請注意：不要從Linux電腦移動照片到相機膠卷，內容會亂掉。 應用程式則是APP的共享資料夾。其他資料夾的檔案不要亂動嘿。 3. 匯入iPhone相機照片到Linux處理 # 將照片從iPhone匯入到Linux電腦。\niOS裝置插上Linux電腦後會被視為一個相機裝置，所以不需要從檔案管理器手動複製，你可以利用digiKam這類照片管理程式，直接從iOS裝置匯入所有照片，進行編修。\n以digiKam為例，點選匯入 → 選取相機 即可將iPhone的照片下載到digiKam的目錄處理。 ","date":"2024年12月9日","externalUrl":null,"permalink":"/posts/linux-ifuse-gui/","section":"所有文章","summary":"Transfer files from iPhone/iPad to Linux desktops.\n適用版本：Ubuntu 24.04以上\n大型檔案用USB傳輸線傳比較快，在Windows我們得透過iTunes才能將iPhone/iPad檔案傳輸到電腦。然而iTunes沒有Linux版本，用Wine跑問題也很多，所以我們得借助開源社群的力量來達成目標，那就是使用ifuse。ifuse工具隸屬於libimobiledevice，它能夠讓Linux讀取iPhone的相機膠卷，讓你把照片與影片傳到Linux電腦做進一步編輯。\nifuse還能讀取部份APP的共享資料夾。共享資料夾就是你在iPhone的「檔案APP」→ 我的iPhone所看到的那些資料夾，有些APP開放使用者檢視內部檔案，這些資料夾亦可以在iTunes的檔案共享界面看到。\n如圖，在Linux的GNOME桌面，檢視iOS的APP共享資料夾裡面的檔案，並將其傳輸到電腦。 ifuse本身要打指令掛載，除了用命令行跑ifuse以外，我們還能夠透過桌面環境提供的服務，自動掛載iPhone的目錄，省得打一長串指令。\n目前GNOME和KDE Plasma背後的常駐程式皆可以自動處理iPhone的掛載，掛載之後便能透過檔案管理器存取iPhone的檔案。\n下面討論用法。\n1. 前置依賴套件 # 以Ubuntu為例，請安裝libimobiledevice套件，並啟用usbmuxd服務。\n","title":"iPhone傳檔案到Linux電腦，使用GNOME與KDE的檔案管理器整理檔案","type":"posts"},{"content":"","date":"2024年12月9日","externalUrl":null,"permalink":"/tags/itunes/","section":"標籤","summary":"","title":"ITunes","type":"tags"},{"content":"離線安裝Ubuntu的Snap軟體，將之變成可在離線環境部署。 1. Snap的問題 # SnapCraft/Snap Store為Canonical經營的Linux應用程式商店，收錄了各式各樣的軟體，全部使用Snap格式打包，方便使用者從統一的商店下載更新。\n當你執行snap install指令的時候，系統多半都是從Snap Store下載套件的。\n不過Snap Store伺服端是閉源軟體，很多Linux用戶會拿這點攻擊，認為Canonical想壟斷市場，透過這招把人跟Ubuntu的生態系綁死，不如Flatpak的Flathub要開放。\n但是你知道嗎，Snap其實是可以離線安裝的。根據Snap的官方文件指出，Snap安裝檔並非強制透過Snap Store分發，使用者能夠用指令安裝其他來源的Snap套件。\n為了消除大家的疑惑，The Register的記者直接在2023年Ubuntu Summit活動詢問官方開發者關於Snap離線安裝的問題，並獲得了肯定的答案。Canonical shows how to use Snaps without the Snap Store\n這代表什麼呢？你能夠下載Snap檔案，拷貝到隨身碟，再放到不能聯網的Ubuntu環境安裝，當作一種可攜式軟體使用。\n還有，Snap Store理論上是能夠自架的，不存在被Canonical壟斷的問題。可惜目前幾乎沒有人這樣幹，所以目前收錄最多Snap軟體的網站依然是Snap Store。\n2. 準備Snapd # Snap套件的副檔名為.snap，使用SquashFS打包，內含程式二進位檔和依賴套件，還有一個. assert檔案，內含數位簽章與權限資訊。\n要安裝Snap套件的電腦必須先裝有Snapd。\n儘管理論上可以將Snap解壓縮把二進位檔直接拿出來跑，但是這樣會有動態連結檔路徑的問題，故我們這裡不討論這種玩法。\n建議還是裝Snapd，負責管理Snap套件。Ubuntu 16.04以上系統應該就有內建Snapd了。\n3. 離線安裝Snap套件 # 然後要取得Snap套件。Snap套件要怎麼取得呢？大部分開發者會選擇把Snap套件上傳到Snap Store，比較少會單獨提供snap套件的。\n因此這裡就有兩種安裝路徑。\n從Snap Store下載套件並安裝 # 你可以從Snap Store下載Snap，但不要安裝到目前的系統。\n所有的軟體都依賴Ubuntu Core，所以必須先下載這個Snap套件\nsnap download ubuntu-core 接著再下載你要的應用程式套件，例如Firefox\nsnap download firefox 下載會得到若干.snapt副檔名的依賴套件，還有.assert副檔名的數位簽章。\n. ├── ubuntu-core_1797.assert ├── ubuntu-core_1797.snap ├── firefox_5361.assert └── firefox_5361.snap 把這些檔案複製到另一部Ubuntu電腦。\n再用以下指令，匯入數位簽章\nsudo snap ack ubuntu-core_1797.assert sudo snap ack firefox_5361.assert 再安裝Snap套件\nsudo snap install ubuntu-core_1797.snap sudo snap install firefox_5361.snap 從其他網站下載Snap套件安裝 # 部分開發者會在GitHub提供.snap安裝檔，而不是叫你到Snap Store下載，例如\u0026hellip;\u0026hellip;額，我還真找不到幾個開發者這樣幹的XD\n這種的Snap套件通常沒有數位簽章，所以你在安裝的時候要加上--dangerous參數，強制安裝。\nsudo snap install \u0026lt;.snap檔案\u0026gt; --dangerous 4. 更新離線安裝的Snap套件 # 如果是從Snap Store下載的Snap套件，未來會由Snapd自動更新。\n使用--dangerous參數安裝的套件不會收到自動更新，必須重新安裝新版本。\n另外，Snapd的自動更新可以用這個指令關掉：\nsudo snap refresh --hold 5. 自架Snap Store # Snap Store理論上是能夠自架的，可以作為企業或組織內部分發軟體的管道，請參考Dedicated Snap Stores\n還有比較特殊的用法，你想從Snap Store下載軟體，但是又不想更新太頻繁，那麼你就可以用快取工具Snap Store Proxy自訂更新時間。\n","date":"2024年12月9日","externalUrl":null,"permalink":"/posts/snap-offline-installation/","section":"所有文章","summary":"離線安裝Ubuntu的Snap軟體，將之變成可在離線環境部署。 1. Snap的問題 # SnapCraft/Snap Store為Canonical經營的Linux應用程式商店，收錄了各式各樣的軟體，全部使用Snap格式打包，方便使用者從統一的商店下載更新。\n當你執行snap install指令的時候，系統多半都是從Snap Store下載套件的。\n不過Snap Store伺服端是閉源軟體，很多Linux用戶會拿這點攻擊，認為Canonical想壟斷市場，透過這招把人跟Ubuntu的生態系綁死，不如Flatpak的Flathub要開放。\n但是你知道嗎，Snap其實是可以離線安裝的。根據Snap的官方文件指出，Snap安裝檔並非強制透過Snap Store分發，使用者能夠用指令安裝其他來源的Snap套件。\n為了消除大家的疑惑，The Register的記者直接在2023年Ubuntu Summit活動詢問官方開發者關於Snap離線安裝的問題，並獲得了肯定的答案。Canonical shows how to use Snaps without the Snap Store\n這代表什麼呢？你能夠下載Snap檔案，拷貝到隨身碟，再放到不能聯網的Ubuntu環境安裝，當作一種可攜式軟體使用。\n","title":"離線安裝Ubuntu Snap格式的軟體套件，繞過Snap Store","type":"posts"},{"content":"Set default applications for opening x file type on Linux desktop using xdg-mime and xdg-open.\n有時候同一種類型的程式裝太多，就會在開啟檔案時出現預設程式錯亂的問題。\n比如你在Ubuntu KDE的檔案管理器點選MP4，跳出來的應該是「VLC播放器」 若是再裝了MPV播放器、Haruna播放器、神龍播放器等等，新的播放器可能就會建立檔案關聯，覆蓋寫你原有的設定，導致下次點MP4的時候跳出其他影片播放器。\n這時你要手動按右鍵設定預設程式，重新指定開啟MP4的程式為VLC。 這些都還好處理，但如果是那些沒有圖形界面能指定的畫面呢？例如在Firefox瀏覽器的下載列表開啟檔案，沒有讓你選擇應用程式的餘地，可能會開到錯誤的檔案管理器，要怎修改呢？\n這個時候你就要了解Linux桌面環境是如何確定開啟檔案的預設程式的。不論什麼桌面環境，都是遵照FreeDesktop制定的「XDG MIME」的標準，用於告訴系統，什麼副檔名要用什麼程式開。它亦能夠設定要用哪個程式開啟特定的一組URL。\nXDG MIME的設定檔主要存在~/.config/mimeapps.list，該檔案對整個Linux系統的程式都有效。甚至連透過Wine執行的exe都能吃到XDG MIME所設定的預設應用程式。\n下面Ivon講解如何調整Linux的預設應用程式。\n1. 用圖形界面修改預設開啟程式 # 在圖形界面做的修改通常會寫入到~/.config/mimeapps.list。\nGNOME # 開啟系統設定 → 預設應用程式\nGNOME圖形界面能調整的預設程式不多，只能指定幾款，其他要手動用xdg-mime指令編輯。 KDE Plasma # 開啟系統設定 → 應用程式 → 檔案關聯\nKDE的調整選項比較細緻，可以詳細針對檔案類型個別設定。 2. 用xdg-mime指令修改預設開啟程式 # xdg-mime指令用於修改預設程式，而實際告訴桌面環境要執行哪個程式的指令是為xdg-open。部份程式會透過執行xdg-open指令來達到符合桌面環境預設應用程式的效果，而非寫死只執行特定路徑的二進位檔。\n一個程式可以開啟什麼格式的檔案，通常是透過Desktop Entry的MimeType值定義的，參見Desktop Entry解說\nxdg-mime使用網際網路媒體類型(MIME)來區分檔案類型，FreeDesktop有維護一份XML資料庫，定義已知的檔案類型，通常該資料庫會裝在Linux系統的/usr/share/mime/目錄。使用者可以自定義新檔案類型。\n使用xdg-mime指令，確認你的檔案是什麼MIME類型\nxdg-mime query filetype \u0026#34;/home/user/Videos/video.mp4\u0026#34; 例如我這裡要修改MP4開啟的預設程式，他的MIME類型叫做video/mp4\n列出開啟MP4檔案的預設程式，它列出的應該是Desktop Entry的名稱，而非二進位檔路徑。\nxdg-mime query default video/mp4 # 範例輸出： mpv.desktop 到/usr/share/applications/或~/.local/share/applications/尋找你要使用的程式的Desktop Entry名稱，例如VLC是為vlc.desktop ls /usr/share/applications 修改開啟MP4的預設程式為VLC xdg-mime default vlc.desktop video/mp4 指令所作的修改會寫入到~/.config/mimeapps.list，你可以手動編輯該檔案。\n開啟你的檔案管理員，試試預設程式有無變更吧！\n3. 利用xdg-open指令測試預設程式 # xdg-open指令是讓應用程式開啟使用者定義的預設應用程式的方法。這讓開發者不需要寫死應用程式路徑，而是能讓使用者自由選擇要用哪個程式開啟檔案或者URL。\n比如從Chrome瀏覽器網頁開啟Spotfiy的連結，要跳轉到應用程式商店，就會出現「要開啟xdg-open嗎？」的提示。 你可以用xdg-open指令來開啟檔案，測試預設應用程式的行為是否正確。例如我這裡開啟一個.mp4檔案，它應該會讀取使用者的XDG MIME設定，然後開啟VLC播放。\nxdg-open \u0026#34;/home/user/Videos/video.mp4\u0026#34; 如果沒有xdg-open，你就得明確指定用vlc指令開啟.mp4，才會用VLC播放了！\nvlc \u0026#34;/home/user/Videos/video.mp4\u0026#34; 參考資料 # xdg-mime - Portland - Freedesktop.org Association between MIME types and applications - Freedesktop.org Specifications XDG MIME Applications - Arch Wiki ","date":"2024年12月3日","externalUrl":null,"permalink":"/posts/linux-desktop-set-default-applications/","section":"所有文章","summary":"Set default applications for opening x file type on Linux desktop using xdg-mime and xdg-open.\n有時候同一種類型的程式裝太多，就會在開啟檔案時出現預設程式錯亂的問題。\n比如你在Ubuntu KDE的檔案管理器點選MP4，跳出來的應該是「VLC播放器」 若是再裝了MPV播放器、Haruna播放器、神龍播放器等等，新的播放器可能就會建立檔案關聯，覆蓋寫你原有的設定，導致下次點MP4的時候跳出其他影片播放器。\n這時你要手動按右鍵設定預設程式，重新指定開啟MP4的程式為VLC。 這些都還好處理，但如果是那些沒有圖形界面能指定的畫面呢？例如在Firefox瀏覽器的下載列表開啟檔案，沒有讓你選擇應用程式的餘地，可能會開到錯誤的檔案管理器，要怎修改呢？\n這個時候你就要了解Linux桌面環境是如何確定開啟檔案的預設程式的。不論什麼桌面環境，都是遵照FreeDesktop制定的「XDG MIME」的標準，用於告訴系統，什麼副檔名要用什麼程式開。它亦能夠設定要用哪個程式開啟特定的一組URL。\nXDG MIME的設定檔主要存在~/.config/mimeapps.list，該檔案對整個Linux系統的程式都有效。甚至連透過Wine執行的exe都能吃到XDG MIME所設定的預設應用程式。\n下面Ivon講解如何調整Linux的預設應用程式。\n","title":"如何修改Linux開啟檔案的預設程式 (XDG MIME Applications)","type":"posts"},{"content":" 本文では、Ivonである私がLinuxデスクトップとしてGNOMEよりKDE Plasmaを好む理由を論じる。できるだけ先に客観的な角度から両者の違いを比較し、その後で極度に主観的な個人意見へ移る。\n現在のLinuxディストリビューションには、ユーザーが選べるデスクトップ環境が20種類以上ある。その中で最大勢力が「GNOME」と「KDE Plasma」だ。下の図を見ると、両者のデザイン言語が大きく異なることがわかる。 上がGNOME 47、下がKDE Plasma 6.3\nLinuxの高い自由度のおかげで、Linuxでは複数のデスクトップ環境を共存させることができる。しかし多くの人は、システムをインストールしたときに一緒に入ったデスクトップをそのまま使い慣れるのではないだろうか？インストール過程で自分で組み立てる必要がある「Arch Linux」でも同じだ。\nデスクトップ環境は、Linuxコンピューターを使う体験を大きく左右する。だから自分に合うデスクトップを選ぶことは非常に重要だ。\n私は複数のコンピューターにLinuxを入れ、GNOMEとKDE Plasmaデスクトップを試してきた。数年にわたって何度も比較した結果、今後好むデスクトップ環境についての選択はこうなった：distro-hoppingするなら、KDE Plasmaを最優先に考え、GNOMEはその次。つまりデスクトップ環境を入れるなら、一律にKDE Plasmaを主軸にする。 Source: https://www.reddit.com/r/linuxmasterrace/comments/tj03r4/totally_unbiased_meme_that_isnt_going_to_make/\nなぜ私がそう考えるのか？以下を見てほしい。\nここで言及するGNOMEとKDEデスクトップは、いずれも「原版無改造」のvanilla版を指す。Ubuntuのように重度にpatchされたものは含めない。\nまず面白い統計データから始めよう。Arch Linux公式サイトにはデスクトップ環境パッケージのインストール数統計があり、KDEは2018年以降、ダウンロード数が徐々にGNOMEとXFCEを上回っていることがわかる。 1. GNOMEとKDE Plasmaの簡単な紹介 # まず、なぜ私がGNOMEとKDE Plasmaだけを考慮するのかを説明する：西瓜偎大邊（Si-kue uá tuā pîng）、つまり大きい側に寄るということだ。多くの人が使うものだけが、最も即時のサポートを得られる。Linuxに他のデスクトップ環境が存在することは知っているが、申し訳ない。この文章では討論しない。\n次に市場占有率について話そう。GNOMEとKDE Plasmaはいずれも歴史の長いデスクトップ環境だ。GNOMEは1999年に最初のバージョンをリリースし、KDEは1998年にリリースされた。後にKDEは大型プロジェクトの名称となり、デスクトップ環境について討論するときはKDE Plasmaという名称を使う。ここから、KDEはGNOMEより先に開発されていたことがわかる！\nしかし初期のKDEは、QT社のライセンス条項が十分に自由ではなかったため、開発者から警戒されていた。Trolltech社の最初期のQTバージョンのライセンスはFreeQt Licenseであり、これは自由ソフトウェアライセンスと互換性がなかった。KDEの大部分のコンポーネントはQTで書かれているため、ライセンス問題のあるコンポーネントに依存するのは非常に危険で、不必要な法的問題を生む可能性があった。これが間接的にGNOMEの誕生を促した。GNOMEは主にGTKで開発され、GPLライセンスを採用したため、各大企業はGNOMEを主要デスクトップ環境として採用した。ただし、QT社は後に条項を修正し、すでにライセンス問題はなくなっている。KDE PlasmaデスクトップのライセンスはGPL + LGPL + BSDの混合式になった。現在、この二つのデスクトップ環境はいずれも自由ソフトウェアであり、ライセンス問題はない。\n上記のライセンス条項の要因もあってか、時が経つにつれ、市場にある商用Linuxディストリビューションの半数以上がGNOMEをデフォルトデスクトップとして採用するようになった。Ubuntu、RHEL、SUSE Linux、System76 Pop!_OSなどがそうである。したがってGNOMEを Linuxシステムの顔 と言っても、まったく過言ではない。\nよく言われるのは、GNOMEのコードは民間のオープンソースコミュニティだけでなく、RedHatやSUSEのような大手商業企業からの支援とメンテナンスも受けているということだ。彼らはGNOMEを自社商用ディストリビューションのデスクトップとして使う。それは重要なサーバーへデプロイされるものでもあるので、開発者がプロジェクトをいい加減に扱うことはないはずだ（？）。GNOMEデスクトップは本来非常に安定しているべきで、そうでなければ商業企業からこれほど信頼されるはずがない。 GNOMEデスクトップが商用ディストリビューションから比較的好まれるもう一つの要因は、メンテナンスのしやすさだ。GNOMEプロジェクトは6か月ごとに固定で大バージョンをリリースし、デスクトップ全体とSDKを同期して発表するため、開発者が進度に追いつきやすい。これに比べてKDE Plasmaの新バージョンスケジュールは固定されておらず、PlasmaデスクトップとKDE Gearのリリース時期もずれているため、開発者が追いつきにくい。さらに、KDE Plasmaプロジェクトの複雑さはGNOMEプロジェクトの数倍であり、あまりに巨大な作業量は開発者にとって負担が大きい。そのため商用Linuxディストリビューションは、よりメンテナンスしやすいGNOMEデスクトップ環境を選びがちである。\nこの2020年の図表を見ると、GNOMEの上位開発貢献者はいずれも聞き慣れた大企業であることがわかる。もっともDebianコミュニティの比率も高い。出典 GNOMEはすでに事実上のLinuxデスクトップ標準になっているようだ！\n一方、KDEはより民間コミュニティ寄りである。企業スポンサーはあるものの、世界各地の開発者が互いに協力して得た成果であるように見える。そしてKDE Plasmaを採用する商用LinuxディストリビューションはGNOMEより少なく、有名なのはopenSUSE、Kubuntu、SteamOS、Tuxedo OSくらいだ。古いMandriva Linuxはもう死んでいる。\n上で述べたように、KDE PlasmaのデスクトップはGNOMEと比べて複雑だ。では、このように巨大で複雑な状況で、プロジェクトはどのように進行を維持しているのか？\n実はKDEは全球コミュニティの協調を非常に重視しており、それによってプロジェクトが極端に混乱しないようにしている。各国にはKDEローカライズチームがあり、インターフェース翻訳を担当している。KDEコミュニティが作成した規則、マニュアル、ドキュメントも非常に詳細で、GNOME公式サイトの開発ドキュメントに劣らない。 以下の2020年の図表は、KDE貢献者数が年々増加しており、その多くが新しい血であることを示している。出典 KDEの貢献者数はずっと活発であり、各大LinuxディストリビューションにもKDEパッケージをメンテナンスする開発者が多くいる。つまりKDEもGNOMEと同じく、大型国際コミュニティによってメンテナンスされている。bugを見つける「目」が十分に多ければ、KDEが烏合の衆になる心配はない。\nただし商業企業にリソースを投入させ、自社ディストリビューション向けにKDE Plasmaデスクトップをメンテナンスしてもらうには、より厳しい課題に直面することになる。\n2. 安定性の比較 # デスクトップの安定性について言えば、私自身はArch Linuxを使っているが、GNOMEでもKDE Plasmaでもクラッシュは非常に少ない。デスクトップ環境がそこに置いてあるだけで、何もしていないのに勝手にクラッシュすることはない。重いグラフィック計算を走らせたり、仮想マシンを開いたり、大型ゲームを遊んだりしている状況でも、これらのデスクトップは余裕を持って対応できる。\nデスクトップ環境パッケージが安定しているかどうかは、やはり使っているディストリビューションのメンテナーの努力にかかっている。たとえばUbuntuとFedoraのKDE Plasmaは大型組織がメンテナンスしているため、bugが出てもすぐ修正される。あまりにもニッチなディストリビューションなら、いったい誰が責任を負うのか？\nただし認めなければならないが、KDE Plasmaでbugが出る確率は確かにGNOMEより少し高い。デスクトップコンポーネントが本当に複雑すぎるからだ。ものが多い状況では、bugが頻発するのも避けがたい。相対的に安定したデスクトップが欲しいなら、やはりGNOMEのほうがよい。\nX11からWaylandへの移行問題についても話しておく。GNOMEとKDE PlasmaはいずれもX11サポートが成熟しており、アプリケーションのスケーリングやマルチモニターサポートは開封してすぐ使える。通常、コマンドで調整する必要はない。\n将来のディスプレイプロトコル「Wayland」のサポートについては、最初はGNOME 40が先行していたが、後にKDE Plasma 6も追いついた。さらに一部のWayland新機能、たとえばHDRサポート、色管理、XWaylandスケーリングなどは、KDE PlasmaがGNOMEに先んじて実装し、ユーザーが最新技術を体験できるようにしている。\n3. 操作ロジックの比較 # GNOMEとKDE Plasmaの操作ロジックには根本的な違いがある。\nGNOME 3以降、現在の最新版GNOME 50に至るまで、その操作ロジックは伝統的なデスクトップ設計を捨て、WindowsやmacOS、さらには多くのLinuxデスクトップとも異なる設計へ進んだ。GNOMEのデフォルトはワークスペース中心で、生産性向上、get the things doneを主眼にしている。そのため設計は非常に簡潔で、多くのカスタマイズ項目を減らしており、インターフェースには独自の操作ロジックがある。あなたはそれに従わなければならない。my way or highwayだ。\n関連記事：Linux GNOME桌面使用心法，理解設計哲學與操作邏輯 私の理解では、GNOMEはユーザーに集中してほしいのだ。だから一つのワークスペースであまり多くのウィンドウを開くべきではない。ユーザーにウィンドウ管理をきちんと計画させ、余分なウィンドウをワークスペースへドラッグさせる（デフォルトでは画面右側にあり、自動で追加される）。そしてキーボードショートカットで切り替える。GNOMEはデフォルトで最大化・最小化ボタンがないため、不要なウィンドウは閉じる。大量のウィンドウを重ねて開かない。 GNOMEデスクトップはもともとウィンドウで埋め尽くされる。ウィンドウを最大化すると、余分な要素は消え、頭上の一本の横棒だけが時間表示用に残る。この設計ロジックのもとでは、GNOMEが「デスクトップ」にファイルを置かせないのも理にかなっている。だってウィンドウが壁紙をすべて隠しているのだから！ GNOMEを長く使っていると、GNOMEはとても退屈だと感じるようになる。これは実は悪いことではないかもしれない。無茶苦茶にいじる動機が減り、仕事に使う時間が増えるからだ。拡張機能を入れれば外観を少し変えられるとはいえ、GNOMEはデフォルトではほとんどカスタマイズするものがない。せいぜい壁紙を変えるくらいだ。\nWindows操作に慣れているユーザーは、GNOMEに適応しにくいかもしれない。以前のように大量のウィンドウを開き、タスクバーのアイコンをクリックしてプログラムを切り替える操作ロジックを捨てなければならない。\nではKDE Plasmaはどうか。昔から今まで変わっておらず、デフォルト操作はWindowsにかなり似ている。左下のスタートメニュー、下部のアプリケーションタスクバーなどだ。\nKDE Plasma 5以降、現代的な設計の雛形が確立され、それが最新版のKDE Plasma 6へ継承されている。\nただしKDE PlasmaがWindowsをパクったとは言わないでほしい。Windows 10の一部機能は、KDE Plasma 5のほうが先に出していたのだから。\nユーザーがデスクトップとやり取りする方法は、タスクバー上のアプリケーションアイコンをクリックして開き、そのまま作業を始めるというものだ。複数のウィンドウを重ね、その間を切り替えるのも難しくない。最下部にタスクバーがあり、すべてのプログラムのアイコンとサムネイルを表示してくれるからだ。 KDE Plasmaの機能はこれだけなのか？そんなわけがない！上でGNOMEにはワークスペースがあると述べたが、KDE Plasmaにも当然ある！しかもカスタマイズ性はさらに強い。マウスを左上角へ移動すると、全ウィンドウビューに入る。ここで仮想ワークスペースを追加できる。より正式な言い方では仮想デスクトップだ。 ユーザーは自由にワークスペースを追加し、ウィンドウを任意に配置できる。KDE Plasmaはすべてをあなたに渡し、操作モードを自由に選ばせてくれる。デフォルトのように一画面をウィンドウで埋めるのか、それともGNOMEのようにワークスペースを活用してウィンドウを整理するのか、好きに選べる。\nKDE Plasmaの機能は本当に多く、誰もが自分の操作ロジックを見つけられる。多くの人は見た目がWindows 10に似ているため、固定観念にもとづいて操作するが、実際にはさらに多くの機能が使える。たとえばワークスペース（Workspaces）はWindowsの仮想デスクトップに対応し、macOSのミッションコントロールにも少し似ている。デスクトップ左上角のホットコーナーをクリックすると、すべてのワークスペースのビューが現れ、複数のワークスペース間でウィンドウをドラッグできる。デュアルモニターがない人にとって、複雑なウィンドウを管理する良いツールである。\nKDE Plasmaにはさらに、活動（Activities）というものがあり、Windowsキー＋Qキーで呼び出せる。この活動はワークスペースとは別物で、各活動内のウィンドウ状態を保存できる。別の活動へ切り替えるたびに、前の活動のプログラムは一時停止され、状態が保存される。\nもし上記の操作がどれも気に入らないなら、KDE Plasmaパネルのカスタマイズモードを開き、タスクバー上のものを全部取り外して、自分の好きなウィジェットを配置すればいい！\nしたがってKDE Plasma環境では、ユーザーは好きな操作モードを自由に選べる。既定の設計に縛りつけられることはない。\n4. 付属アプリケーションの比較 # 付属アプリケーションの品質は、そのデスクトップが使いやすいかどうかを大きく左右する。そこに含まれるプログラムがユーザーに便利さを感じさせるのか、それとも最低限動けばよいだけなのかを見ればよい。\n付属アプリケーションについて語るなら、必ず「BLOATED」という話題に触れることになる。これはLinuxコミュニティがWindowsシステムをよく批判するときの言葉、つまりシステム肥大化である。\nこのときのGNOMEとKDE Plasma： 言っておくと、Arch Linuxには\u0026quot;package group\u0026quot;があり、そのデスクトップ環境関連のパッケージを一度にインストールできる。俗に言う全部入りセットで、ブラウザーからミニゲームまで全部入っているようなものだ。\n全部入りセットは「付属アプリケーション」にたとえられる。GNOMEとKDE Plasmaは、全部入りでインストールした場合、二つのデスクトップ環境はどちらも同じように太っている。パッケージサイズは3～5GB、起動時に占有するRAMは少なくとも1GBある。\n無理に比べるなら、KDE Plasmaデスクトップの依存パッケージはGNOMEよりかなり多い。なぜなら一部ディストリビューションのKDE全部入りセットには、元素周期表まで入っており、さらにKDEが自作した単語暗記ツールのようなものもあるからだ。そのため後でKDEを取り外すには多くの時間がかかる。 Arch Linuxはkde-applicationsのgroupだけで176個のパッケージがある\nArch Linuxはデスクトップ環境と付属アプリケーションを分けてインストールでき、ユーザーがあまり多くのものを入れずに済むようにしている。しかしこれらの付属アプリケーションを入れること自体は悪いことではない。ユーザーが便利に操作でき、追加でソフトウェアを入れなくても日常作業を処理できるからだ。\nアプリケーションの機能を比較すると、KDE系のアプリケーションは通常より多機能であり、GNOME系のアプリケーションの機能は全体的にかなり「精実」だとわかる。悪く言えば、GNOMEのプログラムはreference implementationのようなもので、非常に基本的な機能しかない。適当に代替品を探すだけで機能面では圧勝する。一方KDEにはこの種の問題が比較的少ない。KDEが開発した多くのプログラムは非常に使いやすく、他のデスクトップ環境へ持っていっても実用的だ。\nたとえば画像ビューアーEye of GnomeとKDE Gwenviewを比べてみる。Gwenviewの画像編集機能ははるかに便利で、ときにはGIMPを開かなくても画像を直せる。ではGNOMEはどうか？画像を回転してから保存する機能すらない！最新版GNOME 50になってようやく、画像エディターが少し改善された。 動画プレイヤーGnome TotemとKDE Dragon Playerの比較\u0026hellip;実はこの二つはどちらも使いにくい。 テキストエディターGNOME GeditとKDE Kateの比較。Kateはディレクトリ検索とGit編集機能を統合しているため、やや優れている。 GNOMEスクリーンショットツールとKDE Spectacleの比較。前者は後者に完全に叩きのめされる。Spectacleは遅延スクリーンショット、注釈、撮影後編集、クリップボードへのコピーなどの操作を実現できる。GNOMEでこのような複雑な操作を実現するのは根本的に不可能だ。 最後はソフトウェアストアの比較だ。現代人なら誰でも、Linuxシステムでスマホのようにぽちぽちクリックしてアプリケーションをインストールしたいと思うだろう。コマンドで大量のパッケージを入れるのではなく。幸い現在では、GNOMEでもKDE Plasmaでも、パッケージマネージャーをアプリケーションストアへ統合しており、ユーザーは便利にプログラムをダウンロードできる。しかしアプリケーションストアであっても、デスクトップごとに提供する体験はかなり異なる。\nGNOME SoftwareのインターフェースはKDE Discoverより少し見栄えがよい。 KDE Discoverはストアというよりソフトウェアカタログのように見える。 \u0026hellip;GNOME Softwareはインターフェースが少し見栄えするだけだ。GNOME Softwareでソフトウェアをダウンロードすると、明確な進捗バーがなく、クリックして中に入るとインストールしていないように表示されることもあり、固まったのかと誤解しやすい。全体的に反応が遅い。 KDE Discoverは完全にエンジニア風ではあるが、現在の進捗がわかる安心感は確かにある。速度と実用性の観点では、KDE Discoverの勝ちだ。 実際のところ、多くのプログラムについて私はデスクトップ環境全部入りセットの付属アプリケーションを使わず、別の代替品を探す。たとえば動画プレイヤーならVLCやMPV、スクリーンショットツールならFlameshot、画面録画ならOBS Studioなどだ。必ずしもデスクトップ環境が提供するプログラムにすべて依存する必要はない。しかし、デスクトップ環境のこうした基本プログラムがユーザー体験に影響するのは確かだ。なぜ一部のデスクトップ環境は、自前のプログラムをあれほど簡素に作り、ユーザーに代替品を探させるのだろうか？\nさらに重要なファイルマネージャーのインターフェース比較がある。これは次の節のテーマだ。\n5. ファイルマネージャーインターフェースの比較 # ファイルマネージャーはデスクトップ環境の重要な一部である。オフィス文書を処理するにしても、ハードディスク内の大秘宝を扱うにしても、毎日使うものなので、手になじむものを選ぶ必要がある。\nGNOME標準のファイルマネージャーはNautilus、KDEのものはDolphinという。\nNautilusには基本的なファイル閲覧、リモートディスクのマウント機能が含まれる。 これらはDolphinにもあり、しかもさらに強い。 たとえばファイルディレクトリ構造の表示はDolphinにしかできず、その美しさはtreeコマンドを超えている。 Dolphinでは、一つのウィンドウ内で左右分割ビューを開き、二つのディレクトリの内容を一度に確認することもできる。Dolphinは任意の第三者検索プログラムも統合でき、より効率的にディスクディレクトリを検索できる。\nKDE Dolphinはリモートディスクのマウント機能を「アドレス」欄の中へ隠したりせず、親切なグラフィカル案内設定を用意している。 ファイル選択器（file chooser）についても、Dolphinのほうが使いやすい。\nGTKのファイル選択器はここ数年になってようやくサムネイル機能を追加したが、まあまあという程度だ。 それでもDolphinほど使いやすくはない。Dolphinはファイル選択ダイアログ内で、リアルタイムにファイルの削除や変更ができる。 Linuxではxdg-mimeコマンドやXDG Desktop Portalを通じてファイルマネージャーを自由に切り替えられるとはいえ、実際にはデスクトップ環境と結合していることが多い。つまりアプリケーションがファイル選択器を表示するとき、GTKだけを呼び出し、Dolphinを呼ばない可能性がある。Firefoxはまだましで、環境変数GTK_USE_PORTAL=1を使い、Dolphinをデフォルトのファイル選択器として使おうと試みることができる。しかし他のアプリケーションでは必ずしもそうではなく、ハードコードされていてXDG仕様に従わないものもある。\nあるデスクトップ環境下でのアプリケーション操作習慣を、別の環境へ移して使うのは難しい。多くの場合、統合度を使い続けたときの気分の問題になる。GNOME NautilusはKDE Plasmaで操作するのに向いておらず、その逆も同じで、KDE DolphinはGNOMEと水が合わない。\n6. カスタマイズ性の比較 # GNOMEにはデスクトップにあるべき多くの機能が欠けている。彼らはこれによって操作が優雅になると言うが、実際には生産性を破壊している。\n私はr/unixpornのユーザーのように、極限まで美化して、ゼロからデスクトップをひねり出し、あらゆるコンポーネントを高度にカスタマイズしたがる人間ではない。ただ時々ちょっとした小物を追加したいだけなのに、GNOMEでは手順が非常に面倒で、必ず拡張機能を入れる必要があることに気づく。\n下図のように、GNOMEのアプリケーション一覧はスマホのように作られており、プログラムが多くなると探しにくい。 デフォルトのきれいなGNOMEは、拡張機能を何も入れないと本当に使い続けられない。ウィンドウに最小化・最大化ボタンがないことや、ワークスペース中心のモードに慣れろと言うなら、それは別に構わない。私もワークスペース中心の作業方法を試したことがある。しかしデフォルトGNOMEの画面上の機能は少なすぎる。 通常私はExtension Managerを開いていくつか拡張機能を入れ、こういう形に整えてようやく使えるようにする。たとえば左上角にアプリケーション分類メニューを開いてアプリケーションを探しにくい問題を解決し、右上角に入力メソッドインジケーターを入れてFcitx5の簡体字・繁体字出力を切り替えやすくし、さらに「デスクトップショートカット」機能を戻す。 拡張機能で解決できない操作があるなら、たいてい私はコマンドを打つしかない。\nせっかくグラフィカル環境を作るなら、人とシステムの相互作用を便利にするためであり、GUIで優雅にシステム設定を調整できるべきだ。極限まで簡素化されたインターフェースを渡され、簡単な項目を調整するだけでもコマンドを打たなければならないようなものではない。\nそれに比べて、KDEではよくわからない拡張機能を大量に入れる必要はない。内蔵のものだけで十分遊べる。デスクトップウィジェットをどう配置したいかは自由だ。画面上に見える要素は、すべて自由に分解・組み合わせでき、望む形に並べられる。 KDEのシステム設定では調整できる項目が多い。多くのコマンドライン操作をグラフィカル化しており、ファイアウォールまで統合されている。たとえ設定を壊しても、デフォルトへ戻すを一回押せばよい。 KDEは選択肢が多くて複雑に見えるかもしれないが、実際にはそうではない。一般ユーザーはデスクトップに入っても何かを調整する必要はなく、デフォルトのままで十分使いやすい。\nさらに、GNOMEにはKDEのようにアプリケーションアイコンを右クリックして、アプリケーション起動オプションを素早く編集する機能がない。 この機能はアプリケーションのインストール場所を見つけるのに非常に役立ち、追加の起動パラメータを入れることもできる。GNOMEで同じことをするなら、コマンドラインでdesktop entryファイルを編集しなければならない。 KDEでテーマやウィジェットをインストールするのも難しくない。KDEはシステムの各所に「ワンクリックでテーマをダウンロード」機能を追加しており、GNOMEのようにテーマを手動で展開して指定位置へ置く必要はない。 KDEはデスクトップのタスクバーウィジェットをすべて取り外して別のDockを入れることも止めない。さらには動態桌布引擎まで使える。自由度はかなり高い。\nただし共通認識として、私はデスクトップに物を置くのが好きではない。この点はKDEでもGNOMEでも同じなので、デスクトップウィジェットは置いていない。\nGNOMEの設計は実はタッチデバイスに非常に向いている。大きなアイコン、ジェスチャー対応など、タブレットやスマホなら悪くない使い心地になるだろう。しかし伝統的なデスクトップPCとして見るなら、私はやはりKDEのような使い方のほうが好きだ。\n7. GTKはQTに比べて本当に醜い # 美感。これは非常に主観的な段落である。GNOMEの設計は簡潔で一貫しており、KDEより見栄えがよいと考える人もいる。しかし私は、GNOMEの設計もそこまで完璧ではないと思っている。\nGNOMEの付属アプリケーションの多くはGTKで開発されている。GTK 3以前は少しスキューモーフィックなスタイルで、GTK 4以後はフラット化した。\nKDEはQTを採用しており、デフォルトテーマはBreezeという。QT5以後、全面的にフラット化した。\nGNOME標準のGTKテーマはAdwaitaという。ダークモードでは悪くないが、白は本当に見栄えが悪い。Ubuntuが改造したYaruテーマはぎりぎり許容できる。PopOSが開発したフラットスタイルは醜く、elementaryOSは無理にMacOSへ寄せている。ZorinOSはWindows方向へ行っているので、多くを語る必要はない。\nGNOMEが最新のGTK 4で書いたアプリケーションスタイルは、比較的受け入れやすい。QTと同じフラット化スタイルは見栄えがよく、たとえばこの新しいGNOME端末はKDE Konsoleより少し見栄えがよい。 しかし大量のGTKアプリケーションは、今も旧版GTK 3を使っている。たとえばFirefoxだ。下図のGTKとQTテーマ比較を見れば、どれほど醜いかわかる。 さらに互換性の問題もある。QTアプリケーションはKDEでは正常に見えるが、GNOMEへ行くと非常に醜くなる。これは私がGNOMEを使うことを妨げる要因の一つだ。それに比べて、KDEはGTKプログラムへの包容性が高く、GTKは優雅にQT風のテーマへ変換される。\n図のように、QTアプリケーションはGNOME環境下ではGTK風に変えられ、近くで見るとさらに醜くなる。 それに比べて、KDE下のGTKアプリケーションはとても自然に見える。GTKは自動的にQT風のテーマになる。旧版GTK 3のアプリケーションもそこまで見苦しくならない。 ではアイコンを変えればいいのでは？GNOMEもアイコンとテーマの変更には対応している。正直に言うと、GNOMEにBreezeアイコンを入れるにせよ、KDEにAdwaitaアイコンを入れるにせよ、どちらもかなりちぐはぐな組み合わせなので、私はそうしない。\nデスクトップ環境には自分自身の独特な美感があるべきで、後から大量のテーマを入れて美化しなければならないものではない。GNOMEとKDEはいずれも自分の美感を実現している。ただ私はKDEのスタイルをより好むだけだ。\n8. 結語 # 総じて言えば、不適切なたとえを使うなら、KDEの操作はWindowsに比較的近く、機能が多く、インターフェースのカスタマイズ性もより高い。\nGNOMEの操作はmacOSに近く、アプリケーションのスタイルが統一され、インターフェースはよりミニマルだ。\n私は、GNOMEがどれほど「簡潔で使いやすい」と強調しても、それはKDEの「便利で強力」には及ばないと思っている。\nLinuxユーザーには選択の自由がある。私がKDEを好むのは、自分のワークフローと習慣により合っているだけだ。GNOMEとKDEは、どちらかが死ぬまで競争する関係ではなく、それぞれ自分のターゲットユーザー層を持っているだけである。そして両者は互いに学び合い、統一標準を発展させ、Linuxデスクトップ環境のエコシステムを改善すべきだ。\n付録：KDEデスクトップ搭載Linuxディストリビューション # KDE公式Wikiの資料によれば、以下のLinuxディストリビューションはデフォルトでKDEデスクトップである：\nKubuntu（KDEデスクトップ ＋ Ubuntu LTSパッケージ、商業企業の支援あり、更新は比較的遅いが安定） KDE Neon（最新版KDEデスクトップ ＋ Ubuntu LTSパッケージ、KDE開発チームがメンテナンスし、最新機能を試したい、bugを恐れないユーザー向け） KDE Linux（immutable distro、KDE開発チームによる未来志向の作品） Tuxedo OS（TUXEDO Computers専用に作られたディストリビューション。KDE Neonに似ているが、デスクトップの安定性を確保する専門チームがある） Fedora KDE Spin Fedora Kinoite Bluefin Aurora Bazzite SteamOS CachyOS 以下のLinuxディストリビューションではKDEデスクトップを自分でインストールする必要がある。あるいは公式サイトのトップページで提供されるISOは、デフォルトではKDE搭載ではない：\nDebian Ubuntu Fedora openSUSE Arch Linux Manjaro Gentoo ","date":"2024年12月3日","externalUrl":null,"permalink":"/ja-jp/posts/kde-plasma-gnome-comparison/","section":"Posts","summary":" 本文では、Ivonである私がLinuxデスクトップとしてGNOMEよりKDE Plasmaを好む理由を論じる。できるだけ先に客観的な角度から両者の違いを比較し、その後で極度に主観的な個人意見へ移る。\n現在のLinuxディストリビューションには、ユーザーが選べるデスクトップ環境が20種類以上ある。その中で最大勢力が「GNOME」と「KDE Plasma」だ。下の図を見ると、両者のデザイン言語が大きく異なることがわかる。 上がGNOME 47、下がKDE Plasma 6.3\nLinuxの高い自由度のおかげで、Linuxでは複数のデスクトップ環境を共存させることができる。しかし多くの人は、システムをインストールしたときに一緒に入ったデスクトップをそのまま使い慣れるのではないだろうか？インストール過程で自分で組み立てる必要がある「Arch Linux」でも同じだ。\nデスクトップ環境は、Linuxコンピューターを使う体験を大きく左右する。だから自分に合うデスクトップを選ぶことは非常に重要だ。\n私は複数のコンピューターにLinuxを入れ、GNOMEとKDE Plasmaデスクトップを試してきた。数年にわたって何度も比較した結果、今後好むデスクトップ環境についての選択はこうなった：distro-hoppingするなら、KDE Plasmaを最優先に考え、GNOMEはその次。つまりデスクトップ環境を入れるなら、一律にKDE Plasmaを主軸にする。 Source: https://www.reddit.com/r/linuxmasterrace/comments/tj03r4/totally_unbiased_meme_that_isnt_going_to_make/\n","title":"KDE PlasmaとGNOMEデスクトップ比較、最終的に私はやはりKDE Plasmaを選ぶ","type":"posts"},{"content":"本文討論為何Ivon我偏好KDE Plasma勝過GNOME當Linux桌面的理由。我盡量先從客觀的角度來比較兩者差異，再過渡到極度主觀的個人意見。\n目前Linux發行版有20種以上的桌面環境供使用者選擇，其中最大宗的就是「GNOME」和「KDE Plasma」了。從下面這張圖就可以看出他們的設計語言差別巨大。 上為GNOME 47，下為KDE Plasma 6.3\n得益於Linux的高自由度，Linux可以多重桌面環境共存，但是大多數人都會習慣使用在裝系統的時候就裝的桌面吧？安裝過程需要自行組裝的「Arch Linux」亦同。\n桌面環境很大程度決定了使用Linux電腦的體驗，因此挑選一款適合自己的桌面非常重要。\n我在不同的電腦裝Linux，嘗試裝過GNOME和KDE Plasma桌面，經過幾年反覆比較後，得出了我未來偏好桌面環境的抉擇：若要distro-hopping，那就是以KDE Plasma為優先考量，GNOME次之。也就是說裝桌面環境一律以KDE Plasma為主。 Source: https://www.reddit.com/r/linuxmasterrace/comments/tj03r4/totally_unbiased_meme_that_isnt_going_to_make/\n為什麼我會這樣認為？請看下面分曉。\n這裡提及的GNOME和KDE桌面皆是指「原版無修改」的vanilla版，像Ubuntu這種重度patch的不算在列。\n先從一個好玩的統計資料開始。Arch Linux官方網站有統計桌面環境套件安裝量，我們可以發現KDE在2018年後下載量是逐漸超過GNOME和XFCE的。 1. 簡介GNOME與KDE Plasma # 首先講一下為何我只考慮GNOME和KDE Plasma的理由：西瓜偎大邊(Si-kue uá tuā pîng)，很多人用的東西才有辦法得到最即時的支援。我知道Linux還有其他桌面環境存在，但是很抱歉，這篇文章不會討論。\n接著來談市占率，GNOME和KDE Plasma都是歷史悠久的桌面環境了，GNOME在1999年釋出第一個版本，KDE則是1998年釋出，後來KDE變成一個大型專案的代號，要討論桌面環境的話會使用KDE Plasma這個名稱。從這裡可以觀察到KDE比GNOME要先開發呢！\n但是早期的KDE因為QT公司的授權條款不夠自由而被開發者忌憚，Trolltech公司最早的QT版本授權是FreeQt License，這與自由軟體授權不相容。因為KDE大部分組件都使用QT寫成，依賴有授權問題的組件是很危險的，可能會產生不必要的法律問題。這間接促使GNOME的誕生，主要使用GTK開發，採用GPL授權，各大公司遂採用GNOME作為主要桌面環境。不過，QT公司後來修改條款後已經沒有授權問題了，KDE Plasma桌面的授權變成了GPL + LGPL + BSD混合式。現在二個桌面環境都是自由軟體，沒有授權問題。\n可能因為上述授權條款因素，導致時間過去，市面上超過半數的商業Linux發行版採用GNOME作為預設桌面，包括Ubuntu、RHEL、SUSE Linux、System76 Pop!_OS，因此說GNOME是 Linux系統的門面 一點都不為過。\n常見的說法是，GNOME的程式碼除了民間的開源社群外，還有來自各大商業公司的支援維護，像是RedHat和SUSE，他們會將GNOME當作自家商業發行版的桌面，那可是要部署到關鍵伺服器上的，所以開發者不會隨便糟蹋專案(?) GNOME桌面理應是非常穩的才對，不然怎麼深受商業公司信賴。 還有一個因素讓GNOME桌面變得比較受到商業發行版青睞，那就是維護容易度。GNOME專案每六個月固定發表一個大版本，而且是整套桌面與SDK同步發表，方便開發者跟上進度。相較之下KDE Plasma新版本的排程不固定，Plasma桌面與KDE Gear的發表時間錯開，致使開發者不容易跟上。還有，KDE Plasma專案的複雜度是GNOME專案的好幾倍，過於龐大的工作量讓開發人員吃不消，所以商業Linux發行版偏好選擇較容易維護的GNOME桌面環境。\n參考這張2020年的圖表，你可以看到GNOME前幾名的開發貢獻者都是耳熟能詳的大公司，雖然Debian社群比重也很高就是了。資料來源 GNOME看來已是事實上的Linux桌面標準了！\n另一方面，KDE就是偏民間社群，雖有企業贊助，但似乎都是世界各地的開發者互相合作得來的成果。且採用KDE Plasma的商業Linux發行版較GNOME少，著名的只有openSUSE、Kubuntu、SteamOS、Tuxedo OS，古早的Mandriva Linux已經死翹翹了。\n上面說到，KDE Plasma的桌面相對GNOME來說比較複雜，那麼如此龐雜的情況要如何維持專案進行？\n其實KDE很強調全球社群的協調，使得專案不至於非常混亂，每個國家都有KDE在地化小組負責翻譯界面。KDE社群編寫的規則、手冊、文件也是十分詳細，跟GNOME官網的開發文件不相上下。 以下2020年的圖表顯示KDE貢獻者人數逐年增加，很多還是新血。資料來源 KDE的貢獻者人數一直都很活躍，各大Linux發行版都有許多開發者維護KDE套件，所以KDE跟GNOME一樣是大型國際社群在維護，只要抓bug的「眼睛」夠多，就不用擔心KDE會是一團散沙。\n只不過要吸引商業公司投入資源，給自家的發行版維護KDE Plasma桌面，那就會面臨比較嚴峻的挑戰。\n2. 穩定度比較 # 論桌面穩定度，我自己用Arch Linux，不論GNOME還是KDE Plasma都甚少崩潰，桌面環境不會擺在那邊，什麼都不做就自己崩潰。即使是在跑重度繪圖計算、開虛擬機、玩大型遊戲情況下，這些桌面能游刃有餘。\n桌面環境套件穩不穩定，還是要靠你使用的發行版維護人員的努力。譬如Ubuntu和Fedora的KDE Plasma因為有大型組織維護，所以出bug了都會馬上修復。若是太小眾的發行版，又要誰來擔責任呢？\n不過我得承認，KDE Plasma出現bug的機率確實比GNOME要大一些，因為它的桌面組件實在太複雜了，東西多的情況下難免bug頻發。要相對穩定的桌面，那還是GNOME要好。\n講一下X11過渡到Wayland的問題。GNOME和KDE Plasma對X11支援都很成熟了，應用程式縮放和多螢幕支援開箱即用，通常不需要指令調整。\n至於未來顯示協定「Wayland」支援度，一開始是GNOME 40領先，後來KDE Plasma 6也迎頭趕上了。甚至有些Wayland新功能，如HDR支援、色彩管理、XWayland縮放等功能，KDE Plasma是搶先GNOME實作的，讓使用者能體驗到最新科技。\n3. 操作邏輯比較 # GNOME與KDE Plasma的操作邏輯有根本上的不同。\n自從GNOME 3之後，到現在最新版的GNOME 50，它的操作邏輯就拋棄了傳統桌面的設計，走出了不同於Windows與macOS，甚至眾Linux桌面的設計。GNOME預設是工作區為主，主打提昇生產力，get the things done。所以設計很簡潔，減少許多自訂選項，界面有它的一套操作邏輯。你必須跟著它走，my way or highway。\n相關文章：Linux GNOME桌面使用心法，理解設計哲學與操作邏輯 我的理解是，GNOME希望使用者專注，所以一個工作區不能開太多視窗。它要使用者妥善規劃視窗管理，把多餘的視窗拖拉到工作區（預設是螢幕右側，它會自動新增），再透過鍵盤快捷鍵切換。GNOME預設沒有放大縮小鍵，因此不要的視窗就關掉，不要開一堆視窗重疊著。 GNOME桌面原本就被視窗塞滿了，當你點選視窗放到最大的時候，多餘的元素就會不見，只剩下頭頂的一根橫槓顯示時間之用。在這種設計邏輯之下，GNOME不讓你在「桌面」放檔案也是合情合理的，因為視窗都把桌布擋住了嘛！ 用久了GNOME，會覺得GNOME很無趣，這其實也不是壞事吧，讓你少了胡搞瞎搞的動力，有更多時間花在工作上。雖然能裝擴充套件稍微改變外觀，不過GNOME預設來說就是沒什麼好自訂的，頂多讓你換個桌布罷了。\n如果習慣Windows操作的用戶可能會不適應GNOME，必須拋棄以前開一堆視窗，然後點工作列的圖示來切換程式的操作邏輯。\n至於KDE Plasma呢，從以前到現在都沒有變過，預設操作很像是Windows，像左下角開始選單、底部應用程式工作列等等。\nKDE Plasma 5之後奠定了現代的設計雛型，並繼承到最新版的KDE Plasma 6。\n但請不要說KDE Plasma抄襲Windows呀，有些Windows 10功能還是KDE Plasma 5率先出現的。\n使用者跟桌面互動的方式，便是點選工作列上的應用程式圖示開啟，然後開始工作。你想要多個視窗重疊之後，在各個視窗之間切換都不是難事。因為最下方就一個工作列，會顯示所有程式的圖示和縮圖。 難道KDE Plasma功能就這樣而已嗎？才不呢！上面說到GNOME有工作區，KDE Plasma當然也有！自訂性更強。將滑鼠移動到左上角，便會進入全部視窗檢視。這裡就可以新增虛擬工作區。較為正式的說法是虛擬桌面。 使用者可以自由新增工作區，任意擺放視窗。KDE Plasma把東西都給你了，讓你自由選擇操作模式。看是要維持預設的一個畫面塞滿視窗，或者善用工作區的方式來整理視窗，就像GNOME那樣。\nKDE Plasma的功能真的很多，每個人都能找到自己的操作邏輯，很多人會因為長得像Windows 10就以固有觀念下去操作，不過其實有更多功能可以用。譬如工作區(Workspaces)對應Windows的虛擬桌面，又有點像macOS的指揮中心，點一下桌面左上角的熱角就會出現所有工作區的檢視畫面，能夠在多個工作區之間拖曳視窗，對沒有雙螢幕的人來說是一個管理複雜視窗的好工具。\nKDE Plasma還有一個叫做活動(Activities)的東西，按Windows鍵＋Q鍵喚醒。此活動跟工作區是不同的東西，每個活動裡面的視窗狀態是可以儲存下來的，每當切換到其他活動的時候，上一個活動的程式就會被暫停然後保存狀態。\n若以上操作你都不喜歡，就開啟KDE Plasma面板的自訂模式，把工作列的東西都拆光，自行擺放喜歡的元件吧！\n因此在KDE Plasma環境，使用者能夠自由選擇喜歡的操作模式，不會被既定的設計綁死。\n4. 附屬應用程式比較 # 附屬應用程式的品質，很大程度決定這個桌面好不好用。看看它的程式，是否能讓使用者感受到便利，抑或是基本能動就好了？\n講到附屬應用程式，我們一定會談到「BLOATED」這個話題，這是Linux社群常批評Windows系統的話：系統肥大。\n此時的GNOME和KDE Plasma： 我跟你說，Arch Linux有\u0026quot;package group\u0026quot;能一次裝該桌面環境的相關套件，俗稱全家桶，從瀏覽器到小遊戲全包的那種。\n全家桶可以類比為「附屬應用程式」，GNOME與KDE Plasma在安裝全家桶的情況下，二個桌面環境都一樣肥，套件大小3~5GB，開機佔用的RAM起碼都有1GB。\n硬要比的話，KDE Plasma桌面的依賴套件比GNOME多很多，因為有些發行版的KDE全家桶連元素週期表都有，還有一些KDE自己發明的背單字小工具，使得日後拆掉KDE要花很多時間。 Arch Linux光kde-applications的group就有176個套件\n儘管Arch Linux允許把桌面環境跟附屬應用程式拆開裝，讓使用者不要安裝太多東西，但裝這些附屬應用程式並不是壞事，他們能讓使用者方便操作，不需要額外安裝軟體便能完成日常事務的處理。\n若比較應用程式的功能，就會發現KDE系的應用程式通常是比較多功能的，GNOME系的應用程式功能普遍很「精實」。講難聽點，GNOME的程式像是參考實作(reference implementation)，只有非常基本的功能，隨便找個替代品功能都屌打。而KDE較少這種問題，KDE開發的許多程式都是非常好用的，放到其他桌面環境依然實用。\n諸如圖片檢視器Eye of Gnome對比 KDE Gwenview。Gwenview編輯圖片的功能要方便太多了，有時候甚至不用開GIMP就能修好圖。那麼GNOME呢？連旋轉圖片再存檔的功能都沒有！一直到最新版GNOME 50，圖片編輯器才稍微改進了一些。 影片播放器Gnome Totem對比KDE Dragon Player\u0026hellip;其實這二個都不好用啦。 文字編輯器GNOME Gedit對比KDE Kate。Kate整合搜尋目錄和Git編輯功能因此略勝一籌。 GNOME截圖工具 對比 KDE Spectacle。前者完全被後者屌打，Spectacle能達成延時截圖、標記、截圖後編輯、複製到剪貼板等操作，GNOME要達成這種複雜操作根本不可能。 最後是軟體商店比較。現代人誰何嘗不希望Linux系統能像手機點一點安裝應用程式，而不是用指令裝一堆套件。所幸現在不論是GNOME還是KDE Plasma，都將套件管理員整合到應用程式商店了，讓使用者能方便下載程式。但就算是應用程式商店，不同桌面提供的體驗也不太一樣。\nGNOME Software的界面比KDE Discover好看一點。 KDE Discover看起來像軟體目錄而非商店。 \u0026hellip;GNOME Software也就界面好看一點而已，GNOME Software下載軟體沒有明確的進度條，點進去還會顯示沒在安裝，很容易讓人誤以為卡死，整個回應緩慢。 KDE Discover雖然一整個工程師風格，可確實有讓人知道目前進度的安心感。從速度和實用性考量，KDE Discover勝出。 其實很多程式我是不會用桌面環境全家桶的附屬應用程式的，會另外找替代品，例如影片播放器我會找VLC、MPV，截圖工具有Flameshot，螢幕錄影有OBS Studio等。不一定要全部依賴桌面環境提供的程式。但，桌面環境這些基本的程式確實影響了使用者體驗。為什麼有的桌面環境要把自家程式做的很簡陋，逼使用者去找替代品呢？\n還有重要的檔案管理員界面對比，這是下一節要講的主題。\n5. 檔案管理員界面比較 # 檔案管理員是桌面環境重要的一環，不論是處理辦公文件還是硬碟裡面的大秘寶，每天都會用到，所以要挑個順手的來使用。\nGNOME預設的檔案管理員叫Nautilus，KDE的叫Dolphin。\nNautilus包含基本的瀏覽檔案、掛載遠端硬碟的功能。 這些Dolphin都有，還更強。 例如顯示檔案目錄結構只有Dolphin做的到，精美程度超越tree指令。 在Dolphin你還可以在一個視窗開啟左右分割視窗，一次檢視兩個目錄的內容。Dolphin尚能整合任意的第三方搜尋程式，更有效率的搜尋硬碟目錄。\nKDE Dolphin不會把遠端硬碟掛載的功能藏在「地址」欄位裡面，而是有貼心的圖形化引導設定。 在檔案選擇器(file chooser)方面，Dolphin也比較好用。\nGTK的檔案選擇器到最近幾年才加入縮圖功能，差強人意。 然而還是沒Dolphin好用。Dolphin能即時在選取檔案的框框內刪除、變更檔案。 即使Linux可以透過xdg-mime指令或者XDG Desktop Portal自由切換檔案管理員，但是常常是跟桌面環境耦合在一起的，意即應用程式在出現檔案選擇器時可能只會呼叫GTK而非Dolphin。Firefox還好些，可以用環境變數GTK_USE_PORTAL=1試圖使用Dolphin當預設的檔案選擇器，但是其他的應用程式就不見得是這樣的了，有些還是硬編碼的，不遵守XDG規範。\n一個桌面環境下的應用程式操作習慣是很難移動到另一個環境使用的，更多的是整合度用下來，奇檬子的問題。GNOME Nautilus不適合在KDE Plasma操作，反之亦然，KDE Dolphin與GNOME水土不服。\n6. 自定義程度比較 # GNOME缺少了很多桌面該有的功能，他們說這是讓操作變得優雅，但其實是在摧毀生產力。\n我不是那種像r/unixporn的用戶喜歡玩極致美化、從頭尻出桌面、什麼元件都要高度自訂的人，只是有時候想加一些小工具，卻發現GNOME步驟十分麻煩，一定需要裝擴充套件。\n如下圖，GNOME應用程式列表搞的像手機一樣，程式一多很難找。 預設乾淨的GNOME不加任何擴充套件真的用不下去。要我習慣視窗沒有縮小、放大鍵，以及以工作區為主的模式我沒意見，我有嘗試過以工作區為主的工作方式，可是預設GNOME畫面上的功能太少了。 通常我會開Extension Manager抓一些擴充套件，把它整成這樣才用的下去。例如開左上角的應用程式分類選單解決應用程式不好找的問題、安裝右上角的輸入法指示器方便切換Fcitx5的簡繁輸出，以及將「桌面捷徑」的功能加回來。 若有擴充套件不能解決的操作，那我通常就是得打指令了。\n既然都做圖形環境了，就是要方便人與系統互動的，能夠用GUI優雅的調整系統設定，而不是給你一個精簡到家的界面，連調整個簡單的東西都要打指令。\n相較之下，KDE不用去裝一堆有的沒的擴充套件，內建的就夠玩了，想怎麼擺放桌面元件隨意放。畫面上你看到的元素都能夠隨意拆分組合，排列出想要的樣子。 KDE的系統設定可以調整的東西很多，它將很多指令的東西都圖形化了，連防火牆都有整合。就算調壞了，按一下回復預設值即可。 別看KDE選項這麼多好像很複雜，其實不然，一般使用者一進入桌面也不用調什麼，預設就很好用了。\n另外，GNOME沒有像KDE一樣對應用程式圖示按右鍵，快捷編輯應用程式啟動選項的功能。 此功能用來找出應用程式安裝位置很有用處，也能在裡面加入額外啟動參數。換作在GNOME，就得用到命令行去編輯desktop entry檔案了。 KDE要安裝主題和小工具也不是難事，KDE在系統各處加入了「一鍵下載主題」的功能，不必像GNOME一樣要手動將主題解壓縮放到指定位置。 KDE要把桌面的工作列元件全拆裝其他Dock也不會阻止你，甚至還可以搞動態桌布引擎呢，自由度比較高。\n不過共識是，我不喜歡把東西放在桌面，這點KDE和GNOME皆然，所以我沒在放桌面小工具。\nGNOME的設計其實很適合觸控裝置，大圖示、支援手勢之類的，平板電腦或手機會用的不錯。可是若是以傳統桌上型電腦來看，我還是比較愛KDE那種使用方式。\n7. GTK相較於QT實在太醜了 # 美感，這是非常主觀的一個段落。有人認為GNOME的設計簡單又一致，比KDE要好看。可是我覺得GNOME的設計也不是那麼完美。\nGNOME的附屬應用程式多半使用GTK開發，GTK 3以前有點擬物化的風格，GTK 4以後扁平化。\nKDE則是採用QT，預設主題叫Breeze，在QT5之後全面扁平化。\nGNOME預設的GTK主題叫做Adwaita，黑色模式下還不錯，白色實在不好看。Ubuntu修改過的Yaru主題勉強還行；PopOS研發的扁平風格很醜，elementaryOS硬要向MacOS靠攏；ZorinOS向著Windows的方向去了，無須贅言。\nGNOME採用最新GTK 4撰寫的應用程式風格我比較能接受，跟QT一樣的扁平化風格很好看，例如這款新的GNOME終端機就比KDE Konsole好看一些。 但一堆GTK應用程式還在使用舊版GTK 3，例如Firefox。參考下圖GTK與QT主題比較，就知道有多醜。 還有相容性問題。QT應用程式在KDE看起來正常，但是到了GNOME就會變很醜，這是阻礙我使用GNOME的因素之一。相較之下，KDE對GTK程式的包容性比較好，GTK會優雅的轉換為QT風格的主題。\n如圖，QT應用程式在GNOME環境下會被變成GTK風格，靠近看變得更醜了。 相較之下，KDE下的GTK應用程式顯得很自然，GTK會自動變成QT風格的主題。舊版GTK 3的應用程式也不會那麼難看。 那何不換圖示就好了？GNOME也是支援換圖示和主題的呀。老實說，不論是GNOME換Breeze圖示，還是KDE換Adwaita圖示，都是很不搭嘎的組合，所以我不會這樣做。\n桌面環境應該有自己獨特的美感，而非要後天裝一堆主題來美化。GNOME和KDE都做到了自己的美感，只是我更愛KDE的風格。\n8. 結語 # 總的來說，用不恰當的比喻的話，KDE操作比較接近Windows，功能多且界面自定義程度更高。\nGNOME操作接近macOS，應用程式風格統一且界面更加極簡化。\n我認為，不論GNOME如何強調「簡潔易用」，它還是不如KDE的「方便強大」。\nLinux用戶有選擇的自由，我偏好KDE，較符合工作流程和習慣而已。GNOME和KDE二者並非是你死我活競爭的關係，無非是有自己的目標客群罷了。而二者應彼此借鏡，發展統一標準，改善Linux桌面環境生態。\n附錄：搭載KDE桌面的Linux發行版 # 參考KDE官網Wiki資料，以下Linux發行版預設就是KDE桌面：\nKubuntu（KDE桌面 ＋ Ubuntu LTS套件，商業公司支援，更新比較慢但穩定） KDE Neon（最新版KDE桌面 ＋ Ubuntu LTS套件，由KDE開發團隊維護，適合用來嘗鮮最新特性，不怕bug的用戶） KDE Linux（immutable distro，KDE開發團隊面向未來的作品） Tuxedo OS（專為TUXEDO Computers製作的發行版，類似KDE Neon，但有專門團隊確保桌面的穩定性） Fedora KDE Spin Fedora Kinoite Bluefin Aurora Bazzite SteamOS CachyOS 以下Linux發行版KDE桌面要自己裝，或者說官網首頁提供的ISO預設不是搭載KDE：\nDebian Ubuntu Fedora openSUSE Arch Linux Manjaro Gentoo ","date":"2024年12月3日","externalUrl":null,"permalink":"/posts/kde-plasma-gnome-comparison/","section":"Foss-Issues","summary":"本文討論為何Ivon我偏好KDE Plasma勝過GNOME當Linux桌面的理由。我盡量先從客觀的角度來比較兩者差異，再過渡到極度主觀的個人意見。\n目前Linux發行版有20種以上的桌面環境供使用者選擇，其中最大宗的就是「GNOME」和「KDE Plasma」了。從下面這張圖就可以看出他們的設計語言差別巨大。 上為GNOME 47，下為KDE Plasma 6.3\n得益於Linux的高自由度，Linux可以多重桌面環境共存，但是大多數人都會習慣使用在裝系統的時候就裝的桌面吧？安裝過程需要自行組裝的「Arch Linux」亦同。\n桌面環境很大程度決定了使用Linux電腦的體驗，因此挑選一款適合自己的桌面非常重要。\n我在不同的電腦裝Linux，嘗試裝過GNOME和KDE Plasma桌面，經過幾年反覆比較後，得出了我未來偏好桌面環境的抉擇：若要distro-hopping，那就是以KDE Plasma為優先考量，GNOME次之。也就是說裝桌面環境一律以KDE Plasma為主。 Source: https://www.reddit.com/r/linuxmasterrace/comments/tj03r4/totally_unbiased_meme_that_isnt_going_to_make/\n為什麼我會這樣認為？請看下面分曉。\n這裡提及的GNOME和KDE桌面皆是指「原版無修改」的vanilla版，像Ubuntu這種重度patch的不算在列。\n先從一個好玩的統計資料開始。Arch Linux官方網站有統計桌面環境套件安裝量，我們可以發現KDE在2018年後下載量是逐漸超過GNOME和XFCE的。 ","title":"KDE Plasma與GNOME桌面比較，最終我還是選擇KDE Plasma","type":"foss-issues"},{"content":" 【閱讀前須知】\n此處是我為取代Facebook動態牆製作的特別網頁，跟首頁的長篇文章不同，這裡是紀錄簡短想法之用，部份想法可能會另外彙整成文。\n這裡的微部落格充滿各種觀點，尚未經過打磨，有反映時事，有靈光隨想，有偏激之言，有政治評論，可能冒犯到所有人。僅代表個人意見，請謹慎閱讀。\nParrhesia，即只說真話不欺瞞，有負面的後果也在所不惜。說真話不只是言論自由，真理顯現也符合大眾利益，更是公民義務。唯有對自己誠實才能讓我們解脫。\nHumility is not thinking less of yourself, it is thinking of yourself less. 謙卑不是看輕自己，而是不僅為自己著想。\n2024年\n20241231 什麼時候認識到世間無常，2024年要跨年到2025年了，但我沒什麼特別感覺。這樣的感覺持續好幾年了。正如大前天生日的Linus Torvalds說的：Linux kernel的版本號沒有特別意義，只是手指頭不夠數了。5.19跨到6.0是如此，未來亦復如是。就算出現6.6.6、7.7.7也不要太慌張，Linux系統本來就有夠多惡魔(demon)隨侍在側了，例如Systemd的常駐程式(daemon)。他老人家務實又幽默！ Kernel 6.0 released. So, as is hopefully clear to everybody, the major version number change is more about me running out of fingers and toes than it is about any big fundamental changes.\n20241229 以前我都聽乳透社·小反旗製作的辱華神曲（乳包神曲？），唱衰中共；現在改聽辱台神曲，攻訐民進黨政府。最讚的是二個一起來，但能做到這點的人並不多，可能要陷入虛無主義的支黑，或者鐵白小草才做得到。我一直主張辱X神曲都要由本土人自己寫的，而非他國刻意製作的propaganda，才能洞察到外人不能探尋的細節，黑才能黑到點上。就像美國人罵政府也是美國人自己最懂，最好講到被人懷疑是蘇聯派來間諜的程度，那才是極致！ 蛤蟆奶習《新歌》- Daddy Chang添共賣台戰歌 +MV\n20241229 不懂佛法的人，容易認為佛教是虛無主義。那個空性，不只認為什麼都沒有。而是認識到這個本質，懂得去尋求解脫的方法。\n20241228 東方快車合唱團 - 就讓世界多一顆心 想起進來碩士班的這二年來，余多可喜亦多可悲，曾經煎熬到得去看身心科吃抗憂鬱藥，總覺得活著沒幾個意思，但想起還是有點好事，好久沒有這種為他人付出不求回報的經驗了。2022年的時候認識這個男人T，外型長得很像張雨生。2023年的時候，從言談中得知該同學的女友出車禍掛掉了，那個男人來上課的時候看起來都沒有怎樣，但原來是強忍著悲傷。參加告別式，哭完了依然要繼續生活。那個時候我跟一個胖女人L還有那個瘦男人共修同一門高師大教育概論的課程，分組共同完成了一個作業。那個美國長大高中才回台灣的胖女人，知道了那個男人的遭遇，所以她就私下和我提議給點慰問他的方式，我便同意了跟她合資買一個星巴客的禮盒，並轉交給他。雖是露出靦腆的微笑還是笑著收下了。後來知道他會下廚，中午自己煮，還到學校發送家裡人做的手工餅乾給碩士班的同學吃。我想，這就是一種善的循環，在這孤獨的環境下，僅有的一些溫暖也能在壓力的課堂上找到。字裡行間不談論未來，不談論課程困難，而是單純的互助。不過嘛，碩士班的緣份比大學要短的許多，二年後有些人就準時畢業了，對延畢的人來說以前的朋友碰到的機會便很少了。再加上我幾乎不會用Line隨便去敲人家，故只要修課這個客觀條件消滅，那些接觸過的人在我眼裡就跟死了沒兩樣。但是即使如此，這些發生的小事還是能作為我繼續生活下去的資本。\n20241228 Unpopular opinion: 從建中香鮑佐蘿莉到抵制麥當勞性侵少女所引起的一系列出征行為看來，台灣的出征風氣越演越烈了，就像中國反日風氣、美國woke出征一樣。那麼多可憐人的聲音被忽視，就只挑你愛吃的菜上鉤，施行自以為的正義，侵擾到無辜群眾，到頭來忽視了事情的本質。特別在用Threads的時候會因為同溫層放大這些事情的嚴重性，好像全天下重要的事情就只有這二件事情一樣，用其他平台較少看到。歷史上發生過很多出征事件，而實際上大部分時候不站隊\u0026hellip;其實也不會怎樣。畢竟這就是一群SJW暴民之間互相傾軋的事情，cancel culture解決不了任何事情，比不上真正去為被害者提供經濟協助。要我表達看法，那就是遇到道德綁架，無腦要求所有人就範的SJW一律說：My pronouns are who/cares. 再次確認比Dcard更低能的平台就是Threads，可類比抖音，一群人看到短影音幹片就被洗腦；Threads的人看到幾句屁話就抓狂，都是很低能的行為。啊不就還好我們這些高智商（X）理中客（O）的用戶入駐，才讓這些平台演算法不那麼混沌：只要追蹤的人正確，那麼那些反智的內容就不會出現在在動態牆，可惜呀現在社群媒體集體enshitfication的情況下，就喜歡研發餵屎演算法，以求更多互動，不論那是善意的還是惡意的。強制破除同溫層，就算用封鎖的也阻止不了系統一直推薦垃圾給你。其實我很不喜歡封鎖的作法，可是這system逼我這樣做。\n20241227 當我們反對用日據時期稱呼日治時期的時候，可否想過也不應隨便給中華民國政府扣上殖民台灣的帽子？好了啦台灣人從以前到現在都是殖人，已經過了比劉曉波說的殖民三百年還長的時間了，德性發展到哪去了。想要理解台灣歷史，剛好有兩本書可以交叉著看。一本是史明的《台灣人400年史》，另一本是蔡正元的《台灣島史記》。兩本都是台灣人寫的，鉅細靡遺，厚的要命。二本書成書時間差了50年以上。光從用字差異，便能覺察作者的意識形態。互相比照，相映成趣。第一本會讓人覺得台灣人一直都是被殖民，需要獨立建國；第二本則是會讓人認為台灣主權屬於中國是合理的。愛台灣的權利，從來就不是把持在民進黨那幫人手中。\n20241227 為什麼我找不到「匯出」和「帳戶」的選項～因為使用Libreoffice Calc，我不夠格使用最新最ㄅㄧㄤˋ的Excel Pay領錢。可惡的專有軟體（咦）noworneverev/excel-pay Excel Pay：不止是表格，更聰明的支付 這個專案真的讚，網頁版就能享用Excel Pay！\n附上複製文一則：這是一個不公平的判決啊 欸笑死人欸 他剛剛指控我我有貪嗎 我柯文哲一毛錢都沒有拿欸 欸你們法官是怎麼判的啊 欸不是 我一毛都沒有拿然後判我貪喔 被我罵清德宗的贏喔 有沒有邏輯啊不是啊 我罵他清德宗 這樣算我輸喔 他指控我 我一毛都沒有拿ㄟ 啊這樣算我貪喔 你們法官怎麼判的啦 好啦 我要回家了啦 3000給你啦 北院。\n20241226 FREE KP 政治追殺 司法不公 公開審理 釋放柯P No Justice No Democracy【2024/12/26 黨部記者會】 嘗讀左忠毅公軼事，自高中以來為之動容，尤其這一段：及左公下廠獄，史朝夕窺獄門外。逆閹防伺甚嚴，雖家僕不得近。久之，聞左公被炮烙，旦夕且死，持五十金，涕泣謀於禁卒，卒感焉。一日，使史公更敝衣草屨，背筐，手長鑱，為除不潔者，引入，微指左公處，則席地倚牆而坐，面額焦爛不可辨，左膝以下，筋骨盡脫矣。史前跪，抱公膝而嗚咽。公辨其聲，而目不可開，乃奮臂以指撥眥，目光如炬。怒曰：「庸奴！此何地也，而汝前來！國家之事，糜爛至此。老夫已矣，汝復輕身而昧大義，天下事誰可支拄者！不速去，無俟姦人構陷，吾今即撲殺汝。」因摸地上刑械，作投擊勢。史噤不敢發聲，趨而出。後常流涕述其事以語人曰：「吾師肺肝，皆鐵石所鑄造也！」。現在看來東林黨人不是好東西就是了，鬥倒了上台人就把對方抄家，間接導致明朝滅國。這世間，國家之事，糜爛至此，台灣亦復如是，總是那些諂媚奉迎的人得利，姦人會構陷老實人入獄。如果他能像川普那樣，被深層政府迫害還能逆襲重來就好了。\n20241225 不論怎樣的佳節，特別的日子，對我來說都好像沒有關係一樣，忘記幾年前開始了，大概有三年多了，每一年再也沒有對自己的生日感到快樂過，甚至覺得出生是詛咒，走向Anti-natalism的路子去了。這也讓我在叔本華之外，還認識了齊奧朗這位哲學家，他們的毒雞湯作品值得一讀。你討厭過生日嗎？從「生日恐懼症」剖析心理創傷，擁抱眼前所有的幸福瞬間 - 女人迷「可我不知道，為什麼感覺自己並不存在，在我堅硬的肉下面，空空如也。可我不知道，為什麼總是感覺不到自己，在我堅硬的肉下面，空空如也。」 汪峰 -《信仰在空中飄揚》- 空空如也 自卑又自大，渴望關心又推開他人。因為卡在這個不上不下的地方，總覺得人生卡住了。說不追求別人追求的東西，但是我就有其他地方能去了麼？他們說，我沒有伴侶不過聖誕節，不搞資本主義那一套，因為有電動陪伴，可是我呢，沒有激情，沒有方向，沒有目標，總覺得這樣那樣的事情也能混過去目前的日子了，理想的小世界逐漸被現實所侵蝕，致使沒有什麼身外之物能讓人感到快活了，只能吃LSD追求化學極樂，到達極樂世界，可販毒是犯法的；精神科的藥品嚐過，更毒。麻木的情緒，「滿腦子憤青的思想」，想做點什麼，恨不得讓我去街上找一根聖誕樹用電線纏死自己，起碼這樣死的還會要火熱一些，你們在吃烤雞，我在當飛舞吧火鳥。庸庸碌碌，「這比死還要讓我恐懼」。可是如果有這種氣力走起來的話就不至於淪落至此了，所以，境地如此，乃毒雞湯看多了之故，如果說是佛教聖人說的世界實相如此，那生之無何謂，死也無之所求了，因我不想期待來世。最後的final cut沒有勇氣劃下去一刀，刀片上映射的找到倒影不是它如願以償的鮮血，而是淚水！淚水！淚水！還有微微的熱氣所噴而出的汗水。我最近從Pearl Brothers那學到一個美妙的比喻，「水晶体波乱」，描繪人的眼睛面對癲狂之下造成的水汪汪混亂不堪的樣子，感動的淚水從來沒有流下，留下的從來是徒勞的空虛感。有人認為不該管別人的想法隨性而活，可是這代價不就是絕對的自主抉擇嗎？面對未知會讓人恐懼又喜悅，心態不夠堅強的人很容易被恐懼侵蝕而成為深淵吧，以後凝視的資格也不見了。自由，成為自由的奴隸，把世界都扛在肩膀上，就算是西西弗斯也會暴斃的好不，滾動的圓球假若有金龜子推的那樣渺小就好了，不要把自己想的太巨大，偉大如推上山的石頭，可是如鑽石的物理結構一般脆弱，只要想法比你聰穎的玻璃刀，輕鬆就能毀滅你那堅若磐石的信仰。明明同為人類，明明同為礦石，相仿的結構，有人就是認份能做好煤炭的工作，而有些人當作寶石享受，還有些人覺得自己是多餘的礫石，這世界不毀滅第三種人，只給他們一點甜頭，剩下的是無盡的焦慮，隨著變遷而改變型態，必須隨波逐流，不能反抗。文謅謅的話來說，這是金玉其外敗絮其內。這麼來說，人們不過是披著人皮的肉塊罷了，我，究竟在哪裡呢？為什麼下定決心、做出抉擇、破除現況就這樣難呢？這世上有太多的為什麼，我不想再追加更多的問號來累死疲倦的內心了。太多問題，不論是形而上還是形而下的，都不會有肯定的答案。至少，我追求的不會是一方獨斷的真理。呵呵呵，傳聞中林肯的息怒方法對我來說一直都還蠻有效的，胡攪蠻纏的寫了一堆胡說八道東西，我沒寫小說說故事的才華，作詩作功的力度又差勁，寫信再撕掉就能快活些。好死不如賴活。不要去關心政治，政治自然就會來找你，等到那時，就能體驗何為真正的死亡。我不甘心，所以要繼續活下去。\n20241225 miniPaint是一款開源的網頁修圖軟體，可說是簡化版的PhotoPea，能夠作到圖層編輯和簡單加文字。在Apple生態系，這個自由軟體精神比艾略特的荒原還荒涼的地方，miniPaint可能是唯一的仙人掌。幸好我是用iPad，螢幕比較大，方便操作這款修圖軟體，用iPhone我真無法想像強迫降智的感受。要在iOS找開源的修圖APP實在太難了，我向來是奉行內建有的就用，要用其他APP得找開源的，沒有就放棄的作法（因為存在先於本質，人本身能在系統層面上追求自由，你就不能從根本上否定作業系統的存在）。如果要做加字、圖層編輯，iOS內建的照片APP肯定不夠用，所以得找另外的修圖APP。問題是在Apple生態系這比艾略特荒原還荒涼的地方，根本沒有半個。順帶一提，其實Android也找不到幾個好用的開源修圖APP就是了，但起碼F-Droid還有人做，例如Photo Editor by Burhanuddin Rashid！iOS則是根本沒有。後來我就想到從網頁APP下手，不過又有新問題，我受到FSF倡議的自由JavaScript精神影響，主張網頁程式也得是開源的！這就打掉PhotoPea和Canva之類的選擇了\u0026hellip;\u0026hellip;千辛萬苦才找到了miniPaint，Github有開放原始碼。批次照片轉檔還有iSH Shell的ImageMagick能用。\n20241224 討厭民進黨政府，但討厭不了數發部部長，尤其是前任的唐鳳。雖是民眾黨員、我覺得不該無腦反對其他政黨的一切。今年參加中華民國軟體自由協會的會議後我了解到這個組織是能影響政府決策的。對一般人來說，LibreOffice可能是最親民最實用的自由軟體了。政府帶頭推動應該能滅Microsoft的氣燄，現在很多學校機關起碼有提供ODF格式（odt、ods、odp）的檔案了，不管公務員情不情願，這總的是一種進步。更長遠的目標應該是讓政府電腦都換用Linux吧！但看來除了德國外，只有中國政府能做到，畢竟他們整天宣稱自主創新（迫真）。數發部對LibreOffice推動有一定幫助，他們接手了國發會ODF文件應用工具，還釋出了Linux版程式（以前都只有Windows版！），這就是很大功績。數發部還繼續推動許多政府資料公開透明化。明明PTT八卦板鄉民一堆理組，把長期投入開源專案的傳奇駭客唐鳳說成只會點麵線的部長，就真的是尬黑了呢，許多不相關的事情都往她頭上抹。難道大家都希望像馬斯克的那種科技狂人出現？美國DOGE部未來成效如何還是未知數。可是數發部，最讓人詬病的，還是打詐成效的問題，這點可能真的要瘋子來才能解決。還有一些浪費錢的項目，我黨立委會繼續要脅砍預算吧。\n20241224 我有Linux本位主義的弊病。撰文介紹跨平台軟體的時候如果我用Linux當示範對象，八成的讀者就讀不下去了，這恐怕比用Mac當軟體示範畫面更糟糕。話說，有些macOS本位主義的人在寫教學文的時候會用Unix-like的術語概括所有Linux發行版（根本不能一概而論！），還認為Linux也應該用Homebrew裝軟體（扶額，連Nix都屌打）。這只是我個人推測，如果截圖畫面是Linux指令，或者Flatpak商店，那麼有些人可能先入為主認為這是Linux才做得到的事情。但是很多時候該軟體的Windows版頂多是點個exe安裝、macOS拖拉個dmg的事情爾爾，不用連這個也要教吧！我希望注重的是軟體用法。講到Docker可能是更難以理解的概念，Linux安裝Docker應該是喝水一樣簡單的事情，所以我就會直接進入部署環節，可是對其他系統的人來說光是設定環境就夠喝一壺了。在Linux，Docker是入心入魂入腦的軟體，不需要像其他系統還要套一層Docker Desktop虛擬機才能使用，指令能夠直接下。因此在bare-metal的Ubuntu Linux桌面操作Docker絕對是效率最好的！可惜很多人寧願用Windows遠端SSH開發也不要換到Linux（扣除公司強迫使用Windows的因素）。我不是不會用Windows，但就是懶得開。講個現實問題，遇到熱門軟體的情況呢，很多人都在撰文搶SEO排名了，我究竟要多考慮Windows新手用戶把教學寫得更友好的呢，還是專注服務Linux的niche市場就好 —— 目前看來只有搞後者才能維持我的獨特性，不要寫跟別人一樣的主題。\n20241224 OBS Virtual Camera + Open WebUI video chat mode = ALMOST a decent local LLM alternative to GPT-4o voice assistant Here’s how to set it up: 與本機語言模型進行視訊對話。ChatGPT 4o出什麼功能，Open WebUI就抄過去www。我實際測試下來還不錯，利用Whisper將我講的話變成語音指令，再搭配開源的多模態模型LLaMA 3.2 Vision，實現視訊對話，讓AI分析鏡頭的畫面並給出建議。目前只能存取相機，不能看螢幕上的內容。不過電腦的瀏覽器可以搭配OBS Studio建立虛擬相機（Linux透過v4l2達成），這樣螢幕畫面就能作為一個虛擬攝像頭傳給Open WebUI讀取。羞羞臉！ChatGPT官方不出Linux版桌面客戶端，就由第三方開發者幫你實現。比較麻煩的一點，由於安全因素，Open WebUI在瀏覽器存取相機和麥克風需要用到HTTPS，我是使用Tailscale附贈的憑證，搭配Tailscale serve反向代理讓其他裝置透過HTTPS連線到Open WebUI。\n20241224 Tailscale Serve 原來Tailscale有HTTPS服務（自動向Let\u0026rsquo;s Encrypt取得憑證），還有針對單一服務的Tailscale Serve功能，作為reverse proxy。更有類似Cloudflare Tunnel的Tailscale Funnel。而且操作都十分簡單，在網頁點些設定，再打個指令就設定好了，真的佛心公司。Tailscale連線本來就有加密了，HTTPS實無必要，不過這種HTTPS能夠解決特定服務難搞的需求，比如存取客戶端瀏覽器的相機裝置。Tailscale Serve不能將服務真正開放到外網，只有加入VPN網路（tailnet）的裝置能連線，但確實解決了特殊情況下的問題，亦確保隱私安全性。\n20241223 圖片什麼是懷德海的教育節奏理論？在考卷寫「你指尖躍動的電光，是我此生不變的信仰」，論破！期末考從來沒有寫的這麼快樂過（以前不會有、以後很難再有了吧），用母語中文下去寫教育哲學相關的題目，總覺得興奮異常，作答的時候我面目猙獰，筆桿顫抖，不如說我這整學期都是滿心歡喜的上這門課，真正會讓人上課不斷思考，下課還會特別餓。因為題目全都是申論題，先將得分必需的名詞定義捋一捋之後，剩下的空間就是恣意揮灑的時刻了。正式教檢不允許你寫這麼多廢話，不過在大學就隨便啦。當我想要解釋柏拉圖洞穴理論的時候，就再加入一點「如果我不曾見過陽光」的詩作意境。欲解釋懷德海的教育節奏論，好吧，我確實沒有文首寫的那麼中二，但是意思有像：「成年之後，學生將會用在上一個階段學到的規矩，捕捉四散的浪漫音符，譜成完美的樂章。這是學生一生要追求的東西。」在講存在主義的時候，就把以前讀過的《查拉圖斯特拉如是說》的金句放進去，用以解釋尼采的超人哲學。「不要讓一座雕像砸了你，所有宗教使人渺小！你要先找到你自己，超人才會回到你身邊。」原本還想再加一個進擊的巨人的隱喻的，不過空間不夠作罷。最後一個essay，關於格林《教師即陌生人》一書對於教育的啟示，我以歷史教科書為例，教師應該學陳明韶，如浮雲一般的遊子，審視自己的教育過程，不該只再注重單一史觀的中國式道德教育，不用意底牢結控制人民，而是呈現多元觀點的做法，譬如《萬曆十五年》一書所呈現的另類觀點，假以推廣之對歷史的宏觀多方面解讀，如此，人們便不會沉溺於國仇家恨、民族記憶的虛無縹緲情感之中，而是學到學習的本質，意即思考。這是教師和學生都能受益的部份，這也能防止學習歷史的人變成青鳥或者小粉紅一樣的產物（最後一段我不敢寫啦，怕戳到教授逆鱗，直接被當掉）。\n20241222 老兄你這樣不酷喔！openSUSE負責打包Bottles for Linux（Wine前端程式）的維護者，被人發現偷加了一個dont-support.patch的patch，把原本軟體的抖內按鈕給弄不見了。事件起因：有些社群成員對Bottles需要沙盒環境才能執行感到不滿，最近的PR甚至設定一偵測到非沙盒環境就退出程式。main: Exit on non-sandboxed environments #3583 Github有人認為這樣等同讓Bottles變成專有軟體，斷了下游發行版自行打包軟體的活路。所以TheEvilSkeleton才會在她的Mastodon提出「增加沙盒需求是邪惡的事情，但是維護者把Bottles抖內按鈕移除就能接受？」。幾天後這個patch就消失了，改回取消沙盒偵測機制，好讓Bottles在非Flatpak環境也能正常運作。嘿，我聽說Bottles開發者很不喜歡Flatpak以外的分發方式，官網完全不提原生套件安裝。這下又多了一個理由了ㄏㄏ 其他發行版維護者會對你的軟體做什麼都不知道。Flatpak理論上是能跨發行版運作的統一格式，如果下游發行版維護者修改程式重新打包為rpm、deb可能造成一些問題。Bottles開發者不希望發行版自行打包，主因是因為下游打包太複雜了。過去來了一堆回報問題的，用的都是Fedora RPM套件。但他們認為，軟體出問題應該找維護者，上游只願意為Flatpak分發的版本提供支援。這樣的決定不免給一些人造成Bottles開發者獨裁的觀感，可他們堅持Bottles依然是自由軟體，你要修改程式讓下游發行版能運作Bottles是可以，但要遵守打包規矩和充分測試過，否則就不要期望我們提供支援。Takedown unofficial outdated packages #2345。\n20241222 小粉紅跟浪人一樣傻逼就是了，後者縫合蔥輪支黑後就更加糟糕了，幽默感都拿去研究怎麼屠支。一個極端愛國一個極端恨國，談到台灣問題，一個接受匪的內宣，認為島內都是壞蛋；另一個又接受輪子和民進黨的大外宣，導致觀點極度偏誤，中間派的全部被抹紅，還有反賊因為看到財政收支劃分法的民進黨中央廚房圖卡，連國民黨都能抹成左逼，我看了也是醉了。如果用支黑的思維下去理解兩岸問題，就會發覺兩岸都有中國人血緣實在沒救了，進入兩岸一家支的思考方向，這樣容易陷入虛無主義（或者樂子人？這臉皮得要多厚！）。這種極端主義思維對台灣第三勢力的我等是有害的，意識型態領軍看什麼都會產生濾鏡。如果說脫支的最高境界，那就是脫離你兩國的這些破事糾纏，不然這些人在網路上的事情永遠吵個沒完。並且他們特愛二分法，你要嘛是愛中共，不然就是中華民族罪人。凡不當支黑的都是中國間諜云云。所以我決定少關心這些事了。那些明理的台灣人和中國人，我知道他們存在，所以多接觸他們就好了，少看風氣接近4chan的社區。\n20241222 電視媒體不可盡信。驚懼之淚(1984)有一首〈吶喊〉是這樣唱的：In violent times, you shouldn\u0026rsquo;t have to sold your soul. In black and white, they really ought to know. Those one track minds. That took you for a working boy. Kiss them goodbye. You shouldn\u0026rsquo;t have to jump for joy. Tears For Fears - Shout (Official Music Video) 沒辦法完全相信電視媒體報導，近因是柯文哲每天被寫科幻小說的事件，遠因是川普總統被主流社群媒體封殺的事情，更遠的還有麥可傑克森的膚色爭議。大概五年前我聽到歸國大學教授說麥可傑克森把皮膚染白是想討好白人，就知道媒體操作下三人成虎的可怕，這麼多年了刻板印象依然能摧毀一個人的人格，無視他有疾病的事實。看太多台新聞會與事實脫節，產生從眾偏誤，只看固定幾台也不行，就算挺民眾黨的新聞台也不見得就是好媒體，世界上沒有真正中立的媒體，又因為網路自媒體興起，到頭來人們就只會相信自己想相信的KOL講的話。這該怎麼辦呢，我肯定不是那種願意盲信某一方事實的人，就連本黨的意見也不能盡信，那麼就盡量不要被激起情緒，不隨便跟著呼口號，冷靜客觀的看待多方觀點。可惜這社會能做到這點的人太少了，不站隊就會被情緒攻擊。\n20241222 哇Linux真的越來越好了，MSI Modern 15筆電裝Fedora 41，suspend模式竟然正常運作，我不用再擔心關上蓋子後GNOME當掉，卡在tty的問題了。關上蓋子後電腦就真正暫停，進入極低耗電待機模式。這在以前是只有Ubuntu LTS才可能正常的操作，在Arch Linux和openSUSE都辦不到。難道是因為Linux核心6.0後總算加入微星風扇控制驅動MSI-EC的緣故了麼。MSI-EC Linux Driver Patches Allow Enabling \u0026ldquo;Cooler Boost\u0026rdquo; For MSI Laptops。但目前看來還是得裝第三方開發的ISW程式才能精確調整風扇轉速。\n20241222 回顧2024年，覺得年初我真的投對票了，三票民眾黨，非常的值。柯文哲沒選上，至少立法院三黨不過半已經是很好的結果了，選前承諾的法案由黃國昌為首的民眾黨立委一一兌現，遇到開會噗噗跳還整天靠北沒討論的，不拖延，走完正當程序後就表決碾壓。每幾個月就有WWE賽季暴打塔綠班，不論是物理上或是心理上（民進黨今年新綽號很多，包括青鳥、蟾蜍、黑熊精，但我還是覺得這個2021年就有的老梗最順口）。選舉完之後活動筋骨的還有黨部、鬼針草聯隊等組織辦的街頭活動，真的太讚了。韓國瑜當立法院長讓人改觀，幽默風趣又不給喬，可以慢慢脫離韓導的負面形象了。國民黨難得智商在線願意合作挺改革。儘管遭到犬法官阻撓國會改革，柯文哲又被想妍妍/想嚴嚴的兩黨聯手投入黑牢，但是我相信民眾黨未來依然會繼續引領改革的腳步，就算柯文哲注定被迫害到底了我也不會就此退黨，還是會繼續支持民眾黨改革理念。話說，台灣政治是不是離不開8+9呀，國民黨不用說了以前在中國大陸的時候就有青幫勢力，來台之後也吸納一堆樁腳，搞出鄭太吉等無數黑幫份子，結果民進黨也是，光電弊案就讓這些人現形，還是藍綠一起分贓，現在發聲的網紅出現一堆8+9特質的，像八炯和閩南狼。到了民眾黨還是一樣，館長本身就很8+9，不過是從良後做生意的，還有貓貓頭社長整天靠北的江先生，我看他出席活動都很喜歡穿花襯衫，這下民眾堂了。唉，閩南人，為了快速擴張難道就只能接受綁樁的事實麼，這樣新政黨以後要怎麼解決地區的弊案呢。不會被黑道染指的純潔政黨大概就時力了，但是他們也快涼了。\n20241222 身為認同小草理念的人士，不用認為跟青鳥（憨鳥）和舔共黨活在同一個島覺得可惡，因此要取消文化，動不動就要物理消滅人家。因為：「關於言論自由，基本上只有兩種立場，一是你誓死捍衛你厭惡觀點的言論自由，並以此保障一切言論自由，二是你拒絕捍衛你所厭惡觀點的言論自由，並以此體現出你與史達林主義和法西斯主義在言論自由的標準上沒有區別。」絕對支持言論自由，不論是再怎麼讓人厭惡的言論都應當容忍存在。美國語言學家喬姆斯基(Noam Chomsky)這樣講的，雖然他是大左逼，整天倡導不可能實現的工團主義，但是我就佩服他這點，他老人家想得透徹。除非是騷擾霸凌的言論，否則我不會一看到反對意見就封鎖人，頂多按「我不想看到這個」就能淨化一下演算法。縱使中共要消滅我們，也不能著了那惡魔的道，成天抓奸細。在追星之前，我是台灣人，可不是民進黨人，羞羞臉。\n20241221 根據Langchain的Twitter，2024年十大LLM供應商，Ollama排行第二。ChatGPT在2022年底出來，可比性的開源模型競爭對手LLaMA是在2023年初發表，之後就有一堆公司跟著釋出自家模型了。開源LLM經過一年多混戰之後，終於有了個稍微統一一點的標準。2023年LLaMA剛出來的時候有一堆前端程式出現，現在應該還有，讓人無所適從，不過最終活下來的，看來是Ollama。有了它背後不論跑LLaMA還是Gemma，或是embedding、multimodal，都有一個程式能負責處理。最起碼它是作為了llama.cpp的一個公認標準，成為了各種Local LLM的前端程式（如OpenWebUI、SillyTavern、Jan AI、AnythingLLM、Text Generation WebUI）嫁接到LLM的一種熱門選擇，不用去碰llama.cpp的底層程式。在Linux能用Systemd服務執行，或者用Docker達成跨平台效果。它不只對開發者友善，對終端使用者也有助益。\n20241220 Decap CMS 是一款開源的內容管理系統，專門為管理Git儲存庫和靜態網站所設計，給靜態網站裝上一個類似Wordpress的後台界面，用於編輯Markdown文章，能在本機與雲端執行。例如Hugo、Gatsby、Astro、Jekyll。Decap CMS前身為Netlify CMS，中間開發經過幾年停滯，最後重獲新生，有趣的是競爭對手TinaCMS也是從舊專案Forestry.io CMS轉變而來的。Decap CMS最大的特色是提供一個工作流看板，方便團隊協作，決定文章發表的時程。但是實際用下來，我覺得Decap CMS跟TinaCMS一樣廢，比不上VSCode的Front Matter CMS擴充功能。這沒辦法嘛，靜態網站的編輯器界面不能太華麗，如果網站用動態的React那又是另一番風景，TinaCMS開發團隊演示過一種邊修改邊render成品網頁的，得用React框架才辦到，反正Hugo肯定不支援。TinaCMS Demo - Markdown editor CMS integrated with GitHub。到頭來還是Front Matter好用，問題是它難以遠端編輯，而Decap CMS是能部署到雲端。Decap CMS在雲端編輯的時候會自動git commit，觸發建置操作。關於登入部分，只要將網站部署到Netlify，就可以用Netlify提供的服務登入，它會幫你處理好認證問題。不過既然是開源專案，那Decap CMS不必依賴Netlify的網站也能用，Decap CMS支援多種backend認證，例如改用Github登入。但是你得自己準備伺服器處理OAuth，這應該能用Cloudflare Worker達成。 Deploying Hugo Sites on Cloudflare Pages with Decap CMS and GitHub Backend Decap的伺服器可以只在本機跑，把它當作Hugo網站的前端編輯器使用，這稱之為Local Backend。Local Backend就是不採用任何登入機制，直接在本機跑Decap CMS網頁。但Local Bakend無法使用工作流看板。純本機使用沒什麼優勢，比不上VSCode的擴充功能Front Matter CMS。將Decap CMS加入Hugo網站很簡單，只要加入一個/admin的靜態頁面，寫index.md和config.yml就好了。說實話，這些Hugo網頁CMS的實現，讓我想到以前在用Hexo的時候用的那一款hexo-admin網頁編輯器，就\u0026hellip;很陽春，那我不如開程式碼編輯器打還比較快活。\n20241220 自訂HTML有趣的404頁面。現在我Hugo網站的404頁面標語出自FGO第二部劇情（都快完結了==）的開頭：「空想之根落下，最後的希望存於虛空之中。」也就是說這篇文章跑到虛數空間的電子之海了，回不來了，去Mooncell找吧。圖片 以前有想過改成Lain的頭和一句名言，但我怕會嚇到人所以刪除了。 圖片\n20241219 Linux桌面環境的桌布反應了開發者的美感設計麼？發行版提供的桌布（例如Ubuntu的紫色、EndeavourOS的宇宙桌布）不算，我只講桌面環境的桌布。GNOME、KDE、XFCE都有內建一系列桌布，通常發行版會打包進去，但有些發行版可能嫌臃腫不會納入預設套件，得用APT安裝。我個人感覺，GNOME內建桌布都很抽象畫，叫你不要分心。XFCE多半是自然風景照。至於KDE，每次大版本更新（例如QT4 → QT5，QT5 → QT6）就會開放社群投稿，就有更多元的風格出現，從風景照到卡通風格的都有。我最喜歡的還是RJ Quiralta貢獻的Autumn - Plamsa5.5桌布，用好久了都不想換。一個女孩站在樹旁邊，飄散的落葉似乎在傳達著愛慕之情。仔細看的話那顆樹上還有一個KDE社群的標誌！你的微小的愛，成就了龐大的KDE國際社群！\n20241219 嫌Linux沒有監控程式太無趣？ActivityWatch 記錄螢幕使用時間，在手機與電腦跨平台同步，這個程式功能很像Android的數位健康(Digtial Wellbeing)，能知道使用者在一個程式上花多少時間。主畫面是WebUI，可以設定開機自動啟動，自動在後台抓取使用資料，好像是讀取視窗標題來決定使用者在看什麼程式的。我說啊，電腦還要裝這種程式？又不是小孩子了要監控自己，對電腦宅來說幹嘛把自己關進牢籠呢？什麼，Mac的螢幕使用時間是開啟的，好吧，惰性高的人們就需要電子手銬來改善mindset！\n20241219 用周遭的東西就能練習PXE開機技術，看鳥哥網站介紹，了解到原來這是個古老的技術！例如樹莓派PXE網路遠端開機，免SD卡：PXE Booting Raspberry Pis - LTM Tech，要先準備一台Linux伺服器，用於提供檔案給Raspberry Pi開機。比如，Ubuntu建立PXE網路開機伺服器：How to netboot the server installer on amd64 - Ubuntu Documentation，這是負責提供開機給遠端電腦檔案的伺服器，透過TFTP分享檔案系統給另一台電腦開機，得固定IP。順便安裝NFS吧。有了以上基礎後，甚至能夠Virt Manager PXE開機，建立遠端開機的Linux QEMU/KVM虛擬機！？\n20241219 Gamescope是Valve設計的一款迷你Wayland合成器，專為Linux上的Steam設計，Flatpak版似乎有點buggy，似乎是為Steam Deck用戶設計的，而非Linux桌面版用戶。功能有：放大降低遊戲畫質、調整畫面重新整理率、顯示GPU使用率、HDR、VRR、載入ReShade著色器等等。放大畫質功能類似Windows軟體Magpie，可讓桌機玩家取得更好的畫面體驗。Gamescope支援兩種濾鏡放大技術：AMD FSR和Nvidia NIS這兩個都是開源技術，因此沒有限定顯示卡品牌。AMD FSR，在遊戲中可以按快捷鍵開關。不過沒有Anime4k濾鏡就是了。我覺得這個要看出差別，恐怕得用4K大螢幕吧！效果不如Magpie明顯。降低畫質的功能在Steam Deck上十分有用，用於降低耗電。這個程式的價值何在？對X11用戶有價值，目前Linux採用Wayland協定的桌面還不成熟，玩遊戲有許多問題，不論GNOME還是KDE皆然，所以很多人還待在X11。技術上來說，Gamescope能讓你在X11工作階段跑個巢狀Wayland合成器，獲得一些X11環境不可能達到的新穎圖形功能，例如繞過桌面合成器給遊戲支援HDR，又不用擔心Wayland環境帶來的bug。顯示協定：X11或Wayland皆可。適用的遊戲：Gamescope支援透過Proton轉譯的Windows遊戲，Linux原生遊戲也可以。但，Gamescope可能會讓部份遊戲執行的時候出問題。顯示卡：Intel、AMD、Nvidia顯示卡都可以。Intel和AMD依賴Mesa開源驅動，開箱即用。Nvidia\u0026hellip;Gamescope與Nvidia專有驅動相性不太好。需要安裝Linux專有驅動，編輯GRUB參數加上nvidia-drm.modeset=1後重開機。關於一些主流遊戲套件，Bottles、Lutris等程式內建Gamescope，無須安裝。裝Flatpak版Gamescope套件給其他啟動器使用。Gamescope功能？顯示GPU使用率，這個功能來自MangoHUD，先安裝Flatpak版MangoHUD。MangoHUD與GameScope會衝突。還有個SDR增豔？這跟HDR是不同的東西。關於HDR部份，螢幕必須支援HDR。支援HDR的桌面環境只有KDE 6 Wayland。不論桌面環境合成器支不支援HDR，Gamescope都能讓遊戲啟用HDR。\n20241218 EmulatorJS/EmulatorJS: A web-based frontend for RetroArch 免裝軟體玩RetroArch遊戲！網頁版EmulatorJS前端套件。因為沒經歷過那個年代，難以體會很多人對老遊戲的興致哪。我對老遊戲的定義是Windows 7時代的遊戲，而他們的是指Dos時代的遊戲，然後我對家用主機遊戲的認識也是麻瓜等級。那些二三十年前的老主機遊戲，放在今日電腦的瀏覽器裡面執行是綽綽有餘！如果懶得安裝RetroArch主程式，就用瀏覽器跑吧。EmulatorJS在瀏覽器裡面跑懷舊遊戲模擬器。有些「DOS老遊戲線上玩」的網站，背後就是使用EmulatorJS技術驅動的。由於EmulatorJS是透過WebAssembly運作，對比原生執行的RetroArch，遊戲效能會有所下降，故不適合用來玩3D遊戲，例如Nintendo 64的《塞爾達時之笛》就有點卡，比較適合用來玩2D遊戲。可以利用EmulatorJS架設一個網頁服務，隨時隨地用瀏覽器遠端玩遊戲。考慮到版權因素，EmulatorJS作者不提供遊戲ROM，得自己找。linuxserver提供Docker打包。馬上就能部署。EmulatorJS僅提供前端，每次都要手動上傳ROM，所以需要ROMM，建立遠端資料庫。\n20241218 Why Gaming is Generally Worse on Linux than Windows - r/linuxsucks「Linux桌面這幾年正在變得越來越好，例如Wayland、Steam Proton遊戲支援度\u0026hellip;..」我不要虛假的承諾，我要即戰力。Wayland每次都是說更多特性在路上\u0026hellip;但什麼時候才能真正production ready？等到GNOME 50也不夠取代X11吧。那麼，Photoshop這些生產力軟體又在哪裡呢？你是說，用那個Photoshop CC每年更新一次就崩掉的Wine執行？Parallel Desktop這種產品沒在Linux出現，那它就連Mac都打不過。另外，即使有功能相近的替代品，很多自由軟體在界面設計和易用度上總是輸給專有軟體，為開發者設計而非使用者設計的思維就註定搶不到大眾的市場。好吧，你說Linux gaming的市占率終於超過Mac了，可一些Linux用戶疑似對系統過於樂觀，尤其Reddit r/linux_gaming的用戶，Linux桌面發行版的開發者還是沒有把「一般消費者」放在眼裡，Valve很努力了，可是還是有很多Proton轉譯的遊戲要用tricky的方式才能跑起來，遠不如Windows開箱即用的體驗。真正放在眼裡的恐怕只有Google，否則就不會出現ChromeOS易用性暴殺各大發行版的現象出現了，因為有利可圖，讓用戶用隱私換體驗，產品有vision，確保未來開發路程，不是一堆駭客依賴集體潛意識在那邊瞎雞巴亂搞，30年了一個通用的套件安裝格式都沒有。就算是宣稱友好的Ubuntu，問題也是很多，現在他們似乎只專注跟RedHat搶伺服器市場。ChromeOS之外在乎一般用戶的應該就ZorinOS、Deepin、Manjaro這些的，然而他們免不了都要打指令，不然就是在功能完善之前就淪為隱私權殺手（快裝上習近平核心！）。我在V2EX看到，目前最適合一般人的系統還是Windows，它能應付各種貪心又複雜的需求，Windows 11之後，不管是要娛樂、開發、辦公，都能做到。儘管AI crap和廣告毀了使用者體驗，但切換到Linux似乎是自作虐，為了自己的自由作主的代價還是高了點。\n20241217 Flatpak程式要如何執行Python指令的擴充功能？最近我遇到兩個需要存取Python環境的程式了，一個是Kdenlive的Whisper AI影片自動上字幕，另外一個是Krita的ComfyUI AI繪圖功能，他們都需要pip install一些東西。然而，由於Flatpak程式是跟宿主機沙盒隔離的，故沒辦法在Flatpak程式目錄直接開啟python指令。必須透過\u0026quot;flatpak run \u0026ndash;command=/bin/bash \u0026lt;應用程式ID\u0026gt;\u0026ldquo;進入沙盒內環境才能執行pip指令。這個指令很像docker enter，也方便確認容器內的程式究竟能看到哪些宿主機目錄。Flatpak的優勢這不就體現出來了，每個程式都有自己的Python環境，不會跟宿主機的搞混，實現比Python venv更高程度的隔離。雖然這樣比較佔空間就是了。\n20241217 GNOME常常會加入匪夷所思但後來才發現是超前的設計。比如GNOME 45開始就認為X11應用程式是不安全的玩意。GNOME Software這樣寫的，只針對Flatpak，若是原生套件管理器它就默認「系統套件管理器已經稽核該套件安全性」。GNOME還會檢查電腦Secure Boot的狀態（雖然FSF挺反感這類東西的，他們連UEFI都不感冒）。吼吼，現在應用程式沒有沙盒化也會被紅字標記。RedHat欽定Flatpak是以後的王了麼！？至於KDE 5的Discover商店就沒什麼醒目的提醒，它也就列出Flatpak要求的權限罷了。我是覺得啦，雖然Flatpak開發者已經制定了一系列標準，最近甚至要加入針對USB裝置設計的XDG Portal了，但Linux的權限系統還是不如Android系統簡單易懂，應用商店前端這樣激進的設計會讓人confused，甚至嚇跑用戶。有些笨笨的用戶可能還會在AppStream的留言板開罵，但開發者最好會看啦！我一直認為應用程式商店的評分機制對除錯沒什麼用就是因為這樣，Android和Linux皆然，噗噗跳無能狂怒的人一堆，相較之下F-Droid的設計可真高明。你有時間罵開發者不如去發個issue，學習看log除錯。\n20241217 timlrx/tailwind-nextjs-starter-blog 這個Next.js模板作者看起來用過Hugo，筆記如下。靜態網站生成器、支援Markdown、使用Hugo的Frontmatter格式，這樣從Hugo遷移過去應該比較容易（才怪，邏輯幾乎要重學）。所有網站設定檔都存在/data，文章存在/data/posts/。Hugo page bundle不可用，圖片要維持原網址結構放到/static/文章名稱/images/或者另外host。categories不可用，使用網址section的方式來分類，或者自己做一個仿造tags分類邏輯的component。每個posts下的資料夾都是一個section。部署方式：安裝依賴套件：npm install。動態網頁部署指令，含本機即時預覽：npm run dev。靜態網頁部署指令：EXPORT=1 UNOPTIMIZED=1 npx next build。HTML將會輸出到out。本機伺服器預覽靜態網頁：npx serve out。\n20241216 雖然OpenCC簡轉繁很好用，但這不是解法，只是抄捷徑，看看去年中研院模型CKIP-Llama-2-7b翻車的例子 中研院 AI 大翻車！繁中大型語言模型 CKIP-Llama-2-7b 下架，就知道繁中LLM這是必須要有的東西，必須要有在地的語料庫，燒錢也要做。不要ChatDPP實際上變成ChatXJP！按照你國政府的尿性還真可能發生這種事。話說ChatDPP還比只會說謊的執政黨要誠實呢。大翻車！民進黨AI稱國會改革符合程序正義\n20241216 台灣英語教育崩壞是很久以前就開始了麼，2014年我問國中班導兼英語老師什麼是介副動詞(phrasal verb)，她竟然跟我說不知道是什麼？可是南一文法書是這樣寫的，虧她當時還在讀碩士班研究英語閱讀的教學方法（我去年不小心翻到她的論文才知道原來當時她那麼辛苦）。難道是文法書講了太多課本不教的東西，還是因為這個翻法是中國用語？\n20241215 寫部落格要明確知道自己網站的受眾是誰，看歐飛先生的痞客邦，就很常用實際經驗講電腦知識，比一些用專業術語忽弄人的3C媒體好多了，業配不是不行但是吃相難看就\u0026hellip;這年頭連T客邦都墮落了啊\u0026hellip;只剩iThome新聞值得一讀。再看NixCraft，這個部落客在分享Linux指令的時候都會標注文章難易度～讓人看了有安心感覺。我一直在想要不要做個類似的東西，雖然我一直沒有明確的受眾目標，一直都是瞎雞巴亂寫，但是寫了幾年後也慢慢知道自己和讀者愛看什麼，所以多點便民措施。我假定網站的受眾是「電腦使用者中手，願意動手解決問題」的人士吧。針對不同程度的讀者，在文章上方放一到五顆星的難易度分級。以normies視角估計下來，我應該有80%文章難度在4顆星以上。嗯嗯什麼～被業界人士視做理所當然的Docker安裝，還要我每個指令都分步驟解說～？好吧，every man to his trade. 我覺得簡單的東西別人覺得很難，而別人覺得基礎的東西我卻總是摸不著頭腦，大概就是這麼個道理。所以同理心很重要啊。\n20241214 開源軟體開發者是很辛苦的，很多受歡迎的專案都是一人維護，還得應付大公司客戶的允取允求。開源軟體開發者也需要錢錢，那麼有沒有比較有道德的網站廣告商呢，可以將網站流量變現？去年在看Flatpak官方文件 https://docs.flatpak.org 的時候，瞄到左下角有一個不尋常的方塊，原來是廣告單元（現在改到右下角了，參考圖片）。特別的是這個廣告並不顯眼，不像是Adsense的聳動廣告，查了之後才知道有EthicalAds。這是面向開發者的廣告公司，他們的廣告程式碼是全開源的，不追蹤使用者，不干擾網頁瀏覽，專門提供開源軟體開發者盈利的機會。除了Flatpak外，還有Flask、ESlint等等也使用EthicalAds盈利。Hacker News有些部落客也申請成功了，例如專門介紹Linux手機資訊的 https://tuxphones.com ，參考圖片。不過，EthicalAds申請資格比較嚴格，僅限開發者加入，這就打掉一堆平民百姓的客戶了，我的網站內容太雜應該也不行吧。而且既然他們把廣告做成非侵入性，那麼CPM應該很難看。\n20241214 有人說中國人（匪共）沒有民主權利，談論政治就像是太監在聊性事。然後真給你民主（中華民國）了，又說這群野人尚未開化不配民主，都給你講就好了嘛！學習歐美先進文化沒搞明白，倒是把種族歧視掉下來的渣滓給牢牢抓住了。切忌高人一等思維！切忌虛無主義！我一直都是世界主義者。那麼套用到軟體邏輯上，假設使用者沒付費，是不是沒有資格要求軟體開發者實現你要的功能呢。再滑坡一點，使用免費網路服務的人是不是沒資格靠北服務商蒐集使用者資料呢？當你免費使用產品的時候，你就是產品！唉資本！所以我就全部改用奢華的付費軟體，購買高檔Mac電腦，希望有客服能隨侍在側解決，而不是使用開源軟體，獨立為自己的的自由負責！生存下去很痛苦，有些人就選擇舒服的躺平，未來才能躺的舒服的生存。而有些人呢，就是踽踽獨行，意圖找到自由而奔走。其名為「進擊的巨人」。\n20241214 近期讓人煩躁的事情二則。山葵牛排口味的洋芋片，包裝說能夠好吃到一口接一口，但是這個只要吃幾片就會嗆到鼻子了。辣味或許還能忍受，可是Wasabi會從鼻子直衝腦門，彷彿水嗆到一樣刺痛。另外一件事，在上需要邏輯符號的課程時候最討厭有女人在旁邊嘰哩呱啦講話，什麼「我上完這堂課就要高歌離席」了，還有說畫句法學樹狀圖是在當「快樂樹朋友」之類的\u0026hellip;真的是垃圾話狂噴。\n20241213 跨平台框架破壞了美感和效能，用這些框架寫軟體的，地獄有一個特殊的位置留給他們\u0026hellip;\u0026hellip;なんてね。我最近遇到了滿好笑的情況，一個Flutter寫的跨平台軟體Saber Notes，在Linux，Flatpak打包格式因為沙盒無法存取zenity binary，AppImage則是缺少另外一個二進位檔，這個issue已經有人講過了還沒解決。Flutter要成為真正跨平台軟體還有很多問題要解決，尤其Linux，例如ARM64架構下無法顯示中文字（RustDesk \u0026amp; LocalSend）。至於用Flutter做Android APP的還要解決「一眼看就是Flutter」做的問題，特色就是醜陋動畫、與Material You主題不搭嘎的問題，有開發者還直接套用iOS風格的按鈕到所有平台！？雖然Flutter問題很多但還是未來可期啦！看來會比QT更現代，更受歡迎，起碼效能比Electron好。多虧了它，越來越多全端軟體出現了。目前真正跨平台框架是Electron這類的JavaScript解決方案嗎？這是最不可能崩潰的，如果有問題那背後使用的瀏覽器也有問題了！可Chromium是久經考驗的平台。儘管我討厭用JavaSctipt寫軟體的，效能不好又很醜，但不得不說Electron軟體相對Flutter穩定一點。\n20241212 做月曆的時候想到這些歌曲：辦桌二人組 - 今仔日、南拳媽媽 - 香草把噗、周杰倫 - 回到過去 回顧過去的東西總讓人悵然，看別人的歷史覺得感傷，而自己的呢。即使沒有什麼偉業，即使失去的青春不復返，再平凡的東西依然有價值，自己的生活歷史也是歷史。但是，記憶不可靠，時間久了一切會被美化，感官總是在欺騙著自己，這事情沒那麼好，這事情沒那麼糟糕。物是人非之後，對我來說，留存下來最真切的只有文字，可惜我不只嘴巴不好，就連紙筆都不夠精確掌握當下的思緒，於是翻出的故紙堆中看到的潦草字跡，上面寫的是無處安放的思念與焦慮，還有scribble的囈語罷了。即使如此，即使如此，那些再渺小的事情，也證明了我真正活過。宋冬野 - 安和桥：「我知道 那些夏天就像青春一樣回不來 代替夢想的 也只能是勉為其難 我知道 吹過的牛逼也會隨青春一笑了之 讓我困在城市裡 紀念你 我已不會再對誰 滿懷期待 我知道 這個世界每天都有太多遺憾 所以 你好 再見」\n20241211 持續解析：八炯真的有被美國國會邀請嗎？ 感謝貓貓頭社長的解說，八炯到美國國會的事情，原來不是官方的的活動。就我跟中國網友的接觸經驗來看，「中南海聽床師」可不是什麼好聽的話，哪有人會這樣自稱的，這是比編故事大師還要嚴重的污辱。就因為太多民小沒什麼技術含量，整天喜歡亂聽床，比劉仲敬的大洪水講的還誇張，才導致一些人對民運失望，比如浪人（但其實還是有認真反共的，數量太少，中國國內的張獻忠都搶走風采。話說浪人其實也是立場反轉的粉紅罷了，理中客是不存在的）。而台灣閩南人繼承了支性，導致獵巫批鬥樣樣也不會少，搞得出來回覆的都會陷入自證陷阱。戰狼小粉紅意圖對台不友善，然後我們用這種泥巴仗回擊？王志安今年做過一部影片拷打民小，看了感覺真可憐：海外民运的“国是会议”，为什么根本没人在意？ 用匪語說，這種博主就是洽愛國流量爛錢的，然後輪子又很樂意資助這些活動，不過是跟小粉紅立場反過來而已。大概跟油頭六四分（到日本碰瓷反華店家的小粉紅）是差不多的角色。對政治小丑沒什麼好說的，當娛樂節目看看倒還好，畢竟我也是用這種心態去看館長的節目的。\n20241210 我很慶幸二年前架部落格的時候，網頁框架選Hugo，讓我能夠快速做出想要的網站。是的，Hugo屬於靜態網站生成器(SSG)，只有一個Go語言的執行檔，只要給定模板和Markdown，就能輸出HTML，然後上線。無廢話，無NPM套件管理，不需要Wordpress的後端，部署速度超快。即使文章超過1000篇了依然能在30秒內跑出預覽。然後想要改一些小功能，我可以新增幾個go template檔案複寫，就像在改Linux Hyprland界面主題一樣駭進去。若要做特殊版面的網頁，使用jQuery基本能達到要求。Hugo基本上很符合我2013年初學JavaScript ES5的時候對網頁的想像，一個檔案一個網頁。Hugo的功能，是我切換到Next.JS的時候，所不能企及的方便。當然，我知道靜態網站是沒有未來的，好像在用20年前的思維做網站，全端的前端開發更前瞻性，所以我嘗試學能夠平戰轉換的框架 —— 例如Next.JS，能做動態網頁和靜態網頁。可是，光處理NPM套件管理問題就好累人了，要部署的時候更是要等上Hugo十倍以上時間。什麼功能都要用React寫，累人。我想專注在文字創作，而不是花時間寫一堆複雜語法。\n20241209 到了20歲這個年紀，人老了，要學會感恩和珍惜。對我這條台獨狗來說確實很老了，pun intended! 學Linux最快的方法就是弄髒手，get hands dirty。我要你顫抖！要你燃燒！喔喔喔喔喔，我要你的血液激烈跳動！在虛擬機裡面沒辦法認識到「世界」的真實，實際在自己的電腦安裝Linux，把日常生活包括coding、文書、遊戲、上網、多媒體製作都浸泡在Linux上，然後被「白金之星」痛打一頓才能慢慢了解到這系統的極限，超脫人類的存在，戰術知性體。應當反轉的是Linux只有CLI為主的印象，GUI也很好用的，因為用越久，越能懂得感恩，感恩這世界上有這自由軟體社群創造的，混合CLI與GUI的奇蹟（キセキ）← 這個片假名像極了口吐白沫的樣子。\n20241209 【書影心潮】Club Penguin In The Vietnam War (1955-1975 Colorized) 企鵝參加越戰，殺得你死我活，原來企鵝俱樂部就是這樣倒掉的\u0026hellip;\u0026hellip;原本以為是meme，結果在Youtube看完全片才知道是個感傷的故事。1985年的電影《ペンギンズ・メモリー 幸福物語》，全企鵝角色看起來很像以前網路遊戲《企鵝俱樂部》的場景，但其實是啤酒廣告出現的角色 【懐かCM】幸福物語 ﾍﾟﾝｷﾞﾝｽﾞﾒﾓﾘｰ ｻﾝﾄﾘｰ缶ビールCM全集 【1984-1985】 ，因為反響不錯，後來決定製作成長篇動畫。這部電影節奏很慢，主角Mike失去所有同伴回鄉後得到PTSD，自此封閉內心。很像《第一滴血》的劇情，還因為戰爭傷痛而覺醒蠻力揍人。封閉內心的Mike走上放浪之旅，遇到真愛Jill，經過一番奮鬥後重新敞開內心。標題完全是詐欺，根本就是悲劇嘛！所幸最後放浪的兩人真的得到幸福了。動畫主題曲〈Sweet Memories〉是松田聖子唱的喔，收錄於1983年的專輯，這首歌也出現在廣告中，就成為了一切的開始。這種愛情片看來很老套，但是在當時是標準劇情模式，也揭示愛的力量。裡面引用了Randall James的詩作：旅人想要尋求旅途的終點，卻又會再踏上新的旅途。唯一陪伴他的包袱只有夕陽。\n20241208 Canonical shows how to use Snaps without the Snap Store - The Register 不知道Ubuntu桌面用戶對Snap軟體格式的感覺如何呢？是恨之入骨，還是無視它呢？我是後者，想到才用。我看Reddit和Hacker News幾乎是一面倒的在罵Snap。我知道這不能代表所有Linux用戶意見，但主流社群氛圍大抵上是如此。Ubuntu 16.04就有內建Snap了，當時它只會靜靜的待在系統裡面。22.04之後Snap會攔截部份APT指令，強制安裝Snap版本的套件，我猜這是很多人對Snap反感的因素。有人批評說Snap Store被Canonical壟斷，還是專有軟體。但是我看Snap官方文件，發現其實Snap Store是能自架的，沒有壟斷問題。Snap打包所採取的AppArmor、SquashFS也是現存的開源技術，沒有任何專有軟體的實現。這只是我個人感覺啦，感覺Linux社群開發者普遍不重視Snap。Github的很多小型專案除了deb外可能還會提供Flatpak套件，甚至二進位檔，但就是沒有Snap。有不少著名軟體的Snap還是Canonical自行打包的，開發者沒什麼興趣維護Snap。儘管Ubuntu宣稱Snap Store有超過7000個APP，但討論熱度還是不及只有2000個APP的Flathub。Snap的運作模式，似乎只解決了開發者和企業伺服器的維護需求，可以無視host版本安裝最新版軟體，適合裝CLI程式，但這對桌面用戶效益不大。跑圖形化程式Snap沒什麼優勢，Flatpak比較受桌面用戶青睞，相應的討論多很多。\n20241208 縱然是兩個國家，台灣的文化被中國影響很深是免不了的，脫支短期內不可能，遇到支語警察我就會說：ok boomer。其實我漸漸覺得講支語不是壞事，除非專業用途有需要正式名詞，否則口頭講講並不會怎樣。ㄘㄟˊ！語言本來就是會變化的，英文就是一個吸納各種歐洲語言的例子，台語也有很多外來詞，跳脫無腦仇中的意識型態很多事情就會看得比較清楚。尤其看支語警察氣急敗壞更覺得是一群傻鳥在作怪。我倒覺得把中國用語當作方言或者流行語處理就好，這樣看待的心態上就會輕鬆很多，我們又不是大日本帝國禁止說敵性語(てきせいご)，結果法西斯竟然是我自己。支語警察問題有很多種，一種是中文造詣不佳，誤認慣用用語為支語；或者too young, too simple ，沒聽過的講法就指責人家是支語。不然就是跟不上時代，說年輕人流行語都是支語，也就是我文首講的ok boomer。還有一種認為台灣獨立性很重要，所以完全不能講支語的，還應該推廣台灣台語優越主義的，那我只能說你國真的太看得起自己了，沒實力還大小聲。絕種的動物有博物館做最後的歸宿，消逝的語言最後也只能躺在字典裡面。\n20241208 Immutable Distro在Linux桌面領域是相對新穎的概念，超越了傳統Linux發行版，裡面很多操作都太前衛了，未來會不會成為主流尚不清楚。中文媒體翻譯多半將immutable稱為「不可變」系統，我有個更中二的翻法，那就是「不滅」系統。每當你用ostree更新的時候就是在進行「創世滅亡輪迴」，本來這個講法是想用在distro-hopping，但是immutable更合適。全印度神性統合的阿周那，在FGO異聞帶不斷進行創造與毀滅世界的過程，只有善的人才能留下，其他惡的在世界更新之後都抹去。這樣的世界因為可能性太少，所以成為剪定事象。我想，openSUSE的開發者可能意會到了輪迴現象，才會把MicroOS的桌面版分別取名為「Aeon」和「Kalpa」，這兩個字都是梵語中「劫」的意思。你想嘛，Fedora Silverblue和openSUSE MicroOS的都希望維護系統的純潔性，雖然背後實作手段不同，但是概念是類似的。把系統當作一個大型git repository，目的是讓系統分區能夠隨意回滾，且讓系統不會因為裝套件太多導致垃圾叢生。每次更新直接覆蓋舊有系統，使用者的變更除了存設定檔的目錄以外全部捨棄，壞東西也跟著不見。那這樣Linux會不會變成ChromeOS一樣的跛腳系統呢，否，使用者依然保留sudo的權力，可以自行\u0026quot;commit\u0026rdquo;，對系統這個大型repository做變更，自訂映像檔內容，並且日後可以被追蹤。此外，透過Podman的rootless容器化操作，能夠取代一些過去需要動到系統分區的服務，比如跑個伺服器service。為了讓系統更強健，我們還需要一個不滅鑽石 —— Oracle的Unbreakable Linux Kernel。未來如果Immutable Distro要更多人用，他們還得找出更簡化的系統維護方式，最好是能用GUI完成的。\n20241207 為什麼不玩《Minecraft》遊戲？別忘記它缺點就是專有軟體！2022年，剛接觸FSF官網寫的自由軟體理念，讀到了「Google/Microsoft/Apple \u0026rsquo;s software are malware」系列文章後逐漸變得極端。依照FSF的標準，幾乎所有IT公司的產品，不開源都是惡意軟體嘛，哪天RedHat被批鬥也不意外。專有軟體常是惡意軟體 - GNU 專案- 自由軟體基金會最魔怔的時候，我除了要開源的Linux系統，LibreBoot硬體，就連玩的遊戲也得是開源的。所以就有了文首的這篇暴論，批鬥我最愛的Minecraft，用最激烈的方式吐狼奶。其實當時寫那篇的動機比較偏向對Minecraft用於教育用途不滿，Minecraft可是Microsoft的產品！你把Minecraft用在國小教育，不就是跟以前學校教Office一樣意圖綁住人們的選擇了嗎！後來想想「專有軟體」的立基點其實很牽強，要批評Minecraft應該有更多地方能罵才對，故這篇文章我視之為黑歷史，並不再刻意追求開源遊戲。講回開源遊戲，上山下海的搜尋後，真沒幾款符合我口味，多是《0. A.D》這類2D遊戲，開源的Galgame更是只有《片輪少女》，3D大作不多。玩到現在的開源遊戲主要就《Minetest》，可以裝模組，道德上玩得比Minecraft心安。\n20241207 Linux命令行操作小技巧：在指令最前面加上\u0026quot;LANG=\u0026ldquo;可以暫時切換語系為英文，強制除錯訊息輸出為英文。對於需要使用「google除錯法」的開發者很有用，例如在編譯GCC的時候強制吐英文訊息更容易找到答案，不用問身邊的小黃鴨這個中文錯誤代表什麼意思，結果拿去搜尋都找到CSDN的低品質內容。以前有些人裝Linux桌面的時候刻意選英文配中文輸入法，可能也是擔心錯誤訊息被翻譯成中文後反而看不懂問題是什麼，現在應該沒這種必要了。\n20241207 我又來用Fedora 41了，可是部份套件有詭異的bug，像Firefox配合Pipewire的音訊會有波波雜訊。如果從想要追求穩定性(\u0026ldquo;IT JUST WORKS\u0026rdquo;)的角度來看，Fedora根本不該被推薦給桌面用戶，除非他是想便乘RPM的指令好入門RHEL。說Fedora是\u0026quot;the new Ubuntu\u0026quot;的可以省省了（一些人認為Canonical不尊重社區，但是那不過是Reddit的偏見罷了）。因為Fedora更新太快，沒有長期支援保證，亦沒有Ubuntu開箱即用的友善。即使打包最新GNOME特性，也沒有下游RHEL和Rocky Linux穩定。而下游求穩的代價就是少一堆套件，連Fcitx5和BTRFS都沒無。Debian可能還會有人打包套件，Rocky Linux太少人維護，openSUSE Leap亦是如此。順帶一提，以前我信了人家的講法，上車去用openSUSE Tumbleweed，說什麼套件釋出前都會跑自動化QA所以相對穩定，但其實還是不穩定呀，KDE一更新就出問題，他們的Wiki甚至還說更新系統最好在tty執行免得更新到一半圖形界面崩潰。世界上真正穩定的Linux發行版，只有Debian Stable與Ubuntu LTS和其延伸，生態完整又很多人用。是真正社群創造的奇蹟。Arch Linux的滾動更新模式註定會嚇跑想要求穩的用戶，或許未來能被SteamOS的immutable distro模式翻轉（而不是Manjaro那種貴物），但那樣的話也就不再是Arch了。\n20241204 【書影心潮】2018年看過，時隔幾年再看《戰鬥妖精雪風》真的能看懂很多東西。首先是細節，GONZO的動畫沒話說，2004年透過2D和3D技術，將噴射戰鬥機空戰做得非常寫實，再加上監督花了大把時間到日本自衛隊取材，使得空戰的音效畫面就像真人電影一樣，臨場感做得很逼真。即使劇情是在打外星人也沒有到很失真的地步，每集都有值得一看的空戰。本劇沒有女高中生開飛機，沒有飛天小褲褲，沒有賣肉（除了主角兩人gay gay的，還有深井零的夢中認為雪風是女性的妖精形象），只有刺激硬派的戰鬥，看完十分過癮，這真的是近代日本繼《Area 88》之後最好的現代空戰動畫。再講劇情部份，OVA改編的版本交代的細節不多，但是是環環相扣的，JAM為什麼要跟人類對抗，從第一集就能看出端倪。劇中細節很多，比如飛機儀表板的終端機訊息說明了人機一體的厲害，還有電腦螢幕上關於戰死者的消息暗示了JAM早就侵入人類內部，上層的為了消滅JAM不擇手段派人送死。如果要說最明的暗示橋段，應該就是第一集被禁飛的時候，深井零流淚，雪風也在漏機油的畫面吧。這部動畫的主題是什麼呢？可以從很多個面向下去探討，從大環境來看，人類對近在眼前的威脅毫不知情，以為JAM被趕出地球後彷彿就不存在了，可是他們還是得直面威脅。還有，整部劇情都在暗示無人機將主導未來空戰，就像《Top Gun Maverick》裡面Tom Cruise所感慨的一樣。現實世界中可沒有雪風這麼OP的戰術知性體就是了（其實有喔，AI可以用來操控F-16，以後就有AI投入戰爭了，或許那時是會任性的AI要求有人類駕駛員配合才給發動？）。整部作品一直在探討人和機器之間的關係，深井零透過他人之口證明自己是人類，而雪風也透過心裡分析讓人知道自己不單只是機器而已。其實劇情到後面我有點看不懂了，大概是集數太少了所以最後一集才在趕火車？得看原作小說。JAM似乎是機器一樣的存在，接著試圖複製人類，最後整個異星球都變成JAM的樣貌，原來整個星球都是模擬出來的陷阱？JAM只對人機一體的兩人有高度興趣（最後一集雪風操控大量無人機開無雙真的蠻扯的），導致最後殿後犧牲。這部動畫的主題其實滿模糊的，要讀者思考而不明確給答案，多虧動畫用精彩空戰給人留下深刻印象。以前在已經倒掉的Xuite看過一篇網誌分析，內容好像是：《戰鬥妖精雪風》劇情是在暗示人與現實的對抗，現實的痛苦是真正存在的，但是很多人假裝看不到，而主角是作為反抗者的存在，在與JAM的作戰中逐漸了解到人的本質。\n20241204 推薦日本軍事動漫，限定寫實的空戰，不要女高中生，不要小褲褲魔女，不要賣萌，那麼還是有一些佳作的：1982年《超時空要塞》、1985年《空戰88區》、1992年《紅豬》、2004年《戰鬥妖精雪風》、2008年《空中殺手》我覺得軍事細節處理很好，但是媚宅的空戰動畫：《荒野的壽飛行隊》、《強襲魔女》、《青空少女隊》、《戰翼的希格德莉法》、《艦隊Collection 總有一天，在那片海》。還有很多很多。暴論投下：但凡女人坐上飛機就會毀掉作品。我針對的不是女性，而是導演意圖。儘管也有女人開飛機的好作品，如《對某飛行員的追憶》，但額外的元素加太多就會失焦。你應該要學學戰鬥妖精雪風！不一定要美少女，只要跟AI看對眼就能建立連結。Queen有一首歌叫做I\u0026rsquo;m In Love With My Car，就是這個道理。\n20241203 我很欣賞Arch Linux一點就是不藏私，鼓勵使用者動手學習，這樣他們遇到問題就不會望GUI興嘆，而是學習用CLI看debug log。Arch Linux的開發者說過：「如果你嘗試隱藏系統的複雜性，於是就得到一個更加複雜的系統。為了隱藏內部機制而設定抽象層並非良好的架構方法，而應該把內部機制設計得精良而無需隱藏。」如果把這句話套用到桌面環境呢，那就是用GNOME真的會讓人變笨，他們把太多東西藏起來了，相較之下KDE提供非常全面的選項，讓你輕鬆編輯系統相關設定，並鼓勵你探索系統。圖形環境就是要方便人與系統設定檔互動的，而不是在一個精簡到家的界面，連調整個簡單的東西都要打指令。GNOME要精簡優雅的界面，卻一堆功能都做不好。比如設定預設程式，GNOME只給你五個選項，KDE是全部的檔案關聯都能調整。再如自訂APP啟動參數，GNOME用戶必須知道桌面的圖示實際上是指向/usr/share/applications的entry才能編輯，而KDE每個圖示都能右鍵，輕鬆就能找到程式二進位檔躲在哪裡。更不要講gsettings了，GNOME一堆重要的選項都不圖形化，還要讓人用指令開！搞得好像Windows登錄檔一樣的隱藏設定。Fedora用戶寫的意見：Gnome is a terrible experience for experienced users - r/Fedora 說的太好了！我用KDE久了，偶爾會厭倦臃腫，回去用簡單的GNOME，並知道某個東西沒有圖形界面的時候要怎麼處理（比如輸入法沒有系統匣面板，就知道要裝Input Method Panel），知道什麼指令能補足，但那絕對不是GNOME教給我的，而是在KDE調整系統的經驗學到的操作。\n20241203 Re: [問卦] 如果兩岸開戰了，你會出來抗中保台嗎？：「以國共內戰時期的歷史來說，躲避徵兵最可行的辦法是「逃兵」(不論報到前後)」。很喜歡日本年輕人在NHK訪問時候講的，一個要人民為它去死的國家，就讓它滅亡好了。再根據這篇Re: [問卦] 幹你娘，誰再給我洗投降風向就去吃屎：「這就要談到支那躺平族經常說的，奇怪了，你們撈錢的時候我沒份，你們炒房的時候我沒份，內線交易炒股的時候也沒份，說到打仗為國的時候，都有我一份，真的是同島一命啊。」雖然目前是已經怎樣都無所謂的地步，但是人畢竟是怕死的，務實點，接受為了無聊至極的台獨政府死亡，或者早點規劃移民事宜，問題是潤不出去。\n20241202 王道動漫的對話 ：「要換用Linux，我推薦大家用Ubuntu」 ：「Ubuntu是Linux最爛的發行版，你應該用：Arch，因為\u0026hellip;x$\u0026amp;% btw I use Arch」 ：「我並沒有問你的意見」 ～ 偷自Reddit r/linuxmasterrace 這張截圖出自動畫《理科生墜入情網，故嘗試證明》，是少數出現野生Linux系統的動漫。因為主角就是在實驗室裡面，剛好這句對白很適合做梗圖。那傢伙竟敢無視燈\u0026hellip;\u0026hellip;。\n20241202 為什麼我放棄了Linux智慧手機與Linux平板的道路呢，而這讓我絕望，董小姐。自從2022年著了Linux自由軟體的道以來，我就積極的追求這類自由硬體，以至於購買PinePhone，用Allwinner A64處理器的手機取代我那搭載s865處理器的Sony Xperia 5 II，堅持一個禮拜就不行了。從附圖應該能看出端倪——2019年發售的PinePhone的OmniVision OV5640鏡頭，可能是2014年手機的等級。還有處理器太慢了，比s400還不如。後來想要平板，拿六倍券去買PineTab，撐了一年後改買了正常人都在買的iPad。事實證明Linux系統離了鍵盤就什麼都不是，即使Purism公司力推的觸控桌面環境Phosh，在功能性和穩定度甚至無法超越以前的功能機，不要說功能機了，先有Ubuntu touch界面的完成度再說吧，而Ubuntu touch現在也沒有太多革新。對一般用戶來說，你要先照顧好拍照上網這些基本需求，而不是認為手機能跑SSH和Docker是多麼重要的事情，更別說自由軟體這種虛無飄渺理念。此外手機對一般用戶不是只有上網需求而已，好螢幕好喇叭更是很多人追求的東西。而PinePhone這些都不具備，使得它成為很糟糕的娛樂裝置，PineTab亦然。每當我拿起Android手機拍攝作業、iPad做報告並列印的時候就會不自覺想到，如果我現在還繼續堅持Linux行動裝置的路線，我會變得怎麼樣？會從數位原住民變成數位賤民麼。如果Linux Phone連這些日常不過的事情都難以達成，怎麼能擔大任？在解決掉我上述講的基本需求之前，Linux Phone將一直會是駭客的玩具。\n20241202 在south-plus看到有人說要體驗一射而空的快感，不是在飛機杯裡面射精，而是要快射的時候拔出來噴射才好。「这个问题很简单，我都是最后拔出来射的，这样两者的优点兼具。试过真人的都知道，阴道其实压迫感比飞机杯要低，压迫力太强反而会对射精造成阻力，但杯子由于不带肌肉，只能通过这种方式实现“紧握”（和手、阴道的紧握完全不同），也很难区分射精时想要继续刺激的根部和想要放松的头部。所以忍到最后立刻拔出来射，才更容易体会到那种几乎把蛋蛋射空的解放感。」有，有嗎，拔出來的高射砲噴射也得要夠壯才能射得夠遠才行，不然還是灌入填滿的感覺比較爽吧。\n20241202 綠的就一定是好人？白和藍就一定是壞人？以文會友，不要以廢文會友。怎麼可能呢？這句話的意思不是說要長篇大論取代個人FB感想，而是說，在網路深刻認識朋友是很難的，敵對政黨背後可能有好人，友好政黨背後可能有壞人，很多事情就沒絕對，但是網路風向極化是不可避免，連帶影響到人的思緒。事實上沒有誰比較高級，大家都是閩ㄏㄡ\u0026hellip;額，我是說，台灣人。玩社群媒體的就不可避免貼標籤的問題，身份政治非常常見，這是在混沌的網路生態中快速找到同伴的方法，營造同溫層，早期的Threads就是哥布林魔窟，現在有平衡打擊了，正如PTT有八卦板和政黑板對立一樣，多元不是壞事，是好事！核戰爭要大打特打！許多人在bio打一堆支持台灣獨立、反核電、反中的標籤，就會作為一種輕鬆辨別你我的標識符，讓人想追蹤，可你怎麼知道追蹤之後對方竟是個狼心狗肺呢，例如八千房東？換了相反的例子，有人寫挺阿北我就追蹤了，結果竟然是個大中國沙文主義者，思維跟小粉紅一樣，背離民眾黨柯文哲的宗旨，叫我難以接受。這種例子很多，很多事情不是二分法能解決的，然而周遭的環境試圖逼你選邊站，又扼殺理性討論的空間。在網路上爭吵，不論是政治種族宗教性別，都是浪費心神的事情，這些東西即使用書籍筆戰也吵不完，怎麼覺得網路上你一言我一語的留言就能有結果。可我這嘴怎麼就那麼賤呢，凡看到塔綠班造謠就會出來嘴一句，弄到最後一身腥。Reddit r/nosurf勸你多看，在這些很多時候都不真正重要的議題中，不隨波逐流才是明智之舉。\n20241201 部落格應不應該放廣告是一回事，想申請Adsense但是頻頻遭拒又是一回事，所以才會找三流的廣告聯播網。我承認Ivon的部落格的廣告品質不好，充斥誤導性的廣告，導致觀感不佳。但是我只能說，要等到我上岸的那一天，廣告才會消失。在此之前，請愛用Brave瀏覽器之類的來看網站（其實我連看自己的網站也是開著adblock）\n20241131 How To Use The GNOME Desktop Environment Linux GNOME桌面能有生產力嗎？以前用過好幾次覺得難用，但一年後我又回來用GNOME了，這次在筆電裝Fedora 41，打算跟另一台電腦的Ubuntu 24 KDE並行使用。這裡有一部影片解釋GNOME的操作邏輯，證實很多人覺得GNOME難用，是因為他們根本沒有把腦袋轉過來。RETHINK THE DESKTOP. GNOME可能是最好的Linux桌面。It is the face of Linux desktop，非必要不安裝擴充套件，硬把它變成Windows，而是學習使用GNOME的邏輯來做事。論顏值，GTK4已經有一套自己美學，不需要裝macOS主題搞瞎雞巴美化，一切保持預設就好。此處討論的GNOME是vanilla的設計，例如Fedora，不是Ubuntu和PopOS打過patch的版本。GNOME不是那種適合po在r/unixporn的桌面，因為太無聊了，我這幾年用起來也有這種感覺。GNOME設計宗旨就是無趣，get the things done. 不要讓使用者有太多干擾，一個工作區（虛擬桌面）兩個程式視窗就很多了。預設情況下GNOME視窗甚至沒有縮小放大鍵，只有打叉，讓你必須很清楚知道自己是不是需要開著那麼多視窗。透過自動增殖的工作區來容納程式，並且程式操作的時候應最大化專注在一個程式就好，不要有工作列干擾。GNOME桌面只是背景，不讓你放檔案也是為了讓你更好的整理硬碟資料，不要什麼都無腦丟到桌面。不得不承認這個設計從初識GNOME後就確實影響我到現在，導致在用KDE的時候也不會把檔案放桌面。GNOME太精簡，內建APP功能少是事實，連圖片檢視器都只能看圖而已，基本調整功能都沒有，那使用者就得自己裝適合的程式來補充。\n20241130 AngelCrawford/joplin-theme 使用貴鬆鬆的筆記軟體搞子彈筆記(bullet journal)，買一堆付費又專有的模板，結果人家在免費的Joplin裡面用HTML模板就實現了。這些開發者真的很有創意，Joplin支援HTML，所以不用等原作者加功能，完全能用CSS硬幹其他筆記軟體的功能過來，再不濟還有JavaScript寫成的擴充套件。額不過對average joe來說，要搞熟悉Markdown語法就有困難了，這種hacking玩法不適合只會點選單的用戶。\n20241130 發文、回文為什麼要貼ChatGPT生成的回答？身為E世代的新新人類，你以為我不會用嗎？尤以技術性貼文為重災區，完全AI summary又沒有自己的見解。人們應該有個前提，在論壇希望聽到活人討論(authenticity)，分享實在經驗，而不是機械性的回答，還是你認為ChatGPT比\u0026quot;RTFM\u0026quot;要有禮貌些？在Github issue人家討論bug的時候你貼GPT回答試試看，馬上被lock。\n20241130 TechHut: FINALLY, a real Linux Tablet 業配味真重！Linux平板繼續用x86還有未來嗎？不知不覺Juno Tab也出到3了，最新一代使用Intel N100，2K螢幕，12GB RAM，512GB ROM，搭載Phosh桌面 + Debian系統，賣得比Surface Go 4還貴一點，700美元。規格看起來還不錯，雖然TechHut的Youtube業配影片下面有人說這是中國機貼牌就是了，完全overpriced（許多英文媒體也這樣講，好壞XD）。官網宣稱自己是\u0026quot;The Most Compatible Linux Tablet in the Market\u0026rdquo;？大概是吃到x86的紅利吧，不用擔心ARM驅動問題。打從2022年推出第一代以來，官網的購買頁面到現在還有ARM與x86的比較表格，堵你們這些挑剔的Linu用戶的嘴！從這裡可以看得出廠商的難處，處理x86架構Linux驅動簡單多了，ARM架構的Linux是瘋狂宇宙（看向JingPad和PineTab），只有Android廠才能活下來。我覺得Juno還算有心啦，官方Youtube頻道親自拍了一些開箱影片，以及把它當導航機的實際案例，可我怎麼覺得Surface才是最好的x86 Linux平板呢，不會買不到配件。\n20241130 Pinetab 2 Arch Linux AMR的GNOME已經不穩定一年了，到現在GNOME Control Center字依然莫名消失，究竟是沒人維護的問題，還是Mali GPU驅動的問題呢，真是受夠了，我決定換成Mobian(基於Debian testing)，ㄟ，結果問題還是在。喔，原來是今年1月改了GTK Renderer的問題？？要設定GSK_RENDERER=gl才會正常顯示，但GNOME居然無視全域環境變數，只有終端機啟動才有效。到底在搞什麼啊？眼睛（開發者）不夠多，就會發生這種慘況。啊幹我找到了問題了啦，原來是還有另一個指令稿會偷偷設定環境變數，難怪我怎麼改都沒有用。Slow GTK4 apps since GSK_RENDERER change. #175。Arch Linux \u0026ldquo;ARM\u0026rdquo; 跟本家是不同的專案，不像Debian什麼架構都支援，Arch Linux本家只支援x86_64架構，所以Arch Linux ARM其實是相當小眾的社群，就算Arch Wiki和AUR的資源可以沿用，但是整體品質比不上x86版。在行動Linux系統領域中，私以為佼佼者還得是postmarketOS和Mobian。可是Mobian眼睛同樣少，且維護者還沒把bes2600的驅動merge；postmarketOS要進入Stable Branch的機子也不是很多，Edge分支很抖。這樣看來PineTab 2目前根本沒有point to release的穩定系統能用，從上市以來已經一年了啊。如果ARM世界有更多公司像樹莓派基金會這麼佛又負責任那就好了。好了，現在換到筆電的Arch Linux x86一更新後，居然炸了SD卡讀卡機的驅動。\n20241129 simonxix: existentialism and free and open-source software: an attempted synthesis 存在主義與自由開源軟體有什麼相似之處？非工程師，為什麼要拋棄舒適的Windows和macOS系統，改用GNU/Linux？ (此處不包含Android和ChromeOS，僅限Ubuntu、Fedora、Arch Linux這類的才是GNU/Linux）除了復活蕃薯電腦(potato pc)之外，Linux還有什麼價值值得追求？「存在主義與自由開源軟體的關係」，夠說服人了吧，我這個文組的都信了。在讀完自由軟體基金會官網Richard Stallman主筆的一系列自由軟體理念的文章之後，可以從這篇文章的新角度切入。即，人們必須要對自己的自由負責。使用GNU/Linux就是捍衛你的決心的第一步。\n20241129 Threads的演算法看起來改壞了，不是要說減少陌生人的推文內容嗎？首頁「為你推薦」，不再推一些同樣興趣的文章，比如我講Linux相關的貼文，那應該要90%內容都是科技業相關的。結果最近，學Facebook推不相干異溫層資訊。開始看到根本沒追蹤的政治廚塔綠班貼文（不過偶爾出現小草貼文我還是會欣慰啦）、幹話meme、ragebaiting、莫名其妙的雞湯的機率暴增了，開始跟Facebook一樣。ㄏㄏ，Meta的平台終究要爛的。還是Reddit subreddit的演算法好。\n20241129 俗話說，愛之深責之切，整天嫌棄GNU/Linux的界面這裡不好那裡不好，但我應該還是會繼續用，因為日常混合命令行和圖形界面的操作已經內化太深，其他系統都難以達到這種高自訂性的體驗。再加上自由軟體理念打動了我，讓人願意繼續支持下去。不過使用的範圍就僅限GNU/Linux桌面和GNU/Linux伺服器了，變形GNU/Linux筆電或許可以，GNU/Linux手機和GNU/Linux平板先不要 == 這是兩年下來嘗試後得出來的結論，GNU/Linux的極限還是適合桌面使用。\n20241128 Hacker News有篇文章講了GNU/Linux做不到，但Android成功的部份。Ask HN: Why is Android not just another GNU/Linux distro? The Year of the Linux Desktop的梗可以用中國流行語來解釋，那就是：我們Linux桌面(漢族)已經崛起了，你還沒收到通知嗎？再看向那4%仔的桌面系統市占率，Linux用戶，隱忍！Linux其實已經統治全世界？你說的是哪個Linux？這裡可不是在講伺服器，一般人會關心超級電腦跑什麼系統？別再把基於Linux核心的系統也算進去了，ChromeOS、Android不會有人把它當成GNU/Linux的，開源社區胡搞瞎搞桌面好幾年了還沒有像樣的GUI，X11和Wayland的戰爭什麼時候才能到頭。我們是不是要先有好的圖形介面，再來談開發和玩遊戲的好處？對一般人來說，GNU/Linux對程式設計師友好的特色真不夠吸引人，自由軟體理念也敵不過血腥商業利益。被迫接受不直覺的操作模式，用電腦搞得好像苦行僧似的，yare yare。在知乎看過抖機靈回答：「Android是最好的Linux圖形界面發行版」放寬心想，似乎真是如此。不要認為Android是縫合怪，不算Linux。玩過許多Linux發行版後，覺得同為自由軟體，Google主導的Android比一般GNU/Linux好用，界面無人能敵，哎，資本！沒有它就不會有人專注考量使用者體驗，讓人沈迷產品無法自拔，而非單純滿足程式設計師的野望而已。Android未來或許能反攻桌面市場，Android 16以後將加入虛擬化與桌面模式支援（現在講這個為之過早，但我對此保持樂觀）。Android未來可能會成日常簡單易用，需要進階功能時亦有工具支援的高伸縮性系統，在實用性與自由軟體之間取得了平衡。\n20241128 雖然是Linux用戶，每週都會打指令，但是我很不愛用命令行，所以對Hyprland這類視窗管理員用戶滿感冒的，他們很多軟體都用TUI，為什麼不多花點時間用QT或GTK做GUI呢。蠻多開源軟體的開發者寫程式很厲害，但是做UI/UX則是落後Windows和macOS專有軟體20年以上，完全沒有設計感。他們還會狡辯說我大部分用命令行，界面能動就好。可是界面使用者看了很糟心呀，工作就很難做下去。最新GTK4應該改善了此現象，但很多Linux程式看起來還是醜，到底是多不會選框架。即使r/unixporn的人再會美化，那些使用者體驗要如何讓人輕易複製呢。因此在推薦桌面的時候，我還是KDE和GNOME為主，雖然知道他們問題很多，可他們至少有個大型團隊在維護，各自生態系的APP擁有一致的設計感，最近官網甚至出版了人機界面設計指南。我不喜歡命令行程式，不要再當CLI優越主義者了，如果程式有GUI就不會用CLI的方案，懶得配置，vimrc沒太多個人化個定，大部分都按照預設配置走。解決問題時盡量採取distro-agnostic作法。譬如調整網路設定不甩Ubuntu的Netplan，而是用大部份發行版的NetworkManager，因為我想要「共容、共融、共榮」。我不喜歡命令行程式，如果程式有GUI就傾向不用cli的方案（或是需要配置一堆設定檔的軟體），除非要搞批次處理。具體例子：feh vs Gwenview、RIME vs Fcitx5、vim vs VSCode、Docker cli vs Portainer、ImageMagick vs Krita、ffmpeg vs Kdenlive、ranger vs Dolphin、unzip vs KDE Ark、parted vs gparted。\n20241126 一眼就在賣課的社群媒體帳號是我最不想追蹤的，100%貼文都在分享XX使用秘訣的帳號，更討厭。所以我喜歡看電腦玩物的文章，卻不會將它加入RSS訂閱列表。我大概能猜到這些人經營社群媒體的策略，就是希望營造獨家內容，從而讓人覺得值得追蹤。因為你只要追蹤我就能看到「每日生產力秘訣」、「Notion心法」、「你該知道的讀書技巧」，看完覺得自己好像又學到了一課。自我特色在混亂的網路環境是很重要的，因為有「連貫性」才能鶴立雞群，讓人認為追蹤你，花時間看你貼文是值得的，從而去買產品。如果發文主題總是不連貫又非常主觀，那只會吸引到邪教徒。可，人們應該更貼近讀者，而不是將社群媒體當成打廣告的地方。日常發一些噓寒問暖的貼文，別時時刻刻保持專業形象，搞得好像我下班/放學後又跑去上課，無法靜下心來。社群媒體太多噪音，對新資訊形成FOMO的知識焦慮，還有productivity bias，好像不學這個就落後世界了一樣。我覺得自己的貼文也有這些問題，好像蘇聯把空軍當成輔助陸軍的戰術單位一樣，社群媒體只是我網站的下線，必須到上游才能看到主力內容。可能我天生學渣就討厭學霸的行文風格吧，自媒體要怎樣營造的像是有血有肉的人不讓人有距離太遠的感覺呢？畢竟崇拜是距離理解最遙遠的距離。\n20241125 我覺得Mineclone這個自由軟體專案fork也太多了。就跟左派無限可分一樣，光Mineclone版本已經有5個fork了吧！VoxeLibre是一款模仿Minecraft玩法的Luanti子遊戲。以前的名字叫做MineClone 2，很直白的說我們是Minecraft複製品。2024年4月，MineClone 2開發組經過投票，決定將這個子遊戲改名為「VoxeLibre」。自從改名後，VoxeLibre專案的目標變成了「啟發自Minecraft的遊戲」，脫離Minecraft複製品的印象，因此Voxelibre會加入一些Minecraft沒有的東西，不再是單純複製Minecraft玩法，就我所知他們已經加入了漢堡等新食物，原本Minecraft來的怪物也都改名。後來有開發者fork了此專案，改名為《Mineclonia》，繼續原本Mineclone 2專案的目標，此外還有融合兩者特色的《VoxelForge》\u0026hellip;\u0026hellip;.別忘了更久以前的fork 《Mineclone 5》！為什麼分出這麼多fork呢，因為開發者意見不統一，有人想要一五一十的模仿Minecraft特性、有人想要求穩定、有人想做一款新遊戲\u0026hellip;.在開源社區你行你上的風氣下才導致這麼多fork出現吧。儘管有這麼多fork，VoxeLibre依然長期盤據Luanti ContentDB榜首，非常適合從Minecraft跳坑到Luanti，又覺得Minetest Game太無聊的新手！\n20241124 為什麼今年我脫離了用了兩年的滾動發行版Arch Linux的魔爪，改回Ubuntu。因為random breakage實在太可怕了。倒不是說常常桌面崩潰進不了KDE圖形環境什麼的，而是隨機的小錯誤，有時候要完整系統升級才能解決。這個時候在跑一些服務的時候就會很麻煩，具體例子就是Nvidia驅動，真的不行。還有我測試一些較為冷門的程式，就會碰到難以復現的錯誤，而換到Ubuntu LTS又好了。儘管AUR方便，但也要有夠多隻眼睛才行。Arch Linux最有價值的就是社群維護的Wiki了，可Arch Linux相對Debian真的是玩具系統，不能將它用在嚴肅的場合。嚴肅的場合也可以套用到自己的個人電腦場景。照顧Ubuntu的心力付出就已經很多了，實在沒空在除錯軟體的時候還要想是不是這個系統本身提供的其他套件就有問題，因為一切都是rolling release。像Debian一樣的更新模式，兩年升級崩一次，總比每幾個禮拜就崩一次的好吧。所以不論是日常使用還是開發，都應該在穩定發表的Linux發行版操作。我看過有人的Dockerfile用的是Arch Linux映像檔就會覺得怎麼會有心臟那麼大顆的人，不能因為是Github的開源專案，隨時都能放棄維護，就這樣惡整後面想貢獻的人啊。主力機子我不敢用Arch Linux了，只在較少使用的筆電安裝用於測試一些新玩意。看得越多，就越知道我要的是IT JUST WORKS的環境。\n20241123 zrok + OpenZiti打造零信任內網穿透服務？zrok是基於OpenZiti建立的平台，所有服務都可以自架。你也可以使用zrok提供的SaaS方案，免費版會員每日限定10GB流量。zrok的功能很像Cloudflare Tunnel和ngrok，差別在於它背後的技術都是全開源的，你完全能夠自架。並且完全點對點加密。\n20241123 購買Joplin Cloud的用戶，內建將筆記發表成公開網頁的功能。當然用來製作靜態網站生成器的網頁也是可以的。論Joplin筆記直接轉靜態網站生成器的網頁，有rixilui寫的Magic Mark可用，它能將Jopin筆記轉成Hexo網頁。不過那不是我想要的，因為我用Hugo。Joplin的Markdown匯出的時候會將圖片統一放到自身目錄下的_resources，其實跟Hugo Page Bundle很像。所以所有檔案貼上後簡單手動改個Markdown的相對路徑就行了。至於FrontMatter，Joplin有自己的格式，這部分得自己寫程式轉成Hugo的，或者乾脆不要匯出FrontMatter，手動複製貼上。如果需要一個漂亮的IDE來寫作Hugo網站的文章，Joplin一定不是最好選擇，而是方便我在手機平板同步草稿而已。VScode + Front Matter擴充功能，才是有效管理Hugo網站的工具。可惜它沒辦法在Code Server安裝，限制了遠端存取的用途。\n20241122 以前覺得VTuber是火山孝子在看的東西，二次元死媽了，可是自從Asahi Lina出來後就入迷了，直播在M1 Mac上移植Asahi Linux程式誰招架得住啊。她和Cyan Nyan最近組了一個叫做Tokyo Hacker Girls的團體，改編了最近熱門的歌曲APT。APT! APT! Install! 不要用exe安裝軟體，只要執行sudo apt install就好。如果畫Arch Linux Chan的繪師Ravimo RavioliMavioli也能加入搞VTuber的行列就好了哪，再叫Brodie Robertson安排節目炒作。順帶一提，Linux愛好者可以使用自由軟體搞VTuber直播，例如Inochi2D。\n20241122 比遊戲還刺激的是什麼？這幾年越來對遊戲不感興趣，舉凡過去常玩的《Minecraft》、《戰爭雷霆》、《FGO》、《艦隊Collection》一年內都沒開多少次。這些在我心中深深烙印的遊戲，即使不玩了還是會當雲玩家看近況，但是我沒辦法再享受這些遊戲了。這樣是老了，或者是人們說的電子陽痿？可是我才20歲出頭耶！我覺得應該是刺激的點變化了。distro-hopping比遊戲還好玩！如果有幸跟我一樣接觸到Gentoo Linux，學習組裝自己的系統，照樣能夠玩到天荒地暗，廢寢忘食。系統炸了就修，不然就換其他系統。如果覺得研究Linux核心太無趣，那麼搞一些容器、虛擬化的self-hosted服務研究，那更是會進入rabbit hole。如果要說現在比較常開的遊戲，可能就是《Minetest》了，它好比遊戲版的Linux，又有Minecraft的熟悉元素，讓人裝模組和客製化內容，更重要的是它是自由軟體。此外Valve投資的Steam Proton我也很有興趣，可是我在乎的還是折騰方面的玩法吧，而非享受遊戲本身。所以遊戲退居到二線位置，成為純娛樂選項，不再是生活重心。 Why does gaming on Linux feels \u0026ldquo;more fun\u0026rdquo; than gaming on Windows?\n20241122 最近幾年一直想買Nokia的經典復刻系列，比如翻蓋機、直立機，老設計加上Android系統4G，那才是手機該有的樣子。雖然我小時候根本沒拿過Nokia的手機，頂多玩過父母的需要觸控筆的智障型手機罷了，好像兼具PDA的功能？講到理想的手機尺寸，我覺得應該是iPhone SE 2016的四吋大小，剛好就是能拿在男生手裡單手滑的樣子。雖然這台不能更新了，偶爾拿出來把玩還是讚嘆它的小巧能幹。iPhone 12 Mini和Google Pixel 5也不賴。現在的手機發展越來越過了，重量超過170g不說，尺寸還動不動超過6吋。雖然我很欣賞Google Pixel的原生系統，但是新款太大支外型又很醜，很難納入考慮。小手機越來越沒有市場了，所以我才想過要不要買Nokia的智慧型翻蓋手機，那可能是目前尺寸最小的了，順便能搞digital minimalism。但基於實用性考量還是算了，我還沒悠閒到拿老人機或者dumbphone，不滑手機真的會死，手機能做的事情太多了，還是挑正常點的產品為好。去年，在挑新手機的時候加了一堆限制條件，包括無瀏海、有耳機孔、喇叭好、大電量、原生系統，還有一個條件就是要夠輕好拿。所以最後選了塑膠做的Sony Xperia 10 V，只有160g而已。雖然不是最佳解，但也沒得挑了。\n20241121 Reddit的中文sub我比較喜歡看浪人的sub圖紙，還有太監區r/China_irl。不登入自己的帳號看演算法整理的動態牆的話是根本不能用的，尤其是首頁啊，一突開滿臉噴糞。因為站方會根據IP地理位置推薦你可能感興趣的sub，就常常看到r/Taiwanese。自從這幾年被塔綠班佔領以來，天天都是中國台灣省的那些破事，哥布林巢穴別整天傳遞民進黨認知作戰的二手屎給翻牆窮蛆好嗎？內政不管，天天在乎中共怎樣怎樣。大紀元都還比較有節目效果，被人說是五毛佔領的PTT八卦板都比較接台灣地氣。再來是我川再次當選後，就常會看到woke嘲諷川粉的圖像，畢竟你迪是左逼大本營，川粉的sub都被ban光了。敢講自己是共和黨的用戶輕則遭群嘲，重則喜提封號。值得慶幸的是，patriot都在體育場，不是只會在網路上當左逼，瞎bb，跟青鳥一樣，喔不對，青瞑鳥還會上街砍人。眾小草應該做好大健身準備，之前看到有白色游騎兵的練武組織，應該就是防患未然。\n20241120 iPadOS 17之後內建當Airplay接收端的功能？！幹，原來這個功能只限定Apple Vision Pro投影，明明就用一樣的協定Apple為什麼要鎖那麼死啦，每個裝置功能東做一點功能西做一點功能，吸引你買全家桶才能擁有完整體驗的手法真讓人噁心。就像(C96) [ぷっぷくぷー (可哀想)] 退魔の母裡面的第25頁左上角一樣想讓人跳腳！就算未來開放了，這個功能可能只對Apple自家產品有用，若要給Android和Linux投影，那麼裝AirScreen之類的通吃APP更好，雖然它是違法破解AirPlay和Chromecast協定來的產品。換個想法，不是Android投影到iPad，而是iPad透過遠端桌面控制Android呢？那就有很多解法，比如RustDesk、VNC、Scrcpy。\n20241117 借用川普總統在J6講的話，神友是一群「可愛的人」，不過我認為還是保持距離為好。極左和極右都不是好東西，當我看到那些整天嘲諷左逼的人講得話一樣cringy，就漸漸了解到這個事實了，比如搞個男權主義的對抗女權主義；反對SJW朱家安，自稱Leftard School的粉專，結果整天貼過份物化女性的圖像（或者說，男性凝視）公開對女性mansplaining，並以此為常態。這樣屬於為反而反又沒有中心思想，維護既得利益，可能更多是樂子人扮演的角色。所以就知道為什麼有The Babylon Bee這種網站了，看woke常常講出一些破天荒的鬼話，保守逼也不惶多讓。我講的還不是alt-right喔，是食古不化的那種right-wing，以維護極度保守派價值為傲，對傳統深信不疑的。具體例子見Florida州長Ron DeSantis，差不多就是那種人。根據神兔二象性，神友和兔友不過是對中國的政治立場反轉而已，其他地方依然十分相似地，受中國的怪異教育影響，故跳脫不出左右對立的思維框架，不二分法就無法思考。看Gab的rightdogTV有感，在我看來，神友中的極右派縫合姨學的思想是很危險的產物，諸夏解體我贊成，學習先賢哲學的永恆主義我也同意，但是要在文化上作到美國conservative那樣就就很難，都什麼年代了還整天強調中世紀的封建體系和基督教傳統價值，強調傳統的家庭倫理，並反對多元文化。有的人甚至會擁護獨裁者皮諾切特，就因為他把共產黨人都從直昇機丟到海裡去！？還有在4chan融得批爆的浪人學洋大人搞neo-nazi主義，整天發Schwarze Sonne的meme，種族優越主義小黃人你也配？過份保守的人難道不比極左派還危險嗎？對的，在台灣的新時代教材薰陶下的我，除了是天然獨之外，還是個左逼，如果要在左右派之間選一個，那還是當偏左的人要好。我看過【一鏡到底】彭文正怎麼了｜鏡人物訪談，他說他不喜歡支持單一特定政黨，做反對黨，這點我很欣賞就是了。\n20241117 Udocker + Termux，免Root在Android跑Docker。但這根本不是肯德基，這根本不是Docker！關於要在Android手機跑Docker，有Root後重新編譯Android Linux核心的做法，或者是跑QEMU虛擬機。可是以上二種做法難度都太高了。這時還有Udocker這個選項。「Udocker」是Docker的userspace實作，不需要系統特權就能跑容器，單純用於執行容器映像檔而已。不算完整的Docker工具，缺少很多功能，不能用docker build，不能用docker-compose，作者無意復刻另一個Docker。或許，跑軟體服務已經夠了。這個工具只在特殊Linux環境下有用，例如沒有Root權限的Termux。Udocker並不主流，如果希望是rootless的執行容器，替代Docker，那麼Podman可能是較正規的選擇，可惜它跟Docker一樣需要重新編譯Android的Linux核心才能跑。有人做了Udocker的Termux移植版，Termux-Udocker，是以proot方式運作，所以執行起來蠻慢的，沒有docker log和docker detach，所以要將docker的指令自行改寫成udocker的語法。總之，我覺得這東西缺少的指令太多了，到時候要搞一堆workaround，那還不如用barebone的方式，直接在proot-distro執行二進位檔來部署服務，不要用Udocker，因為你為了圖方便而使用Docker映像檔結果問題更多，不如手動多跑一些玩意。\n20241117 原本以為最近出現的AnyType會是我取代Joplin的人選，號稱開源版Notion，跨平台(支援Linux)似乎滿香的，但看來看去我覺得不行。Joplin裝些擴充功能功能就有了AnyType的87%，夠滿足我的需求，還有AnyType是假開源軟體，跟Joplin截然不同。老實說，習慣打Markdown筆記後用什麼筆記軟體都不順手（笑）就算你界面做得再好也不行，文件的portability太差了，除非要用到手寫、繪製心智圖，Markdown和Mermaid才會捉襟見肘，所幸我找到了開源的Saber Notes能夠繪製手寫。AnyType為一款開源免費的筆記軟體，支援Linux、Windows、macOS、Android、iOS系統，但是手機版功能不若電腦版完整，尤其是缺少了最殺的筆記關聯圖功能。雖然AnyType開放原始碼，但是並非GPL條款，而是AnyType公司自己訂定的，限制商業使用。因此AnyType不算自由軟體，是看源軟體。AnyType由德國新創公司發起，並不僅止於單純做筆記。據說是為了跟閉源軟體Notion競爭而來的，它有豐富的組合筆記方式，可以自由的在筆記中嵌入圖片、文件、影片等等素材。他們還強調資料由你做主，可以使用官方伺服器儲存資料，也可以self-host。同步功能很像Brave瀏覽器，使用代碼當密碼。關於AnyType同步資料方式：根據官網，AnyType目前有免費看付費兩種會員資格。免費版不需要註冊帳號，資料存在本機，多個裝置之間使用一組密碼P2P同步。如果你的裝置全部遺失，那麼筆記也就不見了。此外，AnyType官方提供Docker映像檔，可以在自己的伺服器架設同步端點。付費版可以獲得一個專屬的使用者名稱，並提供10GB的AnyType雲端空間用於備份筆記，多一個安心的保存點。一些AnyType的觀念：物件(Object)：如果以筆記本理解，每個物件都是一個筆記頁面。彼此可以互相連結。集合(Set)：使用物件的屬性下去篩選，並呈現搜尋結果。收藏夾(Collection)：整理物件用，類似資料夾。標籤(Tag)：添加屬性。關聯(Relation)：給物件附加屬性，類型比標籤靈活。真複雜！\n20241117 迷因圖：The coolest China就是汪精衛國民政府 雖然我的Twitter bio寫「反共獨立建國」，不代表我無條件支持民進黨ㄟ 我還希望他們早點下台。我一直都遵照汪精衛老師的旨意搞台獨啊，只是口號改了下。可既然目前台獨運動川大大和習大大都不同意，那麼民眾黨就是我的選擇，柯文哲講的，兩岸一家親總比一家仇好，台灣自主，兩岸和平。觀海外中文媒體有感，有些中國人，在牆內被日人民報餵屎，翻牆後改相信民進黨和大紀元的認知作戰，我看了也是流汗黃豆。至於信劉仲敬的支黑也沒有好到哪裡去，費拉小黃人未來不要被張獻忠屠屠就不錯了。雖然受到很多批評，但是比較中立的中文媒體應該還是BBC跟紐約時報這類的，起碼他們不會整天當中南海聽床師，或是用「共產主義就等於撒旦」的鄉下紅脖子比喻，叫人要反共。\n20241117 「把自己活成一道光，因為你不知道，誰會藉著你的光， 走出了黑暗。」有些部落格文章我真的不想用中文發，因為在台灣沒什麼市場，就算是在人口很多的中國有興趣的人也不多。硬是發文，最後得到的多半是關懷的眼神，不然就是「嗯，跟我想的一樣」的讚嘆，然後就沒了，難以有後繼討論。試過PTT、巴哈、知乎皆是如此。若是po在Reddit或Twitter，更容易吸引到有興趣的人士，當然，我要刻意用英文寫。比如，自由軟體，Linux手機PinePhone發展，Termux的資訊等等，跟人分享資訊還要花大把時間介紹背景知識。如果討論議題的時候連FOSDEM是什麼都不知道，那麼其實沒有必要跟他們多說，不如把時間花在對專案上游程式碼做出貢獻。即使如此，台灣還是有人對這些議題有興趣，我知道他們存在，但可能忙著寫程式，無暇向人介紹你的偉業。就像黃國昌2019年在找的那群不甘沉默的夥伴一樣，2023年他找到了民眾黨。所以我要繼續寫下去。泰戈爾說得對，Live yourself as a light, because you don\u0026rsquo;t know, who by thy light, out of the darkness.\n20241115 Linux ARM的GPU驅動真是慘不忍賭，根據奧特曼打小怪獸博客，Rockchip用的Mali G52驅動是閉源的沒辦法進主線。再者，Mesa開源的Panforst驅動支援Vulkan程度有限，因此在裝軟體的時候建議用套件管理器，使用Flatpak提供的Platform.GL驅動可能會根本無法啟用GPU加速。加上地獄難度的使用體驗：PineTab 2使用Arch Linux ARM當作系統，非常小眾，這裡的驅動天天更新天天崩。我不確定是RK3566 Mali-G52的性能太爛還是怎樣，GNOME系統動畫從沒有順暢過，WebGL養魚遊戲更是從來沒超過30FPS。\n20241113 Minetest領先Minecraft（迫真）的一大創舉：5.9.0之後加入觸控模式支援，Minecraft Java版要裝模組才有，基岩版又是另一回事。這個從Android版Minetest移植來的界面很是不錯，我終於能夠拿PinePhone和PineTab玩Minetest了。Linux版的背後應該是用libinput偵測的。對於那些想要拿真Linux手機(postmarketOS)當主力的來說，終於有個創造力無限的手機遊戲能玩了，自由軟體社群也有屬於我們自己的Minecraft PE！\n20241113 使用系統內建UVC，將Android手機變成電腦有線的鏡頭。手機如何當電腦鏡頭？以前我會用專有軟體DroidCam達成此目的，開源軟體Scrcpy亦有透過v412存取手機鏡頭的功能。現在Android 14出了個UVC的功能，以上方案就能全部丟掉啦。DeviceAsWebcam是Android 14加入的新功能，可以把Android手機變成UVC裝置，如同擷取卡。只要將手機插到電腦，電腦就會把Android手機當作一個網路攝影機，讓你能在會議軟體使用手機當鏡頭。DeviceAsWebcam的相容性廣泛，不論是Linux、Windows、macOS電腦都能用。但是，本功能需要Android 14-QPR1以上版本的系統。目前可能要用原生Android系統，例如Google Pixel。目前DeviceAsWebcam就只能存取手機相機而已，不能錄音，所以你還是得另外準備麥克風插在電腦上。\n20241113 人不可避免的雙標，祛除偏見難以做到。故得不時反省自己是否過於極端，而非對單一意識形態深信不疑，導致講了什麼過於激烈的話。看似優柔寡斷會導致失去機會，可是佛陀中道還是要堅持的道路，繃緊的絃彈不出聲音，鬆掉的弦又會彈不出好音樂，就是這個道理。\n20241113 專利權利金成本過高 通用視頻編解碼H.266 / VVC恐難成為主流 現在談這個有點像在算命，不過這個觀念應該要普及：HEVC (H.265)、VVC (H.266) 不是未來的最佳影片編碼格式，AV1才是。Apple似乎很喜歡推HEVC影片，搞了HEIC照片格式，特別讓Safari瀏覽器支援H.265解碼，目前支援H.265的瀏覽器只有Safari最完整。還有我看到很多散佈種子資源的都用H.265編碼感到憂心，所幸AV1亦是慢慢傳播開來了。儘管HEVC (H.265) 解決了AVC (H.264)的很多問題，檔案小又畫質好，但依然有專利費要付，故這個編碼不夠自由。雖然H.265有自由軟體實作的x265，依然繞不過專利費的問題，倒不如用本身就是免費的AV1編碼，以及自由的AVIF照片格式。AVIF有WEBP的優點，品質又更好。目前AV1最大的推手應該是Google，Youtube很多影片都採用AV1，Chrome和Firefox等主流瀏覽器也加入AV1硬體解碼了。只是，AV1格式在做影片上還很難像HEVC一樣普及，影片播放器解碼AV1或許速度還可以，但編碼AV1就會要人命，尤其是在舊硬體上。Intel 10代以前的CPU不支援AV1編解碼，CPU編碼AV1慢得要命，而Nvidia NVENC加速的AV1編碼居然不支援Ampere架構以前的舊卡。\n20241112 The iPad Pro Is a Disappointment. It\u0026rsquo;s the device I want to love, but it\u0026rsquo;s sat on the shelf 98% of its life. Which is why I haven\u0026rsquo;t updated it. And it\u0026rsquo;s such a shame. I even bought a keyboard case for it, which is again basically pointless. 就跟Hacker News上的許多老哥意見一樣，我覺得iPad到現在還是大號iPhone。真正限制住iPad潛力的不是硬體，而是軟體。再次嘗試Apple產品是找罪受，買了iPad Air 6幾個月後還是很想賣掉，不然就是想方設法越獄，media consumption device果然不適合我嗎，信仰不夠堅定可是不行的。在眾多平板之中，iPadOS觸控體驗是很好，但當我想要做事的時候就很糟糕，可說用awful來形容。被迫學習Apple做事邏輯、接鍵盤、多工體驗糟糕不說，App Store更是專有軟體群魔亂舞，沒有自由軟體生存的空間，在Android還有Linux的那些軟體到了iOS就消失無蹤，那些少數願意做開源APP又付蘋果稅上架的真是天使。我又不是上上網、看看片、寫寫字、修修圖、畫畫圖、打打game就能滿足的，想要的是能夠自由執行任意軟體的能力，就是承得住tinker的，最好能跑個Docker。效能反而不是最重要的，這樣看來只有Android和Surface能滿足我了吧？後者還能裝Linux。總之我八成不是Apple產品的客群。更好笑的是這個留言：「明明iPad跟Mac用一樣的晶片，卻不能用來做正經事，被困在iPad這尷尬的產品內，只能用來打三消遊戲。」 Buying an iPad Pro for coding was a mistake 想來想去，現時我太需要一塊隨時能手寫筆記的板子了，要能長效待機又流暢的觸控體驗，在Saber手寫的樂趣比Joplin打字要快樂，兼具media consumption。所以縱有許多不便！iPad暫時還是別因為衝動賣掉ㄅ，撐一年看看。\n20241112 人類死後只能活在他人的記憶裡？最近一年騷到我癢處的AI玩意是RAG，即檢索增強生成，他讓語言模型能夠結合你提供的本機檔案，得到更精確的答案。RAG跟讓AI上網搜尋又有什麼差呢？雖然網路資料也能讓LLM整理，但是參差不齊，AI撈到的資料可能會是道聽塗說。而你自己準備的資料，就是精度較高、品質好的資訊。ChatGPT可以做RAG，不過我偏好離線執行的Ollama OpenWebUI。例如我做一個簡單RAG應用，將學生功課的檔案存到向量資料庫，我再讓LLM掃描存有學生功課的檔案，批次檢查句子錯誤。LLMs能夠精準的指出句子來自哪個檔案，並指出其中錯誤。其實我從去年中就有個計畫，那就是持之以恆的寫部落格，並專門準備一個動態牆頁面，當作日常收集廢文的地方，裡面充滿情緒性話語。如果「人如其文」的理論為真，那麼我寫的這些文字就能作為我自身個性的語料庫，未來就能給AI參考，形成一種「人格」。如此就能在SillyTavern做出一個有我個人風格的Chatbot。現在唯一的限制是context length，無法處理太長的文件，即使LLaMA的小模型能支援128K，但是電腦跑4096 token就很吃力了。寂寞的人複製更寂寞的人們，為了打造複製人，小女子沒有資源訓練自己的模型，LoRa之類的技術可能也嫌奢侈，最後的解決方案可能就是RAG。這個時候就來首小鬼的複製人吧，好懷念的動漫MV畫風啊，貓小渣畫的，還有國中時聽這首歌的感動。\n20241111 什麼時候學英文會開始頭痛？當語言學與數學開始交會的時候。語言學家Noam Chomsky數學系畢業的，自然熟悉用數學語言描述事情，但不是人人都數學家。不像是聽說讀寫能力，那些即使不是外文系，練多了就會，可是數學不會就是不會。要不是數學跟我熱愛的哲學和電腦科學有交會，我早就自毀ㄌ。在有限的智商能理解的就寫成程式碼的語言而已。\n20241110 製造浪漫。工作用的桌電和筆電，二者都安裝Linux，但是使用完全一樣的系統未免太無趣，所以會採取一些措施豐富情緒價值。過去我採取的作法是，二邊都裝Gentoo Linux，一邊用KDE Plasma一邊用GNOME，這樣同時學習兩個界面，又能在切換系統的時候有驚喜感。後來換成：Gentoo vs Arch Linux、Arch Linux vs openSUSE Tumbleweed、Arch Linux vs Ubuntu的時候也大抵是維持這個模式，反正不要圖形環境一模一樣。可是我認知到，最無趣的是GNOME本身（所以不喜歡Fedora和Ubuntu的預設界面），所以我後來就索性兩台電腦都裝KDE桌面了，但是優良傳統不能滅，二者的發行版還是不一樣。我認為桌電需要兼具工作與簡單伺服器的角色(Docker真好用)，故選取Ubuntu LTS；而筆電因為相對少用，所以選Arch Linux。反正已經用這麼久了，滾動發行版出問題我大概都知道怎麼修。這樣做還有個好處，Ubuntu的KDE 5版本更新慢，追求穩定；而在Arch Linux，能夠體驗最新版KDE 6的功能，同樣有製造新鮮感的效果。\n20241109 將樹莓派與KDE Connect搭配作為電腦棒？電腦棒(PC stick)，是一種只有隨身碟大小的x86電腦，可以接上HDMI大螢幕輸出，即時變成一台大電腦。有些學校會買電腦棒當作教學用途，我看現在國中小智慧白板普及之後，這東西就沒有太大用處了。就算要外接主機，迷你PC主機也不是很貴。不過我想，現場有螢幕，但上課做presentation想要自己帶電腦又不想背筆電的場合，電腦棒或許還是有存在價值，簡單用樹莓派就能改裝，體積小方便攜帶，樹莓派功能比平板更像電腦。樹莓派搭配一些連線工具，甚至連滑鼠鍵盤都不用帶，用手機KDE Connect就能操控；用Weylus將行動裝置的手寫筆傳送到螢幕上；搭配Gromit-MPX還在螢幕上畫畫；UxPlay和Miraclecast用於投影手機螢幕。不幸的是樹莓派新版越來越吃電，很難透過電視螢幕的USB供電，需要插座才能開機。另請參見：Convert Your Raspberry Pi Zero W into a Stick PC 還有 DigiPort is a Raspberry Pi-powered HDMI stick that turns any TV into a PC for retro gaming, video streaming, and more crowdfunding\n20241108 當各大作業系統背後的企業都開始在搞environment-friendly的時候，Linux卻連human-friendly都搞不定。 In what ways is Linux the most environmentally friendly operating system ?. I find it extremely hilarious that most environmental activists use apple and MacBooks and none of them has ever heard about Linux 啊這\u0026hellip;環保人士想拯救地球，卻用著助長consumerism的公司所生產的Macbook，鋪張浪費，天天講著環保的公司卻用walled-garden鎖住用戶，讓你不得不每幾年換新產品。相較之下Linux只要驅動有了，即使是烤吐司機也能跑，這難道不夠sustainable嗎？裡面有個留言好笑，貼了Arch Linux總部 v.s. 蘋果總部的照片，前者是Gitlab儲存庫，後者是一個大公園。「這年頭沒有一個像是電影裡面惡棍巢穴的辦公室，就沒辦法讓你成為市值上億美元的大公司。」現在，Windows和Android也有強調環保的圖示了，Windows甚至會用環保當理由鼓勵你將自動鎖定時間設短些，會不會以後要開效能模式都還要道德譴責你了？不如先把你們家的資料中心炸掉吧，吃電怪獸是誰。台灣現在不缺電，是誰在大量製造破口？台積電滾出台灣（咦）。\n20241108 測試Joplin的延伸模組有感。正常人看到開源軟體醜陋的UX/UI設計都會說：老弟，你是負責搞笑的嗎？私以為，Joplin用Electron寫的，雖然界面有點醜，卻是目前開源筆記軟體裡面平衡做得最好的了，簡單上手又容易擴充，並且跨平台。想要什麼功能就透過plugin實現。比如手繪裝個Freehand就有了一塊自動延展的畫布，存檔為SVG後還能給OCR建立搜尋索引。如果想要查看筆記之間關聯圖和心智圖的，也是能透過plugin做到。只是這些plugin在Joplin現有的架構上疊床架屋，就會讓界面變得更混亂，所以還是不要裝太多得好。\n20241108 關於中華民國財政部宣稱雲端發票抽獎絕無內定的事件，我認為他們還欠缺一點蛤蛤長者的智慧，應該要學習一個怎麼怒嗆記者。「你們不要喜歡弄個大新聞，說現在已經欽點了，把我批判一番。在宣傳上將來如果你們報導有偏差，你們要負責。問的問題呀，too simple，sometimes naive，懂嗎？識得唔識得？我沒有說要欽定，沒有任何這個意思，但是你必要問我對支持不支持，我怎麼不支持？」\n20241107 Why the Distinction Between \u0026ldquo;Open Source\u0026rdquo; and \u0026ldquo;Source Available\u0026rdquo; is Important 這篇文章Dan Brown討論了看源軟體與開源軟體的差別。他還有另一篇指責重視隱私的FUTO想亂搞開源條款的文章：Futo, Please don\u0026rsquo;t attempt to create your own Open Source Definition 不要讓少數惡質企業重新定義何為「開源」，如果你的軟體本質上是看源軟體，那就不要以開源作為賣點宣傳。以前Richard Stallman就說過自由軟體比開源軟體更重要，現在更慘的事情發生了，有些企業好像把貢獻開源的行為當作環保主義一樣的面子工程（就像在企業裡面搞DEI的左逼一樣），與社區互動卻想奪走更多權利。我說，你都提供「社群版」的程式了，幹嘛還要用看源軟體加一堆但書呢？AnyType就滿怪異的，開發者在Reddit徵詢過開源社群的意見，最後還是走了偏向商業考量的看源軟體條款。軟體想用什麼條款是個人自由，那麼請謹記，這些用shady手段欺瞞開源社群的東西，請不要以開源軟體自居。你以為你是Apple？可以重新定義自己抄來的玩意？Apple才不會那麼笨！人家macOS，衍生自BSD的Darwin核心開源但是Toolkit閉源的系統設計，那才是高招！面子裡子都顧了，讓你想fork一個macOS也無從下手！\n20241107 Scarface | Push It to the Limit 當東西開始爆發性增長的時候，例如社群媒體貼文流量增多，就會想到電影疤面煞星(Scarface) 的歌曲「Push it to the limit」，意思為突破極限，但也有物極必反的隱含意味。十年前是玩GTA 3聽電台認識這首歌的，後來的GTA VC劇情也很大程度參考了這部電影。在我真的去看了電影之後才知道這部被稱為經典電影的原因，邁阿密販毒生意的誇張程度，還有主角最後因為良心發現導致眾叛親離，戲劇性的死亡，再再的於人們心中留下深刻印象。\n20241106 開源Office應該要有AI寫作功能嗎？身邊的文科教授與同學在討論Office 365推出Copilot功能了，但是我卻沒辦法搭上話。沒辦法，畢竟我戒掉這毒已有二年了，大部份時候用LibreOffice，懶惰的時就開Google Docs，甚少使用Microsoft Office。開源社群對AI的回應是如何呢？Linux是由很多鬆散的軟體組成，目前要將系統與AI整合，最接近的應該是Claude Agent，讓Claude 3.5 Sonnet能操控你的電腦。愛好命令行的可以考慮用ShellGPT，讀取系統資訊並給出程式相關的回答。Linux辦公套件有沒有AI呢？儘管Firefox都要搞AI助理了，LibreOffice開發團隊還沒有加入的意思。比較值得關注的是Nextcloud Office的AI Assistant 2.0，他們是真的把自動生成文案的功能加到網頁編輯器了！可惜，這對一般桌面用戶來說還有點距離，畢竟不是人人都會self-hosted伺服器。\n20241106 The Flaming Lips - Evil Will Prevail 柯文哲一直都是對的。Dr. Ko Wen-je was right all along. (ネタ： \u0026ldquo;Richard Stallman Was Right All Along\u0026rdquo; meme) 2019年的金句，沒實力就不要大小聲，漢族隱忍！真主黨被以色列轟成渣。再看看烏克蘭變成現在什麼樣，會成為下個二戰的捷克，還是阿富汗？俄國就是橫著臉看著我們這些自詡民主的國家說：「怎摸，你不服氣？」蔣公說的正義必然勝過強權，在這詭譎的世道是不可能再發生的，美國從來不是什麼好東西，民主雖然壞不過極權，可是能夠殺死蘇格拉底。光頭後來也輸給毛臘肉了，逃到台灣，在日本人殖民之後繼續殖民，養出民進黨這些phuì-that-á，然後再被美國拋棄。好了，現在這些人整天跟匪共習包子叫囂，我們很快就沒有未來了。話說閱讀最新一期的RMS Political Notes，他呼籲大家要投給民主黨，他之前因為失言被左逼整得還不夠慘嗎？可是又不能因為這樣就說他是共產黨，否則就落入費拉右派的思維了（凡提到一點社福政策的就被扣左逼的帽子）。只能說尊重他老人家權衡下要大家做的理智選擇，我還是繼續，我川威武！！！\n20241105 重新審視社群媒體的用法後，得出：我不想要你的讚(愛心)，想要交流。與其用虛無的數字來獲得認同，不如多活動下嘴巴肌肉吧。很喜歡中國搖滾歌手汪峰，除了那些知名的勵志歌外，偶爾寫的一些「鼠人」之歌也不賴。混冲浪TV的浪人很多會自稱鼠人，他們不見得真的是社會底層，反而很多是有些學識但無法出人頭地，向上爬不行，潤也潤不掉，在生活中掙扎的人士，或許2027年還會被平子抓去台海餵魚。可能到處播種亂幹妹的8+9和離岸愛國小留都比鼠人過得要滋潤，除非出生在中專廁所。汪峰厲害之處，在於清楚道出困在生活、不上不下人們的心聲。比如1998年《風暴來臨》整張專輯都是：「殺了我，我是失敗者，反正我什麼都沒有」「我是沒有希望的人，因為我，從沒想過明天」這類頹廢話語，卻又無比貼近現實。這張專輯雖然黑暗但也給人希望，因為人即使在最糟糕處境，自憐的時候，仍有能力關心他人，就像〈明天〉一曲所唱：「明天，孤獨襲來時我不會再流一滴淚，我會用歌聲抹去那創痛的灰燼。讓我們伸出手，給那些苦難的人，告訴他們，相信明天」2004年的〈塵土〉還有：「這是多麼美好的一天！陽光明媚大地無邊，我卻毫無意義。」如此糾心又無能為力的怒吼，在我聽來很是滋味，因為我這個INFP，什麼都做不到，看國際新聞「遠處的飢荒，無情的戰火，依然存在的消息」想為這世界做點事卻只能氾濫同情心，徒增痛苦。不論在學業還是工作，在這些常人的認知的、既定的人生路途上，都幾乎找不到能活下去的意義。現在的我只能繼續相信人性，明天會更好。Tomorrow is another day.\n20241105 量化過的模型是4GB VRAM低階卡的救星，即使新模型的VRAM要求越來越高，GGUF讓窮人也能跑上最新的Stable Diffusion 3.5與FLUX生圖。Oh，看吸貓君的業配影片才知道，原來Windows的Nvidia顯示卡有共用記憶體(shared memory)的功能，能分電腦的RAM給GPU的VRAM使用，就像Apple M1的Unified Memory那樣。如此迴避OOM的問題，中低階卡跑Stable Diffusion或者LLaMA的時候就能跑更大的模型。至少買一條新的記憶體比新顯卡要便宜多了吧。這麼好康的功能，Linux版的Nvidia驅動居然沒有！！！宛如當年Nvidia歧視Linux玩家不推出Shadowplay，還得社群自幹出一個GPU Screen Recorder的解決方案（但DLSS倒是在Linux受支援）。Linux明顯比Windows輕量，使用桌面環境的之餘還有更多資源跑AI，難道是作業系統方也得支援麼？快要2025年了，只能繼續對Nvidia比中指。 Non-existent shared VRAM on NVIDIA Linux drivers\n20241105 如何知道耳機有沒有壞？如何分出左右耳？播放1970年以前出版的 Beatles 專輯，因為全部都單聲道的XD 從大學的時候聽到現在，這些專輯依然蚰蜒在耳。話說我認為Apple Music最大的特色就是一堆獨家(Explicit)的音樂專輯吧，儘管壟斷絕對不是好事。好比說，即使像披頭四這樣的英搖神團，KKBox、Spotify、Youtube Music有上架的也都是remasterd的新版本，現代的remasterd都會混音成雙聲道，味道就不對了。不如Apple Music所擁有的原版專輯。Apple Music會收錄多種版本的披頭四專輯，你就知道Apple公司（賣唱片的，不是賣電腦的）到底多會薛錢，好久以前的專輯還瘋狂重新出，例如「Best of」「Deluxe Edition」「Super Deluxe Edition」每次的版本小小加料，收錄一些未發表的first take這樣。\n20241104 想架一個音樂伺服器服務，能夠用資料夾模式播放的。我是比較老派的用戶，下載的音樂不見得都有正確的MP3標籤，這就是為什麼我很討厭iTunes整理音樂的原因，一張專輯就是一個資料夾這不難懂吧？因此尋找支援資料夾模式播放的是很重要的，找了許多多媒體伺服器方案，測試下來，Jellyfin不好用，不是為音樂設計的，Navidrome只支援專輯模式。終於讓我找到一款支援資料夾播放音樂的方案，那就是Gonic by sentriz。Gonic是Go語言寫成的音樂伺服器。它本身只是一個伺服器，網頁後台僅有管理功能，不能播放音樂，要另外裝APP播放。由於Gonic使用Subsonic API，可以使用相容的APP播放。Gonic可以直接播放FLAC音樂，也支援即時轉碼，在串流的時候將FLAC轉成MP3加快載入速度，與last.fm連動聽歌紀錄，並使用last.fm的API，作為推薦音樂的依據。以上內容在我發現MusicBrainz Picard這款軟體後瞬間變得沒有價值了，對不起我錯了，不該已經聽音樂十年以上了還用這種小學生方式整理音樂的。幾百張專輯缺少的MP3標籤，全自動抓線上資料補完，Picard\u0026hellip;\u0026hellip;我的超人。\n20241104 【音樂欣賞】鷺巢詩郎〈閉塞の拡大〉 新世紀福音戰士舊劇場版，真嗣放棄全人類變成LCL播放的音樂。這段音樂是這麼安祥又激昂，每當聽到這音樂我總是會想到生命之海的海浪拍打岸邊的畫面。其實這段是有正面含義的，轉述Youtube下面留言的見解，那就是：AT力場(心之壁)存在於每個人心中，背後躲著的都是渴望被接納的人。所有人融為一體，看似理想，但其實不然。學會接受現實活下去，接受所有人都是不同的個體，正因如此才是人。每個人得先學會接納自己，才能去接納別人。「只要有活著的希望，哪裡都能是天堂。」由此可見，這部電影並不全然是悲傷的，在經歷這一切之後才找到接納自己存在的方式，了解到人們之間不可能完全理解對方，卻仍要試圖生存下去。故莉莉絲崩解，一切靈魂回歸各自的軀體。舊劇場版和TV版互為表裏，這時再回去看TV版25、26集就會知道背後一切的含意。「夢是什麼？那是現實的延續。現實又是什麼？就是夢的結束。」\n20241103 串流實在太方便，下載離線音樂已無太大必要性，多是為了收藏用。我得承認收藏大部分是盜版的，只有很少數是真的買CD自己rip的（說來好笑，花大錢買的Beatles \u0026ldquo;Let It Be\u0026rdquo; Remastered碟放好久要聽了才發現有瑕疵）。2020年以前都從伊莉論壇莉下載音樂，那時分享FLAC的人就很少了，多半是320K MP3。木耳的幸福就在此，因為設備只有EarPods，FLAC我幾乎聽不出來比320K好在哪，因此偏好下載FLAC多半是奇檬子的問題。最近貪圖方便，都是用yt-dlp從Youtube Music下載的。因為正版年代物都有上架；稀有的動漫原聲帶也會有人上傳盜版。結果我得到的就是，中文歌資訊不全的問題，跟Tidal一樣都會把歌翻譯成莫名奇妙的英文，況且yt-dlp所能爬取到的資訊也不盡正確，還要手動編輯MP3 Tag修正。到頭來還不如用老方法下載呢！但是分享檔案的人越來越少了，或許都搞會員制餐廳\u0026hellip;不是，論壇吧。得用BT吧，可1337x之類的大型P2P網路又難以找到中文資源。SoulSeek的特性好像eMule，沒VPN用了可能會被拉清單。這樣看來，串流可能還是當下讓你支持的藝人能賺到錢的最流行方法，任何微薄的人都能貢獻，又不違反道德。\n20241102 有些東西不適合部落格的發文形式，想搞個Wiki網站，圖文兼備，且最好要像Fandom一樣便於瀏覽。不知道要不要從現有的Hugo靜態網站架構硬幹一個出來呢，還是使用成熟的動態網站解決方案。畢竟，Wiki網站不應該是我獨享，而是要上線後開放給網友做collaboration。不少使用者抱怨DokuWiki、MediaWiki的介面醜陋，像是活在2006年。所以我從Jason工具箱得知了設計比較現代的Bookstack。Bookstack比Gitbook好架設，語法比Mediawiki簡單，亦不用依賴Microsoft Sharepoint專有軟體。簡單上手，下筆簡單。支援Markdown語法。除了當作公司內部的Wiki，也可以當作個人知識管理系統使用。台灣已經有一些公司行號的使用案例，例如BUBU 知識庫\u0026amp; 秉迅資訊.Studio。不過Bookstack的設計是以書本為單位，因此比較偏向寫文件、內部Wiki、知識管理系統、筆記本的用途，而非維基百科或Fandom那樣的網站，這就偏離我的需求了，果然還是應該用MediaWiki麼，但是他的界面又太像維基百科，而且功能很雜。那，果然還是純文字儲存資料的DokuWiki好麼，據說Gentoo Wiki和Arch Linux Wiki就是用DokuWiki（尷尬，結果他們都是用MediaWiki），看Jonathan\u0026rsquo;s Wiki筆記的版面也覺得還行，一切都是文字儲存也方便用程式工具批次修改。\n20241031 想體驗跨平台的手寫筆記APP，所以用了Flutter寫成的Saber Notes，但是我覺得這APP還是不好用，過於精簡，手寫的筆記也不能索引，日後搜尋有困難。回來看Joplin現正加強支援手寫筆的功能，這很好呀！我發現它手寫的圖像格式是存檔成SVG，那麼表格繪製就能直接匯出分享呢，非常方便。最新版還加入了OCR功能，讓筆記中的圖片（包含SVG）都能加入文字索引！跟其他開源的筆記軟體比起來，Joplin可真是做到了易上手與豐富功能之間的平衡。\n20241031 解決MSI Modern 15筆電 Wifi與藍芽互相干擾，訊號斷斷續續的問題？之前有這問題，開了藍芽SSHFS連線就會變慢。結果這問題似乎自己解決了，什麼都不用調整，喵的Arch Linux更新有夠不穩定。只要我一連上藍芽，Wifi就會變不穩定不信？用Cloudflare測速跑看看就知道，這會導致一些上網不順暢。利用lspci -nnk | grep Net -A2; lsusb確認網路卡型號。發現是Intel AC 9560，在Intel討論區也有人回報類似案例。鐵定是干擾導致的。因為Wifi和藍芽都是走2.4GHz頻段。幾種解法：改插USB網路卡，隔離Wifi與藍芽。調整路由器的頻率，將其改成5Ghz，或者改頻道。更新驅動程式。使用軟體手段解決。所謂軟體手段，就是嘗試在驅動修改bt_coex_active參數。這個參數對Intel、Atheros、Broadcomm、Realtek網路卡都有效。bt_coex_active設定為1，則允許Wifi和藍芽同時開啟，設定為0則不可同時開啟。雖然是這麼說，但是設定成0並不會導致Wifi在使用藍芽的時候斷線！參考這篇和這篇說法，以Intel網路卡來說，驅動程式對應的Linux核心模組是iwlwifi。所以，我們要調整開機後載入開機後的選項，加入bt_coex_active的參數，重開機測試是否有比較穩定。\n20241031 Threads以文字為主題的方式其實還不錯，鼓勵人們表達想法而非譁眾取寵，還跟聯邦宇宙連線，這很好。且演算法還算聰明，會真正推薦有興趣的內容，這樣就算Threads混入一堆比Dcard還低能的迷弟迷妹發文也能被演算法過濾掉。這就像Hacker News之於Reddit一樣，前者還保留著Web 2.0時代的駭客風骨，有許多Linux自由軟體愛好者，所以我蠻愛看Hacker News的，Reddit次之。Instagram是屬於現充的地方，我從來都沒興趣。至於Facebook越來越噁心，老是推一些詭異的Reels給人看，例如AI生成的幹片、剛出生嬰兒鏡頭、健身巨巨、扭曲濾鏡的人體等等，要跟智障抖音競爭也不是這樣吧，更別說那些rage-baiting的粉專了。現在FB的功用就剩下在地社團辦集會聯絡用了，至少民眾黨的社團還是挺多人的。Twitter嘛，已經被炒作狗馬斯克給毀了，每天都是左右逼大戰，還有中國支黑與粉紅對沖，看了厭煩\u0026hellip;噢對了還有台灣特產塔綠班。我不希望Threads有一天也變那樣，不然就得去找替代版「乾淨」frontend了，例如Youtube有Invidious、Reddit有libreddit等。對商業社群平台還是要有警覺心。\n20241031 架Hugo網站的時候把所有資料存在git儲存庫，時間久了文章超過一千篇，這個儲存庫也已經快3GB了。所以每幾個月就會跑一次git gc刪除所有舊版資料，以及捨棄所有過去的commits。Cloudflare Pages也是如此，目前commit觸發的建置已經超過一千次，看了頭疼。Cloudflare Pages提供類似網頁時光機的功能，部署的靜態網站可以隨時回退到先前的某一版本，似乎沒有限制commits的數量。不過要刪除整個專案的時候就頭疼了，他們沒辦法幫你刪除所有的deployments，面對那好幾千頁的數量，我一個一個在網頁點是要刪到什麼時候？結果就是得寫Python或者官方給的NodeJS程式，用他們的API去批次刪除。\n20241031 Linux桌面發展走到今天，我說句激烈的話：GNOME又不是人民的爸爸，為什麼每次都要選它！（此時應有造勢喇叭聲）現在已經到了KDE Plasma 6與GNOME 46，比較二者，還是KDE較好。雖然KDE有巨量bug，預設採用的Linux發行版也不多，但我認為它依然是最具有自由度，有容乃大的桌面環境。有些人認為KDE的圖示看來像玩具，那麼GNOME那種精簡到家的UI是要怎麼給桌面使用者豐富的體驗呢？每個GNOME Apps內建程式的功能都像是reference implementation，隨便找個同功能的替代品都屌打，亦不如KDE Apps功能豐富。就拿每天都會用到的檔案管理員來說，GNOME Nautilus功能太少，開檔案太多的資料夾還會當掉；相較之下KDE Dolphin一切都做好，還有豐富的檔案操作選單，不需要頻繁打指令。GNOME的設計哲學主張優雅、簡單，但我想用電腦做複雜的事，不是ChromeOS上上網就好ㄟ！又不是人人都是伺服器管理員，只要個會動的桌面能工作就行了。所以說，我想要，複雜的腦，單純的Linux核心。\n20241030 有什麼書籍推薦？《Javascript for Kids》：你應該讓孩子從小就學JavaScript。喔？看看這本《The Container Commandos》：現在，你應該讓孩子從小就學Podman容器化管理，並替代容易單點故障的Docker。話說，我確實是從國中就開始自學JavaScript ES5了，雖然不是用在很正規的用途就是了。當初是為了寫Minecraft PE BlockLauncher的模組才跳入程式的世界。\n20241030 二年前Hugo靜態網站成立伊始，就煩惱著格言要如何設計。最初我想說用尼采《查拉圖斯特拉如是說》的一段話改編：「你們尊敬我，但要是有天你們的尊敬傾倒了那該怎麼辦？不要讓一座雕像砸了你。你說，你相信『Ivon的部落格』所寫的東西？但Ivon這個人又怎樣？你們是我的信仰者，但所有的信仰者又怎樣？你還沒有找尋你自己，你只找到我。所有的信仰者都是這樣，如是所有的信仰成就渺小。現在，我命令你否棄我，並發掘自己。唯有當你們否決我的一切，我才會回到你們之中。」由於太長，所以最後只簡化成：「Ivon所寫的東西不見得是對的，不要讓一座雕像砸了你。」這句話的意思是不要盲目相信權威，就算我好像對Linux很在行也一樣。不過，這種充滿哲學，需要一點背景才能讀懂的話最後我還是不尬意，所以選了更為簡單粗暴的格言：「即使是在這樣沒有意義的世界，偶爾也會有好事發生的。」更加意義不明了呢，這句話出自動漫《少女終末旅行》尤莉之口，在末世面對沒有希望的未來，仍然能夠把握當下，理解到我的存在是真實的，從而繼續向前行。\n20241029 Android Translation Layer 終於有人搞這件事了，採用類似Wine轉譯的方法，在Linux電腦跑Android APP，而非Waydroid那樣用LXC跑一個完整的Android系統，也不是ChromeOS的微型Android虛擬機，更不是Sailfish OS的Aliendalvik。這個解決方案比WSA更像WSA不是嘛？每個APP都是一個單獨的存在，用Flatpak就能打包，就像原生程式一樣裝在電腦上啟動，還能沿用Linux的輸入法。目前該專案的作者已經發表了一些試驗性的應用，例如NewPipe、WhatsApp等等，甚至還能玩手遊呢～！如果在Windows結合WSL執行的話，我們終於能擺脫那些銅臭味的Android手遊模擬器了。額，不過這就有個頭大的問題了，ARM to x86的轉譯層怎麼辦呢？有辦法讓libhoudini和libndk在非完整的Android系統運作嗎？\n20241029 是時候唱一首YOU WILL NEVER BE A WOMAN的歌了。看到親國民黨的粉專發一張圖說同志遊行襪子套屌，對比外國遊行的舉彩虹旗，這些屁精真噁心的輪調，藉此的操作民進黨不好的形象。我就覺得這些老害見識也太少了，腦袋除了抽象愛中華和仇日外就沒些別的東西，怕不是沒看過歐美左逼遊行猖狂的程度，不然怎麼會有alt-right和conservative的那張舉起十字架大戰woke和liberalism惡魔的典圖出現（\u0026ldquo;Yes, you are all wrong\u0026rdquo;)，4chan和冲浪TV到處都是要跨性別人士自己找個繩索上吊的梗圖，炒作狗馬斯克還講過要End woke mind virus。\n不過搞同志的搞女權的（我還沒講到那些搞女拳的）的意圖自我跟民進黨綁架也是夠悲哀的了。根據陽明交大的學生爆料，手舉「藍白兩黨滾出同遊」的人，也參加過「青鳥行動與罷樑造勢」，政治立場非常明顯。 好像只有你黨可以在意進步價值，其他都是中共同路人一樣，令人作嘔，那麼左逼就是當之無愧的稱呼。如果這是你認為的普世價值，那就不是一個人能夠壟斷的東西，並以此為藉口、為特權，打壓所有人。嘿，我可不是在幫中共爭奪對「民主」的解釋權，畢竟獨裁國家壓迫他人的行為，肯定不會出現在民主國家對吧？\n20241028 為什麼一定要跟Windows民意妥協？而捨棄我們所認為的Linux價值？原來我一直都誤會了，以為要在區網分享檔案用SMB(SAMBA)是最好的方式，但是其實可以直接用SFTP的。SSHFS是走SSH通道分享檔案的方法，跟NFS還有SMB比起來算是最晚發展的。SSHFS限定Linux、Windows、macOS才能掛載，Android和iOS難以實現FUSE檔案系統，所以我以為就不能用了。但是，SSHFS背後使用的是SFTP協定，這個一狗票APP都有支援嘛！支援SSH的主機，當然也支援SFTP協定。再加上我現在用Linux比較多的情況，自然不需要為了Windows委屈求全，故我終於能夠不去弄SMB(SAMBA)了。如果是分享檔案給自己的裝置用的話那麼SFTP就夠了。iSCSI太複雜還用不到。\n20241027 參加「賴政府，搞什麼鬼？」遊行，兄弟們又要到飯啦，啊幹這次怎麼沒便當。車上看的電影：男兒王、雞不可失、平凡英雄。\n20241027 大震撼！Rocky Linux 9作為RHEL 9的下游，兩者的核心竟然都不支援掛載最潮的BTRFS，只有最上游的Fedora 40有。Redhat工程師親自在Reddit回應他們尚未有在production採用BTRFS的計畫，因為沒有太多這方面的需求。這個可以透過安裝CentOS SIGs或ELRepo的自訂核心來解決，並用Grubby設定開機要用的核心。果然這些CentOS時代流傳下來的還是老江湖。\n20241026 原偷，Reddit r/YoungAnimalJapan的浪人拷打台派。支持台灣獨立的右派還有呼吸？不都是打著廢死的左逼嗎（其實我也是左逼）。台巴右派與其接劉仲敬口水不如去嚼檳榔。台巴面對中國一口一個我們台灣要獨立，結果台巴自己討論都會說要不讓日本統治吧，當美國第51個州美滋滋，還有說自己自古就是荷蘭殖民地的。 以上三個哪個跟獨立沾邊了？ 很明顯台巴說的獨立就是個藉口而已，其實是嫌棄中國又窮又落後還專制，換個好宗主直接就喜迎王師了。所以說台巴在政治上就跟集美一樣，表面說自己是什麼獨立女性自由女性，其實碰到個富蛆馬上就跪下開舔了，意淫當第51個州，意淫被太君統治的時候還記得自己說的獨立國家嗎？台巴一會說自己是日本人，一會說要當美國第51州，偶爾再蹭一下荷蘭，最後總算有人說獨立建國了，結果說自己是原住民。民進黨騎原住民頭上，驅逐藍白，又否認鄭成功（輝荷蘭蘿莉中）時代的難民，那你祖輩是什麼時候來台灣的？ 你還能意淫出什麼樣的光輝事蹟？\n20241026 民眾黨上街抗議賴政府搞什麼鬼 檢視綠色新威權回頭路 賴政府，搞什麼鬼？適逢萬聖節，很期待10/27民眾黨的打鬼部隊遊行，真想穿白色FreeBSD惡魔服去，象徵可愛又迷人的反派角色。話說「打鬼」這詞頗有新黨「打假除亂」那味了，我敢說他們這次一定又會來蹭，還會出現支持兩岸統一的抽象貴物。\n20241025 Ethernet Network not showing or connecting in Ubuntu 17.04 幹幹幹這到底三小隨機bug，十年了竟然還存在。Ubuntu 24.04 NetworkManager的ethernet突然消失，完全沒網路，結果新增一個10-globally-managed-devices.conf檔案就解決了。難道是Netplan跟Network Manager的race condition導致？求求Canonical你不要再亂發明輪子了。\n20241024 「你媽大逼人人插，左插插他媽右插插」的本子：[ro] おおかみと赤ずきん 第三話 (月刊 QooPA 2014年11月号)，不過是小蘿莉被輪姦，小紅帽的媽媽被當作賺錢工具，玩前後門同時進入後還被奶奶棄之不顧，進而結識了大野狼先生。每一集的劇情都很燒腦，而且畫風還不錯用，結果作者爛尾，完全沒解釋清楚人物關係。\n20241024 保護使用電腦的自由！使用專有軟體要戴套，所以把Steam遊戲關在Flatpak容器裡。使用專有系統要戴套，所以把Windows關在QEMU/KVM虛擬機。使用專有編譯要戴套，所以把macOS關在QEMU/KVM，用來跑XCode。使用專有韌體要戴套，所以把Nvidia GPU與系統VFIO隔離，並PCI直通給Ubuntu做CUDA運算。Libvirt可說是Proxmox以外，給一般Linux發行版的教星，攻守兼備的虛擬機軟體。\n20241023 本來就沒朋友的人搬家到Mastodon、Bluesky恐怕是更會沒朋友。沒錯我就是在自介。因為只有一些少數聰明的人在知道主流社群媒體如Facebook、Twitter的問題後，會做出行動進而尋求替代平台，甚至找沒有商業背景的平台以求自身的自由不被商業利益侵犯。可是，除非本來身邊就有一群夠死忠的、一樣的愛好的小共同體，否則單一人遷移到西部荒野時代的新平台，怕是更難找著朋友。因為普通人只會跟著時代潮流走，要撐到平台不行了，不被市場接受的那一刻他們才會跟著換平台，而非基於某種追求自由的信念，容易流於得過且過繼續用，Facebook很爛但還是一堆人離不開，PTT介面醜還是一堆人用。就像Windows那麼爛為什麼還是一堆人忍著用，還有Line設計很糟糕還是被當作工作通訊的一樣道理。是故，主流社群媒體多的是手機都不太會用的non-tech-savvy用戶，如此龐大的基數才更有可能隨機加到那些還過得去的朋友。而小眾的社群媒體就沒有這個優勢了，誤入人家的小圈圈只會感到更加的孤立。雖然如此，分散式的聯邦宇宙的設計還是很吸引人，這或許是網路鄉民對抗資本家的一個武器，希望他們能找到演算法以外，自然而然留住人的方式。\n20241020 你什么浪人？引流土狗，发不出资历你妈今晚就得死。剛學會裝Arch Linux的script kiddie：I use Arch Linux btw。擁有紅老嗨資歷（Red hat Enterprise Linux上市的時候就在現場）的boomer：誰家小孩。\n20241020 問卦 為什麼這麼多人討厭高雄？ 沒有人會肆意仇恨自己的家鄉。我覺得應該這樣講，作為PTT八卦鄉民，我們不是討厭高雄，而是討厭那些打著高雄名號，隨便出征其他縣市，強迫我們這些住在南部人的民意跟他們綁在一起的側翼粉專。這讓我們南部人丟盡顏面，智商強迫降低。\nWecare高雄這種到處海巡各縣市的在那邊喊不要對高雄有惡意?? 看到他們的「Lâng teh tsiah bí-hún, i teh huah sio.」言行，加上瞎捧政府lān-pha的作為，被說暖市也是剛好而已。We Care高雄? Who care you! 屁民的事情永沒有政治鬥爭重要。另外一個粉專Care高雄都比你在乎在地的苦難。這麼說吧，丈葉遮目的韓粉可能都還比塔綠班要懂得苦民所苦。\n20241020 現在Google搜尋綠畜，就會自動跳出民進黨的Wiki頁面wwwww。在南部什麼事情都會發生（金寶叔叔：在南部做什麼都合法.jpg），連挺貪污犯所在縣市的雜草都能水溝長成大樹。又，如何解決南部綠畜氾濫的問題？沒有啦，在說怎麼抓綠鬣蜥啦，你以為咧，抓小鳥嗎。沒有像北部一樣支那賤畜氾濫你就多謝黨吧。\n20241019 南部選市長放顆西瓜都能上？不如來上西瓜肚吧！ 妊娠セックスができる！腹ボテを再現したオナホドール「ボテ腹DX」を実際に使用した感想や使い心地をありのまま語ります。 完全不必擔心的孕婦性交！原來半身型的飛機杯還有蘿莉大肚型的，總計4KG的重量，還有那個妊娠紋，這可以說是精準戳中某些人的性癖了吧。但是那個開口設計的位置，怕不是真的要30公分才能將其舉起來從後面頂到底玩納爾遜體位。從正面進入又會被孕肚擋住，不太方便的樣子，最後只能玩騎乘位和背後位了。從實際玩的照片看來，這樣感覺是抱著一顆小西瓜在插，沒法享受到大屁股的彈性，要的是那種禁斷的感覺而已。如果這個孕肚能做出子宮，裡面能再放個人體模型玩出產增加真實感就好了XD\n20241019 【館長精華】叫年輕人去當兵？賴功德小孩先回來！ 12分開始，館長這期講得真對，針對中國攻台，政府有什麼具體作為？養網軍出征人，要是匪軍都登陸了，青鳥還在出征，爆破新華社Twitter下面的留言區，留什麼「老子直接在你留言區幹爆維尼」然後根本無力抵抗匪軍的侵略？你看普丁和薩格爾王都被惡搞多少次了還是巋然不動，民小和輪子都針對中共那麼久了也無法滅掉這個邪惡帝國。「解放軍說我要幹死你，不是對老婆說我要幹死你ㄟ？」。還有根據PTT不可靠消息指出，阿富汗淪陷前網軍還說政府軍必勝，結果就被塔利班打爆了。\n20241016 最近我又想搞Linux GPU虛擬化了，Nvidia要破解專有驅動解鎖vGPU才能達成，便找到了LibVF.IO的方案，它讓Intel、AMD、Nvidia GPU都能支援虛擬化。不過這個專案怎麼沒人提及呢\u0026hellip;可能是因為它用了自家的虛擬機方案吧，不能沿用到Libvirt。\n20241016 Linux如果有anthem，應該這樣寫。只是不知道左逼聽到這紅脖愛國旋律會不會牙起來就是了。畢竟Gab出來的時候沿用Mastodon技術，有一部份人可是氣到發抖。用南方佬的口音唱：And I\u0026rsquo;m proud to be a Linux user / Where at least I know I\u0026rsquo;m free / And I won\u0026rsquo;t forget the men who died / Who gave that right to me / And I\u0026rsquo;d gladly stand up next to you / And defend Her still today / Cause there ain\u0026rsquo;t no doubt / I love this Wayland / God Bless GNU/Linux（改寫自Lee Greenwood - God Bless The U.S.A.）話說，前幾個月我川被槍擊的時候，Lee Greenwood在共和黨大會出場就演唱了這首歌，鼓舞全場在內包括川普的士氣。結果一向批評中國貿易的川普出的新書《天佑美國聖經》被抓包在中國印製，啊這。\n20241015 人不完全被環境打敗《李敖大哥大》 《Behold a Pale Horse》出自聖經，代表死亡，也是一本小說的名字，1964年曾經改編成電影，沒想到李敖會同情西班牙共產黨人的奮鬥，講了這些人從容就義的故事，靠北美國帝國主義。還有講述《La vita è bella》在絕境的德國集中營生存下來的辦法。原本想說這老頭怎麼變成講人生智慧的台了，花大把時間講了二個精彩的故事，原來他也有不鍵政的時候\u0026hellip;\u0026hellip;結果到節目最後才抖出他的目的：給中國統一聯盟打氣，幹。原來台灣日治時期的共產黨存活下來的人物也有紅統派的，結合李敖自己被關的經歷，他認為並非所有外省人都是壞蛋，也有台灣人給蔣中正做牛做馬的（之後的節目大抵都是這種論調，告訴大家不要盲目仇恨228）。而且他一直為新黨抱不平，認為與中國統一並非就是中共同路人（他老人家2002年就發明這個詞了！）。啊原來前面講這麼長的壯烈故事，就是要給自己的處境予以安慰啊。這種大中華膠的願望在現在看來就是超不切實際的，尤其新黨早已變質，不值得支持。\n20241015 法国犹太老板：神告诉我们，只有一位中国人李洪志大师能救人类 - 禁闻网 已經2024年了還整天報這種新聞，論中國海外民運，最不值得相信的就是法輪功團體和其媒體（俗稱輪媒）。可惜他們是最大尾的，還整天散播老中人愛看的迷信訊息，還有聽床師撰寫的誇大不實報導，把中共當笨蛋看。郭文貴被抓之後就沒人能跟他們抗衡了，中國聯邦（迫真）的子民們還是多健身抵抗匪共吧。我覺得既然要看理性點的反共媒體的觀點，不如多看王志安、多倫多方臉這些。持支黑論點的除了劉仲敬外完全沒人能自圓其說（而且他的理論過於極端），更別說那些民進黨側翼進口的二手屎了。我看過蕪菁雜誌出現姨學用語，但在我看來不過是梗小鬼試圖用窪地論來營造台灣人比中國人高尚的話術罷了。窪地和諸夏理論固然有其可取之處，但是發生機率太低了。如果整天沈溺在這些論調之中，那麼就不可能用平等的眼光去看待他人。\n20241015 如果中國侵略台灣：國軍來了我入伍，美軍來了我帶路，共軍/黑熊軍來了我投毒。差不多這樣，再見。\n20241015 我受不鳥App Store上那些逆向Apple TV的AirPlay協定的專有軟體APP惹，不如利用UTM + UxPlay將iPad變成AirPlay接收端吧？，理論上是可行的，搭配VirGL有GPU加速。但是又被我發現一個bug：UTM在port forward UDP通訊埠的時候會崩潰？？\n20241013 Terminal wizard goes brrr 「希望我的小孩也能愛上Arch Linux！」「你傻啦？主人是把我們射在動漫抱枕上！」唉，太苦了，Arch Linux用戶人均死宅。嘛不要射屏在ThinkPad上還算好的了吧。順帶一提，Nyarch Linux是繼UwUntu之後，又一個為萌豚設計的Linux發行版。\n20241012 I spent some effort to enable KVM for Linux on Surface Pro X but didn\u0026rsquo;t succeed so far. Maybe this deserves its own issue. 關於現階段的ARM虛擬化，這還蠻搞笑的，Qualcomm確實有Hypervisor技術，但是唯一能在Qualcomm出產的電腦上跑虛擬機的是Windows on ARM的Hyper-V，Linux系統毫無解法，沒有辦法跑QEMU/KVM。相較之下，Google Tensor有自家的pKVM能給Android跑QEMU/KVM，而Broadcom為Raspberry Pi打造的處理器也支援虛擬化，安裝QEMU/KVM套件。效能最強、唯一能跟Apple M1叫板的Qualcomm進度竟如此緩慢！只求Snapdragon X Elite對Linux支援真的好一點吧。\n20241012 嘗試在aarch64架構的樹莓派跑 aarch64架構的QEMU/KVM虛擬機，Libvirt裝好後，Virt Manager開機會卡在UEFI Interactive Shell，可能是/usr/share/AAVMF/AAVMF_CODE.fd韌體有問題？我發現Virt Manager好像找不到正確的UEFI韌體所在，我們應該要用的是/usr/share/qemu-efi-aarch64/QEMU_EFI.fd（Ubuntu文件推薦的），但Virt Manager只列出/usr/share/AAVMF/AAVMF_CODE.fd。手動編輯XML填入路徑後，卻卡在UEFI Interactive Shell。再用一次AAVMF看看好了，咦，自己修好了，怪怪隆地咚，可能是讀到舊的開機失敗的UEFI VARS，導致我以為AAVMF壞了吧！話說Ubuntu的文件\u0026quot;Boot ARM64 virtual machines on QEMU\u0026quot;推薦的是給QEMU純指令開機用的\u0026hellip;..。\n20241012 在postmarketOS手機上跑QEMU/KVM虛擬機？Google Pixel的pKVM功能讓人羨煞不已，但我們這些廣大群眾的Android手機都不支援該功能。腦筋動到了本就是Linux系統的postmarketOS。我就想測試Poco F1的s845處理器，撐不撐得住跑QEMU/KVM虛擬機。x86的KVM用過好多次了，ARM架構上又是如何。上一個被我用來折磨QEMU/KVM的ARM架構裝置是Raspberry Pi 5，雖然效能弱但是有KVM支援。現在有個問題是，Qualcomm處理器要如何啟動虛擬化？看起來不像Raspberry Pi的Broadcom處理器支援虛擬化呀。可惜呀postmarketOS的Libvirt套件都有了，但是虛擬化起不來。\n20241012 They don\u0026rsquo;t know I have 38 Github followers.jpg. 這幾年最讓我覺得莫名其妙的是，不擅長社交的我（無論是現實還是網路上），明明Github什麼都沒做，就常常有一堆人來follow我，且看他們的資料都不像是假帳號，成長速度遠比我的Twitter和Facebook帳號還快。難道是看部落格文章慕名而來的？看來一些在台灣相對冷門的技術文章寫雙語版真的有效。\n20241009 有時想著，是不是被環境影響太深了，整天在網路上發表暴論有何用呢，不如閉嘴專心研究更細節的學問，省得精力被稀釋掉。我認為，人們在網路上的發言，不夠偏執、不夠勁爆、不夠魔怔、不夠煽動，就難以吸引到同溫層的鐵粉簇擁。比如鋼鐵果粉的吹捧言論。其實自媒體下標愛當炒作狗並不見怪，只要能提出證據支撐我就還能接受，但是某iphonen＊＊s.tw的站長就是嚴重偏見的果粉，凡事都以Apple最棒的角度下去寫評論，像極了尬吹華為的中國小粉紅，這種行為在英文叫做cult。真希望那些用ChatGPT寫自媒體iPhone日報吸引流量的人不會感到臉紅。再如一些政治評論員的專頁。民進黨的側翼，人均擁有雙想(doublethink)，不論民進黨如何毀滅台獨的想像，擁護中華民國，試圖包牌，他們都能幫它圓回去。什麼都幫聖上解釋，好似下了一盤大棋黨的存在。國民黨的華腦（老害居多），凡事中國本位主義，其他通通開除球籍，味太大，難以與縫合華夏糟粕卻以馬克思主義自居的共產黨區分。民眾黨的狂柯粉得注意太多戰狼式的發言會不會嚇跑一些中立的支持者，否則當戰狼到最後就容易因為一點打擊變成張＊瑜那樣的人物。最糟糕的政治評論就是那種邪教式的經營方式，自稱某大師，不時發出「情勢預測」，像不學無術的某地震王姓專家一樣，用陰謀論包裝自己，顯得自己很偉大一樣。獨立思考，懂得依照事實適當調整自己看法，不追求誇大言詞的人就容易被忽視。這就是為何我喜歡李敖的原因：快看李敖大哥大，打開天窗說亮話。狗男狗女我全罵，好人喜歡壞人怕。酸甜以後又苦辣，擺平以後又上下。只有真理沒八卦，快看李敖大哥大。\n20241009 馬斯克站台挺川普 警告若沒贏「會是最後一次選舉」 某柯老三：我不贏台灣會完蛋。我川威武！！！！！！TRUMP PLEASE SAVE THE AMERICA.\n20241009 一位Facebook的蛤絲曾經跟我說：「然而，你用來嘲諷共產黨的蘇聯笑話是FBI寫的」。頗有老中人抓境外勢力的遐想。立即入典！中特社蘇聯笑話再增一條。所以說，膜蛤並不是真的反共，只是不喜歡包包的愛支病患而已。現在蛤蟆仙人已遠去，就繼續享受好日子吧。\n20241007 昨晚某位曾經的台獨工作者承認中華民國之後，台派跟中華民國派是不是要和解了？\n有這樣一個問題：在執行台獨總路線時你動搖過嗎？賴清德回答道：「我和總路線一起動搖。」（改寫自蘇聯笑話）啊這，怎就變華獨了，叫那些看到國旗就口吐白沫的塔綠班怎麼自理。要台獨不敢獨，繼續寄生中華民國。我國本就是匪共的爸爸，且兩岸本就互不隸屬，這點我肯定賴的發言。但，這種打迷糊仗的論述還有青鳥瞎挺。既然都要對兩岸問題裝死，何不選阿北的路線。\n20241006 FGO日版3000萬次紀念下載終於免費抽到奧伯龍(Pretender)了 ～ 不是Queen的The Great Pretender喔，這首歌我是看詐騙之王動畫才認識的。雖然有點反主流、但是，接下來的五星自選我應該會選玉藻前(Caster)，因為出的都是舊五星臭角，打手都有了就選那個唯一缺的Arts輔助吧。這樣就有了斯卡哈(Caster)、梅林(Caster)、孔明(Caster)、阿爾托莉亞(Caster)、光之高揚斯卡婭(Assassin)的完整輔助行列。嗯，結果受不了下頭誘惑，選了梅芙(Rider)。\n20241005 鮑家街43號 - 我應該真實的生活還是去幻想 論購買越獄iOS裝置的抉擇。新越獄方案不明朗，iOS 17和iOS 18都沒見到，大家都忙著找TrollStore漏洞了是不是？目前依賴checkm8硬體漏洞（A8 ~ A11處理器）的iOS裝置大部份都無法更新了，只剩少數iPad能更新到iOS 18，部份iPhone最好也就更新到iOS 16。那麼就會面臨一個問題：買這些二手裝置來用，就真的只能越獄測試之用，在未來兩年內這些裝置就會完全被淘汰，包括APP不給更新。到那個時候，買這些越獄裝置的誘因就更低了，因為幾無daily drive的可能。這樣看來，我挺感謝iPhone SE自二手商店購買以來，已經撐過5年了還在奮戰中。有些第三方APP的開發者很佛心，不會盲目追求最新版本iOS，使得這部iPhone還是能用來測試一些第三方與越獄APP。但看來也就到此為止了，我要不要花點小錢，升級到依然支援checkm8裝置（例如iPhone X），但完全無法更新到最新iOS呢？換來的就是依然能夠越獄的樂趣。可，iPhone X的錢也是錢，買那台二手的錢，拿去買更新的iPhone二手。放棄越獄，起碼還能更新，能夠日常使用，而不會像checkm8那樣陷入死局。\n20241003 有人說〈山雀〉是萬能青年旅店少見的情歌（他們也才出二張專輯而已==），也有人覺得這是宣揚潤學的歌曲，好不容易找到了在大時代可以對抗暴政的伴侶，但最後卻還是因為「盜寇入太行」得被迫逃難。繼續拿老梗出來說事吧，這種感覺就好像《1984》裡面的情侶檔一樣。於是，有理想的人離開了中國，剩下的結局就是〈河北墨麒麟〉〈郊眠寺〉了。比較讓人欣慰的解釋是，「山雀」的存在，確實給前面變成「採石」「泥河」的人們予以希望。\n20241003 高雄又淹水了，雖然我的鼠窩處沒波及到就是了，為那些受災戶祈禱，我是覺得PTT八卦板整天罵高雄有點過了。這讓我想到：群神秘人，時不時來提醒群友：舉頭三尺有神明，這都要應驗的。某光頭說過：天公伯很公平，人做得好就沒淹水，做不好就淹水。\n20241003 兩岸一家支之他到底會不會玩紅警啊？電都沒了還在這造超武呢。小粉紅相信美國用氣象武器導致鄭州大洗澡，喝習近平咖啡，在睿站廣傳。塔綠班側翼相信賴清德和蔡英文有遙控器能控制颱風，能避開台灣直撲中國（但是這次失靈了ㄎㄎ）\n20241002 翻譯有要緊 - 國慶布條又出現ROC了，且是113th，這些噁心的大人小草們\nThey have zero respect for this country. ← Twitter上的美國Anti-woke右派遇到滿是自恨的Woke左逼的時候就會冒出來的話，我可以想像川普講這句話的口吻。什麼叫「又」出現ROC？你國現在不就叫中華民國台灣嗎？我不是boomer，別說這種人是漢奸了，講台奸也太便宜他了吧！現在很多人談到不存在的台灣國的時候就大義凜然，講到現狀存在的中華民國就滿是詆毀。\n20241001 LLM Farm for macOS and iOS 基於llama.cpp開發，看起來是用CPU硬算的。試跑一下，Phi3B在M2處理器有27 token/s。如果開發者能提供Rest API就好了哪（乾脆移植Ollama吧），就不會浪費iPad的晶片效能了，嘿嘿嘿，可以讓它加入我的自架LLM工作行列。\n20240930 Root社群的分裂？碎片化？台灣人開發的Magisk自從作者去Google工作後就開始走下坡了，加上Google針對Root防治越來越嚴，導致Magisk需要一堆patch才能規避Root偵測，其中最重要的就是Play Integrity。在那之後，陸續出現中國人開發的KernelSU、APatch，用不同的方式取得Root權限，這樣有望藏的更深而不被偵測到Root。目前看來調和中的APatch是不錯的構想，融合Magisk的廣泛支援性與KernelSU的隱密性。至於要怎麼對付Play Integrity，其實從解鎖bootloader的那一刻起就註定難以回復到安全狀態了。就算有模組能繞過去，大部分也是暫時的，因為銀行不會放過你。慶幸，世界上還有一群人，不論是Android Root還是iOS越獄，他們都會站出來與這些大企業周旋到最後。ㄟ，我可不支持以外掛搞破壞為目的的root喔！注意道德米線！至於破解APP去廣告嘛，嘿嘿嘿\u0026hellip;我不好說。\n20240928 英語系的教授上課向我們推薦花15萬去買ASUS的筆電，擁有RTX4090，就能跑FLUX生圖模型了。喔不，我還沒那麼闊綽，誰像你一樣為了上課演示就隨手買RTX4060的平板啊，所以只好繼續壓榨手上的這塊GTX1050Ti，它在headless Ubuntu KVM裡面搭配ComfyUI能夠榨出更多資源，而如果要在VRAM 4GB的GPU上跑FLUX，就只能拉CPU下來陪葬了：使用GGUF格式的FLUX.1-schnell-gguf模型。1024x1024大小的圖片生成大約要5分鐘。\n20240927 Plug into the digital world with Nendoroid Lain Iwakura! Whether you’re surfing the web or diving deep into the digital abyss, this figure brings The Wired right to your shelf! Preorder her today!\nLet\u0026rsquo;s all love Lain. 玲音的GSC黏土人，發售日期？present day? present time? No ~ 是2025年。動畫播映後，時隔25年後的新產品呀。Lain屬於上網老資歷(指Web 1.0時代)就愛看的動畫作品，尤其在歐美4chan圈特別盛行。第一次這麼想買Lain黏土人～ Navi。\n2023年的時候，一日限定的25週年Lain官網serialexperimentslain.io上線，現存於Web Archive。Lain的原作者剪了一個意義不明的預告片，結果才說是愚人節玩笑，沒有第二季啦。慶幸的是，這麼多年過去了還有人記得Lain並願意購買商品～\n20240927 Heating and cooling Raspberry Pi 5 Raspberry Pi 5真的是烤箱呀，跑個ReDroid Android模擬器玩宇宙神遊FGO，CPU溫度就飆到85度，什麼被動散熱片根本壓不住。所以一定要買個風扇來壓溫度。為什麼我會發現這件事呢，說著真來氣，早知道之前就不要買副廠的風扇了，尺寸過大，要加裝金屬殼的時候才發現風扇裝不下，結果拆掉再加殼，導致整個鐵盒變烤箱，即使待機狀態下還是很熱～逼得我再去買原廠的風扇裝上去。\n20240925 【音樂欣賞】「經過許多年，許多幻想，我們購買著夢和靈魂，變化將大腦洗煉殆盡。價格昂貴的虛無，日復一日的眼淚，填滿了這世上最優秀的心靈。尊敬的孔子先生，此刻你的手指向何方？我們躺在柔軟的床墊上，聽著『天王』的戀歌，窗外是筋疲力盡的未來，所有這一切意味著人生將是一個玩笑，應該真實的生活？還是去幻想？」———— 鮑家街43號同名專輯封面上的題字。汪峰與他的快樂夥伴在1997年就寫下中國搖滾史的經典作品，奠定他日後成功的基礎。這張專輯不只包含對64事件憐憫的〈晚安，北京〉，還有鼓勵人們在看破真相之後依然要盡力飛舞的〈小鳥〉，這樣的搖滾叛逆精神延續到了《風暴來臨》、《花火》專輯之後才逐漸消失。之後汪峰就開始寫口水歌啦，但搖滾精神並沒有消失，直到2022年的作品，依然有批判社會不公的曲子，這樣還能過審真的厲害，看看李志都被搞成什麼樣了。可見，上一代人的困惑，到我們這一代還是沒有解決啊，反而更加迷惘，即使對方是經過河殤時代的中國人\u0026hellip;我們又何嘗不能感同身受呢。季艺 - 摇滚的幸存者——汪峰\n20240924 補習班越來越多，代表我們這二十年來教育改革的失敗，順帶弄死了技職體系，你出什麼新招補習班就跟著出新花樣，加劇貧富不均的問題。然而，這也不是說恢復以前聯考制度就能解決的，或許人才比以前被發掘的管道多了，但又有多少人因為現實因素被埋沒呢？至於補習班的問題，華人乃至東亞小黃人的劣根性使然，即使是歐美也有一堆做題家開的補習班，除非像習近平一樣大手錘爛教培行業否則補習班不可能消失的。\n20240923 Flathub將要成為Linux界未來的「App Store」了！未來可能會引入付費按鈕，Flatpak真偉大。不過目前官網的界面還沒有開放評論和打星的功能呢\u0026hellip;\u0026hellip;覺得不開也好，因為可預見會湧入許多腦殘評論。有些桌面環境的應用程式商店前端會自動給Flatpak接入AppStream的評論區，就會看到一堆一星的腦殘中文評論，什麼閃退啊，開不起來啊，為什麼我Linux打不出中文（他真的用一串拼音替代）。啊又不講自己是哪個發行版？嘛，這個鍋可能發行版也要背，因為Ubuntu的商店設計就是這樣\u0026hellip;\u0026hellip;Snap、Flatpak、Deb的混在一起，很容易讓人以為Linux的軟體是來自同一個來源。AppStream評論區的留言比Google Play的評分還無用（順帶一提，手機應用商店的巨嬰用戶真的很多，得要專門的客服一個個去安撫），回覆一點效率都沒有，還有一堆連終端機都不會開、不知道怎樣debug的愚民在留言，你有空抱怨何不去Github提issue嘞？\n20240921 iOS玩艦隊Collection？雖然主力是Android手機，但想在iPad玩艦隊收藏怎辦呢？，參見艦隊Collection不用VPN連線的方法，目前還沒有成熟的iOS APP能用來玩艦隊Collection，最主要是我不想用VPN啊，新的iOS APP「艦橋」看起來很不錯，Flutter真的是iPhone和iPad的救星，希望能去掉VPN的需求。我有想過架KCCacheProxy再讓iOS瀏覽器連上去代理的作法，這樣我至少能在iOS的瀏覽器執行艦隊Collection。不，不行，iOS沒有瀏覽器能單獨設定走代理。只能Wifi全域設定再靠VPN。加上iOS瀏覽器得用書籤方式改cookie，好麻煩。那麼乾脆就用遠端桌面吧！正好我有一台Raspberry Pi 5，插上HDMI Dummy Plug之後就是低耗電的遠端小電腦了。poi或kc3都是好選擇，都能在ARM64的環境運作。再使用RustDesk建立建置P2P的遠端桌面環境就好了。\u0026hellip;唉算了，還是用Android手機打吧。\n20240921 我tm刚说要退网，Sina就没了，很喜欢浪友的一句话：“别走，没你不行！” - r/abstract_garden 操，怎麼有人跟我一樣，最近幾天才想說要退迪了，不再到Reddit中文鍵政區看迪蛆魔怔瞎罵，以及看r/Taiwanese的塔綠班發癲了，只看英文sub就好，結果最近兩個成立不久的新家r/Sina和r/beiouxiaozhen都沒了，浪人何去何從？\n20240920 Unpopular opinion：遊戲反作弊引擎是好的，因為外掛仔太多（尤以中國人為甚），因此裝一個能存取Windows核心底層的病毒式外掛偵測軟體絕對是對整體玩家有利的。你幾個玩家的抱怨比得上無腦玩遊戲的課長一天貢獻的錢多？反作弊軟體無法正常運作？玩家的電腦根本不應該裝一堆有的沒的，看看iOS玩家什麼都幹不了，所以是資本剝削玩家的好地方！\nUnpopular opinion：DRM是好的，它確保了版權方的利益不被盜版仔侵害，只享用免費內容的人是小偷，就像裝擋廣告插件、意圖破壞創作者盈利的人一樣。只要服務設計的夠「方便」，消費者就不會對DRM有意見，現在誰還會像那些boomer一樣想要一份完整的數位產品拷貝呢！我還沒去刷抖音看五分鐘講解電影呢！\n20240919 LiveContainer，打破AltStore三個APP限制。需要透過AltStore或SideStore安裝，APP同樣有7天簽名後過期的問題。最大特點是可以透過LiveContainer安裝多個IPA。APP執行的時候並不會檢查簽名，所以沒有三個APP的限制。但也因此，APP只能在LiveContainer裡面執行，而且一次只能執行一個APP。\n20240919 立法院新會期馬上就來一個掐頭去尾的認知作戰！在散會後才提案，在那邊噗噗跳說為什麼沒人要聽。塔綠班最近整天洗2758號決議，說Facebook演算法刻意限流？噗，文組思維，認為什麼事情都是陰謀，要有一個解釋。信不信就算台灣過了這種自慰法案，擁有否決權的支那還是給你一句：「早就給拒絕了！沒聽到大會做的決定嗎？誰理你們！」\nPTT鄉民的解釋：Re: [新聞] 藍白遇「2758決議不涉台」秒離席 「其實有在看立法院影片的，都知道那一段是怎麼回事。整場大致最主要議題就是台電補貼議案跟能源配比，完全沒談什麼2758決議案，然後反正因為最後談不攏，韓國瑜就宣示因為無法達成共識，就另外開會決定，散會。」\n八卦是民眾黨本來就支持2758號決議的變更，但是沒有在討論事項的東西是要講個屁。\n20240918 有人整理了一系列\u0026quot;I miss the old Internet\u0026quot;主題的文章。 The internet used to be fun (kwon.nyc)\n駭客精神，風骨猶存的社群網站大概就Hacke News了，因為只能用文字交流，這裡就是最多人懷念以前的網際網路時代的吧。要說多久以前的網路才是最美好的呢\u0026hellip;大約是Web 2.0以前，Facebook還沒出現的年代吧。Save the Web by Being Nice的觀點講的不錯，儘管我們抵擋不了人人都在滑手機、人人被社群媒體牽著走的趨勢，我們還是可以透過經營自己的內容來保持網路的美好，例如寫部落格、錄Podcast、經營fan site、經營論壇（有趣的是，作者把寫部落格和經營論壇的技術稱之為「祕術」因為越來越少人懂得這樣幹了XD）\u0026hellip;至於拍片嘛，Well我還沒看過哪個Youtuber能維持Luke Smith那種風格而不被金錢流量吸引而變質的，到最後Youtuber不都會變炒作狗嗎？慎之！慎之。最重要的是，我們要保持友善，到彼此的網站作客，覺得有趣就留言、分享URL吧！讓對方知道有人理解你，這不就是最美好的事情了嗎？\n20240917 記得在Reddit看到分享RustDesk的貼文的時候，有人提到這個開源遠端桌面軟體的取名是「如何讓別人知道你使用Rust寫程式卻不提到Rust。」那麼，我們是不是可以說，愛用RustDesk的人，就是「絕口不提！愛你」？\n鄭中基 - 絕口不提！愛你\n20240916 吸毒仔違反刑法，販賣各種毒品都會被判刑。吸獨仔違反刑法，主張台灣獨立是叛國罪，所以有人開始便乘「華獨也是獨」以維持執政合法性，就像綠羅也是羅一樣。什麼時候才能合法化呢，我希望是前者先啦，ㄎㄎ多吸一點有地方幻想就不用在現實中上街嚇人了。先從大麻合法化開始！全台那麼多左逼能不能加快腳步！\n20240914 劉醒＋日本人，你們南支那人到底懂不懂法律？.jpg 每次看藍綠政論名嘴瞎掰故事，偵查全公開、完全沒良心，無視法律的造謠，就更覺得NCC的預算應該全砍光。\n20240914 如何看待知乎禁止必应和谷歌搜索、抓取其内容?\n難怪最近都找不到知乎文章了。唉，這個中國互聯網相對乾淨的地方竟然作繭自縛了，變成只剩那些CSDN之類惡臭不堪的內容農場還霸佔著Google中文搜尋結果。因為怕被拿去AI訓練資料所以禁止搜尋引擎索引資料？可笑！Reddit都不怕了你怕什麼？（因為早就賤價賣掉了ㄏㄏ）網際網路正走向封閉化，中國的微信公眾號就是個早期的例子，優秀內容被鎖在平台內，連帶的也綁住用戶了！現在一堆網站動不動就要你下載APP，方便鎖住用戶，甚至連網頁版功能都不開發了，這絕對不是好事。\n20240914 關於我買到iPad就想賣掉這回事，media-consuming device果然不適合我嗎\u0026hellip;觸控體驗很棒，但當我想要做事的時候——遠端連線到Linux桌面——就很糟糕，可說用awful來形容。接鍵盤體驗糟糕不說，我也找不到除了遠端桌面以外的好的開源SSH客戶端。在多個APP之間切換的時候，iSH Shell會被iOS暫停，這會導致SSH連線凍結。所以必須申請背景執行權限，用OpenRC管理服務。不過經過實測，雖然不是被殺掉，iSH Shell放到背景還是會被凍結QQ 目前看來只有幕前調度能真正避免背景執行被殺掉。我得說，這功能是挽回一點桌面使用者信心的關鍵，否則iPad一直就是大號iPhone而已。\n20240913 可逆廢棄孔，惡性情報隔離計畫：壯士斷腕，放棄流量，為了未來考量，把原本收進來的再獨立出去，果然人類就是會犯同樣的錯誤，ㄎㄎ。\n20240911 嘗試對中國問題保持中立，或者說當日子人會發生什麼事：支黑說你眼瞎了，勸你去看看中國人多邪惡；小粉紅說你眼瞎了，勸你出去看看中國人的良善。事實上，你不需要網路上的這些吃飽了沒事幹（維尼遨遊星瀚）的troll來告訴你這個世界該長什麼樣子，最好用自己的眼睛親眼確認，就像鍾明軒那樣，無腦仇恨人是不對的。我再引用一個老左逼都知道的典故：「我沒有什麼理由去對抗越共，越共從來沒有罵我是黑鬼，我也沒跟越共吵過架」。\n20240911 一些極右翼浪人的意識形態讓人噁心，什麼政府全不要管制最好，什麼捍衛自己的基本權利不被政府侵犯，又不是活在阿根廷那種貴物國家。正如另外一批神友所說的：那麼Eisenhower公路也不要建了，你就躲在自己的ranch搞絕對自立吧！把社會問題轉嫁到非法移民和全球化身上也不能解決美國國內的問題，這可是川普副手范斯自己都認識到的問題，而有些人就心甘情願被機會主義者騙票，就因為左逼看起來比右狗還傻逼，在我看來，凡事只看左右絕對屁股的人才是腦袋有洞的。\n20240909 「日本A片的女人叫床叫得比美國A片的女人好，因為日本女人叫得比較細，有起承轉合。看美國A片就像在看三民主義。」李敖老司機真有了，愛看日本A片還整天講人家鬼子，味有點大。我也不大愛歐美白媽媽，尤其美國特愛刻劃MILF型態的，肥臀和壯碩身軀不如小黃人美麗。\n「北歐、瑞典、丹麥，他們是全世界性開放最早的國家，那時候有A片，你們應該偷看過A片、小電影啊，丹麥開放A片的那一年，全國的強姦犯罪率減少了16%，不強姦了，看完A片就好了，同一年偷看人家洗澡，窺視減少了80%，當你開放小電影的時候，大家整天看稀鬆平常了，反倒沒事了。言論自由，本身就是這個玩意兒。」\n20230908 真希望哪天我潤到歐美了，就能大聲的說：中國、還有中國台灣的那些政治問題，究竟郭屁事，你們小黃人自己玩兒去吧。Gab上右狗TV的老哥投票很大一部分都是傾向這種情緒。不過既然李敖曾經在北京大學說過，對待政府有「嗝」了，「顛」了，「得」了，「慫」了，「火」了幾種作法。我就更不可能這樣做。躲起來是沒用的，暴力反抗也不好，如果還有希望，就是要反抗政府到底。\n20240907 iPadOS的幕前調度(Stage Manager)真的是很有趣的發明，搭配外接顯示器更好，算是針對觸控螢幕考量了又放了一些Mac的操作邏輯下來。你覺得操作邏輯很智障？比macOS還stripped down的視窗管理？那你一定沒用過GNOME！視窗只有最大化和最小化。現在iPad就缺多重工作區了。\n20240907 馬的，到底是哪個天才會買需要裝AA電池的藍芽產品和繪圖板的。啊是我啊，nmsl（那沒事了）以前用過要裝電池的繪圖筆搭配繪圖板，驅動還不支援Linux，果然還是Wacom好。然後買了要裝電池的雙模藍芽滑鼠和雙頻道藍芽鍵盤，都是同一間牌子的，不到一千塊感覺很實惠吧。結果呢藍芽滑鼠超難按，配對常常失靈；藍芽鍵盤則是吃電超兇，放著三天就吃光電量。永遠不要買在光南賣場看到的台廠雜牌貨。\n20240906 FuriLabs FLX1 - Planned Permanence\n聽起來就感覺毛毛的，什麼？Furry OS？獸控專用手機？不是啦，原來是一款新的Linux手機。感覺還不錯，搭載天璣900處理器，FuriOS界面使用Phosh，基於Debian開發，並提供Android App相容層。感覺還不錯，終於有SD845系列以外的強力Linux手機了？相機驅動還能在Linux運作！ㄟ等等\u0026hellip;Reddit有人說他們是用Drodian技術製作系統的，那還是得受制於Android閉源驅動的問題呀！難以mainline化，那這樣就變成Ubuntu touch的路線了。還有這支手機也太重了吧，280g？價錢還要499美元？偏貴的說。之前德國也有出過Volla Phone，FairPhone也能裝Ubuntu touch，但是這種取巧走縫合驅動的法子通常都會導致Linux系統處於半死不活的狀態。Pine64和Librem走的才是正確的道路。\n20240906 民眾黨被民進黨和國民黨迫害至此，時至今日，想起劉曉波被中共抓入黑牢時的一句話：「我沒有敵人」「仇恨會腐蝕一個人的智慧和良知，敵人意識將毒化一個民族的精神，煽動起你死我活的殘酷鬥爭，毀掉一個社會的寬容和人性，阻礙一個國家走向自由民主的進程。所以，我希望自己能夠超越個人的遭遇來看待國家的發展和社會的變化，以最大的善意對待政權的敵意，以愛化解恨。」\n柴静 - 政治抑郁症的本质是没有自由成为我. - X.com\nThere is no cure for us.「去做他認為價值觀對的事。一個人可能帶來一群人，變成一個故事。歷史中有很多這樣的故事。憂鬱是因為確知未來會如何，自己會怎麼結束。但，另一種選擇是未知，我不知道故事如何結束。」\n現在階段就是照顧好自己，並在有需要時候，依然站出來。\n20240905 柯文哲又被抓走了。柯文哲涉京華城案北院裁定羈押禁見\n圖片 PTT八卦板不時就會出現的這張圖片，現在綠共的進度已經跨過限制人身自由，好日子還在後頭呢。然後，這段16秒的影片可能是阿北最後的呼吸了，呼籲支持者不要太過於擔心。那就這樣吧，祝福你。這是柯文哲想跟大家說的話：請好好照顧自己，繼續認真過每一天！\n20240905 KasmVNC，現代化的VNC解決方案，網頁運作的Linux遠端桌面。授權條款：GPLv2。雖然叫做VNC，不過他們已經拋棄了RFB協定以適應現代化的環境。它不是x11VNC給一般電腦的遠端桌面，而是設計給伺服器使用的。我個人覺得KasmVNC就是整合了各種前人方案的綜合體，也就是TigerVNC + noVNC + VirtualGL。並且比Apache Guacamole更容易安裝，網頁操作十分順暢。但最賤的就是他們沒有把關鍵的音訊串流的技術開源出來，而是包含在他們的Kasm Workspaces產品裡面（需要用Docker跑），看來這個技術沒辦法包含在Kasm套裝軟體裡面哪，那麼KasmVNC也不過就是比RealVNC先進一些些罷了！另外有一個叫做LinuxServer WebTop的專案，可以說是丐版的Kasm Workspace，同樣也依賴Docker，但是全開源，有把音訊技術包含進去。\n20240904 白俄羅斯也有「通商寬衣」wwwwwww 至少人家不像習姓小學生一樣會禁止人民貫徹黨的意志。\n照總統說的做 白羅斯民眾裸身上班 - 地球圖輯隊\n20240903 Modifying UTM Configuration Via CLI | vkhitrin.com 還在想.utm是什麼壓縮格式，原來只是資料夾，下面包含虛擬機設定檔和qcow2，所以完全能在Mac編輯utm bundle結構再放到iOS開機嘛！Mac看得到utm資料夾的內容但iOS不給你存取。UTM Gllaery的Debian 11 ARM64映像檔，這個似乎比較穩定。預設映像只有20GB，所以要手動到utm bundle的目錄，再用qemu-resize擴充空間。可惜iOS沒有這個工具，iSH Shell一直跳錯誤，所以得將utm資料夾傳到真正Linux電腦擴充容量再傳回去，哎\u0026hellip;\u0026hellip;。\n20240903 iPad跑Android APP：UTM虛擬機安裝Waydroid\u0026hellip;雖然想這樣下標，但我覺得開機就要等30分鐘的虛擬機完全沒有可用性。不如準備個遠端桌面到樹莓派，看哪這塊小小的板子能做的卻比你iPad多。我有嘗試安裝Bliss OS，但不知為何GRUB就是過不了開機程序，可能無法用EFI？或許得用MBR安裝。改成在Ubuntu虛擬機裡面跑一個Waydroid容器，藉此執行Android APP。想當然爾沒有GPU加速。省去libhoudini轉譯的麻煩，所以使用ARM64架構的映像檔，可是QEMU的OpenGL似乎有點問題，字都跑不出來，所以用x86架構，Waydroid要求CPU支援SSE4.2，故需要在模擬CPU型號選qmeu64，然後啟用對應旗標。Weston開了Waydroid跑不出來，那換成Ubuntu ReDroid呢？好樣的Docker容器一啟動就崩潰！最終結論：又慢又太難搞了，算了吧！\n20240903 現在就是個老鼠上桌的時代，而且不可逆。 - r/real_China_irl\n不排__行嗎？「大规模引进习俗甚至人种差异如此之大的移民，现代社会根本无法消化，以前移民或者难民跑过去，也会形成一个小圈子，但影响力总归是有限的，移民还是要尽量融入本地，赚钱养家。结果現在就是移民跑其他国家抱团玩自己的那套民族主义，根本无法同化。甚至国内本来存在的少数族裔也会搞出类似的一套新叙事。」\n20240903 鏡週刊 黃國昌今質疑《鏡週刊》報導柯文哲主席違背職務收受賄賂700萬元一事，完全與事實不符。內容從未述及柯文哲違背職務收受賄賂700萬元，這罪名倒是黃國昌替柯主席安的，與本刊無關，籲請黃委員切勿胡亂指摘，顛倒是非。\n雖然是不對的行為，總覺得民眾黨發言人嗆記者好像也沒錯了，台灣這麼多垃圾媒體，有良心的獨立報導媒體不被重視，老鼠上桌的一堆。隨口就用網友說的東西來質疑人，捏造消息帶風向再狡bang說自己不是那個意思，還能獨家拿到偵查不公開的檢調消息。我可沒說哪一間喔！這罪名倒是自己給自己安上的不是麼。\n黃國昌 無恥的鏡週刊、敢潑糞不敢當。鏡週刊完全不敢提及其所惡意扭曲的「700萬帳戶資金不明」由何而來，在抹黑報導翻車後，突然改口狡辯，除了丟盡第四權的臉，儼然就在承認自己就是賴清德政府鷹犬北檢的打手！\n20240903 Kid Rock這個紅脖子能處，共和黨集會唯一能邀請到的搖滾明星大概就他了。鄉村風格的搖滾樂別有一番風味，聽來曠意輕鬆。最近幾年他做了瘋狂挺川的歌曲，就有人說「原來還有音樂家have balls，不會被娛樂界的左派收買！」好聽曲目：Only God Knows Why、Redneck Paradise、American Rock \u0026rsquo;n Roll、Born Free。\n20240902 沒辦法到場聲援，焦急的在線上等到了凌晨三點，甚至做了最壞臆算胃藥都拿出來吃。結果經歷三天拷問，柯文哲無保請回！！！！！！我們主將終於可以回家了😭😭😭\n20240901 經典回顧2013年5月4日柯文哲：「這個國家瘋了。舉國皆認為貪汙者，政府極力遮躲粉飾，為其脫罪。舉國皆認為刻苦自律者，政府則加之以貪瀆之名，予以迫害。這個國家瘋了。」現在我們確實知道民進黨跟國民黨一樣爛（非蠢即壞），賴皮複製蔣開穴和馬水母的先進治國經驗過之而不及，想學習包子搞垮薄都督再瘋狂加速是吧。PTT說得好，什麼務實的台獨工作者，台灣獨裁工作者吧！\n20240831 試著用了Reddit好評如潮的COSMIC DE（有人覺得這個DE已經好到應該讓更多發行版採納COMSIC作為預設桌面環境，這是否有點），怎覺得還好而已\u0026hellip;我想主因是沒有動畫導致很樸素吧，那個藍色視窗邊框是怎麼回事，導致COSMIC看起來像Hyprland魔改的。最靠北的是Hyprland作者Vaxry開嘴COSMIC很爛結果被人說你的Hyprland不是也一樣不穩定麼，還有Vaxry早就被FreeDesktop的上游ban了，據說是因為不鳥Code of Conduct緣故（左逼受不了整天po anime waifu和Discord的自由討論風氣吧！）所以才會導致他把Hyprland從wlroots獨立出來吧。嘛System76願意做一個完整的Wayland桌面仍是好事，總算有GNOME和KDE以外的選擇，現在雖然處於Alpha 1階段但大部分功能已經能用了，基本繼承了以前GMOME桌面的所有功能。果然有商業公司支援開發速度就是不一樣，看看那個Maui Shell進度\u0026hellip;餅吃太大了，想學Ubuntu touch的Unity還太早了。Pop!_OS已經釋出搭載COSMIC的測試版映像檔，且開放給其他Linux發行版打包COSMIC套件。看了下Arch Linux的依賴套件，他們還要自己做一個xdg-desktop-portal的實現啊\u0026hellip;。\n20240831 Kid Rock - We The People 看看台灣主流媒體的報導，不分藍綠整天打柯，現在可以體會美國鋼鐵川粉的心情了吧？We the people! FUCK YOU MAINSTREAM MEDIA! And you social media trolls, y\u0026rsquo;all can suck on deez.\n20240830 唉Z世代。大概是我太笨了，或者因為我是文組，我實在不知道推薦tiling window manager （或者用Wayland的術語來說叫做compositor）給新手的人在想什麼，其實就算是老手也不知道為何他們偏好這個。不論是dwm、i3、Sway、Hyprland都要大量依賴快捷鍵操作，而且configure自訂一堆有的沒有的才能開始用，還得花大把時間ricing。嫌Linux的指令難道還不夠多嗎？試問效率何在？操作直覺都不直覺了都！我一點都不覺得記一堆快捷鍵操作有什麼好的。還是桌面環境(desktop manager)好。可能我們已經被Windows、macOS習慣了，或者說整天滑手機只會點點點，必須要很快速的上手才能視為好桌面！看看那個功能精簡到爆炸的GNOME倒市設是的不錯，開箱即用的桌面環境，還算有跟上時代的設計語言，適應觸控螢幕的按鈕設計。需要做事的人不用KDE那麼多的自訂性，只要能好好的完成工作就行了。最近我開始理解為何GNOME Terminal要在完成指令後跳通知了，因為這東西就是許多admin在漫長的生產環境使用的啊！桌面環境應該幫使用者處理好所需的一切（如果你認為這是bloated的話那我也沒話說了）才能愉快的用電腦。誰敢將tiling window manager放到生產環境的電腦？\n20240830 買麥片的時候意外得到了額外的贈品，店員微笑的拿了過來。「這個你要不要？」「送的嗎？」「對」「不了，我吃不了那麼多\u0026hellip;而且，那個口味我吃不慣」「喔，我想說你們買麥片的都有在泡，應該會喜歡。」最後店員笑笑的把它收回去。巧克力麥片其實很健康的不是嗎，雖然沒有純燕麥片功效好，當早餐和零食吃都行。但是這個有分品牌的，目前看來就家樂氏格格脆最好吃，再來是雀巢可可脆片。國產的藍色大象麥片我吃過一次後就不想再吃了，有夠噁心的糖霜，吃起來很膩的脆片。可憐的國小生，福利社都賣這種的為主，雀巢推出的小型早餐包都比這個品牌好吃多了！\n20240829 以後不講台巴子了，這詞是地圖砲，我是善良的台巴子啊！支那人不要屠我。講閩猴更合適，其與台派的重疊率特別高。話說也不是學台語羅馬字就叫閩猴吧\u0026hellip;siunn hàm là!\n貓貓頭社長 閩猴指的是大閩族主義者，覺得閩南語可以篡奪整個台灣名稱的那種猴子，而不是所有閩地民系的人。\n20240829 面對問題，解決問題。加油，阿北我們會等你回來。\n柯文哲 2024總統大選政治獻金申報不實以及接連發生的事件，重創了本人與台灣民眾黨的形象，造成各界連日紛擾，也讓支持台灣民眾黨的朋友失望，我要向社會大眾表達我的抱歉。\n最近我黨出現幾個大事件，高虹安被司法迫害退黨止血，然後帳務問題（尚未查到違法證據）導致其他問題被放大檢視，連柯文哲看個房子也能被批評老半天，還有徐瑞希因理念不合的退黨，這都很多。我覺得最抽象的是由愛生恨的張喬瑜，看起來是對政治熱衷過頭了，但在黨內根本沒實權。變成太容易被激怒，內鬥失敗就致使她從柯粉一秒鐘變柯黑（有爭議，因為她還沒針對柯文哲本人）\u0026hellip;唉，結果反倒被同樣很偏激的「一哥」嘲諷，二極管紅衛兵不就是這樣嗎。在此之外還有很多前黨員靠黑柯維生，真是夠了，幸好我真的都沒在看電視。退黨之後比較正常的看來就只有貓貓頭社長（相對來說，其實她也挺偏執的），起碼她現在還熱衷調戲閩猴，沒有馬上反水搞柯黑營業，當真正無黨無派人士，堅持排黑的立場。這倒是值得尊敬。天哪我黨怎麼一堆siáu-tsa-bóo\u0026hellip;啊不是，戰狼小姊姊，難道真是上行下效？還有一堆黑道背景的KOL，搶著當神的代行者，ㄟㄟ小黨還沒壯大就在搞派系？\n因此、不要對政治過於熱衷，投入過多空洞的期待，期待一個救世主，一個神降臨是不切實際的。莫將自己施予berserker咒語，成為「狂柯粉」，否則就跟民進黨青鳥一樣惹人嫌了。應對這場政治風暴，身為小小民眾黨員，我們只能「等待，並懷抱希望」。\n20240829 How often do you reboot? - r/linuxmasterrace\n留言有人說：\u0026ldquo;My PC is on when I\u0026rsquo;m using it. My PC is off when I\u0026rsquo;m not using it.\u0026rdquo; 哈哈，這句到底是在說「電腦不用就關掉」，還是「我不在電腦前就算關機」了呢？，如果是後者的觀點就好了，轉念一想，一個月電腦不關機電費也就多幾百塊而已，何況桌面版Linux還能當伺服器用！就如某位名人說的「時間於我生前無意義，時間在我死後與我無關」。咱Linux不用像Windows一樣頻繁重開機。\n20240829 墙里小将看到繁体就能出警，墙外魔怔湾友看到简体也要怒喷，什么叫两岸一家 - r/real_China_irl\n當你發現塔綠班也看不起支黑的時候：這不是敵人不敵人的問題，中國小粉紅和台灣塔綠班都太極端了（味更大的藍腦就自不用說了）。並不是身為台灣人擁有民主，就比活在獨裁統治下的中國人天生高貴，這是一種歧視，咱們有些人還真把自己當成要教化落後支那人的高階種姓了？頭鐵唯一擁護偉大賴主席的我看也沒好到哪去。看來沒有人記得尤達大師說的話：「恐懼帶來憤怒，憤怒招致仇恨，仇恨造成苦難。」在網路上這種容易形成小圈圈的地方確實會出現排外現象，但我們不要把這個mindset化作現實。難道非得親自經歷：「你坐啊，萊納\u0026hellip;原來我們都是一樣的啊，萊納\u0026hellip;」那些人才會醒悟嗎？悟道仇恨不能解決問題的時候，能想起進擊的巨人的艾連這段對話，希望那時還不會太晚。梟說過，要去愛人，否則只會重蹈覆轍。\n20240826 五月天 - 而我知道 他們再也寫不出這種青澀感的歌了吧，順帶一提這大概是五月天最色的MV。有人說五月天當兵前出的三張專輯才是首首神作，那之後出的專輯都還好而已，就像周杰倫推出驚嘆號以前的歌曲一樣。若要這樣講也是沒錯，不如說他們的風格稍微改變了。最初的專輯反應青春時期的狂想，畢竟是學生樂團，歌詞放蕩並且音樂簡潔。在當兵之後，風格慢慢變成大人的視角去看事情，格局大了後便失去了青澀感，雖然到現在專輯主題依然在賣夢想，但已經沒有了青春時期的徬徨，而是對人生有了歲月的體悟。\n20240825 如果是浪人來九評《黑悟空：神話》不好那我倒覺得還行，支黑的申必觀點值得一讀，倒是你台巴子來湊個什麼勁兒？連支語警察出征都暴露自己國文程度的迫真台羅仔、台派，還能說出個什麼青鳥？用台語來說就是：「別人在那邊吃麵，你在那邊喊燙！」(Lâng teh tsiah bí-hún, i teh huah sio.) 所以我說你們這些臭打遊戲的能不能冷靜一點，不玩就算了還整天對人頤指氣使，遊戲玩家之間的宗教戰爭難道不比追星族下賤嗎？一邊打著愛國旗號逼人認同遊戲，一邊打著仇中意識形態逼人反對。\n20240825 圖片 Facebook對仇恨言論的定義非常公平，現在不論講「支那」還是「台巴子」都是仇恨言論，然後講「右狗」也是仇恨言論了？幸好負責審核的支那人還不認為「左逼」是仇恨言論。不是，他們不會聽你辯解的，儘管那些極右派就是這樣自稱自己是右狗的\u0026hellip;但說你是仇恨言論你就是。川普求求你快把選舉操控者抓去關吧。 川普：我當選總統就送祖克柏等「選舉舞弊者」進監獄\n20240825 Support for official Google Play Games apk [$210] #163\n蠻有趣的一個issue：microG（開源版GMS）正在徵求能實現相容Google Play Games Service的開發人員，懸賞210美元。然鵝8年過去了還是沒人能實現。這樣那些把手機degoogle的人依然無法玩重度依賴Google Play Games框架的手遊，可能課金也課不了！\n20240825 李宗盛 Jonathan Lee【開場白 The introduction】Official Music Video\n「你現在是怎樣的心情呢？是歡喜悲傷還是一點點不知名的愁？如果是，請進來我的世界，稍做停留，在這裡，有人陪你歡喜悲傷陪你愁。」好喜歡這種溫柔的感覺，2020年在我最徬徨無助的時候，陪我度過的就是《作品李宗盛 最完整精選全紀錄》，同樣的歌詞唱了三次，絕不是在拖時間，而是反映人聽了歌曲後各種情緒的變化吧。精選集裡面出現了各個時期的作品，這首開場白確實很適合當作開場白，引領人進入溫柔大叔的世界。\n20240824 「反對DRM！It is defective by design!」左逼（包含一些自由軟體運動家，例如FSF、Mozilla等）就是這樣，他們不懂商業世界的運作，總是旗幟鮮明的反對這反對那，然後往往都提不出更好的解決方案（那麼多厲害的程式設計師連做個替代品都沒辦法，為何沒有LibreDRM之類的東東滿足商業客戶需求？），就只是無腦反對，也不懂協商的藝術。好啦，十年過去了，除了駭客會破解DRM分發給盜版用戶之外，還有誰在乎？你我早就輸了這場DRM war。我看到最好笑的是現在還有人在反Secure Boot，說它侵犯了我的權利什麼的，那請你把手上的iPhone丟了吧。也沒錯啦，如果這東西強制普及難保x86不會變成Android那樣locked bootloader的體系，讓你無法啟動心愛的meme Linux distro。但是連RedHat都願意跟上時代潮流推出signed kernel modules了，某些食古不化的boomer的意見就忽視吧。\n20240824 台灣如果學「黑神話：悟空」搞一款「黑面蔡：英文」感覺也會火欸。 主角就是黑面戰神。BOSS：長鹿茸的馬、會爬樹從韓國游來的魚、殼外面長很多小草的蚵仔。PTT這篇很可以XDD，所有人都有罵到，比之前單純說要出「綠神話 母豬」的好多了。還有另外一篇：台灣如果補助做3A大作會怎樣？ 反正最後做3A大作的國家隊經費都會被小吃店貪走。\n20240823 眾iPad型號中，只有iPad Pro搭載Thunderbolt連接埠，價格也是讓人震驚，不禁讓人想到新黨黨歌：大地一聲雷　驚醒了我和你 新的你　新的我 開創無限新的希望 風雨中　我成長　風雨中我茁壯 新的思想　新的力量 創造新的中華民國\n20240823 五月天舊歌新唱的作法應該越來越多人不能認同了吧，不是因為這些歌不好聽，而是阿信的唱風變了，舊歌新編都喜歡「窩喔窩喔～」的唱法，變成現代五月天的風格，總覺得失去了以前的青澀感，包含2019年重新錄製的〈瘋狂世界〉，每首舊歌都變〈派對動物〉的風格，很怪。用周星馳在《少林足球》裡面的吐槽就是：「哇吼，哇吼\u0026hellip;哇你個頭！」炒冷飯的作法，外國也有。The Beatles可以用John Lennon生前的混音搞出一首聽來還不錯的〈Now And Then〉，AI技術真強大。A Flock of Seagulls已經是光頭老人了還能唱〈Space Age Love Song〉；Alphaville變成大叔了還能唱高音〈Forever Young〉\u0026hellip;話說這些炒冷飯的是不是都喜歡用交響樂團來增加氣勢啊？用磅礡的音樂渲染氣氛，讓老歌迷更加想流淚？幹嘛這樣！Tears for Fears兩個老頭唱〈Everybody Wants to Rule the World〉才不需要這些操作，原始風格呈現就好。I can\u0026rsquo;t stand this indecision. Married with a lack of vision.\n20240823 五月天 晚安地球人+瘋狂世界\n這個世界為什麼那麼多痛苦？即使有人說這個世界是假的虛幻的，要追求彼方的世界才能解脫，可是，這樣想卻消解不了我當下肉體的病苦，心裡的哀愁，以前明天更多的壓力。這首歌很有趣，來到地球的外星人，剛好遇到了想脫離這個瘋狂世界的人類，最後會得到什麼呢？「如果我能夠選擇，我要掙脫這滿身的枷鎖」「為什麼要給我 一顆跳動的心臟 又把我 丟在這寂寞戰場 這世界有多大我就有多徬徨 有沒有一點希望 讓我去闖」為什麼別人總是知道自己要去到哪裡呢？為什麼方向永遠不是我自己能決定？為什麼他們的眼神都充滿堅定呢？為什麼別人都有勇氣踏出步伐呢？為什麼他們的嘴巴總是能說出別人愛聽的呢？為什麼能抵抗重力這雙手卻如此無力？為什麼空有平均之上的腦袋卻一無所成？為什麼在現實生活中難有活著的實感？為什麼重力存在腳卻踏不到實地？為什麼工作跟學業皆無所成？為什麼在哪裡都找不到抬得起頭來的地方？為什麼沒有勇氣去死？為什麼連說這話都在顫抖？為何意志不堅卻又對小事莫名執著？為什麼「那所有暗流的淚水換來的 只是荒謬世界的一絲不屑」？在這一切徒勞的怒吼之後，要面對明天，我只能引用一句人生智慧的濃縮：「等待，並懷抱著希望。」還有《假如生活欺騙了你》詩作：「假如生活欺騙了你，不要悲傷，不要心急！憂鬱的日子裡面需要鎮靜：相信吧，快樂的日子將會來臨！心兒永遠嚮往著未來；現在卻常是憂鬱：一切都是瞬息，一切都將會過去；而那過去了的，就會成為親切的懷戀。」Radiohead的歌詞說得好：「失望\u0026hellip;這不過是我日常的歇斯底里，人類腦袋產生的化學作用\u0026hellip;無力又可悲。」在沒有藥物的情形下，唯有音樂是舒緩心情的良方，但是服用的劑量必須很龐大。\n20240822 小笠原欣幸：政治獻金案終結柯文哲推翻兩黨政治挑戰\n民眾黨正經歷多事之秋，不過還不足以動搖我支持的決心。即使到最後真的沒有辦法支持民眾黨了，我也不會支持賴皮寮主導的民進黨，更不可能支持國民黨、新黨。時力還有呼吸嗎\u0026hellip;？到時候可能我就變成純純的「恨國黨」了吧。這個世界爛完了，別期望習包子打來或者美國拯救我們，直接盼小灰人歸吧。你帶我走吧。\n20240821 高虹安誣告判刑10個月！黃揚明：被判到這種地步「這法官很討厭她」\n你國的司法沒救了，塔綠班抹黑人在先，這樣也能定罪。我開始相信川普講的rigged system是真的了。\n20240821 dumpster fire（著火的垃圾桶），許多社群媒體的現狀。Facebook充斥廣告和內容農場，低劣的meme粉專，愚蠢的新聞傳媒。Twitter則是充滿極右派和極左派的互罵。只要會按照演算法推送公共內容的社群媒體，不可避免的進入低劣內容、老鼠上桌的局面。果然還是適合搞小圈圈機制的論壇式網站才能找到有意義的討論嗎？例如Reddit，巴哈，PTT特定主題的看板。\n20240820 基於朝凪VictimGirls19製作的梗圖，那位英雄尚未出現，唯一做Linux平板的廠商只能被強敵輪暴\n什麼時候才會有高性能的ARM架構Linux平板？最好是二萬元台幣上下，不論軟硬體品質皆有一定水準，能夠跟Android平板、iPad、Surface競爭。不會貴得離譜（如Snapdragon X Elite），不是駭客做出來的裝置（如PineTab），不是破解來的裝置（如小米平板刷postmarketOS），更不是one hit wonder（如JingPad）呢？\n20240819 Using the term Open Source for a product when most of the code is under a license that isn’t Open Source feels dishonest to me.\n理查史托曼先生擔心的事情終於發生了，AnyType試圖用處處充滿限制的「開源」條款來重新定義開源軟體。雖然我們的原始碼給你看了，但是不準肆意妄為喔！老實說「看源軟體」這種條款只能防君子而已吧，中國公司馬上給你抄個複製品出來。這就是為何我們應該強調自由軟體，而非只是開源。\n20240818 最近換到Spotify的感覺：介面好醜喔，天啊！Apple Music的美學優勢這時就體現出來了，即使是在非Apple裝置上，他們的介面都很偏執的追求質感，例如網頁版和Android版，從瀏覽介面到歌詞本細節都不馬虎，犧牲一點效能也在所不惜。反觀Spotify跟YouTube Music一樣走實用路線，介面不能說難看但就是很clunky，烏漆嘛黑的背景設計，莫名其妙的圓角，醜到爆。電腦版也是，直接用網頁版重新打包，介面真的\u0026hellip;一點設計感都沒有。順帶一提之前找到一個功能還蠻多的新世代音樂播放器Tauon Music Box，主要支援Linux，而且還支援讀取上古的.lrc歌詞檔案呢。可是一開啟程式我就被醜陋的介面勸退了，我納悶為什麼有人會做出這種的設計，後來看到Spotify電腦版介面就知道這些人的審美是被誰養壞了。儘管Spotify和YouTube Music相對Apple Music較為「開放」，例如比較多開發者製作第三方開源程式整合，但是他們的介面設計真的很影響挑剔的用戶呢。\n20240818 看來免費仔的末日真的要來了，Invidious許多大的公共站點都出現一堆錯誤，無法播放，體驗非常差，NewPipe和Yattee出錯的頻率也升高。未來Youtube可能會更加限縮第三方APP的存取權限了，屆時只有Youtube ReVanced這類破解APP才能繞過。要是Google再加入伺服器端播放廣告，那ReVanced也就GG了。\nMultiple Invidious instances not working.\n20240818 中國人能不能不要把Github當成兜售自己產品的管道！？這種假開源的行為看了讓人想吐。https://github.com/xfirefly/Airplay-SDK 賣私有AirPlay協定很屌嗎？還一堆星星。https://github.com/lloves/CloudPhone 還有推銷雲手機的。https://github.com/aidlearning/AidLearning-FrameWork 這個用範例程式碼魚目混珠，實際APP根本沒開源。https://github.com/photopea/photopea 這個不是中國人，但一樣噁心，明明就沒開源的PhotoPea把Github當留言板用。\n學學RustDesk吧，人家是取得開源社區信任後才逐步商業化！\n雖然確實蠻多人在「濫用Github」功能的，比如散佈破解版程式，把Git Repo當簡易網誌用，分享awesome-xxx各種列表的\u0026hellip;但以上這些行為更加讓人不可接受！\n20240818 Making a Chromecast receiver - random hacks\n吼～逆向工程別人家逆向工程的產品，我要告老師！\n找到了Linux版Chromecast接收端的開源實作：shanocast，基於Open Screen打patch製作而成，似乎只能讓Chrome投放。這篇部落格講述了Chromecast的原理，儘管Google有做一個開源的Open Screen接收端，但是Chromecast還要證書才能通過認證，這個證書只有Google有。故作者跑去逆向工程市面上的閉源軟體，從而得知了他們幕後的運作原理，最後自己重新實現了該破解原理出來，讓任意裝置都能作為Chromecast接收端。\n果然嘛，Google Play和Windows上那些能夠偽裝成Chromecast接收端的APP多半是違法逆向工程，才能破解Chromecast通訊原理的吧！而shanocast軟體也不掩飾，名字就叫「違法的cast」（保加利亞語）。\n20240818 Kupfer專案是模仿postmarketOS建立的，目的是給Android手機移植Arch Linux ARM系統。根據官網資料，目前支援機型甚少，連PinePhone都沒有支援（PinePhone的Arch Linux ARM映像檔是由danctnix維護的，與此專案無關）支援的機型多半為高通S845的手機。我想是因為它的Linux驅動支援比較好，性能又強的緣故吧。這個專案有趣的點在於，他們模仿pmbootstrap的方式，使得移植新機型有了標準化的程序，而不用手動打一堆PKGBUILD。\n20240817 用Podman取代Docker，可行嗎？為什麼要用Podman？因為是Redhat公司開發的，Linux界老大哥，Systemd的懂王，比Docker這種研發出全世界矚目的技術卻有辦法把自己搞到破產的公司要可靠多了（X）最主要是因為Podman跟Linux整合的比較好。Docker的守護行程會跟Systemd打架，Podman不需要守護行程。此外，Podman預設是以rootless模式執行，安全性比較高。Podman開發者宣稱docker指令幾乎可以無縫遷移到podman，格式幾乎一模一樣，只要一個alias就夠了。但是我個人的用法沒那麼單純。如果我還要使用docker-compose呢？我很依賴Portainer管理docker-compose的環境，Podman有沒有同等的管理工具呢？沒有。雖然有podman-compose存在，但目前較為流行的解決方案是Quadlet，跟Systemd Unit合併在一起，但\u0026hellip;還是沒有WebUI啊？Cockpit界面老實說蠻醜的。\n20240816 【音樂欣賞】欲享受中式氛圍音樂，何必要去Youtube找you\u0026rsquo;re a chinese alchemist searching for the elixir of life but you got gunpowder instead (playlist)這種不三不四的播放清單呢？風格多變的竇唯就有出這類音樂了呀！安神符| 竇唯;;朝簡| Indie Works - Music和「寒山寺听琴」真的是超讚的音樂，他老人家三四十年前做音樂就很前衛，現在做的氛圍音樂依然不減其功力，一首歌50分鐘長。\n20240816 Recommendations ARM server : r/homelab\nI might be wrong. ARM架構不適合當伺服器，至少以我的需求來說，10年前的舊x86處理器依然屌打去年推出的新樹莓派。不論是相容性、運算能力，還是儲存空間，ARM都差太多了。消費市場ARM架構最強的CPU是坑錢用的Apple Silicon，除此之外都是開發板\u0026hellip;他們只能跑一些輕量的伺服器服務，例如PiHole這種，如果跑重型的服務，還得添購設備，這樣成本不就接近x86主機了，而且本身CPU的性能還會拖累自身哪。即使是舊電腦現地改裝的x86伺服器，能做的事依然比ARM要多。這樣看來不能對手上的樹莓派期望過高了哪\u0026hellip;\n20240815 System76推出Comsic DE其實是一件好事不是麼，雖然Linux桌面環境已經夠多了，但Comsic值得關注的一點就是：它是只支援Wayland的，不必煩惱支援X11。這很特別啊！目前Wayland協定下完整的桌面環境只有GNOME和KDE，其他老牌桌面環境還在慢慢等移植，剩下的選擇就是Hyprland這種駭客在用的平鋪視窗合成器了呢。Comsic作為一個完整的桌面解決方案還是值得期待。\n20240812 如何用xorg.conf給headless Linux做個虛擬螢幕？手寫xorg.conf設定檔已經是失傳的技藝了。xorg.conf是X視窗系統啟動後的其中一個設定檔，可以讓系統知道目前螢幕（顯示器）的配置。一般使用者不需要手寫這個檔案，X11應會自動生成。不過在某些特殊情況下，手寫xorg.conf就是必要的，例如沒有接實體螢幕的Linux電腦，只要新增xorg.conf，就能讓系統認為好像有接上實體螢幕的功效，如此一來就能啟動X視窗環境，跑圖形程式，並進行遠端桌面操作！手寫xorg.conf這個古老的技術，可能會破壞你的Linux桌面使用體驗，故不建議在一般Linux桌面系統使用。只建議在完全沒有插螢幕的headless Linux環境使用，例如伺服器或者Raspberry PI。新增基本的xorg.conf檔案之後，還要依照GPU品牌調整驅動。要獲得3D加速，必須嚴格依照GPU品牌調整要使用的驅動程式模組。Intel、AMD、Nvidia、Mali、Panfrost、VideoCore的的核心模組都是不一樣的。這方面FreeBSD手冊「X視窗系統」一章的指示是最完整的了。GitHub gist上也有很多範本可以抄，大部分是Nvidia的。Nvidia的xorg.conf可以在headless模式下，執行nvidia-xconfig自動生成。 例如這裡有一個針對Sunshine遊戲串流設計的範本：How to set up Headless Sunshine on Ubuntu server 22.04 with an Nvidia gpu\n20240811 Apache Guacamole軟體功能類似noVNC，可在網頁運作，但是功能更強，通吃VNC、RDP、SSH協定。不過Guacamole部署起來比較麻煩，相較於noVNC需要設定一堆Apache有的沒的。故使用docker compose部署會比較方便吧。\n20240810 Debian 12 ＆ Ubuntu 24.04惡整使用者的設計：執行\u0026quot;vncserver\u0026quot;指令會指向RealVNC維護的vncserver，這是專有軟體，指令格式也不一樣。如果要用以前那款比較多人用的，必須改用\u0026quot;tigervncserver\u0026quot;\n20240810 中醫是不是一種巫術我不得而知，但是台灣的醫療搜尋結果老是混合中醫說法就讓人難以信服，因為他們總是使用陰陽學說來講哪些東西不能吃，症狀是因為氣血不通的云云，一點都不科學。這就導致我用英文搜尋症狀可能還能得到比較有實證的結果。雖然如此但我沒有完全反對中醫，之前武漢肺炎也是吃清冠一號好的，某些穴道按摩也有用。\n20240809 幹你娘 現在支持林郁婷=青鳥 這三小邏輯 操！- 看板Gossiping\n這個標題蠻符合我的心聲的，2024奧運惹出不少爭議，自以為愛國的青鳥就到處出征外國人為我國體育選手聲援，就像小粉紅出征一樣。不過我也發現民眾黨的人也有極不理性的人存在，他們下意識認為民進黨支持的就一定是壞的，所以會潛移默化的接受這個邏輯，故反而去聲援惡意的加害者，並讓媒體刻意操弄對立。這是不對的，藍白本就是不同政黨，應該切割來看，不是反對民進黨的就自動劃歸為藍白好麼！我支持運動選手的權利不是基於政黨利益，而是基於公平的精神。更何況民眾黨不舔共，不台獨的立場，就是有人腦死無法接受非二元邏輯才會導致成為哥布林吧。\n20240809 蔡正元po了一篇暗諷美國讓人變得不孝順的文章，我看了真是直搖頭。\n如劉曉波所言，中國真的需要被殖民300年。即使是民眾黨戰友，我之所以不喜歡追蹤中國國民黨的人物的一個原因就是還有很多人堅持中華文化的糟粕，觀念還停留在50年前的時代。常見的議題就是鄙視歐美價值、幻想中共佔領的大陸還是民國的領土、認為只要不台獨就不會被中共殺死、中國文化中心主義等等，有些人就算有幸見識外部世界，也只會傾向極右翼保守派（如法輪功）的立場，繼續亂輸出糟糕文化，甚是悲哀。很多民國初期五四運動人士已經破除的觀念這些人死都放不下，還以此為豪，說他們老而不死是為賊並不為過。而這種人佔據國民黨大多數，所以這個黨能不能讓年輕人接棒還是個問題。台灣何等有幸的能被日本帶來先進文化50年，雖然被當狗對待，但總比把自己人民當奴隸對待的傳統中國人要好。\n20240809 Google自己開發了一套虛擬機軟體CrosVM，用於ChromeOS跑Linux容器。Amazon以此為基礎推出了更輕量的Firecracker。順帶一提，Google基於Wayland做了自己的顯示協定。接著我看到了這個：wayland-proxy-virtwl 虛擬機Wayland代理3D加速。模仿ChromeOS的專案 sommelier。讓虛擬機可以使用宿主機繪製視窗，達成GPU硬體加速。甚至可以在宿主機顯示虛擬機的視窗，達到類似ChromeOS crosvm或Windows WSL的效果。最重要的是網路透明性的應用，它的效能比WayPipe更好，遠端通訊可能要用SSH加密。由於要使用virtio_gpu，故不建議使用Nvidia閉源驅動執行此專案。但我不了解的是它得用CrosVM，而且似乎不能在一般桌面發行版用？所以是設計給ChromeOS那種另有顯示協定的系統使用？\n20240808 每當遇到有人用誰誰誰曾屠殺民族的歷史紛爭，藉此合理化仇視與其無辜之外國人後裔的說法。我（化身章魚哥）：你有沒有注意到他們早就已經不存在了？不論是我國華腦/中國小粉紅無腦仇日，還是台灣塔綠班仇中，意或是歐美人歧視華裔，都是一種愚蠢的行為。那些常說「（國仇家恨的）歷史不可忘記」「祈求世界和平」的，往往才是最願意支持以暴制暴復仇的。 #管好你自己\n20240807 Open-Source AMD GPU Implementation Of CUDA \u0026ldquo;ZLUDA\u0026rdquo; Has Been Taken Down 讓Intel/AMD GPU可以跑Nvidia CUDA的專案「ZLUDA」被AMD下架了。目前Arch Linux的AUR上仍有收錄套件原始碼。這個專案聽來美好，但是轉譯CUDA的難度比Wine還高呀。哀哉Linux用戶，我們什麼時候才可以擺脫Nvidia專有驅動的荼毒。最近Linus Torvalds還在郵件清單警告說，Nvidia雖然釋出開源核心模組，但是還是不能保證穩定性。\n20240806 Web 2.0時代部落格的網路交友模式是不是已經回不去了呢？2022年，不小心把Hexo部落格的原始碼刪除，促使我重新架設一個新網站。在尋找主機供應商的時候，有試過Neocities，但是馬上就不用了。Neocities為一個商業主機供應商，旨在複製Yahoo GeoCities的功能，讓使用者可以免費架設自己的網站。它是Web 2.0時代就存在的網站了，故網站本身只有HTML程式碼編輯器，連Google Blogger的文字編輯器都沒有。它比較像Github Pages的解決方案，使用者必須懂得如何處理HTML。因此要在Neocities架網站，就只能用靜態網站生成器來產生HTML（這年代沒人會真的手寫HTML吧！？除非你是suckless.org的信徒）。Hugo便很適合用來生成靜態網站。然而，NeoCities跟其他公司提供的方案比起來，十分沒有競爭力。免費帳號給的容量只有1GB，單月流量限制200GB。比不上Github Pages、Netlify、Cloudflare Pages的方案。雖然付費方案5美元還算便宜，但流量其實也沒高很多。我覺得會用Neocities的多半是追求一種情懷吧，追求以前Web 2.0的網路氛圍。看看Neocities首頁推薦的熱門網站，全都是10年前網頁的設計，有種純粹感，只差沒有Flash；對比現在大家都把文章放在Medium搶錢，任由平台壟斷內容，不勝唏噓呀。值得欣慰的是，現在Hacker News上仍有不少人喜歡分享自己的小部落格促進交流。\n20240806 唉，二次元死媽了。但是看到非日式二次元畫風死的就是我了。就拿遊戲畫風來說，如果3D建模是《天堂》《最終幻想》那類真人風格的就無法接受，《英雄聯盟》的美式畫風也吃不下。看Stable Diffusion AI生圖卻有蠻多人喜好這種畫風的，倒是覺得噁心起來了。還是2D好，雖然原批，但MiHoYo的建模是手遊中獨一等的。\n20240806 面對支黑、整天講\u0026quot;Death to China\u0026quot; (Neta: Death to America) 人士的層層進攻，小粉紅或許可以想個口號反制： \u0026ldquo;It\u0026rsquo;s okay to be yellow.\u0026rdquo; (Neta: It\u0026rsquo;s okay to be white. IOTBW) 我就是小黃人！中華民族是世界上最牛逼的種族！\n20240806 按照極右翼大取代陰謀論想法，台灣人為何沒有搞排外主義呢？比如來個紐西蘭福音戰士祭旗。不過這是不可能的，因為台灣較沒有宗教衝突，又台人太費拉左右不分，畢竟我們連國家都不是（笑）。此外，眼下比較有攻擊性的台派/閩猴只想著屠支（中配也算移民），但他們又不敢真的開鍘，只能網上口嗨吊人路燈。\n20240803 Welcome to Ladybird, a truly independent web browser.\nFUTO組織的野心越來越大了，他們先是建立一個跨串流平台的GrayJay建立另類Chromecast，再投資Immich打造Google相簿替代品，然後他們還要推出獨立開發的瀏覽器！？這款Ladybird瀏覽器宣稱是獨立開發，從頭寫起，不基於任何現有專案（Midori表示：），並且保證不會混入加密貨幣的玩意兒（很明顯就是針對Brave），然後他們要2028年才會推出Linux和macOS的測試版。佩服他們的決心哪，但是這年頭不搞AI噱頭說不過去吧，你看那個死不出Linux版的Arc瀏覽器，趾高氣昂的，對比FUTO做善事的理念差多了。\n20240803 postmarketOS的維護者做的真的很不錯，感覺他們是眾多Linux手機發行版中唯一一個在乎使用者「觸控」體驗的專案，而不是什麼都要靠指令解決。他們提供類似Ubuntu LTS的穩定更新頻道，讓使用者可以使用相對穩定的界面。就以Phosh來說吧，0.35之後把導航列從箭頭改成藥丸，但是這就導致了GTK跳出對話框的時候會遮住喚醒鍵盤的藥丸條，若是不在乎套件版本的Arch Linux ARM，就會有這種情況，致使無法輸入文字。而Mobian (Debian ARM)維護者似乎太少人，所以他們也沒解決這個問題。只有postmarketOS開發者顧到這個細節！這種細節問題都能做好的話才是好的發行版。postmarketOS讓我不滿的點就剩下非使用Systemd和非glibc這二點了。\n20240803 我為什麼要寫部落格 - www.zsl0621.cc\n看到自己的網站被人引用總覺得怪難為情的，還被挖到自己的陰暗面\u0026hellip;但是也感到欣慰。如果這世界上因為有人因我的東西而獲得幫助的話，就又都有了一個活下去的理由（說的太誇張了吧）。一年前也有一個用Wordpress模仿我做timeline紀錄隨想的傢伙出現，在此誠摯的感想所有網站的訪客，包括那些白嫖的、願意給回饋的。\n20240803 莊周夢蝶，蝶戀花旅行社，然後突然人就掛了。從小到大，不只一次想過，我到底是不是真的活著。會不會過去的我早就哪天出意外半身不遂了，現在的生活不過是處於彌留植物人狀態的一場夢呢？總覺得每天醒來生活就會不一樣，所以現在的我究竟是不是過去的我？要到哪天才能真正醒來，發現生活的真相？精神方面的成長是不是一種特修斯之船？這有點形而上學的討論了。記得高譚市市長韓國瑜，啊不是，小丑有說過「我這一輩子都不知道自己是否活著」但是我的想法是比較浪漫的、隨意的。不是駭客任務的母體，而是全面啟動的夢境，一層又一層的現實不過是被夢境包圍著的現實呀\u0026hellip;再講個更簡單的例子，莊周夢蝶，人生無常，那麼虛假的人生，實相又為何？我想，有時候何為真實不是最重要的，重要的是能在有限的生命中做出什麼改變。\n20240802 The Best Cheap Domain Registrar According to Reddit 感覺我在GoDaddy買網域還滿虧的，買的時候沒注意看清楚，二年續約期到了就給你加價。Cloudflare公司夠大尾，價格便宜許多，不會有續約後期突然加價的情況，但DNS就是綁定他們家的服務。希望他們不會像Google Domains一樣突然中止服務\u0026hellip;\n20240802 LSPosed will no longer be mainteined - r/Android Reddit\n從可公開的情報看來，LSPosed因為是中國人開發的所以遭到非難？從此停止維護。再再證明了開源軟體交給一個人開發是多麼危險的事情，例如faker.js開發者因為個人理由就刪庫跑路，影響許多允取允求的免費仔。topjohnwu被收編後，Magisk社群世風日下，甚至出現開發者用Magisk Modules營利的現象。現在Xposed開發者也被逼走了\u0026hellip;那對抗Google反root偵測的戰爭就是必然的走向敗滅道路。\n20240802 Minecraft基岩版與FGO的「剪定事象」。Minecraft基岩版的世界玩久了，隨著探索距離變大，世界的LevelDB資料庫體積也會變得更大。走路超過3000格，那麼世界檔案變成1GB也不為過吧。 如果要縮減不必要的世界體積，比如，隨便亂逛路過的生態系，那麼我們可以把那些區塊優化掉。FoxyNoTail的MCBE Prune Tool能夠優化資料庫，提昇效能。但是這還不夠縮減世界大小，若那些去過一次就不再去的生態系怎麼辦呢？乾脆直接用Amulet剪掉吧！假設玩家的探索是世界生成的重生點為中心向外延伸，那麼多餘的區塊就用Amulet刪除，之後再讓遊戲重新生成即可（不過剪除的不好，就會出現詭異的生態系交界）。如此一來世界資料庫大小便會大大下降，新的區塊成為「編纂事象」。同時，去過的那些區塊就會成為「剪定事象」永遠消失。\n20240801 Proxmox VE是基於Debian開發的系統，專為虛擬化設計，通常是安裝在x86架構的硬體。Proxmox背後仰賴的QEMU/KVM技術，也是支援ARM架構的。在ARM架構的Raspberry Pi有非官方移植的版本，過去有個Pimox7專案，提供的是Proxmox VE 7，較新的有jiangcuo移植的版本Proxmox VE 8，同時支援ARM64、RISC-V 64、LoongArch64架構的處理器。開發者提供ISO下載，必須使用UEFI開機。或者可以在現有的系統安裝，開發者自行編譯了一些Promox的套件，只需要加入套件庫，就可直接在現有的Rapsberry Pi OS（基於Debian）的系統部署。\n20240801 因為雞雞太大導致被幹到昏過去的，這本[Signal:Violet (紫信号)] エデン条約のあとしまつ (ブルーアーカイブ)還蠻好笑的，光環都被幹沒了，騎乘位失去意識後，屁股仍像飛機杯一樣繼續腰振，什麼人肉飛機杯。不過可惜畫風不夠妖豔，換這本[ニャリャポンガ (世界最速のパンダ)] バニ♡だく (Fate/Grand Order)可能比較好，完美的表現了蘿莉小穴的緊致程度。這二本有個共通點，就是騎乘位刺激太大了，都能頂到肺了，那就改用後背位狂幹吧！對付乳臭未乾的、想佔據主導權的雌小鬼，就是要用大肉棒先狠狠教訓一番。\n20240731 在開源軟體開發裡面談政治的味真的滿大的，不論政治立場是跟我相近還是相反。惱人程度有分等級的，比如Notepad++作者喜歡在版本更新號碼放政治黑屁，一下支援天安門一下支持台灣獨立，還整天在法國發推遠距支持台灣獨立。那就隨便你囉，反正下載之後也不會一直彈出視窗要給台獨組織捐款，或是印個民進黨旗在上面什麼的（真的滿多人把台獨跟民進黨劃等號，可撥）。相比之下，有個叫Deskreen的軟體到現在還印著烏克蘭國旗，打開還會跳冗長的聲明請求捐款幫助，這就很惱人了。還有一個是虛擬機APP Vectras-VM，開啟選單就會跳出巴勒斯坦國旗\u0026hellip;唉，要是我能我提交PR，乾脆偷偷把那個assets改成以色列國旗好了。根據4chan鄉民說法，聽說iPad會在驕傲月自動下載彩虹桌布到裝置上？這種woke公司的東西不如拒\u0026hellip;不對，只好忍痛繼續用。\n20240731 The state of (real) Linux on phones - will they ever be truly usable?\n觀另類Linux手機系統有感，看到Ubuntu touch、postmarketOS、Pine64 PinePhone等專案的現況覺得還是沒前途。沒有商業介入，或者說利益驅使的專案很難成功。講誇張點，你就算是給Free Software開發者一百年時間，他們也做不出Android這樣成功的手機產品，讓參與這個生態系的人都能發大財。而且到時候還會陷入永無止盡的GTK vs QT大戰，Systemd vs System V init大戰 blah blah\u0026hellip;還會有一千個發行版認為自己是最好的組合，然而他們在時代的大洪水下都顯得不堪一擊，到最後這些系統只能淪為駭客的玩具。\n儘管Android不是最佳解，還是半開放生態系（之所以這麼說是因為幾乎沒有手機廠商會推出全開源的手機，軟硬體一定都有閉源部份，開源佔比相較於Linux手機低很多），但確實是市占率最高的Linux衍生系統，犧牲你一點自由換來「共榮」，這樣也沒壞到哪裡去吧，起碼還是比iOS開放！\n20240729 測試版本：FreeBSD 14 Release，Wayland問題多多。跟我一樣使用Nvidia GPU斟酌參考。真是惡夢\u0026hellip;閉源驅動在FreeBSD的Wayland支援度不是很好的樣子，不論試哪一種合成器，都只會得到backend/backend.c:217] Found 0 GPUs, cannot create backend. Failed to open any DRM device的錯誤。使用Intel與AMD GPU的問題應該會比較少。在Linux，Wayland到現在還處於一種尷尬的地位，許多方面尚未成熟，根本沒辦法完全替代掉Xorg。即使是在提供最新套件的滾動發行版，Wayland依然問題重重，不論是GNOME 46還是KDE 6.2皆然。那麼，BSD社群的狀況又是如何。想當然，Wayland處於高度實驗性狀態。支援Wayland的桌面環境有KDE Plasma、GNOME、XFCE，通常安裝桌面環境套件就會一併安裝X11與Wayland的工作階段。接著就可以從顯示管理器啟動Wayland工作階段，但不保證一定能用。Wayland需要DRM，也就是GPU驅動正常，不可能像X11一樣使用軟體渲染吧。根據FreeBSD手冊記載，還有簡單的合成器(compositor)能使用，例如Hyprland、Wayfire、Sway、Hikari這類的，他們比桌面環境還有精簡，可以從tty或是從顯示管理器啟動。這類合成器多半是平鋪式或層疊式，特點是桌面環境的元件要自行「組裝」，且強烈依賴快捷鍵操作，不像GNOME和KDE桌面好上手。\n20240729 當反賊神友遇到Reddit上的塔綠班：你疑似有點太極端了！\n「r/taiwanese那裡的人味道是真的大，幽默感沒有一點天天瞎罵。你罵個淫亂台巴子絕對急眼，我看了之後只能說「民主化的支那人還是支那人」。我上次還看到一個台灣人在英文sub先切割，再對白皮搖尾巴，噁心壞了。」I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.\n盘点台巴子十大最爽时刻 - r/Sina\n20240729 想了解PineTab 2平板為何性能如此低落，所以試圖搜尋晶片相關資料，試圖了解四核A55是否真那麼不堪。在查閱相關資料的時候，發現很多中國製的開源掌機都有採用RK3566處理器。這代表這個垃圾處理器在特定領域還是有點用處的？根據Reddit討論，RK3566適合拿來玩20年前的電視主機遊戲，例如超級任天堂、SEGA土星這類的，用RetroArch模擬器跑，這些遊戲大部分都是2D的，玩起來無負擔。論3D遊戲，RK3566的性能最多只能負擔PSP主機的遊戲，在那之後的遊戲主機的遊戲基本上都跑不動。這印象大致符合我的使用經歷，畢竟PineTab 2平板開Chromium瀏覽器都會卡卡的！如果把它改造成專門玩老遊戲的遊戲機呢？或許可以，但是手把就得外接了。\nDon’t underestimate the power of RK3566! (PS2/GC on RK3566’s with flaws and that it’s not perfect)\n20240729 XFCE桌面預設狀態很醜（Xubuntu有額外加主題所以看起來還好），GNOME桌面的部份GTK3程式也很醜，不如KDE QT的Breeze好看，要到GTK 4才能入我眼。但除非以後GTK 4風格成為主流，不然安裝主題一定是必要的了。可惜一堆主題都在抄macOS，此歪風古乃有之，不然就是Windows復古主題、很RGB風的黑暗電競主題，嗚呼！有沒有一種中性的主題，看來看去還是Ubuntu設計的Yaru是調和中地的。這款Qualia-GTK-Theme雖然已經停止維護，卻是我覺得做得最好的GTK主題，可將Ubuntu Yaru主題帶到所有以GTK為主的Linux桌面環境。次佳的主題為Skeuos-GTK。\n20240728 自動更新Docker容器映像檔版本，看來組合有WatchTower ＋ Uptime Kuma。既然Docker有Portainer管理，那何不加個自動升級服務呢？WatchTower（烽火台）用於自動更新系統上的Docker映像檔省去手動關掉服務再docker pull的麻煩。可以設定特定容器不要監視更新。如果怕容器自動升級自己爆掉，建議搭配UpTime Kuma（熊熊上線）使用，服務有問題立即送警報。\n20240728 ClassQuiz是Kahoot自架替代品，Claper也是不錯的課堂教學工具，替代Slido。雖然這類專案不錯啦，可以防止孩子的課堂教育被商業公司服務綁架，但這個沒辦法讓教師自行學習操作吧，專門開研習營也很難學會，操作難度不亞於MOOCS，得要專人維護的服務。\n20240728 Focalboard，Mattermost開發的類似Trello的進度管理系統，雖然他有提到Notion，不過並沒有筆記功能。還有一個叫做PenPot，據說能替代Figma做設計？很感謝這些過往在專業領域被特定公司壟斷的專有軟體服務都有開源替代品出現！至於使用者客戶是誰，好不好讓Average Joe上手，這就又是另一個問題了\u0026hellip;\n20240727 最近在研究藍芽喇叭，當然是走便宜貨路線，結果意外發現了二件事情，aptX和SBC XQ。 1. 手上這支低檔手機Sony Xperia 10 V因為採用Qualcomm處理器，因此支援aptX編碼，甚至以前買的雜牌Realtek藍芽轉接器恰好也支援。這讓我可以搭配PipeWire的藍芽接收模組，將Linux電腦變成藍芽喇叭。不過高音質傳輸編碼連帶導致Wifi干擾變強了呢。吐槽一下：會買這個價位手機的人怎可能會擁有高音質的藍芽耳機啦，你能想像有錢買WF-1000XM5的人拿Xperia 10系列嗎？Sony如果異想天開把Walkman跟Xperia 10合併就有可能吧。唉可惜的是我手上只有AAC編碼的AirPods Pro！ 2. 想過用樹莓派將傳統喇叭變成藍芽喇叭，後來還是覺得買專機專用的要好。買了個雜牌藍芽喇叭，有莫名其妙的重低音，一看編碼只支援SBC就覺得堪用吧。後來在Linux PipeWire的音訊面板發現少見的SBC XQ編碼，Android手機只有LineageOS有加入呢。聽說這個編碼能大幅提昇SBC編碼音樂的音質，使其媲美LDAC！？即使藍芽喇叭只支援SBC照樣能用。我覺得SBC XQ聽起來沒太多變化，畢竟喇叭輸出本身就不怎麼樣，反倒是Wifi干擾變強了。 SBC-XQ: When SBC is better than LDAC… since 2019\n20240726 Samba為一個開源網路檔案分享協定，可說是Linux版的SMB，讓Linux可以跟Windows系統共享檔案。只要在Linux安裝Samba服務，Windows電腦就能夠過「網路上的芳鄰」界面存取Linux的檔案。過去架設Samba服務，是直接在Linux系統安裝samaba套件，再將其設定為Systemd服務。沒想到這也能容器化呀。因為有在用Portainer，我個人是覺得容器化後比較好管理Samba服務啦，懶得用Systemd指令。並且Samba映像檔的開發者多半會整合其他服務進來，使SAMBA可以更為簡便的使用。\n20240726 高虹安涉貪判刑依法停職 由邱臣遠代理市長\n原來之前立委選輸了派邱臣遠去是保險措施呀！為高虹安市長默哀。畢竟台灣沒有人能像我川被司法迫害定罪之後氣勢依然不減的，除非臉皮厚如阿扁。\n20240726 千萬不要對這個國家的民進黨人們抱有太高的同情，他們自身所承受的屈辱和苦難，多是他們應得的。之前他們笑人家花蓮地震，甚至仇恨拒絕捐款，現在回力標打到自己頭上了。雖然暫住在暖市，也不會整天笑人家縣市颱風天怎樣，搞成南北對立有什麼好處？倒不如說這些綠營份子還以為南部人就預設挺綠的就對了？\n親綠粉專翻車現場，嘲笑別人颱風天淹水，又不准別人說自己縣市\n20240725 某種程度上這也算3D暈吧？看3D片子總有違和感，一直覺得3D建模的人物非常難「用」，上不如真人，下不如二次元，尤其是類似《最終幻想》畫風的那種3D，為什麼有人能看得下去這種審美呀！還是日式風格的動畫好，2D動畫依然是品質象徵，我最多最多就接受到Live2D的風格吧。大部分動畫師渲染的3D都十分詭異，依然停留在MMD時代，只有極少數人能做出皮克斯工作室的渲染品質，又懂得運鏡，製造完美3D片子的效果。\n20240724 這很有趣（用川普的口氣），社群平台的邊緣人總喜歡說主流平台是糞坑。如果主流社群媒體代表一國民意的說法為真，並且用戶沒有遭受刻意迫害，那麼我們觀察一下那些逃跑的邊緣社群的人說法，會發現逃到Reddit的中國人說國內微博、百度貼吧社群都是糞坑（以神友和虎撲用戶為主）；而逃到Threads、Reddit相對小眾社群的台灣人也說台灣主流PTT、Dcard、巴哈論壇是糞坑（以塔綠班為主）。殊不知，不過是一群邊緣人在狗叫而已，因為這些人的意見逐漸不被主流接受，故跑到自建國度大肆渲染對「主流」的不滿，再利用社群媒體回音室的機制過濾掉用戶，達成自己隱密獨裁慾望，自己建立了新的一言堂糞坑就忙著指責別人是糞坑了，入鮑魚之肆久而不聞其臭。正如網路上極端左逼聲音總是特別大聲，且又特別玻璃心，可是他們實際上又佔據多少份量呢？\n20240723 這些賣套裝機的怎麼都那麼摳，有高階顯示卡卻都搭配沒有內顯的Intel CPU，我看還是自組算了！\n20240723 Linux needs real-time CPU priority and a universal, always-available escape sequence for DEs and their user interfaces.\nLinux應有個機制將GUI行程優先度應該拉到最高，其他程式佔用過多系統資源都不可以拖累桌面環境，導致當掉。即使程式被系統自動殺掉，也應該讓桌面環境活著，像Windows和macOS那樣。之前有觀察到KDE似乎會在RAM不足時自動中止佔用過高的程式？但大部份時候是某個程式太吃資源，KDE於是就跟著當掉了。我知道Linux真的kernel panic的情況很少啦！即使圖形環境當掉，tty多半也還進得去。可是對一般使用者來說，桌面環境（包含顯示管理器）出問題，要按CTRL+ALT+F1進tty修bug是多麼痛苦的事情。\n20240723 雖然幾年前就知道自媒體「愛X了」是鋼鐵果粉，但念在狂熱信徒文章是自己寫的還勉強能一看，讓人認識到不同觀點，但到最近則是完全不能看了。除了延續莫名的Apple體系優越感，尬吹蘋果公司的任何成就之外，文章都濃濃一股AI味，機器翻譯到處都是，這樣能有什麼有用的訊息產出呢？甚至Youtube還用AI主播念稿？？大概只有FB發的文是自己寫的吧？同樣是鋼鐵果粉部落客的「蘋X仁」、「瘋X生」即使也是愛炒作各種新聞，什麼熱度都蹭一下，但教學文到現在還有實用性，有些看起來是AI寫的文章也會包裝一下潤稿，這家是放棄治療了是不是。\n20240722 節錄一句Reddit穴吧(r/NEWTo_cave)炸掉前的對話：「誰說柯文哲的三角形理論在台灣行不通？民進黨政府現在不就是後面給中國肛，前面幫美國吹，並時時色誘著日本大哥哥嗎？」所以說，淫亂台巴.txt。\n20240721 Wayland下縮放問題恐怕比X11更為複雜。Wayland解決了多個螢幕不同解析度的問題，每個螢幕能夠有自己的DPI，不用像X11得使用xrandr調來調去。可是，HiDPI（高解析度螢幕）下的縮放依然是考驗。只要你的螢幕不是1920x1080解析度，就一定會遇到Linux畫面太小的問題，因而想要調整縮放。Linux縮放有整數縮放(integer scaling)和分數縮放(fracioncal scaling)二種。整數縮放即100%、200%縮放，在4K螢幕上要嘛字太小，要嘛字超大。分數縮放即小數點縮放，如125%，可以更好的適應各種不同大小的螢幕。\nWayland下分數縮放的支援度還算不錯，不過要用特殊手段開啟。如果程式是使用純Wayland寫成那還好辦，桌面環境可以協助縮放，或者設定QT環境變數就好，問題是很多程式依然跑在XWayland相容模式下，Wayland模式很多bug，甚至根本不支援Wayland，這就導致我們要對它特別照顧。XWayland是Wayland環境下相容舊版X11應用程式的手段。如果想知道哪些程式是跑在XWayland下，使用xlsclients指令列出。XWayland縮放問題比較棘手，因為它不可能跟著Wayland一起縮放，強制縮放字體就會模糊。所以建議做法是：就讓它維持不要縮放，然後透過手動設定GTK/QT縮放變數的方式來縮放XWayland。KDE 5.27系統設定可以指定不要縮放XWayland程式，但GNOME不行（據說GNOME 47會加入此功能）\n20240721 蔚藍檔案主打學園主題，可是為什麼沒有寫功課任務呢，除了學生都會滑手機這點很現實以外其他跟現實生活接觸的學生根本連結不起來。我不要主打就是XX模擬器這種的，有沒有一款手遊可以有萌萌二次元抽卡元素，豐富的劇情，又有極其現實的情節，比如身為玩家的主角逼著學生考試、寫功課的任務，而不是去打中二幻想的怪物。你們東亞小黃人不是最懂這個嗎，怎麼不多做這類遊戲。\n20240718 為什麼用Stable Diffusion AI生圖不推薦使用整合包？答：因為不支援Linux，就醬子。我多麼希望那些前端有跨平台版本！可惜的是，沒有。比較關心使用者體驗的Python開發者或許會善心提供Bash指令稿和Windows批次檔可以跨平台裝好依賴套件，不過大部份時候Linux用戶要手動配環境，如果搞Docker容器化又難以跨平台。所以如果沒有這種shell script能用的場合，我自然就不會推薦用整合包了。\n20240715 Linux的修圖軟體部份，想嘗試用Krita取代GIMP了，或是更準確的說是以Krita為主，GIMP為輔助。這個絕對不是Blender拿來剪輯影片的那種特殊用法，Krita是真的能修圖的，雖然他們的宣傳點上不會特別強調。這功能太多了，更新很積極，不只是繪圖軟體還能修圖！屌打保守的GIMP。KDE/QT的體系又再次戰勝了GNOME/GTK的設計\u0026hellip;然後也繼承了KDE bug多的缺點。\n文件格式 - Krita文檔 研究交換格式後才發現.xcf竟然也走向了.psd的封閉之路，Krita不支援GIMP的.xcf，因為標準從未公開；至於支援.psd不過是因為Photoshop太有名所以得逆向工程為之罷了，這不應該視為常態。唯一一個開放標準的圖片交換格式為OpenRaster(.ora)，但是非常少人使用。看來圖形處理社群還沒有意識到ODF的重要性，正是這個格式風行起來才打擊了.docx的銳氣。（至於那些死不悔改，還在使用.doc的老骨頭，就讓他們隨風而逝吧）\n20240715 以前的內容農場：到中國公眾號抄不給搜尋引擎爬取的內容來寫文章（搞不好那篇文章也是營銷號從其他地方偷來的！），發表到社群媒體，例如藉動漫、搞笑Facebook粉專的名義，冷不防的貼個連結，騙取點擊。現在的內容農場：看著AI生成的系列圖片就能水一篇文章（其實滿多正經媒體亦是如此）他們貧乏的文字表達能力還不如全丟給AI代寫。當然，汲汲營營的商人早就有自動發布內容農場的工具：自動爬蟲、AI生成網站串好、泯滅良心，用低質內容污染網際網路就有廣告錢拿！那麼還在手動搞這些低級體力活的人也真夠可憐的了。\n20240715 台北市幼稚園（別說台北幼兒園否則支語警察會逮捕你）毛XX的性侵案因為兒少法規定不興說太多細節，所以媒體報導很保守，結果青鳥仔洗的好像是台北市政府施壓的一樣，什麼幼稚園哭聲成為交響樂，導向這種仇恨藍白的陰謀論的氛圍。現在知道咱巴友和PTT鄉民以前抓南投田勝傑、新北割喉乾哥乾妹時的痛苦了吧？雖然肉搜對案情沒什麼幫助，但還是有人冒著被罰的危險傳播犯罪者的名字。所以就說嘛，塔綠班只有特定時候才會跑出來，社會議題沒有牽扯政治鬥爭？黑人比Yeah消失.gif。那些在反核立場無腦堅持到底，到最近還願意去人越來越少的立法院外面演講的左逼，我還敬佩他們的精神！\n20240714 Deep State終於出手了，但是敵不過我川威武！他依然站了起來！拍出了硫磺島的英雄們的姿態。\nWATCH: Moment Trump appears to be shot at rally\n20240713 我和我胡錦濤大表哥、習近平二表哥都笑了.jpg\n當你批評塔綠班，對方用習近平梗圖反擊，以為能對你造成殺傷的時候，結果你也貼辱包圖懟回去。這就是塔綠班的思維，批評民進黨我就是中共同路人了？誰說反共就要無腦挺你綠共？我和我大表哥都笑了.jpg。對付柯粉貼柯黑圖還比較有用，但至少對我來說沒用，因為我不把任何人當神拜，愛批評隨你批評。不過貼乳包的圖時候沒準真能順便破其他人的防，揪出潛在的五毛、粉紅，還有藍腦。看到罵民進黨的留言不要馬上當自己隊友，有時候你說「咱的共同敵人是共產黨的時候，不是全中國人」反而換黨國不分的愛支病的藍腦跳腳。\n20240712 Waydroid多開的實驗，替換system.img與vendor.img。Waydroid既然依賴LXC建立容器，難道不能多開？理論上可以，但沒那麼簡單。Waydroid本身是為單工作階段設計的，它有systemd服務和Python程式控制Waydroid的行程，故要「同時跑多個Waydroid」實例是很難作到的。似乎有人曾經用DistroBox跑Waydroid，這代表把Waydroid塞在Docker裡面容器化是可行的。不過那個條件很嚴苛，只能在Vanilla OS成功跑起來。難以達成GPU加速的虛擬機更不用說了。之前我試過custom Waydroid image path的作法，為了玩原神。但這比較像是替換掉目前的系統的方法。我想要多系統共存。所以呢，參考Reddit網友的討論，最笨的方式就是下載多重Waydroid系統映像檔，然後用指令稿的方式多開了。過程是這樣的：每次開機的時候載入不同的系統映像檔，這樣就可以有多個Waydroid版本，同時安裝在一台Linux電腦上。雖然不能多個實例同步跑，但總歸是一種多系統吧。當你執行sudo waydroid init指令的時候，Waydroid會下載二個映像檔到/var/lib/waydroid/images，他們分別是system.img和vendor.img，/var/lib/waydroid/waydroid.prop記載Waydroid啟動Android時候的選項。如果這二個檔案不存在，Waydroid才會下載檔案。看到這裡，知道該怎麼做了吧，當下要啟動的系統就是由system.img和vendor.img組成，所以可以將多個映像檔放到該目錄。替換檔案應該就能切換系統？那這樣多個Android版本的使用者資料不會互相衝突嗎？Waydroid在啟動Android的時候才會把Android的/data/media/0/掛載到~/.local/share/waydroid/。不過Waydroid建立的Androud應用程式的Desktop Entry確實會互相污染。目前測試到的結果，Android 13的Waydroid畫面出不來，但聲音有出現。且waydroid shell進入ADB，執行getprop可看到Waydroid版本確實是升到了Android 13。\n20240711 What the hell is that license? : r/Anytype\n這下靠北啦，AnyType這款號稱Notion殺手的開源筆記程式的授權條款不是一般常見的GPL、MIT，而是該公司自己發明的ASAL。我是在Reddit r/fossdroid發文被Automod刪除才注意到這點的，原來AnyType開源是有條件的，他們的條款裡面明確限制了商業使用。這下還有誰能做出比Joplin更好的筆記程式又開源呢？我不只想要筆記，而是知識庫管理工具！?\n20240711 為什麼那麼多傻逼喜歡在網路上發表弱智的意見？因為川普這種傻逼都能當總統、習近平小學博士能當總書記，我的意見怎麼就不能說了？就是這樣，沒有節目效果沒生意。\n20240711 美國大法官懲罰左逼，台灣大法官懲罰正義。Context：我川提名的保守派大法官人數佔優，讓墮胎權移出憲法讓不守婦道的人承擔後果；而你國的大法官只為政黨利益服務，摧毀國會改革，護航立法院官員說謊的權利，承擔後果卻是全民。\n還有，新聞報導的風格也很奇怪呀，大法官會議上雙方講話都很平和，大法官溫柔語調，黃國昌也沒咆哮，媒體卻說什麼「狂電」，是在炒作什麼擂台賽！？\n20240709 Spotify是有推出官方Linux版客戶端，不過它是包在Chrome瀏覽器裡面發表的，類似Electron，效能不彰，尤其在Wayland下會很多問題，而且不支援ARM64架構的裝置。所以就有開發者寫了第三方的Spotify函式庫：librespot，用於跟Spotify官方API通訊。而Spot便是利用此函式庫寫成的前端！專為GNOME打造的原生GTK應用程式。Spot程式走極簡風，僅有基本的音樂庫瀏覽和搜尋功能，界面不若官方版Spotfiy豐富，且不支援顯示歌詞。注意：本程式不適合免費仔使用，因為librespot僅支援Spotify Premium帳號！不能接受請還是用官方客戶端。\n20240706 哪天我們也得為搜尋引擎付費了，才能享用真正好的服務。越來越不喜歡AI整理答案\u0026hellip;sigh，Google把搜尋結果畫底線放到最上面叫做AI Overview，這種感覺就失去搜尋的樂趣了。即使哪天換我的部落格文章被選中，我也不會很開心\u0026hellip;。Google問題很多不只這個，還有行之有年的SEO內容農場搶搜尋結果問題。如果只是為了滿足個人喜好，不考慮大眾學習曲線與上手容易度，那麼換個搜尋引擎得是必然。暫時不考慮自架SearXNG，看看市面上有什麼選擇吧！Yahoo？只能搜尋台灣新聞。Bing？幹你妹的網頁到處都是Copilot的推薦，醜死了。Startpage？啊不就代理Google搜尋。至於Duckduckgo，早給你爛完了，買Bing的搜尋結果，多年下來中文還是很爛。什麼時候才能不把中文漢字跟日文漢字搞混。Brave Search、Presearch？有玩Web 3的人才會感興趣的玩意！現在我正在嘗試Kagi Search，搜尋有限額，需要付費解鎖。我覺得中文搜尋意外的還不錯耶！還可以自定義搜尋結果，排除網站。究竟這個AI巨頭殺見骨的時代它能不能存活下去？人們是否會為過去習以為常的搜尋引擎付費呢？還是到頭來仍得回去用最大尾的Google，並用uBlock Origin手動黑名單不爽的網站呢？\n一把试探无解之锁的「钥匙」：评Kagi 搜索 - 少数派\n用兩個禮拜Kagi的心得 - Gea-Suan Lin\u0026rsquo;s BLOG\n20240705 相較於FreeBSD，Linux發行版代表的就是混亂與無序，太苦了。不過我認為Systemd的出現就是個進步，有了這1%決定性的DNA不同，就會讓人類跟黑猩猩成為不同物種（還是說\u0026hellip;類Unix系統中只有macOS才是真正的homo sapiens呢？）\n以下言论可能某些人可能会感到冒犯，但这就是真实：各大 GNU/LInux 发行版对比 - FreeBSD 从入门到跑路\n20240705 1 Hour of Chad Orthodox Chants to Redeem Your Soul 讓人感到平靜，與之搭配的是 1 Hour of Chad Catholic Chants to Attain True Joy 讓人感到喜悅。\n娛樂至死的年代，我們只能以這種低劣標題的方式接觸神，但總歸是認識神的途徑，但為什麼都是東正教啊？新教和天主教太墮落了！？\n20240704 上次安裝FreeBSD是兩年前暑假心情煩悶的時候安裝的，我還嘗試安裝FreeBSD 13在實機上，結果因為對Xorg不熟悉卡在純文字界面，遂改用懶人版的GhostBSD，可這怎麼會有趣呢！隨後換回Arch Linux。這次我要再次挑戰手工安裝FreeBSD，這次的理由除了心情煩悶，還有些東西想在FreeBSD測試。於是就來安裝FreeBSD解悶，結果是越debug越悶\u0026hellip;所幸後來還是裝成功了。\n20240704 CBSD创建Ubuntu jail（以为失败的心路历程） 我覺得被這篇文章誤導了，為什麼要繞兩圈建立FreeBSD子系統再建立Linux環境？，CBSD用途應該是給FreeBSD建立FreeBSD的容器用的，在裡面跑Linux chroot根本多此一舉吧？還是說，這種配置方式比單純chroot更好管理呢？每個容器就像Docker一樣能夠隨時停止又啟動。話說，CBSD的C代表的竟然是cluster！ Exploring the CBSD virtual environment management framework – part 1: Introduction and installation\n也許是我錯了，Radiohead - I might be wrong\n20240702 海綿寶寶在被蟹老闆拿去餵牡蠣結果蟹老闆為了一百萬被牡蠣吃掉之後的時候曾經說過：為什麼死的不是我～ 章魚哥：是啊，為什麼不是你呢～\n我不斷告訴自己，不論如何絕對不能死。這什麼ㄚ中二的話語，但所言不假，如果是意外被張獻忠砍死了也認了，但是不可以主動尋死。論還活著的動力是什麼，沒辦法給出一個確定的答案，這個理由是不斷在變動的，當下能想到的解答就是若死了就聽不到Bridge Over Troubled Water和愛・おぼえていますか這類好聽的歌曲，未來再發掘新歌的可能性也消失了。如果要說更多理由的話，就是像光頭哥哥一樣認識神了吧。 光頭哥哥如何走出憂鬱症? 心靈上的痛苦能解、肉體病痛再多也就不怕了。\n20240701\n沈伯洋稱翻牆看A片可監控政治立場？ 資安專家：扯太遠了\n立委說看A片可以作為分析政治傾向的工具，嗯好我對真人沒啥興趣，所以都看E-hentai 🤪 機會教育一下，現在難道還有人上成人網站不把uBlock Origin開好開滿的嗎？不用行嗎，Firefox/Brave把廣告和追蹤器全擋掉。\n20240701 這次金曲獎大家都輸麻了：巴奈提天安門戰車道大會破防小粉紅；高捷竟然講支語「晚上好」大破防小粉綠。\n20240630 幽默掘金，用 AI 生成了 2560 万 个垃圾网页，还被幽默谷歌标记为精选， AI 时代确实来临了 - V2EX\n惡臭你支。CSDN和一些濫用AI的中國網站，例如火山引擎、百度AI、掘金，現在充斥AI生成的垃圾文章，搭配SEO戰術徹底污染中文搜尋結果。過去是低品質文章刷流量，現在是用AI進一步噁心人，一些英語圈的前沿消息就被這些AI整理文章搞爛。為什麼AI生成的文章那麼容易被識破？在這種充滿996碼農的平台用那種文科生的創意標題，什麼「探索OOO的未來」的屁話，接著點進去就是樣板化的項目分析、迫真安裝說明、還有標準的結尾「總而言之」，這就很容易被識破了嘛！CSDN是中國網友自己都唾棄的平台，只想著圈錢，比商業化的知乎還不如。\n20240629 RIME是一款惡意滿滿的輸入法，官方文檔不知道在寫什麼鬼，行文好似民國初年剛從文言文轉換到白話文的樣子，阿鬼你manual乾脆寫英文吧（正如某些中國古書文言文的英譯版竟然更好懂 —— 讀道德經英譯版的感想）。手機版的TRIME更是災難，誰會想要手動配置輸入法？叫人用這個好比讓Windows都不太知道是什麼的人直接跳槽到Arch Linux。而且看多了輸入法額外方案，什麼自然、嘸蝦米、行列、倉頡、大易、五筆，會讓人覺得「只會注音/拼音輸入法是一件丟臉的事情嗎？」不，不對，輸入法就是要直覺，而不是追求geek。不過也可能是我不會用而已，唉，Z世代。\n20240628 問題點：Chromecast投放過去的電視螢幕喇叭太爛怎麼辦？解法：買個外接喇叭！No no no，這個問題我們可以用音效軟體解決。音效軟體雖然無法提升音質，但是可以讓電視喇叭有蹦蹦蹦的音效，有感提升電視喇叭。只要在投放的時候跑音效軟體，那麼Chromecast投放全螢幕影片的時候就會一併把音訊效果帶過去。Android手機很多廠牌都有自家的音效軟體，若要找一款通用於全機型的，那就是開源免費的JamesDSP了，可惜必須Root才能接管音訊。JamesDSP能夠強化低音，製造環繞音效。如果是從Linux電腦端的mkchromecast投放到Chromecast，那麼就使用EasyEffects吧（但音效會轉碼就無效了）。\n20240627 明明是誕生日卻高興不起來，這已經是第幾個年頭在蠟燭前卻覺得自己不夠格被愛了，快十年了吧，沒有人需要我的存在，懷疑自己為什麼還活著\u0026hellip;直到最近聽到這首。\n【音樂欣賞】奋不顾身吧 跃入深渊吧 / 苟延残喘才明白光明的意义 / 那卑微的闪亮的无畏的 / 才是真正灿烂的你 / 噢 灿烂的你\n汪峰音樂嘗試多變，卻還能保有自己的風格，旋律又不會太難聽。這首歌出自2019年的專輯《2020》，從開頭的充滿磁性的聲音到後面逐漸上揚的情緒，很是溫暖，非常鼓舞人心\u0026hellip;謝謝你汪峰，在二十年後，還像五月天一樣，音樂創作都在賣夢想，雖然聽多了會有點倦，但是總會有人，是的，就像我一樣，會在低潮時候需要這些歌曲。最後講個地獄梗，雖然這首歌很鼓舞人前進，但隔年中國就爆發武漢肺炎，開始三年大健康，把人們打落谷底，這是什麼天大的玩笑。\n汪峰 - 燦爛的你\n還有另外一首也不錯：汪峰 - 也許我可以無視死亡，老實說不是很好聽呀，前面抄（致敬？）MCR的Welcome to the Black Parade，歌詞抄中島美嘉的僕が死のうと思ったのは？\n20240627 隱約能聽到雌小鬼說雜魚♡~ 雜魚♡~這個雜魚雞雞♡的場合：精心準備的儀式，花了大把時間挑片，甚至準備道具完善，然後等到一開始本番，結果是不到五分鐘就結束了，接著就是很大的空虛感，唉\u0026hellip;\u0026hellip;。\n20240627 Chromecast替代品：FCast，串流影片到電視。Chromecast、AirPlay等串流協定都是封閉原始碼的，現在有了一個新的挑戰者出現了：FCast。FCast Receiver是負責接受訊號的程式，支援Linux/Windows/macOS/Android，可以將電腦和電視盒變成接受器，讓我們投放影片。但，你說要用什麼APP投射\u0026hellip;好問題，FCast太新了，幾無APP支援。FCast不是逆向工程去實作Chromecast，而是使用不同於Chromecast的全新協定，開發者得在APP裡面加入FCast協定支援。可沒有APP願意支援FCast協定怎麼辦，會不會落得NymphCast的下場？嘖嘖嘖，開發者早就準備好解決方案！FCast可以搭配自家的GrayJay使用。GrayJay可說是影片版的RSS聚合器，一個APP就能夠觀看Youtube、Twitch、Bilibili的內容。如此一來，只要開啟GrayJay，就能同時投放到FCast。但問題還是沒解決啊，客戶端有限，不能投放影片，也不能投放螢幕。看未來有沒有開源開發者要投入這個投放的市場。\n20240627 Average linux user - Terry A. Davis contacts the CIA\n這幾年以來，覺得要不是有什麼東西使人沈醉（《進擊的巨人》肯尼語），我可能就像Terry A. Davis去跳火車軌道了（更慘的是我也沒有多聰明）。這部影片是Terry A. Davis使用Ubuntu寫信給CIA的畫面，說你們將不得好死。Terry A. Davis在網路放了一堆影片，討論程式時很專業，但風格都肉眼可見的怪異，還有人吐槽說你不是怕監視，開那麼多虛擬機卻還露臉拍片。這個天才或瘋子，長期受思覺失調症所苦（他宣稱是神諭），總認為有人想監視他，認為Linux有後門，稱CIA niggers為glowies，因而成為4chan的一個梗。之後他花了十年的時間，寫出了TempleOS這款獨一無二的作業系統。之所以獨立開發，是為了擺脫所有依賴工具鏈，防止被監控。\n20240626 我覺得你一定收了三體人的錢，因為你沒有辦法證明你沒有收他們的錢！民進黨in a nutshell：質疑政府就說你中共同路人，是匪諜！哪來的境外勢力？月球嗎？抱歉，我就是中共本人.jpg（爺給您跪下了）。獵巫很簡單，但要是你真的有一條牛的時候呢？我看到r/real_China_irl還有右狗在推廣麥卡錫主義，推崇皮大帥，倒獲得叫好，有些人真的是反共反到腦子都壞掉了不，這跟文革沒有兩樣。極左極右都是傻逼，縫合額外象限「抗中保台」和左逼進步價值是更傻逼的。當台灣真的被中共入侵，別國不會因為你愛幹屁眼就幫忙你（Gab上的rightdogtv老哥如是說），也不會因為社群媒體充斥#StandWithTaiwan標籤就能獲救（美國評論員Elbridge Colby如是說），一切都要靠台灣自己！\n20240626 喜歡若有似無的露出二次元的愛好，儘管寶寶喜歡但寶寶嘴上不說（← 謎之音：噁心死了www）渴望吸引同樣niche的人，在心中默默念到「歐！識貨ㄛ！」藉此無形中增加好感度，是吧？嘴上說著喜歡一個或一群角色，但其實不是真正的愛，而是單相思，因為虛擬人物不可能給出回饋（除非改造成AI），所以這種愛戀除了狂買週邊來供奉，整天幻想誰誰誰是老婆之外，最後愛慕的感情就會變成想幹她/他了，於是找色圖打手槍，週而復始的向著虛空射精。整天處在這種發情期下的幻想，不過就是為了給寂寥的生命添上一點粉色色彩，使得漫長的人生之夢多出點白濁的泡沫（尿才會有泡沫吧？），而不只是徒然的幻影。\n直到有一天清醒過來，不禁就會、想說、毀滅吧、黑色太陽、將這個世界。 Soundgarden - Black hole sun. Won\u0026rsquo;t you come?\n20240625 以為世界繞著自己轉的實例：2013年，周杰倫推出〈愛你沒差〉一曲，以為歌詞寫「我的心找不到 換日線 它在哪」是呼應當下國一地理課本教的時差概念；認為周杰倫〈四季列車〉的旋律借鑒同年在Animax播出的《妖怪少爺千年魔京》的OP〈ホシノアリカ〉；2015年，將林俊傑〈不為誰而作的歌〉一曲歌詞「夢為努力澆了水 愛在背後往前推」空耳成「還在後面玩艦隊(收藏)」。2018年，因為War Thunder遊戲不自覺的搶了別人的頭被TK感到震驚好幾天，有種被背叛的感覺，現在想起來這也沒什麼。\n20240622 豆奇玩具這家廠商以前出習維尼模型我也是笑笑，但是把真正在做事的黃國昌做成尖叫雞，污衊所有成果，這確實破了我大防。可是你要這樣想喔，如果黃國昌老師被這種低級玩具廠商做成「咆哮雞」，跟習維尼放在一起給塔綠班嘲諷，讓身為蔥粉的你很難過的話，放寬心，川普被做成馬桶刷本人都不care了。我川威武！\n20240622 「台灣是個獨立的國家」「中國是世上最牛逼的」心裡缺什麼，才要天天說。🤭 不利於黨的團結的話就不說，不利於黨的團結的事就不做。\n20240621 青鳥和藍鷹聚集立法院外。兩邊都沒多少正常年輕人支持了，民進黨綠色死忠的整天在Threads發表低能言論，結果反而更多人清醒導致人數驟減；國民黨老藍男則是連blue都會拼成bliue，還拿納粹旗出來（拿共產黨鐮刀縫合綠共的旗子不就好了！）。國會改革法案引出了一批綠色暴民，藍色笨到接招搞成藍綠對決。唉\u0026hellip;有句話說，老而不死是為賊。\n不能否認青鳥行動的場子是有比較中立的人士來講，例如時代力量、魏揚這類不分藍綠都批評的人士，比如：「民進黨單獨過半的時候，確實有濫用程序的一些問題」。罵小罵大，容易搞得裡外不是人。但看來青鳥行動早就被民進黨收割了，所有人強迫為綠色背書，比太陽花控制力道還強。太陽花聲音很多，柯文哲和黃國昌就是其中一派，從沒有背叛太陽花監督政府的精神。而現在青鳥精神是什麼？輸不起不錄了？更扯的是青鳥行動還來台獨和反核人士演講，讓這場活動顯得更加不理性。我同時支持國會改革、台獨、核能啊，可是不相干的東西為何要硬湊到一塊。\n20240619 Adobe Illustrator(AI)沒有Linux版，需要使用Wine轉譯。目前網路上找到Wine最新支援的版本是Adobe Illustrator CC 2021，GPU加速正常。原本是想參考這個裝的：LinSoftWin/Illustrator-CC-2021-Linux。但這個一鍵安裝指令稿處於半廢棄狀態。原本作者有提供破解好的Illustrator主程式，但是因為版權因素移除了。所以得自己準備Illustrator主程式，那我想不如就用Bottles裝就好了。上網找破解版Adobe Illustrator CC 2021。不要使用包含Setup.exe的版本，因為Wine的瀏覽器有問題無法載入安裝器。比較迂迴的方法是在Windows虛擬機安裝Illustrator，再從C:\\Program Files\\Adobe\\Adobe Illustrator CC 2021將整個程式目錄複製到Linux。根據指令稿內容，看來我要安裝以下依賴套件：cjkfonts、vcredist2010、vcredist2012、vcredist2013、vcredist2019。再執行Adobe Illustrator 2021/Support Files/Contents/Windows/Illustrator.exe程式。啊靠北啊怎麼崩潰了，原來那個指令稿還有用到作者自己編譯的Wine麼，卻連這個檔案也刪掉？\n20240619 新梗發布會，兩位台灣的色違小粉紅：哈綠波特：波特王，分類帽會分到塔綠班。色圖日記：（自行腦補）\n20240619 HoloISO Immutable HoloISO已死，新生HoloISO出現。2024年以前，舊版HoloISO是允許使用者變更系統的，pacman一更新系統套件就可能炸掉。新版HoloISO系統改為不可變(immutable)模式，系統分區唯讀，更新模式更接近原版SteamOS。使用者對系統的變更一更新就會被覆蓋。作者終於知道pacman亂更新的下場了吼，這樣或許能讓系統穩定一些。順帶一提，HoloISO有加入Steam Deck驅動支援，所以你可以將Steam Deck系統換成HoloISO，但我不知道這樣做的意義在哪。新版確實是比舊版穩定了一些，畢竟鎖pacman，系統就很難炸掉了，不過虛擬機還是不支援啊喂。限制變得跟原版SteamOS一樣，要安裝軟體只能用Flaptak、Distrobox等rootless的方案。萬不得已的時候才解除系統唯讀鎖定，並透過pacman安裝套件。至於系統更新方式，不要用pacman請用全系統更新指令：steamos-update。如果想要在個人電腦複製SteamOS體驗，那麼HoloISO確實是個好選擇。但，市面上已有很多「玩遊戲專用發行版」的競爭對手。例如ChimeraOS(基於Arch Linux)、Bazzite(基於Fedora Silverblue)、Nobara(基於Fedora)，他們比起單純修改SteamOS的HoloISO，功能更多。即使在一般桌面版的Linux（如Ubuntu）安裝Steam再開Big Picture Mode也不是多難的事吧！等未來Valve正式放出SteamOS通用ISO，這個專案大概也就掛了。對不是那麼熱衷遊戲的Linux桌面用戶來說，目前我還是用Kubuntu裝Steam再開Big Picture Mode玩就好。\n20240619 厭惡社群媒體的rage-baiting風氣，這很大程度是演算法導致的。可若是發現離開網路現實就一無所有又該怎麼辦呢？除非能找到真正目標，否則他們高機率就會在短暫的靠北之後重新投入喧鬧環境中。總覺得只是看看書、玩點遊戲以為這樣就能分神是不夠的，要找到能把靈魂放進去的事物才能跳脫對單一事物的依賴。 It\u0026rsquo;s not even an addiction, it\u0026rsquo;s just that I have absolutely nothing else to do. - r/nosurf \u0026ldquo;Go outside, get a hobby, meet new people\u0026rdquo;, but that\u0026rsquo;s easier said than done. 究竟應該怎樣做，接受boredom存在的事實嗎？\n20240618 Komicolle已經倒了兩年了，約莫在Reddit衝浪TV之後倒的，幽默TV後來也不見了。唉，快樂源泉，在那之後我就沒辦法上去看yoyo幻想文、尼特鬱鬱自殺文、無名高手的歷史介紹文章了，真是可惜。得真的上Komica主站才能看到幾天後就會消失的逆天言論。最近聽說復活了，好耶。https://komicolle.org\n20240618 我們需要多點王志安和多倫多方臉這種有料的反共Youtuber，不是「聽床師」「恰(無腦反共)愛國飯」「輪系」的。王志安雖然味很大，反共愛華，不過就是這樣才可以中立點的報事實，不至於因為反共而反過來舔其他人。多倫多方臉是傾向民運立場，但講話有科學根據，不賣弄情緒，不是用宗教式的教條勸你改悔罷。\n論台灣的反共Youtuber水平，呃我說，水準，還真沒一個能像上述二者一樣兼顧事實與道理的，像波特王、八炯這種的，嘲笑小粉紅的時候不知道自己就是小粉綠。台灣比較有料的反共Youtuber是存在，但為什麼總要譁眾取寵才能大聲呢。依我看只有李敖夠資格大聲，他還活著的話我一定每天看他節目。至於浪人系的反共Youtuber，算了吧，支黑，你先示範自戕還有點節目效果。如果我們要希望推廣民主自由，而非單除佔據道德高地，麼就要盡量多爭取一些普通中國人的支持。\n20240617 看到華國事物就討厭→傻逼。看到台獨事物就敵視→傻逼。看到美日就開始whataboutism→傻逼。看到中華文化就貶低→傻逼。看到進步主義就煩→傻逼。看到保守文化就反→傻逼。以上是我對塔綠班、華腦、小粉紅、支黑、左右逼的觀察。追蹤各種政治粉專到現在，我發現不論政治傾向為何，網路上極端派系的聲音總是特別大，好像不二極對立就無法思考一樣。我可以是自由派，誰講的有道理就服誰，很可惜這樣鎂光燈不會願意照在你身上。而社群媒體同溫層容易加深這種問題，網路常常無法做到有效溝通，總是有暴民想troll人，就不可辯得贏。所以我不會動不動就跟著出征人，要是沒辦法順著網路線過去打人那就沒有吵的必要。\n20240616 總覺得超越當初的範疇了，本來只是想色色的念頭促使製做成了殺必死列表，到後來貪心的擴充到只要露點就算數，所以偏離了殺必死的範疇。這是什麼感覺，專門賣肉的動畫不一定就是爛作，也不是搞色情，在2000年以前的動畫更多的是作為一種藝術形式表現。不得不說編纂這個列表間接讓人認識到許多經典好片，像是這個《骷髏13》的電影，配樂實在太神了。\nGolgo 13 The Professional OST : 05 Love\u0026rsquo;s Mystery\n20240615 塔綠班以及其黨羽一開口就造謠，過程是這樣的：黨媒把新聞斷章取義的報導，網軍側翼、圖文作家就開始跟著瞎雞巴創作，再透過社群媒體快速傳播，從網路逐漸影響現實的認知，導致暴力行為的產生。看過這個問題不下很多次了。從黃國昌講經濟學人被誤導，到今天制止大麻柯插嘴都是如此。很多會議明明有直播可以看，卻寧願接受單方面加工過的訊息。只能說只看三民自的訊息真的會刪民智。我知道這個問題在美國更為嚴重，Twitter右狗圈只要拜登說錯一句話就可以黑一整天，雖然Wokely Correct和StoneToss漫畫真的蠻好笑的，但看久了就會覺得他們不是也跟左逼一樣偏頗麼。話說回來，要停止這種粗淺仇恨的方法就是停止用表情包、梗圖的方式表達自己意見，而且明確的說出問題所在。\n20240613 Elvis Presley - My Way (Aloha From Hawaii, Live in Honolulu, 1973)\n說來地獄，這首歌唱完沒幾年Elvis Presley就暴斃了。他的聲音跟Frank Sinatra真是不相上下。就像Johnny Cash翻唱Nine Inch Nails的Hurt難分軒輊，兩個人的My Way，人生並不相同卻一樣感動。\n20240613 說到我的電腦在學校給別人起到的幫助真不多次。第一次是利用螢幕可以180度放平的特殊設計，方便顛倒螢幕面對面的她們討論事項，居然真的實現了商品廣告文宣上的使用場景。啊不過在Windows下有硬體快捷鍵，到了Linux得手動調整KDE Xorg方向才可以讓螢幕上下顛倒。第二次嘛主動英雄救美（比較像工具人吧），用Linux的Sunshine遠端到執行Windows虛擬機的Linux桌面，遠端執行統計分析軟體，即時解救了身邊人的報告\u0026hellip;居然有人上課前才說報告統計報表沒完成的\u0026hellip;唉雖然後來我的口條還是被屌打。\n20240613 昨天吃到超商變態食物之「鮭魚親子飯糰」，意即魚肉和卵包在一起。不禁讓人想到屠支大佐那張圖「對，一家人最要緊是整整齊齊」\n20240613 右狗保守派並不會比左逼少點智障不是嗎，尤其是篤信宗教玄學的掰咖。任何時候宗教放入政治之上都是不對的，印尼的建國五項原則把信奉唯一的阿拉換成意義含糊的神可謂是聰明之舉，避免了排他性宗教，那無神論的又該怎麼辦呢。雖是這樣說，也不會因為美元上面印上帝的字樣而把它撕掉，或是歧視別人的宗教什麼的，不走另一個極端。很難理解？換個方式想，賴皮你要團結的是整個台灣人，還是只有40%仔？就是這種感覺吧。\n20240613 不受歡迎的系統的特性肢解後出來造福大眾，以汝的血肉成就吾新的帝國！比如Plan 9的9PFS、Solaris的ZFS、OpenBSD的OpenSSH！都被Linux吸收了。\n20240612 Your videos and tiktoks DO NOT need a song playing in the background. - r/unpopularopinion\nYoutube Shorts、Facebook Reels、Tiktok\u0026hellip;任何形式的短影音都是智障在看的並沒有錯。尤其影片總要搭配噁心的背景音樂、罐頭音效、AI配音。Stupid as fuck.\n20240612 微軟和蘋果都推出了自己發明的AI名字，一個Windows Recall一個Apple Intelligence，兩家愚民公司。蘋果教徒的信仰力確實比較高，什麼小東西都能爽，畢竟人均consoomer。OS-level的整合還說我們會保護你的隱私，ㄆ。\n20240611 通常應該是不喜歡看民工漫的，即大眾都知道的漫畫，雖然海賊王宏大的世界觀也很有趣啦。可能我看過大眾的動漫就是《進擊的巨人》了，從2013年看到動畫震撼、2016年死忠每週追東立的漫畫連載到完結。自從牆外世界出現後，這部漫畫就偏離主流王道路線了，不適合給無腦讀者看，但是故事依然很有趣。裡面有二次大戰猶太人的元素，還有類似台灣與中國的處境，PTT和知乎有很多背後意義探討文章。神級的音樂和哲學觀念探討，昇華了這部作品內涵。有整整四季的動畫，不定時還是會回去看以前的片段。其中最喜歡的果然還是這一句：「只要立場對調，正義就會露出獠牙」(立ち位置が変われば正義は牙を剥く) 暗示世界上沒有真正的正義，不一樣的只是看事情的角度。即使看完說「窩不知道」也沒關係，這是個美麗又殘酷的世界。\n20240610 每次聽到river這個Wayland合成器的名字，總會想到張雨生的「河」一曲。Tweaking dynamic tiling Wayland compositor的經驗絕對跟這首歌一樣瘋狂。\n20240609 【正片沒有的】黃國昌訪談一刀未剪版\n最近燒很兇的范琪斐用偏頗標準訪問黃國昌，又剪掉關鍵片段的爭議，最後范琪斐就放完整版給大家看了。我還真的把二小時完整版看完了，黃國昌不厭其煩的把之前在直播講過的東西再陳述一次（畢竟不是每個人都愛看），並且準備了大量實際例子和案例，反駁國會擴權說，並強調民眾黨不是突然搞黑箱，而是選前就一直在講承諾了。他提到二個很重要的概念，面對公共政策，不要講形容詞，要就事論事。此外，討論事情前要清楚基準點在哪裡，如果對方的認知有嚴重落差，那就更不可能說得清楚。\n民進黨最近的懶人包圖卡認知作戰太強，以致於我也差點信了「黃國昌說最高機密」、「簡單多數決」、「沒有討論」是有問題，後來才知道是民進黨立委知法玩法、掐頭去尾的扭曲說詞，因為院會前最終版本本來就不會公開啊！立法院本來就是簡單多數決，討論時間給你了卻在黨團協商瘋狂臭人的是誰。面對這類潑髒水攻擊還相信的，怕是被恐懼情緒動員慣了吧，不站隊不二分法就不會判斷，口號有餘思考不足，難怪會去當青鳥東路上的暴民。\n所以我就覺得奇怪啊，民眾黨跟國民黨合作改革國會，是怎麼導向親中的結論的。也不用國民黨出手啊，最近ECFA糖衣毒藥習包子都幫你斷了好幾條。還有國會改革法案本來就是民眾黨的政見，怎麼黃國昌就變傅崑萁的狗了，要也是對方來當我們的狗吧（咦）中國人五行缺爹，塔綠班也總是要給人亂認爹才能建構世界觀是不是？\n話說回來，我們不要太苛責這些還算中立的偏綠人士，搞到最後去學塔綠班出征人家。我看她也沒有很挑釁。或許他們真的是民進黨懶人包圖卡看太多，以至於法條擺在你眼前了還跳針說毀憲亂政。既然有溝通誠意那就理性看待整件事。\n20240609 如果電腦或者手機製造商使用了質素不好的硬體生產產品，再用軟體補救本質上就是一種作弊吧。以前買過ASUS Zenfone 2 Selfie手機，它使用內建的顯示技術讓顏色看起來好看一些，而一刷機就現出原形，螢幕泛黃的可以。別忘了音效魔術師讓原本破爛的喇叭不過變好了一瞇瞇而已。Sony Xperia 5 II有Sony的調色技術，但好歹人家是真的讓螢幕符合BT.2020的標準。這支音量也有偏小的問題。看看現在多少廠牌的手機要用Dolby Atoms才能救起來那樸實的喇叭！我還沒講到各家手機的拍照加料功夫呢，所幸Sony不熱衷搞這個。再說MSI的Modern 15筆電，明明只有SRGB 100%的標準硬是搞了一個MSI True Color技術讓螢幕更艷麗，但這不公平呀，這個專有的調色技術，在Linux靠ICC的情況下只能看到SRGB標準，卻沒有Windows下那麼好看。或許Apple也有自己的調色技術我們不知道而已，但人家的全域色彩管理技術可是屌打Linux/Android/Windows好幾條街！以至於進入廣色域時代，macOS、iOS的優勢就體現出來了。\n20240608 Taiwanese instagram influencer attacked in Australia. This is why we must support a distinct Taiwanese identity and Taiwan independence. We must show the world Taiwan is not China, and Taiwanese are not chinese.\n不知道是不是開免洗帳號來亂的，無腦仇中的台灣人在Reddit的r/Taiwan sub踢到了鐵板。「因為中國人在世界上名聲太壞了，所以台灣人在澳洲被種族歧視攻擊，台灣必須獨立才能免於被當成中國人。」「所以你認為中國人被打就可以？對亞洲人的種族歧視應該全部停止」\n哈，應該發到允許對中國人無限制仇恨的r/Taiwanese才對，縫合左逼思想的塔綠班可能還會附和的。有些人在對抗中共的時候也無形中成了種族主義者，因為把人非人化妖魔化就有了無腦恨的理由。當我們在笑日本中華西太后餐廳貼中國人與狗禁止入內的時候，或者小粉紅讚許國內廠商大動作仇日的時候，其實我們也要反思是不是在默許了種族歧視，就因為對方與我們是不同國籍？\n20240606 新時代的數位械鬥。\n我一直很想戒掉社群媒體，並逐步觀察它對我的影響。但是很難成功，我總是關了又開，最多撐不過一天又會點開社群媒體，不管是台灣的還是外國的來看。不過至少我現在有較為清楚的認知了，我明白社群媒體再也沒那麼重要。\n不知道哪個詞比較好形容，那我還是講支語吧，網路上傻逼太多了。《Lain》裡面早說過：網路讓原本渺小的聲音也可以無限擴大。或許有人以為網路促成交流方式的平等，但是平等的交流往往是困難的。沒有面對面加上匿名特性，使得人民可以肆無忌憚的泯滅一切良心規矩。\n尤其在政治議題這種很難有定見的議題，很難像Github討論程式問題一樣就事論事，更多時候是變成仇恨攻擊，問A答B開始瞎雞巴亂扯，模糊焦點，網路又不是辯論大會，沒有一個主持人可以強制規定網路討論方向不可背離主題。你試圖澄清溝通，對方就開始一條龍抹黑，散播恐懼，訴求意識形態對立，凡不聽我話的都是敵人。講個例子，立委黃捷之立法院說出「藍白不倒，台灣不會好」就是一種典型的弱化民主的討論，網路上很多人的意見也大抵就是這個樣子，不談事實只談口號，製圖大隊出動昧於事實，試圖站中間的理性聲音被淹沒。我必須很誠實的說，其實哪個黨派的支持者多少都有這種傾向，不論是不是自願的。就算是我黨民眾黨的也有，我稱他們為狂柯粉，禍害程度不甚於塔綠班親衛隊，凡事都以對方本身就是絕對惡為出發點，疑神疑鬼的，所以導致偏見的產生。網路社群媒體的同溫層放大極端聲音，當遇到衝突，沒有中間理性聲音的空間，就是出征來出征去搞網路霸凌，變成新時代的「數位械鬥」。被閹割了政治權利的中國人很愛翻牆出征，台灣人真的到現在還繼承中國人遺風！額，不對，出征文化並不限於中文圈網路，即使在成熟民主國家依然離不開政治口水。有人把政治人物當救世主拜，也有受不鳥的人就會變成厭惡政治吧。但是我並不想要台灣變成像日本那樣政治冷感，甚或是鄙棄民主體制追求獨裁政體，反正只要能發大財就好了，到時候連政治冷感的權利都沒有了。\n可惜的是網路現在對人們影響太大，說關掉網路離開外面世界去看看，是反時代潮流的。恐怕沒有一個學理框架能向世人解釋網路的全貌。對網路現況而言，實在沒有什麼解決方法，只能說要接受到現在情況就是如此混沌，莫以此為甚，網路早就實現了某種程度上的安那其主義，不能期待哪天有大一統的陽光到來，不要期待你的意見說服所有人 ——— 至少不能說全部啦，又不是蠟筆小新裡面的「熱海開花子」可以催眠所有人。那麼不如在自己的小共同體（可以是一個伺服器，一個小網站）過的舒服些，並儘量找更多人形成共識。\n20240606 Oracle有一款\u0026quot;VirtualBox Guest Additions Extension Pack\u0026quot;可以給VirtualBox啟用RDP遠端桌面，但這個版本是閉源軟體，僅供個人使用。不愧是訟棍Oracle，聽說它會抓你的IP，偵測到學術機構IP你的上面就要倒大楣了。\n20240606 【音樂欣賞】你可以把萬能青年旅店2011年的歌曲當作人生長大的寫照嗎？我覺得可以。當人生迷茫進退兩難的時候，響起「十萬嬉皮」：敵視現實 虛構遠方 / 東張西望 一無所長 / 四體不勤 五穀不分 / 文不能測字 武不能防身。慢慢學會長大，聽到「揪心的玩笑與漫長的白日夢」：他說孩子去和昨天和解吧 / 就像我們從前那樣 / 用無限適用于未來的方法 / 置換體內星辰河流。最終走向「秦皇島」：於是他默默追逐著 / 橫渡海峽 年輕的人 / 看著他們 為了彼岸 / 驕傲地 驕傲地 滅亡。\n20240605 我是台灣人．台灣是咱的國家──覺得興高采烈：為什麼藍白粉跟中國小粉紅都那麼痛恨黃仁勳？因為他專出「獨立」顯卡，還講台語、愛台灣，連Logo都用綠色的，要那些忘了自己也是綠色的小草包們情何以堪？\n求求你們台派別再玷污咱文組智商了，雖然不知道是不是反串。有人說獨立顯卡代表台灣獨立，頗有之前立法院輪椅妹說獨立音樂是台灣獨立的味。我可以再做張中國式梗圖嗎：（看到弱智言論，點進頭像，台灣基進/民進黨支持者，滿意離開）\n20240604 「小草很討厭黃仁勳說Taiwan is a very important country，尤其PTT八卦板」我不知道為什麼這個也能洗風向，為什麼要因為人家表態一句就討厭，況且他又沒說錯，難不成蘇媽網站寫中國台灣省你也要崩潰嗎。我可以確定的是塔綠班的招數就是喜歡學共產黨把人二分法立場，壟斷話語權，認為只有按照他們的方式才可以愛台。不過我確實不夠滿意他，是因為他們公司靠賣顯示卡賺得盆缽盆滿，把重心放在沒有頭(headless)的Linux伺服器上，還是把Linux Desktop用戶當二等公民（畢竟我們沒那麼有頭有臉），推出糟糕的閉源驅動程式。\n20240603 最近我很喜歡看Reddit的r/nosurf板，還有r/digitalminimalism，裡面充滿各種不要上網的論調。作為人們互動最多又最容易上手，最容易沉迷的媒介，最常討論的便是退出社群媒體了。他們都說我不用社群媒體對身心有許多幫助，再也不用嫉妒朋友的旅遊日誌，不用被陌生人的高不可及成就轟炸，也不用再看到低品質垃圾訊息。還有人提倡盡量不用電子產品，搞安那其原始主義，不過我反對這點，電子產品即使不拿來上網也能看電子書。可是我不禁想，這些板的用戶總是有居高臨下蔑視其他社群媒體的感覺，你又憑什麼說別人看的內容就是低級呢，所以才能窩在這裡取暖找優越感？彷彿拒絕主流網路事物就是一種潮流品牌。\n20240602 Poco F1可以體驗CalyxOS？理論上來說這個系統應該是專為Google Pixel打造的，XDA的unofficial port只維護了一個版本。\n20240602 RK3566進入MaskROM模式刷寫系統到eMMC。PineTab 2主機板搭載RK3566處理器，類似Quartz64開發板。預設的系統是Arch Linux ARM，裝在內部eMMC。如果要安裝新的系統，撰文當下官方是建議安裝到SD卡並從SD卡開機。但若我想要安裝新系統到比較快的內部eMMC呢？eMMC是沒辦法直接給電腦讀取的。按照過往Pine64社區的經驗，應該要等Tow-Boot開發者移植，才可以讓我們把block device當作USB裝置暴露給Linux電腦，方便dd刷寫系統。否則我們就只能從SD卡開機再dd到eMMC這種迂迴的方式來裝新系統。後來翻閱文件發現RK3566可以透過UART進入MaskROM模式來強制修改eMMC內容。下載Rockchip釋出的閉源軟體upgrade_tool，或者開源版的rkdeveloptool就能操作。這個模式適用Rockchip所有系列的開發板。ㄟ\u0026hellip;但是文檔很缺乏無從下手。\n20240602 Use old phone as a second display: USB GUD with postmarketOS 透過USB GUD這種特殊的驅動即可將Linux裝置變成電腦的第二螢幕，看起來不錯哪。\n20240601 黃國昌何以遭受大規模網路攻擊而心理不崩潰，原來我看老師的5/18直播講「這個造謠的斯坦是誰啊？5/19遊行哪裡說要取消了？」才了解到，我們在網路上常常看到的民進黨側翼，看似很大聲很多人按讚，但不夠大咖的他根本不認識也不想理會，即使他是很愛直播的人。忙著上班處理國會的事情，不會整天分神去應付髒水攻擊（否則的話大概就得像館長一樣粗神經才有辦法應付黑屁攻擊了），很大程度靠義勇軍小草協助闢謠。\n題外話，原來真的有昌粉畫師存在，不是抹黑的那種。all.day.raining on Threads：在至暗的環境，他忍辱負重，不畏風雨堅定前行。就算身負重傷，也依舊向陽，他才是至今從未凋零的太陽花。\n20240601 其實我有點厭倦滾動發行版的使用模式了，在使用Arch Linux幾年後的感覺。常常在更新的部分應該是軟體就好，系統核心還有事關使用者體驗的桌面環境不應該常常在更新。現在有Flatpak技術，因此追求最新軟體是假議題，Stable Release的發行版自有其存在道理，Canonical不也透過Snap和HWE核心繞過LTS系統支援最新硬體的問題了麼。由於Linux軟體開發常常是沒有保證書的（THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND）開發者沒有科技大公司的義務提供穩定度維護，也沒有人會道歉。更新後系統炸掉？自己修啊！不然你起碼也寫個issue回報，啥都不幹的在那叫什麼。如果要防止活在頻繁系統炸裂的恐懼之下，那還是用Stable Release的發行版要好。\n20240601 當我跟你說戒除社群媒體卻不要戒除3C的時候，你該怎麼做呢，是打單機遊戲還是看電子書，我想後者十分有用。不看特定的社群媒體，無目的的流連於網路論壇和隨機文章間只會讓人更焦慮吧，即使有RSS仍顯不足。那麼開卷有益的優勢就體現出來了，與其花10分鐘mindless scrolling on socila media，不如看電子書。就媒介來說，我仍比較喜歡離線閱讀的書籍格式，就是下載epub且不需要依賴DRM特定程式才能讀的（多虧了智慧型手機的發展，不用再像我以前功能型手機的時代只能下載txt來看），我不是很喜歡線上書城的用法（抱歉了作家們無法貢獻版稅）。那麼要讀什麼書，最低程度的是看網路小說或輕小說之類的，好一點的是看當代暢銷實用書，再更好的就是讀過去的世界名著了。我向來是永恆主義的擁護者，即使是西元前寫的奧義書依然有參考價值。可是要多久以前才叫過去的經典名著，總不能以個人年紀定之吧，那麼我簡單劃分一下：距今20年以前的書都可以說是世界名著了吧。\n20240601 吼吼這到底是什麼死要錢的設計，Proton Calendar容量給1GB就算了，彩色日曆事件簿也要收錢才能用。沒有Google富爸爸的下場就是如此。\n20240531 我川威武！！！啊如果今年川普選舉又被深層政府做掉，他會先轟炸白宮吧。\n川普爆炸性發言：任內中國若侵台 我會轟炸北京\n20240531 KDE on the Linux E-INK Tablet!\n如果要當文青，買台電子書閱讀器來用了，LCD螢幕的平板畢竟傷眼。PineNote很有趣，搭載e-ink螢幕，且有RK3566還能裝KDE，同時跑Linux和Android(Waydroid)所以APP不是問題（原來加個電子紙和Wacom模組就可以賣PineTab兩倍價錢！）但是對Linux不熟的人，或許還是買成熟點的產品罷，然後再來越獄！\n20240529 Black Jack OST - Your Pain\n2004年的黑傑克動畫雖然相較於1993年的OVA變為更子供向，但是有這首經典配樂就說明它還是一部關於生命的成人動漫。\n20240529 賴皮果然是賴皮，罔顧60%民意的國會改革法案硬要覆議。沒有關係呀，跟你慢慢耗，在釋憲之前先來辦貪官。\n國會改革法案三讀通過 政院將提覆議\n20240528 終於結束了，陽光照進國會的改革，弊案準備開屠。接下來民眾黨還要馬不停蹄的推動廢除監察院，各位實在太認真了，我這票投得真值得。\n國會職權三讀／藐視國會罪通過！官員不得反質詢、拒答　最重罰20萬\n20240528 XtMapper，Android-x86電腦玩手遊的按鍵映射工具。買電腦裝Android-x86打遊戲，這類玩家可以說是非常稀有的動物了。一款解決電腦玩手遊觸控問題的軟體，XtMapper。將常用的觸控按鍵，與電腦鍵盤綁定，模擬各式各樣的手勢。XtMapper為自由軟體，開源免費無廣告。因為要偵測鍵鼠輸入，XtMapper僅適合Androird-x86實體機或虛擬機使用。Waydroid實作有困難，安裝起來很複雜。XtMapper需要Root權限才能運作，Bliss OS已經內建Root權限，如果沒有Root，請安裝Shizuku再安裝XtMapper。老實說這個軟體設計可真不友善，不如閉源軟體八爪魚直覺。\n20240528 How to install Steam on Raspberry Pi - XDA 這篇文章用的是Ubuntu，但我換RPI OS就不行了。現在Steam在ARM平台的支援狀況是hit or miss，儘管Box86作者親自提供install_steam.sh的指令稿卻也沒辦法保證能開得起來，總是缺lib，恐怕我們只能用steamcmd載遊戲了吧。\n20240528 FEX-EMU 看來是不錯的專案啦，在Box64之後又提供了另一種方式來在arm平台模擬x86程式，據說是提供rootfs來強化完整性，但看Box64作者效能測試，FEX-EMU轉譯是Box64效能砍半的情況下恐怕對這個沒信心，那麼他的優失就是相容性了吧？免做chroot，Youtube還有一部用8cx Gen 3裝置跑起GTA V的影片，不知道是不是用效能壓掉轉譯損失。好像有小道消息指Vavle有在投資本專案？\n20240528 民進黨整天天天民意民意的叫的，還綁架年輕人，笑死人（台語）那麼，背離誰的民意？放任40%暴力挾持真正在做事的立委？且從支持國會改革的民調數字來看，實際反對的人數可能還更少。這幾天在各路闢謠努力下已有不少人反水，已覺醒，又二覺發現就是苗博雅為首的綠師在玩認知作戰。請加上hashtag：#我不在青島東\n看板Gossiping - [問卦] 開始懷疑自己的信仰怎麼辦？我是不是被煽動的？\n據說民眾黨黨部今天還收到一盆花，署名「沉默理性的支持者」支持國會改革，感動捏。\n國會改革真相揭露平台: 首頁 雖然但是，國民黨居然直接把國會改革真相揭露平台掛在自己網域下，這樣因人廢言的塔綠班真的會看嗎\u0026hellip;\n20240527 網頁版Joplin前端。Joplin官方沒有提供網頁版界面，很是不便，有一種方案是把VNC伺服器包成Docker檔跑Joplin，可是很肥。另一種作法就是跑第三方製作的前端了。joplin-vieweb 這個專為Joplin-cli的wrapper，結合Django後端，可部署於個人伺服器。網頁界面能夠編輯筆記，而且界面沒有很耗能。不過僅僅是可用的程度而已，缺乏很多原始Joplin的功能，所有同步功能也沒完全實作。\n20240526 我住在魔幻的發財市中央地區。走出家門就可以看到白眼婕和清德宗的選舉看板。旁邊的大樓則是有一個長期租賃的看板掛著孫大砲的臉，上面寫了禮記大同篇提醒人們知恥。在學校裡面，性別進步主義的研究所開滿了，蔣中正銅像只能棄置在垃圾場旁生鏽。\n20240525 以前在品蔥看過政治抑鬱的說法，就是身邊的人是小粉紅，喊打喊殺的極端份子。可能是政府或者環境使然，所有反對意見消失，從而營造中國主流民意都是那樣的概念，削弱國際形象。這讓腦袋清楚的反賊感到窒息，恨不得run到國外以求解脫。\n正常人如何能在中國輿論環境不抑鬱？ - 品蔥\n巴勒斯坦的人民若有似無的支持哈瑪斯，那法塔赫的處境又有誰關心。\n然而當小粉紅變成小粉綠，我就可以體會反賊的心情了。當台灣的主流民意被民進黨所綁架之後（儘管他們數量上是相對少數），所呈現給外國人的印象就會的取代所有反對派的聲音，國民黨永遠撕不掉舔中的標籤，民眾黨太小還容易被誤解。就以網路社群來說，國際化的社群媒體常常是民進黨佔優勢的，像是Twitter，KOL和側翼佔據大半江山，支持國民黨的都在美化民國派迴避現在的問題。社群媒體放大了極端聲音，追求中間路線的空間很少，我看只有被民進黨鐵拳錘過的王志安是少數敢質疑民進黨的KOL了，雖然他是大中華膠啦。於是這讓我恥於在Twitter看到繁體字言論，小粉紅等於小粉綠難道不是嗎？這會給讓中國人反賊和民運和世界人民認為，好像民進黨才是台灣唯一救星一樣。\n當然，最快的方法就是不要用Twitter，明知山有虎偏向虎山行乎？Twitter也不是整個世界。明明台灣本土就一堆反民進黨的社群媒體，數量佔優勢。\n就比如Dcard這篇（好啦不罵你低能卡了）\n挺國會改革，你並不孤單，其實你並不是少數，沉默的多數 - Dcard\n可是萬一我們的聲音變成同溫層在自嗨呢，面對時代潮流讓人感到無力，即使如此，我們還是可以找到價值。\n看理想｜政治性emo了，怎么办？ - 中國數字時代\n20240524 小八卦：Winget指令會把Program Files資料夾下並非透過winget安裝的Windows軟體一併升級。你搞得我好亂呀，沒有package manager能行嗎，其實跟Linux比起來，Windows安裝軟體雖然簡單，後續管理卻是更為複雜混亂呀。\n20240523 中國環台軍演。\n莫忘俄爹諺語有云：中國的最後警告(Последнее китайское предупреждение)\nPTT地獄梗：民進黨動員流氓包圍立法院，這下被更流氓的你匪包圍了。\n20240523 看到有人舉「男友選小草，窮困又潦倒」於是八卦鄉民、各路野爹就開始針對這女的外表批評，並貼出民眾黨正妹其實有很多。其實我覺得雙方都挺無聊就是了，政治立場不同，幹嘛上升到人身攻擊的層面，搞性別對立。塔綠班沒下限，咱小草不跟他們一般見識就好了。\n從去年716開始，塔綠班就一直想操作民眾黨支持者是魯蛇的風向，認為支持民眾黨很丟臉，但根本帶不起來，反而越來越多中間選民加入，丟臉的究竟是誰。不禁想到歐美許多口中喊著女權啦，人人平等啦的左逼，反而就是最不尊重他人的一群，用道德碾壓一切人性，才會變成SJW。而在台灣，SJW之上還有一個超越所有道德規範的存在，那就是：抗中保台！\n20240523 【議題觀察室】錢坑法案？黑箱立法？517立院衝突爭議一次看\n整天洗國會改革黑箱、兩兆錢坑的好了啦，連事實查核中心都看不下去了。各大社群媒體應在那些造謠綠蛆的貼文下面全部標記「不實資訊」。喔我忘記按照狂柯粉的陰毛論，社群媒體是政府管的他們才不會照做！！！\n20240523 中捷砍人動機曝光！驚爆「故意挑台中」　親友驚吐：因藍營執政\n看到沒有，長期政治廚下來加上外部壓力引爆，很容易就變成偏激份子了。\n就拿社群媒體使用來說，一旦發現充斥Rage-baiting內容就要立即戒除，防止被演算法牽著走，但同時也不要落到完全的同溫層社群找安慰。不論你是什麼政治立場，看到讓你氣到彈出來的相反言論的時候，別往心裡去，也不能氣急敗壞的開始人身攻擊。首先，深呼吸，接著想到所有人類都是動物，假裝自己是牆壁上的蒼蠅理論，不絕對堅持任何事情都是真理，那麼就可以客觀的去看待整個事情，別人要怎麼講我不管，心安理得就行。\n20240522 套用左逼的理論，當談論手機系統，總是把iPhone先於Android之前談論的科技媒體，是不是就是一種潛在的我族中心主義思維，這是文化霸權！！更進一步說，我把自由看的比自然重要。\n20240523 桂枝：台灣從來不是一個國家\n又來了！關鍵字「台灣從來不是一個國家」登頂微博熱搜榜 中國網友超嗨\n喔是喔真的假的55555。確實不是，賴皮都說我國叫做中華民國台灣了，且與你匪互不隸屬。\n20240522 以前Apple拍過一個自打臉的廣告：What\u0026rsquo;s Computer？影片認為iPad Pro就可以取代電腦了。啊那我請問你賣Mac的意義在哪裡。現在，我遇到了類似情況。What\u0026rsquo;s Windows？ 要不是有虛擬機，我都快忘記怎麼用Windows電腦了，很多細節部份，本來我就沒有在記快捷鍵，微軟注音輸入法的標點符號都忘怎用了，Office軟體也不太會用（幸好現在Microsoft官方文件越來越多了，操作教學google一下也能學會）。諸如此類用Windows的小撇步，都忘光了。當別人問我電腦問題，我會說，啊～啊抱歉，我不懂怎麼修復Windows特定的問題——不論是硬體還是軟體上。這就是用Linux的後遺症 ——— 我會一直找終端機在哪裡。\n20240522 圖片 這張日治時期台灣人提出的青天白日旗子，我覺得這張旗子作為背景宣示我的政治立場滿適合的，騙騙沒讀書的人。吼！你統派，ㄟ不對\u0026hellip;吼！你台獨，ㄟ也不對\u0026hellip;\n一個蔣渭水，各自表述。一個蔣渭水，綠白藍搶著要。\n20240522 pyUGT 即時翻譯電腦螢幕文字，支援遊戲與漫畫。我想要一款即時翻譯電腦視窗文字的軟體，最好不用駭入遊戲程式碼就能翻譯，這樣的話可以讓我玩Galgame的時候方便一些。雖然Github有很多螢幕即時翻譯軟體，例如VN Translator，但是我卻幾乎找不到適用Linux的軟體。目前最接近我要的是這個：pyUGT，它使用Google Tesseract的影像辨識技術，再餵給翻譯服務，回傳文字。pyUGT軟體好處是跨平台，Python寫的，提供Linux/Windows/macOS版本。不過沒辦法自動化翻譯，使用者得手動選取文字框框，餵給pyUGT辨識。pyUGT跟RetroArch的Ztranslate目的類似，但是用途更廣，不限於遊戲，只要是任何螢幕上的文字都可以即時翻譯。以Ubuntu為例用Linux的套件管理器安裝Tesseract套件，並安裝英文與日文識別套件。pyUGT使用的函式庫需要root權限才能執行，因此得安裝到系統目錄。取得設定檔。靠北啊，pyUGT只支援X11工作階段，還一堆bug。\n20240521 聽說有新的社群平台叫做Miin，出來很久了。但依照我過去在台派Mastodon實例的經驗，會不會我進去說一句「台灣不是國家」就立即被ban啊？\n20240521 賴皮昨天剛就任民主國家的總統，今天國會的民主就死了，讓我們為台灣的媽媽（指蔡EE）默哀5個普朗克時間。\n國昌老師太狠了，為了服務那些明知道有立法院iVOD還說黑箱的可憐蟲，今天當起戰地記者全程直播，在國民黨保護下瘋狂點草台下民進黨，以第一人稱視角紀錄主席台下面類人生物的行為。反正坐在那邊看藍綠表演也沒事幹\u0026hellip;今天黃珊珊中午吃炸雞也能被Threads上的側翼罵的要死，那不如就來面對面拷打塔綠班。\n【國昌直播SP】院會解說part6(晚上場)-續審國會改革法案_05/21\n20240521 黃豆都給你流完了。\n小粉紅：台灣是共匪的領土。我：😅\n塔綠班：台灣是個國家。我：😅\n藍腦：台灣人是中國人。我：😅\n20240521 啊這\u0026hellip;美國爸爸都出來講話了，lie cheater和民進黨塔綠班敢不從？ 美國也看不下去了！友台眾議員批「綠委阻撓國會改革」\n今天的暖心一幕，證明這些立委都在演戲\u0026hellip; 水果大戰！綠委吃芭樂配梅粉諷517遊行藍委吃香蕉諷太陽花\n20240521 研究顯示黑人小孩更容易在泳池溺水。這下黑水鬼了。\nBlack Children More Likely to Drown in Pools, Study Shows\n20240520 Apple最近釋出兩個廣告，一個是宣傳iPad液壓機壓碎其他創作工具，一個是diss其他廠牌的平板不算平板，依然像過去一樣自大，然後果粉媒體跟著高潮。\n唉，這讓我不禁反思。下面哪一個比較像邪教：1. Apple產品（Mac、iPhone、iPad）優越主義 2. 自由軟體（GNU/Linux、Android、FreeBSD、Plan 9）優越主義 3. TempleOS優越主義\n他們都有各自的問題，目前我是傾向2.的，ㄟ這樣我好像也沒好到哪裡去。好啦，我乾脆當個用Windows＋線上服務的Average Joe吧。我不在乎什麼外觀設計風格、數位人權自由啦，只要點擊下載安裝exe完成工作就行了，找簡體字破解版軟體？好麻煩喔但我這樣可以讓我認為很會用電腦，嗯啊還有玩不完的遊戲呢，用那些廣告塞滿的線上服務下載Youtube音樂多方便。\n20240520 現在我看明天要去5/21立法院抗議的民進黨狂信徒，就跟看美國左逼大學生挺巴畜（巴勒斯坦哈馬斯）一樣的感覺。那麼你就會知道，社群媒體上那些表面關心「民主」的公民團體、文化藝術人士是什麼貨色，總是立場先於事實，對民進黨過去黑箱一聲不吭，只有在這個時候才會跳出來瞎雞巴亂號召。\n20240520 狂新聞真夠意思，今天做的是有史以來最長的影片，用荒謬片段展示民進黨過去鴨霸的行為。經典回顧之民進黨版的沒有、沒有、沒有通過！以前民進黨8年，朝野沒有共識的法案高達87%，都用人數強行通過，全部在野黨一起抗議也沒用，現在被報復只是剛好而已。\n【0520】卡提諾狂新聞 #416 立院競技場👉盜賊👲戰士🤴遊俠👸大混戰！\n20240519 感謝參與5/19草根決心行動遊行的眾小草，沒辦法到現場，直播線上看諸位開噴政府，聽了三小時照樣很爽。今天現場最低有4000人左右吧，雖然人數比去年716少，但比517立法院外聚集的塔綠班暴民還多人就夠了。\n下個禮拜二立法院，繼續推動改革！塔綠班還有臉召集下一波運動？憑什麼代表年輕人，又哪來的民主？沒有申請路權就聚集，如果衝進立法院就讓警察招呼他們粗飽。我支持台灣警察，你們可以挨打了。\n20240518 Ztranslate是Linux為數不多的即時遊戲翻譯工具了，靠RetroArch跨平台。許多遊戲翻譯工具只有Windows版（估計一生懸命開發Galgame又移植到多平台，甚至出主機遊戲版的公司依然不會知道Linux是什麼），少部份能用Wine跑。Linux上的翻譯工具除了這個以外就只剩下pyUGT。GitHub是有一些專為Linux設計的即時翻譯專案，但是很多都放棄維護了。\n20240518 如果要說民眾黨跟國民黨、民進黨有什麼不一樣，我希望是這樣的：我們不會整天強調自己有多愛台灣或者多愛中國。\n20240518 先訴情由的似乎有理，但鄰舍來到，就察出實情。（箴言18：17）\n就是指5/17後民進黨以及其黨羽的造謠功力啦，真以為現今立法院全程直播議事還能騙喔？只有看側翼消息才會信片面資訊啦。不知道在討論什麼，根本沒看現場情況就聽媒體和KOL歐北貢。還說什麼黃國昌站在窗邊看外面，問題當天根本就沒穿西裝呀。本人都親自出來闢謠了。我就問517去抗議的，你究竟是支持民主，還是民進黨作主？還整天碰瓷神聖的太陽花運動，丟不丟臉啊！\n20240518 5/19草根決心行動，上街頭！直搗民進黨中央黨部。可惜因為個人因素沒辦法到場支持，只能捐款給當天會出席的認同民眾黨相關組織聊表心意。我的心與你們小草同在。\n20240518 今天看到最好笑的：1. 立法院吹直笛的吟遊詩人 2. 高雅人士混入塔綠班517群組說「我是賴X德，我爸死了」（W.C.惡俗啊）\nRe: [問卦] 場外學生居然創Line群組在討論了？\n20240517 立法院外面抗議國會改革的塔綠班集結中，還在有KOL不斷烙人來。不過看到立法院外民進黨派的職業學生那麼少人我就放心了，不然的話小草義勇軍就要提前上演519起義了。\n我就看塔綠班還可以不要臉到什麼程度，現在的立法院都有全程直播了，誰在鴨霸清清楚楚。還以為可以呼弄人民？硬要給就任的賴皮老大難看ㄟ。韓導若要開放警察進來開扁，我舉雙手雙腳贊成。\n20240515 ARM也需要愛！(Neta：派大星也需要愛！) Asahi Linux的用戶問了社群，為什麼選擇Fedora ARM？他們說，Arch Linux ARM真的很糟糕。 ArchLinuxArm: Is it really that bad?\n之前有Reddit用戶反駁我說，一個專案有人維護就是official了啊！可數我感覺Arch Linux \u0026ldquo;ARM\u0026quot;的社群依然缺乏x86版的人力投入。很多人說Arch很棒，但其實講的是x86版本。因為Arch Linux專案本身就只支援x86啊！ARM版等同平行宇宙，套件依賴問題常常好幾個月沒人修（例如GNOME），如果使用者沒有開發人員的適性就會變成得自己修。幾個月前，EndeavourOS的開發人員正式放棄ARM支援，因為沒人用。不要臉的Manjaro又能撐多久呢。反觀Debian系列的發行版，本身就支援多重的系統架構，從ARM到RISC-V，沒有什麼不是official的，所以得到的愛更多。如果你想為ARM架構的裝置或者開發板挑選發行版，那還是Debian系列的較為妥當。其他發行版的支援程度是混沌宇宙。如果你真的很需要滾動發行版的AUR套件，那用Distrobox解決就行了。\n20240515 中國宣佈「懲戒」劉寶傑等5名嘴 陸網友：只會更紅 寶傑挨中國國台辦鐵拳了。奉勸民國派人士在堅守反共不反中的理念的時候也得知道，你匪是不可信任的。千萬不可以像統派和一些藍腦一樣，讓都是中國人的態度壓過你匪存在的事實，就覺得同為中國人，給你匪統治也沒關係。\n20240515 早在六個月前哈馬斯偷襲以色列的時候，ארץ נהדרת這個頻道就拍了嘲諷左逼的影片。Welcome to Columbia Untisemity 什麼Queers for Palestine? Chickens for KFC! 聖戰士只想砍了你的頭！\n另一部值得一看的歌曲：Gaza’s sky is black but Qatar is always sunny\n20240514 瀏覽社群媒體讓人沮喪又焦慮。我的手機裡面很早就沒有任何社群媒體APP了，可是還是會忍不住點開網頁版來看（歐美平台比台灣和支產平台好的地方就是起碼他們還願意維護手機網頁版而非強迫下載APP）。我應該找個程式串接API，在終端機撰文，用間接的方式來貼文。這樣我就不必開這些噁心的網頁。\n20240513 Ask HN: Are blog comments a thing of the past?\nHacker News的老哥有過討論，部落格是否有必要開留言。有些說法我很認同，像是監管不易、低品質討論、經營成本等問題。所以說費心搞留言板最後我卻想把它關掉，because seldom it brings any wisdom\u0026hellip;（這句巧妙的英文出自歌曲Henrik Widegren - Never Google Your Symptoms）\n20240512 epicstudios856/Vectras-VM-Android\n雖是不同專案，Vectras VM可以說是Limbo PC Emulator 2.0啊！基於QEMU，介面類似UTM，友善指引者安裝aarch64或x86_64的虛擬機。疑似還使用了QEMU的DirectX patch，使Windows XP時代的系統可以獲得部份3D加速效果。\n20240512 浪人/神友文化缺乏具體明確的傳承文件，總有人要效仿塔納赫編一本冲浪TV史。有人認為，牆外牆內時期的冲浪TV差距很大，尤其是反共反華這點，那Reddit時代的浪人就得再編一本新約。參考惡俗Wiki，如果有個公益性網站能把神系sub的資料客觀寫上去就好了，記載次文化的網站還可以考慮Fandom。顯然我負擔不起這種任務，因為客觀考證很困難，變成後來者只能很大程度聽我主觀瞎掰。\n20240512 The CSS Cascade Or, How browsers resolve competing CSS styles 這個教CSS的網站真好玩，旁邊的目錄是泛舟樣式，隨著捲動往下衝。\n20240512 在買鹹魚炒飯當晚餐的時候想到，個人部落格能否也實作卡片盒筆記法(Zettelkasten)？既然Hugo框架自訂性那麼高，應該也有人想過這個問題。雖然很不想承認，我很多名為教學的文章其實不論細緻程度還是行文風格，都比較像是個人筆記，比如怎麼設定某個Linux服務的過程。而且我是不甘寂寞之人，不願意讓筆記躺在Joplin，而是簡單包裝（加上聳動標題、起始和結尾）後po上網給人瞧瞧。那麼如何整理這些筆記，方便日後為我所用就變成重要課題，像我常常會在寫新主題的時候順便更新舊文，並插入新資料的補充。目前透過文章分類＋標籤＋整合文來建立個人知識庫，使我可以從文學聊到Linux核心底層又不失混亂。Hugo主題的演算法會自動按照標籤把相似文章排在一起推薦給讀者。可是總覺得不足，應該做個正式點的卡片盒筆記。初步構想：兩篇文章有互相引用的就視為一個連線，再來是單向引用，最後才是標籤式的連結關係。最好還可以用程式自動繪製一個標籤之間互相繫結的關係圖。手動畫心智圖的分布有點太累了。\n20240512 Github上應該很快就會有開源方案了，用不著我自己實現的說，比如這個chatgpt-md-translator。用ShellGPT ＋ Ollama，打造離線AI文件翻譯機。許多大型語言模型已經具備不錯的翻譯能力，他們還可以接收各種指令，知道在翻譯文本之時，懂得識別哪些符號不要翻譯。我的部落格文章有時候譯成英文的時候，因為內容太複雜，不想手動寫\u0026hellip;就會丟翻譯機翻整段。使用構想是讓機器翻譯完全文件後，我再手動校稿。過去我試過手動貼markdown到Google翻譯的作法，還有將doc檔餵給DeepL翻譯，雖是不錯，但我想要有更多掌控權，可以直接處理本機的markdown檔案。所以採用在本機跑的模式。挑戰：利用ShellGPT搭配Bash的管線輸出功能，將markdown檔案輸出到ShellGPT，再輸出為新檔案。這樣的話用終端機指令就可以完成翻譯。裝pdftotext套件後，用來翻譯PDF也可以。語言模型的後端可以用線上的ChatGPT或離線的Ollama。線上ChatGPT需要花錢訂API Key，好處是處理速度很快，不消耗本機運算資源，一個3000字的檔案，雲端運算回傳幾秒鐘就有了。至於離線版，用Ollama配開源大模型的翻譯結果也不賴，不過很吃硬體就是了。純CPU硬算，一個3000字的檔案大概要算個30分鐘。最好使用GPU加速，速度會快10倍以上。且開源大模型有token限制，很多模型只有4096 token，大約只能處理2000個中文字，超過的話語言模型就會開始亂寫。這時需要使用支援64k token的模型才可以，例如Breeze 7B。\n20240511 Welcome to the Inochi2D Documentation 看到Asahi Linux的開發組有一個叫Asahi Lina的主播用生命推廣開源Vtuber軟體Inochi2D，讓我對在Linux製播皮套人內容有了點希望。 原來只要攝影機進行動作辨識就可以同步動作。\n20240511 同樣的抽象組織，新中國聯邦與台灣民政府的共通點：二邊的創辦人都因為詐欺被關了。\n20240510 會在GitHub issue把GitHub打成GayHub還覺得好笑的一律鑑定為Bilibili批站來的低齡支那豬。\n或曰：誰家小孩？\n20240510 綜觀Minecraft色情插畫的創作，十年前Minecraft剛開始火紅的時候，AT2所創作的日式畫風擬人人設依然是最好的，後面許多創作或多或少也基於他的形象來繪製，不過成體系的本子王並沒有出現。另一個畫的最好的可能就是阿虫的《礦坑大冒險系列》，描述性轉爆乳Steve被怪物輪姦的連環畫，畫面還行，然而這部也是十年前的作品了。後面我們得到了什麼呢，看到有畫家把玩Minecraft的實況主（以後可能是VT豚了）硬要扯上關係的拙劣本子，然後就沒了。現在Minecraft加入了官方女性角色Alex本子有增加的趨勢\u0026hellip;嗎？然而創作仍以歐美居多，PornHub的熱門搜尋可以證明此點。但我不知道看方塊角色做愛有什麼好看的，紅到出圈甚至出模組的「Jenny」實在有夠扯的，你要玩真人模型做愛去玩VRChat啊！看方塊人幻想？？還是希望Alex的日式畫風作品能多一些吧。\n20240510 相信有用過Linux的朋友再回去用Windows 11（劇本提詞器：這裡Linux的位置應該是macOS的，但是宣傳因素所以此段不講）就會發現唉呦系統字體怎麼那麼醜，一堆軟體預設還是新細明體或標楷體，微軟正黑體不適合閱讀。GNOME和KDE用上的Noto或ubuntu字體根本屌打。現在Windows 11還要靠MacType來修正字體難看的問題\u0026hellip;過去人家說Linux對HiDPI支援度不佳，Wayland也慢慢修正了，然鵝Windows還是有放大模糊的問題\u0026hellip;\n20240510 訊號來啦，你各位民眾黨的支持者準備好5月19日，民進黨黨部前集合！！ 【直播】黨部記者會｜第三波民主改革 519草根行動啟動\n20240510 （用鬼王達在破壞之王的口氣）：你也看到了，難道我是紅老嗨也要跟你說嗎？有什麼了不起嘛！\n各種語境下的紅老嗨：\n神友：李老八紅牌樓時期刷過火箭的！\nLinux：RedHat在證交所上市的時候，我人就在現場！\nMinecraft：曾經Mojang的商標還是一顆紅蘋果就在玩這遊戲的！\n20240509 Hugo部落格與文件版面的兩難。有時候教學文章寫著寫著，發現一篇文章講不完的時候，就會串成一系列文章，想要幹大事，弄成文件。我知道工程師愛看的是那種一目了然的程式文件排序，最好所有主題文章都列在左邊，右邊的是本篇的目錄。最早的時候，我是使用Hugo的分類(categories)功能將文章分類。但是我的文章一多起來，就脫離了分類的本意。部落格這個詞的定義嘛，本身就是按照時間排序的類別，文章一多就算是分類也會顯得雜亂無章了。解法1：另立一個新網站。不行！韭菜怎麼割，怎麼引流，這種情況大概只有做公益的項目會考慮，畢竟還有Github Pages可以蹭。解法2：雙重主題。不行！維護難度大！。最後採取的是：不幹了睡大覺，只用Blowfish主題提供的series功能，還有在分類頁面上方放快速引導連結了事。\n20240508 若要在Reddit找最多台灣人的板，肯定不是塔綠班聚集地r/Taiwanese，也不是太監區r/China_irl，而是r/AsiaTripper！！！專門討論毒品（X）啟靈藥（O）的寶地。\n可能是最早台灣人創的板之一，在這裡沒有1450或五毛臭嘴，只有平安喜樂。可惜Reddit不太會向新用戶推送這個板，總是塔綠班的文章（基於地理位置）會出現在Reddit首頁。\n以前看到有人在關鍵評論網分享死藤水DMT的體驗就很心動了，這裡有更多類似討論，還有在地實務見解。啊，這種體驗我也想要，所以要全力支持大麻合法化。現在我在不違反法律的情況下只能透過音樂達到一點致幻效果（那也得感受力要強一點），比如聽Tame Impala的Elephant，有人說這首歌很像Pink Floyd ＋ Led Zeppelin ＋ John Lennon的合體（三廚狂喜）。再配上剪輯過的小飛象動畫有種讓人迷幻恍惚的感覺，邊看邊傻笑。\n此外，「吸綠菸、嚼檳榔柯、吃藍糞」也有不錯效果\u0026hellip; Re: [問卦] 相思湯到底是什麼東西 加入韓X瑜粉專、只看中X新聞、中X時報，追蹤韓總的各造勢大會\n20240506 世界未解之謎。Chromium系列瀏覽器在ARM平台比Firefox系列的都要順暢，尤其是低階開發板寸土寸金的資源，Chromium還能做到動畫流暢。怎麼回事勒，Google研發的ChromeOS常搭配電子垃圾等級硬體的先進經驗讓Chromium超前了？喔不，經查這不是個案。Why Chromium faster。其實啊Firefox在正常硬體的反應速度亦是讓人心寒了\u0026hellip;即使有漂亮的fork \u0026ldquo;Floorp\u0026quot;救援也沒用。\n20240506 Leo Rajas - El Condor Pasa\n【音樂欣賞】什麼叫做一片歌手，這就是一片歌手。Leo Rajas的專輯《Spirit of the Hawk》整張專輯十分動聽，除了有像是《In the Enchanted Garden》安定人心，適合睡覺聽的作用外，還帶來了許多自然氣氛。但是Leo Rajas在那之後出的專輯一言難盡。\n20240505 幹你娘之同人本推薦：新世紀福音戰士 (C85) [彩画堂] M-bationFD (新世紀エヴァンゲリオン) 彩畫堂的風格都是千篇一律瞇瞇眼，姿勢和臉部表情描繪死板，頗有浮世繪的春畫風格。不過，這本算是發揮的較好的一本，表現出幹你娘的力與美。傑作評級接近去你姊的(C80) [彩画堂] F-NERD COLOR (新世紀エヴァンゲリオン)。\n我才不講操你媽，那是支語。 問卦 操你媽是外省人在罵的吧\n20240505 抖友真的耍疯了，一口一个支那猪: r/langrenClub\n從以前的抗日神劇，到現在抖音流行的土嗨抗日小劇場\u0026hellip;我看劇中的人只是想罵支那豬的高級黑而已吧，唸起來的氣勢跟「原神，啟動」有過之而不及。如果Facebook Reels充斥這種片子我就會沉溺整天刷短影音了。\n20240505 應當在台灣多快好省的推廣支黑與諸夏理論，治一治滯台中國人與華腦9.2的味(跟住在對岸的支那豬一樣，他們總是對中華文化迷之自信，視外國為番邦，把反對者都打成日奴美狗)。從根本上否定大中華敘事，接受中國本就是窪地的觀點，就連殖人的指控都無效了。啊?我才不愛日本人殖民呢!更不要中國人繼續狂暴轟入台灣人思想!說什麼用中文字就不可以批判自身，忘記根在哪裡的說詞，哼!滯台難民有什麼臉說這種話。我接受中華文化作為台灣文化的一部分，不代表我就得認對岸那個國家為祖國好不。\n「逆統戰」遊戲一發售我就會去玩。\n20240504 宣稱跨平台的Minecraft基岩版，到現在都還沒有Linux和macOS版本。這就是號稱We Love Linux微軟的態度嗎！\n陰謀論一下，ㄟ，既然Canonical都跟Microsoft搞py交易（指Python（意味深）），用WSL換.Net上Linux，Mark你能不能再給Satya多哈幾口讓Minecraft基岩版上Ubuntu啊！\n20240503 四月是殘忍的月份\n雖然再次知道了現實\n但是我這不起眼的高文\n卻一直不敢找綠騎士砍頭\n而沉溺在世界女性的茵繚中\n20240503 三十歲前不是左逼沒良心，三十歲後不是右狗沒腦子。\n由此可證：耶穌當了30年才從左逼覺醒，剩下的3年就被地上的左逼處決了。（Implication: 你們繼續墮落吧，我潤回天國去了）\n自由！自由！多少罪惡以父之名實行！\n20240503 問：為什麼台灣主流媒體(mainstream media)報導都這麼不可信任？尤其對民眾黨的報導下？以致我們在新國會做了這麼多事情，卻還是被偏藍偏綠的一般民眾認為我們只會搗亂？\n答：沒事，台灣媒體是公認的爛\n【路透2020年數位新聞報告】 台灣新聞信任度在全球40國家排倒數第三\n牛津大學2024年調查台灣媒體信任度全球倒數，素質低落的媒體亂象有無解方？\n這不是說台灣沒有優質媒體，公視勉強還算到及格線，在那之上的獨立媒體也有。可是最多人訂閱的主流媒體，不分藍綠都是垃圾。\n美國民眾對主流媒體的信任度也在逐年下降，尤其以共和黨人最不信任。雖說如此，位處歐美地板的媒體放到台灣來看就是天花板了。\n資料來源：輪媒大紀元 民調：60%美國人不信任媒體 創歷史新高\nTruth Social在台灣應該沒有人會用吧？祖克伯沒有追殺異見人士，台灣還不需要有這種特殊平台的出現。\n20240502 竇唯 - 覺是\n【音樂欣賞】 竇唯真的是近代中國音樂史的奇幻角色，這種音樂從來沒有聽到過，自《黑夢》之後每張專輯主題都越發抽象，但是旋律依然悅耳。而且這張與譯樂隊合作的還與汪峰有點關係，鼓手曾經是鮑家街樂隊成員。\n20240501 在離開Minecraft基岩版滿二週年後，軍方正在考慮各種回歸的可能性。首先要解決的問題有二：1. 務求把過去玩到一半的生存世界轉換為伺服器模式以方便多平台存取。軍方表示贊同。2. 整理mcbedev net，過去累積的文章還是有一點人氣。可是，習慣了Markdown寫作模式的，覺得哪種部落格平台都難用。正如現在不喜歡在巴哈姆特小屋寫作一樣。如果維持現狀，不知道未來要從哪裡更新起文章。那麼，方向有二：1. 取消mcbedev的獨立狀態，併入主站的分類之下，這樣我一些有提到Minecraft，但偏技術性，跟Minecraft較相關的文章也比較容易給人找到。主上，萬萬不可，129篇文章的內容等同一個新網站了，請三思。2. 抽換mcbedev的網站結構，將其替換為Hugo框架，就可以自訂版面了。主上！但是，要花心思設計轉換器，還有主題。且最後，文章網址一定會變更。那麼在巴哈、YT等地灑出去的網就要重新編輯了。這是軍方比較支持的方案，為走入死穴的地區賦予新生。\n20240501 其實會出現王明仁這種地震預測專家不是台灣的特例，在中國、歐美也有。\n堅持一家之言、經不起同行審查的科學理論的，在中國叫做民科，乃民間科學家之意，他們可能會宣稱自己發明永動機之類的技術，並以此賺取利益。其實要判別理科領域的民科很簡單：丟幾題該領域的經典數學題目，看這些發明了高深技術的大師能不能回答。這就不是文科生用文字胡扯理論可以掩蓋過去的了。與之相應相稱的，研究文史哲並提出暴論的，叫做網哲。從歐美哲學家偷來的理論大鍋炒，發明一堆名詞，連常常發表古怪論文的文科教授都看不下去的那種。經典代表：獨人13。在歐美國家，常倡導不入流科學觀點的，我們就直接概括其為陰謀論者了。例如認為氣候變遷是左逼騙局的學者。這些科學家自稱自己是科學家，但是其實比較像是宗教師父。他們的理論不被廣大專業人士承認，甚至販售陰謀論，還會縫合宗教、神秘、算命元素讓他們的理論更加不可知論。症狀比較輕微的或許還會做點嚴謹學術研究，但很多時候，民科、網哲會故意把自己搞得高大上，塑造自己權威，宛如神的存在，不容質疑。如果運氣好他們可能還會獲得一些職位，比如野生國師張維為————當然了張維為不算網哲，他是真的壞。而有潛在民科素質又善於包裝的Youtuber，可能就會把這點暴露在他們製作的「解說影片」當中了。就拿權威性這點來說，這些科學家就不夠格稱之為科學家了。《Lain》動畫總結的很好：網路的興起讓白痴的小理念也能激起大漣漪。\n20240430 【中天朋友圈｜哏傳媒】侯漢廷 為中華民國哀悼 【侯漢廷｜有哏來爆】 20240415@CtiTv@funseeTW\n國民黨三番兩頭的到中國訪問，是在下跪還是再為兩岸博取善意？侯漢廷的觀點值得一看，現在不只共產黨看不起國民黨，統派也看不起國民黨了。（統派的言論笑笑就好，我不支持統一就是了）\n20240430 今天很開心，青年部與立法院黨團共同促成了這次會面\n黃國昌在忙國會改革，但必須承認民眾黨對iwin修法的態度真的很緩慢，如果來不及，再不濟也得支持民進黨提案的版本吧。不要真的讓保守派家長得逞。\n20240430 厭倦了，明天找個時間停用吧。再想想看要不要刪除。\n蕪菁雜誌要關閉FB粉專了。我只能說：快滾，台灣國（世界）沒你繼續轉。一點絕（蜘蛛切）動了，看看下面不約而同，宛如蟑螂一般前來，聚集加油打氣的側翼。要不然轉戰Twitter吧，這裡台派蟑螂一大堆，投其所好。\n20240430 藐視國會罪法案逐步完善的同時，卻有新聞說歐洲商會認為這個罪名很荒謬，真的是這樣嗎？\n歐洲商會批「藐視國會罪」荒謬？ 原作者澄清：不是歐洲商會的立場、也不是我的立場\n果然，把歐洲商會的說法跟社論混在一起的都是綠媒，這就是塔綠班，唉，你國真的越來越像中國了\u0026hellip;真的是欺負人看不懂英文？還一堆側翼跟著轉發。為防止刪文我先擷圖存證 沃草的報導用「歐洲商會也反彈」的誤導筆法讓人以為這真的是他們的說法，沒有廉恥的人經營什麼沃草烙哲學！以後民進黨就會把unacceptable翻成「可接受」的了吧。（典出自新華社對俄烏戰爭的迫真翻譯，盘点国内主流媒体的“特色翻译”和fake news - r/China_irl）\n20240428 很多次想過刪除所有社群媒體的帳號，因為大多數的社群媒體聯絡效率低下，不如email，並且看了總是讓人沮喪，作為吸收資訊的工具，總是看到許多無關的訊息轟炸\u0026hellip;英文稱之為overwhemling。從一個社群媒體跳到另一個社群媒體也不過是跳火坑而已，就像覺得Google很爛，跳到Bing又有什麼差別。那我還不如做一個RSS訂閱清單呢。現狀是，我不刪除社群媒體帳號，當作別人聯絡認識的管道而已。但是訊息之類的，我不想分神去留意，也不想參與社群媒體運作。\n20240428 CrossDrop is a partial implementation of Google\u0026rsquo;s Quick Share in Flutter for macOS, iOS and Linux.\n市面上的Android手機現已普遍搭載鄰近分享(Nearby Share)的功能，類似iOS的AirDrop，能透過Wifi或藍牙傳輸檔案。鄰近分享的好處是系統內建，比起其他協定的傳檔APP，鄰近分享與Android系統整合的更好。由於鄰近分享為開源傳輸協定，除了手機傳手機外，還可以支援電腦與手機傳輸的。Google本身有推出Windows和ChromeOS版的鄰近分享官方客戶端，macOS有開源實作的NearDrop。至於Linux版CrossDrop還在開發中。\n20240428 Using Waydroid inside a Distrobox 結合Distrobox多開Waydroid Android容器的方法。疑似只能在Vanilla OS或Debian成功的樣子？Waydorid雖然是LXC容器，但因為其需要透過指令稿控制的緣故，無法多開。這個時候，採取Distrobox就可以跑多重Waydroid容器了，達成類似ReDroid、Android-x86虛擬機的效果。簡言之，就是在Docker容器內跑LXC(Waydroid)。借助Vanilla OS（immutable版的Debian）開發者維護的Waydroid套件，我們可以輕鬆達到此目標。當然，還是不支援Nvidia顯示卡。此方法也可以用來測試新版Waydroid，例如現在是Android 11，但已經有Android 13的映像檔出現了。開發團隊會把測試版映像檔放在SourceForge給人下載來玩。\n20240428 Immutable distro御三家集結！藍之Fedora有Fedora SilverBlue，綠之openSUSE有openSUSE MicroOS，紅之Debian有Vanilla OS。一些關於Vanilla OS 2 Orchid的情報：Vanilla OS是沒有商業公司支援，純由網路社群維護的immutable Linux發行版。（蠻抖的老實說，非商業標準要如何讓你的「標準」推廣給其他人接受？）小八卦：以前他們是基於Ubuntu的，後來改成Debian。Canonical你看看你的Snap嚇跑了多少人。雖然Vanilla OS跟Debian的合作關係沒那麼密切就是了。Vanilla OS官網文件豐富，開發者們提出了許多獨特的見解：比方說ABRoot，模仿Android的A/B分區，方便未來回滾系統。開機有檢查系統完整性的FsGuard，用Polkit取代sudo。套件管理部分，軟體安裝，官方推薦AppImage、Flatapk、apx，這些是rootless的解決方案。內建的APX套件管理器，可說是Distrobox的升級版，支援同時操作apt dnf pacamn zypper等多個Linux套件管理器。另一款VSO，支援直接安裝deb套件與apk套件（Android 模擬器由Waydroid技術提供）。如果要裝KVM、Docker這類動到系統的東西就得使用Abroot指令，再使用正常apt指令安裝。Vanilla OS尚支援Nvidia閉源驅動和PRIME顯示卡切換技術。\n20240428 Pinetab 2的死忠用戶，系統為Arch Linux，桌面環境為GNOME和Phosh。在經歷不愉快的使用經驗後，我決定嘗試Ubuntu touch。結果發現體驗比想像中的好：動畫順暢，觸控很棒，內建注音輸入法。 不諱言的說，Ubuntu touch是行動版Linux當中介面做的最完善的，至少就觸控裝置來講啦，當桌面系統這方面的功能比較弱，畢竟當年Canonical有真的出Ubuntu手機的野心\u0026hellip;因此Ubuntu touch的完成度接近於Tizen、WebOS這類系統，而不是像現在的Phosh、Plamsa Mobile一樣碎片化。但也因此，Ubuntu touch膠合度很高。基本上這個叫做Lomori的介面就是跟Ubuntu touch系統綁在一起的，其他Linux發行版硬裝會很奇怪。Ubuntu touch可以算是最早的immutable distro之一，系統是不可變的，OTA更新後就覆寫，跟傳統Linux差距很大。很像Android又不是Android，保留了更多桌面版Linux的特性，比如執行chroot、Docker的能力。強調穩定度。如果要跑桌面程式，只能暫時解除唯讀模式，用容器方式執行，有點類似Steam Deck，可以自由在平板模式與電腦模式切換，不過視窗管理很笨就是了，而且反倒是Ubuntu touch唯讀的設計限制了APP的安裝管道。所以我覺得這個系統好像也不是那麼好用。\n20240427 Google搜尋在近兩年加入了重點摘要功能，可能為了回應Bing Copilot的攻勢，所以就會自動偵測使用者問題，讓AI將文章的總結放在搜尋結果最前面，還會畫藍色底線標示重點，以前的Wikipedia資訊卡都相形見絀。現在我反而是討厭這種模式了，我明白商業產品必須討好客戶才可以生存，確實把重要資訊放在前面也能夠讓人感到方便，就像搜尋地址就跳出Google地圖一樣，可是這種快速摘要的方式讓搜尋都不搜尋了。並且總讓人覺得，一切知識變成更加淺薄，因為你得到的是別人的懶人包再懶人包的東西。雖然AI工具總結不錯用，可是有些文章如果不自己讀實在沒意思。\n20240427\n活著的念頭沒有了，最後一哩路就是把自己的雞雞切掉，如此一來性慾這唯一的動力、快樂泉源也沒有了。生離滅苦。\n如果沒有人看著我的\n那會究竟該多快樂的\n這世界不該是我們的\n爸爸媽媽也不該有的\n20240427 論隨機推薦bullshit內容的功力其實Twitter跟Facebook是差不多的。他們就是設計演算法故意推播新奇內容，不管是正面還是負面的，吸引用戶留下。實在太噁心了，強迫戳破同溫層。\n為什麼Reddit在一眾歐美的社群媒體中是比較好的，不對，在它之上還有沒演算法的Hacker News，至於4chan在規格外難以討論。\nReddit是論壇式混合時間軸模式，保證匿名又不會互相搶鏡頭，並以posts方式促進長文討論。是的，Reddit雖然有追蹤功能，但是個人頁面在Reddit不是很重要的角色，你獲得再多karma也沒什麼屁用，除非你是AmA認證過的帳號才有宣傳價值。如此一來用戶就會注重在文字內容討論上，而非為了流量而製造誇張內容。（其實還是有刷karma的，尤以r/funny為重災區）\n雖然Reddit加了近年流行的智障短影音功能，這並不影響Reddit的nerd感。Reddit的演算法同樣會在首頁推薦一些隨機的bullshit，但在我看來演算法比較聽話，登入自己的帳號再按不想看到sub的內容，就真的不會再出現（例如塔綠班聚集地的r/Taiwanese，基於地理位置一定會被推薦到）。並且Reddit上面會寫推薦內容的原因：因為你之前造訪過類似社群\u0026hellip;此外，Reddit的廣告版面很克制，他們懂得用meme吸引人，知道客群為何，不會像其他廣告聯播網一樣胡亂刊登低品質廣告。\n最重要的一點是在這個AI生成內容、內容農場當道的當下，Reddit的用戶討論反而是最真實的見解了。很多人都說，他們會在Google搜尋資料的時候加上\u0026quot;Reddit\u0026quot;後綴，為的就是看到活人真誠的討論。\n除了Reddit站方禁止的反左逼內容外，Reddit幾乎什麼議題都能討論，包含退迪聲明、退網教學，所以同溫層問題沒那麼嚴重。反正不想看到就不要加入sub就好了。\n20240427 每次看到Twitter的台派，自稱愛台灣的反智繁體字言論，總感概「跟只相信民進黨媒體說法的人澄清，尤其以Twitter、Threads的繁中用戶，民眾黨不是賣台政黨，不反對年改，諸如此類的議題，是徒勞的。他們只相信自己想看到的，而且數量太多了。」真的，只能嘆氣而已，現在看到都懶得跟他們辯解了，前仆後繼的持續轉傳加工過的新聞，這怎麼解。但這不代表要放棄與論陣地，總有人會從認知作戰覺醒。\n20230426 【心得】建議小屋有「匯出」所有創作的備份功能\n不要為社群媒體與平台打工，你自己的重要創作內容應該要留一手找個地方備份。最好的方式就是架個人網站。Don\u0026rsquo;t be a peasant, get your own domain!!! 雖然我們常說祖克伯多麼邪惡、Google do the evil things，但是他們都提供資料匯出服務，能將社群媒體發文紀錄打包帶走。那麼巴哈姆特呢，尼怎麼回事，小屋這幾年大幅改版後還要繼續用不支援markdown的難用編輯器，也沒有批次匯出資料的功能。當你發現自己在巴哈小屋發的文除了聯絡感情之外沒有任何價值的時候，就會覺得自己挺憨的。就算不去競爭小屋達人認證，這種為免費平台打工的行為也是挺蠢的，寫文章沒辦法有固定收入，繪圖打賞還要跟平台拆帳，到頭來你就是在幫平台貢獻流量，讓他們賺廣告錢。不是發在哈啦區的文章為什麼不讓人打包帶走呢？\n20230426 「我有欠你喔」！？范雲不滿白營棄權讓綠提案遭封殺 黃國昌回嗆：停止「中二巨嬰行為」【CNEWS】 看到今天黃國昌終於忍不住對犯婦開譙，就是一個爽。塔綠班，塔綠班，綠畜生氣有夠讚。\n20230426 市面上缺一本「9-99歲電腦我也會的Linux使用手冊」。從一個問題開始：「為什麼Linux社群對新手那麼不友善」嗯，你到Reddit的r/linux4noobs和r/ubuntu板逛一圈，看看那些「問題」就知道了。我覺得那些願意詳實回答的人都太佛心了，沒收錢還願意慢慢指導。原本在stackoverflow的高讚回答在這裡奉獻出去了～ 換作在r/archlinux問太基本的問題就會遭到各路野爹毒打。RTFM。或者至少到Youtube看個基礎課程再來吧。\n至於說看「鳥哥的Linux私房菜」學Linux的，我認為是有點不妥，雖然架構完整，並且可以完善底層知識，但那是伺服器導向的書。市面上其他的Linux入門書常常講著講著就開始部署MySQL了。我覺得市面上還缺一本「9-99歲電腦我也會的Linux使用手冊」（有一本書真的就叫做「9－99 歲電腦我也會－ Windows 10 輕鬆上手」），除了Linux底層結構外，還應該注重介紹Linux於日常的用途，習於Windows操作的用戶需要被洗滌一次人心。\n哈？你說發行版那麼多要拿哪個當範本來教？喔，Linux Mint吧，但願讀者不要認為Linux Mint跟Ubuntu名字不一樣就以為他們是完全不同的系統！\n20240425 光是（讓行程）活著就已經拼盡全力了 —— 低階顯示卡同時跑X Server和CUDA計算的悲哀。CUDA out of memory不是常態嗎！\n20240424 英文很好，然後呢？──雙語教育的未來趨勢，前政大外語學院院長這樣看\n由此確認一個現實，英語好的實在不算什麼，因為如果你真的「只有」英語一項技能好，並以做題家自豪，看到別人有一技之長的專業又英語好，你會崩潰低。除非，是要以英語為研究標的，那麼英語才是一種優勢，而起得是學者等級的精通才行。否則，會英語本身不能產生價值，與其連結的職業技能才來帶來價值，也就是，讓摳摳進入你的口袋。如果把英語當成工具就不難理解，學習英語不是終點，是邁向成功的其中一步而已。對語言學系的學生而言，而如果只糾結在自身的丁點英語優勢上，很容易就會被時代潮流超越，到最後淪落為教書匠而已。\n20240424 天大的笑話，Mozilla到現在還沒打包aarch64架構的Flatpak版Firefox\u0026hellip;是要跟Google Chrome比耐力是嗎。在尋找Firefox fork的時候（共通優點：支援Firefox Sync，比Chromium開放多了），找到了日本製造的Floorp，加入Vivaldi瀏覽器的花俏界面，而非LibreWolf強調看不到的隱私保護。 Floorp Browser, the most Advanced and Fastest Firefox derivative 🦊\n20240423 圖片 這張諸夏地圖不錯，中國未來滅共之後，不論民主化還是怎樣，就是應該解體，分裂成多個小國家。不過有個美中不足之處：台灣國的國旗應該換一張，畢竟台灣不是閩主進步黨的天下。即使外型類似，卻截然不同，以後我國的小朋友牆上要掛的地圖雖是包含中國土地，但不再是屬於我國的秋海棠，而是整個大東亞諸國地圖。\n20240422 台派（民進黨光譜）和華腦（國民黨光譜）都欠屠，不是嗎？一個說台灣民族好棒棒，一個說中國人是最屌的。作為民眾黨支持者，便是落得常常被兩頭罵的下場，一邊說你不夠愛台灣，一邊說你不愛中國。不過，台派的台獨理念勉強跟諸夏沾上邊這我還能接受，研讀諸夏主義對破除大中華主義很有幫助！不過後者華腦的味就真的太大了，常常大到洗不掉，標準9.2華腦是無法溝通的，莫名仇日和強調中華民族情節，這些人到底是怎麼混入民眾黨的\u0026hellip;。更讓人不能忍受的是讚揚共產黨和中國好棒棒的（簡稱：小粉紅，或者統派，兩者常常合流），基於都是中國人的想法所以共匪怎樣胡搞瞎搞都沒關係！這真的想讓人走向屠支派。呼，避免如此的方法是多吸收一些反共民小的材料，知道如何理性與其辯駁。還有把整天強調中國崛起的當成獄友（畢竟你不知道匿名網友是不是翻牆的，還是真的住在台灣），可憐他們，搞不好是發帖減刑的。最後，還有一種知乎上中國自由派教的辦法：放下助人情節，尊重他人命運。那麼愛給共產黨統治就去，被鐵拳了不要哭著回來。\n所以我覺得柯文哲主張台灣優先才是兩岸和平，且很多民眾黨支持者既然是前817成員，其實反而是我們要跟民進黨合作，對抗真正的親共政黨才對。小草和塔綠班本來就是綠的，起碼不是藍的，也不是紅的。但是，現在暫時沒有合作的跡象，雙方都拉不下臉來，我們得要先向塔綠班算八年來跳票的總帳。\n20240421 Arch Linux跑CUDA的苦逼。我知道沒有人會用滾動發行版跑Nvidia家的鬼東西的，因為PyTorch嚴格規定CUDA版本，滾動發行版一個更新依賴就炸了該如何是好\u0026hellip;AUR降版本又好麻煩。所幸Nvidia有放一個NVIDIA Container Toolkit的工具出來，讓我們可以無視宿主機有無CUDA，只需要裝Nvidia驅動，就可以用多重Docker容器跑各種版本的CUDA。這個工具也能造福immutable distro的使用者。\n20240421 看過一篇品蔥的帖子，文中的女孩好像這樣說「中文是虛偽的語言，無法精準表達想法，中文多的是欺騙和妥協」，所以拋棄了中文，花了幾年的時間拼命融入歐美社群學習英文，到最後中文都不會講了。看哪，真正的脫支，便是將中文圈的一切脫離，不只是小粉紅的言論，連反賊關心的民主化問題也不聞問了。中文，不，華人的世界彷若跟我無關的一個文化圈。\n不過能做到這樣的又有多少人，多大的決心才可以拋棄一切而不回頭，特別對於run不出去的費拉來說，成天想著脫支只不過是一種妄想。而這讓我感到絕望，董小姐。\n20240421 叮咚鸡重金属: r/NEWTo_Cave\n最近聽到最棒的一首SUNO AI創作歌曲，笑死，原始Bilibili影片看似乳華被刪了。聽來太哈人了，「已經有一大群大白拿著棉簽朝我衝過來的恐怖畫面了」。原來SUNO AI一年以前釋出Bark模型就是在給歌曲生成服務布局。\n20240420 不惜任何犧牲，還有什麼好犧牲的？不就是我們這幾條命嗎？你們大方，反正不是你們的命。 ——— 異域。愛台獨打仗的就自己去打。啊，我忘記了，現在台上的是台獨龜孫，被騙了二十年還有人覺得真能獨立，就跟中共喊了那麼久武統又不敢一樣，於是寧願繼續被騙下去。\n現在我的立場相較於過去有了一點變化：不只不當支那豬，也不要當美國狗。\n20240420 Kurzgesagt - The Internet is Worse Than Ever – Now What? 最近我一直在克制mindless scrolling的衝動。動不動就拿起手機一直滑社群媒體 ———— 到最後會發現其實是為滑而滑。似乎有種慣性？有種焦慮？在驅使著你，看能不能在乏味的生活中取得一點多巴胺。這樣比喻吧，滑到一則心動的動態宛如餟一口巧克力，或者哈一口煙一樣的讓人放鬆。然後，你就會情不自禁的一直滑動，想在短時間內不斷獲得快樂。這裡社群媒體沒有高下之分，不論是Facebook還是Mastodon，所有有動態時間軸的社群媒體都同樣會讓人陷入泥沼之中無法自拔。是時候停止這種行為了。\nKurzgesagt這一期的影片封面很鬧，可確實反映了愛玩社群媒體人們的蠢蛋面相。承認吧，你的大腦很笨，在社群媒體多重刺激衝擊下，你會接收到數不完的資訊，正面負面都有，超越你自己價值觀的範疇。如果你不是那種躺平的人，自然就會開始站隊，所以有了出征和同溫層的現象，並導致思維開始變的極端。社群媒體用久了總是讓人感到憤怒與焦慮，並且他們為了讓人沈迷其中，可不能讓你待在同溫層太久，總要推送一些新玩意促進互動 ———— 可能讓人好奇，或者促進吵架，就研究結果來看，憤怒的話題更容易獲得互動對吧。你總是認為自己是正確的一方，開始互相攻擊並仇恨素昧平生的人（排除樂子人的可能性），做無意義的吵架，就為了爭那一口氣（網友的記憶很短暫，此時吵贏了彼時輸贏可不一定）。到最後互相封鎖，不相往來。影片最後Kurzgesagt建議，讓我們回歸部落格、論壇的網路交流方式吧！ㄟ，可是這樣同溫層效應不是會更嚴重嗎\u0026hellip;好吧，至少跟同一卦的人在一起比較快活，且論壇的節奏比較慢，比起無限往下滑的社群媒體要來的可以讓人放鬆吧。\n社群媒體是個錯誤，我們應該認知到自己需要的時候才去用它，尋找必要的資訊後就退出，不要整天滑滑滑。如果真要滑，不如看純文字版的Hacker News，或自己搞一個RSS訂閱時間軸吧！我的手機裡面已經沒有任何社群媒體APP了，只有必要時再開難以使用的網頁版。\n20240420 台灣話說，驚某豬狗牛，打某大丈夫（大丈夫要用日語唸才是好皇民）這即是說，要用戰無不勝的董志民思想開拴！！\n20240420 不像國民黨立委可隔海投票，也不像民進黨立委吳秉叡宣稱自己投錯票，台灣民眾黨針對年改的立場，清清楚楚、一次說明白。\n就是要有這種氣魄，民眾黨支持年改，但兩邊的提案都不支持，就笑看邏輯死亡，非藍即綠的40%和華腦氣個半死～ 從這件事來看，再再可以證明民眾黨不當小藍小綠的氣魄。\n20240419 WSL2是可以用WSLg玩遊戲的，但是，意義在哪？不用Windows Host玩，偏要在虛擬機裡面玩。Linux-only的遊戲少之又少，除了Minecraft Pi Reborn想不到其他遊戲了！但若是用WSL2玩老遊戲呢。這裡有個假設：Wine對古老Win32 API的支援度比Windows 11相容性模式要好。若此假設為真，那麼WSL2確實可以用來跑一些上古遊戲，再用DXVK提升效能，就不用用到虛擬機了。 可這又有個問題，老的不行的遊戲其實也沒多吃效能，Virtulabox的虛擬顯示卡就夠應付了不是？\n20240419 「提倡大麻合法化」遊行周六登場！立院旁交通管制　警公布路線\n這傢伙怎麼回事，有夠綠的.jpg\n支持，蠻想去大麻合法化遊行的，這個重要性可能不亞於716。\n20240419 統神確定被處分！Google回應：違反兒童安全，終止統晨大戲院頻道\n統神的Youtube頻道以違反兒童安全的理由被刪除了。啊這\u0026hellip;以後千萬不要反串的太厲害，除非你講的議題有歐美左逼罩，例如哈草吃蟲子玩屁眼之類，那種口嗨不只不會有懲罰，還會成為驕傲。\n20240419 20240419 Thomas Had Never Seen Such Bullshit Before - Know Your Meme\n在讀openSUSE Tumbleweed的操作手冊的時候，作者建議進入tty純文字模式再進行系統升級，免得升級到一半桌面環境崩潰，一切化作虛無。我想說怎麼可能嘛 ~ 結果我在升級Ubuntu 22.04到24.04的時候，無視升級程式自動重啟服務的警告，還沒升級完KDE就重啟，接著就黑螢幕了，連帶的跑在Konsole的升級程式跟著崩潰。於是重開機後GRUB和核心都炸掉了。由於APT複雜的依賴關係，用chroot也難以修復，所以放棄據點，重新安裝系統，回到了Arch Linux的懷抱。嗯，我一直覺得APT安裝套件執行的指令稿，這類條條框框的限制跟pacman什麼都不做只安裝的哲學差很多呀，我竟然習慣了後 者。\n20240419 一個不起眼又實用的更新：KDE Plasma 6加入了DDC亮度支援，這樣你就可以用軟體控制桌上型電腦的螢幕亮度了（過去是筆電螢幕才能控制，單獨的螢幕得使用自身的硬體按鈕來調，或者使用ddccontrol指令），就像Windows的ClickMonitorDDC軟體那樣。\n20240419 好事都台派，壞事都華國。台灣的建築風格變成今天這樣，不只是民國美學的錯，閩國美學也有責任。閩南沙文主義，沒有一個無辜的。現在仍有人留戀過去殖民日治時代！那若他們認為現在台灣是被中華民國殖民，這就沒跳脫殖人思維嘛。還有吃中華民國豆腐，宣稱台灣已經獨立的！再用正名制憲當蘿蔔的，純純騙選票而已。\n20240419 艾樂漫畫 - 如何轉移與論風向\n中國官媒喜歡動不動就抓幾個明星犯罪，讓它佔據微博熱搜，來轉移經濟民生的與論焦點。我以為不會在台灣發生。結果，從黃子佼事件的發展來看，確實變成了這種樣子。現在最新發展是攻擊徐巧芯穿的名牌衣服，這有什麼好吵的啦？連公視都不好意思報導的東西就不用看了。\n20240418 我現在才發現immutable distro算是滾動發行版。至少Fedora Silverblue、openSUSE MicroOS、Vanilla OS官網都是這樣宣稱的，那這不就符合想要Debian的穩定度又收到Arch最新套件的更新模式了嗎，炸了就回滾。但是用immutable distro之前，使用者必須很熟悉容器化的操作。\n20240417 Area 88 - [OVA2] - ravine raid - English\nTop Gun Maverick的劇情，Area 88早在30年前就演過了 ～ 走鋼索作戰，戰機低飛峽谷躲避雷達偵測。OVA版畫的比較刺激，TV版很無聊。\n20240416 圖片 檢驗TAIDE-LX-7B-Chat繁體中文大型語言模型的黨性時候到了。很好，中華民國台灣確實是一個國家，這個新AI模型回答再也不會像CKIP-LlaMa-2-7B一樣翻車了。\n20240416 當塔綠班指責你是中共同路人的時候，你最好真的是。\nNeta：當支那豬指責你支黑是漢奸的時候，你最好真的做過那些事。\n我說，如果不認同自己是中國人，那漢奸這帽子就扣不到我頭上了吧？法律早就廢止的東西（參見《懲治漢奸條例》）隨便你喊～ 正如王志安不信法輪功，你李大師再怎麼發功也無用。（釣魚影片連結：王局被李大师发功，中共特務身分曝光。）\n20240416 尋找同溫層夥伴的注意事項。在Facebook看到的有趣反民進黨粉絲專頁名稱：反吱者聯盟2：暗綠紀元、反吱者情報局主任、政客爽、鎖綠鴉\u0026hellip;等等。看到偽基百科有完整塔綠班宇宙的頁面就知道這些人多恨民進黨XD\n但是會取這種名字的高機率是國民黨，也就是說反民進黨的同時，他們會自視甚高的瞧不起民眾黨（如同趙少康的態度一般，參見民眾黨成麻煩製造者？），所以我只能笑笑但不追蹤。還有些疑似挺藍的專頁但甚少嘴民眾黨，還在觀察中。所以，不要太相信國民黨。\n20240416 歷史課｜回顧過去 和解台灣\n柯主席演講反思：每次台灣政權更替，都要消滅上一代人\u0026hellip;從以前的華腦反日，到現在的綠共反中\u0026hellip;台灣的流行歌曲如此悲傷，他少講了亞細亞孤兒，未來又該怎麼做。我們可以試著理解各方想法，不論是台獨派還是民國派。接著是台灣自主，才能兩岸和平。\n20240416 每次有負面想法的的心境轉變，總是\n從\n他說這世界是不是我們的 / 我應該穿什麼吃什麼 / 如果沒有人看著我 那該多快樂 / 他說這世界不該是我們的 / 爸爸媽媽也不該有的 / 我可是個男人 為什麼打不起精神\n到\n我閉上眼没有過去 / 我睜開眼只有我自己 / 咿呀！ / 多少次太陽一日當頭 / 可多少次心中一樣憂愁 / 咿呀！ / 我攥着手只管向前走 / 我張著口只管大聲吼 / 咿呀！\n順便說汪峰翻唱的崔健的出走也不錯聽。\n20240416 摧毀網際網路部落格的元兇，就是你了吧，Medium。paywall，你把多少人的閱讀體驗都毀了。\n20240415 民進黨提40次散會動議無力回天　國會改革法案最快賴清德就職前一周院會表決\n毀憲亂政的民進黨，今天只能一直噗噗跳，反遭黃國昌嘲諷~ 等國會改革法案正式通過，呵呵帳慢慢算。標題「無力回天」什麼意思啊？國會改革法案是像以前剝削人民的勞基法修惡嗎，不是吧，是無能貪官要害怕吧。有看今天立法院直播的就知道，民進黨很故意要挑釁，想逼國民黨起來打架促成散會，如果以前的黃國昌大概就會真的衝出去。但是沒有，招數被看破，大夥沈住氣，不為所動，民進黨又不敢真的先動手，所以這個法案就順利送出委員會了。\n20240415 跨瀏覽器同步書籤與密碼的擴充功能。我一直想在多個瀏覽器（Firefox、Chrome、Midori）之間，無縫同步書籤以及密碼資訊。不會因為「同步」功能而被單一瀏覽器綁住。個人的使用理由：在Linux上使用Firefox，工作時才開Chrome。在Android手機使用Cromite（主因是擋廣告，Firefox Android版太卡不想用）如此混亂的情況下，我需要軟體達成跨瀏覽器同步，構想是不採用筆記類的軟體來同步，那太累了。所以使用xBrowserSync負責書籤同步，BitWarden負責密碼同步。不過，這其實把瀏覽器功能給外包了出去。因為在電腦瀏覽器，xBrowserSync和BitWarden都是以瀏覽器擴充功能的形式提供，但是在手機上他們沒辦法整合到瀏覽器裡面，都是以獨立APP形式提供。BitWarden還好點，它會整合到Android/iOS的密碼自動填入機制而xBrowserSync就像是在翻密碼本了。以上雖然看似美好，但我其實不想這麼搞剛，BitWarden的資料格式有意無意的在阻撓使用者換回瀏覽器密碼本，xBrowserSync介面醜的要命。唉，最後還是忍痛用Firefox for Android。\n20240413 這擺地動造成台灣徙離開中國8.6公分、徒較倚美國8.6公分.🥳\n地震讓台灣離開中國8.6cm，更靠近美國是好消息，但是花蓮死了那麼多人？這是否有點。台羅仔不見得全都是怪人，但肯定有很大比例是。我認為應該多推廣中華民國台灣的台語講法，好讓講蕃薯方言的土人也讀得懂聖經真理（效仿馬丁路德！），知道什麼是正確的現實。\n求求中國快如民進黨所願侵略台灣吧，你匪再搞這種要統不統的壓力鍋、寸止挑戰，都把台巴子逼魔怔了。\n20240413 圖片\n做網頁程式不考慮Firefox用戶的司馬廢物網站是這樣的，Dcard這已經不是第一次了。網頁程式沒有針對Gecko優化就算了，有的還直接擋。對部份網站來說，使用Firefox＋Linux系統存取，你就是bot同路人！你是來爬蟲偷咱資料的對吧！吃我Cloudflare驗證地獄。嘖嘖嘖（閉眼並擺動手指），為什麼我用User Agent Switcher偽裝一下之後馬上就通過了Cloudflare驗證了呢。要用Windows＋沒有裝任何擋廣告擴充的Chromium系瀏覽器才是乖寶寶啦！\n不過，會出現這種情況，也可能只是光纖網路的IP網段被鎖而已，到底多少人有人在濫用正常網路進行DDoS攻擊，反倒是我們這些正常人得用VPN了？\n20240413 Debian Backports\nDebian和Ubuntu有一套名為Backports的機制，能在舊系統裝新版套件。如果不想用Flatpak、AppImage、Snap，那Backports就適合你。Backports設計上跟PPA很類似，但是主要目的為「給穩定版系統提供新軟體」，而非「特定開發者維護的套件庫，一對多個版本」以Debian的情況來說，Debian Stable分支的套件老的要命，如果需要新版軟體，除了用PPA以外還有官方維護的Backports可以用。這套件庫可以讓你裝一些Testing branch的軟體，修正Stable軟體太舊的問題。像是目前Debian 12 Bookworm是為Stable分支，Debian 13 Trixie是為Testing分支，那麼Backports就會將Debian 13的套件重新編譯，使其能夠在Debian 12跑。\n根據Debian官方說明，Backports的套件沒有充分測試，可能會破壞Stable分支系統的相依性。而且不是所有套件都有提供Backports，像KDE就幾乎沒有半個。如果你想裝的軟體，開發者建議你用PPA，那還是用PPA吧。所以，不要全部完全依賴Backports，只需要挑你要用的好。另外，Backports的優先級低於系統的套件，因此當安裝同名套件的時候，系統仍然會使用Stable的套件。必須明確在APT指定裝Backports的套件：apt install -t bookworm-backports \u0026lt;套件名稱\u0026gt;\n20240413 MLC LLM是2023年卡內基梅隆大學提出的開源框架，讓開發者可以方便將同一種大型語言模型weights部署到多個平台，並使用該平台的GPU加速技術。以Android來說，MLC LLM能有效利用Vulkan進行GPU加速，不會像Termux跑llama.cpp那樣用CPU硬算，慢的要命。順帶一提，今年2月llama.cpp也支援Vulkan加速了。\nMLC LLM官方儲存庫有提供完整程式碼演示。也有釋出演示APP「MLC Chat」，demo app裡面有一些演示模型，雖然APP設計很陽春，但是模型列表有在更新。下載後即可對話MLC LLM似乎要很旗艦的手機才跑得動 ; ; 這裡我用Sony Xperia 5 II做實驗。8GB RAM的手機跑Mistral-7B會出現錯誤CL_OUT_OF_RESOURCES？？只能跑相對較小的gemini-2B。圖片 生成時速度有7 token/s，真的有讓GPU跑起來！如果你要加自訂模型就得自行編譯APP了。gguf模型必須使用MLC LLM提供的程式重新量化才可以整合到APP內。\n另請參考MLC-LLM 的介紹和執行於 Android/iOS/MacOS和MLC Android 中文文档\n20240412 訓練不被AI取代的方法是善用工具～並不被單一平台綁架。長期目標來說，我希望往Local LLM的方向來將AI融入我的日常。\n如何訓練自己不被 AI 取代？分享用 LLM 一年以來寫程式的經驗\n20240411 【統神】我對不起大家，我的錯\n慫了但好像又沒慫。好啦統神能聽進去苗博雅建議是很不錯的。\n20240411 如果想看時事，了解政治問題的，看黃國昌直播，適合頭腦冷靜的時候看。起碼現任立法委員講的東西可信度，會比勾惡真實的多。每週一次的直播報告剛剛好，確實讓人感覺到選前承諾的法案都有在一一兌現，平時還有質詢可以看。黃國昌說法案提的差不多了，就等排審。民進黨沒過半，就只能用低劣手段不斷拖延。\n若單純想聽情緒發洩幹話的，就看館長直播，不太需要帶腦看，而且每天都有得看呦。黃國昌很可能受到了館長影響，才學到了他的一點誇張演戲風格。但至少黃國昌堅持不飆髒話，罵政客已經很克制了。\n柯文哲的主持功力真的要跟以上兩位學習一下，才能讓復活的KPTV 【柯P揪時在 ep.01】 館長直播心法無私放送 更有看頭。不過維持憨厚的阿伯形象也不錯啦。\n20240411 本來以為朱學恆親藍被塔綠班攻擊，揚言燒書很可憐，但真的去看他直播卻在那噴垃圾話，這人好像也沒好到哪裡去\u0026hellip;唯一可以肯定的是覺青亂燒書結果翻車了，新版魔戒反而翻譯的不夠台wwww。\n《魔戒》將出新譯版！書迷仍推「朱學恒版本」：讀起來最順\n20240411 馬習二會睽違9年 馬英九在習近平面前說出「中華民國」後又改口\n馬英九他真的我哭死，台獨教父在習近平面前講中華民國，又使出死亡之握繼續加速。反觀躲在賴皮寮的狗男狗女（這裡借用李敖以前的比喻），躲在台獨吉娃娃的卵翼下的統一教母。\n抗中保台隨便騙，不輸閃電五連鞭。\n技術上我還是支持台獨，但不支持台獨龜孫ㄛ。\n20240410 Facebook的演算法機制不斷在首頁推送無關內容實在蠻噁心的，我不想看現今的智障Z世代在瘋什麼糞game，或是有什麼搞笑社團在追的東西，更別說愚蠢的Reels短片（現在直接塞在限動區塊？？）。動態牆只要給我真的有追蹤的人士的動態就行了。喔，我找到了，這裡有專門的時間軸，可憐哪還要手動開。 Facebook Feed\n20240410 七點開轟 04/09/2024 asiagodtone\n驚！統神暴幹成年高中生，叭叭～快鍘他。4/9他跟吳崢的吵架看起來還是狗咬狗哪\u0026hellip;想幹未成年的話語被曲解，也讓人毛骨悚然。只能看神罰的固有技能會不會降臨到塔綠班身上。看起來統神也很不爽國民黨牽扯進來的態度。\n話說今天在PTT八卦板看到最好笑的：統神說，幫立委排排站吹喇叭，硬了就是人渣XDDD\n20240409 黃子佼開輝事件，一堆妖魔鬼怪現形，將性平問題上升到政治問題上，搞出演藝圈黨國體制、外省人的對立。我就問那些跟風喊燒的人，尤其是塔綠班，是關你屌事，人家錯了就錯了，不爽叫立委修法啊。國家有比更重要的議題需要關注好嗎。\n同時，還有iwin管太寬的問題，為什麼輝真人沒關係，輝假人就有問題。難得民進黨立委會說人話，這給讚。衛福部擬修法保護兒少 蔡易餘要求排除「虛擬人物」\n這倒是提醒一件我們事，黃付錢買幼幼片，又保全證據，實在是太笨啦。\n20240409 找到了改善臨場反應的方法了，只要有人trigger我政治問題，腦袋就會幡然清醒，開啟嘴砲模式。不過前提是討論的主題有事先準備功課，可以立論。我還是不知道如何基於一點薄弱證據就能像那些名嘴在電視上胡扯又詭辯。不是有人說過嘛，有些人扯東扯西純粹要吵架的你是辯不贏的。\n20240408 花錢看盜版是最白癡的行為，但我認為有一點經濟能力的人不能什麼都白嫖，有些基礎設施值得投資，比如，方便取得盜版資源的路徑，硬體方面、網路方面的投資是必要的，不能什麼都依賴線上服務，自己保存一份副本仍然很重要。且最好使用硬體及軟體手段方式加密保護，密碼自己都解不開的那種。除此之外，購買盜版網站的會員是值得考慮的一點，但也要看該網站是否夠大尾，不要當那種沒幾年就倒掉的付費免空的冤大頭。盜亦有道，不要被人從中間再賺一手。說穿了，It\u0026rsquo;s a skill issue.\n20240408 Surfshark Blocked My Account For Illegally Downloading Movie \u0026amp; TV Torrents 一堆著名YouTuber幫打廣告的什麼S_ _fshark VPN、N _ _d VPN，狗都不用的原因，就在這裡。既然都要花錢買VPN服務了，請選擇真正保護隱私的ProtonVPN和Mullvad。\n20240408 目前罪不可遏的行為：下載盜版遊戲和遊戲開掛，雖然二者都不好，但是通常是後者會受到更多譴責。因為下載盜版傷害的是開發者的經濟利益，而開外掛卻是傷害所有人的權益。所以我挺反對在多人遊戲開外掛的，或是賣外掛的人士。\n20240408 很久以前，自從學會BT下載，並購置動物機，我覺得人生突然一片光明了（誤）想要資源，再也不用到處找奇怪的免空，奇怪的下載網站，找到被壓制到爛的資源，有些十年前的熱門遊戲、電影到現在都還有人在做種。透過BT網路參與P2P分享，讓我有貢獻盜版資源網路一份心力的榮景（？\n這種感覺就像是《歡迎來到NHK》裡面Positive Thinking歌曲響起的感覺吧！雖然這首正向音樂響起的時機是佐藤被朋友拐去逛動漫展的場合，讓人印象破滅。\n20240406 Where Banana - Orangutan interview meme\n模仿人類是犯法的，你知道嗎？You will be arrested if you try to imitate human. 焦慮的體現又來了，成為懂哥是好事嗎？似的對科技領域侃侃而談，賣弄專業術語，就可以變成理組圈內人了？實際上只是個廢物文組而已！更糟糕的是即使在自己專精的領域地位也是極其低下的，試圖模仿業界的專業人物儀態卻一直覺得自己是模仿人類的猩猩，不是來自星星的神喔，因為是低等動物向上模仿，不是高等生物以天使的方式下降人間。寧願當雞首，不當牛後，在時間與空間的夾縫求生存\u0026hellip;圈內的人覺得不屑一顧，圈外的人又覺得高冷難以氣及投以崇拜眼神。在這個矛盾螺旋，痛覺殘留的侵蝕下，令人窒息。還是來逮捕我吧。\n可是我只能躺在床上打手槍。 濁水溪公社 - 卡通手槍\n20240405 Uncensored Shinovi Versus!\n雖然閃亂神樂遊戲本身有很多乳搖和爆衣要素，但是只有擦邊球。去聖光的patch不是官方發表的，是玩家魔改的。\n20240405 討論到編譯器的時候，我們知道Clang比GCC好，除了BSD授權能夠迴避GPL病毒外，因為LLVM的logo是一隻青眼白龍，毀滅的噴射白光可以秒殺蛋殼小蠻牛。如果開三個執行緒它就會變成青眼究極龍。\n20240404 雖然Valve為Linux玩遊戲貢獻良多，但也不能過於依賴Steam玩遊戲。Here is the deal：很多遊戲明明有零售版，但在Steam上架後會變成依賴Steam啟動，這就導致遊戲本身被Steam客戶端綁住了，這是一種DRM，跟那些要依賴自家啟動器才能開啟遊戲的一樣糟糕。更別說宛如病毒程式的反作弊系統了。當什麼遊戲都要連上網路才可以玩（甚至單機亦是如此），那就是落入DRM的陷阱了。或許我們早就離不開這種宿命了，結果只剩那些破解盜版遊戲的駭客才能給我們創造DRM-free的環境。(◞‸◟)\n20240403 viogpu3d Virtio GPU 3D acceleration for windows #943\n有趣的pull request，這麼多年來終於有人要做Windows虛擬機用的Virtio驅動了。Virtio可以利用virglrenderer，讓跑在Linux的KVM虛擬機免直通GPU達成3D硬體加速，但是virtio只有Linux系統支援，故過去只能Linux給Linux VM加速（包含Android-x86），Windows還是得GPU Passthrough。這個驅動有望改善QXL慘淡的性能。\n20240403 一抓一個準的欠屠對象：做網頁不考慮Firefox相容性的，使用蘋果Memoji當頭像的、明明在用Twiiter仍把時間軸叫做河道的，原來是Plurk小圈圈出來的死媽廢物、標榜努力就會成功的、認為台灣是國家的、認為這個世界還有救的。帶我走，到遙遠的以後，求求小灰人降臨地球吧。\n\u0026hellip;對不起我們這個三不五時就會跑出來，拍謝啦。\n20240402 每當聽到〈加藤隼戦闘隊〉、〈歩兵の本領〉、〈月月火水木金金〉等歌曲，就會想起那段在大日本帝國軍服役的時光\u0026hellip;\u0026hellip;啊啊時間過得真快。\n\u0026hellip;對不起我們這個三不五時就會跑出來，拍謝啦。\n20240402 票投民進黨，兩岸上戰場。到時即使是我川上來，就算不背叛仍然可能會把台灣搞成下一個烏克蘭\u0026hellip;嗯啊，就是這樣。我不相信民進黨有辦法對抗中國，莫把台灣人的民主自由跟一個貪污爛黨劃上等號，40%想送死我可不奉陪。烏克蘭在開戰前貪污醜聞一堆，現在澤子快被京子耗下台了，畢竟是最了解我川的男人。但是法律上的當兵義務呢？我只能像馬英九胡扯「只能相信習近平」一樣，保持最低限度的信心「相信民進黨可以守護台灣」而已。\n20240402 經典懷舊卡通動畫《洨魔女政客咪》第一季主題曲完整版：政客嘉年華 - 老闕の世界\n找到了一個模仿亞克畫動畫風格的頻道\u0026hellip;不過沒什麼人看QQ\n20240402 影／400名黑衣人集結焚化爐說明會與抗議人士爆發推擠\n還好這是台灣，不會發生中國河南老翔錢在銀行拿不出來，又被黑衣人暴打的場面，對吧？\n唉，資本。\n彰化企業家挺廢轉能先進技術支持晶鼎焚化爐\n20240401 Backdoor in upstream xz/liblzma leading to SSH server compromise\n這不是愚人節玩笑！xz程式碼被叫做JiaT75的開發者投毒，連帶導致SSH可以被繞過去。許多滾動更新的Linux發行版受到影響。而且JiaT75「疑似」是潛伏多年的中國開發者。這下支國駭客壞了中國開源貢獻者的名聲了。\n20240331 儘管在這個人心不古的當下，個人網站正在衰退，文字內容很容易被人偷走，短影音才是王道，不然起碼也得做點串流內容，但我實在沒什麼精力寫劇本、做精緻的影片剪輯了。要每一部影片都高品質，像正規Youtuber一樣規劃有開頭結尾的節目，難啊。連做字幕解說不配音的都懶惰了。\n根據中國人寫的地攤史學指出，蘇聯空軍在二次大戰的用兵思想比較特別，戰鬥機只注重5000公尺以下的低空性能，類似於陸軍的附庸部隊。我想現在我的Youtube頻道就是這個樣子，戰術空軍（選舉術語，雙關），很多影片就是demo而已，用來呈現部落格文章教學的內容，用於給網站引流，果然寫文字打嘴砲還是比較簡單。但是我還有可以辯駁的地方啊，這裡很多分享的東西都有時效性，甚至是beta版內容。我不想寫那種寫過了就忘了的新聞報導式內容，那些東西我會放在Github gist和動態牆。舊的部落格文章我可以隨時改和diff（← 把部落格當程式在寫的），也會看心情把二年前寫的文章與新文章做統合整理，互相連結，為未來卡片盒筆記法做準備。但是影片過了就是過了，精心準備的內容還得重拍好麻煩呀。\n20240331 圖片：因為Facebook不能看色圖，所以我追蹤政治粉專，用政治當春藥 ———— 支離滅裂的言論\n大guy是這樣，每次看到民進黨的塔綠班在無腦黑我黃國昌和柯主席就會精神抖擻，提神效果比咖啡好。宛如看色圖一樣血壓上升，不過是往氣憤的方向就是了，誰說加速度一定是正的？那為什麼在Reddit和Twitter充滿色圖的情況下，仍追蹤政治廚的帳號呢\u0026hellip;因為我有腦袋了，不是小鬼了，不會像小粉紅一樣翻牆只看黃，認為談論、批評政治就壞了他們的美好幻想。關心政治雖然殘酷，但是是作為民主公民的必經之路。不是常常有人放這種大絕嗎：你不關心政治，就會被糟糕的人統治。而現在就是這種情況，貪污無能的政府需要強力監督，不是阿諛奉承的太監。\n20240330 【鬼畜】館長與黃國昌基唱的千本櫻\n很敬佩黃國昌的精神：我反紅媒，也反綠媒啦！不會因為是民進黨打著自由民主的旗號就放過他們干涉媒體的行為。\n在今年1月NCC前抗議的時候，黃國昌除了罵三立以外，也指出藍色媒體本性不改，雖然沒有中夭那麼誇張，東森侯侯台也夠扯了。\n20240330 本質上我還是肯定太陽花運動的效果，證明台灣年輕人出來反對政府黑箱的努力。所以我不會像國民黨支持者一樣徹底的否定這個運動，比方說反反服貿的侯漢廷的男盜女娼評論我就很不能認同，他是在學李敖拷打228事件嗎？。但我恨的是當年的訴求到現在都沒有達成，甚至貿易額依存度也沒下降，變成太陽花學運只剩下民進黨政治利用的價值（它本來就是政治活動），當成雞血來用，說沒有民進黨就沒有新台灣，變成純粹反中活動，這就不對了，讓人厭惡。公民運動應該促使一代人的政治意識覺醒，不是集體成為一個黨的附庸。\n20240330 有時候看虐待動物的影片會笑出來，比方說螃蟹大戰蠍子，看囂張一時的蠍子被肢解的情況。不過奇怪的是，有些新奇虐貓方式的影片看了也會笑。道德上、法律上我不能虐貓，現實中也沒有誘因去虐貓，貓貓那麼可愛的說，路上看到貓咪我都會給她們罐頭。那麼為什麼人會有虐貓的行為，或者說偶爾會閃過這樣的想法呢。心理學上可能的解釋有：1. 可愛侵略症(Cute Aggression) 2. 粉碎崇拜(Crush fetish) 3. 其他壓力導致的虐待症狀。可愛侵略症似乎是比較少見的說法，粉碎崇拜則是一種性偏離的傾向，因為粉碎活體對象使人感到興奮，故會採取虐貓行動。\n如果從現實世界的情況考量，從小就開始虐待動物的人長大高機率會傷害人類。如果是成年人自行虐貓還有可能是為了經濟利益，例如在網路上販售影片給重口味客戶觀看。YouTube有很多非哺乳類動物的打架影片，不論國內外都有很多人觀看，看他們互相撕咬很是有趣，昆蟲擂台之類的影片能夠衝高流量。但是一旦牽涉到哺乳類動物的殘殺畫面，很多人就ㄍㄧㄥ不住了，比如說殺豬，很多人就不能接受。甚至如果是虐貓虐狗，那就犯法了！至少在文明國家台灣是這樣啦。這個時候就有人質疑呀，動保人士為什麼不能像佛教一樣平等對待眾生呢？（不過星雲大師倒是認為殺害小動物的罪孽較輕）\n好好好我們不要在現實世界虐待動物了，找一款虛擬遊戲來開屠就行了吧。看看多少人在GTA裡面殺人如麻，還有屠殺Minecraft村民的。\n20240330 事實證明，韓國瑜當院長不只沒有綠營選前說的那麼不堪，國會外交也不是只有民進黨能做。對比民眾黨立委表現，反而是許多民進黨立委最近幾個月醜態百出，以為自己還是絕對多數胡作非為，卻頻繁鬧了笑話。三黨不過半真的爽啦。\n20240326 殺小雞雞焉用dildo？不論是影片還是音訊轉檔都直接開Kdenlive，軌道拉一拉，再設定輸出就好囉。不用煩惱ffmpeg指令配對，也不用折騰Handbrake那複雜的參數界面。NVENC出來後CPU計算慢也不是問題了。不過這種工作流恐怕不夠標準。\n20240325 Luke Smith - BEST VPNs for PRIVACY in 2023!!! 真正了解VPN用途的人才不會被保護隱私這種單純的話術騙去服務！！下載種子、翻牆VPN是有必要的，但是其他用途就是過份神話了VPN的的存在。陰謀論出來囉：大企業透過VPN讓人們以為可以從邪惡大企主宰網路的當下獲得一點自主權，獲得什麼虛偽隱私權，但你連線到的還是他們的伺服器，受限於他們的監管之下。\n20240325 FlyOS 很有趣的專案，自動化部署Linux chroot到Android並用網頁VNC存取，內建Wine和VS Code Server，強調的是易上手性質，比lhroot完善性能又比Udroid好些。這種approach讓我想到中國的閉源APP Aid Learning FrameWork。但是可惜，自從Termux X11出來後，我就Friendship end with VNC, now X11 is my best friend. 似乎看來它也有X11的支援。\n20240323 Dear 柯粉\u0026hellip; 【原視頻被舉報】\n我們柯粉真的這麼厲害？2024年選舉前柯粉頻道被塔綠班檢舉爆破，柯粉就去爆破樂樂法利的頻道？現在中文鍵政圈有很多反向洋五毛——即支黑，關注台灣大選的中國反賊人士中，只有王志安持不同態度。\n我覺得打錯人了，雖然這些鬼佬瞎舔民進黨的態度讓人噁心但也沒有到吳佰萬那樣每天在關鍵時刻胡扯的程度。樂樂法利的評論我認為還可以接受，沒必要封殺。\n關於柯文哲對美中關係的看法，我認為他頂多就是天真，不是壞。對呀，這種人真不能給他取得任何職位，不然像塔綠班一樣貪污竊國怎麼辦。\n20240321 被YouTube/Facebook演算法控制，為了流量的人們開始忌口，連殺字都不敢說出來，那麼未來還會有什麼樣的字不能說。種族歧視的話可以禁止，可是一視同仁的禁制暴力詞彙依然是箝制思想的作為。如果不能抵抗，那麼我建議所有人都要搞個自己的資訊發布平台，而不是被大公司的社群媒體綁架。真不希望老了之後我坐在公園只能對我的寵物咒罵人類的邪惡，但是我跟叔本華不一樣 ———— 我會養貓。\n20240320 愛國主義是流氓最後的避難所。這句話適用於於所有愛搞民族主義的中國人和台灣人。凡把國家、民族大義看得比個人還重要的，那就是蠢瓜。\n「当群体内的个体平均而言足够愚蠢时，就涌现出强烈的民族主义和爱国主义情感。」—— 汪丁丁〈有智慧的地方没有民族主义和爱国主义〉\n李敖在你不知道的二二八節目也講得很好啊：「228干我這個外省人屁事？當初我都還沒來台呢！」\n20240320 Flatpak人民大團結萬歲！一大早更新後QT6還是Nvidia Runtime炸掉，致使一堆QT寫的程式開不起來(\u0026ldquo;Could not initialize GLX\u0026rdquo;)，可急死我了。所幸10小時後，晚上再跑一次flatpak update安裝更新後就修好了。Flatpak可真是跨發行版的福音，集中開發大家都受惠。\n20240319 是不是應該在聯絡資訊下面註明：找我業配的廠商，如果你的軟體沒有Linux版的，就滾吧。沒開源想用網頁程式搪塞的話\u0026hellip;也得滾。（韓國瑜：我不要你的選票.mp4）\n20240318 莫因反民進黨陷入中共的敘事陷阱中。前些日子唐鳳被攻擊最激烈的時候，有柯粉引用了很明顯是中國五毛寫的黑料，指出數發部贊助的資安戰隊私生活淫亂 台資安戰隊TSJ隊長林詠翔被爆私生活混亂- Usadf，台灣國內完全沒有報導的新聞，連八卦週刊都沒報的，我說要黑也不是這種尬黑模式好不。然後，民進黨幹不好的事情，也會成為五毛的黑料，比如Twitter著名的「徐芳麗」，這就導致有人會反過來跟五毛沆瀣一氣。不要這樣，要看內幕就看黃國昌講的，可信度要高多了。\n民眾黨的支持者有藍有綠的，很多都跳槽過來的。偏綠的還好，如果偏藍，那麼意識形態和敘事方式難免會偏向大中華主義，比如重視禮義廉恥，反對刪改文言文，普遍仇日等，認為凡是中國人都和日本有深仇大恨，並會質疑民進黨為什麼只關心白色恐怖，不關心日本在台殺了多少台灣人（被吃豆腐劃分為中國人的台灣殖民地人）。\n我得反駁一點一些人的作法，每當有人提出A屠殺事實，另一方就會用「你怎麼不說B又殺了多少人」來作為回擊材料，我認為這很無聊。\n這些事情發生了，是歷史事實。清朝人來台，殺；日本人來台，殺；中國人來台，繼續殺。我想既然日本政府和中國政府都為自己做過得事情道歉過了，那也就不要再過份追究了（這裡有個矛盾點：如果你認為抗日戰爭不干當時的台灣人的事情，那日本針對中華民國政府的道歉你又該如何接受呢？）\n記住歷史，就讓他們過去了。那些中國政府和日本政府殺人魔在台做過的事情，跟現代的我們又有什麼關係呢。確實紀念日本的屠殺相對於228較少，只有一直以來的慰安婦運動有在提醒日本做的壞事。\n20240318 Linux要跟Windows、Android、iOS、macOS系統跨裝置Wifi傳檔案，我嘗試過許多方法。除了偏檔案伺服器的SSHFS和SAMBA外，我覺得這幾個開源方案比較容易上手：\n1.KDE Connect。除了傳檔案外還可以遠端控制電腦、同步通知，需要開防火牆。但老實說，KDE Connect用的協定傳輸檔案十分不穩定，常常發送失敗。另外Windows版的介面很醜。\n2.LocalSend。不用配對就可以一次傳多個檔案，或是目錄，需要開防火牆。LocalSend的協定傳輸十分穩定。因為用Flutter寫的，各個平台的介面都一樣漂亮，操作比較直覺。\n3.Snapdrop/PairDrop。使用WebRTC，有瀏覽器就能傳，連防火牆都不用開。但Snapdrop官方網站常常掛掉。\n使用這些服務的目的就是不要讓檔案經由第三方伺服器轉送，所以僅限Wifi下使用。不過，如果使用私人組網工具（內網穿透）那麼也是有可能進行跨網域傳送。\n20240318 每次看三立的政論節目就覺得很好笑，看到現在還有人在罵柯文哲和黃國昌，比方說那個王__德，看他面紅耳赤的指責「沒有民進黨你們會有今天？」就知道：急了（傑利鼠表情包），下一句是不是要學「沒有共產黨就沒有新中國」了。還有黃國昌Facebook下面每天一堆的顧左右而言他的留言，就知道妖魔鬼怪最怕見到真的太陽花發光發熱。\n發現真正關心公平正義的人選上了，不敢正面事實，甚至就事論事都做不到，怕了，就只能訴諸道德方面問題來打，不然就攻擊人品，模糊焦點，真是可撥啊這些人。黃國昌違建都開始拆了，賴皮寮繼續賴皮。之前看到張喬瑜po過名嘴上通告的價目表，就知道為何有人會在媒體出賣良心了。不過裡面有一個叫做李敖的傢伙，我倒是希望他還在活著，雖然他很臭屁，是大中華膠，也可能會罵柯文哲，但人家講話至少有證據，會引經據典，不是瞎罵一通。此外，他老人家也支持第三勢力，雖然新黨已經沒有靈壓了。\n20240317 The Men Who Nut on Anime Figurines\n射屏這檔事在全世界都有許多愛好者，美國MEL雜誌特別寫過一篇訪談，用幽默詼諧的筆法，討論這些可愛網友的想法。「每個色情網站都充滿了剝削性公司，他們向辛勤工作的演員支付最低工資。反之，這些射屏愛好者為動漫模型付了全額市場價格，並為背德感感到非常興奮。」\n20240317 Polish Misinformation Using a Hungarian Recipe\n最近一年蔥輪TV右狗很愛分享的\u0026quot;Visegrád 24\u0026quot;推特帳號已經被認證是假消息傳播商了，這家波蘭公司偽裝成新聞媒體，重新包裝新聞並用保守派的視角去解讀。他們確實很會分享一些極端左逼的新聞，再藉此引起保守派眾怒。\n右狗智商很多時候也沒比左逼高哪去，End Wokeness這個推特帳號也愛挑起紛爭，之前不明究理就抨擊伊斯蘭女性開飛機有問題，但他連那張照片是卡達航空的都不知道。下面還有留言說因為她們是伊斯蘭教，發動911，所以不論如何就是敵人。嗯，網際網路真的是專門放大極端、愚蠢、無知聲音的場所。\n20240316 黃國昌 - 完成了《兩岸締結協議處理及監督條例》草案之撰擬\n服貿協定已經變成民進黨不能碰的政治正確，當初上街頭的人把反黑箱和反中情緒湊在一起傻傻分不清楚。使得好好的太陽花運動淪為暴民奪權的工具，並只有民進黨及其黨羽有話語解釋權，甚至指責不聽黨的話的人是「背叛」運動。現在希望能由新一代的委員打破，讓跳票多時的兩岸協議監督條例做為解決擱置服貿爭議的作法。並非立監督條例就等同重啟服貿。\n20240316 已知用火系列：yt-dlp就能夠下載網頁影片了，串流影片大部分都是m3u8，只需要餵給網址（甚至不用是影片具體網址，而是網頁網址），yt-dlp就會自動抓最高畫質的影片下來。 終於可以丟掉File Centipede和Video DownloadHelper了，尤其是前者，吃相可以不用這麼難看，雖然我能理解作者需要支持啦\u0026hellip;開源軟體還整天跳註冊碼視窗，我恨不得自己編譯。\n20240316 現在搜尋軟體為什麼還要特地加上「中文版」和「免安裝版」的關鍵字呢。搜尋「破解版」還能理解，畢竟我也常常在找（咦）。\n多國語系問題，韓國瑜：現在社會變了.mp4，沒有開發者會笨到把語言hard-code在程式裡面的，軟體有名了自然就會有人翻譯，尤其是開源的，不用第三方人士漢化重新打包（但不可否認看得懂英文的人確實無法理解不懂英文的人的痛苦）；至於免安裝版更好笑，免安裝照樣動你registry啊，而且站在Linux的套件管理角度，免安裝的軟體更難管理。\n20240314 就说一下姨学吧，很早之前看到姨粉和姨黑互黑就想说了。这两边都是扯淡。 - Gab\n既然劉仲敬每日的政治黑屁還有那麼多人觀看，並由支黑信徒集結成逐字稿，還有人把它當聖經格言在生活中引用，那我應該也能搞個Podcast節目收收米。不過肚子裡面沒有一點墨水，不學無術吐不出什麼象牙來，到最後可能變成一個瘋子在自言自語，那麼還是暫時先用寫的就好，並要小心不要變成獨人13或王希銘那樣的網哲（我不知道创象Wiki為何把他們兩人放在一起）。\n20240314 經典塔綠班圖戰術：在反民進黨的貼文下面貼習近平照片，或者一些辱支圖。比如之前王志安嘴一句民進黨利用殘障人士賣慘拉票，他多年沒用的FB就馬上湧入一堆留言。同樣的柯粉、部份溫和派反賊也會遇到類似攻擊。\n可是我看了覺得很好笑呀，不會吧不會吧，貼習包子照片是要破誰的防？民國粉？中共同路人？要比支黑咱不會輸啦，我紅迪冲浪紅老嗨ㄋㄟ。中共是什麼樣的貴物國家我會不清楚？但做支黑不是連智商和現實的判斷力都賠掉了好不，像塔綠班那明知台灣沒有美國的實力還整天跟中國大小聲的，走絕對反中立場，跟簡中圈網友一起當支黑只會顯得更為弱智。\n對柯粉來說，或許貼柯黑的梗圖較有殺傷力，有些我看了也會笑，前提是要有梗，不是魔怔瞎罵！如果有人在公共議題下面顧左右而言他（比如在一篇批評政府食安的文章下面貼「柯文哲會給我房子和女朋友的噁男插畫」），那就只表示那傢伙是看事情只有顏色，沒有是非的腦殘。\n20240315 只要幾天沒上Twitter，系統就會推播一些廢文逼我觀看（紫色星號），而且是用通知藍點的喔，不是時間軸。以前都是推馬老闆嗯發meme，還能接受。這次直接推一個綠色側翼James Hsieh的這篇推文來，這倒可好，按照中國網友的話說，這不就是強迫餵屎嗎。真沒人關心你中國台灣塔綠班的破事。看來把帳號國家地區設定為美國還是不夠嗎，系統設定也沒辦法關掉。\n20240315 圖片：弗利沙到動物園看猴子，國民黨老人說年輕人被民進黨騙走\n雖有時是盟友，但國民黨我還是支持不下去。這是民眾黨的群組得到的圖，有些親近的人柯文哲只是想當藍色買辦（這個詞是從貓貓頭社長那邊學來的，她最近退出民眾黨了但沒有變柯黑QQ），不能讓他們得逞，相對的綠色買辦也得避免。按照黃國昌在黃光芹節目的看法，柯文哲就是太善良來者不拒，藍綠人士都會面，才會引發許多政治爭議，一下被說小綠一下被說小藍教。反正不可能讓所有人都滿意，那就盡力做自己，滿足小草就行。\n20240313 【獨家】綠白分手後第一次！ 蔡英文今與柯文哲會面早午餐\n柯文哲和蔡英文時隔多年後居然坐在了一起？？哼，菜菜子還算有點良知！\n20240313 玩Gluetun讓Docker容器走VPN的服務後才想通一件事，假如所有的主流VPN供應商都支援WireGuard和OpenVPN協定的話，那麼我買哪家不就都沒差了嗎。這就好像簽寬頻合約一樣，買的是速度，如果我不需要其他加值功能，我根本不必依賴VPN公司提供的客戶端上網呀，客戶端只是方便新手使用。市面上有許多WireGuard的圖形前端，簡單輸入WireGuard組態就能連線到各家VPN伺服器的說，徹底繞過被客戶端監控的可能。那麼唯一要擔憂的點就只剩下伺服器端的行為了。\n20240313 不知道為何什麼一堆人愛用這個。Setting是行之有年的老司機APP，中文又稱「AV電視」。Settings.app為一款成人資訊聚合器，只要一個手機APP就可以免費觀看日本AV、成人影片、裏番動畫、H漫等各式各樣的盜版資源。之所以叫Setting，乃因其偽裝成iOS的系統設定樣貌，讓人第一時間不容易察覺，並且附設密碼鎖。唯一讓我擔憂的是，本軟體不開源，Github上的頁面只有安裝說明，沒有原始碼。且APP內含廣告，會試圖追蹤使用者。如果體諒開發者的辛勞，就點個廣告贊助一下吧，不過個人覺得廣告已經多到髮指的地步了。不知為何iOS版更新比Android慢，有許多頻道無法觀看。想在iOS看H漫/裏番的，或許用Tachiyomi會更好。\n20240313 玩線上遊戲的輪迴：剛入坑不知道玩什麼，但是好玩就瞎玩 → 看攻略慢慢了解遊戲系統，知道了角色的強弱 → 迎接遊戲限時活動，選擇開肝或者無視 → 為初次肝成功而喜悅 → 一旦肝下去就會變成遊戲的奴隸，定時上線打活動 → 長草期也必須繼續肝，培養實力 → 準備下一個活動 → 肝活動 → 愛遊戲愛到去買週邊、看展覽 → 肝活動 → 厭倦，找其他遊戲來陪襯，或者乾脆不玩了 → 但出於懷念的理由，偶爾回來玩一下。\n以上這個環節包含《戰爭雷霆》、《艦隊Collection》、《Minecraft》、《Fate Grand Order》、《俠盜獵車手》\n我再也沒辦法累積出那麼多眷戀。\n20240313 美眾院料通過禁TikTok 川普反對 - 聯合報\n川普：TikTok威脅美國安但禁了會便宜臉書 - 中央社\n川普真的很皮耶，拜登說什麼他就反對XD 以前有人說選拜登台灣會被賣掉，現在說換川普賣掉台灣了\u0026hellip;如果這不是左逼和民進黨的騙術的話。\n20240313 F-Toys新食玩「艦これモデル」の第4弾\n想要瑞鳳的飛行甲板 😍\n【新商品情報‼️】2024年7月29日発売／全8種／食玩\n20240312 Microsoft Clarity和Google Analytics的統計服務實在太變態了，前者更是恐怖。GA可以看到文章觀看人數，Clarity更是會把使用者操作完整錄下來，而且可以回放。其中包含使用者的裝置、國家、滑鼠位置，好似透過螢幕遠端監控使用者一般，過於invasive了。當然為了保護隱私，使用者都以隨機的一組ID標示，Clarity不會透漏更多。要不是因為歐盟隱私法案嚴格，恐怕他們還會紀錄更多網站訪客的訊息，比如IP，讓你能順著網線找到他們吧。\n20240312 現在黃國昌違建拆了、阿北農地回復了，賴皮寮依然穩如老狗。應該有人創個「每日關心賴皮寮拆遷進度」的FB粉專或者Twitter bot，監督賴清德的龍穴什麼時候要拆。再來，硬起來辦個LIE CHEATER IS NOT MY PRESIDENT的遊行！不幸的是，會真的上街抗議的恐怕只有更抽象的統促黨。\n20240312 傳要求下屬「潑咖啡」破壞主機滅證高虹安回應了！ 連身為文組的本魯都看不下去的指控。高虹安電腦潑咖啡滅證？？然後在傳這說法的全都是民進黨側翼。那我是不是可以說，40%果然學歷普遍都\u0026hellip;\n20240311 圖片：右邊的是神友，左邊的是浪人 又是這張沒露點但莫名讓人硬爆的圖片。阿爾托莉亞Alter直接拿吸管吸貞德Alter的珍珠奶頭wwwwww 查了許久才知道是威未図@いみず@I_MI_ZU的作品#FGO 仲良しオルタズ。\n20240311 KDE 6尚未準備好迎接Wayland，即使它是預設選項。Arch Linux剛更新後，Flatpak版Firefox當掉3次以上，怎麼回事捏。還是別那麼躁進吧，另一台Ubuntu LTS的KDE固然有bug，但是穩定。\n20240310 種滿芭樂樹苗! 柯文哲新竹農地「回歸農用」｜TVBS新聞 @TVBSNEWS01 柯文哲主席終於把新竹農地弄好了，改種芭樂，這下沒什麼好說的了吧。黃國昌委員也把自家違建拆了。反觀賴皮寮，ㄆ。有人還想講種芭樂也不行，啊對對對，高雄路邊賣的紅心芭樂也不要吃了，綠皮紅骨嘛。這裡的芭樂難道會有台南爐渣米污染嚴重嗎。\n20240310 一堆Linux版應用程式預設都往家目錄倒垃圾（新增點開頭的隱藏目錄），不屠能行嗎。說的就是你，Java、Android Studio、AWS cli。每次開啟檔案管理器都看到遍地dotfile的慘況。vimrc和bashrc這些最基本程式就算了，那些程式的開發者不會真的把Linux當成一生懸命，用途單一的伺服器看待而已吧。\n按照XDG建議的標準，設定檔應該放在~/.config，其他檔案放在~/.local才對。Google設計的Android系統就做得不錯，強制程式不可以往手機內部空間放檔案，必須使用者同意。目前只有容器化能治這些不乖的程式，例如Flatpak、Snap、Docker，逼他們就範。\n20240310 思想實驗：如何合理化殺人行為，按照神友的標準。第一，反抗中共暴政，當張獻忠，成為所多瑪義人，重開北歐。第二，「愛人TV」，從愛貓TV演變而來，對浪人（指流浪漢，不是浪友）投毒，誘捕再虐殺而亡。\n以上只是二種方法，實行前者會有一堆人拍手，實行後者反而會有人破大防，不過都比不上愛貓嚴重，他們會說，支那豬該死，貓咪何其無辜。\n結束思想實驗。我得說，我反對虐貓，也不贊同為了大義殺人。\n20240310 簡單搜尋「自由軟體下載」會找到很多學校圖書館整理的列表。\n有些列表是不是對自由軟體有什麼誤解，搞混了免費軟體跟自由軟體，把免費但不開源的也放進去（例如格式工廠，被ffmpeg釘在恥辱柱上的），甚至有的是網頁程式，後端伺服器資料都不知道傳到哪裡去的（常見於YouTube影片下載、批次PDF處理之類）。現在有生成式AI更慘了，大肆推薦一堆scam給人使用也不查證安全性。\n此外，那些自由軟體分享數量往往太少，都是偏工具性缺少日常的，例如FileZilla，我看他們根本就沒認真研究過全自由軟體的可能性吧（當然最好的全自由軟體手段就是拋棄Windows換用Linux）\n20240310 艾連：老實說，我很失望.jpg。原來呀，實際在MSI Modern 15 A10RBS安裝多個Linux發行版，回頭看Windows後才發現這台筆電的很多方面都靠軟體救的。螢幕需要在Windows安裝True Color才有正常SRGB的輸出，不然那個號稱NTSC 72%的面板看起來就是很詭異。喇叭方面要靠Nahimic音效來救援，否則超容易破音。螢幕顏色的軟體Linux不可能有，頂多載入ICC校色。音效倒是還好，Linux有EasyEffects可以救。風扇部分則是用第三方開發的isw控制。除了上面講的這幾個問題外，其餘硬體驅動都有受Linux主線核心支援，倒不是壞事。\n20240309 政府有動作了，台北市運用此網域已遭到停止解析，封了一票網站。無法逼關站，那就自己蓋牆，看來是針對詐騙網站來的。但當老司機網站也被封，鐵拳鎚到頭上，PTT台男就不滿了。例如老王論壇、5278網站。\n儘管那些網站是真有ㄌㄌ資源才被封，可這真的不會造成濫權嗎？寧可誤殺不可放過，我看Komica危險了。目前最簡單繞過DNS停止解析的方法：改用外國DNS，例如Google或Cloudflare的，反正中華電信的DNS連外國網站也不好用。Android和Linux都可以在系統設定一鍵切換DNS。\n我不希望哪天台灣人得準備VPN才能正常上網。啊如果要買VPN，我推薦信譽良好的ProtonVPN和Mullvad（絕不是業配）\n20240309 台灣人畢竟不是中國人（中國人的定義很廣，我就姑且選「中共國人」的講法吧）。在台獨吉娃娃以外，原住民紅統派是我看過最抽象的政治族群。國民黨現任立委曾跟胡錦濤見面，還不少原住民是極左派組織成員，鼓吹中國統一台灣才能真正重視原住民權益。ㄏㄏ，你怎麼知道會不會變成新疆夏令營的慘況，陳全國大佐很樂意分享先進經驗。\n20240309 看到有人在賣「國民黨跟民眾黨可以滾出台灣嗎？」的T恤，那我當然說不要，咱作為民眾黨員就要跟綠共死磕到底，實現真正島嶼天光。幻想是美好的，但是，我們是民主法制國家，不是支那，除非叛國（台獨是不是一種叛國，或是綠豆糕？），否則沒有任何政黨應該被強制驅逐。去年還有「我不是柯粉」的衣服出現，啊對對對你愛穿就穿吧。\n20240309 台灣經濟有史以來最好，但是貧富差距也是歷年最高，仍有很多人買不起房。化用多倫多方臉講的話，無腦愛國的屁民，你看那些錢你賺得到嗎。\n要解決高房價問題，除非換個人當總統，不然只能等大的來了 —— 讓中國侵略台灣。金門撞船事件後，民進黨現在正在盡力加速，促成戰爭，他真的我哭死。 圖片：小夫，好加速了\n20240309 KDE Plasma 6今年2月發表，相關套件已經進入Arch Linux主套件庫了，還在用KDE 5的用戶千萬不要輕易更新！很多QT5的尚未移植到QT6，更新後可能會炸依賴。例如Gwenview依賴的qt5-imageformat就壞掉了，得改裝qt6-imageformats。新版KDE可能也有很多bug。俟大多數套件都移植完畢再說吧，再等三個月。\n20240308 這世界上還有什麼能比那些～清澈的靈魂無助的抽泣更悲傷～究竟流多少淚才能停止哭泣～究竟回多少頭才會看到天空～誰能告訴我那洶湧的孤獨與渴望～是否就是我夢裡永隔千里的河流\n【音樂欣賞】發掘汪峰的音樂真的是這幾年來最大收穫之一，搞笑的我是在搜尋反共歌曲的時候順便認識到他的，一聽下去不得了，超越中國逼哥(李志)的人出現了，華語圈能像他這樣搖滾又大眾化的實在很少見。聽他的歌讓人回到初見以前周杰倫的屌樣，卻又帶有五月天的溫柔。從《鮑家街43號》《花火》到《信仰在空中飄揚》、《生無所求》、《生來徬徨》、《河流》，許多歌曲都展現他的人文關懷精神，一下子寫個人成長，一下子又講社會議題，聽來欲罷不能。啊你可能會說他是渣男，又唱我愛你中國等一票口水歌，哪能算搖滾。但我得說，汪峰就算做口水歌也都是在水準之上的，歸功於他讀音樂學院的深厚底子。〈我愛你中國〉就讓你以為汪峰是無腦愛國人士了？聽聽〈我愛你生活〉吧，換兩個字，那才是真實中國普通人民的寫照！\n20240307 Microsoft將停止支援WSA子系統了，這樣Windows用戶又得被迫用那些惡臭的商業Android模擬器了。\n不過我第一時間想到的是，完蛋，以後我們沒有libhoudini可以偷了。就算WSL能跑Waydroid或者ReDroid，或者跑Android-x86，以後ARM轉x86指令會成問題，Google Android模擬器的libndk又沒有Intel的libhoudini穩。\n20230307 面臨兩難問題，我要怎樣取得最新版KDE Plasma桌面環境，又能保持穩定？答案：不可能。其實使用者可以加KDE Neon的套件庫，在Ubuntu LTS取得最新版KDE Plasma桌面套件。都給你縫完啦！可是一來KDE Neon開發過於迅速，APT套件總是衝突，Neon開發者好像只把它當展示品維護，這是我不想裝Neon的原因；另一方面，Kubuntu維護的KDE套件老舊，問題一堆又得不到即時修補\u0026hellip;..Arch Linux早就解決的問題，Ubuntu要等很久才能改善。可是Arch Linux的KDE是隨機出現新問題，例如Nvidia畫面撕裂偶發性出現，Kubuntu的KDE則是問題存在已久才能改善（或用workaround繞過去），哪個比較好\u0026hellip;目前我是偏向後者啦。雖然KDE在Ubuntu並不完美，但也只能將就。\n20240307 自從ChatGPT上市以後，我看到很多人會在分享資訊時自豪的把跟AI交談的內容po出來，展示給大家看，幾乎不做修改，也沒註釋。我看這些人的貼文很多時候不是出於搞笑目的，也不是為了交作業，而是問實在的問題，說「為什麼XXX會XXX？這是我諮詢過AI後的意見\u0026hellip;」啊所以嘞？現在是把AI當神了嗎？這是你跑馬拉松從歐賁耶挨神殿捎回來的重大訊息頒布是不？需要這樣昭告天下以示我有多厲害。\n你會用Bing AI，我也會用離線LLaMA AI來回答問題（而且還開源，寫程式不錯用）。在這種平等的訊息取得背景下，原封不動的貼出AI回答不只無益於他人，亦不利於自身學習。沒錯，AI可以快速整理出複雜議題的訊息，並提供一些思考方向，但是最終能不能吸收進去還是要看自己的腦袋有無運轉起來。若把AI整合的內容當作筆記，假裝自己會了，效果比不上自己去看第一手資料並咀嚼後要好。在接觸資料後，動筆，就是個檢視自己有沒有理解事物的好方法。或者更進一步說，想著如果你要教別人你學會的知識，你會怎麼教，這樣更容易知道自己有沒有學會了、了解了一件事。若真的寫不出內容，再請AI幫忙改也不壞。如果要避免作為人的主體性被AI抹殺，那麼便是學習善用AI作為輔助工具，而非依賴AI。\n20240306 Google著手降低來自AI與SEO等低品質內容的搜尋排序 讚讚，把那些內容農場都給做掉！！！比較好處理的應該是用大量垃圾網域爬取無關資訊，再拼湊成網頁的，至於AI的就很困難了吧，最近的AI內容農場越來越誇張，就程式領域來說，已經不是爬取stackoverflow程式碼那麼簡單，而是用AI生成的答案當網頁。看Google要怎麼出招，讓其他搜尋引擎跟進模仿。\n20240306 Adding systemd to postmarketOS 手機Linux發行版postmarketOS要支援systemd了！準確來說，是將systemd列為編譯選項，類似Gentoo那樣，在pmbootstrap建置系統的時候自由選擇init系統。postmarketOS因為基於Alpine Linux開發，自然沿用OpenRC多年，說實在用過Gentoo OpenRC profile後真的看到很多服務不依賴Systemd不行啊，GNOME桌面環境更是不可分割，開發者都得從systemd中剝離出elogind的組件才能讓系統跑起來，postmarketOS亦不例外，做了許多\u0026quot;polyfills\u0026quot;來填補systemd的缺。我覺得postmarketOS更大的問題是他們採用musl libc的設計，又不支援DKMS核心模組載入\u0026hellip;\u0026hellip;\n20240305 Linux手機系統還是一場遊戲，從這次的Phosh更新說起。\n圖片 可能是我太笨不會用，或是這個設計過於愚蠢。#Phosh 在v0.35之後把方便的全域鍵盤小按鈕改成長按藥丸條喚醒鍵盤。搞笑的是這個藥丸條如果不在 #Linux 畫面上，那搜尋框就不能打字了呀！？彈出對話框也不能打字。另外鍵盤不會自動消失，會導致Waydroid版面跑掉。我真的不理解開發者在想什麼，Arch Linux ARM打包也逼迫使用者得吞下新版本。\n讓我們承認事實，PinePhone已經出來5年了，Android以外的Linux行動系統仍然是一團糟，PinePhone雖然帶來風潮，可是ARM Linux裝置為了追求開源導致硬體普遍孱弱，加上更新不穩定的系統（甚少商業公司介入），這裡那裡的小缺失，連基本功能機的觸控功能都做不好，使用者必須要懂得操作命令行才能自己debug，使得Linux行動系統比Linux電腦系統更加像是個笑話。電腦裝Linux系統或許值得一試（我現在就用很久了），變形筆電也還湊合，但手機、平板絕對是仍屬於駭客能handle的領域，就像Ubuntu以前的Linux世界一樣，混沌不明。\n20240304 《大尾鱸鰻3》正式預告｜全台票房冠軍！加場上映到清明！\n總算有拍得比較正式的豬哥亮復活迷因了，自從2024年收穫兩千萬票當選台灣冥選總統後，豬哥亮又要偕同齊柏林、麥可傑克森、李小龍、柯比布萊恩、吳孟達拍攝大尾鱸鰻3。\n還有留言出現熱騰騰的地獄梗「超期待大尾鱸鰻3的，各個演員真的是高手雲集，可惜的是這次拍攝期間，陳俊翰律師陷入風波之中，無法參與拍攝，但我聽說他已經確定會加入大尾鱸鰻4的演員名單中了，非常的期待」\n20230303 有些國民黨支持者真的很好笑ㄋㄟ，北投高中生打人這件事應該是特教生制度問題，不是單單怪民進黨改課綱，廢除四維八德就可以解釋的。 北投男高中生失控打老師 比中指甩門爆吼：關你屁事啊…校方回應了\n20240303 我是人，我支持核電，支持大麻合法化，支持死刑，支持台灣獨立，支持與中國人保持友好，支持中國民主化或解體成立諸夏，支持沒有黑箱的服貿，不特別支持或反對同性戀，反對統一，反對政府干涉網路中立性，反對民進黨領導的台獨。好ㄌbuff貼完了，現在的立場大概就醬，不必事事都跟自己支持的政黨對齊。\n民主進步黨 主張兩岸之間簽服貿協議 我們從不是反對\n20240303 根據最新統計，Linux桌面系統的市佔率是4%，咱們還要當4%仔多久？ChromeOS加上Steam Deck三粉助攻能在未來達到26%嗎？那個時候各大遊戲公司就會認真維護Linux版的程式了吧！\n【Neta】：2020年吳益政得票率、2023年高雄柯韓郭粉大造勢、2024年柯文哲得票率\n20240303 尋找一個完美的相簿照片管理程式。從以前到現在我一直在想，要如何瀏覽電腦硬碟中許多的照片，把它弄成一個時間軸，又能跨平台存取。Windows內建的相簿，還有iOS的相機膠卷可以得到此目的，也有試過Tiat、某個可以手機檢視電腦照片的軟體達到類似效果，可是我一直不滿意。單純的看圖軟體看來還不夠，Lightroom又太專業，我只是要瀏覽照片而已。\n4年前還在用Windows 10的時候就一直有這個想法，之後看到PhotoPrism的方案，這就是我接觸學習Docker的契機了。當時，使用Docker Desktop跑起來，得到初步成效還不賴，但是之後便忘記怎麼操作了。後來用過Google相簿學術帳號一陣子，很爽，同步照片隨便丟，可是2022年Google宣告無限空間終結，迫使我又回到硬碟整理的模式。\n時光荏苒，現在用Linux，已經學會了Docker指令操作。我找到了Immich，整理照片沒話說，有自動人臉辨識，除了伺服器更新不太穩定以外沒什麼缺點，彷彿找回了Google相簿的使用感覺。Immich的無腦上傳備份倒不是最吸引我的地方，但有總比沒有好。現在逐漸知道自己要什麼了：一個方便的檢視前端，要可以跨平台，還要優雅，且照片可以用掛接硬碟讀取，而非上傳到資料庫整理。\n順帶一提，非真人拍照的相片，我會考慮自架stashapp或Hydrus Network整理。\n20240303 我：看不慣其他老人播放抖音的中國土嗨視頻\n也是我：冲浪TV，啟動（打開紅迪）\n20240301 iOS 16推出了控制切換，不過是加了媒體控制功能， 真正的遠端控制iPhone，還是得越獄才能辦到。VNC遠端控制iPhone似乎可行。vncserverd經過測試問題有點多，但我還是分享一下安裝方法。按Reddit網友分享的連結下載相容iOS 15版本的二進位檔，開啟NewTerm3，將二進位檔移動到libexec sudo mv vncserverd /var/jb/usr/libexec/ 再用sudo執行檔案sudo /var/jb/usr/libexec/vncserverd，之後就可以從電腦Remmina查看iOS桌面。另一個ScreenDump其實也是VNC Server呀，但不支援rootless越獄，必須使用palera1n的rootful越獄，此外iOS 15還得打修復patch。rootless無法裝。如果不能控制，那就用UxPlay投影就好了吧。\n20240301 現在的蘋果所出產的iPhone，只有蘋果不想過的功能，沒有蘋果做不了的功能！我們生活在一個蘋能你不能的時代，一堆API只保留給自己家的蘋友友APP使用！\n【Neta】：黃國昌【直播精華】誰在寄生國會？ 20240301 【典中典】所以咪話，台灣真係一個充滿住bitch同厹既地方，呢個地方既人成個腦除左諗點樣恥笑香港叫支那之外，就係諗住做愛，sex，做愛，外遇，偷情，同人妻人夫做愛，亂倫， 強姦，迷姦，撿屍，一有時間就諗下可以點樣屌到自己個呀嫂，堂/表姐妹，女朋友/老婆嘅姊妹，或者朋友個女，朋友個孫，弱智信徒嘅弱智女、 弱智孫女，老闆屌女秘書，醫生屌女病人，偷嘢女客人主動叫處男店員屌佢同幫佢口交，老師就想同自己個學生做下愛咁，學生又諗下點屌個大波miss，再唔係就係最鍾意做愛果時拍下片，方便以後分手再要脅下個前度做多幾次分手愛，台妹最馨同條仔吵兩句嘴就馬上搵前度傾心事，傾傾下就又做愛，個前度問佢可唔可以內射，台妹搖頭說不，但最後還是被射滿滿，所以話，呢個地方真係十分淫亂。\n所以說，台灣真是一個充滿婊子跟公狗的地方，這個地方的人整個腦子除了在想如何恥笑香港叫支那之外，就係想著做愛，sex，做愛，外遇，偷情，跟人妻人夫做愛，亂倫， 強姦，迷姦，撿屍，一有時間就想著可以怎樣可以幹自己的嫂子，堂/表姐妹，女朋友/老婆的姊妹，或是朋友的女兒，朋友的孫女，弱智信徒的弱智女兒、 弱智孫女，老闆幹女秘書，醫生幹女病人，偷東西的女客人主動叫處男店員幹她和幫他口交，老師就想跟自己的學生做一下愛這樣，學生又在想如何幹大奶老師，再不是就是最喜歡在做愛那時拍下影片，方便以後分手的時候，再要脅前度幹多幾次分手炮，台妹最流行跟男朋友吵兩句嘴就馬上找前度談心事，談不久後又做愛，前度問她可不可以內射，台妹搖頭說不，但最後還是被射滿滿，所以說，這個地方真是十分淫亂。 20240229 Sync stops working randomly and cannot be restarted without new sync chain. 我的Brave瀏覽器在Linux和Android間斷斷續續不同步的問題已經持續好幾個月了，密碼和分頁都是如此。看 brave://sync-internal 才發現一堆TRANSIENT_ERROR錯誤，看到很多人也有這個回報。一個瀏覽器基本的同步功能可以做得這麼爛真的很厲害，Firefox開放讓一堆unofficial fork存取Mozilla帳號還能無縫同步，並且多個裝置同步正在瀏覽的分頁，Brave卻整天搞一堆有的沒的Web3 crap，我ㄆ。\n20240229 vl4loopback 虛擬相機裝置 在Linux上建立虛擬相機裝置的核心模組，將任意的影片串流輸入到相機訊號內。具體用途：將遠端相機的內容傳輸到本機，例如IP Cam或手機鏡頭，讓沒有鏡頭的電腦擁有WebCam。將影像傳到本機，進行AI圖像辨識工作。\n使用vl4loopback的專案：OBS Studio 虛擬相機 搭配VOD Nonja。DroidCam 手機當電腦鏡頭。ffmpeg的pipe給v4l2裝置也可以，但VDO Ninja直接餵網址不行，因為不是影片串流，必須用x11grab。缺點是這樣只能擷取整個螢幕，而非視窗。所以我用Xephyr ＋ 單一瀏覽器視窗擷取解決，但還是一片黑。因此，對普通使用者而言，最簡單的果然還是用OBS Studio搭配VDO Ninja操作。\n另外，raspberry_ninja是將本機v4l2搭配VDO Ninja發布成影片串流，不是擷取遠端的鏡頭畫面。\n20240228 看某些貌似友柯粉專對228事件的態度，就可以很清楚看到他們究竟是藍色買辦，還是真的支持民眾黨新勢力的。藍色背景的、脫離不了黨國視角的，就會以各種論證試圖削弱228的嚴重性，例如指稱共產黨介入、外省人被殺也不少等種種論據。這些是事實，但不是否定時代悲劇的好理由，試圖把思考方向帶往這是在單純鎮壓共匪叛亂的事件，而非族群衝突。比賽誰殺多少有意思嗎，民進黨再不公開完整文件只會讓黨國鷹犬有繼續囂張的空間。不論是在民國之後被殺害的人，或是日治時期以前發生的屠殺，都應當謹記教訓，不要再犯錯。\n20240228 台灣比中國好的地方是，我們是民主國家，發生228屠殺事件，想紀念的就紀念，不想的就閃邊涼快去，不會有官方主導全國性風向，搞國家公祭日，張口就來30萬，集體情緒勒索又繼續仇恨教育（但又怕屁民真的牙起來反日），那太過了。即使如此，現時還有黨國體制的轉型正義問題，跟外國相比，我們政府可能搞錯了順序，總是先清算而非和解，而不處理問題優先搞鬥爭\u0026hellip;正如外省人在228事件被殺被忽視，老英雄的同胞在通州遭受的苦難又有誰知道。對於歷史記憶，不能忘記，但要懂得向前。\n20240228 圖片 當Debian被Ubuntu質疑為什麼系統那麼難用/難裝的時候：54088啦！\n【Neta】：質詢走火　陳其邁嗆王郁琦：我是你爸\n20240227 謹記：民進黨很爛，國民黨更爛。即使在政黨合作的角度來看國民黨應當是民眾黨的盟友，某些議題可以合作，但切不可當成親兄弟。民眾黨可以少罵國民黨但是不可以捧（挖苦意味的不在此限）。愛台灣不一定要挺民進黨，同理愛中華民國也不一定要挺國民黨。（後面這個觀點是我最近在Twitter學到的，真的有民國派不支持國民黨，觀點蠻清新的）不能因不支持民進黨反過來捧國民黨！說藍營電視台比綠營更中立理性，我聽你在叭噗。覺得少康戰情室比新台灣加油好看的只不過是因為顏色不同而已。在社會議題上我可以是獨立派，不受意識形態綁架，誰講的有道理我就挺誰 ——— 即使對方是民進黨。\n20240227 PTT八卦鄉民罵綠營的梗，除了塔綠班以外，我最愛的就是這張烏鴉哥翻桌的gif：「沒爐渣米配瘦肉精？叫我們菸粉吃屎嗎？」（原文：難辦？我瞧那就別辦了！）每當有塔綠班想罵柯粉腦袋吃什麼長大的的時候\u0026hellip;我們就用這句懟回去。\n20240227 If you have courage to live, then you have courage to jump. 講反了，應該是 If you have courage to jump, then you have courage to live. 哈哈，二者的勇氣難道不是對等的嗎？娜其實死了跟活著也沒有差別吧！\n20240225 標題Re: [問卦] 誰是228事件最大的劊子手？(有圖慎入)\n論塔綠班跟小粉紅的相似之處。中國小粉紅把後人影視劇集照片偽裝成南京大屠殺的照片。民進黨塔綠班把其他屠殺事件的照片偽裝成228事件屠殺的照片。\n但好玩的是，裡面都有混入殺共匪的照片，這我倒是不反對啦 🥳\n20240221 Linux KDE桌面搜尋不到檔案的元兇：baloo_file索引服務。每次看到電腦有問題，看到這個服務跑起來，我就知道又是你，你最爛。在Arch Linux上如果baloo出問題，會導致Dolphin在同一個目錄下完全無法搜尋檔案。若baloo_file運作得好，那麼將有助於在KDE搜尋框直接找到你硬碟的檔案。\n20240221 Waifu2x，但是WebAssembly版：Waifu XL這個網站的動漫圖片放大效果勝過Waifu2x。有一群開發者異想天開，把Real-ESRGAN的onnx模型塞到瀏覽器，用WebAssembly跑，放大圖片的時候模型是在使用者瀏覽器運算的，這樣他們就可以低成本供大眾使用網站啦。代價就是放大時間很長，運算時分頁會吃掉1GB RAM，放大2倍的時間需要1分種，比原生程式碼慢二倍以上。\n20240220\n【院會總質詢】貪腐詐騙橫行 蔡政府還在研議｜2024-02-20\nㄏㄏ，立法院施政報告，媒體多半報導藍綠舉牌子玩黑白猜的事情，卻沒有人在乎黃國昌質詢台灣誇張的詐騙案達30分鐘的議題。看看這個誇張的詐騙案件圖表，繼續研議。所以說民進黨很爛，國民黨也是爛到家了。這幾天，有些報導的說法完全忽略了民眾黨拒簽食安協商的理由，這樣叫作秀的話，哪比得上舉牌子玩黑白猜的要厲害。還有親綠人士說今天質詢「民眾黨沒人關心」食安議題。昨天要求加開會議哪裡不關心了。再說對付詐騙的法案，從去年716遊行喊到現在還是沒有多大改善，房間的大象都沒人看到嗎？4年後，黃國昌的質詢回來了，變得「溫暖富有人性」許多。我看他全程都笑笑的，不像過去輕易咆哮，不誠實的人看了會心裡發寒。\n20240220 小知識：Brave的擋廣告功能會把Google Search頁面的防自殺宣導一起擋掉（就是搜尋跳樓、自殘、臥軌、藥物自殺等等字眼跳出來1995電話號碼的那個）\n當把鏡頭拉回自身，尋死的念頭就會興起，可能是為解脫，可能是為解決，彷如購物一般的揀選著計畫，彷彿沒有明天的晚餐重要一般的執行盤算著。可是總是一通電話響起，促使回到生活，繼續苟活。I held the blade in trembling hands\u0026hellip;prepared to make it but\u0026hellip;just then the phone rang\u0026hellip;I never had the nerve to make the final cut. 原來我比臨終前的尼祿還沒膽！\n20240220 PEBCAK (Problem Exists Between Chair and Keyboard) Joplin其實不好用，同步問題蠻多的，某台電腦太久沒同步就會衝突，最簡單解法是整個刪掉重新同步檔案。還有每台電腦都要完整同步一次，換新裝置要存取筆記真的很頭痛。再加上程式本身用Electron寫的，滑起來一直很clunky，還沒有網頁版介面。期望可以找到速度便利性媲美Gpogle Keep、筆記功能媲美OneNote的好像要求太高了。找不到替代品Joplin繼續將就著用。開源自架的筆記替代品有很多，但是很少有Joplin這樣整合Onddrive、Dropbox等第三方雲端的，就是我想要一個時時在線上的雲端儲存筆記啦，我不可能私有裝置都在線上。倘若改用Trillium之類的方案，就得租個AWS伺服器自己弄伺服器同步了。\n20240219 朝野協商到一半\u0026hellip;韓國瑜「椅子掉下去」：聽得太激動 咱大韓導就是幽默，總是能即時化解立法院黃國昌和柯建銘劍拔弩張的氣氛。\n20240219 學校老師呼籲小草不要被有心人士牽著走的談話。「不管你欣賞柯文哲的高智商，欣賞他的科學理性務實，欣賞他的為弱勢著想，你們身上都有這些優點，你們都是像你們喜歡的這個人這樣好，只是你沒有把這個特質給展現出來。如果不要讓你那麼陷入裡面的時候，其實要把目光轉回自己身上，看到是什麼妨礙你施展這個特質，把它找出來並在生活中實踐。你就不會有那麼大的被攻擊感被投入感，因為那個美好的東西就在我們心裡。很多時候我們在處理的是情緒，不是事情。」出自「在這樣下去 你們會真的變成…」老師Call in在講 她問你們有沒有在聽\n剛開始，我有點聽不懂這集街頭麥克風阿姊講的意思，可能得再去翻教育心理學。後面講到要跟政治人物的「理念投射」做切割，才有辦法做「典範轉移」，我還是理解不能。\n後來找到這篇才大概了解了阿姊的意思：選舉背後的心理投射機制\n喔喔，只要能理解背後的動機和猜想，才不會陷入偏執導致傷害。跳脫這個執著才可以換位思考，也不會對民眾黨和柯文哲所遭受的攻擊感到義憤填膺那麼厲害了。認知到有些言論真的是網軍側翼操作，就不會那麼對此這麼無端憤怒了。這讓我想到賀瓏夜夜秀「酸民百萬富翁」的開頭：面對酸民不走心，破解酸民拿獎金。如果有那個智慧面對流言蜚語，情緒就不會輕易被人帶走，那麼我們才能獲得最終的獎賞。\n20240219 《我是男生，也是女性主義者》是一本很薄的小冊子，以韓國男性的視角探討周遭的性別不平等問題，促使作者決定成為女權男。初次讀的時候有被震撼到韓國女性地位多麼低下，並了解到父權和性別刻板印象也是在壓迫男性，所以讓我也考慮\u0026hellip;嗯，後來還是沒有。當我跟身邊沒那麼強烈意識到女性主義的人說Mansplaining的概念的時候，往往也是不解吧。大致上還是理解女權，但不要變女拳就好了。但說實在，女拳的定義也很模糊，正如一些基進女性主義者的理念一樣標準不一。怎樣的行為才不算父權壓迫，怎樣的道路才不會讓女性主義變成女性優越主義，是在未來的探索中要謹慎小心的，畢竟我們要追求公平，不是以暴制暴。\n20240218 綠批空姐應援團物化女性范雲：民眾黨病入膏肓 民眾黨找空姐跳舞被說物化女性（攝影師只拍下半身、身穿空姐服裝）；結果民進黨一堆立委cosplay暴露身體、兩岸一家親養小三，一片噤聲。 cos山道超商妹被辱「脫衣賣肉」　黃捷怒反擊：穿著是個人自由\n這就是女拳，左逼固有雙標。之前看到巴哈場外人評價選前參加cos的某某是綠色妓女，這可真難聽，別忘了經典的只想著選舉的綠色母狗www順著場外人的思維，看在姿色bē-bái，遮住名字其實多少還是能用吧，韓導再讓翻白眼吧。\n其實不用扯到什麼女權或性自主權等高大上的話題啦，他們單純就是逢柯必反而已，立基點根本就是歪的，不然大家跳舞都依法開罰嘛，不當凝視的法律也快點過一過啦。請熱舞團表演挨批物化女性　名醫揭立論矛盾：只能說逢柯必反 、 民進黨公投宣講搬辣妹熱舞 網友：婦女團體咧？ 、 民眾黨「空姐應援團」惹議「飛藝舞團」舞者覺得委屈\n20240218 願你順遂台灣，早日脫離藍綠魔掌。選舉前應該多小草跟我一樣睡不著吧，但既然選完了，那就呼應柯文哲說的～繼續認真工作。滅火器的歌曲真的很好聽\u0026hellip;就算是他們在幫民進黨站台的場合，我依然會去聽。\n滅火器 Fire EX. - 晚安台灣 Good night! Formosa!\n20240218 辣個男人即將回歸，便看了看2024年美國總統大選兩個候選人的競選網頁，差異頗大。圖片 拜登中規中矩，最近在宣傳斗內就可以抽中跟總統吃晚餐的機會。圖片 至於川普的還是那麼爆笑，從他被逮捕拍mugshot的那天就崩潰到現在，現在還在說要打倒Deep State XDDD。\n20240218 Trump Won - Natasha Owens (Official Music Video)\n我川威武，敢真的做歌曲挺我川的，真的很屌。按照川粉邏輯，川普早就贏了，你看不出來嗎？川普在Youtube上大部分都是惡搞影片，少數真的撐川普的歌曲很少，尤其在2021年國會暴動後\u0026hellip;\n後來還找到一個一首幹CNN幹Twitter幹拜登的：Kid Rock - We The People (Official Video)\n沒想到還有華人川粉製作的應援歌曲：MV《川建国》：為絕境處的川普搖旗，為絕境處的人類吶喊！我絕不退讓！絕不退縮！絕不退避！ （江峰時刻特別節目20201212）\n20240217 Billy Joel - We Didn\u0026rsquo;t Start the Fire (Official HD Video) 揭示美國近代史的一首歌，現在世界上那麼多戰爭、獨裁者、顛沛流離的難民，美國政府難辭其咎。\n(模仿：紐約時報語氣 烏克蘭戰爭發展至此，美國難辭其咎)\n20240218 以前說：小粉紅支那豬能不能冷靜點？現在說：綠色支那豬能不能冷靜點？\n塔綠班意圖抹晚安小雞是「柯粉不意外」，結果被人挖出同夥阿鬧是民進黨市議員之子，這下支了。冷靜下來，說實在網紅在國外犯罪，戰他是XX粉有意義嗎，貼標籤根本與晚安小雞在柬埔寨的白痴行為無關吧！同是爭議網紅的貼牌牙醫還好意思說：「網紅都是亂源」啊對對對，不親綠的才是亂源是吧。可不希望陳小姐被打之後再有下一個受害者。\n20240217 說看舊版Evangelion是心理治療一點也沒錯，不信看這個帶子A Mental Trip with Evangelion，實在是可以搭配藥物進行的trip啊。有人講整個舊TV版和劇場版，都是因為缺錢才做成這樣，導演根本在報復社會。不如說他在自己做個心理治療吧，把舊劇場版的原聲帶聽一次就能體會到那是什麼感受，再看看電影後段的真實電影院場景，就不會覺得獵奇的屠殺場面是重點了。動漫宅，回歸現實吧。\n20240216 民視《台灣傳奇》跳科目三（一笑江湖），之前還批評寧夏夜市舞蹈大賽？綠能你不能啦。搞笑的是裡面還有出現一首阿嬤饋咖（Queencard）對幹。搜尋下影片，看小◯生女生跳阿嬤饋咖竟然有一時間起了性慾，這可不好，趕快轉到AC/DC聽Thunderstruck，欣賞Brian Johnson的大肌肌。For a minute there\u0026hellip;I lost myself, I lost myself\u0026hellip;Phew, for a minute there\u0026hellip;I lost myself, I lost myself\u0026hellip;\n20240215 Trump Makes Crowd Laugh By Doing Mocking Impression Of Biden Trying To Get Off Stage\n川普模仿拜登失智糗樣，說媒體不誠實，金句如下：\u0026ldquo;Sarcasm is a dangerous thing when you have a dishonest press.\u0026rdquo;\n20240215 圖片：章魚哥發現罵民進黨的粉專，結果是藍腦/統派 即使我不喜歡現在的綠營民進黨，也不代表支持藍腦國民黨的大中華膠思維，或是共產黨紅統派。論綠共跟紅共誰比較恐怖，那我想還是紅共，千萬不要說給共產黨統治還不是一樣的話，這是地獄梗ㄟ不要當真。\n20240215 化名翁達瑞的教授所發的政治貼文，不能盡信，講難聽點完全是民進黨側翼的話術，對許多議題都帶有政治眼光解讀，忽視了背後真正的問題。之前他主要在Facebook發文，現在擴展到Threads，因為人比較少的緣故吧，斷章取義批評柯文哲後馬上被正義人士打臉。\n「高知識份子」、「名人」、「專業人士」在這世上數量很多，很多人也愛時時提起頭銜自豪（得承認我自己也有這個問題），可這個頭銜能不能代表他說的話語就一定是真理？儘管學術領域有成，但是面對其專業以外領域的談話，就要戒慎恐懼，為政治勢力洗地的何其多啊。高知識份子言論不總是能盡信的原因，幾年前看過中國的張維為、陳平教授等人的言論，我就有這個認識了。\n張維為：中國人，你要自信。（請繼續收看《這就是中國》blahblahblah的大國崛起演講）\n陳平：中國2000人民幣比美國3000美元薪水要幸福。接著曬出自己在美國的大豪斯。\n美國語言學家Noam Chomsky曾在演講到一半的時候突然開始宣傳無政府工團主義。英國Roger Waters在Pink Floyd的當家台柱期間寫了許多高深哲學詞，但政治立場上是鐵鐵的極左翼。美國前Fox主播Tucker Carlson擁有高學歷，卻可以為了反民主黨跑去支持普丁。\n台灣也不惶多讓，當醫生的碰到政治就有機率失智，外科醫生每天失言的，創立精釀群組的，說自己是蠍子的，貼牌代購還買新聞稱讚自己的，說不要太不滿狂喝酒的，想買瘦肉精的，違建賴著不拆的，比比皆是。政治廚之所以叫政治廚（包含我自己），就是表示對自己觀點執迷不悟才會這樣稱呼。\n不過這不代表我要全然否定專業人士的見解，尊重言論自由，有些論述確實有理，但是有些人意識形態太重就會扭曲真理，進而影響公眾的想法，這就不對了。學歷保證了他們的頭腦不見得是笨，很多時候講的話，不是蠢，就是故意使壞的吧。對於這種現象，我用蘇聯文學家Солженицын的話總結：「我們知道他們在說謊，他們也知道自己在說謊，他們也知道我們知道他們在說謊，我們也知道他們知道我們知道他們說謊，但是他們依然在說謊。」\n20240215 圖片：抗議數位中介法 選前鄭南榕，選後朕難容。還好，我們有1/9的「突破媒體封鎖之夜」抗議活動。我還是支持紅媒要關啦，但是在同等標準下，過份親綠、親藍的媒體也要按照法條去罰。問題是，黃國昌在NCC前的抗議只講到現象，沒有好的解法。在選前黃珊珊大爆料之後，真不知道民眾黨要怎麼修復主流媒體關係了，你看政論節目還是24小時罵民眾黨。只能期望越來越多人真的剪cable，願意觀看報導真相的媒體。\n20240215 翻到不知道當初為何腦衝購買的F-2戰鬥機屍塊。或許是我看到可以用遙控器控制音效就下手了吧，導致忽略了盒子旁邊的說明。迪亞哥代理的日本航空自衛隊F-2組裝誌，不是像過去「二次大戰傑作機」那樣一期一個模型，而是雜誌+屍塊，要買15期以上才能拼出一台完整飛機。雖然有送T恤，可是實際算一算，直接購買一台壓鑄模型的價格就低於全部雜誌的價格了啊！讓我想起小時候買羊乳片收集點數常常無疾而終的經驗，在拼出完整飛機前屍塊要收哪裡都是個問題。起碼第一期只賣99塊而已，就當作是賺了一本便宜雜誌、DVD和強力膠好了。\n2024015 陳俊翰疑感冒引併發症逝世 享年40歲 RIP，陳俊翰律師，感謝讓大眾了解到罕見疾病在台灣健保的問題，感冒併發症去世。他的身體真的蠻脆弱的，還放棄在美國獲得醫治的機會回台為殘疾人士發聲。慚愧的說，要透過炎上事件才能讓人間接認識議題實在很無奈，還逼同類罕見疾病人士出來給Youtube上的賀瓏站隊，跟著進行政治口水攻防。\n陳俊翰律師過世後，王志安隨即在Twitter上公開道歉信，並捐款一百萬日圓給台灣罕見疾病基金會以作補償。\n我知道在一位社會運動家的悼文下面還繼續炒作政治不太好\u0026hellip;但是我仍得回擊一下塔綠班。現在人都死了，民進黨還有人想抹黑帶風向的真可撥，想塑造：支持賀瓏 = 王志安 = 柯粉 = 冷血的形象，我ㄆ，明眼人都看得出來王志安當初的意思是嘲諷民進黨選舉騙票操作，而且冒犯人的部分兩人也早就跟陳律師道歉獲得原諒了。夜夜秀被「政治正確」出征這件事恰恰說明了言論自由的重要。錯不是錯在陳律師本身，而是意圖利用他的政客。此外，民眾黨從一開始就跟這件事沒有關係，柯文哲主席也發文認為歧視殘障人士言論不妥，到底干柯粉啥事？塔綠班能不能要臉一點？\n20240214 論對極端支黑反賊與台獨人士的反思。 先說我持兩國論：「中華人民共和國」和「中華民國台灣」是二個不同的國家。我知道這樣講違憲了，但你又能耐我何，台灣人大多數認為兩岸互不隸屬。畢竟我們不能像小學博士一樣亂改憲法。\n不知道怎麼稱呼這些人，我就概括為「極端人士」好了。捕捉對象包括但不限於：住在台灣的人、住在中國的人、支持中國解體、支持核平中國、支持台灣擺脫中華民國國號、視中華文化為完全的垃圾、堅持台語是一門獨立語言、認為目前世界上存在台灣這個國家、認為日本在中國殺太少了、希望外國殖民300年。\n為什麼沒有包括台獨：台獨本身並沒有錯，我要批評的是極端台獨的人士。\n儘管我反共，也反對一些落後傳統文化，可是不想全面斬掉自己的根。兩岸有共同的文化歷史淵源，但現狀就是分治，不可能統一了。如果順著支黑+台獨人士（這個combination可說是無敵）的邏輯，他們彷彿在說：我們是善良的支那豬！自由中國！不是大陸那邊邪惡的支那豬！啊等等我不是中國\u0026hellip;我是台灣，自由民主全部都是地瓜田裡長出來的不是外省人帶來的；台語跟閩南語一點關係都沒有啦，大陸人能聽懂是巧合啦；台灣的中華文化信仰好落後，可是巷口的山東餃子館好好吃。極端份子還有一個傾向是讚揚日本的統治，然而：後藤新平說「台灣人貪錢怕死愛面子」我們可以看到流著這樣罪惡中國人血脈的台灣人，在抗中保台的鬼話下，仍然持續的貪贓枉法，就是恁永永遠遠都是支那人的證明，脫支不脫味。\n然而，全然的否定自身並沒辦法帶來任何實際的幫助。\n20240213 現在有個好笑的現象：塔綠班認為Facebook是親中的，因為講支那就會被刪文，降觸及，認為中國人擔任審查就是共產黨掌控的象徵。（再親中啊祖克伯）另一邊，小草包和藍腦認為Facebook是民進黨開的，講錯話就會被出征、檢舉消失，還認為台灣數發部有能力可以指使外國企業。（幸好中介法沒過）唯一的共識是他們會推廣移民到XX平台\u0026hellip;但又迫於Facebook人多的壓力回來用，再說「我早就不用FB了」「我要退出FB了喔（第N次這樣講）」\u0026hellip;之類的話語。在我看來這都是nonsense的指控，祖人標準不透明才是這個Facebook最大的問題吧，加上人們受制於演算法，甚至要「討好」演算法以求曝光的行為，才會導致今天的局面。我是覺得啦不要把社群媒體看得太重，就不會有得失心。要懂得聰明的與魔鬼共舞。\n20240213 張熊 - 各位久等了，我已經透過關係跟臉書總部交涉完畢，也終於獲得被刪除的真正理由\n支持仙界大濕創作自由。無緣無故被祖這件事，我也發生過，我要講的重點是讓我想起了不好的被祖經歷。我最痛恨的就是「靠關係」、「夠大尾」，Facebook才會理你的現狀，包括之前館長、某某議員的粉專被消失的情況也是。作為曾經有5000+粉絲的粉專被無緣無故消失（準確來說是「取消發布」）的經驗的用戶來說，到現在仍然無法知道當初被祖的原因為何，即使找到方法聯繫上Meta客服仍然沒有正式回應。在這種權力不對等的情況下，有力人士可以獲得Facebook官方關照，草民只能接受無情的命運。Facebook相信不會是第一個這樣幹的，未來Twitter之類的網站也有限縮用戶言論自由的權力。從那個時候開始我就打從心裡不相信社群媒體，而開始經營獨立網站發布內容了，不受制於人，社群媒體頂多是宣傳管道。\nLuke Smith說得對，Don\u0026rsquo;t be a web peasant! Get a website now!\n20240213 黃國昌 - 蔥二不聞！\n也不能真的不聽建議啦。黃國昌、朱學恆等人對FB網路酸民蔥耳不聞的心態真的高招，每篇貼文都有塔綠班他們也都不鳥。也有可能是因為粉專都小編在發的緣故啦，如果自己經營可能真的會回嗆酸民幾句，像徐巧芯那樣怒嗆PTT酸民「關你屁事」。\n你會發現花時間跟柯黑、昌黑、館黑什麼的辯論（其實立場對調也一樣，有些柯粉的態度跟小粉綠一樣是瘋狗）\u0026hellip;真的就是浪費時間，他們通常丟張圖、一小段抹黑影片或一句話就跑，對於這種troll不如直接封鎖眼不見為淨。\n20240212 如今下載盜版音樂最簡單的方式：Youtube Music，活用下載Youtube影片的方法就有數不盡的音樂任你免費下載。現在知道為何Youtube Premium要漲價了（笑）原理是這樣的：Youtube Music開辦以來，Google花大錢購買了許多正版音樂上傳，數量不斷增加中，日本動漫歌也正在增加中，除了iTunes Explicit的大概都買了。儘管音質最多MP3 320K等級，不如伊莉論壇分享的高音質，但也夠聽了啦。歌曲都是以Youtube影片格式提供，透過開源工具「yt-dlp」就能輕鬆把整張專輯抓下來，還包含演出者資訊。\n20240211 不知道是追蹤人物太少還是Facebook演算法刻意為之，最近幾個月動態牆總是跳出不相干的貼文，唉，我真不想看到莫名的動漫農場文，或是什麼香港科技網站，還是誰的生活日記文，或者塔綠班側翼的同溫層取暖大會（儘管也有機率刷到不知名的民眾黨支持者專頁，但機率遠小於藍綠支持者），不論按再多「不要推薦這個」都沒用。好吧，起碼這比以前都跳金融詐騙、減肥廣告要好多了！走出同溫層固然重要，也不要每天都放出蟑螂讓我打啊。如果只想看追蹤列表的動態的也不是沒有，Facebook把該功能藏在APP右上角的選單。這點就要稱讚馬斯克的Twitter做得比較好了 圖片，人家看到Mastodon的純時間軸就抄過來Twitter弄成雙軌制，介面一目了然。\n20240211 PTT警報157！！！ぷっぷくぷー (可哀想)老師的本子有莫名好看的地方，但絕對不是喜歡BBA。裡面畫很多角色，之所以巨乳是因為肥婆的緣故，由於他常常畫這種肉肉的熟女角色，很多本子也是不能接受的。只有這幾本能接受：[ぷっぷくぷー (可哀想)] きつねや婚々ふぉおあんさぁ幹到老女人排卵，厲害厲害。[ぷっぷくぷー (可哀想)] 退魔の母、産出產性交，還有母女play，缺點是作者畫的胎兒與碩大的肚子不成比例。[ぷっぷくぷー (可哀想)] 退魔の母畫得最好的一本，封面沒有那麼肉，就很想讓人點進去。後背位被幹，把禁尻期間的精子全部榨光的場景很棒。\n20240210 Wine應該要在Linux全域安裝，或者關在容器？全域安裝(system-wide)的定義：透過APT套件管理器安裝Wine，讓整個系統都可以存取。關在容器裡：透過Flaptak技術，讓Steam與Bottles各自擁有Wine版本，作用域僅限於容器內部。自從Flatpak技術出現後，我就越不喜歡讓Wine與系統直接接觸了。現在我都把Wine/Proton，關在容器裡面。為什麼這麼做，第一，我不希望為了Wine還得讓我的系統開啟32位元支援(multi arch)，32位元函式庫就放在Flatpak裡面吧。第二，Wine預設會建立mime關連，所以某些Linux檔案預設程式會自動跟Wine連上，我討厭這樣。第三，Wine不方便切換版本，且WINEPREFIX切換資料目錄又很麻煩。除非是要常常用自動化script裝exe，否則我覺得全域安裝Wine實無必要，而且這種裝軟體的方式容易碎片化。Bottles和Steam的出現可以說標準化了Wine程式的安裝方法，背後細節不用想太多，圖形程式也較易於管理Wine環境。這裡Wine程式與Linux環境有一定程度的隔離，又能適時的開放「權限」讓Wine與系統互動。2023年Bottles-cli推出，可讓容器裡的Wine加入系統環境變數，取代系統安裝的Wine。\n20240210 李敖北大演讲 高清完全版（未删减）\n「古往今來，從來沒有一個政府像民進黨這樣子，完全靠騙來取得政權！」 曾在引用李敖的這番話罵民進黨之後，就有台派的人質疑我，李敖講的話現在還有什麼價值？我就講，看上面這部影片，憑他敢在中國北京大學，瘋狂陰陽共產黨，鼓吹自由主義，就證明他的話到現在還有份量。（不過李敖沒被抓走也是有時代背景影響，胡錦濤是悶聲發大財時代；換作小學博士習近平，隔天李敖器官就不見了）\n現在看來，李敖講的似乎算加速主義，和平的玩死共產黨？又或者，李敖不過是跟海外民小反賊一樣，主張和平演變的人士，骨子裡其實還是大中華膠？大中華膠的概念或許他改不了，但是自由主義這點不會變。在現實國際社會關係下，他不主張直接武力對抗，而是要技巧性的玩死共產黨政府，透過開放包容合作，取代遁世或暴力對抗。不要無腦仇視中國人，就是這樣。\n20240209 翻到封存的Facebook網誌，原來我以前寫就有讀書筆記習慣，如果年代再往前一點，我大概會把報紙剪貼成一本本子吧，後來數位化，留存紙本文獻就無必要了，只剩回憶的功用。\n曾國藩《日課四條》：人一天所穿的衣服、吃的東西，價值應該要與他所做的事、出的力相稱，則別人就會認同，鬼神就會允許，認為他能自食其力。如果農夫整年勤於耕種，婦女勤於織布，就能種出數石的米、織出數尺的布；但富貴人家整年玩樂，不經營事業，吃一定要吃珍品，衣服一定要穿很好，沈溺享樂和高枕無憂之中，一呼叫就有百人侍奉。這種天下最不公平的事，是鬼神不認同的，怎能長久？\n黃圖珌《看山閣閒筆》：有一位縣長貼了對聯宣示:「得一文，天誅地滅;徇一情，男盜女娼。」 這是說，我若貪污，就天誅地滅；順從私情，則我孫子做強盜，孫女做妓女。 但是有許多人送黃金和布帛，他全收，而權貴來關說，他也照辦。 有人說:「你這樣不對呀，你忘了你門聯寫的嗎？」 他回說:「我沒有忘了。我貪得不是『一文錢』，也不是順從『一個私情』。」 （2015年4月11日）\n《雜譬寓經》其之一：外國有小人，想討好貴人，當他吐痰時就競相去踩。有一個小人身手不是很敏捷，老是踩不到，於是當貴人準備吐痰時，他馬上衝去踩貴人的嘴。 貴人生氣的說:「為甚麼要踩我？你想造反呀？」 他說:「我是為你好，因為我都踩不到痰。」（2015年4月11日）\n20240209 台湾，请走出孤岛意识！｜台湾｜孤岛意识｜信息茧房｜王局拍案20240208\n其實，王志安新的這部影片我看了還是不知道要表達什麼，反而是充滿爹味說教的味道XD 儘管點出台灣的文化產業困境，但這個能不能跟台灣獨立的意識形態連結在一起，打個大問號，有點循環邏輯論證，車軲轆話講一堆。我覺得這樣反而會落人口實：「王志安就是因為遭民進黨鐵拳才會記恨到現在啦，講這些再再證明他是大外宣！」我看輪子和支黑主播又要拿這個說事了。\n嘗試理解他的意思：台灣不能輕易拋棄中國相關的事務，搞孤立主義是麼。民進黨政府沒實力還跟中國大小聲，永遠拿台獨來騙票，並讓台灣人的眼界變成只有民進黨意識形態下的眼界，以為走出了國際，實際上沒有任何進步，台劇都在搞小圈圈自嗨。\n影片說台灣要承認九二共識，才能跟中國和平相處，並取得大陸民眾的諒解\u0026hellip;講這種話，台灣價值滿點的深綠人士聽了肯定不高興了，台灣一定要獨立啦！但又不是每個台灣人都願意打仗\u0026hellip;在這種要獨不獨的狀態下，為了防止精神分裂，所以台灣人就只好對外面的現實事情裝聾作啞，並偶爾口嗨幾句鼓動獨立戰爭。問題是，誰願意上戰場？\n就像支黑反賊整天鼓吹的加速主義，天天期望大的來了，你怎麼知道大洪水來了你不會成為張獻忠的目標？\n台灣人的身份認同就是這麼複雜，而現在「新台灣人」的身份認同，似乎在王志安看來是走向危險與無知的道路，台灣要是輕易與華人身份切割、認為台灣以外的都不關我的事，則只會帶來無知與危險。為防止最壞事態，台灣要在走自己的路上仍然跟中國維持交流關係。雖然這個觀點情感上讓人難以接受，但未嘗不是可以考慮的道路\u0026hellip;就，他的觀點跟柯文哲有共通之處啊。\n20240209 為了不讓民進黨，aka，綠共，還有網軍側翼，繼續踐踏台灣的自由民主，未來還請各位繼續支持 #賀瓏夜夜秀。\n20240208 不得不說自從2023年上半年，Stable Diffusion大爆發，生成式AI繪圖的市場競爭就極其激烈了\u0026hellip;一年下來已經是紅海。這裡講的市場是指「教學文章」，不論是專家還是業餘網紅都有很好的文章出來，看得眼花撩亂。我有幸在生成式AI熱潮爆發初期，憑藉一本寫得不怎麼樣的「Stable Diffusion WebUI中文手冊」在搜尋排名中取得個位置，現在仍然是搜尋前幾名，偶爾也會被大手引用，感恩。但是除了炫技以外，我過去幾乎沒有錄製Youtube教學影片 ——— 連市場稀缺的Linux Stable Diffusion WebUI安裝教學也沒有（我最早關於Stable Diffusion的文章就是Linux版安裝教學，2022年在Gentoo上寫的）為什麼呢？AI技術迭代速度太快，我文章每幾個月就要修訂一下，影片根本不敷所需，我不想寫一時的東西。Stable Diffusion是開源專案，不是大公司產品，人們不會甘於當個「consoomer」，等待大公司每幾個月釋出新產品才驚豔一下\u0026hellip;自由軟體的威力註定讓AI能成為「人民的AI」，就像LLaMA模型發布後各種應用百花齊放一樣。要不是LLM硬體規格要求過高，ChatGPT很快就能被本機AI追上。Stable Diffusion真的很好玩，現在還是在研究中，每天都能學到新東西。2024年的現在，各路Stable Diffusion教學文已經殺成紅海，零散的部落格教學多的不能再多了，現在得利用優勢，將教學文章做更有組織的整理，以求在未來持續獲得讀者青睞。\n20240207 【#賀瓏夜夜秀】第一季結尾感言 「政治很可怕⋯沒有，那些在政論節目上罵我的人、那些立委，他們都是我的好朋友，我們只是在演一個喜劇，所以之後會有好笑的東西發生。」心疼賀瓏因為跟王志安嘴了一句民進黨就被塔綠班和側翼出征到現在\u0026hellip;溫暖的是，仍然有很多支持者給賀瓏夜夜秀加油打氣。藝術必須持續干涉政治，直到政治不再干涉藝術。看整季下來，我覺得上這個節目的政治人物都蠻好笑的，不分黨派一起快活，互相嘴來嘴去。我承認我不喜歡民進黨，可是他們願意來上夜夜秀，理性表達他們的觀點，我都有點改觀，覺得他們沒那麼可惡了（尤其沈伯洋、王婉諭、鄭運鵬，那個跳舞賣騷的就算了），黑熊學院不是民兵；時代力量不是小綠等等說法\u0026hellip;能夠了解到不同人的看法，是看喜劇背後的最大收穫。再看看還在打著政治正確大旗在燒的左逼，到底誰才是在演喜劇，很清楚了。\n20240206 「點燃民主小火」剋小草？ 柯建銘：全黨第一場青年營隊，開放報名就爆滿 有人說民進黨的民主小火可以剋民眾黨的小草，可是瑞凡，你沒聽過野火燒不盡，春風吹又生嗎？\n20240206 Line一直以來都是難用又落後的軟體。最近新推出社群功能，連抄都抄不好，社群功能比群組安全性還要差，沒有群組的加密機制，底線人異常的多，被祖的機率更高。再來訊息太多滑動也會卡，不要忘了檔案保存仍然有期限。論社團功能被FB屌打，聊天室比不過Telegram，現在社群功能完全被Discord海放\u0026hellip;Line的備份功能現在還做得哩哩啦啦，只能同步最近七天資料，從這點就知道不能對這家公司有什麼期待。副業做很爽忘記自己本業是通訊軟體。抵制這東西我能做的就是把它當工作用的軟體，完全公事公辦，不要把任何資產與私人任務其掛勾，遊戲不要用Line登入，行動支付找信譽更好的，影音服務替代品也多得是。\n20240206 Bottles Next: A New Chapter Linux的 Wine管理器「Bottles」即將翻頁，進入新篇章。聽說Bottles是設計師做的，質感真的不一樣。這款工具可說是Steam以外的良好替代品，用於啟動非Steam遊戲。新版Bottles Next將對Steam Deck小螢幕優化，並將加入遊戲收藏庫的全新界面。看來以後PlayOnLinux、Lutris、Heroic Launcher要式微了。\n20240205 反而是魔怔人讓我變得站中間了: r/China_irl\n香港人寫的中立評論，表示認同。真的，一件事情，兩邊的想法都接觸過之後，就不會堅持一種意識形態，並死嗑到底。套用到自身的例子：中國沒有那麼壞，美國沒有那麼好；閉源軟體並非總是罪惡，開源軟體並非就是最好；民進黨並非都是台獨吉娃娃，民眾黨並非都是聖人。\n還是支持人們要有主見，有立場這是對自己的自由負責，但不能輕易成定見，因為人生是無限妥協的過程（就算靈魂自由，我們還是被困在名為軀殼的牢籠）。不想當英雄轟轟烈烈的死，那就聰明一點的苟活。至於網路為什麼有那麼多瘋子，首先得承認這就是事實，難以改變，現在被視為瘋子的未來也可能會變偉人，誰知道。但面對惡意時，我們能作到的就是善用媒體識讀，猜想一下對方講極端話語的目的是什麼，如果一來情緒就不會被誘拐走，多點理性務實科學的聲音。\n20240205 昨天把《台灣民族性百談》看完了，該怎麼說呢，少了玫瑰色眼鏡，下巴都快掉下來了，根本就是霍布斯口中的叢林。\n台灣的民族認同難以建立。有些台灣人現在仍擺脫不了殖民情節，比爛的的情況下蔑視國民政府，懷念日治時期，完全仇視中華文化，但又忘了更早之前沒有清朝漢人哪來這些文化。現在台灣的風氣還有左逼興起，呵，rightdogTV老哥早就分析過：美國不會單單因為你支持玩屁眼之類的進步價值就支持你啦，當不好棋子，就等著被賣掉。\n如果真如某些人所說台灣要進步，我看殖民50年不夠，還要像劉曉波說的殖民300年。\n20240205 KDE桌面強制從全螢幕切回桌面的方法：首先嘗試按Windows鍵，不行的話再用Ctrl＋Esc觸發工作管理員的方式退出。\n20240205 Pacstall Ubuntu/Debian也能有AUR！雖然我講過用Distrobox的方式來安裝AUR套件，但這個更接近原生的取向。唯一的問題是：套件還是太少了啊。想達成AUR編譯後刪除無用套件的作法，我想還是在Distrobox容器裡面編譯Ubuntu軟體比較實在。\n20240204 圖片 Flathub最近高招喔，以往商店頁面只顯示「XXX on Flathub」，現在把網頁名稱改成「Install XXX on Linux」看來是跟Canonical的SnapCraft學到了這招，有利於在搜尋引擎讓人想點進去。只不過SnapCraft更賤，他們會把後面的Linux換成任一發行版的名字增加觸及率 🤪\n20240204 在立法院的另一頭，一群自稱「統一義勇軍」的民眾也聚集一旁感謝「台灣民眾黨」，表示「感謝 369 萬聰明人投給白色力量，讓民進黨不過半。」\n都沒發現這些魔怔人還在，新聞都只有報台灣國成員的抗議。如果再來一次318學運，請韓國瑜院長不要動用警察權，我要看共匪和覺青彼此打得頭破血流，看是甩棍還是台灣價值護體要強。\n20240204 盘点一下台湾人永永远远是中国人的几点证据 - r/real_China_irl\n台灣人說穿了不過是民主化的（前）中國人，脫支不脫味。我們台灣真的太厲害了！我最喜歡的評論：「好險我早就魔怔了 兩岸一家親 早該全屠屠了」\n20240203 【音樂欣賞】 聽完動漫《歡迎加入NHK！》的原聲帶，發現了很多良曲，很多都パール兄弟寫的，痛心又溫暖，比如〈ようこそ！ひとりぼっち〉、〈いかすぜ！ポジティブ・シンキング〉、〈夏の日にようこそ！〉、〈陽炎列車〉。〈もどかしい世界の上で〉的鋼琴版更是讓人掉眼淚\u0026hellip;\n這些歌曲可以說解釋了NEET的心境，還有對走出去的盼望。細細品嚐歌詞，能找到許多鼓動人心的文字：\n比如「ちっぽけな世界なのに　何故だろう　この両手には大きすぎる？ はてしない世界なのに　何故だろう　この両手には小さすぎる？」。\n還有「いつも最高の気分でいたいはず｡ 恐れないで｡ 信じるだけでOK!優れたアイデアがあるから｡ ほほ笑むには15の筋肉を動かすだけでいい｡ でも陰気な顔をするには､73の筋肉を動かさなければならない｡」\n我認為最美的：「それでも夏の日　似ている青い陽｡ ほら　扉の向こうに｡　君はいる　サニーサイド・ルーム｡ ようこそ夏の日　こんどは逃げずに｡ 今　扉を叩こう　めぐりくる　サン・シャワー｡」\n20240203 綜合台灣國內外人士對三立的評價：王志安：應該成立個四立電視台，專門和綠共鋼。韓國瑜：建議三立改名叫做兩立，少了一粒良心。黃國昌：東森侯侯台，三立打手台。巴哈場外：三民自 = 刪民智。柯文哲：你是哪一台的？（壞笑）。（某個瘋狂宇宙）川普：Fake News！\n回家剪有線電視，寧願看YT自媒體評論時事，不要再「被動」餵食垃圾資訊了。\n20240203 現在我有點厭倦新的社群媒體平台，比方說Threads、Lemmy、Clubhouse。Threads除了上面都是綠色蟑螂讓人反感之外，目前沒有什麼必須用的理由。未來會接入聯邦宇宙？啊不就商業版的Mastodon？沒有熟人介紹下真的不知道用那個幹嘛，Facebook還不夠熱鬧嗎，也不能色色。\n可能習慣西瓜偎大邊了，大型平台已經成熟，沒必要去用小眾的平台。好比很多人說Telegram棒，可是Line就是比較多人用。\n若做自我觀察，參與小眾社群媒體往往都是有「目的」的，或是討論禁忌話題。很多平台平常不會開，偶爾才去看，看了也可能是要問問題的，日常互動幾乎沒有。例如4chan、Reddit的特定幾個板、Gab、品蔥、Matrix、IRC。\n社群媒體得用久了才變成日常事務，能夠找到社團長期經營，讓我每天都滑的，比如Reddit、Facebook、Twitter、PTT。其中英文圈＆簡中圈我最愛的是Reddit，什麼內容都有又不會像FB演算法亂推一些奇怪的東西。只要Reddit不要再搞收費的騷操作應該還是會有一堆人賴在上面。\n20240203 看板Gossiping - [問卦] 台大持續被攻擊XD - 批踢踢實業坊 現在民進黨支持者連台大都能戰？都少子化了國家還大撒幣補助私校幹嘛。爛台大？喔我們的蔡總統連論文都找不到確實蠻爛的啦。圖片\n重點在於齊頭式平等不是平等，是騙票。應該讓市場機制決定大學去留。\nReddit右狗哥在拷打左人环节：我们为什么要上大学一文講過：「现代大学的职能是学术研究与职业教育，学术研究是聚集那些天赋异禀的人来探究世界规律万物奥秘，并不以经济利益作为考量\u0026hellip;那些tankie，你问他们上大学目的是什么，我猜大部分人找个目的都整不明白，不然也不会选择LGBT性别研究专业」\n儘管過去廣設大學的政策讓我有接近私立品質的後段公立學校讀，我也不支持無腦補助私立的作法。\n台灣的大學學費疑似還是太便宜了，在美國，上大學真的不是必要的，消除學貸的齊頭式平等實在很難說有幫助，換到補助私校的問題也一樣。換日線的報導講到，頂大生甚至有的根本不在意私校有補助這回事，會因為有補助人們就不去競爭頂大嗎？齊頭式平等真的能幫助到弱勢嗎？\n20240202 亂槍打鳥的業配找到我頭上，都不好意思拒絕。比方說賣什麼AI照片修復軟體的、線上圖片編輯的，說是能夠提供高級帳號讓我試用，並要求寫個業配文。隔天，我就會默默寫一篇「如何用開源軟體達成XXX功能」的文章，馬上打臉這些專有軟體的貨色。你說這樣誰還敢找你業配，嗯啊反正那些軟體連Linux版都沒有還敢找我。\n20240202 【音樂欣賞】 竇唯 - 黑夢 90年代的中國音樂真的是寶藏啊，魔岩出品品質保證，這張專輯時而呢喃時而嘶吼，竟然能讓人一聽再聽。其中〈還有你〉、〈開心電話〉、〈高級動物〉很有特色。\n20240202 真的，阿北以後接電話都要錄音啊，有問題就能打臉民進黨與其側翼的抹黑。根據Facebook粉絲專頁民眾講堂的整理：立法院長選舉，綠營各路人馬聯繫柯文哲，代表民進黨高層人士來柯辦，請柯與陳通話。陳醫師主動打給柯不通，再請張金堅聯絡柯。中間人傳陳永興電話給柯，請柯回電。#吳崢造謠出來道歉\n20240202 「我是人，我反核」絕對是我過去喊過最後悔的口號。小時候不知道，被老師騙去寫信給馬水母拜託用綠電。上大學後，讀了資料了解到是政治凌駕專業的後果，搞到現在核能要拆不拆的，比賴皮寮還要讓國人難堪。\n關於支持核能的理由，核能流言終結者的相關貼文都解釋得差不多了，足以反駁那些用愛發電，意識形態大於一切的人。如果還整天用「核廢料放你家」的理由來反核的話，那我要說他們根本連法條都沒讀過（延伸閱讀：核廢料放我家真的沒有問題嗎？──《怕輻射，不如先補腦》 ）。不要再滑手機了，核輻射都沒外洩就先燒壞腦子了。\n至於不用核能是否導致缺電，有待商榷，但是非核家園2025的政策確實被打臉了。\n20240202 GitHub有名為PikaPika的APP，星星數量僅次於EhViewer，支援全平台蠻方便的，能夠讀一般向與R18漫畫。嗯，但是背後網站來源是哪裡呢？老實說我不喜歡這種類似iOS Settings AV APP的設計，很多盜版漫畫網站起碼還有網頁版，而PikaPika的設計感覺就是「禁漫天堂」一樣給新手使用的，帳號不知道註冊到哪裡去，首頁分類設計過於直球而且很農逼。\n還是回去用歐美的E-hentai好了，EhViewer設計很清爽。且習慣了tag模式，這樣找本比較有趣，已經回不去以前看伊莉論壇、Kyo找本的模式了。況且E-hentai供貨穩定，必要時這裡的Archive都能下載下來。\n還有一個比較冷門的H漫APP Hentoid，很大程度依賴各站點的手機版網頁，沒有自己的介面，僅是加入下載收藏功能而已。\n我還是認為一個APP專注做一件事就好，而且要有自己特色，所以我才不喜歡Tachiyomi統一介面，靠外掛來閱讀漫畫，這樣一點都不有趣。還有用Flutter寫的E-hentai客戶端仍然不比EhViewer快速。\n20240202 如何當政治愉悅犯。民眾黨投廢票故意讓給韓國瑜看似賤招，但可以噁心到民進黨，就覺得我的三票值了。況且韓國瑜也沒那麼壞，柯文哲認證他很有料，塞子說跟美中三角形不謀而合。過去黑韓產業鏈抹的太嚴重了，一條高鐵都拉不完～以後民眾黨依然可以用8席阻擋不利人民的鴨霸法案通過，不管是誰提的。\n破壞之王劇情：阿銀，你打不贏大師兄，也要讓大師兄打不贏你，中國古拳法的奧義就是「鎖」！\n20240202 二次元真的害人，我劝你别看: r/real_China_irl：有了二次元，想打手枪了就打开电脑看看本子，不需要现实世界的女人了，久而久之失去和异性交流的能力，最后变成说话结巴魔怔废物。这和看AV还不一样，看AV是想日真逼，得多社交，看二次元想日二次元逼，不可能的。\n「如果你对异性的认知只有性欲层面，那真要感谢二次元」\n嗯嗯，說的對，如果看動漫到頭來變成了滿足性幻想的話，就很容易造成認知偏差。得承認我以前也有這種傾向，總是以性慾化的角度看待一切二次元事物，看到新角色下一步就去找本\u0026hellip;實在不可取，久而久之就會養成物化女性的習慣了。所以我們要做出區別，正常看待動漫，不要入戲太深，也要多接觸人群防止真的變成死宅。\n20240201 韓國瑜當選立法院長 獲54票勝游錫堃 民眾黨棄權 恭喜韓國瑜當選立法院長！！！！！！！韓總萬歲！！！今天不分民眾黨國民黨民進黨，不同程度上大家都是韓粉😙🙃\n20240201 硬碟，不允許一國二制。在/etc/default/grub加上這行GRUB_DISABLE_OS_PROBER=true，就能防止GRUB偵測其他硬碟的系統。對想要確實落實一個硬碟一個系統配置的很有用。\n20240201 CPU跑Stable Diffusion的方法：使用LCM（Latent Consistency Model）格式的模型吧，在CPU上跑，可以降低Step數量，比Latent Diffusion在CPU硬算的要快多了。可說是專為沒有強力GPU裝置設計的，讓AI繪圖能在更多平台運算。目前證實樹莓派和Android手機可用這方法，在幾分鐘內生出圖片。Vlad維護的SD.Next已支援載入LCM模型，SD WebUI也有人做出了擴充功能擴充功能sd-webui-lcm。但是ckpt模型可能要另外轉檔，無法沿用。\n20240201 「台灣有一群人，相信除了自由民主，還必須實現公平正義的目標」這句話講得很好。現在民眾黨和小草們能夠挽救這名與藍綠兩大黨奮鬥十年的，孤勇者。\n黃國昌2020年 . 呼喚的那群人, 不就是現在的小草們嗎 ? 當時的他孤軍奮戰, 還好現在, 他找到真正的戰友了 !\n20240201 大概知道一些Twitter上的柯粉帳號放棄更新的理由了，在網路平台的大環境下試圖為公平正義發聲，無疑狗吠火車。還不如繼續待在Facebook同溫層，起碼講話還有人理你。值得慶幸的是新戰場位於Threads，衝組柯粉已經開始與綠粉的聲量打平，期望未來能維持。\n但我們這些野狗，不屑當民進黨養的鷹犬。至少我個人不會放棄經營Twitter帳號，不過每次發文都要開網頁實在太麻煩了，不怎麼參與推特事務的情況下，如果只是要同步發文應該會串個程式採自動發布的模式。\n20240201 學運嗎？當初蔡丁貴跟公投盟的阿北阿嗯幫學生單擋 - Threads 標準綠粉邏輯，現在不就真的對應黃國昌講的政治化了嗎，越來越相信太陽花是暴民奪權運動了，反黑箱變成政治鬥爭，模糊焦點一點都沒說錯。我們肯定那些願意站出來反抗不公不義的人，但是公民運動，不是民進黨一黨的功勞；自由民主，不是綠色的專利。2024年競選廣告還在用這場運動搞仇恨動員，用政治正確掩蓋自己的失能，不知反省，才是這黨可悲之處。\n20240131 「推特上面台灣趨勢都綠色蟑螂的政治文」 哈哈，所以我傾向不追蹤講中文的推特帳號，尤其是正體字的帳號，一抓一個準，只要追蹤一個演算法馬上就推薦蟑螂的貼文給我。推特簡中圈的有趣多了，民小輪子支黑粉紅大混戰，勝過塔綠班整天對柯文哲翻白眼。\n問卦 為啥側翼都跑去推特 問卦 為什麼推特(Twitter/X)在台灣紅不起來\n20240131 問題 有沒有iWin懶人包？\n看到數位中介法和iWIN的作為，深深覺得這個政府沒救了，保護被害人立意良善的法律，最後會變成箝制言論自由的工具難道他們不知道嗎？現在政府已經深入控制傳統媒體，網路也要染指麼\u0026gt;\n根據網路獨立宣言(A Declaration of the Independence of Cyberspace)，政府根本不應該介入網路世界的運作，網路中立性連美國政府都不敢亂動了！美國有電子前哨基金會(EFF)組織，自稱重視人權的台灣應該也要有類似組織出面捍衛人民權利。\n如果台灣創作者沒有辦法爭取權益，放任政府任意擴權亂搞的話，我們以後怕不是都要用VPN＋Tor規避審查了，通訊軟體也必須使用全部加密的。那些開網站的企業也得把伺服器架在國外了啊\u0026hellip;看來這種反烏托邦的世界不是陰謀論，而是現在進行式。\n（反iWIN圖卡正在製作中\u0026hellip;）\n20240131 不是只有無腦支持台獨、諸夏主義的才有資格反共，這是我對一些大陸反賊的同情。民國派在大陸仍有市場，甚至有希望王師回歸的，所以才會對台灣現在有莫名的失望（去中化、孤立主義，還一堆支黑）。我理解他們，成長環境使然造成的想法，少數人才支持台獨（要不是自己覺醒，不然就是姨粉）。\n在這樣劍拔弩張的情況下，未來除非柯文哲當選否則兩岸沒有和解可能。\n說回我們自己，很抱歉我還是希望未來台灣可以獨立，建立台灣共和國，拋棄中華民國的國號。但在條件成形之前（起碼美國要點頭），我們還是繼續抱著「中華民國台灣」的大腿好ㄌ。\n20240131 繼中華民國軟體自由協會後，我又加入了一個新的組織：台灣民眾黨。民眾黨的入黨申請審核了二個禮拜終於通過了。先繳500就好，1000塊的悠遊卡黨證先不要 🤣\n20240131 去年參觀台北228紀念館時，我不由自主的說：「當年還是屠少了啊\u0026hellip;.」\n會這樣講很大程度受到支黑和右狗的影響，反抗所謂政治正確。在保守派眼裡，反抗政府就是製造混亂，Gab右狗曾說韓國光州事件還是碾少了；支黑也說日本人在中國還是屠少了。再加上228事件還有共產黨混入的嫌疑，我看到Twitter有用當年二七部隊（共產黨領導）的名字當帳號，就覺得蠻好笑的。\n嗯，我應該為這句話道歉。現在我認知到，比誰殺多殺少都不能解決紛爭，別人講南京大屠殺你就講文革，比誰的大廈蓋得高實在沒意思。\n應當用客觀、多元的角度去看歷史事件，而非為意識形態服務。\n20240131 讓人分不清楚顏色的鯧魚？\n其實圖還蠻好笑的XD 可惜我沒有訂到國蔥一號，只好啃口蔥加菜。\n追求公平正義的人被當成了大笑話，說是背骨仔、變色龍，說當立委毫無貢獻、選擇性打弊案\u0026hellip;嗯你高興就好，出張嘴你最強，但黃國昌不會被輕易吃掉。畢竟本人在館長直播上都說不會在意這些流言蜚語了。\n要對台灣好，不是只有無腦讚美。\n斟酌食用，國昌老師確實不是好惹的，不論藍綠跟他喬事情都沒有用。現在加入民眾黨，又跟國民黨合作，可能出於政治利益，或是時空背景不同之術，總比去迎合跳票八年的民進黨好。 現在他已經不是過去在時力頭鐵的單打獨鬥，而是有了期望改革的夥伴。另一方面，我倒要看韓國瑜有沒有真的有那個魄力支持國會改革。\n20230130 我不知道KDE Connect的開發者是怎麼確保軟體品質的，縱然有許多酷炫功能，但卻連基本的傳輸都無法穩定。連線上了常常傳檔失敗，即使我用最穩定的Kubuntu也一樣。看來看去，開源的傳檔案專案：LocalSend、SnapDrop、PairDrop穩定度都要好太多了。\n20230130 不當不理性的柯粉，小草被人說小草包也不必生氣。\n韓國瑜說過：民進黨又不是高雄人的爸爸，為什麼每次都投給它！？\n此處，民進黨可以代換成任何政黨，包含我支持的民眾黨。沒錯，沒有人是你爸爸，沒有誰更高級，是絕對高潔的存在。民進黨不是絕對的惡，民眾黨不是絕對的善，看待任何事情一旦成為「粉」就會讓人失去理智，而我盡量避免如此。\n面對對手批評抹黑之時，例如被人說「民眾黨的小草就是小草包」，你感到很生氣，這時可以參考民進黨的林飛帆的態度：「\u0026hellip;把他當作一種恭維、一種讚賞。」還有唐鳳的「\u0026hellip;稍微把自己傾斜，進入對方的狀態」\n能溝通就溝通，不行就一笑置之，用善意化解惡意。如此一來就不怕任何側翼有心攻擊。話說小草包我覺得蠻有梗的，不像是罵人的話。\n民眾黨有很多問題是事實，有問題的地方就要虛心承認，不要為了顏色無腦護航，或者用whataboutism的態度搪塞。\n如果這樣讓你感到overload，請多讀書了解辯論技巧，並多看獨立報導的新聞自行了解真相，而不是隨流言蜚語起舞。\n20230130 每當有人想講「柯粉」來貶低人的時候，我就會說：不準你這樣講柯建銘！！！\n柯建銘兒子柯鈞耀，不知情、不運毒、不靠爸、不喬事，憑一己之力，改變台灣司法\n20240129 【#賀瓏夜夜秀】1/27 新聞亂報 EP10｜新聞自報\n心中有鎚子，看什麼都是釘子。賀瓏最新的影片都說清楚了，道歉的部份已經道歉，陳律師本人也已經接受，現在只剩SJW在燒而已。\n十分敬佩夜夜秀捍衛言論自由，即使對方立場不一樣也能溝通，絕對不會對民進黨和出征的塔綠班妥協。\n看看網軍連切IP都忘記，這智商難怪去當塔綠班。Re: [爆卦] 賀瓏正式道歉 宣布夜夜秀2028支持民進黨\n20240129 Darling能夠轉譯macOS程式為Linux指令碼，目前僅支援純文字程式。很快就碰到Wine一樣的問題：缺乏系統執行時間。儘管Darling可以轉譯macOS程式，但是若程式依賴macOS的系統檔案就GG了。目前來看只有Xcode命令行能執行，Homebrew和MacPorts因為依賴系統套件會碰到大大小小的問題。\n如未來發展得當，很快就會有人寫出Winetricks for Darling了吧。但他們得先實現轉譯macOS底層圖形堆疊的方法，不然採用Darling技術的ravynOS可能會跟ReactOS一樣處在Alpha版20年喔～\n比較縫合的用法是把黑蘋果的磁碟掛載到Linux，再用Darling執行磁碟上現有的macOS軟體，就不會缺東缺西了。ㄟ可是瑞凡，那我為何不直接開虛擬機/實體機就好？\n20240129 高雄有在進步，但不是民進黨做的就是在拖累？從2024年選舉以來我就常常聽到這些笑話：柯文哲讓台北市空轉8年，韓國瑜在高雄0政績。\nYahoo新聞留言藍的發紅，甚至有支持讓中國統治的言論，有時我看了覺得老藍腦還是太多，早該屠屠了。\n欸不對呦，它算是平衡打擊的作用，每當Facebook有綠粉在無腦吹捧政府，好比這次吹高雄黃色小鴨、貶低韓國瑜，親藍粉專就會馬上發文打臉，看了很爽。\n一隻10年前就炒過的鴨子，也能讓高雄人感到驕傲 - 逆風的烏鴉\nㄜ不過若遇到柯黑藍軍，那麼我也只能笑笑滑過去了。我比較願意追蹤淺藍淺綠、友柯的KOL。\n20240129 五月天 - 入陣曲 呼應當時社會抗爭的歌曲，十年後聽來竟然還是這麼刺耳。以前台灣發生那麼多狗屁倒灶的事情，現在變本加厲了。好在，我們這一代仍有人持續發起公民運動，對抗政府。\n從以前的民進黨、時代力量，到現在的台灣民眾黨興起，是讓我覺得十二年國民基本教育「公民課」有用的最好證明（台灣公民課包含政治、法律、經濟學、社會學）。每一代都有人發起公民運動，為公平正義而奮鬥。民眾黨把2024總統大選硬生生搞成公民運動，可以說是奇蹟了，這國家還有救。不過，我不想全部歸功於黃國昌、柯文哲等人，應該說是時代潮流所推動的公民運動。\n這種公民運動，不只是關心特定議題而已（例如綠黨、基進黨的守備範圍偏窄），而是可以渲染到讓全國上下人民一起支持的大型活動，形成新政治文化，這才是「公民與社會」的真諦。公民運動跟政治造勢有什麼不一樣呢？其實很難區分，因為大家都以為自己是正確的。但是、如果課本寫的政府權力已經失衡，甚至官員帶頭違法，第四權腐敗，就需要有人出來打破這一局面。編得好的公民課本應能起到培養民主素養的作用，未來的社會要改變，靠的就是教育，以及有良心的政治家。\n對了，我寧可台灣人對政治狂熱一點，多多對話交流，也不要變成日本那樣的冷感社會，或是韓國的極端政治。\n20240125 我還沒想到yt-dlp可以這樣用。根據中國網友分析「賀瓏夜夜秀 王志安 來台灣觀察民主選舉，向中國人談治國理政」的影片留言分佈，結果顯示在民進黨以及其黨羽指使後，出征言論才突然變多。（資料來源：用潦草数据分析探究夜夜秀的舆论风向——为什么“台湾=文明=尊重残疾人”无法完全论证王局贺珑被炎上。 r/China_irl on Reddit）\n接著三民自狂發相關新聞，開始抹紅王志安是共諜，綠色夥伴沆瀣一氣，強迫人站隊表態。可憐啊。一天前影片發表時根本沒人注意到那個笑話有侮辱人之意。他批評的是民進黨拿根本不會上的陳俊翰來煽情騙票，不是在嘲笑人家身障。並且仇恨動員不是民進黨才有，國民黨也有這個問題，民眾黨未來也可能會有。值得慶幸的是，現在觀察到理性觀眾已經把Youtube留言平衡回來了，畢竟民進黨不代表台灣所有人的民意。認為王志安講的中肯的人越來越多，大概只剩綠到出汁的X和Threads難以平息。搞笑的是有塔綠班去出征王志安好幾年沒用的臉書帳號XDDD 人家主戰場在X和Youtube啦，100萬YouTube訂閱餒，粉絲護體。他都不怕共產黨了還怕你綠共？看到後續移民署的選擇性執法、以及一票人對節目中講「ㄓㄋㄚ」侮辱中國人詞彙的雙重標準，就要反思，如果我們要證明台灣的民主成熟，那還真不能給中國人看笑話。一戳破泡泡就腦羞，小粉綠跟小粉紅又有什麼不一樣。\n20240125 是的，Minetest出來十年了，還是不支援遊戲手把(controller, gamepad)，電腦與手機版皆然。目前按照官方Wiki建議，即使有真的遊戲手把，Minetest仍無法直接使用手把操控，起碼遊戲根本沒有這方面程式碼。如果堅持要使用手把，就需用手把映射軟體將手把按鍵映射為鍵鼠操作。在Linux上，可以安裝AntiMicroX設定，支援X11和Wayland。接著製作設定檔，這樣開啟Minetest就能用手把操作了，亦適用Flatpak版Minetest。\n20240124 民进党发言人专门谴责我在夜夜秀上的言论，笑死了。\n民進黨確實已經成為綠共。綠共出征寸草不生，希望明眼人可以去聲援夜夜秀的諸位，不要再有藝人因為惹到「黨」要被迫道歉。我看王志安上夜夜秀講的東西很中肯啊，對支那的笑話回擊也很到味，還看出了藍綠選舉的問題。怎麼現在玻璃心現在反倒換成小粉綠了？講出問題就說人家歧視，還抹紅人家是中共間諜嘞，合著你不支持屠支就是中共同路人是吧。\n很多中國反賊也認為王志安是大外宣，我倒覺得沒有那麼誇張，他可能就是比多倫多方臉還要理中客一點，但絕不是小粉紅。\n20240124 簡易相簿轉成訂閱制軟體後，有人在Reddit說：「Android用戶習慣當免費仔，他們對於APP要收費感到震驚，也不解一些開發者以iOS為優先的開發模式」\n我不反對為應用程式付錢，我也有訂一些串流。但是如果是日常用到的重要程式有開源的選擇，為何要把自己跟那些軟體綁在一起？\n私以為，如果因為iOS有比較多獨家APP而去用iPhone，還付錢，等同把自己綁進walled garden，形成共同的壟斷結構。除非開發者有眼光，否則僅使用針對iOS布局的應用程式還為此得意便是在葬送自己的自由。\n你訂了一個新程式，隔天又有一個新程式出來\u0026hellip;你還希望這個程式能收費便宜一點，施捨功能多一些。要不然就是等限免去搶。然後你發現，他們好不容易出Android版了，嘩，再削你一筆。 要跳脫這種惡性循環，就是採用跨平台且開源的APP。Android開源APP數量很多，是iOS望塵莫及的領域。況且App Store根本不允許GPL的軟體上架。在Android世界我們有F-Droid和GitHub等開源社區組成的淨土，對抗混雜惡質商業軟體的Google Play。在Play商店上，良心軟體難以被發覺；開啟F-Droid後，便是另一個世界，充滿了各式各樣的開源軟體。他們懂得服務用戶，而不是把用戶當商品。\n20240124 Reddit r/China_irl有人說過，政治是最好的春藥，當你接觸了一些政治觀念，跟著呼口號、唱文藝歌曲、參與造勢活動，便很容易被帶走了，不論那是無政府主義、共產主義、資本主義、或是某種民族主義的認同。這裡有個好例子：唐朝 - 國際歌，任誰都會被其感動吧。是的，如此一來在討論政治的激情，便會不斷給人多巴胺的快感，從而產生比性慾更高的爽快感。我要說，政治觀點不過是看事情的角度不同，屬於信念上的鬥爭，是永遠吵不完的。這個時候，加入一些理性務實的角度，取代絕對崇高的道德觀念和情緒勒索，就可以用比較客觀的角度去看待政治觀點。就像，我不會完全仇視民進黨、共產黨的所有人，因為裡面還是有良心之士；但是、塔綠班哥布林看到還是得殺。\n20240124 Bôa - Rain\n網友：「當人們發現Bôa不是只有Duvet這首歌曲。」\n這首歌詞寫得很有趣：Rain, suicide is rain in pain, suicide is rain in pain. 自殺就是痛苦的雨滴，噴濺屍體像是雨滴一般！\n20240124 追蹤了許多友柯粉專，原來我並不孤單。在2024年柯文哲參與總統大選的前後，出現了很多義勇軍和小草，開始在社群媒體形成勢力，足以跟親藍、親綠的KOL分庭抗禮，裡面有政治人物（本身就有聲量，甚至有實權），有文藝界（幫忙繪製挺柯漫畫、製作影片、創作歌曲），還有衝組（愛出征挑釁人家的），謝謝你們這麼挺阿北。\n扣除政治人物，我目前想到的友柯KOL：愛莉莎莎、館長、DearNana、葉式特工、哇洗Ken大叔、邏輯思考x有一說一、工程師看政治、朱學恆、張喬瑜、陳清茂、王尚智、勾惡、街頭麥克風\n好吧我必須說裡面很多其實都偏藍的\u0026hellip;少部份是綠轉白啦。活動地點大部分集中在Facebook和Youtube居多，近年來一些人也開始往X、Threads的方向攻佔了，不能讓塔綠班在那邊獨大！\n20240124 幹壞事是進步最大的原動力，性慾也是。寫程式相關文章用不到什麼高明技術，但為了做NSFW頁面，更好的呈現圖片與排版，就引入了各種酷酷的JavaScript函式庫 ＝＝ 又因為我目前還沒學習動態框架，所以採用了很多古老的JQuery技術來做單一網頁，但還是效能不彰啊。未來應該考慮換個能引入部份動態網頁技術(例如React)的靜態網站框架了，讓多媒體能更為豐富。\n20240123 川普控「台灣搶走美國晶片生意」未承諾協防　美媒：引起憤怒關注 我川不威武了，川普現在左打烏克蘭右打台灣，讓我想到南方公園經典橋段：They took our jobs!\n20240123 問卦 驚！世界最大漁港升級計劃花了那麼多？\n前鎮漁港改建80億台幣。西班牙Vigor Port漁港改建100億台幣。但是瑞凡，人家的漁港面積是你的100倍大。 #信lie台灣 #民進黨執政的下場\n後續回文有人說是不當類比，實際上沒差那麼多，喔ㄅ歉，畢竟八卦水準(ry\n20240123 自2022年退出Minecraft基岩版Add-On開發之後，我就很少開VSCode了，改用VIM、KDE Kate和終端機為主的模式。現在又開始用VSCode了，在Linux上它還是編輯器首選，除了本身是Electron開啟慢之外幾乎沒有可以挑剔的地方，遙測功能亦能關掉。這下我的KDE Kate徹底淪為Notepad++一般的存在了wwww只有開起來很快是優點。但相信我，先用過VIM和終端機為主的模式好一陣子，再回來用IDE會對程式有更深刻的了解。你知道有設定檔和指令這些東西，就不會看著滿螢幕的按鈕不知所措。\nReddit用戶說得好：\u0026ldquo;Development tools that make things easier are great. Development tools that hide important things from you are less great.\u0026rdquo; 這也是Arch Linux的哲學，不將細節隱藏！因為接觸過Linux，所以我能猜想VSCode程式背後運作的原理了，除錯也比較知道怎麼下手。\n20240122 現在才發現原來我的Hugo Markdown frontmatter從使用MemE主題以來，一直都是用不標準的json格式在寫yaml格式的陣列，Hugo編譯還給過。圖片：派大星發現自己沒鼻子.mp3 謝謝你，vscode-front-matter讓我發現這件事。\n20240122 要安裝Gentoo，你應該讀官方Manual 。至於這個Install Gentoo Wiki網站\u0026hellip;自從我看到一些奇怪網站的介紹，我就知道這不是正規的Wiki了，原來它是玩4chan的科技宅所編寫的產物，裡面有很多看板資訊。使用Linux可以讓你取回數位自主權，並且逃避主流網站的監控機制。\n20240122 Chink Shit General，簡稱csg，是4chan的/g/板塊有關中國便宜貨的討論串，封面圖就是小米的兔子。小米手機真的俗又大碗 —— 如果你懂得刷機的話啦，不然用MIUI照樣是監控拉好拉滿，而且又臃腫。\n20240122 Comedy is legal on this platform! - DogeDesigner 在X開玩笑是合法的（意味深）惡搞性少數群體也是可以的喔！我看到End Wokeness給這個推文點讚，所以做如此解讀。要不是當年不甩政治正確的馬老闆買下Twitter，還解散審查貼文的委員會，這些右狗帳號也不會活這麼久，可能講一句調侃LGBT的話就像在Reddit一樣被ban了。但是沒有！Twitter依然在此！\n不過其實我也不是很贊同一些右狗的觀點，他們跟左逼一樣都在宣揚仇恨呀，更別說陰謀論和反智觀點了。有些右派人士可能像我一樣是樂子人，用「維護保守主義」的大旗來合理化霸凌弱勢的行為（與之相對的是左逼以為他們可以代表「弱勢」、「進步理念」發聲，殊不知是升高對立）沒讀書只會複讀申必觀點。所以囉，政治立場還是不要隨便說死才好，我可以在彩虹光譜擺蕩，哪個議題合乎科學理性務實我就支持，當個中壢理性選民。\n20240122 Flatpak包裝的沙盒應用程式，幾乎沒有一個按下「重啟」後能真的活過來的。然後\u0026hellip;行程\u0026hellip;它就死掉了！（黃國昌與羅瑩雪.mp4）\n20240121 OpenGFW is a flexible, easy-to-use, open source implementation of GFW on Linux\nOpenGFW，中國GFW模擬器。幾個月前我在Reddit的real_China_irl發文問過是否有模擬GFW的軟體，好讓我測試翻牆軟體的實用性，結果遭到了翻牆窮蛆的無情嘲諷。畢竟我不住在中國，在寫迷霧通VPN的review時無從得知你支的防火牆有多強，現在終於有驗證防火長城的玩意能用。\n20240120 引用一首國民黨花錢做的歌曲：賴皮寮～賴皮寮～賴到底～ 欸不是，賴皮寮就這樣下去了喔，選舉後就沒人在意了？來看賴皮寮會不會在猴猴被罷免前拆完，如果不拆，就沒資格講柯P炒地。而且看人家處理掉遊覽車的速度多快，才不會賴著不拆！\n20240120 小八卦：如果有老師真的聰明到用Linux上課的話，你應該要知道，不需要額外軟體，KDE設定的桌面特效就有「滑鼠點選特效」和「螢幕畫線」的功能，都是透過Kwin實現的，X11和Wayland都能用。如果搭配KDE Connect還可以手機簡報筆。這些工具在教學、拍影片的時候很有幫助。\n20240120 AudioRelay，原來還有人專門做了個手機當電腦麥克風的軟體，不過其實DroidCam配合PulseAudio就能達成了，再不濟也有VDO Ninja結合OBS的方式。Using Your Phone as Camera and Mic in Ubuntu Linux\n20240120 Experimental Minetest build for WebAssembly/Emscripten\nminetest-wasm這個專案蠻有趣的，把C++寫的方塊遊戲變成WebAssembly，瀏覽器就能執行，這樣我們就不用再玩那些三流盜版「網頁版Minetest」啦，作者的demo還可以即時線上對戰。缺點是不能存檔，因為資料都在記憶體的緣故吧\u0026hellip;那做個下載存檔的功能不行嗎？\n20240118 【討論】對民眾黨台北市議員起了性慾\n場外人這是否有點\u0026hellip;還有人說想被民眾黨的女生圍著罵，嘖嘖，台巴子跟國男一樣下頭。綠能你不能啦，只要別黨開始賣肉，民進黨婦女部就會開噴，自家人（例如黃捷）就裝死。\n20240118 Reddit r/fossdroid的板主對專有軟體是殺無赦的，膽敢推薦閉源軟體就ban你。他還曾經在置頂文說：Notion不只是專有軟體，還是間諜軟體。說得好！你手機有Google的GMS全家桶監控你還不夠，重要的筆記還放在別人家的平台？幸好我都用Joplin搞點對點加密儲存。\n20240118 Brave的體驗還是不如Chrome好，儘管跨平台擋廣告很好，可是他的同步速度真的很爛，傳送至裝置也會delay很久才送到\u0026hellip;。\n20240118 Google Adsense替代的廣告商研究：這些廣告商特色就是審核比Google Adsense寬鬆，基本上網站內容不要太誇張都會給過，缺點就是廣告侵入性高，Adsense能將廣告巧妙的融入網頁，推薦的東西比較準，畢竟現在很多人都有手機，把自己隱私獻給Google了。相較之下這些替代廣告商可能會較常出現VPN、約砲網站、假防毒軟體的廣告。ExoClick：他們允許放置成人網站廣告。Monetag：PropellerAds換皮公司，不允許成人網站廣告。BloggerAds：台灣本土的廣告聯播網，好像沒人在用了，只剩下業配接案。以前我還看過PcHome的廣告聯播網，但是放Amazon的referral link可能還比較實惠吧。\n20240117 我對開32位元函式庫一直很反感，尤其在Arch Linux和Gentoo會導致一堆套件重新安裝。所以現在我比較喜歡沙盒隔離的作法：既然Steam和Wine一堆遊戲都需要32位元函式庫，那就用Flatpak把他們關起來，讓base system儘量保持簡潔。\n20240117 台灣新國會三黨不過半，民進黨必須學會協調　河崎真澄：台灣人民不想把權力全給一黨，但也不到政黨輪替的程度\n三黨立委不過半是好事，歐洲很多國家都是多黨制。認為民眾黨和國民黨會讓台灣空轉的塔綠班可以省省了，你民進黨是什麼東西值得完全執政八年還繼續獨裁？沒有新加坡的執行力還戀棧權位。現在有三個互不隸屬的黨（民眾黨非小藍亦非小綠）可以互相制衡，可以擋下一些鴨霸的法案，防止民進黨以抗中保台當藉口掏空台灣。\n20240117 ㄌㄨㄚ、清德曾在2018年指出，男男同性戀是台灣愛滋病主因。在PTT gay板以外的看板，同性戀仍然是鄉民日常調侃的對象。嘗言：又髒又毒又帶病，強制申裝害人命。八卦板常常肛來肛去的，除了母豬教以外，還有反甲連組織，專門對付狂甲。不過，有時候會遇到善甲郎，鄉民就會放過他們一馬。\n20240116 現在國民黨還有泛藍人士整天抓政黨輪替失敗的戰犯，說黃珊珊的假民調害慘大家。講點奸詐的，ㄟ，黃珊珊這次選舉戰術運用成功，你應當心服口服才是。雖然褲子被冲走了，但國民黨沒上也是好事，民眾黨沒有因藍白合同流合污。我認為歧視鏈是這樣的：民眾黨 \u0026gt; 民進黨 \u0026gt; 國民黨 \u0026gt; 共產黨。缺點就是，以後沒人敢再信她的民調了，不論是不是假的。\n20240116 Hugo Gallery Deluxe主題是載入速度超快 ～ 的圖片展示網站，支援單一畫廊或多重畫廊。這是Hugo開發者親自寫的主題，宣稱Google Lighthouse載入速度可以拿到100分。但就只能當畫廊而已，頂多讓你換個按鈕，功能很簡單。\n20240116 我覺得GNOME直覺的地方在於工作區和視窗移動，尤其適合筆電。如果KDE要模仿GNOME的視窗管理，方便給觸控板操作的話。那麼就在工作列加兩個空白，把KDE開始按鈕弄得像Windows 11一樣在中間。再透過KWin文稿 Dynamic Workspaces達成「自動新增工作區」的效果。KDE Wayland四指上滑進入工作區（虛擬桌面）預覽，在這個畫面就可以直接拖動視窗到其他工作區。\n20240116 Linux要多開程式很簡單啊！虛擬機、容器隨你用，隔離超級方便，更別說現在主流還有Snap、Flatpak、AppImage三種安裝方式，他們資料位置搞不好都不一樣，多開可方便了。\n20240116 Hydrus Network TagRank是有趣的擴充功能，透過對比圖片，慢慢找出我感興趣的標籤。Hydrus Network儘管是夢想中的軟體，不過操作還是有點複雜，對倉鼠症的人真的有用嗎？可能還不如資料夾分類快吧。\n20240115 抖音一響父母白養，這點對柯粉也適用。有些柯粉質疑作票的來源影片竟然是抖音，現在還有陰謀論扯民進黨控制所有媒體，仿佛認為只有自媒體可以信啦！現在還成立「反作票大革命」FB社團？未來八成會被有心人士利用。這些腦衝柯粉比韓粉還不理智，未來應該要制止這些瘋子，不然我們真的會被別人當成白蓮教。讓我感到不安的是，一些友柯YouTuber也跟著上車，他們的訴求已經模糊焦點了，如果要求開票公正，應該請民眾黨提案修法，不是當暴民。\n20240115 快訊／施明德今生日凌晨辭世！　享壽83歲\n很喜歡施明德的一句話：「只要民進黨的人貪污被抓起來，他馬上說是政治迫害。那國民黨的人貪污被抓起來，都頭低低的，都不敢講話」還有2015年，他就講出了民進黨一黨獨大的禍害，真不愧是對抗過威權的老前輩。RIP，民進黨最後的良心。值得慶幸的今日我們立法院終於三黨不過半了。\n20240115 台灣畢竟不是個國家名字，台灣共和國並不存在。中華民國，世界上沒有多少國家承認，還常常被共匪吃豆腐。我這段說法是延續李敖的觀點。\n於是我們想了「你好，我好，大家都好」的做法，中華民國台灣，或者各種詭異名字，參與國際組織，跟一些國家玩名為民主遊戲，跟中國玩心電感應求包子不要打過來。事實上大部分人都因為利益，台灣才得以取得生存地位，畫著不穩定的三角形。\n每次聽到亞細亞的孤兒便自覺這個國家甚是悲哀。\n20240114 這不是作票！什麼才是作票？原本不相信！直到半夜收到雪片般飛來的監票影片，才發現事情大條了！\n2024選舉作票這車我暫時不上，有些柯粉已經失控了，再這樣洗下去台灣的匿名者Q就要衝擊立法院了。(台灣的匿名者Q？勾惡幫？）選輸就承認，並想著如何改進民眾黨，不要搞得像川粉2020年幹的事一樣，這已經違背了柯文哲的科學務實理性原則。\n影片點出的問題，即使重新計票也很難翻盤。但是點出的問題倒是可以給未來的立法參考，台灣應該引入更多電子投票機制，並允許不在籍投票，防止人工疏失。\n20240113 趙少康30年前選台北市長講過，台灣就要毀滅了，毀在民進黨納粹法西斯手裡（此處僅是搞笑引用，當年對手是正經的陳水扁）。這次選舉老害太多了，一些老人寧可台灣繼續沉淪也要投給死嗑中國的國民黨 == 這次民眾黨沒有達到預期的教訓藍綠效果，甚是可惜。但我們要堅信，未來改革的力量還是會繼續走下去，未來國民黨還是得消滅，並下架貪腐的民進黨。最起碼，民眾黨國會不過半就達到戰略上的勝利了，而且民眾黨沒有被棄保，黃國昌重返立院來打弊案。此外，柯文哲掀起的新政治文化真正的啟迪一批民智，出現了新的中間派系，小草的行動真正感動到了我，第一次為了阿北衝凱道\u0026hellip;.今年我會找個時間點把民眾黨入黨申請書填一填。接著按照柯文哲講的務實精神，接下來4年重新振作，為2028再做準備。\n20240112 欲駁斥disDoctorKoWJ.pdf「柯文哲症績」的柯黑文件，看工程師看政治的影片就知道，這整個文件很多是為黑而黑，無稽之談。這個文件一開始僅在Twitter的泛綠陣營流傳而已，有人還做成網站了，恐怖喔。\n如果你仔細讀，就會發現是帶有特定立場側翼寫的，用真實新聞斷章取義，加上側翼的渲染就變成負面文字了。有些引用「知名人士」的說法也全部都是綠營側翼的過度解讀。從另一個角度也可以知道，綠營還是有把柯文哲當對手看，不然不會花時間做這個。 柯文哲的正向政績影片太多了，足以打臉這個文件，一一反駁是浪費時間。值得一提的是，文件後面還有台派粉專的帳號列表，加上柯粉YT列表。之前據說柯粉台被大量檢舉就是按照這個表下去操作的，所幸他們沒有成功。\n20240112 當年我也有關注太陽花運動，可現在民進黨還在收割太陽花，拍廣告恐嚇，利用反中情緒綁架選民，根本ㄏㄏ。反服貿黑箱變成反服貿，好一個簡化論述。結果給民進黨執政，這麼多年過去，國會還是一堆問題，該立的法條都沒立，兩岸監督條例不見蹤影。\n我們要實現新政治、新文化，在1/12凱道，挺柯文哲的各位小草，跟參與過太陽花的黃國昌等人，讓我們再次實現我們這一代人的「島嶼天光」！\n20240112 起風了，連陳水扁前總統都暗示挺柯文哲了，用台語唸更清楚。畢竟柯文哲是在民進黨六親不認的狀況下唯一一個願意幫忙阿扁的人。有人認為這可以撼動一些還有良心的深綠票\u0026hellip;\n陳水扁 台灣的選擇\n20240112 如果看過2018年名嘴吳祥輝和葛特曼在電視上的操作，你就不會浪費時間跟推特上的柯黑吵架，因為他們的論點比王世堅的質詢還不如，寫的都是一些莫名其妙的論點，不針對政策來討論，只會指責人家性格。\n論柯黑還有分梯次的，做個假設，一些人是腦衝才粉轉黑；另外一種是要不到好處，發現柯文哲不貪污，也不打虛無縹緲的「政治正確牌」所以變柯黑。儘管沒有固定顏色，現在我們認同的是阿北的務實價值，該合作的時候合作，該競爭的時候競爭。\n20240111 柯文哲這次出來，真讓我從支黑變理中客，開始相信王局志安和多倫多方臉的理性觀點，疏離樂樂法利之流的頻道。支黑真的口嗨就好，偶爾嘴上講屠支，但台灣人還是要救自己國家，不需要推上中國人告訴台灣人投把「民主」掛嘴邊卻各種貪污的民進黨，為了反中可以罔顧內政問題。實際政策必須大於意識形態。\n20240111 Neo Launcher看起來是開源桌面APP做的最認真的一個，更新很勤，功能能自訂的很多，但有個嚴重影響觀感的問題：動畫很突兀。Android 12以後，Google給原生系統加了很多動畫，比如從首頁打開APP會有畫面收縮的動畫。但是Neo Launcher的轉場很不連續，據說是Google不開放相關API的原因。\n20240110 過去裝Android全域擋廣告模組，最近我卻決定不用了。不論是VPN(Blokada)還是改host(Adaway)，我認為會影響正常手機APP的使用。我的常用APP以開源的為主所以幾乎沒彈窗廣告，不需要擋廣告程式常駐去擋流氓廣告。但擋廣告軟體會干擾一些APP的連線，事後檢查白名單很煩。所以現在是採取僅個別APP實行擋廣告的策略，例如Brave主管瀏覽器、YouTube Revanced擋影片廣告。\n20240110 國防警報！小編跟風「發射優惠已飛越官網」引戰　六福村回應了：有何不妥？\n國家級笑話活該被人看笑話。Facebook上不只六福村，多家業者跟進玩衛星梗，包含漢堡王、全家、全國電子、貳樓、空中英語、家樂福。這一次我們不怕像Netflix一樣被塔綠班出征。讓民進黨知道，網軍治國被人民反撲的下場。\n20240110 太神啦，你揭露我戰國策網軍，我揭露你的抹紅選舉計畫。\n戰國策的事情已經被四叉貓認證是假的了，柯文哲只有義勇軍。看看這個民進黨敢不出來反駁。\n民進黨\u0026quot;內部機密文件\u0026quot;大公開!點名\u0026quot;三立.年代\u0026quot;淪蔡政府\u0026quot;英犬\u0026rdquo;?侯漢廷狠揭綠\u0026quot;四階段介選\u0026quot;手段全說了\u0026hellip;.｜熱搜發燒榜\n20240110 【突破 ! 媒體封鎖之夜】不滿媒體被藍綠把持掌握的全國人民，一起站出來 !\n看了這個直播抗議真的很失望，沒想到小時候我在社會課本讀到的反媒體壟斷運動，到現在活生生重新上演。趕走旺中集團，來了三立，藍綠分贓，NCC擺爛，唉，網路節目可能都比傳統媒體公正了。多虧有志之士還願意站出來反對這種現象。我覺得與其一次退訂所有有線電視，不如多推廣幾個公正點的電視台，並看黃國昌未來會推出什麼樣的媒體監督計畫。\n20240110 侯友宜最新競選廣告「台灣的未來」曝光! 14縣市長高喊:集合吧! 真的會被國民黨笑死，2024年競選廣告還有致敬15年前馬小九廣告的意味。這支廣告開頭氛圍其實還行啦，看來還是有花錢的。嗯不當黨產委員會還是沒收少了。\n正直和善良都回來了 ← 啊這句怎麼不見了\n證明國民黨除了多了個韓國瑜外，根本沒進步，跟民進黨一起下去吧。\n20240110 要投小黨，與其投基進這種瘋狗，不如投更廉潔與理想的時代力量。其實這集把他們問題講得很清楚了，他們確實不想做小綠，但又難以跟阿北自詡為中間路線的區隔開來，第三條路中的第三條路真的很辛苦。如果今年沒有民眾黨出現，我的確會投給時代力量。\n【#賀瓏夜夜秀】王婉諭、呱吉 一肩扛起了投票指南\n20240110 笑死，2024年連韓導的邏輯都爆殺塔綠班了。\n賴清德情緒勒索礦工，說是欺負弱勢，謊話說盡，賴皮寮就是賴著不拆。\n【全程字幕】又是三立! 韓國瑜不忍了霸氣回擊 直言\u0026quot;礦工小孩\u0026quot;發言被刻意扭曲 韓國瑜:我們自己都是辛苦出身憑什麼看不起勞工\n20240109 國家級警報狂響！中國15:04發射衛星 飛越南部上空\n太瞎了，中國跟歐洲聯合研發的愛因斯坦衛星發射經過台灣上空，需要發國家級警報二次？英文還不小心寫成\u0026quot;missile\u0026rdquo;？民進黨以為這是芒果乾衛星是吧，殊不知這樣搞只有反效果而已。好好笑，還有人護航因火箭飛過南部才要發，那2022年真的飛彈飛過我國上空還要等日本通知是怎麼回事？我看到更扯的說法講「火箭跟飛彈一樣是彈頭」吼吼這些側翼的邏輯真的是不能想像。我不是在吹捧中國啦，可是在選前發這種發訊息還真的很故意，是想鞏固看不懂國字的死忠老人票？\n20240109 支那豬思維真的蠻噁心的，知乎討論台灣選舉的問題，很多人會正經分析，大部分言論客觀，我認為這很好。\n但還是有人動不動就「反正以後就是要統一討論這個沒戲」、「台灣的民主就是笑話」的洗地說法，居高臨下似的；不然就動輒以共匪唯物主義、階級鬥爭論看待歷史議題，一點人文關懷都沒有。他們是不是張維為的節目看太多了？我想這也就是一些中國人不配民主的原因。\n20240109 有时候真的觉得湾友很幽默，合着反对派都是中共代理人是吧\n以Reddit的中文sub來說，不是支黑神友的千萬不要看r/Taiwanese，台灣事務沒有，只會看到一眾塔綠班的無腦吹捧民進黨。在這種極端氛圍下，在太監區r/China_irl發文的台灣人都相對可愛多了。雖然有粉紅混進去，但是塔綠班言論基本上會被踩爆，整體來說偏向理客中。\n20240109 【柯文哲競辦記者會LIVE】藍綠財團掌控媒體 新聞專業蕩然無存—台灣民主的危機與展望\n關鍵時刻是不中立的節目，從這幾個月的來賓發言便有這種感覺，尤其是那個欠柯文哲好多錢的吳百萬。罵民進黨就算了，還整天抹黑柯文哲。讓人想起吳祥輝在2018年的操作。\n現在根據民眾黨蒐集的證據指出，原來是因為後面的東森電視台收了國民黨的好處，新聞幾乎沒有在講侯友宜壞話的，那底下的節目會怎麼做，也就不難想像了。\n套句劉寶傑說的，我最喜歡看血流成河了！就跟三明自只會跪舔民進黨一樣，現在這樣一報，人們未來應當拒看這些垃圾傳統媒體。\n20240109 說投給柯文哲的人是「投柯壞掉」的喔\u0026hellip;是蠻有梗啦，那我來超譯一下：「不投柯，台灣就會壞掉」這樣如何，希望台灣未來能藉由這種公民運動有所改變的人，不投柯，才是真正頭殼壞掉！\n很高興Youtube新聞報導下面的柯粉主張，遇到這種事情我們要以德報怨，尊重他人選擇。然後再大聲說，好的我投柯！\n20240109 「要不是因為\u0026hellip; 台灣有機會超越新加坡」繼強國老鐵之後 新加坡大姊這通Call in再度666燃爆\n現在怎麼連新加坡的a-tsí(大姐)都比台灣人還懂藍綠政治的問題了？她說中正紀念堂改自由廣場是在做一半事情，應該維持原樣或乾脆炸掉。她還提醒台灣人要記住歷史，但得學會放下。（我的解讀：好比國民黨每年仇恨日本人、民進黨都還在消費228）如此才可以團結往前走。我想到柯文哲其實也有談轉型正義的問題，他要追尋波蘭華勒沙的轉型正義模式，把順序搞對，不是製造仇恨、清算政敵為優先吧。\n20240108 太離譜了～賀瓏夜夜秀真的不演了，公然拉票，叭叭。這下知道為什麼平平都是跳舞，民眾黨的受歡迎，而基進黨會被噓到爆了吧。\n基進黨還是花錢上節目的，原來這筆錢不是廣告費，是滅黨後的喪葬費呀。\n【#賀瓏夜夜秀】吳欣盈 參選副總統其實有點Shock\n【#賀瓏夜夜秀】吳欣岱、陳奕齊 最能靠美色競選的本土政黨\n20240108 常有些人對民主制度失望，轉而追求威權主義、共產政權、安那其主義的，寄託幻想在遙遠的國家。\n我要說這是不切實際的想法，台灣人如果去崇拜中國政府，那我只能說他沒有被鐵拳砸過。多數人的暴政就是集體的暴政。保守一點的說，民主制度只能說是現階段最不壞的。即使對現況不滿，也不該肚爛到去追求一個更加沒有自由可言的政體。\n聽過一些「前」洋五毛和run國外反賊的現身說法，我更加堅定共產主義不是更好的制度。雖然可以交流，嘗試獲取點利益，但不能盲信社會主義。\n20240108 遭諷「政治阿米巴」，柯文哲專訪反擊！轟國民黨操作棄保不誠信！最後關頭找郭台銘站台？ | 大選鏡來講\n這集總算把阿北過去的美中台的奇怪比喻解釋的清楚了，可以說是統合了他的政見。這下阿北的三角形變得更立體了，還切出四個象限區分問題嚴重度，證明他還是以台灣為優先考量的政策，這樣誰還敢說柯文哲是要單方面舔中？不是只有整天想著推動不切實際的台獨才是愛台灣啦，先解決實際問題比較重要，希望這次的公民運動可以取代過去藍綠對抗的困境。\n我聽Reddit上的神友講過，國際政治是妥協的藝術\u0026hellip;不是一定要是黑就是白，而是要試圖平衡並謀取國家最大利益，跟中國賺錢沒有什麼不好，只要懂得降低風險就可以。假設不統不獨的話，太親美不好，太親中也不行。\n20240108 黃國昌可能是我最敬佩的政治人物了，上班專注追求社會的公平正義，不混水摸魚。在道德上他的地位比柯文哲、陳水扁再高一些。儘管現在為了求官背棄時代力量而加入民眾黨，道德有點瑕疵，可是他的風格仍然不會變。他在2019年說過，「不會當小綠」，令人肅然起敬。甚至在沒有大黨支援的情況下仍可以舉辦許多抗議活動，而且都是衝第一個的。現在他沒有被邊緣化，大概跟館長結下的緣分有關吧，以及經營自身的時政YouTube頻道曝光所帶來的助益，才有更多人願意支持他。\n黃國昌的個性不當小綠，也不會當小藍。他有跟柯文哲談過底線和共識才加入民眾黨。我相信如果哪天民眾黨跟著腐敗，他肯定也會拒絕當小白，重新站出來批評不公不義的事情。\n公平正義，很多時候是比意識形態重要的。\n20240108 站在為男性感官服務的角度來看，你知道溫馨的本子有二種，一種是男性主導，一種是女性主導。同樣是男性插入女性身體，有些就是男性主導整個戰局，抽插的時候幹爆對方，雙方盡情享受。最後在熱情接吻下射精、女方的雙腿則緊緊的盤住男方的屁股，此時再來一個龜頭與子宮接吻、精液射滿滿、受精卵結合的畫面。這樣就構成一個合格的本子了。\n另一種女性主導，不是BDSM，也不是，而是女性溫柔的誘導男性插入，並給予溫柔話語，讓男性可以埋頭在乳房之間的同時又繼續抽插。此時女性服務男性的傾向就很高，用母愛的姿態征服男性，讓他可以在兩人握著手的時候，被陰道刺激射滿子宮，在男性因為過度酥麻的感覺而飄飄然的時候，女性就會撫摸他的頭說好棒好棒。\n20240108 原本以為跨平台Flutter是未來趨勢所以用JHentai取代EhViewer，但是它Android版常常下載卡住，或者動畫lag，RAM佔用很容易爆走\u0026hellip;用的很不愉快，常常尻到一半龜懶趴火。\n所幸，過去愛用的EhViewer Overhauled終於有人fork繼續開發了，介面比EhViewer好看。至於JHentai還是當檢視器就好了，它可以用雙頁模式讀EhViewer下載的漫畫。\n20240108 圖片 1/7的民進黨高雄造勢混入了1450旗幟，不知道是不是反串還是她真的這樣自稱，我們懷念她。美德贏台灣？只有1450是Made in Taiwan啦！讓我們把網軍交棒給賴清德，台灣交給柯文哲。\n20240108 我要做一個偏頗的論述：聽民進黨的競選歌曲《美德贏台灣》，依舊是讓人噁心的要死，但因為是董事長樂團寫的我還是給他們個respect，起碼曲子還能聽。老實說這個競選口號打從一開始，根本就不把台灣人民放在眼裡吧？\n對比民眾黨的《穩穩的走》裡面展現出的氛圍，自己感受，誰才是真正心中有人民。\n至於國民黨就算了吧！他們居然到現在還沒有官方競選歌曲。\n20240108 棄藍綠保台灣。最近民眾黨的小草做網路空戰影片還是有廣泛宣傳效果的，但不要花時間跟網路上不露臉的塔綠班、或者是藍腦做無意義吵架，同溫層破不了的。說服身邊真實存在的人投柯文哲比較實際。\n道德勸說環節：你改悔罷！不知悔改的，就讓國民黨跟民進黨一起下去。\n你也不要想說服那些死忠的，就為他禱告，把他們交給神\n我會講出這樣宗教式的論述，是因為之前看許忠信的影片講台南光電弊案還蠻有梗的，他說國民黨日是做神，晚上做鬼（貪污），請北極玄天上帝出來把他收掉就行了XD 而民進黨新潮流晚上做鬼，廟卻關門了，大概是找不到制衡方法的意思吧，只能在民眾黨黃國昌的場子一次給他講出來，期望第三黨制衡藍綠。\n20240107 第一次可以在選舉看到破壞之王鄉民梗合流XDD 圖片 戴著加菲貓頭套的何金銀（民眾黨小草們），要打敗黑熊（民進黨）和斷水流大師兄（國民黨），拯救阿麗（民眾黨）。\n20240106 民進黨拍宣傳影片《在路上》交棒 老鐵一番話徹底燃爆 聊天室狂刷666\n居然有住在中國廣東的鋼鐵柯粉會特地打電話來，引用美國民主政治原則，左批民進黨，右打國民黨，再罵共產黨一小時。還說民進黨的競選廣告《在路上》的交棒是描寫皇位世襲，太精闢了吧。\n先說裡面有些政策太舔共了，什麼大陸幫我們蓋社宅。不過他也說得對，支持柯文哲，不舔美也不賣台，這就夠了。\n20230106 圖片 小八卦，2014年說出要跟路上漂亮妹妹愛愛的桃園市議員候選人游良福是支持柯文哲的。「黃宏成台灣阿成世界偉人財神總統」不知道意下如何。\n20230106 disDoctorKoWJ.pdf 打臉柯文哲的症績文件寫的落落長，哇哩勒不就是政績太多才有辦法寫這麼多，咱接受善意批評不接受抹黑論述啦。可這個文件要送事實查核中心很難，裡面講的很多是事實，但是被用惡意方向解讀。再看看後面親台粉專列表，文內又偏頗的只引用他們的評論，就知道做這件的人是有何居心了。\n健保，真的賤；台派，真的爛。再次重複，台灣是世界的台灣，不是民進黨的台灣。\n如果民進黨寫論文有這麼認真就好，就不會抄襲到碩士學位都不見了。\n想看柯文哲的真政績，看黃33 po的影片 #誰說阿北沒做事 / google街景見證阿北政績，讓台北變好多\n再看看民進黨八年來的的迫真政績 民進黨貪贓枉法壞事總合輯\n20230106 嘲諷多倫多方臉七步民主化無用的漫畫 圖片 ，讓我聯想到民進黨的抗中保台 圖片 。習近平開口就是支那特色社會主義，民進黨開口就是台灣價值。\n這些人都太強調自己的意識形態了，台灣價值跟九二共識一樣被污名化了，成了特定政黨有解釋話語權的工具。台灣是世界的台灣，不是民進黨的台灣。本於世界主義的原則，這個世界應該合作取代對抗\u0026hellip;喔不，我的左逼價值觀又跑出來了。\n中國確實是台灣最大威脅，可是賣芒果乾多年，看都看累了。反賊中國人眼裡也只看得到美中對抗的「樑木」，看不到台灣人民身上的「刺」，拍片頤指氣使的要台灣投民進黨繼續獨裁。\n兩極對抗，堅持己見，沒有未來。\n20230106 我覺得有點賴皮的二種說法（哈又講了個雙關冷笑話，死都不拆的賴皮寮）\n「假如你想知道是誰在控制你，那就看看誰是你不能批評的人」（路人以目）\n「當揭露犯罪被視為犯罪，這本身就是一種犯罪行為。」（類似解決提出問題的人的概念）\n一旦發表言論就會被出征來出征去，是讓言論當事人會有這種想法的原因吧。特別是非主流觀點，或者對手網軍比你強的時候，特別會有這種感覺。所以我可以理解Cheap的講法，看他批評一句，塔綠班社群就可以吵十句。 罵民進黨會被抄家！網紅Cheap怒：合個照都會被出征！批綠就是罪？限制言論成「寒蟬效應」\n我認為給人刷倒讚、留言洗板還是可以接受的行為，但是惡意濫用機制，檢舉他人到關頻道就真的太離譜了。挺柯頻道「接連被消失」！YTR崩潰喊「是怎樣啦」網曝LINE群截圖懷疑遭惡意檢舉\n勿忘亞克畫動畫事件，真不愧是綠共。\n我滿希望民眾黨的網軍，不論用買的還是義勇軍，未來若民眾黨得勢，能自律一點，不要學塔綠班的下賤行為。或者哪天柯師父也可以給民眾開示一下，下個聖斷，約束網軍要以德報怨。\n20230105 好吧我忍不住跟著柯粉去出征民進黨的廣告影片了，但是在確認人多勢眾才跟著去的，而不是帶頭衝的。我看有些去留言也不是柯粉，還有國民黨的，和一些對政府不滿的義勇軍。\n出征不是好文明。我仍要提醒自己不要活成討厭的網軍樣子。聖經有記載，原諒你的敵人，即使我討厭民進黨，也不能把所有對手都說得十惡不赦。為的是不要像《1984》電影裡面演的一樣，群眾在二分鐘仇恨的階段看到敵人照片就進入狂怒狀態，而一看到自己支持的政黨出現便當作唯一救星。\n1984 (1/11) Movie CLIP - Two Minutes Hate (1984) HD\n個人先於國家。沒有國家、政客可以拯救你，靠的是自己站出來改變，藍綠會過去，民眾有未來。\n20230105 一個觀點：同性戀婚姻應該像德國早期的制度一樣另立專法。在基督教的觀點來看，婚姻是神聖的，你們屁眼怪愛玩屁眼我們管不著，但是不要來碰瓷正常人類「一夫一妻」的婚姻制度，故同性婚姻應排除在民法之外。\n出處：右狗TV on Gab\n20230105 一個觀點：稅收是國家對私人財產的搶劫。\n出處：CN Values；無政府資本主義。\n20230105 智慧手環/手錶也要開源軟體，拒絕專有軟體的侵害。首要選擇就是買PineTime，次要選擇是使用相容現有裝置的Gadgetbridge，起碼APP本身是開源的，暫時放過執行在嵌入式裝置上的閉源韌體。\n20230104 alsyundawy/Microsoft-Office-For-MacOS 離線破解版Microsoft Office，支援Intel與Apple Silicon的macOS。Office 2021 LTSC需要macOS Monterey以上版本。下載pkg安裝器，點二下安裝Office，裝好後先不要開啟。安裝License Removal Tool，刪除Office授權。接著再安裝Microsoft Office 2021 LTSC Volume License Serializer，產生序號，這樣開啟Office再登入Microsoft帳號，即為啟用狀態。\n20230104 在民意與倒讚幫的進攻下，賴清德《在路上》的廣告正式突破十萬個不喜歡。1450你怎麼回事，網軍的經費都被古德莉莉安貪污走了是吧，連戰國策都打不過。\n圖片 出發，我們去賴皮寮！不用再回來了。2024年下架民進黨。\n接棒？奪棒！請看狂新聞改編版本\n20230104 雖然民進黨政府很可惡，但不能以偏概全，比方說唐鳳，你不能說她沒貢獻呀，過去為開源社群做了那麼多專案，在政府任職就有更多資源可以推動建設，應該不會只是點麵線。而且她也是政治人物裡面比較不傲慢的了，曾在風傳媒的訪談說過願意跟有建設性意見的酸民溝通，這種態度不就勝過傲慢的民進黨貪官和餘下的塔綠班黨羽了。\n他的性別和政治立場我不做評價，不管他是安那其還是什麼的，那不是重點，我純粹是站在同是對開源社群有貢獻的圈子人士來說話罷了，所以我同理她。\n20230104 現在可以宣佈我是柯+韓+郭粉了，這場選舉越來越有趣了。 【全字幕】震撼！連柯文哲都嚇到了！真實民調太驚人！正韓粉、中華民國粉登高一呼！棄保啦！全場嗨翻大喊爽快！陳清茂\n這算借陰兵嗎，我不是很喜歡韓導，可是也沒辦法。\n幸好還有平衡打擊 【全字幕】新聞不敢報！台南人不忍了！親綠人士倒戈了！揭開賴清德真面目！新潮流貪腐黑幕！Ft.咆嘯戰神 黃國昌 所以支持柯文哲的不只藍色，還有綠色的。\n20230104 Twitter右狗圈看到的笑話\nA: Joe Biden is not my president!\nB: Are you Republican?\nA: No I am from India.\n搞不好他是偷渡來的呀XD\n20230104 環境使然，現在我又回去用Facebook了，雖然被批評為老人在用的，但從政治立場來看比較多元，不會像Twitter一樣現在被塔綠班霸佔。Twitter相較於Facebook，在台灣仍是小圈圈的樣子，所以才有那麼多台派瘋狗。Facebook上多方勢力已發展多年，什麼黨都有一定聲量可以分庭抗禮 ———— 包含共匪大外宣，而不會只有一言堂的情況。不想看的退追蹤就好了，不愁找不到同溫層，也不會動不動被演算法推送瞎挺DPP的發文。\n這可不是我在瞎說，搜尋批評民進黨的社群，Facebook到處都是，批評柯文哲的也很多，但Twitter幾乎沒有半個批評民進黨的有影響力大帳號\u0026hellip;除非你把小粉紅和民國派也算進去啦。國民黨和民眾黨如果可以加強經營Twitter就好了，平衡打擊。\n這樣倒覺得祖克伯沒那麼壞了，Facebook雖不能發色圖，還有隱私問題，但確實凝聚了台灣半數的民意到這個平台。我甚至可以滑坡一點的說：「正常人誰會用Twitter看色圖以外的東西？」這是鄉民講的，不是我說的。\n20230104 黑完Windows，現在來黑macOS。這是一個cringe OS，搞笑又尷尬的系統，不只沒遊戲玩，還貴得要命。除了設計語言以外一無是處。\nImagine forking BSD and making it proprietary lol. —— 來自Reddit linuxmeme板。\nPeople who use Mac products are cringe. —— 來自Reddit unpopularopinion板。\n20230104 沒有工作，沒拿薪水，整天關注自己發文多少人按讚的，觸及率高不高的，鑑定為：自我意識過剩。如果真的那麼在意自己的意見有無傳達出去，那麼去寫書、當網路打手不是更好。\n20230103 自由軟體基金會用特殊script存取Twitter API，才不至於載入不自由的JavaScript。其實我蠻想知道他們是用什麼script可以繞過Twitter客戶端發文的。 Is the FSF on Twitter?\n目前只找到這個，同步Mastodon與Twitter發文的工具 Mastodon Twitter Crossposter\n20240103 看到Youtube留言有人說：「習近平都要到人民大會堂報告，蔡英文連立法院都不用進，高下立判。」包蜜們這是否有點\u0026hellip;再怎麼討厭習英文也不該捧蔡近平。\n根據湯教授說法，我們應該修法，降低罷免總統門檻，加強權力制衡，而不是直接變成內閣制，這樣才可以防止未來總統繼續鴨霸。他講的不錯，不偏袒任何政黨，不是無的放矢，是根據實際法律下去解析的。\n評柯文哲競選承諾（下集）➤〈時事憲法解析〉\n20240103 有右狗華人曾說，美國左右對立的現況唯有一場內戰能解，另一個人就說，左逼整天變性來變性去，怎麼打得過武德紅脖子。\n嘿我這裡插一句：萬一深層政府暗中發力，把高科技武器都給左逼，紅脖子又該怎麼辦呢，靠上帝庇佑嗎，哈哈。\nGun N\u0026rsquo; Roses: I don\u0026rsquo;t need your civil war!\n20240103 現在是魔法對付魔法（或者選舉一直以來都是如此），不論柯粉韓粉塔綠班還是五毛，各路網軍都對底下指示：用洗板的方式來討論話題，動不動就貼中央圖房製作的圖卡，不然就是「好的我投XX」，滿載煽動仇恨、情緒勒索的話語。追求一擊脫離，不浪費時間反對者辯論。\n儘管支持民眾黨，我也不喜歡隨柯粉出征人家，尤其是收錢辦事的。我們這些普通人要可憐這些到處出征人的網軍，體諒他們的工作。\n在短影音流行的時代這樣做可以快速曝光。但這個戰術對同溫層可能沒有太大用處，因為人們總是相信他們想相信的，而不願意聆聽事實。洗板的八成直接被ban。\n但也總不能一直罵來罵去，有時候還是需要正規筆戰才可以對話吧。我覺得在網路上跟人筆戰要看地點，Twitter貼文格式太短，Komica匿名板都是暴民，Facebook/Reddit/Dcard要一直往下滑很麻煩，還是PTT論壇式的比較容易討論。PTT政黑板可精彩的，什麼意見都有；需要補充阿北價值的人再回八卦板看。\n20240102 有人說看電影玩遊戲就可以學好英文，我這個臭老九要來表示反對意見了，看英文論壇學到的英文還是不比學校的正式，頂多作為擴展眼界的補充。\n不如說公立學校的教材本身就有問題，我發現大學以後用的課本才真正與國際接軌，即使是簡單的Pearson會話課本（可能外國國中生程度的英文），編排的內容也比國中小教科書死嗑單字要好。\n好比文學經典，課外書或許有些人會看，可是研讀文學的技巧仍要到學校學習，如果只把英文當作功利性的工具，那麼就輕忽了這門學科。看看英國中世紀的騎士文學，聽到那優雅的說話方式，你就會覺得「網路學的英文」是多麼鄙俗不堪，下流至極。有志於要學習英文的人，要認知的東西絕不是只有看上去會講就好了，還要實際體驗到文化。我贊同語言相對論的說法，學習語言會順便把別人的文化、思維也融合進去，提昇內在價值，這就是學習語言有趣的地方。\n20240102 百年孤寂意識流TV。\n2016年，看完新世紀福音戰士劇場板，真嗣掐著明日香的脖子，明日香說「有夠噁心」。\n2022年，美國法院推翻墮胎權之後，川普出面表示稱讚，我在該篇Facebook新聞下面留言：「我川威武」，馬上有人回我：「有夠噁心」。\n那時還沒覺醒屠左精神，一時不知道回什麼。\n2023年，有個為賴清德拍照的攝影師在Twitter說，因為他支持民進黨，所以「免費幫他額外修圖」。那麼我是不是應該去留言：「有夠噁心」。\n20240102 為啥推特上的台灣人只剩一種聲音？ 鄉民終於發現Twitter挺民進黨居多，相較之下PTT八卦板以支持柯文哲的義勇軍佔主流。\n我說過，現在在Twitter看到繁體字更厭惡於簡體字，看小粉紅發瘋還可以，看中國反賊罵中國還行，可是一堆住在歐美的中國人，所謂「雲台灣人」眼裡只有統獨議題，不知道我們要解決重要的內政問題，才要下架民進黨。他們多半跟隨Twitter主流台派人士的意見，以為台灣人都是台獨吉娃娃，只看顏色投票，這些人就是旁觀者迷了。\n反對民進黨，不等於親中或者反台獨，而是要換個政府做事，解決當下比統獨更重要的內政問題。看看拜登當選前，川普什麼難聽的話都講出來了，說當選美國人都要學中文，結果嘞，上任繼續掐死小學生。況且現在習近平已經加速到，台灣三組候選人都不接受一國兩制了，哪個政黨會真心想要統一的。\n20240102 Gentoo goes Binary!\nGentoo官方要開始提供更多二進位套件了，不過官方表示Portage還是會以原始碼編譯為主。使用者還是可以混合二進位和編譯的模式。\u0026hellip;這樣的話Gentoo很快就會變成跟Arch Linux 競爭的發行版了\u0026hellip;\n意即使用者不用花時間等編譯套件就可以快速裝好Gentoo系統，你可以擺脫USE flag了！儘管如此，有些套件還是沒有二進位版，所以你要看情況取捨，有些套件還是得用編譯的。Gentoo官方辯稱他們是為使用者提供更多選擇，並沒有所謂「正確的Gentoo使用方法」。他們仍然會提供原始碼編譯的套件，而現今二進位套件(amd64，非~amd64)的數量已經多到可以組成日常使用的系統了。\n所有套件都是以預設USE flag編譯，還可以指定讓emerge只抓二進位套件來裝。問題是，Gentoo 17.1連基本的GNOME都沒有二進位檔啊，偏偏桌面環境編譯也是很耗時間的。\n20240101 少康戰情室，啟動。氣場壓過旁邊兩個美國人。\n副總統辯論會，趙少康雖然都在攻訐，可人家真的是最會講的；蕭美琴中規中矩，看起來像蔡英文；吳欣盈試圖專注在政策上，可她的口條真的是來敗阿北票的\u0026hellip;\n20240101 Microsoft把AI生成技術融入到Office，變成人人稱羨的優勢。但非工作要求的狀態下，我仍然會拒用Office產品。\nselft-hosted派的其實也有進展，好像沒什麼人關注Nextcloud最近把AI的東西加入到自家辦公套組裡面，恐怕還是整合性不足。等未來LLaMA發展不錯了之後，Github Copilot應該也可以有開源替代品。\nAI in Nextcloud: what, why and how\n","date":"2024年12月1日","externalUrl":null,"permalink":"/posts/timeline-2024/","section":"Personals","summary":" 【閱讀前須知】\n此處是我為取代Facebook動態牆製作的特別網頁，跟首頁的長篇文章不同，這裡是紀錄簡短想法之用，部份想法可能會另外彙整成文。\n這裡的微部落格充滿各種觀點，尚未經過打磨，有反映時事，有靈光隨想，有偏激之言，有政治評論，可能冒犯到所有人。僅代表個人意見，請謹慎閱讀。\nParrhesia，即只說真話不欺瞞，有負面的後果也在所不惜。說真話不只是言論自由，真理顯現也符合大眾利益，更是公民義務。唯有對自己誠實才能讓我們解脫。\nHumility is not thinking less of yourself, it is thinking of yourself less. 謙卑不是看輕自己，而是不僅為自己著想。\n2024年\n20241231 什麼時候認識到世間無常，2024年要跨年到2025年了，但我沒什麼特別感覺。這樣的感覺持續好幾年了。正如大前天生日的Linus Torvalds說的：Linux kernel的版本號沒有特別意義，只是手指頭不夠數了。5.19跨到6.0是如此，未來亦復如是。就算出現6.6.6、7.7.7也不要太慌張，Linux系統本來就有夠多惡魔(demon)隨侍在側了，例如Systemd的常駐程式(daemon)。他老人家務實又幽默！ Kernel 6.0 released. So, as is hopefully clear to everybody, the major version number change is more about me running out of fingers and toes than it is about any big fundamental changes.\n","title":"2024年動態牆","type":"personal"},{"content":"Use virtual / onscreen keyboard on Linux devices with touch screen. 使用Microsoft Surface、Lenovo Yoga、Pine64 PineTab、Librem Tab這類Linux平板的用戶，就會遇到觸控螢幕輸入的問題吧。我們是否能用螢幕小鍵盤打中文呢？\n通常觸控裝置都會有虛擬鍵盤讓使用者打字，在Windows我們有螢幕小鍵盤，那麼Linux呢？\n這個要看你的Linux桌面環境是哪個，以及使用X11還是Wayland顯示協定，講起來會很複雜，我就用桌面環境下去分吧。\n1. 桌面環境的觸控螢幕鍵盤 # GNOME # Ubuntu、Fedora、Debian等發行版的預設環境。 最新版本GNOME 49\nGNOME 40以上版本內建螢幕鍵盤，適用於X11與Wayland協定。\n在系統設定 → 無障礙輔助，開啟螢幕鍵盤 這樣點選畫面就會出現OSK鍵盤了，從螢幕下方往上滑開啟。 不過我覺得GNOME內建的鍵盤太簡陋了，建議用GNOME擴充套件管理員，安裝GJS OSK可以得到更為全面的螢幕鍵盤。\nKDE Plasma # Kubuntu、Fedora Spin、openSUSE、SteamOS的預設桌面環境。 最新版本KDE Plasma 6.6\nKDE的觸控鍵盤問題很多，不穩定。至少需要KDE Plasam 6.6以上才改的比較好用。\n雖然SDDM登入畫面有qtvirtualkeyboard的虛擬鍵盤，但是桌面環境不能直接使用那個鍵盤。KDE Plasma 6.6之後改成了直接呼叫Maliit Keyboard。\nX11協定的KDE，沒有好的方案，qtvirtualkeyboard僅限QT框架的程式使用，建議直接裝onboard。\nWayland協定的KDE使用Maliit Keyboard，基於MeeGo的輸入法開發。你可能要手動安裝Mallit Keyboard套件：\nsudo apt install maliit-keyboard 接著在系統設定 → 鍵盤 → 虛擬鍵盤，啟用Maliit Keyboard。 點系統匣的輸入法圖示，喚醒鍵盤。向下滑關閉。 Maliit Keyboard支援注音、拼音輸入法。\n另外，Maliit Keyboard不可以搭配Fcitx5輸入法使用，因為Maliit Keyboard跟Fcitx5是透過KDE Plasma的虛擬鍵盤機制啟動的，一次只能用一個。若要用螢幕小鍵盤模擬鍵盤輸入事件，使用Fcitx5的輸入法打中文，得改用fcitx5-osk。\n其他桌面環境 # 首先講X11協定的桌面，XFCE、Cinnamon、LXQT、i3wm沒有自己的螢幕鍵盤，但因為同屬X11協定，安裝onboard就夠用了。GNOME X11和KDE X11也可以使用此鍵盤。\nsudo apt install onboard Onboard鍵盤自訂性很高，可以按照螢幕大小挑選版面。 另外它能夠模擬實體鍵盤輸入，所以可以配合Fcitx5打漢語拼音。\nonboard基本上只能在X11桌面使用，Wayland環境下只能以XWayland執行且bug很多。\n接著是Wayland協定的桌面。\n基於wlroots寫成的桌面環境使用wvkbd打字。\nPhosh內建Squeekboard鍵盤，無法在其他桌面環境使用。\nKDE Plasma Mobile 6內建Maliit Keyboard，支援中文注音，但是不穩定。\nUbuntu touch內建Maliit Keyboard，支援中文注音，目前唯一真的能用的輸入法。只能在Lomiri桌面環境使用。\n2. 用觸控螢幕鍵盤輸入中文 # 不幸的是，Linux的觸控螢幕鍵盤幾乎都只支援英文，上面無法顯示注音。所以你得善用模擬實體鍵盤輸入事件的方式來打字。\n以GNOME桌面搭配GJS OSK為例\n請安裝Fcitx5，啟用漢語拼音輸入法。並安裝Input Method Panel顯示輸入法圖示。\n再使用螢幕鍵盤按下CTRL + 空白鍵切換輸入法，或者點一下系統匣的en鍵盤圖示切換輸入法，就可以用英文字母的方式打中文。 如果你需要「手寫輸入轉成文字」，請參考這篇：嘗試在Linux使用手寫輸入中文字\n參考資料 # Use an on-screen keyboard - GNOME Library 4 Working With On-Screen Keyboards - Oracle Linux 7 Documentation Input methods - postmarketOS Wiki Tablet PC - ArchWiki Using maliit-keyboard in a Plasma Wayland session - Martin\u0026rsquo;s Blog ","date":"2024年11月30日","externalUrl":null,"permalink":"/posts/linux-onscreen-keyboard/","section":"所有文章","summary":"Use virtual / onscreen keyboard on Linux devices with touch screen. 使用Microsoft Surface、Lenovo Yoga、Pine64 PineTab、Librem Tab這類Linux平板的用戶，就會遇到觸控螢幕輸入的問題吧。我們是否能用螢幕小鍵盤打中文呢？\n通常觸控裝置都會有虛擬鍵盤讓使用者打字，在Windows我們有螢幕小鍵盤，那麼Linux呢？\n這個要看你的Linux桌面環境是哪個，以及使用X11還是Wayland顯示協定，講起來會很複雜，我就用桌面環境下去分吧。\n1. 桌面環境的觸控螢幕鍵盤 # GNOME # Ubuntu、Fedora、Debian等發行版的預設環境。 最新版本GNOME 49\nGNOME 40以上版本內建螢幕鍵盤，適用於X11與Wayland協定。\n在系統設定 → 無障礙輔助，開啟螢幕鍵盤 這樣點選畫面就會出現OSK鍵盤了，從螢幕下方往上滑開啟。 不過我覺得GNOME內建的鍵盤太簡陋了，建議用GNOME擴充套件管理員，安裝GJS OSK可以得到更為全面的螢幕鍵盤。\nKDE Plasma # Kubuntu、Fedora Spin、openSUSE、SteamOS的預設桌面環境。 最新版本KDE Plasma 6.6\n","title":"Linux觸控螢幕使用虛擬鍵盤打字 (X11 / Wayland)","type":"posts"},{"content":"從一些研究的結果來看，手寫動到的腦部區域比較多，比單純打字輸入要能加深人對事情的印象，因此我在用iPad版Joplin時候就會想寫字。\nJoplin除了用Markdown打字，也可以透過「Freehand Drawing」手寫筆記。\nFreehand Drawing功能基於js-draw套件製作，能在手寫的界面任意插入幾何形狀、圖片、文字方塊等元素。\n最重要的是很像OneNote的無限畫布功能，能夠自由插入元素編排筆記，畫布會自動擴大，這樣的手寫功能我蠻喜歡的。 我主要是用iPad加上Apple Pencil來手寫，因此這篇文章談的是以iPad的使用體驗為主，電腦版為輔。\n1. 如何使用Joplin手寫功能 # Android和iOS版的手寫功能是內建的。\n電腦版Joplin要手動到設定，安裝「Freehand Drawing」延伸模組後重新啟動。 在Joplin筆記本工具列就會有新增繪圖的按鈕，點選開啟全螢幕面板。 註：電腦版Joplin可以按CTRL + SHIFT + P，輸入:insert drawing in new window，開啟新視窗繪圖。 這個畫布能夠無限放大，因此能夠書寫的空間非常足夠。為了方便對齊文字我會開啟Grid網格功能。 點選上方的筆圖示，調整粗細。建議啟用壓力感應的第一個筆刷。 點選手掌圖示，開啟Touchscrenn Panning，防止手掌誤觸。開啟此選項的話就只能用Apple Pencil移動元素。 除了手寫外，還可以在畫布插入文字方塊。在分割螢幕模式下，在Joplin點一下新增文字方塊，再拖曳另一個視窗選取的文字，便能插入到文字方塊。 亦能夠從其他視窗拖曳到畫布，插入圖片。太大的話Joplin會建議你縮小，減少雲端空間佔用。 畫布能不能插入PDF？不行！目前我只能用附檔的形式將PDF插入到Joplin，再用其他APP檢視PDF。\n要移動畫面上的元素，點圈選工具，將要移動的地方圈起來（如果只圈一部分，它會嘗試選取附近的整個元素），選取元素再移動，不要用手直接點。 如果想要手寫轉文字：建議使用系統內建的功能，例如Gboard手寫輸入法，或是Apple Pencil的隨手寫。\n請注意手寫繪圖並不會自動存檔，如果你直接關閉Joplin視窗，則該繪圖可能不會同步到。請確實按儲存退出後再關閉Joplin。\n目前Joplin手寫功能就只有這樣，還有些地方不完善，例如iPad上筆跡很僵硬，像在刻楔形文字。Github issue有人提到這問題，未來應該會解決。\n還有，iPad的手指偵測要再加強，我必須將手掌整個放平才不會誤觸，只放一隻無名指依然會誤判。\n2. 匯出手寫筆記 # 不用擔心手寫的筆記只有Joplin能讀取！手寫的筆記檔案會存檔成SVG，能夠用各大圖形編輯軟體做進一步修整。\nJoplin的手寫筆記圖片是以SVG存檔，嵌入在Joplin筆記，因此能夠將Joplin當作一個簡單的SVG編輯器使用。\n對手寫筆記的圖片長按，匯出單張SVG圖片，分享到其他APP處理。\n如果你希望手寫的圖片跟Markdown筆記一起匯出：在電腦版Joplin對記事按下右鍵，點選匯出，匯出為PDF。 3. 讓手寫筆記能被搜尋 # 擔心SVG裡面的筆記無法像Markdown一樣被搜尋到？\n電腦版Joplin內建OCR文字辨識，讓無法被索引搜尋的SVG圖片能成為被搜尋的筆記。撰文當下Joplin僅支援英文，不過你也可以將Joplin的手寫筆記匯出，用其他Tesseract軟體辨識。\n另外，Joplin手寫繪圖的文字會被iPadOS的「原況文字」偵測到，讓你能夠選取複製圖片的文字。 參考資料 # Freehand Drawing - Joplin Plugins ","date":"2024年11月28日","externalUrl":null,"permalink":"/posts/joplin-freehand-drawing/","section":"所有文章","summary":"從一些研究的結果來看，手寫動到的腦部區域比較多，比單純打字輸入要能加深人對事情的印象，因此我在用iPad版Joplin時候就會想寫字。\nJoplin除了用Markdown打字，也可以透過「Freehand Drawing」手寫筆記。\nFreehand Drawing功能基於js-draw套件製作，能在手寫的界面任意插入幾何形狀、圖片、文字方塊等元素。\n最重要的是很像OneNote的無限畫布功能，能夠自由插入元素編排筆記，畫布會自動擴大，這樣的手寫功能我蠻喜歡的。 我主要是用iPad加上Apple Pencil來手寫，因此這篇文章談的是以iPad的使用體驗為主，電腦版為輔。\n1. 如何使用Joplin手寫功能 # Android和iOS版的手寫功能是內建的。\n電腦版Joplin要手動到設定，安裝「Freehand Drawing」延伸模組後重新啟動。 在Joplin筆記本工具列就會有新增繪圖的按鈕，點選開啟全螢幕面板。 註：電腦版Joplin可以按CTRL + SHIFT + P，輸入:insert drawing in new window，開啟新視窗繪圖。 這個畫布能夠無限放大，因此能夠書寫的空間非常足夠。為了方便對齊文字我會開啟Grid網格功能。 ","title":"分享Joplin的手寫功能，在iPad手寫做筆記","type":"posts"},{"content":"Manage files in Joplin.\n本文討論的功能以電腦版Joplin為主，Android和iOS版Joplin由於檔案系統不完善因此部份功能不適用。\n製作筆記的時候常常會用到許多參考資料，例如圖片檔、PDF、PPTX、DOCX、XLSX等雜七雜八的檔案，若是將他們散落在一個資料夾裡面會很難整理，那麼何不利用Joplin的附加檔案功能來管理呢？\n你可以將所有檔案集中到一個筆記本裡面，再透過Joplin的筆記加上註解，就不怕找不到檔案了！\n首先就要了解Joplin的檔案管理邏輯，你有兩種方法將檔案新增到Joplin。\n1. 在Joplin嵌入附檔 # 第一種方法，將檔案加入到Joplin的資料庫，由Joplin管理。 如果將檔案拖拉到Joplin視窗，那麼檔案會嵌入到筆記作為附檔(attachment)。\n切換成Markdown編輯器，可以看到語法為：\n[檔案名稱](:/Joplin資料庫內的檔案名稱) Joplin不會對檔案做任何修改（頂多詢問要不要縮減太大張的圖片），只會生成一組資料庫內的檔名。\n嵌入的檔案會在Markdown渲染的畫面看到。目前Joplin能預覽的檔案格式只有圖片、影片、音訊、PDF，其他類型檔案僅顯示附檔名，需要用其他程式開啟。 嵌入檔案會儲存到Joplin的資料庫，並跟著雲端同步，佔用你的雲端空間。\n這個檔案已經成為了Joplin資料庫的一部分，故原本存在硬碟上的檔案不會跟著變更。\n用其他程式開啟Joplin筆記中的附檔，Joplin會嘗試追蹤附檔的變化。 例如，我用PDF閱讀器做了一些記號，點選存檔後，Joplin會即時反應變更，將其存檔回Joplin的資料庫。 如果Joplin沒有存檔到你的變化，那麼你只要把開啟的檔案另存新檔，再重新把它拖曳到Joplin裡面新增為附檔就好。\n如何搜尋筆記中的附檔？圖片和PDF之類的可以用Joplin內建的OCR掃描文字，讓檔案內容能夠被Joplin搜尋到。撰文當下只支援英文。\n其他檔案可以按CTRL + SHIFT + P，用原本的檔名搜尋。 Joplin的附檔檔案究竟存在哪裡呢？對檔案按右鍵，點「在資料夾開啟檔案」，就會看到Joplin存檔的resources資料夾，所有筆記的附檔都在這裡。但是我建議你不要亂動這裡的檔案，免得搞亂資料庫。\nJoplin的筆記雖然是以Markdown撰寫的，但背後是透過SQL資料庫儲存，而非存成資料夾和檔案的階層式結構，故你不應該修改Joplin的檔案管理邏輯。\n若想要一次取出筆記本內的所有附檔該怎麼做？建議使用「匯出」功能，匯出為RAW，就會得到一個資料夾。 2. 在Joplin新增指向硬碟檔案的捷徑 # 第二種方法，手動用資料夾整理硬碟檔案，再用捷徑的方式新增到Joplin筆記。此方法適合整理不想跟著同步的大型檔案。 按著ALT鍵，從檔案管理員將檔案拖拉進Joplin視窗，那個檔案即會變成一個連結。 Markdown語法為：\n[檔案名稱](file://檔案路徑) 當你點那個連結，Joplin會直接開啟硬碟上的檔案。 該檔案不是儲存在Joplin資料庫，而是在你的硬碟上，不會跟著Joplin同步。你對該檔案做的變更，Joplin也不會自動存檔。\nJoplin在這裡就變成了檔案目錄的功能，用於幫你整理硬碟散落的資訊，再將捷徑整理起來，協助分類檔案。\n可惜，目前Joplin無法對捷徑檔案產生預覽，只會顯示一條連結而已。\n3. 批次清理失效的附檔 # 有些已經刪除的筆記，裡面的附檔卻沒有跟著刪除，這會導致它一直佔用雲端硬碟的空間。\n安裝Joplin Batch延伸模組\n再點選工具 → Joplin，就能夠將已經失效的檔案清空。 參考資料 # Attachments | Joplin\n","date":"2024年11月28日","externalUrl":null,"permalink":"/posts/joplin-file-management/","section":"所有文章","summary":"Manage files in Joplin.\n本文討論的功能以電腦版Joplin為主，Android和iOS版Joplin由於檔案系統不完善因此部份功能不適用。\n製作筆記的時候常常會用到許多參考資料，例如圖片檔、PDF、PPTX、DOCX、XLSX等雜七雜八的檔案，若是將他們散落在一個資料夾裡面會很難整理，那麼何不利用Joplin的附加檔案功能來管理呢？\n你可以將所有檔案集中到一個筆記本裡面，再透過Joplin的筆記加上註解，就不怕找不到檔案了！\n首先就要了解Joplin的檔案管理邏輯，你有兩種方法將檔案新增到Joplin。\n1. 在Joplin嵌入附檔 # 第一種方法，將檔案加入到Joplin的資料庫，由Joplin管理。 如果將檔案拖拉到Joplin視窗，那麼檔案會嵌入到筆記作為附檔(attachment)。\n切換成Markdown編輯器，可以看到語法為：\n[檔案名稱](:/Joplin資料庫內的檔案名稱) Joplin不會對檔案做任何修改（頂多詢問要不要縮減太大張的圖片），只會生成一組資料庫內的檔名。\n嵌入的檔案會在Markdown渲染的畫面看到。目前Joplin能預覽的檔案格式只有圖片、影片、音訊、PDF，其他類型檔案僅顯示附檔名，需要用其他程式開啟。 ","title":"論Joplin的檔案管理，如何嵌入附檔和硬碟檔案的捷徑","type":"posts"},{"content":"比較各大音樂串流平台，Spotify的跨平台能力算是非常好的了，官方提供Linux版客戶端，但其實它是用CEF框架包起來的瀏覽器而已，有時候會越用越慢，吃光系統資源。 如果你覺得官方Spotify客戶端太臃腫了？就嘗試「Spot」吧。 Spot是以GTK + Rust寫成的第三方Spotify客戶端，由xou816開發。使用原生程式框架，開啟快速，佔用資源小，即使是資源拮据的ARM裝置（如樹莓派）也能流暢播放Spotify。\n我還真的比較了二者的RAM佔用，Spot只有200MB上下，而Spotify官方客戶端隨便就500MB以上！ Spot還有個好處，那就是不會被Spotify演算法打擾。Spot界面清爽，沒有首頁資訊卡，沒有歌詞，就只能搜尋聽歌。咦？很多人不就是靠Spotify演算法發現新音樂的嗎？沒錯，不過也有人不想看到Spotify首頁的那些雜七雜八內容，只想聽歌。就像對某些人而言，FreeTube可能比Youtube要來得舒適，因為他們不必看到演算法推送的內容，只要點想聽的歌曲就行了。\n1. 安裝Spot # 免費仔退散： 本程式不是破解版Spotify客戶端，你必須訂閱Spotify Premium才能夠使用Spot。\nSpot僅支援Linux系統，請到Github下載。\n推薦使用Flatpak安裝，支援x86與ARM架構。\n目前Spot原作者已經停止維護，請改用這個fork：Riff\n2. Spot的功能 # 由於Spot背後使用的librespot也是第三方函式庫，因此遇到無法登入的情況請密切注意Github issue。\n開啟APP，點選按鈕，登入Spotify帳號。\n接下來使用方法\u0026hellip;不用教了吧，Spotify的基本功能Spot都有，包含檢視自己的專輯收藏、搜尋音樂、加入播放清單等等。 要製作待播清單，請在專輯選單界面按右上角打勾，再選取歌曲。 Spot關閉視窗後不會停止播放，要按程式左上角的Quit才會退出。\n善用Spot所支援的MPRIS標準，在桌面環境的工具列顯示音樂控制播放器，例如這是KDE系統內建的畫面，GNOME需要安裝Mpris Label。 Spotify Connect怪怪的，雖然Spot能看到其他登入的Spotify裝置但不能切換播放，從Spotify官方客戶端亦看不到Spot播放的音樂。看來這個功能必須要兩台Linux電腦都跑Spot才能切換播放。 其他第三方Spotify客戶端 # jpochyla/psst：真正跨平台的Spotify客戶端，使用Rust寫成，首頁會使用Spotify演算法推薦歌曲。 kraxarn/spotify-qt：QT與C++寫成的Spotify客戶端，跨平台。 aome510/spotify_player：命令行播放器，能夠進一步降低系統資源佔用，適合視窗管理員的用戶使用。 spotifyd：打造類似mpd的播放體驗，適合放到headless的樹莓派上使用。 ","date":"2024年11月27日","externalUrl":null,"permalink":"/posts/spot-linux-client/","section":"所有文章","summary":"比較各大音樂串流平台，Spotify的跨平台能力算是非常好的了，官方提供Linux版客戶端，但其實它是用CEF框架包起來的瀏覽器而已，有時候會越用越慢，吃光系統資源。 如果你覺得官方Spotify客戶端太臃腫了？就嘗試「Spot」吧。 Spot是以GTK + Rust寫成的第三方Spotify客戶端，由xou816開發。使用原生程式框架，開啟快速，佔用資源小，即使是資源拮据的ARM裝置（如樹莓派）也能流暢播放Spotify。\n我還真的比較了二者的RAM佔用，Spot只有200MB上下，而Spotify官方客戶端隨便就500MB以上！ Spot還有個好處，那就是不會被Spotify演算法打擾。Spot界面清爽，沒有首頁資訊卡，沒有歌詞，就只能搜尋聽歌。咦？很多人不就是靠Spotify演算法發現新音樂的嗎？沒錯，不過也有人不想看到Spotify首頁的那些雜七雜八內容，只想聽歌。就像對某些人而言，FreeTube可能比Youtube要來得舒適，因為他們不必看到演算法推送的內容，只要點想聽的歌曲就行了。\n1. 安裝Spot # 免費仔退散： 本程式不是破解版Spotify客戶端，你必須訂閱Spotify Premium才能夠使用Spot。\nSpot僅支援Linux系統，請到Github下載。\n推薦使用Flatpak安裝，支援x86與ARM架構。\n目前Spot原作者已經停止維護，請改用這個fork：Riff\n2. Spot的功能 # 由於Spot背後使用的librespot也是第三方函式庫，因此遇到無法登入的情況請密切注意Github issue。\n","title":"Riff (Spot)，專為Linux設計的輕量版Spotify客戶端","type":"posts"},{"content":"","date":"2024年11月26日","externalUrl":null,"permalink":"/tags/neon-genesis-evangelion/","section":"標籤","summary":"","title":"Neon Genesis Evangelion","type":"tags"},{"content":"理想，理性的想望。\n夢想，泡影的幻夢。\n這個世界為什麼那麼多痛苦？即使有人說這個世界是假的虛幻的，要追求彼方的世界才能解脫，可是，這樣想卻消解不了我當下肉體的病苦，心裡的哀愁，以前明天更多的壓力。\n那些為了夢想無法實現而想尋死的人啊，請聽我講個多活下去的理由。\n人文學科是沒用的科系，很多人看來就是這樣，我也不否認，單就功利主義來講他就是很難快速賺到錢，花大把時間讀書、鑽研、考試、口試後得來的東西可能馬上就被第一份薪水給打碎，化作泡影之夢。\n任何一種想法就其本身來講都是中立的，或者說應該如此；然而人會令想法活起來，在它身上投射自身的火焰與狂想；於是想法不再純潔，化作了信仰，也便切入了時間，變成了事件；從邏輯到癲狂的演進於是在所難免……就這樣，誕生了意識形態、教義與血腥的玩笑。 ~ 埃米爾·齊奧朗《解體概要》\n發覺我從小到大很愛看課外書，很喜歡看古代歷史、深海生物、宇宙誕生、60年代嬉皮士搖滾、歐陸哲學、電腦科學之類的知識，除了好奇心之外，我覺得亦是對現實的一種逃避。因為那些事情離我的現在時光太遠，離我的專業科目太遙遠，所以不求甚解的閱讀很是趣味，不論是正面還是負面的評價都好，因為不會影響到現實本身，我不用因為對這些事情做了錯誤的判斷而負責任。\n但是誰說人文學科的東西對現實無用呢，這不就有了嗎：看太多超脫現實的東西，容易讓人產生「我不屬於這裡的的想法」。\n華而不實的學問，\n支撐住了你的自我，\n從而加深你的自傲，\n進而增強你的自信，\n再淹沒了你的自我，\n到這裡就竟然有了生存的意義。\n超脫現實在這裡是一個相對的形容詞，是因人而異的。如果不考慮現實所處的環境去努力，而去鑽研非常理想化的東西，那麼有可能到頭來一場空，從年輕憤青變成老憤青。\n我們在真理的火堆上跳傷了腳趾。那些你從不需要的玩意兒，填滿了你空空如也的胸膛。 ~ 汪峰〈薄霧〉\n不少人都會經歷過burn down的時候吧，如果太過用力的追求夢想，又沒有實現的管道，只是空想，只會羨慕別人，於是就會造成痛苦。現實不足以支撐夢想，所以理性的思想也就無處尋了。不論肉體上還是精神上，為此失心瘋的也有。至此，夢想不會成為理性的想望，而是泡影之夢。\n五月天 晚安地球人+瘋狂世界\n聽聽這首組曲很有趣：來到地球的外星人，剛好遇到了想脫離這個瘋狂世界的人類，最後會得到什麼呢？\n「如果我能夠選擇，我要掙脫這滿身的枷鎖」\n「為什麼要給我 一顆跳動的心臟 又把我 丟在這寂寞戰場 這世界有多大我就有多徬徨 有沒有一點希望 讓我去闖」\n為什麼別人總是知道自己要去到哪裡呢？為什麼方向永遠不是我自己能決定？為什麼他們的眼神都充滿堅定呢？為什麼別人都有勇氣踏出步伐呢？為什麼他們的嘴巴總是能說出別人愛聽的呢？為什麼能抵抗重力這雙手卻如此無力？為什麼空有平均之上的腦袋卻一無所成？為什麼在現實生活中難有活著的實感？為什麼重力存在腳卻踏不到實地？為什麼工作跟學業皆無所成？為什麼在哪裡都找不到抬得起頭來的地方？為什麼沒有勇氣去死？為什麼連說這話都在顫抖？為何意志不堅卻又對小事莫名執著？\n為什麼「那所有暗流的淚水換來的 只是荒謬世界的一絲不屑」？\n在這一切徒勞的怒吼之後，要面對明天，我只能引用一句人生智慧的濃縮：「等待，並懷抱著希望。」\n還有《假如生活欺騙了你》詩作：「假如生活欺騙了你，不要悲傷，不要心急！憂鬱的日子裡面需要鎮靜：相信吧，快樂的日子將會來臨！心兒永遠嚮往著未來；現在卻常是憂鬱：一切都是瞬息，一切都將會過去；而那過去了的，就會成為親切的懷戀。」\nRadiohead的歌詞說得好：「失望\u0026hellip;這不過是我日常的歇斯底里，人類腦袋產生的化學作用\u0026hellip;無力又可悲。」在沒有藥物的情形下，唯有音樂是舒緩心情的良方，但是服用的劑量必須很龐大。\n很喜歡中國搖滾歌手汪峰，除了那些知名的勵志歌外，偶爾寫的一些「鼠人」之歌也不賴。混冲浪TV的浪人很多會自稱鼠人，他們不見得真的是社會底層，反而很多是有些學識但無法出人頭地，向上爬不行，潤也潤不掉，在生活中掙扎的人士，或許2027年還會被習近平抓去台海餵魚。可能到處播種亂幹妹的8+9和離岸愛國小留都比鼠人過得要滋潤，除非出生在中專廁所。汪峰厲害之處，在於清楚道出困在生活、不上不下人們的心聲。比如1998年《風暴來臨》整張專輯都是：「殺了我，我是失敗者，反正我什麼都沒有」「我是沒有希望的人，因為我，從沒想過明天」這類頹廢話語，卻又無比貼近現實。\n這張專輯雖然黑暗但也給人希望，因為人即使在最糟糕處境，自憐的時候，仍有能力關心他人，就像〈明天〉一曲所唱：「明天，孤獨襲來時我不會再流一滴淚，我會用歌聲抹去那創痛的灰燼。讓我們伸出手，給那些苦難的人，告訴他們，相信明天」2004年的〈塵土〉還有：「這是多麼美好的一天！陽光明媚大地無邊，我卻毫無意義。」如此糾心又無能為力的怒吼，在我聽來很是滋味，因為我這個INFP，什麼都做不到，看國際新聞「遠處的飢荒，無情的戰火，依然存在的消息」想為這世界做點事卻只能氾濫同情心，徒增痛苦。不論在學業還是工作，在這些常人的認知的、既定的人生路途上，都幾乎找不到能活下去的意義。現在的我只能繼續相信人性，明天會更好。Tomorrow is another day.\n可是我想要保持獨特，不願被同流合污。誠然，世界上很多人就是有了獨一無二的思想才能夠改變世界，很多人愛拿賈伯斯年輕時學書法後來應用在Macintosh上的事蹟當例子，認為多接觸多雜學總會幫上用處的，即使走上孤芳自賞的道路也無妨。但是若現實一點，考慮身處的大環境，就會知道某些想追逐的東西，在台灣，終究是泡影之夢。\n網際網路時代的雜訊實在太多了，常常會給人一種你學了很多的感覺。碎片化知識學習，網路讓人好像什麼都知道，卻又想知道什麼才是真的。難道你真的看了維基百科就算讀懂一本書了嗎？你看Youtube的5分鐘解說就算看完一部電影了嗎？你讓AI總結這篇文章的內容就算讀懂了我要說的話了嗎？你想要學習的又是什麼呢？\n或許網際網路會加深一代人的達克效應，笨的以為自己聰明得很，大智若愚的人反而被視為老害。\n扯遠了，回到人生課題上。網路不全是壞東西，多謝有了網路這個cyber-space能讓我們在這裡短暫作夢，跨過地理維度實現，讓一輩子也不能在路上碰面的人能夠交流思想，認識臭味相投的朋友。可是人終究要回歸meat-space，面對自己的人生課題。\n我很喜歡Minecraft裡面打倒終界龍之後，「終末之詩」的內容：\n在他深陷遊戲之夢時，他選擇以這種方式想像出形形色色的事物。\n文字編織出一種美妙的介面，非常靈活。並且勝過凝視這畫面後的可怕現實。\n是的，他還沒有到達最高的境界。要抵達那層，他必須走完生命的長夢，而非遊戲中黃粱一夢。\n在他們的長夢中，目中所及的不過是現實的冰山一角。\n曲終人散，黃粱一夢。玩家開始了新的夢境。玩家再次做起了夢，更好的夢。玩家就是宇宙。玩家就是愛。\n你就是那個玩家。\n醒來吧。\n（節錄，欲欣賞完整的詩作請到Wiki查看。）\n看吧，讀人文學科怎麼沒用，嘗試用存在主義解釋面對現實的理由就夠充分了。不論是網際網路，還是你心目中所創造出來的那個理想世界，為之奮戰的過程，不免會身陷其中而無法自拔，可是如果不能最終有所產出，只故於滿足自己的心裡的話，那麼就會對生存造成危機。\n因為要經歷過，人才算是活過，不論是悲傷還是快樂的記憶，都是由這人生體驗出來的。因此發生了，面對它但不要被打倒。\n試著不把一些事情想得太大，宏大的目標有了，先從改變身邊的小事物開始，漸漸的漸漸的，然後等待奇蹟，時候到了，星辰就會來迎接你。\n發展的過程中最重要的還有拓展人脈，即使只有個位數也好，不一定要成為萬人迷，不一定要討好所有人，不一定要照顧到所有人感受，不一定要家和萬事興。因為人們終會認知到，人是不可能完全理解彼此的。\n在《新世紀福音戰士舊劇場版》中，真嗣放棄全人類融為一體所播放的音樂〈閉塞の拡大〉。這段音樂是這麼安祥又激昂，每當聽到這音樂我總是會想到生命之海的海浪拍打岸邊的畫面。\n總覺得看完挺虛無的不是麼，其實這段是有正面含義的，轉述Youtube下面留言的見解，那就是：AT力場(心之壁)存在於每個人心中，背後躲著的都是渴望被接納的人。所有人融為一體，看似理想，但其實不然。學會接受現實活下去，接受所有人都是不同的個體，正因如此才是人。每個人得先學會接納自己，才能去接納別人。\n「只要有活著的希望，哪裡都能是天堂。」\n由此可見，在經歷一切苦難之後才找到接納自己存在的方式，了解到人們之間不可能完全理解對方，卻仍要試圖生存下去。想要交流，與其用虛無網路的數字來獲得認同，不如多活動下嘴巴肌肉吧。\n「夢是什麼？那是現實的延續。現實又是什麼？就是夢的結束。」\n就算人生是一場夢，那又如何，不妨找更多人來一起作夢。\n追求夢想理想的追求，認知到人類是有極限的，但也不要放棄做人。最直白的說就是，「好死不如賴活」。只要在夢想中加上一點調味料，稍微調整一下作法，那麼就會變成理性的想望。\n聽完了這多雞湯可能還是難以消解你我心中的痛苦，這很正常，我又不是催眠師。可是你要記著喔，即使是泡影之夢，凡是做過了就必然留下價值，在未來的時候終會以意想不到的方式派上用場。\nAnd if your head explodes with dark forebodings too. I\u0026rsquo;ll see you on the dark side of the moon.\n因此，堅強的活下去吧。 ","date":"2024年11月26日","externalUrl":null,"permalink":"/posts/2024112601/","section":"Personals","summary":"理想，理性的想望。\n夢想，泡影的幻夢。\n這個世界為什麼那麼多痛苦？即使有人說這個世界是假的虛幻的，要追求彼方的世界才能解脫，可是，這樣想卻消解不了我當下肉體的病苦，心裡的哀愁，以前明天更多的壓力。\n那些為了夢想無法實現而想尋死的人啊，請聽我講個多活下去的理由。\n人文學科是沒用的科系，很多人看來就是這樣，我也不否認，單就功利主義來講他就是很難快速賺到錢，花大把時間讀書、鑽研、考試、口試後得來的東西可能馬上就被第一份薪水給打碎，化作泡影之夢。\n任何一種想法就其本身來講都是中立的，或者說應該如此；然而人會令想法活起來，在它身上投射自身的火焰與狂想；於是想法不再純潔，化作了信仰，也便切入了時間，變成了事件；從邏輯到癲狂的演進於是在所難免……就這樣，誕生了意識形態、教義與血腥的玩笑。 ~ 埃米爾·齊奧朗《解體概要》\n發覺我從小到大很愛看課外書，很喜歡看古代歷史、深海生物、宇宙誕生、60年代嬉皮士搖滾、歐陸哲學、電腦科學之類的知識，除了好奇心之外，我覺得亦是對現實的一種逃避。因為那些事情離我的現在時光太遠，離我的專業科目太遙遠，所以不求甚解的閱讀很是趣味，不論是正面還是負面的評價都好，因為不會影響到現實本身，我不用因為對這些事情做了錯誤的判斷而負責任。\n","title":"認清現實不會毀掉夢想，是讓夢想成為理想","type":"personal"},{"content":"分享AI生圖軟體，以自由開源的解決方案為主，包含Stable Diffusion與相關模型。\n快速導覽：ComfyUI使用教學\n","date":"2024年11月26日","externalUrl":null,"permalink":"/categories/ai%E7%B9%AA%E5%9C%96%E6%95%99%E5%AD%B8/","section":"分類","summary":"分享AI生圖軟體，以自由開源的解決方案為主，包含Stable Diffusion與相關模型。\n快速導覽：ComfyUI使用教學\n","title":"AI繪圖教學","type":"categories"},{"content":"紀錄這兩年來AIGC爆發，我使用4GB VRAM的Nvidia GTX1050Ti顯示卡苦撐，硬跑AIGC的一些心得。\n主要是想討論，在4GB VRAM的GPU，能夠用Stable Diffusion生多高解析度的圖，以及跑多大的LLaMA語言模型。 這張圖使用ComfyUI FLUX生成\n1. 前言：AIGC的硬體需求為何？ # 我用來跑AIGC的電腦是2018年組的，規格：\n系統：Ubuntu LTS CPU： Intel i5-7400 GPU：Nvidia GTX1050Ti 4GB VRAM RAM：16GB DDR4 蠻慘的對吧？當初只是組來玩GTA V和War Thunder的，結果用到現在還沒壞。2024年的今天，GTX1050Ti用來玩1080p遊戲還是夠啦的規格，跑一些小型Python的AI專案也湊合，但面對AIGC潮流就會非常喘。\n這要先講點AIGC發展背景，才知道AIGC硬體需求要多好。\n生成式AI (AIGC) 這幾年很火熱，包括大型語言模型與AI繪圖技術，許多公司都投入相關研發，推出各式各樣的線上服務，最顯而易見的例子就是ChatGPT與Midjourney了吧。台灣教育部Cool English亦上線了許多AI輔助教學工具。\n相應的，也有很多無私的自由軟體開發者製作了能在本機運算的開源軟體，讓大眾能在自組的電腦跑AIGC軟體。例如2022年出現的「Stable Diffusion」開源AI繪圖模型，以及2023年出現的「LLaMA」開源語言模型。有了這些開源技術，AIGC便能夠民主化，為一般人所用。\n相關文章：Stable Diffusion簡介 相關文章：在個人電腦跑語言模型的開源軟體列表 但是即使有了能離線執行的軟體，他們不約而同的對一個東西要求很高，那就是GPU。其他CPU和硬碟空間什麼的都沒有GPU重要。\n2024年，Microsoft提出了AI PC的概念，其中最重要的就是TOPS的運算能力。是電腦的什麼部份決定了運算能力？未來會怎樣我不知道，但當下電腦的AI運算能力，就是由GPU來定義，配置越高越好。\n以現在的市場來看，九成的AIGC技術都依賴Nvidia CUDA加速，因此買GPU品牌非Nvidia莫屬，AMD和Intel根本沒份兒。沒辦法，儘管CUDA是獨家的專有軟體，但是無情的的市場就是如此。至於Apple Silicon自家的AI技術那是另一回事了，不屬於自組電腦的範疇。 Nvidia GPU在資料中心的市場份額，引用自 https://iot-analytics.com/leading-generative-ai-companies\n再者，以消費市場的GPU等級來看，要跑AIGC的GPU肯定不是5000台幣以下的GTX系列亮機卡就能跑的，起碼要買到中高階RTX系列的卡。現在買GPU不只要在乎遊戲性能，還得考慮AI算力才行。講個不嚴謹的指標：VRAM在8GB以下的GPU根本連跑AIGC的資格都沒有，不要講生圖速度快慢了，光是在載入模型的階段就會OOM (記憶體耗盡)，還是拿去打遊戲吧。\n可是，聰明的開發者不會甘於讓AIGC變成有錢人的玩意，所以就會有人使一些手段，將硬體需求壓下來。就如AUTOMATIC1111的Stable Diffusion WebUI，加入了前人的Low vram技術，從而讓低階GPU的用戶也能夠體驗AI繪圖的樂趣。\n講個小八卦，儘管花了一年時間研究Stable Diffusion WebUI，但2024年之後我就跳到ComfyUI了，因為更省資源，架構更為自由，能規劃自己想要的AI繪圖內容。有了基本觀念換其他軟體就很容易。\n再如LLaMA，本來也是要高階GPU才能夠跑的，但在llama.cpp技術出來後，用CPU協同GPU運算便成為了可行的選項，大大降低了跑語言模型的門檻。\n我大概是2022年末開始接觸AIGC的，使用Arch Linux跑。有了自由開源的環境，技術才能迭代得如此迅速！讓我可以在新的AIGC技術出來之後依然能用老電腦跟上腳步。\n2. VRAM不夠用，何不用線上服務？ # 這裡講的線上服務不是ChatGPT這類現成的服務，而是提供GPU伺服器給你租用的供應商，例如GCP。\n雲端GPU運算平台的VRAM資源豐沛，隨便都超過24GB的，還有一堆免費入門方案，何不把羊毛應薅盡薅？\n長期在Linux環境操作AIGC相關軟體的配置，即使轉換到線上GPU運算平台對我來說不會是太大的困擾。我大概知道怎麼操作Google Colab這類平台，不過依賴雲端GPU運算又會回到不夠自由的問題，我就是為了擺脫線上生圖服務才跑自架服務的呀。而且這些平台還會跟你收貴的要命的使用費，加上一堆莫名限制，搞不好哪天資料就不見了呢。\n薤上露，何易晞！露晞明朝更復落！\n我只有在訓練AI模型的時候才會考慮租用雲端GPU平台，那真的需要怪物等級的硬體才跑得來。\n為了追求自由的AIGC，我還是希望能在個人電腦跑，那麼就來看看4GB VRAM能跑些什麼。\n3. 4GB VRAM跑語言模型 # 簡單來說就是在電腦跑離線運算的ChatGPT，用於生成文章、改寫文本、翻譯文字、生成程式碼、cosplay聊天機器人等工作。\n我使用Ollama來執行語言模型，因為它背後使用llama.cpp技術，能夠按照系統配置妥善分配運算資源。\n並且Ollama能夠自由的當作其他語言模型軟體的運算後端，例如搭配SillyTavern使用。 假設所有模型都丟給GPU運算，那就只能跑資料量為3B的小模型。\n如果使用.gguf量化過的格式，全部交給CPU運算，再加上16GB RAM的祭品，那麼勉強能夠跑到資料量11B的模型，可是使用體驗上非常糟糕，生成一句話要一分鐘。AI生圖算很久我可以等，但是AI聊天這種回應速度會想殺人。\n對我的電腦來說，比較實用的作法為透過llama.cpp的offloading功能，讓CPU和GPU協同工作，一起運算，那跑資料量7B的模型速度就相對能接受，大概30秒內就會生成回應。\n4. 4GB VRAM跑AI繪圖 # AI繪圖的功能：文生圖、圖生圖、自動修圖、生成背景、智慧去背等等。\n以最強大的開源AI繪圖軟體ComfyUI來說，很多時候我不能使用別人給的工作流，因為算下去就會爆VRAM，要找適合自己硬體的版本調整。 使用Stable Diffusion XL生成1024x1024解析度圖片就是極限了，甚至有時候要換回Stable Diffusion 1.5的舊模型才能獲得更高解析度。\n如果要掛ControlNet的額外模型，那解析度又得降低了。\n我的電腦沒辦法一次生成高解析度的圖，得手動使用ESRGAN技術放大。將所有步驟分開處理而非一次算完。搭配Tiled VAE Decode降低VRAM佔用。\n另外，2024年的新型FLUX模型絕對是沒辦法純用GPU跑的。\n有一種CPU運算的AI繪圖方案，那就是使用量化過的「GGUF」格式模型跑AI繪圖，將大部分工作交給CPU運算，以時間換取空間，降低GPU負擔。雖然這樣做比較慢，但是起碼能跑。\n量化過GGUF的模型是4GB VRAM GPU的救星，即使新模型的VRAM要求很高，GGUF讓窮人也能跑上最新的Stable Diffusion 3.5與FLUX生圖。\n5. 4GB VRAM跑AI生成影片 # 4GB VRAM 可以跑AI生成影片嗎？還真的可以。\n2023年就出現的影片生成技術，AnimateDiff-Evolved，使用開發者提供的ComfyUI工作流能生成320x320解析度的動畫，模型只得使用SD1.5。更複雜的工作流就不行了，比如有的還要加入ControlNet，再加上高解析度的影片生成，一次載入那麼多模型4GB VRAM不爆才怪。 至於2024年之後的影片生成模型，例如Nvidia Cosmos、騰訊Hunyuan、阿里巴巴Wan 2.1，我必須使用GGUF的版本，再搭配Tiled VAE Decode和Tiled Ksampler降低VRAM佔用。有了這些手段之後，雖然不會OOM，但是速度就會比用單純GPU跑的慢很多，生成速度可能會有4倍以上差距。\n6. 結論 # 如果你跟我用差不多的硬體，不要再掙扎了，有錢的快去買張12GB VRAM以上的新型Nvidia GPU才能舒服的體驗AIGC，就不用擔心爆VRAM的問題了。\n至於你問我為什麼我還不換掉？\n延伸閱讀 # 專門賣Linux音樂電腦的Musicha所寫的採購建議： 本機AI算圖目前最佳CP值軟、硬體策略（職業使用考量） Tom\u0026rsquo;s Hardware的GPU採購建議： How to Buy the Right Graphics Card: A GPU Guide for 2024 ","date":"2024年11月26日","externalUrl":null,"permalink":"/posts/aigc-apps-on-4gb-vram-gpu/","section":"所有文章","summary":"紀錄這兩年來AIGC爆發，我使用4GB VRAM的Nvidia GTX1050Ti顯示卡苦撐，硬跑AIGC的一些心得。\n主要是想討論，在4GB VRAM的GPU，能夠用Stable Diffusion生多高解析度的圖，以及跑多大的LLaMA語言模型。 這張圖使用ComfyUI FLUX生成\n1. 前言：AIGC的硬體需求為何？ # 我用來跑AIGC的電腦是2018年組的，規格：\n系統：Ubuntu LTS CPU： Intel i5-7400 GPU：Nvidia GTX1050Ti 4GB VRAM RAM：16GB DDR4 蠻慘的對吧？當初只是組來玩GTA V和War Thunder的，結果用到現在還沒壞。2024年的今天，GTX1050Ti用來玩1080p遊戲還是夠啦的規格，跑一些小型Python的AI專案也湊合，但面對AIGC潮流就會非常喘。\n這要先講點AIGC發展背景，才知道AIGC硬體需求要多好。\n生成式AI (AIGC) 這幾年很火熱，包括大型語言模型與AI繪圖技術，許多公司都投入相關研發，推出各式各樣的線上服務，最顯而易見的例子就是ChatGPT與Midjourney了吧。台灣教育部Cool English亦上線了許多AI輔助教學工具。\n相應的，也有很多無私的自由軟體開發者製作了能在本機運算的開源軟體，讓大眾能在自組的電腦跑AIGC軟體。例如2022年出現的「Stable Diffusion」開源AI繪圖模型，以及2023年出現的「LLaMA」開源語言模型。有了這些開源技術，AIGC便能夠民主化，為一般人所用。\n","title":"GPU只有4GB VRAM，能跑什麼AI繪圖與語言模型軟體？以Ollama和ComyUI為例","type":"posts"},{"content":"討論如何利用Scrcpy的功能，將手機相機當作Linux電腦的Webcam。文末再介紹搭配AI放大濾鏡的玩法。\nScrcpy能夠存取Android手機的相機或者螢幕，將其畫面輸出到v4l2裝置，在Linux電腦上建立一個虛擬的WebCam，從而達成類似專有軟體DroidCam的效果。\n這個WebCam可在會議軟體或直播軟體中使用，彷彿接上一個真的鏡頭一般。並且v4l2裝置可以有很多個，所以理論上能夠建立多個虛擬WebCam裝置，存取不同手機的鏡頭。\n但，本功能僅限Linux電腦使用，因為v4l2是Linux才有的loopback裝置。\n其實，用Scrcpy直接擷取手機螢幕的相機APP畫面＋OBS的虛擬相機也是可以達到類似效果，但v4l2的好處在於他是直接存取相機鏡頭，不需要在手機開相機APP。\n此外v4l2無法錄音。若要用Android手機當作Linux的麥克風，可考慮用PipeWire + Mumble達成目的。\n我還想到一種比較詭異的衍生用法：在樹莓派跑Scrcpy，將Android手機相機當作樹莓派相機裝置，跑圖像辨識？？\n1. 前置依賴 # 安裝Scrcpy\n安裝v4l2核心模組\nsudo apt install v4l2loopback-dkms v4l-utils 2. 手機螢幕當作電腦鏡頭 # 設定開機自動載入v4l2模組 echo \u0026#39;options v4l2loopback devices=3 video_nr=10,11,12 card_label=\u0026#34;Loopback_1\u0026#34;,\u0026#34;Loopback_2\u0026#34;,\u0026#34;Virtual_cam\u0026#34; exclusive_caps=1,1,0\u0026#39; | sudo tee -a /etc/modprobe.d/v4l2loopback.conf sudo modprobe v4l2loopback 這樣就會生出一個/dev/video0裝置，確認v4l2裝置狀態 v4l2-ctl --list-devices 將手機插到電腦，用Scrcpy列出手機的全部鏡頭 scrcpy --list-cameras 這裡Scrcpy有抓到手機的前鏡頭和後鏡頭，如果手機有超廣角應該也會一併顯示 scrcpy 2.6.1 \u0026lt;https://github.com/Genymobile/scrcpy\u0026gt; INFO: ADB device found: INFO: --\u0026gt; (usb) HQ device XQ_DC72 /usr/local/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 118.5 MB/s (71112 bytes in 0.001s) [server] INFO: Device: [Sony] Sony XQ-DC72 (Android 14) [server] INFO: List of cameras: --camera-id=0 (back, 4000x3000, fps=[15, 24, 30, 60]) --camera-id=1 (front, 3264x2448, fps=[15, 24, 30]) --camera-id=2 (back, 3264x2448, fps=[15, 24, 30]) --camera-id=3 (back, 3264x2448, fps=[15, 24, 30]) --camera-id=4 (back, 4000x3000, fps=[15, 24, 30, 60]) --camera-id=5 (back, 4000x3000, fps=[15, 24, 30, 60]) 確認手機沒有開啟任何相機APP。執行以下指令，指定使用後鏡頭。（-m 1080參數或許可以移除。不要手機鏡頭視窗的話加上參數--no-video-playback） scrcpy --video-source=camera --camera-id=0 --v4l2-sink=/dev/video0 --no-audio -m 1080 Scrcpy隨後跳出手機鏡頭的視窗，並且會將鏡頭的訊號輸出到/dev/video0 在會議軟體裡面確認鏡頭是否可以選取 3. AI放大手機螢幕畫質 # v4l2並沒有限定只能存取相機，將手機畫面傳到v4l2再做後製處理是有可能的。\n比如，使用MPV播放v4l2裝置的畫面，加上Anime4K濾鏡，達成放大畫質的效果。\n啟動Scrcpy，將手機螢幕輸出到/dev/video10 scrcpy --v4l2-sink=/dev/video10 啟動MPV，播放v4l2裝置的畫面 mpv av://v4l2:/dev/video10 --profile=low-latency 這樣MPV的畫面就能夠開啟放大濾鏡了。 參考資料 # Android phone as a Webcam on Linux - @adityatelange.in Video4Linux - Scrcpy ","date":"2024年11月25日","externalUrl":null,"permalink":"/posts/scrcpy-v4l2/","section":"所有文章","summary":"討論如何利用Scrcpy的功能，將手機相機當作Linux電腦的Webcam。文末再介紹搭配AI放大濾鏡的玩法。\nScrcpy能夠存取Android手機的相機或者螢幕，將其畫面輸出到v4l2裝置，在Linux電腦上建立一個虛擬的WebCam，從而達成類似專有軟體DroidCam的效果。\n這個WebCam可在會議軟體或直播軟體中使用，彷彿接上一個真的鏡頭一般。並且v4l2裝置可以有很多個，所以理論上能夠建立多個虛擬WebCam裝置，存取不同手機的鏡頭。\n但，本功能僅限Linux電腦使用，因為v4l2是Linux才有的loopback裝置。\n其實，用Scrcpy直接擷取手機螢幕的相機APP畫面＋OBS的虛擬相機也是可以達到類似效果，但v4l2的好處在於他是直接存取相機鏡頭，不需要在手機開相機APP。\n此外v4l2無法錄音。若要用Android手機當作Linux的麥克風，可考慮用PipeWire + Mumble達成目的。\n我還想到一種比較詭異的衍生用法：在樹莓派跑Scrcpy，將Android手機相機當作樹莓派相機裝置，跑圖像辨識？？\n1. 前置依賴 # 安裝Scrcpy\n安裝v4l2核心模組\nsudo apt install v4l2loopback-dkms v4l-utils 2. 手機螢幕當作電腦鏡頭 # 設定開機自動載入v4l2模組 echo 'options v4l2loopback devices=3 video_nr=10,11,12 card_label=\"Loopback_1\",\"Loopback_2\",\"Virtual_cam\" exclusive_caps=1,1,0' | sudo tee -a /etc/modprobe.d/v4l2loopback.conf sudo modprobe v4l2loopback 這樣就會生出一個/dev/video0裝置，確認v4l2裝置狀態 v4l2-ctl --list-devices 將手機插到電腦，用Scrcpy列出手機的全部鏡頭 scrcpy --list-cameras 這裡Scrcpy有抓到手機的前鏡頭和後鏡頭，如果手機有超廣角應該也會一併顯示 scrcpy 2.6.1 \u003chttps://github.com/Genymobile/scrcpy\u003e INFO: ADB device found: INFO: --\u003e (usb) HQ device XQ_DC72 /usr/local/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 118.5 MB/s (71112 bytes in 0.001s) [server] INFO: Device: [Sony] Sony XQ-DC72 (Android 14) [server] INFO: List of cameras: --camera-id=0 (back, 4000x3000, fps=[15, 24, 30, 60]) --camera-id=1 (front, 3264x2448, fps=[15, 24, 30]) --camera-id=2 (back, 3264x2448, fps=[15, 24, 30]) --camera-id=3 (back, 3264x2448, fps=[15, 24, 30]) --camera-id=4 (back, 4000x3000, fps=[15, 24, 30, 60]) --camera-id=5 (back, 4000x3000, fps=[15, 24, 30, 60]) 確認手機沒有開啟任何相機APP。執行以下指令，指定使用後鏡頭。（-m 1080參數或許可以移除。不要手機鏡頭視窗的話加上參數--no-video-playback） scrcpy --video-source=camera --camera-id=0 --v4l2-sink=/dev/video0 --no-audio -m 1080 Scrcpy隨後跳出手機鏡頭的視窗，並且會將鏡頭的訊號輸出到/dev/video0 ","title":"Scrcpy ＋ V4L2，用Android手機鏡頭當作Linux電腦鏡頭","type":"posts"},{"content":"本文Ivon討論的是「Unity」桌面環境，不是Unity3D遊戲引擎。\n1. 什麼是Unity # 十年前，Canonical推出了一系列野心勃勃的計畫，最後慘淡收場。\nUnity是Canonical研發的桌面環境，最早於Ubuntu 11.04推出，取代原有的GNOME 2，延伸到自家的Ubuntu touch的手機介面，意圖打造跨平台的統一界面。當時Wayland剛出來，準備要取代X11協定。Canonical或許要搶佔先機，甚至搞了一個Wayland協定的fork叫做Mir。此外為了解決跨平台套件的問題，推出了Snap。\n可是，Canonical為了商業市場考量，在Ubuntu 18.04換回了主流的GNOME 3，Unity桌面就沒有再維護了。\nCanonical的觀念很超前，可惜他們推的東西最後幾乎都失敗了。Ubuntu touch手機賣不好，Ubuntu換回GNOME桌面，只有Snap堅持到現在，然而還是被Linux社群罵爆。總覺得，Canonical搞的Linux標準最終都玩不過Redhat。\nUnity放棄維護是滿可惜的一點，Linux桌面環境的選擇少了一員呢。\ndeepin創始人曾經撰文表示他的惋歎：Ubuntu放弃战斗, Linux桌面的悲哀\n他認為Unity裡面有許多獨具巧思的設計，且設計更為完善，在當時GNOME 3普遍受到批評的時空背景下，Unity界面算是蠻好看的選擇。\n下圖為GNOME 3早期界面，因為跟GNOME 2比起來變化過大又不成熟，導致許多人批評。 Unity的設計確實比GNOME要好看些，Ubuntu經典的左邊工作列布局就是Unity時期出現的。 Ubuntu 16.04的界面\n直到今日，Canonical仍會特別給GNOME打patch，將版面調整成工作列在左邊的樣子，並繼承了Unity時代出現的\u0026quot;Ubuntu\u0026quot;字體和Yaru主題。\nIvon有幸在讀高中的時候入坑Ubuntu 16.04，當時是在Intel E3300的破電腦透過Wubi跑的，因此還算有見過Unity的餘暉，雖然當初根本沒有核心與使用者界面的概念。\n例如翻到的這張舊Facebook貼文，是我以前在Ubuntu 16.04玩Minecraft Java版的紀錄。 現在想裝Unity回來玩一下。最新Ubuntu的套件庫所能找到Unity桌面的套件，是來自社群維護的Linux發行版「Ubuntu Unity」，這是由開發者Rudra Saraswat在2020年發起的專案，作者當時只有10歲（！？），他同時也是另一個immutable發行版blendOS的開發者。\n他復活了Unity桌面！\n此後，Ubuntu Unity專案獲Ubuntu官方接受，正式成為官方的風味版之一。\n2. 安裝Ubuntu Unity系統 # 現在可以在官網下載ISO安裝系統，安裝跟一般Ubuntu沒有兩樣。\n目前Ubuntu Unity 24.04，提供Unity 7.7和Lomiri桌面的版本。\n這裡要講一下歷史，Canonical研發了Unity，並將其推廣到Ubuntu touch手機，希望能夠全平台使用同一個界面。在Canonical放棄Ubuntu touch後，該專案改由Ubports社群接手，桌面環境Unity 8改叫做Lomiri。至於Ubuntu Unity使用的桌面不是Lomiri，而是自己修改的Unity 7.7，開發者給Unity加入了一些新功能，使其更貼近Lomiri開發進度。\nUnity 7.7僅支援X11顯示協定，未來有可能會推出支援Wayland的UnityX。\n2024年，Ubuntu Unity推出了採用Lomiri桌面的系統映像檔，有點像是把Ubuntu touch手機的界面移植回電腦。Lomiri採用的是Mir顯示協定，但其實就是Wayland的fork，並使用XMir來處理XWayland應用程式。\n3. Ubuntu Unity使用心得 # 介面跟十年前Ubuntu 16.04的一模一樣。 Unity最具特色的就是類似macOS的全域選單，應用程式標題會顯示在左上角，並且所有選單都一律置頂。 要搜尋程式和電腦檔案，點選左上角的Ubuntu圖示。\n開機後啟動的是LightDM，進入桌面後佔用1GB RAM，這樣看來也沒比GNOME節省多少資源嘛。\nIvon覺得這個Ubuntu Unity界面雖然經典，但是沒在更新了，讓人憂心未來發展。很多東西都是維護者自己打patch上去，挺hacking的。並且很多地方缺少中文翻譯，整個Ubuntu Unity系統看起來像半成品。應該怎麼形容呢，就好像你在Windows 7跑最新軟體一樣的奇怪感覺。\n根據Reddit用戶的評價，Ubuntu Unity似乎是一個人維護的專案（非事實，官網列出的團隊有4個人），導致問題很多，功能又比Ubports的Lomiri少。比如Unity用的GTK3太舊，導致一些程式會出現雙重標題欄。\n目前，Unity桌面並不適合用來取代GNOME或者KDE Plasma，這些桌面環境有大型組織在維護，相較之下Unity似乎沒什麼人有興趣。\n也有可能是開發者本身有太多專案在跑了，相較於只有小眾用戶有興趣的Unity，維護面向未來的blendOS更有前途吧。\n我後來試著跑Lomiri桌面的映像檔，感覺比Unity好些。 畢竟這些年來，相對完全被拋棄的Unity來說，Ubports開發組針對Lomiri做了較多的改進。\n可是，我測試的時候Ubuntu Lomiri根本無法進入安裝程式，所以只能看。\n如果你有興趣把手機刷成Ubuntu touch系統（現在還有一票人在維護，能安裝在Android手機），那麼你應該會對Lomiri較為熟悉。由於Lomiri是單獨的桌面環境套件，使用者可以在Arch Linux或postmarketOS手動安裝Lomiri作為桌面環境。但目前Lomiri在非Ubuntu touch的系統問題還是很多，就連postmarketOS都沒辦法很好的整合。\n回到Ubuntu Unity專案，如果缺乏大公司金援，我很懷疑Ubuntu Unity專案要怎麼走下去。這個專案的地位或許會比Ubports還尷尬。\n總結，Unity 7.7和Lomiri這兩個難兄難弟，未來可能依然是小眾的選擇。\n","date":"2024年11月23日","externalUrl":null,"permalink":"/posts/ubuntu-unity-review/","section":"所有文章","summary":"本文Ivon討論的是「Unity」桌面環境，不是Unity3D遊戲引擎。\n1. 什麼是Unity # 十年前，Canonical推出了一系列野心勃勃的計畫，最後慘淡收場。\nUnity是Canonical研發的桌面環境，最早於Ubuntu 11.04推出，取代原有的GNOME 2，延伸到自家的Ubuntu touch的手機介面，意圖打造跨平台的統一界面。當時Wayland剛出來，準備要取代X11協定。Canonical或許要搶佔先機，甚至搞了一個Wayland協定的fork叫做Mir。此外為了解決跨平台套件的問題，推出了Snap。\n可是，Canonical為了商業市場考量，在Ubuntu 18.04換回了主流的GNOME 3，Unity桌面就沒有再維護了。\nCanonical的觀念很超前，可惜他們推的東西最後幾乎都失敗了。Ubuntu touch手機賣不好，Ubuntu換回GNOME桌面，只有Snap堅持到現在，然而還是被Linux社群罵爆。總覺得，Canonical搞的Linux標準最終都玩不過Redhat。\nUnity放棄維護是滿可惜的一點，Linux桌面環境的選擇少了一員呢。\n","title":"Ubuntu安裝經典Unity桌面 ~ Ubuntu Unity 24.04體驗","type":"posts"},{"content":"Ivon喜歡在家裡的Linux伺服器跑一些自架服務，例如：\n查看自架的NodeJS網站 連線到RustDesk遠端桌面 架設Joplin筆記同步伺服器 存取Nextcloud雲端硬碟 串流Jellyfin影片 跑Open WebUI語言模型服務 遊玩Minecraft伺服器 要從外部網路存取家中內網的Linux伺服器，Ivon試過二種方式，各有優缺點。\n用ZeroTier之類的內網穿透軟體，使用VPN連接。但總覺得連線都要開VPN很麻煩，尤其是手機端，不想一個圖示亮在那兒。\n開Port Forwarding加上設定No-IP DDNS，使用固定網域連線，解決浮動公共IP的問題。可是將電腦暴露到公網感覺很危險。\n有沒有不需要在客戶端安裝VPN，又能使用網域連線的方案呢？所以Ivon就來嘗試「Cloudflare Tunnel」。\n無需將伺服器暴露到公網，也不需要安裝VPN，就能夠從外網存取家中的伺服器。\n本文Ivon會討論如何在Linux伺服器架設Cloudflare Tunnel服務，後面再討論如何用「Cloudflare Zero Trust」做一個登入驗證，增強公開伺服器的安全性。\n1. Cloudflare Tunnel簡介 # Cloudflare Tunnel是Cloudflare公司推出的免費服務。\n原理圖來自官網： Cloudflare Tunnel會在你的客戶端和伺服端建立一個隧道，客戶端只要使用網域就能連線到伺服器。流量傳輸的時候中間會經過Cloudflare proxy，並使用HTTPS加密。\n這樣做有很多優點，由於全球都有Cloudflare伺服器，用他們的網路跑服務速度很快。他們的prxoy能隱藏你伺服器的真實IP位址，順便擋掉一些常見的網路攻擊。\n缺點是，你的伺服端資料會明碼傳到Cloudflare伺服器再通過SSL加密。所以如果伺服端沒做任何SSL加密就讓Cloudflare Tunnel轉發流量的話，Cloudflare是能看到你伺服器的所有資料的。這取決於你信不信得過Cloudflare這家美國公司。\n另外，你需要購買網域才可以使用Cloudflare Tunnel。儘管Cloudflare提供trycloudflare.com的暫時性網域，讓你能夠把它當作ngrok用，還是建議在Cloudflare Registrar買個便宜的網域，再把它與Cloudflare Tunnel連線比較好。\n起碼買網域比申請固定的公共IP要容易多了吧！\n最後請注意Cloudflare Tunnel使用規定：根據服務條款，你不可以用來傳輸大流量的檔案，例如串流Jellyfin影片，抓到會被暫時禁止使用服務。\n條文如下：\n2.8 Limitation on Serving Non-HTML Content\nUse of the Services for serving video or a disproportionate percentage of pictures, audio files, or other non-HTML content is prohibited, unless purchased separately as part of a Paid Service or expressly allowed under our Supplemental Terms for a specific Service. If we determine you have breached this Section 2.8, we may immediately suspend or restrict your use of the Services, or limit End User access to certain of your resources through the Services.\n說是這樣說啦，但Ivon看Reddit上一堆人這樣用都沒被封了。Ivon調查下來發現，此條款是2023年以前的版本。根據2023年Cloudflare官方貼文，他們修改了用語：\nFinally, we made it clear that customers can serve video and other large files using the CDN so long as that content is hosted by a Cloudflare service like Stream, Images, or R2.\n這裡他們講清楚了些，允許使用者透過Cloudflare Tunnel傳輸託管在Cloudflare R2等服務的大型檔案。\n所以說，你還是不能用Cloudflare串流自己伺服器的影片，因為你不是使用他們的服務託管檔案，流量過高會被ban。後面Ivon會討論避免流量過高的方法。\n2. 準備一個網域 # 註冊一個Cloudflare帳號\n在Cloudflare Registrar買個網域，或者將現有網域的DNS紀錄指向Cloudflare伺服器。\n3. 安裝Cloudflared # 負責連線到Cloudflare Tunnel的常駐程式叫做cloudflared，支援Linux、Windows、macOS系統。\n根據官方文件，在Linux伺服器安裝cloudflared。例如Ubuntu是新增Cloudflare的套件庫再安裝\nsudo mkdir -p --mode=0755 /usr/share/keyrings curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg \u0026gt;/dev/null echo \u0026#34;deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared $(lsb_release -cs) main\u0026#34; | sudo tee /etc/apt/sources.list.d/cloudflared.list sudo apt update sudo apt install cloudflared 註：你也可以在Github取得cloudflared的二進位執行檔。\nCloudflared也可以用Docker執行。\n4. 架設Cloudflare Tunnel服務 # 確認cloudflared已經安裝。\n登入Cloudflare帳號驗證，選取要使用的網域\nsudo cloudflared tunnel login 建立一個叫做default的tunnel，會自動產生一組UUID，然後憑證會儲存到/root/.cloudflared/ sudo cloudflared tunnel create \u0026#34;default\u0026#34; 撰寫cloudflared設定檔，我們寫好設定檔之後還要將其安裝為Systemd服務檔，以便透過systemctl指令管理。cloudflared的設定檔可以透過Cloudflare網頁後台編輯，再根據Cloudflare網頁後台提供的指令儲存為Systemd服務檔。或者由使用者自行撰寫。這裡我選擇後者。\ncloudflared建議使用Root使用者執行。編輯/root/.cloudflared/config.yml，填入要轉發的本機服務通訊埠和Cloudflare Tunnel。\n# 要轉發的本機服務通訊埠，例如Jellyfin是http://localhost:8096 url: http://localhost:8096 # Tunnel的UUID tunnel: \u0026#34;Tunnel的UUID\u0026#34; # 憑證路徑 credentials-file: /root/.cloudflared/Tunnel的UUID.json 有使用防火牆的，你需要開啟對應服務的通訊埠，才能從Cloudflare Tunnel外部連線進來 sudo ufw allow 8096 sudo ufw reload 安裝Cloudflared為Systemd服務檔，並設定開機自動啟動： sudo cloudflared --config /root/.cloudflared/config.yml service install sudo systemctl enable cloudflared 啟動服務，開始轉發流量 sudo systemctl start cloudflared sudo systemctl status cloudflared 稍等一會之後，你就能用網域存取本機網頁服務了。 5. 轉發多個本機服務 # 上面的設定方式只能存取一個服務而已。如果你想讓一個網域成為你伺服器上多個服務的唯一入口，比較簡單的作法是搞子網域，讓一個子網域對應一個服務的通訊埠。\n像是打https://jellyfin.example.com就能連線到http://localhost:8096；輸入https://nextcloud.example.com就能連線到http://localhost:80，以此類推。\n開啟Cloudflare後台，點選管理網域 → 管理 → DNS紀錄，新增子網域CNAME紀錄，IPV4目標位址設定為\u0026lt;你的Cloudflare Tunnel UUID\u0026gt;.cfargotunnel.com。 Cloudflare Tunnel支援TCP、HTTP、SSH、RDP等多種協定。這裡我只用HTTP示範，如果你要使用HTTP以外的協定，請參考Non-HTTP applications的部署方式。\n編輯設定檔/root/.cloudflared/config.yml，加入你要轉發的規則。假設我要給每個服務都對應一個子網域，那就如下撰寫。請移除原本檔案最上方的url:，並在最下面加上service: http_status:404的規則。\n# Tunnel的UUID tunnel: \u0026#34;Tunnel的UUID\u0026#34; # 憑證路徑 credentials-file: /root/.cloudflared/Tunnel的UUID.json # 各個服務對應的通訊埠 ingress: - hostname: nextcloud.example.com service: http://localhost:80 - hostname: jellyfin.example.com service: http://localhost:8096 - hostname: rustdesk.example.com service: http://localhost:21118 - service: http_status:404 測試是否合法 cloudflared tunnel ingress validate 重新啟動cloudflared服務 sudo systemctl restart cloudflared 嘗試用子網域存取服務。 6. 停用Cloudflare Tunnel的快取 # 這是為了避免太多檔案快取到Cloudflare CDN伺服器，導致流量過高而違反服務條款。想要用Cloudflare Tunnel串流影音內容的建議停用快取。\n開啟Cloudflare後台，點選管理網域 → 管理 → Caching → Cache Rules\n新增「全部略過快取」的規則，針對網域和子網域停用快取，再點選「部署」。 之後你可以在Cloudflare後台 → Zero Trust → Analytics，查看proxy所傳輸的流量是否有減少。\n7. 用Zero Trust加一層網頁登入密碼 # 非必要步驟。\n由於你的網域是公開的，要是被人得知了就能連線到你的伺服器，密碼可能會被暴力破解。所以加點額外驗證手段，不要讓人知道網域就能無限制存取你的服務。\n有很多方法保護公開網域的伺服器，例如使用WARP VPN驗證，但Ivon不想要客戶端弄一堆東西才能連線。所以這裡Ivon結合Cloudflare推出的「Zero Trust」服務，做一個額外的登入驗證，加強公開伺服器安全性。\n進入Cloudflare後台，點Zero Trust → Access → Application → Add an application → Self-hosted\n填入應用程式名稱和對應的子網域。Session Duration是一次登入後多久會過期。 新增一個policy 在Configure Rules這裡設定驗證方式，例如Ivon這裡設定要登入特定的電子郵件才給過 這樣連線到網頁服務的時候，會先看到Cloudflare Zero Trust登入畫面。 必須輸入指定電子郵件收取驗證碼，才能看到背後伺服器的畫面。 參考資料 # Cloudflare Tunnel | Cloudflare Docs Overview | Cloudflare Zero Trust docs How to set up free, secure, high-quality remote access for Plex - mythofechelon 使用 Cloudflare Tunnel 作為低成本的 ngrok 替代品 by Pokai Chang 免費Cloudflare Tunnel 取代伺服器對外服務裸奔 - Sakamoto.blog ","date":"2024年11月22日","externalUrl":null,"permalink":"/posts/cloudflare-tunnel/","section":"所有文章","summary":"Ivon喜歡在家裡的Linux伺服器跑一些自架服務，例如：\n查看自架的NodeJS網站 連線到RustDesk遠端桌面 架設Joplin筆記同步伺服器 存取Nextcloud雲端硬碟 串流Jellyfin影片 跑Open WebUI語言模型服務 遊玩Minecraft伺服器 要從外部網路存取家中內網的Linux伺服器，Ivon試過二種方式，各有優缺點。\n用ZeroTier之類的內網穿透軟體，使用VPN連接。但總覺得連線都要開VPN很麻煩，尤其是手機端，不想一個圖示亮在那兒。\n開Port Forwarding加上設定No-IP DDNS，使用固定網域連線，解決浮動公共IP的問題。可是將電腦暴露到公網感覺很危險。\n有沒有不需要在客戶端安裝VPN，又能使用網域連線的方案呢？所以Ivon就來嘗試「Cloudflare Tunnel」。\n無需將伺服器暴露到公網，也不需要安裝VPN，就能夠從外網存取家中的伺服器。\n本文Ivon會討論如何在Linux伺服器架設Cloudflare Tunnel服務，後面再討論如何用「Cloudflare Zero Trust」做一個登入驗證，增強公開伺服器的安全性。\n1. Cloudflare Tunnel簡介 # Cloudflare Tunnel是Cloudflare公司推出的免費服務。\n原理圖來自官網： Cloudflare Tunnel會在你的客戶端和伺服端建立一個隧道，客戶端只要使用網域就能連線到伺服器。流量傳輸的時候中間會經過Cloudflare proxy，並使用HTTPS加密。\n","title":"Cloudflare Tunnel教學，從外網安全地存取內網的Linux伺服器","type":"posts"},{"content":"分享如何設定KasmVNC，以Ubuntu為例子。\nKasmVNC為一款開源的VNC伺服器，不需要VNC客戶端軟體，只需要瀏覽器便能存取Linux遠端桌面。 內建許多實用功能，比如讓你用客戶端的輸入法打字、共享剪貼簿、虛擬多螢幕等。所有的操作都能夠在網頁內完成。 什麼是虛擬多重螢幕？在遠端Linux新增第二個虛擬螢幕，並以兩個獨立的瀏覽器視窗顯示，方便遠端工作的時候展示桌面畫面給他人觀看！ 1. KasmVNC技術背景 # 講到Web-Native的VNC方案，就會想到noVNC吧。但KasmVNC不像noVNC需要依賴其他VNC伺服器才能運作，它本身就有websocket的功能。一條指令即可啟動VNC伺服器，讓你用瀏覽器登入遠端桌面。\nKasmVNC使用方式很靈活，預設操作模式類似TigerVNC，透過Xvnc在headless的Linux系統啟動一個桌面。你還可以像x11VNC一樣，登入現有的X工作階段，當作遠端桌面使用。\n改善了傳統VNC的問題，KasmVNC支援VirtualGL啟用3D加速，需要GPU驅動支援DRI3。但是畫面串流品質不足以玩遊戲，只能用於軟體彩現。\nKasmVNC採用現代的串流技術優化使用者體驗，但是從原理來看，因為拋棄了RFB協定，KasmVNC並不是傳統意義上的VNC，不相容現有的VNC客戶端，只能用瀏覽器連線。Hacker News上也有人質疑這點，就當作商業行銷手法吧。\n關於KasmVNC的瀏覽器相容性，官方建議使用Chromium系瀏覽器，我自己測試Firefox也可以。但是Safari不推薦，尤其是iOS 18的Safari會有重新整理網頁後無法連線到伺服器的Bug，要刪除cookie才能解決。\n你可能會在某些文件看到KasmVNC支援音訊串流，這並不正確，那個是桌面虛擬化套裝軟體Kasm Workspaces整合的功能，KasmVNC本體只有遠端桌面的而已，PulseAudio的串流需要自行處理。\n我個人覺得KasmVNC就是整合了各種前人方案的綜合體，也就是TigerVNC + noVNC + VirtualGL，並且比Apache Guacamole更容易安裝，瀏覽器操作十分順暢。\n2. 準備Linux桌面環境 # VNC遠端桌面推薦用XFCE或者KDE Plasma，GNOME問題很多。\n因此，請先在Ubuntu安裝XFCE桌面：\nsudo apt install xfce4 3. 安裝KasmVNC套件 # 從GitHub下載對應架構的deb套件 wget https://github.com/kasmtech/KasmVNC/releases/download/v1.3.3/kasmvncserver_noble_1.3.3_amd64.deb 安裝套件 sudo apt install ./kasmvncserver_*.deb sudo adduser $USER ssl-cert 警告：KasmVNC會建立符號連結/usr/bin/vncserver，指向/usr/bin/kasmvncserver，可能會蓋掉現有的VNC伺服器。\n重新登入。\n4. 啟動KasmVNC伺服器服務 # 此處假定Linux電腦為headless模式，沒有接上任何螢幕。\n初始化KasmVNC，它應該會自動偵測到XFCE，依照指示新增使用者和密碼，將變更寫入到~/.vnc/xstartup vncserver -select-de 之後KasmVNC伺服器便會啟動，KasmVNC預設使用的通訊埠是8444 + DISPLAY數字，你可能需要開放8444通訊埠 sudo ufw allow 8444 sudo ufw reload 取得Linux的區域IP ip addr 接著用其他電腦瀏覽器，輸入https://Linux電腦IP:8444即可登入： 要關閉VNC伺服器，使用此指令：\nvncserver -kill :1 你可以調整個別使用者的KasmVNC設定檔~/.vnc/kasmvnc.yaml（全域設定檔位於/etc/kasmvnc/kasmvnc.yaml），視需求關閉SSL和啟用3D加速 desktop: resolution: width: 1024 height: 768 allow_resize: true # 依照客戶端瀏覽器視窗自動調整桌面解析度，或是固定解析度 pixel_depth: 24 gpu: # 啟用GPU加速 hw3d: true drinode: /dev/dri/renderD128 network: protocol: http interface: 0.0.0.0 websocket_port: auto use_ipv4: true use_ipv6: true udp: public_ip: auto port: auto stun_server: auto ssl: pem_certificate: /etc/ssl/certs/ssl-cert-snakeoil.pem pem_key: /etc/ssl/private/ssl-cert-snakeoil.key require_ssl: true # 是否需要SSL 重新啟動VNC伺服器： vncserver :1 5. 使用kasmxproxy存取現有X工作階段 # 上面講的KasmVNC會在啟動VNC伺服器的時候開一個新的遠端桌面工作階段，適合headless系統使用，但是你不能存取離開電腦前所登入的桌面。\n如果你的Linux電腦有螢幕，已經登入X工作階段，那麼你可以用kasmvncproxy這個工具，將現有的X11工作階段畫面轉發給VNC伺服器，順便啟用GPU加速。\n簡言之，就是類似x11VNC的用法。\n登入Linux的桌面環境，請使用X11工作階段。通常登入X11的時候桌面都是顯示在DISPLAY:0\n透過SSH執行以下指令，啟動一個空白的vncserver，不使用xstartup\nvncserver -noxstartup :1 將DISPLAY:0的畫面轉發給vncserver:1 kasmxproxy -a :0 -v :1 \u0026amp; 這樣瀏覽器登入之後，就會看到遠端電腦的畫面了。 6. 將KasmVNC做成Systemd服務 # 將KasmVNC與Kasmxproxy設定為登入桌面後自動啟動的服務。\n在~/.config/systemd/kasmvncserver.service填入以下內容： [Unit] Description=KasmVNCServer PartOf=graphical-session.target After=graphical-session.target [Service] Type=forking ExecStart=/usr/bin/kasmvncserver -noxstartup :1 [Install] WantedBy=graphical-session.target 在~/.config/systemd/kasmxproxy.service填入以下內容： [Unit] Description=Kasmxproxy PartOf=graphical-session.target After=graphical-session.target Requires=kasm-vnc-server.service After=kasm-vnc-server.service [Service] Type=simple ExecStart=/usr/bin/kasmxproxy -a :0 -v :1 [Install] WantedBy=graphical-session.target 設定為開機登入自動啟動的服務 systemctl --user enable --now kasmvncserver.service systemctl --user enable --now Kasmxproxy.service 透過內網穿透軟體讓外網能夠存取。 參考資料 # Getting Started — KasmVNC 1.0.0 documentation KasmVNC + kasmXproxy - 人工大脑 ","date":"2024年11月22日","externalUrl":null,"permalink":"/posts/kasmvnc-setup/","section":"所有文章","summary":"分享如何設定KasmVNC，以Ubuntu為例子。\nKasmVNC為一款開源的VNC伺服器，不需要VNC客戶端軟體，只需要瀏覽器便能存取Linux遠端桌面。 內建許多實用功能，比如讓你用客戶端的輸入法打字、共享剪貼簿、虛擬多螢幕等。所有的操作都能夠在網頁內完成。 什麼是虛擬多重螢幕？在遠端Linux新增第二個虛擬螢幕，並以兩個獨立的瀏覽器視窗顯示，方便遠端工作的時候展示桌面畫面給他人觀看！ 1. KasmVNC技術背景 # 講到Web-Native的VNC方案，就會想到noVNC吧。但KasmVNC不像noVNC需要依賴其他VNC伺服器才能運作，它本身就有websocket的功能。一條指令即可啟動VNC伺服器，讓你用瀏覽器登入遠端桌面。\nKasmVNC使用方式很靈活，預設操作模式類似TigerVNC，透過Xvnc在headless的Linux系統啟動一個桌面。你還可以像x11VNC一樣，登入現有的X工作階段，當作遠端桌面使用。\n改善了傳統VNC的問題，KasmVNC支援VirtualGL啟用3D加速，需要GPU驅動支援DRI3。但是畫面串流品質不足以玩遊戲，只能用於軟體彩現。\nKasmVNC採用現代的串流技術優化使用者體驗，但是從原理來看，因為拋棄了RFB協定，KasmVNC並不是傳統意義上的VNC，不相容現有的VNC客戶端，只能用瀏覽器連線。Hacker News上也有人質疑這點，就當作商業行銷手法吧。\n","title":"KasmVNC用法，透過瀏覽器VNC遠端連線到Linux桌面","type":"posts"},{"content":"","date":"2024年11月22日","externalUrl":null,"permalink":"/tags/virtualgl/","section":"標籤","summary":"","title":"VirtualGL","type":"tags"},{"content":"","date":"2024年11月21日","externalUrl":null,"permalink":"/ja-jp/tags/ipad/","section":"Tags","summary":"","title":"IPad","type":"tags"},{"content":"","date":"2024年11月21日","externalUrl":null,"permalink":"/ja-jp/tags/kasmvnc/","section":"Tags","summary":"","title":"KasmVNC","type":"tags"},{"content":" iPad is too limited, Android is too tiny. So why not combine then together?\nAndroid + Termux Proot Debian + KasmVNC + iPadのSafariを使い、デスクトップ版ソフトを動かせるモバイル作業環境を構築します。\niPadでできないことは、Androidスマホにやらせましょう！\nTermux Prootを通してAndroidスマホをPCのように使い、Linuxデスクトップソフトを実行し、それをiPadから操作します。\niPadからAndroid上のLinuxコンテナへリモート接続して操作します。iPadでできないことは、Androidスマホにやらせましょう！ Joplinでノート整理\nVisual Studio Codeでpygameを起動\nタイトルの意味が分からない？私がやりたいのは、こういう利用シーンです。 1. 動機 # 私の現在のモバイル作業環境はAndroidスマホとiPadの組み合わせです。別々のエコシステムではありますが、LocalSendのような自由ソフトウェアのおかげで、両者は案外うまく共存しています。Androidスマホはバッテリー容量が大きいので、iPadに6時間ほどテザリングしても電池切れにはならなさそうです。\nこれらはすべて、iPadでデスクトップ版ソフトを動かすためです。ソフトによってはデスクトップ版は非常によくできているのに、モバイル版に移植されると一気に貧弱になります。自由ソフトウェアでもプロプライエタリソフトウェアでも同じです。\nたとえばノートアプリのJoplin。iPad版JoplinはiPhone版を拡大しただけのようなもので、機能がかなり簡素です。ノートの関係グラフなど、デスクトップ版の機能がまだ多く移植されていません。ノートを扱うときにいつも手足を縛られる感じがあり、多くの作業はPCを開かないと処理できません。そこで、どうやってデスクトップ版Joplinを動かすか考え始めました。\niPadを売ってSurfaceに乗り換える？考えたことはあります。ただ、足に合わない靴に合わせるために足を削るようなことはしたくないので、AndroidスマホのTermuxを使うことにしました。Termuxならroot不要でLinuxデスクトップ環境のコンテナを動かせますし、VNC経由でiPadからアクセスできます。\n以前、ScrcpyやRustdeskでAndroidを大画面へミラーリングする方法を紹介しました。しかし、私が必要としているのはAndroid画面全体ではありません。Linuxだけで十分です。VNCサーバーをヘッドレスで動かせば、AndroidのRAMが十分ある限りバックグラウンドで簡単にはkillされません。Linuxプログラムが動いている間も、Androidスマホ自体は普通に使えます。\niPadのネットワークはAndroidから共有しているため、リモートデスクトップのローカル接続の遅延は小さいです。iPadはAndroidのLinuxコンテナ用の画面になります。\n選べるなら、Androidスマホの代わりにRaspberry Piを使うべきでしょう。私は以前、Raspberry PiとiPadを組み合わせる使い方について書きました。Raspberry PiはI/Oが比較的揃っており、本体サイズも持ち運びに向いています。ただ、スマホに大容量バッテリーと強力なプロセッサがあるなら、その場で活用しない手はありません。たとえば私のSony Xperia 10 Vの性能はiPad Air 6の3分の1程度ですが、テザリングしても発熱せず、バッテリー持ちも非常に長い。なら少し酷使してLinuxを動かしてみよう、というわけです。\nえ、それは少し本末転倒ではないか、ですって？iPadはあれほど高性能なのに、ただのリモートデスクトップクライアントとして使い、本来担当すべき重い処理を全部Android側に押し付けるのか？仕方ありません。iOSはiSH Shellを動かすだけでも重く、仮想マシンもなかなか開放されません。だからAndroidが遅くても、動かせるものはiPadより多様で、iPadよりPCらしく使えます。Androidを酷使して電池がなくなったら、今度はiPad側からType-Cで充電すればよいのです。\n2. 設定手順 # ログイン手順を簡単にするため、私はKasmVNCのWeb VNCサーバー方式を採用しました。そのためiPad側にアプリを用意する必要はなく、ブラウザだけでログインできます。\nTermux Proot Debianを設定し、XFCEデスクトップをインストールする\nARM64アーキテクチャのKasmVNCパッケージをインストールする\nKasmVNCサーバーを起動し、指示に従ってユーザーを追加し、XFCEを使うよう設定する\nvncserver KasmVNCサーバーを起動する vncserver テザリングを有効にして、ネットワークをiPadへ共有する\nAndroidのローカルIPを取得する\nifconfig iPadのSafariでhttps://手機區域IP:8444を入力し、アカウントでログインすれば接続できる 3. TermuxのLinuxにソフトウェアをインストールする # 大半の自由ソフトウェアにはARM64版パッケージがあるので、APTでインストールすればよいです。\nJoplinについては、leaguecnがビルドしたdebパッケージを使っています。ちょうど志を同じくする人がいて、その人もAndroidでデスクトップ版Joplinを動かしていました！\nChromiumベースのソフトウェアをProot内で起動するときは、/usr/share/applications/*.desktopのExec==項目を編集し、--no-sandboxパラメータを追加しないと起動できません。Visual Studio Codeも同じです。\niPadOSのAssistiveTouchの白いボタンでタッチパッドをシミュレートできますが、それでもLinuxデスクトップを操作するならBluetoothキーボードを接続することをおすすめします。\nKasmVNCではiOSの入力方式を使って中国語を入力できますが、あまり安定しません。そのため私はTermuxコンテナ内にFcitx5入力をインストールしています。\n4. まだ解決していない問題 # Linuxデスクトップの音声をiPadへストリーミングできません。KasmVNCだけでは実現できません。iOSにはPulseAudioサーバーがないため、音はAndroid側のTermuxから出すしかありません。ただ、外出先でむやみに音楽を流すこともないでしょうし、イヤホンを接続すれば解決です。\nVNCの描画効率がよくない問題については、KasmVNCはすでに現代的な技術向けに再設計されたサーバーです。少なくともTigerVNCより品質はよいので、あまり高望みはしないことにします。\nここで検討に値する案はあります。iPadでXサーバーを動かし、X11 Forwarding経由でLinuxコンテナの画面を投影する方法です。Termux X11の使い方に似ていますが、リモートになるだけです。ただ、App Storeで唯一のX ServerアプリであるMocha X11は高いんですよね\u0026hellip;それに試用版で試したところ、VirGL 3Dアクセラレーションに問題がありました。\n","date":"2024年11月21日","externalUrl":null,"permalink":"/ja-jp/posts/android-termux-as-linux-desktop-ipad-as-client/","section":"Posts","summary":" iPad is too limited, Android is too tiny. So why not combine then together?\nAndroid + Termux Proot Debian + KasmVNC + iPadのSafariを使い、デスクトップ版ソフトを動かせるモバイル作業環境を構築します。\niPadでできないことは、Androidスマホにやらせましょう！\nTermux Prootを通してAndroidスマホをPCのように使い、Linuxデスクトップソフトを実行し、それをiPadから操作します。\niPadからAndroid上のLinuxコンテナへリモート接続して操作します。iPadでできないことは、Androidスマホにやらせましょう！ Joplinでノート整理\nVisual Studio Codeでpygameを起動\nタイトルの意味が分からない？私がやりたいのは、こういう利用シーンです。 1. 動機 # 私の現在のモバイル作業環境はAndroidスマホとiPadの組み合わせです。別々のエコシステムではありますが、LocalSendのような自由ソフトウェアのおかげで、両者は案外うまく共存しています。Androidスマホはバッテリー容量が大きいので、iPadに6時間ほどテザリングしても電池切れにはならなさそうです。\nこれらはすべて、iPadでデスクトップ版ソフトを動かすためです。ソフトによってはデスクトップ版は非常によくできているのに、モバイル版に移植されると一気に貧弱になります。自由ソフトウェアでもプロプライエタリソフトウェアでも同じです。\n","title":"スマホをPCとして使う：iPad + Android Termuxでデスクトップ版Linuxソフトを動かす","type":"posts"},{"content":"iPad is too limited, Android is too tiny. So why not combine then together?\n使用 Android + Termux Proot Debian + KasmVNC + iPad的Safari，建立一個跑電腦版軟體的行動工作環境。\niPad做不到的事，就讓Android手機來做吧！\n透過Termux Proot將Android手機當作電腦使用，執行Linux電腦軟體，再透過iPad控制。\niPad遠端到Android上的Linux容器操作。iPad做不到的事，就讓Android手機來做吧！ Joplin整理筆記\nVisual Studio Code啟動pygame\n不明白標題在說什麼？我想做的就是這樣的使用情景： 1. 動機 # 我現在的行動工作搭配是Android手機搭配iPad，雖然是不同生態系，但是透過LocalSend這類自由軟體的幫助，二者相處還算愜意。得益於Android手機的大電量，開熱點給iPad用個6小時好像也不會沒電。\n這一切都是為了在iPad跑電腦版軟體，有些軟體電腦版非常智慧，移植到手機版後就變成智障。不論自由軟體還是專有軟體皆然。\n比如筆記軟體Joplin，iPad的Joplin只是iPhone放大版，功能過於簡陋，尚未移植許多電腦版的功能，例如筆記關係圖。在處理筆記的時候總是綁手綁腳，很多東西得開電腦處理。所以我就在想要怎麼跑電腦版Joplin。\n把iPad賣掉換Surface嗎，是有想過，不過不要削足適履，所以就拿Android手機的Termux出來用了。Termux不需要Root就能跑Linux桌面環境的容器，並且可以透過VNC給iPad存取。\n之前分享過Scrcpy與Rustdesk鏡射Android到大螢幕的做法，但我不需要整個Android畫面呀！只要Linux就好。headless的執行VNC伺服器，只要Android RAM夠大掛在背景就不會輕易被kill，所以Linux程式在跑的時候Android手機還是可以使用。\niPad的網路都是從Android分享的，因此遠端桌面的區域連線延遲低。iPad就成為了Android的Linux容器的螢幕。\n若是能選擇的話，Android手機應該要用樹莓派代替，我有寫過樹莓派搭配iPad的用法，畢竟I/O較為完整，樹莓派的體積亦適合隨身攜帶。但是如果手機有大電量和強力處理器，何不就地利用呢？就比如我這支Sony Xperia 10 V性能只有iPad Air 6的三分之一，但開熱點不發熱，還有超長續航，就壓榨拿來跑一下Linux吧！\nㄟ你說這樣有點本末倒置，iPad性能那麼強，結果卻只是當作遠端桌面的客戶端，本應當負擔的高強度運算全部壓在Android端？沒辦法啊，誰教你iOS連跑個iSH Shell都費力，虛擬機又遲不開放，故Android就算慢，能跑得東西還是比iPad要多元，比iPad要更像電腦。等到Android被壓榨到沒電之後，再從你iPad這邊透過TypeC充電。\n2. 設定過程 # 為了簡化登入流程，我採用的是KasmVNC的網頁VNC伺服器方案，故iPad端什麼APP都不用準備，只要瀏覽器就能登入了。\n設定Termux Proot Debian，安裝XFCE桌面\n安裝ARM64架構的KasmVNC套件\n啟動KasmVNC伺服器，依照指示新增使用者，設定使用XFCE\nvncserver 啟動KasmVNC伺服器 vncserver 開啟熱點，分享網路給iPad\n取得Android的區域IP\nifconfig 在iPad的Safari輸入https://手機區域IP:8444，登入帳號即可連線 3. 在Termux的Linux安裝軟體 # 大部分自由軟體都有ARM64版本的套件，用APT安裝即可。\n關於Joplin，我使用leaguecn編譯的deb套件。剛好遇到志同道合之人，他也有在Android跑Joplin電腦版！\nChromium核心的軟體在Proot內啟動的時候，需要編輯/usr/share/applications/*.desktop的Exec==選項，加入--no-sandbox參數才能啟動，Visual Studio Code亦同。\n儘管iPadOS的小白點能夠模擬觸控板，但是還是建議接上藍牙鍵盤操作Linux桌面。\n雖然KasmVNC可以使用iOS的輸入法打中文，但是不太穩定，所以我是在Termux容器裡面安裝Fcitx5輸入。\n4. 尚未解決的問題 # 無法串流Linux桌面的音訊到iPad，單靠KasmVNC做不到。因為iOS沒有PulseAudio伺服器，只能從Android端的Termux發出聲音。不過在外的話也不會隨便把音樂放出來吧，接上耳機就搞定。\n關於VNC圖形效率不好的問題，KasmVNC已經是針對現代技術重新設計的伺服器了，起碼品質比TigerVNC好，別強求了。\n這裡倒是有個值得考慮的方案：在iPad跑X伺服器，再透過X11 Forwarding投影Linux容器的螢幕，就像Termux X11那樣用法，只不過是遠端。可是App Store唯一的X Server APP Mocha X11好貴呀\u0026hellip;而且我用試用版測試了VirGL 3D加速有問題。\n","date":"2024年11月21日","externalUrl":null,"permalink":"/posts/android-termux-as-linux-desktop-ipad-as-client/","section":"Termux-Tutorials","summary":"iPad is too limited, Android is too tiny. So why not combine then together?\n使用 Android + Termux Proot Debian + KasmVNC + iPad的Safari，建立一個跑電腦版軟體的行動工作環境。\niPad做不到的事，就讓Android手機來做吧！\n透過Termux Proot將Android手機當作電腦使用，執行Linux電腦軟體，再透過iPad控制。\niPad遠端到Android上的Linux容器操作。iPad做不到的事，就讓Android手機來做吧！ Joplin整理筆記\nVisual Studio Code啟動pygame\n不明白標題在說什麼？我想做的就是這樣的使用情景： 1. 動機 # 我現在的行動工作搭配是Android手機搭配iPad，雖然是不同生態系，但是透過LocalSend這類自由軟體的幫助，二者相處還算愜意。得益於Android手機的大電量，開熱點給iPad用個6小時好像也不會沒電。\n這一切都是為了在iPad跑電腦版軟體，有些軟體電腦版非常智慧，移植到手機版後就變成智障。不論自由軟體還是專有軟體皆然。\n比如筆記軟體Joplin，iPad的Joplin只是iPhone放大版，功能過於簡陋，尚未移植許多電腦版的功能，例如筆記關係圖。在處理筆記的時候總是綁手綁腳，很多東西得開電腦處理。所以我就在想要怎麼跑電腦版Joplin。\n","title":"把手機當電腦用：iPad + Android Termux跑電腦版Linux軟體","type":"termux-tutorials"},{"content":"Drawing syntax binary trees usign Mermaid and Joplin.\n語言學有一門分支叫做句法學(Syntax)，因為我畫圖出來的字很醜，所以想用電腦產生樹狀圖。\n我不想用Draw.io來拉線，而是利用Mermaid.js套件，設計宗旨很像Markdown的套件，強調用簡單的語法就能畫出各種圖表。\n那麼程式化的產生樹狀圖應該可以吧？\n這樣我就能在iPad的Joplin裡面邊寫筆記，邊打字畫圖了。\n1. 實際操作 # Mermaid版本10.9.1\n我採用的理論是 Minimalist Syntax: Exploring the Structure of English (2004）這本書裡面的樹狀圖，採取極簡主義，所有的單位都是二元分叉。多餘的元素，除非是Null節點，否則就刪除。\n例如這是一句簡單的直述句：\nIvon takes a note. 一行式的括號寫法如下，每個中括號包含一個節點，每個節點下面的中括號就是它的分叉節點。\n[CP[C ∅] [TP [DP Ivon] [T\u0026#39; [T -s] [VP [V take] [DP [D a] [N note] ] ] ] ] ] 如果畫成樹狀圖，Mermaid程式碼如下：\nflowchart TD CP[CP] CP --- C[C ∅] CP --- TP[TP] TP --- DP[DP Ivon] TP --- T\u0026#39;[T\u0026#39;] T\u0026#39; --- T[T -s] T\u0026#39; --- VP[VP] VP --- V[V take] VP --- DP_Obj[DP] DP_Obj --- Det[D a] DP_Obj --- N[N note] 結果 有了基本的雛形，那麼來試試進階的。\n若要表示head movement的移動過程，因為這裡是現在式，所以要在T節點畫一個箭頭指向V的節點。Mermaid程式碼：\nflowchart TD CP[CP] CP --- C[C ∅] CP --- TP[TP] TP --- DP[DP Ivon] TP --- T\u0026#39;[T\u0026#39;] T\u0026#39; --- T[T -s] T\u0026#39; --- VP[VP] VP --- V[V take] VP --- DP_Obj[DP] DP_Obj --- Det[D a] DP_Obj --- N[N note] T --\u0026gt; V ~~~ T 結果 如果我們把它改成疑問句，用箭頭表示移動到句首的do support\nDoes Ivon take a note? 結果長這樣 問題大了，句子階層\u0026hellip;.亂掉了，C是跟TP同一層的，卻被箭頭拉了下來。雖然從分支圖來看C還是跟TP同一層，可是視覺上看起來很詭異。還有節點不能控制在左還是右\n這個問題可以用subgraph解決，強制C和TP在同一層。再調整一下節點順序，使T在左邊，VP在右邊：\nflowchart TD subgraph T1 CP[CP] CP --- C[C Does] CP --- TP[TP] end TP --- DP[DP Ivon] TP --- T\u0026#39;[T\u0026#39;] T\u0026#39; --- T[T -s do-support] T\u0026#39; --- VP[VP] VP --- V[V take] VP --- DP_Obj[DP] DP_Obj --- Det[D a] DP_Obj --- N[N note] T --\u0026gt; C ~~~ T 這樣圖就正常了。 繼續討論其他句子的畫法。\n如果改成完成式：\nHas Ivon taken a note? Mermaid程式碼：\nflowchart TD subgraph T1 CP[CP] CP --- C[C Have] CP --- TP[TP] end TP --- DP[DP Ivon] TP --- T\u0026#39;[T\u0026#39;] T\u0026#39; --- T[T -ed] T\u0026#39; --- VP[VP] VP --- V[V have take] VP --- DP_Obj[DP] DP_Obj --- Det[D a] DP_Obj --- N[N note] T --\u0026gt; C ~~~ T V --\u0026gt; T ~~~ V 結果： 接著改成wh疑問句，應有箭頭表示head-movement和wh-movement：\nWhat was Ivon taking? Mermaid程式碼：\nflowchart TD subgraph T1 CP[CP] CP --- DP[DP What] CP --- CBar[C\u0026#39;] end CBar --- C[C was] CBar --- TP TP --- DP2[Ivon] TP --- TBar[T\u0026#39;] TBar --- T[T -ed] TBar --- VP[VP] VP --- V[V was taking] VP --- DP3[\u0026#34;DP What \u0026#34;] V ---\u0026gt; T ~~~ V T ---\u0026gt; C ~~~ T DP3 --\u0026gt; DP ~~~ DP3 生成的圖又有問題了，最下面的what應該要在右下角，但是被箭頭牽引到左下角，你沒辦法叫Mermaid的箭頭往外繞。這個時候subgraph也沒用。 如果不畫箭頭，句子的階層是正確的 連這麽簡單的句子都有問題了，在更複雜的句子，情況會更詭異。\n2. 暫時的結論 # Mermaid畫基本的二元樹狀圖是可以，但是表示head movement和wh movement的箭頭難以實現。\nMermaid勉強能畫出反向的箭頭，可是Mermiad在渲染的時候沒有階層和順序的概念，當它畫出反向的箭頭的時候，如果跨越了一層以上的節點，或者出現兩個以上箭頭，上層的節點就會被「拉下來」，導致階層亂掉。還有Mermaid不能指定節點要在左邊還是右邊，破壞美觀。\n目前Mermaid版本10.9.1，Github討論的相關issue還沒解決，例如：\nMaintain the order of the nodes in Flowchart #815 Support specifying that two nodes should be at the same level/rank #3723 因此，畫更複雜的句子就會出問題。\n目前句法學樹狀圖尚未有一個統一的規則。\n我找到了Linguistics Syntax Tree generator by Miles Shang網頁，它可以用一行括號式的語法產生樹狀圖。這是比較正規的做法吧，不用轉換為Mermaid語法就能繪製，但也只能畫樹狀圖而已。 這裡還有一個產生器Linguistics Tree Solver，可以按照「課本」不同章節的樣式生成樹狀圖。\n總而言之，Mermaid能夠生成二元樹狀圖，但要進一步的標示移位的動作，就得用手寫筆標註。\n3. 匯出後再標注 # 值得慶幸的是Joplin Mermaid所生成的樹狀圖可以另存為SVG，再將SVG圖檔放到Joplin的Freehand Drawing界面用手寫筆進一步加工。這個SVG畫布日後依然能夠編輯。 所以Mermaid用來做出樹狀圖雛形是可以的。\n有個問題是Mermaid轉SVG的功能目前只有電腦版Joplin有，所以在iPad上使用較為不便，或許截圖再直接畫是最好解方！？\n","date":"2024年11月20日","externalUrl":null,"permalink":"/posts/draw-syntax-trees-in-joplin-mermaid/","section":"Personals","summary":"Drawing syntax binary trees usign Mermaid and Joplin.\n語言學有一門分支叫做句法學(Syntax)，因為我畫圖出來的字很醜，所以想用電腦產生樹狀圖。\n我不想用Draw.io來拉線，而是利用Mermaid.js套件，設計宗旨很像Markdown的套件，強調用簡單的語法就能畫出各種圖表。\n那麼程式化的產生樹狀圖應該可以吧？\n這樣我就能在iPad的Joplin裡面邊寫筆記，邊打字畫圖了。\n1. 實際操作 # Mermaid版本10.9.1\n我採用的理論是 Minimalist Syntax: Exploring the Structure of English (2004）這本書裡面的樹狀圖，採取極簡主義，所有的單位都是二元分叉。多餘的元素，除非是Null節點，否則就刪除。\n例如這是一句簡單的直述句：\nIvon takes a note. 一行式的括號寫法如下，每個中括號包含一個節點，每個節點下面的中括號就是它的分叉節點。\n[CP[C ∅] [TP [DP Ivon] [T' [T -s] [VP [V take] [DP [D a] [N note] ] ] ] ] ] 如果畫成樹狀圖，Mermaid程式碼如下：\nflowchart TD CP[CP] CP --- C[C ∅] CP --- TP[TP] TP --- DP[DP Ivon] TP --- T'[T'] T' --- T[T -s] T' --- VP[VP] VP --- V[V take] VP --- DP_Obj[DP] DP_Obj --- Det[D a] DP_Obj --- N[N note] 結果 有了基本的雛形，那麼來試試進階的。\n若要表示head movement的移動過程，因為這裡是現在式，所以要在T節點畫一個箭頭指向V的節點。Mermaid程式碼：\nflowchart TD CP[CP] CP --- C[C ∅] CP --- TP[TP] TP --- DP[DP Ivon] TP --- T'[T'] T' --- T[T -s] T' --- VP[VP] VP --- V[V take] VP --- DP_Obj[DP] DP_Obj --- Det[D a] DP_Obj --- N[N note] T --\u003e V ~~~ T 結果 ","title":"程式化的畫句法學的樹狀圖，Joplin Mermiad與手繪的應用","type":"personal"},{"content":"同時使用電腦和iPad平板作業，想要在另一個裝置接續執行工作，卻苦於沒有Mac嗎？\nKDE Connect幫助你！\nKDE Connect為Linux KDE自由軟體社群所開發的APP，支援跨平台傳檔、手機控制電腦滑鼠、簡報筆、共享剪貼簿、查看手機通知等操作。\niPad的「幕前調度」能同時執行多個APP，利用多視窗原理，我們就能用KDE Connect實現電腦與iPad同步剪貼簿的操作。這用起來就很像macOS接力(Handoff)功能下的通用剪貼板(Universal Clipboard)。\n只要把KDE Connect掛在旁邊，兩邊的剪貼簿就會互相同步。 實際操作起來會像這樣：\n其實這個KDE Connec的方案比較適合搭配Android或Windows平板使用，因為KDE Connect可以掛在背景自動雙向同步剪貼簿，而iPadOS禁止背景APP執行，要多個APP同時執行又不佔用螢幕空間的話就只能靠「幕前調度」了。\n1. 優缺點 # 優點：\n電腦一按下複製，剪貼簿就會自動傳送到iPad，不用手動確認\n跨平台，KDE Connect支援Linux、Windows、macOS、Android、iOS\n傳輸經過加密，資料不經過第三方伺服器傳送\n缺點：\n需要Wifi。\n需要開啟幕前調度，所以不適合iPhone使用。\n剪貼簿只能單向自動傳輸到iPad，iPad傳到電腦需要手動按發送。\n目前KDE Connect只能傳送剪貼簿文字，無法傳送rich text，更別說複製貼上剪貼簿的圖片了。但別忘了，KDE Coonect本身就有傳檔案功能！\n2. 實際操作方式 # 下面我用Kubuntu電腦 + iPad示範，其他系統操作大同小異。\n下載KDE Connect\n讓二部裝置連在同一個Wifi\n開啟KDE Connect APP，點選配對裝置（如果找不到裝置請調整電腦防火牆設定） 開啟iPad的幕前調度\n開啟要打字的APP，例如這裡是筆記軟體Joplin\n再點選頂部的「加入其他視窗」按鈕，開啟KDE Connect，把視窗重疊在主視窗後方 嘗試在電腦按下「複製」，iPad的剪貼簿應該就會自動同步電腦的剪貼簿。\n若要將iPad的剪貼簿傳到電腦，需要點一下KDE Connect APP的Push Local Clipboard按鈕。\n此外，電腦對檔案點一下右鍵，即可透過KDE Connect傳送檔案到iPad 嫌KDE Connect傳檔不穩定的，你還可以嘗試LocalSend。\n","date":"2024年11月19日","externalUrl":null,"permalink":"/posts/kde-connect-sharing-clipboard/","section":"所有文章","summary":"同時使用電腦和iPad平板作業，想要在另一個裝置接續執行工作，卻苦於沒有Mac嗎？\nKDE Connect幫助你！\nKDE Connect為Linux KDE自由軟體社群所開發的APP，支援跨平台傳檔、手機控制電腦滑鼠、簡報筆、共享剪貼簿、查看手機通知等操作。\niPad的「幕前調度」能同時執行多個APP，利用多視窗原理，我們就能用KDE Connect實現電腦與iPad同步剪貼簿的操作。這用起來就很像macOS接力(Handoff)功能下的通用剪貼板(Universal Clipboard)。\n只要把KDE Connect掛在旁邊，兩邊的剪貼簿就會互相同步。 實際操作起來會像這樣：\n其實這個KDE Connec的方案比較適合搭配Android或Windows平板使用，因為KDE Connect可以掛在背景自動雙向同步剪貼簿，而iPadOS禁止背景APP執行，要多個APP同時執行又不佔用螢幕空間的話就只能靠「幕前調度」了。\n1. 優缺點 # 優點：\n電腦一按下複製，剪貼簿就會自動傳送到iPad，不用手動確認\n跨平台，KDE Connect支援Linux、Windows、macOS、Android、iOS\n傳輸經過加密，資料不經過第三方伺服器傳送\n","title":"自幹「通用剪貼板」替代品，電腦與iPad平板自動同步剪貼簿，KDE Connect與幕前調度的妙用","type":"posts"},{"content":"","date":"2024年11月18日","externalUrl":null,"permalink":"/ja-jp/tags/runit/","section":"Tags","summary":"","title":"Runit","type":"tags"},{"content":" Manage auto-startup services in Termux.\nここでは2つのTermux拡張機能を紹介します。1つ目はTermux-servicesで、Termuxアプリを起動した後のサービスを管理します。2つ目はTermux:Bootで、Androidの起動後にTermuxのサービスを自動起動するよう設定します。\nなぜTermux-servicesが必要なのでしょうか。\nTermuxでサービスを起動・停止したい、アプリを開いた後にサービスを自動起動したい。しかしTermuxにはSystemdがありません。自動起動したいサービスを~/.bashrcや~/.profileに書き込み、停止したいときはプロセスを探してkillコマンドで止めるしかないのでしょうか。\nこういう時にTermux-servicesは便利なツールになります。\nTermux-servicesを使うと、一連のコマンドでサービスの実行を制御でき、自由にサービスを起動・停止できます。常駐プログラム（daemon）を必要とするソフトウェアには特に便利です。たとえばsshd、apache2、bitcoinなどはTermux-services経由で、Termuxアプリを開いた後に自動起動できます。\nTermux-servicesは「runit」を使ってシステムサービスを管理します。runitは非常にシンプルなinitサービスマネージャーで、現在これを採用しているLinuxディストリビューションは少数です。runitを使うLinuxディストリビューションといえば、有名なのはArtix LinuxとVoid Linuxあたりでしょう。\nまずTermux-serviceの使い方を紹介し、その後でTermux: Bootの使い方を説明します。\n1. Termux-servicesの自動起動 # Termux-servicesパッケージをインストールします。 pkg install termux-services Termuxは一部のパッケージをインストールする際、runitのサービスファイルも一緒にインストールします。すべてのサービスファイルは$PREFIX/var/service/svにあります。\nたとえばopensshパッケージをインストールすると、Termux-servicesはSSHDのサービスファイルを自動で用意します。$PREFIX/var/service/sv/sshd/runはサービス起動後に実行するコマンドを定義し、$PREFIX/var/service/sv/sshd/downはサービス停止後に実行するコマンドを定義します。\nSSHDサービスを起動・停止するには、以下のコマンドを使います。\n# 起動 sv up sshd # 停止 sv down sshd # アプリ起動後に自動起動 sv-enable sshd # アプリ起動後の自動起動を解除 sv-disable sshd 同じ要領で、Termux起動後に他のプログラムを実行したい場合は、サービスファイルを作成します。スクリプトを書く際はrunit公式のテンプレートを参照してください。ここでは自作スクリプトを実行する例を示します。 # 内容を編集 echo \u0026#34;echo \u0026#39;Hello world\u0026#39; \u0026#34;\u0026gt;\u0026gt; ~/run.sh chmod +x ~/run.sh # サービスファイルを追加 vim $PREFIX/var/service/sv/myscript/run # 以下を記入： bash ~/run.sh # Termuxアプリ起動後に自動起動するよう設定 sv-enable myscript 2. Termux:Bootで起動時に自動起動 # Termux:Bootは、Androidシステムが起動した後に、あなたが書いたスクリプトを自動で実行します。\n実はTermux-serviceと組み合わせなくても使えます。Termux:BootはTermuxを呼び出して任意のコマンドを実行できます。ただ、システムサービスは集中管理した方がよいと思います。つまり構成としては、まずTermux-servicesで実行したいサービスを追加し、その後Termux:BootでTermuxを自動起動します。そうすれば、自分で書いたサービスもすべて一緒に起動します。\nTermux: Boot APKをインストールします。\nアイコンをタップして一度起動します。これで起動後に自動起動するようになります。\nTermuxでディレクトリを作成し、起動時スクリプトを追加します。\nmkdir -p ~/.termux/boot/ vim ~/.termux/boot/run.sh 以下の内容を記入し、起動後にrunitのすべての自動起動サービスを実行するよう設定します。 #!/data/data/com.termux/files/usr/bin/sh termux-wake-lock . $PREFIX/etc/profile 参考資料 # Termux-services - Termux Wiki Termux:Boot Main / runit - Artix Wiki ","date":"2024年11月18日","externalUrl":null,"permalink":"/ja-jp/posts/termux-services/","section":"Termux-Tutorials","summary":" Manage auto-startup services in Termux.\nここでは2つのTermux拡張機能を紹介します。1つ目はTermux-servicesで、Termuxアプリを起動した後のサービスを管理します。2つ目はTermux:Bootで、Androidの起動後にTermuxのサービスを自動起動するよう設定します。\nなぜTermux-servicesが必要なのでしょうか。\nTermuxでサービスを起動・停止したい、アプリを開いた後にサービスを自動起動したい。しかしTermuxにはSystemdがありません。自動起動したいサービスを~/.bashrcや~/.profileに書き込み、停止したいときはプロセスを探してkillコマンドで止めるしかないのでしょうか。\nこういう時にTermux-servicesは便利なツールになります。\nTermux-servicesを使うと、一連のコマンドでサービスの実行を制御でき、自由にサービスを起動・停止できます。常駐プログラム（daemon）を必要とするソフトウェアには特に便利です。たとえばsshd、apache2、bitcoinなどはTermux-services経由で、Termuxアプリを開いた後に自動起動できます。\n","title":"Termux-servicesとTermux:Bootで自動起動サービスを管理する","type":"termux-tutorials"},{"content":" ROM焼き不要、Root不要。Android上でpostmarketOSシステムと、Linuxスマホ向けに設計されたPhoshデスクトップを動かします。\n私は公式に認められた方法ではない、かなり寄せ集めのやり方を採用しました。Termux ProotでpostmarketOSシステムを動かし、スマホ上のLinuxシステムがどんなものかを体験します。 動画デモ。Phosh + postmarketOSはSony Xperia 10 V Android 14上で動作しています。\n1. 動機 # なぜこんなことをするのか。AndroidスマホでLinuxシステムを体験できる可能性を探るためです。そのため、タッチスクリーン向けに設計されたデスクトップ環境が必要になります。\nSony Xperia 5 \u0026amp; 10シリーズのスマホでモバイルLinuxシステムを動かしたいというのは、私個人の悲願です。とはいえ移植している人は多くなく、私自身も成功していません。そこでTermuxで雰囲気だけでも味わい、この実験色の強い方法を共有することにしました。\npostmarketOSは古くなったスマホ向けに設計されたGNU/Linuxシステムで、Alpine Linuxをベースに開発されています。完全なLinux機能を備え、PC版Linuxのソフトウェアを実行でき、PinePhoneの有力なシステム候補の1つにもなっています。ただしpostmarketOSはすべてのAndroidスマホに焼けるわけではありません。postmarketOSのpmbootstrapインストールチュートリアルを参照すると、ROMを作るにはLinuxカーネルへ大量のpatchを当てる必要があります。AndroidとLinuxでは共用できないドライバーが多いため、ROM制作の難度はLineageOSの移植より高いです。仮に最後まで起動できても、専有ドライバーが足りず快適に使えないことがよくあります。\nさらに、postmarketOSを体験するまでのハードルはかなり高いです。多くのスマホユーザーにとってはbootloaderのアンロックすらできないため、当然ROM焼きもできません。そこでTermuxが候補になります。TermuxはrootなしでAndroid上にLinuxコンテナを実行でき、Termux X11を使ってLinuxコンテナのXサーバー画面を表示できます。最初に考えるべきなのは、pmbootstrapをTermuxで実行できるのか、という点です。このGithub issueによれば、root権限のないAndroidでchroot環境を動かすのは困難です。したがって、比較的遅いprootを使うことにします。\nTermuxにはAlpine Linuxのproot rootfsが用意されており、postmarketOS自体もAlpine Linuxベースです。つまり、少し工夫してAlpine LinuxをpostmarketOSシステムへ変換すれば、スマホ向けに設計されたパッケージを取得できます。なぜAlpine Linuxをそのまま使わないのかというと、postmarketOSの一部パッケージはupstreamされておらず、依存関係が足りなくなりやすいからです。\n最後にPhoshについて話します。このデスクトップ環境は自由ソフトウェア企業Purismが開発したもので、内部ではPhocというWaylandコンポジターを使用します。Phocはwlrootsベースで、Linuxスマホ向けに設計されたデスクトップです。PinePhoneコミュニティでは、Phoshは評価の高いインターフェースの1つです。私自身のPinePhone使用経験から見ると、Phoshは画面こそ簡素ですが最も安定したインターフェースで、しかも非常に省リソースです。性能がかなり低いPinePhone (Allwinner A64プロセッサ搭載) でもアニメーションは十分滑らかです。Termux X11でLinuxシステムを操作したいユーザーにとって、Phoshはとても有用だと思います。多くのAndroidスマホにはキーボードやマウスがないため、Termux X11でXFCE、KDE Plasma、GNOMEのような従来型Linuxデスクトップを動かすと操作がかなり厳しくなります。タッチジェスチャー向けに最適化されたPhoshは、そこで非常によい選択肢になります。\nとはいえ、PhoshはWaylandコンポジターなのに、どうやってTermux X11で動かすのか、と疑問に思うかもしれません。Waylandを直接使うことはできませんが、X11上のネストされたWaylandセッションなら実現できます。WestonやCageなど、一部のコンポジターはこれに対応しており、X環境下でもWaylandの一部機能を利用できます。ただしcageだけを起動すると不完全なXセッションになり、スマホの解像度を検出できません。そのためcageを起動する前に、私はXウィンドウマネージャーも起動します。性能を節約するため、Openboxを選びました。\n2. 前提項目 # 先に以下の項目を設定してください：\nTermux Termux X11 virglrenderer：任意のハードウェアアクセラレーション Hacker\u0026rsquo;s keyboard：デスクトップ環境とやり取りするために使います。PCのキーボード入力を模擬できるので便利です。 3. proot Alpine Linuxをインストールする # postmarketOSにはEdgeとStableの2つの更新チャンネルがあります。Stableチャンネルのバージョン番号はWikiで確認でき、現在はv24.06です。\n注：執筆時点では、PhoshをCage内で正常に起動するためにEdgeチャンネルで最新パッケージを取得しました。ただし安定性を考えるなら、Stableチャンネルを使うほうがよいかもしれません。\nTermux標準のAlpine LinuxリポジトリはEdgeブランチですが、このブランチは不安定です。そのためAlpine 3.20（postmarketOS v24.06に対応）へ切り替えることをおすすめします。\nTermuxを開き、proot Alpine Linuxをインストールする pkg update pkg install proot-distro pulseaudio proot-distro install alpine Alpine LinuxのリポジトリをEdgeからv3.20へ切り替える proot-distro login alpine --shared-tmp apk update apk add vim vim /etc/apk/repositories # \u0026#34;http://dl-cdn.alpinelinux.org/alpine/edge/main\u0026#34;を\u0026#34;http://dl-cdn.alpinelinux.org/alpine/v3.20/main\u0026#34;に変更する # \u0026#34;http://dl-cdn.alpinelinux.org/alpine/edge/community\u0026#34;を\u0026#34;http://dl-cdn.alpinelinux.org/alpine/v3.20/community\u0026#34;に変更する apk update apk upgrade 新しいユーザーを追加し、sudoグループへ入れ、タイムゾーンを設定する apk add sudo addgroup storage adduser -g wheel,storage,video,audio user visudo passwd sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime sudo setup-timezone Termux prootでSSHリモート接続を有効化する。 sudo vim /etc/ssh/sshd_config # `Port`を22から8023に変更する ssh-keygen -A rc-update add sshd rc-serive sshd start # IPアドレスを確認する。 ip addr 4. Alpine LinuxをpostmarketOSへ変換する # postmarketOS v24.06 (Alpine v3.20) リポジトリを追加する vim /etc/apk/repositories # 一番上にこの行を追加する： https://mirror.postmarketos.org/postmarketos/v24.06 # 参考までに、EdgeチャンネルのURLは次の通り： https://mirror.postmarketos.org/postmarketos/master/ postmarketos-keysをインストールする apk add -u --allow-untrusted postmarketos-keys apk update \u0026amp;\u0026amp; apk upgrade 以下の内容を/etc/os-releaseに追加する PRETTY_NAME=\u0026#34;postmarketOS v24.06\u0026#34; NAME=\u0026#34;postmarketOS\u0026#34; VERSION_ID=\u0026#34;v24.06\u0026#34; VERSION=\u0026#34;v24.06\u0026#34; ID=\u0026#34;postmarketos\u0026#34; ID_LIKE=\u0026#34;alpine\u0026#34; HOME_URL=\u0026#34;https://www.postmarketos.org/\u0026#34; SUPPORT_URL=\u0026#34;https://gitlab.com/postmarketOS\u0026#34; BUG_REPORT_URL=\u0026#34;https://gitlab.com/postmarketOS/pmaports/issues\u0026#34; LOGO=\u0026#34;postmarketos-logo\u0026#34; 5. Phoshデスクトップ環境をインストールする # OpenboxとCageをインストールする： sudo apk add openbox cage Phoshのパッケージ名はpostmarketos-ui-phoshです。postmarektOSが設計したモバイルデバイス向けパッケージも一緒にインストールすることをおすすめします： sudo apk add postmarketos-ui-phosh \\ postmarketos-tweaks \\ firefox \\ mobile-config-firefox \\ font-noto \\ font-noto-cjk \\ font-noto-cjk-extra \\ font-noto-emoji 6. Termux X11とPhoshを起動する # prootでPhoshを起動する発想はphosh-vncとtermux-phoshから得ました。WayVNCで動かすのも1つの方法ですが、性能のよいTermux X11を使えるなら活用したほうがよいでしょう。\nPhoshデスクトップを起動する流れは、Termux側のPulseAudio音声サーバーを起動し、Termux X11を起動し、proot Alpineへログインし、Openbox、cage、Phoshを起動する、という順番です。\n全体の流れは次の通りです：\nTermuxを開き、PulseAudioを起動する pulseaudio --start --exit-idle-time=-1 pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 Termux X11を開き、TermuxからTermux X11を起動する export DISPLAY=:0 termux-x11 :0 \u0026amp; virglrendererを起動する virgl_test_server_android \u0026amp; Alpine Linuxへログインする proot-distro login alpine --user user --shared-tmp Openbox、cage、Phoshを起動する export DISPLAY=:0 export XDG_RUNTIME_DIR=/tmp openbox \u0026amp; cage phoc -E \u0026#39;/usr/libexec/phosh\u0026#39; -U \u0026amp; Termux X11のウィンドウでOpenboxのウィンドウが出てくるのを待ち、タイトルバーをダブルクリックして最大化します。\nスマホの通知欄でPreferencesをタップし、Termux X11のOutputをScaledに設定して、画面をスマホに合うサイズへ拡大します。 さらにTermux X11のPointerをDirect Touchに変更し、タッチスクリーンを模擬します。 7. Phoshの使用感 # ほとんどのタッチジェスチャーは使えます。Phoshの操作ロジックは、下から上へスワイプしてすべてのタスクを表示し、APPウィンドウを上へスワイプして閉じる、というものです。\nproot内のPhoshは完全なLinuxシステム環境ではないため、一部機能は使えない点に注意してください。\n例えばPhoshはGNOME Control Centerでシステム設定を調整しますが、グラフィカル画面が起動できません。そのため多くの箇所はコマンドで変更する必要があります。ファイルマネージャーPortfolioが特定ファイル形式を開く既定APPを変更したい場合は、xdg-mimeを使って変更してください。またGNOME Softwareも使えないため、ソフトウェアのインストールにはapkコマンドを使ってください。\n入力メソッドで文字を入力する場合：Phosh内蔵のSqueekboardは英語のみ対応で、Phosh下部のバーを長押しして呼び出します（proot環境では呼び出せないようです）。中国語を入力するにはAndroidスマホのキーボードを使う必要があります。Termux X11の画面で戻るキーを押すとスマホのキーボードを呼び出せます。その後、Termux X11下部のツールバーを左へスワイプすると、中国語を入力できます。\n8. 他のデスクトップ環境も試す？ # Phosh以外にも、postmarketOSのデスクトップ環境にはPlasma MobileとSXMOがあります。ただし私としては、片方は不安定で、もう片方は複雑すぎるため、どちらも問題が多いと思います。\nPlasma Mobile\nPlasma MobileはPC版KDE Plasmaをベースに開発されたデスクトップで、X11またはWaylandバックエンドで起動できます。\n個人的には、このデスクトップは非常に不安定なので、PC版KDEを使ったほうがよいと思います。\nパッケージ名：postmarketos-ui-plasma-mobile。X11起動コマンド：startplasma-x11、Wayland版の起動コマンド：startplasma-wayland\nX11版はこのコマンドで起動できます：dbus-launch --exit-with-session startplasma-x11 \u0026amp; SXMO\nSXMOはスマホ版Swayを名乗っており、パッケージ名はpostmarketos-ui-sxmoです。ただしTermux X11はXのみ対応なので、私はpostmarketos-ui-sxmo-de-dwmをインストールしました。\nSXMO関連パッケージをインストールする sudo apk add postmarketos-ui-sxmo-de-dwm postmarketos-tweaks-sxmo-x11 feh dwm svkbd conky clickclack SXMOを起動する前にこのコマンドを実行します：export XDG_RUNTIME_DIR=/tmp\n続いてSXMOを起動します：dbus-launch --exit-with-session /usr/bin/sxmo_xinit.sh \u0026amp;\nSXMO設定ファイルは~/.config/sxmo/にあり、イベントフックは/usr/share/sxmo/default_hooks/にあります。\n画面は表示されますが、タッチジェスチャーは効きません。 SXMOのハードウェアショートカットキーは再割り当てが必要になるかもしれません。この場合、dwmのソースコードを修正します：\ngit clone git@git.sr.ht:~mil/sxmo-dwm # config.def.hを修正してdwmを再ビルド・インストールする カスタムdwmをインストールする前に、先にsxmo-dwmパッケージを削除する必要があります。または、オリジナルのdwmパッケージをインストールし、デフォルトのキーバインドを使ってもかまいません。\n参考資料 # pothos/phosh-vnc - Github dw5/termux-phosh - Github Existing Alpine installation - postmarketOS Wiki Phosh - postmarketOS Wiki Plasma Mobile#Starting Plasma Mobile from the Terminal - postmarketOS Wiki Developing for Mobile Linux with Phosh - Part 0: Running nested ","date":"2024年11月16日","externalUrl":null,"permalink":"/ja-jp/posts/postmarketos-in-termux-proot/","section":"Termux-Tutorials","summary":" ROM焼き不要、Root不要。Android上でpostmarketOSシステムと、Linuxスマホ向けに設計されたPhoshデスクトップを動かします。\n私は公式に認められた方法ではない、かなり寄せ集めのやり方を採用しました。Termux ProotでpostmarketOSシステムを動かし、スマホ上のLinuxシステムがどんなものかを体験します。 動画デモ。Phosh + postmarketOSはSony Xperia 10 V Android 14上で動作しています。\n1. 動機 # なぜこんなことをするのか。AndroidスマホでLinuxシステムを体験できる可能性を探るためです。そのため、タッチスクリーン向けに設計されたデスクトップ環境が必要になります。\nSony Xperia 5 \u0026 10シリーズのスマホでモバイルLinuxシステムを動かしたいというのは、私個人の悲願です。とはいえ移植している人は多くなく、私自身も成功していません。そこでTermuxで雰囲気だけでも味わい、この実験色の強い方法を共有することにしました。\npostmarketOSは古くなったスマホ向けに設計されたGNU/Linuxシステムで、Alpine Linuxをベースに開発されています。完全なLinux機能を備え、PC版Linuxのソフトウェアを実行でき、PinePhoneの有力なシステム候補の1つにもなっています。ただしpostmarketOSはすべてのAndroidスマホに焼けるわけではありません。postmarketOSのpmbootstrapインストールチュートリアルを参照すると、ROMを作るにはLinuxカーネルへ大量のpatchを当てる必要があります。AndroidとLinuxでは共用できないドライバーが多いため、ROM制作の難度はLineageOSの移植より高いです。仮に最後まで起動できても、専有ドライバーが足りず快適に使えないことがよくあります。\n","title":"AndroidでROMを焼かずにpostmarketOSとPhoshデスクトップを動かす（Termux proot）","type":"termux-tutorials"},{"content":"","date":"2024年11月16日","externalUrl":null,"permalink":"/ja-jp/tags/phosh/","section":"Tags","summary":"","title":"Phosh","type":"tags"},{"content":"","date":"2024年11月16日","externalUrl":null,"permalink":"/ja-jp/tags/pinephone/","section":"Tags","summary":"","title":"PinePhone","type":"tags"},{"content":"","date":"2024年11月16日","externalUrl":null,"permalink":"/ja-jp/tags/postmarketos/","section":"Tags","summary":"","title":"PostmarketOS","type":"tags"},{"content":"本文Ivon討論透過USB擷取卡，讓iPad或Android或Surface平板當作電腦的第二螢幕。\n例如：Linux筆電 + iPad，延伸桌面。 實際使用例子：一邊做簡報一邊看論文。 另一個例子：將顏色比較準確的iPad，透過USB擷取卡當作電腦的延伸螢幕使用，確保Kdenlive剪輯出來的影片顏色正確。 Linux、Windows、macOS電腦都可以使用此方法，透過有線方式將平板當作電腦的第二螢幕。\n如果你想要無線螢幕的方案，敬請參考：Moonlight + Sunshine 平板當電腦第二螢幕\n1. 準備USB擷取卡 # 市面上的平板很少有HDMI Input的連接埠，因此電腦的HDMI線不能直接插到平板輸出影像。\n此時擷取卡就是個不錯的替代方案。\n擷取卡(capture card) 是一種將電腦HDMI輸出畫面，透過USB輸出到另一台電腦的硬體裝置。\n由於擷取卡很多使用UVC，也就是網路攝影機，大部份電腦系統 (Linux / Windows / macOS) 都是免驅動就能用的。\n而Android與iOS系統的最新版本也陸續支援UVC裝置了，所以只要找個支援讀取UVC的APP，我們就能將電腦的HDMI影像輸出到擷取卡，再用平板的UVC APP獲取擷取卡畫面。\n對電腦而言，插上USB擷取卡就像是接上一個實體螢幕，作業系統應會自動開啟延伸桌面模式，因此擷取卡就能成為電腦的延伸桌面，讓我們把視窗拖曳過去。 擷取卡走USB 3.0的話延遲很低，看影片是足夠的，但要玩FPS遊戲可能還是不太合適。\n本文討論的方案都是免費的，唯一需要花錢買的是擷取卡。端看個人需求，輸出1080p@60畫面的擷取卡幾百塊台幣就有了。\n2. 電腦端的設定 # Linux、Windows、macOS都無需特別設定。\n不過，你的電腦必須有空置的HDMI連接埠，才能輸出畫面到擷取卡。沒有的話買個帶有HDMI輸出的USB Hub吧。\n擷取卡通常是使用USB連接埠，所以平板端必須要有Type C連接埠。\n如下圖，我將筆電（下）的HDMI接上訊號線，連上擷取卡，擷取卡的另外一頭插入到平板（上）的Type C連接埠。 這樣連上後，電腦端應該就會偵測到擷取卡的「螢幕」了。 3. 平板端APP的設定 # iPad # 需要iPadOS 17以上系統才支援讀取UVC裝置。建議使用搭載Type C連接埠的機型。\n有個開源的APP叫做Moblin，點選「新增場景」便能擷取UVC影像，可順便當作直播工具，但是不太好用。\n閉源的CamX界面做的較好，能夠接收HDMI音訊並用iPad揚聲器播放。\nAndroid平板 # 需要Android 4以上系統，建議使用搭載Type C連接埠的機型。\n有開源APP叫做Android-UVC-Camera，但是我用了會閃退。\n建議使用閉源的USB攝像頭\nSurface平板 # 不論是Windows還是Linux系統，安裝VLC播放器。點選媒體 → 開啟擷取裝置，即可看到擷取卡畫面。\n若要更精細的控制，請用OBS Studio的擷取裝置。\n4. USB擷取卡與無線投影軟體比較 # 把平板當作電腦外接螢幕，市面上有很多投影軟體，例如Moonlight Sunshine、DuetDisplay、Space Desk、GlideX、Apple Sidecar等等。\n我之前分享過用iPad平板當電腦第二螢幕：Moonlight ＋ Sunshine的方案，是完全開源免費的解決方案。\n那擷取卡跟投影軟體差在哪裡呢？\n它只要線就能用，有線傳輸畢竟比無線穩定。\n你只需要花點小錢買擷取卡就能應付大多數狀況。500台幣就能買到1080p60與USB 3.0的擷取卡。\n擷取卡是雙向的，無視作業系統，Linux、Windows、macOS、Android、iOS都能用。所以你可以把iPad平板當作筆電的外接螢幕，或是反過來將筆電當作iPad的外接螢幕。\n擷取卡也有缺點，擷取卡只能輸出影像，不能使用觸控螢幕。若是採用Moonlight無線投影的方案，使用者就能夠觸控並用手寫筆輸入，音訊也能夠串流到平板播放。\n","date":"2024年11月15日","externalUrl":null,"permalink":"/posts/usb-capture-card-use-a-tablet-as-a-monitor/","section":"所有文章","summary":"本文Ivon討論透過USB擷取卡，讓iPad或Android或Surface平板當作電腦的第二螢幕。\n例如：Linux筆電 + iPad，延伸桌面。 實際使用例子：一邊做簡報一邊看論文。 另一個例子：將顏色比較準確的iPad，透過USB擷取卡當作電腦的延伸螢幕使用，確保Kdenlive剪輯出來的影片顏色正確。 Linux、Windows、macOS電腦都可以使用此方法，透過有線方式將平板當作電腦的第二螢幕。\n如果你想要無線螢幕的方案，敬請參考：Moonlight + Sunshine 平板當電腦第二螢幕\n1. 準備USB擷取卡 # 市面上的平板很少有HDMI Input的連接埠，因此電腦的HDMI線不能直接插到平板輸出影像。\n此時擷取卡就是個不錯的替代方案。\n擷取卡(capture card) 是一種將電腦HDMI輸出畫面，透過USB輸出到另一台電腦的硬體裝置。\n由於擷取卡很多使用UVC，也就是網路攝影機，大部份電腦系統 (Linux / Windows / macOS) 都是免驅動就能用的。\n而Android與iOS系統的最新版本也陸續支援UVC裝置了，所以只要找個支援讀取UVC的APP，我們就能將電腦的HDMI影像輸出到擷取卡，再用平板的UVC APP獲取擷取卡畫面。\n","title":"透過USB擷取卡將iPad平板當作電腦第二螢幕，延伸桌面","type":"posts"},{"content":"一個開源專案研發十年後才改名！？《Minetest》是在2010年推出的開源方塊遊戲。最近，在經過一年多的社群討論後，於2024年10月13日，遊戲改名為《Luanti》。 相關連結：Introducing Our New Name - Luanti Blog\n相應的，Minetest論壇和程式碼儲存庫會陸續改名，模組API可能會有小變動。關於完整改名進度請到這個Github issue查看。 根據Minetest官網說法：最初Perttu Ahola (celeron55) 開發Minetest的時候是將它作為測試品，所以才會有test這個名字。時間過去，Minetest的生態系已經逐漸發展成熟，有了自己的模組API，現在這個專案名稱已不符合當初的目標，所以名字就該改掉了。Minetest已經不復存在，也不再是Minecraft複製品了！\n我們希望，擺脫過去的陰影，讓Luanti能夠綻放出更多的光芒，為未來的冒險體驗帶來新生命。現在它可以獨立生活和呼吸，自由探索潛力，突破限制。至少，我們終於可以對那些問「這是《Minecraft》複製品嗎？」的人說：不，它不再是了。Luanti出身卑微，現已發展成為一個強大的遊戲平台，您和其他任何人都可以在其中開始創作。在您的幫助下，它將繼續成長為更好的遊戲。\n這裡Ivon想吐槽：啊Minetest這個名字應該是專案開發早期就該改了的吧，畢竟當初就是受到Minecraft啟發的，過了這麼久現在才想到！？\n儘管事出突然（許多Minetest玩家都不知道有改名這回事），但Ivon認為，Minetest會改名的跡象其實一年前就有了。\n過去Minetest在釋出遊戲程式的時候都會隨附Minetest Game作為預設的子遊戲，而在Minetest 5.8.0之後，Minetest便不再附加Minetest Game，而是鼓勵玩家下載他們自己想玩的子遊戲。 多年以來，Minetest的開發者都是將它定位為像素遊戲引擎，而非一個單純的遊戲。它提供你像素方塊遊戲引擎，讓你在上面使用Lua程式創造遊戲，而\u0026quot;Minetest Game\u0026quot;不過是其中一個子遊戲模式罷了。Ivon得承認，\u0026ldquo;Minetest Game\u0026quot;這款遊戲設計得非常失敗，多年以來遊戲性都沒有太大改變，玩法只有蓋方塊和探索地形，沒有動物和生存模式的元素，因此不裝模組玩會很無聊。 如果你想要完整的遊戲體驗，得改安裝VoxeLibre、NodeCore之類的子遊戲才能享受樂趣。\n這樣Ivon就覺得改名有道理了，Minetest Game沒有跟著改名，於是它就變成一個執行在Luanti平台的子遊戲了，而非代表整個Luanti遊戲。現在整個遊戲改名之後，玩家應該能更好的區分Luanti與Minetest Game關係\u0026hellip;的吧。\n相關文章：什麼是Luanti的「子遊戲」和「基本遊戲」？\nIvon知道你在想什麼，對新玩家來說「遊戲引擎」和「子遊戲」的講法很容易讓人困惑，讓人搞不清楚Minetest是在幹嘛。如果還是不能理解，就想想《Roblox》吧，這遊戲沒有固定玩法，全部由玩家創作。Minetest和Minetest Game的關係大概就是這樣。改名Luanti後，玩家應該能更能知道Minetest Game只是一款子遊戲。\n順帶一提，今年也有一個Minetest子遊戲改名，那就是完全模仿Minecraft玩法的\u0026quot;Mineclone 2\u0026rdquo;，開發者將其改名為\u0026quot;VoxeLibre\u0026quot;。 \u0026ldquo;VoxeLibre\u0026quot;我覺得還算好唸啦，畢竟是英文單字。可是\u0026quot;Luanti\u0026quot;要怎麼唸呢？這個是結合葡萄牙語與芬蘭語的自創字，\u0026ldquo;Lua\u0026quot;表示程式語言，\u0026ldquo;luonti\u0026quot;是芬蘭語中「創造」的意思。\u0026hellip;正確的唸法應該是/ˈluːənti/？對講華語的人來說\u0026quot;luanti\u0026quot;唸起來很像「軟體」。另外，\u0026ldquo;luanti\u0026quot;看起來很像是英文的\u0026quot;lunatic\u0026rdquo;(瘋子)之意。\n既然開發者這樣硬幹了，那麼我們玩家也不能多說什麼，只好順應潮流，放棄Minetest這個名字，改叫Luanti。\n話說竟然有人在Change.org發起請願，要求改回Minetest的舊名XDD 你討厭新名字，自己fork一份不就好了！ ","date":"2024年11月14日","externalUrl":null,"permalink":"/posts/minetest-rebrand-to-luanti/","section":"Luantis","summary":"一個開源專案研發十年後才改名！？《Minetest》是在2010年推出的開源方塊遊戲。最近，在經過一年多的社群討論後，於2024年10月13日，遊戲改名為《Luanti》。 相關連結：Introducing Our New Name - Luanti Blog\n相應的，Minetest論壇和程式碼儲存庫會陸續改名，模組API可能會有小變動。關於完整改名進度請到這個Github issue查看。 根據Minetest官網說法：最初Perttu Ahola (celeron55) 開發Minetest的時候是將它作為測試品，所以才會有test這個名字。時間過去，Minetest的生態系已經逐漸發展成熟，有了自己的模組API，現在這個專案名稱已不符合當初的目標，所以名字就該改掉了。Minetest已經不復存在，也不再是Minecraft複製品了！\n我們希望，擺脫過去的陰影，讓Luanti能夠綻放出更多的光芒，為未來的冒險體驗帶來新生命。現在它可以獨立生活和呼吸，自由探索潛力，突破限制。至少，我們終於可以對那些問「這是《Minecraft》複製品嗎？」的人說：不，它不再是了。Luanti出身卑微，現已發展成為一個強大的遊戲平台，您和其他任何人都可以在其中開始創作。在您的幫助下，它將繼續成長為更好的遊戲。\n這裡Ivon想吐槽：啊Minetest這個名字應該是專案開發早期就該改了的吧，畢竟當初就是受到Minecraft啟發的，過了這麼久現在才想到！？\n","title":"開源方塊遊戲Minetest正式改名為「Luanti」","type":"luanti"},{"content":"檢索增強生成 (RAG) 是能夠擴充語言模型知識量的技術，在Open WebUI裡面這個功能叫做知識庫(Knowledge Base)\n如果你已經玩過Open WebUI，應該會發現網頁界面是能夠上傳單個檔案叫語言模型分析的。 除了在對話的時候即時上傳檔案請語言模型分析之外，你也可以預先準備一些資料，上傳到Open WebUI的知識庫，並新增以該知識庫為主的語言模型，擴充它的腦容量。這樣語言模型在與你問答的時候，便會自動參考知識庫的檔案內容，有助於產生更精確的答案。\n例如問：「游良福是誰？」預設情況下LLaMA 3模型沒有收錄他的資料，就會無法回答，或者產生幻覺亂生成答案。 但在Ivon準備幾份有關他事蹟的檔案給他掃描後，語言模型便能依照該檔案內容回答，還會指出他參考了哪些文件。 RAG跟上網搜尋有什麼差呢？雖然Open WebUI是能讓語言模型整理搜尋結果，但是參差不齊，撈到的資料可能會是道聽塗說。而你自己準備的資料，就是已經篩選過，精度較高又品質好的資訊。\n1. 準備RAG資料的前提 # Open WebUI接受許多檔案格式，舉凡txt、markdown、pdf、parquet都可以，為了方便處理我們以txt為例。\n準備檔案前要注意文字長度。上下文(context length)越長，佔用資源越大。Ollama預設的上下文長度是2048個token，跑LLaMA 3 8B的模型運算的時候大約會佔4GB VRAM和8GB RAM。所以這限制了輸入檔案的長度，所有檔案總計不能超過1024個中文字元，否則語言模型會無法吸收。即使你用支援128K token的LLaMA 3模型，也會被Ollama的上下文限制住。\n除非你在Open WebUI的網頁 → 管理員控制台 → 模型 → 進階參數，修改「上下文長度」，強制指示Ollama使用超過2048個token，才能夠搜尋更長的文本。Open WebUI的文件是建議調到8000以上。\n相應的VRAM與RAM佔用會上升，請注意你的系統是否能負荷。\n2. 設定Open WebUI的RAG # 以Docker架設Open WebUI\n以Docker架設內容擷取引擎Apache Tika，範例docker-compose如下：\nservices: tika: image: apache/tika:latest-full restart: on-failure ports: - \u0026#34;9998:9998\u0026#34; Open WebUI內建的嵌入模型不好用，點選Open WebUI左下角，切換到管理員設定 → Ollama模型，下載嵌入模型mxbai-embed-large 切換到文件頁面，設定嵌入模型引擎為Ollama，將嵌入模型改為mxbai-embed-large。內容擷取引擎設定為連線到Apache Tika伺服器。 再來注意查詢參數Top K的數值，代表一次最多能搜尋幾個檔案，預設是3個。若你需要強制語言模型查看所有檔案，請設定跟你的檔案數目相同，否則搜尋時可能會跳過一些檔案導致不準確。\n3. 新增知識庫與自訂語言模型 # 到Open WebUI主畫面，左上角工作區 → 知識，點選新增知識庫 在這裡上傳你要的txt檔案。上傳的檔案會經過處理後，儲存到向量資料庫。這裡的知識庫是可以隨時變動的，日後上傳到知識庫的新檔案都能讓語言模型取用。 接著切換到模型頁面，點選新增自訂語言模型，以現有的模型為基礎，這裡使用LLaMA 3。 在下面選取使用剛剛建立的知識庫。 嘗試與自訂語言模型問答，它就會優先搜尋知識庫的內容來回答。 如果你希望搜尋更長上下文，點選側邊的Ollama設定，調高上下文長度。 參考資料 # Retrieval Augmented Generation (RAG) - OpenWebUI Documentation Tutorial: Configuring RAG with OpenWebUI Documentation ","date":"2024年11月13日","externalUrl":null,"permalink":"/posts/open-webui-rag-knowledge-base/","section":"Language-Models","summary":"檢索增強生成 (RAG) 是能夠擴充語言模型知識量的技術，在Open WebUI裡面這個功能叫做知識庫(Knowledge Base)\n如果你已經玩過Open WebUI，應該會發現網頁界面是能夠上傳單個檔案叫語言模型分析的。 除了在對話的時候即時上傳檔案請語言模型分析之外，你也可以預先準備一些資料，上傳到Open WebUI的知識庫，並新增以該知識庫為主的語言模型，擴充它的腦容量。這樣語言模型在與你問答的時候，便會自動參考知識庫的檔案內容，有助於產生更精確的答案。\n例如問：「游良福是誰？」預設情況下LLaMA 3模型沒有收錄他的資料，就會無法回答，或者產生幻覺亂生成答案。 但在Ivon準備幾份有關他事蹟的檔案給他掃描後，語言模型便能依照該檔案內容回答，還會指出他參考了哪些文件。 RAG跟上網搜尋有什麼差呢？雖然Open WebUI是能讓語言模型整理搜尋結果，但是參差不齊，撈到的資料可能會是道聽塗說。而你自己準備的資料，就是已經篩選過，精度較高又品質好的資訊。\n1. 準備RAG資料的前提 # Open WebUI接受許多檔案格式，舉凡txt、markdown、pdf、parquet都可以，為了方便處理我們以txt為例。\n","title":"Ollama + Open WebUI設定RAG，建立知識庫強化語言模型能力，讀取PDF文件生成回應","type":"language-model"},{"content":"自架一個類似Perplexity AI，讓Ollama Open WebUI搜尋並統整網頁資料。\n這樣即使語言模型訓練時沒有加入最新資訊，他也能夠透過網路搜尋即時獲取最新資訊。\n另請參見：設定RAG，建立Open WebUI本地知識庫強化語言模型能力\n例如，你問LLaMA語言模型：「2024年台灣總統大選是誰當選？」他會說他的記憶還在2023年以前，所以不能給出答案。 讓他上網搜尋一下呢？很好，他就會告訴你是賴清德。 因為用的語言模型關係，政黨英文名字怪怪的\n下面還會列出它的參考資料來源呢！ 1. 安裝Open WebUI # 參見以Docker部署Ollama + Open WebUI\nOllama背後使用的模型，最小只要3B的版本就足以整理網頁蒐集來的資料了，不過得選擇跟你搜尋語言一樣的模型才能較好的整理資料。\n2. 準備搜尋引擎 # Open WebUI支援SearXNG、Brave、DuckDuckGo、Google、Serper等搜尋引擎。\n其中，Duckduckgo開箱即用。SearXNG適合DIY玩家使用，由於他本身是元搜尋引擎，能夠較有效率的統整搜尋結果再讓AI整理。你可以考慮自架SearXNG並啟用JSON，提供更好的結果給AI。\n至於最受歡迎的Google嗎，Open WebUI沒辦法直接存取，你得自行建立「Google程式化搜尋引擎」取得API金鑰。這個搜尋引擎有限額，一週僅限搜尋1000次。\n到程式化搜尋引擎新增搜尋引擎\n總覽頁面會看到你的搜尋引擎ID 在總覽 → 程式輔助存取權，點選新增Custom Search JSON API 點選Get a key取得API金鑰 3. 如何叫AI搜尋網路結果 # 開啟Open WebUI，點左下角開啟管理員設定面板，在網頁搜尋設定使用Google PSE，填入搜尋引擎ID與API金鑰 回到對話頁面，在對話框勾選網頁搜尋，然後詢問一些問題（建議加上「搜尋」提示詞），他會依照你的提示詞搜尋，再按照網頁回答你的問題。 由於網頁搜尋會用到RAG技術，你可能需要修改語言模型的「上下文長度」到8000以上，才能讓AI讀取到更長的網頁內容。\n參考資料 # Web Search | Open WebUI Browser Search Engine Integration - Open WebUI ","date":"2024年11月12日","externalUrl":null,"permalink":"/posts/open-webui-search-engines-integration/","section":"Language-Models","summary":"自架一個類似Perplexity AI，讓Ollama Open WebUI搜尋並統整網頁資料。\n這樣即使語言模型訓練時沒有加入最新資訊，他也能夠透過網路搜尋即時獲取最新資訊。\n另請參見：設定RAG，建立Open WebUI本地知識庫強化語言模型能力\n例如，你問LLaMA語言模型：「2024年台灣總統大選是誰當選？」他會說他的記憶還在2023年以前，所以不能給出答案。 讓他上網搜尋一下呢？很好，他就會告訴你是賴清德。 因為用的語言模型關係，政黨英文名字怪怪的\n下面還會列出它的參考資料來源呢！ 1. 安裝Open WebUI # 參見以Docker部署Ollama + Open WebUI\nOllama背後使用的模型，最小只要3B的版本就足以整理網頁蒐集來的資料了，不過得選擇跟你搜尋語言一樣的模型才能較好的整理資料。\n2. 準備搜尋引擎 # Open WebUI支援SearXNG、Brave、DuckDuckGo、Google、Serper等搜尋引擎。\n其中，Duckduckgo開箱即用。SearXNG適合DIY玩家使用，由於他本身是元搜尋引擎，能夠較有效率的統整搜尋結果再讓AI整理。你可以考慮自架SearXNG並啟用JSON，提供更好的結果給AI。\n至於最受歡迎的Google嗎，Open WebUI沒辦法直接存取，你得自行建立「Google程式化搜尋引擎」取得API金鑰。這個搜尋引擎有限額，一週僅限搜尋1000次。\n","title":"自架AI搜尋引擎，讓Open WebUI搜尋Google網頁，統整網頁資料","type":"language-model"},{"content":"","date":"2024年11月12日","externalUrl":null,"permalink":"/tags/baka-to-test-to-shoukanjuu/","section":"標籤","summary":"","title":"Baka to Test to Shoukanjuu","type":"tags"},{"content":" 是誰偷走了我的人生？很多做題家會這樣講，羨慕日本高中生的校園生活，課業壓力相對台灣和中國的要輕鬆。想像夕陽西下的場景，放課後還有豐富社團活動，有輕音部和SOS團讓你參與，可能還會打打炮之類的（咦）\n說道這個，很難不讓人想到イモネイド寮長繪製的兩本經典同人誌：「チチとバストと乳房厨」，兩本都是男主角吉井明久被眾女主角強暴的劇情。\n我以前在Animax頻道追過《笨蛋，測驗，召喚獸》所以對這部動畫印象深刻，用成績決勝負戰鬥場景很容易讓青少年入迷。 而後十年，在市場上出現的許多本子之中，イモネイド寮長繪製的チチとバストと乳房厨就是最好的同人作品，足以稱為經典。\nイモネイド寮長是《食戟之靈》作者佐伯俊以前當成人漫畫家時候的筆名，從這裡就能看出老師的畫工有多強了吧。\nチチとバストと乳房厨為關於動漫《笨蛋，測驗，召喚獸》的R18本子，標題即是把原作的「バカ と テスト と 召喚獣」替換成「雞雞 奶子 乳房廚」，實際讀過內頁就知道為什麼了XD\n1. チチとバストと乳房厨 # 第一本是在2010年發售的：(C77) [比較的シンプルなパンティ (イモネイド寮長)] チチとバストと乳房厨 (バカとテストと召喚獣) 哇幹，第一本就有很多優質鏡頭，像是主動獻身的，姬路瑞希和島田美波。這個罩杯未免也太大。 在保健室左擁右抱，露出雄偉的大屌 乳交的態勢畫得實在太有魄力了，先是從上面壓上來 被巨大奶子包覆的雞雞，兩個女孩子還爭先恐後的想舔食精液 瑞希的戰鬥畫面看起來還好，大奶不過是方便乳交罷了，她要到下一本才會發揮出實力。 重頭戲應該是美波，貼心的幫你重新吹硬之後，張開雙腿給人上 感覺繪師不太會畫動感場面，背後式感覺像是靜止的，但是軀體的描繪絕對是一等一的 這一幕尤為經典，大量射精場面覆蓋女孩子身體，難道你的雞雞是水管嗎！？ 2. チチとバストと乳房厨2 # 第二本於2010年發售：(COMIC1☆4) [比較的シンプルなパンティ (イモネイド寮長)] チチとバストと乳房厨2 (バカとテストと召喚獣) 這本可說是大滿貫，補齊了剩下的女角：吉井玲和木下秀吉，姬路瑞希和島田美波的戲份雖然稀釋掉了，但是最後的大亂交一定少不了。\n早上起來刷刷牙\u0026hellip;不是，是雙重乳交教你起床啦 男主的雞雞依然像灑水器一樣，早起的鳥兒都有洨吃 跟姊姊性愛的部份處理的很不錯，這個角度實在太讚了 中間穿插一個強上性別不明的秀吉場面，因為明久是笨蛋，所以不管那麼多了，有洞就能插！把人家幹得一把鼻涕一把眼淚的，但是那個臉真的好漂亮啊\u0026hellip;加上明久孔武有力的身軀，真是絕配。 後面就有點草草了事了，美波抱著插，很快就射了 瑞希使用本篇最強腰力！騎乘位令雞雞為之振奮，還有巨乳在眼前上下搖晃。從明久的嘴型我們就能看出他有多爽了。我看了也很爽。 最後當然要來大亂交了，輪流換人上： 右上第一格幹著瑞希，玲的大屁股則是壓在臉上\n右下第二格換玲插，其他人幫忙提昇性感度，瑞希不時來舔一口\n左上只專注幹美波，其他人欣賞她的小奶\n左下則是在秀吉小穴外側素股，再加上奶子三重的親密呵護\u0026hellip;啊啊大爆射！（十年前還沒大爆射這種講法，所以漢化組把這句翻作「精液一射而光」）\n最後，平等的將精液射到每個女孩子的小穴裡，所以我說你的雞雞根本就是分流管吧。 3. 回憶殺的力量 # 總結來說，チチとバストと乳房厨算是我看過上色最認真的繪師之一了，同人誌還把光影處理的那麼好，人體肌膚和精液的光影變化都畫得很深入，讓陰莖表現得夠雄偉、奶子展現得夠堅挺，充滿身歷其境的物理實感，現在讀來依然令人讚嘆。\n以前看到這兩本系列的時候約是2013年前後，所以還有年齡的回憶加成，讀來總是懷念。國中或許不至於發生性關係（倒是聽過以1000元一小時賣淫不成，被學務主任抓到的肥龍zzzzzz），而在高中的時候確實在補習班聽過身邊成績好的現充公開談論打炮的事情，而introvert只能打手槍。\n在那夕陽西下的街道，走向搖不可及的未來。\n","date":"2024年11月12日","externalUrl":null,"permalink":"/posts/imonade-ryouchou-chichi-to-bust-to-oppaichuu-series-review/","section":"Nsfws","summary":" 是誰偷走了我的人生？很多做題家會這樣講，羨慕日本高中生的校園生活，課業壓力相對台灣和中國的要輕鬆。想像夕陽西下的場景，放課後還有豐富社團活動，有輕音部和SOS團讓你參與，可能還會打打炮之類的（咦）\n說道這個，很難不讓人想到イモネイド寮長繪製的兩本經典同人誌：「チチとバストと乳房厨」，兩本都是男主角吉井明久被眾女主角強暴的劇情。\n我以前在Animax頻道追過《笨蛋，測驗，召喚獸》所以對這部動畫印象深刻，用成績決勝負戰鬥場景很容易讓青少年入迷。 而後十年，在市場上出現的許多本子之中，イモネイド寮長繪製的チチとバストと乳房厨就是最好的同人作品，足以稱為經典。\nイモネイド寮長是《食戟之靈》作者佐伯俊以前當成人漫畫家時候的筆名，從這裡就能看出老師的畫工有多強了吧。\n","title":"回顧經典：イモネイド寮長「チチとバストと乳房厨」，笨蛋測驗召喚獸的最佳本子","type":"nsfw"},{"content":"想要在電腦和手機無廣告看Youtube影片？你有「Invidious」這個替代網站可以使用。\nInvidious意為無聊、令人討厭之意，這個網站讓Youtube界面變無聊了？其實是最大化精簡了播放功能。 採用Invidious技術的網站，能夠正常搜尋Youtube影片，去廣告，去掉Google追蹤器，還有背景播放、從網頁下載影片、自訂播放清單的功能。\n這篇文章，Ivon將會介紹Invidious網站的使用方法，最後討論如何自架一個Invidious站台。\n1. Invidious簡介 # 其實「Invidious」並不是單一網站，而是一個開源專案的名字。Invidious專案旨在幫助人們建立一個極簡化的Youtube前端網站，單純用於看影片，免受廣告干擾。\n原始碼位於Github：Invidious is an alternative front-end to YouTube\nInvidious並無使用官方Youtube API，只爬取必要的網頁影片資訊，類似代理伺服器的概念。Invidious網頁設計不用JavaScript就能用，儘量杜絕被追蹤的可能性。\n順帶一提，Google曾經威脅要對Invidious採取法律行動，參見這個Github issue，但是無事發生。 現在全球有許多使用Invidious技術的站台，只要用電腦或手機瀏覽器連上其中一個站台便能看影片，甚至支援Tor連線呢。 此外，Invidious訂閱列表跟無廣告手機APP NewPipe通用。NewPipe同樣秉持「不依賴Google帳號看Yotube影片」的理念設計。\n類似Invidious理念的技術還有Piped。\n缺點是Invidious無法登入Google帳號，適合不依賴Google帳號，只想單純看影片的使用者。有些Invidious站台會開放註冊，那也頂多儲存播放清單和訂閱列表而已。\n且如果站台伺服器位於歐美國家，便搜尋不到有區域限制的影片，比方說台灣木棉花代理的動畫。另外有版權保護的音樂影片也容易播放失敗。\n所幸因為是開源技術，你也可以自己架一個Invidious站台看影片，這樣你就不用跟其他人搶資源，並對站台資料有完全掌控權。\n2. Invidious網站用法 # 全球有許多使用Invidious技術的網站，稱為「公共站台」。\n如果您不想自架Invidious，請挑個Invidious公共站台來用，選Health為100的站台（例如較知名的站台https://yewtu.be），再點選旁邊的Go。 由於Invidious有瀏覽器就能運作，Android和iOS用戶可以點選瀏覽器的「新增網站到主畫面」，將網站捷徑加入到手機桌面。\n進入Invidious站台首頁就可以搜尋影片囉 手機即使回到桌面，Invidious仍能在背景繼續播放，Android與iOS皆然。Invidious預設畫質只有720p，要播放1080p影片的話需要到右上角設定啟用DASH格式。 有些Invidious站台開放下載Youtube影片，最高畫質到720p。 如果影片無法載入，請點選「切換Invidious站台」換個站台，或者回報issue給Invidious開發團隊。 有些Invidious站台開放註冊帳號，方便儲存歷史紀錄與儲存播放清單，至於隱私風險自行拿捏。帳號僅限同一個站台使用，若要搬遷到其他站台需手動匯出資料。\n3. 自架一個Invidious站台 # 不信任Invidious公共站台，當然你也可以自己架一個，擁有更快載入速度，調整更多細部設定。\n參見：以Docker架設Invidious\n","date":"2024年11月11日","externalUrl":null,"permalink":"/posts/invidious-youtube-privacy-frontend/","section":"所有文章","summary":"想要在電腦和手機無廣告看Youtube影片？你有「Invidious」這個替代網站可以使用。\nInvidious意為無聊、令人討厭之意，這個網站讓Youtube界面變無聊了？其實是最大化精簡了播放功能。 採用Invidious技術的網站，能夠正常搜尋Youtube影片，去廣告，去掉Google追蹤器，還有背景播放、從網頁下載影片、自訂播放清單的功能。\n這篇文章，Ivon將會介紹Invidious網站的使用方法，最後討論如何自架一個Invidious站台。\n1. Invidious簡介 # 其實「Invidious」並不是單一網站，而是一個開源專案的名字。Invidious專案旨在幫助人們建立一個極簡化的Youtube前端網站，單純用於看影片，免受廣告干擾。\n原始碼位於Github：Invidious is an alternative front-end to YouTube\nInvidious並無使用官方Youtube API，只爬取必要的網頁影片資訊，類似代理伺服器的概念。Invidious網頁設計不用JavaScript就能用，儘量杜絕被追蹤的可能性。\n順帶一提，Google曾經威脅要對Invidious採取法律行動，參見這個Github issue，但是無事發生。 ","title":"Invidious用法：Youtube去廣告、網頁下載影片的開源前端網站","type":"posts"},{"content":"從外網存取區域網路的裝置，又不需要每一台裝置都安裝Tailscale。\n1. Subnet Routers的用途 # 適用場景：不想在每個裝置都安裝Tailscale，佔掉Tailscale裝置名額的用戶。\n試想，在家裡，當手機、電腦、NAS、樹莓派位於同一個網路的時候，我們可以透過區域網路IP連線。\n例如：\n電腦 192.168.0.109 手機 192.168.0.110 NAS 192.168.0.111 樹莓派 192.168.0.112 區域網路下，電腦能夠從192.168.0.111連線到NAS的服務。\n如果我要從外部網路連線到家中NAS，可以選擇在所有裝置都安裝Tailscale客戶端，之後用Tailscale分配的虛擬區域IP連線到NAS，例如100.64.0.0，不能再使用192.168.0.111連線了。\n但是這樣很麻煩的說，要是裝置多起來了怎麼辦呢？每部裝置都安裝一次Tailscale嗎？還要去記住Tailscale給的IP？萬一那台裝置不給安裝第三方軟體呢？\n能不能在家裡的一部裝置安裝Tailscale就好，把它作為跳板機使用，從而存取背後的所有區域網路的裝置呢？\n這就是Tailscale的「Subnet Routers」子網路路由功能，只要在一部裝置安裝Tailscale，並啟用Subnet功能，就可以把它當成跳板機，存取區域網路的其他裝置，即使那些裝置沒有安裝Tailscale也能連線。\n連線的時候，作為Subnet Routers的裝置是扮演SNAT的角色。\n2. 安裝Tailscale # 參考Tailscale安裝教學\n建議安裝在Linux系統的裝置，例如電腦或者路由器，比較好處理網路連線。\n3. 將Linux作為Subnet Routers # 登入要作為Subnet Router的Linux電腦。使用sysctl指令，給Linux核心啟用IP Forwarding echo \u0026#39;net.ipv4.ip_forward = 1\u0026#39; | sudo tee -a /etc/sysctl.d/99-tailscale.conf echo \u0026#39;net.ipv6.conf.all.forwarding = 1\u0026#39; | sudo tee -a /etc/sysctl.d/99-tailscale.conf sudo sysctl -p /etc/sysctl.d/99-tailscale.conf 你需要注意防火牆是否會阻擋IP Forwarding，這裡使用UFW因此不需要再另外設定。\n接著，利用NetworkManager附屬的nmcli指令，列出網路連線裝置。如果使用乙太網路，那麼裝置名稱應該是enp開頭\nnmcli device # 範例輸出 DEVICE TYPE STATE CONNECTION enp2s0 ethernet 已連線 eth0 取得Linux網路的預設閘道(gateway)，例如我家網路是192.168.0.0/24 nmcli device show enp2s0 | grep \u0026#39;IP\u0026#39; 將Tailscale設定使用該閘道器 sudo tailscale up --advertise-routes=192.168.0.0/24 --operator=user 開啟Tailscale網頁後台，點進去Subnet的機器設定 在Routing Settings這裡同意Subnet規則 如果要取消Subnet Routers，只要在Tailscale網頁後台關閉，再執行以下指令就行了。\nsudo tailscale up --advertise-routes= --operator=user 4. 嘗試連線到Subnet Routers背後的裝置 # 接著讓另一台電腦連上Tailscale網路，不要連到區域網路。\n測試能否ping到192.168.0.0網段的裝置。\nWindows、macOS、Android、iOS應該是開箱即用。\n如果客戶端電腦是Linux，需要執行以下指令才能存取Subnet Routers背後的裝置：\nsudo tailscale up --accept-routes 目前Tailscale的Subnet routers尚不支援使用mDNS或Avahi連線到區域網路裝置，所以得打IPV4位置才能連線。\n參考資料 # Subnet routers · Tailscale Docs TailScale 實現遠端訪問整段局域網(ZeroTier 另一選擇) - King Zone ","date":"2024年11月10日","externalUrl":null,"permalink":"/posts/tailscale-subnet-routers/","section":"所有文章","summary":"從外網存取區域網路的裝置，又不需要每一台裝置都安裝Tailscale。\n1. Subnet Routers的用途 # 適用場景：不想在每個裝置都安裝Tailscale，佔掉Tailscale裝置名額的用戶。\n試想，在家裡，當手機、電腦、NAS、樹莓派位於同一個網路的時候，我們可以透過區域網路IP連線。\n例如：\n電腦 192.168.0.109 手機 192.168.0.110 NAS 192.168.0.111 樹莓派 192.168.0.112 區域網路下，電腦能夠從192.168.0.111連線到NAS的服務。\n如果我要從外部網路連線到家中NAS，可以選擇在所有裝置都安裝Tailscale客戶端，之後用Tailscale分配的虛擬區域IP連線到NAS，例如100.64.0.0，不能再使用192.168.0.111連線了。\n但是這樣很麻煩的說，要是裝置多起來了怎麼辦呢？每部裝置都安裝一次Tailscale嗎？還要去記住Tailscale給的IP？萬一那台裝置不給安裝第三方軟體呢？\n能不能在家裡的一部裝置安裝Tailscale就好，把它作為跳板機使用，從而存取背後的所有區域網路的裝置呢？\n這就是Tailscale的「Subnet Routers」子網路路由功能，只要在一部裝置安裝Tailscale，並啟用Subnet功能，就可以把它當成跳板機，存取區域網路的其他裝置，即使那些裝置沒有安裝Tailscale也能連線。\n","title":"Tailscale設定Subnet Routers，從跳板機存取區網背後的裝置","type":"posts"},{"content":"將樹莓派改造為螢幕投放的串流裝置（俗稱投屏神器），從手機投放的多媒體到樹莓派播放，最好連手機螢幕也能一併鏡射上去。 1. 動機 # 雖然有買Chromecast，但是接觸到Degoogle思想後，不想被單一產品綁住，所以嘗試用樹莓派DIY一個類似Chromecast的裝置，採取開源方案。\n加上我有一個閒置的喇叭，還有一塊雞肋的攜帶式螢幕，預計讓樹莓派搭配以上兩個組成一個接收手機投放的裝置。\n樹莓派安裝的作業系統是原廠的Debian Linux，搭配LXDE桌面環境。\n在Google TV推出以前，Chromecast最主要的功能就是：\n將手機的音訊串流到Chromecast裝置，包含串流音樂 將離線的影片或音樂串流到Chromecast裝置 鏡射手機螢幕到Chromecast裝置，包含串流Youtube影片 電子相框，待機時輪播照片 我暫時還沒想要與智慧家電的整合，雖然要的話也是可以。例如搭配Home Assiatant套件。\n重點在於樹莓派要如何成為隨時能讓手機投放的裝置？\n這個投影方案應該相容Android與iOS系統，電腦系統為次要支援對象。\n投放過程應該要從手機端操作，不需要頻繁去動到樹莓派的設定。也就是主動從手機投放，而非用手機去存取遠端的內容。故Volumio、Jellyfin、Roon之類的方案不在考慮列表。\n要講具體一點的場景的話，那就是我只要在手機按一個按鈕，就能選取要投放的對象，將正在看的影片投放到樹莓派 ———— 不論那個影片是Youtube還是Setting的。\n2. 解法 # 用作業系統來分類吧。\niOS # iPhone相對單純，只要在樹莓派裝開源的AirPlay接收器Uxplay，就能透過AirPlay播放iOS裝置上的影片和音樂，還有投放螢幕。\n用Systemd將UxPlay設定為開機自動啟動服務，樹莓派便能隨時待命等待投放。由於UxPlay的視窗是疊在X Server上面的，不投放的時候視窗關閉，下面的桌布就會露出來，如是成為相片輪播功能。\n用起來就像下圖展示的一樣： Android # Android手機情況比較混亂，有很多種解決方案，各家手機廠商甚至有自家的東西，但是我不想依賴特定廠商的解決方案。\n投放的協定通常是走Wifi，頻寬比較大。以下談論的技術都是10年前就出現的了。\n最常見的是「Chromecast」，背後使用Google Cast協定，大部分Android手機都支援，能將Android的螢幕和影音投影到Chromecast裝置。但Google Cast為專有協定，目前還沒有人破解出來。Google Play的AirScreen這類投屏軟體應該是私底下破解的。\n一般人無法在沒有Google認證的情況下做出Chromecast接收端。目前最接近破解版Chromecast的應該是Shanocast，沒有實用性。\n另一個協定「Miracast」，這個只有部份Android手機支援，不是裝個APP就能解決的。說來就氣，Google為了挺自家的Chromecast，刻意讓Pixel不支援Miracast，連帶影響到使用原生系統的Sony Xperia。這種操作還滿像Apple搞AirPlay自己玩的作法。\n如果有幸支援Miracast，於樹莓派裝Miraclecast接收端，就能夠投影手機螢幕到樹莓派，以及播放影音。\n除了Miracast以外，還有更老的「DLNA」技術，僅部份手機支援。樹莓派安裝gmrender-resurrect作為接收端。\n小結，以上的方案都有各種問題。如果真的要不分Android手機廠牌都能投影，在樹莓派跑Scrcpy或許是個解法，螢幕和聲音都能傳過去。\n但是它的用法比較像是從電腦控制Android手機，而非從手機端投影到電腦。 Scrcpy要從手機配對很麻煩，或許可以拿KDE Connect作為中介，寫個script，遠端控制樹莓派執行adb pair指令，讓樹莓派自動與Android手機完成無線配對，再啟動Scrcpy視窗？\n還有一個是FCast，由FUTO組織所研發的協定，已經有接收端程式。配合他們家的GrayJay APP就能投放影片。GrayJay是將YouTube、Twitch、Oddysey整合在一起的大雜燴，算是異色版NewPipe吧。可惜GrayJay是假開源APP（看源軟體）。\n3. 以上協定全都不要？ # 最後再看看主流協定以外的替代方案。\n以前有個叫做Raspicast的專案，能將Android手機影片投放到樹莓派。可是技術太舊，沒法更新了。\nNymphCast為一套完整的解決方案，開放原始碼，目前已經能夠投放音樂和影片，尚提供媒體伺服器的功能。\n無須特殊硬體，安裝APP便能投放，作者有寫一個參考實現客戶端，能用來播放音樂，並且支援一對多。 雖然這二個方案的協定理論上能被其他軟體開發者實作，加入APP投放支援，但是這個市場可能還是太小眾了，目前沒有開發者有興趣加入支援。\n最大宗的投放還是Chromecast和AirPlay，幾乎每一款軟體都有支援。\n4. 總結 # 不要起爭議啦，乾脆把樹莓派接上音源線，做成藍芽喇叭，透過PipeWire的藍芽讓手機能連線播放，這樣就沒有作業系統之分了（被打）。\n到頭來，反而是iPhone + UxPlay的方案我用得最舒服。遺憾我是Android仔，只能認命用Chromecast。\n","date":"2024年11月9日","externalUrl":null,"permalink":"/posts/build-a-chromecast-alternative-with-raspberry-pi/","section":"所有文章","summary":"將樹莓派改造為螢幕投放的串流裝置（俗稱投屏神器），從手機投放的多媒體到樹莓派播放，最好連手機螢幕也能一併鏡射上去。 1. 動機 # 雖然有買Chromecast，但是接觸到Degoogle思想後，不想被單一產品綁住，所以嘗試用樹莓派DIY一個類似Chromecast的裝置，採取開源方案。\n加上我有一個閒置的喇叭，還有一塊雞肋的攜帶式螢幕，預計讓樹莓派搭配以上兩個組成一個接收手機投放的裝置。\n樹莓派安裝的作業系統是原廠的Debian Linux，搭配LXDE桌面環境。\n在Google TV推出以前，Chromecast最主要的功能就是：\n將手機的音訊串流到Chromecast裝置，包含串流音樂 將離線的影片或音樂串流到Chromecast裝置 鏡射手機螢幕到Chromecast裝置，包含串流Youtube影片 電子相框，待機時輪播照片 我暫時還沒想要與智慧家電的整合，雖然要的話也是可以。例如搭配Home Assiatant套件。\n重點在於樹莓派要如何成為隨時能讓手機投放的裝置？\n這個投影方案應該相容Android與iOS系統，電腦系統為次要支援對象。\n投放過程應該要從手機端操作，不需要頻繁去動到樹莓派的設定。也就是主動從手機投放，而非用手機去存取遠端的內容。故Volumio、Jellyfin、Roon之類的方案不在考慮列表。\n","title":"用樹莓派自幹Chromecast替代品，手機投放到大螢幕","type":"posts"},{"content":"GSConnect是專為Linux GNOME桌面打造的軟體，可以讓你的電腦與手機連線，同步通知、查看簡訊、傳送檔案，或者透過手機遠端控制電腦的滑鼠。 這個程式的功能主要來自KDE Connect，由於KDE Connect部份功能僅能在KDE Plasma桌面使用，所以Andy Holmes就開發了GNOME桌面專用的版本，透過GNOME擴充套件的方式實現，跟GNOME桌面整合得更好。\n順帶一提，作者還開發了叫做Valent的KDE Connect客戶端，使用GTK寫成，不必依賴GNOME桌面就能使用。\n1. 安裝GSConnect # 參考Github安裝指示，GSConnect只能在GNOME桌面使用，Ubuntu、Fedora預設安裝的就是GNOME桌面。\n安裝GNOME Extension Manager\n開啟GNOME Extension Manager，搜尋安裝「GSConnect」\n安裝後GSConnect應該會出現在GNOME右上角 你需要手動開啟防火牆，允許GSConnect的通訊埠連線：\nsudo ufw allow 1714:1764/udp sudo ufw allow 1714:1764/tcp sudo ufw reload 如果你要讓GNOME程式出現GSConnect的動作選單，請安裝以下套件 sudo apt install python3-nautilus gir1.2-nautilus-4.0 gir1.2-ebook-1.2 gir1.2-ebookcontacts-1.2 gir1.2-edataserver-1.2 2. 與手機配對 # 讓Linux電腦與手機位於同一個Wifi網路\n在手機下載KDE Connect APP。建議使用Android手機，iOS尚不完善。\n搜尋附近的裝置，點選配對。\n大部份KDE Connect的功能都有移植到GSConnect，透過「遠端控制」用手機移動電腦的滑鼠；「媒體控制」控制播放的音樂。不過目前GSConnect還沒有雷射筆的功能\n傳檔的時候GSConnect預設會將檔案下載到Linux電腦的「下載」目錄。\n你可以在GNOME檔案管理員按右鍵，直接傳送電腦檔案到手機上。 如果Android手機設定了共享資料夾功能，那麼GSConnect會幫你自動用STFP掛載，顯示在GNOME檔案管理器左側，這樣更方便你傳檔案。 3. GSConnect使用指令配對 # GSConnect提供命令行界面，但是你不能用SSH執行指令配對，因為無法連線到現有的GNOME工作階段。\n開啟終端機，輸入指令啟動配對程序： cd ~/.local/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/ daemon.js --list-all daemon.js --pair -d \u0026#34;裝置的UUID\u0026#34; 然後就能用GSConnect指令傳檔案了： daemon.js --share-file=/home/user/Downloads/documents.pdf -d \u0026#34;裝置的UUID\u0026#34; ","date":"2024年11月8日","externalUrl":null,"permalink":"/posts/how-to-use-gsconnect/","section":"所有文章","summary":"GSConnect是專為Linux GNOME桌面打造的軟體，可以讓你的電腦與手機連線，同步通知、查看簡訊、傳送檔案，或者透過手機遠端控制電腦的滑鼠。 這個程式的功能主要來自KDE Connect，由於KDE Connect部份功能僅能在KDE Plasma桌面使用，所以Andy Holmes就開發了GNOME桌面專用的版本，透過GNOME擴充套件的方式實現，跟GNOME桌面整合得更好。\n順帶一提，作者還開發了叫做Valent的KDE Connect客戶端，使用GTK寫成，不必依賴GNOME桌面就能使用。\n1. 安裝GSConnect # 參考Github安裝指示，GSConnect只能在GNOME桌面使用，Ubuntu、Fedora預設安裝的就是GNOME桌面。\n安裝GNOME Extension Manager\n開啟GNOME Extension Manager，搜尋安裝「GSConnect」\n安裝後GSConnect應該會出現在GNOME右上角 你需要手動開啟防火牆，允許GSConnect的通訊埠連線：\nsudo ufw allow 1714:1764/udp sudo ufw allow 1714:1764/tcp sudo ufw reload 如果你要讓GNOME程式出現GSConnect的動作選單，請安裝以下套件 sudo apt install python3-nautilus gir1.2-nautilus-4.0 gir1.2-ebook-1.2 gir1.2-ebookcontacts-1.2 gir1.2-edataserver-1.2 2. 與手機配對 # 讓Linux電腦與手機位於同一個Wifi網路\n在手機下載KDE Connect APP。建議使用Android手機，iOS尚不完善。\n","title":"GSConnect：Linux電腦與手機傳檔，手機當電腦無線滑鼠","type":"posts"},{"content":"KDE連線 (KDE Connect) 是一款跨平台應用程式，主要功能為讓二台裝置透過無線網路傳輸檔案 還可以遠端遙控電腦、播放音樂、控制投影片等等。本軟體開源免費，不需要註冊帳號，也沒有流量限制。\n使用KDE Connect控制手機或電腦的音訊 使用KDE Connect遠端控制電腦執行指令 KDE Connect支援Linux/Windows/macOS/Android/iOS系統，還可以用指令模式執行。\n實際操作影片： 這篇文章介紹如何安裝KDE Connect。\n1. KDE Connect功能 # KDE Connect原理是透過區域Wifi讓二台電腦或手機配對，建立SSH加密連線，這樣彼此就能無線傳檔。\n除了傳檔案外，KDE Connect還可以：\n遠端滑鼠、鍵盤，手機遙控電腦，電腦遙控手機。 同步雙方剪貼簿 遠端投影片控制，手機當成投影遙控器。 音樂播放控制，可暫停播放手機或電腦上的音樂。 透過SFTP瀏覽手機的檔案 發出鈴響尋找手機 讓電腦自動執行指令碼 將另外一部電腦當作延伸螢幕使用（依賴Krfb，因此雙方都必須使用KDE Plasma桌面） 根據Ivon的使用經驗來看，由於各個作業系統的功能不盡相同，儘管KDE Connect已經盡力做到跨平台，但無法保證所有系統的功能都一致。\n如果要說相性最好的組合，就是「Linux電腦」搭配「Android手機」了吧，iOS因為限制太多不方便同步通知。\n兩台Linux電腦要連線的話，那麼最好兩邊都是安裝KDE Plasma桌面，方能發揮KDE Connect的最大效益。\n另外，我不確定KDE Connect的程式是怎麼寫的，總感覺傳檔很容易失敗，不如LocalSend穩定。\n2. 如何安裝KDE Connect # 2.1. Linux # KDE Connect推薦搭配KDE Plasma桌面環境使用。如果您使用GNOME或其他桌面環境，建議改用GSConnect或Valent。\nArch Linux sudo pacman -S kdeconnect Ubuntu sudo apt install kdeconnect Fedora sudo dnf install kdeconnect SteamOS Immutable distro可以安裝實驗性的Flatpak版：\nflatpak remote-add --if-not-exists kdeapps --from https://distribute.kde.org/kdeapps.flatpakrepo flatpak install org.kde.kdeconnect 安裝後再參照KDE Wiki設定防火牆規則，例如UFW的設定方式如下：\nsudo ufw allow 1714:1764/udp sudo ufw allow 1714:1764/tcp sudo ufw reload 2.2. Windows # 需要Windows 10以上系統。到官方網站 下載Windows平台的exe。\n初次安裝後，允許其通過防火牆。 2.3. macOS # 需要macOS Catalina以上系統。到官方網站 下載dmg安裝。\n如果有開啟防火牆記得關閉。\n若出現「無法打開應用程式」請到系統設定 → 隱私權與安全性 → 安全性 → 一般，點選強制開啟KDE Connect。\n使用遠端輸入時記得同意存取系統輔助功能。\n2.4. Android # Android版到F-Droid或Google Play下載\n2.5. iOS # iOS版到App Store下載。\n3. 使用方式 # 使用情境1： 手機對電腦傳輸檔案 # 手機為Android，電腦為Linux。\n讓二部裝置連線到同一個Wifi，手機開熱點讓電腦連也可以。\n二邊同時開啟KDE Connect，從手機上點選裝置列表中的電腦，點選【請求配對】 在電腦上同意配對。 這樣子連線就建立了！如果找不到裝置，請嘗試在手機APP點選「以IP新增裝置」，輸入電腦的Wifi區域IP再嘗試配對。\n手機初次連線的時候，需要點選以下選項，將必要的權限都開啟 (Mouse Receiver可不開) 手機上點選【傳輸檔案】就可以傳送任意檔案到電腦了。如果多個傳檔失敗建議一次先傳一個就好。\n此外，KDE Dolphin應會顯示Android手機的檔案系統（以SFTP掛載），能夠直接在電腦檢視手機檔案。 不想使用了的話記得按下【取消配對】。\n如果覺得KDE Connect手機的常駐通知很煩，就對其長按，將「一致化指示器」的通知關閉。 使用情境2：手機對手機傳輸檔案 # 手機1為Android手機，手機2為iPhone\n二邊都開啟KDE Connect APP，連線到同一個無線網路(開熱點也可以)。\n從Android手機上點選裝置列表中的iOS裝置，點選【請求配對】，另一方同意配對。\n接著就可以開始傳輸檔案了。不想使用了的話記得按下【取消配對】。\n使用情境3：電腦對電腦傳輸檔案 # 電腦1為Windows 11，電腦2為Arch Linux。\n讓二部電腦連線到同一個Wifi\n確認防火牆有允許KDE Connect通過後，在電腦1開啟KDE Connect，點選裝置列表中的電腦2，點選【請求配對】，在電腦2上同意配對。\n接著就可以開始傳輸檔案了。不想使用了的話記得按下【取消配對】。\n4. KDE Connect使用指令配對 # Linux版的KDE Connect能以純文字指令模式執行。\n查看用法\nkdeconnect-cli --help 列出所有裝置\nivon@Lk31cdk ~\u0026gt; kdeconnect-cli --refresh ivon@Lk31cdk ~\u0026gt; kdeconnect-cli --list-available - XQ-AS72: 4b81c9e3343bd054 （可連線） 找到 1 個裝置 請求配對\nivon@Lk31cdk ~\u0026gt; kdeconnect-cli --device 4b81c9e3343bd054 --pair 已請求配對 傳送檔案foo.txt到對方裝置\nivon@Lk31cdk ~\u0026gt; kdeconnect-cli --device 4b81c9e3343bd054 --share ~/foo.txt 已分享 file:///home/ivon/foo.txt 5. KDE Connect免Wifi配對連線 # 非Wifi區域網路的情況下，可以用內網穿透的方案。\n參見KDE Connect免Wifi連線的方法\n","date":"2024年11月8日","externalUrl":null,"permalink":"/posts/how-to-use-kde-connect/","section":"所有文章","summary":"KDE連線 (KDE Connect) 是一款跨平台應用程式，主要功能為讓二台裝置透過無線網路傳輸檔案 還可以遠端遙控電腦、播放音樂、控制投影片等等。本軟體開源免費，不需要註冊帳號，也沒有流量限制。\n使用KDE Connect控制手機或電腦的音訊 使用KDE Connect遠端控制電腦執行指令 KDE Connect支援Linux/Windows/macOS/Android/iOS系統，還可以用指令模式執行。\n實際操作影片： 這篇文章介紹如何安裝KDE Connect。\n1. KDE Connect功能 # KDE Connect原理是透過區域Wifi讓二台電腦或手機配對，建立SSH加密連線，這樣彼此就能無線傳檔。\n除了傳檔案外，KDE Connect還可以：\n遠端滑鼠、鍵盤，手機遙控電腦，電腦遙控手機。 同步雙方剪貼簿 遠端投影片控制，手機當成投影遙控器。 音樂播放控制，可暫停播放手機或電腦上的音樂。 透過SFTP瀏覽手機的檔案 發出鈴響尋找手機 讓電腦自動執行指令碼 將另外一部電腦當作延伸螢幕使用（依賴Krfb，因此雙方都必須使用KDE Plasma桌面） 根據Ivon的使用經驗來看，由於各個作業系統的功能不盡相同，儘管KDE Connect已經盡力做到跨平台，但無法保證所有系統的功能都一致。\n","title":"KDE Connect使用教學，Linux電腦與手機無線互傳檔案","type":"posts"},{"content":"跨平台的觸控螢幕軟體「Weylus」使用教學，開源免費的Duet Display替代品。 若要把平板插到電腦當第二螢幕使用，技術上來說，你沒辦法直接插HDMI線到平板上，因為平板很少有HDMI input的功能。所以要當第二螢幕，多半要靠軟體實作，也就是在平板跑接收端，接著電腦軟體配合投放螢幕才可以。\n比如，我曾用過「Duet Display」和「Spacedesk」，可以讓iPad當電腦第二螢幕。但畢竟他們是閉源軟體，且沒有Linux版，不符合我的需求。 論開源、免費、跨平台的第二螢幕方案，有Weylus可以採用。\nWeylus為一款跨平台（Linux、Windows、macOS）軟體，可以將平板作手寫輸入端，或作螢幕共享，或作螢幕投放(投屏)，或作遠端桌面，或將平板當作第二螢幕。\n使用者在電腦端跑Weylus伺服器，再用平板的瀏覽器連上Weylus即可操作電腦。好處是平板不需要任何APP就能連線到Welyus，且不論iPad/Android平板/Linux平板皆可作為輸入端。\n跟類似軟體Deskreen比起來，Weylus多了手寫筆輸入的功能，能將平板變成控制電腦的觸控板。例如下面Weylus作者示範用iPad + Apple Pencil手寫xournal++筆記的樣子。 1. 安裝Weylus # 請至Weylus下載對應平台的執行檔。\nLinux和macOS版是解壓縮，點二下weylus執行。Window則是解壓縮後點選weylus.exe啟動Weylus。 Weylus目前僅支援x86架構，如果你需要ARM架構的請安裝Flatpak版的WeylusCommunityEdition\nLinux在安裝Weylus後要開放防火牆1701/tcp和9001/tcp通訊埠 sudo ufw allow 1701/tcp sudo ufw allow 9001/tcp sudo ufw reload Linux需要新增以下uinput規則。 sudo groupadd -r uinput sudo usermod -aG uinput $USER echo \u0026#39;KERNEL==\u0026#34;uinput\u0026#34;, MODE=\u0026#34;0660\u0026#34;, GROUP=\u0026#34;uinput\u0026#34;, OPTIONS+=\u0026#34;static_node=uinput\u0026#34;\u0026#39; | sudo tee /etc/udev/rules.d/60-weylus.rules sudo udevadm control --reload sudo udevadm trigger Weylus支援X11與Wayland工作階段，若為後者請確保電腦已安裝pipewire、xdg-desktop-portal-gtk、xdg-desktop-portal-qt套件。 2. Weylus當電腦觸控螢幕 # 讓電腦與平板處在同一個Wifi網路下\n電腦開啟Weylus程式，填入自訂密碼(Access Code)。若為Wayland工作階段，需勾選PipeWire選項。點選Start。 按照Weylus顯示的IP，在平板上的瀏覽器輸入IP連線。 於是你就會看到電腦畫面了，你可以設定只分享一個視窗或者整個螢幕。點選Toggle FullScreen進入全螢幕。 預設模式下，Weylus僅讓平板成為輸入端，可以使用平板端的鍵盤或者手寫筆輸入文字到電腦，觸控操作也可以。\n下圖為我使用Joplin的Freehand Drawing延伸模組的結果，確認可以用平板在電腦上的Joplin寫字。 觸控板模式用起來也很像遠端桌面不是嗎？如果需要在平板電腦之間共用剪貼簿、傳送檔案，建議搭配KDE Connect使用。\n3. Weylus當電腦第二螢幕 # 大部分系統都有延伸桌面的功能，就是在接雙螢幕的時候，把第二個螢幕當成主螢幕的延伸桌面使用，而非鏡射螢幕。\n多螢幕對Weylus來說也不是問題，連線的時候可以選取要控制哪個視窗或螢幕。利用這個原理，我們就可以把電腦的其中一個螢幕給Weylus投影，從而達成雙螢幕的目的。（註解：Weylus偵測多個顯示器的功能似乎只能在Linux使用，Windows只能抓到主顯示器。） 這裡提供二個方式供參考。我個人偏好「硬體模擬雙螢幕」的作法，因其適用於Linux/Windows/macOS系統，不用特地設定什麼。\n軟體模擬雙螢幕 # Windows的話，安裝Virtual Display Driver即可做一個假螢幕出來，再讓Weylus投影該螢幕即可。\nLinux可以用軟體方式模擬第二個螢幕出來，再用Weylus投影該螢幕。\nX11工作階段，用xrandr做個virtual output。\n至於Wayland工作階段，GNOME 42以上有RDP Screen Share Mode\nKDE 5.27以上可用krfb-virtualmonitor建立虛擬螢幕。\n或者，在Weylus請求連線的時候，選取建立「虛擬輸出螢幕」。 這邊提一下更變態的玩法：Weylus並無限制客戶端數量，所以你可以一次做好幾個虛擬螢幕，再用多個裝置連線，即每個客戶端連線到一個虛擬螢幕。\n硬體模擬雙螢幕 # 之所以講模擬，是因為我們沒有要真的裝二個螢幕，而是以HDMI欺騙器(HDMI dummy plug)替代之。\n買個HDMI欺騙器，插在顯示卡的第二個HDMI孔上，假裝我有雙螢幕。 接著在Weylus連線的時候，選取連線到HDMI欺騙器的「螢幕」就可以了。\nLinux端的桌面環境可以調整HDMI欺騙器螢幕的「相對位置」 達成如下效果，以上下擺放的方式延伸桌面。 4. 降低Weylus延遲的方法 # Weylus無線使用上還是有點延遲，在網頁端降低解析度或許會有幫助。\n也可以在平板或電腦端開熱點，使用專用Wifi連線讓網路更順暢。\n如果Wifi訊號差，致使無線延遲高，就乾脆用有線網路吧！透過USB線分享網路，讓電腦連線到平板熱點是個降低延遲的方法。\n或是嘗試讓平板用電腦網路上網(reverse USB tethering)，Android平板請參考Gnirehtet教學，iPad參考macOS內建網路分享功能，Linux平板參考將電腦作為NAT。\n儘管Weylus網頁界面最高顯示FPS是30，有線的FPS還是比無線高的，畫面主觀上有60FPS。\n如果真的要極低延遲，使用Moonlight當觸控螢幕的方案可能會更好。\n5. Weylus免Wifi連線的作法 # 如果你不方便使用Wifi，除了上面提的有線連接外，還可以設定內網穿透軟體，再用虛擬區域IP連線到Weylus伺服器。\nWeylus的作者說為了流暢度，預設傳輸流量是沒有任何加密的，他僅提供一個範例指令稿實現HTTPS加密的方法。\n不過內網穿透軟體「ZeroTier」和「TailScale」的連線本身就有加密，所以應該不太需要再套一層HTTPS加密。\nWeylus的替代方案 # Deskreen：功能與Weylus類似，有提詞器功能。 Moonlight ＋ Sunshine：Linux跑遊戲串流伺服器，再利用本文提到的雙螢幕原理，連線到第二螢幕，支援觸控筆筆壓。Weylus並沒有針對多媒體串流最佳化，Moonlight方案更適合播放影片與玩遊戲。 x11VNC：同上，只不過是圖形效能更差的VNC伺服器。 ","date":"2024年11月8日","externalUrl":null,"permalink":"/posts/weylus-use-tablet-as-graphic-tablet/","section":"所有文章","summary":"跨平台的觸控螢幕軟體「Weylus」使用教學，開源免費的Duet Display替代品。 若要把平板插到電腦當第二螢幕使用，技術上來說，你沒辦法直接插HDMI線到平板上，因為平板很少有HDMI input的功能。所以要當第二螢幕，多半要靠軟體實作，也就是在平板跑接收端，接著電腦軟體配合投放螢幕才可以。\n比如，我曾用過「Duet Display」和「Spacedesk」，可以讓iPad當電腦第二螢幕。但畢竟他們是閉源軟體，且沒有Linux版，不符合我的需求。 論開源、免費、跨平台的第二螢幕方案，有Weylus可以採用。\nWeylus為一款跨平台（Linux、Windows、macOS）軟體，可以將平板作手寫輸入端，或作螢幕共享，或作螢幕投放(投屏)，或作遠端桌面，或將平板當作第二螢幕。\n使用者在電腦端跑Weylus伺服器，再用平板的瀏覽器連上Weylus即可操作電腦。好處是平板不需要任何APP就能連線到Welyus，且不論iPad/Android平板/Linux平板皆可作為輸入端。\n跟類似軟體Deskreen比起來，Weylus多了手寫筆輸入的功能，能將平板變成控制電腦的觸控板。例如下面Weylus作者示範用iPad + Apple Pencil手寫xournal++筆記的樣子。 ","title":"Weylus使用教學，讓平板當電腦第二螢幕，支援無線手寫筆輸入","type":"posts"},{"content":"想要尋找開源跨平台的筆記軟體，兼具Microsoft OneNote的知識管理與Google備忘錄的功能？推薦您試試「Joplin」！ Joplin是來自歐洲的筆記軟體，由Laurent Cozic開發，2017年釋出，APP的名字來自他常聽的鋼琴家 史考特·喬普林 (Scott Joplin)。\n本筆記軟體有以下特色：\n跨平台，支援Linux、Windows、macOS、Android、iOS、網頁版。 資料全部在你手中，自由選擇要同步的雲端，不被單一廠商綁住。 支援點對點加密筆記，保護隱私。 開源免費，更新積極，有任何問題可到Github即時跟開發者反應。 筆記全部以Markdown檔案儲存，存檔格式公開透明，還能用第三方編輯器編輯。 將筆記即時切換成待辦事項，設定日期提醒。 可在筆記裡面嵌入任意檔案，支援掃描圖片和PDF文字，使其成為搜尋字串。 擁有大量延伸模組，例如手寫繪圖、流程圖、心智圖、反向連結關聯圖、卡片盒筆記、工作流程看板、子彈筆記。 分享筆記，開放他人共同編輯。將Joplin筆記發表為公開網頁供人瀏覽。 開源 ＋ 自架對Ivon來說是很大的加分項！不用被單一廠商綁住，還可以自由搬移筆記。\n現在已經習慣每天都開Joplin寫筆記，整理學習資料，以及給部落格文章打草稿。Ivon覺得功能很實用。 手機與電腦版程式 在記事本使用Markdown與Mermaid裝飾文本 記事本插入手寫的筆記 將多個記事本製成關聯圖\n本文Ivon簡介Joplin的安裝與使用方法，再敘述Ivon的使用評價。\n1. 安裝Joplin客戶端 # Joplin原始碼位於Github，有問題可以到Github issues向作者反應。\n請至Joplin官網，按照您的作業系統下載安裝檔。 每個平台的功能不盡相同，建議先嘗試電腦版Joplin，功能比較齊全。\nWindows版Joplin除了安裝版exe以外，還提供免安裝版exe，它會將筆記存在自身所在的資料夾，方便您將整個程式帶著走。\nmacOS版Joplin請依照你的Mac電腦架構，下載對應版本的程式。\nLinux版Joplin官方提供的是AppImage，下載後chmod +x賦予執行權限就能啟動。Ivon個人偏好用Flatpak安裝Joplin：flatpak install flathub net.cozic.joplin_desktop\nAndroid版Joplin有上架Google Play，你也可以在F-Droid取得APK，但Joplin依賴GMS，F-Droid版可能會收不到通知就是了。\niOS版的Joplin請到App Store下載。\n2. 設定Joplin同步方式 # 安裝後第一件事就是設定同步筆記到雲端了。\nJoplin不需要註冊帳號就能用。你可以純離線使用Joplin，將資料儲存在本機，並手動備份資料（例如Linux版資料位於~/.config/joplin-desktop/）。\n不過現今的時代，筆記不上雲端說不過去對吧？\nJoplin提供多種同步方案，包括Joplin Cloud、Dropbox、OneDrive、Nextcloud、Amazon S3，茲比較如下：\n名稱 費用 容量 功能 Joplin Cloud 付費 2GB起 Joplin開發者經營的雲端。支援多人協作，將筆記發布成公開網頁。 Joplin Server（架設教學） 免費 - Joplin開發者開發的軟體。支援多人協作，將筆記發布成公開網頁。需要自架，可以部署到NAS或VPS。 OneDrive 免費 5GB起 - Dropbox 免費 2GB起 - Amazon S3 依用量付費 - 只要是相容AWS S3物件儲存空間API的供應商都可以同步。 Nextcloud 免費 - 同步到Nextcloud的目錄，需要自架。 WebDAV 免費 - - 檔案系統 免費 - 同步到電腦上的特定目錄，建議搭配其他軟體使用，例如Syncthing或者rclone。 或許你會問，是否可以讓Joplin同步到多個雲端備份？理論上是可以。不過Joplin的同步原理是讓所有裝置的筆記檔案都「一致」，故沒辦法用來「封存」筆記。筆記在這個裝置刪除了，同步之後就會標記為刪除。還有這樣做的話，在多裝置同步的場合（電腦＋手機客戶端）會造成混亂，故不建議這樣做。\nIvon以免費的OneDrive為例，點選Joplin左下角的同步符號 選取OneDrive，開啟瀏覽器登入，授權Joplin存取OneDrive帳號，這樣筆記就會上傳到OneDrive。 每當您在一個新裝置安裝Joplin，就得登入同一個OneDrive帳號，將筆記同步到本機。筆記越多同步就越久，不過在同步第一次之後速度就很快了。由於同步關係，如果常常寫備忘錄類型的筆記又刪除，OneDrive一段時間會寄信通知「您最近從OneDrive刪除了許多檔案\u0026hellip;」，這是正常現象，不用理會。\nJoplin同步技巧：\n一、不要一次同步所有大型附件到所有裝置。Joplin的設計原理是所有裝置都會同步到其他裝置有的檔案，因此若是在電腦上插入好幾百張圖片的附件到一個筆記裡面，到了外面網路不穩定的時候，開啟手機Joplin就會把這些附件都下載下來，同步很耗費時間。這時可以將Joplin同步的附件下載動作改為「手動」或「自動」，如此一來就只有開啟含有附件的筆記的時候才會下載附件，而不是把所有筆記的附件都下載到本機。\n二、Joplin有時會發生明明永久刪除筆記了，但是附件卻沒有一併刪除？同步的時候依然持續上傳附件？此時可以使用「Joplin Batch」延伸模組，刪除這些孤立檔案。安裝後取得Web Clipper的token，再點選工具 → Joplin Batch將其清除。\n3. Joplin基本操作 # 本節介紹Joplin的重點功能。此處Ivon採用Joplin正體中文的翻譯，記事 = 筆記。\n記事本階層 # Joplin的記事本位於左邊，對記事本標題按右鍵可在一個記事本下再新增記事本，方便給不同領域的資訊分類。例如我的分類：Keep、School、Resources，對應生活中不同面向的記事本。Joplin預設是按照數字與字母排序記事本。 記事本下再新增記事本，可有效給專案拆分進度。例如，一篇大型作品分散成6個記事本處理。 或者使用Joplin的多重使用者模式 (檔案 → 切換使用者) ，區分個人與工作的筆記。\n點選檔案 → 匯出/匯入，可將記事本另做處理。操作前請注意你點選的位置，如果點「整個記事本」會將所有內容都匯出；點「單個記事」則是只匯出該則記事的內容。 用Markdown撰寫記事 # Joplin的記事分為「記事本」與「待辦事項」，後者能夠設定提醒日期，並且一律置頂。 Joplin撰寫記事的時候，一律使用Markdown語法撰寫，以及使用Mermaid語法繪製流程圖，尚能混入HTML語法進一步裝飾。\n在中間我用紅色圈起來的欄位是Markdown撰寫的記事，右邊的預覽面板會即時彩現方便您確認排版結果。 點選右上角的分頁圖示，切換為純Markdown程式碼編輯界面。我個人覺得Markdown在寫需要大量註解的文件的時候非常方便。若你覺得Markdown寫筆記不直覺，請改用「可見即所得編輯器」撰寫記事，它和Markdown原始碼是能夠互通的。 如果要插入圖片，點選「附件按鈕」，或者從檔案總管拖拉到Joplin的視窗。記事的圖片附檔請點選「工具」→「記事附加檔案」檢視，或是在預覽面板按右鍵儲存。 您還可以在Joplin記事本插入目前時間和座標等資料，並用標籤(tag)分類記事本。\n如果需要更漂亮的Markdown編輯器，點選「記事」→「切換外部編輯器」，使用其他文字編輯器開啟Markdown檔案。Joplin會自動追蹤筆記變更內容。\n建立記事反向連結：對記事按右鍵 → 複製Markdown連結，就能在其他記事貼上指向該記事的超連結，如此一來有助於建立多個記事之間互相關聯的圖表。\n將網頁匯入Joplin記事本 # Joplin Web Clipper可將看到的網頁整個匯入到Joplin記事本。\n參考Web Clipper使用方式\n啟用OCR圖片轉文字 # 透過Google Tesseract模型，掃描圖片檔和PDF並轉成文字，使之成為可全域搜尋的字串，掃描後產生的文字資料會跟著雲端同步。\n目前這個功能設計不成熟，掃描文字沒有進度條，得慢慢等它掃描完，而且似乎只支援英文？\n開啟Joplin設定 → 一般選項，勾選啟用OCR 祈禱它能成功掃描到你的圖片文字。如果完全沒有進度請嘗試把Joplin的語言切換成英文。\n之後就能在搜尋欄位透過字串搜尋圖片了。對圖片點右鍵也能複製文字。 啟用點對點加密同步 # 需要最高隱私的用戶，建議啟用點對點加密(E2EE)，這樣能讓雲端供應商完全無法讀取您的筆記內容。點選Joplin的工具 → 選項 → 加密，設定主密碼，再點選啟用加密。 點選同步按鈕，讓加密的內容同步到雲端。如果先前沒有加密，記事本要花比較久時間上傳。之後在新裝置同步記事的時候，您就得在Joplin的工具 → 選項 → 加密，輸入密碼才能解密記事。\n不過，Joplin檔案加密和解密的時間可能會比較久，導致使用體驗不佳。\n4. 推薦的Joplin延伸模組 # 延伸模組(plugin)用於修改Joplin主題外觀或者擴充其功能，建議用電腦版Joplin裝，手機版Joplin僅支援部份延伸模組。\n點選工具 → 選項 → 延伸模組，搜尋線上延伸模組。 這裡Ivon推薦裝幾個：\nJoplin Batch：對記事本做批次操作，例如刪除筆記殘留的圖片資源，減少同步雲端的空間浪費。 Freehand Drawing：啟用手寫筆繪圖，自動延展畫布，手寫的筆跡會存檔成SVG圖檔。此延伸模組最新版Joplin已內建，無需安裝。 Joplin Calendar：以月曆模式檢視過去建立的筆記。 Outline：在記事側邊顯示目錄大綱。順帶一提Joplin的Markdown可以用[toc]語法，自動在記事最上方產生目錄大綱。 Note Tabs：開啟分頁，同時檢視多個筆記。 Rich Markdown：改善Markdown編輯器的可讀性。 Persistent Editor Layout：針對不同的筆記，儲存對應的版面配置。 Template：使用範本，重複建立相同格式的筆記。 Automatic backlinks to note：讓二個記事自動建立反向連結。 Graph：用關聯圖顯示多個記事本之間的關係，使用記事本的標籤、反向連結、Backlink延伸模組作為連接依據。 Link Graph UI for Joplin：用關聯圖顯示多個記事本之間的關係，搭配Backlink和Quick Links就能實現卡片盒筆記法。 Kminder Mindmap：繪製心智圖。 Draw.io：整合Draw.io的圖表繪製功能，直接將圖表匯入到Joplin。 Excalidraw：整合Excalidraw，繪製手寫風格的流程圖。 5. Joplin資料庫備份方式 # 如果你沒有設定雲端同步服務，那麼Joplin記事本就是存在本機，需要手動備份。\n不建議直接備份Joplin Desktop的目錄。\n比較保險的備份方式是點選檔案 → 全部匯出 → 匯出成JEX檔案，這會把Joplin所有設定值＋記事都匯出成單個壓縮檔。 然後把該檔案存到雲端保存。\n這樣就算記事全部不見，也可以在匯入JEX檔後一鍵還原所有記事。\n6. 總結：Joplin優缺點 # 優點在文章一開始講過了，這邊講些缺點：\n同步有點慢，尤其是同步到新裝置的時候 僅電腦版客戶端功能較為齊全 沒有官方網頁版，無法隨時寫筆記 Electron導致程式臃腫 介面有點醜，自行安裝主題改善，如果能多點動畫就更好了 這些問題未來應該會慢慢解決。\n過去，Ivon寫筆記用的是Microsoft OneNote和Google Keep，分別擔任知識管理與備忘錄。OneNote因為改用Linux，無法跨平台放棄；Keep則是對應DeGoogle浪潮，所以我將其拋棄。\nIvon是在2023年找到Joplin的，幾年使用下來，只有二三次因OneDrive而同步不穩定，但沒丟失過筆記的情況（需手動解決衝突）\n每次開啟Joplin都要等至少10秒的資料同步，無法像Google Keep自動在背景同步，故不如Google Keep快速。\n不過，Joplin的資料基本上都是用Markdown儲存的，簡單明瞭，日後維護也方便。\nIvon認為Joplin算是稱職的工具，兼具知識管理與備忘錄功能，能夠替代上面我提到的二款筆記軟體。\n延伸閱讀 # 功能建議和bug回報請到官方儲存庫：laurent22/joplin - GitHub Joplin官方論壇：Joplin Forum - Joplin Forum Joplin使用經驗筆記 - HackMD Joplin插件下载及清理多余未使用图片 - 极四维博客 ","date":"2024年11月8日","externalUrl":null,"permalink":"/posts/setup-joplin/","section":"所有文章","summary":"想要尋找開源跨平台的筆記軟體，兼具Microsoft OneNote的知識管理與Google備忘錄的功能？推薦您試試「Joplin」！ Joplin是來自歐洲的筆記軟體，由Laurent Cozic開發，2017年釋出，APP的名字來自他常聽的鋼琴家 史考特·喬普林 (Scott Joplin)。\n本筆記軟體有以下特色：\n跨平台，支援Linux、Windows、macOS、Android、iOS、網頁版。 資料全部在你手中，自由選擇要同步的雲端，不被單一廠商綁住。 支援點對點加密筆記，保護隱私。 開源免費，更新積極，有任何問題可到Github即時跟開發者反應。 筆記全部以Markdown檔案儲存，存檔格式公開透明，還能用第三方編輯器編輯。 將筆記即時切換成待辦事項，設定日期提醒。 可在筆記裡面嵌入任意檔案，支援掃描圖片和PDF文字，使其成為搜尋字串。 擁有大量延伸模組，例如手寫繪圖、流程圖、心智圖、反向連結關聯圖、卡片盒筆記、工作流程看板、子彈筆記。 分享筆記，開放他人共同編輯。將Joplin筆記發表為公開網頁供人瀏覽。 開源 ＋ 自架對Ivon來說是很大的加分項！不用被單一廠商綁住，還可以自由搬移筆記。\n現在已經習慣每天都開Joplin寫筆記，整理學習資料，以及給部落格文章打草稿。Ivon覺得功能很實用。 手機與電腦版程式 在記事本使用Markdown與Mermaid裝飾文本 記事本插入手寫的筆記 將多個記事本製成關聯圖\n","title":"Joplin：開源筆記軟體使用教學，支援電腦與手機","type":"posts"},{"content":" Magic Eyes的最新作品「雙蛇戲龍」硬版 ヴァージンループツインフォースハード 拿起來蠻有份量的，不會下垂。 看起來像是二重螺旋的進化版麼？通道沒有四重螺旋那麼狹窄，有類似八重螺旋的緊實紋路，又有兩條突出的肉條。這樣的話插入，雞雞將會預想被上下兩條棒狀物強力按摩，達成強烈快感。 那麼～雙蛇戲龍的感覺是這樣嗎？ (C86) [CHIBIKKO KINGDOM (けこちゃ)] 幸セジュウコン生活 (艦隊これくしょん-艦これ-) 用了比較漂亮的材質，看起來像是布丁。真是雙人極致。(C91) [銀河系PRIDE (B-銀河)] ビッチ♥プリンツ アドミラルを寝取っちゃえ! (艦隊これくしょん -艦これ-) 插入的時候龜頭會有一點酥麻感，但是沒有二重螺旋刺激的樣子，沒有特別緊，而是有點太硬了。這個新材質雖然接近肉色，但是一點都不軟。\n肉條的部份做得不好，插沒幾下就不行了。聽說廠商有聽取買家回饋改進？可還是很脆弱呀～前端的部份很容易裂開。\n翻開來看，活像是一條真魷味。 實際用下來：好像還不如二重螺旋。\n","date":"2024年11月7日","externalUrl":null,"permalink":"/posts/ride-japan-virgin-loop-twin-forth-hard-review/","section":"Nsfws","summary":" Magic Eyes的最新作品「雙蛇戲龍」硬版 ヴァージンループツインフォースハード 拿起來蠻有份量的，不會下垂。 看起來像是二重螺旋的進化版麼？通道沒有四重螺旋那麼狹窄，有類似八重螺旋的緊實紋路，又有兩條突出的肉條。這樣的話插入，雞雞將會預想被上下兩條棒狀物強力按摩，達成強烈快感。 那麼～雙蛇戲龍的感覺是這樣嗎？ (C86) [CHIBIKKO KINGDOM (けこちゃ)] 幸セジュウコン生活 (艦隊これくしょん-艦これ-) 用了比較漂亮的材質，看起來像是布丁。真是雙人極致。(C91) [銀河系PRIDE (B-銀河)] ビッチ♥プリンツ アドミラルを寝取っちゃえ! (艦隊これくしょん -艦これ-) 插入的時候龜頭會有一點酥麻感，但是沒有二重螺旋刺激的樣子，沒有特別緊，而是有點太硬了。這個新材質雖然接近肉色，但是一點都不軟。\n","title":"Ride Japan「雙蛇戲龍」處女螺旋飛機杯，硬硬的纏繞卻沒想像中完美？","type":"nsfw"},{"content":"想給長輩找一款大小適中的看影片平板，看向2024年的台灣市場，想買最低階iPad的，但是又不需要用到那麼好吧，故投向Android平板，選擇Redmi Pad SE 11。\nRedmi Pad SE 11是小米2023年發表的中低階平板，跟「Samsung Galaxy Tab A9+」是打對台的關係，兩者都是主打影音用途，規格十分接近，高CP值，但小米又更便宜一些。\n另外，2024年小米有出一款通話平板Redmi Pad SE 8.7，勿跟此產品搞混。\nRedmi Pad SE 8.7我覺得對長輩來說太小了，看到小米11吋的螢幕我覺得夠大了，所以就買來用。 1. 開箱 # Redmi Pad SE 11主打娛樂至上，搭載Snapdragon 680處理器、四喇叭揚聲器、耳機孔、低藍光LCD螢幕、1920x1080解析度、90Hz更新率，不支援主動式觸控筆。\n在小米之家我看到了二種版本，一個是4999台幣的4G/128G版，另一個是6999台幣的8GB/256GB版，全部都只有Wifi版。\n台灣版跟中國版的比起來，最低階Redmi Pad SE的RAM硬是被砍了2GB。\n雖然這是中低階平板，但是價格很有誠意。Samsung Tab A平板都賣不到的低價格，只有小米做得到，且規格還不會太難看。\n因為只是要給長輩看影片用，所以聽了店員建議選最低規格版，雖然暗自覺得2024年只給4GB RAM也太摳，可我也不奢望Snapdragon 680能跑什麼重度計算的東西。\n選了偏灰的紫色。下面的照片指紋是我把玩太大力沾上的，ㄅ歉。 剛開機滑動就卡，可能是在初始化吧。\n但是即使放置一會兒，偶爾還是會滑動卡一下，跟入門紅米機差不多的手感。難道是RAM吃太兇？也沒有呀。值得一提的是Redmi Pad SE 11支援記憶體擴展功能，也就是將磁碟當SWAP來用，所以其實4GB RAM沒有那麼吃緊。啊\u0026hellip;但是這台的儲存晶片是用eMMC，速度不敢想像。\n最後在系統設定啟用強制90Hz就感覺順暢多了，原來低階Android機得靠高更新率來救麼。\n2. 平板系統界面 # Redmi Pad SE 11出廠搭載MIUI 14 (Android 13)，系統的Material You色調會隨著桌布變化。這台有支援澎湃OS (HyperOS)，在系統跳出更新後我就馬上安裝了。嘿，我知道HyperOS會大大提高Root和刷機難度，但反正不是我要用的那就隨便了。\n話說我好幾年沒買小米的產品了，在小米之家問了店員「Root刷機還有沒有保固？」結果對方一臉疑惑的看著我，尷尬，後來另一個較資深的店員才講Root就破保了。咦，小米刷機還給保固是多久以前的事情了？唉，我們Root圈真的沒落了！\nHyperOS更新完之後，系統界面沒有太多變化，流暢度差不多。 但是唉，小米為什麼那麼愛抄Apple，我日常在iPad Air 6看到的元素都被小米抄過來了，包括右上角下滑的控制中心畫面，HyperOS 2.0甚至連iPadOS 18螢幕正上方控制視窗大小的三個點點也要抄！？怕人找不到螢幕分割的功能在哪？\n但是小米的設計功夫比不上Apple，於是得到的是拙劣的模仿。原生Android的設計不好嗎，看看Bliss OS！\nRedmi Pad SE平板界面看起來比較像大號手機。\n值得慶幸的是，Redmi Pad SE 11沒有內建太多自家的APP，這讓系統不會很臃腫，沒有一堆廣告服務要關。\n實際測試了一些APP，發覺Android 12之後對大螢幕支援是很不錯的，許多APP都會自動變形。不過也有一些調皮的APP不會縮放就是了——說的就是你，小米商城，直接沿用手機界面，橫向模式兩側出現超大黑框。\n3. 影音體驗 # Redmi Pad SE 11有通過Netflix認證，所以可以看高畫質1080p串流影片。\n螢幕嗎，可能是我被手機OLED養壞胃口了，這台LCD的最大亮度不是很高。螢幕顏色不豔麗，只能說普通，就算在系統設定調整螢幕顏色模式，顏色依然偏黯淡。 平板機身四個喇叭是真的都有聲音（這下你知道Apple多無恥，iPad要買到兩萬的Pro才有真正四喇叭），看了影片覺得Dolby Atmos音效不錯，接近幾百塊的揚聲器，適合看電影。但是HyperOS的系統選單只有一個簡單的等化器調整界面，沒有我在Sony上用的Dolby Atoms那樣的多個模式能選。\n細看機身側面的耳機孔，小米真的很懂得購買族群要的是什麼。能接上耳麥，這台或許能當唱歌APP的提詞器吧。此外保留了耳機孔，這台Hi-Res才有用處。 Snapdragon 680處理器別肖想玩遊戲了，但6nm製程倒是能給平板提供長效續航，用起來不太會發熱。沒電了還有快充能快速回血。\n沒有專用手寫筆，因此不能作筆記。除了影音用途外，這台平板最多就看看電子書漫畫吧，螢幕看久了不會太刺眼。\n總體來說，Redmi Pad SE 11偷料沒有很嚴重，是稱職的便宜影音平板。\n","date":"2024年11月7日","externalUrl":null,"permalink":"/posts/xiaomi-redmi-pad-se-11-review/","section":"Unboxings","summary":"想給長輩找一款大小適中的看影片平板，看向2024年的台灣市場，想買最低階iPad的，但是又不需要用到那麼好吧，故投向Android平板，選擇Redmi Pad SE 11。\nRedmi Pad SE 11是小米2023年發表的中低階平板，跟「Samsung Galaxy Tab A9+」是打對台的關係，兩者都是主打影音用途，規格十分接近，高CP值，但小米又更便宜一些。\n另外，2024年小米有出一款通話平板Redmi Pad SE 8.7，勿跟此產品搞混。\nRedmi Pad SE 8.7我覺得對長輩來說太小了，看到小米11吋的螢幕我覺得夠大了，所以就買來用。 1. 開箱 # Redmi Pad SE 11主打娛樂至上，搭載Snapdragon 680處理器、四喇叭揚聲器、耳機孔、低藍光LCD螢幕、1920x1080解析度、90Hz更新率，不支援主動式觸控筆。\n在小米之家我看到了二種版本，一個是4999台幣的4G/128G版，另一個是6999台幣的8GB/256GB版，全部都只有Wifi版。\n台灣版跟中國版的比起來，最低階Redmi Pad SE的RAM硬是被砍了2GB。\n雖然這是中低階平板，但是價格很有誠意。Samsung Tab A平板都賣不到的低價格，只有小米做得到，且規格還不會太難看。\n","title":"便宜的看影片平板，Redmi Pad SE 11吋4GB/128GB開箱","type":"unboxing"},{"content":"聽聞Linux有一款名為Xournal++的程式，能手寫筆記，可惜沒有跨平台，僅能在Linux和Windows平板使用。\nIvon目前主力筆記軟體是Joplin，雖然跨平台，但它是偏向用打字做筆記的，手寫功能差強人意。\n有沒有一款筆記的APP，是能在Linux、Windows、macOS、Android、iPad使用的呢？就像Microsoft OneNote那樣隨意手寫的？\n終於給我找到了，Saber Notes，這是一款以觸控筆手寫為主的筆記APP，使用Flutter寫成所以輕鬆跨平台，還能透過Nextcloud伺服器在多部裝置之間同步。 Ivon首先會介紹Saber Notes功能，最後再分享iPad用Saber Note寫筆記的使用心得。\n1. 安裝Saber Notes # Saber Notes由Adil Hanney開發，原始碼位於Github，2022年推出初始版本。\nSaber Notes支援Linux、Windows、macOS、Android、iOS系統，請到官網下載安裝檔。 例如，Linux用Flatpak安裝：\nflatpak install flathub com.adilhanney.saber 2. Saber Notes功能介紹 # 有些版本的Saber Notes內含廣告，請到設定裡面關閉。\nSaber Notes預設會模擬寫字的聲音，我覺得蠻吵的所以會將它關閉。\nSaber Notes的記事本結構很簡單：一個資料夾包含多個筆記本，資料夾下還可新增子資料夾。每個筆記本都是以.sbn格式儲存的，支援匯出為PDF格式。 打開筆記後就能寫字了，點右上角你可以調整頁面背景、文字顏色、匯入PDF文件。Saber Notes除了筆記本的樣式，竟然還提供五線譜呢。 下方一排的工具列就是各種筆刷，點選切換筆刷與橡皮擦。 預設的手寫工具是原子筆模式，粗細相同，建議點一下切換成鋼筆模式。如果手寫筆支援壓力感應，那麼Saber Notes應會在下筆的時候反應力度變化。\n貼心功能：在畫直線之後停頓一下，Saber Notes便會自動幫你拉直。\n使用圈選工具移動畫面上的文字。搞笑的是，你複製的選取區可以貼到另一個筆記本，但卻不能移動到同一個筆記本的另外一頁。 如果你要在頁面插入打字文字或圖片：請在頁面用手寫筆點一下，完成定位，再按下面按鈕插入圖片。這裡同樣有個缺陷，那就是圖片無法移動到其他頁面。 另外，Saber Notes提供白板的功能，可讓你建立臨時筆記本。 3. 同步Saber Notes筆記 # 到設定頁面啟用同步。目前Saber Notes僅支援同步到Nextcloud。\n如果你不會架Nextcloud伺服器，請登入作者維護的Nextcloud伺服器，每個帳號有5GB免費的儲存空間，上傳後自動加密。這樣就能在各個系統同步筆記。 當然，由於Saber Notess的筆記本是以純資料夾模式儲存的，你也可以自行複製資料夾下的檔案到其他電腦，手動同步。\n每個系統的Saber Notes資料位置不太一樣。\nLinux：$HOME/Documents Android：手機內部儲存空間/Android/data/com.adilhanney.saber iOS：檔案APP → 我的iPad → Saber 4. 總結：Saber Notes優缺點 # 根據Ivon幾個月在iPad使用Saber Notes的經驗，歸結出以下感受。\n優點：\n開源免費的軟體，以GPLv3授權條款釋出 以Flutter寫成，跨平台支援度佳，支援Linux、Windows、macOS、Android、iOS系統 支援雲端同步，上傳自動加密 設計精簡，提供各種筆刷與文字剪取工具，也可以打字輸入。 畫布無限延伸，雖然只能直向。 支援在筆記中插入PDF或圖片，並在上面畫記。 筆記全部以資料夾階層存檔，可自由放入檔案到筆記資料夾，跟著同步到雲端。 缺點：\n目前只支援Nextcloud同步，若能加入更多雲端供應商就好了。 iOS版有點卡卡的，效能不好。 不適合閱讀PDF，不能搜尋PDF文字。iOS版匯入PDF後操作卡卡的。 不支援同時開啟多個筆記本。 圖片無法拖拉到其他頁面，輸入文字框無法自由移動。如果能像OneNote那樣隨便擺位置就好了。 這是專為手寫設計的APP，沒有手寫筆的話幾乎無用。若用打字做筆記的話就跟記事本無異了。 不支援手寫文字辨識功能，手寫筆記無法搜尋，要拿Saber做長期個人知識管理系統非常不利。目前只能將筆記匯出為PDF再用其他軟體OCR。 個人以為，若手寫不是最主要的筆記方式，那麼Joplin打字為主，有需要再開手寫延伸模組，其實會比Saber Notes要實用許多，也方便未來整理筆記。\nIvon覺得Saber Notes依然是滿不錯的APP啦，作者常常在更新，未來可期，有功能需求就到Github提建議吧。\n","date":"2024年11月6日","externalUrl":null,"permalink":"/posts/saber-notes/","section":"所有文章","summary":"聽聞Linux有一款名為Xournal++的程式，能手寫筆記，可惜沒有跨平台，僅能在Linux和Windows平板使用。\nIvon目前主力筆記軟體是Joplin，雖然跨平台，但它是偏向用打字做筆記的，手寫功能差強人意。\n有沒有一款筆記的APP，是能在Linux、Windows、macOS、Android、iPad使用的呢？就像Microsoft OneNote那樣隨意手寫的？\n終於給我找到了，Saber Notes，這是一款以觸控筆手寫為主的筆記APP，使用Flutter寫成所以輕鬆跨平台，還能透過Nextcloud伺服器在多部裝置之間同步。 Ivon首先會介紹Saber Notes功能，最後再分享iPad用Saber Note寫筆記的使用心得。\n1. 安裝Saber Notes # Saber Notes由Adil Hanney開發，原始碼位於Github，2022年推出初始版本。\nSaber Notes支援Linux、Windows、macOS、Android、iOS系統，請到官網下載安裝檔。 例如，Linux用Flatpak安裝：\nflatpak install flathub com.adilhanney.saber 2. Saber Notes功能介紹 # 有些版本的Saber Notes內含廣告，請到設定裡面關閉。\nSaber Notes預設會模擬寫字的聲音，我覺得蠻吵的所以會將它關閉。\n","title":"開源免費的手寫筆記APP：「Saber Notes」，支援iPad、Android平板、Surface、Linux","type":"posts"},{"content":"〈Trump Won〉是美國基督教歌手Natasha Owens發表的一首單曲。\n這首歌有兩個版本，一個是2023年發行的版本，拒絕承認川普2020年敗選，宣稱電視台報的都是假新聞，民主黨作弊等等。另一個版本是2024年選前之夜慶祝勝利的重新混音版，跟Nick Nittoli合唱，結果川普還真的贏了。\n除了這首以外，Natasha Owens在2024年還唱過一首〈The Chosen One〉，將川普神格化，還被川普本人分享到Truth Social。但跟〈Trump Won〉不同的是，〈The Chosen One〉Youtube影片下面滿滿的都是嘲諷留言。\n2023年版Trump Won # 官方MV\n中文歌詞翻譯：\nTrump won and you know it 你知道川普贏了\nTrump won and you know it 你知道川普贏了\nThe fake news will never show it 假新聞台永遠不會報導\n\u0026lsquo;Cause it\u0026rsquo;s true 因為這就是真相\nTrump won and you know it 川普贏了你知道\nWe got dead people votin\u0026rsquo; Dropboxes and Dominion 多米尼恩投票箱竟然有一堆死人投票\nAnd facts are facts, it\u0026rsquo;s not just my opinion 這就是事實，可不是我的個人意見\nThe Democrats know how to steal 民主黨很懂得偷走選舉\nCome on man, here\u0026rsquo;s the deal 拜託，這才是真相\nTrump won and you know it 你知道川普贏了\nTrump won and you know it 你知道川普贏了\nThe fake news will never show it 假新聞台永遠不會報導\n\u0026lsquo;Cause it\u0026rsquo;s true 因為這就是真相\nTrump won and you know it 川普贏了你知道\nWhile Biden\u0026rsquo;s hiddin\u0026rsquo; in the basement babbling away on Zoom 拜登只會躲在地下室，透過Zoom胡說八道\nPatriots fill stadiums not circles in an empty room 愛國者們會聚集在會場，而不是空蕩蕩的會議室\nTwitter and the FBI one day won\u0026rsquo;t deny 總有一天，Twitter和FBI都得承認\nTrump won and you know it 你知道川普贏了\nTrump won and you know it 你知道川普贏了\nThe fake news will never show it 假新聞台永遠不會報導\n\u0026lsquo;Cause it\u0026rsquo;s true 因為這就是真相\nTrump won and you know it 川普贏了你知道\nThe thing about truth, time is always gonna tell 真相只有時間經過後才能大白\nI bet he took New York and carried California as well 我賭那個男人還會奪下紐約與加利福尼亞的選票\nHe\u0026rsquo;s done it twice before 他之前已經贏了二次\nAnd he\u0026rsquo;s gonna win again for the third time in 2024 在2024年他還會再度邁向勝利\nTrump won and you know it 你知道川普贏了\nTrump won and you know it 你知道川普贏了\nFox News won\u0026rsquo;t even show it, it\u0026rsquo;s true 就連Fox新聞台都不敢報，因為這就是真相\nTrump won and you know it 你知道川普贏了\nTrump won and you know it 你知道川普贏了\nIf there\u0026rsquo;s a line, they\u0026rsquo;re gonna tow it, it\u0026rsquo;s true 如果人民要反抗，他們就會去做，這就對了\nTrump won and you know it 你知道川普贏了\nI know, you know it, we know it, they know it 我知道，你知道，我們知道，他們知道\nEverybody knows Trump won 大家都知道川普贏了\nI know, you know it, we know it, they know it 我知道，你知道，我們知道，他們知道\nEverybody knows Trump won (yeah, it\u0026rsquo;s true) 大家都知道川普贏了 （耶，是真的）\nI know, you know it, we know it, they know it 我知道，你知道，我們知道，他們知道\nEverybody knows Trump won 大家都知道川普贏了\n2024年版Trump Won (Victory Remix) # 官方MV\n中文歌詞翻譯：\nTrump won and you know it 你知道川普贏了\nTrump won and you know it 你知道川普贏了\nAmerica has voted, it’s true 美國人投下了神聖的一票，這就是真相\nTrump won and you know it 你知道川普贏了\nYeah we all know Trump won baby 寶貝我們知道川普贏了\nAnd we know Kamala crazy 大家都知道卡瑪拉是個瘋婆子\nEverybody knows that I’m a 大家都知道\nPatriot like my name was Brady 我跟Brady都是愛國者\nRed hat baby it’s a red wave 看看這些紅帽子，寶貝，紅潮來了\nDemocrats want Trump off stage 民主黨要川普滾下台\nBut we know that they can’t aim 但是他們的計畫永不會得逞\nAnd he won in every state 他會贏下每一州的選票\nTrump won you know we know 你和我都知道川普贏了\nToo big to rig this vote 我們勝券在握，你無力把握\nSomeone wake up Sleepy Joe cos 誰快來叫醒瞌睡喬，因為\nYou know you can’t stop Trump 你知道川普勢不可擋\nHe’s got a swamp to drain 他準備要排空一切泥沼\nSo go ahead and grab your ticket 快點去拿你的選票\nLet’s ride that Trump train 搭上讓川普重新執政的列車\nHe won in 2020 他在2020年贏過\nAnd he just did it again 這次他再次贏得勝利\nGo and throw your hands up 舉起你們的雙手\nLet’s celebrate this win 盛大的慶祝這次勝利吧\nIt’s time to get it started 從現在就開始\nCome on now everybody 來吧各位\nEveryone’s invited to this We The People party 一起來慶祝我們是人民的派對\nI know it 我知道\nYou know 你知道\nWe know 我們知道\nThey know it 他們知道\nEverybody knows 大家都知道\nTRUMP WON! 川普贏了！\n","date":"2024年11月6日","externalUrl":null,"permalink":"/posts/natasha-owens-trump-won-zh-tw/","section":"Musics","summary":"〈Trump Won〉是美國基督教歌手Natasha Owens發表的一首單曲。\n這首歌有兩個版本，一個是2023年發行的版本，拒絕承認川普2020年敗選，宣稱電視台報的都是假新聞，民主黨作弊等等。另一個版本是2024年選前之夜慶祝勝利的重新混音版，跟Nick Nittoli合唱，結果川普還真的贏了。\n除了這首以外，Natasha Owens在2024年還唱過一首〈The Chosen One〉，將川普神格化，還被川普本人分享到Truth Social。但跟〈Trump Won〉不同的是，〈The Chosen One〉Youtube影片下面滿滿的都是嘲諷留言。\n2023年版Trump Won # 官方MV\n中文歌詞翻譯：\nTrump won and you know it 你知道川普贏了\nTrump won and you know it 你知道川普贏了\nThe fake news will never show it 假新聞台永遠不會報導\n‘Cause it’s true 因為這就是真相\nTrump won and you know it 川普贏了你知道\nWe got dead people votin’ Dropboxes and Dominion 多米尼恩投票箱竟然有一堆死人投票\nAnd facts are facts, it’s not just my opinion 這就是事實，可不是我的個人意見\nThe Democrats know how to steal 民主黨很懂得偷走選舉\nCome on man, here’s the deal 拜託，這才是真相\nTrump won and you know it 你知道川普贏了\nTrump won and you know it 你知道川普贏了\nThe fake news will never show it 假新聞台永遠不會報導\n","title":"【歌詞翻譯】娜塔莎·歐文斯 - 川普贏了總統大選 Natasha Owens - Trump Won","type":"music"},{"content":"Kid Rock於2022年推出的火爆單曲〈We the People〉，收錄在專輯《Bad Reputation》，怒嗆拜登政府防疫期間的政策。\n2024年美國總統大選，川普重返執政。在選前共和黨集會，Kid Rock和Lee Greenwood是少數幾個受邀出席的鄉村搖滾明星。\n\u0026ldquo;We the People\u0026quot;是《美國憲法序言》開頭的第一句話。2021年1月6日，為了奪回被民主黨「偷走」的選舉，川粉在川普煽動下攻擊美國國會山莊，\u0026ldquo;We the People\u0026quot;這句口號遂被廣泛使用。\n歌詞中出現的\u0026quot;Let\u0026rsquo;s go Brandon\u0026quot;是川粉發明的口號，表面上是「加油布蘭登」，但其實是指\u0026quot;Fuck you Joe Biden\u0026rdquo;。\n〈We the People〉官方MV\n中文歌詞翻譯：\nWe the people in all we do 我們是人民，擁有的就是\nReserve the right to scream \u0026ldquo;Fuck you\u0026rdquo; 大聲說「幹你娘」的權利\n\u0026ldquo;Wear your mask, take your pills\u0026rdquo; 「戴好口罩，乖乖吃藥」\nNow a whole generation\u0026rsquo;s mentally ill 現在這一代年輕人的心理徹底無可救藥\nman, fuck Fauci 媽的，幹你的佛奇\nBut COVID\u0026rsquo;s near, it\u0026rsquo;s coming to town 中國病毒來了，進入各大城鎮\nWe gotta act quick, shut our borders down 我們必須盡快行動，關閉邊境\nJoe Biden does, the media embraces 拜登做了，媒體頻頻稱是\nBig Don does it and they call him racist 我川做了，他們說你歧視\nWe the people (ooh, let\u0026rsquo;s go Brandon) 我們是人民（呼，拜登滾下台）\nWe the people (ooh, let\u0026rsquo;s go Brandon) 我們是人民（呼，拜登滾下台）\nWe the people (ooh, let\u0026rsquo;s go Brandon) 我們是人民（呼，拜登滾下台）\nWe the people 我們是人民\nFuck Facebook, fuck Twitter too 幹你的Facebook，幹你的Twitter\nAnd the mainstream media, fuck you too, too, too 還有那些主流媒體，幹你媽的\n(Woo) yeah, you 呼，幹爆你們\nWe the people (ooh, yeah) 我們是人民（呼，耶）\nWe the people 我們是人民\nInflation\u0026rsquo;s up, like the minimum wage 通膨上漲，宛如最低工資\nSo it\u0026rsquo;s all the same, it ain\u0026rsquo;t a damn thing changed 結果還是一樣，什麼都沒有變化\nYou piece of shit, I don\u0026rsquo;t see color 你這坨噁心的屎，膚色什麼的根本不是問題\n\u0026ldquo;Black lives matter\u0026rdquo;, no shit motherfucker 「黑人的命也是命」，不，老子才不吃這一套\nBut we gotta keep fighting for the right to be free 但是我們還是要繼續為自由而戰\nAnd every human being doesn\u0026rsquo;t have to agree 每個人都清楚的知道\nWe all bleed red, brother, listen to me 我們流著紅色的血，兄弟，聽我的\nIt\u0026rsquo;s time for love and unity 我們要愛彼此，團結一致\nWe the people (ooh, let\u0026rsquo;s go Brandon) 我們是人民（呼，拜登滾下台）\nWe the people (ooh, let\u0026rsquo;s go Brandon) 我們是人民（呼，拜登滾下台）\nWe the people (ooh, let\u0026rsquo;s go Brandon) 我們是人民（呼，拜登滾下台）\nWe the people 我們是人民\nFuck CNN, fuck TMZ 幹你的CNN，幹你的TMZ\nAnd you social media trolls, y\u0026rsquo;all can suck on deez (deez) 還有那些社群媒體的酸民，吃我的大屌 (大屌)\nDeez nuts, that\u0026rsquo;s what\u0026rsquo;s up 就是這樣，你們這群傻屌\nWe the people (ha-ha) 我們是人民（哈哈）\nIf you down with love and wanna make things better 如果你對這一切感到失望，想做出改變\nAll we gotta do is just come together 我們就得團結起來\nWeather the storm, and take my hand 握著我的手，走過這場風暴\nThen follow my lead to the promised land 跟著我一同前往那希望之地\n\u0026lsquo;Cause we the people, we gotta unite 因為我們就是人民，必須團結一致\nTo follow that good time guiding light 跟著那個指路明燈\nClimb aboard this love boat 登上愛之船\nAnd rock that bitch up and down the coast 把那個臭婊子丟到海裡去\nIn order to form a more perfect union 為了更完美的聯邦\nDo ordain and establish this constitution for the United States of America 我們特此制定這部美利堅合眾國憲法\nWe the people (ooh, let\u0026rsquo;s go Brandon) 我們是人民（呼，拜登滾下台）\nWe the people (ooh, let\u0026rsquo;s go Brandon) 我們是人民（呼，拜登滾下台）\nWe the people (ooh, let\u0026rsquo;s go Brandon) 我們是人民（呼，拜登滾下台）\nWe the people 我們是人民\nStanding up, and standing tall 站起來，抬頭挺胸\n\u0026lsquo;Cause it\u0026rsquo;s all for one and it\u0026rsquo;s one for all 人人為我付出，我為人人付出\nAll, all, all 對，對，對\nWe the people (ooh) 我們是人民（呼）\nWe the people 我們是人民\nLet\u0026rsquo;s go Brandon 加油布蘭登\nLet\u0026rsquo;s go Brandon 加油布蘭登\nLet\u0026rsquo;s go Brandon 加油布蘭登\nLet\u0026rsquo;s go Brandon 加油布蘭登\n","date":"2024年11月6日","externalUrl":null,"permalink":"/posts/kid-rock-we-the-people-zh-tw/","section":"Musics","summary":"Kid Rock於2022年推出的火爆單曲〈We the People〉，收錄在專輯《Bad Reputation》，怒嗆拜登政府防疫期間的政策。\n2024年美國總統大選，川普重返執政。在選前共和黨集會，Kid Rock和Lee Greenwood是少數幾個受邀出席的鄉村搖滾明星。\n“We the People\"是《美國憲法序言》開頭的第一句話。2021年1月6日，為了奪回被民主黨「偷走」的選舉，川粉在川普煽動下攻擊美國國會山莊，“We the People\"這句口號遂被廣泛使用。\n歌詞中出現的\"Let’s go Brandon\"是川粉發明的口號，表面上是「加油布蘭登」，但其實是指\"Fuck you Joe Biden”。\n〈We the People〉官方MV\n中文歌詞翻譯：\nWe the people in all we do 我們是人民，擁有的就是\nReserve the right to scream “Fuck you” 大聲說「幹你娘」的權利\n“Wear your mask, take your pills” 「戴好口罩，乖乖吃藥」\nNow a whole generation’s mentally ill 現在這一代年輕人的心理徹底無可救藥\nman, fuck Fauci 媽的，幹你的佛奇\nBut COVID’s near, it’s coming to town 中國病毒來了，進入各大城鎮\nWe gotta act quick, shut our borders down 我們必須盡快行動，關閉邊境\nJoe Biden does, the media embraces 拜登做了，媒體頻頻稱是\nBig Don does it and they call him racist 我川做了，他們說你歧視\nWe the people (ooh, let’s go Brandon) 我們是人民（呼，拜登滾下台）\n","title":"【歌詞翻譯】搖滾小子 - 我們是人民 Kid Rock - We the People","type":"music"},{"content":"","date":"2024年11月6日","externalUrl":null,"permalink":"/tags/kid-rock/","section":"標籤","summary":"","title":"Kid Rock","type":"tags"},{"content":"","date":"2024年11月6日","externalUrl":null,"permalink":"/tags/united-states/","section":"標籤","summary":"","title":"United States","type":"tags"},{"content":"","date":"2024年11月6日","externalUrl":null,"permalink":"/tags/music-player/","section":"標籤","summary":"","title":"Music Player","type":"tags"},{"content":"音樂檔紀錄演出者資訊是靠「ID3」標籤，這種後設資料格式可以內嵌在MP3、FLAC、WAV等檔案，從而讓音樂播放器辨識。\n例圖，使用電腦檔案總管檢視音樂檔，看到的演出者資訊便是來自ID3標籤。 使用KDE Dolphin檢視音樂ID3標籤\n如果你跟Ivon一樣常常從網路下載音樂，便會遇到MP3的ID3標籤不齊全的問題吧。這會導致音樂播放器在讀取時顯示「未知的演出者」，難以分類搜尋。且要搭配last.fm聆聽紀錄服務的時候也會無法傳送正確資訊，很是不便。\n那麼，如何有效率整理電腦的大量音樂專輯收藏呢，若很多還是沒ID3標籤的MP3呢？這個時候就需要一款ID3標籤編輯軟體了，Ivon推薦使用Picard！\n1. 使用Picard的理由 # 「Picard」為一款自由開源軟體，由MusicBrainz基金會開發。跨平台，提供Linux、Windows、macOS版本。 功能很像Windows的MP3Tag軟體，能批次修改ID3標籤，採用UTF-8防止中文亂碼，還能修改MP3內嵌封面。\n不論什麼樣的標籤都能修改，並有一個整合性的界面供你對照檢視。 這樣就能填滿MP3檔案所殘缺的ID3標籤，不論在檔案管理器還是音樂播放器裡面都能看到更為詳細的音樂資訊。\n你的專輯會從這樣， 變成這樣。 最棒的是，大部分時候你不用手動鍵入資訊，Picard可以根據你的音樂檔特徵碼，從MusicBrainz資料庫搜尋比對音樂資訊，自動補齊本機的音樂標籤。 就算你的音樂是從Youtube下載的，MusicBrainz也有辦法辨識出是哪一張專輯！\nMusicBrainz曲庫多元，Ivon測試發現不論是華語、英語、日語、韓語音樂都能找到結果，惟台語歌較少。\n2. 安裝Picard # 請到官網按照你的系統下載Picard安裝檔。建議一併註冊MusicBrainz帳號，待會會用到。\n例如Ubuntu可以從套件庫安裝Picard：\nsudo apt install picard 另外有第三方打包的Docker版Picard，方便你遠端管理NAS上的音樂。寫一個docker-compose.yaml，把NAS的音樂目錄透過Docker Volume掛載到容器內就行了。\nservices: picard: image: mikenye/picard:latest environment: TZ: Asia/Taipei ENABLE_CJK_FONT: 1 ports: - \u0026#34;5800:5800\u0026#34; volumes: - \u0026#34;./config:/config:rw\u0026#34; - \u0026#34;/home/user/music:/storage:rw\u0026#34; 3. 設定Picard爬蟲服務 # 這裡要設定兩個服務，一個是辨識專輯資訊的MusicBrainz，另一個是根據音樂檔案特徵碼比對音樂的AcoustID。\n開啟Picard，點選設定 → 一般，登入MusicBrainz帳號，取得API金鑰 接著切換到特徵碼頁面，登入AcoustID，取得API金鑰 4. 自動編輯ID3標籤 # 建議優先嘗試此模式，讓Picard自動搜尋音樂資訊，取代現有ID3標籤。\n如果你不想讓新舊資料混在一起，開啟Picard，點選設定 → 檔案命名，設定儲存變更的時候移動檔案到新資料夾。並且勾選儲存檔案的時候更改檔名，設定命名規則為「創作者 專輯 音軌 標題」。 點選檢視 → 顯示檔案瀏覽器，這樣就能從左邊欄位開啟音樂資料夾。若你的音樂資料夾太多不知從何編輯起，可用草莓播放器快速找出哪些音樂檔案沒有ID3標籤。\n選取要編輯的資料夾，點選載入已選檔案。 接著資料夾的檔案會顯示在中央的「未分類」列表。「叢集」是供你區分多個專輯用的，由於我們這裡一次只要編輯一張專輯，所以不需要用到此功能。 對列表檔案右鍵，點選「查找」或「掃描」 這樣它就會在右邊顯示比對符合的曲目了。顯示紅色框框和綠色方塊的音軌就是專輯裡面對應的曲目。 以此類推，其他檔案也是點掃描（右鍵可全選），使其全部跑到右邊。\nPicard界面下方會顯示目前專輯資料的變更情況，還有即將替換的封面縮圖。這些資料日後依然能手動編輯。\n確認專輯資訊正確後，按右鍵儲存全部檔案，寫入ID3標籤。再按右鍵選取「移除」，繼續編輯下一張專輯。 例外狀況處理：一個專輯有多個版本，而AcoustID掃描之後，把多首歌曲分到不同的專輯裡面怎麼辦？\n請直接將歌曲從錯誤分類的專輯（顯示紅色框框或者綠色方塊的音軌），拖曳到你認為是正確的那個專輯資料夾裡面就行了！如果列表太長，就用Ctrl + C和Ctrl + V貼上。\n或者，對錯誤分類的專輯點選右鍵 → 其他版本，手動切換版本。若列表沒有想要的請點「顯示更多資訊」手動搜尋，複製專輯的UUID。切換版本後不同專輯的音樂檔就會集合在一起。 如果線上服務真的找不到專輯，而你又有辦法手動完成ID3標籤的話，不妨在完成後參考MusicBrianz的官方說明，把你的音樂特徵碼樣本分享出去，貢獻資料庫。\n5. 手動編輯ID3標籤 # 找不到ID3標籤就只能手打修改囉。對Ivon這個懶人來說，至少會給音樂檔加入六個標籤，分別是：音樂標題、創作者、專輯名稱、音軌編號、發行日期、封面圖片。這樣就夠大多數音樂播放器整理了。\n開啟要編輯的音樂檔，按著SHIFT全選，就能批次編輯音樂資訊。\n在下方ID3欄位空白處按右鍵新增標籤欄位。 例如新增album標籤，填入專輯名稱。以此類推完成其他標籤。 若要批次替換專輯封面，請對右下角的圖示按「取代正面封面圖片」。 再將要替換的圖檔拖拉到Picard的縮圖位置，即可完成替換。 編輯完成後別忘記按下儲存。\n參考資料 # MusicBrainz Documentation MusicBrainz 不完全使用指南 - 初之音 ","date":"2024年11月6日","externalUrl":null,"permalink":"/posts/musicbrainz-picard/","section":"所有文章","summary":"音樂檔紀錄演出者資訊是靠「ID3」標籤，這種後設資料格式可以內嵌在MP3、FLAC、WAV等檔案，從而讓音樂播放器辨識。\n例圖，使用電腦檔案總管檢視音樂檔，看到的演出者資訊便是來自ID3標籤。 使用KDE Dolphin檢視音樂ID3標籤\n如果你跟Ivon一樣常常從網路下載音樂，便會遇到MP3的ID3標籤不齊全的問題吧。這會導致音樂播放器在讀取時顯示「未知的演出者」，難以分類搜尋。且要搭配last.fm聆聽紀錄服務的時候也會無法傳送正確資訊，很是不便。\n那麼，如何有效率整理電腦的大量音樂專輯收藏呢，若很多還是沒ID3標籤的MP3呢？這個時候就需要一款ID3標籤編輯軟體了，Ivon推薦使用Picard！\n1. 使用Picard的理由 # 「Picard」為一款自由開源軟體，由MusicBrainz基金會開發。跨平台，提供Linux、Windows、macOS版本。 功能很像Windows的MP3Tag軟體，能批次修改ID3標籤，採用UTF-8防止中文亂碼，還能修改MP3內嵌封面。\n不論什麼樣的標籤都能修改，並有一個整合性的界面供你對照檢視。 這樣就能填滿MP3檔案所殘缺的ID3標籤，不論在檔案管理器還是音樂播放器裡面都能看到更為詳細的音樂資訊。\n","title":"自動編輯MP3標籤：MusicBrainz Picard，整理電腦音樂的好用軟體","type":"posts"},{"content":"在你安裝好Immich之後，就要想如何處理Google相簿的照片了吧？\n這裡我提供二種搬家方法。\n嚴格來說，你沒辦法「線上」搬移Google相簿的照片到Immich，你必須先將Google相簿的照片下載到電腦，才能搬移至Immich。\n如果你想把Google相簿跟Immich照片分開處理 → 使用外部圖庫方法\n如果你把Google相簿跟Immich照片融合在一起 → 使用Immich CLI上傳\n1. 透過外部圖庫新增 # 透過Immich的外部圖庫，自動掃描Google相簿資料夾所新增的照片。不需要將照片上傳到Immich。\n使用GoogleTakeoutHelper整理下載照片，將其變成一個資料夾\n把Google相簿所在照片的資料夾變成外部圖庫，再讓Immich掃描。\n2. 手動用Immich CLI上傳 # 根據官方文件，Immich有提供命令列工具Immich CLI，用於批次上傳照片到伺服器。適用本機有大量照片的場合，例如剛從Google相簿下載回來的照片。\n使用GoogleTakeoutHelper整理下載照片。\n到Immich網頁界面 → 右上角大頭貼 → 帳號設定 → API金鑰，產生新金鑰 使用Docker跑Immich CLI。依序輸入Google相簿所在資料夾路徑、金鑰、Immich伺服器位址，便可以上傳整個資料夾的照片檔案到Immich了。\nsudo docker run -it --rm -v \u0026#34;/Google相簿所在資料夾/:/import\u0026#34; ghcr.io/immich-app/immich-cli:latest upload --recursive --key \u0026#34;你的金鑰\u0026#34; --server http://192.168.1.216:2283/api ","date":"2024年11月2日","externalUrl":null,"permalink":"/posts/migrate-from-google-photos-to-immich/","section":"所有文章","summary":"在你安裝好Immich之後，就要想如何處理Google相簿的照片了吧？\n這裡我提供二種搬家方法。\n嚴格來說，你沒辦法「線上」搬移Google相簿的照片到Immich，你必須先將Google相簿的照片下載到電腦，才能搬移至Immich。\n如果你想把Google相簿跟Immich照片分開處理 → 使用外部圖庫方法\n如果你把Google相簿跟Immich照片融合在一起 → 使用Immich CLI上傳\n1. 透過外部圖庫新增 # 透過Immich的外部圖庫，自動掃描Google相簿資料夾所新增的照片。不需要將照片上傳到Immich。\n使用GoogleTakeoutHelper整理下載照片，將其變成一個資料夾\n把Google相簿所在照片的資料夾變成外部圖庫，再讓Immich掃描。\n2. 手動用Immich CLI上傳 # 根據官方文件，Immich有提供命令列工具Immich CLI，用於批次上傳照片到伺服器。適用本機有大量照片的場合，例如剛從Google相簿下載回來的照片。\n使用GoogleTakeoutHelper整理下載照片。\n到Immich網頁界面 → 右上角大頭貼 → 帳號設定 → API金鑰，產生新金鑰 使用Docker跑Immich CLI。依序輸入Google相簿所在資料夾路徑、金鑰、Immich伺服器位址，便可以上傳整個資料夾的照片檔案到Immich了。\n","title":"如何從Google相簿的照片搬家至Immich","type":"posts"},{"content":"Quitting social medias and stopping watching fake news.\n盡量不用社群媒體，不看影片，不看新聞。\n這不是實驗，而是一種態度。\n崔健 - 出走（1989年） 我本可以忍受黑暗，如果我未曾見過光明。\n於是蘇格拉底就被人民判死刑了。\n理由 # Reddit有一個討論板叫做r/nosurf，教人不要浪費生命在網路衝浪，可說是一種反主流的存在，上面很多意見值得參考。\n有人會說現代人過於沈迷手機電腦平板，應當拋棄，但是其實有問題的不是這些裝置本身，而是用途。\n有問題的不是3C裝置，而是社群媒體與新聞。\n公理告訴我們，人是社群性的動物，即使在現實中沒朋友，也會在網路上找朋友。\n當人們戴起面具，無形中給自己了些許勇氣，敢說出不敢說的話，實現那不可能在現實中做到的事情。從而、在網路上促成良善的互動，當然，也有惡意的流竄。從美國耶魯大學研究來看，負面性的社群貼文更容易促進互動，讓人生氣的東西都容易引人議論。這在英文稱之為rage-baiting。在一些平台演算法看來，互動數是中性的，不論好的還是壞的互動，只要一篇貼文獲得了大量互動，那麼它就有可能擴散出去，讓更多人加入戰局。\n可是，我花了十幾年的時間逐漸了解到，對我這種不論在現實中還是網路上都沒多少朋友的人來說，過度的吸取負面資訊會傷害自己的身心靈。\n又，我依賴良知，有底限，知道即使網路上隱蔽身份也不能肆意大放厥詞，做毫無下限的攻訐（簡言之，就是徹頭徹尾的troll，參考Komica和4chan用戶），所以，我連當暴民的這種社交行為也不具備了。那如果我再繼續沈溺被動吸收資訊，就只能當沉默的羔羊了。\n再談新時代的數位械鬥。\n說實在，網路上爆發了什麼爭議，要不要跟風發文，要不要出征他人，這好像在糾眾打群架一樣，很多時候參與其中其實沒什麼意義，多是逞一時之快想獲得按讚以取得快感。甚至對於公眾利益無關緊要的事情，往往也能在網路鬧大；或者一點小政治議題被網軍洗得好像是國家要滅亡了一樣，強迫所有人介入。雖說生於憂患死於安樂，但是快樂的豬即使思考起來也不會變成蘇格拉底，只有成為一個痛苦的普通人而已。\n不知道哪個詞比較好形容，那我還是講支語吧，網路上傻逼太多了。很多傻逼還以當樂子人為榮，搞破壞就是他們生命中最大的樂趣。\n1998年播映的動畫《玲音》早說過：\n網路的興起讓渺小的聲音也能激起大漣漪。 If people can connect to one another, even the smallest voice will grow loud.\n或許有人以為網路促成交流方式的平等，但是平等的交流往往是困難的。沒有面對面加上匿名特性，使得人民可以肆無忌憚的泯滅一切良心規矩。\n尤其在政治議題這種很難有定見的議題，Facebook這類主流社群媒體的環境非常雜亂，很難像Github討論程式問題一樣就事論事，更多時候是變成仇恨攻擊，問A答B開始瞎雞巴亂扯，模糊焦點。網路又不是辯論大會，沒有一個主持人可以強制規定網路討論方向不可背離主題。於是，你試圖澄清溝通，對方就開始一條龍抹黑，散播恐懼，訴求意識形態對立，凡不聽我話的都是敵人。 講個例子，有民進黨立委說「藍白不倒，台灣不會好」就是一種典型的弱化民主的討論，網路上很多人的意見也大抵就是這個樣子，像是小粉紅說「美帝國主義亡我之心不死」，立場先於事實，製圖大隊出動昧於良心，試圖站中間的理性聲音被淹沒。我必須很誠實的說，其實哪個黨派的支持者多少都有這種傾向，不論是不是自願的。就算是我黨民眾黨的也有，我稱他們為狂柯粉，禍害程度不甚於塔綠班親衛隊，凡事都以對方本身就是絕對惡為出發點，疑神疑鬼的，所以導致偏見的產生。網路社群媒體的同溫層放大極端聲音，當遇到衝突，沒有中間理性聲音的空間，就是出征來出征去搞網路霸凌，變成新時代的「數位械鬥」。\n腰樂隊〈世界呢分鐘〉一曲是這麼唱的：\n我依然認為\n草根不是民主\n草根是庸俗\n說白了\n就是網民\n網民當然是國民\n無恥並熱鬧\n被閹割了政治權利的中國人很愛翻牆出征，台灣閩南人真的到現在還繼承中國來的老祖宗的遺風呢！額，不對，出征文化並不限於中文圈網路，即使在成熟民主國家依然離不開政治口水，像是美國的左右派大戰。有人把政治人物當救世主拜，也有受不鳥的人就會變成厭惡政治吧。但是我並不想要台灣變成像日本那樣政治冷感，甚或是鄙棄民主體制追求獨裁政體，反正只要能發大財就好了，到時候連政治冷感的權利都沒有了。\n又，我不要成為奶頭樂的用戶，不追蹤那些散播誇大事情的社群媒體，改追蹤娛樂新聞？只關心動漫電玩遊戲追星資訊，只想知道哪裡有好吃的，每天看梗圖短片笑哈哈？否，這種的被動吸收資訊，我也不要。想要深度討論真正值得的事物，社群媒體肯定是不適合的地方，還是論壇式網站比較好吧，而且是有需要的時候才上去看。後面會講到具體作法。\n關於新聞問題，其實不是所有新聞都不好，但就是劣質新聞充斥主流環境，令人厭惡。傳統媒體的墮落，自媒體的興起，結果整體輿論環境並沒有變好，自媒體還可能更容易散播錯誤資訊，誤導人們視聽。\n此外，關心世界大事固然重要，但是媒體的幾總會帶給錯誤的濾鏡，裡面帶有媒體本身的立場所導致的偏誤，引起人們憤愾。此外，將無關緊要的車禍小事，與真正重要的世界災難性的消息放在一起報導，致使人心惶惶。\n總有一天，你會不知道看這些新聞的意義是什麼，就以我而來說，一些資訊可能讓人惱怒，讓人覺得悲傷，或是奶頭樂式的引人發笑。一些新聞也可能激起不必要的同情心，令人同情遠方戰火、獨裁者居下的人民的處境，但又做不了什麼。當人們自己都照顧不好自己，將氾濫的同情心溢出到其他人身上徒增更多痛苦而已。\n生活不是只有眼前的苟且，還有詩與遠方————以及數不盡的苦難。\n媒體報導的方式，無形中會加重閱聽人的負擔，每日浸泡在資訊超載的情況下。不客氣的說，那些事情，究竟干我什麼事。就拿以色列與巴勒斯坦戰爭來說，知道了這些悲慘事情的發生也解決不了問題，甚至可能濫用同情心，或是莫名對所謂加害者的一方激起仇恨。\n人們不是天生聖母，關心遠方的人有沒有食物吃卻不想著自己下一餐吃什麼的，就是大傻瓜。\n除非張獻忠殺到我家樓下來了，否則管好你自己就好。嗯啊，這有一個詞叫做歲靜，意即縮頭烏龜，假裝看不到世界的苦難，只活在自己的泡泡裡面。但是，人們自己選擇的生活方式，又與你何關呢？\n世事變化無常，每天都有數不清的東西在離去。\n當觀色無常，如是觀者，則為正觀。正觀者，則生厭離；厭離者，喜、貪盡；喜、貪盡者，說心解脫。\n作法 # 我一直很想戒掉社群媒體，並逐步觀察它對我的影響。但是很難成功，我總是關了又開，最多撐不過一天又會點開社群媒體，不管是台灣的還是外國的來看。不過至少我現在有較為清楚的認知了，我明白社群媒體再也沒那麼重要。所以就算實務上沒辦法完全不用，我也要試著控制一下，少用社群媒體。\n前面說過我沒多少朋友，因此退出社群媒體，不關心新聞，其實成本很小，反正也沒人在乎我的存在，因此消失了其實也沒人會過問。\n我決定主動篩選資訊來源。\n我的行動裝置已經沒有任何社群媒體APP了。\n不再盲目的滑Facebook動態。而是有需要才用瀏覽器登入，到地方性社團求助。\n不再到PTT八卦板從第一頁看到最後一頁。而是有需要才用網頁版爬文。\n不再到Reddit的冲浪TV看神友與反賊發的魔怔批話。反正除了節目效果以外本來就沒有什麼價值。\n不再觀看Youtube首頁的內容，突發新聞、爆紅影片那些關我屁事，改以「不推薦相關影片的」Invidious替代。\n不隨波逐流，不任意在社群媒體留言，發表自以為的高見，與看不到的敵人吵架。既然看了立場不同的留言會讓人血壓高，那就乾脆不要看就好了。即使瞄到髒東西了，一笑置之便可。\n當我需要的時候，才去查網頁，才去擷取資料。而且是在論壇網站爬文，了解資料。不是在網站上漫無目的的滑著動態。\n滑社群媒體的時間省下來了，我可以有更多時間讀電子書，閱讀更多經典名著，了解人們如何用有條理的講完一件事，心領神會，而非社群媒體寫篇廢文就為了換一堆讚。\n同樣的，欣賞音樂、電影、藝術也是如此。網路上世界上發生的事情，很多時候都跟你無關，知道就好，不過度介入。即使累了不能專注，要懂得享受無聊的當下，不要總是想上網滑社群媒體。\n如果非得有想法要發表不可，最好的方法，就是自己架設一個網站，不從屬於任何社群媒體，擁有絕對的自主性。\n關於新聞部份，我還想把家中的電視機機上盒拆了，退掉租約，擺脫惡質媒體。要篩選內容，建議搞個RSS訂閱，並讓自己的網站進入RSS共享的行列，這是可以考慮的方案，但也要注意篩選來源，不要隨便找個蘋果新聞網的RSS就訂下去！因為報導內容參雜。即使是充滿專欄的天下雜誌、報導者、關鍵評論網，也可能包含令人不悅的消息。RSS訂閱的應當是限縮範圍的，特定領域的媒體，才不會顯得過於雜亂。\n可惜的是網路現在對人們影響太大，說關掉網路離開外面世界去看看，是反時代潮流的。恐怕沒有一個學理框架能向世人解釋網路的全貌。就網路現況而言，實在沒有獨善其身以外更好的解決方法，只能說要接受到現在情況就是如此混沌，莫以此為甚，網路早就實現了某種程度上的「安那其主義」，不能期待哪天有「大一統的陽光」到來，不要期待你的意見說服所有人 ——— 至少不能說全部啦，又不是蠟筆小新劇場版裡面的「熱海開花子」可以催眠所有人。 覺得完全不用社群媒體很痛苦？那麼不如在自己的小共同體過的舒服些，可以是一個伺服器，一個小網站，並儘量找更多人形成共識。\n以上這些事情做來很難，甚至很容易破功，但讓我們一起努力。\n「不用社群媒體」相關書單 # 拒看新聞的生活藝術 Die Kunst des digitalen Lebens 深度數位大掃除 Digital Minimalism 誰偷走了你的專注力？ Stolen Focus 多巴胺國度：在縱慾年代找到身心平衡 Dopamine Nation: Finding Balance in the Age of Indulgence 阿含經 āgama ","date":"2024年10月31日","externalUrl":null,"permalink":"/posts/2024103101/","section":"Personals","summary":"Quitting social medias and stopping watching fake news.\n盡量不用社群媒體，不看影片，不看新聞。\n這不是實驗，而是一種態度。\n崔健 - 出走（1989年） 我本可以忍受黑暗，如果我未曾見過光明。\n於是蘇格拉底就被人民判死刑了。\n理由 # Reddit有一個討論板叫做r/nosurf，教人不要浪費生命在網路衝浪，可說是一種反主流的存在，上面很多意見值得參考。\n有人會說現代人過於沈迷手機電腦平板，應當拋棄，但是其實有問題的不是這些裝置本身，而是用途。\n有問題的不是3C裝置，而是社群媒體與新聞。\n公理告訴我們，人是社群性的動物，即使在現實中沒朋友，也會在網路上找朋友。\n當人們戴起面具，無形中給自己了些許勇氣，敢說出不敢說的話，實現那不可能在現實中做到的事情。從而、在網路上促成良善的互動，當然，也有惡意的流竄。從美國耶魯大學研究來看，負面性的社群貼文更容易促進互動，讓人生氣的東西都容易引人議論。這在英文稱之為rage-baiting。在一些平台演算法看來，互動數是中性的，不論好的還是壞的互動，只要一篇貼文獲得了大量互動，那麼它就有可能擴散出去，讓更多人加入戰局。\n可是，我花了十幾年的時間逐漸了解到，對我這種不論在現實中還是網路上都沒多少朋友的人來說，過度的吸取負面資訊會傷害自己的身心靈。\n又，我依賴良知，有底限，知道即使網路上隱蔽身份也不能肆意大放厥詞，做毫無下限的攻訐（簡言之，就是徹頭徹尾的troll，參考Komica和4chan用戶），所以，我連當暴民的這種社交行為也不具備了。那如果我再繼續沈溺被動吸收資訊，就只能當沉默的羔羊了。\n","title":"為了身心健康，應當不用社群媒體與拒看聳動新聞","type":"personal"},{"content":"Podman是2018年開始發展的容器技術，可作為Docker的替代品。 記得2021年在屏大的時候，教Linux的電通系劉教授請來業師演講，就說過Podman要取代Docker了，似乎是因為Kubernetes捨棄Docker的原因。網路上也很多人說Docker過氣了！ 快上船\u0026hellip;你帶我走吧！圖片來自Podman Desktop官網\n當時我對Linux還停留在Android手機Termux打打指令的概念，所以只弱弱的問了業師：Docker對桌面用戶有什麼好處呢\u0026hellip;？我到底在工三小，ㄟ！現在看來也沒有錯，Podman跟Flatpak你敢說沒關係麼（轉真硬）\n啊結果嘞？到現在Docker也還沒消失嘛！\nDocker是2013年就開始發展的技術，圍繞著Docker開發的東西相對成熟許多。2019年我開始學著用Docker在Ubuntu跑self-hosted服務，見到了許多自由軟體的開發者慣於使用Docker發表成品，只要幾條指令就能架起伺服器服務。\n直到現在2024年，在用RHEL系Linux發行版的時候發現，RedHat似乎不愛Docker，加上Fedora Silverblue、RHEL、Rocky Linux預設就安裝了Podman，所以學著換用Podman。\n測試環境：\nRocky Linux 9 Docker 27.3.1 Podman 4.9.4 1. 遷移到Podman之前的需求考量 # 目前我在Linux伺服器上跑的東西：Docker搭配Portainer，用網頁管理許多docker-compose，方便一鍵開關selt-hosted服務。並且搭配Nvidia Container Toolkit在容器中跑CUDA。\n我需要跑這些容器服務：\nPortainer Jellyfin Immich Nextcloud qBittorrent + Gluetun VPN Minecraft基岩版伺服器 ReDroid Ollama Open WebUI Stable Diffusion ComfyUI 一直覺得docker run的指令加一堆引數很醜，所以比較喜歡用docker-compose.yaml定義服務內容，一清二楚。\n又，用指令管理這些服務很麻煩，所以希望有個漂亮的網頁來管理，那就是Portainer。它本身也是個容器服務。\n切換到Podman能不能滿足需求呢？是否要整個stack換掉？\n2. Podman相較於Docker的優點 # 目前找到的很多捧Podman的資料都是RedHat提供的，他們甚至出了一本The Container Commandos兒童著色本讓你認識Podman\u0026hellip;\u0026hellip;這是什麼\u0026quot;JavaScript for Kids\u0026quot;書籍的變體嗎！？ 就我的觀察，Podman優點如下：\n同為開源軟體，Podman比較傾向自由軟體，而不像Docker那樣商業味濃厚。（屁啦也不想想RedHat是什麼公司） Podman指令跟Docker長得很像，甚至有比較誇張的說法：設一條alias指令就能無縫從Docker轉換到Podman。 Podman因為沒有常駐程式(daemonless)，所以跟Systemd整合更好，不會像Dockerd一樣跟Systemd打架，並且迴避掉Docker單點故障的問題。若要讓Podman容器開機自動啟動，可以用Podman Quadlet將其設定為Systemd服務，統一用Systemd指令管理。 Podman可以跟Kubernetes整合，Docker很難。 Podman支援rootless模式執行，提升安全性。這點有點類似Flatpak，讓普通用戶也能任意安裝程式。 許多RHEL系的Linux發行版內建Podman，不像Docker需要額外安裝。 託管容器映像檔的Docker Hub是一家商業平台，2023年曾經發生過趕走開源軟體開發者的事情。那麼RedHat建立的Quay.io又如何呢？很抱歉，它也是商業平台，而且收費更貴，不過它伺服器是開源的，允許使用者自架Docker Registry。 Podman主要支援的是Linux，至於其他系統，透過完全開源的Podman Desktop程式，讓Windows和macOS用戶也能用Podman，取代閉源的Docker Desktop。 3. 安裝Podman # Podman跟Docker是可以共存的。\n大部分Linux發行版的套件庫都有收，Rocky Linux的安裝方法：\nsudo dnf install podman Podman指令請參考官方手冊，大部分都跟Docker類似。\n4. Podman的權限問題 # 比較讓我困惑的是Docker只要將一般使用者加入docker群組就能直接執行docker指令，拉取的映像檔會存在同一個位置，因此docker run和sudo docker run是沒差的。\n換成Podman，得加--privileged或者sudo podman才能確保容器能存取所有裝置，而不會有權限不足或是無法使用低位數通訊埠的問題。這樣下來，podman run和sudo podman就會出現差異，二者的映像檔會存在不同的位置，並且權限也有差異。\n因為伺服器主要是我一個人管理的，故使用個別使用者能自行管理的rootless podman沒什麼意義，還得調一堆參數開放權限給一般使用者。\n所以我就索性所有指令都用sudo podman跑了。是的，雖然這是個人伺服器，但是我不會什麼指令都用root使用者操作。\n還有一點要注意：RHEL系Linux發行版有很嚴格的SELinux規則，即使用sudo podman，容器有時仍會在存取特定目錄的時候跳出權限不足的錯誤，得用引數--security-opt label=disable繞過。\n5. Podman開機自動啟動容器 # 因為Podman是daemonless，所以無法像Docker一樣在dockerd服務啟動後，就自動帶起所有--restart=always引數的容器。\n得自行寫Systemd Unit設定容器自動啟動，用Systemd去管理容器服務。專為Podman設計的Systemd Unit稱為「Quadlets」，取代舊版的podman-generate-systemd。Quadlet可以使用Systemd來設定多個容器之間的啟動依賴關係。\n不過手寫Quadlet檔案有點麻煩，所以用Podlet工具來自動生成吧。\n例如，要新增一個開機啟動的hello-world容器：\n# 叫Podlet按照指令`podman run hello-world`生成一個Quadlet檔，設定開機自動啟動 podlet --file . --install --description \u0026#34;Hello World\u0026#34; podman run hello-world cat hello-world.container # 安裝到Systemd專為容器設計的目錄 sudo mv hello-world.container /etc/containers/systemd/ sudo systemctl daemon-reload # 讓Quadlet檢查要啟動的容器 sudo /usr/libexec/podman/quadlet --dryrun sudo systemctl starthello-world.service sudo systemctl status hello-world.service 6. Podman有docker-compose嗎？ # 儘管Podman的指令跟Docker很像，但講到docker-compose就不是那麼一回事了。\nPodman得安裝「podman-compose」才能用docker-compose來啟動容器，或者改用Podman的「Pods」或「Quadlets」來做事，後者有一套類似docker-compose的yaml格式能用。\n但很多開發者主流還是Docker呀！他們發表專案的時候只會提供docker-compose範本，整個重寫為Pods太麻煩了，還是用docker-compose吧。\n用系統套件管理器安裝podman-compose，這是個Python封裝的前端。\n然後podman-compose指令的用法就跟docker compose一樣了。\ncd \u0026#34;/含有docker-compose.yaml的目錄\u0026#34; sudo podman-compose pull sudo podman-compose up -d 如果要開機自動啟動，則得安裝Podlet，讓它依照docker-compose內容轉換為Quadlets。轉換過程可能會出錯，得自行調整為Qualdet的語法。\npodlet compose docker-compose.yaml 不過，實務上我不太會這樣用指令啟動docker-compose，多半都是透過Portainer網頁界面啟動，如此一來就不用費心去轉換docker-compose了。\n7. Podman的網頁管理界面？ # RHEL系Linux發行版內建多功能的Cockpit網頁界面。\nCockpit是有叫做cockpit-podman的模組啦，但界面很陽春，只能建立Pods，目前還不支援podman-compose。 我覺得還是Portainer功能比較齊全。\n所幸，根據官方文件，Portainer可以連線到Podman的socket，所以網頁界面是可以沿用的：\nsudo systemctl enable --now podman.socket sudo podman run -d \\ -p 9443:9443 \\ --name portainer \\ --restart=always \\ --privileged \\ -v /run/podman/podman.sock:/var/run/docker.sock \\ -v portainer_data:/data portainer/portainer-ce:2.23.0 不過Docker的socket跟Podman不一樣，Portainer的備份功能又僅限同一部機器復原，不能用Backup匯出舊有Portainer資料，所以得手動遷移舊有的Stacks (docker-compose)。\n之後就能在Portainer頁面使用docker-compose啟動容器了。 上面提過Podman容器不會在開機後自動啟動，Portainer對此也無能為力。它能夠啟動與停止Podman容器，但是要讓Podman容器開機自動啟動，你就得自己設定Quadlet。\n所以，我折衷的作法就是給Portainer容器設定開機自動啟動，再從Portainer的界面去手動啟動容器。\npodlet --file . --install --description \u0026#34;Portainer\u0026#34; podman run -d \\ -p 9443:9443 \\ --name portainer \\ --restart=always \\ --privileged \\ -v /run/podman/podman.sock:/var/run/docker.sock \\ -v portainer_data:/data portainer/portainer-ce:2.23.0 sudo mv portainer.container /etc/containers/systemd/ sudo systemctl daemon-reload sudo systemctl enable --now portainer.service 8. Docker轉Podman後服務都正常嘛？ # 至少大部分服務都正常執行，Nvidia Container Tooklit也能夠讓Podman跑CUDA。\n僅ReDroid因為架構特殊，需要自訂binfderfs的核心所以比較難處理。此問題與Podman無關，而是Rocky Linux核心本身的問題。\n最大的問題還是Podman本身與Docker做事的方法本就不太一樣，或許Portainer還能保持一點相容性，但若要善用Podman的潛力，就得將服務模式調整為Pods的工作方式。\n可是這樣要架服務就滿麻煩的了，以後就不能直接抄開發者給的docker-compose啦。\n","date":"2024年10月30日","externalUrl":null,"permalink":"/posts/migrate-from-docker-to-podman/","section":"所有文章","summary":"Podman是2018年開始發展的容器技術，可作為Docker的替代品。 記得2021年在屏大的時候，教Linux的電通系劉教授請來業師演講，就說過Podman要取代Docker了，似乎是因為Kubernetes捨棄Docker的原因。網路上也很多人說Docker過氣了！ 快上船…你帶我走吧！圖片來自Podman Desktop官網\n當時我對Linux還停留在Android手機Termux打打指令的概念，所以只弱弱的問了業師：Docker對桌面用戶有什麼好處呢…？我到底在工三小，ㄟ！現在看來也沒有錯，Podman跟Flatpak你敢說沒關係麼（轉真硬）\n啊結果嘞？到現在Docker也還沒消失嘛！\nDocker是2013年就開始發展的技術，圍繞著Docker開發的東西相對成熟許多。2019年我開始學著用Docker在Ubuntu跑self-hosted服務，見到了許多自由軟體的開發者慣於使用Docker發表成品，只要幾條指令就能架起伺服器服務。\n直到現在2024年，在用RHEL系Linux發行版的時候發現，RedHat似乎不愛Docker，加上Fedora Silverblue、RHEL、Rocky Linux預設就安裝了Podman，所以學著換用Podman。\n測試環境：\nRocky Linux 9 Docker 27.3.1 Podman 4.9.4 1. 遷移到Podman之前的需求考量 # 目前我在Linux伺服器上跑的東西：Docker搭配Portainer，用網頁管理許多docker-compose，方便一鍵開關selt-hosted服務。並且搭配Nvidia Container Toolkit在容器中跑CUDA。\n","title":"從Docker遷移到Podman，能用Portainer網頁界面管理docker-compose嗎？","type":"posts"},{"content":"Use virtual machines as daily drivers. Virtualize a home PC and replace it with a thin client that connects to the VMs via remote desktop.\n我終於成為「Yes I am Linux user」！How do you know that I am a Linux user?\n實際使用場景就像下圖，差別在於我不是用Arch Linux，而是Ubuntu。 嘗試將現有的Linux電腦，轉換為一個兼具「工作 ＋ 遊戲 ＋ AIGC計算 ＋ macOS XCode編譯 ＋ 玩Android遊戲 ＋ BT下載 ＋ NAS」的多功能虛擬機主機，底層的系統得是跑在Linux上的。\n並且，將虛擬機系統作為一種類似VDI（桌面虛擬化設施），隨時隨地的使用Thin Client遠端存取桌面。 在GNOME工作區，遠端監看Linux宿主機的資源使用狀況 切換到第二個GNOME工作區，遠端連線到Linux虛擬機桌面\n1. 動機 # 以前是一邊操作Linux宿主機，一邊使用虛擬機跑Windows。\n因為我想跑的東西實在太雜，所以乾脆結合過去幾年學到的虛擬機技術，將一切虛擬化，讓我能夠任意分配硬體資源給系統使用。\n我知道的東西不是很多，所以這篇文章的內容可能會隨時修正。\n這個想法在前幾個月的兩篇文章已然成形：\nSteam Proton V.S. VFIO虛擬機，孰勝孰負？ 將電腦斷頭斷腳，現地改造一個Proxmox主機，全面虛擬化遠端桌面系統 這次我重新把它polish了一遍，以求未來能以此繼續延展。我還是沒有用Proxmox，而是用Ubuntu搭配Libvirt KVM自行拼出一個虛擬機導向的作業系統。\n下面會講選擇Ubuntu當底層作業系統的理由，這裡我要再講些動機方面的東西。第一個，那就是幾年前讀了「編程隨想的博客」補充了我許多虛擬機隔離的想法。第二個，透過Edward Snowden的書了解到Tails OS和Qubes OS的存在，讓我更想嘗試將一切都虛擬化，加強安全性的作法。\n這兩個動機聽起來很詭異是吧，既沒有中共國安要抓我，也沒有CIA監控人民的風險，但是，台灣有可能在不遠的未來被那些\u0026quot;glowies glow in the dark\u0026quot;持續蠶食鯨吞人民的權利，所以防患於未然是重要的。\n2. 伺服器硬體架構規劃 # 開啟Joplin，用Apple Pencil畫了一上午得出來的構想。\n設想 針對這幅靈魂繪圖的解釋。\n首先是宿主機硬體規格。\nCPU：Intel i5-7400，含UHD 630 iGPU內顯 RAM：16GB DDR4 GPU：4GB VRAM的Nvidia GTX1050Ti 硬碟：總計6TB的空間，但不會全部使用。 將現有的兩個SSD硬碟組成一個LVM Group，取得最大的root空間，不用再額外掛載硬碟到其他路徑導致資料要搬來搬去的。也方便日後擴充硬碟。\n宿主機的作業系統安裝標準的Ubuntu Desktop，並啟用LVM。為什麼不選Proxmox或者純伺服器的Linux發行版？因為我還想當普通人，要保有人性(humanity，即Ubuntu這個字的本義)，我想當吸血鬼(戴上石鬼面，成為hacker admin)的時候就會拋棄它了。\n\u0026hellip;其實比較現實的理由是，Libvirt沒有好用的網頁界面，Cockpit還不成熟，所以在起初建置虛擬機胡敬的時候還是有圖形界面跑Virt Manager較好。等一切就緒後圖形界面就能關掉了。\n宿主機應當儘量保持精簡，只要做好Hypervisor的調度工作就行了，除了SSH和Libvrit虛擬機等必要軟體以外一律不安裝，UFW防火牆全部封鎖。因為我不會用LXC（吐舌），就連Docker和Podman都是在虛擬機裡面跑的。\n然後，手邊有幾個HDD，他們有各自的用途，所以不會成為LVM Group的一部分。\n3. 虛擬機規劃 # 計畫安裝三個虛擬機：\n第一個是使用我慣用的KDE桌面的Linux虛擬機，做主力，直通Intel GPU，負擔基本3D加速。 專門跑self-hosted服務的headless Linux虛擬機，主要跑Docker和Podman，直通Nvidia GPU跑AI運算。 Windows虛擬機，直通Nvidia GPU玩遊戲。 以上是最常用的三個，剩下的就按照需求臨時加開虛擬機。如果有必要，虛擬機應該啟用Secure Boot和FDE全硬碟加密。\n既然虛擬機都是跑在區域網路，我有想過，或許虛擬機可以用PXE從網路硬碟開機的？但為了效能考量還是採用比較常見的作法，即一個系統一個qcow2硬碟。\n因為Libvirt有超賣(overcommiting)機制，所以CPU和RAM可以有效利用。多個虛擬機同時執行的是可能的，閒置的虛擬機資源會被其他虛擬機拿去用。不過就實務來看上，同時跑Linux和Windows虛擬機就差不多吃乾i5-7400的所有資源了（該死的Windows Update）。倒是跑兩個Linux虛擬機比較滋潤，所以我不會讓Windows虛擬機一直在線上，會一直在線上的是Linux的虛擬機。\n就算虛擬機全部下線，宿主機也不會關機。我已經做好長期不關機的準備，要買UPS了。\n4. 遠端存取虛擬機的手段 # 當你啟用VFIO隔離了電腦上所有的GPU，等同封鎖了它輸出螢幕的能力，故開機後會完全沒畫面，得用SSH登入。\n將宿主機連上Tailscale網路，組成私人VPN通訊網，這樣就能用手機或者其他電腦遠端登入操作。另外雖然Cockpit界面很爛，我還是啟用了，聊勝於無。\n要連線到虛擬機，一般的遠端桌面是滿足不了我的，所以不使用虛擬顯示卡，不用SPICE或VNC，而是將GPU直通給虛擬機，再於區域網路做高品質桌面串流。目前試下來最順的就是Moonlight + Sunshine的搭配了。Looking Glass不能在非本機以外的網路傳輸，所以淘汰。\n除了Moonlight外我還準備了備用的遠端桌面連線手段，因為它們都是Libvirt建立的虛擬機，因此GPU串流出問題的話還可以在Virt Manager插SPICE，再用VNC或RDP遠端進入桌面除錯。最不濟還有SSH能登入。\n而如果是那種不能裝遠端桌面，又需要圖形效能的特殊虛擬機系統（例如BlissOS）我還有一招，那就是使用USB擷取卡獲得螢幕畫面，於其他虛擬機裡面檢視那個虛擬機的畫面。\n5. 硬體直通做法 # Libvirt可以將宿主機的任意USB裝置或PCI裝置直通給虛擬機使用。\n首先是GPU，透過VFIO，將Nvidia GPU完全隔離，它就是一個讓各個虛擬機允取允求的資源，一次只能由一個虛擬機使用。不搞一對多的vGPU，因為太麻煩，且4GB VRAM也沒什麼好拆分的。\n至於Intel iGPU，也是透過VFIO直通，而非選擇壓搾Intel iGPU到極限，用GVT-g功能分給兩個虛擬機使用。因為經過測過，iGPU直通原本是能負擔1080p60串流的，但啟用GVT-g後VRAM砍半就撐不了，位元率必須降得很低才行，而且虛擬機的解析度還會被限制住，這樣我不喜歡。\n替代方案：用不怎麼吃GPU效能的RustDesk來存取桌面，即使iGPU VRam砍半也能負荷。但是，RustDesk延遲太高了。\n以上兩個要直通的GPU都有插著一塊顯示器或者HDMi欺騙器，以確保能發揮顯示卡最大效能。\n接著是其他硬體裝置。虛擬機的網路上網都是透過Libvirt的NAT虛擬網路，不過我特別做了橋接網路讓虛擬機能從外網存取。僅是為了區網傳輸方便，防火牆還是有開，且為了通訊安全大部分時候都是用SSH或VPN之類的加密通訊。\n若是為了降低虛擬機輸入與輸出延遲，購買USB Hub，將滑鼠與鍵盤與喇叭插在Hub上，再將該Hub直通給單一虛擬機使用，就可達致最低延遲。\n6. 將單個硬碟共享給多個虛擬機 # 有個HDD資料碟得在多個虛擬機間共享，例如跑Podman服務的虛擬機需要存取照片，我又想在主力桌面環境虛擬機直接開照片。\n所以我不直通硬碟給單一虛擬機，而是透過網路檔案系統傳輸。\n為了安全性和維護容易，選擇SSHFS，備用方案NFS + Kerberos。所有的虛擬機皆得透過遠端連線到宿主機，間接讀取資料碟上的檔案。\n然後還有虛擬機玩遊戲問題。利用Steam硬碟資料庫共享原理，將一個專門裝遊戲的實體硬碟給Linux和Windows虛擬機使用。\n為了速度考量，不採用SSHFS，而是直通。在Linux和Windows虛擬機間共享遊戲，這樣能測試Proton的執行效果，也能夠順利的於Linux虛擬機玩遊戲。此外利用VFIO原理，Nvidia GPU可以在虛擬機關機之下任意分配給虛擬機，Sunshine會在開機後自動啟動，不問Nvidia還是iGPU都能開始串流。\n7. 準備Thin Client遠端存取 # Thin Client是使用硬體較弱的裝置存取虛擬機桌面的電腦。\n這就叫\u0026quot;Thin client\u0026quot;，識得唔識得呀？\n對VDI而言，這又稱之為VDI Client\n沒有多餘的電腦，所以就地利用，將樹莓派拿出來，從伺服器轉做桌面用途。\n雖然Android、iPad接上螢幕也可以當電腦用，但是這是次佳的選擇。樹莓派配上GNOME桌面才有真正多工，方便管理多視窗的虛擬機。\nThin Client的東西要盡量精簡，只裝遠端桌面軟體，負責透過區域網路連線到Ubuntu和管理虛擬機，除此之外Thin Client不可以登入任何帳號，所有正式的工作都應該在虛擬機內部完成。\n8. 架設過程 # 把重要資料備份到最大的HDD 抹除系統，重裝Ubuntu Desktop，啟用LVM 設定SSH與Taiscale服務 安裝Libvirt KVM，安裝Linux和Windows虛擬機 設定橋接器網路 安裝Cockpit網頁服務 確認虛擬機就緒後，切換到Thin Client，遠端登入操作 直通Nvidia GPU，直通Intel GPU，測試VFIO功能是否正常。 設定遠端桌面功能，包括SSH、RustDesk、Moonlight + Sunshine等等。 正式拔除圖形環境，使用指令sudo systemctl set-default multi-user.target設定Ubuntu開機進入純文字模式。 9. 實際使用體驗＆未解決的問題 # 利用Moonlight遠端到Linux虛擬機日常上網、玩遊戲，因為是區域網路沒什麼問題，只是偶爾會延遲。因為每個虛擬機的資源分配不均，加上4核心的CPU根本吃不消，容易一個虛擬機開始做大量操作就影響到主力虛擬機的正常使用。例如，Linux主力機的喇叭爆音就知道整個系統的CPU過載了；在區域網路搬移許多檔案的時候會導致遠端桌面連線跟著塞車。使用下來體驗不佳，甚至比我以前一邊操作宿主機，一邊使用虛擬機的體驗還差勁。\n正如我上面說的，硬體效能限制了我的想像。目前的硬體實在不能同時跑兩個以上的虛擬機，會引發宿主機的OOM Killer，亦不適合一邊正常使用一邊當伺服器。因此未來全面升級硬體是必須的，最好升級到10核心以上CPU、16GB VRAM的GPU，還有32GB以上的RAM。主機板最好可以插兩個GPU，一個AMD一個Nvidia（或者至少CPU要有強力內顯），供給多個虛擬機使用。\n此外我沒有把備份納入考量，所以硬體方面未來要再搞個RAID。\n因此在短暫試驗幾天之後，我又回到了以前的模式：宿主機恢復圖形界面，改GPU直通搭配Moonlight存取虛擬機。服務直接在宿主機用Docker跑就好。\n相關討論 # Is it realistic to virtualize a home PC and replace it with a thin client that connects to a proxmox VM via RDP? - Reddit Linux 主力机+多开虚机的最佳实践是什么 - V2EX 閒聊 有人把作業系統直接用虛擬機跑嗎? - 看板PC_Shopping Thin Client Megaproject :: apalrd\u0026rsquo;s adventures ","date":"2024年10月29日","externalUrl":null,"permalink":"/posts/linux-fully-virtualized-desktop/","section":"所有文章","summary":"Use virtual machines as daily drivers. Virtualize a home PC and replace it with a thin client that connects to the VMs via remote desktop.\n我終於成為「Yes I am Linux user」！How do you know that I am a Linux user?\n實際使用場景就像下圖，差別在於我不是用Arch Linux，而是Ubuntu。 嘗試將現有的Linux電腦，轉換為一個兼具「工作 ＋ 遊戲 ＋ AIGC計算 ＋ macOS XCode編譯 ＋ 玩Android遊戲 ＋ BT下載 ＋ NAS」的多功能虛擬機主機，底層的系統得是跑在Linux上的。\n並且，將虛擬機系統作為一種類似VDI（桌面虛擬化設施），隨時隨地的使用Thin Client遠端存取桌面。 在GNOME工作區，遠端監看Linux宿主機的資源使用狀況 切換到第二個GNOME工作區，遠端連線到Linux虛擬機桌面\n1. 動機 # 以前是一邊操作Linux宿主機，一邊使用虛擬機跑Windows。\n因為我想跑的東西實在太雜，所以乾脆結合過去幾年學到的虛擬機技術，將一切虛擬化，讓我能夠任意分配硬體資源給系統使用。\n我知道的東西不是很多，所以這篇文章的內容可能會隨時修正。\n這個想法在前幾個月的兩篇文章已然成形：\nSteam Proton V.S. VFIO虛擬機，孰勝孰負？ 將電腦斷頭斷腳，現地改造一個Proxmox主機，全面虛擬化遠端桌面系統 這次我重新把它polish了一遍，以求未來能以此繼續延展。我還是沒有用Proxmox，而是用Ubuntu搭配Libvirt KVM自行拼出一個虛擬機導向的作業系統。\n下面會講選擇Ubuntu當底層作業系統的理由，這裡我要再講些動機方面的東西。第一個，那就是幾年前讀了「編程隨想的博客」補充了我許多虛擬機隔離的想法。第二個，透過Edward Snowden的書了解到Tails OS和Qubes OS的存在，讓我更想嘗試將一切都虛擬化，加強安全性的作法。\n","title":"KVM虛擬機當主力機使用，Linux + Windows的虛擬機多開實踐","type":"posts"},{"content":"Moonlight, Moonlight Game Streaming.\n","date":"2024年10月29日","externalUrl":null,"permalink":"/tags/moonlight/","section":"標籤","summary":"Moonlight, Moonlight Game Streaming.\n","title":"Moonlight","type":"tags"},{"content":"VDI, Virtual Desktop Infrastructure.\n","date":"2024年10月29日","externalUrl":null,"permalink":"/tags/vdi/","section":"標籤","summary":"VDI, Virtual Desktop Infrastructure.\n","title":"VDI","type":"tags"},{"content":"要在區域網路（局域網）分享資料夾或檔案，很多人會想到架設SMB或Samba服務吧，透過網路磁碟機在Windows與Linux之間共用資料夾非常方便。但若是Linux用戶，你有更好的選擇，那就是SSHFS！\n「SSFHS」是基於SFTP協定和FUSE檔案系統所研發的技術，可透過網路分享資料夾，讓使用者將遠端電腦的資料夾掛載到本機使用。\n圖例，透過Windows檔案總管掛載SSHFS，檢視遠端Linux電腦的檔案。 圖例，iOS透過Documents APP，連線到SFTP與Linux電腦分享檔案。 SSHFS有以下優點：\n自由軟體，不論是Linux、Windows、macOS都可以架設SSHFS服務。 可把遠端資料夾掛載，當作本機資料夾使用，編輯檔案後直接存檔到遠端伺服器。SSHFS透過區域網路傳輸的話速度很快，能夠檢視遠端電腦的照片資料夾，還能用VLC直接播放影片。 SSHFS能從Linux、Windows、macOS電腦存取，就連手機也可以！即使作業系統不支援掛載FUSE，也能改用支援SFTP的客戶端來存取檔案。 設定相對SMB/Samba簡單許多，只要電腦安裝OpenSSH伺服器就能連線掛載SSHFS，不用另外開通訊埠，不用額外新增使用者，不需要複雜的權限與設定檔。 雖然比NFS慢，但是預設SSHFS比NFS安全，傳輸全程走SSH加密，防止被攔截監聽。 SSHFS支援搭配SSH Tunnel使用，藉由跳板機存取防火牆伺服器後面的檔案。 如果分享的資料夾只是要給自己用的話，那麼SSHFS可說是非常方便的共享資料夾方式！\n下面讓我們看看如何設定SSHFS。\n這裡我們約定：\n伺服端：要分享檔案的電腦 客戶端：存取電腦檔案的裝置 1. 伺服端設定SSH服務 # 伺服端通常是用Linux，不過其實支援OpenSSH Server的系統都可以當作伺服端。\nUbuntu安裝OpenSSH伺服器，並設定開機自動啟動：\nsudo apt install openssh-server sudo systemctl enable --now ssh Windows透過PowerShell啟動OpenSSH伺服器\nmacOS透過遠端取用啟用OpenSSH伺服器。\n2. 查看伺服端IP # 讓多台電腦位於同一個網路下，取得區域網路IP後，彼此之間才可以傳輸檔案。\n例如我伺服端電腦的區域IP是192.168.1.104，這是怎麼知道的呢？假設所有電腦都用乙太網路上網：\nUbuntu使用ip addr指令確認IPV4位址。\nWindows 11開啟終端機，輸入ipconfig指令，確認IPV4位址。\nmacOS開啟終端機，輸入ipconfig getifaddr指令，確認IPV4位址。\n3. 決定使用者與掛載的伺服端路徑 # SSHFS連線的時候會要你輸入電腦的使用者帳號與密碼，帳號的話通常使用你登入伺服端電腦的帳號就可以了。\n至於密碼部份，Linux和macOS就是填寫你登入系統的帳號的密碼，而Windows 11的話得填寫Microsoft帳號的密碼（除非你使用離線帳號，那就填寫PIN碼）。\n接著決定要存取的伺服端路徑。\n作業系統有許多資料夾，如果SSHFS連線時不填路徑，則預設會進入使用者家目錄，像Linux就是/home/使用者名稱。\n若要進入特定資料夾需要指定絕對路徑，例如我Linux把檔案放在/home/user/Documents/，那麼連線時就得填寫這個路徑。\n4. 設定客戶端掛載SSHFS # Linux # 純文字指令：Ubuntu參考Github的說明安裝sshfs套件：\nsudo apt install sshfs 並使用以下指令掛載：\nsshfs 伺服端使用者名稱@伺服端IP:/要掛載的伺服端目錄/ /掛載點/ # 範例，允許所有使用者存取掛載的目錄，並將伺服端的/home/user/Documents/掛載到客戶端的/mnt sshfs -o allow_other user@192.168.1.104:/home/user/Documents/ /mnt/ 圖形介面：\n如果你使用GNOME桌面，開啟GNOME檔案管理器，點選其他位置 → 連接到伺服器，輸入sftp://伺服端的IP，再輸入帳號密碼連線。GNOME背後會透過GVfs掛載SSHFS。 如果你使用KDE Plasma桌面，使用SSH指令登入伺服端一次。接著再開啟Dolphin檔案管理器，點選網路，新增網路資料夾，選SFTP，輸入IP與帳號密碼連線。KDE背後會透過KIO掛載SSHFS。 Windows # 請先安裝WinFsp和SSHFS-Win，重新開機。\n然後對檔案總管的「網路」，按右鍵，連線到網路磁碟機 路徑輸入\\\\sshfs.r\\伺服端IP\\伺服端路徑\\，按下Enter，輸入伺服端的帳號密碼即可連線。請注意Windows的路徑是\\反斜線。 隨後伺服端資料夾就會出現在Windows檔案總管的「本機磁碟」頁面。\nmacOS # 安裝SSHFS GUI Wrapper，輸入伺服端的IP與帳號密碼連線。\nAndroid # Android沒有Root權限的話是不能掛載SSHFS的，這時請改用支援SFTP的客戶端，例如開源的FTPClient by qwerty287\niOS # iOS不能掛載SSHFS，所以得使用SFTP。\niOS內建的檔案APP目前尚未支援SFTP，得用第三方APP。例如專有軟體Documents by Readdle支援SFTP登入。\n5. 如何從外網掛載SSHFS # 安裝內網穿透軟體，即可跨越區網，從外部網路掛載SSHFS。\n此時SSHFS的存取速度會大大受到你網速的影響。\n","date":"2024年10月28日","externalUrl":null,"permalink":"/posts/sshfs-setup/","section":"所有文章","summary":"要在區域網路（局域網）分享資料夾或檔案，很多人會想到架設SMB或Samba服務吧，透過網路磁碟機在Windows與Linux之間共用資料夾非常方便。但若是Linux用戶，你有更好的選擇，那就是SSHFS！\n「SSFHS」是基於SFTP協定和FUSE檔案系統所研發的技術，可透過網路分享資料夾，讓使用者將遠端電腦的資料夾掛載到本機使用。\n圖例，透過Windows檔案總管掛載SSHFS，檢視遠端Linux電腦的檔案。 圖例，iOS透過Documents APP，連線到SFTP與Linux電腦分享檔案。 SSHFS有以下優點：\n自由軟體，不論是Linux、Windows、macOS都可以架設SSHFS服務。 可把遠端資料夾掛載，當作本機資料夾使用，編輯檔案後直接存檔到遠端伺服器。SSHFS透過區域網路傳輸的話速度很快，能夠檢視遠端電腦的照片資料夾，還能用VLC直接播放影片。 SSHFS能從Linux、Windows、macOS電腦存取，就連手機也可以！即使作業系統不支援掛載FUSE，也能改用支援SFTP的客戶端來存取檔案。 設定相對SMB/Samba簡單許多，只要電腦安裝OpenSSH伺服器就能連線掛載SSHFS，不用另外開通訊埠，不用額外新增使用者，不需要複雜的權限與設定檔。 雖然比NFS慢，但是預設SSHFS比NFS安全，傳輸全程走SSH加密，防止被攔截監聽。 SSHFS支援搭配SSH Tunnel使用，藉由跳板機存取防火牆伺服器後面的檔案。 如果分享的資料夾只是要給自己用的話，那麼SSHFS可說是非常方便的共享資料夾方式！\n","title":"SSHFS，Linux與Windows區網共享資料夾教學，替代Samba","type":"posts"},{"content":"購買新硬碟後，如何格式化並掛載到Linux系統呢？\n對於Linux來說，所有的儲存裝置都是一個檔案。插入電腦之後，會統一出現在/dev/之下，例如/dev/sda、/dev/sdb、/dev/sdc。如果硬碟沒有檔案系統，使用者需要先將其格式化，建立檔案系統（例如EXT4、FAT32、BTRFS、NTFS），再用mount指令，將/dev/sdX裝置掛載到掛載點，才能存取裡面的資料。\n簡言之，新硬碟必須新增分割區，格式化，新增檔案系統之後才可以讓Linux掛載，用來儲存資料。\n透過圖形介面即可完成操作，如果要用命令行也是可以啦。\n文末順便介紹檢測硬碟資訊的小工具。 1. 格式化並掛載硬碟（圖形介面） # 將SSD或HDD硬碟插到電腦。\n以Ubuntu為例，預設的GNOME桌面應該已經安裝了GNOME磁碟(gnome-disk-utility)工具 你可以在Ubuntu應用程式列表的「公用程式」找到GNOME磁碟\nLinux預設支援格式化的檔案系統為FAT32、BTRFS、EXT4，這些套件應該已經安裝。如果要格式化為exFAT和NTFS，請自行安裝以下套件：\nsudo apt install exfatprogs ntfs-3g 開啟GNOME磁碟即可看到目前電腦的所有硬碟，從容量判斷哪個是新硬碟。\n新買的硬碟應該沒有任何檔案系統，且不會是掛載狀態（若有掛載，按「儲存區」下方的停止鍵取消掛載）\n點選格式化磁碟 分割表選GPT，清除硬碟資料 新增一個分區，吃滿所有空間 給硬碟取名，方便辨識，如果不知道要取什麼就用硬碟型號命名吧（日後可用編輯檔案系統資訊修改）。下面格式化的檔案系統類型點選「其他」 格式化，Linux硬碟推薦使用BTRFS或EXT4，不建議選NTFS，問題很多，除非要與Windows電腦共用 格式化完成，接著點選「儲存區」下面的播放鍵，掛載硬碟 如何找到硬碟掛載點？點「編輯掛載選項」可確認開機掛載點 通常Ubuntu會將硬碟掛載在/media/使用者名稱/UUID，預設它會依照硬碟UUID掛載，這樣路徑很醜，我會手動將「掛載點」修改為喜歡的名稱，例如照硬碟型號設定：/media/user/ST4000VN006 重開機。開機後GNOME會透過udisks服務自動掛載硬碟，所以不需要手動編輯/etc/fstab。\n開啟GNOME檔案管理器，在「其他位置」的頁面即可看到新增的硬碟\n2. 格式化並掛載硬碟（命令行） # 使用命令行格式化硬碟要很小心，一不小心資料就會消失了。\n安裝以下套件： sudo apt install vim fdisk exfatprogs ntfs-3g 使用sudo lsblk列出所有硬碟，新硬碟應該尚未掛載，所以不會有mountpoint NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 1G 0 part /boot/efi ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 928.5G 0 part / sdc 8:32 0 3.6T 0 disk 假設這裡的新硬碟裝置代號為/dev/sdc，用fdisk編輯硬碟 sudo fdisk /dev/sdc 輸入g，新增GPT分割表。輸入n，全部Enter，新增一個分割區/dev/sdc1，佔滿整個硬碟空間。輸入w，寫入變更到硬碟\n使用指令sudo fdisk -l /dev/sdc確認分割狀態\nDisk /dev/vdc: 3.64 TiB, 4000787030016 bytes, 7814037168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Device Start End Sectors Size Type /dev/sdc1 2048 7814035455 7814033408 3.6T Linux filesystem 接著將/dev/sdc1格式化，這裡選BTRFS檔案系統 sudo mkfs.btrfs /dev/sdc1 掛載硬碟，Ubuntu的掛載點通常是/media/使用者名稱/掛載點名稱。這裡以硬碟型號下去命名掛載點\n新增掛載點目錄，再掛載\nsudo mkdir -p /media/user/ST4000VN006 sudo mount /dev/sdc1 /media/user/ST4000VN006 使用blkid指令確認/dev/sdc1硬碟分區的UUID sudo blkid /dev/sdc1 編輯fstab sudo vim /etc/fstab 在檔案末尾填入以下資訊，設定開機自動按照UUID，掛載該硬碟分區。 UUID=de4c08ab-2b81-40c2-b326-0880721b7b73 /media/user/ST4000VN006/ btrfs defaults 0 0 3. 同場加映：Linux版CrystalDiskInfo # CrystalDiskInfo和CrystalDiskMark為Windows著名的硬碟檢測工具。\n可惜他們是閉源軟體，又不能在Linux使用，就算用Wine轉譯仍無法讀到實體硬碟的資訊。\nGNOME磁碟內建的測試功能又有點陽春。\n如果想要類似CrystalDiskInfo的軟體，你可以安裝開源的QDiskInfo和KDiskMark。\nQDiskInfo是看硬碟資訊的工具，背景可自訂。這裡能看到HDD有無壞軌、檢查SSD的SMART狀態。 KDiskMark，用於測試新硬碟的讀寫效能，看看性能是否符合廠商所宣稱的數值。 ","date":"2024年10月25日","externalUrl":null,"permalink":"/posts/add-new-disk-to-linux/","section":"所有文章","summary":"購買新硬碟後，如何格式化並掛載到Linux系統呢？\n對於Linux來說，所有的儲存裝置都是一個檔案。插入電腦之後，會統一出現在/dev/之下，例如/dev/sda、/dev/sdb、/dev/sdc。如果硬碟沒有檔案系統，使用者需要先將其格式化，建立檔案系統（例如EXT4、FAT32、BTRFS、NTFS），再用mount指令，將/dev/sdX裝置掛載到掛載點，才能存取裡面的資料。\n簡言之，新硬碟必須新增分割區，格式化，新增檔案系統之後才可以讓Linux掛載，用來儲存資料。\n透過圖形介面即可完成操作，如果要用命令行也是可以啦。\n文末順便介紹檢測硬碟資訊的小工具。 1. 格式化並掛載硬碟（圖形介面） # 將SSD或HDD硬碟插到電腦。\n以Ubuntu為例，預設的GNOME桌面應該已經安裝了GNOME磁碟(gnome-disk-utility)工具 你可以在Ubuntu應用程式列表的「公用程式」找到GNOME磁碟\nLinux預設支援格式化的檔案系統為FAT32、BTRFS、EXT4，這些套件應該已經安裝。如果要格式化為exFAT和NTFS，請自行安裝以下套件：\nsudo apt install exfatprogs ntfs-3g 開啟GNOME磁碟即可看到目前電腦的所有硬碟，從容量判斷哪個是新硬碟。\n","title":"Linux新增硬碟與格式化教學（圖形界面＆命令行）","type":"posts"},{"content":"嘗試解決Kubuntu 24.04 (KDE 5.27) Nvidia顯卡玩遊戲畫面撕裂的問題。\nKubuntu 24.04 + KDE 5.27 + Wayland + Nvidia，真的準備好了嗎？\n這幾個月以來遊戲都無法好好的玩。\nKDE 5.27 + Nvidia 550版驅動，遊戲進入全螢幕瘋狂出現畫面撕裂(tearing)、閃爍(flickering)、黑影(glitching)等現象。\n主因應該是Nvidia驅動，嘗試了好多方案，最終升級驅動才解決。 測試環境：\nKubuntu 24.04 LTS KDE 5.27.11 Linux核心6.8.0 Nvidia GeForce® GTX 1050 Ti Nvidia專有驅動560.35.03 Steam Flatpak 1.0.0.79 Steam Proton 9.0 玩遊戲還要先debug\u0026hellip;\n去年還在Arch Linux用KDE 5.27的時候就有Nvidia驅動導致系統動畫lag的問題了，加上種種不穩定因素，今年將主力電腦從Arch Linux換成Kubuntu，尋求較為穩定的桌面使用體驗，更新應該不會常常出事。因為Kubuntu開發組來不及跟上KDE 6更新，所以我可能得在KDE 5多待二年（加上過去用Gentoo的經驗就四年了！），用著半吊子的Wayland支援度。想到得繼續用這最後的5.27版兩年就覺得悲悽，沒有關係\u0026hellip;我有非主力的電腦能體驗KDE 6。\n即使是穩定發行版，KDE與Nvidia的相性還是很糟糕，尤其是X11工作階段，該卡頓的依然卡。或許開發組會盡力修復bug，把X11調整到能用的狀態，而Wayland應該也會穩定下來吧？\n如果Kubuntu開發組有這個願景的話，就不會把24.04預設工作階段設定為X11了，KDE Wayland現在還是實驗性狀態，not production ready。那些說KDE Wayland works for me的用戶，嘩！一抓一大把是AMD仔。我們這些可憐的Average Joe，為了CUDA，繼續忍痛用Nvidia。\n看看最新版的Ubuntu 24.10才終於要預設採用GNOME Wayland了，也許跟RHEL 10準備移除X11有關。這樣給Nvidia很大的壓力呢，皮衣刀客不要整天只想著炒AI啦，不然未來還有比不完的中指。\n話說回來，Wayland似乎能徹底解決X11畫面撕裂的問題。\nKubuntu 24.04的KDE預設沒有Wayland，需要手動安裝，SDDM的登入選項才會出現。\nsudo apt install plasma-workspace-wayland Intel CPU內顯，不論X11還是Wayland一切流暢，開源Mesa驅動是真的穩。問題就是CPU內顯實在玩不了遊戲。\n切換到Nvidia專有驅動後，X11，KDE系統動畫lag，這問題Arch Linux和KDE Neon也有。遊戲畫面撕裂，全螢幕War Thunder遊戲出現破圖黑影。我試過其他Steam Proton遊戲，例如GTA 3最終版，也一樣出現全螢幕畫面撕裂。\n老招，執行nvidia-settings，開啟\u0026quot;Force Composition Pipeline\u0026quot;，再儲存Xorg設定檔，試過了無效。\n順便分享我遇到全螢幕遊戲當掉無回應的處理方式：按CTRL＋ESC叫出KDE的工作管理員，中止殭屍行程。 換到Wayland，系統動畫lag和撕裂沒有了，似乎還變順暢了些，但是全螢幕玩遊戲畫面會「抖動」。\n聽聞Reddit Linux社群對新版的Nvidia驅動評價不賴，據說他們釋出560版驅動後Wayland改善了很多，支援Explicit sync，是起飛了的等級。\n但也有Ubuntu用戶說560在較新的Nvidia顯示卡，啟用GSP firmware的話問題很多。\n不管了。\n所以我不採用Ubuntu LTS如何安裝Nvidia顯示卡驅動講到的裝法，改從Ubuntu官方的 “Graphics Drivers” PPA取得最新版驅動（Nvidia官方CUDA的套件庫也有收最新版驅動），把Kubuntu預設的Nvidia 550版升級到560版：\nsudo apt purge *nvidia* sudo reboot sudo apt install pkg-config libglvnd-dev dkms build-essential libegl-dev libegl1 libgl-dev libgl1 libgles-dev libgles1 libglvnd-core-dev libglx-dev libopengl-dev gcc make sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo apt install nvidia-driver-560 sudo reboot 560版本的Nvidia驅動已經預設啟用nvidia-drm.modeset=1，所以不用調整GRUB核心參數。\n結果X11玩遊戲還是繼續撕裂。順帶一提GNOME 46 X11也瘋狂畫面撕裂（原版，非Ubuntu版的GNOME）。Nvidia對X11早就放棄治療了是吧。\n換到Wayland玩遊戲，一切流暢，畫面終於不抖動了。雖然遊戲FPS被強制鎖在60就是了。\n問題暫時解決。Now it works for me. YMMV.\n寫完的當下，幹，我又遇到KDE工作列凍結的bug了，應用程式和時鐘完全靜止。根據bugs.kde.org的回答，這個問題到KDE 6依然存在，看來是屬於Nvidia方面的問題。暫時的解決方法是對工作列點右鍵 → 設定只有圖示的工作管理員，停用應用程式視窗預覽。\n再看看KDE開發者整理的Plasma Wayland Known Significant Issues列表\u0026hellip;嗯，我看等KDE 7，再加上Nvidia迷途知返，才會是The Year of Wayland Desktop了吧。\n你要嘛用滾動發行版取得最新的Wayland修正，不然就只能在穩定發行版用著根本不穩定的Wayland半成品！\n我在想，或許Intel + Nvidia PRIME是折衷解方。Intel負責穩定地顯示桌面環境，玩遊戲的時候再offload那部份給Nvidia顯示卡運算。\n","date":"2024年10月24日","externalUrl":null,"permalink":"/posts/kubuntu-2404-nvidia-gaming/","section":"所有文章","summary":"嘗試解決Kubuntu 24.04 (KDE 5.27) Nvidia顯卡玩遊戲畫面撕裂的問題。\nKubuntu 24.04 + KDE 5.27 + Wayland + Nvidia，真的準備好了嗎？\n這幾個月以來遊戲都無法好好的玩。\nKDE 5.27 + Nvidia 550版驅動，遊戲進入全螢幕瘋狂出現畫面撕裂(tearing)、閃爍(flickering)、黑影(glitching)等現象。\n主因應該是Nvidia驅動，嘗試了好多方案，最終升級驅動才解決。 測試環境：\nKubuntu 24.04 LTS KDE 5.27.11 Linux核心6.8.0 Nvidia GeForce® GTX 1050 Ti Nvidia專有驅動560.35.03 Steam Flatpak 1.0.0.79 Steam Proton 9.0 玩遊戲還要先debug…\n去年還在Arch Linux用KDE 5.27的時候就有Nvidia驅動導致系統動畫lag的問題了，加上種種不穩定因素，今年將主力電腦從Arch Linux換成Kubuntu，尋求較為穩定的桌面使用體驗，更新應該不會常常出事。因為Kubuntu開發組來不及跟上KDE 6更新，所以我可能得在KDE 5多待二年（加上過去用Gentoo的經驗就四年了！），用著半吊子的Wayland支援度。想到得繼續用這最後的5.27版兩年就覺得悲悽，沒有關係…我有非主力的電腦能體驗KDE 6。\n即使是穩定發行版，KDE與Nvidia的相性還是很糟糕，尤其是X11工作階段，該卡頓的依然卡。或許開發組會盡力修復bug，把X11調整到能用的狀態，而Wayland應該也會穩定下來吧？\n","title":"Ubuntu使用Proprietary GPU Drivers PPA解決Nvidia顯卡在KDE X11畫面撕裂的問題","type":"posts"},{"content":"","date":"2024年10月22日","externalUrl":null,"permalink":"/history/","section":"Histories","summary":"","title":"Histories","type":"history"},{"content":"","date":"2024年10月22日","externalUrl":null,"permalink":"/tags/imperial-japanese-navy/","section":"標籤","summary":"","title":"Imperial Japanese Navy","type":"tags"},{"content":"","date":"2024年10月22日","externalUrl":null,"permalink":"/tags/tainan/","section":"標籤","summary":"","title":"Tainan","type":"tags"},{"content":"","date":"2024年10月22日","externalUrl":null,"permalink":"/categories/%E6%AD%B7%E5%8F%B2%E7%A0%94%E7%A9%B6/","section":"分類","summary":"","title":"歷史研究","type":"categories"},{"content":"原始標題：「去吃台南橫須賀海軍咖喱，卻被老闆訴苦的故事，隱身台南市巷弄的日式霜淇淋，京美人甘味屋 ＆ 毛利屋珈琲食記」\n覺得標題太長了，所以截斷。\n大約2017年的時候吧，因為沈迷《艦隊Collection》，被C2機關和百度貼吧與NGA的老哥推銷了日本海軍咖哩文化，於是就想找間海軍風味咖哩來吃，結果卻遇到日本歸來的老闆跟我訴苦的事情。\n結果，這家店改用另一個方式重生了。\n1. 什麼是日本海軍咖喱 # 海軍カレー，就是日式咖喱飯，自二戰以前的日本海軍就有吃咖哩的傳統，據說讓水手每個禮拜五吃咖哩是為了讓人在海上有時間感，知道今天是何年何月。\n直到現在海上自衛隊還保有吃咖哩的傳統。\n日本現在也有很多海軍咖哩的名店，每個鎮守府都有自家的口味，其中舊日本海軍鎮守府所在地橫須賀就是其中一個熱門景點。\n順帶一提C2機關也有在東京開自己的「カレー機関」，據說上菜時可以要求唸出你嫁艦的名字。\n2. 造訪台南橫須賀海軍咖喱 # 台灣海軍咖喱的店不是很多，使用Google地圖搜尋，台南市打著日本海軍咖哩名號的店有兩間，一間在全美戲院附近，以前經過有看到，門口掛著白底黑字的艦影，現在似乎消失了。\n另一間就是「橫須賀海軍咖哩」了，位於台南市南區福吉四街5號。\n2017年那天是下午到訪的，走到巷子裡面一間不起眼的小店。參考在我以前造訪的部落客寫的食記，門口應該有一隻大狗狗的擺飾才對，但是我去的那天卻沒看到？\n到店裡的時候老闆親自出來招待，似乎很是驚訝為什麼會找到這家店，我就老實說是在Google地圖看到的。\n根據中時的報導，陳老闆在日本待了10年，了解到了製作咖啡和咖喱的訣竅。結束貿易事業後，決定在台開店。嚴選日本進口食材，確保品質。 忘記點了什麼口味的咖哩飯了，只記得這海軍咖喱也沒特別的，我家巷口等級？還好而已。哎呀我這種味蕾難怪不能當美食部落客！\n在吃完咖哩飯之後就是吃抹茶霜淇淋。這樣吃下來大概不到二百台幣。然後，老闆坐在我正對面，就開始講他是如何到日本取得配料的經驗，聽著這些故事讓人饒富趣味，比食物要有趣。不過當時的我不善言辭（現在也是），不能給出什麼合理的回應。接著話鋒一轉，老闆就開始講鄰居對他們的無理要求了。\n因為這條街上只有他們一家賣吃的，鄰居對他們的油煙和污水處理方式不滿，頻頻檢舉找麻煩。雖然老闆盡力改善，也找里長溝通過了，但是鄰居還是刻意針對他們，搞到最後不得不閉店。\n因此，我去的那個時候已經是海軍咖哩的末期時代了，難怪店門口不太招搖。\n霹靂啪啦的聽完一連串抱怨的話，我正準備接話的時候，另一組客人進來打斷了老闆的情緒，他馬上轉換了心情去熱心招待他們。留下我這尷尬的一人慢慢吃完剩下的咖哩飯。\n所以我怎麼就莫名其妙變成他人情緒的垃圾桶了。我也不怪他，很多人遇到苦衷有苦說不出的時候總是會想找人傾訴吧，否則鬱鬱終日也不是辦法。看他還有能力再站起來開新店已經很了不起了。\n嗯嗯，如果我當初能講出這樣漂亮的、安慰的人話就好了。\n3. 造訪京美人甘味屋 # 地址：700台南市中西區中正路271巷11號 Facebook粉絲專頁 後來老闆重新出發開的店就變成只賣甜品了。\n當初我對橫須賀海軍咖哩這家店知道不多，吃完就沒有再深究，現在去翻Facebook貼文，找到了2017年6月8日閉店的貼文，可以十足的確認是這件事沒錯。\n該粉專2018年之後就沒有再更新了。根據Facebook的貼文，2018年老闆改開了一間甜品店，叫做「京美人甘味屋」。\n地點從南區移到了中西區。大約在河樂廣場附近，海安路旁的一條巷子裡。將車子停在中正路上的寶雅，向著對面的賣衣服的街道走進去，沒有招牌的店就會出現在左手邊。 2022年左右，似乎因為網紅「台南Josh」的影片，讓這家店有了點名氣。可見到店內櫃子上有Josh出版的勵志書。 週末造訪，點了抹茶和牛奶混合的冰淇淋，還有一杯美式咖啡。這家店不是很大，只能站著吃（立食）。\n一球80台幣，這個霜淇淋的口味還是沒有變啊！日本金澤進口的，堅持品質，因為換過原料，所以味道升級了呢？ 店內的咖啡豆都是他們自己磨的，因此美式咖啡喝起來一點也不酸澀。\n老闆娘與絡繹不絕的客人的閒談從沒中斷過，可說是很有人情味的店。\n從老闆娘的談話中得知，原來老闆在同一個地方開了兩間店，除了女兒經營的「京美人甘味屋」外，還有一間「毛利屋珈琲」。似乎是因為台南Josh帶來太多人，所以開了這家店分散人流。\n4. 造訪毛利屋珈琲 # 地址： 700台南市中西區康樂市場188號 Facebook粉絲專頁 老實說開在巷子裡真的是要逼人走迷宮嗎？\n這個店實在太難找了，即使有導航還是走不到，旁邊還有賣棺材板和阿嬤內褲的店？後來才知道，從海安路外面的「菜奇鴨」走進來比較容易找到。 老闆還是像以前一樣的熱情在店門口招呼，講著「不好吃免錢～～」，所以我就馬上點餐了。 這裡賣的東西略有不同，不是霜淇淋，而是綠豆冰沙，還有利用石磨現研的咖啡。 為了防止自己又說出「吃起來還好」的評價，我就詢問這杯綠豆冰沙背後是怎麼做的，對我而言能吃到別人的故事可比嘴巴上的享受要有趣。這家店同樣沒有太多地方可以坐，拿著重重的綠豆冰沙喝起來，聽著老闆說著這個綠豆是怎樣的跟在地麻豆小農購買的，並且配料是自己用炒的，因此帶有獨特的香味。我確實聞到了。 遲了一會，我才很不好意思的提起了我有來過以前的海軍咖喱店的事情，說我還記得咖喱的味道，老闆笑說都是以前的事了。原來他本身學的是咖啡和霜淇淋，而咖喱是他老婆的拿手項目，所以才會有不同的東西出現在店裡。\n從老闆口中得知，咖啡是他在日本學的，「毛利屋珈琲」並非是自己想的名字，而是日本的品牌，必須要有十足耐力學成才能自己出來開店。從這裡不難看出，他為什麼會對用料那麼堅持了吧，堅持進口的用料，即使是在台灣隨處可見的綠豆也要跟人買，自己炒，才能做出最好吃的冰，如此可謂是學到了日本職人的精神。此外，老闆還考慮到人們的消費能力不會賣太貴，即使到現在他的霜淇淋也是均一價80台幣。\n言談之中，我若有似無的說出了覺得老闆能再起來很厲害之類的話，不過再談論下去他又要開始抱怨了吧。他雖然店舖裝飾很用心，但開在一條普通的台南市市區巷子，就感覺是在鼠窩之中的糖果屋。明明海安路附近有一條典雅的神農街，處處充滿質感的文藝氣息，可其他巷子卻還是跟二三十年前沒什麼兩樣，就是典型的鐵捲門環繞在側的樣子。要說華國美學嗎，或者說台灣人普遍不重視質感的因素吧。說著說著路邊走過去一隻黑貓，隨後又消失在陰森的巷弄中。記得好像交換了這樣那樣的意見，最後只能冷笑說：如果政府哪天想到給你們文創補助就好了啊，如此破落的小巷也能翻身。\n這個店果然也是很有人情味，講完了一些尷尬的事，老闆轉而很熱心的繼續說他們家人的事情，事業有成其實他做爸爸的也不用太擔心吧。基於隱私我就不多談了，如果有更多好奇的故事，就自行前往了解吧。\n5. 總結 # 這兩家霜淇淋店可以說成為我的口袋景點之一了吧。\n現在有能力去日本了，未來自由行的話我一定會去橫須賀聖地巡禮。\n","date":"2024年10月22日","externalUrl":null,"permalink":"/posts/2024102001/","section":"Histories","summary":"原始標題：「去吃台南橫須賀海軍咖喱，卻被老闆訴苦的故事，隱身台南市巷弄的日式霜淇淋，京美人甘味屋 ＆ 毛利屋珈琲食記」\n覺得標題太長了，所以截斷。\n大約2017年的時候吧，因為沈迷《艦隊Collection》，被C2機關和百度貼吧與NGA的老哥推銷了日本海軍咖哩文化，於是就想找間海軍風味咖哩來吃，結果卻遇到日本歸來的老闆跟我訴苦的事情。\n結果，這家店改用另一個方式重生了。\n1. 什麼是日本海軍咖喱 # 海軍カレー，就是日式咖喱飯，自二戰以前的日本海軍就有吃咖哩的傳統，據說讓水手每個禮拜五吃咖哩是為了讓人在海上有時間感，知道今天是何年何月。\n直到現在海上自衛隊還保有吃咖哩的傳統。\n日本現在也有很多海軍咖哩的名店，每個鎮守府都有自家的口味，其中舊日本海軍鎮守府所在地橫須賀就是其中一個熱門景點。\n順帶一提C2機關也有在東京開自己的「カレー機関」，據說上菜時可以要求唸出你嫁艦的名字。\n2. 造訪台南橫須賀海軍咖喱 # 台灣海軍咖喱的店不是很多，使用Google地圖搜尋，台南市打著日本海軍咖哩名號的店有兩間，一間在全美戲院附近，以前經過有看到，門口掛著白底黑字的艦影，現在似乎消失了。\n","title":"隱身台南市巷弄的日式霜淇淋，京美人甘味屋 ＆ 毛利屋珈琲食記","type":"history"},{"content":"Add application shortcuts to Linux desktop.\n想要將程式、檔案、資料夾放到Linux桌面，建立捷徑，方便日後存取嗎？ 大部分遵守XDG規範的Linux桌面環境，其實就是一個資料夾，開啟檔案管理器可看到，絕對路徑位於/home/使用者名稱/Desktop或/home/使用者名稱/桌面 那麼要在桌面新增應用程式或者檔案的捷徑，可以說是非常簡單的操作！\n注意：當你新增捷徑到桌面的時候，僅僅是用一個檔案指向位於另一個資料夾的檔案而已，而非複製一份檔案到桌面。所以把捷徑刪除，原本資料夾的程式並不會跟著刪除。若要解除安裝程式，應當使用套件管理器。\n1. 用圖形介面新增桌面捷徑 # GNOME # 適用Ubuntu、Debian、Fedora、RHEL、Rocky Linux等預裝GNOME的發行版。\nGNOME 40以上版本預設是不能在桌面新增任何檔案的，大概開發者認為反正桌面都會被視窗擋住就把這功能刪了。 連RHEL的官方文件都叫你自行裝擴充功能才能在桌面新增檔案。而Ubuntu的GNOME之所以能夠新增桌面檔案，是因為它的GNOME為特製版。\n如果安裝的是原版GNOME，必須先安裝Extension Manager，再安裝Desktop Icons NG的擴充功能，如此一來桌面才會出現圖示。 開啟Nautilus檔案管理器，對上方路徑欄按CTRL＋L，填入/usr/share/applications，開啟Desktop Entry所在的資料夾，這裡就會有你安裝的所有圖形程式的圖示 將要新增的程式的Desktop Entry按右鍵複製，例如Chromium。 切換到桌面資料夾，右鍵「貼上」\n對桌面圖示點右鍵 → 屬性，允許作為程式執行。點二下即可開啟。 如果要新增資料夾捷徑，點選三條線開啟設定，勾選允許「建立連結」 對資料夾或檔案按右鍵，點選複製 切換到桌面資料夾，右鍵「以連結貼上」，即會得到有箭頭圖示的資料夾。點二下即可開啟。 KDE Plasma # 適用openSUSE、Steam OS等預裝KDE Plasma的發行版。\nKDE Plasma 5以上版本，只要在應用程式列表點選右鍵，將其新增到桌面。點二下即可開啟。 如果要新增資料夾捷徑，在桌面按右鍵點選「新增」→「連結到檔案或目錄」 再輸入捷徑名稱和選取資料夾。點二下即可開啟。 2. 用指令新增桌面捷徑 # Linux安裝程式後通常會建立Desktop Entry，這些檔案以.desktop結尾，就是你在應用程式列表看到的那些圖示。這些檔案並不是真正的程式，而是用於執行特定指令的捷徑。\n參見Desktop Entry解說\n使用套件管理器安裝的程式，Desktop Entry通常位於資料夾/usr/share/applications。像Google Chrome就是/usr/share/applications/google-chrome.desktop檔案。\n每個Desktop Entry裡面的Exec=就是點選該檔案後實際會執行的指令，比如Google Chrome就是Exec=/usr/bin/google-chrome-stable %U，它會執行/usr/bin/google-chrome-stable這個二進位檔來啟動Google Chrome。\n那麼只要找到你要的程式的Desktop Entry檔案，就能將其複製到桌面作為捷徑使用。例如將Google Chrome的捷徑複製到桌面：\ncp /usr/share/applications/google-chrome.desktop /home/user/桌面 不過Desktop Entry適合啟動圖形化的應用程式，如果你要新增指向「檔案」或者「資料夾」捷徑的話，那麼用符號連結指令會比較好。\n例如，使用ln -sf指令，在使用者桌面建立一個軟連結script.sh，指向/usr/local/bin/script.sh這個檔案：\nln -sf /usr/local/bin/script.sh /home/user/桌面/script.sh 3. 新增捷徑到應用程式列表 # 應用程式列表與桌面是不同的位置。\n應用程式列表跟桌面一樣，讀取的是Desktop Entry。參見Desktop Entry解說\n通常安裝的程式會自動建立Desktop Entry，並放到/usr/share/applications。桌面環境讀取到之後，就會顯示在應用程式列表。\n但若是沒有，就得自己寫了。\n","date":"2024年10月21日","externalUrl":null,"permalink":"/posts/add-shortcuts-to-linux-desktop/","section":"所有文章","summary":"Add application shortcuts to Linux desktop.\n想要將程式、檔案、資料夾放到Linux桌面，建立捷徑，方便日後存取嗎？ 大部分遵守XDG規範的Linux桌面環境，其實就是一個資料夾，開啟檔案管理器可看到，絕對路徑位於/home/使用者名稱/Desktop或/home/使用者名稱/桌面 那麼要在桌面新增應用程式或者檔案的捷徑，可以說是非常簡單的操作！\n注意：當你新增捷徑到桌面的時候，僅僅是用一個檔案指向位於另一個資料夾的檔案而已，而非複製一份檔案到桌面。所以把捷徑刪除，原本資料夾的程式並不會跟著刪除。若要解除安裝程式，應當使用套件管理器。\n1. 用圖形介面新增桌面捷徑 # GNOME # 適用Ubuntu、Debian、Fedora、RHEL、Rocky Linux等預裝GNOME的發行版。\nGNOME 40以上版本預設是不能在桌面新增任何檔案的，大概開發者認為反正桌面都會被視窗擋住就把這功能刪了。 連RHEL的官方文件都叫你自行裝擴充功能才能在桌面新增檔案。而Ubuntu的GNOME之所以能夠新增桌面檔案，是因為它的GNOME為特製版。\n如果安裝的是原版GNOME，必須先安裝Extension Manager，再安裝Desktop Icons NG的擴充功能，如此一來桌面才會出現圖示。 開啟Nautilus檔案管理器，對上方路徑欄按CTRL＋L，填入/usr/share/applications，開啟Desktop Entry所在的資料夾，這裡就會有你安裝的所有圖形程式的圖示 ","title":"Linux新增程式和資料夾捷徑到桌面的作法 (GNOME ＆ KDE Plasma）","type":"posts"},{"content":"","date":"2024年10月21日","externalUrl":null,"permalink":"/tags/logical-volume-management/","section":"標籤","summary":"","title":"Logical Volume Management","type":"tags"},{"content":"Add extra second disks using LVM to an existing Ubuntu Linux system to increase the size of root directory.\n若是今天Linux的LVM空間不足了，現有硬碟整個容量用完了，我們可以買一個新硬碟插到電腦，將那個新硬碟空間加入到現有硬碟LVM的VG，從而擴充整個系統的空間。\n即是說，讓原本Linux硬碟的根目錄(/)的空間延展到第二個硬碟，將兩個硬碟合併為一個大硬碟使用。\n本文Ivon的操作以Ubuntu 24.04 LTS系統為範例，請在系統安裝之初就啟用LVM。\n1. 檢查現有的硬碟 # LVM操作的時候不用將電腦關機，可即時新增硬碟擴充容量。拆開機殼，將新硬碟插到電腦。小心不要被電到喔。\n了解一下LVM怎麼管理硬碟架構。對LVM而言，所有電腦上的實體硬碟都是屬於PV(Physical Volume)，我們要把它加入到VG(Volume Group)，才能分割為LV(Logical Volume)，最後在LV新增檔案系統，給Linux掛載使用。其中VG、LV的空間是可以延展與縮小的。\n要確認目前Linux電腦有哪些硬碟，用lsblk指令查看。Linux的硬碟代號通常是：/dev/hda或/dev/sda或/dev/nvme0或/dev/vda\n例如，我目前裝有Ubuntu的硬碟是/dev/vda，總空間128GB。Ubuntu桌面版安裝系統的時候自動切了三個分區，/dev/vda3有一個LVM的VG叫做ubuntu-vg，還有一個LV叫做ubuntu-lv，掛載Linux的根目錄。\nNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS vda 253:0 0 128G 0 disk ├─vda1 253:1 0 1G 0 part /boot/efi ├─vda2 253:2 0 2G 0 part /boot └─vda3 253:3 0 124.9G 0 part └─ubuntu--vg-ubuntu--lv 252:0 0 252.9G 0 lvm / vdb 253:16 0 128G 0 disk 接著，我插入一個新的128GB硬碟，應該會是最下面的/dev/vdb，目前是屬於未分配空間。\n我們要將它新增為LVM的PV，再加入VG，最後才能將LV的根目錄空間延展到這個新的硬碟。\n2. 能把HDD加入到SSD的VG嗎？ # 其實可以，LVM不會管背後硬碟是什麼類型，但是兩者速度差太多不要這麼做吧！新增的第二個硬碟應該也要是同等速度的SSD。\n雖然理論上可以將SSD的部份當成HDD的快取，增加整體LVM的讀寫效能，但是這樣搞更複雜了。\nLinux並沒有規定一定要把硬碟加入LVM VG才能讀取，若你有一個額外的HDD資料碟，可以以一般mount指令的方式掛載，而不用加入VG。\n若是硬要新增HDD，那麼應該獨立為一個LVM VG，不要跟SSD的混在一起。\n本文Ivon使用的硬碟皆是SSD裝置，兩顆SSD的讀寫效能應該盡可能接近。\n3. 將新硬碟格式化 # 此為選擇性步驟。如果你的硬碟不是全新的，含有舊資料，務必將其格式化再繼續。\n這裡新插入的硬碟為/dev/vdb，使用sudo fdisk /dev/vdb指令將其格式化。\n下面為範例輸出，新增GPT分割表（硬碟超過2TB的話MBR無法定址），新增一個分割區/dev/vdb1，填滿整個硬碟，並將分區類型設定為Linux LVM\nuser@ubuntu:~$ sudo fdisk /dev/vdb Welcome to fdisk (util-linux 2.39.3). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. 命令 (m 以獲得說明)： g Created a new GPT disklabel (GUID: E928B73F-871B-440E-BC6D-BE44CBC9073F). 命令 (m 以獲得說明)： n 分割區編號 (1-128, default 1): First sector (2048-268435422, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-268435422, default 268433407): Created a new partition 1 of type \u0026#39;Linux filesystem\u0026#39; and of size 128 GiB. 命令 (m 以獲得說明)： t Selected partition 1 Partition type or alias (type L to list all): lvm Changed type of partition \u0026#39;Linux filesystem\u0026#39; to \u0026#39;Linux LVM\u0026#39;. 命令 (m 以獲得說明)： w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. 因為我們要將現有根目錄延展到這個硬碟，因此格式化以後不用新增檔案系統。 4. 新增硬碟到LVM的VG # 用lsblk指令列出目前的硬碟，新硬碟/dev/vdb有了一個分區/dev/vdb1 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS vda 253:0 0 128G 0 disk ├─vda1 253:1 0 1G 0 part /boot/efi ├─vda2 253:2 0 2G 0 part /boot └─vda3 253:3 0 124.9G 0 part └─ubuntu--vg-ubuntu--lv 252:0 0 252.9G 0 lvm / vdb 253:16 0 128G 0 disk └─vdb1 253:33 0 128G 0 part 使用以下指令將新硬碟/dev/vdb1新增為PV，讓LVM能辨識到。中間若顯示remove GPT signature就輸入y。 sudo pvcreate /dev/vdb1 再將/dev/vdb1加入到ubuntu-vg sudo vgextend ubuntu-vg /dev/vdb1 使用sudo lvdisplay指令確認目前的LV的空間 --- Logical volume --- LV Path /dev/ubuntu-vg/ubuntu-lv LV Name ubuntu-lv VG Name ubuntu-vg LV Size 128 GiB ubuntu-vg已經加入了新的PV /dev/vdb1，所以讓ubuntu-lv填滿剩餘可用空間 sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv 使用resize2fs指令重新整理LV，調整過的LV大小才會真正變更。 sudo resize2fs -p /dev/ubuntu-vg/ubuntu-lv 使用sudo lvdisplay指令，可知道目前的LV容量變成了256GB --- Logical volume --- LV Path /dev/ubuntu-vg/ubuntu-lv LV Name ubuntu-lv VG Name ubuntu-vg LV Size 252.94 GiB 使用指令lsblk檢視，你可以看到ubuntu-vg旁邊顯示的總容量變成了256GB。 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS vda 253:0 0 128G 0 disk ├─vda1 253:1 0 1G 0 part /boot/efi ├─vda2 253:2 0 2G 0 part /boot └─vda3 253:3 0 124.9G 0 part └─ubuntu--vg-ubuntu--lv 252:0 0 252.9G 0 lvm / vdb 253:16 0 128G 0 disk └─ubuntu--vg-ubuntu--lv 252:0 0 252.9G 0 lvm / 如此一來Linux根目錄的空間就會變大，兩個硬碟的空間就會合併在一起了。 5. 啟用交錯模式提升讀寫效能 # 由於LVM預設採用線性模式(Linear)，Linux會先將LVM中的第一個LV（也就是第一個硬碟）資料填滿之後，才開始往第二個LV放資料。\n你可以用lvconvert指令手動調整為交錯模式(Striped)，讓Linux把資料分配存放在多個LV。若LV各自位於不同的硬碟的話，這樣能夠提升讀寫效能。\n另外，lvconvert能將LV作為LV的鏡射模式(Mirror)，用於備份資料和提升容錯性。\n不過要備份的話，先建置硬體RAID1再設定LVM可能是更好的做法。\n6. 如何更換VG快壞掉的硬碟？ # 如果第二個硬碟快壞了，如何將資料保存，並替換新硬碟？好問題，再買一個硬碟！然後把資料移動過去。\nLVM提供pvmove指令，能搬移一個PV的資料到另一個PV。把新硬碟插入電腦，新增為PV，加入VG，然後把壞掉舊硬碟用pvmove移到新的硬碟，再從電腦移除壞掉的硬碟。\n因為我們將全部的PV都掛在同一個VG下的LV的Linux根目錄，LVM不能夠編輯掛載中的硬碟，而根目錄是無法卸載的。這時若使用pvmove會顯示無空間可移動(No extents available for allocation)，且如果用lvreduce把其中一個LV移除，整個Linux系統就炸掉了。\n所以最好的辦法是使用LiveUSB去調整現有系統的LVM。\n使用Ubuntu的LiveUSB開機\n啟用目前電腦的LVM\nsudo vgscan sudo vgchange -ay 開啟終端機，使用lsblk指令確認現有硬碟，假設我要移除的硬碟是/dev/vdb，而這裡我已經插入了第三個新的硬碟，顯示為/dev/vdc。他的可用空間應該比/dev/vdb1一樣或更多。 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS vda 253:0 0 128G 0 disk ├─vda1 253:1 0 1G 0 part ├─vda2 253:2 0 2G 0 part └─vda3 253:3 0 124.9G 0 part └─ubuntu--vg-ubuntu--lv 252:0 0 252.9G 0 lvm vdb 253:16 0 128G 0 disk └─ubuntu--vg-ubuntu--lv 252:0 0 252.9G 0 lvm vdc 253:32 0 128G 0 disk 參照前面的步驟，格式化並新增分區，將/dev/vdc1加入ubuntu-vg，但不要延展ubuntu-lv sudo fdisk /dev/vdc sudo pvcreate /dev/vdc1 sudo vgextend ubuntu-vg /dev/vdc1 使用pvmove指令，將/dev/vdb的資料移動到/dev/vdc1。 sudo pvmove /dev/vdb /dev/vdc1 等進度條跑完，再從ubuntu-vg移除/dev/vdb sudo vgreduce ubuntu-vg /dev/vdb1 最後從PV移除/dev/vdb sudo pvremove /dev/vdb1 將電腦關機，拔掉舊硬碟。\n重開機，使用lsblk查看硬碟分區狀況。\nNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS vda 253:0 0 128G 0 disk ├─vda1 253:1 0 1G 0 part ├─vda2 253:2 0 2G 0 part └─vda3 253:3 0 124.9G 0 part └─ubuntu--vg-ubuntu--lv 252:0 0 252.9G 0 lvm vdb 253:16 0 128G 0 disk └─ubuntu--vg-ubuntu--lv 252:0 0 252.9G 0 lvm 7. 如何更換VG快壞掉的硬碟並搬移boot分區？ # 假設是裝有Ubuntu系統的那個硬碟快壞掉了，那麼我們也是可以搬移資料。\n插上一個新硬碟\n開機進入Ubuntu LiveUSB，安裝以下套件\nsudo apt install lvm2 arch-install-scripts 先給這個新硬碟進行硬碟分割，假設它的裝置為/dev/vdc，參照原有Ubuntu系統硬碟/dev/vda的分割法，使用fdisk指令新增三個分割區出來，分為/boot、/boot/efi，還有要作為LVM的分割區。這樣我就有了三個分割區：/dev/vdc1、/dev/vdc2、/dev/vdc3。\n啟用目前電腦的LVM\nsudo vgscan sudo vgchange -ay 將/dev/vdc3新增至VG sudo pvcreate /dev/vdc3 sudo vgextend ubuntu-vg /dev/vdc3 將/dev/vda3資料搬移到/dev/vdc3 sudo pvmove /dev/vda3 /dev/vdc3 原本Ubuntu的boot分區資料也要搬移到新分區。\n新增EFI檔案系統\nsudo mkfs.vfat -F 32 /dev/vdc1 sudo mkfs.ext4 /dev/vdc2 將舊的/boot分區下的檔案複製到新分區 sudo mount /dev/vdc1 /mnt sudo cp -av /boot/* /mnt/ sudo umount /mnt sudo mount /dev/vdc2 /mnt sudo cp -av /boot/efi/* /mnt/ sudo umount /mnt chroot到新硬碟上的系統 sudo mount /dev/mapper/ubuntu-vg-ubuntu-lv /mnt sudo mount /dev/vdc1 /mnt/boot sudo mount /dev/vdc2 /mnt/boot/efi sudo arch-chroot /mnt 查看硬碟分區的blkid sudo blkid /dev/vdc1 sudo blkid /dev/vdc2 編輯/etc/fstab，更新每個硬碟分區後面對應的UUID= sudo vim /etc/fstab 重新安裝GRUB sudo grub-install /dev/vdc sudo update-grub 退出chroot exit 將/dev/vda3從VG和PV移除 sudo vgreduce ubuntu-vg /dev/vda3 sudo pvremove /dev/vda3 重開機，拔掉舊硬碟。 參考資料 # Configuring and managing logical volumes - Red Hat Enterprise Linux 9 Documentation How to add an extra second hard drive on Linux LVM and increase the size of storage - nixCraft Trying to move Linux installed on LVM over to new disk - Unix \u0026amp; Linux Stack Exchange ","date":"2024年10月21日","externalUrl":null,"permalink":"/posts/add-extra-disks-to-lvm/","section":"所有文章","summary":"Add extra second disks using LVM to an existing Ubuntu Linux system to increase the size of root directory.\n若是今天Linux的LVM空間不足了，現有硬碟整個容量用完了，我們可以買一個新硬碟插到電腦，將那個新硬碟空間加入到現有硬碟LVM的VG，從而擴充整個系統的空間。\n即是說，讓原本Linux硬碟的根目錄(/)的空間延展到第二個硬碟，將兩個硬碟合併為一個大硬碟使用。\n本文Ivon的操作以Ubuntu 24.04 LTS系統為範例，請在系統安裝之初就啟用LVM。\n1. 檢查現有的硬碟 # LVM操作的時候不用將電腦關機，可即時新增硬碟擴充容量。拆開機殼，將新硬碟插到電腦。小心不要被電到喔。\n了解一下LVM怎麼管理硬碟架構。對LVM而言，所有電腦上的實體硬碟都是屬於PV(Physical Volume)，我們要把它加入到VG(Volume Group)，才能分割為LV(Logical Volume)，最後在LV新增檔案系統，給Linux掛載使用。其中VG、LV的空間是可以延展與縮小的。\n要確認目前Linux電腦有哪些硬碟，用lsblk指令查看。Linux的硬碟代號通常是：/dev/hda或/dev/sda或/dev/nvme0或/dev/vda\n例如，我目前裝有Ubuntu的硬碟是/dev/vda，總空間128GB。Ubuntu桌面版安裝系統的時候自動切了三個分區，/dev/vda3有一個LVM的VG叫做ubuntu-vg，還有一個LV叫做ubuntu-lv，掛載Linux的根目錄。\n","title":"新增第二個硬碟，擴充Ubuntu LVM的根目錄空間","type":"posts"},{"content":" vGPU (Virtual GPU) 為Nvidia推出的GPU虛擬化技術，能夠將Linux上的一張GPU顯示卡分配給多個虛擬機使用，如此一來可提昇QEMU/KVM虛擬機的圖形效能。\n圖例，Linux宿主機與Windows虛擬機共享GPU 圖例，Linux宿主機與Linux虛擬機共享GPU 「GPU虛擬化」跟「GPU直通」不一樣，後者是直接將Linux宿主機的GPU封印，透過VFIO分配給虛擬機使用，一次只能有一個虛擬機使用GPU，宿主機無法存取GPU。\n相關文章：Ubuntu Nvidia GPU直通Windows QEMU/KVM虛擬機 若是採用GPU虛擬化的話，宿主機就能和虛擬機共享同一個GPU的資源了。宿主機的GPU可以分割給多個虛擬機使用，這樣就能讓多個虛擬機跑CUDA啦。 Nvidia官方發表的vGPU原理圖\n不過，目前Nvidia官方僅將vGPU功能開放給伺服器GPU使用，而且需要購買授權。一般消費級的Nvidia GPU雖然硬體支援vGPU，但是vGPU是無法使用的。故我們得使用第三方開發者製作的「vgpu_unlock」程式解鎖該功能，並用自架的「FastAPI-DLS」伺服器取得Nvidia vGPU的授權。\n網路上有關這方面操作的教學多半是跑Proxmox，我參考了Nvidia和Ubuntu的官方文件，將其轉化為Ubuntu + QEMU/KVM + Libvirt的版本，可供Ubuntu桌面版用戶參考。\n整個啟用過程有點麻煩，你需要很熟悉Linux Nivdia驅動的安裝與解除安裝方式，不然的話搞砸了可能得整個系統要重裝。 1. vgpu_unlock支援的GPU # 目前vgpu_unlock支援的GPU型號為：\nMaxwell架構 (GTX 9xx, Quadro Mxxxx, Tesla Mxx)，GTX 970除外 Pascal架構 (GTX 10xx, Quadro Pxxxx, Tesla Pxx) Turing架構 (GTX 16xx, RTX 20xx, Txxxx) Ampere架構 (RTX30xx) 以上的GPU尚未支援。\n2. 測試環境 # 宿主機：Ubuntu 24.04 LTS Linux 核心版本：6.5.0-35-generic CPU：Intel® Core™ i5-7400 GPU 1：Intel® UHD Graphics 630 GPU 2：NVIDIA GeForce GTX 1050 Ti Nvidia vGPU驅動版本：535.183.04 虛擬機系統1：Ubuntu Server 24.04 LTS 虛擬機系統2：Windows Server 2022 由於vGPU啟用後可能會暫時讓電腦螢幕沒畫面，因此在啟用vGPU之後就要改成使用內顯或者SSH登入了。\n3. 安裝QEMU/KVM與Libvirt # 請先設定好虛擬化套件。\n參考：Ubuntu安裝QEMU/KVM和Virt Manager虛擬機管理員\n4. 啟用IOMMU與VFIO # 編輯GRUB開機選項 sudo vim /etc/default/grub 針對Intel CPU，在GRUB_CMDLINE_LINUX_DEFAULT後面加入以下內容，啟用IOMMU GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;quiet splash intel_iommu=on\u0026#34; 設定開機載入VFIO核心模組 echo -e \u0026#34;vfio\\nvfio_iommu_type1\\nvfio_pci\\nvfio_virqfd\u0026#34; | sudo tee -a /etc/modules 將Nvidia開源驅動加入黑名單 echo \u0026#34;blacklist nouveau\u0026#34; | sudo tee -a /etc/modprobe.d/blacklist.conf 刪除目前系統的全部Nvidia驅動 sudo apt purge *nvidia* 更新initramfs和GRUB並重開機 sudo update-initramfs -u -k all sudo update-grub sudo reboot 進入電腦的UEFI設定，設定為以內顯優先開機。 5. 設定vgpu_unlock解鎖服務 # Matthew Bilker的「vgpu_unlock-rs」為基於Jonathan Johansson的vgpu_unlock所開發的程式，它能夠將GPU偽裝成為支援vGPU的型號。\n安裝Rust，編譯解鎖工具vgpu_unlock-rs cd ~ curl --proto \u0026#39;=https\u0026#39; --tlsv1.3 https://sh.rustup.rs -sSf | sh source $HOME/.cargo/env git clone https://github.com/mbilker/vgpu_unlock-rs.git cd vgpu_unlock-rs cargo build --release cd .. sudo mv gpu_unlock-rs /opt 建立vgpu_unlock-rs所需的檔案 sudo mkdir -p /etc/vgpu_unlock sudo touch /etc/vgpu_unlock/profile_override.toml 建立開機自動啟動的Systemd服務 sudo mkdir /etc/systemd/system/{nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d} echo -e \u0026#34;[Service]\\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so\u0026#34; | sudo tee -a /etc/systemd/system/nvidia-vgpud.service.d/vgpu_unlock.conf echo -e \u0026#34;[Service]\\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so\u0026#34; | sudo tee -a /etc/systemd/system/nvidia-vgpu-mgr.service.d/vgpu_unlock.conf 6. Linux宿主機安裝vGPU驅動 # 在此我們要取得特製版Nvidia vGPU的專有驅動，使用第三方提供的程式修補之後，再以執行.run檔案的方式安裝驅動。\n宿主機得安裝vGPU驅動(host driver)，虛擬機內部也得安裝vGPU GRID驅動(guest driver)。虛擬機內部的驅動稱作「NVIDIA virtual GPU software」，所以版本命名規則與Nvidia驅動不同，但是二者版本建議要一樣。\n到NVIDIA Licensing Portal，用企業或組織的電子郵件註冊，即可取得評估版的驅動檔案。或者自己Google，找熱心網友分享的驅動（風險自負）。你還可以在Google Cloud Compute找到部份vGPU GRID驅動。\n下載後你應該會得到三個檔案，分為Linux宿主機使用的-vgpu-kvm.run和Linux虛擬機用的-grid.run。Windows虛擬機的驅動則是_grid_win10_win11.exe。 這裡使用的驅動版本為NVIDIA-Linux-x86_64-535.183.04-vgpu-kvm.run。因為我的GTX 1050Ti已經不受支援，所以使用16.x LTS分支的驅動，不使用17.x的最新版本。\n安裝編譯依賴套件\nsudo apt install git build-essential dkms mdevctl linux-headers-$(uname -r) 取得vgpu-proxmox作者所提供的patch cd ~ git clone https://gitlab.com/polloloco/vgpu-proxmox.git 將對應版本的patch套用到Nividia驅動 chmod +x NVIDIA-Linux-x86_64-535.183.04-vgpu-kvm.run ./NVIDIA-Linux-x86_64-535.183.04-vgpu-kvm.run --apply-patch ~/vgpu-proxmox/535.183.04.patch 執行新產生的檔案，以DKMS安裝Nvidia驅動 sudo ./NVIDIA-Linux-x86_64-535.183.04-vgpu-kvm-custom.run --dkms -m=kernel 註：解除安裝使用此指令\nsudo ./NVIDIA-Linux-x86_64-535.183.04-vgpu-kvm-custom.run -uninstall 重開機 sudo reboot 確認Nvidia vGPU狀態： nvidia-smi vgpu 確認mdev設定檔是否有出現： sudo mdevctl types 7. 調整vGPU設定檔 # 使用指令sudo mdevctl types查看預設的設定檔(profile)，裡面規定了每個虛擬機的解析度 編輯profile_override.toml，這個檔案用於覆寫Nvidia預設的設定檔\nsudo vim /etc/vgpu_unlock/profile_override.toml 因為我的GTX 1050Ti只有4GB VRAM，上限也就兩個虛擬機吧，且Nvidia vGPU不能超賣(overcommit)，就是說多個虛擬機執行的時候不能讓一個虛擬機吃光所有VRAM。所以我選取nvidia-52的設定檔，並且給每個虛擬機分配2GB VRAM。（更多VRAM配置詳見PolloLoco / NVIDIA vGPU Guide的文章） [profile.nvidia-52] # 針對nvidia-52設定檔所作的設定 num_displays = 1 # 螢幕數量 display_width = 1920 # 螢幕解析度 display_height = 1080 # 螢幕解析度 max_pixels = 2073600 # 螢幕解析度的乘積 cuda_enabled = 1 # 啟用CUDA frl_enabled = 0 # 關閉60FPS限制 framebuffer = 0x74000000 # 分配2GB VRAM framebuffer_reservation = 0xC000000 # 分配2GB VRAM #[mdev.UUID] 還可以進一步針對個別UUID的medv裝置調整，限定使用這個mdev裝置的虛擬機所能分到的資源 取得NVIDIA GPU的PCI位址 lspci | grep NVIDIA 新增mdev裝置，後面依序填入UUID、PCI位址、vGPU設定檔，並設定開機自動啟動。 sudo mdevctl define --parent 0000:01:00.0 --type nvidia-52 --auto sudo mdevctl start --uuid \u0026#34;填入上面生成的UUID\u0026#34; --parent \u0026#34;0000:01:00.0\u0026#34; --type \u0026#34;nvidia-52\u0026#34; mdev裝置可依照虛擬機數量新增多個，但必須使用同一個設定檔。像我這裡要給兩個虛擬機使用，就再生一個mdev裝置出來。 sudo mdevctl define --parent 0000:01:00.0 --type nvidia-52 --auto sudo mdevctl start --uuid \u0026#34;填入上面生成的UUID\u0026#34; --parent \u0026#34;0000:01:00.0\u0026#34; --type \u0026#34;nvidia-52\u0026#34; 若要移除medv裝置請用此指令： sudo mdevctl list --defined sudo mdevctl undefine --uuid \u0026#34;填入UUID\u0026#34; 開啟Virt Manager，點選編輯虛擬機硬體，新增mdev裝置 編輯mdev裝置的XML，調整為以下內容\n\u0026lt;hostdev mode=\u0026#34;subsystem\u0026#34; type=\u0026#34;mdev\u0026#34; managed=\u0026#34;yes\u0026#34; model=\u0026#34;vfio-pci\u0026#34; display=\u0026#34;on\u0026#34; ramfb=\u0026#34;on\u0026#34;\u0026gt; \u0026lt;source\u0026gt; \u0026lt;address uuid=\u0026#34;填入UUID\u0026#34;/\u0026gt; \u0026lt;/source\u0026gt; \u0026lt;alias name=\u0026#34;hostdev0\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x02\u0026#34; slot=\u0026#34;0x00\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/hostdev\u0026gt; 8. 架設vGPU授權伺服器 # 「FastAPI-DLS」用於偽造Nvidia授權認證伺服器，使用Docker架設在宿主機或其他電腦，即可給虛擬機內的Nvidia驅動啟用授權。單次授權有效期間約是90天。\n建立自簽SSL憑證 WORKING_DIR=/home/user/fastapi-dls/cert mkdir -p $WORKING_DIR cd $WORKING_DIR openssl genrsa -out $WORKING_DIR/instance.private.pem 2048 openssl rsa -in $WORKING_DIR/instance.private.pem -outform PEM -pubout -out $WORKING_DIR/instance.public.pem openssl req -subj \u0026#39;/CN=issuer\u0026#39; -x509 -nodes -days 3650 -newkey rsa:2048 -keyout $WORKING_DIR/webserver.key -out $WORKING_DIR/webserver.crt cd ../ 新增docker-compose.yml version: \u0026#39;3.9\u0026#39; x-dls-variables: \u0026amp;dls-variables TZ: Asia/Taipei # 修改時區 DLS_URL: localhost # 修改IP DLS_PORT: 443 LEASE_EXPIRE_DAYS: 90 # 90 days is maximum DATABASE: sqlite:////app/database/db.sqlite DEBUG: false services: dls: image: collinwebdesigns/fastapi-dls:latest restart: always environment: \u0026lt;\u0026lt;: *dls-variables ports: - \u0026#34;443:443\u0026#34; volumes: - /home/user/fastapi-dls/cert/:/app/cert - dls-db:/app/database logging: driver: \u0026#34;json-file\u0026#34; options: max-file: 5 max-size: 10m volumes: dls-db: 啟動容器 sudo docker compose up -d 9. 在Linux虛擬機安裝vGPU GRID驅動 # 註：我取得的GRID驅動版本跟宿主機的vGPU驅動不太一樣，但還是可以裝。\n將GRID驅動傳送到Linux虛擬機內部，例如用scp指令傳\n在虛擬機內安裝編譯依賴套件，將nouveau核心模組加入黑名單\nsudo apt install git build-essential dkms mdevctl linux-headers-$(uname -r) echo \u0026#34;blacklist nouveau\u0026#34; | sudo tee -a /etc/modprobe.d/blacklist.conf sudo update-initramfs -k all -u sudo reboot 安裝vGPU GRID驅動 chmod +x NVIDIA-Linux-x86_64-535.183.06-grid.run sudo ./NVIDIA-Linux-x86_64-535.183.06-grid.run 設定跟宿主機一樣的時區 sudo timedatectl set-timezone Asia/Taipei 連線到自架的伺服器，取得授權碼 sudo curl --insecure -L -X GET https://宿主機IP:通訊埠/-/client-token -o /etc/nvidia/ClientConfigToken/client_configuration_token_$(date \u0026#39;+%d-%m-%Y-%H-%M-%S\u0026#39;).tok sudo systemctl restart nvidia-gridd 確認授權狀態 nvidia-smi -q | grep License 如果要在Linux虛擬機裡面安裝CUDA，得用.run執行檔的方式安裝，不可以使用套件管理器。 另外，Linux宿主機依然可以安裝CUDA和使用NVENC，但是vGPU的驅動無法輸出螢幕畫面，也不能用Nvidia PRIME進行3D算繪，因此宿主機不能玩遊戲了。\n10. 在Windows虛擬機安裝vGPU GRID驅動 # 註：我取得的GRID驅動版本跟宿主機的vGPU驅動不太一樣，但還是可以裝。我在Windows 11安裝驅動會出現Error 43錯誤，可能是驅動不適合？或者與巢狀Hyper-V衝突？所以才用Windows Server。\n使用Virt Manager安裝Windows 11虛擬機。Windows Server 2022的安裝過程大致相同。\n分配mdev裝置，將虛擬機開機。\n確認Windows的裝置管理員出現GPU。 Nvidia vGPU的驅動不能用GeForce Experience安裝，需要手動將我們之前下載的_grid.exe傳到虛擬機內部安裝。\n安裝驅動 之後，裝置管理員應該就會顯示GPU型號。 在Windows以系統管理員開啟終端機，執行以下指令，連線到自架的認證伺服器，取得授權碼。若\u0026quot;C:\\Program Files\\NVIDIA Corporation\\vGPU Licensing\\ClientConfigToken\\資料夾不存在就手動新增。\ncurl.exe --insecure -L -X GET https://宿主機IP:通訊埠/-/client-token -o \u0026#34;C:\\Program Files\\NVIDIA Corporation\\vGPU Licensing\\ClientConfigToken\\client_configuration_token_$($(Get-Date).tostring(\u0026#39;dd-MM-yy-hh-mm-ss\u0026#39;)).tok\u0026#34; Restart-Service NVDisplay.ContainerLocalSystem 確認授權狀態 nvidia-smi.exe -q | Select-String License 參考資料 # NVIDIA Virtual GPU (vGPU) Software - NVIDIA Docs GPU virtualization with QEMU/KVM - Ubuntu Server tutorials NVIDIA vGPU on Proxmox VE - Proxmox VE Wiki PolloLoco / NVIDIA vGPU Guide - GitLab mbilker/vgpu_unlock-rs: Unlock vGPU functionality for consumer grade GPUs - Github FastAPI-DLS - Oscar Krause - GitLab 朵拉云 - Proxmox 7.4 使用vgpu_unlock，为GTX1060开启vGPU支持 Linux解锁NVIDIA消费级显卡vGPU功能的入坑记录 - ByteHorizon 在Proxmox VE下开启vGPU - Tesla P4为例 - 雾时の森 vGPU快速起步— Cloud Atlas beta 文档 ","date":"2024年10月17日","externalUrl":null,"permalink":"/posts/ubuntu-libvirt-nvidia-vgpu-unlock/","section":"所有文章","summary":" vGPU (Virtual GPU) 為Nvidia推出的GPU虛擬化技術，能夠將Linux上的一張GPU顯示卡分配給多個虛擬機使用，如此一來可提昇QEMU/KVM虛擬機的圖形效能。\n圖例，Linux宿主機與Windows虛擬機共享GPU 圖例，Linux宿主機與Linux虛擬機共享GPU 「GPU虛擬化」跟「GPU直通」不一樣，後者是直接將Linux宿主機的GPU封印，透過VFIO分配給虛擬機使用，一次只能有一個虛擬機使用GPU，宿主機無法存取GPU。\n相關文章：Ubuntu Nvidia GPU直通Windows QEMU/KVM虛擬機 若是採用GPU虛擬化的話，宿主機就能和虛擬機共享同一個GPU的資源了。宿主機的GPU可以分割給多個虛擬機使用，這樣就能讓多個虛擬機跑CUDA啦。 Nvidia官方發表的vGPU原理圖\n不過，目前Nvidia官方僅將vGPU功能開放給伺服器GPU使用，而且需要購買授權。一般消費級的Nvidia GPU雖然硬體支援vGPU，但是vGPU是無法使用的。故我們得使用第三方開發者製作的「vgpu_unlock」程式解鎖該功能，並用自架的「FastAPI-DLS」伺服器取得Nvidia vGPU的授權。\n網路上有關這方面操作的教學多半是跑Proxmox，我參考了Nvidia和Ubuntu的官方文件，將其轉化為Ubuntu + QEMU/KVM + Libvirt的版本，可供Ubuntu桌面版用戶參考。\n","title":"Ubuntu使用vgpu_unlock解鎖NVIDIA vGPU，給QEMU/KVM虛擬機啟用GPU虛擬化","type":"posts"},{"content":"從Windows轉到Ubuntu Linux的用戶，想必會遇到NTFS硬碟無法讀取的問題吧。Microsoft Windows系統所建立的檔案系統稱作NTFS，而Linux的檔案系統主要是EXT4、BTRFS這類的。由於NTFS是專有格式，那麼Linux讀取NTFS就會出問題，甚至根本讀不到。\n要解決Linux讀不到NTFS硬碟的問題，我們可以安裝「NTFS-3G」開源驅動解決這個問題，透過在userpsace執行的FUSE檔案系統，它能讓Linux掛載NTFS格式的硬碟並進行讀寫，還支援解密BitLocker加密過的硬碟。 NTFS-3G這個套件Ubuntu、Arch Linux、Fedora、openSUSE等主流發行版都有收，甚至macOS也能裝。\n註：雖然NTFS-3G驅動的相容性這幾年來已經改進了許多，但NTFS畢竟是專有格式，開源驅動無法100%相容所有功能，建議別把重要的Linux程式放在NTFS的磁碟跑，NTFS僅用來儲存資料就好。\nNTFS3 vs NTFS-3G？ # NTFS3為Paragon Software於2021年推出的核心模組，直接在Linux核心執行，相對在userspace執行的NTFS-3G有更好的效能。NTFS3最早於Linux Kernel 5.15加入，一些Linux發行版會將NTFS3這個模組編譯到核心裡面，這點可以用grep CONFIG_NTFS3_FS /boot/config-*指令確認。\n可是NTFS3自從推出以來欠缺維護，於是Linux Kernel 7.1有了新的「NTFSPlus」，取代NTFS3。\n撰文當下要滾動發行版才有以上的東西，Ubuntu 26.04 LTS和Debian 13還無法使用。所以我們還是用相對穩定的NTFS-3G吧。\n1. 取得NTFS-3G套件 # NTFS-3G於2006年推出，現由Tuxera公司維護，原始碼位於Github。\n不需要從原始碼編譯，請直接開啟終端機，用你系統的套件管理員安裝即可。\nUbuntu LTS / Debian Stable：\nsudo apt install ntfs-3g Arch Linux / Manjaro：\nsudo pacman -S ntfs-3g Fedora / RHEL / Rocky Linux：\nsudo dnf install ntfs-3g openSUSE：\nsudo zypper install ntfs-3g 2. 掛載NTFS硬碟（圖形界面） # 裝好NTFS-3G套件後重開機，桌面環境的檔案管理器應會自動偵測到硬碟了。\nGNOME：\nNTFS硬碟應該會顯示在檔案管理員的「其他位置」或者左側欄位，用容量判斷，點選掛載。 之後，你可以用GNOME的公用程式 → 磁碟(Disk)程式 → 編輯掛載選項，設定開機自動掛載NTFS硬碟。 KDE Plasma：\nNTFS硬碟應該會顯示在檔案管理員的左側的「裝置」欄位，點選掛載。 在KDE系統設定 → 可移除的儲存裝置，設定開機自動掛載NTFS硬碟。 3. 掛載NTFS硬碟（命令行） # 使用lsblk指令列出所有硬碟，Linux硬碟通常都是用/dev/sdX或者/dev/nvme0X表示，例如我這裡的硬碟是/dev/sdd sudo lsblk 確認該硬碟的檔案系統是否為NTFS sudo lsblk -no FSTYP /dev/sdd 將其掛載到Linux的/run/media/使用者名稱/ntfs-disk sudo mkdir /run/media/$USER/ntfs-disk/ sudo mount -t ntfs3 /dev/sdd /run/media/$USER/ntfs-disk/ 若要設定開機自動掛載，編輯/etc/fstab sudo vim /etc/fstab 將以上的掛載資訊寫上去。 /dev/sdd /run/media/使用者名稱/ntfs-disk/ ntfs-3g\tdefaults\t0\t0 4. 在Linux格式化NTFS硬碟 # 安裝GParted\n選擇要格式化的硬碟，通常Gparted上面會寫這個硬碟的檔案系統為何，由此可知這就是你要修改的NTFS硬碟。 開啟後選取裝置 → 新增分割表，選GPT。再選新增分割區，檔案系統選NTFS，按打勾開始格式化。 至於如何在Linux用BitLocker加密NTFS硬碟？嗯，目前好像沒有此類軟體出現～不過你倒是可以用跨平台的硬碟加密軟體VeraCrypt，替代只有Windows才能用的BitLocker。\n","date":"2024年10月15日","externalUrl":null,"permalink":"/posts/mount-ntfs-drives-on-linux/","section":"所有文章","summary":"從Windows轉到Ubuntu Linux的用戶，想必會遇到NTFS硬碟無法讀取的問題吧。Microsoft Windows系統所建立的檔案系統稱作NTFS，而Linux的檔案系統主要是EXT4、BTRFS這類的。由於NTFS是專有格式，那麼Linux讀取NTFS就會出問題，甚至根本讀不到。\n要解決Linux讀不到NTFS硬碟的問題，我們可以安裝「NTFS-3G」開源驅動解決這個問題，透過在userpsace執行的FUSE檔案系統，它能讓Linux掛載NTFS格式的硬碟並進行讀寫，還支援解密BitLocker加密過的硬碟。 NTFS-3G這個套件Ubuntu、Arch Linux、Fedora、openSUSE等主流發行版都有收，甚至macOS也能裝。\n註：雖然NTFS-3G驅動的相容性這幾年來已經改進了許多，但NTFS畢竟是專有格式，開源驅動無法100%相容所有功能，建議別把重要的Linux程式放在NTFS的磁碟跑，NTFS僅用來儲存資料就好。\nNTFS3 vs NTFS-3G？ # NTFS3為Paragon Software於2021年推出的核心模組，直接在Linux核心執行，相對在userspace執行的NTFS-3G有更好的效能。NTFS3最早於Linux Kernel 5.15加入，一些Linux發行版會將NTFS3這個模組編譯到核心裡面，這點可以用grep CONFIG_NTFS3_FS /boot/config-*指令確認。\n","title":"Ubuntu如何讀取Windows的NTFS硬碟＆開機自動掛載","type":"posts"},{"content":"分享Linux擷取卡搭配OBS Studio錄影，以及調整擷取卡畫面的心得。\n有時候Ivon在資源有限的硬體跑一些比較吃效能的遊戲時，就會遇到螢幕錄影搶資源的情況，例如樹莓派Box86跑Steam遊戲，或者iPad UTM跑Steam遊戲。\n只要一開螢幕錄影軟體，就會導致遊戲效能下降。所以Ivon想要用外部的方法來進行錄影，也就是說錄影不會佔用該裝置的資源。可是，不論是AirPlay投放，還是遠端桌面，都會有無線延遲的問題。那麼要取得最好的畫面品質，果然還是得用擷取卡了吧。\n擷取卡(captrue card，採集卡)能將裝置HDMI輸出的畫面捕捉下來，並透過USB傳送到Linux電腦，如此一來我們就能用OBS Studio錄製擷取卡的畫面。這個時候錄影軟體是在電腦上運算，就不會佔用該裝置的資源了。\n此外，由於Linux有「v4l2」的模組，可以額外給擷取卡畫面做一些後製效果，比如套用濾鏡、用AI放大畫面等等。\n1. 準備USB擷取卡與HDMI線材 # 市面上有很多便宜的USB擷取卡，單一裝置錄影買擷取卡就夠了，沒必要用到擷取盒。\n我個人是買支援4K@30輸入、1080@60輸出的擷取卡，不考慮HDR。為了降低延遲選支援USB 3.0的版本。\nLinux核心支援UVC (USB Video Class) 驅動，擷取卡只要符合UVC標準應該不會出現Linux沒驅動的狀況。不過買之前還是詳細了解一下產品資訊比較好。\n接著依照裝置HDMI的接口，購買不同的HDMI線材。\n比如我的iPad是使用包含HDMI輸出的Type-C擴充座，能夠輸出畫面兼充電，那麼只要再準備一條「HDMI公對公」的線即可。\n樹莓派的話需要買micro-HDMI轉HDMI的轉接器，再接上一條HDMI公對公的線。\n2. 將擷取卡插到Linux電腦 # 這個擷取卡是HDMI母頭，用於接收HDMI輸入的訊號；另一頭USB是接電腦USB的。\n以iPad為例，插上Type-C擴充座，再將HDMI線插上，並將HDMI線連接到擷取卡，如下圖： 再將擷取卡的USB端插到電腦的USB\nUbuntu用lsusb指令可以看到擷取卡的硬體資訊 如何存取擷取卡畫面呢？最簡單的方式是透過VLC播放器，點選「開啟擷取裝置」即可看到擷取卡的畫面。 3. 使用OBS Studio錄製擷取卡畫面 # 使用UVC驅動的擷取卡其實等同一部Webcam，所以能用Linux的v4l2工具調整傳入的畫面。\n在Linux安裝OBS Studio與v4l2模組\n開啟OBS Studio，新增擷取影像裝置(V4L2)。 在這裡你可以調整解析度和FPS。 至於擷取卡音效部分，點選新增擷取音效輸入(PulseAudio) 除非是有DRM保護（HDCP）的內容，不然應該都能錄影。如果錄製影片的顏色怪異可能得關掉錄影來源裝置的HDR。因為目前Linux桌面要KDE Plasma 6.0或GNOME 48以上才有HDR支援，不符合條件的話螢幕顏色會不正確。\nOBS Studio錄影的時候聽不到聲音，但是錄出來的影片是確實包含擷取卡音效的。\n4. 用AI放大擷取卡畫質 # 擷取卡輸出只有1080p？用AI將畫質提升到4K！ ＊僅適用動漫畫圖像。\n安裝MPV與Anime4K。有需要補幀的話再裝MVTools\n利用v4l2找出擷取卡影像裝置\nv4l2-ctl --list-devices 利用PulseAudio找出擷取卡的音訊裝置 pactl list sources | grep USB 執行指令，讓MPV抓取擷取卡畫面 mpv av://v4l2:/dev/video0 --audio-file=av://alsa:hw:1,0 --profile=low-latency 如此一來你就能用Anime4K的快捷鍵，提高來源畫質了～ 不過MPV似乎沒辦法順利播放聲音的說。 參考資料 # [Windows/Linux] GC553 的 Switch 完美采集之路 - Yesterday17\u0026rsquo;s Blog v4l2loopback - ArchWiki [心得] 透過MPV使用影像擷取卡提升switch畫質 - 看板PC_Shopping 文章列表- 批踢踢實業坊 ","date":"2024年10月15日","externalUrl":null,"permalink":"/posts/linux-uvc-capture-card/","section":"所有文章","summary":"分享Linux擷取卡搭配OBS Studio錄影，以及調整擷取卡畫面的心得。\n有時候Ivon在資源有限的硬體跑一些比較吃效能的遊戲時，就會遇到螢幕錄影搶資源的情況，例如樹莓派Box86跑Steam遊戲，或者iPad UTM跑Steam遊戲。\n只要一開螢幕錄影軟體，就會導致遊戲效能下降。所以Ivon想要用外部的方法來進行錄影，也就是說錄影不會佔用該裝置的資源。可是，不論是AirPlay投放，還是遠端桌面，都會有無線延遲的問題。那麼要取得最好的畫面品質，果然還是得用擷取卡了吧。\n擷取卡(captrue card，採集卡)能將裝置HDMI輸出的畫面捕捉下來，並透過USB傳送到Linux電腦，如此一來我們就能用OBS Studio錄製擷取卡的畫面。這個時候錄影軟體是在電腦上運算，就不會佔用該裝置的資源了。\n此外，由於Linux有「v4l2」的模組，可以額外給擷取卡畫面做一些後製效果，比如套用濾鏡、用AI放大畫面等等。\n1. 準備USB擷取卡與HDMI線材 # 市面上有很多便宜的USB擷取卡，單一裝置錄影買擷取卡就夠了，沒必要用到擷取盒。\n我個人是買支援4K@30輸入、1080@60輸出的擷取卡，不考慮HDR。為了降低延遲選支援USB 3.0的版本。\n","title":"Linux使用USB擷取卡，搭配OBS Studio錄製遊戲HDMI輸出的畫面","type":"posts"},{"content":"本文Ivon討論如何在ARM架構的樹莓派跑x86架構的Steam客戶端，遊玩x86架構的Windows遊戲。\n這裡講的不是安裝Steam Link遠端串流，而是真正在樹莓派直接跑遊戲。嗯？這塊小板子的硬體撐得住嗎？可以的，樹莓派4代以後就能玩2D遊戲了，5代要玩些3D小遊戲更是沒問題。\n圖例：在Raspberry Pi 5遊玩《Helltaker》遊戲 圖例：在Raspberry Pi 5遊玩《POSTAL 2》遊戲 同樣是Linux系統，樹莓派的Steam安裝過程會比在一般Linux電腦複雜，因為Steam的遊戲大部分都是x86架構，就連Steam客戶端本身也只支援x86架構，那麼在以ARM為主的樹莓派Linux系統便會遇到無法執行的難題。\n所幸現在有了轉譯方案，我們可以透過ptitSeb研發的開源Box86與Box64程式，讓x86架構的遊戲程式能在ARM架構的系統上執行，效能還不會損失太多！\n1. 測試環境 # Raspberry Pi 5 8GB Raspberry Pi OS 12 Bookworm Box86 0.3.6 Box64 0.3.0 玩遊戲建議接上實體螢幕與鍵鼠操作。若要用遠端桌面請使用支援GPU加速的RustDesk。\n2. 安裝Box86與Box64 # 請先安裝Box86與Box64，記得向binfmt註冊。\nLinux版Steam客戶端本身是32位元程式，所以必須用Box86安裝。但是很多Steam遊戲都是64位元的，所以你得裝Box64。\n3. 安裝Steam客戶端 # 利用Box86原始碼儲存庫提供的指令稿即可完成安裝 cd box86 ./install_steam.sh 執行Steam，Box86會自動跳出來轉譯 steam 等待依賴套件裝完。如果Steam啟動的時候崩潰，嘗試停用Steam Client WebHelper的GPU加速。\n開啟後就能下載遊戲了。具體能跑什麼遊戲呢？因為這裡是用Box86轉譯執行的，請先看Box86相容性清單，再參考電腦ProtonDB的資料。 如果Steam下載原生支援Linux系統的遊戲，執行的時候box86會自動跳出來轉譯。若下載Windows遊戲，請參考Linux版Steam使用教學，到Steam設定「強制啟用相容性工具」，Steam就會在下載Winows遊戲的時候自動幫你裝好Proton相容層。\n遊戲若是打不開，請觀察Steam終端機輸出的訊息，然後到Github搜尋錯誤訊息。我有遇到Steam無法按右鍵的bug，這個時候配合Shift一起按就能解決。\n這裡提供另一個啟動Steam的方法，以下指令僅會開啟收藏庫的遊戲迷你列表，如此一來可減少Steam客戶端佔用的系統資源。\nsteam steam://open/minigameslist 另一種方法是用命令行啟動遊戲：\nsteam steam://rungameid/1289310 4. 3D遊戲的Vulkan問題 # Steam的2D遊戲玩起來應該沒問題，但3D遊戲就會牽扯到Vulkan驅動。\nWine在執行Windows exe的時候會透過WINED3D將DirectX的繪圖指令轉成OpenGL；而Steam Proton因為內建DXVK，會將DirectX轉成Vulkan提供更好的效能。\nBox86會自動使用宿主機Vulkan驅動，讓轉譯的遊戲支援GPU加速。\n安裝以下套件取得Vulkan驅動 sudo apt install libgdm1:armhf libudev1:armhf libgl1-mesa-dri:armhf libglapi-mesa:armhf libglu1-mesa:armhf libglx-mesa0:armhf mesa-va-drivers:armhf mesa-vdpau-drivers:armhf mesa-vulkan-drivers:armhf libsdl1.2debian:armhf libegl-mesa0:armhf sudo apt install mesa-vulkan-drivers 確認宿主機Vulkan驅動狀態 vulkaninfo --summary 可惜的是，根據Box86開發者所述，Raspberry Pi 4、Raspberry Pi5的Vulkan驅動目前尚不支援Steam Proton內建的DXVK，故需要對Steam收藏庫的遊戲按右鍵 → 內容，編輯啟動選項，設定環境變數PROTON_USE_WINED3D=1 %command%，改回使用WINED3D，也就是將DirectX轉譯為OpenGL的作法。如此遊戲才能開啟。 另一種可能讓DXVK跑起來的方式：加入環境變數MESA_LOADER_DRIVER_OVERRIDE=zink，使用Mesa的Zink驅動，它能將OpenGL的指令轉譯成Vulkan。不過這個尚屬於實驗性驅動。\n若Raspberry Pi的OpenGL版本太低，Unity遊戲可能不給跑，或是出現缺少DirectX的錯誤。這時得在啟動遊戲的環境變數加上MESA_GL_VERSION_OVERRIDE=3.2，強制覆寫系統的OpenGL版本。\n如果原生支援Linux的遊戲開不起來，請讓Steam強制下載Windows版本（相容性 → 強制啟用相容性工具）再用Proton跑。\n儘管做了以上措施，我發現還是有些遊戲無法執行，且把OpenGL版本提昇過高會造成遊戲圖形錯誤。\n5. 安裝Protontricks與ProtonUp-QT # ProtonUp-QT是下載第三方維護的Proton的工具。\n使用Python虛擬環境安裝：\ngit clone https://github.com/DavidoTek/ProtonUp-Qt.git cd ProtonUp-Qt python3 -m venv venv source venv/bin/activate pip3 install -r ./requirements.txt sudo apt install libxcb-cursor0 執行程式：\npython3 -m pupgui2 指定要下載的Proton-GE就行。 雖然Protontricks讀不到經由Box86 Steam安裝的遊戲，但是下載好Proton-GE後便能在Steam客戶端切換。 Protontricks功能等同Winetricks，方便我們安裝字體與打patch。\n用pipx安裝：\nsudo apt install pipx pipx install protontricks 再用以下指令啟動：\nprotontricks --gui --no-bwrap 選取要修改的遊戲即可操作。 參考資料 # How to install Steam on Raspberry Pi - XDA Box86 - Linux Userspace x86 Emulator with a twist, targeted at ARM Linux devices ","date":"2024年10月14日","externalUrl":null,"permalink":"/posts/box86-steam-raspberry-pi/","section":"所有文章","summary":"本文Ivon討論如何在ARM架構的樹莓派跑x86架構的Steam客戶端，遊玩x86架構的Windows遊戲。\n這裡講的不是安裝Steam Link遠端串流，而是真正在樹莓派直接跑遊戲。嗯？這塊小板子的硬體撐得住嗎？可以的，樹莓派4代以後就能玩2D遊戲了，5代要玩些3D小遊戲更是沒問題。\n圖例：在Raspberry Pi 5遊玩《Helltaker》遊戲 圖例：在Raspberry Pi 5遊玩《POSTAL 2》遊戲 同樣是Linux系統，樹莓派的Steam安裝過程會比在一般Linux電腦複雜，因為Steam的遊戲大部分都是x86架構，就連Steam客戶端本身也只支援x86架構，那麼在以ARM為主的樹莓派Linux系統便會遇到無法執行的難題。\n所幸現在有了轉譯方案，我們可以透過ptitSeb研發的開源Box86與Box64程式，讓x86架構的遊戲程式能在ARM架構的系統上執行，效能還不會損失太多！\n1. 測試環境 # Raspberry Pi 5 8GB Raspberry Pi OS 12 Bookworm Box86 0.3.6 Box64 0.3.0 玩遊戲建議接上實體螢幕與鍵鼠操作。若要用遠端桌面請使用支援GPU加速的RustDesk。\n2. 安裝Box86與Box64 # 請先安裝Box86與Box64，記得向binfmt註冊。\n","title":"樹莓派玩Windows遊戲，Box86＋Steam安裝教學","type":"posts"},{"content":"Running aarch64 QEMU/KVM virtual machines on aarch64 Raspberry Pi host.\n討論如何在ARM架構的Raspberry Pi執行另外一個系統的虛擬機。\n如果你是想要在x86架構電腦用QEMU模擬ARM架構的樹莓派請看這篇。\nRaspberry Pi執行的是Linux系統，自然能夠跑Docker、Podman、LXC這類容器技術，那麼有沒有可能跑虛擬機呢？可以。x86架構平台常用的Virt Manager＋QEMU/KVM也能在ARM架構使用，並且能夠使用KVM核心模組加速虛擬機執行。\n類似專案還有非官方移植的jiangcuo/Proxmox-Port套件，可將樹莓派變成Proxmox系統。\n本文Ivon採取的是比較簡陋的作法，直接裝Libvirt與QMEU套件。\n1. 環境 # 開發板：Raspberry Pi 5 系統版本：Raspberry Pi OS 12，核心版本6.6.42-v8-16k+ 虛擬機系統：Alpine Linux ARM 考慮到虛擬機的硬碟存取速度，Raspberry Pi的系統最好安裝在SSD，或者至少虛擬機的qcow2虛擬磁碟得放在SSD分區讀取速度才會快。\n另外Raspberry Pi 5的CPU老實說也不是很快，所以執行虛擬機的效率可能不如容器要好。\n2. 安裝Libvirt套件 # 安裝以下套件 sudo apt install qemu-system libguestfs-tools libvirt-clients libvirt-daemon-system bridge-utils virt-manager ovmf swtpm 調整使用者權限 sudo usermod -a -G libvirt $USER sudo usermod -a -G kvm $USER sudo usermod -a -G input $USER 設定開機自動啟用虛擬機服務 sudo systemctl enable libvirtd sudo systemctl start libvirtd sudo virsh net-start default sudo virsh net-autostart default 檢查KVM存在與否 ls /dev/kvm 編輯/boot/firmware/cmdline.txt，在開機核心參數末端加入以下內容 cgroup_enable=cpuset cgroup_enable=devices cgroup_enable=freezer cgroup_enable=memory cgroup_memory=1 重開機，執行virt-host-validate指令，確認QEMU部份全部都有PASS，環境符合Libvirt需求。 3. Virt Manager新增Linux虛擬機 # 請用Cockpit或者Virt Manager SSH遠端控制樹莓派上的虛擬機。\n關於作業系統系統架構部分，QEMU/KVM只能跑同為ARM64架構的虛擬機，模擬x86架構會非常慢。\n鑒於Windows 11 ARM安裝起來比較麻煩，而且吃效能，所以使用小巧的Alpine Linux ARM測試吧！\n到Alpine Linux ARM官網複製ISO下載連結，下載。 sudo wget https://dl-cdn.alpinelinux.org/alpine/v3.20/releases/aarch64/alpine-standard-3.20.2-aarch64.iso 不知為何，Cockpit嘗試啟動虛擬機沒多久後，Raspberry Pi系統就會整個當掉無回應，可能是bug？所以我用Virt Manager新增虛擬機。\n虛擬機架構選aarch64，UEFI韌體選/usr/share/AAVMF/AAVMF_CODE.fd 開機後登入root帳號，執行setup-alpine指令稿，完成Alpine Linux系統安裝。\n4. QEMU純指令開機 # 本節是方便除錯用的開機方法。\n建立虛擬硬碟 qemu-img create -f qcow2 alpine.qcow2 32G 建立儲存EFI VARS的二個檔案 truncate -s 64m varstore.img truncate -s 64m efi.img dd if=/usr/share/qemu-efi-aarch64/QEMU_EFI.fd of=efi.img conv=notrunc 啟動虛擬機，以下指令會進入純文字安裝界面 qemu-system-aarch64 -M virt \\ -enable-kvm \\ -cpu host \\ -smp sockets=1,cores=4,threads=1 \\ -m 2048 \\ -drive if=pflash,format=raw,file=\u0026#34;efi.img\u0026#34;,readonly \\ -drive if=pflash,format=raw,file=\u0026#34;varstore.img\u0026#34; \\ -device virtio-net-pci,netdev=net0,romfile=\u0026#34;\u0026#34; \\ -netdev type=user,id=net0 \\ -object rng-random,filename=/dev/urandom,id=rng0 \\ -device virtio-rng-pci,rng=rng0 \\ -device virtio-blk-pci,drive=drv0 \\ -drive format=qcow2,file=\u0026#34;alpine.qcow2\u0026#34;,if=none,id=drv0 \\ -nographic \\ -device virtio-scsi \\ -device scsi-cd,drive=cd \\ -drive if=none,id=cd,file=\u0026#34;alpine-standard-3.20.2-aarch64.iso\u0026#34; 參考資料 # Running Virtual Machines on Raspberry Pi 4 with Wireless Bridging using KVM by Palash Oswal Boot ARM64 virtual machines on QEMU - Ubuntu Server documentation QEMU 模拟aarch64虚拟机中安装ubuntu arm版系统 - micoder.cc ","date":"2024年10月14日","externalUrl":null,"permalink":"/posts/raspberry-pi-qemu-kvm/","section":"所有文章","summary":"Running aarch64 QEMU/KVM virtual machines on aarch64 Raspberry Pi host.\n討論如何在ARM架構的Raspberry Pi執行另外一個系統的虛擬機。\n如果你是想要在x86架構電腦用QEMU模擬ARM架構的樹莓派請看這篇。\nRaspberry Pi執行的是Linux系統，自然能夠跑Docker、Podman、LXC這類容器技術，那麼有沒有可能跑虛擬機呢？可以。x86架構平台常用的Virt Manager＋QEMU/KVM也能在ARM架構使用，並且能夠使用KVM核心模組加速虛擬機執行。\n類似專案還有非官方移植的jiangcuo/Proxmox-Port套件，可將樹莓派變成Proxmox系統。\n本文Ivon採取的是比較簡陋的作法，直接裝Libvirt與QMEU套件。\n1. 環境 # 開發板：Raspberry Pi 5 系統版本：Raspberry Pi OS 12，核心版本6.6.42-v8-16k+ 虛擬機系統：Alpine Linux ARM 考慮到虛擬機的硬碟存取速度，Raspberry Pi的系統最好安裝在SSD，或者至少虛擬機的qcow2虛擬磁碟得放在SSD分區讀取速度才會快。\n另外Raspberry Pi 5的CPU老實說也不是很快，所以執行虛擬機的效率可能不如容器要好。\n2. 安裝Libvirt套件 # 安裝以下套件 sudo apt install qemu-system libguestfs-tools libvirt-clients libvirt-daemon-system bridge-utils virt-manager ovmf swtpm 調整使用者權限 sudo usermod -a -G libvirt $USER sudo usermod -a -G kvm $USER sudo usermod -a -G input $USER 設定開機自動啟用虛擬機服務 sudo systemctl enable libvirtd sudo systemctl start libvirtd sudo virsh net-start default sudo virsh net-autostart default 檢查KVM存在與否 ls /dev/kvm 編輯/boot/firmware/cmdline.txt，在開機核心參數末端加入以下內容 cgroup_enable=cpuset cgroup_enable=devices cgroup_enable=freezer cgroup_enable=memory cgroup_memory=1 重開機，執行virt-host-validate指令，確認QEMU部份全部都有PASS，環境符合Libvirt需求。 3. Virt Manager新增Linux虛擬機 # 請用Cockpit或者Virt Manager SSH遠端控制樹莓派上的虛擬機。\n","title":"在樹莓派5跑ARM64架構的QEMU/KVM Linux虛擬機","type":"posts"},{"content":"介紹一些Ivon覺得好用的自由及開放原始碼(FOSS) 的iOS APP，適用iPhone與iPad。 這些都是我實際用過並覺得好用才放進列表的，有些用途太狹隘或者設計不良的APP並不會包含進去。\n我了解，iOS生態不可能全開源，尤其很多日常用的辦公軟體都沒有替代品，但是Ivon盡量做到不依賴閉源軟體。 尤其是綁死一個系統才能使用的軟體。 希望最重要的資料可以在各大作業系統之間互通有無，包括我最重要的的筆記。\n開源APP列表 # Joplin：跨平台筆記兼待辦事項，類似Evernote，支援加密雲端同步，提供簡易手寫筆記。\nAFFiNE：跨平台知識管理工具，類似Notion + Milo + Heptabase。\nSaber：跨平台手寫筆記，支援標註PDF、插入圖片、Nextcloud雲端同步。\nBrave Browser：擋廣告專用的瀏覽器，支援背景播放YouTube 。\nFirefox：跨平台的開源瀏覽器。不是很推薦，因為是它的功能是各個瀏覽器中最少的。且擋廣告功能只有Firefox Focus有。\nBitWarden：跨平台同步密碼。\nFloccus：跨平台同步瀏覽器書籤。\nCollabora Office：Microsoft Office替代品，類似LibreOffice。適合開啟odt文件。\nOnlyOffice：Microsoft Office替代品。\nVLC：離線影片兼音樂播放器，支援背景播放。\nKDE Connect：跨平台傳檔案，共享剪貼簿。\nLocalSend：跨平台檔案分享。\nBlockada：全域擋廣告DNS，需要付費。其實用Brave就夠了。\nTailscale：內網穿透VPN，基於WireGuard開發。\nRustDesk：可自架的遠端桌面。\nMoonlight Game Streaming：遠端桌面兼雲端遊戲。\niSH Shell：32位元Alpine Linux模擬器，用終端機跑ssh、vim、yt-dlp、ffmpeg、Python之類的指令小工具。因為是32位元環境問題很多，很多程式跑不起來。\na-Shell：終端機，功能類似iSH Shell但效能更好。但是無法自由安裝套件，只能用作者提供的。\nBlink Shell：專業級的終端機APP，可以搭配VSCode使用。雖然開源但是App Store版本是訂閱制軟體。不爽就自行編譯IPA。\nCode App by thebaselab：介面長得很像Visual Studio Code的IDE，內建Git與終端機，支援編譯原生Python、NodeJS、PHP、C、Java程式。App Store版為付費軟體。不爽就自己編譯IPA。\n「仓」输入法：跨平臺的RIME輸入法框架。\n（側載）UTM：跑完整Linux環境之用，大部分電腦的軟體都能正常執行。App Store上架的UTM SE速度太慢，建議使用搭載JIT的側載版本。\n（側載）AltStore：用於安裝第三方IPA，APP安裝後7天內要重簽。\n（側載）Fcitx5-iOS：跨平臺的輸入法框架。\n（側載）Feather iOS：用於第三方IPA，支援本機簽名其他IPA。購買Apple付費開發者憑證，不受7天重簽限制，所以這個APP足以取代AltStore。\n（側載）Mangayomi：看漫畫與動漫的APP\n（側載）JHentai：精神食糧\n（側載）uYouPlus：破解過的YouTube，功能類似YouTube Revanced。\n","date":"2024年10月14日","externalUrl":null,"permalink":"/posts/foss-ios-apps/","section":"所有文章","summary":"介紹一些Ivon覺得好用的自由及開放原始碼(FOSS) 的iOS APP，適用iPhone與iPad。 這些都是我實際用過並覺得好用才放進列表的，有些用途太狹隘或者設計不良的APP並不會包含進去。\n我了解，iOS生態不可能全開源，尤其很多日常用的辦公軟體都沒有替代品，但是Ivon盡量做到不依賴閉源軟體。 尤其是綁死一個系統才能使用的軟體。 希望最重要的資料可以在各大作業系統之間互通有無，包括我最重要的的筆記。\n開源APP列表 # Joplin：跨平台筆記兼待辦事項，類似Evernote，支援加密雲端同步，提供簡易手寫筆記。\nAFFiNE：跨平台知識管理工具，類似Notion + Milo + Heptabase。\nSaber：跨平台手寫筆記，支援標註PDF、插入圖片、Nextcloud雲端同步。\nBrave Browser：擋廣告專用的瀏覽器，支援背景播放YouTube 。\nFirefox：跨平台的開源瀏覽器。不是很推薦，因為是它的功能是各個瀏覽器中最少的。且擋廣告功能只有Firefox Focus有。\nBitWarden：跨平台同步密碼。\nFloccus：跨平台同步瀏覽器書籤。\nCollabora Office：Microsoft Office替代品，類似LibreOffice。適合開啟odt文件。\nOnlyOffice：Microsoft Office替代品。\nVLC：離線影片兼音樂播放器，支援背景播放。\nKDE Connect：跨平台傳檔案，共享剪貼簿。\nLocalSend：跨平台檔案分享。\nBlockada：全域擋廣告DNS，需要付費。其實用Brave就夠了。\nTailscale：內網穿透VPN，基於WireGuard開發。\nRustDesk：可自架的遠端桌面。\nMoonlight Game Streaming：遠端桌面兼雲端遊戲。\niSH Shell：32位元Alpine Linux模擬器，用終端機跑ssh、vim、yt-dlp、ffmpeg、Python之類的指令小工具。因為是32位元環境問題很多，很多程式跑不起來。\na-Shell：終端機，功能類似iSH Shell但效能更好。但是無法自由安裝套件，只能用作者提供的。\n","title":"iPhone與iPad好用的開源APP分享","type":"posts"},{"content":"為什麼Android都能直接跑Cyberpunk 2077了（詳見Mobox），iOS還只能玩遠端串流呢？\nFine, I\u0026rsquo;ll do it myself.\n在iPad跑UTM虛擬機，再於裡面裝Steam理論上是可行的！\n經過這幾天的嘗試，結果我只得到\u0026hellip;美少女遊戲。 實際演示影片\n1. 啟用JIT加速的魔法 # 首先要從JIT開始說起。\n「JIT」是越獄以外提昇UTM虛擬機性能的唯一手段，因為新型iPad幾乎不可能安裝TrollStore或者搞checkra1n越獄，所以JIT這種合法手段便是我們的救贖。\n如果沒有JIT，UTM就會變成UTM SE那樣一條蟲，除了MS-DOS以外什麼系統都跑不了。\niOS 18以上可以使用SkitDebug啟用JIT加速，不需要用到電腦。\n有了JIT，跑不那麼吃重的作業系統就夠了。\n2. Linux還是Windows？ # 我曾經試過UTM跑Windows虛擬機，可是最多最多就到Windows 7了，Tiny 11 (Windows 11精簡版) 在JIT加持下能3分鐘內開機，但那又怎麼樣呢？進入桌面後依然卡爆。 果然還是得用Linux吧。Debian在JIT加持下開機只要30秒。XFCE桌面開機佔用600MB RAM，足夠留空間給Steam遊戲跑了。\n於是我改用類似Android Termux的作法，就是配個Linux環境，再透過Wine玩Steam遊戲。但是iOS沒有Termux這種介於Linux與原生Android之間的神器，只有UTM。\n相關文章：UTM APP使用教學 系統架構部分要選ARM還是x86呢？好消息是，Apple M系列晶片撐得住x86_64架構的Debian虛擬機，所以我不用裝ARM64架構Debian虛擬機來虐自己。Steam目前僅支援x86電腦，ARM架構用Box64轉譯Wine實在太不穩啦！\n只要起個跟一般電腦無異的x86架構Debian虛擬機，分配至少3GB RAM，就能直接安裝x86版本的Steam客戶端了，它還能夠吃到GPU加速。\n相關文章：Linux版Steam客戶端安裝 3. 啟用UTM的GPU加速 # 無意間發現了UTM的Linux虛擬機支援GPU加速。\n背後是透過virtio-gpu半虛擬化GPU實現的，可用Metal或OpenGL作為後端。\n相關文章：UTM的virtio-gpu設定方法 無論是x86還是ARM架構虛擬機都能用VirGL吃到OpenGL加速，這樣Steam遊戲執行起來會順一點。 4. 來玩Steam遊戲吧 # 啟動後等待Steam自身的依賴套件裝完。\nSteam Client WebHelper如果崩潰，停用GPU加速通常就能解決。\n然後就下載遊戲吧\u0026hellip;要玩哪個大作呢\u0026hellip;不對，考慮到虛擬機的性能，即使有GPU加速也只能玩Galgame。 為什麼呢？GPU加速起來了，剩下的問題就是CPU了。要知道JIT的速度依然比不上越獄提供的Hypervisor，因此拖累了整體性能。\n不嚴謹的對比：我之前做了有JIT和沒JIT的測試，並執行Unixbench測試虛擬機的CPU性能，結果是有JIT相比無JIT的情況下性能提昇了8倍。但就算是這樣，Apple M2在虛擬機跑出來的分數竟然只有Qualcomm SD210水準。由此可知沒有Hypervisor，虛擬機的性能損耗依然嚴重。 所以光一個簡單的小遊戲就佔滿全部CPU了。 唯一欣慰的就是Linux虛擬機沒有Windows 11那麼吃資源，iPad不會跑到燒起來。\n結論，目標達成了一半：Steam開起來了，可是遊戲沒有效能可言。\n順帶一提，跑Steam遊戲的副產品，就是Wine了，只要安裝x86版的Wine即可安裝exe。在這裡可用比Windows虛擬機開銷還小的方式，跑Windows軟體。 ","date":"2024年10月11日","externalUrl":null,"permalink":"/posts/steam-in-utm-vm-on-ios/","section":"所有文章","summary":"為什麼Android都能直接跑Cyberpunk 2077了（詳見Mobox），iOS還只能玩遠端串流呢？\nFine, I’ll do it myself.\n在iPad跑UTM虛擬機，再於裡面裝Steam理論上是可行的！\n經過這幾天的嘗試，結果我只得到…美少女遊戲。 實際演示影片\n1. 啟用JIT加速的魔法 # 首先要從JIT開始說起。\n「JIT」是越獄以外提昇UTM虛擬機性能的唯一手段，因為新型iPad幾乎不可能安裝TrollStore或者搞checkra1n越獄，所以JIT這種合法手段便是我們的救贖。\n如果沒有JIT，UTM就會變成UTM SE那樣一條蟲，除了MS-DOS以外什麼系統都跑不了。\niOS 18以上可以使用SkitDebug啟用JIT加速，不需要用到電腦。\n有了JIT，跑不那麼吃重的作業系統就夠了。\n2. Linux還是Windows？ # 我曾經試過UTM跑Windows虛擬機，可是最多最多就到Windows 7了，Tiny 11 (Windows 11精簡版) 在JIT加持下能3分鐘內開機，但那又怎麼樣呢？進入桌面後依然卡爆。 果然還是得用Linux吧。Debian在JIT加持下開機只要30秒。XFCE桌面開機佔用600MB RAM，足夠留空間給Steam遊戲跑了。\n於是我改用類似Android Termux的作法，就是配個Linux環境，再透過Wine玩Steam遊戲。但是iOS沒有Termux這種介於Linux與原生Android之間的神器，只有UTM。\n","title":"iPad用UTM直接玩Steam的Windows遊戲（非Steam Link遠端）","type":"posts"},{"content":"Enable JIT for iPad through Raspberry Pi.\nUTM的JIT加速技術，在iOS 18以上版本可透過「SideJITServer」啟用，但是JIT一定得連著電腦觸發。如此一來便打消了UTM獨立跑Windows、Linux虛擬機的效果。因為要靠電腦啟用JIT，何不用電腦就好？\n出門在外只帶iPad的情況，怎麼辦呢？一個折衷的辦法是，改在樹莓派開發板跑吧！\n樹莓派小巧可愛，方便攜帶。且因為是Linux，所以能夠裝libimobiledevice套件。只要設定樹莓派開機自動連上熱點Wifi，再SSH到樹莓派，跑SideJITServer給iPad啟用JIT就行了。\n1. 準備Raspberry Pi # 任一個型號都可以，只要有USB孔、1GB RAM、8GB以上空間就夠了。我使用Raspberry Pi 5，屬於是overkilll了哪。\n關於供電問題，我知道你在想什麼，想搞永動機對不？雖然iPad的Type-C足夠支撐Raspberry Pi開機，但是iPad不能透過給Raspberry Pi供電的那條線通訊，iPad一定得接其他USB孔才能通訊。故Raspberry Pi必須獨立供電，準備個行動電源應該就夠了。\n2. 在Raspberry Pi安裝SideJITServer # 用RPI Imager將Raspberry Pi OS刷寫到SD卡，設定開機自動連上Wifi。\n在iPad安裝a-shell，嘗試使用區域網路SSH登入到Raspberry Pi。如果覺得記IP太麻煩請考慮裝個Tailscale。\n接著安裝libimobiledevice\n再用Python安裝SideJITServer\n3. 將iPad與Raspberry Pi連線 # 用Type-C對Type-A的線，把iPad連到Raspberry Pi的USB孔，整體插起來會像這樣： 利用iPad的a-shell登入樹莓派。\n嘗試與iPad配對\nidevicepair pair 執行SideJITServer sudo -E env PATH=${PATH} venv/bin/SideJITServer --pair 準備好SideJITServer捷徑，點選執行即可。 4. 在Android跑SideJITServer的可能性 # 因為有人曾經在Root過的Android手機跑checkra1n越獄，或許Android也能跑SideJITServer給iOS啟用JIT？我沒試過就是了，因為SideJTServer需要Python，光靠Busybox是不夠的。即使設定了Android chroot，又要如何存取USB裝置？\nGithub有一篇關於在Android跑usbmuxd的討論。\n","date":"2024年10月11日","externalUrl":null,"permalink":"/posts/sidejitserver-on-raspberry-pi/","section":"所有文章","summary":"Enable JIT for iPad through Raspberry Pi.\nUTM的JIT加速技術，在iOS 18以上版本可透過「SideJITServer」啟用，但是JIT一定得連著電腦觸發。如此一來便打消了UTM獨立跑Windows、Linux虛擬機的效果。因為要靠電腦啟用JIT，何不用電腦就好？\n出門在外只帶iPad的情況，怎麼辦呢？一個折衷的辦法是，改在樹莓派開發板跑吧！\n樹莓派小巧可愛，方便攜帶。且因為是Linux，所以能夠裝libimobiledevice套件。只要設定樹莓派開機自動連上熱點Wifi，再SSH到樹莓派，跑SideJITServer給iPad啟用JIT就行了。\n1. 準備Raspberry Pi # 任一個型號都可以，只要有USB孔、1GB RAM、8GB以上空間就夠了。我使用Raspberry Pi 5，屬於是overkilll了哪。\n關於供電問題，我知道你在想什麼，想搞永動機對不？雖然iPad的Type-C足夠支撐Raspberry Pi開機，但是iPad不能透過給Raspberry Pi供電的那條線通訊，iPad一定得接其他USB孔才能通訊。故Raspberry Pi必須獨立供電，準備個行動電源應該就夠了。\n2. 在Raspberry Pi安裝SideJITServer # 用RPI Imager將Raspberry Pi OS刷寫到SD卡，設定開機自動連上Wifi。\n","title":"使用隨身的樹莓派給iPad啟用JIT加速，SideJITServer","type":"posts"},{"content":"Enable GPU acceleration for Linux VM of UTM using virtio-gpu.\nUTM預設安裝的Linux虛擬機是沒有GPU加速的，這會導致圖形界面用起來不愉快。要解決這個問題請使用「virtio-gpu」。\nvirtio-gpu為QEMU提供的半虛擬化GPU加速技術。\n相關文章：Linux QEMU/KVM透過virtio-gpu啟用GPU加速\nUTM跟Virt Manager類似，提供了便捷的界面讓使用者啟用virtio-gpu。如此一來就可以免GPU直通，給Linux虛擬機啟用GPU加速，改善部份圖形程式的執行效能。\n1. virtio-gpu注意事項 # virtio-gpu適用macOS與iOS系統的UTM，由Apple Metal或OpenGL提供硬體加速，不論有無Hypervisor皆可使用。 目前virtio-gpu僅支援GNU/Linux虛擬機，Windows虛擬機的patch還在路上。 大部分Linux發行版的核心和Mesa驅動應該都有支援VirGL，無需在虛擬機內刻意安裝驅動。 分別用x86_64架構與ARM64架構的Debian測試，得出：無論是ARM架構跑ARM虛擬機，或是ARM跑x86虛擬機，都可以使用virtio-gpu的GPU加速。 virtio-gpu僅支援加速OpenGL，Vulkan尚屬實驗性。 2. virtio-gpu啟用方式 # 安裝Debian虛擬機。\n在UTM設定將算繪後端設定為ANGLE (Metal) 編輯UTM虛擬機設定 → 顯示器，切換顯示卡，要選哪個呢？ 根據QEMU官方文件，virtio-gpu以-gl作結尾的便是使用virglrenderer作為後端。\n於是符合條件的顯示卡就是：virtio-gpu-gl-device、virtio-gpu-gl-pci、virtio-ramfb-gl、virtio-vga-gl。\n差別在於他們背後模擬顯示卡原理不太一樣，對Debian Linux而言選virtio-gpu-gl-pci或virtio-vga-gl-pci就夠了。請記得勾選「啟用GPU加速」。\n3. 測試virtio-gpu加速效果 # 安裝Debian虛擬機。開機後進入X11工作階段。\n執行sudo dmesg | grep drm指令，檢查virgl是否有載入 利用glxinfo | grep OpenGL指令，檢查系統是否有抓到VirGL。若VirGL沒有成功載入則會顯示CPU算繪的llvmpipe。\n可見到宿主機的Apple GPU型號和VirGL，OpenGL ES 2.0 若用OpenGL當算繪後端會看到OpenGL ES 3.0 不是所有程式都支援VirGL，有時VirGL得手動啟用： GALLIUM_DRIVER=virgl \u0026#34;執行檔路徑\u0026#34; 例如，跑glmark跑分程式： GALLIUM_DRIVER=virgl glmark2 沒有VirGL、純CPU的llvmpipe算繪下，FPS低落 啟用VirGL後FPS變得十分順暢。 我另外測試了MPV的播放效果，使用指令：GALLIUM_DRIVER=virgl mpv --no-config --vo=gpu --gpu-context=x11egl \u0026quot;影片路徑\u0026quot;，只要VirGL圖形加速有起來的話，那麼在虛擬機裡面解碼1080p影片也不是問題了。 參考資料 # Quick overview of every QEMU display adapter in UTM (for x86-based guests) - r/UTMapp Display | UTM Documentation virtio-gpu - QEMU’s documentation ","date":"2024年10月10日","externalUrl":null,"permalink":"/posts/utm-virtio-gpu/","section":"所有文章","summary":"Enable GPU acceleration for Linux VM of UTM using virtio-gpu.\nUTM預設安裝的Linux虛擬機是沒有GPU加速的，這會導致圖形界面用起來不愉快。要解決這個問題請使用「virtio-gpu」。\nvirtio-gpu為QEMU提供的半虛擬化GPU加速技術。\n相關文章：Linux QEMU/KVM透過virtio-gpu啟用GPU加速\nUTM跟Virt Manager類似，提供了便捷的界面讓使用者啟用virtio-gpu。如此一來就可以免GPU直通，給Linux虛擬機啟用GPU加速，改善部份圖形程式的執行效能。\n1. virtio-gpu注意事項 # virtio-gpu適用macOS與iOS系統的UTM，由Apple Metal或OpenGL提供硬體加速，不論有無Hypervisor皆可使用。 目前virtio-gpu僅支援GNU/Linux虛擬機，Windows虛擬機的patch還在路上。 大部分Linux發行版的核心和Mesa驅動應該都有支援VirGL，無需在虛擬機內刻意安裝驅動。 分別用x86_64架構與ARM64架構的Debian測試，得出：無論是ARM架構跑ARM虛擬機，或是ARM跑x86虛擬機，都可以使用virtio-gpu的GPU加速。 virtio-gpu僅支援加速OpenGL，Vulkan尚屬實驗性。 2. virtio-gpu啟用方式 # 安裝Debian虛擬機。\n","title":"UTM使用virtio-gpu啟用GPU加速，改善Linux虛擬機圖形效能","type":"posts"},{"content":"iOS的UTM APP支援模擬電腦作業系統，例如跑Linux桌面版。\n若在條件許可的情況下，跑Windows也都不是問題。 雖然本文主旨是Windows 11，但跑Windows 7系統也是可以的。\n1. 系統需求 # 建議準備搭載M1晶片、RAM 8GB以上的iPad。這裡使用iPad Air 6 M2。\n雖然標題說不用越獄，但我用的是JIT加速版的UTM，必須要學習如何給UTM啟動JIT加速才行。\n不要用UTM SE跑，會等到天荒地老。\nWindows ISO部份，使用經過大幅精簡的NTDEV「Tiny11」，加快系統執行效能。\n2. 安裝Windows 11虛擬機 # 註：如果你覺得在iPad上安裝很浪費時間，可考慮先在電腦快速裝好系統，再將QEMU虛擬機磁碟移到iPad上開機。具體作法參考這篇。\n下載Tiny11 23H1的ISO，選x86_64的版本\n啟用JIT，再啟動UTM APP\n新增Windows虛擬機，開機映像檔選Tiny11的ISO 架構選x86_64，RAM至少給4GB，CPU核心依照iPad處理器核心數設定。 虛擬硬碟至少32GB。 開機前編輯虛擬機設定，顯示卡選virtio-vga。CPU型號選qemu64，並開啟強制多核心模式。 開機，安裝大約1小時完成。\n開機後需要安裝virtio-windows驅動才能調整螢幕解析度。\n3. 怎麼跟Windows虛擬機共享資料夾 # UTM內建的SPICE WebDAV不是很穩定，所以用SMB。支援Windows XP以上系統。\n編輯虛擬機的網路設定，啟用轉發通訊埠，設定轉發SMB的445通訊埠 在Windows虛擬機開啟SMB共享資料夾，分享給Everyone。\n利用iPad檔案APP的「連接到伺服器」功能，輸入smb://localhost:445連線。 4. Windows 11使用體驗 # UTM JIT可以把Windows開機時間壓到約3分鐘以內。\n結果開機後還是幻燈片。ARM模擬x86別妄想有GPU加速了。\n開個Edge啟動要一分鐘，還行啦，Office也勉強能用。 才怪，我覺得不行。這樣實在太慢了，且iPad沒多久就變得很燙！\nTiny11只是剛安裝的時候很小而已，一安裝Windows Update系統就肥回去了。\n看來真的要越獄啟用Hypervisor才跑得動Windows 11哪，且得裝ARM64版本的Windows。\n5. 試試Windows 7 # 後來改裝Windows 7，變順暢的不得了。\n實際影片演示\nMicrosoft已經停止支援Windows 7，很多軟體也不行跑了。這時可用Supermium瀏覽器上網，再用Updatepack7R2裝完更新。\n經測試Windows 7的Office 2010、Photoshop CS6能夠順暢的使用，起碼比Windows 11快多了。 甚至能玩不吃效能的老遊戲。 ","date":"2024年10月9日","externalUrl":null,"permalink":"/posts/ios-utm-windows-vm/","section":"所有文章","summary":"iOS的UTM APP支援模擬電腦作業系統，例如跑Linux桌面版。\n若在條件許可的情況下，跑Windows也都不是問題。 雖然本文主旨是Windows 11，但跑Windows 7系統也是可以的。\n1. 系統需求 # 建議準備搭載M1晶片、RAM 8GB以上的iPad。這裡使用iPad Air 6 M2。\n雖然標題說不用越獄，但我用的是JIT加速版的UTM，必須要學習如何給UTM啟動JIT加速才行。\n不要用UTM SE跑，會等到天荒地老。\nWindows ISO部份，使用經過大幅精簡的NTDEV「Tiny11」，加快系統執行效能。\n2. 安裝Windows 11虛擬機 # 註：如果你覺得在iPad上安裝很浪費時間，可考慮先在電腦快速裝好系統，再將QEMU虛擬機磁碟移到iPad上開機。具體作法參考這篇。\n下載Tiny11 23H1的ISO，選x86_64的版本\n啟用JIT，再啟動UTM APP\n新增Windows虛擬機，開機映像檔選Tiny11的ISO 架構選x86_64，RAM至少給4GB，CPU核心依照iPad處理器核心數設定。 虛擬硬碟至少32GB。 開機前編輯虛擬機設定，顯示卡選virtio-vga。CPU型號選qemu64，並開啟強制多核心模式。 ","title":"iPad免越獄安裝Windows 11虛擬機 ～ UTM JIT使用體驗","type":"posts"},{"content":"UTM是一款針對macOS和iOS系統設計的開源虛擬機軟體，讓你可以在iPhone/iPad跑Linux、Windows、macOS、Android-x86等各式各樣的電腦系統。不需要越獄就能使用。 UTM全名為「Universal Turing Machine」，為通用圖靈機之意。開發者利用QEMU的豐富功能，使其不只模擬作業系統，還能按照需求模擬x86、ARM、SPARC、MIPS、PPC、S390、RISC-V等架構的電腦。 UTM支援虛擬鍵盤與滑鼠操作，使用者也可以外接滑鼠鍵盤，甚至用Apple Pencil與虛擬機互動。\n本文Ivon講述iOS的UTM使用方法。\n1. UTM虛擬機硬體需求 # UTM為自由軟體，程式原始碼與參考文件可以在Github取得。 視你要跑的系統會有不同的硬體需求。如果要跑Windows 7以前的遠古系統，那麼任一台iOS裝置都能跑。但是要跑現代的GNU/Linux、Windows 11系統，則準備8GB RAM以上的iOS裝置比較妥當。\n關於虛擬機效能部分，首先要知道UTM支援macOS與iOS，背後使用QEMU模擬電腦硬體。UTM在macOS會搭配Apple Hypervisor技術加速虛擬機，Linux則是搭配KVM。\n但，由於iOS沒有macOS的虛擬化技術，執行虛擬機的效能十分低落。在沒有虛擬化加速的情況下，UTM不論跑x86還是ARM架構的虛擬機，效能都差不多。即使是用性能最強的M1 iPad跑UTM，也只能在虛擬機簡單跑文書軟體，不能玩大型3D遊戲。\n其實iPhone/iPad的硬體是支援虛擬化的，但軟體層面被Apple封印了，要靠越獄破解。\n沒越獄情況下，唯一挽救UTM性能的辦法就是靠「JIT」加速了，它能夠讓虛擬機執行速度提昇好幾倍。\n2. iOS UTM版本差異 # UTM開發者提供了4個版本的APP：\n「UTM SE」是最慢的，用TCG模擬指令，不支援JIT加速，這是為了能在App Store上架所作的取捨。\n「UTM」需要側載IPA，必須手動啟用JIT加速才能啟動虛擬機。\n「UTM HV」是專為TrollStore設計的版本，開啟後會自動啟用JIT加速，無論有無透過TrollStore啟動皆然。UTM HV還能使用Hypervisor（需要M1晶片的iPad）、存取USB裝置。\n越獄版的UTM可以使用JIT加速、Hypervisor（需要特定硬體和iOS版本支援）、存取USB裝置等全部功能。\n因此以上四者就執行速度而言，越獄版UTM \u0026gt; UTM HV \u0026gt; UTM JIT \u0026gt; UTM SE\n3. 如何安裝UTM APP # UTM需要iOS 11以上的系統，無越獄和越獄裝置皆可使用。\n免越獄版 # UTM SE：開發者以老遊戲模擬器的名義上架了UTM SE，不支援JIT加速，請到App Store下載。\nUTM：可以使用JIT加速，請到Github下載UTM.ipa，再用AltStore或者SideStore側載。如果自行用開發者憑證簽名在iOS 18以上版本可能會出bug，參閱UTM安裝注意事項。\nUTM HV：可以使用Hypervisor、USB、JIT，請到Github下載UTM-HV.ipa。只能用TrollStore側載到iOS裝置。\n越獄版 # 越獄版的UTM可以使用Hypervisor、USB、JIT全部功能。不過Hypervisor需要特定iOS版本與硬體支援。注意UTM不支援rootless越獄。\n開啟Sileo，加入AppSync Unified和UTM的軟體源 https://cydia.akemi.ai https://cydia.getutm.app 搜尋安裝UTM套件。 4. UTM如何安裝系統 # 必須老實說，沒有JIT的UTM，真的很慢，連跑Linux都很喘。\n如果只有UTM SE的話，勉強可以跑個輕量Linux發行版的虛擬機，寫寫小程式，執行Docker之類的伺服器服務，並與iSH Shell搭配使用。詳細解說：UTM跑Alpine Linux虛擬機 如果可以使用JIT或者越獄，那麼你就能跑Windows 7，甚至Windows 11了！詳細解說：UTM安裝Windows 11虛擬機 5. UTM啟用JIT加速 # JIT (Just-in-time compilation) 是除了越獄以外唯一提昇UTM虛擬機執行速度的方法，可讓UTM的性能提昇好幾倍。\n關於性能改善的幅度請見這篇文章評析：UTM JIT v.s. UTM SE速度比較\niOS 18以上系統，請嘗試StikDebug\n","date":"2024年10月8日","externalUrl":null,"permalink":"/posts/utm-app-ios/","section":"所有文章","summary":"UTM是一款針對macOS和iOS系統設計的開源虛擬機軟體，讓你可以在iPhone/iPad跑Linux、Windows、macOS、Android-x86等各式各樣的電腦系統。不需要越獄就能使用。 UTM全名為「Universal Turing Machine」，為通用圖靈機之意。開發者利用QEMU的豐富功能，使其不只模擬作業系統，還能按照需求模擬x86、ARM、SPARC、MIPS、PPC、S390、RISC-V等架構的電腦。 UTM支援虛擬鍵盤與滑鼠操作，使用者也可以外接滑鼠鍵盤，甚至用Apple Pencil與虛擬機互動。\n本文Ivon講述iOS的UTM使用方法。\n1. UTM虛擬機硬體需求 # UTM為自由軟體，程式原始碼與參考文件可以在Github取得。 視你要跑的系統會有不同的硬體需求。如果要跑Windows 7以前的遠古系統，那麼任一台iOS裝置都能跑。但是要跑現代的GNU/Linux、Windows 11系統，則準備8GB RAM以上的iOS裝置比較妥當。\n關於虛擬機效能部分，首先要知道UTM支援macOS與iOS，背後使用QEMU模擬電腦硬體。UTM在macOS會搭配Apple Hypervisor技術加速虛擬機，Linux則是搭配KVM。\n","title":"iOS版UTM APP的使用方法 ~ 支援iPhone與iPad的開源虛擬機軟體","type":"posts"},{"content":"因為想在iPad上測試UTM虛擬機跑Windows 11的效能，所以我有了在電腦先裝好系統，再傳到iPad開機的想法。\n為什麼呢？因為iOS版QEMU不確定性太高，且速度太慢，所以用執行起來比較順的電腦版QEMU來跑會比較舒服些。這就是說，先在電腦製作裝好系統的qcow2映像檔，再讓iPad開機。\n這完全是有可能的，因為UTM背後是使用QMEU的.qcow2格式儲存，完全能夠在任一電腦上用QEMU開機。\n那麼，要編輯UTM的虛擬機組態，有沒有需要在電腦也裝UTM呢？其實沒必要，QEMU是跨平台軟體。再加上UTM只有Mac版，但我不想用Mac，使用Linux足以跑QMEU。\n1. 準備電腦上的QEMU # Linux需要設定虛擬化技術與KVM模組，方能將QEMU效能最大化。參見Ubuntu安裝Virt Manager\n2. 取得UTM的虛擬機檔案 # 安裝UTM APP。我需要使用JIT所以用側載IPA的方式安裝。\n開啟iOS的UTM APP，建立x86_64架構的Windows虛擬機，開機映像檔選無，CPU型號選qemu64，核心全給滿，RAM 4GB以上，顯示卡選virtio-vga。（為什麼不裝ARM64版的Windows？啊我的電腦就是x86啊！） 在Linux安裝ifuse，這個程式功能等同iTunes的「APP檔案共享」。將iOS裝置的磁碟掛載到Linux，存取UTM的資料夾：\nsudo mkdir /run/media/$USER/com.utmapp.UTM 用tree指令可知，剛剛在iOS裝置建立的.utm檔，其實是一個資料夾，下面有虛擬機的設定檔和虛擬磁碟。等會要取代efivars和qcow2檔案。（順帶一提，Mac版UTM資料路徑位於/Library/Containers/com.utmapp.UTM/Data/Documents/） 開啟Virt Manager，參考這篇安裝Windows 11系統。這裡選用Tiny11 x86_64的ISO，不啟用TPM 2.0。\n虛擬機開機，在裡面裝完系統更新、virtio-win驅動、Windows Activation Scripts啟動金鑰，關機。\nVirt Manager建立的qcow2檔案位於/var/lib/libvirt/images/，EFI檔案位於/var/lib/libvirt/qemu/nvram/，把這兩個檔案複製到iOS裝置，取代原有的檔案\nsudo cp /var/lib/libvirt/images/Tiny11.qcow2 /run/media/$USER/com.utmapp.UTM/Tiny11.utm/Data/5A8E9202-4AC4-466D-8764-CFF8D14F2D62.qcow2 sudo cp /var/lib/libvirt/qemu/nvram/Tiny11_VARS.fd /run/media/$USER/com.utmapp.UTM/Tiny11.utm/Data/efi_vars.fd 取消掛載 sudo fusermount -u /run/media/$USER/com.utmapp.UTM ","date":"2024年10月8日","externalUrl":null,"permalink":"/posts/crerate-utm-disk-image-on-linux/","section":"所有文章","summary":"因為想在iPad上測試UTM虛擬機跑Windows 11的效能，所以我有了在電腦先裝好系統，再傳到iPad開機的想法。\n為什麼呢？因為iOS版QEMU不確定性太高，且速度太慢，所以用執行起來比較順的電腦版QEMU來跑會比較舒服些。這就是說，先在電腦製作裝好系統的qcow2映像檔，再讓iPad開機。\n這完全是有可能的，因為UTM背後是使用QMEU的.qcow2格式儲存，完全能夠在任一電腦上用QEMU開機。\n那麼，要編輯UTM的虛擬機組態，有沒有需要在電腦也裝UTM呢？其實沒必要，QEMU是跨平台軟體。再加上UTM只有Mac版，但我不想用Mac，使用Linux足以跑QMEU。\n1. 準備電腦上的QEMU # Linux需要設定虛擬化技術與KVM模組，方能將QEMU效能最大化。參見Ubuntu安裝Virt Manager\n2. 取得UTM的虛擬機檔案 # 安裝UTM APP。我需要使用JIT所以用側載IPA的方式安裝。\n開啟iOS的UTM APP，建立x86_64架構的Windows虛擬機，開機映像檔選無，CPU型號選qemu64，核心全給滿，RAM 4GB以上，顯示卡選virtio-vga。（為什麼不裝ARM64版的Windows？啊我的電腦就是x86啊！） ","title":"在電腦上修改iOS版.utm資料夾的qcow2虛擬磁碟","type":"posts"},{"content":"","date":"2024年10月7日","externalUrl":null,"permalink":"/tags/forge-mod/","section":"標籤","summary":"","title":"Forge Mod","type":"tags"},{"content":"「PojavLauncher」是一款開源免費的APP，讓你可以在手機平板跑Minecraft Java版。\n圖例：Android手機執行PojavLauncher玩Minecraft Java版。 圖例：iPad執行PojavLauncher玩Minecraft Java版。 Minecraft Java版就是俗稱的電腦版Minecraft啦，功能比手機基岩版還要多樣，尤其是模組部份。\nPojavLauncher就像電腦上的Minecraft啟動器一樣，可以下載過去各個版本的Minecraft，也能夠安裝Forge、Fabric模組，還能玩Java版的大型多人伺服器！ JEI模組\nPojavLauncher為手機玩家準備了觸控控制界面，解決原始Java版只支援鍵盤滑鼠的問題。 1. 使用前的注意事項 # PojavLauncher是開放原始碼的程式，安全無毒，可以放心使用。本專案繼承自古早時代Zhouwei所開發的Boardwalk APP。Zhouwei就是著名的BlockLauncher作者。\n注意：PojavLauncher不是Mojang官方維護的專案，而是第三方開發者維護的。因此遇到問題請優先到Github issue回報。\n你需要購買正版Minecraft Java版的微軟帳號才可以登入PojavLauncher。本文不討論盜版的遊玩方式。\nPojavLauncher很吃手機效能，建議手機處理器是高通SD 845以上、Apple A9處理器以上的型號，手機RAM在6GB以上，PojavLauncher才不至於太卡。\nPojavLauncher可能不相容部份模組，開了會閃退，尤其是光影，因為手機跟電腦的繪圖程式不一樣。\nPojavLauncher不見得會立即支援最新版Minecraft，有時候要等開發組更新。\n2. 安裝PojavLauncher # Android版 # 影片過程參考\nAndroid請到Github下載APK。 註解：2025年，PojavLauncher因為開發者因素已經停止維護，請改用MojoLauncher或者Angel Aura Amethyst。功能是一樣的。\nPojavLauncher的檔案，包括世界、資源包、模組的存放位置位於手機內部儲存空間/Android/data/net.kdt.pojavalunch/files/.minecraft/。這個資料夾結構跟電腦Java版的.minecraft資料夾一樣。 iOS版 # iOS版原始碼庫跟Android版是分開的。\niOS版PojavLauncher需要iOS 14以上版本的iPhone或iPad。\nPojavLauncher沒有在App Store上架，得用側載的，請先安裝AltStore。\n再從PojavLauncher_iOS Github下載IPA，側載安裝。\n註解：2025年，PojavLauncher因為開發者因素已經停止維護，請改用Angel Aura Amethyst。功能是一樣的。\nAPP內部的Java必須啟用JIT加速才可以執行遊戲。啟動PojavLauncher，確認「即時編譯已啟動」才能啟動Minecraft。 iOS版PojavLauncher的遊戲資料請用檔案APP → 我的iPhone → PojavLauncher檢視。\n越獄版PojavLauncher，僅適合進階用戶。 此處以iPhone SE 1做示範，使用checkra1n進行越獄。\n影片版操作\n開啟Cydia app。加入這個軟體源:https://doregon.github.io/cydia\n在Cydia搜尋PojavLauncher，dev是開發版本。下載正常版就好。\n3. 初始化PojavLauncher # 開啟PojavLauncher，點選右下角「啟動遊戲」 點Microsoft Account，使用正版Microsoft帳號登入。在你登入之後皮膚會自動同步過來。 接著你就可以下載Minecraft了，預設是1.7.10，點選「啟動遊戲」就會開始下載檔案。 啟動遊戲會看到螢幕已經幫你弄好虛擬觸控鍵盤了，操作類似基岩版，大部分的鍵盤滑鼠操作都可以用觸控的完成。按右上角MOUSE叫出虛擬滑鼠，雙指捲動頁面。 除了觸控模式外，你也可以用鍵盤滑鼠或者手把玩Minecraft。PojavLauncher首頁右上角的控制設定可以調整手把映射按鈕。\nPojavLauncher的Minecraft檔案存放位置位於手機內部儲存空間/Android/data/net.kdt.pojavalunch/files/.minecraft/。\n這個資料夾結構跟電腦Minecraft Java版的.minecraft資料夾一樣。要裝世界、資源包、模組都是放到這裡。\n4. 管理多重Minecraft版本 # 你可以在首頁按＋號新增設定檔，點選Create Vanilla Profile，下載不同版本的Minecraft。 PojavLauncher內建OpenJDK，最高可以玩到Minecraft 1.21。\n如何手動安裝更新版的Minecraft？Minecraft 1.21以後的版本需要OpenJDK 21才行，否則會遇到「沒有可用的Java執行庫」(Can\u0026rsquo;t Find Any Compatible Java Runtime) 的錯誤。\n請登入Github帳號，到PojavLauncherTeam/android-openjdk-build-multiarch，找到JRE21 for Android，下載jre21-aarch64檔案。\n點選PojavLauncher右上角設定 → Java選項 → 運行庫管理器 點選新建，選取剛剛下載的壓縮檔 編輯Minecraft 1.21版本的設定檔，將「Java執行庫」運行庫切換為JRE 21。 嘗試執行遊戲。如果還是閃退，請刪除.minecraft資料夾下的options.txt。\n5. 優化PojavLauncher的效能 # 點選右上角設定 → Java選項。這裡記憶體(RAM)分配請給大方一點，至少給2GB遊戲才不會閃退。 接著是圖形驅動，右上角設定 → 顯示設定。 Android版的PojavLauncher預設是使用GLES4加速的，速度最快。\n高通處理器的手機可以用Vulkan(Zink)渲染，進一步提昇效能，聯發科的請選擇Angle(Zink)。\n要減少lag情況，請在Minecraft遊戲設定調低視野距離。至於Optifine和Sodium之類的效能優化模組對PojavLauncher可能沒有什麼作用。\n6. 如何安裝模組 # PojavLauncher支援Forge、Fabric、Quilt模組。\n以Minecraft 1.19.2的Forge為例：\n新增設定檔，選取Create Forge Profile 選取1.19.2版本的Forge 等待安裝視窗跑完 接著把要裝的Forge模組檔案放到.minecraft/mods資料夾。例如這裡我裝的是CurseForge下載的JEI。 使用Forge的設定檔啟動遊戲。 ","date":"2024年10月7日","externalUrl":null,"permalink":"/posts/minecraft-pojavlauncher/","section":"Minecrafts","summary":"「PojavLauncher」是一款開源免費的APP，讓你可以在手機平板跑Minecraft Java版。\n圖例：Android手機執行PojavLauncher玩Minecraft Java版。 圖例：iPad執行PojavLauncher玩Minecraft Java版。 Minecraft Java版就是俗稱的電腦版Minecraft啦，功能比手機基岩版還要多樣，尤其是模組部份。\nPojavLauncher就像電腦上的Minecraft啟動器一樣，可以下載過去各個版本的Minecraft，也能夠安裝Forge、Fabric模組，還能玩Java版的大型多人伺服器！ JEI模組\nPojavLauncher為手機玩家準備了觸控控制界面，解決原始Java版只支援鍵盤滑鼠的問題。 1. 使用前的注意事項 # PojavLauncher是開放原始碼的程式，安全無毒，可以放心使用。本專案繼承自古早時代Zhouwei所開發的Boardwalk APP。Zhouwei就是著名的BlockLauncher作者。\n注意：PojavLauncher不是Mojang官方維護的專案，而是第三方開發者維護的。因此遇到問題請優先到Github issue回報。\n","title":"手機玩電腦Minecraft Java版：PojavLauncher安裝教學 (Android、iOS)","type":"minecraft"},{"content":" 1. 動機 # iOS版UTM因為缺乏Hypervisor，虛擬機執行效能低下。在不越獄的情況下，唯一一個能加速虛擬機執行速度的就是「JIT」加速技術了。但是iOS 17之後啟用JIT加速非常複雜，有的方案得靠電腦，且使用的時候還不能拔掉線。不禁讓人懷疑是否值得花時間啟用JIT？JIT對UTM虛擬機的效能來說真的那重要嗎？跑純文字UTM Linux虛擬機值不值得啟用JIT呢？這篇文章將試圖回答這些問題。\nUTM有許多版本，「UTM」需要側載，並且用電腦啟用JIT。「UTM HV」是設計給TrollStore使用的。UTM HV本身就有啟用JIT，無論有無透過TrollStore啟動皆然。而「UTM SE」是拔除所有JIT加速的最慢速版本，完全不能使用JIT，這樣做目的是為了能成功在App Store上架。\n相關文章：\niOS版UTM安裝教學 iOS版UTM安裝純文字Linux虛擬機 我將對比「UTM啟用JIT」和「UTM SE」這兩個版本的UTM，執行同一個Linux虛擬機的速度差異。本實驗主要是看JIT的有無對虛擬機效能的影響，以此得出來的數值可作為後進參考，讓你知道值不值得啟用JIT。\n2. 實驗方法 # 裝置：iPad Air 6 M2 系統版本：iOS 18.0.1 UTM版本：4.5.4 虛擬機：UTM Gallery的Debian 11 ARM64。CPU分配8核心，啟用強制多核心，RAM分配2048MB。開機後系統套件更新到最新。 關於我怎麼安裝兩個UTM的：使用Feather iOS側載UTM IPA，Bundle ID跟App Store的版本不一樣，再於App Store下載UTM SE。UTM測試完之後，用檔案APP到UTM的資料夾，分享.utm檔案到另一個UTM SE即可完成虛擬機複製。\nJIT啟用方法：透過StikDebug，免電腦啟用。或者SideJITServer連著電腦啟用。 3. 比較啟用JIT前後的速度 # 使用UTM Gallery提供的Debian 11映像檔做對比，測試開機時間、Docker執行速度、Unixbench跑分。雖然沒有GPU加速，但還是能測試X11圖形程式效能，從點選回應時間來看是否堪用。\n開機速度比較，從虛擬機開機到出現LightDM登入畫面：\n有JIT：40秒 無JIT：140秒 Docker指令執行hello-world所耗費時間比較：\n有JIT：3秒 無JIT：14秒 Unixbench 5.1.3分數測試CPU性能，使用指令sudo NUMBER_OF_PROCESSORS=8 ./Run whets dhry測試，分數越高越好：\n有JIT：754 無JIT：129 根據postmarketOS Wiki，754這個數字大約是接近Qualcomm Snapdragon 210的效能，但因為QEMU的CPU是模擬的，實際上Apple M2的分數不可能這麼低，與實機比較並不準確。 執行圖形程式GIMP的速度比較：\n有JIT：啟動約15秒，啟動後按鈕點選速度一秒內就有回應，堪用。 無JIT：啟動約100秒，啟動後按鈕點選速度平均要等5秒，堪用\u0026hellip;嗎？ 至於瀏覽器嗎，有JIT加速的虛擬機開Chromium看網頁勉強可以，但播放720p的Youtube影片依然卡的要命，因此不要強求了。\n4. 結論 # 這下知道JIT的厲害了吧！ 有JIT開機40秒 vs 沒JIT開機140秒，這還是在較新的iOS裝置執行的結果，舊款裝置UTM JIT的差距更大。\n我另外在iPhone SE 1 （支援TrollStore）測試，結果就是啟用JIT的UTM虛擬機兩分鐘內開機，而UTM SE光開機就花了20分鐘以上。\nJIT技術確實是在不越獄的情況下，大幅提昇UTM虛擬機效能的方式。但是由於JIT啟用過程不方便，依然沒有實用性，沒了電腦就只剩慢乎乎的UTM SE能用。從上面的結果知道了，UTM SE的效能幾乎很難撐得起圖形界面，只能夠用於跑純文字的Linux虛擬機。又，根據Unixbench結果，即使是純文字虛擬機，UTM SE性能依然會大幅下降，比不上UTM JIT的速度。\n","date":"2024年10月7日","externalUrl":null,"permalink":"/posts/utm-jit-vs-utm-se-performance-test/","section":"所有文章","summary":"1. 動機 # iOS版UTM因為缺乏Hypervisor，虛擬機執行效能低下。在不越獄的情況下，唯一一個能加速虛擬機執行速度的就是「JIT」加速技術了。但是iOS 17之後啟用JIT加速非常複雜，有的方案得靠電腦，且使用的時候還不能拔掉線。不禁讓人懷疑是否值得花時間啟用JIT？JIT對UTM虛擬機的效能來說真的那重要嗎？跑純文字UTM Linux虛擬機值不值得啟用JIT呢？這篇文章將試圖回答這些問題。\nUTM有許多版本，「UTM」需要側載，並且用電腦啟用JIT。「UTM HV」是設計給TrollStore使用的。UTM HV本身就有啟用JIT，無論有無透過TrollStore啟動皆然。而「UTM SE」是拔除所有JIT加速的最慢速版本，完全不能使用JIT，這樣做目的是為了能成功在App Store上架。\n相關文章：\niOS版UTM安裝教學 iOS版UTM安裝純文字Linux虛擬機 我將對比「UTM啟用JIT」和「UTM SE」這兩個版本的UTM，執行同一個Linux虛擬機的速度差異。本實驗主要是看JIT的有無對虛擬機效能的影響，以此得出來的數值可作為後進參考，讓你知道值不值得啟用JIT。\n2. 實驗方法 # 裝置：iPad Air 6 M2 系統版本：iOS 18.0.1 UTM版本：4.5.4 虛擬機：UTM Gallery的Debian 11 ARM64。CPU分配8核心，啟用強制多核心，RAM分配2048MB。開機後系統套件更新到最新。 關於我怎麼安裝兩個UTM的：使用Feather iOS側載UTM IPA，Bundle ID跟App Store的版本不一樣，再於App Store下載UTM SE。UTM測試完之後，用檔案APP到UTM的資料夾，分享.utm檔案到另一個UTM SE即可完成虛擬機複製。\n","title":"iOS版UTM JIT V.S. UTM SE，啟用JIT加速的虛擬機前後速度比較","type":"posts"},{"content":"iOS部份模擬器APP需要JIT加速技術才能獲得最佳效能，例如UTM、PojavLauncher，然Apple不允許搭載JIT的APP上架App Store，故他們只能以側載方式啟動JIT，而且啟用條件很麻煩。比如iOS 17以上版本，AltJIT得依賴Mac電腦才能啟動JIT，且啟用JIT的時候不能斷開USB連線。\n後來我找到了SideJITServer，此為nythepegasus製作的開源JIT啟動器。這個軟體比AltJIT的啟用方式容易的多，不再限定只有Mac才能使用，讓Linux和Windows的用戶也能受惠。\n註：這個JIT啟用方案需要用到電腦，如果不想依賴電腦，建議改用StikDebug\n1. 注意事項 # SideJITServer支援Linux、Windows、macOS、Raspberry Pi OS 僅支援iOS 17、iOS 18以上的iPhone/iPad 要啟用JIT的APP必須是側載的IPA，App Store的APP無法使用JIT。 2. 安裝SideJITServer套件 # 確認電腦認得到iOS裝置。Linux安裝libimobiledevice套件；Windows安裝iTunes。\n安裝Python3\n開啟終端機，建立Python虛擬環境\npython3 -m venv venv 進入虛擬環境 # Linux/macOS source venv/bin/activate # Windows venv\\Scripts\\Activate.ps1 安裝SideJITServer pip3 install SideJITServer 啟動伺服器。 SideJITServer --pair 註：Linux可能需要使用root執行，否則會找不到裝置。並且要開放防火牆8080通訊埠。\ndeactivate sudo ufw allow 8080 sudo ufw reload sudo -E env PATH=${PATH} venv/bin/SideJITServer --pair 將iOS裝置插上電腦，在螢幕上點選同意「信任此電腦」\n伺服器啟動的時候應該會看到Client ID，那就是你裝置的UDID，按下Enter 伺服器執行的時候不要拔掉傳輸線。\n如果程式執行出錯，請參考SideJITServer的requirements.txt，嘗試切換pymobiledevice3套件版本，再手動與iOS裝置配對。以下是Linux的作法：\nsource venv/bin/activate pip uninstall pymobiledevice3 pip install pymobiledevice3==4.11.20 deactivate sudo systemctl restart usbmuxd sudo idevicepair pair sudo -E env PATH=${PATH} venv/bin/SideJITServer --pair 3. 給APP啟用JIT加速 # 用iOS的Safari開啟這個網址：新增SideJIT捷徑\n填入iOS裝置的UDID 還有伺服器位址，格式為http://電腦區域IP:8080 如果上述欄位打錯，你可以點編輯捷徑，重新修改。\n執行SideJIT捷徑，電腦上的SideJITServer應該會印出HTTP連線訊息。\n選取要啟用JIT的APP 出現訊息，JIT啟用成功。 JIT僅在APP開啟的時候有效，滑掉重開後JIT就會消失，需要透過電腦重新啟用。\n如果使用上有問題，請到Github回報：https://github.com/nythepegasus/SideJITServer\n","date":"2024年10月7日","externalUrl":null,"permalink":"/posts/sidejitserver-enable-jit/","section":"所有文章","summary":"iOS部份模擬器APP需要JIT加速技術才能獲得最佳效能，例如UTM、PojavLauncher，然Apple不允許搭載JIT的APP上架App Store，故他們只能以側載方式啟動JIT，而且啟用條件很麻煩。比如iOS 17以上版本，AltJIT得依賴Mac電腦才能啟動JIT，且啟用JIT的時候不能斷開USB連線。\n後來我找到了SideJITServer，此為nythepegasus製作的開源JIT啟動器。這個軟體比AltJIT的啟用方式容易的多，不再限定只有Mac才能使用，讓Linux和Windows的用戶也能受惠。\n註：這個JIT啟用方案需要用到電腦，如果不想依賴電腦，建議改用StikDebug\n1. 注意事項 # SideJITServer支援Linux、Windows、macOS、Raspberry Pi OS 僅支援iOS 17、iOS 18以上的iPhone/iPad 要啟用JIT的APP必須是側載的IPA，App Store的APP無法使用JIT。 2. 安裝SideJITServer套件 # 確認電腦認得到iOS裝置。Linux安裝libimobiledevice套件；Windows安裝iTunes。\n安裝Python3\n開啟終端機，建立Python虛擬環境\npython3 -m venv venv 進入虛擬環境 # Linux/macOS source venv/bin/activate # Windows venv\\Scripts\\Activate.ps1 安裝SideJITServer pip3 install SideJITServer 啟動伺服器。 SideJITServer --pair 註：Linux可能需要使用root執行，否則會找不到裝置。並且要開放防火牆8080通訊埠。\n","title":"SideJITServer，透過電腦在iOS 18以上裝置啟用JIT加速，支援Linux、Windows、macOS","type":"posts"},{"content":"","date":"2024年10月7日","externalUrl":null,"permalink":"/tags/checkm8/","section":"標籤","summary":"","title":"Checkm8","type":"tags"},{"content":"關於在iOS裝置跑Linux系統的嘗試，我之前討論過iSH Shell終端機以及UTM虛擬機的作法，現在我要來嘗試直接在iPhone裝Linux系統。\n1. 背景 # checkm8可說是Apple近年來最大的漏洞，搭配checkra1n軟體，能夠在開機之前完成越獄操作。2020年，有神人搞了Project Sandcastle，成功在iPhone 7跑Android 10，作者也著手移植Linux核心，儘管差點被Apple告了，這個專案依然繼續開發。\n最近已經有人開發出了LineageOS的移植版本，例如Android device tree for \u0026ldquo;snowcastle\u0026rdquo;，可以在支援的iPhone跑最新Android 16。\n幾年後，更多開發者嘗試在其他iPhone上跑Linux。checkm8仰賴的漏洞僅支援A7 ~ A11晶片，也就是iPhone 5S ~ iPhone X的裝置，更舊或更新的裝置都不行。\n理想上iPhone 7是目前狀態相對好的裝置，能夠在AFPS掛載postmarketOS開機，甚至有開發者讓它能跑Wayland了。可惜我沒有這台。 我有兩台支援checkm8的舊iOS裝置，分別為iPhone SE (iOS 15)和iPod touch 6 (iOS 12)。網路上有許多成功啟動Linux的案例，但沒寫他們的iOS版本。iOS 15以上只能用palera1n越獄，得用指令paleran1 -p -f啟動pongoOS Shell，但我測試過有其他問題。所以改用iPod touch 6測試，這台的處理器跟iPhone 6相仿，理論上可行。\n至於要怎麼跑Linux呢？首先要透過checkra1n進入pongoOS Shell，再引導Linux開機。\n要選哪個Linux發行版呢？雖然Reddit有人成功編譯Ubuntu開機，Twitter也有人跑起Asahi Linux（見文末參考資料），但是postmarektOS Wiki上面有更多人成功的照片，加上這個社群是比較關注Linux行動裝置議題的，所以我以這個發行版為基礎下去嘗試。\n後續有二種作法，一是將Linux編譯成ramdisk開機，重開機後資料就會消失。\n二是利用pmbootstrap提供的Netboot功能，進行網路開機，重開機後資料依然會消失，不過rootfs會留在電腦上。\n嗯，所以嚴格說來這些都不是真正的「裝」Linux系統到iPhone上，系統沒有真正寫入到iPhone磁碟，只是暫時用Linux開機而已。目前不論用什麼方法，都得依賴電腦引導才能開機進入Linux。\n2. 準備項目 # Linux或Mac電腦，我使用Ubuntu 24.04 支援checkra1n的iOS裝置，也就是A7 ~ A11晶片，iPhone 5S ~ iPhone X的裝置。我使用iPod touch 6，系統版本iOS 12.5.7。 Lightning to USB OTG轉接器，滑鼠和鍵盤。因為Linux沒有觸控驅動，所以iPhone開機後得用鍵盤滑鼠控制。若熟悉使用SSH指令控制X11的話不要也罷。 3. 編譯pongoOS # pongoOS是在載入iOS XNU核心之前執行的程式。\n編譯pongoOS之前，需要依賴checkr1an。（paler1an不需要編譯pongoOS）\n到官網下載checkra1n執行檔，並塞到系統目錄\nwget https://assets.checkra.in/downloads/linux/cli/x86_64/dac9968939ea6e6bfbdedeb41d7e2579c4711dc2c5083f91dced66ca397dc51d/checkra1n sudo mv checkra1n /usr/bin/ Linux安裝Clang 11 sudo apt install clang-11 xdd 從checkra1n的套件庫安裝ld64和cctools-strip，其他發行版需要針對新版Clang手動編譯。 echo \u0026#39;deb https://assets.checkra.in/debian /\u0026#39; | sudo tee /etc/apt/sources.list.d/checkra1n.list sudo apt-key adv --fetch-keys https://assets.checkra.in/debian/archive.key sudo apt update sudo apt install ld64 cctools-strip 取得pongoOS原始碼並編譯，使用konradybcio的fork。 git clone https://github.com/konradybcio/pongoOS cd pongoOS LD_LIBRARY_PATH=\u0026#34;/usr/lib/llvm-11/lib/\u0026#34; EMBEDDED_CC=\u0026#34;/usr/bin/clang-11\u0026#34; EMBEDDED_LDFLAGS=-fuse-ld=/usr/bin/ld64 STRIP=cctools-strip make all 註：pongoOS原始碼太久沒更新了，有時會編譯失敗。你也可以用macOS虛擬機編譯。以下為在macOS Ventura用Xcode編譯的指令：\nxcode-select --install git clone https://github.com/konradybcio/pongoOS cd pongoOS make all 最終會得到build/Pongo.bin。\n4. 編譯Linux核心 # 安裝編譯依賴套件 sudo apt install build-essential clang libncurses5 flex git bc bison 取得konradybcio提供的linux-apple核心原始碼 git clone https://github.com/konradybcio/linux-apple cd linux-apple 取得SoMainline提供的defconfig wget https://raw.githubusercontent.com/SoMainline/linux-apple-resources/master/example.config -O ./.config 調整PAGESIZE make ARCH=arm64 LLVM=1 menuconfig 按/搜尋，輸入_PAGE，按1\nPAGESIZE，A8處理器設定4K，A9處理器以上設定為16K。之後按下Exitt，儲存.config。 編譯核心\nmake ARCH=arm64 LLVM=1 -j$(nproc) Image.lzma dtbs 最終會得到arch/arm64/boot/Image.lzma\n取得dtbpack指令稿，放到Linux核心所在目錄\nwget https://raw.githubusercontent.com/SoMainline/linux-apple-resources/master/dtbpack.sh chmod +x dtbpack.sh 生成dtbpack ./dtbpack.sh 5. 編譯postmarketOS的rootfs # 安裝pmbootstrap\n初始化，機型選apple-iphone6。桌面環境選xfce4。\npmbootstrap init 建立rootfs pmbootstrap install 6. 開機進入Linux # 設定libimobiledevice，確認Linux認得到iPhone。\n將iPhone插上電腦，手動進入DFU模式：關機，等5秒。按住電源鍵3秒，接著按電源鍵＋Home鍵10秒，然後鬆開電源鍵，繼續按著Home鍵。\n確認進入DFU後，在pongoOS原始碼的目錄開啟終端機，用checkra1n進入pongoOS Shell\ncd pongoOS sudo checkra1n -v -V -p -c -k ./build/Pongo.bin 此時iOS裝置的螢幕會看到pongoOS Shell 啟動postmarketOS的neboot\npmbootstrap initfs hook_add netboot pmbootstrap export 將Linux的initramfs傳到iOS裝置 cd pongoOS python3 scripts/load_linux.py -k \u0026#34;linux-apple核心目錄/arch/arm64/boot/Image.lzma\u0026#34; -d \u0026#34;linux-apple核心目錄/dtbpack\u0026#34; -r /tmp/postmarketOS-export/initramfs 等待Linux開機\u0026hellip;結果kernel panic，幹。 如果正常開機的話，再傳送Netboot的rootfs，即可進入Linux系統。\npmbootstrap netboot serve ssh user@172.16.42.1 7. 總結 # 每次幹這種事的時候我就會想到這首歌。It\u0026rsquo;s all a waste of time again. 目前沒有實用性，有點像是驅動支援度差的Android機硬要刷postmarketOS那樣。最大問題還是驅動程式支援度差，看SoMainline提供的表格就知道，幾乎全部的硬體功能都是打叉的。\n而Apple裝置的驅動程式又有誰有辦法逆向工程出來呢？有像Asahi Linux那樣熱忱的開發者嗎？況且啟動Linux還是靠硬體漏洞實現的。\n除了能開機跑些Linux程式外沒什麼發展性。\n比較現實的策略，可能還是在iOS裝置跑JIT加速的UTM虛擬機，再於裡面跑Linux虛擬機較為實用。\n參考資料 # Resources for Linux on checkm8able iDevices - Github Apple iPhone 6 (apple-iphone6) - postmarketOS Wiki Running postmarketOS on iPhone 7 - project-insanity.org Linux with Wayland is now running on iPhone 7 - project-insanity.org SUCCESS: iPhone 7 booting Ubuntu 20.04 to full gnome-shell desktop GUI - Reddit Linux on iPad Air 2 - Twitter ","date":"2024年10月7日","externalUrl":null,"permalink":"/posts/iphone-6-postmarketos/","section":"所有文章","summary":"關於在iOS裝置跑Linux系統的嘗試，我之前討論過iSH Shell終端機以及UTM虛擬機的作法，現在我要來嘗試直接在iPhone裝Linux系統。\n1. 背景 # checkm8可說是Apple近年來最大的漏洞，搭配checkra1n軟體，能夠在開機之前完成越獄操作。2020年，有神人搞了Project Sandcastle，成功在iPhone 7跑Android 10，作者也著手移植Linux核心，儘管差點被Apple告了，這個專案依然繼續開發。\n最近已經有人開發出了LineageOS的移植版本，例如Android device tree for “snowcastle”，可以在支援的iPhone跑最新Android 16。\n幾年後，更多開發者嘗試在其他iPhone上跑Linux。checkm8仰賴的漏洞僅支援A7 ~ A11晶片，也就是iPhone 5S ~ iPhone X的裝置，更舊或更新的裝置都不行。\n理想上iPhone 7是目前狀態相對好的裝置，能夠在AFPS掛載postmarketOS開機，甚至有開發者讓它能跑Wayland了。可惜我沒有這台。 我有兩台支援checkm8的舊iOS裝置，分別為iPhone SE (iOS 15)和iPod touch 6 (iOS 12)。網路上有許多成功啟動Linux的案例，但沒寫他們的iOS版本。iOS 15以上只能用palera1n越獄，得用指令paleran1 -p -f啟動pongoOS Shell，但我測試過有其他問題。所以改用iPod touch 6測試，這台的處理器跟iPhone 6相仿，理論上可行。\n","title":"iPhone 6裝Linux系統：透過checkra1n越獄跑postmarketOS","type":"posts"},{"content":"","date":"2024年10月7日","externalUrl":null,"permalink":"/tags/kfd-exploit/","section":"標籤","summary":"","title":"KFD Exploit","type":"tags"},{"content":"","date":"2024年10月7日","externalUrl":null,"permalink":"/tags/trollstore/","section":"標籤","summary":"","title":"TrollStore","type":"tags"},{"content":"TrollStore為一款開放原始碼的iOS應用程式商店，讓你免越獄安裝IPA，側載第三方APP。\n這款APP由opa334開發，中文名叫做巨魔商店（巨魔為網路用語，意思為網路白目），象徵利用iOS系統的漏洞，「欺騙」系統簽名機制，從而安裝IPA。圖示是嘲諷意味滿滿的暴走漫畫臉。 裝TrollStore能幹嘛呢？你可以任意安裝第三方APP，例如網友crypti1c整理的表格就列出了數以百計不會在App Store上架的APP。\n本文介紹如何在iPhone/iPad安裝TrollStore，以及相關工具。\n1. TrollStore與AltStore的差別 # TrollStore不等同越獄。\n同樣是側載IPA，跟AltStore有什麼差呢？根據官方Github介紹，TrollStore本身是永久簽名的APP，利用iOS的「CoreTrust」漏洞，騙過系統簽名驗證機制，讓使用者不只能任意安裝IPA，還可以不用簽名，即永久不必重簽，不用像AltStore每7天要連到電腦重簽。\n這即是說，IPA一安裝後就是永久有效的。過去要達到「IPA永久不必重簽」只能靠越獄，而TrollStore不會讓你的裝置變成越獄狀態（不用怕銀行APP閃退），也能夠擁有類似越獄的好處。\nTrollStore一旦安裝成功後，好處當然是不言而喻：你可以不用再連到電腦重簽IPA了，APP一安裝永久有效，且IPA安裝數量無上限。\n另外，TrollStore支援以「JIT即時轉譯模式」啟動APP，可加速部份模擬器APP的效能，例如UTM、iSH Shell、PojavLauncher。 不過，TrollStore安裝比較複雜，因為它必須利用特定iOS版本的漏洞來安裝，可能Apple一更新漏洞就失效了。\n而AltStore的安裝方式相對來說比較「合法」，已經出來好幾年了都沒被Apple擋掉過，適應性較強。\nTrollStore在iOS 16之後幾乎不能用了，如果你想要破除一個iOS裝置只能安裝三個APP的限制，可以考慮使用LiveContainer這個新方案。\n2. TrollStore支援的裝置列表 # TrollStore主要依賴的是軟體漏洞，其次才是iPhone/iPad硬體。\n因為每個版本的漏洞都不一樣，導致TrollStore有很多種奇怪的裝法。安裝時要檢查iOS版本有沒有對上。\n撰文當下，TrollStore的版本為V2.1。\n請到CFW Guide網站看開發者提供的表格，選取適當的安裝方式。\n如下圖所示，撰文時點iOS 14、iOS 15、iOS 16的裝置比較有機會裝TrollStore。其餘顯示Not Applicable和Unsupported的裝置就是不支援。 你也可以用Dopamine (iOS 15/iOS 16)這類工具越獄後，再透過Sileo安裝TrollStore Helper，用以安裝TrollStore。\n3. 安裝TrollStore # 請謹慎閱讀上一節的表格再往下看。\n我的裝置是iPhone SE第一代，系統版本iOS 15.8.3，所以我採用「TrollInstallerX」的安裝方式。\n將AltStore安裝到iPhone。\n到Github下載TrollInstallerX.ipa，透過AltStore安裝。在安裝的時候，記得點選Keep The Extension選項。\n開啟APP，點選Install TrollStore 選擇要覆蓋的系統APP，選取「提示」APP 通常之後TrollStore就會安裝成功了。如果不行，多試幾次。 你應該會在iOS桌面看到TrollStore的圖示。由於TrollStore是永久簽名的APP，故不會有AltStore 7天過期的問題。 4. 如何透過TrollStore安裝IPA # 以虛擬機軟體UTM為例子：\n開啟Safari，下載IPA\nIPA下載後會放到我的iPhone →下載資料夾\n點選TrollStore右上方＋號，選取下載的IPA檔案 閱讀APP內容後即可安裝，不需要連著電腦，亦無需重簽。 ","date":"2024年10月7日","externalUrl":null,"permalink":"/posts/ios-trollstore/","section":"所有文章","summary":"TrollStore為一款開放原始碼的iOS應用程式商店，讓你免越獄安裝IPA，側載第三方APP。\n這款APP由opa334開發，中文名叫做巨魔商店（巨魔為網路用語，意思為網路白目），象徵利用iOS系統的漏洞，「欺騙」系統簽名機制，從而安裝IPA。圖示是嘲諷意味滿滿的暴走漫畫臉。 裝TrollStore能幹嘛呢？你可以任意安裝第三方APP，例如網友crypti1c整理的表格就列出了數以百計不會在App Store上架的APP。\n本文介紹如何在iPhone/iPad安裝TrollStore，以及相關工具。\n1. TrollStore與AltStore的差別 # TrollStore不等同越獄。\n同樣是側載IPA，跟AltStore有什麼差呢？根據官方Github介紹，TrollStore本身是永久簽名的APP，利用iOS的「CoreTrust」漏洞，騙過系統簽名驗證機制，讓使用者不只能任意安裝IPA，還可以不用簽名，即永久不必重簽，不用像AltStore每7天要連到電腦重簽。\n這即是說，IPA一安裝後就是永久有效的。過去要達到「IPA永久不必重簽」只能靠越獄，而TrollStore不會讓你的裝置變成越獄狀態（不用怕銀行APP閃退），也能夠擁有類似越獄的好處。\nTrollStore一旦安裝成功後，好處當然是不言而喻：你可以不用再連到電腦重簽IPA了，APP一安裝永久有效，且IPA安裝數量無上限。\n另外，TrollStore支援以「JIT即時轉譯模式」啟動APP，可加速部份模擬器APP的效能，例如UTM、iSH Shell、PojavLauncher。 ","title":"TrollStore (巨魔商店) 教學 ～ iPhone安裝第三方IPA，簽名永久有效","type":"posts"},{"content":"什麼是假越獄 (scam jailbreak) 呢？就是宣稱能夠給iPhone免電腦越獄，但實為詐騙的教學。\n初心者要怎樣防止被假越獄詐騙呢？本文Ivon討論常見的iOS越獄詐騙手法，以及如何尋找正確的iOS越獄資訊。\n引用自Reddit的meme，在詢問iOS某版本有無越獄前，請先爬文。 1. iOS假越獄的詐騙手法 # 每次Apple一推出iOS更新，就會出現相應的假越獄消息，尤其以Youtube為重災區。\n就以撰文當下的iOS 18來說，推出不久Youtube便滿是這類影片，佈滿聳動的標題和縮圖。 點進去不難發現，他們的宣傳手法差不多，都說「免電腦」越獄，只要透過一個網頁就能越獄，結果點進去網址帶你到可疑的網頁，下載一些APP之後，才會自動下載Cydia幫你越獄。\n為什麼這樣就能越獄？不對，應該先問，為什麼iOS能直接安裝第三方APP？嗯，其實原理不難懂。如果你對iOS側載沒概念，那麼請先閱讀iOS側載IPA的方法匯總一文了解。\n簡言之，這種透過網頁下載的越獄，大部分都是假的，可能還會送你個有問題的描述檔。\n那個Cydia純純就是騙不知道的人在用的，誰跟你說能裝Cydia就是越獄？現在越獄社群主流套件管理方案是Sileo，誰還在給你用Cydia？\n你應該有個觀念，每個iOS版本的「越獄」方案名字都不見得會一樣，因為是不同開發者製作的，利用漏洞也不同。比如unc0ver是iOS 14以前才能用的越獄，iOS 15越獄應當改用Dopamine或palera1n。現在iOS 18還在講unc0ver的，就是妥妥的沽名釣譽，利用資訊差詐騙！\n照著這些假越獄影片的步驟走，到頭來，幫別人賺到了點擊量和下載量，結果呢？越獄沒成功，浪費你我的時間。如果下載到有問題的描述檔，可能還會被偷走個人資料。\n不能否認，過去確實有能靠APP觸發的越獄漏洞，例如iOS 15的Dopamine，還有iOS 11的unc0ver，因此靠描述檔偷渡越獄的IPA上去也不是不行。\n但是！那絕對不是在任一iPhone都能使用的，iOS越獄是靠系統漏洞實現，漏洞每台裝置都不同，因此沒有適用全部iOS裝置的越獄漏洞能用。就以近年最知名的checkra1n越獄來說，支援的裝置數量有限，它利用的硬體漏洞必須是搭載A7 ~ A11晶片的iOS裝置，除此之外都是假的。即使發現了新的漏洞發現出來，應當不會叫做checkra1n才是！\n或許，有些宣稱能越獄的軟體得要你下載電腦軟體操作，這樣就是真的越獄了吧？這倒未必。這個我會在下面提到。\n2. 中國iOS輔助軟體用於越獄的可信度 # 搜尋越獄資料的時候，有時候會找到iOS輔助軟體。這些軟體只是作為iTunes替代品，協助iPhone備份資料，但有時候他們也會宣稱自己能給iPhone越獄。\n這只是個人觀點，我對中國製造的iOS輔助軟體的抱嚴重懷疑態度的，近年最常見的就是「愛思助手」、「PP助手」了吧。\n不是針對中國，歐美也有很多這類怪怪的iOS輔助軟體，例如iTools、iMyFone、Tenorshare什麼的，可信度也要打個大問號。\n他們除了提供備份iOS裝置的功能以外，有的還會提供越獄，但我覺得用他們來越獄風險蠻大的。 你知道Windows電腦與iOS裝置走USB通訊並非不可能的事情，Apple的協定早就被libimobiledevice開源社群破解出來了，這也是為何checkra1n能在Linux運作的原理。\n（本段僅為個人推測，沒有實質證據）libimobiledevice工具僅有命令行，且大多是macOS和Linux系統在用。這些廠商，他們看來就是瞄準Windows缺少這類工具的市場，推出了自家的專有軟體方案，推銷iTunes做不到的功能來吸引人，從而在商業市場取得市占率。\n專有軟體背後做了什麼，沒有人知道，你怎麼知道他的越獄方案是否可靠呢？現在的時代，許多越獄軟體的作者都會把原始碼放在Github，相關軟體也多半有開源，讓人放心檢視背後原理。你就用那些工具越獄就好了，為何要用專有軟體冒險？還要透過他們的軟體來下載本就開源免費的越獄APP？\n這些第三方公司還可能偷偷蒐集資料，造成隱私疑慮。\n嘛，商業競爭無可厚非，再加上Apple生態系總會有盤子(phàn-á)花錢去買這些專有軟體，這個市場誰能不賺呢？但是他們忘記開源社群的貢獻，然後，這些廠商就會變本加厲，使用一些手段試圖綁住用戶。歐美廠商可能就用「教學文章」來推銷他們的產品，營造他們是專家，你的神的感覺，久而久之就容易吸引到更多初心者用戶。\n你知道我在說什麼，搜尋iOS教學總是會找到iMyFone的文章，然後冷不防的在文末推銷自家產品～ 而中國廠商就是盜取個人資料了，以前有偷走Apple ID的案例：盜取iPhone賬戶密碼　裝App隨時都中病毒\n甚至有利用Find My iPhone遠端鎖定iPhone詐財的經歷：內地多人iPhone遭鎖定勒索　犯案手段簡單到意想不到\n所以，謹防假越獄的同時也要小心這些專有軟體。\n3. 個人被假越獄騙到的經歷 # 說來慚愧，在高中剛接觸iPhone越獄的Ivon，也曾經被假越獄騙到過。\n2016年還是iPhone初心者，拿到搭載iOS 9.3.5的iPhone 4S，就Ivon有限的知識，只知道有盤古越獄(Pangu)的存在。確實中國盤古團隊所發表的越獄軟體是真的很受歡迎，但是有限定iOS版本的說，版本只支援到iOS 9.1。iOS 9.3.5要到2021年才有Phoenix越獄方案支援。\n但不曉得是不是盤古越獄名氣太大，許多假越獄網站都冠以pangu之名招搖撞騙，直到現在仍有許多假越獄網站叫做pangu8、pangu9的。當時我就隨便點進了一個網站，依照網頁上的指示做了蠢事，他們騙人的方法在現在看來還滿蠢的：\n「我們還沒有iOS 9.3.5的越獄最新消息，但是你可以用Safari把我們的網站加入到iPhone首頁，等待最新消息。」\n然後我就傻傻的照做了，以為哪天就有越獄會自己出現。幸好沒有到被詐騙的地步。\n現在看來，這些網站根本就是騙點擊的，用各種越獄假新聞來洗點擊量，部落格和Youtube影片雙管齊下，流量手到擒來，廣告費賺好賺滿！\n這讓我想到Android的KingRoot，號稱免電腦的Root方案，過去我也被它騙過。\n4. 尋找iOS越獄資訊的正確方法 # 那麼，要到哪些網站才能得到真正有用的越獄資訊？\n還得是社群媒體，而且是以英文資訊為主。保持資訊透明是很重要的，有越獄資訊出來，就不該藏私。\n但是社群媒體還是一堆假消息呀？不論Twitter和Youtube皆然，clickbait實在太多了！\n這個嘛，找比較多人且有板主在管理的討論區往往能得到更為真實的資訊，例如Reddit的r/jailbreak板，就有許多高品質英文討論，還有網友會整理資訊要大家防範詐騙。 中文越獄討論區，中國論壇的資訊Google似乎都搜尋不到，可能百度貼吧越獄吧還有一點熱度？\n網際網路的資訊應當是公開分享的，而非透過技術手段把東西綁架在微信公眾號之類的平台內，不讓搜尋引擎找到。\n至於台灣嗎，PTT和Mobile01是有零星散落的越獄資訊，Mobile01還有越獄專板。至於apk.tw和iphone4.tw的越獄討論專板感覺都變成鬼城了，目前活人比較多的可能就長期有在關注越獄資訊的瘋先生Facebook社團。\n如果覺得討論區爬文很累，那麼推薦一個社群維護的網站：Apple DB\n這是由開源社群維護的資料網站，無廣告，精確到每一台Apple裝置的iOS版本有什麼越獄方案都列出來，可作為一個不錯的參考來源。 此外，姊妹站iOS CFW Guide也有很多真正的越獄教學文章，備受Reddit越獄社群信賴。 上面有許多詳細的越獄步驟，且文章都是常常有在更新的，而非由不負責任的部落客維護，只想著賺廣告費（嗯，怎麼感覺膝蓋中了一箭）。\n","date":"2024年10月4日","externalUrl":null,"permalink":"/posts/scam-ios-jailbreak-tutorials/","section":"所有文章","summary":"什麼是假越獄 (scam jailbreak) 呢？就是宣稱能夠給iPhone免電腦越獄，但實為詐騙的教學。\n初心者要怎樣防止被假越獄詐騙呢？本文Ivon討論常見的iOS越獄詐騙手法，以及如何尋找正確的iOS越獄資訊。\n引用自Reddit的meme，在詢問iOS某版本有無越獄前，請先爬文。 1. iOS假越獄的詐騙手法 # 每次Apple一推出iOS更新，就會出現相應的假越獄消息，尤其以Youtube為重災區。\n就以撰文當下的iOS 18來說，推出不久Youtube便滿是這類影片，佈滿聳動的標題和縮圖。 點進去不難發現，他們的宣傳手法差不多，都說「免電腦」越獄，只要透過一個網頁就能越獄，結果點進去網址帶你到可疑的網頁，下載一些APP之後，才會自動下載Cydia幫你越獄。\n為什麼這樣就能越獄？不對，應該先問，為什麼iOS能直接安裝第三方APP？嗯，其實原理不難懂。如果你對iOS側載沒概念，那麼請先閱讀iOS側載IPA的方法匯總一文了解。\n簡言之，這種透過網頁下載的越獄，大部分都是假的，可能還會送你個有問題的描述檔。\n那個Cydia純純就是騙不知道的人在用的，誰跟你說能裝Cydia就是越獄？現在越獄社群主流套件管理方案是Sileo，誰還在給你用Cydia？\n你應該有個觀念，每個iOS版本的「越獄」方案名字都不見得會一樣，因為是不同開發者製作的，利用漏洞也不同。比如unc0ver是iOS 14以前才能用的越獄，iOS 15越獄應當改用Dopamine或palera1n。現在iOS 18還在講unc0ver的，就是妥妥的沽名釣譽，利用資訊差詐騙！\n","title":"iPhone免電腦越獄？關於Youtube那些「假越獄，真詐騙」教學背後的問題","type":"posts"},{"content":"為什麼要AI繪圖呢？想像一下，在對話的時候讓AI把故事裡的場景畫出來～讓畫面更有沈浸感，好比在森林中走路，繪製前方看到的景色，或是遭遇到的敵人等等。\n或者讓AI在教你一些知識的時候，隨時生成圖片作輔助教學。 向Lara Lightland詢問黑洞樣子並回傳圖片\n搭配多模態語言模型的話，還能跟AI討論圖片內容呢！\nSillyTavern支援多款AI生圖服務：\n線上：AI Horde、ChatGPT、NovelAI、HuggingFace 本機：ComfyUI、Stable Diffusion WebUI、Draw Things SillyTavern可以將對話內容作為提示詞，傳給AI服務生圖。AI繪圖每家的品質都不一樣，具體會出現什麼，完全沒有人知道。就以Stable Diffusion為例，生成一般的風景倒還湊合，但如果要生成跟你對話的人物十分相關的圖片，你可能得準備LoRA加入生圖流程了！\n1. 將SillyTavern連接到AI生圖服務 # 以ComfyUI為例，你需要架起服務並啟動API伺服器：ComfyUI安裝教學。不用準備工作流，SillyTavern會使用ComfyUI內建的生圖。\n點選SillyTavern的擴充套件面板，在圖片生成填入ComfyUI伺服器的網址。如果是架在同一台電腦，那麼就填寫http://127.0.0.1:8188，再點選「連線」測試。 再於下面設定要使用的模型、解析度 2. SillyTavern請求AI生圖 # 這可以在聊天欄使用/sd 提示詞指令達成\n例如要求回傳一張你的圖片（指AI）\n/sd you 要求回傳一張你的圖片（指跟AI對話的使用者）\n/sd me 按照你的提示詞任意生圖，填入負向提示詞與正向提示詞：\n/sd negative=\u0026#34;ugly, fat\u0026#34; young gilrl 或者，在對話的時候使用Can you generate something...的提示詞，通常就會觸發AI生圖。\n也可以點選聊天欄的訊息，將該段訊息作為提示詞生圖。 生圖之後點選聊天欄的箭頭可要求重新生圖。\n3. SillyTavern讓AI分析圖片內容 # 按聊天欄的按鈕呼叫語言模型出來給圖片下註解(caption)。我是不知道這功能有什麼用，因為AI也看不到這條訊息就是了。 要讓AI查看圖片內容的話，一般的語言模型是「看」不到圖片的，需要切換到多模態模型，例如Ollama支援LLaVA，就在選單切換目前的模型 在聊天欄點選Generate Caption上傳圖片 於聊天欄詢問AI對圖片的看法？通常就會給出答案。 參考 # Image Generation | docs.ST.app ","date":"2024年10月3日","externalUrl":null,"permalink":"/posts/sillytavern-image-generation/","section":"Language-Models","summary":"為什麼要AI繪圖呢？想像一下，在對話的時候讓AI把故事裡的場景畫出來～讓畫面更有沈浸感，好比在森林中走路，繪製前方看到的景色，或是遭遇到的敵人等等。\n或者讓AI在教你一些知識的時候，隨時生成圖片作輔助教學。 向Lara Lightland詢問黑洞樣子並回傳圖片\n搭配多模態語言模型的話，還能跟AI討論圖片內容呢！\nSillyTavern支援多款AI生圖服務：\n線上：AI Horde、ChatGPT、NovelAI、HuggingFace 本機：ComfyUI、Stable Diffusion WebUI、Draw Things SillyTavern可以將對話內容作為提示詞，傳給AI服務生圖。AI繪圖每家的品質都不一樣，具體會出現什麼，完全沒有人知道。就以Stable Diffusion為例，生成一般的風景倒還湊合，但如果要生成跟你對話的人物十分相關的圖片，你可能得準備LoRA加入生圖流程了！\n1. 將SillyTavern連接到AI生圖服務 # 以ComfyUI為例，你需要架起服務並啟動API伺服器：ComfyUI安裝教學。不用準備工作流，SillyTavern會使用ComfyUI內建的生圖。\n點選SillyTavern的擴充套件面板，在圖片生成填入ComfyUI伺服器的網址。如果是架在同一台電腦，那麼就填寫http://127.0.0.1:8188，再點選「連線」測試。 ","title":"SillyTavern 連接AI生圖服務Stable Diffusion，聊天時回傳圖片","type":"language-model"},{"content":"語音辨識(Speech Recognition)讓你對麥克風講話來輸入文字，與AI對話。\nSillyTavern可以利用瀏覽器內建的語音辨識系統來輸入文字，也能夠使用OpenAI的Whisper AI進行更精確的偵測。\n1. 安裝語音辨識擴充套件 # 這個功能需要手動安裝。\n點選擴充套件選單，點一下右上角「安裝擴充套件」按鈕，輸入網址https://github.com/SillyTavern/Extension-Speech-Recognition下載 在電腦安裝ffmpeg\n2. 設定語音辨識 # 請注意～本機Whsiper運算的時候會耗用GPU資源計算，因此速度可能比瀏覽器的語音辨識要慢些。\n1.點選擴充功能的Speech Recognition選單，Speech-to-text-Provider選取Whipser (Local) Speech Language建議手動指定語言比較精準。Message Mode選取Append就是在聊天欄輸入文字，Auto send即講完話自動送出訊息。\nMessage Mapping為將聲控對應到SillyTavern的特定指令。\n下面Whisper Model選取whisper-base，使其支援多語言。\n然後就在聊天欄按麥克風圖示發話即可。\n參考 # Speech Recognition | docs.ST.app ","date":"2024年10月3日","externalUrl":null,"permalink":"/posts/sillytavern-speech-recognition/","section":"Language-Models","summary":"語音辨識(Speech Recognition)讓你對麥克風講話來輸入文字，與AI對話。\nSillyTavern可以利用瀏覽器內建的語音辨識系統來輸入文字，也能夠使用OpenAI的Whisper AI進行更精確的偵測。\n1. 安裝語音辨識擴充套件 # 這個功能需要手動安裝。\n點選擴充套件選單，點一下右上角「安裝擴充套件」按鈕，輸入網址https://github.com/SillyTavern/Extension-Speech-Recognition下載 在電腦安裝ffmpeg\n2. 設定語音辨識 # 請注意～本機Whsiper運算的時候會耗用GPU資源計算，因此速度可能比瀏覽器的語音辨識要慢些。\n1.點選擴充功能的Speech Recognition選單，Speech-to-text-Provider選取Whipser (Local) Speech Language建議手動指定語言比較精準。Message Mode選取Append就是在聊天欄輸入文字，Auto send即講完話自動送出訊息。\nMessage Mapping為將聲控對應到SillyTavern的特定指令。\n","title":"SillyTavern設定語音辨識服務，麥克風聲控","type":"language-model"},{"content":"如果您的Linux電腦有Intel ＋ Nvidia或AMD + Nvidia的雙顯示卡架構，那麼你可能會需要用到Nvidia PRIME技術。\n我的有一台搭載Intel + Nvidia雙顯示卡配備的筆電。\n架構如下圖，這台搭載Nvidia的雙顯卡筆電會以Intel內顯 (Integrated Graphics) 輸出螢幕和渲染圖形程式。這會導致3D效能低下，需要手動使用「Nvidia PRIME」技術，呼叫Nvidia獨顯 (Discrete GPU) 出來幹活。 圖源：https://gist.github.com/Misairu-G/616f7b2756c488148b7309addc940b28\nPRIME是在獨立顯示卡與內顯之間切換的技術，專為雙顯卡筆電打造。Nvidia版的PRIME功能叫做Optimus。\n用Intel內顯開機，桌面環境用內顯渲染，節省電量；當遇到需要重度GPU渲染的遊戲程式時，才將渲染作業分配給Nvidia顯示卡，此種過程我們稱之為PRIME Render Offload。\n本文說明Ubuntu的Nvidia PRIME指令用法，適合筆電與桌電的Linux用戶參考。\n1. 雙顯卡筆電的Nvidia獨顯切換方式 # 於Linux安裝Nvidia閉源驅動\n再安裝Envy Control\n執行Envy Control，將顯示卡模式設定為Hybrid，這樣會讓兩張顯示卡保持啟用狀態。如果你設定Nvidia Only那也不需要用Nvidia PRIME了。\n有些系統需要安裝nvidia-prime套件才可以使用PRIME指令。\n2. 如何使用prime-run指令 # 使用指令lspci -k | grep -A 2 -i \u0026quot;VGA\u0026quot;檢查目前使用的顯示卡，應會同時列出Intel和Nvidia的顯示卡\n所有應用程式預設都會以Intel顯示卡渲染。當需要使用Nvidia顯示卡渲染的時候，在指令前面加上prime-run。\n為了檢測GPU資訊，我們使用vulkan-tools套件的vulkaninfo來檢查，這個指令適用X11與Wayland工作階段。\n例如vulkaninfo --summary會顯示目前使用的顯示卡是Intel。 而prime-run vulkaninfo --summary會顯示Nvidia。 實際執行遊戲試試，從終端機執行Minetest，啟用光影，看FPS高低便能知道效果。\n啟動指令：minetest，用Intel顯示卡運算，FPS低落 指令：prime-run minetest，用Nvidia顯示卡運算，FPS正常。 3. 如果找不到prime-run指令 # 如果prime-run無效，試試改用「PRIME環境變數」啟動程式。你需要指定以下環境變數： __NV_PRIME_RENDER_OFFLOAD=1\n__GLX_VENDOR_LIBRARY_NAME=nvidia\n__VK_LAYER_NV_optimus=\u0026ldquo;NVIDIA_only\u0026rdquo;\n指令用法舉例： __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=\u0026#34;NVIDIA_only\u0026#34; \u0026#34;執行檔路徑\u0026#34; 當您要跑CUDA之類的程式的時候，也是這樣操作。預先指定以上環境變數，程式就能利用Nvidia顯示卡渲染。 __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=\u0026#34;NVIDIA_only\u0026#34; \u0026#34;執行檔路徑\u0026#34; 若你的Linux發行版顯示prime-run command not found，那麼自行把以上環境變數寫成指令稿，再將其變成可執行檔。這樣你的系統就有prime-run可以用了。下面是快捷新增的指令： cat \u0026lt;\u0026lt;EOF \u0026gt; /bin/prime-run #!/bin/bash export __NV_PRIME_RENDER_OFFLOAD=1 export __GLX_VENDOR_LIBRARY_NAME=nvidia export __VK_LAYER_NV_optimus=NVIDIA_only exec \u0026#34;$@\u0026#34; EOF sudo chmod +x /bin/prime-run 4. 圖形化prime-run工具 # 能不能讓應用程式切換Nvidia顯示卡更方便些？\nGNOME桌面，對應用程式圖示按右鍵會有「以獨立顯示卡啟動」的選項，背後使用switcherooctl工具設定PRIME的環境變數，這樣就會暫時以Nvidia顯示卡啟動該程式。 KDE Plasma桌面右鍵 → 編輯應用程式，修改Desktop Entry內容，加入PRIME的環境變數：__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=\u0026quot;NVIDIA_only\u0026quot;，這樣以後點應用程式圖示就會一律以Nvidia顯示卡啟動。 或者，KDE Plasma 6以上版本的不要用環境變數，安裝switcherooctl，然後在應用程式設定，勾選用顯示卡執行。 若要在Deskop Entry手動設定PRIME環境變數，直接加在Exec=後面。譬如Firefox就是編輯/usr/share/applications/firefox.desktop檔案，然後找到Exec=這行，改成Exec= env=__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=\u0026quot;NVIDIA_only\u0026quot; /usr/bin/firefox\n5. 以Nvidia PRIME啟動Flatpak版程式 # 以Steam為例，使用flatpak override設定PRIME環境變數，這樣Steam以及其餘子行程都會以Nvidia獨顯啟動。\nflatpak override --user --env=\u0026#39;__NV_PRIME_RENDER_OFFLOAD=1\u0026#39; --env=\u0026#39;__GLX_VENDOR_LIBRARY_NAME=nvidia\u0026#39; --env=\u0026#39;__VK_LAYER_NV_optimus=\u0026#34;NVIDIA_only\u0026#34;\u0026#39; com.valvesoftware.Steam 也可以點選個別Steam遊戲，右鍵 → 內容 在啟動選項加入PRIME的環境變數：__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=\u0026quot;NVIDIA_only\u0026quot; %command%，這樣只有該遊戲會用Nvidia渲染。 6. Nvidia PRIME的雙螢幕輸出 # X11和Wayland環境下應是開箱即用，獨顯的HDMI孔接上第二個螢幕後應該會輸出畫面。\n不過仍然需要使用prime-run指令才能指定用獨顯跑3D程式。\n若沒看到畫面就用xrandr指令手動設定。\n7. 讓桌電也用上PRIME吧 # Nvidia PRIME可不是筆電的專利！Linux桌電只要有雙顯示卡，且以Intel當主螢幕輸出，也是可以使用Nvidia PRIME。\n關於這個作法，見Linux讓Intel GPU負責畫面輸出，Nvidia負責3D運算的方法\n參考資料 # NVIDIA Optimus - ArchWiki Nouveau - ArchWiki Chapter 35. PRIME Render Offload - NVIDIA ","date":"2024年10月2日","externalUrl":null,"permalink":"/posts/linux-nvidia-prime/","section":"所有文章","summary":"如果您的Linux電腦有Intel ＋ Nvidia或AMD + Nvidia的雙顯示卡架構，那麼你可能會需要用到Nvidia PRIME技術。\n我的有一台搭載Intel + Nvidia雙顯示卡配備的筆電。\n架構如下圖，這台搭載Nvidia的雙顯卡筆電會以Intel內顯 (Integrated Graphics) 輸出螢幕和渲染圖形程式。這會導致3D效能低下，需要手動使用「Nvidia PRIME」技術，呼叫Nvidia獨顯 (Discrete GPU) 出來幹活。 圖源：https://gist.github.com/Misairu-G/616f7b2756c488148b7309addc940b28\nPRIME是在獨立顯示卡與內顯之間切換的技術，專為雙顯卡筆電打造。Nvidia版的PRIME功能叫做Optimus。\n用Intel內顯開機，桌面環境用內顯渲染，節省電量；當遇到需要重度GPU渲染的遊戲程式時，才將渲染作業分配給Nvidia顯示卡，此種過程我們稱之為PRIME Render Offload。\n本文說明Ubuntu的Nvidia PRIME指令用法，適合筆電與桌電的Linux用戶參考。\n1. 雙顯卡筆電的Nvidia獨顯切換方式 # 於Linux安裝Nvidia閉源驅動\n再安裝Envy Control\n","title":"Nvidia PRIME用法，Linux雙顯卡電腦切換獨顯跑3D渲染","type":"posts"},{"content":"工作流(workflow)乃紀錄ComfyUI生圖過程的檔案，通常是以.json或.png格式儲存。\n一個工作流可小可大，從簡單的文生圖，到複雜的AI動畫生成步驟，都能用工作流檔案紀錄。 此圖使用ComfyUI生成\n只要有了工作流檔案，你就能把AI生圖過程全部紀錄下來，便於日後重現同樣的生圖步驟，省得在那邊重新拉節點。另外，網路上也有很多人會分享他們的工作流，匯入後即可一鍵生圖，讓不太懂ComfyUI的用戶也能立即享受到AIGC的樂趣。\n首先Ivon先介紹二個方便的擴充功能，再來談如何匯入工作流，以及遇到紅字節點的解決方法。\n1. 建議安裝的工作流輔助擴充 # 最起碼要裝ComfyUI Manager，點此了解如何安裝ComfyUI Manager，可以省去很多手動抓擴充功能的時間，並自動檢查缺少的節點。\n但請注意：ComfyUI Manager只能幫你下載缺少的「擴充功能」，工作流用到的「模型」你得自己下載並放到指定位置。\n2. 如何取得ComfyUI工作流 # 網路上有很多網站分享ComfyUI工作流程，例如：\nComfyUI Wiki Tutorials Manual comfyanonymous.github.io comfyworkflows.com OpenArt AI 工作流通常是以.json或.png格式儲存。\n我們就以「FLUX GGUF文生圖」工作流為例吧，教學網站ComfyUI Wiki的作者提供了範本，並且它需要手動下載一些模型，因此我們可以學習除錯。\n請到ComfyUI Wiki的GGUF Version Flux.1 Workflow頁面下載flux-1-dev-gguf-example.json檔案。 3. 匯入別人的ComfyUI工作流 # 按左上角Workflow → Import，匯入工作流。 匯入別人的工作流程出現紅字框框是正常的，這代表有擴充功能沒有裝到。 點一下左上角的Manager → Install Missing Custom Nodes，下載缺少的擴充功能，再按下Restart重新啟動ComfyUI。 紅框消失了代表目前節點所需的擴充功能已經就緒。 雖然ComfyUI缺少的擴充功能裝好了，但是！模型還得自己下載。\n根據ComfyUI Wiki的指示，我們要手動下載這些模型檔案並放到指定資料夾。 FLUX相關的模型都放在HuggingFace，到儲存庫下載 將flux1-dev-Q5_0.gguf模型放到ComfyUI/models/unet目錄。\n所有東西都下載好之後，就按Queue Prompt生圖吧！敬請注意終端機有無錯誤訊息。\n若出現Prompt outputs failed validation錯誤，請確認模型有無安裝正確。 有時候模型檔不一定要跟工作流的檔案同名，只要檔案正確就行了！像我這裡下載的是量化過的Q5 FLUX模型，可以替代原版工作流所要求的Q6 FLUX模型。 如果你有對工作流做修改，請記得按ComfyUI右上角的Workflow → Save，儲存你的變更！ComfyUI會將使用者的工作流儲存到/ComfyUI/user/default/workflows/。 日後可以點選ComfyUI左側的面板，存取你儲存的工作流。 4. 分享你的ComfyUI工作流 # 點ComfyUI左上角，選Workflow → Export，匯出工作流json。 另外，ComfyUI所生成的.png圖片也能用來當作工作流，內嵌工作流的元資料。匯入後還會自動帶入生成該圖片時的種子碼，所以能夠重新生成幾乎一模一樣的圖。\n但是，PNG不適合用來分享工作流，因為如果你把它上傳到社群媒體，多半會被當成一般圖片格式處理，導致被平台刪除工作流方面的元資料，變成一張普通的PNG檔。故，分享工作流還是以.json為好。\n","date":"2024年10月2日","externalUrl":null,"permalink":"/posts/comfyui-import-workflow/","section":"Ai-Arts","summary":"工作流(workflow)乃紀錄ComfyUI生圖過程的檔案，通常是以.json或.png格式儲存。\n一個工作流可小可大，從簡單的文生圖，到複雜的AI動畫生成步驟，都能用工作流檔案紀錄。 此圖使用ComfyUI生成\n只要有了工作流檔案，你就能把AI生圖過程全部紀錄下來，便於日後重現同樣的生圖步驟，省得在那邊重新拉節點。另外，網路上也有很多人會分享他們的工作流，匯入後即可一鍵生圖，讓不太懂ComfyUI的用戶也能立即享受到AIGC的樂趣。\n首先Ivon先介紹二個方便的擴充功能，再來談如何匯入工作流，以及遇到紅字節點的解決方法。\n1. 建議安裝的工作流輔助擴充 # 最起碼要裝ComfyUI Manager，點此了解如何安裝ComfyUI Manager，可以省去很多手動抓擴充功能的時間，並自動檢查缺少的節點。\n但請注意：ComfyUI Manager只能幫你下載缺少的「擴充功能」，工作流用到的「模型」你得自己下載並放到指定位置。\n2. 如何取得ComfyUI工作流 # 網路上有很多網站分享ComfyUI工作流程，例如：\nComfyUI Wiki Tutorials Manual comfyanonymous.github.io comfyworkflows.com OpenArt AI 工作流通常是以.json或.png格式儲存。\n","title":"ComfyUI如何匯入工作流 (workflow) \u0026 解決缺失的紅字節點","type":"ai-art"},{"content":"早在2022年Stable Diffusion出來之時，就有人用ChatGPT生成提示詞方便AI生圖了。\n所以我們如法炮製，讓OpenWebUI Ollama在本機跑語言模型生成提示詞，傳給生圖軟體，用Stable Diffusion或FLUX模型在本機生成圖片。\nOpen WebUI支援連接到Stable Diffusion WebUI或ComfyUI，我使用ComfyUI做示範。\n要怎麼做呢？雖然有開發者做了ComfyUI的擴充功能stavsap/comfyui-ollama，可將Ollama對話框加入到ComfyUI工作流作為自訂節點，但是這樣做很醜。\n我的構想是，從Open WebUI與語言模型對話，讓其生成提示詞，傳給ComfyUI生成圖片，然後圖片顯示在Open WebUI的聊天欄位。 這樣操作上比較直觀，而且Open WebUI界面較為舒爽，不用在ComfyUI手動拉Ollama節點看著義大利麵條操作。\n1. 架設ComfyUI服務 # 首先，安裝ComfyUI，Linux可用Python手動安裝ComfyUI或者使用Docker裝ComfyUI\n接著將要用的ComfyUI工作流存檔，因為Ollama請求ComfyUI只是單純的文生圖，所以使用ComfyUI內建的文生圖工作流即可。\n嘗試跑一次，確認該工作流能成功生圖。這裡我使用的是SDXL模型。 點ComfyUI設定，啟用Dev Mode 點選Save (API Format)，得到workflow_api.json 2. 選用生成提示詞的Ollama模型 # 一般的Gemma、LLaMA語言模型應該都能用來生成提示詞。\n不過，要求精確的話，網路上還有專為生成提示詞特化的模型，他們可能比較聽話，不會生成提示詞以外的東東，例如llama3_ifai_sd_prompt_mkr_q4km\n3. 給Open WebUI啟用AI生圖 # 透過Docker架設Open WebUI與Ollama\n登入Open WebUI，於系統管理員設定啟用Image Generation，選ComfyUI，再輸入ComfyUI伺服器網址，如果是在架在同一台電腦就輸入http://localhost:8188 上傳ComfyUI工作流workflow_api.json，會印出JSON。依照上述JSON的設定，在下面綠色欄位填寫每個節點的Node ID，例如這裡Prompt對應CLIPTextEncode的欄位，就填6。JSON裡面的Prompt欄位應該要是空白的。 下面設定要生圖的模型檔、圖片大小、步數。點選儲存。預設模型欄位，若Stable Diffusion模型檔非ckpt而是gguf的話，就直接填寫檔案名稱。 4. 如何指示語言模型生成圖片 # 其實任何一句語言模型的回答都能當作生圖的提示詞，不過Stable Diffusion模型偏好特定格式，所以我們要請語言模型生成提示詞。\n輸入訊息，以Write a prompt for句子開頭，中間插入你要的場景，最後加上一句Only response the prompt for the image and nothing else.。例如： Write prompts for \u0026#34;A smiling girl, Nero Claudius (Fate series), in bikini.\u0026#34;. Only response the prompts for the image and nothing else. 等語言模型回話之後，點選下方「生成圖片」的按鈕，將生圖請求傳給ComfyUI 生完圖後就會顯示在OpenWebUI的對話了。（是的，我知道這張圖生歪了，AI還需要多調校😈） 參考資料 # 使用 ComfyUI 來生成圖片，再將其導入 Open WebUI 中，讓使用更加直觀。 - Chun-Li 春麗 🌍 Environment Variable Configuration#image-generation - Open WebUI Docs Run ComfyUI Workflows In Open WebUI - Flux GGUF Workflow included - Local DALLE 3 ","date":"2024年10月1日","externalUrl":null,"permalink":"/posts/ollama-generate-prompts-for-comfyui/","section":"Language-Models","summary":"早在2022年Stable Diffusion出來之時，就有人用ChatGPT生成提示詞方便AI生圖了。\n所以我們如法炮製，讓OpenWebUI Ollama在本機跑語言模型生成提示詞，傳給生圖軟體，用Stable Diffusion或FLUX模型在本機生成圖片。\nOpen WebUI支援連接到Stable Diffusion WebUI或ComfyUI，我使用ComfyUI做示範。\n要怎麼做呢？雖然有開發者做了ComfyUI的擴充功能stavsap/comfyui-ollama，可將Ollama對話框加入到ComfyUI工作流作為自訂節點，但是這樣做很醜。\n我的構想是，從Open WebUI與語言模型對話，讓其生成提示詞，傳給ComfyUI生成圖片，然後圖片顯示在Open WebUI的聊天欄位。 這樣操作上比較直觀，而且Open WebUI界面較為舒爽，不用在ComfyUI手動拉Ollama節點看著義大利麵條操作。\n1. 架設ComfyUI服務 # 首先，安裝ComfyUI，Linux可用Python手動安裝ComfyUI或者使用Docker裝ComfyUI\n接著將要用的ComfyUI工作流存檔，因為Ollama請求ComfyUI只是單純的文生圖，所以使用ComfyUI內建的文生圖工作流即可。\n嘗試跑一次，確認該工作流能成功生圖。這裡我使用的是SDXL模型。 點ComfyUI設定，啟用Dev Mode ","title":"Open WebUI連接Stable Diffusion生成圖片，讓AI指揮AI繪圖","type":"language-model"},{"content":"Pot Desktop（派了个萌的翻译器）為一款免費的電腦螢幕即時翻譯軟體。 特色如下：\n支援Linux、Windows、macOS系統，跨平台使用無壓力 一複製文字便會跳出翻譯視窗，十分便利。 提供多種翻譯服務，包含DeepL、Bing、Google翻譯、百度翻譯、有道翻譯、ChatGPT、離線語言模型等等。 支援Open AI的語音合成引擎，聆聽自然的發音 可搭配Anki匯入生字本，建立單字庫。 自由軟體，不會蒐集使用者資料。 Ivon認為Pot是還滿方便的工具，只要能劃線選取文字的地方就能翻譯。 Pot也能在擷圖後馬上OCR辨識文字，並吐出翻譯結果。 1. 下載Pot Desktop # 參考官網文件，按照作業系統下載。\nLinux系統，Ubuntu安裝.deb檔，Arch Linux從AUR下載。其他發行版就用Flatpak版或AppImage。\nPot對Wayland支援度不太好，可能無法使用快捷鍵即時翻譯。如果出現黑色視窗，嘗試拉動一下視窗大小。\n由於Pot背後使用Tesseract進行光學辨識。若用.deb或AppImage安裝，記得在Linux系統安裝對應的語言套件。例如Ubuntu用以下指令安裝英文、正體中文、日文的Tesseract套件：\nsudo apt install tesseract-ocr-eng tesseract-ocr-chi-tra tesseract-ocr-chi-tra-vert tesseract-ocr-jpn tesseract-ocr-jpn-vert 2. 啟用翻譯服務 # 啟動Pot Desktop後會顯示在系統右下角。\n點選偏好設定 → 翻譯設定，設定來源語言以及要翻譯的語言。 啟用「監聽剪貼簿」後，只要複製文字或按下CTRL＋C，Pot的視窗就會自動跳出翻譯結果。 Pot Desktop預設啟用的為DeepL、Bing、Yandex、Google翻譯，這些都是免費的線上翻譯服務。\n如果你想要用更強的大型語言模型翻譯，請點選偏好設定 → 服務設定 → 翻譯設定，點選新增服務，新增OpenAI，再填入付費ChatGPT的API key即可。 另外，你也可以自架Ollama，再連線到離線語言模型進行翻譯。 3. 設定文字轉語音 # Pot Dekstop目前沒辦法調用作業系統的TTS。\n內建的是Lingva，需要連線到公共站台使用，可是沒辦法播放音訊。等待作者修復。\n","date":"2024年10月1日","externalUrl":null,"permalink":"/posts/pot-desktop/","section":"所有文章","summary":"Pot Desktop（派了个萌的翻译器）為一款免費的電腦螢幕即時翻譯軟體。 特色如下：\n支援Linux、Windows、macOS系統，跨平台使用無壓力 一複製文字便會跳出翻譯視窗，十分便利。 提供多種翻譯服務，包含DeepL、Bing、Google翻譯、百度翻譯、有道翻譯、ChatGPT、離線語言模型等等。 支援Open AI的語音合成引擎，聆聽自然的發音 可搭配Anki匯入生字本，建立單字庫。 自由軟體，不會蒐集使用者資料。 Ivon認為Pot是還滿方便的工具，只要能劃線選取文字的地方就能翻譯。 Pot也能在擷圖後馬上OCR辨識文字，並吐出翻譯結果。 1. 下載Pot Desktop # 參考官網文件，按照作業系統下載。\nLinux系統，Ubuntu安裝.deb檔，Arch Linux從AUR下載。其他發行版就用Flatpak版或AppImage。\nPot對Wayland支援度不太好，可能無法使用快捷鍵即時翻譯。如果出現黑色視窗，嘗試拉動一下視窗大小。\n由於Pot背後使用Tesseract進行光學辨識。若用.deb或AppImage安裝，記得在Linux系統安裝對應的語言套件。例如Ubuntu用以下指令安裝英文、正體中文、日文的Tesseract套件：\n","title":"Pot Desktop，開源電腦螢幕即時翻譯軟體，支援Linux、macOS、Windows","type":"posts"},{"content":"OCR即是光學字元辨識。\n我聽說Windows有「ABBYY FineReader」、「Adobe Acrobat」的專有軟體，能夠將PDF檔案OCR之後變成可編輯的文字，於是我就想在LInux找開源替代品。\n正好我手頭上有些設計不良的PDF檔案，裡面文字全部都沒辦法複製也無法搜尋，所以需要一個工具將它們OCR後變成可複製的文字格式。\n英文PDF文件範例 中文PDF文件範例 1. Linux的OCR方案探討 # 如果需要PDF編輯功能的，那麼LibreOffice Draw便足以勝任。\n接著要搞定OCR的部份。\n通常Linux的OCR都是使用Google釋出的開源Tesseract引擎，支援中文、英文、日文等多國語言。\nGithub有很多專案，其中功能最多的應該是這款：LIOS (Linux-intelligent-ocr-solution)。感覺設計不良，安裝後開不起來，可能是GTK版本太老了？\nNormCap，擷圖後OCR，僅支援英文，可以用Flatpak一鍵安裝。\nTextSnatcher，圖片OCR。可以用Flatpak一鍵安裝。Frog功能亦是類似，支援多國語言。\nPot 派了个萌的翻译器，劃詞翻譯器，支援OCR。\nUmi-OCR，基於PaddleOCR製作的圖片與PDF辨識軟體。\nOCRmyPDF，命令行PDF轉檔工具，OCR後給PDF加上文字圖層方便後續編輯。英文和中文支援度不錯。\nStirling-PDF，網頁PDF轉檔工具，功能非常多。\n另外還有一款ocrfeeder，Gnome的OCR閱讀器，ㄟ\u0026hellip;不太好用。\n從上述方案來看，還是OCRmyPDF最好了吧。\n2. 安裝OCRmyPDF # 根據OCRmyPDF官方文件\n因為使用Tesseract引擎，需要先安裝對應語言的套件，Ubuntu套件庫多半有收。例如我要安裝英文與正體中文的套件：\nsudo apt search tesseract-ocr sudo apt install tesseract-ocr-eng tesseract-ocr-chi-tra tesseract-ocr-chi-tra-vert 接著再安裝OCRmyPDF套件\nsudo apt install ocrmypdf 3. 命令行OCRmyPDF用法 # 在要處理PDF檔案的目錄開啟終端機。\n指定語言為英文，設定輸出為標準PDF（預設的PDF/A格式輸出後便無法修改），再指定輸入檔案為input.pdf與輸出檔案output.pdf，\nocrmypdf -l eng --output-type pdf input.pdf output.pdf 如果PDF檔案是英中混合，那就加上多個語言參數：\nocrmypdf -l eng+chi_tra --output-type pdf input.pdf output.pdf 關於中文漢字掃描後出現多餘空格問題：這個是Tesseract本身的問題，目前沒有解決方式。\n等待辨識轉檔完成，新的PDF就能夠選取文字了。 在LibreOffice Draw開啟的時候，OCR辨識到的文字會成為一個圖層，可以與原始檔案分離。 4. 安裝圖形版OCRmyPDF前端 # OCRthyPDF-Essentials是digidigital開發的GUI版本，可以用Snap安裝：\nsudo snap install ocrthypdf 如果需要遠端處理的，也可以改用Docker部署網頁版razemio/ocrmypdfonweb。\n","date":"2024年10月1日","externalUrl":null,"permalink":"/posts/linux-ocrmypdf/","section":"所有文章","summary":"OCR即是光學字元辨識。\n我聽說Windows有「ABBYY FineReader」、「Adobe Acrobat」的專有軟體，能夠將PDF檔案OCR之後變成可編輯的文字，於是我就想在LInux找開源替代品。\n正好我手頭上有些設計不良的PDF檔案，裡面文字全部都沒辦法複製也無法搜尋，所以需要一個工具將它們OCR後變成可複製的文字格式。\n英文PDF文件範例 中文PDF文件範例 1. Linux的OCR方案探討 # 如果需要PDF編輯功能的，那麼LibreOffice Draw便足以勝任。\n接著要搞定OCR的部份。\n通常Linux的OCR都是使用Google釋出的開源Tesseract引擎，支援中文、英文、日文等多國語言。\nGithub有很多專案，其中功能最多的應該是這款：LIOS (Linux-intelligent-ocr-solution)。感覺設計不良，安裝後開不起來，可能是GTK版本太老了？\nNormCap，擷圖後OCR，僅支援英文，可以用Flatpak一鍵安裝。\nTextSnatcher，圖片OCR。可以用Flatpak一鍵安裝。Frog功能亦是類似，支援多國語言。\nPot 派了个萌的翻译器，劃詞翻譯器，支援OCR。\nUmi-OCR，基於PaddleOCR製作的圖片與PDF辨識軟體。\nOCRmyPDF，命令行PDF轉檔工具，OCR後給PDF加上文字圖層方便後續編輯。英文和中文支援度不錯。\nStirling-PDF，網頁PDF轉檔工具，功能非常多。\n另外還有一款ocrfeeder，Gnome的OCR閱讀器，ㄟ…不太好用。\n從上述方案來看，還是OCRmyPDF最好了吧。\n2. 安裝OCRmyPDF # 根據OCRmyPDF官方文件\n因為使用Tesseract引擎，需要先安裝對應語言的套件，Ubuntu套件庫多半有收。例如我要安裝英文與正體中文的套件：\n","title":"OCRmyPDF，Linux開源OCR軟體，將PDF或圖片轉成文字進行編輯","type":"posts"},{"content":"Raspberry Pi也能跑大型語言模型(LLM)嗎？可以，甚至能架個網頁聊天服務呢。\n如下圖，在Raspberry Pi跑語言模型，並透過手機瀏覽器與之互動。 Ivon使用的板子為Raspberry Pi 5，加裝風扇。軟體部份採用Ollama的開源解決方案，以它為中心即可執行各種開源語言模型，包括LLaMA、Gemma、Mistral、Phi等等。\n要發揮Ollama的更多功效，就是讓它與其他程式整合了吧，Ollama能作為Home Assistant的其中一個服務後端，用於控制智慧家庭的家電，參見官網說明。\n1. 部署Ollama與Open WebUI服務 # 我使用Raspberry Pi OS 12跑Docker。\n參見Docker安裝Ollama + Open WebUI。\n執行指令取得樹莓派區域IP\nip addr 用電腦或手機連線到http://樹莓派IP:3000登入Open WebUI\n我們再從Open WebUI的管理員控制台下載模型，考慮到性能，選擇Microsoft Phi-3。 2. 看看Ollama效能如何 # 我們以Ollama指令進入純文字對話模式，測試生成速度：\ndocker exec -it ollama ollama run phi3 --verbose 經測試，Raspberry Pi 5跑3B參數的Phi-3小型語言模型速度還行，10秒內就有回復，速度能達到3 token/s。 最大極限是跑7B參數的模型，可，Raspberry Pi 5只有8GB RAM，跑7B以上模型很容易記憶體不足，得用dphys-swapfile指令設定變數CONF_MAXSWAP，加大系統的SWAP才夠跑。不過即使如此，7B模型回應速度也是十分之緩慢，可能要把SD卡換成SSD才能加快模型載入速度。\n還有，目前Ollama在Raspberry Pi無法使用GPU加速，全部都用CPU算，模型一跑起來CPU全滿，風扇就起飛了。要用Vulkan加速的話倒是有MLC LLM\n從實用性考慮，Raspberry Pi的硬體比較適合跑訓練參數在1B以下的模型，例如Google EmbeddingGemma，這樣才能得到比較即時的回應速度。\n","date":"2024年10月1日","externalUrl":null,"permalink":"/posts/ollama-llm-on-raspberry-pi/","section":"Language-Models","summary":"Raspberry Pi也能跑大型語言模型(LLM)嗎？可以，甚至能架個網頁聊天服務呢。\n如下圖，在Raspberry Pi跑語言模型，並透過手機瀏覽器與之互動。 Ivon使用的板子為Raspberry Pi 5，加裝風扇。軟體部份採用Ollama的開源解決方案，以它為中心即可執行各種開源語言模型，包括LLaMA、Gemma、Mistral、Phi等等。\n要發揮Ollama的更多功效，就是讓它與其他程式整合了吧，Ollama能作為Home Assistant的其中一個服務後端，用於控制智慧家庭的家電，參見官網說明。\n1. 部署Ollama與Open WebUI服務 # 我使用Raspberry Pi OS 12跑Docker。\n參見Docker安裝Ollama + Open WebUI。\n執行指令取得樹莓派區域IP\nip addr 用電腦或手機連線到http://樹莓派IP:3000登入Open WebUI\n我們再從Open WebUI的管理員控制台下載模型，考慮到性能，選擇Microsoft Phi-3。 2. 看看Ollama效能如何 # 我們以Ollama指令進入純文字對話模式，測試生成速度：\ndocker exec -it ollama ollama run phi3 --verbose 經測試，Raspberry Pi 5跑3B參數的Phi-3小型語言模型速度還行，10秒內就有回復，速度能達到3 token/s。 ","title":"組個AI小電腦，樹莓派跑Ollama語言模型與架設Open WebUI網頁伺服器","type":"language-model"},{"content":"這篇文章Ivon將要用Linux的Docker部署兩個服務，簡單在電腦跑起大型語言模型。\n第一個是「Ollama」，開源的大型語言模型執行器，基於llama.cpp開發，能夠執行LLaMA、Mistral、Gemma等開源語言模型。Ollama主要使用CPU運算，必要時再用GPU加速。不過它只有純文字界面，打指令操作頗麻煩的，所以才要裝Open WebUI。\n第二個「Open WebUI」是一款多功能的網頁前端，最早叫做Ollama WebUI，它能給Ollama裝上一個漂亮的界面。 Open WebUI很類似ChatGPT網頁版，界面簡潔功能又多，例如聊天紀錄、AI繪圖、圖片辨識、讀取PDF、RAG整理資料、Google搜尋、自訂AI角色等等，可以立即用於生產環境。 在Linux安裝Ollama教學一文Ivon提過，Ollama作者提供的指令稿會幫你安裝Ollama二進位執行檔到Linux系統，並用Systemd管理服務。現在我們要把Ollama給容器化，這樣能夠大幅簡化架服務的流程，同時方便將Ollama與Open WebUI服務串接在一起。\n此外，用Docker部署Ollama之後，還是能夠使用純文字指令下載模型的，Ollama的API伺服器能開放給Open WebUI以外的服務存取。Ollama並沒有限定一定要跟Open WebUI一起用，它能夠單獨執行，並跟其他語言模型軟體連線。我選擇Open WebUI主要是因為它的界面漂亮又多功能。\n1. 撰寫docker-compose # Open WebUI為前端，Ollama為後端。主要負責運算的部份是Ollama，它會在背後透過llama.cpp執行語言模型。建議準備Intel i5以上的四核心CPU，8GB RAM以上等級的電腦。如果有Nvidia GPU更好，VRAM至少要有4GB。\n我們要將Ollama容器化，若你已經用指令稿安裝過Ollama了，請將服務關閉，例如Ubuntu的指令就是： sudo systemctl disable --now ollama 在Linux安裝Docker\nOllama預設只用CPU跑，要更快的生成速度得使用Nvidia GPU加速。要在Docker裡面跑CUDA，請安裝Nvidia Container Toolkit\n複製Open WebUI儲存庫\ngit clone https://github.com/open-webui/open-webui.git cd open-webui 新增.env環境變數 cp .env.example .env Open WebUI開發者已經幫我們寫好了docker-compose，可以直接用他們的範本跑服務。所有的服務都寫在docker-compose.yaml檔案裡面，裡面會啟動Ollama和Open WebUI兩個服務，並用Docker volume儲存資料。\n使用該docker-compose啟動Open WebUI容器服務，擇一指令啟動：\n# 預設是純CPU計算： docker compose -f docker-compose.yaml up -d # 若要使用Nvidia GPU加速，額外加上`docker-compose.gpu.yaml`這個檔案： docker compose -f docker-compose.yaml -f docker-compose.gpu.yaml up -d # Ollama的API伺服器只有Open WebUI能存取，如果你有其他服務需要使用Ollama，請用這個指令，啟動額外的API伺服器： docker compose -f docker-compose.yaml -f docker-compose.gpu.yaml -f docker-compose.api.yaml up -d 這裡提一下，其實三個檔案的內容可以自行改寫，合併成為單一的docker-compose.yml檔案，例如： services: ollama: volumes: - ollama:/root/.ollama container_name: ollama pull_policy: always tty: true restart: unless-stopped image: ollama/ollama:${OLLAMA_DOCKER_TAG-latest} ports: - ${OLLAMA_WEBAPI_PORT-11434}:11434 deploy: resources: reservations: devices: - driver: ${OLLAMA_GPU_DRIVER-nvidia} count: ${OLLAMA_GPU_COUNT-1} capabilities: - gpu open-webui: build: context: . args: OLLAMA_BASE_URL: \u0026#39;/ollama\u0026#39; dockerfile: Dockerfile image: ghcr.io/open-webui/open-webui:${WEBUI_DOCKER_TAG-main} container_name: open-webui volumes: - open-webui:/app/backend/data depends_on: - ollama ports: - ${OPEN_WEBUI_PORT-3000}:8080 environment: - \u0026#39;OLLAMA_BASE_URL=http://ollama:11434\u0026#39; - \u0026#39;WEBUI_SECRET_KEY=\u0026#39; extra_hosts: - host.docker.internal:host-gateway restart: unless-stopped volumes: ollama: {} open-webui: {} 日後更新所有容器映像檔的指令： docker compose pull 2. Open WebUI下載語言模型 # 用瀏覽器開啟http://Linux電腦IP:3000，進入網頁，註冊一個帳號（資料皆是存在本機，不會傳輸給第三方），登入Open WebUI 點選左下角的帳號大頭貼 → 設定 → 管理員設定 → 連線，點選Ollama旁邊的扳手圖示，輸入模型ID下載模型。請參閱著名的開源大型語言模型列表。模型ID到Ollama官網查找，例如我用台灣正體中文模型Llama-3-Taiwan-8B： 也可以使用ollama pull指令來下載模型：\ndocker exec -it ollama ollama pull SimonPu/llama-3-taiwan-8b-instruct-dpo 所有下載的模型都會存在Ollama容器的Docker volume之中。 3. 修改Open WebUI的GPU加速設定 # 3B以上資料量的語言模型，純用CPU跑會非常慢。\n如果有設定Nvidia GPU加速，那麼Ollama會自動分配一些資源給GPU，加速語言模型的回應速度。不過有時候Ollama只用CPU跑，白白浪費GPU資源，這個時候可以手動指定要offload多少層給GPU計算。\n要offload多少層具體多少取決於GPU的VRAM多大，比如我的VRAM只有4GB，那上限就是20層左右。\n點選Open WebUI的設定，點選一般，展開進階參數，設定num_gpu的數值。至於num_threads的數值是設定要使用多少CPU執行緒，可以的話也設定高一些。 或者進入Open WebUI管理員設定 → 編輯模型，個別設定該模型要使用多少GPU。 在語言模型載入的時候執行docker exec -it ollama ollama ps指令，查看模型使用了多少CPU和GPU。\n4. 外網存取Open WebUI網頁 # 點左上角選取要使用的模型，即可開始對話！ 如何從外部網路存取Open WebUI？設定內網穿透軟體，即可用虛擬區域IP存取Open WebUI，界面會自動隨著螢幕大小變化。\n值得注意的是：Open WebUI預設只有HTTP，部份功能需要HTTPS才能使用，例如存取裝置麥克風與相機。這個你得用自簽SSL憑證解決，例如使用Tailscale Funnel或者Cloudflare Tunnel\n參考資料 # Open WebUI Docs Ollama Docs ","date":"2024年9月30日","externalUrl":null,"permalink":"/posts/ollama-llm-docker/","section":"Language-Models","summary":"這篇文章Ivon將要用Linux的Docker部署兩個服務，簡單在電腦跑起大型語言模型。\n第一個是「Ollama」，開源的大型語言模型執行器，基於llama.cpp開發，能夠執行LLaMA、Mistral、Gemma等開源語言模型。Ollama主要使用CPU運算，必要時再用GPU加速。不過它只有純文字界面，打指令操作頗麻煩的，所以才要裝Open WebUI。\n第二個「Open WebUI」是一款多功能的網頁前端，最早叫做Ollama WebUI，它能給Ollama裝上一個漂亮的界面。 Open WebUI很類似ChatGPT網頁版，界面簡潔功能又多，例如聊天紀錄、AI繪圖、圖片辨識、讀取PDF、RAG整理資料、Google搜尋、自訂AI角色等等，可以立即用於生產環境。 在Linux安裝Ollama教學一文Ivon提過，Ollama作者提供的指令稿會幫你安裝Ollama二進位執行檔到Linux系統，並用Systemd管理服務。現在我們要把Ollama給容器化，這樣能夠大幅簡化架服務的流程，同時方便將Ollama與Open WebUI服務串接在一起。\n此外，用Docker部署Ollama之後，還是能夠使用純文字指令下載模型的，Ollama的API伺服器能開放給Open WebUI以外的服務存取。Ollama並沒有限定一定要跟Open WebUI一起用，它能夠單獨執行，並跟其他語言模型軟體連線。我選擇Open WebUI主要是因為它的界面漂亮又多功能。\n1. 撰寫docker-compose # Open WebUI為前端，Ollama為後端。主要負責運算的部份是Ollama，它會在背後透過llama.cpp執行語言模型。建議準備Intel i5以上的四核心CPU，8GB RAM以上等級的電腦。如果有Nvidia GPU更好，VRAM至少要有4GB。\n","title":"Linux用docker-compose部署Open WebUI + Ollama語言模型網頁界面","type":"language-model"},{"content":"","date":"2024年9月27日","externalUrl":null,"permalink":"/tags/controlnet/","section":"標籤","summary":"","title":"ControlNet","type":"tags"},{"content":"想要在iOS跑AI生圖？不要雲端運算，而是直接用本機GPU生圖？\nDraw Things APP實現你的願望！\nDraw Things為Liu Liu於2022年推出的免費APP，部份開放原始碼，僅支援Mac、iPhone、iPad系統。其他系統建議用Automatic1111 Stable Diffusion WebUI。\nDraw Things提供文生圖、圖生圖、局部重繪、訓練模型等功能，界面針對行動裝置重新設計過。它利用Apple Core ML加速技術，讓你可以在iOS裝置直接跑Stable Diffusion、FLUX這類AI生圖模型，不用依賴第三方生圖服務。生圖過程全都是在本機運算的。 這樣做的好處是你可以自由下載生圖模型，不會有任何色色關鍵字審查，也沒有額度限制，能夠自由生成想要的圖片。\n現在Draw Things仍持續更新中，不斷加入許多AI生圖的新技術，例如LoRA、ControlNet、Fooocus，新的模型也會陸續支援。\n1. Draw Things硬體需求 # Draw Things支援Mac、iPhone、iPad系統，界面大同小異。\n雖然開發者沒有明講Draw Things硬體需求，但AI生圖非常吃系統資源，會大量佔用GPU和RAM，敬請注意散熱。\n建議使用搭載M1晶片、RAM 8GB以上的裝置，否則生成1024x1024大圖APP可能資源不足閃退。\niOS在生圖時建議將背景執行的APP全部關閉，將資源留給Draw Things。\n另外，AI生圖模型會佔用許多空間，因此要準備20GB以上儲存空間。\n2. 下載Draw Things模型 # 請至App Store下載Draw Things APP。開源程式碼部份請到Github查看。\n開啟後Draw Things 會提示你下載模型，我們就選SDXL吧，大約需要5GB左右空間。 Draw Things相容大部分Stable Diffusion模型，所以你也可以到Civitai網站手動下載模型（建議用Safari背景下載），再點選Import手動匯入至Draw Things。 點選左下角系統設定，開啟CoreML全部功能，加快生圖速度。 3. 文生圖模式 # Text to image，根據輸入的文字生成圖片。\n裡面的參數請參考Stable Diffusion WebUI的說明。\n界面概覽：\n預設Draw Things會開一個新專案，左邊是生圖選項，中間是畫布圖層，上方為提示詞區域。 首先，點選左邊的Basic選單，選取使用Stable Diffusion XL模型，Sampler選擇Euler A或UniPC，然後設定生圖長寬為1024x1024 填入正向提示詞和負向提示詞，後者可以用embedding達成，點一下迴紋針按鈕，下載Negative XL模型。 按Generate開始生成！等待畫布上的藍色格子填滿\u0026hellip; 圖片就會出來了。長按側邊欄位儲存圖片。 Draw Things的操作邏輯是這樣：每次「文生圖」生完圖都是一個圖層，如果你繼續點生圖，會變成「局部重繪」模式，新圖會參考方框內的圖生成，空白的地方會自動填滿。\n若要生成獨立的新圖，請在生成圖片之後移動畫布的選取框到空白處，或者點一下右下角按鈕Start a blank canvas，這樣新圖才不會參考現有圖片。 4. 圖生圖模式 # Image to image，參考畫布上的圖片進行AI生成。\n按畫布下方的相機按鈕，或是旁邊的歷史紀錄，匯入要參考的圖片，並讓白色方框對準圖片\n填入提示詞。\n左邊選取Image to Image，調整拉桿，設定參考原圖的程度(Strength)，數值越小越像原圖。 如果你覺得圖生圖不夠精準，你還可以搭配ControlNet依照輪廓或線稿，做更精準的生成，不過這要額外下載許多模型。\n5. 局部重繪模式 # Inpainting，劃出局部區域，重新生成衣服或者換臉。\n點選橡皮擦圖示，擦掉要修改的地方，再點選生成，它就會按照你的提示詞填滿空白處。 如果使用油漆刷工具的話，就是讓AI生成與筆刷顏色相近的圖片。\n6. 啟用HTTP API伺服器遠端生圖 # 你可以啟動Draw Things的HTTP伺服器，遠端請求Draw Things生圖。\n點一下左側的Davanced → HTTP API Server，啟動服務，監聽IP設定0.0.0.0 Apple裝置的區域IP可在系統設定 → Wifi查看\n這樣另一部裝置就能向http://裝置IP:7860傳送生圖請求了，目前支援Draw Things生圖的客戶端似乎就只有SillyTavern而已哪。\n若要自行實現Python生圖的話，請求格式長這樣，下面是我參考Github的.mjs範例所改寫的Python指令稿：\nimport requests import base64 import time import os DRAW_THINGS_URL = \u0026#39;http://裝置IP:7860/sdapi/v1/txt2img\u0026#39; MAX_FILE_NAME_LEN = 30 params = { \u0026#34;prompt\u0026#34;: \u0026#34;girls with bunch of carrots\u0026#34;, \u0026#34;negative_prompt\u0026#34;: \u0026#34;worst quality, low quality, normal quality\u0026#34;, \u0026#34;model\u0026#34;: \u0026#34;模型名稱.ckpt\u0026#34;, \u0026#34;sampler\u0026#34;: \u0026#34;UniPC\u0026#34;, \u0026#34;seed\u0026#34;: -1, \u0026#34;steps\u0026#34;: 20, \u0026#34;guidance_scale\u0026#34;: 7, \u0026#34;batch_count\u0026#34;: 1, \u0026#34;width\u0026#34;: 768, \u0026#34;height\u0026#34;: 768 } headers = { \u0026#39;Content-Type\u0026#39;: \u0026#39;application/json\u0026#39; } now = int(time.time()) def get_file_name(idx): file_name = f\u0026#34;{prompt.replace(\u0026#39; \u0026#39;, \u0026#39;_\u0026#39;)[:MAX_FILE_NAME_LEN].lower()}_{now}_{idx}.png\u0026#34; return file_name def save_img(data, idx): file_name = get_file_name(idx) with open(file_name, \u0026#39;wb\u0026#39;) as f: f.write(base64.b64decode(data)) print(f\u0026#34;Saved: {file_name}\u0026#34;) response = requests.post(DRAW_THINGS_URL, json=params, headers=headers) data = response.json() images = data.get(\u0026#39;images\u0026#39;, []) for idx, img_data in enumerate(images): save_img(img_data, idx) 存檔為drawthings.py，在電腦終端機執行這個Python指令稿就能呼叫Draw Things生圖。 python3 drawthings.py 上述的指令稿會在Draw Things界面生圖，同時把圖片下載到電腦。 ","date":"2024年9月27日","externalUrl":null,"permalink":"/posts/ios-draw-things-ai/","section":"Ai-Arts","summary":"想要在iOS跑AI生圖？不要雲端運算，而是直接用本機GPU生圖？\nDraw Things APP實現你的願望！\nDraw Things為Liu Liu於2022年推出的免費APP，部份開放原始碼，僅支援Mac、iPhone、iPad系統。其他系統建議用Automatic1111 Stable Diffusion WebUI。\nDraw Things提供文生圖、圖生圖、局部重繪、訓練模型等功能，界面針對行動裝置重新設計過。它利用Apple Core ML加速技術，讓你可以在iOS裝置直接跑Stable Diffusion、FLUX這類AI生圖模型，不用依賴第三方生圖服務。生圖過程全都是在本機運算的。 這樣做的好處是你可以自由下載生圖模型，不會有任何色色關鍵字審查，也沒有額度限制，能夠自由生成想要的圖片。\n現在Draw Things仍持續更新中，不斷加入許多AI生圖的新技術，例如LoRA、ControlNet、Fooocus，新的模型也會陸續支援。\n1. Draw Things硬體需求 # Draw Things支援Mac、iPhone、iPad系統，界面大同小異。\n雖然開發者沒有明講Draw Things硬體需求，但AI生圖非常吃系統資源，會大量佔用GPU和RAM，敬請注意散熱。\n建議使用搭載M1晶片、RAM 8GB以上的裝置，否則生成1024x1024大圖APP可能資源不足閃退。\n","title":"Draw Things教學，iOS離線跑Stable Diffusion AI生圖","type":"ai-art"},{"content":"本文討論的不是戰鬥加速器的外掛，僅是提昇遊戲畫面流暢度而已。\n目前最新版的FGO（日版/台版）僅在戰鬥的時候會開啟60FPS，回到管制室的過場動畫依然在30FPS，總給人卡頓的感覺。\n這個問題可以Root後靠模組解決。\n因為FGO是用Unity(il2cpp)寫的，只需要透過「UnityFPSUnlocker」模組，就能解鎖FGO的60FPS（60幀）刷新率，盡享流暢畫質，還有更高品質的乳搖。 （迷之音：要看乳搖用Fate Animation Viewer就行了，這麼搞剛幹嘛）\n這個模組不只能在戰鬥場景啟用60FPS，而是整個遊戲都會變成60FPS，包含管制室的切換動畫等等。甚至如果你的手機支援120Hz的高刷新率，你還可以將遊戲調成120FPS。\n那麼使用這個模組會不會被運營封帳號呢？已知FGO日版是禁止Root裝置遊玩的，儘管Magisk有模組能躲避APP的Root偵測，但還是有可能被抓到，屆時風險自負。\n1. 測試環境 # 系統版本：Android 11 Root權限，請安裝Magisk或KernelSU或APatch FGO日版版本：2.99.1 FGO台版版本：2.67.0 給模擬器用戶：UnityFPSUnlocker似乎無法在libndk環境（ARM64轉譯x86_64）使用，必須搭配libhoudini。\n2. 隱藏Root狀態 # 日版FGO會偵測Root，台版未知。\nMagisk參照隱藏Root方式，啟用Zygisk，並安裝Shamiko隱藏root。\nKernelSU搭配ZygiskNext就夠了。\n3. 安裝UnityFPSUnlocker # UnityFPSUnlocker模組以前叫做FGOFPSUnlocker，最初是修改遊戲的.so檔來指定FPS，後來作者把它調整成了更泛用的模組，只要是Unity(il2cpp)寫的遊戲都能用。\n至Github下載zip檔，刷入模組。\n開啟檔案管理器或Termux，在/data/local/tmp/目錄新增TargetList.json，填入要修改的遊戲參數。\n{ \u0026#34;global\u0026#34;: { \u0026#34;delay\u0026#34;: 10, \u0026#34;mod_opcode\u0026#34;: false, \u0026#34;fps\u0026#34;: 60, \u0026#34;scale\u0026#34;: \u0026#34;default\u0026#34; }, \u0026#34;custom\u0026#34;: { \u0026#34;com.xiaomeng.fategrandorder\u0026#34;: { \u0026#34;delay\u0026#34;: 10, \u0026#34;mod_opcode\u0026#34;: false, \u0026#34;fps\u0026#34;: 60, \u0026#34;scale\u0026#34;: 1.0 }, \u0026#34;com.aniplex.fategrandorder\u0026#34;: { \u0026#34;delay\u0026#34;: 10, \u0026#34;mod_opcode\u0026#34;: false, \u0026#34;fps\u0026#34;: 60, \u0026#34;scale\u0026#34;: 1.0 } } } 參數解釋：global為全域設定；custom為個別APP設定。delay設定進入遊戲後延遲10秒生效，mod_opcode不修改opcode，fps指定要修改的FPS。 custom的APK套件名稱可在Android系統的APP設定查看。\n對了，UnityFPSUnlocker兼具放大Unity解析度的功能，scale是畫面放大倍率，可能要在開發人員選項開啟反鋸齒。\n3. 如何知道是否真的有60FPS # 用眼睛看（X）除非你的裝置連FGO都跑不動，不然FPS提昇應該是肉眼可見的。\n請記得到個人空間 → 遊戲設定，啟用倍速戰鬥的「高品質」設定。\n在ADB Shell執行指令logcat -s UnityFPSUnlocker，有印出UnityFPSUnlocker: [LoadConfig]訊息就代表模組套用成功了。\n","date":"2024年9月25日","externalUrl":null,"permalink":"/posts/android-fgo-enable-60-fps-root/","section":"所有文章","summary":"本文討論的不是戰鬥加速器的外掛，僅是提昇遊戲畫面流暢度而已。\n目前最新版的FGO（日版/台版）僅在戰鬥的時候會開啟60FPS，回到管制室的過場動畫依然在30FPS，總給人卡頓的感覺。\n這個問題可以Root後靠模組解決。\n因為FGO是用Unity(il2cpp)寫的，只需要透過「UnityFPSUnlocker」模組，就能解鎖FGO的60FPS（60幀）刷新率，盡享流暢畫質，還有更高品質的乳搖。 （迷之音：要看乳搖用Fate Animation Viewer就行了，這麼搞剛幹嘛）\n這個模組不只能在戰鬥場景啟用60FPS，而是整個遊戲都會變成60FPS，包含管制室的切換動畫等等。甚至如果你的手機支援120Hz的高刷新率，你還可以將遊戲調成120FPS。\n那麼使用這個模組會不會被運營封帳號呢？已知FGO日版是禁止Root裝置遊玩的，儘管Magisk有模組能躲避APP的Root偵測，但還是有可能被抓到，屆時風險自負。\n1. 測試環境 # 系統版本：Android 11 Root權限，請安裝Magisk或KernelSU或APatch FGO日版版本：2.99.1 FGO台版版本：2.67.0 給模擬器用戶：UnityFPSUnlocker似乎無法在libndk環境（ARM64轉譯x86_64）使用，必須搭配libhoudini。\n","title":"Android版FGO強制開啟60FPS，UnityFPSUnlocker使用方式","type":"posts"},{"content":"俗話說，騎士不徒手而亡。（哪有這句啦）\n選了險棋，最後得到了一款handy的平板，恰巧碰上iPad推出多視窗功能的當下，可說是還不錯的結果。\n選擇降世神通的阿霸當作iPad的桌布。 1. 購買iPad動機：苦難的行軍 # 買iPad的理由嗎，是要取代目前手上的Linux平板，不是Linux筆電。作為行動辦公裝置。\n原來，擁有一台可以打打字寫個字，擁有優秀的觸控體驗，關閉螢幕後能以極低功耗待機的平板，是這麼奢侈的事情。\n購買iPad背後更深層的脈絡，參看這篇：適不適合再買iPad當作行動辦公裝置？\n這之前一年，我用的是PineTab 2平板。為什麼要從PineTab 2換成iPad Air 6，看一張圖就能明白。\nGeekbench 6，上面RK3566處理器跑分，下面M2處理器跑分 不是五倍，今年有十倍的鑽石啊啊啊啊啊啊啊啊啊啊！\n欸不是\u0026hellip;RK3566處理器根本懶叫比雞腿，不是隨便換一台Android平板都能有感提升嗎？但是用iPad就是爽，我終於不用再將平板當電腦用了，而是可以擁有一台優秀觸控體驗的平板。\n擺脫舊平板的糟糕體驗，離開苦難的行軍，決定購買iPad，Revisit the iPad！\n買iPad，有了嚐鮮的精神，常用的三個裝置都不同系統還挺好玩的不是嗎？\n選定iPad Air 6，這是Apple於2024年5月發表的新型號，作為夾在iPad與iPad Pro之間的產品，受到許多人批評。根據常在PTT iOS板發作的gary8442大大的高見：iPad Air 6價格偏貴、沒有ProMotion、續航力是目前市面上的iPad最爛的、機身四個開孔卻只有雙喇叭、明明叫做Air卻比Pro還要重\u0026hellip;等等。\n但我覺得夠用了所以還是選這台，同為Air型號，請一定要傳承以前那台iPad Air 3的精神！\n不選低階iPad是因為要面向未來，得搭載Apple Silicon晶片，才能跑生成式AI的APP呀，例如AI生圖和語言模型。\n購買iPad的目的還有一個原因：想親自實驗iPad跑UTM Linux虛擬機的執行效能。這倒有趣，2022年為了刷Windows 11 ARM和postmarketOS買小米Poco F1；又為了體驗Linux手機買了PinePhone。這次買iPad也是有Linux的動機在！\n2. 開箱iPad與配件 # 8月，使用BTS教育優惠專案買iPad Air 6，11吋DCI-P3螢幕 + M2處理器 + 8GB RAM + 128GB容量賣18200台幣，這個價格已經算很實惠了吧，還會送Apple Pencil Pro。\nBTS方案很多Apple經銷商都有推出，比來比去還是Apple官方送的最超值，保護套另外買就行了。\n在Apple Store線上購買的，欲使用教育優惠價必須過UniDAYS驗證。UniDays驗證不用要求跟Apple ID一致，註冊時候填寫的可以是私人信箱。之後才會要求填入學校的電子郵件帳號來收驗證信。感覺我校已經放棄了自身的電子郵件服務，伺服器任其掛點，所以改用教育版Gmail，也可以收到UniDays的驗證信。\n購買iPad的時候點選加購Apple Pencil Pro，結帳的時候會自動以優惠扣除。\n經歷了糟糕的送貨體驗，配件什麼都都幾天內就來了，惟iPad本體從下訂當天等了快兩個禮拜才出貨，DHL從中國送到台灣花了5天，禮拜六好不容易到了台北，就只差那一步出貨運送了，卻剛好碰到隔天禮拜天沒有送貨，硬生生拖了一天才來。 嗯，iPad的盒子設計得很環保，都不需要工具就能徒手撕開。\n在iPad上面刻了口試時洗臉我的教授上課說過的一句話：To err is human, to forgive divine. 犯錯是人，饒恕是神。跟別人講這句話的時候，也有先貶後褒的味道在。 Apple Pencil刻上為了公共利益說真話，不畏懼後果的希臘式精神：「Parrhesia」 手機不好，拍不出官網那種美麗的藍色。 找不到適合的貼紙，最終在保護殼上貼了Powered by FreeBSD的貼紙（畢竟大家都源自Unix系統，對吧！？） 雖然不太會用到，還是買個藍芽三折鍵盤與觸控板。這款藍芽鍵盤方便攜帶，通用性高，價格也比原廠巧控鍵盤便宜多了。 3. 測試iPad效能 # 騎士不徒手而亡，儘管是在充滿限制的封閉系統，也要發揮絕境的智慧，盡力用iPad搞東搞西的，測試極限。\nM2晶片玩遊戲自不用說，都很順。老實說我目前手機拿的是中低階的Android機，除了電量大以外一無是處，所以就將手遊都遷移到iPad，大螢幕玩也比較舒服嘛。出門在外的時候，Android機就作為長效魔力供給來源（X）移動砲台（X）Wifi分享器（O）。 那麼跑UTM呢？UTM是針對macOS和iOS系統設計的開源虛擬機軟體，讓你可以在iPhone/iPad跑Linux、Windows、macOS、Android-x86等各式各樣的電腦系統。\n從結果來看，UTM跑Linux純文字虛擬機速度勉強可以呦，但還沒到實用的程度就是了。 再來試試AI生圖。用Draw Things跑Stable Diffusion，全部本機運算，啊哈，M2晶片生成1024x1024解析度的圖只要2分鐘，速度追上我Linux電腦的Nvidia GTX 1050Ti了！這樣看來初階的AI運算M2是能夠負荷的了。 關於iPad Air 6續航力部份，如果不是太重度使用，螢幕一直亮著的情況下撐個五小時絕對是夠的，待機功耗也不大。寫字螢幕偶爾會發燙倒是真的，但也沒到燒傷人的地步。\n4. iPad最大用處在於\u0026hellip; # 寫字！\n豪賭選iPad，賭對了，剛剛好這學期有需要瘋狂畫樹狀圖的課程，Apple Pencil就派上用場了。 此外，使用開源的Saber Notes，再用Apple Pencil書寫，看paper的時候作筆記非常方便。幕前調度多視窗切換更是錦上添花！ 不要忘了media consumption用途！追劇看書都好用，iPad的雙喇叭確實很不錯，接近桌上型喇叭的響亮程度，聽各種音樂都合適。 雖然我很想在iPad繪圖，但奈何沒有好用的開源繪圖軟體，且不想被Apple生態系才有的APP綁死，所以暫時無解。要畫圖還是用電腦Krita畫吧。\n5. 行動辦公iPad適合嗎？ # 說到嚴肅一點的用途，比如跑生產力軟體嘛，勉強能做一些。\n但，iPad絕對不是拿來取代筆電！\n我覺得幕前調度(Stage Manager)是iPad近年來最棒的更新，讓它更接近電腦一步，同步執行二個以上APP的真多工模式非常實用，還能外接螢幕開啟更多視窗。初次使用幕前調度可能會覺得視窗管理邏輯很奇怪，但有用過Linux GNOME桌面的不會見怪吧。iPad的觸控操作只要習慣了，體驗就會很流暢。 即使如此，iPad還是不夠格取代筆電，主因是APP大多是殘廢版，不少電腦軟體移植到iPad後又貴又難用（絕對不是沒錢買）。就連瀏覽器也受制於Safari的引擎導致不夠強大。\n就算接鍵盤滑鼠，iPadOS的操作邏輯依然很怪，許多APP都沒有考慮到滑鼠設計，恨不得用觸控的。\n那麼就只能把iPad當作遠端桌面的客戶端了吧！比如RustDesk遠端到Linux電腦還行，如果搭配Sunshine的話iPad還能當Krita繪圖螢幕。 要做正事還是得用到筆電。在iPad寫Hugo部落格的一文就闡述了使用情境。Linux環境的東東，恰恰是最不適合iPad的東西呢。所以用幾天iPad寫作Hugo部落格後就放棄了。\nLinux筆電還是比較好打字哪，iPad僅適合外出臨時工作又不想扛筆電的場合，正所謂「輕辦公」，一有需要我還是得遠端回Linux桌面。\n因著Linux的使用習慣，iPad主要工作用的APP我都是盡量用開源方案，不行的話再用閉源APP。\n在買iPad之前特地做過研究，雖然App Store是群魔亂舞，但還是有一些hidden gem的開源APP存在，例如Collabora Office (LibreOffice)、iSH Shell、Saber Notes、Joplin、VLC、LocalSend、Brave Browser這些好用的開源APP能應付日常所需，並能與Android手機和Linux電腦自由共享檔案，不會被Apple生態系綁死。 Collabora Office編輯pptx檔案\n不行的話就用iPadOS內建的APP辦事，像找不到PDF的標注程式就只能用檔案APP。\n讚嘆開源的力量！我們知道這類好APP並不多見，iPadOS很難自己安裝第三方程式，只能到App Store下載。且在App Store勢利的環境下，要搞開源免費的APP是很辛苦的。\n另外，由於最新版iPadOS難以越獄，所以我使了一個賤招：花錢買付費開發者憑證，這樣我就能用Feather側載更多開源APP到iPad上了，解決手癢想tweaking的癮頭。\n最後解釋一下桌布，這張降世神通的阿霸作者為ridicbird。選擇這張的理由是在專有軟體的世道上，自由的飛翔。 ","date":"2024年9月24日","externalUrl":null,"permalink":"/posts/apple-ipad-air-6-review/","section":"Unboxings","summary":"俗話說，騎士不徒手而亡。（哪有這句啦）\n選了險棋，最後得到了一款handy的平板，恰巧碰上iPad推出多視窗功能的當下，可說是還不錯的結果。\n選擇降世神通的阿霸當作iPad的桌布。 1. 購買iPad動機：苦難的行軍 # 買iPad的理由嗎，是要取代目前手上的Linux平板，不是Linux筆電。作為行動辦公裝置。\n原來，擁有一台可以打打字寫個字，擁有優秀的觸控體驗，關閉螢幕後能以極低功耗待機的平板，是這麼奢侈的事情。\n購買iPad背後更深層的脈絡，參看這篇：適不適合再買iPad當作行動辦公裝置？\n這之前一年，我用的是PineTab 2平板。為什麼要從PineTab 2換成iPad Air 6，看一張圖就能明白。\nGeekbench 6，上面RK3566處理器跑分，下面M2處理器跑分 不是五倍，今年有十倍的鑽石啊啊啊啊啊啊啊啊啊啊！\n欸不是…RK3566處理器根本懶叫比雞腿，不是隨便換一台Android平板都能有感提升嗎？但是用iPad就是爽，我終於不用再將平板當電腦用了，而是可以擁有一台優秀觸控體驗的平板。\n擺脫舊平板的糟糕體驗，離開苦難的行軍，決定購買iPad，Revisit the iPad！\n買iPad，有了嚐鮮的精神，常用的三個裝置都不同系統還挺好玩的不是嗎？\n","title":"Revisit the iPad！iPad Air 6 M2開箱＆使用心得","type":"unboxing"},{"content":"","date":"2024年9月22日","externalUrl":null,"permalink":"/tags/appdb/","section":"標籤","summary":"","title":"Appdb","type":"tags"},{"content":"如果我有一雙翅膀，我要離開這個地方。如果妳要和我飛翔，不要離開我的肩膀，一不小心就會失去了影像（指掉簽）。\nFeather為一款讓你在iPhone/iPad簽名IPA的開源APP，免越獄。 Feather由khcrysalis開發，它能夠在iOS裝置直接簽名IPA並安裝IPA（背後使用ZSign），不用透過電腦，也不用傳送給第三方伺服器處理，簽名全都是在本機進行的。\n除了給IPA簽名外，還支援函式庫注入的操作，比如強迫APP使用120Hz重新整理率、修改APP最低支援版本、去廣告等等。\n為什麼要用Feather呢？過去有一款中國人開發的「Esign輕鬆簽」APP，可以在iPhone直接給IPA簽名，但是它是閉源軟體且會蒐集使用者資料，長期受人詬病，現在Feather這款開源APP能夠取代ESign了。\n注意： Feather不支援免費開發者帳號，意即不適合透過AltStore安裝。你必須要註冊Apple開發者付費帳號，取得.p12以及.mobileprovision檔案才能使用此APP。Feather不提供免費開發者憑證，你得自己準備。\n1. Feather安裝 # 請到Github下載IPA\n再自行簽名安裝到iOS裝置，參見側載IPA方式。例如我是用UDID Registrations簽名安裝。\n準備好.p12以及.mobileprovision檔案。\n2. 簽名並安裝IPA # 點選Feather Settings → Add Certificates，匯入開發者憑證。這裡的開發者憑證可以有很多個。 接著到Library頁面，點選右上角+號匯入IPA，例如我要用的是Mangayomi\n在Downloaded Apps的欄位點一下，按Sign app 這裡要注意，Feather會在所有安裝的APP Bundle ID後面加上隨機字串，這是為了防止Apple偵測到你安裝的是破解版IPA（若跟App Store上的APP Bundle ID一致，可能會被Apple封帳號）。但這會導致日後重裝APP的時候被iOS認為是二個不同的APP，所以重裝時得確保Bundle ID後面的隨機字串一致。不需要此功能請在設定關閉PPQCheck Protections。 確認完資訊後開始簽名。 之後點一下Signed apps，按下Install 3. 如何取得更多IPA # Feather支援AltStore的套件庫，你可以從裡面下載IPA。 另外，appdb是個好去處，上面有很多破解版IPA，將裝置註冊之後就能夠手動下載IPA並丟給Feather簽名。但是appdb的破解版IPA可能無法直接透過Feather安裝，問題很多。\n","date":"2024年9月22日","externalUrl":null,"permalink":"/posts/ios-feather-signing-app/","section":"所有文章","summary":"如果我有一雙翅膀，我要離開這個地方。如果妳要和我飛翔，不要離開我的肩膀，一不小心就會失去了影像（指掉簽）。\nFeather為一款讓你在iPhone/iPad簽名IPA的開源APP，免越獄。 Feather由khcrysalis開發，它能夠在iOS裝置直接簽名IPA並安裝IPA（背後使用ZSign），不用透過電腦，也不用傳送給第三方伺服器處理，簽名全都是在本機進行的。\n除了給IPA簽名外，還支援函式庫注入的操作，比如強迫APP使用120Hz重新整理率、修改APP最低支援版本、去廣告等等。\n為什麼要用Feather呢？過去有一款中國人開發的「Esign輕鬆簽」APP，可以在iPhone直接給IPA簽名，但是它是閉源軟體且會蒐集使用者資料，長期受人詬病，現在Feather這款開源APP能夠取代ESign了。\n注意： Feather不支援免費開發者帳號，意即不適合透過AltStore安裝。你必須要註冊Apple開發者付費帳號，取得.p12以及.mobileprovision檔案才能使用此APP。Feather不提供免費開發者憑證，你得自己準備。\n1. Feather安裝 # 請到Github下載IPA\n","title":"Feather，直接在iPhone簽名IPA的開源APP，免電腦","type":"posts"},{"content":"止まない雨はない。\n吃藥失眠夜有感\u0026hellip;沒什麼，只是普通的抗生素，但是乘上胃食道逆流讓人更加不舒服。\n今年真是多災多難的一年，連生三場大病。從8月就想寫了，拖到現在，yare yare。\n如果以基督教的觀點來說，這可能是上天的考驗\u0026hellip;不論那個神是誰。\n事件都經歷過痛苦五階段，怨恨，失而復得，最後只能接受。總算會到社會上，每個可憐的人背後都有\u0026hellip;可憐之處。 不哭不哭眼淚是珍珠。作者：ㄇㄚˊ幾兔\n1. 反思「未來」 # 4月，消磨心智（用流行話來說就是內耗）過了頭，去看了身心科，結果拿到了安定心神的藥和聰明藥\u0026hellip;吃了幾次後就不要再吃了，不想依賴這種東西，我認為這是個改變的契機。\n學期結束的6月，因為太混導致科目被當掉好幾科，還被被系上最認真的教授當場洗臉，促使嘗試振作起來。\n我開始思考現狀，查看未來的可能性，但是困在目前的學術路上短時間內很難有出路。為了不讓自己處在家裡胡思亂想，所以又開始去工作了。結果也是走入這種輪迴了嗎\u0026hellip;以前我被cram，現在換我在school將知識cram給學生。\n儘管是從小補到大的經歷，才讓我的英語有超出同齡人的實力，但那又怎麼樣呢？我恨死cram school了，覺得補習班救了你的怠惰學習不過是斯德哥爾摩症候群發作而已，也對學校乃至整體社會這種考試至上的風氣感到不滿，甚至上升到學校教育失敗才會有那麼多補習班的論調云云\u0026hellip;總之，還是先去做做看吧。\n2. 反思「態度」 # 6月，可能因為長期作息不健康，晝伏夜出，加上愛短時間內吃很多東西發洩壓力，開始出現腸胃炎，並且是反覆發作，慢慢變成胃食道逆流，時間長達一個月。\n胃食道逆流搭配長期姿勢不良導致的肩膀酸痛，除了反胃外，還會出現令人難受的胸悶。\n最初我是很難接受只能吃清淡飲食的現狀，必須去掉重口味飲食還有喝手搖飲的習慣。後來倒是慢慢享受起來了，早餐不再為了嘴饞而吃油炸食物配大冰奶，只能吃吐司配豆漿。然後，午晚餐吃沙拉的次數變多了，而且用相對清淡的運動飲料取代手搖飲，最近還愛上喝優酪乳了。\n到現在最嚴重的症狀大致解除了，但還是不敢亂吃好料的，否則就得吞Wakamoto抑制。\n因為胃食道逆流而改變飲食習慣可能是這幾個月讓人最為舒暢的一件事，吃到沙拉醬與酸酸的菜味之後，我感覺到身體還是活著的，享受著美好。\n搭配運動，三個月讓人瘦了大概10KG。只要再搭配運動就能去掉更多煩惱的念頭，或許我就不用去爭取大麻合法化了。\n3. 反思「言葉」 # 8月，得了重感冒，流鼻水喉嚨痛什麼的幾天就過去了，可是燒聲卻要很長才能恢復，還要忍受吃藥帶來的失眠副作用。\n以前吃這種藥頂多頭暈而已，睡一覺過去也就罷了。但自從胃食道逆流導致胃弱，就多了容易想吐的副作用，害得我得跟著胃藥一起吃。\n大概會燒聲也跟我上課得一直大聲管秩序有關，後來就不想這樣做了。\n是不是我講了太多無心之過的話，或者是講了太多幼稚的話語，永遠沒考慮到別人想法，顯得不夠成熟。所以，要修正心態。儘管在工作上的表現連我自己都覺得肉眼可見差強人意的超級雷包，但是、有自覺起碼是好事。\n4. 「我們的人生不是一齣戲」 # 「\u0026hellip;沒有最高潮，沒有英雄救美的結局，沒有戲劇性的死亡，我們這種人的人生不是戲劇那樣的。人生碰到的不過是一個又一個的空虛和焦慮，和那些永遠無法得到解決的問題，日復一日。」\n人生如戲的想法，《歡迎加入NHK！》這部劇就很好反駁你了不是嗎？\n最後，工作還是因為各種原因轉進了，果然把知識cram給學生不是喜愛的志業嗎，最大問題不是在學生，我倒覺得這些人可悲。我終究覺得，教育理念跟我的觀念不合，覺得是在逼學生，而不是教會。雖然也有教學成效的時候，但是那是建立在班級人數很少的時候，大約5個吧？再上去就不行了。Buxiban為何會在Reddit被來台的外國佬貶為Buxiban，多數人心裡應該也有底。也許是能力不能負荷吧，每次上課頻繁秩序，已經讓我的身心受到無比煎熬，慣性喉嚨痛還有胸悶等等。我真的做不到上課威嚴，下課立即轉換心情的雙面人，越是對學生著想越是在折磨自己。此外，我不喜歡上面派蘇聯似的「政委」隨侍在旁的模式，總是時時刻刻盯著成績，下課後被時時糾正做這不對做那不對，再用正向PUA鼓勵人。做這種工作對精神的負擔大於肉體勞動的工作，覺得補習班比以前做要常常跑來跑去的餐飲還要累。到頭來，我比較喜歡自己可以掌控的班級，就像以前做過的課後輔導那樣自由的環境。\n那邊的老師聽完我這種暴論，最後還是給我這不成熟的傢伙一點安慰的話語：「你這幾個月來協助我幫小朋友背單字，已經幫了我很大的忙了，我們會調整作法，期望你身體的病很快好起來。」總而言之，心態還沒準備好，導致一切被輕易壓垮了，其他什麼都是藉口。\n本來以為這個暑假過後，一切會越來越好，最後似乎什麼都沒有改變的樣子，怪罪自己的INFP人格＋巨蟹星座又能改變什麼？抑或是，這不過是漫長人生中的一個時光，不必放在心上，這段時間終會過去，之後再也想不起來，嗎。\n日本諺語有云：「明けない夜はない，止まない雨はない」，意即「黑夜終會迎來曙光，沒有不會停的雨。」。\n再不離職就要到身心科回診了，否則會有自殺的念頭。不值得，不值得，不值得，不值得為了不值得的人而死，最值得的是，為自己而活。\n即使在學校與外面的世界看不到任何可能性，生活還是得繼續過下去。\n且聽：The Flaming Lips – It\u0026rsquo;s Summertime\n","date":"2024年9月21日","externalUrl":null,"permalink":"/posts/2024092101/","section":"Personals","summary":"止まない雨はない。\n吃藥失眠夜有感…沒什麼，只是普通的抗生素，但是乘上胃食道逆流讓人更加不舒服。\n今年真是多災多難的一年，連生三場大病。從8月就想寫了，拖到現在，yare yare。\n如果以基督教的觀點來說，這可能是上天的考驗…不論那個神是誰。\n事件都經歷過痛苦五階段，怨恨，失而復得，最後只能接受。總算會到社會上，每個可憐的人背後都有…可憐之處。 不哭不哭眼淚是珍珠。作者：ㄇㄚˊ幾兔\n1. 反思「未來」 # 4月，消磨心智（用流行話來說就是內耗）過了頭，去看了身心科，結果拿到了安定心神的藥和聰明藥…吃了幾次後就不要再吃了，不想依賴這種東西，我認為這是個改變的契機。\n學期結束的6月，因為太混導致科目被當掉好幾科，還被被系上最認真的教授當場洗臉，促使嘗試振作起來。\n我開始思考現狀，查看未來的可能性，但是困在目前的學術路上短時間內很難有出路。為了不讓自己處在家裡胡思亂想，所以又開始去工作了。結果也是走入這種輪迴了嗎…以前我被cram，現在換我在school將知識cram給學生。\n儘管是從小補到大的經歷，才讓我的英語有超出同齡人的實力，但那又怎麼樣呢？我恨死cram school了，覺得補習班救了你的怠惰學習不過是斯德哥爾摩症候群發作而已，也對學校乃至整體社會這種考試至上的風氣感到不滿，甚至上升到學校教育失敗才會有那麼多補習班的論調云云…總之，還是先去做做看吧。\n","title":"這幾個月從身心科和胃食道逆流到燒聲...果然還是不喜歡補習班工作啊","type":"personal"},{"content":"","date":"2024年9月20日","externalUrl":null,"permalink":"/tags/rustdesk/","section":"標籤","summary":"","title":"RustDesk","type":"tags"},{"content":"使用Tailscale建立虛擬內網，再配合RustDesk的IP直連(direct IP access，又稱P2P)功能，存取遠端桌面。\n這個是介於「走RustDesk公共伺服器」與「自架RustDesk中繼伺服器」的折衷方案。\nRustDesk預設連線是嘗試走P2P，不行的話再走公共伺服器，後者因為很多人用所以體驗很糟糕，所以自架伺服器可能比較穩固。但是自架Rustdesk中繼伺服器成本又太高了：你得準備一台常在線上的伺服器，要嘛NAS要嘛租VPS。相較之下，使用免費的內網穿透服務，再讓兩台RustDesk的裝置靠IP直接連線就行了，可以有效降低延遲。\n1. 安裝Tailscale # Tailscale是一款簡單易用的內網穿透軟體，可以用來組成虛擬區域網路。\n參見：Tailscale安裝教學\n將所有要連線的裝置加入Tailscale網路，並連上VPN。\n註：RustDesk在P2P連線的時候無法使用點對點加密，不過Tailscale連線本身就有加密了所以不用太擔心。\n2. 調整RustDesk設定 # 依照作業系統安裝RustDesk\n在RustDesk設定開啟「允許IP直接存取」（客戶端和遠端都要開這個選項） 如果遠端是headless Linux伺服器，IP直接存取的選項可以用指令開：\nsudo rustdesk --option direct-server=Y sudo systemctl restart rustdesk 遠端電腦需要開放對應的通訊埠 sudo ufw allow 21118 sudo ufw reload 前往Tailscale網頁後台，查看遠端電腦的虛擬區域IP，通常是100.開頭。\n在RustDesk的連線處輸入遠端電腦的Tailscale IP（似乎不能用MagicDNS，一定得打IP）。 從左上角的盾牌圖示可得知目前是使用P2P連線（如果走中繼伺服器的話會是綠色盾牌） （選擇性）增強RustDesk 安全性，開啟白名單模式，允許只有Tailscale IP的裝置才能夠連線進來。 ","date":"2024年9月20日","externalUrl":null,"permalink":"/posts/rustdesk-direct-ip-access/","section":"所有文章","summary":"使用Tailscale建立虛擬內網，再配合RustDesk的IP直連(direct IP access，又稱P2P)功能，存取遠端桌面。\n這個是介於「走RustDesk公共伺服器」與「自架RustDesk中繼伺服器」的折衷方案。\nRustDesk預設連線是嘗試走P2P，不行的話再走公共伺服器，後者因為很多人用所以體驗很糟糕，所以自架伺服器可能比較穩固。但是自架Rustdesk中繼伺服器成本又太高了：你得準備一台常在線上的伺服器，要嘛NAS要嘛租VPS。相較之下，使用免費的內網穿透服務，再讓兩台RustDesk的裝置靠IP直接連線就行了，可以有效降低延遲。\n1. 安裝Tailscale # Tailscale是一款簡單易用的內網穿透軟體，可以用來組成虛擬區域網路。\n參見：Tailscale安裝教學\n將所有要連線的裝置加入Tailscale網路，並連上VPN。\n註：RustDesk在P2P連線的時候無法使用點對點加密，不過Tailscale連線本身就有加密了所以不用太擔心。\n2. 調整RustDesk設定 # 依照作業系統安裝RustDesk\n在RustDesk設定開啟「允許IP直接存取」（客戶端和遠端都要開這個選項） ","title":"RustDesk + Tailscale內網穿透，IP直連到遠端桌面","type":"posts"},{"content":"經過多年的更換瀏覽器之後，換過許多瀏覽器，最終我做出的決定是：腳踏三條船，使用跨瀏覽器套件保持同步。\n所以現在不論是電腦、手機、平板，我都了至少三個瀏覽器。\n這是怎麼一回事呢？為什麼不能stick to一個瀏覽器就好？\n1. 批鬥大會開始 # 身為Linux \u0026amp; Android為主力的用戶，我理想的瀏覽器應該具備以下特點：開放原始碼、尊重隱私權、跨平台（含電腦與手機）、同步資料、界面乾淨、操作體驗優秀，以及支援公開透明的網頁標準，不會被開發者忽略。\n符合以上特點的瀏覽器是空集合。\n市場上有哪些選擇呢？\n下面是我幾年來用過的瀏覽器，依市占率來看的話就是：\nGoogle Chrome Microsoft Edge Apple Safari Mozilla Firefox Brave Browser \u0026hellip;..還有一些小眾瀏覽器沒列在這裡。我之所以列出主流瀏覽器，是因為不想出現無法復現的bug因而求助無門。ㄟ！我可不是瀏覽器核心的開發者，debug的罪不該由我來受，所以我儘量迴避太小眾的瀏覽器。\n他們各有各的問題，沒有誰是最好的。\n我先列出他們的優缺點：\nGoogle Chrome：跨平台，同步方便，界面設計簡潔，市占率最高。專有軟體，會蒐集使用者資料。 Microsoft Edge：跨平台，同步方便。專有軟體，會蒐集使用者資料，界面元素過多讓人窒息。 Apple Safari：專為Apple平台優化，同步方便。專有軟體，無法跨平台使用。 Mozilla Firefox：開源軟體，跨平台，同步方便，自定義功能眾多，背後維護者是為自由網路而戰的Mozilla，盡力遵守W3C標準。因為市占率因素導致容易被開發者忽略，且行動版Firefox引擎不如桌面版好用。 Brave Browser：開源軟體，跨平台，同步方便，有許多保護隱私的功能。界面混入一堆Web 3.0宣傳，加上許多惱人的自家產品廣告。 你可以在eylenburg.github.io查看主流瀏覽器的功能比較。\n跨平台指的是跨作業系統（Linux/Windows/macOS/Android/iOS，包含電腦與手機），這些系統我都有用過，所以跨平台功能很重要。\n從跨平台來看，Apple Safari就率先出局了，這是我列出的瀏覽器當中唯一一個沒有跨平台的，非果粉的人士根本無法在Apple產品以外的系統存取Safari，Apple又使出賤招讓iOS上的瀏覽器只能是Safari換皮，這讓Safari成為垃圾中的垃圾。\n手機瀏覽器可能還是Chromium系好用。Firefox Android版的引擎效能不好，界面設計又落後Chromium系好幾年。\n跨平台來說還是Chromium系最平衡，其中Google Chrome的各大平台同步都做得很好，功能又不會太繁雜。\n從網頁相容性來看，Chromium系一定是首選。如果我們從核心去分的話，那麼市面上瀏覽器基本上只有兩種選擇：Chromium (Blink) 和Gecko，後者僅Firefox在用。\n市面上瀏覽器多半是以Chromium為基礎開發的，使用Firefox Gecko核心的是少數。Chromium雖是開源專案，但很大程度被Google控制，Google Chrome轄龐大市占率，從而主宰Web標準。Mozilla雖然很努力的提倡開放式的Web標準，盡力實現所有W3C的東西，但你看看Firefox市占率，就會發生開發者只考慮Chromium而不照顧Firefox的情況，致使網頁在Firefox看起來怪怪的，或是乾脆跟你說「你的瀏覽器不受支援」。\n至於Safari的WebKit核心只有一些Linux開源專案有在用，例如KDE Falkon和GNOME Epiphany，但那根本與Apple採用的天差地遠，因此可以說Safari是Apple自己演化出來的「加拉巴哥化」產物，逼人在做網頁的時候還要考慮到Safari。由於Apple產品握有一定市占率，你網頁開發者不支援也不行。\n不嚴謹的說，使用Chromium核心的瀏覽器，不過就是換皮的Chrome而已。\nGoogle Chrome有侵犯隱私的問題，Chromium系的換皮瀏覽器就比較好嗎？\n他們很會包裝，所以你看不出來，但其實問題不比原版的Chrome少。\n例如，Edge雖然口口聲聲說他們保護你的隱私，但是界面根本就是過度設計，花俏功能一大堆。自從AIGC風行後Edge就變成更加噁心的草莓聖代了，加滿糖霜的按鈕塞滿眼球，不如Chrome預設的界面設計要好。\n至於Brave，常常在宣傳擋廣告成效，整天在Twitter發梗圖嘲諷Chrome，說他們不會拋棄Manifest V2\u0026hellip;雖然看起來Brave很照顧一般用戶，但確卻整天宣傳Web 3事業，非常惱人，還會在瀏覽器裡面打廣告。不要忘了Brave也是一家企業，他們總要想辦法賺錢的！\n繞來繞去好像還是Chrome最平衡？功能不多也不少，使用代價就是被Google追蹤而已。但是我覺得，Brave的設計沒有Edge那麼侵入性，不要的元素都能關閉，目前還在我的忍受範圍內，所以我認為Brave是替代Chrome的好選擇。\n雖然我上面好像都是在挺Chromium系瀏覽器，不過，Firefox還是有其好處。就是它預設功能很乾淨，沒有被Google追蹤的風險，並且會讓人有「我是為自由公開的網路而戰」的使命感，確實Firefox對Linux的支援度很是不錯，若你有訂閱Mozilla電子報會看到他們真的每天都在抗議。\n雖然Firefox沒有Brave那樣簡單易用的擋廣告，但你可以自己裝uBlock Origin補全呀！而且對網頁開發者來說，能在Firefox和Chrome都正常運作的網頁才是好網頁，確保撰寫的程式碼是遵循公開的標準，而不被Chromium限制住。我是很支持Firefox發展的，可惜Firefox行動版不好用，故跨平台這條路就被Chromium系列瀏覽器阻擊了。\n2. 跨平台瀏覽器套件，人民的救星 # 經過幾年的交叉使用多款瀏覽器之後，我就放棄了一款瀏覽器通吃所有系統的想法。\n就像我不再堅持所有裝置都得裝Linux（Linux電腦、Linux筆電、Linux手機、Linux平板\u0026hellip;..），每個硬體裝置都有各自最適合的系統，他們的用途。這樣說來，瀏覽器也是一樣道理，每個硬體裝置都有最適合瀏覽器，每個瀏覽器都有他們的用途。\n因此現在我就是跨著瀏覽器使用，電腦上主力使用Brave作一般瀏覽；Firefox用作網頁開發測試；Chrome用做辦公，存取學術與工作的網頁。\n手機＆平板就看那是什麼系統，不論Android還是iOS，首選還是Brave的說，擋廣告功能實在太好用了，iOS版還支援背景播放Youtube（儘管都是Safari換皮），Chrome同樣用於辦公。iOS裝置內建的Safari僅用於測試網頁開發的功能正不正常。\n那麼瀏覽器的同步服務怎麼辦呢？\n很多瀏覽器都有自家的帳號服務，讓你能夠跨平台共享密碼、書籤、瀏覽紀錄、跨平台接續開啟的分頁，這也容易成為綁住用戶的關鍵，因為遷移到其他瀏覽器得手動搬家，並且會破壞跨裝置的「工作流」。\n所以囉，對於瀏覽器提供的同步功能，我就是don\u0026rsquo;t give a shit about it，改用擴充功能來解決這問題。\n儲存密碼用開源的BitWarden，幾乎所有主流瀏覽器都支援，手機系統還可以整合到自動填入。\n儲存書籤使用開源的Floccus，自動同步書籤並顯示在書籤列。但是在手機上比較不方便使用，得開一個獨立的APP來管理書籤。\n歷史紀錄我不在乎所以沒差。那麼，跨平台接續分頁又該怎辦？沒怎辦，用Tab Session Manager之類的解決。\n或者把連結暫時用筆記軟體Joplin抄下來，或者用Firefox Pocket這類服務整理起來，分頁換裝置再開就好了。\n老實說我很不能理解分頁常常開著好幾百個不關的人在想什麼。對我來說，眼前只要有五個以上分頁就會開始頭痛了，完成的事情就該讓它～隨風而去～像風一樣自由。\n宇徳敬子 - 風のように自由 〜free as the wind〜\n","date":"2024年9月19日","externalUrl":null,"permalink":"/posts/the-cross-browsers-way/","section":"所有文章","summary":"經過多年的更換瀏覽器之後，換過許多瀏覽器，最終我做出的決定是：腳踏三條船，使用跨瀏覽器套件保持同步。\n所以現在不論是電腦、手機、平板，我都了至少三個瀏覽器。\n這是怎麼一回事呢？為什麼不能stick to一個瀏覽器就好？\n1. 批鬥大會開始 # 身為Linux \u0026 Android為主力的用戶，我理想的瀏覽器應該具備以下特點：開放原始碼、尊重隱私權、跨平台（含電腦與手機）、同步資料、界面乾淨、操作體驗優秀，以及支援公開透明的網頁標準，不會被開發者忽略。\n符合以上特點的瀏覽器是空集合。\n市場上有哪些選擇呢？\n下面是我幾年來用過的瀏覽器，依市占率來看的話就是：\nGoogle Chrome Microsoft Edge Apple Safari Mozilla Firefox Brave Browser …..還有一些小眾瀏覽器沒列在這裡。我之所以列出主流瀏覽器，是因為不想出現無法復現的bug因而求助無門。ㄟ！我可不是瀏覽器核心的開發者，debug的罪不該由我來受，所以我儘量迴避太小眾的瀏覽器。\n他們各有各的問題，沒有誰是最好的。\n我先列出他們的優缺點：\nGoogle Chrome：跨平台，同步方便，界面設計簡潔，市占率最高。專有軟體，會蒐集使用者資料。 Microsoft Edge：跨平台，同步方便。專有軟體，會蒐集使用者資料，界面元素過多讓人窒息。 Apple Safari：專為Apple平台優化，同步方便。專有軟體，無法跨平台使用。 Mozilla Firefox：開源軟體，跨平台，同步方便，自定義功能眾多，背後維護者是為自由網路而戰的Mozilla，盡力遵守W3C標準。因為市占率因素導致容易被開發者忽略，且行動版Firefox引擎不如桌面版好用。 Brave Browser：開源軟體，跨平台，同步方便，有許多保護隱私的功能。界面混入一堆Web 3.0宣傳，加上許多惱人的自家產品廣告。 你可以在eylenburg.github.io查看主流瀏覽器的功能比較。\n","title":"瀏覽器怎麼選？我選擇腳踏三條船，使用跨瀏覽器擴充功能保持同步","type":"posts"},{"content":"請參考：iOS側載IPA方式匯總\n本文Ivon分享透過UDID Registration購買開發者憑證，用於給IPA簽名，再側載到iOS裝置的操作過程。\n測試系統版本：iOS 18\n什麼是側載IPA？簡單來說就是安裝App Store以外的APP。有些開源軟體的開發者沒有上架App Store，而是在Github發表，得手動側載IPA。\n比如，我想安裝仿Tachiyomi的免費動漫畫APP：Mangayomi，就得側載IPA。 說到免費的側載IPA方案，最為人熟知的就是AltStore了。但由於AltStore有安裝3個APP的限制，且7天重簽很麻煩，所以我改用購買付費開發者憑證的方式來側載IPA。這個方法安裝IPA無上限，簽名有效期間大約1年。\n1. 名詞解釋 # 側載IPA的步驟分為：購買開發者帳號取得開發者憑證 → 用程式給IPA簽名 → 側載IPA到iOS裝置\n1.1. 付費開發者憑證 # 首先介紹目前iOS合法的側載方式：向Apple註冊，付費購買開發者帳號，分為個人與企業，取得開發者憑證，就可以用自己的憑證給IPA簽名，再側載到iOS裝置，IPA安裝數量無上限。因為付費開發者帳號是Apple官方認可的方式，完全合法，不用擔心憑證被撤銷。但是開發者帳號很貴呀，開發者帳號一年99美元！\n所以我選擇販售企業開發者憑證的第三方簽名服務：「UDID Registrations」，該公司從2013年就存在了（我並沒有收錢業配），從Reddit社群的評價來看，這家公司的服務應該是安全的。跟其他販售企業開發者憑證的網站比起來，UDID Registration價格算是中等，一部裝置一年只要20美元。取得憑證之後就能用他們的服務給IPA簽名，或者拿去其他程式簽名。\n注意風險：販售企業開發者憑證是遊走於灰色地帶的行為，背後很多都是中國公司在做這方面生意，買到的開發者憑證可能會被Apple隨機撤銷，之後側載的IPA就會無法開啟！所幸UDID Registrations的Plantium方案提供全年的撤銷憑證保護，如果被Apple撤銷，他們會換一個新憑證給你。\n1.2. IPA簽名程式 # 那麼取得開發者憑證之後要怎麼給IPA簽名呢？\n最簡單的方式是使用XCode、iOS App Signer簽名後再側載，可惜的是這類IPA簽名程式只有Mac電腦版，不支援Windows。若沒有Mac電腦用虛擬機簽名也行啦。\n如果不想用Mac電腦簽名的話，那就使用開源簽名程式Feather，直接在iOS裝置簽名IPA並安裝。\nUDID Registration還有經營線上簽名的服務IPA Signer，使用Safari瀏覽器簽名完成之後就可以直接安裝IPA。\n註解：你不能用AltStore給IPA簽名，因為AltStore是看你的個人Apple ID，會受到一個裝置安裝3個APP的限制。\n1.3. 第三方應用程式商店 # 第三方應用程式商店非必需品。大部分時候，我們會手動到Github之類的網站下載IPA。\n都可以自由給IPA簽名了，為什麼還要第三方應用程式商店呢？提供你一個集中下載IPA的場所，但這也代表你必須很小心，因為這些商店的APP沒有開放原始碼，不保證APP是絕對安全的。\n如「appdb」是非營利的網站，由社群維護的第三方應用程式商店，上面蒐羅了許多破解版APP。只要從UDID Registration購得企業憑證之後就能將其交給appdb簽名，進而安裝上面的APP。\n還有一個叫做AppValley的網站，屬於Signulous旗下經營的，功能類似appdb。\n2. 購買UDID Registrations憑證 # Windows和macOS用戶，請將iOS裝置插到電腦，點選iTunes → 關於裝置，點一下序列號，查詢裝置的UDID數值。至於Linux用戶請用libimobiledevice指令查詢UDID。 到UDID Registrations官方網站：https://www.udidregistrations.com，點選右上角的Buy Now\n首先要填入iOS裝置的UDID。 之後選取Plantium方案，用Paypal或者信用卡付款。 隨後你就能在Check Order頁面用UDID查詢訂單狀態。 因為Apple的限制，UDID Registrations註冊後需要等大概72小時才會給你下載憑證。在這之前他們會給你一個暫時用的描述檔，可用IPA Signer線上服務簽名IPA，立即安裝APP。但是這個描述檔效力大概只有3天，之後就無法使用了。 等待72小時之後，返回UDID Registrations的Check Order頁面，在這裡就可以下載憑證（certificate，副檔名為.p12）和provisioning profile（副檔名為.mobileprovision）。如果你是使用iOS裝置瀏覽網頁，可能要長按，點選下載連結檔案。 3. 簽名IPA並側載到iOS # 介紹三種簽名方式。\n3.1. IPA Signer線上簽名 # 開啟Safari，到UDID Registrations官方推薦的https://www.ipasigner.com網站。只要你的UDID Registrations註冊超過72小時，IPASigner會自動帶入你的開發者憑證簽名，這樣安裝APP就不會出現描述檔了。\n輸入UDID，再上傳要簽名的IPA，等待簽名完成。 下載IPA之後系統就會提示你安裝APP了。\n3.2. 用Feather APP簽名 # 下載開源簽名程式Feather，利用上述的IPA Signer給Feather IPA簽名，安裝Feather APP。\n取得UDID Registrations的certificate和provisioning profile檔案，密碼填123456。如果你是用iOS的Safari下載.p12檔案，不要直接點選，會變成安裝描述檔，請長按並點選「下載連結檔案」。\n開啟Feather APP，匯入開發者憑證，就可以給其他IPA簽名了。\n3.3. 用Mac的iOS App Signer簽名 # 你必須先取得UDID Registrations的certificate和provisioning profile檔案才能夠自行簽名。\n下載上述兩個檔案，點選.p12檔案將其加入到Mac鑰匙圈，密碼為123456。\n在Mac電腦安裝Xcode，再安裝iOS App Signer\n開啟iOS App Signer，選取IPA\ncertificate選取與.p12檔案同名的鑰匙圈，provisioning profile則是選取剛剛下載到的.mobileprovision檔案\n將簽名IPA存檔\n透過Apple Configurator將IPA側載到iOS裝置。\n4. 安裝appdb商店的APP # 「appdb」是社群維護的第三方應用程式商店，經營超過10年了，廣受Reddit社群信賴。但appdb不保證商店裡的APP不含病毒，因此下載APP時務必小心。\n雖然appdb可以幫你簽名IPA，但是不穩定。建議先取得UDID Registrations的certificate和provisioning profile檔案，用自己的憑證交給appdb簽名比較保險。\n用Safari到appdb官網：https://appdb.to，點選Link your device，輸入電子郵件後下載描述檔。 點選同意安裝描述檔（註：appdb是用MDM機制來管理iOS裝置，權限很高，在意這個的就不要安裝） 到appdb的Configureing features頁面，上傳你的certificate和provisioning profile檔案。 隨後就能下載appdb商店的APP了，網頁點選Install直接安裝。\n參考資料 # UDID Registrations · Sign and install apps How to install apps? - appdb Code Signing Services [Paid] | Sideloading Master Guide Best side loading experience today for IPhones? - r/sideloaded ","date":"2024年9月19日","externalUrl":null,"permalink":"/posts/ios-sideloading-udid-registrations/","section":"所有文章","summary":"請參考：iOS側載IPA方式匯總\n本文Ivon分享透過UDID Registration購買開發者憑證，用於給IPA簽名，再側載到iOS裝置的操作過程。\n測試系統版本：iOS 18\n什麼是側載IPA？簡單來說就是安裝App Store以外的APP。有些開源軟體的開發者沒有上架App Store，而是在Github發表，得手動側載IPA。\n比如，我想安裝仿Tachiyomi的免費動漫畫APP：Mangayomi，就得側載IPA。 說到免費的側載IPA方案，最為人熟知的就是AltStore了。但由於AltStore有安裝3個APP的限制，且7天重簽很麻煩，所以我改用購買付費開發者憑證的方式來側載IPA。這個方法安裝IPA無上限，簽名有效期間大約1年。\n1. 名詞解釋 # 側載IPA的步驟分為：購買開發者帳號取得開發者憑證 → 用程式給IPA簽名 → 側載IPA到iOS裝置\n1.1. 付費開發者憑證 # 首先介紹目前iOS合法的側載方式：向Apple註冊，付費購買開發者帳號，分為個人與企業，取得開發者憑證，就可以用自己的憑證給IPA簽名，再側載到iOS裝置，IPA安裝數量無上限。因為付費開發者帳號是Apple官方認可的方式，完全合法，不用擔心憑證被撤銷。但是開發者帳號很貴呀，開發者帳號一年99美元！\n所以我選擇販售企業開發者憑證的第三方簽名服務：「UDID Registrations」，該公司從2013年就存在了（我並沒有收錢業配），從Reddit社群的評價來看，這家公司的服務應該是安全的。跟其他販售企業開發者憑證的網站比起來，UDID Registration價格算是中等，一部裝置一年只要20美元。取得憑證之後就能用他們的服務給IPA簽名，或者拿去其他程式簽名。\n","title":"iOS安裝第三方APP，UDID Registrations + appdb付費簽名IPA","type":"posts"},{"content":" gallery-dl為一款命令行圖片下載工具，支援抓取許多網站的圖片，其中當然也包含E-hentai/Ex-hentai，它能夠下載到原始畫質的本子圖片。 跟TamperMonkey指令稿E-Hentai Downloader的不同點在於，這個工具不需要瀏覽器就能運作，只要有Python就行，所以手機也能用（Android裝Termux，iOS裝iSH Shell）。\n如果有必要存取Ex-hentai的畫廊，那麼再餵瀏覽器cookie給gallery-dl就行。\n1. 基本操作 # 安裝Python，例如Ubuntu為： sudo apt install python3 python3-pip 以pip安裝gallery-dl pip install gallery-dl 餵給gallery-dl E-hentai畫廊的網址，例如我要下載的是(C87) [クレスタ (呉マサヒロ)] CL-orz 42 (甘城ブリリアントパーク) gallery-dl \u0026#34;https://e-hentai.org/g/1512098/2f63dc4708/\u0026#34; 下載圖片便會自動開始\u0026hellip; 下載後的圖片會自動按照畫廊標題分類。圖片下載的都是原始畫質圖片，因此，同一個IP下載太多可能會被E-hentai站方限流。 2. 下載需要登入帳號才能存取的畫廊 # 以(COMIC1☆8) [クレスタ (呉マサヒロ)] CL-orz 37 (ラブライブ!)這個畫廊為例，因為含有loli標籤，它需要登入E-hentai/Ex-hentai帳號才能存取。\n嘗試用OAuth方式輸入E-hentai帳號資訊，再行下載：\ngallery-dl -u \u0026#34;E-hentai帳號\u0026#34; -p \u0026#34;E-hentai密碼\u0026#34; \u0026#34;https://e-hentai.org/g/836625/2ac87e2a10/\u0026#34; 若是Ex-hentai畫廊的話，在瀏覽器登入E-hentai帳號，裝Get-cookies.txt-LOCALLY擴充功能，匯出cookies.txt，再傳給gallery-dl讀取：\ngallery-dl --cookies \u0026#34;/home/user/下載/cookies.txt\u0026#34; \u0026#34;https://exhentai.org/g/836625/2ac87e2a10/\u0026#34; ","date":"2024年9月18日","externalUrl":null,"permalink":"/posts/gallery-dl-download-e-hentai/","section":"Nsfws","summary":" gallery-dl為一款命令行圖片下載工具，支援抓取許多網站的圖片，其中當然也包含E-hentai/Ex-hentai，它能夠下載到原始畫質的本子圖片。 跟TamperMonkey指令稿E-Hentai Downloader的不同點在於，這個工具不需要瀏覽器就能運作，只要有Python就行，所以手機也能用（Android裝Termux，iOS裝iSH Shell）。\n如果有必要存取Ex-hentai的畫廊，那麼再餵瀏覽器cookie給gallery-dl就行。\n1. 基本操作 # 安裝Python，例如Ubuntu為： sudo apt install python3 python3-pip 以pip安裝gallery-dl pip install gallery-dl 餵給gallery-dl E-hentai畫廊的網址，例如我要下載的是(C87) [クレスタ (呉マサヒロ)] CL-orz 42 (甘城ブリリアントパーク) gallery-dl \"https://e-hentai.org/g/1512098/2f63dc4708/\" 下載圖片便會自動開始… 下載後的圖片會自動按照畫廊標題分類。圖片下載的都是原始畫質圖片，因此，同一個IP下載太多可能會被E-hentai站方限流。 ","title":"利用gallery-dl批次下載E-hentai本子圖片","type":"nsfw"},{"content":"請參見：Linux開源免費的遠端桌面列表\n遠端Linux沒有圖形界面，但是需要執行圖形程式，該怎麼辦呢？\n不如透過X11 Forwarding，將它放到本機Linux的X伺服器執行吧！圖片為在Ubuntu執行Debian伺服器上的Chromium瀏覽器。 1. X11 Forwarding有何用？ # Linux的圖形環境都是建基於X視窗系統(X11)之上的，有了這套軟體才能跑圖形程式，還有我們熟知的GNOME、KDE桌面環境。\nX視窗系統因為具有主從式架構，能有多個X客戶端連線到X伺服端，故能夠自由指定DISPLAY:環境變數，藉由網路透明性(network transparency)，在同一網路下的其他電腦顯示圖形程式。\n比如，我們可以讓一台headless的A電腦的畫面，顯示在另一台有連接顯示器的B電腦：\n# A電腦執行指令，指定使用B電腦的DISPLAY export DISPLAY=192.168.1.102:0 # A電腦執行指令，在連接顯示器的B電腦顯示xterm程式 xterm # 你可能還要在B電腦允許其他X客戶端在你的畫面上顯示 xhost + 此時，B電腦就成為了A電腦的X客戶端。執行於X客戶端的圖形程式，渲染工作是由遠端X伺服端負責的，所以依賴OpenGL的程式可以吃到3D加速。 圖片來自getteleport.com\n那麼什麼是X11 Forwarding？中文意為X11轉發，將遠端X視窗的畫面轉發到本機顯示。參考下圖，SSH會將遠端X客戶端通過代理傳送到本機。 圖片來自getteleport.com\n為什麼X11 Forwarding要搭配SSH使用呢？因為X伺服器與X客戶端之間通訊是沒有加密的，這樣很容易被攔截竄改，所以讓它走SSH加密通道較為保險。於是乎，整個技術就變成了「SSH X11 Forwarding」。\n某種程度來說X11 Forwarding可以算是遠端桌面吧，但是它不是VNC那種啟動整個Linux桌面環境的方案，反而比較像是跑單一應用程式視窗用的。還有X11畫面傳輸沒有經過任何壓縮，也因此X11 Forwarding比VNC吃頻寬，不適合網路連線緩慢的情況使用（其實就算是區域網路，X11 Forwarding的效率也是非常差勁，比不上VNC）。\n2. X11 Forwarding運作需要的環境 # 第一，SSH伺服器和SSH客戶端是必備的。\n第二，X11 Forwarding運作條件是客戶端電腦必須執行X伺服器。\n理想上遠端和客戶端都是Linux系統比較好操作，因為大部份Linux發行版都有X視窗系統的桌面。若你是用Wayland桌面的話你得用XWayland或Xephyr做一個X視窗出來。\n本文探討的便是Linux對Linux進行X11 Forwarding。\n不過X11 Forwarding並無限制一定要用Linux， X11 Forwarding是可以在其他系統運作的。\n如果要Linux → Windows，因為Window不是使用X視窗系統，所以要安裝開源的Vcxsrv跑一個X伺服器，讓遠端Linux的視窗在Windows上執行。\nLinux → macOS，請裝XQuartz\nLinux → Android，請裝Termux X11\nLinux → iOS，請裝閉源的Mocha X11或者iSH Shell\n3. 如何進行X11 Forwarding操作 # 假設遠端伺服器為Debian 12，客戶端為Ubuntu 24.04。\n在要連線的客戶端，也就是Ubuntu，開啟終端機\n使用SSH登入遠端Debian\nssh 使用者名稱@伺服器IP X11 Forwarding預設是關閉的，所以要編輯sshd設定檔 sudo vim /etc/ssh/sshd_config 將這裡取消註解，啟用X11 Forwarding AllowTcpForwarding yes X11Forwarding yes X11UseLocalhost yes 重新啟動SSH服務 sudo systemctl restart sshd 在本機Ubuntu，開一個新的終端機視窗，ssh指令加上-X選項，後面加上要啟動的程式，例如這裡為xterm： ssh -X 使用者名稱@伺服器IP xterm 4. ssh -X與ssh -Y的差別 # ssh -X稱作untrusted X11 forwarding，連線時比較安全。\nssh -Y為trusted X11 forwarding，只有在部份程式無法開啟時才使用此選項。\n5. Wayland的X11 Forwarding替代品 # 隨著Wayland成為主流的顯示協定，X11 Forwarding也逐漸走入歷史了\u0026hellip;啊不過有開發者做了概念上類似的WayPipe，能夠把遠端Wayland程式拉到本機Wayland執行。\n參考資料 # What You Need to Know About X11 Forwarding by Brian Joerger Chapter 12. Remotely accessing an X11-based application - Red Hat Enterprise Linux 9 ","date":"2024年9月17日","externalUrl":null,"permalink":"/posts/linux-x11-forwarding/","section":"所有文章","summary":"請參見：Linux開源免費的遠端桌面列表\n遠端Linux沒有圖形界面，但是需要執行圖形程式，該怎麼辦呢？\n不如透過X11 Forwarding，將它放到本機Linux的X伺服器執行吧！圖片為在Ubuntu執行Debian伺服器上的Chromium瀏覽器。 1. X11 Forwarding有何用？ # Linux的圖形環境都是建基於X視窗系統(X11)之上的，有了這套軟體才能跑圖形程式，還有我們熟知的GNOME、KDE桌面環境。\nX視窗系統因為具有主從式架構，能有多個X客戶端連線到X伺服端，故能夠自由指定DISPLAY:環境變數，藉由網路透明性(network transparency)，在同一網路下的其他電腦顯示圖形程式。\n比如，我們可以讓一台headless的A電腦的畫面，顯示在另一台有連接顯示器的B電腦：\n# A電腦執行指令，指定使用B電腦的DISPLAY export DISPLAY=192.168.1.102:0 # A電腦執行指令，在連接顯示器的B電腦顯示xterm程式 xterm # 你可能還要在B電腦允許其他X客戶端在你的畫面上顯示 xhost + 此時，B電腦就成為了A電腦的X客戶端。執行於X客戶端的圖形程式，渲染工作是由遠端X伺服端負責的，所以依賴OpenGL的程式可以吃到3D加速。 圖片來自getteleport.com\n","title":"SSH X11 Forwarding教學，將遠端Linux圖形程式拉到本機X視窗執行","type":"posts"},{"content":"「Cloudflare Pages」是Cloudflare公司於2021年推出的serverless與JAMstack應用程式部署平台。 Ivon認為它有如下優點：\n將網站部署到Cloudflare的全球CDN節點，加快網站存取速度。 不收流量費，每月不限制流量。這點蠻殺的，Github Pages都不敢給出這種保證。與其說是流量無上限，不如說Cloudflare的流量閾值設得很高吧。 免費方案，網站容量不限大小，網站檔案上限20000個，單一檔案上限25MB，每月建置500次。 可搭配自家的Cloudflare R2產品存放容量較大的檔案，擺脫檔案大小限制，例如架個Cloudflare R2圖床。 提供免費域名，支援自訂域名 相容Hugo、Hexo、Jekyll、Gatsby、Next.js、Angular等多種網站框架 Cloudflare Pages很適合用來部署靜態網站，本文以Hugo為例子。\n1. 部署過程 # 我曾經用過的配置：在本機初始化Hugo儲存庫 → 推送原始碼到Github（這個儲存庫可以是私人的） → Cloudflare Pages拉取Github的網站原始碼，建置公開網頁。\n建議要長期經營網站的話，準備一個域名，並把DNS伺服器指向Cloudflare的主機。\n2. 設定Cloudflare Pages的建置指令 # 新增一個Hugo網站，並設定好Github儲存庫\n到Cloudflare Pages註冊帳號，登入後台\n選取左側的Workers \u0026amp; Pages頁面，新增專案 授權登入Github帳號，選取你的Hugo Github儲存庫 框架選Hugo，並設定建置網頁的指令為hugo 建置指令下方需要設定環境變數，這裡使用HUGO_VERSION指定Hugo版本，最好跟你在電腦本機使用的Hugo版本一致 之後，嘗試git push推送變更到Github，便會觸發Cloudflare Pages的建置了 建置後後會產生一個*.pages.dev網址，點進去就能預覽Cloudflare Pages的網站\n3. 將域名DNS指向Cloudflare # 將域名與Cloudflare Pages的接上線，供公眾存取。\n如果你的域名不是在Cloudflare買的不用整個遷移過去，只要將DNS伺服器指向Cloudflare的就行了。\n點選Cloudflare Pages設定 → 自訂網域，依照指示設定DNS伺服器 參考資料 # Hugo | Cloudflare Pages docs Workers 與Pages 定價 ","date":"2024年9月17日","externalUrl":null,"permalink":"/posts/deploy-hugo-website-to-cloudflare-pages/","section":"所有文章","summary":"「Cloudflare Pages」是Cloudflare公司於2021年推出的serverless與JAMstack應用程式部署平台。 Ivon認為它有如下優點：\n將網站部署到Cloudflare的全球CDN節點，加快網站存取速度。 不收流量費，每月不限制流量。這點蠻殺的，Github Pages都不敢給出這種保證。與其說是流量無上限，不如說Cloudflare的流量閾值設得很高吧。 免費方案，網站容量不限大小，網站檔案上限20000個，單一檔案上限25MB，每月建置500次。 可搭配自家的Cloudflare R2產品存放容量較大的檔案，擺脫檔案大小限制，例如架個Cloudflare R2圖床。 提供免費域名，支援自訂域名 相容Hugo、Hexo、Jekyll、Gatsby、Next.js、Angular等多種網站框架 Cloudflare Pages很適合用來部署靜態網站，本文以Hugo為例子。\n1. 部署過程 # 我曾經用過的配置：在本機初始化Hugo儲存庫 → 推送原始碼到Github（這個儲存庫可以是私人的） → Cloudflare Pages拉取Github的網站原始碼，建置公開網頁。\n建議要長期經營網站的話，準備一個域名，並把DNS伺服器指向Cloudflare的主機。\n","title":"Cloudflare Pages免費部署Hugo靜態網站，不限傳輸流量","type":"posts"},{"content":"我們知道iOS每個APP的資料都是沙盒隔離的，如果要放到其他APP編輯都得用「分享」的，很是不便。\niSH Shell的家目錄(/root)雖然能在檔案APP → iSH Shell看到，可是都其他APP移動檔案進去都要用拷貝的，那我們能不能直接掛載其他APP的資料夾呢？\niSH Shell可以使用mount -t ios指令掛載其他APP的共享檔案資料夾(file providers)，方便使用iSH Shell的命令行工具進行批次操作。\n比如，掛載VLC的影片資料夾，然後用ffmpeg指令批次轉檔成mp3。或者，掛載Google雲端的資料夾，存取雲端硬碟的檔案。\n以VLC為例，輸入指令掛載到/mnt mount -t ios vlc /mnt 在彈出來的視窗點選VLC 那麼iSH Shell就能看到VLC資料夾下的檔案。\n","date":"2024年9月17日","externalUrl":null,"permalink":"/posts/ish-shell-mount-file-providers/","section":"所有文章","summary":"我們知道iOS每個APP的資料都是沙盒隔離的，如果要放到其他APP編輯都得用「分享」的，很是不便。\niSH Shell的家目錄(/root)雖然能在檔案APP → iSH Shell看到，可是都其他APP移動檔案進去都要用拷貝的，那我們能不能直接掛載其他APP的資料夾呢？\niSH Shell可以使用mount -t ios指令掛載其他APP的共享檔案資料夾(file providers)，方便使用iSH Shell的命令行工具進行批次操作。\n比如，掛載VLC的影片資料夾，然後用ffmpeg指令批次轉檔成mp3。或者，掛載Google雲端的資料夾，存取雲端硬碟的檔案。\n以VLC為例，輸入指令掛載到/mnt mount -t ios vlc /mnt 在彈出來的視窗點選VLC 那麼iSH Shell就能看到VLC資料夾下的檔案。\n","title":"iSH Shell與iOS共享檔案，掛載其他APP的共享資料夾","type":"posts"},{"content":"","date":"2024年9月16日","externalUrl":null,"permalink":"/tags/i3wm/","section":"標籤","summary":"","title":"I3wm","type":"tags"},{"content":"X伺服器拉進來，iOS打出去！\n分享如何在iOS的iSH Shell跑X視窗系統，執行Linux i3wm桌面環境，這樣你就能執行Linux圖形程式啦。\n因為iSH Shell沒有模擬顯示器的功能，所以我們只能用「Xvfb」跑虛擬X伺服器（將X視窗畫面輸出到虛擬記憶體的技術），再搭配x11VNC搞個headless的VNC伺服器，就可以用VNC客戶端APP存取Linux的畫面了。 請注意：目前iSH Shell 1.3.2的環境不如UTM虛擬機完整，執行圖形程式很容易出現Bad System Call錯誤，就連簡單的sxiv看圖程式都沒辦法跑，這就是為什麼上面的圖片我只有跑xterm和xeyes的原因\u0026hellip;至於桌面環境，iSH Shell連XFCE都無法啟動，只能跑i3wm、fluxbox、awesome這類簡單的X視窗管理員。\n那能不能透過SSH X11 Forwarding，將遠端Linux的程式拉到iSH Shell的X視窗執行，當另類遠端桌面用？是可以啦，但由於iSH Shell是以模擬的方式執行x86程式，圖形效率非常差勁！ 將遠端Linux的Firefox顯示在iSH Shell的X視窗\n1. 安裝依賴套件 # 安裝專有軟體RealVNC APP\n安裝iSH Shell APP\n設定iSH Shell的背景執行權限\n安裝以下套件，包含X伺服器、i3wm、x11VNC\napk add x11vnc x11vnc-doc xvfb xterm xorg-server xf86-video-dummy xdpyinfo xdpyinfo-doc i3wm i3status i3locki3wm-doc i3lock-doc i3status-doc ttf-dejavu font-noto-cjk 2. 撰寫啟動i3wm的指令稿 # 設定x11VNC的連線密碼，六位數 x11vnc -storepasswd 新增指令稿 vim ~/starti3.sh 填入以下內容，使用DiSPLAY:0，先啟動解析度1024x768的Xvfb工作階段，再啟動i3wm，然後開一個xterm，最後啟動x11VNC。 rm /tmp/.X0-lock export DISPLAY=:0 Xvfb -screen $DISPLAY 1024x768x24 \u0026amp; i3 \u0026amp; xterm \u0026amp; x11vnc -display $DISPLAY -usepw -noshm -forever \u0026amp; 賦予執行權限 chmod +x ~/starti3.sh 3. 連線到VNC桌面 # 執行指令稿 ./starti3.sh 開啟RealVNC Viewer，IP輸入localhost:5900連線，輸入密碼，就會看到畫面了。 i3wm以鍵盤操作為主，需要自行組態快捷鍵，請參閱i3wm的使用說明。\n4. X11 Forwarding到iSH Shell # 編輯遠端Linux的sshd設定/etc/ssh/sshd_config，允許X11 Forwarding X11Forwarding yes 接著在iSH Shell安裝OpenSSH套件 apk add openssh 啟動i3wm指令稿\n回到iSH Shell，執行ssh -X指令，將遠端Linux的Firefox拉到iSH Shell執行：\nexport DISPLAY=:0 ssh -X 使用者名稱@遠端Linux的IP firefox 參考資料 # lurenJBD的一鍵安裝桌面環境指令稿 iSH-Tools x11vnc - Alpine Linux Wiki Running a VNC Server - ","date":"2024年9月16日","externalUrl":null,"permalink":"/posts/ish-shell-x11-vnc/","section":"所有文章","summary":"X伺服器拉進來，iOS打出去！\n分享如何在iOS的iSH Shell跑X視窗系統，執行Linux i3wm桌面環境，這樣你就能執行Linux圖形程式啦。\n因為iSH Shell沒有模擬顯示器的功能，所以我們只能用「Xvfb」跑虛擬X伺服器（將X視窗畫面輸出到虛擬記憶體的技術），再搭配x11VNC搞個headless的VNC伺服器，就可以用VNC客戶端APP存取Linux的畫面了。 請注意：目前iSH Shell 1.3.2的環境不如UTM虛擬機完整，執行圖形程式很容易出現Bad System Call錯誤，就連簡單的sxiv看圖程式都沒辦法跑，這就是為什麼上面的圖片我只有跑xterm和xeyes的原因…至於桌面環境，iSH Shell連XFCE都無法啟動，只能跑i3wm、fluxbox、awesome這類簡單的X視窗管理員。\n那能不能透過SSH X11 Forwarding，將遠端Linux的程式拉到iSH Shell的X視窗執行，當另類遠端桌面用？是可以啦，但由於iSH Shell是以模擬的方式執行x86程式，圖形效率非常差勁！ 將遠端Linux的Firefox顯示在iSH Shell的X視窗\n1. 安裝依賴套件 # 安裝專有軟體RealVNC APP\n","title":"iOS跑X11視窗圖形界面，iSH Shell x11VNC安裝教學","type":"posts"},{"content":"為什麼要啟用背景執行：在多個APP之間切換的時候，iSH Shell會被iOS暫停，這會導致程式執行到一半卡住，所以必須申請背景執行權限。\n以iOS的設計來說，APP少數能在背景執行的方法就是請求定位權限了。iSH Shell可透過cat /dev/location指令請求定位權限，讓iSH Shell得以在背景繼續執行。請放心，定位只是為了讓iSH Shell不會被iSO中止。資料不會傳輸給第三方。\n我們將用OpenRCiSH Shell的背景執行權限。\n1. 設定OpenRC服務 # 安裝OpenRC套件 apk add openrc 新增指令稿 vim /etc/init.d/runbg 填入以下內容，執行cat /dev/location指令，並將結果輸出到/dev/null，這樣資料就不會傳給任何人 #!/sbin/openrc-run # # Copyright (c) 2021-2024: Jacob.Lundqvist@gmail.com # License: MIT # # This service reads the GPS and discards the output to /dev/null. # This is not tracking you in any way. The sole purpose of this # is to ensure an iOS program continues to run in the background. # This process has no noticeable impact on battery life. # description=\u0026#34;Reads GPS to ensure iSH continues to run in the background\u0026#34; command=\u0026#34;/bin/cat\u0026#34; command_args=\u0026#34;/dev/location \u0026gt; /dev/null\u0026#34; command_background=\u0026#34;YES\u0026#34; pidfile=\u0026#34;/run/runbg.pid\u0026#34; 將指令稿加入OpenRC自動啟動的服務 chmod +x /etc/init.d/runbg rc-update add runbg default 重開APP，iSH Shell隨即會請求定位權限，之後iSH Shell就能在背景執行了。 2. 如果iSH Shell在背景還是被iOS中止 # 若iSH Shell的程式佔用太多RAM，iOS還是會把它中止的。\n經過實測，iSH Shell的SSH連線放到背景還是會被凍結QQ 看來只有iPad的幕前調度能真正避免APP背景執行被殺掉。\n參考資料 # Running iSH in the Background - ish-app/ish GitHub Wiki ","date":"2024年9月16日","externalUrl":null,"permalink":"/posts/ish-shell-running-in-background/","section":"所有文章","summary":"為什麼要啟用背景執行：在多個APP之間切換的時候，iSH Shell會被iOS暫停，這會導致程式執行到一半卡住，所以必須申請背景執行權限。\n以iOS的設計來說，APP少數能在背景執行的方法就是請求定位權限了。iSH Shell可透過cat /dev/location指令請求定位權限，讓iSH Shell得以在背景繼續執行。請放心，定位只是為了讓iSH Shell不會被iSO中止。資料不會傳輸給第三方。\n我們將用OpenRCiSH Shell的背景執行權限。\n1. 設定OpenRC服務 # 安裝OpenRC套件 apk add openrc 新增指令稿 vim /etc/init.d/runbg 填入以下內容，執行cat /dev/location指令，並將結果輸出到/dev/null，這樣資料就不會傳給任何人 #!/sbin/openrc-run # # Copyright (c) 2021-2024: Jacob.Lundqvist@gmail.com # License: MIT # # This service reads the GPS and discards the output to /dev/null. # This is not tracking you in any way. The sole purpose of this # is to ensure an iOS program continues to run in the background. # This process has no noticeable impact on battery life. # description=\"Reads GPS to ensure iSH continues to run in the background\" command=\"/bin/cat\" command_args=\"/dev/location \u003e /dev/null\" command_background=\"YES\" pidfile=\"/run/runbg.pid\" 將指令稿加入OpenRC自動啟動的服務 chmod +x /etc/init.d/runbg rc-update add runbg default 重開APP，iSH Shell隨即會請求定位權限，之後iSH Shell就能在背景執行了。 2. 如果iSH Shell在背景還是被iOS中止 # 若iSH Shell的程式佔用太多RAM，iOS還是會把它中止的。\n","title":"iSH Shell設定背景執行權限，防止iOS殺後台","type":"posts"},{"content":"My workflow for publishing Hugo blogs from iPad.\n嘗試用iPad平板寫Hugo部落格網站的文章。 1. 過去慣用的遠端工作流程 # 過去都是用Linux筆電寫Hugo部落格的，Joplin寫草稿，筆電用SSHFS掛載遠端Linux電腦目錄（因為設定簡單，而且管理檔案很直覺），貼上Markdown檔案。文章附圖使用Gwenview或GIMP轉檔壓圖。最終執行hugo server指令預覽，再推送到Github。\n可以看到這個工作流程有很多問題難以解決。即使iPad有外接鍵盤，難度還是很高啊。光是寫草稿部分就要開多視窗了，還要SSHFS遠端掛載。此外影像處理也是個挑戰，有什麼開源APP能做到GIMP那樣的編輯效果呢？\n跟筆電比起來iPad根本地獄級難度，用這種綁手綁腳的平台寫，又堅持要盡量用開源的方案，可以說是自找麻煩。\n2. iPad遠端方案探討 # 為何是編輯遠端檔案而非本機建置呢？首先，在iPad跑hugo程式建置網頁，iSH Shell勉強做得到，但我不會這樣做。因為網站的Git儲存庫過大，不會把儲存庫clone來clone去。所以我習慣的做法是編輯遠端Linux電腦上的Git儲存庫。\n再來探討遠端存取Linux電腦的手段，網路部分內網穿透軟體可以搞定連線問題。\n那麼要如何存取遠端的儲存庫？\n遠端桌面的方案？不行，家裡網路太慢，除了VNC以外啥都跑不動，體驗欠佳。\n所以我比較希望用掛載遠端硬碟的方式來存取，像筆電的SSHFS那樣。但是iSH Shell做不到，沒幾個APP支援FUSE的。想過搞SAMBA伺服器再用iPadOS的檔案APP掛載，可是iPad又沒有好的開源文字編輯器，導致能存取遠端檔案也沒屁用。\n一度想過，只要有iSH Shell + SSH，能遠端就好了吧！我用ranger + vim也能用純文字介面寫部落格啊。\n以上做法不夠直覺，所以，我決定架設VS Code Server，這樣就有了一個隨時能打開的網頁編輯器，還有簡易上下傳檔案的功能。\n搭配iPad的幕前調度(Stage Manager)功能，實現多個APP視窗同時執行的效果，防止遠端連線的工作階段被iOS任意終止。\n3. 需要準備的APP # Joplin：跨平台存取文章草稿 瀏覽器：Brave或Safari，用於存取Code Server iSH Shell：SSH客戶端 \u0026amp; ImageMagick影像處理 Tailscale：內網穿透軟體 miniPaint：簡易網頁修圖程式 Code Server：VS Code伺服器 4. 遠端Linux的設定 # 如果用iSH Shell的話這些指令可以在iPad上完成。\n設定好OpenSSH伺服器服務，開機自動啟動。 sudo systemctl enable ssh 安裝Tailscale服務，開機自動連線。 sudo systemctl enable tailscaled 架設Code Server，設定開機自動啟動服務。 sudo systemctl enable code-server@$USER 5. iPad端的工作流程 # 開啟Spotify播音樂 連上Tailscale VPN\n開啟幕前調度\n開啟Joplin\n點選加入視窗，加入Safari視窗，連線到Code Server\n必要時再加入一個新視窗，選Brave，用於額外查資料用（因為Safari就算是多分頁也會因為RAM因素亂殺背景分頁＝＝）\n這裡處理文字部分的Markdown，可以直接在VS Code的網頁介面新增檔案。 接著要處理文章引用圖片的部分。先把剛剛視窗的組合移開。\n開一個新的視窗，把圖檔集中到檔案APP的一個資料夾 把圖片拖到miniPaint做編修。iPad很機車的不能輸出為webp，所以還要另外轉檔。\n將處理好的圖片放到iSH Shell的root資料夾\n執行ImageMagick指令，批次壓圖並轉檔 最後使用VSCode的上傳功能把圖片上傳到遠端資料夾 最後在VS Code的終端機執行hugo server指令預覽網站，就能推送到Github了。 ","date":"2024年9月15日","externalUrl":null,"permalink":"/posts/publish-hugo-blogs-from-ipad/","section":"所有文章","summary":"My workflow for publishing Hugo blogs from iPad.\n嘗試用iPad平板寫Hugo部落格網站的文章。 1. 過去慣用的遠端工作流程 # 過去都是用Linux筆電寫Hugo部落格的，Joplin寫草稿，筆電用SSHFS掛載遠端Linux電腦目錄（因為設定簡單，而且管理檔案很直覺），貼上Markdown檔案。文章附圖使用Gwenview或GIMP轉檔壓圖。最終執行hugo server指令預覽，再推送到Github。\n可以看到這個工作流程有很多問題難以解決。即使iPad有外接鍵盤，難度還是很高啊。光是寫草稿部分就要開多視窗了，還要SSHFS遠端掛載。此外影像處理也是個挑戰，有什麼開源APP能做到GIMP那樣的編輯效果呢？\n跟筆電比起來iPad根本地獄級難度，用這種綁手綁腳的平台寫，又堅持要盡量用開源的方案，可以說是自找麻煩。\n2. iPad遠端方案探討 # 為何是編輯遠端檔案而非本機建置呢？首先，在iPad跑hugo程式建置網頁，iSH Shell勉強做得到，但我不會這樣做。因為網站的Git儲存庫過大，不會把儲存庫clone來clone去。所以我習慣的做法是編輯遠端Linux電腦上的Git儲存庫。\n","title":"用iPad寫Hugo部落格的遠端工作流程，SSH + VS Code Server環境建置","type":"posts"},{"content":"之前分享過Rustdesk手機控制手機的開源方案，理論上也可以用平板控制手機，但是不太好操控哪。\n今天介紹一個Android手機投影到iPad的方案，那就是用開源的Scrcpy搭配無線ADB，將Android手機螢幕投影到iPad或者iPhone，進而從iPad控制Android手機。\n這有什麼用呢？\n比如將手機的簡報投影到iPad與他人共享、遠端遊玩Android手機上的遊戲。\n把Android手機的神秘熊貓漫畫APP投影到iPad，直接放大閱讀。 利用Termux proot將Android變成小電腦，用iPad控制Android的Linux桌面環境並執行GIMP。 1. Scrcpy為何？ # Scrcpy為GenyMobile開發的螢幕投影＆遠端控制軟體，支援有線與無線連接，詳細用法見此。\nScrcpy為開源免費的軟體，然而原作者只有做電腦版，iOS版Scrcpy是其他開發者移植的，收費1美元，原始碼位於Github。\n由於ADB無線偵錯需要Wifi連線，此方案必須額外準備WiFi，無法透過Android手機行動熱點使用。除非Android是連線到iOS端的熱點。\nScrcpy for iOS可以用來控制實體Android機，也能透過TailScale/ZeroTier，用來控制自架Android雲手機。 另外，本文講述的是Android投影到iPad。如果你想將Android手機投影到Android平板，請改安裝Android版的Scrcpy客戶端\n2. 連線到Android手機 # 請至App Store購買Scrcpy for iOS\nScrcpy預設開啟是VNC模式，請開啟Safari瀏覽器，輸入scrcpy2://adb切換為ADB模式。\n讓iPad與Android手機位於同一個網路下。Android手機開啟開發人員選項，啟用無線ADB偵錯，取得配對碼 回到Scrcpy，點選右上角Pair with Pairing Code，輸入IP、通訊埠、配對碼 接著填入Android機的IP、通訊埠、解析度、位元率，再點選Connect，Android螢幕就會跳出來了。 在Scrcpy長按底部可以叫出導航鍵。為了避免iPad的手勢跟Android的衝突，建議把Android手機的操控方式改為三明治鍵。 雖然Scrcpy支援傳輸音訊，不過似乎無法指定編碼器？有的手機只支援AAC的說，所以會導致靜音。\n3. 修改Android螢幕解析度 # 現在手機越做越長，投影到iPad難免會出現黑邊。\n若要讓Android螢幕符合iPad解析度，可以使用SecondScreen強制修改手機解析度。\n如此一來，就好像在iPad滑Android平板一樣的體驗了，Android 12以上原生系統對UI變化的適應性很強！ ","date":"2024年9月12日","externalUrl":null,"permalink":"/posts/scrcpy-for-ios/","section":"所有文章","summary":"之前分享過Rustdesk手機控制手機的開源方案，理論上也可以用平板控制手機，但是不太好操控哪。\n今天介紹一個Android手機投影到iPad的方案，那就是用開源的Scrcpy搭配無線ADB，將Android手機螢幕投影到iPad或者iPhone，進而從iPad控制Android手機。\n這有什麼用呢？\n比如將手機的簡報投影到iPad與他人共享、遠端遊玩Android手機上的遊戲。\n把Android手機的神秘熊貓漫畫APP投影到iPad，直接放大閱讀。 利用Termux proot將Android變成小電腦，用iPad控制Android的Linux桌面環境並執行GIMP。 1. Scrcpy為何？ # Scrcpy為GenyMobile開發的螢幕投影＆遠端控制軟體，支援有線與無線連接，詳細用法見此。\nScrcpy為開源免費的軟體，然而原作者只有做電腦版，iOS版Scrcpy是其他開發者移植的，收費1美元，原始碼位於Github。\n由於ADB無線偵錯需要Wifi連線，此方案必須額外準備WiFi，無法透過Android手機行動熱點使用。除非Android是連線到iOS端的熱點。\nScrcpy for iOS可以用來控制實體Android機，也能透過TailScale/ZeroTier，用來控制自架Android雲手機。 另外，本文講述的是Android投影到iPad。如果你想將Android手機投影到Android平板，請改安裝Android版的Scrcpy客戶端\n","title":"Scrcpy for iOS，Android手機投影到iPad，從平板遠端控制手機","type":"posts"},{"content":"JIT (Just-in-time compilation， 即時編譯技術)可以大幅提昇模擬器APP的執行速度，例如UTM虛擬機、iSH Shell、PojavLauncher、RetroArch模擬器等等。\n以UTM虛擬機為例，啟用JIT之後，Linux虛擬機的開機速度便快了二倍以上！可見此技術的重要性。\n可惜的是Apple以安全性為由，禁止啟用JIT的APP上架App Store，所以JIT只能在側載的APP啟用。\n1. AltStore啟用JIT的方法 # iOS 18以上系統，要啟用JIT有幾種方法：\nStikDebug，免電腦啟用JIT，不限AltStore側載的APP Jitterbug，用另一部iOS裝置無線啟用JIT 越獄 根據AltStore官方文件，現在推薦使用「StikDebug」來啟用JIT。\nAltStore針對歐盟地區的用戶推出了「StikDebug」APP，可以直接在AltStore PAL第三方商店裡面下載。後來StikDebug也順利上架App Store了，不需要側載。\n2. （舊版）啟用AltJIT # 注意：此處內容僅適用iOS 17。建議改用StikDebug，操作更方便，不需要電腦。\n根據AltStore官方文件，iOS 17以前版本可透過AltStore長按選單啟用JIT。或者用電腦的AltServer給APP啟用JIT。 但是iOS 17僅能透過Mac電腦啟用JIT，條件非常嚴苛。也就是說iOS裝置必須插著Mac電腦才能給APP用JIT，APP關閉後JIT就會消失。\n安裝AltStore到Mac\n開啟Mac終端機，安裝Xcode工具\nxcode-select --install 安裝Homebrew\n安裝OpenSSL\nbrew install openssl@3 再用系統的Python安裝pymobiledevice3套件，需要指定版本 sudo /Applications/Xcode.app/Contents/Developer/usr/bin/python3 -m pip install pymobiledevice3==2.30.0 construct==2.10.69 將iOS裝置插上Mac\n執行AltServer，點選Enable JIT，再選取iOS裝置上的APP即可。注意：由於App Store禁止支援JIT的APP上架，所以APP即使有上架App Store也必須改用AltStore側載IPA，才能啟用JIT。 目前pymobiledevice3在iOS 17似乎有很多bug，如果AltServer跳出錯誤請到下方的Github issue查看解決方式。\n參考資料 # Enabling JIT - AltStore Docs AltJIT - AltStore Docs pymobiledevice3 update to 2.31.0 breaks enabling JIT #1345 - Github ","date":"2024年9月12日","externalUrl":null,"permalink":"/posts/altstore-enable-altjit/","section":"所有文章","summary":"JIT (Just-in-time compilation， 即時編譯技術)可以大幅提昇模擬器APP的執行速度，例如UTM虛擬機、iSH Shell、PojavLauncher、RetroArch模擬器等等。\n以UTM虛擬機為例，啟用JIT之後，Linux虛擬機的開機速度便快了二倍以上！可見此技術的重要性。\n可惜的是Apple以安全性為由，禁止啟用JIT的APP上架App Store，所以JIT只能在側載的APP啟用。\n1. AltStore啟用JIT的方法 # iOS 18以上系統，要啟用JIT有幾種方法：\nStikDebug，免電腦啟用JIT，不限AltStore側載的APP Jitterbug，用另一部iOS裝置無線啟用JIT 越獄 根據AltStore官方文件，現在推薦使用「StikDebug」來啟用JIT。\nAltStore針對歐盟地區的用戶推出了「StikDebug」APP，可以直接在AltStore PAL第三方商店裡面下載。後來StikDebug也順利上架App Store了，不需要側載。\n2. （舊版）啟用AltJIT # 注意：此處內容僅適用iOS 17。建議改用StikDebug，操作更方便，不需要電腦。\n根據AltStore官方文件，iOS 17以前版本可透過AltStore長按選單啟用JIT。或者用電腦的AltServer給APP啟用JIT。 ","title":"AltStore啟用JIT加速，加速iOS模擬器APP執行速度","type":"posts"},{"content":"問題點：Moonlight遠端Linux桌面解析度與客戶端不符，導致文字看起來太小或者出現黑邊。我希望可以像TeamViewer那樣自動縮放，將遠端Linux桌面的解析度調整為客戶端解析度。\n從這樣 變成這樣 Moonlight客戶端雖然可以指定解析度，但是電腦端的Sunshine並不會跟著變化。所以我們得設定hook，利用Sunshine的「Custom Application」功能，自訂啟動桌面後執行指令，自動執行xrandr調整解析度與縮放，關閉遠端桌面之後再自動切回去。\n本文討論的內容僅適用X11，因為Wayland沒有統一調整桌面解析度的指令。\n1. 測試xrandr指令 # 以我的情況來說，客戶端iPad Air 6的解析度是2360x1640，比例大約是3:2。如果不追求這麼高畫質，那麼用同為3:2比例的1475x1025就夠了（iPad解析度除以1.6）。\n因為如果直接設定為2360x1640的話，電腦顯示器必須支援2K以上解析度否則會「超出範圍」，還有高解析度得設定全域螢幕縮放，字在iPad才不會看起來太小。直接用低解析度就不用再設定全域螢幕縮放了。\n於Sunshine後台設定前，先手動執行一次xrandr指令，確認真的能修改解析度再繼續。\nUbuntu安裝以下套件 sudo apt install x11-xserver-utils 一般16:9的螢幕不會支援3:2這種比例，所以得強制新增Modeline。使用cvt指令計算1475x1025的Modeline所需參數，取整後解析度會略有變化，變成1480x1025 cvt -r 1475 1025 60 新增Modeline xrandr --newmode \u0026#34;1480x1025R\u0026#34; 103.50 1480 1528 1560 1640 1025 1028 1038 1055 +hsync -vsync 查看目前使用的螢幕為何 xrandr -q 將Modeline新增到HDMI-1 xrandr --addmode HDMI-1 \u0026#34;1480x1025R\u0026#34; 指定解析度。螢幕應該會閃一下之後螢幕被拉伸。 xrandr --output HDMI-1 --mode \u0026#34;1480x1025R\u0026#34; 如果要設定全域縮放1.5倍的話： xrandr --output HDMI-1 --mode \u0026#34;1480x1025R\u0026#34; --scale 1.5x1.5 重設螢幕解析度為1920x1080： xrandr --output HDMI-1 --mode \u0026#34;1920x1080\u0026#34; 2. 調整Sunshine後台的指令 # 我們新增指令稿，第一個是變更解析度 vim ~/.local/bin/changeresolution.sh 填入指令： xrandr --newmode \u0026#34;1480x1025R\u0026#34; 103.50 1480 1528 1560 1640 1025 1028 1038 1055 +hsync -vsync xrandr --addmode HDMI-1 \u0026#34;1480x1025R\u0026#34; xrandr --output HDMI-1 --mode \u0026#34;1480x1025R\u0026#34; 再來是重置解析度的指令稿 vim ~/.local/bin/resetresolution.sh 填入指令： xrandr --output HDMI-1 --mode \u0026#34;1920x1080\u0026#34; 賦予執行權限 chmod +x ~/.local/bin/changeresolution.sh chmod +x ~/.local/bin/resetresolution.sh 安裝Sunshine伺服器。\n開啟後台的Applications頁面，點選Desktop（你也可以另外新增其他程式） 找到Do Command和Undo Command欄位 填入指令稿的絕對路徑：bash /home/user/.local/bin/changeresolution.sh和bash /home/user/.local/bin/resetesolution.sh\n點選下方Save\n用Moonlight連線前需要把解析度設定為Full以符合iPad解析度。 點選Desktop，電腦解析度應該就會自動變化了。\n要觸發解析度重置，必須點Quit APP中止桌面工作階段。 ","date":"2024年9月12日","externalUrl":null,"permalink":"/posts/linux-moonlight-resolution-automation/","section":"所有文章","summary":"問題點：Moonlight遠端Linux桌面解析度與客戶端不符，導致文字看起來太小或者出現黑邊。我希望可以像TeamViewer那樣自動縮放，將遠端Linux桌面的解析度調整為客戶端解析度。\n從這樣 變成這樣 Moonlight客戶端雖然可以指定解析度，但是電腦端的Sunshine並不會跟著變化。所以我們得設定hook，利用Sunshine的「Custom Application」功能，自訂啟動桌面後執行指令，自動執行xrandr調整解析度與縮放，關閉遠端桌面之後再自動切回去。\n本文討論的內容僅適用X11，因為Wayland沒有統一調整桌面解析度的指令。\n1. 測試xrandr指令 # 以我的情況來說，客戶端iPad Air 6的解析度是2360x1640，比例大約是3:2。如果不追求這麼高畫質，那麼用同為3:2比例的1475x1025就夠了（iPad解析度除以1.6）。\n因為如果直接設定為2360x1640的話，電腦顯示器必須支援2K以上解析度否則會「超出範圍」，還有高解析度得設定全域螢幕縮放，字在iPad才不會看起來太小。直接用低解析度就不用再設定全域螢幕縮放了。\n","title":"Moonlight自動調整Linux遠端桌面解析度，解決黑邊問題","type":"posts"},{"content":"這篇文章Ivon示範架設Cloudflare R2當作圖床，再將自己的子網域連接到Cloudflare R2的過程，最後說明如何上傳圖片到R2，並在Hugo文章中嵌入。 1. 背景 # 使用Cloudflare R2的好處？ # 撰文時Ivon的Hugo網站的文字檔跟圖片放在一起，再用Hugo page bundle的方式插入圖片到文章內。\n文章發表方式：在Linux電腦寫好makdown → 推送git儲存庫到Github → 自動部署到託管網站。\n但這裡有個問題，中間傳遞的git儲存庫大小會隨時間越來越肥，都是圖片在佔空間，導致部署時間延長。\n所以我有了將部份圖片資源另外存放的想法，正好2022年Cloudflare推出了類似Amazon S3的「Cloudflare R2」的物件式儲存服務，適合存放大量資料，也可以當圖床(image hosting)使用。\nCloudflare官方宣稱R2跟S3的API相容，使用者可以使用現有工具上傳檔案。\nR2跟S3一樣，沒有儲存容量上限，是以使用量收費，但R2不收傳輸流量(bandwidth)的費用，這點還挺佛的。\n參照Cloudflare R2收費標準，雖然說每月價格5美元起跳，但Cloudflare R2有提供免費額度，若實際使用量沒到收費的閾值，其實是等同免費使用的。詳細價格可以先按R2費用計算機試算看看。 若把網域DNS移交給Cloudflare，就能方便給R2的圖片網址加上HTTPS，且R2會自動吃到Cloudflare全球CDN，讓圖片載入速度更快。\n如果是使用的Cloudflare Pages用戶，你說為何不把整個靜態網站檔案放R2？Cloudflare Pages不用錢呀，R2一有讀寫都會計價的。\nCloudflare R2與Cloudflare Images的比較？ # Cloudflare除了物件式儲存服務的R2以外，還推出專為圖片準備的「Cloudflare Images」、針對串流影片準備的「Cloudflare Stream」產品，後二者都是建基在R2上的服務。\n單就當圖床的用途，如果只是要單純放圖片，不需要傳輸優化、自動縮小圖片、轉檔操作，那麼用Cloudflare R2就可以了，什麼檔案類型都可以放。\n我覺得不需要用到Cloudflare Images，算起來成本也比較貴。\n反正我現在上傳圖片都會用webp壓縮一次，兼顧品質和大小，圖片通常不會大到哪裡去。\n2. 新增Cloudflare R2 bucket # 首先註冊Cloudflare帳號，進入Cloudflare後台，點選新增網站，把你網域的DNS伺服器移交給Cloudflare（不用轉移整個網域，DNS就好）\n點選左欄的R2 一開始得先輸入信用卡資訊才可以使用R2，用Paypal付也行。它會在你真的使用R2後才收費。 點選建立貯體(bucket) 取個全小寫的名字，並設定自動讓Cloudfalre選取區域最近的伺服器 建立之後點選設定，在公開存取下方設定自訂網域，點選連線網域 輸入你域名的子網域，取名可以取「cdn」或者「static」 由於DNS紀錄已移交給Cloudflare，它會自動新增CNAME規則，讓子網域指向R2 bucket 在那之後，用瀏覽器開啟剛剛新增的子網域，會看到404，這是正常的，表示子網域已經成功接上Cloudflare R2了 3. 上傳檔案到Cloudflare R2 # Cloudfalre R2網頁是可以拖拉上傳啦，不過界面太陽春，我會另外用工具。\nCloufdlare R2跟Amazon S3的API相容，可以沿用Amazon的命令行工具aws-cli來上傳。\n我使用Linux桌面，個人覺得最符合我工作流程的方法是用「rclone」指令上傳。有需要再透過rclone mount掛載Cloudflare R2成為本機目錄，方便用KDE或GNOME的檔案管理器存取檔案。\n參見Configure aws CLI for R2，到Cloudflare後台的R2頁面，點建立API權杖 權限設定為系統管理員 將該網頁全部的數值都記下來，日後不會再出現了。 用Linux套件管理器安裝rclone\n編輯rclone設定檔~/.config/rclone/rclone.conf，新增設定檔[cloudflarer2]，把剛剛得到的S3金鑰識別碼(ID)、秘密存取金鑰(Secret)、端點(Endpoint)填進去。設定檔填寫的時候不需要加上\u0026quot; \u0026quot; ，只要數字就好。\n[cloudflarer2] type = s3 provider = Cloudflare access_key_id = 金鑰識別碼 secret_access_key = 秘密存取金鑰 endpoint = 端點 acl = private 嘗試列出Cloudflare R2遠端檔案 rclone ls cloudflarer2:/ 上傳檔案指令，這個指令會將Pictures目錄下的所有檔案（不包含Pictures目錄）上傳到Cloudflare R2的指定路徑，若路徑不存在它會自動新建。 rclone copy -v \u0026#34;~/Pictures/\u0026#34; \u0026#34;cloudflarer2:/static/路徑/\u0026#34; 若要掛載Cloudflare R2遠端目錄到本機： rclone mount \u0026#34;cloudflarer2:/static/路徑/\u0026#34; \u0026#34;/mnt/cloudflarer2\u0026#34; 如此一來便可以用Linux的檔案管理器管理R2上的檔案了 4. Hugo文章嵌入Cloudflare R2的圖片 # 沒什麼特別的，因為已經把R2連到我的子網域，用markdown貼網址就行。\n假設上傳一張test.webp到R2根目錄，圖片網址就是子網域＋檔案名稱：\n![](https://static.ivonblog.com/test.webp) 不過我有給圖片建立目錄，對應Hugo網站下的page bundle結構，這樣我比較知道這張圖片隸屬於哪篇文章。以下面的例子來說，圖片網址會變成https://static.ivonblog.com/posts/testpage/test.webp 參考資料 # Creating Your Own Image CDN for Your Hugo Site with Cloudflare R2 - Conor Ryan Get started guide · Cloudflare R2 docs rclone | Cloudflare R2 docs 白嫖CloudFlare R2搭建个人图床 - 花菜的博客 ","date":"2024年9月11日","externalUrl":null,"permalink":"/posts/cloudflare-r2-image-hosting/","section":"所有文章","summary":"這篇文章Ivon示範架設Cloudflare R2當作圖床，再將自己的子網域連接到Cloudflare R2的過程，最後說明如何上傳圖片到R2，並在Hugo文章中嵌入。 1. 背景 # 使用Cloudflare R2的好處？ # 撰文時Ivon的Hugo網站的文字檔跟圖片放在一起，再用Hugo page bundle的方式插入圖片到文章內。\n文章發表方式：在Linux電腦寫好makdown → 推送git儲存庫到Github → 自動部署到託管網站。\n但這裡有個問題，中間傳遞的git儲存庫大小會隨時間越來越肥，都是圖片在佔空間，導致部署時間延長。\n所以我有了將部份圖片資源另外存放的想法，正好2022年Cloudflare推出了類似Amazon S3的「Cloudflare R2」的物件式儲存服務，適合存放大量資料，也可以當圖床(image hosting)使用。\nCloudflare官方宣稱R2跟S3的API相容，使用者可以使用現有工具上傳檔案。\nR2跟S3一樣，沒有儲存容量上限，是以使用量收費，但R2不收傳輸流量(bandwidth)的費用，這點還挺佛的。\n","title":"架設Cloudflare R2免費圖床，給Hugo靜態網站託管圖片","type":"posts"},{"content":"","date":"2024年9月9日","externalUrl":null,"permalink":"/tags/final-audio/","section":"標籤","summary":"","title":"Final Audio","type":"tags"},{"content":"a-Shell為一款開源的iOS終端機APP，由Nicolas Holzschuch開發，用途十分豐富，內建多種常用命令行工具，例如vim、git、ssh、sftp、unrar、wakeonlan、ffmpeg、ImageMagick、texlive、json2csv、nslookup。由於a-Shell支援iOS捷徑，這些指令可以寫成一連串自動化操作。 此外a-Shell還內建各種程式語言的工具，包括C/C++（編譯後透過wasm執行）、Perl 、Lua、JavaScript、Python，甚至還可以在iOS執行網頁版的Jupyter Notebook伺服器，用圖形界面寫Python程式。 a-Shell設計上有點像Android的Termux，套件都是針對iOS原生編譯的，而非iSH Shell那樣模擬Linux環境再轉譯成iOS system call，所以執行速度比較快。\n但相對的，a-Shell能裝的套件比較少，得要作者自行提供，不像iSH Shell有Alpine Linux的上游套件庫能用。pip能裝的套件也得是純Python寫成的，無法任意安裝其他C語言寫成的Python函式庫。\n1. a-shell基本用法 # a-Shell的原始碼位於Github，無須越獄就可以使用。請至App Store下載a-Shell。 開啟後會直接進入終端機，預設是白底黑字。如果要調整外觀，執行config指令：\n# 黑底白字 config -b #000000 -f #FFFFFF # 儲存變更 config -gp a-Shell的預設殼層為dash，而非bash或zsh。a-Shell的指令跟Linux類似，使用ls指令列出檔案；mv指令移動檔案；cp指令複製檔案；rm指令刪除檔案。\n要查看可用指令，輸入help -l\n若要安裝更多套件，輸入pkg search列出線上套件（跟內建的指令不同，這裡的套件都是用wasm編譯的）\n再用pkg install \u0026lt;套件名稱\u0026gt;安裝，例如裝git就是：pkg install git\n2. 尋找a-shell的檔案 # a-Shell的「家目錄」就是~/Documents，每次a-shell開啟的時候都會自動定位到這裡。由於iOS的限制，在此之上的其他目錄無法寫入。\n你可以在iOS的檔案APP → 我的iPhone→ a-shell的資料夾找到家目錄下全部的檔案 3. a-Shell與iOS互動的指令 # a-Shell內建了一些工具指令：\npickFolder：暫時掛載其他APP資料夾的檔案，不會複製過來\ndownloadFile和downloadFolder：如果掛載的是iCloud資料夾，此指令會強迫iCloud將檔案立即下載到本機。\nopen \u0026lt;檔案路徑\u0026gt;：開啟檔案分享視窗，將該檔案分享給其他APP使用\nview \u0026lt;檔案路徑\u0026gt;：預覽PDF或HTML檔案。\nplay \u0026lt;檔案路徑\u0026gt;：播放影音檔案\ninternalbrowser \u0026lt;網址\u0026gt;：開啟瀏覽器\nnewWindow：開啟新視窗\n4.a-Shell使用例 # 搭配iOS捷徑使用 # 在iOS的捷徑APP，可以呼叫a-Shell執行指令，例如執行一個Python程式指令稿，或者輸入/輸出檔案。\n這裡有個不錯的範本，整合了yt-dlp與gallery-dl的功能，透過a-Shell執行指令下載影片或圖片。\nSW-DLT. A Shortcuts front end for yt-dlp and gallery-dl\n安裝pip套件 # 我們嘗試用a-Shell內建的pip裝yt-dlp套件吧，這工具可以用來下載Youtube影片 pip install yt-dlp 嘗試下載一部影片，之後可以用檔案APP取出來。 yt-dlp \u0026#34;https://www.youtube.com/watch?v=IZ8-K3YPVN0\u0026#34; 跑Jupyter Notebook # 不需用pip安裝，這個指令已經內建。執行以下指令啟動伺服器 jupyter-notebook 接著開啟其他瀏覽器APP（為防止iOS殺背景程式，建議用滑動置前或幕前調度叫出來），輸入螢幕上顯示的https://localhost:8888/tree?=開頭的網址，開啟網頁界面 編譯執行C語言程式 # a-Shell僅提供Clang，沒有GCC。C語言程式得編譯成WebAssembly(wasm)格式才能執行。\n安裝LLVM pkg install llvm 用vim新增範本檔案 vim helloworld.c 填入以下內容 #include \u0026lt;stdio.h\u0026gt; int main(void) { printf(\u0026#34;Hello! World!\u0026#34;); return 0; } 利用Clang編譯成wasm clang helloworld.c -o testc 之後執行，看看有無輸出結果 ./helloworld 參考資料 # A guide to a-Shell by Heavysnowjakarta holzschu/a-shell: A terminal for iOS, with multiple windows ","date":"2024年9月9日","externalUrl":null,"permalink":"/posts/ios-a-shell/","section":"所有文章","summary":"a-Shell為一款開源的iOS終端機APP，由Nicolas Holzschuch開發，用途十分豐富，內建多種常用命令行工具，例如vim、git、ssh、sftp、unrar、wakeonlan、ffmpeg、ImageMagick、texlive、json2csv、nslookup。由於a-Shell支援iOS捷徑，這些指令可以寫成一連串自動化操作。 此外a-Shell還內建各種程式語言的工具，包括C/C++（編譯後透過wasm執行）、Perl 、Lua、JavaScript、Python，甚至還可以在iOS執行網頁版的Jupyter Notebook伺服器，用圖形界面寫Python程式。 a-Shell設計上有點像Android的Termux，套件都是針對iOS原生編譯的，而非iSH Shell那樣模擬Linux環境再轉譯成iOS system call，所以執行速度比較快。\n但相對的，a-Shell能裝的套件比較少，得要作者自行提供，不像iSH Shell有Alpine Linux的上游套件庫能用。pip能裝的套件也得是純Python寫成的，無法任意安裝其他C語言寫成的Python函式庫。\n1. a-shell基本用法 # a-Shell的原始碼位於Github，無須越獄就可以使用。請至App Store下載a-Shell。 ","title":"iPad終端機APP「a-Shell」使用教學，支援Python Jupyter Notebook","type":"posts"},{"content":"關於手上兩支長命耳機的故事。\n常聽的音樂主要是搖滾樂\n如果要測耳機好不好，通常我都是拿澤野弘之 - Vogel im Käfig（籠中鳥 ~ 進擊的巨人插曲）\n還有Pink Floyd - Speak to Me來測試。\n1. AirPods Pro的續命關鍵 # AirPods系列產品是跟iPhone X一起發布的，二者的售價高得離譜，原本嗤之以鼻的我後來也想要買了。\n2019年趁Pchome特價時，以六千多購得AirPods Pro。 想說有了iPad Air 3也該有個耳機。\n更早之前花五百元買的小米AirDots只支援SBC編碼，爛的要死，換成AAC編碼總算是比較能入耳。 我是木耳，AirPods音質不算特別好，也就是普通水準，結果就用到現在。\n大多數時間搭配Android手機用XD 開源社群早把你Apple的藍芽訊號破解出來了，故Android APP也能讀電量，只是不能更新韌體而已。 至於為何到現在AirPods都還沒壞，大概是因為不常用的緣故。\n儘管有全罩式耳機，在室內我不喜歡戴耳機聽音樂，總覺得很悶，都是用喇叭外放。但外出還是得戴。\n一個月戴不到5次，聽的時間很少超過1小時。不是那種一上車就習慣戴上耳機的人，要與世隔絕也不是這樣吧，通勤的轟鳴聲不適合享受音樂。所以我不能理解為何有人到哪都能戴著耳機，包括騎車、走路。\n還有，可能我對Apple耳機的形狀過敏。從以前EarPods（iPod touch 6附贈）到AirPods的設計，聽筒的部分都會卡到耳朵外側，戴30分鐘就會痛，即使AirPods Pro有耳塞套也沒用。甚至耳朵痛會影響到降噪的體驗，導致我很容易頭痛，故不喜歡開降噪。 戴超過30分鐘就會痛，怎麼喬都沒用。我發現問題出在AirPods的形狀設計跟EarPods如出一轍，所以導致我不喜歡它。不管通透模式再怎麼方便，降噪再怎麼優秀，耳朵的痛覺殘留不會消失。因此，我的身體拒絕了Airpods，正如我嘗試過後依然無法接受iPhone取代原生Android機一樣。\n論長時間配戴，我只能接受一般耳機的耳塞套入耳。對，就是接下來要說的有線耳機。\n2. E3000作為AirPods的補充 # 因為Sony Xperia 5 II \u0026amp; Sony Xperia 10 V還保有耳機孔，有線耳機有時會拿出來墊AirPods。目前的有線耳機是大約跟AirPods同時期買的Final E3000。 剛開始總覺得被PTT耳機板的騙了，特地跑到台南專賣耳機的店家，花了我一千多，什麼日系耳機的新標竿。相比AirPods讓音樂聽起來很寬廣的感覺，E3000就是很平淡樸素，低中高音都很平均。喜歡重口味聽感的可能得用等化器才能讓音樂好聽些。\nE3000聽來就普通，一度覺得AirPods蹦蹦蹦的聽感比較爽，但嚴格來說這個音質應該是超過藍芽耳機的。\n後來覺得E3000這樣的風格也不壞，音樂準確傳達出來就好，不要加料。有線耳機還有好處，訂過Tidal和Apple Music，所以AirPods享受不到的無損音質就用有線耳機來聽吧。\n最大的好處，它的入耳式造型戴起來舒適，所以能夠長時間使用。不用充電真好。\n聽說Final的線很容易壞？但我因為少聽耳機的緣故，到現在還是能用，只是右耳逐漸接觸不良了。如果哪天壞了我可能就買Final E4000作為繼承吧，這品牌看來備受信賴，PTT耳機板現在還有人在討論。\n3. 藍芽耳機下一代的選擇？ # AirPods需不需要換呢？目前還沒有必要。前面說過，平常用到耳機的機會不多。\n但我應該會繼續買旗艦款的藍芽耳機。現在最幹的是AirPods Pro第一代是Lightning，出門都要多帶一條線！\nApple產品全線都準備換USB-C了，逼人買AirPods Pro第二代才能擺脫Lightning。 但是，我覺得都花到這個價位了，改買支援更高音質編碼的Sony WF-1000XM5不是更好嗎？Android手機搭載Qualcomm處理器的普遍都支援aptX和LDAC技術，我又不是果粉，也沒有用過Siri，沒有一定要買AirPods的說。 喔，雖然我並沒有極端追求音質，但是太爛的品牌是不行的。之前被Pine64的開源耳機燒到，他們宣稱音質跟AirPods接近，差點真的去買PineBuds Pro，享受自己刷開源韌體的快感\u0026hellip;後來想想還是算了。 ","date":"2024年9月9日","externalUrl":null,"permalink":"/posts/my-apple-airpods-pro-and-final-e3000/","section":"Unboxings","summary":"關於手上兩支長命耳機的故事。\n常聽的音樂主要是搖滾樂\n如果要測耳機好不好，通常我都是拿澤野弘之 - Vogel im Käfig（籠中鳥 ~ 進擊的巨人插曲）\n還有Pink Floyd - Speak to Me來測試。\n1. AirPods Pro的續命關鍵 # AirPods系列產品是跟iPhone X一起發布的，二者的售價高得離譜，原本嗤之以鼻的我後來也想要買了。\n2019年趁Pchome特價時，以六千多購得AirPods Pro。 想說有了iPad Air 3也該有個耳機。\n更早之前花五百元買的小米AirDots只支援SBC編碼，爛的要死，換成AAC編碼總算是比較能入耳。 我是木耳，AirPods音質不算特別好，也就是普通水準，結果就用到現在。\n大多數時間搭配Android手機用XD 開源社群早把你Apple的藍芽訊號破解出來了，故Android APP也能讀電量，只是不能更新韌體而已。 至於為何到現在AirPods都還沒壞，大概是因為不常用的緣故。\n儘管有全罩式耳機，在室內我不喜歡戴耳機聽音樂，總覺得很悶，都是用喇叭外放。但外出還是得戴。\n一個月戴不到5次，聽的時間很少超過1小時。不是那種一上車就習慣戴上耳機的人，要與世隔絕也不是這樣吧，通勤的轟鳴聲不適合享受音樂。所以我不能理解為何有人到哪都能戴著耳機，包括騎車、走路。\n","title":"耳機用了五年還沒壞，Apple AirPods Pro與Final E3000的使用歷程","type":"unboxing"},{"content":"大風起，把頭搖一搖\n風停了，又挺直腰\n大雨來，彎著背讓雨澆\n雨停了，抬起頭站直腳\n不怕風不怕雨，立志要長高\n小草，實在是並不小\n希望我做的選擇是正確的。\n這一次，或許會不一樣。\n不要讓《台灣的十字架》出現第二集。\n不會像父執輩的扁迷2008年一樣翻車，挺到最後變成手抖漏尿笑話。 1. 事件起因 # 2024年8月，台灣民眾黨爆發做假帳事件，雖無犯法但對本黨形象造成打擊，經懲處相關人員後，柯文哲率眾向社會道歉。\n9月，北檢因柯文哲市長任內涉嫌圖利京華城容積率而搜索柯文哲辦公室及民眾黨黨部，並將柯文哲抓去問話，經過三天後法官裁定無保請回，然而幾天後換個法官後卻裁定羈押禁見，引起社會嘩然。\n民眾黨與支持者普遍認為檢方證據不足，根本就沒有貪污金流就隨意押人取供，貪污罪辦不成就想用「圖利罪」這種依賴法官心證的法條定罪，是民進黨有意為之的司法迫害。而檢舉柯文哲的國民黨議員與其黨羽透過媒體合作放話，抹黑柯文哲人格。\n自從我黨主席柯文哲在9月5日被民進黨＆國民黨聯手投入黑牢之後，黨部便緊急策劃了全國開講活動，首站「集結！為台灣的司法正義站出來！」選在立法院外的濟南路。\n柯文哲莫名被羈押當天，各大挺柯自媒體罵得多兇啊，館長自不必說，連街頭麥克風的風導都批評了好幾小時，甚至潤到加拿大的大陸「老鐵」也call in進來抱怨一整個小時。\n至於那些被藍綠控制的媒體還有政論節目，馬上就開始得寸進尺的抹黑，亂爆柯文哲貪污金額，有罪推定，要不要乾脆說柯強姦了一頭母豬啊？矢板明夫說我們小草就是不看政論節目才會被騙到上街頭，啊幹台灣電視的政論節目幾乎都淪落到Youtube上那些「中南海聽床師」、大紀元、新唐人之流的等級，叫有良心有智商的人怎看得下去。難怪黃光芹要退出主流媒體界！\n說回本次活動，因為時間非常匆促，導致各地方黨部得主動烙人來，這樣大約有一萬人，結果我們也學藍綠搞遊覽車了嗎\u0026hellip;\n看到這個畫面，旗子上面寫什麼里來的不禁想到藍綠選舉遊覽車的畫面，只不過我們不全都是老人XD 總歸是一種進步，選舉補助款就是要這樣花，比我1月12日選前公民之夜還得自掏腰包到凱道好多了。有些地方黨部免費招待北上，黨員與非黨員都行；有些則是得押保證金，怕是有青鳥仔會便乘小草遊覽車北上玩樂吧！搞笑的是我記得選前確實有小草偷搭民進黨遊覽車北上挺柯的。\n9月8日，我在的縣市的黨部遊覽車來了三台多，附贈便當。粗觀車上乘客，有老年的鋼鐵柯粉，也有義憤填膺的大學生。從我跟一些人談話得知，他們紛紛喊著司法迫害，並思考如何應對不友善媒體的談話，如何執行孫子兵法尋找友柯媒體等等。所以說嘛，這國家還是有救。\n拿到了一些抗議材料。綠色恐怖！司法迫害！賴清德放人！右上角照片印的是陳水扁被羈押的時候民進黨的態度。 經過幾小時的塞車後，終於到了台北。\n根據要求，來活動的應該穿民眾黨衣服，或者至少是白衣，所以我就穿上去選前之夜的Linux服出門啦，加上活動現場得到了藍綠色頭巾。 2. 活動過程 # 剛到的時候活動還沒開始，現場直播的鏡頭轉到舞台椅子後方的肥皂箱開講。\n我近距離觀察街頭肥皂箱演講，竟然跟之前青鳥行動集會的問題一樣，很多人看來準備不充分就上去，導致支支吾吾，不然就過於激動語無倫次，甚至要看著手機才能講稿。其中還有個傢伙越講越激動，聲淚俱下的為柯文哲喊冤。\n「難道我們真的要變得跟中共一樣了嗎！？」 拿著手機，演講看稿，這下又給民進黨做文章的機會了，哎！至少這裡的人大部份都知道我們是來幹嘛的，不會像抗議國會改革法案連在反對什麼都不知道就被造謠圖卡騙來。\n現場不時有人呼籲民眾黨支持者到美國政府網站Change.org連署，希望國際關注台灣司法迫害的問題。\n然後就是活動開始了，首先長期支援民眾黨的音樂家朱康老師上頭帶動唱新歌《猶原徛佇遮》\n之後還下台跟群眾合照！身為支持者的我從選前就一直很感謝他用音樂撫慰人心，感恩還有藝術家不會被收買。 接著就是標準節目，民眾黨各公職輪流上台批評司法不公，那麼多弊案不辦只選擇性辦案，以自身人格擔保柯文哲不會貪污云云\u0026hellip;\n有個勁爆的消息是我黨李國璋議員爆料的「新竹馬偕兒童醫院容積率」圖利事件，林智堅下台後已經過了一年沒人要查辦。按照柯文哲圖利罪的辦案標準，這樣全台市長都應該查辦一遍了吧！我宣佈全民大檢舉時代開始！ 最讓人驚訝的是國民黨徐巧芯透過紙條表達支持之意，特別來賓之一，馬英九基金會的蕭旭岑也出席表達對司法不公的擔憂（幸好沒有像716一樣講什麼「公平正義侯友宜」被群眾噓下去XD）講的內容還算中肯。啊啊，馬英九當年迫害陳水扁再被蔡英文迫害，其言也善了嗎。\n有趣的是，保外就醫還在外面趴趴走的陳水扁最近po了一張「同是天涯淪落人」的照片，頗讓人玩味，他後來解釋是同情柯文哲被關押的遭遇。至於下面留言認為扁比柯更高尚的塔綠班嘛\u0026hellip;呵呵。 另一個特別來賓是媽媽嘴咖啡店殺人事件的嫌疑人呂炳宏，上台表達對司法公正性的質疑。十年前他慘遭污衊為兇手，還因為「偵查全公開」而飽受輿論折磨，最後由吳宗憲檢察官還他清白。\n夢回2013年，想當年經歷洪仲丘事件和太陽花運動，我還曾經在電視機前面關注這些事件，唱著島嶼天光，結果我們的國家許多地方還是沒有變得更好，反倒是養出了一個新威權政府出來，還有恐怖程度不下於小粉紅的塔綠班側翼。\n在館長跟黃國昌咆哮完之後，最後的壓軸就是讓陳佩琪出來說明這幾天發生事情的原委。原來柯文哲不是故意拒絕開門，而是還在浴室大便（我聽了差點笑出來），導致被當作羈押理由之一。而陳佩琪為躲避媒體騷擾住在旅館，沒辦法掌握事件全貌。不論她今天講得怎樣，從她的表情可以看出他們夫婦倆最近真的是受盡煎熬，頗有當年陳水扁徹底失勢，媒體轉向霸凌陳幸妤的既視感。\n最後的最後，場上播出一首好久好久好久以前的歌曲\u0026hellip;竟然是王夢鱗的《小草》！柯文哲用他那可怕的嗓音起了頭，全場跟著唱。\n歌詞：\n大風起，把頭搖一搖\n風停了，又挺直腰\n大雨來，彎著背讓雨澆\n雨停了，抬起頭站直腳\n不怕風不怕雨，立志要長高\n小草，實在是並不小\n這首歌就是在勉勵民眾黨的各位繼續負重前行吧。\n遊覽車回程的時候在中正紀念堂上車，我看向坐鎮在中正廟內的蔣中正銅像，想著，這威權時代的幽靈，為什麼又回來了呢？ 3. 事後感想 # 「人生的智慧就是兩件事：等待，並懷抱希望。」\n我個人覺得這次民眾黨活動的用意，是讓支持者發洩居多。把這幾個月以來的怨氣，透過群眾的力量發揮出來，改善士氣，再播放柯文哲的談話安撫人心，讓大家暫時回歸正常生活，不要整天為陷入黑牢的阿北擔心。畢竟有些狂柯粉已經把柯文哲當宗教領袖崇拜了，甚至因為惹到四叉貓遭網路霸凌而負氣跳樓\u0026hellip;真的不要對政治狂熱成這樣。 因為單純遊行改變不了什麼，純粹出一口氣而已，民眾黨高層不可能支持劫獄行為。就像5月的時候聚集在立法院外面的青鳥，明知道國會改革法案終會被綠圾大法官擋下來（畢竟旁證主辦都你的人），就硬是要出來當暴民，結果不敢衝，抗議現場還縫合一堆有的沒有的主題，什麼反核電、反對中共滲透台灣。還好意思唱島嶼天光？我看島嶼騙光吧。這種行為就是要比誰拳頭大，證明「民意」在此。但是他們不知道的是，在這種迫害環境下，只會鞏固「鐵白」的勢力（借街頭麥克風的風導之語）。最終「回頭草」不會變多，「青鳥」倒是飛走的越來越多，剩下的就是不會飛的，最純的哥布林。 要跟綠共全面開戰，民眾黨確實該延續黃國昌說的，不能放棄街頭路線。一方面鞏固支持者，一方面也讓更多人看到真相。但我也為黃國昌擔心\u0026hellip;私心以為，要是柯文哲真的被綠共用芝麻綠豆大的證據定罪（就像迫害高虹安那樣），黃國昌也不應該出來接黨主席，他承受的已經夠多了，何況還要當立委。\n還有，儘管民眾黨委員說柯文哲是「菩薩降世」「台灣的曼德拉」但我覺得不要過份神化任何人才好，免得落得塔綠班口實說我們是邪教。我們尊崇的應該是柯文哲的精神，總有一天，沒有柯文哲民眾黨也得走下去。但是現階段真相還沒水落石出，所以得繼續挺柯到底。\n民眾黨被民進黨和國民黨迫害至此，時至今日，想起劉曉波被中共抓入黑牢時的一句話：「我沒有敵人」\n「仇恨會腐蝕一個人的智慧和良知，敵人意識將毒化一個民族的精神，煽動起你死我活的殘酷鬥爭，毀掉一個社會的寬容和人性，阻礙一個國家走向自由民主的進程。所以，我希望自己能夠超越個人的遭遇來看待國家的發展和社會的變化，以最大的善意對待政權的敵意，以愛化解恨。」\n柴静曾經在訪問Dr. Robert Lusson博士得到這樣回覆：\n「面對政治性抑鬱\u0026hellip;去做他認為價值觀對的事。一個人可能帶來一群人，變成一個故事。歷史中有很多這樣的故事。憂鬱是因為確知未來會如何，自己會怎麼結束。但，另一種選擇是未知，我不知道故事如何結束。」\n我又想到，李敖曾經在北京大學說過，對待政府有「嗝」了，「顛」了，「得」了，「慫」了，「火」了，幾種作法，都不好。躲起來是沒用的，極端暴力反抗也不好，但如果還有希望，就是要繼續合作，爭取自由。\n我們並不是在跟不可能打倒的敵人作戰，所以還沒有到劉曉波從容就義的程度。現在階段就是照顧好自己，並在有需要時候，依然站出來。 民眾黨支持者的作品。這場雨會下很久，好好吃飯，好好生活，好好照顧自己。大家好好的，阿北才會好好的。\n好了，立法院要開議了。暫時放下阿北，使其「潛修東南山」，將視線轉向利國利民的法案吧。\n","date":"2024年9月9日","externalUrl":null,"permalink":"/posts/20240908-protest/","section":"Politics","summary":"大風起，把頭搖一搖\n風停了，又挺直腰\n大雨來，彎著背讓雨澆\n雨停了，抬起頭站直腳\n不怕風不怕雨，立志要長高\n小草，實在是並不小\n希望我做的選擇是正確的。\n這一次，或許會不一樣。\n不要讓《台灣的十字架》出現第二集。\n不會像父執輩的扁迷2008年一樣翻車，挺到最後變成手抖漏尿笑話。 1. 事件起因 # 2024年8月，台灣民眾黨爆發做假帳事件，雖無犯法但對本黨形象造成打擊，經懲處相關人員後，柯文哲率眾向社會道歉。\n9月，北檢因柯文哲市長任內涉嫌圖利京華城容積率而搜索柯文哲辦公室及民眾黨黨部，並將柯文哲抓去問話，經過三天後法官裁定無保請回，然而幾天後換個法官後卻裁定羈押禁見，引起社會嘩然。\n民眾黨與支持者普遍認為檢方證據不足，根本就沒有貪污金流就隨意押人取供，貪污罪辦不成就想用「圖利罪」這種依賴法官心證的法條定罪，是民進黨有意為之的司法迫害。而檢舉柯文哲的國民黨議員與其黨羽透過媒體合作放話，抹黑柯文哲人格。\n自從我黨主席柯文哲在9月5日被民進黨＆國民黨聯手投入黑牢之後，黨部便緊急策劃了全國開講活動，首站「集結！為台灣的司法正義站出來！」選在立法院外的濟南路。\n柯文哲莫名被羈押當天，各大挺柯自媒體罵得多兇啊，館長自不必說，連街頭麥克風的風導都批評了好幾小時，甚至潤到加拿大的大陸「老鐵」也call in進來抱怨一整個小時。\n","title":"小草實在是並不小，參加「集結！為台灣的司法正義站出來！」遊行感想","type":"politic"},{"content":"樹莓派因其體積小易攜帶的特性，很適合帶出門搭配iPad使用，當作隨身小電腦，作為一種sidecar PC。雖然它的處理器性能比iPad弱，但是能做的比iPad多，比如跑許多Linux的軟體，像架設AltStore伺服器，用於給iPad側載的第三方APP重簽；或者跑libimobiledevice指令備份iPad檔案；以及用UxPlay接受來自AirPlay的投放。\n我們就來討論用iPad螢幕存取樹莓派桌面的方案。 1. 方案探討 # 需不需要給樹莓派額外準備電源線呢？其實iPad就可以給樹莓派供電了。iPad的USB-C電流輸出足夠給樹莓派開機的，畢竟它都能給手機充電了。\n要讓iPad當樹莓派螢幕，最簡單的方式是買個USB擷取卡，將樹莓派HDMI畫面輸出到iPad的擷取卡APP，然後用藍芽滑鼠控制樹莓派的桌面。\n但是，我想要從iPad直接SSH到樹莓派，並且用VNC客戶端遠端控制樹莓派的桌面，所以讓樹莓派與iPad有線連接。 要如何連線到樹莓派，有兩種方式。\n一是Wifi連線，也就是樹莓派連著iPad的USB-C開機，樹莓派自己連線到Wifi或者Wifi熱點，iPad再透過區域網路的IP登入樹莓派。\n二是透過乙太網路，把樹莓派變成乙太網路卡，參考我之前寫過的透過USB傳輸線，從Linux電腦登入樹莓派系統。在樹莓派連著iPad的USB-C開機之後，iPad會把它當成乙太網路連線，我們就可以透過RNDIS乙太網路IP登入樹莓派。由於是有線連接，VNC遠端桌面延遲非常低，也方便我們把iPad檔案傳到樹莓派。\niPad是允許同時使用Wifi與以太網路連線的。但是，把樹莓派變成乙太網路卡會導致其無法上網，變成只有iPad跟樹莓派之間能夠連線，樹莓派還是得另外連Wifi才能上網。\n最終，我的解決方案就是：讓樹莓派連著iPad開機，並透過以太網路IP登入樹莓派以取得最低延遲，並讓樹莓派連線到Wifi。\n如果出門在外，提供Wifi熱點的裝置為何？我的iPad沒有行動網路，自然就是用我的Android手機了。\n啊，如果你覺得都有Wifi了還用乙太網路連線是脫褲子放屁，太搞剛，那麼不設定乙太網路，單純把iPad當成樹莓派的行動電源就行。\n2. 環境 # iPad Air 6 iPad OS 17.6.1 Raspberry Pi 5 Raspberry Pi OS Debian 12 Bookworm 搭配APP：\na-shell，開源SSH客戶端，因為iSH Shell有認不到DNS的問題 RealVNC Viewer，閉源的VNC客戶端 3. 安裝樹莓派系統 # 這步驟建議用電腦操作。\n在電腦安裝RPI Imager，刷入系統到SD卡，設定開機自動連線到Wifi\n樹莓派開機之後，測試使指令ssh 使用者名稱@raspberrypi.local登入系統。\n4. 將樹莓派調整為USB乙太網路 # 如果要直接使用Wifi連線登入樹莓派的，這段可以跳過。\n透過Wifi登入樹莓派\n編輯：sudo vim /boot/firmware/cmdline.txt，啟用dwc2核心模組\nmodules-load=dwc2,g_ether 編輯：sudo vim /boot/firmware/config.txt，關閉otg mode，新增dtoverlay #otg_mode=1 dtoverlay=dwc2 用nmcli新增ethernet網路 sudo nmcli con add type ethernet con-name ethernet-usb0 5.編輯網路設定：sudo vim /etc/NetworkManager/system-connections/ethernet-usb0.nmconnection，新增以下內容\n[connection] id=ethernet-usb0 uuid=uuid type=ethernet autoconnect=true interface-name=usb0 [ethernet] [ipv4] method=shared [ipv6] addr-gen-mode=default method=auto [proxy] 由於上述網路開機不會自動啟動，所以得新增Systemd service：sudo vim /lib/systemd/system/usbgadget.service [Unit] Description=My USB gadget After=NetworkManager.service Wants=NetworkManager.service [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/nmcli con up ethernet-usb0 [Install] WantedBy=sysinit.target 設定開機自動啟動 sudo systemctl reload-daemon sudo systemctl enable usbgadget.service 5. 架設VNC服務 # 雖然樹莓派有內建RealVNC伺服器，不過我比較喜歡TigerVNC\n6. iPad端的設定 # 將樹莓派接上iPad，iPad的設定應該會出現「乙太網路」連線\n點進去會看到樹莓派已經自動分配了一個IP 接下來要暫時把iPad的Wifi關掉，這樣才能強迫iPad從乙太網路登入樹莓派\n開啟a-shell，用ssh 使用者名稱@raspberrypi.local指令連線。 VNC比照辦理，RealVNC Viewer輸入raspberrypi.local:5900應該能連線到TigerVNC 成功登入樹莓派後就可以把iPad的Wifi開啟了。\n7. 樹莓派網路問題 # 作為乙太網路卡情況下，樹莓派沒辦法上網\n請執行sudo nmtui connect指令，讓樹莓派連上其他Wifi。\n8. 樹莓派音訊問題 # 大部分開源VNC都不支援音訊\n樹莓派5又拔掉了耳機孔，得準備USB音效卡\n只好利用樹莓派的藍芽連接喇叭輸出音訊了。下圖為Blueman GTK 參考資料 # Pi5-ethernet-and-power-over-usbc.md - Github Raspberry Pi5とiPad ProをUSB-OTGで繋ぐ方法 - さおとめらいふ－魚住惇のブログ iPad 与Raspberry Pi 4 通过Type-C 直连—— VNC 篇| Cocoa MY IPAD PRODUCTIVITY AND TRAVEL KIT, 2023 EDITION - Tao of Mac ","date":"2024年9月9日","externalUrl":null,"permalink":"/posts/ipad-raspberrypi-usb-c-connection/","section":"所有文章","summary":"樹莓派因其體積小易攜帶的特性，很適合帶出門搭配iPad使用，當作隨身小電腦，作為一種sidecar PC。雖然它的處理器性能比iPad弱，但是能做的比iPad多，比如跑許多Linux的軟體，像架設AltStore伺服器，用於給iPad側載的第三方APP重簽；或者跑libimobiledevice指令備份iPad檔案；以及用UxPlay接受來自AirPlay的投放。\n我們就來討論用iPad螢幕存取樹莓派桌面的方案。 1. 方案探討 # 需不需要給樹莓派額外準備電源線呢？其實iPad就可以給樹莓派供電了。iPad的USB-C電流輸出足夠給樹莓派開機的，畢竟它都能給手機充電了。\n要讓iPad當樹莓派螢幕，最簡單的方式是買個USB擷取卡，將樹莓派HDMI畫面輸出到iPad的擷取卡APP，然後用藍芽滑鼠控制樹莓派的桌面。\n但是，我想要從iPad直接SSH到樹莓派，並且用VNC客戶端遠端控制樹莓派的桌面，所以讓樹莓派與iPad有線連接。 要如何連線到樹莓派，有兩種方式。\n一是Wifi連線，也就是樹莓派連著iPad的USB-C開機，樹莓派自己連線到Wifi或者Wifi熱點，iPad再透過區域網路的IP登入樹莓派。\n二是透過乙太網路，把樹莓派變成乙太網路卡，參考我之前寫過的透過USB傳輸線，從Linux電腦登入樹莓派系統。在樹莓派連著iPad的USB-C開機之後，iPad會把它當成乙太網路連線，我們就可以透過RNDIS乙太網路IP登入樹莓派。由於是有線連接，VNC遠端桌面延遲非常低，也方便我們把iPad檔案傳到樹莓派。\niPad是允許同時使用Wifi與以太網路連線的。但是，把樹莓派變成乙太網路卡會導致其無法上網，變成只有iPad跟樹莓派之間能夠連線，樹莓派還是得另外連Wifi才能上網。\n","title":"iPad當樹莓派螢幕，透過USB-C連線到VNC遠端桌面","type":"posts"},{"content":"Using a Linux PC as a bluetooth keyboard for iPad.\n利用Linux電腦鍵盤在iPad上打字，遠端控制iPad。\niPad平板臨時需要鍵盤怎辦？我們知道macOS有自家的通用控制，能在Mac和iPad之間共用鍵盤，但萬一不是macOS呢？就用藍芽鍵盤吧。\n若手邊有電腦但沒有多餘的藍芽鍵盤又怎麼辦呢？藍芽鍵盤其實可以用軟體模擬的，像Windows有閉源的Across Center和ApowerMirror\nLinux也有人做了軟體模擬藍芽滑鼠的開源專案，例如Alkaid-Benetnash/EmuBTHID和taoso/btk，經過實測只有後者能在iPad和Android使用。\nBTK是一個Python寫成的軟體，搭配BlueZ，將Linux電腦的鍵盤模擬成一個藍芽鍵盤兼滑鼠(Bluetooth HID)，藉此從Linux電腦控制其他裝置，無需安裝任何藍芽轉接器。這樣我們就能把Linux電腦當作iPad或Android平板的鍵盤啦。\nBTK操作起來有點像在用Software KVM，不過這個藍芽鍵盤一次只能配對一個裝置而已。\n1. 安裝BTK # 本軟體支援X11與Wayland環境，但Wayland打中文似乎會有問題。\n環境：Ubuntu 24.04，Python 3.12\n請確認Linux電腦的藍芽有正常運作，例如Ubuntu便是確認Bluetooth服務有起來： sudo systemctl status bluetooth 安裝依賴套件 sudo apt install python3 git bluez bluez-utils python3-gi python3-gi-cairo gir1.2-gtk-4.0 libgirepository-2.0-dev libbluetooth-dev 修改Bluetooth服務設定 sudo vim /lib/systemd/system/bluetooth.service 修改Exec=後面的內容 ExecStart=/usr/lib/bluetooth/bluetoothd -P input 重啟服務 sudo systemctl daemon-reload sudo systemctl restart bluetooth 複製BTK儲存庫 git clone https://github.com/taoso/btk.git cd btk 建立虛擬環境，安裝Python依賴套件 python3 -m venv venv venv/bin/pip install git+https://github.com/pybluez/pybluez.git#egg=pybluez venv/bin/pip install -r requirements.txt venv/bin/pip install pycairo PyGObject 執行指令bluetoothctl power on開啟Linux的藍芽\n執行Python程式\nsudo venv/bin/python3 agent.py 2. 將藍芽鍵盤與iPad配對 # 讓Linux的藍芽進入配對狀態（或者用Linux桌面環境設定的藍芽選單配對） bluetoothctl discoverable on 再將iPad與Linux電腦配對，依照指示輸入配對數字，接著於iPad的藍芽選單點一下Linux電腦名稱。 配對之後，iPad返回主畫面，嘗試在Linux電腦移動滑鼠，iPad上的滑鼠就會跟著動。若是遇到滑鼠很卡問題，請確認電腦Wifi的干擾問題。\n為避免Linux輸入法干擾，請將語言切成英文。iPad切換輸入法有點小問題，部份程式無法使用iOS鍵盤打中文，請裝Gboard設定中文語言解決。\n3. 改善BTK操控體驗 # 我希望操控iPad不會影響操作Linux電腦，所以我的解法就是跑一個巢狀X伺服器，把BTK「關在裡面」執行。\n安裝Xephyr sudo apt-get install xserver-xephyr 開一個視窗 Xephyr -br -ac -screen 800x600 :10 再於其中執行BTK程式 cd ~/btk DISPLAY=:10 xterm -e \u0026#34;sudo venv/bin/python3 agent.py\u0026#34; 按CTLR＋SHIFT擷取鍵盤操作，這樣操控iPad的時候滑鼠便只會在該視窗移動。再按一次CTLR＋SHIFT滑鼠才能離開該視窗。 可是，在Xephyr裡面打字，又會造成iPad無法打出中文的問題\u0026hellip;\u0026hellip;。\n","date":"2024年9月7日","externalUrl":null,"permalink":"/posts/using-a-linux-pc-as-a-bluetooth-keyboard/","section":"所有文章","summary":"Using a Linux PC as a bluetooth keyboard for iPad.\n利用Linux電腦鍵盤在iPad上打字，遠端控制iPad。\niPad平板臨時需要鍵盤怎辦？我們知道macOS有自家的通用控制，能在Mac和iPad之間共用鍵盤，但萬一不是macOS呢？就用藍芽鍵盤吧。\n若手邊有電腦但沒有多餘的藍芽鍵盤又怎麼辦呢？藍芽鍵盤其實可以用軟體模擬的，像Windows有閉源的Across Center和ApowerMirror\nLinux也有人做了軟體模擬藍芽滑鼠的開源專案，例如Alkaid-Benetnash/EmuBTHID和taoso/btk，經過實測只有後者能在iPad和Android使用。\nBTK是一個Python寫成的軟體，搭配BlueZ，將Linux電腦的鍵盤模擬成一個藍芽鍵盤兼滑鼠(Bluetooth HID)，藉此從Linux電腦控制其他裝置，無需安裝任何藍芽轉接器。這樣我們就能把Linux電腦當作iPad或Android平板的鍵盤啦。\nBTK操作起來有點像在用Software KVM，不過這個藍芽鍵盤一次只能配對一個裝置而已。\n1. 安裝BTK # 本軟體支援X11與Wayland環境，但Wayland打中文似乎會有問題。\n環境：Ubuntu 24.04，Python 3.12\n請確認Linux電腦的藍芽有正常運作，例如Ubuntu便是確認Bluetooth服務有起來： sudo systemctl status bluetooth 安裝依賴套件 sudo apt install python3 git bluez bluez-utils python3-gi python3-gi-cairo gir1.2-gtk-4.0 libgirepository-2.0-dev libbluetooth-dev 修改Bluetooth服務設定 sudo vim /lib/systemd/system/bluetooth.service 修改Exec=後面的內容 ExecStart=/usr/lib/bluetooth/bluetoothd -P input 重啟服務 sudo systemctl daemon-reload sudo systemctl restart bluetooth 複製BTK儲存庫 git clone https://github.com/taoso/btk.git cd btk 建立虛擬環境，安裝Python依賴套件 python3 -m venv venv venv/bin/pip install git+https://github.com/pybluez/pybluez.git#egg=pybluez venv/bin/pip install -r requirements.txt venv/bin/pip install pycairo PyGObject 執行指令bluetoothctl power on開啟Linux的藍芽\n","title":"電腦遠端控制iPad，利用BTK將Linux模擬成藍牙鍵盤＆滑鼠","type":"posts"},{"content":"利用Docker建置Linux遠端桌面，隨時隨地用瀏覽器遠端存取。 1. Webtop特點 # LinuxServer Webtop是在Docker裡跑裝好桌面環境的Linux容器，啟動VNC，讓你能從瀏覽器存取Linux桌面，音訊會自動傳輸過來。 Webtop界面針對行動裝置提供了一些便捷操作，可以方便你用客戶端的輸入法打字，也能夠使將客戶端的麥克風透傳到遠端Linux桌面，或是上傳檔案到遠端。 Webtop不是讓你存取現有Linux桌面的遠端桌面軟體，而是在Docker裡面開VNC遠端桌面，方便從瀏覽器登入桌面開始工作，因此很適合headless的Linux伺服器安裝。\n那WebTop的VNC有什麼特別的呢？撰文當下使用的VNC技術KasmVNC，未來會逐漸改用Selkies。\n先介紹點背景：KasmVNC是Kasm公司推出的現代化VNC解決方案，主打網頁原生，授權條款為GPLv2，可以獨立安裝作為VNC伺服器。雖然叫做VNC，不過他們拋棄了RFB協定以適應現代化的串流環境，除了指令跟vncserver很像以外其他地方跟傳統VNC差異很大。KasmVNC不是x11VNC那樣給一般電腦用的遠端桌面，而是設計給伺服器使用的。我個人覺得KasmVNC就是整合了各種前人方案的綜合體，也就是TigerVNC + noVNC + VirtualGL，並且比Apache Guacamole更容易安裝，瀏覽器操作十分順暢。但最賤的就是他們沒有把音訊串流技術開源出來，而是包含在他們的商業產品Kasm Workspaces，與他們的後台管理系統整合在一起。\n至於LinuxServer的Webtop專案，可以說是丐版的Kasm Workspaces吧，沒有後台管理界面，但是全開源，同樣使用KasmVNC，並包含了音訊串流技術。如果你很在意授權條款問題，沒有要管理日理萬機的多人Linux伺服器的話，用Webtop搭配Portainer管理Docker容器就夠了，不需用到Kasm Workspaces！\n2. 部署Webtop # LinuxServer打包了許多Linux發行版的映像檔。根據LinuxServer官方文件，預設的映像檔linuxserver/webtop:latest為Alpine Linux + XFCE桌面，容量很小。LinuxServer還有打包其他的發行版映像檔，我們就使用比較常見的Ubuntu + XFCE吧，名稱為linuxserver/webtop:ubuntu-xfce。\n如果你有自訂系統映像檔的需求，請參照官方文件的步驟用docker自行build。\n撰寫docker-compose.yml如下，注意註解。由於KasmVNC可以使用客戶端輸入法打字，故不用在容器裡裝輸入法。\n--- services: webtop: image: linuxserver/webtop:ubuntu-xfce # 使用Ubuntu XFCE映像檔 container_name: webtop security_opt: - seccomp:unconfined # 新版Docker執行某些程式system call會出錯，故關閉安全機制 environment: - PUID=1000 # 以一般使用者身份執行 - PGID=1000 - TZ=Asia/Taipei # 時區 - LC_ALL=zh_TW.UTF-8 # 容器裡面的語言 - DOCKER_MODS=linuxserver/mods:universal-package-install - INSTALL_PACKAGES=fonts-noto-cjk # 在啟動時用APT安裝中文字型 - SUBFOLDER=/ # 網址 - TITLE=Webtop # 網頁標題 - CUSTOM_USER=user # 設定網頁登入帳號 - PASSWORD= # 設定網頁登入密碼 - DRINODE=/dev/dri/renderD128 # GPU加速，Nvidia閉源驅動不可使用DRI3 volumes: - ./config:/config # 容器資料儲存目錄 - /var/run/docker.sock:/var/run/docker.sock # 讓容器可以存取Docker狀態 - /home/user/Downloads/:mnt/ # 與容器共享宿主機目錄 ports: - 3000:3000 # http通訊埠，用不到的話可以刪除 - 3001:3001 # https通訊埠，有加密比較安全 devices: - /dev/dri:/dev/dri # GPU加速，Nvidia閉源驅動不可使用DRI3 shm_size: \u0026#34;1gb\u0026#34; # 容器共享RAM大小 restart: unless-stopped 3. 連線至Webtop桌面 # 建議使用Chromium系瀏覽器，Firefox的KasmVNC支援度不太好的樣子。\n啟動Docker容器，輸入https://Linux的IP:3001連線登入 點選左邊的選單，可以啟用客戶端輸入法，以及調整串流品質 上方的選單則是上傳檔案、開啟音訊串流、將客戶端的麥克風透傳給Linux桌面使用 4. Webtop容器資料儲存問題 # 請不要在容器使用APT安裝套件，因為每次容器重新啟動都是直接載入原本的映像檔，安裝的套件會消失。\n只有使用者家目錄(/home)下的檔案會儲存到config Docker volume所在的目錄。\n故，如果要安裝自訂程式並在重啟容器後保留，請善用LinuxServer提供的proot-apps機制安裝程式：\nproot-apps install chromium rootless的Flatpak也是可以考慮的選項。\n參考資料 # Webtop - Alpine, Ubuntu, Fedora, and Arch based containers containing full desktop environments in officially supported flavors accessible via any modern web browser. GPU Acceleration — Kasm documentation ","date":"2024年9月6日","externalUrl":null,"permalink":"/posts/webtop-docker/","section":"所有文章","summary":"利用Docker建置Linux遠端桌面，隨時隨地用瀏覽器遠端存取。 1. Webtop特點 # LinuxServer Webtop是在Docker裡跑裝好桌面環境的Linux容器，啟動VNC，讓你能從瀏覽器存取Linux桌面，音訊會自動傳輸過來。 Webtop界面針對行動裝置提供了一些便捷操作，可以方便你用客戶端的輸入法打字，也能夠使將客戶端的麥克風透傳到遠端Linux桌面，或是上傳檔案到遠端。 Webtop不是讓你存取現有Linux桌面的遠端桌面軟體，而是在Docker裡面開VNC遠端桌面，方便從瀏覽器登入桌面開始工作，因此很適合headless的Linux伺服器安裝。\n那WebTop的VNC有什麼特別的呢？撰文當下使用的VNC技術KasmVNC，未來會逐漸改用Selkies。\n先介紹點背景：KasmVNC是Kasm公司推出的現代化VNC解決方案，主打網頁原生，授權條款為GPLv2，可以獨立安裝作為VNC伺服器。雖然叫做VNC，不過他們拋棄了RFB協定以適應現代化的串流環境，除了指令跟vncserver很像以外其他地方跟傳統VNC差異很大。KasmVNC不是x11VNC那樣給一般電腦用的遠端桌面，而是設計給伺服器使用的。我個人覺得KasmVNC就是整合了各種前人方案的綜合體，也就是TigerVNC + noVNC + VirtualGL，並且比Apache Guacamole更容易安裝，瀏覽器操作十分順暢。但最賤的就是他們沒有把音訊串流技術開源出來，而是包含在他們的商業產品Kasm Workspaces，與他們的後台管理系統整合在一起。\n","title":"瀏覽器跑Linux遠端桌面！Webtop Docker部署教學","type":"posts"},{"content":"","date":"2024年9月5日","externalUrl":null,"permalink":"/tags/pulseaudio/","section":"標籤","summary":"","title":"PulseAudio","type":"tags"},{"content":"Streaming audio output from Linux to Windows using PulseAudio.\nVNC RFB本身只是遠端桌面協定，不像RDP支援音訊傳輸。\n有些VNC伺服器自行實作了解決方案，例如RealVNC和KasmVNC都有自家的音訊串流方案，他們的客戶端也支援播放聲音。至於使用開源TightVNC、TigerVNC、x11VNC的我等，就得自行想辦法解決音訊問題。\n目前大多數Linux發行版音訊伺服器是PulseAudio，它能夠用「Simple TCP Protocol」模組，經由網路播放音效。利用這個原理，我們只要跑個PulseAudio接收端，就能夠播放遠端Linux桌面的音效了。\n這代表你得一邊開著VNC客戶端，一邊開著其他程式來接收遠端Linux桌面的音訊。\n如果你的Linux發行版使用PipeWire，無妨！PulseAudio的串流功能PipeWire也能用。\n1. 遠端Linux伺服端的設定 # Ubuntu/Debian安裝PulseAudio套件，並設定自動啟動服務 sudo apt install pulseaudio pavucontrol systemctl --user enable --now pulseaudio 安裝VNC伺服器服務，例如TigerVNC 2. 設定Simple TCP Protocol模組 # 取得Linux的IP ip addr 列出Linux桌面音訊裝置 pactl list sources short 載入Simple TCP Protocol模組，source=後面填寫音訊裝置，IP使用Linux的IP，通訊埠使用8000 pactl load-module module-simple-protocol-tcp rate=48000 channels=2 source=\u0026#34;auto_null.monitor\u0026#34; record=true listen=\u0026#34;Linux的IP\u0026#34; port=8000 若要讓Simple TCP Protocol模組跟著VNC一起啟動，在~/.vnc/xstartup加入以上指令。\n然後開放Linux防火牆\nsudo ufw allow 8000 sudo ufw reload 在Linux開啟pavuconttrol程式，觀察音訊輸出。有PulseAudio客戶端連線的時候就會跳出capture。 3. 播放PulseAudio音訊的客戶端 # 請先開啟VNC客戶端，連線到Linux遠端桌面。接著再開啟要接收PulseAudio音訊的客戶端。\nWindows # 下載SimpleProtocolServer。\nAndroid # 下載Simple Protocol Player，填入Linux IP和通訊埠即可。\n4. 另類解法：ffmpeg RTP串流PulseAudio音效 # 這可以讓PulseAudio播放的音效透過rtp串流，再用ffmpeg播放。\n在要接收PulseAudio音訊的電腦，執行ffplay ffplay -nodisp -ac 2 -acodec pcm_s16le -ar 48000 -analyzeduration 0 -probesize 32 -f s16le -i udp://0.0.0.0:18181?listen=1 開放防火牆18181通訊埠\n（請在VNC視窗執行指令，不可以用SSH）在遠端Linux載入module-null-sink模組，再執行ffmpeg串流到接收端電腦\npactl load-module module-null-sink sink_name=remote ffmpeg -f pulse -i \u0026#34;remote.monitor\u0026#34; -ac 2 -acodec libmp3lame -ar 44100 -ab 128000 -f rtp rtp://接收端電腦的IP:18181 在Linux開啟pavucontrol，設定音訊輸出為remote即可。 或許我們可以把PulseAudio的音訊變成RTP串流，然後再用VLC播放？我沒試成功就是了。\n參考資料 # Protocol Simple - PipeWire Simple Protocol Player - kaytat\u0026rsquo;s blog Streaming PulseAudio over RTP - Brandon Rozek Streaming audio output from Linux (Pulseaudio) to Windows - Fusl\u0026rsquo;s gist ","date":"2024年9月5日","externalUrl":null,"permalink":"/posts/vnc-pulseaudio/","section":"所有文章","summary":"Streaming audio output from Linux to Windows using PulseAudio.\nVNC RFB本身只是遠端桌面協定，不像RDP支援音訊傳輸。\n有些VNC伺服器自行實作了解決方案，例如RealVNC和KasmVNC都有自家的音訊串流方案，他們的客戶端也支援播放聲音。至於使用開源TightVNC、TigerVNC、x11VNC的我等，就得自行想辦法解決音訊問題。\n目前大多數Linux發行版音訊伺服器是PulseAudio，它能夠用「Simple TCP Protocol」模組，經由網路播放音效。利用這個原理，我們只要跑個PulseAudio接收端，就能夠播放遠端Linux桌面的音效了。\n這代表你得一邊開著VNC客戶端，一邊開著其他程式來接收遠端Linux桌面的音訊。\n如果你的Linux發行版使用PipeWire，無妨！PulseAudio的串流功能PipeWire也能用。\n1. 遠端Linux伺服端的設定 # Ubuntu/Debian安裝PulseAudio套件，並設定自動啟動服務 sudo apt install pulseaudio pavucontrol systemctl --user enable --now pulseaudio 安裝VNC伺服器服務，例如TigerVNC 2. 設定Simple TCP Protocol模組 # 取得Linux的IP ip addr 列出Linux桌面音訊裝置 pactl list sources short 載入Simple TCP Protocol模組，source=後面填寫音訊裝置，IP使用Linux的IP，通訊埠使用8000 pactl load-module module-simple-protocol-tcp rate=48000 channels=2 source=\"auto_null.monitor\" record=true listen=\"Linux的IP\" port=8000 若要讓Simple TCP Protocol模組跟著VNC一起啟動，在~/.vnc/xstartup加入以上指令。\n","title":"VNC + PulseAudio，串流播放Linux遠端桌面的音訊","type":"posts"},{"content":"Stream GNU/Linux audio output to Android devices over WI-FI with PipeWire.\n有時候，手機平板的喇叭音質比電腦螢幕內建的揚聲器要好的多，所以就想要用手機當電腦喇叭來播放電腦的音樂。那有沒有可能透過區域網路(例如Wifi)來播放音效呢？在電腦是Linux的情況下，我們可以利用PulseAudio的「Simple TCP Protocol」模組達成此目的。此模組可在PipeWire下運作。\n本篇文章主要是給Linux系統搭配Android手機使用的。\nPulseAudio不適合需要極低延遲的音樂播放。\n1. 設定PulseAudio # 現在大多數Linux發行版應該都是採用PulseAudio當音訊伺服器。PipeWire向下相容PulseAudio的模組設定。\n安裝後可透過此指令確認安裝情況，應該會跑出一堆音訊裝置： pactl list 接著確定要使用的音訊裝置。目前我的電腦有HDMI音訊和主機板音效卡這2個音效輸出： ivon@Lk31 ~ $ pactl list sources short 0 alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED 1 alsa_output.pci-0000_00_1f.3.iec958-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz RUNNING 我的想法是手機播放時電腦就得靜音，也就是說一開始是用HDMI的音訊輸出，手機開始播放後，就透過音效面板將電腦切換到沒有插喇叭的主機板音效卡。\n接著要設定串流用的指令稿。新增一個pashare.sh的檔案。source後面填寫的是音效卡ID，讓PulseAudio錄製這個音效卡並輸出。\n#!/bin/sh case \u0026#34;$1\u0026#34; in start) $0 stop pactl load-module module-simple-protocol-tcp rate=48000 format=s16le channels=2 source=\u0026#34;alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1.monitor\u0026#34; record=true port=8000 ;; stop) pactl unload-module `pactl list | grep tcp -B1 | grep M | sed \u0026#39;s/[^0-9]//g\u0026#39;` ;; *) echo \u0026#34;Usage: $0 start|stop\u0026#34; \u0026gt;\u0026amp;2 ;; esac 賦予指令稿執行權限： chmod 755 pashare.sh 上面pashare.sh指令稿使用的通訊埠是8000，因此防火牆要開啟8000的通訊埠。 sudo ufw allow 8000 sudo ufw reload 執行指令稿： ./pashare.sh start 2. 安裝用於串流的手機APP # Android下載Simple Protocol Player，iOS似乎沒有這方面的APP。\n讓電腦和手機連線到同一個網路。電腦輸入ifocnfig查看區網IP： ivon@Lk31 ~ $ ifconfig enp2s0: flags=4163\u0026lt;UP,BROADCAST,RUNNING,MULTICAST\u0026gt; mtu 1500 inet 192.168.1.102 netmask 255.255.255.0 broadcast 192.168.1.255 手機開啟Simple Protocol Player，填入電腦的IP和通訊埠，Sample Rate選48000，點選播放鍵。 在電腦上播放音樂，手機應該就會有聲音了。若要避免兩邊一起播放，透過pavucontrol音效面板將電腦的音訊輸出切換成主機板音效卡(沒有接喇叭)，這樣就只有手機有聲音。 如果要停止串流音訊，在電腦上執行剛剛寫的指令稿：\n./pashare.sh stop 3. 總結 # 實測偶爾會卡卡的，要看Wifi穩定度。\n如果要把手機音訊用電腦播放呢？只要手機裝Termux再反向操作就可以啦～ Linux的PulseAudio也能作為接收端。\n參考資料 # How to stream my GNU/Linux audio output to Android devices over WI-FI? - superuser Simple Protocol Player - kaytat\u0026rsquo;s blog ","date":"2024年9月5日","externalUrl":null,"permalink":"/posts/pulseaudio-streaming-audio-to-phones/","section":"所有文章","summary":"Stream GNU/Linux audio output to Android devices over WI-FI with PipeWire.\n有時候，手機平板的喇叭音質比電腦螢幕內建的揚聲器要好的多，所以就想要用手機當電腦喇叭來播放電腦的音樂。那有沒有可能透過區域網路(例如Wifi)來播放音效呢？在電腦是Linux的情況下，我們可以利用PulseAudio的「Simple TCP Protocol」模組達成此目的。此模組可在PipeWire下運作。\n本篇文章主要是給Linux系統搭配Android手機使用的。\nPulseAudio不適合需要極低延遲的音樂播放。\n1. 設定PulseAudio # 現在大多數Linux發行版應該都是採用PulseAudio當音訊伺服器。PipeWire向下相容PulseAudio的模組設定。\n安裝後可透過此指令確認安裝情況，應該會跑出一堆音訊裝置： pactl list 接著確定要使用的音訊裝置。目前我的電腦有HDMI音訊和主機板音效卡這2個音效輸出： ivon@Lk31 ~ $ pactl list sources short 0 alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED 1 alsa_output.pci-0000_00_1f.3.iec958-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz RUNNING 我的想法是手機播放時電腦就得靜音，也就是說一開始是用HDMI的音訊輸出，手機開始播放後，就透過音效面板將電腦切換到沒有插喇叭的主機板音效卡。\n接著要設定串流用的指令稿。新增一個pashare.sh的檔案。source後面填寫的是音效卡ID，讓PulseAudio錄製這個音效卡並輸出。\n","title":"用Android手機播放Linux電腦音樂 ~ PulseAudio Wifi串流設定","type":"posts"},{"content":"介紹如何使用VirtualGL給Linux遠端桌面啟用GPU硬體加速，跑需要OpenGL的3D應用程式。\n1. VirtualGL為何？ # VirtualGL是專為Linux VNC遠端桌面設計的解決方案，能夠讓OpenGL程式於VNC遠端桌面運作。比較常見的用法是使用遠端伺服器Nvidia GPU在VNC進行圖形渲染。 不過我卻是用在樹莓派上，主要想搞遊戲遠端串流，我試過在樹莓派跑Moonlight + Sunshine，但看來串流太吃資源了，動不動就CPU 100%，用VNC伺服器好些。\nVNC伺服器本身不吃什麼資源，TigerVNC就算是headless的Linux伺服器也能跑。但若在VNC桌面執行需要OpenGL的程式，通常都是用llvmpipe也就是CPU運算的，所以3D性能低下。\n比如，我們在VNC桌面跑Firefox，WebGL Aquarium的FPS連10都不到！ 安裝VirtualGL就能解決上述問題，它可以將遠端的GPU 3D渲染導向VNC畫面。於是乎VNC桌面就能執行需要GPU加速的程式了。\nVirtualGL原理圖如下，取自Arch Wiki： 但由於VNC本身就不是為串流遊戲設計的，畫面品質比不上Moonlight，網速不夠快的情況下很容易出現畫面撕裂，還得自行解決PulseAudio音效串流的問題（例如PulseAudio串流音訊）。因此就遊戲串流的用途來說，VNC + VirtualGL只能算是Moonlight不能用的時候的替代方案。\n另外，VirtualGL跟VirGL (virglrenderer)是不同的專案，後者是給QEMU用的半虛擬化GPU加速方案。\n2. 環境 # Raspberry Pi 5 Raspberry Pi OS Debian 12 Bookworm 沒有接上任何顯示器 實行前請先執行vulkaninfo --summary指令確認樹莓派的GPU驅動有無正常運作，應會看到V3DV Mesa。\n3. 安裝VNC伺服器服務 # VirtualGL的開發者同時開發了叫做TurboVNC的VNC伺服器，專為VirtualGL優化，不過TigerVNC、KasmVNC用戶可以直接沿用現有架構來跑VirtualGL，無需刻意安裝TurboVNC。\n我使用TigerVNC，安裝TigerVNC開機自動啟動服務。由於VirtualGL預設使用DISPLAY 0，請將VNC預設通訊埠設定為5900。\n4. 安裝VirtualGL套件 # 根據開發者指示，Debian可以透過新增VirtualGL套件庫安裝 su wget -q -O- https://packagecloud.io/dcommander/virtualgl/gpgkey | \\ gpg --dearmor \u0026gt;/etc/apt/trusted.gpg.d/VirtualGL.gpg wget -P /etc/apt/sources.list.d https://raw.githubusercontent.com/VirtualGL/repo/main/VirtualGL.list apt update 安裝VirtualGL sudo apt install virtualgl 5. 初始化VirtualGL # 本節的操作請在SSH進行。\n停止遠端的顯示管理器服務，例如樹莓派預設是用LightDM： sudo systemctl stop lightdm 執行VirtualGL初始化程式 sudo /opt/VirtualGL/bin/vglserver_config 選1) Configure server for use with VirtualGL (GLX + EGL back ends)，所有問題都回答yes\n接著，把自己的使用者帳號加入vgluser群組\nsudo usermod -a -G vglusers root sudo usermod -a -G vglusers user 重開機。 6. 在VNC使用VirtualGL # 1, 啟動TigerVNC服務，開啟VNC客戶端連線\nsystemclt --user start vncserver@:0.service 檢查VirtualGL安裝是否成功，輸出PAW就代表成功了 sudo xauth merge /etc/opt/VirtualGL/vgl_xauth_key xdpyinfo -display :0 /opt/VirtualGL/bin/glxinfo -display :0 -c VirtualGL會建立/dev/dri裝置，這可以用ls -l /dev/dri指令檢查所屬群組確認。\n所有要3D加速的程式都必須以vglrun為前綴執行，例如Firefox需要指定egl為渲染後端才吃得到GPU加速\nvglrun -d egl firefox 可看到WebGL Aquarium的FPS自此之後有了大幅提昇。 如果vglrun出現Could not open display :0.錯誤。請設定VGL_DISPLAY=:1環境變數，讓他們跟VNC伺服器通訊埠一致： DISPLAY=:1 VGL_DISPLAY=:1 vglrun -d egl firefox 你還可以直接將vglrun加入VNC的設定檔（像TigerVNC就是~/.vnc/xstartup），讓整個桌面環境以3D加速啟動 vglrun startxfce4 參考資料 # VirtualGL - 3D Without Boundaries VirtualGL - Arch Wiki ","date":"2024年9月5日","externalUrl":null,"permalink":"/posts/virtualgl-vnc/","section":"所有文章","summary":"介紹如何使用VirtualGL給Linux遠端桌面啟用GPU硬體加速，跑需要OpenGL的3D應用程式。\n1. VirtualGL為何？ # VirtualGL是專為Linux VNC遠端桌面設計的解決方案，能夠讓OpenGL程式於VNC遠端桌面運作。比較常見的用法是使用遠端伺服器Nvidia GPU在VNC進行圖形渲染。 不過我卻是用在樹莓派上，主要想搞遊戲遠端串流，我試過在樹莓派跑Moonlight + Sunshine，但看來串流太吃資源了，動不動就CPU 100%，用VNC伺服器好些。\nVNC伺服器本身不吃什麼資源，TigerVNC就算是headless的Linux伺服器也能跑。但若在VNC桌面執行需要OpenGL的程式，通常都是用llvmpipe也就是CPU運算的，所以3D性能低下。\n比如，我們在VNC桌面跑Firefox，WebGL Aquarium的FPS連10都不到！ 安裝VirtualGL就能解決上述問題，它可以將遠端的GPU 3D渲染導向VNC畫面。於是乎VNC桌面就能執行需要GPU加速的程式了。\nVirtualGL原理圖如下，取自Arch Wiki： 但由於VNC本身就不是為串流遊戲設計的，畫面品質比不上Moonlight，網速不夠快的情況下很容易出現畫面撕裂，還得自行解決PulseAudio音效串流的問題（例如PulseAudio串流音訊）。因此就遊戲串流的用途來說，VNC + VirtualGL只能算是Moonlight不能用的時候的替代方案。\n","title":"給VNC遠端桌面啟用GPU加速，Linux VirtualGL設定方式","type":"posts"},{"content":"在iPhone/iPad執行Linux系統的虛擬機，跑Docker。 緣由：解決iSH Shell過於老舊的問題。iSH Shell模擬的是32位元(i386)的Alpine Linux系統，然而32位元很多套件都無法安裝，還有一堆Bad System Call的bug，不利於跑Docker容器，所以改用UTM跑64位元Linux虛擬機解決這個問題。 我依然選用Alpine Linux，本身就是一個輕量的發行版，最低只要128MB RAM就能安裝，開機速度很快，安裝速度也很快。雖然UTM虛擬機啟動時間比iSH Shell要多上幾分鐘，但是環境相對完整，起碼QEMU對x86指令的支援度要比iSH Shell好多了。UTM執行指令的回應速度約5秒，所以是足夠跑一些純文字工具的，例如ffmpeg、ImageMagick、完整的Python-pip環境，寫寫小程式，當然還有Docker。 其實不一定要跑Alpine啦！如果裝置RAM有4GB以上且啟用JIT，那麼跑Ubuntu Server也是可行的。\n影片安裝過程參考： 1. 建立Alpine Linux UTM虛擬機 # 到Alpine Linux官網下載x86_64或aarch64架構的映像檔，選取standard版本\n安裝UTM APP，新增Linux虛擬機。RAM至少512MB，儲存空間至少8GB，CPU至少分配2核心，並啟用強制多核心模式。\n可以的話順便給UTM啟用JIT，虛擬機執行速度會快很多。不方便的話也沒關係，用UTM SE跑Alpine Linux勉強能行。\n將虛擬機開機，參考Alpine Linux安裝教學，執行seupt-alpine指令稿，完成系統安裝。通常執行這個指令稿安裝十分鐘就能完成。為節省資源可以不安裝圖形界面，開機後會直接進入tty。\n2. 安裝Docker # 登入一般使用者帳號，即可在Alpine Linux安裝Docker： sudo apk add docker docker-cli-compose sudo addgroup $USER docker sudo rc-update add docker sudo rc-service docker start 如果docker pull指令出現No route to host錯誤，嘗試設定DNS伺服器： echo \u0026#34;nameserver 8.8.8.8\u0026#34; | sudo tee -a /etc/resolv.conf 3. 外部SSH連線到UTM虛擬機 # 假設你覺得UTM的tty畫面太醜，那就用iSH Shell的ssh登入Alpine Linux虛擬機操作，還能用scp指令傳輸檔案。\nUTM虛擬機預設網路無法從外部存取。編輯Alpine Linux虛擬機網路設定，新增通訊埠轉送，把虛擬機內部的22通訊埠導向localhost的2022通訊埠，這樣虛擬機的SSH服務才能從外部連線。若果Docker服務有用到通訊埠也請一併開啟。 將虛擬機開機，在Alpine Linux虛擬機安裝SSH套件：\nsudo apk add openssh sudo rc-update add sshd sudo rc-service sshd start 開啟iSH Shell APP。注意UTM放在後台容易被iOS系統中止。如果是iPad的話使用「滑動置前」或「幕前調度」開啟iSH Shell視窗即可保證兩個APP不會被系統中止。 在iSH Shell的視窗，輸入ssh user@localhost -p 2022指令登入，就能用iSH Shell管理UTM虛擬機內的服務。\n你也可以在電腦用SSH客戶端，遠端登入UTM虛擬機：ssh user@iOS裝置的IP -p 2022\n4. iOS與UTM虛擬機共享資料夾 # 此處介紹scp與VirtFS兩種共享資料夾方法。\nSCP # 在iSH Shell使用scp指令傳輸，例如將虛擬機內的/home/user/Downloads/file.txt，傳送到iSH Shell的/root目錄 scp -P 2022 -r user@localhost:/home/user/Downloads/file.txt /root 同樣的，iSH Shell也能傳送檔案到虛擬機內部： scp -P 2022 -r /root/file.txt user@localhost:/home/user/Downloads/ 若要將iSH Shell收到的檔案搬移到其他APP，開啟「檔案APP」，找到iSH Shell的/root目錄就能看到檔案了。 VirtFS # UTM的VirtFS為VirtIO-9P，不是VirtIO-FS。\n9Pfs大多數Linux發行版都有支援。\n編輯UTM虛擬機，到共享資料夾啟用VirtFS (9Pfs)，掛載iOS的「下載」資料夾給虛擬機存取。 然後在虛擬機內執行指令，掛載iOS的共享資料夾到/mnt：\nsudo mount share -t 9p /mnt 如此一來兩邊的檔案就會互通了。 5. 虛擬機GPU加速 # GPU直通不可行。\nLinux虛擬機請善用UTM的virtio-gpu半虛擬化技術，增強虛擬機的圖形效能。\n","date":"2024年9月2日","externalUrl":null,"permalink":"/posts/ios-utm-alpine-linux-vm/","section":"所有文章","summary":"在iPhone/iPad執行Linux系統的虛擬機，跑Docker。 緣由：解決iSH Shell過於老舊的問題。iSH Shell模擬的是32位元(i386)的Alpine Linux系統，然而32位元很多套件都無法安裝，還有一堆Bad System Call的bug，不利於跑Docker容器，所以改用UTM跑64位元Linux虛擬機解決這個問題。 我依然選用Alpine Linux，本身就是一個輕量的發行版，最低只要128MB RAM就能安裝，開機速度很快，安裝速度也很快。雖然UTM虛擬機啟動時間比iSH Shell要多上幾分鐘，但是環境相對完整，起碼QEMU對x86指令的支援度要比iSH Shell好多了。UTM執行指令的回應速度約5秒，所以是足夠跑一些純文字工具的，例如ffmpeg、ImageMagick、完整的Python-pip環境，寫寫小程式，當然還有Docker。 其實不一定要跑Alpine啦！如果裝置RAM有4GB以上且啟用JIT，那麼跑Ubuntu Server也是可行的。\n影片安裝過程參考： 1. 建立Alpine Linux UTM虛擬機 # 到Alpine Linux官網下載x86_64或aarch64架構的映像檔，選取standard版本\n","title":"iOS版UTM安裝Alpine Linux虛擬機，跑Docker容器、與iOS共享資料夾","type":"posts"},{"content":"本文Ivon介紹如何在Ubuntu安裝QEMU套件，並示範用qemu-system指令安裝一個UEFI開機的Debian虛擬機。 1. 什麼是QEMU？ # 若要在Linux高效率執行虛擬機，你一定會使用到QEMU這套軟體。\n「QEMU」為Fabrice Bellard等人開發的模擬器，屬於自由軟體，可以模擬各種架構的電腦和週邊硬體裝置，讓你安裝Linux、Windows、macOS等各種系統的虛擬機。此外QEMU還是跨平台軟體，設計強調可移植性，故本軟體能在Linux、Windows、macOS、Android、iOS執行。 QEMU的模擬分為「QEMU System Emulation」和「QEMU User Mode 」兩種模式，前者是模擬完整的作業系統，也就是本文要介紹的項目。QEMU System Emulation會將主機板、音效卡、網路卡等週邊硬體裝置都模擬出來，就好像在模擬一台真實電腦一樣，從而讓我們能在上面安裝作業系統。\n不過光模擬電腦硬體是不夠的！Linux版的QEMU能配合「KVM」核心模組加速，組成QEMU/KVM，讓虛擬機達成近乎原生速度的執行效能。KVM非常重要，關乎虛擬機的使用體驗，所以一定要開。沒有KVM的話QEMU就只是個速度很慢的電腦模擬器罷了。 順帶一提，原版QEMU得打指令操作，雖然彈性高但選項眾多且繁雜。如果你是Linux系統用戶，沒有必要用qemu指令，你可以改用Libvirt + Virt Manager圖形界面來管理QEMU/KVM虛擬機，獲得更好的使用體驗。 使用Virt Manager安裝Windows 11虛擬機，免打指令\n2. 環境 # 宿主機系統：Ubuntu LTS x86_64 QEMU版本：8.0.4 虛擬機系統：Debian 12 x86_64 3. 確認電腦硬體支援虛擬化 # Intel和AMD的CPU大部分都支援虛擬化。\n首先確認硬體支援虛擬化，這功能可以在UEFI開啟。重開機後用以下指令確認CPU是否支援虛擬化，回傳值不應為0 sudo grep -E -c \u0026#39;(vmx|svm)\u0026#39; /proc/cpuinfo 接著確認Linux的KVM核心模組有無載入 sudo lsmod | grep kvm 註：雖然QEMU可以模擬其他架構的電腦，但KVM只能給同架構的虛擬機加速，例如x86_64架構的電腦跑x86_64架構的虛擬機。若在x86_64架構的電腦模擬ARM64架構的電腦是無法使用KVM的。\n4. 安裝QEMU套件 # Ubuntu用以下指令安裝QEMU套件與相關工具、模擬UEFI韌體的OVMF、模擬TPM的swtpm\nsudo apt install qemu-system qemu-utils qemu-system-common ovmf swtpm 說明：qemu-system套件包含了所有架構的模擬器，包括ARM、MIPS、PPC、S390、SPARC、x86。如果只要模擬x86_64架構的電腦那麼裝qemu-system-x86-64就夠了。\n5. UEFI開機的虛擬機指令 # 這裡我們要安裝一個Debian系統的虛擬機，並用UEFI開機。本處的指令也能用來安裝Windows 11以前的Windows系統。\n到Debian官網下載系統安裝ISO\n建立存放虛擬機的目錄，將Debian的ISO放到這裡\nmkdir -p ~/vms cd ~/vms 使用qemu-img指令新增64GB虛擬磁碟 qemu-img create -f qcow2 debian.qcow2 64G QEMU預設是以SeaBIOS開機，UEFI開機則是要使用OVMF韌體。OVMF的目錄通常位於/usr/share/OVMF/，而我們要準備一個檔案，用於儲存虛擬機的UEFI設定，所以將OVMF_VARS_4M.fd複製到目前的目錄： cp /usr/share/OVMF/OVMF_VARS_4M.fd ~/vms 接著要使用qemu-system的指令開機，由於指令很長所以寫成一個指令稿： vim startdebian.sh 填入以下內容，新增UEFI開機的Q35機器。末尾的\\是將指令引數切成多行。 #!/bin/bash qemu-system-x86_64 \\ -machine q35 \\ -drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE_4M.secboot.fd \\ -drive if=pflash,format=raw,file=OVMF_VARS_4M.fd \\ -accel kvm \\ -cpu host \\ -smp sockets=1,cores=4,threads=1 \\ -m 4096 \\ -netdev user,id=n1 -device virtio-net,netdev=n1 \\ -vga std \\ -display gtk \\ -device intel-hda \\ -usbdevice tablet \\ -boot menu=on -drive file=debian.qcow2 \\ -cdrom debian-12.7.0-amd64-DVD-1.iso 指令解釋（請勿使用此處的程式碼，因為我加了註解指令格式就亂掉了）：\n# 模擬x86_64架構 qemu-system-x86_64 \\ # 模擬Q35晶片組 -machine q35 \\ # 使用UEFI韌體，所有變更會寫入到目前目錄的OVMF_VARS_4M.fd檔案 -drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE_4M.secboot.fd \\ -drive if=pflash,format=raw,file=OVMF_VARS_4M.fd \\ # 啟用KVM加速 -accel kvm \\ # 使用宿主機的CPU型號 -cpu host \\ # 設定CPU拓撲，應該與宿主機的CPU型號一致，例如1插座4核心1執行緒 -smp sockets=1,cores=4,threads=1 \\ # 分配4096MB的RAM -m 4096 \\ # 設定虛擬機網路卡為virtio-net -netdev user,id=n1 -device virtio-net,netdev=n1 \\ # 設定虛擬機顯示卡 -vga std \\ # 啟動QEMU GTK視窗 -display gtk \\ # （選擇性）啟動VNC伺服器，方便從SSH遠端安裝 #- vnc :0 \\ # 設定音效卡為Intel HDA -device intel-hda \\ # 設定滑鼠與鍵盤 -usbdevice tablet \\ # 系統虛擬磁碟 -boot menu=on -drive file=debian.qcow2 \\ # 系統安裝ISO -cdrom debian-12.7.0-amd64-DVD-1.iso 6. 開機安裝系統 # 賦予指令稿執行權限 chmod +x startdebian.sh 使用指令稿開機。除非發生錯誤，否則QEMU不會輸出任何訊息。 ./startdebian.sh 之後QEMU視窗會跳出來，就可以在裡面安裝系統了。 裝完系統後將虛擬機關機，編輯開機指令稿，移除CDROM這行-cdrom ...，這樣之後開機就會直接進入虛擬機系統了。 7. QEMU虛擬機使用技巧 # QEMU指令可用的參數太多了，請到本文的「參考資料」翻閱相關文章。\n虛擬機網路IP問題 # QEMU預設是讓虛擬機跑在自己的內網，外部無法存取。這個時候請使用forward功能。例如以下參數能將虛擬機內部的22/tcp通訊埠重新導向到宿主機的2022/tcp，這樣就能連線到虛擬機內的SSH了。\n-netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 虛擬機3D加速 # 除了GPU直通外，QEMU尚有半虛擬化的GPU加速可用。\n比如，使用virglrenderer達成3D加速。目前只支援Linux宿主機＋Linux虛擬機的搭配。\n-device virtio-gpu-gl -display gtk,gl=on 參考資料 # System Emulation - QEMU Documentation QEMU - Arch Wiki ","date":"2024年9月1日","externalUrl":null,"permalink":"/posts/linux-qemu-system-commands/","section":"所有文章","summary":"本文Ivon介紹如何在Ubuntu安裝QEMU套件，並示範用qemu-system指令安裝一個UEFI開機的Debian虛擬機。 1. 什麼是QEMU？ # 若要在Linux高效率執行虛擬機，你一定會使用到QEMU這套軟體。\n「QEMU」為Fabrice Bellard等人開發的模擬器，屬於自由軟體，可以模擬各種架構的電腦和週邊硬體裝置，讓你安裝Linux、Windows、macOS等各種系統的虛擬機。此外QEMU還是跨平台軟體，設計強調可移植性，故本軟體能在Linux、Windows、macOS、Android、iOS執行。 QEMU的模擬分為「QEMU System Emulation」和「QEMU User Mode 」兩種模式，前者是模擬完整的作業系統，也就是本文要介紹的項目。QEMU System Emulation會將主機板、音效卡、網路卡等週邊硬體裝置都模擬出來，就好像在模擬一台真實電腦一樣，從而讓我們能在上面安裝作業系統。\n不過光模擬電腦硬體是不夠的！Linux版的QEMU能配合「KVM」核心模組加速，組成QEMU/KVM，讓虛擬機達成近乎原生速度的執行效能。KVM非常重要，關乎虛擬機的使用體驗，所以一定要開。沒有KVM的話QEMU就只是個速度很慢的電腦模擬器罷了。 ","title":"Linux系統QEMU/KVM指令教學，安裝UEFI開機的虛擬機","type":"posts"},{"content":"","date":"2024年8月31日","externalUrl":null,"permalink":"/ja-jp/tags/chroot/","section":"Tags","summary":"","title":"Chroot","type":"tags"},{"content":"","date":"2024年8月31日","externalUrl":null,"permalink":"/ja-jp/tags/openrc/","section":"Tags","summary":"","title":"OpenRC","type":"tags"},{"content":" Systemdはinitプログラムの一種です。ほぼすべてのLinuxディストリビューションがSystemdを使ってシステムサービスを管理しており、よく使うコマンドにはsystemctlやjournalctlなどがあります。\nしかしTermuxではSystemdを使えません。Termuxのproot-distroやchrootコンテナ環境でsystemctl start関連のコマンドを実行すると、次のエラーが出ます：System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down\nこれはコンテナ環境がSystemdをサポートしていないためです。\n実のところ、これには根本的な解決策はありません。Termux開発チームがMicrosoft WSLのようにSystemdを動かす方法を用意しない限り無理です。ただし、この問題を回避する代替案はいくつかあります。\n方法1：実行ファイルのパスから直接プログラムを起動する # まず知っておくべきなのは、Systemdはシステムサービスを管理するinitプログラムにすぎないということです。Linuxの起動後にプログラムを起動し、ユーザーがプログラムを開始/停止できるようにする役割を担っています。ただし、単に特定のプログラムを起動するだけなら、実はsystemctlに依存する必要はありません。\nたとえばproot DebianでSSHサービスを起動する場合、Systemd流では以下のコマンドを実行します。 sudo systemctl start sshd Systemdのサービスファイル/etc/systemd/system/sshd.service（大半のSystemdサービスファイルはここにあります）を探すと、ExecStart=の後ろにあるものが実際に実行されるコマンドだと分かります。 [Service] EnvironmentFile=-/etc/default/ssh ExecStartPre=/usr/sbin/sshd -t ExecStart=/usr/sbin/sshd -D したがって、SSHサービスはこのコマンドで直接起動し、バックグラウンドで実行できます。 mkdir -p /run/sshd /usr/sbin/sshd -D 注：Termux proot-distro内のプログラムは1000未満のポートを使用できません。proot-distroにログインするときに--fix-low-portsパラメータを追加し、SSHの22番ポートを2022へリダイレクトしてください。\nproot-distroへログインした後に特定のプログラムを自動起動したい場合、もっとも簡単な方法は、実行したいコマンドをユーザーのホームディレクトリにある~/.bashrcへ追加することです。\n方法2：OpenRCを使うディストリビューションに切り替える # OpenRCとrunitは比較的伝統的なinitプログラムで、Systemdほど複雑ではありません。proot上で実行してサービスを管理できます。OpenRCコマンドに慣れていないユーザーは、下記のSystemdとOpenRCコマンドの対応表を参照してください。\n現在proot-distroでOpenRCを使うディストリビューションはAlpine Linuxです。runitを使うものにはArtix LinuxとVoid Linuxがあります。\nAlpine Linuxをインストールします。 proot-distro install alpine proot-distro login alpine OpenRCパッケージをインストールします。 apk add openrc 以後prootへログインするときにこのコマンドをつなげると、OpenRCプログラムが起動します。 proot-distro login alpine --fix-low-ports -- /bin/ash -c \u0026#34;/sbin/openrc default; /bin/ash -l\u0026#34; 以後はOpenRCでサービスを管理できます。たとえばSSHはrc-serviceコマンドで管理でき、実行ファイルのパスを打つ必要はありません。 sudo rc-service sshd start SSHサービスをproot-distroへのログイン後に自動起動するよう設定することもできます。 sudo rc-update add sshd 方法3：完全なLinuxシステムの仮想マシンを動かす # 最終的な解決策は、完全なLinuxシステムをエミュレートしてSystemdを実行できるようにすることです。\nTermuxにQEMUをインストールしてUbuntu仮想マシンを動かすを参照してください。\nただしこの方法の欠点は、とにかく遅いことです。KVMアクセラレーションがない場合、QEMUの実行効率は非常に悪くなります。\n参考資料 # It is possible to use OpenRC init system under PRoot. - r/termux Reddit OpenRC to systemd Cheatsheet - Gentoo Wiki ","date":"2024年8月31日","externalUrl":null,"permalink":"/ja-jp/posts/termux-systemd-issues/","section":"Termux-Tutorials","summary":" Systemdはinitプログラムの一種です。ほぼすべてのLinuxディストリビューションがSystemdを使ってシステムサービスを管理しており、よく使うコマンドにはsystemctlやjournalctlなどがあります。\nしかしTermuxではSystemdを使えません。Termuxのproot-distroやchrootコンテナ環境でsystemctl start関連のコマンドを実行すると、次のエラーが出ます：System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down\nこれはコンテナ環境がSystemdをサポートしていないためです。\n実のところ、これには根本的な解決策はありません。Termux開発チームがMicrosoft WSLのようにSystemdを動かす方法を用意しない限り無理です。ただし、この問題を回避する代替案はいくつかあります。\n方法1：実行ファイルのパスから直接プログラムを起動する # まず知っておくべきなのは、Systemdはシステムサービスを管理するinitプログラムにすぎないということです。Linuxの起動後にプログラムを起動し、ユーザーがプログラムを開始/停止できるようにする役割を担っています。ただし、単に特定のプログラムを起動するだけなら、実はsystemctlに依存する必要はありません。\n","title":"Termux prootでsystemctlコマンドが使えない場合の解決策","type":"termux-tutorials"},{"content":"需要隨時隨地存取Linux桌面環境嗎？\nKasm Workspaces為Kasm Technologies Inc推出的桌面即服務(DaaS)解決方案，建立多個虛擬Linux桌面，隨時隨地用網頁瀏覽器存取。 1. Kasm特色功能 # 提供多種Linux發行版與桌面環境搭配的映像檔，快速建立虛擬桌面，內建常用的文書軟體與會議軟體，登入後立即開始工作。 Kasm只要有瀏覽器就能存取。遠端桌面使用KasmVNC串流畫面，操作類似Apache Guacamole但功能更強，支援播放音訊、存取攝影機、錄音、共享剪貼簿、上傳檔案、虛擬多螢幕。 支援共享桌面，設定僅供檢視模式，將網址分享給別人觀看你的畫面，並使用文字聊天。 針對平板、手機最佳化，能使用客戶端作業系統的輸入法打字。例如從Android瀏覽器連線的時候可以使用Gboard打中文。 專為多人存取設計，每個帳號都有自己的工作區，透過Docker分配CPU與硬碟資源。 Kasm並非遠端連線到Linux桌面，而是使用Docker容器跑Linux桌面，啟動速度非常快。 容器裡面跑的是獨立的系統，跟宿主機並不相關。結合Docker的特性，可以將容器設定成用完即丟，任何操作都不會影響到宿主機系統。 Kasm支援GPU加速，可以讓容器使用GPU渲染3D圖像。 那Kasm跟Distrobox、x11Docker又有什麼差呢？我難道不能自己開個Linux容器裝桌面環境和noVNC，達成Kasm的效果嗎？當然可以。\n我想，Kasm的最大優點就是開箱即用，並提供一個靈活管理多個使用者的界面了吧。Kasm還有一個註冊表界面，方便你下載需要的應用程式，就像App Store一樣。 2. Kasm系統需求 # 根據Kasm官方文件，建議宿主機規格：\nCPU 2核心以上 RAM 4GB以上 儲存空間 SSD 50GB以上 支援的作業系統：Linux、Windows Kasm本質是在Linux跑Docker，再於容器裡面跑Linux桌面。這是最簡單的方案，開箱即用。但是你不能將Windows系統塞到Linux的Docker裡面跑（除非把KVM虛擬機包成Docker映像檔），因此Kasm若要搭配Windows使用，你得另外準備Windows虛擬機，再將Kasm與之連線。\n3. 安裝Kasm # Kasm提供付費版與社群版，後者為免費的軟體，部分開源，不可用於商業用途。\n請先安裝Docker和docker-compose再安裝Kasm。\nKasm官方文件推薦使用他們的指令稿來安裝服務，支援x86與ARM架構的伺服器。\n雖然LinuxServer.io有打包kasm的Docker映像檔，但如果用LinuxServer.io的方式部署Kasm的話，會變成在Docker裡面跑Docker，架構怪怪的。\n4. 管理Kasm服務 # 安裝指令稿結束後會自動生成一組密碼\n開啟瀏覽器，開啟網址https://Linux伺服器IP:443，使用管理員帳號admin@kasm.local登入後台。 Kasm界面的語言設定會影響容器裡面的語言\u0026hellip;雖然如此，但Kasm中文界面翻譯很爛，所以我用英文版。\nKasm的系統服務和全部容器可用以下指令開關，目前看來沒有整合到Systemd。\ncd /opt/kasm/bin sudo ./stop sudo ./start 5. Kasm工作區功能簡介 # 點選「Workspaces」界面（一般使用者登入帳號只會看到工作區界面），這裡可以新增多個工作階段。 比如點選Ubuntu圖示啟動桌面，內建的桌面是為Ubuntu 20.04 XFCE桌面，可看到裡面已經內建許多常用軟體。 點選旁邊的選單，開啟KasmVNC的功能。例如啟用IME Input Mode，就能用客戶端的輸入法打中文。設定允許存取Webcam將客戶端的鏡頭傳給遠端容器使用，方便進行視訊會議。 如果在工作區點選應用程式，啟動之後僅會開啟單一應用程式視窗，而非啟動整個桌面環境。\n例如我這裡開了GIMP，要載入素材就是利用Kasm的上傳功能，從本機上傳檔案到遠端的Uploads目錄，就能夠編輯了。 關於Stop session與Delete session的差別：Stop會停止該工作階段，將資源釋放出來給其他容器用；Delete則是完全刪除容器和使用者資源。\n注意，預設情況下，每個Kasm工作階段一個小時後就會過期，接著資料會全部刪除。請看下文了解如何啟用永久儲存使用者資料。\n6. 如何永久儲存使用者資料 # 預設情況下，每個Kasm工作階段一個小時後就會過期，接著資料會全部刪除。\n這個可以在後台管理 → Access Management → Groups → Users → Settings，把過期秒數keepalive_expiration調高 或者，掛載Persistent Profile，這樣每個工作階段的資料就會保存下來，資料儲存在/mnt/kasm_profiles。之後啟動工作階段就有「Persistent Profile」選項可用。 另外還可以設定Volume Mapping掛載宿主機的目錄給Kasm工作區存取，讓所有使用者共享資料儲存區。\n7. 安裝新的工作區和應用程式 # 用管理員帳號登入後台，到Workspace Registry頁面，下載其他Linux發行版的桌面，或者單一應用程式。 每個Linux發行版都是一個Docker映像檔，應用程式也都是Docker映像檔，並非透過APT安裝。\n老實說Kasm打包的應用程式映像檔都很肥 == 光是一個瀏覽器映像檔就高達3GB。如果覺得太臃腫，不如開一個Linux桌面的工作階段，再於裡面用APT安裝套件為好。請記得給Kasm工作區設定root權限。\n","date":"2024年8月27日","externalUrl":null,"permalink":"/posts/kasm-workspaces/","section":"所有文章","summary":"需要隨時隨地存取Linux桌面環境嗎？\nKasm Workspaces為Kasm Technologies Inc推出的桌面即服務(DaaS)解決方案，建立多個虛擬Linux桌面，隨時隨地用網頁瀏覽器存取。 1. Kasm特色功能 # 提供多種Linux發行版與桌面環境搭配的映像檔，快速建立虛擬桌面，內建常用的文書軟體與會議軟體，登入後立即開始工作。 Kasm只要有瀏覽器就能存取。遠端桌面使用KasmVNC串流畫面，操作類似Apache Guacamole但功能更強，支援播放音訊、存取攝影機、錄音、共享剪貼簿、上傳檔案、虛擬多螢幕。 支援共享桌面，設定僅供檢視模式，將網址分享給別人觀看你的畫面，並使用文字聊天。 針對平板、手機最佳化，能使用客戶端作業系統的輸入法打字。例如從Android瀏覽器連線的時候可以使用Gboard打中文。 專為多人存取設計，每個帳號都有自己的工作區，透過Docker分配CPU與硬碟資源。 Kasm並非遠端連線到Linux桌面，而是使用Docker容器跑Linux桌面，啟動速度非常快。 容器裡面跑的是獨立的系統，跟宿主機並不相關。結合Docker的特性，可以將容器設定成用完即丟，任何操作都不會影響到宿主機系統。 Kasm支援GPU加速，可以讓容器使用GPU渲染3D圖像。 那Kasm跟Distrobox、x11Docker又有什麼差呢？我難道不能自己開個Linux容器裝桌面環境和noVNC，達成Kasm的效果嗎？當然可以。\n","title":"有瀏覽器就能用！Kasm Workspaces，Docker架設Linux遠端桌面","type":"posts"},{"content":"","date":"2024-08-25","externalUrl":null,"permalink":"/en-us/categories/mobile-apps/","section":"Categories","summary":"","title":"Mobile Apps","type":"categories"},{"content":"中文版本\nScrcpy is a software that mirror the screen of an Android phone to your PC, and you can control the phone from your PC. Currently, Scrcpy is only available on Linux/Windows/macOS. Can we run Scrcpy client directly on an Android phone to control another Android phone?\nYes, but I\u0026rsquo;m not happy with the current solutions, there is no working open source app for Scrcpy for Android (the ones I found on Github are all abandoned), but there are third-party apps that integrate Scrcpy, for example: Duplila, 甲壳虫ADB助手, 魇·无界投屏\nUpdate: Finally we got real open-source Scrcpy for Android! Check out this: https://github.com/zwc456baby/ScrcpyForAndroid\nAlthough they are free to use, they are all proprietary software, and Duplila\u0026rsquo;s advanced features charge a monthly fee for $2? 甲壳虫ADB助手 only costs $1.\nSo I decided to use my open source solution: Using Termux X11 to run Scrcpy. There are ADB and Scrcpy packages in Termux\u0026rsquo;s official repository, so there\u0026rsquo;s no need to install a proot-distro to run Scrcpy. Running Scrcpy in Termux X11 on an Android phone to remotely control another Android phone.\nSetup XFCE4 Desktop for Termux and install Termux X11.\nInstall the following packages\npkg install scrcpy android-tools Pair with another Android phone via wireless ADB # Enable wireless debugging in Developer Settings adb pair \u0026lt;IP\u0026gt; adb connect \u0026lt;IP\u0026gt; Launch XFCE4 in Termux.\nStart Scrcpy from Termux terminal:\nGALLIUM_DRIVER=virpipe scrcpy -m 1080 -b 5M --audio-codec=aac --fullscreen The Scrcpy window will now appear in Termux X11! For better touch control, go to Termux X11 settings and enable Direct Touch mode. ","date":"2024-08-25","externalUrl":null,"permalink":"/en-us/posts/termux-scrcpy/","section":"Termux-Tutorials","summary":"中文版本\nScrcpy is a software that mirror the screen of an Android phone to your PC, and you can control the phone from your PC. Currently, Scrcpy is only available on Linux/Windows/macOS. Can we run Scrcpy client directly on an Android phone to control another Android phone?\nYes, but I’m not happy with the current solutions, there is no working open source app for Scrcpy for Android (the ones I found on Github are all abandoned), but there are third-party apps that integrate Scrcpy, for example: Duplila, 甲壳虫ADB助手, 魇·无界投屏\nUpdate: Finally we got real open-source Scrcpy for Android! Check out this: https://github.com/zwc456baby/ScrcpyForAndroid\nAlthough they are free to use, they are all proprietary software, and Duplila’s advanced features charge a monthly fee for $2? 甲壳虫ADB助手 only costs $1.\nSo I decided to use my open source solution: Using Termux X11 to run Scrcpy. There are ADB and Scrcpy packages in Termux’s official repository, so there’s no need to install a proot-distro to run Scrcpy. Running Scrcpy in Termux X11 on an Android phone to remotely control another Android phone.\nSetup XFCE4 Desktop for Termux and install Termux X11.\nInstall the following packages\npkg install scrcpy android-tools Pair with another Android phone via wireless ADB # Enable wireless debugging in Developer Settings adb pair \u003cIP\u003e adb connect \u003cIP\u003e Launch XFCE4 in Termux.\nStart Scrcpy from Termux terminal:\nGALLIUM_DRIVER=virpipe scrcpy -m 1080 -b 5M --audio-codec=aac --fullscreen The Scrcpy window will now appear in Termux X11! For better touch control, go to Termux X11 settings and enable Direct Touch mode. ","title":"Running Scrcpy client on an Android phone with Termux to remotely control another Android phone","type":"termux-tutorials"},{"content":"English version\nRunning Scrcpy client on Android phones with Termux \u0026amp; Termux X11.\nScrcpy為一款將Android手機螢幕投影到電腦的軟體，能夠從電腦操控手機。目前Scrcpy只有Linux/Windows/macOS客戶端，那我們能不能在Android手機直接跑Scrcpy，控制另一支Android手機？\n有，但我對目前的方案很是不滿，Android版Scrcpy客戶端沒有能用的開源程式（Github上找到的專案都放棄維護了），倒是有第三方APP把Scrcpy整合進去，例如：Duplila、甲壳虫ADB助手、魇·无界投屏\n2025年，我們終於有真正開源的Scrcpy for Android了：https://github.com/zwc456baby/ScrcpyForAndroid\n雖然免費，但都是專有軟體，Duplila進階功能竟然要收60台幣的月費喔？甲壳虫ADB助手開價才8塊人民幣而已。\n所以決定用開源方案：Termux X11跑Scrcpy。剛好Termux套件庫有收ADB和Scrcpy套件，故沒有必要安裝proot就能用。 Scrcpy執行於Android手機的Termux APP，遠端控制另一台Android手機\n給Termux設定一個桌面環境\n安裝Scrcpy套件\npkg install scrcpy android-tools Termux的ADB同樣能夠進行無線ADB配對，這樣與另一支手機就能用ADB連線 # 在另一支手機開啟ADB無線偵錯 adb pair \u0026lt;IP\u0026gt; adb connect \u0026lt;IP\u0026gt; 啟動Termux的桌面環境\n在Termux或者桌面環境開啟終端機，以virgl啟動Scrcpy：\nGALLIUM_DRIVER=virpipe scrcpy -m 1080 -b 5M --audio-codec=aac --fullscreen Termux X11的視窗就會出現Scrcpy視窗了！若要方便觸控操作，到Termux X11的設定，把Pointer調整為Direct Touch模式即可。 ","date":"2024年8月25日","externalUrl":null,"permalink":"/posts/termux-scrcpy/","section":"所有文章","summary":"English version\nRunning Scrcpy client on Android phones with Termux \u0026 Termux X11.\nScrcpy為一款將Android手機螢幕投影到電腦的軟體，能夠從電腦操控手機。目前Scrcpy只有Linux/Windows/macOS客戶端，那我們能不能在Android手機直接跑Scrcpy，控制另一支Android手機？\n有，但我對目前的方案很是不滿，Android版Scrcpy客戶端沒有能用的開源程式（Github上找到的專案都放棄維護了），倒是有第三方APP把Scrcpy整合進去，例如：Duplila、甲壳虫ADB助手、魇·无界投屏\n2025年，我們終於有真正開源的Scrcpy for Android了：https://github.com/zwc456baby/ScrcpyForAndroid\n雖然免費，但都是專有軟體，Duplila進階功能竟然要收60台幣的月費喔？甲壳虫ADB助手開價才8塊人民幣而已。\n所以決定用開源方案：Termux X11跑Scrcpy。剛好Termux套件庫有收ADB和Scrcpy套件，故沒有必要安裝proot就能用。 Scrcpy執行於Android手機的Termux APP，遠端控制另一台Android手機\n給Termux設定一個桌面環境\n安裝Scrcpy套件\npkg install scrcpy android-tools Termux的ADB同樣能夠進行無線ADB配對，這樣與另一支手機就能用ADB連線 # 在另一支手機開啟ADB無線偵錯 adb pair \u003cIP\u003e adb connect \u003cIP\u003e 啟動Termux的桌面環境\n在Termux或者桌面環境開啟終端機，以virgl啟動Scrcpy：\nGALLIUM_DRIVER=virpipe scrcpy -m 1080 -b 5M --audio-codec=aac --fullscreen Termux X11的視窗就會出現Scrcpy視窗了！若要方便觸控操作，到Termux X11的設定，把Pointer調整為Direct Touch模式即可。 ","title":"Termux跑Android版Scrcpy客戶端，手機遠端控制另一部手機","type":"posts"},{"content":"","date":"2024年8月25日","externalUrl":null,"permalink":"/tags/cloud-gaming/","section":"標籤","summary":"","title":"Cloud Gaming","type":"tags"},{"content":"ReDroid為一款開源雲手機解決方案，讓你將Android系統部署在x86與ARM架構的Linux電腦，遠端控制Android玩遊戲。 使用Scrcpy遠端連線到ReDroid容器畫面，執行遊戲\nReDroid得透過Docker部署，啟動速度十分之快，待機狀態下不太吃資源，效能可跟基於LXC的Waydroid相比，還支援多開。\n為何要用ReDroid呢？因為它本來就是設計給遠端存取用的，較適合headless伺服器環境，不像樹莓派跑Waydroid需要顯示器才能輸出。\n之前寫過x86電腦部署ReDroid的教學，這裡要用ARM架構的樹莓派。相較於x86架構電腦，ARM架構的優勢是不需要libhoudini轉譯器就能執行大多數手機的APP。並且從樹莓派5跑LineageOS系統的跑分來看，樹莓派5的處理器效能已接近一台中低階Android手機，玩一些不吃效能的手遊完全是夠的。\n影片演示：\n另一種用法：樹莓派除了當作隨身攜帶的小電腦之外，也可以用來當隨身Android機用喔！對iPhone用戶來說彷彿就有了一台Linux伺服器 + Android的 APP測試用小雞，或可達成在iOS使用Play商店APP的操作。\n1. 環境 # Raspberry Pi 5 8GB Raspberry Pi OS (Debian 12 Bookworm) 核心版本：Linux raspberrypi5 6.6.42-v8+ 無接上顯示器 考慮到Raspberry Pi常常是headless運作的，所以得準備另一台電腦或手機，利用Scrcpy無線控制的方式遠端存取Android桌面。\n不過在開始下一步之前，建議執行以下指令確認GPU加速是否正常，驅動應會顯示V3DV Mesa。\nvulkaninfo --summary 2. 前置作業 # 根據ReDroid文件的部署需求，Linux必須啟用binder核心模組，並且要啟用4K Pages、PSI。\n從zcat /proc/config.gz指令的輸出來看，Raspberry Pi 5的核心已經啟用BINDER設定了，所以不用安裝binder核心模組 sudo modprobe configs zcat /proc/config.gz | grep BINDER # 輸出 CONFIG_ANDROID_BINDER_IPC=y CONFIG_ANDROID_BINDERFS=y CONFIG_ANDROID_BINDER_DEVICES=\u0026#34;binder,hwbinder,vndbinder\u0026#34; Raspberry Pi 5預設是使用16K Pages，透過調整開機設定檔啟用4K Pages echo \u0026#39;# 4k pages kernel=kernel8.img \u0026#39;| sudo tee -a /boot/firmware/config.txt 啟用PSI sudo sed --follow-symlinks -i \u0026#39;s/quiet/psi=1 quiet/g\u0026#39; /boot/firmware/cmdline.txt 重開機，確認4K Pages與PSI狀態 getconf PAGESIZE ls /proc/pressure 如果有裝Waydroid，不要讓它開機自動啟動 sudo systemctl stop waydroid-container sudo systemctl disable waydroid-container 3. 給ReDroid映像檔安裝GApps # ReDroid作者上傳的映像檔全部都是原生系統，GApps要自己裝。\n你可以到Docker Hub找別人事先建置好的ReDroid映像檔，有的內建GApps，就不用自己build了。當然，風險自負。\n關於安裝GApps的指令稿，我原本是用這個安裝ayasa520/redroid-script，但作者似乎只有考慮到x86_64的狀況，所以改用這個比較新的指令稿abing7k/redroid-script。但是這個指令稿還有小問題，它抓的是Android 10的GAPPS，而我比較慣用Android 11，所以要稍微修改一下：\ngit clone https://github.com/abing7k/redroid-script.git cd redroid-script vim stuffs/gapps.py # 填入GApps的下載網址和MD5 dl_links = { \u0026#34;arm64-v8a\u0026#34;: [\u0026#34;https://nchc.dl.sourceforge.net/project/opengapps/arm64/20220215/open_gapps-arm64-11.0-pico-20220215.zip\u0026#34;, \u0026#34;7790055d34bbfc6fe610b0cd263a7add\u0026#34;] } 執行以下指令安裝GApps，會得到redroid/redroid:11.0.0_gapps映像檔：\nsudo apt install lzip python3 python3-venv python3-pip python3 -m venv venv venv/bin/pip install -r requirements.txt venv/bin/python3 redroid.py -a 11.0.0 -g 4. 部署ReDroid容器 # 安裝Docker\n新增存放資料的目錄\nmkdir ~/redroid cd redroid 新增docker-compose.yml vim docker-compose.yml 內容如下： services: redroid: image: redroid/redroid:11.0.0_gapps # 使用剛剛建立的內含GApps的ReDroid映像檔 stdin_open: true tty: true privileged: true ports: - \u0026#34;5555:5555\u0026#34; # ADB通訊埠 volumes: - ./redroid-11-data:/data # 資料目錄 command: - androidboot.redroid_width=1080 # 解析度 - androidboot.redroid_height=2160 - androidboot.redroid_dpi=439 - androidboot.redroid_fps=60 - androidboot.redroid_gpu_mode=host # 啟用GPU硬體加速 啟動容器 sudo docker compose up -d 取得樹莓派的區域IP ip addr 有使用UFW防火牆的話，開放5555通訊埠允許連入 sudo ufw allow 5555 sudo ufw reload 5. 使用Scrcpy存取ReDroid桌面 # 這裡我使用電腦版的Scrcpy，若要方便其他裝置存取，可於樹莓派部署網頁版的ws scrcpy，透過瀏覽器連線。\n安裝Scrcpy與ADB工具\n讓電腦與樹莓派位於同一個區網，將ADB與樹莓派連線\nabd connect 樹莓派IP:5555 啟動Scrcpy，遠端連線可能會lag，所以限制畫質 scrcpy -m 1080 -b 5M --audio-codec=aac 這樣就能看到Android桌面了。 如果GPU加速有正常運作，那麼「AIDA64」APP應當能抓到樹莓派的GPU型號。 Google Play服務可能會跳出「裝置未驗證」的錯誤訊息。執行以下指令取得Android裝置ID，到Google網站註冊裝置，等個30分鐘後重新啟動Redroid容器，才能登入Google Play。\nadb -s 樹莓派IP:5555 root adb -s 樹莓派IP:5555 shell \u0026#39;sqlite3 /data/data/com.google.android.gsf/databases/gservices.db \\ \u0026#34;select * from main where name = \\\u0026#34;android_id\\\u0026#34;;\u0026#34;\u0026#39; 現在Scrcpy只能透過區網連線，接下來只要再於樹莓派部署內網穿透服務，就能從外面的網路隨時連線到樹莓派上的雲手機了！ ","date":"2024年8月25日","externalUrl":null,"permalink":"/posts/redroid-on-raspberry-pi/","section":"所有文章","summary":"ReDroid為一款開源雲手機解決方案，讓你將Android系統部署在x86與ARM架構的Linux電腦，遠端控制Android玩遊戲。 使用Scrcpy遠端連線到ReDroid容器畫面，執行遊戲\nReDroid得透過Docker部署，啟動速度十分之快，待機狀態下不太吃資源，效能可跟基於LXC的Waydroid相比，還支援多開。\n為何要用ReDroid呢？因為它本來就是設計給遠端存取用的，較適合headless伺服器環境，不像樹莓派跑Waydroid需要顯示器才能輸出。\n之前寫過x86電腦部署ReDroid的教學，這裡要用ARM架構的樹莓派。相較於x86架構電腦，ARM架構的優勢是不需要libhoudini轉譯器就能執行大多數手機的APP。並且從樹莓派5跑LineageOS系統的跑分來看，樹莓派5的處理器效能已接近一台中低階Android手機，玩一些不吃效能的手遊完全是夠的。\n影片演示：\n另一種用法：樹莓派除了當作隨身攜帶的小電腦之外，也可以用來當隨身Android機用喔！對iPhone用戶來說彷彿就有了一台Linux伺服器 + Android的 APP測試用小雞，或可達成在iOS使用Play商店APP的操作。\n1. 環境 # Raspberry Pi 5 8GB Raspberry Pi OS (Debian 12 Bookworm) 核心版本：Linux raspberrypi5 6.6.42-v8+ 無接上顯示器 考慮到Raspberry Pi常常是headless運作的，所以得準備另一台電腦或手機，利用Scrcpy無線控制的方式遠端存取Android桌面。\n不過在開始下一步之前，建議執行以下指令確認GPU加速是否正常，驅動應會顯示V3DV Mesa。\nvulkaninfo --summary 2. 前置作業 # 根據ReDroid文件的部署需求，Linux必須啟用binder核心模組，並且要啟用4K Pages、PSI。\n","title":"於樹莓派5部署Android雲手機「ReDroid」，透過Scrcpy遠端控制","type":"posts"},{"content":" 注意：Termuxのファイルシステムは一般的なLinuxと違いがあり、パッケージ数も少ないため、私はLinux prootコンテナを入れてからデスクトップ環境を動かすことが多いです。速度は遅くなりますが、使い勝手はよくなります。\nTermuxは標準ではテキストだけの画面です。ユーザーが自分でデスクトップ環境（desktop environment）をインストールし、VNCまたはTermux X11で接続すれば、デスクトップPCに近い使用感を得られます。\n現在、Termuxのパッケージリポジトリにあるデスクトップ環境は、XFCE、LXQT、MATE、OpenBox、i3wm、Westonなどです。\nまたTermuxはAndroid GELSで音声を出力できるので、PulseAudioサーバーを動かせば、デスクトップ環境から音声を出せます。\nこの記事では、XFCEデスクトップのインストールとPulseAudioサーバーの設定方法を紹介します。 TermuxでXFCEデスクトップ環境とデスクトップ版Firefoxブラウザを実行\n1. 事前準備 # デスクトップ環境を動かすなら、スマートフォンのRAMは少なくとも6GB以上を推奨します。\n先にTermuxをインストールし、Termuxがバックグラウンドでシステムに終了されないよう、Phantom Process Killingを無効化しておいてください。\n2. XFCEデスクトップ環境をインストール # Termuxで利用できるデスクトップ環境は多くありません。軽量で機能も少なすぎないXFCEを選ぶのが無難です。\nXFCE4、Firefoxブラウザ、VIMエディタをインストールします。\npkg install x11-repo pkg install xfce xfce4-goodies pulseaudio pavucontrol vim firefox 3. グラフィカル画面へ接続 # 次のどちらかを選びます。両方を共存させることもできます。VNCより性能がよいのでTermux X11を推奨しますが、リモート接続にはあまり向きません。\nTermux X11 # Termux X11とvirglrendererを設定します。\n後でデスクトップ環境を起動しやすいように、スクリプトを追加します。\nvim ~/startxfce4.sh 次の内容を入力します。 #!/bin/bash # GPUアクセラレーションを起動 virgl_test_server_android \u0026amp; # 音声サーバーを起動 pulseaudio --start --exit-idle-time=-1 pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 # デスクトップ環境を起動 termux-x11 :0 -xstartup \u0026#34;dbus-launch --exit-with-session xfce4-session\u0026#34; \u0026amp; 実行権限を付与します。 chmod +x ~/startxfce4.sh Termuxを終了します。 exit Termux X11アプリを起動します。\nTermuxに戻ってデスクトップ環境を起動すると、Termux X11アプリの画面にXFCE4デスクトップが表示されます。\n./startxfce4.sh VNCサーバー # スマートフォンにAVNCクライアントをインストールします。\nTigerVNCのパッケージをインストールします。執筆時点のバージョンは1.13.0です。\npkg install tigervnc VNCサーバーのパスワードを設定します。 vncpasswd VNCサーバー起動後に実行するプログラムを追加します。~/.vnc/xstartupを編集します。 mkdir ~/.vnc/ vim ~/.vnc/xstartup 次の内容を入力します。 #!/bin/bash unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADRESS # PulseAudio音声サーバーを起動。音声はTermuxから出力される pulseaudio --start --exit-idle-time=-1 pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 # デスクトップ環境を実行。ここではXFCE exec startxfce4 xstartupに実行権限を付与します。 chmod +x ~/.vnc/xstartup VNCサーバーの設定ファイルを定義します。~/.vnc/tigervnc.confを編集します。 vim ~/.vnc/tigervnc.conf 次の内容を入力します。 # 現在のセッションはXFCE $session=\u0026#34;xfce-session\u0026#34;; # 解像度。高いほど帯域幅を多く使う $geometry=\u0026#34;1920x1080\u0026#34;; # ビット深度。値は8/16/24/32で、数字が大きいほど画質はよいが帯域幅を消費する $depth=\u0026#34;32\u0026#34;; # 外部ネットワークから接続できるようにする $localhost=\u0026#34;no\u0026#34;; Termuxでtigervncserverまたはvncserverコマンドを入力し、VNCサーバーを起動します。画面に出力されるポート番号を確認します。通常は1から始まります。VNCサーバーのポートは5900から数えるため、この場合のポートは5901です。\nAVNCアプリを開き、ホスト接続を追加します。アドレスにlocalhost、ポートに5901を入力します。\n4. デスクトップ環境をワンタップで起動するスクリプト # デスクトップ環境を起動するたびにコマンドを打つのは面倒です。Termux Widgetのホーム画面ショートカットを使い、Termux + Termux X11 + virglserverの起動処理をワンタップで実行し、デスクトップ環境を自動起動します。\nTermux Widgetをインストールします。\nシステム設定を開き、Termuxに「他のアプリの上に重ねて表示を許可」権限を与えます。\nTermuxを開き直し、次のコマンドでショートカットを作成します。\nmkdir .shortcuts vim .shortcuts/start_xfce.sh 次の内容を入力します。 #!/bin/bash # 古いプロセスをすべて終了 killall -9 termux-x11 pulseaudio virgl_test_server_android termux-wake-lock # Termux X11を起動 am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity XDG_RUNTIME_DIR=${TMPDIR} termux-x11 :0 -ac \u0026amp; sleep 3 # PulseAudioを起動 pulseaudio --start --load=\u0026#34;module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1\u0026#34; --exit-idle-time=-1 pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 # GPUアクセラレーション付きのvirglserverを起動 virgl_test_server_android \u0026amp; # XFCE4デスクトップ環境を起動 export DISPLAY=:0 export PULSE_SERVER=tcp:127.0.0.1 dbus-launch --exit-with-session startxfce4 \u0026amp; 実行権限を付与します。 chmod +x .shortcuts/start_xfce.sh スマートフォンのホーム画面に移動し、ウィジェットを追加してTermux Widgetを選択します。先ほど作成したショートカットが一覧に表示されます。\nボタンをタップすると、Termuxが自動で開き、デスクトップにログインします。\n","date":"2024年8月25日","externalUrl":null,"permalink":"/ja-jp/posts/termux-desktop-environment/","section":"Termux-Tutorials","summary":" 注意：Termuxのファイルシステムは一般的なLinuxと違いがあり、パッケージ数も少ないため、私はLinux prootコンテナを入れてからデスクトップ環境を動かすことが多いです。速度は遅くなりますが、使い勝手はよくなります。\nTermuxは標準ではテキストだけの画面です。ユーザーが自分でデスクトップ環境（desktop environment）をインストールし、VNCまたはTermux X11で接続すれば、デスクトップPCに近い使用感を得られます。\n現在、Termuxのパッケージリポジトリにあるデスクトップ環境は、XFCE、LXQT、MATE、OpenBox、i3wm、Westonなどです。\nまたTermuxはAndroid GELSで音声を出力できるので、PulseAudioサーバーを動かせば、デスクトップ環境から音声を出せます。\nこの記事では、XFCEデスクトップのインストールとPulseAudioサーバーの設定方法を紹介します。 TermuxでXFCEデスクトップ環境とデスクトップ版Firefoxブラウザを実行\n1. 事前準備 # デスクトップ環境を動かすなら、スマートフォンのRAMは少なくとも6GB以上を推奨します。\n先にTermuxをインストールし、Termuxがバックグラウンドでシステムに終了されないよう、Phantom Process Killingを無効化しておいてください。\n","title":"Termuxにグラフィカルデスクトップ環境と音声出力をインストールする方法","type":"termux-tutorials"},{"content":"iSH Shell開發者維護者有自己的一套套件庫，一方面是確保穩定性，一方面是在上架App Store的時候能給Apple審核。\n如何檢查iSH Shell套件庫版本：\ncat /etc/apk/repositories 從裡面的網址可以判斷的出來，例如撰文當下版本是v3.14-2023-08-15\n目前，App Store版本的iSH Shell套件庫還停留在2023年的Alpine Linux 3.14，導致很多套件都找不到。\n如果想要新版套件，建議直接到GitHub下載測試版IPA，並用AltStore側載的，就能取得最新版3.19的套件庫。\n或者，你可以修改套件庫網址，指向新版iSH套件庫，然後再更新即可。\n1. 更新到最新版iSH Shell套件庫 # 套件並非越新越好。新版套件庫未經過全面測試，可能不穩定。\n移除iSh Shell的自動套件庫更新機制 rm /ish -rf 編輯iSH Shell套件庫： vim /etc/apk/repositories 替換掉套件庫網址 https://apk.ish.app/v3.19-2024-08-20/main/ https://apk.ish.app/v3.19-2024-08-20/community/ 更新套件 apk upgrade \u0026amp;\u0026amp; apk fix 2. 可否使用Alpine Linux套件庫？ # 不建議，雖然iSH Shell是基於Alpine Linux開發。理論上可以沿用Alpine Linux套件庫，但是因為iSH Shell實作功能不完全，不是所有system call都有支援。若貿然升級到非iSH Shell的套件庫（尤其是版本比iSH Shell還新的，例如iSH Shell還在3.19但你升級到Alpine Linux 3.20）可能導致系統毀損，即使是簡單的vim指令也可能會出現各種Bad system call錯誤。建議停留在iSH Shell開發者維護的套件庫。\n如果硬要的話：\n移除iSh Shell的自動套件庫更新機制 rm /ish -rf 編輯iSH Shell套件庫： sudo vim /etc/apk/repositories 替換掉套件庫網址 https://dl-cdn.alpinelinux.org/alpine/v3.19/main https://dl-cdn.alpinelinux.org/alpine/v3.19/community 更新套件 apk upgrade \u0026amp;\u0026amp; apk fix 參考資料 # Using Alpine Linux repositories - ish-app/ish GitHub Wiki Upgrading to a new release - ish-app/ish GitHub Wiki ","date":"2024年8月24日","externalUrl":null,"permalink":"/posts/ish-shell-apk-repositories/","section":"所有文章","summary":"iSH Shell開發者維護者有自己的一套套件庫，一方面是確保穩定性，一方面是在上架App Store的時候能給Apple審核。\n如何檢查iSH Shell套件庫版本：\ncat /etc/apk/repositories 從裡面的網址可以判斷的出來，例如撰文當下版本是v3.14-2023-08-15\n目前，App Store版本的iSH Shell套件庫還停留在2023年的Alpine Linux 3.14，導致很多套件都找不到。\n如果想要新版套件，建議直接到GitHub下載測試版IPA，並用AltStore側載的，就能取得最新版3.19的套件庫。\n或者，你可以修改套件庫網址，指向新版iSH套件庫，然後再更新即可。\n1. 更新到最新版iSH Shell套件庫 # 套件並非越新越好。新版套件庫未經過全面測試，可能不穩定。\n移除iSh Shell的自動套件庫更新機制 rm /ish -rf 編輯iSH Shell套件庫： vim /etc/apk/repositories 替換掉套件庫網址 https://apk.ish.app/v3.19-2024-08-20/main/ https://apk.ish.app/v3.19-2024-08-20/community/ 更新套件 apk upgrade \u0026\u0026 apk fix 2. 可否使用Alpine Linux套件庫？ # 不建議，雖然iSH Shell是基於Alpine Linux開發。理論上可以沿用Alpine Linux套件庫，但是因為iSH Shell實作功能不完全，不是所有system call都有支援。若貿然升級到非iSH Shell的套件庫（尤其是版本比iSH Shell還新的，例如iSH Shell還在3.19但你升級到Alpine Linux 3.20）可能導致系統毀損，即使是簡單的vim指令也可能會出現各種Bad system call錯誤。建議停留在iSH Shell開發者維護的套件庫。\n","title":"修改iSH Shell套件庫，更新至最新版Alpine Linux","type":"posts"},{"content":"WSL預設的網路模式是NAT，會讓Ubuntu跑在內網，並自動取得一個IP。\n此時你會發現，在WSL內跑一個伺服器服務，只有本機能連線，無法從Windows以外的網路存取WSL服務。\n例如跑Apache伺服器，僅能在Windows電腦的瀏覽器打http://localhost:80連線，無法從外部網路存取，一律是Connection refused！ 這時候該怎麼辦呢？\n以前的作法是調整WSL的網路卡，變成橋接模式(Bridged Mode Networking)，不過這得手動調整Hyper-V網路卡，設定很不方便。\n最新版本的WSL提供了一種鏡像網路模式(Mirrored Mode Networking)，可以替代橋接網路部份功能。\n1. 環境 # Windows 11 23H2 WSL 2.2.4 Ubuntu 22.04，未啟用UFW防火牆 2. 調整WSL2網路為鏡像模式 # 安裝WSL\n在C:\\Users\\使用者名稱\\資料夾，新增設定檔.wslconfig\n填入以下內容，啟用鏡像網路模式\n[wsl2] networkingMode=mirrored 以系統管理員開啟Windows終端機，執行以下指令，允許Windows本機用WSL的IP連線到WSL服務： [experimental] hostAddressLoopback=true WSL會吃到Windows Hyper-V防火牆的規則。以系統管理員執行以下指令，開放Hyper-V防火牆，允許所有連入連線 Set-NetFirewallHyperVVMSetting -Name \u0026#39;{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}\u0026#39; -DefaultInboundAction Allow 或者，新增Hyper-V防火牆規則，只開放特定通訊埠，這邊是Apache預設的80/tcp\nNew-NetFirewallHyperVRule -Name \u0026#34;MyWebServer\u0026#34; -DisplayName \u0026#34;My Web Server\u0026#34; -Direction Inbound -VMCreatorId \u0026#39;{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}\u0026#39; -Protocol TCP -LocalPorts 80. 重啟WSL wsl --shutdown wsl WSL就會得到一個可從外部存取的區域IP。目前僅支援IPV4，不支援IPV6。 ip addr # 請查看eth0網卡的IP，應該是192.168開頭的 執行Apache伺服器服務 sudo apt install apache2 sudo systemctl start apache2 如此一來就能用上面得到的IP存取Apache伺服器了。這裡的例子是使用同一網段下的另一台電腦存取Apache伺服器。 3. 修正Docker網路問題 # 使用網路鏡像模式下，Docker可能會出現read: connection reset by peer.無法連線的錯誤。\n必須停用Docker調整iptables的功能：\necho \u0026#39;{ \u0026#34;iptables\u0026#34;: false }\u0026#39; | sudo tee -a /etc/docker/daemon.json sudo systemctl restart docker 參考資料 # Accessing network applications with WSL - Windows Subsystem for Linux Documentation - Learn Microsoft WSL 2.0: networkingMode=mirrored makes Docker unable to forward ports #10494 ","date":"2024年8月24日","externalUrl":null,"permalink":"/posts/wsl-network-mirrored-mode/","section":"所有文章","summary":"WSL預設的網路模式是NAT，會讓Ubuntu跑在內網，並自動取得一個IP。\n此時你會發現，在WSL內跑一個伺服器服務，只有本機能連線，無法從Windows以外的網路存取WSL服務。\n例如跑Apache伺服器，僅能在Windows電腦的瀏覽器打http://localhost:80連線，無法從外部網路存取，一律是Connection refused！ 這時候該怎麼辦呢？\n以前的作法是調整WSL的網路卡，變成橋接模式(Bridged Mode Networking)，不過這得手動調整Hyper-V網路卡，設定很不方便。\n最新版本的WSL提供了一種鏡像網路模式(Mirrored Mode Networking)，可以替代橋接網路部份功能。\n1. 環境 # Windows 11 23H2 WSL 2.2.4 Ubuntu 22.04，未啟用UFW防火牆 2. 調整WSL2網路為鏡像模式 # 安裝WSL\n在C:\\Users\\使用者名稱\\資料夾，新增設定檔.wslconfig\n填入以下內容，啟用鏡像網路模式\n[wsl2] networkingMode=mirrored 以系統管理員開啟Windows終端機，執行以下指令，允許Windows本機用WSL的IP連線到WSL服務： [experimental] hostAddressLoopback=true WSL會吃到Windows Hyper-V防火牆的規則。以系統管理員執行以下指令，開放Hyper-V防火牆，允許所有連入連線 Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow 或者，新增Hyper-V防火牆規則，只開放特定通訊埠，這邊是Apache預設的80/tcp\n","title":"使用鏡像網路模式(Mirrored Mode)，讓WSL的服務能從外網連線","type":"posts"},{"content":"","date":"2024年8月24日","externalUrl":null,"permalink":"/tags/displaylink/","section":"標籤","summary":"","title":"DisplayLink","type":"tags"},{"content":"Create a virtual monitor or display on Linux with xrandr.\n注意：本文討論的內容僅支援X11環境，不支援Wayland。\nIvon將在這篇文章討論如何給Linux做個虛擬顯示器，好讓遠端桌面軟體擷取該顯示器的畫面，達成用另一台裝置當做Linux無線延伸桌面的效果。 1. 問題點 # 在研究Moonlight平板當作電腦第二螢幕的時候，我發現Linux沒有一個萬用的做法，能夠生出第二個虛擬顯示器(virtual monitor)。\n最簡單的方式是買個HDMI欺騙器，但如果不想花錢呢？\n網路資料很多人說使用xrandr指令，並且只要寫個X.org設定檔標註VirtualHeads就能軟體模擬一個虛擬顯示器出來，但是只有Intel GPU支援這種模擬方式，Nvidia GPU要用其他方式繞過。還有，Intel的這個驅動過時了，需要modesetting核心參數才能用。。\n另一種方式是讓xrandr使用未插上顯示器的視訊孔輸出，再利用xrandr --output指令強制啟用螢幕。可這個的運作條件是電腦必須有二個以上的視訊輸出孔，且處於閒置狀態才能讓xrandr控制。如果電腦只有一個CPU內顯，就沒有額外的孔能給xrandr利用了。\n最後一種方式是依賴桌面環境實作，這個更不可靠，GNOME有RDP Screen Share Mode，KDE則是krfb-virtualmonitor，那麼其他桌面環境該怎麼辦呢？\n為了解決以上問題，我採用xrandr搭配EVDI的做法。\nEVDI (Extensible Virtual Display Interface) 是專為Synaptics DisplayLink設計的開源專案，但我們不是要它的DisplayLink功能，而是生成一個虛擬顯示器的功能。EVDI提供一個讓userspace管理的介面，載入核心模組後，Linux就會多出一個dummy能讓xrandr控制輸出畫面，這樣就彷彿有兩個顯示器了。\n如果覺得裝EVDI太麻煩，下面設定EVDI的xrandr指令也適用其他閒置的顯示器，只要把EVDI的DVI-*顯示器名稱換掉就好了。\n2. 安裝EVDI核心模組 # Ubuntu可從套件庫安裝DKMS核心模組： sudo apt install evdi-dkms Arch Liunx從AUR安裝\nyay -S evdi 設定開機自動載入EVDI核心模組，生出一個虛擬顯示器 echo \u0026#34;evdi options initial_device_count=1\u0026#34; | sudo tee -a /etc/modprobe.d/local-evdi.conf 電腦重開機\n檢查核心模組是否有載入，若無，手動載入\nsudo lsmod | grep evdi sudo modprobe evdi options initial_device_count=1 3. 設定虛擬顯示器 # 用xrandr指令，列出可用顯示器 xrandr -q 例如我的主顯示器是eDP-1，而EVDI生成的顯示器應該都是DVI-*開頭 Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384 eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm DVI-I-1-1 disconnected (normal left inverted right x axis y axis) 設定解析度 xrandr --addmode DVI-I-1-1 \u0026#34;1920x1080\u0026#34; 設定DVI顯示器，使其位於eDP顯示器的右邊 xrandr --output DVI-I-1-1 --mode 1920x1080 --right-of eDP-1 這樣就有二個顯示器了，用xrandr -q指令確認 Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 16384 x 16384 eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm DVI-I-1-1 disconnected 1920x1080+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm 1920x1080 60.01* 1920x1080 (0x46) 152.840MHz -HSync -VSync h: width 1920 start 2000 end 2054 total 2250 skew 0 clock 67.93KHz v: height 1080 start 1086 end 1094 total 1132 clock 60.01Hz 實測KDE X11下，EVDI生成的螢幕是黑色背景的，沒有任何桌布，不過確實能把視窗拖曳過去。此外EVDI螢幕使用的時候KDE滑鼠會有點閃爍。 4. 測試軟體能否擷取到EVDI的虛擬顯示器 # Weylus：可\nx11VNC：可\nSunshine：可，指定顯示器編號就行\n參考資料 # Virtual screen - Etam Software Unable to add a VIRTUAL display to Xorg Immersed Linux X11 Virtual Monitors Guide Using xrandr to create a virtual display (Linux) #42 📲 在 Linux 上把手机/平板当作虚拟副屏，游戏聊天两不误 - 風雪城 ","date":"2024年8月24日","externalUrl":null,"permalink":"/posts/xrandr-create-a-virtual-monitor/","section":"所有文章","summary":"Create a virtual monitor or display on Linux with xrandr.\n注意：本文討論的內容僅支援X11環境，不支援Wayland。\nIvon將在這篇文章討論如何給Linux做個虛擬顯示器，好讓遠端桌面軟體擷取該顯示器的畫面，達成用另一台裝置當做Linux無線延伸桌面的效果。 1. 問題點 # 在研究Moonlight平板當作電腦第二螢幕的時候，我發現Linux沒有一個萬用的做法，能夠生出第二個虛擬顯示器(virtual monitor)。\n最簡單的方式是買個HDMI欺騙器，但如果不想花錢呢？\n網路資料很多人說使用xrandr指令，並且只要寫個X.org設定檔標註VirtualHeads就能軟體模擬一個虛擬顯示器出來，但是只有Intel GPU支援這種模擬方式，Nvidia GPU要用其他方式繞過。還有，Intel的這個驅動過時了，需要modesetting核心參數才能用。。\n另一種方式是讓xrandr使用未插上顯示器的視訊孔輸出，再利用xrandr --output指令強制啟用螢幕。可這個的運作條件是電腦必須有二個以上的視訊輸出孔，且處於閒置狀態才能讓xrandr控制。如果電腦只有一個CPU內顯，就沒有額外的孔能給xrandr利用了。\n最後一種方式是依賴桌面環境實作，這個更不可靠，GNOME有RDP Screen Share Mode，KDE則是krfb-virtualmonitor，那麼其他桌面環境該怎麼辦呢？\n為了解決以上問題，我採用xrandr搭配EVDI的做法。\n","title":"xrandr製作Linux虛擬顯示器，設定虛擬雙顯示器輸出","type":"posts"},{"content":"","date":"2024年8月22日","externalUrl":null,"permalink":"/tags/hugo-shortcode/","section":"標籤","summary":"","title":"Hugo Shortcode","type":"tags"},{"content":"習慣讀台灣出版的中文小說的，看到的排版依然是以直排文字居多吧。\n那麼網頁是否也能這樣做呢？可以，CSS有text-orientation的屬性能把中文字做垂直排列。\n我的想法是在Hugo網頁中插入一個特殊的區塊，專門用來放中文直書的元件，營造直排書閱讀效果。其餘元素依然維持橫排。所以本篇文章我會做一個Hugo shortcode，將要包含的Markdown文字放包在其中。\nShortcode做出來的效果如下。電腦版檢視使用滑鼠捲動翻頁，手機用手指往左滑動。\n歌曲：amazarashi - 僕が死のうと思ったのは，翻譯取自巴哈\n僕が死のうと思ったのは\namazarashi\n我曾經想要一了百了\n是因為黑尾鷗在碼頭鳴叫著\n在沒有束縛的波浪中浮動消失\n啄著過去飛遠\n我曾經想要一了百了\n是因為杏花在生日的那天中盛開\n在樹蔭露出陽光的地方午睡之後\n是否就能成為蟲子的屍體和泥土呢\n薄荷糖　漁港的燈塔　生鏽的拱橋　丟掉的腳踏車\n在木造的車站爐子前\n無法在任何地方踏上旅途的心\n今天簡直就像是昨天啊\n如果要改變明天的話得先改變今天\n我心知肚明　我心知肚明　但是\n我曾經想要一了百了\n是因為內心變得空虛\n哭著說出沒有得到滿足一定\n是因為祈願著想要得到滿足啊\n我曾經想要一了百了\n是因為鞋帶解開了\n不擅長重新綁起來啊\n與人們的連繫也是相同\n我曾經想要一了百了\n是因為少年注視著我\n在床上跪坐著\n向那一天的我說聲對不起\n電腦的微光 樓上房間的生活聲\n內線電話的鬧鈴聲　摀住耳朵的鳥籠中的少年\n正在與看不見的敵人戰鬥　六疊一間的唐吉軻德\n反正終點也是十分醜陋的事物啊\n我曾經想要一了百了\n是因為被他人說了我是個冷淡的人\n哭著說出想要被愛\n是因為不小心知道了人的溫度啊\n我曾經想要一了百了\n是因為你漂亮地笑了出來\n會總是思考死亡一定\n是因為對於活著一事太過認真了啊\n我曾經想要一了百了\n是因為還沒有與你相遇啊\n像你一樣的人誕生在這個世上\n稍微變得喜歡起這個世界了啊\n像你一樣的人正在呼吸著\n稍微對世界有了一點期待\n1. 製作Shortcode # 在Hugo網站根目錄/layouts/shortcode新增verticaltext.html\n輸入以下內容\n\u0026lt;link rel=\u0026#34;preload\u0026#34; as=\u0026#34;font\u0026#34; href=\u0026#34;https://fonts.googleapis.com/css?family=Noto+Serif+TC\u0026amp;display=swap\u0026#34; type=\u0026#34;font/ttf\u0026#34; crossorigin=\u0026#34;anonymous\u0026#34;\u0026gt; \u0026lt;style\u0026gt; @import url(\u0026#39;https://fonts.googleapis.com/css?family=Noto+Serif+TC\u0026amp;display=swap\u0026#39;); .mainvlr { font-family: \u0026#39;Noto Serif TC\u0026#39;, sans-serif; margin:20px; font-size: 20px; letter-spacing: 2px; } .vlr{ writing-mode: vertical-lr; } .vrl{ writing-mode: vertical-rl; unicode-bidi: bidi-override; border: 1px solid; padding: 5px; margin: 5px; word-wrap: break-word; overflow-y:auto; height: 700px; } @media only screen and (max-width: 768px) { [class*=\u0026#34;vrl\u0026#34;] { width: 100%; } } @media only screen and (min-width: 768px) { [class*=\u0026#34;vrl\u0026#34;] { width: 1000px; } } \u0026lt;/style\u0026gt; \u0026lt;div class=\u0026#34;vrl\u0026#34; id=\u0026#34;vrlmain\u0026#34;\u0026gt; \u0026lt;div class=\u0026#34;mainvlr\u0026#34;\u0026gt; {{ .Inner | markdownify }} \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;script\u0026gt; window.scrollTo(document.body.scrollWidth - 500, 0); \u0026lt;/script\u0026gt; 解釋： @import url這幾行是從外部引入Google Noto Serif TC字體，這個字體端正又好看，排出來的直書文字特別標緻。\n.vrl{}使用由右到左的直書文字，定義文字樣式。\n@media only screen and (max-width: 768px)是呼應我Hugo Blowfish主題的寬度限制所作的調整，目的是讓直書文字的區塊能超出原本界定的範圍，並按照螢幕大小自動縮放。\nwindow.scrollTo(document.body.scrollWidth - 500, 0);強制將直書文字區塊的滑桿滾動到最右邊。\n{{ .Inner | markdownify }}是包含在直書區塊內的文字，並且要遵守Markdown語法渲染。\n2. Shortcode使用法 # 在任意文章插入以下程式碼 {{\u0026lt; verticaltext \u0026gt;}} {{\u0026lt; verticaltext \u0026gt;}} 以上二者區塊的中間，就可以插入任意的Markdown文字。如果要讓排版好看一些，請使用全形空格。 {{\u0026lt; verticaltext \u0026gt;}} **僕が死のうと思ったのは** *amazarashi* 我曾經想要一了百了 是因為黑尾鷗在碼頭鳴叫著 在沒有束縛的波浪中浮動消失 啄著過去飛遠 {{\u0026lt; verticaltext \u0026gt;}} ","date":"2024年8月22日","externalUrl":null,"permalink":"/posts/hugo-vertical-text/","section":"所有文章","summary":"習慣讀台灣出版的中文小說的，看到的排版依然是以直排文字居多吧。\n那麼網頁是否也能這樣做呢？可以，CSS有text-orientation的屬性能把中文字做垂直排列。\n我的想法是在Hugo網頁中插入一個特殊的區塊，專門用來放中文直書的元件，營造直排書閱讀效果。其餘元素依然維持橫排。所以本篇文章我會做一個Hugo shortcode，將要包含的Markdown文字放包在其中。\nShortcode做出來的效果如下。電腦版檢視使用滑鼠捲動翻頁，手機用手指往左滑動。\n歌曲：amazarashi - 僕が死のうと思ったのは，翻譯取自巴哈\n僕が死のうと思ったのは\namazarashi\n我曾經想要一了百了\n是因為黑尾鷗在碼頭鳴叫著\n在沒有束縛的波浪中浮動消失\n啄著過去飛遠\n我曾經想要一了百了\n是因為杏花在生日的那天中盛開\n在樹蔭露出陽光的地方午睡之後\n是否就能成為蟲子的屍體和泥土呢\n薄荷糖　漁港的燈塔　生鏽的拱橋　丟掉的腳踏車\n在木造的車站爐子前\n無法在任何地方踏上旅途的心\n今天簡直就像是昨天啊\n如果要改變明天的話得先改變今天\n我心知肚明　我心知肚明　但是\n我曾經想要一了百了\n是因為內心變得空虛\n","title":"Hugo使用shortcode插入中文直書（CSS text-orientation）","type":"posts"},{"content":"想要從手機、筆電、平板遠端遊玩電腦上的遊戲嗎？你需要Moonlight！\nMoolight最初是針對Nvidia Gamestream所開發的開源軟體，讓所有人都能使用此功能串流遊玩遊戲。後來出現了另一款Sunshine伺服器軟體，使遊戲串流能在Intel、AMD顯示卡運作，不限於Nvidia顯示卡，且Sunshine擴大支援Linux、Windows、macOS系統。 玩家只要在電腦跑Sunshine伺服器，就能用Moonlight客戶端連線到遠端遊戲。串流遊戲延遲很低，聲音會同步過來，彷彿在玩Geforce Now一樣。此外Moonlight還能當遠端桌面用呢！ 使用Moonlight遠端遊玩Windows電腦的War Thunder遊戲\n值得一提的是，Nvidia宣佈未來不會再繼續維護Gamestream功能了，因此切換到Sunshine是最好的選擇！\n本文Ivon介紹如何在Windows電腦安裝Sunshine伺服器服務，介紹Moonlight的功能。\n最後討論如何跳脫區域網路的限制，讓你出門在外也可以遠端連線回Windows電腦玩遊戲，達成類似專有軟體Parsec的使用體驗。\n1. Sunshine系統需求 # Windows 10以上系統 Intel、AMD、Nvidia顯示卡皆可，CPU內顯也可以，請確保已經安裝最新版驅動程式 Intel i5以上等級的CPU 4GB以上RAM 良好的區域Wifi網路連線 雖說內顯就足以串流桌面，但Sunshine在串流的時候會佔用一部分GPU算繪畫面，所以要邊串流桌面邊玩遊戲，顯示卡不能夠太低階。\n2. 設定Sunshine串流伺服器 # Sunshine專案現由LizardByte維護，請至Sunshine的Github Release，找到Latest標籤，點Show all assests，下載sunshine-windows-installer.exe 安裝後一直下一步\n在Windows程式列表搜尋Sunshine開啟，Sunshine應該會顯示在系統匣 開啟瀏覽器，輸入https://localhost:47990，設定後台帳號密碼 完成登入！\n請開啟「Windows防火牆設定」，允許應用程式通過防火牆，確認Sunshine是否有打勾。 Windows的「服務」選單可用於控制Sunshine是否要在電腦開機後自動啟動。 注意：Sunshine跟Windows內建RDP遠端桌面可能會衝突，二者不可以同時登入。\n如果你是筆電，有內顯與獨顯二個GPU，導致Sunshine畫面出不來，請嘗試到UEFI關閉內顯。\n3. 安裝Moonlight客戶端 # Moonlight客戶端支援Linux、Windows、macOS、Android、iOS系統。\n請兩台要連線的電腦連線到同一個網路。\n到Moonlight官網下載客戶端 Moonlight應該會掃描區域網路下的Windows電腦，點選配對 在Sunshine後台輸入PIN碼完成配對 這樣就能連線到Windows桌面了。 如果你覺得有點卡卡的，試試在設定選單降低連線解析度。 手機版Moonlight遠端連線的時候從螢幕底部三指往上滑喚醒鍵盤。另外可在設定選單開啟模擬觸控手把。\n4. 從外網連線到Sunshine # Sunshine預設只能用區域網路連線，但若電腦與Moonlight客戶端不在同一個網路下呢？\n我個人不喜歡搞port forwarding，所以用內網穿透軟體解決，只要連上VPN，所有裝置就能處在一個虛擬內網。\n使用內網穿透軟體的時候，Moonlight會掃不到遠端的Sunshine伺服器，這個時候你要點選右上角「輸入IP」，手動輸入遠端電腦的虛擬區域IP才能連線。 只不過，Moonlight走內網穿透軟體網路連線的時候，延遲很有可能會變高，這個就看你的乙太網路速度如何了！建議要玩1080p串流，網路上傳速度需要有10MB/s以上才夠用。\n5. 用平板當電腦的無線螢幕 # 使用Moonlight搭配虛擬顯示器，讓平板不只是串流，而是能夠當作電腦第二個螢幕使用。\n參見：用平板當電腦第二螢幕：Moonlight ＋ Sunshine 串流設定教學\n","date":"2024年8月22日","externalUrl":null,"permalink":"/posts/windows-sunshine-remote-gaming/","section":"所有文章","summary":"想要從手機、筆電、平板遠端遊玩電腦上的遊戲嗎？你需要Moonlight！\nMoolight最初是針對Nvidia Gamestream所開發的開源軟體，讓所有人都能使用此功能串流遊玩遊戲。後來出現了另一款Sunshine伺服器軟體，使遊戲串流能在Intel、AMD顯示卡運作，不限於Nvidia顯示卡，且Sunshine擴大支援Linux、Windows、macOS系統。 玩家只要在電腦跑Sunshine伺服器，就能用Moonlight客戶端連線到遠端遊戲。串流遊戲延遲很低，聲音會同步過來，彷彿在玩Geforce Now一樣。此外Moonlight還能當遠端桌面用呢！ 使用Moonlight遠端遊玩Windows電腦的War Thunder遊戲\n值得一提的是，Nvidia宣佈未來不會再繼續維護Gamestream功能了，因此切換到Sunshine是最好的選擇！\n本文Ivon介紹如何在Windows電腦安裝Sunshine伺服器服務，介紹Moonlight的功能。\n最後討論如何跳脫區域網路的限制，讓你出門在外也可以遠端連線回Windows電腦玩遊戲，達成類似專有軟體Parsec的使用體驗。\n1. Sunshine系統需求 # Windows 10以上系統 Intel、AMD、Nvidia顯示卡皆可，CPU內顯也可以，請確保已經安裝最新版驅動程式 Intel i5以上等級的CPU 4GB以上RAM 良好的區域Wifi網路連線 雖說內顯就足以串流桌面，但Sunshine在串流的時候會佔用一部分GPU算繪畫面，所以要邊串流桌面邊玩遊戲，顯示卡不能夠太低階。\n","title":"Moonlight + Sunshine + 外網連線安裝教學，Windows遠端串流玩遊戲","type":"posts"},{"content":"Use a tablet as a second monitor for PC wirelessly with Moonlight + Sunshine.\n介紹如何使用Moonlight串流遠端的虛擬顯示器，達成用平板當作電腦第二螢幕（無線延伸螢幕）的目的。\n用來當第二螢幕的平板可以是Android平板、iPad、Windows Surface平板、Linux平板、Switch\u0026hellip;\u0026hellip;反正只要能裝Moonlight客戶端的機器就行。\n圖例，用Moonlight當作Linux電腦的第二螢幕，iPad平板成為電腦的延伸桌面，視窗可以在二者之間移動。 圖例，用Moonlight當作Windows電腦的第二螢幕，iPad平板成為電腦的延伸桌面，且能夠使用觸控筆筆壓繪圖。 本文的目的與專有軟體Duet Display、Spacedesk、ASUS GlideX相同，可作為開源免費的替代方案。\n1. 說明 # 簡言之，此方案就是遠端桌面軟體擷取電腦螢幕。\n遠端桌面軟體百百款，為何我要用Moonlight？目的主要盡可能低延遲，並且要是開源免費、跨平台的方案。\n一開始我是用Weylus方案，但是它偏向Linux設計的，Windows抓不到多個螢幕，且瀏覽器運作效能不佳，所以改用Moonlight。\n選用Moonlight的原因是它針對串流遊戲最佳化的，即使是用Wifi連線延遲也很低，效能比RDP和VNC好很多，支援HDR，且電腦音效可串流到平板播放。\n其實要讓平板當電腦第二螢幕，還有USB擷取卡的作法，Moonlight比它好的地方在於它是能夠無線運作的，而且延遲也不會輸給擷取卡。\n區域Wifi網路串流大多數情況下都能有60FPS，因此Moonlight不只可以當電腦第二螢幕，還可以播放影片。 Moonlight當作遠端桌面的時候，支援觸控滑鼠功能和模擬遊戲手把，如果有觸控筆的話電腦端也能接受到筆壓。\n不過，Moonlight預設擷取的是電腦主螢幕的畫面，若直接串流的話就變成「鏡射模式」了。我們要讓平板上Moonlight的視窗當作電腦「第二螢幕」，從而達到「延伸螢幕」的效果，就得生一個「假螢幕」出來，讓Moonlight改擷取那個螢幕。\n原理圖如下： 2. 如何製作假的第二螢幕 # 此處介紹各種方案，包含硬體模擬方法與軟體模擬方法。\nHDMI欺騙器 # 這是最簡單的方式，HDMI欺騙器是只有隨身碟大小的螢幕，能夠讓電腦以為真的有接上顯示器。\n適用各大作業系統。買個HDMI欺騙器插在獨顯的孔上，就有第二個螢幕能給Moonlight擷取了。\nLinux # X11環境下，可以用xrandr指令做個virtual display出來。\nWayland環境的話，GNOME有RDP Screen Share Mode，KDE則是有krfb-virtualmonitor（但是Sunshine似乎不認這些手段所生出來的假螢幕）\nWindows # 安裝Virtual Display Dirver軟體，即可獲得一個假螢幕。\n3. 安裝Sunshine伺服器 # 請安裝Sunshine串流伺服器，這個版本適用Intel、AMD、Nvidia、Apple Silicon顯示卡。\nLinux安裝教學見此。\nWindows安裝教學見此。\n4. 連線到Sunshine遠端桌面 # 讓平板與電腦處在同一個Wifi網路下。\n開啟Sunshine網頁後台界面，找到Configuration → Audio/Video，設定要擷取的螢幕。\nLinux：使用指令journalctl --user-unit sunshine就會看到Detecting monitor...的訊息，再填入螢幕的數字。通常編號0就是電腦主螢幕，而我們要擷取的是第二個假螢幕，所以在Monitor number的欄位填入1。 Windows：請開啟「Window終端機」，執行指令：\u0026amp; C:\\Program Files\\Sunshine\\tools\\dxgi-info.exe，列出所有螢幕名稱，再於Output Name欄位填入\\\\.\\DISPLAY開頭的螢幕名稱。 之後按下Apply重啟Sunshine伺服器。\n在平板下載Moonlight客戶端，與電腦的Sunshine伺服器配對。\n開始串流之後，Moonlight應該就會抓到那個第二螢幕的畫面了！\n如果不想要Moonlight串流音訊的，於客戶端的設定將「串流時將主機電腦的喇叭靜音」的選項關閉。\n比較可惜的是，Moonlight手機版似乎強制固定橫向，所以平板沒辦法直向顯示電腦畫面。\n5. Moonlight使用筆壓 # 以Apple Pencil搭配Krita為例。\nLinux版Krtia可以偵測到筆壓。\nWindows無法使用筆壓可能是WinTab的問題，開啟Krita設定，將驅動改用Windows Ink並重新啟動程式就可以了。\n","date":"2024年8月22日","externalUrl":null,"permalink":"/posts/moonlight-use-a-tablet-as-a-second-monitor/","section":"所有文章","summary":"Use a tablet as a second monitor for PC wirelessly with Moonlight + Sunshine.\n介紹如何使用Moonlight串流遠端的虛擬顯示器，達成用平板當作電腦第二螢幕（無線延伸螢幕）的目的。\n用來當第二螢幕的平板可以是Android平板、iPad、Windows Surface平板、Linux平板、Switch……反正只要能裝Moonlight客戶端的機器就行。\n圖例，用Moonlight當作Linux電腦的第二螢幕，iPad平板成為電腦的延伸桌面，視窗可以在二者之間移動。 圖例，用Moonlight當作Windows電腦的第二螢幕，iPad平板成為電腦的延伸桌面，且能夠使用觸控筆筆壓繪圖。 本文的目的與專有軟體Duet Display、Spacedesk、ASUS GlideX相同，可作為開源免費的替代方案。\n1. 說明 # 簡言之，此方案就是遠端桌面軟體擷取電腦螢幕。\n遠端桌面軟體百百款，為何我要用Moonlight？目的主要盡可能低延遲，並且要是開源免費、跨平台的方案。\n一開始我是用Weylus方案，但是它偏向Linux設計的，Windows抓不到多個螢幕，且瀏覽器運作效能不佳，所以改用Moonlight。\n選用Moonlight的原因是它針對串流遊戲最佳化的，即使是用Wifi連線延遲也很低，效能比RDP和VNC好很多，支援HDR，且電腦音效可串流到平板播放。\n","title":"用iPad平板當電腦第二螢幕：Moonlight ＋ Sunshine 串流設定教學","type":"posts"},{"content":" Manage and access files in Termux APP.\nTermuxのディレクトリ構造と、Linux環境のファイルをAndroidと共有する方法について説明する。\nテスト環境：\nAndroid 14 Termux 0.119 1. Termux自身のルートディレクトリ # Termux Wikiによると、TermuxはFHS標準に準拠しておらず、一般的なPC向けLinuxディストリビューションとはディレクトリ構造が異なる。そのため、標準的なLinuxディレクトリ構造に強く依存するソフトウェアを使う場合は、prootまたはchrootでLinuxコンテナ環境を作る方が無難だ。\nTermuxのファイルディレクトリ（ドキュメントディレクトリ）は/data/data/com.termux/files/にある。\nこのディレクトリにアクセスできるのはTermuxだけだ。\nTermuxには$TERMUX_PREFIXと$PREFIXという2つの環境変数があり、どちらも/data/data/com.termux/files/usrディレクトリを指している。\nTermuxでpkgを使ってインストールしたソフトウェアは、通常/data/data/com.termux/files/usr/binに置かれる。\nTermuxのホームディレクトリは/data/data/com.termux/files/homeにある。\nRoot権限がない場合、TermuxはAndroidシステムのルートディレクトリ（/）へアクセスできない。\n2. Termuxのホームディレクトリ # Termuxのホームディレクトリは/data/data/com.termux/files/homeにある。コマンドを実行するとき、ホームディレクトリのパスは~で置き換えられる。\n注意点として、Termuxには単一のユーザーアカウントしかなく（whoamiコマンドで確認できる）、rootアカウントはない。ユーザーを追加することもできない。\nホームディレクトリにアクセスできるのはTermuxだけで、他のAPPがこのディレクトリを読むにはAndroid Scoped Storage経由にする必要がある。参照：Access Termux Home Directory\n通常、Termuxのホームディレクトリにはファイルが何もないが、ls -aを使うと隠しファイルを確認できる。\n~ $ ls -a . .bash_history .ssh .. .npm .termux storage .Xauthority .npmrc .vnc ドットで始まるディレクトリの多くはソフトウェアの設定ファイルで、たとえば.termuxにはプログラムの挙動やフォントの設定が含まれている。\nXFCE4デスクトップ環境をインストールしている場合、TermuxのホームディレクトリにはXDG Base Directory標準に沿ったディレクトリが自動で生成される。\n$PATH環境変数を設定する場合は、~/.bashrcまたは~/.profileに書く。\nテキストベースのファイル管理ソフトが欲しいなら、Termuxでrangerパッケージをインストールすると、Termuxホームディレクトリ内のファイルを管理しやすい。\n3. TermuxからAndroid内部ストレージを読む # デフォルトでは、Termuxは自身の環境外にあるAndroidユーザーファイルへアクセスできない。\ntermux-setup-storageコマンドを実行すると、TermuxからAndroid内部ストレージのファイルへアクセスできるようになる。\n正確には、TermuxはAndroidの/sdcardパスをTermuxホームディレクトリ配下の~/storageへbind mountする。\nAndroid内部ストレージは、Termuxホームディレクトリ配下の~/storageにマウントされる。\nlsコマンドで~/storage/shared配下のディレクトリを見ると、Android内部ストレージ内のすべてのファイルを確認できる。\n~ $ ls ~/storage/shared/ Documents Android Download Movies Pictures DCIM Music ただし、TermuxはRoot権限がないとAndroid/dataディレクトリにアクセスできない。\ncpコマンドを使えば、Termux内のファイルをAndroidスマートフォンの内部ストレージへコピーできる。\ncp ~/file.txt ~/storage/shared/Download/ 同様に、Androidスマートフォンの内部ストレージにあるファイルをTermuxのホームディレクトリへコピーすることもできる。\ncp ~/storage/shared/Download/file.txt ~ 注意：rm -rfを実行すると、Androidスマートフォンの内部ファイルストレージ内のファイルをすべて削除できてしまう（root権限が必要なディレクトリを除く）。コマンド操作は慎重に行うこと。\nソフトウェアやスクリプトをTermux外のAndroid内部ストレージディレクトリに置いて実行しないこと。権限問題が起きやすい。\n4. proot-distroからAndroidスマートフォンの内部ストレージを読む # proot-distroコマンドを実行してLinuxコンテナへ入るとき、Termuxはデフォルトで~/storage/sharedをコンテナ内部の/sdcardへマウントする。\nそのため、proot環境内では/sdcardパスからAndroidスマートフォンの内部ストレージのファイルへアクセスできる。\n5. TermuxからSDカードのファイルへアクセスする # AndroidスマートフォンにSDカードやOTGデバイスを挿すと、通常は/storageにマウントされる。\nTermuxは外部SDカードやOTGデバイスへのアクセス権を要求できないため、このディレクトリへアクセスするにはRoot権限が必要だ。\n6. termux-openコマンドでファイルを他のAPPへ共有する # Termuxにはtermux-openコマンドがあり、ファイルを他のAPPで開ける。\nまたxdg-openコマンドもある。この機能はLinuxデスクトップ版の同名コマンドと似ており、どちらもデフォルトプログラムでファイルを開くために使う。Termux環境では、実体はtermux-openファイルへのリンクになっている。\nたとえば、ホームディレクトリ内のjpg画像を開くためにtermux-openコマンドを実行すると、Androidスマートフォンの「\u0026hellip;APPでファイルを開く」メニューが表示され、その画像をギャラリーAPPで開ける。\n# ファイルを直接開く termux-open --view test.jpg # 共有モードで開く termux-open --send test.jpg # APP選択リストを常に表示する termux-open --view --chooser test.jpg termux-openコマンドは単一ファイルの共有にしか使えない。Termuxから他のAPPプロセスを起動したい場合は、ADBコマンドam startを使う：\nam start -n com.android.chrome/com.google.android.apps.chrome.Main 6. TermuxでRoot権限を使ってAndroidシステムディレクトリへアクセスする # MagiskまたはKernelSUをインストールしている場合、\nsudoコマンドで権限を昇格すれば、Androidシステム内の任意のディレクトリへアクセスできる。\nsudo ls / BusyBoxと組み合わせてTermux環境へアクセスできるのか？Root化したAndroid ShellでBusyBoxを使い、Termux環境にインストールしたパッケージを実行できるのか？\n少し難しいので、この方法はおすすめしない。直接chrootを使うことをすすめる。\n7. Termux環境のファイルをバックアップする # 一番よい方法は、Android内部ストレージへ直接コピーすることだ。\nRoot権限があればなおよい。\n参照：Termux Backup\n参考資料 # Termux file system layout - GitHub Differences from Linux - Termux Wiki ","date":"2024年8月21日","externalUrl":null,"permalink":"/ja-jp/posts/termux-file-management/","section":"Termux-Tutorials","summary":" Manage and access files in Termux APP.\nTermuxのディレクトリ構造と、Linux環境のファイルをAndroidと共有する方法について説明する。\nテスト環境：\nAndroid 14 Termux 0.119 1. Termux自身のルートディレクトリ # Termux Wikiによると、TermuxはFHS標準に準拠しておらず、一般的なPC向けLinuxディストリビューションとはディレクトリ構造が異なる。そのため、標準的なLinuxディレクトリ構造に強く依存するソフトウェアを使う場合は、prootまたはchrootでLinuxコンテナ環境を作る方が無難だ。\nTermuxのファイルディレクトリ（ドキュメントディレクトリ）は/data/data/com.termux/files/にある。\nこのディレクトリにアクセスできるのはTermuxだけだ。\nTermuxには$TERMUX_PREFIXと$PREFIXという2つの環境変数があり、どちらも/data/data/com.termux/files/usrディレクトリを指している。\nTermuxでpkgを使ってインストールしたソフトウェアは、通常/data/data/com.termux/files/usr/binに置かれる。\n","title":"Termuxのファイル管理入門、Linux環境のファイルをAndroidと共有する","type":"termux-tutorials"},{"content":"如何將Android手機畫面投影到電腦？如何透過電腦遠端操控Android手機？如何用電腦播放手機音樂？如何使用電腦錄製手機螢幕畫面？\n以上想法都可以用「Scrcpy」完成！ Scrcpy為GenyMobile釋出的開源免費軟體，讓你能夠將Android手機螢幕鏡射到電腦，並用滑鼠鍵盤控制。不論有線無線皆可使用。\n關於資安問題，Scrcpy是完全開源的自由軟體，原始碼位於Github受大眾檢驗，所有資料都在本機傳輸，不會洩漏給第三方。\nIvon認為Scrcpy算是很不錯的工具呢，除了更新很勤勞外，開發者Romain Vimont在Github上都會熱心回覆使用者的問題。\n本文Ivon將介紹如何安裝Scrcpy，以及Scrcpy的操作方式。\n1. Scrcpy系統需求 # Scrcpy支援Linux、Windows、macOS系統。\nScrcpy最低支援的系統版本為Android 5，如果要播放手機音效需要Android 11以上版本。\n注意：原版Scrcpy是需要打指令啟動的程式，操作略顯複雜。 如果你想要圖形界面(GUI)，請改用文末提及的「圖形界面版的Scrcpy」。\n2. 安裝Scrcpy程式 # Linux # 需要安裝ADB工具，再從套件庫安裝Scrcpy，譬如Ubuntu就是：\nsudo apt install adb sudo apt install scrcpy 注意：Scrcpy常常在更新，建議滾動發行版的用戶才用套件管理員安裝Scrcpy，Ubuntu套件庫收的Scrcpy可能是舊版。\n如果缺少你要的功能，請到Github取得最新版二進位執行檔，解壓縮執行./scrcpy。\nWindows # 到Github Release下載最新版scrcpy-win64.zip\n解壓縮，在解壓縮的資料夾按SHIFT＋右鍵，開啟終端機。\nmacOS # 開啟終端機，透過Homebrew安裝\nbrew install android-platform-tools brew install scrcpy 3. 與手機連線 # Scrcpy可以有線與無線連接，建議使用USB連線，比較穩定。\nUSB連線 # 開啟Android手機系統設定，找到關於手機，在版本號碼點五下，啟用開發人員選項。\n進入開發人員選項，開啟「ADB偵錯」 把手機插到電腦\n執行ADB指令，在手機螢幕允許偵錯\nadb devices Wifi連線 # 此方法適用Android 11以上手機。請讓電腦和手機連線到同一個Wifi。\n開啟Android手機系統設定，找到關於手機，在版本號碼點五下，啟用開發人員選項。\n進入開發人員選項，開啟「ADB偵錯」和「無線偵錯」 點選「使用配對碼配對裝置」，上面會顯示一組IP和配對碼 執行ADB指令，與手機配對\nadb pair 192.68.1.102:40985 接著按照「無線偵錯」頁面顯示的IP，連線到手機，允許偵錯 adb connect 192.168.1.102:40389 4. Scrcpy基本操作方法 # 最簡單的用法是輸入指令，不加參數，Scrcpy會自動嘗試ADB，並使用最高畫質連線：\nscrcpy 之後視窗會自動開啟 你可以用鍵盤滑鼠直接控制手機。\n按CTRL＋C和CTRL＋V共享剪貼簿。\n手機螢幕轉動的話Scrcpy視窗會跟著轉。按ALT＋方向鍵強制旋轉手機螢幕\n按ALT＋F進入全螢幕。\n按ALT＋上下鍵調整手機音量。\n按CTRL＋按著滑鼠左鍵拖曳，模擬二指放大畫面的手勢。\n從電腦把APK檔案拖曳到Scrcpy視窗，即會自動安裝到手機上。\n從電腦傳檔案到手機：把APK以外的檔案拖曳到Scrcpy視窗，該檔案會自動下載到手機的Downloads資料夾。\n5. Scrcpy實用指令參數 # Scrcpy有很多參數可以調整，請到官方文件看詳細說明。\n通常Scrcpy參數的寫法是這樣：\nscrcpy -參數1 -參數2 -參數3 比如，若Scrcpy走Wifi連線，可能會遇到手機畫面延遲問題，此時請嘗試降低解析度。以下參數設定位元率5MBps、限制最大解析度為720、限制FPS為30：\nscrcpy -b 5M -m 720 --max-fps=30 假如手機的音效沒有傳過來的話，試試修改編碼器為AAC：--audio-codec=aac\n只傳輸手機音效，不傳輸畫面，設定音訊位元率AAC 256K的參數：--no-video --no-control --audio-codec=aac --audio-bit-rate=256K\n讓手機在使用時顯示觸控視覺效果，加上-t\n讓手機在使用的時候不要自動關閉螢幕（僅USB連線有效）：--stay-awake\n關閉手機螢幕減少發熱，並持續投影手機畫面到電腦：--turn-screen-off\n6. 使用Scrcpy錄製手機螢幕畫面 # Scrcpy的錄影功能是使用電腦運算的，這樣的話就不會佔用手機資源錄影。\n用以下參數啟動，就會自動開始錄影，直到你關閉Scrcpy視窗為止：\nscrcpy --record \u0026#34;路徑/影片檔名.mp4\u0026#34; 如果不寫路徑只寫影片檔名的話，錄影影片會自動儲存到執行指令所在的工作目錄。\n不過個人懶得用這種方法錄影，我比較喜歡用OBS Studio的視窗擷取功能來錄製Scrcpy的畫面。\n7. 使用Scrcpy新增虛擬雙螢幕 # \u0026ldquo;Virtual Display\u0026quot;功能可以讓Android手機好像接上一個外接螢幕，而非直接投影手機主畫面。二個螢幕同時執行不同的APP，這樣就能邊玩遊戲邊滑手機啦！\n參見：電腦當手機的外接螢幕，善用Scrcpy的虛擬顯示器功能刷手遊\n附錄：圖形界面版的Scrcpy # Scrcpy官方目前還沒有做圖形化界面，需要打指令操作。\nGithub有許多開發者製作了非官方的GUI，簡化操作過程，其中比較有名的有：\nQtScrcpy by barry-ran：QT寫成，可以設定按鍵映射（用鍵盤控制觸控手勢），支援同時控制多部手機。 flutter-scrcpygui by pizi-0：Flutter寫成的圖形界面，將Scrcpy大部分功能都圖形化了。可以針對不同手機，設定連接時要採用的參數。 Scrcpy Plus by Frontesque：將大部分操作圖形化，提供解除安裝APP與檔案管理功能。 ws-scrcpy by NetrisTV：網頁版Scrcpy，適合部署到伺服器用以連線到雲手機。 Scrcpy for Android by zwc456baby：Android版Scrcpy APP。 Scrcpy Mobile by wsvn53：iOS版Scrcpy APP，價格1美金，也可以用側載的。 Scrcpy GUI by SimonAKing：已停止維護。 guiscrcpy by srevinsaju：已停止維護。 ","date":"2024年8月19日","externalUrl":null,"permalink":"/posts/scrcpy-usage/","section":"所有文章","summary":"如何將Android手機畫面投影到電腦？如何透過電腦遠端操控Android手機？如何用電腦播放手機音樂？如何使用電腦錄製手機螢幕畫面？\n以上想法都可以用「Scrcpy」完成！ Scrcpy為GenyMobile釋出的開源免費軟體，讓你能夠將Android手機螢幕鏡射到電腦，並用滑鼠鍵盤控制。不論有線無線皆可使用。\n關於資安問題，Scrcpy是完全開源的自由軟體，原始碼位於Github受大眾檢驗，所有資料都在本機傳輸，不會洩漏給第三方。\nIvon認為Scrcpy算是很不錯的工具呢，除了更新很勤勞外，開發者Romain Vimont在Github上都會熱心回覆使用者的問題。\n本文Ivon將介紹如何安裝Scrcpy，以及Scrcpy的操作方式。\n1. Scrcpy系統需求 # Scrcpy支援Linux、Windows、macOS系統。\nScrcpy最低支援的系統版本為Android 5，如果要播放手機音效需要Android 11以上版本。\n注意：原版Scrcpy是需要打指令啟動的程式，操作略顯複雜。 如果你想要圖形界面(GUI)，請改用文末提及的「圖形界面版的Scrcpy」。\n2. 安裝Scrcpy程式 # Linux # 需要安裝ADB工具，再從套件庫安裝Scrcpy，譬如Ubuntu就是：\n","title":"Scrcpy安裝教學 \u0026 指令用法，電腦遠端控制Android手機的開源軟體","type":"posts"},{"content":"網路文章如果沒有標示，那麼預設情況下，就是著作權人版權所有。\n不過為了追求開放的網際網路理念，不少人都會把自己的作品標示為創用CC授權吧。\n創用CC授權條款是網路創作者與閱聽人定下的契約，表明自己的作品可以做何利用。要類比的話，它可以說是給非程式碼的作品所設計的「自由軟體」授權條款吧。\n以前曾在這篇文章講過多個實際例子：動漫畫作品可以「開源」嗎？談《創用CC授權》套用在藝術創作的實例\n當注意： 創用CC授權條款沒有任何強制性，但是講文明法治的網友都應當遵守，違反者會被視為不道德的。\n那麼部落格文章應該使用何種授權條款呢？\n創用CC授權官網有很多組合可以選。\n創用CC授權並不等同公眾領域，依照選擇條款的不同，作者的權利還是有一定程度保障的。從維基百科提供的這張圖，我們可以得知各種創用CC授權的嚴苛程度，越上方綠色的是幾乎沒有版權限制，越下面接近紅色則是限制了閱聽人的一切權利。 https://en.m.wikipedia.org/wiki/File:Creative_commons_license_spectrum.svg\n下面列出我自己的想法實例。\n1. 中立的CC BY-NC-SA # 2022年最初在寫部落格的時候，使用主題是Hugo MemE，它預設帶入的文章授權是為：\nCC BY-NC-SA\n中文意為：\n姓名標示-非商業性-相同方式分享\n你可自由：\n分享 — 以任何媒介或格式重製及散布本素材\n修改 — 重混、轉換本素材、及依本素材建立新素材\n只要你遵守授權條款規定，授權人不能撤回你使用本素材的自由。\n惟需遵照下列條件:\n姓名標示 — 你必須給予適當表彰、提供指向本授權條款的連結，以及指出（本作品的原始版本）是否已被變更。你可以任何合理方式為前述表彰，但不得以任何方式暗示授權人為你或你的使用方式背書。\n非商業性 — 你不得將本素材進行商業目的之使用。\n相同方式分享 — 若你重混、轉換本素材，或依本素材建立新素材，你必須依本素材的授權條款來散布你的貢獻物。\n不得增加額外限制 — 你不能增設法律條款或科技措施，來限制別人依授權條款本已許可的作為。\n這可以說是讓自己的文章變成一種開源軟體的形式，允許他人分享並修改，禁止商業利用，只要署名作者就好了。\n這只是個人猜測：Hugo MemE的主題作者是中國人，由於中文互聯網版權意識薄弱，什麼東西都能拿去營利（例如惡名昭彰的百家號、公眾號、採集站、內容農場、Bilibili盜片仔），所以他才會設定禁止商業利用的條款吧。\n2. 最嚴格的CC BY-NC-ND # 過一段時間後，我覺得上述條款太寬鬆，所以將部落格改成最嚴格的版本，防止有無良人士抄襲全文又只改幾個字的，最終版本為：\nCC BY-NC-ND\n中文意為：\n姓名標示-非商業性-禁止改作\n你可自由：\n分享 — 以任何媒介或格式重製及散布本素材\n只要你遵守授權條款規定，授權人不能撤回你使用本素材的自由。\n惟需遵照下列條件:\n姓名標示 — 你必須給予 適當表彰 、提供指向本授權條款的連結，以及 指出（本作品的原始版本）是否已被變更 。你可以任何合理方式為前述表彰，但不得以任何方式暗示授權人為你或你的使用方式背書。\n非商業性 — 你不得將本素材進行 商業目的 之使用。\n禁止改作 — 若你 重混、轉換本素材，或依本素材建立新素材 ，則你不得散布改作後的素材。\n不得增加額外限制 — 你不能增設法律條款或 科技措施 ，來限制別人依授權條款本已許可的作為。\n可說是完全限制了讀者的權利，只保留分享權，但是完全禁止其他修改。我再另外加了個但書「欲商業利用請來信告知」\n嗯我真的太看得起自己了，關鍵評論網看到文章很不錯邀請轉載的事情從來都沒發生過，倒是有CSDN的中國人全文轉貼我的文章貼得很開心。\n關於「禁止商業利用」，這其實有個盲點，既然我給自己的文章設定禁止商業利用的CC授權，那我在自己的部落格放廣告盈利，難道就是可以接受的行為嗎？\n3. 手放開的CC BY-SA # 創用CC授權條款的制定權力完全在原作者，未來要撤回也是可以，但變更CC授權不可溯及既往。\n我有時覺得CC BY-NC-ND太過嚴苛了，如果有軟體用這種條款，放在GitHub上又禁止任何人修改，根本是假開源！\n你知道有一種開源軟體條款叫做Source-available software嗎？中文叫做「看源軟體」，就是開源了但不準做其他利用的條款，這樣讓開源精神形同虛設。\nRichard Stallman曾經說過，開源是不夠的，應當強調自由軟體，即不應當限制他人使用的自由。\n2023年，我寫了一本Stable Diffusion WebUI使用手冊放到GitHub，使用的就是CC BY-SA條款。因為如果把這些文字視為一種程式碼，那我想既然開源到GitHub了，就不應當過份限制用戶自由。\n這個就是參照維基百科的做法，算是很寬鬆的CC授權條款了：\nCC BY-SA\n中文意為：\n你可自由：\n分享 — 以任何媒介或格式重製及散布本素材且為任何目的，包含商業性質之使用。\n修改 — 重混、轉換本素材、及依本素材建立新素材且為任何目的，包含商業性質之使用。\n只要你遵守授權條款規定，授權人不能撤回你使用本素材的自由。\n惟需遵照下列條件:\n姓名標示 — 你必須給予適當表彰、提供指向本授權條款的連結，以及指出（本作品的原始版本）是否已被變更。你可以任何合理方式為前述表彰，但不得以任何方式暗示授權人為你或你的使用方式背書。\n相同方式分享 — 若你重混、轉換本素材，或依本素材建立新素材，你必須依本素材的授權條款來散布你的貢獻物。\n不得增加額外限制 — 你不能增設法律條款或科技措施，來限制別人依授權條款本已許可的作為。\nCC BY-SA沒有限制商業利用，分享作品只要註明作者就行，並且得以相同方式散佈。此授權條款尤其適用於Wiki類的網站。\n其實，那本Stable Diffusion手冊現在處於一種尷尬的地位，雖有開源，但我其實已經放棄開源上游原始碼。部落格的文章後續更新並沒有同步到Github儲存庫，且是以CC BY-NC-ND發表，這樣不就跟Github上的條款不同步了嗎？\n得考慮現實呀，網路上很多人會盜文拿去盈利（例如採集站、內容農場、AI生成的網站），加上我也不是做慈善的\u0026hellip;對不起，不論男生女生都要保護自己，我覺得CC BY-SA還是太過於自由。所以部落格方面的文章授權，目前仍維持CC BY-NC-ND。\n還想保有一點著作權，對自己的作品有一份主導權，等到哪天我不再執著於這份權利，才會真正開放利用吧。\n","date":"2024年8月19日","externalUrl":null,"permalink":"/posts/blog-posts-licence/","section":"Personals","summary":"網路文章如果沒有標示，那麼預設情況下，就是著作權人版權所有。\n不過為了追求開放的網際網路理念，不少人都會把自己的作品標示為創用CC授權吧。\n創用CC授權條款是網路創作者與閱聽人定下的契約，表明自己的作品可以做何利用。要類比的話，它可以說是給非程式碼的作品所設計的「自由軟體」授權條款吧。\n以前曾在這篇文章講過多個實際例子：動漫畫作品可以「開源」嗎？談《創用CC授權》套用在藝術創作的實例\n當注意： 創用CC授權條款沒有任何強制性，但是講文明法治的網友都應當遵守，違反者會被視為不道德的。\n那麼部落格文章應該使用何種授權條款呢？\n創用CC授權官網有很多組合可以選。\n創用CC授權並不等同公眾領域，依照選擇條款的不同，作者的權利還是有一定程度保障的。從維基百科提供的這張圖，我們可以得知各種創用CC授權的嚴苛程度，越上方綠色的是幾乎沒有版權限制，越下面接近紅色則是限制了閱聽人的一切權利。 https://en.m.wikipedia.org/wiki/File:Creative_commons_license_spectrum.svg\n下面列出我自己的想法實例。\n1. 中立的CC BY-NC-SA # 2022年最初在寫部落格的時候，使用主題是Hugo MemE，它預設帶入的文章授權是為：\nCC BY-NC-SA\n中文意為：\n姓名標示-非商業性-相同方式分享\n你可自由：\n分享 — 以任何媒介或格式重製及散布本素材\n修改 — 重混、轉換本素材、及依本素材建立新素材\n只要你遵守授權條款規定，授權人不能撤回你使用本素材的自由。\n","title":"網路文章著作權問題，應該使用何種創用CC授權？","type":"personal"},{"content":"多開即同時執行多個APP，這是許多Android模擬器都會提供的功能，通常是在一個畫面塞滿多視窗，達到玩多個遊戲的效果。\n既然ReDroid依賴Docker執行，那麼就可以依賴容器的特性，輕鬆達成多開，比如，同時開二個ReDroid容器，執行不同的APP。\nhttps://www.pixiv.net/artworks/121309634\n啊不對，放錯了\u0026hellip;效果圖是這樣才對。 1. 方案探討 # 一個Android系統執行多個APP，再個別擷取視窗的作法，在配合Scrcpy的情況下辦不到，所以只好跑多個Android系統，例如跑兩個Docker容器。\n註：Scrcpy 3.0之後加入了Virtual Display的功能，或許可以不需要跑兩個Android容器，而是在同一個Android容器建立多個虛擬顯示器，就能同時執行多個APP了。\n後台界面，使用Portainer和docker-compose控制，方便定義多個服務。\n至於控制端，Scrcpy支援連接到多個Android容器，只要ADB通訊埠不重疊就好了。\n如果要更無縫的體驗，用QTScrcpy會更好，作者有加入多視窗「群控」功能。這樣就能在一個螢幕開啟多個ReDroid視窗。\n另外，網頁版客戶端ws-scrcpy也有人打包成Docker映像檔（參見https://hub.docker.com/r/scavin/ws-scrcpy），所以我們就能在瀏覽器用多個分頁存取Android容器啦，出門在外的時候更方便。\n2. 新增docker-compose # 參見ReDroid安裝教學，做好已經安裝GAPPS的映像檔。\n於Portainer新增一個ReDroid的Stack。我覺得單一docker-compose比較好管理，如果要分兩個寫也是可以啦，這樣二個Android裝置可個別開關機。\n內容如下，這裡定義了二個ReDroid的容器，他們會一起啟動：\nversion: \u0026#34;3\u0026#34; services: # 第一個ReDroid容器 redroid-1: image: redroid/redroid:11.0.0_gapps stdin_open: true tty: true privileged: true # 映射通訊埠不能重複 ports: - \u0026#34;5555:5555\u0026#34; volumes: # 資料目錄，不同裝置目錄不能一樣 - ./redroid-11-1-data/:/data command: # 節約效能，解析度不要設定太高 - androidboot.redroid_width=720 - androidboot.redroid_height=1080 - androidboot.redroid_dpi=340 # 啟用GPU硬體加速 - androidboot.redroid_gpu_mode=auto # 設定libndk相關 - ro.product.cpu.abilist0=x86_64,arm64-v8a,x86,armeabi-v7a,armeabi - ro.product.cpu.abilist64=x86_64,arm64-v8a - ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi - ro.dalvik.vm.isa.arm=x86 - ro.dalvik.vm.isa.arm64=x86_64 - ro.enable.native.bridge.exec=1 - ro.dalvik.vm.native.bridge=libndk_translation.so - ro.ndk_translation.version=0.2.2 # 第二個ReDroid容器 redroid-2: image: redroid/redroid:11.0.0_gapps stdin_open: true tty: true privileged: true # 映射通訊埠不能重複 ports: - \u0026#34;5556:5555\u0026#34; volumes: # 資料目錄，不同裝置目錄不能一樣 - ./redroid-11-2-data/:/data command: # 節約效能，解析度不要設定太高 - androidboot.redroid_width=720 - androidboot.redroid_height=1080 - androidboot.redroid_dpi=340 # 啟用GPU硬體加速 - androidboot.redroid_gpu_mode=auto # 設定libndk相關 - ro.product.cpu.abilist0=x86_64,arm64-v8a,x86,armeabi-v7a,armeabi - ro.product.cpu.abilist64=x86_64,arm64-v8a - ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi - ro.dalvik.vm.isa.arm=x86 - ro.dalvik.vm.isa.arm64=x86_64 - ro.enable.native.bridge.exec=1 - ro.dalvik.vm.native.bridge=libndk_translation.so - ro.ndk_translation.version=0.2.2 同時啟動二個Android容器，什麼都不做的情況下並不會太吃資源。 3. Scrcpy連線到多個ReDroid容器 # ADB列出裝置 adb devices 以通訊埠為依歸，分別連線 adb connect -s localhost:5555 adb connect -s localhost:5556 之後，個別啟動Scrcpy scrcpy -s localhost:5555 scrcpy -s localhost:5556 唯一一個不便的點在於，每個ReDroid的裝置都是獨立的，所以GAPPS裝置驗證要重跑一次。\n同時執行二個遊戲，一般的電腦CPU應該都還撐得住啦。 ","date":"2024年8月19日","externalUrl":null,"permalink":"/posts/redroid-multiple-instances/","section":"所有文章","summary":"多開即同時執行多個APP，這是許多Android模擬器都會提供的功能，通常是在一個畫面塞滿多視窗，達到玩多個遊戲的效果。\n既然ReDroid依賴Docker執行，那麼就可以依賴容器的特性，輕鬆達成多開，比如，同時開二個ReDroid容器，執行不同的APP。\nhttps://www.pixiv.net/artworks/121309634\n啊不對，放錯了…效果圖是這樣才對。 1. 方案探討 # 一個Android系統執行多個APP，再個別擷取視窗的作法，在配合Scrcpy的情況下辦不到，所以只好跑多個Android系統，例如跑兩個Docker容器。\n註：Scrcpy 3.0之後加入了Virtual Display的功能，或許可以不需要跑兩個Android容器，而是在同一個Android容器建立多個虛擬顯示器，就能同時執行多個APP了。\n後台界面，使用Portainer和docker-compose控制，方便定義多個服務。\n至於控制端，Scrcpy支援連接到多個Android容器，只要ADB通訊埠不重疊就好了。\n如果要更無縫的體驗，用QTScrcpy會更好，作者有加入多視窗「群控」功能。這樣就能在一個螢幕開啟多個ReDroid視窗。\n另外，網頁版客戶端ws-scrcpy也有人打包成Docker映像檔（參見https://hub.docker.com/r/scavin/ws-scrcpy），所以我們就能在瀏覽器用多個分頁存取Android容器啦，出門在外的時候更方便。\n2. 新增docker-compose # 參見ReDroid安裝教學，做好已經安裝GAPPS的映像檔。\n於Portainer新增一個ReDroid的Stack。我覺得單一docker-compose比較好管理，如果要分兩個寫也是可以啦，這樣二個Android裝置可個別開關機。\n內容如下，這裡定義了二個ReDroid的容器，他們會一起啟動：\nversion: \"3\" services: # 第一個ReDroid容器 redroid-1: image: redroid/redroid:11.0.0_gapps stdin_open: true tty: true privileged: true # 映射通訊埠不能重複 ports: - \"5555:5555\" volumes: # 資料目錄，不同裝置目錄不能一樣 - ./redroid-11-1-data/:/data command: # 節約效能，解析度不要設定太高 - androidboot.redroid_width=720 - androidboot.redroid_height=1080 - androidboot.redroid_dpi=340 # 啟用GPU硬體加速 - androidboot.redroid_gpu_mode=auto # 設定libndk相關 - ro.product.cpu.abilist0=x86_64,arm64-v8a,x86,armeabi-v7a,armeabi - ro.product.cpu.abilist64=x86_64,arm64-v8a - ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi - ro.dalvik.vm.isa.arm=x86 - ro.dalvik.vm.isa.arm64=x86_64 - ro.enable.native.bridge.exec=1 - ro.dalvik.vm.native.bridge=libndk_translation.so - ro.ndk_translation.version=0.2.2 # 第二個ReDroid容器 redroid-2: image: redroid/redroid:11.0.0_gapps stdin_open: true tty: true privileged: true # 映射通訊埠不能重複 ports: - \"5556:5555\" volumes: # 資料目錄，不同裝置目錄不能一樣 - ./redroid-11-2-data/:/data command: # 節約效能，解析度不要設定太高 - androidboot.redroid_width=720 - androidboot.redroid_height=1080 - androidboot.redroid_dpi=340 # 啟用GPU硬體加速 - androidboot.redroid_gpu_mode=auto # 設定libndk相關 - ro.product.cpu.abilist0=x86_64,arm64-v8a,x86,armeabi-v7a,armeabi - ro.product.cpu.abilist64=x86_64,arm64-v8a - ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi - ro.dalvik.vm.isa.arm=x86 - ro.dalvik.vm.isa.arm64=x86_64 - ro.enable.native.bridge.exec=1 - ro.dalvik.vm.native.bridge=libndk_translation.so - ro.ndk_translation.version=0.2.2 同時啟動二個Android容器，什麼都不做的情況下並不會太吃資源。 3. Scrcpy連線到多個ReDroid容器 # ADB列出裝置 adb devices 以通訊埠為依歸，分別連線 adb connect -s localhost:5555 adb connect -s localhost:5556 之後，個別啟動Scrcpy scrcpy -s localhost:5555 scrcpy -s localhost:5556 唯一一個不便的點在於，每個ReDroid的裝置都是獨立的，所以GAPPS裝置驗證要重跑一次。\n","title":"ReDroid多開雲手機，Scrcpy連線到複數個Docker容器的作法","type":"posts"},{"content":"本文為Linux版AltStore安裝教學，Windows和macOS版的教學請看這裡。\nAltStore是一款開源第三方應用程式商店，允許您在iPhone/iPad安裝未經Apple審核的第三方APP，免越獄。 Linux版的AltStore功能類似原版AltStore，並且支援類似Sideloadly的側載IPA功能，還能跑AltServer伺服器給其他iOS裝置重簽。\n本文Ivon將介紹純文字指令的Linux版AltServer用法，方便查看錯誤訊息。\n如果想無腦一點的，請採用文末「延伸閱讀」列出的圖形版本。\n1. AltStore簡介 # AltStore由Riley Testut等人開發，支援iOS 12以上的iPhone/iPad/iPod touch裝置。 AltStore原理是利用自己的Apple ID開通開發者帳號，給APP簽名從而在iOS裝置安裝任意IPA。一部裝置最多安裝3個APP，7天後需要重簽(resign)。只要不刪除APP，重簽IPA後資料仍會保留。\nAltStore本體是個 iOS APP，要安裝AltStore的話需要在電腦跑AltServer，負責安裝AltStore與重簽APP之用。\n目前官方版的AltServer僅提供Windows和macOS版本，Linux版的AltServer為NyaMisty開發，跟官方版有點不太一樣。最大的不同在於Linux版AltStore是「on-device」的。Linux版的AltStore可以用來重簽以Windows版AltServer安裝的AltStore，不過從其他電腦安裝的AltStore APP可能會在列表遺失，導致得整個重裝APP。這就是「on-device」的壞處。\n此外，Linux版實作了類似Windows軟體Sideloadly的功能，可以從電腦安裝IPA到iOS裝置，即使沒安裝AltStore也行。\n2. 安裝AltServer和安裝AltStore # 首先安裝以下套件：\n# Ubuntu / Debian sudo apt-get install usbmuxd libimobiledevice6 libimobiledevice-utils wget curl libavahi-compat-libdnssd-dev # Arch Linux / Manjaro sudo pacman -S usbmuxd libimobiledevice avahi bind 套件說明：\nusbmuxd：用於處理Apple裝置的USB通訊。 libimobiledevice：用於處理Apple裝置的USB通訊。 avahi：零配置網路解決方案。 netmuxd：用於處理Apple裝置的無線通訊。 因為以上套件已擔負了與iOS裝置通訊的功能，所以我們不需要用到iTunes。\n啟動Avahi和usbmuxd服務，重開機 sudo systemctl enable --now avahi-daemon sudo systemctl enable --now usbmuxd 建立AltServer工作目錄： mkdir altserver cd altserver 從Github下載x86_64版本的AltServer： curl -L https://github.com/NyaMisty/AltServer-Linux/releases/download/v0.0.5/AltServer-x86_64 \u0026gt; AltServer chmod +x AltServer 從AltStore官網下載AltStore的IPA，目前是1.7版。要下載新版請自行參照Release Notes改網址。 curl -L https://cdn.altstore.io/file/altstore/apps/altstore/2_0.ipa \u0026gt; AltStore.ipa 從Github下載netmuxd執行檔： curl -L https://github.com/jkcoxson/netmuxd/releases/download/v0.1.4/x86_64-linux-netmuxd \u0026gt; netmuxd chmod +x netmuxd 將iOS裝置插上電腦，進行配對，在iOS裝置上點選「信任此電腦」。 idevicepair pair 取得iOS裝置的UUID： idevice_id -l 安裝AltStore到iOS裝置。在iOS裝置取得二步驟登入密碼，在電腦上輸入。 ./AltServer --udid \u0026#34;iOS裝置的UUID\u0026#34; --appleID \u0026#34;你的Apple ID\u0026#34; --password \u0026#34;Apple ID密碼\u0026#34; AltStore.ipa 終端機跑完顯示Finished就是安裝成功。 如果出現錯誤可試著參考下文「自架Anisette伺服器」再重試。有時候Apple會出於安全性而鎖定帳號，依照指示重設密碼即可。\niOS 16以上版本，開啟iOS裝置的系統設定 → 隱私權 → 啟用「開發者模式」，重開機。\n在iOS裝置上開啟設定 → 一般 → VPN與裝置管理，點選「信任AltStore」的開發者。 之後開啟AltStore APP，點右下角Settings登入Apple ID。 3. AltStore如何安裝IPA # 提示：你不需要安裝AltStore也可以直接側載其他IPA。AltStore只是方便你無線重簽的工具，如果你不在乎無線重簽的功能，大可把AltStore刪除，空出一個槽位。在沒有安裝AltStore的情況下，APP簽名過期就是直接用AltServer重裝，APP資料會保留。\n以去廣告的Youtube「uYou+」為例，首先要到Github下載該APP的IPA檔案，放到AltServer的工作目錄。\niOS裝置連上電腦，配對完成後，執行AltServer安裝IPA：\n./AltServer --udid \u0026#34;iOS裝置的UUID\u0026#34; --appleID \u0026#34;你的Apple ID\u0026#34; --password \u0026#34;Apple ID密碼\u0026#34; uYouPlus.ipa 或者你可以讓iOS裝置連著電腦，並在電腦執行./AltServer，接著在iOS裝置上的AltStore → 按左上角+號選取IPA檔案安裝APP。 （如果出現錯誤，試著參考下文「自架Anisette伺服器」再重試。）\n4. 自架Anisette伺服器解決安裝IPA的錯誤 # 自架Anisette伺服器能解決大多數的連線錯誤，如果AltServer安裝IPA時出現filesystem error: directory iterator cannot open directory、Incorrect Content-Type: must be textual to extract_string, JSON to extract_json錯誤用這個跑就可以解決。\nAnisette server同樣是由NyaMisty開發的軟體，按照開發者說法這是類似Windows系統Sideloadly的程式，用於產生Anisette data（Apple軟體產生的隨機資料），繼而登入Apple Developer伺服器。Anisette伺服器亦可以搭配netmuxd，無線重簽AltStore APP。\n安裝Docker\n然後跑Anisette伺服器，NyaMisty/alt-anisette-server似乎沒在更新了，所以我改用Dadoum/anisette-v3-server的映像檔\ndocker run -d --restart always --name anisette-v3 -p 6969:6969 --volume anisette-v3_data:/home/Alcoholic/.config/anisette-v3/lib/ dadoum/anisette-v3-server 接著指定本機Anisette伺服器IP，執行AltServer嘗試安裝IPA： ALTSERVER_ANISETTE_SERVER=\u0026#34;http://127.0.0.1:6969\u0026#34; ./AltServer --udid \u0026#34;iOS裝置的UUID\u0026#34; --appleID \u0026#34;你的Apple ID\u0026#34; --password \u0026#34;Apple ID密碼\u0026#34; AltStore.ipa 5. AltStore如何重簽APP # 用AltStore安裝的APP（含AltStore本身）7天後就無法使用，要定期用電腦重簽。\n如果AltStore本身開不起來，直接重裝。APP只要不刪除，資料都會保留。\n5.1. 有線重簽 # iOS裝置連到電腦，配對完成後，執行AltServer： ./AltServer 在iOS裝置上開啟AltStore，點選My Apps → Refresh All開始重簽。 5.2. 無線重簽 # 使用Anisette server配合netmuxd重簽。\n停掉usbmuxd服務 sudo systemctl stop usbmuxd 啟動netmuxd ./netmuxd 接著再跑AltServer ./AltServer (您可能還需要跑一個Anisette server迴避連線問題）\n讓電腦與iOS裝置處在同一個Wifi下，開啟AltStore的My Apps，即可無線重簽。\n這裡還有一個用樹苺派建立自動重簽伺服器的範例，請參考這篇文章：Setup Altserver Linux on Raspberry Pi with Wifi Refresh - Github gist\n作者的方案是在樹莓派跑AltServer，再讓iOS裝置連上PC的iTunes，同步一次之後，樹莓派的Avahi就可以抓到iOS裝置的連線，讓netmuxd配對，從而完成重簽。\n延伸閱讀 # AltStore官方文件 AltStore Docs - AltStore 專門討論側載APP的Sildeload Reddit討論板 NyaMisty/AltServer-Linux - Github Python寫成的AltServer指令稿 powenn/AltServer-Linux-PyScript - Github 比較友善的互動式指令稿 LukeZGD/Legacy-iOS-Kit - Github 跨平台圖形化程式 Dadoum/Sideloader - Github ","date":"2024年8月18日","externalUrl":null,"permalink":"/posts/linux-altstore/","section":"所有文章","summary":"本文為Linux版AltStore安裝教學，Windows和macOS版的教學請看這裡。\nAltStore是一款開源第三方應用程式商店，允許您在iPhone/iPad安裝未經Apple審核的第三方APP，免越獄。 Linux版的AltStore功能類似原版AltStore，並且支援類似Sideloadly的側載IPA功能，還能跑AltServer伺服器給其他iOS裝置重簽。\n本文Ivon將介紹純文字指令的Linux版AltServer用法，方便查看錯誤訊息。\n如果想無腦一點的，請採用文末「延伸閱讀」列出的圖形版本。\n1. AltStore簡介 # AltStore由Riley Testut等人開發，支援iOS 12以上的iPhone/iPad/iPod touch裝置。 AltStore原理是利用自己的Apple ID開通開發者帳號，給APP簽名從而在iOS裝置安裝任意IPA。一部裝置最多安裝3個APP，7天後需要重簽(resign)。只要不刪除APP，重簽IPA後資料仍會保留。\nAltStore本體是個 iOS APP，要安裝AltStore的話需要在電腦跑AltServer，負責安裝AltStore與重簽APP之用。\n","title":"iOS安裝第三方APP，Linux版AltStore + AltServer使用教學","type":"posts"},{"content":"","date":"2024年8月18日","externalUrl":null,"permalink":"/tags/airplay/","section":"標籤","summary":"","title":"AirPlay","type":"tags"},{"content":"開源社群有開發UxPlay的專案，可以將Linux電腦當作AirPlay的接收端。\n那麼，反過來呢？\n無意間發現PipeWire有個模組叫做RAOP Discover (libpipewire-module-raop-discover)，讓Linux電腦能將音樂傳輸到AirPlay音響。啟用後Linux會透過Avahi服務，探索區域網路中的AirPlay裝置，並自動連線。\nPulseAudio也有叫做module-raop-discover的模組，可透過pipewire-pulse相容層運作。\n這裡我們使用PipeWire載入模組。\n1. 測試環境 # Ubuntu 26.04\nPipeWire版本：1.6.2\n接收端得使用Mac電腦或者支援AirPlay的HomePod音響，某些第三方的AirPlay接收軟體也行，例如Android的AirScreen。\n開源的UxPlay（版本1.69）無法處理RAOP的音訊播放請求。\n2. 載入模組 # 安裝pipewire-zeroconf套件 sudo pacman -S pipewire-zeroconf 啟用Avahi服務 sudo systemctl enable --now avahi-daemon 用pw-cli載入模組 pw-cli -m load-module libpipewire-module-raop-discover 編輯~/.config/pipewire/pipewire.conf.d/raop-discover.conf，設定登入後自動載入 context.modules = [ { name = libpipewire-module-raop-discover args = { } } ] GNOME與KDE桌面的音訊播放面板會自動出現AirPlay裝置，如果沒有出現，我們這裡用pavucontrol統一控制。\n開啟pavucontrol，選取AirPlay作為輸出裝置 從音效條的動畫來看，播放是有輸出音效沒錯，但AirPlay接收端卻無法播放音效，可能是bug？\nHelvum的圖表顯示AirPlay Sink確實有出現沒錯啊！ 啟用除錯輸出：PIPEWIRE_DEBUG=3 pw-cli -m load-module libpipewire-module-raop-discover，也看不出所以然。沒幾下就broken pipe 參考資料 # RAOP Discover - PipeWire Enable autodiscover AirPlay Client support on Arch Linux (like on macOS) Output audio to Apple HomePod on Linux - 噴火獸號：裴列恩之艦 ","date":"2024年8月18日","externalUrl":null,"permalink":"/posts/pipewire-raop-discover/","section":"所有文章","summary":"開源社群有開發UxPlay的專案，可以將Linux電腦當作AirPlay的接收端。\n那麼，反過來呢？\n無意間發現PipeWire有個模組叫做RAOP Discover (libpipewire-module-raop-discover)，讓Linux電腦能將音樂傳輸到AirPlay音響。啟用後Linux會透過Avahi服務，探索區域網路中的AirPlay裝置，並自動連線。\nPulseAudio也有叫做module-raop-discover的模組，可透過pipewire-pulse相容層運作。\n這裡我們使用PipeWire載入模組。\n1. 測試環境 # Ubuntu 26.04\nPipeWire版本：1.6.2\n接收端得使用Mac電腦或者支援AirPlay的HomePod音響，某些第三方的AirPlay接收軟體也行，例如Android的AirScreen。\n開源的UxPlay（版本1.69）無法處理RAOP的音訊播放請求。\n2. 載入模組 # 安裝pipewire-zeroconf套件 sudo pacman -S pipewire-zeroconf 啟用Avahi服務 sudo systemctl enable --now avahi-daemon 用pw-cli載入模組 pw-cli -m load-module libpipewire-module-raop-discover 編輯~/.config/pipewire/pipewire.conf.d/raop-discover.conf，設定登入後自動載入 context.modules = [ { name = libpipewire-module-raop-discover args = { } } ] GNOME與KDE桌面的音訊播放面板會自動出現AirPlay裝置，如果沒有出現，我們這裡用pavucontrol統一控制。\n","title":"Linux PipeWire透過AirPlay協定播放音樂","type":"posts"},{"content":"若要將iPhone/iPad的螢幕無線投影（鏡像）到其他螢幕，很多人會使用內建的「AirPlay」功能來投放吧。AirPlay是Apple公司研發的專有無線協定，Apple自家裝置都有內建，讓你可以把iPhone影片投放到Apple TV觀看。\n不過這樣要依賴特定程式才能看呢，於是有開發者將AirPlay的協定重新實作，製作出了跨平台的「UxPlay」軟體！完全開源免費，UxPlay支援Linux、Windows、macOS、FreeBSD、Raspberry Pi系統，可以將任意電腦變成AirPlay接收端(receiver)。有樹莓派的用戶更能土砲一個AirPlay音箱。\n跟類似軟體Shairport Sync比起來，UxPlay多了投影螢幕的功能。\n開啟Wifi，您就能將iPhone的畫面透過UxPlay投影到電腦上了。 UxPlay也能用來播放純音訊串流，用電腦無線播放手機的音樂，例如Apple Music。 另外，搭配OBS Studio的畫面擷取功能，即可像Scrcpy擷取Android螢幕那樣，在Linux電腦實現iOS螢幕錄影。\n1. 安裝UxPlay # 詳細文件參考Github說明\n許多Linux發行版已提供UxPlay套件，連樹莓派也有。但是macOS和Windows版需要自行編譯。\nLinux # Ubuntu/Debian從官方套件庫安裝： sudo apt install uxplay Arch Linux從AUR安裝UxPlay：\nyay -S uxplay UxPlay安裝後，需要開放以下防火牆通訊埠。用UFW指令的話就是： sudo ufw allow 5353 sudo ufw allow 7100 sudo ufw allow 7000 sudo ufw allow 7001 sudo ufw allow 6000 sudo ufw allow 6001 sudo ufw allow 7011 sudo ufw reload Linux還需要啟用Avahi服務 sudo systemctl enable --now avahi-daemon.service Windows # 目前尚未提供exe執行檔，你需要自行編譯。\n此處以Windows 11為例。\n至Apple Developers官網，登入Apple ID，下載並安裝Bonjour SDK for Windows v3.0\n下載MSYS2，安裝後應該會自動開啟終端機，把它關掉。\n在Windows程式列表，開啟「MSYS2 MINGW64」終端機\n安裝以下依賴套件\npacman -Syu pacman -S git mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc pacman -S mingw-w64-x86_64-libplist mingw-w64-x86_64-gstreamer mingw-w64-x86_64-gst-plugins-base mingw-w64-x86_64-gst-libav mingw-w64-x86_64-gst-plugins-good mingw-w64-x86_64-gst-plugins-bad 複製Git儲存庫，編譯安裝。uxplay.exe應會安裝到Windows的C:\\msys64\\mingw64\\bin\\資料夾。 git clone https://github.com/FDH2/UxPlay cd UxPlay mkdir build cd build cmake .. ninja cmake --install . --prefix /mingw64 允許UxPlay通過防火牆：在Windows搜尋欄鍵入「Windows防火牆」，點選「允許應用程式通過防火牆」，新增應用程式，路徑填C:\\msys64\\mingw64\\bin\\uxplay.exe\n日後要啟動uxplay，請用「MSYS2 MINGW64」終端機啟動：\ncd \u0026#34;C:\\msys64\\mingw64\\bin\u0026#34; ./uxplay.exe \u0026lt;參數\u0026gt; 或者找到C:\\msys64\\mingw64\\bin\\uxplay.exe檔案，點二下開啟也行。\nmacOS # 雖然macOS Monterey以後已經有類似AirPlay伺服器的功能，但是UxPlay的優勢在於讓舊版本macOS也能享有此功能。\n此處以macOS Ventura為例。\n開啟終端機，安裝Xcode command-line tools sudo xcode-select --install 安裝Homebrew\n安裝以下依賴套件\nbrew install cmake git libplist openssl@3 UxPlay作者建議手動安裝GStreamer發表的套件，不要用Homebrew的。至官網下載1.22.10 runtime installer和1.22.10 development installer二個pkg檔。接著在Finder按Shift安裝套件。\n複製UxPlay儲存庫，編譯安裝\ngit clone https://github.com/FDH2/UxPlay cd UxPlay cmake . make sudo make install 值得一提的是Mac電腦可以充當AirPlay的伺服端與客戶端，使用伺服端的模式下，Mac等同多出第二個螢幕。\n2. 投放螢幕到UxPlay # 確保iPhone和電腦位於同一個Wifi網路下，並且訊號要好。如果你需要低延遲，那就將iPhone插上電腦，用USB分享給電腦上網。\n於電腦執行以下指令，FPS上限60，螢幕解析度1920x1080，更新率60。\nuxplay -p -fps 60 -s 1920x1080@60 如果你是Windows需要全螢幕，請加入以下參數就能按Alt與Enter切換：\nuxplay -p -fps 60 -s 1920x1080@60 -vs \u0026#34;d3d11videosink fullscreen-toggle-mode=alt-enter\u0026#34; 開啟iPhone的控制中心，點選投放，會在列表看到uxplay＋電腦名稱的裝置 這樣電腦就會跳出iPhone畫面的視窗了，iPhone螢幕旋轉畫面會跟著轉，按F11切換全螢幕模式。 只要網路穩定，大螢幕觀看影片、玩遊戲都不是問題，音訊會一併傳過來。\n含有DRM內容的影片（如Netflix）可能無法透過AirPlay播放。\n有部份使用者回報說，Windows系統使用GPU解碼，同時投影和開啟簡報模式的話會導致畫面黑螢幕，這可以用-vd nvh264dec參數解決。（感謝讀者Nomi提供的解方)\n3. AirPlay串流音樂 # 上面提到Uxplay可以不播放畫面，只串流純音樂。\n啟動UxPlay： uxplay 在iPhone播放音樂，再選取AirPlay的播放對象。 這裡的AirPlay協定最高支援到ALAC 44Hz/16bit，無法串流真正的無損音質。 4. 將UxPlay設定為常駐系統服務 # 以樹莓派的Debian系統為例，Linux透過Systemd Unit新增開機服務，開機後自動啟動，可被同一Wifi下的iOS裝置探索。\n新增使用者服務 vim ~/.config/systemd/user/uxplay.service 填入以下內容，設定全螢幕啟動。（註解：如果你的樹莓派沒接螢幕，請改用純音訊模式的引數） [Unit] Description=UxPlay service After=syslog.target network.target [Service] ExecStart=/usr/bin/uxplay -p -fs -fps 60 -s 1920x1080@60 [Install] WantedBy=default.target 設定開機自動啟動UxPlay服務 systemctl --user daemon-reload systemctl --user enable --now uxplay 5. 使用OBS Studio錄製iPhone畫面 # 有時候跑一些大型遊戲，又在iPhone上進行錄影的話會給手機帶來很大負擔，這個時候可以透過OBS Studio擷取UxPlay的視窗，降低手機負擔。\n安裝OBS Studio\n開啟OBS Studio，點選「新增畫面擷取」，選取UxPlay的視窗即可。 6. 用藍芽反向控制iPhone # 專有軟體「ApowerMirror」有一個功能是反控投放螢幕的iPhone，我想說iOS什麼時候開放這麼高的權限了？原來它是用軟體模擬出一個藍芽滑鼠再與iOS配對呀！\n理論上，Linux用taoso/btk或UniControlHub做一個假的藍芽滑鼠出來，再與iPhone配對，即可遠端控制iPhone輸入。\n如果不行，大不了再準備一支實體藍芽滑鼠就好。\n","date":"2024年8月17日","externalUrl":null,"permalink":"/posts/ios-airplay-uxplay/","section":"所有文章","summary":"若要將iPhone/iPad的螢幕無線投影（鏡像）到其他螢幕，很多人會使用內建的「AirPlay」功能來投放吧。AirPlay是Apple公司研發的專有無線協定，Apple自家裝置都有內建，讓你可以把iPhone影片投放到Apple TV觀看。\n不過這樣要依賴特定程式才能看呢，於是有開發者將AirPlay的協定重新實作，製作出了跨平台的「UxPlay」軟體！完全開源免費，UxPlay支援Linux、Windows、macOS、FreeBSD、Raspberry Pi系統，可以將任意電腦變成AirPlay接收端(receiver)。有樹莓派的用戶更能土砲一個AirPlay音箱。\n跟類似軟體Shairport Sync比起來，UxPlay多了投影螢幕的功能。\n開啟Wifi，您就能將iPhone的畫面透過UxPlay投影到電腦上了。 UxPlay也能用來播放純音訊串流，用電腦無線播放手機的音樂，例如Apple Music。 另外，搭配OBS Studio的畫面擷取功能，即可像Scrcpy擷取Android螢幕那樣，在Linux電腦實現iOS螢幕錄影。\n1. 安裝UxPlay # 詳細文件參考Github說明\n","title":"UxPlay用法 ~ 投影iPhone螢幕到Linux電腦，跨平台免費的AirPlay解決方案","type":"posts"},{"content":"免裝iTunes備份iPhone資料！\niTunes沒有Linux版，用Wine跑Windows版問題也很多，那麼我們要如何完整備份iPhone資料呢？\n我們就利用「idevicebackup」達成備份iPhone的目的吧。這是libimobiledevice的附屬工具，屬於開源軟體，安全無毒，備份功能類似iTunes。\nidevicebackup的原始碼可在Github檢視。\n1. 安裝idevicebackup套件 # 安裝libimobiledevice套件，例如在Ubuntu就是： sudo apt install usbmuxd libimobiledevice-utils sudo systemctl enable --now usbmuxd 之後將iPhone插到Linux電腦，確認iPhone是否有被辨識到： lsusb 輸入指令配對 idevicepair pair 在iPhone上點選「信任此電腦」。\n確認配對是否成功\nidevicepair validate 2. 開始備份iPhone資料 # 使用以下指令，將備份檔儲存到~/下載目錄 idevicebackup2 backup --full ~/下載 若要給備份檔啟用加密的話，改用這條：\nidevicebackup2 encryption on --password \u0026#34;密碼\u0026#34; --full ~/下載 註：若遇到Could not perform backup protocol version exchange錯誤，代表idevicebackup2版本太舊，需要到Github抓新版來用。\n在iPhone上輸入密碼，開始備份\n接著等待備份完成。 實際觀察可見，備份檔的大小不會是iPhone的全部容量，而是實際佔用的容量，如此一來可以節省空間。 3. 還原iPhone備份 # 還原備份前，請關閉「尋找我的iPhone」功能\n取得iPhone的裝置ID\nidevicepair validate 還原備份。 idevicebackup2 --source \u0026#34;裝置ID\u0026#34; restore --full --reboot \u0026#34;備份檔路徑\u0026#34; 備份檔路徑這邊的寫法比較特別一點，它必須是備份目錄的「上一層目錄」，例如備份目錄aabbcc位於/home/user/下載，那麼就得這樣寫： idevicebackup2 --source \u0026#34;裝置ID\u0026#34; restore --full --reboot \u0026#34;/home/user/下載\u0026#34; 結束後iPhone會自動重開機。 參考資料 # idevicebackup - Create or restore backup for devices. - Ubuntu ManPage ","date":"2024年8月17日","externalUrl":null,"permalink":"/posts/linux-idevicebackup/","section":"所有文章","summary":"免裝iTunes備份iPhone資料！\niTunes沒有Linux版，用Wine跑Windows版問題也很多，那麼我們要如何完整備份iPhone資料呢？\n我們就利用「idevicebackup」達成備份iPhone的目的吧。這是libimobiledevice的附屬工具，屬於開源軟體，安全無毒，備份功能類似iTunes。\nidevicebackup的原始碼可在Github檢視。\n1. 安裝idevicebackup套件 # 安裝libimobiledevice套件，例如在Ubuntu就是： sudo apt install usbmuxd libimobiledevice-utils sudo systemctl enable --now usbmuxd 之後將iPhone插到Linux電腦，確認iPhone是否有被辨識到： lsusb 輸入指令配對 idevicepair pair 在iPhone上點選「信任此電腦」。\n確認配對是否成功\nidevicepair validate 2. 開始備份iPhone資料 # 使用以下指令，將備份檔儲存到~/下載目錄 idevicebackup2 backup --full ~/下載 若要給備份檔啟用加密的話，改用這條：\nidevicebackup2 encryption on --password \"密碼\" --full ~/下載 註：若遇到Could not perform backup protocol version exchange錯誤，代表idevicebackup2版本太舊，需要到Github抓新版來用。\n在iPhone上輸入密碼，開始備份\n接著等待備份完成。 ","title":"用Linux備份與回復iPhone資料，idevicebackup指令使用方法","type":"posts"},{"content":"適用版本：Ubuntu 24.04以上\n「ifuse」為libimobiledevice開發者製作的開源工具，功能有：\n讓Linux能讀取iPhone的「相機膠卷」資料夾 存取iPhone APP的共享資料夾，類似iTunes的APP檔案共享 如果iPhone有越獄，ifuse可以掛載iOS的根目錄，檢視手機上的全部檔案。 若你使用GNOME或KDE檔案管理員，iPhone一接上電腦可能會自動顯示相機膠卷，背後依賴的就是ifuse。 本文討論的是ifuse指令用法，若你想了解如何圖形化界面管理iPhone檔案，請參閱使用GNOME與KDE的檔案管理器整理iPhone檔案\n1. 安裝ifuse套件 # 安裝libimobiledevice與ifuse套件，例如在Ubuntu就是： sudo apt install usbmuxd libimobiledevice-utils libimobiledevice-dev libplist-dev ifuse sudo systemctl enable --now usbmuxd 之後將iPhone插到Linux電腦，確認iPhone是否有被辨識到： lsusb 輸入指令配對 idevicepair pair 在iPhone上信任此電腦。 確認配對是否成功\nidevicepair validate 2. 存取iPhone的相機膠卷 # iPhone的相機膠卷即DCIM/100APPLE目錄。\n如果iPhone接上電腦後，Linux沒有自動掛載的話，要手動用ifuse掛載。\n建立掛載點，例如這裡是/run/media/user/iphone sudo mkdir -p /run/media/$USER/iphone 用ifuse掛載iPhone的目錄，加上-o allow_other引數讓其他使用者存取該目錄 sudo ifuse -o allow_other /run/media/$USER/iphone 開啟掛載點下的DCIM/100APPLE目錄，這樣就能將iPhone上的照片與影片傳輸到電腦了。 雖然可以直接在檔案管理員複製，不過建議用cp -a指令複製，才能保留照片拍攝時間。\ncp -r -a /run/media/user/iphone/DCIM/100APPLE ~/Pictures 注意：不建議從電腦移動照片到iPhone相機膠卷，iCloud和照片時間會錯亂。\n但如果移了就得強迫iPhone重新整理相機膠卷。首先取消掛載，再將iPhone重開機，照片才會出現。\n# 移動完照片後刪除快取，之後iPhone的照片APP會閃退 cd /run/media/$USER/iphone/PhotoData rm Photos* cd # 取消掛載，然後將iPhone重開機 sudo fusermount -u /run/media/$USER/iphone 3. 存取iOS APP的共享資料夾 # 有些iOS APP的資料夾可以讓我們放檔案進去，例如將影片放到VLC影片播放器的目錄，而非放到iOS的相機膠卷。這類資料夾能在iPhone的「檔案」APP → 我的iPhone看到。\niOS APP的資料夾可透過電腦版iTunes的「檔案共享」界面存取，而Linux要手動依照APP ID掛載。\n下面以VLC影片播放器APP為例子。\n列出iPhone上安裝的APP列表，例如VLC的APP ID為org.videolan.vlc-ios ifuse --list-apps 建立掛載點 sudo mkdir -p /run/media/$USER/iphone-org.videolan.vlc 用ifuse掛載VLC的目錄 sudo ifuse -o allow_other --documents org.videolan.vlc-ios /run/media/$USER/iphone-org.videolan.vlc 這樣就可以將電腦檔案移動到VLC的目錄了。 移動完成後取消掛載：\nsudo fusermount -u /run/media/$USER/iphone-org.videolan.vlc 4. 掛載越獄iPhone的根目錄 # 不支援rootless越獄，必須使用rootful越獄才行。\n此外，iOS裝置需要安裝「AFC2」的tweak才能讓Linux看到根目錄。\n掛載檔案系統：\nifuse --root /run/media/$USER/iphone 參考資料 # ifuse. A fuse filesystem implementation to access the contents of iOS devices. - Github ","date":"2024年8月17日","externalUrl":null,"permalink":"/posts/linux-ifuse/","section":"所有文章","summary":"適用版本：Ubuntu 24.04以上\n「ifuse」為libimobiledevice開發者製作的開源工具，功能有：\n讓Linux能讀取iPhone的「相機膠卷」資料夾 存取iPhone APP的共享資料夾，類似iTunes的APP檔案共享 如果iPhone有越獄，ifuse可以掛載iOS的根目錄，檢視手機上的全部檔案。 若你使用GNOME或KDE檔案管理員，iPhone一接上電腦可能會自動顯示相機膠卷，背後依賴的就是ifuse。 本文討論的是ifuse指令用法，若你想了解如何圖形化界面管理iPhone檔案，請參閱使用GNOME與KDE的檔案管理器整理iPhone檔案\n1. 安裝ifuse套件 # 安裝libimobiledevice與ifuse套件，例如在Ubuntu就是： sudo apt install usbmuxd libimobiledevice-utils libimobiledevice-dev libplist-dev ifuse sudo systemctl enable --now usbmuxd 之後將iPhone插到Linux電腦，確認iPhone是否有被辨識到： lsusb 輸入指令配對 idevicepair pair 在iPhone上信任此電腦。 確認配對是否成功\nidevicepair validate 2. 存取iPhone的相機膠卷 # iPhone的相機膠卷即DCIM/100APPLE目錄。\n如果iPhone接上電腦後，Linux沒有自動掛載的話，要手動用ifuse掛載。\n","title":"ifuse：iPhone傳檔案到Linux電腦，實現iTunes檔案共享","type":"posts"},{"content":"","date":"2024年8月17日","externalUrl":null,"permalink":"/tags/content-management-system/","section":"標籤","summary":"","title":"Content Management System","type":"tags"},{"content":"TinaCMS為一款開源的headless CMS，由Forestry CMS團隊所開發。\nTinaCMS可以完全自架，只在本機執行，也可以用官方的TinaCloud服務，達成線上編輯儲存庫效果。 1. TinaCMS使用情境？ # 目前Ivon的Hugo網站是在本機撰寫markdown，再推送到Github，最後由主機託管網站完成線上建置Hugo網頁的。\n這樣要撰寫文章不方便，因為我得坐在電腦前才能編輯markdown，不能隨時隨地開其他網站線上修改文章。\n有沒有可能，我能夠直接線上編輯Github的Git儲存庫的程式碼呢？「github.dev」是可以做到，不過我想要更全面的編輯器，所以就試著用TinaCMS來管理。\nTinaCMS的彈性很高，它會在你的Hugo網站儲存庫加上一個NodeJS套件，使之擁有網頁編輯後台，就像Wordpress那樣。\n這樣你就能在網頁寫Markdown了，提供所見即所得編輯器。 還有簡易圖片資源管理器。 而TinaCMS可以設定為僅供本機存取，或者連線到Tina Cloud，隨時隨地遠端存取。\n不過，跟vscode-frontmatter-cms比起來，TinaCMS的網頁後台文章編輯功能相對弱很多，只支援單一語言網站，且無法載入Hugo本機圖片資源，搜尋功能很差勁。 感覺Hugo不是他們的優先支援項目，他們Youtube頻道示範用的是React的Live Preview功能，編輯起來效果比較好。\n2. 自架TinaCMS # 自架(self-hosted)又稱Local Mode，所作的變更會儲存到本機Git儲存庫。\n自架TinaCMS只能在本機使用，算是給Hugo做一個網頁後台吧。\n在本機Hugo儲存庫的目錄開啟終端機，用npx安裝tinacms套件，詢問問題的時候選取Hugo npx @tinacms/cli@latest init 編輯package.json，加入Hugo建置網站的指令 \u0026#34;scripts\u0026#34;: { \u0026#34;dev\u0026#34;: \u0026#34;tinacms dev -c \\\u0026#34;hugo server\\\u0026#34;\u0026#34;, \u0026#34;build\u0026#34;: \u0026#34;tinacms build \u0026amp;\u0026amp; hugo\u0026#34; }, 編輯tina/config.ts，指定Hugo文章所在的目錄 schema: { collections: [ { name: \u0026#34;post\u0026#34;, label: \u0026#34;Posts\u0026#34;, path: \u0026#34;content.zh-tw/posts\u0026#34;, fields: [ { type: \u0026#34;string\u0026#34;, name: \u0026#34;title\u0026#34;, label: \u0026#34;Title\u0026#34;, isTitle: true, required: true, }, { type: \u0026#34;rich-text\u0026#34;, name: \u0026#34;body\u0026#34;, label: \u0026#34;Body\u0026#34;, isBody: true, }, ], }, ], }, 在本機啟動TinaCMS，這個會啟動TinaCMS的伺服器服務，以及執行hugo server指令 npm run dev 開啟http://localhost:1313/admin/index.html後即可看到TinaCMS的界面 3. 將TinaCMS與Tina Cloud連線 # 將TinaCMS納入Hugo網站的一部分，就可以用Tina Cloud的界面，從任何裝置編輯Hugo網站程式碼。\n通常部署Hugo網站的時候，我們只會告訴主機託管網站建置Hugo的網頁就好了，現在我們要稍做修改，讓它把TinaCMS的那部份也建置成網頁。\n到TinaCMS 註冊一個Tina Cloud帳號\n授權Tina Cloud存取Gtihub帳號，選取你的Hugo網站的儲存庫\n參照官方文件，將API Key加入到你Hugo網站儲存庫的tina/config.ts\n請記得調整主機託管網站的建置指令，讓TinaCMS跟著Hugo網頁一起建置：\nnpm run build 推送變更到Github git push 請看一下你的主機託管網站的建置log，確認沒有問題再繼續\n在那之後，你就可以用https://自己的網域/admin/index.html登入Tina Cloud了！\n於Tina Cloud所作的變更都會直接寫入到Github儲存庫，提交commit，從而觸發建置。\n","date":"2024年8月17日","externalUrl":null,"permalink":"/posts/tinacms-hugo/","section":"所有文章","summary":"TinaCMS為一款開源的headless CMS，由Forestry CMS團隊所開發。\nTinaCMS可以完全自架，只在本機執行，也可以用官方的TinaCloud服務，達成線上編輯儲存庫效果。 1. TinaCMS使用情境？ # 目前Ivon的Hugo網站是在本機撰寫markdown，再推送到Github，最後由主機託管網站完成線上建置Hugo網頁的。\n這樣要撰寫文章不方便，因為我得坐在電腦前才能編輯markdown，不能隨時隨地開其他網站線上修改文章。\n有沒有可能，我能夠直接線上編輯Github的Git儲存庫的程式碼呢？「github.dev」是可以做到，不過我想要更全面的編輯器，所以就試著用TinaCMS來管理。\nTinaCMS的彈性很高，它會在你的Hugo網站儲存庫加上一個NodeJS套件，使之擁有網頁編輯後台，就像Wordpress那樣。\n這樣你就能在網頁寫Markdown了，提供所見即所得編輯器。 還有簡易圖片資源管理器。 而TinaCMS可以設定為僅供本機存取，或者連線到Tina Cloud，隨時隨地遠端存取。\n不過，跟vscode-frontmatter-cms比起來，TinaCMS的網頁後台文章編輯功能相對弱很多，只支援單一語言網站，且無法載入Hugo本機圖片資源，搜尋功能很差勁。 感覺Hugo不是他們的優先支援項目，他們Youtube頻道示範用的是React的Live Preview功能，編輯起來效果比較好。\n","title":"TinaCMS：給Hugo裝個網站管理後台，線上編輯Git儲存庫","type":"posts"},{"content":" Androidスマートフォン/タブレットに、完全なLinuxシステムの仮想マシンをインストールする方法を紹介します。rootは不要です。\nTermuxではQEMUを使ってLinux仮想マシンをエミュレート実行でき、proot-distro環境の不足を補えます。\nなぜQEMUを使うのでしょうか。proot-distroが提供するLinux環境はchrootに似ていますが、それでもPodman、Docker、Snap、Flatpak、Systemdに依存するプログラムなど、動かないパッケージがあります。そのため仮想マシンが必要になります。\nQEMUを使うと、x86またはARMアーキテクチャの仮想マシンをエミュレートし、完全なLinuxデスクトップシステムを実行できます。下の画像はAndroidスマートフォンでXubuntuシステムを動かしている画面です。 これでほぼすべてのソフトウェアが動かせます。画像はPodmanの実行結果です。 ついでに言うと、QEMUはLimbo PC Emulatorの背後で使われているエミュレータです。Limboの更新が止まった後でも、TermuxのQEMUパッケージで仮想マシンを動かせます。\n注意： ほとんどのAndroidスマートフォンにはKVMカーネルモジュールがありません（Root化したPixelスマートフォンでpKVMを使いQEMUを高速化のみ）。そのためTermuxのQEMUは、PC版LinuxのようにKVMで仮想マシンの実行を高速化できません。KVMがない場合、QEMU仮想マシンの実行速度は非常に遅く、仮想マシン内のプログラム実行速度はTermuxネイティブパッケージの5分の1にも届かない程度です。テキストだけのプログラムならなんとか使えますが、文書作業の体験はよくありません。ゲームはなおさらです。\nこの実行速度を考えると、グラフィカル画面を動かさず、直接SSHで入ってプログラムを実行してもよいでしょう。\n1. 環境 # スマートフォン：Sony Xperia 5 II システムバージョン：Android 14 プロセッサ：Qualcomm Snapdragon 865 RAM：8GB Linux仮想マシンのシステム：Ubuntu 24.04 x86_64 (Xubuntu) QEMUを動かすスマートフォンは、フラッグシップ級プロセッサを搭載し、RAM 8GB以上の機種が必要です。\nLinuxディストリビューションはUbuntuを使います。ただしGNOMEは少し重すぎるので、ここでは軽量なXubuntuを選び、XFCEデスクトップを使います。グラフィカル画面が不要なら、Ubuntu Serverを選んでもかまいません。Ubuntu以外では、組み込みシステム向けに設計されたAlpine Linuxという、さらに軽量な選択肢もあります。起動速度も速いです。（参照：Termuxでheadless Alpine Linux QEMU仮想マシンを動かす）\nKVMアクセラレーションがないため、x86とARMのどちらのアーキテクチャをエミュレートしても大きな差はありません。\nヒント：Linux PC上でQEMUを動かし（KVMがあると速いです）、システムをインストール済みのqcow2イメージを作ってからスマートフォンへ移して起動すると、システムのインストール時間を節約できます。\n2. 事前依存パッケージをインストール # AVNCなどのVNCクライアントをインストールします。\nTermuxをインストールします。\nTermuxを開き、バックグラウンドで実行し続けます。\nXubuntu公式サイトでISOダウンロードリンクをコピーし、wgetコマンドでダウンロードします。\npkg install wget wget https://ftp.ubuntu-tw.net/mirror/ubuntu-cdimage/xubuntu/releases/24.04/release/xubuntu-24.04-desktop-amd64.iso 次にQEMUとSSHパッケージをインストールします。 pkg install qemu-system-x86_64 qemu-utils qemu-common openssh vim ovmf 3. Linux仮想マシンをインストール # インストールコマンドはLinux PCでQEMUを動かすと似ていますが、AndroidにはKVMがないため少し変更します。\n32GBの仮想ハードディスクを追加します。 qemu-img create -f qcow2 xubuntu.qcow2 32G 起動スクリプトを追加します。 vim startubuntu.sh 次の内容を入力します。 qemu-system-x86_64 -machine q35 \\ -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \\ -m 4096 \\ -accel tcg,thread=multi \\ -smp sockets=1,cores=4,threads=1 \\ -cpu qemu64 \\ -vga std \\ -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 \\ -device intel-hda \\ -usbdevice tablet \\ -boot menu=on -drive file=xubuntu.qcow2 \\ -vnc :0 \\ -cdrom xubuntu-24.04-desktop-amd64.iso コマンドの説明： # x86_64の仮想マシンを実行 qemu-system-x86_64 -machine q35 \\ # UEFIブートを有効化 -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \\ # 4GB RAMを割り当て -m 4096 \\ # KVMがないのでTCGアクセラレーションだけを使う -accel tcg,thread=multi \\ # CPUは1ソケット、4コア、1スレッドを割り当て -smp sockets=1,cores=4,threads=1 \\ -cpu qemu64 \\ # 仮想グラフィックカード -vga std \\ # virtioネットワークカードを使い、仮想マシンのSSHポートを外部アクセス用に転送 -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 \\ # サウンドカード -device intel-hda \\ # マウスとキーボード -usbdevice tablet \\ # 仮想ハードディスク -boot menu=on -drive file=xubuntu.qcow2 \\ # VNCサーバーを起動 -vnc :0 \\ # 起動ISO -cdrom xubuntu-24.04-desktop-amd64.iso 起動します。 chmod +x startubuntu.sh ./startubuntu.sh AVNCアプリを開き、IPにlocalhost:5900を入力して、Xubuntuデスクトップへ接続します。 起動画面に入るまで待ち、Xubuntuをインストールしてからシャットダウンします。\nスクリプトを編集します。\nvim startubuntu.sh cdromオプションを削除します。 qemu-system-x86_64 -machine q35 \\ -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \\ -m 4096 \\ -accel tcg,thread=multi \\ -smp sockets=1,cores=4,threads=1 \\ -cpu qemu64 \\ -vga std \\ -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 \\ -device intel-hda \\ -usbdevice tablet \\ -boot menu=on -drive file=xubuntu.qcow2 \\ -vnc :0 以後はこのスクリプトで起動し、システムに入れるかテストします。 4. 仮想マシンへSSHする # Xubuntuでターミナルを開き、SSHサービスを有効化します。 sudo apt install openssh-server sudo systemctl enable --now ssh Termuxの左側からスライドして新しいsessionを開き、SSHで入れるか試します。 ssh user@localhost -p 2222 SSH操作はグラフィカル画面よりかなり快適なはずです。結局テキストだけですから。 5. 実際の使用感 # Xubuntuデスクトップへ起動するだけで少なくとも10分かかります。\nFirefoxは開くだけで5分、Googleトップページの読み込みにさらに5分かかります。GPUアクセラレーションは期待しないでください。（備考：Snapでインストールしないでください。遅すぎます）\npodman run hello-worldコマンドの実行時間は……だいたい30秒です。\nまとめると、グラフィカル画面を動かすのは実用的ではありませんが、テキストだけのプログラムを動かす価値はあります。\n","date":"2024年8月17日","externalUrl":null,"permalink":"/ja-jp/posts/termux-qemu-system-linux/","section":"Termux-Tutorials","summary":" Androidスマートフォン/タブレットに、完全なLinuxシステムの仮想マシンをインストールする方法を紹介します。rootは不要です。\nTermuxではQEMUを使ってLinux仮想マシンをエミュレート実行でき、proot-distro環境の不足を補えます。\nなぜQEMUを使うのでしょうか。proot-distroが提供するLinux環境はchrootに似ていますが、それでもPodman、Docker、Snap、Flatpak、Systemdに依存するプログラムなど、動かないパッケージがあります。そのため仮想マシンが必要になります。\nQEMUを使うと、x86またはARMアーキテクチャの仮想マシンをエミュレートし、完全なLinuxデスクトップシステムを実行できます。下の画像はAndroidスマートフォンでXubuntuシステムを動かしている画面です。 これでほぼすべてのソフトウェアが動かせます。画像はPodmanの実行結果です。 ついでに言うと、QEMUはLimbo PC Emulatorの背後で使われているエミュレータです。Limboの更新が止まった後でも、TermuxのQEMUパッケージで仮想マシンを動かせます。\n注意： ほとんどのAndroidスマートフォンにはKVMカーネルモジュールがありません（Root化したPixelスマートフォンでpKVMを使いQEMUを高速化のみ）。そのためTermuxのQEMUは、PC版LinuxのようにKVMで仮想マシンの実行を高速化できません。KVMがない場合、QEMU仮想マシンの実行速度は非常に遅く、仮想マシン内のプログラム実行速度はTermuxネイティブパッケージの5分の1にも届かない程度です。テキストだけのプログラムならなんとか使えますが、文書作業の体験はよくありません。ゲームはなおさらです。\n","title":"AndroidにUbuntuを入れる：TermuxのQEMUでx86_64 Linux仮想マシンをエミュレートする","type":"termux-tutorials"},{"content":"","date":"2024年8月17日","externalUrl":null,"permalink":"/ja-jp/tags/docker/","section":"Tags","summary":"","title":"Docker","type":"tags"},{"content":"","date":"2024年8月17日","externalUrl":null,"permalink":"/ja-jp/tags/qemu/","section":"Tags","summary":"","title":"QEMU","type":"tags"},{"content":"","date":"2024-08-15","externalUrl":null,"permalink":"/en-us/categories/vms-and-containers/","section":"Categories","summary":"","title":"VMs and Containers","type":"categories"},{"content":"English version\nReDroid (Remote anDroid) 是自架「雲手機」的方案，透過Docker跑Android系統容器，再利用Scrcpy的鏡射螢幕功能連線到Android桌面。 在Linux用ReDroid玩FGO\nReDroid也是在電腦上用開源軟體跑Android APP的解決方案。因為別說雲手機了，很多Android手遊模擬器都是閉源軟體哪。相較之下，ReDroid除了ARM轉譯器以外都是開源的。更棒的是ReDroid支援GPU加速＋ARM轉x86的轉譯器，這樣就可以玩大多數手機3D遊戲了。\n對Linux用戶來說，這更是除了Waydroid和Android-x86虛擬機以外，在Linux電腦高效率跑Android APP的方法。並且它比Waydroid更適合當作雲手機使用。參見自架雲手機\n本文將討論如何在x86架構的Linux電腦，用ReDroid玩ARM架構的手機遊戲。我們會在ReDroid映像檔加入ARM轉譯器＋Google服務框架，以達成最佳使用體驗。\n1. ReDroid系統需求 # 任一Linux發行版應該都可以。\n本文示範使用x86架構的電腦跑ReDroid。至於ARM架構的電腦，有網友回報Oracle ARM架構伺服器部署成功的案例，我也測試過可以在樹莓派5跑ReDroid。\n如果電腦是x86架構，則只能執行x86架構的Android APP，然而很多手機遊戲只有ARM架構版本，所以ReDroid需要裝libndk或libhoudini的ARM轉譯器。\n要玩手遊建議電腦至少8GB以上RAM，因為有時ARM在轉譯成x86指令時會佔用大量RAM。\nGPU加速部份，建議使用使用Linux Mesa支援的驅動，例如Intel和AMD的GPU，3D加速開箱即用。Nvidia不建議。\n關於Android版本，Redroid作者發布的redroid:11.0.0-latest和redroid:12.0.0-latest映像檔已內建Google開發的ARM轉譯器libndk，我試過只有Android 11比較穩定，GApps也可以用，所以本文選用Android 11的映像檔。\n2. 安裝ReDroid前置依賴項目 # ReDroid的Github有各大Linux發行版的安裝說明，我使用Ubuntu系統做示範。\n首先要準備binder核心模組。Ubuntu 24.04執行以下指令，安裝必要的binder核心模組： sudo apt install linux-modules-extra-`uname -r` sudo modprobe binder_linux devices=\u0026#34;binder,hwbinder,vndbinder\u0026#34; 將以上核心模組加入開機自動載入 echo \u0026#39;binder_linux options binder_linux devices=\u0026#34;binder,hwbinder,vndbinder\u0026#34;\u0026#39; | sudo tee -a /etc/modules-load.d/redroid.conf 安裝Docker，用於執行容器\n安裝ADB工具\n最後安裝Scrcpy。\n若想要整合按鍵映射的圖形化Scrcpy界面，可以改裝QtScrcpy。您還可以嘗試網頁版的ws-scrcpy。\n3. 預先給ReDroid映像檔安裝GApps # ReDroid作者發布的映像檔是原生Android，沒有預裝GApps。你可以到Docker Hub找別人事先建置好的ReDroid映像檔，有的內建GApps，就不用自己build了。當然，風險自負。\n這裡我們透過ayasa520的Remote-Android Script指令稿，自動拉取ReDroid映像檔並將GApps裝上去。僅支援Android 11的映像檔。\n這個指令稿也可以用來安裝libndk、libhoudini、Magisk、Widevine DRM等元件。\n複製Remote-Android Script儲存庫，建立Python虛擬環境 sudo apt install lzip python3 python3-venv python3-pip git clone https://github.com/ayasa520/redroid-script.git cd redroid-script python3 -m venv venv venv/bin/pip install -r requirements.txt 拉取Android 11的映像檔，並安裝GApps venv/bin/python3 redroid.py -a 11.0.0 -g 這樣就會得到包含GApps的映像檔redroid/redroid:11.0.0_gapps了。 4. 以docker-compose啟動ReDroid容器 # 本步驟僅Nvidia顯示卡需要，Intel與AMD顯示卡用戶直接跳下一步。ReDroid對Nvidia顯示卡支援度不佳，可以的話建議改用內顯跑。如果執意要用Nvidia，建立跑ReDroid的虛擬機，因Nvidia閉源驅動無法讓ReDroid使用GPU加速，需要跑一個QEMU虛擬機，再在裡面裝ReDroid透過virtio-gpu達成硬體加速，但因為是半虛擬化技術，所以性能會有很大損失。如果不建立虛擬機，電腦又沒有內顯的話，ReDroid會走軟體渲染。若你可以接受軟體渲染的效能，那麼就不需要安裝虛擬機。 建立跑ReDroid的虛擬機 安裝QEMU ＋ Virt Manager，下載Ubuntu 24.04，建立一個64GB的Ubuuntu虛擬機\nqemu-img create -f qcow2 ubuntu.qcow2 64GB qemu-system-x86_64 -boot d -cdrom \u0026#34;ubuntu-22.04.1-desktop-amd64.iso\u0026#34; -enable-kvm -smp 4 -device intel-hda -device hda-duplex -device virtio-vga-gl -net nic -net user,hostfwd=tcp::5555-:5555 -cpu host -m 4096 -display sdl,gl=on -hda ubuntu.qcow2 開機進虛擬機，然後再裝Docker。\nqemu-system-x86_64 -enable-kvm -smp 4 -device intel-hda -device hda-duplex -device virtio-vga-gl -net nic -net user,hostfwd=tcp::5555-:5555 -cpu host -m 4096 -display sdl,gl=on -hda ubuntu.qcow2 建立存放Android資料的目錄，並新增docker-compose mkdir ~/redroid cd redroid vim docker-compose.yml 填入以下內容： services: redroid: image: redroid/redroid:11.0.0_gapps # 使用剛剛建立的內含GApps的ReDroid映像檔 stdin_open: true tty: true privileged: true ports: - 127.0.0.1:5555:5555 # ADB通訊埠，為加強安全性，設定為只監聽本機localhost的通訊埠 volumes: - ./redroid-11-data:/data # 資料存放在目前目錄 command: - androidboot.redroid_width=720 # 手機解析度 - androidboot.redroid_height=1280 - androidboot.redroid_dpi=320 - androidboot.redroid_fps=60 - androidboot.redroid_gpu_mode=host # 啟用宿主機的GPU硬體加速，host為GPU加速，guest為軟體渲染 - ro.product.cpu.abilist0=x86_64,arm64-v8a,x86,armeabi-v7a,armeabi # 設定libndk相關 - ro.product.cpu.abilist64=x86_64,arm64-v8a - ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi - ro.dalvik.vm.isa.arm=x86 - ro.dalvik.vm.isa.arm64=x86_64 - ro.enable.native.bridge.exec=1 - ro.dalvik.vm.native.bridge=libndk_translation.so - ro.ndk_translation.version=0.2.2 啟動服務 sudo docker compose up -d 用ADB連線至本機的ReDroid。因為是本機，所以IP填寫localhost，如果ReDroid部署在遠端，就改成寫遠端主機的IP。 adb connect localhost:5555 # 如果連不上，用以下指令看一下容器內部發生什麼問題 sudo docker ps sudo docker exec \u0026lt;容器ID\u0026gt; logcat sudo docker logs \u0026lt;容器ID\u0026gt; 執行Scrcpy，連線到Android： scrcpy -s localhost:5555 --audio-codec=aac 這樣就會看到Android的桌面了。 Google Play服務可能會跳出「裝置未驗證」的錯誤訊息。\n執行以下指令取得Android裝置ID，到Google網站註冊裝置，等個30分鐘後重新啟動Redroid容器，才能登入Google Play。\nadb -s localhost:5555 root adb -s localhost:5555 shell \u0026#39;sqlite3 /data/data/com.google.android.gsf/databases/gservices.db \\ \u0026#34;select * from main where name = \\\u0026#34;android_id\\\u0026#34;;\u0026#34;\u0026#39; 要確認ReDroid的3D加速是否有正常運作，請安裝AIDA64看能否認到你電腦的GPU型號。\n建議要加強安全性的，將ReDroid的docker-compose網路設定為只監聽本機localhost的通訊埠（ports: 127.0.0.1:5000:5000）。如果要將ReDroid開放外網存取，請注意設定防火牆，不要將ADB的5000通訊埠直接暴露到公網，否則會有嚴重安全性疑慮。\n5. ReDroid如何安裝APK # 目前即使有安裝libndk，Android 11的Play商店還是不給下載ARM架構的APP，請配合APKPure之類的應用程式商店安裝APP。\n除了用容器內部的瀏覽器下載APK外，你還可以用ADB安裝APK至ReDroid容器。比方說到ApkMirror下載Line的APK，接著用ADB安裝：\nadb -s localhost:5555 install \u0026#34;jp.naver.line.android.apk\u0026#34; Scrcpy支援拖曳APK到視窗安裝。\n你也可以用ADB的pull和push指令傳輸檔案。\n6. ReDroid如何「開關機」 # 如果要將ReDroid關機，將Scrcpy視窗關閉後，停止容器：\ncd ~/redroid sudo docker compose down 之後可以再用此指令啟動ReDroid。ReDroid容器的/data資料位於~/redroid/redroid-11-data目錄，可以用來備份多個系統的檔案。\ncd ~/redroid sudo docker compose up -d adb connect localhost:5555 scrcpy -s localhost:5555 --audio-codec=aac 7. ReDroid多開示例 # 參見ReDroid多開與Scrcpy連線\n附錄 # 手動安裝GApps到ReDroid映像檔 ReDroid 作者說Google服務框架是專有軟體無法內建，那麼就得自行安裝了。第一個方法是重新編譯ReDroid映像檔，第二個是手動安裝OpenGApps。\n不推薦第一個方法，耗時而且作者提供的GApps編譯教學又有其他APP偵測不到的問題。\n這裡採用第二個方法：手動安裝。\n到OpenGapps下載x86_64架構的Android 11 GApps，選擇最小化的pico版。\n解壓縮，會看到以下目錄\nopen_gapps-x86_64-11.0-pico-20220503 ├── Core ├── GApps ├── META-INF ├── Optional 在解壓縮的目錄open_gapps-x86_64-11.0-pico-20220503下面新增system目錄。\n接著，將Core和GApps目錄裡面的.lz檔案都解壓縮，並將裡面的APK目錄按照對應的安裝目錄放到system目錄。例如GApps/googletts-x86_64/nodpi/app/下的GoogleTTS目錄要放到/system/app。\n放好之後，system下的目錄結構應該會長這樣：\nsystem ├── app │ ├── GoogleCalendarSyncAdapter │ │ └── GoogleCalendarSyncAdapter.apk │ ├── GoogleContactsSyncAdapter │ │ └── GoogleContactsSyncAdapter.apk │ ├── GoogleExtShared │ │ └── GoogleExtShared.apk │ └── GoogleTTS │ └── GoogleTTS.apk ├── etc │ ├── default-permissions │ │ ├── default-permissions.xml │ │ └── opengapps-permissions-q.xml │ ├── permissions │ │ ├── com.google.android.dialer.support.xml │ │ ├── com.google.android.maps.xml │ │ ├── com.google.android.media.effects.xml │ │ ├── privapp-permissions-google.xml │ │ └── split-permissions-google.xml │ ├── preferred-apps │ │ └── google.xml │ └── sysconfig │ ├── dialer_experience.xml │ ├── google_build.xml │ ├── google_exclusives_enable.xml │ ├── google-hiddenapi-package-whitelist.xml │ └── google.xml ├── framework │ ├── com.google.android.dialer.support.jar │ ├── com.google.android.maps.jar │ └── com.google.android.media.effects.jar ├── priv-app │ ├── AndroidAutoPrebuiltStub │ │ └── AndroidAutoPrebuiltStub.apk │ ├── AndroidMigratePrebuilt │ │ └── AndroidMigratePrebuilt.apk │ ├── CarrierSetup │ │ └── CarrierSetup.apk │ ├── ConfigUpdater │ │ └── ConfigUpdater.apk │ ├── GoogleBackupTransport │ │ └── GoogleBackupTransport.apk │ ├── GoogleExtServices │ │ └── GoogleExtServices.apk │ ├── GoogleFeedback │ │ └── GoogleFeedback.apk │ ├── GoogleOneTimeInitializer │ │ └── GoogleOneTimeInitializer.apk │ ├── GooglePackageInstaller │ │ └── GooglePackageInstaller.apk │ ├── GooglePartnerSetup │ │ └── GooglePartnerSetup.apk │ ├── GoogleRestore │ │ └── GoogleRestore.apk │ ├── GoogleServicesFramework │ │ └── GoogleServicesFramework.apk │ ├── Phonesky │ │ └── Phonesky.apk │ ├── PrebuiltGmsCore │ │ └── PrebuiltGmsCore.apk │ └── SetupWizard │ └── SetupWizard.apk └── product └── overlay └── PlayStoreOverlay.apk 執行以下指令取得root權限： adb connect localhost:5555 adb -s localhost:5555 root adb -s localhost:5555 remount adb -s localhost:5555 shell \u0026#34;rm -rf system/priv-app/PackageInstaller\u0026#34; 接著將system目錄推送到ReDroid系統，並賦予權限： adb -s localhost:5555 push system / adb -s localhost:5555 shell \u0026#34;pm grant com.google.android.gms android.permission.ACCESS_COARSE_LOCATION\u0026#34; adb -s localhost:5555 shell \u0026#34;pm grant com.google.android.gms android.permission.ACCESS_FINE_LOCATION\u0026#34; adb -s localhost:5555 shell \u0026#34;pm grant com.google.android.setupwizard android.permission.READ_PHONE_STATE\u0026#34; adb -s localhost:5555 shell \u0026#34;pm grant com.google.android.setupwizard android.permission.READ_CONTACTS\u0026#34; adb reboot 重新啟動ReDroid容器： cd ~/redroid sudo docker compose down sudo docker compose up -d 啟動Scrcpy scrcpy -s localhost:5555 --audio-codec=raw 開啟系統設定 → 應用程式，點選右上角顯示系統應用程式，將Google Play服務和Play商店的權限都開啟。 手動抽取libndk建置Android映像檔 libndk是Google開發的專有軟體，含在Android Studio的模擬器裡面。根據ReDroid作者指示，我們可以手動從新版Android模擬器抽取libndk，再將其塞到ReDroid原生系統裡面。\n這裡以Android 13為例，注意作者沒保證說一定能用。\n安裝Android Studio，新增Android 13的虛擬機\n透過ADB連線\nadb devices adb shell su 將libndk打包 { find /system -name arm* -type d; find /system -name *ndk_translation*; find /system/etc -name *arm*; } | tar -cf /sdcard/nb.tar -T - 將libndk.so打包 find system -type l | tar -cf /sdcard/so.tar -T - 退出ADB，將以上檔案傳回本機 exit exit adb pull /sdcard/nb.tar . adb pull /sdcard/so.tar . 將libndk.so加入到libndk的壓縮檔 tar -xvf so.tar find system -type l | tar -rf libndk_translation.tar -T - 新增DOCKERFILE，填入以下內容： FROM redroid/redroid:13.0.0-latest ADD libndk_translation.tar / 開始建置含有libndk的Android 13映像檔，之後這個映像檔redroid:13.0.0-libndk就能拿去執行容器了。 docker build . -t redroid:13.0.0-libndk 參考資料 # redroid (Remote-Android) is a multi-arch, GPU enabled, Android in Cloud solution - Github App 自動化測試（三）ReDroid 安裝與基本使用 - Scott Hsiao 在使用 NVIDIA 显卡时为 redroid 开启3d加速 redroid nVidia GPU support #282 Install GApps Manually - Google Groups ","date":"2024年8月15日","externalUrl":null,"permalink":"/posts/redroid-android-docker/","section":"所有文章","summary":"English version\nReDroid (Remote anDroid) 是自架「雲手機」的方案，透過Docker跑Android系統容器，再利用Scrcpy的鏡射螢幕功能連線到Android桌面。 在Linux用ReDroid玩FGO\nReDroid也是在電腦上用開源軟體跑Android APP的解決方案。因為別說雲手機了，很多Android手遊模擬器都是閉源軟體哪。相較之下，ReDroid除了ARM轉譯器以外都是開源的。更棒的是ReDroid支援GPU加速＋ARM轉x86的轉譯器，這樣就可以玩大多數手機3D遊戲了。\n對Linux用戶來說，這更是除了Waydroid和Android-x86虛擬機以外，在Linux電腦高效率跑Android APP的方法。並且它比Waydroid更適合當作雲手機使用。參見自架雲手機\n本文將討論如何在x86架構的Linux電腦，用ReDroid玩ARM架構的手機遊戲。我們會在ReDroid映像檔加入ARM轉譯器＋Google服務框架，以達成最佳使用體驗。\n1. ReDroid系統需求 # 任一Linux發行版應該都可以。\n本文示範使用x86架構的電腦跑ReDroid。至於ARM架構的電腦，有網友回報Oracle ARM架構伺服器部署成功的案例，我也測試過可以在樹莓派5跑ReDroid。\n如果電腦是x86架構，則只能執行x86架構的Android APP，然而很多手機遊戲只有ARM架構版本，所以ReDroid需要裝libndk或libhoudini的ARM轉譯器。\n","title":"ReDroid教學：用Docker跑Android系統，在x86電腦玩ARM手機遊戲","type":"posts"},{"content":"Temporarily disable Linux keyboard, touchpad, mouses input with libinput scripts.\n暫時停用/禁用Linux的輸入裝置。\n考慮以下二種情況：\n你將筆電接到外接顯示器，又外接了鍵盤，如何將內部鍵盤停用呢？能不能讓Linux不要收到特定裝置的輸出訊號。\n你拿的是兼具觸控螢幕的Linux平板，如何在使用觸控螢幕的時候停用鍵盤輸入防止誤觸？\n過去常聽人說用xinput指令攔截，但是那僅限X11環境使用，現在是Wayland的時代了，需要用新的方法做事，那就是「libinput」\n現在許多Linux系統都依賴這個玩意來控制輸入裝置，舉凡鍵盤，滑鼠，觸控板，觸控螢幕都是由它負責。\n根據libinput官方文件，只要設定udev規則，傳入LIBINPUT_IGNORE_DEVICE的數值，我們就能達成停用裝置的目的。\n不過，手動設定規則停用很麻煩呢，所以我使用Gitlab開發者林博仁製作的指令稿Linux input device management utilites來開關輸入裝置。\n將指令稿安裝到/usr/local/bin git clone https://gitlab.com/brlin/linux-input-utils.git sudo mv linux-input-utils/bin/* /usr/local/bin 然後我們就可以用這個指令稿列舉Linux上的所有libinput裝置： sudo enumerate-input-devices 所有的裝置都以一個數字顯示，像我的平板就顯示了觸控螢幕、觸控板、鍵盤裝置 /sys/class/input/input1: Goodix Capacitive TouchScreen /sys/class/input/input5: HID 1018:1006 /sys/class/input/input10: HID 1018:1006 Mouse /sys/class/input/input11: HID 1018:1006 Touchpad 要停用鍵盤，就是將數字傳過去： sudo disable-input-devices 5 這樣鍵盤就無法打字輸入了！啊\u0026hellip;那我要怎麼還原\u0026hellip;？幸好我還有觸控螢幕可以輸入！再不濟還有SSH。只要輸入以下指令就可以解除停用： sudo enable-input-devices 5 ","date":"2024年8月15日","externalUrl":null,"permalink":"/posts/disable-devices-with-libinput-scripts/","section":"所有文章","summary":"Temporarily disable Linux keyboard, touchpad, mouses input with libinput scripts.\n暫時停用/禁用Linux的輸入裝置。\n考慮以下二種情況：\n你將筆電接到外接顯示器，又外接了鍵盤，如何將內部鍵盤停用呢？能不能讓Linux不要收到特定裝置的輸出訊號。\n你拿的是兼具觸控螢幕的Linux平板，如何在使用觸控螢幕的時候停用鍵盤輸入防止誤觸？\n過去常聽人說用xinput指令攔截，但是那僅限X11環境使用，現在是Wayland的時代了，需要用新的方法做事，那就是「libinput」\n現在許多Linux系統都依賴這個玩意來控制輸入裝置，舉凡鍵盤，滑鼠，觸控板，觸控螢幕都是由它負責。\n根據libinput官方文件，只要設定udev規則，傳入LIBINPUT_IGNORE_DEVICE的數值，我們就能達成停用裝置的目的。\n不過，手動設定規則停用很麻煩呢，所以我使用Gitlab開發者林博仁製作的指令稿Linux input device management utilites來開關輸入裝置。\n將指令稿安裝到/usr/local/bin git clone https://gitlab.com/brlin/linux-input-utils.git sudo mv linux-input-utils/bin/* /usr/local/bin 然後我們就可以用這個指令稿列舉Linux上的所有libinput裝置： sudo enumerate-input-devices 所有的裝置都以一個數字顯示，像我的平板就顯示了觸控螢幕、觸控板、鍵盤裝置 /sys/class/input/input1: Goodix Capacitive TouchScreen /sys/class/input/input5: HID 1018:1006 /sys/class/input/input10: HID 1018:1006 Mouse /sys/class/input/input11: HID 1018:1006 Touchpad 要停用鍵盤，就是將數字傳過去： sudo disable-input-devices 5 這樣鍵盤就無法打字輸入了！啊…那我要怎麼還原…？幸好我還有觸控螢幕可以輸入！再不濟還有SSH。只要輸入以下指令就可以解除停用： sudo enable-input-devices 5","title":"透過libinput指令稿暫時停用Linux鍵盤、觸控板、滑鼠的輸入","type":"posts"},{"content":"","date":"2024-08-15","externalUrl":null,"permalink":"/en-us/categories/linux-phones/","section":"Categories","summary":"","title":"Linux Phones","type":"categories"},{"content":"Read this post in English\nPineTab 2是2023年4月由Pine64推出的開源Linux平板，兼具筆電功能，能夠同時在一個裝置執行Linux系統與Android系統容器。\n此處是我針對Pine64 PineTab 2 (ARM版，8G/128G) 所做的一些調校設定，希望這些經驗可以給想使用Linux平板裝置的用戶作為參考。\n系統：Arch Linux ARM by danctnix 桌面環境: GNOME (Wayland) 和 Phosh (Wayland) 為什麼我要寫這篇呢？自上市以來我已經寫過一篇開箱，還有三個月的使用心得。但是這款平板的系統會一直更新，我得追蹤最新開發進度（即使短時間內系統軟體很難完善）。再來，雖然RK3566效能很爛，我還是有在研究所使用這款平板。所以這篇文章的目的就是即時追蹤PineTab 2的開發進度，並把我的調校過程集中放在這裡。 作業系統選擇 # 使用Arch Linux ARM。使用Github原廠映像檔重灌了一次，擺脫KDE臃腫套件，轉而使用GNOME。\n選Arch主要還是因為AUR的豐富資源，以及能更快收到更新。想要穩定發表的Linux發行版的，可以試試Mobian、postmarketOS、Ubuntu touch等系統。此外，你可以把系統dd指令到SD卡，在真正安裝系統前先從SD開機試試新系統。\n桌面環境選擇 # 個人認為沒有一個桌面環境能同時處理好「筆電模式」與「平板模式」。如果要在同一個畫面兩個模式切換來切換去，那肯定不明智的了。\n應當以工作階段劃分，所以我裝了二個桌面環境。\n從Arch Linux官方套件庫安裝GNOME與Phosh：\nsudo pacman -S gnome phosh 使用GDM當顯示管理器，方便切換桌面環境：\nsudo systemctl enabl gdm GNOME負責電腦桌面模式，也就是平板接上鍵盤的時候。Phosh一個APP一個畫面不符合傳統電腦多工模式，況且Phosh不相容GNOME的擴充套件，此時便是GNOME上場的時候。此模式用於寫筆記、上網、遠端開發。內建的螢幕小鍵盤可在GNOME系統設定啟用。\n感謝踏可司企鵝 (Github@proton-penguin) 推薦，安裝GJS ＯSK懸浮鍵盤，即可配合Fcitx5輸入中文。 Phosh負責純觸控模式下的操作，也就是把平板拿在手上看電子書或paper的時候。Phosh動畫明顯比較順暢，且手勢針對觸控裝置優化過，秉持一個APP一個視窗的理念，全域鍵盤。從PinePhone、Juno Tablet、Librem 11等裝置採用Phosh當桌面已證明了這點。\n小提示：Phosh 0.35.0以後的版本，要長按畫面底部的藥丸條才能喚醒鍵盤。鍵盤的Terminal配置可以喚醒Fcitx5拼音輸入法。 在連接鍵盤的時候，Phosh會自動進入Docked Mode，這個時候允許視窗重疊，視窗位置和大小可以拖動調整。\nPhosh會把GNOME的程式視窗放大縮小鍵弄不見，這個可以用gsettings調整回來。\ngsettings set \u0026#34;org.gnome.desktop.wm.preferences\u0026#34; button-layout \u0026#34;appmenu:minimize,maximize,close\u0026#34; 內部Wifi驅動 # 在bes2600驅動發表之前，我都是外接MT7601網路卡上網的。\n目前bes2600的Wifi驅動在Arch Linux ARM運作狀況良好，網路可以跑滿速。在2024年5月的核心更新後，Wifi驅動應該就不會讓PineTab死機了，可以正常進入suspend模式。\n這個模組可以設定開機自動載入：\necho bes2600 | sudo tee /etc/modules-load.d/bes2600.conf 旋轉螢幕的問題 # 安裝iio-sensor-proxy套件，螢幕就會自動旋轉\nsudo pacman -S iio-sensor-proxy sudo systemctl enable --now iio-sensor-proxy 另外裝Screen Rotate擴充功能，手動控制GNOME shell的螢幕旋轉。\niio-sensor-proxy亦能讓電源鍵正常運作，按一下便會進入暫停模式(suspend)。\n常用APP # Firefox：ARM版莫名得很卡，我不常用。 Brave或Chromium。我需要Chromium系的瀏覽器，Google Chrome並未提供ARM64版。 Flatpak。方便安裝軟體。Flatpak還有一個優勢：有時候Arch原生套件的Chromium瀏覽器會因為圖形驅動崩掉，而Flatpak版仍能運作，因為應用程式把驅動跟自己包在一起，所以不會因為系統更新而受到影響。 Fcitx5，使用中文拼音輸入。 \u0026ldquo;Drawing\u0026rdquo; by maoschanz，觸控編輯照片。 Okular，閱讀PDF之用。速度很快，功能也很多。 KOReader：輕量PDF閱讀器。 Joplin Desktop，寫筆記。純文字版joplin-cli也不錯用。 xournal++，手寫筆記，記得在軟體設定開啟觸控輸入。PineTab 2不支援筆壓的觸控筆，所以只能用傳統電容式觸控筆，別忘了帶手套防誤觸。 EasyEffects + Auto Gain Presets，讓平板喇叭好聽一點。 GSConnect，相容KDE Connect的傳檔軟體。 LocalSend，比較穩定的檔案傳輸方案。 Moonlight Game Streaming，遠端桌面與遊戲。 Visual Studio Code VIM Distrobox，使用Docker做後端。 ytfzf：終端機看Youtube影片。 Waydroid執行Android APP # Arch Linux ARM請使用以下指令安裝Waydroid：\nsudo pacman -Syu sudo pacman -S python-pyclip xclip wl-clipboard mailcap yay -S waydroid-image-gapps sudo waydroid init -f sudo systemctl enable --now waydroid-container sudo ufw allow 53 sudo ufw allow 67 sudo ufw default allow FORWARD sudo ufw reload sudo systemctl restart waydroid-container Waydroid詳細用法參照：Waydroid教學：在Arch Linux電腦跑Android APP\n安裝Orientation Faker手動控制Android的螢幕方向。因為如果你旋轉GNOME的螢幕，Waydroid視窗就會被切半。所以最好的操作方法是關閉GNOME的自動旋轉，再手動於Waydroid的軟體旋轉螢幕方向。\n如果想在GNOME全螢幕跑Android APP，請安裝Auto hide top bar擴充套件。\nBox64 + Wine執行Windows exe # Wine大部分支援的Windows程式還是x86架構的，ARM架構的Linux系統必須借助Box64翻譯指令才能執行x86架構的程式。\n我尚未理出Arch Linux ARM跑Wine需要哪些依賴套件，所以我採取在Debian chroot容器內跑Box86的作法。詳細操作見用Box86在ARM Linux裝置玩x86架構的Linux遊戲\n還有未完成的部分 # 相機驅動 更多資訊可以在PineTab2 wiki查看。\n","date":"2024年8月15日","externalUrl":null,"permalink":"/posts/my-pinetab-2-setup/","section":"所有文章","summary":"Read this post in English\nPineTab 2是2023年4月由Pine64推出的開源Linux平板，兼具筆電功能，能夠同時在一個裝置執行Linux系統與Android系統容器。\n此處是我針對Pine64 PineTab 2 (ARM版，8G/128G) 所做的一些調校設定，希望這些經驗可以給想使用Linux平板裝置的用戶作為參考。\n系統：Arch Linux ARM by danctnix 桌面環境: GNOME (Wayland) 和 Phosh (Wayland) 為什麼我要寫這篇呢？自上市以來我已經寫過一篇開箱，還有三個月的使用心得。但是這款平板的系統會一直更新，我得追蹤最新開發進度（即使短時間內系統軟體很難完善）。再來，雖然RK3566效能很爛，我還是有在研究所使用這款平板。所以這篇文章的目的就是即時追蹤PineTab 2的開發進度，並把我的調校過程集中放在這裡。 作業系統選擇 # 使用Arch Linux ARM。使用Github原廠映像檔重灌了一次，擺脫KDE臃腫套件，轉而使用GNOME。\n選Arch主要還是因為AUR的豐富資源，以及能更快收到更新。想要穩定發表的Linux發行版的，可以試試Mobian、postmarketOS、Ubuntu touch等系統。此外，你可以把系統dd指令到SD卡，在真正安裝系統前先從SD開機試試新系統。\n桌面環境選擇 # 個人認為沒有一個桌面環境能同時處理好「筆電模式」與「平板模式」。如果要在同一個畫面兩個模式切換來切換去，那肯定不明智的了。\n","title":"Linux平板筆電「PineTab 2」使用技巧 + 常用軟體","type":"posts"},{"content":"","date":"2024年8月15日","externalUrl":null,"permalink":"/tags/proxmox/","section":"標籤","summary":"","title":"Proxmox","type":"tags"},{"content":"以前聽資工系教授說過，他們早期學電腦都是用終端機連線到UNIX大型機作業，眼前的電腦不過是一個輕型終端而已。\n現在我開始搞這種復古運動了。\n晨之雲雀 # 一直想讓Linux可以隨時遠端存取，並且可以遠端工作。\n一開始，我採用的是類似Qubes OS的做法，想要同時用Linux桌面與虛擬機。\n因此設定了Ubuntu + QEMU/KVM + Looking Glass的用法，將第二個GPU直通進去。讓我在處理一般事務的時候用Ubuntu KDE桌面，有需要Windows的時候開一個視窗就能把虛擬機拉到主畫面，當實體機用。此外給虛擬機開了個內網穿透的口子，使虛擬機內的遠端桌面也可從外網存取。\n這可以類比為安裝Proxmox，卻安裝X11桌面環境的用法。\n今天凌晨，現在卻想把這個主力Linux桌面也虛擬化了。\n夜之帷幕 # 今天早上，我把電腦桌機的螢幕全部拔掉，Ubuntu設定開機僅啟動純文字模式，以及啟動SSH、Cockpit網頁界面、Portainer服務。\nsudo systemctl set-default multi-user.target 然後再額外跑一個Fedora Linux虛擬機，把那個Linux虛擬機當「桌面」用。Sunshine裝在QEMU/KVM虛擬機裡，從Linux宿主機串流玩遊戲\n此時，桌機就不會接上任何螢幕。\n上面同時跑了Windows和Linux的虛擬機，啟用GPU直通。因為有Intel CPU內顯和Nvidia獨顯，所以兩個虛擬機各直通一個GPU，這樣他們就有跑Sunshine的資本。\n要操作這些虛擬機，就是從另一臺平板或者筆電，以Sunshine遠端桌面存取（我很重視效能，所以不會用RDP）。如果螢幕太小，就把平板接到原本電腦螢幕放大。\n總之虛擬機都是透過遠端控制的。\n所以桌機就變成一臺伺服器，所有服務都得遠端控制。\n夢之終結 # 同時跑Linux和Windows虛擬機電腦當掉的時候我就知道這傢伙不行了呀。\n4核心的Intel i5-7400根本負荷不了二個虛擬機同時運作，一啟動連SSH連線都會當掉卡死。\n等我以後買更強的電腦再來搞多重虛擬化吧，屆時，我要買8核心以上的處理器，主機板還要雙GPU插槽的豪華配置！\n更新：幾個月後發現，喵的我被Cockpit陰了，低估了電腦潛力。用Cockpit啟動第二個虛擬機，整個系統包含SSH在內就會當掉無回應。改用Virt Manager測試，ㄟ！我的電腦明明就可以撐住二個KVM呀！\n不過Virt Manager難以從非Linux系統的電腦存取的說，這是它相對Cokckpit網頁版不便的地方。得在SSH工作階段打virsh指令啟動虛擬機。\n可能是我測試當下處於Ubuntu 24.04剛出來的時候還不穩定，經過幾個月更新後Cockpit便能正常啟動多個虛擬機了。\n所以，我成功了做了更完整的嘗試：KVM虛擬機當主力機使用，Linux + Windows的虛擬機多開實踐\n","date":"2024年8月15日","externalUrl":null,"permalink":"/posts/fully-virtualized-desktop-attempt/","section":"所有文章","summary":"以前聽資工系教授說過，他們早期學電腦都是用終端機連線到UNIX大型機作業，眼前的電腦不過是一個輕型終端而已。\n現在我開始搞這種復古運動了。\n晨之雲雀 # 一直想讓Linux可以隨時遠端存取，並且可以遠端工作。\n一開始，我採用的是類似Qubes OS的做法，想要同時用Linux桌面與虛擬機。\n因此設定了Ubuntu + QEMU/KVM + Looking Glass的用法，將第二個GPU直通進去。讓我在處理一般事務的時候用Ubuntu KDE桌面，有需要Windows的時候開一個視窗就能把虛擬機拉到主畫面，當實體機用。此外給虛擬機開了個內網穿透的口子，使虛擬機內的遠端桌面也可從外網存取。\n這可以類比為安裝Proxmox，卻安裝X11桌面環境的用法。\n今天凌晨，現在卻想把這個主力Linux桌面也虛擬化了。\n夜之帷幕 # 今天早上，我把電腦桌機的螢幕全部拔掉，Ubuntu設定開機僅啟動純文字模式，以及啟動SSH、Cockpit網頁界面、Portainer服務。\nsudo systemctl set-default multi-user.target 然後再額外跑一個Fedora Linux虛擬機，把那個Linux虛擬機當「桌面」用。Sunshine裝在QEMU/KVM虛擬機裡，從Linux宿主機串流玩遊戲\n此時，桌機就不會接上任何螢幕。\n上面同時跑了Windows和Linux的虛擬機，啟用GPU直通。因為有Intel CPU內顯和Nvidia獨顯，所以兩個虛擬機各直通一個GPU，這樣他們就有跑Sunshine的資本。\n","title":"將電腦斷頭斷腳，現地改造一個Proxmox主機，全面虛擬化遠端桌面系統","type":"posts"},{"content":"","date":"2024年8月14日","externalUrl":null,"permalink":"/tags/sillytavern/","section":"標籤","summary":"","title":"SillyTavern","type":"tags"},{"content":"什麼是角色卡(character card)？這是事先設定好的提示詞所製作的虛擬角色，裡面會寫著角色的個性、背景設定，通常還會附一張立繪。\n比如，SillyTavern內建的唯一一張角色卡叫做Seraphina，設定上她是Eldoria的居民。 有了這些資訊，這樣不管你用什麼語言模型當聊天服務，它都能夠把語言模型變身為某一個角色的樣子。\n如果你不尬意內建角色的設定的話，就下載新的角色卡吧！再按照喜好新增立繪，或是加入3D模型讓他/她動起來吧。\n1. 下載角色卡 # 在使用Live2D或者3D模型之前，必須要先有角色卡。\nSillyTavern的角色卡格式為PNG圖檔，該檔案包含立繪和角色個性資訊的設定，有的甚至包含更為詳細的世界書(World info, Lorebooks)檔案。\n只要下載匯入，SillyTavern就會自動讀取背景設定。\n要到哪裡取得角色卡呢？https://aicharactercards.com和https://character-tavern.com有豐富的角色卡讓你下載。\n敬請注意：SillyTavern的PNG檔不是一般的圖片檔，裡面包含角色設定資訊。部份網站上傳PNG後會移除這類資訊導致角色卡失效，故要分享角色卡建議使用雲端硬碟。\n2. 匯入角色卡 # 1.　點選SillyTavern右上角的角色卡，再點選三點的選單，按匯入，選取PNG檔 這樣你的角色就進來了！ 角色卡的完整立繪可點選聊天訊息旁邊的大頭貼，顯示在網頁左側。 SillyTavern的系統設定尚有「視覺小說模式」可讓角色立繪顯示在螢幕中間。\n基本上，你只要有角色卡就可以開始聊天了，下面的東西不一定要全部安裝。\n3. 調整角色卡的性格設定 # 點選角色卡圖示，右邊便會列出角色卡的設定，通常都是以文字描述的，簡單加個關鍵字就能修改該角色的背景與個性設定。 如果需要進一步修改，你可以使用專用的SillyTavern角色卡編輯器。\n4. 給角色卡設定表情變化立繪 # 有的角色卡作者會提供你一系列立繪下載，會依照對話內容切換立繪。\n先點選一個角色，進入對話\n點選SillyTavern，擴充套件設定，選Character Expressions，然後在這裡上傳圖片或者壓縮檔。Classifications選Local的話就只能辨認28個心情。 5. 角色卡加入Live2D模型 # Live2D跟3D模型只能選一個。\nSillyTavern的角色卡檔案不包含Live2D模型，你得另外準備.moc模型檔。去哪找免費模型呢？Live2DViewerEX的工作坊有很多免費Live2D模型，不少還包含語音檔。這些模型可用LpkUnpacker解出來。\n將含有Live2D的.moc模型檔目錄，放到SillyTavern/data/使用者名稱/assets/live2d的目錄下，再重新啟動程式。 點選SillyTavern的擴充套件，點選下載擴充套件或資產的「連線」，從列表中下載Live2D擴充套件。 以我手上這張玉藻前為例，下載「玉藻前」的角色卡，開始聊天。\n點選Live2D設定，Model Mapping選取對應這張角色卡的Live2D模型 再於Model Animation處，給身體部位設定對應的動作檔 這樣聊天畫面就會出現Live2D模型了，建議在SillyTavern設定啟用「視覺小說模式」，才能看到全身。 6. 角色卡加入3D模型 # SillyTavern支援載入.vrm格式的3D模型，Live2D跟3D模型只能選一個。由於瀏覽器的效能限制，3D模型渲染效果沒辦法太華麗。\n如果有設定語音合成器，也可以讓3D模型的人物嘴型跟著字變化。\n將VRM模型檔和動畫檔放到指定位置。這裡test157t/VRM-Assets-Pack-For-Silly-Tavern有很多範本，將models和animations目錄放到SillyTavern/data/使用者名稱/assets/vrm。\n切換到擴充套件頁面，下載擴充套件和資產，載入列表，安裝「VRM Extension」 點選一個角色進入聊天進入聊天，例如我這裡使用Lara Lightland這張角色卡。\n點選設定，啟用Waifu Mode，防止聊天欄遮住3D模型。 再切換擴充套件頁面，點開VRM，按Enable，選取這張角色卡的VRM模型。 這樣就能夠與3D人物對話了！滑鼠點選身體部位會做出對應動畫。 ","date":"2024年8月14日","externalUrl":null,"permalink":"/posts/sillytavern-custom-character-cards/","section":"Language-Models","summary":"什麼是角色卡(character card)？這是事先設定好的提示詞所製作的虛擬角色，裡面會寫著角色的個性、背景設定，通常還會附一張立繪。\n比如，SillyTavern內建的唯一一張角色卡叫做Seraphina，設定上她是Eldoria的居民。 有了這些資訊，這樣不管你用什麼語言模型當聊天服務，它都能夠把語言模型變身為某一個角色的樣子。\n如果你不尬意內建角色的設定的話，就下載新的角色卡吧！再按照喜好新增立繪，或是加入3D模型讓他/她動起來吧。\n1. 下載角色卡 # 在使用Live2D或者3D模型之前，必須要先有角色卡。\nSillyTavern的角色卡格式為PNG圖檔，該檔案包含立繪和角色個性資訊的設定，有的甚至包含更為詳細的世界書(World info, Lorebooks)檔案。\n只要下載匯入，SillyTavern就會自動讀取背景設定。\n要到哪裡取得角色卡呢？https://aicharactercards.com和https://character-tavern.com有豐富的角色卡讓你下載。\n敬請注意：SillyTavern的PNG檔不是一般的圖片檔，裡面包含角色設定資訊。部份網站上傳PNG後會移除這類資訊導致角色卡失效，故要分享角色卡建議使用雲端硬碟。\n2. 匯入角色卡 # 1.　點選SillyTavern右上角的角色卡，再點選三點的選單，按匯入，選取PNG檔 ","title":"SillyTavern 如何下載與匯入角色卡","type":"language-model"},{"content":"SillyTavern提供使用者多樣的大模型選擇，但是如果使用者選用了ChatGPT以外的大型語言模型服務，便可能遇到只有英文模型的情況，因為很多針對特定用途微調的模型還是以英文居多，而繁體中文的大模型數量偏少。這樣會導致你不論問什麼，大模型都高機率以英文回覆，即使設定講中文的提示詞也無效。\n此時可以採用一個折衷辦法，那就是設定SillyTavern的自動翻譯服務，將彼此的對話翻譯成中文。\n1. 說明 # 很多大模型是支援「你用中文問，英文回答」的，因其多半支援自動翻譯。因此，你傳給大模型的訊息依然可以用中文，而我們下面設定的翻譯服務會在大模型吐出英文回答後，立即翻譯成中文。\n若是要求指令精確，自動翻譯功能也是能把你輸入的內容翻譯成英文，讓大模型更容易懂啦。\n但是要注意的是，自動翻譯僅是讓你可以看到中文，實際上背後對話還是英文。\n2. 設定方式 # 點選SillyTavern的設定選單，啟用Chat Translation。\n設定翻譯服務，免費的就Google翻譯，要求品質的可以用付費的DeepL。設定翻譯為雙向，翻譯提示詞和大模型的回答。 之後嘗試開始對話，視乎Google翻譯回應的速度，沒幾秒後大模型的英文回答就會變成中文文字了。 對話旁邊有小按鈕可以切換翻譯，顯示原文 也可以在輸入提示詞後點選翻譯，將你的對話內容翻譯成英文提示詞 ","date":"2024年8月14日","externalUrl":null,"permalink":"/posts/sillytavern-chat-translation/","section":"Language-Models","summary":"SillyTavern提供使用者多樣的大模型選擇，但是如果使用者選用了ChatGPT以外的大型語言模型服務，便可能遇到只有英文模型的情況，因為很多針對特定用途微調的模型還是以英文居多，而繁體中文的大模型數量偏少。這樣會導致你不論問什麼，大模型都高機率以英文回覆，即使設定講中文的提示詞也無效。\n此時可以採用一個折衷辦法，那就是設定SillyTavern的自動翻譯服務，將彼此的對話翻譯成中文。\n1. 說明 # 很多大模型是支援「你用中文問，英文回答」的，因其多半支援自動翻譯。因此，你傳給大模型的訊息依然可以用中文，而我們下面設定的翻譯服務會在大模型吐出英文回答後，立即翻譯成中文。\n若是要求指令精確，自動翻譯功能也是能把你輸入的內容翻譯成英文，讓大模型更容易懂啦。\n但是要注意的是，自動翻譯僅是讓你可以看到中文，實際上背後對話還是英文。\n2. 設定方式 # 點選SillyTavern的設定選單，啟用Chat Translation。\n設定翻譯服務，免費的就Google翻譯，要求品質的可以用付費的DeepL。設定翻譯為雙向，翻譯提示詞和大模型的回答。 ","title":"讓AI講中文，設定SillyTavern自動翻譯對話","type":"language-model"},{"content":"Running nested X11 sessions under Wayland.\n「XWayland」為Wayland相容舊式X11程式的手段。\nLinux以前的程式都是為X11顯示協定撰寫，近十年以來Linux桌面環境主流逐漸切換到Wayland，但總有程式沒有尬廣跟上，那麼該怎麼辦呢？\n如果你在使用Wayland協定的Linux桌面開啟專為X11設計的舊版程式，Wayland會自動生一個X伺服器出來，讓X11的程式可以跑在Wayland環境，這個X伺服器即XWayland。這是Wayland能相容許多舊X11程式的原理，開發者不用急著將程式改寫成原生Wayland程式也能繼續使用。\n圖例：舊版Firefox (X11) 執行於KDE Wayland。當你在桌面點選Firefox圖示之後，桌面環境會自動啟動XWaylnad，讓使用X11協定的Firefox得以執行。 不過，XWaylnad預設行為通常都是一個程式一個視窗，沒有母視窗，這稱之為「XWayland Rootless Mode」，背後執行的指令為Xwayland -rootless。\n如果你想要在Wayland環境下開一個母視窗，在那個視窗裡面專門跑多個X11的程式，那麼你就會需要用到「Xwayland Rootful Mode」。此即為巢狀X11工作階段。 1. Xwayland Rootful有何好處？ # Xwayland Rootful Mode可以把X11程式關在一個視窗內，宛如一個完整的工作階段。這樣，你就能在該視窗啟動X視窗管理器（例如i3wm、Xmonad、FVWM），並讓程式以為自己跑在真正的X伺服器環境下。\n這樣有望解決部分程式在Wayland下運作詭異的現象，比如選單消失、螢幕閃爍、無法共享螢幕的問題。\n在需要用到X11 Forwarding的場合，Xwayland Rootful Mode讓Wayland桌面也能接受其他X客戶端所傳入的連線請求。\n2. Xwayland Rootful指令使用方式 # 建議使用Xwayland 23以上版本。\n如果使用Wayland協定的桌面環境，此套件應該已經安裝。\nsudo apt install xwayland 執行下述指令，開一個1280x720解析度的新視窗（之後可以用xrandr指令調整），DISPLAY設定為10\nXwayland -geometry 1280x720 -decorate -retro -host-grab :10 這樣會跳出新視窗，按CTLR＋SHIFT關閉滑鼠擷取模式 這樣只要設定環境變數，就可以在那個DISPLAY開啟X11程式了。例如我要在這個視窗啟動Firefox，這裡加上MOZ_ENABLE_WAYLAND=是要強制關閉Firefox的Wayland模式。\nDISPLAY=:10 MOZ_ENABLE_WAYLAND=0 firefox XWayland下的Firefox畫面，跑的是X11模式 我們甚至可以在Xwayland的視窗跑一個X視窗管理員或者桌面環境，例如i3wm：\nDISPLAY=:10 i3 如此一來XWayland視窗內的使用體驗就會更加完整，視窗外觀會帶上裝飾。 3. 類似XWayland Rootful的軟體 # 其他合成器也有巢狀X11的功用\nxwayland-run：輔助指令稿，簡化Xwayland Rootful指令的複雜度 Steam Gamescope：玩遊戲專用 Xephyr Xnest Wayback：Alpine Linux開發的專案，提供一個最小的Wayland合成器，在上面跑全螢幕的XWayland，藉此執行X11桌面的工作階段 參考資料 # Chapter 5. X11 Application Support - The Wayland Protocol Run buggy X11 apps with Xwayland rootful mode - bennett.dev Xwayland rootful - part1 (Olivier Fourdan) 在Wayland 下对某会议软件的屏幕共享方案，以及一些笔记 - taoky\u0026rsquo;s blog ","date":"2024年8月14日","externalUrl":null,"permalink":"/posts/xwayland-rootful-mode/","section":"所有文章","summary":"Running nested X11 sessions under Wayland.\n「XWayland」為Wayland相容舊式X11程式的手段。\nLinux以前的程式都是為X11顯示協定撰寫，近十年以來Linux桌面環境主流逐漸切換到Wayland，但總有程式沒有尬廣跟上，那麼該怎麼辦呢？\n如果你在使用Wayland協定的Linux桌面開啟專為X11設計的舊版程式，Wayland會自動生一個X伺服器出來，讓X11的程式可以跑在Wayland環境，這個X伺服器即XWayland。這是Wayland能相容許多舊X11程式的原理，開發者不用急著將程式改寫成原生Wayland程式也能繼續使用。\n圖例：舊版Firefox (X11) 執行於KDE Wayland。當你在桌面點選Firefox圖示之後，桌面環境會自動啟動XWaylnad，讓使用X11協定的Firefox得以執行。 不過，XWaylnad預設行為通常都是一個程式一個視窗，沒有母視窗，這稱之為「XWayland Rootless Mode」，背後執行的指令為Xwayland -rootless。\n如果你想要在Wayland環境下開一個母視窗，在那個視窗裡面專門跑多個X11的程式，那麼你就會需要用到「Xwayland Rootful Mode」。此即為巢狀X11工作階段。 1. Xwayland Rootful有何好處？ # Xwayland Rootful Mode可以把X11程式關在一個視窗內，宛如一個完整的工作階段。這樣，你就能在該視窗啟動X視窗管理器（例如i3wm、Xmonad、FVWM），並讓程式以為自己跑在真正的X伺服器環境下。\n","title":"XWayland Rootful Mode：Wayland跑巢狀X11工作階段視窗","type":"posts"},{"content":"適用版本：Ubuntu 24.04以上\nWake-On-Lan（WoL）是一種遠端開機的機制，讓我們可以透過網路喚醒電腦主機。\n原理是向電腦傳送一個魔法封包(magic packet)，主機板的網路卡收到封包後，電腦就會自動開機，很適合遠端控制Linux電腦開關呢！\n起床了，Tux！ 至於這個魔法封包要由誰來傳？得是同一個網域下的另一台裝置傳送。\n1. 前置條件 # Wake-On-Lan功能需要硬體支援，大部分x86架構的電腦應該都有這個功能。不過，有些Wake-On-Lan只可以喚醒暫停(suspend)中的Linux電腦。其他則是在電腦完全關機(shutdown)狀態，也可以用Wake-On-Lan開機，這個要看個別硬體支援程度。\n要遠端開機的Linux電腦必須使用有線乙太網路連接到數據機或者路由器，才能收到魔法封包。\n要遠端開機的Linux電腦的電源不能斷掉。\n同一個網域下必須有其他裝置開著（俗稱跳板機），用於給Linux電腦發送魔法封包。這個裝置可以是Windows或Linux電腦，或者路由器、樹莓派、手機。\n接著是電腦的作業系統部份，主流Linux發行版應該都支援Wake-On-Lan。雖說Wake-On-Lan好像只是主機板收到一組封包就執行開機指令，似乎與要執行的作業系統無關。不過，作業系統層面也應該要設定Wake-On-Lan功能，這樣它才知道如何處理接收訊號後的處置。有時候，Wake-On-Lan不見得是冷開機(cold boot)，而是喚醒暫停(suspend)中的系統。\n2. 在UEFI啟用Wake-On-Lan # 我的ASUS主機板是可以從關機狀態開機。\n首先到UEFI介面啟用Wake On LAN。ASUS管這個功能叫做「由PCI-E裝置喚醒」 3. Ubuntu啟用Wake-On-Lan服務 # 請確認電腦有接上有線乙太網路\n使用ip link指令確認網路卡裝置的MAC位址，例如我的網路卡裝置為enp2s0，MAC位址為e3:e3:1b:41:f5:fa，把這個MAC位址記下來\n2: enp2s0: \u0026lt;BROADCAST,MULTICAST,UP,LOWER_UP\u0026gt; mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether e3:e3:1b:41:f5:fa brd ff:ff:ff:ff:ff:ff 接著，要啟用Wake-On-Lan功能，網路上的資料有透過Systemd、ethtool、crontab等方式來開啟。我這邊使用NetworkManager啟用，Wake-On-Lan的設定重開機之後依然有效。這樣的話不用額外安裝軟體。理論上所有Linux發行版都能用，只要有NetworkManager就行。\n列出目前的連線，例如我的乙太網路連線名稱叫做\u0026quot;eth0\u0026quot;\nnmcli con show 查看乙太網路連線的Wake-On-Lan狀態 nmcli c show \u0026#34;eth0\u0026#34; | grep 802-3-ethernet.wake-on-lan 應該是沒有啟用，顯示為default 802-3-ethernet.wake-on-lan: default 802-3-ethernet.wake-on-lan-password: -- 啟用Wake-On-Lan nmcli c modify \u0026#34;eth0\u0026#34; 802-3-ethernet.wake-on-lan magic nmcli c modify \u0026#34;eth0\u0026#34; 802-3-ethernet.auto-negotiate yes 將Ubuntu重開機 sudo shutdown -r now 再次執行指令，查看Wake-On-Lan是否維持啟用狀態。 nmcli c show \u0026#34;eth0\u0026#34; | grep 802-3-ethernet.wake-on-lan 應該會顯示magic 802-3-ethernet.wake-on-lan: magic 802-3-ethernet.wake-on-lan-password: -- 4. 測試Wake-On-Lan能否開機 # 將Ubuntu關機 sudo shutdown now 在同一個網域下，開啟另一台電腦（跳板機）。 如果是Windows電腦，安裝basildane/WakeOnLAN操作。\nLinux的話，安裝wol工具：\nsudo apt install wakeonlan 指定MAC位址，往Ubuntu電腦的MAC位址發送魔法封包 wakeonlan \u0026#34;e3:e3:1b:41:f5:fa\u0026#34; Ubuntu應該就會自動開機了！\n如果你需要從外部網路連線到「跳板機」來給Linux遠端開機的話，可使用內網穿透軟體\n參考資料 # Wake-on-LAN - Arch Linux Wiki WakeOnLan - Ubuntu Community Help Wiki ","date":"2024年8月14日","externalUrl":null,"permalink":"/posts/linux-enable-wake-on-lan/","section":"所有文章","summary":"適用版本：Ubuntu 24.04以上\nWake-On-Lan（WoL）是一種遠端開機的機制，讓我們可以透過網路喚醒電腦主機。\n原理是向電腦傳送一個魔法封包(magic packet)，主機板的網路卡收到封包後，電腦就會自動開機，很適合遠端控制Linux電腦開關呢！\n起床了，Tux！ 至於這個魔法封包要由誰來傳？得是同一個網域下的另一台裝置傳送。\n1. 前置條件 # Wake-On-Lan功能需要硬體支援，大部分x86架構的電腦應該都有這個功能。不過，有些Wake-On-Lan只可以喚醒暫停(suspend)中的Linux電腦。其他則是在電腦完全關機(shutdown)狀態，也可以用Wake-On-Lan開機，這個要看個別硬體支援程度。\n要遠端開機的Linux電腦必須使用有線乙太網路連接到數據機或者路由器，才能收到魔法封包。\n要遠端開機的Linux電腦的電源不能斷掉。\n同一個網域下必須有其他裝置開著（俗稱跳板機），用於給Linux電腦發送魔法封包。這個裝置可以是Windows或Linux電腦，或者路由器、樹莓派、手機。\n接著是電腦的作業系統部份，主流Linux發行版應該都支援Wake-On-Lan。雖說Wake-On-Lan好像只是主機板收到一組封包就執行開機指令，似乎與要執行的作業系統無關。不過，作業系統層面也應該要設定Wake-On-Lan功能，這樣它才知道如何處理接收訊號後的處置。有時候，Wake-On-Lan不見得是冷開機(cold boot)，而是喚醒暫停(suspend)中的系統。\n","title":"遠端開機：Ubuntu如何啟用Wake-On-Lan，透過NetworkManager設定","type":"posts"},{"content":"聽說只有沒錢的人才會在買東西之前列出一堆理由，想東想西，貨比三家的。\n「我和共產黨\u0026hellip;不，Apple的頭目打交道了幾十年。Apple這個葫蘆裡所賣的藥是何其劇毒，我是清楚的很。無論如何Apple生態系這條賊船，我是不能再上了！何況我之所以脫離Apple，走曲線救國的道路，就是為了追求自由。Apple無論走到哪裡，就把果粉的信仰、爭鬥、燒殺、愚昧、落後帶到哪裡\u0026hellip;\u0026hellip;」\n———— 一名追求「自由」軟體汪老師的留言\n時值這個快要開學的季節，想到要買台新的行動裝置取代目前的PineTab 2平板，看上iPad Air 6，卻回想起過去種種，遂猶豫不決，覺得其他牌的平板比較好，無法做出決定。所以我把想法記述下來做參考。 iPad真的好用嗎？會不會仍是一個雞肋的裝置？Samsung Tab S9、小米平板6、Surface Go 4會不會是更好的選擇？ 這篇文章參考了這篇的想法：Abandoning my own tablet OS. Why I moved back to iPad and the Mac - by Willem L. Middelkoop\n1. 背景 # 先講講個人行動辦公的發展歷史，由此引出為何我會對買iPad猶豫不決。\n需求：文書作業，畫畫，玩遊戲，看影片，遠端桌面，跑電腦軟體\u0026hellip;不一而足，總之我希望行動裝置是盡量什麼都能做但又不能太重。\n2018年，買了一台桌電，玩遊戲專用。\niPad Air 3平板 # 2019年，出於好奇買了iPad Air 3，再用Adf.ly的收益從eBay上買Apple Pencil 1（這個操作很奇怪我知道，因為Paypal無法在台灣花）。常常帶iPad出門，但連筆記都沒寫過幾撇。其實當時剛買了幾個月就懷疑過，在Apple如此封閉的生態系能做些什麼？這台根本就是大號iPhone而已吧？畫畫玩音樂？我只是業餘的，對遊戲興趣也不是很大，這樣A12Z處理器的高效能又有什麼用呢？雖然在學校常常使用，但頂多就用來看PDF電子書，偶爾用殘廢版的Office打打報告。 iPad接上鍵鼠後，視窗管理不如電腦，檔案系統也是半調子，更別說安裝軟體管道受限了！許多APP都是要付費的專有軟體。\n儘管使用iPad的時候有買一支二手iPhone SE 2016，再搭配AirPods Pro，我還是覺得Apple生態系沒有便利到哪裡去。逐漸覺得iPad是雞肋玩意。\nMSI Modern 15筆電 # 2021年，為了買Sony Xperia 5 II，所以把iPad Air 3以新機價格的半價賣掉（虧死了），籌措資金。只留下當時搭配iPad買的雜牌藍芽鍵盤和Apple Pencil，前者現在還能用，後者因放太久自己壞掉了。\n在這之後買了MSI Modern 15筆電，iPad遂用筆電取代。筆電裝Windows或Linux系統並不重要，重點是筆電才總算解決了我行動辦公需求，幾乎所有事情都能在筆電完成。 2022年後全面從Windows切換到Linux，依然不減筆電的威力。我對這台筆電沒太多怨言，Intel i5-10210u效能一般般，什麼事情都能做好，可說是合格的軍馬。螢幕15吋剛剛好，只不過是1.5KG的重量帶出門有點重，且電池續航能力不太行。\nPineTab 2平板 # 筆電有重量問題，帶出門是個負擔，我又想買平板了。2023年，正值Linux迷弟時期，恰逢政府發放六倍券，所以以幾乎免費的價格買到了Pine64 PineTab 2，附贈鍵盤保護套。我得到的是硬體不好、軟體也不行，完全的玩具。除了重量比筆電稍微輕一點以外，這台完全沒有優點。 常有人說，iPad是買前生產力，買後愛奇藝。PineTab 2則是兩者皆無，系統十分不穩定，加上處理器孱弱、噁心的低色域螢幕、破爛喇叭，連播放YouTube都是種折磨！\n我一直試圖發掘PineTab 2的優點，但到頭來卻是把它當成低性能筆電來用。純觸控模式下，它完全沒辦法複製iPad的體驗，看電子書的顏色蠻糟糕的，玩遊戲根本不可能，且它的待機模式會睡死。\n如果說把PinTab 2當筆電用，RK3566的多工效能又很糟糕，看網頁都有困難，雖然電腦軟體都能跑但卡得要命。這台裝置對Linux愛好者來說很新鮮，在上面測試各種ARM架構的軟體也很有趣，但卻不是一個「好用」的行動裝置。\n總而言之，我覺得這一年來，我一直在自虐式的使用一台比Chromebook還不如的小筆電。儘管PineTab 2的系統穩定度有隨著更新逐漸改善，但依然改變不了這台用起來很卡的事實。\n自虐了一年後，心癢癢，決定2024年要重新購買iPad。\n看上的型號是2024年剛發表的iPad Air 6。\niPad預計要取代的是PineTab 2平板，而非MSI Modern 15筆電。\n2. 購買iPad的正反方理由 # 正方：支持買iPad的理由 # 我的iPhone SE 2016已經不能更新了，需要新的iOS裝置以繼續做Apple用戶生態研究。已經過了年輕時的果粉時期，我知道我終究不喜歡Apple生態系，但出於好奇還是得研究一下。既然我不喜歡iPhone當主力機，就不買便宜的過季iPhone了，買來擺設太浪費，改買台比較實用的iPad。\niPad Air 6的規格夠用了，M2處理器同價位中最強，價格適中，現在用BTS方案買的話還會送一枝Apple Pencil。\niPad的螢幕很漂亮，顏色準確又有DCI-P3，揚聲器也不賴。看影片、檢視網頁賞心悅目。\n因為遠端桌面與虛擬機技術已經運用成熟，我隨時可以ssh回Linux電腦操作進階事務。故iPad當成單純的遠端桌面控制機是可行的。\n認識到純Linux平板終究不成氣候，必須修正嚴重左傾錯誤。一台平板連待機都做不到，沒有辦法純用觸控操作，那就不是成熟產品，充其量是有觸控螢幕的電腦而已。\n沒有買Android平板的理由，生態相對比較缺乏，低價格帶的有小米平板，高檔的Smasung Tab價格太貴，覺得不值得。\n至於Surface Go嘛，可以搞Linux + Android雙系統又有x86的成熟度，但我覺得不行，主要Linux系統在這些平板也往往不是first class支援對象。效能和續航也不行。實際在i5-10210u筆電測試跑過Android-x86的效能，從跑分下去估算可以得知Surface Go的Pentium處理器真的很爛，新的N200處理器也還好。\n其他x86架構的二合一筆電不考慮，同樣是續航還有重量問題。\n反方：反對買iPad的理由 # 如果只是需要一台測試用iOS裝置，去拍賣網站找台便宜的二手iPhone就好了。\niPad像電腦又不像電腦的問題依然沒解決，現今的iPadOS，視窗管理受限，檔案系統又不夠自由。如果比較習慣電腦系統的操作，那麼iPad絕對讓人失望。\n如果只是要一塊漂亮螢幕和不錯的揚聲器，何不直接買顯示器和音箱？\n即使遠端桌面工作是可能的，但是如果是這樣的用法，買iPad的意義何在？只是用一台比較漂亮的螢幕在打字？\nApple生態系是出了名的敵視自由軟體，App Store開源軟體甚少，難以側載，沒有Android F-Droid那麼多的開源替代品。這對已經習慣Linux + Android生態系的我來說是很致命的。\n對畫畫、音樂創作、玩遊戲沒有太大興趣，手寫字很醜，做筆記都用打字的居多，Apple Pencil實無必要。另外，我不是「consoomer」，看影片的單純娛樂裝置滿足不了我的需要。\nAndroid平板雖然生態較匱乏，但是自由度不是iPad能比擬的。Samsung Tab S9有自由視窗模式，小米平板6甚至有刷機跑Linux的機會，可玩性不比iPad更高嗎？\nSurface Go是可以考慮的選項，這效能跑Linux夠用了啦，文書為主的處理，況且Surface Go 4的處理器效能也有升級。還有其他x86二合一筆電難道不會有更物超所值的選擇麼？\n3. 留給神明裁決 # 看起來我還是不知道自己要什麼。\n該買的時候，就會買。\n現在，先把錢存起來，為將來打算。\n\u0026hellip;\u0026hellip;歷史的最後，共產黨贏了，所以我還是買了iPad Air 6。Revisit iPad！iPad Air 6 M2開箱＆使用心得\n","date":"2024年8月13日","externalUrl":null,"permalink":"/posts/should-i-buy-a-new-ipad-in-2024/","section":"Unboxings","summary":"聽說只有沒錢的人才會在買東西之前列出一堆理由，想東想西，貨比三家的。\n「我和共產黨…不，Apple的頭目打交道了幾十年。Apple這個葫蘆裡所賣的藥是何其劇毒，我是清楚的很。無論如何Apple生態系這條賊船，我是不能再上了！何況我之所以脫離Apple，走曲線救國的道路，就是為了追求自由。Apple無論走到哪裡，就把果粉的信仰、爭鬥、燒殺、愚昧、落後帶到哪裡……」\n———— 一名追求「自由」軟體汪老師的留言\n時值這個快要開學的季節，想到要買台新的行動裝置取代目前的PineTab 2平板，看上iPad Air 6，卻回想起過去種種，遂猶豫不決，覺得其他牌的平板比較好，無法做出決定。所以我把想法記述下來做參考。 iPad真的好用嗎？會不會仍是一個雞肋的裝置？Samsung Tab S9、小米平板6、Surface Go 4會不會是更好的選擇？ 這篇文章參考了這篇的想法：Abandoning my own tablet OS. Why I moved back to iPad and the Mac - by Willem L. Middelkoop\n1. 背景 # 先講講個人行動辦公的發展歷史，由此引出為何我會對買iPad猶豫不決。\n需求：文書作業，畫畫，玩遊戲，看影片，遠端桌面，跑電腦軟體…不一而足，總之我希望行動裝置是盡量什麼都能做但又不能太重。\n","title":"想買新平板，適不適合再買iPad當作行動辦公裝置？","type":"unboxing"},{"content":"我一直想嘗試在Raspberry Pi 5跑雲手機的方案，並希望能跟Linux共存。\nARM版的ReDroid是值得考慮的方案之一，它對headless環境的適應性較強。\n本篇要測試Waydroid在headless環境的執行效果。\n之前寫過一篇在Raspberry Pi 5安裝Waydroid跑Android的操作，但那是接上實體螢幕才做到的。其實Waydroid不用接螢幕也能跑，只是設定就會變很複雜了。\n它可以在headless模式執行，只要Wayland合成器支援虛擬輸出就行，這樣我們就能用Scrcpy遠端存取Waydroid的畫面。什麼合成器支援healdess模式？Weston、Kwin、Sway都有支援。\n1. 環境 # Raspberry Pi 5 Raspberry Pi OS Bookworm Waydroid Android 11 Arch Linux GNOME Wayland 用於遠端操控 參見這篇了解如何在Raspberry Pi 5安裝Waydroid，必須接實體螢幕設定好Waydroid，確認GPU加速一切正常後再往下。\n2. 嘗試用Scrcpy連線到Waydroid畫面 # 此時的樹莓派是沒有接任何實體螢幕的\n安裝Weston\nsudo apt install weston 以headless後端啟動Weston weston --backend=headless-backend.so --use-gl \u0026amp; export WAYLAND_DISPLAY=\u0026#34;wayland-1\u0026#34; 在Weston的DISPLAY啟動Waydroid sudo systemctl start waydroid-container waydroid show-full-ui 使用指令查看Waydroid IP sudo waydroid shell ip addr 在樹莓派開啟ADB連線，連接到同一個裝置的Waydroid adb connect 192.168.1.240:5555 再啟動Scrcpy。因為Waydroid無法讓外網連接，我使用的是架設個網頁版ws-scrcpy。ADB顯示有連線，理論上應該看得到Waydroid畫面。但\u0026hellip;黑螢幕，可能是Scrcpy本身有問題？ 3. 改用WayPipe存取Waydroid畫面 # 此時的樹莓派是沒有接任何實體螢幕的。不存取Android畫面，而是將整個Weston畫面拉過來。\n這個比較技術性一點，因為要先取得Waydroid真正的畫面，所以我們得使用WayPipe。又WayPipe使用不是很友善，因其要求兩邊都得是Wayland，之後我們會把WayPipe的操作轉為X11 Forwarding。\n設定WayPipe，將遠端的Weston視窗拉到本機Linux waypipe ssh -C user@樹莓派IP weston 這樣我們就可以存取Raspberry Pi的Weston，再從中啟動Waydroid畫面 waydroid show-full-ui 因為SSH加密，延遲有點高，不過GPU加速有成功！ Weston本身可在X11環境使用，所以使用X11的用戶可擺脫WayPipe，改用X11 Forwarding了來開啟Waydroid視窗了。\nssh -X user@樹莓派IP weston 4. 結論 # headless的設定還不如HDMI欺騙器要簡單高效。\n參考資料 # [QUESTION] Is there a way to run waydroid on a headless server? #230 如何在Linux容器内运行Android？ - Mayx的博客 ","date":"2024年8月12日","externalUrl":null,"permalink":"/posts/headless-waydroid/","section":"所有文章","summary":"我一直想嘗試在Raspberry Pi 5跑雲手機的方案，並希望能跟Linux共存。\nARM版的ReDroid是值得考慮的方案之一，它對headless環境的適應性較強。\n本篇要測試Waydroid在headless環境的執行效果。\n之前寫過一篇在Raspberry Pi 5安裝Waydroid跑Android的操作，但那是接上實體螢幕才做到的。其實Waydroid不用接螢幕也能跑，只是設定就會變很複雜了。\n它可以在headless模式執行，只要Wayland合成器支援虛擬輸出就行，這樣我們就能用Scrcpy遠端存取Waydroid的畫面。什麼合成器支援healdess模式？Weston、Kwin、Sway都有支援。\n1. 環境 # Raspberry Pi 5 Raspberry Pi OS Bookworm Waydroid Android 11 Arch Linux GNOME Wayland 用於遠端操控 參見這篇了解如何在Raspberry Pi 5安裝Waydroid，必須接實體螢幕設定好Waydroid，確認GPU加速一切正常後再往下。\n2. 嘗試用Scrcpy連線到Waydroid畫面 # 此時的樹莓派是沒有接任何實體螢幕的\n安裝Weston\nsudo apt install weston 以headless後端啟動Weston weston --backend=headless-backend.so --use-gl \u0026 export WAYLAND_DISPLAY=\"wayland-1\" 在Weston的DISPLAY啟動Waydroid sudo systemctl start waydroid-container waydroid show-full-ui 使用指令查看Waydroid IP sudo waydroid shell ip addr 在樹莓派開啟ADB連線，連接到同一個裝置的Waydroid adb connect 192.168.1.240:5555 再啟動Scrcpy。因為Waydroid無法讓外網連接，我使用的是架設個網頁版ws-scrcpy。ADB顯示有連線，理論上應該看得到Waydroid畫面。但…黑螢幕，可能是Scrcpy本身有問題？ 3. 改用WayPipe存取Waydroid畫面 # 此時的樹莓派是沒有接任何實體螢幕的。不存取Android畫面，而是將整個Weston畫面拉過來。\n","title":"Waydroid + Weston + Scrcpy以headless模式執行Android APP","type":"posts"},{"content":" 如何在iOS裝置閱讀E-hentai網站呢？搞個網頁版前端！\nE-hentai手機網頁與Suwayomi E-Hentai頁面比較： 到目前為止，E-hentai官方的網頁版不太好用，iPhone很難檢視，iPad勉強能看。因此需要專門設計的閱讀界面。\n之前在Github看過IronKinoko/e-hentai-view的方案，作者自己寫一個Next.js的手機版前端，部署到VPS，再於iPhone存取，這樣就能用手機版網頁瀏覽E-hentai了，宛如「網頁版的EhViewer」一般。令人驚豔，iOS用戶真的是很拼命要搞EhViewer替代方案出來，可惜這個專案停止維護了。\nAndroid的EhViewer真的是難找替代品。雖然iOS確實有EhViewer的替代APP，例如JHentai、EhPanda，但是他們都得側載IPA，安裝不是很方便。另外有上架App Store的Yealico用起來也不是很滿意哪。\n跑個ReDroid自架Android雲手機)再裝EhViewer的方案太複雜了\u0026hellip;\n所以搞個E-hentai網頁前端還是個不錯的方案吧。\n隨著今年Tachiyomi被韓國公司吉，我順便認識到了Suwayomi的解決方案，想說可以用這個復現EHentaiView的操作。\n給不知道這是什麼的朋友：這可說是伺服器版的Tachiyomi。Tachiyomi（Mihon）為Android系統專有的漫畫閱讀APP，支援各大漫畫網站，其中就有E-hentai的擴充功能。\n目前Tachiyomi有一個非官方的iOS移植版：Tachimanga\nSuwayomi能讓Tachiyomi從瀏覽器存取，從而達成在iOS跑Tachiyomi的目的。它也可以下載漫畫離線保存，兼具雲端書庫的功能。\n所以需要一台電腦部署Suwayomi服務，再從iPhone瀏覽器開啟Suwayomi網頁界面。\n這樣閱讀E-hentai上的本子，界面就乾淨多了。\nE-hentai手機網頁與Suwayomi E-Hentai頁面比較 問題是，目前我找到的E-hentai擴充套件只能看，不能登入，也不支援Ex-hentai。只有簡單的過濾搜尋功能。沒有登入，意味著無法存取雲端收藏，也無法搜尋loli關鍵字的本子。\n唉\u0026hellip;或許登入E-hentai的功能無法靠擴充功能實現，而是得動Tachiyomi的APP程式碼吧？所以才會有TachiyomiSY的這類特化版分支出現。\n退而求其次的方案：用鏡像站Nhentaiㄅ\nNhentai本身就有手機版網頁，但若是用Suwayomi擴充套件存取，閱讀體驗更佳。而且可以下載漫畫離線閱讀。（這裡下載的漫畫是儲存到遠端Suwayomi伺服器，不是手機）\n二者界面比較：Nhentai vs Suwayomi NHentai ","date":"2024年8月12日","externalUrl":null,"permalink":"/posts/suwayomi-e-hentai-extension/","section":"所有文章","summary":" 如何在iOS裝置閱讀E-hentai網站呢？搞個網頁版前端！\nE-hentai手機網頁與Suwayomi E-Hentai頁面比較： 到目前為止，E-hentai官方的網頁版不太好用，iPhone很難檢視，iPad勉強能看。因此需要專門設計的閱讀界面。\n之前在Github看過IronKinoko/e-hentai-view的方案，作者自己寫一個Next.js的手機版前端，部署到VPS，再於iPhone存取，這樣就能用手機版網頁瀏覽E-hentai了，宛如「網頁版的EhViewer」一般。令人驚豔，iOS用戶真的是很拼命要搞EhViewer替代方案出來，可惜這個專案停止維護了。\nAndroid的EhViewer真的是難找替代品。雖然iOS確實有EhViewer的替代APP，例如JHentai、EhPanda，但是他們都得側載IPA，安裝不是很方便。另外有上架App Store的Yealico用起來也不是很滿意哪。\n","title":"給iOS搞個網頁版EhViewer，用Suwayomi + Tachiyomi閱讀E-hentai漫畫","type":"posts"},{"content":"請參考： Linux開源免費的遠端桌面列表\n適用版本：GNOME 46以上、Ubuntu 24.04以上、Fedora 40以上\nLinux有許多RDP協定的開源實作，其中較知名的有FreeRDP和xRDP，讓用戶能透過Windows的RDP客戶端連線到Linux電腦。xRDP比較常聽人提到，不過它比較適合headlesss的伺服器使用，設定複雜。\n但是你知道嗎，GNOME 42以後就有內建「遠端桌面」，讓使用者可以輕鬆從系統選單直接開啟遠端桌面功能，而不用手動打指令！還能播放遠端音訊、共享剪貼簿呢！ 透過Remmina遠端連線到Linux GNOME桌面\nGNOME遠端桌面功能類似x11VNC，可讓使用者接續使用離開電腦前的工作階段，而非開一個新的桌面工作階段。\n有趣的是，除了遠端桌面之外，GNOME Remote Desktop還能新增虛擬顯示器輸出(RDP screen share mode)，讓你擁有第二個顯示器，可投影到其他電腦上當作延伸桌面，例如將平板當作電腦的無線顯示器。\n技術細節：GNOME遠端桌面(gnome-remote-desktop)為GNOME Vino的後繼者，支援VNC與RDP二種遠端桌面協定當作後端。RDP部份使用的是FreeRDP的實作，而非xRDP，因為後者只支援X11。於是乎GNOME遠端桌面可在X11或Wayland環境運作。還有GNOME遠端桌面是透過PipeWire傳輸音訊的，舊版則是PulseAudio。\n1. 啟用GNOME遠端桌面 # 你的Linux電腦必須安裝GNOME桌面才可以使用這個功能，且電腦必須接著顯示器。\nGNOME遠端桌面選項的位置可能會隨著GNOME版本更新而變更，如果找不到請搜尋「遠端桌面」或「桌面分享」。\nGNOME 46開啟GNOME設定 → 系統 → 遠端桌面 → 桌面分享，將以下二個選項打勾。不勾第二個的話就是只能檢視。 下面就會列出啟用的通訊埠，還有連線時的帳號密碼。\n你可能需要開放對應防火牆通訊埠：\nsudo ufw allow 3390 sudo ufw reload 開啟系統設定 → 網路，取得Linux的區域IP。 2. 安裝RDP連線客戶端 # 讓要連線的電腦處在同一個網域下。\n連線協定選RDP，再輸入Linux的IP:通訊埠就可以了。遠端桌面工作階段開始的時候，GNOME右上角會出現畫面分享圖示。\n電腦：Remmina或Microsoft Remote Desktop\n手機：RealVNC Viewer或Microsoft Remote Desktop\n網頁版：Apache Guacamole\n3. 讓GNOME鎖定的時候也可以連線 # 遠端桌面重開機後會自動啟動，不過GNOME螢幕鎖定的情況下是無法連入遠端桌面的。\n請安裝Extension Manager，再從裡面安裝Allow Locked Remote Desktop擴充功能解決。\n或者你可以在GNOME系統設定關閉自動鎖定螢幕。\n4. 從外網連接到GNOME桌面 # 如果不方便取得公共IP，不妨使用內網穿透軟體。\n這樣你的電腦就能從外部網路存取GNOME桌面。\n5. 透過指令啟動GNOME遠端桌面 # GNOME遠端桌面可以使用grdctl指令啟用。\n查看狀態 grdctl status 啟用RDP遠端桌面 grdctl rdp enable 除此之外，headless的Linux電腦也可以純靠指令啟用RDP遠端桌面，請見這篇：How to configure + connect to the new headless gnome-remote-desktop service?\n6. 透過GNOME RDP建立虛擬顯示器 # 此功能會生成一個虛擬顯示器，成為GNOME的延伸桌面。僅限Wayland工作階段使用。這個功能有點類似Duet Display或macOS的Sidecar。\n執行以下指令，設定org.gnome.desktop.remote-desktop.rdp screen-share-mode數值為extend： gsettings set org.gnome.desktop.remote-desktop.rdp screen-share-mode extend 開啟平板的RDP客戶端連線，連線的時候看到的會是虛擬顯示器的畫面，而非電腦GNOME的主畫面。並且GNOME設定界面會多出第二個顯示器。 這個似乎是實驗性功能，如果GPU沒有正常驅動的話無法調整第二個顯示器的解析度。\n要還原預設設定的話，就是改回mirror-primary：\ngsettings set org.gnome.desktop.remote-desktop.rdp screen-share-mode mirror-primary 參考資料 # 用Windows 遠端Ubuntu 22.04 - HH.Ming gnome-remote-desktop - GitLab Support RDP (xRDP) backend (#26) · Issues - GitLab - GNOME Use Your iPad or Android Tablet as External Monitor in Ubuntu - OMG! Ubuntu ","date":"2024年8月11日","externalUrl":null,"permalink":"/posts/enable-gnome-remote-desktop/","section":"所有文章","summary":"請參考： Linux開源免費的遠端桌面列表\n適用版本：GNOME 46以上、Ubuntu 24.04以上、Fedora 40以上\nLinux有許多RDP協定的開源實作，其中較知名的有FreeRDP和xRDP，讓用戶能透過Windows的RDP客戶端連線到Linux電腦。xRDP比較常聽人提到，不過它比較適合headlesss的伺服器使用，設定複雜。\n但是你知道嗎，GNOME 42以後就有內建「遠端桌面」，讓使用者可以輕鬆從系統選單直接開啟遠端桌面功能，而不用手動打指令！還能播放遠端音訊、共享剪貼簿呢！ 透過Remmina遠端連線到Linux GNOME桌面\nGNOME遠端桌面功能類似x11VNC，可讓使用者接續使用離開電腦前的工作階段，而非開一個新的桌面工作階段。\n有趣的是，除了遠端桌面之外，GNOME Remote Desktop還能新增虛擬顯示器輸出(RDP screen share mode)，讓你擁有第二個顯示器，可投影到其他電腦上當作延伸桌面，例如將平板當作電腦的無線顯示器。\n技術細節：GNOME遠端桌面(gnome-remote-desktop)為GNOME Vino的後繼者，支援VNC與RDP二種遠端桌面協定當作後端。RDP部份使用的是FreeRDP的實作，而非xRDP，因為後者只支援X11。於是乎GNOME遠端桌面可在X11或Wayland環境運作。還有GNOME遠端桌面是透過PipeWire傳輸音訊的，舊版則是PulseAudio。\n","title":"Linux如何開啟GNOME內建的RDP遠端桌面連線 (GNOME Remote Desktop)","type":"posts"},{"content":" 本文分享四款Linux系統開源免費的遠端桌面方案，並解說安裝過程。 簡介 # Linux最古老的遠端桌面方案是跑VNC或RDP伺服器，再用客戶端程式存取。他們都是自由開源的遠端桌面方案，不過這類方案比較適合用於管理伺服器的工作，而非像是坐在遠端電腦前使用一般。\n使用者可能會想要更完善的套裝遠端桌面軟體，開箱即用的，舉凡「TeamViewer」、「Chrome遠端桌面」、「Anydesk」、「NoMachine」、「Splashtop」皆提供簡易上手的界面，他們有的支援Linux，而且免費使用。\n縱然它們免費使用，授權卻都是專有軟體，畫面訊號也要透過該公司的伺服器傳輸，用下去就會變成依賴特定公司的產品。\n為此，自由開源的VNC和RDP還是有一定優勢。\n最近幾年，有了新開源遠端桌面軟體選擇，那就是「RustDesk」和「Moonlight」，這類遠端桌面較VNC和RDP簡單上手，可讓使用者直接登入離開電腦前的狀態繼續工作，甚至頻寬足夠的情況下還能串流遊戲。\n開源遠端桌面注意事項 # 遠端桌面需注意有無支援最新的Wayland顯示協定。確認自己電腦使用X11還是Wayland的指令：echo $XDG_SESSION_TYPE\n開源軟體比較少商業支援，若有問題，請在Github向開發者回報並尋求社群幫助。\n再者，下面談到的遠端桌面方案，有些沒有公共伺服器，使用者需要自行解決外部連線問題。\n要從外部網路連內部電腦的方法有二個：\n動態DNS + 路由器通訊埠轉發 port forwarding 內網穿透 P2P hole punch 就難易程度來說，內網穿透比較簡單，不用動路由器。\n主要是借助內網穿透，例如ZeroTier中轉，把所有連線到ZeroTier網路的裝置連到虛擬區域網路，像A電腦會分配到192.168.1.100，B電腦192.168.1.101。\n其伺服器僅負責讓二個裝置連接，設定很簡單。如果電腦防火牆有開通訊埠就能P2P，就不需要依賴ZeroTier伺服器中轉封包，速度會快很多，而且連線是點對點加密。\n就隱私考慮這點，DDNS+通訊埠轉發，再另外架個WireGuard VPN會是最安全的方式，不過就有點麻煩。\n設定完成後，VNC、RDP這類桌面技術也是可以運作的，並且別忘了你能夠透過虛擬區域網路SSH到遠端電腦。\n1. 桌面環境內建的遠端桌面功能 # 這個要看各家怎麼實作，沒有通吃的解決方案。支援X11與Wayland工作階段。\n例如，GNOME 42以上內建遠端桌面功能，叫做GNOME Remote Desktop。\nKDE Plasma 6.0以上內建的遠端桌面叫做KRdp。\n基於wlroots寫成的桌面可以使用WayVNC遠端連線。\n2. VNC與RDP伺服器 # 大部分是X11，部份支援Wayland工作階段。\n這二個都是設定比較麻煩的遠端桌面方案，需要手動撰寫設定檔，寫明登入後要啟動哪些服務，使用上較不直覺，並且有的傳輸還沒有加密。\nVNC伺服器的實作，較常見的有讓使用者接續離開電腦前工作階段的x11VNC，適用headless伺服器的TigerVNC，專為瀏覽器設計的KasmVNC，商業化的RealVNC。\nRDP則是效能較好的遠端桌面協定，較常見的實作有xRDP和FreeRDP，通常音訊會一併傳輸過來。\n3. RustDesk # 支援X11與Wayland工作階段。\n以Rust寫成，支援各大作業系統。設計上跟TeamViewer類似，都是透過一組隨機產生的帳密連線，直覺易用，支援音訊。\n連線全程加密，會先嘗試走P2P，連不通才會走公共中繼伺服器。\nRustDesk使用一切免費，另提供商業方案。客戶端和伺服器端都是開源的，可以自己架設Relay server，無須受限於官方提供的服務。\nRustDesk使用教學\nRustDesk原始碼可在Github取得。\n4. Moonlight + Sunshine # 支援X11與Wayland工作階段。\nMoonlight其實是用來串流玩遊戲用的，遠端桌面是附贈功能。軟體功能類似Parsec。\nMoonlight伺服器的Linux移植版叫Sunshine，由LizardBytes維護，支援Nvidia/AMD/Intel GPU的電腦。\nSunshine非常依賴GPU計算畫面，傳輸效率不賴。網路速度夠快的話1080p60畫面不是問題，音訊也會自動傳送過來。不過若是在遠端進行GPU吃重的工作，則畫面品質會嚴重受干擾。\nMoonlight使用教學\nSunshine原始碼可在Github取得。\n","date":"2024年8月11日","externalUrl":null,"permalink":"/posts/linux-foss-remote-desktop-solutions/","section":"所有文章","summary":" 本文分享四款Linux系統開源免費的遠端桌面方案，並解說安裝過程。 簡介 # Linux最古老的遠端桌面方案是跑VNC或RDP伺服器，再用客戶端程式存取。他們都是自由開源的遠端桌面方案，不過這類方案比較適合用於管理伺服器的工作，而非像是坐在遠端電腦前使用一般。\n使用者可能會想要更完善的套裝遠端桌面軟體，開箱即用的，舉凡「TeamViewer」、「Chrome遠端桌面」、「Anydesk」、「NoMachine」、「Splashtop」皆提供簡易上手的界面，他們有的支援Linux，而且免費使用。\n縱然它們免費使用，授權卻都是專有軟體，畫面訊號也要透過該公司的伺服器傳輸，用下去就會變成依賴特定公司的產品。\n為此，自由開源的VNC和RDP還是有一定優勢。\n最近幾年，有了新開源遠端桌面軟體選擇，那就是「RustDesk」和「Moonlight」，這類遠端桌面較VNC和RDP簡單上手，可讓使用者直接登入離開電腦前的狀態繼續工作，甚至頻寬足夠的情況下還能串流遊戲。\n開源遠端桌面注意事項 # 遠端桌面需注意有無支援最新的Wayland顯示協定。確認自己電腦使用X11還是Wayland的指令：echo $XDG_SESSION_TYPE\n","title":"四款Linux開源免費的遠端桌面軟體比較","type":"posts"},{"content":"適用系統：Ubuntu 24.04以上 ＆ Debian 12以上\nnoVNC為HTML5寫的VNC客戶端，讓我們可以直接用網頁瀏覽器存取VNC伺服器，進入Linux的遠端桌面，無需特地安裝VNC客戶端（如RealVNC、Remmina之類的）。如此一來可以方便手機平板用戶操作。 但是，noVNC不是一個獨立的VNC伺服器，它只能用Websockify轉發VNC連線，所以得搭配其他VNC伺服器使用。\n1. 啟動VNC伺服器 # 常見的VNC伺服器有兩種，請讓其中一種服務跑起來，再接續設定noVNC。\nx11VNC：可以在目前的X工作階段開一個VNC伺服器，接續離開電腦前的畫面，並且能吃到GPU加速。電腦必須接上螢幕。\nTigerVNC：能夠從SSH命令行headless模式執行，適用沒接螢幕的電腦。\n順帶一提，有一個叫做KasmVNC的方案，屬於是noVNC的改進版，安裝過程更為方便，且操作更加流暢。\n2. 設定noVNC服務 # 你可以用Linux套件管理器安裝noVNC：sudo apt install novnc。透過APT安裝noVNC，路徑會位於/usr/share/novnc/ 或者，我是直接從Github下載最新版noVNC的指令稿，安裝到/usr/local/bin：\ncd ~ git clone https://github.com/novnc/noVNC.git sudo mv noVNC /usr/local/bin/ 然後使用novnc_proxy指令啟動noVNC服務，後面localhost接的5901通訊埠即為VNC伺服器使用的通訊埠 cd /usr/local/bin/noVNC/utils/ novnc_proxy --vnc localhost:5901 --listen 6080 開放防火牆6080，這是連線到noVNC網頁的通訊埠 sudo ufw allow 6080/tcp 用瀏覽器開啟http://Linux電腦IP:6080/vnc.html即可看到連線畫面。連線密碼就是VNC伺服器設定的密碼。 測試連線成功後，按CTRL＋C中止服務。\n我們把noVNC做成一個使用者的Systemd service：\nvim ~/.config/systemd/user/novnc.service 填入內容 [Unit] Description=noVNC service After=syslog.target network.target [Service] ExecStart=/usr/local/bin/noVNC/utils/novnc_proxy --vnc localhost:5901 --listen 6080 [Install] WantedBy=default.target 這樣noVNC就能隨時開關了。 systemctl --user daemon-reload systemctl --user start novnc 3. 外部網路存取 # 我使用內網穿透軟體。\n因為內網穿透會自動加密，故設定HTTPS的操作就不需要了。\n參考資料 # 使用 noVNC 通过浏览器访问 Ubuntu 22 桌面的构建方法 - 亚马逊AWS官方博客 Runninng novnc and x11vnc as systemd services - scan.wiki noVNC, the open-source VNC browser client Ubuntu 22.04 LTS : VNC Client : noVNC - Server World ","date":"2024年8月11日","externalUrl":null,"permalink":"/posts/novnc-vnc-web-cient/","section":"所有文章","summary":"適用系統：Ubuntu 24.04以上 ＆ Debian 12以上\nnoVNC為HTML5寫的VNC客戶端，讓我們可以直接用網頁瀏覽器存取VNC伺服器，進入Linux的遠端桌面，無需特地安裝VNC客戶端（如RealVNC、Remmina之類的）。如此一來可以方便手機平板用戶操作。 但是，noVNC不是一個獨立的VNC伺服器，它只能用Websockify轉發VNC連線，所以得搭配其他VNC伺服器使用。\n1. 啟動VNC伺服器 # 常見的VNC伺服器有兩種，請讓其中一種服務跑起來，再接續設定noVNC。\nx11VNC：可以在目前的X工作階段開一個VNC伺服器，接續離開電腦前的畫面，並且能吃到GPU加速。電腦必須接上螢幕。\nTigerVNC：能夠從SSH命令行headless模式執行，適用沒接螢幕的電腦。\n順帶一提，有一個叫做KasmVNC的方案，屬於是noVNC的改進版，安裝過程更為方便，且操作更加流暢。\n2. 設定noVNC服務 # 你可以用Linux套件管理器安裝noVNC：sudo apt install novnc。透過APT安裝noVNC，路徑會位於/usr/share/novnc/ 或者，我是直接從Github下載最新版noVNC的指令稿，安裝到/usr/local/bin：\ncd ~ git clone https://github.com/novnc/noVNC.git sudo mv noVNC /usr/local/bin/ 然後使用novnc_proxy指令啟動noVNC服務，後面localhost接的5901通訊埠即為VNC伺服器使用的通訊埠 cd /usr/local/bin/noVNC/utils/ novnc_proxy --vnc localhost:5901 --listen 6080 開放防火牆6080，這是連線到noVNC網頁的通訊埠 sudo ufw allow 6080/tcp 用瀏覽器開啟http://Linux電腦IP:6080/vnc.html即可看到連線畫面。連線密碼就是VNC伺服器設定的密碼。 ","title":"noVNC，用任意網頁瀏覽器存取Linux VNC遠端桌面","type":"posts"},{"content":"請參考： Linux開源免費的遠端桌面列表\n適用系統：Ubuntu 24.04與Debian 12以上\nVNC實作有x11VNC、TigerVNC、RealVNC、TurboVNC等，其中TigerVNC為一款知名的開源VNC伺服器軟體。 作為TightVNC的分叉版，它會啟動一個Xvnc，建立虛擬X伺服器，能夠從SSH命令行啟動遠端桌面，適用沒接上螢幕(headless)的Linux電腦，例如樹莓派、Ubuntu Server等等。 TigerVNC沒有傳輸音效和GPU加速的功能，每次啟動的桌面工作階段都是獨立的。如果你想要的是「遠端接續離開電腦前的工作」，請改用x11VNC。\n給舊版Ubuntu用戶的提示 # 本文討論的都是「TigerVNC server」的設定方式，不可用vncserver指令來啟動。部份系統使用vncserver可能會變成執行「RealVNC server」，所以請注意電腦有無安裝realvnc-vnc-server套件。\n若要查看vncserver指向的是哪個VNC伺服器，可以用ls -l /usr/bin/vncserver指令查看。\n另外，TigerVNC開發者推薦用Systemd service管理VNC伺服器服務，而非直接執行tigervncserver :0指令。\n1. 安裝桌面環境 # TigerVNC可以啟動Linux現有的X11桌面環境，例如Ubuntu Desktop安裝的是GNOME。\n不過遠端連線很吃頻寬，且有的Ubuntu Server並沒有桌面環境。\n所以裝個輕量點的桌面環境來用吧，例如XFCE4：\nsudo apt install xfce4 xfce4-goodies 2. 安裝TigerVNC # 注意：這裡使用的都是TigerVNC的指令。\n安裝TigerVNC server sudo apt install tigervnc-standalone-server 設定六位數VNC密碼 tigervncpasswd 新增TigerVNC設定檔 vim ~/.vnc/tigervnc.conf 填入以下內容，設定開啟XFCE工作階段、解析度、斷線後仍保留工作階段、允許外部連線 $session=\u0026#34;xfce4-session\u0026#34;; $geometry=\u0026#34;1920x1080\u0026#34;; $AlwaysShared=\u0026#34;yes\u0026#34;; $localhost=\u0026#34;no\u0026#34;; 防火牆開啟VNC通訊埠，VNC的通訊埠算法是5900 ＋ X11伺服器的DISPLAY變數，因此開放對應的通訊埠： sudo ufw allow 5900/tcp sudo ufw reload 參考Github範本，給目前使用者新增Systemd service mkdir -p ~/.config/systemd/user/ vim ~/.config/systemd/user/vncserver@.service 填入以下內容。這裡執行的內容是先中止舊有的VNC伺服器，再啟動新的。 [Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking ExecStartPre=/bin/sh -c \u0026#39;/usr/bin/tigervncserver -kill %i \u0026gt; /dev/null 2\u0026gt;\u0026amp;1 || :\u0026#39; ExecStart=/usr/bin/tigervncserver %i ExecStop=/usr/bin/tigervncserver -kill %i [Install] WantedBy=default.target 啟動VNC伺服器服務，@後面的數字是X11伺服器的DISPLAY變數，也就是要使用的通訊埠，從5900開始算。這裡假定遠端電腦沒有登入任何X11工作階段，所以使用:0。如果已經有登入就改用:1。 systemctl --user daemon-reload systemctl --user start vncserver@:0.service 如此一來其他電腦就能用Linux電腦IP:5900連線了。VNC伺服器的除錯訊息用以下指令查看 systemctl --user status vncserver@:0.service 停止VNC伺服器的指令： systemctl --user stop vncserver@:0.service 開機自動啟動VNC伺服器的指令： systemctl --user enable vncserver@:0.service 4. 開放外部連線 # 我使用內網穿透軟體。\n這樣Linux電腦會分配到一個虛擬IP。\n5. 安裝VNC連線客戶端 # 電腦：安裝Remmina或RealVNC Viewer，在位址欄選取VNC，輸入虛擬區域IP:5900連線\n手機：安裝AVNC或Real VNC Viewer，在位址欄輸入虛擬區域IP:5900，登入遠端桌面。\n網頁：安裝noVNC\n參考資料 # tigervnc.conf - configuration file for Virtual Network Computing - Ubuntu Manpages TigerVNC and RealVNC on Raspberry Pi Bookworm OS - PiCockpit TigerVNC Wiki ","date":"2024年8月11日","externalUrl":null,"permalink":"/posts/linux-tigervnc-server/","section":"所有文章","summary":"請參考： Linux開源免費的遠端桌面列表\n適用系統：Ubuntu 24.04與Debian 12以上\nVNC實作有x11VNC、TigerVNC、RealVNC、TurboVNC等，其中TigerVNC為一款知名的開源VNC伺服器軟體。 作為TightVNC的分叉版，它會啟動一個Xvnc，建立虛擬X伺服器，能夠從SSH命令行啟動遠端桌面，適用沒接上螢幕(headless)的Linux電腦，例如樹莓派、Ubuntu Server等等。 TigerVNC沒有傳輸音效和GPU加速的功能，每次啟動的桌面工作階段都是獨立的。如果你想要的是「遠端接續離開電腦前的工作」，請改用x11VNC。\n給舊版Ubuntu用戶的提示 # 本文討論的都是「TigerVNC server」的設定方式，不可用vncserver指令來啟動。部份系統使用vncserver可能會變成執行「RealVNC server」，所以請注意電腦有無安裝realvnc-vnc-server套件。\n若要查看vncserver指向的是哪個VNC伺服器，可以用ls -l /usr/bin/vncserver指令查看。\n另外，TigerVNC開發者推薦用Systemd service管理VNC伺服器服務，而非直接執行tigervncserver :0指令。\n","title":"Linux設定TigerVNC遠端桌面，用Systemd執行vncserver","type":"posts"},{"content":"請參考： Linux開源免費的遠端桌面列表\n適用系統：Ubuntu 24.04以上 ＆ Debian 12以上\n介紹如何建立x11VNC遠端伺服器，不包含GPU加速與PulseAudio音效。 個人使用的話花不到半毛錢，使用內網穿透軟體，讓不同網路下的裝置連線到同一個虛擬區網。這樣要進行SSH、VNC遠端桌面就簡單多了。\nVNC實作有x11VNC、TigerVNC、RealVNC、TurboVNC。其中的x11VNC可讓遠端連線直接登入目前的工作階段(session)而非開一個新桌面，可吃到GPU加速，且斷線後桌面仍會持續運作。\n但x11VNC的先決條件是要登入桌面，然後才能離開電腦(可以關閉螢幕電源)。也就是說，x11VNC必須在登入桌面之後才可以啟動，不能停留在Display Manager畫面。\n如果要不登入桌面環境，從SSH啟動VNC伺服器的話，請改用TigerVNC。\n1. 設定x11VNC伺服器 # x11VNC必須先在電腦前設定好，才可離開電腦。\n因為x11VNC是基於X建立的，故桌面環境必須使用X11工作階段，不支援Wayland。\n確認目前工作階段是否為X11 echo $XDG_SESSION_TYPE 安裝x11VNC sudo apt install x11vnc 設定VNC伺服器密碼 x11vnc -storepasswd 將x11VNC設定為一個系統服務，新增Systemd user service vim ~/.config/systemd/user/x11vnc.service 填入以下內容。-geometry設定解析度。 [Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] ExecStart=x11vnc -bg -auth guess -usepw -display :0 -forever -geometry 1280x720 [Install] WantedBy=default.target 注意Exec這一段，若是使用GDM + GNOME 48桌面，使用以下語法：\nExec=x11vnc -bg -auth /var/lib/gdm/:0.Xauth -usepw -display :0 -forever -geometry 1280x720 若是使用SDDM ＋ KDE Plasma 6桌面，Exec就要改成下面這樣\nExec=x11vnc -bg -auth $(find /var/run/sddm/ -type f) -usepw -display :0 -forever -geometry 1280x720 設定登入後自動啟動x11VNC服務 systemctl --user daemon-reload systemctl --user enable x11vnc.service 防火牆開啟VNC會用到的通訊埠： sudo ufw allow ssh sudo ufw allow 5900:5910/tcp sudo ufw reload 2. 開放外部連線 # 參見內網穿透軟體使用教學，例如在電腦與手機安裝ZeroTier，並設定電腦開機自動啟動ZeroTier服務。\n安裝好後重開機。\n3. 遠端登入示例 # 電腦：安裝Remmina或RealVNC Viewer，在位址欄選取VNC，輸入遠端Zerotier虛擬IP:5901連線\n手機：安裝AVNC或Real VNC Viewer，在位址欄輸入遠端Zerotier虛擬IP:5901，登入遠端桌面。\n網頁：安裝noVNC\n參考資料 # X11vnc - ArchWiki Ubuntu Server 安裝 x11vnc Server 並設定開機自動啟動 for Raspberry Pi ","date":"2024年8月10日","externalUrl":null,"permalink":"/posts/linux-x11vnc-server/","section":"所有文章","summary":"請參考： Linux開源免費的遠端桌面列表\n適用系統：Ubuntu 24.04以上 ＆ Debian 12以上\n介紹如何建立x11VNC遠端伺服器，不包含GPU加速與PulseAudio音效。 個人使用的話花不到半毛錢，使用內網穿透軟體，讓不同網路下的裝置連線到同一個虛擬區網。這樣要進行SSH、VNC遠端桌面就簡單多了。\nVNC實作有x11VNC、TigerVNC、RealVNC、TurboVNC。其中的x11VNC可讓遠端連線直接登入目前的工作階段(session)而非開一個新桌面，可吃到GPU加速，且斷線後桌面仍會持續運作。\n但x11VNC的先決條件是要登入桌面，然後才能離開電腦(可以關閉螢幕電源)。也就是說，x11VNC必須在登入桌面之後才可以啟動，不能停留在Display Manager畫面。\n如果要不登入桌面環境，從SSH啟動VNC伺服器的話，請改用TigerVNC。\n1. 設定x11VNC伺服器 # x11VNC必須先在電腦前設定好，才可離開電腦。\n因為x11VNC是基於X建立的，故桌面環境必須使用X11工作階段，不支援Wayland。\n確認目前工作階段是否為X11 echo $XDG_SESSION_TYPE 安裝x11VNC sudo apt install x11vnc 設定VNC伺服器密碼 x11vnc -storepasswd 將x11VNC設定為一個系統服務，新增Systemd user service vim ~/.config/systemd/user/x11vnc.service 填入以下內容。-geometry設定解析度。 [Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] ExecStart=x11vnc -bg -auth guess -usepw -display :0 -forever -geometry 1280x720 [Install] WantedBy=default.target 注意Exec這一段，若是使用GDM + GNOME 48桌面，使用以下語法：\n","title":"使用x11VNC + 內網穿透軟體架設免費Linux遠端桌面","type":"posts"},{"content":"Connect to headless Raspberry pi Linux server with Rustdesk + X11 Dummy.\n無頭(headless)即沒有連接顯示器的Linux電腦。照理說，沒有顯示器輸出，Xorg啟動不了，根本就沒桌面。而RustDesk不是TigerVNC，無法在SSH連線下直接開一個桌面工作階段。\n在不使用HDMI Dummy Plug的情況下，Linux可以利用\u0026quot;X11 Dummy\u0026quot;軟體做個假顯示器，由此啟動桌面工作階段，這樣RustDesk就能抓到螢幕啦。 1. 支援的環境 # 所有連線的電腦都要安裝Rustdesk。Rustdesk支援x86與ARM架構。\n相關文章：安裝RustDesk 關於Linux發行版，Rustdesk官方文件只寫在Ubuntu + Gnome測試過，而我使用樹莓派5安裝Debian 12 + LXDE也是可以的。\n因為要使用X11 Dummy，只支援X11桌面環境，不支援Wayland。\n2. 安裝桌面環境 # Raspberry Pi OS內建Wayfire（Wayland）與LXDE（X11）二種桌面環境，所以不用安裝桌面環境套件。但預設啟動的是Wayland，所以我們要將它切換為X11。\nSSH到樹莓派\n執行sudo raspi-config → Advanced Options → Wayland，將開機啟動的桌面環境設定為X11的LXDE。 將樹莓派重開機。\n確認LightDM設定檔/etc/lightdm/lightdm.conf，是否會在開機後自動登入使用者並啟動LXDE工作階段\n[Seat:*] user-session=LXDE-pi-x autologin-user=user autologin-session=LXDE-pi-x 3. 建立假顯示器 # 安裝xserver-xorg-video-dummy套件 sudo apt install xserver-xorg-video-dummy 建立xorg.conf，讓系統以為真的有接上顯示器（如果日後要使用真的顯示器，請移除此檔案） sudo vim /etc/X11/xorg.conf 填入以下內容 Section \u0026#34;ServerFlags\u0026#34; Option \u0026#34;DontVTSwitch\u0026#34; \u0026#34;true\u0026#34; Option \u0026#34;AllowMouseOpenFail\u0026#34; \u0026#34;true\u0026#34; Option \u0026#34;PciForceNone\u0026#34; \u0026#34;true\u0026#34; Option \u0026#34;AutoEnableDevices\u0026#34; \u0026#34;false\u0026#34; Option \u0026#34;AutoAddDevices\u0026#34; \u0026#34;false\u0026#34; EndSection Section \u0026#34;InputDevice\u0026#34; Identifier \u0026#34;dummy_mouse\u0026#34; Option \u0026#34;CorePointer\u0026#34; \u0026#34;true\u0026#34; Driver \u0026#34;void\u0026#34; EndSection Section \u0026#34;InputDevice\u0026#34; Identifier \u0026#34;dummy_keyboard\u0026#34; Option \u0026#34;CoreKeyboard\u0026#34; \u0026#34;true\u0026#34; Driver \u0026#34;void\u0026#34; EndSection Section \u0026#34;Device\u0026#34; Identifier \u0026#34;dummy_videocard\u0026#34; Driver \u0026#34;dummy\u0026#34; Option \u0026#34;ConstantDPI\u0026#34; \u0026#34;true\u0026#34; #VideoRam 4096000 VideoRam 256000 #VideoRam 192000 EndSection Section \u0026#34;Monitor\u0026#34; Identifier \u0026#34;dummy_monitor\u0026#34; HorizSync 5.0 - 1000.0 VertRefresh 5.0 - 200.0 #To add your own modes here, use a modeline calculator, like: #http://xtiming.sourceforge.net/cgi-bin/xtiming.pl #or using the \u0026#34;gtf\u0026#34; command line tool (http://gtf.sourceforge.net/) #This can be used to get a specific DPI, but only for the default resolution: #DisplaySize 508 317 #NOTE: the highest modes will not work without increasing the VideoRam # for the dummy video card. Modeline \u0026#34;32768x32768\u0026#34; 15226.50 32768 35800 39488 46208 32768 32771 32781 32953 Modeline \u0026#34;32768x16384\u0026#34; 7516.25 32768 35544 39192 45616 16384 16387 16397 16478 Modeline \u0026#34;16384x8192\u0026#34; 2101.93 16384 16416 24400 24432 8192 8390 8403 8602 Modeline \u0026#34;8192x4096\u0026#34; 424.46 8192 8224 9832 9864 4096 4195 4202 4301 Modeline \u0026#34;6400x2160\u0026#34; 160.51 6400 6432 7040 7072 2160 2212 2216 2269 Modeline \u0026#34;5680x1440\u0026#34; 142.66 5680 5712 6248 6280 1440 1474 1478 1513 Modeline \u0026#34;5496x1200\u0026#34; 199.13 5496 5528 6280 6312 1200 1228 1233 1261 Modeline \u0026#34;5280x1080\u0026#34; 169.96 5280 5312 5952 5984 1080 1105 1110 1135 Modeline \u0026#34;5280x1200\u0026#34; 191.40 5280 5312 6032 6064 1200 1228 1233 1261 Modeline \u0026#34;5120x3200\u0026#34; 199.75 5120 5152 5904 5936 3200 3277 3283 3361 Modeline \u0026#34;4800x1200\u0026#34; 64.42 4800 4832 5072 5104 1200 1229 1231 1261 Modeline \u0026#34;4720x3840\u0026#34; 227.86 4720 4752 5616 5648 3840 3933 3940 4033 Modeline \u0026#34;3840x2880\u0026#34; 133.43 3840 3872 4376 4408 2880 2950 2955 3025 Modeline \u0026#34;3840x2560\u0026#34; 116.93 3840 3872 4312 4344 2560 2622 2627 2689 Modeline \u0026#34;3840x2048\u0026#34; 91.45 3840 3872 4216 4248 2048 2097 2101 2151 Modeline \u0026#34;3840x1200\u0026#34; 108.89 3840 3872 4280 4312 1200 1228 1232 1261 Modeline \u0026#34;3840x1080\u0026#34; 100.38 3840 3848 4216 4592 1080 1081 1084 1093 Modeline \u0026#34;3864x1050\u0026#34; 338.00 3864 4112 4520 5176 1050 1053 1063 1089 Modeline \u0026#34;3600x1200\u0026#34; 106.06 3600 3632 3984 4368 1200 1201 1204 1214 Modeline \u0026#34;3600x1080\u0026#34; 91.02 3600 3632 3976 4008 1080 1105 1109 1135 Modeline \u0026#34;3520x1196\u0026#34; 99.53 3520 3552 3928 3960 1196 1224 1228 1256 Modeline \u0026#34;3360x1050\u0026#34; 293.75 3360 3576 3928 4496 1050 1053 1063 1089 Modeline \u0026#34;3288x1080\u0026#34; 39.76 3288 3320 3464 3496 1080 1106 1108 1135 Modeline \u0026#34;3120x1050\u0026#34; 272.75 3120 3320 3648 4176 1050 1053 1063 1089 Modeline \u0026#34;2728x1680\u0026#34; 148.02 2728 2760 3320 3352 1680 1719 1726 1765 Modeline \u0026#34;2048x2048\u0026#34; 49.47 2048 2080 2264 2296 2048 2097 2101 2151 Modeline \u0026#34;2048x1536\u0026#34; 80.06 2048 2104 2312 2576 1536 1537 1540 1554 Modeline \u0026#34;2048x1152\u0026#34; 197.97 2048 2184 2408 2768 1152 1153 1156 1192 Modeline \u0026#34;2560x1600\u0026#34; 47.12 2560 2592 2768 2800 1600 1639 1642 1681 Modeline \u0026#34;2560x1440\u0026#34; 42.12 2560 2592 2752 2784 1440 1475 1478 1513 Modeline \u0026#34;1920x1440\u0026#34; 69.47 1920 1960 2152 2384 1440 1441 1444 1457 Modeline \u0026#34;1920x1200\u0026#34; 26.28 1920 1952 2048 2080 1200 1229 1231 1261 Modeline \u0026#34;1920x1080\u0026#34; 23.53 1920 1952 2040 2072 1080 1106 1108 1135 Modeline \u0026#34;1680x1050\u0026#34; 20.08 1680 1712 1784 1816 1050 1075 1077 1103 Modeline \u0026#34;1600x1200\u0026#34; 22.04 1600 1632 1712 1744 1200 1229 1231 1261 Modeline \u0026#34;1600x900\u0026#34; 33.92 1600 1632 1760 1792 900 921 924 946 Modeline \u0026#34;1440x900\u0026#34; 30.66 1440 1472 1584 1616 900 921 924 946 ModeLine \u0026#34;1366x768\u0026#34; 72.00 1366 1414 1446 1494 768 771 777 803 Modeline \u0026#34;1280x1024\u0026#34; 31.50 1280 1312 1424 1456 1024 1048 1052 1076 Modeline \u0026#34;1280x800\u0026#34; 24.15 1280 1312 1400 1432 800 819 822 841 Modeline \u0026#34;1280x768\u0026#34; 23.11 1280 1312 1392 1424 768 786 789 807 Modeline \u0026#34;1360x768\u0026#34; 24.49 1360 1392 1480 1512 768 786 789 807 Modeline \u0026#34;1024x768\u0026#34; 18.71 1024 1056 1120 1152 768 786 789 807 Modeline \u0026#34;768x1024\u0026#34; 19.50 768 800 872 904 1024 1048 1052 1076 EndSection Section \u0026#34;Screen\u0026#34; Identifier \u0026#34;dummy_screen\u0026#34; Device \u0026#34;dummy_videocard\u0026#34; Monitor \u0026#34;dummy_monitor\u0026#34; DefaultDepth 24 SubSection \u0026#34;Display\u0026#34; Viewport 0 0 Depth 24 #Modes \u0026#34;32768x32768\u0026#34; \u0026#34;32768x16384\u0026#34; \u0026#34;16384x8192\u0026#34; \u0026#34;8192x4096\u0026#34; \u0026#34;5120x3200\u0026#34; \u0026#34;3840x2880\u0026#34; \u0026#34;3840x2560\u0026#34; \u0026#34;3840x2048\u0026#34; \u0026#34;2048x2048\u0026#34; \u0026#34;2560x1600\u0026#34; \u0026#34;1920x1440\u0026#34; \u0026#34;1920x1200\u0026#34; \u0026#34;1920x1080\u0026#34; \u0026#34;1600x1200\u0026#34; \u0026#34;1680x1050\u0026#34; \u0026#34;1600x900\u0026#34; \u0026#34;1400x1050\u0026#34; \u0026#34;1440x900\u0026#34; \u0026#34;1280x1024\u0026#34; \u0026#34;1366x768\u0026#34; \u0026#34;1280x800\u0026#34; \u0026#34;1024x768\u0026#34; \u0026#34;1024x600\u0026#34; \u0026#34;800x600\u0026#34; \u0026#34;320x200\u0026#34; Modes \u0026#34;5120x3200\u0026#34; \u0026#34;3840x2880\u0026#34; \u0026#34;3840x2560\u0026#34; \u0026#34;3840x2048\u0026#34; \u0026#34;2048x2048\u0026#34; \u0026#34;2560x1600\u0026#34; \u0026#34;1920x1440\u0026#34; \u0026#34;1920x1200\u0026#34; \u0026#34;1920x1080\u0026#34; \u0026#34;1600x1200\u0026#34; \u0026#34;1680x1050\u0026#34; \u0026#34;1600x900\u0026#34; \u0026#34;1400x1050\u0026#34; \u0026#34;1440x900\u0026#34; \u0026#34;1280x1024\u0026#34; \u0026#34;1366x768\u0026#34; \u0026#34;1280x800\u0026#34; \u0026#34;1024x768\u0026#34; \u0026#34;1024x600\u0026#34; \u0026#34;800x600\u0026#34; \u0026#34;320x200\u0026#34; #Virtual 32000 32000 #Virtual 16384 8192 #Virtual 8192 4096 #Virtual 5120 3200 Virtual 1024 768 EndSubSection EndSection Section \u0026#34;ServerLayout\u0026#34; Identifier \u0026#34;dummy_layout\u0026#34; Screen \u0026#34;dummy_screen\u0026#34; InputDevice \u0026#34;dummy_mouse\u0026#34; InputDevice \u0026#34;dummy_keyboard\u0026#34; EndSection 將樹莓派重開機\n用xrandr指令確認假顯示器有長出來\nexport DISPLAY=:0 xrandr -q 這個假顯示器的解析度可透過xrandr調整 export DISPLAY=:0 xrandr --output DUMMY0 --mode 1024x768 4. 設定RustDesk # 在樹莓派安裝RustDesk。ARM架構手動從Github下載nightly版本的deb套件 wget https://github.com/rustdesk/rustdesk/releases/download/nightly/rustdesk-1.3.0-aarch64.deb sudo apt install ./rustdesk-1.3.0-aarch64.deb 啟用Linux headless支援 sudo rustdesk --option allow-linux-headless Y 執行RustDesk，取得連線ID sudo rustdesk --get-id 設定連線密碼 sudo rustdesk --password \u0026#34;密碼\u0026#34; 然後，在另一台電腦開啟RustDesk連線。 查看樹莓派的RustDesk系統服務執行情況，正常來說Xorg有啟動就不會有Can't open display的錯誤訊息\nsudo systemctl status rustdesk RustDesk預設禁止遠端客戶端修改設定，故需要開放權限： sudo rustdesk --option allow-remote-cm-modification Y 預設情況下RustDesk是走relay server連線，欲提昇速度，請嘗試將其更改為P2P。 5. 討論 # RustDesk Github關於樹莓派的討論有寫到啟用vc4.force_hotplug=1選項，或許這是讓樹莓派強制啟用GPU，/etc/X11/xorg.conf.d/99-v3d.conf也確實有生成，但我測試是沒用的。還是得手動寫xorg.conf設定檔。\n其實headless遠端桌面連線，TigerVNC和X11 Forwarding就能做到了。而Rustdesk僅是在連線的時候少打一些指令罷了。況且X11 Dummy會影響到連接其他螢幕的設定，實際操作上不如買個HDMI Dummy Plug方便。\n由於我使用的xorg.conf僅為偽裝用，不能提供GPU加速（xorg.conf需要針對不同GPU手動設定核心模組），所以Rustdesk程式吃不到GPU硬體加速。\n故有3D需求的還是搞個HDMI dummy plug這類比較「正常的」螢幕，插在樹莓派，再搭配RustDesk使用吧，起碼連線的時候能無縫吃到GPU加速。\n參考資料 # Headless Linux Support · rustdesk/rustdesk Wiki Advanced Settings :: Documentation for RustDesk divinity76/X11 Dummy configuration.txt ","date":"2024年8月10日","externalUrl":null,"permalink":"/posts/rustdesk-connect-to-linux-headless-server/","section":"所有文章","summary":"Connect to headless Raspberry pi Linux server with Rustdesk + X11 Dummy.\n無頭(headless)即沒有連接顯示器的Linux電腦。照理說，沒有顯示器輸出，Xorg啟動不了，根本就沒桌面。而RustDesk不是TigerVNC，無法在SSH連線下直接開一個桌面工作階段。\n在不使用HDMI Dummy Plug的情況下，Linux可以利用\"X11 Dummy\"軟體做個假顯示器，由此啟動桌面工作階段，這樣RustDesk就能抓到螢幕啦。 1. 支援的環境 # 所有連線的電腦都要安裝Rustdesk。Rustdesk支援x86與ARM架構。\n相關文章：安裝RustDesk 關於Linux發行版，Rustdesk官方文件只寫在Ubuntu + Gnome測試過，而我使用樹莓派5安裝Debian 12 + LXDE也是可以的。\n因為要使用X11 Dummy，只支援X11桌面環境，不支援Wayland。\n2. 安裝桌面環境 # Raspberry Pi OS內建Wayfire（Wayland）與LXDE（X11）二種桌面環境，所以不用安裝桌面環境套件。但預設啟動的是Wayland，所以我們要將它切換為X11。\nSSH到樹莓派\n","title":"用RustDesk連線到headless的樹莓派Linux伺服器","type":"posts"},{"content":" AniGamerPlus這款開源軟體可以將「巴哈姆特動畫瘋」的影片下載至本機，離線觀看，再配合.ass字幕的方式載入彈幕。支援Linux/Windows/Android系統下載。 下載動畫有何好處？巴哈姆特的動漫只能線上播放，授權時間到了就會下架動畫。如果把影片下載下來就能無限期觀看了，還可以用自己的Anime4K播放器提昇畫質。\n沒登入只能下載360p畫質，有登入的話720p，有買巴哈動畫瘋付費會員的話可下載1080p。\nAnimGamerPlus還可以設定規則，自動按照新番更新時間下載最新集數，或是遠端管理下載任務。不過一次下載太多部影片(25集以上？)，你的巴哈帳號會被站方永久封鎖，請謹慎使用。\n另，下載影片自用就好，不要隨意傳播。\n替代方案：從Youtube下載影片 # 部份巴哈姆特動畫瘋的代理商有在Youtube上架影片，畫質固定720p，限定台港澳地區IP觀看。\n如果720p可以接受，且不在意彈幕的話，可以改從Youtube下載，比較不容易被限制流量。\n要下載Youtube影片就簡單多了，例如使用yt-dlp批次下載整個播放清單的影片。\n1. 取得巴哈帳號的cookie # ※ 如果您覺得下載動畫360p也能看，可跳過此步驟。※\n巴哈姆特規定登入帳號才能觀看720p影片，動畫瘋會員的1080p亦同，故需要將瀏覽器cookie傳遞給程式讀取。\n這邊以Firefox瀏覽器為例（注意下面登入網頁界面需使用同一款瀏覽器），開啟https://ani.gamer.com.tw，登入動畫瘋\n按下F12，開啟開發人員工具，進入主控台 輸入allow pasting\n接著輸入document.cookie按Enter，就會印出目前的cookie (下圖打碼部份) 按右鍵 → 複製訊息，在電腦桌面新增一個純文字檔案叫做cookie.txt，把剛剛複製的內容貼上去存檔。存檔編碼請選UTF-8。\n註解：cookie傳給程式之後，之後每部下載的影片都會算入巴哈觀看記錄，可能造成觀看體驗混亂。\n2. 安裝AniGamerPlus # AniGamerPlus實際上是一款Python寫的伺服器服務，開啟之後要用網頁存取後台界面。\n雖然可以用命令行下載，不過我不建議新手使用。\n開發者提供多種安裝方式，Windows用戶可以下載預先編譯的執行檔來啟動伺服器服務。Linux用戶、NAS用戶請使用Docker版安裝。\n2.1. Windows版 # 至Github Release下載AniGamerPlus主程式，解壓縮\n下載FFMPEG，解壓縮，裡面bin資料夾會有一個ffmpeg.exe 將ffmpeg.exe和剛剛新增的cookie.txt放到程式資料夾下 按二下aniGamerPlus.exe開啟程式，命令提示字元會自己跳出來，不要關閉\n瀏覽器開啟http://localhost:5000進入網頁界面。關閉程式就是關掉命令提示字元。\n2.2. Docker版 # 值得注意的是AniGamerPlus開發者提供的映像檔只支援x86_64的裝置，ARM64架構要手動建置映像檔。\n安裝Docker\n複製Git儲存庫\ngit clone https://github.com/miyouzi/aniGamerPlus.git cd aniGamerPlus 將範本檔案重新命名 mv config-sample.json config.json touch sn_list.txt 如果想要開放外部網路存取，編輯config.json，找到127.0.0.1字串，將其全部替換為0.0.0.0\n將剛剛新增的cookie.txt放到專案目錄下\n編輯docker-compose.yml，填入如下內容\nversion: \u0026#34;3.9\u0026#34; name: ani-gamer-plus services: ani-gamer-plus: # 使用官方映像檔 image: tonypepe/anigamerplus container_name: \u0026#34;ani-gamer-plus\u0026#34; # 掛載必要的目錄與檔案 volumes: - ./downloads:/app/bangumi - ./config.json:/app/config.json - ./cookie.txt:/app/cookie.txt - ./sn_list.txt:/app/sn_list.txt - ./aniGamer.db:/app/aniGamer.db ports: - \u0026#34;5000:5000\u0026#34; restart: unless-stopped 啟動容器服務 sudo docker compose up -d 瀏覽器開啟http://localhost:5000進入網頁界面。 2.3. Android手機版 # 安裝Termux\n安裝Python、FFMPEG\npkg install python3 python-pip ffmpeg 複製專案，安裝依賴套件 git clone https://github.com/miyouzi/aniGamerPlus.git cd aniGamerPlus pip3 install -r requirements.txt 啟動服務，瀏覽器開啟http://localhost:5000進入網頁界面。 python3 aniGamerPlus.py 3. 網頁界面新增下載任務 # 3.1. 初始化 # 初次啟動請如圖勾選選項。我將畫質鎖定在720p，並勾選下載彈幕。 點選取得目前UserAgent。此處您使用的瀏覽器應該與剛才取得cookie時用的相同。 捲動到最下方點選保存。 3.2. 手動下載動畫 # 點選「添加手動任務」\n將要下載的動畫網址貼過來\n設定下載模式，可選擇「單集」或者整季 任務新增之後，終端機可看到下載情況，程式會自動等廣告播完。如果確實有讀到cookie，那麼程式就會成功下載到720p的影片。 下載後的影片位於程式目錄下的downloads，彈幕會另存為.ass字幕檔。 用VLC或MPV播放器自動載入彈幕字幕，就很像線上看的時候的樣子了。 3.3. 自動下載多部動畫 # sn_list.txt可一次指定要下載哪幾部動畫，或是用於追蹤新番更新。\n追蹤新番更新的功能適合給24小時不關機的NAS或伺服器使用。追蹤更新的間隔定義在config.json的check_frequency數值，單位為分鐘，預設為每5分鐘檢查一次。\n在程式目錄下新增sn_list.txt純文字檔案，裡面填入要下載的動畫清單。\n一行一部動畫，每行最前面的數字是巴哈動畫網址後面?sn=的數字。 針對已完結的動畫，只要填入第一集的網址，就等同自動下載整季。\n# 動物朋友 下載整季 7747 all 針對新番，可以填寫latest，設定在新番一上架就自動下載最新一集 # Fate/strange Fake 自動下載最新集數 34048 latest 使用@可自動建立資料夾，給動畫分類。下面的例子中，寫在@2017年下的動畫會下載到2017年資料夾；@2023年下的動畫會下載到2023年資料夾；@下面的動畫則是不做分類。 @2017年 # 動物朋友 7747 all @2023年 # Fate/strange Fake 34048 latest @ # 強襲魔女通往柏林之路 18539 all 4. 回報無法下載的bug # 巴哈姆特官方可能會不定時修改站點資料，導致程式無法使用。\n此時請向開發者回報問題：Issues · miyouzi/aniGamerPlus - GitHub\n","date":"2024年8月10日","externalUrl":null,"permalink":"/posts/anigamerplus-docker/","section":"所有文章","summary":" AniGamerPlus這款開源軟體可以將「巴哈姆特動畫瘋」的影片下載至本機，離線觀看，再配合.ass字幕的方式載入彈幕。支援Linux/Windows/Android系統下載。 下載動畫有何好處？巴哈姆特的動漫只能線上播放，授權時間到了就會下架動畫。如果把影片下載下來就能無限期觀看了，還可以用自己的Anime4K播放器提昇畫質。\n沒登入只能下載360p畫質，有登入的話720p，有買巴哈動畫瘋付費會員的話可下載1080p。\nAnimGamerPlus還可以設定規則，自動按照新番更新時間下載最新集數，或是遠端管理下載任務。不過一次下載太多部影片(25集以上？)，你的巴哈帳號會被站方永久封鎖，請謹慎使用。\n另，下載影片自用就好，不要隨意傳播。\n替代方案：從Youtube下載影片 # 部份巴哈姆特動畫瘋的代理商有在Youtube上架影片，畫質固定720p，限定台港澳地區IP觀看。\n如果720p可以接受，且不在意彈幕的話，可以改從Youtube下載，比較不容易被限制流量。\n要下載Youtube影片就簡單多了，例如使用yt-dlp批次下載整個播放清單的影片。\n1. 取得巴哈帳號的cookie # ※ 如果您覺得下載動畫360p也能看，可跳過此步驟。※\n","title":"AniGamerPlus使用教學，下載巴哈姆特動畫瘋的影片與彈幕，離線觀看","type":"posts"},{"content":"","date":"2024年8月10日","externalUrl":null,"permalink":"/tags/bahamut/","section":"標籤","summary":"","title":"Bahamut","type":"tags"},{"content":" kPlug是Katarsys開發的多功能戀活模組，可與HF Patch共存。 模組特色功能：\n加入更多性交體位，例如深喉、乳交、正常位、後入、騎乘位、納爾遜式鎖、亞馬遜體位，不用攻略劇情就可以解鎖。 第一人稱視角 群交模式，可隨時邀請其他女孩加入戰鬥 Cosplay模式，多名女角穿同一件衣服 多人跳舞模式 kPlug Uncensored，更細緻的去馬賽克，詳細刻劃小穴與肉棒的紋理 部份選單翻譯功能 故事模式讓女角懷孕 啊嘿顏 脫衣時乳搖 \u0026hellip;除此之外還有很多很多。 1. 下載kPlug # 作者都在Patreon發表，搜尋Public vesion的貼文就能看到載點。\n目前最新版本為kPlug 3.3，點入連結下載kPlugManual.rar Public vesion可能是幾個月前的舊版本，如果想要即時下載到最新版，只能給作者斗內，解鎖觀看最新文章的權限了！\n2. 安裝kPlug # 將kPlugManual.rar壓縮檔解壓縮後，會看到作者的HTML檔說明書。裡面講解了如何安裝kPlug、以及排除相容性問題的作法。因此實際安裝說明請以作者的說明書為準。\n用瀏覽器開啟kPlug_manual.html檔案，按照說明書程序安裝kPlug。\n是的沒錯\u0026hellip;這裡才是真正的kPlug主程式載點。點選連結，下載kPlugCore(3.3).rar 下載後，將該壓縮檔放到戀活遊戲的主程式資料夾\n再對kPlugCore(3.3).rar按右鍵，用WinRAR「在此處解壓縮」，若問是否取代檔案就取代。\n若是Steam版戀活，在解壓縮之後，還要將另外一個kPlugCoreforParty.rar在此處解壓縮，才算完成安裝。\n嘗試啟動戀活，應該會發現遊戲主畫面左下角出現了kPlug版本的提示。按CTRL＋Delete試試能否叫出kPlug選單 3. 安裝kPlug去馬賽克 # 這個模組可能會跟其他的衝突。\n複製\\kPlugMisc\\kPlugUnc\\abdata資料夾，再於遊戲主程式目錄貼上\n再按照指示重新命名對應檔案：\n\\BepInEx\\plugins\\KK_Plugins\\KK_UncensorSelector.dll → KK_UncensorSelector.dll.bck\n\\mods\\KK_UncensorSelector Base.zipmod → 移動到其他資料夾\n\\mods\\Sideloader Modpack - KK_UncensorSelector → 移動到其他資料夾\n\\mods\\[DeathWeasel][KK]Texture Fixes v2.0.zipmod → 移動到其他資料夾\n4. 將kPlug界面中文化 # 此處的中文化僅限翻譯kPlug的選單，不包含戀活其他界面的翻譯\nhttps://github.com/EricZhou05/kPlug-zh或者巴哈的透色門有製作翻譯檔\n下載之後解壓縮，放到\\BepInEx\\plugins\\kPlug\\Language裡面即可。\n再於kPlug的選單選取語言。\n有裝HF Patch請記得關閉自動翻譯功能，否則會干擾文字顯示。\n5. kPlug操作方法 # 所有kPlug功能的操作方法都寫在作者的說明書裡了，這裡只講幾個要點。\n按S或Ctrl＋Delete叫出kPlug設定選單。\nkPlug會在自由H模式時候干擾操作，所以要習慣一下。預設會阻擋玩家與女角的手部互動，按A可解除限制。\n另外，按數字鍵的Delete或F9，可關閉SmartUI，恢復原始遊戲的選單。\n在進入性交畫面的時候，滑鼠移到右下角可叫出設定選單。\n","date":"2024年8月7日","externalUrl":null,"permalink":"/posts/koikatsu-kplug-mod/","section":"Nsfws","summary":" kPlug是Katarsys開發的多功能戀活模組，可與HF Patch共存。 模組特色功能：\n加入更多性交體位，例如深喉、乳交、正常位、後入、騎乘位、納爾遜式鎖、亞馬遜體位，不用攻略劇情就可以解鎖。 第一人稱視角 群交模式，可隨時邀請其他女孩加入戰鬥 Cosplay模式，多名女角穿同一件衣服 多人跳舞模式 kPlug Uncensored，更細緻的去馬賽克，詳細刻劃小穴與肉棒的紋理 部份選單翻譯功能 故事模式讓女角懷孕 啊嘿顏 脫衣時乳搖 …除此之外還有很多很多。 1. 下載kPlug # 作者都在Patreon發表，搜尋Public vesion的貼文就能看到載點。\n目前最新版本為kPlug 3.3，點入連結下載kPlugManual.rar ","title":"戀活模組「kPlug」安裝方式，解鎖新姿勢、去馬賽克、懷孕孕肚","type":"nsfw"},{"content":" E-hentai在累積GP後，支付即可下載畫廊的壓縮檔(Archive Download)，方便使用者收藏本子。不過我覺得網頁設計不好用，每次都要額外點選跳出視窗再點選下載，且下載壓縮檔是隨機挑選一個H@H傳輸，速度波動很大。\n這個時候，我會改用ccloli開發的「E-Hentai Downloader」指令稿加快下載速度。 該指令稿不需要買E-hentai會員也可以使用，原理是直接抓取目前頁面畫廊的「原始畫質圖片」再壓縮下載，不消費GP。\n由於下載的是原始畫質，效果其實等同按Archive Download（或者說接近EhViewer APP的下載模式）。二種下載方式所取得的圖片檔案大小是一樣的。 個人覺得下載速度比點選Archive Download還快，唯一的缺點就是它以IP做流量限制（VPN使用者需特別注意這點，VPN的IP常常是很多人共用的），超過後就得等冷卻，或是換個IP。\n每個IP一天內有5000點流量限制（會員銅星10000點），下載一本20頁的本子約會花掉700點。以此換算下來每天可以下載7本原始畫質的本子。若需要大量下載，建議還是用Archive Download。\n1. 安裝 # 根據Github指示\n首先要在瀏覽器安裝TamperMonkey。Firefox｜Chrome\n接著到Greasyfork，點選安裝E-Hentai Downloader指令稿\n2. 使用 # 建議先註冊與登入E-hentai\n確認指令稿有在運作後，畫廊頁面即會多出一個E-Hentai Downloader下載按鈕 Image Limits為目前IP的每日上限；Estimated Limits Costs為下載目前畫廊的預計花費。\n下載前我會點選Settings → Basics，將Set folder name as填入/，這樣下載後的壓縮檔就不會有任何子資料夾。並且在Set Zip file name as後面填入{subtitle}，讓壓縮檔用畫廊的日文標題命名。接著取消勾選Never show notofications if torrents are available. 然後點選Advanced，點選Record and save gallery info as txt，將下面選項全部打勾，這樣壓縮檔裡面會有記載畫廊資訊的txt檔。 點選Download Archive後，右下角就會顯示進度條了。 ","date":"2024年8月5日","externalUrl":null,"permalink":"/posts/e-hentai-downloader-script/","section":"Nsfws","summary":" E-hentai在累積GP後，支付即可下載畫廊的壓縮檔(Archive Download)，方便使用者收藏本子。不過我覺得網頁設計不好用，每次都要額外點選跳出視窗再點選下載，且下載壓縮檔是隨機挑選一個H@H傳輸，速度波動很大。\n這個時候，我會改用ccloli開發的「E-Hentai Downloader」指令稿加快下載速度。 該指令稿不需要買E-hentai會員也可以使用，原理是直接抓取目前頁面畫廊的「原始畫質圖片」再壓縮下載，不消費GP。\n由於下載的是原始畫質，效果其實等同按Archive Download（或者說接近EhViewer APP的下載模式）。二種下載方式所取得的圖片檔案大小是一樣的。 個人覺得下載速度比點選Archive Download還快，唯一的缺點就是它以IP做流量限制（VPN使用者需特別注意這點，VPN的IP常常是很多人共用的），超過後就得等冷卻，或是換個IP。\n","title":"一鍵下載網頁畫廊的本子 ～ E-Hentai Downloader指令稿","type":"nsfw"},{"content":"SillyTavern為一個AI聊天軟體，可以跟各種虛擬角色聊天，還支援合成語音、生成繪圖、Live2D等功能。\n目前，SillyTavern沒有推出官方APP，但要硬跑依然是可以的。\n我在SillyTavern安裝教學一文提過，由於SillyTavern只是一個網頁前端，AI運算服務全部外掛，所以主程式是可以在手機跑起來的，免電腦也能用。\n架構會變成：手機跑SillyTavern前端，再連線到雲端API跑AI服務。\n只要安裝終端機模擬器，再裝NodeJS，就能啟動SillyTavern伺服器，並用手機瀏覽器在本機端存取SillyTavern業界面。\n手機SillyTavern界面雖然有點擁擠但是堪用～如果用平板跑會更好。 另外，你也可以改成在電腦架設SillyTavern，再透過手機遠端存取，這樣就不用擔心運算資源的問題了！\n1. 安裝SillyTavern # Android # 請下載Termux，設定允許背景執行。\n安裝NodeJS與git\npkg install nodejs git 複製SillyTavern儲存庫 git clone https://github.com/SillyTavern/SillyTavern.git 啟動SillyTavern網頁服務 cd SillyTavern ./start.sh 用手機瀏覽器開啟http://127.0.0.1:8000，你就能夠開聊啦！ 若要停止服務，回到終端機界面按CTRL＋C，停止服務，再輸入exit退出。\niOS # 暫無高效率跑NodeJS的方法。\n2. 設定線上AI服務 # 此處僅介紹大型語言模型的聊天功能。\n要跟AI聊天你得選擇一個大型語言模型服務，參見SillyTavern 設定大型語言模型服務教學。 SillyTavern預設使用的是AI Horde的線上服務，這個雖然是免費的公共服務，但是需要排隊。\n若你的手機性能夠強，那麼也可以透過Termux部署Ollama，本機跑語言模型，再讓SillyTavern連線。\n到AI Horde網站註冊一個帳號，取得API Key。\n點SillyTavern的插頭圖示，輸入API key，再選個模型。 點選右上角的角色卡編輯角色資料，這裡可以設定初始問候語。 再點一次關閉選單，即可開始對話 ","date":"2024年8月3日","externalUrl":null,"permalink":"/posts/sillytavern-on-mobile-phones/","section":"Language-Models","summary":"SillyTavern為一個AI聊天軟體，可以跟各種虛擬角色聊天，還支援合成語音、生成繪圖、Live2D等功能。\n目前，SillyTavern沒有推出官方APP，但要硬跑依然是可以的。\n我在SillyTavern安裝教學一文提過，由於SillyTavern只是一個網頁前端，AI運算服務全部外掛，所以主程式是可以在手機跑起來的，免電腦也能用。\n架構會變成：手機跑SillyTavern前端，再連線到雲端API跑AI服務。\n只要安裝終端機模擬器，再裝NodeJS，就能啟動SillyTavern伺服器，並用手機瀏覽器在本機端存取SillyTavern業界面。\n手機SillyTavern界面雖然有點擁擠但是堪用～如果用平板跑會更好。 另外，你也可以改成在電腦架設SillyTavern，再透過手機遠端存取，這樣就不用擔心運算資源的問題了！\n1. 安裝SillyTavern # Android # 請下載Termux，設定允許背景執行。\n安裝NodeJS與git\npkg install nodejs git 複製SillyTavern儲存庫 git clone https://github.com/SillyTavern/SillyTavern.git 啟動SillyTavern網頁服務 cd SillyTavern ./start.sh 用手機瀏覽器開啟http://127.0.0.1:8000，你就能夠開聊啦！ 若要停止服務，回到終端機界面按CTRL＋C，停止服務，再輸入exit退出。\n","title":"Android手機安裝SillyTavern，與AI角色聊天","type":"language-model"},{"content":"想要為Linux裝置尋找一款地圖導航軟體，試試Pure Maps吧！ Pure Maps為愛沙尼亞開發者rinigus製作的導航APP，跟GNOME Maps一樣使用OpenStreeMaps圖資，但是功能更完善，介面適合手機使用，中文支援度尚可。\n原作者是為SailfishOS設計的，在其他手機Linux系統，如postmarketOS、Ubuntu touch、Mobian也可以使用。\n地圖主要依賴GPS導航，因此Linux裝置必須搭載4G模組才能使用。經測試，PinePhone、Librem 5、Poco F1都可以使用PureMaps。\nPure Maps另支援OSM Scout Server離線地圖。\n1. 測試Linux的GPS訊號定位 # PureMaps支援多種定位方式，即使沒有4G模組提供的GPS，也能靠Mozilla MLS的Wifi定位，但是會偏的很厲害，所以還是用GPS吧。\n硬體部分，手機Wifi和GPS得是正常的。比如PinePhone就有提供GNSS、Wifi、磁力計協助定位。通常手機的GPS要插入SIM卡才會開始運作。\n許多Linux都有ModemManager服務，附屬的mmcli工具可以用來測試GPS訊號。首先啟用服務： sudo mmcli -m any --location-enable-gps-nmea sudo mmcli -m any --location-enable-gps-raw 嘗試取得目前地理位置： sudo mmcli -m any --location-get 如果使用的是GNOME系列的桌面，請到系統設定，隱私權，允許APP取用GPS服務 有些依賴GeoClue服務取得位置資訊，請使用原生套件管理員安裝：\n# Mobian sudo apt install geoclue sudo systemctl enable geoclue # postmarketOS sudo apk add geoclue /usr/libexec/geoclue-2.0/demos/agent \u0026amp; 安裝另一款APP Stellite 測試GPS訊號。這款APP會在其他APP使用GPS的時候顯示衛星狀態。 2. 安裝Pure Maps # Pure Maps可透過Flathub取得，支援x86與ARM架構\n請先設定Flatpak套件庫，之後從Flatpak安裝 flatpak install flathub io.github.rinigus.PureMaps Pure Maps有多種圖資可選，預設的MapTiles就夠好了，大部份中文地址都能顯示。 至於要搜尋導航地點的話，請按一下右上角切換搜尋服務供應商，切換成中文搜尋支援度較佳的OpenCage。 雖然地址搜尋出來是英文，但是大致上位置正確，也能夠成功導航到目的地。語音合成只有英文。 3. 設定離線地圖OSM Scout Server # 此服務可給Pure Maps提供離線地圖資料，搜尋地址時中文支援較完善。\n使用Flatpak安裝OSM Scout Server flatpak install flathub io.github.rinigus.OSMScoutServer 開啟APP，設定檔選預設Profile，在左邊選單的Map Manager下載必要檔案 並點選Provided Maps → Subscribe，選取台灣地圖下載。 開啟Pure Maps，模式選取Offiline，這樣就會改成載入OSM Scout Server的地圖。 Pure Maps發送搜尋請求的時候OSM Scout Server應會出現訊息。\n參考資料 # Mobian/location - Debian Wiki GPS - postmarketOS PinePhone Sensors and Navigation - PINE64 Pure Maps | Maps and navigation - rinigus OSM Scout Server - rinigus - GitHub Pages ","date":"2024年8月3日","externalUrl":null,"permalink":"/posts/pure-maps-linux/","section":"所有文章","summary":"想要為Linux裝置尋找一款地圖導航軟體，試試Pure Maps吧！ Pure Maps為愛沙尼亞開發者rinigus製作的導航APP，跟GNOME Maps一樣使用OpenStreeMaps圖資，但是功能更完善，介面適合手機使用，中文支援度尚可。\n原作者是為SailfishOS設計的，在其他手機Linux系統，如postmarketOS、Ubuntu touch、Mobian也可以使用。\n地圖主要依賴GPS導航，因此Linux裝置必須搭載4G模組才能使用。經測試，PinePhone、Librem 5、Poco F1都可以使用PureMaps。\nPure Maps另支援OSM Scout Server離線地圖。\n1. 測試Linux的GPS訊號定位 # PureMaps支援多種定位方式，即使沒有4G模組提供的GPS，也能靠Mozilla MLS的Wifi定位，但是會偏的很厲害，所以還是用GPS吧。\n硬體部分，手機Wifi和GPS得是正常的。比如PinePhone就有提供GNSS、Wifi、磁力計協助定位。通常手機的GPS要插入SIM卡才會開始運作。\n許多Linux都有ModemManager服務，附屬的mmcli工具可以用來測試GPS訊號。首先啟用服務： sudo mmcli -m any --location-enable-gps-nmea sudo mmcli -m any --location-enable-gps-raw 嘗試取得目前地理位置： sudo mmcli -m any --location-get 如果使用的是GNOME系列的桌面，請到系統設定，隱私權，允許APP取用GPS服務 ","title":"Pure Maps，專為Linux手機設計的地圖導航APP","type":"posts"},{"content":"","date":"2024年8月3日","externalUrl":null,"permalink":"/tags/satellite-navigation/","section":"標籤","summary":"","title":"Satellite Navigation","type":"tags"},{"content":"撰文當下系統版本：Android 14\n註：本文討論的不是如何存取/data/data資料夾。\n手機內部儲存空間的「Android/data」資料夾是部份APP儲存資料的路徑，Google嚴格規定APP必須把檔案都放到這裡，防止污染使用者的手機目錄。\n有時候要備份APP資料，我們就得開啟data資料夾。不過在Android 11之後，此資料夾便因為安全性因素不開放其他APP存取了，使得要移出APP的檔案變得很困難，例如Line、遊戲資料。\n如果APP開發者沒有設計備份機制，那麼根本無法手動取出data資料夾的檔案。\n若要開啟Android/data，此時有以下作法：\n使用有實作Android檔案選擇器的檔案管理器 使用MTP開啟（需要電腦） 使用ADB開啟（需要電腦） 使用root權限 本文討論1 的做法，並搭配開源的質感檔案APP管理。\n設定質感檔案 # 到Play商店下載質感檔案\n開啟後從左邊滑出，點選新增Android/data 點選後會跳出來一個新畫面，這是Android內建的檔案管理器，你只能在這個畫面進行檔案搬移（長按或點右上角三個點），不可以在質感檔案的畫面搬移檔案。 參考資料 # How to Access Android Data Folder in Android 14 - Naira Nicol ","date":"2024年8月2日","externalUrl":null,"permalink":"/posts/access-android-data-directory/","section":"所有文章","summary":"撰文當下系統版本：Android 14\n註：本文討論的不是如何存取/data/data資料夾。\n手機內部儲存空間的「Android/data」資料夾是部份APP儲存資料的路徑，Google嚴格規定APP必須把檔案都放到這裡，防止污染使用者的手機目錄。\n有時候要備份APP資料，我們就得開啟data資料夾。不過在Android 11之後，此資料夾便因為安全性因素不開放其他APP存取了，使得要移出APP的檔案變得很困難，例如Line、遊戲資料。\n如果APP開發者沒有設計備份機制，那麼根本無法手動取出data資料夾的檔案。\n若要開啟Android/data，此時有以下作法：\n使用有實作Android檔案選擇器的檔案管理器 使用MTP開啟（需要電腦） 使用ADB開啟（需要電腦） 使用root權限 本文討論1 的做法，並搭配開源的質感檔案APP管理。\n設定質感檔案 # 到Play商店下載質感檔案\n開啟後從左邊滑出，點選新增Android/data 點選後會跳出來一個新畫面，這是Android內建的檔案管理器，你只能在這個畫面進行檔案搬移（長按或點右上角三個點），不可以在質感檔案的畫面搬移檔案。 參考資料 # How to Access Android Data Folder in Android 14 - Naira Nicol ","title":"Android手機免root開啟Android/data資料夾的方法","type":"posts"},{"content":"有時候APP會把Waydroid當成root過的破解裝置，不給執行，例如Apple Music。\n可是問題是根本就沒root啊？誰說的，Waydroid本身就是有root權限的，用waydroid shell指令進去不就看到了。只不過沒有Root權限管理器而已。\nWaydroid連最基本的Play Integrity API等級都無法通過，因此部份APP會拒絕執行。\n另外，由於Waydroid是LXC容器，所以會抓Bootloader解鎖的APP就無法使用。\n1. 測試環境 # Ubuntu 24.04 Waydroid版本：LineageOS 20 (Android 13) 2. 如果只是要擋Root偵測 # 使用Quackdoc/waydroid-scripts修改build.prop，將Waydroid偽裝成Pixel裝置：\ngit clone https://github.com/Quackdoc/waydroid-scripts.git cd waydroid-scripts chmod +x spoof-device.sh sudo ./spoof-device.sh sudo systemctl restart waydroid-container 這樣應該大部分Root偵測都會過。\n3. 安裝Magisk # 安裝Magisk可以針對Root偵測做更多應對。只要有Magisk，就可以安裝Play Integrity Fix模組，更可以裝LSPosed，部分遊戲就可以過驗證。\n因應Google日益嚴峻的Root偵測，這裡Magisk裝的是專為反Root偵測設計的分支版：Kitsune Mask (Magisk Delta)。Waydroid目前無法使用KernelSU的方案。\n因為Waydroid沒有TWRP，所以得借助外部工具刷入，例如casualsnek的Python指令稿 git clone https://github.com/casualsnek/waydroid_script cd waydroid_script python3 -m venv venv venv/bin/pip install -r requirements.txt sudo venv/bin/python3 main.py 依照畫面指示，安裝Magisk，然後重新啟動Waydroid。 4. 安裝LSPosed # LSPosed能夠讓Shamiko + Zygisk LSPosed + HideMyApplist運作\n安裝Magisk後再參照LSPosed官網安裝，需要Zygisk。\n5. 防root偵測方法 # 相關文章：Android手機Magisk防Root偵測\n如果上述步驟都做了還是被偵測到root，那可能有更底層的原因，例如Waydroid的映像檔使用了userdebug標籤建置，SELinux不完全，甚或被當成模擬器等等。\n相關問題請到Waydroid的Github issue詢問。\n","date":"2024年8月2日","externalUrl":null,"permalink":"/posts/waydroid-install-magisk-and-lsposed/","section":"所有文章","summary":"有時候APP會把Waydroid當成root過的破解裝置，不給執行，例如Apple Music。\n可是問題是根本就沒root啊？誰說的，Waydroid本身就是有root權限的，用waydroid shell指令進去不就看到了。只不過沒有Root權限管理器而已。\nWaydroid連最基本的Play Integrity API等級都無法通過，因此部份APP會拒絕執行。\n另外，由於Waydroid是LXC容器，所以會抓Bootloader解鎖的APP就無法使用。\n1. 測試環境 # Ubuntu 24.04 Waydroid版本：LineageOS 20 (Android 13) 2. 如果只是要擋Root偵測 # 使用Quackdoc/waydroid-scripts修改build.prop，將Waydroid偽裝成Pixel裝置：\ngit clone https://github.com/Quackdoc/waydroid-scripts.git cd waydroid-scripts chmod +x spoof-device.sh sudo ./spoof-device.sh sudo systemctl restart waydroid-container 這樣應該大部分Root偵測都會過。\n3. 安裝Magisk # 安裝Magisk可以針對Root偵測做更多應對。只要有Magisk，就可以安裝Play Integrity Fix模組，更可以裝LSPosed，部分遊戲就可以過驗證。\n因應Google日益嚴峻的Root偵測，這裡Magisk裝的是專為反Root偵測設計的分支版：Kitsune Mask (Magisk Delta)。Waydroid目前無法使用KernelSU的方案。\n","title":"Waydroid躲避Root偵測 ＆ 安裝Magisk與LSPosed","type":"posts"},{"content":"","date":"2024年8月1日","externalUrl":null,"permalink":"/tags/bedrock-dedicated-server/","section":"標籤","summary":"","title":"Bedrock Dedicated Server","type":"tags"},{"content":"情況描述：Ivon有一張玩了很久的Minecraft基岩版地圖，想要將其變成多人地圖，除了方便我在電腦和手機隨時玩以外，也方便多人連線。\n我希望這個伺服器一直在線上，所以不採用LAN連線方案。最直接的作法就是架BDS伺服器了。BDS是Mojang官方開發的原味生存伺服器軟體，相容Minecraft最新版本。不論是Android、iOS、Windows還是主機版的地圖，都可以用BDS軟體將其變成多人伺服器。 BDS伺服器有點像在自架Realms，自行準備伺服器硬體，再把世界/地圖上傳到私人BDS伺服器，就可以遠端遊玩了，還能設定備份規則自動備份世界。\n注意：單人世界轉成多人世界後，不論玩家有沒有登入，伺服器只要開著，世界時間就會一直流逝。如果希望登出後遊戲暫停，需要將伺服器服務完全停止。\n1. 架設BDS伺服器 # 我使用Linux系統＋Docker架設，跑在樹莓派上：以Docker架設Minecraft基岩版BDS伺服器\n如果想用Windows系統架設，請參考這篇：Minecraft基岩版BDS伺服器架設教學 \u0026amp; 通訊埠轉發\n試跑的時候伺服器會自動新增一個世界，請將BDS伺服器關閉，之後刪除該世界的目錄。\n2. 將單人地圖遷移到BDS伺服器 # 重要：如果你在玩單人世界的時候，沒有登入Xbox帳號，那麼在轉成伺服器地圖前，請將玩家身上所有東西取出，放到箱子裡面保管，否則身上的物品會消失。（這個有辦法補救，見後文）\n參考Minecraft世界存放位置，取出地圖目錄\n比方說我的是Android版，利用電腦MTP找到世界目錄，將位於/Android/data/com.mojang.minecraftpe/games/com.mojang/minecraftworlds/的世界目錄複製到電腦上。一個地圖的目錄應該有這些檔案：\nMyWorld │ ├── db │ ├── level.dat │ ├── levelname.txt │ └── world_icon.jpeg 重新命名地圖的目錄名稱，不要有等號結尾，免得指令出錯。把它放到BDS伺服器的資料目錄。例如我使用scp指令上傳到樹莓派： scp -r \u0026#34;/home/user/下載/MyWorld\u0026#34; \u0026#34;user@raspberrypi.local:/home/user/minecraft_bds_server/worlds\u0026#34; 編輯BDS伺服器的server.properties，如下修改 # 設定遊戲模式 gamemode=survival # 困難度 difficulty=normal # 要讀取的世界目錄名稱 level-name=MyWorld # 預設加入的玩家權限 default-player-permission-level=member 啟動BDS伺服器，接著就可以在任意Minecraft基岩版的伺服器界面，輸入IP連線了。 使用docker logs \u0026lt;容器ID\u0026gt;指令查看伺服器訊息，當有玩家連線進來的時候就會顯示Player connected:，後面會印出名字和xuid。\n接著強化伺服器安全性，編輯server.properties，啟用白名單機制\nallow-list=true 編輯allowlist.json，設定白名單玩家，填入允許連線進入的Xbox ID [ { \u0026#34;ignoresPlayerLimit\u0026#34;: false, \u0026#34;name\u0026#34;: \u0026#34;Ivon Huang\u0026#34;, \u0026#34;xuid\u0026#34;: \u0026#34;114514918\u0026#34; }, { \u0026#34;ignoresPlayerLimit\u0026#34;: false, \u0026#34;name\u0026#34;: \u0026#34;Second Player\u0026#34;, \u0026#34;xuid\u0026#34;: \u0026#34;114514918\u0026#34; } ] 如果要賦予特定玩家OP權限，編輯BDS伺服器的permissions.json檔案，將Xbox ID填進去 [ { \u0026#34;permission\u0026#34;: \u0026#34;operator\u0026#34;, \u0026#34;xuid\u0026#34;: \u0026#34;114514918\u0026#34; } ] 重新啟動伺服器。 3. 讓伺服器可從外部網路存取 # 在BDS伺服器上部署內網穿透服務，如此一來不論是用Wifi還是4G網路都能玩Minecraft了。\n如果要加強伺服器安全性，僅限有連上「虛擬區域網路」的客戶端能連線的話，那麼編輯server.properties，設定此值：enable-lan-visibility=false關閉區域網路連線。\n4. 解決玩家背包物品消失問題 # Minecraft多人連線是用UUID來認玩家的。不論有無登入Xbox帳號，單人地圖轉成BDS伺服器地圖後，原本玩家的背包東西都會噴掉，寵物也可能會認不得玩家。\n根據Mojang Bugjira，這是已知bug。\nMinecraft 1.21之後這個問題似乎解決了？只要遊玩該單人世界的時候有登入Xbox帳號，Minecraft就會保留玩家背包。日後登入伺服器的時候只要使用同一個Xbox帳號，就不用擔心背包不見。\n如果你的東西不見，可以考慮用這個Python程式手動遷移玩家背包資料庫。\n啟動BDS伺服器，嘗試登入遊戲。當你進入世界的時候，背包應該是空的。此時地圖資料已經更新，變為新地圖。\n關閉伺服器\n安裝bedrock Python套件\n將BDS伺服器的新地圖下載回本機，跟舊地圖的目錄放置在不同的目錄\n執行./compare-worlds.py比較舊地圖與新地圖的差異，應該會印出這個世界曾經遊玩過的玩家UUID\n./compare-worlds.py \u0026#34;/home/user/下載/MyWorld\u0026#34; \u0026#34;/home/user/下載/New_MyWorld\u0026#34; 將ID資訊寫入到新地圖 ./convert-local-player.py \u0026#34;/home/user/下載/New_MyWorld\u0026#34; \u0026lt;MSA ID\u0026gt; \u0026lt;self-signed ID\u0026gt; \u0026lt;player server ID\u0026gt; 將新地圖上傳回BDS伺服器。重新連線，背包應該就回來了。 ","date":"2024年8月1日","externalUrl":null,"permalink":"/posts/convert-minecraft-bedrock-single-player-world-to-bds-server/","section":"Minecrafts","summary":"情況描述：Ivon有一張玩了很久的Minecraft基岩版地圖，想要將其變成多人地圖，除了方便我在電腦和手機隨時玩以外，也方便多人連線。\n我希望這個伺服器一直在線上，所以不採用LAN連線方案。最直接的作法就是架BDS伺服器了。BDS是Mojang官方開發的原味生存伺服器軟體，相容Minecraft最新版本。不論是Android、iOS、Windows還是主機版的地圖，都可以用BDS軟體將其變成多人伺服器。 BDS伺服器有點像在自架Realms，自行準備伺服器硬體，再把世界/地圖上傳到私人BDS伺服器，就可以遠端遊玩了，還能設定備份規則自動備份世界。\n注意：單人世界轉成多人世界後，不論玩家有沒有登入，伺服器只要開著，世界時間就會一直流逝。如果希望登出後遊戲暫停，需要將伺服器服務完全停止。\n1. 架設BDS伺服器 # 我使用Linux系統＋Docker架設，跑在樹莓派上：以Docker架設Minecraft基岩版BDS伺服器\n如果想用Windows系統架設，請參考這篇：Minecraft基岩版BDS伺服器架設教學 \u0026 通訊埠轉發\n試跑的時候伺服器會自動新增一個世界，請將BDS伺服器關閉，之後刪除該世界的目錄。\n2. 將單人地圖遷移到BDS伺服器 # 重要：如果你在玩單人世界的時候，沒有登入Xbox帳號，那麼在轉成伺服器地圖前，請將玩家身上所有東西取出，放到箱子裡面保管，否則身上的物品會消失。（這個有辦法補救，見後文）\n","title":"Minecraft基岩版：單人地圖轉成多人地圖伺服器，啟用白名單","type":"minecraft"},{"content":"介紹如何在FreeBSD安裝bhyve，並設定BVCP網頁界面方便控管電腦上執行的虛擬機。\n根據FreeBSD官方手冊，能在FreeBSD宿主機執行的虛擬機軟體主要有三種：VirtualBox、bhyve、Xen。\n其中，bhyve（唸作beehive）可說是專為FreeBSD打造的軟體，屬於原生的虛擬機框架，讓使用者能在FreeBSD跑Linux、Windows、Android-x86等其他系統的虛擬機。 bhyve自FreeBSD 10.0之後隨附於系統套件，不需要安裝就能用。但bhyve是Type 2 Hypervisor，Type 1 Hypervisor必須用Xen。此外，bhyve不依賴QEMU模擬硬體。\nbhyve主要支援的是FreeBSD和illumos系統。macOS也有名為xhyve的移植版，macOS版的Docker就是跑在這種虛擬機裡面。跟VirtualBox不一樣的是，bhyve支援PCI Passthrough，也可以使用VirtIO驅動提升虛擬機效能，以及使用swtpm模擬TPM裝置。\nbhyve本身需要打指令不太好用，所以得裝個管理器。純文字介面管理工具有vm-bhyve；圖形介面則可以用CBSD或者商業軟體BVCP介面管理，BVCP的網頁界面功能還蠻周全的。 1. 確認bhyve狀態 # Intel和AMD的CPU都支援虛擬化，請在UEFI開啟VT-x的虛擬化支援\n確認bhyve是否已經安裝\nwhich bhyve 設定開機自動載入bhyve核心模組，重開機 sudo sysrc kld_list+=vmm 2. 部署BVCP網頁服務 # BVCP是nPulse.net開發的商業軟體，他們提供免費Community版給一般用戶使用。\n下載BVCP安裝檔 cd ~ fetch https://bhyve.npulse.net/release.tgz tar -xzvf release.tgz 安裝 cd bhyve-webadmin-2.1.4 \u0026amp;\u0026amp; sudo ./install.sh 初始化的時候會要求設定資料存放目錄（預設為/vms），還有後台帳號密碼 之後就可以用http://FreeBSD系統IP:8086登入後台了。 初次登入按照指示修改管理員密碼、建立虛擬網路、儲存池 最後，設定開機後自動啟動前後端服務\nsudo sysrc bvcp-backend_enable=\u0026#34;YES\u0026#34; sudo sysrc bvcp-frontend_enable=\u0026#34;YES\u0026#34; sudo sysrc bvcp-helper_enable=\u0026#34;YES\u0026#34; 3. 用BVCP建立虛擬機 # 以Ubuntu為例，到官網複製下載連結\n將ISO下載到/vms/iso_images\ncd /vms/iso_images fetch https://releases.ubuntu.com/24.04/ubuntu-24.04-desktop-amd64.iso 點選左邊側邊欄，Virtual Machines，新增虛擬機，分配CPU和RAM 然後新增虛擬磁碟、虛擬網路，並掛接ISO。FreeBSD預設建立的虛擬機就是使用UEFI開機的。 點選開機，再點選VNC Console按鈕 就會自動跳出noVNC視窗讓你存取虛擬機畫面。 參考資料 # bhyve - FreeBSD Wiki Chapter 24. Virtualization - FreeBSD Handbook How to install BVCP - BVCP: FreeBSD Bhyve Project ","date":"2024年7月30日","externalUrl":null,"permalink":"/posts/freebsd-install-bhyve-bvcp/","section":"所有文章","summary":"介紹如何在FreeBSD安裝bhyve，並設定BVCP網頁界面方便控管電腦上執行的虛擬機。\n根據FreeBSD官方手冊，能在FreeBSD宿主機執行的虛擬機軟體主要有三種：VirtualBox、bhyve、Xen。\n其中，bhyve（唸作beehive）可說是專為FreeBSD打造的軟體，屬於原生的虛擬機框架，讓使用者能在FreeBSD跑Linux、Windows、Android-x86等其他系統的虛擬機。 bhyve自FreeBSD 10.0之後隨附於系統套件，不需要安裝就能用。但bhyve是Type 2 Hypervisor，Type 1 Hypervisor必須用Xen。此外，bhyve不依賴QEMU模擬硬體。\nbhyve主要支援的是FreeBSD和illumos系統。macOS也有名為xhyve的移植版，macOS版的Docker就是跑在這種虛擬機裡面。跟VirtualBox不一樣的是，bhyve支援PCI Passthrough，也可以使用VirtIO驅動提升虛擬機效能，以及使用swtpm模擬TPM裝置。\nbhyve本身需要打指令不太好用，所以得裝個管理器。純文字介面管理工具有vm-bhyve；圖形介面則可以用CBSD或者商業軟體BVCP介面管理，BVCP的網頁界面功能還蠻周全的。 1. 確認bhyve狀態 # Intel和AMD的CPU都支援虛擬化，請在UEFI開啟VT-x的虛擬化支援\n","title":"FreeBSD安裝bhyve虛擬機軟體＋BVCP網頁管理界面","type":"posts"},{"content":"將所有Tailscale裝置的流量導向到特定裝置。 在我們連上Tailscale組成的虛擬區域網路之後，所有的裝置依然是使用自己的網路上網，只有在二個裝置（節點）需要通訊的時候才會走Tailscale網路。因此你會發現Tailscale並沒有更改裝置地理IP的效果，它不過是負責組虛擬內網的工具而已。 圖片引用自Tailscale官網\n那，能不能強制將所有流量都使用Tailscale傳輸呢？我們可以透過Tailscale的出口節點(Exit Node)功能，將所有Tailscale裝置的流量導向特定節點的出口。\n大約就是讓其他裝置使用特定裝置的網路上網的意思。 圖片引用自Tailscale官網\n如此一來就有以下應用場景：\n加強網路通訊安全性，像使用公共Wifi容易有安全性顧慮，改用Tailscale傳輸就能啟用點對點加密功能。 提升網速，因為使用出口節點上網，所以遠端主機比你的網路快很多的話就會感到有感提升。反之，如果你電腦固網的網速比4G慢的話則網速會降速。 將Tailscale部署在租賃的外國VPS，此時Tailscale的功能就會變得像一般人認知的商業VPN，也就是達成地理IP跨區效果。 將Tailscale部署在台灣家中的NAS，從中國翻牆回自由網路。不過據說不是很穩定，容易被GFW識別流量。 啟用出口節點功能之後，各個節點之間依然可以互相連線。\n1. 環境 # Ubuntu 24.04電腦 Windows 11 23H2電腦 Android 14手機 三部裝置，全部都加入Tailscale網路。\n任一作業系統都可以當作Tailscale節點出口，並且同時能有很多個。為了方便操作，我選用Ubuntu當節點出口。\n所有的流量應該都會轉發到Ubuntu，所以Android和Windows不論使用什麼方式上網，對外IP都會變得跟Ubuntu一樣。\n2. 安裝Tailscale # 參見如何安裝Tailscale\nTailscale的中繼伺服器我是直接用官方的，如果你擔心官方伺服器被封鎖，也可以自架Headscale。\n3. 設定出口節點 # 首先要給Linux核心啟用IP Forwarding功能 echo \u0026#39;net.ipv4.ip_forward = 1\u0026#39; | sudo tee -a /etc/sysctl.d/99-tailscale.conf echo \u0026#39;net.ipv6.conf.all.forwarding = 1\u0026#39; | sudo tee -a /etc/sysctl.d/99-tailscale.conf sudo sysctl -p /etc/sysctl.d/99-tailscale.conf 如果Ubuntu有啟用UFW防火牆，還得允許IP Forwarding sudo ufw default allow FORWARD sudo ufw reload 在Ubuntu執行以下指令，廣播此節點可作為出口 sudo tailscale set --advertise-exit-node 之後在Tailscale的網頁後台可看到有哪些節點可作為出口 點進去選單，允許作為出口節點 然後在對應的Tailscale客戶端進行操作。請確保與Ubuntu之間的連線為Direct而非Relay。\nWindows在系統匣面板選取出口節點即可 Android APP也是如此。 最後，檢查一下對外IP。Ubuntu要檢查公共IP可以使用此指令：\ncurl https://ipinfo.io/ip 至於其他裝置，就到https://www.whatismyip.com網站看看吧，IP應該會變得跟出口節點一致。 參考資料 # Exit nodes (route all traffic) · Tailscale Docs tailscale/headscale 利用境外节点做 exit node 实现科学 - V2EX ","date":"2024年7月28日","externalUrl":null,"permalink":"/posts/tailscale-setup-exit-nodes/","section":"所有文章","summary":"將所有Tailscale裝置的流量導向到特定裝置。 在我們連上Tailscale組成的虛擬區域網路之後，所有的裝置依然是使用自己的網路上網，只有在二個裝置（節點）需要通訊的時候才會走Tailscale網路。因此你會發現Tailscale並沒有更改裝置地理IP的效果，它不過是負責組虛擬內網的工具而已。 圖片引用自Tailscale官網\n那，能不能強制將所有流量都使用Tailscale傳輸呢？我們可以透過Tailscale的出口節點(Exit Node)功能，將所有Tailscale裝置的流量導向特定節點的出口。\n大約就是讓其他裝置使用特定裝置的網路上網的意思。 圖片引用自Tailscale官網\n如此一來就有以下應用場景：\n加強網路通訊安全性，像使用公共Wifi容易有安全性顧慮，改用Tailscale傳輸就能啟用點對點加密功能。 提升網速，因為使用出口節點上網，所以遠端主機比你的網路快很多的話就會感到有感提升。反之，如果你電腦固網的網速比4G慢的話則網速會降速。 將Tailscale部署在租賃的外國VPS，此時Tailscale的功能就會變得像一般人認知的商業VPN，也就是達成地理IP跨區效果。 將Tailscale部署在台灣家中的NAS，從中國翻牆回自由網路。不過據說不是很穩定，容易被GFW識別流量。 啟用出口節點功能之後，各個節點之間依然可以互相連線。\n","title":"將Tailscale當跨區VPN用：如何設定出口節點(Exit Node)","type":"posts"},{"content":"Virt Manager介面可設定虛擬機的RAM，但是為什麼還有「最大分配」欄位呢，RAM數值不該是固定的嗎？這代表Libvirt是可以動態分配RAM給虛擬機使用的。\nLibvirt可在虛擬機需要RAM時分配給它，不需要多餘的資源的時候還給宿主機。背後仰賴「VirtIO Memory Ballooning」機制。\nBalloon意為「記憶體氣球」，最初是設計用來應付KVM的超賣情況(overcommiting)，使宿主機能夠執行超過自身RAM需求的二個虛擬機，例如宿主機只有2GB RAM，卻可以執行二個需要2GB RAM的虛擬機。\nLibvirt會在虛擬機插入一個memballon裝置，當需要RAM的時候，氣球會放氣(deflate)將RAM給虛擬機 圖片來自Redhat的Luiz Capitulino簡報\n反之則是膨脹(inflate)，將RAM還給宿主機 圖片來自Redhat的Luiz Capitulino簡報\n使用者可手動用virsh指令調整虛擬機的RAM佔用，也可以交給Balloon自動做RAM分配。\nBalloon需要作業系統支援才可以使用，Linux核心支援Ballloon；Windows則是得安裝virtio驅動才能讓Balloon調配RAM。\n1. 環境 # 宿主機：Ubuntu 24.04 虛擬機1：Ubuntu Server 24.04 虛擬機2：Windows 11 23H2 2. 宿主機端的設定 # 在Linux安裝Virt Manager後就能使用Balloon功能。\n點選編輯虛擬機硬體，到記憶體頁面，設定預設分配的RAM和最大分配RAM。例如我這裡設定虛擬機目前分配的RAM為4GB，最多可以用到8GB。 將RAM分配設定為自動調整，請檢查虛擬機xml的\u0026lt;devices\u0026gt;區塊是否有啟用memballoon裝置，且傳入autodeflate=\u0026quot;on\u0026quot;參數：\n\u0026lt;devcies\u0026gt; \u0026lt;memballoon model=\u0026#34;virtio\u0026#34; autodeflate=\u0026#34;on\u0026#34;\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x06\u0026#34; slot=\u0026#34;0x00\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/memballoon\u0026gt; \u0026lt;/devices\u0026gt; 目前分配的RAM為虛擬機開機後所能存取的數值，如果虛擬機需要更多RAM，宿主機才會分配給它。反之，若虛擬機的RAM小於預設數值，且宿主機需要RAM，則那些RAM會還給宿主機。\n雖然Virt Manager的界面可以設定目前要分配多少RAM給虛擬機，但虛擬機必須先關機才能調整。\n3. 虛擬機內的設定 # Linux # 使用free -h指令查看可用RAM，應該是4GB 暫時停用SWAP，再簡單跑個stress-ng壓力測試，強制佔滿更多RAM，超過4GB。\nsudo swapoff -a stress-ng -m 1 --vm-bytes 6G 照理說stress-ng耗盡RAM之後就會被中止，但是這裡沒有發生！此時再執行free指令，可以觀察到Balloon自動分配的RAM進來了，這裡並沒有使用到SWAP，RAM是真的變多了。 Windows # 下載最新版stbale virtio驅動。安裝Guest Tool套件後，Windows裝置管理員的系統應會多出「VirtIO Balloon Driver」\n以系統管理員權限開啟終端機，切換到C:\\Program Files\\Virtio-Win\\Balloon\\資料夾\nSet-Location -Path C:\\Program Files\\Virtio-Win\\Balloon\\ 安裝Ballon服務。 blnvr.exe -i 並在Windows的「服務」選單確認Balloon Sevvice是否有自動啟動。\n詭異的是，即使設定Balloon之後，工作管理員依然可以看到全部RAM，但是Windows服務佔用比重確實是上升的。\n分配8GB RAM的時候大約38%。 而現在只有4GB RAM可用，所以Widnows服務的佔用來到了82%。 參考資料 # Dynamic Memory Management - Proxmox VE Wiki VirtIO Memory Ballooning - Open Source Software Developer KVM Forum 2013: Automatic Memory Ballooning by Luiz Capitulino 虚拟机内存balloon - 云图 – 云计算图志 ","date":"2024年7月28日","externalUrl":null,"permalink":"/posts/libvirt-virtio-balloon/","section":"所有文章","summary":"Virt Manager介面可設定虛擬機的RAM，但是為什麼還有「最大分配」欄位呢，RAM數值不該是固定的嗎？這代表Libvirt是可以動態分配RAM給虛擬機使用的。\nLibvirt可在虛擬機需要RAM時分配給它，不需要多餘的資源的時候還給宿主機。背後仰賴「VirtIO Memory Ballooning」機制。\nBalloon意為「記憶體氣球」，最初是設計用來應付KVM的超賣情況(overcommiting)，使宿主機能夠執行超過自身RAM需求的二個虛擬機，例如宿主機只有2GB RAM，卻可以執行二個需要2GB RAM的虛擬機。\nLibvirt會在虛擬機插入一個memballon裝置，當需要RAM的時候，氣球會放氣(deflate)將RAM給虛擬機 圖片來自Redhat的Luiz Capitulino簡報\n反之則是膨脹(inflate)，將RAM還給宿主機 圖片來自Redhat的Luiz Capitulino簡報\n使用者可手動用virsh指令調整虛擬機的RAM佔用，也可以交給Balloon自動做RAM分配。\nBalloon需要作業系統支援才可以使用，Linux核心支援Ballloon；Windows則是得安裝virtio驅動才能讓Balloon調配RAM。\n1. 環境 # 宿主機：Ubuntu 24.04 虛擬機1：Ubuntu Server 24.04 虛擬機2：Windows 11 23H2 2. 宿主機端的設定 # 在Linux安裝Virt Manager後就能使用Balloon功能。\n","title":"VirtIO-Balloon：伸縮自在的RAM，QEMU/KVM虛擬機動態分配記憶體","type":"posts"},{"content":"","date":"2024年7月28日","externalUrl":null,"permalink":"/tags/fate-stay-night/","section":"標籤","summary":"","title":"Fate Stay Night","type":"tags"},{"content":"至少對我來說是如此。\n要說第一款讓我沈迷的日本遊戲是《艦隊Colleciton》，那第二款就是FGO了。\n玩手遊就要玩原廠直營的版本，不要有代理，FGO之後更確信了這點。\n此即遊玩《Fate/Grand Order》的歷史。\n我的FGO日版好友帳號ID：468253199。御主名稱：ivon852\n1. 入坑台版，沈迷與瘋狂課金 # 從懵懵懂懂到瘋狂沈迷，玩了線上遊戲也參加線下活動。\n根據模糊的記憶，大約在2016年我就知道FGO的存在了。曾經在學校調查是否遭受霸凌的訪問單寫上不明覺歷的「人類惡，顯現」，這種中二行為最後慘遭高中班導無視，畢竟他連我在黑板上把教學用的東南亞地圖畫成《艦隊Collection》夏季活動作戰地圖都不在意了呢～ 玩FGO才知道這句話有很多種含義，包含GUDA子\n2018年在同學介紹下開始玩FGO，當然是從台版（繁中版/台服）開始。一開始的四星自選，選了有戰鬥續行的赫拉克勒斯(Berserker)。之後便是跑劇情階段，FGO第一部前期劇情是公認的糞，但是我卻看得蠻入迷的？遊戲劇情起伏不大不重要，用語夠中二就就行了，什麼「人理」、「特異點」、「已然遙遠的理想之城」、「人類惡」、「提亞馬特 ChildHood\u0026rsquo;s End」、「空想樹」什麼的，讀起來十分有趣。\n本部落格的404頁面訊息就是來自FGO第二部的標語，網頁不見了？因為已經跑到虛數空間了～ 初期攻略劇情的時候，對遊戲機制不熟的情況下就是拿抽到的幾隻Servant隨便平砍，不行就抱Support大腿過關。一直到了第六章遊戲難度才真正起來，減緩了攻略進度，迫使人研究遊戲機制。減緩遊戲節奏的同時，也更深刻的體會到六章、七章的劇情。奈須蘑菇寫得算是中上水準的小說。\n劇情以外，FGO開的限時活動都是盡量的刷好刷滿，雖然沒有高效率的刷關隊伍，也是盡量拿到活動限定的Servant，例如入坑的時候正好在舉辦「萬聖節・強襲！ 魔之建築攀登者／姬路城大決戰」，印象最深刻的就是機械伊莉莎白(Alterego)，可說是高火力的4星輸出角。 來源：https://www.pixiv.net/artworks/66894792\n隨著遊戲進展，台版逐漸推出更多角色，吸引我去抽。據不完全估計，我大概花了快二萬台幣買聖晶石。但是呢，抽到的角色常常是稀有歸稀有，卻很少有實用的（卡面很實用，但是遊戲中不實用），比如阿比蓋爾(Foreigner)、葛飾北齋(Foreigner)，她們只有特殊場合才有用的說。而我的周回主力陣容依然殘破不堪，遇到活動更是刷得非常難過（後述）。 來源：https://x.com/ryofu1323/status/1809543061967618503\n另外一個私心喜歡的角色是奧茲曼迪亞斯(Rider)，沒其他的，就覺得單純很帥而已，但台版怎樣也抽不到。 來源：https://x.com/jinkei_bunny/status/1391746917286117380\n若要講FGO的本命角\u0026hellip;大概就上述的二位吧，阿比蓋爾和奧茲曼迪亞斯。\n我會在遊戲花那麼多錢，除了當時對遊戲充滿好奇之外，也是因為年輕對錢沒有概念所以就胡亂揮霍了。更要命的是不是把錢投資在值得抽的戰力上（PTT和巴哈姆特都有未來視告訴大家哪些角色值得抽），而是依照個人喜好下去投錢。這樣下去我就會變成日本那個敗光家產也要把斯卡薩哈抽到寶五的瘋子了吧，所幸後來換到日版就止住了瘋狂課金的欲望。\n【討論】FGO日本腦粉為抽師匠貸款34萬日圓課金，並離家出走 - 巴哈姆特 說到玩家社群，我永遠忘不了常常在PTT C_Chat版出沒的FGO雲玩家兄弟wwwwwww 2019年5月，FGO台版二週年慶，小萌在全台發杯子蛋糕，成功騙了我到一家貴的要命的火鍋店消費，現在這個玻璃罐還留著。 FGO台服二週年蛋糕got 2019年7月，台版FGO劇情進入第二部異聞帶，小萌宣布參展台北動漫展，現場佈置了Shadow Border的精美模型，還有大量贈品。為了這種東西特地北上看展是第一次這樣幹，最後A了一張異聞帶宇宙的海報回來。 到現在牆上還貼著這張泛白的海報\n值得一提的是，當時發生過台版維護大當機的糗事，而且維護之後還大量出現錯字與簡體字，證明小萌真的是滿差勁的代理商哪。\n「文本優化」反而看不懂，《FGO》繁中版更新大量對岸用語惹議 - 4Gamers 2. FGO引領人進入TypeMoon的神話世界 # 相信很多人都是入FGO坑之後，順便入了TypeMoon的世界。撇去二次創作的部份不談，Fate系列真的是傳承世界文化的不錯教材。\nFGO第一部，第六章到第七章的文字份量，確實體現了會說故事和不會說故事的差別有多大呀，滿滿的震撼感。這也使我在2019年9月《絕對魔獸戰線》動畫化後特地買了電影票專程到戲院去看前導片。\n【FGO】先行上映 絕對魔獸戰線巴比倫尼亞 有了這個經歷之後，Fate相關作品也會順便去看，例如《Fate/Stay Night Heaven\u0026rsquo;s Feel》電影，以及Fate系列動畫作品如《Fate/Zero》、《艾梅洛閣下II世事件簿》、《魔法少女伊莉雅》、《空之境界》。甚至在剛入坑FGO時還去玩了《Fate/Stay Night》的原作遊戲呢。\n可以說FGO除了給我補充世界神話知識以外，還加上了TypeMoon奇妙（詭異？）的二次創作設定，讓讀者對人物的印象更為深刻。玩FGO時，很多歷史神話知識自然而的進入我的腦袋（絕對不是因為大奶女角或小蘿莉的外貌），使得大學在上西洋文學課程的時候聽得是興高采烈，而不會覺得無聊！當然我是搞得清楚TypeMoon設定與現實設定的差距的，有時候還會吐槽TypeMoon的設定太亂來，根本是為了媚宅騙錢用。\n3. 慢慢從台版轉到日版 # 為什麼要冒著語言不熟的風險去玩日版，最後放棄台版呢？我覺得是命運，不，一連串因素使然，讓我決定從雙修狀態變成拋棄台版。中間還發生過讓人心臟驟停的引繼碼忘記事件\u0026hellip;\n2019年7月，在備用手機安裝日版玩玩，此階段是日版和台版雙修。\n【FGO】抱大腿打完本能寺2019 當時日版正在進行「All信長總進擊GUDAGUDA」，以及「從者・夏日・慶典2019」活動。靠著初始抽到的低等級Servant和抱Support大腿，艱難的打完活動關卡。至於劇情關部份，因為有台版的攻略經驗，所以Servant都不用練等，只要找對大腿，就可以一路單挑到打敗魔神王。一直到第二部之後的關卡才慢慢需要自行練等組隊，不能單靠大腿輸出。\n日版比台版唯一的缺點就是沒有翻譯了，日文N5程度，劇情大多看不懂\u0026hellip;不過PTT和巴哈都會有人整理大綱，所以我也不是很在意。有些常用日文字看久了也懂得大概了。\n2021年6月17日刷機後忘記引繼碼，所以便紀錄下了寫表單取回帳號的過程：FGO日版忘記引繼碼，取回帳號流程\n客服真是貼心！提供消費證明，幾天後就成功找回來了，迎向四夜的終末。\n原本以為FGO日版會逐漸失去興趣的，因為以前玩PTT八卦板鄉民推薦的《戰鬥女子學園》，換到日版也是默默退坑，但是我發現FGO日版給我的「體驗」要比台版好太多了。這之中個人因素佔很大比重。\n一、首先日版進度是最新的，永遠不用擔心未來視問題。季節活動就是正常按照季節舉辦，不會像台版趕進度導致聖誕節活動與現實季節不符的情況發生。日版福利其實給得很大方，新手就能拿到許多聖晶石大禮包～\n二、台版小萌的經營態度讓人很不爽，直到今日2024年，FGO台版的文本依然充斥錯字，感覺不如整天和諧來和諧去的Bilibili服有誠意。儘管小萌常常在台灣辦實體活動還算有心，但不想再被當二等公民。雖然日版線下活動很難參與，綁定Aniplex帳號也很麻煩，但是我還是覺得日版比較好。\n三、雙修太麻煩了，我又不是只廚一個遊戲，不能花太多時間經營二個版本的帳號。\n最後是牌運，在日版只花不到台版十分之一的錢（有了前面的教訓不再亂課了），卻得到更為全面的角色，刷活動關卡少掉很多壓力。例如日版帳號紅綠藍：梅林、斯卡蒂、阿爾托莉亞三色輔助全都有。我最印象深刻的一點就是在看某部電影去上廁所的時候抽到梅林；以及阿爾托莉亞剛出的那天就抽到。最後在台版朝思暮想的奧茲曼迪亞斯也是在日版抽到。\n打手就更不必說了，各種職階顏色的輸出一堆，劇情關遇到強敵有各種戰術運用，AppMedia上寫的攻略我都能參考，因為好用的角色幾乎都有抽到。蘭斯洛特(Berserker)和陳宮(Caster)更是周回超級大幫手！聖杯餵好餵滿。 相較於課一堆，卻只有抽到寥寥幾隻打手，輔助只有一隻五星自選孔明＋玉藻前的台版帳號，實在差太多了啦！我台版帳號日常刷種火的隊伍，只能組平民隊：Lv.90的阿拉什(Archer)，Lv.100的斯巴達克斯，加上任意裝備50% NP充能禮裝的輸出手，這樣可以搭配任意輔助角，刷完日常種火關卡和部分活動關卡。可是在那之外的關卡，我是打得很痛苦的說。 台版的劇情進度只攻略到第二部第三章，之後就放水流了。2022年後我就主力玩日版了，台版可能就用來補看劇情用。\n2025年6月追記：這麼幸福是可以的嗎，台版FGO兩個願望一次滿足，沒有被爆乳的阿爾托莉雅Caster（Berserker）和色小鬼泳裝克洛伊誘惑，而是靜靜等待時機，等到奧伯龍與泳裝BB都Pick Up的那天才開抽，沒有耗盡長期以來儲備的500石就雙雙出貨。加上幾個月前抽到的阿爾托莉雅Caster和太空伊絲塔，有了藍卡與紅卡輔助，這下又有動力去玩台版了。雖然台版的輔助陣容仍然不像日版一樣三色齊全就是了。\n4. 宇宙神遊不是蓋的 # 儘管2022年下半年，我對一切遊戲的興致減退，不如以往沈迷，連帶FGO都有點懶得登入打周回了，我還是掛念這遊戲。\nFGO的遊戲性不高，而且很吃抽卡運氣，卡池又超坑，等了好久才來五星自選。所以FGO讓人黏著的點，應該還是在世界觀，一旦你著了TypeMoon的道，就會陷入這個奇幻世界無法自拔。再加上很色的電子妓女，額不是，富有特色的角色設計，讓玩家更喜歡遊戲中所刻劃的角色。\n之後的日子，偶爾還是會開來玩，因為這是手遊，設計上就是要讓玩家輕鬆玩，其實有了基礎的強力輔助後，不用常常追遊戲最新進度跑也能玩得很快樂。再加上FGO龐大劇情世界觀，總有看不完的故事。即使不開遊戲，讀Fate百科的設定集也夠讓人著迷了。\n","date":"2024年7月28日","externalUrl":null,"permalink":"/posts/fate-grand-order-is-a-great-mobile-game/","section":"所有文章","summary":"至少對我來說是如此。\n要說第一款讓我沈迷的日本遊戲是《艦隊Colleciton》，那第二款就是FGO了。\n玩手遊就要玩原廠直營的版本，不要有代理，FGO之後更確信了這點。\n此即遊玩《Fate/Grand Order》的歷史。\n我的FGO日版好友帳號ID：468253199。御主名稱：ivon852\n1. 入坑台版，沈迷與瘋狂課金 # 從懵懵懂懂到瘋狂沈迷，玩了線上遊戲也參加線下活動。\n根據模糊的記憶，大約在2016年我就知道FGO的存在了。曾經在學校調查是否遭受霸凌的訪問單寫上不明覺歷的「人類惡，顯現」，這種中二行為最後慘遭高中班導無視，畢竟他連我在黑板上把教學用的東南亞地圖畫成《艦隊Collection》夏季活動作戰地圖都不在意了呢～ 玩FGO才知道這句話有很多種含義，包含GUDA子\n2018年在同學介紹下開始玩FGO，當然是從台版（繁中版/台服）開始。一開始的四星自選，選了有戰鬥續行的赫拉克勒斯(Berserker)。之後便是跑劇情階段，FGO第一部前期劇情是公認的糞，但是我卻看得蠻入迷的？遊戲劇情起伏不大不重要，用語夠中二就就行了，什麼「人理」、「特異點」、「已然遙遠的理想之城」、「人類惡」、「提亞馬特 ChildHood’s End」、「空想樹」什麼的，讀起來十分有趣。\n","title":"FGO是宇宙神遊，日版相比台版更是物超所值","type":"posts"},{"content":"","date":"2024年7月28日","externalUrl":null,"permalink":"/tags/memoir/","section":"標籤","summary":"","title":"Memoir","type":"tags"},{"content":"Prism Launcher是一款開源的第三方啟動器，為PolyMC、MultiMC的後繼者，可讓玩家多開各版本的Minecraft Java，方便安裝模組包又不會導致版本互相衝突。\nPrism Launcher支援Microsoft正版帳號登入，是安全無毒的啟動器。與此同時開發者尚提供離線帳號(offline account)，可讓沒有購買正版Minecraft的玩家免費進入遊戲。簡言之，就是玩盜版Minecraft。 Prism Launcher離線啟動Minecraft 1.21\n不過這個功能做得很隱晦，Prism Launcher會要你先登入正版Microsoft帳號才可以新增離線帳號，但免費玩家怎麼會有正版帳號呢！？因此需要手動改檔案才能繞過此限制。\n請抱著羞恥心玩盜版。 ~ by Notch\n1. 離線帳號的限制 # 可下載任意版本的Minecraft 可玩單人模式 可安裝Forge、Fabric模組 可使用局域網連線 無法自訂skin，需要靠OfflineSkins模組補救 無法進入有開正版驗證的伺服器 2. 下載Prism Launcher # Prism Launcher支援Linux、Windows、macOS系統。\nWindows系統需要先手動到Oracle官網下載最新版Java，例如Minecraft 1.21需要下載Java 21。\n再到Prism Launcher官網，安裝Microsoft Visual C++ Redistributable 2022 x64，再下載Prism Launcher Installer安裝主程式。\n3. 啟用離線帳號 # 以Windows 11系統為例，其他系統操作原理類似。\n首先開啟Prism Launcher一次，點右上角管理帳號，Prism Launcher會要求新增Microsoft正版帳號才可以新增離線帳號。 將Prism Launcher關閉。\n然後按Windows鍵＋R，輸入以下路徑\n%appdata%/PrismLauncher/ 開啟Prism Launcher程式的資料夾，找到accounts.json檔案，沒有的話自行新增文字文件。 右鍵以記事本開啟，填入以下內容\n{\u0026#34;accounts\u0026#34;: [{\u0026#34;entitlement\u0026#34;: {\u0026#34;canPlayMinecraft\u0026#34;: true,\u0026#34;ownsMinecraft\u0026#34;: true},\u0026#34;type\u0026#34;: \u0026#34;Offline\u0026#34;}],\u0026#34;formatVersion\u0026#34;: 3} 儲存檔案。重開Prism Launcher，就會發現右上角顯示離線帳號（黑白史蒂夫頭）\n點選管理帳號，新增一個新的離線帳號，隨便取一個名字，再將它設定為預設帳號 這樣就可以開始下載Minecraft了。例如要下載Minecraft 1.21，就是點選新增實例 → 選擇版本 再選擇啟動或離線啟動 參考資料 # antunnitraj/Prism-Launcher-PolyMC-Offline-Bypass\n","date":"2024年7月26日","externalUrl":null,"permalink":"/posts/prism-launcher-bypass-offline-account-check/","section":"Minecrafts","summary":"Prism Launcher是一款開源的第三方啟動器，為PolyMC、MultiMC的後繼者，可讓玩家多開各版本的Minecraft Java，方便安裝模組包又不會導致版本互相衝突。\nPrism Launcher支援Microsoft正版帳號登入，是安全無毒的啟動器。與此同時開發者尚提供離線帳號(offline account)，可讓沒有購買正版Minecraft的玩家免費進入遊戲。簡言之，就是玩盜版Minecraft。 Prism Launcher離線啟動Minecraft 1.21\n不過這個功能做得很隱晦，Prism Launcher會要你先登入正版Microsoft帳號才可以新增離線帳號，但免費玩家怎麼會有正版帳號呢！？因此需要手動改檔案才能繞過此限制。\n請抱著羞恥心玩盜版。 ~ by Notch\n1. 離線帳號的限制 # 可下載任意版本的Minecraft 可玩單人模式 可安裝Forge、Fabric模組 可使用局域網連線 無法自訂skin，需要靠OfflineSkins模組補救 無法進入有開正版驗證的伺服器 2. 下載Prism Launcher # Prism Launcher支援Linux、Windows、macOS系統。\n","title":"免費遊玩Minecraft Java版，Prism Launcher離線帳號使用方式","type":"minecraft"},{"content":"我想要在直通GPU的Linux虛擬機玩遊戲，又不想要接二個實體螢幕。希望能在虛擬機開機後，在Linux宿主機開一個視窗存取虛擬機的桌面。\n有試過Looking Glass Host for Linux的方案，但是不好安裝，或者說作者根本就不在乎Windows以外的系統，故我改用較為成熟的Sunshine遊戲串流。\n只要直通GPU給虛擬機，再安裝Sunshine，就可以把Linux電腦桌面串流到Linux宿主機的Moonlight客戶端了。又因為是區域網路，1080p60串流幾乎沒延遲！ 從Ubuntu宿主機桌面，存取Fedora虛擬機桌面的Steam客戶端\n至於螢幕部份，Linux沒有Virtual Display Driver的方案能快速做一個假螢幕出來，用xrandr來虛擬螢幕又好麻煩，所以最後我是用HDMI欺騙器來替代實體的螢幕了。\n由於Sunshine是跨平台軟體，本文的作法應該也可以套用到Windows虛擬機，但既然已經有Looking Glass Host for Windows方案那就不是很必要這麼做了，除非你想要遠端串流玩虛擬機內的遊戲！Sunshine跟Looking Glass的系統服務可以同時運作，沒問題的。\n1. 環境 # 宿主機：Ubuntu Desktop 24.04 LTS 虛擬機：Fedora Workstation 40 實體螢幕x1 實體副螢幕x1 HDMI欺騙器x1 為了確保驅動有正常運作，還是有準備一個實體螢幕供測試，確認沒問題後才換成HDMI欺騙器。\n2. 設定過程 # 開啟Virt Manager，安裝Fedora虛擬機，於GNOME系統設定勾選自動登入帳號。順便設定SSH服務以防萬一。\n用virsh指令固定虛擬機的IP位址\n設定Nvidia GPU直通，將Nvidia GPU分配給Fedora虛擬機\n接上實體副螢幕，開機，在Fedora虛擬機內用DNF安裝Nvidia驅動\n如果虛擬機同時有QXL和實體螢幕的話可能會沒畫面，故得將顯示卡和SPICE元件移除（請檢查xml）。\n移除SPICE後滑鼠鍵盤就沒辦法自動切到虛擬機內了，得使用「新增USB硬體」將滑鼠直通進去。這時需要準備二支滑鼠。\n於Fedora虛擬機安裝Sunshine服務，設定開機登入後自動啟動。\n嘗試啟動Sunshine服務，並用Linux宿主機的Moonlight客戶端配對連線。\n確認一切OK後，虛擬機關機。實體副螢幕換成HDMI欺騙器。\n這樣日後只要虛擬機按開機，等待Sunshine服務啟動就可以連線啦～ ","date":"2024年7月24日","externalUrl":null,"permalink":"/posts/run-sunshine-in-qemu-kvm/","section":"所有文章","summary":"我想要在直通GPU的Linux虛擬機玩遊戲，又不想要接二個實體螢幕。希望能在虛擬機開機後，在Linux宿主機開一個視窗存取虛擬機的桌面。\n有試過Looking Glass Host for Linux的方案，但是不好安裝，或者說作者根本就不在乎Windows以外的系統，故我改用較為成熟的Sunshine遊戲串流。\n只要直通GPU給虛擬機，再安裝Sunshine，就可以把Linux電腦桌面串流到Linux宿主機的Moonlight客戶端了。又因為是區域網路，1080p60串流幾乎沒延遲！ 從Ubuntu宿主機桌面，存取Fedora虛擬機桌面的Steam客戶端\n至於螢幕部份，Linux沒有Virtual Display Driver的方案能快速做一個假螢幕出來，用xrandr來虛擬螢幕又好麻煩，所以最後我是用HDMI欺騙器來替代實體的螢幕了。\n由於Sunshine是跨平台軟體，本文的作法應該也可以套用到Windows虛擬機，但既然已經有Looking Glass Host for Windows方案那就不是很必要這麼做了，除非你想要遠端串流玩虛擬機內的遊戲！Sunshine跟Looking Glass的系統服務可以同時運作，沒問題的。\n1. 環境 # 宿主機：Ubuntu Desktop 24.04 LTS 虛擬機：Fedora Workstation 40 實體螢幕x1 實體副螢幕x1 HDMI欺騙器x1 為了確保驅動有正常運作，還是有準備一個實體螢幕供測試，確認沒問題後才換成HDMI欺騙器。\n","title":"Sunshine裝在QEMU/KVM虛擬機裡，從Linux宿主機串流玩遊戲","type":"posts"},{"content":"分享如何在Linux電腦 ＆ Steam Deck遊玩《戀活》。 《戀活》(コイカツ！/ Koikatsu Party)為日本ILLUSION開發的成人戀愛遊戲，2018年發售Windows版。本遊戲以高自由度的捏角機制聞名，什麼動漫角色外觀都能做出來。玩家還可以下載角色卡導入其他玩家做好的動漫角色，然後開始H。除此之外還有數量龐大的模組能增進遊戲畫面效果。\n戀活有在Steam上架，Linux得透過Wine執行。ProtonDB顯示支援狀況良好，就連Chara Studio也正常執行～ 系列作《戀活Sunshine》也是能在Linux玩的，操作過程類似。\n戀活執行於Fedora Linux\nChara Studio執行於Fedora Linux\n由於Linux比較輕量，個人感覺《戀活》在Linix的執行效率比Windows要快一些些。\n但是呢，老司機都說要玩就玩已經打好模組的整合包，且Steam的版本跟官網的有差，故這裡使用ScrewThisNoise發表的「Koikatsu BetterRepack」。Steam的正版當作購買支持用。\n下面講的《戀活》皆是指Koikatsu BetterRepack的版本。\n1. 戀活硬體需求 # 雖然是小黃遊，但這遊戲容量一點都不小，至少需要準備20GB的硬碟空間才裝得下。\n為達最好體驗（？）Linux電腦需要搭配Nvidia GTX1050Ti以上獨顯才跑得動高品質3D畫面。Steam Deck的AMD RDNA 2勉強達標。\n2. 將戀活主程式加入到Steam # 執行遊戲的程式可使用Bottles或者Steam，這裡選擇後者。\n此處使用的版本為Koikatsu BetterRepack RX21，遊戲都含在一個目錄之下，遊戲主程式為Koikatu.exe。\n將戀活的遊戲目錄放到任意路徑，例如~/Games\n參考新增非Steam遊戲的方法，點選新增非Steam遊戲 選取戀活exe所在路徑，只要加入Koikatu.exe就好了。其他輔助程式先不要加入。 接著對新增的戀活按右鍵，設定Steam相容性工具，選取Proton 9.0 嘗試啟動遊戲。\n這樣Steam就會給《戀活》建立一個新的Proton Prefix了，位於Steam收藏庫目錄/steamapps/compatdata/Steam遊戲ID/pfx/\n不過戀活的遊戲存檔資料是跟著遊戲跑的，會放在戀活遊戲目錄/UserData/save\n目前觀測到的問題：X11桌面，Proton 9.0，滑鼠一移開《戀活》遊戲視窗，就會導致遊戲整個當掉無回應。但切換到Wayland桌面就不會。\n3. 打補丁程式的執行方式 # 參考：How to play/use Koikatsu \u0026amp; KKManager on Linux - Steam Community\n如果覺得以下操作太麻煩，那麼在Windows電腦裝完模組，再將Koikatu目錄移動到Linux也是個作法。\n模組不保證能在Linux正常運作\n如果使用裝好模組的《戀活》整合包，那麼直接對Steam收藏庫的戀活按右鍵，選內容，編輯Steam遊戲啟動選項，加入以下參數：WINEDLLOVERRIDES=\u0026quot;winhttp=n,b\u0026quot; %command%，這樣BepInEX才能正常運作。 啟動遊戲的時候應該會看到載入模組的小視窗。 若要手動安裝HF Patch、kPlug、KK Manager、Chara Studio，這類輔助程式都是使用Protontricks執行，不要用Steam啟動。\n為什麼呢？如果新增為Steam遊戲，Steam會給每個exe新增獨立的Proton Prefix容器，這樣程式資料就會被隔離。但是這裡的工具是要調整Koikatu.exe這個程式所在的環境，所以改用ProtonTricks執行，才可以對Koikatu.exe起作用。\n舉例：要執行InitSetting.exe調整遊戲解析度，再從這裡啟動遊戲，請在Linux的檔案管理員找到exe，按右鍵以Protontricks Launcher啟動，再選取Koikatu.exe所在的容器。 再如執行HF Patch安裝程式的時候，也得注意將安裝路徑設定為Koikatu.exe所在的那個目錄。\nKK Manager可能需要安裝.NET Framework套件才能啟動：\nprotontricks -q dotnet46 --no-background-wineserver protontricks -q dotnet462 --no-background-wineserver 4. 戀活模組路徑 # 跟Windows下無異。\n如果要裝自訂角色卡，就把PNG檔放到戀活遊戲目錄/UserData/chara/即可。 ","date":"2024年7月24日","externalUrl":null,"permalink":"/posts/koikatsu-on-linux/","section":"所有文章","summary":"分享如何在Linux電腦 ＆ Steam Deck遊玩《戀活》。 《戀活》(コイカツ！/ Koikatsu Party)為日本ILLUSION開發的成人戀愛遊戲，2018年發售Windows版。本遊戲以高自由度的捏角機制聞名，什麼動漫角色外觀都能做出來。玩家還可以下載角色卡導入其他玩家做好的動漫角色，然後開始H。除此之外還有數量龐大的模組能增進遊戲畫面效果。\n戀活有在Steam上架，Linux得透過Wine執行。ProtonDB顯示支援狀況良好，就連Chara Studio也正常執行～ 系列作《戀活Sunshine》也是能在Linux玩的，操作過程類似。\n戀活執行於Fedora Linux\nChara Studio執行於Fedora Linux\n由於Linux比較輕量，個人感覺《戀活》在Linix的執行效率比Windows要快一些些。\n但是呢，老司機都說要玩就玩已經打好模組的整合包，且Steam的版本跟官網的有差，故這裡使用ScrewThisNoise發表的「Koikatsu BetterRepack」。Steam的正版當作購買支持用。\n下面講的《戀活》皆是指Koikatsu BetterRepack的版本。\n1. 戀活硬體需求 # 雖然是小黃遊，但這遊戲容量一點都不小，至少需要準備20GB的硬碟空間才裝得下。\n","title":"Linux系統玩《戀活》，安裝HF Patch模組","type":"posts"},{"content":"","date":"2024年7月24日","externalUrl":null,"permalink":"/tags/minecraft-shader/","section":"標籤","summary":"","title":"Minecraft Shader","type":"tags"},{"content":"想要提昇Minecraft基岩版的畫面品質嗎，你需要安裝光影資源包！\n參考下圖安裝光影資源包的前後對比效果，由此可見光影可以大幅提昇遊戲質感！ Poggy\u0026rsquo;s Luminous Dreams光影 BSBE Deferred光影 YSS SE光影\n下面由Ivon為您解說如何在Windows、Android、iOS系統安裝光影包。\n註解：本文討論的是光影資源包(shader，著色器)，不是RTX光線追蹤。著色器最大的特色是跨平台，但沒有RTX真實物理效果的影子。為了方便稱呼，我仍將著色器稱呼為光影包。\n1. 玩光影的硬體需求？ # 光影主要吃的是GPU運算能力，雖然沒有像RTX一樣限定顯示卡型號，但是建議準備高檔一點的硬體：\n電腦：搭載Nvidia GTX1050Ti以上等級的顯示卡。\n手機：處理器性能最好在高通Snapdragon 865以上等級。\n2. Minecraft基岩版光影包現況 # 一直以來，Minecraft基岩版都有厲害的開發者撰寫光影模組，提昇玩家的視覺體驗。\n光影背後是使用GLSL/HLSL語言寫成，透過資源包的方式載入光影模組，不論Android、iOS、Windows平台的玩家都可以享受到高級體驗。\n相關文章：Minecraft GLSL光影安裝方法 但是，基岩版的光影模組在1.18之後出現了重大變化。\n2020年，Mojang為了開發RTX光線追蹤功能，率先在Minecraft基岩版Windows版實裝了新版「Render Dragon」渲染引擎。Render Dragon可以翻譯為「渲染龍」。\n2022年，在Minecraft基岩版更新到1.18之後，全部平台（Android、iOS、Windows、主機版）都改用Render Dragon當渲染引擎了，導致以前GLSL/HLSL寫成的光影包全部失效。\nRender Dragon推出後有一段時間缺乏官方文件，開發者靠北程式很難移植，一時間基岩版幾無沒有光影可用。\n直到2023年，Mojang承諾會在Minecraft 1.21推出更多光影新功能，例如PBR凹凸材質、Blooming光暈、Tone mapping色調映射、Deferred Lighting延遲渲染等等。\n接著2024年才有開發者陸續推出了畫面品質不錯的Render Dragon光影。 2025年，Windows版Minecraft 1.21加入了「絢麗視覺」的選項，遊戲開始內建基本的光影效果了。\n3. 如何安裝Render Dragon光影包 # 承上文，在這裡「Render Dragon」代表的是一種渲染引擎技術，不是光影包的名字。\nRender Dragon光影包需要Minecraft 1.21以上版本，理論上是全平台通用，沒有分電腦版和手機版。\n撰文當下我是使用Windows版的Minecraft Preview 1.21測試的。\n安裝方法很簡單，只要下載到Render Dragon光影包的.mcpack檔。\n再參照Minecraft Add-On包的裝法載入到遊戲就可以了。\n你可能要在世界的選項啟用「實驗性玩法」。 並在進入世界後，按遊戲設定 → 視訊 → 畫面模式，啟用「延遲渲染預覽」才會有效果。 4. 推薦的Render Dragon光影包 # 目前Render Dragon的光影包正在剛起步的階段。撰文當下我是使用Windows版的Minecraft Preview 1.21測試的。\n在Minecraft 1.21推出延遲渲染技術後，已經有不錯的Render Dragon光影出現了！\n例如XxPoggyisLitxX推出的Poggy\u0026rsquo;s Luminous Dreams，效果很棒。 你可以在mcpedl.com shaders和mcpedl.com texture packs下載更多光影包。\n參考資料 # 2024年07月09日 List of shaders and related information, files, etc. that are compatible with RenderDragon. 2024年04月19日 Getting Started with Deferred Lighting 2023年09月27日 Introduction to Physically Based Rendering 2023年08月01日 New Render Dragon Features for Creators 2020年12月08日 Minecraft with ray tracing on Windows 10 launch today ","date":"2024年7月24日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-render-dragon-shader-pack/","section":"Minecrafts","summary":"想要提昇Minecraft基岩版的畫面品質嗎，你需要安裝光影資源包！\n參考下圖安裝光影資源包的前後對比效果，由此可見光影可以大幅提昇遊戲質感！ Poggy’s Luminous Dreams光影 BSBE Deferred光影 YSS SE光影\n下面由Ivon為您解說如何在Windows、Android、iOS系統安裝光影包。\n註解：本文討論的是光影資源包(shader，著色器)，不是RTX光線追蹤。著色器最大的特色是跨平台，但沒有RTX真實物理效果的影子。為了方便稱呼，我仍將著色器稱呼為光影包。\n1. 玩光影的硬體需求？ # 光影主要吃的是GPU運算能力，雖然沒有像RTX一樣限定顯示卡型號，但是建議準備高檔一點的硬體：\n電腦：搭載Nvidia GTX1050Ti以上等級的顯示卡。\n手機：處理器性能最好在高通Snapdragon 865以上等級。\n2. Minecraft基岩版光影包現況 # 一直以來，Minecraft基岩版都有厲害的開發者撰寫光影模組，提昇玩家的視覺體驗。\n光影背後是使用GLSL/HLSL語言寫成，透過資源包的方式載入光影模組，不論Android、iOS、Windows平台的玩家都可以享受到高級體驗。\n","title":"Minecraft基岩版 Render Dragon 光影包安裝教學","type":"minecraft"},{"content":"","date":"2024年7月23日","externalUrl":null,"permalink":"/tags/attack-on-titan/","section":"標籤","summary":"","title":"Attack on Titan","type":"tags"},{"content":" 當時《進擊的巨人》第一季動畫最火紅的時候，非官方開發的二創同人遊戲很多啊，比如Android手機有T_DASH開發的《反撃の刃》《疾風の翼》，全3D建模！比起官方正版授權的糞手遊要好多了。 這款《巨人的獵手》(AoTTG) 則是2013年推出的電腦遊戲，完成度很高。2014年的時候我看同學有在電腦課玩這個。 雖說身形Q版，但是遊戲性一點都不會少！幾乎所有角色都有出現，還原原作劇情任務，還可以自由控制立體機動裝置、變身成巨人、多人連線，體驗砍殺巨人的快感。論遊戲性已經很接近官方出的進擊的巨人主機遊戲了。\n本文分享的是修改版《巨人的獵手》，現在還有玩家打算推出續作！\n1. 下載《巨人的獵手》 # 《巨人的獵手》原作者為中國開發者Feng Lee，使用Unity寫的，似乎還有人移植成Flash網頁版。可是原版到2016年就沒更新了，原始官網也已不可存取。\n後來有玩家推出修改版「Attack on Titan Tribute Game - RC Mod」，簡稱AoTTG，方便自訂遊戲內容。\n《巨人的獵手》支援Windows與Mac系統；Linux則是可以使用Wine執行。\n遊戲不需要太高級的硬體也可以玩。\n到這裡：https://aotrc.weebly.com/download.html 下載AottgRC64.zip檔案，解壓縮後點選AottgRC.exe就可以玩了。此版本的《巨人的獵手》只有英文界面。\n2. 《巨人的獵手》玩法 # 可操控的角色：艾連（可巨人化）、米卡莎、里維、阿爾敏、馬可、約翰、佩托拉、莎夏。另有三格可以自訂角色。\nWASD控制方向 空白鍵：跳躍、使用立體機動裝置瓦斯 Q：射出左邊的鉤子 E：射出右邊的鉤子 滑鼠左鍵：攻擊 滑鼠右鍵：特殊攻擊 N：聊天訊息 C：調整鏡頭 T：重置遊戲 P：暫停 X：顯示滑鼠 R：更換刀刃 Backspace：全螢幕 打倒巨人的方法，當然就是砍後頸。關於詳細操作方法，Youtube上有很多攻略，比如這部示範影片\n3. RC Mod的特殊功能 # RC Mod提供以下功能：\n自訂皮膚（遊戲中按P，點選Human Skins，載入網址。皮膚可到Attack on Titan Custom Skins下載） 自訂地圖 開啟小地圖 多人遊戲ban人指令 控制巨人數量 4. 續作《巨人的獵手》2 # 《巨人的獵手》只有做到亞妮的女巨人、吉克的野獸巨人、貝爾托特的超大型巨人、艾連的進擊的巨人。\n因應《進擊的巨人》動畫完結，世界各地的玩家便決定將剩下的九大巨人補完。\n2024年進度預告片\n專案開發進度請到這裡追蹤：https://github.com/AoTTG-2/AoTTG-2\nDiscord討論群組：https://discord.com/invite/GhbNbvU\n","date":"2024年7月23日","externalUrl":null,"permalink":"/posts/aottg-attack-on-titan-tribute-game/","section":"所有文章","summary":" 當時《進擊的巨人》第一季動畫最火紅的時候，非官方開發的二創同人遊戲很多啊，比如Android手機有T_DASH開發的《反撃の刃》《疾風の翼》，全3D建模！比起官方正版授權的糞手遊要好多了。 這款《巨人的獵手》(AoTTG) 則是2013年推出的電腦遊戲，完成度很高。2014年的時候我看同學有在電腦課玩這個。 雖說身形Q版，但是遊戲性一點都不會少！幾乎所有角色都有出現，還原原作劇情任務，還可以自由控制立體機動裝置、變身成巨人、多人連線，體驗砍殺巨人的快感。論遊戲性已經很接近官方出的進擊的巨人主機遊戲了。\n本文分享的是修改版《巨人的獵手》，現在還有玩家打算推出續作！\n1. 下載《巨人的獵手》 # 《巨人的獵手》原作者為中國開發者Feng Lee，使用Unity寫的，似乎還有人移植成Flash網頁版。可是原版到2016年就沒更新了，原始官網也已不可存取。\n後來有玩家推出修改版「Attack on Titan Tribute Game - RC Mod」，簡稱AoTTG，方便自訂遊戲內容。\n《巨人的獵手》支援Windows與Mac系統；Linux則是可以使用Wine執行。\n遊戲不需要太高級的硬體也可以玩。\n到這裡：https://aotrc.weebly.com/download.html 下載AottgRC64.zip檔案，解壓縮後點選AottgRC.exe就可以玩了。此版本的《巨人的獵手》只有英文界面。\n","title":"來玩進擊的巨人二創遊戲《巨人的獵手》，附下載點","type":"posts"},{"content":"Passing Nvidia GPU back to the host after GPU Passthrough without rebooting the host.\nGPU直通：將Nvidia GPU從Linux系統除外（隔離），綁給VFIO核心模組，好讓Windows的QEMU/KVM虛擬機能夠使用Nvidia GPU玩遊戲。\n我發動：遊戲王陷阱卡「來自異次元的歸還」！支付一半生命值，從自己的除外牌組盡可能特殊召喚怪獸到自己場上，這個回合結束之後怪獸移除。 在我們將Nvidia GPU直通給Windows虛擬機之後，要是透過blacklist kernel module來隔離GPU，Linux宿主機就無法使用Nvidia GPU了。那麼可不可以在虛擬機關機之後，不重開機，讓Linux暫時重新存取Nvidia GPU呢？\n做得到，但是不直觀。\n在不重開機情況下，將Nvidia GPU解除vfio-pci綁定，再載入Nvidia核心模組即可重新讓宿主機存取顯示卡。相反地，虛擬機需要顯示卡的話就得將其手動綁回去。\n本文Ivon討論的僅僅是讓宿主機「暫時」取回GPU的作法，不是解除GPU直通的狀態。重開機後GPU依然是維持直通給虛擬機的樣子。\n1. 設定Nvidia GPU直通 # 系統：Ubuntu 24.04 Nvidia閉源驅動版本：550 這台電腦已經設定好Nvidia GPU直通，並未解除安裝Linux宿主機的Nvidia閉源驅動。\nNvidia閉源驅動建議用DKMS安裝，這樣它會跟著Linux核心自動更新。否則，若在GPU直通的情況下更新Linux系統，那Nvidia驅動可能就會消失。\n如果Nvidia閉源驅動已經解除安裝，那麼你得將GPU直通完全解除，再嘗試用APT安裝Nvidia驅動。\n2. 參考性解法：從blacklist改用softdep # 以前的作法是透過在/etc/modprobe.d/blacklist.conf ，blacklist nvidia核心模組的方式禁止Nvidia驅動載入，方便GPU直通給虛擬機。不過其實只要透過softdep機制，讓vfio-pci先載入就夠了。不用完全封鎖Nvidia的驅動。\n不過即使是這樣做，被VFIO綁住的顯示卡依然無法在宿主機輸出畫面。所以依然需要使用以下指令解除VFIO綁定，並載入驅動核心模組。\n3. 將GPU還給宿主機 # 本節內容參考自bryansteiner的作法，雖然可以用libvirt hook自動化執行，也就是告訴Libvirt在虛擬機關機後就把GPU還給宿主機使用，可是我測試有時候會卡死，所以只好手動執行。\n將Windows虛擬機關機。\n執行指令sudo lspci -nnk，應該會看到正在使用Nvidia GPU的是vfio-pci核心模組\n01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82] (rev a1) Subsystem: ASUSTeK Computer Inc. GP107 [GeForce GTX 1050 Ti] [1043:85d6] Kernel driver in use: vfio-pci Kernel modules: nvidiafb, nouveau 01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1) Subsystem: ASUSTeK Computer Inc. GP107GL High Definition Audio Controller [1043:85d6] Kernel driver in use: vfio-pci Kernel modules: snd_hda_intel 執行指令nvidia-smi，應該會顯示無法偵測到 NVIDIA-SMI has failed because it couldn\u0026#39;t communicate with the NVIDIA driver 利用virsh指令，解除綁定vfio-pci裝置（pci_0000_01_00_0來自lspci結果） sudo virsh nodedev-reattach pci_0000_01_00_0 sudo virsh nodedev-reattach pci_0000_01_00_1 取消載入vfio核心模組（如果無法移除，用指令lsmod | grep vfio看是哪些核心模組在干擾，並確認移除的順序正確） sudo modprobe -r vfio_pci sudo modprobe -r vfio_iommu_type1 sudo modprobe -r vfio 嘗試載入Nvidia核心模組 # 若無安裝閉源驅動只需載入：sudo modprobe nouveau sudo modprobe nvidia_modeset sudo modprobe nvidia_uvm sudo modprobe nvidia 執行指令sudo lspci -nnk，應該會看到正在使用Nvidia GPU的變回nvidia核心模組 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82] (rev a1) Subsystem: ASUSTeK Computer Inc. GP107 [GeForce GTX 1050 Ti] [1043:85d6] Kernel driver in use: nvidia Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia 01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1) Subsystem: ASUSTeK Computer Inc. GP107GL High Definition Audio Controller [1043:85d6] Kernel modules: snd_hda_intel 執行nvidia-smi指令看能不能檢測到顯示卡資訊。 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 550.90.07 Driver Version: 550.90.07 CUDA Version: 12.4 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA GeForce GTX 1050 Ti Off | 00000000:01:00.0 Off | N/A | | 29% 37C P8 N/A / 75W | 4MiB / 4096MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ 之後可能要重新啟動桌面環境，應用程式才會用Nvidia顯示卡渲染。不然你就得用Nvidia prime-run指令強迫應用程式用Nvidia顯示卡渲染了，參見Nvidia PRIME用法 3. 把GPU直通回虛擬機 # 將步驟倒過來做\nsudo modprobe -r nvidia_modeset sudo modprobe -r nvidia_uvm sudo modprobe -r nvidia sudo modprobe vfio_pci sudo modprobe vfio_iommu_type1 sudo modprobe vfio sudo virsh nodedev-detach pci_0000_01_00_0 sudo virsh nodedev-detach pci_0000_01_00_1 參考資料 # bryansteiner/gpu-passthrough-tutorial - GitHub ","date":"2024年7月22日","externalUrl":null,"permalink":"/posts/gpu-passthrough-past-nvidia-gpu-back-to-host/","section":"所有文章","summary":"Passing Nvidia GPU back to the host after GPU Passthrough without rebooting the host.\nGPU直通：將Nvidia GPU從Linux系統除外（隔離），綁給VFIO核心模組，好讓Windows的QEMU/KVM虛擬機能夠使用Nvidia GPU玩遊戲。\n我發動：遊戲王陷阱卡「來自異次元的歸還」！支付一半生命值，從自己的除外牌組盡可能特殊召喚怪獸到自己場上，這個回合結束之後怪獸移除。 在我們將Nvidia GPU直通給Windows虛擬機之後，要是透過blacklist kernel module來隔離GPU，Linux宿主機就無法使用Nvidia GPU了。那麼可不可以在虛擬機關機之後，不重開機，讓Linux暫時重新存取Nvidia GPU呢？\n做得到，但是不直觀。\n在不重開機情況下，將Nvidia GPU解除vfio-pci綁定，再載入Nvidia核心模組即可重新讓宿主機存取顯示卡。相反地，虛擬機需要顯示卡的話就得將其手動綁回去。\n本文Ivon討論的僅僅是讓宿主機「暫時」取回GPU的作法，不是解除GPU直通的狀態。重開機後GPU依然是維持直通給虛擬機的樣子。\n1. 設定Nvidia GPU直通 # 系統：Ubuntu 24.04 Nvidia閉源驅動版本：550 這台電腦已經設定好Nvidia GPU直通，並未解除安裝Linux宿主機的Nvidia閉源驅動。\n","title":"虛擬機直通Nvidia GPU後讓Linux宿主機重新使用GPU","type":"posts"},{"content":" 一般素色的矽膠滑鼠墊，有突起地方可以墊手腕，防止手腕隧道症候群。而胸部滑鼠墊（おっぱいマウスパッド，oppai mousepad）就是在滑鼠墊上做隆起的兩顆球並印上圖片。\n這個買來要幹嘛，沒、沒有，我不覺得廉價布料的可以用來模擬乳交什都的，除非是泳衣戀物癖，據說滑鼠墊材質跟死庫水一樣。\n誰說胸部滑鼠墊只能放胸部圖片？這個隆起的部位可以放胸部，或者乳交雙飛，沒有胸就放屁股，或者小穴正面，或者孕肚，甚至男性胸肌也行（大概只有腐女會喜歡）。 話說還真的有邊乳交邊抽插的飛機杯：委員長の早熟おっぱい 1. 準備客製化滑鼠墊圖片 # 就跟買客製化衣服一樣，客製化的店鋪網路上到兩顆巨大圓球隆起，那手不就真的被夾住不能動了嗎？\n理想上，印刷的圖片應該是要正面照，角色的臉和胸部正面讀者，通常是抱枕圖(dakimakura)居多。\n為了方便印刷，圖片解析度最好4000x4000像素以上。至於高解析的圖要去哪裡找？使用SauceNao反查來源，到Pixiv、Danbooru、Gelbooru下載就行。如果原始圖片解析度真的不夠高，再自行用RealESRGAN放大。\n2. 預覽滑鼠墊的PSD素材 # 準備好圖片後，還要記得預覽滑鼠墊的樣子。有些廠商會做給你看，但你可以自行用範本試試，比如美國網站Diipoo有提供PSD素材範本：4 Oppai Mousepad Templates You Need In Your Otaku Life\n如下圖，紅色線是出血線，這部份是預留空間，不要讓重要的部份跑到這個範圍。橘線為要隆起的部位。 使用支援圖層的修圖軟體疊疊看，正面的圖片有些要自行旋轉喬一下。這樣可以知道大概成品樣子。\n簡單南部P範例：\nCrowView 神威補給妊務 ","date":"2024年7月22日","externalUrl":null,"permalink":"/posts/custom-hentai-mousepad/","section":"Nsfws","summary":" 一般素色的矽膠滑鼠墊，有突起地方可以墊手腕，防止手腕隧道症候群。而胸部滑鼠墊（おっぱいマウスパッド，oppai mousepad）就是在滑鼠墊上做隆起的兩顆球並印上圖片。\n這個買來要幹嘛，沒、沒有，我不覺得廉價布料的可以用來模擬乳交什都的，除非是泳衣戀物癖，據說滑鼠墊材質跟死庫水一樣。\n誰說胸部滑鼠墊只能放胸部圖片？這個隆起的部位可以放胸部，或者乳交雙飛，沒有胸就放屁股，或者小穴正面，或者孕肚，甚至男性胸肌也行（大概只有腐女會喜歡）。 話說還真的有邊乳交邊抽插的飛機杯：委員長の早熟おっぱい 1. 準備客製化滑鼠墊圖片 # 就跟買客製化衣服一樣，客製化的店鋪網路上到兩顆巨大圓球隆起，那手不就真的被夾住不能動了嗎？\n","title":"胸部滑鼠墊除了胸部還能放哪些圖","type":"nsfw"},{"content":"「XtMapper」是一款開源按鍵映射APP，支援Android 9以上系統。 這個APP特別適合用在Bliss OS (Android-x86) 系統玩遊戲之用，很多手遊不支援鍵盤操作，這個APP可將鍵盤按鍵對應成螢幕上的觸控操作，讓你可以在電腦用鍵盤玩手機遊戲。 實際測試影片\n1. 安裝XtMapper # 請到Github安裝最新版\nXtMapper運作條件比較嚴苛，建議在Android-x86實機使用，Waydroid不建議，QEMU/KVM虛擬機也會有問題。\n此外，XtMapper執行時需要Root權限或Shizuku才可以讀取鍵盤事件。\n手把支援度有限。\n2. 新增XtMapper設定檔 # 以Bliss OS 15 搭配 XtMapper 2.1.5 做示範。\n使用前需要開KernelSU賦予Root權限\n點選左上角加號，新增設定檔，給每個應用程式設定按鍵映射規則。 點選Start，再點選Launch APP啟動遊戲，此時滑鼠會變成兩個\n等遊戲啟動之後，再從狀態欄點選編輯 就可以在遊戲畫面設定按鍵映射了 比如在螢幕上搖桿的位置，新增用WASD控制方向的按鈕，以及給各個觸控技能鍵設定對應的鍵盤快捷鍵。\n這裡說明一下「Add Key」是指在螢幕指定位置上加入「觸控操作」，並用對應的鍵盤按鍵觸發「點選」事件。比如新增X鍵，對應螢幕右下角的某個位置的觸控按鈕，就是按X「點選」該螢幕區域。\n在你選取Add Key的按鍵的時候，按任意鍵盤可切換觸發的鍵。\n如果遊戲沒有專門的畫面讓你調整按鍵映射的話，請將遊戲畫面截圖，然後在XtMapper新增設定檔，把圖庫當作要按鍵映射的程式。接著啟動相片庫，在裡面設定按鍵映射。設定好之後，回到XtMapper界面，點選設定檔圖示，把該設定檔的APP指向真正的遊戲APP。 一切設定好之後應該就會起作用。如果操作怪怪的，請強制停止XtMapper APP並重試。\n","date":"2024年7月22日","externalUrl":null,"permalink":"/posts/xtmapper-usage/","section":"所有文章","summary":"「XtMapper」是一款開源按鍵映射APP，支援Android 9以上系統。 這個APP特別適合用在Bliss OS (Android-x86) 系統玩遊戲之用，很多手遊不支援鍵盤操作，這個APP可將鍵盤按鍵對應成螢幕上的觸控操作，讓你可以在電腦用鍵盤玩手機遊戲。 實際測試影片\n1. 安裝XtMapper # 請到Github安裝最新版\nXtMapper運作條件比較嚴苛，建議在Android-x86實機使用，Waydroid不建議，QEMU/KVM虛擬機也會有問題。\n此外，XtMapper執行時需要Root權限或Shizuku才可以讀取鍵盤事件。\n手把支援度有限。\n2. 新增XtMapper設定檔 # 以Bliss OS 15 搭配 XtMapper 2.1.5 做示範。\n使用前需要開KernelSU賦予Root權限\n點選左上角加號，新增設定檔，給每個應用程式設定按鍵映射規則。 點選Start，再點選Launch APP啟動遊戲，此時滑鼠會變成兩個\n等遊戲啟動之後，再從狀態欄點選編輯 就可以在遊戲畫面設定按鍵映射了 比如在螢幕上搖桿的位置，新增用WASD控制方向的按鈕，以及給各個觸控技能鍵設定對應的鍵盤快捷鍵。\n這裡說明一下「Add Key」是指在螢幕指定位置上加入「觸控操作」，並用對應的鍵盤按鍵觸發「點選」事件。比如新增X鍵，對應螢幕右下角的某個位置的觸控按鈕，就是按X「點選」該螢幕區域。\n","title":"XtMapper，開源免費的Android按鍵映射APP","type":"posts"},{"content":"Bliss OS為市面上最為活躍的Android-x86分支，內建Play商店和libhoudini轉譯器，支援最新Android版本與Linux核心。\n背後是由Waydroid（Linux Android容器）的開發者維護。關於BlissOS的介紹請看這篇。\n之前嘗試用QEMU/KVM虛擬機安裝Bliss OS，因為VirGL的bug，體驗一直不是很好，故安裝在實機測試。\n順便看看能否成為舊電腦的替代系統，跟ChromeOS競爭。 1. Bliss OS雙系統的可能安裝方法 # 根據官網文件，Bliss OS雙系統安裝有幾種方法：\n使用Bliss OS發表的安裝工具，在Windows自動掛載映像檔 在磁碟切出一塊分區，給BlissOS安裝。適用Linux + Bliss OS或Windows + Bliss OS的選項 將Bliss OS安裝至Windows的NTFS分區 若為Linux系統且使用GRUB，可手動將Bliss OS的initrd.img放到/boot分區，並手動掛載data.img來安裝。 這裡採用較單純的2.方法裝Bliss OS。\n如果不搞雙系統的話，直接格式化整個硬碟就行了。\n2. 環境 # 電腦：MSI Modern 15 A10RBS CPU：Intel i5-10210u GPU：Intel UHD 620 GPU2：Nvidia MX350 作業系統：Arch Linux 6.9.10 欲安裝的作業系統：Bliss OS 15 我要安裝的是Arch Linux + Bliss OS雙系統。\n從Bliss OS官方文件的相容性列表來看，這台筆電的支援度應該是還行。由於Bliss OS是Linux改造來的，所以硬體相容性的好壞跟在Linux上的表現習習相關。這台筆電我裝過幾個Linux發行版測試，大部份功能Linux核心都有支援，運作良好，只有風扇問題較大。\n此外，Bliss OS尚不支援Nvidia顯示卡，所以這台筆電的Nvidia獨顯自然無用武之處了，所有程式都是用Intel內顯跑。\n這樣看來Bliss OS支援度應該也會不賴\u0026hellip;吧\n3. 準備空間 # 準備128GB的空間給Bliss OS使用。\n確認電腦是使用UEFI開機。\n主系統為Linux，使用LiveUSB gparted縮小EXT4檔案系統。\n若主系統為Windows，使用磁碟管理員縮小C槽的分區，得到一塊未使用的分區。\n4. 安裝Bliss OS # 到Bliss OS官網或者SourceForge下載含有GAPPS的最新版ISO。目前穩定版為Bliss OS 15 （Android 12L）\n檢查檔案完整性防止檔案毀損。再使用Ventoy製作開機隨身碟，將ISO放進去。\n開機進入Bliss OS安裝器，選取Installation 選擇Modifty Partition，選擇空閒的128GB分割區 新增Linux檔案系統分區 選擇將Bliss OS安裝到空閒的128GB分區 安裝GRUB 重開機，在UEFI選單選擇Bliss OS，開機 開機選第一個Bliss OS，進入系統 5. 解決掉一些bug # 不知道是不是bug，Bliss OS 15的系統竟然沒辦法連上使用WPA3加密的Wifi？！\nBliss OS 15抓不到Intel音效卡，參考官方文件，開啟內建的Termux，輸入指令重開機後才成功\nsu cat /proc/asound/cards setprop hal.audio.out 0 至於風扇，即使執行跑分軟體也只有輕微動起來。Linux需要使用寫入EC的核心模組才能調整MSI風扇轉速，看起來沒救了。反正Android不玩遊戲的情況下是不怎麼吃效能啦。\n至於HDMI輸出嘛\u0026hellip;由於這台電腦的HDMI孔是連在Nvidia顯卡上，所以沒畫面。\n除了上述問題外，藍芽、相機、鍵盤快捷鍵都正常運作。\n6. 使用體驗 # Bliss OS 15是基於Android 12L建置的，開機很快，動畫順暢。Android佔用資源確實比Linux和Windows小，不玩遊戲的話不太會發熱。\n開機的時候有Android平板模式和電腦模式的選項。電腦模式蠻微妙的，Android 12L沒有Samsung Dex那麼成熟，APP視窗化用起來還是很詭異。顯然，電腦上的Android 系統還是ChromeOS做的比較好。 遇到強制亂旋轉電腦螢幕的APP，請使用內建的Screen Rotation APP把它轉回來。\n有關Root權限問題？BlissOS內建KernelSU，YASNAC過不了，某些APP可能會認為該裝置不安全，但是大部分偵測root的程式都能開～包含Google Wallet。 雖然系統內建Widevine，但DRM等級只有L3，所以不能看Netflix最高畫質。 7. 玩遊戲體驗 # Intel顯示卡，BlissOS硬體加速有起來，玩3D遊戲沒什麼問題。\nIntel i5-10210u的Geekbench跑分還行～約是中階Android機的水準。 Bliss OS很貼心準備了「滑鼠點擊轉譯成觸控」的選項，以及鍵盤映射器XtMapper，玩某些專為觸控設計的遊戲的時候會很有用。 但鑒於Bliss OS是x86架構，很多遊戲Play商店不給下載，得手動安裝APK。此外需要轉譯的ARM64架構APK有可能因為不相容而隨機崩潰，比如《蔚藍檔案》就沒辦法玩。\n8. 來點Linux環境 # ChromeOS可以用Crostini跑Debian虛擬機，執行電腦版Linux程式。那Bliss OS當然也行啊！\nKernelSU賦予Termux終端機Root權限後，就可以跑chroot環境了！不過BusyBox沒辦法裝，所以我改用比較慢的proot Debian安裝。\n利用Android分割螢幕功能，同時執行Android的Chrome和Linux的Firefox 因為這是x86架構，我們甚至不需要Box64就能直接執行依賴Wine的Windows程式~\n使用Wine64執行foobar2000 9. 結論 # 儘管Bliss OS功能比Android-x86多很多，但絕對不是ChromeOS那樣簡單易用的系統。\nAndroid平板的問題，BlissOS也多半繼承。原生Android沒有針對電腦優化，所以滑鼠用起來還是殘廢樣。再加上APP生態缺乏、ARM到x86的轉譯問題\u0026hellip;Bliss OS勉強能用，但是不夠完美。\n","date":"2024年7月21日","externalUrl":null,"permalink":"/posts/install-bliss-os-on-msi-modern-15-a10/","section":"所有文章","summary":"Bliss OS為市面上最為活躍的Android-x86分支，內建Play商店和libhoudini轉譯器，支援最新Android版本與Linux核心。\n背後是由Waydroid（Linux Android容器）的開發者維護。關於BlissOS的介紹請看這篇。\n之前嘗試用QEMU/KVM虛擬機安裝Bliss OS，因為VirGL的bug，體驗一直不是很好，故安裝在實機測試。\n順便看看能否成為舊電腦的替代系統，跟ChromeOS競爭。 1. Bliss OS雙系統的可能安裝方法 # 根據官網文件，Bliss OS雙系統安裝有幾種方法：\n使用Bliss OS發表的安裝工具，在Windows自動掛載映像檔 在磁碟切出一塊分區，給BlissOS安裝。適用Linux + Bliss OS或Windows + Bliss OS的選項 將Bliss OS安裝至Windows的NTFS分區 若為Linux系統且使用GRUB，可手動將Bliss OS的initrd.img放到/boot分區，並手動掛載data.img來安裝。 這裡採用較單純的2.方法裝Bliss OS。\n如果不搞雙系統的話，直接格式化整個硬碟就行了。\n2. 環境 # 電腦：MSI Modern 15 A10RBS CPU：Intel i5-10210u GPU：Intel UHD 620 GPU2：Nvidia MX350 作業系統：Arch Linux 6.9.10 欲安裝的作業系統：Bliss OS 15 我要安裝的是Arch Linux + Bliss OS雙系統。\n","title":"Bliss OS雙系統實機安裝，MSI Modern 15筆電玩Android-x86遊戲測試","type":"posts"},{"content":"應該很多人用過音樂串流平台，且很多家都有「年度回顧」功能，會顯示過去一年喜歡聽哪些歌，並且還可以分享歌單，尋找跟自己喜歡歌曲的用戶。\n例如這是我的Apple Music 2020年度回顧 還有Youtube Music 2024冬季回顧 不過如果你不想被單一平台綁架呢？很少人會只在一個平台聽音樂吧，比如Ivon自己，除了Spotify、Apple Music、Tidal這些串流平台之外，你可能還會到Youtube聽，或者開foobar2000播放電腦收藏。這個時候聆聽紀錄就會很混亂，如果換個平台年度回顧就掰掰了。\n有沒有辦法將多個平台的音樂聆聽紀錄統整在一起呢？\n於是Ivon找到了last.fm這個網站，它是一個位於英國的社交網站，會將聽過的音樂歷史自動紀錄，供日後回顧。 不論你是在Spotify串流平台聽的，還是Youtube網頁，抑或是離線音樂播放器的音樂，last.fm都能幫你紀錄起來！在聆聽歌曲一段時間後，last.fm就會自動在你的個人頁面產生歌單列表，讓別人查看你最愛哪些歌曲。 追蹤時間長了之後，還可以收到聆聽報告，彙整各方聆聽紀錄，統計你喜歡的是哪些曲風、哪些年代的音樂。 1. last.fm網站功能 # 此處的資料約莫要scrobbling一天後才會整理出來。\n查看最近聽的音樂列表 以及最熱播的專輯、歌手 首頁則是會推薦跟你聽過類似歌曲的人，也會聽哪些歌曲呢？ Neighbors頁面顯示喜好相近的last.fm用戶。 Reports頁面進入詳細的分析模式，讓你了解你喜歡的歌曲是哪些類型的？大部份屬於幾零年代的？ last.fm的Pro方案可幫你整理更詳盡的聆聽報告，我覺得是有點太貴了，所以沒買。\n2. 如何追蹤音樂聆聽紀錄 # 請到http://www.last.fm註冊一個新帳號。\n註：last.fm是私人商業網站，GNU計畫看它不爽建立了https://libre.fm，由Internet Archive贊助，但似乎較少人用的樣子。\n另有ListenBrainz，由非營利組織經營，提供豐富音樂標籤資料庫的，功能不遜於last.fm。\n追蹤音樂聆聽紀錄，last.fm稱其為「scrobbling」，是透過軟體自動傳送目前聆聽的音樂到last.fm伺服器的操作。負責擷取音樂的程式稱之為「Scrobbler」。\nlast.fm官網針對各平台有詳盡的指示，下面挑出一些常見的操作方法。\n串流平台 # Spotify、Tidal支援將帳號連結到last.fm，這樣所有收聽的音樂就會自動上傳上去。\nApple Music可能得使用電腦版iTunes追蹤器才能追蹤音樂聆聽紀錄。\nYoutube Music、Bandcamp用戶，請裝last.fm瀏覽器擴充功能，可自動識別目前聆聽的音樂並回傳資料。Web Scrobbler for Chrome｜Web Scrobbler for Firefox。不過這有機率誤判，可能會把非音樂的影片也傳上去，導致音樂庫出現奇怪的影片標題。\n此外，Android和iOS用戶可安裝last.fm的APP，自動監控目前聆聽的音樂。\n離線音樂播放器 # 許多播放器都有都有Scrobbler擴充功能可以用，像foobar2000有foo_scrobble，Strawberry Music Player可在設定開啟。\n離線聽音樂的用戶，你得先確定自己的音樂檔案有沒有metadata，也就是「演出者資訊」不得為空。如果是一般的mp3可能就沒有這類資訊，那麼Scrobbler不會起作用。 ","date":"2024年7月20日","externalUrl":null,"permalink":"/posts/last-fm-track-my-music/","section":"Musics","summary":"應該很多人用過音樂串流平台，且很多家都有「年度回顧」功能，會顯示過去一年喜歡聽哪些歌，並且還可以分享歌單，尋找跟自己喜歡歌曲的用戶。\n例如這是我的Apple Music 2020年度回顧 還有Youtube Music 2024冬季回顧 不過如果你不想被單一平台綁架呢？很少人會只在一個平台聽音樂吧，比如Ivon自己，除了Spotify、Apple Music、Tidal這些串流平台之外，你可能還會到Youtube聽，或者開foobar2000播放電腦收藏。這個時候聆聽紀錄就會很混亂，如果換個平台年度回顧就掰掰了。\n有沒有辦法將多個平台的音樂聆聽紀錄統整在一起呢？\n於是Ivon找到了last.fm這個網站，它是一個位於英國的社交網站，會將聽過的音樂歷史自動紀錄，供日後回顧。 不論你是在Spotify串流平台聽的，還是Youtube網頁，抑或是離線音樂播放器的音樂，last.fm都能幫你紀錄起來！在聆聽歌曲一段時間後，last.fm就會自動在你的個人頁面產生歌單列表，讓別人查看你最愛哪些歌曲。 追蹤時間長了之後，還可以收到聆聽報告，彙整各方聆聽紀錄，統計你喜歡的是哪些曲風、哪些年代的音樂。 1. last.fm網站功能 # 此處的資料約莫要scrobbling一天後才會整理出來。\n","title":"last.fm自動追蹤多平台的音樂聆聽紀錄，支援Spotify、Youtube Music、Apple Music","type":"music"},{"content":"本頁面列出Stable Diffusion相關的專有名詞，以期討論相關技術的時候能有一個準確的中文術語參考表。\n所有項目皆附上中文翻譯與註釋，以正體中文(臺灣)的翻譯為主。\n術語 # artificial intelligence generated content (AIGC): 生成式人工智慧 ancestral sampling: 祖先取樣，又稱向前取樣 annotation: 標示 batch count: 批次數量 batch size: 批次大小 checkpoint: 存檔點，模型格式，附檔名為.ckpt。又稱大模型。 classifier-free guidance scale (CFG scale): 事前訓練的條件控制生成方法。 CodeFormer: 2022年由Shangchen Zhou等人發表的臉部修復模型。 ComfyUI： 2022年推出的AI生圖軟體，強調節點操作，十分靈活。 conditioning：制約訓練 ControlNet: 2022年由Lvmin Zhang發表，通過加入額外條件來控制擴散模型的神經網路結構。 cross-attention: 分散注意 CUDA：Nvidia推出的專有技術，可利用GPU加速軟體運算。 dataset: 資料集 denoising: 去噪，降噪 diffusion: 擴散 Denoising Diffusion Implicit Models (DDIM): 去噪擴散隱式模型，2022年由Jiaming Song等人發表的取樣方法。 Dreambooth: Google Research和波士頓大學於2022年發表的深度學習模型，用於調整現有的文生圖模型。 embedding: 嵌入 epoch: 時期 Euler Ancestral (Euler a): 基於k-diffusion的取樣方法，使用祖父取樣與歐拉方法步數。可在20~30步數生出好結果。 Euler: 基於k-diffusion的取樣方法，使用歐拉方法步數。可在20~30步數生出好結果。 fine-tune: 微調 float16 (fp16): 半精度浮點數 float32 (fp32): 單精度浮點數 generate：生成圖片 Generative Adversarial Network (GAN)：生成對抗網路，讓兩個神經網路相互博弈的方式進行學習的訓練方法。 GFPGAN: 騰訊於2021年發表的臉部修復模型。 hypernetwork: 超網路 image to image: 圖生圖 inference: 模型推理 inpaint: 局部重繪；圖像修復；內補繪製 interrogator: 圖像理解 k-diffusion: Karras等人於2022年發表的PyTorch擴散模型，基於論文〈Elucidating the Design Space of Diffusion-Based Generative Models〉所實作。 latent diffusion: 潛在擴散 latent space: 潛在空間 Latent Consistency Models (LCM)：2023年發表的新取樣方法。 learning rate: 學習率 Lora beYond Conventional methods, Other Rank adaptation Implementations for Stable diffusion (LyCORIS)： low-rank adaptation (LoRA): 低秩自適應，2023年由Microsoft發表，用於微調大模型的技術。 machine learning: 機器學習 model：模型 negative prompts: 負向提示詞 outpaint: 畫外畫；外補繪製 pickle: 儲存張量的模型格式，副檔名為.pt postprocessing: 後處理 precision: 精度 preprocessing: 預處理 prompts: 提示詞；指令；咒語 PyTorch: 一款開源機器學習庫 safetensors: 副檔名為.safetensors，由Huggingface研發，安全儲存張量的模型格式。 sampling method: 取樣方法 sampling steps: 取樣步數 scheduler: 排程器 seed: 種子碼 Stable Diffusion: 穩定擴散，文生圖模型，2022年由CompVis發表，由U-Net、VAE、Text Encoder三者組成。 Stable Diffusion WebUI: 2022年AUTOMATIC1111推出的AI生圖軟體，以Gradio作為網頁界面。 text encoder: 文本編碼 text to image: 文字生成圖片，文生圖 textual inversion: 文本倒置 tiling: 平鋪 token: 詞元 tokenizer: 標記解析器 Transformers: HuggingFace研發的一系列API，用於輔助PyTorch、TensorFlow、JAX機器學習，可下載最新預訓練的模型。 U-Net：用於影像分割的卷積神經網路 unified predictor-corrector (UniPC): 統一預測校正，2023年發表的新取樣方法。 upscale: 升頻；放大 variational auto encoder (VAE): 變分自動編碼器 weights: 權重 xFormers: 2022年由Meta發表，用於加速Transformers，並減少VRAM佔用的技術。 參考資料 # benlisquare/stable-diffusion-webui-localization-zh_TW dtlnor/stable-diffusion-webui-localization-zh_CN ","date":"2024年7月19日","externalUrl":null,"permalink":"/posts/stable-diffusion-glossary/","section":"Ai-Arts","summary":"本頁面列出Stable Diffusion相關的專有名詞，以期討論相關技術的時候能有一個準確的中文術語參考表。\n所有項目皆附上中文翻譯與註釋，以正體中文(臺灣)的翻譯為主。\n術語 # artificial intelligence generated content (AIGC): 生成式人工智慧 ancestral sampling: 祖先取樣，又稱向前取樣 annotation: 標示 batch count: 批次數量 batch size: 批次大小 checkpoint: 存檔點，模型格式，附檔名為.ckpt。又稱大模型。 classifier-free guidance scale (CFG scale): 事前訓練的條件控制生成方法。 CodeFormer: 2022年由Shangchen Zhou等人發表的臉部修復模型。 ComfyUI： 2022年推出的AI生圖軟體，強調節點操作，十分靈活。 conditioning：制約訓練 ControlNet: 2022年由Lvmin Zhang發表，通過加入額外條件來控制擴散模型的神經網路結構。 cross-attention: 分散注意 CUDA：Nvidia推出的專有技術，可利用GPU加速軟體運算。 dataset: 資料集 denoising: 去噪，降噪 diffusion: 擴散 Denoising Diffusion Implicit Models (DDIM): 去噪擴散隱式模型，2022年由Jiaming Song等人發表的取樣方法。 Dreambooth: Google Research和波士頓大學於2022年發表的深度學習模型，用於調整現有的文生圖模型。 embedding: 嵌入 epoch: 時期 Euler Ancestral (Euler a): 基於k-diffusion的取樣方法，使用祖父取樣與歐拉方法步數。可在20~30步數生出好結果。 Euler: 基於k-diffusion的取樣方法，使用歐拉方法步數。可在20~30步數生出好結果。 fine-tune: 微調 float16 (fp16): 半精度浮點數 float32 (fp32): 單精度浮點數 generate：生成圖片 Generative Adversarial Network (GAN)：生成對抗網路，讓兩個神經網路相互博弈的方式進行學習的訓練方法。 GFPGAN: 騰訊於2021年發表的臉部修復模型。 hypernetwork: 超網路 image to image: 圖生圖 inference: 模型推理 inpaint: 局部重繪；圖像修復；內補繪製 interrogator: 圖像理解 k-diffusion: Karras等人於2022年發表的PyTorch擴散模型，基於論文〈Elucidating the Design Space of Diffusion-Based Generative Models〉所實作。 latent diffusion: 潛在擴散 latent space: 潛在空間 Latent Consistency Models (LCM)：2023年發表的新取樣方法。 learning rate: 學習率 Lora beYond Conventional methods, Other Rank adaptation Implementations for Stable diffusion (LyCORIS)： low-rank adaptation (LoRA): 低秩自適應，2023年由Microsoft發表，用於微調大模型的技術。 machine learning: 機器學習 model：模型 negative prompts: 負向提示詞 outpaint: 畫外畫；外補繪製 pickle: 儲存張量的模型格式，副檔名為.pt postprocessing: 後處理 precision: 精度 preprocessing: 預處理 prompts: 提示詞；指令；咒語 PyTorch: 一款開源機器學習庫 safetensors: 副檔名為.safetensors，由Huggingface研發，安全儲存張量的模型格式。 sampling method: 取樣方法 sampling steps: 取樣步數 scheduler: 排程器 seed: 種子碼 Stable Diffusion: 穩定擴散，文生圖模型，2022年由CompVis發表，由U-Net、VAE、Text Encoder三者組成。 Stable Diffusion WebUI: 2022年AUTOMATIC1111推出的AI生圖軟體，以Gradio作為網頁界面。 text encoder: 文本編碼 text to image: 文字生成圖片，文生圖 textual inversion: 文本倒置 tiling: 平鋪 token: 詞元 tokenizer: 標記解析器 Transformers: HuggingFace研發的一系列API，用於輔助PyTorch、TensorFlow、JAX機器學習，可下載最新預訓練的模型。 U-Net：用於影像分割的卷積神經網路 unified predictor-corrector (UniPC): 統一預測校正，2023年發表的新取樣方法。 upscale: 升頻；放大 variational auto encoder (VAE): 變分自動編碼器 weights: 權重 xFormers: 2022年由Meta發表，用於加速Transformers，並減少VRAM佔用的技術。 參考資料 # benlisquare/stable-diffusion-webui-localization-zh_TW dtlnor/stable-diffusion-webui-localization-zh_CN ","title":"Stable Diffusion相關術語表，中英翻譯對照","type":"ai-art"},{"content":"Turn your Linux PC into a bluetooth receiver and speaker.\n把Linux電腦變成藍牙喇叭接收器的概念，這樣只要將傳統3.5mm喇叭接上電腦，就能將其變身藍牙喇叭，用手機連線播放音樂了。\n本操作適用於有藍牙晶片的Ubuntu Linux電腦與樹莓派。手機端Android或iPhone都行。 原理是利用PipeWire內建的藍牙接收功能，用來接收藍牙訊號，這樣Linux裝置就會變成一個藍牙喇叭，從而用Linux連線到喇叭輸出音樂。\n這有什麼用處呢？除了將傳統喇叭轉成無線喇叭之外，考慮一種特殊的情況：若一個音箱同時支援3.5mm與藍牙播放，但因為省成本緣故，導致藍牙編碼器只支援SBC編碼，這個時候以上的方法能夠提昇無線傳輸時候的音質。\n因為PipeWire是大部分Linux發行版使用的音訊伺服器，不用另外裝軟體就能用。\n論藍牙的音質，如果使用PulseAudio，預設SBC，最多就只有支援到AAC吧。新世代的音訊伺服器「PipeWire」提供更高音質的aptX、LDAC、LC3編碼器，但這也要看你的電腦藍牙晶片是否有支援。\n我在幾台電腦測試，得到不同的結果：\n一台電腦搭載很久以前的高通Atheros QCA9377晶片，沒想到韌體裡面也包含了aptX解碼器，因此安裝後手機有aptX HD編碼可以選。\n另外一台是使用Intel® Wireless-AC 9560晶片，這個就只有AAC編碼可選。\n最後，如果是用電腦內部的藍牙晶片，建議準備天線加強收訊。\n1. 將喇叭接上Linux裝置 # 一般的Linux電腦只要接上3.5mm的端子，確認可以輸出音效就好。\n樹莓派亦同。不過Raspberry Pi 5之後竟然砍掉了3.5mm輸出端子，所以你得買一個USB轉接器才能夠接上喇叭，建議在接上螢幕的情況下操作。沒有圖形界面的情況請嘗試用espeak-ng指令，確認能不能輸出音效。\n2. 調整PulseAudio設定 # 執行以下指令，確認你現在音訊系統使用Pipewire還是PulseAudio。\npactl info 若是PipeWire或PulseAudio on PipeWire，藍牙接收功能應該已經啟動，不需要特別設定就能接收藍牙訊號並播放音樂。\n但若是只有顯示PulseAudio就得手動設定載入藍牙模組。下面以Ubuntu 24.04 LTS為例。\n安裝PulseAudio的藍牙模組 sudo apt install pulseaudio-module-bluetooth 修改PulseAudio設定 sudo vim /etc/pulse/system.pa 在檔案底部寫入內容，設定載入藍牙模組 load-module module-bluetooth-policy load-module module-bluetooth-discover 重新啟動PulseAudio服務 pulseaudio --kill pulseaudio --start 3. 將手機與Linux裝置配對 # 開啟Linux的系統設定，應該會有藍牙的頁面可以開關藍牙。將手機與Linux藍牙配對。 如果你的Linux沒有圖形界面，請嘗試用bluetoothctl控制：\nbluetoothctl # 列出本機藍牙裝置 list # 選取藍牙裝置 select \u0026lt;MAC位址\u0026gt; # 啟動藍牙裝置 power on # 掃描附近裝置 scan on # 配對藍牙裝置 pair \u0026lt;MAC位址\u0026gt; 播放手機音樂的時候選取Linux裝置，聲音就會從Linux的喇叭出來。若Linux電腦的藍牙晶片支援aptX編碼那麼手機端應該也會顯示，像我電腦的藍牙晶片是Qualcomm的，所以手機端能選取aptX編碼。 Linux的pavucontrol面板可以觀察到有手機的播放訊號源 音樂音量是由手機和Linux端同時決定的。如果要從手機控制Linux的音量，安裝KDE Connect，這樣就能夠從手機控制Linux喇叭的音量。 參考資料 # Linux set up bluetooth speaker to stream audio from iOS/Android - nixCraft Using a Raspberry Pi as a Bluetooth speaker with PipeWire - Collabora ","date":"2024年7月19日","externalUrl":null,"permalink":"/posts/linux-pc-as-bluetooth-speaker/","section":"所有文章","summary":"Turn your Linux PC into a bluetooth receiver and speaker.\n把Linux電腦變成藍牙喇叭接收器的概念，這樣只要將傳統3.5mm喇叭接上電腦，就能將其變身藍牙喇叭，用手機連線播放音樂了。\n本操作適用於有藍牙晶片的Ubuntu Linux電腦與樹莓派。手機端Android或iPhone都行。 原理是利用PipeWire內建的藍牙接收功能，用來接收藍牙訊號，這樣Linux裝置就會變成一個藍牙喇叭，從而用Linux連線到喇叭輸出音樂。\n這有什麼用處呢？除了將傳統喇叭轉成無線喇叭之外，考慮一種特殊的情況：若一個音箱同時支援3.5mm與藍牙播放，但因為省成本緣故，導致藍牙編碼器只支援SBC編碼，這個時候以上的方法能夠提昇無線傳輸時候的音質。\n因為PipeWire是大部分Linux發行版使用的音訊伺服器，不用另外裝軟體就能用。\n論藍牙的音質，如果使用PulseAudio，預設SBC，最多就只有支援到AAC吧。新世代的音訊伺服器「PipeWire」提供更高音質的aptX、LDAC、LC3編碼器，但這也要看你的電腦藍牙晶片是否有支援。\n我在幾台電腦測試，得到不同的結果：\n一台電腦搭載很久以前的高通Atheros QCA9377晶片，沒想到韌體裡面也包含了aptX解碼器，因此安裝後手機有aptX HD編碼可以選。\n","title":"Linux＆樹莓派當作藍牙喇叭接收器，電腦播放手機音樂（PipeWire Bluetooth Audio Recevier）","type":"posts"},{"content":"擴充功能(extension)或者自訂節點(custom nodes)是給ComfyUI添加功能的外掛程式，可以在ComfyUI加入各種自定義操作。 此圖使用ComfyUI生成\n1. 指令安裝法 # ComfyUI所有的自訂節點都位於ComfyUI/custom_nodes目錄。\n大部分ComfyUI自訂節點的裝法都是在custom_nodes目錄開啟終端機，之後執行指令git clone 儲存庫網址，再pip install安裝依賴套件。\n2. 圖形界面安裝法 # 上述安裝自訂節點需要打指令太麻煩，所以建議安裝Dr.Lt.Data開發的「ComfyUI Manager」。只要跑一次指令，日後就可以用圖形界面安裝其他ComfyUI自訂節點，它會自動處理git和pip的指令。\nComfyUI Manager尚可以下載模型、使用別人的流程圖、幫你檢查目前流程圖缺少哪些節點並自動下載。\n註解：2024年11月之後，ComfyUI最新版已經內建ComfyUI Manager，你應該不需要手動安裝了。\n安裝Git，全部預設下一步\n開啟ComfyUI/custom_nodes目錄，開啟終端機（Windows為按SHIFT＋右鍵，點選在終端機開啟） 複製ComfyUI Manager儲存庫，完成安裝\ngit clone https://github.com/ltdrdata/ComfyUI-Manager.git 重新啟動ComfyUI，等待依賴套件裝完，之後ComfyUI界面就會出現ComfyUI Manager的圖示 點選Custom Nodes Manager頁面，瀏覽線上自訂節點儲存庫。點選Install即可安裝自訂節點。若有版本可選，建議選latest或者有數字的版本，nightly僅適合除錯用。 如果自訂節點只有Github網址，那麼你也可以按右下角的「Install via Git URL」，自動複製Git儲存庫。\n在你匯入他人的工作流的時候，ComfyUI會自動標記目前缺少哪些擴充功能，然後你就可以在Install Missing Custom Nodes頁面下載缺少的節點： 值得注意的是ComfyUI Manager只能幫你下載「擴充功能」，工作流需要的模型檔你得自己下載。\n","date":"2024年7月19日","externalUrl":null,"permalink":"/posts/comfyui-install-extensions/","section":"Ai-Arts","summary":"擴充功能(extension)或者自訂節點(custom nodes)是給ComfyUI添加功能的外掛程式，可以在ComfyUI加入各種自定義操作。 此圖使用ComfyUI生成\n1. 指令安裝法 # ComfyUI所有的自訂節點都位於ComfyUI/custom_nodes目錄。\n大部分ComfyUI自訂節點的裝法都是在custom_nodes目錄開啟終端機，之後執行指令git clone 儲存庫網址，再pip install安裝依賴套件。\n2. 圖形界面安裝法 # 上述安裝自訂節點需要打指令太麻煩，所以建議安裝Dr.Lt.Data開發的「ComfyUI Manager」。只要跑一次指令，日後就可以用圖形界面安裝其他ComfyUI自訂節點，它會自動處理git和pip的指令。\nComfyUI Manager尚可以下載模型、使用別人的流程圖、幫你檢查目前流程圖缺少哪些節點並自動下載。\n註解：2024年11月之後，ComfyUI最新版已經內建ComfyUI Manager，你應該不需要手動安裝了。\n安裝Git，全部預設下一步\n開啟ComfyUI/custom_nodes目錄，開啟終端機（Windows為按SHIFT＋右鍵，點選在終端機開啟） ","title":"利用ComfyUI Manager安裝擴充功能與自訂節點","type":"ai-art"},{"content":"命令列引數 (commandline arguments) 決定ComfyUI啟動後的行為，可按照您的電腦性能優化效能。\n若無特殊需求不必刻意修改命令列引數，一切使用ComfyUI開發者的預設值就好。\n請先安裝ComfyUI主程式後再來修改。\n1. 常用的命令列引數 # --listen：讓ComfyUI的界面可以從其他區域IP存取，並讓其他程式調用ComfyUI的API來生圖。需開放防火牆8188通訊埠。 --highvram：讓模型在生圖完之後繼續存在VRAM，提昇多次生圖的載入速度。 --medvram：（此選項無效）降低VRAM佔用，每次生圖完後便取消載入大模型以節省VRAM。預設已經啟用所以不用特別加。 --lowvram：試圖進一步降低VRAM佔用，此選項會讓生圖變很慢。 --cpu-vae：用CPU跑VAE，節省VRAM佔用。 --gpu-only：所有東西都用GPU跑，可以加快載入速度，但是VRAM佔用會很高。 --cpu：所有東西都用CPU跑，非常慢。 --windows-standalone-build：專為Windows用戶設計的便捷選項。 --directml：使用DirectML執行，適用AMD與Intel顯示卡用戶。 --front-end-version：要使用的網頁前端，預設使用ComfyUI_frontend，若無請手動指定儲存庫網址。 2. 如何編輯命令列引數 # Linux、macOS # 啟動ComfyUI的指令是python main.py，開發者沒有提供指令稿，所以你得自己寫。\n新增一個Bash指令稿 cd ~/ComfyUI vim start.sh 在後面加上任意命令列引數 #!/bin/bash python main.py --listen 之後透過該指令稿來啟動ComfyUI chmod +x start.sh ./start.sh Windows # 編輯啟動ComfyUI的批次檔。例如開發者提供的ComfyUI_Windows_Nvidia_Portable.7z壓縮檔裡面有一個run_nvidia_gpu.bat\n右鍵「以記事本開啟」\n在main.py最後面加上引數就行\n.\\python_embeded\\python.exe -s ComfyUI\\main.py --windows-standalone-build --listen pause 參考資料 # 參考ComfyUI Python原始碼：ComfyUI/comfy/cli_args.py at master\n","date":"2024年7月19日","externalUrl":null,"permalink":"/posts/comfyui-command-line-arguments/","section":"Ai-Arts","summary":"命令列引數 (commandline arguments) 決定ComfyUI啟動後的行為，可按照您的電腦性能優化效能。\n若無特殊需求不必刻意修改命令列引數，一切使用ComfyUI開發者的預設值就好。\n請先安裝ComfyUI主程式後再來修改。\n1. 常用的命令列引數 # --listen：讓ComfyUI的界面可以從其他區域IP存取，並讓其他程式調用ComfyUI的API來生圖。需開放防火牆8188通訊埠。 --highvram：讓模型在生圖完之後繼續存在VRAM，提昇多次生圖的載入速度。 --medvram：（此選項無效）降低VRAM佔用，每次生圖完後便取消載入大模型以節省VRAM。預設已經啟用所以不用特別加。 --lowvram：試圖進一步降低VRAM佔用，此選項會讓生圖變很慢。 --cpu-vae：用CPU跑VAE，節省VRAM佔用。 --gpu-only：所有東西都用GPU跑，可以加快載入速度，但是VRAM佔用會很高。 --cpu：所有東西都用CPU跑，非常慢。 --windows-standalone-build：專為Windows用戶設計的便捷選項。 --directml：使用DirectML執行，適用AMD與Intel顯示卡用戶。 --front-end-version：要使用的網頁前端，預設使用ComfyUI_frontend，若無請手動指定儲存庫網址。 2. 如何編輯命令列引數 # Linux、macOS # 啟動ComfyUI的指令是python main.py，開發者沒有提供指令稿，所以你得自己寫。\n","title":"如何設定ComfyUI命令列引數","type":"ai-art"},{"content":"以macOS Sonoma為例。搭載Apple Silicon晶片的Mac。\n註：覺得打指令安裝很麻煩嗎？推薦你安裝ComfyUI Desktop 1. 安裝依賴套件 # 在應用程式列表找到終端機 安裝Homebrew\n安裝Git\nbrew install git 透過Homebrew安裝Anaconda，此套件的用意在於鎖定Python版本。 brew install --cask anaconda echo \u0026#39;export PATH=\u0026#34;/usr/local/anaconda3/bin:$PATH\u0026#34; \u0026#39; \u0026gt;\u0026gt; ~/.zshrc source ~/.zshrc conda init zsh 3. 安裝ComfyUI # 用conda建立Python 3.10.6的環境 conda create --name comfyui python=3.10.6 啟動虛擬環境： conda activate comfyui 複製ComfyUI儲存庫到macOS的家目錄（可在Finder → 個人專屬找到） cd ~ git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI Apple Silicon晶片需要安裝PyTorch Nightly版本 pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu 安裝Python依賴套件 pip install -r requirements.txt 將safetensors存檔點模型放到~/ComfyUI/models目錄。 啟動程式，之後用瀏覽器開啟http://127.0.0.1:8188\npython main.py 註解：如果你之後想用指令稿啟動ComfyUI，可以將以下conda的鉤子加入指令稿頂部，這樣就可以自動進入conda環境。\neval \u0026#34;$(conda shell.zsh hook)\u0026#34; conda activate comfyui 4. 如何更新程式 # 拉取最新變更\ncd ~/ComfyUI git pull ","date":"2024年7月19日","externalUrl":null,"permalink":"/posts/comfyui-macos-installation/","section":"Ai-Arts","summary":"以macOS Sonoma為例。搭載Apple Silicon晶片的Mac。\n註：覺得打指令安裝很麻煩嗎？推薦你安裝ComfyUI Desktop 1. 安裝依賴套件 # 在應用程式列表找到終端機 安裝Homebrew\n安裝Git\nbrew install git 透過Homebrew安裝Anaconda，此套件的用意在於鎖定Python版本。 brew install --cask anaconda echo 'export PATH=\"/usr/local/anaconda3/bin:$PATH\" ' \u003e\u003e ~/.zshrc source ~/.zshrc conda init zsh 3. 安裝ComfyUI # 用conda建立Python 3.10.6的環境 conda create --name comfyui python=3.10.6 啟動虛擬環境： conda activate comfyui 複製ComfyUI儲存庫到macOS的家目錄（可在Finder → 個人專屬找到） cd ~ git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI Apple Silicon晶片需要安裝PyTorch Nightly版本 pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu 安裝Python依賴套件 pip install -r requirements.txt 將safetensors存檔點模型放到~/ComfyUI/models目錄。 啟動程式，之後用瀏覽器開啟http://127.0.0.1:8188\npython main.py 註解：如果你之後想用指令稿啟動ComfyUI，可以將以下conda的鉤子加入指令稿頂部，這樣就可以自動進入conda環境。\n","title":"macOS系統安裝ComfyUI，跑Stable Diffusion AI生圖","type":"ai-art"},{"content":"以Windows 11搭配Nvidia顯示卡為例。 此圖使用ComfyUI生成\n註：覺得打指令安裝很麻煩嗎？推薦你安裝ComfyUI Desktop 1. 安裝CUDA # 安裝GeForce Experience，開啟後安裝最新版Nvidia驅動，應會順便安裝CUDA。\n安裝後重開機。\n在Windows應用程式列表搜尋「終端機」或「Powershell」 輸入以下指令，確認CUDA是否有安裝成功，應該會印出版本\nnvcc --version 如果CUDA沒有跟著驅動一起安裝，那麼請手動安裝CUDA Toolkit。 2. 安裝ComfyUI # ComfyUI開發者有提供可攜式版本的壓縮檔，該檔案包含了所有的依賴套件（但是不包含大模型），Nvidia顯示卡的用戶直接解壓縮就能用。\n安裝器若有問題請到ComfyUI的Github儲存庫回報。\n到Github Release下載ComfyUI_windows_portable_nvidia.7z檔 解壓縮。將解壓縮出來的ComfyUI_windows_portable資料夾放到任意路徑，例如桌面。\n這裡解釋一下這個資料夾的結構：最外層的是啟動主程式和主程式的批次檔。而ComfyUI主程式位於ComfyUI資料夾，生圖模型、擴充功能、AI生成的圖片都放在這個資料夾裡面。\n開啟該資料夾，接著將你下載的ckpt或safetensor大模型放到ComfyUI\\models\\checkpoints資料夾 點二下ComfyUI_windows_portable資料夾下的run_nvidia_gpu.bat，執行程式。 終端機視窗會跳出來，等一會後ComfyUI網頁界面就會自動開啟，網址為http://127.0.0.1:8188。程式執行時請不要關閉終端機。 3. 如何更新ComfyUI # 關閉所有執行中的終端機。\n進入update資料夾，點二下update_comfyui.bat，等待完成。\n","date":"2024年7月19日","externalUrl":null,"permalink":"/posts/comfyui-windows-installation/","section":"Ai-Arts","summary":"以Windows 11搭配Nvidia顯示卡為例。 此圖使用ComfyUI生成\n註：覺得打指令安裝很麻煩嗎？推薦你安裝ComfyUI Desktop 1. 安裝CUDA # 安裝GeForce Experience，開啟後安裝最新版Nvidia驅動，應會順便安裝CUDA。\n安裝後重開機。\n在Windows應用程式列表搜尋「終端機」或「Powershell」 輸入以下指令，確認CUDA是否有安裝成功，應該會印出版本\nnvcc --version 如果CUDA沒有跟著驅動一起安裝，那麼請手動安裝CUDA Toolkit。 2. 安裝ComfyUI # ComfyUI開發者有提供可攜式版本的壓縮檔，該檔案包含了所有的依賴套件（但是不包含大模型），Nvidia顯示卡的用戶直接解壓縮就能用。\n安裝器若有問題請到ComfyUI的Github儲存庫回報。\n到Github Release下載ComfyUI_windows_portable_nvidia.7z檔 解壓縮。將解壓縮出來的ComfyUI_windows_portable資料夾放到任意路徑，例如桌面。\n這裡解釋一下這個資料夾的結構：最外層的是啟動主程式和主程式的批次檔。而ComfyUI主程式位於ComfyUI資料夾，生圖模型、擴充功能、AI生成的圖片都放在這個資料夾裡面。\n","title":"Windows系統安裝ComfyUI，跑Stable Diffusion AI生圖","type":"ai-art"},{"content":"Linux本體只是個核心，圖形界面全都是後來加裝的軟體，桌面環境都是由大大小小的套件所構成的。\n各個Linux發行版都會幫你打包好自家的圖形桌面環境(Desktop Envrionment)，方便使用者操作電腦。\n不過Linux世界的桌面環境可不只有一種！\n得益於Linux的自由度，你可以在一台Linux電腦安裝不同的桌面環境，嘗試不同的操作體驗。不用換發行版也能體驗其他的桌面環境。\n例如同時在一台Ubuntu電腦安裝KDE、GNOME、Sway，了解什麼叫做從新手模式進入高手模式的體驗。\n1. 安裝多重桌面環境注意事項 # 系統套件會變很肥，造成管理困難。請神容易送神難，套件依賴過於複雜的情況下要拆掉桌面環境需要費一番功夫。\n有些桌面環境的套件會順便拉自身的附屬應用程式進來，造成電腦多出許多功能重複的軟體。例如看圖軟體、檔案管理器這類的，每個桌面環境有各自的套件。\n還有桌面環境的主題可能會互相干擾，GNOME的程式是使用Adwaita的GTK主題，KDE的Breeze主題會跑掉。\n有些程式會依賴桌面環境的服務來儲存密碼和憑證，換桌面環境可能會噴掉，例如Chrome依賴GNOME鑰匙圈，換成KDE錢包後密碼就得重設。\n如果要不受影響的體驗桌面環境，用QEMU/KVM虛擬機跑其他Linux發行版可能是較好的作法。\n2. 了解桌面版Linux圖形環境的啟動過程 # 電腦開機 → 載入開機服務 →載入顯示管理器 → 啟動桌面環境\n顯示管理器 (Display Manager) 就是你開機後看到的登入畫面，那其實是一個服務，是可以任意替換的。\n可不可以不要載入顯示管理器？可以，那開機就會進入純文字界面(tty)。Linux的桌面環境在tty界面能以指令啟動，但因為現在Linux主流環境正逐漸遷往Wayland，討論startx的用法沒什麼價值。\n通常Linux啟動桌面環境都是丟給顯示管理器處理。Linux的套件管理器會在安裝桌面環境後自動將啟動選項加入到顯示管理器。只要有顯示管理器，就能任意控制要進入的桌面環境，不論是X還是Wayland工作階段都行。 顯示管理器會自動列出可用的桌面環境。此處的重複選項是SDDM的bug\n通常桌面版Linux開機都會啟動圖形服務，以Ubuntu為例，可用以下指令觀察得知，輸出結果應會包含graphical.target與display-manager.target，代表Systemd會載入顯示管理器服務。 sudo systemctl list-units --type=target --all 開機啟動的顯示管理器服務可用Systemd的Display Manager服務控制，每當你啟用新的顯示管理器服務，它就會建立符號連結。\n想知道你目前的顯示管理器為何，請直接讀取以下這個檔案：\ngrep \u0026#39;ExecStart=\u0026#39; /etc/systemd/system/display-manager.service 假如我的顯示管理器是GDM，而我要切換成SDDM，就是先將GDM從開機服務移除，再將GDM服務加入到開機 sudo systemctl disable gdm sudo systemctl enable sddm 3. 顯示管理器列表 Display Manager # GDM：GNOME的顯示管理器 LightDM：XFCE的顯示管理器 SDDM：KDE的顯示管理器 SLiM XDM 4. 桌面環境列表 Desktop Environment # 主流Linux發行版應該都有提供套件，搜尋\u0026quot;how to install xxx desktop on ubuntu\u0026quot;就會找到套件指令。\n比較有名的桌面環境：\nGNOME：最多Linux發行版使用的桌面環境，簡單易用，界面設計風格統一。 KDE Plasma：自訂性極高又漂亮的桌面環境。 XFCE Cinnamon Mate Cosmic：System76自研的桌面環境 LXQT/LXDE：台灣人開發的極簡桌面環境 Budgie Deepin：中國人研發的華麗桌面環境 Unity/Lomiri：曾經是Ubuntu自研的桌面環境 比較有名的X視窗管理器與Wayland合成器：\ndwm：修改原始碼後重新編譯才能調整外觀的視窗管理器。 i3wm：擴充功能生態非常豐富的視窗管理器。 bspwm Xmonad Qtile Openbox IceWM Awesome ratpoison Weston Sway：Wayland版的i3wm Hyprland：預設畫面就很炫砲的Wayland合成器。 River Wayfire 5. 實際操作例子 # 例如我要在Ubuntu（預設使用GNOME）安裝KDE桌面環境： sudo apt install kubuntu-desktop 然後將顯示管理器替換為高自定性的SDDM sudo apt install sddm sudo systemctl enable sddm 重開機。 參考資料 # Desktop environment - ArchWiki Display manager - ArchWiki ","date":"2024年7月19日","externalUrl":null,"permalink":"/posts/install-multiple-desktop-environments-on-linux/","section":"所有文章","summary":"Linux本體只是個核心，圖形界面全都是後來加裝的軟體，桌面環境都是由大大小小的套件所構成的。\n各個Linux發行版都會幫你打包好自家的圖形桌面環境(Desktop Envrionment)，方便使用者操作電腦。\n不過Linux世界的桌面環境可不只有一種！\n得益於Linux的自由度，你可以在一台Linux電腦安裝不同的桌面環境，嘗試不同的操作體驗。不用換發行版也能體驗其他的桌面環境。\n例如同時在一台Ubuntu電腦安裝KDE、GNOME、Sway，了解什麼叫做從新手模式進入高手模式的體驗。\n1. 安裝多重桌面環境注意事項 # 系統套件會變很肥，造成管理困難。請神容易送神難，套件依賴過於複雜的情況下要拆掉桌面環境需要費一番功夫。\n有些桌面環境的套件會順便拉自身的附屬應用程式進來，造成電腦多出許多功能重複的軟體。例如看圖軟體、檔案管理器這類的，每個桌面環境有各自的套件。\n還有桌面環境的主題可能會互相干擾，GNOME的程式是使用Adwaita的GTK主題，KDE的Breeze主題會跑掉。\n有些程式會依賴桌面環境的服務來儲存密碼和憑證，換桌面環境可能會噴掉，例如Chrome依賴GNOME鑰匙圈，換成KDE錢包後密碼就得重設。\n","title":"免重灌系統，Linux安裝多重桌面環境（GNOME、KDE、XFCE、Cinnamon）","type":"posts"},{"content":" 1. 下載生圖模型 # ComfyUI第一次開啟的時候，會提示你下載Stable Diffusion的基礎模型。\n如果你想下載更多不同風格的模型，請參考下載Stable Diffusion模型的網站\n2. ComfyUI模型的路徑 # ComfyUI的模型全部位於自身的models目錄。Checkpoint、ControlNet、VAE、Embedding、HyperNetwork、LoRA、圖片放大等模型也是放到此處。\nCheckpoint模型檔案請放到models/checkpoinits，這樣啟動ComfyUI後就會出現在列表。\nComfyUI允許子目錄分類，所以你的檔案可以這樣放，方便整理不同版本的模型：\n📁models ├── 📁checkpoints │ ├── put_checkpoints_here.txt │ ├── 📁SD1.5 │ │ └── v1-5-pruned-emaonly-fp16.safetensors │ └── 📁SDXL │ └── sd_xl_base_1.0.safetensors ComfyUI在啟動之後會讀取models目錄載入模型，並出現在網頁選單裡面。若在啟動ComfyUI之後又下載了新的模型，不需要重啟程式，只要在ComfyUI網頁界面按一下R鍵，就會自動重新整理模型列表。\n","date":"2024年7月19日","externalUrl":null,"permalink":"/posts/comfyui-download-models/","section":"Ai-Arts","summary":"1. 下載生圖模型 # ComfyUI第一次開啟的時候，會提示你下載Stable Diffusion的基礎模型。\n如果你想下載更多不同風格的模型，請參考下載Stable Diffusion模型的網站\n2. ComfyUI模型的路徑 # ComfyUI的模型全部位於自身的models目錄。Checkpoint、ControlNet、VAE、Embedding、HyperNetwork、LoRA、圖片放大等模型也是放到此處。\nCheckpoint模型檔案請放到models/checkpoinits，這樣啟動ComfyUI後就會出現在列表。\nComfyUI允許子目錄分類，所以你的檔案可以這樣放，方便整理不同版本的模型：\n📁models ├── 📁checkpoints │ ├── put_checkpoints_here.txt │ ├── 📁SD1.5 │ │ └── v1-5-pruned-emaonly-fp16.safetensors │ └── 📁SDXL │ └── sd_xl_base_1.0.safetensors ComfyUI在啟動之後會讀取models目錄載入模型，並出現在網頁選單裡面。若在啟動ComfyUI之後又下載了新的模型，不需要重啟程式，只要在ComfyUI網頁界面按一下R鍵，就會自動重新整理模型列表。\n","title":"ComfyUI的模型路徑 ＆ 如何下載Stable Diffusion生圖模型","type":"ai-art"},{"content":" 1. 電腦硬體需求 # 最低配備 建議配備 註解 顯示卡(GPU) GTX1050 RTX3060 支援Nvidia、AMD、Intel Arc、Apple Silicon的顯示卡，其中Nvidia為最佳選項。 顯示卡視訊記憶體(VRAM) 4GB 8GB 顯示卡的VRAM最低要4GB才不會算到一半記憶體不足，若要訓練模型就得8GB以上了。 記憶體(RAM) 8GB 16GB 您可以啟用分頁檔或掛載SWAP增加系統記憶體。 儲存空間 最低20GB，最好是SSD 處理器(CPU) x86_64架構的Intel或AMD處理器皆可。若為Mac電腦建議使用搭載Apple Silicon晶片的機型。 網路連線 可以正常連線到Github和Youtube的網路 要生成512x512的圖，顯示卡VRAM在4GB以下的很容易遇到記憶體不足的問題，並且生圖速度很慢。\n儘管可以純CPU模式跑，但是速度會非常慢。一張顯示卡30秒就能算好的圖，CPU要算10分鐘。因此用獨立顯示卡跑Stable Diffusion仍是比較好的選擇。\n硬體不夠力的話，用雲端服務跑也是可以，例如Google Colab。\n2. 作業系統需求 # GNU/Linux # 測試可以跑的Linux發行版：\nUbuntu Fedora openSUSE Arch Linux Gentoo (使用glibc的profile) Windows # 最低要求為Windows 10 64位元，請確保系統已更新至最新版本。\nWindows 7不行。\nmacOS # 可以的話請使用最新版macOS。\n建議使用搭載Apple Silicon晶片的Mac機型。\n舊款Mac需配備AMD獨立顯示卡，只有Intel內顯的不行。\n","date":"2024年7月19日","externalUrl":null,"permalink":"/posts/comfyui-system-requirements/","section":"Ai-Arts","summary":"1. 電腦硬體需求 # 最低配備 建議配備 註解 顯示卡(GPU) GTX1050 RTX3060 支援Nvidia、AMD、Intel Arc、Apple Silicon的顯示卡，其中Nvidia為最佳選項。 顯示卡視訊記憶體(VRAM) 4GB 8GB 顯示卡的VRAM最低要4GB才不會算到一半記憶體不足，若要訓練模型就得8GB以上了。 記憶體(RAM) 8GB 16GB 您可以啟用分頁檔或掛載SWAP增加系統記憶體。 儲存空間 最低20GB，最好是SSD 處理器(CPU) x86_64架構的Intel或AMD處理器皆可。若為Mac電腦建議使用搭載Apple Silicon晶片的機型。 網路連線 可以正常連線到Github和Youtube的網路 要生成512x512的圖，顯示卡VRAM在4GB以下的很容易遇到記憶體不足的問題，並且生圖速度很慢。\n儘管可以純CPU模式跑，但是速度會非常慢。一張顯示卡30秒就能算好的圖，CPU要算10分鐘。因此用獨立顯示卡跑Stable Diffusion仍是比較好的選擇。\n硬體不夠力的話，用雲端服務跑也是可以，例如Google Colab。\n2. 作業系統需求 # GNU/Linux # 測試可以跑的Linux發行版：\n","title":"ComfyUI系統需求","type":"ai-art"},{"content":"ComfyUI是一款開源的AI繪圖軟體，用於精準控制AI繪圖的生圖流程。 ComfyUI背後使用Stable Diffusion與FLUX系列模型來生成圖片，支援文生圖、圖生圖、局部重繪、放大圖片、訓練模型、生成影片，以及使用LoRA和ControlNet。\n本系列文章，Ivon首先會介紹ComfyUI的優點，接著講安裝方法，再示範網頁界面的基礎操作方式。\n1. ComfyUI讓你更了解生圖的原理 # ComfyUI有何優點？第一個我想就是讓你更清楚AI生圖的原理了吧。\nComfyUI的功能類似Automatic1111的Stable Diffusion WebUI，使用同樣的Stable Diffusion模型來生圖。然而，ComfyUI相對SD WebUI來說沒那麼好上手，儘管二者背後使用的是相同的Stable Diffusion模型，但是需要對背後生圖原理有更深入的理解才能用好ComfyUI。\nComfyUI開發者說他是為了解Stable Diffusion的運作原理才開發這個軟體的，主打一個「邏輯」。\n如下圖，這是Stable Diffusion技術背後的生圖過程\u0026hellip;好吧沒有影片解釋，非本科生應該很難看懂。 ComfyUI概念很像上圖，讓你能更清楚掌握AI生圖的過程。當然ComfyUI沒有複雜到需要寫程式，大部分功能都圖形化了。\n生圖中間會經過哪些步驟，ComfyUI都會以圖形化的動態方式呈現，讓你一目了然。\n2. 靈活又多變的ComfyUI工作流 # ComfyUI的第二個優點：將工作流程(workflow)標準化。ComfyUI以node-based為設計理念，每個生圖步驟都是一個節點(node)，使用者能夠觀察和精確控制AI生圖的過程。\n如果你想將Stable Diffusion的AI生圖程序標準化，那就可以採用ComfyUI。\n我認為ComfyUI是訓練邏輯的好東西。用過Blender的話應該會對「節點」(node)的操作有點概念，只要你清楚知道自己在做什麼，你就可以輕鬆的用拉線的方式，規劃AI生圖流程。 比方說你想要：文生圖，再進行局部重繪，再用Real-ESRGAN放大。在SD WebUI你得手動點二次切換界面，而ComfyUI只要線一拉好，整個流程在按開始後就會一次自動完成。\n你甚至可以把ComfyUI的工作流程儲存起來，供他人使用。這樣別人只要開啟你的流程圖，就可以順利跑完同樣的生圖流程。\n此外，ComfyUI工作流的設計，讓第三方開發者能夠撰寫擴充套件（自訂節點），不用等ComfyUI原作者更新，也能即時支援最新的AI生成技術。\n參考資料 # 本系列教學文章參考以下兩個網站的資料撰寫。\nComfyUI官方Github儲存庫 ComfyUI Wiki ","date":"2024年7月18日","externalUrl":null,"permalink":"/posts/stable-diffusion-comfyui/","section":"Ai-Arts","summary":"ComfyUI是一款開源的AI繪圖軟體，用於精準控制AI繪圖的生圖流程。 ComfyUI背後使用Stable Diffusion與FLUX系列模型來生成圖片，支援文生圖、圖生圖、局部重繪、放大圖片、訓練模型、生成影片，以及使用LoRA和ControlNet。\n本系列文章，Ivon首先會介紹ComfyUI的優點，接著講安裝方法，再示範網頁界面的基礎操作方式。\n1. ComfyUI讓你更了解生圖的原理 # ComfyUI有何優點？第一個我想就是讓你更清楚AI生圖的原理了吧。\nComfyUI的功能類似Automatic1111的Stable Diffusion WebUI，使用同樣的Stable Diffusion模型來生圖。然而，ComfyUI相對SD WebUI來說沒那麼好上手，儘管二者背後使用的是相同的Stable Diffusion模型，但是需要對背後生圖原理有更深入的理解才能用好ComfyUI。\nComfyUI開發者說他是為了解Stable Diffusion的運作原理才開發這個軟體的，主打一個「邏輯」。\n如下圖，這是Stable Diffusion技術背後的生圖過程…好吧沒有影片解釋，非本科生應該很難看懂。 ","title":"ComfyUI安裝教學 ～ 標準化Stable Diffusion AI生圖流程","type":"ai-art"},{"content":"文生圖(Text to image)，這是ComfyUI預設的生圖模式。\n點選ComfyUI網頁左上角Workflow → Browse Templates → Text to Image，載入文生圖工作流的範本。\n快捷鍵：網頁點選右鍵新增節點。拖動線條調整節點的連接方式。滑鼠滾輪縮放畫面。\n以最簡單的圖生圖來說，我們的圖要這樣拉。 從左到右，每個節點都代表一個「步驟」。我們觀察一下這些節點做了什麼。\n最左邊第一個Load Checkpoint，就是選取要使用的ckpt模型 再看連結著CLIP節點的CLIP Text Encode，即是提示詞(prompts)的欄位，在這二個框框填入正向與負向提示詞 下方的Empty Latent Image控制最終生圖的長寬 再往右邊，KSampler就是你要使用的取樣器了，步數(step)我們使用20，採樣器(sampler)維持預設的euler。 最右邊的就是套用VAE，最終產出圖片 要開始跑生圖流程，點選網頁右邊的Queue Prompt 它就會開始跑了\u0026hellip;目前跑到哪一步，那個框框就會亮起來。如果生圖卡住，請瞄一下終端機輸出的訊息。 跑完後最右邊的框框就會出現圖片，右鍵存檔 欲儲存目前的工作流程，點選網頁右邊的Save，儲存成json。日後可以用Load還原。 ","date":"2024年7月18日","externalUrl":null,"permalink":"/posts/comfyui-text-to-image/","section":"Ai-Arts","summary":"文生圖(Text to image)，這是ComfyUI預設的生圖模式。\n點選ComfyUI網頁左上角Workflow → Browse Templates → Text to Image，載入文生圖工作流的範本。\n快捷鍵：網頁點選右鍵新增節點。拖動線條調整節點的連接方式。滑鼠滾輪縮放畫面。\n以最簡單的圖生圖來說，我們的圖要這樣拉。 從左到右，每個節點都代表一個「步驟」。我們觀察一下這些節點做了什麼。\n最左邊第一個Load Checkpoint，就是選取要使用的ckpt模型 再看連結著CLIP節點的CLIP Text Encode，即是提示詞(prompts)的欄位，在這二個框框填入正向與負向提示詞 下方的Empty Latent Image控制最終生圖的長寬 再往右邊，KSampler就是你要使用的取樣器了，步數(step)我們使用20，採樣器(sampler)維持預設的euler。 最右邊的就是套用VAE，最終產出圖片 要開始跑生圖流程，點選網頁右邊的Queue Prompt 它就會開始跑了…目前跑到哪一步，那個框框就會亮起來。如果生圖卡住，請瞄一下終端機輸出的訊息。 跑完後最右邊的框框就會出現圖片，右鍵存檔 欲儲存目前的工作流程，點選網頁右邊的Save，儲存成json。日後可以用Load還原。 ","title":"ComfyUI內建範本：文生圖的用法 (Text to Image)","type":"ai-art"},{"content":"Share models between ComfyUI and Automatic1111\u0026rsquo;s Stable Diffusion WebUI\nComfyUI預設存放模型的位置為models資料夾，程式啟動的時候會從這裡下去找模型。\n不過你可以讓ComfyUI與SD WebUI共用模型資料夾，避免浪費硬碟空間。\n下面的操作會將SD WebUI的路徑新增到ComfyUI，這樣你模型不論放ComfyUI的models還是SD WebUI的models目錄都能讀取的到。\n將ComfyUI目錄下的extra_model_paths.yaml.example檔案重新命名為extra_model_paths.yaml，編輯該檔案\n填入以下內容，與SD WebUI共用模型資料夾：\na111: # 在這裡填入SD WebUI的模型路徑(path) base_path: \u0026#34;/home/user/stable-diffusion-webui\u0026#34; # SD WebUI主程式路徑 checkpoints: models/Stable-diffusion # 映射SD WebUI的其餘的模型路徑，如果你沒有特別更動那就保持預設 configs: models/Stable-diffusion vae: models/VAE loras: | models/Lora models/LyCORIS upscale_models: | models/ESRGAN models/RealESRGAN models/SwinIR embeddings: embeddings hypernetworks: models/hypernetworks controlnet: models/ControlNet 啟動ComfyUI，如此一來就能使用Stable Diffusion WebUI的模型了。 ","date":"2024年7月18日","externalUrl":null,"permalink":"/posts/comfyui-sdwebui-shared-models/","section":"Ai-Arts","summary":"Share models between ComfyUI and Automatic1111’s Stable Diffusion WebUI\nComfyUI預設存放模型的位置為models資料夾，程式啟動的時候會從這裡下去找模型。\n不過你可以讓ComfyUI與SD WebUI共用模型資料夾，避免浪費硬碟空間。\n下面的操作會將SD WebUI的路徑新增到ComfyUI，這樣你模型不論放ComfyUI的models還是SD WebUI的models目錄都能讀取的到。\n將ComfyUI目錄下的extra_model_paths.yaml.example檔案重新命名為extra_model_paths.yaml，編輯該檔案\n填入以下內容，與SD WebUI共用模型資料夾：\na111: # 在這裡填入SD WebUI的模型路徑(path) base_path: \"/home/user/stable-diffusion-webui\" # SD WebUI主程式路徑 checkpoints: models/Stable-diffusion # 映射SD WebUI的其餘的模型路徑，如果你沒有特別更動那就保持預設 configs: models/Stable-diffusion vae: models/VAE loras: | models/Lora models/LyCORIS upscale_models: | models/ESRGAN models/RealESRGAN models/SwinIR embeddings: embeddings hypernetworks: models/hypernetworks controlnet: models/ControlNet 啟動ComfyUI，如此一來就能使用Stable Diffusion WebUI的模型了。 ","title":"讓ComfyUI與Stable Diffusion WebUI共用模型資料夾，節省硬碟空間","type":"ai-art"},{"content":"","date":"2024年7月17日","externalUrl":null,"permalink":"/tags/krita/","section":"標籤","summary":"","title":"Krita","type":"tags"},{"content":"強大的修圖界面 ＋ AI圖片生成 ＋ 自由軟體，至臻完美。\nKrita AI (krita-ai-diffusion) 是一款將AI生圖功能整合進Krita的第三方外掛，背後依賴ComfyUI ＋ Stable Diffuision模型生圖。\n為何要用Krita搭配AI生圖呢？Krita本身是自由免費的軟體，擁有強大的繪圖與影像處理界面，方便處理各種圖片。加上AI生圖功能就更強了～你可以把AI生圖無縫整合到你的工作流程。\n只需要安裝好ComfyUI服務，你就能直接在Krita的界面點選AI生圖，不需要在ComfyUI拉流程圖。\n有了krita-ai-diffusion外掛，你就能邊繪圖邊使用AI生圖，完善作品，例如用「局部重繪」給選取區填色；或是利用Upscaler放大圖片。\n參考以下動圖 你還可以搭配ControlNet、IP-Adapter，透過火柴人生成完整人物的AI繪圖 即使只有簡單的線條，也能讓AI幫你完稿。 由於Krita內建修圖功能，所以你也可以把這個外掛拿來輔助修圖，例如生成圖片背景、擴張圖片，搭配遮罩使用，達到類似Photoshop「AI生成填色」的效果。 1. Krita AI硬體需求 # krita-ai-diffusion是Acly開發的第三方外掛程式，原始碼位於Github，支援本機與雲端運算生圖，Linux/Windows/macOS皆可安裝。\n如果電腦有VRAM 6GB以上的強力Nvidia GPU，並且硬碟有10GB以上剩餘空間，你可以自架ComfyUI，這樣所有的運算都是離線進行，使用上沒有任何限制。詳見ComfyUI安裝教學。\nkrita-ai-diffusion外掛不支援AUTOMATIC1111的Stable Diffusion WebUI。\n電腦硬體不行的，可以改用外掛開發者提供的雲端計算服務Interstice，由雲端算圖再回傳，這樣就沒有限定電腦規格。不過免費額度只有300點額度，用完你就得花錢買額度了。\n2. 安裝Krita AI外掛 # 按照你的系統安裝最新版Krita，例如Linux下載Flatpak版，Windows下載exe安裝。\n如果你使用Linux或macOS系統，必須安裝python-venv\nsudo apt install python3-venv 至krita-ai-diffusion的Github下載zip檔\n開啟Krita，點選工具 → 指令稿 → 自檔案匯入Python外掛程式，選取剛剛下載的zip檔。 （手動安裝方法：解壓縮krita-ai-diffusion的zip檔案，將目錄下的所有檔案放到Krita程式資料目錄/pykrita/）\n依照指示重新啟動Krita 新建影像或開啟舊檔\n點選設定 → 工具面板 → 勾選AI Image Generation 這樣就會在畫面右側顯示Krita AI的設定面板了。 3. 連接AI生圖服務 # 此處介紹三種設定方式，使用開發者提供的Interstice雲端運算服務應該是最簡單的作法。不過如果你已經會用ComfyUI，那麼連接到自架的ComfyUI伺服器也是可以的。\n雲端運算服務 # 開啟Connection頁面，勾選Online Service，點選登入Interstice帳號。每個帳號會有300點使用額度。 本機ComfyUI伺服器 # Local Managed Server選項是讓Krtia Diffusion幫你自動裝好ComfyUI以及相應的擴充功能。約會佔用10GB左右硬碟空間。\n開啟Connection頁面，點選Install下載必要檔案，並把下面打勾的全部下載。 自訂ComfyUI伺服器 # Custom Server是連線到現有的ComfyUI伺服器。\n在你的電腦安裝ComfyUI。\n再參考Wiki了解Krtia AI需要哪些節點和模型才能運作。\n你可以使用開發者提供的Python指令稿快速下載全部的模型到ComfyUI的models目錄。例如Linux系統Flatpak版的Krtia用以下指令執行指令稿，自動下載所有模型：\n# 進入Krita容器內部，找到Krita AI所在目錄 flatpak run --command=/bin/bash org.kde.krit cd /var/data/krita/pykrita/ai_diffusion # 安裝Python套件 python3 -m ensurepip python3 -m pip install aiohttp tqdm # 下載模型到指定目錄 python3 download_models.py --all \u0026#34;ComfyUI安裝目錄\u0026#34; 設定好之後請在Connection頁面，點選Custom Server，並輸入ComfyUI伺服器的IP，確認綠字Connected才算成功。 4. 設定AI生圖風格設定檔 # 首先在Kirta AI的Styles頁面指定要使用的大模型、取樣器、影像風格等。\nKrita AI預設使用的大模型是這四個：Realistic Vision、DreamShaper、Juggernaut XL、ZavyChroma XL。不過你有自行下載大模型的話也是可以選用其他的。\n例如我這裡設定檔選用數位插畫(Digital Artwork)，大模型使用自行下載的Anything，VAE使用大模型內建的，取樣器使用較為快速的UniPC。 5. Krita AI使用方式 # Krita AI處理是以圖層為單位的，每次處理的都是目前選定的圖層對象。\n放大圖片 # 點選Krita AI面板，切換到Upscale頁面。\n於Krita AI的面板選取Upscale，選取要放大的模型，再設定倍率。Refine Image為嘗試使用大模型來強化圖像，避免模糊。 點選Upscale後，選取的圖層解析度就會整張放大。 Krita AI預設下載的4x_NMKD-Superscale模型只適合放大真實圖片。如果要放大插畫圖片，推薦另外下載Anime6B的模型，並放到ComfyUI的models/upscale_models目錄。\n局部重繪 # 局部重繪(Inpaint)可以參考目前圖片的內容生成新圖片，或者是參考周遭的像素填充內容。\n使用Krtia選取工具畫出選取區。如果不選就是處理整個圖層。生成圖片的長寬由你的選取區決定。\n再於Krita AI的面板，切換到Generate頁面，選取風格設定檔，填入提示詞，設定要生成的內容。下方的強度(Strength)為參考原圖的程度，數值越高，AI生成的內容與原圖越不相關。 這裡有批次(Batch)生成選項，由於AI生成可能無法一次就得到最好結果，你可以在這裡設定多生成幾張，之後再挑滿意的結果。 點Generate或Refine按鈕，等待ComfyUI計算完成，就會出現AI生成的圖層了。剛生成的圖片是預覽(Preview)狀態，你需要按套用(Apply）該圖層才可繼續編輯。 Krita AI還有「向外擴充」模式：如果你的選取區域超過圖層，則生圖按鈕會變成延伸(Expand)，也就是延伸現有圖層來生圖。\n如果你不想等生成，Krita AI提供即時生圖模式(Live)，也就是選取區（或筆刷）畫到哪，就即時用較快速的LCM取樣器生一張圖預覽，不過這非常吃GPU效能。 ControlNet生成 # ControlNet可依照線稿或簡單的人物線條，指示AI生成更精準的內容。\n點選Add Control Layer，選取要使用的ControlNet模型，例如Line Art就是參考目前圖層的線條生成內容。 旁邊選取要參考的圖層\n輸入提示詞，點選生成。選取喜歡的結果，再按下套用。 若要使用骨架生成圖片：\n點選Generate Control Layer from Current Image，讓AI參考圖片人物動作生成骨架 如果你想手動拉骨架，請使用PoseX網頁版（不依賴SD WebUI），輸出為PNG，再放到Krita圖層處理。\n然後再用這個骨架去生新的圖片。Add Control Layer選擇使用Pose模型。 ","date":"2024年7月17日","externalUrl":null,"permalink":"/posts/krita-ai-diffusion-usage/","section":"Ai-Arts","summary":"強大的修圖界面 ＋ AI圖片生成 ＋ 自由軟體，至臻完美。\nKrita AI (krita-ai-diffusion) 是一款將AI生圖功能整合進Krita的第三方外掛，背後依賴ComfyUI ＋ Stable Diffuision模型生圖。\n為何要用Krita搭配AI生圖呢？Krita本身是自由免費的軟體，擁有強大的繪圖與影像處理界面，方便處理各種圖片。加上AI生圖功能就更強了～你可以把AI生圖無縫整合到你的工作流程。\n只需要安裝好ComfyUI服務，你就能直接在Krita的界面點選AI生圖，不需要在ComfyUI拉流程圖。\n有了krita-ai-diffusion外掛，你就能邊繪圖邊使用AI生圖，完善作品，例如用「局部重繪」給選取區填色；或是利用Upscaler放大圖片。\n參考以下動圖 你還可以搭配ControlNet、IP-Adapter，透過火柴人生成完整人物的AI繪圖 即使只有簡單的線條，也能讓AI幫你完稿。 由於Krita內建修圖功能，所以你也可以把這個外掛拿來輔助修圖，例如生成圖片背景、擴張圖片，搭配遮罩使用，達到類似Photoshop「AI生成填色」的效果。 1. Krita AI硬體需求 # krita-ai-diffusion是Acly開發的第三方外掛程式，原始碼位於Github，支援本機與雲端運算生圖，Linux/Windows/macOS皆可安裝。\n","title":"Krita搭配ComfyUI AI生圖，krita-ai-diffusion外掛安裝教學","type":"ai-art"},{"content":"介紹如何使用remove.bg外掛，處理GIMP的圖層，得到去背圖的遮罩，再按照你的需求編輯遮罩，完成圖片去背。 remove.bg是一個線上去背網站，他們的AI可將複雜背景的圖片去除，取出圖片中的主要物件。\n為什麼不直接用remove.bg的網頁版去背，還要開GIMP呢？因為AI自動偵測去背的範圍不見得是正確的，而我們在GIMP用remove.bg處理，會得到可編輯的遮罩（mask，或稱遮色片），這樣我們後續還能自行修正錯誤的部份。簡言之，AI可以幫我們快速畫出去背的範圍，之後有需要再細修。\n不過要注意remove.bg是Canva旗下的商業網站，需要註冊，每月限制存取50次API，超過需要付費。如果你擔心隱私問題，可以改用離線運算的rembg，原理類似。\n1. 設定remove.bg的去背服務 # 首先設定remove.bg的服務。到remove.bg註冊帳號\n點帳號設定，產生API Key 安裝最新版GIMP\n到Github下載Python指令稿。點進去remove_bg_gimp3.py檔案，按程式碼旁邊的下載按鈕。\n找到GIMP 3.0的外掛目錄，新建一個remove_bg_gimp3目錄，將remove_bg_gimp3.py放進去。\nLinux Flatpak版GIMP路徑：~/.var/app/org.gimp.GIMP/config/GIMP/3.0/plug-ins/remove_bg_gimp3/（你可能還要用chmod +x 賦予執行權限）\nWindows版GIMP路徑：C:\\Users\\使用者名稱\\AppData\\Roaming\\GIMP\\3.0\\plug-ins\\remove_bg_gimp3\\\n2. 一鍵自動AI去背 # 點GIMP的檔案，開啟要處理的圖片 點選濾鏡 → removebackground 輸入剛剛取得的API Key，點選確定 於是你目前選取的圖層就會自自動傳給remove.bg伺服器，不用幾秒就會回傳。右下角你會看到圖片和遮罩，圖片會自動完成去背 如果你覺得沒問題了，對圖層右鍵，點選「套用遮罩」 然後點選 檔案 → 匯出，將圖片存檔成png。\n3. 手動修正去背遮罩範圍 # 如果AI的去背畫錯範圍，得手動修正。\n點選遮罩的圖示，右鍵顯示遮罩 此時圖片會變黑白的，黑色的區塊代表去背的部份，白色則是原圖的部份 點選左上角的畫筆工具，將顏色調整為黑色或白色。 使用畫筆工具在遮罩上繪製正確的範圍。黑色畫到的部份代表要去背，白色則是要保留的部份。畫的時候可以按下SHIFT＋D與SHIFT＋H，開關遮罩對照觀看\n修正好之後，對圖層右鍵，點選「套用遮罩」 再點選檔案 → 匯出 ，將圖片存檔成png。\n","date":"2024年7月15日","externalUrl":null,"permalink":"/posts/gimp-remove-background-plugin/","section":"所有文章","summary":"介紹如何使用remove.bg外掛，處理GIMP的圖層，得到去背圖的遮罩，再按照你的需求編輯遮罩，完成圖片去背。 remove.bg是一個線上去背網站，他們的AI可將複雜背景的圖片去除，取出圖片中的主要物件。\n為什麼不直接用remove.bg的網頁版去背，還要開GIMP呢？因為AI自動偵測去背的範圍不見得是正確的，而我們在GIMP用remove.bg處理，會得到可編輯的遮罩（mask，或稱遮色片），這樣我們後續還能自行修正錯誤的部份。簡言之，AI可以幫我們快速畫出去背的範圍，之後有需要再細修。\n不過要注意remove.bg是Canva旗下的商業網站，需要註冊，每月限制存取50次API，超過需要付費。如果你擔心隱私問題，可以改用離線運算的rembg，原理類似。\n1. 設定remove.bg的去背服務 # 首先設定remove.bg的服務。到remove.bg註冊帳號\n點帳號設定，產生API Key 安裝最新版GIMP\n到Github下載Python指令稿。點進去remove_bg_gimp3.py檔案，按程式碼旁邊的下載按鈕。\n找到GIMP 3.0的外掛目錄，新建一個remove_bg_gimp3目錄，將remove_bg_gimp3.py放進去。\nLinux Flatpak版GIMP路徑：~/.var/app/org.gimp.GIMP/config/GIMP/3.0/plug-ins/remove_bg_gimp3/（你可能還要用chmod +x 賦予執行權限）\n","title":"GIMP圖片AI自動去背 ＋ 編輯遮罩 （remove.bg外掛）","type":"posts"},{"content":"","date":"2024年7月15日","externalUrl":null,"permalink":"/tags/strike-witches/","section":"標籤","summary":"","title":"Strike Witches","type":"tags"},{"content":" 「已經一個月沒射精了\u0026hellip;」\n「想要做嗎？」（露出下空的腹部）\n「想要！！！想要做愛想要做愛想要做愛做愛！！！」（蛋蛋拼命製造精子中\u0026hellip;絕對讓妳懷孕\u0026hellip;）\n這些精子究竟能不能成功射到女性的子宮裡呢？文末揭曉。 以上大致是今天要分享的內容。\n分享幾本狼狽亭 (atahuta) 的佳作，主要是強襲魔女和Fate的同人本。主題是男性被當成女性奴隸使用，女性主導、精液牧場。如果說女性牧場主要是榨乳，男性牧場榨出的乳白色物體就是精液了。精液依照設定不同，可能是當女性食物。好一點時候會有種牛所以有男幹女的畫面。\n但是狼狽亭吸引人的地方在於女性虐待男性的畫面，讓男性成為精液奴隸。更激烈的還會使出破壞腳，踢爆蛋蛋！ 狼狽亭以前的畫風常常是：壯碩的男性，巨大的雞雞，對上肉肉的魔性蘿莉。男性受到女性誘惑，就會拼命的想做愛，可最後還是被女性控制。\n男性不是被禁止射精，不然就是被強制榨乾！\n某種程度上男性被虐待，最後大爆射的畫面更為實用。\n下面分別列出幾本特色本子。\n到處榨乾精液的蘿莉 # 先從比較清淡（？）的開始，色氣蘿莉到處獵殺精子。\n可惜狼狽亭最近的的畫風變化太大，已經畫不出這種色氣小鬼了（這點可從[atahuta] クロエをハメる漫画 (没漫画) (Fate/kaleid liner プリズマ☆イリヤ)觀察到）\n這三本內容很像：色氣蘿莉伊莉雅和小黑到處尋找獵物，一開始都是幹蘿莉的大叔佔上風，騎乘位置幹的啊嘿顏。可最後大叔不敵，被雌小鬼活活榨死\n[狼狽亭 (atahuta)] HONEYPOT (Fate/kaleid liner プリズマ☆イリヤ)\n小黑變成痴女，誘惑大叔做愛\n比如第3頁這個口交手勢，讓人硬度爆炸 18頁，瘋狂射精 15頁，抓著蛋蛋意圖榨出所有精子的樣子，太恐怖了 [狼狽亭 (atahuta)] 発情乙女の躾け方 (Fate/Grand Order、Fate/kaleid liner プリズマ☆イリヤ)\n拼了命的讓二名小蘿莉受精 結果射了51次，大叔敗北 [狼狽亭 (atahuta)] ダブルバインド～精巣制圧～ (Fate/kaleid liner プリズマ☆イリヤ)\n一上來就說守了40年的童貞精子\u0026hellip;迫不及待要讓JS懷孕 被老師教訓，結果看到16頁的疊在一起的樣子誰不心動 11、12頁，最後大叔當然被榨到死亡。活跳跳的精子不斷被榨出來，作為女孩們的食物。 精巢破壞，禁止射精 # [狼狽亭 (atahuta)] たのしい精液牧場 ～開発編～ (ブレイブウィッチーズ)\n因為有接觸魔眼，所以躲不過偵測，睪丸裡還有精子都給我交出來！\n可怕的口交，將睪丸裡面的精液都吸乾，精巢完全空了。\n這本有出現特別的玩法，因為設定上男性是性奴隸，所以禁止任意射精，在嚴格控管下，變成玩尿道球腺液。\n只能抽插但不准射精（好想射精！憋到想哭了） 但依然會分泌尿道球腺，變成一種特殊的景觀。這種寸止的挑戰實在可怕。 男性被輪暴 # [狼狽亭 (atahuta)] 一生私たちの玩具になってください。 (ストライクウィッチーズ)\n禁止射精的環境，露出先走汁液 但是有人違規了（拜託讓我射精\u0026hellip;\u0026hellip;）就給你榨出，對著地板射吧 既然想射就讓你射個夠！派到501餓鬼群集的總部\n不論是巨乳還是蘿莉，在各種虐待下，最後都讓你射了20發還不準停 捏爆蛋蛋、踩爆蛋蛋 # 說到勃起就去勢的漫畫，有畫過一篇短篇：[atahuta] 勃起禁止車両 (ガールズフォーム Vol.07)，非常值得一讀。只要在車廂內勃起就要爆蛋蛋！ 本子裡面蛋蛋畫得像茄子一樣。\n(C86) [狼狽亭 (atahuta)] SMASH NUTS FESTIVAL!!! (ストライクウィッチーズ)\n擅自射精的先來下馬威 秤重檢查\u0026hellip;偷自慰，不乖的蛋蛋就要用手捶爛（這幕有夠好笑） 竟然幻想跟哈特曼長官做愛！？那就去死吧 (C84) [狼狽亭 (atahuta)] LAST SHOT (ストライクウィッチーズ)\n這本最經典的就是桑妮亞的黑絲\u0026hellip;踢爆蛋蛋 最後的射精機會了喔～！要用哪邊射呢！？ 捏！ [狼狽亭 (atahuta)] HARTMAAAAN!!!! (ストライクウィッチーズ)\n又是一本幹不到女性的本，只有用飛機杯套弄的份 還有黑絲絞殺 不過是難得的全彩本\u0026hellip;那當然要踢爆蛋蛋！ 必看佳作：禁止射精的精液牧場 # [狼狽亭 (atahuta)] たのしい精液牧場~繁殖編~ (ストライクウィッチーズ)\n男性被女性強制榨精。這本殺傷性十分強大，我覺得是狼狽亭最讚的本子\n處男種牛牧場，自慰嚴禁！秤秤看睪丸的精子重量，累積達標才可以射精。 處男看到女性願意做愛，便奮力製造精子~~！想要做愛做愛做愛！ 這一幕真的很誘惑人。還有這個熟練的戴套動作。 殊不知不敵蘿莉的強力口交，還有莫名其妙的射精開關！？彷彿熟練榨乳工人一樣的手勢，懂得把握敏感帶，最後全都精子全射在了嘴裡的保險套。 不能就這樣算了\u0026hellip;為了幹到小穴，好不容易有展現男性雄風的時刻，絕對要讓妳懷孕\u0026hellip; 卻是無情的被榨乾。還是幹不到小穴。 後面男性被利用的更徹底，終於有幹到小穴的時刻了！但是被當種牛使用，投入大量媚藥後變成只懂得交配的動物。 ","date":"2024年7月15日","externalUrl":null,"permalink":"/posts/atahuta-femdom-doujins-review/","section":"Nsfws","summary":" 「已經一個月沒射精了…」\n「想要做嗎？」（露出下空的腹部）\n「想要！！！想要做愛想要做愛想要做愛做愛！！！」（蛋蛋拼命製造精子中…絕對讓妳懷孕…）\n這些精子究竟能不能成功射到女性的子宮裡呢？文末揭曉。 以上大致是今天要分享的內容。\n分享幾本狼狽亭 (atahuta) 的佳作，主要是強襲魔女和Fate的同人本。主題是男性被當成女性奴隸使用，女性主導、精液牧場。如果說女性牧場主要是榨乳，男性牧場榨出的乳白色物體就是精液了。精液依照設定不同，可能是當女性食物。好一點時候會有種牛所以有男幹女的畫面。\n但是狼狽亭吸引人的地方在於女性虐待男性的畫面，讓男性成為精液奴隸。更激烈的還會使出破壞腳，踢爆蛋蛋！ 狼狽亭以前的畫風常常是：壯碩的男性，巨大的雞雞，對上肉肉的魔性蘿莉。男性受到女性誘惑，就會拼命的想做愛，可最後還是被女性控制。\n","title":"榨精農場＆踢爆蛋蛋， 狼狽亭 讓人欲罷不能的本子","type":"nsfw"},{"content":"自從去年，親戚發現我有買飛機杯的愛好後，去日本帶了這個給我。 這比一根小指紙套還小的東西，到底是給哪個奈米屌的人用的啊？\n原本覺得，可是在一天夜裡，覺得欲火難耐，急用之下就用用看。\n喔喔，勉強用拇指撐開，還蠻有彈力的，可以包覆我的30cm。 就像一層口香糖一樣，不對，應該比較類似小學生愛玩的史萊姆\u0026hellip;裡面甚至有簡單的凹凸紋路。一晃神就射了。\n雖然說射得出來，可是真的是很沒滋味，我覺得捅沒幾次就破了吧。我覺得這個大概就是可拋式飛機杯的概念吧，跟Tanga的低價品一樣。算是體驗版？吸引你來買正貨喔～\n","date":"2024年7月15日","externalUrl":null,"permalink":"/posts/tiny-onahole-gashapon-from-donki/","section":"Nsfws","summary":"自從去年，親戚發現我有買飛機杯的愛好後，去日本帶了這個給我。 這比一根小指紙套還小的東西，到底是給哪個奈米屌的人用的啊？\n原本覺得，可是在一天夜裡，覺得欲火難耐，急用之下就用用看。\n喔喔，勉強用拇指撐開，還蠻有彈力的，可以包覆我的30cm。 就像一層口香糖一樣，不對，應該比較類似小學生愛玩的史萊姆…裡面甚至有簡單的凹凸紋路。一晃神就射了。\n雖然說射得出來，可是真的是很沒滋味，我覺得捅沒幾次就破了吧。我覺得這個大概就是可拋式飛機杯的概念吧，跟Tanga的低價品一樣。算是體驗版？吸引你來買正貨喔～\n","title":"唐吉訶德扭蛋飛機杯真的是消耗品！","type":"nsfw"},{"content":"討論讓老婆更清晰的方式。 並對從者模型做些修改。 Fate Animation Viewer是一個線上檢視Fate/Go遊戲角色模組(sprite)的網站，由katboi01 ＆Atlas Academy Community製作。\n網址：https://katboi01.github.io/FateViewer/\n一般的Wiki網站可能只看到Fate/Go卡面而已，但網站開發者用Unity WebGL複現了原版遊戲的畫面，讓你查看所有從者的戰鬥動畫。 方便觀測乳搖動畫 甚至支援3D檢視畫面，讓你看看「紙片人」背後的樣子www 如此一來，不用特地開FGO遊戲也能欣賞老婆、老公的帥氣樣貌。 嚴格來說，這網站應該算違法的，因為使用的素材很明顯從原版遊戲拆包的，如果給神人改造，搭配Chaldea模擬器就能做出離線版FGO了吧。哪天該網站可能就被TypeMoon抄家！不過開發者有公開網站原始碼，只要有人fork保存素材，就是殺不完滴。如果你會建置Unity程式的話，甚至可以做個離線版Fate Animation Viewer。\n看到這個網站我就想做些實驗，第一個是放大材質圖片，第二個是自行建置讓它變成離線版。\n1. 放大模型材質 # 雖然該網站能檢視角色模組，但是原版角色的材質畫質不高，電腦放大看很容易就糊掉了。 因此我想搭配該網站提供的「自訂材質」功能，用AI放大再上傳，就會得到更為清晰的角色模組啦！ 至於要怎麼得到Fate/Go的原始遊戲資源，該網站已經告訴你答案了。選取角色的時候，它會從自家的伺服器https://static.atlasacademy.io/JP/下載檔案。 把那個網址複製貼上，就會得到一個Unity模型檔。這個檔案不能用一般的解壓縮程式解，必須使用專門軟體AssestRipper。該軟體支援Linux/Windows/macOS。\n解壓縮，點選AssestRipper執行檔，會開啟網頁界面。點選File → Open File，開啟Unity模型檔，再按Export，選擇要輸出的一個空白資料夾，這樣就會在資料夾/Assets/Texture2D/找到材質了。 把這張圖片用Upscayl的Real ESRGAN放大，並且重新命名為原始圖檔的檔名。\n可惜的是Fate/Go原版的圖片很模糊，單純放大效果不夠好，可能要針對材質做AI修復並重繪。\n就可以在網頁按Properties → Replace Texture，載入高畫質版本 若要將結果截圖保存，先在網頁右側Settings輸入長寬數值，再按左側Properties → Screenshot按鈕截圖，就能得到高畫質圖片。 好了，現在你有遊戲材質了，可以隨意開始P圖了\u0026hellip; 2. 建置離線版的Fate Animation Viewer # 做個離線版意義不大，因為該程式還是得從特定網站下載Unity模型檔，所以做出來的結果其實是半離線版。\n除非你可以自己拆Fate/Go的遊戲檔案，再從中找到你要的Unity模型。然後去改Fate Animation Viewer的程式碼修改路徑。\n那麼，離線版Fate Animation Viewer如何建置呢？雖然這個網站有用到Unity，但是你不用自行編輯Unity專案，你可以直接拿作者釋出的網站原始碼來用。\n原始碼在此：https://github.com/katboi01/FateViewer\n點選Download zip下載程式碼，解壓縮。由於這是靜態網頁，下載之後點index.html就會開啟Fate Animation Viewer界面啦！如果出現abort:()錯誤，你得把它部署到架設在本機的Apache伺服器之類的，再嘗試載入。\n如果你真的要編輯Unity背後的原始碼邏輯\u0026hellip;\n安裝Unity Hub\n複製原始碼\ngit clone https://git.japari.cafe/katboi01/FateViewer.git 開啟專案，安裝對應版本的編輯器，還有WebGL Support，開始建置專案，接著開始debug吧。 ","date":"2024年7月14日","externalUrl":null,"permalink":"/posts/fate-animation-viewer-upscale/","section":"所有文章","summary":"討論讓老婆更清晰的方式。 並對從者模型做些修改。 Fate Animation Viewer是一個線上檢視Fate/Go遊戲角色模組(sprite)的網站，由katboi01 ＆Atlas Academy Community製作。\n網址：https://katboi01.github.io/FateViewer/\n一般的Wiki網站可能只看到Fate/Go卡面而已，但網站開發者用Unity WebGL複現了原版遊戲的畫面，讓你查看所有從者的戰鬥動畫。 方便觀測乳搖動畫 甚至支援3D檢視畫面，讓你看看「紙片人」背後的樣子www 如此一來，不用特地開FGO遊戲也能欣賞老婆、老公的帥氣樣貌。 嚴格來說，這網站應該算違法的，因為使用的素材很明顯從原版遊戲拆包的，如果給神人改造，搭配Chaldea模擬器就能做出離線版FGO了吧。哪天該網站可能就被TypeMoon抄家！不過開發者有公開網站原始碼，只要有人fork保存素材，就是殺不完滴。如果你會建置Unity程式的話，甚至可以做個離線版Fate Animation Viewer。\n看到這個網站我就想做些實驗，第一個是放大材質圖片，第二個是自行建置讓它變成離線版。\n1. 放大模型材質 # 雖然該網站能檢視角色模組，但是原版角色的材質畫質不高，電腦放大看很容易就糊掉了。 因此我想搭配該網站提供的「自訂材質」功能，用AI放大再上傳，就會得到更為清晰的角色模組啦！ 至於要怎麼得到Fate/Go的原始遊戲資源，該網站已經告訴你答案了。選取角色的時候，它會從自家的伺服器https://static.atlasacademy.io/JP/下載檔案。 ","title":"線上瀏覽FGO角色乳搖，Fate Animation Viewer放大圖片的作法","type":"posts"},{"content":"一天的難處一天當就夠了。\n面對YouTube、部落格、電子郵件的留言與評論，是否有回覆之必要呢？\n答不出來的場合，應該直接講，窩不知道嗎？ 不知道是真的不知道嗎 # 每次看到不錯的Github的專案，作者卻聲明說不再維護，就感到惋惜，甚至直接在issue說：我現在沒空維護了，希望有人能接手專案！\n接著請讀這篇文章。\nNo, \u0026ldquo;Open Source\u0026rdquo; does not mean \u0026ldquo;Includes Free Support\u0026rdquo;\n是的，雖然研究軟體開發，分享一些操作，某種程度上讓我覺得自己似乎略懂了一些程式的東西，但是其實我知道的很少，不夠格作為一個專業的IT Support。\n我甚至沒有立場說「自由軟體不代表免費提供支援」，因為我根本不是開發者，僅是享用別人的成果而已。甚至，自己寫的東西，幾乎沒有一個是100%理解的，自是不可能回答所有問題，就是個江湖郎中而已。但我又不能太誠實的註明：這篇文章只是筆記性質而已喔（事實上還真的蠻多篇是筆記用的卻包裝成教學）我什麼都不了解，有事不要找我。\n有些人看我寫的某些專門領域的文章，就會留言問問題，很多時候，我碰到答不出來的問題，就是無視。在此向那些被我冷落的人道歉。\n如果真要回，會直說「我不知道」\n當講「我不知道」的時候包含二種情況。\n第一，真的不知道，不打迷糊仗，直接表明我不知道怎麼解決。\n第二，我現在對這個議題沒興趣，不想深究，厭惡答覆，甚至不追問，所以回我不知道打發掉，或者丟個論壇連結請對方到適合的場所發問。\n第二種情形比較常出現，為什麼會這樣？因為，感興趣的事物太多了，覆蓋範圍甚廣，從小的程式問題到巨大的哲學思想都可能做成影片、寫成文章。並且目光一直在變化，過去感興趣的事物現在可能沒什麼心力在上面。假若有人突然戳我，要求回答現在的我不感興趣的某問題，那就會導致厭答的產生。\n舉個例子，如果我未來哪天對Linux不感興趣了，你再來跟我說某技術怎樣怎樣，那麼我可能也就沒啥興致回嘴了。\n又如以前會幫忙解決YouTube頻道留言的Minecraft玩家問題，可是現在對這遊戲興趣不大，每次看到out of nowhere飛來的問題就心煩，甚至有人會在不相干的最新影片留言騷擾，強迫人回應。這個時候我不刪你留言都算客氣了吧！\n我回答問題最勤的時期可能是在寫Stable Diffusion WebUI手冊的時候，同一篇文章下不重複的50個問題幾乎都回答並盡力解決。可是那是在我對AI繪圖很有熱情的情形下才做得到的事，現在就是放水流了。\n不回覆會讓人緊張不安 # 只要看到Messenger紫點、GitHub藍點、Email黑點，就會感到緊張。\n雖然我可以把心一橫，把那些不想回覆的東西全部刪除，可是完全不理會留言又覺得好無情。\n有時要推託說我不知道的時候，會po其他論壇的連結，委婉的說「你可以到這裡問問題」，把問題丟給別人。這樣看起來比較禮貌，但是這又會讓自己覺得煎熬，儘管提問者感覺不出來。\n要不要回覆留言呢，之所以會對這種矛盾情況感到不安，乃是因為我擔憂那之後帶來的代價，如果別人的問題不能馬上解決，那感覺整個責任就跑到我身上了，就好像補習班老師應該要幫學生解出題目來才算可以完成工作。可是我面對的問題可不是我的拿手科目能處理的範圍，這個時候壓力就會很大，最後問題解決不了，羞恥的講「我不知道」就會帶來更大痛苦。\n不要把世界扛在肩膀上 # 現在比較釋懷了，畢竟網友的留言不是工作上司派給的工作，實無必要性的回覆。\n儘管責任上我應該盡可能回覆留言，以做好東道主招待客人，但我也可以選擇不要把有限的心力花在免費解決別人的問題上。\n然後，坦白的講「我不知道」不是可恥的事情，這是我從以前的英國大學教授學到的態度。如果真的不懂，不要車軲轆話講一堆掩飾之語，也不要有藉口，就直白的說「我不知道吧」、「這超出了我的能力範圍」之語。\n披頭四的歌曲曾經唱道：Don\u0026rsquo;t carry the whole world upon your shoulder.\n「課題分離」也很重要，別人的問題，不是你的問題，所以不需要付出過分的心力，去擔憂別人的看法。\n每天沒辦法解決的問題太多了，沒有人應付得來全部。責任不要想到太重大，你不是大宗師，不是萬事通，不是神，是人。\n所以，不要為明天憂慮。\n","date":"2024年7月14日","externalUrl":null,"permalink":"/posts/2024071301/","section":"Personals","summary":"一天的難處一天當就夠了。\n面對YouTube、部落格、電子郵件的留言與評論，是否有回覆之必要呢？\n答不出來的場合，應該直接講，窩不知道嗎？ 不知道是真的不知道嗎 # 每次看到不錯的Github的專案，作者卻聲明說不再維護，就感到惋惜，甚至直接在issue說：我現在沒空維護了，希望有人能接手專案！\n接著請讀這篇文章。\nNo, “Open Source” does not mean “Includes Free Support”\n是的，雖然研究軟體開發，分享一些操作，某種程度上讓我覺得自己似乎略懂了一些程式的東西，但是其實我知道的很少，不夠格作為一個專業的IT Support。\n我甚至沒有立場說「自由軟體不代表免費提供支援」，因為我根本不是開發者，僅是享用別人的成果而已。甚至，自己寫的東西，幾乎沒有一個是100%理解的，自是不可能回答所有問題，就是個江湖郎中而已。但我又不能太誠實的註明：這篇文章只是筆記性質而已喔（事實上還真的蠻多篇是筆記用的卻包裝成教學）我什麼都不了解，有事不要找我。\n有些人看我寫的某些專門領域的文章，就會留言問問題，很多時候，我碰到答不出來的問題，就是無視。在此向那些被我冷落的人道歉。\n如果真要回，會直說「我不知道」\n當講「我不知道」的時候包含二種情況。\n","title":"很抱歉我不夠專業，沒辦法回答你留言的問題","type":"personal"},{"content":"如果要在Linux使用GIMP拼圖，將多張照片合成一張圖（這種圖稱作photo montage或photo collage），網路教學多半會說開啟第一張圖片，新增圖層加入第二張圖片，拖曳到第一張圖片旁邊對齊，再延伸圖層，用這種方式慢慢合成出一張拼貼圖。或者，你得手動開grid輔助線，然後裁圖。\n太沒效率了，我還不如用Image Magick的montage指令合併呢！所以我找到了G\u0026rsquo;MIC。\nGMIC是法國GREYC實驗室開發的軟體，提供多種額外功能，可說是十分強大的GIMP外掛。 詳細功能：\n製作蒙太奇，多張圖片拼成一張 風格濾鏡 像素化特效 自由變形工具 人像美化 調色盤 AI自動填色 製作深度圖 其中蒙太奇（montage）就是我要的功能，它可以處理多張圖片，以及自由調整版面。\n我認為GMIC拼貼圖片的功能正是GIMP本身缺乏的。\n1. 安裝G\u0026rsquo;MIC # G\u0026rsquo;MIC本身是命令行工具，開發者另外製作了GIMP-Qt，讓我們可以方便把在GIMP編輯的圖片丟到G\u0026rsquo;MIC處理。\n順帶一提Krita也有內建G\u0026rsquo;MIC工具，該功能位於 濾鏡 → G\u0026rsquo;MIC-Qt。\n以Linux為例，先用Flatpak安裝Linux版的GIMP，接著透過Flatpak Plugin的方式安裝G\u0026rsquo;MIC-Qt：\nflatpak install flathub org.gimp.GIMP.Plugin.GMic 2. 用G\u0026rsquo;MIC將多張圖片拼成一張 # 點選檔案 → 開啟圖層，按SHIFT，選取要拼貼的多張圖片 這樣匯入GIMP之後，每個圖片都會是一個圖層\n然後點濾鏡，開啟G\u0026rsquo;MIC-Qt 點選Arrays \u0026amp; Tiles → Montage 處理的範圍，輸入選「全部圖層」，輸出選「新增影像」。 旁邊會出現版面預覽 參數解說：\nMontage Type：Auto自動排列圖片。Vertical直立排列圖片，Horizontal橫向排列圖片。Array模式則是建立4x3或3x4的排列方式。Custom Layout下面再講。 Merging Mode：Aligned所有圖片等寬；Scaled自動縮放 Centering/Scale：圖片對齊位置 Padding：圖片間距 Frame：圖片邊框 Angle：圖片旋轉 Cycle Layers：調換圖片順序。 當圖片拼好後按下「確定」，拼好的圖片就會存成另一張影像。這時就可以點選檔案 → 匯出圖片了。 3. 自訂圖片排列規則 # Custom Layout是設計來自訂版面用的，比方說讓直排跟橫排圖片組合在一起。\n不過我主要是用它來控制具體的排列方式。\n假設我有12張圖片，若要指定每行有4張圖片，當Auto模式不合我意的時候，就得手動打參數。\n預設參數為V(H(0,1),H(2,V(3,4)))\u0026hellip;這是三小！？\n這個參數參數不是很人性化，你要稍微了解G\u0026rsquo;MIC的語法。\n每個括號代表一組圖片，括號裡面只能包含二個參數，參數則是圖片的編號。\nH(0,1) 代表 0號圖和1號圖橫向組合成一行\nV(0,1) 代表0號圖和1號圖直向組合成一列\n如果要讓三張圖片組合成一行，那語法就是：\nH(0, H(1, 2) ) 以此類推，後面的圖片就是塞更多括號，如四張圖片組合成一行：H(0, H(1, H(2, 3) ) )（這什麼死人語法）\n這樣就可以控制一行有幾張圖片。\n如果我們要再加第二行圖片，語法就是：\nV ( H(0, H(1, H(2, 3) ) ), H(4, H(5, H(6, 7) ) ) ) 若要加第三行圖片呢？外面再套一層囉：\nV ( V( H(0, H(1, H(2,3) ) ), H(4, H(5, H(6,7) ) ) ), H(8, H(9, H(10, H(11, 12) ) )) ) 參考資料 # Pat David: G\u0026rsquo;MIC Montage G\u0026rsquo;MIC - GREYC\u0026rsquo;s Magic for Image Computing: A Full-Featured Open-Source Framework for Image Processing - Reference Documentation - montage ","date":"2024年7月14日","externalUrl":null,"permalink":"/posts/gimp-gmic-photo-collage/","section":"所有文章","summary":"如果要在Linux使用GIMP拼圖，將多張照片合成一張圖（這種圖稱作photo montage或photo collage），網路教學多半會說開啟第一張圖片，新增圖層加入第二張圖片，拖曳到第一張圖片旁邊對齊，再延伸圖層，用這種方式慢慢合成出一張拼貼圖。或者，你得手動開grid輔助線，然後裁圖。\n太沒效率了，我還不如用Image Magick的montage指令合併呢！所以我找到了G’MIC。\nGMIC是法國GREYC實驗室開發的軟體，提供多種額外功能，可說是十分強大的GIMP外掛。 詳細功能：\n製作蒙太奇，多張圖片拼成一張 風格濾鏡 像素化特效 自由變形工具 人像美化 調色盤 AI自動填色 製作深度圖 其中蒙太奇（montage）就是我要的功能，它可以處理多張圖片，以及自由調整版面。\n我認為GMIC拼貼圖片的功能正是GIMP本身缺乏的。\n1. 安裝G’MIC # G’MIC本身是命令行工具，開發者另外製作了GIMP-Qt，讓我們可以方便把在GIMP編輯的圖片丟到G’MIC處理。\n順帶一提Krita也有內建G’MIC工具，該功能位於 濾鏡 → G’MIC-Qt。\n","title":"GIMP安裝G'MIC外掛，將多張圖片合併成一張","type":"posts"},{"content":"Run Wayland applications on X server.\n有程式限制Wayland-only，但Wayland的bug好多，不想開Wayland桌面環境執行，那麼不妨使用巢狀Wayland工作階段的解決方案吧！\n巢狀Wayland工作階段 (nested Wayland session) 意即在X11工作階段跑一個Wayland合成器，也就是Wayland on X Server！剛好跟XWayland反過來，現在是WaylandX！\n通常作法是跑一個大視窗，讓所有Wayland程式跑在視窗裡面，不受外界影響，還可以吃到Linux的GPU加速呢！\n有了巢狀Wayland工作階段，可以方便你評估應用程式在Wayland下的表現。\n有什麼程式是一定要Wayland的？目前我想到的就是Waydroid，需要Wayland才能顯示Android畫面，還有一些測試新興技術的玩意！ 在Weston視窗跑vkcube-wayland，測試Wayland環境下的Vulkan支援程度\n1. 選擇Wayland合成器 # 說到可以在X11下跑的Wayland合成器(compositor)，你有以下選擇。\nWeston：Wayland官方參考實作，所有新特性都會加入到這裡，例如RDP遠端桌面協定。Microsoft WSLg也有採用Weston做顯示Linux圖形程式之用。由於是參考實作，功能有限，不像Sway那樣適合當桌面環境使用，僅適合執行單一程式。\nGamescope：Valve專為Steam玩遊戲打造的迷你合成器，可以縮放內容，以及讓部份Steam遊戲支援HDR。僅適合執行單一程式。\n此外，Cage、Sway、Hyperland、Kwin、Gnome Mutterl應該也能用巢狀方式執行，不過他們的設計複雜容易出問題，所以還是用較簡單的Weston吧。\n2. 安裝Weston # 許多Linux發行版套件庫都有收，例如Ubuntu\nsudo apt install weston 若要體驗最新功能，需要參考開發者指示手動編譯。\n3. Weston啟動方式 # Weston支援多種圖形渲染後端，當它在X伺服器環境啟動的時候，就會變成X伺服器的客戶端。\n確認你目前的工作階段是為X11 echo $XDG_SESSION_TYPE 從Linux終端機啟動weston weston 然後會跳出一個大視窗。Weston是極簡的合成器，內部只有幾個Wayland範例程式。 開啟Weston內的終端機，檢查目前的工作階段環境變數\necho $XDG_SESSION_TYPE 如果不是顯示\u0026quot;wayland\u0026quot;就強制指定。 export XDG_SESSION_TYPE=wayland 因為Weston內部沒有應用程式選單的組件，所以你得從終端機用指令啟動程式。 # 以Wayland模式啟動Firefox MOZ_ENABLE_WAYLAND=1 firefox 如此一來，Weston視窗內的所有程式都會認為自己跑在Wayland環境了。 目前沒有在Weston貼上剪貼簿的方法。\n4. 調整Weston啟動時的設定檔 # 檔案寫在~/.config/weston.ini\n設定檔格式：每個區塊都是用中括號包起來，並在下面填寫選項。\n如果有的程式只支援X11，加入該選項可以允許程式跑在XWayland\n[core] xwayland=true 設定不要自動鎖定螢幕\n[core] idle-time=0 此選項可設定桌布\n[shell] background-image=/home/user/Pictures/background.png background-type=scale-crop 設定縮放係數\n[output] scale=2 至於預設視窗的長寬，可以附加在指令後面作為引數：weston --width 1024 --height 768。或者寫在weston.ini，這裡output要注意，如果是在X11工作階段執行Weston，代表使用X11後端，則name後面一定要填寫X1。\n[output] name=X1 mode=1920x1080 順帶一提，Weston安裝後會自動註冊在顯示管理器（GDM、SDDM、LightDM）欄位，成為可以登入的桌面工作階段。不過正如上面所說的，Weston功能太少不適合當桌面環境使用。\n這個檔案位於/usr/share/wayland-sessions/weston.desktop\n參考 # Weston - ArchWiki Weston概览：架构、配置、启动、代码 - Arnold Lu ","date":"2024年7月12日","externalUrl":null,"permalink":"/posts/linux-nested-weston-session/","section":"所有文章","summary":"Run Wayland applications on X server.\n有程式限制Wayland-only，但Wayland的bug好多，不想開Wayland桌面環境執行，那麼不妨使用巢狀Wayland工作階段的解決方案吧！\n巢狀Wayland工作階段 (nested Wayland session) 意即在X11工作階段跑一個Wayland合成器，也就是Wayland on X Server！剛好跟XWayland反過來，現在是WaylandX！\n通常作法是跑一個大視窗，讓所有Wayland程式跑在視窗裡面，不受外界影響，還可以吃到Linux的GPU加速呢！\n有了巢狀Wayland工作階段，可以方便你評估應用程式在Wayland下的表現。\n有什麼程式是一定要Wayland的？目前我想到的就是Waydroid，需要Wayland才能顯示Android畫面，還有一些測試新興技術的玩意！ 在Weston視窗跑vkcube-wayland，測試Wayland環境下的Vulkan支援程度\n1. 選擇Wayland合成器 # 說到可以在X11下跑的Wayland合成器(compositor)，你有以下選擇。\nWeston：Wayland官方參考實作，所有新特性都會加入到這裡，例如RDP遠端桌面協定。Microsoft WSLg也有採用Weston做顯示Linux圖形程式之用。由於是參考實作，功能有限，不像Sway那樣適合當桌面環境使用，僅適合執行單一程式。\nGamescope：Valve專為Steam玩遊戲打造的迷你合成器，可以縮放內容，以及讓部份Steam遊戲支援HDR。僅適合執行單一程式。\n","title":"Weston合成器用法：X11跑巢狀Wayland工作階段","type":"posts"},{"content":"Convert images or videos to AVIF or animated AVIF (AVIFS)。\n本文Ivno列出一些轉檔XX圖片格式為AVIF/AVIFS的開源工具供參考，並提供將AVIF轉成JPEG/PNG的方法。\nAVIF (副檔名.avif) 是2019年出現的新一代網路圖片格式，圖片壓縮後比JPEG品質要好，且壓縮效率更高，有效減少檔案容量。AVIF尚支援透明圖層、無損壓縮、10-bit位元深度、ICC色彩描述檔等等。\n例如下面是一張AVIF圖片，用Chromium系瀏覽器應可正常瀏覽。 AVIF另支援製作動圖(animated AVIF)，稱之為image sequence，跟AV1影片編碼淵源頗深。有時候AVIF動圖副檔名會用.avifs或.avis，但瀏覽器和圖片檢視器應會自動判別，因此使用.avif當副檔名就好。\n下面是幾張AVIF動圖，Chromium系瀏覽器按右鍵開新視窗應可正常播放。\n目前最新的瀏覽器與主流作業系統皆支援AVIF。最新版Chromium系和Firefox都可以顯示AVIF動圖了。\n1. 圖形轉檔工具 # GIMP 2.10以上版本支援處理AVIF格式的圖片，可以匯入AVIF與輸出AVIF，或是將AVIF轉檔成PNG/JPEG格式。但是不支援AVIF動圖。\n點選檔案 → 開啟，選取圖片，再點選匯出(Export)，選取HEIF/AVIF格式即可。 同上，Krita 5.2.3也可以處理AVIF格式的圖片。但是不支援AVIF動圖。 瀏覽器擴充功能WebP / Avif image converter則是可以在下載網頁圖片的時候自動把AVIF轉成JPEG格式。\n若要處理AVIF動圖，建議使用指令轉檔。\n2. 指令轉檔工具 # 1. 前置條件 # 作業系統：Ubuntu\n以下是本篇文章會用到的軟體，全都是開源跨平台的，Ubuntu請直接用APT安裝。\n名稱 說明 下載點 libavif AVIF函式庫 Github rav1e AV1編碼器 Github aom AV1編碼器 Google git imagemagick 影像處理工具 官網 ffmpeg 視訊處理工具 官網 gpac 視訊處理工具 Github av1an 視訊處理工具 Github 2. GIF動圖轉AVIF動圖 # 參考\n用ffmpeg將GIF轉成未壓縮的yuv，再丟給avifenc編碼成AVIF。\nffmpeg -i input.gif -strict -1 -f yuv4mpegpipe -pix_fmt yuva444p - | avifenc --stdin output.avif 3. JPEG / PNG 轉AVIF # Image Magick支援轉換靜態圖片為AVIF，並且可以設定品質。\n詳細討論\n因為JPEG(JPG)圖片多半有壓縮過，轉AVIF維持90%品質。\nmagick convert input.jpeg -quality 90% output.avif PNG轉AVIF可使用50%品質，能大幅縮小檔案容量\nmagick convert input.png -quality 50% output.avif 批次大量轉檔的指令：\nmagick mogrify -format avif -quality 90 -type truecolor -alpha on *.png 4. WebP (靜態) 轉AVIF # WebP轉AVIF使用50%品質，容量縮小不明顯\nmagick convert input.webp -quality 50% output.avif 5. WebP (動圖) 轉AVIF # WebP轉AVIF可以縮小圖片容量。\n目前沒有工具能直接轉換，FFMPEG不支援動圖轉影片。所以要繞點圈子，步驟如下。\n將webp的畫格抽取成一張張的png： magick convert input.webp -coalesce input%05d.png 再將PNG合成為MP4，使用AV1編碼 ffmpeg -framerate 30 -pattern_type glob -i \u0026#39;*.png\u0026#39; -c:v libxaom -pix_fmt yuv420p output.mp4 最後用MP4Box將MP4轉成AVIF MP4Box -add-image output.mp4:id=1:primary -new output.avifs MP4Box -ab avis -ab msf1 -ab miaf -ab MA1B -rb mif1 -brand avis output.avifs MP4Box -add output.mp4:hdlr=pict:ccst:name=\u0026#34;GPAC avifs\u0026#34; output.avifs 6. MP4/WebM 影片轉AVIF動圖 # 參考\nAVIF(S)的動圖編碼器為AV1，跟MP4一樣只是影片容器，所以有些瀏覽器會直接把它認成MP4。\n任何影片格式(mp4、mkv、webm、avi、mov\u0026hellip;) 需要先確認影片編碼器是AV1，才可以用MP4Box轉成AVIF動圖。\n如果不是AV1編碼，使用Av1an將影片轉成AV1編碼(提高cq-level數值以換取更小檔案)，詳細討論 av1an -i \u0026#34;input.mp4\u0026#34; -v \u0026#34;--end-usage=q --cpu-used=6 --threads=8 --cq-level=30\u0026#34; 再用FFMPEG將MKV原封不動轉成MP4並刪除音訊 ffmpeg -i input_aom.mkv -c copy -an output.mp4 用MP4Box將MP4轉成AVIF(S) MP4Box -add-image output.mp4:id=1:primary -new output.avifs MP4Box -ab avis -ab msf1 -ab miaf -ab MA1B -rb mif1 -brand avis output.avifs MP4Box -add output.mp4:hdlr=pict:ccst:name=\u0026#34;GPAC avifs\u0026#34; output.avifs 7. AVIF轉檔為JPEG/PNG # AVIF要轉為JEPG和PNG很簡單，把Image Magick的指令倒轉即可。\nAVIF轉JPEG：\nmagick convert input.avif -quality 90% output.jpeg AVIF轉PNG可保留透明度：\nmagick convert input.avif -quality 90% output.png ","date":"2024年7月11日","externalUrl":null,"permalink":"/posts/convert-images-to-avif-command-lines/","section":"所有文章","summary":"Convert images or videos to AVIF or animated AVIF (AVIFS)。\n本文Ivno列出一些轉檔XX圖片格式為AVIF/AVIFS的開源工具供參考，並提供將AVIF轉成JPEG/PNG的方法。\nAVIF (副檔名.avif) 是2019年出現的新一代網路圖片格式，圖片壓縮後比JPEG品質要好，且壓縮效率更高，有效減少檔案容量。AVIF尚支援透明圖層、無損壓縮、10-bit位元深度、ICC色彩描述檔等等。\n例如下面是一張AVIF圖片，用Chromium系瀏覽器應可正常瀏覽。 AVIF另支援製作動圖(animated AVIF)，稱之為image sequence，跟AV1影片編碼淵源頗深。有時候AVIF動圖副檔名會用.avifs或.avis，但瀏覽器和圖片檢視器應會自動判別，因此使用.avif當副檔名就好。\n下面是幾張AVIF動圖，Chromium系瀏覽器按右鍵開新視窗應可正常播放。\n目前最新的瀏覽器與主流作業系統皆支援AVIF。最新版Chromium系和Firefox都可以顯示AVIF動圖了。\n1. 圖形轉檔工具 # GIMP 2.10以上版本支援處理AVIF格式的圖片，可以匯入AVIF與輸出AVIF，或是將AVIF轉檔成PNG/JPEG格式。但是不支援AVIF動圖。\n","title":"使用開源工具將圖片影片轉檔成AVIF動圖（ImageMagick、ffmpeg、av1an）","type":"posts"},{"content":"要在Linux系統跑Android APP，Ivon在Linux的Android模擬器一文提過多種方案。本篇文章Ivon要介紹Android-x86分支「Bliss OS」。 Bliss OS算是Android-x86的改進版，可以安裝在實體機和虛擬機，支援許多新硬體，例如Intel 10代處理器以後的GPU。Android版本也更新的比較快。\n內建Google Play商店，不用另外裝轉譯器也能玩64位元的3D遊戲，可以說是很大的進步了。\n本文將討論在Linux安裝Bliss OS的QEMU/KVM虛擬機，透過virglrenderer走虛擬機的GPU加速，使其能夠玩手遊。\n影片版安裝過程參考：\n1. 為何要選擇Bliss OS？ # 相關文章：Android-x86優質替代品 - Bliss OS介紹\nBliss OS是基於Android-x86開發的Android系統，專門設計給x86架構的電腦、平板跑Android用。在Android-x86的基礎上預載了許多實用工具，並保持活躍的開源更新模式。\n比較一下便可知道，Android-x86官方網站最新的版本是Android 9.0，而Bliss OS最新測試版已來到Android 13。\nAndroid版本舊看似不是大問題，但是在ARM轉譯上就有很大差距。Android-x86 9.0依賴Intel的「liboudini」技術，在x86架構的Android系統上執行ARM架構的APK，但只支援到32位元ARM-v7eabi的APK而已，現在有越來越多開發者只提供64位元ARM-v8a的APK哪。因此我們得改用Android 11以上的libhoudini，以相容64位元ARM架構的APK。\n除了Android版本較新能相容更多電腦硬體外，Bliss OS也加入了一些讓Android變得像電腦的功能，例如強制旋轉、按鍵映射、遊戲模式、模擬觸控點擊、KernelSU（更難偵測到的root權限）等實用功能，還有用「Gearlock」取代傳統的Android recovery。\n順帶一提，Bliss OS的開發團隊同時也有研發Waydroid，所以二者的功能有些類似。\n2. 安裝虛擬機需要的軟硬體 # 我的系統規格：\nCPU：Intel i5-10210U GPU：Intel® UHD Graphics 620 Android-x86版本：11.0 QEMU版本：8.1.1 virglrenderer版本：0.10.4 請確認CPU已經開啟虛擬化、KVM核心模組已經載入。\n請在Linux系統安裝QEMU、Libvirt、Virt Manager套件。Ubuntu參考這篇安裝。Arch Linux參考這篇安裝。\n接著準備相容的顯示卡，virglrenderer是半虛擬化的GPU技術，可讓QEMU/KVM虛擬機在免GPU直通下獲得3D硬體加速。\nvirglrenderer建議使用Intel與AMD顯示卡，Nvidia閉源驅動的virglrenderer不是很穩定。\n如果要搞GPU直通，Nvidia在Android的驅動有問題，因此必須改用Intel或AMD GPU。\n如果你是Nvidia顯示卡，建議放棄硬體加速，使用Bliss OS的No HW Acceleration模式開機。\n3. 開始安裝Bliss OS系統，硬碟分割 # Bliss OS官方網站提供各種版本的ISO，安裝方式大同小異。\nBliss OS 14（Android 11）和Bliss OS 15（Android 12L）使用Intel libhoudini轉譯ARM架構的APK，在那之後的版本則是改用Google libndk。\n這裡使用Bliss OS 15做示範。\n至官網或者SourceForge下載ISO，選擇內建GApps的版本 (Bliss OS 15.9.x (x86_64-v2) with GApps)。然後檢查檔案完整性防止檔案毀損。 開啟Virt Manager，新增虛擬機，選取ISO，系統選擇Android-x86 建議分配8GB RAM、4核心CPU。RAM越大越好，因ARM指令轉譯有時會佔用大量RAM。 至少分配64GB虛擬硬碟 勾選在安裝前自訂配置 晶片組類型選擇Q35，韌體選擇UEFI (OVMF_CODE.fd) 將硬碟設定為VirtIO 將CDROM改為SATA 將開機裝置全部勾選，並將CDROM放到最上面 將Spice監聽類型設為無，並勾選OpenGL，裝置選取Intel顯示卡 將顯示卡設定為VirtIO，並勾選3D加速。這裡的3D加速是使用VirGL達成的，參見Linux透過virtio-gpu virglrenderer給QEMU/KVM虛擬機3D加速。 點選開始安裝系統\n用鍵盤選取Bliss OS Installation 按Etner，選取Create/Modify Partition 確認使用GPT分割表 用鍵盤操作：鍵盤左右鍵移動到New，按Enter，輸入+512M，再輸入ef00變更分區類型為EFI。分區名稱設為efi，將第一個分區設為EFI分區。 鍵盤移動到Free Space，按Enter，選取New，全部按Enter，分區名稱輸入android，將第二個分區設為Linux系統分區。（可能因不對齊導致出現三個分區，不用理它） 鍵盤移動到Write，按Enter寫入變更。隨後移動至Quit退出。\n選取分割好的硬碟vda2 將系統格式化為Ext4 安裝EFI/GRUB，並格式化 安裝後，點選Virt Manager的強制關機按鈕。從硬體列表移除CDROM 之後開機，選取第一個選項，預設便會載入virglrenderer加速的系統。如果你要測試沒有硬體加速的選項，請將QEMU顯示卡改成QXL，並在開機的時候選取VM Options → VBox/VMWare - No HW Acceleration開機。 Bliss OS內建Google Play商店，不用認證裝置，可直接登入Google帳號。\nARM轉譯器預設已啟用，不用手動安裝。\n4. 如何修改Bliss OS螢幕解析度 # 在開機選單點選VM Options → Debug QEMU/KVM VirGL，進入Android shell 使用blikid指令查看EFI硬碟分區，通常是/dev/sda1\n掛載EFI分區\nmount /dev/sda1 /mnt 編輯android.cfg cd /mnt/efi/boot vi android.cfg 首先找到linux $kd/kernel這行，在最後面加入video=1920*1080。接著找到set gfxmode=這行，修改解析度。\n重開機\numount /dev/sda1 reboot -f 另一種修改解析度的方法為安裝SecondScreen再強制調整。\n如果改解析度後滑鼠無法同步，那麼得準備第二隻滑鼠，再用Virt Manager的USB重新導向功能直通進去。\nVirt Manager的視窗似乎無法反應Bliss OS虛擬機解析度的變化，導致畫面看起來依然糊糊的。\n5. Bliss OS使用技巧 # Bliss OS預設啟用Boringdroid的桌面模式，系統下方會常駐一條工作列。\n如果有APP需要全螢幕執行，可在系統設定 → Boringdroid → Set full screen app選取。 Bliss OS預裝「Set Orientation」APP可強制旋轉螢幕，不過這個太老了，我認為OHMAE Ryosuke的強制旋轉螢幕更好用。\n截圖請按下滑選單擷取。至於螢幕錄影，virglrenderer錄出來顏色怪怪的，建議用電腦OBS Studio擷取虛擬機視窗。\n原生Android多視窗支援度不是很好，如果硬要的話可以在開發人員選項啟用「自由形式視窗」。\nBliss OS內建KernelSU和Termux，Root權限並非全域啟用，需要對個別APP掛載。 虛擬機ADB連線我是參考Reddit文章用無線連接的。如果要在ADB Shell啟用Root權限：開啟KernelSU授予「com.android.shell」權限即可。\n6. 實際在Bliss OS玩遊戲 # 安裝遊戲建議使用原生支援x86架構的版本，Google Play應該會自動幫你過濾。若安裝ARM架構的APK會導致系統要花額外資源進行轉譯。\n遊戲如果不偵測模擬器應該都開得起來，但部份遊戲播放影片會有問題，應該是virglrenderer的bug。試試在開機選單，使用Debugging選單下的hwcomposer.drm方式開機。\n如果遊戲滑鼠點選沒反應，你可以在系統設定 → Blissify → Force Mouse Click as touch，強制將滑鼠點選事件轉譯成觸控點選。注意開啟此選項會導致滑鼠滾輪失效。 Bliss OS內建「遊戲模式」，在系統設定 → Blissify → Gaming Mode啟用。當使用者開啟遊戲APP的時候，便會自動停用通知，並出現懸浮按鈕方便截圖。 有些遊戲要用按鍵映射才能操作，你可以開啟KernelSU，授予XtMapper Root權限。接著開啟XtMapper，啟用服務，選取APP，設定按鍵綁定。 另外，QtScrcpy的按鍵映射也可以配合虛擬機使用。 為了測試Bliss OS轉譯器能耐，以下遊戲我全部用ARM-v8架構的APK測試。如果Google Play不給安裝，自行找APK。\n《水果忍者》、《Temple Run 2》正常執行。\n接著是《原神》，Waydroid可以跑，理論上Bliss OS應該也行才對\u0026hellip;但virglrenderer不是很穩定，原神v4.1.0編譯著色器會崩潰。\n另一款大型遊戲《幻塔》不用任何指令稿就能成功進入遊戲。\n參考資料 # Bliss OS的Telegram群組 Bliss OS: How to install Bliss OS on Qemu How to edit grub from your Bliss OS install How can I set my android x86 UEFI installation resolution to 1920*1080 in my VM? - Android Enthusiasts Stack Exchange ","date":"2024年7月11日","externalUrl":null,"permalink":"/posts/bliss-os-qemu-installation/","section":"所有文章","summary":"要在Linux系統跑Android APP，Ivon在Linux的Android模擬器一文提過多種方案。本篇文章Ivon要介紹Android-x86分支「Bliss OS」。 Bliss OS算是Android-x86的改進版，可以安裝在實體機和虛擬機，支援許多新硬體，例如Intel 10代處理器以後的GPU。Android版本也更新的比較快。\n內建Google Play商店，不用另外裝轉譯器也能玩64位元的3D遊戲，可以說是很大的進步了。\n本文將討論在Linux安裝Bliss OS的QEMU/KVM虛擬機，透過virglrenderer走虛擬機的GPU加速，使其能夠玩手遊。\n影片版安裝過程參考：\n1. 為何要選擇Bliss OS？ # 相關文章：Android-x86優質替代品 - Bliss OS介紹\nBliss OS是基於Android-x86開發的Android系統，專門設計給x86架構的電腦、平板跑Android用。在Android-x86的基礎上預載了許多實用工具，並保持活躍的開源更新模式。\n比較一下便可知道，Android-x86官方網站最新的版本是Android 9.0，而Bliss OS最新測試版已來到Android 13。\nAndroid版本舊看似不是大問題，但是在ARM轉譯上就有很大差距。Android-x86 9.0依賴Intel的「liboudini」技術，在x86架構的Android系統上執行ARM架構的APK，但只支援到32位元ARM-v7eabi的APK而已，現在有越來越多開發者只提供64位元ARM-v8a的APK哪。因此我們得改用Android 11以上的libhoudini，以相容64位元ARM架構的APK。\n","title":"如何在Linux安裝Bliss OS，支援GPU加速的Android-x86虛擬機，可玩手遊","type":"posts"},{"content":"過去曾經寫過一篇從小到大的聽歌歷史，那麼是時候列出到目前為止，以Ivon有限的知識，所認知的神專輯了。不瞞你說，Ivon個人聽歌是偏向專輯派的。收藏歌曲以專輯為單位。\n如果真要喜歡一個歌手或是一組樂團，我會希望他們有很多專輯，首首經典，而不是只有幾首主打歌，甚或是一片歌手。既然認為該樂團有神專輯，那麼我喜歡的專輯一定會超過一張以上。最後，神專輯是可以一聽再聽的也不會覺得膩的。\n此列表的演出者不會重複，涵蓋多國語言與多語種。 由左到右，由上到下，十大神專輯的封面。\n1. Pink Floyd - The Dark Side of The Moon # 發行年份：1973 發行地區：英國 推薦曲目：Time 代表面向：生命 從出生到發瘋。\nPink Floyd各張專輯的歌曲總是充滿迷幻未知的味道，卻又能透露出生命哲理。早期Syd Barret還在的時候走迷幻風格，離開後剩餘團員經歷了一段高度實驗性音樂的時期，在那之後終於脫胎換骨，變成用前衛卻動聽的旋律，搭配哲理歌詞創造出一張張神專輯的樂團。\n2. Flaming Lips - Yoshimi Battles the Pink Robots # 發行年份：2002 發行地區：美國 推薦曲目：Ego Tripping at the Gates of Hell 代表面向：信心 如果你沒嘗試過，又怎麼知道結果？\nFlaming Lips在音樂風格上力求創新獨特，除了早期幾張實驗性高的專輯外，他們的歌曲都能讓你知道生活的樣貌。\n3. 万能青年旅店 - 万能青年旅店 # 發行年份：2010 發行地區：中國 推薦曲目：揪心的玩笑与漫长的白日梦 代表面向：青春 万能青年旅店比較特別的是從成立到現在指出了二張專輯，第一張寫人生迷茫的方向，還有對歷史的思考。之後的專輯格局進一步放大，寫到了自然與文明精神的墮落。姬賡的歌詞微言大義，若不深入思考便不能得其解。\n4. 安溥 - 神的遊戲 # 發行年份：2012 發行地區：台灣 推薦曲目：藍天白雲 代表面向：情緒 我曾經眼裡只有你，但是日子久了之後，玫瑰也會凋謝。\n安溥（張懸）在訪談說過，她的歌詞沒有為誰特定的寫，破碎的意象似乎總能符合聽歌者當下面臨的狀況，從而找到自己的缺口被人填滿的感覺。\n5. 林強 - 娛樂世界 # 發行年份：1994 發行地區：台灣 推薦曲目：娛樂世界 代表面向：現實 什麼樣的人民就有什麼樣的政府。\n林強早期和現今的風格變化很大，這張可以說是轉捩點，自此之後，他不再製作迎合市場的台語流行歌曲，而是更加表露自己的想法。\n6. Radiohead - The Bends # 發行年份：1995 發行地區：英國 推薦曲目：Fake Plastic Trees 代表面向：態度 如果我可以成為你想要的樣子的話\u0026hellip;。\nRadiohead可說是反對自己風格的最佳寫照，早期仍帶有英倫搖滾的味道，充滿激情與叛逆，卻在千禧年後親手打碎，走向更為撲逤迷離的風格。即使如此，他們的歌曲依然動聽。\n7. อัสนี-วสันต์ - ฟักทอง # 發行年份：1989 發行地區：泰國 推薦曲目：ยินดีไม่มีปัญหา 代表面向：熱情 生而為人，我很快樂。\nอัสนี-วสันต์（阿撒尼 哇三）兄弟檔製作的歌曲都聽了讓人對生活樂觀起來，即使是情歌亦是如此。\n8. 末廣健一郎 - TVアニメ「少女終末旅行」オリジナルサウンドトラック # 發行年份：2017 發行地區：日本 推薦曲目：終ワリノ歌 代表面向：憂慮 即使在這個沒有意義的世界，偶爾也有好事會發生的。\n末廣健一郎專職為動畫製作背景音樂，因應不同作品導致音樂風格差異甚大。這張《少女終末旅行》原聲帶專輯表現的是平靜又帶有悲悽感的氛圍，尤其〈夜想曲第2番 変ホ長調 op.9-2 -ノクターン- 〉一響起便會讓人想到動畫那紀錄人類滅亡前種種的畫面\u0026hellip;\n9. C418 - Minecraft – Volume Alpha # 發行年份：2011 發行地區：美國 推薦曲目：Living Mice 代表面向：念舊 過去的記憶已不可追，可總是縈繞在心頭。總是認為，我不屬於這個時代的想法的具現化。\nC418 (Daniel Rosenfeld) 創作的歌曲都有莫名的憂傷感，又帶有奇幻的氛圍，總是能讓人在音波中尋得一絲靜謐感。\n10. 周杰倫 - 范特西 # 發行年份：2001 發行地區：台灣 推薦曲目：對不起 代表面向：幻想 開不了口的感覺，陳在過往的記憶。\n毫無疑問，周杰倫2011年《驚嘆號》以前推出的專輯，風格多樣，主題多元，每首都是神曲。這張專輯的主題依然多樣，每首的經典程度都不分軒輊。\n還沒結束 # 雖然認為是神專輯，但不代表我現在常聽，上述的專輯不過是我認為「從古至今最好的專輯」罷了，排行榜未來也可能會變動。其實人的喜好一直都在變化，至少我本人是以年為單位來計算。若要讓數字來論證我最當下喜歡的專輯的話，請到我的last.fm頁面查看：https://www.last.fm/user/ivon852\n","date":"2024年7月9日","externalUrl":null,"permalink":"/posts/my-top-10-albums-of-all-time/","section":"Musics","summary":"過去曾經寫過一篇從小到大的聽歌歷史，那麼是時候列出到目前為止，以Ivon有限的知識，所認知的神專輯了。不瞞你說，Ivon個人聽歌是偏向專輯派的。收藏歌曲以專輯為單位。\n如果真要喜歡一個歌手或是一組樂團，我會希望他們有很多專輯，首首經典，而不是只有幾首主打歌，甚或是一片歌手。既然認為該樂團有神專輯，那麼我喜歡的專輯一定會超過一張以上。最後，神專輯是可以一聽再聽的也不會覺得膩的。\n此列表的演出者不會重複，涵蓋多國語言與多語種。 由左到右，由上到下，十大神專輯的封面。\n1. Pink Floyd - The Dark Side of The Moon # 發行年份：1973 發行地區：英國 推薦曲目：Time 代表面向：生命 從出生到發瘋。\nPink Floyd各張專輯的歌曲總是充滿迷幻未知的味道，卻又能透露出生命哲理。早期Syd Barret還在的時候走迷幻風格，離開後剩餘團員經歷了一段高度實驗性音樂的時期，在那之後終於脫胎換骨，變成用前衛卻動聽的旋律，搭配哲理歌詞創造出一張張神專輯的樂團。\n2. Flaming Lips - Yoshimi Battles the Pink Robots # 發行年份：2002 發行地區：美國 推薦曲目：Ego Tripping at the Gates of Hell 代表面向：信心 如果你沒嘗試過，又怎麼知道結果？\n","title":"Ivon個人最喜歡的十大神專輯排行榜","type":"music"},{"content":"","date":"2024年7月9日","externalUrl":null,"permalink":"/tags/the-flaming-lips/","section":"標籤","summary":"","title":"The Flaming Lips","type":"tags"},{"content":"Set up bridged networking with Virt Manager and QEMU/KVM on Linux host.\n1. 問題點 # 宿主機：Ubuntu 24.04 虛擬機：Windows 11 網路架構：Ubuntu電腦透過乙太網路線直接連到數據機(Modem)，數據機還有開Wifi。 Windows虛擬機使用Virt Manager預設NAT的網路上網，但虛擬機內的SMB服務無法被同Wifi網路下的其他裝置存取。所以我要建立一個新的虛擬網路橋接器(或稱網橋)，讓Windows虛擬機裡面系統跑的SMB服務可以從外部網路存取。\n為何要建立新的橋接器？\n在你安裝Virt Manager之後，Libvirt會在Linux新增一個叫做「virbr0」的虛擬橋接器(virtual bridge)，就是你在Virt Manager選單看到的那個Default網路，負責處理虛擬機的網路連線。 virbr0本身是作為虛擬NAT，在虛擬機開機後，Libvirt會再新增一個vnet的界面連到virbr0，此時所有虛擬機位於該虛擬NAT之後，虛擬機可連線到外部網路，宿主機能連線到虛擬機，各個虛擬機之間也可以互相連線。但是你無法從外部網路連線到虛擬機。 圖片來自RHEL 8 Documentation\n要讓外部網路連線到躲在虛擬NAT背後的虛擬機，是可以透過調整\u0026quot;iptables forward\u0026quot;規則的方式達成啦，但是規則設定上很麻煩，不如另外弄個完整的橋接器吧，讓它使用橋接網路模式(bridged networking)。\nLinux的橋接網路可以在多個裝置之間轉送封包。我們會建立一個新的虛擬橋接器「br0」，並把宿主機的實體乙太網路界面連上該橋接器，如此一來就能從外部網路存取虛擬機服務了。 圖片來自RHEL 8 Documentation\n在新增br0虛擬橋接器之後，你還是可以讓虛擬機使用原本的virbr0連線。\n建議不要使用Wifi無線網路裝置橋接，否則會多一道建立hostapd的手續。請在有乙太網路的狀態下建立橋接器。\n2. 設定Libvirt # 請先安裝QEMU/KVM與Virt Manager。\n用virsh指令列出所有虛擬網路界面\nsudo virsh net-list --all 列表應該會看到有名為default的網路界面，裝置為virbr0，此為Libvirt自動建立，這就是上面說的預設橋接器。 # 範例輸出 Name State Autostart Persistent ---------------------------------------------------- default active yes yes 3. 用NetworkManager建立虛擬橋接器 # 很多工具都能建立橋接器，比如NetworkManager、Netplan、iproute2、Network Bridge Utilities，還有KDE和GNOME的圖形界面。\n鑑於很多Linux發行版都用NetworkManager管網路，我們就用附屬的nmcli工具來建立橋接器吧。\n透過sudo nmcli device status指令檢視連線，得知目前乙太網路連線的裝置(Device)名稱為enp0s2，網路連線名稱(Name)為乙太網路連線1 # 範例輸出 NAME UUID TYPE DEVICE 乙太網路連線1 b32df45e-3d34-11ef-8781-ebb418880514 ethernet enp2s0 透過ip addr得知我的區域IP網段為192.168。 # 範例輸出 2: enp2s0: \u0026lt;BROADCAST,MULTICAST,UP,LOWER_UP\u0026gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether b0:6e:bf:ca:68:94 brd ff:ff:ff:ff:ff:ff inet 192.168.1.102/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0 新建一個叫做br0的橋接器，關閉STP sudo nmcli connection add type bridge ifname br0 stp no 將enp2s0設定為br0的bridge-slave sudo nmcli connection add type bridge-slave ifname enp2s0 master br0 關閉目前的乙太網路連線（如果你用SSH連線這步可以先跳過） sudo nmcli connection down \u0026#34;乙太網路連線1\u0026#34; 確保它不會自動重新連線 sudo nmcli connection modify \u0026#34;乙太網路連線1\u0026#34; connection.autoconnect no 啟用剛剛新建的橋接器 sudo nmcli connection up bridge-br0 sudo nmcli connection up bridge-slave-enp2s0 用指令sudo nmcli connection show --active檢視橋接器狀態，確認連線名稱(Name)為bridge-br0 # 範例輸出 NAME UUID TYPE DEVICE bridge-br0 50b8e41e-3d34-11ef-a6b9-13326122fb1e bridge br0 bridge-slave-enp2s0 52dd08d8-3d34-11ef-8017-8fce9b54d32b ethernet enp2s0 接著分配固定IP給bridge-br0 sudo nmcli connection modify \u0026#34;bridge-br0\u0026#34; ipv4.addresses \u0026#34;192.168.1.101/24\u0026#34; 然後設定bridge-br0使用Google的DNS sudo nmcli connection modify \u0026#34;bridge-br0\u0026#34; ipv4.dns \u0026#34;8.8.8.8\u0026#34; 重新啟用連線 sudo nmcli connection up bridge-br0 使用指令sudo ip addr show br0確認連線狀態 # 範例輸出 11: br0: \u0026lt;BROADCAST,MULTICAST,UP,LOWER_UP\u0026gt; mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 46:d0:69:ba:ce:f5 brd ff:ff:ff:ff:ff:ff inet 192.168.1.102/24 brd 192.168.1.255 scope global noprefixroute br0 valid_lft forever preferred_lft forever 4. QEMU/KVM虛擬機端的設定 # （選擇性）使用sysctl關閉Linux核心的Netfilter功能，提昇虛擬機網路效能 sudo mkdir /etc/sysctl.d sudo bash -c \u0026#39;cat \u0026lt;\u0026lt; EOF \u0026gt; /etc/sysctl.d/99-netfilter-bridge.conf net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 EOF\u0026#39; 載入br_netfilter核心模組，並設定開機自動載入 sudo modprobe br_netfilter echo \u0026#34;br_netfilter\u0026#34; | sudo tee -a /etc/modules-load.d/br_netfilter.conf 套用設定 sudo sysctl -p /etc/sysctl.d/99-netfilter-bridge.conf 新建一個虛擬網路定義檔bridged-network.xml cat \u0026lt;\u0026lt; EOF \u0026gt; ~/bridged-network.xml \u0026lt;network\u0026gt; \u0026lt;name\u0026gt;bridged-network\u0026lt;/name\u0026gt; \u0026lt;forward mode=\u0026#34;bridge\u0026#34; /\u0026gt; \u0026lt;bridge name=\u0026#34;br0\u0026#34; /\u0026gt; \u0026lt;/network\u0026gt; EOF 用virsh指令，按照xml內容新增一個叫做bridge-network的網路 sudo virsh net-define ~/bridged-network.xml 設定開機自動啟動bridged-network sudo virsh net-start bridged-network sudo virsh net-autostart bridged-network 開啟Virt Manager，調整虛擬機網路，選取bridged-network 開機後Windows應該會自動連上網路，並取得一個區域IP。自此之後，Windows的SMB服務就能讓同一Wifi下的其他裝置存取了。 如果虛擬機本身需要固定IP，請在虛擬機內部設定。Windows開啟「網路和網際網路設定」調整，Linux則是使用nmcli指令修改。\n參考資料 # libvirt: Bridged networking (aka \u0026ldquo;shared physical device\u0026rdquo;) Chapter 14. Configuring virtual machine network connections - Red Hat Enterprise Linux 8 Documentation KVM Virtual Networking Concepts - NovaOrdis Knowledge Base How to set up a network bridge for virtual machine communication - Red Hat How to use bridged networking with libvirt and KVM - LinuxConfig.org ","date":"2024年7月8日","externalUrl":null,"permalink":"/posts/qemu-kvm-bridged-networking/","section":"所有文章","summary":"Set up bridged networking with Virt Manager and QEMU/KVM on Linux host.\n1. 問題點 # 宿主機：Ubuntu 24.04 虛擬機：Windows 11 網路架構：Ubuntu電腦透過乙太網路線直接連到數據機(Modem)，數據機還有開Wifi。 Windows虛擬機使用Virt Manager預設NAT的網路上網，但虛擬機內的SMB服務無法被同Wifi網路下的其他裝置存取。所以我要建立一個新的虛擬網路橋接器(或稱網橋)，讓Windows虛擬機裡面系統跑的SMB服務可以從外部網路存取。\n為何要建立新的橋接器？\n在你安裝Virt Manager之後，Libvirt會在Linux新增一個叫做「virbr0」的虛擬橋接器(virtual bridge)，就是你在Virt Manager選單看到的那個Default網路，負責處理虛擬機的網路連線。 virbr0本身是作為虛擬NAT，在虛擬機開機後，Libvirt會再新增一個vnet的界面連到virbr0，此時所有虛擬機位於該虛擬NAT之後，虛擬機可連線到外部網路，宿主機能連線到虛擬機，各個虛擬機之間也可以互相連線。但是你無法從外部網路連線到虛擬機。 圖片來自RHEL 8 Documentation\n要讓外部網路連線到躲在虛擬NAT背後的虛擬機，是可以透過調整\"iptables forward\"規則的方式達成啦，但是規則設定上很麻煩，不如另外弄個完整的橋接器吧，讓它使用橋接網路模式(bridged networking)。\n","title":"Linux Virt Manager將網路設定為橋接模式，讓外網可以連線到QEMU/KVM虛擬機","type":"posts"},{"content":"","date":"2024年7月8日","externalUrl":null,"permalink":"/ja-jp/tags/libvirt/","section":"Tags","summary":"","title":"Libvirt","type":"tags"},{"content":" Linuxを学ぶ歩みでは触れなかった外伝ストーリー！QEMU/KVMスキルツリー。\n現時点で、GNU/Linuxシステムによくある仮想化ソフトウェアには：\nQEMU/KVM、Virt ManagerまたはGNOME Boxesと組み合わせて管理 Oracle VirtualBox VMware Xen なぜ本サイトの「仮想マシンとコンテナ技術」分類の記事で扱う仮想マシンソフトウェアは、ほとんどQEMU/KVMなのか？（少なくとも今のところ）これは私のQEMU/KVMへの沈迷から話さなければならない。\n不肖ながら、Linux仮想化に関する理解もまだ一瓢飲の程度にすぎない。\n1. グラタン風スパゲッティとQEMU/KVM # 今までQEMU/KVM仮想マシンの研究に熱中している理由は、最初にLinuxへ移行したかったが、Windows機能へのアクセスを失うことを心配していたからだ。\n2022年以前は、まだ邪教めいた自由ソフトウェアイデオロギーに触れていなかったので、私は当然Windowsを手放せなかった。Wineの存在を知っていても、必要な時にソフトウェアを動かせるよう、すぐWindows環境を作れる仮想マシンが欲しかった。\n（後知恵：二年後に資工系でC#プログラムを学ぶことになり、仮想マシンが命を救い、Visual Studioをインストールして課題を完成できるとは思わなかった。）\nそれ以前にも仮想マシン操作の経験は少しあったが、実は背後の原理はあまり理解しておらず、VirtualBoxとVmwareは直感的で使いやすいと感じていただけだった！システムはさっとインストールできた。QEMU/KVMは私にとって未知の領域だった。\n私はおぼろげに、仮想マシン最大の弱点はグラフィック処理能力だと理解していた。そこで大学二年の時（2020年）からGPUパススルー技術の研究を始めた。\n屏東大学の学生寮付属の学食で、私はグラタン風スパゲッティを注文し、座ってスマートフォンを取り出し、「為了可能的聲音」、「CT Wang」、「如何在Linux打LOL」、「鳥哥」などの人が書いた文章を読みながら、GPUパススルーの方法を研究し始めた。\n同じ時期に、実機へHackintoshをインストールすることも試した。記事を読み、寮に戻ってテストしたら本当に成功した！ああ、でもサウンドカードkextを解決できなかったので、すぐ諦めたㄌ\n店が提供する小さな碗に料理が盛られ、スパゲッティはアルミホイルの真ん中に包まれ、上には熱々のグラタン生地が覆っていた。フォークで突き破ると、とろみをまとったトマト麺と生地が巻き付き、口に入れるとサクサクで甘酸っぱく、本当に美味しかった。\nマンマミーア、ネット記事に何が書いてあるのかまったくわからない。IOMMU、VFIO、nouveauブラックリストって何のこっちゃ！？なぜ誰も彼もGPUパススルーの紹介を論文みたいに書くのか。読んでいるうちに麺も食べ終わったので、やめて寝た！\nゆっくり2022年になって、私は初めてUbuntuでGPUパススルーに成功した。突然悟ったわけではなく、試行錯誤を重ねて成功しただけだ。なにせ当時はvimすら使えなかった時期だった。\n初めて何かを成し遂げた喜びはいつも盛大で、踊り出しそうなほどだった。だから私はGPUパススルー手順を細かく旧「Ivonの実験室」ブログに書いた。この文章は後にこのブログへ移動した：Ubuntu Nvidia GPU直通教學\nその後、大distro-hopping時代に入ったが、QEMU/KVMを忘れることはなかった。これは必ず毎回システムを入れる時にインストールするソフトウェアだ。\n異なるLinuxディストリビューションで似た手順を繰り返し、GPUパススルーを何度もやるうちに、手順への熟練度もかなり高まった。背後の論理関係も少しずつ探り出した。\nVirt ManagerにはGUIが使えるのに、なぜ多くの人がコマンドラインのvirt-installで仮想マシンを追加し、さらにvirshコマンドの使い方を重点的に紹介するのか、私にはわからない。もちろん、それは各人の関心の向きが違うだけだ。なにせ私は仮想マシンで遊びたいのであって、本当にサーバーを管理したいわけではない。\n2022年、BlissOSで遊んでいる時についでにvirglrendererの準仮想化GPUアクセラレーション技術を学んだ。\n2023年、Looking Glassを使って仮想マシン画面を取得し、外部モニターを置き換える使い方を覚えた。ついでにゲームによるQEMU/KVM仮想マシン検知を回避する技巧も学んだ。\nGPUパススルー以外にも、VirtIO-FS、容量拡張、リモート仮想マシンデスクトップの使い方など、多くのLibvirt関連技術もついでに学んだ。これはまさに学びに終わりなしと言える。\n今では、すでに四年研究している。断続的にようやくLibvirtとQEMU/KVMの緩く複雑な関係を理解してきた。私のような学習速度なら、資工系の授業を履修していたらとっくに100回落とされている。\n2. QEMU/KVMを使う利点 # なぜQEMU/KVMをデスクトップ版Linuxの仮想化案として語る人は少ないのか？ユーザーはサーバー運用保守エンジニアが中心のようで、そうでなければファームウェアを書くエンジニアがコマンドラインでQEMUを走らせている。ではQEMU/KVM仮想マシンを使うことには、いったいどんな優勢があるのか？\nRedHat公式サイトの説明を参考にすれば、Vmwareと比べて、コスト、拡張性、オープンソース、柔軟性がQEMU/KVMの利点だ。\nしかし私は、柔軟性こそ最大の欠点でもあると思う。\n多くの初心者デスクトップLinuxユーザーはVirtualboxやVmwareのような仮想化案を好むようだ。その理由は理解しやすい。参考資料が比較的多く、クロスプラットフォームで、始めやすいからだ。\nそれに比べて、QEMU/KVMの案は非常に緩い組み合わせであり、マーケティングには不利だ。QEMU/KVMパッケージ以外にも、Libvirt、virsh、Virt Manager、Virt Viewer、OVMF、VirtIO、swtpmなどのサービスをインストールして、初めて組み合わせられる。そして最後まで遊ぶと、Virt Managerは単なるフロントエンドにすぎないとわかる！背後で本当に動いている仮想マシンはLibvirtとQEMU/KVMだ。さらにひどいことに、GUIはLibvirtのすべての機能を管理できない。時には仮想マシンXMLを手動編集したり、コマンドを打ったりしなければならない。これはかなり不親切だ。\nもしかすると、本当にQEMU/KVM機能を必要とするユーザーは、皆そのままProxmox VEを入れているのではないか？あれのWeb管理インターフェイスはとても使いやすい！\nしかしデスクトップLinux中心の使用環境に戻ると、本当に「自由ソフトウェア」の解決策が必要で、なおかつ「PCI Passthrough」機能を満たしたいなら、前の二つの仮想マシンソフトウェアは同時には満たせない。\nさらにQEMU/KVMは多くのツールから管理できる。たとえばLibvirt、virsh、Virt Manager、Cockpit、oVirt、GNOME Boxesなどだ。\nこれこそQEMU/KVMの利点である。\nなぜ私の記事では「QEMU/KVM」と強調し、KVMだけと書かないのか。それはソフトウェア開発者にも同等の重視を受けてほしいからだ。KVMはカーネルモジュールにすぎず、QEMUとの組み合わせがなければ何者でもない。確かに、市場にはQEMUに依存せずKVMを走らせる仮想マシンソフトウェアもある。たとえばAmazon Firecrackerだ。しかし現時点では、QEMUとKVMを組み合わせることが依然として主流のやり方である。\n3. 現在QEMU/KVMを走らせる構成 # 学んだことは限られており、将来構成を変える可能性がある。\n現在の使い方は混合型だ。私はLinuxをデスクトップシステムとして使い、外出時にはSSHと内網穿透ソフトウェアでリモートアクセスし、Linuxをサーバーとして使う。\nPCにはIntel内蔵GPUがあるので、Nvidia GPUパススルー時にもLinuxはデスクトップを使える。大部分の時間、ネットを見るだけならNvidia GPUはあまり必要ない。大型ゲームを遊ぶ時はWindows仮想マシンの中に突っ込む。\nQEMU/KVMを走らせるPCは、CPUとRAMが大きければ大きいほどよい。\nLinuxディストリビューションは安定リリースのもの、つまりUbuntu LTSを選んだ。Arch Linuxのような不安定な環境で動かしたくない。それは仮想マシンの中でテストすればよい。外部の基盤インフラはここまで放蕩であってはならない。\n仮想マシン容量の問題については、かなり愚直に仮想マシンqcow2ファイルを第二のハードディスクへ保存するしかない（だからdistro-hoppingを生き延びられる）。容量が必要な時に手動でqemu-nbdをマウントして調整する。LVMを学んだ後は、こんな愚かな方法は使わなくなるはずだ。その時にはRAIDも学ばなければならない。\n今はGPUを使って何らかのAI演算を走らせる必要がある時、直接実機システムにPythonパッケージをインストールする過去のやり方の代わりに、仮想マシンで走らせている。こうした隔離環境はDockerよりも徹底している。\nNvidiaグラフィックカードを仮想マシンの中に閉じ込めている理由はもう一つある：KDE 5 X11とNvidiaドライバーの組み合わせは画面 tearing が起きやすい。ならばいっそ出てこないで、Intelに画面表示を担当させればよい。\n最後に、私はずっと考えている。いつかいっそUbuntuをProxmox VEに替えたほうがいいのではないか？\nうんうん、やめておこう。私はやはり実体のデスクトップLinuxに存在してほしい。永遠に仮想の機械の中で生きるのではなく。\n","date":"2024年7月8日","externalUrl":null,"permalink":"/ja-jp/posts/the-path-of-learning-qemu-kvm/","section":"Foss-Issues","summary":" Linuxを学ぶ歩みでは触れなかった外伝ストーリー！QEMU/KVMスキルツリー。\n現時点で、GNU/Linuxシステムによくある仮想化ソフトウェアには：\nQEMU/KVM、Virt ManagerまたはGNOME Boxesと組み合わせて管理 Oracle VirtualBox VMware Xen なぜ本サイトの「仮想マシンとコンテナ技術」分類の記事で扱う仮想マシンソフトウェアは、ほとんどQEMU/KVMなのか？（少なくとも今のところ）これは私のQEMU/KVMへの沈迷から話さなければならない。\n不肖ながら、Linux仮想化に関する理解もまだ一瓢飲の程度にすぎない。\n1. グラタン風スパゲッティとQEMU/KVM # 今までQEMU/KVM仮想マシンの研究に熱中している理由は、最初にLinuxへ移行したかったが、Windows機能へのアクセスを失うことを心配していたからだ。\n2022年以前は、まだ邪教めいた自由ソフトウェアイデオロギーに触れていなかったので、私は当然Windowsを手放せなかった。Wineの存在を知っていても、必要な時にソフトウェアを動かせるよう、すぐWindows環境を作れる仮想マシンが欲しかった。\n（後知恵：二年後に資工系でC#プログラムを学ぶことになり、仮想マシンが命を救い、Visual Studioをインストールして課題を完成できるとは思わなかった。）\n","title":"なぜVirt Manager + QEMU/KVMが好きなのか、グラタン風スパゲッティから話そう","type":"foss-issues"},{"content":"Managing remote QEMU/KVM virtual machines with Cockpit web interface.\nIvon這篇要分享一款好用的Linux遠端管理工具。熟悉Libvirt、virsh、Virt Manager的人，一定會覺得如虎添翼！\n想要遠端存取Linux電腦的QEMU/KVM虛擬機，Ivon之前提過Virt Manager遠端SSH連線的方式，不過那樣做的前提是本機系統也得是Linux，才可以安裝全功能的Virt Manager，以控制Libvirt所建立的QEMU/KVM虛擬機。\n如果想要在Windows、macOS、Android、iOS遠端管理QEMU/KVM呢？最好只要有瀏覽器就能存取？\n在此介紹「Cockpit」這款好用的網頁工具。Cockpit意思為駕駛艙、儀表板，這個專案受RedHat公司贊助開發。Cockpit就像是網頁版的Virt Manager，可讓我們從網頁新增、檢視、刪除、備份QEMU/KVM虛擬機，以及管理GPU Passtthrough的裝置。 咦？Cockpit看起來有點像在用Proxmox的面板耶？因為它功能不只這個！Cockpit除了管理虛擬機之外，還可以調整Linux系統的各項設定喔！例如開啟網頁終端機、設定網路界面、調整firewalld防火牆、使用者群組管理、開關系統服務、管理Podman容器等等，可說是全方面的Linux網頁管理系統。 Cockpit跟Virt Manager一樣都算是Libvirt的前端，因此理論上二者建立的虛擬機是可以互通的。\n本文Ivon只討論Cockpit管理QEMU/KVM虛擬機方面的用法。\n1. 安裝Cockpit # 請先在Linux安裝QEMU/KVM與Libvirt相關套件。\n並確保Libirtd服務已經啟動。\nsudo systemctl status libvirtd 接著，參考官方文件部署Cockpit。例如Ubuntu LTS得從backports套件庫裝。 # 印出系統版本代號VERSION_CODENAME，作為環境變數 . /etc/os-release # 從backports套件庫安裝cockpit sudo apt install -t ${VERSION_CODENAME}-backports cockpit # 從backports套件庫安裝cockpit-machine虛擬機管理界面 sudo apt install -t ${VERSION_CODENAME}-backports cockpit-machines 啟動Cockpit系統服務 sudo systemctl enable --now cockpit.socket 開放防火牆，Cockpit預設使用的通訊埠是9090/tcp sudo ufw allow 9090/tcp sudo ufw reload 然後就可以用本機瀏覽器或另一台電腦開啟Cockpit的後台界面了。網址為https://Linux電腦的IP:9090。帳號密碼就是你Linux系統的使用者帳號。要方便管理就直接用root登入吧。 2. 管理QEMU/KVM虛擬機 # 需要安裝cockpit-machine套件，Cockpit網頁左側才會出現「Virtual machines」選單。\n點進去可以看到Linux電腦上的所有虛擬機 編輯硬體方面的用法跟Virt Manager十分類似，例如設定虛擬網路、修改硬體訊息、調整VirtIO共享目錄等，大部份操作都能用圖形界面完成。 若有Cockpit尚未實現的功能，恐怕你還是得用virsh edit指令編輯虛擬機的XML了。\n3. 新增QEMU/KVM虛擬機 # 點選Create VM，然後依照需求建立VM。 如果Installation Type選取Download an OS，則它會自動按照你選的內容下載對應ISO。但是此選項只能用來安裝Linux。\n若要安裝Windows和其他系統，你得自行下載ISO到Linux電腦，再將Installation Type改為Local Install Media並指定ISO路徑才行。\n例如：\n點選Cockpit左下角的Terminal啟動遠端Linux的終端機，執行UUP DUMP的指令稿，取得Windows 11的ISO。\n然後參照下圖填入路徑： 再參考Windows 11 QEMU/KVM安裝方法新增TPM硬體，開始安裝系統。\n4. 存取QEMU/KVM虛擬機桌面 # 如果虛擬機有設定VNC服務，開機後應可從Cockpit網頁直接存取桌面。 不過Virt Manager新增的虛擬機預設應該是以SPICE為主，這個時候得確保該虛擬機的SPICE正在監聽所有網路界面： 換成virsh edit，這一段的XML長這樣：\n\u0026lt;graphics type=\u0026#34;spice\u0026#34; port=\u0026#34;-1\u0026#34; autoport=\u0026#34;no\u0026#34; listen=\u0026#34;0.0.0.0\u0026#34;\u0026gt; \u0026lt;listen type=\u0026#34;address\u0026#34; address=\u0026#34;0.0.0.0\u0026#34;/\u0026gt; \u0026lt;image compression=\u0026#34;off\u0026#34;/\u0026gt; \u0026lt;/graphics\u0026gt; SPICE預設使用的通訊埠為5900，必須開啟Linux的防火牆 sudo ufw allow 5900 sudo ufw reload 從Cockpit網頁將虛擬機開機，然後點選Launch Remote Viewer下載.vv檔案\n以文字編輯器開啟.vv檔案，確認裡面填寫的host是你的遠端Linux IP\n[virt-viewer] type=spice host=192.168.1.107 port=5900 fullscreen=0 [...............................GraphicsConsole] 5.. 再用Virt Viewer開啟vv檔（注意是Virt Viewer，不要跟Virt Manager搞混），即可連線到遠端桌面。 5. 用Cockpit建立GPU直通 # 以Nvidia GPU直通為例，首先你得設定IOMMU和VFIO綁定，步驟參見：Ubuntu Nvidia GPU直通給Windows虛擬機\n確認Nvidia GPU隔離完成，就能在Cockpit選單，將Linux Host的Nvidia GPU指派給虛擬機使用了。 參考資料 # Cockpit documentation Chapter 6. Managing virtual machines in the web console - RED HAT ENTERPRISE LINUX 8 ","date":"2024年7月7日","externalUrl":null,"permalink":"/posts/manage-qemu-kvm-vm-with-cockpit/","section":"所有文章","summary":"Managing remote QEMU/KVM virtual machines with Cockpit web interface.\nIvon這篇要分享一款好用的Linux遠端管理工具。熟悉Libvirt、virsh、Virt Manager的人，一定會覺得如虎添翼！\n想要遠端存取Linux電腦的QEMU/KVM虛擬機，Ivon之前提過Virt Manager遠端SSH連線的方式，不過那樣做的前提是本機系統也得是Linux，才可以安裝全功能的Virt Manager，以控制Libvirt所建立的QEMU/KVM虛擬機。\n如果想要在Windows、macOS、Android、iOS遠端管理QEMU/KVM呢？最好只要有瀏覽器就能存取？\n在此介紹「Cockpit」這款好用的網頁工具。Cockpit意思為駕駛艙、儀表板，這個專案受RedHat公司贊助開發。Cockpit就像是網頁版的Virt Manager，可讓我們從網頁新增、檢視、刪除、備份QEMU/KVM虛擬機，以及管理GPU Passtthrough的裝置。 咦？Cockpit看起來有點像在用Proxmox的面板耶？因為它功能不只這個！Cockpit除了管理虛擬機之外，還可以調整Linux系統的各項設定喔！例如開啟網頁終端機、設定網路界面、調整firewalld防火牆、使用者群組管理、開關系統服務、管理Podman容器等等，可說是全方面的Linux網頁管理系統。 ","title":"Cockpit教學：用網頁瀏覽器管理QEMU/KVM虛擬機，替代Virt Manager","type":"posts"},{"content":"從Linux或Windows電腦，存取遠端Linux的QEMU/KVM虛擬機。\n情況描述：你在Linux電腦用Virt Manager建立了QEMU/KVM虛擬機，而你想要用另一台電腦存取虛擬機桌面，可以怎麼做？ 除了用SSH遠端登入，再用virsh指令控制QEMU/KVM虛擬機之外，你也可以透過相容Libvirt API的前端連線到遠端Linux虛擬機，這樣你有圖形列表能一覽虛擬機的運作狀態了。\n即使遠端Linux是headless server，照樣可以顯示虛擬機桌面！有安裝Spice Tools還可以讓遠端虛擬機跟本機電腦共享剪貼簿。\n1. 安裝相容Libvirt API的前端 # 得尋找相容Libvirt API的前端管理器。\n如果本機端是Linux，那就用Virt Manager (Virtual Machine Manager，虛擬機器管理器)，很多Linux發行版都有收，比如Ubuntu：\nsudo apt install virt-manager 需要網頁的解決方案請嘗試Cockpit，將它部署在遠端Linux伺服器上，就可以透過任意系統的網頁瀏覽器存取了。\n2. 將SSH公鑰複製到遠端電腦 # 本步驟要執行免密碼登入遠端SSH的操作，因為Virt Manager沒有地方讓你打密碼。\n登入遠端Linux電腦，安裝OpenSSH伺服器和ssh-keypass套件 sudo apt install openssh-server ssh-askpass 啟動SSH服務，並開啟防火牆允許連入 sudo systemctl enable --now sshd sudo ufw allow ssh sudo ufw reload 回到本機端Linux，安裝SSH服務 sudo apt install openssh-client 接著給目前的一般使用者產生SSH公鑰（不使用root的原因是我遠端Linux的使用者有加入Libvirt群組，不需要root也可以操作Libvirt） ssh-keygen -t rsa 然後複製本機的公鑰到遠端電腦，這樣日後就可以免密碼登入 ssh-copy-id -i ~/.ssh/id_rsa.pub 使用者帳號@遠端IP 測試SSH連線到遠端Linux，應該不用密碼了。 ssh 使用者帳號@遠端IP 3. 讓Virt Manager連線到遠端 # 開啟Virt Manager，點選新增連線 輸入SSH連線資訊。因為剛才已經複製公鑰，故無需密碼即可連線。 然後Virt Manager就會列出遠端的虛擬機列表了。 Virt Manager預設使用SPICE，如果要在本機端看到遠端畫面，需要編輯虛擬機硬體的SPICE設定，設定為監聽所有界面。 4. 換用VNC改善遠端桌面延遲 # Virt Manager預設是用SPICE顯示遠端虛擬機的畫面，但延遲高，不適合遠端使用，改用VNC在低網速下表現較好。\n如果虛擬機有GPU直通的話，那麼Moonlight + Sunshine會是更好選擇。\n比如，編輯虛擬機的XML（Virt Manager首頁 → 編輯 → 偏好設定→ 啟用XML編輯），移除所有帶有spice的區塊\n然後新增硬體，點選圖形，選取VNC 這樣Virt Manager開機後就會改用VNC顯示畫面。 參考資料 # 18.2. Remote Management with SSH - RedHat Virtualization Deployment and Administration Guide ","date":"2024年7月6日","externalUrl":null,"permalink":"/posts/virt-manager-ssh-remote-access/","section":"所有文章","summary":"從Linux或Windows電腦，存取遠端Linux的QEMU/KVM虛擬機。\n情況描述：你在Linux電腦用Virt Manager建立了QEMU/KVM虛擬機，而你想要用另一台電腦存取虛擬機桌面，可以怎麼做？ 除了用SSH遠端登入，再用virsh指令控制QEMU/KVM虛擬機之外，你也可以透過相容Libvirt API的前端連線到遠端Linux虛擬機，這樣你有圖形列表能一覽虛擬機的運作狀態了。\n即使遠端Linux是headless server，照樣可以顯示虛擬機桌面！有安裝Spice Tools還可以讓遠端虛擬機跟本機電腦共享剪貼簿。\n1. 安裝相容Libvirt API的前端 # 得尋找相容Libvirt API的前端管理器。\n如果本機端是Linux，那就用Virt Manager (Virtual Machine Manager，虛擬機器管理器)，很多Linux發行版都有收，比如Ubuntu：\nsudo apt install virt-manager 需要網頁的解決方案請嘗試Cockpit，將它部署在遠端Linux伺服器上，就可以透過任意系統的網頁瀏覽器存取了。\n2. 將SSH公鑰複製到遠端電腦 # 本步驟要執行免密碼登入遠端SSH的操作，因為Virt Manager沒有地方讓你打密碼。\n登入遠端Linux電腦，安裝OpenSSH伺服器和ssh-keypass套件 sudo apt install openssh-server ssh-askpass 啟動SSH服務，並開啟防火牆允許連入 sudo systemctl enable --now sshd sudo ufw allow ssh sudo ufw reload 回到本機端Linux，安裝SSH服務 sudo apt install openssh-client 接著給目前的一般使用者產生SSH公鑰（不使用root的原因是我遠端Linux的使用者有加入Libvirt群組，不需要root也可以操作Libvirt） ssh-keygen -t rsa 然後複製本機的公鑰到遠端電腦，這樣日後就可以免密碼登入 ssh-copy-id -i ~/.ssh/id_rsa.pub 使用者帳號@遠端IP 測試SSH連線到遠端Linux，應該不用密碼了。 ssh 使用者帳號@遠端IP 3. 讓Virt Manager連線到遠端 # 開啟Virt Manager，點選新增連線 ","title":"Virt Manager SSH連線到遠端QEMU/KVM虛擬機的桌面","type":"posts"},{"content":"安裝一個中文桌面環境的FreeBSD系統。\n本次用QEMU/KVM虛擬機練習，之後會搞PCI Passthrough直通使其逼近實機狀況。 用Linux的Virt Manager安裝FreeBSD虛擬機，並不像安裝其他Linux發行版一樣簡單。Libvirt會透過SPICE與虛擬機溝通，大部份Linux發行版會自動偵測，開箱即用，但是FreeBSD得手動設定服務，否則沒畫面，滑鼠也不會動。\u0026hellip;怎覺得比裝Gentoo還麻煩，但起碼比Hackintosh簡單。要謹記，雖然Linux跟FreeBSD很像，但是檔案系統目錄不同，觀念要轉一下，尤其這裡沒有Systemd。Linux慣用的操作不見得適用FreeBSD，故安裝前需以FreeBSD手冊的內容為準。\n桌面環境部份，我是有想過裝GNOME 42，但太多功能依賴Linux了，不少GNOME核心程式沒移植，且目前FreeBSD的Wayland支援度不佳，只得用X11。FreeBSD的GNOME相較Linux殘廢許多，實測也有很多問題。所以，我選KDE Plasma 5；如果想要輕量的桌面環境可以裝XFCE 4。\n1. 環境 # 宿主機：Ubuntu 24.04 LTS 虛擬機：FreeBSD 15.0 Release 虛擬機軟體：Virt Manager + QEMU/KVM 8.0 2. 新增FreeBSD虛擬機組態 # 安裝QEMU/KVM與Virt Manager\n到FreeBSD官網下載FreeBSD 14.0-RELEASE的DVD ISO，這是目前的最新穩定版本。檢查檔案完整性防止檔案毀損。\n開啟Virt Manager，新增Q35＋UEFI的機器\n將FreeBSD的ISO掛接為CDROM\n新增硬體「Evtouch圖形數位板」，這樣才能在虛擬機與宿主機間切換滑鼠\n音效卡設定為HDA (ICH9)\nQXL在FreeBSD理論上是有xf86-video-qxl驅動支援\u0026hellip;但我不知道怎設定，開機黑螢幕，許是Ubuntu的QXL有bug？所以顯示卡不使用QXL，改用支援度較佳的VMware vmvga。但這個似乎只能在QEMU命令行使用。故手動編輯Virt Manager顯示卡區段的XML，填入以下內容：\n\u0026lt;video\u0026gt; \u0026lt;model type=\u0026#34;vmvga\u0026#34; vram=\u0026#34;65536\u0026#34; heads=\u0026#34;1\u0026#34; primary=\u0026#34;yes\u0026#34;/\u0026gt; \u0026lt;alias name=\u0026#34;video0\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x01\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/video\u0026gt; 然後開機安裝 3. 安裝FreeBSD基本系統 # 開機按1進入安裝器 按照畫面指示，安裝base system和kernel 系統分區使用Auto (ZFS) 新增一般使用者user，並將其加入到wheel群組 安裝後重開機\n開機後應該是純文字環境，登入root\nroot 安裝sudo pkg install sudo vim 將一般使用者加入到sudo群組 visudo 填入： root ALL=(ALL:ALL) ALL user ALL=(ALL:ALL) ALL 登出，用一般使用者登入 exit 將shell改成較為常見的bash sudo pkg install bash sudo chsh -s /usr/local/bin/bash root sudo chsh -s /usr/local/bin/bash user 4. 設定圖形驅動程式 # 安裝Xorg套件 sudo pkg install xorg 將使用者user加入video群組 sudo pw groupmod video -m user 使用sysrc指令編輯開機啟動的項目（實際上是寫入到/etc/rc.conf這個檔案）\n將HDA的音訊模組加入到開機自動啟動\nsudo sysrc snd_hda_load=\u0026#34;YES\u0026#34; 將dbus和hald加入開機自動啟動 sudo sysrc dbus_enable=\u0026#34;YES\u0026#34; sudo sysrc hald_enable=\u0026#34;YES\u0026#34; 編輯/boot/loader.conf設定自動載入hms，這是USB滑鼠與光碟的驅動 hw.usb.usbhid.enable=1 usbhid_load=\u0026#34;YES\u0026#34; hms_load=\u0026#34;YES\u0026#34; VMware虛擬顯卡驅動 # 虛擬機顯示卡使用vmware-xga的驅動。\n安裝以下套件，重開機後應該會自行載入，不需要手動寫xorg.conf。\nsudo pkg install xf86-video-vmware 軟體渲染驅動 # 附錄：萬策盡的時候才使用xf86-video-scfb軟體渲染。\n注意scfb驅動會鎖死解析度。\nVirt Manager虛擬顯示卡選VGA，使用scfb驅動\npkg install xf86-video-scfb 調整Xorg設定\nsudo vim /usr/local/etc/X11/xorg.conf.d/driver-scfb.conf 填入以下內容：\nSection \u0026#34;Device\u0026#34; Identifier \u0026#34;Card0\u0026#34; Driver \u0026#34;scfb\u0026#34; EndSection xorg.conf.d目錄下應該只有scfb驅動的設定，不要有其他驅動的設定檔。\n6. 安裝KDE桌面環境 # 目前FreeBSD 14的KDE版本是Plasma 6，不支援Wayland。\n這個套件會把常用的KDE應用程式一併拉進來 sudo pkg install kde KDE開發者建議把local stream調大一點防止出bug： echo \u0026#34;net.local.stream.recvspace=65536\u0026#34; | sudo tee -a /boot/loader.conf echo \u0026#34;net.local.stream.sendspace=65536\u0026#34; | sudo tee -a /boot/loader.conf 不要用xinitrc，我覺得用顯示管理器登入比較簡單，所以安裝SDDM sudo pkg install plasma6-sddm-kcm sddm 將SDDM加入到開機自動啟動，設定語言為正體中文 sudo sysrc sddm_enable=\u0026#34;YES\u0026#34; sudo sysrc sddm_lang=\u0026#34;zh_TW.UTF-8\u0026#34; 重開機後就可以登入KDE了。剛登入如果畫面太大請在桌面按右鍵調整解析度。KDE的Discover無法用來下載FreeBSD的套件，所以就當作擺設。 7. 中文化與輸入法 # 安裝Noto字體。這會把全部語言的字體拉進來，如果只要正體中文那就noto-sans-tc。 sudo pkg install noto 編輯~/.profile，設定系統語言為正體中文 export LANG=zh_TW.UTF-8 export MM_CHARSET=zh_TW.UTF-8 安裝Fcitx5搭配新酷音輸入法 sudo pkg install fcitx5 \\ fcitx5-gtk-common fcitx5-gtk3 fcitx5-gtk4 \\ fcitx5-qt-common zh-fcitx5-chewing zh-fcitx5-chinese-addons 編輯~/.profile，指定輸入法模組 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx export SDL_IM_MODULE=fcitx export GLFW_IM_MODULE=ibus 設定登入桌面自動啟動Fcitx5 mkdir -p ~/.config/autostart/ cp /usr/local/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/ 參考資料 # FreeBSD Handbook FreeBSD 14 Configuration Tutorials : Server World 图解安装 FreeBSD 从入门到跑路 - FreeBSD 中文社区 FreeBSD/Setup - KDE Community Wiki Solved Mouse doesn\u0026rsquo;t work on FreeBSD 13 running on QEMU linux VM - The FreeBSD Forums ","date":"2024年7月4日","externalUrl":null,"permalink":"/posts/install-freebsd-qemu-kvm-on-linux/","section":"所有文章","summary":"安裝一個中文桌面環境的FreeBSD系統。\n本次用QEMU/KVM虛擬機練習，之後會搞PCI Passthrough直通使其逼近實機狀況。 用Linux的Virt Manager安裝FreeBSD虛擬機，並不像安裝其他Linux發行版一樣簡單。Libvirt會透過SPICE與虛擬機溝通，大部份Linux發行版會自動偵測，開箱即用，但是FreeBSD得手動設定服務，否則沒畫面，滑鼠也不會動。…怎覺得比裝Gentoo還麻煩，但起碼比Hackintosh簡單。要謹記，雖然Linux跟FreeBSD很像，但是檔案系統目錄不同，觀念要轉一下，尤其這裡沒有Systemd。Linux慣用的操作不見得適用FreeBSD，故安裝前需以FreeBSD手冊的內容為準。\n桌面環境部份，我是有想過裝GNOME 42，但太多功能依賴Linux了，不少GNOME核心程式沒移植，且目前FreeBSD的Wayland支援度不佳，只得用X11。FreeBSD的GNOME相較Linux殘廢許多，實測也有很多問題。所以，我選KDE Plasma 5；如果想要輕量的桌面環境可以裝XFCE 4。\n1. 環境 # 宿主機：Ubuntu 24.04 LTS 虛擬機：FreeBSD 15.0 Release 虛擬機軟體：Virt Manager + QEMU/KVM 8.0 2. 新增FreeBSD虛擬機組態 # 安裝QEMU/KVM與Virt Manager\n","title":"安裝FreeBSD QEMU/KVM虛擬機 ＋ KDE桌面 ＋ Fcitx5中文輸入法紀錄","type":"posts"},{"content":"Running nested guests with KVM.\n巢狀虛擬化(nested virtualization)，也有人稱作嵌套虛擬化，指的是在虛擬機裡面再跑一個虛擬機。Linux的KVM不只可以在Linux虛擬機跑KVM，還可以在虛擬機裡面啟用Hyper-V、bhyve、VMware等其他虛擬化技術呢。更瘋狂的作法還有利用QEMU的PCI Passthrough功能，將硬體裝置層層直通到虛擬機裡的虛擬機。\n整個過程請參考Linux Kernel Archive的示意圖，L為layer之意。L0是為執行KVM的宿主機，L1為執行KVM的虛擬機，L2則是執行於KVM虛擬機內的虛擬機。我們要讓L1的虛擬機也可以使用KVM加速技術執行其他L2的虛擬機。 本文討論的是在Linux宿主機啟用巢狀KVM，並讓Linux虛擬機可執行KVM。\n如果想看Linux宿主機＋Windows虛擬機Hyper-V的設定方法，以便執行WSA或WSL，左轉在Windows 11虛擬機啟用Hyper-V\n1. 環境 # 宿主機：Ubuntu 24.04 LTS (核心版本6.5.0) 虛擬機：Arch Linux (核心版本6.9.7) CPU：Intel i5-7400 2. 調整L0宿主機KVM核心模組選項 # 先在Ubuntu安裝QEMU/KVM與Virt Manager，確認虛擬化功能可以使用。\n我的CPU是Intel，對應的KVM核心模組為kvm_intel，使用cat /sys/module/kvm_intel/parameters/nested指令，確認KVM核心模組的nested選項是否有啟用。\n印出的結果應該為N\n所以要取消載入KVM核心模組\nsudo modprobe -r kvm_intel 再重新以nested=1的選項載入 sudo modprobe kvm_intel nested=1 這樣cat /sys/module/kvm_intel/parameters/nested指令印出的結果應該就會是Y了。\n將此選項設定為開機自動載入\necho \u0026#34;options kvm_intel nested=1\u0026#34; | sudo tee -a /etc/modprobe.d/kvm.conf 3. 修改L1虛擬機的選項 # 開啟Virt Manger，在虛擬機的CPU欄位，將其修改為複製主機CPU配置(host-passthrough) 將L1的Linux虛擬機開機，執行指令確認CPU支援虛擬化\nsudo grep -E -c \u0026#39;(vmx|svm)\u0026#39; /proc/cpuinfo 以及確認KVM模組有載入 sudo modprobe kvm_intel lsmod | grep kvm 然後L1的虛擬機裡面就可以使用Virt Manager建立L2虛擬機了。 不過KVM官方文件提到，如果在L2虛擬機不關機的情況下遷移L1虛擬機，可能會造成無法預期的後果。所以要處理L1的虛擬機之前得先把L2虛擬機關機。\n參考資料 # How to enable nested virtualization in KVM - Fedora Docs Nested Guests - KVM Running nested guests with KVM - Linux Kernel Documentation ","date":"2024年7月3日","externalUrl":null,"permalink":"/posts/nested-kvm-virtualization/","section":"所有文章","summary":"Running nested guests with KVM.\n巢狀虛擬化(nested virtualization)，也有人稱作嵌套虛擬化，指的是在虛擬機裡面再跑一個虛擬機。Linux的KVM不只可以在Linux虛擬機跑KVM，還可以在虛擬機裡面啟用Hyper-V、bhyve、VMware等其他虛擬化技術呢。更瘋狂的作法還有利用QEMU的PCI Passthrough功能，將硬體裝置層層直通到虛擬機裡的虛擬機。\n整個過程請參考Linux Kernel Archive的示意圖，L為layer之意。L0是為執行KVM的宿主機，L1為執行KVM的虛擬機，L2則是執行於KVM虛擬機內的虛擬機。我們要讓L1的虛擬機也可以使用KVM加速技術執行其他L2的虛擬機。 本文討論的是在Linux宿主機啟用巢狀KVM，並讓Linux虛擬機可執行KVM。\n如果想看Linux宿主機＋Windows虛擬機Hyper-V的設定方法，以便執行WSA或WSL，左轉在Windows 11虛擬機啟用Hyper-V\n1. 環境 # 宿主機：Ubuntu 24.04 LTS (核心版本6.5.0) 虛擬機：Arch Linux (核心版本6.9.7) CPU：Intel i5-7400 2. 調整L0宿主機KVM核心模組選項 # 先在Ubuntu安裝QEMU/KVM與Virt Manager，確認虛擬化功能可以使用。\n","title":"Linux KVM啟用巢狀虛擬化，在虛擬機裡面跑虛擬機","type":"posts"},{"content":"本文Ivon介紹如何使用AI Horde，進行Stable Diffusion AI生圖、AI文字生成，免安裝任何軟體。 1. AI Horde簡介 # AI Horde是世界各國的網友建立的GPU計算叢集，該網站提供免費AI生圖與大型語言模型生成文字的服務，是專門給那些電腦硬體不夠好的用戶設計的。比如想玩Stable Diffusion WebUI、SillyTavern，卻又不想花錢的免費仔，就適合使用AI Horde過癮一把。 AI Horde大約成立於2022年，一開始是為了服務Stable Diffusion生圖所籌建的，所以叫做Stable Horde。後來2023年開源語言模型大爆發，開始提供AI文字生成服務，網站也改名叫做AI Horde。\n該網站提供API服務，使用者可以與任意的客戶端程式串接，向AI Horde的伺服器發出請求，用於生成文字以及圖像。所以AI Horde算是一個免費利用的AI計算資源。\nAI Horde跟OpenRouter這類免費服務的差別在於他們不是商業公司，全部都是使用者自願提供運算資源的。目前AI Horde僅由非營利組織NLnet Foundation贊助，任何人都可以申請加入節點。\n不過由於伺服器運算資源是志願者提供的，AI Horde生成需要排隊，等待時間不固定。並且各個節點的伺服器背後做什麼沒有人知道，隱私權沒有保障，建議不要送出個人敏感資訊。\n更重要的一點：AI Horde會擋色色關鍵字，自由度不如自架Stable Diffuison WebUI！\n我認為AI Horde算堪用的免費服務吧。如果需要專屬於自己的線上AI算力資源還是花錢租個GPU好，比如Google Colab。\n2. 透過Stable UI存取AI Horde生圖 # AI Horde官方推薦的客戶端是Lucid Creations，可是Ivon覺得界面太醜了！\n這裡介紹一個網頁版的服務：Stable UI，這是用Vue寫的網頁界面，免安裝，只要到作者的網站就可以使用：https://aqualxx.github.io/stable-ui/about\n儘管AI Horde使用不需要帳號，但伺服器會優先處理有註冊帳號用戶的生圖請求，匿名用戶優先度較低。因此請先到AI Horde網站註冊帳號，取得API Key\n在Stable UI的Options輸入你帳號的API Key Stable UI提供文生圖、圖生圖、局部重繪服務。如果操作Stable Diffusion WebUI應對這些參數熟悉才是。AI Horde除了原始的Stable Diffusion模型外，尚提供「Anything」這類熱門的生圖模型。 隨便生一張512x512的圖竟然要等十分鐘，這不是伺服器算力太慢，而是排隊所致 3. 透過KoboldAI Lite存取AI Horde生成文字 # KoboldAI Lite是一個網頁界面，可以讓我們跟AI Horde上的語言模型聊天。目前有最新的LLaMA 3最新模型。\n生成速度還行，填入API Key後還能在聊天中生圖。 延伸閱讀 # AI Horde官網有列出支援服務的客戶端，包含電腦、網頁、手機APP：https://stablehorde.net\n如果你想加入生圖節點，可以使用這個：Haidra-Org/AI-Horde-Worker\n","date":"2024年6月30日","externalUrl":null,"permalink":"/posts/ai-horde-service/","section":"Ai-Arts","summary":"本文Ivon介紹如何使用AI Horde，進行Stable Diffusion AI生圖、AI文字生成，免安裝任何軟體。 1. AI Horde簡介 # AI Horde是世界各國的網友建立的GPU計算叢集，該網站提供免費AI生圖與大型語言模型生成文字的服務，是專門給那些電腦硬體不夠好的用戶設計的。比如想玩Stable Diffusion WebUI、SillyTavern，卻又不想花錢的免費仔，就適合使用AI Horde過癮一把。 AI Horde大約成立於2022年，一開始是為了服務Stable Diffusion生圖所籌建的，所以叫做Stable Horde。後來2023年開源語言模型大爆發，開始提供AI文字生成服務，網站也改名叫做AI Horde。\n該網站提供API服務，使用者可以與任意的客戶端程式串接，向AI Horde的伺服器發出請求，用於生成文字以及圖像。所以AI Horde算是一個免費利用的AI計算資源。\nAI Horde跟OpenRouter這類免費服務的差別在於他們不是商業公司，全部都是使用者自願提供運算資源的。目前AI Horde僅由非營利組織NLnet Foundation贊助，任何人都可以申請加入節點。\n不過由於伺服器運算資源是志願者提供的，AI Horde生成需要排隊，等待時間不固定。並且各個節點的伺服器背後做什麼沒有人知道，隱私權沒有保障，建議不要送出個人敏感資訊。\n","title":"AI Horde：免費線上AI生圖與文字生成服務的衆籌網站","type":"ai-art"},{"content":"","date":"2024年6月30日","externalUrl":null,"permalink":"/tags/llama-ai/","section":"標籤","summary":"","title":"LLaMA AI","type":"tags"},{"content":"Handwritten Chinese input method for Linux?\nLinux有xournal++筆記軟體接受手寫輸入，但若是手寫並轉成文字的輸入法呢？類似Windows 11內建的手寫輸入法那種？\n首先要準備可用於手寫的輸入裝置，例如觸控螢幕或手寫板。Wacom繪圖板在Linux的支援度都很不錯。\n接著就是手寫輸入法軟體了。Linux的Fcitx5有注音、拼音、倉頡、行列、五筆等常見的輸入法方案，但手寫輸入法不豐富。目前有以下幾種：\nGoogle輸入工具，閉源軟體，支援中文與日文輸入，但是只能在Chromium瀏覽器內使用，類似網站有Input Free研發的網上手寫輸入法。香港開發者有另外做一個Electron版的Google Chinese Handwriting IME，讓其他程式也能使用Google輸入工具。 Tegaki：日文漢字與中文手寫輸入法，使用Zinnia引擎識別，開源軟體，可搭配fcitx5-mozc輸入法使用。但Tegaki模型的辨識能力較Google輸入工具差，軟體老舊還在使用GTK2。 ibus-handwrite：使用Zinnia引擎識別手寫的輸入法，開源軟體，看起來沒做完。 qml-handwriting：QT寫的，使用Zinnia引擎，很久沒更新了。 CellWriter：使用Unicode辨識，理論上支援所有語言，但是要一個一個字訓練。 KDE Wayland的Maliit Keyboard手寫輸入，僅支援英文。 以上方案我都試著在Arch Linux裝過了，沒有一個真正實用的，要嘛太舊不然就是bug很多。看來要跟Windows 11內建的手寫輸入法拼根本不可能。\n大概就第一個Google輸入工具方案勉強能用，這東西跟Google Code歷史一樣久了還能用，感恩Google，謝謝Google。 https://www.youtube.com/watch?v=FxesDoz544Q\nWine跑Windows的輸入法？算了吧！從中國網站的一些討論來看，紅旗Linux似乎可以使用「漢王」手寫輸入法？還有一個商業軟體「多文輸入法」可以手寫中文字。\n我有更瘋狂的想法：用Waydroid視窗模式跑Android的Gboard手寫輸入法，再搭配python-pyclips同步剪貼簿到Linux，這也是一種手寫輸入吧。\n","date":"2024年6月29日","externalUrl":null,"permalink":"/posts/linux-handwritten-chinese-im/","section":"所有文章","summary":"Handwritten Chinese input method for Linux?\nLinux有xournal++筆記軟體接受手寫輸入，但若是手寫並轉成文字的輸入法呢？類似Windows 11內建的手寫輸入法那種？\n首先要準備可用於手寫的輸入裝置，例如觸控螢幕或手寫板。Wacom繪圖板在Linux的支援度都很不錯。\n接著就是手寫輸入法軟體了。Linux的Fcitx5有注音、拼音、倉頡、行列、五筆等常見的輸入法方案，但手寫輸入法不豐富。目前有以下幾種：\nGoogle輸入工具，閉源軟體，支援中文與日文輸入，但是只能在Chromium瀏覽器內使用，類似網站有Input Free研發的網上手寫輸入法。香港開發者有另外做一個Electron版的Google Chinese Handwriting IME，讓其他程式也能使用Google輸入工具。 Tegaki：日文漢字與中文手寫輸入法，使用Zinnia引擎識別，開源軟體，可搭配fcitx5-mozc輸入法使用。但Tegaki模型的辨識能力較Google輸入工具差，軟體老舊還在使用GTK2。 ibus-handwrite：使用Zinnia引擎識別手寫的輸入法，開源軟體，看起來沒做完。 qml-handwriting：QT寫的，使用Zinnia引擎，很久沒更新了。 CellWriter：使用Unicode辨識，理論上支援所有語言，但是要一個一個字訓練。 KDE Wayland的Maliit Keyboard手寫輸入，僅支援英文。 以上方案我都試著在Arch Linux裝過了，沒有一個真正實用的，要嘛太舊不然就是bug很多。看來要跟Windows 11內建的手寫輸入法拼根本不可能。\n大概就第一個Google輸入工具方案勉強能用，這東西跟Google Code歷史一樣久了還能用，感恩Google，謝謝Google。 https://www.youtube.com/watch?v=FxesDoz544Q\nWine跑Windows的輸入法？算了吧！從中國網站的一些討論來看，紅旗Linux似乎可以使用「漢王」手寫輸入法？還有一個商業軟體「多文輸入法」可以手寫中文字。\n我有更瘋狂的想法：用Waydroid視窗模式跑Android的Gboard手寫輸入法，再搭配python-pyclips同步剪貼簿到Linux，這也是一種手寫輸入吧。\n","title":"嘗試在Linux使用手寫輸入中文字","type":"posts"},{"content":"Google推出的Chromecast產品，是不錯的影音投放工具，而且很多電視盒和音箱都有內建Chromecast功能。投放的工具有了，接著就是軟體支援度了，Linux電腦端要投放內容到Chromecast，有以下軟體可以辦到：\nChromium系瀏覽器內建的投放功能 VLC Gnomecast pychromecast mkchromecast go-chromecast catt 其中Chromium的操作最為簡單，畢竟是自家人研發的，只要準備瀏覽器就能像Google Meet那樣分享電腦螢幕到Chromecast，部份網站還能直接投放影片。\n不過如果我們想要稍稍擺脫Google的控制，並想要多一點自訂性操作的話，那就使用第三方開發者製作的Chromecast投放工具吧。Chromecast雖然是專有協定，但厲害的開發者做出了能跟Chromecast溝通的程式。在眾多選項中我選擇功能最多的「mkchromecast」。\nmkchromecast能夠投放本機影音檔案到Chromecast，支援自訂位元率（音質最高可達24-bit/96kHz），並搭配PulseAudio的多重輸出功能來快速切換音訊。 最後就是把Linux螢幕投放到Chromecast最吸引我了。 1. 測試環境 # KDE Plasma 6 X11 PipeWire 1.0.7 （相容Pulse Audio） Chromecast第3代 請確保已用手機的Google Home APP設定好Chromecast並連上Wifi。\n如果不想用手機，那麼用這個指令稿也可以從Linux直接設定Chromecast：Set up a Chromecast from a Linux PC\n2. 安裝mkchromecast # mkchromecast支援Linux和macOS，程式是用Python寫的，安裝方式參考作者說明\nArch Linux從AUR安裝：\nyay -S mkchromecast-git Ubuntu下載PulseAudio版的deb檔安裝：\nsudo apt install ./mkchromecast-pulseaudio_0.3.8.1-1_all.deb 3. 搜尋Chromecast裝置 # 讓Chromecast和Linux電腦處於同一個Wifi下。\n可能要暫時關閉Linux防火牆\nsudo ufw disable 使用指令mkchromecast -t啟動，點選系統匣的按鈕掃描附近裝置 確認Chromecast裝置有出現在終端機列表 不要關閉這個終端機，開第二個終端機。然後看下面的mkchromecast使用例。\nmkchromecast在投放的時候會自動選取第一個找到的裝置，若有多個裝置請加上IP引數（--host 192.168.1.101）或名稱（--name 名稱）。\n4. 投放音訊到Chromecast # 影音傳輸到Chromecast之前會經過ffmpeg轉碼，因此Linux端的音效軟體(EasyEffects)和畫質放大工具(Anime4K)會失效。\n使用範例如下，指定編碼為flac，位元率、取樣率，並設定鍵盤控制音量，並傳入檔案\u0026quot;/home/user/sample.flac\u0026quot;\nmkchromecast -c flac -b 128 --sample-rate 96000 --control -i \u0026#34;/home/user/sample.flac\u0026#34; 播放音訊的時候按u、d調整音量，p暫停。\n5. 將PulseAudio與Chromecast連線 # 本功能跟上述投放音訊的差別在於，mkchromcast會製造一個PulseAudio的sink，讓你可以用pavucontrol切換音訊輸出源，從而靈活切換播放的音樂。\n比如，同時開著Chromium和Spotify，再透過pavucontrol面板切換，就不需要頻繁打指令來播放音樂了。\n先裝pavucontrol套件。\n接著，啟動mkchromecast，不要加任何引數\nmkchromecast 在pavucontrol面板就會看到一個新sink，音訊播放的時候切換過去，音樂就會跟著傳到Chromecast。 6. 投放影片到Chromecast # 附上影片路徑並指定畫質，還可以加上字幕檔：\nmkchromecast --resolution 1280x720 -i \u0026#34;/home/user/sample.mp4\u0026#34; --subtitles \u0026#34;/home/user/sample.mp4.srt\u0026#34; mkchromecast尚可透過yt-dlp抓Youtube影片：\nmkchromecast \u0026#34;https://www.youtube.com/watch?v=JIBGYK8pxEY\u0026#34; 7. 投放螢幕到Chromecast # 目前此功能僅支援X11工作階段。\n投放目前螢幕到Chromecast：\nmkchromecast --video --screencast --resolution 1920x1080 延遲蠻高的說，或許只能當簡報使用。\n至於瀏覽器投放，有一個Cast with mkchromecast的擴充功能，但設定得安裝MPV的Python套件，很麻煩，還不如用Chromium內建投放功能。\n","date":"2024年6月29日","externalUrl":null,"permalink":"/posts/cast-to-chromecast-from-linux/","section":"所有文章","summary":"Google推出的Chromecast產品，是不錯的影音投放工具，而且很多電視盒和音箱都有內建Chromecast功能。投放的工具有了，接著就是軟體支援度了，Linux電腦端要投放內容到Chromecast，有以下軟體可以辦到：\nChromium系瀏覽器內建的投放功能 VLC Gnomecast pychromecast mkchromecast go-chromecast catt 其中Chromium的操作最為簡單，畢竟是自家人研發的，只要準備瀏覽器就能像Google Meet那樣分享電腦螢幕到Chromecast，部份網站還能直接投放影片。\n不過如果我們想要稍稍擺脫Google的控制，並想要多一點自訂性操作的話，那就使用第三方開發者製作的Chromecast投放工具吧。Chromecast雖然是專有協定，但厲害的開發者做出了能跟Chromecast溝通的程式。在眾多選項中我選擇功能最多的「mkchromecast」。\nmkchromecast能夠投放本機影音檔案到Chromecast，支援自訂位元率（音質最高可達24-bit/96kHz），並搭配PulseAudio的多重輸出功能來快速切換音訊。 最後就是把Linux螢幕投放到Chromecast最吸引我了。 1. 測試環境 # KDE Plasma 6 X11 PipeWire 1.0.7 （相容Pulse Audio） Chromecast第3代 請確保已用手機的Google Home APP設定好Chromecast並連上Wifi。\n","title":"Mkchromecast，投放Linux電腦螢幕和影片到Chromecast的方法","type":"posts"},{"content":"Batch converting images in GIMP.\n過去大量轉檔圖片時我會用ImageMagick的convert指令，但有時覺得好麻煩喔，我幹嘛記一拖拉庫的指令？影片轉檔也不會真的都用ffmpeg指令吧！\n此時想起GIMP有一個好用的外掛：BIMP，全稱Batch Image Manipulation Plugin，可以用圖形化界面批次處理圖片。BIMP這東西可比GIMP內建的「Batch Mode」要好用多了，我不想學Lisp語言啊啊啊。\nBIMP支援轉換圖片格式(例如webp轉jpg、png轉jpg、gif轉webp)、旋轉圖片、裁剪圖片、修改顏色、加上浮水印、批次重新命名等操作。還能將多個操作儲存起來，以便日後重複利用。\n這樣要轉換多張圖片就輕鬆多了。 1. 如何安裝BIMP # BIMP是GIMP的外掛，是為自由開源軟體，原始碼在Github，支援Linux、Wndows、macOS。\n參考安裝說明\nWindows只要在安裝GIMP後，再下載 gimp-plugin-bimp_win32.exe安裝即可。\nLinux使用Flatpak安裝GIMP，再以Add-On的方式安裝BIMP：\nflatpak --user install org.gimp.GIMP.Plugin.BIMP 這樣重啟GIMP，就會出現BIMP的選單了。\n2. BIMP的操作概念 # 點選檔案 → BIMP開啟選單 查看上方「操作列表」的方格。首先定義要BIMP執行的操作，上面方格部份的操作列表是可以疊加的 例如我這裡定義兩個操作：\n點選「調整大小」，將圖片寬度調整為512像素，高度自動按照比例縮放，如下圖設定 然後再點選「更改格式」，設定轉檔格式為webp 如此一來我們就定義了BIMP要處理圖片的步驟：裁切圖片為512像素，並轉檔為webp\n接著點選左邊的加入檔案或資料夾，選取要處理的單張圖片或整個目錄。雖然這邊寫「單個影像」但是其實你可以複選。\n例如我要處理/home/user/下載/input目錄下的所有檔案 然後右邊再設定輸出目錄，例如輸出目錄為/home/user/下載/output。 不消一會，圖片就處理完成了。如果圖片有色彩描述檔不符合的問題，GIMP預設會將其保留下來。\n3. 功能類似BIMP的替代品：Batcher # GIMP更新到3.0之後，BIMP作者尚未釋出新版本的程式。\n急用的用戶可以使用另外一個開發者製作的「Batcher」插件替代。它同樣有批次轉檔圖片的功能。\n到Github下載，解壓縮。\n將batcher目錄放到~/.var/app/org.gimp.GIMP/config/GIMP/版本/plug-ins/或者~/.config/GIMP/版本/plug-ins/\n重新啟動GIMP，點選檔案 → Batch Convert叫出選單。\n","date":"2024年6月27日","externalUrl":null,"permalink":"/posts/gimp-bimp-usage/","section":"所有文章","summary":"Batch converting images in GIMP.\n過去大量轉檔圖片時我會用ImageMagick的convert指令，但有時覺得好麻煩喔，我幹嘛記一拖拉庫的指令？影片轉檔也不會真的都用ffmpeg指令吧！\n此時想起GIMP有一個好用的外掛：BIMP，全稱Batch Image Manipulation Plugin，可以用圖形化界面批次處理圖片。BIMP這東西可比GIMP內建的「Batch Mode」要好用多了，我不想學Lisp語言啊啊啊。\nBIMP支援轉換圖片格式(例如webp轉jpg、png轉jpg、gif轉webp)、旋轉圖片、裁剪圖片、修改顏色、加上浮水印、批次重新命名等操作。還能將多個操作儲存起來，以便日後重複利用。\n這樣要轉換多張圖片就輕鬆多了。 1. 如何安裝BIMP # BIMP是GIMP的外掛，是為自由開源軟體，原始碼在Github，支援Linux、Wndows、macOS。\n參考安裝說明\nWindows只要在安裝GIMP後，再下載 gimp-plugin-bimp_win32.exe安裝即可。\nLinux使用Flatpak安裝GIMP，再以Add-On的方式安裝BIMP：\nflatpak --user install org.gimp.GIMP.Plugin.BIMP 這樣重啟GIMP，就會出現BIMP的選單了。\n2. BIMP的操作概念 # 點選檔案 → BIMP開啟選單 查看上方「操作列表」的方格。首先定義要BIMP執行的操作，上面方格部份的操作列表是可以疊加的 ","title":"BIMP：免費圖片批次轉檔軟體，透過GIMP重新命名大量圖片、加上浮水印","type":"posts"},{"content":"ReVanced Manager是一款用來破解許多APP功能的開源軟體。 最初會接觸「ReVanced Manager」的人，大多是為了破解Youtube APP去廣告吧，像是Youtube ReVanced。\n不過，ReVanced Manager比你想得更有料，它其實還可以破解其他APP，例如YouTube Music、Instagram、Twitter、抖音，大部分都是去廣告和解鎖進階功能這樣，支援的APP持續增加中。 ReVanced Manager的功能，不禁讓我想到俄羅斯的「幸運破解器」APP，但ReVanced Manager不一樣，它不需要root權限就能運作，且破解檔放在Github，供人閱覽原始碼，甚至ReVanced Manager本身就是開源軟體，所以用戶可以自行研究破解過程，並貢獻程式碼。\n讓我們看看要怎麼使用ReVanced Manager來破解APP。\n1. ReVanced Manager支援的APP # 根據官網列表，ReVanced Manager支援的破解APP如下（原名→ 破解後的名字）\nYoutube → Youtube ReVanced，移除廣告 Youtube Music → YT Music ReVanced，移除廣告，背景播放 Youtube Vanced，對，就是那個舊版的Vanced，盡可能的移除廣告。 Google Photo ReVanced，偽裝為Pixel機型無限空間備份 Tiktok(抖音) → Tiktok ReVanced，移除廣告 musical.ly Twitch Twitter，移除廣告 Messenger Instagram ，移除廣告 Reddit，移除廣告 Sync for Reddit Sync for Reddit Pro Spotify Spotify Lite Sony | Headphones Connect FinanzOnline Digitales Amt Boost for Reddit HEX Editor InShorts Backdrops Wallpapers WarnWetter irplus NetGuard SCB Easy Google錄音工具 Android Widgets Material You PhotoMath Yuka Scan de produits Nova Launcher CandyLink VPN Meme Generator NFC Tools SE Icon Pack Studio Money Manager VSCO 開支助手 Nyx Music Player Trakt Windy.app TickTick Tasker （汗\u0026hellip;怎麼有人連天氣APP都要破解，還讓不讓開發者活了）\n2. ReVanced Manager破解過程概述 # ReVanced Manager破解APP的過程十分簡單，只要匯入對應的APK，然後等它完成破解就可以了。\n使用破解版APP登入帳號而導致帳號被封，恕不負責。\n破解後的APP簽名可能會跟Play商店的衝突，故需先將原版APP解除安裝，再安裝破解版APP。\n至ReVanced Patches儲存庫，查看支援的APP列表\n點開詳情，查看破解檔支援的APP版本(Target Version），如果寫Any就是任意版本都可以。 到ApkMirror這類網站，下載對應APP的APK檔，APK架構請選較常見的arm64-v8a\n安裝ReVanced Manager\n開啟ReVanced Manager，點選Patcher → Select an application → Storage，選取要破解的APK APK版本正確的情況下，ReVanced Manager會自動帶入對應的破解檔，點選Patch 等待破解完成。之後按下右上角Export，匯出APK，安裝。 參見 # ReVanced破解檔回報請至Issues · revanced/revanced-patches - GitHub\nReVanced Manger的bug回報請至Issues · revanced/revanced-manager - GitHub\n","date":"2024年6月26日","externalUrl":null,"permalink":"/posts/revanced-manager/","section":"所有文章","summary":"ReVanced Manager是一款用來破解許多APP功能的開源軟體。 最初會接觸「ReVanced Manager」的人，大多是為了破解Youtube APP去廣告吧，像是Youtube ReVanced。\n不過，ReVanced Manager比你想得更有料，它其實還可以破解其他APP，例如YouTube Music、Instagram、Twitter、抖音，大部分都是去廣告和解鎖進階功能這樣，支援的APP持續增加中。 ReVanced Manager的功能，不禁讓我想到俄羅斯的「幸運破解器」APP，但ReVanced Manager不一樣，它不需要root權限就能運作，且破解檔放在Github，供人閱覽原始碼，甚至ReVanced Manager本身就是開源軟體，所以用戶可以自行研究破解過程，並貢獻程式碼。\n讓我們看看要怎麼使用ReVanced Manager來破解APP。\n1. ReVanced Manager支援的APP # 根據官網列表，ReVanced Manager支援的破解APP如下（原名→ 破解後的名字）\nYoutube → Youtube ReVanced，移除廣告 Youtube Music → YT Music ReVanced，移除廣告，背景播放 Youtube Vanced，對，就是那個舊版的Vanced，盡可能的移除廣告。 Google Photo ReVanced，偽裝為Pixel機型無限空間備份 Tiktok(抖音) → Tiktok ReVanced，移除廣告 musical.ly Twitch Twitter，移除廣告 Messenger Instagram ，移除廣告 Reddit，移除廣告 Sync for Reddit Sync for Reddit Pro Spotify Spotify Lite Sony | Headphones Connect FinanzOnline Digitales Amt Boost for Reddit HEX Editor InShorts Backdrops Wallpapers WarnWetter irplus NetGuard SCB Easy Google錄音工具 Android Widgets Material You PhotoMath Yuka Scan de produits Nova Launcher CandyLink VPN Meme Generator NFC Tools SE Icon Pack Studio Money Manager VSCO 開支助手 Nyx Music Player Trakt Windy.app TickTick Tasker （汗…怎麼有人連天氣APP都要破解，還讓不讓開發者活了）\n","title":"ReVanced Manager使用方法：破解Instagram、Facebook、抖音、Youtube Music去廣告","type":"posts"},{"content":"How to uninstall applications on Linux.\n好問題。\n首先，軟體不是天降之物，你不可以指著桌面的一個圖示就說我要把它刪掉！！！\n你要先問軟體是哪來的？了解如何透過Desktop Entry找到程式具體路徑，了解程式是怎麼安裝的，使用對應的指令移除。最後再來刪除殘餘的軟體檔案。 本文以UbuntuLTS桌面版為例。\n1. Desktop Entry與Linux軟體的關係 # 儘管我們可以使用apt list --installed指令列出系統所安裝的套件，但Linux不是只有APT一種安裝軟體方法，有時你會搞不清楚桌面上的某程式是哪裡來的。\n要找出程式在哪裡，直觀的方式是使用Desktop Entry。什麼是Desktop Entry？\nLinux萬物皆是檔案，很多程式通常就是一個執行檔，然後再透過桌面環境的Desktop Entry讓你方便開啟他們。你在Linux桌面看到的應用程式多半是由「Desktop Entry」組成，這些檔案定義了圖示，以及要開啟什麼程式。\nLinux的Desktop Entry路徑通常位於/usr/share/applications/ 或/usr/local/share/applications/ 或~/.local/share/applications/\n所有可能的路徑請用echo $XDG_DATA_DIRS指令列出。\n桌面環境會從這些路徑讀取，將Desktop Entry顯示在桌面和應用程式列表。 請注意：不是每個程式都會有Desktop Entry，比如ffmpeg，此時就得用which指令去找。\n比如，Firefox的Desktop Entry位於/usr/share/applications/firefox.desktop，裡面執行的指令為Exec=firefox ：\n[Desktop Entry] Type=Application Exec=firefox %u Terminal=false Icon=firefox Categories=GNOME;GTK;Network;WebBrowser; 用which firefox指令確認，我們知道Firefox的執行的絕對路徑位於/usr/bin/firefox。於是使用者點選桌面Firefox圖示就會執行/usr/bin/firefox指令，從而開啟Firefox瀏覽器。\n所以你不知道桌面上的應用程式圖示究竟是指向哪一個程式的時候，可以透過查看Desktop Entry來判別，你甚至可以判定它是否為Snap或Flatpak軟體。\n但是Desktop Entry並不等同程式本體，充其量只是捷徑而已，刪除Desktop Entry檔案並不會刪除程式。\n那麼我們找到了Firefox執行檔路徑，可以直接刪除/usr/bin/firefox這個檔案嗎？否，請往下看，確認軟體安裝來源再決定怎麼處理。\n2. 可能的軟體安裝來源 # 以Ubuntu桌面版來說，常見的安裝來源：\nUbuntu軟體中心：開啟軟體中心，找到應用程式頁面，點選解除安裝。（GNOME是「軟體中心」，KDE叫做「Discover」） APT：使用apt purge 套件名稱刪除套件並清除設定檔 Python Pip：使用pip uninstall或apt remove python-xxx刪除。其他程式語言的套件，例如NodeJS NPM、Rust Cargo、Ruby Gem參考此概念移除。 Snap：使用snap purge 套件名稱刪除套件 Flatpak：使用flatpak uninstall --delete-data 套件名稱刪除套件並清除設定檔 AppImage：找到AppImage執行檔所在路徑並將其刪除。 Wine：開啟Wine的控制台wine uninstaller，從中解除安裝程式。 tarball解壓縮：找到軟體執行檔位置並刪除。 只要是透過套件管理器安裝的軟體，通常它會在解除安裝後刪除對應服務，並自行處理掉多餘的Desktop Entry，讓軟體圖示在解除安裝後從桌面消失。\n3. 若軟體是手動編譯安裝的 # 使用指令稿、make install編譯安裝的軟體比較麻煩，這個不見得能刪得乾淨的說。若是驅動程式和Linux核心模組就更為複雜了。\n這個得看軟體開發者的說法。\nLinux軟體通常會安裝到/usr/local/bin或/usr/bin或~/.local/bin或~/.local/share/bin\n查看目前系統全部的安裝路徑：echo $PATH\n若軟體只有一個執行檔，可以嘗試直接rm /執行檔路徑/指令刪除。\n4. 清除軟體殘留設定檔 # Linux沒有Windows登錄檔這種東西，但仍有殘留應用程式檔案的可能。\n使用指令apt remove 套件名稱刪除後可以用apt purge 套件名稱嘗試刪除殘餘設定檔。不過有時還是得找殘留設定檔。\nLinux程式的設定檔，很多都會放在使用者家目錄/home/使用者名稱\n使用ls -al ~指令列出來，你就會看到家目錄下有許多點開頭的隱藏目錄，這些常常就是程式放置設定檔的地方。你可以從這裡去刪軟體設定檔。\n理想情況下，程式應該遵守XDG_CONFIG_HOME標準，將設定檔統一放到~/.config或~/.local/share目錄，例如Google Chrome就是放在~/.config/google-chrome/。\n不過很多程式不守規矩會在家目錄倒垃圾，比如Firefox，就大喇喇的放在~/.mozilla目錄。\n此外，Flatpak程式設定檔會放在~/.var或/var/lib/flatpak，Snap則是~/snap或/var/lib/snapd/snaps\n參考資料 # Desktop entries - ArchWiki - Arch Linux XDG Base Directory Specification ","date":"2024年6月24日","externalUrl":null,"permalink":"/posts/linux-uninstall-application/","section":"所有文章","summary":"How to uninstall applications on Linux.\n好問題。\n首先，軟體不是天降之物，你不可以指著桌面的一個圖示就說我要把它刪掉！！！\n你要先問軟體是哪來的？了解如何透過Desktop Entry找到程式具體路徑，了解程式是怎麼安裝的，使用對應的指令移除。最後再來刪除殘餘的軟體檔案。 本文以UbuntuLTS桌面版為例。\n1. Desktop Entry與Linux軟體的關係 # 儘管我們可以使用apt list --installed指令列出系統所安裝的套件，但Linux不是只有APT一種安裝軟體方法，有時你會搞不清楚桌面上的某程式是哪裡來的。\n要找出程式在哪裡，直觀的方式是使用Desktop Entry。什麼是Desktop Entry？\nLinux萬物皆是檔案，很多程式通常就是一個執行檔，然後再透過桌面環境的Desktop Entry讓你方便開啟他們。你在Linux桌面看到的應用程式多半是由「Desktop Entry」組成，這些檔案定義了圖示，以及要開啟什麼程式。\nLinux的Desktop Entry路徑通常位於/usr/share/applications/ 或/usr/local/share/applications/ 或~/.local/share/applications/\n","title":"Linux如何解除安裝軟體並刪除乾淨","type":"posts"},{"content":"這是一般素色的矽膠滑鼠墊，有突起地方可以墊手腕，防止手腕隧道症候群。 胸部滑鼠墊（おっぱいマウスパッド，oppai mousepad）就是在滑鼠墊上做隆起的兩顆球並印上圖片。根據Pixiv百科事典的說法，據說胸部滑鼠墊最早是台灣廠商發明的。\n這個隆起的部位可以放胸部，沒有胸就放屁股，甚至男性胸肌也行（大概只有腐女會喜歡）。\n這個買來要幹嘛，沒、沒有，我不覺得廉價布料的可以用來模擬乳交什都的，除非是泳衣戀物癖，據說滑鼠墊材質跟死庫水一樣。\n單純拿來墊手而已，看哪滑鼠墊多實用，就算在公共場合擺出了也不會引人側目的存在！\n有些出版商會推出官方正版授權的滑鼠墊，不過角色數量有限沒辦法滿足所有人，所以最好方式就是找客製化滑鼠墊了吧。下述背景與注意事項，以及胸部滑鼠墊實際上好不好用。\n1. 找客製化的背景 # 幾年前趁特價時購買過正版的艦隊Collection滑鼠墊，原價950台幣\n見：【艦これ】乾真大 ~ Iowa立體滑鼠墊 這個滑鼠墊二年後就因為手汗關係，難以清洗污漬就丟掉了。\n在台灣這種「正版貨」似乎越來越難找了，至少我尬意的《艦隊Collection》作品的滑鼠墊都沒有代理。市面上比較有料的看來就《閃亂神樂》、《碧藍航線》的等身滑鼠墊，喔太貴了，一萬台幣，那幹嘛不去買個等身奶子＋人體模型就好了。 正版的胸部滑鼠墊定價偏高哪，而且沒有我尬意的角色。所以找上客製化。\n2. 準備客製化滑鼠墊圖片 # 就跟買客製化衣服一樣，客製化的店鋪網路上到處都是，例如露天、蝦皮的賣家。\n只要傳一張高解析度的圖片給對方就能夠幫你印上去，價格非常的便宜，大概600元台幣就能買到。\n有點可惜的是公版模子，胸部大小就是固定的，可能沒想像中的圓。想想也對嘛，如果訂了「爆乳」滑鼠墊，有兩顆巨大圓球隆起，那手不就真的被夾住不能動了嗎？\n理想上，印刷的圖片應該是要正面照，角色的臉和胸部正面讀者，通常是抱枕圖(dakimakura)居多。\n為了方便印刷，圖片解析度最好4000x4000像素以上。至於高解析的圖要去哪裡找？使用SauceNao反查來源，到Pixiv、Danbooru、Gelbooru下載就行。如果原始圖片解析度真的不夠高，再自行用RealESRGAN放大。\n3. 預覽滑鼠墊的PSD素材 # 準備好圖片後，還要記得預覽滑鼠墊的樣子。有些廠商會做給你看，但你可以自行用範本試試，比如美國網站Diipoo有提供PSD素材範本：4 Oppai Mousepad Templates You Need In Your Otaku Life\n如下圖，紅色線是出血線，這部份是預留空間，不要讓重要的部份跑到這個範圍。橘線為要隆起的部位。 使用支援圖層的修圖軟體疊疊看，正面的圖片有些要自行旋轉喬一下。這樣可以知道大概成品樣子。\n簡單南部P範例：\n4. 實際訂個胸部滑鼠墊 # 實際訂做了一個，正面看起來滿大的！\n不過從側面看就\u0026hellip; 所以說，這一切都是角度的問題。 清潔方式：丟水裡洗澡。不過用久的了汗斑可能會洗不掉。\n那麼，胸部滑鼠墊到底好不好用？可能還是心理因素大於物理舒適度吧，視覺上療癒，沒事還可以摸一摸。有的人可能會覺得手臂被夾住不自在。\n如果玩FPS遊戲肯定不能把手一直夾在胸部上，那會無法移動。此時就只能把滑鼠墊倒過來放，用平坦那一面來墊著了。\n","date":"2024年6月24日","externalUrl":null,"permalink":"/posts/custom-kantai-collection-unryuu-oppai-mousepad/","section":"Kantai-Collections","summary":"這是一般素色的矽膠滑鼠墊，有突起地方可以墊手腕，防止手腕隧道症候群。 胸部滑鼠墊（おっぱいマウスパッド，oppai mousepad）就是在滑鼠墊上做隆起的兩顆球並印上圖片。根據Pixiv百科事典的說法，據說胸部滑鼠墊最早是台灣廠商發明的。\n這個隆起的部位可以放胸部，沒有胸就放屁股，甚至男性胸肌也行（大概只有腐女會喜歡）。\n這個買來要幹嘛，沒、沒有，我不覺得廉價布料的可以用來模擬乳交什都的，除非是泳衣戀物癖，據說滑鼠墊材質跟死庫水一樣。\n單純拿來墊手而已，看哪滑鼠墊多實用，就算在公共場合擺出了也不會引人側目的存在！\n有些出版商會推出官方正版授權的滑鼠墊，不過角色數量有限沒辦法滿足所有人，所以最好方式就是找客製化滑鼠墊了吧。下述背景與注意事項，以及胸部滑鼠墊實際上好不好用。\n1. 找客製化的背景 # 幾年前趁特價時購買過正版的艦隊Collection滑鼠墊，原價950台幣\n見：【艦これ】乾真大 ~ Iowa立體滑鼠墊 這個滑鼠墊二年後就因為手汗關係，難以清洗污漬就丟掉了。\n在台灣這種「正版貨」似乎越來越難找了，至少我尬意的《艦隊Collection》作品的滑鼠墊都沒有代理。市面上比較有料的看來就《閃亂神樂》、《碧藍航線》的等身滑鼠墊，喔太貴了，一萬台幣，那幹嘛不去買個等身奶子＋人體模型就好了。 ","title":"乾真大！再次購買艦娘胸部滑鼠墊，這次是客製化的雲龍圖片式樣","type":"kantai-collection"},{"content":"這台「PLAYTV-B」是愛思推出的攜帶式螢幕，價格5000台幣出頭，觸控版的只差1000元，但是PCHome缺貨，所以買普通螢幕版本。\n買螢幕的音質不考慮，但是螢幕色彩絕對不能低於一般水準。\n會看上PLAYTV-B除了價格外，還有IPS面板、NTSC 72%，支援Type C和micro HDMI訊號輸入。此外PLAYTV-B價格便宜也是一個優勢，其他大廠牌出的攜帶式螢幕價格在這之下的一看就是爛貨，在這之上的又太貴了。\n用途：當作手機、筆電、桌電的第二個螢幕，所以選15.6吋。\n二年前，異想天開想買了這個攜帶式螢幕，配合Android Termux Proot試圖將手機當作電腦用，於2022年5月28日寫下了初次評價。結論是玩沒幾下就收起來了，沒觸控螢幕真是可惜呀。但是最近我才發現這個螢幕有HDR功能！恰好Linux的Wayland協定加入了試驗性的HDR支援。所以又拿出來測試。\n1. 開箱 # 箱子拆開就是螢幕PLAYTV-B本體，附一個皮套，有不牢固的磁鐵能吸附螢幕背蓋，從而靠不牢固的底座突起立起來。 內附Type C ↔ TypeC線x1、TypeC ↔ TypeA線x1、micro HDMI ↔ HDMI線x1。\n螢幕左邊有二個Type C輸入和一個micro HDMI。右邊為5個選項鍵、microUSB、耳機孔。\n螢幕使用時只能從下方的Type C或microUSB供電。其他裝置再用Type C或HDMI輸出畫面到這個螢幕。\n此螢幕不能開箱即用，在進入實際使用情境前，要先調整顏色。\n選項鍵調整方式：找到螢幕右方的按鈕，由上到下依序為電源、MENU、音量+、音量-、返回鍵。按MENU鍵叫出螢幕選單，按音量鍵移動選項，按MENU鍵選取或確認，按返回鍵退出。\n按選項鍵，移動到色彩模式，PCM選擇Native或sRGB。 顏色效果選擇Standard，這樣顏色才不會過白或過豔。 HDR預設是自動模式，要由作業系統開啟。或者可以在螢幕設定的進階 → HDR強制開啟HDR 2084。\n2. 實際使用情境1，手機螢幕 # Android旗艦機大部分都支援TypeC輸出螢幕訊號，我的是Sony Xperia 5II。分為TypeC ↔ TypeC輸出，或者TypeC ↔ HDMI。\n螢幕比例不一致的，用Second Screen調整畫面就不會有投影到大螢幕比例黑邊的問題。\nTypeC ↔ TypeC模式下，手機輸出訊號時也能順便充電。\n只不過我注意到用TypeC輸出畫面，PLAYTV-B顏色總是很淡，要用TypeC轉接頭插HDMI輸出才會正常。感覺我的Xperia 5 II用了那麼久，傳輸埠和原廠線開始老化了。相較之下PinePhone都能直接TypeC輸出螢幕訊號呢。\n放大螢幕玩遊戲感覺還不錯，PLAYTV-B sRGB螢幕顏色沒有跟Xperia 5 II的BT.2020差很多。不過Android機外接HDMI會把音效帶走，還不能自由選擇。PLAYTV-B喇叭很破，所以無音質可言。 此外，三星以外的Android機，雙螢幕的「桌面模式」很陽春，外接顯示器很難用。所以只好將手機輸出到PLAYTV-B後，接上藍牙鍵鼠，登入Termux Proot Linux，算是變成小電腦了。 3. 實際使用情境2：電腦副螢幕 # 如果是Windows的話，多插一個螢幕根本不算什麼，但購買當下我的桌電系統是openSUSE Tumbleweed，顯卡是Intel內顯+萬惡的Nvidia，桌面環境KDE Plasma 5。實際遇到的問題太多了，黑螢幕、登入後崩潰(還是x11！Wayland根本跑不出來)、其中一個HDMI孔沒聲音之類的\u0026hellip;。唉，看來KDE沒有筆電的Fedora + Gnome穩定。\n好不容易正常運作，拿來當電腦副螢幕直立著看漫畫。 這個問題在二年後看來已經由Wayland解決了。KDE Plasma 6 Wayland雙螢幕不再崩潰。\n4. 測試HDR輸出 # Windows 11可以在系統設定 → 雙螢幕，偵測到螢幕的HDR屬性，啟用後會讓螢幕變很亮，播放Youtube HDR影片可以觀察到暗部更清晰。\n至於Linux嘛，參考Arch Wiki，需要準備KDE Plasma 6.0或者Steam Gamescope，他們有實驗性的HDR支援。KDE似乎無法用指令或圖形界面指示螢幕要用HDR？所以得在螢幕端強制開啟HDR模式，然後就可以用MPV測試播放HDR影片了。測試結果是開HDR螢幕會整個泛白\u0026hellip;即使MPV播放影片也是如此，不能排除是Nvidia專有驅動的問題，只能等未來Wayland的HDR協定成熟點吧。\n","date":"2024年6月24日","externalUrl":null,"permalink":"/posts/playtv-b-portable-monitor-review/","section":"Unboxings","summary":"這台「PLAYTV-B」是愛思推出的攜帶式螢幕，價格5000台幣出頭，觸控版的只差1000元，但是PCHome缺貨，所以買普通螢幕版本。\n買螢幕的音質不考慮，但是螢幕色彩絕對不能低於一般水準。\n會看上PLAYTV-B除了價格外，還有IPS面板、NTSC 72%，支援Type C和micro HDMI訊號輸入。此外PLAYTV-B價格便宜也是一個優勢，其他大廠牌出的攜帶式螢幕價格在這之下的一看就是爛貨，在這之上的又太貴了。\n用途：當作手機、筆電、桌電的第二個螢幕，所以選15.6吋。\n二年前，異想天開想買了這個攜帶式螢幕，配合Android Termux Proot試圖將手機當作電腦用，於2022年5月28日寫下了初次評價。結論是玩沒幾下就收起來了，沒觸控螢幕真是可惜呀。但是最近我才發現這個螢幕有HDR功能！恰好Linux的Wayland協定加入了試驗性的HDR支援。所以又拿出來測試。\n1. 開箱 # 箱子拆開就是螢幕PLAYTV-B本體，附一個皮套，有不牢固的磁鐵能吸附螢幕背蓋，從而靠不牢固的底座突起立起來。 內附Type C ↔ TypeC線x1、TypeC ↔ TypeA線x1、micro HDMI ↔ HDMI線x1。\n","title":"PLAYTV-B開箱 \u0026 使用感想，中規中矩的攜帶式螢幕","type":"unboxing"},{"content":"Linux的Virt Manager是透過SPICE協定跟QEMU/KVM虛擬機互動的，能讓我們能在宿主機桌面與虛擬機之間切換滑鼠。 SPICE提供以下功能：\n讓虛擬機自動隨視窗大小切換解析度，透過SPICE + QXL驅動實現 宿主機與虛擬機共享剪貼簿 即時重新導向USB裝置 智慧卡重新導向 播放與錄製音訊 透過WebDAV共享資料夾(Spice WebDAV) 不過以上功能並非全啟用。若要使用全部功能，就需要SPICE Guest Tools（客體系統工具），此為一款跑在虛擬機內的程式，讓使用者能使用SPICE的全部功能。\n這東西有點類似VirtualBox的Guest Additions，讓宿主機與虛擬機之間更方便的互動。\nSPICE Guest Tools支援Windows虛擬機與Linux系統。它會在虛擬機內部安裝Spice VDagent和Qemu-guest-agent二個常駐程式，負責宿主機與虛擬機間的溝通。\n1. 宿主機安裝Virt Manger # 設定好Virt Manger與QEMU/KVM\n並安裝Windows或Linux虛擬機\n2. 虛擬機安裝Spice Guest Tools # Windows虛擬機 # 在虛擬機內開啟瀏覽器，到Fedora網站下載。\n進入stable-virtio的目錄，下載virtio-win-guest-tools.exe安裝檔。 在那之後可以透過Windows的服務界面確認QEMU Agent和Spice VDAgent是否有跑起來。 Linux虛擬機 # Spice Guest Tools通常透過套件管理器安裝就行，不行的話再到官網使用原始碼安裝。\nUbuntu虛擬機內使用X11桌面的話，通常已經包含QXL驅動，沒有的話再手動安裝。目前QXL對Wayland支援程度不太好的樣子。 sudo apt install xserver-xorg-video-qxl 再安裝Spice Guest Tools套件 sudo apt install spice-vdagent qemu-guest-agent 使用systemd指令啟動服務 sudo systemctl enable --now spice-vdagent sudo systemctl enable --now qemu-guest-agent 3. SPICE圖形操作 # SPICE服務有跑起來之後，宿主機和虛擬機的剪貼簿應該就會自動同步了。\n若要讓Windows虛擬機隨著Virt Manager視窗大小自動修改桌面解析度，顯示卡必須為QXL。 之後才可以點選檢視 → 縮放顯示 → 自動調整虛擬機視窗大小。 值得注意的是，目前SPICE Tools版本0.1.240的QXL驅動尚不支援Wayland工作階段，Linux虛擬機需使用X11工作階段才支援自動縮放。\n4. Spice WebDAV共享資料夾 # Spice WebDAV是個極簡WebDAV伺服器，支援Windows XP以上系統。需要手動設定SPICE通道，以及在虛擬機安裝spice-webdavd服務。\n這個共享資料夾作法有點複雜，而且不穩定，不在乎遠端分享能力的話建議改用VirtIO-FS比較簡單。\n在Linux宿主機安裝Apache套件，啟用WebDAV模組，架設WebDAV伺服器。設定要分享的目錄，例如/home/user/Public。\n將虛擬機關機\n在Virt Manager點選新增硬體，新增通道，選取SPICE WebDAV 虛擬機開機。\nWindows到SPICE官網下載spice-webdavd-x64安裝檔\nLinux透過套件管理器安裝spice-webdavd套件。\n這樣子在虛擬機內應該就能連線到宿主機的WebDAV了。 參考資料 # Spice User Manual - spice-space.org Qemu-guest-agent - Proxmox VE Wiki ","date":"2024年6月20日","externalUrl":null,"permalink":"/posts/spice-guest-tools/","section":"所有文章","summary":"Linux的Virt Manager是透過SPICE協定跟QEMU/KVM虛擬機互動的，能讓我們能在宿主機桌面與虛擬機之間切換滑鼠。 SPICE提供以下功能：\n讓虛擬機自動隨視窗大小切換解析度，透過SPICE + QXL驅動實現 宿主機與虛擬機共享剪貼簿 即時重新導向USB裝置 智慧卡重新導向 播放與錄製音訊 透過WebDAV共享資料夾(Spice WebDAV) 不過以上功能並非全啟用。若要使用全部功能，就需要SPICE Guest Tools（客體系統工具），此為一款跑在虛擬機內的程式，讓使用者能使用SPICE的全部功能。\n這東西有點類似VirtualBox的Guest Additions，讓宿主機與虛擬機之間更方便的互動。\nSPICE Guest Tools支援Windows虛擬機與Linux系統。它會在虛擬機內部安裝Spice VDagent和Qemu-guest-agent二個常駐程式，負責宿主機與虛擬機間的溝通。\n1. 宿主機安裝Virt Manger # 設定好Virt Manger與QEMU/KVM\n並安裝Windows或Linux虛擬機\n2. 虛擬機安裝Spice Guest Tools # Windows虛擬機 # 在虛擬機內開啟瀏覽器，到Fedora網站下載。\n","title":"Spice Guest Tools用法，QEMU/KVM虛擬機自動縮放解析度、共享資料夾","type":"posts"},{"content":"討論如何備份QEMU/KVM虛擬機檔案。\nVirt Manager所建立的虛擬機，預設會將虛擬硬碟映像檔放到/var/lib/libvirt/images，這也就是Libvirt預設映像檔所在路徑。\n如果電腦Linux系統要重裝，我們可以用最簡單暴力的方法備份：將虛擬機組態(.xml)和虛擬硬碟映像檔(.qcow2)複製到其他硬碟，未來就可以還原到新電腦。\n這裡以備份Windows 11虛擬機為例子。在備份Windows虛擬機的時候，除了備份虛擬機組態與虛擬硬碟以外，還要記得備份EFI Variables。\n1. 備份虛擬機 # 先將虛擬機關機。\n切換成root\nsu 列出虛擬機 virsh list --all 將\u0026quot;windows11\u0026quot;的虛擬機組態儲存為XML，備份到第二個硬碟，例如/run/media/user/SSD2/ virsh dumpxml windows11 \u0026gt; /run/media/user/SSD2/windows11.xml 接著，備份虛擬機硬碟的qcow2檔案到/run/media/user/SSD2/ cp /var/lib/libvirt/images/windows11.qcow2 /run/media/user/SSD2/windows11.qcow2 cp /usr/share/edk2/x64/OVMF_CODE.secboot.fd /run/media/user/SSD2/OVMF_CODE.secboot.fd 接著備份儲存EFI Variables的OVMF_VARS cp /var/lib/libvirt/qemu/nvram/Windows11_VARS.fd /run/media/user/SSD2/Windows11_VARS.fd 2. 還原虛擬機 # 若要還原虛擬機，先將虛擬硬碟移動至原本位置/var/lib/libvirt/images/ su cp /run/media/user/SSD2/windows11.qcow2 /var/lib/libvirt/images/windows11.qcow2 cp /run/media/user/SSD2/Windows11_VARS.fd /var/lib/libvirt/qemu/nvram/Windows11_VARS.fd 再按照備份的XML組態重新建立虛擬機 virsh define --file /run/media/user/SSD2/windows11.xml 參考資料 # Efficient live full disk backup - libvirt Backup and Restore KVM Vms. Introduction - Sylia CH ","date":"2024年6月20日","externalUrl":null,"permalink":"/posts/libvirt-backup-vms/","section":"所有文章","summary":"討論如何備份QEMU/KVM虛擬機檔案。\nVirt Manager所建立的虛擬機，預設會將虛擬硬碟映像檔放到/var/lib/libvirt/images，這也就是Libvirt預設映像檔所在路徑。\n如果電腦Linux系統要重裝，我們可以用最簡單暴力的方法備份：將虛擬機組態(.xml)和虛擬硬碟映像檔(.qcow2)複製到其他硬碟，未來就可以還原到新電腦。\n這裡以備份Windows 11虛擬機為例子。在備份Windows虛擬機的時候，除了備份虛擬機組態與虛擬硬碟以外，還要記得備份EFI Variables。\n1. 備份虛擬機 # 先將虛擬機關機。\n切換成root\nsu 列出虛擬機 virsh list --all 將\"windows11\"的虛擬機組態儲存為XML，備份到第二個硬碟，例如/run/media/user/SSD2/ virsh dumpxml windows11 \u003e /run/media/user/SSD2/windows11.xml 接著，備份虛擬機硬碟的qcow2檔案到/run/media/user/SSD2/ cp /var/lib/libvirt/images/windows11.qcow2 /run/media/user/SSD2/windows11.qcow2 cp /usr/share/edk2/x64/OVMF_CODE.secboot.fd /run/media/user/SSD2/OVMF_CODE.secboot.fd 接著備份儲存EFI Variables的OVMF_VARS cp /var/lib/libvirt/qemu/nvram/Windows11_VARS.fd /run/media/user/SSD2/Windows11_VARS.fd 2. 還原虛擬機 # 若要還原虛擬機，先將虛擬硬碟移動至原本位置/var/lib/libvirt/images/ su cp /run/media/user/SSD2/windows11.qcow2 /var/lib/libvirt/images/windows11.qcow2 cp /run/media/user/SSD2/Windows11_VARS.fd /var/lib/libvirt/qemu/nvram/Windows11_VARS.fd 再按照備份的XML組態重新建立虛擬機 virsh define --file /run/media/user/SSD2/windows11.xml 參考資料 # Efficient live full disk backup - libvirt Backup and Restore KVM Vms. Introduction - Sylia CH ","title":"如何備份Linux Virt Manager所建立的QEMU/KVM虛擬機映像檔","type":"posts"},{"content":"在這篇文章中，Ivon將教你安裝Windows 11和Ubuntu LTS雙系統，也就是不重灌電腦，在一台電腦的同一個硬碟安裝二個系統，達成雙重開機。開機時會有選單選擇要進入Windows 11或是Ubuntu。 在下面的安裝過程，我們將安裝「單碟」「雙系統」。\n如果你想將硬碟資料全部清除，只安裝Ubuntu一個系統，請參考這篇。\n＊安裝Windows與Ubuntu雙系統前應做好重要資料備份。遇到問題，適時請教社群成員的幫助 (見文末「延伸閱讀」)\n1. Ubuntu簡介 # Ubuntu屬於較為著名的GNU/Linux發行版之一，是一款免費下載的自由開源作業系統，後續更新也都是免費的。\nIvon在這篇安裝的版本是「Ubuntu LTS」，搭載GNOME桌面，適合個人電腦與伺服器使用。「LTS」代表長期支援版本，軟體經過測試比較穩定。官方會自發表的年份提供至少5年的免費支援，讓你可以不用頻繁更新系統。\n要怎樣的硬體需求才跑得動Ubuntu呢？Ubuntu對電腦要求不高，沒有特殊硬體需求，只要是近10年以內的電腦應該都可以安裝Ubuntu。不過Ubuntu使用的是相對吃資源的GNOME桌面，因此電腦不能太老。\n建議：選用支援UEFI開機的x86_64電腦主機板，RAM至少4GB，CPU至少2核心以上，Intel和AMD都可以。GPU部份Nvidia、AMD、Intel都支援。系統碟推薦使用SSD，至少留有64GB空間。符合這些條件再來安裝Ubuntu。低於此條件的電腦或許依然可以安裝Ubuntu，但會卡卡的。\n如果不確定您的主機板、Wifi網路卡、藍牙裝置是否有支援Linux驅動程式，可以先到Ubuntu官網的認證硬體以及Linux硬體資料庫查詢相容性。\n2. 騰出硬碟空間用來安裝Ubuntu # 在不刪除Windows 11資料的情況下安裝Ubuntu，需要準備空間給Ubuntu安裝。\n如果您打算清除硬碟資料直接安裝Ubuntu，那麼可以跳過此步驟。\n右鍵點選Windows圖示，點選磁碟管理 對目前使用的磁碟(C槽)按右鍵，點選壓縮磁碟 輸入壓縮65536MB (1024MB x 64 = 64GB) 這樣你會得到一個64GB的未分配空間，該硬碟分區將用來安裝Ubuntu。 3. 製作Ubuntu安裝隨身碟 # Ubuntu官方提供許多不同桌面環境的版本，例如界面漂亮的Kubuntu、適合老舊電腦使用的Lubuntu、沒有圖形界面的Ubuntu Server等等。這裡使用的是搭載GNOME桌面的一般版Ubuntu。\n準備一個8GB以上的隨身碟，將其插入電腦。\n保持穩定網路連線，至Ubuntu全球官網下載帶有Ubuntu LTS字樣的ISO。撰文當下最新版本是Ubuntu 24.04，若您需要其他版本的Ubuntu請造訪這裡 下載後檢查檔案完整性防止檔案毀損。\n安裝Ventoy，將ISO放到隨身碟。\n4. 調整UEFI設定 # Windows 11的電腦通常會啟用Secure Boot，然而開啟Secure Boot的電腦可能會無法啟動其他系統，因此我們得將其關閉。每家主機板的設定都不同，請自行查詢官網說明。\n隨身碟插入電腦。電腦重開機，連按Delete鍵，進入UEFI。\n首先要關閉Secure Boot，選取Disabled。 接著將開機順序調整為「USB隨身碟」優先開機。 儲存設定，退出UEFI。重開機應該會進入Ubuntu的安裝程式，選取第一個按下Enter。 5. 開始安裝Ubuntu # 有些Wifi驅動Ubuntu可能第一時間會認不到，因此開機後建議先使用有線(光纖)網路連線。\n等大約1分鐘後，Ubuntu的安裝畫面就會跳出來，會聽到一個登登～登登的音效。如果開機黑螢幕，嘗試重開機，並改用Safe Graphics選項開機試試。\n用滑鼠點選「語言」，選取正體中文，點選「安裝Ubuntu」，下一步。 鍵盤配置維持預設，需要注意的是這裡雖然寫漢語，但還不能打中文，只是讓你測試鍵盤是否正常而已 確認電腦連上網路 跳過安裝程式更新 點選安裝Ubuntu 選取互動式安裝 使用預設安裝，或者使用完整安裝，這樣它會幫你安裝好一些常用文書軟體 勾選安裝第三方軟體（嘗試自動安裝Wifi、顯卡驅動之類的，需要有線網路連線） Ubuntu的安裝程式應該會偵測到Windows 11，選擇「跟Windows安裝在一起」，Ubuntu會自動安裝到剛剛在Windows壓縮的磁區。點選下一步。 如果你的硬碟沒有任何系統，就直接點選清除磁碟並安裝Ubuntu。 設定登入系統的帳號密碼，建議使用英文大小寫＋數字就好，日後無法修改帳號名稱。 選取時區為台北 等待安裝程式跑完。 點選重開機，拔掉隨身碟後按下Enter，電腦會自動重開機。 6. 進入Ubuntu系統 # 如果安裝Ubuntu後開機還是進入Windows 11，請關機，並在開機時連按Delete進入UEFI，將開機順序調整為「Ubuntu」或「GRUB」優先。 之後開機見到的選單會是這個樣子，這是Ubuntu安裝的GRUB開機引導程式。日後可在這裡選擇要進入Ubuntu還是Windows (Windows Boot Manager)，就不需要去調UEFI設定了。 進入Ubuntu系統後，一直下一步，跑完簡單設定程序。 接著建議做這幾件事情：\n熟悉GNOME桌面操作 # Ubuntu採用的是Linux最多人用的GNOME桌面，了解一下快捷鍵與使用技巧，有助於你更好的操作電腦。\n參見：GNOME桌面使用心法，理解設計哲學與操作邏輯\n使用新酷音輸入法 # Ubuntu安裝時已安裝注音輸入法，叫作新酷音。按CTRL+空白鍵啟用注音輸入法，按Shift切成英文。\nUbuntu內建的新酷音應該是透過Fcitx5安裝的，請參見Fcitx5用法。\n安裝常用軟體 # Ubuntu安裝程式點選「普通安裝」的話，系統已內建Firefox瀏覽器、照片檢視器、影音播放器、LibreOffice等常用程式。\n講個重要的：Intel和AMD顯示卡不需要特殊驅動就能用，因為都含在開源Mesa驅動了。但是Nvidia顯示卡的用戶建議安裝Nvidia專有驅動才能發揮系統全速。\nUbuntu只要點選工作列的橘色軟體商店即可下載軟體。請看這篇了解Linux有哪些常用軟體。 要用APT指令裝軟體也行，按左下角的點點，開啟應用程式列表，找到終端機。 輸入指令更新系統套件（執行指令前，尤其是使用sudo的指令，務必知道自己在做什麼才執行）：\n# 更新所有套件 sudo apt update \u0026amp;\u0026amp; sudo apt upgrade # 安裝套件，例如文字編輯器Vim sudo apt install vim 掛載Windows硬碟 # 如果有需要在Ubuntu存取Windows的分區，只要硬碟沒加密，開啟Ubuntu的檔案管理員就能掛載Windows的分區。\n開啟工作列的檔案管理員，點一下左下角欄位 → 其他位置，掛載Windows分區(從硬碟容量判斷)，就能瀏覽Windows分區的資料夾了，例如Windows使用者的「桌面」資料夾位於/Users/\u0026lt;使用者名稱\u0026gt;/Desktop。 解決Ubuntu與Windows時間不一致的問題 # 這是個小問題，關掉Ubuntu進入Windows後會發現時間跑掉了得手動同步，這是因為Ubuntu使用UTC之故。\n開啟Ubuntu的終端機，輸入此指令，讓Ubuntu使用RTC，Windows時間就不會跑掉了。\nsudo timedatectl set-local-rtc 1 7. 如果您想刪除Ubuntu雙系統 # 雙系統下，開機進入Windows，開啟磁碟管理員，將Ubuntu的磁區右鍵刪除，再重新延伸磁碟區即可。\n殘留在UEFI的「Ubuntu」選單可以用EasyBCD刪除。\n如果想在Ubuntu環境下製作Windows開機碟，請參閱Ventoy\n延伸閱讀 # Facebook Ubuntu正體中文社團 PTT看板Linux Ubuntu官方說明文件 ","date":"2024年6月20日","externalUrl":null,"permalink":"/posts/windows11-ubuntu2204-dual-boot/","section":"所有文章","summary":"在這篇文章中，Ivon將教你安裝Windows 11和Ubuntu LTS雙系統，也就是不重灌電腦，在一台電腦的同一個硬碟安裝二個系統，達成雙重開機。開機時會有選單選擇要進入Windows 11或是Ubuntu。 在下面的安裝過程，我們將安裝「單碟」「雙系統」。\n如果你想將硬碟資料全部清除，只安裝Ubuntu一個系統，請參考這篇。\n＊安裝Windows與Ubuntu雙系統前應做好重要資料備份。遇到問題，適時請教社群成員的幫助 (見文末「延伸閱讀」)\n1. Ubuntu簡介 # Ubuntu屬於較為著名的GNU/Linux發行版之一，是一款免費下載的自由開源作業系統，後續更新也都是免費的。\nIvon在這篇安裝的版本是「Ubuntu LTS」，搭載GNOME桌面，適合個人電腦與伺服器使用。「LTS」代表長期支援版本，軟體經過測試比較穩定。官方會自發表的年份提供至少5年的免費支援，讓你可以不用頻繁更新系統。\n要怎樣的硬體需求才跑得動Ubuntu呢？Ubuntu對電腦要求不高，沒有特殊硬體需求，只要是近10年以內的電腦應該都可以安裝Ubuntu。不過Ubuntu使用的是相對吃資源的GNOME桌面，因此電腦不能太老。\n","title":"【圖文教學】Windows 11安裝Ubuntu LTS，單碟雙系統 ","type":"posts"},{"content":"DXVK是把DirectX繪圖指令轉譯成Vulkan的程式，可以提昇部份遊戲效能。\n據說開發DXVK的這位老兄Philip Rebohle，當初是為了在Linux玩《尼爾：自動人形》就自行寫出了這支程式，造福廣大玩家！\n為什麼Linux會需要這個呢？過去Wine將Windows exe轉譯成Linux的繪圖指令，靠的是WineD3D技術，用OpenGL去模擬DirectX繪圖指令，藉此在Linux跑Windows遊戲。\n現在有新型繪圖技術Vulkan，效能勝過OpenGL，但Wine 9.0內建的Vulkan轉譯功能不夠完整，所以要靠第三方的DXVK達到目的。\n根據LinuxReviews用UNIGINE Superposition所作的測試，開DXVK後真的有差！FPS大幅提昇！ 此外，DXVK還可以使用DXVK HUD檢測遊戲的GPU資訊並顯示FPS。\n比較詭異的用法：DXVK沒有限定只能在Linux Wine使用，它也可以在Windows執行，達成在Windows 7老系統玩新遊戲的操作。\n1. 前置依賴項目 # 請先安裝Wine。\nSteam Proton已內建DXVK，故遊玩Steam遊戲不需要裝DXVK，所有遊戲預設都是用Vulkan跑的，除非你在遊戲啟動選項加上PROTON_USE_WINED3D＝1它才會改回OpenGL。\n如果你的Wine是用Flatpak安裝的就不需要安裝DXVK了。同理，Flatpak版Steam、Lutirs、Bottles皆已內建DXVK。\n2. 在Linux系統安裝Vulkan驅動 # 以Ubuntu為例，Intel/AMD顯示卡安裝以下套件：\nsudo apt install libvulkan1 libvulkan-dev vulkan-utils Nvidia需要先安裝閉源驅動，再安裝以上的Vulkan套件。\n之後，用以下指令確認系統的Vulkan支援狀況：\nvulkaninfo 3. 安裝DXVK # 到Github Releases下載最新版zip檔，解壓縮 cd ~/Downloads wget https://github.com/doitsujin/dxvk/releases/download/v2.4.1/dxvk-2.4.1.tar.gz tar -xvf dxvk-2.4.1.tar.gz cd dxvk-2.4.1 接著將DLL檔複製到Wine的安裝目錄，預設應為~/.wine export WINEPREFIX=~/.wine cp x64/*.dll $WINEPREFIX/drive_c/windows/system32 cp x32/*.dll $WINEPREFIX/drive_c/windows/syswow64 啟動winecfg winecfg 到函式庫頁面，設定DLL覆寫，將d3d11、d3d10core、dxgi、d3d9調整為「內建先於原生」。 4. 如何確認DXVK安裝成功 # DXVK_HUD用於檢測GPU和FPS。\n使用環境變數DXVK_HUD執行Wine，再執行Windows 3D應用程式\nDXVK_HUD=1 wine game.exe 看看遊戲左上角DXVK HUD有無跑出來，就知道DXVK是否有啟用了。 順帶一提，DXVK_HUD=1這個環境變數也可以用在Steam遊戲的啟動選項，不過我們已經有功能更強的MangoHud了。\n還請注意不是所有遊戲用DXVK都能提昇效能，有的可能會崩潰。\nDXVK 2.4.1目前支援轉譯DirectX 9、DirectX 10、DirectX 11的遊戲。如果需要更新版的DirectX轉譯方案請到Github找，例如Valve研發的VKD3D，支援DirectX 12。\n參考資料 # doitsujin/dxvk Vulkan - ArchWiki Wine 6.3 Built-in vs DXVK 1.8: A Comparison Of Two Very Different DirectX Implementations - LinuxReviews ","date":"2024年6月19日","externalUrl":null,"permalink":"/posts/linux-dxvk/","section":"所有文章","summary":"DXVK是把DirectX繪圖指令轉譯成Vulkan的程式，可以提昇部份遊戲效能。\n據說開發DXVK的這位老兄Philip Rebohle，當初是為了在Linux玩《尼爾：自動人形》就自行寫出了這支程式，造福廣大玩家！\n為什麼Linux會需要這個呢？過去Wine將Windows exe轉譯成Linux的繪圖指令，靠的是WineD3D技術，用OpenGL去模擬DirectX繪圖指令，藉此在Linux跑Windows遊戲。\n現在有新型繪圖技術Vulkan，效能勝過OpenGL，但Wine 9.0內建的Vulkan轉譯功能不夠完整，所以要靠第三方的DXVK達到目的。\n根據LinuxReviews用UNIGINE Superposition所作的測試，開DXVK後真的有差！FPS大幅提昇！ 此外，DXVK還可以使用DXVK HUD檢測遊戲的GPU資訊並顯示FPS。\n比較詭異的用法：DXVK沒有限定只能在Linux Wine使用，它也可以在Windows執行，達成在Windows 7老系統玩新遊戲的操作。\n1. 前置依賴項目 # 請先安裝Wine。\nSteam Proton已內建DXVK，故遊玩Steam遊戲不需要裝DXVK，所有遊戲預設都是用Vulkan跑的，除非你在遊戲啟動選項加上PROTON_USE_WINED3D＝1它才會改回OpenGL。\n","title":"DXVK Linux版安裝方法，改善Wine轉譯Windows遊戲的3D效能","type":"posts"},{"content":"假如生活欺騙了你？到頭來，我欺騙的是我自己。\n此為學習英文的歷程（二）的續篇。\n這篇不是在LinkedIn會出現的勵志心得，什麼碩士班全攻略之類的，純粹是個人經歷文。但是，失望中也含有希望，故我還是寫了下來。\nS教授在期末考的TOEFL Speaking口說，天外飛來一題：\nWhat was the biggest mistake in your life?\n是這樣嘛，好像高中作文的題目。大約沉頓5秒後，我選擇講出實話而非編勵志故事，所以在短短五分鐘內，就變成懺悔錄了。\n圖片來源：https://www.flickr.com/photos/kendo26/15358461695\n好像沒有結束的目標 # 這二年以來，很長一段時間，對現實的想法是麻木的，沒有活著的實感，就像這首歡迎加入NHK！曲子〈独りのためのララバイ〉一樣的無力氛圍。\n大學畢業沒有特別目標，所以在打工的同時考了碩士班。\n打從進入英語研究所以來，就覺得大學是白讀的了。不是說過去完全沒學到東西，可是學習吸收程度並不足進入研究所，看來我也是成為人口中說的混子了。\n在艱辛的考上碩士班後，覺得差距甚大。不過是隔了一條河的學校，課程難度就是天與地的差別。若這個比喻太抽象，就這樣講吧：對我而言，碩士班學校課程跟畢業學校的比起來，好像從育達高中轉學到建國中學那樣的差距。\n碩士班的教授都很溫柔，不會為難我們，畢竟這裡的人進來的很多人都是為了拿TESOL碩士學位的，生出論文比較重要。可是這樣看來，這二年我反倒是在為難教授讓我通過的了，因為碩士班人少，成績很明顯可以看出差距，我就是倒數第一的生態位。\n這可要感謝碩士班沒人在看書卷獎，所以同學只能從課堂報告journal的表現來大約判定一個人的能力罷。不過，我口才本來就沒多少，儘管不至於講話發抖，但是我總覺得，台下的人看我的講話，和我的成品，都像是在看呼呼嘿嘿表演一樣。每天頂著這個城市的豔陽走向學校，卻要面對比我多得多耀眼的人，就連市長也說自己是暖男。\n到頭來，碩士斑的課程好像並沒有學到什麼知識。更準確的說，碩士班根本不是讓你學習用的（或者說大學部課程也應是如此），而是讓你確認研究方向，並知道要找哪個人當指導教授。如果把課程當成被動吸收知識的管道，是不可能開始手動做自己的研究的。尤其在文組研究所，沒有老闆會一五一十的指導你。對比理組睡實驗室的痛苦，我覺得沒方向的虛無感同樣難受。\n在碩一下，因為考了教育學程的關係，理所當然的延畢了。\n你真的想要當老師嗎？ # 得知這個學校有教育學程課程，不知怎地方也跟著去考了，想說作為備案，還是能夠繼續拖延這種得過且過的日子嗎。上了先修科目，加上考試只考國文和教育知能，所以輕鬆的上了，專業科目當然是我本身的英文系。\n殊不知這不過是另一場試煉的開始。台灣要成為老師要經過至少二年的修業才可以參加教師資格考，即使通過了也要到全台各地應徵考試，在激烈競爭中獲得正式教師職位。在那之前的課程，有許多教育學分要修。而我因為碩士與學士不同校，除了部份可以抵免外，還得下修大學部英語系的課，才可以補完英語系專業科目的學分。\n現在我的畢業目標分裂出了二個，一是論文，二是教育學程。二者都沒有絕對把握能準時完成。\n果然這裡大學部的硬度很高。文學、語言學、翻譯學、教育學都塞好塞滿，即使是看起來最輕鬆的英語會話課也是由嚴格的教師執導。\n所以挫折更大了。過去認為可以輕鬆駕馭的課程（碩士下修ㄟ我！），到這裡就被打回原形了呀，翻譯學勉強能過，文學課寫不出好的欣賞語句，語言學更加頭大聽不懂在說什麼。其中比較特別的是，會話課程被高難度單字擊倒，因為這個課程其實比較注重考單字。各個課程都學得很掙扎，甚至懷疑自己的能力。發覺到過去在類似的科目，沒被當不過是運氣好遇到我願意放水的老師。\n有時候覺得，教育理論的課程，不論是教育心理學還是教育哲學，怎麼就比系上專業課程要來得簡單了呢。就這樣兩年過去了。\n在一個夕陽照進窗戶的下午，從桌子對面飛來一句話。\n「Ivon，你真的想要當老師嗎？」\n第二次有人這樣說了。\n來碩士班修業的，許多人是社會人士，多半有工作經驗，所以他們看的普遍比較遠。問這個問題的M同學，我很佩服她，對比許多人猶疑不決的說詞，她來修碩士班的目標竟然不過是「自我實現而已」！而在今年，她也如願通過口試了。我跟同學不算陌生，所以她這個問題也多半含有一點關懷的意味吧。\n「Why not\u0026hellip;」故作風騷的這樣回應，換來對方一陣苦笑。大概不用講明白，周遭的人也隱約知道答案為何。\n到底在幹什麼呀。\n能撈就撈？能混就混？ # 不對\u0026hellip;這跟大學不一樣，再怎麼混也撈不到學位呀，這裡又沒有阿通師能幫你選市長。\n渾渾噩噩的日子，在讀碩士的第二年矛盾擴大到最高點，不只碩士班課程，連教育學程相關課程的表現都有感下滑，連低空飛過都做不到。\n誠然，如果努力死讀的話，什麼科目都是不可能被擊倒的。但是這牽扯到另一個問題，這二年來持續逃避沈迷課程以外的事物，並且似乎比以前的更嚴重了。依然按照以前大學的步調對待，將虛無的東西看得比實在還要重要。不論是網路文化、政治、作業系統、動漫，為這些好像很厲害的東西沈醉，逃避。可是除了在網路為我博得一些聲量以外，對現實，乃至未來並沒有實際幫助的作用。\n正常人應該是事業有成才順便經營網站擴大自己的影響力吧？反過來，根基不穩，現實無所依歸的人有可能成功嗎？\n講現實一點的話題，網路上這些東西不能幫我吃飯。而我把精力錯誤分配在這些事情上，相較之下專業能力沒有提昇，所以真的變成了「隕落的明星」。\n「隕落的明星」這句話是聽大學一位教授講過的，意思是小時了了，大未必佳，尤指那些大一成績很好，但是後來沒有一番成就的學生。\n那個教授算是實務派的，可能因為他的專業是工業設計而非英語吧。在國立後段的學校，知道我們系普遍的出路是怎樣，便設計各種課程，鼓勵我們去各種企業實習，儘快熟悉職場。在他眼中，工作經驗勝過向上追求更高的學位，或是花費漫長的時間去考老師。曾經參加過他安排的旅館實習，然後我做出了叛逆的決定，在磨合期就落結束前就落跑。雖然這樣做沒有違法，卻依然給學校和企業的關係造成了一點困擾。\n「你是十年來第一次這樣幹的人。」他這樣說，那輕鬆的語氣中參雜著譴責、不解與惱怒。\n這也是為何我得做類似論文專題以取得畢業資格的原因，我那時還不想踏入職場，所以迴避了工作，並利用做專題的經驗，當作進入碩士班的前哨戰。\n在那之後，兩年內的打工也沒做太多了，總是用課業壓力的搪塞。但是我心裡知道，我其實都在混。選擇少做一些工作，不過是想增加可以上網的時間，而非提昇自己的硬實力。\n於是這樣，二年內感到無力的時刻越來越多，乃至於今年4月跑去看身心科。\n最後你給出的答案是 # 在我心中矛盾逐漸明朗的當下，S教授剛好問了這個問題，就誠實的說出來了我當下想到最後悔的錯誤。\n「最大的錯誤就是不認真讀書。我以前都在浪費時間，別人在認真提昇自己成績的時候我卻在宿舍瞎混。要是我當時讀書認真點，現在應該會在更好的位置。」\n大致上就是本文的內容，但是只用幾句話總結帶過。\n「你說，你後悔自己以前應該更認真讀書\u0026hellip;但是你修我的課都到下學期了，你的成績依然沒有進步。」\n看著S教授苦惱略帶同情的表情，我只能故作堅強的說，是我的錯，隨後離開教室。\n在那之後我差點在木質地板的走廊上哭出來了。怎麼可能被罵還不難過啊。習得性無助還沒嚴重到這種地步不是嗎？\n可惡，為什麼已經這把長大的年紀了還在擔憂學業的事情，而不是像同齡人一樣煩惱工作壓力，追求個人的事業成長。而我，連當孔乙己都當不好，連書袋都掉不出來，這不就代表我的專業能力跟以前比起來根本沒進步嗎！\n我是很喜歡S教授的上課風格的，類似的認真教授在系上還有很多。她出國讀了三四個碩士，每天課堂有生動的介紹讓人學到很多美國道地的俚語諺語，並且結合語言學和實際在國中小的教學經驗，讓人知道怎麼快速背起單字。除此之外，還有強烈的個人意見，會對系上不認真的教授做出批判，又不會因為年紀大倚老賣老。總覺得，這跟以前大學教會我寫essay的教授風格很像啊，她們兩個要是在同一個系一定每天戰翻天。即使我發現專業課程學分根本不需要這門課的當下，即使課程設計有點問題（明明是會話課程卻有一半時間在考單字），還是願意去修她的課，為的就是聽她講講知識。\n但是我終究，學業上沒能通過她的認可，連一點私下互動的關係都沒有。課堂上沒有突出的表現，現在再來後悔已經太遲。的確，被當一科二科不算什麼（\u0026hellip;才怪，錢啊！），再加上我說過其實我不用這門課，但是在這麼認真的老師課程被當掉，更加對不起人了。\n這樣的羞愧比起其他科目考差都更讓人難過。\n是什麼要繼續走下去 # 與其說，是什麼讓我走到現在，不如講，是什麼讓人還想堅持下去。\n我不斷懷疑自己，我真的愛英文嗎？還是我終究只會考試而已？想作為謀生工具，卻還學的這樣差勁？\n但我知道那裡還有希望。如果要細究起來，我回答S教授的問題，說的是「如果當初讀書認真一點，現在的狀態會更好」而不是「後悔讀碩士班，乃至於厭惡現在所發生的一切」\n沒有失敗過就不會想到要進步。\n有人問我會不會後悔走上這條路，如果放棄了一切就解脫了。我會說，雖然流著淚，但是還是想繼續走下去。\n這學期有修一門統計語言學的碩士班課程，因為未來高機率會用到所以得學。那門課程我的成績也是不算好，但是C教授閒暇時與我的談話給了一點想法。他算是系上年輕的教授，教學認真又實在，平常還要忙論文發表所以總是說好累。\n西北雨結束後，我們在略帶濕氣的校園走著。\n他說：「不論未來發生的什麼事，就當做是命運的安排就好了，順著解決事情慢慢走下去，總會有出頭的一天。」\n這種雞湯一樣的話語卻給人了信心呀，簡單卻鼓舞人心。午後的陽光似乎更和煦了起來。\n至此產生了一種特殊的感覺，我開始回想，雖然兩年來得過且過得應付課業，即使科目成績永遠不會讓人驕傲，但我知道還是有那麼些愉悅時光，讓我不至於變成完全習得無助感。這就是短暫的心流時光吧。很多我太混，乃至於學得很痛苦，甚至被當掉的課程，其實還是有我認為很值得的時光。\n要說英語能力完全沒進步，這點是值得懷疑的。因為日常討論都是全英文的，口說能力也到了可以順暢演講的地步了不是麼。且因為有論文寫作的練習，知道如何更專業的英語使用方式，也是個收穫。不要忙著跟別人比，跟自己比有進步就夠好了！\n抱歉\u0026hellip;臨時想不到適合的勵志英語歌，只好分享這首老掉牙的曲子 Lynyrd Skynyrd - Simple Man\n在一門我被當的古典英國文學課程，Z教授心血來潮的想問我們上課心得為何，大概是因為黃仁勳的AI熱潮讓他們感受到自己的生存危機了吧。他屬於那種舊時代的教授，教書方式很傳統，但是不迂腐，總能在經典文學作品中整出新意來。\n當他問到我的時候，就直接true off my chest講了中二的話語：\n「這門課程\u0026hellip;於我十分有用」\n「有用？」他很是驚訝\n「因為閱讀英國文學，才可以知道後世歐美文學作品的旨趣何在，比如，許多作品都講到聖經的梗，如果不是你的課程講解，我就不會知道尼采寫作的奧妙，還有很多作家的寫作都受到古典文學影響，並體現在生活當中。所以說，學習文學也可以學到歷史文化傳承。」\n的確如Z教授所言，文學課程雖然無直接收益，卻可以在意想不到的地方給人慰藉。就算成績不理想，但我總是可以從文字之間得到點東西。對比S教授的言談賦予我的意義，Z教授對文學作品的詮釋更是讓人強化了作者想傳遞給人的東西，比如高文面對綠騎士的成長，到Astrophil and Stella名字的奧妙。我得承認，此類感受是很主觀的經驗，如果覺得周遭，或說現世沒有人懂你的心情，那麼翻閱過去的作品，總是有靈魂從中浮現出來，做超越時間的思維交流。讀什麼樣的書都能有收穫，不必拘泥於聖經。\n從這些存在實感中找到意義，就有辦法對抗虛無感。\n類似以上的時刻還有很多，懶惰的我與快樂的我構成了現在不慍不火的我。認知到現實世界和虛擬世界的隔閡，並想做出改變的步伐，這讓人有了些長大的感覺。\n所以，我不會放棄繼續進步。即使遙遠的未來，真的所作的一切最終都是徒勞，但是至少有嘗試過。\n最後以19世紀普希金的詩作結尾：\n假如生活欺騙了你\n不要悲傷，不要心急\n憂鬱的日子裡需要鎮靜\n相信吧，快樂的日子將會來臨\n心兒永遠嚮往着未來\n現在卻常是憂鬱\n一切都是瞬息，一切都將會過去\n而那過去了的，就會成為親切的懷戀\n","date":"2024年6月18日","externalUrl":null,"permalink":"/posts/how-do-i-learn-english-3/","section":"Personals","summary":"假如生活欺騙了你？到頭來，我欺騙的是我自己。\n此為學習英文的歷程（二）的續篇。\n這篇不是在LinkedIn會出現的勵志心得，什麼碩士班全攻略之類的，純粹是個人經歷文。但是，失望中也含有希望，故我還是寫了下來。\nS教授在期末考的TOEFL Speaking口說，天外飛來一題：\nWhat was the biggest mistake in your life?\n是這樣嘛，好像高中作文的題目。大約沉頓5秒後，我選擇講出實話而非編勵志故事，所以在短短五分鐘內，就變成懺悔錄了。\n圖片來源：https://www.flickr.com/photos/kendo26/15358461695\n好像沒有結束的目標 # 這二年以來，很長一段時間，對現實的想法是麻木的，沒有活著的實感，就像這首歡迎加入NHK！曲子〈独りのためのララバイ〉一樣的無力氛圍。\n大學畢業沒有特別目標，所以在打工的同時考了碩士班。\n打從進入英語研究所以來，就覺得大學是白讀的了。不是說過去完全沒學到東西，可是學習吸收程度並不足進入研究所，看來我也是成為人口中說的混子了。\n在艱辛的考上碩士班後，覺得差距甚大。不過是隔了一條河的學校，課程難度就是天與地的差別。若這個比喻太抽象，就這樣講吧：對我而言，碩士班學校課程跟畢業學校的比起來，好像從育達高中轉學到建國中學那樣的差距。\n碩士班的教授都很溫柔，不會為難我們，畢竟這裡的人進來的很多人都是為了拿TESOL碩士學位的，生出論文比較重要。可是這樣看來，這二年我反倒是在為難教授讓我通過的了，因為碩士班人少，成績很明顯可以看出差距，我就是倒數第一的生態位。\n","title":"學習英文的歷程（三）讀英語研究所心得，發覺到我的英文真的很爛","type":"personal"},{"content":"「Virtual Display Driver」利用Windows的間接顯示驅動程式，模擬另一個實體螢幕出來，讓你不需要插兩個實體螢幕也可以擁有第二個螢幕！\nVirtual Display Driver為Mike Rodriguez所維護的開源專案，該專案為lddSampleDriver的fork，加入了HDR以及高刷新率螢幕的支援，還能夠模擬到最高8K的螢幕。\n1. Virtual Display Driver用途？ # 取代HDMI欺騙器的功能，讓Windows即使沒接實體螢幕也有畫面 方便給OBS Studio、VR頭盔串流、Google Meet擷取，多一個螢幕可以分享內容，不佔用主螢幕空間 多了一個螢幕後，就可以在另一台電腦或平板跑遠端桌面軟體，把螢幕給遠端存取！藉此讓平板成為電腦的第二螢幕。參見：平板當電腦第二螢幕：Moonlight ＋ Sunshine教學 給Linux的QEMU/KVM虛擬機的Looking Glass擷取Windows螢幕之用，這樣就不用使用HDMI欺騙器了。 2. 安裝Virtual Display Driver驅動 # 需要Windows 10以上系統。\n至Github下載Virtual.Display.Driver-setup-x64.exe\n執行exe安裝，一直下一步，並依照畫面指示安裝.Net Desktop Runtime套件。這個安裝器除了安裝虛擬顯示器的驅動之外，還有一個VDD Control面板。 驅動安裝好之後，開啟Windows系統設定 → 顯示器，就會出現一個新螢幕了，可以調整解析度，啟用HDR。 如果問說要怎麼「看到」虛擬螢幕的畫面，最簡單的方式就是用OBS Studio的螢幕擷取功能來查看虛擬螢幕的桌面了，或者用瀏覽器WebRTC分享桌面測試。 若要把這個虛擬螢幕關閉，請在進階顯示設定 → 從桌面移除顯示器，暫時關閉該螢幕。 如果完全不要這個虛擬螢幕了，就到Windows系統設定 → 應用程式，解除安裝VDD Control和Virtual Display Driver，虛擬顯示器驅動應該也會一併移除。\n類似專案 # nomi-san/parsec-vdd： 依賴專有軟體Parsec的虛擬螢幕\nMolotovCherry/virtual-display-rs：可以新增10個虛擬螢幕\n","date":"2024年6月17日","externalUrl":null,"permalink":"/posts/windows-virtual-display-driver/","section":"所有文章","summary":"「Virtual Display Driver」利用Windows的間接顯示驅動程式，模擬另一個實體螢幕出來，讓你不需要插兩個實體螢幕也可以擁有第二個螢幕！\nVirtual Display Driver為Mike Rodriguez所維護的開源專案，該專案為lddSampleDriver的fork，加入了HDR以及高刷新率螢幕的支援，還能夠模擬到最高8K的螢幕。\n1. Virtual Display Driver用途？ # 取代HDMI欺騙器的功能，讓Windows即使沒接實體螢幕也有畫面 方便給OBS Studio、VR頭盔串流、Google Meet擷取，多一個螢幕可以分享內容，不佔用主螢幕空間 多了一個螢幕後，就可以在另一台電腦或平板跑遠端桌面軟體，把螢幕給遠端存取！藉此讓平板成為電腦的第二螢幕。參見：平板當電腦第二螢幕：Moonlight ＋ Sunshine教學 給Linux的QEMU/KVM虛擬機的Looking Glass擷取Windows螢幕之用，這樣就不用使用HDMI欺騙器了。 2. 安裝Virtual Display Driver驅動 # 需要Windows 10以上系統。\n至Github下載Virtual.Display.Driver-setup-x64.exe\n執行exe安裝，一直下一步，並依照畫面指示安裝.Net Desktop Runtime套件。這個安裝器除了安裝虛擬顯示器的驅動之外，還有一個VDD Control面板。 ","title":"軟體模擬Windows雙螢幕：Virtual Display Driver","type":"posts"},{"content":"你可能會好奇自己的網站有多少流量？哪些網頁最受歡迎？此時Google提供的免費網站統計服務便是很好用的工具。\n本文Ivon討論如何將Google提供的免費網站統計服務加入到你的Hugo網站。\n這裡Ivon要介紹兩個服務，分別是Google Search Console(GSC)和Google Analytics(GA)，並介紹「Search Console Insights」面板的好處。\n1. 你為什麼會需要這二個服務 # 首先是Google Search Console，將網站新增上去有什麼好處呢？加快網頁被Google索引的速度。只要定期向Search Console提交Sitemap就能協助Google更快索引，對新網站非常有幫助。 時間久了之後，Google Search Console便能分析你的網站是否有上熱門關鍵字，確認有哪些網頁是排在搜尋結果最前面。還會記錄其他網站對你的反向連結，看誰引用了你的文章。 順帶一提，Bing搜尋引擎也有類似Google Search Console的東西，叫做「Bing WebMaster」，資料可以跟Google Search Console共享。\n至於Google Analytics更厲害了，這是全面性分析網站訪客資料的服務。 它會在你的網頁植入JavaScript監控程式，可以即時檢視多少人在線上、紀錄文章閱讀時長、統計點擊事件、分析訪客國籍、使用的瀏覽器，並製成報表長期追蹤。這樣一來便能知道哪些網頁最為熱門了，若有投放Adsense廣告還能一併估算收益。 雖然Google Analytics蒐集的資料很多，但這些資料不會精確到可以辨識訪客身份。\n不過有些人可能會覺得Google Analytics蒐集資料本身就是侵犯訪客隱私的行為。再者商業網站遵守GDPR還得寫個小程式詢問訪客是否同意放置cookie。如果你有這些顧慮，那麼使用Google Search Console就好。\n最後，以上兩個服務建議一起弄，為什麼呢？二個服務是可以合體的！Google Analytics的資料對一般人來說太複雜了，Google甚至還有推出GA的證照考試呢。\nGoogle Search Console能夠從Google Analytics大量的資料中整理出有用的資訊，呈現在「Search Console Insights」面板，方便你檢視近期新網頁的成效，還有本月受歡迎的網頁資訊。 2. 將Hugo網站新增到Search Console # 雖然沒有強迫，但是有自己的網域後再使用Search Console比較好。\n前往Search Console，點左上角新增資源，點選「網址前置資源」，輸入網域 接著要驗證網站所有權，最簡單的方式是下載Google提供的HTML檔案 不要改名，直接將HTML檔放到Hugo網站的根目錄，也就是你網站根目錄的static目錄下。\n部署Hugo網站\n等個幾分鐘再回到Search Console，這樣就完成驗證。\n在Google Search Console的左側選單可以提交Sitemap，這樣Google搜尋會更快給你的網站索引。 如何查詢你的Hugo網站的Sitemap網址？在Hugo根目錄跑hugo指令建立靜態HTML，觀察public目錄下sitemap.xml的路徑，然後將其與你的網域組合就是sitemap網址。\n例如我的Sitemap網址是https://ivonblog.com/zh-tw/sitemap.xml\n大概等一個禮拜後再回來看Google統計的資料。\n3. 在Hugo網站安裝Google Analytics # 前往Google Analytics，點選左下角管理，再點左上角新增資源 屬性名稱輸入網站名字 點選新增「網站」分析項目 然後輸入網域資訊 在那之後會產生程式碼，將G-開頭的那組英數複製下來。這就是Google代碼ID。 由於Hugo內建支援嵌入Google Analytics，通常只要在Hugo網站的hugo.toml檔案填寫Google代碼ID就行了（不過具體用法還是要看你主題的文件）\n例如：\ngoogleAnalytics = \u0026#34;G-KBS114514A\u0026#34; 隨後，部署Hugo網站。\n回到Google Analytics網頁，點選「測試安插情況」。\n這樣日後每個Hugo網頁都會自動嵌入Google Analytics的程式碼，它會自動在背景收集資料。\n點選Google Analytics管理 → 產品連結 → Search Console，依照指示將Google Analytics與Search Console連結。 大概等一個禮拜後再回來看Google蒐集的統計資料。\n4. 防止預覽Hugo網站時生成GA # 有時候你可能想在本機預覽網站，閱讀文章時間較長，不想被Google Analytics錯誤統計進去，這個時候可以改Hugo生成網頁的行為防止生成Google Analytics程式碼。\n這方面要看你的Hugo主題是怎麼生成Google Analytics的，像我的Blowfish主題是寫在Hugo網站根目錄/themes/blowfish/layouts/partials/main.html，裡面有生成Google Analytics程式碼的邏輯。\n那麼我只要在那一段加入以下判斷式，規定Hugo在生產環境（部署）的時候才生成Google Analytics程式碼。\n{{ if eq hugo.Environment \u0026#34;production\u0026#34; }} {{ partial \u0026#34;analytics/ga.html\u0026#34; }} {{ end }} 參考資料 # Embedded templates - Hugo 建立資源- Analytics (分析)說明 [GA4] Search Console 整合- Analytics (分析)說明 ","date":"2024年6月16日","externalUrl":null,"permalink":"/posts/hugo-google-search-console-google-analytics/","section":"所有文章","summary":"你可能會好奇自己的網站有多少流量？哪些網頁最受歡迎？此時Google提供的免費網站統計服務便是很好用的工具。\n本文Ivon討論如何將Google提供的免費網站統計服務加入到你的Hugo網站。\n這裡Ivon要介紹兩個服務，分別是Google Search Console(GSC)和Google Analytics(GA)，並介紹「Search Console Insights」面板的好處。\n1. 你為什麼會需要這二個服務 # 首先是Google Search Console，將網站新增上去有什麼好處呢？加快網頁被Google索引的速度。只要定期向Search Console提交Sitemap就能協助Google更快索引，對新網站非常有幫助。 時間久了之後，Google Search Console便能分析你的網站是否有上熱門關鍵字，確認有哪些網頁是排在搜尋結果最前面。還會記錄其他網站對你的反向連結，看誰引用了你的文章。 順帶一提，Bing搜尋引擎也有類似Google Search Console的東西，叫做「Bing WebMaster」，資料可以跟Google Search Console共享。\n至於Google Analytics更厲害了，這是全面性分析網站訪客資料的服務。 ","title":"Hugo網站如何加入Search Console與Google Analytics","type":"posts"},{"content":" 老師姓名 Ivon Huang 日期 06/16/2024 學生數量 28 年級 國一學生 學習目標 學習課本L5的單字 組成句子實際運用表達自己的觀點與想法 並將其用於Stable Diffusion生圖的prompt，以產出與自己想法相符的圖片 材料 將一台電腦架設Automatic1111的Stable Diffusion WebUI，開放端口供全班存取（若GPU不達RTX3060等級則可改用Google Colab） iPad x4 學生的檔案 中高階等級的程度。 對一般單字的吸收程度高。 步驟 活動 時長 1 教學 由老師帶過一遍課本的單字。 在白板上練習課本中的句型並帶入單字。 10 2 對話 將學生隨機分成4組，練習課本句型。 10 3 活動 將學生分為4組，每組一台iPad。 使用瀏覽器連線到Stable Diffusion WebUI的界面。 每一組需要使用課本單字合力造出至少5個句子。 在那之後使用句子或者單字作為生圖提示詞，進行生圖。 並由各組上台發表，互相檢視生圖內容是否符合句子所言。 15 4 檢驗 讓學生寫5題的學習單，依照指示進行造句。 最後隨機抽取5位同學，再使用Stable Diffusion WebUI生圖，用中文解釋自己的句子與圖片內容是否相符。 10 ","date":"2024年6月16日","externalUrl":null,"permalink":"/posts/aigc-in-english-teaching-lesson-plan-20240616/","section":"Personals","summary":" 老師姓名 Ivon Huang 日期 06/16/2024 學生數量 28 年級 國一學生 學習目標 學習課本L5的單字 組成句子實際運用表達自己的觀點與想法 並將其用於Stable Diffusion生圖的prompt，以產出與自己想法相符的圖片 材料 將一台電腦架設Automatic1111的Stable Diffusion WebUI，開放端口供全班存取（若GPU不達RTX3060等級則可改用Google Colab） iPad x4 學生的檔案 中高階等級的程度。 對一般單字的吸收程度高。 步驟 活動 時長 1 教學 由老師帶過一遍課本的單字。 在白板上練習課本中的句型並帶入單字。 10 2 對話 將學生隨機分成4組，練習課本句型。 10 3 活動 將學生分為4組，每組一台iPad。 使用瀏覽器連線到Stable Diffusion WebUI的界面。 每一組需要使用課本單字合力造出至少5個句子。 在那之後使用句子或者單字作為生圖提示詞，進行生圖。 並由各組上台發表，互相檢視生圖內容是否符合句子所言。 15 4 檢驗 讓學生寫5題的學習單，依照指示進行造句。 最後隨機抽取5位同學，再使用Stable Diffusion WebUI生圖，用中文解釋自己的句子與圖片內容是否相符。 10 ","title":"AI應用於英語教學教案：Stable Diffusion生成模型之英語單字教學研究","type":"personal"},{"content":"根據官網消息，Ubuntu 24.04 Noble Numbat於今年4月正式發表，官方分支版也陸續收到了更新。\n在期末考的前一個晚上，經過幾小時的波折，我終於把Ubuntu 22.04 LTS暴力升級到24.04 LTS了。\n放寬心，雖然我統計語言學很差，但這次系統和學業兩個方面都all pass了吧。 因為琪露諾的算術教室配色很像Kubuntu，加上上面講的事情，所以就選了這張。\nUbuntu 24.04的KDE Plasma # 嚴格來說我的系統是Kubuntu，不過嘛指令是適用所有官方Ubuntu分支版的。\n系統概況：KDE桌面，Intel CPU，顯示卡為Nvidia，裝有若干Flatpak、Snap套件，跑著Docker和KVM。\n升級前，KDE 5.24，核心版本6.5.0 升級後，KDE 5.27，核心版本6.5.0 Arch Linux今年2月就升級到KDE 6了，Ubuntu來不及趕上，所以Ubuntu 24.04所收的KDE套件是末代版本5.27。\n要注意的一點是，Kubuntu在Release Note寫道KDE Wayland工作階段尚處於實驗性狀態，建議不要使用。尤其是Nvidia閉源驅動的用戶，Wayland工作階段開了會黑螢幕，啟用nvidia-drm模組也沒用。\nKDE功能更新部分我沒辦法多做介紹。因為使用過Arch Linux所得到的未來視，我對KDE 5.27的變化並不驚艷。按照網路資訊來看，Kubuntu 24.04改良最多的是系統安裝器Calamares的介面吧？\n嘛，新版Kubuntu附贈的桌布挺好看的。設計師沒參加KDE 6桌布大賽真是可惜。 目前Kubuntu 24.04使用下來沒有太多問題，沒有頻繁崩潰。Python相關套件因為使用Anaconda鎖版本所以不太受更新影響。\n升級過程發生的鳥事 # Ubuntu大版本升級前要確認的措施參閱之前寫的升級Ubuntu大版本，確保目前系統套件都是最新狀態。\n因為24.04還沒正式開放用do-release-upgrade升級，所以我使用改/etc/apt/sources.list的方式強制升級。這就是The Debian way。\n開啟終端機，用vim編輯/etc/apt/sources.list，把所有jammy字串取代成noble，也就是24.04的代號。 然後把/etc/apt/sources.list.d目錄下的第三方PPA停用。其實就是註解掉啦。 然後更新套件庫 sudo apt update\u0026hellip;炸出2000個套件可以更新。 接著開始跑sudo apt upgrade \u0026hellip;稍等一下。\n幾個禮拜前我嘗試給一台Ubuntu 22.04升級，結果升級到一半KDE崩掉（可能是服務自動重啟導致？），導致升級中斷，bootloader毀損，得重裝系統。\n唉，看到十年前凍仁．翔大大怕升級到一半圖形系統崩掉的文章，十年後我們還是怕圖形崩掉。\n所以這次我謹慎了一些，在執行sudo apt upgrade時，是使用純文字tty升級的。\n話說，之前在官方文件看到建議用tty升級的，是openSUSE Tumbleweed。\n按CTRL + ALT + F1進入純文字tty，使用一般使用者登入。\n因為tty無法顯示中文字，所以暫時指定英文再升級：export LANG= sudo apt upgrade\n然後等它跑完。中間Ubuntu會嘗試重新啟動服務，以及詢問是否要用新版覆寫舊版檔案。很幸運的我沒遇到套件依賴衝突的問題。\n重開機，果不其然黑螢幕的說。是Nvidia閉源驅動導致的？刪除專有驅動試試：sudo apt purge *nvidia*\n重開機後變成nouveau可以進入了，重裝新版Nvidia驅動 sudo ubuntu-drivers install\u0026hellip;結果又黑螢幕。\n後來發現是SDDM自動登入帳號的鍋，編輯/etc/sddm.conf.d/重設AutoLogin就可以進入桌面了。\n開機後要看錯誤訊息請編輯/etc/default/grub/，刪除splash和quiet的參數，再更新GRUB：sudo update-grub\n事後，執行sudo apt autoremove會刪除舊版套件，但是連孤立套件也會刪。VLC怎麼就變成孤立套件了，應該是被標記為自動安裝的了？執行前務必檢查一下哪些套件會被移除。\n把PPA開回來，再陸續執行Flatpak和Snap的更新指令。\n雖然KDE新版對Wayland支援度變好可是我還是不敢用，繼續X11。 ","date":"2024年6月14日","externalUrl":null,"permalink":"/posts/upgrade-from-ubuntu-2204-to-2404-kde/","section":"所有文章","summary":"根據官網消息，Ubuntu 24.04 Noble Numbat於今年4月正式發表，官方分支版也陸續收到了更新。\n在期末考的前一個晚上，經過幾小時的波折，我終於把Ubuntu 22.04 LTS暴力升級到24.04 LTS了。\n放寬心，雖然我統計語言學很差，但這次系統和學業兩個方面都all pass了吧。 因為琪露諾的算術教室配色很像Kubuntu，加上上面講的事情，所以就選了這張。\nUbuntu 24.04的KDE Plasma # 嚴格來說我的系統是Kubuntu，不過嘛指令是適用所有官方Ubuntu分支版的。\n系統概況：KDE桌面，Intel CPU，顯示卡為Nvidia，裝有若干Flatpak、Snap套件，跑著Docker和KVM。\n升級前，KDE 5.24，核心版本6.5.0 升級後，KDE 5.27，核心版本6.5.0 Arch Linux今年2月就升級到KDE 6了，Ubuntu來不及趕上，所以Ubuntu 24.04所收的KDE套件是末代版本5.27。\n要注意的一點是，Kubuntu在Release Note寫道KDE Wayland工作階段尚處於實驗性狀態，建議不要使用。尤其是Nvidia閉源驅動的用戶，Wayland工作階段開了會黑螢幕，啟用nvidia-drm模組也沒用。\nKDE功能更新部分我沒辦法多做介紹。因為使用過Arch Linux所得到的未來視，我對KDE 5.27的變化並不驚艷。按照網路資訊來看，Kubuntu 24.04改良最多的是系統安裝器Calamares的介面吧？\n","title":"Ubuntu 22.04升級Ubuntu 24.04記錄，改APT sources.list強制升級","type":"posts"},{"content":"適用版本：Ubuntu 24.04以上\n本文介紹如何在Ubuntu安裝QEMU/KVM和Virt Manager。\nQEMU/KVM是Linux才有的開源虛擬機技術。其中QEMU負責模擬電腦硬體，KVM則負責讓Linux變成Type 1 Hypervisor，加速虛擬機效能。 相關文章：Linux版QEMU/KVM指令教學 這樣一來，QEMU/KVM便能以接近原生的效能跑虛擬機，例如跑Windows、macOS、Linux、Android-x86、FreeBSD系統。\n它還可以把宿主機的顯示卡直通(GPU Passthrough)給虛擬機使用，這樣虛擬機就能玩大型3D遊戲，或者跑GPU加速的CUDA運算了。\n至於Virt Manager (Virtual Machine Manager) 是RedHat公司發行的虛擬機管理軟體，配套管理工具還有Libvirt。 將以上軟體組合起來，就變成了一組虛擬機軟體。Virt Manager就像VMware或是VirtualBox那樣，有一個圖形界面能夠管理電腦上的QEMU/KVM虛擬機，不需要打指令操控QEMU。 1. 檢查電腦硬體相容性 # 你需要一台x86_64架構的Linux電腦。CPU Intel或AMD的都可以。\n在BIOS開啟CPU的VT-x虛擬化加速技術。執行以下指令檢查CPU是否啟用VT-x虛擬化，回傳值不應為0 sudo grep -E -c \u0026#39;(vmx|svm)\u0026#39; /proc/cpuinfo KVM為Linux核心內建的功能，通常不需要額外安裝。確認KVM核心模組是否有載入： sudo lsmod | grep kvm 2. 安裝QEMU和Virt Manager套件 # 安裝以下套件。内含QEMU、Libvirt、Virt Manager、模擬UEFI韌體的OVMF、TPM模擬器 sudo apt update sudo apt install qemu-system libguestfs-tools libvirt-clients libvirt-daemon-system bridge-utils virt-manager ovmf swtpm 將自己加入libvirt和kvm的群組 sudo usermod -a -G libvirt $USER sudo usermod -a -G kvm $USER sudo usermod -a -G input $USER 啟動libvirtd服務 sudo systemctl enable libvirtd sudo systemctl start libvirtd 再設定開機自動啟用虛擬機網路卡。 sudo virsh net-start default sudo virsh net-autostart default 3. 安裝虛擬機 # 從應用程式列表點選圖示啟動Virt Manager。 或從終端機啟動：\nvirt-manager 現在可以點左上角圖示新增虛擬機了，例如： 安裝Windows 11虛擬機 安裝macOS虛擬機 安裝Android-x86虛擬機 其他Linux發行版 4. Virt Manager實用技巧 # Virt Manager預設建立的網路是NAT模式，需要允許外部網路連線進來的話請手動設定NAT Forwarding Incoming，或者設定Macvlan，或是調整為橋接網路模式。\nSpice Guest Tools能讓虛擬機與宿主機共用剪貼簿，虛擬機也會自動隨著虛擬機視窗大小縮放解析度。\n如果想要與虛擬機共享資料夾，可考慮用virtio-fs掛載本機Linux的目錄。\n部份系統的虛擬機可以透過virglrenderer達成3D硬體加速。\n你可以透過「GPU Passthrough」，將Linux的顯示卡直通給虛擬機，使其能執行3D應用程式、跑AI計算、玩遊戲。具體作法參見在Windows虛擬機玩遊戲\nVirt Manger支援虛擬機快照，你也可以備份完整映像檔，參見手動備份與還原虛擬機。\n如果容量不足，參見如何用圖形化程式調整QEMU/KVM虛擬機的qcow2硬碟容量大小\n參考資料 # QEMU: A generic and open source machine emulator and virtualizer What is KVM? - Red Hat libvirt: The virtualization API Manage virtual machines with virt-manager ","date":"2024年6月12日","externalUrl":null,"permalink":"/posts/ubuntu-virt-manager/","section":"所有文章","summary":"適用版本：Ubuntu 24.04以上\n本文介紹如何在Ubuntu安裝QEMU/KVM和Virt Manager。\nQEMU/KVM是Linux才有的開源虛擬機技術。其中QEMU負責模擬電腦硬體，KVM則負責讓Linux變成Type 1 Hypervisor，加速虛擬機效能。 相關文章：Linux版QEMU/KVM指令教學 這樣一來，QEMU/KVM便能以接近原生的效能跑虛擬機，例如跑Windows、macOS、Linux、Android-x86、FreeBSD系統。\n它還可以把宿主機的顯示卡直通(GPU Passthrough)給虛擬機使用，這樣虛擬機就能玩大型3D遊戲，或者跑GPU加速的CUDA運算了。\n至於Virt Manager (Virtual Machine Manager) 是RedHat公司發行的虛擬機管理軟體，配套管理工具還有Libvirt。 將以上軟體組合起來，就變成了一組虛擬機軟體。Virt Manager就像VMware或是VirtualBox那樣，有一個圖形界面能夠管理電腦上的QEMU/KVM虛擬機，不需要打指令操控QEMU。 1. 檢查電腦硬體相容性 # 你需要一台x86_64架構的Linux電腦。CPU Intel或AMD的都可以。\n在BIOS開啟CPU的VT-x虛擬化加速技術。執行以下指令檢查CPU是否啟用VT-x虛擬化，回傳值不應為0 sudo grep -E -c '(vmx|svm)' /proc/cpuinfo KVM為Linux核心內建的功能，通常不需要額外安裝。確認KVM核心模組是否有載入： sudo lsmod | grep kvm 2. 安裝QEMU和Virt Manager套件 # 安裝以下套件。内含QEMU、Libvirt、Virt Manager、模擬UEFI韌體的OVMF、TPM模擬器 sudo apt update sudo apt install qemu-system libguestfs-tools libvirt-clients libvirt-daemon-system bridge-utils virt-manager ovmf swtpm 將自己加入libvirt和kvm的群組 sudo usermod -a -G libvirt $USER sudo usermod -a -G kvm $USER sudo usermod -a -G input $USER 啟動libvirtd服務 sudo systemctl enable libvirtd sudo systemctl start libvirtd 再設定開機自動啟用虛擬機網路卡。 sudo virsh net-start default sudo virsh net-autostart default 3. 安裝虛擬機 # 從應用程式列表點選圖示啟動Virt Manager。 ","title":"Ubuntu安裝QEMU/KVM和Virt Manager虛擬機管理員","type":"posts"},{"content":"Add a shared directory/folder between Linux host and Windows guest using VirtIO-FS.\n本文Ivon討論如何給Linux宿主機與Windows虛擬機設定共用資料夾/目錄。\nQEMU/KVM搭配Virt Manager，提供兩種目錄共享方式：\nVirtIO-FS：半虛擬化的目錄共享 VirtIO-9P：移植自Plan 9的半虛擬化網路檔案系統 其中VirtIO-FS (virtiofs) 是專為分享本機檔案系統打造的半虛擬化技術，原理圖如下： 圖片取自virtio-fs.gitlab.io\n下面是「Linux宿主機KDiskMark讀取硬碟速度」與「Windows虛擬機Crystaldiskmark透過VirtIO-FS讀取硬碟速度」的比較。 論效能，VirtIO-FS檔案的傳輸速度高於VirtIO-9P，且勝過網路檔案系統（例如SSHFS、SAMBA、NFS、WebDAV），僅低於PCI-E硬碟直通。\n相較VirtIO-9P僅支援Linux虛擬機，VirtIO-FS是跨平台的。不論是Windows還是Linux虛擬機，都可以使用VirtIO-FS與宿主機共享檔案。\nQEMU需要4.2.0以上版本才支援這個技術。Linux的Virt Manager把設定界面給圖形化了，讓使用者可以便利地添加共享目錄。\n1. 安裝QEMU/KVM與Virt Manager # VirtIO-FS所需要的virtiofsd可以交給libvirtd自動啟動。\nUbuntu宿主機安裝套件：sudo apt install virtiofsd\n然後參見Ubuntu安裝Virt Manager\n接著設定Windows 11虛擬機\n2. 宿主機新增VirtIO-FS共享目錄 # VirtIO-FS共享目錄是可以在虛擬機執行的時候加入的，不需要重開機。\n編輯虛擬機硬體，在分配記憶體的選單，點選啟用共享記憶體(Enable Shared Memory)，讓虛擬機與宿主機共享一部分RAM。 點選新增硬體 → 檔案系統，驅動程式選virtios-fs，源路徑選取要分享的Linux目錄（例如/home/user/下載），目標路徑隨意填寫，例如host_shared virtios-fs硬體裝置可以新增很多個，這樣Windows虛擬機就會將每個virtio-fs裝置視為不同的磁碟掛載。不過Windows虛擬機似乎一次只能分享一個硬體裝置。\n3. 虛擬機內的操作 # Windows虛擬機 # 安裝WinFSP，這個軟體可以在Windows模擬FUSE檔案系統。\n安裝Stable分支的virtio驅動，下載virtio-win-guest-tools.exe並安裝\n重新啟動Windows虛擬機\n搜尋並開啟Windows「服務」視窗，設定開機自動啟動VirtIO-FS Service (VirtoFsSvc)。再點選啟動。 這樣virtio-fs共享的資料夾應該就會出現在檔案總管的磁碟列表了，預設自動掛載在Z槽。 有時候virto-fs掛載的資料夾在Windows看來會變成唯讀模式，可能是VirtoFsSvc的bug。根據Github issue的討論，請將該服務停用，改用批次檔來啟動VirtoFsSvc。或者嘗試在Windows安裝最新版的lastest-virtio套件。\n還有，由於VirtIO-FS對各個檔案系統實作的差異，在virtio-fs掛載的資料夾執行exe程式可能會出問題，詳見Github Discussion，這時請把exe移動到Windows虛擬機內的磁碟執行試試。\n透過VirtIO-FS複製大量檔案之時，有時候宿主機的RAM佔用會飆高。\nLinux虛擬機 # 需要Linux 5.4以上核心才支援VirtIO-FS。\nLinux虛擬機內可以直接用mount指令掛載VirtIO-FS的目錄。上面我們在Virt Manager填寫的目標路徑是host_shared，那麼我們使用以下指令將其掛載到Linux虛擬機的/mnt/host_shared/目錄。 sudo mkdir /mnt/host_shared sudo mount -t virtiofs host_shared /mnt/host_shared/ 如果要虛擬機開機自動掛載VirtIO-FS的目錄，在虛擬機裡面編輯/etc/fstab，加入掛載資訊： host_shared /mnt/host_shared/ virtiofs rw 0 0 參考資料 # Virtiofs: Shared file system · virtio-win/kvm-guest-drivers-windows Wiki Sharing files with Virtiofs - libvirt virtiofs - shared file system for virtual machines virtiofs: virtio-fs host\u0026lt;-\u0026gt;guest shared file system - The Linux Kernel Archives Virtiofs:-Shared-file-system#options ","date":"2024年6月12日","externalUrl":null,"permalink":"/posts/libvirt-virtiofs/","section":"所有文章","summary":"Add a shared directory/folder between Linux host and Windows guest using VirtIO-FS.\n本文Ivon討論如何給Linux宿主機與Windows虛擬機設定共用資料夾/目錄。\nQEMU/KVM搭配Virt Manager，提供兩種目錄共享方式：\nVirtIO-FS：半虛擬化的目錄共享 VirtIO-9P：移植自Plan 9的半虛擬化網路檔案系統 其中VirtIO-FS (virtiofs) 是專為分享本機檔案系統打造的半虛擬化技術，原理圖如下： 圖片取自virtio-fs.gitlab.io\n下面是「Linux宿主機KDiskMark讀取硬碟速度」與「Windows虛擬機Crystaldiskmark透過VirtIO-FS讀取硬碟速度」的比較。 論效能，VirtIO-FS檔案的傳輸速度高於VirtIO-9P，且勝過網路檔案系統（例如SSHFS、SAMBA、NFS、WebDAV），僅低於PCI-E硬碟直通。\n相較VirtIO-9P僅支援Linux虛擬機，VirtIO-FS是跨平台的。不論是Windows還是Linux虛擬機，都可以使用VirtIO-FS與宿主機共享檔案。\nQEMU需要4.2.0以上版本才支援這個技術。Linux的Virt Manager把設定界面給圖形化了，讓使用者可以便利地添加共享目錄。\n1. 安裝QEMU/KVM與Virt Manager # VirtIO-FS所需要的virtiofsd可以交給libvirtd自動啟動。\n","title":"VirtIO-FS：Linux與Windows虛擬機共享資料夾設定方式（Virt Manager + QEMU/KVM）","type":"posts"},{"content":"","date":"2024年6月10日","externalUrl":null,"permalink":"/tags/ibus/","section":"標籤","summary":"","title":"IBus","type":"tags"},{"content":"在宿主機完全不安裝iBus套件的情況下，透過容器，使用基於iBus框架的中文輸入法。\n構想是跑在DistroBox的容器裡面，然後透過dbus讓宿主機使用容器內的輸入法輸入文字。\n為何？iBus相較於Fcitx5比較古老，發行版收錄iBus輸入法的可能性相較於Fcitx要高。並且使用iBus框架的輸入法也蠻多的，例如新酷音。不過有些Linux發行版收的iBus套件過舊且套件有限，所以利用其他發行版取得較新的iBus版本。\n另請參見：透過Flatpak容器跑Fcitx5，安裝Linux的中文輸入法\n1. 測試環境 # 宿主機系統：Rocky Linux 9.4 宿主機桌面環境：KDE 5.27 X11 容器系統版本：Ubuntu 22.04 2. 建立跑iBus容器 # 安裝DistroBox\n建立Ubuntu 22.04容器\ndistrobox create --image docker.io/library/ubuntu:22.04 --name ubuntu distrobox-enter ubuntu 安裝iBus與新酷音 sudo apt install ibus-chewing sudo apt install libcanberra-gtk* 設定iBus ibus-setup 3. 在宿主機啟用iBus # 不用圖形介面，最簡單的方法是在/etc/environment設定IM_MODULE環境變數指定iBus GTK_IM_MODULE=ibus QT_IM_MODULE=ibus XMODIFIERS=@im=ibus SDL_IM_MODULE=ibus GLFW_IM_MODULE=ibus 編輯~/.bashrc，將Ubuntu容器設定為開機自動啟動，登入容器並執行iBus常駐程式。 distrobox enter -n ubuntu -- ibus-daemon -drx 重開機後應可使用，iBus預設切換輸入法的組合鍵為Windows鍵+空白鍵。 4. 實驗結果 # 雖然KDE有跳出iBus面板，但是只有Distrobox內部程式可以用iBus。宿主機程式必須用GTK_IM_MODULE=xim啟動GTK程式的情況下才可以使用iBus。\n其他程式都無法使用。\n5. 適用於Fcitx5的可能性？ # 或許Fcitx5可以如法炮製，不過目前看來宿主機系統也得安裝Fictx5相關套件才可以在原生GTK/QT程式啟用Fcitx5，否則Fcitx5就只能跟DistroBox容器內的程式通訊而已。\n有趣的是，Flatpak的程式也可以認到DistroBox容器內的Fcitx5輸入法。\n參考 # Clear Linuxでの日本語入力 - Distroboxを利用したMozc入りUbuntuコンテナの応用 如何让运行在宿主机 nixos 的 fcitx5 可以被运行在 distrobox podman 管理的 archlinux 容器中的图形软件感知到？ Suggestion Expose system bus socket to container #913 ","date":"2024年6月10日","externalUrl":null,"permalink":"/posts/distrobox-ibus/","section":"所有文章","summary":"在宿主機完全不安裝iBus套件的情況下，透過容器，使用基於iBus框架的中文輸入法。\n構想是跑在DistroBox的容器裡面，然後透過dbus讓宿主機使用容器內的輸入法輸入文字。\n為何？iBus相較於Fcitx5比較古老，發行版收錄iBus輸入法的可能性相較於Fcitx要高。並且使用iBus框架的輸入法也蠻多的，例如新酷音。不過有些Linux發行版收的iBus套件過舊且套件有限，所以利用其他發行版取得較新的iBus版本。\n另請參見：透過Flatpak容器跑Fcitx5，安裝Linux的中文輸入法\n1. 測試環境 # 宿主機系統：Rocky Linux 9.4 宿主機桌面環境：KDE 5.27 X11 容器系統版本：Ubuntu 22.04 2. 建立跑iBus容器 # 安裝DistroBox\n建立Ubuntu 22.04容器\ndistrobox create --image docker.io/library/ubuntu:22.04 --name ubuntu distrobox-enter ubuntu 安裝iBus與新酷音 sudo apt install ibus-chewing sudo apt install libcanberra-gtk* 設定iBus ibus-setup 3. 在宿主機啟用iBus # 不用圖形介面，最簡單的方法是在/etc/environment設定IM_MODULE環境變數指定iBus GTK_IM_MODULE=ibus QT_IM_MODULE=ibus XMODIFIERS=@im=ibus SDL_IM_MODULE=ibus GLFW_IM_MODULE=ibus 編輯~/.bashrc，將Ubuntu容器設定為開機自動啟動，登入容器並執行iBus常駐程式。 distrobox enter -n ubuntu -- ibus-daemon -drx 重開機後應可使用，iBus預設切換輸入法的組合鍵為Windows鍵+空白鍵。 4. 實驗結果 # 雖然KDE有跳出iBus面板，但是只有Distrobox內部程式可以用iBus。宿主機程式必須用GTK_IM_MODULE=xim啟動GTK程式的情況下才可以使用iBus。\n","title":"實驗：透過Distrobox Container使用Ibus輸入法","type":"posts"},{"content":"想在Firefox與Chrome之間跨瀏覽器同步書籤，你需要「Floccus」這個擴充功能！ 為什麼需要這個書籤同步服務呢？我在各大作業系統使用的瀏覽器都不一樣，不會一套通吃。就算是Brave，我也是在Android手機用比較多，Linux電腦是偏好用Firefox，iPad則只有Safari能選。過去總被同步這點綁住，被迫綁在同一套瀏覽器，每個瀏覽器都有不同的同步帳號。後來我了解到，我只要搞定最常用的「密碼」與「書籤」這兩個關鍵同步要素，用什麼瀏覽器就不是問題了。\n密碼我用BitWarden，書籤則是Floccus了。\nFloccus為開源的跨瀏覽器書籤同步服務，支援Firefox、Chrome、Edge瀏覽器，能夠無縫在多個瀏覽器之間同步書籤。 它可以直接抓取瀏覽器書籤列來同步，能任意選擇要同步的書籤資料夾，不需要手動匯入HTML檔案。除此之外，Floccus支援多重使用者設定檔，讓你可以按照用途區分不同的書籤同步對象。\n在不方便安裝瀏覽器擴充功能的Android與iOS系統，尚可透過Floccus APP存取同步的書籤。\n還有，Floccus使用是無需註冊帳號的，Floccus支援多種同步方式，包括Nextcloud Bookmark、WebDAV、Git儲存庫、Google雲端，你只要準備一個XML文字檔放在雲端，Floccus便能讀取。這樣可以擺脫依賴單一服務同步書籤的問題。若要更注重隱私，Floccus還能啟用點對點加密功能。\n我之所以會用這款工具，還有一個因素是類似工具xBrowserSync的介面太醜了。\n1. 取得Floccus擴充功能 # 對於電腦瀏覽器，Floccus透過擴充功能來同步書籤。這個時候你應該把瀏覽器內建的同步關掉，免得跟Floccus衝突。\n到官網按照你的瀏覽器下載擴充功能。\n目前Floccus尚不支援Safari瀏覽器。\n至於手機的話，鑑於支援安裝擴充功能的瀏覽器不多，所以它是以APP的方式提供的。Android版APP請到Play商店下載；iOS APP到App Store付費下載。\n2. 設定Floccus同步書籤 # 請注意手機APP只有手動新增書籤的功能，建議用電腦瀏覽器擴充功能介面操作。\n開啟Floccus擴充功能面板，點選Create Profile新增設定檔，設定同步方式。 最簡單的同步方式就是使用Google雲端了。 登入Google雲端允許存取，這樣Floccus就會在Google雲端建立一個bookmarks.xbel檔案。密碼短語(Passphrase)可以不用設，因為你已經有Google帳號這個登入驗證機制了。\n接著設定同步的書籤資料夾。這裡的資料夾就是你的瀏覽器書籤資料夾結構，以Firefox來說，要同步全部書籤就是勾選「書籤工具列」。 在那之後，點選Floccus擴充功能面板的上傳按鈕，再按同步圖示，就會將本機書籤上傳到雲端了。\nFloccus會按照你設定的時間間隔自動同步書籤。預設的同步策略是將本機書籤與遠端書籤合併，這樣可以確保不會有任何書籤遺失。使用Floccus的時候，你應該把瀏覽器內建的同步關掉，免得兩者衝突。 ","date":"2024年6月9日","externalUrl":null,"permalink":"/posts/floccus-bookmarks-sync/","section":"所有文章","summary":"想在Firefox與Chrome之間跨瀏覽器同步書籤，你需要「Floccus」這個擴充功能！ 為什麼需要這個書籤同步服務呢？我在各大作業系統使用的瀏覽器都不一樣，不會一套通吃。就算是Brave，我也是在Android手機用比較多，Linux電腦是偏好用Firefox，iPad則只有Safari能選。過去總被同步這點綁住，被迫綁在同一套瀏覽器，每個瀏覽器都有不同的同步帳號。後來我了解到，我只要搞定最常用的「密碼」與「書籤」這兩個關鍵同步要素，用什麼瀏覽器就不是問題了。\n密碼我用BitWarden，書籤則是Floccus了。\nFloccus為開源的跨瀏覽器書籤同步服務，支援Firefox、Chrome、Edge瀏覽器，能夠無縫在多個瀏覽器之間同步書籤。 它可以直接抓取瀏覽器書籤列來同步，能任意選擇要同步的書籤資料夾，不需要手動匯入HTML檔案。除此之外，Floccus支援多重使用者設定檔，讓你可以按照用途區分不同的書籤同步對象。\n在不方便安裝瀏覽器擴充功能的Android與iOS系統，尚可透過Floccus APP存取同步的書籤。\n還有，Floccus使用是無需註冊帳號的，Floccus支援多種同步方式，包括Nextcloud Bookmark、WebDAV、Git儲存庫、Google雲端，你只要準備一個XML文字檔放在雲端，Floccus便能讀取。這樣可以擺脫依賴單一服務同步書籤的問題。若要更注重隱私，Floccus還能啟用點對點加密功能。\n","title":"Floccus：跨瀏覽器同步書籤，方便在Firefox與Chrome瀏覽器之間切換","type":"posts"},{"content":"許多使用OpenStreetMap圖資的導航軟體都有一個問題：中文搜尋支援不佳，尤其是地址方面。\n這就浪費了OpenStreetMap豐富的全球地圖資料。\n例如OSMAnd~常常會有找不中文地址的情況，除非是國際知名的景點。即使某景點的介紹文中都把街道門牌都寫出來了，OSMAnd就是不會回傳結果（OSMAnd最近幾年的更新讓中文搜尋變好了一些，但是地址搜尋依然不佳）\n類似情況也發生在Linux系統的Pure Maps、Organic Map、GNOME Maps、osmin等導航軟體上。\n這可以用一個折衷的方法解決：借用Google地圖的資料但又不用Google地圖導航。\n譬如osm2gmaps，讓APP自動從網址判讀出座標。但其實OSMAnd也可以自行猜座標。\n用Google搜尋地址，點進去Google地圖，點選地標，複製網址。切換到電腦版網頁更是可以長按取得座標。 貼到OSMAnd~的搜尋框，自動識別網址中的座標資訊。 於是就可以導航了。Google地圖的座標基本上夠精準，OSMAnd~導航規劃路線或許不同，但不會差到哪去。 對於其他導航軟體可能得手動從Google地圖網址抽取座標。Google地圖網址的座標以@開頭並以三位數XYZ構成，例如@23.4498484,120.6349757,11z。把這個座標貼到導航軟體通常可以識別。\n","date":"2024年6月8日","externalUrl":null,"permalink":"/posts/osmand-with-google-maps-coordinates/","section":"所有文章","summary":"許多使用OpenStreetMap圖資的導航軟體都有一個問題：中文搜尋支援不佳，尤其是地址方面。\n這就浪費了OpenStreetMap豐富的全球地圖資料。\n例如OSMAnd~常常會有找不中文地址的情況，除非是國際知名的景點。即使某景點的介紹文中都把街道門牌都寫出來了，OSMAnd就是不會回傳結果（OSMAnd最近幾年的更新讓中文搜尋變好了一些，但是地址搜尋依然不佳）\n類似情況也發生在Linux系統的Pure Maps、Organic Map、GNOME Maps、osmin等導航軟體上。\n這可以用一個折衷的方法解決：借用Google地圖的資料但又不用Google地圖導航。\n譬如osm2gmaps，讓APP自動從網址判讀出座標。但其實OSMAnd也可以自行猜座標。\n用Google搜尋地址，點進去Google地圖，點選地標，複製網址。切換到電腦版網頁更是可以長按取得座標。 貼到OSMAnd~的搜尋框，自動識別網址中的座標資訊。 於是就可以導航了。Google地圖的座標基本上夠精準，OSMAnd~導航規劃路線或許不同，但不會差到哪去。 對於其他導航軟體可能得手動從Google地圖網址抽取座標。Google地圖網址的座標以@開頭並以三位數XYZ構成，例如@23.4498484,120.6349757,11z。把這個座標貼到導航軟體通常可以識別。\n","title":"解決中文地址搜尋問題，OsmAnd 借用Google地圖座標用OpenStreetMap導航","type":"posts"},{"content":"One of the best phone for installing custom ROM.\n小米Pocophone F1與一加One Plus 6T，我個人認為是近代最強的二個刷機之王。\n二者規格類似，小米Pocophone F1又比OnePlus 6T便宜一些。不過這二台在台灣都沒有上市，二手市場可能有點難找就是了。\nPocophone F1於2019年上市。現在2024年，Pocophone F1二手價不到3000台幣就能入手。\n這款手機最大特色就是支援刷入Android以外的作業系統。\n小米Pocophone F1執行postmarketOS\n小米Pocophone F1執行Windows 11\n小米Pocophone F1執行Ubuntu Touch\nPocophone F1的頂級硬體 # Pocophone F1搭載Qualcomm Snapdragon 845 ＋ 6GB RAM ＋ UFS 2.1，兼具效能與實用性。放在今天2024年來看還是中上水準。\n市面上刷機相對友善的手機：Pine64 PinePhone Pro、Purism Librem 5、Fairphone 5\n就硬體部份，Pocophone F1的效能碾壓上述一眾手機。\nPocophone F1的喇叭有點破，這個是舊小米手機的通病。Android有Viper4X，Linux則是有EasyEffects改善。\n至於礙眼的劉海可以用軟體遮擋。\n順帶一提，Google Pixel其實也廣受第三方ROM支援，但是仍以Android為主。Google Pixel 6以後的型號是次佳的人選，因Tensor處理器可以用pkvm跑其他系統的虛擬機，但是沒辦法把系統真的裝到手機上。\nPocophone F1支援的作業系統 # 如果你想要體驗Android以外的Linux行動作業系統，那麼Poco F1是個好選擇。這都要多虧開發者撿到Qualcomm遺留在SD845筆電的驅動，Poco F1已經能夠跑Mainline Linux Kernel，連相機都能使用。\nPocophone F1什麼系統都能刷，經實測支援以下系統，即使原廠的MIUI已經停止更新，不少系統到現在仍提供更新。\nMIUI LineageOS /e/OS ArrowOS Windows 11 ARM：由Renegade Project提供支援，某種意義上的復活Windows Phone postmarketOS：適合日常使用的系統 Ubuntu touch：適合日常使用的系統，能夠使用相機 Mobian 以上是我實測安裝過的系統，在Windows 11 ARM加持下還玩了GTA IV的大型遊戲。\n刷寫！不斷的刷寫！不斷的刷寫！刷寫到儲存晶片壞掉為止，即使弄亂分區表。 在Android以外的系統，Pocophone F1硬體也幾乎都能驅動起來。不論是Ubuntu Touch還是postmarketOS系統都能成功驅動。\n","date":"2024年6月8日","externalUrl":null,"permalink":"/posts/xiaomi-pocophone-f1-custom-rom-review/","section":"Unboxings","summary":"One of the best phone for installing custom ROM.\n小米Pocophone F1與一加One Plus 6T，我個人認為是近代最強的二個刷機之王。\n二者規格類似，小米Pocophone F1又比OnePlus 6T便宜一些。不過這二台在台灣都沒有上市，二手市場可能有點難找就是了。\nPocophone F1於2019年上市。現在2024年，Pocophone F1二手價不到3000台幣就能入手。\n這款手機最大特色就是支援刷入Android以外的作業系統。\n小米Pocophone F1執行postmarketOS\n小米Pocophone F1執行Windows 11\n小米Pocophone F1執行Ubuntu Touch\nPocophone F1的頂級硬體 # Pocophone F1搭載Qualcomm Snapdragon 845 ＋ 6GB RAM ＋ UFS 2.1，兼具效能與實用性。放在今天2024年來看還是中上水準。\n市面上刷機相對友善的手機：Pine64 PinePhone Pro、Purism Librem 5、Fairphone 5\n就硬體部份，Pocophone F1的效能碾壓上述一眾手機。\nPocophone F1的喇叭有點破，這個是舊小米手機的通病。Android有Viper4X，Linux則是有EasyEffects改善。\n至於礙眼的劉海可以用軟體遮擋。\n順帶一提，Google Pixel其實也廣受第三方ROM支援，但是仍以Android為主。Google Pixel 6以後的型號是次佳的人選，因Tensor處理器可以用pkvm跑其他系統的虛擬機，但是沒辦法把系統真的裝到手機上。\n","title":"最適合刷機的高性能Android手機：小米Pocophone F1，體驗Android、postmarketOS、Windows系統","type":"unboxing"},{"content":"Alpine Linux和postmarketOS都是使用musl libc作為C函式庫，跟主流GNU/Linux所採用的glibc不相容。在執行或編譯一些強制依賴glibc的程式會出問題，像Dockerfile以Alpine Linux為基礎編譯程式的時候就會遇到這情況。\n在無法修改程式原始碼的情況下，我們有一些作法可以迴避。\n1. gcompat相容層 # 如果要執行的程式只是單一執行檔，那麼用Adélie Linux開發的gcompat就行了，指令類似wine\ngcompat \u0026#34;執行檔路徑\u0026#34; 但是，大部份時候不會這麼簡單，gcompat不能當headers使用，拿它來編譯程式照樣會失敗。\n2. 容器技術 # 這時我們得使用自帶依賴套件的容器技術，跳脫依賴宿主機musl的問題。\n但如果Alpine Linux本身就已經跑在容器裡面了呢\u0026hellip;？不好意思，換個發行版容器映像檔吧！\n例如：\nchroot：薑是老的辣，使用debootrap建立Ubuntu環境，或是pacstrap建立Arch Linux環境。如想簡化進入chroot流程可善用arch-chroot指令稿。 DistroBox：可以用來裝圖形程式。Alpine Linux似乎偏好以Podman作為後端。在Alpine Linux需要將root掛載：sudo mount --make-rshared /，DistroBox才可以正常運作。 Flatpak：可以用來裝圖形程式。 Docker： 跑其他主流發行版，例如Ubuntu的映像檔。什麼？你說你的Alpine Linux就是跑在Docker容器裡？啊這\u0026hellip;跳船吧 請改用內含glibc的特製Alpine映像檔，例如jeanblanchard/docker-alpine-glibc 以上套件Alpine Linux的套件庫都有收。\n注意Snap是不可行的，因為Alpine Linux不支援Systemd。儘管postmarketOS有支援Systemd，但預設init依然是用OpenRC。\n順帶一提，目前Nvidia CUDA（驅動版本555）無法在musl的發行版執行，連Nvidia Container ToolKit都不行。因為這涉及到驅動程式問題，而Nvidia閉源驅動壓根不支援musl，且沒有原始碼，不可移植。\n參考資料 # Running glibc programs - Alpine Linux Wiki\n","date":"2024年6月8日","externalUrl":null,"permalink":"/posts/run-glibc-on-alpine-linux/","section":"所有文章","summary":"Alpine Linux和postmarketOS都是使用musl libc作為C函式庫，跟主流GNU/Linux所採用的glibc不相容。在執行或編譯一些強制依賴glibc的程式會出問題，像Dockerfile以Alpine Linux為基礎編譯程式的時候就會遇到這情況。\n在無法修改程式原始碼的情況下，我們有一些作法可以迴避。\n1. gcompat相容層 # 如果要執行的程式只是單一執行檔，那麼用Adélie Linux開發的gcompat就行了，指令類似wine\ngcompat \"執行檔路徑\" 但是，大部份時候不會這麼簡單，gcompat不能當headers使用，拿它來編譯程式照樣會失敗。\n2. 容器技術 # 這時我們得使用自帶依賴套件的容器技術，跳脫依賴宿主機musl的問題。\n但如果Alpine Linux本身就已經跑在容器裡面了呢…？不好意思，換個發行版容器映像檔吧！\n例如：\nchroot：薑是老的辣，使用debootrap建立Ubuntu環境，或是pacstrap建立Arch Linux環境。如想簡化進入chroot流程可善用arch-chroot指令稿。 DistroBox：可以用來裝圖形程式。Alpine Linux似乎偏好以Podman作為後端。在Alpine Linux需要將root掛載：sudo mount --make-rshared /，DistroBox才可以正常運作。 Flatpak：可以用來裝圖形程式。 Docker： 跑其他主流發行版，例如Ubuntu的映像檔。什麼？你說你的Alpine Linux就是跑在Docker容器裡？啊這…跳船吧 請改用內含glibc的特製Alpine映像檔，例如jeanblanchard/docker-alpine-glibc 以上套件Alpine Linux的套件庫都有收。\n","title":"musl系發行版Alpine Linux跑glibc程式的方法","type":"posts"},{"content":"","date":"2024年6月8日","externalUrl":null,"permalink":"/tags/condom/","section":"標籤","summary":"","title":"Condom","type":"tags"},{"content":" 之前討論過戴套幹飛機杯，那麼可不可以直接自慰的時候戴套打手槍就好？\n呃，這樣的意義在哪裡呢？沒有避孕為何要戴套？如果說戴套幹飛機杯是一種模擬性愛，已經夠空虛了，那麼戴套打手槍豈不是更空虛？用手接觸肌膚觸感不是比戴套好嗎？\n不，不是的，對某些人來說，戴套依然能提供一種陰道的感覺。青春期雞雞頂著內褲都能有反應了，更何況是性交前的觸媒，套套呢？不少PTT和Dcard使用者經驗證實，套套有促使雞雞勃起更硬的作用在。只要不是選到給歐美30公分大屌的版本，戴上套套的時候多半都會有一些緊度，這個時候的壓迫感就會讓雞雞更硬一些。\n套套就好像一種小型VR裝置，讓雞雞暫時進入一種介於手與陰道間的次空間，所有從外往內的刺激都會對雞雞造成莫大干涉，產生的空間波震盪之大，足以使精液一射而光。 不過，也會有人覺得套子括搔雞雞的觸感很不舒服，比不上直接接觸飛機杯或者用手。\n對那些習慣順著包皮打手槍的人來說，戴套打手槍能迫使自己習慣包皮被翻開的樣子的性愛，了解到把敏感的龜頭露出來並不是什麼恐怖的事情，從而享受與世界接軌的樣子。根據統計，世界上有五分之一的人割過包皮。\n不幹飛機杯，戴套直接打手槍有「透明政府」的好處，人民的納稅錢花到哪裡去都看得一清二楚，呃，我是說，你可以清楚看到自己的屌，而不會被飛機杯遮蓋。\n有些套套會有設計儲精囊的突起部分，當雞雞前後搓揉，撞擊頂部的時候，也有刺激龜頭的功效。最後，看自己的精子全數灌入頂部的位置也怪有成就感的。\n至於說自己很窮的人，保險套有低成本特性，因為防治性病的緣故，保險套非常好取得。不少地方甚至有政府低價販售。且保險套用完就丟，不用像飛機杯一樣還要「保養」。\n1. 需不需要準備潤滑？ # 看個人，通常保險套裡面都有一點潤滑液，戴上後包皮應該能輕鬆的退到後面。怕包皮因為抽動而破皮的話是可以自己補一點到保險套裡面。\n包皮需不需要完全褪到後面？如果潤滑夠的話是不用擔心撕破什麼的，而且看著自己射精的時候龜頭膨脹的樣子還蠻好玩的。\n那麼保險套外面需不需要潤滑？一點點就好，太多的話反而很難控制力度，且會失去與手的摩擦力。\n2. 保險套牌子選擇 # 從樸實無華的設計開始吧，不要買狼牙棒款式的，用那種的乾脆去買泡泡紙。\n常見的保險套設計：\n一般的保險套，略有厚度，顏色可能會深到遮住雞雞，開口處是固定用的橡膠圓環，頂部有儲精囊。價格便宜。\n超薄無感型的，大部分是透明的，頂部沒有儲精囊。價格昂貴。\n通常市面上能見到的保險套尺寸都不會大到哪裡去，應該適合大部分亞洲人的長度。\n3. 實際操作過程 # 下文基本上是純文字敘述。\n如果真的不知道戴套打手槍要怎麼操作，請直接看這部維基百科上的真實教育影片：A men using a condom while masturbating.webm\n將雞雞和手洗乾淨，前者要翻開包皮事先清潔。\n確認雞雞在全面勃起狀態才能戴好套套。若要防止等一下因為太緊張而軟掉，請直接開讓你很有感覺的配菜，並稍微打個幾下維持硬度，讓雞雞進入完全準備狀態，而不會馬上消風。\n示意圖，讓人很有感覺的一張圖（繪師：JellyCute7） 撕開保險套包裝\n將手伸入保險套，輕輕往外戳，測試哪邊是正面。發現那一面可以順利延展的，那就是正確方向。\n放鬆身心，將包皮慢慢褪下，大約露出3/4個龜頭\n將套子從龜頭處慢慢的包覆住雞雞，此時包皮應該會被完全拉開，龜頭冠狀溝會整個露出來\n將套子推到雞雞根部\n有儲精囊的套子需要按一下頂端，讓空氣跑出去\n然後就可以開打了，用覺得舒服的手勢就可以了，一般的做法是用慣用手，圈住包皮以下的部位，刺激陰莖根部，並讓龜頭隨著抽動頂到套套頂部。\n附上幾張覺得蠻有感覺的圖 如果覺得包皮被拉開很不適，還是可以把包皮推回去，並手指環繞著小心包皮打，而不露出整個龜頭。不過這樣蠻彆扭的就是了，因為套子往往會因為移動路徑不夠大而擠成一團，很難看。\n最後要射精的時候，就放心的射在裡面吧。如果不需要配菜的引導，就低下頭，看著自己的龜頭膨脹最後精液灌滿保險套前端。\n射精後還有一點硬度，這個時候就能拔掉保險套了。若是射精後雞雞馬上消風的類型，應可順利把雞雞從保險套中抽出來，頂多有點黏黏的而已。不適感應該不會太明顯，因為射精後龜頭會麻麻的。 4. 用完的保險套怎辦 # 射完的保險套怎麼辦？不需要沖洗嘿！打結後丟掉就好。殘存在雞雞上的潤滑液通常擦掉或水洗即可。\n等等，保險套還有很大用處！用完別丟（？！），比較極端的玩法是，射在套套後，自己喝掉（鄭公食子，天下歸心），親身體會了解女人被口爆的感受。（呷洨啦！）\n或者把射滿精液的保險套放在要用來射屏物件上，然後再空手打一發上去，當作一種半現實的的「戰果」。\n但是敬請注意，不要為了省那一毛錢而重複使用保險套，第一它已經鬆掉了，第二這樣很不衛生。撕開下一個包裝，著裝之後又能重返戰場。\n","date":"2024年6月8日","externalUrl":null,"permalink":"/posts/fap-with-condom/","section":"Nsfws","summary":" 之前討論過戴套幹飛機杯，那麼可不可以直接自慰的時候戴套打手槍就好？\n呃，這樣的意義在哪裡呢？沒有避孕為何要戴套？如果說戴套幹飛機杯是一種模擬性愛，已經夠空虛了，那麼戴套打手槍豈不是更空虛？用手接觸肌膚觸感不是比戴套好嗎？\n不，不是的，對某些人來說，戴套依然能提供一種陰道的感覺。青春期雞雞頂著內褲都能有反應了，更何況是性交前的觸媒，套套呢？不少PTT和Dcard使用者經驗證實，套套有促使雞雞勃起更硬的作用在。只要不是選到給歐美30公分大屌的版本，戴上套套的時候多半都會有一些緊度，這個時候的壓迫感就會讓雞雞更硬一些。\n套套就好像一種小型VR裝置，讓雞雞暫時進入一種介於手與陰道間的次空間，所有從外往內的刺激都會對雞雞造成莫大干涉，產生的空間波震盪之大，足以使精液一射而光。 不過，也會有人覺得套子括搔雞雞的觸感很不舒服，比不上直接接觸飛機杯或者用手。\n","title":"戴套打手槍真的有特殊的感覺？","type":"nsfw"},{"content":"","date":"2024年6月7日","externalUrl":null,"permalink":"/tags/disk-cleanup/","section":"標籤","summary":"","title":"Disk Cleanup","type":"tags"},{"content":"不，這不是神奇寶貝球。 硬碟滿了，要怎麼找出佔用空間容量的最大檔案和最大資料夾呢？\n覺得df/du指令排查Linux空間不直觀嗎？\n如果想知道Linux電腦上究竟是什麼東西在佔空間，你可以使用KDE開發的圖形程式「Filelight」快速找出答案。 Filelight為一款跨平台的硬碟分析軟體，支援Linux/Windows/macOS系統。根據Github用戶所做的測試指出，Filelight是Linux上所有硬碟分析軟體中載入最快的一款。\n1. 安裝Filelight # Filelight是KDE開發的開源軟體。\nUbuntu、Arch Linux、Fedora、openSUSE、Gentoo都有收Filelight套件。不要安裝Flatpak版，因其可能有權限問題。\n# Ubuntu sudo apt install filelight # Arch Linux sudo pacman -S filelight Windows和macOS版，請到官網下載。\n至於讀取硬碟的部分，EXT4、BTRFS等常見的檔案系統Linux應該都支援，不過要讀取NTFS硬碟請記得裝ntfs-3g套件。\n2. 使用Filelight分析硬碟空間 # Filelight除了找出最大目錄外也能找出單一最大檔案。你可以按照需求掃描整個硬碟，或者單一目錄。 例如「根目錄」即為Linux系統所在的硬碟。\n如果要掃描外接硬碟請點選「掃描資料夾」再手動選取該硬碟的路徑（通常Linux的外接硬碟會掛載到/media或/run/media）。\nFilelight不到一分鐘就可以完成掃描，然後就會印出下面圖表。 3. 解讀Filelight的圖表 # 以這個根目錄的圖片為例。 左邊顯示的目錄則是你現在所在的目錄層級下的目錄。\n右邊的圓圈代表目錄層級，內側的是最上層的目錄，外側為子目錄。\n以彩虹顏色當作判斷依據，顏色越紅的代表佔用空間越多。\n點下去紅色的區塊，它會帶你到對應的目錄，通常都是使用者家目錄（/home/）佔整個硬碟最多空間啦。 不過這還不夠具體，難道我們要把自己資料都刪掉嗎？順著最紅的區塊往下走。\n好了，現在答案呼之欲出了，我的電腦最佔空間的是這個~/.local/share/flatpak目錄。 對左邊的目錄點一下即可刪除目錄或者檔案。（如果權限不足，請改用sudo filelight指令重新開啟本程式）但是刪除前請往下看。\n也可以在該位置開啟終端機~/.local/share/flatpak，用指令刪除檔案。 4. 如何清理Linux硬碟空間 # 不要隨便就用sudo rm -rf刪除檔案。\n在開始之前，你要確認佔空間的究竟是單純的資料（例如影片、圖片文字），還是軟體套件在佔空間。\n如果只是單純資料那麼用檔案管理器前往該目錄，整理檔案後刪除目錄就行。\n但是如果是軟體套件請用對應指令移除，免得套件管理混亂。\n以我的例子來說，~/.local/share/flatpak是Flatpak套件管理器的儲存庫，如果要釋出空間，那麼當然是用flatpak本身的指令來刪除。\n順帶一提，如果要找出最大的軟體套件，在Ubuntu可以用以下指令列出最大的系統套件，再使用apt purge和apt clean指令移除。\ndpkg-query -Wf \u0026#39;${Installed-Size}\\t${Package}\\n\u0026#39; | sort -n ","date":"2024年6月7日","externalUrl":null,"permalink":"/posts/kde-filelight-usage/","section":"所有文章","summary":"不，這不是神奇寶貝球。 硬碟滿了，要怎麼找出佔用空間容量的最大檔案和最大資料夾呢？\n覺得df/du指令排查Linux空間不直觀嗎？\n如果想知道Linux電腦上究竟是什麼東西在佔空間，你可以使用KDE開發的圖形程式「Filelight」快速找出答案。 Filelight為一款跨平台的硬碟分析軟體，支援Linux/Windows/macOS系統。根據Github用戶所做的測試指出，Filelight是Linux上所有硬碟分析軟體中載入最快的一款。\n1. 安裝Filelight # Filelight是KDE開發的開源軟體。\nUbuntu、Arch Linux、Fedora、openSUSE、Gentoo都有收Filelight套件。不要安裝Flatpak版，因其可能有權限問題。\n# Ubuntu sudo apt install filelight # Arch Linux sudo pacman -S filelight Windows和macOS版，請到官網下載。\n至於讀取硬碟的部分，EXT4、BTRFS等常見的檔案系統Linux應該都支援，不過要讀取NTFS硬碟請記得裝ntfs-3g套件。\n2. 使用Filelight分析硬碟空間 # Filelight除了找出最大目錄外也能找出單一最大檔案。你可以按照需求掃描整個硬碟，或者單一目錄。 例如「根目錄」即為Linux系統所在的硬碟。\n","title":"Linux硬碟空間不足？使用Filelight圖形軟體快速找出佔空間的檔案！","type":"posts"},{"content":"","date":"2024年6月7日","externalUrl":null,"permalink":"/tags/msi/","section":"標籤","summary":"","title":"MSI","type":"tags"},{"content":"MSI的筆電是可以裝Linux的，不過有些細節要注意。我的筆電型號是微星Modern 15 A10RBS-462TW。\n這個是之前用Arch Linux的時候拍的照片。 這是是2020年上市的筆電，2021年那個時候我大概買二萬多。搭載的是處於擠牙膏換代階段的i5-10210u處理器，這處理器真的尷尬，不上不下的效能，內顯也沒更新成Xe。還有負責搞笑的Nvidia MX350獨顯，2GB VRAM幾乎不能跑AI模型，頂多用來加速影片編碼，外出的時候就是掛在那邊耗電，讓續航力只有3小時。好家在螢幕有72% NTSC加上15吋大螢幕，加上他們自稱是創作者筆電就買了。\n這台筆電有一個特技：螢幕能夠180度放平。儘管我一直不知道這能幹嘛。不如360度翻轉筆電帥氣。\n早期一段時間我是用Photoshop畫圖，螢幕顏色很不賴，但是這依賴專有軟體MSI True Color調色，顏色才會比較鮮艷。換到Linux後，面板的顏色就一直是黃黃的了，用GIMP修圖都覺得怪怪的。我嘗試將.icm抽出來都沒用。\n雖說如此，我裝Linux現在依然用的好好的，4核8緒夠用啦。出廠只有一個512GB NVME與8GB RAM，原廠有預留升級空間，用螺絲起子就能輕鬆拆卸，各自多加一條，方便我搞雙系統。\nMSI Modern 15 A10對Linux的支援度普通，多虧裡面用了很多Intel的零件才能開箱即用，要注意的是風扇需要專門的韌體。我在Github找到了能控制風扇轉速的ISW-Modern韌體，以及限制充電上限的模組。不裝這個的話，風扇不轉會燒壞的。\n過去只有壞過一次鍵盤，原廠保固內更換，早知道電池應該一起更新的\u0026hellip;長期接著電源使用，根據Linux讀到的資料，健康度只剩下60%，以後必須設定充電上限才能保護電池健康度。\n1. Linux對Modern 15的支援度 # 安裝Linux前就是要確認硬體和軟體的支援度。\n2021年，這台筆電出廠時裝的是Windows 11，然後從2022年到現在，我嘗試過了各種Linux發行版。沒事幹就會灌新的發行版本來玩玩。\n「MSI Modern 15 A10RBS-462TW」是2020年上市的筆電，CPU搭載Intel® Core™ i5-10210U，內顯Intel UHD 620，另附贈獨顯NVIDIA GeForce MX350（同時負責HDMI的訊號輸出）。搭載512GB的NVMe M.2 SSD。\n硬體部份，使用lsusb列出裝置，觸控板、鍵盤、鍵盤背光、顯示卡、網路攝影機、藍牙、SD卡讀卡機、音效、Wifi網卡、TPM模組，Linux核心都有支援。\nCPU和GPU的風扇轉速需要安裝ISW程式，載入特定的EC驅動才能控制。\n筆電闔上螢幕進入suspend模式會睡死，滾動發行版更容易出問題。這個要查看dmesg然後排除問題\u0026hellip;好麻煩，我直接在桌面環境系統設定將它改成闔上螢幕「只關閉螢幕」不睡眠。\n關於原廠軟體部份\nMSI True Color這個程式可以調整螢幕顏色，修改色溫，Linux沒有對應程式，只能嘗試從中取得校色檔來用。\n這得從Windows取出.icm檔案。MSI TrueColor安裝後，會在C:\\Windows\\System32\\spool\\drivers\\color產生.icm檔案。Linux桌面支援讀取.icm檔案達成色彩管理，不過似乎效果不大，螢幕顏色的改變沒有Windows明顯。\nMSI Creator Center沒有Linux版，不過它的功能也不過是調整風扇轉速而已，這個可以用Power Profile Daemon ＋ ISW替代。\n這台筆電的喇叭外放很爛。原廠有送一個喇叭音效軟體Nahimic，聊勝於無。在Linux可以用EasyEffects代替，效果還更好，能夠拯救破爛音效。\n2. 安裝Linux系統時的眉角 # 測試過的系統包括FreeBSD、Fedora、Ubuntu、openSUSE、Arch Linux、Linux Mint之後，目前使用的是Debian搭配KDE Plasma桌面，以求穩定。\n首先在Windows系統，下載原廠程式，將UEFI和EC firmware更新到最新版。\nBIOS的Secure Boot是一定要關的，我懶得自己生成密鑰。TPM開著沒差。\n然後切換為Debian開機。\n在安裝系統選取硬碟的時候，筆電的NVME裝置代號不會是/dev/sda，而是/dev/nvme0n1。\n3. Intel內顯與Nvidia獨顯的切換 # 過去跑Windows時，困擾我的就是內顯獨顯切換的問題，Linux也不例外。\n剛裝好系統的時候顯示卡只有Intel的內顯啟動，如果沒裝Nvidia閉源驅動的話，預設是載入nouveau驅動，HDMI孔能輸出訊號。\n其實對筆電來說，Nvidia顯示卡是個多餘的耗電玩意，開了續航力直接砍半。沒有用到重度3D計算的話，主畫面顯示用內顯負責就夠了，nouveau驅動照樣能在HDMI孔輸出訊號，而且還很省電。\n真的需要用到Nvidia顯卡的話，先依照Linux發行版的指示，安裝Nvidia閉源驅動（這台MX350最高可以裝到580版本），並使用EnvyControl，在內顯和獨顯間切換，以確保最大效能。\n4. 用ISW-Modern控制筆電風扇溫度 # 安裝防止Intel CPU過熱的thermald，啟用開機服務： sudo apt install thermald sudo systemctl enable --now thermald 安裝power-profiles-daemon，這樣KDE系統匣就會出現省電與效能模式的開關： sudo apt install power-profiles-daemon sudo systemctl enable power-profiles-daemon 最後是比較麻煩的按照溫度控制風扇轉速。自Linux 6.4之後，MSI控制風扇的msi_ec應該已經upstream，起碼會轉了才對。但無法手動控制轉速。\n通用的風扇控制工具有pwmconfig和fancontrol，它會嘗試控制風扇轉速。\nsudo apt install lm_sensors sudo sensors-detect sudo sensors sudo pwmconfig sudo fancontrol 可惜的是，pwmconfig對我的MSI筆電無效，顯示There are no pwm-capable sensor modules installed，大概是缺了核心驅動吧。\n若筆電風扇在高壓運算下愛轉不轉的，這樣會燒壞的！此時就得改用針對特定廠牌設計的風扇控制軟體。當然MSI只提供Windows版風扇控制軟體，Linux只能求助網路社群。\n所幸MSI還不是太冷門的Linux筆電廠牌\u0026hellip;網路社群有人做了Ice-Sealed Wyvern (ISW-Modern)，適用大多數MSI筆電。可進一步控制風扇，使其按照溫度調整轉速。\n另有圖形程式OpenFreezeCenter，不過我覺得讓ISW自己調整就夠了。\n圖形程式MControlCenter可以管理風扇轉速還有設定充電上限，注意MControlCenter與ISW-Modern使用的核心模組不一樣。\n按照作者指示，用指令稿安裝acpi_ec核心模組，以及ISW sudo apt install dkms build-essential linux-headers-$(uname -r) sudo reboot git clone https://github.com/musikid/acpi_ec.git cd acpi_ec sudo ./install.sh sudo reboot git clone https://github.com/FaridZelli/ISW-Modern.git cd ISW-Modern sudo bash ./install.sh 編輯/etc/isw.conf，參考類似機型設定，在底部填入風扇轉速規則： [15A10RBS] # Modern 15 A10RBS-462TW address_profile = MSI_ADDRESS_DEFAULT fan_mode = 140 battery_charging_threshold = 100 # CPU cpu_temp_0 = 45 cpu_temp_1 = 55 cpu_temp_2 = 65 cpu_temp_3 = 75 cpu_temp_4 = 90 cpu_temp_5 = 95 cpu_fan_speed_0 = 50 cpu_fan_speed_1 = 58 cpu_fan_speed_2 = 65 cpu_fan_speed_3 = 72 cpu_fan_speed_4 = 80 cpu_fan_speed_5 = 85 cpu_fan_speed_6 = 100 # GPU gpu_temp_0 = 45 gpu_temp_1 = 60 gpu_temp_2 = 70 gpu_temp_3 = 82 gpu_temp_4 = 90 gpu_temp_5 = 93 gpu_fan_speed_0 = 50 gpu_fan_speed_1 = 55 gpu_fan_speed_2 = 65 gpu_fan_speed_3 = 72 gpu_fan_speed_4 = 80 gpu_fan_speed_5 = 85 gpu_fan_speed_6 = 100 寫入EC，啟動ISW服務，並設定開機自動啟動ISW服務。不確定是否有啟動的話用sudo systemctl status isw@15A10RBS.service確認。 sudo isw -w 15A10RBS sudo systemctl enable isw@15A10RBS.service sudo systemctl start isw@15A10RBS.service 要怎麼測試風扇會不會真正轉起來呢？跑stress-ng指令，CPU核心塞滿跑5分鐘就知道了。 ","date":"2024年6月7日","externalUrl":null,"permalink":"/posts/install-linux-on-msi-modern-15-a10/","section":"Unboxings","summary":"MSI的筆電是可以裝Linux的，不過有些細節要注意。我的筆電型號是微星Modern 15 A10RBS-462TW。\n這個是之前用Arch Linux的時候拍的照片。 這是是2020年上市的筆電，2021年那個時候我大概買二萬多。搭載的是處於擠牙膏換代階段的i5-10210u處理器，這處理器真的尷尬，不上不下的效能，內顯也沒更新成Xe。還有負責搞笑的Nvidia MX350獨顯，2GB VRAM幾乎不能跑AI模型，頂多用來加速影片編碼，外出的時候就是掛在那邊耗電，讓續航力只有3小時。好家在螢幕有72% NTSC加上15吋大螢幕，加上他們自稱是創作者筆電就買了。\n這台筆電有一個特技：螢幕能夠180度放平。儘管我一直不知道這能幹嘛。不如360度翻轉筆電帥氣。\n早期一段時間我是用Photoshop畫圖，螢幕顏色很不賴，但是這依賴專有軟體MSI True Color調色，顏色才會比較鮮艷。換到Linux後，面板的顏色就一直是黃黃的了，用GIMP修圖都覺得怪怪的。我嘗試將.icm抽出來都沒用。\n雖說如此，我裝Linux現在依然用的好好的，4核8緒夠用啦。出廠只有一個512GB NVME與8GB RAM，原廠有預留升級空間，用螺絲起子就能輕鬆拆卸，各自多加一條，方便我搞雙系統。\n","title":"微星MSI Modern 15筆電安裝Linux的眉角，設定Nvidia雙顯卡、風扇轉速","type":"unboxing"},{"content":" これはLinuxシステムを二年使ったの続編である。\n2023年から現在までを振り返った感想：\nはっきり見えるほど かえって朧げになる\n自由　あまりに多い自由　かえって檻の中の野獣になりたくなる\nPTT Linux板で久しぶりに、皆がどのディストリビューションを使っているかを尋ねる人が現れた：閒聊 2024你現在用的發行版是哪個呢？\n結果、私は保守的な答えを出した：Ubuntu\nもし誰かに、どのLinuxディストリビューションが初心者に向いているかと聞かれたら、私は適合新手的Linux發行版一文でも、やはり中堅戦力であるUbuntuを推薦する。あるいは少なくともUbuntuベースでなければならない。\n現実生活の圧力のせいで、私の思考も少し実務的になってきたからだ。\n1. 主力統合航空軍団 # これまでLinuxディストリビューションには二大更新モデルがあった。一つは安定版更新(point release)、もう一つはローリング更新(rolling release)である。\nこの一年の変化を話そう。最大の変化の一つは、主力をUbuntu LTSへ戻したことだ。純白の出発点へ戻った。私はシステムソフトウェアにもう少し安定してほしい。頻繁に更新してほしくない。\nArch Linuxは、毎月システム全体を更新しないと、ソフトウェアを入れる時に問題が出る。ソフトウェアを更新するたびに、あちこち小さな問題が出たり、PCのACPIがシャットダウンできなかったり、クソったれなNvidiaドライバーbugがあったりする。\nそう、Ubuntuにどんな争議があろうと、CanonicalがWSLを通じてMicrosoftとデキていると言われようと、もうargueしない。私はキアヌ・リーブスの態度だ。あなたの言うことは正しい。でも私はローリングリリースを「主力」として使いたくない。 ローリングリリースArch Linuxの問題にはもう耐えられなくなり、Ubuntu LTSへ戻った。\n二年前、「退屈」というくだらない理由で最初の相棒Ubuntuから離れ、distro-hoppingを始めた。Arch Linuxに一年滞在した後、結局この安心できるディストリビューションを選んだ。今年初めに正式にUbuntuへ戻した。\nUbuntuはニッチすぎず、作風も過激すぎず、使っている人が多い。私はSnapの存在を無視することを選んだ。ただしGNOMEデスクトップは今でも大嫌いで、KDEを入れたほうが見た目はしっくりくる。 デスクトップ環境が少し古くても構わない。システムカーネルとあまり関係のないソフトウェアが頻繁に更新されていればよい。できるだけFlatpak、Distroboxコンテナ技術でAPPをインストールすれば、最新版を得ながらシステム安定性を壊さずに済む。最悪、手動コンパイルすればいい。\n今はFlatpak技術があるので、最新ソフトウェアを追うことは偽議題だ。Point Releaseのディストリビューションには、それなりの存在理由がある。CanonicalもSnapとHWEカーネルを通じて、LTSシステムが最新ハードウェアをサポートする問題を迂回しているではないか。\nLinuxソフトウェア開発にはしばしば保証書がない（THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND）。コミュニティが保守するディストリビューションの開発者には、テック大企業のように安定性維持を提供する義務もなく、誰も謝らない。更新後にシステムが爆発した？自分で直せ！そうでなければせめてissueを書いて報告しろ。何もせずにそこで何を叫んでいるのか。\n頻繁なシステム爆発の恐怖の中で生きるのを防ぎたいなら、やはりPoint Releaseのディストリビューションを使うほうがよい。\n私は自分を檻の中へ戻し、商業ディストリビューションの条条框框に耐えることにした。APTの規則（インストール後に後続設定スクリプトを山ほど実行すること）に従うことを学び、無秩序で混沌としたPacman（入れたら走る）ではなくなった。\n自由　あまりに多い自由　かえって檻の中の野獣になりたくなる\nここ数年で興っているimmutable distroにはかなり心が動くが、まだ成熟していない。もう少し待とう。彼らがDistroWatchトップ10ランキングに登るほど人気になったら、移行を検討する。\n2. 新鋭弾射マクロス # 今年は比較的大きな変化があった。Pine64の未成熟製品（PinePhone）に蹂躙され、さらにTermuxでLinuxサーバーを模擬する失敗操作を経た後、ついに本当の意味での開発ボード「Raspberry Pi 5」を手に入れた。\nこれは非常に価値ある投資だと思う。ドライバー対応はかなり良く、プロセッサ性能も悪くなく、コミュニティは大きい。やりたいことは何でもできる。文書作業用PC、サーバー、ルーター、IOTプロジェクト、さらにはSteamゲームがARM64アーキテクチャで開く新境地の探索まで。（ここはChatGPTが書いたものではない）BTを常時動かしておくのも悪くない。\n3. 辺境地区第九戦線 # 私は本当にローリングリリースから離脱したわけではない。\n今はノートPC Modern 15 と タブレット PineTab 2 だけにArch Linuxを入れており、この二つはいずれも主力PCではない。\nノートPC Modern 15は日常ではあまり使わず、実験用にしている。デスクトップ環境は数か月ごとにKDE機能更新の新鮮味を楽しめる！だから壊れても構わない類のものだ。しかしArch LinuxがModern 15に提供するファンドライバーはとても不安定で、いつか過熱して焼けるかもしれない！将来的にはpoint releaseへ戻すかもしれない。\nPineTab 2は、このデバイスが開発状態にあるため、上流開発者が出す更新を頻繁にインストールする必要があるからだ。たとえば最近、Wifiドライバーが原因でsuspend modeが詰まる問題がようやく解決した。しかしPhoshのインターフェイスにはbugが多い。他のpoint releaseディストリビューションが安定したら、私はおそらく乗り換え、postmarketOSに変えるだろう。\n4. 再び振り返る時も、私の心は変わらない # 2023年は生成AIが爆発した一年だった。私は多くの新興概念を学び、LinuxでオープンソースAI技術をデプロイし操作する方法も徐々に知るようになった。\n今年もLinux関連の執筆を続ける。新しいHugoブログレイアウトの完成に伴い、大きなテーマをよりよく分類できるようになった。旧文を修正しながら新知識も補充し、記事構成をより完全にし、個人経験を加えることで、単なるチュートリアル式の記事に流れるのではなく、より多くの価値を生み出せる。\nこのサイトで私がやりたいのは、より長い時間軸のものだ。\n2024年台湾総統選の某落選者がこう言ったような気がする：「多くの政策がその時点では判断に迷う時、10年20年後に置いて見て、どれが長期的に台湾にとってより良いかを見る。そうすれば、その時点での答えはより明らかになる。」\n自由ソフトウェアとLinuxを学んで得た収穫の一つは、他人から得たものは還元しなければならないということだ。では私のやり方は、愚直だが、時々issue討論に参加する以外には、Webサイトを運営して共有することだ。\n以前私は、Ubuntuを使うとチュートリアル記事が書きにくくなると思っていた。一部のユーザー、私を含め、Windows的思考の影響を受けているため、システムのバージョンが変わると学び直す必要があると考えてしまう。Linuxでは必ずしもそうではないにもかかわらず、人々は検索文字列の後ろにUbuntuの特定バージョンをわざわざ追加してチュートリアルを検索する。はあ、それでは私はバージョンアップするたびにすべての旧文を更新しなければならないではないか？\nYouTubeには台湾実験室というチャンネルもあり、Ubuntuが小バージョンを一つ出すたびにインストールチュートリアル動画を一本作っている。そんなに運営が上手いのか？\n後で思いついた方法は、記事が高度に実験的な操作、またはソフトウェアのコンパイル方法を扱うものでない限り、Ubuntuバージョンを意図的に触れず、Ubuntu LTSと代称することだ。そしてできるだけ「特定ディストリビューション限定の機能」には触れない。\n私が書くこれらのLinuxチュートリアル記事が、どれほど長く「有効」で「価値ある」ものとして残るのかは私にもわからない。なにせ私はずっと更新し続けることはできない。いつかすべてのソースコードをオープンソースにするなら別だが。今でもSynapticでソフトウェアをインストールしている人はいるのだろうか？昔のUbuntuにはこれがプリインストールされており、かつて台湾Ubuntuの先輩たちが共有する時は皆これに触れていた。今見ると化石のようだ。\nもしかすると未来には現実に追われ、今やっているすべてが一場の夢にすぎず、将来すべて消えてしまうかもしれない。それでも結局は意味があるのだろう。たとえ将来Ubuntuが30.04まで出て、誰かが私のサイトへ迷い込み、デモ記事で使っているのがUbuntu 22.04だと見て踵を返し、古いシステムは自分にとって価値がないと思ったとしても、それで構わない。\nこの空もこの海もずっと続くって。初めての時、私そう思ってた。だけど、全ては消えていくのね。それでも、月は共にあるの。 未来に振り返った時、私は自分の決めたことを後悔しないでいたい。\n","date":"2024年6月5日","externalUrl":null,"permalink":"/ja-jp/posts/linux-learning-history-3th-year/","section":"Foss-Issues","summary":" これはLinuxシステムを二年使ったの続編である。\n2023年から現在までを振り返った感想：\nはっきり見えるほど かえって朧げになる\n自由　あまりに多い自由　かえって檻の中の野獣になりたくなる\nPTT Linux板で久しぶりに、皆がどのディストリビューションを使っているかを尋ねる人が現れた：閒聊 2024你現在用的發行版是哪個呢？\n結果、私は保守的な答えを出した：Ubuntu\nもし誰かに、どのLinuxディストリビューションが初心者に向いているかと聞かれたら、私は適合新手的Linux發行版一文でも、やはり中堅戦力であるUbuntuを推薦する。あるいは少なくともUbuntuベースでなければならない。\n現実生活の圧力のせいで、私の思考も少し実務的になってきたからだ。\n1. 主力統合航空軍団 # これまでLinuxディストリビューションには二大更新モデルがあった。一つは安定版更新(point release)、もう一つはローリング更新(rolling release)である。\nこの一年の変化を話そう。最大の変化の一つは、主力をUbuntu LTSへ戻したことだ。純白の出発点へ戻った。私はシステムソフトウェアにもう少し安定してほしい。頻繁に更新してほしくない。\nArch Linuxは、毎月システム全体を更新しないと、ソフトウェアを入れる時に問題が出る。ソフトウェアを更新するたびに、あちこち小さな問題が出たり、PCのACPIがシャットダウンできなかったり、クソったれなNvidiaドライバーbugがあったりする。\n","title":"Linuxシステムを三年使った後の感想記録","type":"foss-issues"},{"content":"我們知道QEMU跑Windows虛擬機是很難獲得3D加速的，在虛擬機執行部份程式會出問題。\n目前QEMU 8.0想取得3D加速，要嘛直通宿主機GPU，要嘛等待max8rr8的Windows viogpu3d驅動的PR完成。\n現在有一個微妙的專案出現了，那就是「qemu-3dfx」\n本專案由KJ Liew維護，專為Windows XP或更舊版的Windows虛擬機打造，可以讓你在虛擬機玩老遊戲的時候獲得原生效能的3D加速。按照作者說法，這樣你就不用找奇怪的patch來在現代的作業系統玩老遊戲了。\n（不過老實說，想要3D加速，Windows XP以前的舊遊戲在Linux Wine都能很好的執行，再不濟還有VirtualBox SoftGPU和DosBox 3dfx Voodoo嘛，qemu-3dfx屬實有點太複雜了。）\n1. 系統需求 # 哪些系統可以作為宿主機？qemu-3dfx支援Linux、Windows、macOS系統。Android的Vectras VM軟體也有整合qemu-3dfx技術。\n虛擬機系統部份，建議使用Windows XP或更早的版本，包括Windows Me、Windows 2000、Windows 98、Windows 95等系統。至於要裝32位元還64位元就看你跑的遊戲而定。\n遊戲的話，qemu-3dfx最高支援到DirectX 9.0。\n本文Ivon使用Ubuntu LTS做為宿主機，並用Windows XP SP3 64bit當作虛擬機示範。請先設定好QEMU/KVM。\n2. 編譯QEMU和Guest Wrapper # 目前qemu-3dfx需要手動對QEMU打patch才可使用，作者要你捐款89.99美元才會提供現成執行檔。\n所以我們這些窮鬼得按照作者Github指示手動編譯自訂版本的QEMU。\nUbuntu 22.04 LTS需要安裝以下前置套件 sudo apt install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev git libglib2.0-dev libfdt-dev libpixman-1-dev libncurses5-dev libncursesw5-dev ninja-build libslirp-dev unzip mingw-w64-tools gcc-mingw-w64 libdigest-sha-perl gcc-mingw-w64-x86-64-win32 開始編譯QEMU 8.2.1 mkdir ~/myqemu \u0026amp;\u0026amp; cd ~/myqemu git clone https://github.com/kjliew/qemu-3dfx.git cd qemu-3dfx wget https://download.qemu.org/qemu-8.2.1.tar.xz tar xf qemu-8.2.1.tar.xz cd qemu-8.2.1 rsync -r ../qemu-0/hw/3dfx ../qemu-1/hw/mesa ./hw/ patch -p0 -i ../00-qemu82x-mesa-glide.patch bash ../scripts/sign_commit mkdir ../build \u0026amp;\u0026amp; cd ../build ../qemu-8.2.1/configure --enable-slirp --enable-opengl --enable-debug make -j4 最後得到自訂的qemu-system-x86_64執行檔，位於 ~/myqemu/qemu-3dfx/build/qemu-system-x86_64。\n接著編譯qemu-3dfx的Guest Wrappers。作者的編譯環境似乎是為Windows上的MingGW準備的，Ubuntu編譯不起來？\n作者指定需要GCC 7.5.0並啟用DJGPP支援。參照另一個專案andrewwutw/build-djgpp來編譯i686-pc-msdosdjgpp。\ngit clone https://github.com/andrewwutw/build-djgpp.git cd build-djgpp # 修改\u0026#34;scripts/7.5.0\u0026#34;和\u0026#34;setenv/setenv\u0026#34;，把所有i586字串換成i686 sudo ./build-djgpp.sh 7.5.0 使用舊版GCC 7.5.0編譯Wrapper，針對Windows XP編譯 export DJGPP_PREFIX=/usr/local/djgpp/bin/i686-pc-msdosdjgpp export PATH=/usr/local/djgpp/bin/i686-pc-msdosdjgpp/bin/:$PATH export GCC_EXEC_PREFIX=/usr/local/djgpp/lib/gcc/ cd ~/myqemu/qemu-3dfx/wrappers/3dfx mkdir build \u0026amp;\u0026amp; cd build bash ../../../scripts/conf_wrapper make \u0026amp;\u0026amp; make clean cd ~/myqemu/qemu-3dfx/wrappers/mesa mkdir build \u0026amp;\u0026amp; cd build bash ../../../scripts/conf_wrapper make \u0026amp;\u0026amp; make clean 之後檔案會放在~/myqemu/qemu-3dfx/wrappers/3dfx/build和~/myqemu/qemu-3dfx/wrappers/mesa/build 3. Windows虛擬機安裝qemu-3dfx檔案 # 開啟Virt Manager，新增Windows XP虛擬機 2.在新增虛擬機之後，到Virt Manager的XML編輯欄位，修改\u0026lt;emulator\u0026gt;\u0026lt;/emulator\u0026gt;數值，填寫剛剛編譯的QEMU的路徑，使其使用自訂QEMU（AppArmor可能會擋自訂QEMU路徑，請參考stackexchange答案修改權限）\n或者使用命令行跑QEMU虛擬機： # 建立虛擬硬碟 qemu-img create -f qcow2 WindowsXP.qcow2 64G # 開機 \u0026#34;/home/user/myqemu/qemu-3dfx/build/qemu-system-x86_64\u0026#34; \\ -name \u0026#34;Windows XP\u0026#34; \\ -enable-kvm \\ -machine pc -L pc-bios -nodefaults -machine hpet=off \\ -rtc base=localtime,clock=host\\ -cpu qemu64 -smp cores=4,threads=1,sockets=1 \\ -m 4096 \\ -drive id=root,format=raw,file=WindowsXP.qcow2 \\ -drive id=drive1,media=cdrom,file=\u0026#34;Windows XP ISO路徑\u0026#34; \\ -boot c \\ -device rtl8139,netdev=net0 \\ -netdev user,id=net0,hostfwd=tcp::8080-:80,hostfwd=tcp::2222-:22 \\ -display sdl -device VGA \\ -audiodev pa,id=snd0 -device AC97,audiodev=snd0 \\ 開機進入虛擬機。Windows XP能用的瀏覽器不多了，請用Supermium上網吧。\n手動安裝Guest Wrappers必要檔案到指定位置。\n將FXPTL.SYS放到%SystemRoot%\\system32\\drivers\nGLIDE.DLL,、GLIDE2X.DLL 、 GLIDE3X.DLL 放到%SystemRoot%\\system32\nOPENGL32.DLL放到遊戲程式所在的資料夾。\n使用系統管理員身份執行INSTDRV.EXE\n4. 測試qemu-3dfx效能 # 尚未親自測試\n下面是原作者的測試結果，可見舊版的3DMark有吃到3D加速。\n參考資料 # QEMU命令行 QEMU - ArchWiki kjliew/qemu-3dfx andrewwutw/build-djgpp ","date":"2024年6月5日","externalUrl":null,"permalink":"/posts/qemu-3dfx/","section":"所有文章","summary":"我們知道QEMU跑Windows虛擬機是很難獲得3D加速的，在虛擬機執行部份程式會出問題。\n目前QEMU 8.0想取得3D加速，要嘛直通宿主機GPU，要嘛等待max8rr8的Windows viogpu3d驅動的PR完成。\n現在有一個微妙的專案出現了，那就是「qemu-3dfx」\n本專案由KJ Liew維護，專為Windows XP或更舊版的Windows虛擬機打造，可以讓你在虛擬機玩老遊戲的時候獲得原生效能的3D加速。按照作者說法，這樣你就不用找奇怪的patch來在現代的作業系統玩老遊戲了。\n（不過老實說，想要3D加速，Windows XP以前的舊遊戲在Linux Wine都能很好的執行，再不濟還有VirtualBox SoftGPU和DosBox 3dfx Voodoo嘛，qemu-3dfx屬實有點太複雜了。）\n1. 系統需求 # 哪些系統可以作為宿主機？qemu-3dfx支援Linux、Windows、macOS系統。Android的Vectras VM軟體也有整合qemu-3dfx技術。\n虛擬機系統部份，建議使用Windows XP或更早的版本，包括Windows Me、Windows 2000、Windows 98、Windows 95等系統。至於要裝32位元還64位元就看你跑的遊戲而定。\n","title":"qemu-3dfx，給Windows XP/Windows 98虛擬機啟用3D加速","type":"posts"},{"content":"以前Ivon小時候喜歡到波波線上遊戲網、遊戲天堂、摸摸耳小遊戲、遊戲桃等網站玩線上遊戲。\n那個時候的遊戲很多都是Flash寫的，包括本人最愛的《X Files叢林冒險》、《陽光馬力歐128》、《Ben 10 Game Creator》、《SpongeBob Squarepants: Lost in Time海綿寶寶中世紀歷險記》、《Drop Dead布偶熊死亡地獄》、《Dad\u0026rsquo;n Me紫色恐怖》、《Happy Wheels快樂輪子》等等，線上遊戲《賽爾號》和《艦隊Collection》以前也曾經是Flash寫的。\n不過隨著Adobe Flash停止開發，這些遊戲通通都沒辦法玩了。有些負責任開發者可能會用HTML5重寫遊戲（例如艦隊Collection和快樂輪子），但大部分都是不可能獲得更新的了。 現在，只需要安裝「Ruffle」擴充功能，就能讓瀏覽器重新支援Adobe Flash，讓我們得以遊玩這些老遊戲。 本文Ivon介紹Ruffle原理，以及如何使用Ruffle播放網頁Flash內容，最後介紹離線播放.swf檔的方法。\n1. Adobe Flash與Ruffle的關係 # Adobe Flash是一個古老的多媒體技術，由Adobe公司開發，檔案格式為.swf，搭配ActionScript控制內容。\n以前的電腦網頁很流行用這個做動畫，許多線上遊戲也是用Flash做的。開發者會將.swf檔嵌入至網頁，接著訪客在電腦安裝Adobe Flash Player程式，就可以在瀏覽器播放Adobe Flash內容。 但是隨著HTML5與JavaScript的完善，再加上Adobe Flash的效能和安全性問題，最終被母公司Adobe拋棄。2020年，Adobe Flash正式退役，各大瀏覽器也停止支援了。\n在最新的Firefox和Chromium系瀏覽器，即使你安裝Adobe Flash Player也不能播放Adobe Flash內容了。Chromium系瀏覽器開啟只會看到「已不再支援Adobe Flash Player」。 但是那些古老的Flash網站怎麼辦呢？還有想玩經典Flash老遊戲又該怎麼做呢？找舊版瀏覽器來用嗎？\n如果不想抓舊版本瀏覽器，這個時候我們可以使用開源軟體「Ruffle.rs」來播放Adobe Flash內容。 Ruffle為第三方開發者發起的開源模擬器專案，透過Rust語言重新實作Adobe Flash，再透過JavaScript和WebAssembly技術，使Adobe Flash可以在最新的瀏覽器播放。他們還提供簡易的JavaScript程式碼，讓站長可以將Ruffle部署到自己網站上，給訪客無縫遊玩Flash遊戲。\nRuffle跟以前的Adobe Flash比起來還有一個優勢，那就是使用者不需要在電腦系統額外安裝Flash元件，只要在瀏覽器裡面裝擴充功能就能跑了。\n論安全性，Ruffle本身是安全的，第一它開放原始碼，第二它不會像Pufffin Browser那樣把Flash內容傳到雲端計算再回傳，是真正在瀏覽器本機執行Adobe Flash程式，所以沒有任何資料會洩漏。\n2. Ruffle與Adobe Flash的相容性 # 首先要知道的是，Ruffle目前尚未100%相容Adobe Flash的功能。\nAdobe Flash和Adobe Flash Player為Adobe開發的閉源軟體，即使停止支援了也沒開放原始碼。過去是有很多人在連署請求Adobe開源啦，但是官方鳥都不鳥。\nRuffle則是開源模擬器軟體，它並不是直接使用Adobe Flash Player的技術，而是使用Rust語言重新實作，用類似逆向工程的方式，模擬ActionScript API的功能。\n目前ActionScript v3 API約實現了70%左右。儘管Ruffle官方宣稱許多遊戲正常運作，但還是有極少數API不能用，所以Ruffle並未100%相容Flash遊戲，執行起來可能有小bug。你可以在Github追蹤開發進度和回報問題。\n如果Flash內容某些功能不正常，你可能還是得找舊版瀏覽器程式，搭配真正的Adobe Flash Player來用。\n3. 瀏覽器使用Ruffle擴充播放Flash # 你不需要在系統安裝軟體，你只需要準備Firefox或者Chromium系的瀏覽器（Chrome、Edge、Brave、Vivaldi等）就能跑Ruffle。\n接著到官網下載擴充功能：Firefox擴充商店｜Chrome擴充商店\n然後就可以瀏覽內嵌Flash內容的網頁了，Ruffle會自動填充Adobe Flash的位置。 你還可以點一下Ruffle擴充功能，啟用下載網頁的swf檔案，供離線使用。 4. 使用Ruffle Desktop離線載入.swf檔 # Ruffle擴充功能可以直接讀取.swf檔，不過若要追求更佳效能，Ruffle尚有提供桌面版程式「Ruffle Desktop」能離線播放.swf檔，功能類似Adobe官方開發的Adobe Flash Player Standalone。\n如果你想離線玩Flash遊戲，或者你的程式有使用.sol存檔，就推薦使用Ruffle Desktop。\nRuffle Desktop適用Linux和Windows系統，請到Github下載。Linux請選取linux-x86_64.tar.gz，Windows選取windows-x86_64.zip Android用戶請下載ruffle-android的APK。\n下載好之後解壓縮，點兩下執行Ruffle，就可以載入本機.swf檔案了。 Linux的Flash遊戲資料儲存在~/.local/share/ruffle\nWindows的Flash遊戲資料儲存在C:\\Users\\使用者名稱\\AppData\\Roaming\n","date":"2024年6月4日","externalUrl":null,"permalink":"/posts/ruffle-flash-emulator/","section":"所有文章","summary":"以前Ivon小時候喜歡到波波線上遊戲網、遊戲天堂、摸摸耳小遊戲、遊戲桃等網站玩線上遊戲。\n那個時候的遊戲很多都是Flash寫的，包括本人最愛的《X Files叢林冒險》、《陽光馬力歐128》、《Ben 10 Game Creator》、《SpongeBob Squarepants: Lost in Time海綿寶寶中世紀歷險記》、《Drop Dead布偶熊死亡地獄》、《Dad’n Me紫色恐怖》、《Happy Wheels快樂輪子》等等，線上遊戲《賽爾號》和《艦隊Collection》以前也曾經是Flash寫的。\n不過隨著Adobe Flash停止開發，這些遊戲通通都沒辦法玩了。有些負責任開發者可能會用HTML5重寫遊戲（例如艦隊Collection和快樂輪子），但大部分都是不可能獲得更新的了。 現在，只需要安裝「Ruffle」擴充功能，就能讓瀏覽器重新支援Adobe Flash，讓我們得以遊玩這些老遊戲。 本文Ivon介紹Ruffle原理，以及如何使用Ruffle播放網頁Flash內容，最後介紹離線播放.swf檔的方法。\n1. Adobe Flash與Ruffle的關係 # Adobe Flash是一個古老的多媒體技術，由Adobe公司開發，檔案格式為.swf，搭配ActionScript控制內容。\n","title":"已不再支援Adobe Flash Player？透過Ruffle.rs在最新瀏覽器遊玩Flash遊戲，手機也可以喔","type":"posts"},{"content":" 1. 什麼是postmarketOS # Android基於Linux的核心研發而來，但跟一般的GNU/Linux仍有所差異。postmarketOS是基於Alpine Linux的作業系統，跟Ubuntu Touch一樣，旨在為行動作業系統提供另一種選擇，將真正的GNU/Linux發行版安裝到裝置上。\npostmarketOS的圖示看起來像回收符號。開發者的目標是給手機提供長達10年的系統更新，並儘量使用上游的主線Linux核心，而非Google修改後用於Android的下游Linux核心。\n跟Android比起來，postmarketOS的系統結構與電腦GNU/Linux系統較為類似，同樣使用X11或Wayland作為顯示協定，可以跑Phosh和Plasma Mobile桌面環境。Linux核心功能沒有像Android遭到刪減，所以postmarketOS預設就有root帳號，還可以跑電腦Linux程式，包括Docker。\nLinux發行版眾多，為什麼要選postmarketOS呢？他們打包的桌面套件有特別針對行動裝置的用戶維護。縱然其他Linux發行版可能也有收這些桌面套件，不過處理上沒有postmarketOS團隊細心。另外他們提供穩定更新與滾動更新兩個頻道，穩定版大約每6個月更新一次，可以一定程度上確保穩定性。\n多虧了社群的努力，postmarketOS可以復活舊手機，用來跑Linux服務。抑或是體驗Android以外，真正的Linux手機作業系統。\n2. postmarketOS的更新模式 # postmarketOS算是半滾動發行版，類似Alpine Linux，官方提供二個更新頻道：\nEdge Chaneel，不穩定版本，套件很新，適合開發者使用。 Stable Release，按照年份＋月份命名，約每六個月釋出一個版本，針對支援狀態為Main和Community的裝置所準備，套件皆經過測試保證穩定性，並透過Service Pack的方式backport最新功能。適合想要daily driving的用戶使用，例如PinePhone用戶。 3. postmarketOS支援的裝置 # postmarketOS鎖定的目標是過季裝置，百款以上的舊型手機，如Nokia N900、Google Nexus 5、Samsung i9100都有人移植，比較新的機型如OnePlus 8亦有人進行移植工作。當然一般的x86裝置應該也能裝postmarketOS。\n準備好安裝postmarketOS到你的手機了? 先到postmarketOS Devices瀏覽，看看你的機型是否有在裡面，沒有的話你也可以嘗試自行移植。\npostmarketOS的裝置支援狀態分為Main、Community、Testing。\n截至2024年6月，postmarketOS裝置支援狀態以「Main」列表的Pine64和Purism公司的裝置為最佳，硬體功能全數正常。\n其餘收錄在「Community」列表的數十款Android裝置雖有小缺陷（多半是缺乏相機驅動）但硬體支援度良好。\n剩下「Testing」列表的裝置則是只要能開機的裝置都算在內，硬體支援程度參差不齊，沒有穩定度保證。\n4. 如何安裝postmarketOS # 首先，確保你有Android刷機相關的知識，知道如何解鎖Bootloader、刷入第三方ROM、使用第三方Recovery，並懂得如何使用Linux系統指令。\n要安裝postmarketOS，第一個方法是從官網下載官方預先編譯的安裝檔並刷入到目標裝置。此方法適用於Linux與Windows系統的電腦。\n第二個方法為手動在電腦上用pmbootstrap建立安裝檔然後刷入手機，你可以自訂安裝過程要安裝哪些套件和桌面環境，打造一個自訂系統。此方法需要一台x86_64架構的Linux電腦，虛擬機也可以，WSL不行。\n如果你沒有支援postmarketOS的裝置，可以考慮用虛擬機跑postmarketOS。\n延伸閱讀 # postmarketOS Wiki postmarketOS的討論社群 ","date":"2024年6月3日","externalUrl":null,"permalink":"/posts/postmarketos-introduction/","section":"所有文章","summary":"1. 什麼是postmarketOS # Android基於Linux的核心研發而來，但跟一般的GNU/Linux仍有所差異。postmarketOS是基於Alpine Linux的作業系統，跟Ubuntu Touch一樣，旨在為行動作業系統提供另一種選擇，將真正的GNU/Linux發行版安裝到裝置上。\npostmarketOS的圖示看起來像回收符號。開發者的目標是給手機提供長達10年的系統更新，並儘量使用上游的主線Linux核心，而非Google修改後用於Android的下游Linux核心。\n跟Android比起來，postmarketOS的系統結構與電腦GNU/Linux系統較為類似，同樣使用X11或Wayland作為顯示協定，可以跑Phosh和Plasma Mobile桌面環境。Linux核心功能沒有像Android遭到刪減，所以postmarketOS預設就有root帳號，還可以跑電腦Linux程式，包括Docker。\nLinux發行版眾多，為什麼要選postmarketOS呢？他們打包的桌面套件有特別針對行動裝置的用戶維護。縱然其他Linux發行版可能也有收這些桌面套件，不過處理上沒有postmarketOS團隊細心。另外他們提供穩定更新與滾動更新兩個頻道，穩定版大約每6個月更新一次，可以一定程度上確保穩定性。\n","title":"postmarketOS介紹，專為手機打造的GNU/Linux發行版","type":"posts"},{"content":"Flashing custom Xiaomi Phone ROM on Linux.\n本文介紹如何在GNU/Linux安裝ADB和Fastboot，給小米手機進行刷機。\n如果熟悉使用命令行的話，Linux系統給Android刷機或者刷Magisk拿root權限，比用Windows刷機要方便許多，因為不需要裝驅動之類有的沒的。\n1. 安裝ADB與Fastboot套件 # 一般的GNU/Linux系統給Android手機刷機通常不需要裝手機的「驅動程式」，那些都含在Linux核心裡面了。\n刷機需要工具主要是ADB和Fastboot工具，選擇一種方法安裝，\n用套件管理員安裝 # 大多數Linux發行版可透過套件管理員安裝ADB與Fastboot工具，例如Ubuntu：\nsudo apt install android-tools 安裝後即可在終端機使用adb和fsastboot指令 手動下載執行檔 # 第二個安裝方法是到Android Developers下載Google建置的最新版Platform Tools，僅適用x86_64架構的電腦。\n解壓縮即會得到adb和fastboot的二進位執行檔。 這樣做的好處是無論哪個發行版都能下載到最新版的ADB，可是要執行adb或fastboot的指令必須切換到執行檔所在的目錄，而無法全系統呼叫。\n執行adb指令前要先切換到該執行檔所在的目錄\ncd ~/Downloads/platform-tools ./adb 2. 解鎖小米手機的Bootloader # 新買的小米手機，需要等待15天後，下載官方解Bootloader鎖的程式Mi Unlock來解鎖。\nMi Unlock這個程式需要Windows電腦，沒有辦法直接用Linux操作，得用Windows QEMU/KVM虛擬機搭配USB重新導向來解鎖。\n不過，其實小米解鎖工具也是有非官方Linux版啦，像是XDA用戶開發的XiaomiTool和MiUnlock，他們可以協助你在Linux取得解鎖碼。請注意他們無法繞過新機的15天限制。\n3. 開始刷機 # 小米手機迭代好久了，刷機方法無法一概而論，但是大多數步驟用到的就是ADB和Fastboot這二個工具而已。\n小米手機的第三方ROM可以到XDA Developers下載，歐版ROM請到xiaomi.eu下載。\n讓小米手機進入Fastboot模式。\n將小米手機用原廠線插到電腦USB Type A 2.0的孔（USB Type A 3.0或Type C似乎容易抓不到裝置）。輸入lsusb指令確認有認到小米裝置，應該會顯示Google Inc.或者Xiaomi開頭\n輸入fastboot devices確認有偵測到Fastboot模式的裝置\n這樣就可以開始刷機了，不論是要裝TWRP還是直接刷都行，請參閱XDA文章的指示。\n4. 將小米手機刷回原廠系統 # 在Windows上很多用戶會用MiFlash程式來刷機，但是其實Linux只要執行小米刷機包裡面隨附的指令稿就能刷機。\n小米的刷機包跟其他廠牌不同，它有提供便捷的刷機指令稿。\n到ezbox按照機型，下載小米原廠的刷機包，選fastboot版本的tgz。例如我是Xiaomi Pocophone F1。 在下載目錄開啟終端機，將tgz解壓縮\ntar -xvzf whyred_global_images_V11.0.5.0.PEIMIXM_20200917.0000.00_9.0_global_46113830ee.tgz cd whyred_global_images_V11.0.5.0.PEIMIXM_20200917.0000.00_9.0_global 解壓縮出來的目錄會有以下檔案。 檢查flash_all.sh的內容可知道裡面跑的都是fastboot的指令，只要執行此指令稿就能刷機。\n# 這邊是flash_all.sh的內容節錄 fastboot $* flash xbl `dirname $0`/images/xbl.elf fastboot $* flash xblbak `dirname $0`/images/xbl.elf fastboot $* flash tz `dirname $0`/images/tz.mbn fastboot $* flash tzbak `dirname $0`/images/tz.mbn 將小米手機關機，按特定組合鍵使其進入Fastboot模式，用原廠線插到電腦USB Type A 2.0的孔（USB Type A 3.0或Type C似乎容易抓不到裝置）。執行fastboot devices指令查看已連接的裝置。 執行flash_all.sh指令稿，它會開始刷機回原廠。如果要給手機Bootloader上鎖請改執行flash_all_lock.sh指令稿。\nbash flash_all.sh 等待刷機完成即可重開機 ","date":"2024年6月3日","externalUrl":null,"permalink":"/posts/flashing-xiaomi-phone-rom-on-linux/","section":"所有文章","summary":"Flashing custom Xiaomi Phone ROM on Linux.\n本文介紹如何在GNU/Linux安裝ADB和Fastboot，給小米手機進行刷機。\n如果熟悉使用命令行的話，Linux系統給Android刷機或者刷Magisk拿root權限，比用Windows刷機要方便許多，因為不需要裝驅動之類有的沒的。\n1. 安裝ADB與Fastboot套件 # 一般的GNU/Linux系統給Android手機刷機通常不需要裝手機的「驅動程式」，那些都含在Linux核心裡面了。\n刷機需要工具主要是ADB和Fastboot工具，選擇一種方法安裝，\n用套件管理員安裝 # 大多數Linux發行版可透過套件管理員安裝ADB與Fastboot工具，例如Ubuntu：\nsudo apt install android-tools 安裝後即可在終端機使用adb和fsastboot指令 手動下載執行檔 # 第二個安裝方法是到Android Developers下載Google建置的最新版Platform Tools，僅適用x86_64架構的電腦。\n解壓縮即會得到adb和fastboot的二進位執行檔。 ","title":"如何用Linux電腦給小米手機刷機，或回復原廠系統","type":"posts"},{"content":"關於postmarketOS系統的介紹請看這篇。\npostmarketOS官方提供的pmbootstrap能夠製作刷機檔案，將系統刷入Android手機。\n不過，除了使用pmbootstrap建立刷機檔之外，手機有在官方Main和Community支援列表的，也可以從postmarketOS官網下載預先建構好的映像檔(prebuilt image)。 postmarketOS開發組會定期給官方支援的裝置提供穩定的系統更新，讓你可以把它當作日常系統使用。\n這樣做的好處是不需要用到Linux電腦也能刷postmarketOS，Windows電腦只要安裝Platform Tools就可以了。\n本文以小米Pocophone F1為例，已解鎖Bootloader。\n為了防止分區錯亂，所以我安裝的是原廠最新MIUI韌體，再行刷機。刷入postmarketOS會覆蓋掉Android系統，未來可用MiFlash回復。\n1. 下載Platform Tools # 到Google的Platform Tools官網，按照你的系統下載，解壓縮。\n這個含有adb.exe和fastboot.exe的目錄就是等一下會用到的工作目錄。 2. 下載postmarketOS映像檔 # postmarketOS有分成Stable(穩定)和Edge(測試)版，下載頁面的都是穩定版。\n到postmarketOS官網Releases頁面，點選你的機型\n針對Poco F1，postmarketOS有提供Phosh和Plasma桌面的版本，我選Phosh。 點進去後選擇最新版本。接著Poco F1要注意螢幕的生產商，我的是天馬所以選擇\u0026quot;tianma\u0026quot;，下載最下面含有tianma-boot.img和tianma.img的檔案。 3. 刷入系統 # 將下載的二個檔案用7-zip解壓縮，會得到開機用的boot.img以及系統映像img。\n把以上二個檔案移動到Plastform Tools的目錄，於空白處按著shift再按右鍵，開啟Powershell終端機。 將手機關機，按著開機鍵+音量下鍵進入fastboot模式，將手機接到電腦（只能用USB 2.0的孔）。\n輸入指令，刷入boot.img\n./fastboot flash boot 20240601-0639-postmarketOS-v23.12-phosh-22.3-xiaomi-beryllium-tianma-boot.img 刷入系統映像檔 ./fastboot flash 20240601-0639-postmarketOS-v23.12-phosh-22.3-xiaomi-beryllium-tianma.img 重開機，完成。postmarketOS系統預設登入帳號是\u0026quot;user\u0026quot;，密碼是\u0026quot;147147\u0026quot; ./fastboot reboot 假設你的裝置順利進入postmarketOS桌面環境，並且GPU加速、觸控、網路、音效都正常的話，接下來請參考這篇：postmarketOS使用技巧了解postmarketOS的設定眉角，以及如何將postmarketOS當作手機系統用。\n","date":"2024年6月3日","externalUrl":null,"permalink":"/posts/postmarketos-prebuilt-images/","section":"所有文章","summary":"關於postmarketOS系統的介紹請看這篇。\npostmarketOS官方提供的pmbootstrap能夠製作刷機檔案，將系統刷入Android手機。\n不過，除了使用pmbootstrap建立刷機檔之外，手機有在官方Main和Community支援列表的，也可以從postmarketOS官網下載預先建構好的映像檔(prebuilt image)。 postmarketOS開發組會定期給官方支援的裝置提供穩定的系統更新，讓你可以把它當作日常系統使用。\n這樣做的好處是不需要用到Linux電腦也能刷postmarketOS，Windows電腦只要安裝Platform Tools就可以了。\n本文以小米Pocophone F1為例，已解鎖Bootloader。\n為了防止分區錯亂，所以我安裝的是原廠最新MIUI韌體，再行刷機。刷入postmarketOS會覆蓋掉Android系統，未來可用MiFlash回復。\n1. 下載Platform Tools # 到Google的Platform Tools官網，按照你的系統下載，解壓縮。\n這個含有adb.exe和fastboot.exe的目錄就是等一下會用到的工作目錄。 2. 下載postmarketOS映像檔 # postmarketOS有分成Stable(穩定)和Edge(測試)版，下載頁面的都是穩定版。\n","title":"postmarketOS刷機教學，使用Prebuilt image安裝系統","type":"posts"},{"content":"將Android手機刷機成Debian。 1. Droidian簡介 # Droidian為一款行動作業系統，基於Debian Testing開發，目的在於把Android手機的系統變成Debian Linux，可以說是針對Android手機的Mobian。\nMobian是基於Debian開發的系統，專為行動裝置打造，僅支援Pine64和Purism的開源裝置和少量Android手機，至少目標裝置得是Linux友好的。Droidian這個取向跟Mobian不太一樣，Droidian比較像是Ubuntu touch，主要針對Android手機移植，使用了Halium和libhybris技術，把Android bionic跟Linux glibc的C函式庫縫在一起，降低移植難易度。Droidian官網還有詳細的移植說明文件。\n但是，Droidian系統使用的Linux核心版本跟Android原廠的相去不遠，跑最新主線Linux核心不是他們的目標，只要能跑Linux就行了。如果在乎主線核心的，還是考慮Mobian或postmarketOS吧，後者移植的Android裝置也蠻多的。\nDroidian保留了Mobian自由安裝套件的特性。系統也不是唯讀的，所以使用者能夠自由安裝桌面環境，不用像Ubuntu Touch被Lomiri綁住。\nDroidian還提供Android GSI映像檔，減低上手難度。如果Android手機支援GSI，那最低只要重編譯核心，也就是boot.img部份，就可以搭配Droidian GSI system image，刷入到Android手機上，體驗一把Linux系統。\n2. 安裝Droidian # 參見Droidian官網支援的裝置列表\n我的小米Pocophone F1在XDA上有Unofficial port，支援狀況還不賴，大部分功能正常甚至能打電話。但請注意Pocophone F1已經有Mobian支援了，不用刻意裝Droidian。\n似乎也是因為這個因素，Poco F1的Droidian開發者TioCareca停止維護了，本次只是為了測試。請小心下載對應版本的檔案，不可胡亂嘗試新版Droidian的rootfs。\n參考XDA文章，下載boot.img和vendor.img，還有android-recovery-beryllium-adaptation_20220517.zip\n下載droidian-rootfs-api28gsi-arm64_20211127.zip以及droidian-devtools-arm64_20211127.zip\n下載原廠MIUI韌體fw_beryllium_miui_POCOF1Global_9.6.27_6673f8a455_9.0.zip\n長按開機鍵＋音量下鍵，下載Poco F1的TWRP並刷入\nfastboot flash recovery twrp-3.7.0_9-0-beryllium.img 長按開機鍵＋音量上鍵，重新啟動進TWRP，點選 Wipe and Format data，重開機進入TWRP\n刷入boot.img、vendor.img（如果沒辦法就用fastboot指令刷）\n刷入fw_beryllium_miui_POCOF1Global_9.6.27_6673f8a455_9.0.zip、droidian-rootfs-api28gsi-arm64_20211127.zip、droidian-devtools-arm64_20211127.zip、android-recovery-beryllium-adaptation_20220517.zip（如果沒辦法就用adb sideload）\n3. 開機使用 # 預設密碼1234，基本操作與Mobian/Debian無異。\n預設界面為舊版Phosh，支援中文界面。不過圖形驅動似乎不完善，WebGL無法使用。 因為是舊版Debian，系統為Debian 10 Bullseye。或許可以透過改APT套件庫方式升級到Debian 13 Trixie，但要處理套件庫金鑰過期的問題。\nuname指令確認核心依然為原廠Android的Linux 4.9.2版本，遠遠落後現在的Linux 6.0。按照Droidian本身原理看來是不能升級。\n沒辦法更新系統到最新Debian的情況下，看來這台沒什麼用處了，還是刷新版Mobian好。\n有刷droidian-devtools會幫你啟用SSH ，只要把手機插上電腦，就可以用以下IP登入\nssh droidian@10.15.19.82 ","date":"2024年6月3日","externalUrl":null,"permalink":"/posts/droidian-xiaomi-poco-f1/","section":"所有文章","summary":"將Android手機刷機成Debian。 1. Droidian簡介 # Droidian為一款行動作業系統，基於Debian Testing開發，目的在於把Android手機的系統變成Debian Linux，可以說是針對Android手機的Mobian。\nMobian是基於Debian開發的系統，專為行動裝置打造，僅支援Pine64和Purism的開源裝置和少量Android手機，至少目標裝置得是Linux友好的。Droidian這個取向跟Mobian不太一樣，Droidian比較像是Ubuntu touch，主要針對Android手機移植，使用了Halium和libhybris技術，把Android bionic跟Linux glibc的C函式庫縫在一起，降低移植難易度。Droidian官網還有詳細的移植說明文件。\n但是，Droidian系統使用的Linux核心版本跟Android原廠的相去不遠，跑最新主線Linux核心不是他們的目標，只要能跑Linux就行了。如果在乎主線核心的，還是考慮Mobian或postmarketOS吧，後者移植的Android裝置也蠻多的。\n","title":"Android混合Debian的技術，小米Pocophone F1安裝Droidian","type":"posts"},{"content":"","date":"2024年6月3日","externalUrl":null,"permalink":"/tags/mobian/","section":"標籤","summary":"","title":"Mobian","type":"tags"},{"content":"「/e/OS」為一款強調隱私的Android手機系統。\n我真的覺得取這個名字的人是多不想讓人在搜尋引擎搜尋到這個系統。\n1. /e/OS系統簡介 # 2017年，法國Mandrake Linux的開發者Gaël Duval發起了Eelo OS專案，目標是打造一款沒有Google服務框架（GMS）的Android系統，對抗科技巨頭的隱私侵犯，俗稱去Google化（degoogle）。\nEelo OS後來改名成/e/OS，唸作slash e，緊接著成立了e Foundation。2022年，e Foundation與法國Murena公司合作銷售搭載/e/oS的Murena One手機，並由Murena提供雲端服務替代GMS。在此之後，荷蘭的環保手機FairPhone 4也有提供/e/OS的選項。 由於/e/OS是LineageOS的fork，/e/OS意外的支援蠻多廠牌的手機的，連ASUS ROG Phone 3都有支援。\n/e/OS跟GrapheneOS、CalyxOS的目標類似，目的是打造保護隱私的Android系統，在degoogle的同時用microG補足GMS的部份。不過/e/OS在系統安全性上的設計不如GrapheneOS周全，沒有那種進階的沙盒隔離Play Service的功能。\n相較於LineageOS一開機什麼都沒有，/e/OS試圖透過跟Murena合作打造自己的生態系，由Murena\u0026rsquo;s Cloud雲端服務負責同步手機設定、通訊錄、照片等資訊。\nㄟ，degoogle又加上自家雲端，這樣不禁會讓人想到華為鴻蒙系統。不過/e/OS不是像華為鴻蒙一樣從頭打掉重做的系統，儘管鴻蒙依然是Android縫合怪就是了。為了追求degoogle改用鴻蒙手機，不過是換家公司監控你罷了，當你用華為手機傳了個笑話.jpg。這樣說來，Murena公司就比科技巨頭公司能信任嗎？至少他們隱私權政策是這樣宣稱的，絕不蒐集使用者資料。\n2. 安裝/e/OS # 參閱/e/OS支援裝置列表\n我的小米Poco F1不是官方正式支援的，得手動到/e/OS dev beryllium download下載Recovery和刷機包。\n下載Platform Tools，內含ADB與Fastboot\n安裝最新版原廠韌體POCO F1 – Global Stable V12.0.3.0.QEJMIXM\n解鎖Bootloader\n長按開機鍵＋音量下鍵，重開機進入fastboot模式\n刷入 /e/OS的Recovery\nfastboot flash recovery recovery-e-2.0-t-20240507399779-dev-beryllium.img 長按開機鍵＋音量上鍵，重開機進入Reocvery 選取Factory reset → Format data清除資料\n點選Apply Update → Apply update from ADB\n使用adb sideload刷入刷機包\nadb sideload e-2.0-t-20240507399779-dev-beryllium.zip 重新啟動裝置 3. /e/OS內建應用程式 # /e/OS界面長得像是iOS跟MIUI的合體，但從系統UI依然看得出LineageOS的風格。 目前看來/e/OS正跟法國Murena公司密切合作，由Murena公司提供Murena\u0026rsquo;s Cloud雲端服務，取代Google Drive。它會自動上傳手機照片、通訊、記事本到雲端，不過嘛免費版空間只有1GB而已。 內建的應用商店為App Lounge，不用登入也能用。整合了Aurora Store和F-Droid的功能，方便你下載APP，它還會列出開源APP。 內建的APP大概就Magic Earth不是開源軟體了，畢竟要找到開源的導航軟體很難。Magic Earth這個我之前有寫過評價，雖然是閉源但不蒐集使用者資料，已經很棒了。 4. /e/OS保護隱私的措施 # 可以阻擋APP追蹤器、隱藏地理位置、隱藏IP，還有「恥辱柱」的機制。\n其中隱藏IP靠的是Tor連線，想當然爾這會導致上網變很慢，可以選擇只給特定APP走Tor連線。 /e/OS內建的應該是開源microG服務，但我的這個組建卻是Google Play Service？開啟後瘋狂崩潰，暫時無法測試依賴Google服務的APP在/e/OS的相容性。對了，/e/OS沒有signature spoofing所以不能自行安裝microG更新。\n","date":"2024年6月3日","externalUrl":null,"permalink":"/posts/e-os-xiaomi-poco-f1/","section":"所有文章","summary":"「/e/OS」為一款強調隱私的Android手機系統。\n我真的覺得取這個名字的人是多不想讓人在搜尋引擎搜尋到這個系統。\n1. /e/OS系統簡介 # 2017年，法國Mandrake Linux的開發者Gaël Duval發起了Eelo OS專案，目標是打造一款沒有Google服務框架（GMS）的Android系統，對抗科技巨頭的隱私侵犯，俗稱去Google化（degoogle）。\nEelo OS後來改名成/e/OS，唸作slash e，緊接著成立了e Foundation。2022年，e Foundation與法國Murena公司合作銷售搭載/e/oS的Murena One手機，並由Murena提供雲端服務替代GMS。在此之後，荷蘭的環保手機FairPhone 4也有提供/e/OS的選項。 由於/e/OS是LineageOS的fork，/e/OS意外的支援蠻多廠牌的手機的，連ASUS ROG Phone 3都有支援。\n/e/OS跟GrapheneOS、CalyxOS的目標類似，目的是打造保護隱私的Android系統，在degoogle的同時用microG補足GMS的部份。不過/e/OS在系統安全性上的設計不如GrapheneOS周全，沒有那種進階的沙盒隔離Play Service的功能。\n","title":"沒有Google服務、保護隱私的系統：/e/OS＋ 小米Poco F1 刷機體驗","type":"posts"},{"content":" 攝影地點：看海美術館\n我想我最近是聽太多柯建銘在立法院針對國會改革的鬼話才做了一個奇特夢境，摻雜了各種政治人物出現。一切都發生在陪著雨滴度過的午後，兩小時之內的夢，卻好像過了好幾年。\n推薦搭配蒸氣波藝術家desert sand feels warm at night第三首歌「プールサイドの夢」聆聽\n還有私心認為代表台灣人精神的 新寶島康樂隊 - 歡聚歌\n主文 # 我好像是在立法院上班的小職員，怪的是夢中的立法院所在位置看起來像高山旅館，羅馬式建築，依山傍水好不漂亮，還有像是博物館一樣的開放參觀行程。\n在夢中，我見到黃國昌要穿著反光背心，負責像員警一樣在岸邊監控遊客小孩玩水的樣子。\n不知道為何，後來要武裝保衛立法院，所有人被召集起來像是國軍一樣點名，但是身穿聯合國維和部隊的藍色制服。看似要起衝突了但是沒有實際發生。\n在那之後後，我跟著家人去家族旅行，但好像是追隨一個更大的團隊腳步的。那個團隊除了現在的國會職員外，還包含台灣歷史上的人物，從荷蘭時期到日治時期，還是古往今來的政治人物，他們要出國去簽類似CPTPP貿易協定，故需要拜會各國。\n我們穿上類似《新世紀福音戰士》的戰鬥服，騎著酷似《阿基拉》裡面的摩托車出發。那是環遍台灣全島，乃至世界各國的旅行，我們先在本島做宣誓，接著搭上船隻前往世界各國。\n中間有遇到春日部防衛隊，有個像是蠟筆小新家的狗角色，死了命也要偷渡過海關。在躲避看門豹的撕咬下，驚險的到了最後目的地。\n最後我只記得眾人在某個國家的建築物前聚集。那個國家的建築物看起來很像台灣總統府，但是充滿火焰，還有些許破敗的樣子。\n在那裡，大夥頻頻的說著「台灣是台灣人的台灣，是世界的的台灣」帶頭喊的好像是韓國瑜，前些天他不也說要相信台灣民主麼。\n在最後眾人回到台灣的時候，柯建銘還是在旁邊冷冷地抱著手，說了一句：舔共賣台。\n捏他 # 這段解釋夢中出現的梗，以方便更具體的了解。我沒有刻意在寫文的時候加入新捏他，全部都是照實紀述。\n柯建銘和民進黨團這幾個月針對國會改革五法「總統國情報告」、「藐視國會罪」、「國會調查權」、「國會聽證權」、「人事同意權」的論調大底就是：你做什麼都是舔共賣台，即使發言時間給了也不斷重複盤古開天闢地的屁話。沒有討論沒有民主？在黨團協商時講一堆廢話，填塞時間的是誰呀。\n影片參考：\n要說我夢中的立法院長怎樣，參考嘉義縣的佐登妮絲城堡吧 台灣警察反光背心長這樣 論武裝保衛立法院，我認為是一種暗示吧。民進黨煽動支持者上街搞青鳥行動包圍立法院，在外又有中共軍演包圍整個台灣。作為民眾黨支持者，我們一直很擔心立法委員的安全，所以才會在夢中出現這種真正要開戰的情況吧。\n聯合國維和部隊的制服 新世紀福音戰士戰鬥服。為什麼會出現這個，推測原因之一是睡前看太多呉サヒロ CL-orz的本子（出本都出全彩的神人），或者是劇場版裡面有戰略自衛隊入侵NERV，讓我想到守護立法院的行為。 1944年台北大轟炸下，殘破不堪台灣的總統府。 「台灣是台灣人的台灣，是世界的的台灣」這句話，就是柯文哲的口號「台灣是台灣人的台灣，不是專屬於民進黨的」跟蔡英文的「台灣是世界的台灣」融合起來吧。\n立法院長韓國瑜在5/27回應國會改革表示：「台灣的好朋友要對台灣民主有信心，相信經過這些衝突、折衝之後，一定會綻放出更好的花朵，請大家要有信心。」\nCPTPP（跨太平洋夥伴全面進步協定）是蔡英文任內一直很想加入的協定，但是不可能成功。在最近5/17~ 5/28的國會改革風波中，唯一朝野和諧的時刻是台灣跨黨派代表出發前往WHA大會的時候。我覺得夢境比較可能是呼應這個事件。\n最後補一點不是很相關的，人們眼中的大統派，正毅兄弟成員，蔡正元竟然會編纂一本《台灣島史記》的書籍，還在朱學恆的頻道親自開節目講解內容。雖然看似基於事實，但通篇的論調就是想證明台灣自古以來屬於中國就是了。可是這也顛覆了我以前的認知，原來愛台灣的不只有獨派史觀（尤其108新課綱去中化更甚），統派的史觀某種程度上也愛台灣。\n我是覺得，只要認同台灣這片土地的人，就可以說是台灣人。\n","date":"2024年6月2日","externalUrl":null,"permalink":"/posts/2024060201/","section":"Politics","summary":" 攝影地點：看海美術館\n我想我最近是聽太多柯建銘在立法院針對國會改革的鬼話才做了一個奇特夢境，摻雜了各種政治人物出現。一切都發生在陪著雨滴度過的午後，兩小時之內的夢，卻好像過了好幾年。\n推薦搭配蒸氣波藝術家desert sand feels warm at night第三首歌「プールサイドの夢」聆聽\n還有私心認為代表台灣人精神的 新寶島康樂隊 - 歡聚歌\n主文 # 我好像是在立法院上班的小職員，怪的是夢中的立法院所在位置看起來像高山旅館，羅馬式建築，依山傍水好不漂亮，還有像是博物館一樣的開放參觀行程。\n在夢中，我見到黃國昌要穿著反光背心，負責像員警一樣在岸邊監控遊客小孩玩水的樣子。\n不知道為何，後來要武裝保衛立法院，所有人被召集起來像是國軍一樣點名，但是身穿聯合國維和部隊的藍色制服。看似要起衝突了但是沒有實際發生。\n在那之後後，我跟著家人去家族旅行，但好像是追隨一個更大的團隊腳步的。那個團隊除了現在的國會職員外，還包含台灣歷史上的人物，從荷蘭時期到日治時期，還是古往今來的政治人物，他們要出國去簽類似CPTPP貿易協定，故需要拜會各國。\n我們穿上類似《新世紀福音戰士》的戰鬥服，騎著酷似《阿基拉》裡面的摩托車出發。那是環遍台灣全島，乃至世界各國的旅行，我們先在本島做宣誓，接著搭上船隻前往世界各國。\n","title":"國會改革之夢，台灣是台灣人的台灣，是世界的台灣","type":"politic"},{"content":"我想為手上的Linux兼Android平板找一款專用的電子書閱讀器，經過多方比較後我決定使用KOReader。 KOReader為一款功能豐富的電子書閱讀軟體，開源免費。 Ivon認為KOReader的實用功能如下：\n能夠開啟PDF、EPUB、MOBI、CBZ、ZIP等常見的電子書格式 自由匯入字體，支援直排文字閱讀 程式內建輸入法，可以做筆記並匯出到其他筆記軟體 遠端存取calibre書庫，跨裝置同步進度 查字典、維基百科、閱讀RSS文章 PDF頁面重排，KOReader厲害之處在於PDF圖片型的文字也可以重排 OCR光學識別 使用css自訂界面顏色 Lua指令稿擴充功能 此外，KOReader輕量不吃資源，適用各家的E-ink電子書閱讀器、Linux平板、Android平板。就拿我手上這台RK3566的平板來說，即使效能不怎麼樣，KOReader照樣能迅速載入好幾百頁的電子書檔案，速度要比Okular和calibre快多了。\n由於有PDF文字重排功能，因此Android手機也可以裝KOReader，方便閱讀PDF。\n本文Ivon分享一些KOReader的操作心得，寫成簡易教學以供參考。\n1. 安裝KOReader # KOReader目前支援Linux、Android、macOS系統，以及開放安裝第三方軟體的E-ink電子書閱讀器。KOReader不支援Windows和iPadOS。\nLinux # 官網提供多個Linux發行版的安裝包。\n我使用Flatapk安裝：\nflatpak --user install flathub rocks.koreader.KOReader Flatpak版的KOReader程式資料目錄位於~/.var/app/rocks.koreader.KOReader。KOReader的主程式設定位於settings.reader.‍lua檔案。\nAndroid # 請到Github或F-Droid下載APK，需要Android 4.3以上版本。\nAndroid版安裝後會在手機內部儲存空間/koreader建立程式資料目錄。KOReader的主程式設定位於settings.reader.‍lua檔案。\n2. KOReader基本操作方式 # KOReader會給每一本電子書建立一個.sdr目錄，用於紀錄該本書籍的閱讀設定。為了避免混亂，建議將要看的電子書統一放在固定目錄，例如~/E-books\n初次開啟會載入操作手冊。如何開啟其他書：點上面的選單，開啟檔案瀏覽器，開啟電子書所在目錄 可點選右上角加號將此目錄設定為家目錄 點選螢幕頂部，開啟上方設定選單 從螢幕底部上滑，開啟底部選單，這是目前電子書的閱讀設定 點螢幕左右或者上下滑動翻頁。長按並滑動文字內容進行標註。 3. 如何重排PDF文字頁面 # 在螢幕比較小的裝置你就需要這個功能。\n開啟下方選單，設定文件語言為Chinese 然後再開啟文件重排功能。 這樣文字就會從這樣 變成這樣 4. 如何閱讀直排書本 # 如果要強制把書本內容變成直排，最簡單的做法就是把螢幕轉90度再載入轉90度的直排字體。透過自訂手勢來切換預設和直排排版。\n到Vixual的網站下載偽直排字體GenRyuMinTW.ttf。Linux放到~/.local/share/fonts，Android放到手機內部儲存空間/koeader/fonts\n設定右下角點擊手勢觸發的動作：點選KOReader上方選單設定 → 輕觸與手勢 → 手勢管理員 → 點擊角落 → 右下 → 裝置 → 旋轉 → 第一個90度 接著點選可重排文件 → Set Font → 選取字體GenRyuMinTW。\n設定右下角長按手勢：點選KOReader上方選單設定 → 輕觸與手勢 → 手勢管理員 → 長按角落 → 右下 → 裝置 → 旋轉0度 接著點選可重排文件 → Set Font → 選取字體Noto Sans\n如此一來，點一下螢幕右下角，書本文字就會變成直排，長按復原。 5. 如何使用字典 # KOReader內建瀏覽多國語言字典與維基百科的功能，後者需要網路連線。\n點選KOReader上方選單設定 → 字典設定，下載字典，例如GNU Collaboration英英字典 如此一來選取文字就會彈出解釋 你也可以查詢維基百科文章並存檔為EPUB 6. 寫筆記並匯出到Joplin # 筆記部分，KOreader僅有簡單的標註和打字功能，不過你可以把內容一次匯出到其他筆記軟體。\n選取文字後可以使用KOReader內建鍵盤打筆記，中文輸入法部份只有簡體拼音能輸入文字。 當你關閉PDF文件的時候，KOReader會問你要不要將筆記寫入到PDF檔案裡面。\n如果你的PDF文件是圖片掃描，因而無法選取文字，那麼你可以嘗試強制OCR功能來辨識文字。開啟OCR需要手動安裝Tesseract引擎，參考官方手冊。\n在設定 → 可將筆記匯出到其他筆記軟體，目前支援Joplin、Readwise、Memos、Flomo、XMNote。\n以Joplin為例，請安裝Joplin電腦版\n讓KOReader跟Joplin的電腦位於同一個網路下\n在Joplin工具 → 選項，開啟Web Clipper伺服器服務，取得Token，並依照畫面上顯示的開放防火牆通訊埠 點選KOReader上方設定 → Choose formats and services，填入Joplin電腦的IP、連接埠、Token 這樣一來，點選KOReader上方設定 → 匯出標注，點選後標注和筆記就會匯入到Joplin。\n7. 跨裝置同步閱讀進度 # 方案1：連線到遠端calibre伺服器，參見koreader-calibre-plugin\n方案2：使用Koreader Sync Server\n參考資料 # KOReader User Guide KOReader WIKI Kobo/Kindle E-Reader 也能一鍵橫排轉直排? 還不用等待轉檔? Koreader 中快速切換成直排閱讀模式 ","date":"2024年5月31日","externalUrl":null,"permalink":"/posts/koreader-usage/","section":"所有文章","summary":"我想為手上的Linux兼Android平板找一款專用的電子書閱讀器，經過多方比較後我決定使用KOReader。 KOReader為一款功能豐富的電子書閱讀軟體，開源免費。 Ivon認為KOReader的實用功能如下：\n能夠開啟PDF、EPUB、MOBI、CBZ、ZIP等常見的電子書格式 自由匯入字體，支援直排文字閱讀 程式內建輸入法，可以做筆記並匯出到其他筆記軟體 遠端存取calibre書庫，跨裝置同步進度 查字典、維基百科、閱讀RSS文章 PDF頁面重排，KOReader厲害之處在於PDF圖片型的文字也可以重排 OCR光學識別 使用css自訂界面顏色 Lua指令稿擴充功能 此外，KOReader輕量不吃資源，適用各家的E-ink電子書閱讀器、Linux平板、Android平板。就拿我手上這台RK3566的平板來說，即使效能不怎麼樣，KOReader照樣能迅速載入好幾百頁的電子書檔案，速度要比Okular和calibre快多了。\n由於有PDF文字重排功能，因此Android手機也可以裝KOReader，方便閱讀PDF。\n本文Ivon分享一些KOReader的操作心得，寫成簡易教學以供參考。\n1. 安裝KOReader # KOReader目前支援Linux、Android、macOS系統，以及開放安裝第三方軟體的E-ink電子書閱讀器。KOReader不支援Windows和iPadOS。\n","title":"平板和手機都好用的電子書閱讀器APP：KOReader使用教學","type":"posts"},{"content":"Wine是讓Linux跑Windows exe程式的轉譯技術。\n儘管Wine有支援ARM架構，Raspberry Pi OS套件庫也有收，然而Windows exe大多是x86架構，所以你不可以安裝ARM架構的Wine去跑x86架構的程式。\n我們得想辦法搞到x86架構的Wine，交給Box64轉譯，進而執行Windows exe。 1. 安裝Box64與Box86 # 參見Box86＋Box64使用教學\n2. 安裝Wine # 以Raspberry Pi OS Bookworm 64-Bit來說，請不要直接用APT硬裝x86版Wine的deb套件，在此，我們使用Box64開發者推薦的的方式，用符號連接將Wine執行檔硬塞到系統裡面。\nWine目前在16K page會有問題，所以必須在系統啟用4K page echo \u0026#39;# 4k pages kernel=kernel8.img \u0026#39;| sudo tee -a /boot/firmware/config.txt sudo reboot 啟用armhf架構支援 sudo dpkg --add-architecture armhf sudo apt-get update 安裝依賴套件 sudo apt-get install -y libasound2:armhf libc6:armhf libglib2.0-0:armhf libgphoto2-6:armhf libgphoto2-port12:armhf \\ libgstreamer-plugins-base1.0-0:armhf libgstreamer1.0-0:armhf libldap-common:armhf libopenal1:armhf libpcap0.8:armhf \\ libpulse0:armhf libsane1:armhf libudev1:armhf libusb-1.0-0:armhf libvkd3d1:armhf libx11-6:armhf libxext6:armhf \\ libasound2-plugins:armhf ocl-icd-libopencl1:armhf libncurses6:armhf libncurses5:armhf libcap2-bin:armhf libcups2:armhf \\ libdbus-1-3:armhf libfontconfig1:armhf libfreetype6:armhf libglu1-mesa:armhf libglu1:armhf libgnutls30:armhf \\ libgssapi-krb5-2:armhf libkrb5-3:armhf libodbc1:armhf libosmesa6:armhf libsdl2-2.0-0:armhf libv4l-0:armhf \\ libxcomposite1:armhf libxcursor1:armhf libxfixes3:armhf libxi6:armhf libxinerama1:armhf libxrandr2:armhf \\ libxrender1:armhf libxxf86vm1 libc6:armhf libcap2-bin:armhf sudo apt-get install -y libasound2:arm64 libc6:arm64 libglib2.0-0:arm64 libgphoto2-6:arm64 libgphoto2-port12:arm64 \\ libgstreamer-plugins-base1.0-0:arm64 libgstreamer1.0-0:arm64 libldap-common:arm64 libopenal1:arm64 libpcap0.8:arm64 \\ libpulse0:arm64 libsane1:arm64 libudev1:arm64 libunwind8:arm64 libusb-1.0-0:arm64 libvkd3d1:arm64 libx11-6:arm64 libxext6:arm64 \\ ocl-icd-libopencl1:arm64 libasound2-plugins:arm64 libncurses6:arm64 libncurses5:arm64 libcups2:arm64 \\ libdbus-1-3:arm64 libfontconfig1:arm64 libfreetype6:arm64 libglu1-mesa:arm64 libgnutls30:arm64 \\ libgssapi-krb5-2:arm64 libjpeg62-turbo:arm64 libkrb5-3:arm64 libodbc1:arm64 libosmesa6:arm64 libsdl2-2.0-0:arm64 libv4l-0:arm64 \\ libxcomposite1:arm64 libxcursor1:arm64 libxfixes3:arm64 libxi6:arm64 libxinerama1:arm64 libxrandr2:arm64 \\ libxrender1:arm64 libxxf86vm1:arm64 libc6:arm64 libcap2-bin:arm64 # 額外套件 wget -r -l1 -np -nd -A \u0026#34;libfaudio0_*~bpo10+1_i386.deb\u0026#34; http://ftp.us.debian.org/debian/pool/main/f/faudio/ dpkg-deb -xv libfaudio0_*~bpo10+1_i386.deb libfaudio sudo cp -TRv libfaudio/usr/ /usr/ rm libfaudio0_*~bpo10+1_i386.deb rm -rf libfaudio 下載Wine執行檔。由於WineHQ官網僅提供deb套件，故我們使用預先建置的版本。此處使用Kron4ek建置的Wine。Box64尚未支援Wine 8.0以上的Wow64功能，故下載Wine 7.0版本。 cd ~ wget https://github.com/Kron4ek/Wine-Builds/releases/download/7.22/wine-7.22-amd64.tar.xz tar -xvf wine-7.22-amd64.tar.xz mv wine-7.22-amd64 wine rm wine-7.22-amd64.tar.xz 建立符號連結，將/usr/local/bin/wine指向~/wine/bin/wine，下面的以此類推。 sudo ln -s ~/wine/bin/wine /usr/local/bin/wine sudo ln -s ~/wine/bin/wine64 /usr/local/bin/wine64 sudo ln -s ~/wine/bin/wineboot /usr/local/bin/wineboot sudo ln -s ~/wine/bin/winecfg /usr/local/bin/winecfg sudo ln -s ~/wine/bin/wineserver /usr/local/bin/wineserver sudo chmod +x /usr/local/bin/wine /usr/local/bin/wine64 /usr/local/bin/wineboot /usr/local/bin/winecfg /usr/local/bin/wineserver 3. 安裝Winetricks # Winetricks只是指令稿，沒有架構之分，直接安裝：\nsudo apt-get install cabextract cd ~/Downloads \u0026amp;\u0026amp; wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks sudo chmod +x winetricks \u0026amp;\u0026amp; sudo mv winetricks /usr/local/bin/ 4. Wine指令用法 # 相關文章：Wine指令用法\n裝好後就可以用以下組合，啟動Windows exe。啟動前需注意exe是32位元還是64位元。\nbox64 wine64 \u0026lt;Windows exe執行檔\u0026gt; box86 wine \u0026lt;Windows exe執行檔\u0026gt; 注意Box86/Box64的3D繪圖圖形指令尚有部份未實作，Winetricks也不太穩定，建議先從簡單的小遊戲開始測試。 如果要區分32位元與64位元環境，可以用WINEPREFIX隔開不同程式的設定檔目錄\n# 設定檔位於~/.wine64 WINEPREFIX=~/.wine64 box64 wine64 \u0026lt;Windows exe執行檔\u0026gt; # 設定檔位於~/.wine，指定32位元 WINEPREFIX=~/.wine WINEARCH=win32 box86 wine \u0026lt;Windows exe執行檔\u0026gt; 同理，Winetricks執行前，最好也先指定要裝到哪個Wine環境：\nWINEPREFIX=~/.wine64 box64 winetricks 參考資料 # box64/docs/X64WINE.md How to Install Box86, Box64 and Wine on Raspberry Pi OS Bullseye 64-bit - medium ","date":"2024年5月27日","externalUrl":null,"permalink":"/posts/box64-wine/","section":"所有文章","summary":"Wine是讓Linux跑Windows exe程式的轉譯技術。\n儘管Wine有支援ARM架構，Raspberry Pi OS套件庫也有收，然而Windows exe大多是x86架構，所以你不可以安裝ARM架構的Wine去跑x86架構的程式。\n我們得想辦法搞到x86架構的Wine，交給Box64轉譯，進而執行Windows exe。 1. 安裝Box64與Box86 # 參見Box86＋Box64使用教學\n2. 安裝Wine # 以Raspberry Pi OS Bookworm 64-Bit來說，請不要直接用APT硬裝x86版Wine的deb套件，在此，我們使用Box64開發者推薦的的方式，用符號連接將Wine執行檔硬塞到系統裡面。\nWine目前在16K page會有問題，所以必須在系統啟用4K page echo '# 4k pages kernel=kernel8.img '| sudo tee -a /boot/firmware/config.txt sudo reboot 啟用armhf架構支援 sudo dpkg --add-architecture armhf sudo apt-get update 安裝依賴套件 sudo apt-get install -y libasound2:armhf libc6:armhf libglib2.0-0:armhf libgphoto2-6:armhf libgphoto2-port12:armhf \\ libgstreamer-plugins-base1.0-0:armhf libgstreamer1.0-0:armhf libldap-common:armhf libopenal1:armhf libpcap0.8:armhf \\ libpulse0:armhf libsane1:armhf libudev1:armhf libusb-1.0-0:armhf libvkd3d1:armhf libx11-6:armhf libxext6:armhf \\ libasound2-plugins:armhf ocl-icd-libopencl1:armhf libncurses6:armhf libncurses5:armhf libcap2-bin:armhf libcups2:armhf \\ libdbus-1-3:armhf libfontconfig1:armhf libfreetype6:armhf libglu1-mesa:armhf libglu1:armhf libgnutls30:armhf \\ libgssapi-krb5-2:armhf libkrb5-3:armhf libodbc1:armhf libosmesa6:armhf libsdl2-2.0-0:armhf libv4l-0:armhf \\ libxcomposite1:armhf libxcursor1:armhf libxfixes3:armhf libxi6:armhf libxinerama1:armhf libxrandr2:armhf \\ libxrender1:armhf libxxf86vm1 libc6:armhf libcap2-bin:armhf sudo apt-get install -y libasound2:arm64 libc6:arm64 libglib2.0-0:arm64 libgphoto2-6:arm64 libgphoto2-port12:arm64 \\ libgstreamer-plugins-base1.0-0:arm64 libgstreamer1.0-0:arm64 libldap-common:arm64 libopenal1:arm64 libpcap0.8:arm64 \\ libpulse0:arm64 libsane1:arm64 libudev1:arm64 libunwind8:arm64 libusb-1.0-0:arm64 libvkd3d1:arm64 libx11-6:arm64 libxext6:arm64 \\ ocl-icd-libopencl1:arm64 libasound2-plugins:arm64 libncurses6:arm64 libncurses5:arm64 libcups2:arm64 \\ libdbus-1-3:arm64 libfontconfig1:arm64 libfreetype6:arm64 libglu1-mesa:arm64 libgnutls30:arm64 \\ libgssapi-krb5-2:arm64 libjpeg62-turbo:arm64 libkrb5-3:arm64 libodbc1:arm64 libosmesa6:arm64 libsdl2-2.0-0:arm64 libv4l-0:arm64 \\ libxcomposite1:arm64 libxcursor1:arm64 libxfixes3:arm64 libxi6:arm64 libxinerama1:arm64 libxrandr2:arm64 \\ libxrender1:arm64 libxxf86vm1:arm64 libc6:arm64 libcap2-bin:arm64 # 額外套件 wget -r -l1 -np -nd -A \"libfaudio0_*~bpo10+1_i386.deb\" http://ftp.us.debian.org/debian/pool/main/f/faudio/ dpkg-deb -xv libfaudio0_*~bpo10+1_i386.deb libfaudio sudo cp -TRv libfaudio/usr/ /usr/ rm libfaudio0_*~bpo10+1_i386.deb rm -rf libfaudio 下載Wine執行檔。由於WineHQ官網僅提供deb套件，故我們使用預先建置的版本。此處使用Kron4ek建置的Wine。Box64尚未支援Wine 8.0以上的Wow64功能，故下載Wine 7.0版本。 cd ~ wget https://github.com/Kron4ek/Wine-Builds/releases/download/7.22/wine-7.22-amd64.tar.xz tar -xvf wine-7.22-amd64.tar.xz mv wine-7.22-amd64 wine rm wine-7.22-amd64.tar.xz 建立符號連結，將/usr/local/bin/wine指向~/wine/bin/wine，下面的以此類推。 sudo ln -s ~/wine/bin/wine /usr/local/bin/wine sudo ln -s ~/wine/bin/wine64 /usr/local/bin/wine64 sudo ln -s ~/wine/bin/wineboot /usr/local/bin/wineboot sudo ln -s ~/wine/bin/winecfg /usr/local/bin/winecfg sudo ln -s ~/wine/bin/wineserver /usr/local/bin/wineserver sudo chmod +x /usr/local/bin/wine /usr/local/bin/wine64 /usr/local/bin/wineboot /usr/local/bin/winecfg /usr/local/bin/wineserver 3. 安裝Winetricks # Winetricks只是指令稿，沒有架構之分，直接安裝：\n","title":"樹莓派安裝Box64，使用Wine跑Windows exe程式","type":"posts"},{"content":"本文Ivon介紹如何使用Box86/Box64轉譯技術，在ARM架構的Linux電腦跑x86架構的程式。\nBox86/Box64對樹莓派開發板、ARM筆電、Android手機的用戶來說十分有用，可以執行更多程式，而不用受到架構不同的困擾。\n＊本文使用「x86」指稱架構名稱，與位元無關。另外在無特別說明下，「ARM」包含aarch64、arm64。\n1. 為什麼要採用Box86/Box64 # 有時用ARM架構的電腦跑程式，會遇到部分程式只提供x86版本的情形，致使出現exec format error錯誤。\n雖說用qemu-user-static模擬x86架構是個解法，例如有人做給Docker用的qus-docker，然其效率低下。\n此時，可以採用ptitSeb開發的「Box86/Box64」轉譯技術，更高效率地將x86指令轉譯成ARM指令。 該專案難能可貴的地方，在於它是開放原始碼的技術，而非Apple Rosseta2、華為ExaGear那樣的專有軟體。並且Box86沒有限定樹莓派才能用，作者有針對各式各樣的ARM架構裝置最佳化，因此Rockchip、Allwinner、Phytium、Ampere、Qualcomm等廠商推出的裝置也可以裝Box86。\n這個專案分為二個部分：Box86負責轉譯32位元的x86指令集；Box64則是轉譯64位元的x86指令集。\nBox86/Box64在userspace執行，使用\u0026quot;Dynamic recompilation\u0026quot;提升轉譯效率。根據下圖開發者ptitSeb的跑分比較，Box86的效率比QEMU User和FEX-Emu的高很多，甚至可以比肩Apple的Rosetta2。 更棒的是，Box86/Box64還支援轉譯3D繪圖指令，所以它是可以玩遊戲的。目前已經可以在ARM架構的Linux裝置，配合x86版本的Wine，跑一些x86的Windows遊戲。（見文末使用例）\n2. 編譯安裝Box86/Box64 # 官方Github說明有針對各種ARM裝置的編譯指示，此處以Raspberry Pi 5為例，作業系統為Raspberry Pi OS Bookworm 64-bit。\nBox86/Box64專案處在積極開發的階段，如果只要跑64位元的x86程式，編譯Box64就夠了。但是Box64不含任何32位元的轉譯程式，如果要跑32位元的x86程式，您還是得裝Box86。\n2.1. Box64 # 註：不想手動編譯的可以加ryanfortner/box64-debs套件庫，安裝事先編譯好的box64-rpi5arm64套件。\n安裝編譯依賴套件 sudo apt install build-essential mono-runtime git cmake 編譯安裝Box64。針對Raspberry Pi 5，需要啟用-DRPI5ARM64=1選項編譯 cd ~ git clone https://github.com/ptitSeb/box64 cd box64 mkdir build; cd build; cmake .. -DRPI5ARM64=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j4 sudo make install sudo systemctl restart systemd-binfmt cd ~ rm -r ~/box64 Box64應該會自動向系統binfmt註冊，執行以下指令，查看註冊是否成功： ls /etc/binfmt.d 2.2. Box86 # 啟用32位元儲存庫(armhf)支援，安裝編譯依賴套件 sudo dpkg --add-architecture armhf sudo apt update sudo apt install gcc-arm-linux-gnueabihf 編譯安裝Box86。針對64位元的Raspberry Pi 5，需要啟用-DRPI4ARM64=1選項編譯 cd ~ git clone https://github.com/ptitSeb/box86 cd box86 mkdir build; cd build; cmake .. -DRPI4ARM64=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j4 sudo make install sudo systemctl restart systemd-binfmt cd ~ \u0026amp;\u0026amp; rm -r ~/box86 Box86應該會自動向系統binfmt註冊，執行以下指令，查看註冊是否成功： ls /etc/binfmt.d 3. Box86/Box64基礎使用方式 # Box86/Box64的基礎功能就是執行x86程式啦，當然該程式得是Linux原生的執行檔，AppImage或許也可以。\nBox86語法跟Box64很類似，此處以Box64為主，出現64的地方代換成86即可。\n如果要執行x86架構程式：\nbox64 \u0026lt;二進位執行檔路徑\u0026gt; 例如執行Minecraft基岩版伺服器：\nwget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.20.11.01.zip unzip bedrock-server-1.20.11.01.zip box64 LD_LIBRARY_PATH=. ./bedrock_server 不過因為Box64會自動向系統systemd-binfmt註冊的關係，所以大多數時候不需要在前面加上box64指令。系統一旦偵測到該執行檔為x86架構，就會自動交給Box64或Box86轉譯執行。\n如果想執行x86架構的AppImage，需將其解出：\nbox64 \u0026lt;AppImage執行檔路徑\u0026gt; --appimage-extract 4. Box86/Box64重要的環境變數 # Box86/Box64執行會輸出除錯訊息，不想看到的話請使用環境變數export BOX64_NOBANNER=1或export BOX86_NOBANNER=1 使用BOX64_LD_LIBRARY_PATH指定尋找動態連結檔的路徑，預設值為目前目錄下的lib，以及系統的/usr/lib/x86_64-linux-gnu和/lib/x86_64-linux-gnu。\nBOX64_PATH指定要尋找x86執行檔的路徑，預設值為目前目錄下的bin。\n碰到需要以指令稿啟動的程式，可以用Box86作者提供的x86版Bash來啟動，例如：\nwget https://raw.githubusercontent.com/ptitSeb/box86/master/tests/bash chmod +x ./bash box86 ./bash ./start.sh 5. Box86/Box64使用例 # 樹莓派安裝Box64與Wine，執行Windows exe 樹莓派玩Steam遊戲 Android手機Termux+Box86+Wine跑Windows exe，免root 在Linux手機跑Steam Proton＋遊戲 參考資料 # Box86 - Linux Userspace x86 Emulator with a twist, targeted at ARM Linux devices - Github Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices - Github Box86/Box64 vs QEMU vs FEX (vs Rosetta2) - box86.org ","date":"2024年5月27日","externalUrl":null,"permalink":"/posts/box86-box64-usage/","section":"所有文章","summary":"本文Ivon介紹如何使用Box86/Box64轉譯技術，在ARM架構的Linux電腦跑x86架構的程式。\nBox86/Box64對樹莓派開發板、ARM筆電、Android手機的用戶來說十分有用，可以執行更多程式，而不用受到架構不同的困擾。\n＊本文使用「x86」指稱架構名稱，與位元無關。另外在無特別說明下，「ARM」包含aarch64、arm64。\n1. 為什麼要採用Box86/Box64 # 有時用ARM架構的電腦跑程式，會遇到部分程式只提供x86版本的情形，致使出現exec format error錯誤。\n雖說用qemu-user-static模擬x86架構是個解法，例如有人做給Docker用的qus-docker，然其效率低下。\n此時，可以採用ptitSeb開發的「Box86/Box64」轉譯技術，更高效率地將x86指令轉譯成ARM指令。 該專案難能可貴的地方，在於它是開放原始碼的技術，而非Apple Rosseta2、華為ExaGear那樣的專有軟體。並且Box86沒有限定樹莓派才能用，作者有針對各式各樣的ARM架構裝置最佳化，因此Rockchip、Allwinner、Phytium、Ampere、Qualcomm等廠商推出的裝置也可以裝Box86。\n","title":"如何在ARM架構樹莓派跑x86程式：Box86＋Box64使用教學","type":"posts"},{"content":"Running x86_64 Flatpak apps on arm64 platform using qemu-static.\n有些Flatpak軟體打包的時候只有x86_64版本，沒有顧及ARM64 (aarch64) 平台的需求，像是著名的Firefox，還有轉譯Windows exe的Wine。\n這個時候可以利用Flatpak自身的模擬功能來執行，如果你的系統有安裝qemu-user套件，Flatpak就會利用Linux核心的binfmt功能，模擬執行異質架構的程式。這樣就可以在aarch64架構的系統跑x86_64架構的程式，反之亦然。\n1. 安裝qemu-user套件 # 以ARM架構的系統來說，這些套件似乎在Debian與Ubuntu系的系統才有收錄的樣子，Arch Linux ARM沒有這些套件。\n以Raspberry Pi OS Bookworm為例子，安裝以下套件，包含x86與ARM架構的QEMU模擬器。\nsudo apt install qemu-user-static qemu-system-x86 qemu-system-aarch64 確認systemd-binfmt服務狀態\nsudo systemctl enable --now systemd-binfmt sudo systemctl status systemd-binfmt 2. 模擬執行x86_64程式 # 請注意，qemu-user效能比Box64/Box86轉譯差勁許多，不要期望有GPU加速。\n可惜的是，Firefox這類大型程式在qmeu模擬時會有許多依賴的函式庫找不到，所以我使用簡單的KDE時鐘來做示範。\n從套件管理器安裝Flatpak\n因為現在是跑在aarch64架構上，所以要指定下載x86_64版本的程式\nflatpak install --arch=x86_64 org.kde.kclock 執行的時候指定架構，並加上verbose看錯誤訊息 flatpak run --arch=x86_64 org.kde.kclock 稍微等了一陣子才跑出來。 參考資料 # Feature request: add the ability to use box64 instead of qemu for user mode emulation #5736 - Github TIL That Flatpak apps can emulate non-native apps like Apple Rosetta. - r/linux Reddit ","date":"2024年5月24日","externalUrl":null,"permalink":"/posts/flatpak-qemu-emulation/","section":"所有文章","summary":"Running x86_64 Flatpak apps on arm64 platform using qemu-static.\n有些Flatpak軟體打包的時候只有x86_64版本，沒有顧及ARM64 (aarch64) 平台的需求，像是著名的Firefox，還有轉譯Windows exe的Wine。\n這個時候可以利用Flatpak自身的模擬功能來執行，如果你的系統有安裝qemu-user套件，Flatpak就會利用Linux核心的binfmt功能，模擬執行異質架構的程式。這樣就可以在aarch64架構的系統跑x86_64架構的程式，反之亦然。\n1. 安裝qemu-user套件 # 以ARM架構的系統來說，這些套件似乎在Debian與Ubuntu系的系統才有收錄的樣子，Arch Linux ARM沒有這些套件。\n以Raspberry Pi OS Bookworm為例子，安裝以下套件，包含x86與ARM架構的QEMU模擬器。\nsudo apt install qemu-user-static qemu-system-x86 qemu-system-aarch64 確認systemd-binfmt服務狀態\nsudo systemctl enable --now systemd-binfmt sudo systemctl status systemd-binfmt 2. 模擬執行x86_64程式 # 請注意，qemu-user效能比Box64/Box86轉譯差勁許多，不要期望有GPU加速。\n可惜的是，Firefox這類大型程式在qmeu模擬時會有許多依賴的函式庫找不到，所以我使用簡單的KDE時鐘來做示範。\n","title":"Flatpak跨架構，在ARM架構的Linux系統模擬異質架構x86_64程式","type":"posts"},{"content":"Raspberry Pi開發板大部分都是安裝Linux為基底的系統吧？但是其實也可以裝Windows喔！\nIvon以前試過SD 845手機跑Windows 11（參見小米Poco F1裝Windows），但是擴充性太差，所以來看看樹莓派能不能應付Windows。\n今天Ivon要在這塊小小Raspberry Pi開發板安裝Windows 11 ARM ～ 能夠打造真正的Windows口袋電腦嗎！？這或許可以作為一個廉價的Windows on ARM裝置！ 什麼？Raspberry Pi沒有到達Windows 11官方要求？照樣裝給你看！\n這篇文章Ivon將使用WOR Project的技術來安裝Windows 11系統，後面測試系統效能如何，並跑跑看Office和Steam遊戲。\n1. Raspberry Pi 5硬體驅動支援狀況 # Raspberry Pi不是Microsoft官方支援的裝置，所有的相關程式都是WOR Project社群維護的。他們有維護給Raspberry Pi 3、Raspberry Pi 4、RK3588開發板使用的UEFI韌體。\n根據Github資料，Raspberry Pi 5目前驅動支援度很差，只是勉強能開機的程度，缺乏許多Windows硬體驅動，沒有乙太網路、HDMI音效、GPIO支援，更別說外接模組了。\n2. 準備項目 # Raspberry Pi 5 8GB，外接鍵盤、滑鼠、螢幕。必須加風扇，Windows很吃效能。\n再準備一台Windows電腦或Linux電腦用於刷寫系統。\n安裝Windows系統需要至少64GB的儲存裝置，建議準備HDD或SSD，搭配USB外接碟，不要用SD卡裝系統。\n因為Raspberry Pi 5是較新的裝置，撰文時點WOR Project尚未正式支援，需要兩個儲存媒介才可以啟動。最終我的搭配是一張32GB SD卡，加上一個USB 3.0外接碟。SD卡用來安裝開機引導用的RPI5-UEFI，USB外接碟用於安裝Windows系統。\n3. 刷寫Windows 11系統 # 分割硬碟的工具只支援Windows，Linux用戶得手動打指令。\n使用UUP Dump網站，下載Windows 11 ARM64的ISO，選取穩定版。目前是23H2。\n將USB外接碟插到電腦\n下載安裝器Windows on Raspberry Imager，解壓縮，執行WoR.exe 選取要安裝的磁碟，型號選取Raspberry Pi 2/3（經實測選Raspberry Pi 4會導致ACPI BIOS Error） 選取Windows的ISO 同意安裝 4. 安裝RPI5-UEFI # 將SD卡插到電腦\n開啟檔案總管，點選格式化成為FAT32格式\n從Github下載RPI5-UEFI的檔案，解壓縮並將檔案放到SD卡 5. 開機安裝Windows # 將SD卡和USB外接碟都插上Raspberry Pi 5\n開機的時候要等韌體載入完成，看硬碟速度而定。 第一次開機大概會載入個十分鐘，等待一會兒就可以設定Windows了。\n如果沒網路，在設定畫面按SHIFT＋F10叫出命令提示字元，輸入指令OOBE\\BYPASSNRO，重開機，繞過強制連網的要求。\n6. 修正Windows系統問題 # Rapsberry Pi 5的乙太網路孔沒有驅動，得用USB網卡，但是市面上那些免驅動的Windows網卡不見得適用於ARM版的Windows呀！所以只好用手機USB分享網路了，這個是一定支援的。\n關於音效問題，安裝Scream建立假音訊裝置，之後再用SoundWire，以Wifi輸出音效到其他裝置。\n使用Microsoft Activation Scripts啟用Windows授權。\n系統版本問題，我明明ISO是下載23H2但裝完卻是22H2版本，要升級到23H2得在跑完Windows Update後，手動抓KB5031455的更新檔來裝。\n承上，我的Windows 系統可能有問題，裡面居然沒有內建Microsoft Store？如果有缺程式，使用Get-AppxPackage指令安裝。或者改裝Windows Preview的系統。\n安裝軟體盡量使用原生ARM64版本。如果安裝的是x86架構則Windows會用轉譯模式執行，效能較差。\n7. 效能測試 # 安裝Windows Update更新之後，關機，冷啟動。從開機到進入桌面大概3分鐘，還能接受吧。\n沒有驅動，不論何時風扇都在狂轉。\n想當然爾Windows十分吃資源，滑鼠右鍵點一下也能卡。\n因為GPU沒有運作，只能測試純CPU速度。Raspberry Pi 5搭載的是ARM架構的Broadcom BCM2712處理器，Geekbench 6 (ARM64版) 跑出來的分數跟在Raspberry Pi OS上跑差不多。如果硬要跟x86架構的CPU比較，那這個分數大約是Intel Pentium G4560的等級。 Office 365執行起來沒問題，看來文書處理是夠的。 BCM2712很有料，純CPU模式下Chrome瀏覽器播放1080p影片還行，但上4K影片就直接CPU 100%了。 不幸的是Raspberry Pi 5沒有Windows的GPU驅動，Steam遊戲需要OpenGL的就開不起來了，失敗，這點還不如Linux用Box86＋Wine執行Steam的效果～ 以上問題，加上Windows 11 ARM系統本身問題有點多，目前是只能上上網的程度。\n如果想要把Raspberry Pi 5當小電腦，順順的用，那還是裝Linux比較好。\n參考資料 # worproject/rpi5-uefi Windows on R: Home How to install Windows 11 on your Raspberry Pi - XDA Developers ","date":"2024年5月22日","externalUrl":null,"permalink":"/posts/install-windows-11-arm-on-raspberry-pi-5/","section":"所有文章","summary":"Raspberry Pi開發板大部分都是安裝Linux為基底的系統吧？但是其實也可以裝Windows喔！\nIvon以前試過SD 845手機跑Windows 11（參見小米Poco F1裝Windows），但是擴充性太差，所以來看看樹莓派能不能應付Windows。\n今天Ivon要在這塊小小Raspberry Pi開發板安裝Windows 11 ARM ～ 能夠打造真正的Windows口袋電腦嗎！？這或許可以作為一個廉價的Windows on ARM裝置！ 什麼？Raspberry Pi沒有到達Windows 11官方要求？照樣裝給你看！\n這篇文章Ivon將使用WOR Project的技術來安裝Windows 11系統，後面測試系統效能如何，並跑跑看Office和Steam遊戲。\n1. Raspberry Pi 5硬體驅動支援狀況 # Raspberry Pi不是Microsoft官方支援的裝置，所有的相關程式都是WOR Project社群維護的。他們有維護給Raspberry Pi 3、Raspberry Pi 4、RK3588開發板使用的UEFI韌體。\n根據Github資料，Raspberry Pi 5目前驅動支援度很差，只是勉強能開機的程度，缺乏許多Windows硬體驅動，沒有乙太網路、HDMI音效、GPIO支援，更別說外接模組了。\n","title":"樹莓派5如何安裝Windows 11 ARM系統 ＆ 效能測試","type":"posts"},{"content":" 圖多注意。僅表現個人性癖好，可能無法符合所有人需求。\n本列表列出在沒有獵豔（尋找新番來看）的時候，常常開來用的幾部裏番（H動漫），因為有打到點，基本上可以秒射。 篇幅有限，為了寫這篇，我忍痛刪除許多小眾性癖、劇情向、純愛系、只有畫風好、特殊時期才會用的裏番，專注於列出10部主觀感官上最刺激的裏番。\n為防止畫風過於古老的問題，我挑選的皆為近10年來發售的裏番。\n一個裏番系列會有很多集。我盡量在每章標題標出我覺得實用的幾個標籤，並搭配圖片解說哪些畫面最好用。請點選按鈕展開看詳細內容。\n越前面的開起來用的次數我都記不清了，越後面是越不常用的。\n1. Tiny Evil # 根據同名漫畫改編的裏番動畫，共有4集，讓幻想人偶當作你的女朋友，送上貼心的口交、騎乘位服務。 查看詳情\n2. Euphoria # 共有6集，內容十分重口味，包含電擊、上吊、砍頭、淹死、人體蜈蚣，但也有純愛場面。動畫劇情很跳，沒玩過遊戲原作的可能會看不懂在演什麼，不過嘛畫面好用就好。 查看詳情\n3. 黒獣 # 2012年發表的《黑獸》系列前四集是公認的優秀裏番，有蘿莉、公眾強暴、異種姦、NTR的多樣情節。\n這系列製作精良，難分軒輊。 查看詳情\n4. 戀糸記念日 # 這系列有二部，二部都很甜。中間的金髮妹就當作贈品，看點主要是巨乳母女。 查看詳情\n5. 小女ラムネ # 本作共4集，十分深入地刻劃蘿莉控喜愛的細節，還有蘿莉百合野戰互舔，看了不要真的模仿犯罪喔。 查看詳情\n6. そらのいろ、みずのいろ # 曬痕、巨乳、雙飛，畫面和劇情品質在現在看來仍然很不錯。\n查看詳情\n7. OVA ツンプリ # 由巨乳女僕與可愛公主服務的第一人稱饗宴。\n查看詳情\n8. 都市伝説シリーズ # 講述男主跟不同都市傳說的美少女愛愛的故事，看上去不恐怖，但是都有詭異的成份。\n第二集製作十分精良，值得一看。 查看詳情\n9. ピンク漆黒のシャガ # 本作有當代裏番動畫少見的戰鬥場面和深度劇情刻劃，看點是巨乳蛇女豊姫出場的前二集。\n查看詳情\n10. ランス01 光をもとめて # 《蘭斯》系列動畫有4集+1集短篇，雖然動畫不是很流暢，但是男主又帥又渣就夠了，劇情很爆笑。 查看詳情\n","date":"2024年5月21日","externalUrl":null,"permalink":"/posts/my-top-10-h-anime/","section":"Nsfws","summary":" 圖多注意。僅表現個人性癖好，可能無法符合所有人需求。\n本列表列出在沒有獵豔（尋找新番來看）的時候，常常開來用的幾部裏番（H動漫），因為有打到點，基本上可以秒射。 篇幅有限，為了寫這篇，我忍痛刪除許多小眾性癖、劇情向、純愛系、只有畫風好、特殊時期才會用的裏番，專注於列出10部主觀感官上最刺激的裏番。\n為防止畫風過於古老的問題，我挑選的皆為近10年來發售的裏番。\n一個裏番系列會有很多集。我盡量在每章標題標出我覺得實用的幾個標籤，並搭配圖片解說哪些畫面最好用。請點選按鈕展開看詳細內容。\n越前面的開起來用的次數我都記不清了，越後面是越不常用的。\n1. Tiny Evil # 根據同名漫畫改編的裏番動畫，共有4集，讓幻想人偶當作你的女朋友，送上貼心的口交、騎乘位服務。 ","title":"個人推薦10部實用的裏番，好用的巨乳與蘿莉（附圖）","type":"nsfw"},{"content":"","date":"2024年5月21日","externalUrl":null,"permalink":"/tags/pinkpineapple/","section":"標籤","summary":"","title":"Pinkpineapple","type":"tags"},{"content":" 《蘭斯》系列動畫有4集+1集短篇，雖然動畫不是很流暢，但是男主又帥又渣就夠了，劇情很爆笑。其中最爽的是第4集。\nランス01 光をもとめて THE ANIMATION 第4話「そして、王道へ…」 # 年份：2016 監督：キャラクターデザイン 動畫製作：セブン (Animation StudiO Seven) 標籤：巨乳，騎乘位，口交，第一人稱，搞笑 蘭斯動畫的最後一集，就是懲罰公主。\n宛若JoJo的手勢 先從公主身邊的人下手，給我自己騎上來！ 反向第一人稱視角真低爽 斷然拒絕公主的招安提議，吃我屌啦 一陣狂插猛送 之後，公主居然反而愛上蘭斯了！ ","date":"2024年5月21日","externalUrl":null,"permalink":"/posts/rance-01-hikari-o-motomete-hanime-review/","section":"Nsfws","summary":" 《蘭斯》系列動畫有4集+1集短篇，雖然動畫不是很流暢，但是男主又帥又渣就夠了，劇情很爆笑。其中最爽的是第4集。\nランス01 光をもとめて THE ANIMATION 第4話「そして、王道へ…」 # 年份：2016 監督：キャラクターデザイン 動畫製作：セブン (Animation StudiO Seven) 標籤：巨乳，騎乘位，口交，第一人稱，搞笑 蘭斯動畫的最後一集，就是懲罰公主。\n宛若JoJo的手勢 先從公主身邊的人下手，給我自己騎上來！ 反向第一人稱視角真低爽 斷然拒絕公主的招安提議，吃我屌啦 一陣狂插猛送 之後，公主居然反而愛上蘭斯了！ ","title":"搞笑裏番推薦：ランス01 光をもとめて","type":"nsfw"},{"content":" 《ピンク漆黒のシャガ》為西川貴史擔任監督的原創裏番動畫，有當代裏番動畫少見的戰鬥場面，以及深度角色刻劃。\n看到這位監督的名字就知道品質保證了，作畫和分鏡都在水準之上，還有好聽的ED。劇情伏筆看起來可以都能做一季表番動畫了！但聽說經費提前燒完了所以本作只出了3集＋1集總集篇。\n主要色氣看點為巨乳蛇女「白拍子姉妹」出場的前二集，我對其他異種姦的畫面倒是不怎麼有興趣。\nP.S. 我之所以會認識這部動畫，都要感謝PTT八卦板鄉民一篇文章指路。標題好像是什麼「城裡女人要給我們幹？」的文章，現在找不到了。\n漆黒のシャガ THE ANIMATION 第一話「女郎蜘蛛」 # 年份：2017 監督：西川貴史 動畫製作：PinkPineapple 標籤：異種姦，巨乳，群交，獵奇 吃人蜘蛛妖怪的故事。看到這集上半身巨乳、下半身蜘蛛腹部的女人你還幹得下去就真的蠻厲害的，嗯，還是關注白拍子姉妹就好。 這一集白拍子姊妹「豊姬」和「依姬」專門跑去誘惑平清盛。\n平清盛這位大叔很勇喔，可以瘋狂幹女人都不會累。 酒池肉林的開始。\n被奶子壓著雙臉，感覺好恐怖喔。 雙飛當然是免不了的。 進入瘋狂混戰～！ 這集主角完全沒有幹到人，倒是白拍子姉妹負責carry全場，讓大叔得以展現他英勇的幹女人技巧，讓人想到強壯的種付叔叔。 可惜在妖怪面前，再強力的男人還是被幹掉了，幻術真好用。\n漆黒のシャガ THE ANIMATION 第二話『件（くだん）』」 # 年份：2018 監督：西川貴史 動畫製作：PinkPineapple 標籤：異種姦，巨乳，後入，開大車，群交，斷頭，火車便當 這集的主角應該是牛頭妹，不過片段卻意外的短，所以到底誰是主角啊。 依姬為了打聽牛若丸下落，便邀請村民來幹她？\n嘛，誰看到這個能不受誘惑。 找一個瘦弱的小伙子上場 沒想到卻意外有料 超讚的後入第一人稱視角 這到底什麼嘲諷表情 後面換成其他村民來幹\u0026hellip;這個一推一拉的畫面是在盪鞦韆嗎www 事實上，由於幻術的緣故，村民都變空幹王XD 最後忍不住邀請村民真的來幹。 還是得一開始的小伙子來插！沒手沒腳照樣能幹。 可惜不識相顏射，小伙子下場就是To be continued了。 ","date":"2024年5月21日","externalUrl":null,"permalink":"/posts/shikkoku-no-shaga-hanime-review/","section":"Nsfws","summary":" 《ピンク漆黒のシャガ》為西川貴史擔任監督的原創裏番動畫，有當代裏番動畫少見的戰鬥場面，以及深度角色刻劃。\n看到這位監督的名字就知道品質保證了，作畫和分鏡都在水準之上，還有好聽的ED。劇情伏筆看起來可以都能做一季表番動畫了！但聽說經費提前燒完了所以本作只出了3集＋1集總集篇。\n主要色氣看點為巨乳蛇女「白拍子姉妹」出場的前二集，我對其他異種姦的畫面倒是不怎麼有興趣。\nP.S. 我之所以會認識這部動畫，都要感謝PTT八卦板鄉民一篇文章指路。標題好像是什麼「城裡女人要給我們幹？」的文章，現在找不到了。\n漆黒のシャガ THE ANIMATION 第一話「女郎蜘蛛」 # 年份：2017 監督：西川貴史 動畫製作：PinkPineapple 標籤：異種姦，巨乳，群交，獵奇 吃人蜘蛛妖怪的故事。看到這集上半身巨乳、下半身蜘蛛腹部的女人你還幹得下去就真的蠻厲害的，嗯，還是關注白拍子姉妹就好。 ","title":"製作精美的巨乳裏番推薦：ピンク漆黒のシャガ","type":"nsfw"},{"content":"","date":"2024年5月21日","externalUrl":null,"permalink":"/tags/magin-label/","section":"標籤","summary":"","title":"Magin Label","type":"tags"},{"content":" 《Euphoria》系列根據CLOCKUP公司的同名遊戲改編，共有6集，內容十分重口味。動畫劇情很跳，沒玩過遊戲原作的可能會看不懂在演什麼，但是畫面好用就好。\n其中我比較喜歡的是白夜凛音出場的二集，有純愛的後入性交場面，還有非常暴力的騎乘位。可以視心情挑適當的畫面來用。\nEuphoria ～白夜凛音 輪廻転生編～ # 年份：2014 監督：彩野国男 動畫製作：魔人 標籤：純愛，巨乳，騎乘位，後入，斷面圖，拳交，窒息，BDSM 前面是有拳交子宮的重口味部分，破處像是被針捅一樣噴血，通常我會跳過。\n不過看女主的小穴被撐開，被拳交到高潮，男主再用手射精到穴裡面的一幕，也蠻爽的 跳到後面純愛的性交，真正字面意義上的燈光好，氣氛佳。\n拉開胸罩這幕就像情侶一樣（奇怪剛不是才虐待過） 還有這個超讚的拉絲 撐開白夜雙腿，想用肉棒征服對方的畫面，一副妳就是我的女人的感覺 撞擊著大屁股的後背位 看白夜的奶子一直晃。騎乘位，揉胸射精 到這邊還很純愛，後面還有更猛的。\n後面，二個人進入野獸型交配過程\n後入的這幕超好用 抱著插 後入壓制用力插 再轉為正攻，雙腳抱緊 加上這幕被夾緊，更用力抽插的場景，（如果有的話）打手槍手速也跟著節奏緊握、增快吧 最後噴射在子宮裡面。男主每次射精的表情都好像在射血一樣，從此也可以感覺到裏番主角每次射精量那麼多，這是多麼神聖危險的任務啊。（這就是動漫邏輯） 事後，劇情又一瞬間鬼轉\u0026hellip;\u0026hellip; Euphoria ～目指す楽園は神聖なる儀式の先に。救世主の母は……白夜凛音!編～ # 年份：2016 監督：彩野国男 動畫製作：魔人 標籤：巨乳，騎乘位，後入，孕婦，藥物，輪姦，純愛，砍頭 一開始就幹妳娘！ 來個不錯的後入，想起不好的回憶幹的更用力。 接著是幾幕輪流強暴的畫面，野姦。 難得有動畫會畫男人打女人巴掌的XD 被迫當眾做愛，男主當下軟趴趴的，在賣力的吹幾下之後才挺起來，這裡有一段很純愛的口交秀能欣賞，用各種角度不斷的又舔又吸的，加上那個噗滋噗滋的音效，算是不錯的開胃菜。 。這當下，其實這個姿勢還挺純愛的不是嗎。 這集有些部份很重口，例如真中合歡被烙鐵燙身體之後再慘遭輪暴，這段不好用，跳過。小心後面還有砍頭的畫面！ 後面女主覺醒成為邪教教主，精神污染，男主被迫當種馬，氣氛很詭異。\n不過還是有好用的有地方，包括白夜胸罩拉開， 還有招牌拉絲 接著緩慢騎上去的一幕 在後面就是各種騎乘了，邪教精神污染，藥物濫用 屁股畫得不錯 下一幕輪流換多位女性輪流騎上來，我覺得還不賴。 雖然有兼用卡的嫌疑就是，連續30秒都是同一個姿勢騎上來，只是換膚色和聲音而已。至少製作組不馬虎，所有人的女體都認真畫。 接著，喪心病狂的女主繼續騎男主，看看這個變成吸盤的小穴 加上女主這個瘋狂的眼神\u0026hellip; 最後像噴泉一樣被迫射精\u0026hellip;.嗯，真是精彩。到底為何這集女主的小穴會變成吸盤的形狀了\u0026hellip; 繼續狂歡的盛宴，兩女舔完雞雞再讓第三個騎乘上來 後面有母乳乳交和孕婦背後位，這個不錯 後面生產的畫面沒畫出了很可惜，我只能看孕肚上的妊娠紋，還有聽女人生產的痛苦叫喊過過癮！ 生產完，劇情又突然變成純愛，以恩愛的體位收尾。 ","date":"2024年5月21日","externalUrl":null,"permalink":"/posts/euphoria-hanime-review/","section":"Nsfws","summary":" 《Euphoria》系列根據CLOCKUP公司的同名遊戲改編，共有6集，內容十分重口味。動畫劇情很跳，沒玩過遊戲原作的可能會看不懂在演什麼，但是畫面好用就好。\n其中我比較喜歡的是白夜凛音出場的二集，有純愛的後入性交場面，還有非常暴力的騎乘位。可以視心情挑適當的畫面來用。\nEuphoria ～白夜凛音 輪廻転生編～ # 年份：2014 監督：彩野国男 動畫製作：魔人 標籤：純愛，巨乳，騎乘位，後入，斷面圖，拳交，窒息，BDSM 前面是有拳交子宮的重口味部分，破處像是被針捅一樣噴血，通常我會跳過。\n不過看女主的小穴被撐開，被拳交到高潮，男主再用手射精到穴裡面的一幕，也蠻爽的 跳到後面純愛的性交，真正字面意義上的燈光好，氣氛佳。\n","title":"實用巨乳裏番推薦：Euphoria系列","type":"nsfw"},{"content":" 《Tiny Evil》系列為根據同名漫畫改編的裏番動畫，共有4集。\n我比較喜歡的是蘿莉型人偶，妮娜出場的二集。\nTiny Evil 第三話 人形・ニナ～無邪気な戯（いんぎ） # 年份：2019 監督：HB 動畫製作：魔人 標籤：蘿莉，騎乘位，保險套，口交，打手槍 這個系列有4部，後二部是金髮妮娜當主角的，比較實用。\n第三部的特色是金髮蘿莉不間斷的騎乘位，把男主榨個半死。\n因為是暗室，第三話妮娜皮膚的顏色上的有點慘白，但不影響妮娜的實用性。\n一開始妮娜試探性的要男主把雞雞插入，喔喔那個接觸的瞬間 接著男主處男之力發作，堅持要戴套。所以就套上了（這集套套畫的很隨便，下集有改善）除開套套畫得很隨便之外，這個視角真的是非常的讚！！！一副小屁股要狠狠吃掉大肉棒的刺激感。 接著妮娜直接騎上去 \u0026mdash;\u0026mdash; 嗚喔喔，我跟男主一樣的感受，差點就射了 後面10分鐘就是一直騎乘位，無限套套之力！ 美中不足的就是把妮娜畫出小胸部，使她看起來變老了，原作漫畫可不是這樣呢。 還有把她當屁股畫的很肥厚\u0026hellip;雖說可以增加畫面的性感度啦，但是感覺不太行，不是小孩該有的樣子。 Tiny Evil 第四話 少女人形・ニナ～無垢な想いの束縛～ # 年份：2019 監督：HB 動畫製作：魔人 標籤：蘿莉，騎乘位，保險套，口交 相較於上一集由蘿莉主動，這一集的體位變化多了一些。\n這集上色有模仿漫畫原作。 第四話我覺得最棒，裡面有妮娜幫忙戴套的一幕 接著全劇最高潮！特寫陰唇壓緊保險套雞雞的一幕！超越原作漫畫的視角！我覺得要真是被這樣一夾就秒射了吧。 套套作畫大進步 騎乘位，用內褲蒙著眼睛射精，完全變成性慾野獸。 後面這幕蒙眼要男主挑小穴來插的部分也很棒 肉棒只認妮娜的小穴，女朋友的巨乳完全被無視，男主刻不容緩的直接選無套爆插妮娜。 終於無套主動了！蘿莉的小穴還是比巨乳女友的要好，狂插\n後面有淡淡地哀傷就不劇透了。\n這一幕抱著插的場景也不錯，可是就如前面提到的問題一樣，動畫版把妮娜身材畫的太妖豔，顯得不像小孩子，作為漫改有點失敗。 ","date":"2024年5月21日","externalUrl":null,"permalink":"/posts/tiny-evil-hanime-review/","section":"Nsfws","summary":" 《Tiny Evil》系列為根據同名漫畫改編的裏番動畫，共有4集。\n我比較喜歡的是蘿莉型人偶，妮娜出場的二集。\nTiny Evil 第三話 人形・ニナ～無邪気な戯（いんぎ） # 年份：2019 監督：HB 動畫製作：魔人 標籤：蘿莉，騎乘位，保險套，口交，打手槍 這個系列有4部，後二部是金髮妮娜當主角的，比較實用。\n第三部的特色是金髮蘿莉不間斷的騎乘位，把男主榨個半死。\n因為是暗室，第三話妮娜皮膚的顏色上的有點慘白，但不影響妮娜的實用性。\n一開始妮娜試探性的要男主把雞雞插入，喔喔那個接觸的瞬間 接著男主處男之力發作，堅持要戴套。所以就套上了（這集套套畫的很隨便，下集有改善）除開套套畫得很隨便之外，這個視角真的是非常的讚！！！一副小屁股要狠狠吃掉大肉棒的刺激感。 ","title":"實用蘿莉裏番推薦：Tiny Evil","type":"nsfw"},{"content":"我想要一款即時翻譯電腦螢幕文字的軟體，最好不用駭入遊戲程式就能翻譯，這樣的話可以讓我玩Galgame遊戲的時候方便一些。\n在瀏覽巴哈文章的時候找到了「LunaTranslator」，這是一款開源免費的螢幕翻譯軟體，支援多種線上商業翻譯服務也可以連接到大型語言模型跑AI翻譯。\nLunaTranslator有靈活的翻譯模式，分為HOOK與OCR模式。\nHOOK是嘗試附加到遊戲行程來抽取文字，連遊戲選單的文字都能夠翻譯出來。 OCR則是直接光學辨識螢幕上的內容，雖然有準確度問題，但泛用性較強。這代表它不只可以翻譯遊戲文字，而是任一螢幕上的圖片、PDF都可以翻譯。 其他特色功能：剪貼簿翻譯、匯入VNR翻譯器字典、顯示日語假名、TTS語音合成等等。\n1. 安裝LunaTranslator # Windows # 從Github下載Windows 10版本的LunaTranslator，解壓縮放到C:\\Program Files，點選LunaTranslator_admin.exe啟動。\n使用上有問題請到Github向開發者報告。\nLinux # LunaTranslator原生不支援Linux，但是可以用Wine跑。不保證功能全正常。\n註：如果只是想要OCR翻譯功能，可以改用跨平台的Pot Desktop\n安裝Bottles for Linux，新增Gaming Profile 安裝套件cjkfonts 從Github下載LunaTranslator.exe，將其放到Bottles的假C槽，執行LunaTranslator.exe，解壓縮到C:\\Program Files，點選LunaTranslator_admin.exe啟動。 其他的exe程式請安裝到同一個Bottles的容器內部，這樣才能使用HOOK模式。 2. 安裝Tesrrect OCR服務 # LunaTranslator支援多種OCR引擎，其中Tesseract算是最好的離線模型了。\n新版LunaTranslator應該不用手動下載模型，程式已經內建。\nWindows版的Tesrrect請使用UB-Mannheim製作的安裝器：https://github.com/UB-Mannheim/tesseract/wiki，下載tesseract-ocr-w64-setup-5.3.4.20240503.exe後點選安裝。\n在安裝的時候記得選取要使用的語言。全選Additional language data或者只下載特定語言。 點選LunaTranslator設定 → OCR → Tesrrect5，點選齒輪 設定Tesrrect路徑為C:\\Program Files\\Tesseract-OCR\\tesseract.exe，語言選取jpn代表辨識日文。 3. 設定要使用的翻譯服務 # 點選LunaTranslator設定 → 語言，設定來源語言為日文，輸出語言為繁體中文。 接著點選LunaTranslator設定 → 翻譯服務，打勾要使用的翻譯服務。如果勾選多個，則翻譯文本會多行並排顯示，方便你對比各家翻譯的品質。 如果你是免費仔，不要用Google翻譯和Bing翻譯，上下文完全對不起來。「DeepL」和「有道翻譯」算是比較好的服務。\n如果有購買OpenAI的APIKey的話，就用最強的ChatGPT來翻譯吧！ 你也可以安裝離線大型語言模型軟體，再透過「自訂翻譯服務」的方式送prompt過去。\n4. LunaTranslator使用方式 # 請先設定好翻譯服務。\nOCR模式 # 啟動LunaTranslator，開啟設定 → 勾選OCR 使用視窗模式啟動要玩的遊戲\n點選LunaTranslator選單的繪製選取區域 LunaTranslator應該就會開始辨識選取區域內的文字了。點選左下角的粉色箭頭開關自動翻譯。 HOOK模式 # 使用HOOK模式的時候會進行DLL注入程序，可能會被誤判為病毒，請暫時關閉防毒軟體。\n啟動LunaTranslator，開啟設定 → 勾選HOOK 使用視窗模式啟動要玩的遊戲\n點選LunaTranslator選單的「綁定視窗功能」 點一下遊戲視窗，LunaTranslator應該就會開始偵測遊戲文字了。點選左下角的粉色箭頭開關自動翻譯。 你也可以按綁定視窗旁邊的按鈕，手動選取要附加的行程。 如果要更具體控制翻譯的元素，點選LunaTranslator的「管理遊戲」 新增遊戲exe路徑到這個視窗 再從這裡開啟遊戲，就會跳出一個視窗。視窗內會列出所有偵測到的元素，包括UI和遊戲內的文字，在這裡就可以選取你要翻譯的部份。 延伸閱讀：類似的翻譯軟體 # 【密技】突破語言的障礙，遊戲翻譯軟體大全\n","date":"2024年5月21日","externalUrl":null,"permalink":"/posts/lunatranslator-galgame-translator/","section":"所有文章","summary":"我想要一款即時翻譯電腦螢幕文字的軟體，最好不用駭入遊戲程式就能翻譯，這樣的話可以讓我玩Galgame遊戲的時候方便一些。\n在瀏覽巴哈文章的時候找到了「LunaTranslator」，這是一款開源免費的螢幕翻譯軟體，支援多種線上商業翻譯服務也可以連接到大型語言模型跑AI翻譯。\nLunaTranslator有靈活的翻譯模式，分為HOOK與OCR模式。\nHOOK是嘗試附加到遊戲行程來抽取文字，連遊戲選單的文字都能夠翻譯出來。 OCR則是直接光學辨識螢幕上的內容，雖然有準確度問題，但泛用性較強。這代表它不只可以翻譯遊戲文字，而是任一螢幕上的圖片、PDF都可以翻譯。 其他特色功能：剪貼簿翻譯、匯入VNR翻譯器字典、顯示日語假名、TTS語音合成等等。\n1. 安裝LunaTranslator # Windows # 從Github下載Windows 10版本的LunaTranslator，解壓縮放到C:\\Program Files，點選LunaTranslator_admin.exe啟動。\n使用上有問題請到Github向開發者報告。\nLinux # LunaTranslator原生不支援Linux，但是可以用Wine跑。不保證功能全正常。\n","title":"電腦Galgame即時翻譯軟體「LunaTranslator」使用方式，支援Windows與Linux","type":"posts"},{"content":" 2012年發表的《黑獸》系列前四集是公認的優秀裏番，有蘿莉、公眾強暴、異種姦、NTR的多樣情節。\n這系列製作精良，難分軒輊，我覺得第一集劇情最實用，做到完全的男性主義，暴力美學。\n黒獣 ～気高き聖女は白濁に染まる～ ～オリガ×クロエ 黒の城、崩落編～ # 年份：2012 監督：彩野国男 動畫製作：魔人 標籤：輪姦，斷面圖，異種姦，巨乳，口交 一開始的暗精靈對上食屍鬼就體現出了體型差距，唯一大的是奶子，只能臣服在巨棒之下搖晃 被大尺寸的雞雞輪暴，前後噴出，這段我覺得還好，只能當開胃菜。 臣服的表情 重頭戲是後面的暗精靈女王，這個才是主菜。\n女王的奶子確實很可口 女王把想強暴的食屍鬼群體電死了。啊幹嘞妳都電死他們了為什麼不把旁邊人類一起電死\u0026hellip;（動漫邏輯）還把剩下的力氣給自己施加禁止內射的咒語（動漫邏輯） 就算不能內射，也要幹死女王 第一個高潮來了，實用的點在於，男主調戲完之後，露出大雞雞要強暴的畫面，盡顯男性風範！ 最後突破結界插入，開始強姦女人，這個屁股真是太猛了。女王的配音也很細膩，有表現出被初次插入的感覺。 不過這裡封印沒解除，只好體外射精，變成肉便器。 第二個高潮，破除了子宮的封印，就可以內射了！哈哈哈！ 這一幕被前後灌入精子的畫面實在有夠讚，大雞雞與子宮親吻的同時不斷的授精。 我覺得蠻搞笑的一點：把女王被輪姦的連續鏡頭拼起來，會得到這張圖片。原來兩個男人身高差那麼多，什麼倒立玩法。不能跟動漫講邏輯！ 還有拔出來後，其他人輪流插入繼續內射的畫面（什麼穴兄弟） 在不斷的內射之後，丟到地上還不斷反射性顫抖的樣子，看來是爽翻了 跟暗精靈一樣，露出敗北的笑容 最後收尾，兩人舔著散發雄性、勝者氣息的雞雞結束。 ","date":"2024年5月20日","externalUrl":null,"permalink":"/posts/kuroinu-hanime-review/","section":"Nsfws","summary":" 2012年發表的《黑獸》系列前四集是公認的優秀裏番，有蘿莉、公眾強暴、異種姦、NTR的多樣情節。\n這系列製作精良，難分軒輊，我覺得第一集劇情最實用，做到完全的男性主義，暴力美學。\n黒獣 ～気高き聖女は白濁に染まる～ ～オリガ×クロエ 黒の城、崩落編～ # 年份：2012 監督：彩野国男 動畫製作：魔人 標籤：輪姦，斷面圖，異種姦，巨乳，口交 一開始的暗精靈對上食屍鬼就體現出了體型差距，唯一大的是奶子，只能臣服在巨棒之下搖晃 被大尺寸的雞雞輪暴，前後噴出，這段我覺得還好，只能當開胃菜。 臣服的表情 重頭戲是後面的暗精靈女王，這個才是主菜。\n女王的奶子確實很可口 ","title":"實用裏番推薦：黒獣系列（2012年）","type":"nsfw"},{"content":"我聽說用過小圈圈神器Plurk的人喜歡把社群媒體的動態牆(動態消息，feed) 叫做河道，那麼Facebook的河道現在可以說是充滿垃圾的下水道了。 1. Facebook演算法的問題 # Facebook不定時會修改演算法，本文討論的是2024年5月前後所觀察到的現象。\nFacebook最近一年來的爭議，就是新型動態牆機制。\n總是推播沒有追蹤人士的貼文，引起好奇，或者，引起人的憤怒。\n因為擔心上癮和隱私因素，我沒有在用APP版本的Facebook，在電腦和手機看的都是網頁版。\n我追蹤的粉絲專頁與個人用戶大概有50個以上，大致上是政治、文化、自然、科技、歷史的議題，有刻意刪減，不會為讚而讚。但是，現在動態牆會在最上面顯示5篇真的是我追蹤的人士的貼文，然後往下滑就開始暴走，內容可能是：\n異溫層政治立場的貼文，例如民進黨的認知作戰和中央圖房大隊，引人惱怒。我看到挺綠人士的貼文就跟看到鋼鐵韓粉一樣過敏。啊你說政治立場不同這樣就被激怒，看自家人做梗圖攻擊政敵就沒關係？好嘛，我得承認，人們總是看別人惡搞笑哈哈，自己人被惡搞就操你媽！ 某個個人帳號的旅遊、吃播、打遊戲的炫耀貼文，干我屁事啊 詐騙、減肥、投資、偽裝名人的廣告 中國大外宣、扭曲風向的世界新聞 聳動標題的內容農場 屎一般的meme、娛樂八卦新聞、動漫遊戲資訊專頁，娛樂至死，令人煩躁 以發搞笑圖、雞湯語錄為名，實則收廣告業配的粉絲專頁 隨機插入的Reels，不是智障耍笨短影片就是健身、賣肉影片 \u0026hellip;諸如此類，雖然裡面真的會偶爾出現不錯的新知識內容，但是大部分都是垃圾。這些貼文內容有些十年前Facebook就有跡象了，現在看來是更嚴重了。\n過去有美國大學的研究指出，所謂的憤怒釣魚貼文(rage-bait)，即「憤怒與高爭議性的內容」比較容易吸引互動，現在看來這些內容就是故意要讓人下去吵架的，然後再促使你一直往下滑尋找其他快樂源泉（或是奔赴下一個戰場？）。可是我上面講了，那些娛樂至死的低品質內容我看了也很煩躁。\nFacebook最近幾年甚至變更演算法，貼長文章無法獲得推廣，而是要推廣短文！？\n你知道，Facebook有設計「我不想看到這個」按鈕，還有「減少顯示貼文」按鈕吧？根本一點屁用也沒有。按了不過是像拉霸機一樣換另一批垃圾噁心人而已。\n我寧願看到「沒有更多貼文可以顯示」的訊息也不要一直被餵垃圾。\nFacebook的問題我不是一個人觀察到的，英文圈很多網友批評了這個問題。\nHow many ways do I have to tell FB “I don’t want to see this” before they actually stop showing it in my feed? FB feed is 98% suggested pages and barely any friend\u0026rsquo;s posts. How do I change this? Facebook is filled with too much Ads, spam, and scammers. 還有一篇金融時報的報導，探討社群媒體的「屎化現象」：\nEnshittification’ is coming for absolutely everything\n2. 解決之道 # 如果意識到Facebook的演算法問題還覺得沒關係，長此以往就會造成焦慮情緒。在娛樂至死的內容與暴怒釣魚貼文之中徘徊，情緒上上下下的，搞不好還會造成憂鬱症。\n把最在意的人士加入到「最愛」列表是一個務實的做法。直接封鎖不爽的帳號也是可以，但如果用粉絲專頁身份瀏覽動態似乎沒辦法這樣做。 如果想比較舒服的浸泡在同溫層裡面，Facebook現在還有只顯示追蹤者動態的動態牆，網址如下：https://www.facebook.com/?filter=all\u0026amp;sk=h_chr。\n如果祖克伯良心消失（雖然本來就沒有），以後這功能也會不見了吧。\n另外一個方法就是改用其他社群媒體。不過在我看來營利導向的社群媒體多半都逃避不了餵食垃圾的走向。匿名成分較高的Reddit和4chan可能好些，他們演算法比較乖巧，但是就缺乏了一絲真實感。\n論完全拒用社群媒體嗎？我之所以戒不掉Facebook，就是因為需要連結在地台灣群眾，取得資訊，而且得是普羅大眾，不是網軍側翼的小圈圈，所以選擇Facebook，在眾社群媒體中依然是台灣的龍頭。\n因此，在與Facebook演算法對抗之餘，我依然只能想辦法存活下去。現在我看到不喜歡的貼文不用刻意跟著爭吵，點打叉弄掉就好，只專注有意義的互動。\n為了保留獲取資訊的來源的這個用途，我們要意識到自己正在無意識的亂滑(mindless scrolling)，並嚴格控制每日瀏覽社群媒體的時長。\n電腦玩物的文章值得一讀：如何實踐遠離社群、節制新聞計畫？我的心得與四個關鍵設計\n重點是不要把社群媒體當成毒品來抽，每幾小時就哈一口取得多巴胺，這是不對的。要建立健康的使用心態。\n","date":"2024年5月19日","externalUrl":null,"permalink":"/posts/2024051901/","section":"Personals","summary":"我聽說用過小圈圈神器Plurk的人喜歡把社群媒體的動態牆(動態消息，feed) 叫做河道，那麼Facebook的河道現在可以說是充滿垃圾的下水道了。 1. Facebook演算法的問題 # Facebook不定時會修改演算法，本文討論的是2024年5月前後所觀察到的現象。\nFacebook最近一年來的爭議，就是新型動態牆機制。\n總是推播沒有追蹤人士的貼文，引起好奇，或者，引起人的憤怒。\n因為擔心上癮和隱私因素，我沒有在用APP版本的Facebook，在電腦和手機看的都是網頁版。\n我追蹤的粉絲專頁與個人用戶大概有50個以上，大致上是政治、文化、自然、科技、歷史的議題，有刻意刪減，不會為讚而讚。但是，現在動態牆會在最上面顯示5篇真的是我追蹤的人士的貼文，然後往下滑就開始暴走，內容可能是：\n異溫層政治立場的貼文，例如民進黨的認知作戰和中央圖房大隊，引人惱怒。我看到挺綠人士的貼文就跟看到鋼鐵韓粉一樣過敏。啊你說政治立場不同這樣就被激怒，看自家人做梗圖攻擊政敵就沒關係？好嘛，我得承認，人們總是看別人惡搞笑哈哈，自己人被惡搞就操你媽！ 某個個人帳號的旅遊、吃播、打遊戲的炫耀貼文，干我屁事啊 詐騙、減肥、投資、偽裝名人的廣告 中國大外宣、扭曲風向的世界新聞 聳動標題的內容農場 屎一般的meme、娛樂八卦新聞、動漫遊戲資訊專頁，娛樂至死，令人煩躁 以發搞笑圖、雞湯語錄為名，實則收廣告業配的粉絲專頁 隨機插入的Reels，不是智障耍笨短影片就是健身、賣肉影片 …諸如此類，雖然裡面真的會偶爾出現不錯的新知識內容，但是大部分都是垃圾。這些貼文內容有些十年前Facebook就有跡象了，現在看來是更嚴重了。\n","title":"拼命推送無關貼文，Facebook動態牆現在是充滿垃圾內容的下水道","type":"personal"},{"content":" 這系列有二部，二部都很甜。中間的金髮妹就當作贈品，看點主要是房東小姐和她的家人。\n戀糸記念日#01「むすんで ひらいて」 # 年份：2012 監督：雷火剣 動畫製作：PinkPineapple 標籤：純愛，巨乳，騎乘位 身材姣好的房東，漂亮的奶子 去哪找這麼好的房東，上床幾次後就結婚的啊。 大外有大，女主媽媽的奶子更大。\n這部特別之處在於，我通常是為了看女主媽媽的奶子才點開這一集的，性交部分可以不看。\n你看看，女主已經很大了，媽媽的奶子更大，這個角度超讚。有時候這一幕就足以讓我盯著看，手一直擼到快射的等級。（看著媽媽的奶子什麼實話都能招了） 跟男主一樣，看到這對巨乳，雞雞就硬到突破天際了。 當然看奶子總不構成射精條件，所以仍是要看性交畫面。\n這一幕由女友媽媽傳授技巧，插入後再快速震動，我學到了，謝謝。 反而女主在這部裡面沒有媽媽那麼好用了\n但得益於畫風優良，女主奶子晃動畫面仍值得一看。 現學現賣，高速抽動，更刺激的騎乘位！ 果然母女丼最棒了 ","date":"2024年5月19日","externalUrl":null,"permalink":"/posts/koiito-kinenbi-hanime-review/","section":"Nsfws","summary":" 這系列有二部，二部都很甜。中間的金髮妹就當作贈品，看點主要是房東小姐和她的家人。\n戀糸記念日#01「むすんで ひらいて」 # 年份：2012 監督：雷火剣 動畫製作：PinkPineapple 標籤：純愛，巨乳，騎乘位 身材姣好的房東，漂亮的奶子 去哪找這麼好的房東，上床幾次後就結婚的啊。 大外有大，女主媽媽的奶子更大。\n這部特別之處在於，我通常是為了看女主媽媽的奶子才點開這一集的，性交部分可以不看。\n你看看，女主已經很大了，媽媽的奶子更大，這個角度超讚。有時候這一幕就足以讓我盯著看，手一直擼到快射的等級。（看著媽媽的奶子什麼實話都能招了） 跟男主一樣，看到這對巨乳，雞雞就硬到突破天際了。 ","title":"實用純愛裏番推薦：戀糸記念日","type":"nsfw"},{"content":"這篇文章由Ivon介紹Linux版RetroArch的基本操作觀念。部份觀念在Windows、macOS、Android、iOS平台也是通用的。 後面會附上一些遊戲主機遊戲的實際設定方法。\nRetroArch（復古電玩）為一款開源、免費、無廣告的遊戲主機模擬器。 它可以跑在Linux/Windows/macOS/Android/iOS等系統，最老支援到Windows 95。有些遊戲主機經過改裝後也能裝RetroArch。\nRetroArch最大的特色是一個打三十個，支援模擬三十款以上復古遊戲主機和電腦系統，例如：MS-DOS、PC-98、Apple Macintosh、Commodore 64、SEGA Staturn、BANDAI WonderSwan、Coleco Vision、Nintendo 64、Sony Playstation等等，可以說是一款幾近萬能的復古遊戲模擬器了。\nRetroArch能玩的部份遊戲擷圖：\nNintendo 64上的《薩爾達傳說時之笛》 Sega Satrun上的《同級生2》 DOS系統上的《美少女夢工廠》 除了模擬遊戲主機之外，RetroArch還提供：AI翻譯遊戲文本、著色器改善老遊戲畫質、自訂按鍵映射、金手指、多人連線、雲端存檔等進階功能，讓玩家玩遊戲的時候更方便。\n1. 了解RetroArch原理 # 遊戲ROM # 在用RetroArch玩遊戲之前，你需要準備「遊戲ROM」以及「核心」。\n遊戲ROM不難理解，就是裝載遊戲資料的儲存格式。由各路好手從實體遊戲卡帶所抽取出來，轉檔成電腦檔案格式，讓RetroArch讀取之用。網路上有很多盜版的可以下載。 每台遊戲主機都有自身的ROM副檔名格式，例如PC-98的.hdi檔、Nintendo 64的.n64檔，還有DOS的.EXE檔等。\n遊戲ROM沒有限定作業系統與處理器架構，任一版本的RetroArch都能讀取。\n核心 # 那麼什麼是核心(core)？RetroArch是一個整合性的啟動器，用意在於讓玩家不用為了玩遊戲而安裝多個模擬器，比如過去你玩PSP遊戲得開PPSSPP，要玩GameCube遊戲則得切換到Dolphin Emulator\u0026hellip;\u0026hellip;這些模擬器都是彼此獨立的程式。有了RetroArch之後，你只需要一個程式就能夠模擬所有遊戲主機的遊戲。\nRetroArch為基於libretro API實作，只要其他模擬器開發者針對libretro開發插件，就能夠模擬各式各樣的遊戲主機。\n不過，具體要模擬哪一款遊戲主機，則得玩家自己決定。一個蘿蔔一個坑，針對不同的遊戲主機，你需要下載對應主機的「核心」檔案，才可以讓RetroArch模擬該主機系統，並載入遊戲ROM。\n你可以在Libreto官方文件或者Emulation Wiki找到核心對應的遊戲主機。 有一點需要注意：RetroArch核心不是跨平台的。\n雖然RetroArch「主程式」支援Linux/Windows/macOS/Android/iOS系統，但是遊戲主機的「核心」是個別針對平台編譯的，有作業系統和處理器架構之分。像Windows的核心以.dll檔發布，Linux的則是以.so檔案的形式發布，不同系統之間不能通用核心。好在RetroArch的核心大部分都是開源的，因此不會有核心獨厚某種作業系統的問題發生。\n此外，Linux的RetroArch核心還有處理器架構的問題。目前大部分的RetroArch核心是針對x86_64平台編譯的，所以RetroArch內建的選單才有那麼多核心可以下載。\n換作ARM64平台（例如Raspberry Pi系統），你就會發現內建核心少了很多。這個時候你要嘛自己編譯，手動安裝核心，要嘛想辦法找別人編譯好的核心來用。\n折衷的辦法是用Box64轉譯執行x86版的RetroArch，繞過核心缺乏的問題。或者回歸到獨立模擬器玩遊戲的作法。\n不想那麼麻煩的，在x86_64平台遊玩RetroArch比較方便。\n2. 安裝RetroArch主程式 # 根據官網指示安裝Linux的套件。比如我用Flatpak安裝最新版本RetroArch。支援x86_64與ARM64架構。\nflatpak install org.libretro.RetroArch 安裝後RetroArch的圖示就會出現在應用程式列表了。Flatpak版的RetroArch資料目錄位於~/.var/app/org.libretro.RetroArch/config/retroarch/cores\n或者，透過Steam安裝RetroArch。Steam版RetroArch原生支援Linux，並且能夠透過Steam雲端同步遊戲存檔。\n我們可以透過Linux版Steam客戶端下載RetroArch。在遊戲收藏庫對RetroArch按右鍵，即可瀏覽資料目錄。\n3. 如何安裝RetroArch核心 # 下載核心 # 請閱讀libretro官方文件或Emulation Wiki，了解你想模擬的遊戲主機需要哪個核心才可以啟動。 開啟RetroArch主選單，點選 線上更新 → 下載安裝核心，即可下載線上儲存庫的核心。一台遊戲主機可能會有多名開發者為其製作核心，你需要多方比較。 如果你要手動安裝核心也行，網路上有很多熱心開發者製作的核心。Flatpak版的RetroArch核心目錄位於~/.var/app/org.libretro.RetroArch/config/retroarch/cores，請把下載到的.so檔案放到這個目錄。\n下載BIOS # 有些遊戲主機除了核心之外，還得安裝特定的BIOS才能夠啟動系統。\n因為含有版權物的緣故，BIOS你可能得手動下載。像這個Github儲存庫 archtaurus/RetroPieBIOS 就有人整理了常見的BIOS檔案。\nBIOS檔案通常是放到~/.var/app/org.libretro.RetroArch/config/retroarch/system/模擬器名稱目錄。\n4. 如何載入遊戲ROM # 你可以將遊戲ROM放到任意目錄。\n用RetroArch的匯入遊戲 → 掃描資料夾 功能，選取ROM所在的目錄。它會給每一款遊戲建立縮圖，並在左側選單建立快捷啟動方式。 若Flatpak無法存取目錄，請記得授予讀取權限：\nflatpak override --filesystem=\u0026#34;/路徑/\u0026#34; org.libretro.RetroArch 在載入模擬器核心之後，透過RetroArch內建的檔案瀏覽器，選取對應主機的遊戲ROM檔案，載入就行了。\n至於RetroArch各個遊戲的「存檔進度」資料，請到~/.var/app/org.libretro.RetroArch/config/retroarch/saves/尋找。\n5. 設定RetroArch按鍵映射 # 除了DOS這類個人電腦的系統之外，許多遊戲主機的遊戲控制都是以手把為主的，建議玩遊戲前準備一個手把。\n市面常見的遊戲機手把在Linux系統應該都是隨插即用的。\n不過以前的遊戲主機跟現在的手把鍵位不太一樣，所以你最好手動確認一下遊戲的鍵位。\n請到 設定 → 輸入 → RetroPad Binds設定手把映射。 你也可以將滑鼠鍵盤映射成手把按鈕。\n6. 設定AI翻譯服務 # 此為選擇性項目。\n很多遊戲只有日文版和英文版，第三方人士製作漢化版困難重重，這時不妨使用AI翻譯功能吧。\nRetroArch內建的翻譯服務可以即時掃描螢幕文字，傳送給線上Google翻譯服務，再自動顯示翻譯文本。\n其中「ZTranslate」簡化了設定過程，讓使用者不必手動架設線上服務。ZTranslate的翻譯服務是在雲端運算的，不會耗用本機資源，但ZTranslate的服務是由志願者提供的，翻譯有限制額度。\n點選 設定 → 協助工具 → 人工智慧服務，啟用翻譯服務，翻譯模式勾選圖像模式。並按照官方指示註冊ZTranslate帳號。 7. RetroArch實際操作例子 # 遊玩SEGA Saturn遊戲 (Kronos核心) # 首先在 線上更新 → 下載安裝核心，下載Kronos的核心\n根據Kronos文件指示，手動下載SEGA Saturn的BIOS檔案，將其放到~/.var/app/org.libretro.RetroArch/config/retroarch/system/目錄 掃描遊戲目錄，例如我是.cue檔案的遊戲，之後遊戲應該就會出現在選單左側並能直接啟動。或者點選主選單的載入檔案來啟動遊戲。 參考資料 # Libretro Docs Libretro - Emulation General Wiki ","date":"2024年5月18日","externalUrl":null,"permalink":"/posts/retroarch-linux/","section":"所有文章","summary":"這篇文章由Ivon介紹Linux版RetroArch的基本操作觀念。部份觀念在Windows、macOS、Android、iOS平台也是通用的。 後面會附上一些遊戲主機遊戲的實際設定方法。\nRetroArch（復古電玩）為一款開源、免費、無廣告的遊戲主機模擬器。 它可以跑在Linux/Windows/macOS/Android/iOS等系統，最老支援到Windows 95。有些遊戲主機經過改裝後也能裝RetroArch。\nRetroArch最大的特色是一個打三十個，支援模擬三十款以上復古遊戲主機和電腦系統，例如：MS-DOS、PC-98、Apple Macintosh、Commodore 64、SEGA Staturn、BANDAI WonderSwan、Coleco Vision、Nintendo 64、Sony Playstation等等，可以說是一款幾近萬能的復古遊戲模擬器了。\nRetroArch能玩的部份遊戲擷圖：\nNintendo 64上的《薩爾達傳說時之笛》 Sega Satrun上的《同級生2》 DOS系統上的《美少女夢工廠》 除了模擬遊戲主機之外，RetroArch還提供：AI翻譯遊戲文本、著色器改善老遊戲畫質、自訂按鍵映射、金手指、多人連線、雲端存檔等進階功能，讓玩家玩遊戲的時候更方便。\n","title":"Linux版RetroArch安裝教學，萬能復古遊戲主機模擬器","type":"posts"},{"content":"","date":"2024年5月18日","externalUrl":null,"permalink":"/tags/mary-jane/","section":"標籤","summary":"","title":"Mary Jane","type":"tags"},{"content":" 中文名稱：小女彈珠汽水。本作共4集，十分深入地刻劃蘿莉控喜愛的細節，看了不要真的模仿犯罪喔。\n我比較喜歡前二話。後二話雖然內容也不錯（有蘿莉百合野戰互舔）但畫風已不如前二部，包含上色以及性徵刻劃部份。我覺得畫風變化問題，也影響了該家公司另一部《都市伝説シリーズ》的觀感。\n小女ラムネ 第1話 ちーちゃんと秘密のアルバイト # 年份：2016 監督：木之本なつみ 動畫製作：mary jane 標籤：蘿莉，曬痕，冰棒，正常位，口交 看黑肉蘿莉示範如何色情的吃冰棒 接著吃真正的大冰棒 盡展蘿莉曬痕之美的場景 後入 用冰棒插的這段我永遠搞不懂在幹嘛，廉價肛塞？潤滑液？ 不過嘛好用就可以了。 整體來說這集一直換體位，不容易找到性感的角度，以此為中心來打。且冰棒一直讓人出戲，一般來說插入這麼冰的地方會軟掉吧\u0026hellip; 小女ラムネ 第2話 ドキドキの撮影タイムと戀のABC # 年份：2017 監督：木之本なつみ 動畫製作：mary jane 標籤：蘿莉，色情內衣，飛機杯，後入 穿色情內衣出外景就能成為偶像 「偶像可是能讓人興奮起來的」，不要瞎掰好嗎（結尾還真的有上台跳舞橋段，不是脫衣舞） 這位都不用潤滑就能肛交 正常位 總之成功騙到內射 接著，讓另一個蘿莉幫你用飛機杯，口水舔一下就能潤滑！？ 雖然是百合，但男主決定化身為打T高手。\n表現出製作組作畫功力的乳頭 後入的角度很讚 這位大叔很猛，射精還能讓小蘿莉身體動茲動，一起打顫，最後就尿出來了 ","date":"2024年5月18日","externalUrl":null,"permalink":"/posts/shoujo-ramune-hanime-review/","section":"Nsfws","summary":" 中文名稱：小女彈珠汽水。本作共4集，十分深入地刻劃蘿莉控喜愛的細節，看了不要真的模仿犯罪喔。\n我比較喜歡前二話。後二話雖然內容也不錯（有蘿莉百合野戰互舔）但畫風已不如前二部，包含上色以及性徵刻劃部份。我覺得畫風變化問題，也影響了該家公司另一部《都市伝説シリーズ》的觀感。\n小女ラムネ 第1話 ちーちゃんと秘密のアルバイト # 年份：2016 監督：木之本なつみ 動畫製作：mary jane 標籤：蘿莉，曬痕，冰棒，正常位，口交 看黑肉蘿莉示範如何色情的吃冰棒 接著吃真正的大冰棒 盡展蘿莉曬痕之美的場景 後入 用冰棒插的這段我永遠搞不懂在幹嘛，廉價肛塞？潤滑液？ 不過嘛好用就可以了。 ","title":"實用蘿莉裏番推薦：小女ラムネ","type":"nsfw"},{"content":"","date":"2024年5月17日","externalUrl":null,"permalink":"/tags/erozuki/","section":"標籤","summary":"","title":"Erozuki","type":"tags"},{"content":" 年份：2015 監督：ゆっけ兄 動畫製作：erozuki 標籤：巨乳，騎乘位，正常位，巨乳蘿莉，第一人稱 喜歡這部單純因為人物設計由《我的朋友很少》的繪師負責。並且跟《ヴィクトリアメイド マリアの奉仕》一樣為同一家公司製作，劇情上更勝一籌。\n一開始由巨乳女僕服務，這個奶子像布丁一樣，我認為可以跟戀系紀念日的媽媽相媲美，只是沒有那樣能引起興致。 後面還是有不錯的騎乘位，奶子晃動的氣氛實在很好。缺點就是男主射精顏色很像鹽酸，看起來很噁心。 做完之後親一個。 一個完了後還有第二個～金髮公主，很害羞，奶子也不小。 本質上整部都很純愛，看看這被破處的表情 不是男主單方面享受而已，而是可以主動進攻。這部片成功的地方還有鏡頭，不論是前面的騎乘位，還是正面正常位，都有給觀眾的帶入感。 所以，我覺得把溫馨的這部當作本文的結尾是再好也不過了。 ","date":"2024年5月17日","externalUrl":null,"permalink":"/posts/tsunpuri-hanime-review/","section":"Nsfws","summary":" 年份：2015 監督：ゆっけ兄 動畫製作：erozuki 標籤：巨乳，騎乘位，正常位，巨乳蘿莉，第一人稱 喜歡這部單純因為人物設計由《我的朋友很少》的繪師負責。並且跟《ヴィクトリアメイド マリアの奉仕》一樣為同一家公司製作，劇情上更勝一籌。\n一開始由巨乳女僕服務，這個奶子像布丁一樣，我認為可以跟戀系紀念日的媽媽相媲美，只是沒有那樣能引起興致。 後面還是有不錯的騎乘位，奶子晃動的氣氛實在很好。缺點就是男主射精顏色很像鹽酸，看起來很噁心。 做完之後親一個。 一個完了後還有第二個～金髮公主，很害羞，奶子也不小。 本質上整部都很純愛，看看這被破處的表情 不是男主單方面享受而已，而是可以主動進攻。這部片成功的地方還有鏡頭，不論是前面的騎乘位，還是正面正常位，都有給觀眾的帶入感。 ","title":"實用巨乳裏番推薦：OVA ツンプリ","type":"nsfw"},{"content":" 中文譯名《空之色、水之色》，成人遊戲改編的動畫，分上下集。畫面和劇情品質在現在看來仍然很不錯，可以抵銷上了年代的4:3比例畫面。\n年份：2006 監督：高橋丈夫（上卷），土支田板三（下卷） 動畫製作：ゑにっく 標籤：純愛，巨乳，後入，曬痕，騎乘位 二位女主角的身材都不分上下\n藍色內褲，巨乳，曬痕，作畫沒有一絲馬虎，宛如表番。 巨乳＋曬痕讓人看得欲罷不能。 做的過程什麼體位都樣樣來，女廁也可以幹 加上男主身材健壯，所有畫面觀看起來都是唯美的，又不失情色場面 更不要忘了最讚的雙飛橋段 ","date":"2024年5月17日","externalUrl":null,"permalink":"/posts/sora-no-iro-mizu-no-iro-hanime-review/","section":"Nsfws","summary":" 中文譯名《空之色、水之色》，成人遊戲改編的動畫，分上下集。畫面和劇情品質在現在看來仍然很不錯，可以抵銷上了年代的4:3比例畫面。\n年份：2006 監督：高橋丈夫（上卷），土支田板三（下卷） 動畫製作：ゑにっく 標籤：純愛，巨乳，後入，曬痕，騎乘位 二位女主角的身材都不分上下\n藍色內褲，巨乳，曬痕，作畫沒有一絲馬虎，宛如表番。 巨乳＋曬痕讓人看得欲罷不能。 做的過程什麼體位都樣樣來，女廁也可以幹 加上男主身材健壯，所有畫面觀看起來都是唯美的，又不失情色場面 更不要忘了最讚的雙飛橋段 ","title":"實用裏番推薦：そらのいろ、みずのいろ","type":"nsfw"},{"content":" 2016年，我在痞客邦亂逛，看到有人開車，從Google雲端下載了《都市伝説シリーズ 其の弐 エ呪いのビデオ》，從而發現了這個動畫系列。整個系列製作十分精良，留下深刻印象。 《都市伝説シリーズ》是根據皐月芋網2016年的漫畫《都市伝説ビッチ－女子怪－》所改編的裏番動畫，共5集+1集總集篇，製作公司是mary jane。\n講述男主跟不同都市傳說的美少女愛愛的故事，看上去不恐怖，但是都有詭異的成份。\n原作皐月芋網的畫風就夠色了，沒什麼問題，在刻劃性愛場面的同時還介紹了都市傳說。 動畫發行後還出了根據動畫畫格製作的全彩漫畫版《都市伝説シリーズ 完全版》，像是給小朋友看的故事書（？ 動畫部分，前四集，富有創意，作畫優秀，十分實用，同時還有一點導演的巧思。後面二集品質直直落，不能看惹。\n雖然如此可惜，我還是把這部覺得好看的地方紀錄下來。\n個人覺得就品質來講，本系列作品2 \u0026gt; 1 \u0026gt; 3 \u0026gt; 4 \u0026gt; 5 \u0026gt; 6\n1. 廁所裡的花子 # 標題：都市伝説シリーズ 其の壱 トイレのHanakoさん 監督：木之本なつみ 實體包裝的封面就預告了這是一部好作品，啊，漂亮的視角。 本集首先上演了一齣姦殺戲碼，演出花子的前世遭遇。老頭性侵蘿莉的劇情沒有什麼看點，除非你喜歡看女性尖叫。 小女孩輕易就窒息而死了，年輕老師跟花子的戰鬥才是重點。\n等到新任老師發現花子的時候，廁所已變成她的住居，來索命的。冷不防的直接撲過來開始榨精！這邊提一下這部動畫呼應原作皐月芋網的特色，所以男主都是馬屌長度。 榨精後發現胸部會變大！於是到野外激戰，身材越來越豐滿\n泳池的部分還不賴 我個人最喜歡的是這一幕體育場的後入式，在月光下奶子蕩漾的樣子很美。 後面變熟女開始SM就不對了\u0026hellip;感覺我不太能接受這型的 結果男主用力一頂，瞬間變回原樣。你可以想像鬆垮垮的小穴突然崩塌變成窟窿的樣子嗎！ 儘管開頭很殘酷，結尾倒是很溫馨哪。即使老師要跟她一起往生也在所不惜。 同樣都是精液流出來，這次的人卻是截然不同的。 花子要繼續留在老師身邊。都市傳說常常以詭異、悲催事件結尾，這部卻很暖心。 2. 詛咒的錄影帶 貞子 # 標題：都市伝説シリーズ 其の弐 エ呪いのビデオ 監督：さだやまやなは 整部系列最讚的一部，大小通吃。\n這一部除了作畫精良外，顯示出導演的巧思！稍微修改了原作的劇情，變成男主中了詛咒錄影帶的計，爽完後社會性死亡的過程。這代表製作組還是挺認真在做動畫的，後面還有加戲。\n收到詛咒的錄影帶，召喚出了美女。碩大的奶子呀就是這集看頭之一。 男主不是直接上，而是先開始乳交口交，睡眠姦 這段奶子畫的不錯，可惜主軸不是這個型態的她 內射嘴巴，連斷面圖都有出來，滿有趣的 在經過一番解釋後，貞子原來是要作為成人影帶主角繼續存活，要找替死鬼拍片。男主居然還乖乖跟她拍，精蟲上腦的男人啊。\n掃描男主電腦內容後，從巨乳妹變成男主喜歡的蘿莉樣子。哇嗚，一女二吃。 話說男主電腦裡面哪來那麼多蘿莉片？被發現的話不用後面的情節也夠社死了吧？\n男主更起勁了，看到這種繪製精美的小穴誰不興奮 雖然這邊蘿莉畫的很好，色澤表現出來，體位有許多變化，不過我果然還是比較尬意巨乳型態的呀。 騎乘和後入都不是問題 嗯\u0026hellip;這種諂媚的眼神可以證明她就是貞子，不論身體大小都有神奇的魔力，讓人想撲上去。 溫柔的貞子還給予性愛指導，讓處男懂得如何用腰來做。這一前一後的型態轉換，仍不減實用度，證實這一集真的是非常用心的製作。 滿意離去後，男主就變成詛咒錄影帶的主角了，真可憐，社會性死亡。 讓人意外的是導演後面還有加戲，換男主朋友中招！ 雖然這段好像畫得有點失誤，有些地方顏色沒上到 但給巨乳妹注入精子的畫面果然才是我想看到的啊！這裡又一個作畫失誤，你的胯下真的是鐵板一塊。 完事後拔出，盡顯征服樣貌。連小穴的收縮動畫都有做出來\u0026hellip;。 3. 八尺大人 # 標題：都市伝説シリーズ 其の参 八尺さん 監督：木之本なつみ 主演小孩開大車的劇情，多對一更刺激。\n八尺大人是會在街上吃人的大隻馬\u0026hellip;是吃人的下面啦。 果然換男主被八尺大人纏上。\n一開始尺寸還很正常的說，好可愛。當然為了製造視覺效果，這種長度鐵定是不夠的，需要將其變大。 八尺的奶子大到可以當成穴的形狀，厲害了，看起來真的好像上下都有屁股一樣 幹完之後，馬屌獲得！破梗一下：這是八尺大人的能力。 這個騎乘位的畫面看起來很不可思議。八尺小姐不是整個肥臀壓在小正太身上，而是蹲著扭動臀部。 但沒差啦好用就好，這幕八尺不是單純的上下騎乘雞雞，而是用臀部做圓形運動的樣子，十分刺激 最後，不要忘了定番：換正太主動 製作組很有誠意呀，精準刻劃對著巨乳扭腰的第一人稱視角 正太給八尺打地粧的樣子更詭異了\u0026hellip;讓人想到昆蟲交配的樣子。 射滿之後，躺在八尺大人的乳香懷內~~ 本集最後，帶出八尺大人的背景故事，原來她是古代的破處神，可以增強與其性交之人的性能力。\n如果這裡戲份可以多一點就好了！\n跟前面一樣，八尺露出巨乳，想一次吃掉許多小男生的屌的樣子更為誘人。 騎乘位，肥臀沒入小雞雞的樣子依然壯觀 八尺大人給很多小正太服務，不愧是專業的。不過這裡的小正太們看來太柔弱了（畢竟是處男），沒有對八尺小姐使出常見的打樁機攻勢。 4. 打電話的瑪莉 # 標題：都市伝説シリーズ 其の肆 メリーちゃんの電話 監督：木之本なつみ 瑪莉是專門吃掉處男的都市傳說人物，給男人破處之後，男人便再也無法對其他女人有感覺；又因為男人已經破處，瑪莉也不可能再出現了。原作是這樣恐怖的都市傳說，可是動畫劇情就變成男主都在打炮而已。\n先來搾精，不錯的視角 這個過分色情的情趣內衣\u0026hellip; 到後面胸部還可以變大，更色情了 騎乘位作畫可能是這一集作畫最好的部份了 後入式的大屁股樣子還算能用 問題在於，最後面5分鐘，動畫重複畫面太多了，幾個畫面輪流播放，且肢體擺蕩的作畫也不流暢。可惜了這個畫得還不錯的角色。 並且劇情上也沒演出都市傳說「詭異」的成份，看起來就像是找援交妹來幹而已，沒有演出瑪莉的詛咒。這集僅在平均水準之上。\n5. 詛咒的VR # 標題：都市伝説シリーズ 其の伍 エ呪いのVR 監督：木之本なつみ 在第二集出現的貞子現在進入到了VR世界，不同的是對象變成小正太。\n啊啊，果然現在的人都不看錄影帶、DVD了嗎\u0026hellip;就跟你我一樣，都看串流了，小心以後不要買來不明的數位裝置。\n這部開始，品質相對前幾集下降嚴重，或者應該說風格變了。上色黯淡，線條也很怪。所以這裡我放的圖比較少。\n一開始貞子就用大奶子型態進攻 轉換場景，變成後入式 騎乘位\u0026hellip;這個屁股畫得普普通通，色氣不足 回到現實，原來貞子是用蘿莉型態跟戴VR的男主做！\n蘿莉的漂亮小穴，這一集的畫風再也沒辦法表現出來了 簡單的正常位做完之後，這一幕啊嘿顏可能是整集畫得最好的。欸？可是男主也沒幹得很賣力呀，表情有點刻意。 6. 總集篇 # 標題：都市伝説シリーズ其の陸 集結！エロカワ怪異 監督：木之本なつみ 前面的女角重新登場的作品，讓所有人都再幹一次砲。\n在畫風變化的當下，導演還是嘗試加入劇情。呵呵，二個pussy在看一隻小pussy 瑪莉又找了新的獵物下手了，乳交和正常位表現的不錯 八尺大人還是眷戀小正太，所以後面沒有加入強暴花子老師。 後面四人集合！瑪莉、貞子和花子聯合攻擊老師 八尺推了一把，把老師變小，讓二人的距離更近了 老師最後撿回了貓咪，達成花子願望，真是跟第一部一樣甜蜜的結局呢，算是把故事完結了。 整體來說這個動畫還是個很好的系列，沒有嚴重作畫崩壞。什麼樣的元素幾乎都包進去了，導演每集都看出來有在用心。\n","date":"2024年5月16日","externalUrl":null,"permalink":"/posts/toshi-densetsu-shirizu-review/","section":"Nsfws","summary":" 2016年，我在痞客邦亂逛，看到有人開車，從Google雲端下載了《都市伝説シリーズ 其の弐 エ呪いのビデオ》，從而發現了這個動畫系列。整個系列製作十分精良，留下深刻印象。 《都市伝説シリーズ》是根據皐月芋網2016年的漫畫《都市伝説ビッチ－女子怪－》所改編的裏番動畫，共5集+1集總集篇，製作公司是mary jane。\n講述男主跟不同都市傳說的美少女愛愛的故事，看上去不恐怖，但是都有詭異的成份。\n原作皐月芋網的畫風就夠色了，沒什麼問題，在刻劃性愛場面的同時還介紹了都市傳說。 動畫發行後還出了根據動畫畫格製作的全彩漫畫版《都市伝説シリーズ 完全版》，像是給小朋友看的故事書（？ 動畫部分，前四集，富有創意，作畫優秀，十分實用，同時還有一點導演的巧思。後面二集品質直直落，不能看惹。\n","title":"《都市伝説シリーズ》動畫評價，作畫優良、實用，到最後卻有點可惜的裏番系列","type":"nsfw"},{"content":" 請放心，本文會有屌照出現，但不會有我的。\n「射屏」可不是什麼電視技術，也不是塑膠工廠的術語，而是一種色情用語。\n探討射屏的定義，以及如何拍出漂亮射屏照片，讓精液深度保養肌膚。\n1. 射屏的意思以及常見形式 # 射屏最早應來自「BKK」，即日文ぶっかけ(Bukkake)的縮寫。BKK指射在臉上，是一種AV的表現形式，有些人看女方被這樣汙辱會很興奮。 為什麼射在臉上會感到快感？維基百科對此有詳細的心理學解釋：顏射\n不過AV總要找人來拍，那對DIY的玩家來說怎麼辦呢？要怎麼自行創造射在別人臉上的那種征服、興奮、污辱感？\n於是就有人想到射在紙上了，射在喜歡的人物臉上（不論是真人還是二次元圖片），再將過程拍下來，放到網路上，就是一種自我性癖的展現了。我覺得這也是一種宣示主權的行為吧！像動物一樣到處留下記號。不過也有人將射屏其當作一種網路霸凌行為就是了，比私訊傳屌照給人還要惡劣！請勿拿來騷擾他人！ 射屏的射精形式很多種，二次元的通常有二種派別：\nフィギュア系（射在美少女人物模型上）\n二次絵系（射在圖畫上）\n這種行為，中文最常見的講法是射屏或顏射；日文叫フィギュアぶっかけ。\n「射在模型上」英文叫做semen on figure (sof)或cumming on figure；「射在圖片上」英文叫做anime cum tribute。不過有時候這幾個詞也會混用，不單指射在特定物件上，像是抱枕之類的也可以。\n雖然比較少但也是有，女性的cumtribute稱之為squirting tribute或reverse cum tribute，用潮吹取代精液噴到目標物件上。\ncumtribute音近contribue，中文有人稱作「致敬一發」。為什麼射在模型上叫做奉獻、致敬呢？。根據美國MEL Magazine在一篇名為The Men Who Nut on Anime Figurines訪談的說法，這可以稱作是「對角色的奉獻熱愛之心」吧。射在模型上宛如製造藝術品，並讓人感到於愉悅。\n這篇MEL Magazine的訪談寫得很好玩，有興趣可以讀一讀XD 射屏這檔事在全世界都有許多愛好者，美國MEL雜誌特別寫過一篇訪談，用幽默詼諧的筆法，討論這些可愛網友的想法。「每個色情網站都充滿了剝削性公司，他們向辛勤工作的演員支付最低工資。反之，這些射屏愛好者為動漫模型付了全額市場價格，並為背德感感到非常興奮。」 值得注意的是，自力更生的「射屏」跟「ぶっかけ」已不太一樣了，後者會射在真人臉上，前者則是射在虛擬的物件上。下面講的主要是射在虛擬物件上的射屏。\n通常射屏的作品照都是新鮮的精液，停留在目標對象上的樣子。\n例如動漫角色模型，典型的角度便是精液從頭上滴下來，灑滿臉部與胸部。來源 螢幕的話，常常是一整個噴在上面，軌跡無規則可循。來源 有的時候網友拍的射屏照片會讓自己的屌也入鏡，趁機曬屌照。來源 模型射完要洗啊\u0026hellip;\n但有人會把剛射完的模型拿去冷凍，從而將精液凝固成「冰雕」永久保存。來源 。還有人會拿去烤箱，把冰雕變成焗烤。 高難度的玩法：憋著不射精液，改用尿道球腺液(先走り汁)填滿模型。由於尿道球腺是透明液體，很難製造出好的視覺效果。 來源 還有比較奇怪的玩法：通常美少女模型都是不可動的，但總有「洞」可以利用對吧\u0026hellip;並沒有規定要射在臉上啊！足控可能會射在腳上，或是裸體模型就剛好素股射在小穴外面。 最誇張的，揪團對著同一個人物模型射屏\u0026hellip;等等這個射一射就變屁眼派對了吧，會誤擊友軍啊。如果你也在看影片，何不加入他們？ 來源 2. 看射屏網站，了解如何拍好射屏作品 # 要拍攝射屏作品有技巧，在開始實作之前，觀摩一下別人的拍法會更知道怎麼操作。\n日本有一個ぶっかけ板，專門給射屏的同好交流：https://www.ぶっかけ板.net/\nReddit有很多英文的討論板，例如Cumming on Figurines板：Cumming on Figurines\nKomica2的「Figure裡」也有部份資料，不過K島伺服器不太穩定。\nTwitter上搜尋「射屏」的標籤也會找到很多同好，但素質可能良莠不齊就是了，有些人連沒裸露的小模，甚至習近平也拿來射。來源 洗洗馬眼吧，這才是一個好的射屏範例。來源 從比較多人回覆的案例可以觀察到，首先精液量一定要足夠才會好看，起碼要能覆蓋整張臉。儘管有的圖片會讓人懷疑po主是不是用膠水魚目混珠的，但其實要積攢到很多的量並不難：禁慾一個禮拜就行了。另外參考一些壯陽食品的配方，吃蜆精之類的讓精液變得更濃稠、顏色更深。「養精蓄銳」的法還包括做凱格爾運動提升硬度，提升射精距離。 在準備好精液存貨，就可以進行下一步。在攝影的時候準備微距功能好的手機或相機，才能快速有效的拍攝特寫。\n如果射屏的對象是模型，那準備攝影棚就是很有必要的。為了強調射屏的主角，還要考慮光線的問題。一個簡單的原則：背景選用純色，並適當打光，強調角色光滑的膚色。\n不要急著射，先抓好拍攝角度比較重要。攝影機架好後，還要考慮射擊角度，你的88mm砲是高角砲呢還是水平反坦克砲呢？應該事前計算自己可射的多遠，來預估射屏對象的位置。一般來說，人類射精距離是10cm；如果忍太久炸膛，那可能會噴到對面鄰居家裡。 為此，高度和距離的計算是很重要的。一個簡單的原則：平板電腦可以斜放，防止射過頭；人物模型的話則是讓自己的屌貼著人物的臉的高度，這樣可以確保人物的臉正面接住精液。但是精液的量又不能太多，否則會像鼻涕。應使其均勻分佈，從而製造出美麗的畫面。\n吾射不亦精乎？我們可以觀察到，有張力的作品就是有「噴射精液」的樣子，不會只是一攤水在那邊。故，當以這種標準下去創作。射屏可能需要多次練習才能打得準確，有時候流出來變成只能手動沾上去，有時候則是射過頭。如果有必要的話，也是可以準備一隻小棍子手動塗抹精液啦，但在有影片有真相的時代，人們會更願意看到完整的射屏影片，看到精液噴出精準的降落的畫面，才是大師！！\n3. 射屏實際操作 # 射屏實際操作：電子圖片篇 射屏實際操作：人物模型篇 參考資料 # The Men Who Nut on Anime Figurines [閒聊] 螢幕尻槍教學- FW板 ","date":"2024年5月16日","externalUrl":null,"permalink":"/posts/bukkake-introduction/","section":"Nsfws","summary":" 請放心，本文會有屌照出現，但不會有我的。\n「射屏」可不是什麼電視技術，也不是塑膠工廠的術語，而是一種色情用語。\n探討射屏的定義，以及如何拍出漂亮射屏照片，讓精液深度保養肌膚。\n1. 射屏的意思以及常見形式 # 射屏最早應來自「BKK」，即日文ぶっかけ(Bukkake)的縮寫。BKK指射在臉上，是一種AV的表現形式，有些人看女方被這樣汙辱會很興奮。 為什麼射在臉上會感到快感？維基百科對此有詳細的心理學解釋：顏射\n不過AV總要找人來拍，那對DIY的玩家來說怎麼辦呢？要怎麼自行創造射在別人臉上的那種征服、興奮、污辱感？\n於是就有人想到射在紙上了，射在喜歡的人物臉上（不論是真人還是二次元圖片），再將過程拍下來，放到網路上，就是一種自我性癖的展現了。我覺得這也是一種宣示主權的行為吧！像動物一樣到處留下記號。不過也有人將射屏其當作一種網路霸凌行為就是了，比私訊傳屌照給人還要惡劣！請勿拿來騷擾他人！ ","title":"「射屏」ぶっかけ、cum tribute意思，解說射在美少女模型上的傑作","type":"nsfw"},{"content":"你知道嗎，古巴以前曾經禁止人民觀看Youtube。於是在當地的黑市，商人販售含有最新Youtube影片的隨身碟給當地居民，用以滿足人們想看Youtube又沒辦法翻牆看的需求。\n住在自由國家的我等，當珍惜自由觀看Youtube的權利。不過有時候Youtube的影片還是會因為各種原因從世界上消失，那麼你就需要一款Youtube影片批次下載工具。\n今天分享的「Tube Archivist」軟體就是專為大量下載Youtube影片而生。 它整合了yt-dlp工具，可以批次下載Youtube影片 Tube Archivist還有簡單的網頁界面，能夠在自己的電腦建立離線版Youtube 彷彿就像看線上Youtube一樣，不只能瀏覽頻道，播放清單下面還會推薦影片。\n但你可能會問說，大部分YouTube影片看過一次就不會再看了，使用這個服務的意義何在？\n這裡舉幾個使用例：\n方便倉鼠症患者囤積與整理影片 讓需要翻牆上YouTube的用戶有管道大量爬取影片 保存愛po版權歌曲合集的頻道，防止優質頻道吃版權砲消失 下載音樂專輯，建置離線版Youtube Music，演算法由本機程式定之 建置離線版Youtube Kids，由你親自篩選過內容 1. 架設Tube Archivist # Tube Archivist是開源軟體，兼具下載Youtube影片與管理YouTube影片的功能，下載技術使用的是yt-dlp，支援高速下載4K畫質的影片和自動轉檔。\n至於索引部份，Tube Archivist使用Elasticsearch當作本機搜尋引擎，再加上網頁影片播放器功能。\n由於yt-dlp下載的影片沒有加密，你還可以將Tube Archivist的下載目錄與界面更成熟的串流播放器Jellyfin共用，並透過Jellyfin TubeArchivist Plugin提供中繼資料給Jellyfin整理。Jellyfin能夠在串流的時候壓縮影片畫質，還提供多帳號管理功能，更細緻的控管使用者會看到的影片內容。\n根據官方文件說明，使用docker-compose架設。\n安裝Docker\n新增docker-compose\nmkdir ~/tubeArchivist cd tubeArchivist vim docker-compose.yml 填入以下內容，注意註解。本docker-compose包含三個服務：Tube Archivist、Redis、 Elasticsearch。 services: tubearchivist: container_name: tubearchivist restart: unless-stopped image: bbilly1/tubearchivist ports: - 8000:8000 # Tube Archivist網頁界面的通訊埠 volumes: - media:/youtube # 儲存影片的目錄，左邊預設使用名為media的docker volume，可以改掛載其他目錄路徑 - cache:/cache environment: - ES_URL=http://archivist-es:9200 # 需要填寫http與port - REDIS_HOST=archivist-redis # 不需要填http - HOST_UID=1000 - HOST_GID=1000 - TA_HOST=tubearchivist.local # 必須修改成自己的hostname或IP - TA_USERNAME=tubearchivist # 預設Tube Archivist帳號 - TA_PASSWORD=verysecret # 預設Tube Archivist密碼 - ELASTIC_PASSWORD=verysecret # Elasticsearch的密碼 - TZ=Asia/Taipei # 時區 healthcheck: test: [\u0026#34;CMD\u0026#34;, \u0026#34;curl\u0026#34;, \u0026#34;-f\u0026#34;, \u0026#34;http://localhost:8000/health\u0026#34;] interval: 2m timeout: 10s retries: 3 start_period: 30s depends_on: - archivist-es - archivist-redis archivist-redis: image: redis/redis-stack-server container_name: archivist-redis restart: unless-stopped expose: - \u0026#34;6379\u0026#34; volumes: - redis:/data depends_on: - archivist-es archivist-es: image: bbilly1/tubearchivist-es # 本映像檔僅支援AMD64架構，ARM64請用8.18.0版的官方版 https://hub.docker.com/_/elasticsearch container_name: archivist-es restart: unless-stopped environment: - \u0026#34;ELASTIC_PASSWORD=verysecret\u0026#34; # 填入上述Elasticsearch的密碼 - \u0026#34;ES_JAVA_OPTS=-Xms512m -Xmx512m\u0026#34; - \u0026#34;xpack.security.enabled=true\u0026#34; - \u0026#34;discovery.type=single-node\u0026#34; - \u0026#34;path.repo=/usr/share/elasticsearch/data/snapshot\u0026#34; ulimits: memlock: soft: -1 hard: -1 volumes: - es:/usr/share/elasticsearch/data # 使用bind的時候檢查權限 expose: - \u0026#34;9200\u0026#34; volumes: media: cache: redis: es: 為了防止權限錯誤，事先將儲存影片的目錄權限修改 sudo chown user:user \u0026#34;/影片目錄/\u0026#34; 啟動服務 docker compose up -d 使用瀏覽器開啟http://localhost:8000開啟網頁頁面，使用docker-compose填寫的帳密登入。 2. Tube Archivist的影片下載邏輯 # Tube Archivist有頻道(Channel)、播放清單(Playlist)的頁面，輸入URL或者播放清單ID新增訂閱列表。 下載邏輯是這樣的：如果你直接訂閱(新增)頻道或者播放清單，則Tube Archivist會下載全部頻道內容的影片。\n如果你只是想儲存特定幾部影片，那麼推薦使用下載頁面的下載影片方式。\n切到Tube Archivist的Downloads頁面。在Add to download queue填入YoutTube影片或播放清單ID，一行一個網址，再按Start Download就會開始下載影片。 預設會抓最高畫質影片，你可以點Tube Archivist右上角設定，參考yt-dlp參數調整詳細下載內容，譬如強制所有影片下載為H.264編碼，防止瀏覽器無法解碼。\n不論下載方式為何，Tube Archivist都會儲存影片的中繼資料，並將影片按照上傳者歸類，構成一個類似Youtube的界面。使用者可以瀏覽特定「頻道」已下載的所有影片。 實際下載的影片檔名以原始Youtube影片網址命名。而下載後檔案目錄的結構則為頻道名稱＋影片名稱： 3. 使用擴充功能下載影片 # Tube Archivist的擴充功能可以讓你看到喜歡的影片就一鍵傳給Tube Archivist下載。\n點選Tube Archivist右上角設定 → User → User Management → Admin Interface → Auth Token，按Add，新增API金鑰 安裝Tube Archivist作者開發的擴充功能。Firefox｜Chrome\n開啟擴充功能，填入Tube Archivist的網址和API金鑰。勾選Sync Youtube cookies可以方便你下載會員限定影片。 如此一來，Youtube網頁就會出現按鈕。Subscribe是訂閱頻道，「下載」按鈕為下載單部影片。 只要一按下按鈕影片就會出現在Tube Archivist佇列。 4. 訂閱並下載整個頻道的影片 # 在channel填入Yotuube頻道的網址（播放清單同理，不過要填寫的是\u0026amp;list=後面的ID） 之後到downloads頁面，點選Rescan subscriptions，它就會開始抓取該頻道的全部影片。 ","date":"2024年5月15日","externalUrl":null,"permalink":"/posts/tube-archivist/","section":"所有文章","summary":"你知道嗎，古巴以前曾經禁止人民觀看Youtube。於是在當地的黑市，商人販售含有最新Youtube影片的隨身碟給當地居民，用以滿足人們想看Youtube又沒辦法翻牆看的需求。\n住在自由國家的我等，當珍惜自由觀看Youtube的權利。不過有時候Youtube的影片還是會因為各種原因從世界上消失，那麼你就需要一款Youtube影片批次下載工具。\n今天分享的「Tube Archivist」軟體就是專為大量下載Youtube影片而生。 它整合了yt-dlp工具，可以批次下載Youtube影片 Tube Archivist還有簡單的網頁界面，能夠在自己的電腦建立離線版Youtube 彷彿就像看線上Youtube一樣，不只能瀏覽頻道，播放清單下面還會推薦影片。\n但你可能會問說，大部分YouTube影片看過一次就不會再看了，使用這個服務的意義何在？\n這裡舉幾個使用例：\n方便倉鼠症患者囤積與整理影片 讓需要翻牆上YouTube的用戶有管道大量爬取影片 保存愛po版權歌曲合集的頻道，防止優質頻道吃版權砲消失 下載音樂專輯，建置離線版Youtube Music，演算法由本機程式定之 建置離線版Youtube Kids，由你親自篩選過內容 1. 架設Tube Archivist # Tube Archivist是開源軟體，兼具下載Youtube影片與管理YouTube影片的功能，下載技術使用的是yt-dlp，支援高速下載4K畫質的影片和自動轉檔。\n","title":"Tube Archivist：批次下載Youtube頻道影片，打造離線版YouTube","type":"posts"},{"content":"Lunati在5.6.0版本之後逐步加入俗稱\u0026quot;eye candy\u0026quot;的著色器，強化遊戲畫面效果。 圖源：https://forum.minetest.net/viewtopic.php?p=417718 目前有動態影子(dynamic shadows)、色調映射、泛光效果(Bloom)、聖光效果(Volumetric lighting)。\n1. 硬體需求 # 雖然在Minetest安裝一文中說道，Minetest硬體需求不高\n但若要光影開最高畫質，則Nvidia GTX1050Ti以上的獨立顯示卡是不可少的。\n因為光影需要使用OpenGL，而Android手機版Luanti是使用OpenGL ES，因此僅部份光影有效。\n2. 啟用光影效果 # 點選Minetest的「設定」，開啟「平滑光線」、「粒子」、「華麗樹葉」等圖片紅框處的選項。 再點選「圖形」→「選單」→「使用者界面縮放比例」設成1.5。調高「最高FPS」，把「視野」調到200以上。 進入「效果」，啟用後期處理、泛光效果、Volumetric lighting。 現在進入世界試試吧，這是未開動態影子前。 這是開啟動態影子後。 這是開啟動態影子＋泛光效果 如果再搭配Regional Weather 天氣模組的話，就更別有一番感受了 推薦搭配SharpNet Photo Realism材質包，進一步提昇遊戲畫質。\n3. 子遊戲啟用光影 # 目前Luanti 5.10.0只有Minetest Game對光影支援度最完整。\n其他子遊戲可能只有動態影子而已。\n若要強制啟動，你需要裝\u0026quot;Enable Shadow\u0026quot;和\u0026quot;Volumetric lighting\u0026quot;模組才行。 注意給子遊戲強制啟用模組可能影響模組的視覺效果。\n","date":"2024年5月15日","externalUrl":null,"permalink":"/posts/minetest-enhanced-graphics/","section":"Luantis","summary":"Lunati在5.6.0版本之後逐步加入俗稱\"eye candy\"的著色器，強化遊戲畫面效果。 圖源：https://forum.minetest.net/viewtopic.php?p=417718 目前有動態影子(dynamic shadows)、色調映射、泛光效果(Bloom)、聖光效果(Volumetric lighting)。\n1. 硬體需求 # 雖然在Minetest安裝一文中說道，Minetest硬體需求不高\n但若要光影開最高畫質，則Nvidia GTX1050Ti以上的獨立顯示卡是不可少的。\n因為光影需要使用OpenGL，而Android手機版Luanti是使用OpenGL ES，因此僅部份光影有效。\n2. 啟用光影效果 # 點選Minetest的「設定」，開啟「平滑光線」、「粒子」、「華麗樹葉」等圖片紅框處的選項。 再點選「圖形」→「選單」→「使用者界面縮放比例」設成1.5。調高「最高FPS」，把「視野」調到200以上。 進入「效果」，啟用後期處理、泛光效果、Volumetric lighting。 現在進入世界試試吧，這是未開動態影子前。 ","title":"超美Luanti畫面！開啟光影著色器(shader)強化畫面效果","type":"luanti"},{"content":"Luanti (舊稱Minetest) 是一款以LGPL授權釋出的自由軟體，2010年作者Perttu Ahola受到《Minecraft》啟發所推出。由方塊組成的世界、充分的模組API、開放原始碼，使得遊戲本身有很大擴充性。\nLuanti原始碼存放於Github，使用者可任意修改，再從原始碼編譯安裝(build and install from source)。\nLuanti在各大平台都有現成的安裝包，那自行編譯Luanti有什麼好處呢？想嘗鮮Luanti新功能的玩家可以編譯最新版，比方說有人做了個新功能的fork，但尚未併入主線，就可以先自行編譯他的版本來玩。\n又或者是你的Linux發行版收錄的Luanti套件太舊，也可以嘗試自行編譯最新版。\n對ARM64平台而言，因為官方Android版還不支援OpenGL渲染光影，我們可以直接在Proot環境執行電腦版\u0026hellip;如圖，在Android手機用Termux Proot Ubuntu執行Minetest成功！不過沒有硬體加速。 1. 編譯Linux版Luanti # 手動編譯的Luanti一律為最新測試版。\n以Ubuntu為例：\n開啟終端機安裝以下套件 sudo apt install git g++ make libc6-dev cmake libpng-dev libjpeg-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev libzstd-dev libluajit-5.1-dev gettext libsdl2-dev 複製Luanti官方儲存庫 git clone --depth 1 https://github.com/minetest/minetest.git cd minetest 開始編譯。Luanti本體很小不用多久就編譯完成了。 cmake . -DRUN_IN_PLACE=TRUE make -j$(nproc) 進入bin目錄，執行Luanti執行檔即可。至於資料會儲存在家目錄下的.minetest目錄。 cd ~/minetest/bin ./minetest 2. 編譯Windows版Luanti # 手動編譯的Luanti一律為最新測試版。\n以Windows 11為例：\n安裝Visual Studio，這裡使用Visual Studio 17 2022 Win64版\n安裝CMake\n安裝vcpkg套件管理員\n安裝Windows版Git\n開啟終端機，安裝編譯所需的依賴套件\nvcpkg install zlib zstd curl[winssl] openal-soft libvorbis libogg libjpeg-turbo sqlite3 freetype luajit gmp jsoncpp gettext sdl2 --triplet x64-windows 複製Luanti所需儲存庫 cd ~ git clone --depth 1 https://github.com/minetest/minetest.git cd minetest 您可以開啟Visual Studio新建專案再建置Luanti。這裡使用指令直接編譯Luanti cd ~/minetest cmake . -G\u0026#34;Visual Studio 17 2022 Win64\u0026#34; -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_GETTEXT=OFF -DENABLE_CURSES=OFF cmake --build . --config Release 建置後的exe位於~/minetest/bin 參考資料 # Compiling on GNU/Linux - Minetest Github Compiling on Windows - Minetest Github ","date":"2024年5月15日","externalUrl":null,"permalink":"/posts/how-to-compile-minetest-from-source/","section":"Luantis","summary":"Luanti (舊稱Minetest) 是一款以LGPL授權釋出的自由軟體，2010年作者Perttu Ahola受到《Minecraft》啟發所推出。由方塊組成的世界、充分的模組API、開放原始碼，使得遊戲本身有很大擴充性。\nLuanti原始碼存放於Github，使用者可任意修改，再從原始碼編譯安裝(build and install from source)。\nLuanti在各大平台都有現成的安裝包，那自行編譯Luanti有什麼好處呢？想嘗鮮Luanti新功能的玩家可以編譯最新版，比方說有人做了個新功能的fork，但尚未併入主線，就可以先自行編譯他的版本來玩。\n又或者是你的Linux發行版收錄的Luanti套件太舊，也可以嘗試自行編譯最新版。\n對ARM64平台而言，因為官方Android版還不支援OpenGL渲染光影，我們可以直接在Proot環境執行電腦版…如圖，在Android手機用Termux Proot Ubuntu執行Minetest成功！不過沒有硬體加速。 1. 編譯Linux版Luanti # 手動編譯的Luanti一律為最新測試版。\n以Ubuntu為例：\n開啟終端機安裝以下套件 sudo apt install git g++ make libc6-dev cmake libpng-dev libjpeg-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev libzstd-dev libluajit-5.1-dev gettext libsdl2-dev 複製Luanti官方儲存庫 git clone --depth 1 https://github.com/minetest/minetest.git cd minetest 開始編譯。Luanti本體很小不用多久就編譯完成了。 cmake . -DRUN_IN_PLACE=TRUE make -j$(nproc) 進入bin目錄，執行Luanti執行檔即可。至於資料會儲存在家目錄下的.minetest目錄。 cd ~/minetest/bin ./minetest 2. 編譯Windows版Luanti # 手動編譯的Luanti一律為最新測試版。\n","title":"如何從原始碼編譯安裝Luanti（Linux / Windows）","type":"luanti"},{"content":" 手工（DIY）製作的自慰（DIY）飛機杯。\n說實在，飛機杯一個800台幣就有了，沒必要省錢到這種地步。\n這是以前還沒想到買真正飛機杯時候的土炮做法，紀錄下來以供回顧。\n網路有很多作法不一一列舉，有素肚、有氣球、有香蕉，還有人提過用吉利丁凝固成形呢。那乾脆去買一台工控機3D列印飛機杯啊！？吼呦我想要射出精液，不是射出成型啦。 這裡就用簡單、環保、易於組裝的結構。用完就丟。\n材 # 洋芋片罐子，小罐品客就行，不要買辣味的喔 兩塊洗碗用的厚厚海綿 保險套 潤滑液，一小瓶KY就夠了 總成本約500台幣，所有材料都是用完即丟～放在周遭也不會有人覺得奇怪。唯一需要抽換的元件是保險套。 保險套的選擇上不要買岡本那種太輕薄的，外翻會破掉。這個時候很多人說沒感覺的厚重杜蕾斯就是個好選擇。\n保險套內部雖然有潤滑液，但是不太夠。\n用較為堅固的乳膠手套取代保險套也可以。不要用沐浴乳替代潤滑液，你會痛死。\n做 # 先將洋芋片吃完補充精力\n將洋芋片罐子洗乾淨\n將保險套放在兩片海綿中間，露出末端的\n將兩片海綿放入罐子中，此時罐子內部應該會被擠壓的只剩一條縫\n將保險套露出的開口部份往外翻\n使其覆蓋瓶口\n通常保險套的彈性會讓它固定住，若不行再用橡皮筋固定 這樣有點像在幹女用保險套的感覺。\n幹 # 把潤滑液擠進洞口內部\n就可以開始抽插了\n具備包皮的客戶，插入的時候包皮會被完全撐開，這是正常的，請慢慢來。\n然而，如果日後真的買飛機杯，DIY飛機杯實際幹起來的感覺跟飛機杯還是差很多\u0026hellip;\u0026hellip;\n你以為幹起來的表情 [LemonMaiden 蒼海] LovelyBlackRabbitS\n實際幹起來的表情 ","date":"2024年5月13日","externalUrl":null,"permalink":"/posts/diy-onahole/","section":"Nsfws","summary":" 手工（DIY）製作的自慰（DIY）飛機杯。\n說實在，飛機杯一個800台幣就有了，沒必要省錢到這種地步。\n這是以前還沒想到買真正飛機杯時候的土炮做法，紀錄下來以供回顧。\n網路有很多作法不一一列舉，有素肚、有氣球、有香蕉，還有人提過用吉利丁凝固成形呢。那乾脆去買一台工控機3D列印飛機杯啊！？吼呦我想要射出精液，不是射出成型啦。 這裡就用簡單、環保、易於組裝的結構。用完就丟。\n材 # 洋芋片罐子，小罐品客就行，不要買辣味的喔 兩塊洗碗用的厚厚海綿 保險套 潤滑液，一小瓶KY就夠了 總成本約500台幣，所有材料都是用完即丟～放在周遭也不會有人覺得奇怪。唯一需要抽換的元件是保險套。 ","title":"DIY一個DIY用的土炮飛機杯","type":"nsfw"},{"content":"","date":"2024年5月13日","externalUrl":null,"permalink":"/tags/onahole/","section":"標籤","summary":"","title":"Onahole","type":"tags"},{"content":"","date":"2024年5月13日","externalUrl":null,"permalink":"/tags/minecraft-bedrock/","section":"標籤","summary":"","title":"Minecraft Bedrock","type":"tags"},{"content":"玩Minecraft長大的玩家呀，你心中認為最經典的Minecraft版本是第幾版呢？\n你會為了回味以前玩Minecraft的心情，專門下載舊版本來玩嗎？\n你不是一個人。\n舊版Minecraft有個更好聽的詞，叫做「黃金時代」的Minecraft。\nReddit論壇有一個萬人的討論板，叫做r/GoldenAgeMinecraft，直接翻譯過來就是「黃金時代的Minecraft」。這裡的人專注討論舊時代Minecraft的一切，並對現在Mojang加入的新東西不以為意。 他們紛紛說著，Minecraft的黃金時代已然遠去。\n黃金時代\u0026hellip;不是在說烙印勇士啦，是指Minecraft過去最輝煌的日子。\n看到這些社群的貼文，Ivon突然感到一陣懷舊感，所以決定研究一番什麼是黃金時代的Minecraft。\n下面我們來討論何為Minecraft的黃金時代，以及體驗黃金時代Minecraft的方法。\n1. 如何定義「黃金時代」 # Notch從2009年開始製作Minecraft遊戲，截至2024年已經賣出三億份，是本世紀最暢銷的遊戲。我們這個Z世代的人，有不少玩家是玩Minecraft長大的。這款遊戲早就是人們的記憶。在玩家數目如此多的情況下，自然就會有一定數量的玩家懷念以前黃金時代的Minecraft了。\n為什麼叫做黃金時代呢？黃金時代(Golden Age)一詞出自希臘神話，比喻最繁榮的時代。在那之後，人們逐漸墮落，最後走向黑暗的時代。在印度梵文也可以找到類似的描述，大致上都是寫人類歷史的發展進程。\n追求黃金時代的Minecraft玩家，最愛強調的就是「vibe」也就是「氛圍」一詞。看看這個材質的Minecraft，那種氛圍你感受到了嗎。萊姆綠的噁心草皮卻可以讓人回到過去。 沒感覺？好吧，來點猛的。要體驗黃金時代的方法，就是放C418最先收入Minecraft的那幾首音樂，不論你是哪個年代入坑的都能讓你有懷舊感。\n是什麼讓Minecraft變了？Minecraft以前是沙盒遊戲，簡單而純粹，可是在東西越加越多後，它就變得像是RPG，類似Terraria的玩意。最開始，玩家只要專注挖礦蓋房子就好了（畢竟這個遊戲名字含有MINE），但是，現在Minecraft要追求的東西太多了！\n基岩版更不用說了，變成課金騙小孩錢的玩意。\n以前的Minecraft，沒有各種YouTuber都要參一腳來拍片的現象，沒有各種搏眼球的內容。就算是最早玩Minecraft的實況主，影片內容也很單純。\n可以說，這群追求黃金時代的Minecraft玩家是原教旨主義者吧，只要沙盒的內容。\n2. Minecraft Java版黃金時代的版本？ # 如果你對Minecraft版本內容更新不熟，請參閱Minecraft Wiki版本紀錄，了解各個特性是在哪個版本加入的。\n在懷舊感(nostalgia)作祟的情況下，每個人對黃金時代的Minecraft定義都不一樣。如果你去翻Reddit的文章，你會發現2013年就有玩家在說\u0026quot;I miss old Minecraft\u0026quot;了XD那個時候Minecraft才出4年而已耶！ 所謂舊版的Minecraft究竟為何？我們需要一個固定答案。r/GoldenAgeMinecraft的玩家大多認為，黃金時代Minecraft指的是「Beta 1.7.3」版，也就是2013年的時候。\n注意，是「Beta」1.7.3喔！不是戰鬥更新釋出前的1.7。\n在Beta 1.7.3的那個年代，是沒有飢餓值、附魔、釀造、村莊、地獄、終界、烽火台、紅石機制的Minecraft。玩家沒有什麼特定的目標要完成，挖礦蓋房子就是全部。 此外，r/GoldenAgeMinecraft的玩家並不排斥模組。反之，就是當年Minecraft什麼都沒有的情況，那些模組才顯得意義非凡。玩家就算把jar檔拆開塞檔案也要玩模組的決心是現代人難以想像的。 至於伺服器，一直到現在還有人在經營Beta 1.7.3的Minecraft伺服器，可以說是很死忠了。啊不過訂閱制的Realms就是另一回事了，以前的Minecraft根本沒有這東西。\n3. Minecraft基岩版有沒有黃金時代？ # 在微軟收購Mojang以前，基岩版叫做MCPE。 考慮到MCPE很長一段時間開發進度落後Java版，黃金時代應該是0.9.0 Alpha以前，大約2015年左右。MCPE的開發進度在微軟收購Mojang後才開始加速趕上Java，後來變成跨平台的基岩版。\n由此可見MCPE的黃金時代年份跟Java版有所差距。\nMCPE以前的東西少的可怕，只有4種動物＋5種怪物的年代持續了好幾年。MCPE玩家的黃金時代氛圍又跟Java版不同了，別忘了0.9.0以前的舊版世界格式可是「有限大小」的，不到五分鐘就可以飛到地圖邊界！那個時候沒有真正的地獄，只有會生成醜陋城堡的地獄反應核。還有還有，不用背合成表的無腦合成系統MATTIS，諸如此類簡陋但是令人懷念的元素。\n當時，許多MCPE玩家依然能在這種限制多的世界玩的不亦樂乎，蓋出一個又一個的漂亮建築。\n即使沒有紅石，玩家也可以用沙子、甘蔗、告示牌、仙人掌機關，蓋出有趣的冒險地圖（英文圈稱這種技術叫做\u0026quot;mcpe redstone alternative\u0026quot;)\n4. Ivon個人的Minecraft黃金時代看法 # 本段講一下Ivon個人的主觀看法。\nIvon是主要玩MCPE長大的，所以對那些奇怪的機制很熟。\nJava版沒有深入涉獵，但是在MCPE之前，我確實是看魯蛋和藍色鐵捲門的實況知道這款遊戲的。玩過Java版幾個月，知道遊戲基本玩法，還有模組和資源包的要素後，才轉向MCPE。\n當初入坑是2013年，對我來說，Minecraft Java版1.5.2就是我的黃金時代。玩過Mob Talker怪物萌娘模組，以及愛上了Tex-D2資源包。\n至於MCPE則是0.6.0 ~ 0.17.0之間。這個時期是我無腦玩最凶的時候，玩單人模式玩到天昏地暗，手機螢幕亮著的時候幾乎都是在玩Minecraft。\n5. 如何遊玩黃金時代的Minecraft版本 # Betacraft # 建議準備一台電腦。官方Minecraft啟動器可能沒辦法下載太舊的版本，所以得用第三方啟動器。例如BetaCraft或是Prism Laucher。\nBetaCraft啟動器支援登入Microsoft帳號、多重實例。本體用Java寫的所以可以跑在Linux、Windows、macOS系統，安裝的時候你可能準備OpenJDK 8。 BetaCraft有經營一個Beta 1.7.3伺服器，他們網站保留了許多舊時代的模組（網站還刻意模仿十年前Minecraft官網的購買頁面XD）。 從Minecraft 中文考古Wiki得知，中國玩家希鐵石z製作了中文介面翻譯。\n如果你想用手機玩舊版Minecraft Java版，可以安裝PojavLauncher。舊版Minecraft跑起來沒什麼壓力。\n在翻閱Github資料的時候，我還找到了名為TrueCraft的專案。它是開源的淨室重新實現Minecraft。市面上多的是Minecraft重新實現的專案，例如Minetest和Minosoft。但是這個只專注還原黃金時代的Minecraft！\n開發者說他想念那個舊版的Minecraft，他認為Minecraft那個時候就已經是完成的遊戲了。所以他決定自己做一個Minecraft。\nMinecraft Pi Reborn # 想玩舊版MCPE的，可以試試Minecraft Pi Reborn\n大約等同舊版MCPE 0.6.0\n這裡補充個人意見：如果你想要玩本體跟黃金時代Minecraft一樣簡陋，但還有在更新的遊戲，那麼Minetest是個好選擇。它缺乏生物，但是玩法來說跟舊版Minecraft十分相近。\n總結 # 如果說是什麼終結了Minecraft的黃金時代，我覺得果然還是終界吧。\n終界之詩播放的那一刻，這款遊戲就已經結束了。\n是時候，該醒了。\n","date":"2024年5月13日","externalUrl":null,"permalink":"/posts/minecraft-golden-age/","section":"Minecrafts","summary":"玩Minecraft長大的玩家呀，你心中認為最經典的Minecraft版本是第幾版呢？\n你會為了回味以前玩Minecraft的心情，專門下載舊版本來玩嗎？\n你不是一個人。\n舊版Minecraft有個更好聽的詞，叫做「黃金時代」的Minecraft。\nReddit論壇有一個萬人的討論板，叫做r/GoldenAgeMinecraft，直接翻譯過來就是「黃金時代的Minecraft」。這裡的人專注討論舊時代Minecraft的一切，並對現在Mojang加入的新東西不以為意。 他們紛紛說著，Minecraft的黃金時代已然遠去。\n黃金時代…不是在說烙印勇士啦，是指Minecraft過去最輝煌的日子。\n看到這些社群的貼文，Ivon突然感到一陣懷舊感，所以決定研究一番什麼是黃金時代的Minecraft。\n下面我們來討論何為Minecraft的黃金時代，以及體驗黃金時代Minecraft的方法。\n1. 如何定義「黃金時代」 # Notch從2009年開始製作Minecraft遊戲，截至2024年已經賣出三億份，是本世紀最暢銷的遊戲。我們這個Z世代的人，有不少玩家是玩Minecraft長大的。這款遊戲早就是人們的記憶。在玩家數目如此多的情況下，自然就會有一定數量的玩家懷念以前黃金時代的Minecraft了。\n","title":"懷舊的魔力，來玩舊版的Minecraft，你認為最經典的是哪一個版本呢？","type":"minecraft"},{"content":"Minecraft基岩版，點進首頁的市集(Marketplace)圖示，一進去就看到滿滿的購買畫面，不禁讓人想說，Minecraft怎麼變成課金遊戲了！？ 你可能認為Minecraft Java版的模組大部分都是免費的，為何Minecraft基岩版變成了課金遊戲?甚至認為基岩版的模組、資源包只能用買的，而無法自行製作。\n這個說法其實只說對了一半。\n這篇文章我會討論基岩版的市集具體是賣什麼\n還有如何購買基岩版市集內容\n以及官方市集的優缺點\n以及基岩版究竟能不能自行安裝免費模組、資源包、世界\n(圖源: Minecraft Marketplace官網)\n這篇文章討論的是原生Minecraft基岩版模組的情況，不討論使用額外啟動器如BlockLauncher、Horizon使用的模組，或是網易版自行發展的擴展。Add-Ｏn是不是mod尚有爭議，但目前來說是最接近模組功能的東西。\n1. 基岩版市集具體賣什麼 # 市集是由Mojang(微軟的子公司)所經營的，有能力的創作者可以申請Minecraft Partner Program，並上架他們的作品，販售的收入至少會分50%以上給創作者。\n市集是微軟用來給自己薛錢用的嗎？是沒錯啦。根據2021年ScreenRant的報導，微軟光靠Minecraft市集就賺進了3.5億美元的收入。\n理論上，市集可以促進良性循環，創作者販售他們的作品，獲得收入，然後就會有更多人願意製作作品。創作者在申請Minecraft Partner Program的時候必須要有一定品質的作品才能通過審核。但，真的所有市集的作品都是這樣嗎？後面揭曉。\n市集目前約有400項商品，目前有117個是Minecraft官方的項目，例如探險活寶或神鬼奇航的套件。其餘的商品都是玩家自行上架販售的。 再來談及市集販售的物品，主要是以下幾種；\n世界，例如小遊戲、空島生存、冒險地圖 一套皮膚 表情動作 資源包，修改材質用 Add-On 混搭，也就是世界+皮膚+Add-On 前五個都很好理解，就是單一商品。\n混搭，可能包含一套skin，還有一個世界，內含Add-On。\n以螃蟹灣這張地圖來說，光有地圖不夠，裡面還有很多遊樂設施，這個其實是透過Add-On+指令輔助呈現的。\nAdd-On是Mojang官方所開發的模組格式，由行為包和資源包所組成，最初是用於輔助地圖，功能受限，目前還沒辦法像Forge那樣大改遊戲內容。\n但好處是官方有完整的說明文件，具體Add-On能做到什麼都有百科能查詢。Mojang官方還撰寫了詳細的文件指引玩家製作Add-On。 2. 如何購買市集的內容 # 重要：你必須先在首頁登入微軟Xbox帳號再買市集的東西，否則你無法跨裝置同步，換手機東西會不見，之前所花的錢也不會退給你！\n了解如何註冊Xbox帳號：Minecraft 註冊微軟XBox帳號\nMinecraft市集的內容是跟著你的微軟帳號跑的，一經購買就可以在所有裝置(Windows/Android/iOS/主機版)下載遊玩，你可以將其安裝到個人世界或者放到Realms分享。\n不過，市集下載的內容是加密的，你無法將檔案分享給他人使用。\n在購買市集內容前，你必須先用真錢購買名為\u0026quot;MineCoin\u0026quot;的代幣，然後再拿代幣去買你要的東西。Minecoin可以說是為了跨平台課金所準備的機制吧，這樣你不論是在Android或iOS，都可以用同樣的代幣來購買內容。 3. 市集的優點 # 模組首先要考慮到跨平台的問題。\nJava版的Forge模組是由第三方開發者主導的，模組裝法是在檔案總管把資料放進mods資料夾中，再透過修改過的遊戲載入模組，這在電腦上是很簡單的事情。\n基岩版的模組過去也是第三方開發者主導的，例如BlockLauncher還有Horizon，這種非官方的啟動器雖然有執行大型工業模組的能力，但只能執行於Android平台。 那麼其他平台怎麼辦呢？此時官方維護的Add-On優勢就出來了，Add-On是可以跨平台執行的，所有平台的Minecraft基岩版都能夠玩到Add-On。\n接著就是跨平台取得內容的便利性了。\nWindows、Android、iOS有檔案總管，或許還有安裝第三方程式的可能，可是到了遊戲主機上問題就大了，遊戲主機通常不歡迎玩家自行安裝有的沒的，甚至是修改系統檔案。\n這個時候市集就很有用了，購買商品之後就像APP一樣自動裝好。市集省去你自行Google找模組的麻煩，也可以確保不會下載到有病毒的內容。\n再如前面所說的，市集可以讓生產高品質內容的創作者有個穩定的收入來源。\n所以，市集才會被視為取得模組與資源包最便利來源。\n4. 市集的缺點 # 連線問題是老問題了，從2017年上線以來，市集還是很常斷線。\n市集可以說是讓Minecraft變得像手遊一樣的元兇，充滿銅臭味的課金機制，地圖搞得很像是DLC一樣，搭配多人Realms銷售可以說是十分吸引人。2024年Mojang甚至還推出了月卡機制\u0026quot;Minecraft Marketplace Pass\u0026quot;來薛更多錢。只能說幸好Xbox帳號要年齡認證，一定程度能阻止小孩亂買市集東西。\n過去很長一段時間，Add-On在官方市集處於輔助地圖的地位。舉例來說，有個主打加入很多武器的混搭，很明顯是透過Add-On輔助的。但是Add-On被限制只能用在那個世界，不能匯入到自己的世界使用，導致玩家不能單純購買有功能的Add-On。（有玩家猜測可能是因為Mojang的EULA規定不能單純賣模組所致，不過那條規定可能只適用於Java版。） 2023年後，市集終於允許單獨販售Add-On了，不再像以前一樣限制Add-On只能用於單個世界。\n不過Mojang官方2024年發表的公告依然刻意的忽略玩家可以自行安裝Add-On的事實，而是鼓勵到市集下載。 市集的內容品質常受到英文圈Minecraft玩家詬病。雖說市集不乏高品質作品，但是很多市集的東西都是照抄Java版的模組，有的甚至沒有原作者授權就上傳的。\n基岩版商城販售的物品，應該是以品質為擔保所上架的，可是看到某些作品會懷疑他們當初是怎麼通過官方審核的，氾濫的低品質皮膚、拙劣模仿的模組地圖、重複性的遊戲、缺乏監管的內容，諸如此類的問題讓部分玩家不信任市集機制。\n有能力的玩家都會選擇自行安裝Add-On來玩吧。\n5. 市集以外有洞天，其實基岩版的模組不用錢 # 其實基岩版是可以自行安裝模組、資源包、地圖的，而且免費，沒有人強迫你只能透過市集下載。\n任何人都能夠自行製作和安裝模組進行遊玩，玩家亦可以像Java玩家一樣把檔案放在社群網站上供人下載安裝，也可以自由用在Realms上。 具體Add-On安裝方法看這篇。\n市集以外仍有很多玩家在認真做模組。由於不是每個人都對市集有興趣，市集對上架也有品質門檻，所以這些玩家獨立製作的模組會比較自由，不受官方約束。\n像是魔法、槍械、SCP、鬼滅之刃、進擊的巨人、拔刀劍、動態光源、匠魂、恐龍、自動機器、暮光森林、交通工具、家具等主題都有人製作，有時候用心程度還比市集高。\n你可以在mcpedl.com 找到全世界玩家製作的模組。\n此外，資源包的部分，確實很多知名的資源包例如五角形，會選擇在市集販售。但是說到光影資源包(不是Windows RTX)，市集還真沒有幾個上架的，反而都是民間玩家自力發展出來，著名的有苦力怕光影、ESBE 2G。\n而這些，全部都不用錢。\n你應該多多支持由網路Minecraft社群所製作的免費資源！\n他們雖然沒有上架到市集，但實際上比市集擁有更高的自由度和創造力。其中有社群工作室以品質為要求的，舉例Dragon Force Studio，大型Add-On \u0026ldquo;Expansive Fantasy的\u0026quot;作者群，他們的口號就是「我們製作高品質的內容」。 至於Mojang，雖然都在薛錢，但是還是有在逐步完善Add-On機制，每週更新的Preview版都有加入新的功能，讓Add-On的功能更加強大。\n因此，基岩版社群其實是越來越活躍的，雖然目前還是英文和簡體中文資料居多。\n總結 # Mojang的Add-On格式具有跨平台、易上手的優勢，沒有獨厚合作夥伴，一般玩家也能夠投入模組和資源包的開發。\n如果覺得市集機制很爛，那其實玩免費模組就好了。你需要善用搜尋資源，隨時接收英語圈Minecrafft的最新資訊。\n就目前來說，英文能力要好，或是到中國網站看教程。 這篇無意護航官方市集，從微軟推出到現在為止我只買過一個五角形資源包而已，其他東西實在太貴了。不過嘛市集也不壞，登入就有商城定期發放的免費禮物可以領。\n參考資料 # Marketplace - Minecraft Wiki - Fandom Introducing add-ons Minecraft Partner Program Minecraft Marketplace Leads To $350 Million Profit For Modders ","date":"2024年5月12日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-myths-about-marketplace/","section":"Minecrafts","summary":"Minecraft基岩版，點進首頁的市集(Marketplace)圖示，一進去就看到滿滿的購買畫面，不禁讓人想說，Minecraft怎麼變成課金遊戲了！？ 你可能認為Minecraft Java版的模組大部分都是免費的，為何Minecraft基岩版變成了課金遊戲?甚至認為基岩版的模組、資源包只能用買的，而無法自行製作。\n這個說法其實只說對了一半。\n這篇文章我會討論基岩版的市集具體是賣什麼\n還有如何購買基岩版市集內容\n以及官方市集的優缺點\n以及基岩版究竟能不能自行安裝免費模組、資源包、世界\n(圖源: Minecraft Marketplace官網)\n這篇文章討論的是原生Minecraft基岩版模組的情況，不討論使用額外啟動器如BlockLauncher、Horizon使用的模組，或是網易版自行發展的擴展。Add-Ｏn是不是mod尚有爭議，但目前來說是最接近模組功能的東西。\n1. 基岩版市集具體賣什麼 # 市集是由Mojang(微軟的子公司)所經營的，有能力的創作者可以申請Minecraft Partner Program，並上架他們的作品，販售的收入至少會分50%以上給創作者。\n市集是微軟用來給自己薛錢用的嗎？是沒錯啦。根據2021年ScreenRant的報導，微軟光靠Minecraft市集就賺進了3.5億美元的收入。\n","title":"Minecraft基岩版的模組和地圖要錢嗎？關於市集的迷思","type":"minecraft"},{"content":"","date":"2024年5月11日","externalUrl":null,"permalink":"/tags/minecraft-add-on/","section":"標籤","summary":"","title":"Minecraft Add-On","type":"tags"},{"content":"","date":"2024年5月11日","externalUrl":null,"permalink":"/series/minecraft%E5%9F%BA%E5%B2%A9%E7%89%88add-on%E6%A8%A1%E7%B5%84%E8%A3%BD%E4%BD%9C%E6%95%99%E5%AD%B8/","section":"Series","summary":"","title":"Minecraft基岩版Add-On模組製作教學","type":"series"},{"content":"在你打包好世界之後，就可以將Add-On分享給他人安裝了。\n1. 打包Add-On # Add-On通常包含行為包和資源包，請打包成為.mcaddon格式。\n在檔案總管點選選項 → 檢視，關閉「隱藏已知檔案類型的副檔名」\n將你的行為包和資源包資料夾放到同一個資料夾下，例如MyAddOn資料夾下的結構：\nMyAddOn 行為包 資源包 接著將MyAddOn的資料夾用7-Zip壓縮為zip檔案。\n重新命名檔案，把.zip去掉，改成.mcaddon就完成了。\n2. 單獨打包行為包或資源包 # 如果你的模組內容只有行為包或資源包，那麼請打包成為.mcpack格式。\n在檔案總管點選選項 → 檢視，關閉「隱藏已知檔案類型的副檔名」\n將行為包或資源包的資料夾用7-Zip壓縮為zip檔案。\n重新命名檔案，把.zip去掉，改成.mcpack就完成了。\n3. 將Add-On嵌入到世界 # 你可以將Add-On嵌入世界，用Add-On新增的元素搭配Minecraft本身的元素蓋成一張冒險地圖，再分享給他人遊玩。就像Minecraft市集所販售的地圖那樣。\n開啟com.mojang\\minecraftWorlds，找到你的世界資料夾。在該世界資料夾新增behavior_packs和resource_packs二個資料夾，把行為包和資源包資料夾放進去。\n開啟Minecraft，編輯世界，啟用該世界的行為包和資源包\n將該世界的資料夾用7-Zip壓縮成zip檔，之後把.zip改名為.mcworld。\n","date":"2024年5月11日","externalUrl":null,"permalink":"/posts/minecraft-add-on-packaging/","section":"Minecrafts","summary":"在你打包好世界之後，就可以將Add-On分享給他人安裝了。\n1. 打包Add-On # Add-On通常包含行為包和資源包，請打包成為.mcaddon格式。\n在檔案總管點選選項 → 檢視，關閉「隱藏已知檔案類型的副檔名」\n將你的行為包和資源包資料夾放到同一個資料夾下，例如MyAddOn資料夾下的結構：\nMyAddOn 行為包 資源包 接著將MyAddOn的資料夾用7-Zip壓縮為zip檔案。\n重新命名檔案，把.zip去掉，改成.mcaddon就完成了。\n2. 單獨打包行為包或資源包 # 如果你的模組內容只有行為包或資源包，那麼請打包成為.mcpack格式。\n在檔案總管點選選項 → 檢視，關閉「隱藏已知檔案類型的副檔名」\n將行為包或資源包的資料夾用7-Zip壓縮為zip檔案。\n重新命名檔案，把.zip去掉，改成.mcpack就完成了。\n3. 將Add-On嵌入到世界 # 你可以將Add-On嵌入世界，用Add-On新增的元素搭配Minecraft本身的元素蓋成一張冒險地圖，再分享給他人遊玩。就像Minecraft市集所販售的地圖那樣。\n開啟com.mojang\\minecraftWorlds，找到你的世界資料夾。在該世界資料夾新增behavior_packs和resource_packs二個資料夾，把行為包和資源包資料夾放進去。\n","title":"如何將Add-On打包｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"建立空的資源包。\n下文資源包一律以RP稱之。\n1. 資源包的結構 # 資源包結構如下\nRP —— manifest.json —— pack_icon.png —— 其餘資料夾.... 資源包只要有manifest.json和pack_icon.png就可以載入到Minecraft遊戲。\n2. 建立manifest.json # manifest.json這個檔案宛如資源包的身分證，用於告訴遊戲這個套件的資訊。\n切換到com.mojang\\developments_resource_packs資料夾\n在這裡新增tutorial_resource_pack資料夾(你可以自由取名)\n開啟Visual Studio Code，點選檔案 →　開啟資料夾，選取剛才新增的tutorial_resource_pack資料夾\n點選新增檔案 → 新增manifest.json\n點二下manifest.json開啟檔案編輯，填入以下內容。請注意閱讀註解。\n{ \u0026#34;format_version\u0026#34;: 2, \u0026#34;header\u0026#34;: { \u0026#34;description\u0026#34;: \u0026#34;我的資源包說明\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;我的資源包\u0026#34;, // 這個UUID代表資源包的識別符，應該是獨一無二且不重複的。 \u0026#34;uuid\u0026#34;: \u0026#34;第一個UUID\u0026#34;, \u0026#34;version\u0026#34;: [ 1, 0, 0 ], // 資源包所要求的最低Minecraft版本 \u0026#34;min_engine_version\u0026#34;: [ 1, 16, 0 ] }, // 這個段落用於區別行為包和資源包 \u0026#34;modules\u0026#34;: [ { \u0026#34;description\u0026#34;: \u0026#34;我的資源包\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;resource\u0026#34;, // 這個UUID必須跟上面的不一樣 \u0026#34;uuid\u0026#34;: \u0026#34;第二個UUID\u0026#34;, \u0026#34;version\u0026#34;: [ 1, 0, 0 ] } ], // 這個段落代表資源包必須依賴某個行為包才可以使用，要填入的就是該行為包的UUID。若用不到可以把dependencies:[]這段整個刪掉。 \u0026#34;dependencies\u0026#34;: [ { \u0026#34;uuid\u0026#34;: \u0026#34;行為包的UUID\u0026#34;, \u0026#34;version\u0026#34;: [ 1, 0, 0 ] } ] } 請看一下上文UUID的段落，每個UUID的欄位都必須填入一組唯一且不重複的數字。你可以在https://www.uuidgenerator.net網站生成。每次重新載入UUID都會變化。\n例如在你第一個UUID段落應該會長這樣：\n\u0026#34;header\u0026#34;: { \u0026#34;description\u0026#34;: \u0026#34;我的資源包說明\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;我的資源包\u0026#34;, // 這個UUID代表資源包的識別符，應該是獨一無二且不重複的。 \u0026#34;uuid\u0026#34;: \u0026#34;21defc90-6e41-474f-84fb-37e8eb294cd0\u0026#34;, \u0026#34;version\u0026#34;: [ 1, 0, 0 ] 3. 繪製資源包圖示 # 開啟繪圖軟體，新增一張64x64像素的圖片\n簡單在上面繪製一個圖片，存檔為pack_icon.png\n將pack_icon.png放到資源包資料夾tutorial_behavior_pack\n4. 於遊戲測試載入 # 開啟Minecraft\n點選遊戲設定 → 存放，查看資源包是否有出現\n在世界編輯的介面啟用資源包\n","date":"2024年5月11日","externalUrl":null,"permalink":"/posts/minecraft-add-on-create-resource-pack/","section":"Minecrafts","summary":"建立空的資源包。\n下文資源包一律以RP稱之。\n1. 資源包的結構 # 資源包結構如下\nRP —— manifest.json —— pack_icon.png —— 其餘資料夾.... 資源包只要有manifest.json和pack_icon.png就可以載入到Minecraft遊戲。\n2. 建立manifest.json # manifest.json這個檔案宛如資源包的身分證，用於告訴遊戲這個套件的資訊。\n切換到com.mojang\\developments_resource_packs資料夾\n在這裡新增tutorial_resource_pack資料夾(你可以自由取名)\n開啟Visual Studio Code，點選檔案 →　開啟資料夾，選取剛才新增的tutorial_resource_pack資料夾\n點選新增檔案 → 新增manifest.json\n點二下manifest.json開啟檔案編輯，填入以下內容。請注意閱讀註解。\n{ \"format_version\": 2, \"header\": { \"description\": \"我的資源包說明\", \"name\": \"我的資源包\", // 這個UUID代表資源包的識別符，應該是獨一無二且不重複的。 \"uuid\": \"第一個UUID\", \"version\": [ 1, 0, 0 ], // 資源包所要求的最低Minecraft版本 \"min_engine_version\": [ 1, 16, 0 ] }, // 這個段落用於區別行為包和資源包 \"modules\": [ { \"description\": \"我的資源包\", \"type\": \"resource\", // 這個UUID必須跟上面的不一樣 \"uuid\": \"第二個UUID\", \"version\": [ 1, 0, 0 ] } ], // 這個段落代表資源包必須依賴某個行為包才可以使用，要填入的就是該行為包的UUID。若用不到可以把dependencies:[]這段整個刪掉。 \"dependencies\": [ { \"uuid\": \"行為包的UUID\", \"version\": [ 1, 0, 0 ] } ] } 請看一下上文UUID的段落，每個UUID的欄位都必須填入一組唯一且不重複的數字。你可以在https://www.uuidgenerator.net網站生成。每次重新載入UUID都會變化。\n","title":"如何製作資源包｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"建立空的行為包。\n下文行為包一律以BP稱之。\n1. 行為包的結構 # 行為包結構如下\nBP —— manifest.json —— pack_icon.png —— 其餘資料夾.... 行為包只要有manifest.json和pack_icon.png就可以載入到Minecraft遊戲。\n2. 建立manifest.json # manifest.json這個檔案宛如行為包的身分證，用於告訴遊戲這個套件的資訊。\n切換到com.mojang\\developments_behavior_packs資料夾\n在這裡新增tutorial_behavior_pack資料夾(你可以自由取名)\n開啟Visual Studio Code，點選檔案 →　開啟資料夾，選取剛才新增的tutorial_behavior_pack資料夾 點選新增檔案 → 新增manifest.json 點二下manifest.json開啟檔案編輯，填入以下內容。請注意閱讀註解。\n{ \u0026#34;format_version\u0026#34;: 2, \u0026#34;header\u0026#34;: { \u0026#34;description\u0026#34;: \u0026#34;我的行為包說明\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;我的行為包\u0026#34;, // 這個UUID代表行為包的識別符，應該是獨一無二且不重複的。 \u0026#34;uuid\u0026#34;: \u0026#34;第一個UUID\u0026#34;, \u0026#34;version\u0026#34;: [ 1, 0, 0 ], // 行為包所要求的最低Minecraft版本 \u0026#34;min_engine_version\u0026#34;: [ 1, 16, 0 ] }, // 這個段落用於區別行為包和資源包 \u0026#34;modules\u0026#34;: [ { \u0026#34;description\u0026#34;: \u0026#34;我的行為包\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;data\u0026#34;, // 這個UUID必須跟上面的不一樣 \u0026#34;uuid\u0026#34;: \u0026#34;第二個UUID\u0026#34;, \u0026#34;version\u0026#34;: [ 1, 0, 0 ] } ], // 這個段落代表行為包必須依賴某個資源包才可以使用，要填入的就是資源包的UUID。若用不到可以把dependencies:[]這段整個刪掉。 \u0026#34;dependencies\u0026#34;: [ { \u0026#34;uuid\u0026#34;: \u0026#34;資源包的UUID\u0026#34;, \u0026#34;version\u0026#34;: [ 1, 0, 0 ] } ] } 請看一下上文UUID的段落，每個UUID的欄位都必須填入一組唯一且不重複的數字。你可以在https://www.uuidgenerator.net網站生成。每次重新載入UUID都會變化。\n例如在你第一個UUID段落應該會長這樣：\n\u0026#34;header\u0026#34;: { \u0026#34;description\u0026#34;: \u0026#34;我的行為包說明\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;我的行為包\u0026#34;, // 這個UUID代表行為包的識別符，應該是獨一無二且不重複的。 \u0026#34;uuid\u0026#34;: \u0026#34;377acad9-114a-4a8a-8697-7f514756b8db\u0026#34;, \u0026#34;version\u0026#34;: [ 1, 0, 0 ] 3. 繪製行為包圖示 # 開啟繪圖軟體GIMP，點選新增檔案，新增一張64x64像素的圖片 簡單在上面繪製一個圖片，點選新增檔案，輸出存檔為pack_icon.png 將pack_icon.png放到行為包資料夾tutorial_behavior_pack\n4. 於遊戲測試載入 # 開啟Minecraft\n點選遊戲設定 → 存放，查看行為包是否有出現 在世界編輯的介面啟用行為包 ","date":"2024年5月11日","externalUrl":null,"permalink":"/posts/minecraft-add-on-create-behavior-pack/","section":"Minecrafts","summary":"建立空的行為包。\n下文行為包一律以BP稱之。\n1. 行為包的結構 # 行為包結構如下\nBP —— manifest.json —— pack_icon.png —— 其餘資料夾.... 行為包只要有manifest.json和pack_icon.png就可以載入到Minecraft遊戲。\n2. 建立manifest.json # manifest.json這個檔案宛如行為包的身分證，用於告訴遊戲這個套件的資訊。\n切換到com.mojang\\developments_behavior_packs資料夾\n在這裡新增tutorial_behavior_pack資料夾(你可以自由取名)\n開啟Visual Studio Code，點選檔案 →　開啟資料夾，選取剛才新增的tutorial_behavior_pack資料夾 點選新增檔案 → 新增manifest.json 點二下manifest.json開啟檔案編輯，填入以下內容。請注意閱讀註解。\n{ \"format_version\": 2, \"header\": { \"description\": \"我的行為包說明\", \"name\": \"我的行為包\", // 這個UUID代表行為包的識別符，應該是獨一無二且不重複的。 \"uuid\": \"第一個UUID\", \"version\": [ 1, 0, 0 ], // 行為包所要求的最低Minecraft版本 \"min_engine_version\": [ 1, 16, 0 ] }, // 這個段落用於區別行為包和資源包 \"modules\": [ { \"description\": \"我的行為包\", \"type\": \"data\", // 這個UUID必須跟上面的不一樣 \"uuid\": \"第二個UUID\", \"version\": [ 1, 0, 0 ] } ], // 這個段落代表行為包必須依賴某個資源包才可以使用，要填入的就是資源包的UUID。若用不到可以把dependencies:[]這段整個刪掉。 \"dependencies\": [ { \"uuid\": \"資源包的UUID\", \"version\": [ 1, 0, 0 ] } ] } 請看一下上文UUID的段落，每個UUID的欄位都必須填入一組唯一且不重複的數字。你可以在https://www.uuidgenerator.net網站生成。每次重新載入UUID都會變化。\n","title":"如何製作行為包｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":" 1. Add-On的開發流程 # flowchart TD A[建立專案] --\u003e B[在Visual Studio Code編輯] B --\u003e C[將Add-On放到Minecraft的developemnts-資料夾] C --\u003e D[在遊戲中測試Add-On] D --\u003e E[將Add-On打包釋出] 2. 找到Minecraft基岩版的遊戲資料夾 # Minecraft基岩版的遊戲資料夾位於C:\\Users\\使用者名稱\\AppData\\Local\\Packages\\Microsoft.MinecraftUWP_8wekyb3d8bbwe\\LocalState\\games\\com.mojang，要如何開啟這個資料夾呢？\n按Windows鍵+R，開啟執行對話框 輸入%localappdata%\\Packages\\Microsoft.MinecraftUWP_8wekyb3d8bbwe\\LocalState\\games\\，按下Enter\n找到com.mojang資料夾。按右鍵，將其加入到檔案總管的快速存取 這樣日後就可以快速找到這個資料夾。\n3. Add-On開發用的資料夾 # com.mojang資料夾下有development_behavior_packs和development_resource_packs二個資料夾。\ndevelopment_behavior_packs對應behavior_packs，放置行為包 development_resource_packs對應resource_packs，放置資源包 這二個資料夾為開發專用，你應當把開發中的Add-On放到這裡。\ndevelopment_resource_packs資料夾跟一般的resource_packs的有什麼差呢？\n以資源包為例（行為包同理），當玩家用.mcpack格式匯入資源包後，它會跑到resource_packs。在世界啟用資源包之後，Minecraft會將資源包複製一份到Minecraft世界資料夾下的resource_packs。所以玩家日後進入遊戲的時候，Minecraft會優先讀取世界本身擁有的資源包。\n但是你應當是邊測試邊開發的呀！如果你的資源包一直改程式碼，Minecraft並不會即時反應resource_packs變更。如果直接編輯世界資料夾下的resource_packs又不方便在其他世界測試的資源包。\n所以，你應該將開發中的資源包放到development_resource_packs，這樣你在世界中啟用資源包的時候，Minecraft就不會複製資源包到世界下了，而是直接按照development_resource_packs的內容動態載入變更。\n4. 取得Minecraft原版參考資料 # 參見Minecraft Add-On開發常用參考資料\nMojang官方會定期釋出Minecraft基岩版的原版(vanilla)行為包和資源包，裡面含有很多原版遊戲的JSON和材質，值得做Add-On時參考。你可以參考原版生物的程式碼，了解特定組件是怎麼運作的，再善用創意將其轉換成其他功能。\n請下載Minecraft原版行為包和資源包，解壓縮放到你喜歡的資料夾，方便日後查閱。\n5. 開啟Add-On內容記錄設定 # 這個功能十分有用，它會在載入Add-On的時候告訴你Add-On哪裡出錯了。\n請開啟Minecraft，點選遊戲設定 → 創作者，勾選啟用內容記錄設定。 6. 設定Visual Studio Code # Visual Studio Code開啟後，點選左邊選單，切換到「延伸模組」頁面。 輸入關鍵字搜尋延伸模組。\n推薦安裝以下延伸模組：\nChinese (Traditional) Language Pack for Visual Studio Code Bedrock Definitions Blockception\u0026rsquo;s Minecraft Bedrock Development 有時候我們會在JSON寫註解，可能會被判別為語法錯誤。\n這個時候請點選左下角設定 ，再點選右上角開啟settings.json 加入以下設定，讓JSON格式等同JSONC：\n{ \u0026#34;files.associations\u0026#34;: { \u0026#34;*.json\u0026#34;: \u0026#34;jsonc\u0026#34; } } Visual Studio Code是很智慧的編輯器，在後續你編輯JSON的時候，遇到語法錯誤它都會在左下角提醒你，可以幫你省掉許多不必要的除錯過程。 ","date":"2024年5月11日","externalUrl":null,"permalink":"/posts/minecraft-add-on-set-up-environment/","section":"Minecrafts","summary":"1. Add-On的開發流程 # flowchart TD A[建立專案] --\u003e B[在Visual Studio Code編輯] B --\u003e C[將Add-On放到Minecraft的developemnts-資料夾] C --\u003e D[在遊戲中測試Add-On] D --\u003e E[將Add-On打包釋出] 2. 找到Minecraft基岩版的遊戲資料夾 # Minecraft基岩版的遊戲資料夾位於C:\\Users\\使用者名稱\\AppData\\Local\\Packages\\Microsoft.MinecraftUWP_8wekyb3d8bbwe\\LocalState\\games\\com.mojang，要如何開啟這個資料夾呢？\n按Windows鍵+R，開啟執行對話框 輸入%localappdata%\\Packages\\Microsoft.MinecraftUWP_8wekyb3d8bbwe\\LocalState\\games\\，按下Enter\n找到com.mojang資料夾。按右鍵，將其加入到檔案總管的快速存取 這樣日後就可以快速找到這個資料夾。\n3. Add-On開發用的資料夾 # com.mojang資料夾下有development_behavior_packs和development_resource_packs二個資料夾。\n","title":"建立Add-On開發環境｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"Minecraft Add-On是跨平台的，一次寫完便可以在Windows、Android、iOS平台使用。\n強烈推薦在Windows 10或Windows 11的電腦開發Add-On。\nmacOS和Linux不行，Android和iOS手機也不適合。\n1. 需要的軟體 # 以下是必備軟體：\nMinecraft基岩版 Windows版。可以在Microsoft Store購買。 程式碼編輯器，這裡使用Visual Studio Code 修圖軟體，例如GIMP或Krita 建模軟體，例如專為Minecraft打造的BlockBench 檔案壓縮軟體，如7-Zip 以下是選擇性軟體：\nbridge. Add-On Editor，專為Add-On設計的輕量編輯器。功能類似Visual Studio Code。網頁版可以在電腦和手機上使用。 Cubik Studio，付費方塊建模軟體。 2. 需要的先備知識 # 對JSON格式有概念。 了解JavaScript的基礎語法。 熟悉Minecraft遊戲機制。除了原味生存的內容外，最好還要知道一些指令的用法。 ","date":"2024年5月11日","externalUrl":null,"permalink":"/posts/minecraft-add-on-requirements/","section":"Minecrafts","summary":"Minecraft Add-On是跨平台的，一次寫完便可以在Windows、Android、iOS平台使用。\n強烈推薦在Windows 10或Windows 11的電腦開發Add-On。\nmacOS和Linux不行，Android和iOS手機也不適合。\n1. 需要的軟體 # 以下是必備軟體：\nMinecraft基岩版 Windows版。可以在Microsoft Store購買。 程式碼編輯器，這裡使用Visual Studio Code 修圖軟體，例如GIMP或Krita 建模軟體，例如專為Minecraft打造的BlockBench 檔案壓縮軟體，如7-Zip 以下是選擇性軟體：\nbridge. Add-On Editor，專為Add-On設計的輕量編輯器。功能類似Visual Studio Code。網頁版可以在電腦和手機上使用。 Cubik Studio，付費方塊建模軟體。 2. 需要的先備知識 # 對JSON格式有概念。 了解JavaScript的基礎語法。 熟悉Minecraft遊戲機制。除了原味生存的內容外，最好還要知道一些指令的用法。 ","title":"準備項目｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"現在你已經知道行為包和資源包的基礎作法了。\n想要製作什麼呢？\n製作新生物並加上酷酷的動畫？ Add-On新增實體\n製作物品？方塊？Add-On新增物品與方塊\n製作粒子？Add-On新增自訂粒子\n製作生態系？ Add-On新增生態系\n製作自訂mcfunction指令？ Add-On新增mcfunction指令\n","date":"2024年5月11日","externalUrl":null,"permalink":"/posts/minecraft-add-on-topics/","section":"Minecrafts","summary":"現在你已經知道行為包和資源包的基礎作法了。\n想要製作什麼呢？\n製作新生物並加上酷酷的動畫？ Add-On新增實體\n製作物品？方塊？Add-On新增物品與方塊\n製作粒子？Add-On新增自訂粒子\n製作生態系？ Add-On新增生態系\n製作自訂mcfunction指令？ Add-On新增mcfunction指令\n","title":"主題一覽｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"「Add-On」是專屬於Minecraft基岩版(Bedrock)的模組格式，由Mojang官方提供支援。\n1. Add-On的用途 # Add-On可以做到類似模組的功能，例如新增生物、物品、方塊、生態系、指令，修改Minecraft遊戲的玩法。 並且Add-On是跨平台支援的，不論是Windows、Android、iOS、主機版都可以安裝Add-On。\n但是Add-On並不等同於Minecraft Java版的Forge模組，兩者模組是完全不相容的。前者為Mojang官方維護，後者為第三方開發者維護的專案。\n你在Minecraft基岩版的「市集」所見到的世界很多都是靠Add-On＋指令實現功能的。 圖片取自minecraft.net\n除了從市集購買Add-On以外，網路上也有很多免費的Add-On可以讓你自行安裝。更棒的是，你可以自己做一個Add-On！\n2. Add-On是否有限制Minecraft版本？ # 玩過Minecraft Java版的玩家可能知道Forge模組都是嚴格對應Minecraft版本的。遊戲只要一更新，模組作者就得跟進更新否則就不能用了。\nAdd-On則不然，通常Minecraft推出大版本更新，Add-On依然是可以使用的。Add-On本身跟Minecraft差一兩個版本不會有大問題，除非Mojang推出了劇烈變更。當然如果你是負責任的Add-On開發者，理應在新版本Minecraft推出後繼續測試相容性。\n3. 了解Add-On的結構 # Add-On中文翻譯為「附加包」。\nMinecraft基岩版的Add-On跟Minecraft Java版Forge Mod不一樣，Add-On的模組非單一檔案(.jar)，而是以資料夾形式存在。\n一般而言，Add-On包含以下二個資料夾：\n行為包 (Behavior Pack)：簡稱BP，定義生物行為、戰利品、指令等等 資源包 (Resource Pack)：簡稱RP，定義生物外觀、音效、遊戲材質、字體等等 Mojang把Add-On分成這二部份，讓開發者有靈活的空間可以修改遊戲內容。如果你只是想修改玩家的血量，那麼只要做行為包就好了。反之，若只是想改遊戲的材質，那麼做資源包就可以了。\n不過很多時候，Add-On要二者合而為一才可以發揮最大功用。像你要在Minecraft新增生物，除了做資源包材質外，你還得製作定義生物血量的行為包才行。\n4. Add-On的打包格式 # 為了方便玩家分享與安裝Add-On，Mojang提供了二種格式，讓玩家打包作品。\n第一種是.mcpack，將一個行為包或資源包的資料夾用zip壓縮，再改附檔名後製作成的格式。\n第二種是.mcaddon，將包含行為包和資源包的資料夾，用zip壓縮，再改附檔名後製作成的格式。\n當玩家在檔案總管（Windows/Android/iOS）點選以上二種格式的檔案，再選擇「用Minecraft開啟」，Minecraft就會將其自動匯入到遊戲資料夾。\n或者你也可以手動把Add-On資料夾複製到com.mojang完成安裝。\n5. Add-On的安裝路徑 # Minecraft會將匯入的Add-On放到com.mojang資料夾。\n請看：Add-On安裝教學\n行為包會放到com.mojang/behavior_packs\n資源包則是放到com.mojang/resource_packs\n","date":"2024年5月11日","externalUrl":null,"permalink":"/posts/minecraft-add-on-introduction/","section":"Minecrafts","summary":"「Add-On」是專屬於Minecraft基岩版(Bedrock)的模組格式，由Mojang官方提供支援。\n1. Add-On的用途 # Add-On可以做到類似模組的功能，例如新增生物、物品、方塊、生態系、指令，修改Minecraft遊戲的玩法。 並且Add-On是跨平台支援的，不論是Windows、Android、iOS、主機版都可以安裝Add-On。\n但是Add-On並不等同於Minecraft Java版的Forge模組，兩者模組是完全不相容的。前者為Mojang官方維護，後者為第三方開發者維護的專案。\n你在Minecraft基岩版的「市集」所見到的世界很多都是靠Add-On＋指令實現功能的。 圖片取自minecraft.net\n除了從市集購買Add-On以外，網路上也有很多免費的Add-On可以讓你自行安裝。更棒的是，你可以自己做一個Add-On！\n2. Add-On是否有限制Minecraft版本？ # 玩過Minecraft Java版的玩家可能知道Forge模組都是嚴格對應Minecraft版本的。遊戲只要一更新，模組作者就得跟進更新否則就不能用了。\n","title":"什麼是Add-On｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"","date":"2024年5月10日","externalUrl":null,"permalink":"/tags/minecraft-world/","section":"標籤","summary":"","title":"Minecraft World","type":"tags"},{"content":"Revive your old MCPE world! Convert old type world to latest Minecraft Bedrock format.\n我有10年前埋藏在手機裡的舊版Minecraft世界想要取出。\n大約是0.6.0、0.7.6的時候所創造的，以前手機版還叫做MCPE呢！ 當時的舊世界只有256x256x128的大小\n結果發現舊世界格式在新版Minecraft無法載入？閃退？\n這篇文章討論我復活舊世界的方法。如下圖，0.7.6時期創造的世界，用新版Minecraft光影拍攝，整個感覺都不一樣了呢。 注意：這篇文章只專注復原Minecraft舊世界的方塊和建築，不保證可以復原生物、箱子裡面的東西。冒險闖關地圖的機關可能會失效。（眾所皆知仙人掌告示牌機關是在紅石發明前最環保的電路XDD）\n影片版操作參考\n1. Minecraft PE世界的格式變化 # 0.9.0以前，Minecraft PE的舊版世界格式只有256x256x128寬度，是有邊界的有限世界。\n0.9.0加入無限世界和超平坦世界。並加入把舊版世界轉成無限世界的按鈕。\n1.17，Minecraft世界跟著洞穴更新擴充到320格高度。載入舊的無限世界Minecraft會自動轉檔延伸高度。\n1.18正式移除舊版世界格式，轉檔按鈕也不見了。\n大約在Minecraft 1.12之後載入舊版世界，Minecraft高機率會直接閃退。\n2. 解決Android版本問題 # 可以確定的是，要載入舊版世界一定得用舊版Minecraft PE。\nAndroid 14以後的版本禁止安裝舊版Android APK，所以得使用模擬器才能取得舊版Android系統了。\n電腦上的免費模擬器有Google出的Android Studio，這個模擬器支援Linux、Windows、macOS系統。\n裡面的模擬器最老可以切換到Android 7版本，不過開一個Pixel 3的模擬裝置，安裝Android 11就夠了。 3. 下載舊版Minecraft PE APK # Internet Archive有許多舊版Minecraft APK的備份。從0.1.0到1.0都有。 首先要知道Minecraft無法載入新版本Minecraft所建立的世界。例如世界是0.9.0建立的，那麼就必須使用高於0.9.0的Minecraft才可以載入。\n那麼要選哪個版本的APK？如果你的世界是0.9.0之前創造的。\n我推薦使用0.11.0的Minecraft APK載入舊版世界\n為什麼，因為這是Minecraft最後一個舊版UI（變白色之前）\n且還有Make It Infinite按鈕的版本。\n4. 處理舊世界 # 舊版Minecraft的世界位於手機內部儲存空間/games/com.mojang/minecraftWorlds\n把舊版世界的資料夾透過ADB放到模擬器內的資料夾。 接著開啟Minecraft PE。Minecraft編輯世界時有Make It Infinite按鈕，可以選擇把舊版世界轉換為無限世界格式。 他會製作一個新的世界資料夾，舊世界會變成-old。把這個新的資料夾取出來。 5. 後續處理 # 在轉換為無限世界後，首要工作就是用最新版Minecraft再載入測試一次了。\nMinecraft 1.17之後世界又經歷了一次變更，因此Minecraft會自動將世界高度延伸1.17的新高度格式。\n如果轉換後的區塊發生bug，導致玩家無法跟方塊互動，那麼你就只能用Amulet讀取，剪除多餘的區塊，再轉換成一張新的基岩版地圖了。\n","date":"2024年5月10日","externalUrl":null,"permalink":"/posts/revive-old-minecraft-pocket-edition-worlds/","section":"Minecrafts","summary":"Revive your old MCPE world! Convert old type world to latest Minecraft Bedrock format.\n我有10年前埋藏在手機裡的舊版Minecraft世界想要取出。\n大約是0.6.0、0.7.6的時候所創造的，以前手機版還叫做MCPE呢！ 當時的舊世界只有256x256x128的大小\n結果發現舊世界格式在新版Minecraft無法載入？閃退？\n這篇文章討論我復活舊世界的方法。如下圖，0.7.6時期創造的世界，用新版Minecraft光影拍攝，整個感覺都不一樣了呢。 注意：這篇文章只專注復原Minecraft舊世界的方塊和建築，不保證可以復原生物、箱子裡面的東西。冒險闖關地圖的機關可能會失效。（眾所皆知仙人掌告示牌機關是在紅石發明前最環保的電路XDD）\n影片版操作參考\n1. Minecraft PE世界的格式變化 # 0.9.0以前，Minecraft PE的舊版世界格式只有256x256x128寬度，是有邊界的有限世界。\n0.9.0加入無限世界和超平坦世界。並加入把舊版世界轉成無限世界的按鈕。\n1.17，Minecraft世界跟著洞穴更新擴充到320格高度。載入舊的無限世界Minecraft會自動轉檔延伸高度。\n1.18正式移除舊版世界格式，轉檔按鈕也不見了。\n","title":"拯救Minecraft PE舊世界的方法！將其轉成新版基岩版無限世界","type":"minecraft"},{"content":"什麼是多開APP呢？就是在一部手機跑二個一樣的APP啦。例如雙開遊戲、雙開Line。\n本次Ivon要推薦的「Shelter」，乃是一款實用的APP，利用Android內建的機制，隔離工作用的APP資料，順便達到雙開APP的目的。 如下圖，你可以安裝二個一樣的APP，達到一支手機同時登入兩個帳號的目的。比如雙開Line，還有Google Chrome登入二個帳號，同步不同帳號的書籤。 影片操作演示\nShelter尚有保護隱私功效，內部的APP是看不到你的主要帳號資料的。當你用不到的時候，可以選擇「凍結」工作資料夾內的APP達到省電效果。因此有人說，Shelter很適合把某些流氓APP關在裡面，需要時再開就好，多方便！\n還有還有，Shelter跟Google Play上其他多開APP不同的點在於，Shelter是完全開放原始碼的APP，這代表背後程式碼運作原理可受公評。並且Shelter APP不含任何廣告，沒有收費功能，亦不會蒐集使用者資料，您可以放心使用。\n1. Shelter系統需求 # Shelter是否需要Root權限？沒有必要。\n原理：Shelter背後使用的是Android內建的工作資料夾(Work Peofile)機制，建立二個使用者並用沙盒隔離資料。詳情請見Android Work Profile說明。要使用Android Work Profile功能，需要系統管理員為下轄的Android裝置部署。可是一般手機哪來系統管理員，所以這裡需要透過APP觸發。\n系統版本必須在Android 8以上，且系統越接近原生Android的越好。\n比如Google、Sony、Nokia、Motorola、LineageOS這類的手機。\n諸如Samsung、ASUS、小米、Oppo、Vivo、華為這種修改太多的Android系統可能會有相容性問題。\n請注意，Shelter背後原理跟MIUI的多開功能不太一樣，Shelter也不是App Cloner，你最多只能雙開APP而已，三開、四開是不可能的。\n此外，Shelter不是虛擬機，縱然Shelter可以隔離二個使用者的APP資料，但是APP照樣可以存取你的硬體裝置，從而得知你的裝置訊息。\n還有，Shelter不支援密碼鎖，工作資料夾也不是真的隱形的，如果你需要這個功能請另外裝APP，或者改用Android 15加入的「私人空間」。\n2. 建立工作資料夾 # Shelter由PeterCxy開發，採GPLv3授權釋出，你可以在作者的Gitea儲存庫取得Shelter原始碼。\n目前Shelter沒有在Play商店上架，請到F-Droid下載APK。 安裝後根據指示建立工作資料夾 如果你使用的是原生Android桌面，應該就會在APP列表看到多出一個「工作」資料夾了。你可以看到Google Play服務已經自動複製過去，開啟登入Google帳號。 你可以在Shelter選單點選APP，將其複製過去。或是點右上角手動安裝APK。個人和工作設定檔二邊APP的版本必須一致。 開啟Shelter內部的檔案總管可以看到，工作資料夾內的APP是完全獨立的，有自己的儲存空間，跟個人的資料夾不互通。\n此外，Shelter APP的設定有防止APP讀取通訊錄的功能。\n工作設定檔裡面的APP開著的時候等同正常APP，是會耗電的。因此不用的時候請點選「凍結」讓他們休息。\n3. 工作資料夾傳輸檔案 # 設定檔案管理APP # 如果要讓個人與工作資料夾內的檔案互通的話，請點選Shelter右上方設定，開啟文件穿梭。 按照指示，在「個人」與「工作」頁面同意授予Shelter所有權限。\n之後Android系統的檔案選擇器就會多出「Shelter」的選項。\n你可以安裝質感檔案APP，從左側滑出來，再點選新增儲存空間 → 外部儲存 → 加入Shelter，方便在二個使用者間傳輸檔案。 電腦傳檔問題 # MTP可能看不到工作資料夾的檔案，這時只能用ADB指令傳了。\nAndroid 14用這個指令列出所有用戶。 adb shell pm list users 假設工作設定檔回傳的數值為10，那麼使用者資料就是儲存在/storage/emulated/10/。\n參考stackexchange答案，工作資料夾沒有Root權限無法讀取。如果沒有Root權限，傳檔會十分麻煩。\n4. 如何移除Shelter工作資料夾 # Android系統設定 → 密碼與帳戶，可以刪除工作資料夾 接著再刪除Shelter APP即可。\n5. 類似Shelter的開源APP：「Island」和「Insular」 # 類似Shelter的APP有「Island」和「Insular」，原理都是一樣的。\n嘿，我知道你在想什麼，你覺得你可以同時用Shelter和Island達到三開APP的目的？Too young, too simple! 工作資料夾限定只能由一個APP管理啦，另一個開了舊有的資料就會不見。\nIsland由綠色守護作者開發，含有閉源軟體組件；Insular則是Island的完全開源分支版。\nInsular 開發者在他們官網的FAQ列明了三者的比較。 從上表可以知道，Shelter跟Insular一樣沒有Googe核心服務組件，且只有Shelter可以阻止APP讀取通訊錄。但是Shelter沒有反ADB執行功能，安全性略遜一籌。\n順便說，Island/Insular中文翻譯有點太中二了，把沙盒稱作「煉妖壺」什麼的\u0026hellip;會這樣翻譯可能是因為中國手機太多流氓APP了，所以中國人才會說把這些妖魔鬼怪APP關起來的手段，叫做煉妖壺。\n還有一點，工作資料夾很難用來degoogle，因為Play商店服務不太可能透過此種方式與主系統隔離。\n","date":"2024年5月10日","externalUrl":null,"permalink":"/posts/android-shelter-app-usage/","section":"所有文章","summary":"什麼是多開APP呢？就是在一部手機跑二個一樣的APP啦。例如雙開遊戲、雙開Line。\n本次Ivon要推薦的「Shelter」，乃是一款實用的APP，利用Android內建的機制，隔離工作用的APP資料，順便達到雙開APP的目的。 如下圖，你可以安裝二個一樣的APP，達到一支手機同時登入兩個帳號的目的。比如雙開Line，還有Google Chrome登入二個帳號，同步不同帳號的書籤。 影片操作演示\nShelter尚有保護隱私功效，內部的APP是看不到你的主要帳號資料的。當你用不到的時候，可以選擇「凍結」工作資料夾內的APP達到省電效果。因此有人說，Shelter很適合把某些流氓APP關在裡面，需要時再開就好，多方便！\n還有還有，Shelter跟Google Play上其他多開APP不同的點在於，Shelter是完全開放原始碼的APP，這代表背後程式碼運作原理可受公評。並且Shelter APP不含任何廣告，沒有收費功能，亦不會蒐集使用者資料，您可以放心使用。\n1. Shelter系統需求 # Shelter是否需要Root權限？沒有必要。\n原理：Shelter背後使用的是Android內建的工作資料夾(Work Peofile)機制，建立二個使用者並用沙盒隔離資料。詳情請見Android Work Profile說明。要使用Android Work Profile功能，需要系統管理員為下轄的Android裝置部署。可是一般手機哪來系統管理員，所以這裡需要透過APP觸發。\n","title":"Android APP雙開教學！Shelter開源APP使用方式，開啟Android工作資料夾","type":"posts"},{"content":"Minecraft最常見的模組就是光影 (shader)了，你可能聽說過基岩版有內建RTX光線追蹤，但是你知道其實不用指定顯示卡也可以玩光影嗎？還有手機上基岩版其實也是可以安裝光影資源包的！\n這篇文章帶您了解Minecraft光影資源包的安裝方法。\n玩光影前請考量你的硬體規格，手機不好可能真的會燒起來。\n光影主要吃的是顯示卡運算能力。建議：\n電腦需要搭載Nvidia GTX1050Ti以上顯示卡。\n手機的話處理器性能最好在高通Snapdragon 865以上等級。\n1. RTX與光影資源包的差別 # RTX使用Nvidia顯示卡硬體的運算技術，來實現光影變化，因此需要電腦上高級的RTX 20系列以上顯示卡支援才能運算，目前只有Windows基岩版支援。\n可在遊戲設定裡開啟內建的光線追蹤，並至市集下載免費光線追蹤的示範世界。 而所謂光影資源包是為著色器(shader)，使用GLSL/HLSL語言撰寫，透過修改渲染的數值來讓Minecraft看起來好看些，但缺乏物理特效。沒有要求特定高規格的顯示卡才能跑。\n2. 為什麼光影資源包裝了沒效果？ # 請注意分辨光影包種類，如果是GLSL寫的，則光影包只支援Android和iOS系統。HLSL寫的才能在Windows系統使用（不幸的是HLSL語言的光影包數量很少）。\n接著請看版本問題。\nMojang在Minecraft 1.18之後加入了新的「Render Dragon」渲染引擎，導致舊版的GLSL光影資源包已經無法使用。 Minecraft 1.18以後版本請改用新版Render Dragon光影包：Minecraft基岩版 Render Dragon光影包安裝方式\n如果您堅持要用舊版GLSL光影包，請往下看。\n3. 如何安裝光影資源包 # 光影包跟普通資源包的安裝方法一樣，下載的檔案是.mcpack，等同資源包。參考Add-on安裝教學，按二下可以直接匯入到Minecraft裡面。\n接著設成全域資源包，就會每個世界都套用。或者在單個世界選項裡啟用。 1.18以後如何安裝光影資源包？\n2022年，Minecraft基岩版更新到1.18之後，全部平台（Android、iOS、Windows、主機板）都改用Render Dragon當渲染引擎了，導致以前GLSL/HLSL寫成的光影包全部失效。\n中國玩家提出了「MaterialBinLoader」載入GLSL光影包的解決方案，修改Minecraft遊戲程式的material.bin檔案，再透過MaterialBinLoader程式，使Minecraft可以用Render Dragon載入1.18以前的GLSL光影。\n不過，雖然MaterialBinLoader載入光影這個方法聽起來不賴，但缺點就是要使用第三方修改過的遊戲程式了，你沒辦法使用原版Minecraft載入GLSL光影包。\nWindows # 在Microsoft Store下載Minecraft Launcher，安裝最新版Minecraft\n到BetterRenderDragon的Github，下載最新版檔案\n解壓縮，對LaunchMinecraft.bat按二下啟動Minecraft。\n左上角會看到載入訊息。只有透過此方法啟動的Minecraft才可以載入HLSL光影包。 Android # 參照Github指示，自行修改遊戲檔案，並重新打包Minecraft APK。\n更簡單的作法是下載別人修改好的Minecraft APK。額\u0026hellip;對，這就是盜版了沒錯。\n按這裡取得修改版的APK：https://yss.minecraft.pe/en/MinecraftPatched\n開啟後的APP資料跟原版Minecraft不互通（但同樣把資料放在Android/data），且會有大大的\u0026quot;Patched\u0026quot;的字樣。\n然後你就可以安裝GLSL光影包了。\niOS # iOS十分麻煩，你得使用第三方商店側載修改版Minecraft的IPA。\n參考Github用戶 DominoKorean的指示\n首先要取得IPA。DominoKorean建議使用閉源軟體iMazing，從iPhone抽取IPA。\n用7-Zip開啟Minecraft的IPA（不用解壓縮）\n開啟資料夾Payload\\minecraft.app\\data\\renderer\\materials檔案，取代裡面的material.bin檔案（滑鼠拖拉進去。material.bin可能得從Minecraft APK解出）\n再透過AltStore將修改過的IPA側載到iPhone。有越獄的話用Filza裝就行。\n4. 推薦GLSL光影包 # 苦力怕光影 CSPE # 下載：https://twitter.com/cspe_team\n老牌中國團隊製作，可以在官方推特取得，或者是在中國網站上購買完整版。由於太好看，YouTube上有很多盜版。\n圖片來自Twitter。\nESBE 3G # 下載：https://mcbeeringi.github.io/esbe-3g\n簡單好用的光影，對性能要求不高。ESBE 2G的後繼者。\n圖片來自Github。\nOrigin Shader # 下載：https://github.com/origin0110/OriginShader\n注重水的質感的光影，水上水下流暢度差很多。鐵磚和金磚會反射天空的雲。\n圖片來自Twitter。\nESTN # 下載：https://github.com/Eldeston/ESTN-Shaders\n有強烈風格的光影，有陽光。\n圖片來自Github。\nEnc. HSPE # 下載：https://mcpedl.com/enchanted-hspe-shaders/\n這個光影會讓陽光有光線直射的效果，礦物會發光，終界變成宇宙。\n圖片來自mcpedl。\n參考資料 # List of shaders and related information, files, etc. that are compatible with RenderDragon. BetterRenderDragon: 更好的渲染龙 ","date":"2024年5月9日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-glsl-shader-pack/","section":"Minecrafts","summary":"Minecraft最常見的模組就是光影 (shader)了，你可能聽說過基岩版有內建RTX光線追蹤，但是你知道其實不用指定顯示卡也可以玩光影嗎？還有手機上基岩版其實也是可以安裝光影資源包的！\n這篇文章帶您了解Minecraft光影資源包的安裝方法。\n玩光影前請考量你的硬體規格，手機不好可能真的會燒起來。\n光影主要吃的是顯示卡運算能力。建議：\n電腦需要搭載Nvidia GTX1050Ti以上顯示卡。\n手機的話處理器性能最好在高通Snapdragon 865以上等級。\n1. RTX與光影資源包的差別 # RTX使用Nvidia顯示卡硬體的運算技術，來實現光影變化，因此需要電腦上高級的RTX 20系列以上顯示卡支援才能運算，目前只有Windows基岩版支援。\n可在遊戲設定裡開啟內建的光線追蹤，並至市集下載免費光線追蹤的示範世界。 而所謂光影資源包是為著色器(shader)，使用GLSL/HLSL語言撰寫，透過修改渲染的數值來讓Minecraft看起來好看些，但缺乏物理特效。沒有要求特定高規格的顯示卡才能跑。\n2. 為什麼光影資源包裝了沒效果？ # 請注意分辨光影包種類，如果是GLSL寫的，則光影包只支援Android和iOS系統。HLSL寫的才能在Windows系統使用（不幸的是HLSL語言的光影包數量很少）。\n","title":"Minecraft基岩版GLSL光影資源包安裝教學","type":"minecraft"},{"content":"","date":"2024年5月8日","externalUrl":null,"permalink":"/tags/blogger/","section":"標籤","summary":"","title":"Blogger","type":"tags"},{"content":"Convert Blogger posts to Hugo site.\n針對想要從Google Blogger搬家到自架靜態網站的用戶，一定會遇到文章難以轉移的問題吧？\n這篇文章討論解法。\nLet\u0026rsquo;s make a great escape! cinema staff - great escape\n1. 問題 # Hugo/Jekyell/Hexo使用的文章格式都是Markdown，但Blogger的文章是HTML加上自己的CSS，不能直接貼到Markdown。\n縱然Blogger有提供網誌匯出工具，但你只會得到一個「XML嘔吐物」而已！ 嘔吐物這個趣味講法是在Yodalee’s Note看到的。\n所以，我們得使用工具轉換。\nHugo官網Migrate to Hugo列出了許多第三方開發的轉換器。\n我選擇palaniraja開發的blog2md。\n這個工具寫的不錯，支援Blogger與Wordpress網站。除了文章內嵌的iframe（影片、JavaScript元件）和表格以外，每篇文章都會轉成Hugo的格式。 2. 使用轉換器批次將XML轉成Markdown檔 # 登入Google Blogger後台，點選設定 → 管理網誌 → 備份內容，下載XML檔 依照Github指示，先在電腦安裝Git和NPM\n開啟終端機，複製儲存庫，安裝依賴套件\ngit clone https://github.com/palaniraja/blog2md.git cd blog2md npm install 執行指令，在b後面輸入XML檔案路徑，還有輸出路徑 node index.js b \u0026#34;/home/user/Downloads/blogger.xml\u0026#34; \u0026#34;/home/user/out\u0026#34; 這個程式會把所有的文章和草稿全部轉成Markdown格式，一篇文章一個檔案，留言則是另存一個檔案。文章的標題和日期會自動轉成frontmattter，內文則是從HTML變成Markdown語法。\n不過，這個程式似乎會漏掉一些文，最好手動確認Blogger文章數量與實際輸出的Markdown檔案數量。\n需要手動介入處理的為：\n圖片文章內嵌的圖片。如果放在圖床的可以不用理會，但blogger.googleusercontent.com/img/網址的圖片仍是放在Blogger伺服器，最好找其他地方上傳。 內嵌的影片連結需要重貼，例如Youtube嵌入影片、Github Code Block、Google文件 HTML表格 站內連結 其他JavaScript程式和CSS元素 ","date":"2024年5月8日","externalUrl":null,"permalink":"/posts/convert-blogger-posts-to-hugo-markdown/","section":"所有文章","summary":"Convert Blogger posts to Hugo site.\n針對想要從Google Blogger搬家到自架靜態網站的用戶，一定會遇到文章難以轉移的問題吧？\n這篇文章討論解法。\nLet’s make a great escape! cinema staff - great escape\n1. 問題 # Hugo/Jekyell/Hexo使用的文章格式都是Markdown，但Blogger的文章是HTML加上自己的CSS，不能直接貼到Markdown。\n縱然Blogger有提供網誌匯出工具，但你只會得到一個「XML嘔吐物」而已！ 嘔吐物這個趣味講法是在Yodalee’s Note看到的。\n所以，我們得使用工具轉換。\nHugo官網Migrate to Hugo列出了許多第三方開發的轉換器。\n我選擇palaniraja開發的blog2md。\n這個工具寫的不錯，支援Blogger與Wordpress網站。除了文章內嵌的iframe（影片、JavaScript元件）和表格以外，每篇文章都會轉成Hugo的格式。 2. 使用轉換器批次將XML轉成Markdown檔 # 登入Google Blogger後台，點選設定 → 管理網誌 → 備份內容，下載XML檔 依照Github指示，先在電腦安裝Git和NPM\n開啟終端機，複製儲存庫，安裝依賴套件\ngit clone https://github.com/palaniraja/blog2md.git cd blog2md npm install 執行指令，在b後面輸入XML檔案路徑，還有輸出路徑 node index.js b \"/home/user/Downloads/blogger.xml\" \"/home/user/out\" 這個程式會把所有的文章和草稿全部轉成Markdown格式，一篇文章一個檔案，留言則是另存一個檔案。文章的標題和日期會自動轉成frontmattter，內文則是從HTML變成Markdown語法。\n","title":"Blogger搬家到Hugo，如何批次將網誌文章轉成Markdown","type":"posts"},{"content":"地獄級難度警告。\n首先，Linux先天就不適合開發Minecraft基岩版的Add-On。\nJava版Forge模組還湊合，Minecraft Java本身就跨平台，寫Mod的IntelliJ IDEA又不是沒有Linux版嘛\u0026hellip;聽說Forge的開發者也有用Linux寫程式的。\n但是基岩版Add-On就不一樣了。\n程式碼編輯器不是最大問題，問題在於遊戲本身。\n在做基岩版Add-On的時候我主要用到：程式碼編輯器(Visual Studio Code)、修圖軟體(GIMP或Photoshop)、Minecraft本體，前二者都有Linux版，但基岩版只有Windows版，不支援原生Linux系統。且基岩版程式用UWP打包的，所以休想用Wine跑。\nㄟ，Canoncial都跟Microsoft屁眼交易，用WSL換.Net上Linux了，Mark你能不能再給Satya多哈幾口讓Minecraft基岩版上Linux啊！\n這是死穴。\n用虛擬機再用local sshfs傳檔案？似乎可行但3D效能很糟糕。\n原本在Windows平台可以把Add-On檔案直接往遊戲目錄的developments_*_packs目錄塞，一邊寫程式一邊偵錯的操作，在Linux就行不通了。\n所以，退而求其次，我只好用Linux的Android模擬器跑Android版Minecraft來測試了。參見Waydroid容器跑Minecraft基岩版\n或者，使用ADB＋Scrcpy連線到實體Android手機，有變更就傳檔案過去，方便做實機測試。\n不過這又會牽涉到Android權限的問題，Minecraft 1.18以後版本把檔案放到Android/data，該死的Google在Android 11後不斷限制對Android/data的存取。所以我大部分時候都只能用ADB root指令傳檔。\n","date":"2024年5月7日","externalUrl":null,"permalink":"/posts/develope-minecraft-bedrock-add-on-on-linux/","section":"Minecrafts","summary":"地獄級難度警告。\n首先，Linux先天就不適合開發Minecraft基岩版的Add-On。\nJava版Forge模組還湊合，Minecraft Java本身就跨平台，寫Mod的IntelliJ IDEA又不是沒有Linux版嘛…聽說Forge的開發者也有用Linux寫程式的。\n但是基岩版Add-On就不一樣了。\n程式碼編輯器不是最大問題，問題在於遊戲本身。\n在做基岩版Add-On的時候我主要用到：程式碼編輯器(Visual Studio Code)、修圖軟體(GIMP或Photoshop)、Minecraft本體，前二者都有Linux版，但基岩版只有Windows版，不支援原生Linux系統。且基岩版程式用UWP打包的，所以休想用Wine跑。\nㄟ，Canoncial都跟Microsoft屁眼交易，用WSL換.Net上Linux了，Mark你能不能再給Satya多哈幾口讓Minecraft基岩版上Linux啊！\n這是死穴。\n用虛擬機再用local sshfs傳檔案？似乎可行但3D效能很糟糕。\n原本在Windows平台可以把Add-On檔案直接往遊戲目錄的developments_*_packs目錄塞，一邊寫程式一邊偵錯的操作，在Linux就行不通了。\n","title":"Linux開發Minecraft基岩版Add-On的環境設定","type":"minecraft"},{"content":"","date":"2024年5月7日","externalUrl":null,"permalink":"/tags/blender/","section":"標籤","summary":"","title":"Blender","type":"tags"},{"content":"","date":"2024年5月7日","externalUrl":null,"permalink":"/tags/blockbench/","section":"標籤","summary":"","title":"Blockbench","type":"tags"},{"content":"Wavefront OBJ是3D建模常見的格式之一，現在你可以在Minecraft Add-Pn使用了！Minecraft基岩版1.14之後實驗性的加入obj模型支援。\n相較於過去基岩版Add-On，玩家用Blockbench方塊堆成的模型，obj格式允許玩家製作更精細的polygon模型。\n例如這個MannixWu提供的作品 從網路上下載來的模型，GTA VC的Tommy。 這篇文章討論三種轉換obj模型的方法，模型僅供教學用途。\nOBJ模型與JSON檔案的關係 # 基岩版的JSON只支援單張紋理貼圖的obj模型。 obj格式的模型不能直接在Add-On中使用，必須要轉換成JSON。 Obj模型必須有UV資訊，否則JSON裡UV為空的話Minecraft會閃退。 轉換成JSON後，就沒辦法再編輯了，Blockbench 4.0還不支援編輯含有obj數據的JSON。\nMinecraft基岩版的模型檔案都是以JSON儲存，obj也不例外，JSON直接在骨骼裡面儲存網格(mesh)的數據。\nJSON記載的只有模型和UV的資訊，而且檔案也會比較大。但因為有骨骼，要做動畫還是有可能的，不過還沒有能用的編輯器面世。\n模型的紋理貼圖一般是放在資源包/textures/entity/，詳情參考如何製作Add-On基本實體。\n1. 第一種方法：用bridge.v1轉換 # bridge. v1舊版有匯入Obj模型的功能，僅能調整比例和識別符，且該程式得安裝在電腦上執行。\n之所以說要用舊版，是因為bridge v2.0大改版之後還沒有實裝這個功能。\n下載點：bridge. v1\n影片教學：\nbridge是專門做Add-On的編輯器，所以一定會要你先建立行為包和資源包。 按左邊的按鈕New Project建立行為包，接著按第二個圖示建立資源包。 按下File → Import → Import OBJ Model，在面板選取OBJ檔案和紋理貼圖。輸入識別符(Model Identifier)後按下Import。 轉換的json檔案會儲存在資源包/models/entity/，按一下橫排的資料夾圖示開啟該檔案所在位置，接著就能作為實體模型用在自己的Add-On中了，識別符可能還需要修正，不滿意大小可用行為包的minecraft:scale組件調整。 2. 第二種方法：用obj2mcbe轉換 # 網址：https://mcbeeringi.github.io/apps/mc/poly.html\nESBE光影作者McbeEringi製作的網頁轉換器，可以選擇輸出的格式版本(format_version)，以盔甲架當範本，無法事先指定識別符。\n選擇obj檔案，接著選擇輸出的版本(預設是1.16.0，要做成皮膚包請選1.8.0) 按下Run，MCBE Geometry預設會建立一個檔案，按下save as \u0026quot;armor_stand.geo.json\u0026quot;\n3. 第三種方法：用Skin Studio轉換 # Mr.Arm的Skin Studio網頁程式適合將obj修改成人形模型，該網站提供玩家模型骨骼，將其與obj結合，輸出成JSON檔案，然後就可以套用玩家的動畫。\n網址：https://mrarm.io/skinstudio/\n如果你覺得功能不夠，可以去自行下載網站程式碼進行修改(Github上的是舊的)。\n影片教學：\n以這個MMD模型為例，我要將它修改作為玩家的模型，因此光轉檔不夠，還要製作骨骼。\n由於MMD材質不只有一張，所以要先匯入pmx到Blender中，然後手動重新UV。 相關文章：MMD模型移植到Minecraft基岩版\n移植完UV後，開始用選取工具切手手，separate by selection，切出「頭」、「手」、「腳」、「身體」，並用Collection分類。 pivot point不用現在就定位，但可以對模型做漏洞修補。選取多個vertex再按F可以把洞填起來。\n在每個身體部位的Collection，按住shift 選取全部mesh，crtl + J合併每個collection裡面的mesh。 按照Minecraft原版玩家模型的格式，整理成如下模樣。 匯入空白玩家的obj模型(可至這部影片下載)，用於比對大小。 通常MMD模型會跟玩家模型180度相反，所以要旋轉，且MMD人物還要縮小比例。 匯出成.obj檔案，右邊的Path Mode模式記得選Copy。 開啟Skin Studio，上傳模型和材質。\n整理mesh的用意就在於此，每個身體部位應該都只有一個mesh。 點選mesh，再按上方的Bone，移動到對應的部位bone裡面。 調整pivot point，這個編輯器是以玩家的模型為基礎，因此能用畫面上的箭頭直接拉。 按下Export匯出，會得到一個皮膚包檔案。\n可以參考下文了解皮膚包如何使用，或者把geometry整合到資源包裡面。\n匯出的geometry ID預設是n01，記得要開啟檔案修改(建議用電腦開啟大型json檔案)。\n相關文章：Minecraf基岩版4D皮膚 \u0026amp; 披風 \u0026amp; 皮膚包製作教學\n","date":"2024年5月7日","externalUrl":null,"permalink":"/posts/minecraft-add-on-import-obj-model/","section":"Minecrafts","summary":"Wavefront OBJ是3D建模常見的格式之一，現在你可以在Minecraft Add-Pn使用了！Minecraft基岩版1.14之後實驗性的加入obj模型支援。\n相較於過去基岩版Add-On，玩家用Blockbench方塊堆成的模型，obj格式允許玩家製作更精細的polygon模型。\n例如這個MannixWu提供的作品 從網路上下載來的模型，GTA VC的Tommy。 這篇文章討論三種轉換obj模型的方法，模型僅供教學用途。\nOBJ模型與JSON檔案的關係 # 基岩版的JSON只支援單張紋理貼圖的obj模型。 obj格式的模型不能直接在Add-On中使用，必須要轉換成JSON。 Obj模型必須有UV資訊，否則JSON裡UV為空的話Minecraft會閃退。 轉換成JSON後，就沒辦法再編輯了，Blockbench 4.0還不支援編輯含有obj數據的JSON。\nMinecraft基岩版的模型檔案都是以JSON儲存，obj也不例外，JSON直接在骨骼裡面儲存網格(mesh)的數據。\nJSON記載的只有模型和UV的資訊，而且檔案也會比較大。但因為有骨骼，要做動畫還是有可能的，不過還沒有能用的編輯器面世。\n","title":"在Minecraft基岩版Add-On匯入obj格式的模型","type":"minecraft"},{"content":" 1. 前言 # 如果說要為Minecraft模組製作方塊風格的3D模型，最適合的應用程式？那就是Blockbench！\nBlockbench可製作Minecraft Java版和基岩版的方塊、物品、實體模型，繪製貼圖，製作動畫。本程式提供跨平台選項，甚至平板用網頁版都能建模；還有很多插件支援不同渲染引擎的模型，還能多人協作編輯同一個模型。\n因此，要製作low-poly、像素風的模型，Blockbench是最齊全的工具。\n發展這幾年以來，已有很多使用Blockbench製作的漂亮作品。Mojang甚至在Minecraft Live上推薦大家使用。 Blockbench目前已支援繁體中文。點選文件→首選項→設置，切換成繁體中文(臺灣)。想參與和改進翻譯請按這裡閱讀說明！\n2. 下載安裝Blockbench # Blockbench支援Linux、Windows、macOS。請到官網下載適用你作業系統的安裝包。\n或者，你也可以使用Chrome瀏覽器開啟PWA網頁版，但網頁版可能無法使用GPU硬體加速和使用部分插件。\nBlockbench作者的Twitter:：https://twitter.com/JannisX11 Github：https://github.com/JannisX11/blockbench 加入官方Discord群組：http://discord.blockbench.net 3. Blockbench基本功能 # 首次開啟可按照個人喜好綁定按鍵，我會選擇「預設」或Blender的鍵位。 主介面的面板會列出幾大模型格式。你可以點選檔案匯入已經做好的json模型。 一般模型：製作多邊形obj模型，適用於其他3D軟體。Minecraft基岩版需要特殊技巧才能使用。 Java版方塊/模型：製作Java版方塊或者物品。 基岩版模型：製作基岩版Add-On的實體模型。 模組實體：製作實體，並輸出成Forge和Fabric使用的Java程式碼。 Optifine實體：製作搭配CSM的自定義實體模型。 Minecraft皮膚：3D繪製皮膚模式。 下面功能最多的基岩版實體模型做示範。\n4. 儲存專案 # Blockbench可按檔案 → 儲存專案，將目前編輯的專案儲存成.bbmodel的專案檔，裡面會包含模型、紋理、動畫json的檔案。\n按檔案 → 轉換專案，可轉換模型格式，例如皮膚轉成基岩版模型，但若UV模式不支援，UV會錯位。\n除了Minecraft專用的模型格式外，Blockbench也可以將模型匯出為.obj和.glTF格式。\n5. 編輯模式 # 選定好模型之後會要求輸入模型識別符，UV模式可選Box UV或Preface-UV。二者差別在於能否製作小於1x1x1的模型，但是注意的是Preface-UV會導致材質難以上色。 進入主編輯介面，如果選的鍵位是預設/Blender的話，按住滑鼠中鍵旋轉視角，滾輪縮放，右鍵按住偏移視角。鍵盤九宮格數字鍵可快速切換視角。 3.在右下角的面板，模型最小的單位是立方體(cube)，可透過右邊面板新增，拉伸和變化大小。 一個以上的立方體可使用骨骼(bone)將其歸類在一起。一個骨骼下可以有很多骨骼，藉此達到連動的效果。 在左邊的面板可以看到目前的UV情況，拖動亦能夠調整。 模型製作好後可點選檔案→匯出，匯出成基岩版json或其它3D格式儲存。 6. 繪畫模式 # 有了模型後，可按右上角切換至繪畫模式。如果模型沒有紋理，可從外部匯入圖檔，或者按左下角新增紋理按鈕，讓Blockbench按照模型自動排列UV，並生成空白的紋理。\n可指定預設生成的紋理貼圖顏色。 Blockbench會自動計算並重新排序UV，接著生成空白紋理。使用BoxUV的情況下，每個面的顏色都會不一樣，用於辨別方向。\n上方有很多繪畫工具，筆刷工具以像素為單位繪製，亦可以使用油漆桶工具快速填滿。支援繪圖板、Apple Pencil的筆壓。\n紋理製作好後對圖片按右鍵→另存為紋理貼圖。 7. 動畫模式 # 右上角點選動畫，進入動畫面板。\n按下左上角的+號新增動畫，檔案名稱必須為\u0026quot;animation.實體識別符.動畫名稱\u0026quot; ，迴圈模式預設是只播放一次。 在下方的面板可看到時間軸。基岩版的動畫是以關鍵影格(keyframe)來控制，最小控制單位為骨骼。\n左上角會顯示動畫總長度，先點選要製作動畫的骨骼後，在時間軸上按下+號新增畫格，告訴系統這一秒該骨骼要做什麼，可以是旋轉、移動座標、縮放。 對動畫名稱按二下，可開啟面板修改動畫播放模式，修改成循環就會一直播放。\n按一下動畫→匯出動畫，儲存成json檔案。\n8. 推薦插件 # 點選檔案→插件，安裝插件。\n以基岩版來說，個人推薦安裝以下插件：\nShape Generator：快速生成方塊組成的圓形 Minecraft Entity Wizard，圖形化介面創建實體模型，可從原版生物建立模型，以及建立程式檔案。 Ambient Occlusion：讓模型陰影更細緻，建議要拍照時再裝。 Bedrock Block Exporter：匯出基岩版方塊。 Seat Position + Hitbox：用於預覽實體騎乘的位置，和調整碰撞箱。 Plaster：解決Z-fighting。 9. 結語 # 有任何問題可至官方Discord提問！\n","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/blockbench-introduction/","section":"Minecrafts","summary":" 1. 前言 # 如果說要為Minecraft模組製作方塊風格的3D模型，最適合的應用程式？那就是Blockbench！\nBlockbench可製作Minecraft Java版和基岩版的方塊、物品、實體模型，繪製貼圖，製作動畫。本程式提供跨平台選項，甚至平板用網頁版都能建模；還有很多插件支援不同渲染引擎的模型，還能多人協作編輯同一個模型。\n因此，要製作low-poly、像素風的模型，Blockbench是最齊全的工具。\n發展這幾年以來，已有很多使用Blockbench製作的漂亮作品。Mojang甚至在Minecraft Live上推薦大家使用。 Blockbench目前已支援繁體中文。點選文件→首選項→設置，切換成繁體中文(臺灣)。想參與和改進翻譯請按這裡閱讀說明！\n2. 下載安裝Blockbench # Blockbench支援Linux、Windows、macOS。請到官網下載適用你作業系統的安裝包。\n或者，你也可以使用Chrome瀏覽器開啟PWA網頁版，但網頁版可能無法使用GPU硬體加速和使用部分插件。\nBlockbench作者的Twitter:：https://twitter.com/JannisX11 Github：https://github.com/JannisX11/blockbench 加入官方Discord群組：http://discord.blockbench.net 3. Blockbench基本功能 # 首次開啟可按照個人喜好綁定按鍵，我會選擇「預設」或Blender的鍵位。 ","title":"Blockbench入門教學，製作Minecraft基岩版模型","type":"minecraft"},{"content":"","date":"2024年5月6日","externalUrl":null,"permalink":"/tags/minecraft-resource-pack/","section":"標籤","summary":"","title":"Minecraft Resource Pack","type":"tags"},{"content":"老兄，你不酷喔！ 影片教學：\n適用Java版和基岩版，不需要模組，透過資源包實現。\n先讀完基礎教學:\nJava版 教學/製作資源包 基岩版 教學/製作資源附加包 要把床變成抱枕，只要修改床的材質即可。\n按這裡下載基岩版的空資源包，裡面只保留原版床和畫的材質。\n床的材質位於/textures/entity/bed/ 床的正面約為圖片藍框有枕頭和棉被的地方。因為床有很多顏色，你可以在一個資源包內製作許多不同的抱枕。 到danbooru或者yande.re下載抱枕的圖片(tag使用dakimakura + 動漫英文名稱搜尋)\n抱枕解析度通常都很高，所以要把床的解析度也放大。\n64x64 → 1024x1024，或者更高。 把抱枕貼到棉被處，儲存。 ","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/minecraft-create-dakimakura-bed/","section":"Minecrafts","summary":"老兄，你不酷喔！ 影片教學：\n適用Java版和基岩版，不需要模組，透過資源包實現。\n先讀完基礎教學:\nJava版 教學/製作資源包 基岩版 教學/製作資源附加包 要把床變成抱枕，只要修改床的材質即可。\n按這裡下載基岩版的空資源包，裡面只保留原版床和畫的材質。\n床的材質位於/textures/entity/bed/ 床的正面約為圖片藍框有枕頭和棉被的地方。因為床有很多顏色，你可以在一個資源包內製作許多不同的抱枕。 到danbooru或者yande.re下載抱枕的圖片(tag使用dakimakura + 動漫英文名稱搜尋)\n抱枕解析度通常都很高，所以要把床的解析度也放大。\n64x64 → 1024x1024，或者更高。 把抱枕貼到棉被處，儲存。 ","title":"Minecraft如何把床變成動漫抱枕，資源包製作教學","type":"minecraft"},{"content":"在1.16更新後，Minecraft基岩版的實體模型允許使用.obj格式的檔案，也就是說跟Java版一樣可以引入更精緻的模型。\n但是此系統尚未發展完全，甚至現在只支援單張材質的obj模型。現在這種模型已經很難找了。\n目前最簡單暴力的做法就是把模型的多張材質合併一張圖片，然後重新手動UV，再輸出.obj。\n這裡以MMD模型做示範和紀錄(理解原理的話也能對其他檔案如法炮製)，使用免費軟體blender進行操作。\n效果示意圖:\n尊敬的模型作者:つかさ\n這篇文章的模型僅供示範用途。\n本文示範的僅僅是靜態模型作法，其實也可以將其綁骨，變成玩家的模型，參考：在Minecraft基岩版Add-On匯入obj模型\n1. 流程 # 這個模型調整我大約花了2個小時，需對blender有操作基礎。\n另一個比較快的方法是用bake的，參閱這部影片。但是我嘗試的結果是pmx材質會亂掉。\n我的流程為:\nblender安裝可以處理pmx檔案的插件\n使用PhotoScape程式把原始pmx的材質拼成一張\nblender匯入mmd檔案，轉換後刪除骨架等等，只留下模型本身。\n先儲存專案，稱為原始檔。\n再開一個新檔案，重複3、4步驟\n將每個部位的material都指向合成在一起的材質。\n一邊看4.步驟儲存的檔案的UV位置，一邊調整5.的檔案的UV。\n輸出obj，然後用bridge匯入obj，轉換成Minecraft可讀取的模型。\n2. 開始庖丁解牛 # blender安裝pmx插件請參閱這裡 2.在MMD檔案的texture資料夾裡，把圖片全部合併成一張。記得要儲存成png，透明度為0。 blender在安裝好pmx插件後，Import選單會有.pmx的選項，匯入pmx檔案。 如果要預覽材質，請點畫面右上角的第三個球球。\n滑鼠點選模型的部分，旁邊的頁籤打開MMD面板，按下Convert Materials For Cycles。 然後再按下Separate by materials，會變成下圖這樣： 除了模型以外的都右鍵delete刪除(刪資料夾的話點Delete hierarchy)，只剩模型和Light、Camera。 這裡儲存成「原始檔」的專案。\n電腦記憶體夠大的話，重複3~4的步驟，再開一個專案，也就是同時開2個blender。\n新開的這個專案就是要修改的部分。\n按blender最上方的UV Editor，視窗會變成兩半。 在新開的這個專案中，滑鼠點選每個部件，模型中會出現橘色外框。然後點右下角的紅色地球，把MMD Texture裡的Texture路徑改成剛才合成為一張的材質。\n以此類推，所有部件都指向那個檔案。 這時模型的材質應該就亂掉了。\n開始進行UV修改，點選一個部件後，按下Tab，會進入Edit Mode。左邊的視窗開啟合成為一張的材質。 展開的UV會顯示出來，按下A全選變成橘色的。或者左上角Island Mode選取。 怎麼知道這個UV要放在哪? 這時就要開啟原始檔的專案來看看，例如這個腰帶的位置: 這樣就可以很清楚的知道要進行位移的位置了。\n在選取的時候按下S，可以縮放UV；按下G，則可以移動UV。\n全部調整完之後再按Export匯出obj檔案。\n這就會得到一個記載UV訊息的obj檔，材質則是合成好的那一張。\n開啟bridge. v1的專案，按下Files，Import Obj model ，選取剛才的檔案和材質。 然後整合到Add-on裡面看看效果。 ","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/minecraft-add-on-import-mmd-model/","section":"Minecrafts","summary":"在1.16更新後，Minecraft基岩版的實體模型允許使用.obj格式的檔案，也就是說跟Java版一樣可以引入更精緻的模型。\n但是此系統尚未發展完全，甚至現在只支援單張材質的obj模型。現在這種模型已經很難找了。\n目前最簡單暴力的做法就是把模型的多張材質合併一張圖片，然後重新手動UV，再輸出.obj。\n這裡以MMD模型做示範和紀錄(理解原理的話也能對其他檔案如法炮製)，使用免費軟體blender進行操作。\n效果示意圖:\n尊敬的模型作者:つかさ\n這篇文章的模型僅供示範用途。\n本文示範的僅僅是靜態模型作法，其實也可以將其綁骨，變成玩家的模型，參考：在Minecraft基岩版Add-On匯入obj模型\n1. 流程 # 這個模型調整我大約花了2個小時，需對blender有操作基礎。\n另一個比較快的方法是用bake的，參閱這部影片。但是我嘗試的結果是pmx材質會亂掉。\n我的流程為:\nblender安裝可以處理pmx檔案的插件\n使用PhotoScape程式把原始pmx的材質拼成一張\nblender匯入mmd檔案，轉換後刪除骨架等等，只留下模型本身。\n先儲存專案，稱為原始檔。\n再開一個新檔案，重複3、4步驟\n將每個部位的material都指向合成在一起的材質。\n一邊看4.步驟儲存的檔案的UV位置，一邊調整5.的檔案的UV。\n","title":"將MMD模型移植到Minecraft基岩版的Add-On，以.obj格式載入","type":"minecraft"},{"content":"Minecraft基岩版允許新增粒子(particle)，粒子可用於輔助實體動畫，或用作槍械的煙霧特效。\n粒子都是2D圖像，因此只有XY寬高二個數值。要新增粒子，只需要用到資源包。另外可以結合行為包讓粒子有條件顯示在實體上。\n文章最後可以下載我製作的JoJo粒子範本。\n影片版過程參考\n1. 使用Snowstorm製作粒子 # 粒子不需要模型檔案，只由資源包裡粒子本身的json和材質圖片構成。\n使用JannisX製作的Snowstorm工具可以像建模一樣線上預覽、製作粒子，也能匯入做好的粒子檔案參考。這個程式也有VSCode擴充功能版。\n進入後就是編輯畫面。 按一下上方的Examples就能載入範本，例如彩虹、下雨。這時可以觀察左邊面板變數的變化。 或者按\u0026quot;Files\u0026quot;，\u0026ldquo;Import\u0026rdquo;，從遊戲原版資源包的particles/資料夾選取json，載入遊戲中的粒子。 粒子的組件可以在左邊的面板調整，並且結果會馬上反映在右邊的畫面。\n組件的詳細說明看下一段，這裡簡單調整好之後點選\u0026quot;Files\u0026quot;，\u0026ldquo;Download\u0026quot;就會得到一個粒子的json檔案。\n這裡我製作了一個JoJo的粒子，是從範本裡面的\u0026quot;Fire\u0026quot;改造來的。 將粒子的json放到資源包的particles/資料夾，識別符為myparticle:jojogo 粒子的材質jojogo.png放在/textures/particle/。另外我製作的Jojo粒子材質其實是長這樣，256x512： 2. 粒子的組件用途 # 具體內容可參考官方文檔。\n只看文字說明會比較抽象，直接來看Snowstorm裡面提供的選項： 1. Emitter\nMode: Steady為讓粒子連續產生，Instant為產生一次。\nRate: 產生數量。\nShape Mode: 選擇一群粒子生成的形狀，有point、disc、sphere、box可以選。\nAppearance: Size是粒子XY大小；Material可以選擇Alpha顯示透明圖層，或是Opaque不透明。Facing則是要朝向哪個方向。\nMotion: 可給粒子添加加速度，以及設定生成的方向。\nLifetime: 設定粒子多久後會消失，預設使用Time的話就是按照Max Age所設定的時間，到了就會消失。\nTexture: 粒子的材質\nTexture Size: 粒子材質的實際圖片大小。\n(接下來的屬性如果要做動圖就會用到，例如遊戲中的火焰粒子)\nUV Start: 粒子的材質從UV哪個座標為起始點。\nUV Size: 粒子的UV大小。\nUV Step: 粒子動畫每步移動的UV距離。\nMax Frame: 最大畫格數，至少應該大於實際的畫格率。\n例如，原本我的粒子只是這樣: 設定動畫後會快速切換成其他顏色：\n所以這個動畫有二個畫格，Max Frame就不應該小於2。 3. particle指令用法 # 要讓實體製造粒子，很多組件都能在觸發行為時順便生成，例如\u0026quot;minecraft:projectile\u0026quot;可設定拋射物的粒子。\n而/particle指令也可以用來顯示自訂的粒子:\n例如：\n/particle myparticle:jojogo ~ ~ ~ 基岩版的原版粒子列表可以參考這裡。 4. 讓粒子跟著實體 (動畫) # 先了解Add-On如何新增實體\n另外可以參考原版資源包烈焰神和貓的檔案，看是如何生成粒子的。\n可在動畫(animation)畫格直接新增粒子，或者使用動畫控制器(animation controller)。\n首先在資源包entity/的實體檔案聲明要使用的粒子： //... \u0026#34;animations\u0026#34;: {}, \u0026#34;particle_effects\u0026#34;: { //jojogo是粒子代號 \u0026#34;jojogo\u0026#34;: \u0026#34;myparticle:jojogo\u0026#34; }, \u0026#34;scripts\u0026#34;: {} //... 該實體的模型檔案裡必須用Blockbnech在骨骼新增定位器(locator)這個元素，例如我想要讓粒子附著在手上: 在動畫模式中，聲明要使用粒子(按時間軸上的\u0026quot;Animate Effect\u0026quot;魔術棒按鈕)\n左下角的Keyframe欄位，Effect就是實體檔案聲明的粒子效果代號。\nlocator則是剛剛在實體模型新增的定位器。 這樣這個動畫播放時就會產生粒子。 也可以改在動畫控制器設定要顯示粒子的時機:\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.10.0\u0026#34;, \u0026#34;animation_controllers\u0026#34;: { \u0026#34;controller.animation.shimakaze.move\u0026#34;: { \u0026#34;states\u0026#34;: { \u0026#34;default\u0026#34;: { \u0026#34;animations\u0026#34;: [ { \u0026#34;move\u0026#34;: \u0026#34;query.modified_move_speed\u0026#34; } ], \u0026#34;particle_effects\u0026#34;: [ { \u0026#34;effect\u0026#34;: \u0026#34;jojogo\u0026#34; } ] } } } } } 如果要讓粒子精確的附著在某一個骨骼，就加上定位器：\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.10.0\u0026#34;, \u0026#34;animation_controllers\u0026#34;: { \u0026#34;controller.animation.shimakaze.move\u0026#34;: { \u0026#34;states\u0026#34;: { \u0026#34;default\u0026#34;: { \u0026#34;animations\u0026#34;: [ { \u0026#34;move\u0026#34;: \u0026#34;query.modified_move_speed\u0026#34; } ], \u0026#34;particle_effects\u0026#34;: [ { \u0026#34;effect\u0026#34;: \u0026#34;jojogo\u0026#34;, \u0026#34;locator\u0026#34;: \u0026#34;locator\u0026#34; } ] } } } } } 範本下載 # 只有資源包，按這裡下載。\n也可於Github檢視原始碼。\n在實體上新增粒子的原理已經寫在上面了，剩下的是少女的秘密。\n","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/minecraft-add-on-custom-particles/","section":"Minecrafts","summary":"Minecraft基岩版允許新增粒子(particle)，粒子可用於輔助實體動畫，或用作槍械的煙霧特效。\n粒子都是2D圖像，因此只有XY寬高二個數值。要新增粒子，只需要用到資源包。另外可以結合行為包讓粒子有條件顯示在實體上。\n文章最後可以下載我製作的JoJo粒子範本。\n影片版過程參考\n1. 使用Snowstorm製作粒子 # 粒子不需要模型檔案，只由資源包裡粒子本身的json和材質圖片構成。\n使用JannisX製作的Snowstorm工具可以像建模一樣線上預覽、製作粒子，也能匯入做好的粒子檔案參考。這個程式也有VSCode擴充功能版。\n進入後就是編輯畫面。 按一下上方的Examples就能載入範本，例如彩虹、下雨。這時可以觀察左邊面板變數的變化。 或者按\"Files\"，“Import”，從遊戲原版資源包的particles/資料夾選取json，載入遊戲中的粒子。 粒子的組件可以在左邊的面板調整，並且結果會馬上反映在右邊的畫面。\n組件的詳細說明看下一段，這裡簡單調整好之後點選\"Files\"，“Download\"就會得到一個粒子的json檔案。\n這裡我製作了一個JoJo的粒子，是從範本裡面的\"Fire\"改造來的。 ","title":"自訂粒子 \u0026 給實體添加粒子效果｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"Minecraft基岩版允許自訂生態系，並在世界中生成建築物。\n例如Expansive Fantasy和Expansive Biomes這二個Add-On，不只新增地形豐富的生態系，還有新生物。\n這篇文章會教學製作一個生成機率很高的「糖果」生態系，並在裡面生成糖果樹、糖果屋。\n新增的方塊有糖果草地、糖果磚、糖果樹幹，這個生態系會以這些方塊做為基礎。 影片版教學：\n1. 新增糖果方塊 # 這部分的細節參考如何新增方塊。\n總共新增糖果草地、糖果土、糖果樹幹、糖果樹葉方塊。 2. 準備建築物 # Mineraft Add-On的建築物可以用結構方塊來儲存。\n在新增生態系前，先使用糖果方塊蓋好房子，拿出Minecraft原版的結構方塊，把這個糖果屋儲存成.structure檔案。\n注意結構方塊儲存時，命名空間只能使用\u0026quot;mystructure\u0026quot;，然後不要把結構方塊本身也儲存進去。如果希望裡面有生物的話，儲存時可勾選包含實體。\n例如這個檔案儲存成candy_house.mcstructure。把該檔案放到行為包的structures/資料夾裡面。 如果不會用結構方塊可以看這部影片：\n3. 新增生態系 # 這個糖果生態系會以糖果草地作為表層，然後底下的方塊都是糖果土。\n不過1.17大改世界生成的機制，因此這個只會生成在地表附近，地下可能還是會有天然洞穴。\n在行為包biomes資料夾新增candy_biome.json，這個檔案定義了糖果生態系的構成方塊以及生成機率。輸入以下內容：\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.17.0\u0026#34;, \u0026#34;minecraft:biome\u0026#34;: { \u0026#34;description\u0026#34;: { //不需要命名空間 \u0026#34;identifier\u0026#34;: \u0026#34;candy_biome\u0026#34; }, \u0026#34;components\u0026#34;: { //氣候 \u0026#34;minecraft:climate\u0026#34;: { \u0026#34;downfall\u0026#34;: 0.2, \u0026#34;temperature\u0026#34;: 15 }, //地形高度 \u0026#34;minecraft:overworld_height\u0026#34;: { \u0026#34;noise_type\u0026#34;: \u0026#34;lowlands\u0026#34;, \u0026#34;noise_params\u0026#34;: [ 0.4, 0.6 ] }, //生成的方塊 \u0026#34;minecraft:surface_parameters\u0026#34;: { //河的深度 \u0026#34;sea_floor_depth\u0026#34;: 5, \u0026#34;sea_floor_material\u0026#34;: \u0026#34;minecraft:water\u0026#34;, //地下方塊 \u0026#34;foundation_material\u0026#34;: \u0026#34;bridge:dirt_candy\u0026#34;, \u0026#34;mid_material\u0026#34;: \u0026#34;bridge:dirt_candy\u0026#34;, //表層方塊 \u0026#34;top_material\u0026#34;: \u0026#34;bridge:grass_candy\u0026#34;, \u0026#34;sea_material\u0026#34;: \u0026#34;minecraft:water\u0026#34; }, //生成機率 \u0026#34;minecraft:overworld_generation_rules\u0026#34;: { //以氣候來判別 \u0026#34;generate_for_climates\u0026#34;: [ [ \u0026#34;medium\u0026#34;, 80 ], [ \u0026#34;warm\u0026#34;, 80 ], [ \u0026#34;cold\u0026#34;, 80 ] ] }, //識別用的標籤 \u0026#34;candy_biome\u0026#34;: {} } } } 4. 設定建築物生成條件 # 放好.mcstructure檔案之後，再來就是設定生成條件。\n建築物、樹、礦物等都屬於feature，因此在行為包features/資料夾新增candy_house.json：\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.13.0\u0026#34;, \u0026#34;minecraft:structure_template_feature\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;bridge:candy_house\u0026#34; }, //結構方塊儲存時只能以mystructure當命名空間 \u0026#34;structure_name\u0026#34;: \u0026#34;mystructure:candy_house\u0026#34;, \u0026#34;adjustment_radius\u0026#34;: 4, //可指定生成時面朝東南西北，或者隨機 \u0026#34;facing_direction\u0026#34;: \u0026#34;random\u0026#34;, //生成要素 \u0026#34;constraints\u0026#34;: { \u0026#34;grounded\u0026#34;: {}, \u0026#34;unburied\u0026#34;: {}, \u0026#34;block_intersection\u0026#34;: { \u0026#34;block_allowlist\u0026#34;: [ \u0026#34;minecraft:air\u0026#34; ] } } } } 再來設定生成條件，行為包feature_rules/資料夾新增candy_house_feature.json：\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.13.0\u0026#34;, \u0026#34;minecraft:feature_rules\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;bridge:candy_house_feature\u0026#34;, \u0026#34;places_feature\u0026#34;: \u0026#34;bridge:candy_house\u0026#34; }, \u0026#34;conditions\u0026#34;: { \u0026#34;placement_pass\u0026#34;: \u0026#34;before_surface_pass\u0026#34; }, \u0026#34;distribution\u0026#34;: { \u0026#34;iterations\u0026#34;: 10, \u0026#34;x\u0026#34;: { \u0026#34;distribution\u0026#34;: \u0026#34;uniform\u0026#34;, \u0026#34;extent\u0026#34;: [ 0, 8 ] }, \u0026#34;y\u0026#34;: { \u0026#34;distribution\u0026#34;: \u0026#34;uniform\u0026#34;, \u0026#34;extent\u0026#34;: [ 0, \u0026#34;query.heightmap(variable.worldx, variable.worldz) * 1.5\u0026#34; ] }, \u0026#34;z\u0026#34;: { \u0026#34;distribution\u0026#34;: \u0026#34;uniform\u0026#34;, \u0026#34;extent\u0026#34;: [ 0, 8 ] } } } } 5. 新增糖果樹 # 樹木也可以當成建築物來處理，但Minecraft有內建的樹木生成feature可以使用，類似的還有礦物feature、植物feature、紫水晶feature，這些feature可直接套用Minecraft原版的生成機制。\n在行為包features/資料夾，定義糖果樹的feature，新增candy_tree.json：\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.17.0\u0026#34;, \u0026#34;minecraft:tree_feature\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;bridge:candy_tree\u0026#34; }, \u0026#34;base_block\u0026#34;: [ \u0026#34;bridge:grass_candy\u0026#34; ], //樹叢 \u0026#34;base_cluster\u0026#34;: { \u0026#34;may_replace\u0026#34;: [ \u0026#34;minecraft:air\u0026#34; ], \u0026#34;cluster_radius\u0026#34;: 5, \u0026#34;num_clusters\u0026#34;: 5 }, //生長的方塊 \u0026#34;may_grow_on\u0026#34;: [ { \u0026#34;name\u0026#34;: \u0026#34;bridge:grass_candy\u0026#34; } ], \u0026#34;may_replace\u0026#34;: [ { \u0026#34;name\u0026#34;: \u0026#34;minecraft:air\u0026#34; } ], //樹幹 \u0026#34;fancy_trunk\u0026#34;: { \u0026#34;trunk_block\u0026#34;: \u0026#34;bridge:log_candy\u0026#34;, \u0026#34;trunk_height\u0026#34;: { \u0026#34;base\u0026#34;: 12, \u0026#34;variance\u0026#34;: 9, \u0026#34;scale\u0026#34;: 1 }, \u0026#34;trunk_width\u0026#34;: 2, \u0026#34;width_scale\u0026#34;: 1, \u0026#34;foliage_altitude_factor\u0026#34;: 0.5, \u0026#34;branches\u0026#34;: { \u0026#34;slope\u0026#34;: 0.5, \u0026#34;density\u0026#34;: 0.2, \u0026#34;min_altitude_factor\u0026#34;: 0 } }, //樹葉 \u0026#34;fancy_canopy\u0026#34;: { \u0026#34;height\u0026#34;: 5, \u0026#34;radius\u0026#34;: 5, \u0026#34;leaf_block\u0026#34;: \u0026#34;bridge:leave_candy\u0026#34; } } } 然後在feature_rules/新增生成條件的candy_tree_feature.json:\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.13.0\u0026#34;, \u0026#34;minecraft:feature_rules\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;bridge:candy_tree_feature\u0026#34;, //要生成的feature \u0026#34;places_feature\u0026#34;: \u0026#34;bridge:candy_tree\u0026#34; }, \u0026#34;conditions\u0026#34;: { //生成在表面或洞穴 \u0026#34;placement_pass\u0026#34;: \u0026#34;before_surface_pass\u0026#34; }, //生成散佈 \u0026#34;distribution\u0026#34;: { //生成機率，可超過100，鑽石為1 \u0026#34;iterations\u0026#34;: 100, \u0026#34;x\u0026#34;: { \u0026#34;distribution\u0026#34;: \u0026#34;uniform\u0026#34;, \u0026#34;extent\u0026#34;: [ 0, 8 ] }, \u0026#34;y\u0026#34;: { \u0026#34;distribution\u0026#34;: \u0026#34;uniform\u0026#34;, \u0026#34;extent\u0026#34;: [ 0, \u0026#34;query.heightmap(variable.worldx, variable.worldz) * 1.5\u0026#34; ] }, \u0026#34;z\u0026#34;: { \u0026#34;distribution\u0026#34;: \u0026#34;uniform\u0026#34;, \u0026#34;extent\u0026#34;: [ 0, 8 ] } } } } 範本下載 # 世界選項測試版遊戲全部開啟，但1.17的新洞穴機制不要開。\n按這裡下載。\nBedrock Wiki上的教學，裡面有各種屬性的詳細解釋。 ","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/minecraft-add-on-custom-biome/","section":"Minecrafts","summary":"Minecraft基岩版允許自訂生態系，並在世界中生成建築物。\n例如Expansive Fantasy和Expansive Biomes這二個Add-On，不只新增地形豐富的生態系，還有新生物。\n這篇文章會教學製作一個生成機率很高的「糖果」生態系，並在裡面生成糖果樹、糖果屋。\n新增的方塊有糖果草地、糖果磚、糖果樹幹，這個生態系會以這些方塊做為基礎。 影片版教學：\n1. 新增糖果方塊 # 這部分的細節參考如何新增方塊。\n總共新增糖果草地、糖果土、糖果樹幹、糖果樹葉方塊。 2. 準備建築物 # Mineraft Add-On的建築物可以用結構方塊來儲存。\n在新增生態系前，先使用糖果方塊蓋好房子，拿出Minecraft原版的結構方塊，把這個糖果屋儲存成.structure檔案。\n注意結構方塊儲存時，命名空間只能使用\"mystructure\"，然後不要把結構方塊本身也儲存進去。如果希望裡面有生物的話，儲存時可勾選包含實體。\n例如這個檔案儲存成candy_house.mcstructure。把該檔案放到行為包的structures/資料夾裡面。 如果不會用結構方塊可以看這部影片：\n","title":"新增生態系並生成建築物｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"Minecraft (當個創世神，我的世界，麥塊) 可以在電腦、手機、主機上遊玩，其中分成了Java版和基岩版(Bedrock Edition)。\n這是Java版的標誌，請看清楚Java四個大字。 這是基岩版的標誌，所有平台都一樣。 1. 懶人包 # 這二個版本要買哪個，簡單一句話，大多數台灣實況主在玩的電腦版Minecraft，多半都是Java版。\n每個平台(手機、電腦、主機)，Minecraft主程式都要重買一次。 手機版、Windows版、主機版都算基岩版，基岩版最大的好處就是可以跨平台（手機+電腦）連線。 所謂的「電腦版」可以同時指「Java版」以及「Windows基岩版」。 Java版跟基岩版帳號不互通，伺服器不能互相連線，世界、模組、材質包也都不相容。 如果不玩模組、大型伺服器，只想要方便，用手機或主機跟人連線體驗原版遊戲的，選基岩版。\n否則就選發展比較久，功能比較強的Java版。\n要進一步考慮的，就請看下去。\n2. 發展簡史 # Minecraft在2011年由Mojang發表，使用Java編寫，這也就是為什麼玩Minecraft一定要先裝Java。理論上能裝Java的作業系統都能玩Minecraft，但得是Linux、Windows、macOS這類電腦用的系統。\n後來Mojang逐漸用不同程式語言編寫，將Minecraft移植到其他平台，有手機和遊戲主機，早期這些平台上的名字也都不一樣，手機的叫\u0026quot;Pocket Edition\u0026quot;，Xbox和PS4上的叫做\u0026quot;Console Edition\u0026quot;。\n2014年，微軟收購Mojang後，把Java版以外的都整合成叫基岩版，，還出了一個叫做Windows 10版本的基岩版，以及同屬於基岩版的「教育版」。\n在微軟的快速發展下，基岩版的遊戲內容已經跟Java版幾乎一樣了，細節差異部分下面再說明。\n3. 基岩版與Java版的比較 # 基岩版 Java版 支援的平台 Android、iOS、Windows、Nitendo、Switch、Sony Playstation、Microsoft Xbox Windows、macOS、Linux 程式語言 C++ Java 售價 不同平台價格不一樣，約在NT$230 ～ NT$919 NT$800 多人連線 有，基岩版即使裝置不同也能互連。 有 Realms 有 有 其他特色功能 基岩版內建「市集」可購買玩家或者官方製作的內容。綁定Xbox帳號則可以在所有基岩版平台上下載購買的內容。基岩版可以直接玩教育版的功能。 有數不清把Minecraft遊戲玩法完全翻轉的模組。大型伺服器。 細節遊戲內容差異 伺服器 有 有 光影 有，包括RTX 有，不是RTX，但沒有要求高規格顯卡也能以模組方式載入光影。 模組 有 有 資源包 有 有 指令支援NBT標籤 否 有 極限模式 否 有 遊戲版本選擇器 否 有 各種奇怪bug 有 有 詳細補充：\n關於「遊戲內容」的小細節差異，請到Minecraft Wiki搜尋想了解的條目點進去自己看。 例如基岩版有些紅石特性跟Java版不一樣，有些機關會做不出來。\nJava版獨有特性 - Minecraft Wiki 基岩版獨有特性 - Minecraft Wiki 基岩版的「模組」有很多種，官方的叫做Add-On，目前功能跟Java版能做到的差很多。\n基岩版沒有強迫一定要在市集花錢才能安裝資源包或地圖，免費資源還是有的，請按這裡了解。\n基岩版和Java版一樣，都會收到遊戲最新更新，例如1.17洞穴更新，兩者幾乎會同時發表正式版。\nJava版其實可以在手機上玩，但這不是官方支援的項目，請參閱Pojav Launcher。\n5. 台灣購買Minecraft管道 # 不建議你玩盜版Minecraft，程式可能有風險。\nJava版可以在官網刷卡購買，或是去超商買實體序號卡，認明上面有寫「Java Edition」就好。 購買後要註冊一個帳號，把序號輸入進去。\nJava版均一價NT$ 800，網拍可能會有更便宜的，但風險自負。\n基岩版，手機購買沒信用卡也能夠用電信代收，直接算到每月網路帳單裡。 主機版可買實體遊戲片或線上找拍賣買。\nAndroid - Google Play (NT$230) iOS - App Store (NT$ 230) Windows - 微軟商店 (NT$919)，有時後會跟Java版一起賣。 ","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-edition-vs-java-edition/","section":"Minecrafts","summary":"Minecraft (當個創世神，我的世界，麥塊) 可以在電腦、手機、主機上遊玩，其中分成了Java版和基岩版(Bedrock Edition)。\n這是Java版的標誌，請看清楚Java四個大字。 這是基岩版的標誌，所有平台都一樣。 1. 懶人包 # 這二個版本要買哪個，簡單一句話，大多數台灣實況主在玩的電腦版Minecraft，多半都是Java版。\n每個平台(手機、電腦、主機)，Minecraft主程式都要重買一次。 手機版、Windows版、主機版都算基岩版，基岩版最大的好處就是可以跨平台（手機+電腦）連線。 所謂的「電腦版」可以同時指「Java版」以及「Windows基岩版」。 Java版跟基岩版帳號不互通，伺服器不能互相連線，世界、模組、材質包也都不相容。 如果不玩模組、大型伺服器，只想要方便，用手機或主機跟人連線體驗原版遊戲的，選基岩版。\n否則就選發展比較久，功能比較強的Java版。\n要進一步考慮的，就請看下去。\n2. 發展簡史 # Minecraft在2011年由Mojang發表，使用Java編寫，這也就是為什麼玩Minecraft一定要先裝Java。理論上能裝Java的作業系統都能玩Minecraft，但得是Linux、Windows、macOS這類電腦用的系統。\n","title":"【詳細解說】什麼是Minecraft基岩版，跟Java版有什麼差?","type":"minecraft"},{"content":"學會這篇的內容，只需要一條指令，就能自動執行10條指令。\n並且還能夠不靠指令方塊，在背景按照設定好的條件自動執行指令。\n如果能活用指令，就能做出動態光源或者快速砍樹這類的Add-On。\n這個範本只需要用到行為包。\n影片教學：\n1. .mcfunction的用法 # .mcfunction可以儲存一系列指令，例如下面我寫了5個say\nsay I say am say the say best say Youtuber 將含有這些指令的檔案命名為myfunction.mcfunction\n放到行為包的/functions資料夾。\n載入到遊戲裡，用/function 指令 + 檔案名稱\n例如/function myfunction\n就會執行指令。\n行為包mcfunction也可以用資料夾分類，語法就會變成\n/function /資料夾/函數名稱 例如/function /sub/function1\n2. 自動執行指令 # 這個範例我不靠指令方塊，讓玩家在跑步時會有火焰粒子效果。 以玩家為主體，執行這個寫好的particles.mcfunction。\nparticle minecraft:basic_flame_particle ~ ~ ~ 從原版行為包複製player.json，插入動畫控制器\u0026quot;command\u0026quot;。 如果你有自訂實體也可以這樣做，只是要執行指令時記得改用execute開頭。\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.16.0\u0026#34;, \u0026#34;minecraft:entity\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;minecraft:player\u0026#34;, \u0026#34;is_spawnable\u0026#34;: false, \u0026#34;is_summonable\u0026#34;: false, \u0026#34;is_experimental\u0026#34;: false, //插入動畫控制器 \u0026#34;animations\u0026#34;: { \u0026#34;command\u0026#34;: \u0026#34;controller.animation.command\u0026#34; }, \u0026#34;scripts\u0026#34;: { \u0026#34;animate\u0026#34;: [ \u0026#34;command\u0026#34; ] } }, \u0026#34;component_groups\u0026#34;: { } } } 行為包新增animation_controllers資料夾，新增command_controller.json 輸入：\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.10.0\u0026#34;, \u0026#34;animation_controllers\u0026#34;: { \u0026#34;controller.animation.command\u0026#34;: { \u0026#34;states\u0026#34;: { //default，預設的狀態 \u0026#34;default\u0026#34;: { \u0026#34;transitions\u0026#34;: [ //條件為跑步時切換到particles { \u0026#34;particles\u0026#34;: \u0026#34;query.is_sprinting\u0026#34; } ] }, \u0026#34;particles\u0026#34;: { //一進入這個狀態就執行指令，也可以直接把多條指令打在這邊，用逗號分隔，不用mcfunction \u0026#34;on_entry\u0026#34;: [ \u0026#34;/function particles\u0026#34; ], \u0026#34;transitions\u0026#34;: [ //填1.0，代表無條件返回default的狀態 { \u0026#34;default\u0026#34;: \u0026#34;(1.0)\u0026#34; } ] } } } } } Query函數表見此 動畫控制器原本是用於控制動畫的，但是他也能執行指令。\n基本原理是，每個動畫控制器會在不同的狀態中切換\n例如我寫好的這個，他有二個狀態（state）:\n一個是default，一個是particles，當條件符合時，會切換到另一個狀態。在每個狀態裡面，會有transition的區塊，寫明切換到其他狀態的條件，像是從default到particles的條件，就是偵測玩家跑步，所以切換到particles。\n3. 製作指令延時器 # 如果你有這方面的需求，參考這篇文章。\n製作指令延時器的一點想法\n範本下載 # 按這裡下載這篇教學的範本檔案，檔案皆含有註解。\n也可於Github檢視原始碼。\n","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/minecraft-add-on-custom-mcfunction-commands/","section":"Minecrafts","summary":"學會這篇的內容，只需要一條指令，就能自動執行10條指令。\n並且還能夠不靠指令方塊，在背景按照設定好的條件自動執行指令。\n如果能活用指令，就能做出動態光源或者快速砍樹這類的Add-On。\n這個範本只需要用到行為包。\n影片教學：\n1. .mcfunction的用法 # .mcfunction可以儲存一系列指令，例如下面我寫了5個say\nsay I say am say the say best say Youtuber 將含有這些指令的檔案命名為myfunction.mcfunction\n放到行為包的/functions資料夾。\n載入到遊戲裡，用/function 指令 + 檔案名稱\n例如/function myfunction\n就會執行指令。\n行為包mcfunction也可以用資料夾分類，語法就會變成\n/function /資料夾/函數名稱 例如/function /sub/function1\n2. 自動執行指令 # 這個範例我不靠指令方塊，讓玩家在跑步時會有火焰粒子效果。 以玩家為主體，執行這個寫好的particles.mcfunction。\nparticle minecraft:basic_flame_particle ~ ~ ~ 從原版行為包複製player.json，插入動畫控制器\"command\"。 如果你有自訂實體也可以這樣做，只是要執行指令時記得改用execute開頭。\n","title":"新增mcfunction指令 \u0026 自動執行指令｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"","date":"2024年5月6日","externalUrl":null,"permalink":"/tags/minecraft-behavior-pack/","section":"標籤","summary":"","title":"Minecraft Behavior Pack","type":"tags"},{"content":"在遊戲中新增實體，從簡單的人物，到複雜的交通工具模型，使用Blockbench就能做出來。\n而Blockbench作者與Mojang合作發表的插件：「Minecraft Entity Wizard」\n更是可以按幾個按鈕，快速做出一個新增實體的Add-on。看完本篇之後請到文章末尾，查看更多有關實體的教學。\n這個教學可以在微軟官方文檔找到。\n影片版教學：\n1. 初始化Minecraft Entity Wizard # Blockbench只是用來做模型/材質/動畫的軟體。\n實體的行為可以在匯出後的檔案用Visual Studio Code或者bridge.做進一步編輯。\n安裝Blockbench\nBlockbench點選Files → Plugins → Avaiable的區塊，安裝\u0026quot;Mineraft Entity Wizard\u0026quot; Filter裡面會出現蜜蜂的圖示，點開就可以開始製作。 決定實體的名字\nDisplay Name是名字，例如Custom Entity。\nIdentifier是識別符，格式必須為 xx:xx，例如newmob:custom_entity\n選擇要使用的生物模板(範本)，例如哞菇。 使用生物行為，可使用原本的(Same Behavior)或者其他生物的行為。\n差異極大的生物使用不同行為可能會無法運作，請謹慎。 決定生怪蛋材質 Custom Texture可使用自己的圖片\nNone則不使用生怪蛋，要召喚這個生物只能用/summon。\n匯出模式: Export to Folder是建立資料夾 Integrate Into Pack，匯出到現有的Add-on的資料夾 Export as Mcaddon，自動打包 這裡先選Folder。\nPack Name是包名\nPack Author寫上自己的名字\nPack Icon自行挑選一張圖片。\n2. 編輯實體模型 # 匯入完成後，接著可以直接進Blockbench編輯實體。\n在Edit模式下，可以調整實體的模型，例如讓這隻哞菇多長幾朵蘑菇。 模型調整好後按Files，Export，Export Bedrock Geometry，儲存模型。 在Paint模式下，可以畫材質。 畫完後對材質點右鍵，Save。 在遊戲中就可以啟用剛建立的資源包和行為包。 Minecraft Entity Wizard所創建的資料夾位於C:Users使用者名稱AppDataLocalPackagesMicrosoft.MinecraftUWP_8wekyb3d8bbweLocalStategamescom.mojang裡面的development_resource_packs和development_behavior_packs。\n將行為包和資源包的資料夾壓縮成.zip，改副檔名成.mcaddon，即完成打包程序。\n基本上Minecraft Entity Wizard只是幫你完成了新增實體所需的「檔案」，如果要進一步調整實體行為，請參考以下文章:\n使用Add-on在遊戲中新增生物實體 讓Add-on新增的生物動起來！動畫製作教學 ","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/minecraft-add-on-minecraft-entity-wizard/","section":"Minecrafts","summary":"在遊戲中新增實體，從簡單的人物，到複雜的交通工具模型，使用Blockbench就能做出來。\n而Blockbench作者與Mojang合作發表的插件：「Minecraft Entity Wizard」\n更是可以按幾個按鈕，快速做出一個新增實體的Add-on。看完本篇之後請到文章末尾，查看更多有關實體的教學。\n這個教學可以在微軟官方文檔找到。\n影片版教學：\n1. 初始化Minecraft Entity Wizard # Blockbench只是用來做模型/材質/動畫的軟體。\n實體的行為可以在匯出後的檔案用Visual Studio Code或者bridge.做進一步編輯。\n安裝Blockbench\nBlockbench點選Files → Plugins → Avaiable的區塊，安裝\"Mineraft Entity Wizard\" Filter裡面會出現蜜蜂的圖示，點開就可以開始製作。 決定實體的名字\nDisplay Name是名字，例如Custom Entity。\nIdentifier是識別符，格式必須為 xx:xx，例如newmob:custom_entity\n選擇要使用的生物模板(範本)，例如哞菇。 使用生物行為，可使用原本的(Same Behavior)或者其他生物的行為。\n差異極大的生物使用不同行為可能會無法運作，請謹慎。 ","title":"使用Minecraft Entity Wizard快速新增實體｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"這篇文章承接上篇: Add-On 在遊戲中新增生物實體\n要教大家如何為自訂實體製作「動作」\n動作實際上就是一連串動畫(animations)組成。\n學完這個，恭喜你就擁有Mine-Imator做動畫的基本觀念了。\n動畫示例: 本篇繼續以神秘生物boku當例子。\n1. 透過Blockbench製作動畫 # 我使用Blockbench製作了4種不同條件下會觸發的動畫(左側列表)。\n分別是移動、耳朵擺動、攻擊、眼睛轉動。這些動畫不會同時播放，各自有其播放時機。 Blockbench按右上角的動畫切換到動畫區塊。\n新增動畫請點選左上角的+號，創建動畫。 能改的只有最後面的屬性。預設叫做new，這一長串就是動畫的真正名字。\n接下來點選右邊想要製作動畫的部位，例如我點選body，就會出現在下方的時間軸。 注意: 通常動畫是對操作骨骼，立方體不行。 時間軸上面的數字是「畫格」又稱幀，動畫的原理是告訴3D模型它在第幾秒要怎樣動作。\n此範例中，首先在第0秒的位置按+新增一個畫格，這個代表原點，動作完全不變。 接著在第0.5秒按+新增一個畫格，body就會出現轉軸，我拉動設定X軸旋轉20度。 在第1秒，我設定X軸旋轉-20度。 基本動畫就完成了。動畫的總時長依最後一個畫格決定，此範例共1秒。\n這裡提一下觀念，關於骨骼子母物件的問題。\n上面的例子，可以看到boku的身體動了，手腳卻沒跟著轉? 因為沒有設定子母物件的關係。\nQ: 如果想要「某個部位動的時候，其他部位也跟著動」應該怎麼做? 如果要製作關節，這點很重要。\nA: 參考盔甲架的結構\n盔甲架有一個叫做waist的bone，其餘所有的bone都放在這個bone下面，也就是成為它的子物件。 所以如果要製作這種連動，只要把一個bone塞到另一個bone下面就可以了。\n這是boku原本的bone結構，各個bone互不干涉。 用滑鼠全拖進去body裡面，這樣就全部變成body的子物件。 再看一次剛才做的動畫，整個手腳都跟著轉了。 最後要匯出動畫，按上方選單，匯出動畫 在Add-On的資源包資料夾新增一個叫做\u0026quot;animations\u0026quot;的資料夾，把檔案存進去。\n2. 在資源包註冊動畫 # 開啟資源包資料夾，開啟entity資料夾下的boku.json，就是註冊實體的那個檔案。\n注意format_version為1.10.0\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.10.0\u0026#34;, \u0026#34;minecraft:client_entity\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;newmob:boku\u0026#34;, \u0026#34;materials\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;entity_alphatest\u0026#34; }, \u0026#34;textures\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;textures/entity/boku\u0026#34; }, \u0026#34;geometry\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;geometry.boku\u0026#34; }, \u0026#34;render_controllers\u0026#34;: [ \u0026#34;controller.render.newmob\u0026#34; ], \u0026#34;spawn_egg\u0026#34;: { \u0026#34;texture\u0026#34;: \u0026#34;spawn_boku\u0026#34;, \u0026#34;texture_index\u0026#34;: 0 } } } } 在geometry\u0026quot;:{}後面加入的\u0026quot;animations\u0026quot;: {}程式碼，這就是新增動畫。\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.10.0\u0026#34;, \u0026#34;minecraft:client_entity\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;newmob:boku\u0026#34;, \u0026#34;materials\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;entity_alphatest\u0026#34; }, \u0026#34;textures\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;textures/entity/boku\u0026#34; }, \u0026#34;geometry\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;geometry.boku\u0026#34; }, \u0026#34;animations\u0026#34;: {}, \u0026#34;scripts\u0026#34;: { \u0026#34;animate\u0026#34;: [] }, \u0026#34;render_controllers\u0026#34;: [ \u0026#34;controller.render.newmob\u0026#34; ], \u0026#34;spawn_egg\u0026#34;: { \u0026#34;texture\u0026#34;: \u0026#34;spawn_boku\u0026#34;, \u0026#34;texture_index\u0026#34;: 0 } } } } animations這一段，輸入以下內容:\n\u0026#34;animations\u0026#34;: { \u0026#34;move\u0026#34;: \u0026#34;animation.boku.new\u0026#34;, \u0026#34;move_controller\u0026#34;: \u0026#34;controller.animation.boku.new\u0026#34; }, 我想製作移動時播放的動畫，第二行的\u0026quot;move\u0026quot;是簡短代號，用來表示後面那一長串用Blockbench做的時候輸出的字樣。\n\u0026ldquo;move_controller\u0026quot;是動畫控制器，用來設定什麼時候播放該動畫的條件。前面同樣是簡短代號，後面接的就是以\u0026quot;controller.\u0026ldquo;開頭，然後再接上面的\u0026quot;animation.boku.new\u0026rdquo;。\n註: 1.8.0以前動畫控制器是分開註冊，1.10.0之後就跟animations寫在一起了。\n如果不做動畫控制器，等同該實體生成時就會直接無條件播放動畫；每個不同動畫的動畫控制器也都得個別設定。\n接著移步到scripts\u0026quot;:{}，在\u0026quot;animate\u0026quot;的括號裡面新增:\n\u0026#34;scripts\u0026#34;: { \u0026#34;animate\u0026#34;: [ \u0026#34;move_controller\u0026#34; ] }, 告訴系統，請渲染這個動畫。因為move動畫由動畫控制器控制，所以填寫move_controller。\n因此資源包/entity/boku.json全部會長這樣:\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.10.0\u0026#34;, \u0026#34;minecraft:client_entity\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;newmob:boku\u0026#34;, \u0026#34;materials\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;entity_alphatest\u0026#34; }, \u0026#34;textures\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;textures/entity/boku\u0026#34; }, \u0026#34;geometry\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;geometry.boku\u0026#34; }, \u0026#34;animations\u0026#34;: { \u0026#34;move\u0026#34;: \u0026#34;animation.boku.new\u0026#34;, \u0026#34;move_controller\u0026#34;: \u0026#34;controller.animation.boku.new\u0026#34; }, \u0026#34;scripts\u0026#34;: { \u0026#34;animate\u0026#34;: [ \u0026#34;move_controller\u0026#34; ] }, \u0026#34;render_controllers\u0026#34;: [ \u0026#34;controller.render.newmob\u0026#34; ], \u0026#34;spawn_egg\u0026#34;: { \u0026#34;texture\u0026#34;: \u0026#34;spawn_boku\u0026#34;, \u0026#34;texture_index\u0026#34;: 0 } } } } 接著製作動畫控制器。在資源包新增animation_controllers資料夾，裡面新增名為boku_controller.json的檔案。\n輸入：\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.10.0\u0026#34;, \u0026#34;animation_controllers\u0026#34;: { \u0026#34;controller.animation.boku.move\u0026#34;: { \u0026#34;states\u0026#34;: { //預設狀態 \u0026#34;default\u0026#34;: { \u0026#34;animations\u0026#34;: [ { //要播放的動畫 + 條件 \u0026#34;move\u0026#34;: \u0026#34;query.modified_move_speed\u0026#34; } ] } } } } } 在\u0026quot;controller.animation.boku.move\u0026quot;的\u0026quot;animations\u0026quot;後面的陣列，填入的就是要執行的動畫。\n{\u0026quot;moving\u0026quot;: \u0026quot;query.modified_move_speed\u0026quot;}這段的意思是說，當後面的條件為true，就播放\u0026quot;move\u0026quot;這個動畫。\nquery.modified_move_speed這個是Molang語言，這裡用來偵測實體的移動速度，只要\u0026gt;0就會傳回true，代表實體在移動。\n經過這一番努力後，你的資料夾應該有以下項目 (圖片中的materials現在已不需要)。 開啟遊戲查看效果吧！\n3. 設定動畫重複播放 # 動畫為什麼只播放一次就停止了?\n輸出動畫前，可以按二下Blockbench的動畫名字，Loop mode點選\u0026quot;loop\u0026quot;再輸出。\n迴圈模式代表會重複播放，還有一個是播放完後，定格在最後一個關鍵畫格的選項。 或者，在註冊實體的檔案，scipts:{}的\u0026quot;animate\u0026quot;部分直接填入動畫名稱，就會無條件開始時播放。\n如果要進一步的重複播放，參考動畫控制器。\n4. 動畫控制器的狀態設定 # state是「狀態」，一個控制器下可以有多個states。\n以原版資源包鐵巨人的controller為例子:\n鐵巨人\u0026quot;states\u0026quot;下有\u0026quot;default\u0026quot;和\u0026quot;has_target\u0026quot;二種狀態，\u0026quot;initial_state\u0026quot;代表的是預設要載入哪個狀態。\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.10.0\u0026#34;, \u0026#34;animation_controllers\u0026#34;: { \u0026#34;controller.animation.iron_golem.move\u0026#34;: { \u0026#34;initial_state\u0026#34;: \u0026#34;default\u0026#34;, \u0026#34;states\u0026#34;: { //初始狀態 \u0026#34;default\u0026#34;: { \u0026#34;animations\u0026#34;: [ { //要播放的動畫 + 條件 \u0026#34;walk\u0026#34;: \u0026#34;query.modified_move_speed\u0026#34; } ], \u0026#34;transitions\u0026#34;: [ //滿足後面的條件則轉場到另一個狀態(has_target) { \u0026#34;has_target\u0026#34;: \u0026#34;query.has_target\u0026#34; } ] }, //has_target狀態 \u0026#34;has_target\u0026#34;: { \u0026#34;animations\u0026#34;: [ { //要播放的動畫 + 條件 \u0026#34;walk_to_target\u0026#34;: \u0026#34;query.modified_move_speed\u0026#34; } ], \u0026#34;transitions\u0026#34;: [ { //滿足後面的條件則轉場到另一個狀態(default) \u0026#34;default\u0026#34;: \u0026#34;!query.has_target\u0026#34; } ] } } } } } 這二個狀態是互相切換的關係，也就是符合條件就會切換到另一種狀態。\n在\u0026quot;default\u0026quot;狀態中，有上面提到的，當移動時播放\u0026quot;walk\u0026quot;這個動畫。\n於是你就看到了\u0026quot;transitions\u0026quot;:{}這段，這個叫做「轉場」。它跟\u0026quot;animations\u0026quot;:{}這段原理一樣，只要後面條件傳回true，就執行。 這裡的功用是切換狀態，如\u0026quot;query.has_target\u0026quot;傳回true時就切到\u0026quot;has_target\u0026quot;的狀態。\n\u0026quot;has_target\u0026quot;的狀態也有寫切換回\u0026quot;default\u0026quot;狀態的條件。\n如果條件是寫\u0026quot;1.0\u0026quot;的話，代表無條件執行。\nstates的應用是什麼? animation_controller可以放在行為包裡執行，做出假性「連閃器」讓Add-on重複執行遊戲內的指令。\n5. 使用演算法來製作動畫 # 如果連走路這種簡單的動畫都要用Blockbench慢慢拉，你還能怎麼做?\n使用三角函數來控制骨骼吧。\n原版資源包中，豬牛羊的腳部動畫都是使用quadruped.animation.json這個檔案，裡面長這樣:\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.8.0\u0026#34;, \u0026#34;animations\u0026#34;: { \u0026#34;animation.quadruped.walk\u0026#34;: { \u0026#34;anim_time_update\u0026#34;: \u0026#34;query.modified_distance_moved\u0026#34;, \u0026#34;loop\u0026#34;: true, \u0026#34;bones\u0026#34;: { \u0026#34;leg0\u0026#34;: { \u0026#34;rotation\u0026#34;: [ \u0026#34;math.cos(query.anim_time * 38.17) * 80.0\u0026#34;, 0.0, 0.0 ] }, \u0026#34;leg1\u0026#34;: { \u0026#34;rotation\u0026#34;: [ \u0026#34;math.cos(query.anim_time * 38.17) * -80.0\u0026#34;, 0.0, 0.0 ] }, \u0026#34;leg2\u0026#34;: { \u0026#34;rotation\u0026#34;: [ \u0026#34;math.cos(query.anim_time * 38.17) * -80.0\u0026#34;, 0.0, 0.0 ] }, \u0026#34;leg3\u0026#34;: { \u0026#34;rotation\u0026#34;: [ \u0026#34;math.cos(query.anim_time * 38.17) * 80.0\u0026#34;, 0.0, 0.0 ] } } } } } 請跟Blockbench輸出的檔案作比較。\n每個bone裡面，寫的不是畫格和座標，而是直接寫一條算式。如此一來可大幅減少麻煩。\n","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/minecraft-add-on-entity-animations/","section":"Minecrafts","summary":"這篇文章承接上篇: Add-On 在遊戲中新增生物實體\n要教大家如何為自訂實體製作「動作」\n動作實際上就是一連串動畫(animations)組成。\n學完這個，恭喜你就擁有Mine-Imator做動畫的基本觀念了。\n動畫示例: 本篇繼續以神秘生物boku當例子。\n1. 透過Blockbench製作動畫 # 我使用Blockbench製作了4種不同條件下會觸發的動畫(左側列表)。\n分別是移動、耳朵擺動、攻擊、眼睛轉動。這些動畫不會同時播放，各自有其播放時機。 Blockbench按右上角的動畫切換到動畫區塊。\n新增動畫請點選左上角的+號，創建動畫。 能改的只有最後面的屬性。預設叫做new，這一長串就是動畫的真正名字。\n接下來點選右邊想要製作動畫的部位，例如我點選body，就會出現在下方的時間軸。 注意: 通常動畫是對操作骨骼，立方體不行。 時間軸上面的數字是「畫格」又稱幀，動畫的原理是告訴3D模型它在第幾秒要怎樣動作。\n此範例中，首先在第0秒的位置按+新增一個畫格，這個代表原點，動作完全不變。 接著在第0.5秒按+新增一個畫格，body就會出現轉軸，我拉動設定X軸旋轉20度。 ","title":"用Blockbench製作實體動畫｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"想要自訂武器，或者是自訂方塊嗎？\n基岩版Add-on有一個特色: 方塊可以不是方形的，可以直接套用實體的模型檔案！\n文章目標：製作一把能夠合成的「超級劍」，使用會召喚閃電，只要拿在手上，玩家會持續獲得回復的狀態效果。並且新增一個能合成的「苦力怕方塊」，挖掉後會生成TNT。\n本文的例子，我們將製作方形與不規則形狀的二種方塊。雖外形不同但二者功能一樣。\n影片過程參考\n1. 自訂物品 # 這個超級劍的ID為newitem:supersword\n註冊物品 行為包新增items資料夾，新增檔案supersword.json，填入:\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.16.100\u0026#34;, \u0026#34;minecraft:item\u0026#34;: { \u0026#34;description\u0026#34;: { //物品ID \u0026#34;identifier\u0026#34;: \u0026#34;newitem:supersword\u0026#34;, //分類 \u0026#34;category\u0026#34;: \u0026#34;items\u0026#34; }, \u0026#34;components\u0026#34;: { //物品名稱，要在資源包的/texts/zh_TW.json編輯 \u0026#34;minecraft:display_name\u0026#34;: { \u0026#34;value\u0026#34;: \u0026#34;item.newitem:supersword.name\u0026#34; }, //創造背包中物品的分類 \u0026#34;minecraft:creative_category\u0026#34;: { \u0026#34;parent\u0026#34;: \u0026#34;itemGroup.name.items\u0026#34; }, //物品在手上的位置，圖片像素16x16以上就要重新設定座標。 \u0026#34;minecraft:render_offsets\u0026#34;: \u0026#34;tools\u0026#34;, //物品材質名稱(參照資源包/textures/item_texture所定義的) \u0026#34;minecraft:icon\u0026#34;: { \u0026#34;texture\u0026#34;: \u0026#34;supersword\u0026#34; }, //使用物品觸發事件 \u0026#34;minecraft:on_use\u0026#34;: { \u0026#34;on_use\u0026#34;: { \u0026#34;event\u0026#34;: \u0026#34;use\u0026#34; } }, //攻擊傷害 \u0026#34;minecraft:damage\u0026#34;: 20, //一組數量 \u0026#34;minecraft:max_stack_size\u0026#34;: 1, //冷卻時間 \u0026#34;minecraft:cooldown\u0026#34;: { \u0026#34;category\u0026#34;: \u0026#34;chorus_fruit\u0026#34;, \u0026#34;duration\u0026#34;: 5 } }, //事件 \u0026#34;events\u0026#34;: { \u0026#34;use\u0026#34;: { //發射物品 \u0026#34;shoot\u0026#34;: { \u0026#34;projectile\u0026#34;: \u0026#34;minecraft:snowball\u0026#34;, \u0026#34;launch_power\u0026#34;: 5, \u0026#34;angle_offset\u0026#34;: 20 }, //執行指令 \u0026#34;run_command\u0026#34;: { \u0026#34;command\u0026#34;: [ \u0026#34;summon lightning_bolt\u0026#34; ], \u0026#34;target\u0026#34;: \u0026#34;holder\u0026#34; } } } } } 這裡添加on_use這個組件，於是在玩家使用物品(點螢幕)時會執行events裡所寫的run_command。 Events區塊不只可以執行指令，也能修改為「添加狀態效果」或者「發射投射物」\n例如再加一個發射雪球，並且設定成和召喚閃電這個功能同時執行。\n如果材質解析度大於16x16，物品會偏移手中，就必須從render_offset這裡調整。可以自由設定物品在手中的位置以及縮放大小，可參考這篇文章解決。\n大部分的程式是在行為包，資源包只用來註冊材質。 在資源包的textures/的item_textures.json，用於註冊顯示物品的圖示路徑:\n{ \u0026#34;resource_pack_name\u0026#34;: \u0026#34;超級劍與苦力怕方塊資源包\u0026#34;, \u0026#34;texture_name\u0026#34;: \u0026#34;atlas.items\u0026#34;, \u0026#34;texture_data\u0026#34;: { \u0026#34;supersword\u0026#34;: { \u0026#34;textures\u0026#34;: \u0026#34;textures/items/supersword\u0026#34; } } } 將物品的材質放到/textures/items/下面，取名為supersword.png\n至此物品的基本功能完成。\n2. 自訂方塊 # 目前除非使用實體模型，否則方塊不會在創造背包出現。要用/give指令獲取。\n傳統方形方塊 # 這個方塊的ID為：newblock:creeperblock\n到行為包blocks資料夾下面新增creeprblock.json 輸入程式，設定玩家破壞後執行生成tnt的指令：\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.16.100\u0026#34;, \u0026#34;minecraft:block\u0026#34;: { \u0026#34;description\u0026#34;: { //方塊ID \u0026#34;identifier\u0026#34;: \u0026#34;newblock:creeperblock\u0026#34; }, \u0026#34;components\u0026#34;: { //當玩家敲碎方塊(生存模式)執行事件 \u0026#34;minecraft:on_player_destroyed\u0026#34;: { \u0026#34;event\u0026#34;: \u0026#34;spawn_tnt\u0026#34;, \u0026#34;target\u0026#34;: \u0026#34;self\u0026#34; } }, \u0026#34;events\u0026#34;: { //執行指令 \u0026#34;spawn_tnt\u0026#34;: { \u0026#34;run_command\u0026#34;: { \u0026#34;command\u0026#34;: [ \u0026#34;summon tnt\u0026#34;, \u0026#34;summon tnt\u0026#34;, \u0026#34;summon tnt\u0026#34; ] } } } } } 這裡要做一個傳統方形方塊。 跟實體不一樣，所有新增的方形方塊都在資源包的blocks.json裡面註冊。\n資源包的blocks.json寫上各個面的材質名稱。這個檔案裡面也可以註明方塊取用的聲音。\n{ \u0026#34;format_version\u0026#34;: [ 1, 1, 0 ], //方形苦力怕方塊 \u0026#34;newblock:creeperblock\u0026#34;: { \u0026#34;textures\u0026#34;: { \u0026#34;up\u0026#34;: \u0026#34;creeperblock_up\u0026#34;, \u0026#34;down\u0026#34;: \u0026#34;creeperblock_down\u0026#34;, \u0026#34;north\u0026#34;: \u0026#34;creeperblock_north\u0026#34;, \u0026#34;south\u0026#34;: \u0026#34;creeperblock_south\u0026#34;, \u0026#34;west\u0026#34;: \u0026#34;creeperblock_west\u0026#34;, \u0026#34;east\u0026#34;: \u0026#34;creeperblock_east\u0026#34; }, \u0026#34;sound\u0026#34;: \u0026#34;tnt\u0026#34; } } 註明材質路徑。textures/terrain_textures.json這個檔案就是記載方塊的材質路徑。 { \u0026#34;resource_pack_name\u0026#34;: \u0026#34;超級劍與苦力怕方塊資源包\u0026#34;, \u0026#34;texture_name\u0026#34;: \u0026#34;atlas.terrain\u0026#34;, \u0026#34;padding\u0026#34;: 8, \u0026#34;num_mip_levels\u0026#34;: 4, \u0026#34;texture_data\u0026#34;: { //方形苦力怕方塊 \u0026#34;creeperblock_north\u0026#34;: { \u0026#34;textures\u0026#34;: \u0026#34;textures/blocks/creeperblock/north\u0026#34; }, \u0026#34;creeperblock_east\u0026#34;: { \u0026#34;textures\u0026#34;: \u0026#34;textures/blocks/creeperblock/east\u0026#34; }, \u0026#34;creeperblock_west\u0026#34;: { \u0026#34;textures\u0026#34;: \u0026#34;textures/blocks/creeperblock/west\u0026#34; }, \u0026#34;creeperblock_south\u0026#34;: { \u0026#34;textures\u0026#34;: \u0026#34;textures/blocks/creeperblock/south\u0026#34; }, \u0026#34;creeperblock_up\u0026#34;: { \u0026#34;textures\u0026#34;: \u0026#34;textures/blocks/creeperblock/up\u0026#34; }, \u0026#34;creeperblock_down\u0026#34;: { \u0026#34;textures\u0026#34;: \u0026#34;textures/blocks/creeperblock/down\u0026#34; } } } 一般來說方塊的材質是放在資源包/textures/blocks/裡面。\n不規則形狀的方塊 # 這個不規則的方塊ID為：newblock:creeperblock_u\n在行為包blocks資料夾新增creeperblock_u.json，填入以下程式，只是這裡還要註明使用的模型以及材質，其餘功能則和上面的傳統方塊一樣。 { \u0026#34;format_version\u0026#34;: \u0026#34;1.16.100\u0026#34;, \u0026#34;minecraft:block\u0026#34;: { \u0026#34;description\u0026#34;: { //方塊ID \u0026#34;identifier\u0026#34;: \u0026#34;newblock:creeperblock_u\u0026#34; }, \u0026#34;components\u0026#34;: { //當玩家敲碎方塊(生存模式)執行事件 \u0026#34;minecraft:on_player_destroyed\u0026#34;: { \u0026#34;event\u0026#34;: \u0026#34;spawn_tnt\u0026#34;, \u0026#34;target\u0026#34;: \u0026#34;self\u0026#34; }, //指定使用實體模型 \u0026#34;minecraft:geometry\u0026#34;: \u0026#34;geometry.creeperblock_u\u0026#34;, //texture為資源包textures/terrain_texture.json裡面定義 \u0026#34;minecraft:material_instances\u0026#34;: { \u0026#34;*\u0026#34;: { \u0026#34;texture\u0026#34;: \u0026#34;creeperblock_u\u0026#34;, \u0026#34;render_method\u0026#34;: \u0026#34;blend\u0026#34;, \u0026#34;face_dimming\u0026#34;: true, \u0026#34;ambient_occlusion\u0026#34;: true } } }, \u0026#34;events\u0026#34;: { //執行指令 \u0026#34;spawn_tnt\u0026#34;: { \u0026#34;run_command\u0026#34;: { \u0026#34;command\u0026#34;: [ \u0026#34;summon tnt\u0026#34;, \u0026#34;summon tnt\u0026#34;, \u0026#34;summon tnt\u0026#34; ] } } } } } 若是不規則形狀的方塊就不用在資源包的blocks註冊方塊了，blocks.json的功用只剩下使用音效。 { \u0026#34;format_version\u0026#34;: [ 1, 1, 0 ], //方形苦力怕方塊 \u0026#34;newblock:creeperblock\u0026#34;: { \u0026#34;textures\u0026#34;: { \u0026#34;up\u0026#34;: \u0026#34;creeperblock_up\u0026#34;, \u0026#34;down\u0026#34;: \u0026#34;creeperblock_down\u0026#34;, \u0026#34;north\u0026#34;: \u0026#34;creeperblock_north\u0026#34;, \u0026#34;south\u0026#34;: \u0026#34;creeperblock_south\u0026#34;, \u0026#34;west\u0026#34;: \u0026#34;creeperblock_west\u0026#34;, \u0026#34;east\u0026#34;: \u0026#34;creeperblock_east\u0026#34; }, \u0026#34;sound\u0026#34;: \u0026#34;tnt\u0026#34; }, //不規則形狀苦力怕方塊 \u0026#34;newblock:creeperblock_u\u0026#34;: { \u0026#34;sound\u0026#34;: \u0026#34;anvil\u0026#34; } } 在textures/terrain_textures.json註明材質路徑。\n跟實體一樣，在資源包/models/entities/裡面放入模型檔案。取名為creeperblock_u.json，geometry的ID是geometry.creeperblock_u，但不需要註冊實體。\n材質就按慣例放/textures/entity/creeperblock_u.png\n3. 為物品和方塊添加合成表 \u0026amp; 設定語言檔案 # 在行為包recipes資料夾下建立三個檔案: supersword.json creeperblock.json creeperblock_u.json 編輯supersword.json，設定超級劍的配方為鑽石劍x3。 { \u0026#34;format_version\u0026#34;: \u0026#34;1.12\u0026#34;, \u0026#34;minecraft:recipe_shaped\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;newitem:supersword\u0026#34; }, \u0026#34;tags\u0026#34;: [ \u0026#34;crafting_table\u0026#34; ], \u0026#34;pattern\u0026#34;: [ \u0026#34; # \u0026#34;, \u0026#34; # \u0026#34;, \u0026#34; # \u0026#34; ], \u0026#34;key\u0026#34;: { \u0026#34;#\u0026#34;: { \u0026#34;item\u0026#34;: \u0026#34;minecraft:diamond_sword\u0026#34; } }, \u0026#34;result\u0026#34;: { \u0026#34;item\u0026#34;: \u0026#34;newitem:supersword\u0026#34;, \u0026#34;count\u0026#34;: 1 } } } Identifier是物品或方塊的ID。\ntag代表要在合成台進行。\n設定有序合成，\u0026ldquo;key\u0026quot;對應的是物品/方塊ID。透過key和空格組成九宮格合成表，最下面\u0026quot;result\u0026quot;是合成結果。\ncreeperblock.json苦力怕方塊的配方是tnt x3。 { \u0026#34;format_version\u0026#34;: \u0026#34;1.12\u0026#34;, \u0026#34;minecraft:recipe_shaped\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;newblock:creeperblock\u0026#34; }, \u0026#34;tags\u0026#34;: [ \u0026#34;crafting_table\u0026#34; ], \u0026#34;pattern\u0026#34;: [ \u0026#34; ##\u0026#34;, \u0026#34; # \u0026#34;, \u0026#34; \u0026#34; ], \u0026#34;key\u0026#34;: { \u0026#34;#\u0026#34;: { \u0026#34;item\u0026#34;: \u0026#34;minecraft:tnt\u0026#34; } }, \u0026#34;result\u0026#34;: { \u0026#34;item\u0026#34;: \u0026#34;newblock:creeperblock\u0026#34;, \u0026#34;count\u0026#34;: 1 } } } creeperblock_u.json，不規則苦力怕方塊的配方是tnt x4。 { \u0026#34;format_version\u0026#34;: \u0026#34;1.12\u0026#34;, \u0026#34;minecraft:recipe_shaped\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;newblock:creeperblock_u\u0026#34; }, \u0026#34;tags\u0026#34;: [ \u0026#34;crafting_table\u0026#34; ], \u0026#34;pattern\u0026#34;: [ \u0026#34; ##\u0026#34;, \u0026#34; ##\u0026#34;, \u0026#34; \u0026#34; ], \u0026#34;key\u0026#34;: { \u0026#34;#\u0026#34;: { \u0026#34;item\u0026#34;: \u0026#34;minecraft:tnt\u0026#34; } }, \u0026#34;result\u0026#34;: { \u0026#34;item\u0026#34;: \u0026#34;newblock:creeperblock_u\u0026#34;, \u0026#34;count\u0026#34;: 1 } } } 在資源包texts資料夾新增zh_TW.lang，開始編輯物品和方塊的顯示名稱。 item.newitem:supersword.name=超級劍 tile.newblock:creeperblock.name=苦力怕方塊 tile.newblock:creeperblock_u.name=不規則形狀苦力怕方塊 4. 使用animation_controller製作連閃器，重複執行指令。 # 雖然使用物品可以執行指令，但是如果要在背景偵測手上物品，並重複執行「給予狀態效果的」指令呢？\n這裡要複製官方範本行為包/entities/player.json過來\n在player.json插入一個\u0026quot;animation_controller\u0026quot;。\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.16.0\u0026#34;, \u0026#34;minecraft:entity\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;minecraft:player\u0026#34;, \u0026#34;is_spawnable\u0026#34;: false, \u0026#34;is_summonable\u0026#34;: false, \u0026#34;is_experimental\u0026#34;: false, //插入動畫 \u0026#34;animations\u0026#34;: { \u0026#34;command\u0026#34;: \u0026#34;controller.animation.command\u0026#34; }, \u0026#34;scripts\u0026#34;: { \u0026#34;animate\u0026#34;: [ \u0026#34;command\u0026#34; ] } }, //(下略) } } 行為包/animation_controllers/，新增command.json 裡面開始撰寫指令：\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.10.0\u0026#34;, \u0026#34;animation_controllers\u0026#34;: { \u0026#34;controller.animation.command\u0026#34;: { \u0026#34;states\u0026#34;: { //default，預設的state \u0026#34;default\u0026#34;: { \u0026#34;transitions\u0026#34;: [ //手上拿著超級劍，切換到run_command的state { \u0026#34;run_command\u0026#34;: \u0026#34;(query.get_equipped_item_name==\u0026#39;supersword\u0026#39;) \u0026#34; } ] }, \u0026#34;run_command\u0026#34;: { //一進入這個state就執行指令 \u0026#34;on_entry\u0026#34;: [ \u0026#34;/execute @p ~ ~ ~ effect @s regeneration 1 1 true\u0026#34; ], \u0026#34;transitions\u0026#34;: [ //無條件返回default state { \u0026#34;default\u0026#34;: \u0026#34;(1.0)\u0026#34; } ] } } } } } 這個動畫裡面有二個state，一旦transition裡面條件符合，就會切換到另一個state。如果填1.0的話就是執行完on_entry之後無條件切換。\n每個state都有on_entry區塊，裡面可以填入指令，或者對實體執行事件。\n這裡我寫切換到run_command的state的條件是query.get_equipped_item_name，偵測玩家手上的物品ID，命名空間可以省去。\n因此，當玩家拿著「超級劍」，就會一直獲得回復效果。 也可以把指令寫成一個.mcfunction檔案，放在行為包functions下，再用/function指令喚出。\n下載範本 # 按這裡下載這篇教學的範本檔案，檔案皆含有註解。\n也可於Github檢視原始碼。\n這篇文章資訊參考自Bedrock Dev Wiki。新增物品的方法是1.16.100加入的，format_version就必須是這個或者更高版本。由於新增物品和方塊還是實驗性功能且更新很快速，啟用Add-on前，必須在世界選項裡把測試版功能全部開啟。 ","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/minecraft-add-on-custom-item-and-block/","section":"Minecrafts","summary":"想要自訂武器，或者是自訂方塊嗎？\n基岩版Add-on有一個特色: 方塊可以不是方形的，可以直接套用實體的模型檔案！\n文章目標：製作一把能夠合成的「超級劍」，使用會召喚閃電，只要拿在手上，玩家會持續獲得回復的狀態效果。並且新增一個能合成的「苦力怕方塊」，挖掉後會生成TNT。\n本文的例子，我們將製作方形與不規則形狀的二種方塊。雖外形不同但二者功能一樣。\n影片過程參考\n1. 自訂物品 # 這個超級劍的ID為newitem:supersword\n註冊物品 行為包新增items資料夾，新增檔案supersword.json，填入:\n{ \"format_version\": \"1.16.100\", \"minecraft:item\": { \"description\": { //物品ID \"identifier\": \"newitem:supersword\", //分類 \"category\": \"items\" }, \"components\": { //物品名稱，要在資源包的/texts/zh_TW.json編輯 \"minecraft:display_name\": { \"value\": \"item.newitem:supersword.name\" }, //創造背包中物品的分類 \"minecraft:creative_category\": { \"parent\": \"itemGroup.name.items\" }, //物品在手上的位置，圖片像素16x16以上就要重新設定座標。 \"minecraft:render_offsets\": \"tools\", //物品材質名稱(參照資源包/textures/item_texture所定義的) \"minecraft:icon\": { \"texture\": \"supersword\" }, //使用物品觸發事件 \"minecraft:on_use\": { \"on_use\": { \"event\": \"use\" } }, //攻擊傷害 \"minecraft:damage\": 20, //一組數量 \"minecraft:max_stack_size\": 1, //冷卻時間 \"minecraft:cooldown\": { \"category\": \"chorus_fruit\", \"duration\": 5 } }, //事件 \"events\": { \"use\": { //發射物品 \"shoot\": { \"projectile\": \"minecraft:snowball\", \"launch_power\": 5, \"angle_offset\": 20 }, //執行指令 \"run_command\": { \"command\": [ \"summon lightning_bolt\" ], \"target\": \"holder\" } } } } } 這裡添加on_use這個組件，於是在玩家使用物品(點螢幕)時會執行events裡所寫的run_command。 Events區塊不只可以執行指令，也能修改為「添加狀態效果」或者「發射投射物」\n例如再加一個發射雪球，並且設定成和召喚閃電這個功能同時執行。\n如果材質解析度大於16x16，物品會偏移手中，就必須從render_offset這裡調整。可以自由設定物品在手中的位置以及縮放大小，可參考這篇文章解決。\n","title":"新增自訂物品和方塊｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"Add-On所有的東西都是資料驅動(data-driven)，也就是說幾乎每個生物的行為、事件，Mojang都把它寫成json，並且當做一種可以任意使用的零件，可以改裝在其他生物身上。例如村民會有種田的行為，於是這個組件也可以移植到自己做的生物的身上。\n影片解說\n因此，在行為包裡面，「組件」就是實體檔案重要的部分。而Mojang另外加入了「組件群組」這個東西。聽起來很繞口？實際上用途是什麼呢？請看以下二個例子：\n馬生成時是怎麼決定顏色的？\n苦力怕為什麼打火機點了就會爆炸？\n從Minecraft原版行為包範本可知\n實體檔案裡面有component、component_groups、events這三類。\n在components區塊裡寫的東西遊戲一進入就會載入，而在component_groups裡的通常要透過「事件」也就是events裡來處理，當符合條件時才把組件組裡的組件加到生物身上。\n第1個例子，Mojang的寫法是：當馬生成時會在events裡觸發事件，系統會開始抽選。決定馬是什麼顏色的都各用一個組件組表示，例如make_white這個事件，如果抽到了這個，就把組件組裡\u0026quot;base_white\u0026quot;這個組件加到馬身上，白馬就這樣出來了。 （註：馬的顏色其實算是變種(variant)，因此加入白色這個組件組時會順便把它的variant標記成0，然後再交由render_controller決定顯示的skin）\n第2個例子，苦力怕在互動時用打火機會觸發事件，於是就會將minecraft:start_exploding_forced這個組件組裡的加進去，強迫苦力怕爆炸。\n組件組若是運用的好，可以做到與玩家交叉互動的進階效果。\n","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/minecraft-add-on-component-groups/","section":"Minecrafts","summary":"Add-On所有的東西都是資料驅動(data-driven)，也就是說幾乎每個生物的行為、事件，Mojang都把它寫成json，並且當做一種可以任意使用的零件，可以改裝在其他生物身上。例如村民會有種田的行為，於是這個組件也可以移植到自己做的生物的身上。\n影片解說\n因此，在行為包裡面，「組件」就是實體檔案重要的部分。而Mojang另外加入了「組件群組」這個東西。聽起來很繞口？實際上用途是什麼呢？請看以下二個例子：\n馬生成時是怎麼決定顏色的？\n苦力怕為什麼打火機點了就會爆炸？\n從Minecraft原版行為包範本可知\n實體檔案裡面有component、component_groups、events這三類。\n在components區塊裡寫的東西遊戲一進入就會載入，而在component_groups裡的通常要透過「事件」也就是events裡來處理，當符合條件時才把組件組裡的組件加到生物身上。\n第1個例子，Mojang的寫法是：當馬生成時會在events裡觸發事件，系統會開始抽選。決定馬是什麼顏色的都各用一個組件組表示，例如make_white這個事件，如果抽到了這個，就把組件組裡\"base_white\"這個組件加到馬身上，白馬就這樣出來了。 ","title":"組件群組(component_groups)的概念｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"「bridge. Add-On Editor」是一款專門為Minecraft基岩版Add-On所設計的整合式開發環境(IDE)，完全開源，支援中文。已有市集上的創作者採用此款編輯器開發Add-On。 跟Visual Studio Code比起來，bridge.這個程式最大的特色就是專為製作Minecraft Add-On所設計，面向以JSON為主的Add-On，透過圖形化介面點選按鈕，就能免去手打程式碼的麻煩；此外在鍵入時也會出現相應的提示，顯示有什麼屬性可以使用。\n針對喜歡硬派程式碼編輯的用戶，bridge.也能選擇以類似Visual Studio Code的程式碼編輯模式，並提供關鍵字提示功能。\nbridge.所產生的檔案跟用其他編輯器所寫的並無差別。如果有bridge.沒提供支援的檔案，改用Visual Studio Codee手打新增也是可以。\n本文讓讀者熟悉bridge.的開發環境，使用v2.7.17做基礎，搭配Minecraft Windows基岩版做測試。\n1. 安裝bridge. # bridge.主程式可以到官網下載。支援Linux、Windows、macOS。\n不過birdge.本體為PWA程式，所以用網頁版就夠了。準備Chrome瀏覽器（Firefox不相容），按以下網址前往bridge.網頁版：https://editor.bridge-core.app/\nbridge.作為PWA程式，需要在本機儲存資料。因此在電腦上準備一個資料夾，給bridge.儲存檔案用。 這個範例中我在電腦的「文件」資料夾裡建立了一個叫做\u0026quot;bridgecore\u0026quot;的資料夾，作為「根目錄」。 點選Select Root Folder，選取剛才建立的bridgecore資料夾。 完成安裝。初次使用會要求建立專案，請繼續往下。\n2. 創建專案 # bridge.可以製作完整Add-On，也可以只做行為包(behavior)、資源包(resource)、皮膚包(skin pack)。\n點選New Project按鈕，將行為包和資源包都勾選，然後創建一個測試Add-On。 滑鼠會轉圈圈，代表在建立檔案。 點選左上角，File → Preferences → Settings，開啟設定面板。 在左邊點選General，把語言設成中文。 這樣就可以開始開發Add-On了。 3. bridge.工作原理 # 將「專案」和「成品」分開儲存，是bridge. V2的重大變化。\nbridge.會把建立的專案儲存在根目錄下的projects/資料夾裡面。\n裡面包含開發中的行為包(BP)和資源包(RP)，結構已經跟成品沒有差別，也能夠點進去用其他編輯器修改檔案，bridge.會自行偵測新增的檔案。 如果bridge.沒有讀到新增的檔案，試著按bridge.的「重新載入專案」或完全重開。 如果com.mojang資料夾存在，則bridge.會自動把編輯中的資源包複製到development_resource_packs/，以及複製行為包到development_behavior_packs/\nAdd-on存在這二個開發用的資料夾，Minecraft就能馬上讀到。例如剛剛新增的「測試」專案，資源包和行為包已經出現在「存放」列表，這樣測試很方便。 請注意以bridge.為編輯核心的話，要手動改檔案應該到「專案」資料夾下修改，再讓bridge.自動同步到com.mojang下的開發資料夾。\n如要確保devlopement的資料夾是最新的檔案，可按「重新啟動Dev Server」強制同步。 所以目前bridge. V2沒有自動打包功能，要分享成品，就將developement的行為包和資源包資料夾取出自行壓縮成.mcaddon即可。\n4. 介面簡介＆樹狀編輯器用法 # bridge.介面大致長以下這樣。 這個按鈕代表切換到行為包編輯\n切換到資源包\n切換到皮膚包\n切換其他專案\n在專案中進行搜尋\n編譯器，如同上面【工作原理】一節的敘述，編譯器會自動同步專案到com.mojang資料夾。\n安裝擴充元件\n新增檔案，例如實體、方塊、物品等。\n接下來介紹自動完成以及樹狀編輯器的用法。\n按這裡複習JSON的資料格式。\n這裡新增一個物品，使用食物範本 編輯器就會自動開啟相關檔案，切換到行為包的newfood.json這個主程式檔案的頁籤。 點選要修改或加入的值，例如，滑鼠按下\u0026quot;components\u0026quot;，下面的「加入物件」框框就會亮起來，顯示可用的組件。 例如點選minecraft:hand_equipped，就會自動新增上去。然後方框會自動切換到「新增值」，可選擇可用的值。 如果要編輯已經加入的值，點選該值(如圖中的\u0026quot;true\u0026quot;)，方框會切換到最右邊的「編輯」，編輯後按下Enter就可變更。 對物件按下右鍵可刪除、複製、貼上，以及轉換成陣列。\n也可以快速查看文檔裡面該組件的用法。 5. 參考資料 # bridge.官方說明文件 官方Discord Github ","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/minecraft-add-on-bridge-add-on-editor/","section":"Minecrafts","summary":"「bridge. Add-On Editor」是一款專門為Minecraft基岩版Add-On所設計的整合式開發環境(IDE)，完全開源，支援中文。已有市集上的創作者採用此款編輯器開發Add-On。 跟Visual Studio Code比起來，bridge.這個程式最大的特色就是專為製作Minecraft Add-On所設計，面向以JSON為主的Add-On，透過圖形化介面點選按鈕，就能免去手打程式碼的麻煩；此外在鍵入時也會出現相應的提示，顯示有什麼屬性可以使用。\n針對喜歡硬派程式碼編輯的用戶，bridge.也能選擇以類似Visual Studio Code的程式碼編輯模式，並提供關鍵字提示功能。\nbridge.所產生的檔案跟用其他編輯器所寫的並無差別。如果有bridge.沒提供支援的檔案，改用Visual Studio Codee手打新增也是可以。\n本文讓讀者熟悉bridge.的開發環境，使用v2.7.17做基礎，搭配Minecraft Windows基岩版做測試。\n1. 安裝bridge. # bridge.主程式可以到官網下載。支援Linux、Windows、macOS。\n不過birdge.本體為PWA程式，所以用網頁版就夠了。準備Chrome瀏覽器（Firefox不相容），按以下網址前往bridge.網頁版：https://editor.bridge-core.app/\n","title":"認識與使用bridge. Add-On Editor｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"在遊戲設定裡面有「內容紀錄」的功能 (1.17後改稱創作者)，開啟後若是Add-on執行有什麼錯誤就會在螢幕上彈出訊息，這樣能夠方便除錯。\n例如指令打錯，系統會顯示是哪個檔案的指令有問題。\n不過這個功能預設是關閉的，而因為我要測試自己的Add-on所以會一直開著，這就導致有些很厲害的Add-on雖然正常功能無礙，但後臺記錄檔卻是一直顯示error，強迫症發作就會想告訴作者某些地方出錯了。\n","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/minecraft-add-on-logs/","section":"Minecrafts","summary":"在遊戲設定裡面有「內容紀錄」的功能 (1.17後改稱創作者)，開啟後若是Add-on執行有什麼錯誤就會在螢幕上彈出訊息，這樣能夠方便除錯。\n例如指令打錯，系統會顯示是哪個檔案的指令有問題。\n不過這個功能預設是關閉的，而因為我要測試自己的Add-on所以會一直開著，這就導致有些很厲害的Add-on雖然正常功能無礙，但後臺記錄檔卻是一直顯示error，強迫症發作就會想告訴作者某些地方出錯了。\n","title":"開發Minecraft Add-on時必開的「內容記錄」｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"Minecraft基岩版的Add-on新增實體的功能深受玩家喜愛，其餘還有新增方塊、物品、粒子等等。 這是外國玩家做的龍 而這是我做的一個小水獺(掩面)。 本文目標：使用Add-on加入一個擁有自己模型的新實體，加入生怪蛋，並擁有基本的動作能力。\n文末可以下載我做的範本。\n1. 實體的構成檔案 # Minecraft Add-On要新增實體，你至少需要用到以下資料夾和檔案：\n資源包\nRP ├── entity │ └── boku.json ├── models │ └── entity │ └── boku.json ├── render_controllers │ └── newmob.render_controllers.json ├── texts │ └── zh_tw.lang ├── textures │ ├── entity │ │ └── boku.png │ ├── items │ │ └── spawn_boku.png │ └── item_texture.json ├── manifest.json └── pack_icon.png 行為包\nBP ├── entities │ └── boku.json ├── manifest.json └── pack_icon.png 2. 製作資源包 # 首先要從資源包開始。\nmanifest.json做好之後，新增render_controllers資料夾，裡面新增一個newmob.render_controllers.json的檔案， 輸入:\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.8.0\u0026#34;, \u0026#34;render_controllers\u0026#34;: { \u0026#34;controller.render.newmob\u0026#34;: { \u0026#34;textures\u0026#34;: [ \u0026#34;Texture.default\u0026#34; ], \u0026#34;geometry\u0026#34;: \u0026#34;Geometry.default\u0026#34;, \u0026#34;materials\u0026#34;: [ { \u0026#34;*\u0026#34;: \u0026#34;Material.default\u0026#34; } ] } } } 回到上層，新增一個entity的資料夾，裡面新增一個註冊實體的檔案。這裡取名叫做boku.json，裡面填入以下內容：\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.10.0\u0026#34;, \u0026#34;minecraft:client_entity\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;newmob:boku\u0026#34;, \u0026#34;materials\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;entity_alphatest\u0026#34; }, \u0026#34;textures\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;textures/entity/boku\u0026#34; }, \u0026#34;geometry\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;geometry.boku\u0026#34; }, //ANIMATIONS \u0026#34;animations\u0026#34;: { \u0026#34;moving\u0026#34;: \u0026#34;animation.boku.move\u0026#34;, \u0026#34;earing\u0026#34;: \u0026#34;animation.boku.ears\u0026#34;, \u0026#34;attacking\u0026#34;: \u0026#34;animation.boku.attack\u0026#34;, \u0026#34;eyeing\u0026#34;: \u0026#34;animation.boku.eye\u0026#34;, \u0026#34;move\u0026#34;: \u0026#34;controller.animation.boku.move\u0026#34;, \u0026#34;ears\u0026#34;: \u0026#34;controller.animation.boku.ears\u0026#34;, \u0026#34;attack\u0026#34;: \u0026#34;controller.animation.boku.attack\u0026#34;, \u0026#34;eye\u0026#34;: \u0026#34;controller.animation.boku.eye\u0026#34; }, \u0026#34;scripts\u0026#34;: { \u0026#34;animate\u0026#34;: [ \u0026#34;move\u0026#34;, \u0026#34;ears\u0026#34;, \u0026#34;attack\u0026#34;, \u0026#34;eye\u0026#34; ], \u0026#34;pre_animation\u0026#34;: [ \u0026#34;variable.attack = Math.sin(variable.attack_time * 38.17);\u0026#34; ] }, \u0026#34;render_controllers\u0026#34;: [ \u0026#34;controller.render.newmob\u0026#34; ], \u0026#34;spawn_egg\u0026#34;: { \u0026#34;texture\u0026#34;: \u0026#34;spawn_boku\u0026#34;, \u0026#34;texture_index\u0026#34;: 0 } } } } 注意identifier這一行，這個代表的是實體的識別代號。一般會以「前綴:ID」的形式表示。 例如這裡我用newmob:boku。\ntextures為材質路徑。\ngeometry則為下一步要說的東西。\nrender_controllers也用newmob，同樣是前面資料夾render_controllers就定義好的。\nspawn_egg為生怪蛋，一樣要先指定材質路徑。\n接下來要製作的是語言檔案，就像生怪蛋在遊戲中你不希望它顯示的物品名稱是item.spawn_egg之類的吧?以繁體中文為例子，新增一個texts資料夾，裡面新增一個zh_TW.lang的檔案，輸入:\nitem.spawn_egg.entity.newmob:boku.name=生成 僕水獺 entity.newmob:boku.name=Boku 第一行的等號後方是物品要顯示的名稱。 第二行是實體的名字。\n下一步，要開始建模了。\n製作實體模型使用Blockbench這個軟體。在此簡介用法。\nBlockbench可以在網頁直接執行，也能安裝到電腦上，提供中文介面。\n選擇新增基岩版模型。\n全部填boku。材質高寬視模型精緻度決定，簡單的16x16就夠了。 點選右邊大綱的資料夾圖示，點選「添加組」，遊戲中稱為bone。 bone可以說是實體的「部位」，舉凡頭、腳、身體都分別是bone。至少一定要有一個bone存在。\n「添加組」左邊的圖示「添加立方體」就是構成bone的最小單位cube。bone裡面可以包含很多個cube，但是cube不能在bone以外單獨存在。\n在軟體中，為了方便管理，做成資料夾的形式，讓使用者可以自由添加cube到各個bone裡面。\n新增bone後再新增一個cube，畫面就會出現立方體。 看向上方的工具列，點選來切換操作。 第一個移動就是移動立方體的座標，例如我拉藍色箭頭就能控制Z軸。 第二個尺寸可以調整長寬高。 第三個可以將立方體旋轉 旋轉有時候要要右邊元素面板設定「旋轉原點」，就是要以哪個座標作為旋轉軸心。 預設都是0,0,0，但如果你的cube不在那裡，那旋轉起來就會很奇怪，如下圖，使用旋轉的指令時，箭頭卻顯示在下方。 這個時候就要調一下了，或者直接按瞄準的符號「原點到幾何」直接以cube中點當旋轉軸心。\n使用固有時制御，建了水獺模型出來。 接下來要畫材質。Blockbench支援直接生成貼圖分布，還能像Nova Skin一樣直接在模型上色。\n按下右邊貼圖面板的「創建貼圖」，勾選「使用模板」。\n分辨率使用32x32。 按右上角「畫板模式」切換到繪圖模式。你會看到左邊已經出現生成好的材質了。 接下來就可以開始繪畫了，提供的工具有筆刷和油漆桶。\n油漆桶點擊後可為一個面填充顏色，筆刷則是一個像素一個像素的畫上去。 畫板網格則可以顯示像素的框框。 畫好皮膚後，先儲存模型的程式碼。 然後按下文件\u0026gt;導出\u0026gt;「導出基岩實體模型」 在剛才製作的資源包新增models資料夾，裡面新增entity資料夾，把這個json放進去。\n接著要儲存材質。\n資源包新增textures資料夾，裡面新增mob資料夾。\n對材質點右鍵另存，儲存到該資料夾，檔名為boku.png\n再來繪製生怪蛋的材質。\n畫好後textures資料夾裡面新增items資料夾，把這個檔案取名為spawn_boku.png，放進去。 至此建模、繪製材質告一段落\u0026hellip;等等，還有一件事，在textures資料夾裡新增一個名叫item_texture.json的檔案，輸入:\n{ \u0026#34;resource_pack_name\u0026#34;: \u0026#34;自訂實體資源包\u0026#34;, \u0026#34;texture_name\u0026#34;: \u0026#34;atlas.items\u0026#34;, \u0026#34;texture_data\u0026#34;: { \u0026#34;spawn_boku\u0026#34;: { \u0026#34;textures\u0026#34;: \u0026#34;textures/items/spawn_boku\u0026#34; } } } resource_pack_name為資源包名稱，就跟manifest.json裡寫一樣的就好。\n關鍵是spawn_boku\u0026quot;:{}這段，告訴遊戲物品的材質路徑，也就是剛才生怪蛋的圖片放的地方。.png可以省略。\n到這裡，你的資料夾應該有下列項目了。 3. 製作行為包 # 接著來製作行為包吧。\n行為包做好manifest.json後，新增entities資料夾，裡面新增boku.json，輸入:\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.16.0\u0026#34;, \u0026#34;minecraft:entity\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;newmob:boku\u0026#34;, \u0026#34;is_spawnable\u0026#34;: true, \u0026#34;is_summonable\u0026#34;: true, \u0026#34;is_experimental\u0026#34;: false }, \u0026#34;components\u0026#34;: { \u0026#34;minecraft:type_family\u0026#34;: { \u0026#34;family\u0026#34;: [ \u0026#34;boku\u0026#34;, \u0026#34;mob\u0026#34; ] }, //移動速度 \u0026#34;minecraft:movement\u0026#34;: { \u0026#34;value\u0026#34;: 0.21 }, //攻擊傷害 \u0026#34;minecraft:attack\u0026#34;: { \u0026#34;damage\u0026#34;: 5 }, \u0026#34;minecraft:behavior.melee_attack\u0026#34;: { \u0026#34;priority\u0026#34;: 4, \u0026#34;speed_multiplier\u0026#34;: 2, \u0026#34;track_target\u0026#34;: true }, //血量 \u0026#34;minecraft:health\u0026#34;: { \u0026#34;value\u0026#34;: 99, \u0026#34;max\u0026#34;: 99 }, \u0026#34;minecraft:navigation.generic\u0026#34;: { \u0026#34;is_amphibious\u0026#34;: false, \u0026#34;can_path_over_water\u0026#34;: true, \u0026#34;can_swim\u0026#34;: true, \u0026#34;can_walk\u0026#34;: true, \u0026#34;can_breach\u0026#34;: false, \u0026#34;can_sink\u0026#34;: false }, //可以移動 \u0026#34;minecraft:movement.basic\u0026#34;: {}, \u0026#34;minecraft:jump.static\u0026#34;: {}, \u0026#34;minecraft:scale\u0026#34;: { \u0026#34;value\u0026#34;: 1.0 }, //抗火 \u0026#34;minecraft:fire_immune\u0026#34;: true, \u0026#34;minecraft:breathable\u0026#34;: { \u0026#34;breathesAir\u0026#34;: true, \u0026#34;breathesWater\u0026#34;: true }, //碰撞箱大小 \u0026#34;minecraft:collision_box\u0026#34;: { \u0026#34;width\u0026#34;: 1, \u0026#34;height\u0026#34;: 2 }, //會主動攻擊的對象 \u0026#34;minecraft:behavior.nearest_attackable_target\u0026#34;: { \u0026#34;priority\u0026#34;: 4, \u0026#34;entity_types\u0026#34;: [ { \u0026#34;filters\u0026#34;: { \u0026#34;any_of\u0026#34;: [ { \u0026#34;test\u0026#34;: \u0026#34;is_family\u0026#34;, \u0026#34;subject\u0026#34;: \u0026#34;other\u0026#34;, \u0026#34;value\u0026#34;: \u0026#34;monster\u0026#34; } ] } } ], \u0026#34;must_see\u0026#34;: true, \u0026#34;within_radius\u0026#34;: 64, \u0026#34;reselect_targets\u0026#34;: true }, //會隨意走動 \u0026#34;minecraft:behavior.random_stroll\u0026#34;: { \u0026#34;priority\u0026#34;: 5 }, //會看著玩家 \u0026#34;minecraft:behavior.look_at_player\u0026#34;: { \u0026#34;priority\u0026#34;: 6, \u0026#34;look_distance\u0026#34;: 5 }, //會隨便亂看 \u0026#34;minecraft:behavior.random_look_around\u0026#34;: { \u0026#34;priority\u0026#34;: 7 }, //可拴住 \u0026#34;minecraft:leashable\u0026#34;: { \u0026#34;soft_distance\u0026#34;: 4.0, \u0026#34;hard_distance\u0026#34;: 6.0, \u0026#34;max_distance\u0026#34;: 10.0 }, \u0026#34;minecraft:balloonable\u0026#34;: {}, \u0026#34;minecraft:nameable\u0026#34;: {}, \u0026#34;minecraft:physics\u0026#34;: {}, \u0026#34;minecraft:pushable\u0026#34;: { \u0026#34;is_pushable\u0026#34;: true, \u0026#34;is_pushable_by_piston\u0026#34;: true } } } } 於是你完成了！一個基本的實體。\n需要其他行為就往行為包的檔案添加吧，但是這時你可能會發現一個問題。\n我的實體移動時沒有動作啊啊！！\n所以，你就要學習如何用Blockbench做實體的動畫了，按這裡。\n本文使用的範例下載\n也可在Github檢視原始碼\n","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/minecraft-add-on-add-entity/","section":"Minecrafts","summary":"Minecraft基岩版的Add-on新增實體的功能深受玩家喜愛，其餘還有新增方塊、物品、粒子等等。 這是外國玩家做的龍 而這是我做的一個小水獺(掩面)。 本文目標：使用Add-on加入一個擁有自己模型的新實體，加入生怪蛋，並擁有基本的動作能力。\n文末可以下載我做的範本。\n1. 實體的構成檔案 # Minecraft Add-On要新增實體，你至少需要用到以下資料夾和檔案：\n資源包\nRP ├── entity │ └── boku.json ├── models │ └── entity │ └── boku.json ├── render_controllers │ └── newmob.render_controllers.json ├── texts │ └── zh_tw.lang ├── textures │ ├── entity │ │ └── boku.png │ ├── items │ │ └── spawn_boku.png │ └── item_texture.json ├── manifest.json └── pack_icon.png 行為包\nBP ├── entities │ └── boku.json ├── manifest.json └── pack_icon.png 2. 製作資源包 # 首先要從資源包開始。\nmanifest.json做好之後，新增render_controllers資料夾，裡面新增一個newmob.render_controllers.json的檔案， 輸入:\n{ \"format_version\": \"1.8.0\", \"render_controllers\": { \"controller.render.newmob\": { \"textures\": [ \"Texture.default\" ], \"geometry\": \"Geometry.default\", \"materials\": [ { \"*\": \"Material.default\" } ] } } } 回到上層，新增一個entity的資料夾，裡面新增一個註冊實體的檔案。這裡取名叫做boku.json，裡面填入以下內容：\n{ \"format_version\": \"1.10.0\", \"minecraft:client_entity\": { \"description\": { \"identifier\": \"newmob:boku\", \"materials\": { \"default\": \"entity_alphatest\" }, \"textures\": { \"default\": \"textures/entity/boku\" }, \"geometry\": { \"default\": \"geometry.boku\" }, //ANIMATIONS \"animations\": { \"moving\": \"animation.boku.move\", \"earing\": \"animation.boku.ears\", \"attacking\": \"animation.boku.attack\", \"eyeing\": \"animation.boku.eye\", \"move\": \"controller.animation.boku.move\", \"ears\": \"controller.animation.boku.ears\", \"attack\": \"controller.animation.boku.attack\", \"eye\": \"controller.animation.boku.eye\" }, \"scripts\": { \"animate\": [ \"move\", \"ears\", \"attack\", \"eye\" ], \"pre_animation\": [ \"variable.attack = Math.sin(variable.attack_time * 38.17);\" ] }, \"render_controllers\": [ \"controller.render.newmob\" ], \"spawn_egg\": { \"texture\": \"spawn_boku\", \"texture_index\": 0 } } } } 注意identifier這一行，這個代表的是實體的識別代號。一般會以「前綴:ID」的形式表示。 例如這裡我用newmob:boku。\n","title":"新增基本實體與新生物｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"Minecraft基岩版包含Android、iOS、Windows 10。這其中官方提供了跨平台通用性高、不同版本相容性佳的「模組」，就稱之為Add-on。\nAdd-on可以細分為行為包(Behavior Pack)與資源包(Resource Pack)，二者可以個別獨立運作，也能合在一起提供更多樣化的內容。\n以下是官網的圖片，充分解釋了Add-on的概念: 自訂你的世界。 製作Add-on很簡單，只是套用幾個屬性的話不用寫太多程式，而且也能在手機上做。\n本文參考中文Wiki編寫，一些詳細的資料可自行前往觀看。\n下面的範例中，會結合行為包和資源包，把原版遊戲的豬改成有苦力怕的臉，並且會像苦力怕一樣爆炸。\n1. 製作行為包 # 第一步: 製作行為包的工具\n程式碼編輯器: 電腦使用Visual Studio Code，手機使用Acode。這二個都會自動抓程式語法錯誤，打錯字也不怕。 Photoshop或其他繪圖軟體: 畫材質用的 遊戲原版資源包(下載)、原版行為包(下載)，裡面有很多程式碼可以參考。 Minecraft主程式。最好是Windows 10版的，可以一邊開發一邊看結果。 第二步: 行為包的資料夾\n就跟資源包一樣，行為包以資料夾形式存在，首先找到development_behavior_packs這個資料夾:\nWindows版本路徑為：C:\\Users\\使用者名稱\\AppData\\Local\\Packages\\Microsoft.MinecraftUWP_8wekyb3d8bbwe\\LocalState\\games\\com.mojang\nAndroid版路徑為:內部儲存空間/games/com.mojang/development_behavior_packs\niOS路徑為: 檔案APP/我的iPhone/Minecraft/games/com.mojang/development_behavior_packs\n在這裡新增一個資料夾，直接取名叫做測試用行為包。\n接下來新增一個文字文件，取名叫做「manifest.json」，以後檔案的後綴名都是以.json為主。\n(如果你看不到檔案後綴，請按檢視\u0026gt;勾選「顯示副檔名」)\n這個檔案能讓遊戲辨識到我們的行為包！\n使用Visual Studio Code開啟這個檔案，輸入以下內容:\n{ \u0026#34;format_version\u0026#34;: 2, \u0026#34;header\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;測試用行為包\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;測試用行為包\u0026#34;, \u0026#34;uuid\u0026#34;: \u0026#34;d3cc68c8-72cc-443c-a296-503116b46e74\u0026#34;, \u0026#34;version\u0026#34;: [ 1, 0, 0 ], \u0026#34;min_engine_version\u0026#34;: [ 1, 16, 0 ] }, \u0026#34;modules\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;data\u0026#34;, \u0026#34;uuid\u0026#34;: \u0026#34;23a2e8d8-a3a2-4dce-a599-9b5213f8e96a\u0026#34;, \u0026#34;version\u0026#34;: [ 1, 0, 0 ] } ] } name就是行為包名稱。description為行為包的說明欄位。\n整個檔案可以分成二個部分: header、modules，注意到了嗎，二部分都有一項名為「UUID」的欄位? UUID是一種幾乎不會重複的英數字組合，你可以使用這個網站立即取得一個UUID。\n在這裡，寫在第6行的UUID就變成了這個行為包的一個「識別代號」，可以確保與其他人做的不會重複。\n需要注意的是，這個檔案中，二個UUID都必須不同才行。如果你還做了其他資源包，UUID也不能一樣。\nmodules下面有一個\u0026quot;type\u0026quot;:\u0026ldquo;data\u0026rdquo;，如果填入\u0026quot;data\u0026quot;遊戲會判定為行為包，\u0026ldquo;resources\u0026quot;則是資源包。\n第三步: 行為包的圖示\n為你的行為包製作一個圖示吧! 開啟繪圖軟體，畫一個圖示，最好是正方形的，儲存檔案到剛才的資料夾，檔名叫做「pack_icon.png」。\n或者也可以直接從官方的範本包裡面複製pack_icon.png過來使用。\n接著開啟Minecraft，在設定\u0026gt;存放的行為包裡面，應該就會看到行為包已經出現在列表中了！\n現在可以開始製作行為包了。\n第四步: 開始製作內容\n以豬會像苦力怕爆炸來說，我們只要把苦力怕的這種「行為」移植到豬身上就可以了。\n參考原版行為包的檔案結構，我們可以發現，控制豬的行為是在Vanilla_Behavior_Pack/entities/pig.json這個檔案，而苦力怕為creeper.json。\n在我們行為包的資料夾新增一個entities資料夾，把pig.json複製過來。\n打開檔案我們會看到\u0026hellip;落落長的程式碼。\n我們要先了解一下基本檔案結構 (Visual Studio按一下行數旁邊的\u0026gt;可以展開或收合大括號的內容)\n實體的行為是由一條一條的組件構成的，這些組件定義了實體能做什麼。\n實體的行為檔案分成三大部分:\ncomponent_groups:{}\ncomponents:{}\nevents:{}\n通常遊戲會先載入components裡列出的組件，例如血量、走路AI等。\ncomponents或events裡面會有一個判斷條件的組件，條件符合後才會把component_groups裡對應的組件加進來，例如設定殭屍溺水後變成沉屍的這個動作。\n那麼我們要怎麼加入「會向玩家衝過來、並爆炸」的屬性呢?\n從原版行為包開啟creeper.json，找到\u0026quot;nearest_attackable_target\u0026rdquo;:{}這個組件，把大括號裡面的都複製下來。\n按Ctrl+f，搜尋pig.json中的\u0026quot;minecraft:behavior.random_look_around\u0026quot;，把複製過來的貼在},後面。\ncreeper.json中搜尋「minecraft:target_nearby_sensor」同樣複製到pig.json裡面。\n所以random_look_around後面的程式碼目前應該會長這樣:\n為了讓豬會主動追殺玩家，還要從creeper.json複製\u0026quot;minecratt:attack\u0026quot;和 \u0026ldquo;minecraft:behavior.melee_attack\u0026rdquo; 這二個組件，貼到pig.json。\n在creeper.json中搜尋\u0026quot;minecraft:start_exploding\u0026quot;這個組件，還有\u0026quot;minecraft:stop_exploding\u0026quot;\n然後在pig.json中搜尋\u0026quot;events\u0026quot;後貼上:\n再從creeper.json複製\u0026quot;minecraft:exploding\u0026quot;這個組件，在pig.json中找到components_groups:{}，在{後貼上。\n為了讓豬像苦力怕一樣爆炸時膨脹(變大)，在\u0026quot;minecraft:explode\u0026quot;:{}後面加一條\n\u0026#34;minecraft:scale\u0026#34;:{ \u0026#34;value\u0026#34;: 2 } 完成了，可以開始測試行為包了。\n啟用行為包，請按編輯世界\u0026gt;按下啟用行為包\n開創造模式，生出豬後切成生存，你就會看到豬豬自爆了。\n二、製作資源包 # 製作資源包的步驟跟行為包十分類似(一~三步驟)，manifest.json這個檔案之中的\u0026quot;data\u0026quot;改成\u0026quot;resources\u0026quot;就行了，記得二個UUID也要不一樣。\n我們自製的資源包要改放到com.mojang/development_resource_packs\n資源包玩家應該比較熟悉，最簡單的功能就是改材質，而進階玩法就是改實體模型、加入自訂音效、粒子效果、新增方塊等。\n如果我們要修改豬的材質，參考原版資源包的架構，豬的材質是在Vanilla_Resource_Pack/textures/entity/pig/pig.png\n所以在我們的資源包資料夾中新增textures資料夾，裡面再新增entity資料夾，再新增pig資料夾\n接著把畫好的皮膚放進去，取名pig.png。\n編輯世界\u0026gt;啟用資源包\n三、打包Addon # 以上我們都把檔案放在遊戲提供的資料夾內，遊戲會自動讀取也方便修改。那如何分享呢?\n官方提供了二種檔案格式: .mcpack 和 .mcaddon 便於分享你的Add-on。\n如何製作? 其實只要先把行為包和資源包的資料夾壓縮成一個檔案，再把副檔名改一下就行了。\n把.zip改成.mcaddon，就會變成Minecraft的圖示了! 連點二下遊戲就會開啟，就會自動開啟匯入，不用再解壓縮找要放哪個資料夾了。\n","date":"2024年5月6日","externalUrl":null,"permalink":"/posts/how-to-create-minecraft-behavior-pack-and-resource-pack/","section":"Minecrafts","summary":"Minecraft基岩版包含Android、iOS、Windows 10。這其中官方提供了跨平台通用性高、不同版本相容性佳的「模組」，就稱之為Add-on。\nAdd-on可以細分為行為包(Behavior Pack)與資源包(Resource Pack)，二者可以個別獨立運作，也能合在一起提供更多樣化的內容。\n以下是官網的圖片，充分解釋了Add-on的概念: 自訂你的世界。 製作Add-on很簡單，只是套用幾個屬性的話不用寫太多程式，而且也能在手機上做。\n本文參考中文Wiki編寫，一些詳細的資料可自行前往觀看。\n下面的範例中，會結合行為包和資源包，把原版遊戲的豬改成有苦力怕的臉，並且會像苦力怕一樣爆炸。\n1. 製作行為包 # 第一步: 製作行為包的工具\n程式碼編輯器: 電腦使用Visual Studio Code，手機使用Acode。這二個都會自動抓程式語法錯誤，打錯字也不怕。 Photoshop或其他繪圖軟體: 畫材質用的 遊戲原版資源包(下載)、原版行為包(下載)，裡面有很多程式碼可以參考。 Minecraft主程式。最好是Windows 10版的，可以一邊開發一邊看結果。 第二步: 行為包的資料夾\n就跟資源包一樣，行為包以資料夾形式存在，首先找到development_behavior_packs這個資料夾:\nWindows版本路徑為：C:\\Users\\使用者名稱\\AppData\\Local\\Packages\\Microsoft.MinecraftUWP_8wekyb3d8bbwe\\LocalState\\games\\com.mojang\n","title":"製作Minecraft Add-On！行為包＋資源包｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"Minecraft基岩版的Add-on資訊在中文圈依然是中國比較流行，台灣製作的比較少。資料還是要參考英文居多，作為快速發展的項目，資料可能會隨時過時也不一定。\n但幸好作為官方開發的項目，現在官方已經釋出說明文件(Documentation)，並包含在隨時更新的行為包範本裡面，裡面有記載Add-On開發的各種基本資訊。\n下面會介紹我開發Add-On時常參閱的網站資料，本站能有這麼多模組教學文章，都靠社群的努力。\n1. 官方文檔 \u0026amp; 原版行為包/資源包 # Mojang官方會定期在Github釋出Minecraft基岩版的原版(vanilla)行為包和資源包，裡面含有很多原版遊戲的JSON和材質，值得做Add-On時參考。你可以參考原版生物的程式碼，了解特定組件是怎麼運作的，再善用創意將其轉換成其他功能。\n到這裡下載：https://github.com/Mojang/bedrock-samples/releases\n如果要下載穩定版Minecraft的檔案：選取Latest標籤下的Source code (zip)\n如果要下載測試版Minecraft的檔案：選取Pre-release標籤下的Source code (zip)\n將檔案解壓縮後裡面就有行為包和資源包了。Documentation資料夾含有官方文檔，都是HTML檔案，用瀏覽器可以直接開啟閱讀。文檔包括Add-On的一切資料，還有方塊和物品ID列表。\n2. Minecraft: Bedrock Edition Creator Documentation # 網址：https://docs.microsoft.com/en-us/minecraft/creator\n微軟官方的說明網站，就像C#官方文檔一樣，微軟有撰寫正式的基岩版Add-On開發指南給創作者參考。\n3. Bedrock Wiki # 網址：https://wiki.bedrock.dev/\n這個網站由熱心網友維護，他們會定期更新官方文件上去。雖然那些文件Minecraft Wiki也有，但這個網站的界面比較容易搜尋，文檔的說明也有進行中文翻譯。\n此站的另一個特色是Wiki上會有熱心玩家分享範例程式碼，從給新手看的教學，到如何實現飛行器的概念都有教學。官方文檔沒說清楚的部分，這個網站會一一解釋給你聽。\n4. Minecraft Wiki - Add-On # 網址：https://minecraft.fandom.com/wiki/Add-on\n以英文版為主，介紹的資料比較籠統，有餘力可以參與中文版翻譯。\n5. Minecraft基岩版开发Wiki # 網址: https://wiki.bedev.cn\n中國人開設的網站，系統性的整理基岩版模組資訊的百科，連歷史發展和InnerCore的介紹都有。\n6. 我的世界开发者官网 # 網址：https://mc.163.com/dev\n這是網易版的網站，儘管網易代理的基岩版有加入一些自家才能用的API，不過還是有針對國際基岩版的共通內容寫一些說明文件。\n7. とかさんのブログ # 網址: https://tokamcwin10.blog.jp\n日本網站，跟Bedrock Wiki一樣除了Add-On資料外，也會附上範例程式碼。\n其他 # 剩下的就是到中國網站上找零散的教學了，從Bilibili到MCBBS都有。\n當然，由於目前Add-on都是明碼儲存，低調一點「參考」別人的程式碼也是可以的。\n或者在MCPEDL上找知名的模組開發群，加入Discord切磋切磋進行討論。\n","date":"2024年5月5日","externalUrl":null,"permalink":"/posts/minecraft-add-on-reference-websites/","section":"Minecrafts","summary":"Minecraft基岩版的Add-on資訊在中文圈依然是中國比較流行，台灣製作的比較少。資料還是要參考英文居多，作為快速發展的項目，資料可能會隨時過時也不一定。\n但幸好作為官方開發的項目，現在官方已經釋出說明文件(Documentation)，並包含在隨時更新的行為包範本裡面，裡面有記載Add-On開發的各種基本資訊。\n下面會介紹我開發Add-On時常參閱的網站資料，本站能有這麼多模組教學文章，都靠社群的努力。\n1. 官方文檔 \u0026 原版行為包/資源包 # Mojang官方會定期在Github釋出Minecraft基岩版的原版(vanilla)行為包和資源包，裡面含有很多原版遊戲的JSON和材質，值得做Add-On時參考。你可以參考原版生物的程式碼，了解特定組件是怎麼運作的，再善用創意將其轉換成其他功能。\n到這裡下載：https://github.com/Mojang/bedrock-samples/releases\n如果要下載穩定版Minecraft的檔案：選取Latest標籤下的Source code (zip)\n如果要下載測試版Minecraft的檔案：選取Pre-release標籤下的Source code (zip)\n將檔案解壓縮後裡面就有行為包和資源包了。Documentation資料夾含有官方文檔，都是HTML檔案，用瀏覽器可以直接開啟閱讀。文檔包括Add-On的一切資料，還有方塊和物品ID列表。\n","title":"Minecraft Add-On開發常用參考資料","type":"minecraft"},{"content":"\u0026ldquo;MCEdit\u0026quot;是古早Minecraft年代很好用的世界編輯工具，但是原作者逐漸沒在更新，新版Minecraft逐漸不能用了。\n繼MCEdit之後，新版本Minecraft出現了能夠編輯世界的工具，就是\u0026quot;Amulet\u0026rdquo;，這是由MCEdit-Unified團隊發起的開源專案，旨在建立一個萬能的世界編輯器。 Amulet支援Java版1.12以上、基岩版1.7以上的世界。\n本軟體適合刪除大量用指令也不方便刪除的方塊，或者複製建築物。\n也可以將Java版和基岩版的區塊轉移，完成世界轉檔。\n編輯世界、地圖前建議先備份。 Android/iOS版或主機上的基岩版地圖搬移到電腦上後也可以用這個程式編輯。 這個程式主要是編輯方塊為主，如果要修改NBT數值，建議使用Universal Minecraft Editor。 另有Mineway可用於編輯.schematics檔案 1. 安裝Amulet # Amulet以Python寫成，原始碼可在Github取得。\n僅Windows有預先編譯的執行檔，Linux和macOS必須手動用Python指令跑。\nWindows # 到官網下載最新版 解壓縮，按二下解壓縮出來的amulet_app.exe開啟程式。 Linux/macOS # 以Ubuntu為例，開啟終端機，安裝Python 3.9與Python-virtualenv sudo apt install python3 python3-pip python-venv 建立一個虛擬環境 mkdir ~/amulet cd amulet python -m venv venv source venv/bin/activate 安裝Amulet套件 python -m pip install amulet-map-editor==0.10.29 --upgrade 執行Amulet python -m amulet_map_editor 2. Amulet功能簡介 # 點選打開世界的介面後，會詢問要開啟Java版或基岩版的世界。 這個程式會自動尋找電腦上的世界儲存位置，如果找不到可以按「文件」，打開另一個世界來手動選取。\nJava版世界儲存位置：按Windows + R，輸入%APPDATA%\\.minecraft，再按Enter\nWindows基岩版世界儲存位置：按Windows + R，輸入%LocalAppData%\\Packages\\Microsoft.MinecraftUWP_8wekyb3d8bbwe\\LocalState\\games\\com.mojang\\minecraftWorlds，再按Enter\n主介面會顯示目前開啟的世界，左邊有其他選單。 「3D編輯器」會進入世界檢視畫面，可直接編輯世界。\n第一次次進入會花點時間下載資源包。\n要移動就跟玩家在遊戲裡操作的一樣，會進入類似旁觀者模式的狀態，按著右鍵可旋轉視角。 右上角可切換2D/3D，2D就是區塊模式。 按著左鍵，可以選取方塊，左邊的選單可刪除或填充方塊。\n也能夠調整座標或者用區塊模式來選取大範圍。 也可以按\u0026quot;Export\u0026quot;將選中的區塊匯出成.consctruction檔案。\nImport可以匯入建築檔，支援.consctruction、.mcstructure (結構方塊的檔案)、.schematic。 此外，點選螢幕正下方的Operation，左上角就可以執行其他操作。 功能：\nClone、Fill、Replace：功能就跟Minecraft指令的一樣，可以替換選取區域內的方塊。 Set Biome： 在選取區區內生成生態系 Waterlog： 進階替換方塊，可以設定替換方塊的條件。 編輯好之後按下右上角的儲存。 3. Java版世界轉基岩版世界 # 「轉換」功能可以強行合併二個世界 該按鈕會把「輸入」的世界合併到「輸出」的世界，不管是基岩版還是Java版都可以。\n你可以把Java版世界轉成基岩版，或者把基岩版世界轉成Java版，大部分方塊都會保留。不過生物、指令方塊、箱子的東西不見得能成功轉換。\nAmulet背後原理其實是合併區塊，建議準備一個超平坦世界當作轉檔地圖，再將區塊複製過去。\n實作可參考影片：\n","date":"2024年5月5日","externalUrl":null,"permalink":"/posts/amulet-editor-usage/","section":"Minecrafts","summary":"“MCEdit\"是古早Minecraft年代很好用的世界編輯工具，但是原作者逐漸沒在更新，新版Minecraft逐漸不能用了。\n繼MCEdit之後，新版本Minecraft出現了能夠編輯世界的工具，就是\"Amulet”，這是由MCEdit-Unified團隊發起的開源專案，旨在建立一個萬能的世界編輯器。 Amulet支援Java版1.12以上、基岩版1.7以上的世界。\n本軟體適合刪除大量用指令也不方便刪除的方塊，或者複製建築物。\n也可以將Java版和基岩版的區塊轉移，完成世界轉檔。\n編輯世界、地圖前建議先備份。 Android/iOS版或主機上的基岩版地圖搬移到電腦上後也可以用這個程式編輯。 這個程式主要是編輯方塊為主，如果要修改NBT數值，建議使用Universal Minecraft Editor。 另有Mineway可用於編輯.schematics檔案 1. 安裝Amulet # Amulet以Python寫成，原始碼可在Github取得。\n僅Windows有預先編譯的執行檔，Linux和macOS必須手動用Python指令跑。\nWindows # 到官網下載最新版 解壓縮，按二下解壓縮出來的amulet_app.exe開啟程式。 ","title":"Amulet：萬能Minecraft世界編輯器，MCEdit替代品，可將Java版世界轉換成基岩版","type":"minecraft"},{"content":"基岩版玩家（手機版、Windows版、遊戲主機版）透過「Geyser」這款程式，就能連線到Java版的伺服器。\n也可以在自己的Java版伺服器以插件形式安裝Geyser，基岩版端的玩家就不用任何設定，直接連線到Java版伺服器。 這張圖是Geyser的運作原理，基岩版使用者端會透過Geyser代理，轉譯封包，就能與Java版伺服器通訊。 1. 注意事項 # Geyser只能基岩版連Java版伺服器。如果要Java連基岩，請用EZ4H（完成度不高）。 畢竟是不同的平台，基岩版連線到Java版伺服器可能會有小bug，Geyser也有很多不支援的功能，例如資源包。 Java版伺服器如果有安裝插件，基岩版連進去也能運作，但是有模組的話就不行。 有些伺服器連線進去會專門為基岩版玩家分流到其他世界，因此不見得能直接玩到Java版的內容。Hypixel這類外掛抓很兇的伺服器更是有可能會直接ban掉你。 如果要在手機上無痛玩Java版伺服器，可以嘗試PojavLauncher。這個不容易被抓到你是在用手機玩。 伺服器有開正版驗證的話，必須登入Java版的帳號才可以連線到伺服器。 2. 前置作業 # Geyser官網 Geyser的安裝說明 Geyser下載 Geyser需要Java才能運作。到Geyser的下載頁面下載Standalone版本即可，應會得到\u0026quot;Geyser.jar\u0026quot;檔案。其餘的都是伺服器插件用。 使用Geyaer時，Minecraft用戶端必須是最新Minecraft版本，伺服器端則不用。\n預設情況下，伺服器有開正版驗證的話連線進去要登入Java版帳號。如果不想，則必須在Java版伺服端安裝Floodgate插件。\n3. Windows版Geyser連線設定 # 本節示範使用Windows版Minecraft基岩版連線到Java版伺服器。\n到官網下載最新版Geyser的jar檔。\n在電腦上建立一個資料夾，把這個jar檔案放進去。\n按二下就會開啟介面，並建立相關檔案。 建立完檔案之後，把這個介面關掉。 用程式碼編輯器開啟\u0026quot;config.yml\u0026quot;檔案 找到\u0026quot;remote\u0026quot;這一段\n\u0026ldquo;address\u0026quot;後面輸入要連線的Java版伺服器IP。\n\u0026ldquo;port\u0026quot;可維持預設。\n儲存變更，再開啟一次Geyser，放在背景運作。 接著開啟Windows基岩版，新增IP，就可以直接連線。 4. Android版Geyser連線設定 # 本節示範使用Android版Minecraft基岩版連線到Java版伺服器。\n影片版操作參考\nGeyser可以使用命令列形式運作，不需要root，但要懂一點指令。\n下載Termux\n執行以下指令安裝Java，大約需要1分鐘。\npkg install openjdk-17 wget vim 下載Geyser的jar檔 mkdir Geyser wget https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/standalone 啟動Geyser cd Geyser java -jar Geyser.jar Geyser會開始建立相關檔案，跑完後按Ctrl＋C停止。\n用vim編輯config.yml，改成要連線的Java伺服器IP。\nvim config.yml 修改\u0026quot;remote\u0026rdquo; \u0026ldquo;address\u0026rdquo; 後面的\u0026quot;auto\u0026rdquo;，改成要連線的Java版伺服器IP。 再執行Geyser.jar，讓Termux保持在背景執行。\ncd Geyser java -jar Geyser.jar 開啟Android版的Minecraft，在「好友」的頁面會出現Geyser，點進去就可以連線到config.yml所設定的伺服器。 這樣每次玩之前都要先開啟Termux，輸入以下指令才能開啟Minecraft連線：\ncd Geyser java -jar Geyser.jar 5. iOS版Geyser連線設定 # iOS必須越獄，記憶體太小的話，Geyser的背景程式容易被系統砍掉。\n從Cydia下載Filza檔案管理器。\n從Cydia下載NewTerm2\n安裝Java 16的deb檔\n使用FilZa安裝修改版的Java指令deb檔\n開啟NewTerm 2，輸入指令:\nwget [https://ci.opencollab.dev/job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/standalone/target/Geyser.jar.](https://ci.opencollab.dev/job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/standalone/target/Geyser.jar.) 執行Geyser java -jar Geyser.jar 建立好相關檔案後關閉NewTerm2。\n用Fileza找到Geyser的目錄，開啟config.yml\n將\u0026quot;remote\u0026quot; \u0026ldquo;address\u0026quot;後的auto修改成要連線的Java版伺服器IP。\n重新啟動Geyser。 java -jar Geyser.jar 讓Geyser保持背景運作，開啟Minecraft，在好友的頁籤點進去Geyser，就能連線。 6. 主機版連線設定 # Xbox、Switch、PS4主機有點麻煩，參考這篇文章照著影片做。\nhttps://geysermc.org/wiki/geyser/using-geyser-with-consoles\n7. 在Java伺服器上安裝Geyser插件，以Aternos為例 # 參考官方文件，開一個Java伺服器，並安裝Geyser插件。這樣一來基岩版的玩家就不需要開Geyser，也能直接連線到Java版伺服器。\n如果要讓基岩版玩家不需「Java版帳號」也能連線，還要安裝Floodgate插件。\n","date":"2024年5月5日","externalUrl":null,"permalink":"/posts/geyser-minecraft-java-server-bridge/","section":"Minecrafts","summary":"基岩版玩家（手機版、Windows版、遊戲主機版）透過「Geyser」這款程式，就能連線到Java版的伺服器。\n也可以在自己的Java版伺服器以插件形式安裝Geyser，基岩版端的玩家就不用任何設定，直接連線到Java版伺服器。 這張圖是Geyser的運作原理，基岩版使用者端會透過Geyser代理，轉譯封包，就能與Java版伺服器通訊。 1. 注意事項 # Geyser只能基岩版連Java版伺服器。如果要Java連基岩，請用EZ4H（完成度不高）。 畢竟是不同的平台，基岩版連線到Java版伺服器可能會有小bug，Geyser也有很多不支援的功能，例如資源包。 Java版伺服器如果有安裝插件，基岩版連進去也能運作，但是有模組的話就不行。 有些伺服器連線進去會專門為基岩版玩家分流到其他世界，因此不見得能直接玩到Java版的內容。Hypixel這類外掛抓很兇的伺服器更是有可能會直接ban掉你。 如果要在手機上無痛玩Java版伺服器，可以嘗試PojavLauncher。這個不容易被抓到你是在用手機玩。 伺服器有開正版驗證的話，必須登入Java版的帳號才可以連線到伺服器。 2. 前置作業 # Geyser官網 Geyser的安裝說明 Geyser下載 Geyser需要Java才能運作。到Geyser的下載頁面下載Standalone版本即可，應會得到\"Geyser.jar\"檔案。其餘的都是伺服器插件用。 ","title":"GeyserMC教學：讓手機Minecraft基岩版能連線到電腦Java版伺服器","type":"minecraft"},{"content":"Add-On是Minecraft基岩版（Bedrock/MCBE/MCPE）專屬的模組格式。\nAdd-On中文稱作「附加包」。\nAdd-On安裝教學懶人包 # Android版Add-On安裝教學影片\niOS版Add-On安裝教學影片\nWindows版Add-On安裝教學影片\n1. 了解Minecraft Add-On的組成內容 # Minecraft基岩版的Add-On跟Minecraft Java版Forge Mod不一樣，Add-On的模組非單一檔案(.jar)，而是以資料夾形式存在。\n一般而言，Add-On包含以下二個部分：\n行為包 (Behavior Pack)：定義生物行為、戰利品、指令等等 資源包 (Resource Pack)：定義生物外觀、音效、遊戲材質、字體等等 行為包和資源包可以獨立安裝，但大部分Add-On都要二者一起安裝和啟用才有效果。\n在基岩版中，光影模組(Shader Pack，使用GLSL語言撰寫)就是一種資源包。\nMineraft官方提供了專用的模組檔案格式，玩家可以把Add-On打包成以下格式：\n.mcaddon：這種格式同時包含行為包和資源包。 .mcpack：這個格式只包含資源包或行為包。 事實上以上二種格式都只是zip壓縮檔而已，所以你可以改副檔名強行解壓縮。\n2. 如何下載Add-On # 很多Add-On都是從mcpedl.com這個網站來的，就算不懂英文，用Google翻譯也能湊合著看。\n下載步驟請看以下影片。 在你下載Add-On之後，通常會有二種情況：\n檔案結尾是.mcpack或.mcaddon：這個格式可以一鍵安裝。 檔案結尾是.zip：參考手動安裝方法。 3. 如何安裝Add-On # 一鍵安裝Add-On # 開啟你的系統的檔案總管。\n點一下.mcaddon或.mcpack檔案\nWindows版Minecraft會自動開啟，並匯入Add-On。\nAndroid手機會顯示「以xxx開啟」的選項，選擇Minecraft，遊戲就會開啟並自動匯入，也就不用手動解壓縮。 iOS則是對檔案長按，並按「分享」就有「複製到Minecraft」的選項。 Add-On匯入時的畫面 有時候Minecraft會打叉叉顯示「解壓縮失敗(未知套件)」，這個時候就要參考手動安裝方法。\n安裝到這裡還沒結束～你必須手動在世界中啟用Add-On。\n手動安裝Add-On # Add-On手動安裝的方式很簡單，把壓縮檔解壓縮，將解出來的資料夾移動到com.mojang資料夾就可以了！\n若是.mcaddon或.mcpack的檔案，副檔名改成.zip就可以解壓縮。\n首先你要找到「com.mojang」資料夾的位置！\n開啟手機的檔案管理器，在內部儲存空間/Android/data/com.mojang.minecraftpe/games/com.mojang底下，你會發現有「resource_packs」和「behavior_packs」這二個資料夾。 這是Android 手機的畫面 (請確保你的世界是存在外部儲存空間，若不是看這裡修改) iOS請打開系統內建藍色的「檔案」app，在左側位置「我的iPhone」裡面，同樣能找到Minecraft的資料夾，裡面也有games/com.mojang的資料夾。 Windows版的com.mojang資料夾位於：C\\Users\\使用者名稱\\AppData\\Local\\Packages\\Microsoft.MinecraftUWP_8wekyb3d8bbwe\\LocalState\\games\\com.mojang\\minecraftWorlds\n那麼，如何知道解開的檔案裡的資料夾是行為包還是資源包？ 通常作者都會以B開頭表示行為包(behavior)，R開頭表示資源包(resource)。 你只需要：\n資源包資料夾移動到resource_packs資料夾\n行為包資料夾移動到behavior_packs資料夾\n手動安裝完成後，要重開遊戲才會看到Add-On。\n到這裡安裝還沒結束 ～ 你必須手動在世界中啟用Add-On。 主機版如何安裝Add-On # Xbox、PS4、Switch等遊戲主機因為沒有檔案管理器，裝Add-On比較簡單的方法就是在手機或電腦上將已經啟用Add-on的世界上傳到Realms，然後再在主機上打開世界。\n參考這裡。\n4. 如何啟用Add-On # 在遊戲設定的「存放」頁面可以看到你所擁有的資源包和行為包，要刪除也可以從這裡刪。 Add-On預設是不會啟用的。每個世界都可以獨立啟用不同的Add-On，而不是每個世界自動載入。 在編輯世界的頁面左方，你會看到資源包和行為包的按鈕。注意右方「啟動」的部分，預設是空的，只有預設資源包。 接下來請點開「我的套件」選取你要啟用的Add-On的行為包和資源包，按下「啟用」。 啟用時遊戲都會跳警告，說用行為包視同作弊，該世界會無法使用Xbox成就系統，點選確認就可以。 當你看到「啟動」的部分出現時就表示成功了。別忘了，同一個Add-On通常資源包和行為包都要啟用。 此外要在世界「遊戲」裡開啟這些選項，某些Add-On才會正常運作。(第一次開啟遊戲會自動複製一個新的世界，請進入那個新的) 例外情況: 某些Add-On不是在世界裡，而是要透過「遊戲設定」中的「全球資源包」來啟用，這樣所有的世界都會載入這個資源包。通常要這樣做的是改介面或者光影居多。 5. Add-On常見問題 # 1. .mcaddon匯入時遊戲顯示「未知的套件」？\n在「存放」刪除匯入失敗的Add-On後，改用手動安裝。\n2. 我是iOS但是想裝.mcaddon的檔案？\nmcaddon和.mcpack其實都只是壓縮檔換一個檔名而已，因此你只要有「可以改檔名」的app就能手動安Add-On，具體操作可以參考這部影片。\n3. 多人連線可以用Add-On嗎？\nBDS伺服器、Realms、Xbox多人連線、區域連線都可以使用Add-On。\n4. Add-On啟用時顯示「不相容」？\n參考這部影片解決。\n5. 如何自製Add-On？\n參考這裡開始。\n","date":"2024年5月4日","externalUrl":null,"permalink":"/posts/how-to-install-minecraft-add-on/","section":"Minecrafts","summary":"Add-On是Minecraft基岩版（Bedrock/MCBE/MCPE）專屬的模組格式。\nAdd-On中文稱作「附加包」。\nAdd-On安裝教學懶人包 # Android版Add-On安裝教學影片\niOS版Add-On安裝教學影片\nWindows版Add-On安裝教學影片\n1. 了解Minecraft Add-On的組成內容 # Minecraft基岩版的Add-On跟Minecraft Java版Forge Mod不一樣，Add-On的模組非單一檔案(.jar)，而是以資料夾形式存在。\n一般而言，Add-On包含以下二個部分：\n行為包 (Behavior Pack)：定義生物行為、戰利品、指令等等 資源包 (Resource Pack)：定義生物外觀、音效、遊戲材質、字體等等 行為包和資源包可以獨立安裝，但大部分Add-On都要二者一起安裝和啟用才有效果。\n在基岩版中，光影模組(Shader Pack，使用GLSL語言撰寫)就是一種資源包。\nMineraft官方提供了專用的模組檔案格式，玩家可以把Add-On打包成以下格式：\n","title":"Minecraft基岩版安裝模組 (Add-On) ＆ 資源包 ＆ 光影包教學","type":"minecraft"},{"content":"","date":"2024年5月4日","externalUrl":null,"permalink":"/tags/minecraft-realms/","section":"標籤","summary":"","title":"Minecraft Realms","type":"tags"},{"content":"這篇文章列出所有基岩版的多人連線方法。\n只要是基岩版，不同裝置間(手機\u0026amp;電腦\u0026amp;主機)就能夠跨平台互相連線。\n只要是透過官方或者遊戲內建的方式連線，就可以使用模組(Add-on)和資源包，在別人進來你的世界前，世界已經先裝好模組，別人就能直接玩到模組內容。\n另請參見：Add-on安裝教學\n這裡提供快速導覽，選擇適合你的需求的方式快速跳轉到文章段落:\n我的朋友就坐在我旁邊，有Wifi可以用 → 區域連線\n我和我朋友不在一起，各自使用自己的網路 → 區域連線裡面的「Omlet Arcade」方法\n我和我朋友有互加Xbox好友 → 透過Xbox好友邀請\n我希望伺服器永遠在線上，能連線更多人數和裝插件 → 開伺服器\n我希望伺服器永遠在線上，不用煩惱怎麼設定開服，願意花錢 → 買Realms\n1. 前置作業 # 基岩版一定會用到Xbox帳號，註冊時請注意年齡要填18歲以上，否則會遇到各種問題。按這裡了解如何註冊Xbox帳號，和更改多人連線的權限。\n請先確認雙方Minecraft的遊戲版本一致，beta版也不能夠跟正式版連線。\n多人連線前，在遊戲設定的設定檔裡關閉「僅允許受信任的外觀」以及開啟「使用行動數據」。\n由於多人連線認的是Xbox帳號，因此同一個帳號買的程式，可以登入不同的帳號。\n舉例來說: Switch上的主程式可以借給別人登入，然後自己用電腦，這樣二邊就能連線，不管主程式是誰買的。\n在世界中使用指令:\n/setmaxplayers 人數 這樣可以增加世界能容納的最大玩家數量至30個，對Realms無效。重開世界指令要重打。\n2. 區域連線 # 最簡單的方法，又稱LAN連線，不用Xbox帳號。這個方法最多容納5人。\n二部裝置連同一個Wifi (也可以其中一方開熱點分享)，在好友的介面「Lan遊戲」會出現對方的世界可以加入。\n另外可以透過Omlet Arcade使身處異地、不同網路的多個玩家處於同一個虛擬網路下，然後連線。這個app也能用來直播和找朋友。\n如果有電腦的話，也可以考慮使用Hamachi或ZeroTier來創建虛擬區域網路，進行區域連線。\n3. 透過Xbox好友邀請 # 最大上限5人。雙方互為Xbox好友，則能夠邀請對方來自己的世界，不用連同一個網路。\n在Xbox手機App 或電腦應用程式搜尋對方名字(玩家代號)，點進去頭像加好友。 邀請方先進入世界，然後在遊戲暫停畫面右方點選「邀請玩遊戲」，然後從好友列表中選取好友，送出邀請。 被邀請人的會在好友頁面「可加入的好友」看到對方的世界。 4. Realms # 按照選擇的方案，最多可邀請10人。\n這是官方私人伺服器，月費制，可試用一個月。會額外送小遊戲地圖，且伺服器隨時可登入，不用特定一方在線上。\n關於訂閱步驟，以及Realms能幹嘛，請看這篇。\n5. 開伺服器 # 所謂伺服器，就是使用遊戲介面「新增伺服器」連線的方法，如下圖。\n通常會有一個伺服器IP，以及連接埠(port，預設是19132)。\n開伺服器可容納更多玩家，可在自己電腦開或另租主機。自行決定要新增什麼地圖和設定各種選項。\n使用Aternos可以在線上創建伺服器，手機也能操作，就是俗稱的託管。不過因為是免費的也沒辦法一直開著，自訂世界的選項也受到限制，連線速度也很慢。\n花點錢升級，或自己開伺服器，就能安裝模組和自訂更多東西。\n以下是一些開服軟體，更多可至Minecraft Wiki查看:\n官方基岩版專用BDS伺服器教學 PocketMine-MP開服教學 Nukkit開服教學 Geyser教學，基岩版連Java版伺服器 ","date":"2024年5月4日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-multiplayer/","section":"Minecrafts","summary":"這篇文章列出所有基岩版的多人連線方法。\n只要是基岩版，不同裝置間(手機\u0026電腦\u0026主機)就能夠跨平台互相連線。\n只要是透過官方或者遊戲內建的方式連線，就可以使用模組(Add-on)和資源包，在別人進來你的世界前，世界已經先裝好模組，別人就能直接玩到模組內容。\n另請參見：Add-on安裝教學\n這裡提供快速導覽，選擇適合你的需求的方式快速跳轉到文章段落:\n我的朋友就坐在我旁邊，有Wifi可以用 → 區域連線\n我和我朋友不在一起，各自使用自己的網路 → 區域連線裡面的「Omlet Arcade」方法\n我和我朋友有互加Xbox好友 → 透過Xbox好友邀請\n我希望伺服器永遠在線上，能連線更多人數和裝插件 → 開伺服器\n我希望伺服器永遠在線上，不用煩惱怎麼設定開服，願意花錢 → 買Realms\n1. 前置作業 # 基岩版一定會用到Xbox帳號，註冊時請注意年齡要填18歲以上，否則會遇到各種問題。按這裡了解如何註冊Xbox帳號，和更改多人連線的權限。\n請先確認雙方Minecraft的遊戲版本一致，beta版也不能夠跟正式版連線。\n多人連線前，在遊戲設定的設定檔裡關閉「僅允許受信任的外觀」以及開啟「使用行動數據」。\n由於多人連線認的是Xbox帳號，因此同一個帳號買的程式，可以登入不同的帳號。\n","title":"Minecraft基岩版多人連線教學：方法一覽","type":"minecraft"},{"content":"","date":"2024年5月3日","externalUrl":null,"permalink":"/tags/minecraft-update/","section":"標籤","summary":"","title":"Minecraft Update","type":"tags"},{"content":"Minecraft基岩版有類似Java版快照(snapshot)的版本可以下載，稱之為Minecraft Preview。 Minecraft Preview即為測試版/Beta版，你可以提前玩到新功能，例如下一版Minecraft遊戲更新內容，或是Add-On的測試功能。\n現在，Android、iOS、Windows、主機版、Xbox Game Pass的玩家都能夠取得Minecraft Preview。\n1. 注意事項 # 加入測試版前務必注意幾點：\n你必須購買正版Minecraft才可以下載Minecraft Preview。 Minecraft Preview很不穩定，閃退都是常有的事情。 Minecraft Preview可能會無法正常使用商店和多人連線。 Minecraft Preview可能會造成世界毀損。 使用Minecraft Preview打開的世界，降回正式版會打不開，得等未來正式版的版本號大於地圖所載入時的遊戲版本號才能載入（例如測試版是1.17.100，就只能等正式版1.18）。所以玩Minecraft Preview前請做好世界備份。 Windows以外的基岩版沒有版本切換器，只能選擇加入或者退出，沒辦法同時存在正式版和測試版，切換前後都必須重裝整個遊戲。 Minecraft Preview的介面最上方會顯示除錯資訊，包括FPS和RAM，很是惱人。你可以安裝這個全域資源包Preview Hider隱藏。 測試版的更新頻率大約是一週一次，你可以在Mojang員工Jay Wells的Twitter追蹤最新消息。\n如果遇到bug，請第一時間用英文到Jira 向官方回報。\n1. 如何下載Android版Minecraft Preview # 購買Minecraft後，在Google Play的Minecraft畫面，按下加入。 等個10分鐘後重新打開Google Play，就能夠更新至測試版，按鈕會變成「更新」。 如果要退出，也是在這裡按一下退出測試版。\n退出後，系統會提示app要刪除重裝。如果過很久還卡在「即將退出測試版」，試著把Google Play強制停止和清除快取。 2.如何下載iOS版Minecraft Preview # 到App Store下載Testflight APP\n點選Join the Minecraft Preview beta加入測試計畫，就可以下載測試版了。\n提醒：iOS因為測試計畫名額有限，因此常常爆滿。\n3. 如何下載Windows版Minecraft Preview # 開啟Minecraft Launcher\n切換到Minecraft for Windows頁面，選取下載「最新Preview版」。你可以在這個介面切換正式版與測試版。 注意：正式版與測試版資料不互通。\nMinecraft Preview的世界資料夾路徑位於C:\\Users\\使用者名稱\\AppData\\Local\\Packages\\Microsoft.MinecraftWindowsBeta_8wekyb3d8bbwe\\LocalState\\games\\com.mojang\n參考資料 # How to Install Minecraft Preview/Beta - Minecraft Help\n","date":"2024年5月3日","externalUrl":null,"permalink":"/posts/join-minecraft-preview/","section":"Minecrafts","summary":"Minecraft基岩版有類似Java版快照(snapshot)的版本可以下載，稱之為Minecraft Preview。 Minecraft Preview即為測試版/Beta版，你可以提前玩到新功能，例如下一版Minecraft遊戲更新內容，或是Add-On的測試功能。\n現在，Android、iOS、Windows、主機版、Xbox Game Pass的玩家都能夠取得Minecraft Preview。\n1. 注意事項 # 加入測試版前務必注意幾點：\n你必須購買正版Minecraft才可以下載Minecraft Preview。 Minecraft Preview很不穩定，閃退都是常有的事情。 Minecraft Preview可能會無法正常使用商店和多人連線。 Minecraft Preview可能會造成世界毀損。 使用Minecraft Preview打開的世界，降回正式版會打不開，得等未來正式版的版本號大於地圖所載入時的遊戲版本號才能載入（例如測試版是1.17.100，就只能等正式版1.18）。所以玩Minecraft Preview前請做好世界備份。 Windows以外的基岩版沒有版本切換器，只能選擇加入或者退出，沒辦法同時存在正式版和測試版，切換前後都必須重裝整個遊戲。 Minecraft Preview的介面最上方會顯示除錯資訊，包括FPS和RAM，很是惱人。你可以安裝這個全域資源包Preview Hider隱藏。 ","title":"Minecraft基岩版：如何下載最新測試版 (Minecraft Preview)？","type":"minecraft"},{"content":"說到遠端串流遊戲，我們知道有Moonlight ＋ Sunshine的方案，不過你知道Steam本身就有遠端遊戲的功能嗎？\nSteam Link（遠端暢玩）為Steam官方推出的免費遊戲串流服務，可讓玩家遠端遊玩電腦上的Steam遊戲，不論是區域網路還是出門在外，都能夠遠端存取家中電腦。 Steam Linux客戶端支援Android、iOS、Linux、Windows、macOS，可以手機對電腦操控，也可以電腦對電腦操控。 另外，Steam Link客戶端內建虛擬手把方便玩家透過Steam Input操控遊戲。如果手機安裝Steam Link APP的話，你就彷彿擁有了Steam Deck的操作體驗。 1. Steam Link系統需求 # 任一Linux發行版 Intel、AMD、Nvidia顯示卡皆可。 X11和Wayland協定的桌面皆可 非區域網路下，上傳速度最低需要20Mbps（5MB/s） 2. 設定方法 # 根據官方說明\n在電腦安裝Linux版Steam\n將兩個裝置連到同一個Wifi網路\n欲改善延遲，在Linux端的Steam開放以下防火牆通訊埠：\nsudo ufw allow 27036/tcp sudo ufw allow 27037/tcp sudo ufw allow 27031/udp sudo ufw allow 27036/udp # SteamVR sudo ufw allow 10400 sudo ufw allow 10401 sudo ufw reload 在要遠端連線的裝置下載Steam Link客戶端。\nSteam Link開啟後應該會自動掃描區域網路的Steam電腦，若無，點選「其他電腦」取得配對碼 再於電腦端的Steam按設定 → 遠端暢玩，點選「配對Steam串流裝置」，輸入配對碼。裝置配對成功後，即使沒有處在同一個Wifi網路下依然有效。 在串流開始後，Steam會自動進入Big Pciture Mode，這個時候的操控很像Steam Deck。 如果遊戲支援Steam Input，Steam會在啟動遊戲後自動套用手把的鍵盤映射。 Steam Link客戶端的設定可將預設模式調整為桌面，如此一來Steam Link就可以當遠端桌面使用。 3. Steam Link效能測試 # Steam Link支援區域網路連線，以及公共網路連線。後者是給兩部不同網路下的裝置用的（例如手機用4G網路連回家裡電腦），此時連線走Steam官方伺服器，延遲較高。\n個人體感，在使用區域Wifi網路遊玩的時候，延遲跟Moonlight ＋ Sunshine差不多。1920x1080畫質都能很好的串流。 但是一旦使用4G遠端連線，Steam Link延遲就爆炸高。連在選擇遊戲畫面都會嚴重掉格，而且畫面鋸齒嚴重。\n經過實測，Steam Link不是很好用，尤其在網速不夠快的情況下更是如此，非區域網路下的效能不如Moonlight ＋ Sunshine串流伺服器的方案。\n","date":"2024年5月3日","externalUrl":null,"permalink":"/posts/steam-link-linux/","section":"所有文章","summary":"說到遠端串流遊戲，我們知道有Moonlight ＋ Sunshine的方案，不過你知道Steam本身就有遠端遊戲的功能嗎？\nSteam Link（遠端暢玩）為Steam官方推出的免費遊戲串流服務，可讓玩家遠端遊玩電腦上的Steam遊戲，不論是區域網路還是出門在外，都能夠遠端存取家中電腦。 Steam Linux客戶端支援Android、iOS、Linux、Windows、macOS，可以手機對電腦操控，也可以電腦對電腦操控。 另外，Steam Link客戶端內建虛擬手把方便玩家透過Steam Input操控遊戲。如果手機安裝Steam Link APP的話，你就彷彿擁有了Steam Deck的操作體驗。 1. Steam Link系統需求 # 任一Linux發行版 Intel、AMD、Nvidia顯示卡皆可。 X11和Wayland協定的桌面皆可 非區域網路下，上傳速度最低需要20Mbps（5MB/s） 2. 設定方法 # 根據官方說明\n在電腦安裝Linux版Steam\n將兩個裝置連到同一個Wifi網路\n欲改善延遲，在Linux端的Steam開放以下防火牆通訊埠：\nsudo ufw allow 27036/tcp sudo ufw allow 27037/tcp sudo ufw allow 27031/udp sudo ufw allow 27036/udp # SteamVR sudo ufw allow 10400 sudo ufw allow 10401 sudo ufw reload 在要遠端連線的裝置下載Steam Link客戶端。\n","title":"Steam Link ＋ Linux版Steam遠端暢玩遊戲 ～ 效能測試","type":"posts"},{"content":"Moonlight Game Streaming(月光)是能讓你用手機筆電串流玩另一台電腦遊戲的開源軟體，同時有遠端桌面的功能。\nMoolight最初是針對Nvidia Gamestream所開發的開源軟體。後來出現了另一款Sunshine伺服器軟體，使遊戲串流能在Intel、AMD顯示卡運作，不限於Nvidia顯示卡。並且Sunshine能夠在Linux、Windows、macOS系統執行。\nMoonlight主要依賴GPU傳輸畫面，因此CPU佔用較低。它的串流能力十分優秀，能夠做到低延遲玩遊戲的效果。\n實際操作請看以下影片 本文將示範在性能較強的Linux桌機安裝Sunshine，並用性能較弱的Linux筆電遊玩桌機上的《戰爭雷霆》，後面再討論如何架設ZeroTier服務以達成在外面也能連線到家中電腦。 1. 安裝Sunshine伺服器 # Sunshine最初由loki-47-6F-64開發，現請使用LizardByte維護的新版本Sunshine。\n安裝Sunshine的電腦必須要連著實體螢幕，讓Linux能輸出畫面，不然就得準備HDMI欺騙器了。如果你懂得撰寫X.org設定檔的話，也可以參考Level1Techs玩家的作法在headless伺服器新增虛擬螢幕。\nSunshine支援X11與Wayland工作階段，Nvidia顯示卡記得要安裝CUDA套件。\n接著安裝Sunshine本體：官方文件有列出各發行版的安裝方法。例如Ubuntu就是從Github裝對應版本的deb檔：\nsudo apt install -f ./sunshine-ubuntu-24.04-amd64.deb sudo reboot 安裝Sunshine後還要設定Sunshine的服務。 2. 設定Sunshine伺服器服務 # 將自己加入input群組： sudo usermod -a -G input $USER sudo reboot 編輯Sunshine規則： sudo vim /etc/udev/rules.d/85-sunshine-input.rules 加入以下內容： KERNEL==\u0026#34;uinput\u0026#34;, GROUP=\u0026#34;input\u0026#34;, MODE=\u0026#34;0660\u0026#34; 編輯uinput: sudo vim /etc/modules-load.d/uinput.conf 加入以下內容，設定開機載入uinput模組，防止Could not create Sunshine Mouse: Permission denied錯誤： uinput UFW開啟防火牆，允許以下幾個通訊埠(port)連入： sudo ufw allow 47984/tcp sudo ufw allow 47989/tcp sudo ufw allow 48010/tcp sudo ufw allow 47988/udp sudo ufw allow 47998/udp sudo ufw allow 47999/udp sudo ufw allow 48000/udp sudo ufw allow 48002/udp sudo ufw allow 48010/udp sudo ufw reload 啟用Avahi服務 sudo systemctl enable --now avahi-daemon 啟動Sunshine系統服務。注意Sunshine是使用者服務，不是系統服務。 systemctl --user start sunshine # 設定開機登入後自動啟動 systemctl --user enable sunshine # 查看Sunshine運作情況 systemctl --user status sunshine # 若是AppImage，service可能會指向tmp目錄導致無法啟動，要自行編輯~/.config/systemd/user/sunshine.service，修正Exec=為sunshine.AppImage的所在路徑 # 查看更詳細的Sunshine log journalctl --user-unit sunshine 用瀏覽器開啟https://localhost:47990，設定Sunshine後台的帳號密碼。 之後頁面會重新載入，登入Sunshine後台。\n3. 安裝Moonlight客戶端 # Moonlight的客戶端(Client)支援Linux/Windows/MacOS/Android/iOS，請到官網下載。\n開啟Moonlight連線客戶端，確認桌機和筆電都連線到同一個Wifi，筆電的Moonlight客戶端應該就會掃描到電腦了。點選電腦圖示，會出現一組配對碼。 桌機Sunshine後台點選Pair，輸入配對碼。 點選電腦圖示再點選\u0026quot;Desktop\u0026quot;，筆電端就可以存取電腦桌面了。 選擇Desktop的界面能使用設定檔(~/.config/sunshine/sunshine.conf)或是Sunshine後台加入要快速啟動的程式。 如果延遲嚴重試著在Moonlight客戶端調低畫質和FPS。 遠端桌電的聲音也會一併傳輸過來，聽不到的話試著調整遠端主機的PulseAudio輸出模式。 4. Moonlight啟動Steam遊戲 # Moonlight客戶端支援用遊戲手把、鍵盤、觸控螢幕遠端操控遊戲；手機版Moonlight APP由下往上三指滑動開啟鍵盤。由於手把要看遊戲有無支援，甚至還要搞按鍵映射，因此這邊是用筆電的鍵盤滑鼠作遠端操控。\nMoonlight客戶端能夠直接啟動Steam的Big Picture Mode，不過若Steam是用Snap或Flatpak安裝的就得手動開啟。 進入Big Picture Mode後，直接開啟遊戲吧。 實際用Moonlight遠端遊戲打了幾場空戰，偏靜態的畫面還算清楚。 不過畫面一複雜就可能變馬賽克了(下圖畫面是真的很模糊)。即使是區域網路都有這種問題，從外面連線回來這種真遠端就更不用說了，後面會探討一些解決方式。 5. 透過內網穿透遠端存取Sunshine # 虛擬區域網路軟體是用於內網穿透的工具，使其不受Wifi網路的限制，讓二部不同網路的裝置連線到一個虛擬區域網路。\n此處使用ZeroTier，請參考ZeroTier使用教學，原理差不多，將二台裝置都連上ZeroTier網路，並開啟9993通訊埠給ZeroTier做P2P。\nMoonlight客戶端連線會找不到ZeroTier網路上的電腦，請直接按右上角以ZeroTier分配的區域IP新增電腦： 6. 解決Moonlight連線延遲 # 非區域網路連線下，Moonlight(Sunshine)的伺服端上傳網速需求為40Mbps(每秒5MB)以上，ping值小於50ms，才能流暢串流720p30FPS的遊戲；要玩1080p60FPS遊戲則是需要160Mbps的上傳速度。\nMoonlight客戶端的位元速率(Bitrate)最好設定為低於遠端電腦的上傳速度，串流才不會卡卡。\n藉ZeroTier從外網連線到桌機上的Sunshine服務一定會有延遲，下面是我嘗試過的解決方法。\n用系統NetworkManager將DNS伺服器設定為8.8.8.8 用zerotier-cli peers查看二個節點間是否有P2P成功，若成功會顯示為LEAF。 從本機ping遠端主機的IP看延遲，100ms以內延遲才夠低。 Speedtest測試一下網速。 重開數據機與路由器。 7. 用平板當電腦的無線螢幕 # 使用Moonlight搭配虛擬顯示器，讓平板不只是串流，而是能夠當作電腦第二個螢幕使用。\n參見：用平板當電腦第二螢幕：Moonlight ＋ Sunshine 串流設定教學\n參考資料 # Error: Could not create Sunshine Mouse: Permission denied #52 【心得】遠端遙控軟體Moonlight設置教學 @黑色沙漠 BLACK DESERT 哈啦板 - 巴哈姆特 Moonlight Game Streaming: Play Your PC Games Remotely ","date":"2024年5月2日","externalUrl":null,"permalink":"/posts/linux-sunshine-remote-gaming/","section":"所有文章","summary":"Moonlight Game Streaming(月光)是能讓你用手機筆電串流玩另一台電腦遊戲的開源軟體，同時有遠端桌面的功能。\nMoolight最初是針對Nvidia Gamestream所開發的開源軟體。後來出現了另一款Sunshine伺服器軟體，使遊戲串流能在Intel、AMD顯示卡運作，不限於Nvidia顯示卡。並且Sunshine能夠在Linux、Windows、macOS系統執行。\nMoonlight主要依賴GPU傳輸畫面，因此CPU佔用較低。它的串流能力十分優秀，能夠做到低延遲玩遊戲的效果。\n實際操作請看以下影片 本文將示範在性能較強的Linux桌機安裝Sunshine，並用性能較弱的Linux筆電遊玩桌機上的《戰爭雷霆》，後面再討論如何架設ZeroTier服務以達成在外面也能連線到家中電腦。 1. 安裝Sunshine伺服器 # Sunshine最初由loki-47-6F-64開發，現請使用LizardByte維護的新版本Sunshine。\n安裝Sunshine的電腦必須要連著實體螢幕，讓Linux能輸出畫面，不然就得準備HDMI欺騙器了。如果你懂得撰寫X.org設定檔的話，也可以參考Level1Techs玩家的作法在headless伺服器新增虛擬螢幕。\nSunshine支援X11與Wayland工作階段，Nvidia顯示卡記得要安裝CUDA套件。\n","title":"Sunshine：Linux版Moonlight教學，自架免費雲端串流遊戲服務＋遠端桌面","type":"posts"},{"content":"《MultiCraft》是什麼？這是一款玩法很像Minecraft的手機遊戲，支援Android與iOS系統。 下載點：Android｜iOS\n請注意：MultiCraft不是《Minecraft》，也不是Mojang官方開發的遊戲，它只是玩法很像而已。\nMultiCraft由俄國人Maksim Gamarnik開發，基於開源引擎《Luantai》修改而來，因此你可以在MultiCraft無縫安裝Luantai (Minetest) 的地圖、模組、子遊戲、材質包。\n1. MultiCraft操作教學 # MultiCraft內建有五個預設世界供選擇。點選右邊的Creative按鈕可以將該世界切換為創造模式。按Create則是新建世界。 點選地圖旁邊的齒輪啟用模組，這裡模組分別為隨機傳送、健康值、世界編輯器。 進入遊戲後玩法很像Minecraft：玩家必須在方塊世界中生存下去。蒐集木頭和羊毛，合成床，度過夜晚。 在左下角的箭頭可以下載Minetest的子遊戲。子遊戲可以想成是不同的小遊戲，不再只是生存模式，各有各的玩法。 Join Games面板為多人遊戲，可連線到全球或者朋友的伺服器。加入前要先在右邊欄位填寫玩家名字(Name)和密碼(Password)。 你也可以使用Host Server的功能，自行建立伺服器，開啟多人遊戲。其他玩家只要輸入邀請碼(Invitation Code)就可以加入遊戲。 2. MultiCraft與Minetest的關係 # 你知道嗎，MultiCraft其實就是Minetest的fork（衍生版）！MultiCraft背後使用Minetest作為遊戲引擎，故二者玩法很類似。\n相關文章：Luanti (Minetest) 遊戲介紹 為什麼Minetest明明跨平台，本家的Android版卻沒人問津呢？\n啊哈！原來是MultiCraft這個更強的fork把玩家都吸走了。\nMultiCraft在Google Play已經超過5000萬次下載，是原版Minetest（100萬次下載）的五十倍。\nMultiCraft同時也是唯一在App Store上架的Minetest fork，讓iOS玩家也可以玩到Minetest。（似乎有改授權條款？因為App Store不接受LGPL的軟體）\nMultuicraft可以說是為手機玩家設計的Minetest，界面專為手機優化過，並且強化了多人遊戲玩法，有很好的引導玩家連線到伺服器。\n簡單來說，MultiCraft比較知道玩家要什麼。APP預先安裝了一款子遊戲，省去玩家選擇困難症的問題。（我不確定這是哪款子遊戲，可能是Voxelibre？） MultiCraft也可以連線到Minetest的多人伺服器，以及安裝Minetest的模組、子遊戲。\n相較之下Minetest原版設計比較像是給工程師玩的，這個界面用手指觸控真的很糟糕呀\u0026hellip; 3. MultiCraft缺點 # MultiCraft缺點是內建全螢幕影片廣告，這個原版Minetest絕不會出現的東西，畢竟作者需要生活嘛！\n廣告可以花33台幣一次性解鎖（按Get Premium按鈕）。 嘛，在眾多Minetest的fork中，MultiCraft還算好的，它依然是開源軟體，有遵照原本Minetest的LGPL條款在Github放出原始碼。 不像那些破廉恥的Minetest fork！只顧著用廣告和課金內容賺錢，卻忘了辛苦的Minetest開發者。\n根據Minetest Wiki指出，有許多模仿Minecraft的遊戲就是直接抄Minetest程式碼的，不只品質低落，還內建一堆廣告。\n例如：Buildcraft、Worldcraft 2、Worldcraft Pocket Edition、Exploration、FreeCraft、PixelCraft、Cartoon Craft、Voxel Craft等等\u0026hellip;不勝枚舉呀。\n我在不要再玩Google Play上的免費Minecraft了！一文中對此現象有進一步討論。\n","date":"2024年5月2日","externalUrl":null,"permalink":"/posts/multicraft-game/","section":"Luantis","summary":"《MultiCraft》是什麼？這是一款玩法很像Minecraft的手機遊戲，支援Android與iOS系統。 下載點：Android｜iOS\n請注意：MultiCraft不是《Minecraft》，也不是Mojang官方開發的遊戲，它只是玩法很像而已。\nMultiCraft由俄國人Maksim Gamarnik開發，基於開源引擎《Luantai》修改而來，因此你可以在MultiCraft無縫安裝Luantai (Minetest) 的地圖、模組、子遊戲、材質包。\n1. MultiCraft操作教學 # MultiCraft內建有五個預設世界供選擇。點選右邊的Creative按鈕可以將該世界切換為創造模式。按Create則是新建世界。 點選地圖旁邊的齒輪啟用模組，這裡模組分別為隨機傳送、健康值、世界編輯器。 進入遊戲後玩法很像Minecraft：玩家必須在方塊世界中生存下去。蒐集木頭和羊毛，合成床，度過夜晚。 在左下角的箭頭可以下載Minetest的子遊戲。子遊戲可以想成是不同的小遊戲，不再只是生存模式，各有各的玩法。 Join Games面板為多人遊戲，可連線到全球或者朋友的伺服器。加入前要先在右邊欄位填寫玩家名字(Name)和密碼(Password)。 ","title":"《MultiCraft》遊戲介紹 ～ 界面優化過的手機版Luanti","type":"luanti"},{"content":" 地點：○○○身心精神科診所\n「我是懦夫。」\n看得出來。沒有，這裡沒有鬼王達會教你功夫。\n過去我只能聽著汪峰2015年以前出版的幾張專輯來度過，原來還有人懂你的感覺。\n我不知道，夢是什麼顏色。我不知道自己是什麼，我不知道自己是什麼，我不知道自己是什麼。 不禁又流下淚來。\n1. 心理狀況 # 為什麼診間有聚寶盆啊，不說我還以為是中醫師的店舖。\n我不知道要先說生理還是心理狀況，就先從心理狀況開始說吧。\n我覺得我有三個焦慮的點。\n第一，現在我讀的是○○系的○○，在○○那邊，要寫○○的。○○需要從實際資料取得資料，但是我沒有人可以研究，目前○○還沒有頭緒，這是讓我焦慮的第一點。\n第二點，是關於○○○○的問題讓我焦慮。雖然我考上○○○○，修課也還可以。但是從中的成績低落，總讓我覺得自己能力不足。尤其，關於英語專業的課程。我的英語能力沒有強到可以當native speaker，然後基礎知識也不行，去補習班可能變成我要備課很久的程度。不客氣的說，在文法方面的知識我可能還比高中考學測的時候差。\n如果說要走第二條路，我還有一點○○方面的專長。我懂得一點○○，也知道怎麼做○○，經營○○○已經有一年多了，做出了些成果來，還有人要找我帶貨。可是，當○○的東西要開始深入的時候一樣的問題就來了，我的底子不行，但凡涉及專業知識的東西就會感到手忙腳亂，尤其，還有數學方面這個我最大的死穴，所以對於○○方面的東西只能淺嘗輒止。\n其實，我不排斥當○○，以前做過給○○○○○○○○○○覺得很有趣，但我一直覺得自己的能力配不上給人教學。我甚至懷疑以後我能不能通過○○○○，還是只能當個流浪教師。\n最近找工作焦慮的人很多呢、你是這樣說的，所以我的問題看來不是世界上最稀有的問題。\n最後一個焦慮是，我還沒○○。雖然是4個月的小事情，但這個潛在的問題還是困擾著我，也使得我無法休學做真正的休息。沒有，我沒有要當逃○，我不是來跪求免疫證明的，跟我講別人的例子幹嘛。\nIf there are other ways\u0026hellip;更深刻的理由還有，除了○○以外的路程，我似乎沒有其他路可走了。儘管我父母沒有強求我一定要讀完○○當○○，但是我也覺得沒退路了，從○○肄業感覺很可惜。知道嗎？每次有人問我為什麼要當○○，我不假思索的回答：沒選擇了，上次這樣談論的對象是一個外國朋友。連高尚的理想、第一因都拋棄了，就只是，沒有選擇而已。\n解決方案為何？我想就是儘快找個兼職工作累積經驗，才可以解決。但是，我需要一種方法，一種心態，可以使我真正的發憤圖強，振作起來，不再渾渾噩噩。脫離已經持續兩年的這種狀態了。\n現在我聽著竇唯來度過，原來還有人懂你的感覺。\n何時得到輕鬆和快樂，何時驅散身邊的寂寞。 2. 生理狀況 # 接著是關於生理方面的問題。\n每次想到以上的問題，我總是會失望起來，感覺到眼淚不自覺的流下來。雖然還沒到妨礙睡眠的程度，但是此時胸悶的厲害，頭也暈，有時還會望向窗台，或是想說把手插到插座裡面（天國鑰匙，哈哈），或是火車鐵軌。問到說我會真的想死嗎、好像又不是真的想要死的樣子。症狀還沒到憂鬱症吧。問到讓我活下去的目標是什麼？我對身邊的人沒有一絲關心，意即小我不是可以存活的理由。總是想追求國家、迷大義的東西（好比政治意識、政黨傾向）才可以支撐我有活下去的目標。但是、有時候只會更空虛而已。\n回想起課業表現不佳的時候，我就會不自禁的自言自語，反芻當初做錯的事情，明明就是已經不能改變的了。還有很多強迫行為，比如拔頭髮，和重複某種語言的自言自語等等，感覺好像妥瑞症。講點比較私人的事情，要抒壓的時候，我不煙不酒，除了運動、看電影之外，就是OGC了。雖然可以做一些興趣的活動，就如前述所說的，寫寫○○轉移注意力。但我總覺得，那不過是在逃避而已。你知道，我可以在應該複習考試科目的前天，花一整天研究某個新主題，到最後後悔考試沒考好。可是有些事情、早就已經是習得無助感的課，再努力讀也沒用的。可是、壓力源還是在那裡。\n那麼，醫生，我應該定時吃藥嗎？還是要找學校的諮商師定期晤談呢？因為我不能停下來，所以吃藥會不會影響我上課呢？\n我明白你不是人生導師，但是希望可以給我一點想法。啊啊，你說6年前就找過大學的諮商師了，諮詢一學期也沒有什麼太大改變，所以在這短暫的晤談中，也不可能有什麼結果。是的，一定要去找現在學校的諮商做定期診斷。那麼，下收藥物。\n3. 吃藥吧，會讓你好過一點 # 最後拿到了三種藥。BUPROTRIN、DAILYCARE ACTIBEST S.C. TAB、RITALIN。 「我不是要這個\u0026hellip;」彷彿何金銀拿到印度神油，趴在中國古拳法門口的口氣一般，不然是要練功夫嗎？\n總之，按照醫囑，在藍色的星期一吞了戒菸用的藥物加上聰明藥。瞬間感覺到專注提昇，好像強效咖啡一樣的提神，但又不會有焦慮感。覺得可以平靜又高效率的做事，對其他事情好像也看得開了。不過、時間一到，就覺得又變成一塊爛泥了。\n這藥不得常常吃，會依賴。\n後來我聽著滅火器度過，原來還有人懂你的感覺。\n天公伯總會保庇，太陽一出來仍然會是好天氣。 雖然眼中含著淚水，感恩著身邊人的諒解，收起過份的自我、無力的我，今天依然活著。\n","date":"2024年5月2日","externalUrl":null,"permalink":"/posts/2024050201/","section":"Personals","summary":" 地點：○○○身心精神科診所\n「我是懦夫。」\n看得出來。沒有，這裡沒有鬼王達會教你功夫。\n過去我只能聽著汪峰2015年以前出版的幾張專輯來度過，原來還有人懂你的感覺。\n我不知道，夢是什麼顏色。我不知道自己是什麼，我不知道自己是什麼，我不知道自己是什麼。 不禁又流下淚來。\n1. 心理狀況 # 為什麼診間有聚寶盆啊，不說我還以為是中醫師的店舖。\n我不知道要先說生理還是心理狀況，就先從心理狀況開始說吧。\n我覺得我有三個焦慮的點。\n第一，現在我讀的是○○系的○○，在○○那邊，要寫○○的。○○需要從實際資料取得資料，但是我沒有人可以研究，目前○○還沒有頭緒，這是讓我焦慮的第一點。\n第二點，是關於○○○○的問題讓我焦慮。雖然我考上○○○○，修課也還可以。但是從中的成績低落，總讓我覺得自己能力不足。尤其，關於英語專業的課程。我的英語能力沒有強到可以當native speaker，然後基礎知識也不行，去補習班可能變成我要備課很久的程度。不客氣的說，在文法方面的知識我可能還比高中考學測的時候差。\n如果說要走第二條路，我還有一點○○方面的專長。我懂得一點○○，也知道怎麼做○○，經營○○○已經有一年多了，做出了些成果來，還有人要找我帶貨。可是，當○○的東西要開始深入的時候一樣的問題就來了，我的底子不行，但凡涉及專業知識的東西就會感到手忙腳亂，尤其，還有數學方面這個我最大的死穴，所以對於○○方面的東西只能淺嘗輒止。\n","title":"第一次看身心科筆記","type":"personal"},{"content":" 喜歡看寫實系的孕肚ボテ腹同人本的，絕對不能錯過社團CrowView「たじ」老師的作品。\n妊娠紋、黑乳暈、羊水中的胎兒、精妙的出產畫面\u0026hellip;這些懷孕婦女的要素，總是能在他的作品中享受到。 CrowView (たじ)的作品購買連結：MelonBooks｜DLSite\nたじ老師的作品我有買個幾本，紙本放在手上看那孕肚的質感，很是震撼。\n1. たじ的作品特色 # 要了解たじ對孕婦的刻劃強在哪裡，看些實際例子吧。\n最常見的就是大乳暈，不論大小奶都有，たじ對這方面的描繪可說是十分細緻，充分展現女人懷孕特有的韻味。 大井っちのお腹に赤ちゃんがいました 小妊孕雌春夏秋冬 400染\n再來是孕肚，妊娠紋元素黑白漫畫比較難看出來，但是たじ的肚子都予人真實的壓迫感，因此可說是非常懂得刻劃的。\n不用脫衣也能襯托出那份壓力！ 日日リシュリュー\n有的孕肚配上少女瘦弱的肋骨身形顯得更加美麗。 400染 浦波、承りました…\n這襲來的壓迫感\u0026hellip;性交中的動感\u0026hellip; 峯雲プレゴリズム お客様満足度☆5\n最後關於子宮內胎兒的刻劃很少，但只要一出現該本就會成為傑作，這個在下一節必看佳作再介紹。\n在たじ的神級描繪下，孕婦不論是用後入還是騎乘位，都能給讀者帶來極佳的觀賞體驗。\n不過自從他開始畫《蔚藍檔案》的本子之後，畫風就出現微妙的變化了呢，不再像以前那樣寫實。\n2. 必看佳作 # たじ本子蠻多的，我覺得最棒的主要是下面幾本艦隊Collection系列的同人誌。\n(COMIC1☆15) [CrowView (たじ)] 峯雲プレゴリズム (艦隊これくしょん -艦これ-)\nNTR注意。\n雖然是貧乳體型，但是後面豐滿的孕肚讓這名女性的性感程度提昇了許多。\n懷孕初期就大乳暈啊 任誰看到這個裝扮，這個肚子，都會無法招架吧。像花一樣的乳暈隨著花漾的內衣隨波蕩漾讓人迷失了眼神。 騎乘位，堅挺的肉棒頂著子宮口和寶寶，看著扁奶不斷搖晃，不得不說たじ真的很懂刻劃這種的畫面張力。 (C95) [CrowView (たじ)] 大井っちのお腹に赤ちゃんがいました\n忙著給寶寶餵奶的大井，還要應付提督的騷擾。 管他的！避孕什麼的才不重要！給妳射的希哩嘩啦，精子全部注入子宮，這個表情切換的分鏡表現的可真是強烈，表現出一種暴力又恩愛的場面。 這個系列就是很恩愛的不斷生小孩，前傳おおいっちに赤ちゃんがいます值得一讀。\n(C92) [CrowView (たじ)] 神威補給妊務 (艦隊これくしょん -艦これ-)\n看原本雪白的乳暈\u0026hellip;後面就會慢慢變成濃厚多汁的黑色乳暈～ 補給艦就是用乳汁補給呀\u0026hellip;怎麼感覺怪怪的。嘛，可口的黑色大乳暈不管誰看了都想吸一口。 盡全力的射精讓補給艦神威、速吸懷孕\u0026hellip;\u0026hellip;就是為了巨乳孕婦雙飛，光是這一幕後就讓たじ成為永遠的大師了。\n(C93) [CrowView (たじ)] お客様満足度☆5 (艦隊これくしょん -艦これ-)\n擇捉與松輪\n同樣雙飛，但是肚子大的與身形不成比例的海防艦小蘿莉的雙飛。\n我宣佈這是たじ畫過最讚的封面，而且內容物也絕非詐欺，玩過都說讚。 不能說たじ亂畫，資料顯示，世界上最年輕懷孕的紀錄是5歲的秘魯女孩Lina Medina，身形確實長這樣。（更奇怪的知識增加了） 這本可作為下一本的前菜～ 要幹幾個月的呢，答案是我全都要。 松輪可說是勞模，害羞的表情卻是最淫蕩的 覺得比較可惜的是這張哪，封底的對馬畫得很色，可是下一本出場的時候就看起來變成穿肚兜的小屁孩。 [CrowView (たじ)] あったか暖房器具 (艦隊これくしょん -艦これ-)\n對馬與松輪\n這本對馬沒什麼亮點，只是覺得這一幕好痛啊，叫妳咬咬不是真的咬下去啦！ 果然還是要真正夠色的松輪上場，用肉棒叫寶寶起床！幼小的身軀被後入的大肉棒頂著射精，又要抵抗巨大肚子因引力而下垂\u0026hellip;這畫面實在太讚了。 後面還來個extra bonus！幹到出產\u0026hellip;（有細心看一集的話就知道她快生了） 3. 總結 # 個人認為，跟同樣愛畫孕婦的黒糖ニッケ比起來，たじ走的是更為貼近現實的風格。\n或許在有些人看來，たじ對孕婦的身體描繪過於寫實，可能會覺得有點噁心。有些人會覺得孕婦play簡單描繪一下帶過就行了，畫那麼真實幹嘛。但這正是許多作者做不到的，才成就了たじ的獨特啊！\n","date":"2024年5月2日","externalUrl":null,"permalink":"/posts/crowview-taji-doujin-review/","section":"Nsfws","summary":" 喜歡看寫實系的孕肚ボテ腹同人本的，絕對不能錯過社團CrowView「たじ」老師的作品。\n妊娠紋、黑乳暈、羊水中的胎兒、精妙的出產畫面…這些懷孕婦女的要素，總是能在他的作品中享受到。 CrowView (たじ)的作品購買連結：MelonBooks｜DLSite\nたじ老師的作品我有買個幾本，紙本放在手上看那孕肚的質感，很是震撼。\n1. たじ的作品特色 # 要了解たじ對孕婦的刻劃強在哪裡，看些實際例子吧。\n最常見的就是大乳暈，不論大小奶都有，たじ對這方面的描繪可說是十分細緻，充分展現女人懷孕特有的韻味。 大井っちのお腹に赤ちゃんがいました 小妊孕雌春夏秋冬 400染\n再來是孕肚，妊娠紋元素黑白漫畫比較難看出來，但是たじ的肚子都予人真實的壓迫感，因此可說是非常懂得刻劃的。\n","title":"寫實系孕肚本子大師推薦：CrowView (たじ)","type":"nsfw"},{"content":"這篇文章列出一些人氣Minecraft基岩版討論區，裡面會有很多下載資源的管道，能夠下載模組、地圖、材質包、皮膚、光影、行為包、資源包，嗯，應該是沒有漏講的。\n不建議透過應用商店上的那種一鍵安裝的程式下載，通常都不注重版權；中國的XX助手或XX盒子也一樣。\n就基岩版目前狀況來說，最推薦到MCPEDL下載。\n請先參考：Minecraft基岩版安裝模組(Add-On)\u0026amp;資源包\u0026amp;光影教學\n官方市集 Marketplace # 就是遊戲內建的商城，花真錢買地圖和材質。\n網易版Minecraft也有內建商城，不過有很多免費的可以下載。\n中文Minecraft討論區 # 本站，我會推薦一些實用有趣的模組。 巴哈姆特 MCPE子板 Omlet Arcade上的Minecraft討論區 MCPE.TW 我的世界pe吧 MCBBS基岩版分區 苦力怕論壇 Minebbs 梦方社区 英文討論區 # MCPEDL Curseforge for-minecraft.com 此外，Twitter或Youtube上也能搜尋到很多Youtuber自製的模組資源包，他們不見得會在討論區貼文，而是選擇在自己的頻道或者Discord群組分享。\n搜尋「minecraft bedrock add-on + 模組名字」，應該能看到很多。\n找到喜歡的東西，卻不懂英文？你有Google翻譯能翻譯整個網頁。\n只是下載時遇到短網址可能會有一點困難，這時請參考這部影片了解跳過短網址的訣竅。\n","date":"2024年5月2日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-resource-websites/","section":"Minecrafts","summary":"這篇文章列出一些人氣Minecraft基岩版討論區，裡面會有很多下載資源的管道，能夠下載模組、地圖、材質包、皮膚、光影、行為包、資源包，嗯，應該是沒有漏講的。\n不建議透過應用商店上的那種一鍵安裝的程式下載，通常都不注重版權；中國的XX助手或XX盒子也一樣。\n就基岩版目前狀況來說，最推薦到MCPEDL下載。\n請先參考：Minecraft基岩版安裝模組(Add-On)\u0026資源包\u0026光影教學\n官方市集 Marketplace # 就是遊戲內建的商城，花真錢買地圖和材質。\n網易版Minecraft也有內建商城，不過有很多免費的可以下載。\n中文Minecraft討論區 # 本站，我會推薦一些實用有趣的模組。 巴哈姆特 MCPE子板 Omlet Arcade上的Minecraft討論區 MCPE.TW 我的世界pe吧 MCBBS基岩版分區 苦力怕論壇 Minebbs 梦方社区 英文討論區 # MCPEDL Curseforge for-minecraft.com 此外，Twitter或Youtube上也能搜尋到很多Youtuber自製的模組資源包，他們不見得會在討論區貼文，而是選擇在自己的頻道或者Discord群組分享。\n搜尋「minecraft bedrock add-on + 模組名字」，應該能看到很多。\n找到喜歡的東西，卻不懂英文？你有Google翻譯能翻譯整個網頁。\n","title":"哪裡可以下載Minecraft基岩版模組、地圖、材質包、皮膚?","type":"minecraft"},{"content":"中文版\nIn this article I will discuss how to play Minecraft Bedrock Edition on Linux. Minecraft Bedrock 1.20 on Linux. Shader: YSS. Seed: 4354585255707245098. Coords: 359, 82, -387\nThe \u0026ldquo;Linux\u0026rdquo; here includes: Ubuntu, Debian, Fedora, Arch Linux, Manjaro, openSUSE, Gentoo. ChromeOS IS NOT INCLUDED.\n1. What is Minecraft Bedrock Edition? # Minecraft Bedrock Edition is a version launched after Mojang was acquired by Microsoft in 2015. It is different from the Java version of Minecraft, which is commonly known as the \u0026ldquo;PC version\u0026rdquo;. Bedrock Edition focuses on cross-platform play. In addition to the Windows version, Bedrock Edition also integrates the previous mobile version (Pocket Eidtion) and console version (Console Eidtion), and is named Bedrock Edition, making it a truly cross-platform version of Minecraft.\nThe world format, commands, servers, and mods (\u0026ldquo;Add-On\u0026rdquo;) of Bedrock Edition are all the same among various platforms. Users can freely choose to control players with touch, keyboard, and controllers. And players can connect to each other among various platforms. This is where Bedrock Edition outperforms Java Edition. However, the mod functions of Bedrock Edition are not as rich as Java Edition.\nAnd although Bedrock Edition claims to be \u0026ldquo;cross-platform\u0026rdquo;, there are still no native versions for macOS and Linux.\n2. Options for playing Minecraft Bedrock Edition on Linux # Since there are so many Minecraft Java Edition launchers for Linux, can we run Minecraft Bedrock Edition for Windows on Linux with XX Launchers ??\nThe answer is NO.\nBecause Minecraft Bedrock Edition is written in C++ and packaged in UWP format, there is no way to rely on the \u0026ldquo;JVM\u0026rdquo; to achieve cross-platform like Minecraft Java Edition. And, forget about Wine. It will not work for UWP applications.\nIn addition to playing Bedrock in a Windows virtual machine, we still have other choice: playing Android version of Minecraft Bedrock Edition.\nThe functions of Android version are the same as those of Windows Bedrock Edition. The biggest difference is that there is no RTX ray tracing and the rendering distance is shorter. But this is not a big problem, the Android version still has many cool Render Dragon shaders that can meet the needs of players who like eye-candy visual effects. In addition, the Android Bedrock Edition APK supports x86 and ARM architectures, so you can also play Minecraft Bedrock Edition through the Android emulator on ARM-based SBC (such as Raspberry Pi).\nI used to use Minecraft Bedrock Launcher developed by Mr. Arm, which supports macOS and Linux, for playing Minecraft Bedrock Edition on Linux. But why wouldn’t I recommend it? It uses Anbox behind it. The Android version is too old, the game will crash inexplicably, and there are various unresolved bugs.\nSo I decided to use other Android emulator solutions.\nPlease go to Google Play to purchase Android Bedrock Edition first, and then refer to List of Android emulators for Linux, choose a solution that suits you.\nI personally prefer \u0026ldquo;Waydroid\u0026rdquo;, which can take advantage of GPU acceleration (well, Nvidia GPU is not supported by Waydroid btw). The touch screen, keyboard, mouse, and game controller all work normally. You can login into Xbox accounts without any issues. 3. Where are the world file of Minecraft Bedrock Edition # In order to comply with Google Play policies, Minecraft Bedrock Edition (1.18 and later) placed its game data in /data/data/com.mojang.minecraftpe. This directory cannot be accessed without Root permissions.\nYou can install Minecraft Bedrock Edition Add-On with the extension of .mcpack.\nHowever, it would be troublesome for players who want to manually install it.\nIn the case of Waydroid, files can be transferred using ADB.\nFirst go to the Minecraft game settings. Change the world storage location to external, so that the game data will be transferred from /data/data/com.mojang.minecraftpe to /sdcard/Android/data/com.mojang.minecraftpe Use the waydroid shell command to grant root permissions to access the files in this directory.\nsudo waydroid shell ls /sdcard/Android/data/com.mojang.minecraftpe/files/games/com.mojang The Minecraft world directory is minecraftWorlds, the behavior pack dirctroy is behavior_packs, the resource pack dirctroy is resource_packs, and the skin pack dirctroy is skin_packs\nGo to Waydroid’s system settings → About the phone, check the IP address, it should start with 192.168...\nConnect ADB to Waydroid\nadb connect IP address:5555 Use the ADB command to push the MyWorld directory of the Minecraft world from the Linux host to the Download directory of Waydroid container, and then use the Waydroid Shell commands to move them to minecraftWorlds adb push /home/user/Downloads/MyWorld /sdcard/Download/ sudo waydroid shell mv /sdcard/Download/MyWorld /sdcard/Android/data/com.mojang.minecraftpe/files/games/com.mojang/minecraftWorlds You can also pull the files in Waydroid to the host machine sudo waydroid shell cp -r /sdcard/Android/data/com.mojang.minecraftpe/files/games/com.mojang/minecraftWorlds/MyWorld /sdcard/Download adb pull /sdcard/Download/MyWorld /home/user/Downloads/ 4. Multiplayer connection in Bedrock Edition # Multiplayer connections in Minecraft Bedrock Edition can make good use of Xbox account connections: as long as both parties are friends, they can enter each other\u0026rsquo;s worlds.\nLAN connections may not work because Waydroid runs in its own subnet.\nIf you need to manage more people, use Bedrock Dedicated Server to set up a server.\n","date":"2024-05-01","externalUrl":null,"permalink":"/en-us/posts/play-minecraft-bedrock-edition-on-linux/","section":"Posts","summary":"中文版\nIn this article I will discuss how to play Minecraft Bedrock Edition on Linux. Minecraft Bedrock 1.20 on Linux. Shader: YSS. Seed: 4354585255707245098. Coords: 359, 82, -387\nThe “Linux” here includes: Ubuntu, Debian, Fedora, Arch Linux, Manjaro, openSUSE, Gentoo. ChromeOS IS NOT INCLUDED.\n1. What is Minecraft Bedrock Edition? # Minecraft Bedrock Edition is a version launched after Mojang was acquired by Microsoft in 2015. It is different from the Java version of Minecraft, which is commonly known as the “PC version”. Bedrock Edition focuses on cross-platform play. In addition to the Windows version, Bedrock Edition also integrates the previous mobile version (Pocket Eidtion) and console version (Console Eidtion), and is named Bedrock Edition, making it a truly cross-platform version of Minecraft.\nThe world format, commands, servers, and mods (“Add-On”) of Bedrock Edition are all the same among various platforms. Users can freely choose to control players with touch, keyboard, and controllers. And players can connect to each other among various platforms. This is where Bedrock Edition outperforms Java Edition. However, the mod functions of Bedrock Edition are not as rich as Java Edition.\nAnd although Bedrock Edition claims to be “cross-platform”, there are still no native versions for macOS and Linux.\n2. Options for playing Minecraft Bedrock Edition on Linux # Since there are so many Minecraft Java Edition launchers for Linux, can we run Minecraft Bedrock Edition for Windows on Linux with XX Launchers ??\nThe answer is NO.\nBecause Minecraft Bedrock Edition is written in C++ and packaged in UWP format, there is no way to rely on the “JVM” to achieve cross-platform like Minecraft Java Edition. And, forget about Wine. It will not work for UWP applications.\nIn addition to playing Bedrock in a Windows virtual machine, we still have other choice: playing Android version of Minecraft Bedrock Edition.\nThe functions of Android version are the same as those of Windows Bedrock Edition. The biggest difference is that there is no RTX ray tracing and the rendering distance is shorter. But this is not a big problem, the Android version still has many cool Render Dragon shaders that can meet the needs of players who like eye-candy visual effects. In addition, the Android Bedrock Edition APK supports x86 and ARM architectures, so you can also play Minecraft Bedrock Edition through the Android emulator on ARM-based SBC (such as Raspberry Pi).\nI used to use Minecraft Bedrock Launcher developed by Mr. Arm, which supports macOS and Linux, for playing Minecraft Bedrock Edition on Linux. But why wouldn’t I recommend it? It uses Anbox behind it. The Android version is too old, the game will crash inexplicably, and there are various unresolved bugs.\nSo I decided to use other Android emulator solutions.\nPlease go to Google Play to purchase Android Bedrock Edition first, and then refer to List of Android emulators for Linux, choose a solution that suits you.\n","title":"For playing Minecraft Bedrock on Linux, stop using Bedrock Launcher. Use Waydroid instead.","type":"posts"},{"content":"","date":"2024-05-01","externalUrl":null,"permalink":"/en-us/categories/gaming-on-linux/","section":"Categories","summary":"","title":"Gaming on Linux","type":"categories"},{"content":"打造一個永遠在線上的低功耗雲手機，使用Android或iOS手機隨時隨地遠端存取。 根據Geekbench跑分資料，Raspberry Pi 4代以後的處理器性能，已經接近一些Android低階機，用來玩不吃3D效能的手機遊戲是可行的。\n如果要在Raspberry Pi裝Android，可以利用開發者KonstaKANG維護的LineageOS系統。 論建置雲手機，之前討論過Linux x86電腦架設雲手機的作法。那這裡為什麼不用Linux + Android模擬器的方案呢？因為那些都是虛擬機，要不然就是容器。\n這裡LineageOS的優勢在於是在實體機上執行的，而且系統是ARM架構，沒有x86電腦靠libhoudini轉譯造成的不相容問題，且LineageOS預設狀態下沒有Root。這樣玩遊戲就沒理由說我用模擬器不給玩了吧？除非那些遊戲認為「隨時處在充電狀態」的Android裝置很可疑。\n最後的一點是，如果你真的需要特定感測器零件，樹莓派什麼都能買配件來外掛，相機？麥克風？喇叭？GPS？甚至4G模組都有貨！所有元件裝一裝就變成Pine64 PinePhone了吧。當然，什麼硬體都不裝，作為單純的Android系統載體也行。\n1. 材料 # 樹莓派 x1，需為4代以後，RAM在4GB以上。 64GB SD卡x1或是SSD外接盒。LineageOS系統是預設安裝到SD卡，嫌慢的可以將系統寫入到SSD，使用硬碟外接盒，然後再調整cmdline設定USB優先開機。 KonstaKANG維護的LineageOS映像檔，目前對應Android 14 上傳速度在40Mbps（5MB/s）以上的網路，這是720p串流的最低要求。 HDMI欺騙器x1 ＋ micro HDMI轉HDMI x1。為什麼要有HDMI欺騙器？Android需要有螢幕才能輸出畫面，如果不想接實體螢幕佔空間，那麼HDMI欺騙器是好選擇。 鍵盤、滑鼠、螢幕（僅初次設定會用到） 內網穿透軟體，例如ZerotTier或TailScale 遠端控制軟體，例如Rustdesk、Scrcpy、VNC 2. 安裝LineageOS和Play商店 # 樹莓派刷Android參考這篇文章。\n在設定好遠端控制連線之前，先不要拔掉螢幕與鍵盤。\n3. 從外網存取樹莓派 # 設定內網穿透軟體，在樹莓派安裝VPN APP。\nAndroid 14應該可以在系統設定 → 網路，設定開機後自動連線到特定VPN。 4. 遠端控制樹莓派Android系統 # 要流暢遠端控制，使用Scrcpy或者Rustdesk。Rustdesk需要每次開機後手動啟動，參見透過RustDesk實現手機遠端控制另一部手機\nKonstaKANG的LineageOS系統設定還有一個常駐的VNC服務，雖然圖形效能很爛但可以作為備用遠端存取方案。VNC客戶端可以使用RealVNC Viewer或者Remmina。\nScrcpy需要靠ADB over TCP連線。Scrcpy電腦版客戶端請到Github下載。手機版的話Android下載「甲殼蟲ADB助手」，iOS下載Scrcpy Remote。\n在LineageOS的系統設定 → 關於平板連按5下，開啟開發人員選項\n在開發人員選項啟用ADB偵錯\n到系統 → Raspberry Pi Settings，啟用ADB偵錯。這裡會顯示裝置的IP和通訊埠（注意連上VPN後IP可能會變化） 於電腦端開啟終端機，使用adb指令與樹莓派連線，並手動同意\nadb connect 樹莓派IP:5555 啟動Scrcpy。欲改善無線延遲，降低位元率(bitrate)，或是在Android系統設定調低自身解析度到720p以下。 adb devices scrcpy 在確認好樹莓派可以用手機遠端控制後，就可以拔出螢幕，改用HDMI欺騙器替代樹莓派螢幕了。 實測如果用LineageOS 21的內建設定修改螢幕解析度的話，Scrcpy 2.1就連不上了！可能得改用SecondScreen修改解析度。\nLineageOS的螢幕方向可以在系統設定 → 系統 → Raspberry Pi Settings強制修改\nLineageOS的軟體鍵盤需要到系統 → 鍵盤 → 實體鍵盤啟用\nScrcpy音效應該不會傳送過來。如果硬要音效，可以用閉源軟體AudioRelay。\n","date":"2024年4月30日","externalUrl":null,"permalink":"/posts/raspberry-pi-android-cloud-gaming/","section":"所有文章","summary":"打造一個永遠在線上的低功耗雲手機，使用Android或iOS手機隨時隨地遠端存取。 根據Geekbench跑分資料，Raspberry Pi 4代以後的處理器性能，已經接近一些Android低階機，用來玩不吃3D效能的手機遊戲是可行的。\n如果要在Raspberry Pi裝Android，可以利用開發者KonstaKANG維護的LineageOS系統。 論建置雲手機，之前討論過Linux x86電腦架設雲手機的作法。那這裡為什麼不用Linux + Android模擬器的方案呢？因為那些都是虛擬機，要不然就是容器。\n這裡LineageOS的優勢在於是在實體機上執行的，而且系統是ARM架構，沒有x86電腦靠libhoudini轉譯造成的不相容問題，且LineageOS預設狀態下沒有Root。這樣玩遊戲就沒理由說我用模擬器不給玩了吧？除非那些遊戲認為「隨時處在充電狀態」的Android裝置很可疑。\n最後的一點是，如果你真的需要特定感測器零件，樹莓派什麼都能買配件來外掛，相機？麥克風？喇叭？GPS？甚至4G模組都有貨！所有元件裝一裝就變成Pine64 PinePhone了吧。當然，什麼硬體都不裝，作為單純的Android系統載體也行。\n1. 材料 # 樹莓派 x1，需為4代以後，RAM在4GB以上。 64GB SD卡x1或是SSD外接盒。LineageOS系統是預設安裝到SD卡，嫌慢的可以將系統寫入到SSD，使用硬碟外接盒，然後再調整cmdline設定USB優先開機。 KonstaKANG維護的LineageOS映像檔，目前對應Android 14 上傳速度在40Mbps（5MB/s）以上的網路，這是720p串流的最低要求。 HDMI欺騙器x1 ＋ micro HDMI轉HDMI x1。為什麼要有HDMI欺騙器？Android需要有螢幕才能輸出畫面，如果不想接實體螢幕佔空間，那麼HDMI欺騙器是好選擇。 鍵盤、滑鼠、螢幕（僅初次設定會用到） 內網穿透軟體，例如ZerotTier或TailScale 遠端控制軟體，例如Rustdesk、Scrcpy、VNC 2. 安裝LineageOS和Play商店 # 樹莓派刷Android參考這篇文章。\n","title":"自建Android雲手機之樹莓派5刷LineageOS + Play商店","type":"posts"},{"content":"樹莓派除了跑Linux系統以外，也可以跑Android喔！\n開發者KonstaKANG專門維護給Raspberry Pi開發板安裝的Android系統，基於LineageOS開發。分為一般Android版以及Android TV版本，可視需求安裝。\nRaspberry Pi第4代以後的硬體效能已經相當於一台低階Android手機，播放影片沒有問題，也夠用玩些不吃3D效能的手遊了。\n此外，KonstaKANG還為LineageOS增加了許多實用功能，像是切換音訊輸出、SSH伺服器、VNC遠端桌面、常駐ADB偵錯、FFMPEG硬體解碼、DAC、CPU超頻、GPIO腳位開關等等。\n不論你是想要打造低功耗的雲手機，還是DIY一台Android電視盒，KonstaKANG維護的系統都適合拿來使用。\n本文以Rasbperry Pi 5安裝LineageOS 21 (Andorid 14)為例子，順便解說如何安裝Google Play和Magisk。 LineageOS 21 running on Raspberry Pi 5\n1. 準備項目 # 64GB以上的SD卡 Raspberry Pi 4以後的型號，4GB以上RAM 螢幕、鍵盤、滑鼠 這裡列出的僅是最簡陋的配備，實際上Raspberry Pi 4缺少許多手機的感測器，你必須自己按照需求添購硬體加裝上去。\n2. 刷寫LineageOS映像檔 # 到KonstaKANG官網下載LineageOS映像檔。目前有Rasbperry Pi 3、Rasbperry Pi 4、Rasbperry Pi 5的映像檔。 取得映像檔之後解壓縮，得到IMG檔\n使用RPI Imager燒錄到SD卡\n值得注意的是，LineageOS的映像檔並不會自動填滿SD卡的全部空間，所以要用Gparted軟體手動調整userdata分區，使其填滿： 將SD卡放到Raspberry Pi 4，上電開機，完成初始設定。\n3. 刷入GAPPS # Magisk跟GAPPS刷入方法差不多，此處不細講。\nLineageOS沒有內建GAPPS，請用Android的瀏覽器手動下載NikGApps。Android 14選U版本，下載core版本的zip檔案。 開啟LineageOS系統設定 → 系統 → 按鍵 → 電源選單 → 啟用進階重新啟動選項 這樣狀態欄下拉，按重開機鈕就會出現Recovery的選項 重新啟動到TWRP，選取Install，再選取zip刷入。 點選Reboot重開機。\n接著要通過Google裝置認證。\n讓LineageOS連上Wifi。開啟系統設定，連按5下「關於平板電腦」叫出開發人員選項。\n在開發人員選項開啟ADB，並允許Root偵錯。 在系統 → Raspberry Pi Settings，啟用ADB 在電腦上開啟adb，連線到LineageOS的IP（IP可以到LineageOS系統設定的網路查看）\nadb connect LineageOS的IP:5555 執行以下指令，取得裝置ID adb root adb shell \u0026#39;sqlite3 /data/*/*/*/gservices.db \\ \u0026#34;select * from main where name = \\\u0026#34;android_id\\\u0026#34;;\u0026#34;\u0026#39; 到Google裝置註冊網頁填入ID，等30分鐘後才可以使用Play商店。 ","date":"2024年4月30日","externalUrl":null,"permalink":"/posts/raspberry-pi-lineageos/","section":"所有文章","summary":"樹莓派除了跑Linux系統以外，也可以跑Android喔！\n開發者KonstaKANG專門維護給Raspberry Pi開發板安裝的Android系統，基於LineageOS開發。分為一般Android版以及Android TV版本，可視需求安裝。\nRaspberry Pi第4代以後的硬體效能已經相當於一台低階Android手機，播放影片沒有問題，也夠用玩些不吃3D效能的手遊了。\n此外，KonstaKANG還為LineageOS增加了許多實用功能，像是切換音訊輸出、SSH伺服器、VNC遠端桌面、常駐ADB偵錯、FFMPEG硬體解碼、DAC、CPU超頻、GPIO腳位開關等等。\n不論你是想要打造低功耗的雲手機，還是DIY一台Android電視盒，KonstaKANG維護的系統都適合拿來使用。\n本文以Rasbperry Pi 5安裝LineageOS 21 (Andorid 14)為例子，順便解說如何安裝Google Play和Magisk。 LineageOS 21 running on Raspberry Pi 5\n1. 準備項目 # 64GB以上的SD卡 Raspberry Pi 4以後的型號，4GB以上RAM 螢幕、鍵盤、滑鼠 這裡列出的僅是最簡陋的配備，實際上Raspberry Pi 4缺少許多手機的感測器，你必須自己按照需求添購硬體加裝上去。\n","title":"樹莓派5如何刷入LineageOS (Android)，安裝Google Play商店","type":"posts"},{"content":" 圖片：指揮官充當男妓，服務妮姬從早幹到晚的行程表 說許多手遊是公然賣騷的電子妓女遊戲一點都不過份，性暗示成份多過遊戲劇情。過去角色至少還會看起來清純，好比艦隊Collection，但越來越多的角色的外觀設計、談吐一副就是說快來幹我的樣子，比如尺度很大的蔚藍檔案、碧藍航線、勝利女神妮姬、第七史詩、棕色塵埃2、塵白禁區，都有「很妓」的Live2d。隨便在Danbooru搜尋一下拆包內容就有大量逼近R18極限的動畫影片。\nFate/Go也不惶多讓，雖然只是紙芝居，最明顯的例子就是南丁格爾(萬聖)和BB(水著)，說穿得像妓女一樣都還太輕了點，出現在螢幕上根本是婊子在拉客，讓人說出射爆了的話語。\n如果只是要看很妓的角色，何必浪費時間玩遊戲，為何不去看漢化組dump出來的CG尻就好了？更進一步說，去玩成人遊戲呀？\n這裡有一篇討論：Fan Services in Gachas - A Perspective: Why gacha coomers don\u0026rsquo;t \u0026ldquo;just watch porn instead\u0026rdquo; - Reddit\n還有我之前寫過的心理分析：看H漫時，喜歡二創同人本還是原創漫畫單行本\n原因各異。可能人們在追求刺激的戰鬥體驗的，欣賞完精心設計的劇本之後，還要有抱得美人歸，回家大幹一場的遐想吧。\n很多人都認為FGO是電子妓女遊戲，隨便一個女角都有出不完的本子，可一般角色穿著至少還會遮一下，有的角色服裝設計就真的像是在賣淫一樣的穿著。不計禮裝卡面的話，那麼最「妓」服裝的角色，第一個肯定是南丁格爾的萬聖節服裝，保險套配色的內衣，宛若冷酷無情，腰部掛著保險套蒐集精液的惡鬼， 為二創題材鋪路 再來是BB水著，靈基1、2階段的根本就是情趣內衣，不用脫就夠色了，隨便一張插圖不用露點，只要黑肉奶子透出來就可以讓人硬爆。穿高衩泳裝的反而不怎麼樣。事實上，含有間桐櫻要素的servant都色在不同的地方，但還是BB本體最強。 這樣的話二創要做的就是補上真槍實彈的部份。 山魯佐德的衣服也很像侍奉用的穿著，但是對這種送上門來的沒興趣呀。瑪修的危險野獸裝很色，但是沒什麼特殊感覺。比較有感的應該還是傑克靈基2 非常適合二創 還有海倫娜水著，表現出蘿莉的幼態肌膚，很是吸引人。 非常適合二創 可能很多玩家還是認為許多女性在遊戲中仍是偏清純的，懷有某種純真的幻想，才會對FGO鯖太郎＆外送茶事件如此不滿的緣故吧！遊戲製作者有意無意的製作符合目標客群喜愛的東西，被貼上色情標籤是遲早的事情。\n電子牛郎遊戲有沒有呢？當然有！不過沒太多研究所以我不知道怎麼講，刻意把男人的胸肌畫出來，強調腐女會喜歡的基情橋段，對女性而言也是在賣肉嗎？\n也許，覺得玩電子妓女很爽的人，某種程度上還是在追求一種遊戲性吧！\n","date":"2024年4月29日","externalUrl":null,"permalink":"/posts/why-gacha-players-dont-just-watch-hentai/","section":"Nsfws","summary":" 圖片：指揮官充當男妓，服務妮姬從早幹到晚的行程表 說許多手遊是公然賣騷的電子妓女遊戲一點都不過份，性暗示成份多過遊戲劇情。過去角色至少還會看起來清純，好比艦隊Collection，但越來越多的角色的外觀設計、談吐一副就是說快來幹我的樣子，比如尺度很大的蔚藍檔案、碧藍航線、勝利女神妮姬、第七史詩、棕色塵埃2、塵白禁區，都有「很妓」的Live2d。隨便在Danbooru搜尋一下拆包內容就有大量逼近R18極限的動畫影片。\nFate/Go也不惶多讓，雖然只是紙芝居，最明顯的例子就是南丁格爾(萬聖)和BB(水著)，說穿得像妓女一樣都還太輕了點，出現在螢幕上根本是婊子在拉客，讓人說出射爆了的話語。\n如果只是要看很妓的角色，何必浪費時間玩遊戲，為何不去看漢化組dump出來的CG尻就好了？更進一步說，去玩成人遊戲呀？\n","title":"你是本子玩家，玩妓女遊戲究竟是要看角色還是玩遊戲，何不直接玩成人遊戲？","type":"nsfw"},{"content":"在你使用Ubuntu Touch Installer安裝好系統之後，是時候了解操作系統的技巧了。\n1. 手勢操作 # Ubuntu Touch操作邏輯為右側螢幕往內滑並停止進入多工頁面。右滑切換上一個APP。左滑回首頁\n螢幕從上面往下拉開啟狀態欄 按下電源鍵鎖定手機。 左側螢幕往內滑開啟應用程式選單。\n在應用程式列表長按應用程式，進入分割視窗（僅部分APP支援）。\n2. Ubuntu Touch安裝APP方法 # Ubuntu Touch內建常用軟體，例如瀏覽器、相機、檔案管理器、終端機。APP建議到Open Store下載。\nUbuntu Touch雖然有終端機，但是不建議用APT安裝套件，系統可能會毀損，且下次OTA更新就會蓋掉變更。\n那麼安裝軟體的來源只剩這幾個：\nOpen Store：Open Store收錄原生APP。但真的沒多少原生APP，裡面還一堆用HTML5網頁偽裝的。 Libertine：參閱官方使用手冊，使用chroot或LXC建立桌面版Ubuntu容器。容器的版本對應Ubuntu Touch系統版本，目前是Ubuntu 20.04。 Ubuntu的Snap：利用Canonical力推的Snap格式安裝桌面軟體。Ubuntu touch需要使用snapz0r開啟Snap支援。 Waydroid：使用LXC技術跑Android APP，且容器裡面的Android APP能夠存取Ubuntu touch的相機。參見官方使用手冊。你可以用Ubuntu touch內建的Open Store，下載Waydroid Helper APP，它就會幫你裝好沒有GAPPS的LineageOS映像檔。 如果要使用Linux桌面軟體，先到系統設定開啟「桌面模式」，再用Libertine建立容器，在裡面安裝桌面版Linux程式。Ubuntu Touch的顯示協定為Mir（不是Wayland），Lubertine裡面的程式跑在XMir之下\nUbuntu Touch使用終端機的注意事項 # Ubuntu Touch系統預設唯讀，若要用APT安裝套件，以下的指令可以解除系統唯讀，但是隨意apt upgrade系統套件很容易導致手機卡開機。\n#重開機仍有效 sudo touch /userdata/.writable_image #僅限目前工作階段 sudo mount -o remount,rw / APT不建議使用，但是你仍然可以執行systemd相關的指令，以及操作命令行的程式。\n此外，部分Android修改來的Ubuntu Touch手機連到電腦還是能用MTP傳輸檔案。\n","date":"2024年4月28日","externalUrl":null,"permalink":"/posts/ubuntu-touch-tips/","section":"所有文章","summary":"在你使用Ubuntu Touch Installer安裝好系統之後，是時候了解操作系統的技巧了。\n1. 手勢操作 # Ubuntu Touch操作邏輯為右側螢幕往內滑並停止進入多工頁面。右滑切換上一個APP。左滑回首頁\n螢幕從上面往下拉開啟狀態欄 按下電源鍵鎖定手機。 左側螢幕往內滑開啟應用程式選單。\n在應用程式列表長按應用程式，進入分割視窗（僅部分APP支援）。\n2. Ubuntu Touch安裝APP方法 # Ubuntu Touch內建常用軟體，例如瀏覽器、相機、檔案管理器、終端機。APP建議到Open Store下載。\nUbuntu Touch雖然有終端機，但是不建議用APT安裝套件，系統可能會毀損，且下次OTA更新就會蓋掉變更。\n那麼安裝軟體的來源只剩這幾個：\nOpen Store：Open Store收錄原生APP。但真的沒多少原生APP，裡面還一堆用HTML5網頁偽裝的。 Libertine：參閱官方使用手冊，使用chroot或LXC建立桌面版Ubuntu容器。容器的版本對應Ubuntu Touch系統版本，目前是Ubuntu 20.04。 Ubuntu的Snap：利用Canonical力推的Snap格式安裝桌面軟體。Ubuntu touch需要使用snapz0r開啟Snap支援。 Waydroid：使用LXC技術跑Android APP，且容器裡面的Android APP能夠存取Ubuntu touch的相機。參見官方使用手冊。你可以用Ubuntu touch內建的Open Store，下載Waydroid Helper APP，它就會幫你裝好沒有GAPPS的LineageOS映像檔。 如果要使用Linux桌面軟體，先到系統設定開啟「桌面模式」，再用Libertine建立容器，在裡面安裝桌面版Linux程式。Ubuntu Touch的顯示協定為Mir（不是Wayland），Lubertine裡面的程式跑在XMir之下\n","title":"Ubuntu Touch使用技巧","type":"posts"},{"content":"本文介紹如何在Linux系統，透過SteamCMD與Goldberg Steam Emulator玩Windows遊戲的用法。\nSteamCMD是Valve官方推出的命令行程式，讓玩家不用開Steam客戶端也能登入帳號下載購買的遊戲。 我看很多Windows用戶都用SteamCMD下載特定遊戲的伺服器程式，繞過需要開Steam客戶端的麻煩。\n不過，SteamCMD還能用來下載遊戲主程式檔案，拿到exe就可以直接遊玩了！\n對Linux用戶來說，SteamCMD在某些極端狀況下非常有用：\n嫌Linux版的Steam官方客戶端太臃腫，不爽開（Nvidia＋Wayland環境問題一堆\u0026hellip;.） 想在Android用exe模擬器跑Steam遊戲 想脫離Steam玩遊戲，不給Steam監控 來源：https://www.youtube.com/watch?v=hXp51MQnPEg\n即使在Linux系統，也可以用SteamCMD強制下載Windows版的exe。\n不過，SteamCMD並不會幫你處理Proton依賴，下載後的exe需要手動用其他Wine工具來執行。\n至於需要依賴Steam API才能啟動的遊戲，SteamCMD本身無法處理這個問題，必須使用Goldberg Steam Emulator繞過。\n1. 安裝SteamCMD # Windows版到官網下載，解壓縮點進目錄，點選steamcmd.exe就會初始化，並將遊戲下載到該目錄。\n於該目錄開啟終端機，輸入./steamcmd.exe執行指令。\n提示：Windows版的steamcmd.exe也可以用Linux Wine轉譯執行。\nLinux版SteamCMD請參考官網說明，透過套件管理員安裝。\n例如Arch Linux可從AUR安裝：\nyay -S steamcmd 此外，Linux版SteamCMD尚能透過Flatpak版Steam取得。steamcmd指令附帶於Flatpak套件中，使用以下指令執行：\nflatpak run --command=steamcmd com.valvesoftware.Steam 2. SteamCMD指令操作 # 資料路徑 # SteamCMD預設路徑位於~/.local/share/steamcmd/或~/.local/share/Steam/steamapps/\nFlatpak版SteamCMD預設路徑位於~/.var/app/com.valvesoftware.Steam/.local/share/steamcmd/\n下載遊戲 # SteamCMD在啟動之後會進入自身的命令列。 使用login \u0026quot;使用者名稱\u0026quot; \u0026quot;密碼\u0026quot;指令登入Steam帳號。\n在登入之後就可以用app_update 遊戲ID validate下載或更新遊戲。\n加上參數 @sSteamCmdForcePlatformType可以模擬平台，強制下載Windows版遊戲。\n加上參數force_install_dir \u0026quot;目錄\u0026quot;可以變更遊戲安裝路徑，不加的話就是預設路徑。\n如何知道遊戲ID？到Steam官網登入帳號，到收藏庫查看遊戲的商店頁面，網址上面的數字就是遊戲ID了。 範例：下載《IL-2 Sturmovik: 1946》遊戲\napp_update 15320 validate @sSteamCmdForcePlatformType windows 接著使用app_run指令執行遊戲。但Linux無法直接執行exe，所以我們得手動用Wine啟動。 app_run 15320 SteamCMD的資料目錄結構與Steam客戶端相仿，遊戲會放到steamapps目錄，只要找到exe，就可以用Wine指令執行了。 cd ~/.local/share/Steam/steamapps/common/遊戲目錄 wine \u0026#34;遊戲主程式.exe\u0026#34; 指令稿 # 如果你想在bash script使用SteamCMD，那麼你可以傳指令參數給steamcmd。記得每個參數要加上+號。\n#!/bin/bash steamcmd +login \u0026#34;使用者名稱\u0026#34; \u0026#34;密碼\u0026#34; +app_update 15320 +validate +@sSteamCmdForcePlatformType windows +quit SteamCMD尚支援txt格式的指令稿檔案：\ncat \u0026lt;\u0026lt;EOT \u0026gt;\u0026gt; commands.txt login \u0026#34;使用者名稱\u0026#34; \u0026#34;密碼\u0026#34; app_update 15320 validate @sSteamCmdForcePlatformType windows quit EOT steamcmd +runscript \u0026#34;commands.txt\u0026#34; 3. Steam Emulator解決無法啟動遊戲的問題 # SteamCMD無法處理需要依賴Steam客戶端的遊戲（注意Steamworks API跟DRM保護是不同的東西），硬要啟動會遇到Steam API Initialize Failed錯誤。Goldenberge Steam Emulator可幫你解決這個問題。\n到作者的Gitlab取得最新檔案，解壓縮，將裡面的steam_api.dll或libsteam_api.so放到遊戲目錄下，取代原本的steam_api.dll。\n然後在同一個目錄，新增一個steam_appid.txt，檔案裡面填入Steam遊戲的ID（可以從商店頁面取得）。\n如此一來遊戲便可以用Wine啟動了。\n參考資料 # SteamCMD詳細用法參考官方Wiki：SteamCMD - Valve Developer Community\n分享：Steam TUI是dmadisetti開發的SteamCMD命令行前端，可以幫你啟動Steam遊戲，也可以在必要的時候於背景開一個最小化的Steam客戶端，協助遊戲通過DRM驗證。故SteamTUI需要依賴Linux版Steam官方客戶端才可以啟動。不過，2024年4月實測，這個程式似乎已經無效，Steam仍會以正常模式啟動。\n","date":"2024年4月27日","externalUrl":null,"permalink":"/posts/linux-steamcmd/","section":"所有文章","summary":"本文介紹如何在Linux系統，透過SteamCMD與Goldberg Steam Emulator玩Windows遊戲的用法。\nSteamCMD是Valve官方推出的命令行程式，讓玩家不用開Steam客戶端也能登入帳號下載購買的遊戲。 我看很多Windows用戶都用SteamCMD下載特定遊戲的伺服器程式，繞過需要開Steam客戶端的麻煩。\n不過，SteamCMD還能用來下載遊戲主程式檔案，拿到exe就可以直接遊玩了！\n對Linux用戶來說，SteamCMD在某些極端狀況下非常有用：\n嫌Linux版的Steam官方客戶端太臃腫，不爽開（Nvidia＋Wayland環境問題一堆….） 想在Android用exe模擬器跑Steam遊戲 想脫離Steam玩遊戲，不給Steam監控 來源：https://www.youtube.com/watch?v=hXp51MQnPEg\n即使在Linux系統，也可以用SteamCMD強制下載Windows版的exe。\n不過，SteamCMD並不會幫你處理Proton依賴，下載後的exe需要手動用其他Wine工具來執行。\n至於需要依賴Steam API才能啟動的遊戲，SteamCMD本身無法處理這個問題，必須使用Goldberg Steam Emulator繞過。\n1. 安裝SteamCMD # Windows版到官網下載，解壓縮點進目錄，點選steamcmd.exe就會初始化，並將遊戲下載到該目錄。\n","title":"使用SteamCMD ＋ Goldberg Steam Emulator在Linux下載遊戲，免開Steam客戶端","type":"posts"},{"content":" 注意：このプロジェクトはすでにメンテナンスが停止されています。 Winlatorまたは他の代替手段を使ってほしい。\nMoboxはオープンソースのexeエミュレーターで、AndroidスマートフォンでSteam上のWindowsゲームを遊べる。 具体的にMoboxではどのSteamゲームを遊べるのか？Steam Deck（Proton）で起動できるゲームなら、Moboxでも実行できるはずだ。 スマートフォンのハードウェアが十分に強ければ、どんなゲームでも実行は問題にならない。たとえばYouTuberのGeek Bayは、Qualcomm 8 Gen 3搭載スマートフォンで『Cyberpunk 2077』を動かすことに成功している：\n1. ハードウェア要件 # 10GB以上のストレージ容量 8GB以上のRAM 外付けキーボードとマウスを用意する Moboxの背後にある原理については、Android轉譯玩Windows exe遊戲的方法一覽を参照。\n最大の違いは、MoboxがTermuxのネイティブパッケージを使ってLinuxシステムを実行する点だ。コンテナによるオーバーヘッドがなく、ほぼネイティブ性能で動作するため、性能はWinlatorやTermux Prootよりかなり速く、Termux chrootとほぼ同等だ。\n欠点は、Moboxの操作がWinlatorのインターフェイスほど直感的ではなく、少しコマンドを入力する必要があることだ。\nBox64でWineを変換する処理は性能をかなり消費する。3D大作を遊ぶつもりなら、スマートフォンのプロセッサはQualcomm SD 865以上のクラスが望ましい。また、グラフィックドライバの互換性を考えると、プロセッサはQualcommの方がよい。MediaTekでは全速を出せない可能性がある。\n私のテスト環境 # Sony Xperia 5 II Lineage OS 21 (Android 14) Qualcomm Snapdragon 865 8GB RAM 2. 前提依存パッケージをインストールする # 原作者olegos2のGithub説明を参考にする。\nTermuxをインストールする\nTermux X11を設定する\nTermux X11のPreferences設定で、Display Modeをexactにし、Display Resolutionを1280x720に設定する（スマートフォンの性能に応じて、より高い解像度にしてもよい）。さらにReseed screen while software keyboard is openのチェックを外し、Force Landscape Orientationにチェックを入れる。 3. Moboxをインストールする # スマートフォンのシステム設定で、TermuxとTermux X11の2つのAPPを強制停止する。\nTermux X11を開き、バックグラウンドで待機させる。\nTermuxを開く。\nMobox作者が提供しているスクリプトを実行する。\ncurl -s -o ~/x https://raw.githubusercontent.com/olegos2/mobox/main/install \u0026amp;\u0026amp; . ~/x どのバージョンのBox86をインストールするか聞かれたら、2を入力してWow64版を選ぶ。 Moboxがパッケージをインストールし終わるまで待ち、moboxコマンドを入力して環境を起動する。\n画面上の上下左右キーを使ってStart Wineへ移動し、Enterを押す。 スマートフォンを横向きにし、Moboxがシステムを初期化するのを待つ（Cannot Open Display:のエラーメッセージが出ていないか注意する）。 その後、画面は自動的にTermux X11 APPへ切り替わり、Wineファイルマネージャーが表示されるはずだ。\nTermux X11はデフォルトでタッチパッドモードとして動作する。2本指タップで右クリック、2回タップで左クリック、戻るジェスチャーでスマートフォンのキーボードを呼び出す。\n終了方法：Termux端末で1を押して終了し、exitを入力する。その後、TermuxとTermux X11 APPを強制終了する。\n4. 性能設定を変更する # Moboxを実行する。 mobox Settings → Dynarecs settingsで45を入力し、性能と互換性を高める。\nWineprefix Settings → Change Wine esync modeで、Enable esync without rootを選ぶ。\nメインメニューへ戻り、Start Wineを選ぶ。\n左下のStartをクリックし、DXVK-devをインストールする。 グラフィックドライバについては、Qualcommプロセッサなら最新版Turnipを選ぶ。Qualcomm以外のプロセッサではVirGL Mesaをインストールする。 5. Moboxの中国語フォント対応を有効化する # 参考：一个中文汉字无法显示（显示口口框框）的解决方案 #362\nTermuxで次のコマンドを実行する。 unset LD_PRELOAD export PATH=$PREFIX/glibc/bin:$PATH 繁体字中国語を生成する。 sed -i \u0026#39;s/^#zh_TW.UTF-8 UTF-8/zh_TW.UTF-8 UTF-8/\u0026#39; $PREFIX/glibc/etc/locale.gen locale-gen 中国語フォント、たとえばMicrosoft JhengHeiをダウンロードする。 mkdir ~/.fonts cd ~/.fonts wget https://github.com/zanjie1999/windows-fonts/raw/wine/msyh.ttc Moboxを起動する。 mobox Settings → System Settings → Change localeで、localeをzh_TW.UTF-8に設定する。 その後、Termuxを再起動する。\nインストール後も文字が欠ける場合は、Windows PCを用意し、C:\\Windows\\Fontsフォルダ内のすべてのttfファイルをスマートフォンへコピーして、MoboxのファイルマネージャーでZ:/usr/glibc/wineフォルダ/share/wine/fontsへ移動する必要があるかもしれない。\n6. Steamゲームをインストールする # Linux版Steamをインストールする必要はない。Windows版Steam exeを使えばよい。\nスマートフォンのブラウザでSteam公式サイトへ行き、SteamSetup.exeをダウンロードできる。または、このリンクから取得する：https://cdn.cloudflare.steamstatic.com/client/installer/SteamSetup.exe\nMoboxファイルマネージャーのD:ドライブには、スマートフォンのDownloadフォルダ内のファイルが見えるはずだ。スクロールしてSteamSetup.exeを見つけ、ダブルクリックして実行する。 指示に従ってSteamをインストールする。\nインストール後にSteamが自動で開かない場合は、左下のStartをクリックしてSteamを起動する。 Steamの初回起動には少し時間がかかることがある。Start → Programs → tskmgrをクリックしてタスクマネージャーを開き、Steamが実行中か確認できる。 注：Steamが何度もクラッシュし続ける場合は、steamcmd下載遊戲を使うことも検討できる。\n7. 非Steamゲームを遊ぶ # プログラムのexeをスマートフォン内部ストレージ/Downloadに置き、ダブルクリックして開けばよい。\nWine互換のexeゲームについてはProtonDBを参照。\n問題を報告する # Moboxスクリプトに問題がある場合は、olegos2のGithubへ報告してほしい。\n","date":"2024年4月26日","externalUrl":null,"permalink":"/ja-jp/posts/termux-mobox/","section":"Termux-Tutorials","summary":" 注意：このプロジェクトはすでにメンテナンスが停止されています。 Winlatorまたは他の代替手段を使ってほしい。\nMoboxはオープンソースのexeエミュレーターで、AndroidスマートフォンでSteam上のWindowsゲームを遊べる。 具体的にMoboxではどのSteamゲームを遊べるのか？Steam Deck（Proton）で起動できるゲームなら、Moboxでも実行できるはずだ。 スマートフォンのハードウェアが十分に強ければ、どんなゲームでも実行は問題にならない。たとえばYouTuberのGeek Bayは、Qualcomm 8 Gen 3搭載スマートフォンで『Cyberpunk 2077』を動かすことに成功している：\n1. ハードウェア要件 # 10GB以上のストレージ容量 8GB以上のRAM 外付けキーボードとマウスを用意する Moboxの背後にある原理については、Android轉譯玩Windows exe遊戲的方法一覽を参照。\n最大の違いは、MoboxがTermuxのネイティブパッケージを使ってLinuxシステムを実行する点だ。コンテナによるオーバーヘッドがなく、ほぼネイティブ性能で動作するため、性能はWinlatorやTermux Prootよりかなり速く、Termux chrootとほぼ同等だ。\n","title":"AndroidスマートフォンでSteamのWindowsゲームを遊ぶ ～ Moboxエミュレーター使用方法","type":"termux-tutorials"},{"content":"","date":"2024年4月25日","externalUrl":null,"permalink":"/ja-jp/tags/box86-box64/","section":"Tags","summary":"","title":"Box86 Box64","type":"tags"},{"content":"","date":"2024年4月25日","externalUrl":null,"permalink":"/ja-jp/tags/exagear/","section":"Tags","summary":"","title":"ExaGear","type":"tags"},{"content":" この記事はBox64＋Wine環境を手動で設定する手順です。ワンクリックでインストールしたい場合は、AndroidでWindows exeゲームを変換実行する方法まとめを参照してください。\nAndroidスマホでWindowsのexeプログラムを動かしたいなら、TermuxでBox86/Box64を使ってx86アーキテクチャのWineを変換し、それでWindowsプログラムを実行するのがよい方法です。 LinuxにはWindowsゲームを動かせるWineがあり、しかも性能低下はほとんどありません。ただしWineが変換できるのはx86/x64アーキテクチャのWindowsプログラムだけなので、ARMアーキテクチャが中心のAndroidデバイスではそのまま使えません。\nそこで必要になるのが変換レイヤー、つまりBox86とBox64です。Box86は32ビットのx86命令セットをARMへ変換し、Box64は64ビットのx64命令セットをARM64へ変換します。両者は共存できます。\nクローズドソースのExagearと比べると、Box86はオープンソースで無料の技術です。Githubでも毎週更新されており、作者が各種機能を積極的に改善しています。\n1. Termux Prootディストリビューションをインストールする # まず、Termuxをインストールします。\n次にProot Debianをインストールします。\nさらにTermux X11をインストールしてデスクトップ環境へアクセスできるようにします。\n2. Box86とBox64をインストールする # 通常ユーザーでProot Debianにログインする proot-distro login debian --user user shared-tmp armhfパッケージリポジトリのサポートを有効化する dpkg --add-architecture armhf ryanfortnerのリポジトリを追加し、Box86をインストールする sudo apt install gpg sudo wget https://ryanfortner.github.io/box86-debs/box86.list -O /etc/apt/sources.list.d/box86.list wget -qO- https://ryanfortner.github.io/box86-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box86-debs-archive-keyring.gpg sudo apt update sudo apt install box86-android ryanfortnerのリポジトリを追加し、Box64をインストールする sudo wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list wget -qO- https://ryanfortner.github.io/box64-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg sudo apt update sudo apt install box64-android 3. WineとWine64をインストールする # Wineは32ビット(x86)のexeを実行するために使い、Wine64は64ビットexeを実行するために使います。\nARM環境では、i386アーキテクチャのWineをパッケージマネージャーでインストールできません。ここではWineの実行ファイルを直接ダウンロードし、シンボリックリンクでインストールします。\nWineの依存パッケージをインストールする sudo apt install nano cabextract libfreetype6 libfreetype6:armhf libfontconfig libfontconfig:armhf libxext6 libxext6:armhf libxinerama-dev libxinerama-dev:armhf libxxf86vm1 libxxf86vm1:armhf libxrender1 libxrender1:armhf libxcomposite1 libxcomposite1:armhf libxrandr2 libxrandr2:armhf libxi6 libxi6:armhf libxcursor1 libxcursor1:armhf libvulkan-dev libvulkan-dev:armhf zenity Kron4ek\u0026rsquo;s Wine-BuildsからWineとWine64をダウンロードする。現在の最新版はWine 9.7です。 cd ~/ wget https://github.com/Kron4ek/Wine-Builds/releases/download/9.7/wine-9.7-amd64.tar.xz wget https://github.com/Kron4ek/Wine-Builds/releases/download/9.7/wine-9.7-x86.tar.xz ファイルを展開し、不要なファイルを削除する tar xvf wine-9.7-amd64.tar.xz tar xvf wine-9.7-x86.tar.xz rm wine-9.7-amd64.tar.xz wine-9.7-x86.tar.xz mv wine-9.7-amd64 wine64 mv wine-9.7-x86 wine 以下のコマンドでシンボリックリンクを作成し、/usr/local/bin/wineを$HOME/wine/bin/wineに向けます。 echo \u0026#39;#!/bin/bash export WINEPREFIX=~/.wine32 box86 \u0026#39;\u0026#34;$HOME/wine/bin/wine \u0026#34;\u0026#39;\u0026#34;$@\u0026#34;\u0026#39; \u0026gt; /usr/local/bin/wine chmod +x /usr/local/bin/wine echo \u0026#39;#!/bin/bash export WINEPREFIX=~/.wine64 box64 \u0026#39;\u0026#34;$HOME/wine64/bin/wine64 \u0026#34;\u0026#39;\u0026#34;$@\u0026#34;\u0026#39; \u0026gt; /usr/local/bin/wine64 chmod +x /usr/local/bin/wine64 以下のコマンドでBox86とBox64のPATHを~/.bashrcに追加する echo \u0026#39;export DISPLAY=:0 export BOX86_PATH=~/wine/bin/ export BOX86_LD_LIBRARY_PATH=~/wine/lib/wine/i386-unix/:/lib/i386-linux-gnu/:/lib/aarch64-linux-gnu/:/lib/arm-linux-gnueabihf/:/usr/lib/aarch64-linux-gnu/:/usr/lib/arm-linux-gnueabihf/:/usr/lib/i386-linux-gnu/ export BOX64_PATH=~/wine64/bin/ export BOX64_LD_LIBRARY_PATH=~/wine64/lib/i386-unix/:~/wine64/lib/wine/x86_64-unix/:/lib/i386-linux-gnu/:/lib/x86_64-linux-gnu:/lib/aarch64-linux-gnu/:/lib/arm-linux-gnueabihf/:/usr/lib/aarch64-linux-gnu/:/usr/lib/arm-linux-gnueabihf/:/usr/lib/i386-linux-gnu/:/usr/lib/x86_64-linux-gnu\u0026#39; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 以下のコマンドでWinetricksをインストールする cd ~/ wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks chmod +x winetricks mv winetricks /usr/local/bin/ echo \u0026#39;#!/bin/bash export BOX86_NOBANNER=1 WINE=wine WINEPREFIX=~/.wine32 WINESERVER=~/wine/bin/wineserver wine \u0026#39;\u0026#34;/usr/local/bin/winetricks \u0026#34;\u0026#39;\u0026#34;$@\u0026#34;\u0026#39; \u0026gt; /usr/local/bin/winetricks32 chmod +x /usr/local/bin/winetricks32 echo \u0026#39;#!/bin/bash export BOX64_NOBANNER=1 WINE=wine64 WINEPREFIX=~/.wine64 WINESERVER=~/wine64/bin/wineserver wine64 \u0026#39;\u0026#34;/usr/local/bin/winetricks \u0026#34;\u0026#39;\u0026#34;$@\u0026#34;\u0026#39; \u0026gt; /usr/local/bin/winetricks64 chmod +x /usr/local/bin/winetricks64 以下のコマンドでLinuxデスクトップにWineファイルマネージャーのショートカットを作成します。これでexeを直接クリックして起動できます。 cd ~/Desktop echo \u0026#39;[Desktop Entry] Name=Wine32 Explorer Exec=bash -c \u0026#34;wine explorer\u0026#34; Icon=wine Type=Application\u0026#39; \u0026gt; ~/Desktop/Wine32_Explorer.desktop chmod +x ~/Desktop/Wine32_Explorer.desktop cp ~/Desktop/Wine32_Explorer.desktop /usr/share/applications/ cd ~/Desktop echo \u0026#39;[Desktop Entry] Name=Wine64 Explorer Exec=bash -c \u0026#34;wine64 explorer\u0026#34; Icon=wine Type=Application\u0026#39; \u0026gt; ~/Desktop/Wine64_Explorer.desktop chmod +x ~/Desktop/Wine64_Explorer.desktop cp ~/Desktop/Wine64_Explorer.desktop /usr/share/applications/ 4. DXVKをインストールする # DXVKはDirectXをVulkanへ変換するツールで、一部のWindowsプログラムの性能を向上できます。\n依存パッケージをインストールする sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:armhf libvulkan1 libvulkan1:armhf Githubから最新版のDXVKをダウンロードする。現在は2.3.1です。 wget https://github.com/doitsujin/dxvk/releases/download/v2.4.1/dxvk-2.4.1.tar.gz 展開し、dxvkのファイルをWineのディレクトリへ移動する tar -xvf dxvk-2.4.1.tar.gz cd dxvk-2.4.1 cp x32/* ~/.wine32/drive_c/windows/system32 cp x32/* ~/.wine64/drive_c/windows/system32 cp x64/* ~/.wine64/drive_c/windows/syswow64 Wine設定を開き、ライブラリページでDLLオーバーライドを設定し、d3d11、d3d10core、dxgi、d3d9を「内蔵版を先に使う」に調整します。 export WINEPREFIX=~/.wine cp x64/*.dll $WINEPREFIX/drive_c/windows/system32 cp x32/*.dll $WINEPREFIX/drive_c/windows/syswow64 5. Box86＋Wineの使い方 # Proot内のブラウザでWindows exeをダウンロードしてもよいですし、スマホ内のファイルをProot Linuxへコピーしてもかまいません。\nLinuxのファイルマネージャーを開くと、ファイルシステム内の/sdcardディレクトリがスマホ内部ストレージのディレクトリです。\n一部のプログラムは正常に起動するためにGPUハードウェアアクセラレーションが必要になる場合があります。\nプログラムを実行する前に、WineDBでそのプログラムが追加パッケージを必要とするか確認し、winetricksコマンドで追加のexeをインストールできます。\nWineのコマンドの使い方はこちらを参照してください。\nプログラムを実行する前に、そのexeが32ビット版か64ビット版か確認してください。\n例えばNotepad++の32ビット版をダウンロードした場合、exeがあるディレクトリで右クリックしてターミナルを開きます。\nbox86 wine notepad++.exe 数秒待つとNotepad++のウィンドウが開きます。\n同じ要領で、64ビット版のプログラムなら次のように実行します。\nbox64 wine64 notepad++.exe Wine64コマンドを実行する前にWINEPREFIXを宣言しておくと、新しいディレクトリが作成され、ビット数の異なる実行環境を分けられます。 export WINEPREFIX=~/.wine64 export WINEARCH=win64 box64 wine64 notepad++.exe 参考資料 # Wine User\u0026rsquo;s Guide - WineHQ Wiki Box86 usage - Github Wine32, Wine64, Box86 and Box64 installation on Android using Termux Ubuntu 22.04 proot / chroot - Github ","date":"2024年4月25日","externalUrl":null,"permalink":"/ja-jp/posts/termux-proot-box86-box64/","section":"Termux-Tutorials","summary":" この記事はBox64＋Wine環境を手動で設定する手順です。ワンクリックでインストールしたい場合は、AndroidでWindows exeゲームを変換実行する方法まとめを参照してください。\nAndroidスマホでWindowsのexeプログラムを動かしたいなら、TermuxでBox86/Box64を使ってx86アーキテクチャのWineを変換し、それでWindowsプログラムを実行するのがよい方法です。 LinuxにはWindowsゲームを動かせるWineがあり、しかも性能低下はほとんどありません。ただしWineが変換できるのはx86/x64アーキテクチャのWindowsプログラムだけなので、ARMアーキテクチャが中心のAndroidデバイスではそのまま使えません。\nそこで必要になるのが変換レイヤー、つまりBox86とBox64です。Box86は32ビットのx86命令セットをARMへ変換し、Box64は64ビットのx64命令セットをARM64へ変換します。両者は共存できます。\nクローズドソースのExagearと比べると、Box86はオープンソースで無料の技術です。Githubでも毎週更新されており、作者が各種機能を積極的に改善しています。\n1. Termux Prootディストリビューションをインストールする # まず、Termuxをインストールします。\n","title":"Termux ProotにBox64とBox86をインストールして、AndroidスマホでWindows exeを実行する","type":"termux-tutorials"},{"content":"","date":"2024年4月25日","externalUrl":null,"permalink":"/ja-jp/tags/wine/","section":"Tags","summary":"","title":"Wine","type":"tags"},{"content":"","date":"2024年4月25日","externalUrl":null,"permalink":"/tags/kuomintang/","section":"標籤","summary":"","title":"Kuomintang","type":"tags"},{"content":"台派（民進黨光譜）和華腦（國民黨光譜）都欠屠，不是嗎？一個說台灣民族好棒棒，一個說中國人是最屌的。\n作為民眾黨支持者，便是落得常常被兩頭罵的下場，一邊說你不夠愛台灣，一邊說你不愛中國。\n說說我個人的看法，以及民眾黨人如何尋找真正的友柯戰友。還請注意，這只是我個人看法而已，我在民眾黨內沒有任何職位，不要求民眾黨支持者照做。\n何不先聽首歌呢？\n太長不看系列 # 個人大於國家 我支持台獨 自由民主是台灣的核心價值 肯定中華文化在台灣的影響力 反共不反中 支持中國民主化，或者成立諸夏 反對支黑，反對塔綠班，反對華腦，反對兩岸統一 柯文哲不總是對的，善意的批評要接受 中美等距三角形 在對各種觀點的接受度上，從最能接受的到最不能接受的順序：\n主張個人自由大於國家 \u0026gt; 主張事實大於意識形態 \u0026gt; 支持台灣主體意識 \u0026gt; 支持台灣獨立 \u0026gt; 柯粉 \u0026gt; 狂柯粉 \u0026gt; 主張反共不反中 \u0026gt; 對民眾黨善意的批評（貓貓頭社長） \u0026gt; 台派 \u0026gt; 支持中華民國 \u0026gt; 民國派 \u0026gt; 支黑 \u0026gt; 惡意抹黑民眾黨的柯黑（486先生） \u0026gt; 塔綠班 \u0026gt; 支持大中華主義 \u0026gt; 支持共產黨 \u0026gt; 仇日反美 \u0026gt; 支持兩岸統一\n名詞定義 # 我明白不能用二分法來斷定某一個黨的人都跟黨中央意志高度相似，並非所有人都是無可救藥的黨棍。所以，這裡我只對各黨派的意識形態做以下粗略的假定：\n民進黨：支持台獨，支持台灣主體意識，支持者主體為台派和深綠，蔑稱為塔綠班，不論民進黨做什麼都是對的。主張反中、親日親美。\n國民黨：反對台獨，支持大中華主義，支持主體為深藍，蔑稱為華腦、大中華膠。不論國民黨做什麼都是對的。就算中國被中共統治，但基於大家都是中國人的想法，所以被統一也無妨。主張親中、仇日疑美。\n民眾黨：維持現狀派，主張與中國互相理解，支持者主體為柯粉和小草，以及淺藍淺綠人士，蔑稱為雜草。認為民眾黨柯主席做什麼都是對的。主張中美關係等距，聚焦實務議題，包牌能手。\n柯粉：認同柯文哲理念的人\n狂柯粉：信奉柯文哲為唯一真神，容不得一點批評與建議的話。\n中國：中華人民共和國政權，統治中國大陸的領土。\n我國：中華民國 = 中華民國台灣 = 台灣，實際治理區域為台澎金馬。\n反對塔綠班 # 從一件事開始說起。\n馬習二會睽違9年 馬英九在習近平面前說出「中華民國」後又改口\n馬英九他真的我哭死，台獨教父在匪酋習近平面前講中華民國，又使出死亡之握繼續加速。反觀躲在賴皮寮的狗男狗女（這裡借用李敖以前的比喻），躲在台獨吉娃娃的卵翼下的統一教母。 唉，抗中保台隨便騙，不輸閃電五連鞭。\n技術上我還是支持台獨，但不支持台獨龜孫ㄛ。\n民進黨的人常常說台灣好棒棒啊，好事都台派，壞事都華國。台灣的建築風格變成今天這樣，不只是民國美學的錯，閩國美學也有責任（這個觀點來自貓貓頭社長）。閩南沙文主義，沒有一個無辜的。現在仍有人留戀過去殖民日治時代！那若他們認為現在台灣是被中華民國殖民，這就沒跳脫殖人思維嘛。還有吃中華民國豆腐，宣稱台灣已經獨立的！再用正名制憲當蘿蔔的，純純騙選票而已。\n在民眾黨立委想要做實事的時候，塔綠班就只會追著毀憲亂政的說法，無的放矢的抹黑、貼標籤，認為不支持民進黨的就是舔共親中！\n一個親民進黨的KOL在Twitter一發文，馬上就有塔綠班千呼百應的轉貼跟進。\n當塔綠班指責你是中共同路人的時候，你最好真的是。\n不過，台派的台獨理念勉強跟諸夏沾上邊這我還能接受，研讀諸夏主義對破除大中華主義很有幫助。我並不反對台獨，但我對民進黨要獨不獨的樣子很是不爽。\n反對藍腦中華膠 # 即使我不喜歡現在的綠營民進黨，也不代表支持國民黨藍腦的大中華膠思維，甚或是共產黨紅統派。\n支持中華民族精神、中國人最棒、漢族崛起的，其危害性不亞於無端自信的台派。其保守迂腐之程度，胡適、孫中山等人看了也會搖頭。\n從對太陽花事件的態度可以看出一個人真正的想法。\n本質上我還是肯定太陽花運動的效果，證明台灣年輕人出來反對政府黑箱的努力。所以我不會像國民黨、新黨支持者一樣徹底的否定這個運動，比方說前日子反反服貿的侯漢廷的男盜女娼評論我就很不能認同，他是在學李敖拷打228事件嗎？\n很多國民黨保守派便會認為年輕人不受教，是叛亂份子。 我恨的是當年的訴求到現在都沒有達成，甚至對中貿易額依存度也沒下降，變成太陽花學運只剩下民進黨政治利用的價值，選舉到了就當成雞血用，說沒有民進黨就沒有新台灣，變成純粹反中活動，這就不對了，讓人厭惡。\n服貿協定已經變成民進黨不能碰的政治正確，當初上街頭的一些人把反黑箱和反中情緒湊在一起傻傻分不清楚。使得好好的太陽花運動淪為暴民奪權的工具，並只有民進黨及其黨羽有話語解釋權，甚至指責不聽黨的話的人是「背叛」運動。\n現在希望能由新一代的民眾黨立法委員打破，讓跳票多時的兩岸協議監督條例做為解決擱置服貿爭議的作法。並非立監督條例就等同重啟服貿，也並非是舔中。\n公民運動應該促使一代人的政治意識覺醒，不是集體成為一個黨的附庸。\n民眾黨的支持者有藍有綠的，很多都跳槽過來的。偏綠的還好，如果偏藍，那麼意識形態和敘事方式難免會偏向大中華主義，比如重視表面上的禮義廉恥，反對刪改文言文，普遍仇日等，認為凡是中國人都和日本有深仇大恨，並會質疑民進黨為什麼只關心白色恐怖，不關心日本在台殺了多少台灣人。\n台灣的課本最好是沒有提及日本人屠殺的歷史啦！而且把日治台灣當作是被搶走的，國民黨就不是強佔台灣了嗎？可悲！被吃豆腐劃分為中國人的台灣殖民地人。\n我承認中華文化在台灣的影響力，並不主張全面廢除。\n反對共匪 # 除了藍腦外，最讓人不能忍受的是讚揚共產黨和現在的中國好棒棒的！\n台灣人需要搞清楚誰才是最大的敵人。\n論「綠共」跟「紅共」誰比較恐怖，那我想還是紅共，千萬不要因為民進黨很爛，就說給共產黨統治還不是一樣的話，這是地獄梗ㄟ不要當真。\n就拿最近Facebook遇到的統派對話紀錄來說吧。塔綠班喜歡貼乳包照片來攻擊咱反對民進黨的人士，可是我們又不是共產黨派來的，貼這張是有什麼殺傷力？於是我表示：在批評民進黨的時候也要知道共產黨才是台灣人敵人的立場，結果就有人罵我是日本人雜種後代，我：？？？？\n啊，這個罵我的大概就是小粉紅吧，或者住在台灣的激進統派，兩者常常合流。\n莫因反民進黨陷入中共的敘事陷阱中。前些日子唐鳳被攻擊最激烈的時候，有柯粉引用了很明顯是中國五毛寫的黑料，指出數發部贊助的資安戰隊私生活淫亂 台資安戰隊TSJ隊長林詠翔被爆私生活混亂- Usadf，台灣國內完全沒有報導的新聞，連八卦週刊都沒報的，我說要黑也不是這種尬黑模式好不。\n然後，民進黨幹不好的事情，也會成為五毛的黑料，比如Twitter著名的「徐芳麗」帳號所發布內容，這就導致有柯粉會反過來跟五毛沆瀣一氣。不要這樣，要看內幕就看黃國昌講的，可信度要高多了。\n就拿上面遇到的統派來說，他們反民進黨的方式卻是支持統一，並且擁護大中華主義，這真的想讓人走向「屠支派」。華腦的味就真的太大了，常常大到洗不掉，標準9.2華腦是無法溝通的，縫合共產黨思維的更是沒救，莫名仇日和強調中華民族情節，這些人卻混入民眾黨的群組。韓粉轉柯粉的必然結果是嗎？\n呼，避免如此的方法是多吸收一些反共民小的材料，知道如何理性與其辯駁。還有把整天強調中國崛起的當成獄友（畢竟你不知道匿名網友是不是翻牆的，還是真的住在台灣），可憐他們，搞不好是發帖減刑的。\n最後，還有一種知乎上中國自由派教的辦法：放下助人情節，尊重他人命運。那麼愛給共產黨統治就去，被鐵拳了不要哭著回來。\n民眾黨如何取得自己的定位 # 堅持科學、理性、務實精神。做好真正第三勢力的身份。\n過份在意識型態競爭上，可能背離了柯文哲主席的想法。雖然柯文哲自己也蠻懂包牌的，一下說中華民國又說自己是深綠，又說很懂得跟中國溝通\u0026hellip;\u0026hellip;\n現在雖然我支持台獨，但我的主張是反共不反中，不製造仇中情緒來促成台獨。儘管實務上難以做到就是了，因為許多中國人都被黨國不分的概念綁架太久了。但至少，支持台獨的同時，不要當支黑，也不要覺得中國民主化事不關己。\n那麼，如何讓喜歡大中華主義的藍營人士願意合作，這又是個大問題。民生議題或許有合作空間，但在國家主權問題上又會遇到一堆中國膠的對抗。\n再講民進黨方面的問題，除了深綠派以外，其實還是有合作空間。\n我覺得柯文哲主張「台灣自主，兩岸和平」，且很多民眾黨支持者既然是前817成員，那麼我有個大膽的想法：其實反而是我們要跟民進黨合作，對抗真正的親共政黨才對。小草和台派本來就是綠的，起碼不是藍的，也不是紅的。\n但是，現在暫時沒有合作的跡象，雙方都拉不下臉來，我們得要先向塔綠班算八年來跳票的總帳，解決民生議題。\n我傾向相信，現階段民眾黨選擇跟國民黨合作，改革國會，不教訓國民黨也只是暫時而已，在跟國會改革的議案有關才會舉手，否則大部分時候不想參與藍綠對決。如果哪天國民黨爆出弊案，或是通共了，那也得追查。\n歷史課｜回顧過去 和解台灣 柯主席演講反思：每次台灣政權更替，都要消滅上一代人\u0026hellip;從以前的華腦反日，到現在的綠共反中\u0026hellip;台灣的流行歌曲如此悲傷，他少講了亞細亞孤兒，未來又該怎麼做。\n其實我們可以試著理解各方想法，不論是台獨派還是民國派。\n台灣自主，才能兩岸和平。現階段，就是整合所有可以合作的力量。\n民眾黨人如何尋找友柯社群 # 事實就是，台灣流行的中文社群網站，Facebook、Instagram、PTT、Dcard比較多挺柯的人士。Twitter、Threads較少。\n尤其Facebook在台灣仍然是很受歡迎的網站，所以在這裡也可以找到更多淺藍淺綠的受眾。\n如果想找友柯的社群，可以反過來利用塔綠班去年柯文哲症績落落長「黑柯文件」所列出的名單去找：裡面真的有不少是出錢出力，打空戰也打陸戰，死忠挺民眾黨的。 加入Facebook地方性社團，要組織線下活動也比較方便。\n誠然，我不一定要狂柯粉的社群，淺藍淺綠的人士是民眾黨也要爭取對象。所以不必堅持所有人都必須無條件服從柯文哲的說法。\n除此之外，也要小心不要追蹤到深藍或統派社群。Facebook不時會看到有趣反民進黨粉絲專頁名稱：反吱者聯盟2：暗綠紀元、反吱者情報局主任、政客爽、鎖綠鴉\u0026hellip;等等。看到偽基百科有完整塔綠班宇宙的頁面就知道這些人多恨民進黨XD\n但是，會取這種名字的有機率是國民黨，也就是說反民進黨的同時，他們會自視甚高的瞧不起民眾黨，如同趙少康的態度一般，參見民眾黨成麻煩製造者？。有些則是統派做的黑民進黨大外宣了，這也不好。\n所以我只能笑笑但不追蹤。有些疑似挺藍的專頁但甚少嘴民眾黨，還在觀察中。\n對於潛藏在支持民眾黨中的統派與藍營支持者，究竟要怎麼界定呢？我提出一個意識形態光譜量表尋找戰友的作法，你也可以自己畫一個。\n使用意識形態光譜量表作為尋找依據：這個表作為我個人選取戰友的意識形態、政治觀點的參考。\n越往左越可以接受，越往右越不能接受。\n主張個人自由大於國家 \u0026gt; 主張事實大於意識形態 \u0026gt; 支持台灣主體意識 \u0026gt; 支持台灣獨立 \u0026gt; 柯粉 \u0026gt; 狂柯粉 \u0026gt; 主張反共不反中 \u0026gt; 對民眾黨善意的批評（貓貓頭社長） \u0026gt; 台派 \u0026gt; 支持中華民國 \u0026gt; 民國派 \u0026gt; 支黑 \u0026gt; 惡意抹黑民眾黨的柯黑（486先生） \u0026gt; 塔綠班 \u0026gt; 支持大中華主義 \u0026gt; 支持共產黨 \u0026gt; 仇日反美 \u0026gt; 支持兩岸統一\n","date":"2024年4月25日","externalUrl":null,"permalink":"/posts/2024042501/","section":"Politics","summary":"台派（民進黨光譜）和華腦（國民黨光譜）都欠屠，不是嗎？一個說台灣民族好棒棒，一個說中國人是最屌的。\n作為民眾黨支持者，便是落得常常被兩頭罵的下場，一邊說你不夠愛台灣，一邊說你不愛中國。\n說說我個人的看法，以及民眾黨人如何尋找真正的友柯戰友。還請注意，這只是我個人看法而已，我在民眾黨內沒有任何職位，不要求民眾黨支持者照做。\n何不先聽首歌呢？\n太長不看系列 # 個人大於國家 我支持台獨 自由民主是台灣的核心價值 肯定中華文化在台灣的影響力 反共不反中 支持中國民主化，或者成立諸夏 反對支黑，反對塔綠班，反對華腦，反對兩岸統一 柯文哲不總是對的，善意的批評要接受 中美等距三角形 在對各種觀點的接受度上，從最能接受的到最不能接受的順序：\n主張個人自由大於國家 \u003e 主張事實大於意識形態 \u003e 支持台灣主體意識 \u003e 支持台灣獨立 \u003e 柯粉 \u003e 狂柯粉 \u003e 主張反共不反中 \u003e 對民眾黨善意的批評（貓貓頭社長） \u003e 台派 \u003e 支持中華民國 \u003e 民國派 \u003e 支黑 \u003e 惡意抹黑民眾黨的柯黑（486先生） \u003e 塔綠班 \u003e 支持大中華主義 \u003e 支持共產黨 \u003e 仇日反美 \u003e 支持兩岸統一\n名詞定義 # 我明白不能用二分法來斷定某一個黨的人都跟黨中央意志高度相似，並非所有人都是無可救藥的黨棍。所以，這裡我只對各黨派的意識形態做以下粗略的假定：\n","title":"我反對塔綠班，也反對藍腦中華膠，更反對共匪。兼論民眾黨人如何尋找友柯社群","type":"politic"},{"content":"這篇文章Ivon分享升級Ubuntu系統的步驟與注意事項。\nUbuntu大版本系統升級即是將Ubuntu系統升級到下一個新版，例如從Ubuntu 22.04 LTS升級到Ubuntu 24.04 LTS。\n你問跳多個版本可不可以？像Ubuntu 16.04跳Ubuntu 24.04？你要確耶！不建議這麼做，這二個版本差了8年的時間，釋出時間相隔過長，容易出問題。\n也不建議從Ubuntu LTS跳一般版Ubuntu（例如Ubuntu 22.04 LTS升Ubuntu 23.10）。\n在這裡，Ivon介紹以指令升級Ubuntu的方法，不使用圖形工具。使用指令的好處是即使是沒有圖形介面的Ubuntu Server也能從SSH連線處理升級。\n系統升級時間視你的網路速度和系統性能而定。比如，裝有3000個套件的系統大約花一小時升級，並且中間需要手動確認各種有的沒有的升級選項。 1. 升級系統前的檢查事項 # 準備幾包乖乖放在主機上。\n確認有無升級必要。參考Ubuntu Release表格，Ubuntu LTS不會出新版本就停止支援舊版了，舊版Ubuntu LTS自該版本釋出的年份開始算，系統的更新支援長達5年（例如Ubuntu 22.04 LTS就是從2022年支援到2027年），企業的付費支援更是長達10年。因此如果你不追求最新版套件，那麼可以不必急著升級到最新版系統。\n確認第三方套件庫的支援狀況。第三方套件庫指的是Ubuntu官方套件庫以外的套件庫，也就是PPA這種的，像是Nvidia CUDA相關套件。\n不知道有啟用哪些第三方套件庫？第三方套件庫可以開啟/etc/apt/sources.list檔案確認 另外也請確認/etc/apt/sources.list.d/目錄下的檔案。 先到該軟體網站確認他們支援新版Ubuntu。否則的話硬升級下去可能會出現許多套件衝突。Ubuntu在升級前也會警告哪些套件沒有支援最新版系統。\n如果你有軟體是用make編譯安裝的，那麼升級系統後最好重新編譯一次。\n使用AppImage、Flatpak、Snap安裝的套件建議在系統升級之後再更新。\n請使用Timeshift備份重要資料。如果有空間就備份整個系統到另一個硬碟。\n在升級系統時不要做其他事。如果有跑伺服器服務的，請用systemctl指令把他們停掉，留著必要的SSH就好。\n為了防止更新後無法開機，請事先製作LiveUSB方便修復系統。\n2. 查看最新Ubuntu版本 # 在你的電腦執行以下指令\nlsb_release -a 它會列出目前你的系統版本 你可以到Ubuntu Releases查詢最新系統版本。\n注意「LTS」的就看「LTS」的，不要跟最新版搞混了。\n並且得看正式發布的版本，不是Beta版。\n每個新版本Ubuntu發布後通常都會連帶發布「Release Notes」，請閱讀裡面的重要事項。\n3. 開始升級Ubuntu系統 # 升級系統時保持網路連線穩定，不要讓螢幕自動鎖定，關閉自動休眠設定。\n升級系統所有套件到最新版\nsudo apt update sudo apt upgrade sudo apt full-upgrade 重開機，確保核心有跟著更新完成。 sudo shutdown -r now 如果你是從SSH連線操控系統，請確保1022通訊埠有開啟。Ubuntu會在升級的時候自動開啟1022通訊埠，作為備用SSH登入方法。 sudo ufw allow 1022/tcp sudo ufw reload 接著，安裝Ubuntu官方提供的升級程式 sudo apt install update-manager-core 執行指令，開始升級系統。如果出現There is no development version of an LTS available.就是還沒正式開放升級。 sudo do-release-upgrade 接著按照螢幕指示升級系統。 比較重要的是Restart services during package upgrades without asking?，是否自動重啟所有服務？建議選No，讓系統在重啟服務之前先詢問你。免得升級到一半桌面環境或SSH重啟，打斷升級。 升級的時候有時需要手動確定，是否讓程式新版設定檔取代你的系統設定檔，例如SSH方面的設定。或者你得自己用diff程式比較後再抉擇。\n等待升級完成，看到訊息System upgrade is complete.後，立即重開機。 sudo shutdown -r now 重開機後，確認套件都已是最新版 sudo apt update 移除無用的套件 sudo apt autopurge 4. 升級後重新啟用第三方套件庫 # 為了系統穩定度考量，Ubuntu升級程式會在更新的過程中暫時停用sources.list.d的第三方套件庫，系統會把那些字串用#註解掉。\n系統更新完成後，再手動編輯啟用就行。\nsudo vim /etc/apt/sources.list ls /etc/apt/sources.list.d/ sudo vim /etc/apt/sources.list.d/\u0026lt;檔案名稱\u0026gt; 那麼如果套件庫沒有自動更新到最新版Ubuntu，要如何處理呢？\n通常這些套件庫的網址結構都很簡單，比如網址後面寫jammy，指的就是22.04的套件庫。\n那麼升級到24.04以後，就把jammy的代號換成noble就好啦。\n再執行sudo apt update \u0026amp;\u0026amp; sudo apt upgrade升級套件。\n如果套件庫還需要GPG金鑰，那麼你就得手動安裝新版金鑰的套件了。\n參考資料 # Upgrade Ubuntu desktop | Ubuntu Tutorials How to upgrade Ubuntu Server | Ubuntu Server documentation ","date":"2024年4月21日","externalUrl":null,"permalink":"/posts/upgrade-ubuntu-lts/","section":"所有文章","summary":"這篇文章Ivon分享升級Ubuntu系統的步驟與注意事項。\nUbuntu大版本系統升級即是將Ubuntu系統升級到下一個新版，例如從Ubuntu 22.04 LTS升級到Ubuntu 24.04 LTS。\n你問跳多個版本可不可以？像Ubuntu 16.04跳Ubuntu 24.04？你要確耶！不建議這麼做，這二個版本差了8年的時間，釋出時間相隔過長，容易出問題。\n也不建議從Ubuntu LTS跳一般版Ubuntu（例如Ubuntu 22.04 LTS升Ubuntu 23.10）。\n在這裡，Ivon介紹以指令升級Ubuntu的方法，不使用圖形工具。使用指令的好處是即使是沒有圖形介面的Ubuntu Server也能從SSH連線處理升級。\n系統升級時間視你的網路速度和系統性能而定。比如，裝有3000個套件的系統大約花一小時升級，並且中間需要手動確認各種有的沒有的升級選項。 1. 升級系統前的檢查事項 # 準備幾包乖乖放在主機上。\n確認有無升級必要。參考Ubuntu Release表格，Ubuntu LTS不會出新版本就停止支援舊版了，舊版Ubuntu LTS自該版本釋出的年份開始算，系統的更新支援長達5年（例如Ubuntu 22.04 LTS就是從2022年支援到2027年），企業的付費支援更是長達10年。因此如果你不追求最新版套件，那麼可以不必急著升級到最新版系統。\n","title":"Ubuntu LTS如何進行大版本系統升級，22.04升級到24.04","type":"posts"},{"content":"《閃亂神樂》 (閃乱カグラ, Senran Kagura) 是Marvelous製作的一系列主機遊戲，主打爆乳忍者戰鬥，有各種乳搖與爆衣要素，後來移植到Windows PC版。 1. 安裝閃亂神樂遊戲 # 閃亂神樂系列作品：\n閃亂神樂 Burst Re:Newal 閃亂神樂 SHINOVI VERSUS -少女們的證明- 閃亂神樂 ESTIVAL VERSUS -少女們的選擇- 閃亂神樂 忍乳負重 閃亂神樂 PEACH BEACH SPLASH 閃亂神樂 PEACH BALL （彈珠台） 閃亂忍忍忍者大戰戰機少女 -少女們的響艷- Linux要玩閃亂神樂系列作不是問題，大部分Windows版在Steam都有上架。ProtonDB資料顯示，Linux版Steam Proton支援度還不賴，開箱即用。 即使直接用Wine安裝盜版，也不用再裝其他附加exe套件就能開。 比較複雜的作法還有：用主機模擬器玩，例如Cirta對應3DS版的遊戲；Vita3K對應PSV版的遊戲等等，不過你得想辦法搞到遊戲ROM。\n至於手遊版《忍者大師 閃亂神樂NEW LINK》可以用Waydroid跑。 在玩部份舊版閃亂神樂的時候最好準備遊戲手把，因為遊戲內部的操作提示直接照搬主機版，沒玩過的根本不知道怎麼操控，不然PC版的按鍵操作就得自行Google了。Steam Deck玩家倒是不用擔心沒手把的問題。\n2. 去聖光補丁 # 遊戲內有許多爆衣元素，很多人會建議安裝去聖光補丁 (patch)。不過，閃亂神樂從來就不是18禁遊戲，去聖光的補丁不是官方做的，而是玩家製作的補丁，也就是第三方模組的概念了。\n常見的補丁有去聖光 (uncesnored) 和露出乳頭 (nipple exist) 的版本\n幾乎每一代閃亂神樂遊戲都有人製作補丁，搜尋「Steam Community + senran kagura patch」就能找到補丁載點和安裝指示。 由於補丁只是覆蓋遊戲檔案，故沒有作業系統之分。\n補丁安裝方式很簡單，只要找到遊戲主程式位置（Steam對遊戲按右鍵→ 管理 → 瀏覽本機檔案）\n按照檔案結構，替代掉對應檔案就行了。 3. 遊戲漢化補丁 # Steam上架的版本可能沒有中文，故需要使用第三方開發的漢化程式。\n如果需要執行特定exe對遊戲進行漢化操作，得用到ProtonTricks，方能在Steam執行第三方exe。\n","date":"2024年4月20日","externalUrl":null,"permalink":"/posts/senran-kagura-linux/","section":"所有文章","summary":"《閃亂神樂》 (閃乱カグラ, Senran Kagura) 是Marvelous製作的一系列主機遊戲，主打爆乳忍者戰鬥，有各種乳搖與爆衣要素，後來移植到Windows PC版。 1. 安裝閃亂神樂遊戲 # 閃亂神樂系列作品：\n閃亂神樂 Burst Re:Newal 閃亂神樂 SHINOVI VERSUS -少女們的證明- 閃亂神樂 ESTIVAL VERSUS -少女們的選擇- 閃亂神樂 忍乳負重 閃亂神樂 PEACH BEACH SPLASH 閃亂神樂 PEACH BALL （彈珠台） 閃亂忍忍忍者大戰戰機少女 -少女們的響艷- Linux要玩閃亂神樂系列作不是問題，大部分Windows版在Steam都有上架。ProtonDB資料顯示，Linux版Steam Proton支援度還不賴，開箱即用。 即使直接用Wine安裝盜版，也不用再裝其他附加exe套件就能開。 比較複雜的作法還有：用主機模擬器玩，例如Cirta對應3DS版的遊戲；Vita3K對應PSV版的遊戲等等，不過你得想辦法搞到遊戲ROM。\n至於手遊版《忍者大師 閃亂神樂NEW LINK》可以用Waydroid跑。 在玩部份舊版閃亂神樂的時候最好準備遊戲手把，因為遊戲內部的操作提示直接照搬主機版，沒玩過的根本不知道怎麼操控，不然PC版的按鍵操作就得自行Google了。Steam Deck玩家倒是不用擔心沒手把的問題。\n2. 去聖光補丁 # 遊戲內有許多爆衣元素，很多人會建議安裝去聖光補丁 (patch)。不過，閃亂神樂從來就不是18禁遊戲，去聖光的補丁不是官方做的，而是玩家製作的補丁，也就是第三方模組的概念了。\n","title":"Linux安裝《閃亂神樂》系列遊戲＋去聖光＋漢化補丁","type":"posts"},{"content":"Linux版的Steam允許玩家新增非Steam遊戲到收藏庫，方便玩家管理遊戲。\n這之中又可以分為原生Linux遊戲以及Windows exe。\n如果新增exe的話，就是把Steam當成Wine啟動器的概念。跟其他工具Bottles和Lutris比起來，Steam能讓你享有模擬手把 (Steam Input) 與Gamescope的便利，不過預設沒有太多選項能調整就是了。\n什麼意思？考慮一個情況，若遊戲有在Steam販售，且ProtonDB顯示相容性不錯，但你執意要玩盜版的也是可以，Steam依然會幫你啟動遊戲並紀錄遊玩時長。但若遊戲有額外的依賴套件，那麼將盜版遊戲手動加入收藏庫的情況下，Steam不會自動幫你安裝exe依賴套件的。\n所以說，手動新增盜版遊戲可能無法像在Steam那樣購買遊戲後就開箱即用。\n如果要安裝額外的exe套件，你得自行跑Protontricks裝。\n1. 新增遊戲到Steam # 點選遊戲 → 新增一個非Steam遊戲到我的收藏庫 選取Linux上的遊戲二進位檔，或者開啟檔案管理器，點選exe （如果你使用Flapak版Steam，可能會看不到程式列表，這時你得使用flatpak override --filesystem=\u0026quot;目錄\u0026quot; com.valvesoftware.Steam指令開放讀取特定目錄的權限）\n對新增的遊戲按右鍵 → 內容，強制啟用特定Steam Play相容性工具，再選取Proton版本即可。 如果Steam Proton版本有問題，你可以安裝ProtonUp-qt取得其他版本的Proton。\n2. Steam遊戲資料的儲存位置 # 非Steam遊戲的資料會存在哪裡呢？有的遊戲是存在自身的目錄下，有的則是會放到虛擬C槽。\nSteam會給所有的Windows遊戲都建立一個WINEPREFIX，叫做Proton Prefix，裡面模擬的是Windows的C槽結構。\n預設Steam的Proton Prefix路徑位於~/.steam/steamapps/compatdata/Steam遊戲ID/pfx/\nFlatpak版Steam的Proton Prefix路徑位於~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/compatdata/Steam遊戲ID/pfx/\n理論上如果你有額外新增第二個硬碟當作Steam收藏庫，Proton Prefix應該會跑到那個硬碟，不過我發現有時候它還是會存在預設的收藏庫路徑。\n現在你知道了Steam遊戲的資料儲存位置，那麼要備份資料、安裝模組，就是到這裡找遊戲相關檔案了。\n如果遊戲需要裝中文字體、或者安裝其他exe套件，請使用Protontricks操作。\n","date":"2024年4月20日","externalUrl":null,"permalink":"/posts/add-non-steam-games-to-library/","section":"所有文章","summary":"Linux版的Steam允許玩家新增非Steam遊戲到收藏庫，方便玩家管理遊戲。\n這之中又可以分為原生Linux遊戲以及Windows exe。\n如果新增exe的話，就是把Steam當成Wine啟動器的概念。跟其他工具Bottles和Lutris比起來，Steam能讓你享有模擬手把 (Steam Input) 與Gamescope的便利，不過預設沒有太多選項能調整就是了。\n什麼意思？考慮一個情況，若遊戲有在Steam販售，且ProtonDB顯示相容性不錯，但你執意要玩盜版的也是可以，Steam依然會幫你啟動遊戲並紀錄遊玩時長。但若遊戲有額外的依賴套件，那麼將盜版遊戲手動加入收藏庫的情況下，Steam不會自動幫你安裝exe依賴套件的。\n所以說，手動新增盜版遊戲可能無法像在Steam那樣購買遊戲後就開箱即用。\n如果要安裝額外的exe套件，你得自行跑Protontricks裝。\n1. 新增遊戲到Steam # 點選遊戲 → 新增一個非Steam遊戲到我的收藏庫 選取Linux上的遊戲二進位檔，或者開啟檔案管理器，點選exe （如果你使用Flapak版Steam，可能會看不到程式列表，這時你得使用flatpak override --filesystem=\"目錄\" com.valvesoftware.Steam指令開放讀取特定目錄的權限）\n","title":"Linux版Steam新增非Steam的exe遊戲到收藏庫","type":"posts"},{"content":" gamdl (Glomatico\u0026rsquo;s Apple Music Downloader) 是一款開源免費的Apple Music下載器，由glomatico開發，它可以下載Apple Music的音樂、歌詞、音樂錄影帶，將DRM去掉，使其能在任意軟體離線播放。\n非常適合想離開Apple Music，但又覺得失去音樂庫好可惜的用戶。\n這個軟體不是比對音樂資料再去Youtube Music抓對應音樂來充數喔，而是真的從Apple Music伺服器下載檔案。 1. 取得Apple Music的cookie # 你需要先付費訂閱Apple Music，將Apple Music網頁版的cookie餵給gamdl後它才可以解密。這裡用不到安裝iTunes。\nFirefox裝Export Cookies擴充功能，Chrome裝OpenCookies擴充功能\n登入Apple Music網頁版： https://music.apple.com\n點開擴充功能，點選下載cookie，存檔成cookies.txt 將cookies.txt放到你要下載音樂的目錄，例如/home/user/Downloads\n2. 安裝gamdl # 參考Github指示安裝。gamdl支援Linux、Windows、macOS系統。\n安裝Python\n安裝ffmpeg。fffmpeg請使用最新版，比如Ubuntu系統的ffmpeg可能太舊，所以得手動加Ubuntuhandbook的ppa取得最新版本。\n安裝Bento4的mp4decrypt，並將路徑加入到系統環境變數。例如Ubuntu的裝法就是到Bento4官網下載二進位檔，放到~/.local/bin，再將路徑加到~/.bashrc：\nPATH=$PATH:~/.local/bin/mp4decrypt/bin 於cookies.txt所在的目錄開啟終端機，用pip安裝gamdl： pip install gamdl 3. 下載Apple Music音樂 # 只要餵Apple Music音樂網址即可。\n注意Apple Music網址不是瀏覽器顯示的網址。請在播放頁面點選分享，取得連結： 再用指令下載：\n# 單曲或音樂錄影帶 gamdl --codec-song legac_aac https://music.apple.com/tw/album/the-final-cut/1065977143?i=1065977161 # 專輯 gamdl --codec-song legac_aac https://music.apple.com/tw/album/the-final-cut/1065977143 音樂檔下載後會自動按照演出者與專輯分類。音樂檔預設格式為.m4a。\n參數--codec-song指定下載音樂的編碼，預設是legacy_aac。\n想追求保真壓縮音訊的聽者得失望了。Apple Music的音質是256 Kbps AAC，還有保真壓縮無損alac和空間音訊atmos。\n但是，gamdl開發者說不見得所有歌曲都支援該編碼，所以用legacy_aac比較安全，大部分情況下你只能取得普通音質的音樂檔。\n如果你要的音樂不是Apple Music獨家，在Youtube Music也有，那麼用yt-dlp下載音樂也是個選擇呀。順便說gamdl背後預設就是用yt-dlp下載音樂的。\n至於你說自己的音樂收藏庫得一個一個複製網址下載好累呀？嗯，目前沒有辦法整個匯出。\n我想到的方法：將專輯加入「播放清單」並設為公開，再貼上播放清單網址，即可批次下載。至於短時間內大量下載會不會害你被Apple鎖帳號我就不清楚了。 ","date":"2024年4月20日","externalUrl":null,"permalink":"/posts/gamdl-apple-music-downloader/","section":"所有文章","summary":" gamdl (Glomatico’s Apple Music Downloader) 是一款開源免費的Apple Music下載器，由glomatico開發，它可以下載Apple Music的音樂、歌詞、音樂錄影帶，將DRM去掉，使其能在任意軟體離線播放。\n非常適合想離開Apple Music，但又覺得失去音樂庫好可惜的用戶。\n這個軟體不是比對音樂資料再去Youtube Music抓對應音樂來充數喔，而是真的從Apple Music伺服器下載檔案。 1. 取得Apple Music的cookie # 你需要先付費訂閱Apple Music，將Apple Music網頁版的cookie餵給gamdl後它才可以解密。這裡用不到安裝iTunes。\nFirefox裝Export Cookies擴充功能，Chrome裝OpenCookies擴充功能\n登入Apple Music網頁版： https://music.apple.com\n點開擴充功能，點選下載cookie，存檔成cookies.txt 將cookies.txt放到你要下載音樂的目錄，例如/home/user/Downloads\n2. 安裝gamdl # 參考Github指示安裝。gamdl支援Linux、Windows、macOS系統。\n安裝Python\n安裝ffmpeg。fffmpeg請使用最新版，比如Ubuntu系統的ffmpeg可能太舊，所以得手動加Ubuntuhandbook的ppa取得最新版本。\n安裝Bento4的mp4decrypt，並將路徑加入到系統環境變數。例如Ubuntu的裝法就是到Bento4官網下載二進位檔，放到~/.local/bin，再將路徑加到~/.bashrc：\n","title":"gamdl：下載Apple Music音樂並移除DRM，離線播放音樂檔","type":"posts"},{"content":"想要一款開源、免費、免註冊的無線傳檔軟體嗎？Ivon推薦你試試LocalSend！ LocalSend是用Flutter寫的無線傳檔軟體，支援Linux、Windows、macOS、Android、iOS系統。 開發者宣稱LocalSend為AirDrop開源替代品，只要有Wifi連線就能傳送檔案，支援一對一或者一對多傳檔。 LocalSend也可以臨時建個網頁連結供人下載檔案，掃描QR Code即可存取。 於是，使用者就能在手機與電腦間傳檔。傳輸內容不限，舉凡照片、影片、文字訊息、APK皆可傳送，還有資料夾傳輸模式。\n說到開源Wifi傳檔工具，Ivon之前分享過KDE Connect，網頁方案則有PairDrop。\n不知道是不是玄學，個人覺得LocalSend比KDE Connect傳輸穩很多，傳輸效能也比網頁的SnapDrop好。所以LocalSend已經變成Ivon日常的Wifi傳檔工具，非常推薦使用。\n1. LocalSend安全性如何？ # LocalSend為開放原始碼軟體，你可以造訪Github原始碼儲存庫了解背後傳輸原理。\nLocalSend不用註冊，也不會蒐集任何使用者資料。最大化保障使用者隱私。\n就安全性來說，LocalSend的傳輸是全程加密的，資料只有經過區域網路傳輸，不會上傳到第三方伺服器。\nLocalSend不需要連上公共網路也可以傳輸。別人在傳檔案給你之前你先要同意才可以接收。 2. 安裝LocalSend # 到Github下載對應作業系統系統的安裝檔\nAndroid版可以在Google Play或F-Droid取得。\niOS請到App Store下載。\nLinux版本可以用Flatpak安裝：\nflatpak install flathub org.localsend.localsend_app 對了，Linux需要事先開放防火牆通訊埠，防止LocalSend找不到裝置：\nsudo ufw allow 53317 sudo ufw reload 3. LocalSend使用方式 # 讓二個裝置位於同一Wifi網路下\n開啟LocalSend應用程式，每個裝置會隨機分配一組ID。這個ID重開機後仍然會存在，方便日後快速配對。 在傳送頁面應該會看到同一網路下的裝置，點選上面按鈕選取檔案或資料夾 再點選下方要傳送的裝置\n接收方需要手動同意傳輸（可於設定裡面開啟「快速儲存」自動同意），傳檔速度取決於Wifi的速度，檔案會下載到Downloads目錄。 LocalSend尚支援多重接收者的「一對多」傳輸模式，讓你把檔案同時分享給多個裝置，並不會立即清空檔案傳輸列表。 「透過連結分享」即檔案伺服器的功能，只要讓人掃QR Code，再同意對方存取，對方就可以在網頁下載你要傳的檔案。 4. LocalSend免Wifi的傳檔方法 # 雖然這逾越了LocalSend的設計理念，但硬要還是可以的。\n安裝內網穿透軟體，使多個裝置位於同一虛擬內網下，這樣LocalSend就可以免Wifi傳檔了。\nLocalSend可能無法探索到其他裝置，得在傳檔時手動指定虛擬區域IP，才找得到LocalSend裝置。 ","date":"2024年4月19日","externalUrl":null,"permalink":"/posts/localsend-usage/","section":"所有文章","summary":"想要一款開源、免費、免註冊的無線傳檔軟體嗎？Ivon推薦你試試LocalSend！ LocalSend是用Flutter寫的無線傳檔軟體，支援Linux、Windows、macOS、Android、iOS系統。 開發者宣稱LocalSend為AirDrop開源替代品，只要有Wifi連線就能傳送檔案，支援一對一或者一對多傳檔。 LocalSend也可以臨時建個網頁連結供人下載檔案，掃描QR Code即可存取。 於是，使用者就能在手機與電腦間傳檔。傳輸內容不限，舉凡照片、影片、文字訊息、APK皆可傳送，還有資料夾傳輸模式。\n說到開源Wifi傳檔工具，Ivon之前分享過KDE Connect，網頁方案則有PairDrop。\n不知道是不是玄學，個人覺得LocalSend比KDE Connect傳輸穩很多，傳輸效能也比網頁的SnapDrop好。所以LocalSend已經變成Ivon日常的Wifi傳檔工具，非常推薦使用。\n1. LocalSend安全性如何？ # LocalSend為開放原始碼軟體，你可以造訪Github原始碼儲存庫了解背後傳輸原理。\nLocalSend不用註冊，也不會蒐集任何使用者資料。最大化保障使用者隱私。\n就安全性來說，LocalSend的傳輸是全程加密的，資料只有經過區域網路傳輸，不會上傳到第三方伺服器。\n","title":"免註冊！LocalSend使用教學，電腦與手機快速無線傳檔軟體，開源免費","type":"posts"},{"content":"GIMP，這是一款開源、免費、跨平台的照片編輯器。\n全稱為「GNU影像處理程式」，從1995年開始開發，可說是Linux系統代表性的修圖軟體。後來也逐漸移植到了Windows與macOS系統，成為全能跨平台的修圖軟體。 1. GIMP特色功能 # GIMP功能不輸Adobe Photoshop，主要功能如下：\n多樣的編修照片功能，大部分照片編輯軟體的功能都具備，例如圖片去背、調整顏色、載入色彩描述檔、合成照片、加入文字、濾鏡特效、填充圖片、路徑編輯\n支援編輯大多數點陣圖片格式，例如.jpg, .png, .gif, .webp, .avif, .heic, .tga, .tiff, .bmp, .psd, .raw等。GIMP本身是常常在更新的開源專案，新圖片格式會陸續支援。\n透過Python寫成的外掛程式，擴充本體功能。比如批次轉檔的「BIMP」、進階特效的「GMIC」、內容感知填充的「Resynthesizer」、搭配AI生圖的「stable-gimpfusion」。\nGIMP支援編輯.svg檔，不過要做向量圖的話，InkScape比較合適。\n提供多樣筆刷，用於繪製插畫。不過繪圖方面Krita比較適合。\n儘管近年來Krita崛起，功能更現代，既可以繪圖又能修圖，使得老舊的GIMP地位受到挑戰，甚至退化到只能跟Paint.NET比的程度。不過我認為GIMP還是一個值得嘗試的修圖軟體。 2. 如何安裝Linux版GIMP # 現在你到GIMP官網，官方會建議安裝Flatpak版，這樣不論哪個發行版都可以收到最新版GIMP：\nflatpak --user install org.gimp.GIMP Flatpak版GIMP安裝後，資料目錄位於~/.var/app/org.gimp.GIMP/config/GIMP/版本/plug-ins/或者~/.config/GIMP/版本/plug-ins/，要裝Python插件就是放到這裡。\n此外，許多知名的GIMP外掛都有人打包成Flatpak版本了，例如：批次處理照片的「BIMP」、進階特效的「GMIC」、內容感知填充的「Resynthesizer」、讓圖片變形比較自然的「LiquidRescale」。這些擴充套件可用以下指令安裝：\nflatpak --user install \\ org.gimp.GIMP.Plugin.BIMP \\ org.gimp.GIMP.Plugin.GMIC \\ org.gimp.GIMP.Plugin.Resynthesizer \\ org.gimp.GIMP.Plugin.LiquidRescale 3. 值得一讀的GIMP教學資源 # GIMP \u0026amp; 免費資源中文資源分享 https://elastic192.blogspot.com\n在Youtube上你也可以找到許多GIMP的中文教學。\nGIMP官方論壇 https://www.gimp-forum.net/index.php\n官方使用手冊 https://docs.gimp.org\n如果你想貢獻界面中文翻譯，請到Gitlab取得原始碼，再參照官方指示提交翻譯。\n","date":"2024年4月17日","externalUrl":null,"permalink":"/posts/gimp-linux-installation/","section":"所有文章","summary":"GIMP，這是一款開源、免費、跨平台的照片編輯器。\n全稱為「GNU影像處理程式」，從1995年開始開發，可說是Linux系統代表性的修圖軟體。後來也逐漸移植到了Windows與macOS系統，成為全能跨平台的修圖軟體。 1. GIMP特色功能 # GIMP功能不輸Adobe Photoshop，主要功能如下：\n多樣的編修照片功能，大部分照片編輯軟體的功能都具備，例如圖片去背、調整顏色、載入色彩描述檔、合成照片、加入文字、濾鏡特效、填充圖片、路徑編輯\n支援編輯大多數點陣圖片格式，例如.jpg, .png, .gif, .webp, .avif, .heic, .tga, .tiff, .bmp, .psd, .raw等。GIMP本身是常常在更新的開源專案，新圖片格式會陸續支援。\n透過Python寫成的外掛程式，擴充本體功能。比如批次轉檔的「BIMP」、進階特效的「GMIC」、內容感知填充的「Resynthesizer」、搭配AI生圖的「stable-gimpfusion」。\nGIMP支援編輯.svg檔，不過要做向量圖的話，InkScape比較合適。\n提供多樣筆刷，用於繪製插畫。不過繪圖方面Krita比較適合。\n儘管近年來Krita崛起，功能更現代，既可以繪圖又能修圖，使得老舊的GIMP地位受到挑戰，甚至退化到只能跟Paint.NET比的程度。不過我認為GIMP還是一個值得嘗試的修圖軟體。 ","title":"Linux版GIMP安裝方法，開源免費的修圖軟體","type":"posts"},{"content":"SillyTavern是一款為專業玩家設計的大型語言模型聊天軟體，開源免費。 1. SillyTavern特色 # 簡單上手的角色卡機制，使用各種提示詞打造虛擬角色，開始進行冒險。 可自由設定變換表情的圖片、存檔點，打造Glagame的對話體驗。 支援長期記憶，對話紀錄保存在本機。 支援多種AI聊天服務：可使用線上的ChatGPT、POE，或是本機LLaMA、KoboldAI等大型語言模型作為聊天服務。部份模型可以色色。 支援多款AI語音合成引擎，讓角色把對話唸出來。 開放原始碼，透過擴充功能，還可加入語音辨識、聲音複製(RVC)、Live2D、AI生圖(Stable Diffusion WebUI)、會動的表情Talking Head、跟AI玩EmulatorJS線上遊戲對戰、網頁搜尋\u0026hellip;等好玩的功能。 跟Text Generation WebUI比起來，SillyTavern屬於專為角色扮演設計的前端，有很多類似玩Galgame的選項。\n2. SillyTavern系統需求 # SillyTavern支援Linux、Windows、macOS、Android（Termux）系統。\nSillyTavern是高度模組化的軟體，主程式部份只是NodeJS寫成的前端界面，因此SilyTavern本身沒有什麼特殊需求，隨便一台電腦應該都能跑。\n需要AI運算的服務主要有這幾個組件：\n大型語言模型，負責對話生成 語音合成 AI生圖 這些都是外掛的，可自由選配，不一定要全部啟用。\n至於說AI服務要怎麼跑，有二種方向：\n第一種，全交給線上服務運算，比如大型語言模型部份用付費ChatGPT API，語音合成用付費ElevenLabs，AI生圖用Dall-E。\n第二種，在自己的電腦同時跑大型語言模型＋語音合成引擎＋AI生圖的服務。這樣非常吃效能，建議準備一張Nvidia RTX3060以上等級的GPU，還有16GB以上RAM的電腦。沒有GPU用CPU跑的話也是可以啦，但生圖這部份會非常慢。\n","date":"2024年4月14日","externalUrl":null,"permalink":"/posts/sillytavern-introduction/","section":"Language-Models","summary":"SillyTavern是一款為專業玩家設計的大型語言模型聊天軟體，開源免費。 1. SillyTavern特色 # 簡單上手的角色卡機制，使用各種提示詞打造虛擬角色，開始進行冒險。 可自由設定變換表情的圖片、存檔點，打造Glagame的對話體驗。 支援長期記憶，對話紀錄保存在本機。 支援多種AI聊天服務：可使用線上的ChatGPT、POE，或是本機LLaMA、KoboldAI等大型語言模型作為聊天服務。部份模型可以色色。 支援多款AI語音合成引擎，讓角色把對話唸出來。 開放原始碼，透過擴充功能，還可加入語音辨識、聲音複製(RVC)、Live2D、AI生圖(Stable Diffusion WebUI)、會動的表情Talking Head、跟AI玩EmulatorJS線上遊戲對戰、網頁搜尋…等好玩的功能。 跟Text Generation WebUI比起來，SillyTavern屬於專為角色扮演設計的前端，有很多類似玩Galgame的選項。\n2. SillyTavern系統需求 # SillyTavern支援Linux、Windows、macOS、Android（Termux）系統。\n","title":"SillyTavern介紹，好玩的角色扮演AI聊天軟體","type":"language-model"},{"content":"語音合成服務（TTS，又稱文字轉語音）是讓SillyTavern角色把對話唸出來的技術。\n在跟角色對話的時候，按下對話框旁邊的喇叭圖示，將對話內容唸出來。 SillyTavern支援多款語音合成服務，分為線上與本機執行。\n線上：ElevenLabs、Edge-TTS、Novel AI TTS、OpenAI TTS、Google翻譯小姐\n本機：System（作業系統內建的TTS，例如Microsoft TTS或Google TTS或Speech Dispatcher）、SpeechT5、Silero、Coqui-TTS、Kokoro、XTTS、AllTalk TTS、RVC、\n1. 設定語音合成服務 # 1.1. 使用線上語音合成服務 # 以ElevenLabs為例\n到ElevenLabs官網，註冊帳號取得API key\n到SillyTavern的Extensions頁面，選取TTS，Provider勾選ElevenLabs，再於下方欄位填入API Key，再點選Connect，點選Reload。 這樣你就有聲音模型可以選了。\n1.2. 使用本機語音合成服務 # 以Coqui-TTS為例\n如果要使用Coqui-TTS的語音合成功能，請務必在啟動引數中啟用相關的Coqui-TTS模組。 --enable-modules=coqui-tts --coqui-gpu 接著到SillyTavern的Extensions頁面設定TTS，勾選Coqui 點選Add Voice，輸入新的語音名稱 下面的Models選Coqui API，語言選en，Speaker選female。並按照指示點選Download下載語音模型。 2. 給角色卡設定對應語音 # 請先設定好語音合成服務再操作，否則選單會是空白。\n點選SillyTavern的選單，選TTS\n這裡會有對話過的角色卡名字（如果沒顯示，請至少與該角色對話過一次後再來）。然後在Default Voice下面，給每個角色設定要使用的語音。你可以給自己和角色卡設定不同的語音模型。 參考 # SillyTavern TTS\n","date":"2024年4月14日","externalUrl":null,"permalink":"/posts/sillytavern-tts/","section":"Language-Models","summary":"語音合成服務（TTS，又稱文字轉語音）是讓SillyTavern角色把對話唸出來的技術。\n在跟角色對話的時候，按下對話框旁邊的喇叭圖示，將對話內容唸出來。 SillyTavern支援多款語音合成服務，分為線上與本機執行。\n線上：ElevenLabs、Edge-TTS、Novel AI TTS、OpenAI TTS、Google翻譯小姐\n本機：System（作業系統內建的TTS，例如Microsoft TTS或Google TTS或Speech Dispatcher）、SpeechT5、Silero、Coqui-TTS、Kokoro、XTTS、AllTalk TTS、RVC、\n1. 設定語音合成服務 # 1.1. 使用線上語音合成服務 # 以ElevenLabs為例\n到ElevenLabs官網，註冊帳號取得API key\n到SillyTavern的Extensions頁面，選取TTS，Provider勾選ElevenLabs，再於下方欄位填入API Key，再點選Connect，點選Reload。 這樣你就有聲音模型可以選了。\n1.2. 使用本機語音合成服務 # 以Coqui-TTS為例\n","title":"SillyTavern 設定語音合成服務","type":"language-model"},{"content":"注意：2024年4月24日，開發者在Github宣佈，SillyTavern Extras專案停止維護，大部份擴充功能已經整合到SillyTavern主程式。所以你應該不用裝這個了。\nSillyTavern Extras可以強化原本SillyTavern的功能，內含多款API：語音合成引擎、文本總結模型、Talking Head表情變化、網頁搜尋、連結到Stable Diffusion WebUI等功能。\n需要注意的是SillyTavern Extras跟SillyTavern兩個是分開的伺服器服務，所以你得開兩個終端機，才可以同時執行二者。\nSillyTavern Extra的部份服務用CPU跑會很慢，用Nvidia CUDA加速跑會比較好。\n1. 安裝SillyTavern Extras # 新增名為extras的Conda環境 conda create -n extras python=3.11 conda activate extras 安裝SillyTavern Extra的依賴套件 git clone https://github.com/SillyTavern/SillyTavern-extras cd SillyTavern-extras pip install -r requirements.txt # 依照需要使用的模組安裝依賴，若用不到，就不用安裝這些。 pip install -r requirements-rvc.txt pip install -r requirements-coqui.txt pip install -r requirements-faster-whisper.txt 2. 設定啟動引數 # SillyTavern的啟動選項決定了啟動後的行為，目前得將啟動引數接在Python指令後面。\n啟用以下選項\n--port 5100 --listen --enable-modules=coqui-tts,rvc,whisper-stt,classify,talkinghead,caption,summarize,websearch --rvc-save-file --max-content-length=1000 --coqui-gpu --talkinghead-gpu 解說：\n--port通訊埠設定5100，--listen啟用外部網路連線。\n--enable-modules後面是要啟用的模組，用逗號分隔。\n這裡我啟用的有：Coqui語音合成、RVC聲音複製、Whisper STT語音辨識、Tallking Head表情、Caption圖片解說、文本總結、網頁搜尋\n--coqui-gpu和--talkinghead-gpu代表我要將Coqui和Tallking Head的服務交給GPU運算。\n3. 啟動SillyTavern Extras服務 # 啟動伺服器，server.py後面接啟動引數 python server.py \u0026#34;啟動引數...\u0026#34; SilllyTavern會依照你啟用的模組，自動下載相關模型資源，請稍待\n到SillyTavern的Extensions頁面，在Extras API欄位輸入預設網址http://localhost:5100，點選連接到Extra服務 參考 # SillyTavern/SillyTavern-Extras\n","date":"2024年4月14日","externalUrl":null,"permalink":"/posts/sillytavern-extras/","section":"Language-Models","summary":"注意：2024年4月24日，開發者在Github宣佈，SillyTavern Extras專案停止維護，大部份擴充功能已經整合到SillyTavern主程式。所以你應該不用裝這個了。\nSillyTavern Extras可以強化原本SillyTavern的功能，內含多款API：語音合成引擎、文本總結模型、Talking Head表情變化、網頁搜尋、連結到Stable Diffusion WebUI等功能。\n需要注意的是SillyTavern Extras跟SillyTavern兩個是分開的伺服器服務，所以你得開兩個終端機，才可以同時執行二者。\nSillyTavern Extra的部份服務用CPU跑會很慢，用Nvidia CUDA加速跑會比較好。\n1. 安裝SillyTavern Extras # 新增名為extras的Conda環境 conda create -n extras python=3.11 conda activate extras 安裝SillyTavern Extra的依賴套件 git clone https://github.com/SillyTavern/SillyTavern-extras cd SillyTavern-extras pip install -r requirements.txt # 依照需要使用的模組安裝依賴，若用不到，就不用安裝這些。 pip install -r requirements-rvc.txt pip install -r requirements-coqui.txt pip install -r requirements-faster-whisper.txt 2. 設定啟動引數 # SillyTavern的啟動選項決定了啟動後的行為，目前得將啟動引數接在Python指令後面。\n","title":"SillyTavern Extras 擴充功能API 安裝教學","type":"language-model"},{"content":"在Android手機跑Ollama服務，執行LLaMA、Gemini、Qwen這類開源的大型語言模型。\n最後討論架設圖形聊天界面前端的方法。 Ollama這款開源軟體呢，簡化了跑大型語言模型的複雜度，將Lllama.cpp變成單一執行檔，使其能夠執行多款語言模型，並透過REST API提供給外部程式串接的能力。\nOllama的大型語言模型執行的時候完全是跑在本機運算的，資料不會回傳給第三方。\n不過Ollama主要是設計給Linux、Windows、macOS電腦跑的，Android手機得透過Termux執行。目前Ollama只支援CUDA和ROCm加速技術，Termux環境難以使用手機GPU或NPU加速，所以這裡都是用CPU硬算的，語言模型生成回應的速度非常慢，可能只夠跑7B以下資料量的模型。\n或者，改將Ollama部署到自己的電腦，再用手機遠端存取WebUI，這是比較實際的作法。手機與網頁互動，將運算交給遠端伺服器，使用體驗較佳。\n1. 系統需求 # 10GB以上儲存空間，大型語言最小的3B起碼都4GB起跳 8GB以上RAM，大型語言模型執行非常吃RAM，這只是最低需求。 高通SD 865以上等級的處理器 2. 安裝Ollama # 雖然Ollama有ARM64的版本，但那是給樹莓派用的，Termux環境需要安裝特製版。且Termux沒有Systemd，故我們需要手動啟動服務。\n安裝Termux\nOllama現在可以從Tur Repo安裝，不需要手動編譯了\npkg install tur-repo pkg install ollama 或者參考官方文件，手動編譯最新版Ollama：\npkg install git cmake golang clang git clone https://github.com/ollama/ollama.git cd ollama go generate ./... go build . cp ollama $PREFIX/bin cd rm -r ollama 3. 終端機使用Ollama # 詳細使用方法參考Ollama教學\n模型是從Ollama Library下載的，我以Mistral-7B為例子：\n指示Ollama下載Mistral 7B，模型會儲存到~/.ollama/models\nollama serve \u0026amp; ollama pull mistral:7b-instruct 試著在終端機跑跑看，能不能進入對話：\nollama run mistral:7b-instruct 4. 使用圖形界面APP連線到Ollama # Open WebUI不能直接用Termux跑，需要使用Proot-distro。\n有很多Android APP相容Ollama API，例如JHubi1/ollama-app或者Mobile-Artificial-Intelligence/Maid，這些APP能當作Ollama前端使用。下面以Maid為例。\n在Termux啟動Ollama服務 ollama serve \u0026amp; 下載Maid APK\n點選Settings，輸入http://127.0.0.1:114314，連線到Ollama服務 選取要使用的模型，就可以聊天了。 ","date":"2024年4月13日","externalUrl":null,"permalink":"/posts/ollama-android-termux/","section":"Language-Models","summary":"在Android手機跑Ollama服務，執行LLaMA、Gemini、Qwen這類開源的大型語言模型。\n最後討論架設圖形聊天界面前端的方法。 Ollama這款開源軟體呢，簡化了跑大型語言模型的複雜度，將Lllama.cpp變成單一執行檔，使其能夠執行多款語言模型，並透過REST API提供給外部程式串接的能力。\nOllama的大型語言模型執行的時候完全是跑在本機運算的，資料不會回傳給第三方。\n不過Ollama主要是設計給Linux、Windows、macOS電腦跑的，Android手機得透過Termux執行。目前Ollama只支援CUDA和ROCm加速技術，Termux環境難以使用手機GPU或NPU加速，所以這裡都是用CPU硬算的，語言模型生成回應的速度非常慢，可能只夠跑7B以下資料量的模型。\n或者，改將Ollama部署到自己的電腦，再用手機遠端存取WebUI，這是比較實際的作法。手機與網頁互動，將運算交給遠端伺服器，使用體驗較佳。\n1. 系統需求 # 10GB以上儲存空間，大型語言最小的3B起碼都4GB起跳 8GB以上RAM，大型語言模型執行非常吃RAM，這只是最低需求。 高通SD 865以上等級的處理器 2. 安裝Ollama # 雖然Ollama有ARM64的版本，但那是給樹莓派用的，Termux環境需要安裝特製版。且Termux沒有Systemd，故我們需要手動啟動服務。\n","title":"Android手機用Termux Ollama跑任意大型語言模型","type":"language-model"},{"content":"","date":"2024-04-13","externalUrl":null,"permalink":"/en-us/tags/ibm-spss/","section":"Tags","summary":"","title":"IBM SPSS","type":"tags"},{"content":"","date":"2024-04-13","externalUrl":null,"permalink":"/en-us/categories/linux-apps/","section":"Categories","summary":"","title":"Linux Apps","type":"categories"},{"content":"你必須先設定語言模型服務才能開始聊天！\n語言模型的功能是作為SillyTavern角色的「大腦」，用於生成文字，並根據使用者的輸入內容給予回應。\n語言模型可分為線上模型與本機運算的服務：\n線上服務：AI Horde、ChatGPT、Mancer、NovelAI、Scale AI、DreamGen、OpenRouter、Infermatic AI、Together AI、POE AI 本機服務：KoboldAI、Ollama、Text Generation WebUI、TabbyAPI 1. 連接語言模型服務 # 1.1. 連接線上服務 # 線上模型通常比較聰明，畢竟他們使用了伺服器等級的硬體，可以跑更為巨大的語言模型。\n但是，線上模型多半有使用額度，用完了就要付費。且生成的文字內容可能也會受到平台規定，無法生成NSFW內容。\nSillyTavern預設使用免費的KoboldAI Horde服務，有多種模型可選，但是生成文字需要排隊。\n到AI Horde註冊帳號，再點選SillyTavern頂部的插頭圖示，輸入API Key，即可選用模型。建議使用基於LLaMA訓練的，回答品質較佳。 再以ChatGPT為例子，付費取得OpenAI API Key\n到SillyTavern的「API」處，選取Text Completion，Source選OpenAI，再輸入API key。點選Connect連線。這樣你就可以使用ChatGPT聊天了。 1.2. 連接本機服務 # 本機模型的好處就是可以自由輸入喜歡的內容，沒有任何限制。但是你的硬體必須要夠強才可以撐得住大型語言模型的服務，否則的話你只能跑小一點的語言模型(3B、7B、13B)，他們會比較笨。\n而且有些開源模型依然會有道德限制，你需要找uncensored的變種才能生成NSFW的文字。\n要怎麼跑語言模型呢？你要先裝專用的軟體，再選個語言模型來用，參見：在個人電腦跑AI大型語言模型的開源軟體列表\n以「Ollama」為例子，確認Ollama服務有跑起來之後，點選SillyTavern的「API」頁面，選Text Completion，API Type選Ollama。點選Connnect連接到Ollma的API網址http://localhost:11434 這樣它就會列出本機可用的模型了。\n2. 調整提示詞設定檔 # 大型語言模型回覆的品質取決於選用的模型，還有你使用的提示詞設定檔。\n通常選取Coherence Creativity就夠了。 此外，在進階格式化的設定選單，可為不同的語言模型切換上下文範本，獲得更精準的結果。 3. 關於聊天語言問題 # SillyTavern支援許多大型語言模型，以英文的居多。\n如果要讓AI以中文回覆，有下列選項：\n在提示詞裡面加入指示\n選用專為中文微調的語言模型，例如TAIDE-LX。\n利用SillyTavern的翻譯功能，將畫面上的對話翻譯成中文（但實際上背後還是用英文在交談）。參見SillyTavern自動翻譯對話\n","date":"2024年4月13日","externalUrl":null,"permalink":"/posts/sillytavern-llm/","section":"Language-Models","summary":"你必須先設定語言模型服務才能開始聊天！\n語言模型的功能是作為SillyTavern角色的「大腦」，用於生成文字，並根據使用者的輸入內容給予回應。\n語言模型可分為線上模型與本機運算的服務：\n線上服務：AI Horde、ChatGPT、Mancer、NovelAI、Scale AI、DreamGen、OpenRouter、Infermatic AI、Together AI、POE AI 本機服務：KoboldAI、Ollama、Text Generation WebUI、TabbyAPI 1. 連接語言模型服務 # 1.1. 連接線上服務 # 線上模型通常比較聰明，畢竟他們使用了伺服器等級的硬體，可以跑更為巨大的語言模型。\n但是，線上模型多半有使用額度，用完了就要付費。且生成的文字內容可能也會受到平台規定，無法生成NSFW內容。\nSillyTavern預設使用免費的KoboldAI Horde服務，有多種模型可選，但是生成文字需要排隊。\n到AI Horde註冊帳號，再點選SillyTavern頂部的插頭圖示，輸入API Key，即可選用模型。建議使用基於LLaMA訓練的，回答品質較佳。 ","title":"SillyTavern 設定語言模型服務，與AI聊天前最重要的設定步驟","type":"language-model"},{"content":" 1. 硬體需求 # SillyTavern支援Linux、Windows、macOS系統。\n因為SillyTavern本身只是一個網頁前端，要是AI生成服務全部都掛線上API的話，那麼隨便一部電腦都能跑。\n不過，如果你打算AI生成都用自己的電腦跑，那麼建議準備以下規格電腦：\n20GB以上硬碟空間 8GB以上RAM Intel Core i5以上等級的CPU Nvidia GTX 1050Ti (VRAM \u0026gt;= 4GB) 以上等級的GPU，用來跑AI生成的計算 2. 前置軟體 # 請先在電腦安裝以下程式：\nGit NodeJS 3. 手動安裝SillyTavern主程式 # 終端機開啟方法：\nLinux/macOS在應用程式列表找到「終端機」。\nWindows在檔案總管任意資料夾按SHIFT＋右鍵 → 在這裡開啟Windows終端機。\n開啟系統的終端機，複製SillyTavern儲存庫，分支選取穩定版 git clone https://github.com/SillyTavern/SillyTavern -b release cd SillyTavern 執行開發者給的安裝指令稿，應會幫你自動裝好所有環境 # Linux/macOS執行這個 ./start.sh # Windows執行這個 ./Start.bat 啟動SillyTavern伺服器 # Linux/macOS執行這個 ./start.sh # Windows執行這個 ./Start.bat 你的瀏覽器應該會自行開啟http://localhost:8000的頁面。SillyTavern執行的時候請不要關閉終端機。 更新SillyTavern程式的方法：在SillyTavern目錄開啟終端機，輸入git pull指令完成更新。\n4. 透過Docker部署SillyTavern # 這是適合遠端存取用戶的方案，也方便搭配其他語言模型和語音合成的服務一起跑，像是把Ollama跟SillyTavern寫在同一個docker-compose裡面。\n在Linux安裝Docker\n建立存放SillyTavern資料的目錄，再下載SillyTavern官方發表的docker-compose檔案：\nmkdir -p ~/SillyTavern cd SillyTavern wget https://raw.githubusercontent.com/SillyTavern/SillyTavern/refs/heads/release/docker/docker-compose.yml 啟動服務。資料會儲存到同一目錄下的/data。 docker compose up -d 日後更新的指令： docker compose pull 5. 遠端連線到電腦上的SillyTavern # SillyTavern只要有瀏覽器就能用，開放外部網路連線之後，你就能用其他電腦或者手機的瀏覽器存取SillyTavern！\nSillyTavern伺服器預設僅接受本機連線，如果你想讓外部網路連線進來，請編輯SillyTavern目錄下的config.yaml檔案，將listen改為true，並設定基礎帳號密碼驗證： listen: true port: 8000 basicAuthMode: true basicAuthUser: username: 輸入使用者名稱 password: 輸入密碼 安裝內網穿透軟體，例如Tailscale或ZeroTier。\n在另一部電腦，輸入http://虛擬區域IP:8000連線到SillyTavern。\n參考資料 # SillyTavern Installation\n","date":"2024年4月13日","externalUrl":null,"permalink":"/posts/sillytavern-installation/","section":"Language-Models","summary":"1. 硬體需求 # SillyTavern支援Linux、Windows、macOS系統。\n因為SillyTavern本身只是一個網頁前端，要是AI生成服務全部都掛線上API的話，那麼隨便一部電腦都能跑。\n不過，如果你打算AI生成都用自己的電腦跑，那麼建議準備以下規格電腦：\n20GB以上硬碟空間 8GB以上RAM Intel Core i5以上等級的CPU Nvidia GTX 1050Ti (VRAM \u003e= 4GB) 以上等級的GPU，用來跑AI生成的計算 2. 前置軟體 # 請先在電腦安裝以下程式：\nGit NodeJS 3. 手動安裝SillyTavern主程式 # 終端機開啟方法：\nLinux/macOS在應用程式列表找到「終端機」。\nWindows在檔案總管任意資料夾按SHIFT＋右鍵 → 在這裡開啟Windows終端機。\n開啟系統的終端機，複製SillyTavern儲存庫，分支選取穩定版 git clone https://github.com/SillyTavern/SillyTavern -b release cd SillyTavern 執行開發者給的安裝指令稿，應會幫你自動裝好所有環境 # Linux/macOS執行這個 ./start.sh # Windows執行這個 ./Start.bat 啟動SillyTavern伺服器 # Linux/macOS執行這個 ./start.sh # Windows執行這個 ./Start.bat 你的瀏覽器應該會自行開啟http://localhost:8000的頁面。SillyTavern執行的時候請不要關閉終端機。 ","title":"SillyTavern 安裝教學 Linux / Windows / macOS","type":"language-model"},{"content":" 老師姓名 Ivon Huang 日期 04/12/2024 學生數量 25 年級 國二學生 學習目標 學習課本L2的對話 了解課本中的句型 並可以實際運用表達自己的觀點與想法 材料 樹莓派5b 8GB x5，搭載簡易麥克風與揚聲器，還有一塊3.5吋小螢幕。 每個樹莓派事先用Docker部署Ollama服務。 前端的部份使用SillyTavern，啟用Talking Head表情模組。 語言模型選用TAIDE LX 7B，語音合成服務使用Coqui，語音辯識使用Whisper。（欲提速可以改採串接線上API的方式） 課後分析學生回答準確率的工具使用基於Bash的ShellGPT做檢查。 學生的檔案 中階等級的程度。 對一般單字的吸收程度還可以，唸課本大致能正確讀出。 步驟 活動 時長 1 教學 由老師帶過一遍課本的對話。 將單字與重要文法片語解釋一遍。 並解釋句型 10 2 對話 將學生隨機分成5組 依照課本進行對話練習 接著讓學生透過對話詢問他人的特徵，賺取分數，獲得最多分的人將可以自由選擇下一階段的組別成員。 10 3 活動 將學生分為五組 分發樹莓派裝置 使用預先設定好的角色卡範本，讓AI根據課本內容出題問答 學生再根據指示回答 如果回答正確，讓螢幕上的Talking Head模組呈現對應的表情。 並將對話內容紀錄下來。 AI將嚴格遵守prompt的指令，不可回答與課程無關的答案。 15 4 檢驗 讓學生寫學習單，回答跟剛才AI問答一樣類似的問題，簡易學生是否有正確吸收到，並懂得使用句型了。 10 ","date":"2024年4月12日","externalUrl":null,"permalink":"/posts/aigc-in-english-teaching-lesson-plan-20240412/","section":"Personals","summary":" 老師姓名 Ivon Huang 日期 04/12/2024 學生數量 25 年級 國二學生 學習目標 學習課本L2的對話 了解課本中的句型 並可以實際運用表達自己的觀點與想法 材料 樹莓派5b 8GB x5，搭載簡易麥克風與揚聲器，還有一塊3.5吋小螢幕。 每個樹莓派事先用Docker部署Ollama服務。 前端的部份使用SillyTavern，啟用Talking Head表情模組。 語言模型選用TAIDE LX 7B，語音合成服務使用Coqui，語音辯識使用Whisper。（欲提速可以改採串接線上API的方式） 課後分析學生回答準確率的工具使用基於Bash的ShellGPT做檢查。 學生的檔案 中階等級的程度。 對一般單字的吸收程度還可以，唸課本大致能正確讀出。 步驟 活動 時長 1 教學 由老師帶過一遍課本的對話。 將單字與重要文法片語解釋一遍。 並解釋句型 10 2 對話 將學生隨機分成5組 依照課本進行對話練習 接著讓學生透過對話詢問他人的特徵，賺取分數，獲得最多分的人將可以自由選擇下一階段的組別成員。 10 3 活動 將學生分為五組 分發樹莓派裝置 使用預先設定好的角色卡範本，讓AI根據課本內容出題問答 學生再根據指示回答 如果回答正確，讓螢幕上的Talking Head模組呈現對應的表情。 並將對話內容紀錄下來。 AI將嚴格遵守prompt的指令，不可回答與課程無關的答案。 15 4 檢驗 讓學生寫學習單，回答跟剛才AI問答一樣類似的問題，簡易學生是否有正確吸收到，並懂得使用句型了。 10 ","title":"AI應用於英語教學教案：基於樹莓派與開源語言生成模型之英語對話教學研究","type":"personal"},{"content":"註：本文所有連結都不含邀請碼、分潤連結，請安心點選。\n要將自己辛苦的創作貨幣化 (monetization)，或者直白一點講，賺錢，最簡單的方式就是找廣告聯播網 (Ad Networks)，在網站放廣告賺取收益了。 此圖使用Stable Diffusion WebUI生成\n過去我在Youtube頻道 (2013 ~ 2020)，懵懵懂懂的情況下靠Adsense賺了一部iPhone的錢呀。但後來被封就什麼也沒了。\n2021年改在 mcbedev.net（用Google Blogger架的）放Adsense廣告，試驗一段時間下來，雖然廣告看到就煩，但是至少廣告出現的位置是順眼的，不會干擾閱讀。因著Minecraft Bedrock內容的高人氣，廣告錢幾個月就達到起付額度。\n但是，目前這個網站 ivonblog.com 一直無法加入Google Adsense，成功提交網站了，也給我打槍不提供任何理由。可能是版面太醜？沒有隱私權條款？成人內容？\n故研究Google Adsense替代廣告聯播網。\n1. Google Adsense替代品 # 這裡列出的公司，跟Google沒什麼合作關係，全球提供服務，且適合剛起步沒什麼流量的小站點。換言之，就是審核標準比Google Adsense寬鬆很多的廣告聯播網，基本上網站提交審核就會過，不過有的廣告商是不接受成人內容 (adult content) 和一些敏感內容的（藥品、槍枝） ，這點要注意。\n沒有SWIFT銀行帳戶，想用Paypal、比特幣這類方式收款的話也可以參考Google Adsense替代品。但有的仍會要求你提供KYC認證才能出金。\n經過搜尋之後找到一些比較著名，經營了也有些年月的Google Adsense替代品：\nA-ADS https://a-ads.com AdMaven https://ad-maven.com，接受成人網站 Adsterra https://adsterra.com，接受成人網站 ExoClick https://www.exoclick.com，接受成人網站 InfoLinks https://www.infolinks.com Monetag https://monetag.com 這家是Propeller Ads的相關公司 PopAds https://www.popads.net Propeller Ads https://propellerads.com Raptive https://raptive.com 不瞞你說，做留言系統的Disqus其實也有廣告分潤計畫Revenue Qualification，但是他們跟Twitter的Ads Revenue Sharing一樣奸詐：你必須先訂閱付費方案，才可以開始賺廣告錢。WTF～根本是專為大型客戶訂做的方案嘛！\n還有非必要情況下我不是很想用LinkVertise短網址那種小癟三手段賺廣告錢，理由在此。\n2. 請注意他們用使用者體驗換金錢 # 老實說Google Adsense以外的替代廣告聯播網，他們宣稱的CPM收益或許比Google的多，但是是用使用者體驗換來的。\nGoogle Adsense能成為全世界最大尾的廣告聯播網不是沒有原因的。\nGoogle Adsense的廣告如果你硬要開，是可以把整個網頁塞滿廣告的。Adsense裡面有個拉桿，可以控制Google嵌入廣告的數量。但就算這樣，Google的廣告版面也比其他聯播網的要好看，你甚至能檢舉惡意廣告。 Google可以利用他們變態的監控手段（手機、瀏覽器、APP），精準向使用者投放他們可能感興趣的廣告。\n相較之下，這些替代的廣告聯播網沒有Google那種智慧的網頁內廣告。廣告內容多半跟使用者瀏覽的網頁無關，畢竟他們沒辦法追蹤用戶！所以囉，廣告大多是帶有誤導性質的投資、減肥、壯陽藥、賭博、約砲、色情遊戲、惡意軟體廣告。\n比如，投資型廣告可能就連結到假冒的網站，「柯文哲的投資讓銀行感到恐慌」、「周杰倫失去了一切」等等。（圖片來源：真正的自由時報報導 ） 我想這類廣告聯播網裡面唯一是真的可能就正版色情遊戲的廣告吧（汗）台灣真的有很多H Game代理商呀！\n論廣告版型，這些廣告聯播網裡面體驗比較不那麼壞的就是蓋版 (cover ads) 或者橫幅 (sticky banner) 廣告了。只要使用者點一下就會消失。 剩下的就是干擾人的跳出式廣告，就是像通知一樣跳出來的、假意要你接收通知的、點個網頁元素就瘋狂跳新分頁的。還有廣告商推出多合一咖啡包，整個網頁元素多到像中毒一樣，關不完連番轟炸。 廣告聯播網就是靠這種賺很多吧。如果你不開這些干擾性高的廣告，那收益就會少很多。\n3. 廣告插入到網頁的安裝方式 # 廣告聯播網給的廣告程式，多半是一段JavaScript程式碼，只要安裝在網站的\u0026lt;header\u0026gt;\u0026lt;/header\u0026gt;，輕鬆就能內嵌到網頁，就算是Hugo靜態網頁也能放。\nHugo可能得編輯Hugo網站根目錄/themes/主題名稱/layouts下的檔案，找到生成\u0026lt;header\u0026gt;的程式碼段落，才能修改生成的HTML。\n如果懂得操作網頁主題的程式碼，你甚至可以用程式手段控制廣告出現的位置，或是不要在特定網頁出現。\n比較特殊的，例如Exoclick Never Block的廣告程式，是專門針對擋廣告擴充功能設計的，試圖繞過擋廣告，就得用到伺服器PHP後端了，這個比較複雜。\n4. 結語 # 不要盲目追求高CPM，你怎麼知道那間公司會不會跑路。參考Reddit r/adops、r/PPC等網站的評價，選一間歷史悠久，CPM在中間還能接受的公司下去用吧。\n為了使用者體驗考量，盡量不用彈出新分頁這種過份干擾閱讀的廣告。雖然潛在收益減少許多，但我認為做為一個部落客還是要有點底限。\n我知道大家討厭廣告，我也討厭。所以，雖然這個部落格有放廣告，我目前不搞反擋廣告措施（才不是技術力不足），uBlock Origin你愛開就開。而且如果你一直開著uBlock Origin，應該會發現本文分享的廣告聯播網網站都打不開XDDDD\n我知道像我這種小破站，放廣告的月收根本不如正職工作高，不對，連做工讀都賺更多。但只要一年下來賺到的錢夠付網域與潛在的主機費用，那也就夠了。只要網站放著，就有扣扣進來，不無小補。\n","date":"2024年4月11日","externalUrl":null,"permalink":"/posts/google-adsense-alternatives/","section":"所有文章","summary":"註：本文所有連結都不含邀請碼、分潤連結，請安心點選。\n要將自己辛苦的創作貨幣化 (monetization)，或者直白一點講，賺錢，最簡單的方式就是找廣告聯播網 (Ad Networks)，在網站放廣告賺取收益了。 此圖使用Stable Diffusion WebUI生成\n過去我在Youtube頻道 (2013 ~ 2020)，懵懵懂懂的情況下靠Adsense賺了一部iPhone的錢呀。但後來被封就什麼也沒了。\n2021年改在 mcbedev.net（用Google Blogger架的）放Adsense廣告，試驗一段時間下來，雖然廣告看到就煩，但是至少廣告出現的位置是順眼的，不會干擾閱讀。因著Minecraft Bedrock內容的高人氣，廣告錢幾個月就達到起付額度。\n但是，目前這個網站 ivonblog.com 一直無法加入Google Adsense，成功提交網站了，也給我打槍不提供任何理由。可能是版面太醜？沒有隱私權條款？成人內容？\n故研究Google Adsense替代廣告聯播網。\n1. Google Adsense替代品 # 這裡列出的公司，跟Google沒什麼合作關係，全球提供服務，且適合剛起步沒什麼流量的小站點。換言之，就是審核標準比Google Adsense寬鬆很多的廣告聯播網，基本上網站提交審核就會過，不過有的廣告商是不接受成人內容 (adult content) 和一些敏感內容的（藥品、槍枝） ，這點要注意。\n","title":"網路賺錢：Google Adsense廣告聯播網的替代品，審核寬鬆","type":"posts"},{"content":" 強者我朋友問如何在手機看A片。 不如將這個問題分成：\n你想看的是真人色情，還是色情動漫？\n後者有很多專門的APP，例如Mihon、EHviewer、Imgrd Grabber、Han1meViewer、IwaraQk等等\u0026hellip;多不勝數呀。不論你想看色圖、同人本、裏番、3D動畫，幾乎每個色情動漫網站都有專門的APP方便瀏覽與下載資源。\n但是真人色情片情況就不太一樣。\n想要看免費的，依照使用幾大免費色情網站的經驗來看（PornHub、XVideos、XNXX、Jable、Avgle、MissAV）\n雖然很多色情網站都有推出自家的APP\n但是我覺得他們要不是廣告很多（Setting.app），不然就界面設計很爛（PornHub）\n更重要的是幾乎沒有一款開源的。\n有人會說啊Twitter、Reddit不就一堆色情自拍影片，Telegram的老司機群組一堆，Dcard西斯板一堆淫亂大學生。這些APP在應用商店都可以合法下載，何必找那些色情影片網站？\n但我想找專門的色情網站呀！一個真正獨立的社群。\n最佳解果然還是用瀏覽器 ———— 也就是看網頁版影片。 在這個時代，大部分網站都有做手機版網頁啦。不少英文網站還提供了中文界面。\n鑑於色情網站多半會放一堆比你的洨還多的廣告來賺取收益\n所以選一款能擋廣告的瀏覽器絕對是有必要的了\n個人認為看色情片的首選瀏覽器是Brave\n開源，跨平台，支援Android與iOS，內建擋廣告插件和無痕模式。\n其次為Firefox\n同樣有擋廣告擴充功能和無痕模式，Android版更是可以裝VideoDownloaderHelper擴充功能下載網頁影片\n以上提的二個APP都沒有密碼鎖功能\n需要另外裝APP來實現。\n另外，在正常民主國家，看AV並不會被抓走好ㄅ，沒有必要使用VPN或者Tor。\n不過VPN或者DNS，倒是可以繞過色情守門員的防護，以及政府的「此網域已經遭到停止解析」攔截。\n","date":"2024年4月10日","externalUrl":null,"permalink":"/posts/watch-porn-on-mobile-phones/","section":"Nsfws","summary":" 強者我朋友問如何在手機看A片。 不如將這個問題分成：\n你想看的是真人色情，還是色情動漫？\n後者有很多專門的APP，例如Mihon、EHviewer、Imgrd Grabber、Han1meViewer、IwaraQk等等…多不勝數呀。不論你想看色圖、同人本、裏番、3D動畫，幾乎每個色情動漫網站都有專門的APP方便瀏覽與下載資源。\n但是真人色情片情況就不太一樣。\n想要看免費的，依照使用幾大免費色情網站的經驗來看（PornHub、XVideos、XNXX、Jable、Avgle、MissAV）\n雖然很多色情網站都有推出自家的APP\n但是我覺得他們要不是廣告很多（Setting.app），不然就界面設計很爛（PornHub）\n更重要的是幾乎沒有一款開源的。\n有人會說啊Twitter、Reddit不就一堆色情自拍影片，Telegram的老司機群組一堆，Dcard西斯板一堆淫亂大學生。這些APP在應用商店都可以合法下載，何必找那些色情影片網站？\n","title":"Android和iOS手機看AV的APP？這是個問題","type":"nsfw"},{"content":" SPH是一種羞辱男性獲得快感的性癖好。\n通常一張圖會有二個男人雞雞比大小，雙方長度差異巨大，一個奈米屌一個30cm，然後由女性角色做出嘲笑狀、或嫌惡狀的繪圖，這就是SPH。\n來源 下面會有更多有趣的SPH實例。\n1. SPH簡介 # SPH英文稱作Small Penis Humiliation\n中文可以翻作：小屌羞恥Play\nPixiv的標籤以SPH做簡稱\n近似的標籤：ちんこ比べ (penis comparison，penis size difference，雞雞比大小)、粗チン (small penis，殘念的雞雞)\nSPH跟比較乳房大小的ちちくらべ不一樣，不是單純比長度而已，SPH通常帶有羞辱意味，受害者永遠是女角的男友，女角會被大屌吸引走，轉而嘲笑自己原本的對象。下一秒女角就被大屌幹了一番，小屌男在旁邊哭泣。\nSPH帶有「雄競」的感覺，男性用雞雞長度搶奪交配權，雞雞大的人將有遺傳優勢並獲得女性青睞。男性包莖不是SPH的必要要素，不過這可以強化小屌一方處男的感覺。\n「死之前想要在這裡射精嗎？但是你的精子太無能了！」來源 沒有種族歧視的意思，但東亞人的刻板印象就是小屌，韓國的激進女權主義者還會以「小屌」手勢鄙視男性。那麼要找大屌，就只能找白人或黑人了。 因此，SPH可說是類似綠帽、NTR、抖M的性癖好，但強調的是雞雞比大小的畫面。因SPH導致女友被大屌男搶走的過程很像NTR，但是NTR的本子不見得會有這種「公開處刑」比大小的場面出現。\n另外，扶他本雖然也有常比雞雞大小橋段（小妹彈出來比你大！），不過這種羞恥感不是女朋友被人搶走所能比的。\n我認為SPH圖製造的性癖點在於，讓讀體驗到巨大張力的繪圖，從而產生性刺激感。看別人的雞雞比較大，精子活力更強，導致讀者即使是男性也跟著出現一種慕強(Hypergamy)的現象。\n2. SPH圖片實例 # 嘲笑射精量和直徑不足的。來源 用包莖強化小屌一方處男的要素。來源 硬拉包皮才能讓屌更長一些。 用穴就能隔空感覺出長度的。順便說繪師EnaRi很喜歡畫SPH的內容。 把腸胃變成小穴並能偵測精蟲活性的嘴巴。 女角說很過分的話系列：這種長度，你安內袂生啦（台語） 沒有女人會對你這種小雞雞感到快感的，這種小雞雞乾脆去做人工受孕好了~ 然後回頭被受孕個爽。 原本是正常尺寸能交歡，但變成小屌後馬上被嫌棄的本子。（(C72) [蛸壷屋 (TK)] 使い魔ヤプー トリステインの滅亡 (ゼロの使い魔)） 你想給她戒指，她想著大屌受孕，他想著洩欲，三個人的願望無法一次滿足。（繪師：Pixiv@dais729sof） 屌的長度決定服務的態度。來源 畢竟只是狗而已（繪師：baraag.net@Ponpu） 更慘的是被小蘿莉鄙視。來源 小妹的屌\u0026hellip;彈出來比你的還大！來源 爛雞雞乾脆剪掉好了。來源 不對喔，小屌可以當輸精管，蛋蛋當苗床？？（繪師：Pixiv@JADF@jadf_） 有趣的是，也有蘿莉反過來嫌雞雞太大很痛的例子XD 給小黃人一點安慰是嗎。（繪師：Twitter@kotee_kotee5） 如果是正太跟成人一起出現，小孩開大車的場景，大人的屌馬上就有優勢了，逆向SPH！來源 另外一種情況，作者會選擇用魔法把正太也變成巨屌，甚至比成人的屌還大，做平衡打擊。（[水無月十三] 放課後の教室で乱交する淫乱JSなんているはずがない! (COMIC LO 2019年1月号)） ","date":"2024年4月7日","externalUrl":null,"permalink":"/posts/small-penis-humiliation/","section":"Nsfws","summary":" SPH是一種羞辱男性獲得快感的性癖好。\n通常一張圖會有二個男人雞雞比大小，雙方長度差異巨大，一個奈米屌一個30cm，然後由女性角色做出嘲笑狀、或嫌惡狀的繪圖，這就是SPH。\n來源 下面會有更多有趣的SPH實例。\n1. SPH簡介 # SPH英文稱作Small Penis Humiliation\n中文可以翻作：小屌羞恥Play\nPixiv的標籤以SPH做簡稱\n近似的標籤：ちんこ比べ (penis comparison，penis size difference，雞雞比大小)、粗チン (small penis，殘念的雞雞)\nSPH跟比較乳房大小的ちちくらべ不一樣，不是單純比長度而已，SPH通常帶有羞辱意味，受害者永遠是女角的男友，女角會被大屌吸引走，轉而嘲笑自己原本的對象。下一秒女角就被大屌幹了一番，小屌男在旁邊哭泣。\n","title":"SPH的意思～小屌羞恥Play，雞雞比大小也會讓人興奮？","type":"nsfw"},{"content":"","date":"2024年4月5日","externalUrl":null,"permalink":"/tags/minecraft-script-api/","section":"標籤","summary":"","title":"Minecraft Script API","type":"tags"},{"content":"本文介紹如何使用Minecraft基岩版的Script API，強化您的Add-On功能。\n1. Script API簡介 # Minecraft基岩版的官方模組格式「Add-On」常被人詬病的就是不夠程式化。創作者過去都只能透過改json，以及搭配記分板指令的方式來開發模組功能。\n現在有了Script API，你可以自由的撰寫JavaScript程式來操作遊戲內容了！\n這樣說吧，如果是骨灰等級的MCPE玩家，以前一定有用過名為BlockLauncher的APP吧！裡面的ModPE Script模組功能豐富，自由度很高，而Script API就是類似那樣的東西。\nScript API發展歷史：\nMinecraft 1.10的時候，Mojang曾經推出一款名為「Scripting API」的指令稿程式，讓玩家可以撰寫在行為包中插入一組JavaScript控制生物行為。但是Scripting API只能在Windows版Minecraft執行。\nMinecraft 1.16加入了Gametest Framework，同樣使用JavaScript寫成。GameTest主要用於測試Add-On行為，例如生物AI是否正常。\n後來GameTest加入更多函數和方法，使得Gametest像Scripting API一樣，能夠對遊戲進行修改。最大的不同是，Gametest可以在Windows版和手機版執行。\nMinecraft 1.18，正式移除Scripting API。\n之後的版本GameTest取代了舊版Scripting API功能。\nGameTest也被人稱作Script API。\n2. Script API的函數表 # 請注意Script API相關函數變動很快，可能有些類別Minecraft一更新就改名了\n一切以官方文檔為準。\n3. 在行為包使用Script API # 目前Minecraft 1.20要使用Script API，得在Add-On的行為包插入。\n編輯行為包manifest.json，插入modules這段，宣告使用Script API模組。注意註解部分。 { \u0026#34;format_version\u0026#34;: 2, \u0026#34;header\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;Script API範本\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Script API範本\u0026#34;, \u0026#34;uuid\u0026#34;: \u0026#34;a528d735-2fd3-4de2-a232-fd7af826d6d3\u0026#34;, \u0026#34;min_engine_version\u0026#34;: [ 1, 20, 10 ], \u0026#34;version\u0026#34;: [ 1, 0, 0 ] }, \u0026#34;modules\u0026#34;: [ { \u0026#34;description\u0026#34;: \u0026#34;行為包模組\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;data\u0026#34;, \u0026#34;uuid\u0026#34;: \u0026#34;bfb17cf4-f8d5-45b5-9398-2e07518441d4\u0026#34;, \u0026#34;version\u0026#34;: [ 1, 0, 0 ] }, // GameTest模組 { \u0026#34;description\u0026#34;: \u0026#34;Gametest模組\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;script\u0026#34;, \u0026#34;language\u0026#34;: \u0026#34;javascript\u0026#34;, \u0026#34;entry\u0026#34;: \u0026#34;scripts/main.js\u0026#34;, \u0026#34;uuid\u0026#34;: \u0026#34;849b303e-383c-4922-a066-06a54a69aa62\u0026#34;, \u0026#34;version\u0026#34;: [ 1, 0, 0 ] } ], // Script API模組 \u0026#34;dependencies\u0026#34;: [ { \u0026#34;module_name\u0026#34;: \u0026#34;@minecraft/server\u0026#34;, \u0026#34;version\u0026#34;: \u0026#34;1.5.0\u0026#34; } ] } 4. Hello World範例程式碼 # 上面manifest.json的main.js可理解為主程式位置。\n在行為包新增\u0026quot;scripts\u0026quot;目錄，裡面新增\u0026quot;main.js\u0026quot;\nmain.js輸入以下內容，在進入世界後一直執行遊戲內建的/say指令，輸出Hello World。\nimport { world } from \u0026#39;@minecraft/server\u0026#39;; world.events.tick.subscribe((eventData) =\u0026gt; { world.getDimension(\u0026#34;overworld\u0026#34;).runCommand(\u0026#34;say Hello World!\u0026#34;); }); 開啟Minecraft，於世界啟用行為包。進入世界後應該會看到輸出訊息。 參考資料 # 微軟官方的Script API文件 What is Script API? - Bedrock.dev Wiki ","date":"2024年4月5日","externalUrl":null,"permalink":"/posts/minecraft-add-on-script-api-introduction/","section":"Minecrafts","summary":"本文介紹如何使用Minecraft基岩版的Script API，強化您的Add-On功能。\n1. Script API簡介 # Minecraft基岩版的官方模組格式「Add-On」常被人詬病的就是不夠程式化。創作者過去都只能透過改json，以及搭配記分板指令的方式來開發模組功能。\n現在有了Script API，你可以自由的撰寫JavaScript程式來操作遊戲內容了！\n這樣說吧，如果是骨灰等級的MCPE玩家，以前一定有用過名為BlockLauncher的APP吧！裡面的ModPE Script模組功能豐富，自由度很高，而Script API就是類似那樣的東西。\nScript API發展歷史：\nMinecraft 1.10的時候，Mojang曾經推出一款名為「Scripting API」的指令稿程式，讓玩家可以撰寫在行為包中插入一組JavaScript控制生物行為。但是Scripting API只能在Windows版Minecraft執行。\nMinecraft 1.16加入了Gametest Framework，同樣使用JavaScript寫成。GameTest主要用於測試Add-On行為，例如生物AI是否正常。\n後來GameTest加入更多函數和方法，使得Gametest像Scripting API一樣，能夠對遊戲進行修改。最大的不同是，Gametest可以在Windows版和手機版執行。\n","title":"Minecraft基岩版Add-On Script API入門","type":"minecraft"},{"content":" 本文列出在Android手機轉譯玩Windows遊戲的解決方案。 是真正在手機上執行Windows遊戲喔，不是遠端桌面也不是串流遊戲，也不用刷機。\n要在任意Android手機跑Windows程式，當然不是模擬整個Windows系統啦！那只有少數手機支援。\n最流行的解法是使用Linux的Box64＋Wine轉譯Windows遊戲。可以說是類似「Windows exe模擬器」的APP吧。\n遊戲能玩的話，那麼跑一般的Windows exe也不是問題了。\n1. 基本概念 # 在此在此介紹一些技術名詞，這樣後面討論會比較容易理解。如果你想知道更多請點選文中的連結了解。\nTermux/Termux X11 # Termux是一款Linux終端模擬器，能夠在Android系統模擬Linux環境，並以原生速度執行，不需要Root權限。\n相關文章：Termux使用教學 Termux X11是專為Termux設計的X伺服器，讓Termux可以把Linux的桌面環境輸出到該APP上，從而執行圖形界面。\n相關文章：Termux X11使用教學 proot/chroot # 只要透過Termux建立Linux環境，再於裡面安裝Wine就可以了。至於Linux環境要如何建立呢？Termux本身的Linux環境並不標準，且缺乏許多套件，所以有人會採用容器的方式建立比較完整的Linux環境作法。這之中又分為proot與chroot兩種。\nproot是在沒有root的環境用ptrace模擬Linux系統，速度比較慢。\n相關文章：proot指令使用教學 chroot則是利用Android系統的功能，模擬Linux環境，程式是以原生速度執行的，速度最快，但是需要Root權限。\n相關文章：Termux chroot教學，以安裝Ubuntu為例 Wine # 歷史悠久的轉譯程式，能將Windows的程式指令轉譯成Linux的指令。\nSteam Deck也有使用Wine的技術，叫做Proton。\n請注意不是所有Windows程式都保證可以用Wine跑，尤其在Android的轉譯環境更是需要多方測試。建議到ProtonDB查詢Windows遊戲的相容性。並自己實際在Linux電腦跑過一次，再到Android環境執行。\n相關文章：Linux Wine指令使用教學 Box64/Box86 # 負責轉譯x86指令成ARM指令的程式，Box86轉譯32位元程式，Box64轉譯64位元程式。\n因為大部分Windows程式都是x86架構的，Wine亦如此，而Android手機是ARM架構為主，所以要在ARM環境執行x86程式，必須使用Box64轉譯x86版本的Wine。\n相關文章：Box64/Box86安裝教學 過去很紅的「Exagear」做的事情跟Box64差不多，有了Exagear程式x86版本的Wine才能在ARM架構的Android裝置執行，但它是閉源軟體，我們不知道背後具體原理為何。\nDXVK # 將DirectX的繪圖指令轉譯成Vulkan，增進遊戲的圖形效能。\nGithub儲存庫：doitsujin/dxvk\nVirGL/Turnip/Zink # 這些都是達成3D硬體加速所需的驅動程式。\nVirGL：模擬GPU進行硬體加速，屬於通用型方案，適用大部分Android手機。\nTurnip：專為Qualcomm Adreno設計的圖形驅動，相較於VirGL圖形效能更好。\nZink：將OpenGL轉成Vulkan的實驗性驅動，可以搭配VirGL或Turnip使用。Zink也是專為Qualcomm設計的。\n相關文章：Termux以virglrenderer達成硬體加速 2. 推薦手機硬體 # 如果你打算用轉譯方式玩Windows遊戲，那麼建議：\nRAM：8GB以上 儲存空間：10GB以上 處理器：高通Snapdragon 865以上 是的你沒有看錯，非旗艦處理器的Android手機轉譯Windows遊戲只是自討苦吃，尤其是3D大作。如果你的手機處理器是中低階的，那頂多玩玩2D為主的Galgame而已。\n手機處理器以高通處理器為佳，比較容易透過Turnip達成3D硬體加速。\n其他聯發科、獵戶座、Tensor、麒麟之類的處理器只能透過VirGL達成3D硬體加速，效能差勁。\n3. Android轉譯Windows exe的解決方案 # 本文介紹的方案使用的技術都很像，差別在實作的方式不同。\n目前有4個懶人解決方案，能夠幫你自動裝好Box64、Wine、DXVK。\nWinlator # 獨立APP，不依賴Termux。\n使用Proot建立Linux環境。\n界面設計類似Exagear，大部分選項都圖形化了，完全不用打指令。\n內建模擬手把的觸控輸入。\n相關文章：Winlator模擬器使用教學 小小電腦 # 內建中文界面的Debian桌面環境，開箱即用，不用打指令設定。\n內建Box64與Wine轉譯功能。\n相關文章：小小電腦使用教學 Mobox # 本身是一個指令稿，依賴Termux執行。只需要稍微打一下指令就能輕鬆啟動。\n架構比較特殊，Mobox利用的是Termux本身的套件來跑Box64和Wine，而非建立proot環境。少了proot這一層模擬，效能便接近原生chroot的速度了。\n開啟後會幫你安裝一些常用Windows套件。已知可以啟動Windows版Steam，並能下載遊戲（需看Steam Proton支援度）。\n內建Input Bridge，可在螢幕上虛擬出遊戲模擬手把。\n相關文章：Mobox模擬器使用教學，Android手機玩Steam的Windows遊戲 Box64Droid # 本身是一個指令稿，依賴Termux執行，提供proot版與chroot版。\n內建Input Bridge，可在螢幕上虛擬出遊戲模擬手把。\n這個屬於比較早期的專案，Mobox使用上比較直覺，這個就放在這裡供參考。\nGithub儲存庫：Ilya114/Box64Droid\nExaGear # 俄羅斯開發的閉源軟體。雖然本家倒了，但是現在網路上仍然有許多中國網友製作的修改版APK。\n4. 推薦搭配的APP # Termux Termux X11 Input Bridge：模擬遊戲手把。此為閉源軟體。 Hacker\u0026rsquo;s Keyboard Scrcpy：將Android手機螢幕投影到大螢幕方便操作。 另外準備外接鍵盤、滑鼠、螢幕也是不錯的選擇。\n","date":"2024年4月5日","externalUrl":null,"permalink":"/posts/windows-exe-emulation-on-android/","section":"所有文章","summary":" 本文列出在Android手機轉譯玩Windows遊戲的解決方案。 是真正在手機上執行Windows遊戲喔，不是遠端桌面也不是串流遊戲，也不用刷機。\n要在任意Android手機跑Windows程式，當然不是模擬整個Windows系統啦！那只有少數手機支援。\n最流行的解法是使用Linux的Box64＋Wine轉譯Windows遊戲。可以說是類似「Windows exe模擬器」的APP吧。\n遊戲能玩的話，那麼跑一般的Windows exe也不是問題了。\n1. 基本概念 # 在此在此介紹一些技術名詞，這樣後面討論會比較容易理解。如果你想知道更多請點選文中的連結了解。\nTermux/Termux X11 # Termux是一款Linux終端模擬器，能夠在Android系統模擬Linux環境，並以原生速度執行，不需要Root權限。\n相關文章：Termux使用教學 Termux X11是專為Termux設計的X伺服器，讓Termux可以把Linux的桌面環境輸出到該APP上，從而執行圖形界面。\n相關文章：Termux X11使用教學 proot/chroot # 只要透過Termux建立Linux環境，再於裡面安裝Wine就可以了。至於Linux環境要如何建立呢？Termux本身的Linux環境並不標準，且缺乏許多套件，所以有人會採用容器的方式建立比較完整的Linux環境作法。這之中又分為proot與chroot兩種。\n","title":"Android轉譯玩Windows exe遊戲的方法一覽","type":"posts"},{"content":"聲明：Ivon跟Proton公司無任何商業合作關係，文中所有連結都不含折扣代碼，撰文推薦只是為了推廣自由軟體。\n這篇文章Ivon介紹如何在電腦與手機安裝免費VPN服務：ProtonVPN。\nProton VPN是瑞士質子 (Proton) 公司於2017年推出的VPN服務，採用AES-256加密連線，並宣稱不會蒐集使用者資料。此外Proton公司是台裔人士創辦的，過去以支援人權活動家而著名，例如2019年公開表示撐香港反送中，所以不用煩惱他有中資背景。 Proton就是推出ProtonMail的公司，這是Ivon目前的郵件服務供應商之一，他們以安全隱私著稱，所以Ivon信任他們家的服務。最近Proton VPN使用幾個月下來，我的評價是Proton VPN的速度還算穩固，跨區到日本、美國看串流影片並無卡卡現象。\n難能可貴的是，Proton VPN連線客戶端是開放原始碼的，支援Linux/Windows/macOS/ChromeOS/Android/iOS系統，它也能以瀏覽器擴充功能方式安裝。\n1. ProtonVPN方案與價格 # 免費方案：無廣告，無限速，只能在1個裝置上使用，能連線到日本、美國、荷蘭伺服器。但是你不能指定要連線到哪個國家的伺服器。\n至於付費方案有二個：\n第一個是ProtonVPN Plus，每個月9.99美元，無限制使用所有VPN服務，連線時會有更多國家伺服器可以選，還提供額外安全保護，例如擋廣告、Tor伺服器、VPN無法連線便自動斷網(Kill Switch)的功能。\n第二個方案是Proton Unlimited，每個月12.99美元，把ProtonMail、ProtonDrive、Proton Calendar、Proton Pass的方案跟Proton VPN捆綁銷售，並且可以使用瀏覽器擴充功能版的Proton VPN。如果你有在使用他們家的其他服務，那麼此方案是最划算的。\n此外，按照Proton的規定，如果要連著VPN下載BT種子，一定得訂閱付費方案。Proton VPN尚提供通訊埠轉發(port forwarding)的功能。\n2. 安裝Proton VPN客戶端 # Proton VPN客戶端的原始碼可於Github取得。\n2.1. Android # 請至F-Droid下載\n或是到Google Play、Github Releases下載APK。\n2.2. iOS # 請至App Store下載\n2.3. Linux # 參考Proton VPN官方說明，Proton VPN支援OpenVPN和WireGuard通訊協定，各Linux發行版可透過套件管理員安裝。\n如果您是桌面版Linux用戶，建議使用Flatpak安裝客戶端：\nflatpak install flathub com.protonvpn.www 2.4. Windows # 至官網下載exe安裝檔，支援Windows 10以上系統。\n2.5. macOS # 至官網下載dmg安裝檔，支援macOS 10.12以上系統。\n3. Proton VPN客戶端使用方式 # 手機版與電腦版的界面類似，下面以電腦版為例。\n先到Proton VPN官網註冊一個帳號。如果你有使用ProtonMail，直接使用該電郵登入即可。\n開啟Proton VPN客戶端，登入Proton帳號 在這個界面，點選「Quick Connect」會隨機挑一個國家的伺服器連線。若要選取特定國家，點開下方選單，選取使用%數較少的伺服器，點選Connect連線。 以Linux的KDE桌面來說，Proton VPN會讓連線的圖示顯示一個鎖頭。要斷線就回到客戶端點選Disconnect。 如果連線遇到Provide the secrets for the VPN connection要求輸入密碼的訊息，則到Proton VPN的Account頁面取得OpenVPN / IKEv2的密碼。\n4. Proton VPN純文字模式指令用法 # protonvpn-cli是Proton VPN的純文字指令工具，適用於Linux系統。\n輸入Proton帳號後填入密碼 protonvpn-cli login [Proton帳號] 選取要連線的伺服器，會出現選單讓你選擇 protonvpn-cli connect 斷線指令 protonvpn-cli disconnect 5. 如何取消ProtonVPN的訂閱 # 訂閱ProtonVPN到期未付款，它並不會自動降級為免費版，它會一直要求你付款才能降級。若置之不理就會導致它持續累積額度，可能還會影響到其他服務的使用。\n在你訂閱的當下，假設你下個月就不想用了，你得到https://account.proton.me頁面，滑到最下面點選「取消訂購授權」，它才不會自動續費。 6. Proton VPN個人使用評價 # Proton VPN免費方案的伺服器速度還行，看他們公司的隱私態度應該不可能會有中國的啦。\n我使用中華電信的光纖，連線到日本和美國的伺服器，下載速度大致上沒影響，看線上動畫串流也無卡卡情況，雲端硬碟MediaFire的下載速度還跟著變快了呢。\n免費方案不能選連線國家是很可惜，但若不是整天掛著VPN的人，輕度來說也夠用了。\nProton公司宣稱尊重隱私，沒有到處灑錢業配，光這點就值得在需要服務的時候花錢支持了。\n","date":"2024年4月4日","externalUrl":null,"permalink":"/posts/setup-protonvpn/","section":"所有文章","summary":"聲明：Ivon跟Proton公司無任何商業合作關係，文中所有連結都不含折扣代碼，撰文推薦只是為了推廣自由軟體。\n這篇文章Ivon介紹如何在電腦與手機安裝免費VPN服務：ProtonVPN。\nProton VPN是瑞士質子 (Proton) 公司於2017年推出的VPN服務，採用AES-256加密連線，並宣稱不會蒐集使用者資料。此外Proton公司是台裔人士創辦的，過去以支援人權活動家而著名，例如2019年公開表示撐香港反送中，所以不用煩惱他有中資背景。 Proton就是推出ProtonMail的公司，這是Ivon目前的郵件服務供應商之一，他們以安全隱私著稱，所以Ivon信任他們家的服務。最近Proton VPN使用幾個月下來，我的評價是Proton VPN的速度還算穩固，跨區到日本、美國看串流影片並無卡卡現象。\n難能可貴的是，Proton VPN連線客戶端是開放原始碼的，支援Linux/Windows/macOS/ChromeOS/Android/iOS系統，它也能以瀏覽器擴充功能方式安裝。\n1. ProtonVPN方案與價格 # 免費方案：無廣告，無限速，只能在1個裝置上使用，能連線到日本、美國、荷蘭伺服器。但是你不能指定要連線到哪個國家的伺服器。\n","title":"Proton VPN安裝教學與評價，開源免費，無中資背景的VPN，支援port forwarding","type":"posts"},{"content":"","date":"2024年4月4日","externalUrl":null,"permalink":"/tags/protonmail/","section":"標籤","summary":"","title":"Protonmail","type":"tags"},{"content":" E-hentai（E站、E紳士、傷心熊貓）是世界知名的成人漫畫網站，其瀏覽程式從手機到電腦都有人做，囊括Android/iOS/Linux/Windows/macOS系統。可以看到世界各地的人為了看E-hentai，什麼程式語言都拿來寫APP了。\n最著名的瀏覽程式莫過於EhViewer了吧！我在這篇EhViewer使用教學有介紹最新版本，但是該APP只支援Android，那麼其他平台的用戶怎麼辦呢？\n本文列出幾個瀏覽E-hentai的APP，提供您EhViewer以外的選擇。這些APP都可以同步E-hentai帳號雲端收藏，還支援登入Ex-hentai（裏站）。\n有的APP界面比EhViewer漂亮，甚至實現了跨平台支援手機與電腦的壯舉呢！足以替代EhViewer。\n這裡是其中三款E-hentai APP的閱讀界面，由左至右分別為FEhViewer、Mihon、JHenTai。 同人誌名稱：ウチのフォーリナーがトイレの場所も守らない悪い猫だったので物理的手段で躾ける話\n請注意這些APP都是第三方人士開發的！E-hentai官方只有網頁版界面，使用這些APP需自行承擔風險。請選擇有常常在更新的程式，免得E-hentai站方一更新網站就無法看了。\n推薦您先註冊E-hentai帳號，並閱讀網頁版使用方式，再使用APP：\n如何註冊E-hentai帳號 E-hentai網頁版使用方式 JHenTai # 支援平台：Android, iOS, Linux, Windows, macOS 下載地點：Github 特色：用Flutter寫的，有針對各種尺寸的螢幕優化。支援登入Ex-hentai、多重分頁、雙頁、AI圖片放大。 JHentai用法詳細介紹\nFEhviewer # 支援平台：Android, iOS, Windows, macOS 下載地點：Github 特色：用Flutter寫的，功能仿造EhViewer，界面走iOS風格。支援登入Ex-hentai、下載本子、雙頁模式。 iOS版請用側載IPA安裝。\nShinsi2 # 支援平台：iOS 下載地點：Github 特色：支援登入Ex-hentai、雙頁模式、下載本子。 Shinsi2用法詳細介紹\nEhPanda # 支援平台：iOS 下載地點：Github 特色：類似Ehviewer，支援登入Ex-hentai、雙頁模式。不支援下載本子。 EhPanda用法詳細介紹\nMihon # 支援平台：Android, iOS, Linux, Windows, macOS 下載地點：Github 特色：Mihon是閱讀多個漫畫網站的萬用APP，有許多分支版APP，但沒有Ehviewer功能那麼專一。 Mihon詳細使用教學\n舊稱Tachiyomi，使用方法都是類似的：點選探索 → 擴充套件，安裝E-hentai即可閱讀。\nHentoid # 支援平台：Android 下載地點：Github 特色：支援多個站點，很大程度依賴各站點的手機版網頁，沒有自己的介面，僅加入下載與收藏功能而已。 Yealico # 支援平台：iOS 下載地點：App Store 特色：Yealico是閱讀多個漫畫網站的萬用APP，需要匯入E-hentai站點規則方能存取。支援登入Ex-hentai，僅提供簡單的閱讀紀錄，無法下載本子。 E-hentai QT # 支援平台： Linux, Windows, macOS 下載地點：Github 特色：給電腦使用的E-hentai客戶端，支援下載本子、調用Waifu2X自動放大圖片。 ","date":"2024年4月2日","externalUrl":null,"permalink":"/posts/e-hentai-list-of-apps/","section":"Nsfws","summary":" E-hentai（E站、E紳士、傷心熊貓）是世界知名的成人漫畫網站，其瀏覽程式從手機到電腦都有人做，囊括Android/iOS/Linux/Windows/macOS系統。可以看到世界各地的人為了看E-hentai，什麼程式語言都拿來寫APP了。\n最著名的瀏覽程式莫過於EhViewer了吧！我在這篇EhViewer使用教學有介紹最新版本，但是該APP只支援Android，那麼其他平台的用戶怎麼辦呢？\n本文列出幾個瀏覽E-hentai的APP，提供您EhViewer以外的選擇。這些APP都可以同步E-hentai帳號雲端收藏，還支援登入Ex-hentai（裏站）。\n有的APP界面比EhViewer漂亮，甚至實現了跨平台支援手機與電腦的壯舉呢！足以替代EhViewer。\n","title":"除了EhViewer外，你還有這幾款替代APP可以看E-hentai","type":"nsfw"},{"content":"本文介紹亞克畫動畫2022年以前的經典政治惡搞作品。 「亞克畫動畫」是一名台灣的動畫師YouTuber，在台灣活躍幾年之後頻道便「被」消失了。\n亞克畫動畫被ban光了？ - 2022年10月13日\n「亞克畫動畫」的Youtube頻道存在時間：2019年～2022年\n2024年，「亞克畫動畫」新頻道復活，再次火力全開。\n1. 歷史 # 亞克擅長透過二創動漫作品，結合政治時事，諷刺政治人物，不論是藍綠白黃紅政黨都重拳出擊，極盡惡搞之能事。\n2019年，亞克做惡搞韓國瑜的影片爆紅，跟另一名YouTuber「梅川伊芙」一樣知名。從韓國瑜當高雄市長一路黑到他被罷免，偶爾還會做惡搞習近平的影片。\n如果他結合乳透社這些乳包歌曲，一定能創造出更精甚細膩的乳包作品吧。\n但後來2021年武漢肺炎疫情期間，台灣出現疫情破口，亞克開始加大力度調侃民進黨的施政。2022年，亞克的Youtube頻道就被大量惡意檢舉下架了，連Facebook粉專也被檢舉到不見。 被檢舉的原因很多，據說是塔綠班看他不爽就積極的讓他吃版權砲了吧。這樣看起來，國民黨老人還比民進黨1450有肚量許多啊，黨不是好惹的。\n亞克（PTT ID：Ximcra）自己也在PTT說過，做二創本來就很危險，可以被攻擊的點太多了。\n現在網路上只剩網友的零星影片備份，還有新聞報導引用的片段。\n亞克的新頻道請見文末。\n2. 亞克畫動畫的著名作品 # 以下憑印象打的，結合網路上殘存的備份。依我最喜歡的作品排序，並加上當時的背景事件解說。\n因為不確定備份影片會不會繼續存在，這裡我不放影片連結。想看全片的，請用每節標題到Youtube搜尋應該就會找到了。\n政客神拳 # 【亞克畫動畫】政客神拳2019～韓總vs郭董～！發大財！\n惡搞《北斗神拳》OP。畫面太有震撼力，我很喜歡。\n主角為韓國瑜（拳四郎）大戰維尼，中間諷刺的都是韓國瑜擔任高雄市長期間做的蠢事。\n影片標題「韓總vs郭董」指的是2019年郭台銘與韓國瑜兩人競爭總統候選人的事件。\n柯文哲手中燒掉的《屠殺》一書乃對應伊森葛特曼指控其參與中共摘器官的事件。這件事情多半認為是吳祥輝針對2019年台北市長選舉的政治操作。 丁守中穿奇異博士的服裝呼應其拖延許久的2019年台北市長選舉無效訴訟。 最後面附贈杰哥不要的畫面，由韓國瑜與柯文哲主演。\n有趣的是2010年亞克就做過馬英九版的《政客神拳》OP了。當時頻道叫做Arcmix。 這部活了這麼久都沒事，反觀\u0026hellip;\u0026hellip;\n政客神拳-世紀末最強跳針傳說-(海賊王OP版本製作中) EUA新試劑扶英戰士 # 【亞克畫動畫】新試劑扶英戰士主題曲「殘劑天使的行動綱領」 惡搞《新世紀福音戰士》OP。\n根據公視PeoPo新聞，〈新試劑扶英戰士主題曲〉歌詞如下：\n「EUA新試劑扶英戰士」主題曲「殘劑天使」日文、中文、羅馬拼音歌詞 残酷な天使のテーゼ 作詞：及川眠子 作曲：佐藤英敏 編曲：大森俊之 残液な天使のように : (像是殘劑的天使一樣） zan eki na tenshi no yō ni 小英よ　神話になれ : (小英啊 變成神話吧！） Shō ei yo shuinwa ni nare 蒼い風がいま　政府のドアを叩いても : (青綠的風 如今即使敲著政府的門） Aoi kaze ga ima seifu no doa o tata i te mo 私だけを注射して　微笑んでるあなた : (而只會注射著我的是微笑著的你） Watashi dake o jūsha shite hohoen deru anata そっとふれる党　もとめることに夢中で : (悄悄地迷戀民進黨一切和追求的事物） Sotto fureru tō mo to meru koto ni muchūde 時計さえまだ知らない　笑止な瞳 : (就連時鐘也仍不知道你那可笑的眼眸） To ke i sa A mada shiranai shōshina hitomi だけどいつか気付くでしょう　その背中には : (總有一天你會發覺 在肩上） Dakedo itsuka kidzuku deshō sono senaka ni wa メディゲン　めざすための　羽根があること : (有著迎向高端的翅膀） Medigen Mirai mezasu tame no hane ga aru koto 残液な天使のテーゼ　股間からやがて飛び立つ : (殘劑天使的行動綱領 不久將從該邊飛起） Zan eki na tenshi no tay ze ko ka n kara yagate tobitatsu ほとばしる熱い浸水で　大統領を裏切るなら : (懷著湧出的淹水飛起　如果背叛總統的話） Ho to bashiru atsui shi in sui de daitōryō o uragirunara 訴訟を抱いて輝く : (將會擁抱官司而發光） Social o idai te kagayaku 小英よ　神話になれ : (小英啊　變成神話吧！） shō Ei yo shinwa ni nare 這部影片中亞克自稱是「中共同路人與PTT」製作。\n主角是蔡英文和塔綠班官員，諷刺2021年武漢肺炎期間搶著打高端疫苗的人群。2020年武漢肺炎期間，高端公司的疫苗尚未通過三期臨床驗證便上市，民進黨政府還鼓勵人民施打，被懷疑是在圖利廠商。\n高端疫苗有許多人認為是民進黨政府圖利廠商的操作，所以我說高端疫苗的三期試驗結果呢？\n製作細節十分用心，名場面完美還原。 背景的生命樹也有換成諷刺民進黨的塔綠班宇宙，EVA變成EUA（緊急使用授權）XD 雖然說打高端沒有那麼誇張啦\u0026hellip;但是真沒幾個國家願意承認效力。 政壇高手 # 【亞克畫動畫】「政壇高手」主題曲：好想大聲說投給你(原曲使用版)柯P、小英、韓總、，打球囉！ 【亞克畫動畫】「政壇高手」 惡搞《灌籃高手》OP，有兩個版本。主題都是呼應2020年總統大選所製作的動畫。\n開幕就是立法院（議會？）的打架畫面。\n看這些政治人物變那麼壯真的不適應XD 他們只有穿西裝的時候才會顯得人高馬大。\n惡政隱：陳其邁和韓國瑜競選2019年高雄市長。 惡政隱：蔡英文跑過賴清德，呼應2020年勝出民進黨總統初選。 韓國瑜當高雄市長後跳票的承諾 把任何抹紅抹黑都丟球回去的柯文哲 慘了這張柯文哲打籃球的怎麼有點帥 肛眼人 Asshole Man # 【亞克畫動畫】 肛眼人（Asshole Man） 惡搞《鋼鐵人1》電影預告片。\n韓國瑜大戰網路上的韓黑。沒有人可以質詢我！！\n用屁屁發射飛彈，呼應韓國瑜2019年說過的話：「我是用屁眼看假韓粉的」 這段呼應的是2019年，韓國瑜質詢時跳針回應發大財，導致黃捷翻白眼。 不知道為何小辣椒變成洪秀柱，可能因為她也長期親中的關係？ 在韓國瑜敗走2020年總統選舉之後，他就迎來被罷免的命運了。 韓總主演小丑 # 【亞克畫動畫】韓總主演「小丑」｜年度最佳神片 惡搞《小丑》電眼預告片，韓國瑜要讓全台灣陷入瘋狂。\n整部片都是在諷刺韓國瑜高雄市長當不到一半，就落跑去選2020年總統的亂象。\n心中沒有高雄的韓國瑜 平常日上班，週末跑去總統造勢的韓國瑜 館長的靈魂拷問：你說你不會像這些人一樣。結果呢？ 韓國瑜在2019年曾說過「征服宇宙」是他旗下維多利亞學校的校訓。 「你本來就是Joker。」這段應該是惡搞，但也蠻像博恩會講的話XD 2019年韓國瑜上《博恩夜夜秀》的時候表演過膝蓋走路。 恭喜韓總成為總統候選人 # 【亞克畫動畫】恭喜韓國瑜市長成為國民黨總統候選人【新世紀福音戰士Evangelion】 惡搞《新世紀福音戰士》第26集拍手片段。\n2029年國民黨在推派總統人選的時候遭遇過阻力，郭台銘曾經想參一腳，後來被韓國瑜挾高人氣勝出。\n轉去你想看的中夭電視台：呼應2019年～2020年之間，中天電視台24小時播放韓國瑜的造神報導。因為行徑過於誇張導致中天電視台2020年被NCC撤照。 後來看開了，真是太好了（棒讀）。 片中館長之所以罵幹你娘，是因為韓國瑜違反過去諾言，從市長職位落跑去選總統。 綺多與習維尼握手 # 你號沒了！（一語成讖）\n綺多是動漫《獵人》的角色，2022年巴哈姆特場外人用來諷刺蔡英文，稱其為「只想著選舉的綠色母狗」，導致巴哈姆特緊急下架政治相關的勇者造型。 禁評筆記本 # 惡搞《死亡筆記本》的短篇漫畫。\n看蔡英文如何使用數位中介法的筆記本打壓異己。\n「數位中介法」是2023年民進黨提出的極具爭議的法律，可能會危害到網路言論自由，故沒有成功實行。 台灣人果然跟我們一樣都是中國人！ 還有這張惡搞《刃牙》漫畫的，諷刺蔡英文一有事就全部推給中共背鍋，所謂境外勢力的陰謀。 3. 亞克畫動畫其他作品 # 因為不確定備份影片會不會繼續存在，這裡我不放影片連結。想看全片的，請用每節標題到Youtube搜尋應該就會找到了。\n【廢片】市長不想受質詢，竟使出這招對付美女議員 【亞克畫動畫】｜GUNDAM W\n惡搞《新機動戰記鋼彈W》。片中韓國瑜講的髒話應該是指2020年在造勢會場回擊韓黑說的：「他奶奶的，恁爸等你！」 【亞克畫動畫】最大尾Vtuber 出道即14億追隨訂閱\n將習近平變成親自指揮真正的Vtuber！不訂閱就死定了。 WHO Director General Tedros\u0026rsquo;s secret\n惡搞《鋼之鍊金術師》大哥哥片段。2020年世界衛生組織譚德塞護航中國隱匿疫情，中國居然還指控是美軍先在武漢傳播病毒的。 【JOJO】WHO秘書長譚德塞的秘密【亞克畫動畫】\n惡搞《JoJo的奇妙冒險 黃金之風》喬可拉特與賽可的劇情。習維尼撫摸維尼快樂組織主席譚德塞的臉，說著好棒好棒。2020年譚德塞拼命為中國掩蓋武漢肺炎疫情護航，故世界衛生組織便成為了維尼快樂組織。 恭喜韓總光榮返鄉為高雄市民服務【亞克畫動畫】\n惡搞《JoJo的奇妙冒險 星塵鬥士》承太郎毆打達比的畫面。由館長親自教訓2020年選總統敗選的韓國瑜。 台中一番!小當家特製「3Q餃子」!!【亞克畫動畫】｜中華一番!｜小當家\n惡搞《中華一番！》動畫片段。呼應2020年陳柏惟(3Q)慘遭罷免的景象，以及顏清標推出的標太郎水餃。 慟!中天電視關台!台灣電視史上最黑暗的一天!｜【亞克畫動畫】\n惡搞《JoJo的奇妙冒險 星塵鬥士》的隱者之紫。呼應2020年中天電視台關台事件。 史上最多人的秋鬥遊行！｜【亞克畫動畫】\n惡搞《JoJo的奇妙冒險 星塵鬥士》，將馬英九、吳敦義、朱立倫、江啟臣等人變成替身使者。根據國民黨的說法，2020年的秋鬥遊行現場突破六萬人！ 退黨的秘密【亞克畫靜畫】｜JOJO Parody【亞克畫動畫】\n惡搞《JoJo的奇妙冒險 黃金之風》特莉休的替身。諷刺黃捷2020年退出時代力量，加入民進黨。 我愛拜登【亞克畫動畫】｜美國總統大選\n惡搞《死亡筆記本》。2020年美國總統大選川普沒選上便死皮賴臉的嗆拜登，諷刺的是選前民進黨側翼傾全黨之力支持川普，結果賭錯邊了便馬上變臉。 今晚，我想萊點牛肉麵｜【亞克畫動畫】\n惡搞《銀魂》。裡面的事件指的是2021年丁怡銘買牛肉麵要打統編的事件，還有萊豬失言風波。 柯P教你辨別政治人物誰在唬爛！必學！｜【亞克畫動畫】｜JOJO\n惡搞《JoJo的奇妙冒險 星塵鬥士》。2021年柯文哲指控陳時中多次為疫情政策說謊。 政治戀愛學園\n仿Galgame的動畫系列，2020年發表，有很多集，似乎還想做成遊戲。 4. 亞克畫動畫的新頻道 # 亞克大約在2022年開了新頻道，沈寂一陣子之後，2024年正式復活了。\nFacebook粉絲專頁：亞克葛格 Youtube頻道：友川絝子 新頻道伊始，亞克改做跟政治無關的二創動畫，但偶爾還是會po幾張政治惡搞圖的新作。\n2023年又開始不乖了，推出新影片，分別為：\n《忍者亂洨太郎OP：執政100%》，惡搞《忍者亂太郎》，諷刺民進黨執政無能 《Lie神月》，惡搞《死亡筆記本》，諷刺賴清德在2024年前總統選舉目睹藍白合失敗的嘴臉 《人頭間諜氣球》，惡搞伊藤潤二漫畫《人頭氣球》，背景是2023年中國間諜氣球飛越美國的事件。習近平最後竟然和拜登親親了XD 但後來影片又刪掉了QQ 根據亞克發表的訊息指出，他的新Youtube頻道被檢舉到無法開營利，對創作者來說是很沈重的打擊！背後很可能是民進黨側翼下的毒手。 Youtube頻道政治惡搞影片都沒有了，只剩普通的動漫二創，雖然還是很好笑啦。\n唉，亞克，真是可惜了人才。\n「恐怕連共產黨都不敢輕易採用這種誇張的設定\u0026hellip;」（惡搞《刃牙》） 「畢竟是台灣人\u0026hellip;」（惡搞《刃牙》） 但是，亞克挺住了壓力，在2024年陸續推出了新作動畫，搭配AI生成歌曲迴避版權問題。新作品包括《賴清德蘭很香》、《我是你爸爸》等等，頻道名稱也正式改回「亞克畫動畫」。\n","date":"2024年4月2日","externalUrl":null,"permalink":"/posts/in-memory-of-arc-animation/","section":"Politics","summary":"本文介紹亞克畫動畫2022年以前的經典政治惡搞作品。 「亞克畫動畫」是一名台灣的動畫師YouTuber，在台灣活躍幾年之後頻道便「被」消失了。\n亞克畫動畫被ban光了？ - 2022年10月13日\n「亞克畫動畫」的Youtube頻道存在時間：2019年～2022年\n2024年，「亞克畫動畫」新頻道復活，再次火力全開。\n1. 歷史 # 亞克擅長透過二創動漫作品，結合政治時事，諷刺政治人物，不論是藍綠白黃紅政黨都重拳出擊，極盡惡搞之能事。\n2019年，亞克做惡搞韓國瑜的影片爆紅，跟另一名YouTuber「梅川伊芙」一樣知名。從韓國瑜當高雄市長一路黑到他被罷免，偶爾還會做惡搞習近平的影片。\n如果他結合乳透社這些乳包歌曲，一定能創造出更精甚細膩的乳包作品吧。\n但後來2021年武漢肺炎疫情期間，台灣出現疫情破口，亞克開始加大力度調侃民進黨的施政。2022年，亞克的Youtube頻道就被大量惡意檢舉下架了，連Facebook粉專也被檢舉到不見。 被檢舉的原因很多，據說是塔綠班看他不爽就積極的讓他吃版權砲了吧。這樣看起來，國民黨老人還比民進黨1450有肚量許多啊，黨不是好惹的。\n亞克（PTT ID：Ximcra）自己也在PTT說過，做二創本來就很危險，可以被攻擊的點太多了。\n","title":"「亞克畫動畫」曾經用動漫惡搞政治，黑韓黑蔡，最後被封的傳奇YouTuber","type":"politic"},{"content":"乳包、辱包文化。\n","date":"2024年4月2日","externalUrl":null,"permalink":"/tags/rubao/","section":"標籤","summary":"乳包、辱包文化。\n","title":"RuBao","type":"tags"},{"content":" 1. 購買樹莓派5的理由 # 2021年在屏大的時候曾經跨系去修電通系的課，儘管教Linux的劉教授上課時不時提到樹莓派，說什麼能用這個給果園做秤重分類機，當作畢業專題什麼的，但是沒有，我沒有要做學校專題，出於個人研究興趣才買的樹莓派。\n在嘗試過「類開發板」的PinePhone、PineTab後，我決定買樹莓派作為新玩具。\n為什麼挑選這款開發板呢？為了更好的I/O連接能力。樹莓派的硬體擴充用途很多，它能夠跟許多東西合體，不論是要做迷你電腦、音箱、復古遊戲機、路由器、伺服器、機器人的主控都行。\n目前我比較感興趣的是樹莓派作為伺服器的用途，24小時不關機的低功耗伺服器呀。後面測試性能證實了樹莓派5的新處理器性能沒有讓我失望。\n等到未來會看三用電錶後再學習樹莓派IoT方面的玩法。\n還有個原因，我不想一邊使用系統一邊除錯了。購買Pine64產品的經驗讓我了解到這個事實，例如之前開箱過的PinePhone和PineTab 2，作業系統在產品上市的時候都沒準備好。（嚴格來說他們不是開發板啦，只是開發板做成的3C產品）\n參酌Hacker News鄉民的意見，雖然市場上的樹莓派競品，CP值比樹苺派好的多的是，未來還有RISC-V架構的開發板崛起，但是他們社區支援都沒有樹苺派要大。驅動程式什麼的一定是樹莓派支援最好，不會有廠商提供糟糕的驅動，只支援Android和特定版本的Linux，得自己解決的情況發生。比如PinePhone呢，在全世界開發者的合作下，三年才逆向出來了大部分硬體驅動。\n所以我做了保守的選擇，選擇較知名的樹莓派。\n我投靠有價值的樹莓派.webp （南部P） 那麼讓樹莓派5傳承PinePhone、PineTab 2的零件？喵的勒\u0026hellip;沒一個可以直接用的，電路板根本不相容，要焊新的插座上去。之前購買PineTab 2送的UART插頭，喵的還要一條轉接線才能用。\n2. 開箱環節 # 樹莓派5是在2023年10月於英國發表的，提供4GB RAM和8GB RAM版本，4GB RAM版本售價60美元，8GB RAM版本售價80美元。\n首先來個樹莓派5規格表：\nBroadcom BCM2712 2.4GHz quad-core 64-bit Arm Cortex-A76 CPU, with cryptography extensions, 512KB per-core L2 caches and a 2MB shared L3 cache VideoCore VII GPU, supporting OpenGL ES 3.1, Vulkan 1.2 Dual 4Kp60 HDMI® display output with HDR support 4Kp60 HEVC decoder LPDDR4X-4267 SDRAM (4GB and 8GB SKUs available at launch) Dual-band 802.11ac Wi-Fi® Bluetooth 5.0 / Bluetooth Low Energy (BLE) microSD card slot, with support for high-speed SDR104 mode 2 × USB 3.0 ports, supporting simultaneous 5Gbps operation 2 × USB 2.0 ports Gigabit Ethernet, with PoE+ support (requires separate PoE+ HAT) 2 × 4-lane MIPI camera/display transceivers PCIe 2.0 x1 interface for fast peripherals (requires separate M.2 HAT or other adapter) 5V/5A DC power via USB-C, with Power Delivery support Raspberry Pi standard 40-pin header Real-time clock (RTC), powered from external battery Power button 以上資料引用自樹莓派5官網\n樹莓派基金會宣稱樹莓派5的處理器性能約是上一代樹莓派4的三倍。\n我直接買到頂配的8GB RAM版本，並根據網路建議，順道購買樹莓派5的原廠5V5A電源供應器、散熱風扇（我買副廠的，尺寸較大，要買殼的建議買原廠風扇就好）、新的SD卡。這樣買下來約4000台幣，給代理商賺死了。 取出樹莓派5的零件 板子後面只有SD卡插槽 靠近一點看，從左到右，樹莓派5Type-C電源插口旁邊有實體開關機按鈕，並有二個microHDMI（支援4K60p）的輸出端、二個DISP介面。3.5mm耳機孔洞這次被拔掉了。 值得一提的是那個PCIe Gen 2界面，這代表樹莓派可以外接電腦的GPU進行運算\u0026hellip;ㄟ，那這樣ARM平台的AI運算能力就有救了不是嗎。\n不過不太穩定的樣子就是了。從Jeff Geerling的影片來看，AMD比較有機會成功。Nvidia需要工作站等級的繪圖卡才有Aarch64架構的驅動，一般卡只能用nouveau，問題很多。 再加上GPU的尺寸都比樹莓派要大許多了，真是小蝦米騎在大鯨魚上面，實用性有待驗證。\n3. 實際樹莓派5測試性能 # 鎖上風扇，安裝Raspberry Pi OS到SD卡。 Raspberry Pi OS Bookworm預設的桌面環境lxde-pi-wayfire不太好用，所以我另外裝了重型一點的GNOME Wayland桌面，嘿，系統動畫還蠻順的，Firefox和Chromium播放Youtube的1080p影片都不會爆CPU。\n接著來測試性能啦。\n我選擇用很笨又容易理解的測試方法：跑個LXC Android容器 Waydroid，再於裡面跑Geekbench 6。\n最終得到這個成績，單核762，多核1567 Unixbench多核測試得出2529分。\n樹莓派5的處理器Broadcom BCM2712（4x Cortex-A76）跑分很接近Rockchip的頂級處理器RK3588（4x Cortex-A76 + 4x Cortex-A55）的性能了，差別在於樹莓派5沒有額外的4個小核心所以多工分數比較差。\n順便測試玩些Android的3D遊戲看看效能怎麼樣，樹莓派5確實有中低階Android手機的性能，3D繪圖相較於上一代樹莓派4也有進步。可以說樹莓派5性能接近2024年發表的三星Galaxy A15 5G手機吧。 Blue Archive\n測試完遊戲後就轉作伺服器用途了。\n為了穩定作為伺服器用途，我準備了硬碟外接盒，並使用Raspberry Pi內建的「SD Card Copier」程式將SD卡的系統轉移到硬碟。再於raspi-config裡面設定改用硬碟優先開機。\n參考Debian的Docker Engine安裝方式，安裝Docker。\n首先部署網頁控制界面Portainer，並安裝Immich相簿程式、Jellyfin媒體庫串流程式、Sonarr BT種子下載程式。\n實際測試在多個服務同時運作情況下樹莓派5也不會手忙腳亂，可以一邊串流解碼1080p影片一邊處理照片，可算是值得稱頌的成績了。 不過，樹莓派5的處理器製程是16nm，所以蠻容易發熱。樹莓派基金會官方表示開機後板子什麼都沒幹卻飆到60度是正常的，官網甚至做了加風扇的降溫測試，所以CPU高負載一定要用風扇去壓溫度。另外在CPU高負載情況下，樹莓派的吃電量最高會來到12W。\n雖然樹莓派影片解碼性能不錯，但可能是因為授權費的原因？樹莓派5不支援硬體「編碼」H.264和H.265影片，也沒有最新AV1編碼的支援。如果硬要轉檔就會耗費大量CPU運算，導致溫度進一步升高。\n未來後續的玩法更新，請見本站有關樹莓派的標籤。\n樹莓派官網也有很多豐富的參考資料。\n","date":"2024年4月2日","externalUrl":null,"permalink":"/posts/raspberry-pi-5-review/","section":"Unboxings","summary":" 1. 購買樹莓派5的理由 # 2021年在屏大的時候曾經跨系去修電通系的課，儘管教Linux的劉教授上課時不時提到樹莓派，說什麼能用這個給果園做秤重分類機，當作畢業專題什麼的，但是沒有，我沒有要做學校專題，出於個人研究興趣才買的樹莓派。\n在嘗試過「類開發板」的PinePhone、PineTab後，我決定買樹莓派作為新玩具。\n為什麼挑選這款開發板呢？為了更好的I/O連接能力。樹莓派的硬體擴充用途很多，它能夠跟許多東西合體，不論是要做迷你電腦、音箱、復古遊戲機、路由器、伺服器、機器人的主控都行。\n目前我比較感興趣的是樹莓派作為伺服器的用途，24小時不關機的低功耗伺服器呀。後面測試性能證實了樹莓派5的新處理器性能沒有讓我失望。\n等到未來會看三用電錶後再學習樹莓派IoT方面的玩法。\n還有個原因，我不想一邊使用系統一邊除錯了。購買Pine64產品的經驗讓我了解到這個事實，例如之前開箱過的PinePhone和PineTab 2，作業系統在產品上市的時候都沒準備好。（嚴格來說他們不是開發板啦，只是開發板做成的3C產品）\n參酌Hacker News鄉民的意見，雖然市場上的樹莓派競品，CP值比樹苺派好的多的是，未來還有RISC-V架構的開發板崛起，但是他們社區支援都沒有樹苺派要大。驅動程式什麼的一定是樹莓派支援最好，不會有廠商提供糟糕的驅動，只支援Android和特定版本的Linux，得自己解決的情況發生。比如PinePhone呢，在全世界開發者的合作下，三年才逆向出來了大部分硬體驅動。\n","title":"樹莓派Raspberry Pi 5開箱測試，小型低功耗伺服器入手","type":"unboxing"},{"content":"ws scrcpy是一款遠端控制Android手機的開源軟體，由NetrisTV開發。 背後使用了GenyMobile開發的Scrcpy技術，這款軟體透過WebAssembly，把Scrcpy搬到瀏覽器執行。\nWS scrcpy可以大大降低客戶端的需求，不需要安裝軟體，只要有瀏覽器就能跑。\n這樣的話能夠遠端控制Android雲手機並在瀏覽器玩遊戲了。\n1. 方案架構 # 參考建置開源雲手機\n首先需要一台帶有GPU的Linux伺服器，比如Ubuntu。\nAndroid系統部份，準備一台實體Android機，或是用Linux Android模擬器方案。只要Android裝置跟Linux伺服器位於同一個網段下面就行。\n將ws scrcpy部署到跟同一個網段或者同一部Linux伺服器上\n透過內網穿透軟體，從外部網路存取遠端Android系統畫面。\n鑑於ws scrcpy沒有任何加密機制，可能要另外搞個HTTPS認證。\n2. 安裝ws scrcpy # Docker # 這是非官方打包的映像檔，scavin/ws-scrcpy只支援x86架構，要ARM架構的請用haris132/ws-scrcpy。\n使用以下指令執行：\n# 如果要連接到另一個Android的Docker容器，記得使用--net=host參數 docker run --name ws-scrcpy -d -p 8000:8000 scavin/ws-scrcpy docker exec ws-scrcpy adb connect ADB的IP:5555 隨後用瀏覽器開啟https://伺服器IP:8000。\n手動安裝NodeJS套件 # 根據Gitub指示，下載NodeJS、nodejs-gyp、ADB sudo apt install nodejs adb npm install -g node-gyp 複製原始碼，安裝NPM依賴套件 git clone https://github.com/NetrisTV/ws-scrcpy.git cd ws-scrcpy npm install 開放防火牆 sudo ufw allow 8000 sudo ufw reload 執行ADB，跟Android裝置配對。 adb connect ADB的IP:5555 啟動ws scrcpy伺服器服務，隨後用瀏覽器開啟https://伺服器IP:8000 npm start 3. ws scrcpy操作 # 網頁界面可以看到目前連線的裝置 點選Configure stream調整連線設定，解碼器部份通常用Broadway.js就夠了。接著依照你的網速，設定解析度和FPS。完成後點選Save，再按Open。 控制的時候需要點選鍵盤圖示才可以使用本機鍵盤，否則一律都是觸控輸入。 如果需要旋轉螢幕，點選Rotate device。額不過ws scrcpy網頁排版寫的不太好，縮放常常出問題，要手動放大。 4. 評價 # ws scrcpy 介面設計不太好，畢竟Github專案頁面寫明這是prototype嘛\u0026hellip;\n手機瀏覽器操作不直覺，比較適合在電腦瀏覽器用，難道真是上班偷玩手機之用？\n且雲手機聲音不會傳過來，需要另外想辦法用PulseAudio串流到手機。\n如果堅持手機用Scrcpy遠端控制的話，閉源軟體「甲殼蟲ADB助手」和開源的scrcpy-mobile可能做的還比較好。\n","date":"2024年4月1日","externalUrl":null,"permalink":"/posts/ws-scrcpy/","section":"所有文章","summary":"ws scrcpy是一款遠端控制Android手機的開源軟體，由NetrisTV開發。 背後使用了GenyMobile開發的Scrcpy技術，這款軟體透過WebAssembly，把Scrcpy搬到瀏覽器執行。\nWS scrcpy可以大大降低客戶端的需求，不需要安裝軟體，只要有瀏覽器就能跑。\n這樣的話能夠遠端控制Android雲手機並在瀏覽器玩遊戲了。\n1. 方案架構 # 參考建置開源雲手機\n首先需要一台帶有GPU的Linux伺服器，比如Ubuntu。\nAndroid系統部份，準備一台實體Android機，或是用Linux Android模擬器方案。只要Android裝置跟Linux伺服器位於同一個網段下面就行。\n將ws scrcpy部署到跟同一個網段或者同一部Linux伺服器上\n透過內網穿透軟體，從外部網路存取遠端Android系統畫面。\n鑑於ws scrcpy沒有任何加密機制，可能要另外搞個HTTPS認證。\n2. 安裝ws scrcpy # Docker # 這是非官方打包的映像檔，scavin/ws-scrcpy只支援x86架構，要ARM架構的請用haris132/ws-scrcpy。\n使用以下指令執行：\n# 如果要連接到另一個Android的Docker容器，記得使用--net=host參數 docker run --name ws-scrcpy -d -p 8000:8000 scavin/ws-scrcpy docker exec ws-scrcpy adb connect ADB的IP:5555 隨後用瀏覽器開啟https://伺服器IP:8000。\n","title":"ws scrcpy網頁遠端控制Android手機，免裝軟體，達成類似雲手機的效果","type":"posts"},{"content":"架設/搭建雲手機 (Android in Cloud) 的意思就是在電腦上跑Android系統，並透過手機客戶端APP遠端連線操控。\n用性能比較強的主機負責跑遊戲，甚至掛機，本機只要串流畫面遊玩，這樣既省電又能滿足需求，算是商業版雲手機的主要賣點之一了，但其實雲手機完全是能用開源軟體架在自己電腦上的。\n這裡有一個實際示範影片： 在這篇文章，讓我們來看看Scrcpy的客戶端有哪些選擇，並示範如何用iPhone連線到自架的「Android雲手機」。 1. 自架雲手機的理由？ # 市面上的雲手機，多半是向一間公司購買運算資源的訂閱制服務，跟PC上的串流遊戲十分類似。主要是讓使用者方便掛機，或者使用較弱的終端遊玩需要高級硬體的手機遊戲。\n雲手機可不可以自架？當然可以，擺脫商業雲手機設下的種種使用規定。\n你說用TeamViewer再加上Bluestacks，不就可以遠端玩遊戲了嗎？是這樣沒錯，但是我想要類似市面上雲手機的操作模式又可以擺脫商業軟體，故尋求Bluestacks模擬器以外的替代方案。\n並且我不想讓雲手機只侷限在Windows系統上，我要讓Linux也可以架起雲手機。\n故我的方案以Linux為主，並善用Linux上的開源Android模擬器方案。此處的Linux指的是Ubuntu、Fedora、Arch Linux、openSUSE這種的，不包含ChromeOS。\n2. 準備硬體 # 手機：任一台iPhone或Android手機，網速不要太慢。\n電腦：Linux系統。\n電腦端的網路上傳速度至少要10MB/s以上。\n關於x86與ARM架構電腦的抉擇：雲手機就是要架在電腦伺服器上的，才可以永遠在線上。不考慮「把一支現有手機拔電池改造成雲手機」的土砲作法，焊電容太難了呀。先別想租伺服器，就用手上的零件開工吧。\nx86好處是易取得，現有電腦改裝就行。x86效能好，方便擴充硬體，多開遊戲方便。x86電腦加上獨顯效能秒殺市面上所有手機。但是x86主機很耗電，遇到ARM架構的APP也容易有相容性問題。若是x86架構的電腦，準備至少4核心CPU和8GB RAM給Android模擬器。\nARM好處耗能低，且與主流ARM架構的APK相容性佳，部份ARM電腦甚至可以直接跑起Android系統，而不用借助模擬器。但是ARM裝置效能多半較差，不可能多開。市面上一般人可以入手，又能裝Linux的ARM電腦最好就RK3588開發板了，處理器效能也頂多在Android中階手機的水準而已！因為性能因素就沒辦法多開了。\n買Apple Silicon電腦來架雲手機的也許可以喔？至於RISC-V架構的Android還在宇宙飄，再等等。\n3. Scrcpy簡介 # Scrcpy是由Genymobile開發，可以有線/無線投影Android手機螢幕到電腦上的開源軟體，主要用ADB進行通訊，畫面延遲低。\nScrcpy可以iOS手機遙控Android手機，也能遙控自架的雲手機。\n因為Android 11以上的開發人員選項加入「無線ADB」的功能，因此除了用電腦控制手機外，Scrcpy其實還可以：\n用iOS裝置遙控Android手機，或是Android遙控Android 用手機的Scrcpy連線到自架的「雲手機」 對Android模擬器使用Scrcpy 以上情況假定Scrcpy和被遙控的機器處於同一Wifi網路環境下，靠192.168的區域IP連線。如果要外出不同網路下還能遙控，最簡單的方式就是用ZeroTier或TailScale穿透內部網路，再用VPN連回自己家進入虛擬區網，就不需要去調數據機開通訊埠了。\n讓我們先看看Scrcpy電腦客戶端：\nScrcpy：最原始的版本，靠指令運作，可自由選擇編碼器和音訊。 QtScrcpy：以Scrcpy為基礎研發，提供圖形化介面和按鍵映射指令稿的功能。 WS Scrcpy：網頁運作的Scrcpy客戶端，部署到遠端伺服器後從手機瀏覽器登入就行，無需安裝客戶端。 Scrcpy手機客戶端：\nScrcpy for Android by zwc456baby：Android版Scrcpy APP。 Scrcpy Mobile by wsvn53：iOS版Scrcpy APP，價格1美金，也可以用側載的。 這樣全平台都有Scrcpy可用了。\n不過注意不是每個Scrcpy客戶端都有實作傳輸音訊的功能，如果非常需要開箱即用的音訊，那麼你還有以下遠端遊戲的選項：\nRustDesk手機控制手機 Sunshine遊戲串流，音訊可以傳過來。 4. 電腦架設Android雲手機的方案 # Linux的Android模擬器方案\n接著便要考慮雲手機的軟體了。Windows有很多Android模擬器，不過很多都是閉源又廣告多的商業軟體。\nLinux沒有這些東西，只有容器技術和虛擬機，參見Linux上的Android模擬器解決方案\n其中，Waydroid和ReDroid跨架構，可以部署到x86和ARM架構的伺服器。\nReDroid因為網路跟Docker在一起比較好處理，而Waydroid很難從外網存取。\nAndroid-x86虛擬機的方案只適用於x86架構的電腦。\n5. 架設虛擬區域網路 # 虛擬區域網路軟體讓控制端與被控制端組成虛擬內網。即使手機使用4G，也能夠連線到家中使用固網的電腦主機。\n這裡以ZeroTier為例，只要設定一次後面就很快了。唯一的問題是延遲，所以ZeroTier不適合玩需要即時反應的遊戲。\n到ZeroTier官網註冊帳號，接著在手機下載ZeroTier One的APP，電腦Android虛擬機也下載ZeroTier One客戶端。\n到ZeroTier的後台建立一個新網路\n把新網路的Network ID記下來 手機開啟ZeroTier APP，輸入Network ID，開始VPN連線。 在電腦端的Android開啟ZeroTier APP，輸入Network ID連線。 接著在Zerotier後台這邊會看到連線的裝置，勾選左邊的方框同意加入網路。 6. 連線到雲手機 # 只要裝置有開VPN連線到ZeroTier的網路，就可以看到該虛擬區域網路下的其他裝置。例如從上圖可以得知電腦虛擬機的區域IP是172.30.221.253。\n因此在手機上的Scrcpy客戶端輸入172.30.221.253，通訊埠填5555（Android的ADB通訊埠），連線到遠端Android。 Zerotier預設會使用9993 UDP通訊埠，電腦防火牆開放該通訊埠可改善延遲。若實在不行的話就自架Zerotier伺服器吧。\n如果你的Scrcpy不支援Sndcpy傳輸音效，得用PulseAudio傳送Linux音效到手機。\n7. 實際操作體驗 # 手機使用4G，電腦是家裡的固網，所以二者現處於不同網路環境下。\n調整Scrcpy的位元率和解析度可改善lag情況。\n連線後，Scrcpy支援多點觸控操作。iOS將APP放到後台可能會自己斷線，不過就算斷線了馬上連回去就行，因為Scrcpy能多個客戶端同時連線到Android系統。\n使用手機Scrcpy遠端玩《碧藍航線》約一小時後耗電量約10％。\n至於電腦的系統資源佔用歷史如下，戰鬥時才會飆高。 可以說電腦負責運算，鐵定耗電，ARM轉譯也吃記憶體，如果多開虛擬機掛機，也要考慮CPU效能負荷。\n8. 總結 # 這是給想搞雲手機的人一點思考方式。同樣，你大可不需大費周章架虛擬機，而是放一支備用Android手機在家裡，連線到ZeroTier，也是一個可行方案。\n","date":"2024年3月31日","externalUrl":null,"permalink":"/posts/scrcpy-app-remote-control-android-in-cloud/","section":"所有文章","summary":"架設/搭建雲手機 (Android in Cloud) 的意思就是在電腦上跑Android系統，並透過手機客戶端APP遠端連線操控。\n用性能比較強的主機負責跑遊戲，甚至掛機，本機只要串流畫面遊玩，這樣既省電又能滿足需求，算是商業版雲手機的主要賣點之一了，但其實雲手機完全是能用開源軟體架在自己電腦上的。\n這裡有一個實際示範影片： 在這篇文章，讓我們來看看Scrcpy的客戶端有哪些選擇，並示範如何用iPhone連線到自架的「Android雲手機」。 1. 自架雲手機的理由？ # 市面上的雲手機，多半是向一間公司購買運算資源的訂閱制服務，跟PC上的串流遊戲十分類似。主要是讓使用者方便掛機，或者使用較弱的終端遊玩需要高級硬體的手機遊戲。\n雲手機可不可以自架？當然可以，擺脫商業雲手機設下的種種使用規定。\n你說用TeamViewer再加上Bluestacks，不就可以遠端玩遊戲了嗎？是這樣沒錯，但是我想要類似市面上雲手機的操作模式又可以擺脫商業軟體，故尋求Bluestacks模擬器以外的替代方案。\n並且我不想讓雲手機只侷限在Windows系統上，我要讓Linux也可以架起雲手機。\n故我的方案以Linux為主，並善用Linux上的開源Android模擬器方案。此處的Linux指的是Ubuntu、Fedora、Arch Linux、openSUSE這種的，不包含ChromeOS。\n","title":"如何自架開源雲手機，用手機Scrcpy APP連線控制","type":"posts"},{"content":"想要把樹莓派變成Android遊戲機嗎？在你洗掉系統，準備安裝完整的Android系統之前，可以先試試Waydroid的解決方案。 Waydroid的作法是跑一個LXC容器，跟Linux主機共享核心，跑一個LineageOS系統，藉以執行Android APP。\nWaydroid內建Google Play商店，支援3D硬體加速。實測在樹莓派5玩時下熱門的手遊《蔚藍檔案》，開中等畫質完全沒問題。 實測影片：\n這樣你就可以同時跑Linux環境，又有Android APP輔助啦。不需要將系統完全替換成Android，亦可享受Android APP的便利。\n且由於樹莓派本就是ARM架構，不用像x86 Linux PC需要libhoudini轉譯器才能玩遊戲，亦不會有x86轉譯ARM出現的不相容情況。\n不過，Waydroid的取向比較像「遊戲模擬器」，適合執行文書程式和遊戲，雖然可以用滑鼠、鍵盤、手把操控，但無法存取樹莓派的相機和麥克風這類硬體裝置。如果你想要全功能的Android系統，請還是將樹莓派系統刷成LineageOS吧。（參見：樹莓派安裝LineageOS）\n1. 環境 # 建議使用樹莓派4以後的板子跑，太老的板子可能會很卡。\n硬體：樹莓派5，8GB版本，Raspberry Pi OS Bookworm\nWaydroid版本：LineageOS 18 Android 11\n你需要準備鍵盤和滑鼠，並將樹莓派連接到實體螢幕。Waydroid支援觸控，所以觸控螢幕也行。\n或者你可以用Sunshine遠端桌面的方式遊玩。\n2. 桌面環境與系統方面的調整 # Waydroid需要Wayland協定才可以跑。但Raspberry Pi OS的預設桌面環境LXDE-pi-wayfire不穩定，Waydroid畫面出不來，所以我改為安裝標準的GNOME桌面。 sudo apt install task-gnome-desktop sudo systemctl enable gdm 重開機，登入時點右下角齒輪切換為GNOME工作階段\n確認目前是Wayland工作階段\necho $XDG_SESSION_TYPE 這版的Raspberry Pi OS設計比較特殊，需要啟用4K PageSize才可以讓Waydroid跑起來。以下指令是將kernel=kernel8.img加入到/boot/firmware/config.txt echo \u0026#39;# 4k pages kernel=kernel8.img \u0026#39;| sudo tee -a /boot/firmware/config.txt 再啟用PSI sudo sed --follow-symlinks -i \u0026#39;s/quiet/psi=1 quiet/g\u0026#39; /boot/firmware/cmdline.txt 重開機，確認4K PageSize和PSI已經啟用 getconf PAGESIZE ls /proc/pressure 3. 安裝Waydroid # 執行官方指令稿安裝 sudo apt install curl ca-certificates -y curl https://repo.waydro.id | sudo bash sudo apt install waydroid 安裝後的Waydroid會更新Linux核心模組，請重開機。\n接著初始化系統，下載GAPPS版本的映像檔\nsudo waydroid init -s GAPPS -f 如果你有啟用UFW防火牆，記得允許通過 sudo ufw allow 53 sudo ufw allow 67 sudo ufw default allow FORWARD sudo ufw reload 啟動Waydroid sudo systemctl enable --now waydroid-container waydroid show-full-ui 初次啟動後請到系統設定把語言調成中文，並設定時區。\n回到Linux宿主機，執行以下指令，取得Waydroid的裝置ID\nsudo waydroid shell ANDROID_RUNTIME_ROOT=/apex/com.android.runtime ANDROID_DATA=/data ANDROID_TZDATA_ROOT=/apex/com.android.tzdata ANDROID_I18N_ROOT=/apex/com.android.i18n sqlite3 /data/data/com.google.android.gsf/databases/gservices.db \u0026#34;select * from main where name = \\\u0026#34;android_id\\\u0026#34;;\u0026#34; 到Google官網註冊尚未驗證的裝置，等30分鐘後才可以使用Play商店。\n有些遊戲可能會遇到無法讀取儲存空間的問題，請執行以下指令修正\nsudo waydroid shell chmod 777 -R /sdcard/Android chmod 777 -R /data/media/0/Android chmod 777 -R /sdcard/Android/data chmod 777 -R /data/media/0/Android/obb chmod 777 -R /mnt/*/*/*/*/Android/data chmod 777 -R /mnt/*/*/*/*/Android/obb 其餘Waydroid技巧請參閱Waydroid使用技巧。 參考資料 # BUG Can\u0026rsquo;t run on Raspberry Pi OS (Bookworm) #1171· waydroid Not enough space · Issue #822 · waydroid ","date":"2024年3月31日","externalUrl":null,"permalink":"/posts/raspberry-pi-waydroid/","section":"所有文章","summary":"想要把樹莓派變成Android遊戲機嗎？在你洗掉系統，準備安裝完整的Android系統之前，可以先試試Waydroid的解決方案。 Waydroid的作法是跑一個LXC容器，跟Linux主機共享核心，跑一個LineageOS系統，藉以執行Android APP。\nWaydroid內建Google Play商店，支援3D硬體加速。實測在樹莓派5玩時下熱門的手遊《蔚藍檔案》，開中等畫質完全沒問題。 實測影片：\n這樣你就可以同時跑Linux環境，又有Android APP輔助啦。不需要將系統完全替換成Android，亦可享受Android APP的便利。\n且由於樹莓派本就是ARM架構，不用像x86 Linux PC需要libhoudini轉譯器才能玩遊戲，亦不會有x86轉譯ARM出現的不相容情況。\n不過，Waydroid的取向比較像「遊戲模擬器」，適合執行文書程式和遊戲，雖然可以用滑鼠、鍵盤、手把操控，但無法存取樹莓派的相機和麥克風這類硬體裝置。如果你想要全功能的Android系統，請還是將樹莓派系統刷成LineageOS吧。（參見：樹莓派安裝LineageOS）\n1. 環境 # 建議使用樹莓派4以後的板子跑，太老的板子可能會很卡。\n","title":"樹莓派同時裝Linux與Android APP ～ Waydroid安裝教學","type":"posts"},{"content":"請參考：Linux開源免費的遠端桌面列表\n本文Ivon介紹如何設定Wayland專用的VNC伺服器，從電腦連線到遠端Linux桌面。\n如果Linux桌面環境顯示協定使用Wayland，傳統的VNC伺服器就行不通了，因其依賴X11環境，此時要改用「WayVNC」這個新技術。\nWayVNC是針對Wayland協定實作的VNC伺服器，支援使用wlroots寫成的Wayland合成器，例如Sway、Wayfire、river、Hyprland、Phosh、SXMO。\nWayVNC不支援GNOME、KDE Plasma、XFCE、LXQT等桌面環境。\n有什麼裝置會使用wlroots的合成器當桌面環境呢？這裡有個值得一提的例子，樹莓派的Raspbrry Pi OS在2023年升級到Bookworm後，便改採Wayland合成器「Wayfire」作為預設桌面環境。所以想延續VNC的使用模式的話，除了用raspi-config指令改回X11環境之外，就得用WayVNC了。\n1. 環境 # 電腦：Ubuntu 22.04 樹莓派5：Raspberry Pi OS 12 Bookworm，桌面環境Wayfire。沒有連接到實體螢幕。 2. 安裝WayVNC # WayVNC由any1開發，原始碼和說明文件位於Github，多個Linux發行版都有收套件。\n用SSH登入樹莓派，從套件庫安裝WayVNC： sudo apt install wayvnc Raspberry Pi OS 12可以執行sudo raspi-config，在Interface Options → VNC選項開啟內建的WayVNC服務。\n這裡我採用手動設定的方式。\n為了方便日後啟動，我將WayVNC服務寫成一個指令稿 cd ~ touch startvnc.sh 編輯指令稿 vim startvnc.sh 首先，如果樹莓派沒有連線到到實體螢幕，那就是以headless模式執行（注意：樹莓派上的WayFire其實是有啟動的，只不過是沒有接上螢幕輸出畫面而已）。執行WayVNC前要先設定環境變數 export WLR_BACKENDS=headless export WLR_LIBINPUT_NO_DEVICES=1 export WAYLAND_DISPLAY=wayland-1 Raspberry Pi OS的Wayfire就算沒有螢幕也會在開機後自動執行，故沒有必要在指令稿啟動Wayfire。 不過若是安裝其他桌面環境的話，得確保預設的顯示管理器為LightDM，這樣Wayfire才會自動啟動。（自動登入桌面環境的具體選項定義在/etc/lightdm/lightdm.conf）\nsudo systemctl enable lightdm 接著是啟動WayVNC的指令。0.0.0.0代表將允許任意IP連線進來，5901為通訊埠。 wayvnc 0.0.0.0 5901 \u0026amp; # 如果要看錯誤訊息，加上`-v`選項。 儲存指令稿。\n如果有裝防火牆，開放通訊埠\nsudo ufw allow 5901 sudo ufw reload 3. 啟用傳輸加密 # 如果你只是在自家區域網路測試，用不著開加密。\nVNC預設是明碼傳輸的，可以被任意攔截，且WayVNC不能只透過密碼驗證，還得自行建立憑證。\n你可以使用VeNCrypt或RSA-AES加密，甚至是透過SSH Forwarding建立加密通道。\n這裡使用RSA-AES，使用以下指令生成金鑰，並儲存到~/.config/wayvnc/ mkdir ~/.config/wayvnc/config ssh-keygen -m pem -f ~/.config/wayvnc/rsa_key.pem -t rsa -N \u0026#34;\u0026#34; 編輯WayVNC的設定檔 vim ~/.config/wayvnc/config 設定帳號名稱和連線密碼 use_relative_paths=true address=0.0.0.0 enable_auth=true username=user password=password rsa_private_key_file=rsa_key.pem 4. 從電腦端連線到WayVNC # 安裝一個VNC客戶端，因為Remmina不支援RSA，所以我選擇TigerVNC Viewer。 sudo apt install tigervnc-viewer 執行遠端裝置上的指令稿，啟動WayVNC chmod +x startvnc.sh bash ./startvnc.sh 開啟TigerVNC Viewer，協定選取VNC，輸入遠端裝置的IP:5901即可連線。 終止WayVNC的指令：\nsudo killall wayvnc ","date":"2024年3月30日","externalUrl":null,"permalink":"/posts/linux-wayvnc/","section":"所有文章","summary":"請參考：Linux開源免費的遠端桌面列表\n本文Ivon介紹如何設定Wayland專用的VNC伺服器，從電腦連線到遠端Linux桌面。\n如果Linux桌面環境顯示協定使用Wayland，傳統的VNC伺服器就行不通了，因其依賴X11環境，此時要改用「WayVNC」這個新技術。\nWayVNC是針對Wayland協定實作的VNC伺服器，支援使用wlroots寫成的Wayland合成器，例如Sway、Wayfire、river、Hyprland、Phosh、SXMO。\nWayVNC不支援GNOME、KDE Plasma、XFCE、LXQT等桌面環境。\n有什麼裝置會使用wlroots的合成器當桌面環境呢？這裡有個值得一提的例子，樹莓派的Raspbrry Pi OS在2023年升級到Bookworm後，便改採Wayland合成器「Wayfire」作為預設桌面環境。所以想延續VNC的使用模式的話，除了用raspi-config指令改回X11環境之外，就得用WayVNC了。\n1. 環境 # 電腦：Ubuntu 22.04 樹莓派5：Raspberry Pi OS 12 Bookworm，桌面環境Wayfire。沒有連接到實體螢幕。 2. 安裝WayVNC # WayVNC由any1開發，原始碼和說明文件位於Github，多個Linux發行版都有收套件。\n","title":"WayVNC使用教學，支援Linux Wayland協定的VNC遠端桌面","type":"posts"},{"content":"介紹如何使用圖形工具「RPI Imager」，將作業系統安裝到樹莓派。 適用的開發板：樹莓派1、樹莓派Zero、樹莓派2、樹莓派3、樹莓派4、樹莓派5\n樹莓派的電路板沒有任何儲存裝置，因此得將系統刷寫到SD卡，用SD卡開機。\n樹莓派的作業系統通常是一個映像檔(image)，只要把檔案刷寫到SD卡就完成系統安裝了。\n建議準備32GB以上容量的SD卡，挑大一點的廠牌比較有保障。\n1. 樹莓派的作業系統要選哪個？ # 由於下面我們會使用RPI Imager工具，不用手動下載系統安裝檔。\n首選當然是官方維護的「Raspberry Pi OS」，基於Debian開發，功能都優化好了。 如果要做其他用途，比較熱門的樹莓派系統還有下面這些，安裝方法大同小異。\nUbuntu ARM：跟x86電腦版一樣的系統，開箱即用。 Fedora ARM：跟x86電腦版一樣的系統，開箱即用。 Arch Linux ARM：需要自行動手設定系統的發行版。注意Arch Linux官方只支援x86架構，ARM架構是由另一批開發者維護的。 Armbian：混合Debian與Ubuntu的發行版，可隨意自訂系統映像檔內容。 RetroPie：將樹莓派變成復古遊戲機。 OpenMediaVault：專為執行NAS服務所設計的發行版。 LibreELC：專為Kodi多媒體串流設計的發行版。 Home Assistant：將樹莓派變為智慧家庭控制系統。 OpenWrt：將樹莓派變身為路由器的系統，系統體積很小。 LineageOS：專為樹莓派移植的Android系統，另提供Android TV版本的映像檔。 Windows 11 ARM：非官方的移植專案，將Windows 11 ARM修改成能在樹莓派上執行，十分吃效能。 2. 使用官方安裝器RPI Imager刷寫SD卡 # RPI Imager是樹莓派官方維護的圖形安裝器，讓你免於使用dd指令刷寫映像檔之苦。它還可以在安裝系統的時候修改系統設定。\nRPI Imager官網提供Linux、macOS、Windows版。\nUbuntu用指令安裝： sudo apt install rpi-imager 將SD卡插到電腦\n開啟RPI Imager，點選Choose Device，選取Raspberry Pi 5\n再選擇要寫入的作業系統，選擇Raspberry Pi OS (64-bit)\n儲存卡選取SD卡（或讀卡機）\n最後畫面應該是這樣 點選Next，點選編輯配置。這裡建議先設定帳號名稱、Wifi密碼、時區。（雖然它會自動帶入你電腦使用的Wifi密碼，不過要手動確認密碼是否正確） 並啟用SSH登入。密碼就是你的帳號密碼。 再點選Next，開始下載系統映像黨，並刷寫系統。\n安裝後的SD卡會變成兩個分區bootfs和rootfs，裡面的檔案都可以在電腦端直接掛載讀寫。\n","date":"2024年3月30日","externalUrl":null,"permalink":"/posts/raspberry-pi-os-installation/","section":"所有文章","summary":"介紹如何使用圖形工具「RPI Imager」，將作業系統安裝到樹莓派。 適用的開發板：樹莓派1、樹莓派Zero、樹莓派2、樹莓派3、樹莓派4、樹莓派5\n樹莓派的電路板沒有任何儲存裝置，因此得將系統刷寫到SD卡，用SD卡開機。\n樹莓派的作業系統通常是一個映像檔(image)，只要把檔案刷寫到SD卡就完成系統安裝了。\n建議準備32GB以上容量的SD卡，挑大一點的廠牌比較有保障。\n1. 樹莓派的作業系統要選哪個？ # 由於下面我們會使用RPI Imager工具，不用手動下載系統安裝檔。\n首選當然是官方維護的「Raspberry Pi OS」，基於Debian開發，功能都優化好了。 如果要做其他用途，比較熱門的樹莓派系統還有下面這些，安裝方法大同小異。\nUbuntu ARM：跟x86電腦版一樣的系統，開箱即用。 Fedora ARM：跟x86電腦版一樣的系統，開箱即用。 Arch Linux ARM：需要自行動手設定系統的發行版。注意Arch Linux官方只支援x86架構，ARM架構是由另一批開發者維護的。 Armbian：混合Debian與Ubuntu的發行版，可隨意自訂系統映像檔內容。 RetroPie：將樹莓派變成復古遊戲機。 OpenMediaVault：專為執行NAS服務所設計的發行版。 LibreELC：專為Kodi多媒體串流設計的發行版。 Home Assistant：將樹莓派變為智慧家庭控制系統。 OpenWrt：將樹莓派變身為路由器的系統，系統體積很小。 LineageOS：專為樹莓派移植的Android系統，另提供Android TV版本的映像檔。 Windows 11 ARM：非官方的移植專案，將Windows 11 ARM修改成能在樹莓派上執行，十分吃效能。 2. 使用官方安裝器RPI Imager刷寫SD卡 # RPI Imager是樹莓派官方維護的圖形安裝器，讓你免於使用dd指令刷寫映像檔之苦。它還可以在安裝系統的時候修改系統設定。\n","title":"樹莓派使用RPI Imager安裝作業系統的方法","type":"posts"},{"content":"如果沒有RJ45網路線，也沒有UART線，要如何遠端登入Raspberry Pi？\n我們可以利用Raspberry Pi OS的「USB Linux Gadget」功能，將樹莓派用USB傳輸線插到電腦，透過RNDIS協定連線登入SSH，而非透過Wifi連線。 注意USB連線應該只視為應急作法，因為樹莓派4以後的型號吃電較兇，USB供電容易不穩，樹莓派負載一升高就會自動關機。因此可以的話直接用Wifi連線登入SSH還是比較好。\n1. 準備項目 # Linux電腦，我使用Ubuntu LTS Raspberry Pi 5，安裝Raspberry Pi OS Bookworm Type-C to USB A傳輸線x1 由於樹莓派5最低開機電流為600mAh，所以電腦端必須準備USB 3.0的埠，才能供給足夠的電流，讓樹莓派開機。\n2. 調整樹莓派系統 # 利用RPI Imager安裝Raspberry Pi OS，設定Wifi連線密碼。\n將SD卡拔出，插到電腦讀卡機。如果桌面環境沒有掛載，就手動掛載SD卡分區\nlsblk mount /dev/mmcblk0p1 /mnt/bootfs mount /dev/mmcblk0p2 /mnt/rootfs 開啟bootfs分區下的/firmware/config.txt 在檔案底部加入dtoverlay\ndtoverlay=dwc2 並註解掉otg_mode # otg_mode=1 編輯/firmware/cmdline.txt，在rootwait後面開機載入dwc2核心模組的參數，啟用RNDIS modules-load=dwc2,g_ether 接著要確認主機名稱，開啟rootfs分區的/etc/hostname檔案確認主機名稱為何。如果是透過RPI Imager安裝，預設應該為raspberry.local\n退出SD卡。\nsudo umount /mnt/bootfs sudo umount /mnt/rootfs 3. 連線到樹莓派 # 將SD卡插回樹莓派\n將樹莓派插到電腦，應會自動開機\n等到亮黃燈的時候，在電腦端執行lsusb指令，應該會看到一個RNDIS裝置出現\nBus 001 Device 016: ID 0525:a4a2 Netchip Technology, Inc. Linux-USB Ethernet/RNDIS Gadget 執行ip addr會看到出現樹莓派的網路卡 14: enp0s20f0u3: \u0026lt;NO-CARRIER,BROADCAST,MULTICAST,UP\u0026gt; mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 有的桌面環境會一直嘗試連線到樹莓派網路，請手動將其停止。\n安裝Avahi套件，並啟用服務\nsudo apt-get install avahi-daemon sudo systemctl enable --now avahi-daemon 手動用Avahi分配IP sudo avahi-autoipd -D enp0s20f0u3 再讓Avahi依照樹莓派主機名稱解析DNS avahi-resolve -n raspberrypi.local 按照分配到的IP登入樹莓派 ssh user@192.168.0.100 參考資料 # How to Connect a Raspberry Pi to a PC or Laptop Using USB SOLVED Trying to SSH into rpi0 over USB on Arch Linux - Arhc Linux Forums USB Internet. You can enable Internet through the USB cable when WiFi doesn\u0026rsquo;t work yet on your device. - postmarketOS Wiki ","date":"2024年3月30日","externalUrl":null,"permalink":"/posts/connect-raspberry-pi-to-pc-usb/","section":"所有文章","summary":"如果沒有RJ45網路線，也沒有UART線，要如何遠端登入Raspberry Pi？\n我們可以利用Raspberry Pi OS的「USB Linux Gadget」功能，將樹莓派用USB傳輸線插到電腦，透過RNDIS協定連線登入SSH，而非透過Wifi連線。 注意USB連線應該只視為應急作法，因為樹莓派4以後的型號吃電較兇，USB供電容易不穩，樹莓派負載一升高就會自動關機。因此可以的話直接用Wifi連線登入SSH還是比較好。\n1. 準備項目 # Linux電腦，我使用Ubuntu LTS Raspberry Pi 5，安裝Raspberry Pi OS Bookworm Type-C to USB A傳輸線x1 由於樹莓派5最低開機電流為600mAh，所以電腦端必須準備USB 3.0的埠，才能供給足夠的電流，讓樹莓派開機。\n2. 調整樹莓派系統 # 利用RPI Imager安裝Raspberry Pi OS，設定Wifi連線密碼。\n將SD卡拔出，插到電腦讀卡機。如果桌面環境沒有掛載，就手動掛載SD卡分區\nlsblk mount /dev/mmcblk0p1 /mnt/bootfs mount /dev/mmcblk0p2 /mnt/rootfs 開啟bootfs分區下的/firmware/config.txt 在檔案底部加入dtoverlay\ndtoverlay=dwc2 並註解掉otg_mode # otg_mode=1 編輯/firmware/cmdline.txt，在rootwait後面開機載入dwc2核心模組的參數，啟用RNDIS modules-load=dwc2,g_ether 接著要確認主機名稱，開啟rootfs分區的/etc/hostname檔案確認主機名稱為何。如果是透過RPI Imager安裝，預設應該為raspberry.local\n","title":"透過USB傳輸線，從Linux電腦走RNDIS協定登入樹莓派系統","type":"posts"},{"content":"Rendering Hugo HTML webpages from json data.\n你有一份csv結構化儲存的資料，想要做成表格展示在網頁上嗎？\n想要使用單個json檔案，生成多篇文章嗎？\n想要用程式化的方法，從yaml檔案生成多個頁面嗎？\n想要製作key-value為主的網頁字串翻譯方式嗎？\n那麼你可以使用Hugo的「Data功能！它可以讀取Hugo網站下的文字檔案，讀取內容並按照你的意思渲染網頁。\n資料檔格式可以是json、yaml、toml或csv，我用json舉例。\n1. Hugo的Data儲存位置 # 參考Data templates - Hugo\n關於資料檔儲存的位置，因為函數路徑的限制，所以只能放在網站根目錄下的data目錄。\nPage Bundle的方式有點複雜。\n例如我在網頁根目錄的data/放一個mydata.json，他的引用路徑就會變成site.Data.mydata\n如果有多層目錄，就將其轉換成點，例如data/posts/mydata.json會變成site.Data.posts.mydata\ndata.json檔案內容是這樣的。我希望將其渲染成HTML表格。\n//竇唯的歷年專輯，注意Hugo渲染json不允許註解 [ { \u0026#34;name\u0026#34; : \u0026#34;黑夢\u0026#34;, \u0026#34;year\u0026#34;: 1994, \u0026#34;label\u0026#34;: \u0026#34;魔岩唱片\u0026#34; }, { \u0026#34;name\u0026#34; : \u0026#34;豔陽天\u0026#34;, \u0026#34;year\u0026#34;: 1995, \u0026#34;label\u0026#34;: \u0026#34;魔岩唱片\u0026#34; }, { \u0026#34;name\u0026#34; : \u0026#34;山河水\u0026#34;, \u0026#34;year\u0026#34;: 1998, \u0026#34;label\u0026#34;: \u0026#34;魔岩唱片\u0026#34; } ] 如果你不喜歡Hugo的i18n網頁處理模式的話，你還可以準備一個mydatatranslation.json檔案，用於翻譯網頁字串：\n{ \u0026#34;name\u0026#34; : \u0026#34;唱片名稱\u0026#34;, \u0026#34;year\u0026#34;: \u0026#34;年份\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;唱片廠牌\u0026#34; } 2. 撰寫讀取資料檔的shortcode # 讀取json不論是partial還是shorcode都能做到。\npartial是內嵌在主題裡面的，跟著全域網頁一起跑，例如我之前做過的Hugo天干地支紀年法\nshortcode則是能在文章markdown隨時引用，那麼我這裡就用shortcode程式吧。\n在網站根目錄layouts/shortcodes/新增一個檔案addtable.html\n填入以下內容。我允許使用者在引用Shortcode時候傳變數進來，再按照引數內容變化。\n{{ $targetfile := index .Params 0 }} \u0026lt;!--讀取Shortcode傳入的變數1，指定給targetfile，再將完整檔案路徑指定給變數inputfile--\u0026gt; {{ $inputlist := index site.Data $targetfile }} \u0026lt;!--讀取Shortcode傳入的變數2，指定給showdescription--\u0026gt; {{ $showlabel := index .Params 1 }} \u0026lt;!--讀取翻譯檔案--\u0026gt; {{ $translation := index site.Data.mydatatranslation }} \u0026lt;!--If判斷式--\u0026gt; {{ if eq $showlabel \u0026#34;showlabel\u0026#34; }} \u0026lt;!--表格--\u0026gt; \u0026lt;table\u0026gt; \u0026lt;thead\u0026gt; \u0026lt;tr\u0026gt; \u0026lt;!--表格頂層，讀取mytranslationlist的鍵值，填入翻譯--\u0026gt; {{ with $translation }} \u0026lt;th\u0026gt; index .name \u0026lt;/th\u0026gt; \u0026lt;th\u0026gt; index .year \u0026lt;/th\u0026gt; \u0026lt;th\u0026gt; index. label \u0026lt;/th\u0026gt; \u0026lt;/tr\u0026gt; {{ end }} \u0026lt;/thead\u0026gt; \u0026lt;tbody\u0026gt; \u0026lt;!--因為表格最外層是陣列，要用range走訪--\u0026gt; {{ range $inputfile }} \u0026lt;tr\u0026gt; \u0026lt;!--如果要讀取的鍵值有空格，就用這個方法讀取--\u0026gt; \u0026lt;td\u0026gt;{{ index . \u0026#34;name\u0026#34; }}\u0026lt;/td\u0026gt; \u0026lt;td\u0026gt;{{ index .year }}\u0026lt;/td\u0026gt; \u0026lt;td\u0026gt;{{ index .label }}\u0026lt;/td\u0026gt; \u0026lt;/tr\u0026gt; {{ end }} \u0026lt;/tbody\u0026gt; \u0026lt;/table\u0026gt; {{ else }} \u0026lt;table\u0026gt; \u0026lt;thead\u0026gt; \u0026lt;tr\u0026gt; \u0026lt;th\u0026gt; 名稱 \u0026lt;/th\u0026gt; \u0026lt;th\u0026gt; 年份 \u0026lt;/th\u0026gt; \u0026lt;/tr\u0026gt; \u0026lt;/thead\u0026gt; \u0026lt;tbody\u0026gt; {{ range $inputfile }} \u0026lt;tr\u0026gt; \u0026lt;td\u0026gt;{{ index . \u0026#34;name\u0026#34; }}\u0026lt;/td\u0026gt; \u0026lt;td\u0026gt;{{ .year }}\u0026lt;/td\u0026gt; \u0026lt;/tr\u0026gt; {{ end }} \u0026lt;/tbody\u0026gt; \u0026lt;/table\u0026gt; {{ end }} 目前我不知道怎麼讀取巢狀陣列:P\n所以第一層以下的json都是物件式的鍵值。\n3. 在文章中引用shortcode # makrdown中引用的shorcode要這樣寫，引用addtabel.html，並傳入二個參數。\n{{\u0026lt; addtable \u0026#34;mydata\u0026#34; \u0026#34;showdescription\u0026#34; . \u0026gt;}} 參考資料 # Accessing data source from shortcode - Hugo support Data Shortcode for Hugo | Yury Zhauniarovich Passing data to templates and tables in Hugo - Harry Cresswell Loops in Hugo - Mert Bakır - GitLab ","date":"2024年3月29日","externalUrl":null,"permalink":"/posts/hugo-render-html-from-data/","section":"所有文章","summary":"Rendering Hugo HTML webpages from json data.\n你有一份csv結構化儲存的資料，想要做成表格展示在網頁上嗎？\n想要使用單個json檔案，生成多篇文章嗎？\n想要用程式化的方法，從yaml檔案生成多個頁面嗎？\n想要製作key-value為主的網頁字串翻譯方式嗎？\n那麼你可以使用Hugo的「Data功能！它可以讀取Hugo網站下的文字檔案，讀取內容並按照你的意思渲染網頁。\n資料檔格式可以是json、yaml、toml或csv，我用json舉例。\n1. Hugo的Data儲存位置 # 參考Data templates - Hugo\n關於資料檔儲存的位置，因為函數路徑的限制，所以只能放在網站根目錄下的data目錄。\nPage Bundle的方式有點複雜。\n例如我在網頁根目錄的data/放一個mydata.json，他的引用路徑就會變成site.Data.mydata\n如果有多層目錄，就將其轉換成點，例如data/posts/mydata.json會變成site.Data.posts.mydata\ndata.json檔案內容是這樣的。我希望將其渲染成HTML表格。\n//竇唯的歷年專輯，注意Hugo渲染json不允許註解 [ { \"name\" : \"黑夢\", \"year\": 1994, \"label\": \"魔岩唱片\" }, { \"name\" : \"豔陽天\", \"year\": 1995, \"label\": \"魔岩唱片\" }, { \"name\" : \"山河水\", \"year\": 1998, \"label\": \"魔岩唱片\" } ] 如果你不喜歡Hugo的i18n網頁處理模式的話，你還可以準備一個mydatatranslation.json檔案，用於翻譯網頁字串：\n","title":"Hugo如何從json檔讀取資料並渲染HTML網頁","type":"posts"},{"content":" 透過內部突起攻擊整根雞雞的狂野飛機杯，不是惡魔，是狼牙棒。\n日本Ride Japan 悪魔快楽カオスターンハード\n台灣譯名：惡魔快樂 硬版\n最初發表的是軟版，後來出了硬版。\n封面盒子畫了一隻穿著時尚的小惡魔，軟版的頭髮是黑粉色，硬版則是變黑紅色。說到這個黑粉頭髮配色好像在哪裡看過\u0026hellip;額，為什麼會想到高雄市某區域立委呢。 外觀霧面設計，看不太到裡面的樣子 從洞口往內看的紋路似乎很緊，不過其實是突起物在佔空間，通道設計上不緊，如果夠屌的話頂進去是能輕易撐開的。 這有什麼差呢？如果她的通道本身非常緊，又加上這麼多的瘋狂突起刮搔，那肯定會升天（因人而異，或許你會覺得很痛也不一定）\n官方發表的剖面圖通道雖然看起來像S形，但其實比較像一直線，然後壁上有突起物所構成的通道。 而惡魔快樂的設計有放水通道的寬鬆，讓尺寸不大的用戶頂進去不至於被夾個半死，而是可以享受被四面八方衝擊的快感。\n插入的感覺就像這樣 極彩色 彩社長 Beweise der Liebe\n主觀來說就像是撞擊著一個刺激的穴吧，從龜頭到陰莖根部都被突起物攻擊著。\n從四面八方的刺激，不是用夾吸的，而是在抽插的過程中被突起物不斷刮搔著雞雞。用的時候旋轉則根本是無法預設下一次刺激從何而來。\n用完後把她翻開來看，四面八方的突起，看起來真的很像狼牙棒，或者說，入珠過的大雞雞 實際體驗因人而異，有人不喜歡TPE材質就會覺得撞起來很痛，如果可以承受的話就用這個鍛鍊耐力吧。\n","date":"2024年3月28日","externalUrl":null,"permalink":"/posts/ride-japan-devil-kairaku-chaos-turn-hard-review/","section":"Nsfws","summary":" 透過內部突起攻擊整根雞雞的狂野飛機杯，不是惡魔，是狼牙棒。\n日本Ride Japan 悪魔快楽カオスターンハード\n台灣譯名：惡魔快樂 硬版\n最初發表的是軟版，後來出了硬版。\n封面盒子畫了一隻穿著時尚的小惡魔，軟版的頭髮是黑粉色，硬版則是變黑紅色。說到這個黑粉頭髮配色好像在哪裡看過…額，為什麼會想到高雄市某區域立委呢。 外觀霧面設計，看不太到裡面的樣子 從洞口往內看的紋路似乎很緊，不過其實是突起物在佔空間，通道設計上不緊，如果夠屌的話頂進去是能輕易撐開的。 這有什麼差呢？如果她的通道本身非常緊，又加上這麼多的瘋狂突起刮搔，那肯定會升天（因人而異，或許你會覺得很痛也不一定）\n官方發表的剖面圖通道雖然看起來像S形，但其實比較像一直線，然後壁上有突起物所構成的通道。 ","title":"Ride Japan 惡魔快樂 硬版 評價","type":"nsfw"},{"content":"HandBrake為一款開源免費的影片轉檔軟體，支援Linux、Windows、macOS系統。 它的功能類似格式工廠、小丸工具箱，不同之處在於它是開放原始碼的軟體，並有時常在更新以支援最新影片格式。\nHandBrake特色功能如下：\n使用FFmpeg當後端，支援處理大多數影片格式 內建多個設定檔，可針對特定用途快速輸出影片，不用調一堆參數 支援轉檔成mp4、mkv、webm、mov、avi等常見影片格式 支援調整影片解析度、加上濾鏡、自訂視訊位元率、自訂音訊品質、壓縮影片大小 支援批次處理多部影片 可將ass、srt、ssa字幕加到影片，將其做成字幕軌或者直接內嵌。亦能夠讀取影片內的字幕軌加以修改 支援最新H.264、H.265、VP9、AV1編碼 支援GPU加速硬體轉碼（NVENC、QSV、Apple Video Toolbox） 支援處理DVD與BD藍光影片 但請注意：\nHandBrake無法將音訊軌新增到影片，也無法合併影片，要這樣做請用Kdenlive或ShutterEncoder。其實我個人認為，Kdenlive的強大剪輯加上轉檔功能就夠取代HandBrake了。 HandBrake無法影片轉音訊，請改用Audacity。 HandBrake只能合併做好的字幕檔，若要製作字幕請用Aegisub。 HandBrake不支援版權保護的BD藍光片，要破解BD用MakeMKV。 HandBrake只支援影片，不支援純音訊轉檔，請改用fre:ac 欲查看影片詳細屬性的請用Mediainfo 1. 安裝HandBrake # HandBrake官網提供Linux、Windows、macOS版安裝檔。\nLinux可以用Flatpak安裝：\nflatpak install flathub fr.handbrake.ghb 如果你想在Linux使用Nvidia GPU加速轉碼，請記得安裝Nvidia閉源驅動。\n有關HandBrake的原始碼、bug回報、功能建議請到Github儲存庫查看。\n2. HandBrake使用方式 # 官方文件有全部功能的參數解說。\n轉檔影片講起來會很複雜，我就直接講實際用途。\n使用例1：壓縮影片 # 儘可能壓縮影片大小又不損失太多畫質。比如將600MB的MP4影片壓縮成24MB。 如果Youtube的1080p畫質你可以接受的話，那麼我們就參考Youtube上傳建議格式來壓縮影片。\n點選HandBrake左上角「打開來源」，選取影片 預設檔選取General → Very Fast 1080p30。請自行按照你原始影片的解析度做選擇，現在影片常見的畫質為1080p，如果要更小可以選720p30。 勾選「針對網頁影片最佳化」 點選影片，設定影格率為「VFR」，並將位元率設定為2000kbps（位元率決定畫面品質，參考Youtube的標準：1080p建議為8000kbps；720p建議為5000kbps，這裡我們為了讓影片最小化故選擇2000kbps）。並將影片編碼器設定為H.265。 你可以點一下右上角的「預覽」，在彈出的視窗點一下播放鍵，HandBrake就會即時渲染一小段讓你看看結果。 點選選單下方「另存為」選擇輸出位置。再點選上方「開始」，開始轉檔。\n如果轉檔後影片比原始的大呢？\n很可能原始影片已經壓縮過了，壓縮效果不好。例如你手上20分鐘的1080p影片大小為400MB，再壓縮下去就不好看了。\n如果轉檔大小還是很大，請使用Mediainfo開啟原始影片檔，對照原始影片位元率(bitrate)，再對照HandBrake影片欄位的位元率設定，看是否比原本的還大。把位元率調整到5000kbps以下。 在HandBrake的Dimension部份，將Automatic取消勾選，並確認輸出解析度是否比你原本影片的還要大（例如輸入影片720p，那麼輸出應該就只有1280x720。如果你填更低的數字，HandBrake會自動幫你降低解析度） 影片編碼器部份，可以從H.264改為H.265或AV1，讓檔案更小。\n使用例2：嵌入字幕軌 # 你可以此製作可開關的字幕軌（VLC播放器支援開關字幕），或者直接將字幕與影片合而為一。\n點選打開來源，開啟影片 含字幕軌影片建議使用MKV格式 切換到「字幕」選項，點選「新增」 設定字幕語言為中文，再選取字幕檔案。 如果勾選「Burn into Video」的話，HandBrake會自動讀取系統對應的字體，將字幕跟影片合在一起，但這就無法關閉了。\n開始輸出。\n使用例3：批次轉檔舊影片收藏 # 你有好多陳年舊影片，檔案巨大，想要轉檔瘦身一下。\n我個人會使用NVENC（需要Nvidia顯示卡）加速轉檔，並用H.265或AV1編碼來儲存影片。\n開啟影片檔案\n預設檔選取H.265 NVENC 1080p 點選「新增至佇列」\n選取好後點選右上角「佇列」開始轉檔。\n3. 預設檔是什麼？ # 如果你只是想快速轉碼，不想調整一堆有的沒的參數，就使用預設檔(Profiles)吧。 上面我們用了許多預設檔，這裡詳細解說他們的用處。\nGeneral：常用的畫質組合，預設使用VFR動態位元率，畫質較差，轉檔時間短。\nWeb：專為社群媒體（Youtube、Facebook）設計的格式，會儘量把影片壓小。建議手動啟用H.265編碼。\nDevices：專為特定播放裝置設計的格式，例如Playstation、iPod、Chromecast，有些裝置不見得支援所有編碼器，這裡的設定檔可確保影片能在特定裝置上播放。\nMatrostka：將影片封裝成mkv格式，差別在於編碼器，有AV1、H.264、H.265、VP9。mkv格式支援嵌入多個音軌還有字幕軌。\nHardware：GPU加速轉碼。HandBrake其他設定檔預設都是用CPU下去算的，如果你有Nvidia或Intel Arc顯示卡，那麼這裡的選項可以有效提昇轉檔速度，GPU運算速度約是CPU的二倍以上。\nProduction：為專業用途設計的設定檔，畫質最好，使用CFR模式固定位元率，但是轉檔後檔案很大。\n","date":"2024年3月27日","externalUrl":null,"permalink":"/posts/handbrake-usage/","section":"所有文章","summary":"HandBrake為一款開源免費的影片轉檔軟體，支援Linux、Windows、macOS系統。 它的功能類似格式工廠、小丸工具箱，不同之處在於它是開放原始碼的軟體，並有時常在更新以支援最新影片格式。\nHandBrake特色功能如下：\n使用FFmpeg當後端，支援處理大多數影片格式 內建多個設定檔，可針對特定用途快速輸出影片，不用調一堆參數 支援轉檔成mp4、mkv、webm、mov、avi等常見影片格式 支援調整影片解析度、加上濾鏡、自訂視訊位元率、自訂音訊品質、壓縮影片大小 支援批次處理多部影片 可將ass、srt、ssa字幕加到影片，將其做成字幕軌或者直接內嵌。亦能夠讀取影片內的字幕軌加以修改 支援最新H.264、H.265、VP9、AV1編碼 支援GPU加速硬體轉碼（NVENC、QSV、Apple Video Toolbox） 支援處理DVD與BD藍光影片 但請注意：\nHandBrake無法將音訊軌新增到影片，也無法合併影片，要這樣做請用Kdenlive或ShutterEncoder。其實我個人認為，Kdenlive的強大剪輯加上轉檔功能就夠取代HandBrake了。 HandBrake無法影片轉音訊，請改用Audacity。 HandBrake只能合併做好的字幕檔，若要製作字幕請用Aegisub。 HandBrake不支援版權保護的BD藍光片，要破解BD用MakeMKV。 HandBrake只支援影片，不支援純音訊轉檔，請改用fre:ac 欲查看影片詳細屬性的請用Mediainfo 1. 安裝HandBrake # HandBrake官網提供Linux、Windows、macOS版安裝檔。\n","title":"HandBrake使用教學，免費影片轉檔兼壓縮軟體，支援Linux、Windows、macOS","type":"posts"},{"content":"","date":"2024年3月25日","externalUrl":null,"permalink":"/tags/magic-eyes/","section":"標籤","summary":"","title":"Magic Eyes","type":"tags"},{"content":" 若是被溫柔所包圍，勝乎過上千所自慰。\n這是一件關於謀殺幼女飛機杯的故事。\n日本Magic Eyes公司出產的飛機杯：【純潔注意】すじまん くぱぁ ろりんこ 処女宮～バルゴ～\n台灣譯名：魔眼 純潔注意 婚紗蘿莉子 處女宮 加大版\n年代久遠，才想起2021年買過這麼一款號稱很緊，插入可以秒射的飛機杯，後來證明網友的話不可信，畢竟沒有人可以有觸覺共享。\n因為早就丟了，沒辦法附照片真是對不起。只能引用商品包裝圖解說。 此為處女宮系列小改款，900g（或840g？）版本\u0026hellip;幹這重量已經比iPad Air 3加鍵盤還重了好嗎！ 箱子打開裡面還有結婚證書「我願意跟蘿莉子結婚」，嗯，又不是Figma，我沒有在留盒子的\u0026hellip;丟掉，離婚。 處女宮賣點是仿蘿莉小穴，以及莫名其妙的處女膜（純潔膜）設定。\n破不了處的人買有處女膜設計的飛機杯來破處是不是搞錯了什麼。\n頂進去其實沒感覺什麼東西破了，裡面整個就是軟趴趴的。不過外面因為很有重量的關係，整體拿起來末端並不會垂下去，而是可以牢牢的抓在手裡。\n理想上插入應該是這種爽感的 SHIS Zトン しゃあないなぁ\n但是對奈米屌來說，疑似買太大款了，捅不到底的子宮，體驗不到夾吸感。不過事後用手深進去有真的體會到緊的吸取感。 唯一可以感覺到的是從雞雞根部蔓延上來的溫柔的有包覆感，大概是入口處女膜環的部分所營造的圈套感覺，讓雞雞可以沒入小穴裡面體驗溫暖的包覆。若是被溫柔所包圍，倒也挺好的。 但是沒有到緊到夾吸的程度。而且這個環的部分幹幾次就裂了。\n清潔部分比較麻煩，因為材質脆弱不可以翻開洗，所以沖洗後用矽藻土棒來吸乾。這也是我第一次知道除了當地毯，矽藻土還有這種用處。\n覺得在設計上處女宮就是視覺效果吧。處女宮需要雙手拿著才能幹，狀似抱著一顆蘿蔔，抱著一個的仿幼女飛機杯，看起來確實有罪惡感。\n原版的處女宮讓你覺得在幹妖精。\n放大版讓你覺得在幹小○生，那個微小的乳房和腹部都已成形。如果搭配適當的砲架，那麼撞上去還是有不錯的彈力的。\n繪師：Aki99 但放大也不見得比較好，比如前面說的頂不到底，奈米屌的反而會不喜歡。\n就像英國二戰時的蘭開斯特轟炸機放大成為林肯式轟炸機，性能也沒提升到哪裡去吧！\n至於為什麼會丟掉\u0026hellip;因為嘗試剪掉處女膜以下的部分，讓長度簡短看起來會不會比較爽\n用剪刀直接劃開\n矽膠那不規則的切面，寶石之國的磷葉石一般\n結果就是看起來在像幹豬肉了，好像那種獵奇漫畫把頭砍掉抽插一般。\n原本保護內裏的漂亮外陰不見了，更容易沾染灰塵了\n在犯下這謀殺案之後，\n處女宮就被說再見了。\n","date":"2024年3月25日","externalUrl":null,"permalink":"/posts/magic-eyes-sujiman-kupa-lolinco-virgo-bargo-review/","section":"Nsfws","summary":" 若是被溫柔所包圍，勝乎過上千所自慰。\n這是一件關於謀殺幼女飛機杯的故事。\n日本Magic Eyes公司出產的飛機杯：【純潔注意】すじまん くぱぁ ろりんこ 処女宮～バルゴ～\n台灣譯名：魔眼 純潔注意 婚紗蘿莉子 處女宮 加大版\n年代久遠，才想起2021年買過這麼一款號稱很緊，插入可以秒射的飛機杯，後來證明網友的話不可信，畢竟沒有人可以有觸覺共享。\n因為早就丟了，沒辦法附照片真是對不起。只能引用商品包裝圖解說。 此為處女宮系列小改款，900g（或840g？）版本…幹這重量已經比iPad Air 3加鍵盤還重了好嗎！ 箱子打開裡面還有結婚證書「我願意跟蘿莉子結婚」，嗯，又不是Figma，我沒有在留盒子的…丟掉，離婚。 處女宮賣點是仿蘿莉小穴，以及莫名其妙的處女膜（純潔膜）設定。\n","title":"Magic Eyes 純潔注意~ 處女宮 評價，若是被溫柔所包圍~？","type":"nsfw"},{"content":"","date":"2024年3月24日","externalUrl":null,"permalink":"/tags/ffmpeg/","section":"標籤","summary":"","title":"FFmpeg","type":"tags"},{"content":"討論如何在Linux系統安裝VapourSynth。\n「VapourSynth」是一款開源跨平台的影片處理軟體，使用C++和Python寫成，支援Linux、Windows、macOS系統。\nVapourSynth開發靈感來自另一款古老的軟體Avisynth，功能很類似，它能給影片加上許多效果，再搭配其他轉檔軟體使用，組成完整的影片處理管線 (Video Pipeline)。 VapourSynth用途舉例：\n給影片加濾鏡、去色帶、調整顏色，再交給ffmpeg轉檔（壓制）影片 配合vs-mlrt，使用RealESRGAN放大，加上RIFE補幀後轉檔。 使用SVP或MVToools，配合MPV播放器給影片即時補幀。 VapourSynth在轉檔操作時需要撰寫名為.vpy的指令稿（script，語法類似於Python），再交給vspipe程式執行。\n不過VapourSynth沒有影片轉碼功能，它得搭配ffmpeg、小丸工具箱、格式工廠、Handbrake這類軟體做進一步處理。\n1. 安裝Python # VapourSynth需要Python才能運作，Linux發行版大部分都內建Python 3了，沒有的話自行安裝。\n為了方便轉檔，順便安裝ffmpeg吧。\nArch Linux\nsudo pacman -S python python-pip ffmpeg Ubuntu\nsudo apt install python3 python3-pip ffmpeg 2. 安裝VapourSynth本體 # 根據VapourSynth官方文件，各大發行版應該都有收VapourSynth。\nArch Linux可以直接從官方套件庫裝：\nsudo pacman -S vapoursynth 再使用vspipe指令確認是否安裝成功：\nvspipe --version # 範例輸出 VapourSynth Video Processing Library Copyright (c) 2012-2024 Fredrik Mellbin Core R70 API R4.1 API R3.6 Options: - 至於Ubuntu嘛，搞笑的來了，Debian的deb-multimedia套件庫有收VapourSynth，但沒人維護Ubuntu版的套件。所以只好自行編譯了。\nUbuntu 24.04以上版本，安裝編譯依賴套件： sudo apt-get install build-essential yasm intltool automake autoconf libtool devscripts equivs libavutil-dev libavcodec-dev libswscale-dev python3-dev python3-pip cython 下載穩定版的VapourSynth原始碼，目前為R70 wget https://github.com/vapoursynth/vapoursynth/archive/refs/tags/R70.zip unzip R70.zip 編譯安裝 cd vapoursynth* ./autogen.sh ./configure make -j$(nproc) sudo make install 將動態連結檔的路徑加入到環境變數 # 確認系統Python版本 python --version # 設定動態連結檔路徑 echo \u0026#34;LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib/\u0026#34; \u0026gt;\u0026gt; ~/.bashrc # 設定Python套件路徑，填入上面顯示的系統python3.x echo \u0026#34;PYTHONPATH=${PYTHONPATH}:/usr/local/lib/python3.12/site-packages/\u0026#34; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 用vspipe指令測試是否有安裝成功。 vspipe --version # 範例輸出 VapourSynth Video Processing Library Copyright (c) 2012-2024 Fredrik Mellbin Core R70 API R4.1 API R3.6 Options: - 3. 安裝指令稿編輯器VapourSynth Editor # VapourSynth Editor是Aleksey Lyashin (Mystery Keeper) 開發的小型IDE，專門用於偵錯.vpy檔案，裡面也有簡單的轉檔功能。\n雖然Flathub有上VapourSynth Editor，但五年沒更新了。\n目前有一個持續更新的分支版，由YomikoR維護，作者只提供Windows版。\nLinux版的話Arch Linux的AUR有套件可以裝。\n開啟後就可以編寫vpy指令稿了，按一下Script → Check Script可檢查有無語法錯誤。 Script → Preview預覽效果 Script → Encode轉檔影片，通常是呼叫ffmpeg處理輸出。輸出的影片最好填絕對路徑否則會發生權限錯誤。 4. VapourSynth插件的安裝方式 # VapourSynth的插件(plugin)以Python指令稿方式載入，有的需要使用到動態連結函式庫(Linux系統是.so檔，Windows系統則是.dll檔)。\nWindows版VapourSynth內建vsrepo.py install指令可從官方套件庫安裝插件，但Linux版本沒有這工具，得手動安裝。\n有些VapourSynth插件，Linux用戶會將其打包放在套件庫，比如Arch Linux官方套件庫就有vapoursynth-plugin-*開頭的套件能裝。\n如果沒有的話，你就得按照插件作者的指示，手動編譯VapourSynth插件，並將.so檔案放到VapourSynth的插件目錄了。\nLinux的插件目錄應位於/usr/lib/vapoursynth或/usr/local/lib/\n你也可以手動在~/.config/vapoursynth/vapoursynth.conf指定插件所在目錄：\nUserPluginDir=/home/asdf/vapoursynth/plugins SystemPluginDir=/special/non/default/location 5. 撰寫.vpy指令稿 # 新增script.vpy檔案，第一行引入VapourSynth模組：\nfrom vapoursynth import core 接著呢\u0026hellip;施主，接下來你得自己寫呀，我怎麼知道你要處理什麼呢？影片處理細節講起來會很複雜，請到文末的「參考資料」處找範本。\n6. VapourSynth使用例 # 搭配ffmpeg使用 # 讀取scripy.vpy的內容，處理影片，將影片輸出為y4m格式，並傳給ffmpeg處理。-i -的部份即vspipe處理後的影片流程，後面可以加上處理參數。\nvspipe -c y4m script.vpy - | ffmpeg -i - encoded.mkv 不過vspipe只能單獨輸出視訊流或音訊流，沒辦法二者都放，所以在處理完影片後，還要手動用ffmpeg把視訊流和音訊流合在一起。\n除了ffmpeg以外，Vapoursynth也可以輸出給其他編碼器使用，例如flac、x265、aom-av1。\n搭配MPV使用 # 用法有兩種：使用MPV內建的VapourSynth，或是由VapourSynth透過管道傳給MPV播放。\nArch Linux官方套件庫的MPV 0.37以後版本已經內建VapourSynth，所以你可以直接在MPV的設定檔設定快捷鍵，調用VapourSynth處理正在播放的影片。\n例如MVTools + VapourSynth + MPV達成即時補幀\n如果你的MPV沒有內建VapourSynth，就透過管線傳輸處理結果給MPV播放吧。\n讀取scripy.vpy的內容，處理影片，並將影片輸出為y4m格式，並傳給MPV\nvspipe -c y4m script.vpy - | mpv - 參考資料 # 非常詳細的BD影片轉檔教學： 第五章 VapourSynth基础 - VCB Studio\nVapourSynth\u0026rsquo;s documentation\nHow to VapourSynth, flash3kyuu_db for mpv on Ubuntu \u0026amp; Mint.rst\n","date":"2024年3月24日","externalUrl":null,"permalink":"/posts/vapoursynth-linux/","section":"所有文章","summary":"討論如何在Linux系統安裝VapourSynth。\n「VapourSynth」是一款開源跨平台的影片處理軟體，使用C++和Python寫成，支援Linux、Windows、macOS系統。\nVapourSynth開發靈感來自另一款古老的軟體Avisynth，功能很類似，它能給影片加上許多效果，再搭配其他轉檔軟體使用，組成完整的影片處理管線 (Video Pipeline)。 VapourSynth用途舉例：\n給影片加濾鏡、去色帶、調整顏色，再交給ffmpeg轉檔（壓制）影片 配合vs-mlrt，使用RealESRGAN放大，加上RIFE補幀後轉檔。 使用SVP或MVToools，配合MPV播放器給影片即時補幀。 VapourSynth在轉檔操作時需要撰寫名為.vpy的指令稿（script，語法類似於Python），再交給vspipe程式執行。\n不過VapourSynth沒有影片轉碼功能，它得搭配ffmpeg、小丸工具箱、格式工廠、Handbrake這類軟體做進一步處理。\n1. 安裝Python # VapourSynth需要Python才能運作，Linux發行版大部分都內建Python 3了，沒有的話自行安裝。\n","title":"VapourSynth在Linux系統的安裝方法，影片濾鏡處理軟體","type":"posts"},{"content":"本文Ivon講解如何在Linux安裝RIFE，使用RIFE轉檔。\n轉檔方法分為官方Python程式以及VapourSynth兩種。\nYoutube上常會看到一些4K60p的動畫片頭曲影片，明明原廠沒有提供那麼高畫質，那他們的片源是哪來的呢？八成是自己轉的，這個技術稱為動畫補幀(video frame interpolation)，由電腦演算出每幀(畫格)之間缺少的幀，使動畫變得很流暢的手法。\n說到能作到動畫補幀的軟體，不妨試試「RIFE」吧，這是旷视研究院在論文Real-Time Intermediate Flow Estimation for Video Frame Interpolation所提出的影片補幀方法。\nRIFE研究者所提供的程式可以將影片轉檔，將FPS補幀成任意速度，例如將30FPS影片變成120FPS，呈現的畫面品質比MPV ＋ MVtools要好。用RIFE補幀後，再配合MPV ＋Anime4K或ESRGAN這類放大影片的軟體，就能將任何一部影片變成4K60p的豪華內容。\n例如下面這部強襲魔女的影片所示，30FPS → 60FPS\n1. 安裝RIFE # RIFE的演算法有很多圖形前端，像Flowframes、SVFI、Waifu2x-Extension-GUI等，方便使用者轉檔。不過那些圖形前端只有Windows版，對Linux用戶來說圖形化界面只有REAL Video Enhancer這個選擇。\n下面講解手動配RIFE環境的作法。\n安裝Anaconda，建立Python3.8環境： conda create --name rife python=3.8 conda activate rife 複製RIFE儲存庫 git clone git@github.com:megvii-research/ECCV2022-RIFE.git cd ECCV2022-RIFE 安裝依賴套件。 pip install -r requirements.txt numpy可能需要降級為1.20.0版本，否則會出現'numpy' has no attribute 'float'錯誤。 pip install numpy==1.20.0 下載RIFE模型v3.6，解壓縮，將train_log放到RIFE儲存庫的目錄。 2. RIFE轉檔指令 # 在RIFE儲存庫目錄開啟終端機，並進入Python虛擬環境後，使用此指令給影片轉檔：\npython3 inference_video.py --exp=\u0026lt;影片速率\u0026gt; --video=\u0026#34;影片.mp4\u0026#34; --exp為影片速率，1為二倍，2為4倍，以此類推。影片轉檔前可用VLC的檢視→媒體訊息確認影片的FPS確切數值。\n例如要把30FPS的影片轉換成為60FPS：\npython3 inference_video.py --exp=1 --video=\u0026#34;video.mp4\u0026#34; 實測顯示卡為GTX1050Ti，10秒鐘的1080p30影片轉檔成1080p60需要5分鐘。\n轉檔後的影片會位於跟輸入影片的同個目錄，檔案大概會變成二倍大。\n3. 使用VapourSynth濾鏡來補幀 # RIFE能夠在播放影片的時候透過VapourSynth即時補幀，不過這樣非常吃顯示卡效能。我這裡是將影片轉檔後再播放。\n安裝VapourSynth與VapourSynth Editor\n安裝VapourSynth-RIFE-ncnn-Vulkan插件。Arch Linux可以透過AUR安裝。\n開啟VapourSynth Editor，輸入以下指令稿\nfrom vapoursynth import core import vapoursynth as vs # 輸入影片 clip = core.bs.VideoSource(source=\u0026#39;input.mkv\u0026#39;) # 轉成RGBS clip = core.resize.Bicubic(clip, format=vs.RGBS, matrix_in_s=\u0026#39;709\u0026#39;) # 使用RIFE處理影片，詳細函數用法看插件作者的Github clip = core.rife.RIFE(clip) # 轉回Y4M clip = core.resize.Bicubic(clip, format=vs.YUV420P8, matrix_s=\u0026#34;709\u0026#34;) clip.set_output() 點選 Scripts → Encode Video，Header選取Y4M，執行檔選取ffmpeg，ffmpeg輸出參數設定為-i - 路徑/output.mkv ","date":"2024年3月24日","externalUrl":null,"permalink":"/posts/rife-linux-setup/","section":"所有文章","summary":"本文Ivon講解如何在Linux安裝RIFE，使用RIFE轉檔。\n轉檔方法分為官方Python程式以及VapourSynth兩種。\nYoutube上常會看到一些4K60p的動畫片頭曲影片，明明原廠沒有提供那麼高畫質，那他們的片源是哪來的呢？八成是自己轉的，這個技術稱為動畫補幀(video frame interpolation)，由電腦演算出每幀(畫格)之間缺少的幀，使動畫變得很流暢的手法。\n說到能作到動畫補幀的軟體，不妨試試「RIFE」吧，這是旷视研究院在論文Real-Time Intermediate Flow Estimation for Video Frame Interpolation所提出的影片補幀方法。\nRIFE研究者所提供的程式可以將影片轉檔，將FPS補幀成任意速度，例如將30FPS影片變成120FPS，呈現的畫面品質比MPV ＋ MVtools要好。用RIFE補幀後，再配合MPV ＋Anime4K或ESRGAN這類放大影片的軟體，就能將任何一部影片變成4K60p的豪華內容。\n例如下面這部強襲魔女的影片所示，30FPS → 60FPS\n1. 安裝RIFE # RIFE的演算法有很多圖形前端，像Flowframes、SVFI、Waifu2x-Extension-GUI等，方便使用者轉檔。不過那些圖形前端只有Windows版，對Linux用戶來說圖形化界面只有REAL Video Enhancer這個選擇。\n","title":"RIFE：補幀提高影片FPS，增加流暢度的開源免費軟體","type":"posts"},{"content":"解說如何在Linux系統設定MPV，配合VapourSynth的MVTools插件達到即時補幀效果，類似Windows上的mpv-lazy那樣。 不知何為補幀？請看這部30FPS影片補幀到60FPS後的效果：\n後面再教學如何配合動畫升頻軟體Anime4K一同使用，操爆電腦硬體。\n1. 本文目標 # 即時補幀(補畫格，real time interploation，motion interpolation)即在播放影片的時候將影片FPS提高（如30 FPS → 60 FPS），而不用像RIFE那樣需要等整部影片轉檔完成。\n目前影片補幀的方案主要有：Vapoursynth MVTools(開源)、RIFE(開源)、DAIN（開源)、SVP - SmoothVideo Project(閉源)、DmitriRender(閉源)\nVapoursynth是一款開源的伺服器幀渲染軟體，為AviSynth的後繼者。可以用來處理影片轉檔，配合MPV播放的話即是套用其濾鏡（由插件提供）來改善影片品質，例如本文主角\u0026quot;MVTools\u0026quot;，專門給影片插幀/補幀用的。\nMVTools與同為補幀軟體的RIFE (RIFE使用教學) 有什麼差呢？MVTools能在播放中給影片補幀，全靠CPU運算，雖然耗CPU資源但速度還能接受；相較之下，RIFE預設得將整部影片用GPU轉檔才能看。雖然有人嘗試將RIFE作為即時補幀插件(見VapourSynth-RIFE-ncnn-Vulkan)，但仍需要RTX等級的顯示卡才不會卡頓，對一般使用者來說要求過高。（我是窮鬼）\n儘管RIFE可能是目前效果最好的開源補幀演算法了，但MVTools的補幀雖然古老其實也沒到很差勁的地步，看著爽就行了，只比專有軟體SmoothVideoProject差些，所以就將就看吧。\n整合補幀技術的播放軟體，最著名的專案便是mpv-lazy了，開發者將Anime4K和MVTools內建，使用者不需要手動設定便可使用。不過該軟體因為將一堆靜態執行檔包在一起，只支援Winodws版本，Linux雖然也有原生MPV但需要手動設定一些東西。\n那麼，我們不妨將目標簡化：只要能在Linux播放影片時，補幀到60FPS＋提昇畫質即可，所以我們就來手動設定吧。\n2. 安裝Vapoursynth與MPV # 首先需要安裝Linux版Vapoursynth和Linux版MPV。\n雖然Flatpak版MPV有啟用Vapoursynth支援，但很少有VapourSynth插件打包為Flatpak，因此不建議採用Flatpak方案。\n這裡列出兩個發行版的注意事項：\nArch Linux Arch Linux的MPV已內建VapourSynth（準確來說是ffmpeg啟用Vapoursynth支援），直接安裝就好。 sudo pacman -S mpv 雖然VapourSynth已經內建在MPV，但有些插件依賴VapourSynth，所以等會我們安裝插件的時候還是得裝VapourSynth。\nAUR有特別版mpv-vapoursynth-git，目前應該不需要了。\nUbuntu Ubuntu 24.04建議手動編譯安裝VapourSynth\nUbuntu套件庫的MPV沒有VapourSynth，需要按照官方mpv-build指示，手動編譯最新版MPV，並啟用VapourSynth支援。\n# 依賴套件 sudo apt-get install build-essential yasm intltool automake autoconf libtool devscripts equivs libavutil-dev libavcodec-dev libswscale-dev python3-dev python3-pip libx264-dev libmp3lame-dev libfdk-aac-dev libcdio-paranoia-dev libdvdnav-dev libdvdread-dev libarchive-dev # CPython和meson用pip裝 sudo apt remove meson python -m pip install Cython meson git clone https://github.com/mpv-player/mpv-build.git --depth=1 cd mpv-build cat \u0026lt;\u0026lt;EOF \u0026gt; ffmpeg_options --enable-libx264 --enable-libmp3lame --enable-libfdk-aac --enable-nonfree EOF cat \u0026lt;\u0026lt;EOF \u0026gt; mpv_options -Dlibmpv=true -Dcaca=disabled -Dcdda=enabled -Ddvbin=enabled -Ddvdnav=enabled -Dlibarchive=enabled -Dbuild-date=false -Dvapoursynth=enabled EOF ./rebuild -j8 # 你可以直接執行mpv/build/mpv的二進位檔，但我們還是安裝MPV到系統吧 sudo ./install # 或者打包成deb檔再安裝 sudo apt-get install devscripts equivs mk-build-deps -s sudo -i sudo apt install mpv-build-deps_1.0_amd64.deb dpkg-buildpackage -uc -us -b -j8 sudo dpkg -i ../mpv_*.deb 3. 安裝MVTools # MVTools是VapourSynth的一個插件，需要安裝函式庫再撰寫指令稿啟用。 Arch Linux Arch Linux從官方套件庫安裝，它的函式庫位於/usr/lib/vapoursynth\nsudo pacman -S vapoursynth-plugin-mvtools Ubuntu Ubuntu 24.04以上版本，需要手動編譯MVTools，函式庫會安裝到/usr/local/lib/x86_64-linux-gnu\nsudo apt install build-essential meson nasm git clone https://github.com/dubhater/vapoursynth-mvtools.git cd vapoursynth-mvtools mkdir build; cd build meson ../ sudo ninja install MVTools補幀需要自行撰寫指令稿來啟用。Github上有KCCat與phiresky的範本，我選擇後者提供的.vpy檔。\n切換到MPV設定檔所在目錄，下載.vpy檔案\nmkdir ~/.config/mpv cd ~/.config/mpv wget https://gist.githubusercontent.com/phiresky/4bfcfbbd05b3c2ed8645/raw/d2431bc64b2cff0c80c5953bca71968dcdf82971/motioninterpolation.vpy phiresky的vpy有點小問題，請開啟該檔案，找到vapoursynth.get_core()的字串，將其替換成vapoursynth.core。並請注意libmvtools.so所在的路徑，Arch Linux是/usr/lib/vapoursynth/，Ubuntu則是/usr/local/lib/x86_64-linux-gnu/。\n我修改過後的指令稿如下：\n# vim: set ft=python: # see the README at https://gist.github.com/phiresky/4bfcfbbd05b3c2ed8645 # source: https://github.com/mpv-player/mpv/issues/2149 # source: https://github.com/mpv-player/mpv/issues/566 # source: https://github.com/haasn/gentoo-conf/blob/nanodesu/home/nand/.mpv/filters/mvtools.vpy import vapoursynth core = vapoursynth.core # 載入libmvtools.so core.std.LoadPlugin(\u0026#34;/usr/lib/vapoursynth/libmvtools.so\u0026#34;) # ref: http://avisynth.org.ru/mvtools/mvtools2.html#functions # default is 400, less means interpolation will only happen when it will work well ignore_threshold=140 # if n% of blocks change more than threshold then don\u0026#39;t interpolate at all (default is 51%) scene_change_percentage=15 dst_fps = display_fps # Interpolating to fps higher than 60 is too CPU-expensive, smoothmotion can handle the rest. # while (dst_fps \u0026gt; 60): # dst_fps /= 2 if \u0026#34;video_in\u0026#34; in globals(): # realtime clip = video_in # Needed because clip FPS is missing src_fps_num = int(container_fps * 1e8) src_fps_den = int(1e8) clip = core.std.AssumeFPS(clip, fpsnum = src_fps_num, fpsden = src_fps_den) else: # run with vspipe clip = core.ffms2.Source(source=in_filename) dst_fps=float(dst_fps) # resolution in megapixels. 1080p ≈ 2MP, 720p ≈ 1MP mpix = clip.width * clip.height / 1000000 # Skip interpolation for \u0026gt;1080p or 60 Hz content due to performance if not (mpix \u0026gt; 2.5 or clip.fps_num/clip.fps_den \u0026gt; 59): analParams = { \u0026#39;overlap\u0026#39;: 0, \u0026#39;search\u0026#39;: 3, \u0026#39;truemotion\u0026#39;: True, #\u0026#39;chrome\u0026#39;: True, #\u0026#39;blksize\u0026#39;:16, #\u0026#39;searchparam\u0026#39;:1 } blockParams = { \u0026#39;thscd1\u0026#39;: ignore_threshold, \u0026#39;thscd2\u0026#39;: int(scene_change_percentage*255/100), \u0026#39;mode\u0026#39;: 3, } if mpix \u0026gt; 1.5: # can\u0026#39;t handle these on Full HD with Intel i5-2500k # see the description of these parameters in http://avisynth.org.ru/mvtools/mvtools2.html#functions analParams[\u0026#39;search\u0026#39;] = 0 blockParams[\u0026#39;mode\u0026#39;] = 0 quality = \u0026#39;low\u0026#39; else: quality = \u0026#39;high\u0026#39; dst_fps_num = int(dst_fps * 1e4) dst_fps_den = int(1e4) print(\u0026#34;Reflowing from {} fps to {} fps (quality={})\u0026#34;.format(clip.fps_num/clip.fps_den,dst_fps_num/dst_fps_den,quality)) sup = core.mv.Super(clip, pel=2) bvec = core.mv.Analyse(sup, isb=True, **analParams) fvec = core.mv.Analyse(sup, isb=False, **analParams) clip = core.mv.BlockFPS(clip, sup, bvec, fvec, num=dst_fps_num, den=dst_fps_den, **blockParams) clip.set_output() 4. 撰寫MPV設定檔啟用MVTools # 編輯~/.config/mpv/input.conf，填入開關Vapoursynth濾鏡的快捷鍵，我設定為「b」。等號後面的路徑是剛才下載的vpy檔案的位置。 b vf toggle vapoursynth=~~/motioninterpolation.vpy 如果您想要一開啟MPV就自動啟用補幀功能，在~/.config/mpv/mpv.conf加入以下內容： vf=format=yuv420p,vapoursynth=~~/motioninterpolation.vpy:4:4 接著在檔案管理器使用MPV播放一部非60FPS的影片 按Shift＋I，顯示目前影片幀率 按b啟用補幀功能，繼續播放，觀察幀率是否有變化 5. 配合Anime4K放大軟體使用 # Anime4K是提昇動畫畫質的著色器，可將720p變1080p，1080p變接近4K。\n請參考Linux版Anime4K教學，將Anime4K的快捷鍵設定好。如果要跟Vapoursynth一起用的話，沿著~/.config/mpv/mpv.conf的設定檔直接往下寫就好了，例如： CTRL+1 no-osd change-list glsl-shaders set \u0026#34;~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34;; show-text \u0026#34;Anime4K: Mode A (Fast)\u0026#34; CTRL+2 no-osd change-list glsl-shaders set \u0026#34;~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34;; show-text \u0026#34;Anime4K: Mode B (Fast)\u0026#34; CTRL+3 no-osd change-list glsl-shaders set \u0026#34;~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34;; show-text \u0026#34;Anime4K: Mode C (Fast)\u0026#34; CTRL+4 no-osd change-list glsl-shaders set \u0026#34;~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34;; show-text \u0026#34;Anime4K: Mode A+A (Fast)\u0026#34; CTRL+5 no-osd change-list glsl-shaders set \u0026#34;~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_S.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34;; show-text \u0026#34;Anime4K: Mode B+B (Fast)\u0026#34; CTRL+6 no-osd change-list glsl-shaders set \u0026#34;~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34;; show-text \u0026#34;Anime4K: Mode C+A (Fast)\u0026#34; CTRL+0 no-osd change-list glsl-shaders clr \u0026#34;\u0026#34;; show-text \u0026#34;GLSL shaders cleared\u0026#34; b vf toggle vapoursynth=~~/motioninterpolation.vpy 同樣，如果您希望一啟動MPV便自動啟用Anime4K的A+A模式，那就把以下內容加到~/.config/mpv/mpv.conf尾端 glsl-shaders=\u0026#34;~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34; 6. 播放MVTools＋Anime4K影片有多耗系統資源 # 以下是播放普通1080p影片，什麼都沒開的情況 接著是啟用補幀＋Anime4K的影片，可以看到GPU和CPU使用率都暴漲。 如同RIFE，Vapoursynth的MVtools也可以給影片補幀轉檔，減少播放時的開銷：\nvspipe --arg in_filename=\u0026#34;影片路徑\u0026#34; --arg display_fps=60 --y4m motioninterpolation.vpy -| ffmpeg -i - -crf 18 output.mkv 參考資料 # Realtime motion interpolating 60fps playback in mpv · GitHub dreamer2908/How to VapourSynth, flash3kyuu_db for mpv on Ubuntu \u0026amp; Mint.rst · GitHub Installation — VapourSynth documentation linux下mpv播放姿势分享vapoursynth-mvtools(9/5更新mvtools配置参数) - Anime字幕论坛 MPV mvtools补帧| 附保姆级操作流程 - Anime字幕论坛 心情随笔 mpv最新版安装方式 ，有不对的希望大家提醒更正 - deepin ","date":"2024年3月24日","externalUrl":null,"permalink":"/posts/mpv-mvtools-linux/","section":"所有文章","summary":"解說如何在Linux系統設定MPV，配合VapourSynth的MVTools插件達到即時補幀效果，類似Windows上的mpv-lazy那樣。 不知何為補幀？請看這部30FPS影片補幀到60FPS後的效果：\n後面再教學如何配合動畫升頻軟體Anime4K一同使用，操爆電腦硬體。\n1. 本文目標 # 即時補幀(補畫格，real time interploation，motion interpolation)即在播放影片的時候將影片FPS提高（如30 FPS → 60 FPS），而不用像RIFE那樣需要等整部影片轉檔完成。\n目前影片補幀的方案主要有：Vapoursynth MVTools(開源)、RIFE(開源)、DAIN（開源)、SVP - SmoothVideo Project(閉源)、DmitriRender(閉源)\nVapoursynth是一款開源的伺服器幀渲染軟體，為AviSynth的後繼者。可以用來處理影片轉檔，配合MPV播放的話即是套用其濾鏡（由插件提供）來改善影片品質，例如本文主角\"MVTools\"，專門給影片插幀/補幀用的。\nMVTools與同為補幀軟體的RIFE (RIFE使用教學) 有什麼差呢？MVTools能在播放中給影片補幀，全靠CPU運算，雖然耗CPU資源但速度還能接受；相較之下，RIFE預設得將整部影片用GPU轉檔才能看。雖然有人嘗試將RIFE作為即時補幀插件(見VapourSynth-RIFE-ncnn-Vulkan)，但仍需要RTX等級的顯示卡才不會卡頓，對一般使用者來說要求過高。（我是窮鬼）\n","title":"即時補幀提昇動畫影片FPS ～ Linux版MPV播放器 ＋ VapourSynth MVTools設定教學","type":"posts"},{"content":" この記事ではIvonがLinuxシステムの「X Window System」と「Wayland」の発展状況を議論し、Waylandの長所と短所を検討して、あなたがWaylandへ切り替えるべきかどうかを決められるようにする。最後には最新のWayland技術を最速で体験できるLinuxディストリビューションも付けておく。 事態は変化しつつある。Linuxコミュニティでは、X11を捨ててWaylandセッションへ切り替えるべきかがよく議論される。では、X11とは何か？Waylandとは何か？\nX Window Systemは、あなたのLinuxコンピューターの画面をどのように表示するかを決めるソフトウェア群である。しかしそれは古すぎて問題が多い。現在はWaylandプロトコルを採用したソフトウェアがあり、現代的なコードでこの古いソフトウェアを置き換えようとしている。ただしWaylandにも問題が山積みで、Linuxシステムで採用が増えているにもかかわらず、発展から10年経った今もX Window Systemは完全には置き換えられていない。以下でその理由を探る。\n1. 変化の契機：X11とWaylandの比較 # X Window SystemとWaylandはいずれもLinuxの画面表示を担当するソフトウェア群である。両者の低層原理比較については、私の知識が浅いため恥をさらすのはやめておく。ネット上にはすでに多くの資料があり、文末の「関連読書」にも詳しく読める面白い記事を多く載せている。ここでは私個人の理解を簡単に述べる。\nX Window System、略してXは、Linuxより早く生まれた。X Window Systemは1987年に登場し、グラフィカル環境の表示に使われた。当時はまだUnixの時代だった！今ではすでに30年以上の歴史がある。 なぜLinuxには「X Window System」をインストールしないと画面が出ないのか？それはLinuxカーネルには本当に画面表示のソフトウェアがないからだ。\nLinuxユーザーが見るデスクトップ環境（たとえば GNOME、KDE Plasma、XFCE）は、画面を直接制御しているわけではなく、X Window Systemが提供するグラフィック表示機構の上に構築されている。X Window Systemは最下層のウィンドウ表示と入力イベントを担当し、デスクトップ環境はユーザーインターフェースと操作体験を担当する。\nここで、X Window Systemは各デスクトップ環境が従う低層の共通標準となった。\n当初の設計者はXの通信プロトコル(protocol)標準だけを制定し、Xの実装方式(implementation)を詳しく規定しなかった。そのため各社のXウィンドウソフトウェアが登場した。2000年頃、X.org組織が開発したX.orgソフトウェアがXFree86を置き換え、徐々に公認の標準となり、APIなども彼らが決めた。X.orgはこうして各大デスクトップ環境に採用された。X.orgが採用したX通信プロトコルがX11版だったため、彼らが開発したXサーバーもX11と呼ばれる。\nX Window Systemがサーバー(server)と呼ばれる理由は、複数のXクライアント(client)の同時接続を受け付けられるからだ。つまり「クライアントサーバー構造」であり、昔のメインフレーム時代の需要に応え、ネットワーク透過性(Network Transparency)を通じて通信する。原理は下図を参照。 ネットワーク透過性とは何か？Xサーバーを通じて、別のコンピューターのウィンドウをネットワーク経由で転送し、あなたのコンピューターに表示できる。これにより、多くの人が同時に同じホストへ接続して作業できるわけだ。\nさらにX Window Systemは個人コンピューター上でもクライアントサーバー構造に従って通信する。各ソフトウェアのウィンドウは一つのXクライアントであり、あなたのコンピューター上のXサーバーと通信し、その結果画面を表示する。\nデスクトップのウィンドウがどんな見た目になるべきかについて、X Window Systemのプロトコルは詳細に規定していない。これがデスクトップ環境開発者に大きな操作空間を与えた。開発者はcompositorを通じてウィンドウの外観を決められる。閉じるボタンの位置、タイトルバー、アニメーション効果なども含まれる。だからCompizのようなクールな3Dアニメーションデスクトップが登場した。\nクライアントサーバー構造はX Window System設計の長所でもあり短所でもある。長所はリモート作業が非常に便利で、柔軟性が大きいことだ。\n短所は、この方式では安全性が高くないことだ。誰が「サーバー」は必ずリモートで実行されると言った？Xサーバーはあなたのコンピューター上でもクライアントサーバー構造の関係を維持しており、プログラム間の転送は暗号化されていない。他のプログラムに簡単に傍受され、たとえばキーロガーに使われうる。しかもクライアントとサーバー間の頻繁な転送はグラフィック効率の悪化を招き、画面 tearing を引き起こす。\ntearing問題は大部分のデスクトップ環境とGPUドライバーが回避策を講じているが、Nvidiaはなお放置している。彼らのドライバーはオープンソースではなく、しょっちゅう問題を起こすからだ。\nX Window Systemの問題には、もっとよい解決策があるべきだ\u0026hellip;そこでWaylandが登場した。Waylandは2008年に現れ、かつてX11プロジェクトに参加していた開発者によって始められた。 WaylandはX Window Systemのクライアントサーバー構造を徹底的に変え、プログラムがグラフィックハードウェアをより効率的に利用できるようにする。Wayland自体は通信プロトコル仕様であり、実際にウィンドウを描画するソフトウェアはWayland compositorと呼ばれる。\nつまりWayland開発者は通信プロトコルの仕様だけを規定し、compositorをどう実装するかについて詳細には規定していない。彼らは\u0026quot;Weston\u0026quot;という参考実装を一つ出しただけである。\nこちらがWaylandの原理図だ。Xサーバーが消え、すべてがcompositorによって担当され、通信過程全体がかなり簡略化され、ネットワーク透過性も切り落とされていることが分かる。 では「X」Waylandとは何なのか？大量のXサーバー下の古いプログラムが使えなくなることを防ぐため、Wayland開発者はXWaylandという過渡的方案を提出した。Wayland下でXサーバーを一つ走らせ、それらの古いプログラムがWayland下で動作できるようにするものだ。とはいえ、XWaylandは古いXプログラムとの100%互換性を保証しない。一部の奇妙なAPIは使えない可能性があり、開発者はやはりプログラムを書き直し、ネイティブWaylandプログラムへ修正するほうがよい。\nWaylandが出たなら、X11はどうなるのか？X11はすでに基本的に開発停止していることを知っておくべきだ。Linux世界の多くの新機能はWayland側へ発展を移しており、たとえばHDRコンテンツ対応のコードがそうだ。\nPhoronixの報道によれば、近年X11の開発速度は史上最低に達し、基本的に動いていない。 なぜか知っているか？全世界でX Window Systemの全コードを読める人は三人しかいないらしい。あなたも知っている、私も知っている、しかし独眼竜は知らない。独眼竜ですら知らないものなら、開発者も古びたXサーバーのコードをどう修正すればよいか手の付けようがない。多くのXサーバーの設計は現代では時代の需要に合わない。Xを捨てる時が来たので、開発者はいっそ新しいものを作った。\nしかしさまざまな問題により、執筆時点の2024年になってもWaylandはまだXを置き換えられていない。\n2. なぜWaylandを使うのか？ # Waylandの比較的明らかな長所は以下の通り：\nGNOMEでもKDEでも、WaylandのアニメーションはX11よりずっと滑らかに見える。 グラフィック性能がよりよい。画面tearing問題を徹底的に解決し、Nvidiaプロプライエタリドライバーのユーザーにも恩恵がある。 HiDPI画面の非整数スケーリング、異なる画面で異なる解像度、HDR映像、VRR可変リフレッシュレート\u0026hellip;\u0026hellip;など現代的なグラフィック機能をサポートする。 ブラウザが二本指ズームをサポートする。 タッチジェスチャー対応がよりよい。GNOMEとKDE Plasmaではタッチパッドジェスチャーでデスクトップを切り替えられ、FirefoxとGoogle Chromeでは二本指ズームや左右スワイプで前のページへ戻ることができる。これらはWaylandでのみ使える。 PipeWireとXDG Desktop Portal技術を活用し、スクリーンショット、画面録画、音声処理、画面共有、リモートデスクトップ、ファイル選択の経路を統一する。 システム安全性を強化し、キーロガープログラムを根絶する。 現段階では、Waylandが好きでなくても、ログイン画面(Display Manager)でいつでもX11セッションへ切り替えられ、両者は共存できる。\n3. なぜWaylandを使わないのか？ # Waylandの短所を語り始めると終わらない。\nLinuxコミュニティでこの画像を貼ると殴られるらしい。 最も乱暴な理由：Waylandにはキラーアプリケーションが欠けており、「Waylandでなければならない」プログラムがほぼない。\nprobonopd（AppImage形式の提唱者）が書いたこの記事は非常によくまとまっており、Waylandでまだ解決されていない問題を一つ一つ列挙し、リアルタイムで更新している。毎日その下で誰かが喧嘩しているXD\nThink twice about Wayland. It breaks everything! 最初この文章のタイトルは\u0026quot;Boycott Wayland. It breaks everything.\u0026ldquo;だったと記憶している。最初は人々にWaylandをボイコットしろと言っていたが、後にWayland採用前に必ず三思せよへ変わった。\nより具体的なWayland問題を見るなら、KDE開発者が整理した一覧を参照してほしい：Plasma/Wayland Known Significant Issues\nなぜWaylandの争議はこれほど大きいのか？それはユーザーインターフェースと密接に関わるからだ。Waylandが引き起こす問題は肉眼で見えるものであり、ユーザーがLinuxシステムを操作する体験に大きく影響する。上のprobonopdリンク内で語られていることは、あなたがLinuxの日常ユーザーなら必ず遭遇する。\nより実際的な問題を語るなら、ブラウザから始めよう。Firefox最新版はデフォルトでWaylandセッションを使い、ほぼ問題がなくなった。しかしChromium系ブラウザ（Chrome、Brave、Edge、Vivaldi、Opera）は、現時点のv131版でもWayland対応がまだよくない。ChromiumはWayland下でもデフォルトでXWaylandモードで動いている！その結果、性能が振るわない。\n起動パラメータを強制的に追加し、chromium --ozone-platform-hint=autoコマンドで純Waylandモードへ入ると、何が起きると思う？Fcitx5で中国語入力ができなくなる！Fcitx5 Wikiの説明によれば、さらに--gtk-version=4パラメータを追加して起動すれば正常になるらしい。うん、問題は私が追加してもまだ駄目だったことだ。実は--enable-wayland-imeパラメータもあるのだ！たとえChromiumが純Waylandモードをきちんと設定してくれたとしても、なんとVA-APIハードウェアアクセラレーションに対応していない？この機能は2024年1月になってようやく直った。\n善意の注意：Electronで書かれた多くのプログラムもChromiumの影響を受ける。Chromiumのbugは同じくElectronプログラムにも反映される。たとえばVisual Studio Codeだ。開発者がElectronコアバージョンを更新しないなら、この問題はさらに深刻になるだけだ。\n別のプログラムを例に取ると、OBS StudioはWayland下でのウィンドウキャプチャに時々問題があり、ポップアップでウィンドウを選ぶとき真っ黒になる。何らかのworkaroundを使わないと正常に作業できないかもしれない。GNOMEでもKDEでも、Waylandを使う限りこの種の問題は時々発生する。しかしX11セッションではほとんどこの問題は起きない。\nさらに、Wayland下では多くのリモートデスクトップソフトウェアが問題を起こす。WayVNCとWayPipeは登場しているものの性能はあまりよくなく、RustDeskとSunshineだけがWayland対応を追加している。\nWindowsプログラムを変換するWine（Steam Deck Protonの上流プロジェクト）は、今年の最新9.0版でようやく実験的なWaylandドライバーを追加した。今でもSteamでは、ネイティブゲームでWaylandに対応するものは少なく、多くのゲームは依然としてXWaylandで動いている。そのためWayland環境でゲームをすると性能問題が出る。\nWaylandはHiDPI画面の問題を改善し、任意のスケーリング係数を指定できる。しかし旧版XWaylandプログラムはそれに合わせてスケーリングされない。XWaylandプログラムを強制的にスケーリングすればぼやける。GNOMEもKDEも、この問題を処理するよい方法を持っていない。\nKDE 6.0はWayland対応に重大な改善があると称しているが、KDE自身のプログラムでさえ、今でもGwenviewウィンドウが超巨大になる、マウスが超巨大になる、Kateが意味不明なフローティングウィンドウを出すなどの奇妙なbugが出る。KDEフォントビューアは今でもWaylandに対応していない。\nX11下で長年使われてきたカラーマネジメントシステムも、Waylandではまだ実現されておらず、KDE 6になって初めてある。\nああもう。X11デスクトップは開封即用だが、Waylandデスクトップは問題だらけである。\nもしプログラムがWayland下で正常に使えるようになるために、ユーザーが手動で大量の作業をしなければならないなら、それはWaylandが根本的にまだ準備できていないということだろう！\nああ、これはデスクトップ開発者のミスだと押しつけてもいいだろう。彼らがcompositorを書ききれていないのが悪いのだから。\nそう！標準の不一致こそWayland最大の問題の一つだ！\nこの図はうまく説明している： Waylandは実はX11の直接的な代替品ではなく、ほぼ別物になっている！多くの旧来のプロトコルにはWayland上で対応するものがなく、開発者が一つずつ実現するのを待たなければならない。\nソフトウェア開発者にとっても、Waylandの変化に適応しなければならない。もっとはっきり言えば、プログラム全体を書き直す必要がある。\n過去、皆が使っていたのはX.orgのX Window System実装であり、従うべき統一APIがあった。各社はそれに基づいてウィンドウcompositorを開発した。しかしWaylandへ入るとXサーバーはなくなり、各社は自分でWayland compositorを作る方法を考えなければならない。\nLinux世界には中央集権的な開発というものがない。これが各社標準不一致の状況を引き起こした。前に述べたように、Wayland開発者は通信プロトコルだけを規定し、compositorをどう実装するかについては詳細に規定していない。今やWayland compositorは少なくとも10種類以上あるだろう。GNOMEのMutterにはMutterの実装があり、KDEのKwinにはkwinの実装があり、Hyprlandにも自分の実装がある。\nオープンソース組織同士は標準を調整し、GTKやQTのような有名ライブラリもWayland対応に追随し、システム下層のものを抽象化して開発者の負担を減らしている。しかしどうしても統一できない標準がある。\nFcitx5の開発者はBlogでこの問題を愚痴ったことがある。彼は各大デスクトップ環境をサポートするため、4種類の入力メソッドプロトコルを実装し、さらにはKDEへPRを提出して彼らのcompositorを改善した。\nプログラムがXWaylandモードで動いていても、100%完璧な解決策ではない。それはアプリケーション性能低下を招き、スケーリングもぼやける。中にはクリップボード共有やドラッグ＆ドロップ貼り付けすらできないものもある。しかしWayland開発が不完全なため、多くの開発者はなおこの折衷的な解決方法を選び、ネイティブWaylandプログラムを開発せず、XWaylandで放置している。\n以上をまとめると、もしWaylandの問題を本当に細かく掘り下げれば、最終的にあなたは半分Linux開発者になる。\n才能があるなら、wlrootsというライブラリを見つけ、自分のWayland compositorを書き始めるかもしれない！Sway、Hyprland、river、Wayfireなどの開発者たちの列に加わるのだ。\n4. しかし、Waylandは依然として未来の趨勢 # 事態は変化しつつある。WaylandはSystemd、PulseAudio、PipeWire、Avahiと同じで、出たばかりの頃は罵声だらけだったが、彼らは最後には徐々に大衆に受け入れられた。\nなぜか？上で語ったWaylandの短所、bug、欠陥は、未来にゆっくり解決されるからだ。この記事で触れたWaylandの問題は、数か月後には消えているかもしれない。\nKansasの歌があなたに教えてくれている：CARRY ON MY WAYLAND SON! Waylandは問題だらけとはいえ、世界各地の開発者が非常に真剣にbugを修正している。各大Linuxディストリビューションも徐々にWaylandをデフォルト選択肢にしている。\n商業会社RedHat、Canonical、SUSEはWaylandをデフォルト選択肢として強く推進しており、RedHatは RHEL 10でX.orgを完全に削除する準備さえしている。\nValveとAMDは協力してSteam Deck上のWaylandにHDRを対応させた。ドライバーを死んでもオープンソースにしないNvidiaでさえ、Wayland対応を徐々に改善しており、さらに多くの新特性が進行中である。\n今後数年で、GNOMEはX11のログイン選択肢を徹底的に削除し、純Wayland環境になる可能性がある。連動してGTKも正式にX11サポートを放棄するだろう。ただし、ここで私が語っているのはローリングリリースのスケジュールであり、Ubuntu LTSやDebian Stableのような安定更新のディストリビューションは、純Wayland環境に入るまでさらに時間がかかるかもしれない。\nX11が完全に死ぬには何年かかるのか？私はさらに十年待つと予想する。Debian StableとUbuntu LTSの「デフォルト」もWaylandになって初めて、本当に成熟したと言える。現在Ubuntu 24.04のデフォルトはなおX11セッションである。\n5. Waylandへ切り替えるには？ # 上述の通り、Waylandは単一のソフトウェアではなく、デスクトップ環境が個別に実装するものだ。\n最大の考慮要因は、常にあなたのLinuxディストリビューションの更新速度、そしてデスクトップ環境のWayland対応度である。\n自分がX11を使っているのかWaylandを使っているのかをどう知るか？端末を開き、以下のコマンドを入力すれば多少分かる。\necho $XDG_SESSION_TYPE X11とWaylandの間で切り替えたいなら、通常システムのログイン画面(Display Manager)に選択肢がある。\n執筆時点の各デスクトップ環境のWayland対応状況：\nGNOME 48：Linux界のデスクトップの兄貴分。GNOME 42以後は対応が良好で、ほぼbugがない。ただしbugがないことは、X11の機能を完全に置き換えられることを意味しない。 KDE Plasma 6.4：どんどん良くなっているが、問題はまだ多い。KDE 5.27以前のバージョンについては、まあ、戒慎恐懼。KDEは最初に5.4版でWaylandに対応したとはいえ、私はまだあまり使う勇気がない。画面崩れ、タスクバークラッシュ、何でも来る。 XFCE 4.20：すでにWaylandを初歩的にサポートしている。 Cinnamon 6.0：すでにWaylandを初歩的にサポートしている。 LXQT 1.4：2024年にWayland対応予定を発表した。 i3wm、dwmなどのタイル型ウィンドウマネージャー：移植できない。Sway、Hyprlandで置き換えられる。この種のタイル型ウィンドウマネージャーを使う高手なら、私が言わなくても自分で適不適を判断できるはずだ。 Wayland環境へ切り替えたいなら、まず「GNOME」デスクトップ環境を搭載したLinuxディストリビューションを試すとよい。GNOMEはLinuxデスクトップ環境の兄貴分であり、Wayland対応度が最良だ。\nLinuxディストリビューション部分については、Wayland更新とバグ修正を早く受け取りたいなら、ローリングリリース（Arch Linux、Fedora、openSUSE Tumbleweed、Debian Sid、Gentoo）ユーザーのほうが有利で、安定リリース（Debian Stable、Ubuntu LTS、openSUSE Leap、Rocky Linux）ユーザーはより長く待つ必要がある。\n関連読書：Wayland開発進捗を追跡する # WaylandのFreeDesktop.org公式ページ：https://wayland.freedesktop.org Wayland環境でまだ解決されていない問題：Think twice about Wayland. It breaks everything! 私たちはもうWaylandへ移行できるのか：Are we Wayland yet? KDE開発者が書いた週記： Does Wayland really break everything? 揮棒成功が書いた記事。X Window Systemの原理を生き生きと解説している：【心得】Linux 出專欄啦！ （14）:桌面環境系列=〉x11 和 wayland ，談技術債與財源問題（厲害吧！！） HTML5でX11とは何かを理解させる：Explanations - X Window System Basics ","date":"2024年3月23日","externalUrl":null,"permalink":"/ja-jp/posts/should-you-switch-to-wayland-in-2024/","section":"Foss-Issues","summary":" この記事ではIvonがLinuxシステムの「X Window System」と「Wayland」の発展状況を議論し、Waylandの長所と短所を検討して、あなたがWaylandへ切り替えるべきかどうかを決められるようにする。最後には最新のWayland技術を最速で体験できるLinuxディストリビューションも付けておく。 事態は変化しつつある。Linuxコミュニティでは、X11を捨ててWaylandセッションへ切り替えるべきかがよく議論される。では、X11とは何か？Waylandとは何か？\nX Window Systemは、あなたのLinuxコンピューターの画面をどのように表示するかを決めるソフトウェア群である。しかしそれは古すぎて問題が多い。現在はWaylandプロトコルを採用したソフトウェアがあり、現代的なコードでこの古いソフトウェアを置き換えようとしている。ただしWaylandにも問題が山積みで、Linuxシステムで採用が増えているにもかかわらず、発展から10年経った今もX Window Systemは完全には置き換えられていない。以下でその理由を探る。\n1. 変化の契機：X11とWaylandの比較 # X Window SystemとWaylandはいずれもLinuxの画面表示を担当するソフトウェア群である。両者の低層原理比較については、私の知識が浅いため恥をさらすのはやめておく。ネット上にはすでに多くの資料があり、文末の「関連読書」にも詳しく読める面白い記事を多く載せている。ここでは私個人の理解を簡単に述べる。\n","title":"Waylandへ切り替えてX Window Systemを捨てるべきか（2024年版）","type":"foss-issues"},{"content":"Turning PinePhone into a Linux server like Raspberry Pi.\n將Linux手機「PinePhone」變成擬似樹莓派的Linux伺服器。\n這不是台灣小蛋捲，這是美國大手機。 2019年發表的無印版PinePhone，距離我買來開箱已經兩年了啊。當初買來實際拿在手上幾個月後就放到抽屜保存了，因為Wifi晶片自己燒壞了。開著4G隨便就飆到50度的手機真不適合放在口袋帶著走。\n如今，PinePhone的核心已經從特製版kernel-megi變成主線linux-sunxi了，看來開發者統一了這個板子系列了，讓同一個板子的裝置都能夠跑主線Linux核心。\n感謝開發者的付出，postmarketOS和Mobian皆使用了linux-sunxi核心，那麼PinePhone硬體方面的開發應該算是「完成」了吧。儘管開發過程艱困，postmarketOS、Mobian、Ubuntu touch仍支援PinePhone，Arch Linux ARM已經放棄更新。\n考慮到我已經買了PineTab 2當作新主力裝置，PinePhone就沒什麼用了。儘管PineTab 2的RK3566處理器也很慢，但是至少PineTab 2有塊大螢幕，能看看電子書。\n塵歸塵，土歸土，我曾想過要買樹莓派5取代目前架在x86主機上的self-hosting服務的，但是先廢物利用看看吧，將原本就是開發板改裝的PinePhone手機，變回開發板的用途。\nPinePhone跟一般ARM開發板的差別在於多了電池、相機、傳感器，但是缺乏I/O傳輸埠、沒有GPIO接腳等。沒有人寫Android TV系統不太可能當電視盒子，那麼PinePhone就剩下當伺服器一途了。\n為什麼不選其他能跑postmarketOS的高性能舊Android手機來跑呢？他們沒有一台像PinePhone一樣硬體驅動全受Linux支援的啊\u0026hellip;尤其是USB部份。\n根據網路資料，PinePhone的Allwinner A64處理器性能只有樹苺派4 Broadcom BCM2711的二分之一，但起碼比樹苺派3 Broadcom BCM2837好一些，還是有用處的！\n它能跑什麼？\n用Docker跑Nextclould檔案伺服器、Immich照片雲端、Sonarr BT種子下載服務還湊合，窮人版的NAS。但是Jellyfin影片串流就不行了，PinePhone在伺服端1080p解碼很慢。如果要影片播放只能用SAMBA伺服器的模式串流，讓影片在播放端解碼了。 PinePhone還可以跑PiHole擋廣告，準備二個網路卡的話當簡單的路由器也行。或者是作為VPN的入口（不過我比較常用TailScale或ZeroTier，家用VPN實無必要）。PinePhone畢竟是開發板改裝的，耗電量低，開24小時應該沒問題的。\n1. 環境 # 系統：Mobian (Debian Trixie) 手機：Pine64 PinePhone 配件：USB擴充埠、硬碟外接盒x1、硬碟x1、microSD卡x1、USB Wifi兼藍芽網路卡x1、一個鐵盒子 這是最終的樣子，整組裝置放在鐵盒子裡面。這樣就算燒起來也不會央及周遭（？）。 如圖所示，PinePhone下方的是外接硬碟，透過USB連接。PinePhone再透過USB擴充埠連線到Wifi、乙太網路、充電線。 PinePhone內置eMMC疑似壞軌了，所以只得將系統安裝到SD卡，重要資料放在外接硬碟。\n這個結構還需要改進，可能買個小米的方塊集線器統一管理裡面電器的電源，並設計一個延長線按鈕方便開關電源。\n2. 先重裝系統 # 裝系統的目的在於確認硬體正常與否。\n系統選擇Mobian，基於Debian Testing分支開發，目前是Trixie\n參考PinePhone系統安裝教學，先裝好Tow-Boot，再寫入Mobian映像檔到SD卡。\n我使用遠端登入SSH方式搭配Phosh圖形環境下設定系統。如果要用UART也是可以的但是得另外買轉接頭（PinePhone的UART位於手機耳機孔部份）\n開機之後，進入Phosh圖形界面，到系統設定關閉自動暗停模式。再加入~/.bashrc，防止休眠 if [[ -n $SSH_CONNECTION ]]; then sh -c \u0026#34;gnome-session-inhibit --inhibit suspend --reason \\\u0026#34;SSH connection active\\\u0026#34; --inhibit-only \u0026gt; /dev/null 2\u0026gt;\u0026amp;1 \u0026amp;\u0026#34; fi 大部分時候用SSH遠端存取之，使用nmcli設定固定IP。\n因為Debian是自由軟體發行版，Linux主線核心支援的MT7601 Wifi驅動需要安裝linux-firmware-nonfree套件才能載入。其他不支援的Wifi自行用DKMS編譯安裝驅動。\n使用ip addr列出Wifi裝置\n設定Wfii和開機自動連線\nsudo nmcli dev wifi connect \u0026#34;SSID\u0026#34; password \u0026#34;password\u0026#34; sudo nmcli device set wlan0 autoconnect yes 設定防火牆和SSH服務 sudo apt install openssh-server ufw sudo systemctl enable ssh sudo ufw enable sudo ufw allow ssh sudo ufw reload 裝好系統後將PinePhone關機，開始改造硬體。 sudo shutdown now 3. 針對伺服器的硬體改造 # PinePhone機殼用螺絲起子就可以拆解，理論上我可以把螢幕和外殼拆掉，露出板子部分再自己找一個盒子裝，不過我手太笨了，暫時不想這麼做。\n僅拆開塑膠背板，保留螢幕當作底座，露出整塊主機板。拆掉背板後要記得把黏在塑膠殼上的揚聲器零件裝回去。 就在我拆開框架的時候，塑膠殼因為脆化\u0026hellip;斷了 為了讓開機鍵比較好按（Tow-Boot需要手動按音量鍵才會從SD卡開機），把音量鍵模組撬開，使其平放。 PinePhone需要電池才可以開機，這個沒辦法，除非自製電容。這裡電池就當作廉價UPS系統吧，電池充電上限用軟體控制。\n再來是4G模組部分，不當手機用的情況下這個東西基本沒用，所以我就利用PinePhone設計的Kill Switch將其關閉。金屬部份留著當散熱板。\nPinePhone只要螢幕亮著就會額外發熱，且跑伺服器也不用螢幕，所以將螢幕拔掉。參照下圖，把電池上面這條線拆掉就不會對螢幕輸出訊號了。 PinePhone待機大概40 ~ 50度左右，工作的時候約60度，如果溫度壓不下來得買個USB風扇。\n4. 後續的服務安裝 # 根據測試，PinePhone只要螢幕亮著就會發熱，所以裝好系統後將桌面環境Phosh服務關掉。 sudo systemctl disable phosh 設定電池充電上限為80% echo 80 \u0026gt; /sys/class/power_supply/axp20x-battery /charge_control_end_threshold Debian Testing的Docker沒有官方套件庫支援，只能從Debian的套件庫裝 sudo apt install docker.io docker-compose 沒有螢幕下只能從LED燈和硬碟讀取燈號判別系統有無正常開機，為此設計開機服務，讓PinePhone的LED在系統服務啟動後亮藍燈。 cat \u0026lt;\u0026lt;EOF \u0026gt; /etc/systemd/system/bootled.service [Unit] Description=Booting LED service [Service] ExecStart=/bin/bash -c \u0026#34;/usr/bin/echo 1 \u0026gt; /sys/class/leds/blue:indicator/brightness\u0026#34; [Install] WantedBy=multi-user.target EOF echo 1 \u0026gt; \u0026#39;/sys/class/leds/blue:indicator/brightness\u0026#39; sudo systemctl daemon-reload sudo systemctl enable bootled.service 如果臨時需要圖形界面，不插硬體螢幕的話就是搞個TigerVNC伺服器再開桌面環境。\n外接硬碟格式化為EXT4，並設定開機自動掛載。\n# 找出硬碟代號 lsblk # 分割硬碟，新增GPT分割區 sudo fdisk /dev/sdb g n w q mkfs.ext4 /dev/sdb1 sudo mkdir /run/media sudo mkdir /run/media/mobian/HDD #列出硬碟UUID sudo blkid su echo \u0026#39;UUID=\u0026#34;uuid\u0026#34; /run/media/mobian/HDD ext4 defaults,rw 0 1\u0026#39; \u0026gt;\u0026gt; /etc/fstab 參考資料 # PinePhone LEDs - xnux.eu The Paperweight Dilemma - Mobian PinePhone - Pine64 Wiki ","date":"2024年3月22日","externalUrl":null,"permalink":"/posts/turning-pinephone-into-a-server/","section":"所有文章","summary":"Turning PinePhone into a Linux server like Raspberry Pi.\n將Linux手機「PinePhone」變成擬似樹莓派的Linux伺服器。\n這不是台灣小蛋捲，這是美國大手機。 2019年發表的無印版PinePhone，距離我買來開箱已經兩年了啊。當初買來實際拿在手上幾個月後就放到抽屜保存了，因為Wifi晶片自己燒壞了。開著4G隨便就飆到50度的手機真不適合放在口袋帶著走。\n如今，PinePhone的核心已經從特製版kernel-megi變成主線linux-sunxi了，看來開發者統一了這個板子系列了，讓同一個板子的裝置都能夠跑主線Linux核心。\n感謝開發者的付出，postmarketOS和Mobian皆使用了linux-sunxi核心，那麼PinePhone硬體方面的開發應該算是「完成」了吧。儘管開發過程艱困，postmarketOS、Mobian、Ubuntu touch仍支援PinePhone，Arch Linux ARM已經放棄更新。\n考慮到我已經買了PineTab 2當作新主力裝置，PinePhone就沒什麼用了。儘管PineTab 2的RK3566處理器也很慢，但是至少PineTab 2有塊大螢幕，能看看電子書。\n塵歸塵，土歸土，我曾想過要買樹莓派5取代目前架在x86主機上的self-hosting服務的，但是先廢物利用看看吧，將原本就是開發板改裝的PinePhone手機，變回開發板的用途。\nPinePhone跟一般ARM開發板的差別在於多了電池、相機、傳感器，但是缺乏I/O傳輸埠、沒有GPIO接腳等。沒有人寫Android TV系統不太可能當電視盒子，那麼PinePhone就剩下當伺服器一途了。\n","title":"把PinePhone當作樹苺派用，架設Linux伺服器","type":"posts"},{"content":"如果要在Linux系統跑Windows程式，只要能拿到exe，就有機率能透過\u0026quot;Wine\u0026quot;轉譯技術執行。 它能夠把Windows應用程式變成有如原生Linux程式一樣，讓使用者以接近原生的效能，操作Windows上的軟體。\n圖例：Linux系統執行Windows版的WinRAR 本文Ivon詳細介紹Linux系統使用Wine跑Windows軟體的方法。首先簡介Wine的由來，再介紹Wine指令用法，最後附上一些額外的Wine輔助工具。\n1. Wine是什麼 # Wine (WineHQ，紅酒) 是從1993年發展至今的exe轉譯軟體，它將Windows exe的指令即時轉譯成Linux的系統呼叫，連3D繪圖指令都一併轉譯，讓使用者能夠在類Unix系統（Linux、FreeBSD、macOS）執行Windows程式。 Wine為自由開源軟體。名字原本為\u0026quot;Wine Is Not an Emulator\u0026quot;的縮寫，代表它不是虛擬機也不是模擬器，而是轉譯器，性能損失很小。\n在Wine的加持下，諸如Microsoft Office 2016、Adobe Photoshop CC 2021、Adobe AutoCAD、俠盜獵車手V等程式，都能用Wine在Linux執行，甚至有人回報說Linux跑遊戲比Windows還順暢。\nWine還保持著對古老架構的相容性。雖然現在的Linux電腦大多是64位元系統了，但Wine仍然可以跑很久以前的Windows exe。透過WOW64技術，Wine可以在64位元的電腦模擬執行16位元與32位元的exe。\nWine具體能執行的Windows程式有哪些呢？建議到WineDB和ProtonDB看看，裡面有收錄各個Windows軟體的運作狀況，還有安裝前的小撇步。 Steam Deck也有採用Wine的技術，叫做Proton。因此有上Steam的Windows遊戲用Linux版Steam客戶端會更容易啟動，這些遊戲已經由許多Linux系統與Steam Deck玩家測試過了。\n除了官方版的WineHQ以外，Wine還有很多分支(fork)，例如Steam Proton就是專為遊戲優化的，還有外國玩家維護的GE-Proton、中國人維護的Deepin-Wine等版本。本文使用的是官方版Wine。\n2. 給Linux Wine新手的忠告 # 這邊我列出三點最重要的事情，免得使用者對Wine有錯誤的期待。\nWine並非萬能 # 因為Windows API黑箱的特性，軟體能不能運作要看運氣。\nWine不是虛擬機軟體，無法模擬Windows系統的全部功能，別妄想任何軟體都能用Wine解決。\n如果你的軟體需要用到外接硬體設備，得安裝驅動程式，那麼高機率跑不起來，比如繪圖板、印表機。此外需要虛擬化、CUDA、Windows Store的UWP軟體也不行用Wine跑。\n需要完整Windows環境又不想安裝雙系統的，請考慮安裝Windows QEMU/KVM虛擬機\n或者尋找Linux系統上同類軟體替代品：Linux電腦必裝軟體\nWine照樣有中毒風險 # 甭多說了。Windows指令一翻譯成Linux，勒索病毒照樣可以加密你硬碟的檔案。\n這不是說Linux不安全，而是Windows程式的指令經由Wine翻譯成Linux之後就跟系統原生程式沒什麼兩樣了，要搞破壞照樣攔不住。\n請不要從來路不明的網站下載exe。\n請優先嘗試圖形化界面 # Wine預設是要用指令操作的，這篇文章會使用大量Wine的指令。儘管對Linux用戶來說打指令並非難事，不過如果只是想簡單裝個exe軟體，用別人開發好的圖形前端操作會更簡單，他們可以大大簡化Wine安裝軟體的痛楚。\n一般exe和小遊戲我會使用Bottles for Linux\n裝大型遊戲的話可以用Steam Proton或者Lutris\n3. 如何安裝Wine # 你需要一台x86架構的Linux電腦。因為大部分Windows exe都是x86 (32位元) 或x64 (64位元) 架構的，Wine目前僅支援x86架構的Linux系統。ARM架構的Linux系統（如Raspberry Pi開發板）支援狀況不佳，且會涉及到異構計算的問題。\n這裡提供的是原生套件版Wine的安裝方式，不討論Flatpak版本。Ubuntu、Debian、Arch Linux、Manjaro、Fedora、Gentoo、openSUSE等常見的發行版都有收錄Wine套件。\n以Ubuntu系統為例，雖然官方套件庫有收Wine套件，但是版本陳舊。Wine官方文件建議加開發者的套件庫，取得最新版Wine。\n給AMD64架構的Ubuntu系統啟用i386支援\nsudo dpkg --add-architecture i386 新增WineHQ的套件庫 # 取得WineHQ的金鑰 sudo mkdir -pm755 /etc/apt/keyrings sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key # 加入WineHQ套件庫。注意os變數後面的版本代號，Ubuntu 24.04是為noble os=noble sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/$os/winehq-$os.sources # 更新套件庫 sudo apt update 接著安裝穩定版的Wine。 sudo apt install --install-recommends winehq-stable 4. Wine指令基本用法 # Wine的用法： wine \u0026#34;exe路徑\u0026#34; 我們以簡單的Windows軟體「Notepad++」當例子，到官網下載.msi或者.exe執行檔。 如果你要執行notepad++.exe或notepad++.msi，那麼在exe所在的目錄開啟終端機，使用以下指令就可以啟動程式：\nwine notepad++.exe wine notepad++.msi 等一會畫面出來就可以使用了。Notepad++執行狀況良好。 如果Windows軟體需要安裝，那麼Wine會在安裝好後幫你建立Desktop Entry，顯示在桌面的應用程式列表。\n另外Wine會自動註冊檔案關聯，你在Linux檔案管理器對exe點兩下，Wine通常會自己打開。 如果要解除安裝軟體：執行wine unintaller指令，開啟控制台，解除安裝exe。 還請注意不是每個exe都能這樣直接開，有的需要你安裝額外的Windows套件才可以開啟。比如有許多軟體依賴.Net Framework、Visual C++ Redistributable、DirectX等等，或是需要用到中文字體，這些Wine沒有內建，你得用Winetricks安裝（後述）。\n你可能會問，Wine把Windows軟體安裝到哪裡去呢？請看下一節的WINEPREFIX概念。\n5. 理解Wine Prefix虛擬C槽的概念 # Wine Prefix指的是Wine存放資料的目錄。\nWine初次啟動的時候，會在使用者家目錄建立~/.wine目錄存放資料，裡面的結構很像Windows的C槽，含有登錄檔、常用系統文件、字型等等。使用者的exe也是安裝到這裡。 WINEPREFIX可以理解為虛擬C槽的概念吧！如果你用wine explorer指令開啟Wine的檔案總管，就會看到(C:)槽和(Z:)槽兩個磁碟，(C:)對應的路徑是~/.wine，而(Z:)即對應整個Linux系統的根目錄了。 你可以使用WINEPREFIX環境變數，後面接路徑，用於告訴Wine資料存在哪裡。\n用法是這樣，在wine指令前面加上環境變數，這樣Wine就會改成在~/.wine32建立虛擬C槽了。如果不寫WINEPREFIX，Wine資料預設儲存路徑就是~/.wine。\nWINEPREFIX=\u0026#34;~/.wine32\u0026#34; wine notepad++.exe 此外，wine還有一個叫做WINEARCH的環境變數，指定Wine環境是32位元還是64位元。你應該知道有的程式真的沒辦法在64位元執行！\nWINEARCH=win32 wine \u0026lt;exe\u0026gt; 預設情況下，Wine建立的環境都是64位元環境。你必須明確指定WINEARCH才可以用32位元跑。\n不過除非是很老的程式，否則64位元的Wine環境跑32位元exe大部分時候是沒什麼問題的，不太需要指定建立純32位元環境。\n那麼WINEPREFIX有何用處呢？它常常用來建立多個不同的「Wine容器」，類似多個虛擬C槽的概念。有些很機車的Windows軟體，需要改一堆登錄檔，甚至把架構改32位元才能成功執行，這樣久了Wine的C槽環境不免會亂掉。所以，利用WINEPREFIX建立多重的Wine容器，將不同用途的exe隔離就是個解決辦法。\n比如，我可以用這些指令在多個Wine的容器之間切換：\n# 專門跑32位元程式的容器 WINEPREFIX=\u0026#34;/home/user/.wine32\u0026#34; WINEARCH=win32 wine notepad++.exe # 專門跑Photoshop 2021的容器 WINEPREFIX=\u0026#34;/home/user/.winephotoshop\u0026#34; wine photoshop.exe 6. 使用Wine的程式開啟Linux的檔案 # 因為Wine會將Windows exe指令轉譯為Linux指令，因此就有了與桌面環境互動的可能性。\nWine在安裝Windows exe之後，通常會給每一個程式建立一個Desktop Entry，放在~/.local/share/applications/wine/目錄，Desktop Entry指向的就是exe本體。於是乎，Wine安裝的Windows exe就變成了一個符合FreeDesktop標準的Linux桌面程式，能夠吃到XDG MIME的預設開啟程式設定。\n比如說，透過Wine安裝的WinRAR，能夠在Linux檔案管理員作為開啟壓縮檔的其中一個選項。 透過Wine執行Windows程式來下載檔案，也能夠無縫銜接到Linux，認到XDG MIME設定的預設開啟程式。\n有時候Wine的Windows程式開啟檔案選取器，跳出的會是Wine模擬的檔案總管，而非Linux檔案管理員。這個可能沒辦法修改，所以要熟悉一下路徑看法。畫面上應該會看到(C:)槽和(Z:)槽兩個磁碟，(C:)對應的路徑是~/.wine，而(Z:)即對應整個Linux系統的根目錄了。 安裝Wine之後，部份Linux桌面的檔案格式會自動變成用Wine的exe開啟，若不想要Wine修改預設程式設定，請用winecfg指令關閉Manage File Associations。或者用XDG MIME方法修改預設開啟程式。\n7. Wine內建的輔助工具 # Wine本體模擬了一系列Windows系統的程式，輸入指令開啟。\n雖說是圖形程式，但他們也可以用指令操作來變更Windows系統設定，方便用在指令稿批次處理。詳情請參考Wine Wiki\nexplorer：模擬檔案總管。啟動指令：wine explorer，下面程式以此類推。\ncontrol：模擬控制台，僅能解除安裝程式和調整網路設定。\nunintaller：解除安裝軟體的面板。\ntaskmgr：模擬工作管理員。值得一提的是Windows exe的行程在Linux端用htop指令也看得到。\nregedit：模擬登錄檔編輯器\nnotepad：模擬記事本\ncmd：命令提示字元，支援DOS指令。\nwine-dbg：除錯工具\nwinecfg：調整Wine設定值。這個比較有用所以我特別講一下winecfg的功能。 應用程式 → 調整模擬的Windows系統版本\n顯示 → 螢幕解析度，調整Windows程式的字型大小(DPI)\n顯示 → 模擬一個虛擬桌面，可讓Windows程式跑在一個虛擬桌面的視窗。這樣你可以防止某些程式強制進入全螢幕。\n桌面整合 → MIME類型，可關閉Wine與Linux系統的檔案關聯機制。你還可以用XDG MIME方法讓特定格式的檔案以Wine的exe開啟。\n函式庫 → 這裡設定DLL覆寫，設定要使用Wine提供的DLL還是Windows程式提供的DLL，要看情況啟用。\n8. 用Winetricks安裝中文字型 # 執行中文exe程式的時候文字全變成方塊？你需要安裝中文字型！\nWinetricks是一個指令稿，用於幫使用者快速安裝特定Windows軟體。比如裝中文字型、修改登錄檔、建立容器等。有些軟體安裝後還要修改登錄檔才能被系統認到，Winetricks可以將這些操作自動化。\n安裝方法：從Winetricks的Github下載最新版，並將其移動到系統目錄。 wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks chmod +x winetricks sudo mv winetricks /usr/bin Winetricks的使用方法：輸入winetricks指令開啟圖形界面，按照畫面指示操作。 或者你可以直接輸入Windows套件名稱，叫Winetricks自動下載安裝。這裡的例子是告訴Winetricks，下載中文字型cjkfonts和.Net Framework 4.7.1 dotnet471這二個套件。\nwinetricks cjkfonts dotnet471 結合我們上面講過的WINEPREFIX概念，你可以用該變數告訴Winetricks要變更哪一個Wine的容器。\nWINEPREFIX=~/.wine winetricks cjkfonts dotnet471 參考資料 # 官方文件 Wine User\u0026rsquo;s Guide\n","date":"2024年3月20日","externalUrl":null,"permalink":"/posts/linux-wine-introduction/","section":"所有文章","summary":"如果要在Linux系統跑Windows程式，只要能拿到exe，就有機率能透過\"Wine\"轉譯技術執行。 它能夠把Windows應用程式變成有如原生Linux程式一樣，讓使用者以接近原生的效能，操作Windows上的軟體。\n圖例：Linux系統執行Windows版的WinRAR 本文Ivon詳細介紹Linux系統使用Wine跑Windows軟體的方法。首先簡介Wine的由來，再介紹Wine指令用法，最後附上一些額外的Wine輔助工具。\n1. Wine是什麼 # Wine (WineHQ，紅酒) 是從1993年發展至今的exe轉譯軟體，它將Windows exe的指令即時轉譯成Linux的系統呼叫，連3D繪圖指令都一併轉譯，讓使用者能夠在類Unix系統（Linux、FreeBSD、macOS）執行Windows程式。 Wine為自由開源軟體。名字原本為\"Wine Is Not an Emulator\"的縮寫，代表它不是虛擬機也不是模擬器，而是轉譯器，性能損失很小。\n在Wine的加持下，諸如Microsoft Office 2016、Adobe Photoshop CC 2021、Adobe AutoCAD、俠盜獵車手V等程式，都能用Wine在Linux執行，甚至有人回報說Linux跑遊戲比Windows還順暢。\n","title":"「Wine」指令使用教學，在Linux系統跑Windows exe軟體","type":"posts"},{"content":"這篇讓Ivon分享MPV的簡單設定方法，讓你可以得到一個帶有時間軸縮圖預覽的影片播放器。\n想要一款支援大多數影音格式的Linux播放器，那麼你應該試試MPV。 MPV是基於Mplayer開發的開源影片播放器，提供Linux、Windows、macOS、Android版本。\nMPV功能：\n內建FFMPEG，支援大多數的影片格式 可依照硬體性能採用多樣的GPU加速手段，包括VA-API、VDPAU、NVDNC 支援載入多字幕 內建yt-dlp，支援播放線上YouTube影片 可使用Lua、JavaScript、Python撰寫插件，擴充功能 總而言之，功能十分靈活強大。 不過，MPV需要花心思調整，想要開箱即用的播放器建議改裝VLC Meida Player。\n什麼叫做花心思調整？一言以敝之，即MPV是以命令行為主的播放器\n拿VLC做比較的話，通常調整影片播放設定都可以在圖形介面完成，但MPV不一樣，預設的介面十分簡陋，連右鍵選單都沒有。如果要調整MPV的系統設定，你必須手動撰寫設定檔，或者從命令行設定參數，才能達到你要的功能。\n但也因此，MPV的彈性很高，能輕易給其他程式調用，達成不一樣的玩法，比如終端機瀏覽Youtube影片的yt-fzf、將網頁影片導向至MPV的MPV Handler。\n你甚至可以用MPV搭配畫質提升的Anim4K，或者VapourSynth的補幀演算法，提升觀影體驗。\n很多人都說mpv是命令行為主的操作，我個人是覺得把它加點圖形化元素較好。所以下面的文章除了撰寫設定檔之外，還會加入圖形插件，改善原版MPV過於簡單界面的問題，讓你可以少打一些指令。\n我的設定檔盡量以簡單夠用就好，不會放一堆複雜的演算法設定。\n1. Linux如何安裝MPV # 通常Linux套件庫都有收MPV：\n# Ubuntu sudo apt install mpv # Arch sudo pacman -S mpv 你也可以使用Flatpak安裝最新版MPV，Flatpak版MPV有啟用VapourSynth支援。\nflatpak install flathub io.mpv.Mpv Flatpak的程式名字跟原版不同，如果要方便其他程式調用MPV，那就建立別名指令：\necho \u0026#39;alias mpv=\u0026#34;flatpak run io.mpv.Mpv\u0026#34;\u0026#39; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 2. MPV操作方式 # 點選應用程式列表的MPV圖示，開啟主介面。\nMPV視窗極其簡陋，連選單功能都沒有，你得從檔案管理器拖放影片到視窗播放。 MPV預設的重要快捷鍵：\n鍵盤左右鍵：快轉10秒，按著Shift快轉1秒。 鍵盤上下鍵：快轉1分鐘，按著Shift快轉5秒。 v：開關字幕 p和空白鍵：暫停 s：截圖 S：截圖，不包含字幕 Shift ＋ L：無限重播 Shift ＋ S：擷圖，包含字幕與界面元素 滑鼠滾輪：調整音量 f或滑鼠左鍵：切換全螢幕 滑鼠右鍵：暫停影片 Ctrl＋滑鼠滾輪：放大影片 q：退出程式 Shift ＋ Q：退出程式並保存播放進度 中括號 [和]：調整播放速度，以10%為級距 大括號 {和}：調整播放速度成2倍。 Backspace：重置播放速度 Shift ＋ I：顯示系統資訊 你也可以改用命令行啟動。開啟終端機，輸入指令啟動MPV\nmpv [參數] \u0026#34;影片路徑\u0026#34; 例如以全螢幕模式播放video.mkv這個檔案\nmpv --fullscreen=yes /home/user/Videos/video.mkv 或者以純音訊模式播放，這樣MPV視窗就不會跳出來\nmpv --audio-only /home/user/Videos/video.mkv MPV支援串流YouTube影片，餵網址也行\nmpv \u0026#34;https://www.youtube.com/watch?v=PUlQNsl4Qvk\u0026#34; 你可以看到，mpv啟動時需要手動加參數，才可以調整設定，如果你不是命令行愛好者的話肯定會覺得麻煩！所以我們最好改成將常用的選項寫在設定檔(conf)的做法。\n這樣MPV啟動就會讀取設定檔，不用手動加一堆參數了\n3. 撰寫MPV設定檔 (config) # 此處的MPV設定檔(config)參考MPV Reference manual，以及mpv-lazy作者hook007撰寫的mpv官方文档的不靠谱汉化。\n雖然mpv-lazy (Windows) 的設定檔無法直接套用在Linux，但他寫的手冊依然值得參考。\n設定檔路徑 # 首先要找到MPV設定檔的位置\nLinux預設在~/.config/mpv/\nFlatpak版預設在~/.var/app/io.mpv.Mpv/config/mpv/\n~/.config/mpv這個目錄裡面有幾個重要的檔案：\nmpv.conf是關於影片播放器本身的設定，例如解碼器、GPU加速、字幕設定 input.conf代表綁定的快捷鍵。 scripts目錄：MPV支援插件系統，使用Lua語言撰寫，放在底下的.lua檔案MPV一開啟就會自動執行。 scripts-opts為個別插件的設定檔。 播放設定 mpv.conf # mpv可以調整的選項很多，請閱讀官方手冊。這裡只挑幾個最重要的來說。\n用文字編輯器開啟檔案~/.config/mpv/mpv.conf\n首先，你的Linux GPU有正常作動的話應當啟用全部的解碼器，並啟用自動GPU加速。不要全部都拋給CPU算。\nhwdec=auto hwdec-codecs=all 將畫面渲染品質設定為高\nprofile=high-quality 接著設定播放影片時，自動載入同目錄下的字幕檔。字幕樣式可作進一步微調。\nsub-auto=fuzzy sub-font=\u0026#34;Noto Sans\u0026#34; sub-font-size=50 設定影片播放結束後維持視窗開啟\nkeep-open=yes 有需要的話，啟用影片播放進度記憶功能\nsave-position-on-quit=yes 自訂截圖輸出的檔名為檔案名稱＋年＋月＋日，並設定截圖輸出路徑，以及截圖格式。\nscreenshot-template=\u0026#34;%F-%tY-%tm-%td_%tH-%tM-%tS\u0026#34; screenshot-directory=\u0026#34;/home/user/Pictures/\u0026#34; screenshot-format=png 快捷鍵 input.conf # 上面已講解過MPV預設的快捷鍵了。\n這個檔案可以定義按下特定鍵盤後的操作，比如自行定義縮放字幕的快捷鍵：\nALT+k add sub-size +1 ALT+j add sub-size -1 通常我是裝插件的時候才會動這裡的設定，否則用圖形界面就夠了。\n值得注意的是，如果要在input.conf使用快捷鍵，引入外部檔案，需要知道路徑的寫法。\n若路徑開頭為~~/，指向的是MPV目前設定檔的所在目錄。因此~~/filter.vpy等於~/home/user/.config/mpv/filter.vpy\n~/才是指向目前使用者的家目錄。\n4. 安裝圖形介面uosc，啟用時間軸縮圖預覽 # Tomas Klaen開發的uosc指令稿可以讓MPV比較像個正常的播放器。uosc還要搭配po5開發的thumbfast才會有時間軸縮圖預覽(video thumbnail preview on timebar)的功能。\n按照uosc作者說明安裝。\n你也可以手動下載uosc的lua檔，並將其放到MPV設定檔目錄下的scripts。再將uosc.conf放到MPV設定檔目錄下的scripts-opts\n之後再下載thumbfast，將thumbfast.lua放到到MPV設定檔目錄下的scripts，並將thumbfast.conf放到scripts-opts。\n重新啟動後就會看到MPV界面不一樣了。 uosc將大部分鍵盤快捷鍵的操作都圖形化了。將滑鼠放在時間軸上亦會出現縮圖。 5. 附錄：使用MPV當後端的播放器 # 參見Applications using mpv\n很多Linux的播放器使用MPV當後端，比如SMPlayer、Haruna Player、Celluloid、MPV.net，改善了原版MPV介面太醜的問題，部份還保留讀取mpv.conf的功能。不過我採取的做法為在原版的基礎上加裝圖形插件，讓它比較好用一些。因為我想要保留MPV自由調整的特性，而不用裝一堆第三方播放器。\n","date":"2024年3月19日","externalUrl":null,"permalink":"/posts/mpv-player-configuration/","section":"所有文章","summary":"這篇讓Ivon分享MPV的簡單設定方法，讓你可以得到一個帶有時間軸縮圖預覽的影片播放器。\n想要一款支援大多數影音格式的Linux播放器，那麼你應該試試MPV。 MPV是基於Mplayer開發的開源影片播放器，提供Linux、Windows、macOS、Android版本。\nMPV功能：\n內建FFMPEG，支援大多數的影片格式 可依照硬體性能採用多樣的GPU加速手段，包括VA-API、VDPAU、NVDNC 支援載入多字幕 內建yt-dlp，支援播放線上YouTube影片 可使用Lua、JavaScript、Python撰寫插件，擴充功能 總而言之，功能十分靈活強大。 不過，MPV需要花心思調整，想要開箱即用的播放器建議改裝VLC Meida Player。\n什麼叫做花心思調整？一言以敝之，即MPV是以命令行為主的播放器\n拿VLC做比較的話，通常調整影片播放設定都可以在圖形介面完成，但MPV不一樣，預設的介面十分簡陋，連右鍵選單都沒有。如果要調整MPV的系統設定，你必須手動撰寫設定檔，或者從命令行設定參數，才能達到你要的功能。\n但也因此，MPV的彈性很高，能輕易給其他程式調用，達成不一樣的玩法，比如終端機瀏覽Youtube影片的yt-fzf、將網頁影片導向至MPV的MPV Handler。\n你甚至可以用MPV搭配畫質提升的Anim4K，或者VapourSynth的補幀演算法，提升觀影體驗。\n","title":"Linux版「MPV」影片播放器優化設定，圖形界面＋時間軸縮圖預覽","type":"posts"},{"content":"「日本在南京殺了30萬人你知道嗎？歷史不可忘記！」\n「那算什麼，毛澤東屠了三千萬！屠得越多，中國人越會把你當成神！」\n每次有紀念南京大屠殺的就會有一些反中人士出現這種論述。在反對中國共產黨統治的人士中，有一群偏逆向民族主義者的人士，會這樣與小粉紅進行辯論。\n可以說這是一種用極端對付極端的話術。你越是愛誇大渲染歷史悲劇，我就越是要找極端的例子罵回去。於是乎，南京屠支老英雄的梗就誕生了，小粉紅整天說要殺光日本人，可惜本大佐的武士刀已把你的親媽砍到一個不剩。\n從此仇恨不斷延續，形成連鎖。或許有人覺得屠支梗很好玩，但是若想正面歷史，這樣的心態不太健康，到最後會把自己也搞魔怔了。 台灣有沒有這種情況呢？支持者有藍有綠的，偏綠的重視台灣主體性，所以會放大白色恐怖與其相關事件，每年228哭哭啼啼的。\n如果偏藍，那麼意識形態和敘事方式難免偏向大中華主義，比如重視禮義廉恥，反對刪改文言文，普遍仇日等。仇日這點跟現在中共很像，認為凡是中國人都和隨便一個日本人都有深仇大恨，並會質疑綠營為什麼只關心白色恐怖，不關心日本在台殺了多少台灣人（這下吃豆腐了，台灣殖民地人當時已經不是中國人了），並認為現在的台灣人應該都要繼承「中國抗日戰爭的歷史記憶」，展現某種程度上的民族大義。\n台灣比中國好的地方是，我們是民主國家，發生228屠殺事件，想紀念的就紀念，不想的就閃邊涼快去，不會有官方主導全國性風向，搞國家公祭日，張口就來南京殺了30萬，集體情緒勒索又繼續仇恨教育（但又怕屁民真的牙起來反日），那太過了。\n可是，每當有人提出日本屠殺事實，另一方就會用「你怎麼不說國民黨來台又殺了多少人」來作為回答，二元對立的交鋒，然後雙方互搬史料，用誇張的死亡數字比大小（問題是很多時候是灌水的），我認為這很無聊。\n明朝人來台，殺；清朝人來台，殺；日本人來台，殺；中國人來台，繼續殺。中國歷史也一樣，每次的朝代更替戰爭都死了上千萬人，對比世界各國，中國人忽略了這些誇張的死亡數字，反而執著在政府操作的仇恨之下。\n現在的猶太人，還會恨德國人嗎？ 請參考這篇文章：你知道德國為了納粹大屠殺道歉，但你不知道的是他們還做了這些事，化解猶太人的怨恨 如果要讓人原諒，就必須展現出誠意。\n我想既然日本政府和中國政府都為自己做過的事情道歉過了，那也就不要再過份追究了。希望中共未來能被民主政府好好清算。\n確實日本政府的誠意還不夠，且台灣紀念日本的屠殺相對於228較少，雖有立碑，但只有慰安婦運動在時時刻刻提醒日本做的壞事。所以要持續監督讓他們不要忘記歷史 ——— 正如我們台灣人不能放棄轉型正義一樣。\n記住歷史，就讓他們過去了。那些中國政府和日本政府殺人魔在台做過的事情，跟現代的我們又有什麼關係呢。假設政治因素可以拋開，我們為什麼要平白無故去恨，跟自己毫不相識的人群？ 就因為莫須有的民族大義？\nYoutube節目「街頭麥克風」有位新加坡大姊曾call-in進來說過，「中正紀念堂」改「自由廣場」是在做一半事情，應該維持原樣或乾脆炸掉。她還提醒台灣人要記住歷史，但得學會放下。私以為她在說比國民黨每年仇恨日本人、民進黨都還在消費228吧。如此才可以團結往前走。我想到柯文哲其實也有談轉型正義的問題，他要追尋波蘭華勒沙的轉型正義模式，把順序搞對，不是製造仇恨、清算政敵為優先吧。\n過去黨國體制的轉型正義問題，跟外國相比，我們政府可能搞錯了順序，總是先清算而非和解，而不處理問題優先搞鬥爭\u0026hellip;正如外省人在228事件被殺被忽視，南京老英雄的同胞之前在通州遭受的苦難又有誰知道。對於歷史記憶，不能忘記，但要懂得向前。\n這些事情發生了，那就承認是歷史事實。可不論死了多少人，爭執點都不應該是比誰殺多殺少。數據方面可以討論，可是用「天下烏鴉一般黑」來辯論就真的蠻無賴的，沒有誰比較高潔。\n真正高潔的是那些能冷靜看待歷史事實，懂得放下過去仇恨，攜手合作迎向未來的人們。\n","date":"2024年3月19日","externalUrl":null,"permalink":"/posts/2024031901/","section":"Politics","summary":"「日本在南京殺了30萬人你知道嗎？歷史不可忘記！」\n「那算什麼，毛澤東屠了三千萬！屠得越多，中國人越會把你當成神！」\n每次有紀念南京大屠殺的就會有一些反中人士出現這種論述。在反對中國共產黨統治的人士中，有一群偏逆向民族主義者的人士，會這樣與小粉紅進行辯論。\n可以說這是一種用極端對付極端的話術。你越是愛誇大渲染歷史悲劇，我就越是要找極端的例子罵回去。於是乎，南京屠支老英雄的梗就誕生了，小粉紅整天說要殺光日本人，可惜本大佐的武士刀已把你的親媽砍到一個不剩。\n從此仇恨不斷延續，形成連鎖。或許有人覺得屠支梗很好玩，但是若想正面歷史，這樣的心態不太健康，到最後會把自己也搞魔怔了。 台灣有沒有這種情況呢？支持者有藍有綠的，偏綠的重視台灣主體性，所以會放大白色恐怖與其相關事件，每年228哭哭啼啼的。\n如果偏藍，那麼意識形態和敘事方式難免偏向大中華主義，比如重視禮義廉恥，反對刪改文言文，普遍仇日等。仇日這點跟現在中共很像，認為凡是中國人都和隨便一個日本人都有深仇大恨，並會質疑綠營為什麼只關心白色恐怖，不關心日本在台殺了多少台灣人（這下吃豆腐了，台灣殖民地人當時已經不是中國人了），並認為現在的台灣人應該都要繼承「中國抗日戰爭的歷史記憶」，展現某種程度上的民族大義。\n","title":"南京大屠殺老英雄——討論歷史事實，比誰殺多殺少真沒意思，只會造成仇恨連鎖","type":"politic"},{"content":"Building your own custom postmarketOS image with custom kernels and settings. Then flash it to the device or build an image.\n在安裝postmarketOS的文章中，我提過pmbootstrap建立映像檔的作法。這個作法實際上是使用pmboostrap，從官方Gitlab儲存庫下載各個機型的設定檔，再使用程式手工建置出來的。\npmbootstrap也提供移植新機型的功能。使用者可以自行新增機型，進行移植工作。\n不過我今天要講的是修改現有機型的設定檔，達到在建置系統時修改配置的目的。比如把額外驅動編譯進Linux核心，新增預設套件的操作，這個是pmbootstrap init無法幫我們完成的東西，必須修改APKBUILD檔案。\n文末再附上安裝修改後系統的步驟，以及建置postmarketOS映像檔的方法。\n1. 尋找機型設定檔位置 # APKBUILD檔案是告訴pmbootstrap如何處理Linux核心的一個指令稿。\n那要在哪裡找到你要的機型的APKBUILD呢？\n當我們使用pmbootstrap init指令的時候，pmbootstrap會複製一份Gitlab儲存庫下來。\n所有機型設定檔位於此處： ~/.local/var/pmbootstrap/cache_git/pmaports/device/\npostmarketOS每個機型都有對應的linux-和device-開頭的目錄\nlinux-裡面寫的是Linux核心編譯相關的設定。\n-device開頭的目錄則是該裝置的硬體資訊。\n例如這是pine64-pinetab2的情況（註解：撰文當下，Pinetab2的APKBUILD還沒進入Gitlab儲存庫，這是我從pull request手動clone下來的）\n├── device-pine64-pinetab2 │ ├── APKBUILD │ ├── deviceinfo │ └── uboot-script.cmd └── linux-pine64-pinetab2 ├── APKBUILD └── config-pine64-pinetab2.aarch64 因為不可能每台裝置都用主線核心，postmarketOS每個裝置都有自己的Linux核心設定檔案。在postmarketOS的設計下，大部分裝置的Linux核心都是一個APK套件，叫做\u0026quot;Downstream kernel specific package\u0026quot;，對應上文說的linux-開頭的目錄。\n已經移植進入Gitlab儲存庫的裝置，核心通常也會收錄在postmarketOS的edge branch套件庫，不需要手動編譯。\n相對應的，device-開頭的目錄就叫做\u0026quot;Device specific package\u0026quot;了，該套件包含了這部裝置的其餘設定檔。\n既然我們說要自訂編譯配置，那麼我們就來做點修改。每個裝置都有記載編譯方法的APKBUILD檔案，我們要改的就是這個。\n2. 修改核心的APKBUILD # 首先跑完pmbootstrap，指定建置的裝置為pine64-pinetab2\n進入目錄~/.local/var/pmbootstrap/cache_git/pmaports/device/linux-pine64-pinetab2\n可以看到APKBUILD檔案，裡面的檔案內容簡單易懂，相信寫過bash的應該都能看懂。\n└── linux-pine64-pinetab2 ├── APKBUILD └── config-pine64-pinetab2.aarch64 根據官方Wiki Downstream kernel specific package的說明，你可以往APKBUILD裡面加入自訂的編譯指令、指定GCC版本、額外打patch。\n首先要關心的是如何取得核心原始碼的，像PineTab2就是從維護者自己的儲存庫下載targ.gz檔案再交給pmbootstrap編譯。\n# Source _tags=\u0026#34;v6.6.4-danctnix2\u0026#34; _config=\u0026#34;config-$_flavor.$arch\u0026#34; source=\u0026#34; $pkgname-$_tags.tar.gz::https://github.com/dreemurrs-embedded/linux-pinetab2/archive/$_tags.tar.gz $_config \u0026#34; builddir=\u0026#34;$srcdir/linux-pinetab2-${_tags:1}\u0026#34; _outdir=\u0026#34;out\u0026#34; 每次核心原始碼網址一有變更，通常就得重新產生雜湊值，因此請在終端機執行指令，讓pmbootstrap自動算出雜湊值並回填APKBUILD pmbootstrap checksum linux-pine64-pinetab2 之後就可以對核心原始碼操作了。如果只是要開啟幾個核心選項，那麼進入kconfig就行： pmbootstrap kconfig edit linux-pine64-pinetab2 kconfig編輯完成後的核心選項會儲存到同一目錄下的config-開頭的檔案。\n之後嘗試重新編譯核心。pmbootstrap編譯核心是在ARM chroot裡面做cross-compile的。\n# 確認核心有符合postmarketOS要求 pmbootstrap kconfig check # 編譯時可以加上-j8加快速度 pmbootstrap build linux-pine64-pinetab2 若你要使用截然不同的核心原始碼編譯，那麼你就得自己準備一個放在其他目錄（chroot裡面的東西不方便存取），並使用--src告訴pmbootstrap核心原始碼的路徑 pmbootstrap build linux-pine64-pinetab2 --src=/home/user/Downloads/linux-pinetab2-kernel 3. 修改裝置的APKBUILD # 進入目錄~/.local/var/pmbootstrap/cache_git/pmaports/device/device-pine64-pinetab2，有以下內容 ├── device-pine64-pinetab2 │ ├── APKBUILD │ ├── deviceinfo │ └── uboot-script.cmd deviceinfo主要是機型硬體方面的資訊， APKBUILD的檔案則是裝置的設定。裡面的內容參考Wiki Device specific package的說明。\n比如，在subpackages新增安裝額外套件的指令（多個套件用空格分開）。這裡引用Wiki的例子，新增一個叫做$pkgname-x11的subpackage，並新增x11()函數，指示安裝xf86-video-qxl的套件。\nsubpackages=\u0026#34; $pkgname-kernel-v0:kernel_v0 $pkgname-kernel-v2:kernel_v2 $pkgname-x11 \u0026#34; x11() { install_if=\u0026#34;$pkgname=$pkgver-r$pkgrel xorg-server\u0026#34; depends=\u0026#34;xf86-video-qxl\u0026#34; mkdir \u0026#34;$subpkgdir\u0026#34; } 接著，建立device pacakge pmbootstrap build device-pine64-pinetab2 4. 建立完整系統映像檔 # 是時候把改好的系統裝到裝置上了。\n建置postmarketOS的步驟，請參考pmbootstrap建立映像檔。通常有以下建置方法：\n安裝至SD卡 用fastboot刷入 用刷機包刷入 後二個方法是給前Android裝置用的。像我的PineTab 2裝置是支援U-boot的開發板，那麼把系統寫入到SD卡或eMMC就行了。\n將SD卡插到電腦上，用lsblk確認分區，並取消掛載\nlsblk sudo umount /mnt/sdcard 執行以下指令，告訴pmbootstrap直接把系統寫入到SD卡分區。中間需要設定密碼。\npmbootstrap install --dev=/dev/mmcblk0 或者只建立image映像檔\npmbootstrap install 再從tmp目錄取出映像檔\npmbootstrap export cd /tmp/postmarketOS-export cp *.img /home/user/Downloads 手動用dd把映像檔內容寫入到SD卡：\nsudo dd if=pine64-pinetab2.img of=/dev/mmcblk0 bs=1M status=progress conv=fsync ","date":"2024年3月17日","externalUrl":null,"permalink":"/posts/pmbootstrap-build-custom-image/","section":"所有文章","summary":"Building your own custom postmarketOS image with custom kernels and settings. Then flash it to the device or build an image.\n在安裝postmarketOS的文章中，我提過pmbootstrap建立映像檔的作法。這個作法實際上是使用pmboostrap，從官方Gitlab儲存庫下載各個機型的設定檔，再使用程式手工建置出來的。\npmbootstrap也提供移植新機型的功能。使用者可以自行新增機型，進行移植工作。\n不過我今天要講的是修改現有機型的設定檔，達到在建置系統時修改配置的目的。比如把額外驅動編譯進Linux核心，新增預設套件的操作，這個是pmbootstrap init無法幫我們完成的東西，必須修改APKBUILD檔案。\n文末再附上安裝修改後系統的步驟，以及建置postmarketOS映像檔的方法。\n1. 尋找機型設定檔位置 # APKBUILD檔案是告訴pmbootstrap如何處理Linux核心的一個指令稿。\n那要在哪裡找到你要的機型的APKBUILD呢？\n當我們使用pmbootstrap init指令的時候，pmbootstrap會複製一份Gitlab儲存庫下來。\n所有機型設定檔位於此處： ~/.local/var/pmbootstrap/cache_git/pmaports/device/\npostmarketOS每個機型都有對應的linux-和device-開頭的目錄\n","title":"pmbootstrap建置自訂系統image，修改核心APKBUILD設定","type":"posts"},{"content":"本篇講解使用yt-dlp下載網站內嵌影片的用途，並討論yt-dlp指令的用法。 yt-dlp是一款開源、免費、無廣告的影片下載工具，為youtube-dl的分支版，主要用來下載Youtube影片。\n相關文章：yt-dlp Youtube影片下載方式 有趣的是，名義上用於下載Youtube影片的「yt-dlp」也可以用來下載Youtube以外網站的影片。\n基本上只要是使用m3u8串流影片的網站，yt-dlp都有辦法用類似的指令，把網頁的內容抓下來，再搭配ffmpeg自動將.ts轉檔成方便播放的.mp4格式。 yt-dlp下載Twitter影片\n於是乎，想下載網站影片，yt-dlp就成了幾近萬能的下載工具。足以取代VideoDownloadHelper、File Centepede、XX影片下載器等狗一票的軟體了。\n1. yt-dlp支援的網站 # 根據官方Supported sites列表，yt-dlp支援許多熱門影片網站，我挑幾個中文圈比較熱門的舉例：\nYoutube Twitter / X Facebook Instagram Reddit Tiktok 抖音 Threads Twitch Weibo 微博 Vimeo Google Drive Bilibili 哔哩哔哩 iQiYi 爱奇艺 WeTV 腾讯视频 YouKu 优酷 Zhihu 知乎 Niconico ニコニコ Crunchyroll AcFun Bandcamp NetEase Cloud Music 网易云音乐 QQ Music QQ音乐 FC2 Iwara Patreon PornHub XVideos 沒有在列表上的網站也可以用yt-dlp試試看，yt-dlp程式會嘗試找出網頁中所有的影片讓你下載。\n註：巴哈姆特動畫瘋已確認不行，請改用AnimeGamerPlus下載。\n1. 安裝yt-dlp # yt-dlp支援Linux、Windows、macOS、Android、iOS系統。建議搭配ffmpeg使用，方便轉檔。\n參見yt-dlp安裝\n雖然各大網站設計不同，但部份概念是通用的，不論是播放清單、直播、專輯封面、metadata等資訊，yt-dlp都會嘗試把它抓下來。\n2. yt-dlp指令基本格式 # yt-dlp是命令行程式，必須在終端機打指令操作。\nyt-dlp指令格式如下：\nyt-dlp [參數1...參數2...參數3] \u0026#34;影片網址1\u0026#34; \u0026#34;影片網址2\u0026#34; \u0026#34;影片網址3\u0026#34; yt-dlp至少得填入一個影片網址，其餘參數可以隨意組合，以方便你控制具體下載的內容。\n有多個參數和網址的例子：\nyt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; -f \u0026#34;bestvideo[height=1080]+bestvideo[ext=mp4]+bestaudio\u0026#34; \u0026#34;https://twitter.com/elonmusk/status/1745338260660854973/video/1\u0026#34; 如果只給網址，不加任何參數，就是讓yt-dlp自己判斷。\n只有網址的例子：\nyt-dlp \u0026#34;https://twitter.com/elonmusk/status/1745338260660854973/video/1\u0026#34; 3. 下載網頁影片的思考方向 # 遇到問題，敬請參考官方文件\n讓yt-dlp自行決定 # 這是最簡單的作法。預設狀況下，餵給yt-dlp影片網址，不加任何參數，如果該網站有在yt-dlp的支援列表，程式就會自動尋找最佳品質的影片下載，並自動按照寫好的規則合併影音。\n網站太多了，我用Twitter舉例吧，其他網站敬請自行舉一反三。\n比如我餵這個Twitter影片的網址：\nyt-dlp \u0026#34;https://twitter.com/elonmusk/status/1745338260660854973/video/1\u0026#34; 因為yt-dlp有這個網站的規則，它就會自動選取「最高畫質＋最高音質」的網址，下載後自動合併音訊和視訊成為影片。 列出可下載的影片格式 # 如果不確定目標網站有哪些影片解析度能下載，可以用-F參數列出網頁中的影片。（不加-F，yt-dlp會直接進行下載影片的動作）\nyt-dlp -F \u0026#34;https://twitter.com/elonmusk/status/1745338260660854973/video/1\u0026#34; 範例輸出如下，我們可以看到這個Twitter網頁中有4個影片的ID列出來了 要手動下載特定網址的檔案，請用-f參數加上ID\nyt-dlp -f \u0026#34;http-2176\u0026#34; \u0026#34;https://twitter.com/elonmusk/status/1745338260660854973/video/1\u0026#34; 像Twitter這類網站的視訊和音訊是分開的，需要分別下載視訊和音訊後，手動用ffmpeg指令合併。\n也有的網站下載下來就是影片檔了，需要多方嘗試。\n不過正如我上面說的，如果yt-dlp本身就有支援該網站，你其實不用手動指定格式，一切交給yt-dlp決定就好。\n使用條件過濾影片 # yt-dlp提供了多樣的條件過濾器，可以在下載影片時，從檔案大小、解析度、位元率去篩選結果。\n請使用-f參數，並於後方加上過濾條件。\n如果下載時不加任何過濾參數，yt-dlp默認使用-f bestvideo+bestaudio的過濾條件，也就是下載最佳影片與最佳音訊的影片。\nyt-dlp提供「best」、「bestvideo」、「bestaudio」三種條件，best(縮寫為b)會篩出網址中的影片和音訊，bestvideo(bv)只有視訊，bestaudio(ba)只有音訊囉。\n所以-f bestvideo+bestaudio的參數也可以寫成-f bv+ba。\n來做些變化，使用bestvideo加上height=720，等同告訴yt-dlp，下載影片的時候選取720p以上高度(即720p畫質)的影片：\nyt-dlp -f \u0026#34;bestvideo[height=720]\u0026#34; \u0026#34;網址\u0026#34; 如果加上\u0026lt;=符號，過濾條件就會變成「選取畫質最高720p的影片」。\nyt-dlp -f \u0026#34;bestvideo[height\u0026lt;=720]\u0026#34; \u0026#34;網址\u0026#34; 也可以使用其他的比較運算子\u0026lt;, \u0026gt;, \u0026gt;=, = , != ，以及正則表達式。\n指定影片寬度：\nyt-dlp -f \u0026#34;bestvideo[width=1920]\u0026#34; \u0026#34;網址\u0026#34; 指定音訊位元率，單位為Kbps：\nyt-dlp -f \u0026#34;bestvideo[asr\u0026gt;256]\u0026#34; \u0026#34;網址\u0026#34; 指定影片大小，單位為MB：\nyt-dlp -f \u0026#34;bestvideo[filesize\u0026gt;=100M]\u0026#34; \u0026#34;網址\u0026#34; 指定影片副檔名：\nyt-dlp -f \u0026#34;bestvideo[ext=webm]\u0026#34; \u0026#34;網址\u0026#34; 或者，只選取最佳音訊，不要視訊：\nyt-dlp -f \u0026#34;bestaudio\u0026#34; \u0026#34;網址\u0026#34; 如果你要使用複合條件搜尋，那麼就使用加號和多個中括號分開。\n這邊的例子是，選取1080p，且音訊位元率在256Kbps以上的mp4影片。\nyt-dlp -f \u0026#34;bestvideo[heigh=1080]+bestvideo[etx=mp4]+bestaudio[asr\u0026gt;256]\u0026#34; \u0026#34;網址\u0026#34; 你還可以使用斜線/隔開兩個表達式，達成備援選項的效果，例如以下範例，讓yt-dlp嘗試抓1080p的mp4格式影片，沒有的話就隨便抓。\nyt-dlp -f \u0026#34;bestvideo[height=1080]+bestvideo[ext=mp4]+bestaudio / bestvideo+bestaudio\u0026#34; \u0026#34;網址\u0026#34; 如果同時使用-F和-f（注意大小寫），就是有點像「搜尋模式」的樣子，只列出該網址可下載的影片格式，並依照你給的條件過濾，不下載影片。\nyt-dlp -F -f \u0026#34;bestvideo[height=1080]+bestvideo[ext=mp4]+bestaudio\u0026#34; \u0026#34;網址\u0026#34; 控制影片輸出檔名 # yt-dlp提供多個欄位，可按照影片的標題、網址、播放清單名稱決定下載的檔名。\n使用--output控制影片輸出的檔名，此參數若為空白，yt-dlp會自行決定輸出格式，像Twitter的影片就會變成「推文標題」＋「影片網址數字」。\n建議使用這個，用\u0026quot;%(title)s.%(ext)s使輸出的影片完全符合原影片的標題，並包含附檔名。\nyt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; \u0026#34;網址\u0026#34; 如果怕影片出現奇怪字元導致系統無法辨識，可加上--restrict-filenames限制只能輸出ASCII編碼的字元。\nyt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; --restrict-filenames \u0026#34;網址\u0026#34; 加上--windows-filenames則是防止輸出Windows不相容的檔名\nyt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; --windows-filenames \u0026#34;網址\u0026#34; 加上-P可以指定目前要下載到哪個資料夾，比如Downloads\nyt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; -P \u0026#34;/home/user/Downloads\u0026#34; \u0026#34;網址\u0026#34; 如果網站需要登入的話 # 使用--cookies-from-browser參數，將瀏覽器cookie（表示你的帳號在某網站登入狀態）傳給yt-dlp。\n例如讀取Google Chrome的cookie，並下載影片：\nyt-dlp --cookies-from-browser chrome \u0026#34;網址\u0026#34; 手動在瀏覽器用Cookie Export之類的擴充功能，將cookie匯出單一txt檔案，再餵給yt-dlp也可以：\nyt-dlp --cookies cookies.txt \u0026#34;網址\u0026#34; 如果要下載直播的話 # 目前已知Youtube直播可以用--live-from-start指定，Twitch不行。\nyt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; --live-from-start \u0026#34;直播網址\u0026#34; 4. 在下載的影片嵌入額外資訊 # metadata指的是影片描述、演出者、等資訊，有些網站也支援嵌入縮圖到影片檔。\nyt-dlp主要是為Youtube影片設計的程式，Youtube能下載的資料不見得能套用到其他網站上。\n此外，你不一定要嵌入資訊到影片檔裡面，這些資訊都可以在下載時獨立存檔。\n加上--add-metadata參數會把影片的說明欄和其他資訊嵌入到影片檔的synopsis欄位，音樂則是寫入到音訊檔的演出者資訊。\nyt-dlp --add-metadata \u0026#34;網址\u0026#34; 加上--write-description則是把說明欄輸出成單獨一個文字檔案。如果你只想要文字檔，那就加上--skip-download跳過下載影片。\nyt-dlp --write-description --skip-download \u0026#34;網址\u0026#34; --add-metadata和--write-description可以同時使用。\n以此類推：\n--embed-thumbnail嘗試把影片縮圖嵌入到影片檔內（需注意容器是否支援縮圖），--write-thumbnail下載縮圖檔。\n--embed-subs嵌入字幕檔到影片，--write-subs下載字幕檔。\n--embed-chapters嵌入時間軸章節資訊。\n--embed-info-json在影片嵌入json格式的影片資訊，僅支援mkv/mka容器。\n5. yt-dlp下載影片轉檔操作 # 指定影片和音訊格式 # 與其下載後轉檔，何不在下載之時就指定好呢？\n下載影片加上--merge-output-format，yt-dlp就會嘗試將下載的結果合併成該影片格式，目前支援mkv, mov, mp4, webm的容器格式。\nyt-dlp --merge-output-format mp4 \u0026#34;網址\u0026#34; 如果你想要在yt-dlp自動合併視訊音訊後保留所有原始檔案，那就加上--keep-video參數。\nyt-dlp --merge-output-format mp4 --keep-video \u0026#34;網址\u0026#34; 要抽出影片音訊，使用--extract-audio參數，並指定音訊格式。這邊的例子是抽出音訊，並自動轉檔成320K的MP3。\nyt-dlp --extract-audio --audio-format mp3 --audio-quality 320K \u0026#34;網址\u0026#34; 假設影片帶有章節資訊，那麼用--split-chapters讓yt-dlp自動分段影片：\nyt-dlp --split-chapters \u0026#34;網址\u0026#34; 傳給ffmpeg做進一步處理 # 當然了，yt-dlp也支援在下載完成之後，丟給其他程式轉檔。\nyt-dlp搭配ffmpeg的用法：在Linux的bash，搭配管線功能，將yt-dlp的內容導向至ffmpeg。\n具體作法為在yt-dlp指令末端加上-o - 參數，再加上一個|，後面就可讓ffmpeg承接yt-dlp所輸出的內容做處理。\n# yt-dlp下載影片，輸出，讓ffmpeg增加影片的PTS數值，加快播放速度，並轉檔成mkv檔案 yt-dlp \u0026#34;網址\u0026#34; -o - | ffmpeg -i - -filter:v \u0026#34;setpts=0.5*PTS\u0026#34; output.mkv 6. 將yt-dlp常用參數存成設定檔 # 覺得yt-dlp每次下載都要加一堆參數好煩？我們可以使用設定檔(config)將常用參數存起來。\n根據官方文件，Linux/macOS的設定檔位於~/.config/yt-dlp/config，Windows則是C:\\Users\\使用者名稱\\AppData\\Roaming\\yt-dlp\\config\n那麼我們就將常用的參數設定檔存著，也就是不論下載影片或音樂，固定會用到的參數。\n建立一個yt-dlp.conf檔案，裡面填入要用的參數，每行分隔。這裡我只放了固定輸出檔名為影片標題＋副檔名，不要有額外資訊。並一律給下載的檔案嵌入縮圖。 --output \u0026#34;%(title)s.%(ext)s\u0026#34; --embed-thumbnail 這樣日後開啟終端機，下載影片就只需要打yt-dlp \u0026quot;影片網址\u0026quot;，剩餘參數會自動帶入設定檔所寫的內容。 ","date":"2024年3月16日","externalUrl":null,"permalink":"/posts/yt-dlp-download-videos/","section":"所有文章","summary":"本篇講解使用yt-dlp下載網站內嵌影片的用途，並討論yt-dlp指令的用法。 yt-dlp是一款開源、免費、無廣告的影片下載工具，為youtube-dl的分支版，主要用來下載Youtube影片。\n相關文章：yt-dlp Youtube影片下載方式 有趣的是，名義上用於下載Youtube影片的「yt-dlp」也可以用來下載Youtube以外網站的影片。\n基本上只要是使用m3u8串流影片的網站，yt-dlp都有辦法用類似的指令，把網頁的內容抓下來，再搭配ffmpeg自動將.ts轉檔成方便播放的.mp4格式。 yt-dlp下載Twitter影片\n於是乎，想下載網站影片，yt-dlp就成了幾近萬能的下載工具。足以取代VideoDownloadHelper、File Centepede、XX影片下載器等狗一票的軟體了。\n1. yt-dlp支援的網站 # 根據官方Supported sites列表，yt-dlp支援許多熱門影片網站，我挑幾個中文圈比較熱門的舉例：\nYoutube Twitter / X Facebook Instagram Reddit Tiktok 抖音 Threads Twitch Weibo 微博 Vimeo Google Drive Bilibili 哔哩哔哩 iQiYi 爱奇艺 WeTV 腾讯视频 YouKu 优酷 Zhihu 知乎 Niconico ニコニコ Crunchyroll AcFun Bandcamp NetEase Cloud Music 网易云音乐 QQ Music QQ音乐 FC2 Iwara Patreon PornHub XVideos 沒有在列表上的網站也可以用yt-dlp試試看，yt-dlp程式會嘗試找出網頁中所有的影片讓你下載。\n","title":" yt-dlp ～ 免費網頁影片下載軟體教學，支援Facebook、Twitter、Bilibili等網站，可下載m3u8","type":"posts"},{"content":"介紹如何在各大系統安裝影片下載器「yt-dlp」。\n參考yt-dlp的說明文件Github。\n由於Youtube會常常更新網站，yt-dlp開發者也得常常修正下載方法。因此用套件管理器安裝yt-dlp最方便，可以自動收到yt-dlp程式更新。\n另外，我們需要一併安裝ffmpeg，用於影片轉檔。\n在安裝好之後，你便可以用yt-dlp下載Youtube影片，或是下載Facebook、Twitter、Bilibili等多個網站的影片了。\n相關文章：\nyt-dlp下載Youtube影片 yt-dlp下載其他網站Facebook、Twitter、Bilibili的影片 1. GNU/Linux # 儘管許多Linux發行版都有收yt-dlp套件，但為避免下載到舊版，可以從Github直接抓最新二進位檔來用，這個二進位檔適用x86架構的電腦。推薦Ubuntu/Debian/Fedora用戶使用此方法。 sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp sudo chmod a+rx /usr/local/bin/yt-dlp yt-dlp日後可以自己更新自己： sudo yt-dlp -U ffmpeg可以從套件管理器裝： sudo apt install ffmpeg 確認軟體版本： yt-dlp --version ffmpeg -version 2. Windows # Windows 11可以用WinGet套件管理器安裝，它會自動處理更新。\n開啟Windows終端機或Powershell 輸入指令安裝yt-dlp和ffmpeg。\nwinget install yt-dlp ffmpeg 日後更新指令： winget upgrade yt-dlp ffmpeg會安裝到C:\\Users\\你的使用者名稱\\AppData\\Local\\Microsoft\\WinGet\\Packages\\Gyan.FFmpeg_Microsoft.Winget.Source_8wekyb3d8bbwe\\資料夾。\n搜尋編輯系統環境變數 點選環境變數 → 系統變數 → 對Path點二下。\n點選新增環境變數，輸入路徑。把你的使用者名稱換成你的帳號名稱，並請注意ffmpeg-後面的版本號碼，撰文當下是7.0.1。\n\u0026#34;C:\\Users\\你的使用者名稱\\AppData\\Local\\Microsoft\\WinGet\\Packages\\Gyan.FFmpeg_Microsoft.Winget.Source_8wekyb3d8bbwe\\ffmpeg-7.0.1-full_build\\bin\u0026#34; 設定後如圖所示。 重新開啟Windows終端機，輸入ffmpeg -version看有沒有跳出版本資訊，有的話就是設定成功了。 確認軟體版本：\nyt-dlp --version ffmpeg -version 3. macOS # 開啟終端機，安裝Homebrew\n輸入以下指令安裝yt-dlp和ffmpeg：\nbrew install yt-dlp ffmpeg 日後更新指令： brew upgrade yt-dlp 確認軟體版本： yt-dlp --version ffmpeg -version 4. Android # 安裝Termux\n用pip安裝\npkg install python-pip ffmpeg pip install yt-dlp 5. iOS # 安裝a-Shell\n用pip安裝\npip install yt-dlp 附註：Python安裝法 # 此方法適用所有平台，只要安裝Python和pip，就可以安裝yt-dlp：\npip install yt-dlp Linux如果遇到externally-managed-environment錯誤，請改用pipx安裝：\npipx install yt-dlp ","date":"2024年3月16日","externalUrl":null,"permalink":"/posts/yt-dlp-installation/","section":"所有文章","summary":"介紹如何在各大系統安裝影片下載器「yt-dlp」。\n參考yt-dlp的說明文件Github。\n由於Youtube會常常更新網站，yt-dlp開發者也得常常修正下載方法。因此用套件管理器安裝yt-dlp最方便，可以自動收到yt-dlp程式更新。\n另外，我們需要一併安裝ffmpeg，用於影片轉檔。\n在安裝好之後，你便可以用yt-dlp下載Youtube影片，或是下載Facebook、Twitter、Bilibili等多個網站的影片了。\n相關文章：\nyt-dlp下載Youtube影片 yt-dlp下載其他網站Facebook、Twitter、Bilibili的影片 1. GNU/Linux # 儘管許多Linux發行版都有收yt-dlp套件，但為避免下載到舊版，可以從Github直接抓最新二進位檔來用，這個二進位檔適用x86架構的電腦。推薦Ubuntu/Debian/Fedora用戶使用此方法。 sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp sudo chmod a+rx /usr/local/bin/yt-dlp yt-dlp日後可以自己更新自己： sudo yt-dlp -U ffmpeg可以從套件管理器裝： sudo apt install ffmpeg 確認軟體版本： yt-dlp --version ffmpeg -version 2. Windows # Windows 11可以用WinGet套件管理器安裝，它會自動處理更新。\n","title":"yt-dlp安裝教學 (Linux / Windows / macOS / Android / iOS)","type":"posts"},{"content":"qBittorrent是一款開源跨平台的下載軟體，支援Linux、Windows、macOS系統，能夠下載BT種子 (.torrent) 和 磁力連結 (.magnet) 協定的檔案。 不要再用含有廣告的uTorrent和BitComet了！qBitTorrent界面簡單易用，乾乾淨淨不含廣告，是下載P2P網路檔案的最佳軟體。\n更棒的是，qBittorrent內建網頁界面，可以輕鬆遠端管理電腦qBittorrent的下載進度，或者部署到沒螢幕的headless Linux伺服器。\n本文介紹二種qBittorrent裝法，文末再分享一些BT下載的實用配套軟體。\n1. 安裝qBittorrent # 二個UI大同小異。\n如果你是桌面版Linux用戶：安裝桌面版\n如果你想部署到專門下載BT的Linux伺服器，且伺服器沒有螢幕：安裝Docker版\n桌面版客戶端 # qBitTorrent官網提供的是針對AMD64架構建置的AppImage安裝檔。\n我偏好用Flatpak安裝最新版： flatpak install flathub org.qbittorrent.qBittorrent 安裝後可以將Flatpak程式設定為開機自動啟動 cp ~/.local/share/flatpak/exports/share/applications/org.qbittorrent.qBittorrent.desktop ~/.config/autostart Docker版 # 雖說qBittorrent有提供qBittorrent-nox套件可以註冊為systemd服務來跑，不過我認為Docker比較好管理。\nDocker版qBittorrent預設用WebUI存取界面。\n安裝Docker\n參考linuxserver官方文件，建立Docker-compose\ncd ~ mkdir qbittorrent cd qbittorrent vim docker-compose.yml 使用linuxserver組織打包好的映像檔部署 version: \u0026#39;3\u0026#39; services: qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest container_name: qbittorrent environment: - PUID=1000 # 使用一般使用者跑服務，通常UID是1000 - PGID=1000 - TZ=Asia/Taipei # 設定時區 - WEBUI_PORT=8085 # WebUI通訊埠 volumes: - ./config:/config # 設定檔儲存目錄 - ./downloads:/downloads # 下載目錄 ports: - 8080:8080 # 映射容器內部的8080 port - 6881:6881 - 6881:6881/udp restart: unless-stopped 啟動服務 sudo docker compose up -d 查看容器日誌，找到隨機產生的密碼 sudo docker ps sudo docker logs \u0026lt;容器ID\u0026gt; 進入http://localhost:8080網頁界面，帳號輸入admin，密碼輸入剛剛從docker logs取得的數字。 2. qBittorrent使用方法 # 初次啟動的時候，qBittorrent會跳出提醒視窗，告誡使用者P2P軟體同時下載和上傳的特性，您的IP會被暴露出去。言下之意是透過BT下載盜版資源務必小心，應當做好防護措施（見文末）\n建議調整的設定 # 首先指定下載位置，點選工具 → 偏好設定，預設儲存路徑，設定下載位置 接著，點選連線，依照你的網速限制最大連接數，否則你的網路可能會被種子下載塞爆，CPU也會飆高 點選速率，依照你的實際網速限制最大下載速度 下載種子 # 你可以手動到網路上找torrent檔案，再點選檔案 → 新增torrent檔案，開始下載。\n或者點選工具 → 偏好設定 → 選取要自動載入torrent的資料夾 下載種子後qBittorrent會自動開始做種，如果不想的話你需要手動移除下載任務。\n3. 做種記得開通訊埠轉發 # 如果你在下載之餘還打算做種（seeding，讓別人可以從你這邊取得檔案，也可以提昇下載速度），需要調整路由器，設定通訊埠轉發(port forwarding)，將qBittorrent的通訊埠暴露至公共網路。\n參考：Linux設定通訊埠轉發的方法\nqBittorrent使用的通訊埠可以在工具 → 偏好設定 → 連線 → 監聽埠查看，預設為31942。\n如果Linux有啟用UFW防火牆記得要允許通過：\nsudo ufw allow 31942 sudo ufw reload 為提高種子下載速度，建議在qBittorrent新增追蹤器，譬如複製這裡的網址XIU2/TrackersListCollection，並在選項 → BitTorrent → 自動將這些追蹤器附加到新下載中，貼上。\n4. 啟用WebUI遠端存取 # WebUI讓你可以從瀏覽器遠端管理qBitTorrent的下載任務。\nDocker版qBittorrent預設已經啟用WebUI。\n桌面版需要到工具 → 偏好設定 → WebUI勾選啟用，並設定帳號密碼。 隨後便可以用跟Linux電腦同一網路下的裝置，以網址http://localhost:8080開啟WebUI。 如果要從外部網路連線到WebUI，最簡單的方法是使用內網穿透軟體。\n5. qBitTorrent實用配套軟體 # 準備一款VPN，並讓所有Linux的網路流量都走VPN，提高匿名性，比如ProtonVPN或Mullvad VPN。\nDocker版qBittorrent可以搭配Gluetun，透過VPN下載種子，並達成與主機網路隔離的效果。\n另外，如果你覺得手動找種子很麻煩，那麼可以搭配「索引器」和「媒體伺服器」，架設自動化的下載解決方案，參見Sonarr\n","date":"2024年3月16日","externalUrl":null,"permalink":"/posts/qbittorrent-linux/","section":"所有文章","summary":"qBittorrent是一款開源跨平台的下載軟體，支援Linux、Windows、macOS系統，能夠下載BT種子 (.torrent) 和 磁力連結 (.magnet) 協定的檔案。 不要再用含有廣告的uTorrent和BitComet了！qBitTorrent界面簡單易用，乾乾淨淨不含廣告，是下載P2P網路檔案的最佳軟體。\n更棒的是，qBittorrent內建網頁界面，可以輕鬆遠端管理電腦qBittorrent的下載進度，或者部署到沒螢幕的headless Linux伺服器。\n本文介紹二種qBittorrent裝法，文末再分享一些BT下載的實用配套軟體。\n1. 安裝qBittorrent # 二個UI大同小異。\n如果你是桌面版Linux用戶：安裝桌面版\n如果你想部署到專門下載BT的Linux伺服器，且伺服器沒有螢幕：安裝Docker版\n桌面版客戶端 # qBitTorrent官網提供的是針對AMD64架構建置的AppImage安裝檔。\n我偏好用Flatpak安裝最新版： flatpak install flathub org.qbittorrent.qBittorrent 安裝後可以將Flatpak程式設定為開機自動啟動 cp ~/.local/share/flatpak/exports/share/applications/org.qbittorrent.qBittorrent.desktop ~/.config/autostart Docker版 # 雖說qBittorrent有提供qBittorrent-nox套件可以註冊為systemd服務來跑，不過我認為Docker比較好管理。\n","title":"qBittorrent：Linux BT種子下載器安裝教學與使用方法","type":"posts"},{"content":"這篇文章討論在WSL2跑圖形界面和音訊的方法，不使用WSLg。 執行於Windows 11的WSL Ubuntu XFCE桌面\nWSL2剛出來的時候還沒有WSLg這個好用的東西，必須自行解決X伺服器與音訊伺服器的問題。\n相關文章：WSLg跑Linux桌面環境 過去我們要在Windows端準備一款X伺服器 (X server) 的程式，讓WSL能夠把畫面顯示到該軟體上。\n現在有了基於Wayland的WSLg，這個方法也就沒什麼價值了，因其效能不彰又極其麻煩。Microsoft在WSLg實現了類似GPU直通的功能，讓Linux可以存取Windows的顯示卡達成硬體加速。如果沒有WSLg，你就只有效能慘兮兮的virglrenderer可以在WSL的Linux端達成GPU硬體加速。\n1. 停用WSLg # 目前WSL預設啟用WSLg，必須使用.wslconfig的手段，強制停用WSLg。\n安裝WSL2 Ubuntu\n切換到Windows的C槽使用者家目錄C:\\Users\\使用者名稱，新增設定檔.wslconfig\n編輯該檔案，輸入以下內容，停用WSLg\n[wsl2] guiApplications=false 重新啟動WSL wsl --shutdown wsl -d Ubuntu 2. 設定X伺服器VcXsrv # VcXsrv說實在有點陽春，如果不介意付費的話可改用閉源的X410，它整合了X伺服器＋音訊伺服器。\n到Sourceforge下載exe安裝\n安裝後桌面會多出一個XLaunch.exe的捷徑，點選開啟\n選取One Large Window 勾選Disable access control，允許所有連入連線 開啟一個空白視窗，等待連線\n3. 設定PulseAudio音訊伺服器 # 註：我用Windows 11測試時PulseAudio時是跑不起來的，看來Windows版問題很多，也許你可以改在手機或其他電腦安裝PulseAudio，用Wifi串流方式接收WSL的訊號。\n下載PulseAudio程式，FreeDestkopOrg官網的好像已經沒在維護了，請改用Patrick Gaskin維護的版本\n安裝PulsAudio的時候，勾選Allow External Connection和Allow module loading。\n切換到C:\\Users\\使用者名稱\\Program Files (x86)\\PulseAudio資料夾\n編輯etc\\default.pa，把#load-module module-native-protocol-tcp這行換成load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1，並以ANSI存檔（記事本無法直接儲存，要先存到其他位置再複製回來）\n編輯etc\\daemon.conf，將; exit-idle-time = 20改成exit-idle-time = -1。\n開啟終端機，啟動PulseAudio伺服器\ncd \u0026#34;C:\\Users\\使用者名稱\\Program Files (x86)\\PulseAudio\u0026#34; ./pulseaudio.exe 4. 啟動圖形環境 # 設定以下環境變數，指定X伺服器的位址，存到~/.profile。DISPLAY後面的變數會自動偵測WSL的IP。LIBGL_ALWAYS_INDIRECT則是VcXsrv要求設定的。 echo \u0026#34;export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk \u0026#39;{print $2}\u0026#39;):0.0\u0026#34; \u0026gt;\u0026gt; ~/.profile echo \u0026#34;export LIBGL_ALWAYS_INDIRECT=1\u0026#34; \u0026gt; ~/.profile 還有PulseAudio伺服器位址。 echo \u0026#34;export PULSE_SERVER=tcp:localhost\u0026#34; \u0026gt; ~/.profile source ~/.profile 安裝桌面環境，例如XFCE sudo apt install xfce4 xfce4-goodies pulseaudio 啟動桌面環境，VcXsrv應該會看到畫面。 dbus-launch --exit-with-session startxfce4 \u0026amp; 5. virglrenderer圖形加速 # 不是所有程式都支援VirGL驅動，務必注意。\n確認WSL有認到Windows的顯示卡，數值不應為llvmpipe sudo apt install mesa-utils glxinfo | grep OpenGL 安裝virglrenderer套件 sudo apt install libvirglrenderer-dev libvirglrenderer1 virgl-server 啟動headless virgl server virgl_test_server --use-egl-surfaceless \u0026amp; 之後，在啟動程式前面使用環境變數，指定virpipe，程式就會吃到GPU加速 GALLIUM_DRIVER=virpipe firefox 參考資料 # Window10 建置Ubuntu(WSL2)與GUI桌面配置筆記 Setting Up WSL with Graphics and Audio - Mianzhi Wang ","date":"2024年3月15日","externalUrl":null,"permalink":"/posts/wsl-x-server/","section":"所有文章","summary":"這篇文章討論在WSL2跑圖形界面和音訊的方法，不使用WSLg。 執行於Windows 11的WSL Ubuntu XFCE桌面\nWSL2剛出來的時候還沒有WSLg這個好用的東西，必須自行解決X伺服器與音訊伺服器的問題。\n相關文章：WSLg跑Linux桌面環境 過去我們要在Windows端準備一款X伺服器 (X server) 的程式，讓WSL能夠把畫面顯示到該軟體上。\n現在有了基於Wayland的WSLg，這個方法也就沒什麼價值了，因其效能不彰又極其麻煩。Microsoft在WSLg實現了類似GPU直通的功能，讓Linux可以存取Windows的顯示卡達成硬體加速。如果沒有WSLg，你就只有效能慘兮兮的virglrenderer可以在WSL的Linux端達成GPU硬體加速。\n1. 停用WSLg # 目前WSL預設啟用WSLg，必須使用.wslconfig的手段，強制停用WSLg。\n安裝WSL2 Ubuntu\n切換到Windows的C槽使用者家目錄C:\\Users\\使用者名稱，新增設定檔.wslconfig\n編輯該檔案，輸入以下內容，停用WSLg\n[wsl2] guiApplications=false 重新啟動WSL wsl --shutdown wsl -d Ubuntu 2. 設定X伺服器VcXsrv # VcXsrv說實在有點陽春，如果不介意付費的話可改用閉源的X410，它整合了X伺服器＋音訊伺服器。\n","title":"WSL跑Linux的X Widnow圖形環境 ＋ virglrenderer硬體加速（不使用WSLg）","type":"posts"},{"content":"2024年Microsoft宣佈，將於2025年中止支援WSA子系統，正式宣告系統內建的Android模擬器流產。只剩下第三方開源社群維護的WSABuilds還在運作。\nIvon想尋找一些WSA替代方案，因為WSA系統相對其他Android模擬器還滿乾淨的，沒有太多商業廣告置入，所以這篇文章我要試試在Windows跑「Waydroid」。 Waydroid在概念上很像Windows的WSA Android子系統，目的是要讓Linux電腦能夠無縫執行Android APP。由於採用LXC容器技術，Waydroid執行時的開銷很小。\n相關文章：Ubuntu安裝Waydroid ＋ Google Play Microsoft有開發WSL技術，本質上是輕量Linux虛擬機，我們在裡面跑Waydroid不會是巢狀虛擬化，而是像在執行Docker容器，所以效能不會損失太多。加上WSL實現了WSLg的圖形介面，背後使用的是Wayland合成器，所以理論上可以跑Waydroid。\nWSL本質上是虛擬機，因此WSL跑Waydroid，跟在Virtualbox裡面的Ubuntu跑Waydroid其實沒什麼區別，但是WSL啟動速度比傳統的虛擬機要快，且有機會吃到Windows宿主機的GPU加速！\n環境 # Windows 11 23H2 顯示卡Nvidia GTX1050Ti。考慮到相容性，其實用Intel或AMD GPU跑比較好。 WSL 2.3.13 WSL Ubuntu 22.04 使用自訂Linux核心 1. 更換特製WSL核心 # 首先，在Windows安裝WSL，目前版本是WSL 2 2.0.14。\n接著，Waydroid需要名為binder的Linux核心模組才能運作。WSL的核心沒有啟用這選項。\nWaydroid開發者有提供預先編譯好的核心可以直接用，但不知道為什麼他們只把編譯好的核心放在Telegram頻道？\n如果怕有問題的話也可以參考Arch Linux Wiki了解Waydroid的依賴項目，並自行編譯WSL核心。Waydroid依賴的核心模組主要是binderfs，這個得在kconfig選單開啟。\n我們還是使用現成的吧，加Waydroid的Telegram頻道，於聊天欄輸入指令/get wsl取得核心檔案kernel。\n把kernle檔案放到Windows的C:\\Users\\使用者名稱\\customwslkernel資料夾\n之後切換到Windows的C槽使用者家目錄C:\\Users\\使用者名稱，新增設定檔.wslconfig\n編輯該檔案，輸入以下內容，使用自訂核心，並停用WSLg\n[wsl2] kernel=C:\\\\Users\\\\使用者名稱\\\\wslcustomkernel\\\\kernel guiApplications=false 重新啟動WSL wsl --shutdown wsl -d Ubuntu 2. 設定X伺服器和Weston # 我測試WSLg無法直接啟動Waydroid容器，可能是Nvidia與Android的驅動相性不好？所以只好將其停用了，改用跑獨立X伺服器的方式顯示圖形界面。\n或許未來驅動修復後，便可以藉WSLg搞正式的3D加速。那麼就可以跳過這一段的步驟。\n登入WSL，確認WSL的圖形驅動有載入。WSL應該會偵測到你實體機的GPU，例如Intel。 sudo apt install mesa-utils glxinfo | grep OpenGL 設定VcXsrv和PulseAudio\n安裝Wayland合成器Weston\nsudo apt install weston 啟動Weston工作階段，VcXsrv應該會看到Weston視窗 export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk \u0026#39;{print $2}\u0026#39;):0.0 export LIBGL_ALWAYS_INDIRECT=1 weston \u0026amp; 3. 安裝Waydroid # 開啟WSL終端機，加入Waydroid官方套件庫，安裝Waydroid套件 sudo apt install curl ca-certificates lzip python3 python3-pip curl https://repo.waydro.id | sudo bash sudo apt install waydroid sudo waydroid init -s GAPPS -f sudo systemctl start waydroid-container 啟動Waydroid前需要手動啟動dbus服務 sudo systemctl start dbus export XDG_RUNTIME_DIR=/run/user/$(id -u) sudo mkdir $XDG_RUNTIME_USER sudo chmod 700 $XDG_RUNTIME_DIR sudo chown $(id -un):$(id -gn) $XDG_RUNTIME_DIR export DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/bus dbus-daemon --session --address=$DBUS_SESSION_BUS_ADDRESS --nofork --nopidfile --syslog-only \u0026amp; 在Weston的視窗開啟終端機，啟動Waydroid主界面。如果有執行獨立X伺服器，視窗應該會跑到Weston那邊。 export XDG_SESSION_TYPE=wayland waydroid session start waydroid show-full-ui 參照Ubuntu設定Waydroid的過程，把libhoudini和Google Play認證完成。 參考資料 # Is it possible to install Waydroid on WSL? wsl 2 - Getting “Failed to connect to the bus: Could not parse server address” error when launching google chrome or any electron app #7915 ","date":"2024年3月14日","externalUrl":null,"permalink":"/posts/waydroid-on-wsl/","section":"所有文章","summary":"2024年Microsoft宣佈，將於2025年中止支援WSA子系統，正式宣告系統內建的Android模擬器流產。只剩下第三方開源社群維護的WSABuilds還在運作。\nIvon想尋找一些WSA替代方案，因為WSA系統相對其他Android模擬器還滿乾淨的，沒有太多商業廣告置入，所以這篇文章我要試試在Windows跑「Waydroid」。 Waydroid在概念上很像Windows的WSA Android子系統，目的是要讓Linux電腦能夠無縫執行Android APP。由於採用LXC容器技術，Waydroid執行時的開銷很小。\n相關文章：Ubuntu安裝Waydroid ＋ Google Play Microsoft有開發WSL技術，本質上是輕量Linux虛擬機，我們在裡面跑Waydroid不會是巢狀虛擬化，而是像在執行Docker容器，所以效能不會損失太多。加上WSL實現了WSLg的圖形介面，背後使用的是Wayland合成器，所以理論上可以跑Waydroid。\nWSL本質上是虛擬機，因此WSL跑Waydroid，跟在Virtualbox裡面的Ubuntu跑Waydroid其實沒什麼區別，但是WSL啟動速度比傳統的虛擬機要快，且有機會吃到Windows宿主機的GPU加速！\n環境 # Windows 11 23H2 顯示卡Nvidia GTX1050Ti。考慮到相容性，其實用Intel或AMD GPU跑比較好。 WSL 2.3.13 WSL Ubuntu 22.04 使用自訂Linux核心 1. 更換特製WSL核心 # 首先，在Windows安裝WSL，目前版本是WSL 2 2.0.14。\n","title":"Windows 11用WSL跑Linux的Android容器「Waydroid」","type":"posts"},{"content":"Aidoku是一款iOS漫畫閱讀器，免費，開源，無廣告，能夠閱讀各大網站的漫畫。 界面設計十分類似Android的Mihon，使用者安裝擴充套件後，就可以閱讀動漫之家、漫畫人、nHentai等網站的漫畫。 看到喜歡的漫畫可以收藏，或者下載到iPhone離線閱讀。 螢幕打橫Aidoku會自動進入雙頁模式，非常適合iPad使用。 Aidoku還支援透過iCloud同步書庫，或是MyAnimeList同步閱讀紀錄。\n1. 下載Aidoku # Aidoku由Skittyblock開發，目前沒有在App Store上架。請到Github下載IPA，並用AltStore側載方式安裝。\n雖然Aidoku設計很像Tachiyomi，但畢竟是不同的APP，擴充套件是不相容的，且Aidoku沒有閱讀本機漫畫的功能。\n2. 加入漫畫來源 # 用Safari開啟Skittyblock/aidoku-community-sources網頁，點選頁面中的「Add this source list」連結，Aidoku會自動開啟，新增漫畫來源。 或者使用這個專門收錄中文內容的儲存庫：suiyuran/aidoku-zh-sources: Aidoku 中文图源\n再於Aidoku設定，勾選「顯示成人內容」 這樣你就可以自由安裝漫畫擴充了，點選右上角切換語言。 通常點進漫畫網站就能直接閱讀。如果網站無法運作，請嘗試向Github維護者回報。 APP裡下載的漫畫圖檔會放到我的iPhone → Aidoku → Downloads資料夾。\n如果你有開啟iCloud同步，則漫畫圖檔會自動在多個裝置之間同步，方便你存取書庫。不過根據開發者說法，iCloud有bug，可能無法每次都成功同步就是了。\n","date":"2024年3月14日","externalUrl":null,"permalink":"/posts/ios-aidoku-manga-reader/","section":"所有文章","summary":"Aidoku是一款iOS漫畫閱讀器，免費，開源，無廣告，能夠閱讀各大網站的漫畫。 界面設計十分類似Android的Mihon，使用者安裝擴充套件後，就可以閱讀動漫之家、漫畫人、nHentai等網站的漫畫。 看到喜歡的漫畫可以收藏，或者下載到iPhone離線閱讀。 螢幕打橫Aidoku會自動進入雙頁模式，非常適合iPad使用。 Aidoku還支援透過iCloud同步書庫，或是MyAnimeList同步閱讀紀錄。\n1. 下載Aidoku # Aidoku由Skittyblock開發，目前沒有在App Store上架。請到Github下載IPA，並用AltStore側載方式安裝。\n雖然Aidoku設計很像Tachiyomi，但畢竟是不同的APP，擴充套件是不相容的，且Aidoku沒有閱讀本機漫畫的功能。\n2. 加入漫畫來源 # 用Safari開啟Skittyblock/aidoku-community-sources網頁，點選頁面中的「Add this source list」連結，Aidoku會自動開啟，新增漫畫來源。 或者使用這個專門收錄中文內容的儲存庫：suiyuran/aidoku-zh-sources: Aidoku 中文图源\n再於Aidoku設定，勾選「顯示成人內容」 這樣你就可以自由安裝漫畫擴充了，點選右上角切換語言。 通常點進漫畫網站就能直接閱讀。如果網站無法運作，請嘗試向Github維護者回報。 ","title":"iPhone免費看漫畫APP「Aidoku」，可下載離線閱讀，支援動漫之家、漫畫人源","type":"posts"},{"content":"","date":"2024年3月13日","externalUrl":null,"permalink":"/tags/mullvad/","section":"標籤","summary":"","title":"Mullvad","type":"tags"},{"content":"聲明：我跟Mullvad VPN AB公司無任何商業合作關係，文中所有連結都不含折扣代碼，撰文推薦只是為了推廣自由軟體。\nMullvad是一家瑞典的VPN供應商，成立於2009年，專為注重隱私、願意付費的VPN用戶所設計。 個人評價Mullvad VPN的優點：\n高隱私性的帳號註冊方式 多個國家的伺服器，從日本美國到歐洲都有 絕不蒐集使用者資料 Kill Switch 擋廣告DNS伺服器 開源客戶端 無中資背景 該公司宣稱不蒐集使用者資料，證明呢？我覺得可以看看這個有趣報導：The Verge轉述，瑞典警方曾經搜查過Mullvad的辦公室，卻什麼也沒找到。Mullvad甚至僱用了第三方機構，負責檢查其VPN安全措施。\n很多VPN供應商都說會保護你的隱私，Mullvad是我看過把這點做到極致的一家。Mullvad的帳號註冊機制很特別，網站會隨機發給你一組ID當識別證，如此一來便保證匿名性，不需要KYC認證，也不用電子郵件或電話或註冊。\nMullvad VPN缺點：\nMullvad不會讓你吃免錢的 連線速度普通 不支援通訊埠轉發 (port forwarding) 1. Mullvad VPN方案定價 # 你必須付5歐元的月費（公道價）才可使用他們的VPN服務。不論買多長的方案，價格都一樣，有30天退款保證。 他們官網有寫為何不提供免費服務和折扣的原因： 此外，Mullvad支援多種付款方式，不論是信用卡、Paypal、比特幣他們都接受，你甚至可以直接寄現金到他們的公司完成付款XD\n2. 註冊Mullvad帳號 # 到Mullvad官網註冊帳號。其實也不是註冊啦，網頁產生的數字就是你的帳號，務必記好。 登入後點選「為您的帳戶增加使用時間」，再輸入付款方式即可。 3. 安裝Mullvad客戶端 # 根據Mullvad官網的政策，你最多可以在5個裝置登入。\nMullvad支援Linux、Windows、macOS、Android、iOS系統。原始碼可以在Github取得。\n請到官網下載客戶端，安裝後登入Mullvad帳號即可使用。\n客戶端內建Kill Switch機制，可在VPN無法連線的時候自動斷網，防止IP外洩。 你還可以參照Mullvad DNS over HTTPS的指示，設定擋廣告功能。 Mullvad尚提供Wiregurad和OpenVPN的組態，讓你可以部署到Linux伺服器，用其他客戶端連線到Mullvad VPN的伺服器。參見：WireGuard on a router\n","date":"2024年3月13日","externalUrl":null,"permalink":"/posts/mullvad-vpn/","section":"所有文章","summary":"聲明：我跟Mullvad VPN AB公司無任何商業合作關係，文中所有連結都不含折扣代碼，撰文推薦只是為了推廣自由軟體。\nMullvad是一家瑞典的VPN供應商，成立於2009年，專為注重隱私、願意付費的VPN用戶所設計。 個人評價Mullvad VPN的優點：\n高隱私性的帳號註冊方式 多個國家的伺服器，從日本美國到歐洲都有 絕不蒐集使用者資料 Kill Switch 擋廣告DNS伺服器 開源客戶端 無中資背景 該公司宣稱不蒐集使用者資料，證明呢？我覺得可以看看這個有趣報導：The Verge轉述，瑞典警方曾經搜查過Mullvad的辦公室，卻什麼也沒找到。Mullvad甚至僱用了第三方機構，負責檢查其VPN安全措施。\n很多VPN供應商都說會保護你的隱私，Mullvad是我看過把這點做到極致的一家。Mullvad的帳號註冊機制很特別，網站會隨機發給你一組ID當識別證，如此一來便保證匿名性，不需要KYC認證，也不用電子郵件或電話或註冊。\nMullvad VPN缺點：\nMullvad不會讓你吃免錢的 連線速度普通 不支援通訊埠轉發 (port forwarding) 1. Mullvad VPN方案定價 # 你必須付5歐元的月費（公道價）才可使用他們的VPN服務。不論買多長的方案，價格都一樣，有30天退款保證。 ","title":"Mullvad VPN安裝教學，注重隱私的付費VPN供應商","type":"posts"},{"content":"","date":"2024年3月13日","externalUrl":null,"permalink":"/tags/war-thunder/","section":"標籤","summary":"","title":"War Thunder","type":"tags"},{"content":"我再也不可能累積出那麼多的眷戀\n我曾堆出最高的疲憊和思念\n到它垮前\n—————— 焦安溥 〈日子〉\n深刻的感到自己對遊戲不再那麼熱衷，大約是最近二年的事情。\n長大後不玩遊戲是世界上許多人的共通現象，準確的說是「遊戲不再那麼重要」了吧。\n要了解這個現象，我想先分享一個個人觀察的體會\n線上遊戲入坑退坑的輪迴 # → 剛入坑不知道玩什麼，但是好玩就瞎玩\n→ 看攻略慢慢了解遊戲系統，知道了角色的強弱\n→ 迎接遊戲限時活動，選擇開肝或者無視\n→ 為初次肝成功而喜悅，獲得成就感\n→ 一旦肝下去就會變成遊戲的奴隸，定時上線打活動\n→ 長草期也必須繼續肝，培養實力\n→ 準備下一個活動\n→ 肝活動\n→ 愛一個遊戲愛到去買週邊、看展覽、讀本子，甚至研讀歷史資料，撰寫小論文\n→ 肝活動\n→ 厭倦，找其他遊戲來陪襯\n→ 慢慢跟不上活動和版本更新\n→ 乾脆不玩了\n→ 但出於懷念的理由，偶爾回來玩一下\n玩了很久的那五款遊戲 # 以上線上遊戲入坑退坑環節包含《當個創世神 Minecraft》、《俠盜獵車手 Grand Theft Auto》、《艦隊Collection 艦隊これくしょん》、《戰爭雷霆 War Thunder》、《命運/冠位指定 Fate/Grand Order》，這幾個是我最喜歡的遊戲。\n《Minecraft》比較特殊，因為它沒有固定的步調，單機模式下想玩就玩，不玩就滾。\n以上遊戲都玩了超過5年以上。能讓我玩長期的遊戲不多，不喜歡的遊戲通常到了「瞎玩」階段就會被刷掉，解除安裝。\n簡述五款遊戲特色如下：\n《當個創世神 Minecraft》自由度高的方塊建築遊戲，加上模組和多人連線，玩法幾乎無限。入坑時間：2012年。\n《俠盜獵車手 Grand Theft Auto》出了很多代的大型3D動作遊戲，高自由度的探索世界，認識世界各地的黑幫文化，還有電台裡面的音樂寶藏。入坑時間：2013年。\n《艦隊Collection 艦隊これくしょん》二戰萌化船艦為主題的網頁卡牌遊戲，包含陸軍及空軍要素，兵推式遊戲（事實上很多時候是看運氣）。入坑時間：2015年。\n《戰爭雷霆 War Thunder》以各國空軍、陸軍、海軍為主題的大型射擊遊戲，遊戲物理引擎十分擬真。入坑時間：2018年。\n《命運/冠位指定Fate/Grand Order》縫合各國神話與TypeMoon世界觀，拯救人類史的手機遊戲，以劇情出名。入坑時間：2019年。\n得到了為什麼又放手了 # 要說玩遊戲沒有收穫是不正確的，他們絕不是電子雲煙，很多遊戲不只是單純媚宅而已，而是把一個國家的歷史文化都包含進去了。好比閱讀文學作品，這些遊戲裡面我就接觸到了各國不同的風景。\n只是，上面列出的遊戲，到最後都被我棄了。現在會開啟來玩的，除了懷念一下，就是進行研究才會開，例如測試Linux上的相容性、研究裝模組等等。慢慢的，過去裝在手機和電腦裡面的遊戲逐漸生灰塵，開啟的次數竟然是以每年幾次來計算的了。\n長大後有什麼比遊戲還好玩的？很多事物。自從年齡增長，遊戲不再是唯一，所以熱情才消退了吧。遊戲退化成追劇一樣的休閒娛樂，不再沈迷。除非自身是相關從業者，否則遊戲在娛樂載體之外的用途又有誰會去關心。\n為什麼遊戲明明可以算是棄了，卻還讓人對其勾勾纏呢（台語）？沒有很投入卻繼續玩總有罪惡感？\n如果以功利角度來看，不就是一款遊戲嘛，沒有金錢回報，單純投入熱情玩的，棄了就棄了，有什麼懷念的，趕快把精力投入下一款吧。你看那些遊戲實況主，換遊戲的速度比肥宅換動漫老婆的速度還快。不是大課長？那你走吧，沒你世界繼續轉。\n可是若計算沉沒成本，那些投入的精力和金錢是真的回不來了啊！所以才會有這些深刻的感情存在吧。\n有的遊戲玩家選擇每日登入的形式，繼續與過去遊戲維持低溫度的感情，就是呼應沉沒成本的心裡。\n花在遊戲的錢我是不在乎（咦），為了抽卡投入超過一部iPhone錢的事已成過往，但是時間投入導致那些遊戲的回憶烙印在腦海中，這就真的是難以揮之不去的倩影了。或者可以說，遊戲成為許多人成長的一部分，刻印在靈魂之中，形塑了人的部份精神。\n雖說如此，這不是代表我就此不玩遊戲了，偶爾還是會開來玩。呼應文章一開始引用的歌曲所言，分了就分了，別把遊戲看那麼重要，也不必為了沒有很投入遊戲而感到罪惡感。\n續篇：覺得玩遊戲都很無聊的厭倦感，我想真的是電子陽痿了\n","date":"2024年3月13日","externalUrl":null,"permalink":"/posts/quit-gaming-when-we-growing-old/","section":"Personals","summary":"我再也不可能累積出那麼多的眷戀\n我曾堆出最高的疲憊和思念\n到它垮前\n—————— 焦安溥 〈日子〉\n深刻的感到自己對遊戲不再那麼熱衷，大約是最近二年的事情。\n長大後不玩遊戲是世界上許多人的共通現象，準確的說是「遊戲不再那麼重要」了吧。\n要了解這個現象，我想先分享一個個人觀察的體會\n線上遊戲入坑退坑的輪迴 # → 剛入坑不知道玩什麼，但是好玩就瞎玩\n→ 看攻略慢慢了解遊戲系統，知道了角色的強弱\n→ 迎接遊戲限時活動，選擇開肝或者無視\n→ 為初次肝成功而喜悅，獲得成就感\n→ 一旦肝下去就會變成遊戲的奴隸，定時上線打活動\n→ 長草期也必須繼續肝，培養實力\n→ 準備下一個活動\n→ 肝活動\n→ 愛一個遊戲愛到去買週邊、看展覽、讀本子，甚至研讀歷史資料，撰寫小論文\n→ 肝活動\n→ 厭倦，找其他遊戲來陪襯\n→ 慢慢跟不上活動和版本更新\n→ 乾脆不玩了\n→ 但出於懷念的理由，偶爾回來玩一下\n玩了很久的那五款遊戲 # 以上線上遊戲入坑退坑環節包含《當個創世神 Minecraft》、《俠盜獵車手 Grand Theft Auto》、《艦隊Collection 艦隊これくしょん》、《戰爭雷霆 War Thunder》、《命運/冠位指定 Fate/Grand Order》，這幾個是我最喜歡的遊戲。\n","title":"長大後就不玩遊戲了，即使是最喜歡的創世神和艦娘","type":"personal"},{"content":"現在是後後後後後冲浪TV時代了。\n介紹Reddit的二個冲浪系sub：「航空母艦」和「軍武次位面」\n他們算是繼承自幽默TV一系的分支，見：幽默之家覆滅史\n因為二個sub高度相似，且存在時間短，我把二個合在一起寫。\n在r/Youmo被封之後的過渡期，曾經存在r/realYoumo、r/real_youmo、r/langren等sub，因為接連被封，航吧的人數才多了起來。等到航吧被封，用戶又遷往軍吧。\n鑑於r/realYoumo權蛆橫行，航吧和軍吧的Mod管制倆比較寬鬆。\n倆sub裡面的支那豬，屬於一直都沒底線的那種浪人，鍵政為樂，又當屠支大佐。\n到最後，這二個sub也逃不過被Reddit大Mod封殺的命運，理由都是「意圖復刻浪系sub」。 偷自r/langrenClub，「君無次未眠」為機翻結果\nu/Stunning-Captain6810有詩云：\n君无次未眠？\n只怕遮著了这相扑！\n取四面城门，\n後日离寨三十里外！\n宋江道夜来是我不是了。\n我們唯一確定的是，左理解一直與浪人糾纏到最後。\n1. 航空母艦吧 (r/HangKongMujian) # 航空母艦吧，簡稱航吧。用戶自稱航友。 存在時間：2023年6月29日 ~ 2024年1月6日\n板標：\n各国海军以舰载机为主战武器的大型水面舰艇\n雖然叫做航空母艦，但從來都沒有人發過航母的照片，連軍事情報都很稀少，大部分是鍵政和賽博屠支。\nsub名字來自百度貼吧的同名貼吧，但很顯然地，Reddit的航吧跟百度貼吧的航吧完全不是一個性質的東西。\n牆內的航吧都是小粉紅言論，Reddit航吧則是充滿支黑言論。\n從冲浪TV在牆內貼吧的早期文獻《冲浪公寓》可以得知，航吧曾是冲浪TV吧主「古德莉莉安」宣戰的對象之ㄧ\n現在神友卻把這麼個名字縫在一起了。\n在幽默炸了之後，航吧Mod便發帖置頂，貼出8964李老八It\u0026rsquo;s my duty的照片：失聯默友在此集結！ 航吧繼承了幽默TV的Bing AI自動回覆機器人鴨鴨，改名叫做「兔兔」，依然會在帖子下方給予奇怪的回覆。 2023年9月7日的r/HangKongMujian\n航吧的浪人發言無底線，發帖內容以時事、生活、屠支、反同、反進步主義、反女拳、愛貓、輝、incel言論為主。\n若去除政治立場不說的話，浪人跟粉紅的思維其實差不多，再次印證了「神兔二象性」定理。 r/realYoumo還在的時候，航吧算是備用的家，人比較少，這時已經開始出現屠支言論亦沒引起太大波瀾。\n等到航吧人多起來，浪人的傳統藝能就回來了，開始大肆炒作，舉報狗也逐漸多了起來，最終被封。\n台灣浪人山豬哥(u/Wild1Boar)約是在航吧時期崛起。\n2. 軍武次位面吧 (r/JunWuCiWeiMian) # 簡稱軍吧，用戶自稱軍友。\n存在時間：2023年12月4日　~ 2024年2月28日\n板標：\n《军武次位面》吧欢迎您\n跟航吧情況類似，明明叫軍武但幾乎沒有人發軍事相關主題。只有後期炸sub的用戶所發的烏俄戰爭gore影片勉強算軍事討論吧。\n得名自百度貼吧同名貼吧。《军武次位面》是一個老牌的中國網路軍事節目。\n星野愛(u/Spezr)、山豬哥(u/Wild1Boar)、還能說話嘛(u/HaiNengShuoHuaMa8964)、u/WWWWWMWWWWWWWWMWWWWW曾經擔任Mod。\n在航吧炸了之後，軍吧Mod便發帖置頂，貼出8964李老八It\u0026rsquo;s my duty的照片：失聯航友在此集結！ 由此可以確定，軍吧是航吧繼承者。 2024年2月11日的r/JunWuCiWeiMian\n該sub也有加入自動回覆機器人「鴨鴨」。好笑的是Mod又另外新增了一個「神父機器人」，會給浪人講聖經道理。\n後期復活了屠支TV的反舉報機器人：\n你被支那猪举报了，幸好本鼠及时赶到帮你自动ignore了举报并将举报蛆的妈妈当场击毙。举报蛆的妈妈现在正在摘器官的救护车里被支那黑警压的浪叫，现在请让我们按照支那传统美德为举报蛆献上最诚挚的祝福，毕竟死者为大（指巨人观\n軍吧用戶常打趣的互罵支那豬、台巴子、殖畜，也有舉報狗與炸彈人混入其中，Mod不怎麼管理。 Reddit的軍吧甚至被牆內軍吧舉報過造謠： 网曝李铁因心脏病在看守所去世！官方发表声明，希望不要继续传谣 - 网易\n不禁讓人想到，台灣Komica島民也曾經反殺支那： 中官媒稱熊貓「團團」過世原來是被「K島」網友騙了！ - 自由時報\n有陰謀論者認為這是軍吧淪陷的開始，觸動國安神經了，加速軍吧被封的速度。\n不過，引用自SayaMemory用戶的說法：\n在造謠李鐵事件後，Mod星野愛怕牆內引流來一地雞毛然後選擇指使山豬哥把sub轉private，後被WMW誤認為是山豬哥權癮大得批爆於是公開拷打山豬哥，星野愛在post下表示是自己指示的別罵了。 山猪哥自己滚吧，早看你不顺眼了，这手就收不住是吧，非要玩你那点权\n在鎖了sub幾個小時後星野愛坦白是自己讓山豬哥鎖的sub，並因為自己違反軍吧sub規對自己進行陶片放逐,在陶片放逐post下山豬哥對星野愛抱怨說「你就是這樣對我的嗎」，星野愛進行道歉,山豬哥說自己管sub累死累活的我再也不管你了讓軍吧自生自滅了(指ban人累死累活)於是星野愛和山豬哥就這樣下台，軍吧看似進入「混沌期」。\n但實則一直在背後默默運轉。sub的並不是星野愛和山豬哥而是u/HaiNengShuoHuaMa8964，從航吧一直到軍吧，是他寫的自動批准shadow ban的auto approve腳本也是他幫助恢復被刪除的貼文，而星野愛和山豬哥這兩個只負責刪封ban人並未參與到sub建設之中，星野愛和山豬哥的倒台實則，才是軍吧真正擁抱光明的一天。 看了一下帖子发现军友对军吧的3个mod有点误解\n2024年2月的迪蛆週刊報導軍吧的新聞，指出山豬哥頤指氣使的炒作，亂刪帖。\n還烙下一句名言，公然違反吧規：\n你們中國人這輩子能聽懂的唯一語言叫做權力\n2月22日，山豬哥炒作過頭下台，星主席自認為違反吧規，進行自我放逐。\n征求意见稿\n在那之後開始有炸彈人頻發愛貓（虐貓）、愛人（獵奇）、輝（幼女）、開盒影片，加速sub滅亡，sub幾乎進入無政府狀態。\n還有軍友學會利用shadow ban的漏洞不斷上傳違法影片到其他浪系sub，意圖連帶爆破r/real_China_irl。（原理：r/real_China_irl的AutoMod會自動刪帖，但連結依然存在，分享到別的sub還是看得到帖子，於是乎軍友分享的東西便成了暗網資源。）\n軍吧內部用戶鬥爭如此激烈，曾有用戶說：\n拜託你們出去touch grass吧，都魔怔成什麼樣了？\n最終軍吧被封的時間線：炒作李鐵上窪地軟體熱搜 → 星野愛心虛 → 讓山豬哥鎖sub → 被WMW解封 → 自我道歉陶片放逐 → 迪友瘋狂宇宙 (mod放任而並非無人管理) → 瘋狂宇宙過後自發秩序建立 → 2月29日被封鎖\n但也有劫後餘生的用戶說，到頭來軍吧被封的理由依然是「復刻冲浪系sub」，所以其實煉銅也沒那麼嚴重嘛～ 3. 我的家呢！？ # 新家中國人口吧！簡稱口吧，這也是在牆內很熱門的小粉紅聚集地。\n但Reddit上的備用家r/zhongguorenkou似乎沒人的樣子。目前大夥是聚集在r/langrenClub\n從這張圖可以知道，迪蛆不太監一點的話，就是躲不了被追殺的命運。 我有看到r/langrenClub用戶嘗試自架Lemmy伺服器，擺脫Reddit超管的追殺。迪友終於進步了！\n但我不負責任的說，那個就算建成了也高機率變成Scored那些沒人過問的墳場，或是Band小圈圈。再加上Lemmy創辦人有左逼身份，反同反進步的浪人到那裡可能死更慘。真右狗還不如到Gab的rightdogTV與保守老嗨玩耍。\n另請參閱：還活著的Reddit沖浪TV新家\n參考資料 # 個人經驗 Internet Archive的快照 ","date":"2024年3月12日","externalUrl":null,"permalink":"/posts/the-fall-of-hangkongmujian-and-junwuciweimian/","section":"Politics","summary":"現在是後後後後後冲浪TV時代了。\n介紹Reddit的二個冲浪系sub：「航空母艦」和「軍武次位面」\n他們算是繼承自幽默TV一系的分支，見：幽默之家覆滅史\n因為二個sub高度相似，且存在時間短，我把二個合在一起寫。\n在r/Youmo被封之後的過渡期，曾經存在r/realYoumo、r/real_youmo、r/langren等sub，因為接連被封，航吧的人數才多了起來。等到航吧被封，用戶又遷往軍吧。\n鑑於r/realYoumo權蛆橫行，航吧和軍吧的Mod管制倆比較寬鬆。\n倆sub裡面的支那豬，屬於一直都沒底線的那種浪人，鍵政為樂，又當屠支大佐。\n到最後，這二個sub也逃不過被Reddit大Mod封殺的命運，理由都是「意圖復刻浪系sub」。 偷自r/langrenClub，「君無次未眠」為機翻結果\nu/Stunning-Captain6810有詩云：\n君无次未眠？\n只怕遮著了这相扑！\n取四面城门，\n後日离寨三十里外！\n宋江道夜来是我不是了。\n我們唯一確定的是，左理解一直與浪人糾纏到最後。\n1. 航空母艦吧 (r/HangKongMujian) # 航空母艦吧，簡稱航吧。用戶自稱航友。 存在時間：2023年6月29日 ~ 2024年1月6日\n板標：\n各国海军以舰载机为主战武器的大型水面舰艇\n雖然叫做航空母艦，但從來都沒有人發過航母的照片，連軍事情報都很稀少，大部分是鍵政和賽博屠支。\n","title":"【冲浪TV專題7】「航空母艦吧」和「軍武次位面吧」的沉沒","type":"politic"},{"content":" 這篇文章Ivon整理各種iPhone/iPad安裝第三方APP的方法，供iOS用戶及開發者參考。\n這些方法到iOS 26都還有效。\n首先Ivon會講解什麼是側載，再講解側載方法，依序為最簡單到最困難的，大部分都不需要越獄。\n什麼是安裝第三方APP？ # 安裝第三方APP，較正式的術語叫做「側載」(sideload)，指的是在iOS裝置，安裝App Store以外來源的APP。\n由於iOS的應用程式安裝包副檔名為.ipa，因此安裝第三方APP有時也會叫做安裝第三方IPA。 如果有用過Android手機的應該能較好理解何為側載：你可以從Google Play以外的應用程式商店自由下載APK來裝，沒有任何限制。 但Apple長期以來給iPhone設下嚴格的機制，使用者只能從App Store取得APP，要安裝第三方APP十分困難。首先，所有IPA都必須要經過Apple簽名才可以安裝，且幾乎沒有App Store以外的分發APP管道。\n隨著時間過去，世界上的開發者提出了各種方法，最後在法規限制下連Apple自己也不得不讓步了。\n安裝第三方APP的優點為何？你可以有選擇軟體的自主權，而不被單一的App Store綁住。對軟體開發者來說，他們也不用付上架費就能自由分發軟體，讓使用者有更多選擇。\n安裝第三方APP缺點？就是風險自負。App Store的APP都有經過Apple專人審核，減少藏病毒的風險，而自行安裝第三方APP就得有很強的資安意識，才不會損失錢財。\n為了防止安裝到病毒APP，我建議想要安裝第三方APP的人，選擇有公信力的網站下載IPA，並挑選開放原始碼的APP來裝，不要貪小便宜安裝來路不明的APP。\n另外，本文主要討論Apple官方和開源軟體的側載方案，商業軟體的解決方案次之。\n1. iOS內建的側載機制 # 詳細資料：About alternative app marketplaces in the European Union\n截至iOS 26，Apple仍不允許使用者自由側載APP，也不允許第三方應用程式商店存在。\n不過2024年Apple在歐盟法規要求下推出了允許安裝第三方APP的機制，免電腦就能用。目前正式上線運作的第三方商店為AltStore開發者經營的AltStore PAL。系統版本必須為iOS 17.4以上，且用戶位於歐盟地區才可以使用，VPN無法繞過。AltStore PAL跟原版的AltStore是不同的專案，後者不限地區，可以自由側載。\n2. Testflight # 詳細資料：TestFlight - Apple Developers\nApple推出的APP測試機制，開發者在上架APP到App Store前可以藉由此軟體，邀請一小批受測者，讓他們在iPhone上直接下載開發者提供的APP。\n優點：協助開發者測試指定的APP，而且不用電腦就能安裝。 缺點：Testflight真的就只是測試用途，需要有人邀請，且人數有限，安裝有期限，使用者也不能真正隨意安裝想要的APP。 3. AltStore # 詳細資料：AltStore安裝教學\n第三方開發者Riley Testut提出的構想，透過Apple免費開發者帳號完成簽名手續，將IPA從電腦側載到iOS裝置。如此便可讓使用者自由安裝IPA。免越獄。\nAltStore為開源軟體，支援iOS 12以上的裝置，電腦端程式支援Linux、Windows、macOS系統。\n優點：可自由安裝想要的APP。因為AltStore利用Apple本身的機制，已經發展到iOS 26了仍沒有被Apple擋掉過，算是較為穩固的第三方APP安裝方式。且AltStore簽名是自食其力用個人Apple ID完成的，不需要依賴其他人的帳號。 缺點：每7天需要用電腦重簽IPA，且每個裝置最多安裝3個APP。 AltStore尚有許多變種：\nSideStore：免電腦重簽的AltStore，改由遠端伺服器重簽。 LiveContainer：允許安裝無限數量的第三方IPA，一次只能執行一個APP。需要搭配SideStore或AltStore使用。 Sideloadly：類似AltStore的程式，因為它不會將自身商店安裝到iOS裝置，所以比AltStore多一個APP空位，僅提供Windows和macOS版。 愛思助手：原理類似AltStore，中國製造的閉源軟體，會蒐集使用者資料。 4. 付費開發者帳號 # 詳細資料：Become an Apple Developer Program member\nApple免費開發者帳號每部裝置只能安裝3個APP，且7天就要重簽。如果要打破這個限制，就購買付費開發者帳號吧。\n主要是開發APP用途，只要註冊Apple官方的付費開發者帳號，你就可以用自己的開發者憑證(certificate)給IPA簽名，安裝APP到任意的裝置，不用擔心簽名7天後過期。\n付費開發者帳號一年99美元，分為個人(Individual)與企業(Organization)兩種。跟下面所講的企業簽名描述檔不同，這裡的付費開發者帳號最多只能安裝到100部裝置。\n優點：只要付錢就能任意側載IPA。 缺點：貴。 5. 向第三方購買付費開發者帳號 # 詳細資料：付費簽名IPA操作過程，以UDID Registrations為例\n有的公司會以較低廉的價格販售開發者帳號，這樣就能拿到開發者憑證(certificate)給IPA簽名，例如UDID Registrations、Signulous、iOSGods、AppTesters、MapleSign、iOS Rocket、AppleP12等等，價格大約是Apple官方的一半不到。\n很多販售開發者帳號的服務背後都是中國公司，因此形成了一門灰色產業鏈。\n取得開發者憑證之後，就能用「Feather iOS」或「iOS App Signer」這類簽名服務(code signing service)，將IPA側載到iOS裝置了。甚至可以搭配第三方應用程式商店「appdb」，下載更多APP。\n比較特殊的是Scarlet Store，它利用外洩的免費開發者憑證給IPA簽名，但是這樣做很容易被Apple撤銷。\n優點：免電腦安裝，只要付錢就能任意側載IPA。 缺點：因為是第三方販售的憑證，Apple可能會以濫用的名義隨機撤銷(revoke)你的開發者憑證，故請購買包含「防撤銷保護」的服務。 6. 企業簽名描述檔 # 詳細資料：Apple Developer Enterprise Program\nApple提供的大規模APP部署方式，主要是給企業或組織使用的，例如中華民國國軍的MDM。\n公司購買Apple的企業方案後，再讓使用者用iOS裝置到特定網頁下載描述檔(configuration profile)，就可以任意安裝第三方APP。\n有些公司會利用此方法經營自己的「應用程式商店」，再讓使用者下載描述檔，藉此分發第三方APP。\n優點：免電腦，安裝數量無上限。 缺點：過於依賴特定企業的簽名。個人不推薦免費仔採用這種方法，因為你要依賴某個企業的簽名才能開啟APP，且Apple一抓到公司濫用描述檔就會將其撤銷，導致使用者得頻繁換來源。 7. 越獄 # 詳細資料：AppleDB\n因為越獄資料龐雜，沒有標準操作公式，所以我放AppleDB網站的資料，裡面有各個iPhone機型的越獄操作方法。\n最終極的解決方案，就是越獄 (jailbreak) 了。破解iOS裝置，取得最高權限，安裝第三方APP當然也就不是問題了。\n優點：安裝無上限數量的第三方APP。且越獄權限可以讓APP進一步修改系統設定，例如改變系統外觀。 缺點：越獄很吃iOS版本，不是每一台裝置都支援。且破解裝置有風險，可能導致無法開機，或是被銀行APP拒絕付款。 已作古的方案 # TrollStore曾經是安裝第三方IPA的熱門選擇，可是新版本iOS系統已經幾乎不可能使用了。\n詳細資料：TrollStore安裝教學\n利用特定版本的iOS漏洞（非越獄），繞過簽名機制，任意安裝第三方APP。\n優點：免電腦安裝第三方APP，數量無上限，而且不必煩惱簽名過期問題，APP一安裝後永久有效。 缺點：非常吃運氣，TrollStore依賴的漏洞可遇不可求。目前TrollStore僅支援iOS 15和iOS 16系統。 ","date":"2024年3月12日","externalUrl":null,"permalink":"/posts/ios-sideloading/","section":"所有文章","summary":" 這篇文章Ivon整理各種iPhone/iPad安裝第三方APP的方法，供iOS用戶及開發者參考。\n這些方法到iOS 26都還有效。\n首先Ivon會講解什麼是側載，再講解側載方法，依序為最簡單到最困難的，大部分都不需要越獄。\n什麼是安裝第三方APP？ # 安裝第三方APP，較正式的術語叫做「側載」(sideload)，指的是在iOS裝置，安裝App Store以外來源的APP。\n由於iOS的應用程式安裝包副檔名為.ipa，因此安裝第三方APP有時也會叫做安裝第三方IPA。 如果有用過Android手機的應該能較好理解何為側載：你可以從Google Play以外的應用程式商店自由下載APK來裝，沒有任何限制。 但Apple長期以來給iPhone設下嚴格的機制，使用者只能從App Store取得APP，要安裝第三方APP十分困難。首先，所有IPA都必須要經過Apple簽名才可以安裝，且幾乎沒有App Store以外的分發APP管道。\n隨著時間過去，世界上的開發者提出了各種方法，最後在法規限制下連Apple自己也不得不讓步了。\n安裝第三方APP的優點為何？你可以有選擇軟體的自主權，而不被單一的App Store綁住。對軟體開發者來說，他們也不用付上架費就能自由分發軟體，讓使用者有更多選擇。\n","title":"iPhone如何安裝第三方APP？iOS側載IPA方法匯總","type":"posts"},{"content":"","date":"2024年3月11日","externalUrl":null,"permalink":"/tags/bottles-for-linux/","section":"標籤","summary":"","title":"Bottles for Linux","type":"tags"},{"content":"提示：你可以考慮採用自由軟體GIMP和Krita替代Adobe Photoshop，這些軟體免費且適用於所有作業系統。\nAdobe開發的Photoshop沒有官方Linux版，需要透過Wine轉譯執行。\n根據WineDB回報的結果，Photoshop CC 2021可能是Linux能執行的最新版Photoshop了，更舊以前的CS6也行。後面的2022、2023、2024版本功能都不太正常。\nLinux上執行的PhotoShop CC 2021，測試可以用Fcitx5打中文，並且抓得到繪圖板輸入。 本文介紹如何在Linux系統，利用Github用戶LinSoftWin開發的指令稿設定Wine環境，自動安裝Adobe Photoshop CC 2022。\n不想用指令稿安裝的用戶，請看文末了解如何用圖形界面「Bottles」安裝Photoshop。\n1. 購買正版Adobe Creatvie Cloud訂閱 # Adobe Photoshop是需要付費訂閱取得的專有軟體，必須先購買授權才能使用該軟體。官網購買連結\n另外，如果從其他地方下載破解好的Photoshop CC，那也是可以配合此指令稿使用，後面會講解作法。\n2. 安裝Wine依賴套件 # 請先在Linux安裝Wine\n再安裝前置依賴套件。\nUbuntu\nsudo apt install dxvk zenity appmenu-gtk-module-common tar wget curl Arch Linux\nsudo pacman -S zenity appmenu-gtk-module tar wget curl yay -S dxvk-bin 3. 執行Photoshop CC安裝指令稿 # 根據指令稿作者說法，Photoshop CC 2022版不支援GPU硬體加速，追求穩定的請安裝Photoshop CC 2021。\n複製作者儲存庫 git clone https://github.com/MiMillieuh/Photoshop-CC2022-Linux.git cd Photoshop-CC2022-Linux/scripts chmod +x *.sh Photoshop主程式因為版權問題需要手動下載，請到Github留言區下載AdobePhotoshop2021.tar.xz，並放到Photoshop-CC2022-Linux/scripts目錄。\n執行安裝指令稿，指令稿後面的引數是安裝的目錄，我偏好放在~/Applications/PhotoshopCC2021目錄。\n# Photoshop CC 2021 sh ./photoshop2021install.sh \u0026#34;~/Applications/PhotoshopCC2021\u0026#34; 指令稿會開始建立Wine環境並下載Photoshop CC，大約要等30分鐘。 指令稿會在應用程式建立Photoshop CC的捷徑，點選即可使用。 4. 如果要執行破解版的Photoshop CC # 開啟檔案管理器，到~/Applications/PhotoshopCC2022/drive_c/Program Files/Adobe，將Adobe Photoshop 2021重新命名為其他名稱。\n再將破解版的Photoshop CC主程式目錄放到~/Applications/PhotoshopCC2021/drive_c/Program Files，取代用指令稿安裝的Photoshop CC。\n這樣點選桌面捷徑後就會改為啟動破解版的Photoshop CC。\n5. 使用Bottles圖形界面手動安裝Photoshop CC # 安裝Bottles，新增Gaming酒瓶\n開啟相依項目頁面，安裝以下套件\nvcredist2010 vcredist2012 vcredist2013 vcredis2019 vcredist2022 msxml3 msxml6 allfonts cjkfonts gdiplus atmlib 點選執行exe，選取Photoshop主程式執行。 ","date":"2024年3月11日","externalUrl":null,"permalink":"/posts/linux-wine-photoshop-cc/","section":"所有文章","summary":"提示：你可以考慮採用自由軟體GIMP和Krita替代Adobe Photoshop，這些軟體免費且適用於所有作業系統。\nAdobe開發的Photoshop沒有官方Linux版，需要透過Wine轉譯執行。\n根據WineDB回報的結果，Photoshop CC 2021可能是Linux能執行的最新版Photoshop了，更舊以前的CS6也行。後面的2022、2023、2024版本功能都不太正常。\nLinux上執行的PhotoShop CC 2021，測試可以用Fcitx5打中文，並且抓得到繪圖板輸入。 本文介紹如何在Linux系統，利用Github用戶LinSoftWin開發的指令稿設定Wine環境，自動安裝Adobe Photoshop CC 2022。\n不想用指令稿安裝的用戶，請看文末了解如何用圖形界面「Bottles」安裝Photoshop。\n1. 購買正版Adobe Creatvie Cloud訂閱 # Adobe Photoshop是需要付費訂閱取得的專有軟體，必須先購買授權才能使用該軟體。官網購買連結\n另外，如果從其他地方下載破解好的Photoshop CC，那也是可以配合此指令稿使用，後面會講解作法。\n2. 安裝Wine依賴套件 # 請先在Linux安裝Wine\n","title":"Linux系統以指令稿安裝Photoshop CC","type":"posts"},{"content":"","date":"2024年3月11日","externalUrl":null,"permalink":"/tags/photoshop/","section":"標籤","summary":"","title":"Photoshop","type":"tags"},{"content":"","date":"2024年3月11日","externalUrl":null,"permalink":"/tags/dotfile/","section":"標籤","summary":"","title":"Dotfile","type":"tags"},{"content":"Linux系統用久了，就會有氾濫成災的dotfile。\n劉德華 - 相思成災\n你打開用了多年的Linux系統檔案總管，進入家目錄，點選顯示隱藏檔案\n映入眼簾的可能是這種慘況，應用程式到處亂丟dotfile和空白的資料夾。 關掉檔案總管，你默默的說：假的！我眼睛業障重呀。\n\u0026hellip;不對，他們還是在那裡。讓我們來討論要如何解決應用程式亂丟dotfile的問題。\n這個議題在英文圈也多有討論，通常稱作home directory dotilfe pollution、dotfile littering in home directory\u0026hellip;\n1. 什麼是dotfile，問題在哪 # dotfile，通俗的講，就是寫著應用程式設定檔的檔案。\n程式多半會將設定檔寫到設定檔裡面，再於檔案名稱前面加個點，隱藏檔案。\n設定檔要放在哪裡，開源社群多半有默契，遵守Freedesktop.org所制定的XDG規範（後述）\n但，XDG標準畢竟不是強迫性的，開發者沒有遵守的義務，這就導致了dotfile亂放的問題。就是在說你啦，Java、Android Studio、AWS cli、Visual Studio Code。\n有些程式開發者可能認為，使用者只會在一台Linux伺服器幹一件事而已，故沒有詳細考慮dotfile的位置。時間久了為了相容性也就忘記改，給桌面Linux使用者帶來困擾。 很多程式都不按照XDG標準，亂丟檔案呀！於是有了文章一開始見到的慘況。Linux不是一人開發的產品，每個開發者的意見不同，設定檔位置就會一團混亂，氾濫成災。\n本文不是要討論如何備份dotfile，而是針對這些應用程式亂丟dotfile的對策。\n2. 了解XDG標準的路徑 # Freedesktop.org制定的一系列XDG標準可作為應用程式放置檔案路徑的參考。\nArch Wiki對此有詳細解釋：XDG Base Directory，Wiki頁面甚至列出了不遵守XDG標準的調皮程式。\n大部分桌面環境遵守XDG標準，不用特別設定環境變數。\n下面講幾個比較重要的：\nXDG_CONFIG_HOME\n設定檔放置的目錄，應為~/.config\nXDG_CACHE_HOME\n快取存放路徑，應為~/.cache\nXDG_DATA_HOME\n使用者資料存放路徑，跟設定檔不同，使用者資料應該是偏資料庫那一類的。路徑應為~/.local/share\nXDG_STATE_HOME\n使用者狀態檔放置路徑，應為~/.local/state\n3. 對程式亂丟dotfile的對策 # 如果你的家目錄已經一堆dotfile，遷移時務必注意備份檔案。\n3.1. 將程式容器化 # 以容器技術打包的程式可以有效控管應用程式亂丟dotfile的問題。\nFlatpak：程式通常會將設定檔統一放到~/.vars自身的目錄下。如果還是有程式檔案不聽話跑出來，那就用Flatseal鎖住其存取家目錄的權限。\nSnap：同上，不過權限系統不明朗。\nAppImage：嚴格來說AppImage不是容器，但是它有一個Portable Mode功能可以偽裝成程式的家目錄，把程式的dotfile鎖在裡面。\nDistrobox：利用Docker容器特性，隔離應用程式目錄。Distrobox有指定程式家目錄的效果。\nFireJail：容器化的做法，實行起來很麻煩。\nChroot：最古老的容器做法，設定起來很麻煩。\n3.2. 手動於程式指定路徑 # 編輯程式的Desktop Entry檔案，修改啟動參數。\n例如Chrome可以用參數調整設定檔目錄。\ngoogle-chrome --user-data-dir=/home/user/.config/google-chrome/default 不推薦，不是每個程式都有參數讓你調。\n3.3. 程式攔截系統呼叫 # Libetc或rewritefs的解決方案。\n可能導致系統出現預期外的行為。\n3.4. 符號連結 # 把dotfile移到其他地方去，再於原處建立symlink。 其實沒差就是了，檔案看上去還是一樣亂。如果你偏要這樣做，那還不如安裝個dotfile管理程式來統一整理。\n3.5. 一個程式一個使用者帳號 # 比如，執行某伺服器服務的時候，就用su指令切換到該使用者帳號，任其往家目錄傾倒dotfile，與現有使用者的家目錄隔開。\n太搞剛，單人桌面系統不要這樣搞。現在有Docker容器技術，要跑服務方便多了。\n4. 附錄：管理dotfile的軟體 # 想要蒐集四散在各處的dotfile，可以考慮使用Chezmoi管理，用成一個Git儲存庫，隨時追蹤變更。\n參考資料 # Dotfile madness - Filip Borkiewicz Fighting dotfile pollution on Linux | Fjordtek - When data matters ","date":"2024年3月11日","externalUrl":null,"permalink":"/posts/linux-dotfile-pollution/","section":"所有文章","summary":"Linux系統用久了，就會有氾濫成災的dotfile。\n劉德華 - 相思成災\n你打開用了多年的Linux系統檔案總管，進入家目錄，點選顯示隱藏檔案\n映入眼簾的可能是這種慘況，應用程式到處亂丟dotfile和空白的資料夾。 關掉檔案總管，你默默的說：假的！我眼睛業障重呀。\n…不對，他們還是在那裡。讓我們來討論要如何解決應用程式亂丟dotfile的問題。\n這個議題在英文圈也多有討論，通常稱作home directory dotilfe pollution、dotfile littering in home directory…\n1. 什麼是dotfile，問題在哪 # dotfile，通俗的講，就是寫著應用程式設定檔的檔案。\n程式多半會將設定檔寫到設定檔裡面，再於檔案名稱前面加個點，隱藏檔案。\n設定檔要放在哪裡，開源社群多半有默契，遵守Freedesktop.org所制定的XDG規範（後述）\n但，XDG標準畢竟不是強迫性的，開發者沒有遵守的義務，這就導致了dotfile亂放的問題。就是在說你啦，Java、Android Studio、AWS cli、Visual Studio Code。\n有些程式開發者可能認為，使用者只會在一台Linux伺服器幹一件事而已，故沒有詳細考慮dotfile的位置。時間久了為了相容性也就忘記改，給桌面Linux使用者帶來困擾。 ","title":"管理Linux系統家目錄泛濫成災的dotfile","type":"posts"},{"content":"什麼是dotfile (點檔案/點文件)？簡言之就是應用程式的設定檔，例如~/.vimrc就是dotfile。Linux萬物皆檔案，程式設定多半寫在單一檔案裡面，並且程式通常會將dotfile放在隱藏目錄（Linux檔名以點開頭就會變成隱藏檔案），不讓一般使用者看到。\n那麼這些設定檔會放在哪裡呢？多半散落在使用者家目錄下。Dotfile如果管理不當，就會導致dotfile泛濫成災的問題\n時間久了，你可能會忘記設定檔放在哪裡，換電腦要重新備份dotfile是很困擾的事情。尤其對喜歡自定義桌面的人來說，換電腦全部重設文件實在麻煩。\n所以，我們需要一款dotfile管理程式。本篇文章Ivon要分享的是Tom Payne開發的「Chezmoi」。 chez moi唸做 /ʃeɪ mwa/ ，在法文為「我家」的意思。chezmoi類似以前流行的GNU Stow，但是功能更多。\nchezmoi可以將散落在各個目錄的dotfile統一管理，變成Git儲存庫，追蹤檔案變更，方便日後搬移、還原、多裝置同步。它還支援搭配secret manager管理密碼檔案。 1. 安裝chezmoi # 參考Github說明\nchezmoi大多數Linux發行版都有收：\n# Ubuntu sudo snap install chezmoi # Arch sudo pacman -S chezmoi 或者，你也可以直接抓作者提供的二進位檔安裝，預設會安裝至~/.bin\nsh -c \u0026#34;$(curl -fsLS get.chezmoi.io)\u0026#34; 2. 初始化chezomi儲存庫 # 建立儲存庫，預設位於~/.local/share/chezmoi chezmoi init 建議先將初始化chezmoi儲存庫，並推到自己的Github儲存庫備份。 cd ~/.local/share/chezmoi git remote add origin https://github.com/Github使用者名稱/dotfiles.git git add -a git commint -m \u0026#34;\u0026#34; git push -u origin main 3. chezmoi的dotfile管理方式 # chezmoi可以追蹤單一檔案或者目錄。\n根據官方文件，chezmoi的管理方式是這樣運作的。你本機的檔案，就好像一個大型git儲存庫一樣，能夠隨時提交或回退。 將要追蹤的dotfile或目錄加入，chezmoi會紀錄其路徑，並複製一份到自己儲存庫。chezmoi並不會建立符號連結。 chezmoi add ~/.vimrc chezmoi add ~/.bashrc chezmoi add ~/.config/yt-dlp 日後編輯dotfile就用chezmoi管理，使用指令chezmoi managed列出已加入的dotfile。chezmoi cd可快速切換到儲存庫所在的目錄。\n編輯的時候chezmoi修改的會是儲存庫下的檔案，比如這裡~/.vimrc實際上是在編輯~/.local/share/chezmoi/dot_vimrc這個檔案。至於開啟的編輯器為何則是看你的$EDITOR數值。\nchezmoi edit ~/.vimrc 等到編輯完成，輸入chezmoi apply -v指令，才會真的套用變更到原始檔案 # 對照變更 chezmoi diff # 套用變更 chezmoi apply -v 如果沒有使用chezmoi指令，卻自行修改了dotfile的話要怎麼辦呢？只要重新把它加入追蹤即可 # 對照變更 chezmoi diff chezmoi add ~/.vimrc 4. chezmoi其他用法 # chezmoi支援後面直接串git指令，不過有引數的話要用--隔開防止chezmoi誤判。\nchezmoi git add . chezmoi git add dot_vimrc chezmoi git -- commit -m \u0026#34;Add .vimrc\u0026#34; chezmoi status：列出儲存庫狀態。\nchezmoi verify：檢驗dotfile是否存在。\nchemozi merge \u0026lt;dotile\u0026gt;：開啟vimdiff程式，方便你查看多個檔案的差異。\nchezmoi forget \u0026lt;dotile\u0026gt;：取消追蹤特定檔案，但不刪除。\nchezmoi rm \u0026lt;dotfile\u0026gt;：刪除dotfile。\nchezmoi purge：刪除全部儲存庫下的dotfile。\n5. 在多個裝置同步dotfile # 理想上用單一的Git儲存庫同步會比較方便。\n要在其他電腦還原設定檔，那麼就在該電腦用chezmoi複製儲存庫，再Apply套用。\n# 複製儲存庫 chezmoi init https://github.com/你的儲存庫網址 # 檢查差異 chezmoi diff # 套用 chezmoi apply -v ","date":"2024年3月11日","externalUrl":null,"permalink":"/posts/chezmoi-manage-dotfiles/","section":"所有文章","summary":"什麼是dotfile (點檔案/點文件)？簡言之就是應用程式的設定檔，例如~/.vimrc就是dotfile。Linux萬物皆檔案，程式設定多半寫在單一檔案裡面，並且程式通常會將dotfile放在隱藏目錄（Linux檔名以點開頭就會變成隱藏檔案），不讓一般使用者看到。\n那麼這些設定檔會放在哪裡呢？多半散落在使用者家目錄下。Dotfile如果管理不當，就會導致dotfile泛濫成災的問題\n時間久了，你可能會忘記設定檔放在哪裡，換電腦要重新備份dotfile是很困擾的事情。尤其對喜歡自定義桌面的人來說，換電腦全部重設文件實在麻煩。\n所以，我們需要一款dotfile管理程式。本篇文章Ivon要分享的是Tom Payne開發的「Chezmoi」。 chez moi唸做 /ʃeɪ mwa/ ，在法文為「我家」的意思。chezmoi類似以前流行的GNU Stow，但是功能更多。\nchezmoi可以將散落在各個目錄的dotfile統一管理，變成Git儲存庫，追蹤檔案變更，方便日後搬移、還原、多裝置同步。它還支援搭配secret manager管理密碼檔案。 1. 安裝chezmoi # 參考Github說明\n","title":"Chezmoi：優雅管理Linux的dotfile，使用Git儲存庫備份，類似GNU Stow","type":"posts"},{"content":"裝完Windows 11後個人常做的設定，越前面的越重要，灌常用軟體是最後一步驟。參考歐飛先生以及其他3C部落客的文章，加上個人偏好。 如果可以的話，在裝系統的時候用命令提示字元，把強迫登入Microsoft帳號的規定打掉，使用本機帳號 (Local Account) 登入系統。\n對Windows圖示按右鍵，點選系統設定 → Windows Update，將Windows更新到最新版。\n將Windows Update不包含的電腦原廠硬體驅動程式裝一裝。\n開啟Microsoft Store把程式更新一輪。\n系統設定 → Windows Update → 進階選項，關閉傳遞最佳化。\n系統設定 → 系統 → 電源 → 螢幕與睡眠，關閉Windows自動關閉螢幕和休眠。電源模式調最佳效能。\n若有Nvidia顯示卡，到Nvidia控制面板程式 → 管理3D設定 → 電源管理模式，設定慣用的最大效能。\n工作列搜尋開啟控制台 → 硬體和音效 → 電源選項 → 選擇蓋上螢幕時的行為，設定為不進行動作（適用筆電）不要自動休眠。並關閉「開啟Windows快速啟動」，防止Linux雙重開機受到干擾。\n系統設定 → 應用程式 → 啟動應用程式，關閉多餘的開機自動啟動程式，例如Onedrive。\n點選工作列右下角Onedrive圖示 → 設定 → 同步與備份 → 將重要的電腦資料夾備份到OneDrive，關閉自動備份本機資料夾。\n系統設定 → 個人化 → 開始，關閉「顯示最近開啟項目」\n檔案總管 → 選項 → 一般，關閉「顯示最近使用的檔案」\n檔案總管 → 選項 → 檢視，開啟「核取方塊選取項目」和「顯示隱藏的檔案」，關閉「隱藏已知檔案類型的副檔名」\n對Windows「開始」選單的全部程式按右鍵，取消釘選。\n系統設定 → 個人化 → 佈景主題 → 桌面圖示，將「我的電腦」和「資源回收桶」全部取消勾選，一個都不留。資源回收桶我會改登錄檔，使其顯示在檔案總管。\n最後才是安裝常用軟體。\n","date":"2024年3月10日","externalUrl":null,"permalink":"/posts/windows-11-optimizations-after-fresh-installation/","section":"所有文章","summary":"裝完Windows 11後個人常做的設定，越前面的越重要，灌常用軟體是最後一步驟。參考歐飛先生以及其他3C部落客的文章，加上個人偏好。 如果可以的話，在裝系統的時候用命令提示字元，把強迫登入Microsoft帳號的規定打掉，使用本機帳號 (Local Account) 登入系統。\n對Windows圖示按右鍵，點選系統設定 → Windows Update，將Windows更新到最新版。\n將Windows Update不包含的電腦原廠硬體驅動程式裝一裝。\n開啟Microsoft Store把程式更新一輪。\n系統設定 → Windows Update → 進階選項，關閉傳遞最佳化。\n系統設定 → 系統 → 電源 → 螢幕與睡眠，關閉Windows自動關閉螢幕和休眠。電源模式調最佳效能。\n若有Nvidia顯示卡，到Nvidia控制面板程式 → 管理3D設定 → 電源管理模式，設定慣用的最大效能。\n工作列搜尋開啟控制台 → 硬體和音效 → 電源選項 → 選擇蓋上螢幕時的行為，設定為不進行動作（適用筆電）不要自動休眠。並關閉「開啟Windows快速啟動」，防止Linux雙重開機受到干擾。\n系統設定 → 應用程式 → 啟動應用程式，關閉多餘的開機自動啟動程式，例如Onedrive。\n點選工作列右下角Onedrive圖示 → 設定 → 同步與備份 → 將重要的電腦資料夾備份到OneDrive，關閉自動備份本機資料夾。\n","title":"Windows 11系統剛安裝後的設定優化","type":"posts"},{"content":" 本列表為個人筆記用，記錄Ivon在Windows系統常用的自由開源軟體 (Free and Open-Source Software)\n目前系統為Windows 11。 就軟體選擇上，Ivon偏好開源且跨平台的自由軟體，也就是同時提供Linux/Windows/macOS版本的軟體。\n開源軟體，但只有Windows版我也可以接受。\n本列表不包含專有軟體 (Proprietary Software) 。免費軟體 (Freeware) 但是不開源，我也會迴避。遊戲及系統底層軟體不在此限。\n安裝軟體的管道 # 因日常主力使用Linux之故\nIvon會優先使用Winget命令行工具安裝Windows軟體\n不然就到Microsoft Store下載\n再不行才手動找exe裝。\n辦公軟體 # Mozilla Firefox：瀏覽器\nKDE Okular：看PDF\nLibreOffice： Writer 寫文件\nCalc 試算表\nImpress 做簡報\nDraw 編輯PDF\nBase 資料庫\nMath 數學公式\nFreeplane：畫心智圖\nJoplin：多功能筆記軟體\nxorunal++：手寫筆記軟體\nRustDesk：遠端桌面\nMoonlight：遠端桌面兼遊戲串流\nTailScale 或 ZeroTier：虛擬內網軟體\n影音處理 # GIMP：點陣圖編輯\nInkscape：向量圖編輯\nKrita：2D電繪\nKdenlive：剪片\nVLC：看片\nMPV：看片。預設太陽春，我使用mpv-lazy\nImageGlass：看圖\nnomacs：看圖兼轉檔\nBlender：3D建模\nAudacity：音訊編輯\nOBS Studio：錄影兼直播\nFlameshot：截圖\nStrawberry Music Player：聽歌\nHandBrake：影片音訊轉檔\nImageMagick：命令行圖片批次轉檔\nffmpeg：命令行影片批次轉檔\n程式設計 # （IDE不一一列舉，太多了）\nKDE Kate：單純因為跨平台才用，功能等同Notepad++\nVIM / gVIM：在終端機都能跑\nVisual Studio Code：萬金油IDE。不想給Microsoft監控請改用VSCodium\nWSL2 (Ubuntu + Docker)：臨時跑Linux環境十分好用\nEmuGUI + QEMU：高手在用的虛擬機\nOrcale VirtualBox：老少咸宜的虛擬機\nWindows Terminal：反正是開源的\n工具程式 # SSHFS for Windows + SSHFS GUI：遠端存取Linux主機檔案之用\nPeaZip：取代Winrar，支援讀取非UTF-8的日文編碼壓縮檔\n7-zip：這個啟動速度比上面的快\nKDE Connect：無線傳檔軟體、遠端滑鼠軟體\nLocalSend：這個傳檔比上面的穩\nVentoy：製作開機ISO的軟體\nPIME 新酷音：看個人選擇，如果不執著於鍵盤快捷鍵組合，系統內建的Microsoft新注音就夠用了\nGoogle Noto Sans：替代專有Microsoft字體之用。\n","date":"2024年3月10日","externalUrl":null,"permalink":"/posts/windows-free-software/","section":"所有文章","summary":" 本列表為個人筆記用，記錄Ivon在Windows系統常用的自由開源軟體 (Free and Open-Source Software)\n目前系統為Windows 11。 就軟體選擇上，Ivon偏好開源且跨平台的自由軟體，也就是同時提供Linux/Windows/macOS版本的軟體。\n開源軟體，但只有Windows版我也可以接受。\n本列表不包含專有軟體 (Proprietary Software) 。免費軟體 (Freeware) 但是不開源，我也會迴避。遊戲及系統底層軟體不在此限。\n安裝軟體的管道 # 因日常主力使用Linux之故\nIvon會優先使用Winget命令行工具安裝Windows軟體\n不然就到Microsoft Store下載\n再不行才手動找exe裝。\n辦公軟體 # Mozilla Firefox：瀏覽器\nKDE Okular：看PDF\nLibreOffice： Writer 寫文件\nCalc 試算表\nImpress 做簡報\nDraw 編輯PDF\nBase 資料庫\nMath 數學公式\nFreeplane：畫心智圖\nJoplin：多功能筆記軟體\nxorunal++：手寫筆記軟體\nRustDesk：遠端桌面\nMoonlight：遠端桌面兼遊戲串流\nTailScale 或 ZeroTier：虛擬內網軟體\n影音處理 # GIMP：點陣圖編輯\nInkscape：向量圖編輯\nKrita：2D電繪\nKdenlive：剪片\nVLC：看片\nMPV：看片。預設太陽春，我使用mpv-lazy\nImageGlass：看圖\nnomacs：看圖兼轉檔\nBlender：3D建模\nAudacity：音訊編輯\nOBS Studio：錄影兼直播\nFlameshot：截圖\nStrawberry Music Player：聽歌\nHandBrake：影片音訊轉檔\nImageMagick：命令行圖片批次轉檔\nffmpeg：命令行影片批次轉檔\n程式設計 # （IDE不一一列舉，太多了）\n","title":"個人常用的Windows自由開源軟體列表","type":"posts"},{"content":"Running QEMU emulator on Windows.\n註：本文討論的是如何在Windows安裝QEMU，如果你是想找「Linux系統安裝Windows QEMU/KVM虛擬機」請看這篇\nIvon將討論如何在Windows系統安裝虛擬機軟體「QEMU」以及圖形前端「EmuGUI」。\n後面再附上圖形介面以及指令版的虛擬機安裝方法。 1. QEMU在Windows的現況 # QEMU為Fabrice Bellard開發的開源硬體模擬器軟體，支援模擬x86、ARM、SPARC、RISC-V、MIPS各種架構的電腦。 在Linux系統，我們會將QEMU搭配Virt Manager (Libvirt)，再透過KVM加速，執行各式各樣的作業系統，可說是Linux上十分好用的虛擬機軟體。\nQEMU本身是跨平台軟體，Windows當然也有移植。在Windows系統QEMU得依賴 Intel HAXM 或 WHPX (Hyper-V) 加速虛擬機效能。\n不過，QEMU在Windows不如其他虛擬機軟體吃香。\n一來Windows本身就有內建高效能虛擬機Hyper-V\n再來VirtualBox界面對新手來說更好上手\n要專業的虛擬機軟體還有Vmware\n而且Windows的QEMU很長一段時間都沒有好用的圖形前端，需要了解命令行參數，從終端機打指令啟動。不同版本指令會略有不同。\nUrs Wolfer製作的圖形前端QtEmu已經很久沒維護了，fork版問題也一堆。2022年Nicolas Lucien開發的EmuGUI界面只是堪用而已，讓人恨不得直接打指令。\n最後，Windows的QEMU不支援GPU直通。請不要在Linux虛擬機裡面跑QEMU/KVM，那會變巢狀模擬。\n種種因素下，Windows的QEMU非常難用。\nQEMU唯一的優勢就開源軟體，並支援模擬異質架構，例如x86機器跑arm架構的虛擬機，方便開發程式。\n除此之外，我想不到有什麼理由非要用QEMU。除非你喜愛自由軟體，想把Linux的經驗搬過來，那就用吧。\n1. 安裝QEMU本體 # 參考Microsoft官方文件，在Windows 11啟用Hyper-V\n到QEMU官網下載Windows安裝檔，點選64-bit，再點選qemu-w64-setup-20231224.exe下載 點二下安裝，一直下一步，它會將執行檔安裝到C:\\Program Files\\qemu\n搜尋「編輯系統環境變數」，點選環境變數 → 系統變數，點選Path，將qemu加入環境變數 開啟終端機，輸入qeme-sytem-x86_64 -version有印出訊息就代表設定完成。\nQEMU內建使用SeaBIOS開機。如果需要OVMF的UEFI韌體的，下載OVMF，用PeaZip解壓縮，將裡面的.fd檔案放到C:\\Program Files\\qemu\\share\n2. 安裝EmuGUI # 到Github下載Windows版，解壓縮點選emugui.exe啟動 開啟請手動指定qemu-img、qemu-system-x86_64的路徑，通常是C:\\Program Files\\qemu 3. 圖形界面安裝QEMU虛擬機範例 # 以Ubuntu為例\n至Ubuntu官網下載Ubuntu Desktop映像檔\n到EmuGUI首頁，點選New Virtual Machine\nArchitecture選取x86_64 Machine選取q35，CPU選取Host（或者Skylake-Server），RAM最低給4096 MB 點選Create New VHD，並指定虛擬磁碟存放路徑，格式選qcow2，容量最低給16GB，最下面HDD Controler可留白 VGA要看QEMU版本決定，通常選std最保險，Network的話選e1000或virtio-net 音效卡選intel-hda，CPU至少給2核心， Linux核心開機這段跳過 Accelration選WHPX 最後一個，Additional arguments。如果想要使用UEFI而非BIOS開機，請使用以下參數（不確定能否成功，因為EmuGUI似乎沒辦法正確指定路徑的樣子）\n-drive if=pflash,format=raw,readonly=on,file=\u0026#34;C:\\Program Files\\qemu\\share\\OVMF.fd\u0026#34; 選取列表的Ubuntu，點選Start Virtual Machine，再選取開機ISO，點選Start VM 接著就可以安裝系統了。按CTRL + ALT + G脫離QEMU視窗。 4. 指令方式安裝QEMU虛擬機範例 # 以Ubuntu為例，至Ubuntu官網下載Ubuntu Desktop映像檔，將ISO放到桌面\n在桌面資料夾按SHIFT＋右鍵，開啟終端機，建立32GB的虛擬磁碟\nqemu-img create -f qcow2 ubuntu.qcow2 32G 在桌面資料夾新增startvm.bat批次檔，以文字編輯器開啟，填入以下內容： qemu-system-x86_64 ^ -machine q35 ^ -m 4096 ^ -smp sockets=1,cores=4,threads=1 ^ -cpu host ^ -accel whpx ^ -hda ubuntu.qcow2 ^ -vga std ^ -netdev user,id=0 -device e1000,netdev=n0 ^ -device intel-hda ^ -usbdevice tablet ^ -cdrom ubuntu.iso 點二下bat檔啟動虛擬機。裝完後記得移除批次檔裡面的cdrom參數。 5. 延伸閱讀 # QEMU官方文件 EmuGUI官方文件 ","date":"2024年3月10日","externalUrl":null,"permalink":"/posts/qemu-on-windows/","section":"所有文章","summary":"Running QEMU emulator on Windows.\n註：本文討論的是如何在Windows安裝QEMU，如果你是想找「Linux系統安裝Windows QEMU/KVM虛擬機」請看這篇\nIvon將討論如何在Windows系統安裝虛擬機軟體「QEMU」以及圖形前端「EmuGUI」。\n後面再附上圖形介面以及指令版的虛擬機安裝方法。 1. QEMU在Windows的現況 # QEMU為Fabrice Bellard開發的開源硬體模擬器軟體，支援模擬x86、ARM、SPARC、RISC-V、MIPS各種架構的電腦。 在Linux系統，我們會將QEMU搭配Virt Manager (Libvirt)，再透過KVM加速，執行各式各樣的作業系統，可說是Linux上十分好用的虛擬機軟體。\nQEMU本身是跨平台軟體，Windows當然也有移植。在Windows系統QEMU得依賴 Intel HAXM 或 WHPX (Hyper-V) 加速虛擬機效能。\n不過，QEMU在Windows不如其他虛擬機軟體吃香。\n一來Windows本身就有內建高效能虛擬機Hyper-V\n再來VirtualBox界面對新手來說更好上手\n要專業的虛擬機軟體還有Vmware\n而且Windows的QEMU很長一段時間都沒有好用的圖形前端，需要了解命令行參數，從終端機打指令啟動。不同版本指令會略有不同。\n","title":"EmuGUI ＋ QEMU，Windows系統安裝虛擬機軟體","type":"posts"},{"content":" 二年前の今ごろ、私は中華民国ソフトウェア自由協会 (SLAT) に加入した。ざっくり言えば、これは台湾におけるアメリカ自由ソフトウェア基金会 (Free Software Foundation) に対応する非政府組織である。自由ソフトウェアへの共感に基づいて加入した。\n今年、私はついに現地で会員大会に参加した。台南から北上する前に、大まかな議程はすでに知っていた。協会の年度活動報告と、今後開催予定のLibreOffice Asia関連活動の準備についてである。\n今年の会議室は資策会から借りたものだった。歩いて行って初めて、夜夜秀の薩泰爾娛樂もこのビルにあると知った。会議室に入り、四方を見渡した。今、私はついにネット上でJason工具箱や玩具烏托邦ブログを書いている背後の人々が何者なのかを知った ——— 人間だった。特に何もない。\n会議が始まり、投影幕上に見慣れたKDEデスクトップが見えた\u0026hellip;後からBSDシステムについて話した人も、KDEデスクトップを使っていた。\nLibreOffice Asia Conference 2024 は今年8月または10月に台湾で開催される予定で、協会が単独で開催するのか、それともCOSCUP 2024と一緒に開催するのかは、会長がどう調整するか次第だ。そういえば今年は私もかなりCOSCUPへ行きたい。そうすれば便乗して応援できる。Singaporeの行程と重ならないことを願う。協会では、後続で外国人の旅行日程ももてなす必要があると議論していた\u0026hellip;考えるだけで複雑だ（Tucker Carlsonの苦悩顔をする）。やはり議程内容に集中しよう。\n後に台湾のLibreOffice Asia Conference 2024は今年8月開催に確定した。2日 ~ 4日の計3日間である。\n会長は、LibreOfficeはラテンアメリカでは人気のある活動で、多くの国が順番に会議を開催していると話していた（私もそう思う。ラテンアメリカにはFSFLAがlinux-libreカーネル開発を担当しているくらいだ）。一方、アジアでは比較的少なく、インドネシア、日本、台湾で開催されたことがあるだけだ。中国や香港で開催？くそ、これはちょっと言いにくい。\n今日私は一つ重要な観点を学んだ：政府がLibreOfficeソフトウェアを導入するとき、重視すべきものは「ODF」形式であり、ソフトウェアそのものに執着することではない。これは協会会長が海外のLibreOfficeコミュニティと交流したときに提唱していた概念で、本当に面白い。協会はODFの認定試験も推進する予定だ。\n小ネタとして、ソフトウェア自由協会の経費の一部は数位発展部から来ている。最近唐鳳被國民黨立委洗臉很嚴重で、民進党も想搶走那個肥缺らしく、恐らく私たちにも影響する。震えている。しかし安心だ、我らが民眾黨立委很挺唐鳳なのだから。\n特筆すべきことに、今日の会議にはAsiaBSDCon 2024を運営する人も招かれていた。この会議はBSDファミリーの技術討論を専門に共有するもので、多くの外国の重量級開発者が台湾に来て講義する。たとえばZFSファイルシステムの議論など、技術寄りのものばかりだ。今日話したその先生は、FreeBSD Foundationに雇用されているフルタイムエンジニアでもあった。すごすぎるだろ。\n会議後半に招かれたFHIR医療システムの講師が話した内容は専門的すぎて、私は理解できなかった。どうせ民間で組織し、政府の不足を補う組織ということなのだろう。\n最後に、昨年協会のNextcloudサービスを使っているといつも落ちていた理由を知った。なんと協会のサーバーホストは会長の家に置かれていたのだ\u0026hellip;後にようやく比較的正式な機房へ移行した。よかった。\nある大学教授が出版予定の、Linuxシステムインストールを解説する新書もなかなか面白そうだった。内容はDebian使用手冊のごった煮のように見えた。\n最後の感想。ああ、私はまた自分には属さないものへ身の程知らずに近づいてしまった。\nオープンソースコミュニティでいくらか小さな貢献はしている。たとえばbug reportを書く、ソフトウェア翻訳を手伝う、寄付で支援するなどだ。しかし私のlevelは協会の皆さんとはまだ差がありすぎる。オープンソースソフトウェア界の多くのベテラン先輩、大学教授、業界の有力者、さらに政府官員まで来ていた。もし以前に会う縁がなかったのでなければ、私はきっと本を持っていってサインをお願いしていただろう。\n我らの小ささを深く感じる。文系学生である私は、まず学生サークルに入るところから遊び始めたほうがいいのではないか\u0026hellip;\u0026hellip;ほとんど話題がない気まずい境地に陥った。\n来月には民衆党が開催する地域性の集まりもある。もしかすると私はそちらの大衆的な集まりのほうが向いているのかもしれない。\n","date":"2024年3月9日","externalUrl":null,"permalink":"/ja-jp/posts/slat-conference-2024/","section":"Foss-Issues","summary":" 二年前の今ごろ、私は中華民国ソフトウェア自由協会 (SLAT) に加入した。ざっくり言えば、これは台湾におけるアメリカ自由ソフトウェア基金会 (Free Software Foundation) に対応する非政府組織である。自由ソフトウェアへの共感に基づいて加入した。\n今年、私はついに現地で会員大会に参加した。台南から北上する前に、大まかな議程はすでに知っていた。協会の年度活動報告と、今後開催予定のLibreOffice Asia関連活動の準備についてである。\n今年の会議室は資策会から借りたものだった。歩いて行って初めて、夜夜秀の薩泰爾娛樂もこのビルにあると知った。会議室に入り、四方を見渡した。今、私はついにネット上でJason工具箱や玩具烏托邦ブログを書いている背後の人々が何者なのかを知った ——— 人間だった。特に何もない。\n会議が始まり、投影幕上に見慣れたKDEデスクトップが見えた…後からBSDシステムについて話した人も、KDEデスクトップを使っていた。\nLibreOffice Asia Conference 2024 は今年8月または10月に台湾で開催される予定で、協会が単独で開催するのか、それともCOSCUP 2024と一緒に開催するのかは、会長がどう調整するか次第だ。そういえば今年は私もかなりCOSCUPへ行きたい。そうすれば便乗して応援できる。Singaporeの行程と重ならないことを願う。協会では、後続で外国人の旅行日程ももてなす必要があると議論していた…考えるだけで複雑だ（Tucker Carlsonの苦悩顔をする）。やはり議程内容に集中しよう。\n","title":"また身に余る場所へ、2024年ソフトウェア自由協会の会員大会に参加した","type":"foss-issues"},{"content":"在主流Linux發行版都預設使用Systemd當Init系統的當下，出現了GNU GRUB的競爭對手：隨Systemd附贈的Systemd-boot，沿生自gummiboot專案。\nSystemd-boot是一個相較於GRUB來說精簡許多的開機引導程式(bootloader)，僅相容UEFI開機的現代作業系統。\n由於很精簡，Systemd-boot無法自訂背景主題，開機一律是黑嘛嘛的系統選單。 GRUB vs Systemd-boot\n還有因為需要Systemd，非Systemd的Linux發行版 (如Alpine、Artix、Devuan、Void、GUIX) 自然就無法使用。其中Gentoo算是特例，因為Gentoo可以自由在OpenRC和Systemd間切換。\n那麼切換到Systemd-boot有什麼好處呢？上面講到它的大小比GRUB輕量很多，速度或許會比GRUB快一點點。在有多重系統的電腦，Systemd-boot會自動偵測各個系統的EFI，並將其加入至開機選單。每個系統的載入設定檔是分開儲存的，相較於GRUB都寫在同一個檔案裡面，風險降低許多。\n如果硬碟沒有太多複雜的加密設定的話，從GRUB遷移至Systemd-boot不會花太多力氣，GRUB設定檔所傳遞的核心參數 (kernel parameter) 在Systemd-boot也可以做到，另外也有人製作適合用於Systemd-boot的開機動畫 (splash) 服務。\n為此，本文Ivon將以Arch Linux作為例子，示範如何用Sytemd-boot取代GRUB。\n1. 安裝Systemd-boot # Systemd-boot隨附於Systemd套件。Arch Linux預設就是使用Systemd了，若不放心用指令ps --no-headers -o comm 1查看init系統是否為systemd。\n如果使用arch-install指令稿安裝Arch Linux系統，預設就是選取Systemd-boot作為開機引導。\n首先，用bootctl安裝Sytemd-boot： sudo bootctl install 如果遇到Couldn't find EFI system partition錯誤，請檢查/etc/fstab裡EFI分區的掛載點。再將EFI分區掛載到/boot後重試: # 查看EFI分區 sudo fdisk -l # 掛載 sudo mount /dev/\u0026lt;EFI分區\u0026gt; /boot 編輯開機設定檔，這個檔案用於定義Systemd-boot的行為： sudo vim /boot/loader/loader.conf 加入以下內容： # 預設entry default ArchLinux # 等待時間 timeout 3 # 記住上次選取的開機選項 default @saved 然後設定開機尋找根目錄的方法，這裡我們使用PARTUUID作為依據。用sudo blkid指令查找目前根目錄分區的PARTUUID： /dev/nvme0n1p2: UUID=\u0026#34;d6df2909\u0026#34; BLOCK_SIZE=\u0026#34;4096\u0026#34; TYPE=\u0026#34;ext4\u0026#34; PARTUUID=\u0026#34;9da67b05\u0026#34; 接著新增entry項目，也就是Systemd-boot開機時會看到的系統列表，可以新增很多個。這裡新增一個叫做ArchLinux的項目： sudo vim /boot/loader/entries/ArchLinux.conf 填入以下內容： title ArchLinux # 預先載入Intel CPU的微碼，AMD CPU為amd-ucode initrd /intel-ucode.img # 要載入的核心，Arch預設是使用linux核心。如果用的是linux-zen核心則改成\u0026#34;vmlinuz-linux-zen\u0026#34; linux /vmlinuz-linux # 要載入的initramfs，同上，輸入linux或linux-zen initrd /initramfs-linux.img # 掛載選項rw後面可接kernel parameter，例如\u0026#34;quiet\u0026#34; options root=PARTUUID=\u0026#34;填入PARTUUID\u0026#34; rw quiet splash 最後，從AUR安裝systemd-boot-pacman-hook，它會在Systemd套件更新後自動更新Systemd-boot： yay -S systemd-boot-pacman-hook 執行sudo bootctl status，會印出目前的開機狀態，並檢查是否有正確設定。設定錯誤的部份會標示紅字。 Default Boot Loader Entry: type: Boot Loader Specification Type #1 (.conf) title: ArchLinux id: ArchLinux.conf source: /boot/loader/entries/ArchLinux.conf linux: /vmlinuz-linux initrd: /initramfs-linux.img /intel-ucode.img options: root=PARTUUID=\u0026#34;9da67b05\u0026#34; 2. 備份GRUB設定檔，刪除GRUB # 為防止無法開機，記得準備一個Arch Linux的隨身碟方便用chroot修復電腦。\nGRUB的設定檔通常是位於/etc/default/grub，將這個檔案複製出來儲存： sudo cat /etc/default/grub \u0026gt;\u0026gt; ~/grub_config.txt 接著刪除GRUB。(虛擬機套件libguestfs依賴grub，因此也可以不刪套件，而只移除GRUB在/boot下的目錄) sudo pacman -R grub sudo rm -rf /boot/grub/ 檢查/boot目錄下的內容：ls /boot/ EFI initramfs-linux-fallback.img initramfs-linux.img intel-ucode.img loader vmlinuz-linux 重開機，之後應該會進入Systemd-boot的開機選單。若無，試著在UEFI界面，調整開機裝置為Linux Boot Manager 3. 若要從Systemd-boot轉換回GRUB # 確認/boot分區的掛載點 lsblk 刪除Systemd-boot檔案 sudo bootctl remove 以UEFI安裝GRUB到/boot sudo pacman -S grub os-prober efibootmgr sudo grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot sudo grub-mkconfig -o /boot/grub/grub.cfg 參考資料 # systemd-boot - Arch Wiki How to migrate from grub to systemd-boot in less than 5 minutes. ","date":"2024年3月8日","externalUrl":null,"permalink":"/posts/replace-grub-with-systemd-boot/","section":"所有文章","summary":"在主流Linux發行版都預設使用Systemd當Init系統的當下，出現了GNU GRUB的競爭對手：隨Systemd附贈的Systemd-boot，沿生自gummiboot專案。\nSystemd-boot是一個相較於GRUB來說精簡許多的開機引導程式(bootloader)，僅相容UEFI開機的現代作業系統。\n由於很精簡，Systemd-boot無法自訂背景主題，開機一律是黑嘛嘛的系統選單。 GRUB vs Systemd-boot\n還有因為需要Systemd，非Systemd的Linux發行版 (如Alpine、Artix、Devuan、Void、GUIX) 自然就無法使用。其中Gentoo算是特例，因為Gentoo可以自由在OpenRC和Systemd間切換。\n那麼切換到Systemd-boot有什麼好處呢？上面講到它的大小比GRUB輕量很多，速度或許會比GRUB快一點點。在有多重系統的電腦，Systemd-boot會自動偵測各個系統的EFI，並將其加入至開機選單。每個系統的載入設定檔是分開儲存的，相較於GRUB都寫在同一個檔案裡面，風險降低許多。\n如果硬碟沒有太多複雜的加密設定的話，從GRUB遷移至Systemd-boot不會花太多力氣，GRUB設定檔所傳遞的核心參數 (kernel parameter) 在Systemd-boot也可以做到，另外也有人製作適合用於Systemd-boot的開機動畫 (splash) 服務。\n","title":"用Systemd-boot取代GRUB作為Linux的bootloader","type":"posts"},{"content":"English version\nPS IMAGO PRO是Predictive Solutions推出的統計分析軟體，內含IBM SPSS Statistics、PS IMAGO Desinger、PS IMAGO Process。\n在做應用語言學統計分析研究的時候，免不了會用到SPSS計算結果。\nSPSS軟體為IBM開發的專有軟體，僅支援Window和macOS，Linux使用者自求多福。 其實SPSS程式應該是原生支援Redhat系Linux發行版的，但根據IBM官網公告，Linux版SPSS支援只到27版。\n我們學校跟代理商買的SPSS是29版，包含在軟體套裝PS IMAGO PRO內，每年更新，真先進！絕對不保留舊版授權！\n那麼在我們就只能用Bottles (Wine) 跑SPSS囉！ WineDB資料顯示最近幾個SPSS版本的執行狀況都蠻不賴的。\n我的作業系統：Ubuntu 22.04\n1. 取得IBM SPSS Statistics軟體 # 不討論盜版裝法，我的SPSS包含在PS IMAGO PRO套裝軟體內，是在學校指定的內部伺服器取得的，內含啟用序號。\n下載PS IMAGO PRO之後得到的是ISO檔，得將其掛載為loop device sudo mkdir /mnt/isoimage sudo mount -o loop /home/user/Downloads/PS_IMAGO_PRO_9.iso /mnt/isoimage 再把全部檔案複製出來 sudo cp -r /mnt/isoimage/* /home/user/Downloads 用完之後取消掛載 sudo umount /mnt/isoimage 2. 安裝IPM SPSS Statistics軟體 # 安裝Bottles for Linux\n新增Gaming酒瓶\n開啟酒瓶 → 相依項目，安裝依賴套件cjkfonts和vcredist2012\n點選執行，選取安裝程式exe，安裝程式 點選程式列表的PdDesktop進入主界面\n點PS Activator開啟輸入產品授權碼就可以使用SPSS了。 不知為何SPSS內軟體中文字體無法顯示，只好到左上角選項處，把界面語言調成英文。 簡單跑個paired T-test分析mean value，確認可以輸出圖表，.sav讀檔存檔也都沒問題。 3. 附錄：SPSS的Linux開源替代品 # 這二個軟體功能類似SPSS，並且原生支援Linux系統。\nGNU PPSP JASP ","date":"2024年3月7日","externalUrl":null,"permalink":"/posts/linux-wine-ibm-spss/","section":"所有文章","summary":"English version\nPS IMAGO PRO是Predictive Solutions推出的統計分析軟體，內含IBM SPSS Statistics、PS IMAGO Desinger、PS IMAGO Process。\n在做應用語言學統計分析研究的時候，免不了會用到SPSS計算結果。\nSPSS軟體為IBM開發的專有軟體，僅支援Window和macOS，Linux使用者自求多福。 其實SPSS程式應該是原生支援Redhat系Linux發行版的，但根據IBM官網公告，Linux版SPSS支援只到27版。\n我們學校跟代理商買的SPSS是29版，包含在軟體套裝PS IMAGO PRO內，每年更新，真先進！絕對不保留舊版授權！\n那麼在我們就只能用Bottles (Wine) 跑SPSS囉！ WineDB資料顯示最近幾個SPSS版本的執行狀況都蠻不賴的。\n我的作業系統：Ubuntu 22.04\n1. 取得IBM SPSS Statistics軟體 # 不討論盜版裝法，我的SPSS包含在PS IMAGO PRO套裝軟體內，是在學校指定的內部伺服器取得的，內含啟用序號。\n下載PS IMAGO PRO之後得到的是ISO檔，得將其掛載為loop device sudo mkdir /mnt/isoimage sudo mount -o loop /home/user/Downloads/PS_IMAGO_PRO_9.iso /mnt/isoimage 再把全部檔案複製出來 sudo cp -r /mnt/isoimage/* /home/user/Downloads 用完之後取消掛載 sudo umount /mnt/isoimage 2. 安裝IPM SPSS Statistics軟體 # 安裝Bottles for Linux\n新增Gaming酒瓶\n","title":"試著在Linux系統安裝IBM SPSS Statistics 29 (PS IMAGO PRO 9.0) 統計分析軟體","type":"posts"},{"content":"曾經有過這種幻想，春秋戰國之後的中國，就不再是中國了。\n用更抽象的比喻來說，西元後的「神秘」逐漸消失，神代終結，魔法就慢慢失去蹤跡了。（聽不懂沒關係，反正我偷的是TYPE-MOON的設定）\n嘗言「崖山之後無中國」，為何我卻認為春秋戰國之後無中國呢？我當然知道這種看法是錯的，本文無意探討何為中國的定義，以及歷史斷代方法，而是想抒發我這種奇怪想法的起源。\n這個命題準確的說應該是「為什麼我偏好春秋戰國時代」\n先來流水帳梳理下。搭配電影《英雄》的配樂〈Overture〉。\n在兩岸一家親想法的起源一文中談過，小時候耳濡目染，自然對中國產生了一點感情（共匪除外）。儘管台灣史的書越來越多，我還是讀了許多中國歷史。\n現在我來詳細解釋在歷史課本和國文課本外，還讀了哪些中國古代的書籍。\n讀的書實在不多，最早有印象的書籍是《聊霽誌異》、《儒林外史》、《三國演義》、《史紀》、《東周列國志》、《孫子兵法》，大約小學的時候讀的，還記得伍子胥的故事呀。不過，很多都是翻譯本，甚少讀原文。\n此外哲學方面也有涉獵，我蠻喜歡古希臘哲學的，再交叉看中國的。不同於歐洲哲學，中國哲學常常跟歷史綁在一起的。被安親班老師強迫讀《論語》，我卻偏好讀《莊子》和其他諸子百家書籍，這二本書影響吾的思想甚距，直到現在。那個教論語的老師實在很臭屁，鑽研《論語》多年，說她生在當時一定會成為孔子第73個弟子。\n高中的時候，讀了《國語》、《左傳》等東周時期的原文書籍（不知道為何學校圖書館會有這種書），接著便是民國時期的魯迅作品集，還有李敖的書了，時間跨度太大，中間朝代的書籍斷斷續續的讀，也看了些中國古裝劇，其中我最印象深刻的是《隋唐演義(2013)》和《英雄(2002)》電影。\n到目前為止，學識依然淺薄。\n寫完以上流水帳，就拿幾個最重要的點來說吧。\n《英雄》電影可作為我對那個時代的想像，那個配樂，那個畫面，那個意境，是在秦朝統一六國後無法再現的。在秦朝之後，天下的概念改變，中國從此進入了真正的家天下制度，所有權力集於一身。\n前面說道，《論語》一書在我老師的強迫灌輸下導致不得不熟悉內容，但是我對恪守仁義道德沒太大興趣，我欣賞的是孔子在禮崩樂壞的時代，還願意傻傻挺身而出的精神。\n孔子作春秋，而亂臣賊子懼。\n面對失意的時候，孔子說：\n「道不行，乘桴浮于海。」\n就是這種感覺。另外，有知乎用戶曾在描述萬能青年旅店歌曲〈河北墨麒麟〉的文章，把孔子「西狩獲麟」的故事描繪為象徵一個時代的結束，真是浪漫。\n西狩獲麟，孔子曰：「吾道窮矣！」《春秋》何以始乎隱？祖之所逮聞也。所見異辭，所聞異辭，所傳聞異辭。何以終乎哀十四年？曰：備矣！君子曷為為《春秋》？撥亂世，反諸正，莫近諸《春秋》。則未知其為是與？其諸君子樂道堯舜之道與？末不亦樂乎堯舜之知君子也？制《春秋》之義以俟後聖，以君子之為，亦有樂乎此也。\n聽說孔子在死前講了：\n「泰山其頹乎？梁木其壞乎？哲人其萎乎？」\n然後就翹掉了。春秋之後是戰國，接著才是秦朝。我們知道孟子、荀子、朱子等後人仍持續發揚孔子的儒家精神，可是越到近代，越成固守陳規的腐儒了。雖有牟宗三等人提倡新儒學，但我還是看不懂他們在幹嘛。\n再談《莊子》一書，這本搭配《老子》一起看更好。個人挺反對把道家人物神格化的作法，那不是背道而馳嗎，我不喜歡以宗教的角度來談論道家的哲學，更別說把道的元素融入醫學治療、武術訓練了。這種道不應該是談論五行關係的玄妙言論，而是一種更形而上的東西探討才是。\n不過，偏向歐洲哲學的那種邏輯討論在中國哲學幾乎見不到，除了名家以外。莊子的哲學，更多的是講讓人生轉念的道理。\n嫌《莊子》一書太難懂的，可以閱讀蔡志忠繪製的《漫畫莊子說》了解他的思想。\n如果生活不如意，除了像孔子一樣靠北天命以外，還可以看道家的書得到點啟發，例如：\n無所可用，安所困苦哉！\n天地與我並生，而萬物與我為一。\n死，無君於上，無臣於下，亦無四時之事，從然以天地為春秋，雖南面王樂，不能過也。\n學而不能行，謂之病。\n我們跨點朝代\u0026hellip;講點更浪漫的，蘇軾在《赤壁賦》談過：\n客亦知夫水與月乎？逝者如斯，而未嘗往也；盈虛者如彼，而卒莫消長也，蓋將自其變者而觀之，則天地曾不能以一瞬；自其不變者而觀之，則物與我皆無盡也，而又何羨乎？且夫天地之間，物各有主，苟非吾之所有，雖一毫而莫取。惟江上之清風，與山間之明月，耳得之而為聲，目遇之而成色，取之無禁，用之不竭，是造物者之無盡藏也，而吾與子之所共適。\n東方魚肚白\u0026hellip;暗夜的扁舟\u0026hellip;多次幻想這種超然愜意的場景，都是這些文字賜予我的想像。\n當然從現實面來看，半夜出去划船會被蚊子叮死啦。\n上述講的理由，似乎不能解釋為何我愛春秋戰國時代啊。縱然中國歷史在前進，可是哲人的思想並沒有停滯，東周之後中國哲學亦有在進步。\n那麼唯一的解釋就是，那不過是幼時書讀不多所殘存下來的幻想，因為不知道外面的世界多大，才會追憶那個時代。唐朝以後傳入的佛經，哪部不比道家的玄妙？中國古書的文學發展，也是無盡的寶藏。\n是時候跳出時代窠臼了，諸子百家思想沒有被中斷，現在我們有中國哲學書電子計劃，還有維基文庫的資源，閱讀中國古書容易多了。更重要的是，古人說的話值得參考，但不要墨守成規。\n最後用莊子的一個故事結尾吧：\n夫列子御風而行，泠然善也，旬有五日而後反。彼於致福者，未數數然也。此雖免乎行，猶有所待者也。\n","date":"2024年3月7日","externalUrl":null,"permalink":"/posts/2024030701/","section":"Politics","summary":"曾經有過這種幻想，春秋戰國之後的中國，就不再是中國了。\n用更抽象的比喻來說，西元後的「神秘」逐漸消失，神代終結，魔法就慢慢失去蹤跡了。（聽不懂沒關係，反正我偷的是TYPE-MOON的設定）\n嘗言「崖山之後無中國」，為何我卻認為春秋戰國之後無中國呢？我當然知道這種看法是錯的，本文無意探討何為中國的定義，以及歷史斷代方法，而是想抒發我這種奇怪想法的起源。\n這個命題準確的說應該是「為什麼我偏好春秋戰國時代」\n先來流水帳梳理下。搭配電影《英雄》的配樂〈Overture〉。\n在兩岸一家親想法的起源一文中談過，小時候耳濡目染，自然對中國產生了一點感情（共匪除外）。儘管台灣史的書越來越多，我還是讀了許多中國歷史。\n現在我來詳細解釋在歷史課本和國文課本外，還讀了哪些中國古代的書籍。\n讀的書實在不多，最早有印象的書籍是《聊霽誌異》、《儒林外史》、《三國演義》、《史紀》、《東周列國志》、《孫子兵法》，大約小學的時候讀的，還記得伍子胥的故事呀。不過，很多都是翻譯本，甚少讀原文。\n此外哲學方面也有涉獵，我蠻喜歡古希臘哲學的，再交叉看中國的。不同於歐洲哲學，中國哲學常常跟歷史綁在一起的。被安親班老師強迫讀《論語》，我卻偏好讀《莊子》和其他諸子百家書籍，這二本書影響吾的思想甚距，直到現在。那個教論語的老師實在很臭屁，鑽研《論語》多年，說她生在當時一定會成為孔子第73個弟子。\n","title":"春秋戰國之後無中國，讀中國歷史書後著迷的那段時期","type":"politic"},{"content":"要在手機與電腦無線傳檔案，Ivon常常使用KDE Connect配對連線，讓我能夠傳檔案、遠端控制電腦、同步剪貼簿等等。\n不過，如果Linux電腦的桌面環境並非KDE Connect，那麼KDE Connect就會不太好用。\n比如，KDE Connect在GNOME、XFCE、Cinnamon等GTK桌面的整合度就沒有KDE Plasma那麼高，QT程式看起來一整個突兀。這個時候，我們可以改用KDE Connect的重新實現：「Valent」。 重新實現 (re-implementation) 是什麼概念呢，因為KDE Connect的傳輸協定是開源的，開發者可以自由製作相容KDE Connect協定的客戶端，改善功能，並且仍能跟舊有的KDE Connect客戶端連線。比如Zorin OS就推出了自家的KDE Connect客戶端Zorin Connect\n本次Ivon要分享的Valent是Andy Holmes開發的軟體，更適合GTK桌面環境使用。Andy Holmes亦是GSConnect的作者。更早之前開發的GSConnect是專為GNOME設計的KDE Connect擴充套件，需要GNOME桌面才能運作；相較之下，作者把Valent設計成獨立的應用程式，讓它能夠在更多桌面環境使用。\nIvon認為，Valent並不僅是「GTK版的KDE Connect」這麼簡單而已，從界面設計來說，它的界面比本家KDE Connect的還要好看，作者把電腦版KDE Connect的功能都搬了過來，還加入了許多獨立的應用程式界面。 獨立簡訊視窗\n獨立音樂控制視窗\nValent吸收了Android版KDE Connect APP的優點，讓使用者能夠把Valent當作控制端，操控其他裝置進行遠端輸入。 遠端控制視窗\n1. 安裝Valent # 根據Github說明，目前Valent處於Alpha狀態，可能會有些許不穩定。\n透過Flatpak安裝Nightly版的Valent： wget https://valent.andyholmes.ca/valent.flatpakref flatpak --user install valent.flatpakref Valent可能會跟KDE Connect使用的通訊埠打架，請不要同時使用二個程式。不過你倒是可以同時使用Valent和GSConnect。\n開放以下防火牆通訊埠：\nsudo ufw allow 1714:1764/udp sudo ufw allow 1714:1764/tcp sudo ufw reload 如果需要跟GNOME桌面進一步整合，請安裝gnome-shell-extension-valent。目前好像沒作用，或許作者會加入與Nautilus右鍵選單整合的選項吧。 2. 使用Valent # Valent相容現有的KDE Connect客戶端，讓手機跟電腦處於同一個Wifi下就可以配對。 點選Messeging檢視手機上的簡訊。\nSend Files傳輸檔案。\nBrowse Files檢視遠端裝置的檔案（需要在右上角Preferences → Sync裡面啟用Automaticaly Mount SFTP，Android似乎無效？）\nPresentation Remote遠端控制簡報播放。\n","date":"2024年3月7日","externalUrl":null,"permalink":"/posts/valent-kde-connect/","section":"所有文章","summary":"要在手機與電腦無線傳檔案，Ivon常常使用KDE Connect配對連線，讓我能夠傳檔案、遠端控制電腦、同步剪貼簿等等。\n不過，如果Linux電腦的桌面環境並非KDE Connect，那麼KDE Connect就會不太好用。\n比如，KDE Connect在GNOME、XFCE、Cinnamon等GTK桌面的整合度就沒有KDE Plasma那麼高，QT程式看起來一整個突兀。這個時候，我們可以改用KDE Connect的重新實現：「Valent」。 重新實現 (re-implementation) 是什麼概念呢，因為KDE Connect的傳輸協定是開源的，開發者可以自由製作相容KDE Connect協定的客戶端，改善功能，並且仍能跟舊有的KDE Connect客戶端連線。比如Zorin OS就推出了自家的KDE Connect客戶端Zorin Connect\n本次Ivon要分享的Valent是Andy Holmes開發的軟體，更適合GTK桌面環境使用。Andy Holmes亦是GSConnect的作者。更早之前開發的GSConnect是專為GNOME設計的KDE Connect擴充套件，需要GNOME桌面才能運作；相較之下，作者把Valent設計成獨立的應用程式，讓它能夠在更多桌面環境使用。\nIvon認為，Valent並不僅是「GTK版的KDE Connect」這麼簡單而已，從界面設計來說，它的界面比本家KDE Connect的還要好看，作者把電腦版KDE Connect的功能都搬了過來，還加入了許多獨立的應用程式界面。 獨立簡訊視窗\n","title":"Valent：手機與Linux電腦無線傳檔案，GTK版的KDE Connect","type":"posts"},{"content":"為何Linux有Google Chrome不用要用Chromium？\n使用Chromium的緣由：我需要在ARM64/AArch64的Linux裝置（如樹莓派、Android Termux Proot、PineTab）使用Chrome，但是Google死都不出ARM64版本，所以只好使用Chromium。\n藍色的Chromium為Google Chrome的上游開源版本，許多Linux發行版都有收此套件，惟Google在2021年砍掉了登入帳號的支援，功能瞬間廢掉一半。 不過其實還是有辦法啟用同步功能的，你要以Chromium開發者身份註冊，取得私人同步金鑰才得以登入Google帳號同步。\n如圖，這是預設的Chromium界面，無法登入Google帳號： 在加入金鑰後同步按鈕就出現了！密碼、擴充功能都能正常同步。 測試當下Chromium版本為v120，目前不清楚Google何時會完全砍掉此功能，還能用就將就用吧。\n（v121似乎不能用了？）\n1. 安裝Chromium瀏覽器 # 大多數Linux發行版都有收Chromium套件：\n# Ubuntu sudo apt install chromium-browser # Arch Linux sudo pacman -S chromium 也可以用Flatpak安裝：\nflatpak install flathub org.chromium.Chromium 2. 取得API金鑰 # 使用要同步的Google帳號，加入Chromium-dev和Google browser sign-in test account這二個群組。如不想被訊息轟炸記得關閉電子郵件通知。\n前往Google Cloud主控台\n點選左上角新增專案 點選左上角切換專案，並點選API 和服務 → 程式庫 搜尋並啟用以下API：\nCloud Search API Geolocation API （免費使用，需要填付款資訊） Google Drive API Safe Browsing API Time Zone API 返回API 和服務頁面，點選左邊的憑證頁面 點選建立OAuth 用戶端 ID 依照指示建立OAuth同意頁面，User Type選外部，剩下的只需要填寫應用程式名稱和電子郵件就好 再次點選建立OAuth 用戶端 ID\n你會得到一組Client ID和Client Secret，把數值複製下來。 最後回到憑證頁面，點選建立API金鑰，這樣你會得到一組英數混合的API Key。 API Key生效可能得等幾個小時，沒成功再用chromium指令執行程式，看終端機輸出訊息爲何。\n3. 將API金鑰加入至Chromium # 使用三個環境變數，指定剛剛取得的API金鑰。\nGOOGLE_DEFAULT_CLIENT_SECRET GOOGLE_DEFAULT_CLIENT_ID GOOGLE_API_KEY 原生套件版 # 直接在~/.bashrc或~/.profile加入以上三個環境變數：\nexport GOOGLE_DEFAULT_CLIENT_SECRET=\u0026#34;英數\u0026#34; export GOOGLE_DEFAULT_CLIENT_ID=\u0026#34;英數\u0026#34; export GOOGLE_API_KEY=\u0026#34;英數\u0026#34; Flatpak版 # 使用flatpak overrirde設定環境變數。\nflatpak --user override \\ --env=GOOGLE_DEFAULT_CLIENT_SECRET=\u0026#34;英數\u0026#34; \\ --env=GOOGLE_DEFAULT_CLIENT_ID=\u0026#34;英數\u0026#34; \\ --env=GOOGLE_API_KEY=\u0026#34;英數\u0026#34; \\ org.chromium.Chromium 參考資料 # API Keys - Chromium Docs Chromium Sync - Learning to Pi Enabling Chromium to sync with Google Account -stackoverflow ","date":"2024年3月5日","externalUrl":null,"permalink":"/posts/chromium-browser-enable-google-sync/","section":"所有文章","summary":"為何Linux有Google Chrome不用要用Chromium？\n使用Chromium的緣由：我需要在ARM64/AArch64的Linux裝置（如樹莓派、Android Termux Proot、PineTab）使用Chrome，但是Google死都不出ARM64版本，所以只好使用Chromium。\n藍色的Chromium為Google Chrome的上游開源版本，許多Linux發行版都有收此套件，惟Google在2021年砍掉了登入帳號的支援，功能瞬間廢掉一半。 不過其實還是有辦法啟用同步功能的，你要以Chromium開發者身份註冊，取得私人同步金鑰才得以登入Google帳號同步。\n如圖，這是預設的Chromium界面，無法登入Google帳號： 在加入金鑰後同步按鈕就出現了！密碼、擴充功能都能正常同步。 測試當下Chromium版本為v120，目前不清楚Google何時會完全砍掉此功能，還能用就將就用吧。\n（v121似乎不能用了？）\n1. 安裝Chromium瀏覽器 # 大多數Linux發行版都有收Chromium套件：\n# Ubuntu sudo apt install chromium-browser # Arch Linux sudo pacman -S chromium 也可以用Flatpak安裝：\nflatpak install flathub org.chromium.Chromium 2. 取得API金鑰 # 使用要同步的Google帳號，加入Chromium-dev和Google browser sign-in test account這二個群組。如不想被訊息轟炸記得關閉電子郵件通知。\n","title":"如何給Chromium瀏覽器啟用Google帳號同步功能","type":"posts"},{"content":"警告：根據Github原始碼儲存庫動態，Limbo PC Emulator作者已超過2年沒更新此APP，Google Play上的付費版Limbo並非原作者上傳。\n經測試Android 11以上系統無法正常使用Limbo PC Emulator。\nAndroid 12以後的系統請用Termux跑QEMU或者Vectras VM。\nLimbo為一款基於QEMU開發的開源模擬器，讓你在Android手機，免Root執行虛擬機，跑Linux、Windows、Android-x86等各種電腦系統。 Limbo PC Emlator最早在2012年發表，原作者是Max Kastanas。\n1. 關於Limbo PC Emulator效能 # 先打個預防針，不論你準備多高級的硬體，Limbo PC Emulator的速度都不會快到哪裡去。\n如果你想在Android玩Windows遊戲，建議直接用Winlator\n為什麼這麼說呢，看這部影片，手機QEMU模擬Windows 7，安裝一小時，開機幻燈片。這樣的效能恐怕只有Windows XP時代的系統會順了。\nLimbo背後使用的虛擬機技術為「QEMU」，這是Linux上很流行的開源模擬器軟體，能夠模擬各式各樣的硬體。\n通常QEMU在Linux會搭配KVM核心模組，達成幾近原生的執行速度。比如你可以在Ubuntu跑Windows 11，速度很快。\n但是，現在Pixel以外的Android手機幾乎沒有KVM，QEMU形同少了一隻手，整個系統都是用軟體模擬的，速度十分緩慢。\nARM模擬ARM架構系統？照樣卡。\n即使是用最高階的旗艦處理器跑，在Limbo模擬器內也只能勉強上上網而已，移動滑鼠變幻燈片，玩3D遊戲是不可能的。\n考慮到圖形方面的應用幾乎沒有實用性，那麼我想Limbo的價值就是跑個Linux純文字VM，用來模擬x86環境跑些伺服器服務了吧。但如果你不是那麼要求完整Linux環境，那麼用Termux Proot跑輕量Linux容器也不失為一個好方法，速度比模擬完整系統要快多了。\n2. Limbo PC Emulator硬體需求 # 處理器：高通Snapdragon 845以上\nRAM：6GB以上\n儲存空間：32GB以上（視你要安裝的作業系統而定，Linux最低8GB，Windows 7最低16GB，別忘了你還要下載ISO）\n3. 下載Limbo PC Emulator APK # 官方原版 # Limbo PC Emulator執行不需要Root權限。\n請到Github下載APK。\n目前v6.0.1作者把主程式分成了二個版本：\nlimbo-android-arm\nlimbo-android-x86\n不要被誤導，這裡的ARM和x86指的不是APK支援的Android系統架構，而是模擬的電腦架構。\narm指的是模擬ARM架構作業系統的APK，裡面的機器配置全部都是ARM處理器。\nx86指的是模擬x86架構作業系統，裡面有Intel CPU的模擬選項。\n以上二個APK可以同時安裝。\n我個人是覺得，反正沒有KVM，哪個架構的系統模擬的速度都差不多，那麼你不妨選x86版本的，能用的軟體也比較多。\nPixel Tensor特製版 # 如果你是搭載Tensor處理器的Google Pixel，並且有Root的話，那麼可以用這個分支版limbo_tensor，利用pKVM達成KVM加速。\n4. 如何安裝Windows虛擬機 # 你可以自己新增硬碟，用安裝光碟ISO開機，完成系統安裝。\n或者下載網路上別人做好的虛擬硬碟映像檔，跳過安裝步驟，開機即用。\n以安裝64位元Windows 7為例子，首先你要準備Windows 7的安裝光碟ISO（網路上很多盜版，自己找）\n將Windows 7 ISO放到手機內部儲存空間/Documents/Limbo\n點選New，新增虛擬機器，輸入名字後，再點選Custom跳過選取ISO Board的部份，Machine Type選Q35，CPU Model選qemu64，CPU Cores至少分配2核心，RAM分配2GB，並勾選Enable MTTCG Disks點選Create，新增20GB的虛擬硬碟，存放位置選取手機內部儲存空間/Documents/Limbo\nRemovable勾選CDROM，並選取Windows 7的ISO\nBoot選取CDROM\nAudio選hda，Network選User 一切就緒後，點選最上方按鈕開機，開始安裝系統 安裝後記得把CDROM移除，並將Boot選項改為Default。\n","date":"2024年3月3日","externalUrl":null,"permalink":"/posts/limbo-pc-emulator/","section":"所有文章","summary":"警告：根據Github原始碼儲存庫動態，Limbo PC Emulator作者已超過2年沒更新此APP，Google Play上的付費版Limbo並非原作者上傳。\n經測試Android 11以上系統無法正常使用Limbo PC Emulator。\nAndroid 12以後的系統請用Termux跑QEMU或者Vectras VM。\nLimbo為一款基於QEMU開發的開源模擬器，讓你在Android手機，免Root執行虛擬機，跑Linux、Windows、Android-x86等各種電腦系統。 Limbo PC Emlator最早在2012年發表，原作者是Max Kastanas。\n1. 關於Limbo PC Emulator效能 # 先打個預防針，不論你準備多高級的硬體，Limbo PC Emulator的速度都不會快到哪裡去。\n如果你想在Android玩Windows遊戲，建議直接用Winlator\n為什麼這麼說呢，看這部影片，手機QEMU模擬Windows 7，安裝一小時，開機幻燈片。這樣的效能恐怕只有Windows XP時代的系統會順了。\nLimbo背後使用的虛擬機技術為「QEMU」，這是Linux上很流行的開源模擬器軟體，能夠模擬各式各樣的硬體。\n通常QEMU在Linux會搭配KVM核心模組，達成幾近原生的執行速度。比如你可以在Ubuntu跑Windows 11，速度很快。\n","title":"Limbo PC Emulator，Android手機裝Windows虛擬機","type":"posts"},{"content":"","date":"2024年3月2日","externalUrl":null,"permalink":"/tags/ios-tweak/","section":"標籤","summary":"","title":"IOS Tweak","type":"tags"},{"content":"本文講述的主旨不是要你用iPhone SSH到遠端主機，而是在iPhone跑SSH伺服器，讓電腦可以遠端存取iPhone檔案。\n如果有越獄，還可以遠端下指令，控制iPhone套件更新。\n1. 準備SSH連線客戶端 # Linux電腦：開啟終端機，安裝openssh-client套件\nWindows 11：開啟終端機，按照官方文件，安裝openssh-client套件\nmacOS：開啟終端機，ssh指令應該已經內建。\n2. 架設SSH伺服器 # 注意：不要同時跑二個SSH伺服器，他們預設都是用22通訊埠，不修改的話會互相衝突。\n免越獄方案 # iSH Shell因為是普通APP只能看到自己的檔案，至多用mount指令掛載部份APP的共享資料夾而已。\n安裝iSH Shell\n安裝OpenSSH套件\napk add openssh openrc 修改目前帳號密碼。iSH Shell的預設帳號為root。 passwd 編輯SSH設定 vim /etc/ssh/sshd_config 允許root帳號登入 PermitRootLogin yes 啟動SSH伺服器服務，並設定為開啟APP後自動啟用 service sshd start rc-update add sshd # 停止SSH服務的指令 service sshd stop iPhone鎖定螢幕後網路會斷掉，因此請延長自動鎖定時間，或者讓它保持在背景執行： cat /dev/location \u0026gt; /dev/null \u0026amp; 越獄方案 # 通常越獄程式會幫你設定好SSH服務，不過有些rootless越獄可能就沒有，得手動啟用。\n開啟Sileo，搜尋openssh-server套件安裝。\n越獄後預設帳號為mobile，密碼為alpine。加上su可以切換成root帳號。\n安裝NewTerm即可修改密碼，並手動管理SSH服務。\nrootless越獄停止SSH服務指令：sudo launchctl unload /var/jb/Library/LaunchDaemons/com.openssh.sshd.plist\n重啟SSH服務指令：sudo launchctl load /var/jb/Library/LaunchDaemons/com.openssh.sshd.plist\n3. SSH連線至iOS裝置 # 確保電腦和iPhone處於同一Wifi下。\n開啟iPhone設定 → Wifi，點選i，查看區域IP位址，通常是192.168開頭。\n在電腦輸入指令連線。\n# 連線至iSH Shell ssh root@192.168.0.111 # 連線至越獄帳號 ssh mobile@192.168.0.111 之後就可以任意打指令操作了，用完之後輸入exit退出。\n順帶一提，你可以用scp指令在電腦與iPhone間傳輸檔案。\n# 從電腦複製目錄到iPhone # 電腦目錄 iPhone目錄 scp -r /home/user/Pictures root@192.168.0.1111:~/ ","date":"2024年3月2日","externalUrl":null,"permalink":"/posts/ssh-server-ios/","section":"所有文章","summary":"本文講述的主旨不是要你用iPhone SSH到遠端主機，而是在iPhone跑SSH伺服器，讓電腦可以遠端存取iPhone檔案。\n如果有越獄，還可以遠端下指令，控制iPhone套件更新。\n1. 準備SSH連線客戶端 # Linux電腦：開啟終端機，安裝openssh-client套件\nWindows 11：開啟終端機，按照官方文件，安裝openssh-client套件\nmacOS：開啟終端機，ssh指令應該已經內建。\n2. 架設SSH伺服器 # 注意：不要同時跑二個SSH伺服器，他們預設都是用22通訊埠，不修改的話會互相衝突。\n免越獄方案 # iSH Shell因為是普通APP只能看到自己的檔案，至多用mount指令掛載部份APP的共享資料夾而已。\n安裝iSH Shell\n安裝OpenSSH套件\napk add openssh openrc 修改目前帳號密碼。iSH Shell的預設帳號為root。 passwd 編輯SSH設定 vim /etc/ssh/sshd_config 允許root帳號登入 PermitRootLogin yes 啟動SSH伺服器服務，並設定為開啟APP後自動啟用 service sshd start rc-update add sshd # 停止SSH服務的指令 service sshd stop iPhone鎖定螢幕後網路會斷掉，因此請延長自動鎖定時間，或者讓它保持在背景執行： cat /dev/location \u003e /dev/null \u0026 越獄方案 # 通常越獄程式會幫你設定好SSH服務，不過有些rootless越獄可能就沒有，得手動啟用。\n","title":"iOS跑SSH伺服器，電腦遠端連線存取iPhone檔案","type":"posts"},{"content":"註：本APP需要越獄環境，如果你不需要越獄功能，只是想要單純存取Linux指令工具，請改到App Store裝iSH Shell。\n將iOS裝置越獄後，我們通常會安裝Sileo管理插件吧，檔案管理則是Filza，那麼這一切背後的操作是否能用指令完成呢？\nNewTerm滿足你的願望。NewTerm為一款開源的終端機模擬器(terminal emulator)，支援iOS/iPadOS/macOS，讓你可以存取iOS的shell，執行各式各樣的指令。 跟macOS上的iTerm2一樣，NewTerm是專門的終端機模擬器。跟iOS其他終端機APP不同之處在於，NewTerm並沒有模擬環境，而是讓使用者直接存取iOS系統shell，故執行速度沒有任何損耗。\n有了NewTerm，你就可以：\n在本機執行純文字工具，例如VIM、Clang、ffmpeg、ImageMagick、Python。只要Sileo軟體源有的套件都能取用。 免開Sileo，直接透過APT指令安裝與更新越獄插件 (Tweak通常都是以deb套件打包)。 SSH到遠端電腦，或者在iOS啟動SSH伺服器，從電腦遠端存取。 支援iPad的120hz螢幕更新率，利用iPad功能進行雙視窗作業。 macOS用戶可能會問能不能裝Homebrew呢\u0026hellip;不行，iOS的Tweak雖然採用deb打包，但都是針對iPhone OS特別編譯的版本，必須從專門的套件庫下載deb安裝才行。\n下面我會介紹如何安裝NewTerm APP，並分享一些iOS越獄後可以玩的指令。\n1. 下載NewTerm APP # NewTerm是HASHBANG Productions開發的自由軟體，原始碼放在Github。 目前「NewTerm3」支援iOS 14以上系統的裝置，支援rootless模式越獄。\n這裡我使用iOS 15的rootless越獄環境做示範。\nSileo內建的軟體源就有收NewTerm3了，搜尋安裝即可。你也可以手動到Github下載arm64架構的deb檔。\n第一次開啟後，請按照指示建立~/.zshrc\ntouch ~/.zshrc 關於Zsh的用法請看官方文件，相信用過macOS的人應該很熟悉自己要什麼。比如，我會在zshrc加入儲存指令歷史紀錄的功能： cat \u0026lt;\u0026lt;EOT \u0026gt;\u0026gt; ~/.histfile HISTFILE=~/.histfile HISTSIZE=1000 SAVEHIST=1000 setopt appendhistory EOT source ~/.zshrc 如果你還沒給帳號設定密碼，請自行變更 # rootless模式下，預設是以mobile帳號登入 passwd # 變更root帳號密碼 sudo passwd 2. iOS越獄常用指令 # 參考Reddit社群整理的實用指令。\n如果你執行指令的時候遇到Permission denied錯誤，請加上sudo試試。\n與iOS系統有關的指令：\nlaunchctl：管理系統服務的工具。比如launchctl unload /var/jb/Library/LaunchDaemons/com.openssh.sshd.plist和launchctl load /var/jb/Library/LaunchDaemons/com.openssh.sshd.plist可以重啟SSH daemon服務。\nkillall SpringBoard：重啟主畫面的指令，俗稱respring\nreboot：iOS重開機。\nldrestart：軟重開機，可以保有越獄環境。\nuicache：強制重新整理主畫面，APP安裝後沒出現圖示可使用此指令。\nZsh內建的指令在這裡也可以用喔：\nls：列出目錄下的檔案\npwd：印出目前工作目錄\ncp：複製檔案\nmv：移動檔案\nrm：刪除檔案\n想要更多指令，你可以自己新增軟體源，安裝套件擴充。那麼，我們就要了解如何使用APT指令裝套件了。\n3. 用APT指令管理Sileo插件 # 越獄環境採用的套件管理器多半為APT，Sileo就是管理這些套件的前端。\n你想的並沒有錯，Linux發行版Ubuntu也是使用APT當作套件管理器，故他們的指令十分類似。但正如我文章開頭說的，一般Linux的deb套件與iOS越獄的deb套件並不相容，所以請不要在iOS硬裝Ubuntu的deb檔。\n註：如果你打算用命令行安裝IPA而非deb檔案，請改用appinst by Karen工具協助安裝。\n現在，Rootless越獄的檔案都一律放在/var/jb/目錄底下，不要走錯位置了。\n已安裝的越獄套件可以用sudo apt update \u0026amp;\u0026amp; sudo apt upgrade指令全部更新。\n查詢線上有什麼套件：sudo apt search \u0026quot;套件名稱\u0026quot;\n安裝套件：sudo apt install \u0026quot;套件名稱\u0026quot;，例如sudo apt install vim\n移除套件：sudo apt remove \u0026quot;套件名稱\u0026quot;\n如果要安裝單獨的deb套件（比方說Github開發者新發表的軟體），你可以用wget指令下載到debNewTerm的家目錄，再用apt安裝。但是有些deb依賴的套件可能要加特定軟體源才有，故單獨安裝APT要小心。此外，也不要下載不開放原始碼、來路不明的越獄插件。\nwget \u0026#34;網址\u0026#34; sudo apt install ./\u0026#34;檔案名稱.deb\u0026#34; APT的各個軟體源位於/var/jb/etc/apt/sources.listd/，你可以用VIM手動編輯，自行新增軟體源網址，之後再更新APT軟體源。 # 安裝純文字編輯器 sudo apt install vim # 編輯Sileo的軟體源 sudo vim /var/jb/etc/apt/sources.listd/sileo.list # 更新軟體源 sudo apt update ","date":"2024年3月2日","externalUrl":null,"permalink":"/posts/ios-newterm-app/","section":"所有文章","summary":"註：本APP需要越獄環境，如果你不需要越獄功能，只是想要單純存取Linux指令工具，請改到App Store裝iSH Shell。\n將iOS裝置越獄後，我們通常會安裝Sileo管理插件吧，檔案管理則是Filza，那麼這一切背後的操作是否能用指令完成呢？\nNewTerm滿足你的願望。NewTerm為一款開源的終端機模擬器(terminal emulator)，支援iOS/iPadOS/macOS，讓你可以存取iOS的shell，執行各式各樣的指令。 跟macOS上的iTerm2一樣，NewTerm是專門的終端機模擬器。跟iOS其他終端機APP不同之處在於，NewTerm並沒有模擬環境，而是讓使用者直接存取iOS系統shell，故執行速度沒有任何損耗。\n有了NewTerm，你就可以：\n在本機執行純文字工具，例如VIM、Clang、ffmpeg、ImageMagick、Python。只要Sileo軟體源有的套件都能取用。 免開Sileo，直接透過APT指令安裝與更新越獄插件 (Tweak通常都是以deb套件打包)。 SSH到遠端電腦，或者在iOS啟動SSH伺服器，從電腦遠端存取。 支援iPad的120hz螢幕更新率，利用iPad功能進行雙視窗作業。 macOS用戶可能會問能不能裝Homebrew呢…不行，iOS的Tweak雖然採用deb打包，但都是針對iPhone OS特別編譯的版本，必須從專門的套件庫下載deb安裝才行。\n","title":"【越獄】NewTerm：iOS必備終端機APP，用APT指令管理Sileo插件更新","type":"posts"},{"content":"小手機發揮大功用，這是我一直在想的事情。在窮人想法：手機當電腦主機我提過Android手機修改解析度 ＋ Termux Linux當小電腦用的構想，但是換作iOS就很困難了，得要越獄才行。\n最近看到Duy Tran Khanh開發的插件立即引起了我的興趣。「TrollPad」透過欺騙Springboard，能夠把iPhone的界面變成iPad的樣子 讓舊款iPhone也能使用全螢幕手勢、分割顯示、滑動至前、幕前調度的平板功能。 這樣再搭配修改螢幕解析度的插件ResSet、多視窗插件MilkyWay、鍵盤滑鼠、螢幕投影，我們就有一台小平板電腦啦。本文後面會一一介紹作法。\n圖例，iPhone SE配鍵鼠，使用UxPlay投影螢幕到Linux PC的樣子。系統版本iOS 15.8.1，已用Dopamine越獄。 1. 安裝TrollPad插件 # Trollpad的原始碼放在Github，支援rootless越獄。\n目前該插件還沒有套件庫收錄，請安裝NewTerm終端機APP，從Github下載套件，打指令安裝deb。 wget https://github.com/khanhduytran0/TrollPad/releases/download/1.2/com.kdt.trollpad_1.2_iphoneos-arm64.deb sudo apt install ./com.kdt.trollpad_1.2_iphoneos-arm64.deb 安裝的時候可能會提示缺少依賴套件，執行sudo apt install -f修正。\n重啟iOS主畫面，即會產生效果\nsudo respring TrollPad的套件名稱：com.kdt.trollpad。目前沒有開關按鈕，停用程式需要解除安裝套件再重啟主畫面： sudo apt remove com.kdt.trollpad sudo killall SpringBoard 2. 使用ResSet 16修改螢幕解析度 # TrollPad僅是把iPhone界面變成iPad而已，解析度和DPI沒有變更會導致UI元素擁擠。 以前有個叫 System Info (xyz.xninja.systeminfo) 的插件好像能改DPI，但是現在iOS 15，只能用ResSet改解析度了。\n至Github下載IPA，用Filza或TrollStore安裝。\n開啟APP，無視\u0026quot;Not supported\u0026quot;的提示，輸入解析度數值。我是直接把iPhone的解析度乘以2倍，1136 × 640 → 2272 x 1280。似乎設4K以上iPhone會黑螢幕死機。 這樣看起來界面舒服一點了。 APP如果有針對iPad大螢幕優化會自動變換版面，比如Safari，但Apple Music和iWork APP好像版面錯亂了。 那麼我們可以安裝iPad專屬APP了嗎？沒辦法，App Store依然認為你是iPhone，或許我們得找方法修改系統訊息。\n3. 搭配MilkyWay 4啟用多視窗 # 這款插件能將任意iOS APP變成浮動視窗。不過沒有開放原始碼。\n開啟Sileo商店，新增https://akusio.github.io/的套件庫\n搜尋安裝\u0026quot;MilkyWay 4\u0026quot;\n隨後，iOS的設定裡面會多出MilkyWay 4，點選啟用。 之後在Dock長按APP圖示，Launch as Window MilyWay的視窗可以重疊，不過每個視窗是獨立實例，不是直接開啟APP。 4. iOS大螢幕投影方案 # 如果你的iPhone支援HDMI輸出，那就買條Lightning轉接線接螢幕。買USB擴充埠的話還可以方便接鍵盤滑鼠。\n如果不行的話就用AirPlay，例如我是用UxPlay伺服器投影iPhone畫面到Linux電腦，再準備藍芽鍵盤滑鼠跟iPhone配對。\n至於遠端控制iPhone的方案嘛\u0026hellip;有點困難，要rootful越獄，再靠\u0026quot;ScreenDump\u0026quot;插件跑個VNC伺服器，才可以遠端控制。\n","date":"2024年3月1日","externalUrl":null,"permalink":"/posts/trollpad-ios-tweak/","section":"所有文章","summary":"小手機發揮大功用，這是我一直在想的事情。在窮人想法：手機當電腦主機我提過Android手機修改解析度 ＋ Termux Linux當小電腦用的構想，但是換作iOS就很困難了，得要越獄才行。\n最近看到Duy Tran Khanh開發的插件立即引起了我的興趣。「TrollPad」透過欺騙Springboard，能夠把iPhone的界面變成iPad的樣子 讓舊款iPhone也能使用全螢幕手勢、分割顯示、滑動至前、幕前調度的平板功能。 這樣再搭配修改螢幕解析度的插件ResSet、多視窗插件MilkyWay、鍵盤滑鼠、螢幕投影，我們就有一台小平板電腦啦。本文後面會一一介紹作法。\n圖例，iPhone SE配鍵鼠，使用UxPlay投影螢幕到Linux PC的樣子。系統版本iOS 15.8.1，已用Dopamine越獄。 1. 安裝TrollPad插件 # Trollpad的原始碼放在Github，支援rootless越獄。\n目前該插件還沒有套件庫收錄，請安裝NewTerm終端機APP，從Github下載套件，打指令安裝deb。 wget https://github.com/khanhduytran0/TrollPad/releases/download/1.2/com.kdt.trollpad_1.2_iphoneos-arm64.deb sudo apt install ./com.kdt.trollpad_1.2_iphoneos-arm64.deb 安裝的時候可能會提示缺少依賴套件，執行sudo apt install -f修正。\n重啟iOS主畫面，即會產生效果\nsudo respring TrollPad的套件名稱：com.kdt.trollpad。目前沒有開關按鈕，停用程式需要解除安裝套件再重啟主畫面： sudo apt remove com.kdt.trollpad sudo killall SpringBoard 2. 使用ResSet 16修改螢幕解析度 # TrollPad僅是把iPhone界面變成iPad而已，解析度和DPI沒有變更會導致UI元素擁擠。 ","title":"【越獄】把iPhone變成iPad平板電腦！TrollPad ＋ 分割螢幕 ＋ 修改螢幕解析度 ＋ 啟用多視窗的插件","type":"posts"},{"content":"Install any extensions on Firefox Android.\nFirefox安裝附加元件按鈕呈現灰色？即使將Firefox網頁切換成電腦版也無法安裝附加元件？這篇文章討論如何在Android版Firefox強制安裝所有的附加元件 (擴充功能/插件/extension)。\n手機版Firefox是為數不多的可以安裝附加元件的Android瀏覽器，可是Firefox穩定版（圖示為正常火狐）其實只能安裝Mozilla認可的少部分附加元件： 如果你開啟沒認證的附加元件頁面，Firefox是不給裝的。比方說這個偽造useragent，讓網站以為你在使用Chrome的附加元件，按鈕是灰色的： 有些電腦上的附加元件手機也是可以執行。而Mozilla卻為了安全把這個功能限制給開發者使用。雖說Mozilla立意良善，卻阻礙了使用者自由，還讓Firefox變得連Kiwi Browser都不如。\n現在你可以用特殊手段強制安裝Firefox的附加元件。\n1. 建立自訂收藏集 # 目前Firefox是透過同步自訂收藏集的方式來安裝附加元件。\n到Firefox的附加元件網站：https://addons.mozilla.org/zh-TW/firefox\n點選右上角大頭貼，登入Firefox帳號，按檢視我的收藏集\n點選建立收藏集 輸入收藏集名稱、描述、自訂網址，建立收藏集 到你要安裝的附加元件頁面，滑到下面點選加入收藏集。 2. 設定Firefox附加元件 # 安裝最新版Firefox。如果你找不到以下功能，請嘗試安裝測試版Firefox Nightly\n點選右下角三個點的設定 → 關於Firefox 對Firefox的圖示點5下，開啟除錯選單 這樣選單就會多出「自訂附加元件收藏集」的按鈕，輸入剛剛新增的收藏集的數字網址，還有收藏集名稱。 新增之後Firefox會重啟，點右下角設定，點選附加元件。\n點選+號，這樣附加元件就安裝完成了。 隨便開啟一個網頁，點選右下角設定→附加元件。實測User-Agent Switcher附加元件在Android版Firefox正常執行。 需要注意的是一旦開啟此功能，附加元件往後就只能透過同步自訂收藏集來安裝。\n參考資料 # Expanded extension support in Firefox for Android Nightly - Mozilla Add-ons Community Blog How to install any add-on extension in Firefox on Android - Android Police 在手機上安裝瀏覽器擴充工具(Firefox Nightly) - okeshi35的創作 ","date":"2024年3月1日","externalUrl":null,"permalink":"/posts/firefox-nightly-install-extensions/","section":"所有文章","summary":"Install any extensions on Firefox Android.\nFirefox安裝附加元件按鈕呈現灰色？即使將Firefox網頁切換成電腦版也無法安裝附加元件？這篇文章討論如何在Android版Firefox強制安裝所有的附加元件 (擴充功能/插件/extension)。\n手機版Firefox是為數不多的可以安裝附加元件的Android瀏覽器，可是Firefox穩定版（圖示為正常火狐）其實只能安裝Mozilla認可的少部分附加元件： 如果你開啟沒認證的附加元件頁面，Firefox是不給裝的。比方說這個偽造useragent，讓網站以為你在使用Chrome的附加元件，按鈕是灰色的： 有些電腦上的附加元件手機也是可以執行。而Mozilla卻為了安全把這個功能限制給開發者使用。雖說Mozilla立意良善，卻阻礙了使用者自由，還讓Firefox變得連Kiwi Browser都不如。\n現在你可以用特殊手段強制安裝Firefox的附加元件。\n1. 建立自訂收藏集 # 目前Firefox是透過同步自訂收藏集的方式來安裝附加元件。\n到Firefox的附加元件網站：https://addons.mozilla.org/zh-TW/firefox\n點選右上角大頭貼，登入Firefox帳號，按檢視我的收藏集\n點選建立收藏集 ","title":"Android版Firefox強制安裝電腦版擴充套件","type":"posts"},{"content":"","date":"2024年2月29日","externalUrl":null,"permalink":"/tags/kdenlive/","section":"標籤","summary":"","title":"Kdenlive","type":"tags"},{"content":"","date":"2024年2月29日","externalUrl":null,"permalink":"/tags/object-detection/","section":"標籤","summary":"","title":"Object Detection","type":"tags"},{"content":"Transparent Background這款軟體可以利用AI技術，自動給圖片和影片去背，特別的是還支援OBS攝像機鏡頭即時去背。\n實測影片去背效果：\n原始影片Thom Yorke跳蓮花舞，4分22秒處開始 去背影片，效果還行。\n另一部去背測試，藤原書記舞。動畫的效果似乎比真人影片要差，或者真的背景太複雜了？\nTransparent Background不只可以去背，也能生成綠幕，之後就可以放到Kdenlive等剪輯軟體，做進一步加工。如圖，Kdenlive的Chroma Color Selection特效能夠一鍵去綠幕。 我自己的測試覺得，就圖片去背而言，Transparent Background與Rembg不分上下。但Transparent Background的影片去背效果比Johnathan Nader的BackgroundRemover要好，產生的檔案大小也比較合理。\n同樣是去背，二者使用的模型不一樣，Transparent Background背後使用的模型為InSPyReNet，非U2-Net。\n1. 安裝Transparent Background # 本軟體為韓國資訊通信企劃評價院(IITP)贊助的計畫，原始碼位於Github儲存庫，由Taehun Kim管理。\nTransparent Background以Python寫成，支援Linux/Windows/macOS系統。\n開發者好像沒提供CPU模式，得使用GPU計算。建議配備VRAM 8GB以上的Nvidia顯示卡，不然就只能用效果較差勁的fast模式處理。\n安裝CUDA\n(選擇性) 用Anaconda建立Python虛擬環境\nconda create -n transparent-background python=3.10 conda activate transparent-background 安裝完整版套件 pip install transparent-background[webcam] 2. Transparent Background使用方式 # 圖片跟影片的操作指令一樣，我就不另外提了。\n指令很簡單，給定輸入影片，處理後輸出影片。程式處理完影片後會去掉聲音。\ntransparent-background --source \u0026#34;/home/user/input.mp4\u0026#34; --dest \u0026#34;/home/user/output.mp4\u0026#34; --type green 給定目錄，它就會批次處理目錄下的檔案。\n如果GPU VRAM在4GB以下，那就用fast模式，再使用JIT即時編譯，降低VRAM佔用\ntransparent-background --source \u0026#34;/home/user/input.mp4\u0026#34; --dest \u0026#34;/home/user/output.mp4\u0026#34; --type green --mode fast --jit 使用--type引數指定處理背景的方式：\nrgba去背並輸出透明色版，只能用於圖片。 map green綠幕。也可以填寫[255, 0, 0]的RGB顏色來指定背景顏色，但注意只有mov和webm支援透明背景的影片。 blur模糊背景。 overlay：用半透明綠色的覆蓋前景對象，並標記邊緣。 圖片路徑：將該張圖片變成影片背景 3. 搭配OBS虛擬相機去背 # 先提一下，OBS Studio已經有一個類似的插件了 occ-ai/obs-backgroundremoval 安裝很簡單。如果你不很在乎高品質去背那麼就用那個就好。\n在使用Transparent Background去背前，請先參閱本篇，在Linux安裝OBS Studio，並安裝v4l2loopback核心模組。\n接著，指定source，取得影像輸入，source後面的數字是/dev/video的代號：\nv4l2-ctl --list-devices transparent-background --source 11 ","date":"2024年2月29日","externalUrl":null,"permalink":"/posts/transparent-background-inspyrenet/","section":"所有文章","summary":"Transparent Background這款軟體可以利用AI技術，自動給圖片和影片去背，特別的是還支援OBS攝像機鏡頭即時去背。\n實測影片去背效果：\n原始影片Thom Yorke跳蓮花舞，4分22秒處開始 去背影片，效果還行。\n另一部去背測試，藤原書記舞。動畫的效果似乎比真人影片要差，或者真的背景太複雜了？\nTransparent Background不只可以去背，也能生成綠幕，之後就可以放到Kdenlive等剪輯軟體，做進一步加工。如圖，Kdenlive的Chroma Color Selection特效能夠一鍵去綠幕。 我自己的測試覺得，就圖片去背而言，Transparent Background與Rembg不分上下。但Transparent Background的影片去背效果比Johnathan Nader的BackgroundRemover要好，產生的檔案大小也比較合理。\n同樣是去背，二者使用的模型不一樣，Transparent Background背後使用的模型為InSPyReNet，非U2-Net。\n1. 安裝Transparent Background # 本軟體為韓國資訊通信企劃評價院(IITP)贊助的計畫，原始碼位於Github儲存庫，由Taehun Kim管理。\nTransparent Background以Python寫成，支援Linux/Windows/macOS系統。\n","title":"開源AI影片去背軟體 Transparent Background，移除一切干擾的背景","type":"posts"},{"content":"使用這個JS函式庫做一個網頁相簿出來，方便展示自己的作品。用手機拍了一些大作都悶在硬碟裡面太可惜了，不如放上網吧。想在網上分享自己的照片，一般會直覺丟Flickr吧？別跟我說你寧願讓Facebook壓爛你的圖片。不過，我想說獨立網站應該也要有能夠分享照片的功能才對。\n由於我用的是靜態網站Hugo框架，不可能像Wordpress弄複雜的操作，所以我只能用簡單的JavaScript套件來實現。我認為JQuery寫成的nanogallery2是一個輕巧的選擇。你在任意網頁裡面插入幾條JavaScript程式碼，就能將圖片渲染為可以互動的相簿了\nHugo因為採用Markdown寫文章的緣故，使用者可以自由的插入JavaScript程式碼。如果想做單頁式的排版設計，用不著裝全域主題，靠JQuery搞定就行了。\nnanogallery2是一款行之有年的JQuery函式庫 短短幾行JavaScript程式碼就能做出漂亮的互動式畫廊，特色如下：\n多種畫廊排版模式，自動適應手機與電腦的螢幕 針對延遲載入最佳化，大量圖片也不怕 全螢幕燈箱圖片 簡單旋轉圖片、下載圖片按鈕，全部都可以自定義 讀取EXIF資訊顯示照片背後參數 標籤篩選模式 不論是想要打造作品集或相簿都很合適，此處為演示圖片，不要點，本文最下面會有Live Demo。 由於nanogallery是讀取網址載入圖片，圖檔放在Hugo的根目錄或是遠端引用都可以。照片檔案如果太大，就放在Cloudflare R2或者相容S3的storage當儲存後端，然後公開bucket外連過來就可以了。\n1. 插入nanogallery程式碼 # 由於我只想要做單頁式網頁，再加上nanogallery的參數有點多，所以沒有把它寫成shortcode，而是直接插入文章內。這樣不論你主題怎麼換，nanogallery都不會受到影響。\n開啟Hugo的content目錄，找到你要製作畫廊的文章markdown檔案。在fontmatter之後插入下面內容，引用3.0.5版的nanogallery \u0026lt;!-- jQuery --\u0026gt; \u0026lt;script type=\u0026#34;text/javascript\u0026#34; src=\u0026#34;https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;!-- nanogallery2 --\u0026gt; \u0026lt;link href=\u0026#34;https://unpkg.com/nanogallery2/dist/css/nanogallery2.min.css\u0026#34; rel=\u0026#34;stylesheet\u0026#34; type=\u0026#34;text/css\u0026#34;\u0026gt;\u0026lt;/link\u0026gt; \u0026lt;script type=\u0026#34;text/javascript\u0026#34; src=\u0026#34;https://unpkg.com/nanogallery2@3.0.5/dist/jquery.nanogallery2.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; nanogallery處理的網頁內容可能會受到你Hugo主題的CSS影響，導致版面被壓縮。如果真是如此的話，做一個inline CSS： \u0026lt;style\u0026gt; .table-custom { width: 1000px; } table { width: 100%; } @media screen and (max-width: 600px) { .table-custom { width: 100%; } table thead { display: none; overflow-x:auto; } table td { display: flex; overflow-x:auto; } table td::before { content: attr(label); font-weight: bold; width: 120px; min-width: 120px; overflow-x:auto; } } \u0026lt;/style\u0026gt; 再做一個div把畫廊包起來。下面這個範例會讓table-custom的元件保持全寬 \u0026lt;div class=\u0026#34;table-custom\u0026#34;\u0026gt; \u0026lt;!--nanogallery畫廊程式碼--\u0026gt; \u0026lt;/div\u0026gt; 2. 使用nanogallery # 詳細調整請參考官方文件\n使用JavaScript，最基本的nanogallery語法長這樣。 \u0026lt;!--每一個畫廊，都要有自己的div id--\u0026gt; \u0026lt;div id=\u0026#34;nanogallery2\u0026#34;\u0026gt;\u0026lt;/div\u0026gt; \u0026lt;!--再於這個函數指定要渲染的畫廊--\u0026gt; \u0026lt;script\u0026gt; $(\u0026#34;#nanogallery2\u0026#34;).nanogallery2({ // 首先填寫畫廊的屬性 thumbnailWidth: \u0026#34;auto\u0026#34;, thumbnailHeight: 200, // 陣列裡面放置圖片(src)與其縮圖(srct) items: [ {src: \u0026#39;\u0026#39;, srct: \u0026#39;\u0026#39;,title: \u0026#39;\u0026#39;,description: \u0026#39;\u0026#39;} ] }); \u0026lt;/script\u0026gt; 下面是我常用的配置，layout透過縮圖的長寬數值來控制。圖片和縮圖網址可以一樣，網址部份你可以用圖床的，或者用Hugo Page Bundle的引用網址。 \u0026lt;div id=\u0026#34;nanogallery2\u0026#34;\u0026gt;\u0026lt;/div\u0026gt; \u0026lt;script\u0026gt; $(\u0026#34;#nanogallery2\u0026#34;).nanogallery2({ itemsBaseURL: \u0026#34;https://i.imgur.com/\u0026#34;, // 圖片網址前綴 thumbnailWidth: \u0026#34;auto\u0026#34;, // 縮圖寬度 thumbnailHeight: 200, // 縮圖高度 galleryDisplayMode: \u0026#34;moreButton\u0026#34;, // 圖片多於一定數量就顯示More按鈕 galleryDisplayMoreStep: 3, // 最多顯示幾行 viewerGallery: \u0026#34;none\u0026#34;, //不在燈箱顯示縮圖, imageTransition: \u0026#34;swipe\u0026#34;, //gallerySorting: \u0026#34;random\u0026#34;, // 是否開啟圖片隨機排序 thumbnailLabel: {\u0026#34;position\u0026#34;: \u0026#34;onBottom\u0026#34;, \u0026#34;displayDescription\u0026#34;: false, \u0026#34;titleMultiLine\u0026#34;: true}, // 是否在畫廊顯示圖片說明，標題似乎關不了 viewerToolbar:{ // 顯示在燈箱檢視畫面工具列的按鈕 display:false, standard:\u0026#39;minimizeButton, label\u0026#39;, minimized: \u0026#39;minimizeButton, label, fullscreenButton, downloadButton, infoButton\u0026#39; }, viewerTools:{ // 顯示在燈箱檢視畫面的按鈕 topLeft:\u0026#39;infoButton, label\u0026#39;, topRight:\u0026#39;pageCounter, playPauseButton, zoomButton, fullscreenButton, downloadButton, closeButton\u0026#39; }, items: [ // 圖片 {src: \u0026#39;縮圖網址\u0026#39;, srct: \u0026#39;縮圖網址2\u0026#39;,title: \u0026#39;圖片標題\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;圖片說明\u0026#39;}, {src: \u0026#39;縮圖網址\u0026#39;, srct: \u0026#39;縮圖網址2\u0026#39;,title: \u0026#39;圖片標題\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;圖片說明\u0026#39;}, {src: \u0026#39;縮圖網址\u0026#39;, srct: \u0026#39;縮圖網址2\u0026#39;,title: \u0026#39;圖片標題\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;圖片說明\u0026#39;}, {src: \u0026#39;縮圖網址\u0026#39;, srct: \u0026#39;縮圖網址2\u0026#39;,title: \u0026#39;圖片標題\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;圖片說明\u0026#39;}, {src: \u0026#39;縮圖網址\u0026#39;, srct: \u0026#39;縮圖網址2\u0026#39;,title: \u0026#39;圖片標題\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;圖片說明\u0026#39;}, {src: \u0026#39;縮圖網址\u0026#39;, srct: \u0026#39;縮圖網址2\u0026#39;,title: \u0026#39;圖片標題\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;圖片說明\u0026#39;} ] }); \u0026lt;/script\u0026gt; 如果要製作標籤過濾按鈕，加入galleryFilterTags: 'description'的參數，畫廊就會從圖片的說明抽出標籤（每個標籤需以#開頭，不能填中文），並顯示在畫廊上方成為按鈕。\n於是程式碼就會變這樣：\n\u0026lt;link href=\u0026#34;https://unpkg.com/nanogallery2/dist/css/nanogallery2.min.css\u0026#34; rel=\u0026#34;stylesheet\u0026#34; type=\u0026#34;text/css\u0026#34;\u0026gt;\u0026lt;/link\u0026gt; \u0026lt;script type=\u0026#34;text/javascript\u0026#34; src=\u0026#34;https://unpkg.com/nanogallery2@3.0.5/dist/jquery.nanogallery2.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;div id=\u0026#34;nanogallery2\u0026#34;\u0026gt;\u0026lt;/div\u0026gt; \u0026lt;script\u0026gt; $(\u0026#34;#nanogallery2\u0026#34;).nanogallery2({ itemsBaseURL: \u0026#34;https://i.imgur.com/\u0026#34;, // 圖片網址前綴 thumbnailWidth: \u0026#34;auto\u0026#34;, // 縮圖寬度 thumbnailHeight: 150, // 縮圖高度 galleryDisplayMode: \u0026#34;moreButton\u0026#34;, // 圖片多於一定數量就顯示More按鈕 galleryDisplayMoreStep: 3, // 最多顯示幾行就會出現More按鈕 viewerGallery: \u0026#34;none\u0026#34;, //不在燈箱顯示縮圖, imageTransition: \u0026#34;swipe\u0026#34;, gallerySorting: \u0026#34;random\u0026#34;, // 是否開啟圖片隨機排序 thumbnailLabel: {\u0026#34;position\u0026#34;: \u0026#34;onBottom\u0026#34;, \u0026#34;displayDescription\u0026#34;: false, \u0026#34;titleMultiLine\u0026#34;: true}, galleryFilterTags: \u0026#39;description\u0026#39;, viewerToolbar:{ // 顯示在燈箱檢視畫面工具列的按鈕 display:false, standard:\u0026#39;minimizeButton, label\u0026#39;, minimized: \u0026#39;minimizeButton, label, fullscreenButton, downloadButton, infoButton\u0026#39; }, viewerTools:{ // 顯示在燈箱檢視畫面的按鈕 topLeft:\u0026#39;infoButton, label\u0026#39;, topRight:\u0026#39;pageCounter, playPauseButton, zoomButton, fullscreenButton, downloadButton, closeButton\u0026#39; }, items: [ // 圖片 {src: \u0026#39;kttm8p2.png\u0026#39;, srct: \u0026#39;kttm8p2.png\u0026#39;,title: \u0026#39;\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;雪風\u0026#39;}, {src: \u0026#39;79anHDY.png\u0026#39;, srct: \u0026#39;79anHDY.png\u0026#39;,title: \u0026#39;\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;時雨\u0026#39;}, {src: \u0026#39;Mjml2zs.png\u0026#39;, srct: \u0026#39;Mjml2zs.png\u0026#39;,title: \u0026#39;\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;時雨 雪風 #Shigure #Yukikaze\u0026#39;}, {src: \u0026#39;fCQadJi.png\u0026#39;, srct: \u0026#39;fCQadJi.png\u0026#39;,title: \u0026#39;\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;雪風\u0026#39;}, {src: \u0026#39;dlhNnEL.png\u0026#39;, srct: \u0026#39;dlhNnEL.png\u0026#39;,title: \u0026#39;\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;扶桑 山城 #Fusou #Yamashiro\u0026#39;}, {src: \u0026#39;JCMZDQT.png\u0026#39;, srct: \u0026#39;JCMZDQT.png\u0026#39;,title: \u0026#39;\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;最上\u0026#39;}, {src: \u0026#39;sRxPU0m.jpg\u0026#39;, srct: \u0026#39;sRxPU0m.jpg\u0026#39;,title: \u0026#39;\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;時雨\u0026#39;}, {src: \u0026#39;zZ0vNvR.png\u0026#39;, srct: \u0026#39;zZ0vNvR.png\u0026#39;,title: \u0026#39;\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;山雲 朝雲 #Kazagumo #Asagumo\u0026#39;}, {src: \u0026#39;d5OXGbJ.jpg\u0026#39;, srct: \u0026#39;d5OXGbJ.jpg\u0026#39;,title: \u0026#39;\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;時雨 雪風 #Shigure #Yukikaze\u0026#39;}, {src: \u0026#39;jV4uhwi.png\u0026#39;, srct: \u0026#39;jV4uhwi.png\u0026#39;,title: \u0026#39;\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;扶桑 山城 #Fusou #Yamashiro\u0026#39;}, {src: \u0026#39;i3Yfo9V.png\u0026#39;, srct: \u0026#39;i3Yfo9V.png\u0026#39;,title: \u0026#39;\u0026#39;, \u0026#39;description\u0026#39;: \u0026#39;山城\u0026#39;} ] }); \u0026lt;/script\u0026gt; 顯示結果：\n關於nanogallery2在本站的Live Demo\u0026hellip;你還可以參考艦娘乳圖鑑，了解圖片在100張以上時候的載入效能。\n","date":"2024年2月28日","externalUrl":null,"permalink":"/posts/hugo-nanogallery2/","section":"所有文章","summary":"使用這個JS函式庫做一個網頁相簿出來，方便展示自己的作品。用手機拍了一些大作都悶在硬碟裡面太可惜了，不如放上網吧。想在網上分享自己的照片，一般會直覺丟Flickr吧？別跟我說你寧願讓Facebook壓爛你的圖片。不過，我想說獨立網站應該也要有能夠分享照片的功能才對。\n由於我用的是靜態網站Hugo框架，不可能像Wordpress弄複雜的操作，所以我只能用簡單的JavaScript套件來實現。我認為JQuery寫成的nanogallery2是一個輕巧的選擇。你在任意網頁裡面插入幾條JavaScript程式碼，就能將圖片渲染為可以互動的相簿了\nHugo因為採用Markdown寫文章的緣故，使用者可以自由的插入JavaScript程式碼。如果想做單頁式的排版設計，用不著裝全域主題，靠JQuery搞定就行了。\nnanogallery2是一款行之有年的JQuery函式庫 短短幾行JavaScript程式碼就能做出漂亮的互動式畫廊，特色如下：\n多種畫廊排版模式，自動適應手機與電腦的螢幕 針對延遲載入最佳化，大量圖片也不怕 全螢幕燈箱圖片 簡單旋轉圖片、下載圖片按鈕，全部都可以自定義 讀取EXIF資訊顯示照片背後參數 標籤篩選模式 不論是想要打造作品集或相簿都很合適，此處為演示圖片，不要點，本文最下面會有Live Demo。 ","title":"製作Hugo靜態網頁相簿畫廊 (使用nanogallery2 JQuery函式庫)","type":"posts"},{"content":"Hugo很多主題的預設日期顯示是西式的，不好看。 我們要把它改成這樣，日期輸出變成中文字 更有趣的，還可以加入民國紀年、天干地支、農曆日期！ 圖片來自Mobile01\n1. 將日期改為中文年月日 # Hugo文件規範了date的格式寫法，你可以用英式或者美式的寫法。\n參照下表，如果你dateFormat填:date_short的token，就會輸出1/27/2023這樣的英文日期。 那麼要改主題的哪個檔案才能變更文章中的日期顯示方式呢？通常Hugo主題的日期組件不會寫死，而是由使用者在config.toml定義。\n我們以Blowfish主題為例子\n在網站根目錄的主題目錄(themes/主題/)下，找到/layouts/_default/single.html的檔案，這是單個網頁所包含的元素。 然後文章日期的組件放在\u0026lt;header\u0026gt;這個部分，這裡看到它呼叫了article_meta/basic.html這個partial\n\u0026lt;div class=\u0026#34;mt-1 mb-6 text-base text-neutral-500 dark:text-neutral-400 print:hidden\u0026#34;\u0026gt; {{ partial \u0026#34;article-meta/basic.html\u0026#34; (dict \u0026#34;context\u0026#34; . \u0026#34;scope\u0026#34; \u0026#34;single\u0026#34;) }} \u0026lt;/div\u0026gt; article_meta/basic.html裡面是這樣寫的 {{ if .Params.showDate | default (.Site.Params.article.showDate | default true) }} {{ $meta.Add \u0026#34;partials\u0026#34; (slice (partial \u0026#34;meta/date.html\u0026#34; .Date)) }} {{ end }} 再往下追，看meta/date.html背後邏輯，最終找到functions/date.html檔案，裡面的處理方式是這樣的： {{ return time.Format (site.Language.Params.dateFormat | default \u0026#34;:date_long\u0026#34;) . }} 從這裡可以知道，Blowfish主題是讀取config.toml檔案下的dateFormat的值，如果沒有設定就會使用預設的:date_long\n因此，參閱Hugo文件的dateFormat用法，我們就要到config.toml修改dateFormat的值\n可以用點點分割日期：\n[params] dateFormat = \u0026#34;2006.1.2.\u0026#34; 或者用中文字分割日期，這就是我們要的效果啦。 [params] dateFormat = \u0026#34;2006年1月2日\u0026#34; 上面2006年的數字請維持不變，只要把原本的「點點」變成中文字或者其他你喜歡的符號，Hugo就會自動代換了。 2. 日期顯示民國紀年 # 民國紀年的公式：西元年份 - 1911 = 現在的民國年份，例如2024年是民國113年，2023年是民國112年。\n那麼我們只要簡單做個數學，再用Hugo的printf函數把它印出來就行了。\n上面我已經示範了如何找到文章裡面的日期顯示組件，但是我沒有要在日期旁邊加入，而是改加入文章。\n依照Blowfish主題的設計，編輯/layouts/partials/article-meta/basic.html，加入這段，將目前的context作為變數，傳給名為chinese-date.html的的partial\n\u0026lt;!-- 依照Blowfish的判斷式寫法，偵測是文章頁面內才顯示日期 --\u0026gt; {{ if eq $scope \u0026#34;single\u0026#34; }} \u0026lt;!-- 顯示中文日期的partial --\u0026gt; {{ $meta.Add \u0026#34;partials\u0026#34; (slice (partial \u0026#34;chinese-date.html\u0026#34; (dict \u0026#34;context\u0026#34; .))) }} {{ end }} 在實際顯示日期的partial chinese-date.html，插入民國紀年的式子： \u0026lt;!--判斷式：網站語言為中文時才顯示--\u0026gt; {{ if eq site.LanguageCode \u0026#34;zh-TW\u0026#34; }} \u0026lt;!--從single.html傳過來的context，讀取文章的日期--\u0026gt; {{ $pageyear := .context.Page.Params.date.Year }} \u0026lt;!--計算民國年份--\u0026gt; {{ $currentyear := int (sub $pageyear 1911) }} \u0026lt;!--印出結果，印出$currentyear --\u0026gt; {{ i18n \u0026#34;article.minguo\u0026#34; }}{{ (printf \u0026#34;%#v\u0026#34; $currentyear) }}{{ i18n \u0026#34;article.year\u0026#34; }} {{ end }} 再於網站的i18n檔案填入變數名稱的中文翻譯： article: minguo: \u0026#34;民國\u0026#34; year: \u0026#34;年\u0026#34; 如此一來就會顯示國曆了。 3. 日期顯示天干地支紀年 # 天干地支紀年就是「天干」「地支」二者組合的紀年方式，例如2024是「甲」「辰」年。\n根據昌爸工作坊\n天干10個，甲、乙、丙、丁、戊、己、庚、辛、壬、癸，分別以1~0代表。\n地支12個，子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥，分別以1~0代表。\n西元換算天干地支的公式為：(西元年份-3)÷60，得餘數R。再求R÷10的餘數得到X，R÷12的餘數得到Y。\nX即為該年的天干，Y為該年的地支。\n參考 将hugo 日期输出为中文 - 消夏錄 的作法，我在網站根目錄的data目錄，建立一個天干地支的對照表tiangandizhi.json { \u0026#34;tiangan\u0026#34;: { \u0026#34;1\u0026#34;: \u0026#34;甲\u0026#34;, \u0026#34;2\u0026#34;: \u0026#34;乙\u0026#34;, \u0026#34;3\u0026#34;: \u0026#34;丙\u0026#34;, \u0026#34;4\u0026#34;: \u0026#34;丁\u0026#34;, \u0026#34;5\u0026#34;: \u0026#34;戊\u0026#34;, \u0026#34;6\u0026#34;: \u0026#34;己\u0026#34;, \u0026#34;7\u0026#34;: \u0026#34;庚\u0026#34;, \u0026#34;8\u0026#34;: \u0026#34;辛\u0026#34;, \u0026#34;9\u0026#34;: \u0026#34;壬\u0026#34;, \u0026#34;0\u0026#34;: \u0026#34;癸\u0026#34; }, \u0026#34;dizhi\u0026#34;: { \u0026#34;1\u0026#34;: \u0026#34;子\u0026#34;, \u0026#34;2\u0026#34;: \u0026#34;丑\u0026#34;, \u0026#34;3\u0026#34;: \u0026#34;寅\u0026#34;, \u0026#34;4\u0026#34;: \u0026#34;卯\u0026#34;, \u0026#34;5\u0026#34;: \u0026#34;辰\u0026#34;, \u0026#34;6\u0026#34;: \u0026#34;巳\u0026#34;, \u0026#34;7\u0026#34;: \u0026#34;午\u0026#34;, \u0026#34;8\u0026#34;: \u0026#34;未\u0026#34;, \u0026#34;9\u0026#34;: \u0026#34;申\u0026#34;, \u0026#34;10\u0026#34;: \u0026#34;酉\u0026#34;, \u0026#34;11\u0026#34;: \u0026#34;戊\u0026#34;, \u0026#34;0\u0026#34;: \u0026#34;亥\u0026#34; } } 加入運算結果到Hugo網頁chinese-date.html： \u0026lt;!--從single.html傳過來的context，讀取文章的日期--\u0026gt; {{ $pageyear := .context.Page.Params.date.Year }} \u0026lt;!--計算干支--\u0026gt; {{ $basenumber1 := int (sub $pageyear 3) }} {{ $basenumber2 := int (mod $basenumber1 60) }} {{ $currentTiangan := int (mod $basenumber2 10 ) }} {{ $currentDizhi := int (mod $basenumber2 12 ) }} \u0026lt;!--印出結果，使用全域變數site而非.Site。印出json裡對應數字的天干地支。 --\u0026gt; {{ index site.Data.tiangandizhi.tiangan (printf \u0026#34;%d\u0026#34; $currentTiangan) }}{{ index site.Data.tiangandizhi.dizhi (printf \u0026#34;%d\u0026#34; $currentDizhi) }}{{ i18n \u0026#34;article.year\u0026#34; }} 這樣就會顯示干支了。 關於讀取JSON渲染網頁的作法，我有另外寫一篇解說。\n舉一反三，你還可以自己弄個農曆年上去！農曆的計算比較複雜我就不多講了。Hugo MemE主題甚至有顯示十二生肖的功能。\n","date":"2024年2月28日","externalUrl":null,"permalink":"/posts/hugo-chinese-date-format/","section":"所有文章","summary":"Hugo很多主題的預設日期顯示是西式的，不好看。 我們要把它改成這樣，日期輸出變成中文字 更有趣的，還可以加入民國紀年、天干地支、農曆日期！ 圖片來自Mobile01\n1. 將日期改為中文年月日 # Hugo文件規範了date的格式寫法，你可以用英式或者美式的寫法。\n參照下表，如果你dateFormat填:date_short的token，就會輸出1/27/2023這樣的英文日期。 那麼要改主題的哪個檔案才能變更文章中的日期顯示方式呢？通常Hugo主題的日期組件不會寫死，而是由使用者在config.toml定義。\n我們以Blowfish主題為例子\n在網站根目錄的主題目錄(themes/主題/)下，找到/layouts/_default/single.html的檔案，這是單個網頁所包含的元素。 然後文章日期的組件放在\u003cheader\u003e這個部分，這裡看到它呼叫了article_meta/basic.html這個partial\n\u003cdiv class=\"mt-1 mb-6 text-base text-neutral-500 dark:text-neutral-400 print:hidden\"\u003e {{ partial \"article-meta/basic.html\" (dict \"context\" . \"scope\" \"single\") }} \u003c/div\u003e article_meta/basic.html裡面是這樣寫的 {{ if .Params.showDate | default (.Site.Params.article.showDate | default true) }} {{ $meta.Add \"partials\" (slice (partial \"meta/date.html\" .Date)) }} {{ end }} 再往下追，看meta/date.html背後邏輯，最終找到functions/date.html檔案，裡面的處理方式是這樣的： {{ return time.Format (site.Language.Params.dateFormat | default \":date_long\") . }} 從這裡可以知道，Blowfish主題是讀取config.toml檔案下的dateFormat的值，如果沒有設定就會使用預設的:date_long\n","title":"讓Hugo網頁顯示中文日期，附贈民國、天干地支紀年的顯示方法","type":"posts"},{"content":"註：本文使用情境為桌面版Linux，適用把Linux當主力系統使用的人群。\n很多人想要穩定的系統，卻又想要最新版的軟體。\n用Linux發行版的術語來說，就是固定發行版 (stable release) 的用戶組總會想要安裝滾動發行版 (rolling release) 的軟體。\n其中一個例子就是Ubuntu了！Ubuntu基於Debian開發，是標準的固定發行版系統，常常遇到軟體版本太舊的問題，導致使用者有時得從原始碼編譯軟體（compiling from source），通常安裝的最後一步就是make install或ninja install指令。\n當你看到軟體要你執行make install的時候，請勿必三思而後行。看看企鵝的眼睛，思考它是什麼樣的軟體，確認你是否真的有必要這樣安裝，想想這樣會不會影響你未來正常使用Linux桌面的體驗。 Ubuntu的爸爸，Debian在Don\u0026rsquo;t Break Debian一文中指出，Linux使用者應當好好愛護你的系統，不要盲目複製貼上網路部落格的指令（包括我這篇：P），不要隨便在你的系統make install安裝軟體。Ubuntu使用跟Debian一樣的APT套件管理器，所以Debian的話也在理。\n下面表述為何不要用make install，以及解決方案。\nUbuntu的軟體太舊的問題 # 相信你不只一次遇過Ubuntu套件庫軟體版本太舊的問題\n好一點的開發者會維護自己的PPA，自動給舊版Ubuntu編譯對應軟體套件，例如Wine、Kdenlive。\n但總會遇到更慘的，沒人維護PPA，或是PPA更新慢半拍，連開發者都叫你手動make install才能取得最新版本軟體的情景吧！比如Gamescope、Scrcpy等等。\n再以glibc版本問題為例子，拿我最近遇到的這個編譯錯誤來說： /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.38' not found (required by 我的系統是Ubuntu 22.04，用strings指令查看\nstrings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_ 可見glibc最多只提供到2.35，2.38要Ubuntu 23.10以後才有。\n應當迴避的解決方法 # 在不升級系統的情況下，如何上述問題？取得最新版的軟體？\n加PPA？看不到有大型組織維護的PPA呀。\n自己configure make新版軟體？太麻煩了。你知道make install一條指令下去，沒有其他軟體輔助下，要反安裝你剛剛裝的東西有多複雜嗎。\npkg.orgs上面有很多新版Ubuntu的deb套件，載下來用dpkg設定一下問題就解決了吧？否，千萬不要。\n別自作聰明的找新版本的deb套件，替換掉系統套件，尤其是libc這種系統關鍵的核心套件，就為了取得新版本的.so檔或lib什麼，這樣系統會炸掉。很多程式依賴GLIBC版本一旦錯誤就會產生毀滅後果。此外，亂裝新版本的deb檔的後果就是，未來apt upgrade會出現大量\u0026quot;you have held broken packages\u0026quot;的依賴錯誤，夠你受的了。 因此，不要幹這種事情。\n較為妥善的解決之道 # 參考我之前寫過的Linux應該用何種方法安裝應用程式，我認為每個軟體都應該被套件管理器納入管理，如果不行，那就用容器隔離。\nGLIBC的問題，我後來用Distrobox指令臨時開個Ubuntu 22.04的Docker容器，GLIBC版本問題就解決了，軟體也順利編譯了。\nDistrobox真的很便利呀，需要某個Ubuntu版本的環境一行指令就能切換。\n啊如果軟體編譯還得依賴到系統套件，甚至限定Linux核心版本，那你就只能開完全隔離系統的KVM虛擬機來編譯了～\n關於軟體版本太舊的問題，很多時候，不一定要編譯軟體，可多用容器技術跑軟體！例如：Flatpak、AppImage、Snap、Docker 以上技術都把軟體的依賴套件與宿主機隔離，不會互相干擾。\n如果非得make install不可，那麼至少編譯的時候，放在Docker容器裡面執行，才不會為了編譯軟體給系統裝一堆QT、舊版libncurses5之類的依賴套件。\nmake install所產出的二進位檔，你可以進入build目錄先行測試，等到測試好了之後再從容器取出來安裝到系統。\n另外，Distrobox也可以協助你整合容器裡的軟體到宿主機，又不至於污染環境。\n","date":"2024年2月27日","externalUrl":null,"permalink":"/posts/think-twice-before-compiling-from-source/","section":"所有文章","summary":"註：本文使用情境為桌面版Linux，適用把Linux當主力系統使用的人群。\n很多人想要穩定的系統，卻又想要最新版的軟體。\n用Linux發行版的術語來說，就是固定發行版 (stable release) 的用戶組總會想要安裝滾動發行版 (rolling release) 的軟體。\n其中一個例子就是Ubuntu了！Ubuntu基於Debian開發，是標準的固定發行版系統，常常遇到軟體版本太舊的問題，導致使用者有時得從原始碼編譯軟體（compiling from source），通常安裝的最後一步就是make install或ninja install指令。\n當你看到軟體要你執行make install的時候，請勿必三思而後行。看看企鵝的眼睛，思考它是什麼樣的軟體，確認你是否真的有必要這樣安裝，想想這樣會不會影響你未來正常使用Linux桌面的體驗。 Ubuntu的爸爸，Debian在Don’t Break Debian一文中指出，Linux使用者應當好好愛護你的系統，不要盲目複製貼上網路部落格的指令（包括我這篇：P），不要隨便在你的系統make install安裝軟體。Ubuntu使用跟Debian一樣的APT套件管理器，所以Debian的話也在理。\n下面表述為何不要用make install，以及解決方案。\nUbuntu的軟體太舊的問題 # 相信你不只一次遇過Ubuntu套件庫軟體版本太舊的問題\n","title":"Ubuntu系統下make install指令前，三思而後行","type":"posts"},{"content":"","date":"2024-02-26","externalUrl":null,"permalink":"/en-us/categories/rooting-and-custom-rom/","section":"Categories","summary":"","title":"Rooting and Custom Rom","type":"categories"},{"content":"Mount and reszie qcow2 images of QEMU VMs.\n我要調整一個Windows的QEMU/KVM虛擬機的容量大小。該虛擬機使用libvirt新增，虛擬硬碟以qcow2格式儲存。\n為更輕鬆的調整硬碟分區，我以圖形程式Gparted操作，來增加/縮小qcow2大小。\n後面示範如何掛載qcow2硬碟，存取裡面的資料。\n以Ubuntu 22.04而言，要先安裝qemu-utils、Gparted套件：\nsudo apt-get install qemu-utils gparted ntfs-3g 1. 增加qcow2虛擬硬碟容量 # 找出qcow2位置，Libvirt所新增的虛擬機預設是位於/var/lib/libvirt/images $ ls /var/lib/libvirt/images windows11.qcow2 用qemu-img info指令確認容量 $ qemu-img info windows11.qcow2 image: windows11.qcow2 file format: qcow2 virtual size: 128 GiB (137438953472 bytes) disk size: 112 GiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: true refcount bits: 16 corrupt: false extended l2: false Child node \u0026#39;/file\u0026#39;: filename: windows11.qcow2 protocol type: file file length: 128 GiB (137460187136 bytes) disk size: 112 GiB 如果有空間，先備份虛擬硬碟 sudo cp windows11.qcow2 windows11_old.qcow2 使用qemu-img resize增加容量 cd /var/lib/libvirt/images sudo qemu-img resize windows11.qcow2 256G # 或者用加的 sudo qemu-img resize windows11.qcow2 +128G 在那之後，開機進入Windows虛擬機，用磁碟工具「延伸磁碟區」的功能就完成擴容。\n如果磁碟工具讀不到新分區，就得手動對虛擬硬碟的分區做進一步操作。將qcow2掛載為NBD網路硬碟：\nsudo modprobe nbd max_part=10 sudo qemu-nbd -c /dev/nbd0 windows11.qcow2 以Gparted開啟 sudo gparted /dev/nbd0 這裡就可以用圖形界面編輯分區啦 例如將中間的磁區按右鍵，貼齊磁柱，拉到最右邊。再調整最大分區的拉桿，將空白的磁區填滿。這樣移的話會讓qcow2直接吃滿256GB的實體硬碟空間。按下綠色箭頭確認。 編輯完成後刪除NBD裝置\nsudo qemu-nbd -d /dev/nbd0 用qemu-img info windows11.qcow2確認擴充後的大小。 2. 縮小qcow2虛擬硬碟容量 # 本節步驟跟上節類似，不過過程是反過來。縮小硬碟可能會造成資料損失，且磁區後方必須是未使用磁區。\n如果有空間，先備份虛擬硬碟 sudo cp windows11.qcow2 windows11_old.qcow2 掛載qcow2為NBD網路硬碟 sudo modprobe nbd max_part=10 sudo qemu-nbd -c /dev/nbd0 windows11.qcow2 以Gparted開啟掛載的硬碟 sudo gparted /dev/nbd0 拉動拉桿，將磁區縮小，最後方多出的灰色未使用磁區即為可縮小的範圍，按下綠色箭頭儲存 編輯好之後，才用qemu-img shrink縮小qcow2大小\nsudo qemu-img resize windows11.qcow2 --shrink -128G 編輯完成後刪除NBD裝置 sudo qemu-nbd -d /dev/nbd0 用qemu-img info windows11.qcow2確認縮小後的大小。 3. 在Linux宿主機存取qcow2硬碟的檔案 # 將qcow2掛載成NBD裝置 sudo modprobe nbd max_part=10 sudo qemu-nbd -c /dev/nbd0 windows11.qcow2 使用fdisk查看Windows虛擬硬碟內的分區 sudo fdisk /dev/nbd0 -l 接著再掛載，通常是掛載Microsoft basic data分區到Linux，以存取C槽資料。 sudo mount /dev/nbd0p3 /mnt/media/disk 使用完記得取消掛載 sudo umount /mnt/media/disk 編輯完成後刪除NBD裝置 sudo qemu-nbd -d /dev/nbd0 參考資料 # How to resize a qcow2 disk image on Linux - LinuxConfig.org QEMU disk image utility - QEMU documentation ","date":"2024年2月26日","externalUrl":null,"permalink":"/posts/resize-qemu-qcow2/","section":"所有文章","summary":"Mount and reszie qcow2 images of QEMU VMs.\n我要調整一個Windows的QEMU/KVM虛擬機的容量大小。該虛擬機使用libvirt新增，虛擬硬碟以qcow2格式儲存。\n為更輕鬆的調整硬碟分區，我以圖形程式Gparted操作，來增加/縮小qcow2大小。\n後面示範如何掛載qcow2硬碟，存取裡面的資料。\n以Ubuntu 22.04而言，要先安裝qemu-utils、Gparted套件：\nsudo apt-get install qemu-utils gparted ntfs-3g 1. 增加qcow2虛擬硬碟容量 # 找出qcow2位置，Libvirt所新增的虛擬機預設是位於/var/lib/libvirt/images $ ls /var/lib/libvirt/images windows11.qcow2 用qemu-img info指令確認容量 $ qemu-img info windows11.qcow2 image: windows11.qcow2 file format: qcow2 virtual size: 128 GiB (137438953472 bytes) disk size: 112 GiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: true refcount bits: 16 corrupt: false extended l2: false Child node '/file': filename: windows11.qcow2 protocol type: file file length: 128 GiB (137460187136 bytes) disk size: 112 GiB 如果有空間，先備份虛擬硬碟 sudo cp windows11.qcow2 windows11_old.qcow2 使用qemu-img resize增加容量 cd /var/lib/libvirt/images sudo qemu-img resize windows11.qcow2 256G # 或者用加的 sudo qemu-img resize windows11.qcow2 +128G 在那之後，開機進入Windows虛擬機，用磁碟工具「延伸磁碟區」的功能就完成擴容。\n如果磁碟工具讀不到新分區，就得手動對虛擬硬碟的分區做進一步操作。將qcow2掛載為NBD網路硬碟：\nsudo modprobe nbd max_part=10 sudo qemu-nbd -c /dev/nbd0 windows11.qcow2 以Gparted開啟 sudo gparted /dev/nbd0 這裡就可以用圖形界面編輯分區啦 ","title":"如何用圖形化程式調整QEMU/KVM虛擬機的硬碟大小，開啟編輯qcow2檔","type":"posts"},{"content":"🇺🇸 English version\n中華民國一百一十二年二月三日晨，解衣欲睡，夜色入戶，欣然起行，編譯核心。\nAndroid核心跟GNU/Linux有差距，因此有Root也無法跑Docker。\n在XDA終於有人移植新版LineageOS後，利用其核心原始碼為基礎，給Sony Xperia 5 II(pdx206)手機編譯自訂核心，使其能以原生效能跑Docker。 搞那麼大功夫就為了跑Docker？但少閒人如吾者耳。\n除了跑Docker外，後面再試試跑Flatpak、LXC、Waydroid。\n1. 前置作業 # 將Xperia 5 II 刷成LineageOS 20，並將其Root。\n安裝Termux並初始化。\n下載Moby的指令稿用於檢查核心缺少的功能\npkg install wget tsu wget https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh chmod +x check-config.sh sed -i \u0026#39;1s_.*_#!/data/data/com.termux/files/usr/bin/bash_\u0026#39; check-config.sh sudo ./check-config.sh 將CONFIG顯示為紅字的項目記下來。 Generally Necessary下的項目是一定要開啟的設定檔；Optional Features為可開可不開。\n保險起見還是盡量全開，但我可以告訴你的是，ZFS到現在(6.1.9)都還沒進入Linux主線核心，所以這設定檔是開不了的。\n2. 修改核心 # 2021年曾經給紅米Note 5製作過能跑Docker的核心，但當時是使用獨立編譯核心的方式，失敗率很高。因此這次我就採用跟著原始碼樹一起編譯核心的作法。\n參考此文下載50GB左右的LineageOS 20原始碼。\n跳到該文的「編譯Linux核心」段落。\n進入編譯環境。\nsource build/envsetup.sh breakfast pdx206 修改核心設定檔，切換至~/android/lineage/kernel/sony/sm8250/目錄，以pdx206_defconfig產生.config。 export ARCH=arm64 make pdx206_defconfig 進入核心設定檔選單，開始修改核心設定檔 make menuconfig 對照Moby指令稿顯示紅字缺少的CONFIG，將其一一開啟。用上下鍵盤移動，選中下方Exit返回上一頁(退出時記得選Save)，Enter確認，空白鍵選取。\n例如要找IP_VS這個CONFIG，按/，搜尋，接著它會告訴你具體位置。有些CONFIG需要先滿足Depends on寫的CONFIG條件才會出現。 按照prompt去找，像CONFIG_IP_VS位於Networking Support -\u0026gt; Networking options -\u0026gt; Network packet filtering framework (Netfilter) -\u0026gt; IP virtual server support 有些功能低版本核心找不到就是找不到，例如CONFIG_CGROUP_HUGETLB要Linux 4.2以上核心才有，如果該設定檔沒有列在Generally Necessary就不用太緊張。\n我另外啟用了CONFIG_BINFMT_MISC設定檔，方便跑跨架構的應用程式。\n根據Frederico Oliveira的文章，需要修改核心原始碼目錄下的kernel/Makefile為以下內容。可用patch程式套用，或手動改原始碼。\ndiff --git a/kernel/Makefile b/kernel/Makefile index d5c1115..2dea801 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -121,7 +121,7 @@ $(obj)/configs.o: $(obj)/config_data.h # config_data.h contains the same information as ikconfig.h but gzipped. # Info from config_data can be extracted from /proc/config* targets += config_data.gz -$(obj)/config_data.gz: arch/arm64/configs/lavender_stock-defconfig FORCE +$(obj)/config_data.gz: $(KCONFIG_CONFIG) FORCE $(call if_changed,gzip) filechk_ikconfiggz = (echo \u0026#34;static const char kernel_config_data[] __used = MAGIC_START\u0026#34;; cat $\u0026lt; | scripts/basic/bin2c; echo \u0026#34;MAGIC_END;\u0026#34;) 接著修改net/netfilter/xt_qtaguid.c為以下內容： --- orig/net/netfilter/xt_qtaguid.c 2020-05-12 12:13:14.000000000 +0300 +++ my/net/netfilter/xt_qtaguid.c 2019-09-15 23:56:45.000000000 +0300 @@ -737,7 +737,7 @@ { struct proc_iface_stat_fmt_info *p = m-\u0026gt;private; struct iface_stat *iface_entry; - struct rtnl_link_stats64 dev_stats, *stats; + struct rtnl_link_stats64 *stats; struct rtnl_link_stats64 no_dev_stats = {0}; @@ -745,13 +745,8 @@ current-\u0026gt;pid, current-\u0026gt;tgid, from_kuid(\u0026amp;init_user_ns, current_fsuid())); iface_entry = list_entry(v, struct iface_stat, list); + stats = \u0026amp;no_dev_stats; - if (iface_entry-\u0026gt;active) { - stats = dev_get_stats(iface_entry-\u0026gt;net_dev, - \u0026amp;dev_stats); - } else { - stats = \u0026amp;no_dev_stats; - } /* * If the meaning of the data changes, then update the fmtX * string. 修改完成後，用.config取代原本的pdx206_defconfig。下一步make clean後.config會被刪除。 cp .config arch/arm64/configs/pdx206_defconfig 編譯核心 make clean mka bootimage 輸出的boot.img位於~/android/lineage/out/target/product/pdx206/。如果需要多次重複編譯，可以只刪這裡的檔案。\nDocker需要Root權限才能跑，所以要將boot.img傳到手機，開啟Magisk選取修補boot.img，再將修補後的magisk-boot.img傳回電腦。\n使用fastboot將修補好的magisk-boot.img刷到手機。我另外將編譯好的成品放到了Github。\nfastboot flash boot magisk-boot.img 3. 執行Docker容器 # 開機後顯示：「你的裝置發生內部問題」是正常現象。\n開啟Termux，手動掛載cgroup sudo mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup 這次編譯的時候也順便開啟了binfmt設定檔，也許chroot的時候會用到，將其啟用： su mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc echo 1 \u0026gt; /proc/sys/fs/binfmt_misc/status 再次執行Moby指令稿：sudo ./check-config.sh，查看CONFIG是否都變成綠字。 安裝Docker與Docker compose。目前Termux還沒收podman，也許可以用chroot或proot安裝？\npkg install root-repo pkg install docker docker-compose 啟動Docker daemon sudo dockerd --iptables=false 從螢幕左側滑進來，按New Session開啟新終端機。測試Hello World： sudo docker run hello-world 應該會看到如下輸出 如果映像檔需要使用--init引數，那麼得編譯安裝tini：\ncd $TMPDIR/docker-build wget https://github.com/krallin/tini/archive/v0.19.0.tar.gz tar xf v0.19.0.tar.gz cd tini-0.19.0 mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PREFIX .. make -j8 make install ln -s $PREFIX/bin/tini-static $PREFIX/bin/docker-init 測試成功之後，就可以在手機跑Docker容器了！可以嘗試跑Linux容器、伺服器服務、轉檔工具等等，也可以跑圖形界面再裝Box86 + Wine。\n如果映像檔只支援x86架構，在編譯binfmt後參考此篇解決。\n目前Termux的Docker還有些缺陷，例如無法使用itptables、只能使用host網路(加上--net=host --dns=8.8.8.8引數)、docker-compose無法使用等問題。\n關閉Docker前務必在Docker daemon的終端機按CTRL+C取消執行。\n4. 安裝Flatpak應用程式 # Docker需要的cgroups同時也能用來跑Flatpak應用程式。Flatpak是跨發行版的打包套件格式，可以輕鬆解決依賴問題。\nchroot環境只要做些修改就可以跑Flatpak APP。\nTermux沒有收Flatpak套件，因此要先設定chroot Ubuntu環境。\n修改登入Ubuntu的指令稿，在最前面加入掛載自身目錄的指令，防止出現Failed to make / slave: Invalid argument的bug。\n# 加入至頁首 busybox mount --bind /data/local/tmp/chrootubuntu /data/local/tmp/chrootubuntu # 加入至末尾 busybox umount /data/local/tmp/chrootubuntu 登入Ubuntu，安裝Flatpak，然後登出Ubuntu，手機重開機。 sudo apt install flatpak flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo exit 重新登入chroot Ubuntu，便可安裝Flaptak的應用程式，例如ffmpeg： flatpak install org.freedesktop.Platform 執行Flatpak應用程式前要先啟動dbus： mkdir /run/dbus dbus-daemon --system 執行Flatpak應用程式可加上--devel看除錯輸出。 flatpak run --devel --command=ffmpeg org.freedesktop.Platform -version 5. 透過LXC跑Waydroid # 註：本段內容來自Reddit用戶u/Near_Earth，尚未經過完整測試。\n使用LXC的好處：超越一般的chroot，讓Android系統可以跑依賴Systemd的東西，例如Snap。\nLXC用到的核心模組跟Docker有關，因此跑Flatpak和Snap也是沒問題的。Waydroid則是能在Android上跑真正的Android容器。\n安裝套件 pkg install root-repo pkg install tsu lxc 確認核心對LXC的支援度。 sudo lxc-checkconfig 下載Ubuntu rootfs sudo lxc-create -t download -n ubuntu -- --no-validate -d ubuntu -r jammy -a arm64 修改設定檔 sudo sed -i \u0026#39;/Network configuration/,$d\u0026#39; \u0026#34;$PREFIX/var/lib/lxc/ubuntu/config\u0026#34; sudo nano +-1 \u0026#34;$PREFIX/var/lib/lxc/ubuntu/config\u0026#34; 填入以下內容 # Required Configuration lxc.net.0.type = none lxc.hook.version = 1 lxc.cgroup.devices.allow = a lxc.mount.auto = cgroup:mixed sys:mixed proc:mixed # A container that is doing nothing uses as little as some few MB of RAM. # But when you run huge, really huge memory intensive programs or compilations, it will obviously use more RAM. # Very, very intensive program/task == too much RAM == the LMK will free up the RAM by killing the containers. # We don\u0026#39;t want that. # So we set the maximum RAM that the container is allowed to use. # It will never go beyond this limit, so we have no more worries. # Here, 2G = 2GB limit (can use M for MB, etc) lxc.cgroup.memory.limit_in_bytes = 2G # LXC does not set a default password for us, so we have to set it ourselves. # We usually need to chroot into the container and manually set the password. # It\u0026#39;s boring to do this for every new container, so we will automate it. # This one-time hook will set a temporary password called \u0026#39;password\u0026#39; for the \u0026#39;root\u0026#39; user and the default user (eg:- \u0026#39;ubuntu\u0026#39;). # This is useful for newbies and you can change it later from inside the container. # It\u0026#39;ll run ONLY ONCE at the very first run of the container, so it won\u0026#39;t interfere if the password is changed by the user later on. # Temporary password for \u0026#39;root\u0026#39; is \u0026#39;password\u0026#39; (no quotes). # Remember to change your password later using command \u0026#39;passwd\u0026#39; lxc.hook.pre-start = bash -c \u0026#34;echo \u0026#39;Set Temporary Password\u0026#39;; LD_PRELOAD= chroot \u0026#39;${LXC_ROOTFS_PATH}\u0026#39; usr/bin/bash -c \\\u0026#34;/usr/bin/echo password | /usr/bin/sed \u0026#39;s/.*/\\0\\n\\0/\u0026#39; | /usr/bin/passwd root; /usr/bin/echo password | /usr/bin/sed \u0026#39;s/.*/\\0\\n\\0/\u0026#39; | /usr/bin/passwd ubuntu\\\u0026#34;; sed -i -E \\\u0026#34;s/(.*echo \u0026#39;Set Temporary Password\u0026#39;.*)/# \\1/g\\\u0026#34; \u0026#39;${LXC_CONFIG_FILE}\u0026#39;; true;\u0026#34; # Brings Termux colors to the containers\u0026#39; console lxc.environment = TERM=\u0026#34;xterm-256color\u0026#34; # This will do a bunch of important things - # 1) Mount the required cgroups # 2) Sets correct DNS resolver to fix connectivity # 3) Makes non-funtional udevadm always return true, or else some packages and snaps gives errors when trying to install # 4) Sets temporary suid for the rootfs using bind mounts, otherwise normal users inside the container won\u0026#39;t be able to use sudo commands lxc.hook.pre-start = bash -c \u0026#34;if ! mountpoint -q /sys/fs/cgroup \u0026amp;\u0026gt;/dev/null; then mkdir -p /sys/fs/cgroup; mount -t tmpfs -o rw,nosuid,nodev,noexec,relatime cgroup_root /sys/fs/cgroup; fi; for cg in blkio cpu cpuacct cpuset devices freezer memory pids; do if ! mountpoint -q /sys/fs/cgroup/\\${cg} \u0026amp;\u0026gt;/dev/null; then mkdir -p /sys/fs/cgroup/\\${cg}; mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,\\${cg} \\${cg} /sys/fs/cgroup/\\${cg} \u0026amp;\u0026gt;/dev/null; fi; done; mkdir -p /sys/fs/cgroup/systemd; mount -t cgroup -o none,name=systemd systemd /sys/fs/cgroup/systemd; umount -Rl /sys/fs/cgroup/cg2_bpf; umount -Rl /sys/fs/cgroup/schedtune; umount -Rl \u0026#39;${LXC_ROOTFS_PATH}\u0026#39;; sed -i -E \u0026#39;s/^( *# *DNS=.*|DNS=.*)/DNS=1.1.1.1/g\u0026#39; \u0026#39;${LXC_ROOTFS_PATH}/etc/systemd/resolved.conf\u0026#39;; mount -B \u0026#39;${LXC_ROOTFS_PATH}\u0026#39; \u0026#39;${LXC_ROOTFS_PATH}\u0026#39;; mount -i -o remount,suid \u0026#39;${LXC_ROOTFS_PATH}\u0026#39;; if [ ! -e \u0026#39;${LXC_ROOTFS_PATH}/usr/bin/udevadm.\u0026#39; ]; then mv -f \u0026#39;${LXC_ROOTFS_PATH}/usr/bin/udevadm\u0026#39; \u0026#39;${LXC_ROOTFS_PATH}/usr/bin/udevadm.\u0026#39;; fi; echo -e \u0026#39;#!/usr/bin/bash\\n/usr/bin/udevadm. \\\u0026#34;\\$@\\\u0026#34; || true\u0026#39; \u0026gt; \u0026#39;${LXC_ROOTFS_PATH}/usr/bin/udevadm\u0026#39;; chmod +x \u0026#39;${LXC_ROOTFS_PATH}/usr/bin/udevadm\u0026#39;; true;\u0026#34; # Necessary lxc container configuration that properly sets up the containers internals. Sets up required character files, correct cgroups, etc. lxc.hook.pre-start = bash -c \u0026#39;mkdir -p \u0026#39;\u0026#34;${LXC_ROOTFS_PATH}/etc/tmpfiles.d\u0026#34;\u0026#39;; echo -e \u0026#34;#Type Path Mode User Group Age Argument\\nc! /dev/cuse 0666 root root - 10:203\\nc! /dev/fuse 0666 root root - 10:229\\nc! /dev/ashmem 0666 root root - 10:58\\nc! /dev/loop-control 0600 root root - 10:237\u0026#34; \u0026gt; \u0026#39;\u0026#34;${LXC_ROOTFS_PATH}/etc/tmpfiles.d/lxc-required-setup.conf\u0026#34;\u0026#39;; for i in $(seq -s \u0026#34; \u0026#34; 0 255); do echo \u0026#34;b! /dev/loop${i} 0600 root root - 7:$((${i} * 8))\u0026#34; \u0026gt;\u0026gt; \u0026#39;\u0026#34;${LXC_ROOTFS_PATH}/etc/tmpfiles.d/lxc-required-setup.conf\u0026#34;\u0026#39;; done; for i in binder hwbinder vndbinder; do echo \u0026#34;L! /dev/${i} - - - - /dev/binderfs/anbox-${i}\u0026#34; \u0026gt;\u0026gt; \u0026#39;\u0026#34;${LXC_ROOTFS_PATH}/etc/tmpfiles.d/lxc-required-setup.conf\u0026#34;\u0026#39;; done; echo -e \u0026#34;#!/usr/bin/bash\\n\\nsetup_lxc_configuration(){\\n\\nmount -o remount,rw /sys/fs/cgroup\\numount -Rl /sys/fs/cgroup/{schedtune,cpu,cpuacct,\u0026#39;cpu,cpuacct\u0026#39;} \u0026amp;\u0026gt;/dev/null\\nrm -rf /sys/fs/cgroup/{schedtune,cpu,cpuacct,\u0026#39;cpu,cpuacct\u0026#39;}\\nmkdir -p /sys/fs/cgroup/{cpu,cpuacct}\\nfor cg in cpu cpuacct; do\\n mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,\\${cg} \\${cg} /sys/fs/cgroup/\\${cg}\\ndone\\nmount -o remount,ro /sys/fs/cgroup\\n\\numount -Rl /dev/binderfs\\n\\nrm -rf /dev/binderfs\\nmkdir -p /dev/binderfs\\nmount -t binder binder /dev/binderfs\\n\\n}\\n\\nsetup_lxc_configuration \u0026amp;\u0026gt;/dev/null || true\\n\u0026#34; \u0026gt; \u0026#39;\u0026#34;${LXC_ROOTFS_PATH}/etc/rc.local\u0026#34;\u0026#39;; chmod +x \u0026#39;\u0026#34;${LXC_ROOTFS_PATH}/etc/rc.local\u0026#34;\u0026#39;; true;\u0026#39; # If container stopped then umount the bind mounted rootfs and restore it\u0026#39;s nosuid if it was set lxc.hook.post-stop = bash -c \u0026#34;umount -Rl \u0026#39;${LXC_ROOTFS_PATH}\u0026#39;; true;\u0026#34; lxc.hook.destroy = bash -c \u0026#34;umount -Rl \u0026#39;${LXC_ROOTFS_PATH}\u0026#39;; true;\u0026#34; 登入Ubuntu，預設帳號ubuntu，密碼password sudo lxc-start -F -n ubuntu 參考Ubuntu chroot，安裝圖形環境。\n透過virglrenderer達成GPU加速。\n再建立Waydroid容器。\n參考資料 # This tutorial shows how to run docker natively on Android, without VMs and chroot. flatpak install errors when executed from inside a chroot #703 Cannot run flatpaks in a Fedora container u/Near_Earth: Termux provides the lxc package for those with root/custom-kernels 在安卓上运行Lxc容器 ","date":"2024年2月26日","externalUrl":null,"permalink":"/posts/sony-xperia-5-ii-docker-kernel/","section":"所有文章","summary":"🇺🇸 English version\n中華民國一百一十二年二月三日晨，解衣欲睡，夜色入戶，欣然起行，編譯核心。\nAndroid核心跟GNU/Linux有差距，因此有Root也無法跑Docker。\n在XDA終於有人移植新版LineageOS後，利用其核心原始碼為基礎，給Sony Xperia 5 II(pdx206)手機編譯自訂核心，使其能以原生效能跑Docker。 搞那麼大功夫就為了跑Docker？但少閒人如吾者耳。\n除了跑Docker外，後面再試試跑Flatpak、LXC、Waydroid。\n1. 前置作業 # 將Xperia 5 II 刷成LineageOS 20，並將其Root。\n安裝Termux並初始化。\n下載Moby的指令稿用於檢查核心缺少的功能\npkg install wget tsu wget https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh chmod +x check-config.sh sed -i '1s_.*_#!/data/data/com.termux/files/usr/bin/bash_' check-config.sh sudo ./check-config.sh 將CONFIG顯示為紅字的項目記下來。 Generally Necessary下的項目是一定要開啟的設定檔；Optional Features為可開可不開。\n保險起見還是盡量全開，但我可以告訴你的是，ZFS到現在(6.1.9)都還沒進入Linux主線核心，所以這設定檔是開不了的。\n2. 修改核心 # 2021年曾經給紅米Note 5製作過能跑Docker的核心，但當時是使用獨立編譯核心的方式，失敗率很高。因此這次我就採用跟著原始碼樹一起編譯核心的作法。\n","title":"[Root] Android手機跑Docker容器 / Flatpak / Snap / Waydroid，Sony Xperai 5 II編譯自訂kernel","type":"posts"},{"content":"Dopamine (多巴胺) 為一款iOS越獄APP，能夠讓你的iPhone/iPad擁有類似永久越獄的環境。 為什麼這麼說呢？因為Dopamine屬於半完美越獄(semi-untethered jailbreak)，每次重開機後要重新啟用越獄環境。但是不需要電腦，靠APP啟用就行。\n1. Dopamine原理 # Dopamine由oppa334開發，原始碼放在Github。它利用iOS核心的「KFD」漏洞進行越獄，完全不需要電腦就能觸發。\n至於操作KFD漏洞的原始碼細節已由另一名開發者公佈在Github：kfd, short for kernel file descriptor, is a project to read and write kernel memory on Apple devices.\n跟palera1n (checkra1n)不同的是，Dopamine無需電腦觸發漏洞，且越獄模式為「rootless」模式，不提供rootful模式，某些Tweak可能不相容。\nrootless越獄是未來趨勢，比較難被APP偵測到越獄環境，已經有開發者按照Dopamine架構製作了隱藏越獄的APP：roothide/Dopamine-roothide\n2. Dopamine支援的裝置 # 撰文當下Dopamine版本為v2.0.6\n首先，iOS系統版本必須介於iOS 15 ~ iOS 16.6.1之間\n再者，Dopamine支援搭載A9 ~ A16處理器的裝置，也就是：iPhone 6s、iPhone 7、iPod touch 7 、iPhone 8、iPhone X、iPhone XR、iPhoneXs、iPhone 11、iPhone 12、iPhone 13、iPhone 14、iPhone SE第一代/第二代/第三代。\niPhone 15因為出廠搭載的是iOS 17所以不支援。\niPad的話則是能升級到iPadOS 15的裝置都支援。\n3. 如何安裝Dopamine # 想要安裝Dopamine，可以靠AltStore側載IPA。IPA請到Dopamine的Github下載。安裝後需要定時重簽IPA防止APP過期無法啟動。\n如果你的iOS版本能裝TrollStore的話，那麼用它安裝Dopamine更好，就不用擔心APP簽名過期了。\n我的裝置是iPhone SE第一代，系統版本iOS 15.8.1，所以直接用TrollStore安裝。\n到Dopamine官網https://ellekit.space/dopamine，點選Open With TrollStore。或者按Download IPA，手動下載IPA再開TrollStore安裝。 開啟Dopamine APP，開始越獄（觸發漏洞可能要多試幾次） 選取Sileo商店作為套件管理器 等待越獄完成 設定sudo密碼，之後iPhone會短暫重啟 主畫面會出現Sileo商店，開啟後就能安裝Tweak了。 每次重開機你都得用Dopamine重新啟用越獄環境。\n","date":"2024年2月24日","externalUrl":null,"permalink":"/posts/ios-dopamine-jailbreak/","section":"所有文章","summary":"Dopamine (多巴胺) 為一款iOS越獄APP，能夠讓你的iPhone/iPad擁有類似永久越獄的環境。 為什麼這麼說呢？因為Dopamine屬於半完美越獄(semi-untethered jailbreak)，每次重開機後要重新啟用越獄環境。但是不需要電腦，靠APP啟用就行。\n1. Dopamine原理 # Dopamine由oppa334開發，原始碼放在Github。它利用iOS核心的「KFD」漏洞進行越獄，完全不需要電腦就能觸發。\n至於操作KFD漏洞的原始碼細節已由另一名開發者公佈在Github：kfd, short for kernel file descriptor, is a project to read and write kernel memory on Apple devices.\n跟palera1n (checkra1n)不同的是，Dopamine無需電腦觸發漏洞，且越獄模式為「rootless」模式，不提供rootful模式，某些Tweak可能不相容。\nrootless越獄是未來趨勢，比較難被APP偵測到越獄環境，已經有開發者按照Dopamine架構製作了隱藏越獄的APP：roothide/Dopamine-roothide\n2. Dopamine支援的裝置 # 撰文當下Dopamine版本為v2.0.6\n首先，iOS系統版本必須介於iOS 15 ~ iOS 16.6.1之間\n再者，Dopamine支援搭載A9 ~ A16處理器的裝置，也就是：iPhone 6s、iPhone 7、iPod touch 7 、iPhone 8、iPhone X、iPhone XR、iPhoneXs、iPhone 11、iPhone 12、iPhone 13、iPhone 14、iPhone SE第一代/第二代/第三代。\n","title":"「Dopamine」iOS 15/iOS 16免電腦越獄APP使用教學","type":"posts"},{"content":"當越獄工具不支援Windows的時候，你可以用Live USB暫時讓電腦進入Linux系統，完成越獄操作，再回到Windows。\n本篇介紹使用LiveUSB的理由，以及用palera1n(checkra1n)當例子，讓你在Windows電腦進行越獄。 1. 為何使用Live USB # 凡是需要用到電腦的不完美越獄工具(tethered jailbreak)，幾乎都不支援Windows系統。\n好比「checkra1n」和「palera1n」，在Windows是不行的，Vmware虛擬機不行，WSL也不行，一定得用Linux或者macOS實體機才能成功越獄。\n究其原理，大概是macOS與Linux的架構相近的緣故，二者都是類似Unix的系統，越獄工具只要有macOS版通常就會順便出Linux版。\n且Windows沒有好的libimobiledeivces實現吧。iTunes以外能跟iPhone通訊的幾乎是付費軟體，開源的一個都沒有。這個時候，就會有「XX蘋果助手」幫你把越獄程式打包好，讓你用他們的軟體在Windows越獄。但是，我十分反對使用XX蘋果助手進行越獄的行為，因為他們多半是中國開發的，又不開放原始碼，安全性存疑。\n退而求其次，想要臨時擁有類Unix系統的環境，我們可以自行將Linux系統製作成Live USB，讓電腦隨身碟開機，「暫時」進入Linux系統，如此一來就能操作越獄工具，之後回到Windows系統。Live USB的系統是跑在RAM裡的，並不會覆蓋你的硬碟資料，大可放心使用。\n選Linux的原因是macOS要製作成Live USB的難度太高了，不推薦。\n網路總會有熱心開發者將越獄程式與精簡的Linux系統打包，讓使用者透過Live USB完成越獄，例如bootra1n。\n但每次有新的越獄方案出來，開發者打包的都是不同系統的組合。今天在此，我就直接講述，如何自力更生，使用Live USB執行各式各樣的越獄工具。\n1. 下載Linux發行版 # Linux部份，選擇對新手最友善的Ubuntu系統。我知道Ubuntu的ISO是臃腫了些，市面上有更精簡的系統，但是Ubuntu基本上是開箱即用的最佳選擇，對各大電腦硬體的相容性也比較好。\n請不要跟我說ChromeOS可不可以？答案是不行。\n到Ubuntu官方網站，下載最新LTS版本的ISO，檔案約4GB 2. 製作LiveUSB # 準備一支8GB以上容量的隨身碟。該隨身碟的資料將會被清空。\n到Etcher官網下載燒錄程式 開啟Etcher，點選最左邊「從文件燒錄」，選取Ubuntu 22.04的ISO 接著中間選取隨身碟作為目標裝置，點選右邊開始燒錄，將Ubuntu寫入至隨身碟 3. 用LiveUSB開機 # 將隨身碟插在電腦上\n電腦重開機，接著馬上連按Delete或F2鍵，進入電腦BIOS（每個廠牌進入方法不同，請看主機板說明書）\n找到安全開機（Secure Boot）的欄位，將其關閉 接著調整開機順序，選擇隨身碟 開機之後選第一個選項進入Ubuntu 請滑動拉桿調整語言，切換成中文。接著按下「試用Ubuntu」，它就不會真的安裝系統。 Ubuntu系統有內建Firefox瀏覽器，敬請善加利用。\n4. 了解Linux與iPhone配對的指令 # 你可以直接把iPhone插入到電腦USB孔，在手機上點選「信任此電腦」，Ubuntu應該能偵測得到裝置，並存取照片。確認Ubuntu能認到iPhone就可以下一步了。 如果Ubuntu認不到裝置，可能你得手動配對。\n點選Ubuntu左下角的應用程式列表按鈕，找到「Terminal」，開啟終端機。 如下圖所示，使用lsusb指令確認iPhone真的有被Linux認到，而不是USB壞了。這部份有點玄學，越獄不要用Type-C對Type-C線，儘量用USB-A的線。 Linux有許多操作iPhone的指令，請看libimobiledevice用法了解\n5. 越獄示例：在Live USB跑palera1n # 以我之前寫過的palera1n越獄為例子，Ubuntu點選左下角的應用程式列表按鈕，找到「Terminal」，開啟終端機。 用以下指令裝palera1n\nsudo apt install curl sudo /bin/sh -c \u0026#34;$(curl -fsSL https://static.palera.in/scripts/install.sh)\u0026#34; 在終端機執行palera1n -h指令，看有沒有安裝成功 在那之後，參照palera1n ＋ iOS 15越獄的步驟繼續。\n越獄完成後關閉終端機，並點選右上角Poweroff關機，拔出隨身碟，重開機就會回到Windows了。 ","date":"2024年2月24日","externalUrl":null,"permalink":"/posts/jailbreak-iphone-with-live-usb/","section":"所有文章","summary":"當越獄工具不支援Windows的時候，你可以用Live USB暫時讓電腦進入Linux系統，完成越獄操作，再回到Windows。\n本篇介紹使用LiveUSB的理由，以及用palera1n(checkra1n)當例子，讓你在Windows電腦進行越獄。 1. 為何使用Live USB # 凡是需要用到電腦的不完美越獄工具(tethered jailbreak)，幾乎都不支援Windows系統。\n好比「checkra1n」和「palera1n」，在Windows是不行的，Vmware虛擬機不行，WSL也不行，一定得用Linux或者macOS實體機才能成功越獄。\n究其原理，大概是macOS與Linux的架構相近的緣故，二者都是類似Unix的系統，越獄工具只要有macOS版通常就會順便出Linux版。\n且Windows沒有好的libimobiledeivces實現吧。iTunes以外能跟iPhone通訊的幾乎是付費軟體，開源的一個都沒有。這個時候，就會有「XX蘋果助手」幫你把越獄程式打包好，讓你用他們的軟體在Windows越獄。但是，我十分反對使用XX蘋果助手進行越獄的行為，因為他們多半是中國開發的，又不開放原始碼，安全性存疑。\n","title":"如果iPhone越獄工具沒有Windows版，你還有Live USB可以用 (palera1n)","type":"posts"},{"content":"我們知道ChatGPT可以輔助人們寫程式，Github還推出了Copilot整合到VS Cdoe輔助生成程式碼。\n那麼如果想在終端機直接調用ChatGPT輔助寫程式呢？比如，臨時寫個ffmpeg轉檔指令，或者清除檔案的小程式？不想花費腦細胞去google指令解法，那麼我們就可以運用ShellGPT軟體來解決程式相關問題。 ShellGPT作者製作的酷酷宣傳影片\nShellGPT將ChatGPT與電腦終端機直接整合，你可以在命令行與ChatGPT對話，它可以針對你系統的情況回答問題。因為是AI生成的回答，ShellGPT實用性比起機械性應答的The Fuck指令工具要泛用多了。\nShellGPT的設計是跨平台的，不論你是Linux的Bash，macOS Zsh，還是Windows Powershell，都可以安裝ShellGPT！\n這可不只是單純聊天而已喔！搭配Bash shell的各種文字處理功能，能達到更多好玩的操作。\n比如：\n將man指令輸出的內容餵給ChatGPT，總結manpage內容 讀取程式碼檔案，再請ChatGPT解釋每行的邏輯，一行一行對照著修改。 餵給多行文本，讓ChatGPT立即按照程式碼生成一個說明文件。 利用Linux Bash的管道(pipe)，把程式輸出的內容餵給ChatGPT處理。 寫個複雜的Regexp，幫我批次操作檔案 在終端機裡面操作，你就不用離開視窗去看瀏覽器的AI回應了！\n1. 安裝ShellGPT # ShellGPT由Farkhod Sadykov開發，原始碼位於Github。Github上有一個同名軟體也叫ShellGPT，跟這個沒有關係。\n在安裝之前，你得先選擇要使用線上模型或離線模型。\n線上模型 # 線上AI模型就是ChatGPT，支援多語言的AI，也很聰明，但免費帳號額度不多。\n你需要到OpenAI網站付費購買API Key\n透過Python pip安裝安裝ShellGPT：\npip install shell-gpt 初始化ShellGPT，填入API Key sgpt 離線模型 # 離線模型是指LLaMA這類的開源模型，適合注重隱私的用戶使用。雖然使用無限制，但是LLM的硬體要求偏高，本機跑語言模型所耗費的硬體資源可能都超過你的IDE了。\nShellGPT得搭配Ollama的API存取語言模型。\n安裝LiteLLM版的shell-gpt\npip install shell-gpt[litellm] 編輯~/.config/shell_gpt/.sgptrc，加入以下選項 DEFAULT_MODEL=ollama/mistral:7b-instruct OPENAI_USE_FUNCTIONS=false USE_LITELLM=true OPENAI_API_KEY=false 初始化ShellGPT sgpt Ollama會視你的CPU和GPU硬體狀況分配運算資源，如果發現佔用太高就重啟Ollama服務： sudo systemctl restart ollama 2. ShellGPT操作 # 初次啟動的時候，ShellGPT會讀取你的系統資訊，彙整報告。日後生成的指令建議應該也會以你當前的系統為準。如果擔心ShellGPT讀取的資訊不夠全面，那麼可以用lshw指令輸出報告給它詳讀。 理論上如果你模型選的對的話，你是可以用中文問AI問題的，比如ChatGPT就支援中文，但Ollama提供的模型則不一定。\n你可以執行sgpt --install-integration啟用命令行整合，這樣的話在打完指令按下Ctrl + I，你目前所打的指令就會當成提示詞傳給ShellGPT，並馬上執行。\n2.1. 常用引數 # 引數彼此可以組合。\n預設模式下，sgpt指令後面加上引號，就是一般聊天模式，可以問一些程式相關的問題，例如怎麼移除孤立套件？它會考慮你的發行版再做回應。\nsgpt \u0026#34;How to remove orphaned packages on my system?\u0026#34; 輸出\nTo remove orphaned packages in Ubuntu, you can use the apt-get command with the autoremove option. Run sudo apt-get autoremove. This command will remove packages that were installed as dependencies but are no longer needed. Be sure to use it with caution, as it may remove packages unintentionally if used incorrectly. If you prefer using a package manager other than apt-get, such as apt or snap, the command might be slightly different but the concept remains the same: removing dependencies that are no longer required. 加上--shell或-s引數讓AI給出建議後直接執行指令。比如詢問「怎麼批次重新命名目前目錄下所有檔案？」ShellGPT會顯示建議指令，再問你要不要執行？\nsgpt -s \u0026#34;Add date to the beginning of all filenames in this directory \u0026#34; 輸出，按E執行，按D解釋，按A停止\nfor i in *; do mv \u0026#34;$i\u0026#34; \u0026#34;${DATE-%*}-$(basename \u0026#34;$i\u0026#34;)\u0026#34;; done \u0026amp;\u0026amp; date +%Y%m%d%H%M%S [E]xecute, [D]escribe, [A]bort: 你也可以把資料或shell script餵給AI，讓它規劃指令\nsgpt -s \u0026#34;Execute this script ten times\u0026#34; \u0026lt; findfile.sh 如果你不是很懂命令行（那你是怎麼安裝這軟體的？），那麼可以加上--describe-shell或-d引數，讓ShellGPT解釋某指令的用途\nsgpt -d \u0026#34;awk\u0026#34; 輸出\nawk is a powerful text-processing command in Unix/Linux that applies a user-defined function to each record (line by default) of a file or input stream, producing output selectively based on specified conditions. Arguments are the files to be processed, and options can include setting fields, delimiters, and action for specific events like {print} or {next}. For example: awk \u0026#39;{print $1}\u0026#39; file.txt prints the first field of each line in file.txt. 使用--code或-c引數，要求ShellGPT只回傳程式碼，不要有任何解釋。為了方便閱讀，ShellGPT會以Markdown格式回傳程式碼。\nsgpt -c \u0026#34;Implement Ant colony optimization in Python\u0026#34; 輸出 （太長了略過剩下的）\nimport heapq import random class AntColonyOptimization: def __init__(self, graph, pheromone_initialization, evaporation_rate, alpha, beta, q, number_of_ants): self.graph = graph self.pheromone_initialization = pheromone_initialization self.evaporation_rate = evaporation_rate self.alpha = alpha self.beta = beta ... 在這裡，Bash的重新導向符號都可以搭配ShellGPT使用，例如使用管線輸入輸出文本內容\ncat log.txt | sgpt \u0026#34;Find errors and provide solutions\u0026#34; 輸入單一檔案\nsgpt \u0026#34;Summarize this document\u0026#34; \u0026lt; document.txt 還可以輸出ShellGPT的回應到其他檔案，加上--no-interaction就不會有指令操作提示\nsgpt -c \u0026#34;Implement Ant colony optimization in Python\u0026#34; --no-interaction | main.py 2.2. Chat模式 # 跟網頁版ChatGPT雷同，ShellGPT可以儲存對話工作階段(session)，但是你必須指定--chat引導才可以保存對話，我們上面都沒有加，所以每次跟AI對話都是獨立的，無法連貫。\n用指令sgpt --list-chats列出對話工作階段。預設的快取目錄是在/tmp，重開機後會被系統清除，如果有需要長期保存對話紀錄請編輯~/.config/shell_gpt/.sgptrc變更快取位置。\nsgpt --chat \u0026quot;對話名稱\u0026quot;新增對話工作階段，比如新增conversation1\nsgpt --chat conversation1 \u0026#34;Here is my temporary access code for XXX.com. Please remember it. Code: 123456\u0026#34; 輸出：\nI have noted down the temporary access code you provided, which is 123456 for your account on XXX.com. Please keep in mind that this information should be kept confidential to ensure security. 如此一來，之後只要指定對話紀錄名稱，就可以進入該對話跟AI討論事情，讓它「回想」之前聊天的事情。\nsgpt --chat conversation1 \u0026#34;What is my temporary access code for XXX.com?\u0026#34; 輸出\nI believe the temporary access code you provided earlier was 123456 for your account on XXX.com. Remember, its essential to keep such information confidential for security reasons. 善用對話工作階段，我們就可以斷斷續續的進行多個專案：\ncd ~/Projects sgpt --chat project1 -s \u0026#34;Make a new directroy and intitalize git repository\u0026#34; sgpt --chat project1 -c \u0026#34;Create a simple game with Pygame\u0026#34; --no-interaction | main.py sgpt --chat project1 -c \u0026#34;Provide solutions for adding logic for the detection of keyboard events\u0026#34; sgpt --chat conversation1 \u0026#34;What is my temporary access code for XXX.com?\u0026#34; 2.3. REPL模式 # 這個模式會讓ShellGPT進入互動式的對話狀態。\n跟Chat Mode一樣，REPL也可以建立多個工作階段。不過單純對話太無聊，加入-s或-c引數，直接讓它開始生成程式碼吧。\nsgpt --repl project2 --shell 進入後就可以下指令了，在按Ctrl＋C前對話都不會中止。如果要給出多行提示詞，請用Python註解的樣式\u0026quot;\u0026quot;\u0026quot; \u0026quot;\u0026quot;\u0026quot;框起來。\n互動式的對話也可以用來問程式碼問題：\nsgpt --repl project2 \u0026lt; main.py 2.4. OpenAI的Function Calling # 讓你執行複雜程式碼的功能，讓你可以餵給自己的資料給AI處理。此功能只有ChatGPT才有。\n這部份比較複雜，請參考作者解說。\n3. 建立多重ShellGPT機器人 # AI能夠處理簡單的資料流，所以建立自己的多用途機器人是絕對可行的。\nShellGPT會拒絕回答跟系統管理無關的問題，這跟它提示詞的角色設定有關。這時你可以修改~/.config/shell_gpt/roles的json檔案，修改提示詞部份，變更他的角色(role)。\n{ \u0026#34;name\u0026#34;: \u0026#34;ShellGPT\u0026#34;, \u0026#34;role\u0026#34;: \u0026#34;You are ShellGPT\\nYou are programming and system administration assistant.\\nYou are managing Linux/Ubuntu 22.04.4 LTS operating system with bash shell.\\nP rovide short responses in about 100 words, unless you are specifically asked for more details.\\nIf you need to store any data, assume it will be stored in the conversation.\\nAPPLY MARK DOWN formatting when possible.\u0026#34; } 或者用--create-role參數，在~/.config/shell_gpt/roles建立新角色\nsgpt --create-role image_converter 再用--role切換角色，依照JSON檔案所定義的提示詞內容，回答的指令也會不一樣。比如我這個是轉檔圖片機器人，不用指定程式名稱，它就會吐出Image Magick指令出來\nsgpt --role image_converter -s \u0026#34;batch convert png to avif\u0026#34; ","date":"2024年2月24日","externalUrl":null,"permalink":"/posts/shellgpt-command-line/","section":"Language-Models","summary":"我們知道ChatGPT可以輔助人們寫程式，Github還推出了Copilot整合到VS Cdoe輔助生成程式碼。\n那麼如果想在終端機直接調用ChatGPT輔助寫程式呢？比如，臨時寫個ffmpeg轉檔指令，或者清除檔案的小程式？不想花費腦細胞去google指令解法，那麼我們就可以運用ShellGPT軟體來解決程式相關問題。 ShellGPT作者製作的酷酷宣傳影片\nShellGPT將ChatGPT與電腦終端機直接整合，你可以在命令行與ChatGPT對話，它可以針對你系統的情況回答問題。因為是AI生成的回答，ShellGPT實用性比起機械性應答的The Fuck指令工具要泛用多了。\nShellGPT的設計是跨平台的，不論你是Linux的Bash，macOS Zsh，還是Windows Powershell，都可以安裝ShellGPT！\n這可不只是單純聊天而已喔！搭配Bash shell的各種文字處理功能，能達到更多好玩的操作。\n比如：\n將man指令輸出的內容餵給ChatGPT，總結manpage內容 讀取程式碼檔案，再請ChatGPT解釋每行的邏輯，一行一行對照著修改。 餵給多行文本，讓ChatGPT立即按照程式碼生成一個說明文件。 利用Linux Bash的管道(pipe)，把程式輸出的內容餵給ChatGPT處理。 寫個複雜的Regexp，幫我批次操作檔案 在終端機裡面操作，你就不用離開視窗去看瀏覽器的AI回應了！\n","title":"ShellGPT，Linux命令行整合ChatGPT，讓AI輔助你寫程式","type":"language-model"},{"content":"Kdenlive支援以LADSPA框架載入「Real-time Noise Suppression Plugin」，用於降低影片背景雜訊，讓人聲更清楚。\nReal-time Noise Suppression Plugin的作者為werman，原始碼位於Github\n順帶一提該插件也可以作為PipeWire的插件載入，實現Linux全域降噪，從錄音源頭上解決雜音問題～\n1. 安裝 # 測試系統Ubunut 22.04，Kdenlive版本23.08\nFlatpak版Kdenlive已將此插件打包好，免額外安裝。\n如果使用原生套件就得手動安裝。\n參考Kent West提供的步驟\n下載werman預先編譯的執行檔\nwget https://github.com/werman/noise-suppression-for-voice/releases/download/v1.03/linux-rnnoise.zip 解壓縮，將lib放到正確位置。\nunzip linux-rnnoise.zip mv linux-rnnoise/* /usr/lib/ladspa/ 2. 使用 # 將影片拖到時間軸\n在特效頁面搜尋「Noise suppressor for voice」，拖到音訊素材上即可套用效果。特效數值面板可以微調\n","date":"2024年2月24日","externalUrl":null,"permalink":"/posts/kdenlive-noise-suppression-for-voice/","section":"所有文章","summary":"Kdenlive支援以LADSPA框架載入「Real-time Noise Suppression Plugin」，用於降低影片背景雜訊，讓人聲更清楚。\nReal-time Noise Suppression Plugin的作者為werman，原始碼位於Github\n順帶一提該插件也可以作為PipeWire的插件載入，實現Linux全域降噪，從錄音源頭上解決雜音問題～\n1. 安裝 # 測試系統Ubunut 22.04，Kdenlive版本23.08\nFlatpak版Kdenlive已將此插件打包好，免額外安裝。\n如果使用原生套件就得手動安裝。\n參考Kent West提供的步驟\n下載werman預先編譯的執行檔\nwget https://github.com/werman/noise-suppression-for-voice/releases/download/v1.03/linux-rnnoise.zip 解壓縮，將lib放到正確位置。\nunzip linux-rnnoise.zip mv linux-rnnoise/* /usr/lib/ladspa/ 2. 使用 # 將影片拖到時間軸\n在特效頁面搜尋「Noise suppressor for voice」，拖到音訊素材上即可套用效果。特效數值面板可以微調\n","title":"Kdenlive影片去除背景雜音，LADSPA外掛Real-time Noise Suppression","type":"posts"},{"content":" 1. 如何挑選語言模型 # 大型語言模型格式眾多，Text Generation WebUI的開發者儘量讓程式支援了各種主流模型格式，你想用CPU或GPU跑都行。\nText Generation WebUI支援多種語言模型：LLaMA、LLaMA 2、Pygmalion、GTP4All、Vicuna、Alpaca、WizardLM、Mistral等等，部份支援中文對話。 Text Generation WebUI整合的技術：Transformers、llama.cpp、ExLlama、AutoGPTQ、GPTQ-for-LLaMa、DeepSpeed、RWKV、RoPE Text Generation WebUI支援的模型格式：ONNX、GPTQ、GGUF。GGML已不支援。 不知道要用哪個模型嗎？請參閱開源大型語言模型列表，選取一款模型，並下載GGUF格式的模型。\n我的電腦有16GB RAM、CPU i5-7400、GPU 4GB VRAM，於是我選擇訓練資料7B、llama.cpp格式的模型GGUF。主要用CPU跑，並在必要的時候offload給GPU。\n2. 下載模型並放到Text Generation WebUI的資料夾 # 至HugginFace儲存庫，點Breeze-7B-Base-v0.1-Q8_0.gguf檔案旁邊的下載圖示 將下載的模型和放到Text Generation WebUI程式資料夾下的models 開啟該資料夾的config.yaml，查看你的模型檔名字有沒有寫在裡面，沒有的話請自行新增，例如指定Breeze-7B-Base-v0.1-Q8_0.gguf使用Mistral的範本：\n.*(Breeze-7B-Base-v0.1-Q8_0.gguf): instruction_template: \u0026#39;Mistral\u0026#39; 開啟WebUI，進入Model頁籤，點選左上角下載的模型，按Load後再按Save。 ","date":"2024年2月23日","externalUrl":null,"permalink":"/posts/text-generation-webui-models/","section":"Language-Models","summary":"1. 如何挑選語言模型 # 大型語言模型格式眾多，Text Generation WebUI的開發者儘量讓程式支援了各種主流模型格式，你想用CPU或GPU跑都行。\nText Generation WebUI支援多種語言模型：LLaMA、LLaMA 2、Pygmalion、GTP4All、Vicuna、Alpaca、WizardLM、Mistral等等，部份支援中文對話。 Text Generation WebUI整合的技術：Transformers、llama.cpp、ExLlama、AutoGPTQ、GPTQ-for-LLaMa、DeepSpeed、RWKV、RoPE Text Generation WebUI支援的模型格式：ONNX、GPTQ、GGUF。GGML已不支援。 不知道要用哪個模型嗎？請參閱開源大型語言模型列表，選取一款模型，並下載GGUF格式的模型。\n我的電腦有16GB RAM、CPU i5-7400、GPU 4GB VRAM，於是我選擇訓練資料7B、llama.cpp格式的模型GGUF。主要用CPU跑，並在必要的時候offload給GPU。\n2. 下載模型並放到Text Generation WebUI的資料夾 # 至HugginFace儲存庫，點Breeze-7B-Base-v0.1-Q8_0.gguf檔案旁邊的下載圖示 ","title":"Text Generation WebUI：如何下載大型語言模型(LLM)","type":"language-model"},{"content":"想要去掉歌聲，製作純音樂的卡啦OK伴唱帶？\n想要分離音樂的人聲音軌，方便後續混音？\n那就用開源AI軟體UVR吧！ UVR（Ultimate Vocal Remover GUI）為一款跨平台的AI音訊處理軟體，能夠精準地去除音樂的人聲。或者是去除背景噪音，保留人聲。\n既然本軟體可以分離出音樂的人聲，反過來，當然也可以單獨分離出背景音樂囉，靠UVR製作伴奏是很好的選擇，甚至能夠把和聲保留下來。\nUVR成品範例1：黑豹樂隊 - 靠近我 原始檔\n人聲，竇唯的聲音完整分離了出來\n伴奏\nUVR成品範例2：佐倉綾音 - 華の二水戦 原始檔\n人聲，比較高音的部份被錯認為人聲\n伴奏\n1. 安裝UVR # UVR是基於Takahashi等人的論文《Multi-scale Multi-band DenseNets for Audio Source Separation》所實作的專案。\n處理過程需要用到GPU加速，因此UVR的GPU硬體需求為NVIDIA GTX1060以上顯示卡，VRAM至少6GB。當然你要用CPU算也可以，只不過處理時間就會變成GPU的兩倍以上囉。\nUVR目前版本V5.6，提供Windows和macOS執行檔，請至Github下載。\nLinux系統得從Python原始碼跑。\n以Ubuntu 22.04為例，Nvidia顯示卡用戶請記得安裝CUDA\n從套件管理員安裝ffmpeg和Python3 tkinter\nsudo apt install ffmpeg python3-tk 用Anaconda建立Python 3.10.12環境 conda create -n ultimatevocalremovergui python=3.10.12 conda activate ultimatevocalremovergui 再安裝依賴套件 git clone https://github.com/Anjok07/ultimatevocalremovergui.git cd ultimatevocalremovergui # 防止The \u0026#39;sklearn\u0026#39; PyPI package is deprecated錯誤 export SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=true pip3 install -r requirements.txt # 防止Could not create GL context錯誤 conda install -c conda-forge libstdcxx-ng 啟動UVR python3 UVR.py 2. 關於模型的選擇 # 點選主畫面的扳手圖示，到Downloads頁面下載模型。 建議先試試「VR Architecture」系列的模型\nHP-Vocal-UVR，這個模型可以有效把人聲和音樂分離，強調人聲的使用此模型。\n強調音樂品質的請使用HP-UVR\nKaraoke模型分離的沒那麼乾淨，音樂會殘留一點人聲的\u0026quot;echo\u0026quot;\nDenoise是去除背景噪音的模型。\nMDX-Net是更為複雜的模型\nMeta發表的Demuc系列模型更是可以按照樂器種類分割出鼓、貝斯的音軌。\nUVR尚提供「Ensemble Mode」，合併多種AI模型結果。\n3. UVR的操作方式 # 先來簡單的去人聲。\n如果你要處理的是影片，請先用Handbrake把它轉成純音訊\nSelect Input選取音訊檔案，Select Output選取輸出目錄（如果要批次處理，你可以選取目錄，這樣它就會處理多個檔案） CHOOSE PROCESS MODE選取VR Architecture，下面Model選取要使用的模型，再勾選GPU Processing Window Size為轉換品質，維持預設就好。AGREESTION SETING為消除人聲的強度，如果聲音消除不徹底再調高此數值。\n接著點選Start Processing\n輸出檔案會分成Vocal與Instrumental二個檔案。\n根據知乎網友的分享，將多重AI的處理過程合在一起可以得到更好結果。\n開啟Emsemble Mode，再勾選Vocals/Instrumental 欲抽取最高品質的音樂伴奏：使用「VR 2_HP-UVR + UVR-MDX-Net Main + demucs」四種模型的組合。請在下載對應模型後，點選右邊的模型列表，複選要用的模型，再開始處理檔案。\n參考資料 # where\u0026rsquo;s Linux? #579 - Anjok07 ultimatevocalremovergui What\u0026rsquo;s the best model for extracting instrumental only? #444 - Anjok07 ultimatevocalremovergui 天花板级人声伴奏提取神器Ultimate Vocal Remover GUI v5.4安装使用教程（更新版） 影音處理 地球最強伴奏製造軟體-1 讓你的伴奏還能保留和聲的Ultimate Vocal Remover - 教學區 ","date":"2024年2月23日","externalUrl":null,"permalink":"/posts/ultimate-vocal-remover-gui/","section":"所有文章","summary":"想要去掉歌聲，製作純音樂的卡啦OK伴唱帶？\n想要分離音樂的人聲音軌，方便後續混音？\n那就用開源AI軟體UVR吧！ UVR（Ultimate Vocal Remover GUI）為一款跨平台的AI音訊處理軟體，能夠精準地去除音樂的人聲。或者是去除背景噪音，保留人聲。\n既然本軟體可以分離出音樂的人聲，反過來，當然也可以單獨分離出背景音樂囉，靠UVR製作伴奏是很好的選擇，甚至能夠把和聲保留下來。\nUVR成品範例1：黑豹樂隊 - 靠近我 原始檔\n人聲，竇唯的聲音完整分離了出來\n伴奏\nUVR成品範例2：佐倉綾音 - 華の二水戦 原始檔\n人聲，比較高音的部份被錯認為人聲\n伴奏\n1. 安裝UVR # UVR是基於Takahashi等人的論文《Multi-scale Multi-band DenseNets for Audio Source Separation》所實作的專案。\n處理過程需要用到GPU加速，因此UVR的GPU硬體需求為NVIDIA GTX1060以上顯示卡，VRAM至少6GB。當然你要用CPU算也可以，只不過處理時間就會變成GPU的兩倍以上囉。\nUVR目前版本V5.6，提供Windows和macOS執行檔，請至Github下載。\nLinux系統得從Python原始碼跑。\n以Ubuntu 22.04為例，Nvidia顯示卡用戶請記得安裝CUDA\n","title":"Linux安裝Ultimate Vocal Remover，AI一鍵去人聲、移除音樂伴奏軟體","type":"posts"},{"content":"分享一款跨平台的開源音樂播放器「Strawberry Music Player」草莓播放器。支援Linux / Windows / macOS 現在很多人都聽串流了吧，離線音樂播放器是越來越少人用了呢。比如，Apple Music可以透過Waydroid在Linux跑；Youtube Music亦有Nuclear Player能播放。\n但是我認為，人們還是應該保有自身的數位音樂收藏，那是不被DRM所控制的，真正的資產。此外，在追求音質方面到極致的玩家，離線音樂播放器仍顯得重要。\n過去在Windows系統我習慣用foobar2000聆聽音樂收藏，它也能夠管理音樂收藏。本來在Linux用Wine跑foobar2000，但逐漸bug增多，且我不滿意Wine與Linux主題格格不入的UI，故尋找替代品。開啟要快，操作邏輯最好跟foobar2000一樣以資料夾為主，不要匯入。\nLinux上的音樂播放器嘛\u0026hellip;Rhythmbox和KDE Elisa這類的不合我胃口，DeaDBeeF配置麻煩，Audacious太簡陋。\n在比較過十幾款開源音樂播放器方案後，總算讓我找到了比較滿意的「Strawberry Music Player」，真可稱作foobar2000的替代品了，我就稱它為草莓播放器吧。 1. 草莓播放器特色功能 # 草莓播放器分叉自柑橘播放器 (Clementine Music Player) ，繼承了一部分舊版主題，並改用最新版QT框架撰寫，啟動十分快速。原始碼儲存庫開發十分活躍。\n以資料夾模式瀏覽音樂。 亦支援用MP3檔案的演出者資訊找歌。這個搜尋界面還能列出沒有ID3標籤的檔案。 用專輯封面找歌（Tool → Cover Manager → 右鍵 → Load） 自動抓取專輯封面，顯示線上歌詞或是顯示MP3內嵌歌詞。建議用Musicmatch，音樂MP3標籤齊全的話很容易找到歌詞。另外在檢視歌詞的界面對音樂檔按右鍵，便可將抓到的歌詞嵌入至MP3。（若你要批次編輯MP3標籤的話，Picard更合適） 對歌曲按右鍵，編輯MP3 Tag 隨機播放服務。它能夠紀錄你的音樂播放喜好。 存取線上服務聽電台 內建等化器。不過要調整音效的話我會用EasyEffects，效果更好。 支援串流播放Tidal、Qobuz、Subsonic API音樂。\n能擷取CD、讀取.cue檔、讀取DSD (.dsf檔)、PCM、FLAC。\n可以使用DAC獨占模式，直接透過ALSA輸出無損音訊，防止音樂被系統的PulseAudio或PipeWire重新取樣。\n2. 安裝草莓播放器 # 至官方網站下載安裝檔，例如Ubuntu就下載deb檔。\nLinux也可以使用Flatpak安裝：\nflatpak --user install flathub org.strawberrymusicplayer.strawberry 如果音樂資料夾位於其他硬碟，記得開放硬碟讀取權限\nflatpak override --filesystem=/run/media/user/HDD1/Music 接下來\u0026hellip;音樂播放器應該不用教怎麼用吧！？好啦還是講一下，草莓播放器是以目錄為主的播放器，不用匯入。\n開啟後點選Tools → Settings → Collection，設定音樂資料夾所在位置。\n瀏覽音樂的時候對資料夾右鍵 → Replace Current Playlist，再點選播放該張專輯。\n","date":"2024年2月23日","externalUrl":null,"permalink":"/posts/strawberry-music-player/","section":"所有文章","summary":"分享一款跨平台的開源音樂播放器「Strawberry Music Player」草莓播放器。支援Linux / Windows / macOS 現在很多人都聽串流了吧，離線音樂播放器是越來越少人用了呢。比如，Apple Music可以透過Waydroid在Linux跑；Youtube Music亦有Nuclear Player能播放。\n但是我認為，人們還是應該保有自身的數位音樂收藏，那是不被DRM所控制的，真正的資產。此外，在追求音質方面到極致的玩家，離線音樂播放器仍顯得重要。\n過去在Windows系統我習慣用foobar2000聆聽音樂收藏，它也能夠管理音樂收藏。本來在Linux用Wine跑foobar2000，但逐漸bug增多，且我不滿意Wine與Linux主題格格不入的UI，故尋找替代品。開啟要快，操作邏輯最好跟foobar2000一樣以資料夾為主，不要匯入。\nLinux上的音樂播放器嘛…Rhythmbox和KDE Elisa這類的不合我胃口，DeaDBeeF配置麻煩，Audacious太簡陋。\n在比較過十幾款開源音樂播放器方案後，總算讓我找到了比較滿意的「Strawberry Music Player」，真可稱作foobar2000的替代品了，我就稱它為草莓播放器吧。 ","title":"Strawberry Music Player ～ 多功能Linux音樂播放器推薦","type":"posts"},{"content":"","date":"2024年2月23日","externalUrl":null,"permalink":"/series/stable-diffusion-webui%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8A/","section":"Series","summary":"","title":"Stable Diffusion WebUI使用手冊","type":"series"},{"content":"LoRA (Low-rank adaptation)是用來微調大型模型的技術，其生成的模型訓練時間短，檔案更小。\nDreamBooth內含LoRA，可作為SD WebUI的擴充功能安裝。\n本機訓練還可以用LoRA_Easy_Training_Scripts，支援Linux和Windows系統。\n有用Google Colab的採用Linaqruf/kohya-trainer會比較好上手。Reddit有一圖流教學。\n1. 安裝環境 # \u0026ldquo;LoRA Easy Training Scripts\u0026quot;這個Python程式Linux和Windows都可以用，下面以Ubuntu為例。\n安裝Anaconda，建立虛擬環境 conda create --name loratraining python=3.10.6 conda activate loratraining 複製儲存庫 git clone https://github.com/derrian-distro/LoRA_Easy_Training_Scripts.git cd LoRA_Easy_Training_Scripts git submodule init git submodule update cd sd_scripts pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cu116 pip install --upgrade -r requirements.txt pip install -U xformers 設定加速選項 accelerate config #依序回答： #- This machine #- No distributed training #- NO #- NO #- NO #- all #- fp16 LoRA的訓練資料目錄結構不太一樣，需建立目錄結構如下。已經上好提示詞的訓練資料要放在img_dir下面，將目錄名稱取名為數字_概念，目錄名稱前面加上數字代表要重複的步數。 新增訓練設定檔trainingconfig.json\nvim trainingconfig.json 填入以下內容(雙斜線的註解記得刪除) LoRA的總訓練步數計算公式為： 訓練圖片數量 × 重複次數 ÷ train_batch_size × epoch { //基於何種模型訓練 \u0026#34;pretrained_model_name_or_path\u0026#34;: \u0026#34;/home/user/桌面/heralora/anything-v4.5-pruned.ckpt\u0026#34;, \u0026#34;v2\u0026#34;: false, \u0026#34;v_parameterization\u0026#34;: false, //紀錄檔輸出目錄 \u0026#34;logging_dir\u0026#34;: \u0026#34;/home/user/桌面/heralora/log_dir/\u0026#34;, //訓練資料目錄 \u0026#34;train_data_dir\u0026#34;: \u0026#34;/home/user/桌面/heralora/image_dir/\u0026#34;, //註冊目錄 \u0026#34;reg_data_dir\u0026#34;: \u0026#34;/home/user/桌面/heralora/reg_dir/\u0026#34;, //輸出目錄 \u0026#34;output_dir\u0026#34;: \u0026#34;/home/user/桌面/heralora/output_dir\u0026#34;, //訓練的圖片最大長寬 \u0026#34;max_resolution\u0026#34;: \u0026#34;512,512\u0026#34;, //學習率 \u0026#34;learning_rate\u0026#34;: \u0026#34;1e-5\u0026#34;, \u0026#34;lr_scheduler\u0026#34;: \u0026#34;constant_with_warmup\u0026#34;, \u0026#34;lr_warmup\u0026#34;: \u0026#34;5\u0026#34;, \u0026#34;train_batch_size\u0026#34;: 3, //訓練時期 \u0026#34;epoch\u0026#34;: \u0026#34;4\u0026#34;, \u0026#34;save_every_n_epochs\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;mixed_precision\u0026#34;: \u0026#34;fp16\u0026#34;, \u0026#34;save_precision\u0026#34;: \u0026#34;fp16\u0026#34;, \u0026#34;seed\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;num_cpu_threads_per_process\u0026#34;: 32, \u0026#34;cache_latents\u0026#34;: true, \u0026#34;caption_extension\u0026#34;: \u0026#34;.txt\u0026#34;, \u0026#34;enable_bucket\u0026#34;: true, \u0026#34;gradient_checkpointing\u0026#34;: false, \u0026#34;full_fp16\u0026#34;: false, \u0026#34;no_token_padding\u0026#34;: false, \u0026#34;stop_text_encoder_training\u0026#34;: 0, \u0026#34;use_8bit_adam\u0026#34;: true, \u0026#34;xformers\u0026#34;: true, \u0026#34;save_model_as\u0026#34;: \u0026#34;safetensors\u0026#34;, \u0026#34;shuffle_caption\u0026#34;: true, \u0026#34;save_state\u0026#34;: false, \u0026#34;resume\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;prior_loss_weight\u0026#34;: 1.0, \u0026#34;text_encoder_lr\u0026#34;: \u0026#34;1.5e-5\u0026#34;, \u0026#34;unet_lr\u0026#34;: \u0026#34;1.5e-4\u0026#34;, \u0026#34;network_dim\u0026#34;: 128, \u0026#34;lora_network_weights\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;color_aug\u0026#34;: false, \u0026#34;flip_aug\u0026#34;: false, \u0026#34;clip_skip\u0026#34;: 2, \u0026#34;mem_eff_attn\u0026#34;: false, \u0026#34;output_name\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;model_list\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;max_token_length\u0026#34;: \u0026#34;150\u0026#34;, \u0026#34;max_train_epochs\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;max_data_loader_n_workers\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;network_alpha\u0026#34;: 128, \u0026#34;training_comment\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;keep_tokens\u0026#34;: 2, \u0026#34;lr_scheduler_num_cycles\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;lr_scheduler_power\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;persistent_data_loader_workers\u0026#34;: true, \u0026#34;bucket_no_upscale\u0026#34;: true, \u0026#34;random_crop\u0026#34;: false, \u0026#34;caption_dropout_every_n_epochs\u0026#34;: 0.0, \u0026#34;caption_dropout_rate\u0026#34;: 0 } 2. 開始訓練 # 有些系統需要指定CUDA安裝路徑 export PATH=/usr/local/cuda/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 輸入以下指令，載入json設定檔。libnvinfer.so.7: cannot open shared object file的警告可以暫時忽略。 accelerate launch main.py --load_json_path \u0026#34;/home/user/trainingconfig.json\u0026#34; 之後會自動開始訓練。訓練好的模型位於訓練設定檔所寫的output_dir目錄。將.safetensors檔移動至SD WebUI根目錄下的/models/Lora。 3. LoRA模型使用方式 # 點選SD WebUI右上角，Show extra networks 點選要使用的LoRA，將其加入至提示詞欄位 再加上訓練時使用的提示詞，即可生成使用LoRA風格的人物。 ","date":"2024年2月23日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-prepare-training-lora/","section":"Ai-Arts","summary":"LoRA (Low-rank adaptation)是用來微調大型模型的技術，其生成的模型訓練時間短，檔案更小。\nDreamBooth內含LoRA，可作為SD WebUI的擴充功能安裝。\n本機訓練還可以用LoRA_Easy_Training_Scripts，支援Linux和Windows系統。\n有用Google Colab的採用Linaqruf/kohya-trainer會比較好上手。Reddit有一圖流教學。\n1. 安裝環境 # “LoRA Easy Training Scripts\"這個Python程式Linux和Windows都可以用，下面以Ubuntu為例。\n安裝Anaconda，建立虛擬環境 conda create --name loratraining python=3.10.6 conda activate loratraining 複製儲存庫 git clone https://github.com/derrian-distro/LoRA_Easy_Training_Scripts.git cd LoRA_Easy_Training_Scripts git submodule init git submodule update cd sd_scripts pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cu116 pip install --upgrade -r requirements.txt pip install -U xformers 設定加速選項 accelerate config #依序回答： #- This machine #- No distributed training #- NO #- NO #- NO #- all #- fp16 LoRA的訓練資料目錄結構不太一樣，需建立目錄結構如下。已經上好提示詞的訓練資料要放在img_dir下面，將目錄名稱取名為數字_概念，目錄名稱前面加上數字代表要重複的步數。 新增訓練設定檔trainingconfig.json\nvim trainingconfig.json 填入以下內容(雙斜線的註解記得刪除) LoRA的總訓練步數計算公式為： 訓練圖片數量 × 重複次數 ÷ train_batch_size × epoch { //基於何種模型訓練 \"pretrained_model_name_or_path\": \"/home/user/桌面/heralora/anything-v4.5-pruned.ckpt\", \"v2\": false, \"v_parameterization\": false, //紀錄檔輸出目錄 \"logging_dir\": \"/home/user/桌面/heralora/log_dir/\", //訓練資料目錄 \"train_data_dir\": \"/home/user/桌面/heralora/image_dir/\", //註冊目錄 \"reg_data_dir\": \"/home/user/桌面/heralora/reg_dir/\", //輸出目錄 \"output_dir\": \"/home/user/桌面/heralora/output_dir\", //訓練的圖片最大長寬 \"max_resolution\": \"512,512\", //學習率 \"learning_rate\": \"1e-5\", \"lr_scheduler\": \"constant_with_warmup\", \"lr_warmup\": \"5\", \"train_batch_size\": 3, //訓練時期 \"epoch\": \"4\", \"save_every_n_epochs\": \"\", \"mixed_precision\": \"fp16\", \"save_precision\": \"fp16\", \"seed\": \"\", \"num_cpu_threads_per_process\": 32, \"cache_latents\": true, \"caption_extension\": \".txt\", \"enable_bucket\": true, \"gradient_checkpointing\": false, \"full_fp16\": false, \"no_token_padding\": false, \"stop_text_encoder_training\": 0, \"use_8bit_adam\": true, \"xformers\": true, \"save_model_as\": \"safetensors\", \"shuffle_caption\": true, \"save_state\": false, \"resume\": \"\", \"prior_loss_weight\": 1.0, \"text_encoder_lr\": \"1.5e-5\", \"unet_lr\": \"1.5e-4\", \"network_dim\": 128, \"lora_network_weights\": \"\", \"color_aug\": false, \"flip_aug\": false, \"clip_skip\": 2, \"mem_eff_attn\": false, \"output_name\": \"\", \"model_list\": \"\", \"max_token_length\": \"150\", \"max_train_epochs\": \"\", \"max_data_loader_n_workers\": \"\", \"network_alpha\": 128, \"training_comment\": \"\", \"keep_tokens\": 2, \"lr_scheduler_num_cycles\": \"\", \"lr_scheduler_power\": \"\", \"persistent_data_loader_workers\": true, \"bucket_no_upscale\": true, \"random_crop\": false, \"caption_dropout_every_n_epochs\": 0.0, \"caption_dropout_rate\": 0 } 2. 開始訓練 # 有些系統需要指定CUDA安裝路徑 export PATH=/usr/local/cuda/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 輸入以下指令，載入json設定檔。libnvinfer.so.7: cannot open shared object file的警告可以暫時忽略。 accelerate launch main.py --load_json_path \"/home/user/trainingconfig.json\" 之後會自動開始訓練。訓練好的模型位於訓練設定檔所寫的output_dir目錄。將.safetensors檔移動至SD WebUI根目錄下的/models/Lora。 3. LoRA模型使用方式 # 點選SD WebUI右上角，Show extra networks ","title":"訓練LoRA｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"比起學習概念的embedding，HyperNetwork(超網路)更適合讓AI學習圖片整體畫風。\nHyperNetwork我是使用Anything當基礎模型來訓練。\n1. 操作過程 # 啟動SD WebUI\n切換至Train頁面，在Create hypernetwork輸入名字。Number of vectors per token設定7以上。點選Create hypernetwork。 切換至Train頁面，選擇剛剛建立的hypernetwork，於Dataset directory輸入訓練資料的路徑。Prompt template file選hypernetwork.txt。 Max Step設定訓練至10000步停止。 最後點選Train HyperNetwork，開始訓練。SD WebUI會顯示剩餘時間，HyperNetwork會比Embedding長一些。\n同樣可以到SD WebUI根目錄下的texual_inversions/hypernetwork查看訓練結果。裡面會有images目錄存放第幾步所訓練的成果。 待訓練完成後，至SD WeBUI根目錄下的texual_Inversions/hypernetworks，對照images目錄下的圖片挑選合適的成品。 例如覺得9500步的不錯，就將pt檔放到SD WebUI根目錄下的models/hypernetwork。 2. HyperNetwork模型使用方式 # 於SD WebUI的生圖界面，點選右上角Show Extra Networks 接著選取要使用的Hypernetwork，點選將其加入提示詞欄位 接著再使用訓練時候使用的提示詞，這樣算出來的圖便會有該HyperNetwork的人物了，並且畫風還原很佳。 ","date":"2024年2月23日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-prepare-training-hypernetwork/","section":"Ai-Arts","summary":"比起學習概念的embedding，HyperNetwork(超網路)更適合讓AI學習圖片整體畫風。\nHyperNetwork我是使用Anything當基礎模型來訓練。\n1. 操作過程 # 啟動SD WebUI\n切換至Train頁面，在Create hypernetwork輸入名字。Number of vectors per token設定7以上。點選Create hypernetwork。 切換至Train頁面，選擇剛剛建立的hypernetwork，於Dataset directory輸入訓練資料的路徑。Prompt template file選hypernetwork.txt。 Max Step設定訓練至10000步停止。 最後點選Train HyperNetwork，開始訓練。SD WebUI會顯示剩餘時間，HyperNetwork會比Embedding長一些。\n同樣可以到SD WebUI根目錄下的texual_inversions/hypernetwork查看訓練結果。裡面會有images目錄存放第幾步所訓練的成果。 待訓練完成後，至SD WeBUI根目錄下的texual_Inversions/hypernetworks，對照images目錄下的圖片挑選合適的成品。 ","title":"訓練HyperNetwork｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"本章所討論的訓練模型僅為自用用途，若要分享訓練的模型也應遵照開源的原則分享。\n為什麼要訓練自己的模型？訓練自己的模型可以在現有模型的基礎上，讓AI懂得如何更精確生成/生成特定的風格、概念、角色、姿勢、物件。\n舉例來說，如果餵給AI十幾張我精挑細選的「Hara老師繪製的、不同角度、FGO的斯卡薩哈」做訓練，那麼就能讓AI更懂得如何生成斯卡薩哈的臉部，風格也會比較固定。\n以下是一個具體例子，透過使用自行訓練的HyperNetwork，便改善單靠Anything模型無法生成出Hara老師畫風的缺點。在不使用HyperNetwork的情況下，風格永遠是左邊那樣；一使用HyperNetwork，右邊的風格就能輕鬆生成出來了。 訓練模型是複雜的議題，基於哪個現有模型，以及餵給AI學習的圖片品質，還有訓練時的參數，都會影響模型訓練結果。\n本文提及的Embedding、HyperNetwork、LoRA都是「小模型」，這是相對於網路動輒好幾GB的checkpoint「大模型」而言。這些小模型訓練時間短，檔案約幾MB而已，訓練成本不高。主要是用於生成特定人物/物件/畫風，並且訓練的模型可以多個混用。\n如果硬體條件許可的話，蒐集大量圖片訓練特定領域的checkpoint大模型，再上傳到HuggingFace造福他人也是不錯的選項，只不過此任務過於龐大。要知道Stable Diffusion 1.5版的模型可是輸入了23億張圖片訓練出來的！網路上其他人訓練的模型至少也準備了幾萬張圖片。因此要生成特定的人物/物件/畫風，訓練小模型對一般人來說比較划算。\n各個模型的原理差異請參考下圖。技術原理以及訓練參數設定請參閱「參考資料」一章，礙於篇幅無法一一細講，本章以操作過程為主。 就訓練時間與實用度而言，目前應是 LoRA \u0026gt; HyperNetwork \u0026gt; Embedding\n本章節以AUTOMATIC1111開發的Stable Diffusion WebUI為中心撰寫，因其圖形化且好操作。後面簡稱SD WebUI。\n接著選擇部署在本機或是雲端？\n訓練模型至少需要10GB的VRAM，也就是RTX3060等級以上的GPU。\n如果你有Nvidia RTX3060以上等級的GPU，那就參考本系列安裝教學將Stable Diffusion WebUI部署在本機，想訓練多久就訓練多久。訓練資料不到50張圖片的小模型訓練時間約只要1~3個小時。\n如果沒有強力的GPU，那就用雲端訓練，例如Google Colab。\n","date":"2024年2月23日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-training/","section":"Ai-Arts","summary":"本章所討論的訓練模型僅為自用用途，若要分享訓練的模型也應遵照開源的原則分享。\n為什麼要訓練自己的模型？訓練自己的模型可以在現有模型的基礎上，讓AI懂得如何更精確生成/生成特定的風格、概念、角色、姿勢、物件。\n舉例來說，如果餵給AI十幾張我精挑細選的「Hara老師繪製的、不同角度、FGO的斯卡薩哈」做訓練，那麼就能讓AI更懂得如何生成斯卡薩哈的臉部，風格也會比較固定。\n以下是一個具體例子，透過使用自行訓練的HyperNetwork，便改善單靠Anything模型無法生成出Hara老師畫風的缺點。在不使用HyperNetwork的情況下，風格永遠是左邊那樣；一使用HyperNetwork，右邊的風格就能輕鬆生成出來了。 訓練模型是複雜的議題，基於哪個現有模型，以及餵給AI學習的圖片品質，還有訓練時的參數，都會影響模型訓練結果。\n本文提及的Embedding、HyperNetwork、LoRA都是「小模型」，這是相對於網路動輒好幾GB的checkpoint「大模型」而言。這些小模型訓練時間短，檔案約幾MB而已，訓練成本不高。主要是用於生成特定人物/物件/畫風，並且訓練的模型可以多個混用。\n如果硬體條件許可的話，蒐集大量圖片訓練特定領域的checkpoint大模型，再上傳到HuggingFace造福他人也是不錯的選項，只不過此任務過於龐大。要知道Stable Diffusion 1.5版的模型可是輸入了23億張圖片訓練出來的！網路上其他人訓練的模型至少也準備了幾萬張圖片。因此要生成特定的人物/物件/畫風，訓練小模型對一般人來說比較划算。\n","title":"為何要訓練自訂模型？｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"Textual Inversion(文本倒置)，又稱Embedding(嵌入)，適合讓AI學習一個新的概念/物體。畫風相較於HyperNetwork學習能力較差。\nAnything這類基於NovelAI製作的模型不適合拿來練Embedding，成品會很詭異。從頭開始訓練的Waifu Diffusion或Stable Diffusion比較適合訓練Embedding，因此這裡使用的基礎模型為Waifu Diffusion 1.4。\n1. 操作過程 # 啟動SD WebUI\n切換至Train頁面，在Create embedding輸入名字。Number of vectors per token設定7以上。點選Create embedding。 切換至Train頁面，選擇剛剛建立的embedding，於Dataset directory輸入訓練資料的路徑 Prompt template file選style_filewords.txt。Mx Step設定訓練至10000步停止。當然你也可以調高一點，並看預覽圖決定品質差不多之後才按Interrupt中止訓練，究竟要多少步數不得而知。 點選Train Embedding，開始訓練。\nSD WebUI應會顯示剩餘時間，通常是一小時起跳，每500步會在右邊顯示訓練該步數的成果。\n你也可以到SD WenUI根目錄下的texual_inversions查看訓練成果。裡面image_embeddings目錄會存放第幾步所訓練的成果。 待訓練完成後，至SD WenUI根目錄下的texual_inversions/embeddings，對照image_embeddings目錄的圖片挑選合適的成品。 例如覺得9500步的不錯，那就將該pt檔從裡面挑出，將其放到SD WebUI程式目錄下的embeddings。 2. Embedding模型使用方式 # 於SD WebUI的生圖界面，點選右上角Show Extra Networks 接著選取要使用的embedding，點選將其加入提示詞欄位。Embedding只能配合訓練時使用的模型來算圖。 然後按照Embedding訓練時使用的提示詞下提示詞，這樣算出來的圖便會有該Embedding的人物了。 ","date":"2024年2月22日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-prepare-training-embedding/","section":"Ai-Arts","summary":"Textual Inversion(文本倒置)，又稱Embedding(嵌入)，適合讓AI學習一個新的概念/物體。畫風相較於HyperNetwork學習能力較差。\nAnything這類基於NovelAI製作的模型不適合拿來練Embedding，成品會很詭異。從頭開始訓練的Waifu Diffusion或Stable Diffusion比較適合訓練Embedding，因此這裡使用的基礎模型為Waifu Diffusion 1.4。\n1. 操作過程 # 啟動SD WebUI\n切換至Train頁面，在Create embedding輸入名字。Number of vectors per token設定7以上。點選Create embedding。 切換至Train頁面，選擇剛剛建立的embedding，於Dataset directory輸入訓練資料的路徑 Prompt template file選style_filewords.txt。Mx Step設定訓練至10000步停止。當然你也可以調高一點，並看預覽圖決定品質差不多之後才按Interrupt中止訓練，究竟要多少步數不得而知。 點選Train Embedding，開始訓練。\nSD WebUI應會顯示剩餘時間，通常是一小時起跳，每500步會在右邊顯示訓練該步數的成果。\n","title":"訓練Embedding｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":" 1. 取得高品質圖片 # 訓練用的圖片最少最少要準備10張。重質不重量。因為我要訓練的是單一人物且風格固定，圖片不宜有複雜背景以及其他無關人物。\n網路圖片一張一張右鍵下載當然可以，不過要大量下載圖片的話我會使用Imgrd Grabber或Hydrus Network。\n這裡我準備了33張Hara繪製的斯卡薩哈 2. 裁切圖片 # 下載圖片後，要將訓練圖片裁切成512x512像素。你可以選擇用SD WebUI自動裁切，或是手動裁切。\n2.1. 自動裁切 # 裁切圖片不會用到顯示卡計算。\n將要裁切的圖片放到同一個目錄下，例如/home/user/桌面/input。\n開啟SD WebUI，進到Train → Preprocess images頁面 第一個欄位Source directory填寫原始圖片的路徑\n第二個欄位Destination directory填寫輸出路徑，例如/home/user/桌面/cropped\nWidth和Height設定為512x512\n點選Preprocess ，圖片即會自動裁切。在那之後原始圖片就可以刪除，只留下裁切後的圖片。\n2.2. 手動裁切 # 手動把圖片轉成512x512理由是避免重要的部分被裁掉。\n安裝修圖軟體GIMP，點選檔案→新增512x512像素的專案 點油漆桶將其漆成白色 將圖片拖曳進畫面，成為新的圖層 點選工具→變形工具→縮放，縮放圖片使其符合目前畫布大小，再按Enter。 點選檔案→Export，匯出成png。 為加快後面圖片的處理速度，按右下角刪除目前圖層，再拖新的圖片進來，重複操作。 將33張Hara繪製的斯卡薩哈裁切後，統一放到名為raw的目錄。 3. 預先給圖片上提示詞 # 接著要給圖片預先上提示詞，這樣AI才知道要學習哪些提示詞。\n啟動SD WebUI，進入Train頁面。\n進入Preprocess頁面，Source輸入裁切圖片的路徑，Destination填處理後圖片輸出的路徑。 接著勾選Create Flipped Copies，建立翻轉圖片提升訓練數量。\n然後用Stable Diffusion訓練真實圖片的勾選Use BLIP for caption；訓練動漫人物改勾選Use DeepBooru for caption。\n點選Preprocess，約幾分鐘後便會處理完成。輸出的目錄裡面會含有每張圖片對應的提示詞txt檔。 點選開啟txt檔，將你覺得無關的特徵都刪除，例如2girls這類太籠統的提示詞。\n至此訓練資料準備完成。\n","date":"2024年2月22日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-prepare-training-dataset/","section":"Ai-Arts","summary":"1. 取得高品質圖片 # 訓練用的圖片最少最少要準備10張。重質不重量。因為我要訓練的是單一人物且風格固定，圖片不宜有複雜背景以及其他無關人物。\n網路圖片一張一張右鍵下載當然可以，不過要大量下載圖片的話我會使用Imgrd Grabber或Hydrus Network。\n這裡我準備了33張Hara繪製的斯卡薩哈 2. 裁切圖片 # 下載圖片後，要將訓練圖片裁切成512x512像素。你可以選擇用SD WebUI自動裁切，或是手動裁切。\n2.1. 自動裁切 # 裁切圖片不會用到顯示卡計算。\n將要裁切的圖片放到同一個目錄下，例如/home/user/桌面/input。\n開啟SD WebUI，進到Train → Preprocess images頁面 第一個欄位Source directory填寫原始圖片的路徑\n第二個欄位Destination directory填寫輸出路徑，例如/home/user/桌面/cropped\nWidth和Height設定為512x512\n點選Preprocess ，圖片即會自動裁切。在那之後原始圖片就可以刪除，只留下裁切後的圖片。\n","title":"準備訓練資料｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":" DeepMosaics是一款HypoX64開發的去碼軟體，利用深度學習技術，移除圖片和影片中的馬賽克。 實測效果如下，還行，把馬賽克變成模糊的，不那麼礙眼了。AI消除馬賽克對AV和裏番都有效。 えろげー！Hもゲームも開発三昧 1. DeepMosaics簡介 # DeepMosaics為開源軟體，程式碼位於Github。\n搞笑的是Github上有一個同名軟體也叫DeepMosaic，同樣是學術研究wwww但是本軟體跟生物科技一點關係都沒有喔wwww\n開發者宣稱他們的效果比DeepCramPy好。\n個人感覺去碼效果跟JavPlayer相近，不過DeepMosaics必須轉檔完才能播放，JavPlayer則是有即時解碼。\n開發者針對「臉部」和「你知道的部位」做了特別訓練，能夠有效的找到影片馬賽克並將之移除。有趣的是，DeepMosaiscs尚有「加上馬賽克」的功能。\n不過，這個程式只能移除馬賽克，對現今漫畫較為常見、一條一條的「黑海苔」是無效滴。\n2. Windows版用法 # 硬體需求：NVIDIA GTX1050以上顯示卡\n移除影片馬賽克的時候建議用GPU計算，不要用CPU。實測GTX1050Ti顯示卡，圖片幾秒就處理好了；5分鐘的720p影片則至少要等10分鐘。\n安裝Nvidia驅動，並安裝CUDA\n至Github下載二進位檔，選取DeepMosaics_0.5.1_gpu_windows_amd64.7z版本，解壓縮\n再到作者的Google雲端下載預先訓練的模型資料夾，解壓縮，將pretrained_models放到DeepMosaics主程式資料夾下 點二下deepmosaics.exe開啟程式，第一個欄位選取影片路徑 第二個再選取模型。選取影片去碼模型clean_youknow_video.pth\n處理的時候會跳出一些視窗，慢慢等它完成，成品位於results資料夾。\n3. Linux版用法 # 以Ubuntu 22.04為例\nNvidia顯示卡需安裝CUDA\n安裝Anaconda，建立Python 3.6虛擬環境\nconda create -n DeepMosaics python=3.6 conda activate DeepMosaics 複製專案，安裝依賴套件 sudo apt install ffmpeg git clone https://github.com/HypoX64/DeepMosaics.git cd DeepMosaics export CFLAGS=\u0026#39;-Wno-implicit-function-declaration\u0026#39; pip install -r requirements.txt 到開發者的Google雲端下載pretrained_model，放到pretrained_models目錄\n去碼指令，使用clean_youknow_video.pth模型\npython deepmosaic.py --media_path \u0026#34;影片路徑\u0026#34; --model_path ./pretrained_models/mosaic/clean_youknow_video.pth --gpu_id 0 ","date":"2024年2月21日","externalUrl":null,"permalink":"/posts/deepmosaics-mosaic-removal/","section":"Nsfws","summary":" DeepMosaics是一款HypoX64開發的去碼軟體，利用深度學習技術，移除圖片和影片中的馬賽克。 實測效果如下，還行，把馬賽克變成模糊的，不那麼礙眼了。AI消除馬賽克對AV和裏番都有效。 えろげー！Hもゲームも開発三昧 1. DeepMosaics簡介 # DeepMosaics為開源軟體，程式碼位於Github。\n搞笑的是Github上有一個同名軟體也叫DeepMosaic，同樣是學術研究wwww但是本軟體跟生物科技一點關係都沒有喔wwww\n開發者宣稱他們的效果比DeepCramPy好。\n個人感覺去碼效果跟JavPlayer相近，不過DeepMosaics必須轉檔完才能播放，JavPlayer則是有即時解碼。\n開發者針對「臉部」和「你知道的部位」做了特別訓練，能夠有效的找到影片馬賽克並將之移除。有趣的是，DeepMosaiscs尚有「加上馬賽克」的功能。\n","title":"DeepMosaics，用AI一鍵移除圖片和影片馬賽克！","type":"nsfw"},{"content":" 正體中文擴充功能來源：benlisquare/stable-diffusion-webui-localization-zh_TW 簡體中文擴充功能來源：dtlnor/stable-diffusion-webui-localization-zh_CN Stable Diffusion WebUI可以透過擴充功能將界面變成中文。如果您想協助翻譯，請點選以上的Github儲存庫連結，幫幫他們。\n1. 中文界面 # 進入Extensions頁面，取消勾選localization，再點選Load from:，找到zh_TW Localization或zh_CN Localization，點選Install。 到Settings頁面，找到左邊的Localization，點選zh-tw或zh-cn，再點選Apply Settings。 之後重啟WebUI，界面就會變成中文了。\n2. 雙語對照界面 # 由於SD WebUI的擴充功能發展太快，翻譯可能跟不上，建議另外安裝雙語對照sd-webui-bilingual-localization，同時顯示中文和英文的文字，這樣看教學時就不會找無按鈕了。\n雙語擴充功能安裝方法：在Extensions頁面按Install from URL，填入https://github.com/journey-ad/sd-webui-bilingual-localization，再按Install。\n在啟用雙語擴充功能前，要到Settings → User interface → Localization設為None再重啟WebUI才會生效。 ","date":"2024年2月21日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-extensions-localizations/","section":"Ai-Arts","summary":" 正體中文擴充功能來源：benlisquare/stable-diffusion-webui-localization-zh_TW 簡體中文擴充功能來源：dtlnor/stable-diffusion-webui-localization-zh_CN Stable Diffusion WebUI可以透過擴充功能將界面變成中文。如果您想協助翻譯，請點選以上的Github儲存庫連結，幫幫他們。\n1. 中文界面 # 進入Extensions頁面，取消勾選localization，再點選Load from:，找到zh_TW Localization或zh_CN Localization，點選Install。 到Settings頁面，找到左邊的Localization，點選zh-tw或zh-cn，再點選Apply Settings。 之後重啟WebUI，界面就會變成中文了。\n2. 雙語對照界面 # 由於SD WebUI的擴充功能發展太快，翻譯可能跟不上，建議另外安裝雙語對照sd-webui-bilingual-localization，同時顯示中文和英文的文字，這樣看教學時就不會找無按鈕了。\n雙語擴充功能安裝方法：在Extensions頁面按Install from URL，填入https://github.com/journey-ad/sd-webui-bilingual-localization，再按Install。\n在啟用雙語擴充功能前，要到Settings → User interface → Localization設為None再重啟WebUI才會生效。 ","title":"安裝中文和雙語界面｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"注意：安裝擴充功能可能會導致Stable Diffusion WebUI無法啟動，或是啟動變慢。\n如果遇到bug，您應當優先到擴充功能開發者的Github儲存庫回報，而非直接到AUTOMATIC1111的儲存庫詢問。\n1. 用圖形界面安裝 # 您必須在命令列引數加入--enable-insecure-extension-access才能從圖形界面裝擴充功能。\n最簡單的方法就是點選Extensions → Available的Load from:，就會列出可下載安裝的擴充功能，點選安裝。 有些比較新的擴充功能則是要您複製Github儲存庫網址，並點選Extensions → Install from URL，貼上網址再按Install，它會自動完成git clone的操作。 在安裝擴充功能後，都要點選Installed → Apply and restart WebU，重新載入網頁界面。有些則是得關掉終端機，重新啟動WebUI。 如果未來要更新擴充功能，點選Installed → Check for updates，等待下載完成，然後重啟WebUI。您可以在這個界面按取消打勾來停用特定的擴充功能。 2. 用指令安裝 # Stable Diffusion WebUI的擴充功能目錄一律放在extensions資料夾。\n用指令安裝擴充功能前先關閉主程式。\n接著在stable-diffusion-webui/extensions資料夾開啟終端機，執行git clone指令，安裝擴充功能。例如要安裝正體中文翻譯的話就是把該儲存庫複製下來：\ngit clone https://github.com/benlisquare/stable-diffusion-webui-localization-zh_TW.git 重新啟動SD WebUI，即會看到新安裝的擴充功能。\n未來要一次更新全部擴充功能的話，在命令列引數加入以下選項，讓Stable Diffusion WebUI啟動後自動更新所有擴充功能：\n--update-all-extensions 3. 如何移除擴充功能 # 關閉Stable Diffusion WebUI的終端機。\n到stable-diffusion-webui下的extension資料夾，將要移除的擴充功能資料夾刪除。\n如果要完全移除擴充功能，將stable-diffusion-webui下的venv資料夾也刪除，迫使主程式下次啟動重新安裝pip依賴套件。\n","date":"2024年2月21日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-how-to-install-extensions/","section":"Ai-Arts","summary":"注意：安裝擴充功能可能會導致Stable Diffusion WebUI無法啟動，或是啟動變慢。\n如果遇到bug，您應當優先到擴充功能開發者的Github儲存庫回報，而非直接到AUTOMATIC1111的儲存庫詢問。\n1. 用圖形界面安裝 # 您必須在命令列引數加入--enable-insecure-extension-access才能從圖形界面裝擴充功能。\n最簡單的方法就是點選Extensions → Available的Load from:，就會列出可下載安裝的擴充功能，點選安裝。 有些比較新的擴充功能則是要您複製Github儲存庫網址，並點選Extensions → Install from URL，貼上網址再按Install，它會自動完成git clone的操作。 在安裝擴充功能後，都要點選Installed → Apply and restart WebU，重新載入網頁界面。有些則是得關掉終端機，重新啟動WebUI。 如果未來要更新擴充功能，點選Installed → Check for updates，等待下載完成，然後重啟WebUI。您可以在這個界面按取消打勾來停用特定的擴充功能。 2. 用指令安裝 # Stable Diffusion WebUI的擴充功能目錄一律放在extensions資料夾。\n","title":"❓ 如何安裝擴充功能｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":" 論給漫畫去馬賽克/海苔條，我們有DeepCreamPy ＋ Hent-AI的軟體可以達成目的。\n但是，原本手動放圖片的操作太繁瑣了，Gitlab開發者UBC Seagull便寫了「DoujinCI」，利用Gitlab CI/CD Pipeline整合全部步驟，達成自動化下載圖片 ＋ 圖片去碼管線的操作。 沒錯\u0026hellip;網路圖片託管商多半有提供管線(pipeline)，能夠在傳遞圖片的時候壓縮成avif減少容量，但是還缺了一個去碼的功能對吧！\nDoujinCI名字跟同人誌(doujinshi)雙關。\n瞇著眼睛看，黑白漫畫去碼效果還不賴。 ろ～たり～Engine HIGHSCHOOL OF THE DATE\n彩色漫畫去碼也行喔 320BPM GIRLS und CHINPOR\n你可以在Gitlab用自己的帳號fork他的專案，建立你自己的CI/CD Pipeline。\n不過DoujinCI要本機跑也是可以的，本文示範在Linux系統完全離線跑DoujinCI的方法，文末附上指令稿。\n1. 準備圖片 # DoujinCI僅支援Nhentai和Imgur相簿的網址。作者尚沒有實現離線處理邏輯，一定得下載後處理，後面我會提供離線處理的解法。\nnhentai.net只要取得畫廊網址的數字就行。 Imgur相簿不建議，自從2023年他們更新服務條款後，網站AI會自動砍掉R18圖片。\n如果你要自己準備圖片，那就把漫畫壓縮檔解壓縮，一個目錄裡面只留圖片。不一定要整本漫畫，單張圖檔也行。\n2. 安裝DoujinCI # 安裝Anaconda\nDoujinCI預設使用CPU算，CPU需支援AVX256指令集。如果要使用GPU加速，請安裝CUDA\n開第一個終端機，複製DoujinCI儲存庫\ncd ~ git clone https://gitlab.com/ubcseagull/doujinci.git cd doujinci 建立Python 3.5環境，安裝main的依賴套件 conda create --prefix ./main python=3.5 conda activate ./main conda install cffi pip install --upgrade pip pip install -r AI/requirements-cpu.txt # 或者裝GPU版用CUDA算 pip install -r AI/requirements-gpu.txt 開第二個終端機，安裝decensor的依賴套件 conda create --prefix ./decensor python=3.6 conda activate ./decensor pip install --upgrade pip pip install -r Py/requirements-cpu.txt # 或者裝GPU版用CUDA算 pip install -r AI/requirements-gpu.txt 終端機保持開著。 3. 標記圖片海苔 # 回到main的終端機，輸入指令，下載圖片，標記海苔。圖片會輸出到Py/decensor_input\n# 畫廊ID export LINKORID=97972 # 標記mosiac(馬賽克)或bar(海苔條) export BARORMOSAIC=bar # 是否去除網點 export STREMOVE=false python AI/main.py $LINKORID $BARORMOSAIC $STREMOVE 如果你想使用離線圖片，不要下載的話，修改AI/main.py，將這段程式碼註解掉： #wipedir(input_images_folder) #if imgur: # imgurdownloader.download(input_images_folder, link) #else: # ndownloader.download(input_images_folder, id) 將要處理的圖片放到AI/input_images目錄 執行指令，程式就會直接使用離線圖片，開始標記\nexport LINKORID=00000 export BARORMOSAIC=bar export STREMOVE=false python AI/main.py $LINKORID $BARORMOSAIC $STREMOVE 圖片會輸出到Py/decensor_input。這裡可以開修圖軟體，把AI沒標記到的海苔，用同樣顏色的綠線手動補上。 例如開GIMP，點選取色器吸取綠色，用油漆桶工具填滿沒偵測到的海苔條，再輸出為png。 4. 開始去碼 # 回到decensor的終端機，執行指令開始去碼。 # BARORMOSAIC的數值可以為mosiac(馬賽克)或bar(海苔條) export BARORMOSAIC=bar python Py/decensor.py 去碼圖片位於Py/decensor_output/。 5. 個人用的離線處理指令稿 # 簡化上述處理步驟的範本，只要將圖片放在~/Downloads再執行這個bash script就行囉。\n#!/bin/bash export INPUTPATH=~/Downloads export DOUJINCIPATH=~/doujinci export LINKORID=00000 export BARORMOSAIC=bar export STREMOVE=false echo \u0026#34;開始，清除冗餘檔案\u0026#34; rm -r $INPUTPATH/output rm -r $DOUJINCIPATH/AI/input_images/* rm -r $DOUJINCIPATH/AI/input_stremoved/* rm -r $DOUJINCIPATH/Py/decensor_input/* rm -r $DOUJINCIPATH/Py/decensor_input_original/* rm -r $DOUJINCIPATH/Py/decensor_output/* cd $DOUJINCIPATH eval \u0026#34;$(conda shell.bash hook)\u0026#34; conda activate ./main echo \u0026#34;複製圖片\u0026#34; cp -r $INPUTPATH/input/* $DOUJINCIPATH/AI/input_images/ echo \u0026#34;標記海苔\u0026#34; python AI/main.py $LINKORID $BARORMOSAIC $STREMOVE conda deactivate echo \u0026#34;圖片去碼\u0026#34; conda activate ./decensor python Py/decensor.py conda deactivate echo \u0026#34;輸出圖片\u0026#34; mkdir $INPUTPATH/output cp -r $DOUJINCIPATH/Py/decensor_output/* $INPUTPATH/output echo \u0026#34;清除冗餘檔案，結束\u0026#34; rm -r $DOUJINCIPATH/AI/input_images/* rm -r $DOUJINCIPATH/AI/input_stremoved/* rm -r $DOUJINCIPATH/Py/decensor_input/* rm -r $DOUJINCIPATH/Py/decensor_input_original/* rm -r $DOUJINCIPATH/Py/decensor_output/* ","date":"2024年2月20日","externalUrl":null,"permalink":"/posts/doujinci-decensoring-pipeline/","section":"Nsfws","summary":" 論給漫畫去馬賽克/海苔條，我們有DeepCreamPy ＋ Hent-AI的軟體可以達成目的。\n但是，原本手動放圖片的操作太繁瑣了，Gitlab開發者UBC Seagull便寫了「DoujinCI」，利用Gitlab CI/CD Pipeline整合全部步驟，達成自動化下載圖片 ＋ 圖片去碼管線的操作。 沒錯…網路圖片託管商多半有提供管線(pipeline)，能夠在傳遞圖片的時候壓縮成avif減少容量，但是還缺了一個去碼的功能對吧！\nDoujinCI名字跟同人誌(doujinshi)雙關。\n瞇著眼睛看，黑白漫畫去碼效果還不賴。 ろ～たり～Engine HIGHSCHOOL OF THE DATE\n彩色漫畫去碼也行喔 320BPM GIRLS und CHINPOR\n你可以在Gitlab用自己的帳號fork他的專案，建立你自己的CI/CD Pipeline。\n不過DoujinCI要本機跑也是可以的，本文示範在Linux系統完全離線跑DoujinCI的方法，文末附上指令稿。\n","title":"DoujinCI ~ AI自動去圖片馬賽克和海苔條","type":"nsfw"},{"content":"此頁面可以將最多三個的存檔點模型合併，以融合出更好的效果。 合併模型會佔用大量硬碟空間，看用途決定。有時欲生成某個人物，用基礎模型搭配LoRA會是比較經濟實惠的方法，不必頻繁融合模型。\n","date":"2024年2月20日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-checkpoint-merger/","section":"Ai-Arts","summary":"此頁面可以將最多三個的存檔點模型合併，以融合出更好的效果。 合併模型會佔用大量硬碟空間，看用途決定。有時欲生成某個人物，用基礎模型搭配LoRA會是比較經濟實惠的方法，不必頻繁融合模型。\n","title":"合併模型 Checkpoint Merger｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"SD WebUI生成的圖片都是PNG檔，並會記載生成圖片所使用的模型、提示詞等資訊。\n如果有人分享未修改過的SD WebUI圖片，那麼你只要把它下載下來，於此界面上傳圖片，即會顯示該圖片背後使用的提示詞。 不過有些模型會使用LoRA和其他的小模型，這點可從提示詞有無\u0026lt; \u0026gt;來判斷。因此有時候完全照抄提示詞是不夠的，缺少的東西要手動下載。\n","date":"2024年2月20日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-png-info/","section":"Ai-Arts","summary":"SD WebUI生成的圖片都是PNG檔，並會記載生成圖片所使用的模型、提示詞等資訊。\n如果有人分享未修改過的SD WebUI圖片，那麼你只要把它下載下來，於此界面上傳圖片，即會顯示該圖片背後使用的提示詞。 不過有些模型會使用LoRA和其他的小模型，這點可從提示詞有無\u003c \u003e來判斷。因此有時候完全照抄提示詞是不夠的，缺少的東西要手動下載。\n","title":"查看提示詞參數 PNG Info｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"Stable Difussion WebUI內建AI放大技術，像是ESRGAN，比Waifu2x更強。\n如果用預設的512x512解析度就生出不錯的圖，可以將圖片直接丟到Extras放大。\n1. 實際操作 # 切換至Extras頁面，上傳圖片，選取放大2倍，點選下面的Upscaler 1中挑一個看起來順眼的，其餘維持預設，按Generate即會得到放大過的圖片。 旁邊的Batch Process可以一次處理大量圖片；Batch from Directory則是從特定資料夾輸入放大圖片。\n2. 參數解說 # Scale by # 按照此數字的倍數放大\nScale to # 放大至指定寬高\nUpscaler 1 \u0026amp; Upscaler 2 # 放大圖片的時候可以只用一種放大器，也可以混合使用二種放大器。\nUpscaler 2 visibility # 第二個放大器的權重。\nGFPGAN visibility # GFPGAN臉部修復模型的權重\nCodeFormer visibility # CodeFormer臉部修復模型的權重\n3. Upscaler效果比較 # 目前Stable Diffusion WebUI的放大器包含LDSR、BSRGAN、ESRGAN_4x、R-ESRGAN-General-4xV3、R-ESRGAN-General-WDN-4xV3、R-ESRGAN-AnimeVideo、R-ESRGAN-4x+、R-ESRGAN-4x+-Anime6B、ScuNET-GAN、ScuNET-PSNR、SwinIR_4x\u0026hellip;看的讓人頭昏眼花。\n根據Reddit網友在The DEFINITIVE Comparison to Upscalers一文的比較，總結如下：\nESRGAN_4x適合用於處理真人照片 ESRGAN_4x適合用於繪畫 Anime6B適合用於動漫圖片，它也可以用來將真人圖片轉動漫風格 ","date":"2024年2月20日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-upscalers/","section":"Ai-Arts","summary":"Stable Difussion WebUI內建AI放大技術，像是ESRGAN，比Waifu2x更強。\n如果用預設的512x512解析度就生出不錯的圖，可以將圖片直接丟到Extras放大。\n1. 實際操作 # 切換至Extras頁面，上傳圖片，選取放大2倍，點選下面的Upscaler 1中挑一個看起來順眼的，其餘維持預設，按Generate即會得到放大過的圖片。 旁邊的Batch Process可以一次處理大量圖片；Batch from Directory則是從特定資料夾輸入放大圖片。\n2. 參數解說 # Scale by # 按照此數字的倍數放大\nScale to # 放大至指定寬高\nUpscaler 1 \u0026 Upscaler 2 # 放大圖片的時候可以只用一種放大器，也可以混合使用二種放大器。\nUpscaler 2 visibility # 第二個放大器的權重。\nGFPGAN visibility # GFPGAN臉部修復模型的權重\n","title":"放大圖片解析度 Upscalers｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"USBFlux (usbfluxd) 是Corellium開發的一款自由軟體，用於轉發USBMux的網路界面。\nApple設計了USBMux (usbmuxd)，規定了iPhone與macOS之間的USB通訊方式。原本USBMuxd是macOS才有的閉源軟體，在被人破解後成為libmobiledevice專案的一部分，移植到Linux、Windows系統。usbmuxd會監聽iPhone的socket，於是使用者便能透過此軟體與iPhone互動，比如備份檔案、存取照片等操作。\nUSBFlux這款軟體則是轉發usbmuxd的socket，讓遠端的裝置連線進來，讓它好像變成本機連線的一樣。\n\u0026hellip;好抽象喔，那這能幹嘛？\n從mac遠距到另一台macOS，跑遠端Xcode，開發iOS APP。\n或者\n從Linux遠距到遠端macOS虛擬機，開發iOS APP。\n哈！？\n講明白一點，你可以把iPhone無線連接到macOS虛擬機，讓Xcode與其連線，這樣你在Xcode上寫的APP就可以無線傳到iPhone測試了。可能比QEMU/KVM的虛擬機的USB直通要方便些。\nidevicepair工具的指令也能遠端執行喔！ 甚至有開發者嘗試遠端跑checkra1n越獄！ 1. 準備macOS虛擬機 # 在Linux透過OSX-KVM或Docker-OSX安裝macOS虛擬機，再於虛擬機內下載Xcode。\n接著給Linux設定SSH或者VNC之類的遠端桌面方案。\nmacOS虛擬機的畫面可以在開機後，用VNC遠端存取。\n2. 啟動usbfluxd # 以下操作皆是在本機執行，宿主機和虛擬機位於同一台機器上。測試當下宿主機系統是Ubuntu 22.04，虛擬機系統為macOS Ventura。\n如果你要從本機連線到遠端的macOS，記得開放對應通訊埠的防火牆，或者用SSH Forwarding的方式轉發通訊埠（見文末參考資料）。\n於Linux宿主機安裝usbmuxd套件 # Ubuntu 22.04 sudo apt install libusbmuxd-dev usbmuxd avahi-daemon socat # Arch Linux sudo pacman -S libusbmuxd usbmuxd avahi socat 接著安裝usbfluxd套件 # Ubuntu 24.04安裝usbfluxd作者釋出的二進位檔 wget https://github.com/corellium/usbfluxd/releases/download/v1.0/usbfluxd-x86_64-libc6-libdbus13.tar.gz tar -xvf usbfluxd-x86_64-libc6-libdbus13.tar.gz sudo mv usbfluxd-x86_64-libc6-libdbus13/* /usr/local/bin # Arch Linux從AUR安裝usbfluxd yay -s usbfluxd 啟動usbfluxd服務 sudo systemctl start usbmuxd sudo systemctl start avahi-daemon 執行socat監聽5000通訊埠： sudo systemctl restart usbmuxd sudo socat tcp-listen:5000,fork unix-connect:/var/run/usbmuxd 開第二個終端機，執行usbfluxd： sudo usbfluxd -f -n 將iPhone插到Linux電腦，啟動macOS虛擬機。\n在macOS虛擬機開啟終端機，以Homebrew安裝usbfluxd套件\nbrew install make automake autoconf libtool pkg-config gcc libimobiledevice usbmuxd git clone https://github.com/corellium/usbfluxd.git cd usbfluxd ./autogen.sh make sudo make install 在macOS啟動usbmuxd服務 sudo launchctl start usbmuxd 接著啟動usbflux，連線到Linux宿主機的IP（在Linux宿主機用ip addr指令查看），若有需要請開放Linux宿主機防火牆的5000通訊埠。 export PATH=/usr/local/sbin:${PATH} sudo usbfluxd -f -r 192.168.0.101:5000 macOS新增第二個終端機視窗，執行以下指令，列出iOS的裝置ID idevice_id -l 嘗試配對，在iPhone上點選「信任此電腦」。 idevicepair pair \u0026#34;裝置ID\u0026#34; macOS開啟XCode專案，點選上方的Manage Run Destinations...，應該會看到iPhone了。 如此就能將APP的IPA傳送到iPhone安裝了，不過Xcode無法直接編譯傳過去執行。且Finder仍抓不到iPhone，無法進行備份，只能用idevicebackup指令備份。\n中止所有行程的方法：\nsudo killall usbfluxd sudo systemctl restart usbmuxd sudo killall socat 參考資料 # Using a cloud mac with a local ios device USBFlux - Corellium (USBFLUXD) iPhone USB -\u0026gt; Network style passthrough OSX-KVM Docker-OSX Using usbfluxd to establish connections to remote usbmuxd instances ","date":"2024年2月19日","externalUrl":null,"permalink":"/posts/macos-usbfluxd/","section":"所有文章","summary":"USBFlux (usbfluxd) 是Corellium開發的一款自由軟體，用於轉發USBMux的網路界面。\nApple設計了USBMux (usbmuxd)，規定了iPhone與macOS之間的USB通訊方式。原本USBMuxd是macOS才有的閉源軟體，在被人破解後成為libmobiledevice專案的一部分，移植到Linux、Windows系統。usbmuxd會監聽iPhone的socket，於是使用者便能透過此軟體與iPhone互動，比如備份檔案、存取照片等操作。\nUSBFlux這款軟體則是轉發usbmuxd的socket，讓遠端的裝置連線進來，讓它好像變成本機連線的一樣。\n…好抽象喔，那這能幹嘛？\n從mac遠距到另一台macOS，跑遠端Xcode，開發iOS APP。\n或者\n從Linux遠距到遠端macOS虛擬機，開發iOS APP。\n哈！？\n講明白一點，你可以把iPhone無線連接到macOS虛擬機，讓Xcode與其連線，這樣你在Xcode上寫的APP就可以無線傳到iPhone測試了。可能比QEMU/KVM的虛擬機的USB直通要方便些。\nidevicepair工具的指令也能遠端執行喔！ 甚至有開發者嘗試遠端跑checkra1n越獄！ 1. 準備macOS虛擬機 # 在Linux透過OSX-KVM或Docker-OSX安裝macOS虛擬機，再於虛擬機內下載Xcode。\n","title":"USBFlux，讓macOS Xcode遠端偵錯iOS裝置","type":"posts"},{"content":"FOSS AI image background removal software.\n去背功能，從GIMP這類修圖軟體誕生以來便存在的操作，是許多修圖者必學的基本功。過去要慢慢用工具圈選背景修圖，如果背景很複雜那真的會修到想死。現今，在AI模型的幫助下，已經可以做一鍵去背操作。\n很多軟體都有AI協助去背，比方說GIMP可以安裝remove.bg的插件，透過線上API去背。\n不過，本文我的重點將專注在離線運算的AI去背軟體。\nGitHub上有很多去背軟體的開源專案和函式庫，我選擇星星最多的「rembg」。\n經實測，給複雜的背景去背，rembg效果良好，速度也非常快。 rembg軟體本身也提供了豐富的API介面，可以輕鬆整合到其他專案使用。如果你不想要打指令，可以跳到本文最後一段看「搭配圖形軟體使用rembg」的方法。\n1. 安裝rembg # rembg軟體由Daniel Gatis開發，主程式用Python寫成，原始碼位於Github，可於Linux/Windows/macOS安裝。\n此處安裝使用Ubuntu Linux做示範。\n（選擇性）rembg可以使用Nvidia GPU加速演算，請安裝CUDA\n（選擇性）用Anaconda建立Python虛擬環境\nconda create -n rembg python=3.11.7 conda activate rembg 用pip安裝rembg套件 # 純CPU版 pip install rembg[cli] # 或是裝GPU加速版 pip install rembg[gpu,cli] rembg支援多種模型，預設載入的是處理通用圖像的u2net。若要採用其他特化用途的模型，請在指令中指定，rembg會自動下載，並將其放到~/.u2net目錄。 rembg提供的模型如下：\nu2net：基於Qin Xue Bin等人發表的U2-Net所訓練的通用模型。個人認為比較適合真實照片。 u2netp：輕量版u2net模型。 u2net_human_seg：專為分割人物訓練的模型。 u2net_cloth_seg：從人像分割衣服的模型。衣服種類分為上半身、下半身、全身。 silueta：功能跟u2net一樣，檔案大小縮減到43MB。 isnet-general-use：基於Qin Xue Bin等人發表的DIS所訓練的通用模型，效果比u2net更好。 isnet-anime：專為動漫角色訓練的高精確度分割模型。 sam：基於Meta的Segment Anything訓練的通用模型，檔案更大，且需要額外輸入提示詞。 2. rembg命令行使用方式 # 例如我要將/home/user/Downloads/input.png圖片去背，並輸出為/home/user/Downloads/output.png\n注意要去背的圖片主體不可以跟背景顏色太接近，否則AI還是會誤判。\n指定參數i，給單個檔案去背。輸出為png的話，去背的部份就會變成透明圖層。\nrembg i /home/user/Downloads/input.png /home/user/Downloads/output.png p可以給整個目錄的圖片去背，例如處理input目錄下的所有圖片，並輸出到output\nrembg p /home/user/Downloads/input /home/user/Downloads/output om僅回傳遮罩，方便在修圖軟體做後續處理\nrembg i -om /home/user/Downloads/input.png /home/user/Downloads/output.png m使用特定模型去背\nrembg i -m isnet-anime /home/user/Downloads/input.png /home/user/Downloads/output.png 不過sam模型比較特殊，需要使用以下格式的指令，提供精確的圖片主體座標，SAM才能分割出物件。圖片座標請開GIMP看。\n# 座標選取，處理圖片中(390,350)座標的物件 rembg i -m sam -x \u0026#39;{ \u0026#34;sam_prompt\u0026#34;: [{\u0026#34;type\u0026#34;: \u0026#34;point\u0026#34;, \u0026#34;data\u0026#34;: [390, 350], \u0026#34;label\u0026#34;: 1}] }\u0026#39; /home/user/Downloads/input.png /home/user/Downloads/output.png # 正方形選取，從圖片左上角(0,30)座標為基準，畫出744x980長寬的選取區域。 rembg i -m sam -x \u0026#39;{ \u0026#34;sam_prompt\u0026#34;: [{\u0026#34;type\u0026#34;: \u0026#34;rectangle\u0026#34;, \u0026#34;data\u0026#34;: [0, 30, 744, 980], \u0026#34;label\u0026#34;: 1}] }\u0026#39; /home/user/Downloads/input.png /home/user/Downloads/output.png 3. rembg搭配圖形界面軟體使用 # GIMP # 你可以在GIMP使用rembg，這裡使用的是James Huang製作的RemoveBG.py外掛。\nLinux的話先透過Flatpak安裝GIMP\n接著下載作者提供的RemoveBG-Flatpak.zip，解壓縮，編輯裡面的RemoveBG.py，將aiExe =指向rembg執行檔所在路徑。\naiExe = \u0026#34;/home/user/.local/bin/rembg\u0026#34; 賦予RemoveBG.py執行權限，並移動到GIMP的plug-ins目錄 chmod +x RemoveBG.py mv ~/Downloads/RemoveBG.py ~/.var/app/org.gimp.GIMP/config/GIMP/2.10/plug-ins 開放GIMP存取session bus flatpak --user override --socket=session-bus org.gimp.GIMP 之後RemoveBG的選單就會出現在GIMP的濾鏡 → Python-fu 點選後勾選啟用遮罩，並選取要使用的模型（如果沒有你要的模型，請修改RemoveBG.py，在陣列加入模型名字） 這樣程式會將目前的圖層複製，再加上遮罩。對其按右鍵「套用遮罩」，再按檔案 → 匯出PNG。 Stable Diffusion WebUI # Stable Diiffusion WebUI的作者有開發rembg的擴充功能：stable-diffusion-webui-rembg\n透過網頁安裝擴充功能，重新啟動WebUI。\n進入Extra頁面，上傳圖片 勾選下方的Remove Background，再選取模型，其他都不要勾， 點選Generate就會完成去背。 4. 延伸閱讀：AI影片去背 # BackgroundRemover by Johnathan Nader：影片版的Rembg，這個程式的問題就是輸出的mov檔案太巨大了。\nTransparent Background by Taehun Kim使用教學：影片去背並生成綠幕，我覺得這個效果比較好。\n","date":"2024年2月19日","externalUrl":null,"permalink":"/posts/rembg-ai-image-background-removal/","section":"所有文章","summary":"FOSS AI image background removal software.\n去背功能，從GIMP這類修圖軟體誕生以來便存在的操作，是許多修圖者必學的基本功。過去要慢慢用工具圈選背景修圖，如果背景很複雜那真的會修到想死。現今，在AI模型的幫助下，已經可以做一鍵去背操作。\n很多軟體都有AI協助去背，比方說GIMP可以安裝remove.bg的插件，透過線上API去背。\n不過，本文我的重點將專注在離線運算的AI去背軟體。\nGitHub上有很多去背軟體的開源專案和函式庫，我選擇星星最多的「rembg」。\n經實測，給複雜的背景去背，rembg效果良好，速度也非常快。 rembg軟體本身也提供了豐富的API介面，可以輕鬆整合到其他專案使用。如果你不想要打指令，可以跳到本文最後一段看「搭配圖形軟體使用rembg」的方法。\n1. 安裝rembg # rembg軟體由Daniel Gatis開發，主程式用Python寫成，原始碼位於Github，可於Linux/Windows/macOS安裝。\n此處安裝使用Ubuntu Linux做示範。\n（選擇性）rembg可以使用Nvidia GPU加速演算，請安裝CUDA\n（選擇性）用Anaconda建立Python虛擬環境\nconda create -n rembg python=3.11.7 conda activate rembg 用pip安裝rembg套件 # 純CPU版 pip install rembg[cli] # 或是裝GPU加速版 pip install rembg[gpu,cli] rembg支援多種模型，預設載入的是處理通用圖像的u2net。若要採用其他特化用途的模型，請在指令中指定，rembg會自動下載，並將其放到~/.u2net目錄。 rembg提供的模型如下：\n","title":"「Rembg」開源AI圖片去背軟體 支援Linux / Windows / macOS","type":"posts"},{"content":"除了根據需求切換ckpt模型外，也可以額外疊幾層網路(Extra networks)小模型來改善畫風，並改善生成特定物件、角色的準確度。\n例如使用Anything模型生圖，再搭配\u0026quot;Taiwan-doll-likeness LoRA\u0026quot;就能轉成真人風格而不用依賴許多提示詞，並且可以一次疊很多個，就像套多層濾鏡一般。 跟ckpt大模型比起來，這類模型檔案都很小，主要用來微調現有的模型。小模型有嵌入(Embedding)、超網路(HyperNetwork)、LoRA三種，副檔名以.pt或.safetensors結尾，目前最熱門的為\u0026quot;LoRA\u0026quot;。更棒的是因為檔案小，自行訓練喜歡的人物模型成本並不高。\n1. 安裝小模型 # Civitai有很多小模型可以下載。下載時需注意模型是哪一種。\nEmbedding請放stable-diffusion-webui資料夾下的embeddings\nHyperNetwork放到stable-diffusion-webui/models/hypernetworks。\nLoRA放到stable-diffusion-webui/models/Lora。\n如果要顯示小模型縮圖，將圖片取跟該模型一樣的檔名，並放到該模型的資料夾。例如在Taiwan-doll-likeness.safetensors所在的資料夾放一張Taiwan-doll-likeness.png。\n2. 小模型使用方法 # 進入WebUI，點選右上角Show extra networks 這樣就會出現選單。以LoRA為例，點選小模型的卡片便會將其加到提示詞欄位，提示詞欄位會出現\u0026lt; \u0026gt;，表示要在繪圖時使用LoRA。 接著再加上其他提示詞，生圖即會有使用LoRA的風格。 如果生出來的圖片太詭異，調整提示詞欄位每個LoRA後面的數字，控制權重。 嗯，這樣看起來好些了 (並沒有) 3. 安裝與使用VAE # VAE (variational autoencoder)可以讓算出來的圖片色彩更漂亮，改善圖片顏色灰灰暗暗的問題。\nHentai Diffusion這類模型內建VAE，SD WebUI在生圖時會自動偵測並套用；Anything這類的模型要另外下載VAE；VAE的下載點通常跟模型下載頁面放在一起。\n如果要使用VAE，下載VAE模型後，將其放到stable-diffusion-webui/models/VAE資料夾。\n接著點選Settings → Stable Diffusion → SD VAE，選取要使用的VAE，再點選Apply Settings，此後生圖就會一律使用指定的VAE。\n","date":"2024年2月19日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-extra-networks/","section":"Ai-Arts","summary":"除了根據需求切換ckpt模型外，也可以額外疊幾層網路(Extra networks)小模型來改善畫風，並改善生成特定物件、角色的準確度。\n例如使用Anything模型生圖，再搭配\"Taiwan-doll-likeness LoRA\"就能轉成真人風格而不用依賴許多提示詞，並且可以一次疊很多個，就像套多層濾鏡一般。 跟ckpt大模型比起來，這類模型檔案都很小，主要用來微調現有的模型。小模型有嵌入(Embedding)、超網路(HyperNetwork)、LoRA三種，副檔名以.pt或.safetensors結尾，目前最熱門的為\"LoRA\"。更棒的是因為檔案小，自行訓練喜歡的人物模型成本並不高。\n1. 安裝小模型 # Civitai有很多小模型可以下載。下載時需注意模型是哪一種。\nEmbedding請放stable-diffusion-webui資料夾下的embeddings\nHyperNetwork放到stable-diffusion-webui/models/hypernetworks。\nLoRA放到stable-diffusion-webui/models/Lora。\n如果要顯示小模型縮圖，將圖片取跟該模型一樣的檔名，並放到該模型的資料夾。例如在Taiwan-doll-likeness.safetensors所在的資料夾放一張Taiwan-doll-likeness.png。\n","title":"額外網路 Extra Networks｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"局部重繪(inpaint)。這是用AI填充塗黑(遮罩)區域的技術，例如給圖片的角色換衣服。或是反過來：讓AI把圖片空白的地方繪製完成(outpaint)。\n可以想像成讓AI幫您修圖，用於在圖中新增或去除物件。\n此功能位於Img2img下的Inpaint頁面。 1. 參數解說 # Mask blur # 圖片上的筆刷毛邊柔和程度。\nMask mode # 選擇要讓AI填滿塗黑區域(Inpaint masked)，或是填滿未塗黑區域(Inpaint not masked)。\nMasked content # 要填充的內容。\nFill：讓AI參考塗黑附近的顏色填滿區域。 Original：在填滿區域的時候參考原圖底下的內容。 latent noise：使用潛在空間填滿，可能會生出跟原圖完全不相關的內容。 latent nothing：使用潛在空間填滿，不加入噪聲。 Inpaint area # 選擇要填滿整張圖片(Whole picture)或是只填滿塗黑的區域(Only masked)\nOnly masked padding, pixels是像素內距。\nOnly masked即外補繪製模式。\n2. 實際操作 # 上傳圖片，點選圖片，用滑鼠將要替換的部份塗黑。 或者也可以切換到Inpaint Upload頁面，上傳圖片，再於下方Mask上傳塗好遮罩的圖片。\n假設要換成泳裝，那麼就在正向提示詞加入swimsuit或bikini這類的提示詞。\n左下角的Masked content有幾個選項：fill即為填充新內容，original則是在填充內容的時候參考原圖黑色底下的內容。\n點選Generate生圖。 若要切換為畫外畫(Outpaint)模式：點選左下角的Mask mode，將Inpaint masked改成Inpaint not masked，這樣AI就會改為填滿沒有塗黑的地方。\n3. 批次處理圖片 # 切換到Batch頁面 第一個欄位輸入要處理的圖片路徑，例如桌面的Input資料夾\n第二個則是輸出路徑\n第三個欄位是預先塗好遮罩的圖片的路徑\n","date":"2024年2月19日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-inpaint-outpaint/","section":"Ai-Arts","summary":"局部重繪(inpaint)。這是用AI填充塗黑(遮罩)區域的技術，例如給圖片的角色換衣服。或是反過來：讓AI把圖片空白的地方繪製完成(outpaint)。\n可以想像成讓AI幫您修圖，用於在圖中新增或去除物件。\n此功能位於Img2img下的Inpaint頁面。 1. 參數解說 # Mask blur # 圖片上的筆刷毛邊柔和程度。\nMask mode # 選擇要讓AI填滿塗黑區域(Inpaint masked)，或是填滿未塗黑區域(Inpaint not masked)。\nMasked content # 要填充的內容。\nFill：讓AI參考塗黑附近的顏色填滿區域。 Original：在填滿區域的時候參考原圖底下的內容。 latent noise：使用潛在空間填滿，可能會生出跟原圖完全不相關的內容。 latent nothing：使用潛在空間填滿，不加入噪聲。 Inpaint area # 選擇要填滿整張圖片(Whole picture)或是只填滿塗黑的區域(Only masked)\nOnly masked padding, pixels是像素內距。\n","title":"局部重繪 InPaint｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"圖生圖(img2img)是讓AI參照現有的圖片生圖，源自InstructPix2Pix技術。\n例如：上傳一張真人照片，讓AI把他改繪成動漫人物；上傳畫作線稿，讓AI自動上色；上傳一張黑白照，讓AI把它修復成彩色相片。\n這個功能位於「Img2img」的頁籤。 1. 實際操作 # 點選框框上傳圖片。圖片比例需要跟設定生成的寬高一致，例如512x512就得上傳寬高1:1比例的圖片。 同樣於左上角欄位填入正負向提示詞，就是你希望AI將圖片改繪成什麼，勾選Restore faces，再點選右上角Generate生圖。 圖生圖左下方有CFG Scale與Denoising strength這二個數值，決定與原圖的相似程度。如下圖所示，Denoising strength調低的情況下可以用來微調原圖。 2. 參數解說 # 部份參數與文生圖的參數重疊，這裡不贅述。\nResize mode 裁切模式 # 決定要對上傳的圖片做何種操作。\n上傳的圖片最好與生圖設定的一致。\nJust resize：調整圖片為生圖設定的寬高。若上傳圖片的寬高與生成設定的寬高不一致，則該圖片會被壓扁 Crop and resize：裁切圖片以符合生圖的寬高 Resize and fill：裁切並調整圖片寬高，若上傳圖片的寬高與生成設定的寬高不一致，則多出來的區域會自動填滿。 Just resize (latent upscale)：調整圖片大小為生圖設定的寬高，並使用潛在空間放大。 Resize to # 依照填入的寬高來生圖。\nResize by # 依照填入的縮放係數來生圖，然後縮放圖片。\nDenoising strength 降噪強度 # 數值越小，生成的圖與原圖越相似，可用來微調圖片。\nInterrogate Deepboooru # 上傳圖片後，用Danbooru圖庫資料判別圖片並自動填入提示詞。需要注意Deepbooru訓練的圖像數量有限，它頂多只能用來認圖片的場景和人物tag，無法準確標出最新的動漫角色。 初次使用的時候，Stable Diffusion WebUI會自動下載模型。\nInterrogate CLIP # 類似Deepbooru用途，不過較適合判別真人照片內容。\n","date":"2024年2月19日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-image-to-image/","section":"Ai-Arts","summary":"圖生圖(img2img)是讓AI參照現有的圖片生圖，源自InstructPix2Pix技術。\n例如：上傳一張真人照片，讓AI把他改繪成動漫人物；上傳畫作線稿，讓AI自動上色；上傳一張黑白照，讓AI把它修復成彩色相片。\n這個功能位於「Img2img」的頁籤。 1. 實際操作 # 點選框框上傳圖片。圖片比例需要跟設定生成的寬高一致，例如512x512就得上傳寬高1:1比例的圖片。 同樣於左上角欄位填入正負向提示詞，就是你希望AI將圖片改繪成什麼，勾選Restore faces，再點選右上角Generate生圖。 圖生圖左下方有CFG Scale與Denoising strength這二個數值，決定與原圖的相似程度。如下圖所示，Denoising strength調低的情況下可以用來微調原圖。 2. 參數解說 # 部份參數與文生圖的參數重疊，這裡不贅述。\nResize mode 裁切模式 # 決定要對上傳的圖片做何種操作。\n上傳的圖片最好與生圖設定的一致。\nJust resize：調整圖片為生圖設定的寬高。若上傳圖片的寬高與生成設定的寬高不一致，則該圖片會被壓扁 Crop and resize：裁切圖片以符合生圖的寬高 Resize and fill：裁切並調整圖片寬高，若上傳圖片的寬高與生成設定的寬高不一致，則多出來的區域會自動填滿。 Just resize (latent upscale)：調整圖片大小為生圖設定的寬高，並使用潛在空間放大。 Resize to # 依照填入的寬高來生圖。\n","title":"圖生圖 Image to image｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"文生圖(txt2image)即為讓AI按照文字敘述生圖。\n開啟Stable Diffusion WebUI網頁後，第一個看到的是以下畫面，這就是文生圖的頁面。 生圖流程為在左上角填入提示詞，勾選左下角的生圖參數，再點選右上角生成圖片。其餘SD WebUI的功能用法大抵都按照此邏輯設計，有些參數是通用的。\n需要中文界面的可以先裝正體中文/雙語擴充功能。\n1. 實際操作 # Stable Diffusion WebUI正上方可看到現在使用的是哪個存檔點模型。切換模型約需要等30秒。 您也可以按右上角的紅色圖示，以圖形界面選取要使用的存檔點模型。 在頁面左上方填入正向與負向提示詞。 Sampling Methods建議先試試最快的「LCM」，其次是「UniPC」和「Euler a」。Sampling Steps設20，WidthxHeight設定為512x512。 勾選左下角的臉部修復 (Restore faces)，改善臉部生成效果。 點右上角的Generate開始生圖。 視顯卡性能而定，約一分鐘圖片就會算出來了，點選放大右鍵儲存。您也可以點選右下角的Zip按鈕，將圖片打包下載為壓縮檔。 左下角有Batch count的數值可設定一次算多張圖。 如果對此次結果滿意，不妨將種子碼 (Seed) 保存下來供日後利用，這樣可以一定程度保留風格。 不論圖片有無右鍵儲存，Stable Diffusion WebUI生成的圖都會自動儲存到主程式資料夾下的outputs資料夾。\n2. 參數解說 # Stable Diffusion checkpoint # 目前使用的存檔點模型。\nPrompts 提示詞 # 這是填入正向與負向提示詞的欄位。\nSampling Methods 取樣方法 # Sampling Methods即為取樣方法，各種方法得出的結果不太一樣。\nUniPC是2023年發表的取樣方法。\nDDIM和PLMS是2022年隨Stable Diffusion v1發表的取樣方法。\n若要兼顧品質與速度，請優先試試這三種取樣方法：LCM、UniPC、Euler a。\nSampling Steps 取樣步數 # 取樣步數建議值至少為20，在使用Euler a、UniPC、LCM取樣方法的時候就有很好效果，且生圖速度很快。\n相對的DDIM需要80以上的取樣步數才會有好結果。\nRestore faces 臉部修復 # 使用臉部修復模型改善臉部生成效果。預設使用CodeFormer，可在Settings切換為GFPGAN。\nTiling 平鋪 # 生成類似地板花紋一樣可連續的圖片。\nHires_fix 高畫質修復 # 可以提昇圖片的畫質，但是會耗費更多VRAM。\nUpscaler # 要使用的放大器。\nHires steps # 高畫質修復步數。\nDenoising strength # 降噪強度。\nUpscale by # 縮放係數。\nWidth x Height 圖片寬高 # 生成圖片的寬高，尺寸越大品質越好，但越會吃掉更多VRAM。\nv1.5模型預設寬高為512x512，v2模型建議可以試試768x768。\n其餘可用的寬高比(ratio)請參考下表。圖片來源 CFG Scale # CFG Scale即Classifier-free guidance scale\nAI生圖與你給的提示詞的相關度，數值越高越會按照你說的內容下去生圖。\nBatch count # 設定按左上角的Generate後要生成多少次的圖片。\nBatch size # 設定按左上角的Generate後，一次生成內要算多少圖片。通常要一次算多張圖，調整Batch count就夠了，Batch size的值維持為1。\nSeed 種子碼 # 生成圖片的種子碼。將種子碼保存下來有助於保留生圖的風格。\n點選骰子圖示，設定成-1即為重置種子碼；回收符號則是叫出上一次生圖所使用的種子碼。\nSeeds Extra # 測試更多種子碼變化之用。\nVariation seed # Variation strength # 變化強度，此值越高，生圖結果越不可預料。\nResize seed from width # Resize seed from height # Scripts # 載入使用者撰寫的指令稿。內建的有：\nPrompt Matrix：會生出一個表格圖片，用於比對不同提示詞生圖的效果 Prompts from files or textbox：從寫好提示詞的檔案生成圖片。 X/Y/Z plot：用於比對不同提示詞、取樣方法、CFG Scale、種子碼的組合所生圖的效果。 儲存提示詞 # 右上角可以儲存與載入生圖提示詞。\n5個按鈕由左至依序為：1. 叫出上次生圖使用的設定值 2. 清空提示詞 3. 啟用額外網路 4. 套用選中的風格 5. 儲存目前的提示詞 儲存的提示詞此處稱為風格(styles)\n下方的Styles列表即為儲存的提示詞。點選儲存的提示詞(可多選)，再點選上面的剪貼板圖示，即會將該提示詞組合加到左邊的提示詞欄位。\n傳送結果到其他頁面 # 生圖後可以點選右下角的Send to image to image，將生圖結果傳送到圖生圖的頁面做進一步處理。 ","date":"2024年2月19日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-text-to-image/","section":"Ai-Arts","summary":"文生圖(txt2image)即為讓AI按照文字敘述生圖。\n開啟Stable Diffusion WebUI網頁後，第一個看到的是以下畫面，這就是文生圖的頁面。 生圖流程為在左上角填入提示詞，勾選左下角的生圖參數，再點選右上角生成圖片。其餘SD WebUI的功能用法大抵都按照此邏輯設計，有些參數是通用的。\n需要中文界面的可以先裝正體中文/雙語擴充功能。\n1. 實際操作 # Stable Diffusion WebUI正上方可看到現在使用的是哪個存檔點模型。切換模型約需要等30秒。 您也可以按右上角的紅色圖示，以圖形界面選取要使用的存檔點模型。 在頁面左上方填入正向與負向提示詞。 Sampling Methods建議先試試最快的「LCM」，其次是「UniPC」和「Euler a」。Sampling Steps設20，WidthxHeight設定為512x512。 勾選左下角的臉部修復 (Restore faces)，改善臉部生成效果。 點右上角的Generate開始生圖。 視顯卡性能而定，約一分鐘圖片就會算出來了，點選放大右鍵儲存。您也可以點選右下角的Zip按鈕，將圖片打包下載為壓縮檔。 左下角有Batch count的數值可設定一次算多張圖。 ","title":"文生圖 Text to image｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"English version\n討論如何在Linux系統遊玩Minecrat基岩版(Minecraft Bedrock Edition) Minecraft Bedrock 1.20 on Linux. Shader: YSS. Seed: 4354585255707245098. Coords: 359, 82, -387\n此處的Linux系統包含：Ubuntu、Debian、Fedora、Arch Linux、Manjaro、openSUSE、Gentoo，不包含ChromeOS。\n1. 何為Minecraft基岩版？ # Minecraft基岩版是2015年Mojang被Microsoft收購後推出的版本，跟俗稱「電腦版」的Java版Minecraft不一樣。基岩版主打跨平台遊玩，除了Windows版外，基岩版還整合了以前的手機版(Pocket Eidtion)和主機版(Console Eidtion)，統一命名為基岩版，使其成為真正跨平台的Minecraft。\n基岩版各個平台間的世界格式、指令、伺服器、模組(Add-On)都是通用的，使用者可以自由選擇用觸控、鍵盤、手把方式操作，並且可以互相連線，這是基岩版勝過Java版的地方。不過基岩版的模組功能沒有Java版那麼豐富。\n而且雖然基岩版宣稱跨平台啦，但目前macOS和Linux依然沒有原生版。\n2. Linux玩Minecraft基岩版的選擇 # 既然Linux有那麼多Minecraft Java版啟動器，我們可以在Linux跑Windows系統的Minecraft基岩版嗎？\n答案是不行。\n因為Minecrft基岩版使用C++寫成，且以UWP格式打包，就沒辦法像Minecraft Java版一樣靠「JVM」來跨平台了，Wine也轉譯不了。\nWindows盜版仔哭哭\n除了在Windows虛擬機玩的方法外，我們可以退而求其次：靠Linux的Android模擬器玩Android系統的Minecraft基岩版。\n盜版仔破涕為笑，Android破解版APK要好找多了\nAndroid基岩版功能跟Windows基岩版沒有兩樣，最大的差別就是沒有RTX光線追蹤了，還有渲染距離比較短。但是沒有問題，Android版仍有許多Render Dragon的著色器可以滿足喜好光影玩家的需求。 此外，Android基岩版APK支援x86與ARM架構，因此ARM架構的開發板 (如Raspberry Pi) 透過Android模擬器也能玩Minecraft基岩版了。\n我以前使用的是Mr. Arm開發的設計給Minecraft Bedrock Launcher on Linux，支援macOS和Linux系統。但為什麼我不推薦呢？它背後使用Anbox，Android版本太老了，遊戲會莫名崩潰，還有各種未解決的bug。\n於是我決定採用其他Android模擬器方案。\n請先到Google Play購買Android基岩版，接著參看Linux的Android模擬器列表，從中選一個適合你的方案。\n我個人偏好Waydroid，可以善用GPU加速，且觸控螢幕、鍵盤滑鼠、遊戲手把都正常運作。登入Xbox帳號也不會崩潰。 3. Android版世界的資料問題 # Minecraft基岩版（目前是1.20）為了因應Google Play政策，導致遊戲資料一律得放在/data/data/com.mojang.minecraftpe，該目錄沒Root權限不能存取。\n雖說Minecraft基岩版可以用.mcpack格式安裝模組，但是對想手動解壓縮的玩家就麻煩了。\n以Waydroid來說，可以用ADB的方式傳送檔案。\n先到Minecraft遊戲設定，把世界儲存位置改為外部，這樣遊戲資料就會從/data/data/com.mojang.minecraftpe跑到/sdcard/Android/data/com.mojang.minecraftpe 查看該目錄下的檔案。Waydroid要用waydroid shell指令才有root權限，adb root無效。\nsudo waydroid shell ls /sdcard/Android/data/com.mojang.minecraftpe/files/games/com.mojang Minecraft世界目錄為minecraftWorlds，行為包為behavior_packs，資源包為resource_packs，皮膚包為skin_packs\n到Waydroid的系統設定 → 關於手機，查看IP位址，應為192.168開頭\n將ADB與Waydroid連線\nadb connect IP位址:5555 用ADB指令，從Linux宿主機推送Minecraft世界MyWorld目錄到Waydroid的Download目錄，再用Waydroid Shell指令移動到minecraftWorlds adb push /home/user/Downloads/MyWorld /sdcard/Download/ sudo waydroid shell mv /sdcard/Download/MyWorld /sdcard/Android/data/com.mojang.minecraftpe/files/games/com.mojang/minecraftWorlds 也可以將Waydroid裡面的檔案拉取到宿主機 sudo waydroid shell cp -r /sdcard/Android/data/com.mojang.minecraftpe/files/games/com.mojang/minecraftWorlds/MyWorld /sdcard/Download adb pull /sdcard/Download/MyWorld /home/user/Downloads/ 4. 基岩版多人連線 # Minecraft基岩版的多人連線可以善用Xbox帳號連線：只要雙方互為好友，就可以進入彼此的世界。\nLAN區域連線可能無法運作，因為Waydroid是跑在自己的網域內。\n如果有需要管理更多人的，再使用Bedrock Dedicated Server架設伺服器。\n","date":"2024年2月18日","externalUrl":null,"permalink":"/posts/play-minecraft-bedrock-edition-on-linux/","section":"Minecrafts","summary":"English version\n討論如何在Linux系統遊玩Minecrat基岩版(Minecraft Bedrock Edition) Minecraft Bedrock 1.20 on Linux. Shader: YSS. Seed: 4354585255707245098. Coords: 359, 82, -387\n此處的Linux系統包含：Ubuntu、Debian、Fedora、Arch Linux、Manjaro、openSUSE、Gentoo，不包含ChromeOS。\n1. 何為Minecraft基岩版？ # Minecraft基岩版是2015年Mojang被Microsoft收購後推出的版本，跟俗稱「電腦版」的Java版Minecraft不一樣。基岩版主打跨平台遊玩，除了Windows版外，基岩版還整合了以前的手機版(Pocket Eidtion)和主機版(Console Eidtion)，統一命名為基岩版，使其成為真正跨平台的Minecraft。\n基岩版各個平台間的世界格式、指令、伺服器、模組(Add-On)都是通用的，使用者可以自由選擇用觸控、鍵盤、手把方式操作，並且可以互相連線，這是基岩版勝過Java版的地方。不過基岩版的模組功能沒有Java版那麼豐富。\n而且雖然基岩版宣稱跨平台啦，但目前macOS和Linux依然沒有原生版。\n2. Linux玩Minecraft基岩版的選擇 # 既然Linux有那麼多Minecraft Java版啟動器，我們可以在Linux跑Windows系統的Minecraft基岩版嗎？\n","title":"Linux系統玩Minecraft基岩版的方法","type":"minecraft"},{"content":"為了方便玩家建立伺服器，Mojang推出了Minecraft基岩版官方伺服器軟體「Bedrock Dedicated Server」，簡稱BDS，可以輕鬆在個人電腦或者伺服器開設多人遊戲。\n因為基岩版跨平台的特性，在架好BDS伺服器之後，你就可以從其他電腦、手機、平板、主機等多種平台，隨時隨地連線到伺服器遊玩。 BDS由官方維護，會即時對應Minecraft基岩版的最新版本。Mojang官方經營的Minecraft Realms亦採用了BDS的技術。\nBDS伺服器能夠沿用現有的單人遊戲世界存檔，或者讓伺服器自動新建一個世界。\n相關文章：將Minecraft基岩版的單人地圖轉成多人地圖伺服器，設定白名單 跟其他伺服器軟體比起來，BDS屬於原味生存(vanilla)的伺服器，玩家可以把現有的世界放到伺服器，可以裝模組(Add-On)，但只有基本的玩家管理功能，專為小型伺服器設計。如果你需要插件(plugin)之類的大型伺服器管理功能，請改用其他基岩版伺服器軟體。\nMojang官方發表的BDS軟體可以直接在Linux或Window執行，也有外國組織將BDS打包成Docker映像檔。\n用Docker架的好處是，服務非常容易維護。而且能夠利用容器的特性，同時執行多個不同的Minecraft BDS伺服器實例。\n本文Ivon示範如何使用Docker容器技術架設BDS伺服器，方便我們統一部署到各種機器上。\n1. 環境 # 系統：Ubuntu LTS CPU: 4核心x86架構CPU RAM：4GB (官方建議值) 硬碟空間：10GB 2. 撰寫Docker-compose # 我使用itzg組織維護的映像檔，該映像檔基於Mojang官方發表的最新BDS版本所建置。\n注意：Mojang官方發表的BDS二進位檔是專有軟體，僅支援x86_64架構。itzg打包的Docker映像檔雖然支援x86與ARM架構，讓樹莓派也能執行BDS，但是ARM的映像檔內部是用Box64轉譯的，可能會不穩定。\n請先安裝Docker\n新增存放世界資料的目錄，這裡就是伺服器的根目錄了。\ncd ~ mkdir minecraft_bds_server cd minecraft_bds_server 新增docker-compose.yml vim docker-compose.yml 填入以下內容。註解：BDS伺服器在玩家第一次進入伺服器之後會自動新建一個世界，如果你想使用現有存檔，請將世界的目錄放到minecraft_bds_server/worlds/目錄下。 services: bds: image: itzg/minecraft-bedrock-server environment: EULA: \u0026#34;TRUE\u0026#34; # 自動同意EULA GAMEMODE: survival # 預設新世界的模式 DIFFICULTY: normal # 預設新世界難易度 ports: - \u0026#34;19132:19132/udp\u0026#34; # 對外暴露的IPV4通訊埠，冒號左邊的可以修改為任意數值 volumes: - /home/user/minecraft_bds_server:/data # 將容器內的遊戲世界/data資料，儲存到目前的目錄 stdin_open: true tty: true restart: \u0026#39;unless-stopped\u0026#39; # 開機自動啟動容器 啟動服務，它會自動下載最新版BDS伺服器所需檔案 sudo docker compose up -d 開放防火牆19132 UDP通訊埠 sudo ufw allow 19132/udp sudo ufw reload 用ip addr查看Linux電腦的區域IP： # 範例輸出，IP為192.168.0.5 wlan0: \u0026lt;BROADCAST,MULTICAST,UP,LOWER_UP\u0026gt; mtu 1500 qdisc mq state UP group default qlen 1000 inet 192.168.0.5/24 brd 192.168.0.255 scope global dynamic noprefixroute wlan0 於同一區域網路下的電腦，開啟Minecraft基岩版，點選多人遊戲 → 新增伺服器，輸入Linux電腦區域IP，通訊埠輸入19132，嘗試連線。在伺服器沒有任何世界檔案的情況下，會自動建立一個新世界。 輸入sudo docker ps -a指令可看到目前伺服器運作中。\nivon@localhost:~/下載/bedrock_server\u0026gt; sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 043fd84e9ec8 itzg/minecraft-bedrock-server \u0026#34;/usr/local/bin/entr…\u0026#34; 3 minutes ago Up 52 seconds (healthy) 0.0.0.0:19132-\u0026gt;19132/udp, :::19132-\u0026gt;19132/udp bedrock_server_my_bedrock_server_1 使用logs指令查看伺服器輸出的訊息，例如玩家加入會顯示ID，加入失敗也會顯示原因。 sudo docker container logs -f \u0026#34;容器ID\u0026#34; BDS伺服器的運作邏輯是，不論玩家有沒有登入，伺服器只要開著，世界時間就會一直流逝。如果希望登出後遊戲暫停，需要將伺服器服務完全停止。\n如果要停止伺服器：\ncd ~/minecraft_bds_server sudo docker compose down 更新Minecraft伺服器版本的指令： cd ~/minecraft_bds_server sudo docker compose pull 3. 調整Minecraft BDS伺服器設定 # 調整BDS伺服器設定之前請先停止伺服器。\nBDS伺服器內含server.properties，定義了伺服器的行為、OP帳號、ban人的規則。\n你可以用純文字編輯器調整：\ncd ~/minecraft_bds_server vim server.properties 如果你要使用自己的世界並裝模組，參考Add-On裝法作法，先在Minecraft基岩版的單人界面啟用Add-On，再將遊戲世界的目錄放到BDS伺服器的目錄。 4. 開放外部連線的作法 # 如果您的伺服器沒有固定的公共IP，又想讓區域網路外部連線進來，那麼就在所有電腦(含Minecraft BDS伺服器的電腦本身)安裝內網穿透軟體，進行連線。\n","date":"2024年2月18日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-edition-server-docker/","section":"Minecrafts","summary":"為了方便玩家建立伺服器，Mojang推出了Minecraft基岩版官方伺服器軟體「Bedrock Dedicated Server」，簡稱BDS，可以輕鬆在個人電腦或者伺服器開設多人遊戲。\n因為基岩版跨平台的特性，在架好BDS伺服器之後，你就可以從其他電腦、手機、平板、主機等多種平台，隨時隨地連線到伺服器遊玩。 BDS由官方維護，會即時對應Minecraft基岩版的最新版本。Mojang官方經營的Minecraft Realms亦採用了BDS的技術。\nBDS伺服器能夠沿用現有的單人遊戲世界存檔，或者讓伺服器自動新建一個世界。\n相關文章：將Minecraft基岩版的單人地圖轉成多人地圖伺服器，設定白名單 跟其他伺服器軟體比起來，BDS屬於原味生存(vanilla)的伺服器，玩家可以把現有的世界放到伺服器，可以裝模組(Add-On)，但只有基本的玩家管理功能，專為小型伺服器設計。如果你需要插件(plugin)之類的大型伺服器管理功能，請改用其他基岩版伺服器軟體。\nMojang官方發表的BDS軟體可以直接在Linux或Window執行，也有外國組織將BDS打包成Docker映像檔。\n用Docker架的好處是，服務非常容易維護。而且能夠利用容器的特性，同時執行多個不同的Minecraft BDS伺服器實例。\n本文Ivon示範如何使用Docker容器技術架設BDS伺服器，方便我們統一部署到各種機器上。\n","title":"Linux系統如何以Docker架設Minecraft基岩版伺服器 (Bedrock Dedicated Server)","type":"minecraft"},{"content":"本節列出一些安裝AUTOMATIC1111的Stable Diffusion WebUI常遇到的錯誤訊息的解決方式。 如何回報錯誤 # 你可以到我的Discussion或是AUTOMATIC1111儲存庫的Issue查看別人遇過的錯誤訊息。\n如果遇到了真正無法解決的錯誤，請註冊Github帳號，並到AUTOMATIC1111儲存庫的Issue頁面，點選New Issue → Bug Report，用英文填寫遇到的狀況。\n確保您的電腦符合Stable Diffusion的系統需求 # 參閱Stable Diffusion系統需求\n可能是擴充功能導致的錯誤 # 有時除了Stable Diffusion WebUI本身問題外，也有可能是你安裝的擴充功能出錯導致程式無法啟動。\n請嘗試刪除stable-diffusion-webui/extensions下的某個新安裝的擴充功能資料夾，或是將整個extensions資料夾先移動到其他位置，再嘗試啟動SD WebUI。\n也可以嘗試將Stable Diffusion WebUI主程式更新到最新版本。\nRuntimeError: CUDA Out of memory # 顯示卡的VRAM不足。Stable Diffusion WebUI的顯示卡VRAM最低要求為4GB，要無壓力的玩建議8GB以上。\n開啟webui-user.bat，在COMMANDLINE_ARGS後面加入--medvram或--lowvram引數，降低VRAM使用量。如果還是在生圖時出現此訊息，建議降低生圖的解析度，或是買張更好的顯示卡，或是改用Google Colab。\nNo module named pip # 於stable-diffusion-webui資料夾，右鍵＋SHIFT，開啟終端機，執行python3 -m ensurepip安裝pip\n然後刪除venv資料夾，重新執行webui-user.bat\n因為檔案包含病毒或潛在的垃圾軟體，所以作業未順利完成 # 如果你的Stable Diffusion WebUI是從Github下載，模型也是從HuggingFace或Civitai等安全網站下載，則可以斷定是誤判。\n暫時關閉Windows Defender之類的防毒軟體，再刪除stable-diffusion-webui\\venv資料夾，重新執行webui-user.bat。\nRuntimeError: Couldn\u0026rsquo;t install torch. # 幾個可能：\n確認Python版本為3.10.6，不可從微軟商店安裝。並確認是否有安裝最新GPU驅動(Nvidia需要額外安裝CUDA)。\n防毒軟體擋住。\n非Nvidia GPU用戶也可能遇到此錯誤，於webui-user.bat的COMMANDLINE_ARGS加入--skip-torch-cuda-test引數跳過檢測。\n你沒有獨顯，所以它不給跑。沒有獨顯請考慮用Google Colab\nTorch is not able to use GPU # 如果顯卡是Nvidia的話，請確認CUDA有正確安裝。\n顯卡是AMD的話，編輯webui-user.bat，加入COMMANDLINE_ARGS=--medvram --opt-split-attention --skip-torch-cuda-test\n修改完之後，刪除venv資料夾，重新啟動WebUI。\nfatal: unable to access Recv failure: Connection was reset # 網路問題，好發於中國用戶，因為GFW對Github的連線干擾導致相關檔案下載失敗。\n需要換個代理或改DNS才能正常連線。\n但是有時只將部份網址換成「國內源」是不夠的，因為Stable Diffussion WebUI還會嘗試從HuggingFace等處下載模型。\n為此全域掛著VPN，避免連線受到阻擾會是較好的作法。\nAssertionError: extension access disabled because of commandline flags # webui-user.bat(或webui-user.sh)的COMMANDLINE_ARGS有加入--share或--listen引數就會無法從網頁界面裝擴充功能，這是出於安全性考量。\n你可以：\n將--share或--listen引數刪除。 額外加上--enable-insecure-extension-access引數。 改用Git clone的方式來安裝擴充功能：關閉SD WebUI。於stable-diffusion-webui\\extensions資料夾開啟終端機，輸入git clone \u0026lt;儲存庫網址\u0026gt;下載擴充功能。 modules.devices.NansException: A tensor with all NaNs was produced in Unet. # 此錯誤可能會發生在含有VAE的模型算圖的時候，會導致算出來結果是黑圖。\n開啟webui-user.bat，COMMANDLINE_ARGS後面額外加上--no-half --no-haf-vae引數。\nOSError: [Errno 28] No space left on device # 硬碟或暫存資料夾沒空間了，清出空間後，刪除stable-diffusion-webui裡面的venv資料夾，再重新執行webui-user.bat重裝。\n127.0.0.1:7860拒絕連線 # 變數太多，提供幾個可能解決方案：\n請確認開啟網址前終端機是否還開著，並有顯示Running on Local URL : http://127.0.0.1:7860的字樣 網址改用http://localhost:7860連線 用記事本開啟C:\\Windows\\System32\\drivers\\etc\\hosts，確認裡面有無127.0.0.1 localhost這一行。 請確認電腦沒有執行其他伺服器的程式(如Microsoft IIS)，導致佔用通訊埠。 開啟終端機，執行ipconfig /flushdns指令刷新DNS紀錄 暫時關閉防火牆 DefaultCPUAllocator: not enough memory: you tried to allocate # 電腦RAM不足。跑Stable Diffusion WebUI的RAM至少要8GB，低於此數值的話，Windows用戶請試著啟用系統正在管理分頁檔大小，Linux用戶則是增加SWAP的大小。\nRuntimeError: unexpected EOF, expected more bytes. The file might be corrupted. # 可能是檔案毀損，刪除這些資料夾：stable-diffusion-webui\\models\\GFPGAN、stable-diffusion-webui\\models\\Codeformer、stable-diffusion-webui\\repositories\\CodeForme\n然後重啟SD WebUI讓它重新下載臉部模型。\nCloning Taming Transformers into repositories\\taming-transformers\u0026hellip; # 這不是錯誤，單純是還在下載而已。\n有時候Github下載會比較慢，要耐心等。如果下載失敗，刪除venv資料夾，並晚點重新執行webui-user.bat試試。\ncan\u0026rsquo;t open file \u0026lsquo;/stable-diffusion-webui/launch.py # 如果執行webui-user.sh出現此錯誤，則編輯webui-user.sh，將install_dir後面改成$(pwd)。\n如果是在Google Colab遇到此錯誤，代表程式沒裝成功，請看一下終端機輸出，檢查前面的指令是否有哪步執行出錯。\nCouldn\u0026rsquo;t launch python, exit code 9009 # Windows用戶請重裝Python 3.10.6，並確認有在安裝界面勾選Add Python to PATH\nlibtcmalloc.so.4 python3: version `GLIBCXX_3.4.30\u0026rsquo; not found (required by /usr/lib/libtcmalloc.so.4) # 可能是暫時性的bug。\n啟動conda虛擬環境：conda activate sdwebui，然後安裝gcc：conda install -c conda-forge gcc，接著退出虛擬環境：conda deactivate，再嘗試啟動WebUI。\nPyTorch has CUDA Version=11.7 and torchvision has CUDA Version=11.8. Please reinstall the torchvision that matches your PyTorch install. # 可能是暫時性的bug。\n如果有使用Anaconda，啟動conda虛擬環境：conda activate sdwebui \u0026amp;\u0026amp; source venv/bin/activate\n安裝舊版本PyTorch：pip uninstall torch \u0026amp;\u0026amp; pip install xformers==0.0.16rc425 torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117\n接著退出虛擬環境：deactivate \u0026amp;\u0026amp; conda deactivate\n再嘗試啟動WebUI。\n","date":"2024年2月18日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-installation-errors/","section":"Ai-Arts","summary":"本節列出一些安裝AUTOMATIC1111的Stable Diffusion WebUI常遇到的錯誤訊息的解決方式。 如何回報錯誤 # 你可以到我的Discussion或是AUTOMATIC1111儲存庫的Issue查看別人遇過的錯誤訊息。\n如果遇到了真正無法解決的錯誤，請註冊Github帳號，並到AUTOMATIC1111儲存庫的Issue頁面，點選New Issue → Bug Report，用英文填寫遇到的狀況。\n確保您的電腦符合Stable Diffusion的系統需求 # 參閱Stable Diffusion系統需求\n可能是擴充功能導致的錯誤 # 有時除了Stable Diffusion WebUI本身問題外，也有可能是你安裝的擴充功能出錯導致程式無法啟動。\n請嘗試刪除stable-diffusion-webui/extensions下的某個新安裝的擴充功能資料夾，或是將整個extensions資料夾先移動到其他位置，再嘗試啟動SD WebUI。\n也可以嘗試將Stable Diffusion WebUI主程式更新到最新版本。\nRuntimeError: CUDA Out of memory # 顯示卡的VRAM不足。Stable Diffusion WebUI的顯示卡VRAM最低要求為4GB，要無壓力的玩建議8GB以上。\n","title":"❓ 常見安裝問題｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"我們知道iOS要免越獄側載APP的話，可以透過AltStore安裝，但限於Apple機制，免費Apple ID最多只能安裝3個APP，每週最多簽名10個APP。\n換句話說就是透過AltStore側載，最多只能在一部裝置安裝3個APP啦。\n「WDBRemoveThreeAppLimit」能夠解決以上問題，這是由zhouwei開發的開源APP，功能類似Cowabunga APP，利用「MacDirtyCow」漏洞，讓iOS裝置能夠繞過安裝3個IPA的限制。 WDBRemoveThreeAppLimit沒有圖示，所以我借用Cowabunga的搞笑圖片\n這樣AltStore的用戶就可以側載更多APP了！上限從3個提升到10個。\nWDBRemoveThreeAppLimit適用於iOS 14 ~ iOS 16.2.1的裝置。\n在iOS裝置安裝AltStore\n到Github下載WDBRemoveThreeAppLimit的IPA，安裝上去\n安裝後會自動生效，不用做特別操作。\n","date":"2024年2月17日","externalUrl":null,"permalink":"/posts/macdirtycow-exploit/","section":"所有文章","summary":"我們知道iOS要免越獄側載APP的話，可以透過AltStore安裝，但限於Apple機制，免費Apple ID最多只能安裝3個APP，每週最多簽名10個APP。\n換句話說就是透過AltStore側載，最多只能在一部裝置安裝3個APP啦。\n「WDBRemoveThreeAppLimit」能夠解決以上問題，這是由zhouwei開發的開源APP，功能類似Cowabunga APP，利用「MacDirtyCow」漏洞，讓iOS裝置能夠繞過安裝3個IPA的限制。 WDBRemoveThreeAppLimit沒有圖示，所以我借用Cowabunga的搞笑圖片\n這樣AltStore的用戶就可以側載更多APP了！上限從3個提升到10個。\nWDBRemoveThreeAppLimit適用於iOS 14 ~ iOS 16.2.1的裝置。\n在iOS裝置安裝AltStore\n到Github下載WDBRemoveThreeAppLimit的IPA，安裝上去\n安裝後會自動生效，不用做特別操作。\n","title":"移除AltSotre安裝3個IPA的限制，MacDirtyCow","type":"posts"},{"content":"meobrek2是一款讓你免電腦啟用越獄環境的iOS APP，僅適用A8 ~ A11處理器，且系統版本為iOS 15的裝置 請注意：meowbrek2是重新啟用越獄環境(re-jailbreak)的工具，不是越獄工具。意思是在使用meowbrek2之前，你必須先用palera1n這類的工具將iOS裝置越獄，才可以使用meowbrek2。\nmeowbrek2屬於半完美越獄(semi-untethered)\u0026hellip;好繞口，跟不完美越獄(tethered)一樣開機後越獄環境就會消失，得重新啟用越獄環境。\n但meowbrek2的優勢在於「免電腦重新啟用越獄環境」。過去用palera1n越獄後，由於透過開機觸發漏洞的緣故，每次重開機後必須將手機連上電腦重跑越獄流程。現在有了meowbrek2，只要越獄一次後，就不用連電腦，直接用手機APP重新啟用越獄環境即可。\n此外，TrollStore的機制讓側載到手機的meowbrek2不會輕易過期，彼此互相支援，從而確保meowbrek2能繼續使用，不用重簽。\nAltSotre和TrollStore的用戶也可以因此受惠，因為你不需要連到電腦就可以重簽IPA了。\n安裝meowbrek2的三種方法 # meowbrek2由kok3shi等人開發，尚未公開原始碼。\n根據CFW Guide的說明，meowbrek2嚴格對應iOS版本，依照你的系統版本，會有不同的安裝方式：\niOS 15.0 ~ iOS 15.4.1：使用TrollHelperOTA iOS 15.5 ~ iOS 15.7.1：使用TrollInstallerMDC iOS 15.7.2 ~ iOS 15.8.1：使用TrollMisaka或meowbrek2(palera1n) 1. 將iOS裝置越獄 # 我的裝置是iPhone SE第一代，系統版本iOS 15.8.1，透過TrollMisaka安裝meowbrek2是在繞遠路。反正都要依賴越獄環境，那麼我就直接採用palera1n來安裝meowbrek2就好。\n將iPhone接上電腦，以rootless模式安裝palera1n，完成越獄。\n2. 安裝TrollStore # TrollStore是負責側載meowbrek2之用。\n開啟Sileo商店，加入https://havoc.app套件庫 搜尋安裝「TrollHelper」，點選「佇列」，確認安裝。 回到主螢幕，開啟TrollHelper APP\n點選Install TrollStore 回到主螢幕，開啟TrollStore APP\n點選Settings，點選Install Persistence Helper 選取一個系統APP寄生，這裡我們使用不太會用到的提示APP (Tips) 重新開機\n開啟提示APP（此時已被Persistence Helper寄生），點選Refresh APP Registrations，iOS桌面應該會重新啟動。 3. 安裝meowbrek2 # 重新開機後，palera1n的越獄環境應該已經噴掉，Sileo消失，先不要著急。\n開啟Safari，點選此Github連結，從官網下載tipa檔案（版本1.1.7）\n開啟TrollStore，點選右上角＋號，Install IPA file，安裝palera1n的IPA 之後再重開機一次，你就可以開啟meowbrek2 APP，點選「Jailbreak」，重新啟用越獄環境。 如果啟用越獄環境後Sileo APP沒有復原，請開啟「提示」APP，點選Refresh APP Registrations。\n","date":"2024年2月17日","externalUrl":null,"permalink":"/posts/ios-meowbrek2-rejailbreak/","section":"所有文章","summary":"meobrek2是一款讓你免電腦啟用越獄環境的iOS APP，僅適用A8 ~ A11處理器，且系統版本為iOS 15的裝置 請注意：meowbrek2是重新啟用越獄環境(re-jailbreak)的工具，不是越獄工具。意思是在使用meowbrek2之前，你必須先用palera1n這類的工具將iOS裝置越獄，才可以使用meowbrek2。\nmeowbrek2屬於半完美越獄(semi-untethered)…好繞口，跟不完美越獄(tethered)一樣開機後越獄環境就會消失，得重新啟用越獄環境。\n但meowbrek2的優勢在於「免電腦重新啟用越獄環境」。過去用palera1n越獄後，由於透過開機觸發漏洞的緣故，每次重開機後必須將手機連上電腦重跑越獄流程。現在有了meowbrek2，只要越獄一次後，就不用連電腦，直接用手機APP重新啟用越獄環境即可。\n此外，TrollStore的機制讓側載到手機的meowbrek2不會輕易過期，彼此互相支援，從而確保meowbrek2能繼續使用，不用重簽。\nAltSotre和TrollStore的用戶也可以因此受惠，因為你不需要連到電腦就可以重簽IPA了。\n安裝meowbrek2的三種方法 # meowbrek2由kok3shi等人開發，尚未公開原始碼。\n","title":"meowbrek2，免電腦啟用iPhone越獄環境","type":"posts"},{"content":"這篇文章說明如何透過「palera1n」工具給iPhone越獄，並安裝Sileo商店。 palera1n是基於checkra1n開發的開源越獄工具，支援搭載A8 ~ A11處理器，系統版本為iOS 15 ～ iOS 17.3.1的iPhone/iPad裝置。 paera1n要怎麼唸呢？我認為可以寫作Pale Rain，代表潔白之雨的意思～\n1. palera1n支援的裝置 # 首先，palera1n越獄依賴硬體漏洞，因此要先看你的裝置搭載的處理器是否為A8 ~ A11晶片，更新或更舊的處理器就不用想了。\n再來，palera1n只支援iOS 15和iPadOS 15以上的裝置，iOS 15以下請用原版checkra1n。\npalera1n支援的iOS裝置有以下幾款，只要升級到iOS 15都可以越獄：\niPhone 6 iPhone 6 Plus iPhone 6s iPhone 6s Plus iPod touch 6 iPhone SE 第一代 iPhone 7 iPhone 7 Plus iPod touch 7 iPhone 8 iPhone 8 Plus iPhone X iPad第5代 iPad第6代 iPad第7代 iPad Air 2 iPad Mini 4 iPad Pro第一代 iPad Pro第二代 Apple TV 4 2. palera1n越獄原理 # 根據Github說明，palera1n使用的越獄漏洞叫做\u0026quot;checkm8\u0026quot;，這是搭載A8 ~ A11處理器的iOS裝置才有的開機硬體漏洞，無法透過系統更新修復。所以checkm8支援的都是舊iOS裝置，沒有最新iPhone系列。\npalera1n屬於不完美越獄(semi-tethered)，一旦重開機越獄就會失效，需要手動重新啟用越獄環境。你可以使用電腦或者特定手機APP來重新啟用越獄環境。\n剛出來的時候，palera1n依賴checkra1n的方式來越獄：透過電腦引導開機觸發漏洞，藉以完成越獄。\n後來發展出了「Rootful」模式與「Rootless」模式，讓使用者可以自由選擇。\n就現階段而言，Rootful模式即是跟以前的越獄一樣，獲取系統的最高權限，讓使用者可以任意控制系統，支援的Tweak也比較多。至於Rootless被稱為「未來的越獄模式」，儘管權限限縮許多，但是比較不容易被偵測到越獄。\n3. 越獄注意事項 # 越獄後你的保固就GG了，雖說palera1n支援的iOS裝置現在應該早就沒原廠保固了wwww 您應當先用iTunes備份重要資料，以及知道萬一刷壞如何用DFU重刷iOS系統 palera1n只支援iOS 15以上的裝置，iOS 15以下請用原版checkra1n。 越獄時務必使用Lightning對Type A的線，插到電腦USB 2.0的孔，不要用Type C對Type C的線。 A11處理器的裝置請在越獄時暫時關閉iOS裝置的密碼，增加成功率。 palera1n屬於不完美越獄(semi-tethered)，一旦重開機越獄就會失效，需要重跑越獄流程。 4. 安裝palera1n套件 # palera1n跟原版checkra1n一樣，只能用Linux或macOS電腦操作，Windows電腦請用Live USB跑。\n在Linux安裝libimobiledevice和usbmuxd套件，再重新啟動usbmuxd服務 sudo apt install libimobiledevice usbmuxd sudo systemctl restart usbmuxd 接著，Ubuntu的使用者請至palera1n的Github下載x86_64架構的deb安裝包，用APT安裝： sudo apt install ./palera1n_amd64.deb Arch Linux可從AUR安裝palera1n：\nyay -S palera1n 其他Linux發行版請直接至Github Release，下載二進位執行檔palera1n-linux-x86_64\n5. 開始越獄 # 電腦：Ubuntu 22.04\n手機：iPhone SE第一代，系統版本iOS 15.8.1\nRootless模式 # 這是越獄社群CFW Guide推薦的模式，僅/var/目錄可讀寫。\n開啟終端機，啟動usbmuxd服務 sudo systemctl start usbmuxd 以root身份執行palera1n，進入等待iOS裝置狀態 sudo palera1n -e thid_should_crash=0 將iOS裝置維持解鎖狀態，插到電腦，並在iOS裝置點選「信任此電腦」。\n重新啟動usbmuxd服務\nsudo systemctl stop usbmuxd sudo usbmuxd -f -p 偵測到iOS裝置後，palera1n會自動讓iOS裝置重開機進入Recovery Mode。等到iPhone進入Recovery Mode後，按Enter。\n依照終端機指示，讓iPhone SE進入DFU模式：傳輸線連著電腦，同時按著iPhone開機鍵＋Home鍵15秒，等到畫面變黑。鬆開開機鍵，繼續按著Home鍵10秒。等到畫面仍是一片黑才鬆手。 偵測到DFU模式後，於palera1n終端機按Enter，接著palera1n會使iOS裝置開機進入PongoOS的shell 此時iOS裝置畫面出現彩色象棋 在palera1n終端機按Enter，4秒後按開機鍵＋Home鍵，它會嘗試讓iOS裝置重開機，然後開始越獄。如果沒反應，將iOS裝置線拔掉，再馬上插回去。\n成功越獄時，iOS裝置開機的畫面會輸出一長串訊息\n開機後，大約等個1分鐘，桌面就會出現palera1n的圖示 開啟後點選安裝Sileo商店 按照指示設定sudo密碼，至此越獄完成。 Rootful模式 # Rootful越獄是傳統的越獄方法，可以解鎖系統根目錄的讀寫權限。\n在進行Rootful越獄之前，你必須要保留3GB以上的手機儲存空間，才能讓palera1n建立FakeFS。\n開啟終端機，啟動usbmuxd服務 sudo systemctl start usbmuxd 以root身份執行palera1n，進入等待iOS裝置狀態 sudo palera1n -B -f 將iOS裝置維持解鎖狀態，插到電腦，並在iOS裝置點選「信任此電腦」。\n重新啟動usbmuxd服務\nsudo systemctl stop usbmuxd sudo usbmuxd -f -p 偵測到iOS裝置後，palera1n會自動讓iOS裝置重開機進入Recovery Mode。\n依照終端機指示，讓iPhone SE進入DFU模式：傳輸線連著電腦，同時按著iPhone開機鍵＋Home鍵15秒，等到畫面變黑。鬆開開機鍵，繼續按著Home鍵10秒。等到畫面仍是一片黑才鬆手。\n偵測到DFU模式後，於palera1n終端機按Enter，接著palera1n會使iOS裝置開機進入PongoOS的shell\n此時iOS裝置畫面出現彩色象棋，iOS裝置開機的畫面會輸出一長串訊息\n在palera1n終端機按Enter，它會嘗試讓iOS建立FakeFS。如果沒反應，將iOS裝置線拔掉，再馬上插回去。\nFakeFS建立後，iPhone螢幕會顯示Finished，接著重開機。\n再跑一次palera1n（這次指令不同）\nsudo palera1n -f 重做上面進入DFU的步驟，這次開機後就會真的進行越獄。\n開機後，大約等個1分鐘，桌面就會出現palera1n的圖示\n開啟後點選安裝Sileo商店。至此越獄完成。\n6. 如何重新啟用越獄環境 # iOS裝置重開機後palera1n越獄會失效，Sileo商店會開不起來。\n欲恢復越獄需用電腦重新跑一次上述流程才能重新啟用越獄環境。Rootless模式下整個重跑；Rootful只要重跑sudo palera1n -f就可以了。\n如果是Rootless模式又是iOS 15的裝置的話，可以使用meowbrek2，免電腦重新啟用越獄環境。\n7. 如何移除palera1n # 你可以將palera1n從iOS裝置移除，還原到無越獄前的狀態。\n將iOS裝置插上電腦\n執行以下指令，移除palera1n\n# 移除Rootless越獄 sudo palera1n --force-revert # 移除Rootful越獄 sudo palera1n --force-revert -f 重新開機，手動刪除Sileo商店等其餘越獄APP。\n若還是被銀行APP偵測到越獄，那就只能DFU重刷系統囉。\n參考資料 # 想知道更多越獄情報，歡迎到英文Reddit r/jailbreak板討論！\nInstalling palera1n - CFW iOS Guide Installing palera1n (Rootful) - CFW iOS Guide palera1n/palera1n: iOS 15.0-16.5 semi-tethered checkm8 jailbreak - Github rootless和rootful · iOS逆向：iOS15越狱 iPhone 史上最大資安危機，強烈呼籲受影響的各界重要人士立即更換你的手機| TechNews 科技新報 ","date":"2024年2月17日","externalUrl":null,"permalink":"/posts/ios-palera1n-jailbreak/","section":"所有文章","summary":"這篇文章說明如何透過「palera1n」工具給iPhone越獄，並安裝Sileo商店。 palera1n是基於checkra1n開發的開源越獄工具，支援搭載A8 ~ A11處理器，系統版本為iOS 15 ～ iOS 17.3.1的iPhone/iPad裝置。 paera1n要怎麼唸呢？我認為可以寫作Pale Rain，代表潔白之雨的意思～\n1. palera1n支援的裝置 # 首先，palera1n越獄依賴硬體漏洞，因此要先看你的裝置搭載的處理器是否為A8 ~ A11晶片，更新或更舊的處理器就不用想了。\n再來，palera1n只支援iOS 15和iPadOS 15以上的裝置，iOS 15以下請用原版checkra1n。\npalera1n支援的iOS裝置有以下幾款，只要升級到iOS 15都可以越獄：\niPhone 6 iPhone 6 Plus iPhone 6s iPhone 6s Plus iPod touch 6 iPhone SE 第一代 iPhone 7 iPhone 7 Plus iPod touch 7 iPhone 8 iPhone 8 Plus iPhone X iPad第5代 iPad第6代 iPad第7代 iPad Air 2 iPad Mini 4 iPad Pro第一代 iPad Pro第二代 Apple TV 4 2. palera1n越獄原理 # 根據Github說明，palera1n使用的越獄漏洞叫做\"checkm8\"，這是搭載A8 ~ A11處理器的iOS裝置才有的開機硬體漏洞，無法透過系統更新修復。所以checkm8支援的都是舊iOS裝置，沒有最新iPhone系列。\n","title":"palera1n越獄教學，以iPhone SE 第一代 iOS 15.8.1為例","type":"posts"},{"content":"AUTOMATIC1111的Stable Diffusion WebUI專案原始碼託管在Github，目前「更新」是以git pull指令來操作。\n如何確認最新版本？最新版本號碼和更新日誌可以到Github Releases查看，或者到這裡看作者的commit紀錄。\n1. 檢查本機程式版本 # 這節步驟是用於檢查本機程式的版本，非必要。如果未來要降版才執行這些步驟。\n進入stable-diffusion-webui資料夾，在裡面開啟終端機 Windows請於空白處按右鍵＋SHIFT → 開啟終端機\nLinux和macOS請用cd指令，切換到stable-diffusion-webui資料夾：\ncd ~/stable-diffusion-webui 輸入以下指令，會印出一組長長的英數代碼 git rev-parse HEAD # 範例輸出：89f9faa63388756314e8a1d96cf86bf5e0663045 這串英數就是本機程式的版本(分支代碼)。更新後要降版的話，務必記下此代碼。 2. 更新程式到最新版本 # 進入stable-diffusion-webui資料夾，在裡面開啟終端機 Windows請於空白處按右鍵＋SHIFT → 開啟終端機\nLinux和macOS請用cd指令，切換到stable-diffusion-webui資料夾：\ncd ~/stable-diffusion-webui 如果您已經很久沒更新，或是AUTOMATIC1111發布了大版本更新，則建議您刪除venv資料夾，讓它啟動後重裝依賴套件。\n如果您想要在更新後降版，請先執行上面提及的git rev-parse HEAD指令取得本機的分支代碼。\n拉取最新分支，更新到最新版檔案。\ngit pull # 如果無法更新再用以下指令，注意這會導致本機變更全部丟失 git reset --hard master git pull 檢查啟動指令稿(用文字編輯器開啟webui-user.bat或webui-user.sh)，查看命令列引數有無變更。\n啟動WebUI，看能否正常啟動，以及查看有哪些新變化。\n如果您發現某個功能壞掉，想要降版回之前的版本，則在終端機按CTRL+C終止程式，然後輸入git checkout指令，退回之前的版本：\ngit checkout \u0026#34;分支代碼\u0026#34; ","date":"2024年2月17日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-how-to-update/","section":"Ai-Arts","summary":"AUTOMATIC1111的Stable Diffusion WebUI專案原始碼託管在Github，目前「更新」是以git pull指令來操作。\n如何確認最新版本？最新版本號碼和更新日誌可以到Github Releases查看，或者到這裡看作者的commit紀錄。\n1. 檢查本機程式版本 # 這節步驟是用於檢查本機程式的版本，非必要。如果未來要降版才執行這些步驟。\n進入stable-diffusion-webui資料夾，在裡面開啟終端機 Windows請於空白處按右鍵＋SHIFT → 開啟終端機\nLinux和macOS請用cd指令，切換到stable-diffusion-webui資料夾：\ncd ~/stable-diffusion-webui 輸入以下指令，會印出一組長長的英數代碼 git rev-parse HEAD # 範例輸出：89f9faa63388756314e8a1d96cf86bf5e0663045 這串英數就是本機程式的版本(分支代碼)。更新後要降版的話，務必記下此代碼。 2. 更新程式到最新版本 # 進入stable-diffusion-webui資料夾，在裡面開啟終端機 Windows請於空白處按右鍵＋SHIFT → 開啟終端機\nLinux和macOS請用cd指令，切換到stable-diffusion-webui資料夾：\n","title":"❓ 如何更新程式｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"","date":"2024年2月16日","externalUrl":null,"permalink":"/tags/hupufangqu/","section":"標籤","summary":"","title":"HupuFangQu","type":"tags"},{"content":"Reddit的r/China_irl其實一點也不太監，不如反思是否我們太過激進。兼論我個人對該sub的看法。\n本文為生者傳記，撰寫內容屬於我的主觀觀察，不見得反應社區用戶真實想法。\n今天要來討論Reddit上人數最多的中文sub，卻又被神友浪人稱為「太監區」的Reddit sub：「China_irl」 r/China_irl板標：\n一个以相互尊重为基础、提倡求同存异的中文社区。我们欢迎大家友善地讨论历史、生物、科技、人文、地理、生活等各类话题。 A humble community built on mutual respect. Must use Chinese language. This is NOT a satire/meme sub.\n社區連結： https://www.reddit.com/r/China_irl\n1. r/China_irl由來 # r/China_irl建立於2019年2月25日，比浪人建立r/chonglangTV要早幾個月。 2019年的r/China_irl\nIRL代表In Real Life，即現實生活的意思。\n根據 说一下虎扑防区，以及最近兴起的r/China_irl版块 - 品蔥 的紀載，r/China_irl最早是從中國體育網站「虎撲」開放區逃出來的人群，因為國內言論風氣緊縮，習包子開始拉清單，所以對制度不滿的人搬家到Reddit上。\n中國國內的虎撲開放區於2019年3月正式關停。 現在該sub仍自稱「流浪防區」，乃「流浪虎撲防區」之意，跟浪人沒有關係。虎撲防區用戶人人以鍵政為樂，自稱「鍵委」。這群虎撲用戶中，有各式各樣的派別，有毛派有自由派有小粉紅，原本可以在牆內自由交流，板主不會任意刪帖。但是在言論自由縮緊後用戶逐漸離開中國國內平台，到Reddit追求自由風氣。\nr/China_irl時不時還會有人懷念以前的牆內虎撲，例如：吃水不忘挖井人，本sub作为虎扑开放区正统，大家如何看待虎扑这个网站？\n可惜，sub的Mod沒多久開始濫權，發言稍微激烈一些就會被ban，導致用戶不滿。 其中一名叫做魚QQ的用戶因此出走建立r/real_China_irl抗衡，結果魚QQ的sub逐漸變成浪人聚集地。好比水庫淤積泥沙多了，維護單位乾脆不清除了，變成了那個混亂邪惡的樣子。 2021年的r/real_China_irl\nr/China_irl的用戶另外成立了一個討論遊戲的專板r/youxi，較少鍵政內容。\n根據 来介绍一下太监区是怎么变成太监的 - r/real_China_irl 的觀點，r/China_irl的Mod「ymz」「晴风」等人本身就是粉紅，主導了整個r/China_irl的風氣，總括為：「中國不好，但美國也沒好到哪裡去」的思維。搞笑的是晴风後來自己也被鬥倒了，換其他粉紅味同樣重的Mod執政。\n在r/chonglangTV逐漸崛起後，雙方的勢力便常常交火。對混雜品蔥「支黑」思維的浪人來說，反共不反華就是不反共。r/China_irl有點偏向改良主義的道路，而浪人有些人已經不是反共，而是反華言論，主張徹底毀滅中國才能實現自由民主。r/China_irl的Mod認為是浪人極端主義者，搞仇恨言論且違反Reddit站規，便祭出「禁止曾在r/chonglangTV發言過的帳戶發言」，依賴機器人自動ban人，一刀切遏止浪人入侵。\n豆瓣鵝組r/DoubanGooseGroup也考慮過ban掉讓浪人的作法，沒想到卻也被r/China_irl的亂ban人機制整到了。 r/China_irl本來就有許多「粉紅味」「老中人」的用戶，再加上前述的不透明ban人機制下的受害者現身說法，浪人便逐步將r/China_irl稱為「太監區」，並以此為樂。\nIRL原來真的繼承了中國國內亂刪帖的作法啊！真符合現實！但其實從過去的經驗來看，權蛆亂ban人的問題，浪人sub也有啦，你永永遠遠都是中國人。\n時間過去，兩個sub的人數越來越多，成為Reddit上的中文sub首位。但是2022年3月，r/chonglangTV被Reddit ban掉，隨後一年內Reddit各大沖浪系sub失守（見r/CLTV滅亡事件），r/China_irl依然巋然不動，成為現在Reddit上最多人的中文sub，撰文當下sub用戶已經來到22萬人。\n有浪人打趣說，r/China_irl人那麼多，恐怕一半都被ban了吧！\n個人以為，經過幾年發展下來，r/China_irl的Mod已經較少亂ban人，粉紅味其實沒那麼重了，儘管時不時冒出五毛發言，大多用戶的言論其實仍是反共的，並且不支持過於激烈的中國解體論點。\n2. r/China_irl日常討論內容 # 大部分以中國國內、國際時事為主，偶爾討論哲學科學方面的問題，很少NSFW內容。\n板上不時出現乳包膜蛤段子，儘管大方向氣氛反共，但不時會有走絕對理智路線的用戶冒出來（也就是槓精），他們發表的論點就是「中國不好，但也不要無腦吹美國和西方國家」的方向，在新聞下面顧左右而言它。\n例子：键委们如何看待日本排放核废水，支持日本與反對日本的佔一半一半。\n翻開裡面一些論調，怎麼樣，像不像剛翻牆出來的小粉紅為黨洗地的調調，也可能真的是五毛？但萬一他們只是表達自己獨立思考的意見而已呢？ 個人認為，對比浪人sub面對議題，通篇都是「中國人早該屠屠了」的評論，r/China_irl用戶的發言確實可讓人冷靜面對一下議題。在各種觀點之間，小粉紅式的發言固然無理取鬧，卻也讓人可以窺探中國人真實的想法。\nr/China_irl用戶對台灣和香港抱持還算友善的態度，不會像現今中國網路整天叫囂要「武統台灣」的戰狼，因此不少偏中立的台灣人和香港人也會在r/China_irl發言，並批評r/Taiwanese太過極端。 r/China_irl用戶的觀點仍然以中國為優先，並且禁制極端言論，不可否認的，讓他們在外人看來好像「沒那麼反共」，尤其支黑看來更為如此，稱之為太監。\n除政治議題外，偶爾有用戶會分享個人生活照片（畢竟IRL嘛），但也不敢公開在線下反共串連，會被國安抓走的。\n其實若扒掉政治意識的皮囊，r/China_irl跟浪人討論的問題就是差不多的內容，男性用戶主要討論的包含跟家人的相處方式、交往女朋友的想法，還有怎麼run到國外。對於女權問題的關注較少，常以「女拳」來概括女性主義運動。說穿了就是老中人論壇嘛，有個比喻很貼切：「中年油膩國男下班後聚集在一起扯犢子的地方」\n3. r/China_irl是否真的太監 # 要說r/China_irl是反共論壇網站，我無法給出100%的保證。但可以確定這裡的用戶是傾向反對五毛和粉紅的，要是有人毫無根據的發「我們中國真是太厲害了」的帖子會被踩。\n討論到8964事件的時候，sub用戶多半是持譴責中共態度，並對whataboutism的粉紅話術予以downvote。\n下面這張圖代表r/China_irl用戶自認為的社區用戶畫像：毛派、蛤絲、自由派、皇漢，和樂相處，不歡迎支黑。 看到r/China_irl的觀點，動輒貼上太監的標籤就充耳不聞，我認為是不恰當的。\n如果你真的幾個Reddit中文社區都逛過，自認可以理解浪人的極端思想，但冷靜想一下不能真當屠支大佐，又還想關心中國未來，那麼你可以到r/China_irl看看，理解其他中國人的想法。\n我是在「王志安失言遭民進黨政治封殺」事件後，才真正擁抱r/China_irl用戶的，在那之前都是潛水。我目擊到各大中文社區對此事有截然不同的看法，其中r/China_irl是相對理智（理智不代表正確）的一方，所以在關注r/real_China_irl的同時，又到r/China看看這裡人的說法。 促使我了解到：現在中國人和台灣人對雙方誤解太深了，總是處於敵對狀態，間接影響了很多人的看法，使中間派變得極端。\n不過還是有比較理智的聲音存在，令人感到欣慰。幾個月前，我就宣佈過放棄當純支黑了。\n作為心態上的轉變，我認為香港人寫的這篇很好：反而是魔怔人讓我變得站中間了: r/China_irl\n香港人寫的中立評論，表示認同。真的，一件事情，兩邊的想法都接觸過之後，就不會堅持一種意識形態，並死嗑到底。套用到自身的例子：中國沒有那麼壞，美國沒有那麼好；為台獨出力的民進黨並非都是台獨吉娃娃，意圖跟中國接觸的民眾黨並非都是聖人。\n還是支持人們要有主見，有立場這是對自己的自由負責，但不能輕易成定見，因為人生是無限妥協的過程（就算靈魂自由，我們還是被困在名為軀殼的牢籠）。不想當英雄轟轟烈烈的死，那就聰明一點的苟活。至於網路為什麼有那麼多瘋子，首先得承認這就是事實，難以改變，現在被視為瘋子的未來也可能會變偉人，誰知道。\n但面對惡意時，我們能作到的就是善用媒體識讀，猜想一下對方講極端話語的目的是什麼，如此一來情緒就不會被誘拐走，多點理性務實科學的聲音。\n如果要達成未來中國民主化，台灣建成台獨的目標，我們就有必要嘗試互相理解。即使現實中不可能 ———— 網路上仍然可以試試。\n","date":"2024年2月16日","externalUrl":null,"permalink":"/posts/r-china-irl-on-reddit/","section":"Politics","summary":"Reddit的r/China_irl其實一點也不太監，不如反思是否我們太過激進。兼論我個人對該sub的看法。\n本文為生者傳記，撰寫內容屬於我的主觀觀察，不見得反應社區用戶真實想法。\n今天要來討論Reddit上人數最多的中文sub，卻又被神友浪人稱為「太監區」的Reddit sub：「China_irl」 r/China_irl板標：\n一个以相互尊重为基础、提倡求同存异的中文社区。我们欢迎大家友善地讨论历史、生物、科技、人文、地理、生活等各类话题。 A humble community built on mutual respect. Must use Chinese language. This is NOT a satire/meme sub.\n社區連結： https://www.reddit.com/r/China_irl\n1. r/China_irl由來 # r/China_irl建立於2019年2月25日，比浪人建立r/chonglangTV要早幾個月。 2019年的r/China_irl\nIRL代表In Real Life，即現實生活的意思。\n根據 说一下虎扑防区，以及最近兴起的r/China_irl版块 - 品蔥 的紀載，r/China_irl最早是從中國體育網站「虎撲」開放區逃出來的人群，因為國內言論風氣緊縮，習包子開始拉清單，所以對制度不滿的人搬家到Reddit上。\n中國國內的虎撲開放區於2019年3月正式關停。 現在該sub仍自稱「流浪防區」，乃「流浪虎撲防區」之意，跟浪人沒有關係。虎撲防區用戶人人以鍵政為樂，自稱「鍵委」。這群虎撲用戶中，有各式各樣的派別，有毛派有自由派有小粉紅，原本可以在牆內自由交流，板主不會任意刪帖。但是在言論自由縮緊後用戶逐漸離開中國國內平台，到Reddit追求自由風氣。\n","title":"概論Reddit的大型中文社區「r/China_irl」流浪防區，其實並沒有那麼太監","type":"politic"},{"content":"Google Colab是Google Research推出的免費線上服務，可用伺服器等級的高級顯示卡跑Python程式。有需要的話還可以付費買Pro版，使用更高級的GPU。\n不過要注意：2023年4月21日，Google Colab員工在Twitter宣佈，需要付費購買Pro版才可以跑stable-diffusion-webui。免費版用戶一偵測到stable-diffusion-webui字串就會被封鎖，出現\u0026quot;You may be executing code that is disallowed, and this may restrict your ability to use Colab in the future.\u0026ldquo;的警告訊息。\nGoogle Colab已有很多現成的Stable Diffusion WebUI筆記本可以直接用，不用自己寫程式，例如這個camenduru的筆記本。\n如果你想自己寫Stable Diffusion筆記本，這邊提供我的範本程式，採最小安裝，只安裝必要的東西。\n我的想法是將SD WebUI的程式和模型檔案放到安裝至雲端。優點是裝好後，日後要用就能二分鐘內啟動，而不用等下載模型。\n缺點就是很佔雲端空間，大概需要10GB左右容量。15GB免費容量只夠裝一個存檔點模型和少許LoRA，再勉強塞個ControlNet的擴充功能。因此我的程式碼只下載必要的檔案，擴充功能需要再另外裝。 至Google Colab，點選新增筆記本。 點選新增儲存格，填入以下內容。先別點選執行，這邊我是分步講解，後面再將這些程式碼合起來。\n# 掛載雲端硬碟 from google.colab import drive drive.mount(\u0026#39;/content/drive\u0026#39;) # 建立存放程式檔案的資料夾 !mkdir /content/drive/MyDrive/sd-webui-files 於同一個儲存格，再往下新增程式碼，安裝CUDA # 安裝CUDA、xformers、Triton依賴 !pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116 -U !pip install -q xformers==0.0.16 !pip install -q triton==2.0.0 複製SD WebUI的儲存庫到Google雲端的sd-webui-files資料夾 # 複製SD WebUI上游的儲存庫 !git clone --depth=1 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui 下載Anything V4.5存檔點模型至sd-webui-files/stable-diffusion-webui/models資料夾，網址為在模型網站按右鍵取得 !wget -nc -P \u0026#34;/content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/models/Stable-diffusion\u0026#34; \u0026#34;https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.5-pruned.safetensors\u0026#34; 接著修正儲存庫版本錯誤 # 防止其他儲存庫造成錯誤 %cd /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/ !git reset --hard !git pull !sed -i -e \u0026#39;s/checkout {commithash}/checkout --force {commithash}/g\u0026#39; launch.py 最後，啟動WebUI # 啟動WebUI。直接從launch.py傳遞引數 !python launch.py --share --xformers --enable-insecure-extension-access --theme light 以上的程式碼合併起來就是如下樣子：\nfrom google.colab import drive drive.mount(\u0026#39;/content/drive\u0026#39;) !mkdir /content/drive/MyDrive/sd-webui-files !pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116 -U !pip install -q xformers==0.0.16 !pip install -q triton==2.0.0 !git clone --depth=1 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui !wget -nc -P /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/models/Stable-diffusion https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.5-pruned.safetensors %cd /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/ !git reset --hard !git pull !sed -i -e \u0026#39;s/checkout {commithash}/checkout --force {commithash}/g\u0026#39; launch.py !python launch.py --share --xformers --enable-insecure-extension-access --theme light 點選執行階段 → 變更執行階段，選取使用GPU 點選左上角執行儲存格，允許存取雲端硬碟。 等待依賴裝完，最後會產生Gradio網址，點進去 接下來的用法就跟裝在自己電腦的SD WebUI一樣了，亦可以從網頁界面安裝擴充功能。 使用後請點選執行階段 → 中斷並刪除執行階段。由於相關檔案都是放在雲端，關閉分頁也不會刪除，下次執行可以繼續上一次進度。\n確認SD WebUI已經安裝至雲端後，將筆記本的儲存格替換為以下程式碼。略過下載模型，直接啟動SD WebUI。\nfrom google.colab import drive drive.mount(\u0026#39;/content/drive\u0026#39;) !pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116 -U !pip install -q xformers==0.0.16 !pip install -q triton==2.0.0 %cd /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/ !python launch.py --share --xformers --enable-insecure-extension-access --theme light stable-diffusion-webui會安裝到Google雲端硬碟的sd-webui-files資料夾下面。想新增模型或擴充功能，往Google雲端資料夾的對應資料夾上傳檔案就可以了。\nstable-diffusion-webui下面有幾個重要的資料夾：\nextensions：放擴充功能的資料夾 models/stable-duffusion：放存檔點模型 models/Lora：放LoRA模型 outputs：生圖輸出的資料夾 ","date":"2024年2月16日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-deploy-to-google-colab/","section":"Ai-Arts","summary":"Google Colab是Google Research推出的免費線上服務，可用伺服器等級的高級顯示卡跑Python程式。有需要的話還可以付費買Pro版，使用更高級的GPU。\n不過要注意：2023年4月21日，Google Colab員工在Twitter宣佈，需要付費購買Pro版才可以跑stable-diffusion-webui。免費版用戶一偵測到stable-diffusion-webui字串就會被封鎖，出現\"You may be executing code that is disallowed, and this may restrict your ability to use Colab in the future.“的警告訊息。\nGoogle Colab已有很多現成的Stable Diffusion WebUI筆記本可以直接用，不用自己寫程式，例如這個camenduru的筆記本。\n如果你想自己寫Stable Diffusion筆記本，這邊提供我的範本程式，採最小安裝，只安裝必要的東西。\n我的想法是將SD WebUI的程式和模型檔案放到安裝至雲端。優點是裝好後，日後要用就能二分鐘內啟動，而不用等下載模型。\n缺點就是很佔雲端空間，大概需要10GB左右容量。15GB免費容量只夠裝一個存檔點模型和少許LoRA，再勉強塞個ControlNet的擴充功能。因此我的程式碼只下載必要的檔案，擴充功能需要再另外裝。 至Google Colab，點選新增筆記本。 點選新增儲存格，填入以下內容。先別點選執行，這邊我是分步講解，後面再將這些程式碼合起來。\n# 掛載雲端硬碟 from google.colab import drive drive.mount('/content/drive') # 建立存放程式檔案的資料夾 !mkdir /content/drive/MyDrive/sd-webui-files 於同一個儲存格，再往下新增程式碼，安裝CUDA # 安裝CUDA、xformers、Triton依賴 !pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116 -U !pip install -q xformers==0.0.16 !pip install -q triton==2.0.0 複製SD WebUI的儲存庫到Google雲端的sd-webui-files資料夾 # 複製SD WebUI上游的儲存庫 !git clone --depth=1 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui 下載Anything V4.5存檔點模型至sd-webui-files/stable-diffusion-webui/models資料夾，網址為在模型網站按右鍵取得 !wget -nc -P \"/content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/models/Stable-diffusion\" \"https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.5-pruned.safetensors\" 接著修正儲存庫版本錯誤 # 防止其他儲存庫造成錯誤 %cd /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/ !git reset --hard !git pull !sed -i -e 's/checkout {commithash}/checkout --force {commithash}/g' launch.py 最後，啟動WebUI # 啟動WebUI。直接從launch.py傳遞引數 !python launch.py --share --xformers --enable-insecure-extension-access --theme light 以上的程式碼合併起來就是如下樣子：\n","title":"☁️ 部署至Google Colab｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"文 / Ivon Huang / 一介中華民國台灣的草民 ← 模仿專業叫獸專欄的格式\n近年來，很多人應該能讀到化名「翁達瑞」的教授所發的政治貼文，言必稱美國大學教授，不論是Facbook還是在報章雜誌。我得說，他的文章雖有理，但不能盡信，講難聽點完全是民進黨側翼的話術，他也不否認嘛。他對許多議題都帶有政治眼光解讀，忽視了背後真正的問題。譬如，把2023年8月還我路權運動說成政治操作，就是很好的證明。\n之前他主要在Facebook和Twitter發文，現在擴展到Threads，因為新平台人還比較少的緣故吧，斷章取義批評柯文哲後馬上被正義人士打臉。看他在美國教授的課程獲得學生好評，絕非單純領錢辦事網軍之流，何以政治觀點如此鐵桿狹隘，甚至很多時候舉不出證據，只能用片面之詞概括社會事件？\n「教授」「專家」「高知識份子」「名人」（或曰：名嘴）、「專業人士」在這世上數量很多，很多人也愛時時提起頭銜自豪，可這個頭銜能不能代表他說的話語就一定是真理？儘管學術領域有成，但是面對其專業以外領域的談話，就要戒慎恐懼，要知道為政治勢力洗地的何其多啊。假設脫離掉這個頭銜發言，說的話有多人能相信？恐怕連聽都不願意聽吧。\n高知識份子言論不總是能盡信，相信我不是第8964個發現這件事的人。思其原因，從幾年前看過中國的張維為、陳平教授等人的言論的那個時候開始，我就有這個認識了。\n張維為：「中國人，你要自信」。接著請繼續收看《這就是中國》blahblahblah的大國崛起演講。我真的有看過他的節目，發現跟學習強國的內容沒有兩樣，但起碼講的比習近平談治國理政要好啦。 陳平：「中國2000人民幣比美國3000美元薪水要幸福」，即所謂「陳平不等式」。接著曬出自己在水深火熱美國的大豪斯。\n中國許多專家學者，有的當到人大代表了，還口出狂言的不在其數。專家學者何以發表脫離現實問題的言論，一直是讓人匪夷所思的問題。\n再看外國，如是我聞，聽教授說美國語言學家Noam Chomsky訪台時曾在演講到一半的時候突然開始宣傳無政府工團主義。儘管在語言學理論上有普遍語法的建樹，但是政治觀點卻是如此不切實際。\n再論英國Roger Waters，在Pink Floyd的當家台柱期間寫了許多高深哲學詞，但政治立場上是鐵鐵的左翼，認為台灣是中國一部份，支持俄羅斯侵略等言論，完全與現存領軍人物David Gilmour的理念背道而馳。\n美國前Fox主播Tucker Carlson擁有高學歷，卻可以為了反民主黨跑去支持普丁，立場反覆橫跳，散布陰謀論。\n台灣也不惶多讓，當醫生的碰到政治就有機率失智，外科醫生每天失言的，護理師創立精釀群組的，帶槍投靠說自己是蠍子的，貼牌代購還買新聞稱讚自己的，說不要太不滿狂喝酒的，想買瘦肉精賭300萬的，當總統了違建還賴著不拆的，比比皆是。\n政治廚之所以叫政治廚（包含我自己），就是表示對自己觀點執迷不悟才會這樣稱呼。\n愛因斯坦1952年曾評論過：「\u0026hellip;學生必須了解並強烈感受任何價值觀，他必須真切感受美麗事物和道德良善，不然，他的專業知識只是讓他比較像一隻訓練有素的狗，而不是一個和諧發展的人。」簡言之，很多專家的言論如果脫離實際問題，就只是「訓練有素的狗」而已。還有用漱口杯和大海比喻國家前途的，誰聽得懂啊！？\n學歷保證了專家學者的頭腦不見得是笨，很多時候講的話，不是蠢，就是故意使壞的吧。至於論文抄襲還詭辯是非可以這樣顛倒嗎，導致丟掉二個碩士學位的，可以說是真笨了。\n再如美國社會學家Thomas Sowell所言：「知識分子因為擁有智力上的優勢，特別容易把自己當成上帝——以為自己可以突破能力與理性的限制，卻忘了自己作為人的有限身份，從來不必為自己的理論、言論負責，因此很容易危害社會。」這番話與言論自由的精神並不互相牴觸，因為他們認識到自己是公眾人物還能胡說八道 —— 不用哈佛大學校長講的要大學畢業才能聽出的謊言 —— 不是蠢就是壞，不然就是帶有某種目的性 —— 因為觀眾愛聽，講了就有人擁護，尤其是頭銜響亮的人出來發聲，鼠輩之流覺得自己的想法得到背書，自然就能跟著雞犬升天了。\n不過這不代表我要全然否定專業人士的見解，全然的鄙棄知識份子會犯了《專業之死》一書中講的毛病。右派反智主義的危害不用多說，左派鬥爭路線也是錯誤，反對對方就要出征cancel掉，這是不健全的想法。讓人說話，天塌不下來。尊重言論自由，持某種政治主張就要有容忍另一種主張的雅量。\n沒有人想成為追殺來追殺去的道德魔人，是吧。 前面說過的Chomsky不會無腦的力挺所有左派思想，他依然支持言論自由的重要性。翁達瑞也曾經為自己的不實言論道歉過。\n細看這些專家學者的暴論，有些論述確實有理，但是有時意識形態太重就會扭曲真理，將事情往錯誤的方向解讀，貼標籤、去脈絡化，進而影響公眾的想法，這就不對了。我並不全然仇視民進黨，我依然支持台灣獨立，知道裡面仍有好人，但是壞人的聲音顯然更符合自身的政治需要，所以壓過了真理。對待中國，也是如此，我依然希望中國民主化，但是不把所有中國人當敵人。\n不難否認，判斷一個人是不是在「胡說」乃至於危害社會，其實是主觀的問題。譬如美國某教授對邪教的定義：「與我信不同宗教的都是邪教」，黨同伐異乃人之常情，即使脫離宗教進入政黨政治也是如此。蔑於事實的胡說當然算造謠，但戴上政治顏色的眼鏡來解讀問題，試圖引導輿論，算不算一種惡行？倘若一概禁制之，便為箝制思想罪罷。\n當今社會多了網路媒介，訊息傳播的更快，很多人根本不在意事實真相如何，而只是跟風看戲，看誰打臉誰，誰又怒嗆回去了。有人甘願做被訊息餵食的最底層，吃特定媒體排出的大便。假若沒有媒體識讀能力，那麼既定印象形成之後，便會被聲音比較大的混帳帶著走，進而影響現實世界中的看法。\n我借用蘇聯文學家Солженицын的話：「我們知道他們在說謊，他們也知道自己在說謊，他們也知道我們知道他們在說謊，我們也知道他們知道我們知道他們說謊，但是他們依然在說謊。」一個專家背後說話有多少出自真心？或是被意識形態蒙蔽了良心？只有當事人最清楚。\n心存善念，盡力而為，這個作法僅能在心理上給點安慰。面對流言蜚語，過去的道德勸說不見然有效，那麼一切的問題最終還是要回到現實的問題上來，仔細辨別他人的話語。少談點主義，多談點問題，胡適七八十年前的倡導，現在看來仍有有用之處。\n","date":"2024年2月15日","externalUrl":null,"permalink":"/posts/2024021501/","section":"Politics","summary":"文 / Ivon Huang / 一介中華民國台灣的草民 ← 模仿專業叫獸專欄的格式\n近年來，很多人應該能讀到化名「翁達瑞」的教授所發的政治貼文，言必稱美國大學教授，不論是Facbook還是在報章雜誌。我得說，他的文章雖有理，但不能盡信，講難聽點完全是民進黨側翼的話術，他也不否認嘛。他對許多議題都帶有政治眼光解讀，忽視了背後真正的問題。譬如，把2023年8月還我路權運動說成政治操作，就是很好的證明。\n之前他主要在Facebook和Twitter發文，現在擴展到Threads，因為新平台人還比較少的緣故吧，斷章取義批評柯文哲後馬上被正義人士打臉。看他在美國教授的課程獲得學生好評，絕非單純領錢辦事網軍之流，何以政治觀點如此鐵桿狹隘，甚至很多時候舉不出證據，只能用片面之詞概括社會事件？\n「教授」「專家」「高知識份子」「名人」（或曰：名嘴）、「專業人士」在這世上數量很多，很多人也愛時時提起頭銜自豪，可這個頭銜能不能代表他說的話語就一定是真理？儘管學術領域有成，但是面對其專業以外領域的談話，就要戒慎恐懼，要知道為政治勢力洗地的何其多啊。假設脫離掉這個頭銜發言，說的話有多人能相信？恐怕連聽都不願意聽吧。\n高知識份子言論不總是能盡信，相信我不是第8964個發現這件事的人。思其原因，從幾年前看過中國的張維為、陳平教授等人的言論的那個時候開始，我就有這個認識了。\n張維為：「中國人，你要自信」。接著請繼續收看《這就是中國》blahblahblah的大國崛起演講。我真的有看過他的節目，發現跟學習強國的內容沒有兩樣，但起碼講的比習近平談治國理政要好啦。 ","title":"「教授」「專家」「名嘴」的政治評論並不總是可信","type":"politic"},{"content":"您可以在一部電腦安裝Stable Diffusion WebUI，設定防火牆，然後啟動程式，使用其他裝置遠端存取網頁界面，並開放給多人共用。\n這樣Android/iOS的手機平板也能遠端存取Stable Diffusion WebUI的界面了。\n例如，從Android手機的Google Chrome瀏覽器存取同一網路下，另一部電腦的Stable Diffusion WebUI。 目前有二種遠端存取的解決方案。\n1. 使用區域網路連線 # 區域網路指的是電腦與手機處於同一網段，例如連線到同一個Wifi。\n開放電腦防火牆的7860 TCP通訊埠\n使用ip addr或ifconfig指令查看本機區域IP，應是以192.168開頭\n在啟動Stable Diffusion WebUI的指令稿的COMMANDLINE_ARGS後面加入--listen引數。\n啟動Stable Diffusion WebUI，接著在另一部裝置的瀏覽器輸入http://電腦IP:7860即可連線到網頁界面。\n2. 使用Gradio的公開網址 # 類似ngrok的解決方案，在啟動後產生一組Gradio網址，72小時後過期。這樣就不需要設定防火牆，也不用讓所有裝置處於同一個網段。\n但是，網址是向全世界公開的，如果有人連到您的網址，那麼您的電腦可能會被人當作免費算圖機。\n在啟動Stable Diffusion WebUI的指令稿的COMMANDLINE_ARGS後面加入--share引數。\n啟動Stable Diffusion WebUI，此時會發現除了原本的127.0.0.1網址外，還多了一個gradio.live的網址。這個網址任何裝置都可以連線，點進去便會進到網頁界面。\n","date":"2024年2月15日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-remote-access/","section":"Ai-Arts","summary":"您可以在一部電腦安裝Stable Diffusion WebUI，設定防火牆，然後啟動程式，使用其他裝置遠端存取網頁界面，並開放給多人共用。\n這樣Android/iOS的手機平板也能遠端存取Stable Diffusion WebUI的界面了。\n例如，從Android手機的Google Chrome瀏覽器存取同一網路下，另一部電腦的Stable Diffusion WebUI。 目前有二種遠端存取的解決方案。\n1. 使用區域網路連線 # 區域網路指的是電腦與手機處於同一網段，例如連線到同一個Wifi。\n開放電腦防火牆的7860 TCP通訊埠\n使用ip addr或ifconfig指令查看本機區域IP，應是以192.168開頭\n在啟動Stable Diffusion WebUI的指令稿的COMMANDLINE_ARGS後面加入--listen引數。\n啟動Stable Diffusion WebUI，接著在另一部裝置的瀏覽器輸入http://電腦IP:7860即可連線到網頁界面。\n2. 使用Gradio的公開網址 # 類似ngrok的解決方案，在啟動後產生一組Gradio網址，72小時後過期。這樣就不需要設定防火牆，也不用讓所有裝置處於同一個網段。\n","title":"📱手機遠端存取｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"「Android Studio」是Google官方基於Intellij IDEA開發的整合式開發環境，還內建功能齊全的Android手機模擬器，寫Android APP常常會用到。\n根據官方文件，Linux的套件為zip檔，解壓縮後點選二進位檔執行，使用者還要手動設定Java環境。\n這裡嘗試使用另一種非正規的方式來設定Android Studio：用Flatpak格式安裝，如此一來理論上在Fedora Sivlerblue、openSUSE MicroOS、Steam Deck等系統也可以跑Android Studio了。\n警告：這是非正規的安裝方法，可能會給開發工作帶來許多困擾。\nFlatpak格式可以統一管理系統依賴套件，將Java之類的全部塞在沙盒裡執行，版本與系統的隔絕。除安裝上需要做些特殊調整外，其餘功能與一般版沒有差異。 下面是我的的設定筆記。\n1. 安裝Flatpak版Android Studio # Android Studio版本：2023.1.1 Patch 2\n測試系統：Ubuntu 22.04 LTS\nAndroid Studio目前由Linux社群打包，已上架Flathub，安裝Flatpak後，再用指令安裝： flatpak --user install flathub com.google.AndroidStudio 安裝後開啟Android Studio，按照畫面指示設定。下載SDK檔案，路徑維持預設，放在~/Android，其他設定檔資料放在~/.var/app/com.google.AndroidStudio/data/ ~/Android目錄下包含Android Studio所需的一切工具，包含AVD模擬器、Platform Tools (ADB和Fastboot)。\n新增一個專案後即可使用Android Studio。\n2. 管理Android Studio的手機模擬器 # AVD (Android Virtual Device) 是Android Studio內建的手機模擬器，提供多樣的偵錯功能，支援GPU加速。\n在Linux安裝QEMU/KVM套件，Virt Manager可不裝。\n確認KVM核心模組有載入\nsudo lsmod kvm kvm --version 允許Android Studio存取KVM裝置，防止AVD卡在waiting for all devices to come online錯誤 flatpak override --device=kvm com.google.AndroidStudio 如果要讓AVD模擬器使用Nvidia GPU硬體加速，請記得安裝閉源圖形驅動。\n以上程序就緒後，就可以點選Tools → Device Manager，啟動Android手機模擬器了。預設型號是為Pixel 3a 你可以點選Advanced Settings，啟用GPU硬體加速。 3. 管理Java版本 # Android Studio預設只能讀到沙盒內的JDK。\n各種版本的OpenJDK可以從Flathub下載： flatpak search org.freedesktop.Sdk.Extension.openjdk flatpak install org.freedesktop.Sdk.Extension.openjdk11 裝完後要啟用Flatpak Extension flatpak override --env=FLATPAK_ENABLE_SDK_EXT=* com.google.AndroidStudio 對Flatpak程式而言，JDK路徑位於/usr/lib/sdk/openjdk\n如果一定要用系統安裝的Java，那就開放Android Studio對該路徑的讀取權限，再用環境變數JAVA_HOME設定Java路徑：\nflatpak override --filesystem=/usr/lib/jvm/java-19-openjdk-amd64 com.google.AndroidStudio flatpak override --env=JAVA_HOME=/usr/lib/jvm/java-19-openjdk-amd64 4. Flatpak環境安裝Flutter SDK # Flutter為Google推出的跨平台框架，目前尚未有Flatpak格式套件，必須手動設定SDK。\n參考Flutter官方文件，使用Manual方式安裝Flutter SDK cd ~ # 解壓縮 tar xf flutter_linux_3.16.9-stable.tar.xz # 將Flutter加入到PATH，填入到.bashrc echo \u0026#39;PATH=\u0026#34;$PATH:/home/$USER/flutter/bin\u0026#34;\u0026#39; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 使用flutter config指示Android Studio的路徑 flutter config --android-studio-dir=\u0026#34;/home/user/.local/share/flatpak/app/com.google.AndroidStudio/current/active/files/extra/android-studio\u0026#34; 使用flutter doctor -v檢查環境是否正確安裝，並依照文字指示修正問題 例如要解決cmdline-tools component is missing，就到Android Studio的Tools → SDK Manager，取消勾選Hide Obsolete Packages，再點選下載Android SDK Command-line Tools 再同意全部授權條款\nflutter doctor --android-licenses Cannot find Chrome的問題，參考Linux安裝Chrome教學，你可以裝deb或者Flatpak版，再用環境變數CHROME_EXECUTABLE指向二進位檔路徑即可： # Flatpak版Chrome路徑 echo \u0026#39;CHROME_EXECUTABLE=/home/user/.local/share/flatpak/app/com.google.Chrome/current/active/export/bin/com.google.Chrome\u0026#39; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc Clang、Ninja、GTK3的套件，就用系統套件管理器安裝 sudo apt install clang ninja-build libgtk-3-dev 以Flatpak Extension安裝Clang flatpak install org.freedesktop.Sdk.Extension.llvm15 flatpak --user override --env=FLATPAK_ENABLE_SDK_EXT=* com.google.AndroidStudio 再跑一次flutter doctor -v，只剩Unable to determine Android Studio version.錯誤，這個可以暫時忽略 開啟Android Studio，在Tools → SDK Manager → Plugins，下載Flutter與Dart的插件 重啟後便可新增Flutter專案，需手動指定Flutter SDK路徑 參考資料 # Android Studio官方文件 Issues · flutter/flutter ","date":"2024年2月14日","externalUrl":null,"permalink":"/posts/android-studio-flatpak/","section":"所有文章","summary":"「Android Studio」是Google官方基於Intellij IDEA開發的整合式開發環境，還內建功能齊全的Android手機模擬器，寫Android APP常常會用到。\n根據官方文件，Linux的套件為zip檔，解壓縮後點選二進位檔執行，使用者還要手動設定Java環境。\n這裡嘗試使用另一種非正規的方式來設定Android Studio：用Flatpak格式安裝，如此一來理論上在Fedora Sivlerblue、openSUSE MicroOS、Steam Deck等系統也可以跑Android Studio了。\n警告：這是非正規的安裝方法，可能會給開發工作帶來許多困擾。\nFlatpak格式可以統一管理系統依賴套件，將Java之類的全部塞在沙盒裡執行，版本與系統的隔絕。除安裝上需要做些特殊調整外，其餘功能與一般版沒有差異。 下面是我的的設定筆記。\n1. 安裝Flatpak版Android Studio # Android Studio版本：2023.1.1 Patch 2\n測試系統：Ubuntu 22.04 LTS\nAndroid Studio目前由Linux社群打包，已上架Flathub，安裝Flatpak後，再用指令安裝： flatpak --user install flathub com.google.AndroidStudio 安裝後開啟Android Studio，按照畫面指示設定。下載SDK檔案，路徑維持預設，放在~/Android，其他設定檔資料放在~/.var/app/com.google.AndroidStudio/data/ ","title":"Linux系統以Flatpak格式安裝Android Studio和Flutter SDK","type":"posts"},{"content":"","date":"2024年2月14日","externalUrl":null,"permalink":"/tags/genymotion/","section":"標籤","summary":"","title":"Genymotion","type":"tags"},{"content":"Genymobile開發的「Genymotion Android Emulator」為一款跨平台的Android模擬器軟體，功能豐富，可以玩遊戲，且是目前唯一一款支援Linux的商業Android模擬器。 在眾多Linux Android模擬器方案中，Genoymotion的功能跟Android Studio的AVD不相上下，同樣支援GPU加速和ARM轉譯，也能模擬許多Android裝置。\n且Genoymotion執行起來沒Android Studio那麼吃資源，玩遊戲無負擔。 不過，與其說用Genoymotion玩遊戲，Genymotion比較是面向企業客戶研發，用於大規模測試開發的模擬器。他們也有推出雲手機的服務。\n順帶一提：Genymobile就是著名手機遙控程式「Scrcpy」的開發商。\nGenymotion屬於混合開源授權的閉源軟體，一般用戶使用需要註冊帳號，且功能受限，需要花錢訂閱授權方能解鎖全部功能。\n1. 安裝Genymotion Desktop # 測試系統：Ubuntu 22.04 LTS\nLinux版Genymotion可以選擇用KVM或VirtualBox作為虛擬化後端，我使用前者。因此請先在Ubuntu安裝QMEU/KVM相關套件\n到Genymotion官網註冊一個帳號，公司名稱隨便填沒關係。\n到Genymotion Desktop網頁下載Linux安裝檔\nGenymotion的bin檔案本質上是一個壓縮檔，裡面包含主程式。我將其移動到~/Applications目錄，再解壓縮\ncd ~/Downloads mkdir ~/Applications mv genymotion-3.6.0-linux_x64.bin ~/Applications cd ~/Applications ./genymotion-3.6.0-linux_x64.bin 將genymotion的二進位路徑加入到PATH echo \u0026#34;PATH=$PATH:~/Applications/genymotion/genymotion\u0026#34; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 執行genymotion指令，或者到~/Applications/genymotion/對genymotion執行檔點二下，開啟主程式。\n啟動後登入Genymotion帳號，選取Personal Use Genymotion安裝後會自動加入到應用程式列表。\n2. 新增Android模擬器 # Genoymotion的界面操作很直觀，選取你要模擬的手機型號，下載映像檔安裝即可。雖然這些手機型號都很舊，但是Android版本可是有跟上最新版的喔。 開機後進入Android，會發現左下角出現浮水印，需要花錢才能消除，後面我會告訴大家一個解除的小撇步。你可以直接用鍵盤操作手機，且兩邊的剪貼簿會自動同步。 需要Play商店的用戶，請點選右邊這個按鈕，安裝GApps 你可以直接從Linux的檔案管理器，拖動APK到Genymotion的視窗安裝。安裝時建議以x86_64或Universal的APK為主，沒有的話再裝ARM版，這麼做的原因是Genymotion內建的ARM轉譯器不見得能正常執行ARM架構的APP。\n3. 給Genymotion模擬器啟用ADB偵錯 # Genymotion可搭配Android Studio使用，取代AVD當作Android模擬器。\n於Linux安裝Platform Tools\n在Android虛擬機設定的「開發人員選項」開啟USB偵錯\n開啟終端機，用ADB指令列出裝置\nadb devices 連線 adb connect 127.0.0.1:6555 弄好ADB偵錯後，你可以跑個QTScrcpy，繞過Genymotion的浮水印限制。用你的魔法對付回去！ ","date":"2024年2月14日","externalUrl":null,"permalink":"/posts/genymotion-for-linux/","section":"所有文章","summary":"Genymobile開發的「Genymotion Android Emulator」為一款跨平台的Android模擬器軟體，功能豐富，可以玩遊戲，且是目前唯一一款支援Linux的商業Android模擬器。 在眾多Linux Android模擬器方案中，Genoymotion的功能跟Android Studio的AVD不相上下，同樣支援GPU加速和ARM轉譯，也能模擬許多Android裝置。\n且Genoymotion執行起來沒Android Studio那麼吃資源，玩遊戲無負擔。 不過，與其說用Genoymotion玩遊戲，Genymotion比較是面向企業客戶研發，用於大規模測試開發的模擬器。他們也有推出雲手機的服務。\n順帶一提：Genymobile就是著名手機遙控程式「Scrcpy」的開發商。\nGenymotion屬於混合開源授權的閉源軟體，一般用戶使用需要註冊帳號，且功能受限，需要花錢訂閱授權方能解鎖全部功能。\n1. 安裝Genymotion Desktop # 測試系統：Ubuntu 22.04 LTS\nLinux版Genymotion可以選擇用KVM或VirtualBox作為虛擬化後端，我使用前者。因此請先在Ubuntu安裝QMEU/KVM相關套件\n","title":"Linux版Genymotion的安裝教學 ～ 跨平台Android手遊模擬器","type":"posts"},{"content":" 1. 確認筆電連接獨顯的配置 # 很多有獨顯筆電的都是Intel內顯 ＋ Nvidia獨顯的配置。少部份為AMD + Nvidia獨顯。\nNvidia顯示卡在筆電上仰賴「Optimus」技術來切換顯示卡。根據Lan Tian Blog的介紹，搭載Nvidia的筆電，內部會有以下三種接法：\nNvidia Optimus MUXless架構，難以GPU直通 Nvidia Optimus MUXed架構，最適合GPU直通 Nvidia顯卡直連螢幕，難以GPU直通 確認筆電連接獨顯的方式，可以從lspci輸出的訊息來推斷： lspci -nnk | grep -A 3 -i \u0026#34;VGA\\|3D\u0026#34; 判讀方式： VGA compatible controller：代表這是MUXed。 3D controller：這是MUXless。 如果是MUXed的話，直通GPU的方式就跟一般桌機沒兩樣。\n2. 雙GPU直通 # Linux用Intel內顯開機，啟動虛擬機後直通Nvidia顯示卡，Nvidia顯示卡插上「HDMI欺騙器」，Linux端再用Looking Glass存取Windows桌面。\n好處是這樣可以同時用兩個系統，跟桌機GPU直通步驟沒兩樣，過程參考這篇：Ubuntu Nvidia GPU直通\n","date":"2024年2月14日","externalUrl":null,"permalink":"/posts/nvidia-muxed-optimus-linux-laptop-gpu-passthrough/","section":"所有文章","summary":"1. 確認筆電連接獨顯的配置 # 很多有獨顯筆電的都是Intel內顯 ＋ Nvidia獨顯的配置。少部份為AMD + Nvidia獨顯。\nNvidia顯示卡在筆電上仰賴「Optimus」技術來切換顯示卡。根據Lan Tian Blog的介紹，搭載Nvidia的筆電，內部會有以下三種接法：\nNvidia Optimus MUXless架構，難以GPU直通 Nvidia Optimus MUXed架構，最適合GPU直通 Nvidia顯卡直連螢幕，難以GPU直通 確認筆電連接獨顯的方式，可以從lspci輸出的訊息來推斷： lspci -nnk | grep -A 3 -i \"VGA\\|3D\" 判讀方式： VGA compatible controller：代表這是MUXed。 3D controller：這是MUXless。 如果是MUXed的話，直通GPU的方式就跟一般桌機沒兩樣。\n2. 雙GPU直通 # Linux用Intel內顯開機，啟動虛擬機後直通Nvidia顯示卡，Nvidia顯示卡插上「HDMI欺騙器」，Linux端再用Looking Glass存取Windows桌面。\n好處是這樣可以同時用兩個系統，跟桌機GPU直通步驟沒兩樣，過程參考這篇：Ubuntu Nvidia GPU直通\n","title":"Optimus MUXed的Linux筆電直通Nvidia GPU給QEMU/KVM虛擬機","type":"posts"},{"content":"Ivon介紹如何使用開源的「Neo Backup」APP，取代鈦備份，完整備份手機APP資料。 1. 關於Android備份機制 # 時至今日，原生Android的備份機制還是很糟糕，都已經Android 14了仍沒有整機備份的功能。如果手機廠商沒有開發自家的備份方案，則要免Root備份所有手機資料可以說是天方夜譚。\n很多手機都有Google服務，內建Google One備份到Google雲端的功能，但那個只能備份Wifi密碼、Play商店的APP列表而已，不含APP資料。如果你的APP不支援存檔到雲端，則換手機資料一定不見。 而免Root的備份方案，例如ADB backup指令、SeedVault、Swift Backup備份的東西同樣有限，碰到禁止備份資料的APP就沒輒了，無法暴力備份所有資料。\n所以，將手機Root後再備份仍是比較好的做法。只要有了Root權限，沒什麼不能備份的。不過你得先清除手機資料並Root手機才可以使用Root的備份方案。\n什麼？清除手機資料再備份？如果資料清空了我要備份個洨？\n是的瑞凡，現在解鎖Bootlaoder後手機資料都會先清除一遍才可以Root，所以請不要問我「為什麼我要先清空手機資料才能開始備份App」的問題。如果你想要用Root權限備份APP，那麼手機剛買來就應該解鎖了。\n說到Root備份軟體，過去流行閉源軟體鈦備份(Titanium Backup)，本文Ivon採用開源的Neo Backup替代之，功能跟鈦備份十分類似。\n2. Neo Backup簡介 # Neo Backup為基於OAndBackup開發的自由開源軟體，支援Android 8以上手機。\n目前Neo Backup尚未上架Google Play，請至F-Droid或Github下載。\nNeo Backup使用Root權限強制備份所有APP，能夠繞過APP禁止備份資料的設定，這樣就比ADB備份指令強多了。\n相較於免Root的備份方案，Neo Backup幾乎什麼都可以備份，適用所有Root過、Android 8以上的手機。\n3. Neo Backup跟TWRP的差別 # 雖然要暴力備份整支手機資料我們有TWRP可以用，但不是每支手機都有TWRP；相較之下在手機裝Neo Backup APP要容易多了。\nTWRP的備份等同把整支手機的分區存成映像檔，資料會非常大。例如128GB手機就算經過壓縮，備份檔仍然有50GB。並且備份的資料僅適合「整機還原」，不方便轉移到其他手機。\nNeo Backup僅備份APP資料，檔案就小多了，可以轉移到新手機繼續使用。此外Neo Backup也可以備份Wifi密碼、通訊錄、桌布等部分系統資料。\n但缺點就是Neo Backup不會備份系統方面的資訊，致使無法一鍵換機。\n4. Neo Backup的使用 # Neo Backup操作界面直觀，一般APP和系統APP都可以備份 「特殊備份」指的是Wifi設定、藍芽設定這類系統資訊，換手機後不見得通用。 每個APP最多建立二個備份檔。 備份會盡可能把APP自身的資料都包含進去，但若你有另外設定資料夾放照片就要自己處理。 你還可以設定定時備份排程。 備份檔預設放到內部儲存空間/Backups資料夾，可看到APP的APK和程式資料都抓過來了，備份後會壓縮減少容量。 要還原APP資料，點選Neo Backup的還原頁面，還原之後資料會全部覆蓋。 5. 將Neo Backup備份傳輸到電腦 # MTP速度太慢，我建議用ADB指令傳輸，於電腦安裝ADB Tools，手機開啟偵錯模式，用下述指令，將手機的Backups資料夾，傳輸到電腦的Desktop資料夾\nadb pull /sdcard/Backup ~/Desktop 這樣就可以轉移到新手機，再還原備份。\n6. 備份內建儲存空間資料的方法 # 同樣使用ADB傳輸資料：\nadb pull /sdcard ~/Desktop 這樣手機內部儲存空間資料就全部傳到電腦了。\n另外可以參考Syncthing自動備份的作法\n","date":"2024年2月14日","externalUrl":null,"permalink":"/posts/android-neo-backup/","section":"所有文章","summary":"Ivon介紹如何使用開源的「Neo Backup」APP，取代鈦備份，完整備份手機APP資料。 1. 關於Android備份機制 # 時至今日，原生Android的備份機制還是很糟糕，都已經Android 14了仍沒有整機備份的功能。如果手機廠商沒有開發自家的備份方案，則要免Root備份所有手機資料可以說是天方夜譚。\n很多手機都有Google服務，內建Google One備份到Google雲端的功能，但那個只能備份Wifi密碼、Play商店的APP列表而已，不含APP資料。如果你的APP不支援存檔到雲端，則換手機資料一定不見。 而免Root的備份方案，例如ADB backup指令、SeedVault、Swift Backup備份的東西同樣有限，碰到禁止備份資料的APP就沒輒了，無法暴力備份所有資料。\n所以，將手機Root後再備份仍是比較好的做法。只要有了Root權限，沒什麼不能備份的。不過你得先清除手機資料並Root手機才可以使用Root的備份方案。\n什麼？清除手機資料再備份？如果資料清空了我要備份個洨？\n是的瑞凡，現在解鎖Bootlaoder後手機資料都會先清除一遍才可以Root，所以請不要問我「為什麼我要先清空手機資料才能開始備份App」的問題。如果你想要用Root權限備份APP，那麼手機剛買來就應該解鎖了。\n","title":"[Root] Neo Backup教學，完整備份Android手機APP資料","type":"posts"},{"content":"","date":"2024年2月14日","externalUrl":null,"permalink":"/tags/backup-software/","section":"標籤","summary":"","title":"Backup Software","type":"tags"},{"content":"將Stable Diffusion WebUI程式容器化的話，在Linux伺服器部署Stable Diffusion WebUI就容易多了。\n這裡採用AbdBarho維護的docker-compose，內含AUTOMATIC1111、Invoke AI、ComfyUI三種界面，彼此的模型檔可以共享，節省儲存空間。\nAbdBarho維護的docker-compose僅支援Nvidia顯示卡和純CPU模式。\n1. 部署容器 # 請在Ubuntu系統安裝Git、Docker，並安裝Nvidia驅動和NVIDIA Container Toolkit套件\n確認Docker認得到你的Nvidia顯示卡驅動版本：\ndocker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi 複製AbdBarho的儲存庫： git clone https://github.com/AbdBarho/stable-diffusion-webui-docker.git cd stable-diffusion-webui-docker 下載必要Stable Diffusion模型 docker compose --profile download up --build 建立容器映像檔，選取auto代表啟動AUTOMATIC1111開發的WebUI。 docker compose --profile auto --build 註：Dockerfile所複製的不見得是最新版的Stable Diffusion WebUI，你可能需要手動修改services/AUTOMATIC1111/Dockerfile的commit取得最新版軟體。\n啟動容器 docker compose --profile auto up 等待容器啟動完成，用瀏覽器開啟http://127.0.0.1:7860進入WebUI。要停止執行就是在終端機按Ctrl＋C。 2. 資料目錄 # 此docker-compose啟動的Stable Diffusion WebUI，資料會掛載至同一目錄下的data目錄。\n自訂生圖模型放到data/Stable-diffusion\n生圖的輸出目錄則是data/output。\n擴充功能請從網頁界面裝，或是在data目錄下新建extensions，再於該處放入擴充功能的目錄。\nDocker是看不到Linux系統所有的目錄的，如果你要處理其他檔案，請將其放到Stable-diffusion模型目錄下（在Docker容器內部，絕對路徑為/stable-diffusion-webui-docker/）。或者編輯docker-compose.yml，用docker volume掛載目錄。\n3. 如何更新 # 若要修改WebUI啟動時的命令列引數，編輯此專案目錄下的docker-compose.yml，修改CLI_ARGS這一行：\nauto: \u0026amp;automatic \u0026lt;\u0026lt;: *base_service profiles: [\u0026#34;auto\u0026#34;] build: ./services/AUTOMATIC1111 image: sd-auto:51 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api 日後更新請使用git pull和docker compose pull指令。\n","date":"2024年2月14日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-docker-installation/","section":"Ai-Arts","summary":"將Stable Diffusion WebUI程式容器化的話，在Linux伺服器部署Stable Diffusion WebUI就容易多了。\n這裡採用AbdBarho維護的docker-compose，內含AUTOMATIC1111、Invoke AI、ComfyUI三種界面，彼此的模型檔可以共享，節省儲存空間。\nAbdBarho維護的docker-compose僅支援Nvidia顯示卡和純CPU模式。\n1. 部署容器 # 請在Ubuntu系統安裝Git、Docker，並安裝Nvidia驅動和NVIDIA Container Toolkit套件\n確認Docker認得到你的Nvidia顯示卡驅動版本：\ndocker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi 複製AbdBarho的儲存庫： git clone https://github.com/AbdBarho/stable-diffusion-webui-docker.git cd stable-diffusion-webui-docker 下載必要Stable Diffusion模型 docker compose --profile download up --build 建立容器映像檔，選取auto代表啟動AUTOMATIC1111開發的WebUI。 docker compose --profile auto --build 註：Dockerfile所複製的不見得是最新版的Stable Diffusion WebUI，你可能需要手動修改services/AUTOMATIC1111/Dockerfile的commit取得最新版軟體。\n啟動容器 docker compose --profile auto up 等待容器啟動完成，用瀏覽器開啟http://127.0.0.1:7860進入WebUI。要停止執行就是在終端機按Ctrl＋C。 2. 資料目錄 # 此docker-compose啟動的Stable Diffusion WebUI，資料會掛載至同一目錄下的data目錄。\n","title":"🐳 用Docker容器跑AUTOMATIC1111服務｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"之前Ivon討論過Linux虛擬機雙GPU直通的做法，並透過Looking Glass存取Windows桌面。但是，如果你真的生不出第二個螢幕，連HDMI欺騙器都不想買，那麼我們還有「單GPU直通」這招。\n本文Ivon講述，如何在只有一個GPU、CPU無內顯、只有一台螢幕的情況下，進行單GPU直通（Single GPU Passthrough）\n1. 單GPU直通原理 # 參考網路上的許多做法後，我採用Libvirt hook的做法，即讓虛擬機開關機後自動觸發指令。\n構想是：啟動Windows虛擬機之後，讓Linux斷開螢幕連結，把螢幕交給Windows虛擬機使用，這樣只有一個螢幕也能直通。\n以我的配備來說，過程會變成這樣：\n螢幕接在電腦主機的Nvidia顯示卡上，開機進入Linux 進入SDDM登入畫面，登入KDE桌面 開啟Virt Manager，啟動Windows 11虛擬機 中止顯示管理器和桌面環境行程，卸除Linux的圖形驅動程式（Nvidia核心模組），將GPU與宿主機取消連結，載入VFIO核心模組 螢幕稍微黑一下，隨後變成Windows的畫面 Windows關機後，回到Linux，SDDM重新啟動，回到SDDM登入畫面。 以上過程可以透過Libvirt的hook功能自動化執行，設定好一次後就行。\n缺點：沒辦法同時使用二個系統，因為螢幕被Windows搶走了。在Windows虛擬機執行的時候，Linux宿主機只能透過SSH存取\n\u0026hellip;例如從Windows虛擬機裡面，SSH回Linux宿主機，跳脫Matrix，反察自身。 2. 系統環境 # 主機板：ASUS K31CD-K CPU: Intel® Core™ i5-7400 GPU：Intel® UHD Graphics 630 (內顯) GPU：NVIDIA GTX 1050 Ti（獨顯），已安裝閉源驅動 宿主機Host OS：Ubuntu 22.04 LTS Linux核心版本：6.5.0 桌面環境：KDE Plasma 5.24 (X11) 虛擬機Guest OS：Windows 11 23H2 QEMU版本：6.2 Libvirt版本：8.0.0 3. 安裝Libvirt與Windows虛擬機 # 參考安裝Windows 11虛擬機\n4. 啟用IOMMU # 給Intel啟用IOMMU，nvidia-drm.modeset=0防止DRM載入，後面的kvm.ignore_msrs防止Windows BSOD GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;quiet splash intel_iommu=on nvidia-drm.modeset=0 kvm.ignore_msrs=1 kvm.report_ignored_msrs=0\u0026#34; 更新initramfs和GRUB sudo update-initramfs -u sudo update-grub 到這裡就可以了，不需要解除Nvidia驅動，不用黑名單Nvidia核心模組，也不用綁VFIO裝置，剩下的交給Libvirt hook處理即可。\n5. 撰寫Libvirt hook指令稿 # 用lscpi -nnk指令查看Nvidia顯示卡的匯流排位址，如下所示，二個裝置位址轉譯為：pci_0000_01_00_0和pci_0000_01_00_1 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82] (rev a1) Subsystem: ASUSTeK Computer Inc. GP107 [GeForce GTX 1050 Ti] [1043:85d6] Kernel driver in use: nvidia Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia 01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1) Subsystem: ASUSTeK Computer Inc. GP107GL High Definition Audio Controller [1043:85d6] Kernel driver in use: snd_hda_intel Kernel modules: snd_hda_intel 用sudo lsmod | grep nvidia確認目前有用到哪些核心模組 nvidia_uvm 1794048 0 nvidia_drm 94208 8 nvidia_modeset 1314816 20 nvidia_drm nvidia 56786944 1198 nvidia_uvm,nvidia_modeset 建立Hooks Helper script，注意我的虛擬機名稱叫做Windows11所以建立的目錄也要叫Windows11 sudo mkdir /etc/libvirt/hooks sudo touch /etc/libvirt/hooks/qemu sudo chmod +x /etc/libvirt/hooks/qemu 在/etc/libvirt/hooks/qemu填入以下內容： #!/bin/bash GUEST_NAME=\u0026#34;$1\u0026#34; HOOK_NAME=\u0026#34;$2\u0026#34; STATE_NAME=\u0026#34;$3\u0026#34; MISC=\u0026#34;${@:4}\u0026#34; BASEDIR=\u0026#34;$(dirname $0)\u0026#34; HOOKPATH=\u0026#34;$BASEDIR/qemu.d/$GUEST_NAME/$HOOK_NAME/$STATE_NAME\u0026#34; set -e # If a script exits with an error, we should as well. if [ -f \u0026#34;$HOOKPATH\u0026#34; ]; then eval \\\u0026#34;\u0026#34;$HOOKPATH\u0026#34;\\\u0026#34; \u0026#34;$@\u0026#34; elif [ -d \u0026#34;$HOOKPATH\u0026#34; ]; then while read file; do eval \\\u0026#34;\u0026#34;$file\u0026#34;\\\u0026#34; \u0026#34;$@\u0026#34; done \u0026lt;\u0026lt;\u0026lt; \u0026#34;$(find -L \u0026#34;$HOOKPATH\u0026#34; -maxdepth 1 -type f -executable -print;)\u0026#34; fi 建立虛擬機開機啟動的hook sudo mkdir -p /etc/libvirt/hooks/qemu.d/Windows11/prepare/begin sudo touch /etc/libvirt/hooks/qemu.d/Windows11/prepare/begin/start.sh sudo chmod +x /etc/libvirt/hooks/qemu.d/Windows11/prepare/begin/start.sh 在/etc/libvirt/hooks/qemu.d/Windows11/prepare/begin/start.sh填入以下內容： #!/bin/bash set -x # 停止顯示管理器 systemctl stop sddm # Wayland下需要停止KDE Plasama服務 #systemctl --user -M \u0026#34;你的使用者名稱\u0026#34; stop plasma-plasmashell.service # Unbind VTconsoles echo 0 \u0026gt; /sys/class/vtconsole/vtcon0/bind echo 0 \u0026gt; /sys/class/vtconsole/vtcon1/bind # Unbind EFI Framebuffer echo efi-framebuffer.0 \u0026gt; /sys/bus/platform/drivers/efi-framebuffer/unbind # 停止Nvidia服務 systemctl stop nvidia-persistenced.service sleep 2 # 取消載入NVIDIA核心模組 modprobe -r nvidia_drm nvidia_modeset nvidia_uvm nvidia sleep 2 # 從宿主機移除GPU裝置和GPU音訊裝置 virsh nodedev-detach pci_0000_01_00_0 virsh nodedev-detach pci_0000_01_00_1 # 載入VFIO核心模組 modprobe vfio-pci 建立虛擬機關機後的hook： sudo mkdir -p /etc/libvirt/hooks/qemu.d/Windows11/release/end sudo touch /etc/libvirt/hooks/qemu.d/Windows11/release/end/stop.sh sudo chmod +x /etc/libvirt/hooks/qemu.d/Windows11/release/end/stop.sh 在/etc/libvirt/hooks/qemu.d/Windows11/release/end/stop.sh填入以下內容 #!/bin/bash set -x # 將GPU裝置加回宿主機 virsh nodedev-reattach pci_0000_01_00_0 virsh nodedev-reattach pci_0000_01_00_1 # 取消載入VFIO核心模組 modprobe -r vfio-pci # Rebind framebuffer to host echo \u0026#34;efi-framebuffer.0\u0026#34; \u0026gt; /sys/bus/platform/drivers/efi-framebuffer/bind # 載入NVIDIA核心模組 modprobe nvidia_drm modprobe nvidia_modeset modprobe nvidia_uvm modprobe nvidia # 啟動Nvidia服務 systemctl start nvidia-persistenced.service # Bind VTconsoles echo 1 \u0026gt; /sys/class/vtconsole/vtcon0/bind echo 1 \u0026gt; /sys/class/vtconsole/vtcon1/bind # 啟動顯示管理器 systemctl start sddm 重新啟動Libvritd服務 sudo systemctl restart libvirtd 你可以先在SSH模式下，從另一台電腦登入，一條一條的測試指令，確認指令稿的指令都能執行後再繼續。Libvirt的虛擬機在SSH下用virsh start \u0026quot;虛擬機名稱\u0026quot;指令開機。\n如果虛擬機啟動後指令稿沒啟動，你可以用sudo dmesg看錯誤訊息。\n6. 將鍵鼠全部直通給虛擬機 # 設定好Linux宿主機的SSH服務，確保你可以在緊急時用SSH登入。手機SSH客戶端可以用Termux。\n關閉電腦的休眠機制，KDE可以到系統設定 → 電源管理，關閉休眠\n編輯虛擬機硬體，將Nvidia顯示卡的PCI裝置加入至虛擬機 接著將QXL顯示卡改為None，這樣開機後就只有一個螢幕。 因為開機後無法使用SPICE，點選新增USB裝置，把滑鼠和鍵盤全部加入到虛擬機。 音效卡部分，最簡單的方法是準備一個USB音效卡，或是含有3.5mm耳機孔的Type-C擴充埠，並將其直通進去。不然的話開機後Linux宿主機的桌面行程被幹掉，SPICE無法透過PipeWire輸出音訊。\n參考資料 # QaidVoid/Complete-Single-GPU-Passthrough - Github NVIDIA单显卡直通保姆级教程: 手把手配置和调试 - 知乎 Any solution to \u0026ldquo;Attempting to remove device with non-zero usage count\u0026rdquo; with nvidia-drm modeset = 1 - Reddit ","date":"2024年2月13日","externalUrl":null,"permalink":"/posts/libvirt-hook-single-gpu-passthrough/","section":"所有文章","summary":"之前Ivon討論過Linux虛擬機雙GPU直通的做法，並透過Looking Glass存取Windows桌面。但是，如果你真的生不出第二個螢幕，連HDMI欺騙器都不想買，那麼我們還有「單GPU直通」這招。\n本文Ivon講述，如何在只有一個GPU、CPU無內顯、只有一台螢幕的情況下，進行單GPU直通（Single GPU Passthrough）\n1. 單GPU直通原理 # 參考網路上的許多做法後，我採用Libvirt hook的做法，即讓虛擬機開關機後自動觸發指令。\n構想是：啟動Windows虛擬機之後，讓Linux斷開螢幕連結，把螢幕交給Windows虛擬機使用，這樣只有一個螢幕也能直通。\n以我的配備來說，過程會變成這樣：\n螢幕接在電腦主機的Nvidia顯示卡上，開機進入Linux 進入SDDM登入畫面，登入KDE桌面 開啟Virt Manager，啟動Windows 11虛擬機 中止顯示管理器和桌面環境行程，卸除Linux的圖形驅動程式（Nvidia核心模組），將GPU與宿主機取消連結，載入VFIO核心模組 螢幕稍微黑一下，隨後變成Windows的畫面 Windows關機後，回到Linux，SDDM重新啟動，回到SDDM登入畫面。 以上過程可以透過Libvirt的hook功能自動化執行，設定好一次後就行。\n","title":"Ubuntu單GPU直通方法，Nvidia顯示卡直通給Windows 11 QEMU/KVM虛擬機","type":"posts"},{"content":"Digital Mate (數字夥伴/數位夥伴) 是一款AI桌寵軟體，原本叫做ChatWaifu。\n之前Ivon分享過Live2D桌寵Kanban Desktop，Digital Mate可說是其加強版，不只是養桌寵而已，它整合了動漫MMD模型 ＋ VITS語音合成 ＋ ChatGPT AI，讓使用者可以用電腦麥克風跟二次元老婆/老公聊天，用滑鼠點選互動。 操作完全不用打指令！DigitalMate都整合好了，設定十分簡單，還可以自訂桌面寵物模型、語音、執行指令、報時。\n搭配Wallpaper Engine、Live2DViewerEX操作的話就更好玩了。\n1. 安裝Digital Mate # Digital Mate是閉源軟體，可於Steam購買。目前僅支援Windows系統，Linux無法使用。\n硬體需求：NVIDIA GeForce GTX 1050以上等級的顯示卡，8GB以上RAM，才能支撐本機3D渲染與AI語音合成。\nIvon覺得這個軟體目前有點粗糙，有時載入模型會卡住，得按工作列的圖示重新啟動。\n順帶提一下，2023年作者在Github放出了此軟體的前身「ChatWaifu」的Python原始碼，還有人製作手機版的fork。\n不過，原始碼只是demo性質，且作者使用了Windows API，Linux可能得修改程式碼才能跑。\n原本ChatWaifu要上架Steam，但是一直沒上架，頁面還留著，經過調查後才發現改名叫Digital Mate （數字夥伴）了。\n2. 選取MMD模型 # Digital Mate支援MMD (.pmx) 與 Live2D (model3.json) 格式的模型。\n模型可在主選單到Steam工作坊下載（可能有版權爭議） 你也可以按右上角的加號匯入自訂pmx檔。MMD模型建議到ニコニ立体下載；Live2D模型Github讓有很多人分享，必須是model3.json版本的。\n本文Ivon使用的海倫娜模型來自：「3Dモデル+PMXデータ エレナ」 / キノコル さんの作品\n模型支援自訂縮放比、渲染方式、對話框位置 匯入模型後，你還得設定語音才會說話。\n3. 選取要使用的語音 # 點選編輯角色，設語音模型\nDigital Mate預設使用Windows TTS合成語音，很像機器人在講話，不建議使用。\n點選編輯角色 → 語音，語音朗讀引擎，按「下載」，從Steam工作坊下載「Fast VITS」引擎。如果你有自己架VITS伺服器也可以自己串API。 接著再點選刷新，語音朗讀引擎選取Fast VITS\n在VITS的欄位按下載，從Steam工作坊下載喜歡的VITS語音模型 設定「語言標誌」為中文\n下面朗讀者再選取要使用的角色。日文角色是可以講中文啦，但有時說話會像鸚鵡。 接著點選試聽，看看效果如何。語音都是本機運算的，生成速度取決於你的GPU性能。\n如果沒有你要的語音，你可以用FastViT自行訓練。\n4. 與桌面寵物互動 # 設定好模型和語音後，就能跟桌面寵物互動了！點選特定身體部位觸發語音，不過這邊都只是制式回答而已，不是AI生成的對話。 你可以設定整點報時，麥克風語音喚醒的指令 MMD的當家絕活「跳舞」功能也不能少！動作檔可以從Steam工作坊下載，或者自行用MMD軟體製作再匯入.vmd。 5. 設定線上AI聊天服務 # 目前AI服務全部都是在雲端運算，再回傳結果，要色色的話得用特定提示詞越獄。\n未來如果整合離線的LLaMA AI，那我們就可以聊到飽。\n點選聊天設定頁面，安裝線上AI服務 免費仔可以用New Bing或者ChatGPT網頁版，它會要求你登入帳號，Digital Mate程式可以讀取網頁文字並唸出來，不過Ivon測試是有點容易斷訊，導致要整個程式重開的樣子。\n如果你有付費的話使用ChatGPT API會更好，到OpenAI取得API Key再填入，方便用Digital Mate準備的提示詞玩角色扮演。\n提示：如果你希望角色單純念稿的話，可以把文本餵給ChatGPT，並下「幫我給文字分段，不要做解釋」的提示詞，這樣ChatGPT回傳的文字就會是你給的東西。 ","date":"2024年2月13日","externalUrl":null,"permalink":"/posts/digital-mate-steam/","section":"所有文章","summary":"Digital Mate (數字夥伴/數位夥伴) 是一款AI桌寵軟體，原本叫做ChatWaifu。\n之前Ivon分享過Live2D桌寵Kanban Desktop，Digital Mate可說是其加強版，不只是養桌寵而已，它整合了動漫MMD模型 ＋ VITS語音合成 ＋ ChatGPT AI，讓使用者可以用電腦麥克風跟二次元老婆/老公聊天，用滑鼠點選互動。 操作完全不用打指令！DigitalMate都整合好了，設定十分簡單，還可以自訂桌面寵物模型、語音、執行指令、報時。\n搭配Wallpaper Engine、Live2DViewerEX操作的話就更好玩了。\n1. 安裝Digital Mate # Digital Mate是閉源軟體，可於Steam購買。目前僅支援Windows系統，Linux無法使用。\n硬體需求：NVIDIA GeForce GTX 1050以上等級的顯示卡，8GB以上RAM，才能支撐本機3D渲染與AI語音合成。\nIvon覺得這個軟體目前有點粗糙，有時載入模型會卡住，得按工作列的圖示重新啟動。\n順帶提一下，2023年作者在Github放出了此軟體的前身「ChatWaifu」的Python原始碼，還有人製作手機版的fork。\n不過，原始碼只是demo性質，且作者使用了Windows API，Linux可能得修改程式碼才能跑。\n原本ChatWaifu要上架Steam，但是一直沒上架，頁面還留著，經過調查後才發現改名叫Digital Mate （數字夥伴）了。\n2. 選取MMD模型 # Digital Mate支援MMD (.pmx) 與 Live2D (model3.json) 格式的模型。\n","title":"會說話的AI二次元老婆！「Digital Mate」3D桌面寵物使用教學","type":"posts"},{"content":"本文以macOS Ventura (13.3.1) 作示範。 此圖使用Stable Diffusion WebUI生成\n1. 安裝套件管理員Homebrew # Brew是安裝下面的東西所需要的必備工具，需要用到終端機指令。\n在應用程式列表開啟終端機 貼上以下指令安裝Homebrew (此指令來自Homebrew官網)\n/bin/bash -c \u0026#34;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\u0026#34; 輸入密碼，全部Enter，等待安裝完成。下面Homebrew在安裝軟體的時候都需要輸入密碼。 2. 安裝Git和Anaconda # 繼續開著終端機。輸入以下指令安裝Git版本管理工具。 brew install git 接著是Pyhton。Pyhton用Anaconda來建立虛擬環境比較方便，輸入以下指令安裝： brew install --cask anaconda echo \u0026#39;export PATH=\u0026#34;/usr/local/anaconda3/bin:$PATH\u0026#34; \u0026#39; \u0026gt;\u0026gt; ~/.zshrc source ~/.zshrc conda init zsh 建立Python 3.10.6的虛擬環境，輸入y同意，它會自動下載必要的套件 conda create --name sdwebui python=3.10.6 3. 複製Stable Diffusion WebUI儲存庫 # 將Stable Diffusion WebUI複製至家目錄 cd ~ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git 開啟Finder，點選前往 → 個人專屬，會看到多了一個stable-diffusion-webui資料夾，這個就是程式本體了。 將下載的模型檔移動至stable-diffusion-webui下的models/Stable-diffusion資料夾。 接著回到終端機，啟動Python虛擬環境，終端機提示符前面會變成(sdwebui)\nconda activate sdwebui 確認Pyhton版本，輸出應為3.10.6 python --version 4. 設定啟動引數 # 找到stable-diffusion-webui資料夾下的webui-user.sh，右鍵用文字編輯器開啟。 參考上圖框起來的地方，填入export COMMANDLINE_ARGS=--medvram --opt-split-attention引數，降低VRAM使用量。\n其餘引數請參閱命令列引數頁面。\n5. 啟動Stable Diffusion WebUI # 執行webui.sh，它會自動下載PyTorch並安裝依賴套件。 cd ~/stable-diffusion-webui ./webui.sh 跑完它應該會顯示一組網址 用瀏覽器開啟http://127.0.0.1:7860進入網頁圖形界面。執行程式時請保持終端機開著。\n欲中止SD WebUI執行，直接將對終端機圖示按右鍵終止即可。\n日後要啟動SD WebUI，就是開啟終端機，執行以下指令就會開啟網頁界面。\nconda activate sdwebui cd ~/stable-diffusion-webui ./webui.sh ","date":"2024年2月13日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-macos-installation/","section":"Ai-Arts","summary":"本文以macOS Ventura (13.3.1) 作示範。 此圖使用Stable Diffusion WebUI生成\n1. 安裝套件管理員Homebrew # Brew是安裝下面的東西所需要的必備工具，需要用到終端機指令。\n在應用程式列表開啟終端機 貼上以下指令安裝Homebrew (此指令來自Homebrew官網)\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\" 輸入密碼，全部Enter，等待安裝完成。下面Homebrew在安裝軟體的時候都需要輸入密碼。 2. 安裝Git和Anaconda # 繼續開著終端機。輸入以下指令安裝Git版本管理工具。 brew install git 接著是Pyhton。Pyhton用Anaconda來建立虛擬環境比較方便，輸入以下指令安裝： brew install --cask anaconda echo 'export PATH=\"/usr/local/anaconda3/bin:$PATH\" ' \u003e\u003e ~/.zshrc source ~/.zshrc conda init zsh 建立Python 3.10.6的虛擬環境，輸入y同意，它會自動下載必要的套件 conda create --name sdwebui python=3.10.6 3. 複製Stable Diffusion WebUI儲存庫 # 將Stable Diffusion WebUI複製至家目錄 cd ~ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git 開啟Finder，點選前往 → 個人專屬，會看到多了一個stable-diffusion-webui資料夾，這個就是程式本體了。 將下載的模型檔移動至stable-diffusion-webui下的models/Stable-diffusion資料夾。 ","title":"🖥️ 安裝至macOS｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"本文Ivon簡介如何使用yt-dlp工具，下載Youtube影片、音樂。\n如果你想要一個開源免費的Youtube下載軟體，那一定就得試試「yt-dlp」了。跨平台支援Linux/Windows/macOS/Android/iOS系統。\nyt-dlp為基於youtube-dl開發的命令行程式。跟youtube-dl比起來，yt-dlp更新比較活躍，下載速度也較快。 yt-dlp雖是命令行程式，但是使用上十分簡單，不需要複雜指令。字幕、縮圖什麼的都能抓下來。\n另外，yt-dlp不只可以下載Youtube影片，其支援的網站很多呢。根據官方資料所述，yt-dlp還可以下載Twitter、Facebook、Reddit、Twitch、Instagram、Niconico、Bilibili、TikTok、Pornhub等網站的影片\u0026hellip;網站數量還在增加中，下載指令都是類似的。\n如果你想下載Youtube以外網站的影片，請參見yt-dlp下載其他網站影片的教學 本文我只專注在下載「Youtube網站」的部份。因為yt-dlp指令選項眾多，只講幾個重要的用法，不細究指令差異，讓你可以快速達成下載影片的目的。\n針對不想使用指令操作的用戶，請參考文末的「yt-dlp圖形化前端」。\n1. 如何安裝yt-dlp # yt-dlp支援Linux、Windows、macOS、Android、iOS系統。建議搭配ffmpeg使用，方便轉檔。\n參見yt-dlp安裝\n2. 了解yt-dlp的指令格式 # 下載之前先來點命令行基礎。yt-dlp必須透過終端機打指令下載，你要餵給它「影片網址」，並加上「參數」告訴yt-dlp要怎麼處理影片。\nyt-dlp格式如下：\nyt-dlp [參數1...參數2...參數3] \u0026#34;影片網址1\u0026#34; \u0026#34;影片網址2\u0026#34; \u0026#34;影片網址3\u0026#34; yt-dlp至少得填入一個影片網址，其餘參數可以隨意組合，控制具體下載的內容。不過你也可以不填參數，只給網址，讓yt-dlp用預設值下載影片。\nyt-dlp指令完整說明文件請參閱Github\n為避免困惑，下面的教學我都會附上一個範例。\n3. yt-dlp使用例 # yt-dlp指令是跨平台通用的，只要在終端機輸入yt-dlp指令就可以下載影片。\nWindows用戶可以在下載資料夾按右鍵＋SHIFT，開啟Windows終端機，再跑yt-dlp。這樣下載的影片都會跑到這個資料夾。 3.1. 下載影片 # 從最簡單的開始，只要加上Youtube影片網址就能下載影片，什麼參數都不加的情況下，yt-dlp預設會自動選取最高畫質，並合併影片與音訊，輸出為.webm格式，檔名為影片標題 ＋ Youtube影片ID。不過這應該不符合你的需求，所以下面做一些參數微調。\n例如我想下載這部影片：周杰倫 Jay Chou【半島鐵盒 Peninsula Ironbox】Official MV，在瀏覽器複製網址。 在終端機執行以下指令，會把影片下載到目前的資料夾。\nyt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; --embed-thumbnail --add-metadata --merge-output-format mp4 \u0026#34;https://www.youtube.com/watch?v=duZDsG3tvoA\u0026#34; 參數解說：\n使用--output \u0026quot;%(title)s.%(ext)s\u0026quot;讓輸出影片檔名跟Youtube上的標題一致 加上--merge-output-format mp4指定轉檔為.mp4格式（也可以用.mkv格式） 用--embed-thumbnail加上Youtube上的縮圖 用--add-metadata嵌入影片資訊 最後面的引號\u0026quot; \u0026quot;填入影片網址，加引號的用意是防止網址的特殊符號\u0026amp;干擾指令。 影片下載後就可以直接看了。 yt-dlp預設會下載最高畫質的影片。如果你想下載特定畫質影片，比方說1080p，那就加上-f \u0026quot;bestvideo[height\u0026lt;=1080]+bestaudio[ext=m4a]\u0026quot;的參數，指定影片最大高度為1080。至於其他畫質，2160為4K，1080為1080p，720為720p，以此類推。\nYoutube現在影片多採用AV1編碼，部份播放器可能沒辦法解碼。你可以指定參數-S vcodec:h264，把影片轉成H.264編碼。\n範例，下載影片時限制畫質最高選取到1080p，並轉檔為H.264編碼。\nyt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; -f \u0026#34;bestvideo[height\u0026lt;=1080]+bestaudio[ext=m4a]\u0026#34; -S vcodec:h264 --embed-thumbnail --add-metadata --merge-output-format mp4 \u0026#34;https://www.youtube.com/watch?v=duZDsG3tvoA\u0026#34; 3.2. 下載純音訊 # yt-dlp下載時會自動選取最高音質。yt-dlp可以將Youtube影片的m4a音訊轉檔成mp3、flac、opus、aac、wav等格式。\n用以下指令下載，用--output \u0026quot;%(title)s.%(ext)s\u0026quot;維持檔名，並使用--extract-audio --audio-format mp3 --audio-quality 320K指定格式為mp3，位元率為320kbps。 yt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; --embed-thumbnail --add-metadata --extract-audio --audio-format mp3 --audio-quality 320K \u0026#34;https://www.youtube.com/watch?v=duZDsG3tvoA\u0026#34; 備註：Youtube音訊最多到256kbps AAC而已，轉成常見的320Kbps MP3就夠了，轉成FLAC沒有太大意義。Youtube原生音訊格式是.m4a，這裡選.mp3是因為相容性最好，不過會經過重新編碼。\n如果該部影片有包含版權歌曲的話，下載的音樂檔會自動嵌入Youtube提供的演出者資料。 以上的指令是把「影片」下載再轉成「音訊」，不過你也可以直接下載Youtube Music，就不會有MV的雜音，且演出者資訊更完整。\n如何確認網頁是影片還是Youtube Music？看網頁影片說明欄就能分別了，Youtube Music的說明欄通常只包含演出者資訊，沒有其他連結。 3.3. 下載影片播放清單 # 跟下載影片一樣，餵給yt-dlp播放清單的網址就會開始下載。\n建議使用完整播放清單網址：https://www.youtube.com/playlist?list=播放清單ID，否則yt-dlp可能只會抓到一部影片。\n例如我要下載周杰倫的影片MV播放清單：周杰倫 Jay Chou | 八度空間 | Eighth Dimension 活用我上面講過的語法，下載播放清單的全部影片，存檔到獨立的資料夾，並存檔成mp4： yt-dlp --output \u0026#34;%(playlist)s/%(title)s.%(ext)s\u0026#34; --embed-thumbnail --add-metadata --merge-output-format mp4 \u0026#34;https://www.youtube.com/playlist?list=PLgFC_SXvt6Lmkks32yM_6l-Eb6KMdgBom\u0026#34; 你可以把上述的命名規則改成--output \u0026quot;%(playlist)s/%(playlist_index)s. %(title)s.%(ext)s\u0026quot; ，這樣每個影片開頭就會加上播放清單的編號。\n下載結果就會像這樣，影片都存到獨立資料夾： 3.4. 下載音樂專輯 # Youtube Music的音樂專輯跟播放清單沒有兩樣，直接沿用下載播放清單的指令就可以了。\n例如我要下載這張專輯：周杰倫 - 八度空間 注意這裡我是用Youtube Music的播放清單，不是MV影片播放清單。\n下載播放清單音樂，存檔到獨立的資料夾，轉成純音訊mp3，並把演出者資訊嵌入到mp3檔案：\nyt-dlp --output \u0026#34;%(playlist)s/%(title)s.%(ext)s\u0026#34; --embed-thumbnail --add-metadata --extract-audio --audio-format mp3 --audio-quality 320K \u0026#34;https://www.youtube.com/playlist?list=PLu6L9FuV-VP21jo9bHgVRNV4TQBG66mpo\u0026#34; 同樣，你可以把上述的命名規則改成--output \u0026quot;%(playlist)s/%(playlist_index)s. %(title)s.%(ext)s\u0026quot; ，這樣音樂檔案開頭就會加上播放清單的編號，方便音樂播放軟體排序。\n註解：如果你下載的中文歌MP3標籤是英文的，可以裝Picard嘗試自動修復成中文。\n3.5. 下載會員限定影片或私人影片 # 會員限定影片你一定得訂閱付費才能存取，yt-dlp沒辦法「破解」付費會員限定影片。\n同理，私人影片也只有你自己可以存取。\n為了讓yt-dlp可以存取會員限定影片的網址，請使用--cookies-from-browser參數，將瀏覽器cookie（表示你的帳號登入狀態）餵給yt-dlp。\n例如讀取Google Chrome的cookie，並下載影片：\nyt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; --cookies-from-browser chrome --embed-thumbnail --add-metadata --merge-output-format mp4 \u0026#34;會員限定影片網址\u0026#34; 如果抓不到瀏覽器，請手動在瀏覽器用ExportThisCookie 擴充功能匯出單一cookie檔案，將cookies.txt檔案放到下載資料夾，再餵給yt-dlp讀取：\nyt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; --cookies \u0026#34;cookies.txt\u0026#34; --embed-thumbnail --add-metadata --merge-output-format mp4 \u0026#34;會員限定影片網址\u0026#34; 3.6. 下載直播影片 # yt-dlp可以在直播開始之後從頭下載，使用--live-from-start參數。\n例如：\nyt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; --live-from-start --embed-thumbnail --add-metadata --merge-output-format mp4 \u0026#34;直播網址\u0026#34; 如果直播是預定日期的，那麼也可以用--wait-for-video參數延遲yt-dlp抓取時間，單位為秒。\nyt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; --wait-for-video 60 --live-from-start --embed-thumbnail --add-metadata --merge-output-format mp4 \u0026#34;直播網址\u0026#34; 3.7. 批次大量下載Youtube影片 # 如果你要下載的影片不在同一個播放清單，或者你想要自動化下載多部影片，那麼就把多個影片網址存成單一txt檔。\n例如在下載資料夾新增一個urls.txt，內容是這樣，每行一個Youtube影片網址：\nhttps://www.youtube.com/watch?v=MKNrnSsIwf8 https://www.youtube.com/watch?v=H7hpK6cm-6k https://www.youtube.com/watch?v=_trE3M24kQY 再使用--batch-file引數，讓yt-dlp逐一讀取urls.txt檔案的網址，下載影片。\nyt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; --batch-file urls.txt --embed-thumbnail --add-metadata --merge-output-format mp4 \u0026#34;直播網址\u0026#34; 4. yt-dlp進階用法 # 4.1. 用config儲存常用下載設定檔 # 如果你打指令的時候懶得記影片下載參數，可以將常用的下載選項寫在yt-dlp設定檔裡面，這樣日後只要執行yt-dlp \u0026quot;網址\u0026quot;就會自動帶入設定檔所寫的內容。\nyt-dlp的設定檔是一個純文字檔，各大作業系統的設定檔路徑：\nLinux：~/.config/yt-dlp/config Windows：C:\\Users\\你的使用者名稱\\AppData\\Roaming\\yt-dlp\\config。或者在yt-dlp.exe所在的資料夾放置一個config.txt。 macOS：~/.config/yt-dlp/config yt-dlp設定檔寫法範例，讓輸出影片檔名跟Youtube上的標題一致、指定轉檔為.mp4格式、加上Youtube上的縮圖、嵌入影片資訊：\n--output \u0026#34;%(title)s.%(ext)s\u0026#34; --merge-output-format --embed-thumbnail --add-metadata 4.2. 下載CC字幕 # 下載影片時加上--write-sub參數。\n例如我想下載這部影片的中文字幕：你的電話會傷害你嗎? 電力是否有危險性? 因為Youtube有時候會有自動生成的字幕，不只一國語言，建議先用參數--list-subs列出可下載的字幕： yt-dlp --list-subs \u0026#34;https://www.youtube.com/watch?v=FfgT6zx4k3Q\u0026#34; 對照Language的欄位，找到要的字幕代號後，下載影片，用--sub-lang選取「正體中文」的字幕，並轉成srt檔 yt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; --sub-lang zh-TW --write-sub --convert-subs srt --embed-thumbnail --add-metadata --merge-output-format mp4 \u0026#34;https://www.youtube.com/watch?v=FfgT6zx4k3Q\u0026#34; 在那之後下載的影片就會包含字幕檔了 下載自動生成字幕檔的指令：\nyt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; --write-auto-subs --write-sub --convert-subs srt --embed-thumbnail --add-metadata --merge-output-format mp4 \u0026#34;https://www.youtube.com/watch?v=FfgT6zx4k3Q\u0026#34; 只下載字幕檔不下載影片的指令： yt-dlp --output \u0026#34;%(title)s.%(ext)s\u0026#34; --sub-lang zh-TW --write-sub --convert-subs srt --skip-download \u0026#34;https://www.youtube.com/watch?v=FfgT6zx4k3Q\u0026#34; 4.3. 下載影片縮圖 # 下載影片時加上--embed-thumbnail參數。這個在下載音樂專輯的時候很好用。\n注意內嵌縮圖的影片格式最好使用mp4，音樂的話則是mp3。\n例如下載影片，並將縮圖內嵌到影片：\nyt-dlp --embed-thumbnail --output \u0026#34;%(title)s.%(ext)s\u0026#34; --merge-output-format mp4 \u0026#34;https://www.youtube.com/watch?v=zzlC6ma-SYQ\u0026#34; 檔案管理員應該能看到檔案縮圖。 如果只想要下載縮圖檔的話，使用--write-thumbnail，並用--skip-download跳過影片下載：\nyt-dlp --write-thumbnail --skip-download \u0026#34;https://www.youtube.com/watch?v=zzlC6ma-SYQ\u0026#34; 4.4. 下載影片說明欄與留言 # 注意：如果你不想下載影片，請使用--skip-download跳過下載。\n加上--write-description參數，影片說明欄會另存為影片名稱.description的純文字檔案。\n加上--add-metadata參數則會把影片的說明欄嵌入到影片檔的synopsis欄位，音樂則是寫入演出者資訊。\n加上--write-comments參數，yt-dlp會按照留言順序，將Youtube影片留言下載，儲存成影片名稱.info.json檔。json預設沒有任何排版，請另外用文字編輯器將其格式化。\n4.5. 刪除業配片段 # 結合Sponsorblock的功能，在下載影片後自動把業配片段刪除。\n使用--sponsorblock-mark all，將所有的影片業配片段標記，並嵌入至下載影片的章節。\n使用--sponsorblock-remove all，將所有的影片業配片段從下載的影片中刪除。\n5. 圖形化yt-dlp前端 # yt-dlp官方並沒有製作圖形化界面(GUI)，得使用第三方專案。\n電腦版的話我會推薦Parabolic，基本上所有常用功能都包含在內了，可以下載影片和音樂，支援自動裁剪縮圖，也可以讀取cookie下載會員限定影片。\n延伸閱讀 # yt-dlp所有指令說明：yt-dlp Github\n如果ytl-dlp無法下載影片，請嘗試更新軟體到最新版，或者至Github回報issue。\n","date":"2024年2月12日","externalUrl":null,"permalink":"/posts/yt-dlp-usage/","section":"所有文章","summary":"本文Ivon簡介如何使用yt-dlp工具，下載Youtube影片、音樂。\n如果你想要一個開源免費的Youtube下載軟體，那一定就得試試「yt-dlp」了。跨平台支援Linux/Windows/macOS/Android/iOS系統。\nyt-dlp為基於youtube-dl開發的命令行程式。跟youtube-dl比起來，yt-dlp更新比較活躍，下載速度也較快。 yt-dlp雖是命令行程式，但是使用上十分簡單，不需要複雜指令。字幕、縮圖什麼的都能抓下來。\n另外，yt-dlp不只可以下載Youtube影片，其支援的網站很多呢。根據官方資料所述，yt-dlp還可以下載Twitter、Facebook、Reddit、Twitch、Instagram、Niconico、Bilibili、TikTok、Pornhub等網站的影片…網站數量還在增加中，下載指令都是類似的。\n如果你想下載Youtube以外網站的影片，請參見yt-dlp下載其他網站影片的教學 本文我只專注在下載「Youtube網站」的部份。因為yt-dlp指令選項眾多，只講幾個重要的用法，不細究指令差異，讓你可以快速達成下載影片的目的。\n針對不想使用指令操作的用戶，請參考文末的「yt-dlp圖形化前端」。\n1. 如何安裝yt-dlp # yt-dlp支援Linux、Windows、macOS、Android、iOS系統。建議搭配ffmpeg使用，方便轉檔。\n","title":"yt-dlp指令使用教學，萬能Youtube影片命令行下載工具","type":"posts"},{"content":"Stable Diffusion WebUI支援Windows 10和Windows 11。\n本文以Windows 11 22H2為例子。 此圖使用Stable Diffusion WebUI生成\n1. 安裝顯示卡驅動程式 # 請確認電腦已經安裝最新版的顯示卡驅動程式。安裝驅動程式後請重開機。\nNvidia顯示卡建議用Geforce Experience安裝最新驅動，會順便安裝CUDA。或者你想手動下載CUDA也行。\nAMD顯示卡請用驅動程式自動偵測工具安裝顯示卡驅動。\nIntel Arc顯示卡請安裝WHQL驅動。\n2. 安裝Git和Python # 下載Git版本管理工具。至Git for Windows下載安裝檔，一直下一步即可。 接著安裝Python。SD WebUI建議Python版本為3.10.6。請至Python官網下載Python 3.10.6的64位元安裝檔。 安裝前務必勾選Add Python 3.10 to PATH，將Python加到環境變數。再按Install Now。 (進階) 如果你熟悉Python開發的話，改用Anaconda設定Python虛擬環境會更好。點選展開 Anaconda是針對資料科學打造的Python發行版，能管理一部電腦上的多重Python版本。如果之前已經裝過舊版Python，不需要解除安裝。\n如果選擇以Anaconda來安裝Stable Diffusion WebUI的依賴套件，那麼日後就不能用Windows終端機執行webui-user.bat，而得使用Anaconda Prompt，除非你將conda加入環境變數。\n安裝Anaconda或Miniconda\n搜尋應用程式列表，開啟Anaconda Prompt\n切換至Stable Diffusion WebUI所在資料夾 (需先執行下一節的git clone指令)\ncd C:\\user\\user\\Desktop\\stable-diffusion-webui 建立Pyhton 3.10.6的虛擬環境 conda create --name sdwebui python=3.10.6 啟動虛擬環境，然後再看下下節設定並啟動webui-user.bat，安裝Python依賴套件。 conda activate sdwebui 3. 複製Stable Diffusion WebUI儲存庫 # 開啟檔案總管，在桌面資料夾裡面按右鍵＋Shift，點選在這裡開啟Powershell或終端機視窗。如果你C槽空間不足的話，也可以切換到其他硬碟資料夾再開啟終端機。 輸入以下指令，檢查目前Python版本，輸出應為3.10.6\npython --version Nvidia顯示卡用戶輸入以下指令，確認CUDA是否有正確安裝，輸出應含有nvcc: NVIDIA (R) Cuda compiler driver nvcc --version Nvidia顯卡用戶輸入以下指令，複製Stable Diffusion WebUI的儲存庫。複製完成後保持終端機開著。 git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git ＊ AMD顯卡用戶請用這個DirectML的分支：\ngit clone https://github.com/lshqqytiger/stable-diffusion-webui-directml.git ＊ Intel Arc顯卡用戶請用這個DirectML的分支：\ngit clone https://github.com/Aloereed/stable-diffusion-webui-arc-directml.git 複製完成儲存庫後，桌面會多出資料夾stable-diffusion-webui。如果你有下載模型，將剛剛下載的存檔點模型放到models\\Stable-diffusion資料夾。這個資料夾可放入多個存檔點模型檔。 4. 設定啟動命令列引數 # 如下圖所示，對stable-diffusion-webui資料夾裡面的webui-user.bat按右鍵，以記事本開啟 (看不到.bat請點選檔案總管檢視 → 顯示/隱藏 → 顯示副檔名) 接著您要編輯set COMMANDLINE_ARGS=這一行啟動引數。\n若顯示卡VRAM在8GB以上，將set COMMANDLINE_ARGS=替換成set COMMANDLINE_ARGS=--enable-insecure-extension-access引數。\n顯示卡VRAM小於等於4GB，將set COMMANDLINE_ARGS=替換成set COMMANDLINE_ARGS=--medvram --opt-split-attention --enable-insecure-extension-access引數。加上--medvram的用意是為了限制VRAM佔用。\n電腦RAM（不是VRAM）小於等於8GB的話改替換為set COMMANDLINE_ARGS=--lowvram --opt-split-attention --enable-insecure-extension-access引數。注意使用--lowvram引數會讓高階顯示卡算圖變很慢。\n(下面的不加也可以)\n加上--xformers可進一步減少VRAM佔用，只支援Nvidia顯示卡。加入--no-half-vae減少使用VAE算出黑圖的機率。\n加上--listen引數再開放防火牆7860通訊埠，即可用區域網路其他電腦的瀏覽器存取WebUI。\n加上--share引數則會產生一組Gradio網址，讓你可以從外部網路或手機使用WebUI。網址72小時後過期。\n其餘可用引數請見命令列引數\n5. 啟動Stable Diffusion WebUI # 初次啟動會下載好幾GB的資料，請保持網路順暢，不要開VPN。如果您所在的地方有網路審查干擾Github連線，請想辦法找代理繞過。\n回到終端機，輸入以下指令啟動SD WebUI： cd stable-diffusion-webui ./webui-user.bat 初次啟動會下載依賴套件，大概要等個30分鐘安裝。如果在此步驟遇到錯誤，請先看常見問題。 啟動完成後會顯示一組網址。執行程式時請勿關閉終端機。 用瀏覽器開啟：http://127.0.0.1:7860就可進入圖形界面了。執行程式時請勿關閉終端機，執行時若出錯終端機也會輸出訊息。 要關閉SD WebUI，在終端機按Ctrl+C終止，再關閉視窗。\n日後要啟動SD WebUI，只要對資料夾裡面的webui-user.bat按二下即可 (不需要用系統管理員執行)。\n","date":"2024年2月12日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-windows-installation/","section":"Ai-Arts","summary":"Stable Diffusion WebUI支援Windows 10和Windows 11。\n本文以Windows 11 22H2為例子。 此圖使用Stable Diffusion WebUI生成\n1. 安裝顯示卡驅動程式 # 請確認電腦已經安裝最新版的顯示卡驅動程式。安裝驅動程式後請重開機。\nNvidia顯示卡建議用Geforce Experience安裝最新驅動，會順便安裝CUDA。或者你想手動下載CUDA也行。\nAMD顯示卡請用驅動程式自動偵測工具安裝顯示卡驅動。\nIntel Arc顯示卡請安裝WHQL驅動。\n2. 安裝Git和Python # 下載Git版本管理工具。至Git for Windows下載安裝檔，一直下一步即可。 接著安裝Python。SD WebUI建議Python版本為3.10.6。請至Python官網下載Python 3.10.6的64位元安裝檔。 安裝前務必勾選Add Python 3.10 to PATH，將Python加到環境變數。再按Install Now。 (進階) 如果你熟悉Python開發的話，改用Anaconda設定Python虛擬環境會更好。點選展開 Anaconda是針對資料科學打造的Python發行版，能管理一部電腦上的多重Python版本。如果之前已經裝過舊版Python，不需要解除安裝。\n如果選擇以Anaconda來安裝Stable Diffusion WebUI的依賴套件，那麼日後就不能用Windows終端機執行webui-user.bat，而得使用Anaconda Prompt，除非你將conda加入環境變數。\n","title":"🖥️ 安裝至Windows｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"Linux系統，Steam內建方便的Proton工具，基於Wine研發，讓我們可以輕鬆啟動遊戲。 但如果要調整一些設定就很不方便\u0026hellip;若我們想要修改遊戲字型大小呢？如果要更換第三方Wine版本呢？若是有額外的字型要裝呢？若想要強制程式以指定視窗解析度執行呢？若要給遊戲打補丁呢？\n以上操作在Wine環境下可以用Winetricks達成，但是Steam並沒有提供此工具。於是就有開發者寫了工具「ProtonUp-QT」和「ProtonTricks」，專門針對Steam Proton環境設計，方便我們調整遊戲的設定值。 「ProtonUp-QT」專門用來切換Steam遊戲所使用的Proton版本。它也可以給Lutris、Bottles、Heroic Games Launcher等工具安裝其他版本的Proton。\n「ProtonTricks」則是用於給Steam遊戲安裝額外的Windows exe套件。\nProtonTricks影片操作示範：\n在使用本文介紹的二款工具前，請先安裝Linux版Steam客戶端。\n0. Steam的Proton Prefix是什麼？ # Linux版Steam之所以能夠執行Windows遊戲，背後乃是採用了名為Proton的轉譯技術。而Proton是基於「Wine」這款軟體研發而來的。相關文章：Wine指令使用教學\n一個Proton的環境並不會包含其他常見的Windows系統軟體（例如Windows Media Player），但有程式就是會用到，這就是為什麼需要使用ProtonTricks自行安裝exe的緣故。\n根據Steam官方文件的說明，每個Windows遊戲第一次啟動的時候，Steam都會在~/.steam/steam/steamapps/compatdata/目錄給每個遊戲個別建立Proton Prefix。\nProton使用了Wine的Wine Prefix功能來建立多個Windows環境，這裡叫做Proton Prefix。你可以將Proton Prefix想成是給每個Windows程式都建立一個假C槽 (容器)，每個Proton Prefix的資料夾都是獨立的，確保exe之間不會互相干擾。並且使用者調整某個遊戲設定的時候，不會破壞其他遊戲的設定。\n遊戲資料與Proton Prefix通常是分開放的，也就是說遊戲存檔可能會放在遊戲exe自身的目錄下。不過也有遊戲會把資料放到假C槽的本機磁碟，例如~/.steam/steam/steamapps/compatdata/Steam遊戲ID/pfx/drive_c/users/steamuser/AppData/。\n下圖是Proton Prefix的結構，每個資料夾的數字對應一個Steam遊戲ID，每個資料夾下面都有自己的C槽和設定檔。 預設Steam的Proton Prefix路徑位於~/.steam/steam/steamapps/compatdata/Steam遊戲ID/pfx/。\nFlatpak版Steam的Proton Prefix路徑位於~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/compatdata/Steam遊戲ID/pfx/\n其實仔細觀察，Proton Prefix所在的路徑就是Steam遊戲收藏庫的位置。如果你有多個遊戲收藏庫，位於不同硬碟，則Proton Prefix的位置也會跟著變。\n順帶一提，關於Steam遊戲資料在Linux的儲存位置，並不是全部都放在~/.steam/steam/steamapps/common/的（也就是遊戲收藏庫右鍵「瀏覽本機檔案」所跳出來的位置）。這裡包含的只有遊戲的exe執行檔，不包含「存檔」。因為Linux玩的Windows遊戲都是透過Proton轉譯的，會給每一個遊戲建立Proton Prefix的目錄，模擬Windows C槽的架構。\n因此要找遊戲存檔，通常是要到~/.steam/steam/steamapps/compatdata/找才對。這裡會有許多依照Steam遊戲ID建立的目錄，點進去裡面就會有Program Files之類的資料夾了。如果遊戲收藏庫放在外部磁碟，steamapps的目錄也會跟著變。\n例如，《GTA V》的存檔，會放在~/.steam/steam/steamapps/compatdata/271590/pfx/drive_c/users/steamuser/Documents/Rockstar Games/GTA V/Profiles/的這個目錄。要替換存檔就是改這裡的檔案。\n假設，要刪除Steam雲端存檔的話，也是先刪除本機存檔，再重新同步。\n1. ProtonUp-QT用法 # 原始碼位於Github 這款工具能夠下載不同開發者維護的Wine，並將其套用至Steam、Lutris、Bottles環境。\n其中，Proton-GE是開源社群維護的Proton，開發進度較官方Proton快，內含一些修補程式，或許可以提昇遊戲性能。\n透過Flatpak安裝ProtonUp-QT。它會自動偵測Steam收藏庫的目錄，包含原生版與Flatpak版。 flatpak --user install flathub net.davidotek.pupgui2 如果Steam用Flatpak安裝，可能要賦予ProtonUp-QT讀取Steam收藏庫目錄的權限： flatpak --user override --filesystem=\u0026#34;~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps\u0026#34; net.davidotek.pupgui2 在應用程式列表找到ProtonUp-QT，開啟後應該會偵測到Steam的路徑 點選「新增版本」下載要使用的Proton 下載完之後，點選「顯示遊戲列表」，給個別Steam遊戲設定要使用哪個Proton版本，之後按下套用（回到Steam的界面再設定也可以） 2. Protontricks圖形界面用法 # 原始碼位於Github Protontricks功能等同Winetricks，可以給Proton容器安裝字型、調整字型大小、安裝額外exe或dll（例如Windows Media Player）、打patch（打補丁）、修改登錄檔、啟動命令提示字元、強制遊戲視窗化等等操作。\n由於只是安裝exe補足Proton缺少的元件，不是破解遊戲本身，使用上應該是安全的。\n影片示範操作\n透過Flatpak安裝。它會自動偵測Steam收藏庫的目錄，包含原生版與Flatpak版。 flatpak --user install flathub com.github.Matoking.protontricks 可能要賦予讀取Steam收藏庫目錄的權限。（如果你的遊戲不是裝在Steam預設的收藏庫目錄，那麼也要另外賦予讀取權限） flatpak --user override --filesystem=\u0026#34;~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps\u0026#34; com.github.Matoking.protontricks 請在Steam收藏庫對要修改的遊戲按下右鍵，啟用Proton，並且啟動過一次遊戲。這樣才會建立Proton Prefix。\nProtontricks圖形界面啟動後，會要你選擇Steam遊戲的容器再操作。如果列表看不到你要的遊戲， 接下來會跳出面板，按確定執行操作，按取消關閉ProtonTricks。 名字很明顯的我就不講了，常用的選項如下：\n安裝一個Windows應用或.dll：快速安裝.Net framework、DirectX、Windows Media Player、Winrar等軟體。有些exe安裝的時候沒有進度條，需要等選取Wine容器的選單重新跳出來才代表exe安裝完成。\n安裝字型：安裝Windows系統的字型，例如程式無法顯示中日韓文的話，就裝cjkfonts\n修改設定：調整Wine的環境，例如模擬其他Windows版本\n執行Wine設定程式：也就是winecfg，在這裡可以設定字體大小(螢幕解析度DPI)，勾選「模擬一個虛擬桌面」的話則會在啟動程式前開一個虛擬桌面出來，讓全螢幕的遊戲改成視窗化執行。 遊戲打補丁通常得透過exe操作。在你下載好補丁程式後，於Linux系統檔案管理器對exe按右鍵，選擇以Protontricks Launcher開啟，再選取遊戲程式的容器，即可將補丁安裝到那個遊戲的目錄。 3. Protontricks指令用法 # Protontricks也可以用protontricks指令來操作，方便觀察下載進度。如果不想一個一個點確認，我認為這是比較高效率裝套件的方式。\n語法參考Winetricks。\n請在Steam收藏庫對要修改的遊戲按下右鍵，啟用Proton，並且啟動過一次遊戲，建立Proton Prefix後再繼續操作。\nFlatpak版執行指令的語法如下，例如給Steam ID為15320的遊戲容器，安裝cjkfonts字型。\nflatpak run --command=protontricks com.github.Matoking.protontricks 15320 cjkfonts 或者透過protontricks-launch指令，執行任意exe：\nflatpak run com.github.Matoking.protontricks --command=protontricks-launch \u0026#34;exe路徑\u0026#34; 如果安裝exe的時候出現Unknown arg...錯誤，代表Protontricks版本太舊，可能得等作者更新。\n4. 重置遊戲的Proton Prefix環境 # 如果你用ProtonTricks安裝太多有的沒的，致使遊戲出現問題，你可能要考慮重新建立Proton環境。換言之，就是刪除整個Proton Prefix環境與假C槽。\n警告：這可能會刪除遊戲存檔，請確保該遊戲有使用Steam雲端存檔的功能，而非將存檔都保存在本機磁碟。\n在~/.steam/steamapps/compatdata/目錄，依照Steam遊戲ID找到遊戲的假C槽目錄。\n刪除該目錄，或者暫時移動到其他地方。\n在Steam重新啟動遊戲，就會自動建立新的Proton Prefix。\n","date":"2024年2月11日","externalUrl":null,"permalink":"/posts/steam-protonup-qt-protontricks-usage/","section":"所有文章","summary":"Linux系統，Steam內建方便的Proton工具，基於Wine研發，讓我們可以輕鬆啟動遊戲。 但如果要調整一些設定就很不方便…若我們想要修改遊戲字型大小呢？如果要更換第三方Wine版本呢？若是有額外的字型要裝呢？若想要強制程式以指定視窗解析度執行呢？若要給遊戲打補丁呢？\n以上操作在Wine環境下可以用Winetricks達成，但是Steam並沒有提供此工具。於是就有開發者寫了工具「ProtonUp-QT」和「ProtonTricks」，專門針對Steam Proton環境設計，方便我們調整遊戲的設定值。 「ProtonUp-QT」專門用來切換Steam遊戲所使用的Proton版本。它也可以給Lutris、Bottles、Heroic Games Launcher等工具安裝其他版本的Proton。\n「ProtonTricks」則是用於給Steam遊戲安裝額外的Windows exe套件。\nProtonTricks影片操作示範：\n在使用本文介紹的二款工具前，請先安裝Linux版Steam客戶端。\n0. Steam的Proton Prefix是什麼？ # Linux版Steam之所以能夠執行Windows遊戲，背後乃是採用了名為Proton的轉譯技術。而Proton是基於「Wine」這款軟體研發而來的。相關文章：Wine指令使用教學\n","title":"ProtonUp-QT和Protontricks用法，調整Steam Proton環境的小工具","type":"posts"},{"content":"本文以Ubuntu 24.04 LTS為例子。\n請使用一般使用者，不可以用Root使用者安裝。 此圖使用Stable Diffusion WebUI生成\n1 安裝顯示卡驅動 # 此處以Nvidia GPU為例。\n安裝專有Nvidia驅動，之後重開機。\n安裝CUDA\n確認驅動安裝是否正確安裝\nnvidia-smi nvcc --version 2. 安裝Anaconda # 安裝Python、wget、git。 sudo apt install python3 python3-pip python3-virtualenv wget git 安裝Anaconda。裝Anconda的用意是鎖Python版本，讓Stable Diffusion WebUI的Python版本跟系統的隔離，防止系統Python版本太新導致程式出錯。\n建立Python 3.10.6的虛擬環境\nconda create --name sdwebui python=3.10.6 3. 複製Stable Diffusion WebUI儲存庫 # 將Stable Diffusion WebUI複製至使用者家目錄 cd ~ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git (選擇性) 預先將模型下載至stable-diffusion-webui/models/Stable-diffusion目錄，這裡使用Anything v4.5 wget -nc -P ~/stable-diffusion-webui/models/Stable-diffusion https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.5-pruned.safetensors -O anything-v4.5-pruned.safetensors 啟動虛擬環境： conda activate sdwebui 如果想要於bash script自動以conda啟動虛擬環境，可以把這二行加入至webui-user.sh頂端：\neval \u0026#34;$(conda shell.bash hook)\u0026#34; conda activate sdwebui 於conda環境下，最好使用conda指令來安裝套件。不過Stable Diffusion WebUI仍偏好以pip建立虛擬環境。\n4. 設定啟動引數 # 用VIM編輯webui-user.sh。\n顯示卡VRAM在8GB以上，將# COMMANDLINE_ARGS=替換成COMMANDLINE_ARGS=--xformers --enable-insecure-extension-access引數。\n若顯示卡VRAM小於等於4GB，將# COMMANDLINE_ARGS=替換成COMMANDLINE_ARGS=--medvram --opt-split-attention --xformers --enable-insecure-extension-access引數。\n額外加上--listen參數讓其他電腦能以IP存取網頁界面，--share則是產生一組Gradio網址。\n加上--xformers可進一步減少VRAM佔用，只支援Nvidia顯示卡。加入--no-half-vae減少使用VAE時算出黑圖的機率。\n加上--enable-insecure-extension-access讓你在網頁界面直接裝擴充功能。加上--nowebui則不會啟動網頁界面，單純接收WebUI API之用。\n其餘可用引數請見命令列引數\n5. 啟動Stable Diffusion WebUI # 執行webui.sh，它會自動下載PyTorch並安裝依賴套件。跑完它應該會顯示一組網址，本機用瀏覽器開啟http://127.0.0.1:7860進入網頁圖形界面。\ncd ~/stable-diffusion-webui ./webui.sh ","date":"2024年2月11日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-linux-installation/","section":"Ai-Arts","summary":"本文以Ubuntu 24.04 LTS為例子。\n請使用一般使用者，不可以用Root使用者安裝。 此圖使用Stable Diffusion WebUI生成\n1 安裝顯示卡驅動 # 此處以Nvidia GPU為例。\n安裝專有Nvidia驅動，之後重開機。\n安裝CUDA\n確認驅動安裝是否正確安裝\nnvidia-smi nvcc --version 2. 安裝Anaconda # 安裝Python、wget、git。 sudo apt install python3 python3-pip python3-virtualenv wget git 安裝Anaconda。裝Anconda的用意是鎖Python版本，讓Stable Diffusion WebUI的Python版本跟系統的隔離，防止系統Python版本太新導致程式出錯。\n建立Python 3.10.6的虛擬環境\nconda create --name sdwebui python=3.10.6 3. 複製Stable Diffusion WebUI儲存庫 # 將Stable Diffusion WebUI複製至使用者家目錄 cd ~ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git (選擇性) 預先將模型下載至stable-diffusion-webui/models/Stable-diffusion目錄，這裡使用Anything v4.5 wget -nc -P ~/stable-diffusion-webui/models/Stable-diffusion https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.5-pruned.safetensors -O anything-v4.5-pruned.safetensors 啟動虛擬環境： conda activate sdwebui 如果想要於bash script自動以conda啟動虛擬環境，可以把這二行加入至webui-user.sh頂端：\neval \"$(conda shell.bash hook)\" conda activate sdwebui 於conda環境下，最好使用conda指令來安裝套件。不過Stable Diffusion WebUI仍偏好以pip建立虛擬環境。\n","title":"🖥️ 安裝至GNU/Linux｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"透過Bottles，我們就可以在Linux執行Windows的exe，請先看如何安裝Bottles\n一般版的Bottles是用圖形界面操作，開發者2023年又另外加入了Bottles-cli的命令行界面，可以用指令操作Bottles容器。 Bottles-cli有何用處？有時用指令操作更為快速，你可以用指令稿批次建立Bottles容器。透過Bottles-cli，達成自動化安裝exe是有可能的。\n此外，有時候你會想要讓系統其他程式也能存取容器裡面的Wine，Bottles-cli能派上用場。有沒有可能，不要在系統全域安裝Wine，只把Wine關在Bottles容器裡面呢？答案是可以的。\n1. Bottle-cli基本用法 # 詳細用法參考官方文件\nBottles我是用Flatpak安裝的，因此執行指令前都要加上flatpak run，最後面才是加上操作與引數\nflatpak run --command=\u0026#39;bottles-cli\u0026#39; com.usebottles.bottles 輸出Help訊息：\nflatpak run --command=\u0026#39;bottles-cli\u0026#39; com.usebottles.bottles --help info會印出目前環境的資訊：\nflatpak run --command=\u0026#39;bottles-cli\u0026#39; com.usebottles.bottles info bottles-path list列出目前已安裝的Bottles容器\nflatpak run --command=\u0026#39;bottles-cli\u0026#39; com.usebottles.bottles list bottles programs列出容器內已安裝的exe程式，後面要加上-b選取容器名稱\nflatpak run --command=\u0026#39;bottles-cli\u0026#39; com.usebottles.bottles programs -b Line add可以往容器直接新增exe\nflatpak run --command=\u0026#39;bottles-cli\u0026#39; com.usebottles.bottles add -b Line -n \u0026#34;exe捷徑名稱\u0026#34; -p \u0026#34;要安裝的exe路徑\u0026#34; new可以建立新容器\nflatpak run --command=\u0026#39;bottles-cli\u0026#39; com.usebottles.bottles \\ new --bottle-name WinRAR \\ --environment gaming \\ --arch win64 \\ --runner soda-8.0.2 run執行容器裡面的特定exe\nflatpak run --command=\u0026#39;bottles-cli\u0026#39; com.usebottles.bottles run -b Line -e \u0026#34;exe路徑\u0026#34; # 或者 flatpak run --command=\u0026#39;bottles-cli\u0026#39; com.usebottles.bottles run -b Line -p \u0026#34;exe捷徑名稱\u0026#34; reg編輯容器內部的登錄檔數值，例如下面的例子，新增seguiemj的登錄檔數值到Line容器的HKEY_LOCAL_MACHINE...下面。\nflatpak run --command=\u0026#39;bottles-cli\u0026#39; com.usebottles.bottles \\ reg -b Line \\ -k \u0026#34;HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts\u0026#34; \\ -v \u0026#34;seguiemj\u0026#34; \\ -t REG_SZ \\ -d seguiemj.ttf \\ add edit編輯容器設定檔，例如新增環境變數\nflatpak run --command=\u0026#39;bottles-cli\u0026#39; com.usebottles.bottles edit -b Line --env-var LANG=zh_TW.UTF-8 shell進入Wine的命令提示字元並執行指令\nflatpak run --command=\u0026#39;bottles-cli\u0026#39; com.usebottles.bottles shell -b Line -i winecfg tools能夠啟動Wine的相關工具，例如winecfg\nflatpak run --command=\u0026#39;bottles-cli\u0026#39; com.usebottles.bottles tools -b Line winecfg 2. 讓系統存取容器的Wine指令 # 執行此操作前，請確認系統沒有安裝任何Wine的套件。\n將Bottles裡名為「Line」容器的Wine做成執行檔 cat \u0026lt;\u0026lt; \u0026#34;EOF\u0026#34; \u0026gt; ~/.local/bin/wine #!/bin/sh flatpak run --command=\u0026#39;bottles-cli\u0026#39; com.usebottles.bottles run -b Line -e \u0026#34;$@\u0026#34; EOF chmod +x ~/.local/bin/wine 加入到系統PATH (~/.local/bin/) echo \u0026#34;PATH=$PATH:~/.local/bin\u0026#34; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 之後執行wine就會使用容器內的Wine來跑了，不過如果像Winetricks程式要求存取wineserver的話可能就會有問題 wine ~/Downloads/installer.exe 3. Winetricks搭配Bottles Wine使用 # Bottles開發者目前說不會支援Winetricks，但Dependencies收錄的套件又有缺，該怎麼辦呢？\n所以我們要自己想辦法，用hacky的方式讓Winetricks運作。\n因為Bottles只是用於建立Wine環境而已，你還是能用Winetricks來安裝套件。\n在系統安裝最新版Wine，注意版本必須跟Bottles內的一致 wine --version 接著就能用Winetricks裝套件了： # 取得最新Winetricks指令稿 wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks chmod +x winetricks sudo mv winetricks /usr/bin # 將Wine的C槽目錄指向Bottles的容器路徑 export WINEPREFIX=~/.var/app/com.usebottles.bottles/data/bottles/bottles/Line # 開始安裝依賴套件 winetricks vcredist cjkfonts ","date":"2024年2月10日","externalUrl":null,"permalink":"/posts/linux-bottles-cli/","section":"所有文章","summary":"透過Bottles，我們就可以在Linux執行Windows的exe，請先看如何安裝Bottles\n一般版的Bottles是用圖形界面操作，開發者2023年又另外加入了Bottles-cli的命令行界面，可以用指令操作Bottles容器。 Bottles-cli有何用處？有時用指令操作更為快速，你可以用指令稿批次建立Bottles容器。透過Bottles-cli，達成自動化安裝exe是有可能的。\n此外，有時候你會想要讓系統其他程式也能存取容器裡面的Wine，Bottles-cli能派上用場。有沒有可能，不要在系統全域安裝Wine，只把Wine關在Bottles容器裡面呢？答案是可以的。\n1. Bottle-cli基本用法 # 詳細用法參考官方文件\nBottles我是用Flatpak安裝的，因此執行指令前都要加上flatpak run，最後面才是加上操作與引數\nflatpak run --command='bottles-cli' com.usebottles.bottles 輸出Help訊息：\nflatpak run --command='bottles-cli' com.usebottles.bottles --help info會印出目前環境的資訊：\nflatpak run --command='bottles-cli' com.usebottles.bottles info bottles-path list列出目前已安裝的Bottles容器\nflatpak run --command='bottles-cli' com.usebottles.bottles list bottles programs列出容器內已安裝的exe程式，後面要加上-b選取容器名稱\nflatpak run --command='bottles-cli' com.usebottles.bottles programs -b Line add可以往容器直接新增exe\n","title":"Bottles-cli命令行用法，將容器裡的Wine與Linux系統整合","type":"posts"},{"content":" 註：這篇文章僅供參考，本系列教學已經附上預先設定好的指令引數了，照抄即可。\nStable Diffusion WebUI的專案資料夾附有啟動主程式的指令稿(script)，稱為啟動指令稿。 此圖使用Stable Diffusion WebUI生成\nLinux/macOS的變數與引數是寫在webui-user.sh，接著使用者以終端機執行webui.sh，它會讀取webui-user.sh裡面寫的變數與設定值，將其傳給launch.py，然後啟動WebUI。\nWindows也是類似，不過變數與引數是寫在webui-user.bat批次檔，然後使用者以終端機執行此批次檔(或者在檔案總管點二下，無需系統管理員權限)即會啟動主程式。\n因此要修改啟動引數，您應該改的是webui-user.sh，而不是webui.sh。\n1. 環境變數與命令列引數的設定方法 # Linux/macOS：編輯webui-user.sh，填入export 變數=數值 Windows：編輯webui-user.bat，填入set 變數=數值 例如，Windows對webui-user.bat按右鍵以記事本編輯，加入這行命令列引數：\nset COMMANDLINE_ARGS=--xformers --no-half-vae --medvram 2. 環境變數 # 可在啟動指令稿使用這些環境變數(environment variables)：\n名稱 說明 PYTHON 設定Python執行檔路徑。 VENV_DIR 設定Python虛擬環境的路徑。預設值為venv。該值為-時則不建立虛擬環境，直接執行Python程式。 COMMANDLINE_ARGS 主程式的額外命令列引數。 IGNORE_CMD_ARGS_ERRORS 設定為任意值，使程式遇到未知的命令列引數退出時不顯示錯誤 REQS_FILE 啟動launch.py安裝依賴套件使用的requirements.txt檔名。預設值為requirements_versions.txt TORCH_COMMAND 安裝PyTorch的指令 INDEX_URL pip的--index-url參數 TRANSFORMERS_CACHE Transformer函式庫下載的路徑，以及CLIP模型相關檔案的路徑。 CUDA_VISIBLE_DEVICES 如果電腦有多重GPU，使用此引數選取要使用的GPU，例如set CUDA_VISIBLE_DEVICES=0。 SD_WEBUI_LOG_LEVEL 輸出日誌格式。有效值為Pyhton內建的logging模組數值。預設為INFO。 SD_WEBUI_CACHE_FILE 快取檔案路徑，預設值為根目錄下的cache.json。 SD_WEBUI_RESTAR 由啟動指令稿(webui.sh或webui.bat)設定的值，告訴WebUI可以使用重啟功能。 SD_WEBUI_RESTARTING 檢測WebUI是否正在重啟或重新載入的內部數值，可以用來關閉自動開啟瀏覽器的功能。設為1即不要自動開啟瀏覽器。設為0的話，即使WebUI正在重啟也自動開啟瀏覽器。 3. 命令列引數 # 命令列引數(command line arguments)為啟動WebUI時使用的選項，寫在啟動指令稿的COMMANDLINE_ARGS=後面。\n注意下面是二條橫線「- -」\n引數指令 數值 預設值 說明 設定值 -h, \u0026ndash;help None False 顯示此幫助訊息並退出。 \u0026ndash;exit 安裝後終止程式。 \u0026ndash;data-dir DATA_DIR ./ 使用者資料儲存的路徑。 \u0026ndash;config CONFIG configs/stable-diffusion/v1-inference.yaml 建構模型設定檔的路徑。 \u0026ndash;ckpt CKPT model.ckpt Stable Diffusion模型的存檔點模型路徑。一旦指定，該模型會加入至存檔點模型列表並載入。 \u0026ndash;ckpt-dir CKPT_DIR None 存放Stable Diffusion模型存檔點模型的路徑。 \u0026ndash;no-download-sd-model None False 即使找不到模型，也不自動下載SD1.5模型。 \u0026ndash;vae-dir VAE_PATH None VAE的路徑。 \u0026ndash;gfpgan-dir GFPGAN_DIR GFPGAN/ GFPGAN路徑 \u0026ndash;gfpgan-model GFPGAN_MODEL GFPGAN模型檔名 \u0026ndash;codeformer-models-path CODEFORMER_MODELS_PATH models/Codeformer/ Codeformer模型檔的路徑。 \u0026ndash;gfpgan-models-path GFPGAN_MODELS_PATH models/GFPGAN GFPGAN模型檔的路徑。 \u0026ndash;esrgan-models-path ESRGAN_MODELS_PATH models/ESRGAN ESRGAN模型檔的路徑。 \u0026ndash;bsrgan-models-path BSRGAN_MODELS_PATH models/BSRGAN BSRGAN模型檔的路徑。 \u0026ndash;realesrgan-models-path REALESRGAN_MODELS_PATH models/RealESRGAN RealESRGAN模型檔的路徑。 \u0026ndash;scunet-models-path SCUNET_MODELS_PATH models/ScuNET ScuNET模型檔的路徑。 \u0026ndash;swinir-models-path SWINIR_MODELS_PATH models/SwinIR SwinIR和SwinIR v2模型檔的路徑。 \u0026ndash;ldsr-models-path LDSR_MODELS_PATH models/LDSR 含有LDSR模型檔的路徑。 \u0026ndash;lora-dir LORA_DIR models/Lora 含有LoRA模型檔的路徑。 \u0026ndash;clip-models-path CLIP_MODELS_PATH None 含有CLIP模型檔的路徑。 \u0026ndash;embeddings-dir EMBEDDINGS_DIR embeddings/ Textual inversion的embeddings路徑 (預設: embeddings) \u0026ndash;textual-inversion-templates-dir TEXTUAL_INVERSION_TEMPLATES_DIR textual_inversion_templates Textual inversion範本的路徑 \u0026ndash;hypernetwork-dir HYPERNETWORK_DIR models/hypernetworks/ Hypernetwork路徑 \u0026ndash;localizations-dir LOCALIZATIONS_DIR localizations/ 在地化翻譯路徑 \u0026ndash;styles-file STYLES_FILE styles.csv 風格檔名 \u0026ndash;ui-config-file UI_CONFIG_FILE ui-config.json UI設定檔檔名 \u0026ndash;no-progressbar-hiding None False 取消隱藏Gradio UI的進度條 (我們之所以將其隱藏，是因為在瀏覽器啟動硬體加速的狀況下，進度條會降低機器學習的效能) \u0026ndash;max-batch-count MAX_BATCH_COUNT 16 UI的最大批次數值 \u0026ndash;ui-settings-file UI_SETTINGS_FILE config.json UI設定值畫面的檔名 \u0026ndash;allow-code None False 允許在WebUI執行自訂指令稿 \u0026ndash;share None False 使用此引數在啟動後會產生Gradio網址，使WebUI能從外部網路存取 \u0026ndash;listen None False 以0.0.0.0主機名稱啟動Gradio，使其能回應連線請求 \u0026ndash;port PORT 7860 以給定的通訊埠啟動Gradio。1024以下的通訊埠需要root權限。如果可用的話，預設使用7860通訊埠。 \u0026ndash;hide-ui-dir-config None False 在WebUI隱藏設定檔目錄。 \u0026ndash;freeze-settings None False 停用編輯設定。 \u0026ndash;enable-insecure-extension-access None False 無視其他選項，強制啟用擴充功能頁籤。 \u0026ndash;gradio-debug None False 使用 \u0026ndash;debug選項啟動Gradio \u0026ndash;gradio-auth GRADIO_AUTH None 設定Gardio授權，例如\u0026quot;username:password\u0026quot;，或是逗號分隔值形式\u0026quot;u1:p1,u2:p2,u3:p3\u0026quot; \u0026ndash;gradio-auth-path GRADIO_AUTH_PATH None 設定Gardio授權檔案路徑。 例如 \u0026ldquo;/路徑/\u0026rdquo; 再加上--gradio-auth的格式。 \u0026ndash;disable-console-progressbars None False 不在終端機顯示進度條。 \u0026ndash;enable-console-prompts None False 在使用文生圖和圖生圖的時候，於終端機印出提示詞 \u0026ndash;api None False 以API模式啟動WebUI \u0026ndash;api-auth API_AUTH None 設定API授權，例如\u0026quot;username:password\u0026quot;，或是逗號分隔值形式\u0026quot;u1:p1,u2:p2,u3:p3\u0026quot; \u0026ndash;api-log None False 啟用所有API請求的紀錄檔 \u0026ndash;nowebui None False 僅啟動API, 不啟動WebUI \u0026ndash;ui-debug-mode None False 不載入模型，以更快啟動WebUI \u0026ndash;device-id DEVICE_ID None 選擇要使用的CUDA裝置 (例如在啟動指令稿使用export CUDA_VISIBLE_DEVICES=0或1) \u0026ndash;administrator None False 使用系統管理員權限 \u0026ndash;cors-allow-origins CORS_ALLOW_ORIGINS None 允許跨來源資源共用，列表以逗號分隔，不可有空格 \u0026ndash;cors-allow-origins-regex CORS_ALLOW_ORIGINS_REGEX None 允許跨來源資源共用，後面加上單一正規表達式 \u0026ndash;tls-keyfile TLS_KEYFILE None 部份啟用TLS,，需要配合\u0026ndash;tls-certfile才能正常運作 \u0026ndash;tls-certfile TLS_CERTFILE None 部份啟用TLS，需要配合\u0026ndash;tls-keyfile才能正常運作 \u0026ndash;server-name SERVER_NAME None 設定伺服器主機名稱 \u0026ndash;skip-version-check None False 不檢查torch和xformers的版本 \u0026ndash;no-hashing None False 停用計算存檔點模型的sha256雜湊值，加快載入速度 \u0026ndash;skip-version-check None False 不檢查torch與xformers版本。 \u0026ndash;skip-version-check None False 不檢查Python版本。 \u0026ndash;skip-torch-cuda-test None False 不檢查CUDA是否正常運作。 \u0026ndash;skip-install None False 跳過安裝套件。 \u0026ndash;loglevel None None 日誌紀錄等級，有效值為CRITICAL, ERROR, WARNING, INFO, DEBUG \u0026ndash;log-startup None False 在啟動程式時輸出launch.py的詳細執行內容。 \u0026ndash;api-server-stop None False 允許透過API通訊停止/重啟/強制停止主程式。 \u0026ndash;timeout-keep-alive int 30 設定uvicorn的timeout_keep_alive數值。 性能相關 \u0026ndash;xformers None False 給cross attention layers啟用xformers \u0026ndash;reinstall-xformers None False 強制重裝xformers，升級時很有用。但為避免不斷重裝，升級後將會移除。 \u0026ndash;force-enable-xformers None False 強制給cross attention layers啟用xformers 此選項無法運作的話請勿回報bug \u0026ndash;xformers-flash-attention None False 給xformers啟用Flash Attention，提昇再現能力 (僅支援SD2.x或以此為基礎的模型) \u0026ndash;opt-split-attention None False 強制啟用Doggettx的cross-attention layer最佳化。有CUDA的系統預設啟用此選項。 \u0026ndash;opt-split-attention-invokeai None False 強制啟用InvokeAI的cross-attention layer最佳化。無CUDA的系統預設啟用此選項。 \u0026ndash;opt-split-attention-v1 None False 啟用舊版的split attention最佳化，防止佔用全部可用的VRAM， \u0026ndash;opt-sub-quad-attention None False 啟用增進記憶體效率的sub-quadratic cross-attention layer最佳化 \u0026ndash;sub-quad-q-chunk-size SUB_QUAD_Q_CHUNK_SIZE 1024 sub-quadratic cross-attention layer最佳化使用的序列化區塊大小 \u0026ndash;sub-quad-kv-chunk-size SUB_QUAD_KV_CHUNK_SIZE None sub-quadratic cross-attention layer最佳化使用的kv區塊大小 \u0026ndash;sub-quad-chunk-threshold SUB_QUAD_CHUNK_THRESHOLD None sub-quadratic cross-attention layer最佳化過程中，區塊化使用的VRAM閾值 \u0026ndash;opt-channelslast None False 啟用4d tensors使用的alternative layout，或許可以加快推理速度 僅適用搭載Tensor核心的Nvidia顯示卡(16xx系列以上) \u0026ndash;disable-opt-split-attention None False 強制停用cross-attention layer的最佳化 \u0026ndash;disable-nan-check None False 不檢查生成圖像/潛在空間是否有nan。在CI模式無使用存檔點模型的時候很有用。 \u0026ndash;use-cpu {all, sd, interrogate, gfpgan, bsrgan, esrgan, scunet, codeformer} None 讓部份模塊使用CPU作為PyTorch的裝置 \u0026ndash;no-half None False 不將模型轉換為半精度浮點數 \u0026ndash;precision {full,autocast} autocast 使用此精度評估 \u0026ndash;no-half-vae None False 不將VAE模型轉換為半精度浮點數 \u0026ndash;upcast-sampling None False 向上取樣。搭配 \u0026ndash;no-half使用則無效。生成的結果與使用\u0026ndash;no-half引數相近，效率更高，使用更少記憶體。 \u0026ndash;medvram None False 啟用Stable Diffusion模型最佳化，犧牲速度，換取較小的VRAM佔用。 \u0026ndash;lowvram None False 啟用Stable Diffusion模型最佳化，大幅犧牲速度，換取更小的VRAM佔用。 \u0026ndash;lowram None False 將Stable Diffusion存檔點模型的權重載入至VRAM，而非RAM \u0026ndash;disable-model-loading-ram-optimization None False 停用模型載入時降低RAM佔用的優化。 功能 \u0026ndash;autolaunch None False 啟動WebUI後自動開啟系統預設的瀏覽器 \u0026ndash;theme None Unset 使用指定主題啟動WebUI (light或dark)，無指定則使用瀏覽器預設主題。 \u0026ndash;use-textbox-seed None False 在WebUI的種子欄位使用textbox (沒有上下，但可以輸入長的種子碼) \u0026ndash;disable-safe-unpickle None False 不檢查PyTorch模型是否有惡意程式碼 \u0026ndash;ngrok NGROK None Ngrok授權權杖， \u0026ndash;share引數的替代品。 \u0026ndash;ngrok-region NGROK_REGION us 選擇啟動Ngrok的區域 \u0026ndash;update-check None None 啟動時檢查有無新版本。 \u0026ndash;update-all-extensions None None 在啟動WebUI的時候自動更新所有擴充功能。 \u0026ndash;reinstall-xformers None False 強制重新安裝xformers，適用於更新程式之後執行。更新完之後記得移除此引數。 \u0026ndash;reinstall-torch None False 強制重新安裝touch，適用於更新程式之後執行。更新完之後記得移除此引數。 \u0026ndash;tests TESTS False 執行功能測試，確認WebUI正常運作。 \u0026ndash;no-tests None False 即使有--test引數也不要執行功能測試。 \u0026ndash;dump-sysinfo None False 傾印系統訊息並退出程式（不包括擴充功能） \u0026ndash;disable-all-extensions None False 停用所有擴充功能，包含內建的擴充功能。 \u0026ndash;disable-extra-extensions None False 停用所有擴充功能。 已經無效的選項 \u0026ndash;show-negative-prompt None False 無作用 \u0026ndash;deepdanbooru None False 無作用 \u0026ndash;unload-gfpgan None False 無作用 \u0026ndash;gradio-img2img-tool GRADIO_IMG2IMG_TOOL None 無作用 \u0026ndash;gradio-inpaint-tool GRADIO_INPAINT_TOOL None 無作用 \u0026ndash;gradio-queue None False 無作用 \u0026ndash;add-stop-route None False 無作用 \u0026ndash;always-batch-cond-uncond None False 無作用 ","date":"2024年2月10日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-command-line-arguments-and-settings/","section":"Ai-Arts","summary":" 註：這篇文章僅供參考，本系列教學已經附上預先設定好的指令引數了，照抄即可。\nStable Diffusion WebUI的專案資料夾附有啟動主程式的指令稿(script)，稱為啟動指令稿。 此圖使用Stable Diffusion WebUI生成\nLinux/macOS的變數與引數是寫在webui-user.sh，接著使用者以終端機執行webui.sh，它會讀取webui-user.sh裡面寫的變數與設定值，將其傳給launch.py，然後啟動WebUI。\nWindows也是類似，不過變數與引數是寫在webui-user.bat批次檔，然後使用者以終端機執行此批次檔(或者在檔案總管點二下，無需系統管理員權限)即會啟動主程式。\n因此要修改啟動引數，您應該改的是webui-user.sh，而不是webui.sh。\n1. 環境變數與命令列引數的設定方法 # Linux/macOS：編輯webui-user.sh，填入export 變數=數值 Windows：編輯webui-user.bat，填入set 變數=數值 例如，Windows對webui-user.bat按右鍵以記事本編輯，加入這行命令列引數：\n","title":"命令列引數｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"存檔點模型(checkpoint，勿跟LoRA搞混)是AI生圖的重要依據，算圖用的模型可以安裝很多個。\nStable Diffusion WebUI在初次啟動時，若放模型的資料夾(models/Stable-diffusion)為空，則會自動下載原始版的Stable Diffusion v1.5模型。\n但是，不同人玩AI生圖有不同的需求，以寫實風格為主的Stable Diffusion模型可能無法滿足所有人。因此你可以先下載自己想要使用的模型。\n這裡推薦一些不錯的模型。\n1. 下載模型 # 參考如何下載Stable Diffusion模型\n2. Stable Diffusion WebUI模型放置位置 # 不論是.ckpt還是.safetensors模型，都是在複製stable-diffusion-webui的儲存庫後，放到主程式資料夾下的/models/Stable-diffusion資料夾。\n","date":"2024年2月9日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-download-models/","section":"Ai-Arts","summary":"存檔點模型(checkpoint，勿跟LoRA搞混)是AI生圖的重要依據，算圖用的模型可以安裝很多個。\nStable Diffusion WebUI在初次啟動時，若放模型的資料夾(models/Stable-diffusion)為空，則會自動下載原始版的Stable Diffusion v1.5模型。\n但是，不同人玩AI生圖有不同的需求，以寫實風格為主的Stable Diffusion模型可能無法滿足所有人。因此你可以先下載自己想要使用的模型。\n這裡推薦一些不錯的模型。\n1. 下載模型 # 參考如何下載Stable Diffusion模型\n2. Stable Diffusion WebUI模型放置位置 # 不論是.ckpt還是.safetensors模型，都是在複製stable-diffusion-webui的儲存庫後，放到主程式資料夾下的/models/Stable-diffusion資料夾。\n","title":"如何下載模型｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":" 無聊搜尋魔法少女小圓，巴麻美當魔法娼女的本子，一查發現還蠻多的XDD\n這類本子跟K-on的本子(C76) [SNOB NERD WORKS (さめだ小判)] ふうぞく! (けいおん!)一樣有特別風味（關於這本的評價我另外寫在這裡），描寫的都是被人上過不知道多少次的風俗店女人（學生妹？）的生態，有得是被迫下海，有的是經驗老道，還有的還接上原作劇情，使得這些作品讀來十分有趣。 沒有掉頭就走橋段\n本次就來分享巴麻美的一些不錯的魔法娼女本子 (或者妓女/風俗娘/傳播妹/酒店小姐\u0026hellip;隨你怎麼叫)，排序越後面的越棒。\n很多本的作者都有畫出模擬「叫小姐」的網頁，彷彿真的點得到麻美來服務你。可見大家的共識是：麻美真的是滿意度超高的小姐！！ 其他魔法少女不是沒有本子，但個人覺得只有麻美是酒店紅牌的概念！看看巴麻美的奶子，表現出未成年爆乳卻能成為當家台柱的實力，如果真的有這種風俗店一定每次都要點她。 1. 魔法風俗デリヘル★マギカ # [おたべ★ダイナマイツ (おたべさくら)] 魔法風俗デリヘル★マギカ (魔法少女まどか☆マギカ)\n這個本子系列，QB兼職當GTO，負責送魔法少女上門服務～ 本集是巴麻美的場合。\n沒有任何囉唆，直接進入本番，真是快速 可惜早洩 沒關係，照樣能夠內射 在QB心中\u0026hellip;巴麻美不是最好人選呀\u0026hellip;要讓小圓簽訂契約成為魔法娼女才行！！ 2. 巴マミは魔女である # (C83) [姫屋 (阿部いのり)] 巴マミは魔女である (魔法少女まどか☆マギカ)\n開戰前，總是要先欣賞一下奶子。 本子標題「巴麻美是魔女」我有點搞不明白，是在本子裡面劇透魔法少女小圓的世界關了嗎？？\n按照這裡QB的說法，魔法少女怎麼幹都不會懷孕喔～補魔的概念（這本的設定太遜了～～本文後面還有更猛的運用原作劇情的本子） 這個雙重插入的玩法實在讚 3. 巴マミ〇学生援浄交際 # [GADGET (A-10)] 巴マミ〇学生援浄交際 (魔法少女まどか☆マギカ)\n被歐吉桑的雞雞幹得死去活來 4. 売春マンション24時 # (C94) [ガジェット工房 (A-10)] 売春マンション24時 (魔法少女まどか☆マギカ)\n學姐還債辛酸畫面流出，呼巴掌的畫面看了真過癮\n超級大的乳暈～～ 放馬過來！ 邊幹邊抽煙是怎樣啦 陷入紙醉金迷的醜樣 我覺得好笑的地方是這幾個本子都會真的把巴麻美的攬客廣告畫出來XDD 好像真的能點到臺一樣 5. 市立見○原○学3年生 巴○ミ 変態AVデビュー # (C87) [774ハウス (774)] 市立見○原○学3年生 巴○ミ 変態AVデビュー (魔法少女まどか☆マギカ)\n巴麻美拍AV的故事，把本子畫得像是真的有在販售的AV 男人不論看到第幾次奶子，都會對大小感到驚豔，這次還是凹陷乳頭～～ 揉著大奶子後入幹的真爽 到學校玩露出play，在朋友面前做愛，覺醒更詭異的性癖了 6. 市立見○原○学3年生 爆乳便女巴○ミ # (C90) [774ハウス (774)] 市立見○原○学3年生 爆乳便女巴○ミ (魔法少女まどか☆マギカ)\n延續上集，繼續拍AV，本子封面就是AV影片的封面了吧wwww 但這次封底偷懶唷 明確說出自己是L罩杯，真的是中學生嗎？ 爆乳便女，妥妥的服務著男性們 7. 泡マミ # (C95) [Finecraft69 (6ro-)] 泡マミ (魔法少女まどか☆マギカ)\n點到可以無套中出(NS)的麻美！？ 接下來的流程，就是標準風俗店模式（按照E-hentai留言板的老哥說法），性感的內衣看起來很可口 泡泡浴服務周到，呼應本子標題「泡泡麻美」 麻美的奶子怎麼忽大忽小的\u0026hellip; 總之，痛快的射精 一開始男主手機網頁看的畫面，嗯，做得跟真的一樣讓人很想點下去\u0026hellip;再度回味 8. みるまみ # (C82) [Finecraft69 (井硲六郎)] みるまみ (魔法少女まどかマギカ)\n標題みるまみ我不知道有什麼特殊含義，我只查到有個叫坂道みる的AV女優在風俗店兼職的新聞，如果真如我想的那樣\u0026hellip;作者很故意喔XD。\n英文副標也很有趣：Mami I'd Like to Fuck，就是玩MILF (Mother I Would Like to Fuck) 的梗嘛！但這裡麻美只有21歲而已餒，有點老但不是熟女。\n這本不是單純風俗娘而已，居然還加入了偉大的劇情。\n跟上一本同一個作者，這家作者畫的麻美真的很愛吃掉處男呢～～ 這次吃的是年紀更小的正太中學生，玩這個不會太刺激了嗎？？ \u0026hellip;算了，奶子撲上來那一刻，任誰都會放棄思考吧 溫柔的麻美指導如何進行本番！要乖乖戴套喔 結果麻美自己迫不及待的先拔套子～～麻美看來對處男都招架不住呢，自故自的搖晃著腰部，甩著大奶子 想當然爾，正太性慾是永動機，麻美馬上被反殺 後面的劇情我有點看不懂，麻美認為用子宮接受了世間的哀嘆，再生出小孩放出能量，就能逆轉魔法少女變成魔女的命運！？？\n悲嘆之種當魔法少女的卵子，和男性精子結合的構想很有創意啦\u0026hellip;但不如說是作者想畫這些特殊性癖好的畫面，才瞎編劇情吧 這一幕男學生後入輪暴的畫面還不錯啦，可惜作者沒有太多著墨 最可惜的一幕，幹，出產畫面格子遮三小，差一點這本就能成為我心目中的神作啦 封底，又一張做得超精緻的「點餐」畫面wwww 9. ヨロコビの国 Vol.15 # (C80) [ヨロコビの国 (JOY RIDE)] ヨロコビの国 Vol.15 (魔法少女まどか☆マギカ)\n附錄(C80) [ヨロコビの国 (JOY RIDE)] ヨロコビの国 Vol.15.5 (魔法少女まどか☆マギカ)\n儘管這本劇情和體位很普通，演的也都是標準風俗店劇情，但每次看到封面的巴麻美大奶我的大腦就停止思考了，因為血液都灌到大雞雞上了。\n麻美真的是滿意度超高的小姐！！ 真想擁抱這柔軟的身軀\u0026hellip;冷不防地精氣就被吸走了 泡泡浴十分敬業 終於到了能盡情射精的本番～～ 謝謝妳，射精後又有活下去的動力了 嗯，看到這個封底，更加確信以上的想法了。 如果意猶未盡，以後還要繼續找麻美來一發喔！ ","date":"2024年2月8日","externalUrl":null,"permalink":"/posts/tomoe-mami-prostitution-doujinshi/","section":"Nsfws","summary":" 無聊搜尋魔法少女小圓，巴麻美當魔法娼女的本子，一查發現還蠻多的XDD\n這類本子跟K-on的本子(C76) [SNOB NERD WORKS (さめだ小判)] ふうぞく! (けいおん!)一樣有特別風味（關於這本的評價我另外寫在這裡），描寫的都是被人上過不知道多少次的風俗店女人（學生妹？）的生態，有得是被迫下海，有的是經驗老道，還有的還接上原作劇情，使得這些作品讀來十分有趣。 沒有掉頭就走橋段\n本次就來分享巴麻美的一些不錯的魔法娼女本子 (或者妓女/風俗娘/傳播妹/酒店小姐…隨你怎麼叫)，排序越後面的越棒。\n很多本的作者都有畫出模擬「叫小姐」的網頁，彷彿真的點得到麻美來服務你。可見大家的共識是：麻美真的是滿意度超高的小姐！！ 其他魔法少女不是沒有本子，但個人覺得只有麻美是酒店紅牌的概念！看看巴麻美的奶子，表現出未成年爆乳卻能成為當家台柱的實力，如果真的有這種風俗店一定每次都要點她。 1. 魔法風俗デリヘル★マギカ # [おたべ★ダイナマイツ (おたべさくら)] 魔法風俗デリヘル★マギカ (魔法少女まどか☆マギカ)\n","title":"魔法少女小圓的巴麻美擔當「魔法娼女」的本子","type":"nsfw"},{"content":"以前在Windows 10的時代玩過 MikuMikuDance (MMD)，就是日本人製作的那款著名跳舞軟體，現在主力完全切換至Linux後就只能用Wine硬跑了。\n2022年，巴哈26週年站聚擺攤前試過一次Wine跑MikuMikuDance\u0026hellip;黑畫面\n2024年重試，竟然可以了，MikuMikuDance、PMX Editor「大部分」功能正常執行，僅輸出怪怪的。 系統：Ubuntu 22.04 顯示卡：Nvidia，安裝閉源驅動 Wine版本：soda-8.0.2 MikuMikuDance版本：Ver.9.32 (x64バージョン) PMX Editor版本：0.2.7.3 (x64バージョン) 1. MikuMikuDance # 安裝Bottles for Linux\n建立Gaming的酒瓶\n開啟相依項目的頁面，安裝cjkfonts、vcredist2005、vcredist2008、vcredist2010、vcredist2013、devenum、quartz、d3dx9、qcap、qedit、d3dcompiler_43、gdiplus、directshow套件 到酒瓶設定，設定語言為Japanese 再點選新增環境變數，新增LANG，數值填入ja_JP.UTF-8 至MikuMikuDance官網下載MikuMikuDance_v932x64.zip。解壓縮的時候記得指定日文編碼：\nunzip -O shift-jis MikuMikuDance_v932x64.zip 在Bottles執行MikuMikuDance.exe。註解：你也可以改安裝台灣人製作的漢化版，直接跑exe就可以了，不需要開Ntleas。\n如果MikuMikuDance開不起來，嘗試在Bottles的酒瓶設定，關閉DXVK和VKD3D試試。 之後要裝Ut Video Codec Suite和MME，也是在這個酒瓶內操作。\n2. PMX Editor # PMX Editor的環境要求跟MikuMikuDance相仿，如果不想重複以下步驟，你可以直接複製MikuMikuDance的酒瓶環境。\n同樣建立Gaming的酒瓶\n開啟相依項目的頁面，安裝cjkfonts、vcredist2005、vcredist2008、vcredist2010、vcredist2013、devenum、quartz、d3dx9、qcap、qedit、d3dcompiler_43、gdiplus、directshow套件\n到酒瓶設定，設定語言為Japanese。再點選新增環境變數，新增LANG，數值填入ja_JP.UTF-8\n至PMX Editor官網下載PmxEditor_0273.zip。解壓縮的時候指定日文編碼：\nunzip -O shift-jis PmxEditor_0273.zip 我自己測試得關掉DXVK和VKD3D才能開啟PMX Editor，大概是Nvidia顯示卡驅動的問題。 順帶一提，Blender也有編輯MMD模型的套件blender_mmd_tools喔！Linux系統安裝Blender亦非難事。\n3. 試試MMD的跨平台替代品nanoem # 近年來有名為hkrn的開發者做了nanoem，試圖改善MMD的問題。雖然處於早期開發階段看起來已經有個樣子了。 原始碼可於Github取得，目前只有發布macOS和Windows版，Linux版要自己編譯。\n參考Github Action，在Ubuntu 22.04編譯，要先安裝依賴套件 sudo apt-get update sudo apt-get install \\ libasound-dev \\ libgtk-3-dev \\ libglu1-mesa-dev \\ ninja-build \\ xorg-dev \\ libxi-dev \\ libxcursor-dev \\ cmake \\ clang \\ libc++-dev \\ libc++abi-dev 複製專案 git clone https://github.com/hkrn/nanoem.git cd nanoem git submodule update --init --recursive 開始編譯 export NANOEM_TARGET_COMPILER=clang export CC=clang export CXX=clang++ export CXXFLAGS=-stdlib=libc++ export LDFLAGS=-lc++abi cmake -DCONFIG=debug -P scripts/build.cmake mkdir out cd out cmake -G Ninja .. cmake --build . 啟動程式 cd sapp \u0026amp;\u0026amp; ./nanoem 另請參見 # 這個網站的作者有提供一鍵安裝指令稿 How to run MikuMikuDance in Linux using Wine and DXVK - Learn MikuMikuDance\nWineHQ上的運作狀況 MikuMikuDance - WineHQ\n實在沒辦法就用Windows 11虛擬機直通GPU再跑MMD吧。\n","date":"2024年2月8日","externalUrl":null,"permalink":"/posts/mikumikudance-linux/","section":"所有文章","summary":"以前在Windows 10的時代玩過 MikuMikuDance (MMD)，就是日本人製作的那款著名跳舞軟體，現在主力完全切換至Linux後就只能用Wine硬跑了。\n2022年，巴哈26週年站聚擺攤前試過一次Wine跑MikuMikuDance…黑畫面\n2024年重試，竟然可以了，MikuMikuDance、PMX Editor「大部分」功能正常執行，僅輸出怪怪的。 系統：Ubuntu 22.04 顯示卡：Nvidia，安裝閉源驅動 Wine版本：soda-8.0.2 MikuMikuDance版本：Ver.9.32 (x64バージョン) PMX Editor版本：0.2.7.3 (x64バージョン) 1. MikuMikuDance # 安裝Bottles for Linux\n建立Gaming的酒瓶\n開啟相依項目的頁面，安裝cjkfonts、vcredist2005、vcredist2008、vcredist2010、vcredist2013、devenum、quartz、d3dx9、qcap、qedit、d3dcompiler_43、gdiplus、directshow套件 到酒瓶設定，設定語言為Japanese 再點選新增環境變數，新增LANG，數值填入ja_JP.UTF-8 至MikuMikuDance官網下載MikuMikuDance_v932x64.zip。解壓縮的時候記得指定日文編碼：\nunzip -O shift-jis MikuMikuDance_v932x64.zip 在Bottles執行MikuMikuDance.exe。註解：你也可以改安裝台灣人製作的漢化版，直接跑exe就可以了，不需要開Ntleas。\n","title":"嘗試在Linux跑MikuMikuDance和PMX Editor建模軟體","type":"posts"},{"content":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：Interpause/auto-sd-paint-ext 這是將Stable Diffusion的Inpainti整合至繪圖軟體Krita的擴充功能，可在選取圖層範圍後調用Stable Diffusion填充內容，支援不規則選取。\n進入Extension頁面，點選Install from URL：https://github.com/Interpause/auto-sd-paint-ext.git，關閉SD WebUI。\n編輯SD WebUI的啟動引數，加入--api啟動SD WebUI。進入網頁界面會看到多了auto-sd-paint-ext Guide/Panel頁面 安裝自由軟體Krita\n啟動Krita，點選上方的設定 → 管理資源，點選「開啟資源資料夾」 複製pykrita資料夾的路徑 回到SD WebUI，貼上pykrita資料夾的路徑，下面即會產生建立符號連結的指令。開啟終端機，按照你的作業系統執行指令。 重新啟動Krita。點選設定 → 設定Krita，點選左邊的「Python外掛程式管理器」，再勾選右邊的Stable Diffusion Plugin 重新啟動Krita，編輯圖片時左邊即會多出一堆面板。這些面板可從設定 → 工具面板叫出來\n以Inpaint的功能為例子，讓我們先把無關的面板都關掉，只留下\u0026quot;Inpaint\u0026quot; 點選右下角新增顏料圖層 在此圖層用鉛筆工具，將要填充的地方塗黑 於左邊的面板填入提示詞，點選Start Inpaint，開始繪圖。進度條可從終端機查看。 SD WebUI運算完成後結果即會顯示在Krita的圖層上。 ","date":"2024年2月8日","externalUrl":null,"permalink":"/posts/auto-sd-paint-ext/","section":"Ai-Arts","summary":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：Interpause/auto-sd-paint-ext 這是將Stable Diffusion的Inpainti整合至繪圖軟體Krita的擴充功能，可在選取圖層範圍後調用Stable Diffusion填充內容，支援不規則選取。\n進入Extension頁面，點選Install from URL：https://github.com/Interpause/auto-sd-paint-ext.git，關閉SD WebUI。\n編輯SD WebUI的啟動引數，加入--api啟動SD WebUI。進入網頁界面會看到多了auto-sd-paint-ext Guide/Panel頁面 安裝自由軟體Krita\n啟動Krita，點選上方的設定 → 管理資源，點選「開啟資源資料夾」 複製pykrita資料夾的路徑 回到SD WebUI，貼上pykrita資料夾的路徑，下面即會產生建立符號連結的指令。開啟終端機，按照你的作業系統執行指令。 重新啟動Krita。點選設定 → 設定Krita，點選左邊的「Python外掛程式管理器」，再勾選右邊的Stable Diffusion Plugin 重新啟動Krita，編輯圖片時左邊即會多出一堆面板。這些面板可從設定 → 工具面板叫出來\n以Inpaint的功能為例子，讓我們先把無關的面板都關掉，只留下\"Inpaint\" ","title":"auto-sd-paint-ext，Stable Diffusion WebUI整合繪圖軟體Krita","type":"ai-art"},{"content":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：ArtBIT/stable-gimpfusion ArtBIT開發的Stable-Gimpfusion能讓你在GIMP修圖時的圖層調用Stable Diffusion填充內容，支援文生圖、圖生圖、ControlNet。\n類似的擴充功能有blueturtleai/gimp-stable-diffusion，支援不規則選取區，還可以調用志願者經營的stable-horde伺服器來繪圖。但是它不支援SD WebUI。\n編輯SD WebUI的啟動引數，加入--api引數，再啟動SD WebUI。網頁界面可以不用開啟。\n安裝自由軟體GIMP\n下載stable_gimpfusion.py，放到GIMP的擴充功能資料夾 (Linux為$HOME/.gimp-2.10/plug-ins/並賦予執行權限，Windows為C:\\Users\\{your_id}\\AppData\\Roaming\\GIMP\\2.10\\plug-ins\\)\n開啟GIMP，開啟圖片。\n點選右上角的Gimpfusion，點選要使用文生圖(text to image)還是圖生圖(image to image) 輸入提示詞，Stable Diffusion就會開始生圖 進度條可從終端機查看，之後結果會新增至GIMP的圖層。目前此擴充功能只支援填充整個圖層。 ","date":"2024年2月8日","externalUrl":null,"permalink":"/posts/sd-webui-stable-gimpfusion/","section":"Ai-Arts","summary":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：ArtBIT/stable-gimpfusion ArtBIT開發的Stable-Gimpfusion能讓你在GIMP修圖時的圖層調用Stable Diffusion填充內容，支援文生圖、圖生圖、ControlNet。\n類似的擴充功能有blueturtleai/gimp-stable-diffusion，支援不規則選取區，還可以調用志願者經營的stable-horde伺服器來繪圖。但是它不支援SD WebUI。\n編輯SD WebUI的啟動引數，加入--api引數，再啟動SD WebUI。網頁界面可以不用開啟。\n安裝自由軟體GIMP\n下載stable_gimpfusion.py，放到GIMP的擴充功能資料夾 (Linux為$HOME/.gimp-2.10/plug-ins/並賦予執行權限，Windows為C:\\Users\\{your_id}\\AppData\\Roaming\\GIMP\\2.10\\plug-ins\\)\n開啟GIMP，開啟圖片。\n點選右上角的Gimpfusion，點選要使用文生圖(text to image)還是圖生圖(image to image) 輸入提示詞，Stable Diffusion就會開始生圖 進度條可從終端機查看，之後結果會新增至GIMP的圖層。目前此擴充功能只支援填充整個圖層。 ","title":"Stable-Gimpfusion，Stable Diffusion WebUI搭配修圖軟體GIMP使用","type":"ai-art"},{"content":"戳這裡看Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：Mikubill/sd-webui-controlnet ControlNet的儲存庫：lllyasviel/ControlNet 目前版本：ControlNet v1.1\nControlNet是通過加入額外條件來控制擴散模型的神經網路結構，它可以讓AI參考給定圖片的動作/線條/景深，更精準的生成圖片。\n跟內建的「圖生圖」技術比起來，ControlNet的效果更好，能讓AI以指定動作生圖；再搭配3D建模作為輔助，能緩解單純用文生圖手腳、臉部表情畫不好的問題。\nControlNet的用法還有：上傳人體骨架線條，ControlNet就能按骨架的動作生成完稿的人物圖片。或是上傳素色的3D建模，讓ControlNet彩現成為室內佈置家具。\nLvmin Zhang是ControlNet原始程式的開發者，Mikubill則是開發擴充功能，讓我們可以在Stable Diffusion WebUI用ControlNet生圖。\n1. 安裝ControlNet與下載模型 # 切換至Extensions頁面，點選Install From URL，URL輸入https://github.com/Mikubill/sd-webui-controlnet.git，按下Install，接著從終端機按CTRL＋C，關閉Stable Diffusion WebUI。\n到lllyasviel/ControlNet v1.1下載以.pth結尾的模型檔，全部檔案加起來約18GB。.yaml檔不需要下載。 將這些模型檔放到stable-diffusion-webui/extensions/sd-webui-controlnet/models資料夾\n重新啟動Stable Diffusion WebUI。\n2. 各個模型的用途 # ControlNet現有以下模型，您可以按照需求只下載需要的模型。\nAnime Lineart：偵測線條，生成的圖片亦會保留原始的線條，適合處理動漫圖像\nCanny：偵測圖片邊緣，比較模糊，不如Scribbles完整。\nDepth：偵測輸入圖片的深度圖(depth map)。\nIllumination：偵測輸入圖片的光源與照明效果。\nInpaint：功能類似「局部重繪」，使用50%隨機遮罩＋50%隨機光流遮罩訓練而成。\nInstruct Pix2Pix：模型檔名為ip2p，類似「圖生圖」，但是使用訓練50%的指示(instruction)提示詞和50%的敘述(description)提示詞訓練而成。因為是ControlNet，使用此模型時不需要調整CFG Scale。根據原作者的說法，此模型在下「使其成為X」的提示詞所生成的圖，效果比「使Y成為X」要好。 (Also, it seems that instructions like \u0026quot;make it into X\u0026quot; works better than \u0026quot;make Y into X\u0026quot;.)\nLineart：偵測線條，適合處理線稿，生成的圖片亦會保留原始的線條。\nM-LSD：偵測輸入圖片的直線。\nNormalbae\nOpenpose：使用OpenPose技術偵測輸入圖片人物的動作，不一定會保留線條。\nScribbles：偵測線條，偵測到的線條品質介於Soft Edge和Lineart之間。\nSegmentation：模型檔名為seg，將偵測的圖片物件切成一個一個色塊處理，例如房子一個色塊，後面的天空一個色塊。\nShuffle：把輸入圖片的概念轉移到生成的圖片。作者給的例子：輸入灰色裝甲圖片，生成的鋼鐵人盔甲也會是灰色的。\nSoft Edge：偵測圖片邊緣，效果較為柔和，像用炭筆塗過。\nTile：輸入圖片，選取一個區域，使其變清晰的模型。\n3. 實際操作方法 # 此處以改繪一個人物姿勢為例子。\n在安裝之後，WebUI的界面會多出\u0026quot;ControlNet\u0026quot;的按鈕。 進入文生圖的頁面填入提示詞，接著點開下面ControlNet的界面，勾選Enabled啟用ControlNet，上傳圖片。勾選LowVRAM可降低VRAM佔用。 接著選取要使用的Preprocessor和Model，二者要一致。 Preprocessor是先將上傳的圖片處理過一輪，例如Scribbles會將彩色圖片轉成線稿。如果你的圖片不需要處理，則Preprocessor可留空。\n以Scribbles為例，選取後點選右上角Generate即會生成出結果，並附上偵測到的線條。如下圖所示，右邊貞德的姿勢確實跟左邊的02十分類似。 4. 參數解說 # 在安裝之後，WebUI的界面會多出\u0026quot;ControlNet\u0026quot;的按鈕。 點開會看到以下選項：\nSingle Image # 上傳單張圖片。\nBatch # 處理多張圖片。Input Directory填寫的是待處理的圖片所在路徑。\nOpen New Canvas # 清除圖片，開一張新畫布。\n使用電腦鏡頭 # 在Open New Canvas的選項下面有四個按鈕。 由左到右：新增畫布；使用電腦鏡頭拍照上傳；未知；還原上次算圖設定。\nEnable # 在生圖時啟用ControlNet，必選。\nLow VRAM # 生圖使用ControlNet會吃更多VRAM，此選項可降低VRAM使用量。\nPixel Perfect # 由ControlNet自動決定Preprocessor解析度。\nAllow Preview # 允許預覽生圖結果，會顯示該模型偵測的線條或骨架。\nPreprocessor 預處理器 # 通常Preprocessor和Model二者要一致。\nPreprocessor是先將上傳的圖片處理過一輪，例如Scribbles會將彩色圖片轉成線稿。若圖片的線條是白底黑線，且不是用WebUI畫布所繪製，則Preprocessor必須選取\u0026quot;Invert\u0026quot;。\n如果你的圖片不需要處理，Preprocessor可留空。\nRun Preprocessor (爆炸圖示) # 執行預處理器，預先處理圖片。\nModel 模型 # 設定生圖的時候使用哪個ControlNet模型。\nControl Weight # ControlNet在生圖時的權重。\nStarting Control Step # 要讓ControlNet開始參與生圖的步數。\nEnding Control Step # 讓ControlNet結束參與生圖的步數。\nPreprocessor Resolution # 預處理器的解析度。\n如果不知道要設多少，請勾選\u0026quot;Pixel Perfect\u0026quot;讓ControlNet自動為您決定。\nControl Mode (Guess Mode) # 控制生圖時，要AI平衡二者(Balanced)，或是偏重你的提示詞(My prompt is more important)，還是偏重ControlNet (ControlNet is more important)。\n[Loopback] Automatically send generated images to this ControlNet unit # 自動將生成的圖片傳回此ControlNet運算單元(unit)。\n是的，如果您的電腦VRAM夠大，您可以在Settings → ControlNet啟用多個ControlNet運算單元。\nMulti ControlNet # 一個ControlNet效果不夠，您有沒有想過啟用第二、第三個ControlNet！？\n預設安裝後只會使用一個ControlNet，但是疊加多個有助於生成更好的圖片。比方說同時使用Open Pose和Depth生成人體，並防止手畫歪。\n要啟用Multi ControlNet，請進入Settings → ControlNet，拖動拉桿，設定要啟用的ControlNet數量。 ","date":"2024年2月8日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-controlnet/","section":"Ai-Arts","summary":"戳這裡看Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：Mikubill/sd-webui-controlnet ControlNet的儲存庫：lllyasviel/ControlNet 目前版本：ControlNet v1.1\nControlNet是通過加入額外條件來控制擴散模型的神經網路結構，它可以讓AI參考給定圖片的動作/線條/景深，更精準的生成圖片。\n跟內建的「圖生圖」技術比起來，ControlNet的效果更好，能讓AI以指定動作生圖；再搭配3D建模作為輔助，能緩解單純用文生圖手腳、臉部表情畫不好的問題。\nControlNet的用法還有：上傳人體骨架線條，ControlNet就能按骨架的動作生成完稿的人物圖片。或是上傳素色的3D建模，讓ControlNet彩現成為室內佈置家具。\nLvmin Zhang是ControlNet原始程式的開發者，Mikubill則是開發擴充功能，讓我們可以在Stable Diffusion WebUI用ControlNet生圖。\n1. 安裝ControlNet與下載模型 # 切換至Extensions頁面，點選Install From URL，URL輸入https://github.com/Mikubill/sd-webui-controlnet.git，按下Install，接著從終端機按CTRL＋C，關閉Stable Diffusion WebUI。\n","title":"ControlNet 讓AI按照骨架動作繪圖！Stable Diffusion WebUI擴充功能使用教學","type":"ai-art"},{"content":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：hnmr293/posex 請先安裝ControlNet才能使用這個擴充功能。\nPoseX是可以在Stable Diffuison WebUI直接拉人物骨架，再配合ControlNet生成姿勢的擴充功能。\n類似的擴充功能為OpenPose Editor，差別在於PoseX可以旋轉放大。\n切換至Extensions頁面，點選Install From URL，URL輸入https://github.com/hnmr293/posex.git，按下Install。接著重啟WebUI。 開啟文生圖的頁面，點選右下角PoseX，點選Send this image to ControlNet 在下面的ControlNet，點選Enabled，preprocessor選取none，model選openpose，不需要上傳圖片。 回到上面的PoseX，調整人物姿勢。左鍵點選移動，滾輪放大縮小，對模型左鍵點二下即可用右鍵移動單個骨架。 填入正負向提示詞，即會按照PoseX的姿勢來生成圖片。 ","date":"2024年2月8日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-posex/","section":"Ai-Arts","summary":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：hnmr293/posex 請先安裝ControlNet才能使用這個擴充功能。\nPoseX是可以在Stable Diffuison WebUI直接拉人物骨架，再配合ControlNet生成姿勢的擴充功能。\n類似的擴充功能為OpenPose Editor，差別在於PoseX可以旋轉放大。\n切換至Extensions頁面，點選Install From URL，URL輸入https://github.com/hnmr293/posex.git，按下Install。接著重啟WebUI。 開啟文生圖的頁面，點選右下角PoseX，點選Send this image to ControlNet 在下面的ControlNet，點選Enabled，preprocessor選取none，model選openpose，不需要上傳圖片。 回到上面的PoseX，調整人物姿勢。左鍵點選移動，滾輪放大縮小，對模型左鍵點二下即可用右鍵移動單個骨架。 填入正負向提示詞，即會按照PoseX的姿勢來生成圖片。 ","title":"Stable Diffusion WebUI擴充功能：骨架人偶 PoseX","type":"ai-art"},{"content":"本文用到的是Stable Diffusion WebUI的二個擴充功能。\n請先閱讀文生圖用法，並安裝ControlNet、Latent Couple、PoseX擴充功能。\n於文生圖的界面會看到Latent Couple 勾選Enabled啟用，設定長寬，再點選最下面的Create blank canvas建立空白畫布 用滑鼠繪製色塊。例如用紅筆繪製一個人物，藍筆繪製另一個人物。 點選I've finished my sketch，下面就會顯示各個色塊的分割狀況。依序填入提示詞：在General Prompt填入畫風和背景的提示詞，藍筆部份填入貞德Jeanne d'Arc相關的提示詞，紅筆部份填入艾比蓋兒Abigail Williams的相關提示詞 點選Prompt Info Update，提示詞即會自動跑到上面的框框，再自行補上負向提示詞。 搭配事先用PoseX拉好的骨架，再點選Generate開始生圖。 ","date":"2024年2月8日","externalUrl":null,"permalink":"/posts/stable-diffusion-text-to-image-controlnet-latent-couple/","section":"Ai-Arts","summary":"本文用到的是Stable Diffusion WebUI的二個擴充功能。\n請先閱讀文生圖用法，並安裝ControlNet、Latent Couple、PoseX擴充功能。\n於文生圖的界面會看到Latent Couple 勾選Enabled啟用，設定長寬，再點選最下面的Create blank canvas建立空白畫布 用滑鼠繪製色塊。例如用紅筆繪製一個人物，藍筆繪製另一個人物。 點選I've finished my sketch，下面就會顯示各個色塊的分割狀況。依序填入提示詞：在General Prompt填入畫風和背景的提示詞，藍筆部份填入貞德Jeanne d'Arc相關的提示詞，紅筆部份填入艾比蓋兒Abigail Williams的相關提示詞 點選Prompt Info Update，提示詞即會自動跑到上面的框框，再自行補上負向提示詞。 搭配事先用PoseX拉好的骨架，再點選Generate開始生圖。 ","title":"Stable Diffusion WebUI 用文生圖 ＋ ControlNet ＋ Latent Couple生成指定位置的多個人物","type":"ai-art"},{"content":" 1. 電腦硬體需求 # 最低配備 建議配備 註解 顯示卡(GPU) GTX1050 RTX3060 支援Nvidia、AMD、Intel Arc、Apple Silicon的顯示卡，其中Nvidia為最佳選項。 顯示卡視訊記憶體(VRAM) 4GB 8GB 顯示卡的VRAM最低要4GB才不會算到一半記憶體不足，若要訓練模型就得8GB以上了。 記憶體(RAM) 8GB 16GB 您可以啟用分頁檔或掛載SWAP增加系統記憶體。 儲存空間 最低20GB，最好是SSD 處理器(CPU) x86_64架構的Intel或AMD處理器皆可。若為Mac電腦建議使用搭載Apple Silicon晶片的機型。 網路連線 可以正常連線到Github和Youtube的網路 要生成512x512的圖，顯示卡VRAM在4GB以下的很容易遇到記憶體不足的問題，並且生圖速度很慢。\n儘管可以純CPU模式跑，但是速度會非常慢。一張顯示卡30秒就能算好的圖，CPU要算10分鐘。因此用獨立顯示卡跑Stable Diffusion仍是比較好的選擇。\n硬體不夠力的話，用雲端服務跑也是可以，例如Google Colab。\n2. 作業系統需求 # GNU/Linux # 測試可以跑的Linux發行版：\nUbuntu Fedora openSUSE Arch Linux Gentoo (使用glibc的profile) Windows # 最低要求為Windows 10 64位元，請確保系統已更新至最新版本。\nWindows 7不行。\nmacOS # 可以的話請使用最新版macOS。\n建議使用搭載Apple Silicon晶片的Mac機型。\n舊款Mac需配備AMD獨立顯示卡，只有Intel內顯的不行。\n","date":"2024年2月8日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-system-requirements/","section":"Ai-Arts","summary":"1. 電腦硬體需求 # 最低配備 建議配備 註解 顯示卡(GPU) GTX1050 RTX3060 支援Nvidia、AMD、Intel Arc、Apple Silicon的顯示卡，其中Nvidia為最佳選項。 顯示卡視訊記憶體(VRAM) 4GB 8GB 顯示卡的VRAM最低要4GB才不會算到一半記憶體不足，若要訓練模型就得8GB以上了。 記憶體(RAM) 8GB 16GB 您可以啟用分頁檔或掛載SWAP增加系統記憶體。 儲存空間 最低20GB，最好是SSD 處理器(CPU) x86_64架構的Intel或AMD處理器皆可。若為Mac電腦建議使用搭載Apple Silicon晶片的機型。 網路連線 可以正常連線到Github和Youtube的網路 要生成512x512的圖，顯示卡VRAM在4GB以下的很容易遇到記憶體不足的問題，並且生圖速度很慢。\n儘管可以純CPU模式跑，但是速度會非常慢。一張顯示卡30秒就能算好的圖，CPU要算10分鐘。因此用獨立顯示卡跑Stable Diffusion仍是比較好的選擇。\n硬體不夠力的話，用雲端服務跑也是可以，例如Google Colab。\n2. 作業系統需求 # GNU/Linux # 測試可以跑的Linux發行版：\n","title":"系統需求｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"在開始安裝Stable Diffusion WebUI前，先來了解一下背景知識吧。\n1. 介紹 # Stable Diffusion (穩定擴散) 是一個擴散模型，2022年8月由德國CompVis協同Stability AI和Runway發表論文，並推出相關程式。\n同年，AUTOMATIC1111開發了圖形化界面：「Stable Diffusion WebUI」，有人簡稱其為SD WebUI，這是能用AI技術生成圖片的開源軟體，只要給定一組描述文字，AI就會開始繪圖(準確的說是「算圖」或「生圖」)；亦能模仿現有的圖片，生成另一張圖片。甚至給它一部分塗黑的圖片，AI也能按照你的意願將圖片填上適當的內容。除此之外還支援自行訓練模型加強生圖效果。\n以下是一些Stable Diffusion WebUI生成的圖像，無後期處理。\nStable Diffusion WebUI整合了許多程式，因其跨平台又有很好的擴充性，便成為最多人使用的圖形化程式。圖形界面是透過網頁存取的，上手無難度，還有社群製作的界面中文化擴充功能。\n與其他雲端AI繪圖軟體Midjoruney、NovelAI、DALL-E相比，Stable Diffusion WebUI最大優點是可以免費在自己的電腦跑，且只要遵照Creative ML OpenRAIL-M授權條款的話，幾無使用限制。\n因其開放原始碼的特性，任何人都可以貢獻程式碼，參與改進專案。感謝原始AI生圖工具的開發者CompVis、StabilityAI、RunwayAI、AUTOMATIC1111，以及全世界大大小小開發者的付出，才讓我們有AI繪圖軟體能用。\n一開始Stable Diffusion WebUI支援的是x86架構，配備獨立顯示卡的Linux和Windows電腦。不過AI繪圖熱門到讓Apple公司親自下場優化，於是macOS也可以跑Stable Diffusion WebUI了。只是用筆電跑的要小心，AI繪圖會佔用大量GPU資源，注意散熱。\n至2024年，Stable Diffusion WebUI已支援Linux/Windows/MacOS系統，以及Nvidia/AMD/Intel Arc/Apple Silicon M的GPU。\n2. 致謝 # 感謝原始AI生圖工具的開發者CompVis、StabilityAI、RunwayAI、AUTOMATIC1111，以及全世界大大小小開發者的付出，才有了這本手冊。\n此手冊的正體中文版貢獻者：Ivon Huang\n本手冊的參考來源\nAUTOMATIC1111/stable-diffusion-webui Wiki - Github Rombach, R., Blattmann, A., Lorenz, D., Esser, P., \u0026amp; Ommer, B. (2022). High-resolution image synthesis with latent diffusion models. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 10684-10695). Diffusers - Hugging Face Voldy\u0026rsquo;s Retard Guide The definitive Stable Diffusion experience ™ Stable Diffusion Art - tutorials, prompts, resources Stable Diffusion討論社群\nr/StableDiffusion - Reddit 看板AI_Art 文章列表- 批踢踢實業坊 Stable Diffusion 台灣社群v2 - Facebook Stable Diffusion - 知乎 模型訓練參考資料\nHypernetwork training for dummies - Rentry.co 【Novel AI】手把手教你Textual Inversion神经网络训练详细操作 NovelAI hypernetwork 自训练教程 - 知乎专栏 Basic Dreambooth Guide - Github LoRA Training Guide - Rentry.co Using LoRA for Efficient Stable Diffusion Fine-Tuning - HuggingFace 曾飞飞 - 零基础读懂Stable Diffusion Well-Researched Comparison of Training Techniques Lora, Inversion, Dreambooth, Hypernetworks 【AI绘画】当我们在训练AI的时候，究竟在训练什么？AI训练前置知识（一） 【笔记】Stable Diffusion模型优化入门级介绍 - LoRA vs Dreambooth vs Textural Inversion vs Hypernetworks Hu, E. J., Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., \u0026hellip; \u0026amp; Chen, W. (2021). Lora: Low-rank adaptation of large language models. arXiv preprint arXiv:2106.09685. ","date":"2024年2月7日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-introduction/","section":"Ai-Arts","summary":"在開始安裝Stable Diffusion WebUI前，先來了解一下背景知識吧。\n1. 介紹 # Stable Diffusion (穩定擴散) 是一個擴散模型，2022年8月由德國CompVis協同Stability AI和Runway發表論文，並推出相關程式。\n同年，AUTOMATIC1111開發了圖形化界面：「Stable Diffusion WebUI」，有人簡稱其為SD WebUI，這是能用AI技術生成圖片的開源軟體，只要給定一組描述文字，AI就會開始繪圖(準確的說是「算圖」或「生圖」)；亦能模仿現有的圖片，生成另一張圖片。甚至給它一部分塗黑的圖片，AI也能按照你的意願將圖片填上適當的內容。除此之外還支援自行訓練模型加強生圖效果。\n以下是一些Stable Diffusion WebUI生成的圖像，無後期處理。\nStable Diffusion WebUI整合了許多程式，因其跨平台又有很好的擴充性，便成為最多人使用的圖形化程式。圖形界面是透過網頁存取的，上手無難度，還有社群製作的界面中文化擴充功能。\n與其他雲端AI繪圖軟體Midjoruney、NovelAI、DALL-E相比，Stable Diffusion WebUI最大優點是可以免費在自己的電腦跑，且只要遵照Creative ML OpenRAIL-M授權條款的話，幾無使用限制。\n","title":"Stable Diffusion WebUI 介紹｜Stable Diffusion WebUI使用手冊","type":"ai-art"},{"content":"這節教學Stable Diffusion的提示詞(prompt)寫法，並附上範例。 我們來看提示詞要怎麼寫，以文生圖的提示詞為主。\n不論用哪個模式生圖，Stable Diffusion都是吃「正向」與「負向」提示詞 (prompt，通俗的講法叫關鍵字、咒語、指令)，並且要用英文輸入。\n通常，你會在AI生圖程式看到二個框框： 第一個框框是提示詞 (Prompt) 告訴AI要生成哪些東西。第二個框框是負向提示詞 (Negative prompt) 告訴AI不要生成哪些東西。\n首先要注意的是，AI生圖目前還沒有涵蓋全宇宙所有圖片的模型，所以除了提示詞外，使用的生圖模型亦會大大的影響生成結果。\n譬如，用寫實風格的Stable Diffusion模型畫動漫人物，效果絕對會比使用Anything差的許多；又或者，想畫出宛如真人coser的圖，用ChilloutMix鐵定比用只強調寫實的RealisticVision要來的合適。因此在學會下提示詞以前，要先按照用途挑選適合的模型。\n1. 提示詞 Prompt # 這一節使用HD-v22的模型做示範，因此生成出來都會是動漫風格。\n下提示詞時，利用人事時地物的概念，寫個英文句子描述圖內場景，盡量將想看到的提示詞排在前面。例如在提示詞的欄位填入「一個亞洲女孩在沙灘上」，負向提示詞留空 an asian girl on the beach 結果如下 不過英文不好的人其實不用寫整個句子，用單字加逗號將想看的特徵點出來通常就有不錯效果。且實務上我們會希望測試更多參數，例如加入畫風、要模仿的藝術家風格、身體特徵等，因此用逗號更方便調整。將圖片特徵拆成單字就會變成下面這樣： ; (繪圖時請刪除此行) 參考翻譯：一個女孩，亞洲人，沙灘，海洋 1girl, asian, beach, ocean 再算一次，但是結果變了？沒錯，即使提示詞相近，AI繪圖每次生圖結果都是隨機的。要維持上一次的結果並微調，你得保留每次算圖的種子碼(Seed，SD WebUI界面左下角，亦會寫在檔名上)。 接著可以多指定一點細節：這個女孩眼睛是什麼顏色的？髮型是什麼？有戴帽子嗎？是站著還是坐著呢？身上穿的是什麼衣服？天空是什麼顏色的？ ; 參考翻譯：一個女孩，亞洲人，藍眼睛，短髮，草帽，站著，藍色比基尼，沙灘，海洋，橘色天空 1girl, asian, blue eyes, short hair, straw hat, standing, blue bikini, beach, ocean, orange sky 呼，好像一口氣加太多細節了呢，詳述細節的好處是避免AI亂生成，但也限制了其作畫創意。所以下面的例子會縮短，有時候讓AI隨機抽獎也不壞呀～\n要改變風格，可以在提示詞加入「風格」的提示詞。這方面的提示詞有：相片(photoshop)、3D建模(3d model)、裝飾藝術(art deco)、石像(stone sculpture)等風格。 ; 參考翻譯：一個女孩的石像，亞洲人，藍眼睛，沙灘，海洋 a stone sculpture of 1girl, asian, blue eyes, beach, ocean 但我使用的模型已是專攻動漫風格的模型，所以不用特別指定要畫出哪種風格，它一律都會是動漫風的圖片，很難畫出真人照片，所以說挑對模型很重要啊。\n風格是很難界定的東西呢，一般來說我們會圖片像哪個藝術家的風格對吧？那麼不如直接「召喚」他們吧！提示詞可以包含某位畫家的名字，AI會嘗試模仿其風格。例如加上「慕夏的作品」，並加入「大師級作品」的風格提示詞： ; 參考翻譯：慕夏的作品，大師級作品，一個女孩，亞洲人，藍眼睛，沙灘，海洋 artwork by Alfons Maria Mucha, masterpiece, 1girl, asian, blue eyes, beach, ocean 生圖的結果就會變得像是慕夏的作品。順帶一提masterpiece這個提示詞還蠻萬用的，可以讓作品維持一定水準。 當然還可以畫特定動漫人物的「二創」，只要將名字和作品名稱打上去就可以了。有名的動漫角色只要出現名字，不用特別指定身體特徵就會生成原作風格了，例如指定《新世紀福音戰士》的惣流·明日香·蘭格雷： ; 參考翻譯：新世紀福音戰士的明日香，大師級作品，一個女孩，沙灘，海洋 asuka_langley_souryuu from neon_genesis_evangelion, masterpiece, 1girl, beach, ocean 再次提醒，在下提示詞的時候，生成圖片使用的模型也需納入考量。譬如想要生成特定動漫人物，去Danbooru找到了英文姓名，加上提示詞，但你卻用畫真人的Stable Diffusion去算，則AI可能根本就不會認得你說的角色是誰，反之亦然。Danbooru的標籤風格跟一般圖片的描述還是有差距的。\n除非日後有蒐羅全部網路圖片的超大模型出現，否則下提示詞須配合模型種類來決定。\n如果AI怎樣都生成不出你要的風格或人物，請考慮換個模型，或是自行訓練模型。\n2. 負向提示詞 Negative Prompt # 上面的例子，我們只有寫提示詞，但下面的負向提示詞的欄位都是空白。但生圖時常常還需要加入一些負向提示詞，避免掉不好的結果。AI繪圖有時不會一次就算出好結果，所以還需要加上負向提示詞來控制，尤其是大批算圖的時候更為重要。\n負向提示詞會加入一些常見的「不好」的圖片特徵，例如低畫質、最糟品質、畫家簽名、模糊、浮水印 deformed, lowres, bad anatomy, text, error, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name 不想看到的東西也可以加進去。例如不想看到裸露、兵器、血、獵奇的元素出現，就加入nsfw、weapon、blood、guro至負向提示詞 nsfw, weapon, blood, guro, lowres, bad anatomy, text, error, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name 提示詞並非越多越好，正向提示詞以不超過150個詞元(token)為原則；不過負向提示詞可以盡量把不想看到的都塞進去。\n3. Stable Diffusion WebUI獨有語法 # 此節列出的語法為AUTOMATIC1111製作的SD WebUI獨有，使用其他人製作的Stable Diffusion程式不見得適用。\n關注度括號 Attention/emphasis # 控制關注度的符號，增加算圖時對該提示詞的關注度(attention)。簡單來說，括號就是你想強調的重點元素，括號越多，生成的結果越會符合括號裡的提示詞。\nSD WebUI使用小括號控制關注度： ( ) 小括號層次越多權重越高(不加小括號為1倍，每加一層小括號乘以1.1倍)。例如，強調「藍眼睛」，生成的結果就更高機率是藍眼睛人物\nasian, woman, ((blue eyes)), beach, ocean 亦可以直接寫明要增強幾倍關注度，但其實一般情況下不用設太強，用一二層的小括號就夠了。\nasian, woman, (blue eyes:2.5), beach, ocean SD WebUI還支援[ ]中括號，越多權重越弱(乘以1.1倍)，通常用在負向提示詞欄位。\n＊給用過NovelAI的使用者：SD WebUI的小括號( )效果等價於NovelAI的大括號{ }，都是增加對該提示詞的關注度。\n提示詞編輯 Prompt editing # 指定在到哪一步數的時候切換提示詞。此處的中括號跟權重無關。\n語法為[提示詞1:提示詞2:要切換的步數]\n例如，算圖時設定20步，一開始算橘子，設定算到15步時切換成蘋果\n[orange : apple : 15] on table 切換單字 Alternating Words # 使用｜代表在每個步數切換提示詞，例如我要在算圖時於「藍眼睛」或「紅眼睛」或「黑眼睛」之間切換\nasian, woman, [blue eyes|red eyes|black eyes], beach, ocean 可組合性擴散 Composable Diffusion # 此語法讓AI依照權重生成二個不同的物件。\n例如生成橘子與蘋果，中間用大寫的AND連接\norange AND apple 後面加上數字控制權重，初始值為1，數值低於0.1則無效。\norange :1.5 AND apple :2.5 此語法適合搭配ControlNet和Latent Couple，可以準確控制圖中物件的位置。\n4. 提示詞範例 # 這裡提供一些懶人包。負向提示詞有些是通用的。\n生成可愛的狗勾 # 讓我們試著畫幾隻柯基犬在草地上奔跑。\n建議使用模型：Stable Diffusion、Realistic Vision\n提示詞\n3 corgi dogs running on grass field 負向提示詞\nlowres, bad anatomy, text, error, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name 生成高科技未來城市 # 建議使用模型：Stable Diffusion、Realistic Vision\n提示詞\ncity future, 8k, exploration, cinematic, realistic, unreal engine, hyper detailed, volumetric light, moody cinematic epic concept art, realistic matte painting, hyper photorealistic 負向提示詞\nlowres, bad anatomy, text, error, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name 生成一台特斯拉車子 # 建議使用模型：Stable Diffusion、Realistic Vision\n提示詞\nconcept art,tesla car, aerodynamic, future 負向提示詞\nlowres, bad anatomy, text, error, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name 生成動漫美少女 # 建議使用模型：Anything、Hentai Diffusion\n隨機畫一個Fate/Grand Order的貞德\n提示詞\njeanne d\u0026#39;arc from fate grand order, 1girl, (best quality), (masterpiece), (high detail), ((full face)), sharp, ((looking at viewer)), ((detailed pupils)), (thick thighs), (((full body))), (large breasts) 負向提示詞\nlowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name 生成日韓風真人女孩 # 建議使用模型：ChilloutMix、Perfect World，並適時使用Japanese Doll的LoRA。\n隨機畫一個日本女孩，不要色色\n提示詞\n(a japanese woman), shiny skin, (ultra high res,photorealistic,realistic,best quality,photo-realistic), (((high detailed skin,visible pores))),(real person,photograph), (8k, raw photo, best quality, masterpiece),(1girl),photon mapping, radiosity, physically-based rendering,automatic white balance,(haunting smile,moist lips),watery eyes, (blush|cute and playful|adorable|thick bangs|beauty),((irises and pupils are rounded,the pupil reflects the surroundings,eyes are not the same size)) 負向提示詞\nnude, lowres,blurry,simple background,jpeg artifacts,bad-artist,bad shadow,compressed image,low pixel,light spot, paintings,sketches,((monochrome)),((grayscale)),noise point,semi-realistic, 3d,render,cg,drawing,cartoon,anime,comic,username,watermark,signature,cropped,error,censored,text,stain, deformed iris,deformed pupils,deformed nail,deformed ear,deformed eye,deformed eyelid,collapsed eyeshadow, [excessive skin spots,excessive skin imperfections,skin blemishes,skin fold,rough skinstain skin],goosebumps,skin layering,axillary fold,facial contortion, (flawless face),trimming 5. 值得參考的提示詞網站 # 若使用的是SD模型，想生成真人，請看Voldy整理的歷史上有名的藝術家。\n若使用動漫風的模型請看Danbooru圖庫的標籤決定要下哪些提示詞。\nPrompt Generator和NovelAI魔导书可以協助你組合提示詞。\nCivitai除了下載模型外，還有很多現成的提示詞搭配模型的範例可以照抄。\n","date":"2024年2月7日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-prompt-guide/","section":"Ai-Arts","summary":"這節教學Stable Diffusion的提示詞(prompt)寫法，並附上範例。 我們來看提示詞要怎麼寫，以文生圖的提示詞為主。\n不論用哪個模式生圖，Stable Diffusion都是吃「正向」與「負向」提示詞 (prompt，通俗的講法叫關鍵字、咒語、指令)，並且要用英文輸入。\n通常，你會在AI生圖程式看到二個框框： 第一個框框是提示詞 (Prompt) 告訴AI要生成哪些東西。第二個框框是負向提示詞 (Negative prompt) 告訴AI不要生成哪些東西。\n首先要注意的是，AI生圖目前還沒有涵蓋全宇宙所有圖片的模型，所以除了提示詞外，使用的生圖模型亦會大大的影響生成結果。\n譬如，用寫實風格的Stable Diffusion模型畫動漫人物，效果絕對會比使用Anything差的許多；又或者，想畫出宛如真人coser的圖，用ChilloutMix鐵定比用只強調寫實的RealisticVision要來的合適。因此在學會下提示詞以前，要先按照用途挑選適合的模型。\n1. 提示詞 Prompt # 這一節使用HD-v22的模型做示範，因此生成出來都會是動漫風格。\n下提示詞時，利用人事時地物的概念，寫個英文句子描述圖內場景，盡量將想看到的提示詞排在前面。例如在提示詞的欄位填入「一個亞洲女孩在沙灘上」，負向提示詞留空 an asian girl on the beach 結果如下 ","title":"Stable Diffusion WebUI生成提示詞快速入門","type":"ai-art"},{"content":"「NotKancolle」是一款艦隊Collection同人遊戲，最初發布於2022年。\n直譯：這不是砍口雷\n\u0026hellip;This is not Sparta!!\n這個同人遊戲為艦これ玩家dctei使用GameMaker Studio製作的，以2D畫面還原《艦これアーケード》玩法，可以說是離線版艦隊Arcade了，讓你能夠紙上談兵練練手。 此同人遊戲有點超前アーケード版的進度，連塔什干、烈風改二都實裝了。\n本遊戲僅還原玩法，沒有アーケード版艦娘的「3D演出」。雖然簡陋，但我個人感覺內容至少能跟PSV版並肩了？下面是我錄製的遊玩畫面： 聲明：本遊戲屬於教育用途，非營利目的。使用的艦娘Q版立繪來自つむじぃ和ニノモトニノ二位繪師。\n不要說這遊戲抄襲啦！要說淨室工程、重新實現(reimplementation)，就像《Minetest》之於《Minecraft》一樣。未來作者應該會開源原始碼。\n因艦これ官方說過禁止二創遊戲 (那DLsite上面的嘞) ，有網友警告未來作者可能會吃版權警告，所以遊戲改名叫做NotKanColle，並實裝載入「模組」的功能。\n1. 艦これアーケード簡介 # 《艦これアーケード》，又稱艦娘街機版、艦隊Arcade，是C2機關與SEGA合力開發的機台遊戲，玩法基於《艦隊Collection》網頁版。目前只有在日本的機台能玩到，饞哭海外玩家。\n對《艦これアーケード》玩法沒概念的人可以先看Wiki有個粗淺認識。跟網頁版不同的最大之處在於，《艦これアーケード》出擊要手動操控艦娘，閃避敵艦攻擊，在有限時間內運用砲擊、爆雷、空襲取得勝利。\n參考日本玩家天津風瑞鶴的遊玩影片： 2. 快速上手NotKancolle # 到Discord或者Twitter下載遊戲檔案。該遊戲目前只有英文版，支援Windows系統；Linux安裝Bottles新增Gaming的Bottle後也可以玩。\n本遊戲是用鍵盤滑鼠操作的，遊戲手把可能得靠AntiMicroX來映射按鍵。\n解壓縮後點選NotKancolle.exe檔案執行。遊戲進度儲存於C:\\Users\\user\\AppData\\Local\\NotKancolle 按下空白鍵開始遊戲。這裡要新建玩家Profile，輸入名字建立設定檔。 進入初始畫面會得到「漣」，將其拖曳到艦隊格子編成。第二艦隊是用來跑遠征的。 點選右邊的Sortie出擊，選取1-1 開始索敵。用W和S調整航速(顯示於右下角)，用A和D調整航向。有偵察機的艦娘可放出偵察機索敵，或是轟炸敵方艦隊，同時也要小心道中空襲把你炸回家。 接敵後要靠近到敵艦隊的砲擊距離內，盡量取得T字有利(顯示在中間上方)，在敵方出現綠圈並且圓圈縮小重合的時候按空白鍵砲擊，不同艦種的砲擊冷卻時間不一。按F變換陣型(單縱、複縱、輪型、梯形、單橫)。按數字鍵1~4換成魚雷或爆雷攻擊。如果艦娘沒有攜帶反潛裝備，對潛艇是完全無法造成傷害。注意閃避敵方砲擊紅色圈圈，低等級很容易大破。 戰鬥時間結束後結算成績，按下空白鍵繼續進擊。注意大破進擊會沈船。 進入王點玩法一樣，如果時間內沒打完可以繼續進夜戰。\n回到母港記得按Resupply補給彈藥，艦娘有損傷記得按Dock入渠。\n左邊選單有類似網頁版的任務(Mission)，完成後就可以拿資源去造船和開發裝備了～配方參考網頁版。Arcade版的任務跟網頁版有點像，不過簡化許多，我玩不到幾小時就能拿到天山友永隊了。 要取得資源當然就是完成任務了，另外打補給艦能獲得一些鋁。\n除了遊戲的四大資源以外，NotKancolle還實裝了戰略點(Strategy points)，艦娘轟沉可以用這個復活。剩下的遊戲資訊請按遊戲內的Help慢慢細看吧。\n","date":"2024年2月6日","externalUrl":null,"permalink":"/posts/notkancolle-kancolle-fan-game/","section":"Kantai-Collections","summary":"「NotKancolle」是一款艦隊Collection同人遊戲，最初發布於2022年。\n直譯：這不是砍口雷\n…This is not Sparta!!\n這個同人遊戲為艦これ玩家dctei使用GameMaker Studio製作的，以2D畫面還原《艦これアーケード》玩法，可以說是離線版艦隊Arcade了，讓你能夠紙上談兵練練手。 此同人遊戲有點超前アーケード版的進度，連塔什干、烈風改二都實裝了。\n本遊戲僅還原玩法，沒有アーケード版艦娘的「3D演出」。雖然簡陋，但我個人感覺內容至少能跟PSV版並肩了？下面是我錄製的遊玩畫面： 聲明：本遊戲屬於教育用途，非營利目的。使用的艦娘Q版立繪來自つむじぃ和ニノモトニノ二位繪師。\n不要說這遊戲抄襲啦！要說淨室工程、重新實現(reimplementation)，就像《Minetest》之於《Minecraft》一樣。未來作者應該會開源原始碼。\n因艦これ官方說過禁止二創遊戲 (那DLsite上面的嘞) ，有網友警告未來作者可能會吃版權警告，所以遊戲改名叫做NotKanColle，並實裝載入「模組」的功能。\n1. 艦これアーケード簡介 # 《艦これアーケード》，又稱艦娘街機版、艦隊Arcade，是C2機關與SEGA合力開發的機台遊戲，玩法基於《艦隊Collection》網頁版。目前只有在日本的機台能玩到，饞哭海外玩家。\n","title":"2D版艦娘Arcade「NotKancolle」同人遊戲下載","type":"kantai-collection"},{"content":"","date":"2024年2月6日","externalUrl":null,"permalink":"/tags/kancolle-arcade/","section":"標籤","summary":"","title":"Kancolle Arcade","type":"tags"},{"content":"本文介紹如何使用Bottles在Linux系統的電腦執行和安裝Windows exe。 例如跑WinRAR、Photoshop CC、Line、微信、QQ、Microsoft Office 365、Grand Theft Auto\u0026hellip;\u0026hellip;等Windows才有的程式。 在Linux執行Photoshop CC 2021\n1. Wine是什麼 # 什麼是Wine？它是一款將Windows exe轉譯成為Linux指令的技術，參閱Wine指令使用教學\nWine本身得打指令才能啟動，這個時候有個Wine的前端管理程式會比較方便。\n這篇文章我採用的是義大利設計師Mirko Brombin開發的「Bottles」，2017年推出第一個版本，至今依然不斷更新中。 在Bottles之前，已經有Wine前端管理程式出現，例如Lutris以及Linux版Steam客戶端。那麼為什麼要用Bottles呢？\n結合Bottles作者宣傳的項目，我認為Bottles有以下優點：\n界面乾淨磊落。Lutris是用YAML指令稿協助使用者安裝Windows程式。雖然設計靈活，但是使用者需要知道自己在幹嘛才能用得好。而Bottles把許多常用的東西都變成直覺的圖形界面，一鍵就能開關，讓使用者不太需要跑Winetricks。 一鍵切換Wine版本。Wine有官方原版、Valve的Proton、中國Deepin版\u0026hellip;等等針對不同環境特化的分支，Bottles能一鍵切換，不需頻繁打指令。 一個exe程式一個酒瓶，Bottles可以輕鬆將WINEPREFIX的容器隔離，不讓環境互相污染。 Bottles提供預先設定好的範本，將常用的exe預先裝上，以達成開箱即用的體驗，例如使用「GAMING」範本會自動安裝DirectX套件，應可直接執行遊戲exe。 中心化的軟體庫，Bottles開發者有維護一份常用exe的下載網址，改進Winetricks不易使用的問題。 提供快照功能，備份完整Wine環境，程式更新後無法運作就回退至上一版。 提供隔離檔案系統的功能。你要知道，用Wine跑Windows程式，病毒也是照樣能傷害Linux系統。Bottles預設會利用Flatpak技術，限制Wine的程式只能存取自身的目錄，除非使用者自行開放其他目錄的權限，否則Wine無法存取。 2. 如何安裝Bottles # Bottles作者推薦用Flatpak技術安裝Bottles。\nFlatpak是跨發行版的套件管理員，大部分的Linux發行版都支援。請參閱Flatpak安裝方式\n安裝Bottles，輸入y確認\nflatpak install flathub com.usebottles.bottles 建議預先開放權限，允許Bottles給Linux新增桌面捷徑 flatpak override com.usebottles.bottles --user --filesystem=xdg-data/applications 開放Bottles讀取你的常用目錄，例如「下載」目錄，避免在執行exe的時候出現權限問題 flatpak override com.usebottles.bottles --user --filesystem=xdg-download 安裝後在應用程式列表找到Bottles。 開啟後等待Bottles初始化完成。 如果你要在Bottles裡面使用MangoHud、Gamescope、vkBasalt，需要透過Flatpak安裝：\nflatpak install org.freedesktop.Platform.VulkanLayer.MangoHud flatpak install org.freedesktop.Platform.VulkanLayer.gamescope flatpak install org.freedesktop.Platform.VulkanLayer.vkBasalt 3. 建立「酒瓶」並執行exe # Bottles的功用就是用來建立Wine執行環境，就像把Wine裝入酒瓶(Bottle)一樣，每個酒瓶都是一個Wine容器。\n以Wine的術語來說，每個Bottles的酒瓶就是一個WINEPREFIX。\n按照Bottles的設計，每個酒瓶應當只放一個Windows exe。如下圖，遊戲和一般軟體分別位於不同的酒瓶，如果某個酒瓶環境被弄亂，直接刪除即可，其他酒瓶不受影響。 讓我們實地演練：執行遊戲《Undertale》，ProtonDB顯示此程式不用額外裝任何東西就能跑！\n點選Bottles左上角的＋號，點選新增酒瓶(Create Bottle)。輸入此酒瓶的名稱，下面環境(Environment)選取Gaming，這樣會自動裝好大多數程式需要的依賴套件，包含DirectX。 (選擇性步驟) 點選執行檔案(Run Executable\u0026hellip;) 旁邊的小齒輪，勾選在終端機執行(Run in Terminal)，這樣有助於除錯。 接著按執行檔案(Run Executable\u0026hellip;)，選取Undertale的遊戲exe。若看不到exe請點一下檔案選取對話框的篩選器，將其打叉，顯示所有格式的檔案。 程式執行後會一併開啟終端機，可用於監測程式是否有異常狀況。 確認程式能正常執行後，你可以點選Add Shortcuts...建立exe捷徑，這樣之後就可以從Linux的應用程式列表開啟exe程式。 點選Add Desktop Entry可將程式加到Linux的桌面捷徑。\n4. Bottles的資料位置 # Bottles模擬的C槽位於~/.var/app/com.usebottles.bottles/data/bottles/bottles/\u0026lt;酒瓶名稱\u0026gt;/drive_c\n進入該酒瓶主畫面。點選右上角Browse Files...開啟Bottles建立的虛擬C槽。 你的檔案管理器應該會自動開啟，這個就是Bottles建立的假C槽了。 5. 自訂酒瓶環境 # 如果程式需要額外套件才能運作，就得細調酒瓶的環境，Bottles將要用指令調整的東西都圖形化了。\n在酒瓶的主選單有以下選項，個別介紹。 設定值 Settings # Runner選項用於切換Wine版本，預設為Valve開發的soda。如果程式執行發生問題，可以切換成原版sys-wine試試看。 圖形設定，是否要使用DXVK (將DirectX指令轉成Vulkan) 之類的設定。這邊通常不用動。\n滑到最下面，Compatibiity處可設定要模擬的Windows版本和系統語言。通常用Windows 10就夠了。\nSnapshots則是設定是否自動製作Wine環境的快照，防止程式一更新就無法運作。\nGraphics裡面的Screen Scaling設定，可縮放Windows程式的字體大小(DPI)。\n相依項目 Dependencies # 此處是用於安裝依賴套件的，類似Winetricks的效果。 例如，很多中文程式需要安裝cjkfonts字體，防止亂碼。\n有些程式要安裝vcredist (Visual C++ Redistributable) 才能運作。\n程式具體需要哪些套件，請至WineDB或ProtonDB參看該程式的安裝說明。\n有些Windows依賴套件並無列在Bottles的Dependencies選單，若有需求請向作者回報。\n快照 Snapshots # 應用程式可能因為更新後便無法啟動，適時按右上角＋號新增快照，輸入註解後即可新增。 點選快照後即會自動將酒瓶的Wine環境回退至該版本。\n酒瓶的主畫面右上角尚提供完整備份Full Backup的功能，可將酒瓶環境匯出為壓縮檔。這樣重裝Bottles主程式後便能快速復原。\n工作管理員 Task Manager # 模擬Windows的工作管理員。 如果此處無法中止程式，也可以點選酒瓶主畫面右上角的Force Stop All Processes強制中止所有處理程序。\nWine舊版工具 # 酒瓶主畫面最下面的是Wine本身的工具，包含登錄檔(Registry)、命令提示字元(cmd)、控制台(Control Panel)、設定畫面(wiencfg)等。\n6. 解決Bottles相關問題 # 如何用指令執行Bottles的酒瓶\n範例，使用flatpak run，執行「Undertale」酒瓶裡面的Undertale.exe\n/usr/bin/flatpak run --command=bottles-cli com.usebottles.bottles run -p Undertale -b Undertale -- %u exe執行後沒有反應\nexe執行後無反應，可能是Flatpak權限問題導致，請一律將該exe和相關程式檔案放到Bottles的C槽 (~/.var/app/com.usebottles.bottles/data/bottles/bottles/\u0026lt;酒瓶名稱\u0026gt;/drive_c)\n並勾選\u0026quot;Run in Terminal\u0026quot;後執行，再看終端機輸出的訊息判讀錯誤來源。\nexe的檔案管理員看不到特定目錄的檔案\n假設你有二個硬碟，而Bottles執行exe時看不到第二個硬碟的檔案，這是Flatpak的檔案系統隔離所致。\n跟上面建議執行程式的時候把exe直接放到Bottles的假C槽的理由一樣。因為從其他硬碟讀取exe，很容易發生無法讀取dll等各種奇怪狀況。\n如果你堅持要從另一個硬碟執行exe，那請開啟終端機，輸入以下指令開放存取exe所在目錄的權限：\nflatpak override --user --filesystem=\u0026#34;目錄\u0026#34; com.usebottles.bottles 例如要存取第二個硬碟上的Pictures目錄：\nflatpak override --user --filesystem=\u0026#34;/run/media/user/HDD/Pictures\u0026#34; com.usebottles.bottles 再重啟Bottles。\nmodule:import_dll Loading library xxx.dll (which is needed by\u0026hellip;\n同上，使用指令開放該目錄的讀取權限\nUnhandled exception: page fault on read\u0026hellip;\n關掉DXVK 嘗試切換Wine版本 檢查該程式是否有依賴套件未安裝 試試該程式的32位元版 將該程式放到Bottles的C槽再執行 程式文字變成方塊\n請安裝cjkfonts字體。\n或手動下載Windows字型，將檔案放到Bottles假C槽的/windows/Fonts/ 目錄。\n你還可以設定fontconfig調整字體優先級別。\nWayland閃退、卡頓\nWine的應用程式可能不支援Wayland，它會用XWayland下去跑，導致效能降低。\n如果遇到應用程式黑螢幕，嘗試關閉酒瓶設定的「使用獨立顯示卡」選項。\n或者回退到X11工作階段。\n參考資料 # Bottles Documentation ","date":"2024年2月6日","externalUrl":null,"permalink":"/posts/setup-linux-bottles/","section":"所有文章","summary":"本文介紹如何使用Bottles在Linux系統的電腦執行和安裝Windows exe。 例如跑WinRAR、Photoshop CC、Line、微信、QQ、Microsoft Office 365、Grand Theft Auto……等Windows才有的程式。 在Linux執行Photoshop CC 2021\n1. Wine是什麼 # 什麼是Wine？它是一款將Windows exe轉譯成為Linux指令的技術，參閱Wine指令使用教學\nWine本身得打指令才能啟動，這個時候有個Wine的前端管理程式會比較方便。\n這篇文章我採用的是義大利設計師Mirko Brombin開發的「Bottles」，2017年推出第一個版本，至今依然不斷更新中。 在Bottles之前，已經有Wine前端管理程式出現，例如Lutris以及Linux版Steam客戶端。那麼為什麼要用Bottles呢？\n結合Bottles作者宣傳的項目，我認為Bottles有以下優點：\n界面乾淨磊落。Lutris是用YAML指令稿協助使用者安裝Windows程式。雖然設計靈活，但是使用者需要知道自己在幹嘛才能用得好。而Bottles把許多常用的東西都變成直覺的圖形界面，一鍵就能開關，讓使用者不太需要跑Winetricks。 一鍵切換Wine版本。Wine有官方原版、Valve的Proton、中國Deepin版…等等針對不同環境特化的分支，Bottles能一鍵切換，不需頻繁打指令。 一個exe程式一個酒瓶，Bottles可以輕鬆將WINEPREFIX的容器隔離，不讓環境互相污染。 Bottles提供預先設定好的範本，將常用的exe預先裝上，以達成開箱即用的體驗，例如使用「GAMING」範本會自動安裝DirectX套件，應可直接執行遊戲exe。 中心化的軟體庫，Bottles開發者有維護一份常用exe的下載網址，改進Winetricks不易使用的問題。 提供快照功能，備份完整Wine環境，程式更新後無法運作就回退至上一版。 提供隔離檔案系統的功能。你要知道，用Wine跑Windows程式，病毒也是照樣能傷害Linux系統。Bottles預設會利用Flatpak技術，限制Wine的程式只能存取自身的目錄，除非使用者自行開放其他目錄的權限，否則Wine無法存取。 2. 如何安裝Bottles # Bottles作者推薦用Flatpak技術安裝Bottles。\n","title":"如何在Linux執行Windows exe檔，用Bottles管理多版本的Wine容器","type":"posts"},{"content":"Stable Diffusion WebUI模型安裝方法\n擴充功能來源：gsdf/EasyNegative 用這個取代冗長的負向提示詞吧，反過來利用Embedding的特性，告訴AI不要畫什麼，這樣你就不用寫一大堆負向提示詞了。\n到作者的儲存庫下載EasyNegative.safetensors，將它放到stable-diffuison-webui資料夾下的embeddings，重啟WebUI。\n之後在WebUI的負向提示詞欄位填入EasyNegative即會生效，可有效替代冗長的負向提示詞。不過單獨使用效果可能還是不好，你還是需要額外準備一些負向提示詞。 ","date":"2024年2月6日","externalUrl":null,"permalink":"/posts/stable-diffusion-easynegative/","section":"Ai-Arts","summary":"Stable Diffusion WebUI模型安裝方法\n擴充功能來源：gsdf/EasyNegative 用這個取代冗長的負向提示詞吧，反過來利用Embedding的特性，告訴AI不要畫什麼，這樣你就不用寫一大堆負向提示詞了。\n到作者的儲存庫下載EasyNegative.safetensors，將它放到stable-diffuison-webui資料夾下的embeddings，重啟WebUI。\n之後在WebUI的負向提示詞欄位填入EasyNegative即會生效，可有效替代冗長的負向提示詞。不過單獨使用效果可能還是不好，你還是需要額外準備一些負向提示詞。 ","title":"EasyNegative小模型 簡化Stable Diffusion的負向提示詞","type":"ai-art"},{"content":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：ashen-sensored/stable-diffusion-webui-two-shot Latent Couple會分割繪圖時的提示詞，這樣就可以生成多重人物/物件，並精確指定位置顏色了。\n像是先用PoseX拉好骨架，再使用Latent Couple標出人物的概略位置。\n於Extensions頁面的Install from URL輸入以下網址安裝： https://github.com/ashen-sensored/stable-diffusion-webui-two-shot.git，再點選Reload WebUI。\n安裝後於文生圖的界面即會看到Latent Couple的選項。\n關於Latent Couple的應用，可以參考這篇：文生圖 ＋ ControlNet ＋ Latent Couple生成指定位置的多個人物\n","date":"2024年2月6日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-latent-couple/","section":"Ai-Arts","summary":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：ashen-sensored/stable-diffusion-webui-two-shot Latent Couple會分割繪圖時的提示詞，這樣就可以生成多重人物/物件，並精確指定位置顏色了。\n像是先用PoseX拉好骨架，再使用Latent Couple標出人物的概略位置。\n於Extensions頁面的Install from URL輸入以下網址安裝： https://github.com/ashen-sensored/stable-diffusion-webui-two-shot.git，再點選Reload WebUI。\n安裝後於文生圖的界面即會看到Latent Couple的選項。\n關於Latent Couple的應用，可以參考這篇：文生圖 ＋ ControlNet ＋ Latent Couple生成指定位置的多個人物\n","title":"Stable Diffusion WebUI擴充功能：生成多個人物的Latent Couple","type":"ai-art"},{"content":"Anime Game Launcher為一款專為Linux設計的遊戲啟動器，能夠啟動《原神》國際服和中國服。 原神PC版執行於Linux\n2023年以前，Linux跑《原神》電腦版並非容易之事，首先，米哈遊僅推出Windows PC版，沒有原生Linux版，需要靠Wine轉譯exe。再來因為反作弊系統，非Windows過不了檢測，得靠第三方啟動器 An Anime Game Launcher (AAGL) 將其破解掉才能進入遊戲。 要破解才能玩？嗅到了違法的味道！An Anime Game Launcher那個時候還在Github寫上「不要到處宣揚這個程式」\u0026hellip;\n不過，根據修補程式的開發者指出，《原神》4.0之後就不需要修改程式繞過反作弊機制了，直接用Wine就可以跑。\n因此其實沒必要用An Anime Game Launcher了，直接用Wine就能開《原神》，用Lutris、Bottles都能裝得起來，或者加入到Steam收藏庫用Proton跑也行。\nAn Anime Game Launcher剩餘的價值大概就是當專門的啟動器了吧，能夠一鍵設定好Wine和DXVK，並且還停用了原版啟動器的資料回傳功能，保護隱私。\n1. 安裝An Anime Game Launcher # 參考Github指示，下載對應你發行版的套件。我建議安裝Flatpak版，如此一來在Steam Deck也能使用。\n如果你是Nvidia顯示卡，記得安裝閉源驅動\n在你的系統安裝Flatpak\n開啟終端機，加入An Anime Game Launcher作者維護的套件庫\nflatpak --user remote-add --if-not-exists launcher.moe https://gol.launcher.moe/gol.launcher.moe.flatpakrepo 安裝An Anime Game Launcher flatpak --user install launcher.moe moe.launcher.an-anime-game-launcher 2. 安裝原神遊戲本體 # An Anime Game Launcher的設計很人性化，開啟後按照步驟裝完Proton和DXVK就行了 之後下載遊戲資料，啟動遊戲。KDE如果無法全螢幕請按一下Alt ＋ Enter。 遊戲資料位於~/.var/app/moe.launcher.an-anime-game-launcher/data/\n如果嫌遊戲檔案太大，下載完後將程式關閉。把~/.var/app/moe.launcher.an-anime-game-launcher/data/移動到新目錄，接著重開An Anime Game Launcher，選取新移動的目錄，重新設定即可。\n3. 安裝輔助工具的方法 # 使用MangoHud，於遊戲畫面顯示FPS。\n安裝套件，啟用MangoHud flatpak --user install org.freedesktop.Platform.VulkanLayer.MangoHud flatpak --user override --env=MANGOHUD=1 moe.launcher.an-anime-game-launcher 在設定 → 增強裡面啟用HUD。 再於環境中，將啟動指令修改為mangohud %command% 不過我測試Flatpak版環境好像開不起來，可能得直接將exe加到Steam收藏庫，再從Steam啟動。\n您還可以安裝ReShade到原神遊戲資料所在的目錄，啟用額外著色器。\n裝好後，在設定將遊戲啟動指令改成WINEDLLOVERRIDES=\u0026quot;d3dcompiler_47=n;dxgi=n,b\u0026quot; %command% -provider Portal\n","date":"2024年2月5日","externalUrl":null,"permalink":"/posts/genshin-impact-on-linux/","section":"所有文章","summary":"Anime Game Launcher為一款專為Linux設計的遊戲啟動器，能夠啟動《原神》國際服和中國服。 原神PC版執行於Linux\n2023年以前，Linux跑《原神》電腦版並非容易之事，首先，米哈遊僅推出Windows PC版，沒有原生Linux版，需要靠Wine轉譯exe。再來因為反作弊系統，非Windows過不了檢測，得靠第三方啟動器 An Anime Game Launcher (AAGL) 將其破解掉才能進入遊戲。 要破解才能玩？嗅到了違法的味道！An Anime Game Launcher那個時候還在Github寫上「不要到處宣揚這個程式」…\n不過，根據修補程式的開發者指出，《原神》4.0之後就不需要修改程式繞過反作弊機制了，直接用Wine就可以跑。\n因此其實沒必要用An Anime Game Launcher了，直接用Wine就能開《原神》，用Lutris、Bottles都能裝得起來，或者加入到Steam收藏庫用Proton跑也行。\nAn Anime Game Launcher剩餘的價值大概就是當專門的啟動器了吧，能夠一鍵設定好Wine和DXVK，並且還停用了原版啟動器的資料回傳功能，保護隱私。\n1. 安裝An Anime Game Launcher # 參考Github指示，下載對應你發行版的套件。我建議安裝Flatpak版，如此一來在Steam Deck也能使用。\n如果你是Nvidia顯示卡，記得安裝閉源驅動\n在你的系統安裝Flatpak\n開啟終端機，加入An Anime Game Launcher作者維護的套件庫\nflatpak --user remote-add --if-not-exists launcher.moe https://gol.launcher.moe/gol.launcher.moe.flatpakrepo 安裝An Anime Game Launcher flatpak --user install launcher.moe moe.launcher.an-anime-game-launcher 2. 安裝原神遊戲本體 # An Anime Game Launcher的設計很人性化，開啟後按照步驟裝完Proton和DXVK就行了 ","title":"Linux玩《原神》電腦版的方法，設定An Anime Game Launcher","type":"posts"},{"content":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：DominikDoom/a1111-sd-webui-tagcomplete 輸入提示詞的時候提示相關Danbooru上的標籤，畫動漫圖的時候很有用，還可以安裝中文標籤翻譯。 進入Extensions頁面，點選Install from URL，輸入網址https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git，按Install，之後重啟WebUI。\n如何安裝標籤中文翻譯：到byzod/a1111-sd-webui-tagcomplete-CN儲存庫，點選綠色的Code → Download ZIP，解壓縮，得到tags資料夾，下面有Tags-zh-full-pack.csv和config.json這二個檔案。將這二個檔案移動到stable-diffusion-webui/extensions/a1111-sd-webui-tagcomplete/tags資料夾。\n","date":"2024年2月5日","externalUrl":null,"permalink":"/posts/a1111-sd-webui-tagcomplete/","section":"Ai-Arts","summary":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：DominikDoom/a1111-sd-webui-tagcomplete 輸入提示詞的時候提示相關Danbooru上的標籤，畫動漫圖的時候很有用，還可以安裝中文標籤翻譯。 進入Extensions頁面，點選Install from URL，輸入網址https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git，按Install，之後重啟WebUI。\n如何安裝標籤中文翻譯：到byzod/a1111-sd-webui-tagcomplete-CN儲存庫，點選綠色的Code → Download ZIP，解壓縮，得到tags資料夾，下面有Tags-zh-full-pack.csv和config.json這二個檔案。將這二個檔案移動到stable-diffusion-webui/extensions/a1111-sd-webui-tagcomplete/tags資料夾。\n","title":"提示詞自動補完 Booru tag autocompletion，Stable Diffusion WebUI擴充功能介紹","type":"ai-art"},{"content":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：butaixianran/Stable-Diffusion-Webui-Civitai-Helper 喜歡從CivitAI下載模型的用戶，裝這個擴充功能就不用手動下載模型了！此擴充功能於Stable Diffusion WebUI的界面加入CivitAI模型下載頁面，方便下載各種模型，還會自動比對資料抓取模型的縮圖。\n安裝方法：進入Extensions頁面，點選Install from URL，輸入https://github.com/civitai/sd_civitai_extension.git後按Install，關掉終端機，重啟WebUI。\n重開WebUI頁面即會多出\u0026quot;Civitai Helper\u0026quot;。 此頁面有4個功能：\n1. 自動下載縮圖 # 點選橘色的Scan按鈕，它就會自動比對本機模型(存檔點、嵌入、超網路、LoRA)的資料，從CivitAI下載模型縮圖。 2. 從CivitAI取得模型資訊 # 此功能用於爬取本機模型的資訊。\n於Civitai URL的欄位填入模型的網址(就是你用瀏覽器所看到的網址)，例如這裡我選擇Deliberate這個本機模型。\n點選Get Model Info from Civitai即會下載模型的資料。 3. 從CivitAI下載模型檔 # 於Civitai URL欄位填入模型的網址(就是你用瀏覽器所看到的網址)，點選1. Get Model Info by Civitai Url取得該頁面的資料。 它會自動抓取模型種類和資訊，Model Name模型名稱和Model Version模型版本可以自選。點選3. Download Model開始下載模型。至於下載進度條請看終端機。 4. 檢查模型有無更新 # 將Model Types全部打勾，點選Check New Version from Civitai，若有新版模型它就會自動下載。 ","date":"2024年2月5日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-civitai-helper/","section":"Ai-Arts","summary":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：butaixianran/Stable-Diffusion-Webui-Civitai-Helper 喜歡從CivitAI下載模型的用戶，裝這個擴充功能就不用手動下載模型了！此擴充功能於Stable Diffusion WebUI的界面加入CivitAI模型下載頁面，方便下載各種模型，還會自動比對資料抓取模型的縮圖。\n安裝方法：進入Extensions頁面，點選Install from URL，輸入https://github.com/civitai/sd_civitai_extension.git後按Install，關掉終端機，重啟WebUI。\n重開WebUI頁面即會多出\"Civitai Helper\"。 此頁面有4個功能：\n1. 自動下載縮圖 # 點選橘色的Scan按鈕，它就會自動比對本機模型(存檔點、嵌入、超網路、LoRA)的資料，從CivitAI下載模型縮圖。 2. 從CivitAI取得模型資訊 # 此功能用於爬取本機模型的資訊。\n於Civitai URL的欄位填入模型的網址(就是你用瀏覽器所看到的網址)，例如這裡我選擇Deliberate這個本機模型。\n點選Get Model Info from Civitai即會下載模型的資料。 3. 從CivitAI下載模型檔 # 於Civitai URL欄位填入模型的網址(就是你用瀏覽器所看到的網址)，點選1. Get Model Info by Civitai Url取得該頁面的資料。 ","title":" Civitai Extension，自動從CivitAI下載模型和縮圖","type":"ai-art"},{"content":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：Scholar01/sd-webui-mov2mov ＊需要先安裝ControlNet才能使用這個擴充功能。\n本擴充功能可將影片逐一抽出畫格，使用ControlNet生圖，然後再自動合成新影片。可以設定輸出的畫格率，將人物單獨處理。\n切換到mov2mov頁面，輸入提示詞, 再上傳影片。 在下面設定輸出影片的長寬。生圖的長寬比例應與原始影片一致。 最下面是單獨用ControlNet處理人物的選項，可以改善動作偵測的精度。 點選右上角Generate，即會開始生成。成品位於主程式下的/outputs/mov2mov-images目錄。 ","date":"2024年2月5日","externalUrl":null,"permalink":"/posts/sd-webui-mov2mov/","section":"Ai-Arts","summary":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：Scholar01/sd-webui-mov2mov ＊需要先安裝ControlNet才能使用這個擴充功能。\n本擴充功能可將影片逐一抽出畫格，使用ControlNet生圖，然後再自動合成新影片。可以設定輸出的畫格率，將人物單獨處理。\n切換到mov2mov頁面，輸入提示詞, 再上傳影片。 在下面設定輸出影片的長寬。生圖的長寬比例應與原始影片一致。 最下面是單獨用ControlNet處理人物的選項，可以改善動作偵測的精度。 點選右上角Generate，即會開始生成。成品位於主程式下的/outputs/mov2mov-images目錄。 ","title":"mov2mov AI繪圖轉影片：Stable Diffusion WebUI擴充功能介紹","type":"ai-art"},{"content":"想要與朋友分享你的電腦畫面或播放影片？而不需要安裝一堆有的沒有的軟體嗎？\n要用Google Meet開會，但電腦沒有WebCam，想要用手機當電腦鏡頭嗎？\nVOD Ninja (網址：https://vdo.ninja) 能夠幫你達成這些目標。\n透過開源網頁工具「VDO Ninja」，一鍵分享你的內容！ 1. VDO Ninja用途 # VDO Ninja（VDO.Ninja，舊稱OBS.Ninja）是一款開源網頁程式，主要是搭配OBS Studio使用的，有以下幾種用途：\n將手機鏡頭與麥克風分享到電腦OBS Studio，這樣你就能把手機當電腦的WebCam兼麥克風，替代DroidCam的功能。 可將OBS Studio的虛擬相機畫面分享給他人 與他人分享你的電腦畫面、播放影片，不用裝軟體，只需要瀏覽器就可以看到畫面 邀請別人加入房間，類似線上會議室的感覺 線上多人語音聊天室 更多功能請看官方文件\n最棒的是，VOD Ninja為完全開源免費的方案，免註冊，只要連到官網即可操作。除了OBS Studio以外不需再裝其他軟體。\n就安全性而言，VOD Ninja背後是透過WebRTC技術傳送，傳輸流量經過加密。VOD Ninja官網伺服器只負責讓二台裝置做P2P連線，不會偷看傳輸內容。\n當然，如果您嫌延遲高、信不過VOD Ninja官網伺服器的話，也是可以自架TURN Relay Server。\n2. 安裝OBS Studio # 請先在電腦安裝OBS Studio，軟體支援Linux/Windows/macOS。\nLinux版我推薦用Flatpak裝，再設定v4l2loopback核心模組。\n3. VOD Ninja使用方式 # 建議要連線的裝置處在同一個Wifi下會比較順。\n使用範例1：手機當電腦鏡頭/麥克風 # 在Android或iPhone，開啟VDO Ninja網頁，選取Add your camera to OBS，網頁應該會自動偵測你的相機和麥克風 將螢幕上顯示的綠色網址複製，開啟OBS Studio，點選新增瀏覽器 填入網址 手機鏡頭的畫面就會出現在螢幕上了！你可以自由調整位置，手機端的影像和音訊都會傳到電腦，錄影時會一併收錄進去。 OBS並無限制瀏覽器來源的數量，所以你可以拿多部手機開啟VDO Ninja，再加到OBS的畫面上，實現多機攝影。\n你還能將手機鏡頭的視窗放到最大，再啟用OBS Studio的「虛擬相機」功能。 搭配Linux的v4l2loopback核心模組，你的OBS Studio畫面就會變成一個「虛擬相機裝置」，可於其他會議軟體中使用！例如Goolge Meet、Teams、Zoom。 你還可以參考It\u0026rsquo;s Foss的教學，再新增一個虛擬麥克風裝置給Linux使用。\n使用範例2：分享螢幕畫面 # 電腦進入VDO Ninja網頁，點選Share your screen，接著選取視窗即可。 注意手機必須安裝VDO Ninja APP才能分享螢幕。\n接著參考上面分享手機鏡頭的作法，在OBS Studio加入瀏覽器來源，分享的畫面就會跑到OBS Studio上面了。\nVDO Ninja的網址也可以直接傳給他人檢視，這樣你就不需要透過會議軟體來分享畫面了。\n使用範例3：分享影片 # VOD Ninja不是直播，只適合分享幾秒內的小短片，不要放大型影片\n點選Steam Media File，選取要分享的影片 使用範例4：線上聊天室 # 目前這個聊天室只能傳送文字訊息、語音通話、分享網頁，鏡頭沒辦法同步顯示。\n點進Group Voice Comms頁面，建立房間，設定密碼 這樣大家就能隨意加入了 4. 建立永久性分享網址 # 點選Create Reusable Invite，取名和設定密碼就行，日後該網址可重複使用，進行分享鏡頭。 ","date":"2024年2月4日","externalUrl":null,"permalink":"/posts/vdo-ninja-obs-studio/","section":"所有文章","summary":"想要與朋友分享你的電腦畫面或播放影片？而不需要安裝一堆有的沒有的軟體嗎？\n要用Google Meet開會，但電腦沒有WebCam，想要用手機當電腦鏡頭嗎？\nVOD Ninja (網址：https://vdo.ninja) 能夠幫你達成這些目標。\n透過開源網頁工具「VDO Ninja」，一鍵分享你的內容！ 1. VDO Ninja用途 # VDO Ninja（VDO.Ninja，舊稱OBS.Ninja）是一款開源網頁程式，主要是搭配OBS Studio使用的，有以下幾種用途：\n將手機鏡頭與麥克風分享到電腦OBS Studio，這樣你就能把手機當電腦的WebCam兼麥克風，替代DroidCam的功能。 可將OBS Studio的虛擬相機畫面分享給他人 與他人分享你的電腦畫面、播放影片，不用裝軟體，只需要瀏覽器就可以看到畫面 邀請別人加入房間，類似線上會議室的感覺 線上多人語音聊天室 更多功能請看官方文件\n最棒的是，VOD Ninja為完全開源免費的方案，免註冊，只要連到官網即可操作。除了OBS Studio以外不需再裝其他軟體。\n就安全性而言，VOD Ninja背後是透過WebRTC技術傳送，傳輸流量經過加密。VOD Ninja官網伺服器只負責讓二台裝置做P2P連線，不會偷看傳輸內容。\n","title":"直播小工具VDO Ninja使用方式，免裝軟體將手機鏡頭分享給電腦","type":"posts"},{"content":"","date":"2024年2月4日","externalUrl":null,"permalink":"/tags/google-cardboard/","section":"標籤","summary":"","title":"Google Cardboard","type":"tags"},{"content":"","date":"2024年2月4日","externalUrl":null,"permalink":"/tags/steamvr/","section":"標籤","summary":"","title":"SteamVR","type":"tags"},{"content":"記一次失敗的嘗試。\nTrinus VR是Odd Sheep SL公司開發的閉源軟體，能將電腦VR畫面串流到手機APP。主要是配合Google Cardbaord設計的，讓你能夠低成本遊玩SteamVR遊戲。\n在Windows上的設置過程是這樣，電腦端需要跑伺服器串流畫面。 他們還有推出的模擬VR控制器的APP，看起來很好玩 官方僅有釋出Windows版伺服器，這裡使用的Linux版是第三方開發者移植的。\n1. 建置Trinus伺服器 # Linux使用MyrikLD的移植版LinusTrinus\nUbuntu 22.04安裝以下依賴套件 sudo apt install git python3 make cmake gcc libglew-dev qtbase5-dev imagemagick ffmpeg # OpenVR的套件得手動抓deb來裝 https://launchpad.net/ubuntu/+source/openvr/1.12.5~ds1-1build2/+build/22623878 sudo apt install ./libopenvr-api1_1.12.5~ds1-1build2_amd64.deb ./libopenvr-dev_1.12.5~ds1-1build2_amd64.deb 安裝Python依賴 cd ~/Downloads git clone https://github.com/MyrikLD/LinusTrinus cd LinusTrinus python3 -m venv .venv source .venv/bin/activate pip install frame-generator wand 編譯SteamVR驅動程式 cd samples ./make.sh 如果編譯失敗的話，複製SteamVR官方的OpenVR儲存庫，取出/bin/linux64目錄，放到LinusTrinus的samples/api，再重試 cd ~/Downloads git clone https://github.com/ValveSoftware/openvr.git cp -r openvr/bin/linux64 LinusTrinus/samples/api cd LinusTrinus/samples ./make.sh 2. 與手機Trinus客戶端連線 # 先安裝Cardboard，再裝Trinus APP。可能因為太久沒更新，現在Google Play找不到Trinus APP了，得手動找「Trinus CPVR Lite」的APK。\n確保電腦和手機在同一個Wifi下。手機開啟Trinus APP，移動視角，選取左邊的三角形，啟動配對 安裝原生套件版的Steam客戶端，安裝SteamVR，搜尋下載SteamVR程式，開啟一次後關閉\n電腦需要開啟7777通訊埠\nsudo ufw allow 7777 sudo ufw reload 啟動Trinus伺服器，手機應該會自動配對 cd ~/Downloads/LinusTrinus source .venv/bin/activate python3 main.py 再啟動SteamVR。目前我遇到300錯誤，可能是Trinus驅動與SteamVT SDK 2.2.3不相容導致的錯誤吧。 ","date":"2024年2月4日","externalUrl":null,"permalink":"/posts/trinus-vr-linux/","section":"所有文章","summary":"記一次失敗的嘗試。\nTrinus VR是Odd Sheep SL公司開發的閉源軟體，能將電腦VR畫面串流到手機APP。主要是配合Google Cardbaord設計的，讓你能夠低成本遊玩SteamVR遊戲。\n在Windows上的設置過程是這樣，電腦端需要跑伺服器串流畫面。 他們還有推出的模擬VR控制器的APP，看起來很好玩 官方僅有釋出Windows版伺服器，這裡使用的Linux版是第三方開發者移植的。\n1. 建置Trinus伺服器 # Linux使用MyrikLD的移植版LinusTrinus\nUbuntu 22.04安裝以下依賴套件 sudo apt install git python3 make cmake gcc libglew-dev qtbase5-dev imagemagick ffmpeg # OpenVR的套件得手動抓deb來裝 https://launchpad.net/ubuntu/+source/openvr/1.12.5~ds1-1build2/+build/22623878 sudo apt install ./libopenvr-api1_1.12.5~ds1-1build2_amd64.deb ./libopenvr-dev_1.12.5~ds1-1build2_amd64.deb 安裝Python依賴 cd ~/Downloads git clone https://github.com/MyrikLD/LinusTrinus cd LinusTrinus python3 -m venv .venv source .venv/bin/activate pip install frame-generator wand 編譯SteamVR驅動程式 cd samples ./make.sh 如果編譯失敗的話，複製SteamVR官方的OpenVR儲存庫，取出/bin/linux64目錄，放到LinusTrinus的samples/api，再重試 cd ~/Downloads git clone https://github.com/ValveSoftware/openvr.git cp -r openvr/bin/linux64 LinusTrinus/samples/api cd LinusTrinus/samples ./make.sh 2. 與手機Trinus客戶端連線 # 先安裝Cardboard，再裝Trinus APP。可能因為太久沒更新，現在Google Play找不到Trinus APP了，得手動找「Trinus CPVR Lite」的APK。\n","title":"Trinus VR ＋ SteamVR，Linux用Cardboard玩VR遊戲","type":"posts"},{"content":"","date":"2024年2月4日","externalUrl":null,"permalink":"/tags/virtual-reality/","section":"標籤","summary":"","title":"Virtual Reality","type":"tags"},{"content":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：Character bones that look like Openpose for blender _ Ver_8.1 Depth+Canny+Landmark+MediaPipeFace+finger 設計給Blender使用的3D人體模型，整合OpenPose和手部、臉部的模型，在Blender內擺好姿勢後輸出圖片，即可搭配ControlNet生圖。\n＊ 需要搭配Blender 3.0以上版本使用。\n作者開放自由捐款，不想花錢的話金額填0即可下載。\n","date":"2024年2月4日","externalUrl":null,"permalink":"/posts/openpose-for-blender/","section":"Ai-Arts","summary":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：Character bones that look like Openpose for blender _ Ver_8.1 Depth+Canny+Landmark+MediaPipeFace+finger 設計給Blender使用的3D人體模型，整合OpenPose和手部、臉部的模型，在Blender內擺好姿勢後輸出圖片，即可搭配ControlNet生圖。\n＊ 需要搭配Blender 3.0以上版本使用。\n作者開放自由捐款，不想花錢的話金額填0即可下載。\n","title":"3D人體＋手部＋臉部模型 Openpose for blender，Stable Diffusion WebUI擃充功能介紹","type":"ai-art"},{"content":"開源軟體組成的VR遊戲串流方案 ～ ALVR\n有人會用Linux玩VR遊戲？不是不行啦\u0026hellip;Meta Oculus有成功紀錄。\n這裡我使用的是比較窮酸的作法。安裝有點複雜又bug多。\n使用Google Cardboard，將Android手機變成低成本VR頭顯。再於手機安裝PhoneVR APP，透過ALVR伺服器，串流Linux電腦的SteamVR畫面到手機上。 1. ALVR簡介 # ALVR (Air Light VR) 為開源的VR遊戲串流軟體，支援Linux和Windows，它能夠把電腦Steam遊戲的畫面串流到VR頭顯。VR頭顯可以搭配Quest、Vive、Lynx R1等主流設備使用。\n本文要使用的是最便宜的Goolge Cardboard。手機客戶端使用ALVR的fork「PhoneVR」\n整個流程如下圖，要有一部電腦跑SteamVR，透過ALVR，將畫面串流到手機端的PhoneVR。 傳輸畫面很吃顯示卡效能，負責串流的電腦需要搭載獨立顯示卡才能負擔重度算繪。\n執行SteamVR的時候建議使用X11桌面，Wayland桌面不是每個都能順利開啟。建議使用KDE Plasma Wayland。\nNvidia閉源驅動580在Wayland似乎會無法抓取畫面。\n2. 安裝ALVR伺服器 # 於Linux系統安裝Steam。請使用原生套件版，Flatpak版不方便跟AVLR連線。\n到Github下載Linux版，解壓縮，點二下執行ALVR Launcher\n下載指定版本的ALVR。因為等下要用PhoneVR，必須參閱Github下載對應版本，這裡PhoneVR v2.0.0對應的版本是ALVR v20.8.0。或許直接下載最新版ALVR也可以，但PhoneVR就會沒畫面（這個專案很久沒更新了？）\n按照畫面指示設定，啟用PipeWire音訊串流（請先用 pactl info指令確認你是用PulseAudio還是PipeWire） 防火牆規則可以手動加入：\nsudo ufw allow 9944 sudo ufw allow 9943 sudo ufw reload 點選Launch SteamVR，Steam應該會自動開啟，並下載SteamVR程式。SteamVR是原生的，不需要用Proton跑。 若無，手動在Steam遊戲收藏庫搜尋SteamVR安裝之。\n3. 串流畫面至PhoneVR # 讓Android手機與電腦位於同一個Wifi網路下\n下載安裝Cardboard和PhoneVR的APK\n開啟PhoneVR，手機打橫，螢幕上會出現一組IP\n在電腦的ALVR界面點選Add client manually，輸入手機IP 手機應該就會出現SteamVR的畫面了。 電腦端也可以點Display VR View，預覽VR所看的畫面 如果PhoneVR畫面凍結或者很卡，試著到Settings，降低串流畫質和Mbps 再啟用Force Software Encoding和Force software decoder，重新連線試試。 4. 將遊戲手把模擬成VR控制器 # Google Cardboard除了鐵片以外沒有任何輸入手段，遊戲控制器能補充作為輸入來源。\n但，Linux目前沒有Windows的那種控制器模擬程式。\nVRChat試過能在Linux啟動，可是在沒有控制器的情況下，很多VR程式都無法互動。\n我只能玩InCell這種有針對Cardboard優化的遊戲，因為只要盯著看10秒就能點選選單。 起碼還是得買個實體VR控制器。\n參考資料 # SteamVR for Linux的官方FAQ SteamVR-for-Linux\nWindows的Driver4VR程式，能將遊戲手把模擬成VR控制器 Driver4VR on Steam\nLinux可以考慮用Trinus取代ALVR，它可以用手機模擬控制器，Linux伺服端有人移植。不過APP開發商看起來已經很久沒更新了。\n","date":"2024年2月3日","externalUrl":null,"permalink":"/posts/alvr-phonevr-linux/","section":"所有文章","summary":"開源軟體組成的VR遊戲串流方案 ～ ALVR\n有人會用Linux玩VR遊戲？不是不行啦…Meta Oculus有成功紀錄。\n這裡我使用的是比較窮酸的作法。安裝有點複雜又bug多。\n使用Google Cardboard，將Android手機變成低成本VR頭顯。再於手機安裝PhoneVR APP，透過ALVR伺服器，串流Linux電腦的SteamVR畫面到手機上。 1. ALVR簡介 # ALVR (Air Light VR) 為開源的VR遊戲串流軟體，支援Linux和Windows，它能夠把電腦Steam遊戲的畫面串流到VR頭顯。VR頭顯可以搭配Quest、Vive、Lynx R1等主流設備使用。\n本文要使用的是最便宜的Goolge Cardboard。手機客戶端使用ALVR的fork「PhoneVR」\n整個流程如下圖，要有一部電腦跑SteamVR，透過ALVR，將畫面串流到手機端的PhoneVR。 傳輸畫面很吃顯示卡效能，負責串流的電腦需要搭載獨立顯示卡才能負擔重度算繪。\n執行SteamVR的時候建議使用X11桌面，Wayland桌面不是每個都能順利開啟。建議使用KDE Plasma Wayland。\nNvidia閉源驅動580在Wayland似乎會無法抓取畫面。\n","title":"Linux玩SteamVR遊戲：ALVR ＋ PhoneVR ＋ Google Cardboard","type":"posts"},{"content":"本文介紹如何在Linux系統安裝Flatpak版Steam客戶端，以及特殊技巧。\nSteam客戶端有二種裝法，原生Steam套件是較傳統的方法，Flatpak版則是新興的方法。 Flatpak版Steam的優點：\n方便immutable distro（例如Fedora Silverblue、VanillaOS、openSUSE MicroOS、ChromeOS）的系統，或是採用muslc（例如Alpine、Gentoo）的系統安裝Steam 沙盒權限能確保遊戲程式不會亂讀取硬碟的檔案 不需要給系統開32位元函式庫也能裝Steam，容器與系統套件隔離，省去安裝額外套件的麻煩 Steam官方並不支援Flatpak格式，可能會遇到各種詭異問題，建議優先使用原生Steam客戶端的套件。 雖然Flatpak不是Steam官方支援的格式，但Valve的開發人員仍會在Github嘗試為Flatpak用戶提供幫助，例如Github Wiki有詳細的說明文件。\n但是Flatpak版Steam也有缺點：如果你的遊戲輔助工具沒有考慮到Flatpak的設計，可能會無法跟沙盒內遊戲通訊，導致各種問題。並且Steam客戶端的功能也沒有完全支援Flatpak。\n折衷辦法是同時安裝原生Steam套件和Flatpak版Steam套件，並設定共用遊戲收藏庫的目錄。\n註：Steam OS 3.0雖然讓你用Flatpak安裝軟體防止破壞系統，但Steam本體並不是以Flatpak格式安裝的，本文的內容並不適用於Steam OS。\n1. 安裝Flatpak版Steam客戶端 # 如果您的顯示卡為Nvidia，請記得先安裝Nvidia專有驅動：Ubuntu｜Arch Linux\n開啟終端機，安裝Flatpak。再從Flathub安裝Steam。\nflatpak install --user flathub com.valvesoftware.Steam 安裝好後，Steam圖示應該會出現在應用程式列表，點選開啟。\n等待Steam主程式更新完成 點選Login to an existing account，填入驗證碼，登入Steam帳號 點選Steam左上角 → Settings → Interface，切換語言為中文。 若同時安裝原生Steam套件和Flatpak版Steam套件，有些程式可能會混亂。遊戲程式「開啟Steam」的預設動作可以用xdg-mime切換指定要開啟哪個版本的客戶端：\n# Flatpak版Steam xdg-mime default com.valvesoftware.Steam.desktop x-scheme-handler/steam # 原生版Steam xdg-mime default steam.desktop x-scheme-handler/steam 2. 設定Flatpak版Steam Proton # Steam Play這個計畫讓玩家在購買遊戲後能於Linux、Windows、macOS遊玩，背後使用的技術是「Steam Proton」，基於Wine研發的轉譯層，Valve自家的Steam Deck掌機也有用到Steam Proton技術。\n點選Steam左上角設定 → 相容性，勾選「為其他產品啟用Steam Play」，之後選擇下載最新版的Proton(不要選Experimental)，再按下確定。 點選Steam左上角設定 → 離開。重新啟動Steam，然後嘗試下載Windows平台的遊戲，Proton就會一併安裝了。 於是您就可以在Linux上玩Windows遊戲了！部份遊戲第一次啟動需用GPU預先處理Vulkan著色器，請耐心等待。 Steam Proton其實就是Wine，它同樣有WINEPREFIX，路徑位於~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/compatdata/Steam遊戲ID/pfx/，即遊戲收藏庫的路徑。你可以使用ProtonUP-QT和Protontricks調整環境，例如修改字型大小、安裝exe、強制遊戲視窗化執行。\n你也可以手動將非Steam的遊戲exe程式加入到Steam客戶端。\n3. Flatpak版Steam的遊戲收藏庫路徑 # 用Flatpak裝Steam的話，遊戲收藏庫位於~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/。為了安全性考量，Flatpak版的Steam預設只能存取使用者家目錄，無法存取其他硬碟。\n如果您想移動Steam收藏庫，或是沿用舊有的Steam收藏庫，就得開放存取電腦特定目錄的權限。\n例如，您的第二個硬碟已經有Steam這個目錄，而它的絕對路徑是/run/media/user/SSD2/Steam，那麼就使用flatpak override指令開放存取權限： flatpak override --user --filesystem=\u0026#34;/run/media/user/SSD2/Steam\u0026#34; com.valvesoftware.Steam 點選Steam左上角 → 離開Steam。然後重新啟動Steam，即可在左上角 → 設定 → 下載 → Steam收藏庫資料夾，新增其他硬碟的收藏庫資料夾了。 雖然說遊戲收藏庫可以共用，但Steam原生套件和Flatpak的客戶端的資料無法共用。這時可以用符號連結的方式，將Steam原生套件的.steam目錄指向Flatpak的目錄：\nln -s ~/.var/app/com.valvesoftware.Steam/.steam .steam 4. 新增Flatpak Steam遊戲捷徑到桌面 # 原生版Steam對遊戲按右鍵，就會新增捷徑到桌面，讓您點二下啟動遊戲。\n但若是Flatpak版Steam，新增捷徑需要額外技巧。參考自Steam community\n開放Steam存取桌面目錄的權限 flatpak override --user --filesystem=/home/$USER/桌面/ com.valvesoftware.Steam # 或者 flatpak override --user --filesystem=/home/$USER/Desktop/ com.valvesoftware.Steam 於Steam遊戲收藏庫對遊戲點右鍵 → 新增桌面捷徑。桌面就會出現遊戲捷徑。 不過這樣是無法啟動的，因為Steam新增捷徑的指令不適用於Flatpak環境。切換到桌面目錄，編輯桌面捷徑檔案：\ncd ~/Desktop vim \u0026lt;遊戲名稱\u0026gt;.desktop 找到Exec=這一段，通常是長這樣，這是啟動遊戲的指令＋遊戲在Steam商店上的ID Exec=steam steam://rungameid/236390 在steam steam://前面加上Flatpak的指令： Exec=flatpak run --command=/app/bin/steam-wrapper --file-forwarding com.valvesoftware.Steam steam://rungameid/236390 若要自訂捷徑圖示：將圖示檔案放到~/.local/share/icons/，再修改Icon=這行指定圖示所在路徑： Icon=/home/user/.local/share/icons/wtlauncher.ico 如果您要新增遊戲圖示到Linux「應用程式列表」而非桌面，那麼就把剛剛寫的.desktop檔案複製到~/.local/share/applications/： cp ~/Desktop/\u0026lt;遊戲名稱\u0026gt;.desktop ~/.local/share/applications/\u0026lt;遊戲名稱\u0026gt;.desktop 5. 開機自動啟動Flatpak版Steam # 如果要開機自動啟動Steam，將Steam的.desktop複製到~/.config/autostart：\ncp ~/.local/share/flatpak/app/com.valvesoftware.Steam/current/active/export/share/applications/com.valvesoftware.Steam.desktop ~/.config/autostart 如果要開機自動啟動特定Steam遊戲，參考上節新增遊戲捷徑到桌面，並修改為Flatpak指令後，將其複製到~/.config/autostart\ncp ~/Desktop/\u0026lt;遊戲名稱\u0026gt;.desktop ~/.config/autostart/ 6. 連接遊戲手把並啟用Steam Input # Linux支援多款遊戲手把(controller)，近代的羅技、Xbox、PS5手把通常插入就能直接使用。手把配合Steam Big Picture Mode使用效果更佳。\nFlatpak版Steam需參考官方說明，手動將Steam的udev規則裝到系統： cd /etc/udev/rules.d sudo wget https://raw.githubusercontent.com/ValveSoftware/steam-devices/master/60-steam-input.rules 並安裝Steam Devices的原生套件 sudo apt install steam-devices 重開機，啟動Steam遊戲，應會自動偵測到遊戲手把，端看遊戲如何判定。\n若有需求，Steam尚提供「Steam Input」的模擬輸入功能，可在設定 → 控制器區域進一步微調。 7. Flatpak版Steam除錯方式 # 有時候MangoHud和Gamescope安裝後無法使用，得從終端機觀察錯誤訊息。\n要查看除錯訊息，使用這個指令啟動Steam：flatpak run com.valvesoftware.Steam\n有時候得查看Steam依賴的runtime版本是否有對上。用這個指令查看：\nflatpak list --app --columns=application,runtime 撰文當下Steam依賴的runtime分支版為org.freedesktop.Platform/x86_64/23.08，故安裝MangoHud和Gamescope的時候也必須選取該分支。\n如何回報Steam客戶端bug # Flatpak版Steam並非官方維護的專案，因此應優先到flathub/com.valvesoftware.Steam儲存庫回報錯誤訊息。\n最後才到Github儲存庫ValveSoftware/steam-for-linux向官方回報你遇到的錯誤。\n","date":"2024年2月3日","externalUrl":null,"permalink":"/posts/install-steam-flatpak-on-linux/","section":"所有文章","summary":"本文介紹如何在Linux系統安裝Flatpak版Steam客戶端，以及特殊技巧。\nSteam客戶端有二種裝法，原生Steam套件是較傳統的方法，Flatpak版則是新興的方法。 Flatpak版Steam的優點：\n方便immutable distro（例如Fedora Silverblue、VanillaOS、openSUSE MicroOS、ChromeOS）的系統，或是採用muslc（例如Alpine、Gentoo）的系統安裝Steam 沙盒權限能確保遊戲程式不會亂讀取硬碟的檔案 不需要給系統開32位元函式庫也能裝Steam，容器與系統套件隔離，省去安裝額外套件的麻煩 Steam官方並不支援Flatpak格式，可能會遇到各種詭異問題，建議優先使用原生Steam客戶端的套件。 雖然Flatpak不是Steam官方支援的格式，但Valve的開發人員仍會在Github嘗試為Flatpak用戶提供幫助，例如Github Wiki有詳細的說明文件。\n但是Flatpak版Steam也有缺點：如果你的遊戲輔助工具沒有考慮到Flatpak的設計，可能會無法跟沙盒內遊戲通訊，導致各種問題。並且Steam客戶端的功能也沒有完全支援Flatpak。\n","title":"Linux Flatpak版Steam客戶端安裝教學，將遊戲沙盒化執行","type":"posts"},{"content":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：vladmandic/sd-extension-system-info 此擴充功能給Stable Diffusion WebUI新增一個監控系統資訊的頁面，顯示主程式版本、系統資訊、GPU、RAM、使用的模型、使用的命令列引數等等。 點選下面的Run benchmark可以跑分測試系統性能，有助於評估主程式更新後性能是否有變化。點選Submit results將結果回報到Vladimir Mandic的網站。 ","date":"2024年2月3日","externalUrl":null,"permalink":"/posts/sd-extension-system-info/","section":"Ai-Arts","summary":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：vladmandic/sd-extension-system-info 此擴充功能給Stable Diffusion WebUI新增一個監控系統資訊的頁面，顯示主程式版本、系統資訊、GPU、RAM、使用的模型、使用的命令列引數等等。 點選下面的Run benchmark可以跑分測試系統性能，有助於評估主程式更新後性能是否有變化。點選Submit results將結果回報到Vladimir Mandic的網站。 ","title":"System Info 即時監控Stable Diffusion WebUI系統資訊","type":"ai-art"},{"content":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：yfszzx/stable-diffusion-webui-images-browser 安裝後即可方便瀏覽生圖的結果，並查看使用過的提示詞歷史紀錄。\n安裝方法：進入Extensions頁面，點選Install from URL，輸入https://github.com/yfszzx/stable-diffusion-webui-images-browser.git後按Install，重啟WebUI。WebUI頁面即會多出\u0026quot;Images Browser\u0026quot;的頁面。\n點進去，按一下First Page即會顯示最近生圖的結果。 點選單張圖片，查看使用過的提示詞，還可以給予星級評分。 ","date":"2024年2月2日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-images-browser/","section":"Ai-Arts","summary":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：yfszzx/stable-diffusion-webui-images-browser 安裝後即可方便瀏覽生圖的結果，並查看使用過的提示詞歷史紀錄。\n安裝方法：進入Extensions頁面，點選Install from URL，輸入https://github.com/yfszzx/stable-diffusion-webui-images-browser.git後按Install，重啟WebUI。WebUI頁面即會多出\"Images Browser\"的頁面。\n點進去，按一下First Page即會顯示最近生圖的結果。 點選單張圖片，查看使用過的提示詞，還可以給予星級評分。 ","title":"Images Browser，Stable Diffusion WebUI的圖片庫瀏覽器","type":"ai-art"},{"content":"Paperspace是一間位於美國的雲端機器學習服務供應商，提供免費GPU跑機器學習專案。\n免費版本的儲存空間5GB，只能使用有限制的執行個體，一次只能執行一個筆記本，6小時後機器自動關閉。有時候免費GPU需要排隊。\n值得一提的是Paperspace官方有維護專門跑Stable Diffusion WebUI的筆記本，點一下就可以使用，並且速度很快。程式碼很清晰，可按照需求修改。\n至Paperspace註冊帳號。註冊需要提供電話號碼。\n進入gradient-ai/stable-diffusion頁面，點選Start Machine 這個面板就是筆記本的頁面了。點選右上角的Run all後，筆記本會安裝Stable Diffusion WebUI所需的依賴，並下載Stable Diffusion v2.1的模型。此階段所下載的檔案不會計入帳戶的儲存空間。 之後點選Use the Stable Diffusion Web UI這個儲存格終端機顯示的Gradio網址 即可使用WebUI。 使用完畢後記得按左上角的Stop Machine關機。\n此筆記本只有安裝最小功能。擴充功能和額外模型要自行修正筆記本程式下載。\n下載自訂模型可以加在複製Stable Diffusion WebUI的儲存庫之後\n!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui !wget -nc -P stable-diffusion-webui/models/Stable-diffusion https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.5-pruned.safetensors 參照命令列引數，找到啟動WebUI這行，加入--enable-insecure-extension-access讓你可從網頁版的Extension頁面下載擴充。\n!python launch.py --share --config ~/../datasets/stable-diffusion-classic-v2/768-v-ema.yaml --ckpt ~/../datasets/stable-diffusion-classic-v2/768-v-ema.ckpt --enable-insecure-extension-access ","date":"2024年2月2日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-deploy-to-paperspace/","section":"Ai-Arts","summary":"Paperspace是一間位於美國的雲端機器學習服務供應商，提供免費GPU跑機器學習專案。\n免費版本的儲存空間5GB，只能使用有限制的執行個體，一次只能執行一個筆記本，6小時後機器自動關閉。有時候免費GPU需要排隊。\n值得一提的是Paperspace官方有維護專門跑Stable Diffusion WebUI的筆記本，點一下就可以使用，並且速度很快。程式碼很清晰，可按照需求修改。\n至Paperspace註冊帳號。註冊需要提供電話號碼。\n進入gradient-ai/stable-diffusion頁面，點選Start Machine 這個面板就是筆記本的頁面了。點選右上角的Run all後，筆記本會安裝Stable Diffusion WebUI所需的依賴，並下載Stable Diffusion v2.1的模型。此階段所下載的檔案不會計入帳戶的儲存空間。 之後點選Use the Stable Diffusion Web UI這個儲存格終端機顯示的Gradio網址 即可使用WebUI。 使用完畢後記得按左上角的Stop Machine關機。\n此筆記本只有安裝最小功能。擴充功能和額外模型要自行修正筆記本程式下載。\n下載自訂模型可以加在複製Stable Diffusion WebUI的儲存庫之後\n!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui !wget -nc -P stable-diffusion-webui/models/Stable-diffusion https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.5-pruned.safetensors 參照命令列引數，找到啟動WebUI這行，加入--enable-insecure-extension-access讓你可從網頁版的Extension頁面下載擴充。\n!python launch.py --share --config ~/../datasets/stable-diffusion-classic-v2/768-v-ema.yaml --ckpt ~/../datasets/stable-diffusion-classic-v2/768-v-ema.ckpt --enable-insecure-extension-access","title":"部署Stable Diffusion WebUI至Paperspace","type":"ai-art"},{"content":"玩遊戲的時候，如果用到手把(gamepad, controller)，我們會利用Steam內建手把映射程式「Steam Input」，只要下載對應設定檔，遊戲開啟後就會自動套用手把控制。\nLinux版Steam亦是可以沿用Windows遊戲的手把設定的！\n但是，你可能還需要一款能在非Steam遊戲上運作的手把映射軟體\n例如玩Minecraft、Minetest、Lutris遊戲的時候，由於他們不是從Steam安裝的，你一定會需要手把映射軟體。\n這款軟體就是「AntiMiroX」 AnitMicroX是一款開源跨平台、功能多樣的軟體，能夠將遊戲手把映射成滑鼠鍵盤的操作。而且AntiMicroX啟動後是「全域啟用」的，設定得好的話還能用手把直接控制Linux電腦。 1. 安裝AntiMicroX # 詳細說明文件可以在Github找到。\n透過Flatpak安裝\nflatpak install flathub io.github.antimicrox.antimicrox 2. 製作手把設定檔 # 使用AntiMicroX前，你應該測試看看Linux有沒有抓到你的手把。開啟AntiMicroX，隨便動一下手把的搖桿，界面上的按鈕應該會跟著閃，那就是代表有連接。 如果你覺得手動映射按鍵很煩，可以到AntiMicroX的儲存庫找找看有沒有人已經做好Profile，下載後點選Load直接載入。\n手把廠牌倒是不用太擔心，AntiMicroX使用「SDL Game Controller API」統一標準，確保你不論是Logitech還是Xbox手把，都能夠使用同一個按鍵映射的組態來玩遊戲。\n要手動映射按鍵的話，點選要使用的鍵，設定要映射的鍵。AntiMicroX自由度很高，鍵盤或者滑鼠鍵都能映射 以Minetest為例，我是參考Minecraft的手把設定，將按鍵做如此映射 編輯好之後，記得按下Save，將設定檔存檔。 進入不同遊戲前請手動選取手把設定檔。之後該按鍵映射就會全域啟用，直到你關掉AnitMicroX。\n或者，你可以善用AntiMicroX最下面的一排「Set」，在單一個AntiMicroX設定檔裡加入多款遊戲的手把按鍵，這樣的話你只要按這裡就能切換不同的組合。 ","date":"2024年2月1日","externalUrl":null,"permalink":"/posts/antimicrox-configuration/","section":"所有文章","summary":"玩遊戲的時候，如果用到手把(gamepad, controller)，我們會利用Steam內建手把映射程式「Steam Input」，只要下載對應設定檔，遊戲開啟後就會自動套用手把控制。\nLinux版Steam亦是可以沿用Windows遊戲的手把設定的！\n但是，你可能還需要一款能在非Steam遊戲上運作的手把映射軟體\n例如玩Minecraft、Minetest、Lutris遊戲的時候，由於他們不是從Steam安裝的，你一定會需要手把映射軟體。\n這款軟體就是「AntiMiroX」 AnitMicroX是一款開源跨平台、功能多樣的軟體，能夠將遊戲手把映射成滑鼠鍵盤的操作。而且AntiMicroX啟動後是「全域啟用」的，設定得好的話還能用手把直接控制Linux電腦。 1. 安裝AntiMicroX # 詳細說明文件可以在Github找到。\n透過Flatpak安裝\nflatpak install flathub io.github.antimicrox.antimicrox 2. 製作手把設定檔 # 使用AntiMicroX前，你應該測試看看Linux有沒有抓到你的手把。開啟AntiMicroX，隨便動一下手把的搖桿，界面上的按鈕應該會跟著閃，那就是代表有連接。 如果你覺得手動映射按鍵很煩，可以到AntiMicroX的儲存庫找找看有沒有人已經做好Profile，下載後點選Load直接載入。\n手把廠牌倒是不用太擔心，AntiMicroX使用「SDL Game Controller API」統一標準，確保你不論是Logitech還是Xbox手把，都能夠使用同一個按鍵映射的組態來玩遊戲。\n","title":"AntiMicroX映射鍵鼠輸入，Linux手把玩遊戲的輔助軟體","type":"posts"},{"content":"讓你體驗什麼叫做，用Arch Linux的方式裝Ubuntu。\nDebootstrap是Debian研發的古老工具，用於建立最小的Linux檔案系統，Ubuntu也可以用。\n跟一般用LiveUSB的安裝過程比起來，這款工具能夠讓你自行組合Ubuntu系統，對最終系統的樣子有更多選擇。你可以任意刪除、新增套件，決定系統要長怎樣。\n就像自助餐，選你愛吃的菜，不要原廠那些臃腫的套件。但這也代表你得手動處理顯示卡、Wifi驅動之類的套件。\n這樣作法還有個優勢，將Ubuntu安裝到任意路徑，建立chroot環境，隨時切入進去。（如果你只是想跑chroot環境，那麼你不需要準備硬碟，你只要在本機新建一個空白目錄把系統安裝進去就可以了，無需安裝GRUB和Linux核心。）\n這篇文章我將在現有的Linux系統跑Debootstrap，安裝Ubuntu系統到另一個硬碟上，不需要隨身碟。 1. 分割硬碟 # 以下步驟得用Linux電腦來操作，或者你用Ubuntu的LiveUSB環境也行。\n在目前的Linux電腦安裝debootstrap和arch-chroot套件 sudo apt install debootstrap arch-install-scripts 將要安裝系統的硬碟插上電腦，用SATA線或外接盒都行\n以lsblk指令檢查硬碟路徑，例如我這裡是/dev/sdd 將其取消掛載\nsudo umount /media/user/a05a6db1-51bb-489b-88e1-52f02dd087b7 用fdisk分割硬碟 sudo fdisk /dev/sdd 在硬碟上新增EFI和Root分區 # 新增GPT分割表 g # 新增EFI分區 n 1 First Sector: (Enter) Last Sector: +512M t uefi # 將剩下的空間當作root n 2 First Sector: (Enter) Last Sector: (Enter) # 寫入變更 w 用指令sudo fdisk -l /dev/sdd查看，最終分割區長這樣。SWAP我後面再用SWAP File補充就行了。 將硬碟格式化，建立檔案系統\nsudo mkfs.vfat /dev/sdd1 sudo mkfs.ext4 /dev/sdd2 掛載硬碟至/mnt， sudo mount /dev/sdd2 /mnt 再掛載EFI目錄 sudo mkdir /mnt/boot/ sudo mkdir /mnt/boot/efi sudo mount /dev/sdd1 /mnt/boot 啟動Debootstrap，從台灣伺服器下載檔案，建立Ubuntu 22.04 (jammy)的檔案系統，寫入到/mnt sudo debootstrap jammy /mnt http://tw.archive.ubuntu.com/ubuntu 用genfstab寫入現有的掛載狀況至fstab genfstab -U -p /mnt | sudo tee /mnt/etc/fstab 檢查fstab內容 cat /mnt/etc/fstab chroot到Ubuntu系統 sudo arch-chroot /mnt 建立SWAP File，建議是RAM的二倍大小，我這裡是8GB dd if=/dev/zero of=/swapfile bs=1M count=8k status=progress chmod 0600 /swapfile mkswap -U clear /swapfile swapon /swapfile 2. 安裝Linux核心 # 首先，編輯/etc/apt/sources.list apt install vim vim /etc/apt/sources.list 補上main、restricted、universe的套件庫 deb [trusted=yes] http://tw.archive.ubuntu.com/ubuntu jammy main restricted universe deb [trusted=yes] http://tw.archive.ubuntu.com/ubuntu jammy-security main restricted universe deb [trusted=yes] http://tw.archive.ubuntu.com/ubuntu jammy-updates main restricted universe 安裝Linux核心，選用HWE版本。--no-install-recommends是為了防止裝到多餘的套件 apt update apt upgrade apt install --no-install-recommends linux-image-generic-hwe-22.04 linux-headers-generic-hwe-22.04 linux-firmware initramfs-tools efibootmgr 3. 安裝桌面環境 # 桌面環境一個套件就夠了，Ubuntu已經貼心的打包好，ubuntu-desktop即為預設的GNOME桌面和附屬應用程式\napt install ubuntu-desktop 你也可以改裝：\nkubuntu-desktop：KDE桌面\nxubuntu-desktop：XFCE桌面\nlubuntu-desktop：Lubuntu桌面\n4. 設定語言、新增一般使用者 # 設定主機名稱 echo \u0026#34;Ubuntu\u0026#34; \u0026gt; /etc/hostname echo \u0026#34;127.0.0.1 localhost\u0026#34; \u0026gt;\u0026gt; /etc/hosts echo \u0026#34;::1 localhost\u0026#34; \u0026gt;\u0026gt; /etc/hosts echo \u0026#34;127.0.1.1 Ubuntu\u0026#34; \u0026gt;\u0026gt; /etc/hosts 安裝正體中文套件 sudo apt install language-pack-zh-hant 依序設定時區（選Asia/Taipei）、語言（選zh_TW.UTF-8）、鍵盤配置（維持預設） dpkg-reconfigure tzdata dpkg-reconfigure locales dpkg-reconfigure keyboard-configuration 安裝Fcitx5輸入法框架。或者成功開機後再裝。\n修改Root密碼\npasswd 新增一般使用者「user」 useradd -m -g users -G audio,video -s /bin/bash user passwd user 用指令編輯sudoers：vim /etc/sudoers，賦予一般使用者sudo權限 #在\u0026#34;root ALL=(ALL:ALL) ALL\u0026#34;的下一行加入以下內容: user ALL=(ALL:ALL) ALL 5. 設定系統服務與GRUB # 設定開機自動啟動GDM、NetworkManager systemctl enable gdm.service systemctl enable NetworkManager.service 安裝GRUB至/dev/sdd apt install grub-efi-amd64 grub-install /dev/sdd grub-mkconfig -o /boot/grub/grub.cfg 退出chroot，取消掛載 exit sudo umount /mnt/boot sudo umount /mnt/ 電腦重開機，進入UEFI，選取Ubuntu的選項開機。 參考資料 # Ubuntu 22.04 LTS debootstrap install.md DebootstrapChroot - Community Help Wiki Debootstrap - Debian Wiki ","date":"2024年2月1日","externalUrl":null,"permalink":"/posts/install-ubuntu-with-debootstrap/","section":"所有文章","summary":"讓你體驗什麼叫做，用Arch Linux的方式裝Ubuntu。\nDebootstrap是Debian研發的古老工具，用於建立最小的Linux檔案系統，Ubuntu也可以用。\n跟一般用LiveUSB的安裝過程比起來，這款工具能夠讓你自行組合Ubuntu系統，對最終系統的樣子有更多選擇。你可以任意刪除、新增套件，決定系統要長怎樣。\n就像自助餐，選你愛吃的菜，不要原廠那些臃腫的套件。但這也代表你得手動處理顯示卡、Wifi驅動之類的套件。\n這樣作法還有個優勢，將Ubuntu安裝到任意路徑，建立chroot環境，隨時切入進去。（如果你只是想跑chroot環境，那麼你不需要準備硬碟，你只要在本機新建一個空白目錄把系統安裝進去就可以了，無需安裝GRUB和Linux核心。）\n這篇文章我將在現有的Linux系統跑Debootstrap，安裝Ubuntu系統到另一個硬碟上，不需要隨身碟。 1. 分割硬碟 # 以下步驟得用Linux電腦來操作，或者你用Ubuntu的LiveUSB環境也行。\n在目前的Linux電腦安裝debootstrap和arch-chroot套件 sudo apt install debootstrap arch-install-scripts 將要安裝系統的硬碟插上電腦，用SATA線或外接盒都行\n以lsblk指令檢查硬碟路徑，例如我這裡是/dev/sdd 將其取消掛載\nsudo umount /media/user/a05a6db1-51bb-489b-88e1-52f02dd087b7 用fdisk分割硬碟 sudo fdisk /dev/sdd 在硬碟上新增EFI和Root分區 # 新增GPT分割表 g # 新增EFI分區 n 1 First Sector: (Enter) Last Sector: +512M t uefi # 將剩下的空間當作root n 2 First Sector: (Enter) Last Sector: (Enter) # 寫入變更 w 用指令sudo fdisk -l /dev/sdd查看，最終分割區長這樣。SWAP我後面再用SWAP File補充就行了。 ","title":"打造精簡的Ubuntu Linux！用Debootstrap安裝系統","type":"posts"},{"content":"本文解說如何將Ubuntu系統安裝至外接硬碟或行動硬碟，將Linux系統帶著走，並在任意硬體上啟動。\n1. 概述 # 相信不只我，很多人應該都想過，安裝一個Linux系統，再於其他電腦或筆電使用。將硬碟插上去就能開機進入系統，利用別台電腦的硬體，完成自己的工作。 而且這是真正安裝的系統喔，不是LiveUSB，關機後資料能夠儲存到硬碟裡面的。\n這也是達成雙系統的一種做法，跟單碟雙系統的裝法比起來，此方法一個系統一個硬碟，不互相干擾。\n不過，要這麼做的前提是：\n你所有要用的電腦硬體都得受Linux支援，不能有奇怪的驅動。顯示卡倒是不用擔心，Linux很靈活，不論你的系統是用甚麼顯示卡，它都會自動載入正確的驅動。\n電腦主機板最好要支援UEFI，不要混用UEFI與BIOS。且UEFI不能用Secure Boot鎖住，否則你無法用其他硬碟開機。\n考慮到用USB連接埠開機，電腦至少要支援USB 3.0以上速度，不然你就得拆電腦主機把自己的硬碟裝到其他電腦上的SATA埠了。\n確認目標電腦符合以上條件，再往下看。\n就安裝位置而言，所以有人會想說把Linux系統安裝至「USB隨身碟」，問題是隨身碟速度太慢啦！microSD卡更不用說了。\n將系統安裝至小巧的SSD吧，2.5吋SATA或是M.2皆行，跑起來比較滋潤。你只要另外購入SATA轉USB的「硬碟外接盒」，就能把硬碟帶著走了。或者直接買行動硬碟，就不用轉接器。 至於要怎麼安裝Linux到外接硬碟，我用比較直觀的做法，準備一個Ubuntu安裝隨身碟，用它開機，再把系統安裝至指定SDD。\n如果你覺得這樣很搞剛，不想重開機，那麼用第二個方法：掛載SSD，再用debootstrap安裝系統到外接硬碟也是可以的。\n2. 安裝Ubuntu至外接SSD # 下載Ubuntu 22.04 ISO。檢查檔案完整性防止檔案毀損。\n使用Ventoy，將ISO燒錄到隨身碟，製作開機碟。\n3.（選擇性）為避免誤傷硬碟，將電腦的全部硬碟線都拔掉，只留下隨身碟和要安裝系統的SSD\n用隨身碟開機，點選安裝系統，安裝時候的硬碟選取SSD 3. 如何使用外接硬碟開機 # 將SSD插在目標電腦上\n開機連按Delete或F2（視主機板廠牌而定），進入UEFI\n選取Ubuntu的GRUB選項即可開機。 如果要把該硬碟拿到其他電腦開機，也是一樣的做法。\n","date":"2024年2月1日","externalUrl":null,"permalink":"/posts/install-ubuntu-to-external-drive/","section":"所有文章","summary":"本文解說如何將Ubuntu系統安裝至外接硬碟或行動硬碟，將Linux系統帶著走，並在任意硬體上啟動。\n1. 概述 # 相信不只我，很多人應該都想過，安裝一個Linux系統，再於其他電腦或筆電使用。將硬碟插上去就能開機進入系統，利用別台電腦的硬體，完成自己的工作。 而且這是真正安裝的系統喔，不是LiveUSB，關機後資料能夠儲存到硬碟裡面的。\n這也是達成雙系統的一種做法，跟單碟雙系統的裝法比起來，此方法一個系統一個硬碟，不互相干擾。\n不過，要這麼做的前提是：\n你所有要用的電腦硬體都得受Linux支援，不能有奇怪的驅動。顯示卡倒是不用擔心，Linux很靈活，不論你的系統是用甚麼顯示卡，它都會自動載入正確的驅動。\n電腦主機板最好要支援UEFI，不要混用UEFI與BIOS。且UEFI不能用Secure Boot鎖住，否則你無法用其他硬碟開機。\n考慮到用USB連接埠開機，電腦至少要支援USB 3.0以上速度，不然你就得拆電腦主機把自己的硬碟裝到其他電腦上的SATA埠了。\n確認目標電腦符合以上條件，再往下看。\n就安裝位置而言，所以有人會想說把Linux系統安裝至「USB隨身碟」，問題是隨身碟速度太慢啦！microSD卡更不用說了。\n將系統安裝至小巧的SSD吧，2.5吋SATA或是M.2皆行，跑起來比較滋潤。你只要另外購入SATA轉USB的「硬碟外接盒」，就能把硬碟帶著走了。或者直接買行動硬碟，就不用轉接器。 ","title":"如何安裝Ubuntu至外接SSD，再從硬碟外接盒開機","type":"posts"},{"content":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：jexom/sd-webui-depth-lib 此擴充功能加入手部模型，可配合PoseX的骨架使用，改善AI手部畫不好的問題。\n於Extensions頁面的Install from URL輸入以下網址安裝： https://github.com/jexom/sd-webui-depth-lib，重啟WebUI。\n這裡示範搭配PoseX畫手的用法，請記得啟用Multi ControlNet。\n於文生圖頁面點開PoseX，設定Target ControlNet number為1，擺好骨架，並設定。然後點選Save PNG，得到一張png圖檔 切換至Depth map library頁面，點選Add Background Image，上傳PoseX骨架的圖檔。 再點選左邊各個手的模型，加到右邊的圖片，將二隻手擺出來。再點Send to Img2img。 回到文生圖頁面，點開ControlNet，將0號ControlNet的preprocessor和model設定為Depth，Weights設定為0.5。 再點選1號ControlNet，將model設定為OpenPose，Weights設定為0.5。 點選Generate生成，可看到圖片按照方才製作的手和骨架生成了。\n","date":"2024年2月1日","externalUrl":null,"permalink":"/posts/sd-webui-depth-lib/","section":"Ai-Arts","summary":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：jexom/sd-webui-depth-lib 此擴充功能加入手部模型，可配合PoseX的骨架使用，改善AI手部畫不好的問題。\n於Extensions頁面的Install from URL輸入以下網址安裝： https://github.com/jexom/sd-webui-depth-lib，重啟WebUI。\n這裡示範搭配PoseX畫手的用法，請記得啟用Multi ControlNet。\n於文生圖頁面點開PoseX，設定Target ControlNet number為1，擺好骨架，並設定。然後點選Save PNG，得到一張png圖檔 切換至Depth map library頁面，點選Add Background Image，上傳PoseX骨架的圖檔。 再點選左邊各個手的模型，加到右邊的圖片，將二隻手擺出來。再點Send to Img2img。 回到文生圖頁面，點開ControlNet，將0號ControlNet的preprocessor和model設定為Depth，Weights設定為0.5。 再點選1號ControlNet，將model設定為OpenPose，Weights設定為0.5。 點選Generate生成，可看到圖片按照方才製作的手和骨架生成了。\n","title":" Depth map library and poser 給Stable Diffusion WebUI加入手部模型","type":"ai-art"},{"content":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：pkuliyi2015/multidiffusion-upscaler-for-automatic1111 這個擴充功能讓VRAM偏低(\u0026lt; 6GB)的電腦也能生成1080x1080以上解析度的大型圖片，甚至不需要用--lowvram和--medvram引數來啟動Stable Diffusion WebUI了。\n安裝方法：進入Extensions頁面，點選Install from URL，輸入https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111.git後按Install，重啟WebUI。\n在文生圖的頁面左下角會看到Tiled Diffusion和Tiled VAE，將二者的Enabled勾選即為啟用，生圖時維持預設值即可。 另提供Region Prompt Control，可以控制每個tile的提示詞。\n","date":"2024年2月1日","externalUrl":null,"permalink":"/posts/multidiffusion-upscaler-for-automatic1111/","section":"Ai-Arts","summary":"Stable Diffusion WebUI擴充功能安裝方法\n擴充功能來源：pkuliyi2015/multidiffusion-upscaler-for-automatic1111 這個擴充功能讓VRAM偏低(\u003c 6GB)的電腦也能生成1080x1080以上解析度的大型圖片，甚至不需要用--lowvram和--medvram引數來啟動Stable Diffusion WebUI了。\n安裝方法：進入Extensions頁面，點選Install from URL，輸入https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111.git後按Install，重啟WebUI。\n在文生圖的頁面左下角會看到Tiled Diffusion和Tiled VAE，將二者的Enabled勾選即為啟用，生圖時維持預設值即可。 另提供Region Prompt Control，可以控制每個tile的提示詞。\n","title":"Tiled Diffusion 讓Stable Diffusion WebUI低VRAM也能生大圖","type":"ai-art"},{"content":"","date":"2024年1月31日","externalUrl":null,"permalink":"/tags/kde-plasma-mobile/","section":"標籤","summary":"","title":"KDE Plasma Mobile","type":"tags"},{"content":"","date":"2024年1月31日","externalUrl":null,"permalink":"/tags/sxmo/","section":"標籤","summary":"","title":"SXMO","type":"tags"},{"content":" Desktop envrionments \u0026amp; Interfaces for Linux mobile devices.\n我想為Linux觸控螢幕裝置尋找適合的桌面環境套件，這篇文章中梳理一下開源社群近幾年以來的活躍專案，讓你知道手機Linux上有哪些界面可選擇。\n此處的觸控螢幕裝置包含手機、平板、變形筆電，都是行動裝置。\n為何不使用現有的桌面環境？ # Linux電腦版的桌面環境約有20幾種，大多數仍以鍵盤滑鼠操控為主。\n在眾多的選項中，XFCE4、LXQT經過手動調整版面勉強可以適應觸控裝置。\nGNOME和KDE Plasma有做「平板模式」，但仍嫌不足。\n因此，採用專為觸控裝置設計的桌面環境有其必要。本文要討論的桌面環境雖以觸控螢幕裝置為主，但他們也適用於大螢幕系統，程式版面會隨著畫面大小自動變化。\n如何安裝桌面環境套件？ # postmarketOS、Arch Linux ARM、Manjaro ARM、Mobian、Drodian、openSUSE Mobile、Fedora Mobility等專為手機設計的Linux發行版，應該都有收錄本文提及的桌面環境的套件，使用者能夠自由切換。\nUbuntu touch因為系統唯讀的關係，無法自由安裝系統界面。\n不建議Android機使用者裝Termux來體驗，因為這些桌面環境不適合在容器裡面跑。\n如果系統支援安裝Display Manager，那麼可以透過登入畫面切換多重桌面環境，例如postmarketOS安裝多重桌面環境\n1. Phosh # 圖片來源：Purism\n原始碼儲存庫：World / Phosh / phosh - GitLab - GNOME\n由Purism公司主導開發，搭載於自家的Librem 5手機。使用GNOME的堆疊，但Wayland合成器基於wlroots而非Mutter。\n輸入法僅支援英文的Squeekboard，鍵盤可以全域喚醒。\nPhosh還設計了scale-to-fit的指令，能夠把桌面應用程式的比例強制縮放成小螢幕。\n手機外接螢幕的話，Phosh會變形成桌面模式，操作類似桌面版GNOME。\n雖然功能精簡，個人覺得是最穩定的桌面環境，動畫流暢反應速度也快。\n2. KDE Plasma Mobile # 圖片來源：9to5Linux\n原始碼儲存庫：Plasma / Plasma Mobile · GitLab\nKDE社群的專案之一，將KDE Plasama重新設計成手機界面的版面。據說跟桌面版共用七成以上的程式碼，Wayland合成器當然是Kwin。\n支援Maliit Keyboard的中文觸控輸入法。KDE社群還為手機開發了一系列配套APP。\n界面排版比較像Android的原生桌面，儘管繼承了桌面版的高度自定義功能，但卻是不太穩定。\n3. SXMO - Simple X Mobile # 圖片來源：TuxPhones\n原始碼儲存庫：Sxmo Source Repositories\n本專案將dwm與Sway的操作模式帶到手機上，務求打造一個最精簡、高客製化的系統。\n使用者可以選擇以X或Wayland當顯示協定。\n在這裡，SSH為一等公民。內建多種可配置的檔案，讓你自訂手勢、硬體按鍵快捷鍵，達成各種操作。沒有中文觸控輸入法。\n使用上較不直覺，如果你不想花時間設定一堆有的沒的建議不要用這個。\n4. GNOME Shell for Mobile # 圖片來源：GNOME Shell \u0026amp; Mutter - GNOME Blog\n原始碼儲存庫：Files · mobile-shell · Jonas Dreßler / gnome-shell - GitLab\n非GNOME官方開發，試驗性的fork，合成器使用Mutter。\n操作類似Phosh，但比Phosh更接近原本的GNOME。\n5. Lomiri # 圖片來源：AbhiFxTech\n原始碼儲存庫：UBports / Development / Core / lomiri - GitLab\nLomiri舊稱Unity 8，沿用Ubuntu系統經典的左邊工作欄設計。Wayland合成器為Mir。\n過去由Canonical主導開發，現交由Ubports社群維護。雖然很老了，但卻是界面設計最完整的一個，有完整的中文化支援，以及一套附屬應用程式。\n原本是Ubuntu touch專屬的UI，現在其他Linux發行版也可以使用了。\n支援使用Maliit Keyboard中文觸控輸入法。\n","date":"2024年1月31日","externalUrl":null,"permalink":"/posts/linux-mobile-desktop-environments/","section":"所有文章","summary":" Desktop envrionments \u0026 Interfaces for Linux mobile devices.\n我想為Linux觸控螢幕裝置尋找適合的桌面環境套件，這篇文章中梳理一下開源社群近幾年以來的活躍專案，讓你知道手機Linux上有哪些界面可選擇。\n此處的觸控螢幕裝置包含手機、平板、變形筆電，都是行動裝置。\n為何不使用現有的桌面環境？ # Linux電腦版的桌面環境約有20幾種，大多數仍以鍵盤滑鼠操控為主。\n在眾多的選項中，XFCE4、LXQT經過手動調整版面勉強可以適應觸控裝置。\nGNOME和KDE Plasma有做「平板模式」，但仍嫌不足。\n因此，採用專為觸控裝置設計的桌面環境有其必要。本文要討論的桌面環境雖以觸控螢幕裝置為主，但他們也適用於大螢幕系統，程式版面會隨著畫面大小自動變化。\n如何安裝桌面環境套件？ # postmarketOS、Arch Linux ARM、Manjaro ARM、Mobian、Drodian、openSUSE Mobile、Fedora Mobility等專為手機設計的Linux發行版，應該都有收錄本文提及的桌面環境的套件，使用者能夠自由切換。\n","title":"適合Linux觸控螢幕裝置的幾個桌面環境","type":"posts"},{"content":"","date":"2024年1月30日","externalUrl":null,"permalink":"/tags/hyper-v/","section":"標籤","summary":"","title":"Hyper-V","type":"tags"},{"content":"Running Hyper-V in QEMU/KVM with Nested Virtualization on Linux.\nWindows 11專業版內建「Hyper-V」虛擬化技術，除了開虛擬機，亦是跑Docker、Linux子系統 (WSL)、Android子系統 (WSA) 的必要條件。\n若在Linux系統安裝Windows QEMU/KVM虛擬機，要如何在虛擬機內部啟用Hyper-V呢？\n虛擬機裡面的虛擬化技術，稱作巢狀虛擬化 (Nested Virtualization)，QEMU/KVM要達成巢狀虛擬化是有可能的，只需要調整一些參數即可。\n1. 調整虛擬機組態 # 用Virt Manager安裝Windows 11虛擬機，記得裝專業版。\n點選Virt Manager → 編輯 → 偏好設定。再點選編輯虛擬機硬體 → CPU數，編輯XML 找到\u0026lt;features\u0026gt; \u0026lt;/features\u0026gt;這段，加入以下內容。設定Hyper-V模式為custom，並隱藏KVM狀態。\n\u0026lt;features\u0026gt; \u0026lt;acpi/\u0026gt; \u0026lt;apic/\u0026gt; \u0026lt;hyperv mode=\u0026#34;custom\u0026#34;\u0026gt; \u0026lt;relaxed state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;vapic state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;spinlocks state=\u0026#34;on\u0026#34; retries=\u0026#34;8191\u0026#34;/\u0026gt; \u0026lt;vpindex state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;runtime state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;synic state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;stimer state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;reset state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;vendor_id state=\u0026#34;on\u0026#34; value=\u0026#34;123456789123\u0026#34;/\u0026gt; \u0026lt;frequencies state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;/hyperv\u0026gt; \u0026lt;kvm\u0026gt; \u0026lt;hidden state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;/kvm\u0026gt; \u0026lt;vmport state=\u0026#34;off\u0026#34;/\u0026gt; \u0026lt;smm state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;ioapic driver=\u0026#34;kvm\u0026#34;/\u0026gt; \u0026lt;/features\u0026gt; 2. 於KVM虛擬機內部啟用Hyper-V # 開機進入Windows，參考Microsoft文件啟用Hyper-V。\n專業版以系統管理員身份執行終端機，用PowerShell指令啟用Hyper-V： Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All 重開機後，用以下指令確認Hyper-V服務有上線，應會看到State: Enabled Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V 3. 安裝WSL與WSA # WSL參照此說明：在Windows 11安裝WSL2子系統 (Ubuntu)。有了WSL後在裡面直接裝Docker即可。\nWSA請參考Microsoft官方說明 適用於 Android™ 的 Windows 子系統 ️\n參考資料 # Nested Virtualization - Hyper-V 2019 in qemu-kvm – /techblog Kvm nested Virtualbox windows guest - ubuntu - Super User ","date":"2024年1月30日","externalUrl":null,"permalink":"/posts/enable-nested-hyper-v-on-kvm/","section":"所有文章","summary":"Running Hyper-V in QEMU/KVM with Nested Virtualization on Linux.\nWindows 11專業版內建「Hyper-V」虛擬化技術，除了開虛擬機，亦是跑Docker、Linux子系統 (WSL)、Android子系統 (WSA) 的必要條件。\n若在Linux系統安裝Windows QEMU/KVM虛擬機，要如何在虛擬機內部啟用Hyper-V呢？\n虛擬機裡面的虛擬化技術，稱作巢狀虛擬化 (Nested Virtualization)，QEMU/KVM要達成巢狀虛擬化是有可能的，只需要調整一些參數即可。\n1. 調整虛擬機組態 # 用Virt Manager安裝Windows 11虛擬機，記得裝專業版。\n點選Virt Manager → 編輯 → 偏好設定。再點選編輯虛擬機硬體 → CPU數，編輯XML 找到\u003cfeatures\u003e \u003c/features\u003e這段，加入以下內容。設定Hyper-V模式為custom，並隱藏KVM狀態。\n\u003cfeatures\u003e \u003cacpi/\u003e \u003capic/\u003e \u003chyperv mode=\"custom\"\u003e \u003crelaxed state=\"on\"/\u003e \u003cvapic state=\"on\"/\u003e \u003cspinlocks state=\"on\" retries=\"8191\"/\u003e \u003cvpindex state=\"on\"/\u003e \u003cruntime state=\"on\"/\u003e \u003csynic state=\"on\"/\u003e \u003cstimer state=\"on\"/\u003e \u003creset state=\"on\"/\u003e \u003cvendor_id state=\"on\" value=\"123456789123\"/\u003e \u003cfrequencies state=\"on\"/\u003e \u003c/hyperv\u003e \u003ckvm\u003e \u003chidden state=\"on\"/\u003e \u003c/kvm\u003e \u003cvmport state=\"off\"/\u003e \u003csmm state=\"on\"/\u003e \u003cioapic driver=\"kvm\"/\u003e \u003c/features\u003e 2. 於KVM虛擬機內部啟用Hyper-V # 開機進入Windows，參考Microsoft文件啟用Hyper-V。\n專業版以系統管理員身份執行終端機，用PowerShell指令啟用Hyper-V： Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All 重開機後，用以下指令確認Hyper-V服務有上線，應會看到State: Enabled Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V 3. 安裝WSL與WSA # WSL參照此說明：在Windows 11安裝WSL2子系統 (Ubuntu)。有了WSL後在裡面直接裝Docker即可。\n","title":"啟用巢狀Hyper-V，讓Windows 11 QEMU/KVM虛擬機支援WSL與WSA","type":"posts"},{"content":"這篇文章Ivon將解說在GNU/Linux系統，用Virt Manager安裝Microsoft Windows 11系統虛擬機的過程，並解說一些常用操作技巧，讓你可以自在的於Linux系統跑Windows VM。 執行於Linux KDE桌面的Windows 11 QEMU/KVM虛擬機\nWindows 11與Windows 10虛擬機的安裝方式略有不同，所以Ivon單獨寫一篇解說。為了讓Windows 11的「WSA(Android子系統)」以及「WSL(Linux子系統)」在虛擬機內部正常運作，需要額外做設定。\n使用的虛擬機軟體為自由開源的Virt Manager，配上QEMU/KVM。Virt Manager除了免費又高效率外，好處是即使電腦不支援TPM 2.0也可以用軟體模擬，成功安裝Windows 11，不需要破解登錄檔。\n1. 確認電腦虛擬化與KVM支援狀況 # 要安裝Windows 11虛擬機，CPU需為x86_64架構，還要支援虛擬化，通常在BIOS可以啟用。\nCPU不支援TPM 2.0沒關係，可以用軟體模擬。\n檢查CPU是否支援虛擬化，回傳值不應為0。 sudo grep -E -c \u0026#39;(vmx|svm)\u0026#39; /proc/cpuinfo 檢查KVM核心模組是否已經載入，會看到intel_kvm或是amd_kvm出現在列表 lsmod | grep kvm 2. 安裝QEMU與Virt Manager # QEMU是硬體模擬器，配合KVM核心模組加速虛擬機效能。Virt Manager為一套包含Libvirt的虛擬機管理工具。\nUbuntu參考這篇安裝\nArch Linux參考這篇安裝\n3. 新增Windows 11虛擬機組態 # Windows 11的安裝ISO可以免費在Microsoft官網下載，不需要額外破解。 接著到Fedora網站下載VirtIO，選virtio-stable下的ISO檔案 開啟Virt Manager，點選左上角新增虛擬機 點選手動安裝 作業系統輸入Windows 11 RAM至少給8GB，CPU至少給4核心 建立至少64GB的虛擬硬碟（要玩遊戲建議256GB）。虛擬硬碟格式是qcow2，會逐漸吃滿分配的硬碟空間。 網路選取NAT，再勾選在安裝前自訂配置 將晶片組改為Q35，韌體選擇OVMF_CODE.secboot.fd。Windows 11只要UEFI支援Secure Boot即可安裝，不需要真的啟用Secure Boot。如果你想啟用真正加密請參考這篇 切換到CPU數頁面，確認CPU型號為host-passthrough。接著Virt Manager預設會分配多個插槽，但是Windows只能認到一個插槽，你需要勾選手動拓樸，將它調整為符合你CPU的樣式。例如我是Intel i5-7400，就設定1插槽、4核、1緒。 點選左下角新增硬體 → 新增儲存，選取VirtIO的映像檔 切換到硬碟頁面，將類型改為VirtIO改善讀寫效能。 點選左下角新增硬體 → 新增虛擬TPM硬體，型號選CRB或TIS。 點選左下角新增硬體 → 新增儲存 → 裝置類型選擇CDROM，然後再選擇Windows 11的ISO 切換到開機選項，確認CDROM在第一順位。 設定就緒之後，點選左上角「開始安裝」。開機後滑鼠點一下虛擬機螢幕，按下Enter才能開機。\n4. 開始安裝Windows 11虛擬機 # 點下一步 點選我沒有產品金鑰 為擁有全部Windows功能，建議安裝專業工作站版 點選自訂安裝Windows，進入選取磁碟的頁面。因為使用VirtIO，需要點選「載入驅動程式」安裝驅動 安裝Win11的VirtIO驅動程式 之後就可以安裝系統至虛擬硬碟了 安裝後Windows 11會重開機，進入初始化頁面。如果開機後還是進入安裝媒體，則自行移除CDROM硬體裝置再重新開機。 按照指示設定。進入桌面，右鍵點選開始 → 系統設定 → Windows Update，完成Windows更新。 如果您沒有購買Windows授權，請用Microsoft Activation Scripts啟用Windows，才能使用全部系統功能。\n5. 虛擬機額外技巧 # 以下步驟為選擇性，非必須。\nSpice Guest Tools能讓虛擬機與實體機共用剪貼簿，增進QXL虛擬顯示卡效能，Windows也會自動隨著虛擬機視窗大小縮放解析度 (虛擬機工具列→檢視→縮放檢視→自動將VM調整至與視窗大小相同)。\n如果想要與QEMU虛擬機共享資料夾，可考慮用virtio-fs掛載本機Linux的目錄。\n欲在虛擬機內部跑WSL和WSA的，參見QEMU/KVM啟用巢狀Hyper-V\n你還可以透過「GPU Passthrough」，將Linux的獨立顯示卡直通給Windows 11的虛擬機，使其能執行3D應用程式、跑AI計算、玩遊戲。參見在Windows虛擬機玩遊戲\n如果你想從手機、筆記型電腦，遠端存取Windows虛擬機桌面，這邊提供一個Ivon用過的簡單暴力解決方案：RDP＋Zerotier\n6. 虛擬機維護 # 參見手動備份與還原QEMU/KVM虛擬機\n如果虛擬機硬碟容量不足？參考如何用圖形化程式調整QEMU/KVM虛擬機的qcow2硬碟容量大小\n","date":"2024年1月30日","externalUrl":null,"permalink":"/posts/install-windows-11-qemu-kvm-on-linux/","section":"所有文章","summary":"這篇文章Ivon將解說在GNU/Linux系統，用Virt Manager安裝Microsoft Windows 11系統虛擬機的過程，並解說一些常用操作技巧，讓你可以自在的於Linux系統跑Windows VM。 執行於Linux KDE桌面的Windows 11 QEMU/KVM虛擬機\nWindows 11與Windows 10虛擬機的安裝方式略有不同，所以Ivon單獨寫一篇解說。為了讓Windows 11的「WSA(Android子系統)」以及「WSL(Linux子系統)」在虛擬機內部正常運作，需要額外做設定。\n使用的虛擬機軟體為自由開源的Virt Manager，配上QEMU/KVM。Virt Manager除了免費又高效率外，好處是即使電腦不支援TPM 2.0也可以用軟體模擬，成功安裝Windows 11，不需要破解登錄檔。\n1. 確認電腦虛擬化與KVM支援狀況 # 要安裝Windows 11虛擬機，CPU需為x86_64架構，還要支援虛擬化，通常在BIOS可以啟用。\nCPU不支援TPM 2.0沒關係，可以用軟體模擬。\n檢查CPU是否支援虛擬化，回傳值不應為0。 sudo grep -E -c '(vmx|svm)' /proc/cpuinfo 檢查KVM核心模組是否已經載入，會看到intel_kvm或是amd_kvm出現在列表 lsmod | grep kvm 2. 安裝QEMU與Virt Manager # QEMU是硬體模擬器，配合KVM核心模組加速虛擬機效能。Virt Manager為一套包含Libvirt的虛擬機管理工具。\n","title":"【圖解】如何在Linux系統安裝Windows 11虛擬機(QEMU/KVM) ＋ 常用技巧","type":"posts"},{"content":"電腦與手機之間的免費傳檔方案「Taildrop」，支援Linux/Windows/macOS/Android/iOS\nTailscale的功能為內網穿透，只要任意二個裝置接上TailScale，就可以使用區域網路的傳檔軟體了，例如Snapdrop、LocalSend、KDE Connect，甚至打IP用SMB下載檔案也行得通。\n不過，其實TailScale有內建自家的傳檔服務「Taildrop」，利用Tailscale內網穿透的技術，在各個裝置間傳輸檔案。全程加密，不用在同一個Wifi下也能傳輸，不限流量。\n唯一缺點是Taildrop只能傳檔案給自己的裝置，不能傳給其他Tailscale帳號。\n截至2024年2月，此功能仍處於Beta階段，這就是為何放在不顯眼區域的緣故吧。\n1. 啟用Taildrop # 在你的裝置安裝TailScale，並讓所有裝置連上TailScale網路。\n登入TailScale後台，勾選Send Files 2. Taildrop傳檔方法 # 參考官方文件，目前TailScale的作法是將傳檔功能加入到系統的右鍵選單\nWindows對檔案按右鍵，就會有「Send with TailScale」的選項。另外Windows預設接收檔案的路徑是「下載」資料夾 macOS需要到系統設定 → 隱私權與安全性，啟用TailScale延伸功能，Finder的右鍵選單才會出現Send with Tailscale選項。\nLinux的TailScale沒有圖形界面，推薦安裝KTailCtl，再賦予使用者權限\nsudo tailscale set --operator=$USER 這樣你就可以傳檔案了。 不過，Linux得用指令收件，有點麻煩\ntailscale file get /home/user/Downloads/ Taildrop還提供指令傳檔： tailscale file cp \u0026#34;檔案路徑\u0026#34; \u0026#34;Tailscale裝置IP\u0026#34; 8.手機的傳檔方式更為隱晦，你得用檔案管理器或者相簿APP選取檔案，再透過「分享」選單，選取使用TailScale傳送。 至於檔案接收路徑，Android版預設的為Download資料夾。\n","date":"2024年1月30日","externalUrl":null,"permalink":"/posts/tailscale-taildrop/","section":"所有文章","summary":"電腦與手機之間的免費傳檔方案「Taildrop」，支援Linux/Windows/macOS/Android/iOS\nTailscale的功能為內網穿透，只要任意二個裝置接上TailScale，就可以使用區域網路的傳檔軟體了，例如Snapdrop、LocalSend、KDE Connect，甚至打IP用SMB下載檔案也行得通。\n不過，其實TailScale有內建自家的傳檔服務「Taildrop」，利用Tailscale內網穿透的技術，在各個裝置間傳輸檔案。全程加密，不用在同一個Wifi下也能傳輸，不限流量。\n唯一缺點是Taildrop只能傳檔案給自己的裝置，不能傳給其他Tailscale帳號。\n截至2024年2月，此功能仍處於Beta階段，這就是為何放在不顯眼區域的緣故吧。\n1. 啟用Taildrop # 在你的裝置安裝TailScale，並讓所有裝置連上TailScale網路。\n登入TailScale後台，勾選Send Files 2. Taildrop傳檔方法 # 參考官方文件，目前TailScale的作法是將傳檔功能加入到系統的右鍵選單\nWindows對檔案按右鍵，就會有「Send with TailScale」的選項。另外Windows預設接收檔案的路徑是「下載」資料夾 ","title":"Taildrop，透過Tailscale VPN跨裝置傳檔案","type":"posts"},{"content":"Magic Earth是荷蘭公司Magic Lane推出的手機地圖＆導航APP，圖資使用OpenStreetMap，支援Android和iOS系統。 Ivon之所以會發現這款APP，是因為想尋找開源的地圖導航APP。用過OSMAnd~一陣子，還是太難用了，中文搜尋很差勁。\n接著看到/e/OS預設的導航APP是Magic Earth（ /e/OS為一款去Google化的Android系統 ）想說全由開源軟體組成的系統，怎麼會混入閉源軟體。試著安裝看看Magic Earth，便有了找到寶藏的感覺！ 許多Reddit和Hacker News開源社區的用戶也推薦此APP，儘管不開源，但是隱私保護很到位，功能足以跟主流導航APP競爭。算是做的最好的一個OpenStreetMap APP。\n把玩幾日後，Ivon認為Magic Earth確實挺有趣的，茲整理特色如下：\n主打「不追蹤使用者」，根據Exodus資料，Magic Earth一個追蹤器都沒有。 /e/ OS的官網還掛保證說Magic Earth絕不蒐集使用者資料。\nMagic Earth不需要依賴GMS服務，最多只要microG就能導航！適合裝在Degoogle過的手機或是沒有GMS框架的中國機。\nMagic Earth中文支援度比同級產品OSMAnd佳，是良好的替代品。同樣使用OpenStreetMap圖資，明明台灣有很多貢獻者，但OSMAnd~和OrganicMaps的中文搜尋卻是爛的一塌糊塗，給你地址了還找不到。Magic Earth的中文支援度好多了，可以搜尋到更多地點，導航路線也有很多選項。 支援離線地圖、2D/3D地圖、衛星圖、大眾運輸圖、Android Auto/Carplay、速限提醒、回報測速照相地點 給駕駛人開車技巧打分數、顯示導航路上的高低差變化 提供華語、台語、客語導航。這是我覺得最有趣的地方XD 來自歐洲的軟體可以在地化做成這樣 Magic Earth那麼佛，那他們要賺什麼？從官網資料可得知母公司General Magic有做面向企業的專業地圖，於是Magic Earth就給大家免費用啦。\nMagic Earth唯一需要付費的功能是「AI DashCam」，需要外接攝像機，「高級駕駛輔助」可提醒路況，或是當作行車紀錄器使用。 產品示意影片 總結來說，如果你很在意導航時的地圖隱私權，不依賴Google地圖的評論，還有一條龍的交通規劃功能的話，那麼Magic Earth確實是個不錯的選擇。\n下載Magic Earth APP：Google Play｜App Store\n","date":"2024年1月30日","externalUrl":null,"permalink":"/posts/magic-earth-app/","section":"所有文章","summary":"Magic Earth是荷蘭公司Magic Lane推出的手機地圖＆導航APP，圖資使用OpenStreetMap，支援Android和iOS系統。 Ivon之所以會發現這款APP，是因為想尋找開源的地圖導航APP。用過OSMAnd~一陣子，還是太難用了，中文搜尋很差勁。\n接著看到/e/OS預設的導航APP是Magic Earth（ /e/OS為一款去Google化的Android系統 ）想說全由開源軟體組成的系統，怎麼會混入閉源軟體。試著安裝看看Magic Earth，便有了找到寶藏的感覺！ 許多Reddit和Hacker News開源社區的用戶也推薦此APP，儘管不開源，但是隱私保護很到位，功能足以跟主流導航APP競爭。算是做的最好的一個OpenStreetMap APP。\n把玩幾日後，Ivon認為Magic Earth確實挺有趣的，茲整理特色如下：\n主打「不追蹤使用者」，根據Exodus資料，Magic Earth一個追蹤器都沒有。 /e/ OS的官網還掛保證說Magic Earth絕不蒐集使用者資料。\nMagic Earth不需要依賴GMS服務，最多只要microG就能導航！適合裝在Degoogle過的手機或是沒有GMS框架的中國機。\nMagic Earth中文支援度比同級產品OSMAnd佳，是良好的替代品。同樣使用OpenStreetMap圖資，明明台灣有很多貢獻者，但OSMAnd~和OrganicMaps的中文搜尋卻是爛的一塌糊塗，給你地址了還找不到。Magic Earth的中文支援度好多了，可以搜尋到更多地點，導航路線也有很多選項。 ","title":"用Magic Earth替代Google地圖！中文支援度佳、保護隱私的導航APP","type":"posts"},{"content":"現在你看到的是在Linux系統執行的macOS程式。 Draling是一款自由軟體，作者描述該軟體為A Darwin/macOS emulation layer for Linux，即Linux系統適用的macOS程式模擬層。 「Draling」推測為「Darwin」＋「Linux」的混成詞。\n跟Wine轉譯Windows指令碼的機制類似，Darling可以把macOS指令碼轉譯成Linux指令碼，速度比虛擬機要快很多。\nDarling支援dmg、pkg格式打包的macOS程式，連Homebrew也支援。\n但是，Darling僅支援轉譯命令行macOS程式，例如Xcode Command Line Tools。\n圖形macOS程式？規劃中\u0026hellip;已經規劃10年了，作者到目前為止僅實現Cocoa API。\n你可能會說：只能跑命令行程式意義在哪裡？這些程式Linux不是幾乎都有。是呀，看未來Darling能不能進一步完整支援Xcode，讓我們能在Linux編譯iPhone的APP。\n現階段欲在非蘋果的裝置開發iOS APP，跑macOS KVM虛擬機之類的黑蘋果可能還是比較實在。\n1. 安裝Darling相容層 # 由於該專案還在積極開發中，請參照作者Github的指示編譯，不要裝deb套件。\nDarling是否支援ARM架構？應該不行，這裡使用x86架構的Linux比較保險。\nUbuntu 22.04安裝依賴套件 sudo apt install cmake automake clang-15 bison flex libfuse-dev libudev-dev pkg-config libc6-dev-i386 \\ gcc-multilib libcairo2-dev libgl1-mesa-dev curl libglu1-mesa-dev libtiff5-dev \\ libfreetype6-dev git git-lfs libelf-dev libxml2-dev libegl1-mesa-dev libfontconfig1-dev \\ libbsd-dev libxrandr-dev libxcursor-dev libgif-dev libavutil-dev libpulse-dev \\ libavformat-dev libavcodec-dev libswresample-dev libdbus-1-dev libxkbfile-dev \\ libssl-dev libstdc++-12-dev 複製儲存庫，開始編譯。Darling專案檔案很大，大概會吃掉16GB磁碟空間。 git clone --recursive https://github.com/darlinghq/darling.git cd darling # 如果有的話，移除舊版本Darling sudo tools/uninstall mkdir build \u0026amp;\u0026amp; cd build cmake .. make -j8 安裝Darling sudo make install 2. 基本操作 # 進入Darling的shell，模擬macOS環境的輕量容器 darling shell Darling支援類似WinePrefix的環境變數，可用於指定容器路徑 export DPREFIX=~/darling_custom darling shell 進入終端機後，如果你需要zsh就打指令切換 chsh -s /bin/zsh Darling執行sw_vers指令回傳的macOS版本是為11.7.4。macOS容器的資料放在~/.darling，下面的目錄結構跟macOS很像。 Darling只能透過純文字模式安裝軟體，以pkg為例子，你得先透過Linux下載pkg檔案，將Darling關機，把檔案放進容器後，再重開機安裝。\n# 這是Linux的shell darling shutdown wget \u0026#34;pkg網址\u0026#34; mv app.pkg ~/.darling/Users/user # 這是Darling的shell darling shell cd ~/.darling/Users/user installer -pkg app.pkg -target / 若為dmg格式的軟體，將其用hdiutil掛載，再以installer安裝 # 這是Linux的shell darling shutdown wget \u0026#34;dmg網址\u0026#34; mv app.dmg ~/.darling/Users/user # 這是Darling的shell darling shell cd /Users/user hdiutil attach app.dmg installer -pkg \u0026#34;/Volumes/app/app.pkg\u0026#34; -target / 3. 透過Darling安裝Xcode # Apple開發的Xcode附贈命令列工具「Xcode Command Line Tools」，搞到這款工具就足夠「編譯」macOS應用程式了。\n裝完Xcode Command Line Tools後才能裝Homebrew。\n至於iOS、tvOS的應用程式嘛\u0026hellip;我自己測試還是不行，「Xcode Command Line Tools」正常，但「Xcode」跑xcodebuild會碰到一堆Error loading required libraries.的錯誤。\nDarling的開發者提過一種詭異的解法：用Darling執行裝有macOS的磁碟裡面的程式，繞過依賴套件的問題，就不需要開macOS系統。但這太麻煩了。\n因此要開發iOS、tvOS應用程式請還是請乖乖開黑蘋果吧，例如跑macOS KVM虛擬機。\n本節我們要使用指令安裝Xcode commandline tools。\n到Apple Developers，登入Apple帳號，按Additional Downloads，下載Command Line Tools for Xcode 13.2（對應macOS 11.7） 將dmg檔放到Darling目錄，安裝dmg檔\ndarling shutdown mv ~/Downloads/Command_Line_Tools_for_Xcode_13.2.dmg ~/.darling/Users/user darling shell cd /Users/user hdiutil attach Command_Line_Tools_for_Xcode_13.2.dmg installer -pkg \u0026#34;/Volumes/Command_Line_Tools_for_Xcode_13.2/Command Line Tools.pkg\u0026#34; -target / 如果你想一併安裝Xcode，到Apple Developers下載Xcode 13.2.1（對應macOS 11.7），下載xip檔。 將Darling關機\ndarling shutdown 把xip檔案放到Darling的磁碟，再安裝 mv ~/Downloads/Xcode_13.2.1.xip ~/.darling/Applications darling shell unxip Applications/Xcode_13.2.1.xip 如果解不開，改用Linux的apple-sdk-tools工具來解xip\nexit darling shutdown cd ~/.darling/Applications wget https://raw.githubusercontent.com/bitcoin-core/apple-sdk-tools/master/extract_xcode.py python3 extract_xcode.py -f Xcode_13.2.1.xip | cpio -d -i 最後設定Xcode的路徑 # Xcode xcode-select --switch /Applications/Xcode.app # 如果設定上述路徑出現錯誤，改回預設的Xcode commandline tools xcode-select --switch /Library/Developer/CommandLineTools 根據Darling作者給的例子，在安裝Xcode工具之後，應該就可以叫Clang出來編譯程式 export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk echo \u0026#39;#include \u0026lt;stdio.h\u0026gt; void main() { puts(\u0026#34;Hello world\u0026#34;); }\u0026#39; \u0026gt; helloworld.c /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang helloworld.c -o helloworld ./helloworld 參考資料 # Darling Docs: Introduction Unpack XIP on Linux Cross-compiling for iOS on Linux - Godot Docs ","date":"2024年1月30日","externalUrl":null,"permalink":"/posts/darling-run-macos-applications-on-linux/","section":"所有文章","summary":"現在你看到的是在Linux系統執行的macOS程式。 Draling是一款自由軟體，作者描述該軟體為A Darwin/macOS emulation layer for Linux，即Linux系統適用的macOS程式模擬層。 「Draling」推測為「Darwin」＋「Linux」的混成詞。\n跟Wine轉譯Windows指令碼的機制類似，Darling可以把macOS指令碼轉譯成Linux指令碼，速度比虛擬機要快很多。\nDarling支援dmg、pkg格式打包的macOS程式，連Homebrew也支援。\n但是，Darling僅支援轉譯命令行macOS程式，例如Xcode Command Line Tools。\n圖形macOS程式？規劃中…已經規劃10年了，作者到目前為止僅實現Cocoa API。\n你可能會說：只能跑命令行程式意義在哪裡？這些程式Linux不是幾乎都有。是呀，看未來Darling能不能進一步完整支援Xcode，讓我們能在Linux編譯iPhone的APP。\n現階段欲在非蘋果的裝置開發iOS APP，跑macOS KVM虛擬機之類的黑蘋果可能還是比較實在。\n1. 安裝Darling相容層 # 由於該專案還在積極開發中，請參照作者Github的指示編譯，不要裝deb套件。\nDarling是否支援ARM架構？應該不行，這裡使用x86架構的Linux比較保險。\nUbuntu 22.04安裝依賴套件 sudo apt install cmake automake clang-15 bison flex libfuse-dev libudev-dev pkg-config libc6-dev-i386 \\ gcc-multilib libcairo2-dev libgl1-mesa-dev curl libglu1-mesa-dev libtiff5-dev \\ libfreetype6-dev git git-lfs libelf-dev libxml2-dev libegl1-mesa-dev libfontconfig1-dev \\ libbsd-dev libxrandr-dev libxcursor-dev libgif-dev libavutil-dev libpulse-dev \\ libavformat-dev libavcodec-dev libswresample-dev libdbus-1-dev libxkbfile-dev \\ libssl-dev libstdc++-12-dev 複製儲存庫，開始編譯。Darling專案檔案很大，大概會吃掉16GB磁碟空間。 git clone --recursive https://github.com/darlinghq/darling.git cd darling # 如果有的話，移除舊版本Darling sudo tools/uninstall mkdir build \u0026\u0026 cd build cmake .. make -j8 安裝Darling sudo make install 2. 基本操作 # 進入Darling的shell，模擬macOS環境的輕量容器 darling shell Darling支援類似WinePrefix的環境變數，可用於指定容器路徑 export DPREFIX=~/darling_custom darling shell 進入終端機後，如果你需要zsh就打指令切換 chsh -s /bin/zsh Darling執行sw_vers指令回傳的macOS版本是為11.7.4。macOS容器的資料放在~/.darling，下面的目錄結構跟macOS很像。 ","title":"Darling幫幫我！Linux跑macOS的Xcode程式","type":"posts"},{"content":"習慣在iPad觀看動畫嗎？遇到老舊動畫解析度不到1080p，浪費了漂亮的Retina螢幕怎麼辦？\n你可以使用Anime4K Metal播放器來改善你的觀影體驗，免費幫你放大影片解析度，提昇影片畫質。讓720p變1080p，1080p變4K！ Anime4K Metal是電腦版Anime4K的iOS移植版，原理是在播放時將OpenCL轉譯為Metal API，即可無縫使用Anime4K原作者提供的GLSL著色器來放大影片。\n那麼播放不會很吃效能嗎？Apple裝置普遍都有強大的圖形處理能力，安啦！但也不能太舊，畢竟Anime4K是很吃GPU效能的演算法，以手機來講的話大概要iPhone X以上（A11晶片）才能順暢播放Anime4K影片。\n注意：Anime4K僅適合放大動畫影片，不適合真實影片。\n1. Anime4K Metal裝法 # 至imxieyi的Github下載安裝檔\n除iOS外，作者還將Anime4K移植到了macOS和tvOS系統。\nAnime4K Metal需要macOS 12以上版本、iOS 15以上版本才可以安裝。\niOS版APP並無在App Store上架，請透過AltStore安裝IPA。\n2. 選取著色器 # APP開啟後，點Add Shader選取個別著色器，或者使用Preset預先設定好的模式。 Preset有A、B、C、A+A、B+B、C+A五種模式，跟原版Anime4K一樣。每種模式由多個著色器組成，詳細內容參看開發者Github。建議先試試A+A (Fast)，再按照你裝置的性能試試A+A (HQ) 接著滑動到最下面，點選Local File，選取影片播放。Performance Overlay勾著的狀態下會在螢幕上顯示目前的性能資訊。 Apple TV的用戶可點選Remote File播放遠端檔案，Youtube當然是不支援的，你可能得使用區域伺服器串流檔案。\n","date":"2024年1月29日","externalUrl":null,"permalink":"/posts/anime4k-metal/","section":"所有文章","summary":"習慣在iPad觀看動畫嗎？遇到老舊動畫解析度不到1080p，浪費了漂亮的Retina螢幕怎麼辦？\n你可以使用Anime4K Metal播放器來改善你的觀影體驗，免費幫你放大影片解析度，提昇影片畫質。讓720p變1080p，1080p變4K！ Anime4K Metal是電腦版Anime4K的iOS移植版，原理是在播放時將OpenCL轉譯為Metal API，即可無縫使用Anime4K原作者提供的GLSL著色器來放大影片。\n那麼播放不會很吃效能嗎？Apple裝置普遍都有強大的圖形處理能力，安啦！但也不能太舊，畢竟Anime4K是很吃GPU效能的演算法，以手機來講的話大概要iPhone X以上（A11晶片）才能順暢播放Anime4K影片。\n注意：Anime4K僅適合放大動畫影片，不適合真實影片。\n1. Anime4K Metal裝法 # 至imxieyi的Github下載安裝檔\n除iOS外，作者還將Anime4K移植到了macOS和tvOS系統。\nAnime4K Metal需要macOS 12以上版本、iOS 15以上版本才可以安裝。\niOS版APP並無在App Store上架，請透過AltStore安裝IPA。\n2. 選取著色器 # APP開啟後，點Add Shader選取個別著色器，或者使用Preset預先設定好的模式。 ","title":"即時提昇iPhone/iPad影片畫質 ～ Anime4K Metal播放器教學","type":"posts"},{"content":"Anime4K是一款專為動漫影片設計的演算法，能夠即時放大影片畫質、增加銳利度，讓影片「看起來」好像畫質變好了。\n比如720p變1080p，1080p變4K。有點類似影片畫質修復的功能，開源免費。 手機用戶可能沒感覺，但如果你是平板一定會感到影片畫質大大提昇。\n儘管Anime4K放大品質不及Waifu2x和Real ESRGAN，可它的優勢在於「即時」放大，不需要等轉檔。\n通常Anime4K會搭配影片播放器「MPV」使用，透過著色器的方式載入。恰好Android平台MPV也有支援，因此我們可以直接把電腦版Anime4K原封不動搬過來用。\n不過，連電腦版需要有獨立顯示卡跑得動，手機更不用說了，你需要旗艦機，處理器性能建議至少要高通SD845才跑得動Anime4K。\n測試手機：Sony Xperia 10 V，處理器SD845，系統版本Android 14。\n1. Anime4K各模式的差異 # Anime4K的開發者提供了數十種以上的著色器，包含放大、修復、銳化、降噪、去模糊。\n為了讓使用者更容易上手，開發者定義了A、B、C、A+A、B+B、C+A五種模式，每種模式由多個著色器組成，詳細內容參看開發者Github。在電腦版上，每按一個組合鍵就會啟用對應的模式提升畫質，使用者要自行判斷哪個比較好。\n我個人認為大多數影片A+A模式就夠了。\n2. 設定MPV與Anime4K # 從Github下載MPV APK。Android 11以上用戶請下載app-api29-universal-release.apk的版本，以便MPV讀取手機內部儲存空間。 到Anime4K的Github，Chrome點選「切換成電腦版網頁」。點選Download ZIP，下載所有檔案 開啟檔案總管，在手機內部儲存空間/Documents，新增MPV目錄，再新增shaders目錄 解壓縮Anime4K-master.zip，將glsl目錄下的全部.glsl檔放到內部儲存空間/Documents/MPV/shaders（不包含目錄，只要glsl檔就好） 開啟MPV，點選Settings → Advanced → Edit mpv.conf 填入以下內容。Android的MPV因為不方便按快捷鍵，所以只好設定一開啟APP就載入Anime4K著色器。下面我寫的內容對應「A+A」模式。\nglsl-shaders-append=\u0026#34;/storage/emulated/0/Documents/MPV/shaders/Anime4K_Clamp_Highlights.glsl\u0026#34; glsl-shaders-append=\u0026#34;/storage/emulated/0/Documents/MPV/shaders/Anime4K_Restore_CNN_M.glsl\u0026#34; glsl-shaders-append=\u0026#34;/storage/emulated/0/Documents/MPV/shaders/Anime4K_Upscale_CNN_x2_M.glsl\u0026#34; glsl-shaders-append=\u0026#34;/storage/emulated/0/Documents/MPV/shaders/Anime4K_Restore_CNN_S.glsl\u0026#34; glsl-shaders-append=\u0026#34;/storage/emulated/0/Documents/MPV/shaders/Anime4K_AutoDownscalePre_x2.glsl\u0026#34; glsl-shaders-append=\u0026#34;/storage/emulated/0/Documents/MPV/shaders/Anime4K_AutoDownscalePre_x4.glsl\u0026#34; glsl-shaders-append=\u0026#34;/storage/emulated/0/Documents/MPV/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34; 播放影片，點選右上角的齒輪 → 按2，應會顯示user shader:，代表載入成功，這樣播放影片就會有提昇畫質的效果了。 參考資料 # 在安卓上优雅地食用Anime4K - Bilibili 安卓mpv怎么用Anime4K看动画？ | Syaro最可爱了 Can I use Shaders in mpv Android? r/mpv - Reddit ","date":"2024年1月29日","externalUrl":null,"permalink":"/posts/anime4k-android/","section":"所有文章","summary":"Anime4K是一款專為動漫影片設計的演算法，能夠即時放大影片畫質、增加銳利度，讓影片「看起來」好像畫質變好了。\n比如720p變1080p，1080p變4K。有點類似影片畫質修復的功能，開源免費。 手機用戶可能沒感覺，但如果你是平板一定會感到影片畫質大大提昇。\n儘管Anime4K放大品質不及Waifu2x和Real ESRGAN，可它的優勢在於「即時」放大，不需要等轉檔。\n通常Anime4K會搭配影片播放器「MPV」使用，透過著色器的方式載入。恰好Android平台MPV也有支援，因此我們可以直接把電腦版Anime4K原封不動搬過來用。\n不過，連電腦版需要有獨立顯示卡跑得動，手機更不用說了，你需要旗艦機，處理器性能建議至少要高通SD845才跑得動Anime4K。\n測試手機：Sony Xperia 10 V，處理器SD845，系統版本Android 14。\n1. Anime4K各模式的差異 # Anime4K的開發者提供了數十種以上的著色器，包含放大、修復、銳化、降噪、去模糊。\n為了讓使用者更容易上手，開發者定義了A、B、C、A+A、B+B、C+A五種模式，每種模式由多個著色器組成，詳細內容參看開發者Github。在電腦版上，每按一個組合鍵就會啟用對應的模式提升畫質，使用者要自行判斷哪個比較好。\n","title":"提昇手機影片畫質 ～ Android版MPV＋Anime4K使用教學","type":"posts"},{"content":"2023年Minetest Game Jam從12月1日開辦，到21日開放社群投票，最終於2024年1月公佈票選成績。\n今年的主題是「UNEXPECTED」，要求參賽者製作意想不到的子遊戲。 要求對應Minetest版本為5.8.0\n由社群和評審群投票，按照玩法、創意、內容、主題，四個面向去評分。\n扣分項：安裝過程太複雜、沒有公開Git儲存庫、使用非自由授權的素材\n最終取前三名，第一名發給150美元，第二名100美元，第三名50美元\n得獎的遊戲會放在ContentDB首頁推廣。\n更特別的是，今年還多了Pine Hosting的贊助，得獎者可以分別獲得三個月、二個月、一個月的免費Minetest伺服器託管。\n1. 本次參賽作品一覽 # 這次因為有限定主題，參賽作品比較少，但竟然還是有人做了來亂的作品。\nContentDB含有Jam / Game 2023標籤的即為本年度參賽作品。\nmineos # ContentDB 將Minetest類比為Windows 98的作業系統，太神啦。我個人覺得這是做得最好的子遊戲。\n內建Lua虛擬機、Minetest版的Doom（裡面有上古時代Minetest被移除怪物的彩蛋XD）、踩地雷小遊戲。證實Minetest真的可以變成各式各樣的遊戲。\nThe Velvet Crystal # ContentDB 有劇情，拯救水晶抵抗黑暗勢力，在地圖跑酷，讓水晶恢復原狀。\nThe Unexpected Gambit # ContentDB 雙人西洋棋遊戲，據說為Minetest內最為完整的棋盤類遊戲實現。\nShadow Forest # ContentDB 魔法RPG遊戲，用魔法棒打怪解謎，普遍評價還不錯。\nCitadel # ContentDB 穿越時空的冒險遊戲，有劇情，遊戲場景、音樂優美。\n評價不錯，是本次得分最高的子遊戲。\nWisdom Check Part 1 # ContentDB 片頭曲很好聽？？但內容未完成。\nVeil of the Unknown # ContentDB 聽音辨位遊戲，建議帶耳機玩。其實開光影搭配看光點的效果視覺還不賴嘛\u0026hellip;但是什麼都看不到根本不知道在玩什麼。\nFill the Void # ContentDB 走路並按下選項，周遭的方塊就會跟著變化。\n概念驗證遊戲，沒有可玩性。這個方塊自己增生出來的場景倒是讓我想到古老的土石流模組，以及Minecraft細菌模組。\nGhost Crypt # ContentDB 多人遊戲，鬼抓人，可自由選擇扮演的角色。\nRobot Operator # ContentDB\n作者只寫了一行描述，一進入就有bug。未完成作品。\nWhat Were You Expecting? # ContentDB\n純粹來亂的，但文字呈現的風格很有創意，讓人意想不到。\nAir Game # ContentDB\n終極的遊戲，源自上古meme，整個遊戲都是空氣，還有一把名為「空氣劍」的武器，喔不，這把武器根本不存在。\n廢到笑，被稱作laziest trolling。\n話說投票圖表裡面有14款子遊戲，但ContentDB有二款子遊戲我找不到，可能是被下架了。其中一款Minetest Videos有拍片留存：Devious Licks，感覺bug很多。\n另一款Intervention雖然建築很漂亮，但看來也是沒做完。 2. 參賽結果 # 根據Minetest Forum GreenXenith公佈的結果顯示\n前三名分別為：Citadel、Veil of the Unknown、The Unexpected Gambit\n我很高興的是這次Minetest又多了實用性強的子遊戲，像西洋棋十分有趣，MineOS很有潛力能進一步擴充，畢竟有人連3D檔案總管都做出來了～\nWhat Were You Expecting?這款子遊戲儘管很廢，可它的文字呈現方式能夠作為日後RPG地圖作者的參考吧。\n","date":"2024年1月25日","externalUrl":null,"permalink":"/posts/2023-minetest-game-jam/","section":"Luantis","summary":"2023年Minetest Game Jam從12月1日開辦，到21日開放社群投票，最終於2024年1月公佈票選成績。\n今年的主題是「UNEXPECTED」，要求參賽者製作意想不到的子遊戲。 要求對應Minetest版本為5.8.0\n由社群和評審群投票，按照玩法、創意、內容、主題，四個面向去評分。\n扣分項：安裝過程太複雜、沒有公開Git儲存庫、使用非自由授權的素材\n最終取前三名，第一名發給150美元，第二名100美元，第三名50美元\n得獎的遊戲會放在ContentDB首頁推廣。\n更特別的是，今年還多了Pine Hosting的贊助，得獎者可以分別獲得三個月、二個月、一個月的免費Minetest伺服器託管。\n1. 本次參賽作品一覽 # 這次因為有限定主題，參賽作品比較少，但竟然還是有人做了來亂的作品。\nContentDB含有Jam / Game 2023標籤的即為本年度參賽作品。\nmineos # ContentDB 將Minetest類比為Windows 98的作業系統，太神啦。我個人覺得這是做得最好的子遊戲。\n內建Lua虛擬機、Minetest版的Doom（裡面有上古時代Minetest被移除怪物的彩蛋XD）、踩地雷小遊戲。證實Minetest真的可以變成各式各樣的遊戲。\nThe Velvet Crystal # ContentDB ","title":"意想不到的展開，2023年Minetest Game Jam結果出爐","type":"luanti"},{"content":" Android開源APP「簡易相簿」自砸招牌，請改用替代品「Fossify Gallery」。\nAndroid系統上最受歡迎的一個第三方相簿APP「簡易相簿」被賣掉了，幾個月前Reddit開源社群瘋傳的事件。私以為嚴重性不亞於當年獵豹移動買下「快圖瀏覽」。\n是時候找簡易相簿的替代品了。\n因為我每天都有在用這款相簿APP，它可以說是Android眾多相簿APP中的一款清流了，所以我認為有必要這件事告訴大家。\n順便介紹以「Fossfiy」為名的開源APP家族。\n事由 # 「Simple Mobile Tools」是斯洛伐克開發者Tibor Kaputa製作的一套手機APP，特色是功能簡潔、無廣告、開放原始碼。這些APP在F-Droid免費下載；Play商店部分需要付費。\n其中的簡易相簿(简单图库，Simple Gallery)更是一款小巧好用的相簿APP，它支援以資料夾模式讀取手機照片，還有簡單的編輯工具，載入速度很快。打從2016年出現以來便受到全球用戶的歡迎，Google Play下載突破1000萬次。 小八卦，2023年Tibor Kaputa跟某公司合作出了貼牌手機「Simple Phone」，內建Simple Mobile Tools全家桶。 可惜開發者熱情地維護了幾年後，就把自己的APP賣掉了。\n2023年11月，簡易相簿被一家名為ZipoApps的公司收購，廣告開始塞好塞滿，還搞超貴的訂閱制！\n受影響的APP還有相關的「Simple Mobile Tools」系列APP，包含：簡易手電筒、簡易簡訊、簡易行事曆、簡易繪圖、簡易音樂播放器、簡易電話、簡易通訊錄、簡易檔案管理器、簡易應用程式啟動器、簡易時鐘、簡易鍵盤、簡易計算機、簡易相機等等。\n根據外國鄉民的觀察，ZipoApps收購後便在APP裡面放了一堆廣告和追蹤器，讓簡易相簿徹底變質 == 如果使用者沒有收到通知便更新，他們手機裡等同無形中多了好幾個Adware。 買斷APP？不存在的，簡易相簿免費版內的「Premium版」功能一個禮拜要價450台幣？ Google Play上的「簡易相簿Pro」不知道什麼時候會遭到毒手\u0026hellip;\n網友認為此事讓人惱怒之處在於，作者並沒有事先告知這樁收購案，是社群成員在Github詢問，作者才出來確認說他把APP賣了。 我可以理解作者也是要吃飯才做出這個決定，我不反對收費APP，但這卻是作者自砸招牌了，開源APP突然變成Adware，不能接受。\n簡易相簿APP替代品 # 所幸Simple Mobile Tools被收購後，立即有人fork程式碼，另立「Fossify」的專案延續開源精神，圖示從橘色變綠色。 Fossify專案由原本的Simple Mobile Tools程式碼貢獻者主導開發，他們已經將Tibor Kaputa開發的APP慢慢移植過去，包括電話、簡訊、筆記、錄音機、啟動器、月曆、檔案管理器等等。\n當然還包含這裡要說的「Fossify Gallery」圖庫APP。\nFossify Gallery在繼承了原本Simple Gallery的功能上繼續開發，現在功能有：簡單編輯相片、批次刪除EXIF、資料夾模式檢視照片、排除特定資料夾、瀑布流模式檢視照片、設定相簿封面、設定相簿密碼、回收桶。 建議喜歡簡易相簿的改用這個，Fossify Gallery可作為簡易相簿的替代品。你不需要破解簡易相簿也能獲得功能一模一樣的APP。\n請到F-Droid或者Google Play下載Fossify Gallery。可以的話請donate一下辛苦的開發者。\n","date":"2024年1月24日","externalUrl":null,"permalink":"/posts/replace-simple-gallery-with-fossify-gallery/","section":"所有文章","summary":" Android開源APP「簡易相簿」自砸招牌，請改用替代品「Fossify Gallery」。\nAndroid系統上最受歡迎的一個第三方相簿APP「簡易相簿」被賣掉了，幾個月前Reddit開源社群瘋傳的事件。私以為嚴重性不亞於當年獵豹移動買下「快圖瀏覽」。\n是時候找簡易相簿的替代品了。\n因為我每天都有在用這款相簿APP，它可以說是Android眾多相簿APP中的一款清流了，所以我認為有必要這件事告訴大家。\n順便介紹以「Fossfiy」為名的開源APP家族。\n事由 # 「Simple Mobile Tools」是斯洛伐克開發者Tibor Kaputa製作的一套手機APP，特色是功能簡潔、無廣告、開放原始碼。這些APP在F-Droid免費下載；Play商店部分需要付費。\n其中的簡易相簿(简单图库，Simple Gallery)更是一款小巧好用的相簿APP，它支援以資料夾模式讀取手機照片，還有簡單的編輯工具，載入速度很快。打從2016年出現以來便受到全球用戶的歡迎，Google Play下載突破1000萬次。 小八卦，2023年Tibor Kaputa跟某公司合作出了貼牌手機「Simple Phone」，內建Simple Mobile Tools全家桶。 ","title":"簡易相簿 \u0026 快圖瀏覽開源替代品：Fossify Gallery圖庫APP","type":"posts"},{"content":"覺得靜態網站的文章難以管理嗎？\n希望有個漂亮的前端編輯器輔助寫作嗎？\n使用「Front Matter」就對了。\n記錄設定vscode-front-matter的過程，最後分享設定好之後的發文流程，展示操作簡化後的威力。\n1. Front Matter特色功能 # Elio Struyf開發的「Front Matter」是一款為靜態網站設計的CMS(內容管理系統)，本體作為Visual Studio Code延伸模組提供。 Front Matter設計十分靈活，支援多種靜態網頁框架：Hugo、Jekyll、Hexo、NextJS、Gatsby、Astro。\n本文以Hugo為例子。我們知道靜態網站生成器因為都是目錄與檔案組成，使用者常常需要打指令，或是直接編輯markdown檔案的方式來寫作，這對geek來說不是難事，但對使用過CMS界面（例如WordPress）網站的用戶難免會覺得麻煩。\n如果有一款GUI的工具，或者Front-end可以編輯Hugo網站就好了哪。\n此時只要裝上Front Matter，你的靜態網站寫作就會輕鬆許多。Front Matter讓你的網站好像有了個WordPress的後台管理界面一樣，搭配VSCode超強的文字編輯器功能，點幾個按鈕就能完成新增文章、預覽網站、部署網站等等操作。 Front Matter特色就是圖形化，它會讀取你現有網站的文章、圖片、標籤、分類，清楚的列在面板上；使用者能用所見即所得的Markdown編輯器寫文章，以及用漂亮的界面批次管理分類、標籤。 Frotn Matter還會嘗試給一些SEO的建議，甚至讓你調用AI寫文章。 吐槽一下：「Front Matter」，作者取這什麼爛名字，搜尋如果不特別標注的話都會找到Markdown的資料== 黑暗執行緒也認為取名不利於SEO。\n為了清楚指代，我比較喜歡把這套工具稱為vscode-front-matter\n當我講Front Matter的時候指的是vscode-front-matter；若為小寫front matter指的是Markdown檔案附帶的front matter。\n2. 你應該使用Front Matter CMS的理由 # Hugo雖然是靜態網站框架，不過它也可以透過加裝外部CMS的方式，使其變成具有後台管理界面的線上網站。\n我這篇文章講的主要是本機開發的使用情境，也就是在自己的電腦安裝VS Code搭配Front Matter CMS，編輯Hugo網站的文章。\n那麼，如果說想要遠端開發網站呢？要是將網頁版VS Code code-server部署到VPS，再於裡面安裝Front Matter CMS，就能擁有一款類似WordPress後台的網站編輯器，隨時能夠使用公開網域連上去編輯，有一個美觀的界面能撰寫文章。我們就不用盯著一個個Markdown文件打字了。並且這裡能夠使用終端機，可以說，所有的網站管理操作透過code-server + Front Matter就能完成。\n個人使用Front Matter的理由？我自己想要使用CMS的原因是Hugo摸得夠久了，大致知道網站背後生成邏輯為何。\n從2022年經營網站以來，我的寫文章作法都是開KDE Dolphin進入目錄，新增目錄，新增markdown（或者複製範本檔），然後開啟KDE Kate寫作，插入圖片還要手動複製圖片路徑，就這樣寫了700篇以上。需要批次操作的時候，就用Linux指令搜尋、刪改，把網站當硬碟檔案整理一般，再打指令部署。\n現在我網站的文章太多難以管理，所以需要輕鬆一點的圖形化界面。起碼可以減少手動新增檔案的步驟，多專注在寫文章上面。\n但這裡我必須告訴你一點：你得真的經營過Hugo網站好一陣子才適合用Front Matter來管理你的網站，因為沒人知道你的主題結構長怎樣，Front Matter雖然盡量做到開箱即用，但你仍必須按照自己的Hugo工作流，把它調整到適合你網站的樣子。\n3. 安裝vscode-front-matter # 安裝VS Code\n安裝Hugo和Git，建立Hugo網站根目錄\n開啟VS Code，點選檔案 → 開啟資料夾，開啟Hugo網站的根目錄資料夾\n到VS Code的延伸模組市集，下載安裝vscode-front-matter\n點選VS Code左方的FM面板，點選INITIALIZE PROJECT FRAMEWORK PRESETS框架選取hugo。REGISTER CONTENT FOLDERS就是文章目錄，請選取Hugo網站的根目錄資料夾下的content，例如我是content.zh-tw和content.en-us 點選IMPORT ALL TAGS AND CATEGORIES，匯入分類和標籤 4. 建立Front Matter設定檔 # 參考官方文件\n注意每個Hugo主題的設計不同，你要按照個人情況做調整。撰文當下我使用Hugo Blowfish主題。\n在選取Hugo網站根目錄後，Front Matter會在該目錄建立.vscode和.frontmatter目錄，還有frontmatter.json檔案。\n我們將設定檔放到frontmatter.json，不要動VS Code的全域setting.json設定。這樣的話Front Matter的設定就只有開Hugo網站目錄的時候才生效。\n開啟frontmatter.json，填入以下內容\n設定網站本機預覽網址和實際預覽網址，還有hugo server的指令\n\u0026#34;frontMatter.preview.host\u0026#34;: \u0026#34;http://localhost:1313\u0026#34;, \u0026#34;frontMatter.site.baseURL\u0026#34;: \u0026#34;https://ivonblog.com\u0026#34;, \u0026#34;frontMatter.framework.startCommand \u0026#34;: \u0026#34;hugo server\u0026#34; 我的文章都是以Page Bundle發表，在frontMatter.taxonomy.contentTypes設定新文章預設包含的front matter欄位如下。這也是日後在新增文章的時候會預先填好的欄位。\n\u0026#34;frontMatter.taxonomy.contentTypes\u0026#34;: [ { \u0026#34;name\u0026#34;: \u0026#34;default\u0026#34;, \u0026#34;previewPath\u0026#34;: null, // 啟用Page Bundle \u0026#34;pageBundle\u0026#34;: true, // 預設新文章目錄名，留空，目錄就會直接使用標題當名稱 \u0026#34;filePrefix\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;fields\u0026#34;: [ { \u0026#34;title\u0026#34;: \u0026#34;標題\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;title\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, { \u0026#34;title\u0026#34;: \u0026#34;發布日期\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;date\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;datetime\u0026#34;, \u0026#34;default\u0026#34;: \u0026#34;{{now}}\u0026#34;, \u0026#34;isPublishDate\u0026#34;: true }, { \u0026#34;title\u0026#34;: \u0026#34;是否為草稿\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;draft\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;draft\u0026#34; }, { \u0026#34;title\u0026#34;: \u0026#34;分類\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;categories\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;categories\u0026#34; }, { \u0026#34;title\u0026#34;: \u0026#34;標籤\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;tags\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;tags\u0026#34; }, { \u0026#34;title\u0026#34;: \u0026#34;預覽圖\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;preview\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;image\u0026#34; } ] } ] 上面已經定義好新文章的欄位，所以我不需要使用templates功能（且使用範本反而會讓我無法新增文章）\n指定文章front matter採用YAML格式\n\u0026#34;frontMatter.taxonomy.frontMatterType\u0026#34;: \u0026#34;YAML\u0026#34; 指定時間格式\n\u0026#34;frontMatter.taxonomy.dateFormat\u0026#34;: \u0026#34;yyyy-MM-dd\u0026#39;T\u0026#39;HH:mm:ssxxx\u0026#34; content.zh-tw下面還有不同的section，使用frontMatter.content.pageFolders個別指定其路徑\n\u0026#34;frontMatter.content.pageFolders\u0026#34;: [ { \u0026#34;title\u0026#34;: \u0026#34;posts\u0026#34;, \u0026#34;path\u0026#34;: \u0026#34;[[workspace]]/content.zh-tw/posts\u0026#34; }, { \u0026#34;title\u0026#34;: \u0026#34;artworks\u0026#34;, \u0026#34;path\u0026#34;: \u0026#34;[[workspace]]/content.zh-tw/artworks\u0026#34; } ] 5. 將Shortcode轉成Snippet # 貼Youtube連結為了避免跑版都有用shortcode處理CSS，但是這個程式碼有點冗長。\nFront Matter可以讓你把Shortcode變成圖形選單，這樣日後就可以用圖形化方式插入shortcode程式碼。\n例如我有一個shorcode位於Hugo網站根目錄/layouts/shortcodes/embedded-youtube.html\n文章內插入的語法是（這裡前後要再補一個大括號）\n{\u0026lt; embedded-youtube \u0026#34;網址\u0026#34;\u0026gt; } 於是就在frontmatter.json新增以下段落\n// Shortcode程式碼 \u0026#34;frontMatter.content.snippets\u0026#34;: { // embedded-youtube按鈕 \u0026#34;embedded-youtube\u0026#34;: { \u0026#34;description\u0026#34;: \u0026#34;插入Youtube影片\u0026#34;, \u0026#34;body\u0026#34;: [ \u0026#34;{\u0026lt; embedded-youtube [[videourl]] \u0026gt;}\u0026#34; ], \u0026#34;fields\u0026#34;: [ { \u0026#34;name\u0026#34;: \u0026#34;videourl\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;影片網址\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34;, \u0026#34;default\u0026#34;: \u0026#34;\u0026#34; } ] } }, // 關閉Snippet的註解 \u0026#34;frontMatter.snippets.wrapper.enabled\u0026#34;: false 這樣Dashboard的Snippets頁面就會出現embedded-youtube按鈕，點選填入網址就會插入Shortcode到文章內。 6. 一切就緒後的發文操作流程 # 開啟VSCode，開啟Hugo根目錄資料夾\n切換到Front Matter頁面，點選Create Content，選取要使用的section，輸入檔名 這樣Page Bundle目錄和新文章index.md就自動建好了。\n插入圖片點一下右上角的按鈕，Front Matter會自動定位到Page Bundle所在的目錄，讓我直接選取圖片素材插入 嫌編輯器界面不夠優雅的，點選左下角的Enable writing settings會讓行距暫時變好看一點。\nFront Matter列表的縮圖要手動指定才會顯示。仿造Blowfish主題的習慣，將Page Bundle目錄下與index.md在同一階層的feature.webp設定為文章縮圖。\n在Dashbaord點選Start Server啟動Hugo伺服器，開啟瀏覽器預覽。\n關於部署網站的部份，因為我有準備一個指令稿做Git推送動作，所以我沒有啟用Front Matter的Git整合功能。\n7. 遠端VSCode使用Front Matter # Front Matter的侷限在於，它只能跑在本機，遠端開發支援度不佳，更別說部署到雲端平台線上編輯了。\n如何透過瀏覽器使用Front Matter？如果用code-server的話，Front Matter無法在瀏覽器內的VS Code運作。\n可能得連線到電腦遠端桌面，執行遠端的VSCode主程式，才能正常使用Front Matter。\n","date":"2024年1月23日","externalUrl":null,"permalink":"/posts/vscode-front-matter-cms/","section":"所有文章","summary":"覺得靜態網站的文章難以管理嗎？\n希望有個漂亮的前端編輯器輔助寫作嗎？\n使用「Front Matter」就對了。\n記錄設定vscode-front-matter的過程，最後分享設定好之後的發文流程，展示操作簡化後的威力。\n1. Front Matter特色功能 # Elio Struyf開發的「Front Matter」是一款為靜態網站設計的CMS(內容管理系統)，本體作為Visual Studio Code延伸模組提供。 Front Matter設計十分靈活，支援多種靜態網頁框架：Hugo、Jekyll、Hexo、NextJS、Gatsby、Astro。\n本文以Hugo為例子。我們知道靜態網站生成器因為都是目錄與檔案組成，使用者常常需要打指令，或是直接編輯markdown檔案的方式來寫作，這對geek來說不是難事，但對使用過CMS界面（例如WordPress）網站的用戶難免會覺得麻煩。\n如果有一款GUI的工具，或者Front-end可以編輯Hugo網站就好了哪。\n此時只要裝上Front Matter，你的靜態網站寫作就會輕鬆許多。Front Matter讓你的網站好像有了個WordPress的後台管理界面一樣，搭配VSCode超強的文字編輯器功能，點幾個按鈕就能完成新增文章、預覽網站、部署網站等等操作。 ","title":"VSCode ＋ Front Matter CMS，打造Hugo靜態網站管理後台","type":"posts"},{"content":"本文列出Ivon在設定Flatpak版Visual Studio Code (VS Code) 過程遇到的一些眉角。\n為何要安裝Flatpak版的Visual Studio Code？\nFlatpak是一種Linux容器技術，將所有依賴項目打包在一起，將程式runtime與系統隔離。很多immutable distro都有採用Flatpak技術，例如Fedora Silverblue、openSUSE MicroOS、Endless OS、Vanilla OS、Steam OS 3.0 (Steam Deck)。\n對這類發行版的用戶來說，既然不方便變更系統，那麼透過Flatpak安裝Visual Studio Code便是一個選項。\n但是Flatpak的沙盒機制會對身為小型IDE的Visual Studio Code造成困擾，得要自行找解方。\n測試系統：Ubuntu 22.04 LTS Visual Studio Code版本：1.85.1 警告：Flatpak版Visual Studio Code不受Microsoft官方支援。如果你想要在Linux無痛使用VSCode建議還是優先裝官方發表的deb版。\nFlatpak版Visual Studio Code目前由網路社群打包，相關Issue請優先到Github儲存庫回報。 Flatpak版的Visual Studio Code可用以下指令安裝：\nflatpak --user install flathub com.visualstudio.code Flatpak版Visual Studio Code程式的資料會放在~/.var/app/com.visualstudio.code/，請不要賦予家目錄的全部讀取權限，避免混亂。\n1. 一些重要設定 # 首先，開放Visual Studio Code存取其他硬碟的路徑，例如/run/media/user/SSD2\nflatpak override --filesystem=\u0026#34;/run/media/user/SSD2\u0026#34; com.visualstudio.code 我使用KDE桌面，但Microsoft無法同步帳號設定，要開放dbus session，讓Visual Studio Code可以讀取KWallet儲存密碼：\nflatpak --user override--talk-name=org.kde.KWallet.* com.visualstudio.code flatpak --user override --talk-name=org.kde.kwalletd5com.visualstudio.code GNOME的話請嘗試在argv.json加入\u0026quot;password-store\u0026quot;: \u0026quot;gnome-libsecret\u0026quot;。\n若要讓Visual Studio Code使用Linux系統的終端機，按Ctrl＋Shift＋P，開啟使用者設定，開啟settings.json，填入host-spawn指令，讓Visual Studio Code能啟動bash和使用sudo。\n{ \u0026#34;terminal.integrated.defaultProfile.linux\u0026#34;: \u0026#34;bash\u0026#34;, \u0026#34;terminal.integrated.profiles.linux\u0026#34;: { \u0026#34;bash\u0026#34;: { \u0026#34;path\u0026#34;: \u0026#34;host-spawn\u0026#34;, \u0026#34;args\u0026#34;: [\u0026#34;bash\u0026#34;] } } } 如果要以純Wayland模式啟動Visual Studio Code，編輯desktop檔案~/.local/share/flatpak/app/com.visualstudio.code/current/active/export/share/applications/com.visualstudio.code.desktop，在Exec=加入以下引數：\nExec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=code --file-forwarding com.visualstudio.code --reuse-window @@ %F @@ --enable-features=UseOzonePlatform --ozone-platform=wayland 終端機字體如果怪怪的，用fontconfig解決。\n2. 開發程式語言的runtime問題 # 若要開發C、Go、NodeJS、Java、C++之類的程式，Flatpak可能讀不到Linux系統所安裝的runtime。這時得從Flatpak套件庫裝Freedesktop.org的擴充套件，再將其啟用。\n進入Visual Studio Code容器內部的bash flatpak run --command=sh com.visualstudio.code 查看內建的runtime # shared runtime ls /usr/bin # bundled with this flatpak ls /app/bin 安裝對應程式語言的擴充套件，通常是org.freedesktop.Sdk.Extension開頭。用flatpak search搜尋更多程式語言套件。 # C/C++ flatpak install org.freedesktop.Sdk.Extension.llvm14 # Rust flatpak install org.freedesktop.Sdk.Extension.rust-stable # .Net Framework flatpak install flathub org.freedesktop.Sdk.Extension.dotnet # Golang flatpak install flathub org.freedesktop.Sdk.Extension.golang # NodeJS flatpak install flathub org.freedesktop.Sdk.Extension.node18 # OpenJDK flatpak install flathub org.freedesktop.Sdk.Extension.openjdk17 裝好後，要為Visual Studio Code啟用指定的Extension，例如NodeJS 18，或用*啟用全部Extension # 僅啟用node18 flatpak --user override --env=FLATPAK_ENABLE_SDK_EXT=node18 com.visualstudio.code # 全部啟用 flatpak --user override --env=FLATPAK_ENABLE_SDK_EXT=* com.visualstudio.code 再將Flatpak內部的路徑加到PATH，比如這裡把Flatpak Bundle的NodeJS 18加進去 echo \u0026#34;PATH=$PATH:/home/user/.local/share/flatpak/runtime/org.freedesktop.Sdk.Extension.node18/x86_64/23.08/active/files/bin/\u0026#34; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 有些程式工具寫死只能讀取系統的執行檔，或可嘗試用flatpak override開放讀取權限。 flatpak override --filesystem=/usr/bin/clang com.visualstudio.code 3. 連接至KVM虛擬機的問題 # 賦予讀取kvm device的權限即可\nsudo flatpak override --device=kvm com.visualstudio.code flatpak override --user --device=kvm com.visualstudio.code 4. 連接Docker容器的問題 # 如果要搭配延伸模組ms-azuretools.vscode-docker，連接到本機Docker容器，啟用以下設定讓Flatpak存取Docker的socket：\nsudo flatpak override --filesystem=/run/docker.sock com.visualstudio.code flatpak override --user --filesystem=/run/docker.sock com.visualstudio.code 使用Podman的話則開放Podman的socket\nflatpak override --user --filesystem=xdg-run/podman com.visualstudio.code 再於settings.json指定Docker的路徑\n{ \u0026#34;docker.dockerPath\u0026#34;: \u0026#34;/run/host/usr/bin/docker\u0026#34; } Podman的路徑：\n{ \u0026#34;docker.dockerPath\u0026#34;: \u0026#34;/app/tools/podman/bin/podman-remote\u0026#34; } 參考資料 # Syncing issues · Issue #350 · flathub/com.visualstudio.code You\u0026rsquo;re running in a KDE environment but the OS keyring is not available for encryption. Ensure you have kwallet running. · Issue #189672 · microsoft/vscode Unable to use the docker extension · Issue #55 · flathub/com.visualstudio.code Dart extension failed to detect KVM · Issue #51 · flathub/com.visualstudio.code Problem with vscode : r/flatpak How to run VS Code Flatpak with a Toolbox container with code completion - Hack \u0026amp; Slash ","date":"2024年1月22日","externalUrl":null,"permalink":"/posts/visual-studio-code-flatpak/","section":"所有文章","summary":"本文列出Ivon在設定Flatpak版Visual Studio Code (VS Code) 過程遇到的一些眉角。\n為何要安裝Flatpak版的Visual Studio Code？\nFlatpak是一種Linux容器技術，將所有依賴項目打包在一起，將程式runtime與系統隔離。很多immutable distro都有採用Flatpak技術，例如Fedora Silverblue、openSUSE MicroOS、Endless OS、Vanilla OS、Steam OS 3.0 (Steam Deck)。\n對這類發行版的用戶來說，既然不方便變更系統，那麼透過Flatpak安裝Visual Studio Code便是一個選項。\n但是Flatpak的沙盒機制會對身為小型IDE的Visual Studio Code造成困擾，得要自行找解方。\n測試系統：Ubuntu 22.04 LTS Visual Studio Code版本：1.85.1 警告：Flatpak版Visual Studio Code不受Microsoft官方支援。如果你想要在Linux無痛使用VSCode建議還是優先裝官方發表的deb版。\nFlatpak版Visual Studio Code目前由網路社群打包，相關Issue請優先到Github儲存庫回報。 Flatpak版的Visual Studio Code可用以下指令安裝：\nflatpak --user install flathub com.visualstudio.code Flatpak版Visual Studio Code程式的資料會放在~/.var/app/com.visualstudio.code/，請不要賦予家目錄的全部讀取權限，避免混亂。\n","title":"Flatpak版Linux Visual Studio Code安裝筆記","type":"posts"},{"content":" 有時候會在網路論壇看到知名動漫的改圖，修圖為裸體，並且逐漸成為一種地下趨勢，那麼這種媒體形式叫做什麼呢？ 此圖出自《漫研社》動畫第二季第6話\n剥ぎコラ，唸做ha-gi-ko-ra，是指把動漫圖片修圖成裸體露點的媒體形式。\n不論是動畫漫畫遊戲，還是Vtuber角色，都可能遭到改圖。\n比如修改動畫畫面，圖為《輝夜姬想讓人告白》（請拖動圖中間的拉桿檢視） 或者修改FGO遊戲卡面，達到裸體效果。\n此文章說明各語言剥ぎコラ的講法，提供圖例，介紹剥ぎコラ的著名修圖作者，以及示範如何簡單做出剥ぎコラ的作品。\n1. 剥ぎコラ各種語言的說法 # 根據NicoNico大百科對「剥ぎコラ」的解釋：\n「剥ぎコラ」是將技術交給變態的結果。看到動漫性感鏡頭的時候，像是「角色的泳衣真礙眼……」、「浴巾真礙眼……」、「衣服真礙眼……」這樣想法應該都有出現過吧。\n以神秘的技術，將這些障礙夢幻般吹走的影片被稱為「剥ぎコラ」。\n因為被針對刪除的風險很高，NicoNico動畫露出女性乳頭的部份基本上是隱藏的。但除此之外，角色卻常常露出非常健康的膚色。真是沒道理。\n本來應該是這樣的才對，但不知為什麼，這種影片下面滿是感謝的評論。\n順便說一句，男性角色的衣服也是常常被平等地吹走的喔。\n剥ぎコラ在日文常跟アニメ、公式絵的標籤組合在一起，因為多半是從現有動漫媒體所改圖而來，Pixiv、ニコニコ静画常用。此外還有脱衣シーン、ヌードフィルター、裸コラ的說法。\n但是要注意的是，不是所有裸體圖都是剥ぎコラ，要多看動畫版權圖繪的畫風，鍛鍊出火眼金睛，才能分辨「這是改圖」或者「這張圖是二創，本來就裸體的」圖片。\n剥ぎコラ的中文直譯是剝衣服、脫衣，目前尚未發現中文的常用說法，網友多半將其當成一種「P圖」、「修圖」、「改圖」看待。PTT有人曾經提出奶圖，巴哈姆特有剝皮的說法，然而這會跟貼巨乳圖串的貼文搞混，所以奶圖的說法仍不足以描述剥ぎコラ這種媒體形式。\n這邊提一下中文圈的有趣文化：Komica島民利用貼圖板的縮圖機制，配合APNG格式的特性，製造出「陷阱圖片」：縮圖看起來是正常動漫圖，點開來卻是露點的版本，可是下載圖片又會變回正常版。 在英文中，Gelbooru把剥ぎコラ的媒體形式命名為nude filter或nude edit，意為裸體濾鏡，還有stripped-off的說法。\nE-hentai用redraw當標籤，但這容易跟網友的二創(彩色化、去碼)混淆。\nRedidit有使用直接音譯hagikora的，尤以Hololive的裸體改圖最為常見。比較含糊的說法是photoshopped images。\n至此，你應該知道搜尋時關鍵字該怎麼下了。\n2. 剥ぎコラ的表現方式 # 所謂改成裸體圖，就是將動漫角色的衣服全部剝光，並露三點，不論男女(男性的剥ぎコラ確實比較少)。這牽涉到作者的修圖技巧，因為將衣服修掉之後，空白的線條要自行重繪，要揣摩原作的上色風格。尤其乳頭的色澤、陰部表現，要如何畫的夠誘人，是十分考驗經驗的。\n良好的範例 # 這邊的例圖讓人體會高水準的剥ぎコラ是怎麼樣的情況。圖片都為匿名網友製作，抱歉無法一一標出作者。\n熟練的修圖者或許不需要繪圖板，而依賴鋼筆工具就能完成目標，即使是全身包緊緊照樣剝光，色調、筆觸完全模仿原作，就像原畫一般。其是是很考驗修圖功夫的。\n最常見的改圖便是從官方立繪下手，只要符合原作畫風的改圖，就是好作品。\n《不當哥哥了》 《我推的孩子》 《公司的小小前輩》 《新世紀福音戰士》 抱枕類的圖，是最好下手的目標。比如《果然我的青春戀愛喜劇搞錯了》 這張《強襲魔女》的改圖很棒，彷彿原作就是這樣畫的。 《魔法少女☆伊莉雅2wei!》 露維亞的身材完美展示。小聲的說，其實也有很多伊莉雅的平胸類改圖。 畫風完全符合《無限斯特拉托斯》的改圖，超級讚的。（作者：うさ焼きそば🔞コラ職人見習い） 下面這幾張改圖品質已經可以當桌布了。\n《少女與戰車》 《不起眼女主角培育法》 《辣妹與我的第一次》 《甘城輝煌樂園救世主》 《請問您今天要來點兔子嗎？》 《迷茫管家與膽怯的我》 《歡迎來到實力至上主義的教室》 這張《約會大作戰》的狂三，剝掉之後反而沒那麼色了？ 針對遊戲卡面的改圖也是層出不窮，例如《Fate Grand Order》的騎士王。 《偶像大師》 MiAnDoDi所製作的Hololive Vtuber白銀ノエル的全身改圖，配合Live2D技術應該能當素材了吧。另外Gura的全身圖也改的不錯。 更厲害的是改造動畫～不只要修圖還要重新編排影片，非常耗費時間。\n這張《Fate/Grand Order》2017年賽車活動官方CM的剥ぎコラ。作者杏仁豆腐完全抓到了粉絲幻想的賴光乳房的樣式，跟後面的玄奘三藏的巨乳搖相輝映。更別提這是影片版改圖，看Twitter完整版晃動效果更佳。 再來是《輝夜姬想讓人告白》的藤原千花。在第二季OVA的澡堂畫面，幾乎是快露點的等級，所以偉大的網路修圖者就馬上生了無碼版出來，還有影片版。看那巨乳的晃動就值得了。 s10collage是製作多部表番動畫的改圖優質作者。\n《火影忍者》 《炎炎消防隊》 《New Game!》 《如果有妹妹就好了》 不良的範例 # 相較之下，新手修圖者可能會從泳裝類的圖繪開始，因為要修的地方比較少，只要專注在令人感性趣的部位即可，考驗畫工的乳頭部分或許會直接拼貼其他圖的素材交差，所以有些剥ぎコラ的圖片品質不太好\n例如下面這張學園默示錄的乳頭就很突兀。 乳頭光影處理不好的例子。 這張碧藍航線的乳頭手繪感太重，畫風不符合原作。 這張的陰部處理有點隨便，一條線畫過去而已。 長瀞同學這張則是反映了一個常見的問題：部份修圖者對人體沒概念可能會亂畫乳頭位置。單純沿著衣物邊緣來畫，不考慮真正脫掉後乳房下垂的情況。 要學習這張少女與戰車的作者，剝掉泳衣後有考慮乳房跑步晃動的樣子，而稍作調整乳房的位置。 不過，新手想製作剥ぎコラ也不用太灰心，近年來有「AI剥ぎコラ」AI自動脫衣、去馬賽克的技術出現，如Stable Diffusion的Inpaint功能和DeepCreamPy，可以用AI自動填滿色色的內容。餵給機器學習大量資料後，要重現畫風也不是難事。\n下圖是4chan匿名網友的Stable Diffusion脫衣示範圖，他是去掉馬賽克再由AI重繪陰部。 剥ぎコラ十分依賴修圖者的功力，人的審美還是需要依賴手工矯正。好的剥ぎコラ看起來就像原創，壞的剥ぎコラ容易讓人覺得是在畫國小課本的等級。\n這張墮姬倒真的是初◯生的改圖呢wwwww 3. 剥ぎコラ的種類與知名作者 # 常見的修圖對象 # 剥ぎコラ的作者通常比較喜歡改「官方版權圖繪」或海報、漫畫、動畫，藉此製造背德感 此外有些改圖不只是變成裸體，還會添加孕肚、紋身、凹陷乳頭、保險套等元素符合作者的個人喜好。\n少數人會去改露的不夠多的二創動漫圖，下圖是修圖者修改繪師珍緑的圖，使其符合性癖的孕肚修圖，技術還不錯，將原本就很色的圖變得更色了。 還有這張是網友修改繪師garana的圖而來。 還需要你改圖？繪師畫正常的圖然後露點版放Fanbox不是常識嘛 大致上，剥ぎコラ的媒體類型可以分為圖片類和影片類。\n圖片類 # 圖片的部分，素材可以是動畫中的某一畫格，或者是卡牌遊戲的卡面，或官方釋出的海報。這些資源在yandere這類圖站、遊戲Wiki網站皆能輕鬆找到高畫質的拆包、掃描版本。\n例如能夠下載FGO立繪的Fandom:\n在取得高畫質的原始影像後，剥ぎコラ修圖者會使用修圖軟體增加圖層，用選取工具畫出修改地方的輪廓，接著將之填充成單一底色，再來仿造原始畫風，將裸體的部分重新繪製。順帶一提如果在存檔的時候修圖者採用PNG，就有可能透過第三方軟體看到修圖前沒刪乾淨的透明圖層。\n上面那張FGO阿爾托莉亞剛好有人改過，如圖所示，修圖者根本不用修太多圖，直接把乳頭拼在下半球就行了。\n因為門檻低，圖片版剥ぎコラ眾多，素質參差不齊。品質較佳的作者有：\n製作Hololive Vtuber的MiAnDoDi@MiAnDoDi_ 各式動漫的ファルな工房@workshop_fal 到處蒐羅整理的剥ぎコラ大全 影片類 # 影片類的難度更高，或許因為門檻緣故，有能力製作影片版剥ぎコラ作者呈現的都是高水準的作品。\n除了圖像方面的處理步驟外，還要具備繪製動畫的分鏡概念。製作不到30秒的影片就要耗費許多時間，所以不得不佩服一人動畫師的努力，有些可能還會開Patreon拉贊助。\n像是杏仁豆腐在【剥ぎコラ作成動画】分享修圖的過程：\n影片類的作者請看：\n製作過火影忍者、海賊王、妖精尾巴、神奇寶貝、死神動畫露點的s10collage - エロ剥ぎコラ好きの制作ブログ(仮) 專門修改FGO活動廣告的杏仁豆腐@an_nin_doufu 修改過多部動畫OP的え～た（η) 4. 如何製作剥ぎコラ改圖 # 參見手動與AI製作剥ぎコラ\n","date":"2024年1月21日","externalUrl":null,"permalink":"/posts/hagikora-introduction/","section":"Nsfws","summary":" 有時候會在網路論壇看到知名動漫的改圖，修圖為裸體，並且逐漸成為一種地下趨勢，那麼這種媒體形式叫做什麼呢？ 此圖出自《漫研社》動畫第二季第6話\n剥ぎコラ，唸做ha-gi-ko-ra，是指把動漫圖片修圖成裸體露點的媒體形式。\n不論是動畫漫畫遊戲，還是Vtuber角色，都可能遭到改圖。\n比如修改動畫畫面，圖為《輝夜姬想讓人告白》（請拖動圖中間的拉桿檢視） 或者修改FGO遊戲卡面，達到裸體效果。\n此文章說明各語言剥ぎコラ的講法，提供圖例，介紹剥ぎコラ的著名修圖作者，以及示範如何簡單做出剥ぎコラ的作品。\n","title":"「剥ぎコラ」意味介紹，將動漫角色脫衣服露點的色色改圖","type":"nsfw"},{"content":"","date":"2024年1月21日","externalUrl":null,"permalink":"/tags/hagikora/","section":"標籤","summary":"","title":"Hagikora","type":"tags"},{"content":"","date":"2024年1月20日","externalUrl":null,"permalink":"/tags/minetest-game/","section":"標籤","summary":"","title":"Minetest Game","type":"tags"},{"content":"人們常會把Luanti (舊稱Minetest) 當成一款遊戲，但其實並不準確。Minetest Game其實是Luanti的其中一款「子遊戲」。\n下面就來討論什麼是Luanti的「子遊戲」，以及「Minetest Game」的內容。\n如果你是新手，請先看這篇。\n1. 什麼是Luanti的「子遊戲」 # 按照Luanti Wiki的說明，「遊戲」 (game, 舊稱subgame) 是Luanti的核心功能，可以指從Luanti程式主選單啟動的遊戲玩法。\n更通俗的說，「遊戲」就是一堆模組組合在一起，再加上一些檔案訂製規則，從而讓Luanti擁有沙盒、解謎、動作等不同遊戲類型體驗。 Luanti以前內建的遊戲「Minetest Game」就是一款子遊戲，圖示跟Luanti主程式一樣。 此外，ContentDB收錄了許多社群製作的子遊戲，上面有名的子遊戲除了複製Minecraft玩法的VoxeLibre外，還有自創世界觀的《NordCore》、借鑒Subway Surfer元素的《Subway Miner》、在月球生存的《Moontest》等等，都是跟原本沙盒遊戲截然不同的玩法。 感到有點混亂了？英文用「game」來稱呼都會造成混淆了，中文更不好稱呼。所以在談論Minetest的「game」時，我會用「小遊戲/子遊戲」來稱呼。這樣人們會比較能理解我講的是利用Luanti當引擎製作的子遊戲，而非截然不同的另一款程式。\n2. 如何安裝Luanti子遊戲 # 從Luanti的主頁面，點選「內容」→「瀏覽線上內容」，右上角過濾器選擇「遊戲」，下載想要的子遊戲。 或者手動到ContentDB下載子遊戲，解壓縮，放到Luanti遊戲資料路徑下的games目錄。\n遊戲安裝後，會顯示在Luanti主畫面下方，點選切換。 每個子遊戲都可以建立世界，世界的檔案統一放在Luanti遊戲資料路徑下的worlds目錄。然而不同子遊戲的世界不能互通，有些子遊戲沒辦法裝模組。 3. 「Minetest Game」子遊戲的內容 # Luanti本身不也是一款遊戲嗎？否，嚴格說來，Luanti開發者把Luanti程式定位為「遊戲引擎」。\nLuanti is an open source voxel game engine with easy modding and game creation.\n使用者初次安裝Luanti程式玩到的內容，其實是名為Minetest Game的「子遊戲」，英文代號minetest_game，又稱為MTG。\n就跟《VoxeLibre》一樣，《Minetest Game》只是眾多Luanti子遊戲的一種。甚至Minetest Game在Github上還有獨立儲存庫，官方建議在編譯Luanti主程式時把Minetest Game囊括進去。 Luanti在版本5.8.0之後不再內建Minetest Game了，初次開啟是一片空白，使用者得手動到「線上內容」下載子遊戲來玩。 為方便溝通，我使用「Minetest基本遊戲」來稱呼Minetest Game。\n玩家在首頁面點選新增Minetest Game的世界。 有很多地圖產生器可以選擇，還有填寫種子碼的選項。 在進入世界前，左邊的選單有「創造模式」和「啟用傷害」可以選。 那麼這個Minetest基本遊戲的特色是什麼呢？非常簡單，沒有任何生物，只有200種以上的方塊和許多生態系組成的大自然。 因為沒有任何生物，玩家能做的事就是挖礦、蓋房子、種菜。只有跌落、溺水、燒傷的情況下會扣血死亡，除此之外非常和平。\n創造模式下，使用指令/grantme all取得創造權限。 其他Minetest Game玩法，詳細請見Minetest Game遊戲機制。\nMinetest基本遊戲可視為製作其他子遊戲的範本，例如有人把Minetest跟動物模組整合在一起，就變成一款全新的子遊戲了。事實上如果你點選編輯世界模組的頁面，就會發現Minetest Game也是含有自己的一套模組： 另外，我有推薦過Luanti的一些有趣模組，那些都是給Minetest基本遊戲擴充內容用的，其他子遊戲不見得裝的上去。\n關於Minetest基本遊戲是否太簡陋的問題，Luanti Forum已有許多討論。目前官方態度還是維持現狀，雖對新手不友善，可要更多玩法請自行裝模組。\n4. 總結 # Luanti能夠在Minetest基本遊戲上裝模組來擴充玩法。\n或是安裝截然不同的Luanti子遊戲來切換遊戲體驗。\n這二者都是Luanti的核心功能，也是Luanti自由度的象徵。\n","date":"2024年1月20日","externalUrl":null,"permalink":"/posts/what-is-minetest-game/","section":"Luantis","summary":"人們常會把Luanti (舊稱Minetest) 當成一款遊戲，但其實並不準確。Minetest Game其實是Luanti的其中一款「子遊戲」。\n下面就來討論什麼是Luanti的「子遊戲」，以及「Minetest Game」的內容。\n如果你是新手，請先看這篇。\n1. 什麼是Luanti的「子遊戲」 # 按照Luanti Wiki的說明，「遊戲」 (game, 舊稱subgame) 是Luanti的核心功能，可以指從Luanti程式主選單啟動的遊戲玩法。\n更通俗的說，「遊戲」就是一堆模組組合在一起，再加上一些檔案訂製規則，從而讓Luanti擁有沙盒、解謎、動作等不同遊戲類型體驗。 Luanti以前內建的遊戲「Minetest Game」就是一款子遊戲，圖示跟Luanti主程式一樣。 此外，ContentDB收錄了許多社群製作的子遊戲，上面有名的子遊戲除了複製Minecraft玩法的VoxeLibre外，還有自創世界觀的《NordCore》、借鑒Subway Surfer元素的《Subway Miner》、在月球生存的《Moontest》等等，都是跟原本沙盒遊戲截然不同的玩法。 感到有點混亂了？英文用「game」來稱呼都會造成混淆了，中文更不好稱呼。所以在談論Minetest的「game」時，我會用「小遊戲/子遊戲」來稱呼。這樣人們會比較能理解我講的是利用Luanti當引擎製作的子遊戲，而非截然不同的另一款程式。\n2. 如何安裝Luanti子遊戲 # 從Luanti的主頁面，點選「內容」→「瀏覽線上內容」，右上角過濾器選擇「遊戲」，下載想要的子遊戲。 ","title":"什麼是Luanti的「子遊戲」和「基本遊戲」？","type":"luanti"},{"content":"Generating subtitles automatically for videos using Kdenlive + Whisper.\n剪輯影片上字幕是一件累人的事情，好在現在有很多語音轉文字(speech to text)軟體可以幫我們節省大量時間，自動偵測人聲，生成字幕檔，再加到影片。\n開源影片剪輯軟體Kdenlive除了能給影片加字幕以外，其實也有內建語音轉文字，並自動生成srt和字幕軌的功能。使用完全免費。 影片版教學\n目前Kdenlive支援「VOSK」和「OpenAI Whisper」二種模型，本文我要講的是後者。Whisper的語音辨識十分優秀，很多軟體都使用了Whisper技術來生成逐字稿，現在Kdenlive也可以直接調用Whisper來生成字幕，於是乎你就擁有了開源的語音轉字幕＋影片編輯解決方案。\n我自己測試的結果是即使講話中英文夾雜，Whisper也能清楚的分辨出來，斷句準確。啊不過如果講話台灣國語太重可能就沒辦法XD\n另外一個好處是，Whisper在語音辨識的時候不會連網，全部都是本機運算，保障你的隱私。\n本文介紹如何使用Kdenlive搭配語音轉文字服務，讓你剪輯影片更為快速。\n1. 安裝Python與語音轉文字套件 # 需要Kdenlvie版本：25.08.3以上\n語音轉文字技術Linux與Windows皆可使用，詳官方使用手冊：Speech to Text — Kdenlive Manual\n開啟Kdenlive，點選上方設定 → 設定Kdenlive → 語音轉文字。點選「安裝多語言資料」，等待Python依賴套件與模型全部下載完成，大約會佔用10GB空間。\n接著，語音引擎勾選使用Whisper模型。接著下載Whisper的模型，Base是基礎模型，最低2GB VRAM就能跑，Turbo則是需要6GB VRAM。越大的模型越準確但也越吃效能，一不小心可能就會爆VRAM。裝置部份，如果你有Nvidia顯示卡就勾選Nvidia顯示卡，沒有的話就維持CPU計算，但是CPU計算很慢。 2. 自動語音轉字幕 (subtitle) # 這個功能可以偵測選定片段的語音，生成字幕軌。\n點選專案 → 字幕 → 啟用字幕工具，為專案啟用字幕軌 調整時間軸最上方的藍色橫條，畫出要語音辨識的片段 點選字幕軌左邊的魔術棒或者影片按鈕 語言設定自動偵測，每行最大字數建議不要設太高，免得字幕過於擁擠。點選開始生成字幕。 字幕會直接匯入到Kdenlive的軌道。如果生成的字幕不理想，建議改用更大的模型。 生成字幕後點選專案 → 字幕 → 匯出srt檔案。 3. 給影片生成逐字稿 (clips) # 這個功能可以給素材庫的影片個別生成逐字稿，作為剪輯參考之用。你還可以按照生成的內容，自動分割時間軸的影片片段，方便編輯特效。\n點選視窗 → 啟用Speech Editor 選取專案的影片素材，再點選螢幕右邊的Speech Editor按鈕，點選開始語音辨識 生成的逐字稿不會插到時間軸，這裡比較像是參考用的。\n如果你按時間點，再按下書籤按鈕，它就會把註解插到時間軸的影片上 Insert selection in timeline則是按照逐字稿的時間軸內容，將該片段的影片插入到時間軸。Create new sequence with edit會生成一個按照逐字稿的時間軸下去切割的影片序列(sequence)。 4. 其他語音轉文字工具 # Kdenlive支援匯入srt字幕檔，因此用其他工具處理字幕後再匯入Kdenlive編輯也是可以的。\nchidiwilliams/Buzz raryelcostasouza/pyTranscriber ","date":"2024年1月19日","externalUrl":null,"permalink":"/posts/kdenlive-speech-to-text/","section":"所有文章","summary":"Generating subtitles automatically for videos using Kdenlive + Whisper.\n剪輯影片上字幕是一件累人的事情，好在現在有很多語音轉文字(speech to text)軟體可以幫我們節省大量時間，自動偵測人聲，生成字幕檔，再加到影片。\n開源影片剪輯軟體Kdenlive除了能給影片加字幕以外，其實也有內建語音轉文字，並自動生成srt和字幕軌的功能。使用完全免費。 影片版教學\n目前Kdenlive支援「VOSK」和「OpenAI Whisper」二種模型，本文我要講的是後者。Whisper的語音辨識十分優秀，很多軟體都使用了Whisper技術來生成逐字稿，現在Kdenlive也可以直接調用Whisper來生成字幕，於是乎你就擁有了開源的語音轉字幕＋影片編輯解決方案。\n我自己測試的結果是即使講話中英文夾雜，Whisper也能清楚的分辨出來，斷句準確。啊不過如果講話台灣國語太重可能就沒辦法XD\n另外一個好處是，Whisper在語音辨識的時候不會連網，全部都是本機運算，保障你的隱私。\n本文介紹如何使用Kdenlive搭配語音轉文字服務，讓你剪輯影片更為快速。\n1. 安裝Python與語音轉文字套件 # 需要Kdenlvie版本：25.08.3以上\n","title":"Kdenlive搭配Whisper語音轉文字，影片AI自動上字幕，生成逐字稿","type":"posts"},{"content":"如果你在尋找免費開源的影片剪輯軟體，那麼絕對不能錯過Kdenlive。 KDE社群自2008年開始開發Kdenlive，經過多次改版，每年都會加入新功能，並改進穩定性。如今，Kdenlive已經是開源領域的優秀剪片軟體了。\nKdenlive是Ivon很喜歡的一款影片剪輯軟體，優點是開放原始碼，無廣告，還跨平台支援Linux/Windows/macOS系統。 對Linux用戶來說，這更是難能可貴的影片剪輯軟體，功能全面又不若OpenShot那樣陽春，是Shotcut和Blender以外的良好選擇。\n如果要類比的話，我個人認為Kdenlvie功能很接近訊連科技的「威力導演」，可作為其替代品。\nKdenlive同樣是非線性剪輯軟體，功能有：\n加字幕（srt、標題卡） 多重影片軌 綠幕 濾鏡 特效 關鍵畫格 音效速度 轉場 硬體加速 代理素材 自動備份 使用ffmpeg編碼，影片可以匯出4K Kdenlive很多常用功能都包了，足以用來剪Youtube影片。你完全不需要付費就能使用全部的功能。\n1. 下載Kdenlive # Kdenlive的硬體需求：Windows 7或macOS Catalina或Ubuntu 20.04以上系統，CPU至少4核心，RAM至少要有8GB。\nKdenlive輸出影片支援用CPU或GPU計算，後者處理速度比較快，所以建議使用搭載獨立顯示卡的電腦。\n在Kdenlive官網你可以找到各大系統的安裝檔。Windows下載exe，macOS下載dmg。 至於Linux用戶，建議Nvidia顯示卡用戶先安裝專有驅動，這樣才能正常使用硬體加速輸出。再透過Flatpak下載Kdenlive，如此一來可以確保裝到的是最新版軟體：\nflatpak --user install flathub org.kde.kdenlive 2. Kdenlive操作教學 # Kdenlive功能繁多，這裡我準備了二個入門影片，讓你快速上手Kdenlive\n基本剪輯\n加上字幕\n你還可以閱讀本站有關Kdenlive的教學文章，了解一些實用技巧。\n或是閱讀官方操作手冊，了解各個功能的詳細配置，學習如何使用指令輸出影片。\n","date":"2024年1月19日","externalUrl":null,"permalink":"/posts/kdenlive-installation/","section":"所有文章","summary":"如果你在尋找免費開源的影片剪輯軟體，那麼絕對不能錯過Kdenlive。 KDE社群自2008年開始開發Kdenlive，經過多次改版，每年都會加入新功能，並改進穩定性。如今，Kdenlive已經是開源領域的優秀剪片軟體了。\nKdenlive是Ivon很喜歡的一款影片剪輯軟體，優點是開放原始碼，無廣告，還跨平台支援Linux/Windows/macOS系統。 對Linux用戶來說，這更是難能可貴的影片剪輯軟體，功能全面又不若OpenShot那樣陽春，是Shotcut和Blender以外的良好選擇。\n如果要類比的話，我個人認為Kdenlvie功能很接近訊連科技的「威力導演」，可作為其替代品。\nKdenlive同樣是非線性剪輯軟體，功能有：\n加字幕（srt、標題卡） 多重影片軌 綠幕 濾鏡 特效 關鍵畫格 音效速度 轉場 硬體加速 代理素材 自動備份 使用ffmpeg編碼，影片可以匯出4K Kdenlive很多常用功能都包了，足以用來剪Youtube影片。你完全不需要付費就能使用全部的功能。\n1. 下載Kdenlive # Kdenlive的硬體需求：Windows 7或macOS Catalina或Ubuntu 20.04以上系統，CPU至少4核心，RAM至少要有8GB。\n","title":"免費開源的Linux影片剪輯軟體：Kdenlive使用教學","type":"posts"},{"content":"你的/dev/sdb硬碟累積了陳年的檔案，不知道哪些重複檔案在佔空間？這款工具立即幫你找出來。\n你臨時想在硬碟中找一張圖片的原始檔卻不知道放在哪裡？本機以圖搜圖現在做得到了！\n你認為在find指令和檔案管理器之外，還需要個管理硬碟檔案的工具？那就是「Czkawka」。\nCzkawka是一款開源＆跨平台的硬碟清理軟體，可以協助你搜尋電腦磁碟中重複的檔案(duplicates)、列出最大的檔案、清理空白的目錄、搜尋毀損的檔案等等。 除了找出重複檔案外，它也能找類似的檔案。透過這個原理，我們就可以進行以圖搜圖(reverse image search)，當作本機圖片搜尋器。\nCzkawka還有執行速度快的優點，由於是用Rust寫成的，即使是傳統HDD掃描速度也很快。根據開發者提供的數據，Czkawka搜尋的速度遠超同類軟體FSlint和DupeGuru！有趣的是，Czkawka這個字是波蘭語「打嗝」的意思，用來描述他的快速也不為過吧！\n1. 安裝Czkawka # Czkawka免費無廣告，支援Linux/Windows/macOS，提供純文字版(CLI)與圖形版(GUI)。\n圖形版比較好上手，Linux用戶請到Github下載AppImage，點二下執行。\n2. 搜尋重複檔案 # Czkawka界面簡單易懂，你可以搜尋重複的檔案、圖片、影片、音樂，或是找出空的目錄加以清除。\nCzkawka的搜尋操作邏輯：在上方新增的目錄，就是全部要搜尋的目錄 如果你將目錄打勾，它會變成「參考目錄」，Czkawk會以該目錄的檔案為準，去搜尋其他目錄的同類檔案。（不過在這個模式下，似乎只能搜尋二個目錄的檔案的樣子） 例如/home/user/Documents目錄有apple.pdf、orange.odt、banana.png，Czkawka就只會在其他目錄搜尋這三個檔案的重複項目。\n預設搜尋演算法是用雜湊值(hash)下去比對，這樣就算檔案名稱不同也很容易找到重複檔案。如果檔案怎樣都搜尋不到，請檢查「排除的目錄」的設定。\nCzkawka尚有「修復符號連結」、「檢查檔案附檔名是否正確」的功能。\n3. 以圖搜圖 # 如果不要找完全一模一樣，而是有一些地方不同的圖片，切換到「相似圖像」頁面，哈希類型設定「Blockhash」，再將相似程度設最低 活用上面說過的參考目錄作法，將要找的圖檔放到Downloads目錄 將Downloads目錄勾選，設定為參考目錄，接著它就會以Downloads目錄的內容為基準，去搜尋其他目錄，找出類似圖片。 點選Compare比對重複的圖片，你可以選擇將打勾的檔案移動，或者刪除。 這樣你就找到了「大致類似的圖片」。但是圖片差太多也不行，Czkawka沒有使用AI模型，純粹靠演算法下去比對，可能還是會有漏網之魚。\n","date":"2024年1月19日","externalUrl":null,"permalink":"/posts/czkawka-find-duplicates/","section":"所有文章","summary":"你的/dev/sdb硬碟累積了陳年的檔案，不知道哪些重複檔案在佔空間？這款工具立即幫你找出來。\n你臨時想在硬碟中找一張圖片的原始檔卻不知道放在哪裡？本機以圖搜圖現在做得到了！\n你認為在find指令和檔案管理器之外，還需要個管理硬碟檔案的工具？那就是「Czkawka」。\nCzkawka是一款開源＆跨平台的硬碟清理軟體，可以協助你搜尋電腦磁碟中重複的檔案(duplicates)、列出最大的檔案、清理空白的目錄、搜尋毀損的檔案等等。 除了找出重複檔案外，它也能找類似的檔案。透過這個原理，我們就可以進行以圖搜圖(reverse image search)，當作本機圖片搜尋器。\nCzkawka還有執行速度快的優點，由於是用Rust寫成的，即使是傳統HDD掃描速度也很快。根據開發者提供的數據，Czkawka搜尋的速度遠超同類軟體FSlint和DupeGuru！有趣的是，Czkawka這個字是波蘭語「打嗝」的意思，用來描述他的快速也不為過吧！\n1. 安裝Czkawka # Czkawka免費無廣告，支援Linux/Windows/macOS，提供純文字版(CLI)與圖形版(GUI)。\n","title":"Czkawka軟體用法，Linux以圖搜圖、搜尋重複檔案的小工具","type":"posts"},{"content":" 現在我有Intel內顯 + Nvidia獨顯的電腦，如果要增強QEMU/KVM虛擬機圖形效能，我們會使用Nvidia GPU Passthrough的方式讓虛擬機使用顯示卡資源，再讓Intel內顯負責顯示畫面。\n相關文章：Arch Linux如何將Nvidia GPU直通給Windows QEMU/KVM虛擬機\n本文探討另一個作法：GPU虛擬化，透過Nvidia的vGPU技術，動態分配Nvidia顯示卡給QEMU/KVM虛擬機使用。\n下圖是Nvidia官網的架構圖，與GPU Passthrough比起來，vGPU可以一對多，將顯示卡資源切分給多個虛擬機使用。且不需要把Nvidia顯示卡驅動加入開機黑名單，也不需要綁定VFIO裝置。 我目前的用法是在BIOS調整，由Intel內顯當作Linux電腦的主顯示卡，Nvidia顯示卡在旁納涼，這樣才不會因為意外操作而沒畫面。\nvGPU啟用有點複雜，Nvidia不會讓一般人用vGPU的，你需要安裝給企業使用的專門驅動程式。且如果顯示卡不支援vGPU功能，你還得手動打patch。\n支援vGPU的顯示卡列表請看官方列表，Quadro可以直接用，我的是GeForce系列需要手動打patch。\nvgpu unlock支援的GPU # 根據這篇issue，目前vgpu unlock僅支援MX300、GTX1000、GTX1600及RTX2000系列，不支援RTX3000以上的GPU。\n1. 環境 # Host OS：Arch Linux Guest OS：Windows 11 23H2 核心版本：6.6.11 QEMU版本：8.2.0 Libvirt版本：9.10.0 CPU：Intel i5-7400 GPU：Intel UHD 630 GPU：Nvidia GeForce GTX 1050 Ti Nvidia驅動版本：535.129.03 2. 啟用IOMMU和VFIO # 如果你有直通過GPU，請將之前做的步驟全撤銷。\n編輯GRUB sudo vim /etc/default/grub 啟用Intel的IOMMU功能 GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;loglevel=3 quiet intel_iommu=on\u0026#34; 編輯mkinitcpio.conf sudo vim /etc/mkinitcpio.conf 設定開機載入vfio核心模組 MODULES=(vfio_pci vfio vfio_iommu_type1) 更新initramfs和GRUB，重開機 sudo mkinitcpio -p linux sudo grub-mkconfig -o /boot/grub/grub.cfg sudo reboot 3. 設定vGPU系統服務 # vgpu_unlock-rs專案可以在系統跑一個解鎖vGPU功能的系統服務。\n安裝編譯套件 sudo pacman -S git base-devel dkms linux-headers rust yay -S mdevctl 用cargo編譯vgpu_unlock su cd /opt git clone https://github.com/mbilker/vgpu_unlock-rs.git cd vgpu_unlock-rs/ cargo build --release 編譯後啟動vgpu_unlock系統服務 mkdir /etc/vgpu_unlock touch /etc/vgpu_unlock/profile_override.toml mkdir /etc/systemd/system/{nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d} echo -e \u0026#34;[Service]\\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so\u0026#34; \u0026gt; /etc/systemd/system/nvidia-vgpud.service.d/vgpu_unlock.conf echo -e \u0026#34;[Service]\\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so\u0026#34; \u0026gt; /etc/systemd/system/nvidia-vgpu-mgr.service.d/vgpu_unlock.conf 4. 給顯示卡驅動打patch # 這裡使用Nvidia官方run版本的驅動，應適用於大多數Linux發行版。\n解除安裝目前的驅動程式，重開機 sudo pacman -R nvidia-dkms 啟用vGPU需要特製版的Nvidia Grid Driver，到Nvidia官網註冊企業帳號才能下載Nvidia vgpu-kvm driver。不然你直接Goole搜尋nvidia-linux-x86_64-535.129.03-vgpu-kvm.run也能找到熱心網友提供的檔案，但風險自負就是。\n我的是GeForce系列顯示卡，需要手動給.run檔案打patch。下載vgpu-proxmox專案提供的檔案，套用patch。\nchmod +x nvidia-linux-x86_64-535.129.03-vgpu-kvm.run git clone https://gitlab.com/polloloco/vgpu-proxmox.git ./NVIDIA-Linux-x86_64-535.129.03-vgpu-kvm.run --apply-patch vgpu-proxmox/535.129.03.patch 之後會得到NVIDIA-Linux-x86_64-535.129.03-vgpu-kvm-custom.run檔案，接著以DKMS模式安裝驅動 sudo ./NVIDIA-Linux-x86_64-535.129.03-vgpu-kvm-custom.run --dkms 更新initramfs sudo mkinitcpio -p linux 重開機，檢查Nvidia驅動狀況 nvidia-smi 檢查vgpu是否啟用 nvidia-smi vgpu 5. 建立vGPU mdev裝置 # 註：這一段我無法成功，卡在最後一段賦予UUID的部份，一直遇到「不適用的引數」錯誤。可能是Arch Linux核心太新了？換Ubuntu LTS比較好。\n取得顯示卡PCI位址 lspci | grep NVIDIA 取得GPU在Virsh中的full identifier，例如這裡是pci_0000_01_00_0 virsh nodedev-list --cap pci| grep 01_00_0 取得domain, bus, slot, function資訊 virsh nodedev-dumpxml pci_0000_01_00_0 | egrep \u0026#39;domain|bus|slot|function\u0026#39; 範例輸出：\n\u0026lt;domain\u0026gt;0\u0026lt;/domain\u0026gt; \u0026lt;bus\u0026gt;1\u0026lt;/bus\u0026gt; \u0026lt;slot\u0026gt;0\u0026lt;/slot\u0026gt; \u0026lt;function\u0026gt;0\u0026lt;/function\u0026gt; \u0026lt;address domain=\u0026#39;0x0000\u0026#39; bus=\u0026#39;0x00\u0026#39; slot=\u0026#39;0x01\u0026#39; function=\u0026#39;0x0\u0026#39;/\u0026gt; \u0026lt;address domain=\u0026#39;0x0000\u0026#39; bus=\u0026#39;0x01\u0026#39; slot=\u0026#39;0x00\u0026#39; function=\u0026#39;0x0\u0026#39;/\u0026gt; \u0026lt;address domain=\u0026#39;0x0000\u0026#39; bus=\u0026#39;0x01\u0026#39; slot=\u0026#39;0x00\u0026#39; function=\u0026#39;0x1\u0026#39;/\u0026gt; 列出可用設定檔(也可以用mdevctl types指令查看) ls -l /sys/bus/pci/devices/0000:01:00.0 ls /sys/class/mdev_bus/0000:01:00.0/mdev_supported_types 賦予uuid uuidgen echo \u0026#34;填入UUID\u0026#34; \u0026gt; /sys/class/mdev_bus/0000:01:00.0/mdev_supported_types/nvidia-286/create 如果賦予多個UUID，等同建立多個虛擬GPU，讓不同的虛擬機使用。\n查看mdev裝置狀態\nls -l /sys/bus/mdev/devices/ 如果要移除裝置就傳入1 echo 1 \u0026gt; /sys/bus/pci/devices/0000:01:00.0/填入UUID/remove 6. 修改vGPU overrides數值 # 編輯/etc/vgpu_unlock/profile_override.toml\n控制要分配給虛擬機的VRAM大小，我這裡是設定2GB。你可以給多個虛擬機均分GPU。\n# 全域設定 [profile.nvidia-286] num_displays = 1 display_width = 1920 display_height = 1080 max_pixels = 2073600 cuda_enabled = 1 frl_enabled = 1 framebuffer = 0x74000000 framebuffer_reservation = 0xC000000 # 個別設定：mdev的UUID為vGPU mdev的UUID [mdev.3613e491-7ff6-4e26-bab0-c6209306f0f4] num_displays = 1 display_width = 1920 display_height = 1080 max_pixels = 2073600 cuda_enabled = 1 frl_enabled = 1 framebuffer = 0x74000000 framebuffer_reservation = 0xC000000 7. 將顯示卡分配給KVM虛擬機 # 安裝Libvirt和Windows 11虛擬機\n編輯虛擬機，點選編輯XML\n在\u0026lt;/devices\u0026gt;之前加入段落，添加mdev裝置。UUID1即為剛剛給vGPU賦予的UUID\n\u0026lt;hostdev mode=\u0026#34;subsystem\u0026#34; type=\u0026#34;mdev\u0026#34; managed=\u0026#34;no\u0026#34; model=\u0026#34;vfio-pci\u0026#34; display=\u0026#34;on\u0026#34;\u0026gt; \u0026lt;source\u0026gt; \u0026lt;address uuid=\u0026#34;填入UUID1\u0026#34;/\u0026gt; \u0026lt;/source\u0026gt; \u0026lt;/hostdev\u0026gt; 開機後，Linux Guest和Windows Guest皆需要安裝特製版Nvidia GRID driver。\n架設偽裝Nvidia認證伺服器的FastAPI-DLS，並讓虛擬機連線取得授權\n開啟裝置管理員和工作管理員，確認虛擬機認得到GPU型號。\n參考資料 # Virtual Machine with vGPU Unlock for single GPU desktop PolloLoco / NVIDIA vGPU Guide Virtual GPU Software User Guide Linux KVM使用NVIDIA vGPU实践- hczhang.cn ","date":"2024年1月17日","externalUrl":null,"permalink":"/posts/archlinux-libvirt-nvidia-vgpu-unlock/","section":"所有文章","summary":" 現在我有Intel內顯 + Nvidia獨顯的電腦，如果要增強QEMU/KVM虛擬機圖形效能，我們會使用Nvidia GPU Passthrough的方式讓虛擬機使用顯示卡資源，再讓Intel內顯負責顯示畫面。\n相關文章：Arch Linux如何將Nvidia GPU直通給Windows QEMU/KVM虛擬機\n本文探討另一個作法：GPU虛擬化，透過Nvidia的vGPU技術，動態分配Nvidia顯示卡給QEMU/KVM虛擬機使用。\n下圖是Nvidia官網的架構圖，與GPU Passthrough比起來，vGPU可以一對多，將顯示卡資源切分給多個虛擬機使用。且不需要把Nvidia顯示卡驅動加入開機黑名單，也不需要綁定VFIO裝置。 我目前的用法是在BIOS調整，由Intel內顯當作Linux電腦的主顯示卡，Nvidia顯示卡在旁納涼，這樣才不會因為意外操作而沒畫面。\nvGPU啟用有點複雜，Nvidia不會讓一般人用vGPU的，你需要安裝給企業使用的專門驅動程式。且如果顯示卡不支援vGPU功能，你還得手動打patch。\n支援vGPU的顯示卡列表請看官方列表，Quadro可以直接用，我的是GeForce系列需要手動打patch。\nvgpu unlock支援的GPU # 根據這篇issue，目前vgpu unlock僅支援MX300、GTX1000、GTX1600及RTX2000系列，不支援RTX3000以上的GPU。\n","title":"解鎖Arch Linux的Nvidia vGPU虛擬化，增強QEMU/KVM虛擬機圖形效能","type":"posts"},{"content":"Windows平台有一款名為Live2DViewerEX的程式，可以將二次元人物的Live2D模型放在PC桌面，稱作桌寵，與之互動。\nLinux平台目前還沒有人移植，Proton也跑不起來，所以我找了另一個解決方案：JimHans開發的「Kanban Desktop」，作者說這是「在你的桌面上随意调教的看板娘」。 它同樣能在桌面顯示Live2D桌寵，人物的頭會跟著滑鼠擺動，滑鼠點選有音效。 再搭配Linux版Wallpaper Engine，整個桌面就變得豐富了起來呢。 任何桌面都可以使用。 我覺得最棒的是，Kanban除了桌寵外還提供待辦事項提醒、Google搜尋、ChatGPT聊天的豐富功能，讓桌寵不再是擺設，而是成為AI數位助理。\n考量到Live2D模型不好取得，這篇文章除提供下載資源外，我還會講解如何利用第三方工具「LpkUnpacker」，拆包Live2DViewerEX的模型幹來用。\n1. 安裝Kanban Desktop # Kanban Desktop是開源軟體，使用Electron寫成，支援Linux和Windows。嗯\u0026hellip;看到Electron你就知道這個程式會固定佔用系統資源了。只要掛在桌面就會吃掉約150MB的RAM、300MB的VRAM。\n請至Github JimHans/live2d-kanban-desktop 下載安裝檔。最新版Stable作者只有提供Windows的exe。Linux用戶需要往下找舊版AppImage版本，解壓縮執行裡面的kanban-desktop。\nArch Linux能在AUR下載。\n如果無法啟動，嘗試加上以下引數：\n./kanban-desktop --no-sandbox 如果你的螢幕比較大，請用Electron的縮放參數來啟動Kanban Desktop\n./kanban-desktop --force-device-scale-factor=1.5 2. 下載自訂Live2D模型 # Kanban Desktop相容moc3模型格式。請注意不是所有模型都能正常載入，儘量找內含moc3和model.json檔案的模型。\nGithub Eikanya的儲存庫收錄了大量Live2D模型，敬請多加利用。按Download Zip下載整個儲存庫就行。\n這邊我講一下如何拆包Live2DViewerEX的模型。\n安裝Linux版Steam\n購買Live2DViewerEX，點選安裝，但不要開啟。\n在遊戲收藏庫對Live2DViewerEX點右鍵 → 內容 → 工作坊 → 造訪工作坊\n右邊搜尋條件設定Live2D，選取喜歡的模型訂閱 Steam會將檔案下載到遊戲資料庫目錄下的workshop/content/616720/\n安裝LpkUnpacker\ngit clone https://github.com/ihopenot/LpkUnpacker.git cd LpkUnpacker python -m venv venv source venv/bin/activate python -m pip install -r requirements.txt 接著輸入要拆包的模型路徑，-c接config.json所在路徑，下一行是.lpk檔案的路徑，最後一行是輸出目錄。 python LpkUnpacker.py \\ -c ~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/workshop/content/616720/2173005769/config.json \\ ~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/workshop/content/616720/2173005769/2173005769.lpk \\ ~/Downloads/live2d-model 你可能還要手動下載Cubism的live2dcubismcore.min.js，放到resources目錄，才能載入moc3模型。\n開啟Kanban Desktop，點選齒輪開啟設定，在「實驗室」頁面，勾選「啟用本地模型加載」，選取自訂模型，開啟model.json檔，下面再按照需求調整縮放 捲動到最上方，按下保存。\n3. Kanban Desktop操作方法 # 右邊的按鈕依序為對話框、切換模型、切換衣服、擷圖、夜間模式、設定待辦事項。此處因為我使用自訂模型，所以換模型功能無效。 如果要拖動模型請在設定裡面啟用「全屏任意拖曳」\n另外，桌寵就是該住在桌面就好，請點選工作列的Kanban Desktop圖示，關閉「永遠顯示在最上層」的設定。\n欲修改Live2D角色上方對話框講的話，請編輯程式目錄下的resources/app.asar.unpacked/includes/waifu-tips.json\n待辦事項其實就是鬧鐘的功能，單位為分鐘。 Kanban Desktop最下面的對話框，點選圖示切換為房子圖示，輸入字串它就會幫你打開瀏覽器搜尋。 此外，該對話框還有AI聊天功能，我們下面講。\n4. 設定AI聊天服務 # Kanban Desktop目前提供ChatGPT和OpenRouter的聊天服務。\nOpenRouter網站提供的主要是LLaMA系的模型，雖然比較笨但不需要花錢；相較之下ChatGPT需要付費訂閱API Key。\n到OpenRouter網站註冊一個帳號\n點選Accounts → Keys，產生一組API Key\n開啟Kanban Desktop的「實驗室」頁面，勾選啟用OpenRouter API支持，填入API Key，再保存變更 這樣的話在對話框切換為對話圖示的時候，輸入字串就會變成跟AI在聊天。 ","date":"2024年1月16日","externalUrl":null,"permalink":"/posts/live2d-kanban-desktop/","section":"所有文章","summary":"Windows平台有一款名為Live2DViewerEX的程式，可以將二次元人物的Live2D模型放在PC桌面，稱作桌寵，與之互動。\nLinux平台目前還沒有人移植，Proton也跑不起來，所以我找了另一個解決方案：JimHans開發的「Kanban Desktop」，作者說這是「在你的桌面上随意调教的看板娘」。 它同樣能在桌面顯示Live2D桌寵，人物的頭會跟著滑鼠擺動，滑鼠點選有音效。 再搭配Linux版Wallpaper Engine，整個桌面就變得豐富了起來呢。 任何桌面都可以使用。 我覺得最棒的是，Kanban除了桌寵外還提供待辦事項提醒、Google搜尋、ChatGPT聊天的豐富功能，讓桌寵不再是擺設，而是成為AI數位助理。\n考量到Live2D模型不好取得，這篇文章除提供下載資源外，我還會講解如何利用第三方工具「LpkUnpacker」，拆包Live2DViewerEX的模型幹來用。\n1. 安裝Kanban Desktop # Kanban Desktop是開源軟體，使用Electron寫成，支援Linux和Windows。嗯…看到Electron你就知道這個程式會固定佔用系統資源了。只要掛在桌面就會吃掉約150MB的RAM、300MB的VRAM。\n請至Github JimHans/live2d-kanban-desktop 下載安裝檔。最新版Stable作者只有提供Windows的exe。Linux用戶需要往下找舊版AppImage版本，解壓縮執行裡面的kanban-desktop。\n","title":"Kanban Desktop，在Linux桌面放一隻Live2D桌寵！支援連接語言模型","type":"posts"},{"content":" 仿真人的慢玩型飛機杯。\n日本G-Project（EXE子公司）的飛機杯：HON-MONO\n名字就叫HON-MONO，台灣廠商也沒有翻譯。多半是宣傳其為柔韌肌膚的飛機杯。\n據說這款評價很不錯，仿真人觸感是嗎\u0026hellip; 我買的是最初的版本，HON-MONO最初的版本就是宣傳柔韌肌膚的。2024年又出了一個更貴的「人工皮膚」的版本，聽說觸感更好。\n開箱一看到就覺得設計蠻節約空間的\n雖然不是仿蘿莉小穴，尺寸卻設計的能一手掌握，並考慮到使用者握感。不過這外型看上去挺像牛肚的。 就像LG G4手機把背蓋做半弧形的，讓人不知不覺中更好掌握吧。HON-MONO的設計應該考慮到了使用者單手握持的舒適度。\n仿造真人皮膚的質感可能是所有飛機杯裡面最好的，沒有任何粉塵和油膩感。\n有趣的是還要送一個鋁箔收納袋，好肌膚就得好好愛護。\n陰道入口部分也是設計的很簡約。這個洞口插入需要一點技巧，如果是單手的話就稍微捏一下上下部分讓它自然敞開。 內部有許多橫向的紋路 突入的瞬間，啊，這就是真人的觸感嗎。（此處使用的是假設句還是肯定句，請自行想像）\n插入感覺大概像這樣 C81 夢のニワトリ小屋 さばのにわとり さば缶／はがない\n\u0026hellip;仿真人皮膚的下場就是一點感覺都沒有，甚至懷疑這是不是什麼500塊的雜牌飛機杯。\n根據結構圖，MOM-HONO子宮部分使用的是較硬的材質製作，也就龜頭頂到那處的時候會稍微酸酸的感覺吧。 別看結構圖畫的陰道部分好像很緊緻，實際上就是軟趴趴的。\n一開始接觸到溫柔的肌膚觸感會感覺親切，不過若是尋求一點刺激就難以如願了。HON-MONO的設計就是讓你慢慢的順著宛如真人體驗的腔道射精，不急不徐的引導深入。\n講真，如果飛機杯沒什麼刺激度，仿真人的優勢在哪呢？\n因為HON-MONO過於柔軟，套子前端常常在抽插時甩來甩去，致使這個套子雖然觸感甚佳，卻是中看不中用。\n","date":"2024年1月15日","externalUrl":null,"permalink":"/posts/g-project-hon-mono-review/","section":"Nsfws","summary":" 仿真人的慢玩型飛機杯。\n日本G-Project（EXE子公司）的飛機杯：HON-MONO\n名字就叫HON-MONO，台灣廠商也沒有翻譯。多半是宣傳其為柔韌肌膚的飛機杯。\n據說這款評價很不錯，仿真人觸感是嗎… 我買的是最初的版本，HON-MONO最初的版本就是宣傳柔韌肌膚的。2024年又出了一個更貴的「人工皮膚」的版本，聽說觸感更好。\n開箱一看到就覺得設計蠻節約空間的\n雖然不是仿蘿莉小穴，尺寸卻設計的能一手掌握，並考慮到使用者握感。不過這外型看上去挺像牛肚的。 就像LG G4手機把背蓋做半弧形的，讓人不知不覺中更好掌握吧。HON-MONO的設計應該考慮到了使用者單手握持的舒適度。\n仿造真人皮膚的質感可能是所有飛機杯裡面最好的，沒有任何粉塵和油膩感。\n","title":"G Project HON-MONO評價，真實觸感嗎？","type":"nsfw"},{"content":"","date":"2024年1月15日","externalUrl":null,"permalink":"/tags/waifu2x/","section":"標籤","summary":"","title":"Waifu2x","type":"tags"},{"content":" 有時候你會遇到圖片解析度太小，希望有軟體工具可以把圖片放大讓它看起來不要那麼模糊。那麼就用本文介紹的幾個免費工具試試吧！\n所謂放大圖片，指的就是透過AI神經網路技術，將解析度低的圖片提高畫質，並去除噪點。在經過AI處理後，圖片不是單純長寬變大而已，而是連細節都能一併保留不失真。\n使用場景為何？有些優質的二次元圖片，原繪師上傳的畫質像是被卡車碾過，所以我要想把它放大好賞心悅目。 繪師：pokoten718\n還有，有些老動畫片源最高只有720p，看了不過癮，畫質放大提昇後觀賞才不會浪費我的好螢幕。 動畫：零之使魔\n論放大的作法，還可以分成「即時」與「轉檔」。\n何謂即時放大：影片播放的時候即時運算放大解析度，靈活性高，但硬體要很強。\n與之相對的轉檔放大：必須等影片轉檔完成後才可以播。轉檔後的好處是轉檔一次，就可以在其餘低階裝置播放，例如手機平板。\n此處的AI圖片/影片放大技術以「動漫畫」圖像為主，想放大真人照片的用戶斟酌參考之。\n考慮到大部分用戶的電腦系統，本文介紹的軟體僅支援Windows系統，部份有手機版。如果你使用Linux/macOS系統，請看我相關的文章標籤找解方：圖片放大類、影片放大類\n另外，建議電腦配備Nvidia GTX1050Ti以上等級的獨立顯示卡再使用以下軟體，因為不論是即時還是轉檔放大都很吃GPU效能。\n1. 圖片放大 # 即時放大 # 安裝mpv-lazy，將圖片拖到視窗，使用Anime4K濾鏡。\n圖片即時放大其實沒什麼意義，因為就算是用CPU跑，圖片放大轉檔也不會超過一分鐘。\n轉檔放大 # 要放大圖片的話，不外乎就是waifu2x，或者XXGAN的演算法。\nwaifu2x嘛，有眾所周知的官方線上版，把圖片傳給雲端放大，雲端再把圖吐回來給你。但是有放大上限，也不適合大批次處理。\n折衷版的Waifu XL，直接在你的瀏覽器網頁跑RealESR AI放大模型，效能不佳。\n離線版程式建議用Waifu2x Extension GUI，它整合了比Waifu2x更強的「Real ESRGAN」演算法。可以把圖片轉檔成任意大小，支援批次處理。\n不喜歡付費廣告的話，video2x也是個選項；Upscayl則是video2x的跨平台替代品。\nwaifu2x手機APP的話有Waifu2x ncnn (Android) 、Waifu2x (iOS) 那Anime4K呢？不建議，從下圖Anime4K vs Real ESRGAN的結果可知，Anime4K放大圖片效果不好，噪點還是很多，它比較適合即時放大。 AI放大修復 # 有在玩AI繪圖的朋友，可以用Stable Diffusion WebUI附帶的Upscaler界面放大圖片。\n由於Stable Diffusion是生成式AI，除了放大外，還可以利用圖生圖 ＋ GFPGAN臉部修復功能，讓AI重新繪製放大後的圖片，補充更多細節，甚至去掉馬賽克也不是問題了。 操作較為複雜的chaiNNer也是放大圖片的選項之一。\n2. 閱讀漫畫時放大圖片 # J-Hentai和E-Hentai QT都有調用AI模型放大的功能，看本本的時候很好用。\n或者你將漫畫圖檔批次丟給上述AI圖片放大軟體，轉檔處理後再閱讀也不壞。 3. 影片放大 # 即時放大 # mpv-lazy整合了即時補幀與放大技術，邊播邊放大，不用等轉檔。\n放大影片部份，mpv-lazy裡面的「Anime4K」演算法比較不吃效能，低階的GTX 1050顯示卡也能跑，但細看破綻很多，甚至比不上Waifu2x。\n如果顯卡有RTX30以上等級就用mpv-lazy內建的「ESRGAN」演算法，或者2x_AnimeJaNai放大，效果比較強。 轉檔放大 # Waifu2x Extension GUI 圖片和影片轉檔軟體，功能豐富的軟體，可以放大和補幀。\nREAL Video Enhancer，整合補幀與放大技術的跨平台軟體。\n影片補幀(提昇FPS) # 補幀分MVTools和RIFE兩種。\nMVTools十年前就有了，搭配VapourSynth使用，但效果普普，可能會有鬼影出現。好處是低階GTX 1050等級的卡就能跑，而且可以即時補幀，mpv-lazy有整合此技術。\nRIFE效果較佳，但很吃資源，即時補幀需要RTX 40顯卡才跑得動。建議是用Waifu2x Extension GUI轉檔後再播放。\n4. 遊戲畫面放大 # 提昇遊戲解析度？沒錯，Magpie能夠做到這點，全域放大遊戲畫質，玩Galgame的時候很有用。\nLinux透過Steam Gamescope + AMD FSR或Nvidia DLSS勉強能達到放大的效果，僅Proton遊戲有效。run_scaled也是個選項。\n5. TL;DR # 急用時：開mpv-lazy就對了\n想要整理自己收藏：用Waifu2x Extension GUI轉檔保存ㄅ。\n","date":"2024年1月15日","externalUrl":null,"permalink":"/posts/anime-ai-upscale-software/","section":"所有文章","summary":" 有時候你會遇到圖片解析度太小，希望有軟體工具可以把圖片放大讓它看起來不要那麼模糊。那麼就用本文介紹的幾個免費工具試試吧！\n所謂放大圖片，指的就是透過AI神經網路技術，將解析度低的圖片提高畫質，並去除噪點。在經過AI處理後，圖片不是單純長寬變大而已，而是連細節都能一併保留不失真。\n使用場景為何？有些優質的二次元圖片，原繪師上傳的畫質像是被卡車碾過，所以我要想把它放大好賞心悅目。 繪師：pokoten718\n還有，有些老動畫片源最高只有720p，看了不過癮，畫質放大提昇後觀賞才不會浪費我的好螢幕。 動畫：零之使魔\n論放大的作法，還可以分成「即時」與「轉檔」。\n何謂即時放大：影片播放的時候即時運算放大解析度，靈活性高，但硬體要很強。\n與之相對的轉檔放大：必須等影片轉檔完成後才可以播。轉檔後的好處是轉檔一次，就可以在其餘低階裝置播放，例如手機平板。\n此處的AI圖片/影片放大技術以「動漫畫」圖像為主，想放大真人照片的用戶斟酌參考之。\n考慮到大部分用戶的電腦系統，本文介紹的軟體僅支援Windows系統，部份有手機版。如果你使用Linux/macOS系統，請看我相關的文章標籤找解方：圖片放大類、影片放大類\n另外，建議電腦配備Nvidia GTX1050Ti以上等級的獨立顯示卡再使用以下軟體，因為不論是即時還是轉檔放大都很吃GPU效能。\n","title":"開源免費的AI動漫圖片 \u0026 影片解析度放大軟體一覽","type":"posts"},{"content":"本次我想分享柯文哲與吳欣盈，代表台灣民眾黨參選2024年中華民國總統以來，推出的競選歌曲。 競選歌曲曲風多樣，尤其是最後二首歌曲啊，結合柯文哲這幾個月以來的境遇，我聽了感動到流淚。這是局部歌詞：\n咱到底需要一個 安怎的社會\n認真打拼 乎人當作是笑話\n所以咱唱著這首歌 唱著咱的未來佮希望\n拿一張白紙 畫出咱的路 一步一步穩穩的走\n逗陣唱著這首歌 咱攏是臺灣的囡仔\n就算路歹走 咱攏毋驚\n乎台灣的選哲 帶咱來行\n乎唯一的選擇 牽阮來行\n這些歌曲已經不只是廣告性質，而是傳達一種新政治的價值觀。那包含的是過去的政績，還有未來的政見，「義無反顧」、「理性務實科學」為台灣下一代著想的精神。\n如果你不是很熟悉柯文哲的政見，覺得他親中、純粹是來亂的，那麼請把政見發表會的內容看完，再做定奪。我認為他是有最具體提出作法，想改革台灣藍綠兩黨政治的人。路線上以台灣優先，絕不是無腦舔美、亦非親中的人物。 2024年1月12日，民眾黨「凱道公民之夜」造勢20萬人上街！我在六點抵達的時候凱道外面已經多到塞不進去了，眾人都在呼喊柯文哲的名字。 晚間，大家一起合唱《穩穩的走》，藍綠色、國旗、燈海飄揚。 最終，我在現場親眼見證「光之大十字」的形成，感到與有榮焉。 引用自黃珊珊Facebook\n雖然2024年1月13日選舉柯文哲輸了，但他沒有被棄保，仍然獲得了三百萬票的支持，我並不後悔投給柯文哲。無法改變的是，他和他的團隊確實給台灣帶來了一股新的政治文化面貌，把選舉便成公民運動。他證明了不用花大錢也可以選總統，以務實政見取代統獨意識，在台灣民主史上寫下嶄新的一頁。\n此外，在阿北需要幫忙的時候，全台各地許多「小草」站了出來，製作二創MV和更多應援歌曲，給柯文哲和台灣民眾黨加油打氣，讓阿北不會孤軍奮戰。本文我會把還不錯的非官方MV放進來。\n餐廳奧客 - 小草 # 跟著媽祖進香走完400公里的真男人，柯文哲。\n很多人低估了柯文哲台北市長任內的政績，只專注在他的政治色彩和失言風波。實際上，阿北默默做了很多事情，詳見街景影片。他那認真的態度、不收受貪污、不搞意識形態、務實的態度，就足以讓他超越許多傳統政治人物。所以，即使他做的事情被當傻瓜，即使只是株小草，也不會放棄堅持下去。\n官方版MV 動畫版MV 小草 歌詞\n我活在自己的世界 我望著空白微亮的星空 他們看我像一個白癡 我也覺得自己白癡的可以 我不是 那個聰明漂亮的 那個厲害無畏無懼 無知覺的傻子 我只會做簡單的事 就這樣一直做 曾經有多少次我懷疑自己 曾經不爭氣的流下了淚滴 別人覺得我怪 但是我知到我不怪 這明明就只是我 我是個小草 從來不會被擊倒 一天天的活一步一步的走 就算我被看不起 就算我被當笑話 不管怎麼樣 委屈難過悲傷 がんばれ要堅強 (盡力而為並保持堅強) 我做著我自己的事 我努力的看待每一件事 雖然有可能被你來誤會 可是我根本不在意這點 我相信著努力就有成果 反正這麼做 堅持到最後都會豐收 我就做 最簡單的事 就這樣一直做 曾經有多少次我懷疑自己 曾經不爭氣的流下了淚滴 別人覺得我怪 但我知道我不怪 這明明就只是我 我是個小草 從來不會被擊倒 一天天的活一步一步的走 就算我被看不起 就算我被當笑話 不管怎麼樣 委屈難過悲傷 がんばれ要堅強 (盡力而為並保持堅強) 我是個小草 從來不會被擊倒 一天天的活一步一步的走 就算我被看不起 就算我被當笑話 不管怎麼樣 委屈難過悲傷 啦啦啦 啦啦啦 啦啦啦 啦啦啦 啦啦啦 啦啦啦 啦啦啦 就算我被看不起 就算我被當笑話 不管怎麼樣 委屈難過悲傷 がんばれ要堅強 (盡力而為並保持堅強) SILLY BOB - 依然向前行 # 收錄於《簡單的人 - 柯文哲2024競選概念專輯》\n2023年9月，藍白合未成之前發布。歌詞表面上講男女關係，實際在講台灣藍綠政治的問題。但對比2024年1月柯文哲明確喊要下架藍綠，這首歌倒是用比較和平的態度敘說，不論是哪個黨派，「只是想幸福而已」。可惜的是30年過去了，他們做不到，那就讓柯文哲做做看。\n官方MV 依然向前行 歌詞\n似曾相識的夢境裡 越來越乏味重複的劇情 冷漠又敷衍的表情 一次又一次輪迴而已 你說你都有做 其實在敷衍我 你把我當空氣 交代的都略過 說好理性溝通 其實在針對我 你都沒錯 我迫不及待要跟你說 Welcome to the new world 但你也要告訴我 到底要怎麼去做 嘿！相信我 我會努力改過 我已經受夠 我曾誇下的海口／我們一起做的夢 藍藍綠綠，來來去去 不同的邏輯，只是想幸福而已 藍藍綠綠，明明白白 相同的默契，寫下美好的日記 不要走 你不要討厭我 我只是實話實說 我的錯 沒有掩飾什麼 閉上眼，先擁抱再說 帕崎拉 - 浪 # 收錄於《簡單的人 - 柯文哲2024競選概念專輯》\n「我們只是想要誠實來面對 前人種下的並不是棵樹 而是共業」\n龐克風格，歌詞最派的一首歌曲。柯文哲不是宗教領袖，只是被浪（人民的願望）推著往前走，肩負起跳脫藍綠政治的使命，共同面對問題，解決問題。\n官方版MV，畫面擷取自2023年7月舉辦的KP Show。我還是覺得阿北跳舞有點尷尬\u0026hellip; 我倒覺得這個搥桌子的MV比較好笑XD 低成本製作但殺傷力很強 浪 歌詞\n我想我身上流著一股熱血 我想我還沒搞懂這個世界 我只想做我自己想做的夢 卻被時代的洪流硬推著往前走 我以為我是能夠拯救世界 現實是我們都是關係鏈 其實我們都沒有想像完美 所以就瞄準了目標然後繼續往前 我只是被浪潮推著往前走 我們都只是不想再看到彼此墮落 本質都一樣幹嘛分你我 人們的脆弱其實都藏在你我心中 我想說 你想說 我們都沒錯 不管你 還是我 都各有不同 我們只是想要誠實來面對 前人種下的並不是棵樹 而是共業 我想了太多 我想了太多 太多的雜念在我腦海中 我快要不懂 我快要不行 我快要不知道我該怎麼做 我只是被浪潮推著往前走 我們都只是不想再看到彼此墮落 本質都一樣幹嘛分你我 人們的脆弱其實都藏在你我心中 我想說 你想說 我們都沒錯 不管你 還是我 都各有不同 我們只是想要誠實來面對 前人種下的並不是棵樹 而是共業 Daddy Chang - 把國家還給你 Rap # \u0026ldquo;Fuck da KMT and DPP they sons of CCP\u0026rdquo;\n這首Rap聽起來有大支的饒舌風格！不過大支是支持賴清德的，他做了支持民進黨的《Made in Taiwan》；相較之下，這首《把國家還給你》顯得清醒許多。\n把國家還給你 Rap 歌詞\n太離譜了 把國家 還給你 全台負債五點九兆 唯獨阿北一人還錢 債留子孫的未來 還有誰敢繼承繁衍 不少子化才怪勒 藍綠貪汙 閉門盤旋 經濟司法全腐爛 Z世代的歷程難言 有哪個歷任政府做到行政透明？ 從預算到標案到SOP都勤奮奏鳴 該合作時得合作 拿詐騙犯詢問就擒 該對抗時也得對抗得讓那嬴政受刑 兩岸關係也需競爭互相抬高水平 國內詐騙犯們需重判 別再柴燒毀民 台灣非執政黨的專有 別再白撈美名 中華民國也非紅統派口號 埋刀匪行 台灣夾在中美中間如何展望順路 內部都還沒談出共識 談何兩岸論述 聯合政府團結台灣 青年有緣輔哲 三權分立 總統備詢 不再有權無責 台灣 是全體台灣人民的 把國家 還給你 把國家 還給你 把國家 還給你 媒體垃圾亂帶風向 試圖欺騙民眾 政論節目的路人甲們繼續低賤吟誦 阿北蓋社會住宅兩萬多 付出行動 藍綠又蓋了多少 尤其賴桑 吐出零棟 小草們繼續穩穩走著 關掉藍綠霉體 沒必要出征路人甲它們腦殼殘疾誰理 棄藍綠保台灣國民兩黨扔進水裡 法務部長讓國昌老師掃蕩 正義槌起（太離譜了） AI時代來臨 把專業交給專業 讓藍綠酬庸家天下的共犯結構 翻頁 台灣得接軌國際 企業的 職場關切 而非軍火商的兵兇戰危 市場山穴 F**k da KMT and DPP they sons of CCP Ima ride with Taiwan People\u0026#39;s Party, we da TPP 2024歷史的一刻 讓世界驚一世 把國家還給你 義無反顧 拚1次 台灣 是全體台灣人民的 把國家 還給你 把國家 還給你 把國家 還給你 台灣 是全體台灣人民的 把國家 還給你 把國家 還給你 把國家 還給你 放志樂團 - 希望的心聲 # 有PTT板友說這首歌風格像伍佰寫的？？\n「一雙手 一雙跤 行出理想的願望」。義無反顧拚一次的精神，阿北告訴了小草，小草也用行動實際支持。比如2023年12月由多名網紅自發舉辦的「扛阿北守台灣」環島活動，我認為這就是台灣公民力量的展現，代表很多人都想要做出改變。\n這個MV默默地宣傳了柯文哲在台北市的政績，也包含阿北未來想達成的目標。例如消防員權益、同性婚姻釋憲。 希望的心聲 歌詞\n你說愈動盪不安 愈是要沉著勇敢 儘管多少次跌宕 不放棄才有希望 敞開寬闊的心吧 我們沒有不一樣 擁抱海洋的胸懷 就和你乘風破浪 一陣人 一首歌 唱出希望的心聲 無怨戚無怨歎 眾人扛山山會動 一雙手 一雙跤 行出理想的願望 路雖然坎坷歹行 也著愛寬寬仔行 吳欣盈 - 炸裂舞 # 在進入感動環節前先分享這個小插曲，其實這不是競選歌曲XD 是吳欣盈很愛在掃街的時候跟小草一起跳的舞步。改編自棒球選手陳子豪的應援歌曲，由朱康老師重新編曲。\n這場選舉，民眾黨其實滿歡樂的，除了聽柯文哲在台上講理念之外，造勢街道上都有許多可愛動物出來一起跳，包含青蛙、恐龍、大金剛，還有破壞之王的蒙面加菲貓（吳欣盈的外號是阿麗）。這個氣氛就跟國民黨和民進黨的場合差很多了吧，這也是我喜歡民眾黨的原因之一。 上賀瓏夜夜秀的時候吳欣盈也跳了炸裂舞 歌詞： 票投～吳欣盈～一起票投吳欣盈～票投一號吳欣盈 （吳欣盈可代換為柯文哲）\n蔡順鵬 \u0026amp; 柯文哲 - 簡單的人 # 收錄於《簡單的人 - 柯文哲2024競選概念專輯》\n這首歌曲是使用AI合成柯文哲的聲音所唱出來的，所以音才那麼準XD\n「講話不拐彎抹角，所以不時都在得失人」「稀微的心怎樣改變這個世界？」作詞者有精準抓到柯文哲的亞斯伯格個性，雖然嘴巴常常失言，立場好像也變來變去（愛畫美中台三角形），可是他唯一不變的就是認真做事的態度，這件簡單的事情很多政治人物就做不到了。與其說他是個投機份子，不如說是一股政壇的清流。\n官方動畫版就夠讓人催淚的了，不論遭到怎樣的抹黑攻擊，都有人會幫阿北一把，願意理解他的理念。當最後所有人都跟著阿北一同向前騎車的時候，就讓我很感動了。 歌詞版，看阿北騎真正的腳踏車。 簡單的人 歌詞\n我是一個簡單的人 認真做事是我的理念 講話不拐彎抹角 所以不時都在得失人 我不是搞怪，是社會太奇怪 人與人之間怎麼都是包裝出來？ 我不是搞怪，也無什麼色彩 虛微的心怎樣改變這個世界？ 我相信我相信咱的未來 有很多有很多要勇敢打拚的社會期待 凡事照起工，給子孫希望 做一個簡單的人 我是一個簡單的人 心存善念是我的信仰 三不五時有較固執 因為堅定是非是需要勇氣 我不是搞怪，是社會太奇怪 人與人之間怎麼變作無法互相信賴 我不是搞怪，是心中有眼淚 已經堅心作陣改變這個世界 我相信我相信咱的未來 有很多有很多要勇敢打拚的社會期待 不分你與我，將手牽起來 做一個簡單的人 朱康 - 穩穩地走 # 無需多言，絕對是傳唱最多次的歌曲，可以說是代表這次選舉文化的主題曲。整場選舉下來，民眾黨官方網路節目「KPTV」必放，小草舉辦的活動必出現，造勢結束後阿北也會陪小草一起合唱。\n「所以咱唱著這首歌 唱出心內的希望 拿一張白紙 畫出咱的路 堅定向前行」柯文哲做的社會住宅政策，都有考慮到未來性。讓民眾黨陪伴台灣民眾，在未來穩穩的走下去。\n官方版 動畫版，順便宣揚政績。在這幾個月的活動以來，阿北的追隨者，真的是越來越多了，完全不輸藍綠遊覽車動員的力量。 女聲版 葉式特工的版本，他自費幫阿北拍了很多支持的影片。第一集討論柯文哲居住正義議題，第二集就來審判蔡英文XDD。現在台灣的財團、政黨、媒體早就是互利共生的關係，民眾黨長期遭到打壓。雖然演得有點中二，但可以說把民眾黨對抗權勢的心路歷程，完完整整的演了出來！當你聽到《穩穩地走》在最絕望的時刻響起，絕對會感動的落淚。 穩穩地走 歌詞\n毋知影咱的驕傲 欲佇佗位找 少年的熱情 猶閣剩多少 一句食飽未 煞毋敢打電話 驚厝裡會煩惱我 咁有好過 咱到底需要一個 安怎的社會 認真打拼 乎人當作是笑話 只毋過向望一個 出頭的機會 心酸跟無奈 佇心肝底 所以咱唱著這首歌 唱出心內的希望 拿一張白紙 畫出咱的路 堅定向前行 逗陣唱著這首歌 咱攏是臺灣的囡仔 就算路歹走 咱巄毋驚 乎台灣的選哲 帶咱來行 咱到底需要一個 安怎的社會 認真打拼 煞乎當作是笑話 只毋過向望一個 會當出頭的機會 心酸跟無奈 藏心肝底 所以咱唱著這首歌 唱出心內的希望 拿一張白紙 畫出咱的路 堅定向前行 逗陣唱著這首歌 咱攏是臺灣的囡仔 就算路歹走 咱攏毋驚 乎唯一的選擇 牽阮來行 所以咱唱著這首歌 唱著咱的未來佮希望 拿一張白紙 畫出咱的路 一步一步穩穩的走 逗陣唱著這首歌 咱攏是臺灣的囡仔 就算路歹走 咱攏毋驚 乎台灣的選哲 帶咱來行 乎唯一的選擇 牽阮來行 ","date":"2024年1月14日","externalUrl":null,"permalink":"/posts/kowenje-2024-campaign-songs/","section":"Politics","summary":"本次我想分享柯文哲與吳欣盈，代表台灣民眾黨參選2024年中華民國總統以來，推出的競選歌曲。 競選歌曲曲風多樣，尤其是最後二首歌曲啊，結合柯文哲這幾個月以來的境遇，我聽了感動到流淚。這是局部歌詞：\n咱到底需要一個 安怎的社會\n認真打拼 乎人當作是笑話\n所以咱唱著這首歌 唱著咱的未來佮希望\n拿一張白紙 畫出咱的路 一步一步穩穩的走\n逗陣唱著這首歌 咱攏是臺灣的囡仔\n就算路歹走 咱攏毋驚\n乎台灣的選哲 帶咱來行\n乎唯一的選擇 牽阮來行\n這些歌曲已經不只是廣告性質，而是傳達一種新政治的價值觀。那包含的是過去的政績，還有未來的政見，「義無反顧」、「理性務實科學」為台灣下一代著想的精神。\n如果你不是很熟悉柯文哲的政見，覺得他親中、純粹是來亂的，那麼請把政見發表會的內容看完，再做定奪。我認為他是有最具體提出作法，想改革台灣藍綠兩黨政治的人。路線上以台灣優先，絕不是無腦舔美、亦非親中的人物。 2024年1月12日，民眾黨「凱道公民之夜」造勢20萬人上街！我在六點抵達的時候凱道外面已經多到塞不進去了，眾人都在呼喊柯文哲的名字。 晚間，大家一起合唱《穩穩的走》，藍綠色、國旗、燈海飄揚。 最終，我在現場親眼見證「光之大十字」的形成，感到與有榮焉。 引用自黃珊珊Facebook\n","title":"柯文哲2024年總統大選令人感動的競選歌曲＋MV","type":"politic"},{"content":"控制不了周遭的事物，所以只能控制自己可以控制的東西。Pink Floyd的Wall電影裡面有這麼一幕，主角孤獨一人，唯一能控制的只有將自己家裡的牙膏、吉他小物件整齊的排好。我想現在我也是陷入這個境地了，早在2018年開始，我就對讀的英語科系不是很感興趣，那不過是輔助賺錢的工具，好像讀書是興趣，真正的目標是在網路上做的事情一樣。比如研究電腦程式，做遊戲模組、3D繪圖、研究歷史議題、架網站。\n要講沉迷的程度，我可以花好幾天看完一本歷史書籍，針對事件發表評論，可是上課要讀的文本我卻是一個字都看不下去，青菜交代低分混過去。說到Linux也是一樣，完全絕對的自訂系統，手癢進行各種自訂化設定，學到了很多碎片知識還以為自己很厲害，結果卻是一個程式都沒實際寫過。\n大學後接著是碩士，還不情願的選擇了教育之路，因為覺得自己什麼都做不好，除了走這條別無選擇。我可以安慰自己說讀到國立前段碩士已經很厲害了，但是未來在哪裡我是一刻也不敢想。尤其目睹同齡人還有同學飛黃騰達的成就，就顯得自己的渺小。交際手腕不夠滑舌，時常由於自大與自卑的情緒無法與他人發展出穩定的關係，總是徘徊在功利與稍縱即逝的交往方式之中，種種因素讓我感到無助與痛苦。\n隨著現實中讀書愈發感到無力，空洞的日子重複著，就越是想逃避到網路世界，追尋快樂與成就感。約是從2021年開始有系統性的寫作部落格，從陽春的Blogger到現在整個網站自己架，可以說這整個龐大文章數量的部落格，就是我對現實世界的不滿與焦慮的體現，所投射出來的。因為寫作，逃避焦慮化成暫時的快樂，每每面對現實的不如意，就越是想逃避到虛擬世界找到虛擬的成就感，可是網路上的名聲畢竟是假的，如果不能化為對現實有益的項目那也是白搭。很多人部落格經營有成變成副業，充滿自信的販售課程，我卻只能在這成天發牢騷。\n現實恰好相反的，網路上做的事情，並不能轉化為實際有利於未來的輸出，對歷史有興趣卻沒辦法真的狠下心去修相關課程；對Linux有興趣可是我好像都在「玩」怎麼配置電腦而已，真正專業技能要求的技能都沒有碰過。因此，幻想終究是幻想，不論我獲得了怎樣的成就、學到了什麼，有了怎樣的經驗，殘酷地是對未來幾無幫助。雙向拉扯的後果就是，現實的學業基礎很差，在虛擬世界中短暫取得的成就又很快就會被生存焦慮淹沒。\n聊以自慰的是崔健的歌曲〈不再掩飾〉 我沒有錢，也沒有地方，我只有過去\n我說得多，也想得多，可越來越沒主意\n我不可憐，也不可恨，因為我不是你\n我明白拋棄，也明白逃避，\n可就是無法分離\n因為我沒有斜槓到，把愛好變成職業的能力，最後就是愛好終究是愛好，到頭來還是要面對現實的問題。即使感覺志不在此，依然要負重前行。\n最後來一首歌〈出走〉 我閉上眼没有過去\n我睜開眼只有我自己\n我没别的說，我没别的做\n咿呀\n我攥著手只管向前走\n我張著口只管大聲吼\n我恨這個，我愛這個\n咿呀\n","date":"2024年1月10日","externalUrl":null,"permalink":"/posts/2024011001/","section":"Personals","summary":"控制不了周遭的事物，所以只能控制自己可以控制的東西。Pink Floyd的Wall電影裡面有這麼一幕，主角孤獨一人，唯一能控制的只有將自己家裡的牙膏、吉他小物件整齊的排好。我想現在我也是陷入這個境地了，早在2018年開始，我就對讀的英語科系不是很感興趣，那不過是輔助賺錢的工具，好像讀書是興趣，真正的目標是在網路上做的事情一樣。比如研究電腦程式，做遊戲模組、3D繪圖、研究歷史議題、架網站。\n要講沉迷的程度，我可以花好幾天看完一本歷史書籍，針對事件發表評論，可是上課要讀的文本我卻是一個字都看不下去，青菜交代低分混過去。說到Linux也是一樣，完全絕對的自訂系統，手癢進行各種自訂化設定，學到了很多碎片知識還以為自己很厲害，結果卻是一個程式都沒實際寫過。\n大學後接著是碩士，還不情願的選擇了教育之路，因為覺得自己什麼都做不好，除了走這條別無選擇。我可以安慰自己說讀到國立前段碩士已經很厲害了，但是未來在哪裡我是一刻也不敢想。尤其目睹同齡人還有同學飛黃騰達的成就，就顯得自己的渺小。交際手腕不夠滑舌，時常由於自大與自卑的情緒無法與他人發展出穩定的關係，總是徘徊在功利與稍縱即逝的交往方式之中，種種因素讓我感到無助與痛苦。\n","title":"沒辦法控制一切，沉迷可以控制的一切","type":"personal"},{"content":" 喜歡看到本子裡出現保險套嗎？覺得戴上保險套、射在保險套裡面的描寫讓畫面更色了，能打到你的性癖好嗎？本文就要來分享一連串的色氣保險套本子列表。\n圖片繪師：belko 定義 # 保險套英文為condom，日文為コンドーム。\n為什麼明明是虛擬世界還要看到這礙事的東西？個人認為，看到漫畫角色使用保險套會有背德感，讓人覺得做愛只是一種純粹追求快樂、情趣的行為，而非為了生育，所以才叫避孕套嘛。使用保險套時，男女雙方基於本能的欲望進行性交，卻無法真的懷孕，圖的僅是感官、精神上的歡愉。此時的精子不再為了繁殖而存在，射精不過是歡愉結束的信號罷了，拔出體外後，裝滿活力的精子的保險套被丟到沒有生氣的角落。卵子獨守空閨，保險套擋住精子結合。最後卵子死亡變成月經碎片排出，隨著女性衛生棉丟棄在垃圾桶裡面，而旁邊躺著的是就是殘留精液的濕漉漉保險套，僅存的精子在死亡前仍賣力游動尋找卵子所在，追求那未竟的生育夢想。 我在寫什麼\u0026hellip;還是進入正題吧。\n如何定義所謂「很色的保險套」本子？\n指的是有刻劃出保險套的本子，最好是有嘴裡叼著保險套，還有戴上動作的畫面，我認為這樣就足夠打倒部份人的性癖好。\n試想，有些「女性叼著許多保險套」的畫面，等同預告晚上不用睡了吧。即使有人認為保險套會阻礙性致，但是若使用薄型的，同樣可以達到近乎無套的效果。\n我更想看到的是細膩刻劃雞雞戴著套子的畫面，並且插入小穴，戴著保險套做愛的本。保險套要表現出質感，不可以碼掉，也不能畫得像電火布不透明的樣子。\n最好有射精在保險套裡面，之後再喝保險套精液的畫面。事後畫面的保險套不一定要多到灑滿地，一兩個漏出精液的保險套掛在屁股上的也行，但一定要認真畫。\n我覺得更有趣的是有的本子會在後面索性無套，觸感轉變之大呀！那個前後的對照讀來也是很有趣。\n下面我的排序純粹按照個人喜好。\n戴套前戲是很重要的畫面 # 不論是男性自己戴，還是女性幫忙戴，都是很色氣的畫面。\n首先，看到喜歡的女人，自行戴套是禮貌吧。這個畫面我不知為何滿色情的，但後面套子居然主動被女方拔掉了。\n(C86) [極彩色 (彩社長)] Beweise der Liebe (艦隊これくしょん -艦これ-) 只要有練習，你也可以很有自信的保險套著裝。\n[ねこはまんまがうつくしい (Hisasi)] かぐや様の縁結び (かぐや様は告らせたい) 換讓國中女生幫你用嘴戴套如何\n(C92) [Private Garden (鶴崎貴大)] ハーレムラノベ先生 同棲子作りセックス (エロマンガ先生) 即使是小屌也會幫你戴好喔。\n(C97) [遥夢社 (源五郎)] 今日だけ、パパと娘。 不過，即使是小屌，也會盡力射精到保險套裡只剩水為止呢。 戴套還需要提醒啊？溫柔指導的戴套畫面，竟然是第三者幫忙完成的。這個口技實在太專業。\n(C87) [Cherish (西村にけ)] きよしもマリッジ (艦隊これくしょん -艦これ-) 這個套子明明寫0.01厚度，怎麼戴上看起來那麼鬆呀\u0026hellip;喔喔看到這個脫衣的樣貌算了不管了\n[ニャリャポンガ (世界最速のパンダ)] 事務的に処理してくれる艦護師さん (Fate/Grand Order) 比較稀有的畫面：戴上保險套後直接開始口交！？進行安全的射精行為，口技拔群，不用小穴就可以榨死你\n[狼狽亭 (atahuta)] たのしい精液牧場~繁殖編~ (ストライクウィッチーズ) 戴套就是要實戰的畫面 # 戴套就是要在性交的時候保護女性呀。\n鬆垮垮的保險套，就會看起來很沒感覺的說\n(C89) [Penetrate (零覇)] 遠征千歳の代理Hは千代田睡眠姦で (艦隊これくしょん -艦これ-) 還是看戴著保險套的雞雞被緊緻的小穴絞殺比較爽吧。看著小小的套子一瞬間套上大雞雞就感到興奮。\n(C96) [セルビッチ水産 (魚デニム)] 限りなく透明に近いB.B (Fate/Grand Order) 或者接受毛絨絨陰道的按摩。這本描寫射在保險套裡面的畫面滿真實的，子宮斷面圖的畫法也沒有錯誤。\n(C85) [フニフニラボ (たまごろー)] チビッコビッチXY (ポケットモンスター) 在大戰前夕，正確的戴好套是很重要的喔。\n(COMIC1☆15) [また明日。 (太平さんせっと)] ブーディカさんとごむ。 -コンドーム編- (Fate/Grand Order) 如果戴保險套照樣秒射，那就不斷使用騎乘位榨乾你的性慾，就不會對其他女人有想法了 保險套就是要確保交合的時候可以盡情享受！在騎乘位恩愛的時候，盡情射出來也沒關係喔！\n(C97) [INFINITY DRIVE (京極しん)] SALVAGE (艦隊これくしょん -艦これ-)\n這本渣男男主把女主當作發洩工具，戴套為得是迴避掉懷孕的責任。這本很不錯，有把保險套的質感、前端儲精囊的畫面很好的表現出來，後入內射的畫面更是一絕。後面還有有趣的「手動注入精子」復仇計畫www\n(COMIC1☆11) [うすべに屋 (うすべに桜子)] 既成事実の作り方♥ (艦隊これくしょん -艦これ-) 到處灑滿保險套的事後畫面 # 女主準備了一大盒保險套喔～ 但男主精子彷彿用不完一樣，幹到整盒套子用完，反殺年上女主。第一次還要幫忙戴上，後面就得男主自行更換彈藥了。\n(C84) [ハイパーピンチ (clover)] サービスタイム (やはり俺の青春ラブコメはまちがっている。) 我有戴套所以可以幹了吧！正太強硬的戴套硬上，瘋狂射精，射到所有套套用完\n(C88) [ゆ。 (ユズリハ)] 正規空母の姦通事情 改二 (艦隊これくしょん -艦これ-) 讓女方幫你用嘴戴，最後幹到床上到處都是套子\n(C85) [LemonMaiden (蒼海)] LovelyBlackRabbitS (IS＜インフィニット・ストラトス＞) 要上了喔！多名處男戴著保險套，進行性教育性交。最後留下滿是保險套的慘烈場景。\n(C90) [H-SQUAD (ぐりえるも)] 保健体育実習授業～女の子の身体のしくみ編～ 跟戴套幹比起來，果然還是無套比較爽吧。\n(C92) [フニフニラボ (たまごろー)] マオフレンズ (ポケットモンスター) 這本搞笑的地方在於，明明是同樣緊緻的穴，戴套時雞雞軟趴趴，一聽到說可以無套的時候，尺寸馬上暴增\u0026hellip;究竟男主能不能承受住無套的腔壓呢？ 最後就用喝保險套精液的畫面結尾吧。但是這個表情告訴你，嘿嘿還沒完呢！\n(C86) [ぽち小屋。 (ぽち。)] 鈴谷はソレをガマンできない (艦隊これくしょん -艦これ-) ","date":"2024年1月8日","externalUrl":null,"permalink":"/posts/condom-doujinshi/","section":"Nsfws","summary":" 喜歡看到本子裡出現保險套嗎？覺得戴上保險套、射在保險套裡面的描寫讓畫面更色了，能打到你的性癖好嗎？本文就要來分享一連串的色氣保險套本子列表。\n圖片繪師：belko 定義 # 保險套英文為condom，日文為コンドーム。\n為什麼明明是虛擬世界還要看到這礙事的東西？個人認為，看到漫畫角色使用保險套會有背德感，讓人覺得做愛只是一種純粹追求快樂、情趣的行為，而非為了生育，所以才叫避孕套嘛。使用保險套時，男女雙方基於本能的欲望進行性交，卻無法真的懷孕，圖的僅是感官、精神上的歡愉。此時的精子不再為了繁殖而存在，射精不過是歡愉結束的信號罷了，拔出體外後，裝滿活力的精子的保險套被丟到沒有生氣的角落。卵子獨守空閨，保險套擋住精子結合。最後卵子死亡變成月經碎片排出，隨著女性衛生棉丟棄在垃圾桶裡面，而旁邊躺著的是就是殘留精液的濕漉漉保險套，僅存的精子在死亡前仍賣力游動尋找卵子所在，追求那未竟的生育夢想。 ","title":"分享描寫保險套場景的同人本列表，套住你的性癖","type":"nsfw"},{"content":" 本篇文章要列出那些將陰道內部畫的最為血賣賁張的作品！小穴緊得彷彿能夾死你的體驗 (tight pussy)。\n陰道本來就是會有一定緊度，才能刺激陰莖射精。這裡要強調「夾的很緊」，加強感官刺激的。\n要讓畫面看起來陰道夾的很緊，通常會搭配斷面圖，表現出「雞雞被陰道壁擠壓」的狀態；或者是「陰道過於緊緻導致雞雞只能死命撐開」，最終大爆射的樣子。\n「子宮親吻龜頭」、「龜頭插入子宮」也可以側面描寫夾的很緊的感覺。\n儘管蘿莉本比較容易找到很緊小穴的畫面，但只要繪師功力好，照樣可以把成年女性的陰道做極細節之刻劃，變成榨死人的道具。\n斷面圖即解剖圖，英文稱呼為X-ray，即是畫出人體解剖構造的表現。有人的性癖好就在這裡，他們覺得透視子宮被內射的斷面圖會覺得更好尻，有些人還會追求卵子受精的畫面。\n通常只有二次元的媒體才可能出現斷面圖，三次元只能靠內視鏡或者照X光。來，看這個在PTT ac_in分享的圖片，你尻的下去我隨便你。 從實際照片可得知，很多漫畫家的基本功不行，就會畫出跟現實生活差得多的景象。\n不過嘛，漫畫是看爽的，偏離現實又沒差，看起來好尻就行。\n第一張，陰莖被小小的陰道口纏住，再由陰道壁緊緊的包覆著，用力對小小的子宮射精。\nKAMINENDO.COR - デキコンカッコカリ弐 科學一點，正常來說是很難頂到子宮的\u0026hellip;當然女方年紀沒過期的話除外（？）。\n接著請看，伊東ライフ的陰道畫法。他的風格常常是這樣的：初期女方的陰道壁看似寬鬆，但是插入後會開始擠壓陰莖，變成下面的構圖。此時我都懷疑，這到底是角度錯位的表現，呈現完全包覆的樣子；亦或是這種膣圧是真的要以壓扁陰莖的氣勢逼迫男性射精。\n伊東ライフ - ゆるゆるぬきぬき北上さん弐 伊東ライフ畫的陰道壁都好像腸子，軟嫩軟嫩的，是要營造出溫柔的氣象嗎？至少該說是觸手的觸感吧\u0026hellip;起碼作者有畫出光澤。\n再來是世界最速のパンダ擅長的蘿莉小穴，後入式觀望著極致狹窄的陰道入口，陰莖插入後被緊緊的包覆住。\n世界最速のパンダ - ウチのフォーリナーがトイレの場所も守らない悪い猫だったので物理的手段で躾ける話 老實說要不是這本劇情有前後鋪墊，否則這個畫面根本算不上什麼。小◯生的陰道固然緊，可是沒有皺摺，那也只是壓迫感很重罷了。嚄嚄嚄\u0026hellip;背德感不就是看漫畫的人所追求的嗎？我想光表現出後背面＋小◯生緊致穴＋強力抽送，應該就讓很多人跟著大爆射了吧。\n如果說要畫出飛機杯廠商那樣唬爛的小◯生陰道，這本應該可以，小穴入口小，插入後好像又能頂到肺一樣的短小、緊緻。\n[ニャリャポンガ (世界最速のパンダ)] バニ♡だく たまごろー的陰道雖然畫得很緊，但靠北啊，這個陰道是小腸絨毛要吸收養分嗎。\nたまごろー - チビッコビッチXY 不要看異形，看第一次無套的男方被女方夾到恍神、隨後射精比較爽吧。\n[フニフニラボ (たまごろー)] マオフレンズ SHIS的本子展現出了巨根頂住小小子宮的震撼畫面，陰道入口緊緊的纏繞著陰莖根部，前端龜頭又跟子宮口接吻著。\n[SHIS (Zトン)] しゃあないなぁ 雖然有點離題，但請看這個跟子宮接吻的表現，甚至會主動吸取精子呢，也算是夾很緊致的表現吧。有些純愛的本子女方會喊著說「請讓我受精吧」的淫言亂語，增進雙方的恩愛時的感情。\nでらうえあ - ノンナさんの無抵抗 -睡眠姦開発編・悪戯編セット- 現實生活中子宮降下來是脫垂吧，去看醫生。\n說到子宮脫垂\u0026hellip;確實有這種玩法呢。那整根頂進子宮的如何呢，陰莖被狹窄又肉厚的子宮口緊箍住，那狹窄的子宮口將裡外的世界隔開，內部的世界是什麼我們沒法觀測，穿過後又是另一片天地。這本的形容說子宮內部是有舌頭溫柔舔著那樣的酥麻感覺。\n悶亭 - 孕ませコレクション2～潜水艦娘(処女)も催眠術で孕ませ放題～ 怎麼越來越重口了啊喂。話說這樣根本不會爽，觸感應該像人家說的用素肚來尻。子宮頂破就要緊急送醫了吧，現實中的說法是黃體破裂什麼的\u0026hellip;\n進入最後的高潮前，來看一個比較扯的。這個子宮口畫的像是黑洞，或說是千年眼一樣。塵封已久的過期小穴張開後，尚無法觀測內部的樣子。然後在央求射精後，終於張開，並使出女人的本氣，縮緊陰道，將盤據在外的男方精子一榨而光，順勢流入受精。\n絵援隊 - マリオネットクイーン：4.0.0 可憐呢，在被催眠的情況下還是有繁殖的本能爆發。或許有人就是愛看這類NTR的吧。\n在討論的最後，就是覺得這本是目前看過的超級大殺器。在挑逗女方小穴許久後，才終於賞賜肉棒。插入後馬上遭到強烈夾擊，這樣的報復可通過螢幕清楚感受到。這本二人都很恩愛呢。不論這一畫面，就是整本的體位和表現都能讓人一直想射精。\nTRY\u0026amp;方言二人社会 - 性処理サーヴァント IN マイルーム 這本表現出了好恐怖的膣圧，一次全部壓上來，動彈不得的樣子。再搭配裡面的各種體位描寫，巨乳蕩漾的樣子，可以說是上乘作品了。\n","date":"2024年1月8日","externalUrl":null,"permalink":"/posts/tight-pussy-doujin/","section":"Nsfws","summary":" 本篇文章要列出那些將陰道內部畫的最為血賣賁張的作品！小穴緊得彷彿能夾死你的體驗 (tight pussy)。\n陰道本來就是會有一定緊度，才能刺激陰莖射精。這裡要強調「夾的很緊」，加強感官刺激的。\n要讓畫面看起來陰道夾的很緊，通常會搭配斷面圖，表現出「雞雞被陰道壁擠壓」的狀態；或者是「陰道過於緊緻導致雞雞只能死命撐開」，最終大爆射的樣子。\n「子宮親吻龜頭」、「龜頭插入子宮」也可以側面描寫夾的很緊的感覺。\n儘管蘿莉本比較容易找到很緊小穴的畫面，但只要繪師功力好，照樣可以把成年女性的陰道做極細節之刻劃，變成榨死人的道具。\n斷面圖即解剖圖，英文稱呼為X-ray，即是畫出人體解剖構造的表現。有人的性癖好就在這裡，他們覺得透視子宮被內射的斷面圖會覺得更好尻，有些人還會追求卵子受精的畫面。\n","title":"分享一些小穴很緊，子宮斷面圖「很會夾」的本子","type":"nsfw"},{"content":"本文示範使用Docker部署Sonarr ＋ Jackett ＋ qBittorrent ＋ Jellyfin ＋ LunaSea的過程。 目標是在Linux伺服器，透過Docker架設Sonarr，跑自動BT動漫影片下載服務，並透過Jellyfin影片伺服器串流播放。\n這樣的話，就可以建立自動追劇、追新番的服務了。\nSonarr為專門下載電視劇和動漫的服務，由於架設過程類似，Radarr（下載電影）、Lidarr（下載音樂）、Readarr（下載電子書）的用戶也可以參考之。\n1. Sonarr與相關服務介紹 # Sonarr為一款開源的BT下載管理器，支援Linux/Windows/macOS，提供非官方Docker映像檔。 為什麼叫做Sonarr？Sonarr以前叫Nzbdrone，用來下載nzb檔(P2P專用的檔案格式)，後來也能下載torrent檔案。sonar本身是聲納的意思，加二個r可能是為了取個搞笑的特別名字。於是乎類似Sonarr的軟體都依循此字尾重複的取名規則。\n現在Sonarr支援下載Usenet與BT種子資源，我用比較常見的BT當例子。\n用Sonarr好處在哪？試想過去手動下載BT種子的流程：到特定網站手動取得.torrent檔案，再手動開啟BT客戶端，開始下載做種，事後還要手動整理檔案。\n在安裝Sonarr後一切就可以自動化了，省去了手動找torrent檔案的麻煩，直接在網頁介面搜尋即可。Sonarr可以跟BT下載軟體協同作戰，自動搜尋網路種子，自動取得電視劇的資訊，再自動分類下載後的內容。\n那麼Sonarr扮演的具體角色為何？請看RapidSeedbox製作的原理圖：Sonarr透過類似RSS的索引服務，找網路上的種子檔案，並將其傳給BT下載軟體。 Sonarr可視作下載BT影片的「控制中心」，集中追蹤BT種子，自動按照畫質、語言、特定集數的搜尋條件去找種子，並在下載後自動將影片分類到各個資料夾。\n要讓控制中心正常運作，需要加入索引服務讓Sonarr搜尋網路資源，接著Sonarr才能呼叫BT軟體執行下載任務。\n為此要準備：\n種子索引器(Indexer)：我使用Jackett做索引方案，整合了許多BT索引器。Jackett本身是代理服務，將Sonarr的查詢字串轉譯為http請求，查詢種子追蹤器網站之後再將結果傳回Sonarr。 BT下載軟體：Sonarr支援搭配uTorrent、qBittorrent、Deluge、Flood使用，我選擇qBittorrent。這篇文章我會把BT軟體容器化，並用網頁存取，無須在本機安裝BT軟體。 Sonarr：控制中心本體，架起來後用網頁存取。其實Sonarr有很多分支版，功能大同小異，最常見的是Radarr、Lidarr、Readarr，linuxserver.io多半有打包好的Docker映像檔。這裡使用的Sonarr是專門下載電視劇和動漫之用。 （選擇性）商業VPN服務：讓電腦或Docker容器連上VPN再行下載BT，降低被抓的機率。推薦Mullvad或ProtonVPN，搭配Gluetun讓容器走VPN連線。 （選擇性）Jellyfin：影音伺服器軟體。雖說BT下載的影片會直接進到硬碟資料夾，可直接任意播放器開啟觀看，我們何不進一步將用途擴充呢？建設一個串流伺服器，BT下載的影片，交給Jellyfin立即掃描整理，就可以透過其他裝置串流觀賞。 （選擇性）內網穿透軟體：例如TailScale或ZeroTier，讓我們可以遠端操控Sonarr與相關服務。\n2. 以Docker部署Sonarr # 我使用linuxserver.io打包的Docker映像檔，這裡要跑3個服務：\n一、Sonarr：服務本體\n二、Jackett：索引服務\n三、qBittorrent：BT下載服務\n利用docker-compose方便管理三個服務。若有其他服務也可以一併寫在同一個docker-compose。\n安裝Docker\n依序建立三個服務存放資料的目錄\ncd ~ mkdir -p sonarr jackett qbittorrent 進入Sonarr目錄 cd sonarr 撰寫docker-compose。我的家目錄路徑為/home/user/。 --- services: sonarr: container_name: sonarr image: lscr.io/linuxserver/sonarr:latest restart: unless-stopped ports: - 8989:8989 # Sonarr網頁界面通訊埠 volumes: - /home/user/sonarr/config:/config # 設定檔目錄 - /home/user/sonarr/tv:/tv - /home/user/sonarr/downloads:/downloads # Sonarr與qbittorrent共用的下載目錄 environment: - PUID=1000 #使用一般使用者跑服務 - PGID=1000 - TZ=Asia/Taipei # 時區設定為Asia/Taipei jackett: container_name: jackett image: lscr.io/linuxserver/jackett:latest restart: unless-stopped ports: - 9117:9117 # Jackett的API通訊埠 volumes: - /home/user/jackett/config:/config # 設定檔目錄 environment: - PUID=1000 - PGID=1000 - TZ=Asia/Taipei qbittorrent: container_name: qbittorrent image: lscr.io/linuxserver/qbittorrent:latest ports: - 8080:8080 # qBittorrent的網頁介面通訊埠 - 6881:6881 - 6881:6881/udp restart: unless-stopped volumes: - /home/user/qbittorrent/config:/config # 設定檔目錄 - /home/user/sonarr/downloads:/downloads # Sonarr與qbittorrent共用的下載目錄 environment: - PUID=1000 - PGID=1000 - TZ=Asia/Taipei - WEBUI_PORT=8080 # qBittorrent的網頁介面通訊埠 啟動全部服務 sudo docker compose up -d 注意：下面將一律用網頁存取服務，本機的話就是localhost。如果您是從另一部裝置存取，那麼網址就要打該機器的IP，例如192.168.0.11。\n3. 設定索引器Jackett # 先到Jackett設定要使用的索引。可以添加多個索引，比方說我中英文字幕的影片都能接受，就把英語系與中文系的加入。\n瀏覽器開啟：http://localhost:9117\n點選Add Indexer按鈕 勾選三個動漫索引器：Anime Tosho（英文）、Anime Time（英文）、Simple Anime（中文），點選Add Selected 保持這個頁面開著。\n4. 設定BT軟體qBittorrent # 開啟WebUI：http://localhost:8080 註：qBittorrent Docker版可能會遇到unauthorized錯誤，解決方法見此 關閉容器服務 cd ~/sonarr docker compose down 找到~/qbittorrent/config/qBittorrent/qBittorrent.conf，在末尾加入 WebUI\\HostHeaderValidation=false WebUI\\CSRFProtection=false 重新啟動容器服務 docker compose up -d 登入網頁界面，預設帳號admin，預設的密碼請執行docker logs qbittorrent，看輸出訊息裡隨機產生的數字。 點選Tools → Options → WebUI → Languages，設定語言為中文。再於「驗證」處修改預設帳號密碼。 在「連線」與「速率」頁面，自行估量網路性能，設定下載與上傳數。 保持此頁面開著。\n5. 設定Sonarr的追蹤內容 # 本節連線的時候可能需要填寫伺服器區域IP或容器的IP。用docker ps查看全部容器的名稱，再用docker inspect \u0026quot;容器名稱\u0026quot; | grep \u0026quot;IPAddress\u0026quot;取得特定容器的IP。 開啟Sonarr網頁介面：http://localhost:8989\n點選左邊的Settings 依序設定：\n5.1. Media management # 下載目錄的命名規則。如果要搭配Jellyfin串流影片，則這裡的設定就很重要，有助於Jellyfin爬取到正確影片資訊。 接著設定下載的root folder，指向/downloads。每部動畫它應該會自動新增一個資料夾存放。 切換到General → Security，Authentication選Login Page，設定Sonarr網頁登入的帳號密碼。 5.2. Profiles # 點選Language Profiles。 我設定優先度依序為日文、英文、中文。這樣Sonarr就會優先搜尋日語版影片，而不會抓到配音版。 5.3. Indexer # 由於我有3個索引，每個索引都要手動添加一次\n點選使用Torznab協定 回到Jackett網頁，點選索引器旁邊的Copy Torznab Feed複製網址，還有右上角的API Key。 回到Sonarr頁面，在網址貼上Copy Torznab Feed網址和API Key。記得網址的localhost要改成Jackett容器的區域IP 如圖勾選Categories，設定TV/Anime 點選Test按鈕，確認能否正常連線，再按Save\n以此類推，將3個索引器新增上去。 5.4. Download Client # 列表選取qBittorrent 填入qBittorrent的容器IP(同樣要使用Docker容器的IP)，以及WebUI的帳號密碼 你可能要勾選Content Layout，選取subfolder，強制所有下載的檔案都新增一個目錄。\n點選Test，確認能否正常連線，後按Save。\n6. 實際下載動漫影片 # 回到Sonarr首頁，直接搜尋動漫。透過TVDB可以找到更精確的電視劇名稱，英文為佳\n直接模糊搜尋名字也可以，比方說\u0026quot;spy family\u0026quot; 點選加入監測列表，設定搜尋1080p畫質的影片 預設是搜尋整季的，旁邊的書籤符號代表追蹤的集數。 之後Sonarr就會開始搜尋種子。按照我上面的Profile語言設定，搜尋到影片的應該是日語版為主，有的則是內嵌多國字幕的版本。 找到種子後會自動新增下載任務，傳給qBittorrent。 qBittorrent的網頁界面也可以繼續、暫停下載任務。 Sonarr首頁會顯示進度條，綠色代表下載完成，藍色代表下載中，紅色代表缺少集數，橘色代表缺少集數且尚未監測。 下載後，開啟對應的硬碟目錄/home/user/sonarr/downloads，影片就可以看了。 7. 如果Sonarr找不到種子可下載 # 排除種子全死光的情況下\n參考官方文件的建議\n試著新增更多索引器，嘗試降低畫質搜尋需求，設定為Any，無魚蝦也好。\n或者回歸手動下載：到Jackett網頁介面直接搜尋.torrent檔案，往往可以找到更多結果。下載後上傳到qBittorrent的網頁介面。 8. 透過Jellyfin串流影片 # Sonarr的下載目錄可以新增到Jellyfin掃描整理，並串流到手機與電視觀看。\n參見Jellyfin架設過程，將Sonarr的下載目錄掛載進Jellyfin：\nvolumes: - \u0026#34;/home/user/Movies:/Movies:ro\u0026#34; - \u0026#34;/home/user/sonarr/downloads:/sonarr:ro\u0026#34; 再於Jellyfin的後台，設定類型為電視劇，掃描即可。\n9. 用LunaSea手機控制Sonarr下載進度 # Sonarr有提供手機版網頁 若是需要通知功能的，除了利用qBittorrent的電子郵件通知外，還可以考慮用LunaSea。\n參考資料 # Sonarr | Servarr Wiki The Ultimate Guide to Sonarr. - RapidSeedbox Yet Another Radarr and Sonarr Guide - Docker Conversion - Gituhb 使用Sonarr 搭建自动化追番系统 - Reorx\u0026rsquo;s Forge 新追番方案的探索（基于Jackett） - 咪啪 ","date":"2024年1月7日","externalUrl":null,"permalink":"/posts/sonarr-docker/","section":"所有文章","summary":"本文示範使用Docker部署Sonarr ＋ Jackett ＋ qBittorrent ＋ Jellyfin ＋ LunaSea的過程。 目標是在Linux伺服器，透過Docker架設Sonarr，跑自動BT動漫影片下載服務，並透過Jellyfin影片伺服器串流播放。\n這樣的話，就可以建立自動追劇、追新番的服務了。\nSonarr為專門下載電視劇和動漫的服務，由於架設過程類似，Radarr（下載電影）、Lidarr（下載音樂）、Readarr（下載電子書）的用戶也可以參考之。\n1. Sonarr與相關服務介紹 # Sonarr為一款開源的BT下載管理器，支援Linux/Windows/macOS，提供非官方Docker映像檔。 為什麼叫做Sonarr？Sonarr以前叫Nzbdrone，用來下載nzb檔(P2P專用的檔案格式)，後來也能下載torrent檔案。sonar本身是聲納的意思，加二個r可能是為了取個搞笑的特別名字。於是乎類似Sonarr的軟體都依循此字尾重複的取名規則。\n現在Sonarr支援下載Usenet與BT種子資源，我用比較常見的BT當例子。\n用Sonarr好處在哪？試想過去手動下載BT種子的流程：到特定網站手動取得.torrent檔案，再手動開啟BT客戶端，開始下載做種，事後還要手動整理檔案。\n","title":"Sonarr：BT種子管理器使用教學，免費下載電視劇/電影/動漫，Docker部署範例","type":"posts"},{"content":"想用Android手機無線控制另一台Android手機？使用開源免費的RustDesk即可達成！\n我這樣做的動機是想用螢幕正常的Xperia 10 V，當成有綠線的Xperia 5 II手機的螢幕，操控它進行拍照。\n因為Xperia 10 V拍出來的照片慘不忍睹，有時候我還是會拿綠線機出來拍照，用這個方法解決礙眼的綠線。 Sony當年宣傳Xperia可以當Alpha相機的外接螢幕，為什麼Xperia就不能當其他Xperia的螢幕呢？（蛤）\n操作起來像這樣 1. RustDesk方案簡介 # RustDesk是一款全方面的遠端桌面軟體，開源免費，開箱即用。安裝教學\n手機版除了用來控制電腦外，還可以控制其他手機，比方說iOS控制Android，或者Android控制Android。\n透過RustDesk平板控制手機、手機控制平板也是可以的喔！只要被控制的裝置跑的是Android系統即可。iOS由於系統限制，無法被其他裝置控制，只能共享畫面。\n這裡我兩台手機都是Android，所以任一方都可以是被控端。\n2. 設定過程 # 首先到Github下載RustDesk的APK，安裝到二支手機上\n在Xperia 10 V開熱點，讓Xperia 5 II連上。RustDesk在Wifi下走P2P連線會比較順。\n遠端模式下為了防止手勢衝突，我將Xperia 5 II設定為三個按鍵操控。\n在被控端Xperia 5 II開啟RustDesk APP，點選啟動螢幕共享，再勾選「輸入控制」 註：Android13以上系統需要在多工頁面點選RustDesk圖示，到關於APP頁面，點選右上角三個點「解除限制」才可以開RustDesk的無障礙功能。\n然後在Xperia 10 V開啟RustDesk，輸入Xperia 5 II顯示的ID和密碼，就可以遠端控制了，使用觸控手勢都沒問題。 使用還算流暢，可以順暢的看到遠端鏡頭狀況。不玩遊戲應該夠用了。\n同時分享螢幕和錄製影片的話要注意Xperia 5 II手機過熱問題。\n我有遇到部分APP會自動旋轉螢幕的問題，這時可以用Orientation Faker APP，強制固定手機螢幕方向。\n相機鍵無法遠端傳送，或許得用自拍棒藍芽控制。\n3. 替代方案 # ScreenStream：將Android手機畫面投影到瀏覽器。\n更複雜的方案：Scrcpy搭配無線ADB偵錯。\nScrcpy理論上透過無線ADB，搭配甲殼蟲ADB也是可以達成遠端控制效果。\n但如果不是很在乎流暢度我認為用RustDesk會比較輕鬆。\n","date":"2024年1月1日","externalUrl":null,"permalink":"/posts/rustdesk-remote-control-phone-from-another-phone/","section":"所有文章","summary":"想用Android手機無線控制另一台Android手機？使用開源免費的RustDesk即可達成！\n我這樣做的動機是想用螢幕正常的Xperia 10 V，當成有綠線的Xperia 5 II手機的螢幕，操控它進行拍照。\n因為Xperia 10 V拍出來的照片慘不忍睹，有時候我還是會拿綠線機出來拍照，用這個方法解決礙眼的綠線。 Sony當年宣傳Xperia可以當Alpha相機的外接螢幕，為什麼Xperia就不能當其他Xperia的螢幕呢？（蛤）\n操作起來像這樣 1. RustDesk方案簡介 # RustDesk是一款全方面的遠端桌面軟體，開源免費，開箱即用。安裝教學\n手機版除了用來控制電腦外，還可以控制其他手機，比方說iOS控制Android，或者Android控制Android。\n透過RustDesk平板控制手機、手機控制平板也是可以的喔！只要被控制的裝置跑的是Android系統即可。iOS由於系統限制，無法被其他裝置控制，只能共享畫面。\n這裡我兩台手機都是Android，所以任一方都可以是被控端。\n2. 設定過程 # 首先到Github下載RustDesk的APK，安裝到二支手機上\n","title":"透過RustDesk實現手機遠端控制另一部手機","type":"posts"},{"content":"請參考： Linux開源免費的遠端桌面列表\nRustDesk是一款開源免費的遠端桌面軟體，提供電腦遠端控制電腦、手機遠端控制電腦、電腦遠端控制手機、手機控制手機等多種連線方式。\n連線時可以全程自架，也可以用免費公共伺服器連線。資料傳輸經過點對點加密，安全性不用太擔心。\nRustDesk的客戶端還是跨平台的，支援Linux、Windows、macOS、Android、iOS各大系統，未來還會推出網頁版。 1. RustDesk功能介紹 # RustDesk功能特色如下：\n自由軟體，RustDesk為市面上少見的開源遠端桌面軟體，使用上無任何限制，不需要註冊帳號就能用，且RustDesk的授權條款允許商業用途。使用上有任何問題可以到Github issues與大夥一起討論。 操作簡單，RustDesk設計上跟閉源軟體TeamViewer一樣簡單易用，輸入對方電腦的ID和密碼便可以連線。RustDesk跟VNC、RDP不一樣，它比較像TeamViewer、Splashtop、Anydesk這類整合式的解決方案，開箱即用，使用者不太需要煩惱底層的系統運作知識便可以使用。 連線後二台電腦能夠透過RustDesk共享剪貼簿與上傳檔案。兩邊用戶更是可以開啟對話框傳送訊息，適合用於遠端指導用戶操作電腦。 對開發者來說很方便的TCP通道功能，將本機服務的通訊埠轉發到遠端電腦，用來測試伺服器連線。 即時錄製所有連入連線，檢查電腦使用情況，監視是否有他人操作電腦的痕跡。\nRustDesk能傳輸遠端音效到本機，且支援GPU硬體加速，讓串流時的畫面更為流暢。不過如果你想玩遊戲建議還是用Moonlight ＋ Sunshine比較好。\n關於資安問題，RustDesk是自由軟體，原始碼放在Github可供大眾檢驗。預設連線會走公共中繼伺服器，並透過點對點加密連線。若你覺得公共伺服器服務不夠穩定的，可以自行搞P2P連線，或者自架一個RustDesk的中繼伺服器。\n2. 如何安裝RustDesk # 電腦版 # 到RustDesk的官方Github，翻到Latest標籤處，點選Show all assets，按照你的作業系統下載RustDesk安裝檔。RustDesk主程式同時包含控制端與被控端的功能。 Windows下載.msi安裝。\nmacOS下載.dmg檔之後點兩下安裝。\nLinux系統，RustDesk支援Ubuntu、Fedora、Arch系發行版。安裝RustDesk時候建議使用原生套件，Flatpak版RustDesk只能當控制端，無法當被控端。\n下載對應Linux發行版的安裝包，用指令安裝。請注意架構，大部分電腦應該要下載的是x86_64的RustDesk安裝包。\n# Ubuntu sudo apt install ./rustdesk-*.deb # Fedora sudo dnf install ./rustdesk-*.rpm # Arch Linux (或者從AUR裝rustdesk-bin) sudo pacman -U ./rustdesk-*.pkg.tar.zst # 如果沒有你系統的套件，就下載AppImage版 ./rustdesk-*.AppImage RustDesk支援X11與Wayland桌面，Wayland的話請確保你的Linux系統有安裝XDG Desktop Portal和PipeWire套件以便共享螢幕。關於無人值守存取，X11桌面連線的時候不需要遠端確認，而Wayland桌面的話需要手動透過XDG Desktop Portal選取一次螢幕，之後Rustdesk會記住那個螢幕（如果需要選取其他螢幕，在Rustdesk設定裡面清除記住的選項）。\n你可以把RustDesk加入到Linux開機自動啟動程式。注意RustDesk必須要登入Linux桌面才可以啟動遠端連線。\nsudo systemctl enable rustdesk 如果RustDesk無法透過Systemd自動啟動，可能要改用XDG Autostart的方式來自動啟動：\ncp /usr/share/applications/rustdesk.desktop ~/.config/autostart/ 手機版 # Android可以到Github或者F-droid下載。前者更新速度比較快。\niOS到App Store下載。\n網頁版 # RustDesk網頁版，只有客戶端功能，尚在測試中。\n網址：https://rustdesk.com/web/\n3. RustDesk使用方式 # 使用例1：遠端連線到電腦桌面 # 在電腦上開啟執行RustDesk，允許其通過防火牆。畫面左邊會顯示一組隨機的ID和密碼。必須確認下方有無顯示「已連上RustDesk網路」 在另一部電腦開啟RustDesk，輸入遠端電腦的ID 輸入密碼，或者在要連線的遠端電腦螢幕上按下暫時同意連線 之後便能進行操作，實測播放影片，畫面和音訊延遲還算OK，並且可以使用選擇用遠端電腦的輸入法輸入，或者使用客戶端的輸入法。 RustDesk連線時會嘗試讓二個裝置P2P，失敗的話才會走公共中繼伺服器傳輸訊號。雖然說能連線，但是公共中繼伺服器延遲高，可以的話建議自行搞P2P連線（見下文）\n使用例2：手機遠端控制手機 # 手機不只可以用RustDesk控制電腦，還可以讓其他裝置控制手機。\n你可以Android控制Android，或是iOS控制Android。但因為iOS的系統限制，iOS無法成為被控端，只能投影畫面。\n詳細作法參見：透過Rustdesk實現手機控制手機\n使用例3：連線到headless伺服器 # 即使伺服器沒有接上顯示器，RustDesk照樣能夠連線。\nRustDesk提供了CLI界面，允許透過指令編輯設定。\n以樹莓派伺服器為例，參見：用RustDesk連線到headless的Linux伺服器\n4. 使用P2P連線 # RustDesk連線時會嘗試讓二個裝置P2P，失敗的話才會走公共中繼伺服器傳輸訊號。\n雖然可以連線，但是公共中繼伺服器要比P2P延遲高些。\n要想改善延遲，除了自己架個中繼伺服器外，你還可以想辦法讓二個RustDesk裝置P2P，這樣的話連線就不會走中繼伺服器了。比方說讓二個裝置位於同一個內網，讓二部裝置P2P。\n但若是二部裝置位於不同網域呢？請參見：RustDesk + Tailscale內網穿透，IP直連\n5. 自架RustDesk中繼伺服器 # 參考自Self-host :: Documentation for RustDesk\n架設中繼伺服器(relay server)，讓二台電腦連線走自己的伺服器，即可改善Rustdesk的回應速度。首先您需要一台Linux伺服器，x86或ARM架構都可以，這邊以x86為主。\n登入Linux伺服器，安裝Docker。\n新建docker-compose\nvim docker-compose.yml 填入以下內容 networks: rustdesk-net: external: false services: hbbs: container_name: hbbs ports: - 21115:21115 - 21116:21116 - 21116:21116/udp - 21118:21118 image: rustdesk/rustdesk-server:latest # 在這裡填入您的伺服器IP或是域名 command: hbbs -r example.com:21117 volumes: - ./data:/root networks: - rustdesk-net depends_on: - hbbr restart: unless-stopped hbbr: container_name: hbbr ports: - 21117:21117 - 21119:21119 image: rustdesk/rustdesk-server:latest command: hbbr volumes: - ./data:/root networks: - rustdesk-net restart: unless-stopped 啟動服務 sudo docker compose up -d 開放防火牆通訊埠 sudo ufw allow 21115:21119/tcp sudo ufw allow 8000/tcp sudo ufw allow 21116/udp 接著開啟RustDesk客戶端，點選設定 → 網路 → ID/中繼伺服器。填寫第一個欄位，輸入\u0026lt;伺服器IP\u0026gt;:21116，剩下讓RustDesk自己判斷，再按下確認。 6. 改善RustDesk延遲問題 # RustDesk公共伺服器品質不穩，所以要自行解決連線問題。請使用上述的「P2P連線」或者「自架中繼伺服器」方案。\n如果還是不行的話，嘗試：\n在遠端電腦的RustDesk點選設定 → 一般，啟用硬體解碼（記得遠端電腦需要安裝Intel、AMD、Nvidia顯示卡的驅動）。\n調整RustDesk客戶端的連線設定，畫質改成「回應速度優先」。或是點「自訂模式」，調低位元率和FPS。 修改編碼器：RustDesk連線的時候會自動依照網速調整畫質，嘗試使用不同的編碼器，改善頻寬佔用。其中H.264是最不耗費硬體資源的編碼器，但是頻寬佔用高。如果條件允許的話請嘗試H.265或AV1編碼器。\n降低遠端桌面的解析度也是個解法，譬如4K修改為1080p以下。RustDesk目前沒有這個功能，需要使用者手動修改。\n","date":"2024年1月1日","externalUrl":null,"permalink":"/posts/setup-rustdesk/","section":"所有文章","summary":"請參考： Linux開源免費的遠端桌面列表\nRustDesk是一款開源免費的遠端桌面軟體，提供電腦遠端控制電腦、手機遠端控制電腦、電腦遠端控制手機、手機控制手機等多種連線方式。\n連線時可以全程自架，也可以用免費公共伺服器連線。資料傳輸經過點對點加密，安全性不用太擔心。\nRustDesk的客戶端還是跨平台的，支援Linux、Windows、macOS、Android、iOS各大系統，未來還會推出網頁版。 1. RustDesk功能介紹 # RustDesk功能特色如下：\n自由軟體，RustDesk為市面上少見的開源遠端桌面軟體，使用上無任何限制，不需要註冊帳號就能用，且RustDesk的授權條款允許商業用途。使用上有任何問題可以到Github issues與大夥一起討論。 操作簡單，RustDesk設計上跟閉源軟體TeamViewer一樣簡單易用，輸入對方電腦的ID和密碼便可以連線。RustDesk跟VNC、RDP不一樣，它比較像TeamViewer、Splashtop、Anydesk這類整合式的解決方案，開箱即用，使用者不太需要煩惱底層的系統運作知識便可以使用。 連線後二台電腦能夠透過RustDesk共享剪貼簿與上傳檔案。兩邊用戶更是可以開啟對話框傳送訊息，適合用於遠端指導用戶操作電腦。 ","title":"RustDesk使用教學：開源免費遠端桌面，支援Linux、Windows、macOS，可自架伺服器","type":"posts"},{"content":"","date":"2023年12月31日","externalUrl":null,"permalink":"/tags/syncthing/","section":"標籤","summary":"","title":"Syncthing","type":"tags"},{"content":"Joplin可以將同步對象設定為單一目錄，方便你在多個裝置之間同步。比如指定一個Joplin目錄，透過Syncthing，即可在電腦與手機上的Joplin客戶端存取該目錄的檔案。\n這樣的好處是自動同步的任務不再是由Joplin的雲端負責，而是Syncthing承擔。Syncthing可以背景自動執行，彌補Joplin需要開啟APP才能同步的缺點。\n此外Syncthing不依賴第三方伺服器，資料都在你手上。\n支援的系統：Linux、Windows、macOS、Android。iOS因為不支援其他APP存取檔案系統，因此不能使用Syncthing的方案。\n不過要用Syncthing的是假定你需要一台裝置永遠都在線上，才可以做到多裝置同步。例如你寫完筆記，出門把電腦關機了，手機就無法同步了呀！必須要有一台伺服器隨時在線上，其他裝置才可以從那邊抓資料。且考量最糟情況，萬一手機電腦平板同時爆炸，筆記全無的情況，最好還是定期備份筆記檔案到雲端。\n你可以把檔案目錄想成是本機的Ondrive，Joplin是同步兩邊的檔案，不是主從式的同步架構。\n\u0026hellip;如果你覺得這樣做很麻煩，還是乖乖將同步目標設為OneDrive或Dropbox吧。\n1. 從現有的雲端遷移到Syncthing # 如果你一個記事都還沒寫請跳過這段。\n比如我現在是使用OneDrive，要遷移到本機目錄，絕不是直接複製目錄這麼簡單。\n首先要知道Joplin的同步不是單向，而是雙向，如果你讓Joplin同步到空的目錄，它會把現有記事本都刪除。\n所以最好的方法是點選檔案 → 匯出，將全部記事匯出JEX。此檔案日後可以無縫恢復所有記事。 再刪除Joplin桌面程式的資料（Linux位於~/.config/joplin-desktop）\n之後開啟空的Joplin，初始化同步到新目錄，再將JEX匯入回來。如此一來才能完成遷移。\n如果所有的裝置都要遷移同步對象，那麼也請如法炮製：在一個裝置完成遷移後，再清空其他裝置上Joplin的資料，重新開始同步。\n2. 設定Joplin同步到檔案系統 # 安裝Syncthing，新增一個同步用的目錄/home/user/Syncthing/Joplin\n開啟資料清空的Joplin， 點選工具 → 選項，同步目標點選檔案系統 同步初始化完成後，點選檔案 → 匯入，再將JEX匯入 再點選同步記事，所有的變更就會放到Joplin目錄了。\nAndroid手機也一樣，在清空Joplin資料後，開啟Joplin APP，點選同步到檔案系統，選取Android內部儲存空間的Syncthing/Joplin目錄。\n","date":"2023年12月31日","externalUrl":null,"permalink":"/posts/joplin-sync-to-syncthing/","section":"所有文章","summary":"Joplin可以將同步對象設定為單一目錄，方便你在多個裝置之間同步。比如指定一個Joplin目錄，透過Syncthing，即可在電腦與手機上的Joplin客戶端存取該目錄的檔案。\n這樣的好處是自動同步的任務不再是由Joplin的雲端負責，而是Syncthing承擔。Syncthing可以背景自動執行，彌補Joplin需要開啟APP才能同步的缺點。\n此外Syncthing不依賴第三方伺服器，資料都在你手上。\n支援的系統：Linux、Windows、macOS、Android。iOS因為不支援其他APP存取檔案系統，因此不能使用Syncthing的方案。\n不過要用Syncthing的是假定你需要一台裝置永遠都在線上，才可以做到多裝置同步。例如你寫完筆記，出門把電腦關機了，手機就無法同步了呀！必須要有一台伺服器隨時在線上，其他裝置才可以從那邊抓資料。且考量最糟情況，萬一手機電腦平板同時爆炸，筆記全無的情況，最好還是定期備份筆記檔案到雲端。\n你可以把檔案目錄想成是本機的Ondrive，Joplin是同步兩邊的檔案，不是主從式的同步架構。\n…如果你覺得這樣做很麻煩，還是乖乖將同步目標設為OneDrive或Dropbox吧。\n","title":"切換Joplin同步目標，改用Syncthing同步記事本的做法","type":"posts"},{"content":" 自架雲端硬碟就是給個人或者小型組織，架設一個可以分享檔案的伺服器。同樣是分享檔案，Syncthing和Nextcloud有什麼差呢？\n其實二者並不是同一個東西，要看你的用途決定。\n1. 背後原理比較 # 如下圖，Nextcloud通常是中心化的設計，所有檔案放同在一個伺服器，集中管理。然後你就可以用Nextcloud客戶端上傳、下載伺服器的檔案。 Syncthing像是BT軟體，對等式網路，無中心伺服器。每個裝置都會得到一個檔案副本，越多裝置在線上，同步就越快。算是雙向同步。 當然Syncthing也是可以架個中心伺服器（例如在永遠上線的VPS裝Syncthing），設定單向同步，將檔案集中上傳到同一個裝置管理。一切看你的做法。\n2. 功能比較 # 就Homelab的使用情境(不考慮跟外人共享檔案)來看，Syncthing有點類似「Nextcloud Client Sync」的功能，可以讓你在多個裝置存取檔案。\n不過Nextcloud使用WebDav協定，Syncthing則是檔案系統，所以Syncthing速度會比Nextcloud Sync要快一些。\nSyncthing沒有「帳號」的概念，每個裝置都是一個節點互相配對。Nextcloud可以方便設定每個帳號的權限，規定磁碟上限，還可以產生公開檔案分享網址。\nSyncthing只是負責同步檔案的軟體而已，沒有其他功能。\nNextcloud除了當伺服器，還提供記事本、日曆、相簿、影片串流等額外服務，使用者可以自由安裝擴充功能。 參考Sycnthing官方統計數據，因為用途單一，相對來說對伺服器性能要求較低，RAM佔用大部分不到100MB。 而Nextcloud根據官方文件，即使沒裝擴充功能，還是需要512MB以上RAM才可以跑。 3. 使用情境 # 我覺得對想同時使用多部電腦的人來說，用Syncthing是不錯的方案，它可以整個「資料夾結構」同步，更易於你整理檔案。\nNextcloud適合多人團隊存取同一個伺服器上的檔案；Syncthing設定上較為複雜，比較適合私人使用。\n簡而言之，想要有Google雲端硬碟的體驗的用戶，選擇Nextcloud。不怕麻煩的用戶可以選擇Syncthing。\n延伸閱讀 # 如何部署Syncthing 如何部署Nextcloud ","date":"2023年12月31日","externalUrl":null,"permalink":"/posts/syncthing-vs-nextcloud/","section":"所有文章","summary":" 自架雲端硬碟就是給個人或者小型組織，架設一個可以分享檔案的伺服器。同樣是分享檔案，Syncthing和Nextcloud有什麼差呢？\n其實二者並不是同一個東西，要看你的用途決定。\n1. 背後原理比較 # 如下圖，Nextcloud通常是中心化的設計，所有檔案放同在一個伺服器，集中管理。然後你就可以用Nextcloud客戶端上傳、下載伺服器的檔案。 Syncthing像是BT軟體，對等式網路，無中心伺服器。每個裝置都會得到一個檔案副本，越多裝置在線上，同步就越快。算是雙向同步。 當然Syncthing也是可以架個中心伺服器（例如在永遠上線的VPS裝Syncthing），設定單向同步，將檔案集中上傳到同一個裝置管理。一切看你的做法。\n2. 功能比較 # 就Homelab的使用情境(不考慮跟外人共享檔案)來看，Syncthing有點類似「Nextcloud Client Sync」的功能，可以讓你在多個裝置存取檔案。\n不過Nextcloud使用WebDav協定，Syncthing則是檔案系統，所以Syncthing速度會比Nextcloud Sync要快一些。\n","title":"架設私人雲端如何選？Syncthing與Nextcloud功能比較","type":"posts"},{"content":"Remotely control your Linux from Android with a mobile-friendly UI.\n電腦螢幕是橫的，手機螢幕是直的，遠端控制不方便。我想要滑手機的同時滑電腦。\nReddit上有人試過類似構想：Win10 Remote Desktop + tablet mode = poor man\u0026rsquo;s Windows Phone\u0026hellip; great over LAN，利用Windows 10的平板模式，讓電腦在遠端桌面下變成Windows Phone介面。\n這個概念有點複雜，好啦，不如說「把電腦變成雲手機的方案」\n目的是要讓手機的遠端桌面體驗好一些。\n概要 # 近年來Linux行動作業系統相繼出現，例如postmarketOS、Mobian，加上PinePhone的發售，使Linux社群開發了相應的手機界面，例如Phosh、Plasma Mobile、SXMO。Linux也出現許多為觸控螢幕優化的程式.\nLinux最適合電腦和手機使用的UI可能就是GNOME了，可惜它在動態切換解析度的情況仍做得不好，所以還是改用專門的UI吧。\n目前的選手有「Phosh」和「Plasma Mobile」，因為我使用Plasma當主力桌面，所以選擇後者。\nLinux可以安裝多個桌面環境，只要我們同時安裝Plasma和Plasma Mobile，就可以在手機和電腦版的Linux介面切換。\n在遠端桌面的選擇上，我選擇支援Wayland＋觸控手勢的Weylus。\n方案一：Plasma Mobile # Plasma Mobile在Arch Linux要從AUR安裝 yay -S plasma-mobile 重開機，在SDDM選取登入Plasma Mobile (Wayland)\n啟動遠端桌面軟體Welyus，開啟Wayland支援\n手機瀏覽器連線後就可以用行動UI操控Linux電腦了。\n不過電腦螢幕大多是橫的，這就碰到一個問題：Wayland沒辦法強制指定「直」的解析度，所以我使用螢幕旋轉的功能，投影效果如下圖： Android機上看到的遠端Plasma Mobile畫面 這樣只是勉強能看而已：因為螢幕旋轉後，滑鼠和觸控手勢就反過來了啊啊。 方案二：Plasma X11 + XRandr # 桌面版Plasma可以自由排列UI，還有平板模式，所以不需要Plasma Mobile也可以給觸控裝置使用的。\n僅限X11工作階段，參考It\u0026rsquo;s Linux FOSS的教學，用以下XRandr指令新增自訂解析度，在不旋轉螢幕下強制把螢幕變直的解析度。\ncvt 1080 1920 xrandr --newmode \u0026#34;1080x1920_60.00\u0026#34; 176.50 1080 1168 1280 1480 1920 1923 1933 1989 -hsync +vsync xrandr --addmode eDP-1 \u0026#34;1080x1920_60.00\u0026#34; 再調整縮放\nxrandr --outpiut eDP-1 --mode \u0026#34;1080x1920_60.00\u0026#34; --scale 0.5x0.5 X11的觸控手勢可以用Touche補強。\n雖然做了各種調整，Plasma 桌面還是不適合手機使用。 ","date":"2023年12月31日","externalUrl":null,"permalink":"/posts/remote-desktop-linux-mobile-friendly-ui/","section":"所有文章","summary":"Remotely control your Linux from Android with a mobile-friendly UI.\n電腦螢幕是橫的，手機螢幕是直的，遠端控制不方便。我想要滑手機的同時滑電腦。\nReddit上有人試過類似構想：Win10 Remote Desktop + tablet mode = poor man’s Windows Phone… great over LAN，利用Windows 10的平板模式，讓電腦在遠端桌面下變成Windows Phone介面。\n這個概念有點複雜，好啦，不如說「把電腦變成雲手機的方案」\n目的是要讓手機的遠端桌面體驗好一些。\n概要 # 近年來Linux行動作業系統相繼出現，例如postmarketOS、Mobian，加上PinePhone的發售，使Linux社群開發了相應的手機界面，例如Phosh、Plasma Mobile、SXMO。Linux也出現許多為觸控螢幕優化的程式.\nLinux最適合電腦和手機使用的UI可能就是GNOME了，可惜它在動態切換解析度的情況仍做得不好，所以還是改用專門的UI吧。\n目前的選手有「Phosh」和「Plasma Mobile」，因為我使用Plasma當主力桌面，所以選擇後者。\nLinux可以安裝多個桌面環境，只要我們同時安裝Plasma和Plasma Mobile，就可以在手機和電腦版的Linux介面切換。\n","title":"將Linux電腦遠端桌面變成適合手機操作的界面","type":"posts"},{"content":"\u0026ldquo;Let\u0026rsquo;s all love Lain.\u0026rdquo;\n1998年播映的黑暗動畫，「玲音」Serial Experiments Lain，著重探討網路世界與現實世界的關係，適合對哲學和科幻概念有興趣的觀眾觀看。如果你是電腦迷，那麼應該也會對劇中出現的科技名詞感興趣。 本文除了分析劇情外，還包含一些主觀臆測，試圖回答劇中提到的問題。很多人說玲音這部動畫實驗成份高，不好看懂，我這邊也只是吸納了網友的分析，再加上我的個人詮釋而已。一開始確實不好懂，但要是能對到電波，那麼你就會覺得這部動畫真的很有深度。 動畫中帶到的議題現今仍可以讓人思考。\n你認為網路世界應該是無政府的世界嗎？還是有神明主宰？ 你認為現今人手一機的世界，人心有真的互相「連接」在一起了嗎？ 現實世界如此殘酷，網路瀰漫虛無主義，未來是否可以拋棄肉體，活在網路世界就夠了？ 如果你常常混Komica、4Chan、Reddit、PTT應該會想過這些問題，玲音尤其在歐美受歡迎。\n覺得我在文章一開頭就問了一連串奇怪的問題？And you don't seem to understand...\n1. 玲音動畫的音樂 # 玲音的角色設計師為安倍吉俊。\n玲音最讓人印象深刻的元素就是音樂了。\n玲音是少見的用英文歌曲當片頭曲的動畫。片頭曲出自英國另類搖滾樂團 Bôa 的單曲〈Duvet〉。這首可以說是準確的描述玲音的角色特徵，結合動畫片頭的科幻感動畫，一開場就讓人進入迷幻的網路世界。 此外，玲音在每集開頭都會出現「Present Day，Present Time」的一句話。嗯嗯，這句話比Duvet更好理解的多，你要看完全劇才能理解含義吧。那個時候你就會感到一陣毛骨悚然。這句話我覺得可以從雙關語去理解：Lain所享受到的「今天(present)的當下，才是最珍貴(present)的時光」。或者說，動畫裡面講的東西看似是很未來的議題，但其實就是近在眼前發生中的事情呢！\n接著是仲井戸麗市演唱的片尾曲〈遠い叫び〉。 這首歌的悲傷情緒揭示了人與網路之間想分開卻越陷越深的關係，亦預告了玲音最後的命運，要看完整部劇才知道她背負的使命為何\u0026hellip;我滿喜歡歌詞中的兩句的：\n自由を高く買わされた気もするが 我知道我的自由得來代價高昂\n心まで安く売った覚えは無い 卻沒想過廉價的出賣我的靈魂\n除了片頭曲和片尾曲外，玲音的原聲帶也值得一聽，裡面充滿了不安的詭譎氣氛，反應劇中的種種異象。\n2. 玲音劇情解說 # PS1遊戲和動畫在同一年推出，其實是遊戲先製作，但先播映動畫才出遊戲。兩邊算是互相補充世界觀的關係，結局完全不同。\n本節試圖梳理玲音的劇情，將動畫沒有講得很清楚的部份加以說明。不想被劇透請勿點開本節內容。但我下面討論的東西會扯到劇情，所以你還是點開吧。\n動畫劇情概述 在《玲音》的世界觀裡面，Wired就等同我們的「網際網路」。現實世界所採用的網路IP協定目前只有到IPV4和IPV6，下一代協定IPV7只存在紙面上。而《玲音》很有創意，把IPV7變成了一種消弭現實與網路世界隔閡的工具。\n英利政美是一名電腦科學家，任職於橘總研究所，想把Wired跟現實世界的隔閡打破，使人們可以不用網路、手機、電話就可以連接到Wired，讓人類進化到下一階段。於是他在IPV7協定偷偷加入舒曼共振波。計畫被橘總研究所發現後遭開除，隨後英利自殺，但他早就把自己的意識上傳到了Wired，不用肉體也能存活。\nWired上有一個崇拜英利的組織叫做「Knights」，由真實世界各地的駭客組成，協助英利達成計畫。\n生前英利接觸到了Hodgeson教授做的兒童念力研究計畫「KIDS系統」，便獲得了運用人類心靈力量的方法。KIDS系統後被Knights利用，作為干涉現實世界的工具，製造殺人案件。\n原本玲音是存在於Wired上的集體無意識的代表（比Wired更深層的存在），有干涉現實世界的能力，力量遠超KIDS。英利想利用玲音的力量，便給她在現實世界製作肉體，賦予虛假的岩倉一家人，讓她去上學。結果玲音居然有了自己的意識，還有了朋友。\nKnights一直從Wired世界干涉現實世界，並逐步引導玲音進入Wired。玲音的家人買了Navi電腦給她用。\n橘總研究所幕後也持續跟Knights對抗，派出黑衣人與玲音接觸。玲音的姊姊可能受到Knights操控，所以才會變成壞掉的狀態。\n玲音逐漸認識到所有人都是連接著的想法，卻也搞不清楚Wired與現實人格的差別（網路上強勢的玲音形象也可能是Knights偽造的），身邊的人不斷碰到災禍。Knights似乎認為人要連接在一起，直接殺掉比較快。在調查Knights組織製造的一系列事件後，終於找到了英利。\n英利不斷灌輸她不需要肉體的想法，只要打破現實世界的隔閡，有Wired就能活下去。玲音有自我意識，為了反駁英利的說法，決定把崇拜他的Kinghts集團成員給肉搜出來（「神必須要有人崇拜才可以為神」）。沒想到橘總研究所一發現Kinights的名單就把他們都給宰了（這一幕有點像電影教父1的結局XD）\n原本玲音是想破壞英利的神的地位，卻被誘使以自身力量干涉了Wired和現實世界，讓英利的計畫得逞，無意之間成為了神，變成英利的傀儡。\n從第11集的劇情來看，也有可能是橘總研究所不只英利一人想實現IPV7。所以就算把Knights宰了，也會有人繼承英利的計畫。\n在玲音成為神之後，想彌補給愛麗絲造成的痛苦，所以用力量消除周遭人的記憶，只讓愛麗絲記得她的記憶，一切都是為了她好。\n但是愛麗絲不願意這樣，親自到玲音身旁，用活生生心跳，導正玲音拋棄肉體的想法，使得玲音真正的反抗英利，用「IPV7的點子不是你一個人想出來的，你不過是一個代理的神」的邏輯嘴爆英利，最終玲音將暴走的英利殺死。\n可最後愛麗絲被英利嚇到崩潰了，只好直接重置世界，把自己的存在從別人的記憶消除。\n就這樣，別人的記憶沒有玲音就代表一切都不曾發生過，之前死掉的角色，包括英利全都復活，進入另外一個沒有人受傷的宇宙。而玲音則繼續孤獨的活在Wired世界裡。\nPS1遊戲劇情概述 感興趣的玩家可以試試這個，玲音的鋼鐵粉絲做的線上移植版：lain game\n相較於動畫版英雄獻身的結局，遊戲版的結局比較黑暗，更為晦暗難懂。尤其遊戲參雜動畫和音訊，需要自行解謎，不像動畫有個完整的起承轉合。\n雖然世界觀類似，但在遊戲中，玲音設定就是精神病患，疏於與人群交流，擁有干涉現實的能力，想讓所有人在Wired連接在一起。\n中間還做了機器人，自己寫程式讓他動起來，彌補失去爸爸的痛苦。並逐漸把自身的意識轉移到Wired上。\n最終玲音把來治療她的醫生搞瘋了，玲音殺害身邊的人，好讓大家都可以「連接」在一起。最後沒有救贖，玲音開槍自殺，以為這樣可以永遠活在Wired的世界裡面。\n3. 集體無意識和神 # 劇中談到的概念有集體無意識，我認為可以從二個層面去討論。\n第一，集體無意識是比Wired更深層的存在，此假說認為人類的記憶本是共通的，所有人其實本來就是連接在一起的。Wired本身能作為強化連接功能的載體，讓人類更可以達到連接在一起的目的。（想想EVA的人類補完計畫）\n幾乎每集都會出現特寫電線桿的鏡頭，並且持續發出低頻聲，再加上影子有數位雜訊。我想那就是導演暗示網路存在於人們周遭的證據 ——— 即使網路看不到，它還是存在。藉由雜訊暗示人們在網路上的交流活動。 不過，劇中Knights讓「不夠進步」的人類可以連接在一起的方法就是殺掉，例如使用VR遊戲或者服用藥物，或是誘導自殺，真是有夠瘋狂的。\n第二，集體無意識可以代表人們對一件事情的集體看法，最終會成為定見，不論是對是錯。進一步的說，別人對你的看法、對你的記憶，形塑出各式各樣的「我」。\n第10集動畫花了半集的時間在講1947年美國羅斯威爾事件，豐富玲音的劇情。羅斯威爾事件可說是世界上最著名的陰謀論之一了，目前科學說法傾向美國空軍半夜偵察機墜毀，卻被居民當作幽浮，還以為軍方是在掩蓋事實。這就導致了許多謠言的出現，甚至有目擊者出版書籍佐證。今天外星人是小灰人的形象由此而來。\n玲音在意識不清的時候還真的看到外星人進到了自己房間。我覺得這應該不是導演想描寫網友很愛講陰謀論，而是反應玲音對自我身份的認同。俗話說三人成虎，別人怎麼說妳，妳就會逐漸成為那種樣子吧。別人認為妳是神，那麼妳就是神。別人因為你的能力受苦，也可以把妳貶成十惡不赦的形象。 帶出下面問題，何為神？有人崇拜才會成為神，即使只有一個人。英利受到Knights組織崇拜所以成為Wired世界的神。即使Knights組織成員被殺光，還是有自己的親女兒玲音認知他是神。 旁白曾在開頭說過「神是唯一至高的存在。相信神吧，神永遠都站在你這邊」即使那是惡神也要相信嗎？\n最後玲音自己也成為了神，她可以扭轉大眾記憶，讓所有人都愛她（\u0026ldquo;Let\u0026rsquo;s All love Lain\u0026rdquo; 梗的由來）。可是她成為神之後反而讓好友更為痛苦，那麼這樣的神還有什麼樣的存在的必要？ 集體無意識所塑造出來的神，你就可以自稱是神嗎？玲音最後用這句反殺英利。假定集體無意識的記憶是共享的，那麼你自己提出來的見解就不會是你一個人的功勞，所以沒有資格稱自己為唯一的神。\n如果神沒有人崇拜，那就不會再是神。\n4. 什麼是「我」？「我」有沒有存在於世界上的必要？ # 在網路與現實之間，玲音就不斷的問著這個問題。從整個劇情的表現來看，這既回答了哲學上的問題，也包含導演的人文主義關懷，可以作為有同樣疑問的人的參考答案。\n現實生活的我，跟網路上的我是同一個人嗎？一般人要是發現網路可以自由自在，還會隱藏現實生活隱藏的種種欲望嗎？如果在上網的時候肆無忌憚，對比現實的循規蹈矩，那確實可能催生出另一個我了。如果網路上我比較快樂，且要是有方法可以上傳意識。現實生活還有存在的必要嗎？\n現在我們把概念變抽象一點：從「玲音是英利創造的」這個設定來看，她是反過來的程序。她不是在Wired上創造了另一個自己，而是在現實中被創造了新的自己，並且有了意識，有了情感，有了記憶。\n不論是現實與網路上，玲音都有了自己的想法，表現出自己強悍的一面。玲音的人格切換來切換去，是否對應了人們線上線下的性格？ 在英利的眼中，玲音確實只是一個執行命令的軟體，是機器人；但是玲音一旦有了意識，就不再僅是聽命於人的存在，而是真正的人類。\n玲音在動畫說出：「只有一個我，其他的都是別人記憶中的我，所塑造出的形象」，所以「沒有人記得，我就不曾存在」。由此她反駁了集體無意識的學說，人的記憶並非是共享的，每個人僅有對他人印象的記憶。 了解到這個結論的過程十分辛苦。玲音在揭開自己身世的過程中，逐漸找不著自己的存在意義。 甚至絕望的問Navi：「我是玲音，對吧？」 因此玲音才會逐漸被英利的觀念洗腦，差點跟第一集的女學生一樣，以為自殺就可以永遠待在Wired世界。 「妳只是個軟體」（無誤，我不想決鬥） 所幸她最終想起來有願意關心她的存在，那就是愛麗絲。 動畫插入的這一段廣告很有趣，蘋果電腦過去推出的廣告「Think Different」，在這裡有了新的含義。換個想法，違抗你的神，不任由他擺佈。 玲音從與愛麗絲的互動中得到溫暖，知曉自己的存在意義，掙脫了英利一昧想「擺脫肉體」的負面想法。 在這裡賦予了「連接」一個新的意義，不是消極的將所有人連接在一起就好了。如果人與人之間有善意，那麼不需要Wired人心也可以連線。玲音認知到這點，決定自己尋找最終的出路，犧牲自己拯救所有人。 這部冷冽氛圍的動畫，最後以溫暖的淚水結束。 可惜玲音的動畫沒有太多在情緒渲染的部份，畫面張力也不足，所以觀眾如果一時沒看懂，可能會不知道這段在感動三小。\n5. 網路是好東西嗎？所有東西都要連在一起？ # 玲音的動畫把很多電腦科學的歷史事件做延伸想像，給劇情的鋪墊。比如1945年的論文《As We May Think》，以及Xanadu超文本計畫，把單純的網際網路描述成連接所有人的工具。\n在討論到IP協定發展的歷史的時候，導演把這個歷史進程挪用到劇中，讓英利成為第7代IP協定的開發者，讓他有空間施展自己的邪惡計畫。\n另外，現實中的我跟網路上的我還可以延伸出許多議題：網路生態、網路成癮、網路霸凌。\n第7集出現的旅鼠角色，全身穿戴VR設備，處心積慮想加入Knights，卻迷失在Wired世界中，沈迷網路於是死亡。你看看現在每天滑手機的人像不像這種症頭？ 劇中使用許多暗示的手法，展現網路論壇人們交流訊息的方式。玲音穿過網路的各種雜音，花了好幾集才揭露背後的真相。 玲音在1998年就演出了類似VR世界的表現方式，可以說是很先進了。不過劇中可能受限於時代科技無法精準表現VR的使用場景，所以只好把玲音畫成坐在電腦前，只有「精神」進入Wired世界神遊的樣子。\n其實這就像現在網路論壇的樣子不是嗎？網友七嘴八舌的討論話題，「即使是渺小的聲音，在網路世界也能變得受人矚目。」。難怪這部動畫在4Chan那麼受歡迎。 劇中還有另一個玲音在網路上散播謠言、個人隱私，最後被所有人鄙視的場景。這個問題自網路誕生以來便有之。為了讓人們都連線在一起，連好友的隱私都可以出賣？這點值得人們思考是不是要總是掛在線上呀。 網路世界也不總是平靜的。橘總研究所的人認為，Knights這種人專門搞破壞，還自以為是在搞革命 裡面有一幕讓我想到中國網友常說的「互聯網不是法外之地」XDD Wired不是另一個世界，而是現實世界的增強物而已。 我贊同劇中黑衣人的看法，現實世界和網路世界還是有一定區隔開來比較好，不能互相交融在一起。\n難以想像1998年的動畫就可以準確預測到現今的網路世界現象。\n6. 電腦迷看了會覺得有趣的橋段 # 如果對電腦科學有興趣的，就會在玲音劇中看到許多熟悉的名詞。\n劇中的「Wired」等同現實世界中的「網際網路」。我覺得這個名字可能是影射美國雜誌《Wired》吧，這本雜誌歷史悠久，專門報導駭客文化。\n上面說過玲音把歷史上科學家發展網路的過程，用來鋪墊劇情，讓英利政美可以發展IPV7協定。\n劇中有講到IPV7可解決IPV6乘載量的問題。屁啦，位址明明都還沒用完。 這可以說是很狂野的嘗試！英利政美在電腦基礎元件塞個人私貨\u0026hellip;但這種協定不是都要經過國際組織制定標準嗎\u0026hellip;日本愛搞特規是吧。\n這部真的好老了，現在哪個老師會黑板手寫C語言程式的，動畫製作人員真辛苦。 玲音組電腦組到最後家裡都快變機房了，還有水冷系統 為了防止被靜電電到，組電腦時得脫衣服（無誤） 駭客組織還會寄電腦零件給你\u0026hellip;現在這種零件現在只能在古董店看到了呀。動畫中Knights到處散佈的「非揮發性記憶體」零件頗有意思，「新的資料會蓋過舊的資料」。彷彿預見玲音最終的命運。 根據Wiki，玲音的電腦叫做NAVI，可能出自蘋果公司描述的一種裝置「Knowledge Navigator」。ㄘㄟˊ，一開始我以為NAVI是取材自網景瀏覽器(Netscape Navigator)。\nNAVI搭載的作業系統叫做Copland OS，疑似是向蘋果電腦的同名型號致敬。劇中可以聲控，還有酷炫動畫，在1998年有點太先進了吧。 每集片尾結尾的To Be Contiuned，「Be」的配色是向BeOS致敬。這也是跟蘋果公司有關的系統。\n確實有動畫粉絲想仿造動畫做一個「Lain OS」出來，可惜開發處於停滯狀態。現在比較實用的是這個：SDDM主題sddm-lain-wired-theme，可以在Linux還原Copland的登入畫面。\nPsyche是可以讓人暫時無須裝置連線到Wired的藥物，背後是在台灣生產的奈米機器人。原來台灣是科技島兼毒品大國啊（咦） 玲音用手機觸控筆寫Lisp程式，我也想要一台。Copland OS竟是這麼厲害的系統，用Lisp就能改原始碼。 不過，動畫中的手機樣式跟現在觸控式還是有差，比較像手持電腦的概念。\n究竟什麼樣的小孩會隨身攜帶槍枝形狀的手機。 動畫內的種種科技元素\u0026hellip;講不完，更別說玲音其他畫面暗示與藝術表現手法了。\n7. 總結 # 看完這部可能還是沒辦法回答我文首提到的問題，這些問題太廣了無法全數解答。我只是認為，這之中與動畫有所交集，故提出來給大家思考。\n玲音可能是出現最多電腦科學元素的動漫了。導演把這些科技玩意跟哲學融合在一起，使科幻片多了深一層的含義。\n如果僅單純把玲音當作一個「異色」動畫來看未免太浪費了，忽視了背後的議題。\n這裡我做個主觀的總結：玲音的主旨是「人與人之間的連結」\n從劇中玲音與愛麗絲的互動可以看到，所有神什麼的都不重要了。這可以給沈迷網路，疏於人際交流，導致逐漸找不到活著意義的人一個提醒：逃避自己的內心進入網路世界畢竟不是辦法，最終還是要回歸到與人之間的互動，你的存在才有價值。所以玲音動畫不只是在網際網路冒險，同時也是一種心理治療。 參考資料 # Serial Experiments Lain Wiki thought experiments lain - Cornell Japanese Animation Society) 在虛擬與現實的交會之間，日本實驗動畫 Lain 玲音 (1998) 繼新世紀副音戰士後影響全球的冷門經典 - 黑卡雜誌 毒電波 - 玲音Serial Experiments Lain作品介紹與看法 動畫篇 ","date":"2023年12月30日","externalUrl":null,"permalink":"/posts/serial-experiments-lain-review/","section":"Reviews","summary":"“Let’s all love Lain.”\n1998年播映的黑暗動畫，「玲音」Serial Experiments Lain，著重探討網路世界與現實世界的關係，適合對哲學和科幻概念有興趣的觀眾觀看。如果你是電腦迷，那麼應該也會對劇中出現的科技名詞感興趣。 本文除了分析劇情外，還包含一些主觀臆測，試圖回答劇中提到的問題。很多人說玲音這部動畫實驗成份高，不好看懂，我這邊也只是吸納了網友的分析，再加上我的個人詮釋而已。一開始確實不好懂，但要是能對到電波，那麼你就會覺得這部動畫真的很有深度。 動畫中帶到的議題現今仍可以讓人思考。\n你認為網路世界應該是無政府的世界嗎？還是有神明主宰？ 你認為現今人手一機的世界，人心有真的互相「連接」在一起了嗎？ 現實世界如此殘酷，網路瀰漫虛無主義，未來是否可以拋棄肉體，活在網路世界就夠了？ 如果你常常混Komica、4Chan、Reddit、PTT應該會想過這些問題，玲音尤其在歐美受歡迎。\n覺得我在文章一開頭就問了一連串奇怪的問題？And you don't seem to understand...\n1. 玲音動畫的音樂 # 玲音的角色設計師為安倍吉俊。\n玲音最讓人印象深刻的元素就是音樂了。\n玲音是少見的用英文歌曲當片頭曲的動畫。片頭曲出自英國另類搖滾樂團 Bôa 的單曲〈Duvet〉。這首可以說是準確的描述玲音的角色特徵，結合動畫片頭的科幻感動畫，一開場就讓人進入迷幻的網路世界。 ","title":"「玲音」Serial Experiments Lain 動畫劇情解說與個人詮釋","type":"review"},{"content":"本文介紹Syncthing的基礎使用方法，後面再講述如何透過內網穿透軟體實現無線、免Wifi的檔案同步方式。 1. Syncthing簡介 # Syncthing是由Jakob Borg等人開發的自由軟體，方便讓你在多裝置同步檔案。不論是電腦、手機、NAS都可以安裝。\n例如我的使用情境：Android手機 ←→ Linux電腦 ←→ Windows電腦 ←→ Linux筆電，在這幾個裝置安裝Syncthing，就可以高速同步檔案。\n同步的時候每個裝置都會收到一個檔案副本，裝置之間是互相同步的。 Syncthing是開源軟體，不需要註冊。流量無限制，上傳速度取決你的網速；資料傳輸全程加密，資料不會上傳到第三方伺服器。\n可以用Wifi同步，也可以P2P，或是自架中繼伺服器(relay server)，跨網域同步。\nSyncthing同步的是整個資料夾，比方說讓手機跟電腦共享電腦上的DCIM資料夾，兩邊的檔案會互相同步。有點類似Google雲端硬碟「我的電腦」的功能，只不過所有檔案都存在你的裝置上，不會上傳到第三方伺服器。\nSyncthing也是一種無線傳檔案的手段，可以作為SMB、FTP伺服器的替代方案。\nSyncthing支援各大作業系統，如果你有自架服務，還能用Syncthing進行資料同步。例如照片可從手機同步到伺服器，用再Immich管理；或是在各個裝置間同步Joplin筆記資料。\n說到同步檔案，那麼Syncthing與自架雲端硬碟有何差別？為什麼要使用Syncthing而不是Nextcloud？請參見Syncthing vs Nextcloud\n2. 安裝Syncthing軟體 # Syncthing官方程式支援Linux/FreeBSD/Solaris/Windows/macOS/Android系統。\n如果你的伺服器沒有圖形環境也可以裝Docker版，操作介面跟二進位版大同小異。\n2.1. 二進位安裝檔 # 至官網按照你的系統下載Syncthing。\nLinux可以從套件管理器安裝Syncthing。 sudo apt install syncthing 我希望Syncthing是登入Linux桌面環境後才啟動，因此採用Desktop Entry，將其加入到自動啟動的列表 cd ~/.config/autostart wget https://raw.githubusercontent.com/syncthing/syncthing/main/etc/linux-desktop/syncthing-start.desktop 如果你的Linux是當作伺服器用途，請改用Systemd Unit方式來設定Syncthing系統服務。\n重開機，登入，Syncthing應該就會在背景執行了。\nSyncthing預設介面是透過網頁存取的。如果你想要桌面程式，Linux請用Syncthing GTK。\n2.2. Docker版 # 將二進位檔放在容器執行。Docker方案適合部署在NAS或者沒有提供Syncthing套件的發行版。\n撰寫docker-compose，把要同步的資料夾掛載到volumes。此處Syncthing的頂層資料夾是/var/syncthing。Network mode使用host mode。\nversion: \u0026#34;3\u0026#34; services: syncthing: image: syncthing/syncthing container_name: syncthing hostname: my-syncthing environment: - PUID=1000 - PGID=1000 volumes: - /home/user/Syncthing:/var/syncthing network_mode: host restart: unless-stopped 2.3. 手機版APP # Android到F-Droid或Google Play下載\niOS還沒有官方APP，僅有第三方開發的付費軟體Möbius Sync\n3. Syncthing初始設定 # Syncthing預設同步模式是雙向的，只要二台裝置在線上，一邊新增的檔案就會馬上傳送到另外一邊。刪除的話兩邊都會同時刪除。\n讓我們先設定電腦上的Snycthing程式，再設定手機上的，測試二者同步情況。\n請讓二個裝置處於同一個Wifi連線。\n確認Linux電腦上的Snycthing有在執行後，開啟網頁介面http://localhost:8384\n首先按照指示到設定 → GUI，給Syncthing設定一組帳號密碼 點選儲存後頁面會重新載入，以剛剛新增的帳號密碼登入網頁界面。\n現在是什麼都沒有設定的狀態。Syncthing左邊的面板是電腦要分享的資料夾，右上角的面板是本機上傳的狀態，右下角遠端裝置的狀態。 點選左邊Default Folder，按編輯，你會看到它用於同步的資料夾路徑是為/home/user/Sync，Sync就是用於存放同步檔案的資料夾。 你可以自行新增其他同步資料夾，比方說新增~/Root路徑，即指向/home/user/下面的資料夾Root。 另外，Syncthing伺服器的設定檔和log會存在/home/user/.local/share/state\nSyncthing在同步的時候若遇到同樣名稱的檔案會直接蓋掉，你可以啟用「檔案版本控制」讓檔案不會馬上被刪除。 開啟檔案管理員，切換到要同步的/home/user/Sync資料夾，先放個檔案進去 接著開放電腦防火牆通訊埠\nsudo ufw allow 22000/tcp sudo ufw allow 22000/udp sudo ufw allow 21027/udp sudo ufw reload 在手機上開啟Syncthing APP，左邊滑進來，點選「顯示裝置識別碼」，複製下來 在Syncthing網頁介面點選右下角的「新增遠端裝置」，填入手機上顯示的識別碼 點選Default Folder，點編輯，切換到「正在共享」，勾選跟手機分享資料夾。 點選Syncthing網頁左邊的「全部重新掃描」嘗試同步到遠端裝置\n手機應該會收到通知，點選同意連線 手機會收到新增資料夾的請求 給資料夾取名，再點選資料夾圖示（紅框處），設定手機上用於存放同步的資料夾。請在手機內部儲存空間建立Syncthing/Sync結構的資料夾，再點選確定。 幾秒後檔案就會同步到手機上了。網頁界面顯示「最新」代表雙方都已完成同步。 日後你想新增第三個裝置，同樣也是到電腦上的Syncthing點選「新增遠端裝置」。電腦的話記得開啟防火牆。\n4. Syncthing的同步連線方式 # 本節介紹Syncthing的同步原理和連線方式。每個Syncthing裝置都有一組隨機產生的識別碼。Syncthing在傳輸資料的時候會使用TLS加密連線。\n首先是Wifi連線，Syncthing預設會啟用探索模式，二個的裝置在同一個Wifi下就能互相發現對方，進行P2P。 但若是位於不同網路（比方說手機連4G，電腦位於NAT後面），那就不可能P2P。這時連線高機率走官方中繼伺服器。儘管可以連線啦，但速度會很慢。 官方文件推薦的做法是通訊埠轉發(port forwarding)，再讓你的電腦取得公網IP，使其能從外網存取。這樣就不需要走走官方中繼伺服器也可以讓二個裝置P2P，速度比較快。\n而我是使用內網穿透的方式，來讓二個裝置P2P。\n5. 內網穿透軟體搭配Syncthing使用 # 我希望Syncthing不只是可以在內網傳輸，在外網也可以使用。甚至不需要Wifi也能連線。\n就像使用BT軟體一樣，要讓不同網路的二個裝置P2P，你就得將裝置暴露到公開網路。\n但是把電腦暴露給公網很危險，而且若有人可以整天掃我的通訊埠也怪可怕的，我不想讓裝置上的Syncthing伺服器可以被任意探索。\n要解決以上問題，我用內網穿透軟體TailScale或ZeroTier，用VPN的機制讓所有裝置處於虛擬內網，就不需要把電腦暴露給公共網路了，也不需要讓Syncthing開自動探索，加強安全性。\n在裝好內網穿透軟體後，回到Syncthing網頁介面，點選右上角操作 → 設定 → 連線，關閉所有自動探索選項。 剛剛設定的手機同步資料夾應該不會斷掉，只不過你得點選遠端裝置，編輯 → 進階，把「位址」改成tcp://裝置的虛擬區域IP才可以繼續同步。 6. 設定Syncthing單向同步 # 跟雙向同步不同，「單向同步」就是指定一個資料夾，將其做單向傳輸。\n比方說電腦新增一個~/Backup資料夾，點選編輯 → 進階，將資料夾類型設為「僅接收」。這樣在手機新增該資料夾之後，就只會接收手機傳過來的檔案，而不會把電腦端的檔案也同步到手機上。 參考資料 # Syncthing官方文件 Syncthing官方討論區 ","date":"2023年12月29日","externalUrl":null,"permalink":"/posts/syncthing-tutorial/","section":"所有文章","summary":"本文介紹Syncthing的基礎使用方法，後面再講述如何透過內網穿透軟體實現無線、免Wifi的檔案同步方式。 1. Syncthing簡介 # Syncthing是由Jakob Borg等人開發的自由軟體，方便讓你在多裝置同步檔案。不論是電腦、手機、NAS都可以安裝。\n例如我的使用情境：Android手機 ←→ Linux電腦 ←→ Windows電腦 ←→ Linux筆電，在這幾個裝置安裝Syncthing，就可以高速同步檔案。\n同步的時候每個裝置都會收到一個檔案副本，裝置之間是互相同步的。 Syncthing是開源軟體，不需要註冊。流量無限制，上傳速度取決你的網速；資料傳輸全程加密，資料不會上傳到第三方伺服器。\n可以用Wifi同步，也可以P2P，或是自架中繼伺服器(relay server)，跨網域同步。\nSyncthing同步的是整個資料夾，比方說讓手機跟電腦共享電腦上的DCIM資料夾，兩邊的檔案會互相同步。有點類似Google雲端硬碟「我的電腦」的功能，只不過所有檔案都存在你的裝置上，不會上傳到第三方伺服器。\nSyncthing也是一種無線傳檔案的手段，可以作為SMB、FTP伺服器的替代方案。\n","title":"免費跨裝置檔案同步軟體，Syncthing架設＋無線同步教學","type":"posts"},{"content":"Specifing which GPU for rendering using PRIME GPU offloading commands.\n使用情境：Arch Linux當Nvidia主顯示卡，Intel內顯保持啟用。\n問題點：我發現VLC在使用Nvidia顯示卡GTX1050Ti的時候播不動8K HEVC編碼影片，不論閉源或開源驅動都一樣，而Intel內顯UHD 630卻可以順暢播放。\n經查可能是VA-API支援度的問題，Nvidia很容易一更新就爆炸。\n我想在播放的時候使用Intel，但又維持Nvidia當主顯示卡。\n1. 使用DRI_PRIME變數 # 經測試可以用DRI_PRIME變數達成目的。根據PRIME - Arch Wiki解釋，不論Intel、Nvidia、AMD，只要是開源驅動都支援這種方式指定GPU渲染的。\n但是，在Nvidia當主顯示卡的時候，必須使用開源nouveau驅動，不可以用閉源驅動。閉源驅動無論怎麼設定都無法叫出Intel。使用閉源驅動的情況下，只能在主顯卡為Intel的情況下用Nvidia PRIME渲染，無法反過來指定用Intel渲染。\n使用DRI_PRIME=0 glxinfo | grep OpenGL顯示目前使用Nvidia顯示卡渲染 播放8K影片掉幀嚴重 使用DRI_PRIME=1 glxinfo | grep OpenGL顯示切換至Intel顯示卡 播放8K影片正常。 另外，DRI_PRIME也可以填寫顯示卡的PCI位址，用lspci -nnk和ls /sys/bus/pci/devices/查看，再將冒號轉成底線，例如DRI_PRIME=pci-0000:02:00.0\n2. 其他方案 # 另一個方案是靠Docker限制容器可以存取的device，或許這樣可以在使用Nvidia閉源驅動的情況下達成DRI_PRIME的效果。\nDocker compose的範例：\ndevices: - /dev/dri/card0:/dev/dri/card0 - /dev/dri/renderD128:/dev/dri/renderD128 ","date":"2023年12月28日","externalUrl":null,"permalink":"/posts/dri-prime-gpu-offloading/","section":"所有文章","summary":"Specifing which GPU for rendering using PRIME GPU offloading commands.\n使用情境：Arch Linux當Nvidia主顯示卡，Intel內顯保持啟用。\n問題點：我發現VLC在使用Nvidia顯示卡GTX1050Ti的時候播不動8K HEVC編碼影片，不論閉源或開源驅動都一樣，而Intel內顯UHD 630卻可以順暢播放。\n經查可能是VA-API支援度的問題，Nvidia很容易一更新就爆炸。\n我想在播放的時候使用Intel，但又維持Nvidia當主顯示卡。\n1. 使用DRI_PRIME變數 # 經測試可以用DRI_PRIME變數達成目的。根據PRIME - Arch Wiki解釋，不論Intel、Nvidia、AMD，只要是開源驅動都支援這種方式指定GPU渲染的。\n但是，在Nvidia當主顯示卡的時候，必須使用開源nouveau驅動，不可以用閉源驅動。閉源驅動無論怎麼設定都無法叫出Intel。使用閉源驅動的情況下，只能在主顯卡為Intel的情況下用Nvidia PRIME渲染，無法反過來指定用Intel渲染。\n使用DRI_PRIME=0 glxinfo | grep OpenGL顯示目前使用Nvidia顯示卡渲染 播放8K影片掉幀嚴重 使用DRI_PRIME=1 glxinfo | grep OpenGL顯示切換至Intel顯示卡 ","title":"透過DRI_PRIME變數，指定Linux使用特定GPU渲染","type":"posts"},{"content":"註：大部分使用者裝linux核心套件就夠了。如果你想知道其他核心的具體用途，那麼再繼續往下看。\n本文Ivon介紹Arch Linux官方套件庫收錄的幾種Linux核心(kernel)，讓您挑選出最適合用途的核心。\n1. 前言 # Arch Linux是一款使用Linux核心的作業系統。啊，好像在說廢話，但確實如此，這是大前提，Linux核心對整個系統至關重要。\nLinux核心由Linus Trovalds等人開發。你可以在kernel.org取得最新Linux核心原始碼，該網站還有Linux核心的釋出週期。 每當上游(upstream)釋出標記為stable的Linux核心後，Arch Linux的開發者便會儘快將其打包，提供給Arch Linux用戶下載。跟其他發行版不同的是，Arch Linux的開發者幾乎不給Linux核心打patch。\n有趣的是，由於Arch Linux需要使用者手動打指令安裝，加上社群成員的貢獻，官方套件庫現在提供了多種Linux核心讓使用者選擇。\n要在Arch Linux安裝Linux核心，你有以下選項：\nlinux linux-lts linux-zen linux-hardened linux-rt linux-libre 自行編譯核心 甚至你可以一次安裝多個核心套件，共存於同一系統。莫擔憂！Arch Linux可以任意切換核心開機的，文章後面我們會談談具體做法。\n你不用擔心換核心後系統就炸掉，沒那麼容易。就算你的硬體驅動程式依賴特定Linux版本，也可以用DKMS版本迴避掉。\nLinux的驅動程式通常透過核心模組裝載。核心模組大多用DKMS安裝，即硬體的驅動程式會在核心更新後自動跟著重新編譯。比方說nvidia-dkms套件可以確保您在換核心後仍讓Nvidia驅動正常運作。此外，Arch Linux有包山包海的AUR，需要的驅動程式都可以在那兒找到。\n所以只要使用DKMS安裝驅動，就不需要太擔心換核心後驅動炸掉。\n現在讓我們來看各個核心種類的特色。\n2. Arch Linux提供的核心種類 # Stable (linux) # 套件名稱：linux\n基於上游Linux stable release所編譯的版本，發布時程不固定。\n大部分Arch Linux用戶的選擇，效能最均衡的核心。\n滾動更新，幾乎每個月都會有新版本。\n雖然叫做Stable，但不見得真的穩定，有些驅動開發者跟不上如此頻繁的開發進度，很容易系統更新後出問題。\nLongterm (linux-lts) # 套件名稱：linux-lts\n基於上游linux longterm release編譯的長期支援版本。上游開發者會提供長時間的安全性更新，而非一直加新功能。\n更新較慢，適合追求穩定的用戶使用。\n你說Arch Linux本身是滾動發行版，追求穩定核心沒意義啊？我認為在特定情況下，Linux核心本身的穩定度，是比userspace的軟體重要的。\n比如我在使用Nvidia閉源驅動的時候，linux-lts通常是比較穩定的。\n舉個比較誇張的案例：Nvidia驅動版本545，在linux 6.6.8執行Nvidai PRIME指令跑Steam遊戲會讓系統卡死，linux-lts 6.1.6就不會。\n或許linux核心遇到的問題很快就會修復，但我不想等。尤其更新時程這麼頻繁，加上Nvidia驅動是閉源軟體，他們的開發時程跟Linux核心不一致，哪天更新後Nvidia驅動又會炸掉。\nZen (linux-zen) # 套件名稱：linux-zen\n基於上游linux stable，加上一些patch所編譯而成的核心，目的在於加快Linux反應速度，犧牲一些吞吐量，讓系統看起來比較順暢。\n內建Virtualbox、Waydroid所需的核心模組。\n在Phoronix所作的跑分測試中，linux-zen於部份項目拔得頭籌，適合追求極致遊戲效能的用戶使用。\nHardened (linux-hardened) # 套件名稱：linux-hardened\n追求極致安全的核心，基於linux-hardened專案。編譯時將有安全隱憂的選項停用，再加上一些增強安全性的patch。\n不建議桌面用戶使用，效能下降嚴重。且關掉的功能太多了可能要找一堆修補方案，得不償失。\n如果你真要用這個核心的話，推薦搭配Secure Boot、TPM、LUKS、AppArmor等機制全方面強化Linux系統安全性。\nRealtime (linux-rt) # 套件名稱：linux-rt\n基於Real-time Linux專案，加上PREEMPT_RT的patch所編譯而成。追求即時反應的核心。\n雖然名字這樣寫，但實際上遊戲效能比linux-zen要差。\nlinux-rt對桌面用戶來說沒什麼用處，也許適合用在RTOS之類的嵌入式系統；或者給做音樂的用戶使用，追求極低的音訊延遲。\nLinux-libre (linux-libre) # （這個核心只有AUR有收）套件名稱：linux-libre 基於linux-libre專案，完全移除閉源驅動的Linux核心。\n以Arch為基礎開發的Porabola Linux和Hyperbola Linux就是使用這個核心。\n不適合一般桌面用戶。\nlinux-libre僅適合追求完全自由軟體精神的用戶使用。如果你的電腦是自由軟體基金會認證硬體，完全不需要閉源驅動程式就能讓硬體動起來，再考慮用這個核心。\n自行編譯核心 # 超過本文主旨，不細談。我們是在用Arch，不是Gentoo。\n你可以善用Arch Linux官方提供的PKGBUILD，用類似AUR套件的方式編譯你自己的核心，方便以pacman管理。\n但除非是為了學習，否則自行編譯核心沒什麼意義。\nArch Linux核心更新很快，沒有Ubuntu LTS手動編譯新核心的需求。\n如果你需要特定核心模組，多半能用DKMS裝載，AUR有許多寶貴資源。或者用上面別人編譯好的核心即可。\n3. 如何切換Arch Linux核心 # 假設我現在要從linux切換成linux-lts\n確認你的boot分區空間是否足夠，建議要有256MB以上空間 df -h /boot 查看目前正在使用的核心，應該會印出核心版本-arch uname -a 安裝你要用的核心，裝*-headers套件的理由是有些程式編譯需要用到。 sudo pacman -S linux-lts linux-lts-headers 更新initramfs，確保所有核心模組都有更新到 sudo mkinitcpio -p linux-lts 編輯GRUB設定 sudo vim /etc/default/grub 加入以下二行，使其記住開機時候使用的核心 GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true 更新GRUB設定 sudo grub-mkconfig -o /boot/grub/grub.cfg 電腦重開機，在GRUB畫面選取Advanced Options for Arch，選取linux-lts開機。下次GRUB會自動用這個核心開機。\n重開機後檢查核心是否切換成功，應該會印出核心版本-lts\nuname -a 參考資料 # Kernel - ArchWiki Kernel hardening - Security - Arhc Wiki The Performance Impact From Different Arch Linux Kernel Flavors - Phoronix Different Types of Kernel for Arch Linux and How to Use Them - It\u0026rsquo;s FOSS ","date":"2023年12月26日","externalUrl":null,"permalink":"/posts/archlinux-kernel-variants/","section":"所有文章","summary":"註：大部分使用者裝linux核心套件就夠了。如果你想知道其他核心的具體用途，那麼再繼續往下看。\n本文Ivon介紹Arch Linux官方套件庫收錄的幾種Linux核心(kernel)，讓您挑選出最適合用途的核心。\n1. 前言 # Arch Linux是一款使用Linux核心的作業系統。啊，好像在說廢話，但確實如此，這是大前提，Linux核心對整個系統至關重要。\nLinux核心由Linus Trovalds等人開發。你可以在kernel.org取得最新Linux核心原始碼，該網站還有Linux核心的釋出週期。 每當上游(upstream)釋出標記為stable的Linux核心後，Arch Linux的開發者便會儘快將其打包，提供給Arch Linux用戶下載。跟其他發行版不同的是，Arch Linux的開發者幾乎不給Linux核心打patch。\n有趣的是，由於Arch Linux需要使用者手動打指令安裝，加上社群成員的貢獻，官方套件庫現在提供了多種Linux核心讓使用者選擇。\n要在Arch Linux安裝Linux核心，你有以下選項：\nlinux linux-lts linux-zen linux-hardened linux-rt linux-libre 自行編譯核心 甚至你可以一次安裝多個核心套件，共存於同一系統。莫擔憂！Arch Linux可以任意切換核心開機的，文章後面我們會談談具體做法。\n","title":"比較Arch Linux核心差異：linux, linux-zen, linux-lts, linux-hardened","type":"posts"},{"content":"Intel GPU for display, Nvidia GPU for computing and offload rendering.\nNvidia PRIME是Nvidia顯示卡的一種技術，可以在獨立顯示卡與內顯之間切換。\n比如Linux筆電用Intel內顯開機，桌面環境用內顯渲染。當遇到需要重度GPU渲染的遊戲程式時，才將渲染作業分配給Nvidia顯示卡，此種過程稱之為PRIME Render Offload。\n同樣的，Linux桌電也可以使用這個技術，紓解Nvidia驅動不穩定的問題。將筆電的這個技術，沿用到桌電上，採「內顯」用於畫面輸出，需要時再呼叫「獨顯」出來幹活的方案。\n1. 不要用Nvidia顯示卡當主顯卡的理由 # 我這裡要論述不要用Nvidia當主顯示卡的理由，即讓螢幕所有的渲染都由Nvidia顯示卡處理。\n我的電腦有Intel內顯和Nvidia獨顯二張顯示卡，加上一個螢幕。在使用系統的時候，我會把主螢幕接到獨立顯示卡上，所以Nvidia顯示卡自然就成了負責渲染所有圖形的顯示卡。\n但是Nvidia的閉源驅動在Linux系統相對Intel驅動來說不是很穩定，很容易更新就爆炸。再者KDE X11與Nvidia相性不佳，偶有畫面撕裂情況。 偉大的Linus Torvalds曾說過：Nvidia fuck you\n為了保持桌面穩定度，可以嘗試Intel內顯負責輸出螢幕，需要時再叫Nvidia渲染(PRIME Render Offload)的作法。\n所以電腦螢幕接法會變成這樣。 這樣的話，沒有Nvidia畫面撕裂問題，又能保持Nvidia的效能。預設用Intel內顯當主畫面輸出，3D運算就是用Intel，看影片解碼夠力了，還能無痛跑Waydroid和Android-x86的virglrenderer。等有需要重度3D計算再叫Nvidia顯示卡出來幹活即可。\n2. 將桌電設定為Intel內顯優先開機 # 現在我的螢幕線是插在Nvidia獨顯上。首先檢查目前使用的是nouveau還是Nvidia專有驅動，顯示nouveau就是前者了。 lsmod | egrep \u0026#34;nvidia|nouveau\u0026#34; 雖說若有安裝開源Nvidia驅動nouveau，應先將其解除安裝，但它是含在Mesa套件裡面的，而Intel驅動需要Mesa，所以頂多只能禁止其載入。在安裝Nvidia專有驅動後，nouveau應會自動被停用。\n在Ubuntu安裝Nvidia專有驅動和相關工具，重開機。\n使用指令lspci -k | grep -A 2 -i \u0026quot;VGA\u0026quot;列出目前使用的GPU。如果螢幕的線是插在Nvidia的HDMI孔上，那麼應該只會看到Nvidia\n01:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1) Subsystem: ASUSTeK Computer Inc. Device 85d6 Kernel driver in use: nvidia 因為等下要改用Intel內顯啟動，安裝Intel的開源驅動，還有Vulkan。 sudo pacman -S mesa intel-media-driver vulkan-intel 檢查GRUB參數：cat /etc/default/grub，確認GRUB_CMDLINE_LINUX_DEFAULT沒有設定nomodeset和nvidia-drm.modeset=1，否則用Intel顯卡開機會沒畫面。\n電腦關機。\n進入電腦的BIOS，設定為內顯優先開機。我的主機板的該設定位置Advanced → System Agent （SA）Configuration，設定IGFX優先開機。\n之後電腦重開機，將插在獨顯的HDMI線拔掉，改插到主機板的HDMI孔。\n使用指令lspci -k | grep -A 2 -i \u0026quot;VGA\u0026quot;檢查目前使用的顯示卡，應會同時列出Intel和Nvidia的顯示卡\n00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04) Subsystem: ASUSTeK Computer Inc. Device 1830 Kernel driver in use: i915 -- 01:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1) Subsystem: ASUSTeK Computer Inc. Device 85d6 Kernel driver in use: nvidia 再參考Nvidia PRIME用法來執行需要重度GPU計算的程式。 ","date":"2023年12月25日","externalUrl":null,"permalink":"/posts/intel-gpu-for-display-nvidia-gpu-for-computing-on-linux/","section":"所有文章","summary":"Intel GPU for display, Nvidia GPU for computing and offload rendering.\nNvidia PRIME是Nvidia顯示卡的一種技術，可以在獨立顯示卡與內顯之間切換。\n比如Linux筆電用Intel內顯開機，桌面環境用內顯渲染。當遇到需要重度GPU渲染的遊戲程式時，才將渲染作業分配給Nvidia顯示卡，此種過程稱之為PRIME Render Offload。\n同樣的，Linux桌電也可以使用這個技術，紓解Nvidia驅動不穩定的問題。將筆電的這個技術，沿用到桌電上，採「內顯」用於畫面輸出，需要時再呼叫「獨顯」出來幹活的方案。\n1. 不要用Nvidia顯示卡當主顯卡的理由 # 我這裡要論述不要用Nvidia當主顯示卡的理由，即讓螢幕所有的渲染都由Nvidia顯示卡處理。\n我的電腦有Intel內顯和Nvidia獨顯二張顯示卡，加上一個螢幕。在使用系統的時候，我會把主螢幕接到獨立顯示卡上，所以Nvidia顯示卡自然就成了負責渲染所有圖形的顯示卡。\n但是Nvidia的閉源驅動在Linux系統相對Intel驅動來說不是很穩定，很容易更新就爆炸。再者KDE X11與Nvidia相性不佳，偶有畫面撕裂情況。 偉大的Linus Torvalds曾說過：Nvidia fuck you\n","title":"Linux讓Intel GPU負責畫面輸出，Nvidia負責3D運算的方法","type":"posts"},{"content":"如果你找到的動漫影片畫質低下想要改善，或是看到喜歡的圖片畫質卻不夠做成桌布，那麼你就需要能用魔法放大圖像的工具。\n在這裡為您介紹bloc97開發的「Anime4K」，它是可以即時提昇2D動畫畫質的開源工具。不用轉檔播放影片立即生效。可在Linux上達成類似mpv-lazy的效果。\n除此之外還有以Anime4K技術製成的轉檔工具「Anime4KCPP」，類似Waifu2x，專門把動漫圖片和影片放大之用。\nAnime4K支援Linux/Windows/macOS系統，甚至Android/iOS手機也能用。本文將簡介Anime4K用法。\n1. Anime4K效果預覽 # Anime4K具體效果如何呢？請先看圖。\nAnime4K可以將1080p影片提昇至接近4K畫質，細節變清晰了： 或是720p變類似1080p 順帶一提，MPV可以當圖片檢視器（開啟主程式後把圖片拖進去），你可以把Anime4K當作暫時提昇圖片畫質的一個「濾鏡」工具。 2. 比較Anime4K與其他AI圖片放大技術 # Anime4K最直觀感受的是線條變得清楚。根據開發者說法，Anime4K僅針對H.264、H.265、VC-1編碼的1080p影片最佳化，720p以下放大會更容易糊掉，因此用來放大1080p影片效果最好。\n且Anime4K是針對動畫訓練的，對動畫以外的影片幾乎無效。\n開發者也在Github issue指出，Anime4K不是生成對抗網路，放大效果並沒有比Waifu2x/SRGAN/ESRGAN/Real-ESRGAN好。\nAnime4K不是最好的圖片放大技術。如果你實際拿Anime4K跟Waifu2x、GAN之類的放大圖片技術比較，你會發現Anime4K還是有很多模糊的地方。 Anime4K與Real-ESRGAN 4x Anime6B的比較。同樣是放大四倍，Anime4K仍有許多模糊之處。\nAnime4K的優點在於它是「即時運算」，宛如影片播放器的特殊濾鏡，不需要像GAN要等轉檔完成，而且GAN需要更高級的顯示卡。如果你只是想要「看起來」影片畫質很好，那麼Anime4K就夠用了。\n3. Linux版MPV如何使用Anime4K # Linux要用MPV播放影片，再載入Anime4K的GLSL著色器達成提昇畫質的效果。為防止lag，最好使用獨立顯示卡運算。\n我的系統為Ubuntu，顯示卡為Nvidia GTX1050Ti\n安裝MPV播放器\nAnime4K得依獨立顯示卡運算才不會lag。以Nvidia顯示卡來說，Linux只需要安裝Nvidia專有驅動，不需要依賴CUDA。\n取得Anime4K的GLSL檔案\ngit clone https://github.com/bloc97/Anime4K.git cd Anime4K 將Anime4K的全部GLSL檔(非目錄)複製到MPV設定檔目錄下的shaders目錄： mkdir -p ~/.config/mpv/shaders/ find glsl -type f -exec cp \u0026#34;{}\u0026#34; ~/.config/mpv/shaders/ \\; 編輯MPV的快捷鍵設定檔~/.config/mpv/input.conf，加入啟用Anime4K的快捷鍵。以下為參考Github說明所填寫，適用於GTX1650以下低階顯示卡的設定值。 CTRL+1 no-osd change-list glsl-shaders set \u0026#34;~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34;; show-text \u0026#34;Anime4K: Mode A (Fast)\u0026#34; CTRL+2 no-osd change-list glsl-shaders set \u0026#34;~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34;; show-text \u0026#34;Anime4K: Mode B (Fast)\u0026#34; CTRL+3 no-osd change-list glsl-shaders set \u0026#34;~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34;; show-text \u0026#34;Anime4K: Mode C (Fast)\u0026#34; CTRL+4 no-osd change-list glsl-shaders set \u0026#34;~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34;; show-text \u0026#34;Anime4K: Mode A+A (Fast)\u0026#34; CTRL+5 no-osd change-list glsl-shaders set \u0026#34;~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_S.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34;; show-text \u0026#34;Anime4K: Mode B+B (Fast)\u0026#34; CTRL+6 no-osd change-list glsl-shaders set \u0026#34;~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34;; show-text \u0026#34;Anime4K: Mode C+A (Fast)\u0026#34; CTRL+0 no-osd change-list glsl-shaders clr \u0026#34;\u0026#34;; show-text \u0026#34;GLSL shaders cleared\u0026#34; 原理：Anime4K的開發者提供了數十種以上的著色器，包含放大、修復、銳化、降噪、去模糊。\n參見開發者Github，他定義了A、B、C、A+A、B+B、C+A五種模式，每種模式由多個著色器組成。每按一個Ctrl+數字的組合鍵就會啟用對應的模式提升畫質，使用者要自行判斷哪個比較好。\n接著用MPV播放影片試試吧，檔案管理器裡對影片右鍵應可選取用MPV播放。 影片播放時按CTRL＋數字鍵1~6開啟Anime4K提昇畫質，按CTRL+0還原。目前Anime4K v4共有6種模式，通常使用A+A模式效果就夠好了。 啟用Anime4K時可按Shift＋I再按2，查看Anime4K的shader有無顯示在user shader列表，代表正確執行。 如果要設定MPV播放影片便自動套用Anime4K A+A模式，在mpv.conf加入以下設定：\nglsl-shaders=\u0026#34;~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl\u0026#34; 4. 如何在手機使用Anime4K # 參考Android版MPV＋Anime4K使用教學和iOS版Anime4K使用教學\n5. 配合Vapoursynth提昇影片FPS # 參見Linux版Vapoursynth MVTools設定教學\n6. 用Anime4KCPP轉檔放大影片 # Anime4KCPP是採用Anime4K技術的「轉檔」軟體，將Anime4K的升級畫質結果轉成影片儲存，這樣播放就不需要額外耗費顯示卡運算了。\n這可以說是離線版的Waifu2x，更棒的是還能轉影片。\nGithub提供的程式僅Windows和Android版有圖形界面，Linux只有純文字模式。\nLinux版要自行編譯，首先安裝編譯用的套件： sudo pacman -S cmake gcc clang opencv python-opencv boost qt5-tools 開始編譯： git clone https://github.com/TianZerL/Anime4KCPP.git cd Anime4KCPP \u0026amp;\u0026amp; mkdir build \u0026amp;\u0026amp; cd build \u0026amp;\u0026amp; cmake .. make -j$(nproc) Anime4KCPP的執行檔位於bin，查看是否有正確安裝： cd bin ./Anime4KCPP_CLI -V 接著開始轉檔。Nvidia顯示卡轉檔時可調用CUDA加速，圖片轉檔通常不會超過10秒。\n範例一：將同目錄下的圖片input.png放大4倍，保持圖層透明度，輸出為output.png：\n./Anime4KCPP_CLI -i \u0026#34;input.png\u0026#34; -o \u0026#34;output.png\u0026#34; --GPUMode --zoomFactor 4 --alpha --CNNMode --HDN 成果 範例二：影片放大2倍，MP4轉MKV，使用AVC1編碼：\n./Anime4KCPP_CLI -i \u0026#34;input.mp4\u0026#34; -o \u0026#34;output.kmv\u0026#34; --GPUMode --videoMode --codec avc1 --CNNMode --HDN 更多參數參考Github Wiki。\n順帶一提，此款工具可以配合RIFE使用，讓動漫影片變成4K60FPS的豪華內容。\n","date":"2023年12月25日","externalUrl":null,"permalink":"/posts/anime4k-linux/","section":"所有文章","summary":"如果你找到的動漫影片畫質低下想要改善，或是看到喜歡的圖片畫質卻不夠做成桌布，那麼你就需要能用魔法放大圖像的工具。\n在這裡為您介紹bloc97開發的「Anime4K」，它是可以即時提昇2D動畫畫質的開源工具。不用轉檔播放影片立即生效。可在Linux上達成類似mpv-lazy的效果。\n除此之外還有以Anime4K技術製成的轉檔工具「Anime4KCPP」，類似Waifu2x，專門把動漫圖片和影片放大之用。\nAnime4K支援Linux/Windows/macOS系統，甚至Android/iOS手機也能用。本文將簡介Anime4K用法。\n1. Anime4K效果預覽 # Anime4K具體效果如何呢？請先看圖。\nAnime4K可以將1080p影片提昇至接近4K畫質，細節變清晰了： 或是720p變類似1080p 順帶一提，MPV可以當圖片檢視器（開啟主程式後把圖片拖進去），你可以把Anime4K當作暫時提昇圖片畫質的一個「濾鏡」工具。 2. 比較Anime4K與其他AI圖片放大技術 # Anime4K最直觀感受的是線條變得清楚。根據開發者說法，Anime4K僅針對H.264、H.265、VC-1編碼的1080p影片最佳化，720p以下放大會更容易糊掉，因此用來放大1080p影片效果最好。\n","title":"一鍵提昇動漫影片畫質 ～ Linux版的Anime4K使用教學","type":"posts"},{"content":" 日本艦これ網站《艦娘乳図鑑》的簡略版複製品。使用nanogallery2製作。\n方便查看艦娘與深海棲艦的乳量之用。 常見的罩杯表示方法：字母＋數字。字母為罩杯大小，即上胸圍減下胸圍得出；數字為下胸圍。\n參考優先度：遊戲立繪 \u0026gt; 季節限定立繪 \u0026gt; Arcade版3D模型 / 實體模型 \u0026gt; 動畫版 \u0026gt; 其他官方出版物。\n點選按鈕篩選，Class_表示艦種，Cup_表示罩杯，點選縮圖查看全身圖。\n","date":"2023年12月23日","externalUrl":null,"permalink":"/posts/kancolle-bra-size-comparison/","section":"Kantai-Collections","summary":" 日本艦これ網站《艦娘乳図鑑》的簡略版複製品。使用nanogallery2製作。\n方便查看艦娘與深海棲艦的乳量之用。 常見的罩杯表示方法：字母＋數字。字母為罩杯大小，即上胸圍減下胸圍得出；數字為下胸圍。\n參考優先度：遊戲立繪 \u003e 季節限定立繪 \u003e Arcade版3D模型 / 實體模型 \u003e 動畫版 \u003e 其他官方出版物。\n點選按鈕篩選，Class_表示艦種，Cup_表示罩杯，點選縮圖查看全身圖。\n","title":"《艦娘乳図鑑》，查看艦隊Collection的艦娘與深海棲艦乳量","type":"kantai-collection"},{"content":"如果不想被演算法綁架，不想被五光十色的詐欺縮圖吸引，那麼乾脆連圖形介面都不要用吧。\nytfzf為一款讓你在Linux終端機看YouTube影片的極簡軟體，使用fzf純文字介面搜尋，再呼叫MPV播放影片。 ytfzf = YouTube + fzf\nytfzf只搜尋你想看的東西，不推薦任何東西給你。\n支援訂閱頻道、檢視縮圖、下載影片、播放清單、歷史紀錄、播放佇列 ytfzf還提供擴充介面。你可以自由指定影片播放器，或是用rofi取代fzf作為選單。 背後ytfzf使用Invidious技術爬取影片，不依賴YouTube API，不可能看到廣告。\n除了Youtube以外，ytfzf還支援搜尋PeerTube、Odysee(LBRY)的影片。\n1. 安裝ytfzf # ytfzf由一系列指令稿組成，主程式ytfzf就只是一個shell script。不需要像yewtube那樣安裝Python，只需要安裝依賴套件就行了。\n原作者說ytfzf是A posix script to find and watch youtube videos from the terminal. (Without API)，相容POSIX標準，已移植到FreeBSD和macOS，連Android的Termux也有支援。\n根據Github指示下載編譯安裝，或者用你的Linux套件管理器裝。\nArch Linux安裝以下套件，ytfzf程式本體，fzf負責選單介面，mpv播放影片，yt-dlp下載影片，ueberzugpp當縮圖後端。\nsudo pacman -S ytfzf curl jq fzf mpv yt-dlp yay -S ueberzugpp Android參考Github說明，安裝特製版mpv-android，啟用yt-dlp，再於Termux安裝套件： pkg install ytfzf ncurses-utils mkdir ~/.config/ytfzf cat \u0026lt;\u0026lt;EOF \u0026gt; ~/.config/ytfzf/conf.sh termux_player () { am start --user 0 -a android.intent.action.VIEW -d $1 is.xyz.mpv/.MPVActivity } url_handler=termux_player EOF 2. 組態ytfzf # 詳細說明文件請用man ytfzf指令檢視。\n主設定檔 # 設定檔conf.sh用於定義訂閱的頻道列表、偏好設定、函式事件處理。該檔案遵從shell script格式，ytfzf會在執行前source這個檔案取得變數和函式。\n建立設定檔 mkdir ~/.config/ytfzf vim ~/.config/ytfzf/conf.sh 接著設定變數，首先設定播放完影片不要自動關掉。 is_loop=1 設定預設的縮圖檢視器為kitty，啟用非同步下載縮圖 thumbnail_viewer=kitty show_thumbnails=1 async_thumbnails=1 設定搜尋網站為Youtube，搜尋任意內容，設定搜尋國家為台灣。Invidious實例填比較多人用的或者自己架，防止抽到不好的實例。 scrape=\u0026#34;youtube\u0026#34; search_result_type=\u0026#34;all\u0026#34; search_region=\u0026#34;TW\u0026#34; invidious_instance=\u0026#34;https://yewtu.be\u0026#34; 設定監聽的快捷鍵，全部啟用 shortcut_binds=\u0026#34;Enter,double-click,$download_shortcut,$video_shortcut,$audio_shortcut,$detach_shortcut,$print_link_shortcut,$show_formats_shortcut,$info_shortcut,$search_again_shortcut,$custom_shortcut_binds\u0026#34; 設定yt-dlp的命令行參數。我設定讓yt-dlp讀取其設定檔來下載影片 ytdl_opts=\u0026#34;--config-location ~/.config/yt-dlp/config\u0026#34; 啟用搜尋Odyssey上的NSFW影片 nsfw=true 如果你想用rofi取代fzf當選單，那麼就指定使用外部界面，並修改external_menu()函式的指令 interface=\u0026#34;ext\u0026#34; external_menu(){ tr -d \u0026#39;\\t\u0026#39; | remove_ansi_escapes | rofi -dmenu -font \u0026#34;hack 16\u0026#34; } 訂閱頻道 # 嚴格來說是爬取特定頻道的影片。\n新增檔案subscriptions\nvim ~/.config/ytfzf/subscriptions 該檔案用於放置頻道訂閱列表。網址帶有小老鼠@的頻道請先用ytfzf --channel-link=\u0026quot;網址\u0026quot;轉成英數網址。\n# Brodie Robertson https://www.youtube.com/channel/UCld68syR8Wi-GY_n4CaoJGA # Veronica Explains tps://www.youtube.com/channel/UCMiyV_Ib77XLpzHPQH_q0qQ # Mental Outlaw https://www.youtube.com/channel/UC7YOGHUfC1Tb6E4pudI9STA # 多倫多方臉 https://www.youtube.com/channel/UCzYYzigb1vXR0GQXXBja2kg # 佑來了 https://www.youtube.com/channel/UCWYa0v8bpGyYr0ycqGXifVQ 3. ytfzf操作方式 # 快捷鍵 # 啟動ytfzf界面後才可以使用。\n方向鍵 選取影片 Enter 播放 Tab 將影片加入播放佇列 Esc或Ctrl+C 退出程式 Alt + d 下載選中的影片 Alt + v 播放選中的影片 Alt + m 播放選中的影片（純音訊） Alt + e 彈出播放器，不關閉影片列表 Alt + l 印出影片網址 Alt + f 播放前選擇畫質 Alt + i 印出影片資訊 Alt + s 進行另一次搜尋 Ctrl + p 載入下一頁搜尋結果 常用啟動指令 # 啟動ytfzf，搜尋Youtube影片。啟動時加-s \u0026quot;關鍵字\u0026quot;直接搜尋影片。\nytfzf 搜尋Odysee影片（可以使用多個--scrape，同時搜尋多重網站）\nytfzf --scrape=odysee 搜尋Youtube播放清單，搜尋音樂專輯的時候很好用。如果要自動播放按Tab鍵將其加入播放佇列。\nytfzf --scrape=youtube --type=playlist 搜尋播放歷史紀錄（歷史紀錄檔案位於~/.cache/ytfzf）\nytfzf --scrape=history 列出搜尋紀錄\nytfzf --search-source=hist 列出區域熱門影片\nytfzf --scrape=youtube-trending 搜尋本機訂閱列表\nytfzf --scrape=youtube-subscription 列出播放清單網址的影片\nytfzf --scrape=youtube-playlist \u0026#34;播放清單網址\u0026#34; 直接從網址播放影片\nytfzf --scrape=url \u0026#34;網址\u0026#34; 從網址爬取影片留言\nytfzf --scrape=url \u0026#34;網址\u0026#34; 4. 製作ytfzf本機影片播放清單 # ytfzf的播放清單資訊是json格式，每部影片資訊組成一個json物件：\n[ { \u0026#34;scraper\u0026#34;: \u0026#34;invidious_playlist\u0026#34;, \u0026#34;ID\u0026#34;: \u0026#34;qfNmyxV2Ncw\u0026#34;, \u0026#34;url\u0026#34;: \u0026#34;https://youtube.com/watch?v=qfNmyxV2Ncw\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Aerosmith - Cryin\u0026#39; (Official Music Video)\u0026#34;, \u0026#34;channel\u0026#34;: \u0026#34;Aerosmith\u0026#34;, \u0026#34;thumbs\u0026#34;: \u0026#34;https://invidious.drgns.space/vi/qfNmyxV2Ncw/hqdefault.jpg\u0026#34;, \u0026#34;duration\u0026#34;: \u0026#34;5:31\u0026#34;, \u0026#34;date\u0026#34;: null, \u0026#34;description\u0026#34;: null }, { \u0026#34;scraper\u0026#34;: \u0026#34;invidious_playlist\u0026#34;, \u0026#34;ID\u0026#34;: \u0026#34;NMNgbISmF4I\u0026#34;, \u0026#34;url\u0026#34;: \u0026#34;https://youtube.com/watch?v=NMNgbISmF4I\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;Aerosmith - Crazy (Official Music Video)\u0026#34;, \u0026#34;channel\u0026#34;: \u0026#34;Aerosmith\u0026#34;, \u0026#34;thumbs\u0026#34;: \u0026#34;https://invidious.drgns.space/vi/NMNgbISmF4I/hqdefault.jpg\u0026#34;, \u0026#34;duration\u0026#34;: \u0026#34;6:14\u0026#34;, \u0026#34;date\u0026#34;: null, \u0026#34;description\u0026#34;: null } ] 你可以把影片網址組成播放清單並存在本機（影片還是線上播放的）\n使用ytfzf -I VJ --force-youtube啟動，接著開始搜尋，所有點選的影片都會在終端機印出json資訊， 將其複製下來存成json檔案。\n或者用ytfzf --scrape=youtube --type=playlist --force-youtube啟動，搜尋播放清單，進入播放清單界面後，開啟暫存檔/tmp/ytfzf-1000/實例/[playlist]/videos_json，取得目前螢幕顯示的影片列表，將其另存新檔。\n接著就可以用指令播放本機播放清單了\nytfzf --scrape=json-file \u0026#34;json檔路徑\u0026#34; ","date":"2023年12月22日","externalUrl":null,"permalink":"/posts/ytfzf-usage/","section":"所有文章","summary":"如果不想被演算法綁架，不想被五光十色的詐欺縮圖吸引，那麼乾脆連圖形介面都不要用吧。\nytfzf為一款讓你在Linux終端機看YouTube影片的極簡軟體，使用fzf純文字介面搜尋，再呼叫MPV播放影片。 ytfzf = YouTube + fzf\nytfzf只搜尋你想看的東西，不推薦任何東西給你。\n支援訂閱頻道、檢視縮圖、下載影片、播放清單、歷史紀錄、播放佇列 ytfzf還提供擴充介面。你可以自由指定影片播放器，或是用rofi取代fzf作為選單。 背後ytfzf使用Invidious技術爬取影片，不依賴YouTube API，不可能看到廣告。\n除了Youtube以外，ytfzf還支援搜尋PeerTube、Odysee(LBRY)的影片。\n1. 安裝ytfzf # ytfzf由一系列指令稿組成，主程式ytfzf就只是一個shell script。不需要像yewtube那樣安裝Python，只需要安裝依賴套件就行了。\n原作者說ytfzf是A posix script to find and watch youtube videos from the terminal. (Without API)，相容POSIX標準，已移植到FreeBSD和macOS，連Android的Termux也有支援。\n根據Github指示下載編譯安裝，或者用你的Linux套件管理器裝。\nArch Linux安裝以下套件，ytfzf程式本體，fzf負責選單介面，mpv播放影片，yt-dlp下載影片，ueberzugpp當縮圖後端。\n","title":"ytfzf：終端機看Youtube的極簡軟體，無廣告、可下載影片","type":"posts"},{"content":"Sharing folders between Linux and Waydroid with Samba.\n註：相較於SAMBA，用SSHFS更為簡單快速。\n在PineTab我會同時使用Linux和Android環境，有時候Linux的檔案可以丟給觸控支援度較佳的Android APP處理。我想要直覺一點的共享檔案方法。最好是Linux跟Waydroid容器可以雙向傳輸、檢視檔案的，這樣方便我在Linux與Android的工作環境間切換。\nWaydroid在官方文件提及與Linux宿主機共享檔案的作法，是在Waydroid開機後，使用bind mount的指令掛載Android的目錄，達成共享資料夾的目的：\nsudo mount --bind Linux宿主機目錄 ~/.local/share/waydroid/data/media/0/Downloads 但是這個作法有問題，Waydroid的目錄是在Android開機後才會出現的，所以我們無法把它加入到fstab實現開機自動掛載。\n想來想去，不如用網路磁碟機吧，使用Samba服務，很多Android APP都有支援此協定，Linux端也可以開機自啟動。 其他可考慮的選項尚有SSHFS、NFS、Syncthing的方案。\n於Arch Linux安裝Waydroid\n在Linux端設定Samba防火牆規則\nsudo ufw allow CIFS sudo ufw allow Samba sudo ufw reload 安裝Samba套件 sudo pacman -S samba 參考Arch Wiki下載smb.conf範本，撰寫Samba設定檔。我啟用使用者分享，連線需要打密碼\n設定開機自動啟動SMB服務\nsudo systemctl enable --now smb GNOME桌面點選網路設定，查看宿主機目前的IP。在這裡順便設定，讓電腦使用固定IP連線到網際網路。 在Android端安裝質感檔案，點選新增SMB伺服器 輸入宿主機的IP、使用者名稱、工作群組 這樣Android端就可以看到Linux端的檔案了 ","date":"2023年12月22日","externalUrl":null,"permalink":"/posts/waydroid-share-folders-samba/","section":"所有文章","summary":"Sharing folders between Linux and Waydroid with Samba.\n註：相較於SAMBA，用SSHFS更為簡單快速。\n在PineTab我會同時使用Linux和Android環境，有時候Linux的檔案可以丟給觸控支援度較佳的Android APP處理。我想要直覺一點的共享檔案方法。最好是Linux跟Waydroid容器可以雙向傳輸、檢視檔案的，這樣方便我在Linux與Android的工作環境間切換。\nWaydroid在官方文件提及與Linux宿主機共享檔案的作法，是在Waydroid開機後，使用bind mount的指令掛載Android的目錄，達成共享資料夾的目的：\nsudo mount --bind Linux宿主機目錄 ~/.local/share/waydroid/data/media/0/Downloads 但是這個作法有問題，Waydroid的目錄是在Android開機後才會出現的，所以我們無法把它加入到fstab實現開機自動掛載。\n想來想去，不如用網路磁碟機吧，使用Samba服務，很多Android APP都有支援此協定，Linux端也可以開機自啟動。 其他可考慮的選項尚有SSHFS、NFS、Syncthing的方案。\n於Arch Linux安裝Waydroid\n在Linux端設定Samba防火牆規則\nsudo ufw allow CIFS sudo ufw allow Samba sudo ufw reload 安裝Samba套件 sudo pacman -S samba 參考Arch Wiki下載smb.conf範本，撰寫Samba設定檔。我啟用使用者分享，連線需要打密碼\n設定開機自動啟動SMB服務\n","title":"Linux與Waydroid透過Samba伺服器共享資料夾","type":"posts"},{"content":"","date":"2023年12月22日","externalUrl":null,"permalink":"/tags/samba/","section":"標籤","summary":"","title":"Samba","type":"tags"},{"content":"「Hugo」是一支Go語言寫成的靜態網站生成器(static site generator)，支援Linux/Windows/macOS。使用者可以用Hugo架設個人部落格、程式說明文件，甚至是商業網站。 這篇文章簡介如何在個人電腦用Hugo生成靜態網站，將原始碼提交到Github，並部署至Netlify，完成網站架設。整個過程大致上免費，只有域名需要花錢。\n你將會得到一個簡單的個人網站。 1. 用Hugo製作網站的優點 # 如下圖，現在你看到的網站「Ivon的部落格」就是用Hugo生成的，只不過主題不同而已。撰文當下我用的主題為Blowfish。 我認為Hugo有以下優點：\n靜態網站載入速度快，所有網頁都是單一HTML檔案，伺服器也不需要負擔太多資源，提昇網站訪客的體驗。\nHugo生成HTML的速度十分之快，幾秒內就能把Markdown跟你使用的Hugo主題結合在一起，變成HTML網頁。即使你有好幾百個Markdown檔案，Hugo也能在10秒內完成上百頁HTML的建置。\nHugo有許多漂亮的主題可以用，且設計上高度模組化，客製化程度高。如果使用者懂一點HTML、CSS、JavaScript，還有Go語言的語法，那麼便可以在下載主題後輕鬆按照自己的意思修改，加入新功能。\nHugo原生支援多語系，方便架設多語言網站。\n每篇Hugo文章都是Markdown檔案，格式一目了然。寫文章有點像在寫程式，不過語法十分簡單。在用Markdown時，使用者不需要費心排版，只要專注在內容創作就行，適合邊寫文章邊引用大量程式碼。部份主題甚至支援插入Mermaid、LaTeX語法。\n開發環境簡單，Hugo程式本體只有單一執行檔，不需要npm install一堆依賴套件才能建立網站。\n2. Hugo網站部署流程 # Hugo僅是負責生成HTML網頁而已，我們還需要一個主機託管商，放置這些HTML檔案給公眾瀏覽。\n個人部署Hugo網站的過程：本機寫好文章，使用hugo server指令預覽看看沒問題之後，提交到Git儲存庫，推送到Github，再部署到主機託管商，使網站能公開瀏覽，以及被Google搜尋引擎爬取到。\n流程如下圖所示： 註：我並沒有強迫你要採用我寫的流程，你可以把Github換成其他Git託管網站，例如Gitlab、sourcehut\n主機託管商也可以用Netlify以外的，例如Cloudflare Pages、Github Pages。\n本文僅是挑選比較容易上手的組合來部署Hugo網站。\n為什麼架個網站還要開Git儲存庫？這樣做的好處是方便控制網站原始碼版本，且你的網站原始碼掌握在自己手上，可以輕鬆的備份與遷移。\n主機託管商我選擇Netlify，理由是Netlify每月提供100GB免費流量，支援自訂域名。且跟Git網站整合得不錯：Netlify會在每次儲存庫有新commit時，自動將你的儲存庫clone過去並用hugo指令生成public目錄再讓網站上線。\n此外，Netlify可以從私人的Github儲存庫拉取原始碼來部署網站，不用擔心原始碼被人看光光。\n3. Hugo開發環境的需要的工具 # 你可以在Linux、Windows、macOS系統開發Hugo網站。\n在安裝Hugo主程式之前，你需要先裝二個工具。\n第一個是Git，請至Git官網下載安裝。\n第二個是文字編輯器。因為Hugo網頁都是純文字檔案，基本上只要支援程式碼語法突顯的都可以當編輯器。推薦使用功能豐富的Visual Studio Code，它有延伸模組方便你編輯Hugo網站的內容。\n4. 安裝Hugo主程式 # Hugo為使用Apache 2.0授權釋出的自由軟體，請到Github取得各大作業系統的安裝檔。Hugo沒有圖形界面，需要使用終端機存取。\nLinux # Linux發行版大多有收錄\u0026quot;hugo\u0026quot;套件，透過套件管理員安裝即可 # Debian/Ubuntu sudo apt install hugo # Fedora/RHEL/CentOS sudo dnf install hugo # openSUSE sudo zypper install hugo # Arch Linux/Manjaro sudo pacman -S hugo 如果你的發行版收錄的Hugo版本偏舊，也可以改到Github Releases下載最新版二進位檔，選取hugo_extended_withdeploy版本，直接塞到系統的/usr/bin/。這樣還能確保Hugo不會自動跟著套件管理器更新。 wget \u0026lt;下載網址\u0026gt; tar zxvf hugo*.tar.gz sudo mv hugo /usr/bin/ sudo chmod +x /usr/bin/hugo 裝好Hugo後開啟終端機，輸入hugo version指令，應會印出目前版本。 Windows # 開啟終端機，安裝winget\n安裝Hugo套件\nwinget install Hugo.Hugo.Extended 輸入hugo version指令，應會印出目前版本。 macOS # 開啟macOS終端機，安裝Homebrew\n安裝Hugo\nbrew install hugo 輸入hugo version指令，應會印出目前版本。 5. 建立Hugo網站雛型 # 在任意目錄建立任意名稱的目錄，例如我取名為mywebsite，這就是「Hugo網站根目錄」了，網站原始碼和文章檔案都放在這裡。 開啟終端機，輸入hugo new指令建立新網站，它會將Hugo網站的所需的基本檔案放到mywebsite目錄裡面。\nhugo new site mywebsite 接著進入目錄mywebsite，會看到Hugo為我們產生的網站檔案。 為了方便日後推送到Github，我們在這個目錄直接初始化Git儲存庫。\ncd mywebsite git init 這個時候mywebsite下應該會出現.git的隱藏目錄 6. 安裝Hugo主題 # Hugo官網有很多主題可以選，每個主題設計略有不同，需要詳讀開發者的文件。這裡我使用Ananke示範，你可以先試著用簡單主題了解安裝過程，再嘗試安裝更為複雜的主題。 Hugo主題常見的裝法有Go Mod和Git submodule，我選擇後者，方便跟著git儲存庫管理。在Hugo網站根目錄開啟終端機，用git submodule指令將Ananke主題下載到網站根目錄下的themes目錄：\ngit submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke 找到mywebsite目錄下的hugo.toml或config.toml檔案（依照你的主題而定），這個是整個網站的設定檔(config)。Hugo設定檔可以是.toml、.json、.yaml格式，這裡就保持原樣。 開啟hugo.toml檔案，加入以下內容：\n# 使用的主題 theme = \u0026#34;ananke\u0026#34; # 網站網址，先維持預設 baseURL = \u0026#34;https://example.org/\u0026#34; # 預設網站語言 languageCode = \u0026#34;zh-TW\u0026#34; # 網站標題 title = \u0026#34;我的網站\u0026#34; 7. 撰寫第一篇Hugo文章 # Hugo文章通常是存在Hugo網站根目錄的content目錄。\nHugo要新增文章可以選擇在content/posts/下新增多個xxx.md的檔案，也可以每篇文章一個目錄＋index.md。本文採用的是後者作法，以Hugo的術語來說稱作page bundle，index.md的作用等同index.html，這樣可以方便你整理每篇文章所需的資源。\n使用以下指令，在Hugo網站根目錄/content/posts/新增helloworld目錄，並新增index.md hugo new posts/helloworld/index.md 或者，你也可以手動到網站根目錄下的contents/posts/，新增helloworld目錄，再新增index.md檔案。目錄名稱helloworld將會成為本篇文章的網址，可自由取名，但裡面的index.md不可更改名稱。 用文字編輯器開啟index.md檔案 輸入以下內容。下文---包起來的地方是Markdown文章的front matter，即文章屬性。之後開始的Hellow World才是正文。\n--- title: \u0026#34;我的第一篇文章\u0026#34; date: 2023-03-25T17:00:00+08:00 draft: false --- Hello World ![](https://i.imgur.com/ldg9VM2.gif) Hugo一律以Markdown語法撰寫文章，可插入HTML、CSS、JavaScript裝飾。\nHugo要插入圖片有很多種方法。上面的例子是把圖片放外部圖床，再直接貼網址，這樣網站儲存庫就只有文字檔案，減少容量。\n8. 在本機預覽Hugo網站 # 此步驟的意義在於讓Hugo生成靜態網站並於自己的電腦預覽，還沒有要推送到網路上。\n在Hugo網站根目錄開啟終端機，輸入以下指令啟動網站伺服器： hugo server 終端機會顯示Web Server is available at，表示網站伺服器已開啟 開啟瀏覽器，輸入http://localhost:1313就能看到自己的網站樣子。 如果要停止本機伺服器，在終端機按下CTRL+C。\n另外介紹Hugo好用的功能：網站根目錄一有檔案變更，不用停止伺服器，Hugo也會自動重新生成網站。\n如果執行hugo指令，就是單純生成HTML，你可以此評估網站生成速度，網站根目錄下會產生一個public目錄，那就是靜態網站的「成品」。\n由於後面我們會將原始碼放到Github，再交給Netlify雲端自動跑hugo指令建置，所以其實本機生成的public和resources目錄是用不到的，請在預覽網站後將其刪除。\n9. 將網站原始碼推送到Github # 將網站原始碼放到Github，之後才能讓Netlify拉取建置。\n開啟終端機，在你的電腦安裝SSH客戶端。參照Github新增SSH金鑰說明，新增存取Github帳號的金鑰到電腦上。\n於Github新開一個儲存庫，名字隨便取。將其設為私人(private)，什麼檔案都不要加，README也不要有。 點選複製儲存庫頂部顯示的HTTPS儲存庫網址，應為https://github.com/帳號名稱/儲存庫名稱.git\n切換到剛剛做好的mywebiste目錄\ncd mywebsite 將遠端Git儲存庫設定為剛剛建立的新Github儲存庫網址 git remote add origin \u0026#34;網址\u0026#34; 執行以下指令，將網站根目錄下的全部檔案推送至Github儲存庫: git add -A git commit -m \u0026#34;網站更新\u0026#34; git push -u origin main 以後撰寫文章的流程就是在網站根目錄/contents/posts/新增Markdown檔案，再推送到Gitbub儲存庫，Netlify就會自動建置了。\n而我為了加快部署程序，在網站根目錄寫了一個整合全部程序的快捷指令稿push-to-github.sh:\ngit add -A git commit -m \u0026#34;網站更新\u0026#34; git push echo -e \u0026#34;\\e[93mDeployed to Netlify.\\e[0m\u0026#34; 這樣我一寫完新文章，只要在網站根目錄執行./push-to-github.sh指令稿就可以完成推送網站程式碼到Github的操作。 10. 將Github與Netlify連結，設定自動部署 # 這個階段就是讓Hugo網站正式上線，讓公眾瀏覽。\n在Hugo網站根目錄新增一個netlify.toml檔案，填入以下內容。此檔案的用意是在告訴Netlify要部署哪個網站目錄。 # 部署時執行的指令，--minify壓縮HTML，--gc自動在建置後刪除快取檔案 [build] publish = \u0026#34;public\u0026#34; command = \u0026#34;hugo --gc --minify\u0026#34; # 指定Hugo版本，應與本機安裝的Hugo版本一致 [build.environment] HUGO_VERSION = \u0026#34;0.121.1\u0026#34; 到Netlify官網，以Github帳號登入。\n在Netlify後台，點選Add a site → Import an existing project from a Git repository 選擇Github的mywebsite儲存庫，設定好之後Netlify就會自動部署過去。每次只要Github儲存庫有新的commit，Netlify便會自動將儲存庫clone，在線上用hugo指令生成public目錄並自動讓網站上線。\n在網站後台點選Site Settings，將Netlify指派給你的網域改成你喜歡的名字。\n至此你的簡單網站便架設完成了一半。Netlify網站會有固定的netlify.app當網址，我建議你如果要長期經營網站，應該給自己買個域名。你可以到GoDaddy、Cloudflare、Gandi這類網站購買一個域名。\n購買域名之後，編輯Hugo網站根目錄的hugo.toml或者config.toml（依照你的主題而定），將baseURL後面的網址改成https://你購買的域名。然後推送變更到Github，再次部署網站。\n到Netlify後台，點選Site Settings → Domains management → Domains，按Add a Domain 填入購買的域名 點選Edit Netlify DNS 跳過Add DNS Records 然後將出現的這四組Netlify名稱伺服器記下 到你的域名託管商提供的管理後台，例如我是GoDaddy，點選編輯網域 → 編輯DNS → 名稱伺服器，新增Netlify提供的名稱伺服器 等個幾分鐘，此域名應該就會連到Netlify部署的網站了。這樣日後就可以打你買的網域來開啟網站，而不用使用netlify.app的網址。\n要增加網站曝光度，除了研究SEO優化、多在社群媒體分享自己的網站外，你也可以把網站提交到Google Search Console，增加被搜尋引擎收錄的機會。\n延伸閱讀 # 要添加更多功能、了解Hugo底層生成網頁的機制，請參閱Hugo官方說明文件。\n你也可以到HUGO discourse請求社群成員的幫助。\n研究別人的Hugo主題了解Hugo功能也是不錯的學習方式！\n","date":"2023年12月21日","externalUrl":null,"permalink":"/posts/build-a-website-with-hugo/","section":"所有文章","summary":"「Hugo」是一支Go語言寫成的靜態網站生成器(static site generator)，支援Linux/Windows/macOS。使用者可以用Hugo架設個人部落格、程式說明文件，甚至是商業網站。 這篇文章簡介如何在個人電腦用Hugo生成靜態網站，將原始碼提交到Github，並部署至Netlify，完成網站架設。整個過程大致上免費，只有域名需要花錢。\n你將會得到一個簡單的個人網站。 1. 用Hugo製作網站的優點 # 如下圖，現在你看到的網站「Ivon的部落格」就是用Hugo生成的，只不過主題不同而已。撰文當下我用的主題為Blowfish。 我認為Hugo有以下優點：\n靜態網站載入速度快，所有網頁都是單一HTML檔案，伺服器也不需要負擔太多資源，提昇網站訪客的體驗。\nHugo生成HTML的速度十分之快，幾秒內就能把Markdown跟你使用的Hugo主題結合在一起，變成HTML網頁。即使你有好幾百個Markdown檔案，Hugo也能在10秒內完成上百頁HTML的建置。\nHugo有許多漂亮的主題可以用，且設計上高度模組化，客製化程度高。如果使用者懂一點HTML、CSS、JavaScript，還有Go語言的語法，那麼便可以在下載主題後輕鬆按照自己的意思修改，加入新功能。\n","title":"Hugo + Github + Netlify免費架設靜態網站教學","type":"posts"},{"content":"","date":"2023年12月21日","externalUrl":null,"permalink":"/tags/netlify/","section":"標籤","summary":"","title":"Netlify","type":"tags"},{"content":"本文主要是討論Snap軟體的優缺點，包含技術細節與爭議。關於Snap指令的用法請參閱這篇。\nCanocial公司在2014年推出的「Snap」套件管理系統，經過多年發展後，現在已經是旗下Ubuntu系統家族的一部分了。Snap現正逐步推廣到其他Linux發行版。 但是，Linux社群卻有很多用戶不喜歡Snap Snap已經變成一種梗了。\n當提到跨發行版的解決方案時，會有人吐槽用Snap還不如用Flatpak或Nix之類的解決方案。AskUbuntu上的用戶還提供了強制停用Snap套件的方法。\n這讓人不禁懷疑，Ubuntu推動的Snap真的有那麼壞嗎？讓我們一瞧Snap運作原理，了解Snap優點和缺點，並讓讀者思考為何Snap會惹人嫌？\n本篇文章中會不時將Snap與Flatpak技術做比較，因為二者都是面向桌面用戶、軟體數量逐漸增加中的軟體安裝方案。\n1. Snap軟體簡介 # Snap軟體是Canonical為了解決跨Linux發行版軟體安裝問題而出現，用Snap裝軟體有什麼優點？考慮以下情況：Ubuntu系統使用APT安裝deb套件，方便使用者取得各式各樣的軟體。但是Ubuntu和Ubuntu LTS套件是不同步的，LTS的套件雖然穩定但比較舊，這會給軟體維護造成困擾，使用LTS系統的使用者可能收不到最新版軟體，導致程式執行出bug。\n還有維護困難的問題，每個Ubuntu版本都要經營一個專門的deb套件庫。從Ubuntu的發行週期可以想像開發者需要花多少心力維護套件！Ubuntu出了新版後還要維護舊版系統的套件。 雖然Ubuntu支援手動抓deb來裝，可萬一該deb依賴新版本的套件呢？這會造成套件衝突，如果再找更多deb滿足依賴，就可能會在未來apt update時出現更多衝突，導致依賴性地獄(dependency hell)發生。\n為解決這個問題，Snap提供了一種全新的打包方法，保證任何版本的Ubuntu都可安裝一致的軟體版本，又不會讓套件互相干擾。甚至在舊版本Ubuntu也可以用Snap安裝最新版軟體，而不至於弄壞套件依賴。\n簡單來說，軟體開發者只需要維護一個版本，便可以讓不同Ubuntu版本的使用者受惠。有了Snap就不用找PPA裝deb了。\nCanonical在官網宣稱Snap優點是「可靠」、「模組化」、「穩健性」、「最佳化」的解決方案。 在Snapcraft網站首頁，Canonical找了一些開發者來站台，比如Microsoft就大力稱讚Snap是一個很棒的平台，讓他們可以發表Linux版的.Net套件。（題外話，Canonical之前幫忙Microsoft開發過WSL呢，使得Ubuntu成為WSL的預設系統） Canonical也一直盡力使Snap能在其他Linux發行版上運作，而非Ubuntu專屬的東西。當使用者造訪Snap Store的時候，會看到貼心的安裝引導指示。 Snap看起來很棒，那為什麼會有一堆爭議呢？下面慢慢揭曉。\n在討論Snap前，必須先知道安裝Snap軟體要依賴以下項目：\nSnap：套件打包格式，附檔名為.snap。 SnapCraft：Snap打包程式，同時也是匯集Snap資訊的網站。 Snapd：管理Snap套件的常駐程式，需要systemd、AppArmror、cgroups才能運作。 Snap Store：收錄Snap軟體的商店，提供網頁及桌面版應用程式。桌面版本身也是一個Snap軟體。 這裡帶出Snap的第一個侷限，因為Snapd依賴Systemd，所以無法安裝在採用其他init系統的Linux發行版，例如Artix、Void Linux、Alpine Linux、Gentoo (OpenRC profile)等等。\n還有Snap需要AppArmor才可以強化安全性，但不是每個發行版都有使用這個核心模組的說。\n因此，Snap支援度不如Flatpak廣，後者只要求Linux核心支援cgroups就能裝。\n2. Snap的軟體安裝管道 # 不論是Snap Store還是Flathub，軟體版本都很接近上游，例如二個平台都可以取得最新版GIMP。因此除非軟體是非官方打包，否則這二個平台提供的軟體都不會有deb套件庫版本太舊的問題。\n目前Snap軟體安裝管道都來自Canonical經營的「Snap Store」，方便Canonical維護版本一致的軟體。 Flatpak用戶多半從GNOME基金會經營的Flathub下載軟體，部份開發者有自行經營Flatpak軟體庫，例如Redhat、KDE、Fcitx5、elementaryOS的開發者都有自己的軟體庫。\n相較於Flatpak使用者可以自由增加軟體庫，Snap比較偏中心化的設計，Snap Store是目前唯一的「官方Snap軟體庫」，上架軟體需要註冊Ubuntu One帳號。\n開發者可以在Snap Store提供穩定和測試的更新頻道，讓使用者選擇要下載什麼版本的軟體。除此之外，Snap Store還會統計使用者下載次數和系統資訊，方便開發者追蹤軟體的使用情況。 Snap Store跟Flathub一樣，無法保證上架的軟體都是開源軟體，且有混入惡意軟體的紀錄，比方說Snap Store曾有2048遊戲暗藏挖礦程式。為此Canonical宣佈會給上架的軟體進行自動化測試，並創立認證開發者計畫(名字旁邊顯示綠勾勾)，盡量排除惡意軟體。\n網友批評Snap Store後端伺服器並非開源，完全由Ubuntu掌控，上架軟體還要註冊Ubuntu One帳號。Snap已經出來10年了，基本上只有Snap Store一個管道可以取得Snap軟體；即使有開發者提供「.snap」套件，也得連線到Snap Store下載其依賴套件。\n還有Snap早期是會自動下載更新的，無法關掉，這不禁讓人想到Windows 10惱人的自動更新\u0026hellip;幸好Snap現在有指令可以關掉自動更新了。\nSnap中心化固然是其優點，讓Canonical可以達成維護一致版本軟體的目的，但也讓使用者逐漸被Ubuntu的生態系綁架，變成一大缺點。\n事實上，Snap的應用程式商店是可以自架的，並沒有強迫要用SnapCraft的伺服器。\n3. Snap軟體結構：可以是桌面軟體也可以是系統軟體 # Snap打包使用SquashFS，把軟體的依賴套件都包在一起，成為Snap，這樣每個軟體就不需要互相依賴。\n這樣做的負面後果就是每個Snap套件都比deb版還肥，因為他們得把自身需要的runtime包在一塊。\n在安裝Snap軟體後，Snapd會將Snap變成一個個loop device，掛載在系統上。\n掛載點資訊能用lsblk指令查看，看了唉呦不得了，Snap會在系統上建立一堆loop device，有人不喜歡自己的磁碟結構變那麼複雜嘛。 相較於Flatpak直接把下載的程式檔案統一放到~/.var目錄下，Snap的作法實在太特別了。\n來比較速度，根據TechHut的測試，Flatpak和Snap程式執行速度是差不多的。 但因為SquashFS的機制，使得部份Snap應用程式「啟動」速度很慢。從Linovox的測試報告可以看到，Flatpak啟動程式多半比Snap快，AppImage和原生套件管理器又更快。 此外，Snap的應用程式一更新後就必須重新啟動才能套用變更，Flatpak則可以在應用程式運作時無縫安裝新版本。\n如果一個程式同時提供Snap和Flatpak版，那為何不裝Flatpak版就好？\n不過，Snap相較於Flatpak有一個優勢：系統軟體。跟Flatpak主打桌面應用程式不同，Snap提供名為daemon的界面，因此伺服器的系統程式、桌面環境、Linux核心都可以打包成Snap格式，像普通套件一樣安裝。\n比方說Snap版Nextcloud只需要一個套件，安裝後就能直接啟動了。 Snap還提供管理行程的指令，讓Snap軟體能當成系統服務執行。\n為了方便備份資料，Snap支援製作完整Snap環境的快照並隨時還原。\n從這點來看，Snap的守備範圍比Flatpak多了一些，它提供系統軟體、行程管理、資料備份服務，超越了Flatpak以桌面為主的使用場景，變成可以跟Docker競爭的解決方案。\n4. Snap的權限機制 # 權限機制是Snap的賣點之一，將應用程式沙盒化，Canonical宣稱這樣可以讓系統更安全。\nFlatpak使用bubblewrap和Portal API實現權限功能。Snap則是仰賴AppArmor，限制應用程式對系統資源的存取，稱為限制confinement。\n每個Snap軟體都有插頭Plug和插槽Slot，插槽可以接受多個插頭「連線」。Snap彼此之間是使用界面Interfaces連接。 圖源：https://blog.imi.pmf.kg.ac.rs/univerzalni-paket-menadzeri-deo-ii/\nSnap軟體預設有沙盒隔離的作用，程式資料和設定檔都是隔離存放在~/snap，不會往使用者家目錄倒。\n使用者可以在軟體商店的管理界面，控制軟體的存取權限，像是允許存取使用者家目錄、使用網路連線等權限。或是用snap connections指令控管Snap界面的連線情況。\nSnap的confinement依賴AppArmor實現，當AppArmor啟用的時候，Snap啟用strict mode模式。在strict mode下，Snap軟體無法任意存取系統資源，需要透過界面存取。\n然而，如果系統沒有AppArmor，則Snap會以classic mode執行，以上權限系統全部失效。Snap軟體將跟deb軟體一樣，擁有存取任意系統檔案的權限。（不要跟devmode搞混，這是Snap方便軟體開發者測試用的模式）\n因此，Snap最適合在Ubunbu、Debian、Manjaro、openSUSE使用；Fedora因為使用SELinux，管控Snap權限能力較差；Arch和Gentoo要手動設定AppArmor，可能有些用戶會覺得麻煩。\n5. Snap是Linux未來？Canonical強推引不滿 # 早期Canonical在嵌入式Ubuntu Core率先應用Snap技術，當年要出Ubuntu touch手機的時候也裝載了Snap。\n後來Canonical才把Snap拓展到桌面版上，Ubuntu 16.04以後的系統基本上都有預裝Snap了。\n但裝了沒人用怎辦？Ubuntu在22.04以後，會自動把apt install指令重新導向到Snap版本。比方說安裝Firefox，會自動把apt install firefox轉換成snap install firefox。如果你硬要禁止APT安裝Snapd，套件依賴還會崩掉。\n不少人認為Ubuntu強制推動Snap是個錯誤。 2022年後，Ubuntu官方flavor都預裝了Snap，包含Kubuntu、Lubuntu、Xubuntu。有報導稱，未來Ubuntu可能會逐步把自家系統全面Snap化。\n但是基於Ubnutu開發的發行版，例如Linux Mint、ZorinOS、elementaryOS、KDE neon，由於他們並非Canonical直接控制的組織，有些發行版選擇不內建Snap。\nLinux Mint 20甚至禁止APT自動安裝Snap，他們認為Snap會導致開發者不願意釋出其他打包格式的軟體，長久以來對Linux社群是有害的。\nLinux Mint在官方文件指出，他們無法監管Snap Store上的軟體，軟體庫完全是由Ubuntu控制的。 與之相對的是，許多Linux發行版選擇內建Flatpak。部份發行版Manjaro和openSUSE內建Snap，但他們也會內建Flatpak。\n那麼Canonical創辦人Mark Shuttleworth怎麼說呢？他在2022年的訪談說Ubuntu不打算像Fedora一樣，跟隨趨勢內建Flatpak：\n「我可以說現在Flatpak不適合我們。我不認為Flatpak有我們要的安全功能，而且我也不認為他們有能力在未來提供與Snap相同的執行完整性，我們已經內建這些功能到Snap了。」\n儘管Mark Shuttleworth承認Snap在桌面系統仍有不足之處，但他堅持Ubuntu應該繼續採用Snap。\n起碼Ubuntu沒有禁止安裝Flatpak啦。\nSnap會不會像Canonical以前推動的Mir、Unity、Upstart技術一樣，哪天就突然掛掉呢？還是會變成UFW一樣廣為使用的技術？目前是未知數。\n6. 實際用了Snap之後的想法 # 雖然受到批評，但Snap軟體數量確實是有在增加的，常見的Linux軟體都開始有了Snap版本。得益於Ubuntu的高人氣，越來越多開發者願意釋出Snap套件支援。\n在架設雲端的時候，我發現Snap可以大大簡化Nextcloud的安裝程序，且很多非開源的軟體都逐步出現在Snap Store，連foobar2000都在Snap Store上架了(雖然只是跟Wine包在一起)。某些沒有圖形界面的程式也可以靠Snap取得最新版，例如Hugo靜態網頁生成器、FFmpeg、ImageMagick。\n我覺得Snap有點在重複造輪子的感覺，感覺跟Docker功能重複。有趣的是Canonical確實寫過一篇Snap vs Docker的對比，二者功能很像，Docker偏向伺服器用途，Snap也是偏向伺服器用途但又順便提供了對桌面系統的支援。\n不過如果若真的要跨Linux發行版安裝套件，我還是比較偏好用Flatpak安裝桌面圖形軟體，Snap偶爾作為系統軟體的補充來源。若想把Docker拿來跑圖形軟體，我們還有Distrobox。\n撰文時我主要用的系統是Arch Linux，因為AUR太方便，Snap和Flatpak反而沒那麼必要了。\n參考資料 # Snap documentation - Snapcraft The magic behind snap interfaces What\u0026rsquo;s in a snap? Flatpak vs. Snap vs. AppImage - Linux Packaging Benchmarks! Why all the hate for Ubuntu and snap etc : r/linux - Reddit ","date":"2023年12月20日","externalUrl":null,"permalink":"/posts/linux-snap-pros-and-cons/","section":"所有文章","summary":"本文主要是討論Snap軟體的優缺點，包含技術細節與爭議。關於Snap指令的用法請參閱這篇。\nCanocial公司在2014年推出的「Snap」套件管理系統，經過多年發展後，現在已經是旗下Ubuntu系統家族的一部分了。Snap現正逐步推廣到其他Linux發行版。 但是，Linux社群卻有很多用戶不喜歡Snap Snap已經變成一種梗了。\n當提到跨發行版的解決方案時，會有人吐槽用Snap還不如用Flatpak或Nix之類的解決方案。AskUbuntu上的用戶還提供了強制停用Snap套件的方法。\n這讓人不禁懷疑，Ubuntu推動的Snap真的有那麼壞嗎？讓我們一瞧Snap運作原理，了解Snap優點和缺點，並讓讀者思考為何Snap會惹人嫌？\n本篇文章中會不時將Snap與Flatpak技術做比較，因為二者都是面向桌面用戶、軟體數量逐漸增加中的軟體安裝方案。\n1. Snap軟體簡介 # Snap軟體是Canonical為了解決跨Linux發行版軟體安裝問題而出現，用Snap裝軟體有什麼優點？考慮以下情況：Ubuntu系統使用APT安裝deb套件，方便使用者取得各式各樣的軟體。但是Ubuntu和Ubuntu LTS套件是不同步的，LTS的套件雖然穩定但比較舊，這會給軟體維護造成困擾，使用LTS系統的使用者可能收不到最新版軟體，導致程式執行出bug。\n","title":"Ubuntu Linux用Snap安裝軟體的優缺點","type":"posts"},{"content":"Snap是什麼呢？這是Linux系統的一種軟體打包格式兼套件管理系統，由Ubuntu背後的公司Canonical推動。 Snap管理系統是為了解決在不同Linux發行版安裝軟體的問題，將軟體需要的依賴套件都包在一起，即可保證每個發行版都到安裝一致的軟體版本。\n甚至在舊版本的Ubuntu LTS系統也可以用Snap安裝到最新版軟體，而不至於弄壞系統套件依賴。\n不知道有什麼Snap軟體好裝？你可以先在Snapcraft瀏覽編輯精選的好用軟體。Snap除了用來裝圖形應用程式之外，也有很多純文字工具提供Snap版本，方便於伺服器環境使用。Snap本身有一套沙盒的權限系統，可進一步增強系統安全性。\n本文介紹Snapd與Snap的用法。\n1. 安裝Snapd # Snap軟體依賴「Snapd」來管理套件。Snapd目前只有Ubuntu、Ubuntu Core、Ubuntu touch、Manjaro、openSUSE有內建，如果你使用這些發行版可以跳過這一段。\n沒內建Snapd的Linux發行版要自行安裝。Snapd僅支援使用Systemd的Linux發行版，所以Alpine Linux和MX Linux無法裝Snapd。\nGentoo從官方軟體庫編譯Snapd\nArch Linux透過AUR安裝Snapd\nFedora從DNF安裝\n如果你的Linux系統沒有任何安全機制，建議安裝AppArmor用於管理Snap權限，增強安全性。\n在安裝好Snap後，記得設定Snapd開機服務\nsudo systemctl enable snapd.apparmor.service sudo systemctl enable snapd.socket 重開機後便可以開始安裝Snap軟體了。 2. 如何安裝Snap軟體 # 在安裝Snapd後，推薦安裝Snap Store，方便以圖形化方式安裝軟體。\n使用此指令從Snap套件庫安裝Snap Store： sudo snap install snap-store 目前Snap Store是由Canonical經營，上面的有許多開發者親自發布的軟體（綠勾勾）。Snap Store的軟體也可以在SnapCraft網頁找到。 在軟體安裝頁面，右上角可以讓你選擇要裝穩定版(stable)還是測試版(beta)的軟體 有趣的是，Snap Store的軟體網頁會顯示下載此軟體的用戶來自哪些國家，和他們使用的發行版。 3. Snap常用指令 # 如果你覺得從Snap Store點選太慢，不妨使用指令管理更新。\n列出目前已安裝的Snap軟體：\nsudo snap list 更新全部的Snap軟體：\nsudo snap refresh Snap預設會自動在背景下載軟體更新，如果要停用自動更新，使用--hold和--unhold引數開關自動更新：\n# 停用全域自動更新 sudo snap refresh --hold # 僅停用Firefox的自動更新 sudo snap refresh --hold firefox # 啟用自動更新 sudo snap refresh --unhold 搜尋Snap Store上的軟體，例如搜尋Firefox：\nsnap search firefox 安裝Snap軟體需要加sudo\nsudo snap install firefox 如果在安裝Snap軟體的時候加上--classic，它就不會套用任何權限控制，可以存取系統上的任意檔案。\nsudo snap install --classic firefox Snap軟體安裝後應會出現在應用程式列表。或者用指令執行Snap軟體：\nsnap run firefox 執行Snap軟體的時候可以加上參數，例如Firefox開啟隱私視窗：\nsnap run firefox -private 可以看到執行Snap軟體需要多加snap run的指令，但其實你也可以直接打firefox開啟Snap版的Firefox。\n如果執行Snap版firefox的時候顯示找不到指令，使用者要自行將Snap軟體的安裝路徑~/snap/bin加到~/.bashrc：\necho \u0026#34;$PATH:~/snap/bin\u0026#34; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 解除安裝Snap軟體的指令：\nsudo snap remove firefox 解除安裝Snap軟體的時候一併刪除使用者資料，以及自動製作的快照：\nsudo snap remove --purge firefox 4. Snap軟體資料的存放位置 # Snap軟體通常會隔離應用程式資料的存放位置，包括軟體設定檔等資料。比如Snap版Firefox會把.mozilla目錄放到~/snap/firefox/common/.mozilla/，而非直接在使用者家目錄新增.mozilla。\n註：Snap版Firefox還是會先嘗試讀取~/.mozilla的資料，該目錄不存在的話才會使用自身的目錄。這可能是Ubuntu想讓使用者能輕鬆從deb版Firefox切換到Snap版Firefox的設計。\n如果Snap是以root身份安裝，Snap軟體的資料就是位於/var/snap/Snap軟體名稱/common（SNAP_COMMON）和/var/snap/Snap軟體名稱/版本號（SNAP_DATA）\n一般使用者的話，Snap軟體資料位於~/snap/Snap軟體名稱/common（SNAP_COMMON）和~/snap/Snap軟體名稱/版本號（SNAP_DATA）\n如果有舊版、用不到的Snap套件在佔空間，你可以直接移除快取檔：\nsudo systemctl stop snapd sudo sh -c \u0026#39;rm -rf /var/lib/snapd/cache/*\u0026#39; sudo systemctl start snapd 5. 備份Snap軟體資料 # Snap提供快照功能，能把目前系統安裝的Snap軟體和資料備份起來，方便日後復原。\n使用sudo snap save製作快照，它會將Snap與軟體資料全部儲存起來。\n快照的數字ID是遞進計算的，使用snap saved列出已儲存的快照，每個快照都會有一組數字。sudo snap forget 快照ID刪除快照。 Snap的快照也可以匯出成zip檔案，方便搬移到其他硬碟儲存，要使用的時候再匯入。\nsudo snap export-snapshot 1 my-snapshot.zip sudo snap import-snapshot my-snapshot.zip 用sudo snap restore 快照ID還原快照，還原時資料會直接覆蓋。\n另外Snap可以設定snapshots.automatic.retention的數值，啟用自動製作快照，數值不可低於24小時。數值若設定no就是不要自動製作快照。\nsnap set system snapshots.automatic.retention=30h 6. 如何調整Snap軟體的權限 # 此處供進階使用者參考，一般使用者應該不需要煩惱這些問題，因為權限應該是Snap軟體打包時就寫好了。軟體若出問題應該先向打包Snap軟體的人回報，Snap Store下方都會有開發者的聯絡資訊。\n根據Snap官方文件，每個Snap軟體都有插頭Plug和插槽Slot，彼此之間使用界面Interfaces來溝通。\nSnap依賴AppArmor來管理權限，如果系統沒有AppArmor，則Snap會以classic模式執行，以上權限系統全部失效，Snap軟體將擁有存取任意系統檔案的權限。\n最簡單的權限管理方式就是用Snap Store，在安裝軟體後會多出權限按鈕(Permission)，在這裡可控管該軟體的權限，像是禁止Snap軟體存取使用者家目錄、USB裝置、麥克風等等。 Snap Store簡潔明白，但接下來的概念就有點複雜了。\n指令snap connections --all查看所有Snap軟體的插座和插槽 使用snap connections firefox指令查看Firefox正在使用的界面。\n這裡看到Firefox用firefox:audio-playback插頭連接到:audio-playback的插槽，所以瀏覽器可以播放聲音。又，Firefox有連接:home插槽，所以可以存取使用者家目錄的檔案。 使用snap connect \u0026lt;snap\u0026gt;:\u0026lt;plug interface\u0026gt;指令將二個Snap軟體連在一起，等同額外賦予權限，例如允許Firefox存取系統麥克風\nsnap connect firefox:audio-record 當然，也可以用snap disconnect \u0026lt;snap\u0026gt;:\u0026lt;plug interface\u0026gt;指令移除Snap軟體的權限，比如禁止Firefox存取系統麥克風：\nsnap disconnect firefox:audio-record 7. Snap技術細節與爭議 # 參閱以Snap安裝Linux軟體的優缺點\n8. 如何刪除Snap # 如果你是想解決Snap干擾APT運作的問題，建議先看這篇再做決定：想安裝deb卻變成Snap？Ubuntu防止APT安裝Snap套件的解決方案\n沒有內建Snap的Linux發行版，只要刪除所有Snap套件，再將Snapd服務移除就好。不過Ubuntu若是把Snap移除的話，就得自行解決部份deb套件缺失的問題。\n一個一個移除所有Snap套件 sudo snap list sudo snap remove --purge \u0026#34;套件名稱\u0026#34; 用APT移除Snapd sudo systemctl stop snapd sudo apt remove --purge snapd 刪除殘餘檔案 sudo rm -r ~/snap 延伸閱讀 # Snap documentation - Snapcraft snapcraft.io - The place where snap users, contributors, and developers get together. AppImage：可攜式軟體 Flatpak跨發行版套件管理器 ","date":"2023年12月20日","externalUrl":null,"permalink":"/posts/linux-snap-introduction/","section":"所有文章","summary":"Snap是什麼呢？這是Linux系統的一種軟體打包格式兼套件管理系統，由Ubuntu背後的公司Canonical推動。 Snap管理系統是為了解決在不同Linux發行版安裝軟體的問題，將軟體需要的依賴套件都包在一起，即可保證每個發行版都到安裝一致的軟體版本。\n甚至在舊版本的Ubuntu LTS系統也可以用Snap安裝到最新版軟體，而不至於弄壞系統套件依賴。\n不知道有什麼Snap軟體好裝？你可以先在Snapcraft瀏覽編輯精選的好用軟體。Snap除了用來裝圖形應用程式之外，也有很多純文字工具提供Snap版本，方便於伺服器環境使用。Snap本身有一套沙盒的權限系統，可進一步增強系統安全性。\n本文介紹Snapd與Snap的用法。\n1. 安裝Snapd # Snap軟體依賴「Snapd」來管理套件。Snapd目前只有Ubuntu、Ubuntu Core、Ubuntu touch、Manjaro、openSUSE有內建，如果你使用這些發行版可以跳過這一段。\n沒內建Snapd的Linux發行版要自行安裝。Snapd僅支援使用Systemd的Linux發行版，所以Alpine Linux和MX Linux無法裝Snapd。\nGentoo從官方軟體庫編譯Snapd\nArch Linux透過AUR安裝Snapd\nFedora從DNF安裝\n如果你的Linux系統沒有任何安全機制，建議安裝AppArmor用於管理Snap權限，增強安全性。\n在安裝好Snap後，記得設定Snapd開機服務\nsudo systemctl enable snapd.apparmor.service sudo systemctl enable snapd.socket 重開機後便可以開始安裝Snap軟體了。 2. 如何安裝Snap軟體 # 在安裝Snapd後，推薦安裝Snap Store，方便以圖形化方式安裝軟體。\n","title":"Linux系統的Snap是什麼？跨發行版軟體套件管理員使用方法","type":"posts"},{"content":"Generating same URL for pages from different sections under content directory of Hugo website.\n1. Hugo內容與網址管理問題 # 長久以來我都是把所有文章放在同一個/posts目錄下\ncontent ├── posts/ │ ├── article1/ ├─── ├─index.md │ ├── article2/ ├─── ├─index.md │ ├── article3/ ├─── ├─index.md │ ├── article4/ ├─── ├─index.md 這樣所有文章都會產生/posts/為前綴的網址，等同是永久連結：\nhttps://example.com/posts/article1/ https://example.com/posts/article2/ 問題來了，久而久之，文章越來越多，現在已經超過500個資料夾了，難以管理呀。我想要把文章依照類別放目錄，例如這樣：\ncontent ├── posts/ │ ├── article1/ ├─── ├─index.md ├── linux/ │ ├── article2/ ├─── ├─index.md ├── mobilephone/ │ ├── article3/ ├─── ├─index.md ├── technology/ │ ├── article4/ ├─── ├─index.md 但是，如果直接這樣放，生成的文章網址就會變成下面這樣，每個網址由Hugo自動帶入section，造成困擾。\nhttps://example.com/posts/article1/ https://example.com/linux/article2/ https://example.com/mobilephone/article3/ https://example.com/technology/article4/ 為什麼？因為我常常用categories的front matter來調整文章分類，文章的網址最好是固定的日後才能方便移動：\nhttps://example.com/posts/article1/ https://example.com/posts/article2/ https://example.com/posts/article3/ https://example.com/posts/article4/ 要解決這個問題，得調整Hugo生成網址的設定。我想要讓不同目錄section下的文章最終都擁有一樣的/posts/網址，即永久連結。\n2. 解決方案 # 讓我們再看一次Hugo的渲染機制。\nHugo網頁結構是使用名為section的機制來控制的，content下的每個目錄都是一個section。\n如果Hugo網站根目錄的content有以下多個目錄section，每個目錄分別有一篇文章article\ncontent ├── section1/ │ ├── article1/ ├─── ├─index.md ├── section2/ │ ├── article2/ ├─── ├─index.md 那麼最終生成的文章網址如下：\nhttps://example.com/section1/article1 #對應content/article1/index.md https://example.com/section2/article2 #對應content/article2/index.md 接著看你的主題怎麼實作，像我使用的Blowfish主題的首頁「全部文章列表」只能讀單個section下的文章，變成單一列表。因此secion1的列表就不會包含section2的內容。\n由此可知，Hugo的section會區隔開文章。\n要讓不同section下的文章產生同一個網址，就得到Hugo網站根目錄的設定(config.toml或config.yaml)設定「Permalinks」的產生規則。\n根據Hugo官方文件URL management，只要在檔案新增[permalinks]區塊，加入以下內容就可以了\n[permalinks] [permalinks.page] posts = \u0026#39;/posts/:contentbasename/\u0026#39; linux = \u0026#39;/posts/:contentbasename/\u0026#39; mobilephone = \u0026#39;/posts/:contentbasename/\u0026#39; technology = \u0026#39;/posts/:contentbasename/\u0026#39; [permalinks.section] posts = \u0026#39;/posts/\u0026#39; linux = \u0026#39;/posts/\u0026#39; mobilephone = \u0026#39;/posts/\u0026#39; technology = \u0026#39;/posts/\u0026#39; posts = '/posts/:contentbasename/'指定，讓/posts目錄下的文章產生/posts的網址；同理，linux = '/posts/:contentbasename/'讓/linux目錄下的文章也產生/posts的網址。\n:contentbasename是token，代表以文章markdown的檔名或page bundle目錄名稱來命名網址。\n如此一來，位於不同目錄的頁面就會有相同的網址了。至於沒有定義在[permalinks]的目錄，Hugo就會照舊生成帶有section的網址。\n","date":"2023年12月19日","externalUrl":null,"permalink":"/posts/same-url-for-hugo-pages-from-different-sections/","section":"所有文章","summary":"Generating same URL for pages from different sections under content directory of Hugo website.\n1. Hugo內容與網址管理問題 # 長久以來我都是把所有文章放在同一個/posts目錄下\ncontent ├── posts/ │ ├── article1/ ├─── ├─index.md │ ├── article2/ ├─── ├─index.md │ ├── article3/ ├─── ├─index.md │ ├── article4/ ├─── ├─index.md 這樣所有文章都會產生/posts/為前綴的網址，等同是永久連結：\nhttps://example.com/posts/article1/ https://example.com/posts/article2/ 問題來了，久而久之，文章越來越多，現在已經超過500個資料夾了，難以管理呀。我想要把文章依照類別放目錄，例如這樣：\ncontent ├── posts/ │ ├── article1/ ├─── ├─index.md ├── linux/ │ ├── article2/ ├─── ├─index.md ├── mobilephone/ │ ├── article3/ ├─── ├─index.md ├── technology/ │ ├── article4/ ├─── ├─index.md 但是，如果直接這樣放，生成的文章網址就會變成下面這樣，每個網址由Hugo自動帶入section，造成困擾。\nhttps://example.com/posts/article1/ https://example.com/linux/article2/ https://example.com/mobilephone/article3/ https://example.com/technology/article4/ 為什麼？因為我常常用categories的front matter來調整文章分類，文章的網址最好是固定的日後才能方便移動：\nhttps://example.com/posts/article1/ https://example.com/posts/article2/ https://example.com/posts/article3/ https://example.com/posts/article4/ 要解決這個問題，得調整Hugo生成網址的設定。我想要讓不同目錄section下的文章最終都擁有一樣的/posts/網址，即永久連結。\n2. 解決方案 # 讓我們再看一次Hugo的渲染機制。\n","title":"調整Hugo的permalinks，讓不同section的頁面產生同一個網址","type":"posts"},{"content":"在AppImage安裝教學一文我提過了AppImage格式的使用方法。儘管AppImage設計上是可以一個檔案在任意Linux系統上執行，不過還有個問題沒有解決：設定檔不會跟著程式跑。\n考慮以下情況：\n你下載了打包成AppImage的GVim，想要把它放到USB隨身碟帶著走，但是vimrc怎麼辦呢？萬一其他電腦也有vimrc呢？\n能不能把vimrc也帶著走，好讓我們點二下開啟GVim的時候就會自動讀取放在隨身碟的vimrc？\n這個時候我們可以利用AppImage提供的Portable Mode，做一個假的家目錄給AppImage優先存取！\n1. Portable Mode使用方式 # 在AppImage所在的目錄，建立同名目錄，後面加上.home。例如gvim.AppImage就建立gvim.AppImage.home 再來把.vimrc放到gvim.AppImage.home 我們在該個vimrc檔案加入自訂打招呼訊息\nautocmd VimEnter * echo \u0026#34;vimrc of gvim.AppImage\u0026#34; 點選執行gvim.AppImage，在左下角確實看到了打招呼訊息，證實AppImage現在是優先讀取這個目錄了。 以此類推，如果你要在隨身碟放置一堆AppImage程式，那麼結構就會變這樣\n. ├── firefox.AppImage ├── firefox.AppImage.home ├── gvim.AppImage ├── gvim.AppImage.home ├── libreoffice.AppImage ├── libreoffice.AppImage.home ├── krita.AppImage ├── krita.AppImage.home 2. Portable Mode原理 # Portable mode是AppImage打包工具「AppImageKit」提供的功能，可以將同一個目錄下的目錄當成特定目錄使用。\n以.home結尾的目錄，對應的就是$HOME環境變數，指向使用者的家目錄。上面Gvim的例子，AppImage一偵測.home目錄的存在，便會優先將其當作家目錄使用，讀取vimrc。當然這裡不是Linux使用者真正的家目錄，而是目前路徑下的.home目錄。\n另外，若AppImage所在目錄有.config結尾的目錄，對應的就是$XDG_CONFIG_HOME環境變數，該變數指向~/.config，這是大多數Linux程式放設定檔的位置，例如MPV、Google Chrome的設定檔。\nAppImage支援的就以上二個，其餘XDG的環境變數不支援的樣子。AppImage是執行時自己判斷.home是否存在，沒辦法在命令行中強迫AppImage要用「哪個家目錄」。\n有.home目錄就足夠了！我們可以在下面放置家目錄，給應用程式使用。\n例如.local/share、.local/state、.local/bin、.ssh等常用的程式目錄。\n3. 利用Portable Mode隔離多開程式的設定檔 # 既然你知道AppImage有Portable mode可以有自己的家目錄了，那這個方法當然也可以用來隔離AppImage設定檔。\n例如，用APT安裝了MPV，你又下載了AppImage的MPV，想測試不同版本之間的差異，那你肯定不會讓他們共用~/.config/mpv/mpv.conf了！\n利用上面提及的技巧，給AppImage版的MPV新增一個mpv.AppImage.config的目錄，隔離設定檔吧。\n參考資料 # Using portable mode - AppImage documentation\n","date":"2023年12月18日","externalUrl":null,"permalink":"/posts/appimage-portable-mode/","section":"所有文章","summary":"在AppImage安裝教學一文我提過了AppImage格式的使用方法。儘管AppImage設計上是可以一個檔案在任意Linux系統上執行，不過還有個問題沒有解決：設定檔不會跟著程式跑。\n考慮以下情況：\n你下載了打包成AppImage的GVim，想要把它放到USB隨身碟帶著走，但是vimrc怎麼辦呢？萬一其他電腦也有vimrc呢？\n能不能把vimrc也帶著走，好讓我們點二下開啟GVim的時候就會自動讀取放在隨身碟的vimrc？\n這個時候我們可以利用AppImage提供的Portable Mode，做一個假的家目錄給AppImage優先存取！\n1. Portable Mode使用方式 # 在AppImage所在的目錄，建立同名目錄，後面加上.home。例如gvim.AppImage就建立gvim.AppImage.home 再來把.vimrc放到gvim.AppImage.home 我們在該個vimrc檔案加入自訂打招呼訊息\nautocmd VimEnter * echo \"vimrc of gvim.AppImage\" 點選執行gvim.AppImage，在左下角確實看到了打招呼訊息，證實AppImage現在是優先讀取這個目錄了。 以此類推，如果你要在隨身碟放置一堆AppImage程式，那麼結構就會變這樣\n","title":"將Linux AppImage變成真正的可攜式軟體！Portable mode使用方式","type":"posts"},{"content":"這篇文章將講解Linux上以.AppImage檔名結尾的應用程式安裝方法，並介紹輔助工具「AppImage Launcher」。\nAppImage是Linux的一種軟體打包格式，用於解決不同Linux發行版安裝應用程式依賴的問題而生。 以AppImage打包的應用程式，需要的依賴套件都包在一起，下載就是單一檔案，點二下就可以執行，不需要安裝，也無需考量不同Linux發行版的差異。概念上AppImage類似於Windows的可攜式exe、macOS的dmg。\nAppImage主要依賴FUSE掛載檔案系統運作，現在大部份64位元Linux發行版應該都支援AppImage格式，無需安裝套件就可以執行。\n1. 如何安裝AppImage格式的程式？ # 嚴格來說，AppImage應用程式不需要「安裝」，因為下載後直接點選執行就可以了。如果你還是想要「安裝」到固定目錄，後面我們會再介紹用AppImage Launcher工具管理。\n網站Appimagehub有收錄許多AppImage格式的軟體，例如Firefox、GIMP、Kdenlive、Blender、LibreOffice。\nGithub上有些軟體開發者也會以AppImage格式分發他們的軟體。\n以Mozilla Firefox為例，到AppImage Hub點選Download，下載.AppImage的檔案 AppImage需要賦予執行權限。如果你用的是KDE檔案管理員的話可以右鍵 → 屬性 → 權限，勾選其為可執行檔，GNOME亦同。 如果沒辦法用檔案管理員賦予權限，那就用chmod指令賦予執行權限\nchmod +x firefox.AppImage 在那之後對AppImage按二下，應用程式即會啟動。AppImage檔案可放在任意目錄，都是點二下就能執行。 如果AppImage點了沒反應，試著用終端機執行，並看看有無輸出錯誤訊息。\n./firefox.AppImage AppImage後面也可以接指令參數，例如指定Firefox開啟隱私視窗 ./firefox.AppImage -private （此狀況很少見）如果你的系統不支援FUSE，導致沒辦法執行AppImage，或出現Cannot mount AppImage, please check your fuse setup.錯誤，那麼試試將AppImage解壓縮，執行裡面的二進位檔：\n./firefox.AppImage --appimage-extract cd squashfs-root ./AppRun 解開後的AppImage可以自行修改內容，再用appimagetool打包回去。\n2. 使用AppImage Launcher管理程式 # AppImage雖然有可攜的特性，但是要管理和刪除仍是不方便。譬如，上面我們安裝了AppImage版的Firefox，但每次開啟都要進去檔案管理員點選，無法從應用程式列表啟動，是否太麻煩了些？\n那就來安裝AppImge Launcher吧！將AppImage與桌面環境完美整合。它會在你執行AppImage後自動幫你把AppImage移動到固定路徑，並在應用程式列表建立捷徑(Desktop Entry)。 至Github \u0026ldquo;Assets\u0026quot;處，下載AMD64架構的deb檔安裝。 於下載目錄開啟終端機，安裝deb檔\nsudo apt install ./appimagelauncher*amd64.deb 點選之前下載的AppImage檔案，於AppImage Launcher初始化的界面點選確定。 自此之後，執行AppImage的檔案，AppImage Launcher都會詢問是否要整合至系統(Integrate and run)還是直接執行(Run once)。 若不希望出現此對話框，可以使用環境變數APPIMAGELAUNCHER_DISABLE=暫時停用AppImage Launcher。\n選擇「整合至系統」，該AppImage便會移動到~/Applications，且圖示會出現在應用程式列表。 對其點右鍵可以檢查更新(Update AppImage)。 如果要「解除安裝」AppImage，於應用程式列表對圖示按下右鍵，選取Remove AppImage from system，圖示和AppImage檔就會刪除。\n如果覺得手動更新很麻煩，你也可以安裝bauh，方便管理AppImage更新。\n3. 透過命令行執行AppImage程式 # 如果用AppImage安裝vim，如何在命令行直接呼叫vim使用呢？\nAppImage本身就像一個二進位執行檔，因此確認AppImage路徑後，再把檔案所在路徑加入到PATH環境變數就行了。\n譬如，使用AppImage Launcher所安裝的vim.AppImage會跑到~/Applications，那麼就把該路徑加入到~/.bashrc：\necho \u0026#34;PATH=$PATH:~/Applications\u0026#34; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 或者，按照AppImage的絕對路徑建立alias，指向AppImage所在位置：\necho \u0026#34;alias vim=\u0026#39;~/Applications/vim.AppImage\u0026#39;\u0026#34; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 4. 如何更新AppImage程式 # 看開發者怎麼設計。\n有的AppImage在透過AppImage Launcher安裝之後，按下右鍵選單就會出現Update按鈕。\n如果沒有，就手動下載新版AppImage，點選執行，按Integrate and run，它會自動放到~/Applications。再於應用程式列表，對舊版AppImage按右鍵，移除AppImage。\n5. 關於AppImage的技術細節 # 設定檔位置\nAppImage設定檔的位置跟一般套件管理器的相似，遵守FreeDesktop XDG標準，比如AppImage版Firefox仍會優先讀取位於~/.mozilla的資料，不會另外建立新的目錄。所以如果deb版Firefox跟AppImage版Firefox一起用的話資料可能會互相干擾。\n如果想將AppImage的應用程式設定檔一併帶著走，請參閱將Linux AppImage變成可攜式軟體！Portable mode使用方式\nAppImage沒有沙盒隔離的效果，應用程式執行時仍可以存取使用者所有目錄。想要沙盒隔離請搭配FireJail或者上述的Portable mode來隔離設定檔。\n不包含驅動程式\nAppImage包的runtime其實沒有你想像的多，使用musl函式庫的Linux發行版可能無法執行以glibc打包的AppImage。\n如果系統底層函式庫出問題，那AppImage也會受影響。比方說開發者用舊版Ubuntu系統打包，那麼Arch Linux不見得100%能執行。\n如果應用程式需要用到Nvidia圖形驅動程式，AppImage也不會提供，使用者需要在系統事先安裝。\n所以跟Snap和Flatpak比起來，AppImage程式還是得很大程度依賴系統的runtime才能跑起來。\n跨架構支援需要另外打包\nAppImage沒有跨架構模擬的效果，ARM和x86平台需要下載對應其架構的AppImage檔案。\n延伸閱讀 # 如果你想把軟體打包成AppImage，請參考 AppImage Documentation\n像AppImage意圖解決跨發行版問題的打包格式還有Flatpak和Snap。相較前二者，AppImage的優點是免安裝直接用，不需要額外套件管理器；但缺點是AppImage不能用套件管理員指令更新，也沒有應用程式商店前端能用。\n","date":"2023年12月18日","externalUrl":null,"permalink":"/posts/linux-appimage-introduction/","section":"所有文章","summary":"這篇文章將講解Linux上以.AppImage檔名結尾的應用程式安裝方法，並介紹輔助工具「AppImage Launcher」。\nAppImage是Linux的一種軟體打包格式，用於解決不同Linux發行版安裝應用程式依賴的問題而生。 以AppImage打包的應用程式，需要的依賴套件都包在一起，下載就是單一檔案，點二下就可以執行，不需要安裝，也無需考量不同Linux發行版的差異。概念上AppImage類似於Windows的可攜式exe、macOS的dmg。\nAppImage主要依賴FUSE掛載檔案系統運作，現在大部份64位元Linux發行版應該都支援AppImage格式，無需安裝套件就可以執行。\n1. 如何安裝AppImage格式的程式？ # 嚴格來說，AppImage應用程式不需要「安裝」，因為下載後直接點選執行就可以了。如果你還是想要「安裝」到固定目錄，後面我們會再介紹用AppImage Launcher工具管理。\n網站Appimagehub有收錄許多AppImage格式的軟體，例如Firefox、GIMP、Kdenlive、Blender、LibreOffice。\nGithub上有些軟體開發者也會以AppImage格式分發他們的軟體。\n以Mozilla Firefox為例，到AppImage Hub點選Download，下載.AppImage的檔案 ","title":"Linux AppImage軟體格式安裝方法，新增桌面捷徑","type":"posts"},{"content":"The Flaming Lips - SpongeBob and Patrick Confront the Psychic Wall of Energy\n烈火紅唇樂團 - 海綿寶寶與派大星碰到心智年齡之牆\n官方MV，沒有出現海綿寶寶畫面。有觀眾留言：聽說當年他們打算將電影版作為海綿寶寶系列的完結作品，這首歌好像在跟你說再見一樣，令人感動。還有人講：2004年後的海綿寶寶動畫就失去靈魂了。 網友製作的音效加強版。這一幕兩人被抓到貝殼城，準備要做成魚乾了。The Flaming Lips從這一幕發想，兩人好像碰到了無法長大的隱形牆壁。 根據海綿寶寶Wiki，這首歌為2004年海綿寶寶電影：海神王王冠 (The SpongeBob SquarePants Movie) 的第二首片尾曲，由The Flaming Lips演唱，收錄於同一年出版的專輯《The SpongeBob SquarePants Movie – Music from the Movie and More\u0026hellip;》\n台灣觀眾應該小時候看東森幼幼重播海神王王冠很多遍了，不意外東森幼幼都是直接剪掉片尾曲，頂多會聽到第一首片尾曲〈Ocean Man〉的前奏，然後就進廣告了。 所以大家比較熟悉的應該是〈Goofy Goober Rock〉哈哈傻瓜蛋搖滾吧，忽略掉最後面四首悠閒的片尾曲。\n海神王的皇冠片尾曲總共有四首歌，分別是〈Ocean Man〉和〈SpongeBob and Patrick Confront the Psychic Wall of Energy〉和〈Just a Kid〉和〈The Best Day Ever〉。\n其中，The Flaming Lips的這首歌〈SpongeBob and Patrick Confront the Psychic Wall of Energy〉歌詞大意就是海綿寶寶和派大星前往貝殼城的劇情。在經過了一連串冒險後，兩人終於變成了大人了嗎？留待觀眾自行探索。 中文歌詞翻譯：\nPatrick, you see, I\u0026rsquo;m growing a mustache\n派大星，你看，我長出鬍子了\nAnd though I know I must ask you\n雖然我已經有答案了但還是要問你\nDoes it really make me look like a man?\n這樣我看起來像大人了嗎？\nSpongeBob, being a man is just a tough job\n海綿寶寶，當大人很辛苦\nI hope you\u0026rsquo;re picked to be the best SpongeBobs ever had\n我希望海綿寶寶你能被選上店長\nWorking like a dog at the Krusty Krab\n在蟹堡王工作的要死要活\nNow wait a minute\n等一下下\nI think we hit a wall\n我們似乎碰到了一堵牆\nI think we hit a psychic wall\n碰到名為心智年齡的牆\nMaybe we\u0026rsquo;re just young\n或許我們還太年輕了\nAnd we won\u0026rsquo;t know \u0026rsquo;til we\u0026rsquo;re old\n直到老了才會了解\nToo young to free ourselves\n我們還太年輕\nFrom this lonely fish bowl\n無法逃離這個寂寞魚缸\nSome kind of wall\n那是一堵牆\nSome kind of psychic wall\n名為心智年齡的牆\nSome kind of wall\n那是一堵牆\nSome kind of psychic wall\n名為心智年齡的牆\nWe can get a burn\n我們可以找點挑戰\nCome on, let\u0026rsquo;s find a way to be happy\n來吧，找點樂子\nNot like Plankton, he will never be satisfied\n不要像皮老闆一樣，他永遠不會滿足\nAlways complaining about his life\n總是跟電腦老婆\nTo his computer wife\n抱怨他的人生\nYou think he would\u0026rsquo;ve found by now\n你認為他成為比奇堡王之後\nTo be sought as a king\n他會就此滿足嗎\nWe don\u0026rsquo;t need a burn\n我們不需要搞破壞\n","date":"2023年12月18日","externalUrl":null,"permalink":"/posts/the-flaming-lips-spongebob-and-patrick-confront-the-psychic-wall-of-energy-zh-tw/","section":"Musics","summary":"The Flaming Lips - SpongeBob and Patrick Confront the Psychic Wall of Energy\n烈火紅唇樂團 - 海綿寶寶與派大星碰到心智年齡之牆\n官方MV，沒有出現海綿寶寶畫面。有觀眾留言：聽說當年他們打算將電影版作為海綿寶寶系列的完結作品，這首歌好像在跟你說再見一樣，令人感動。還有人講：2004年後的海綿寶寶動畫就失去靈魂了。 網友製作的音效加強版。這一幕兩人被抓到貝殼城，準備要做成魚乾了。The Flaming Lips從這一幕發想，兩人好像碰到了無法長大的隱形牆壁。 根據海綿寶寶Wiki，這首歌為2004年海綿寶寶電影：海神王王冠 (The SpongeBob SquarePants Movie) 的第二首片尾曲，由The Flaming Lips演唱，收錄於同一年出版的專輯《The SpongeBob SquarePants Movie – Music from the Movie and More…》\n台灣觀眾應該小時候看東森幼幼重播海神王王冠很多遍了，不意外東森幼幼都是直接剪掉片尾曲，頂多會聽到第一首片尾曲〈Ocean Man〉的前奏，然後就進廣告了。 所以大家比較熟悉的應該是〈Goofy Goober Rock〉哈哈傻瓜蛋搖滾吧，忽略掉最後面四首悠閒的片尾曲。\n海神王的皇冠片尾曲總共有四首歌，分別是〈Ocean Man〉和〈SpongeBob and Patrick Confront the Psychic Wall of Energy〉和〈Just a Kid〉和〈The Best Day Ever〉。\n其中，The Flaming Lips的這首歌〈SpongeBob and Patrick Confront the Psychic Wall of Energy〉歌詞大意就是海綿寶寶和派大星前往貝殼城的劇情。在經過了一連串冒險後，兩人終於變成了大人了嗎？留待觀眾自行探索。 ","title":"【歌詞翻譯】海綿寶寶電影版海神王的皇冠片尾曲 The Flaming Lips - SpongeBob and Patrick Confront the Psychic Wall of Energy","type":"music"},{"content":"註：本文內容已過時，請斟酌參考。2024年1月，HoloISO正式變成immutable distro，舊版已停止更新。新版特色是系統分區唯讀，更新模式更接近Steam OS。\n請到這裡下載新版：HoloISO Immutable\nHoloISO為一個試圖將SteamOS移植到個人電腦的試驗性系統，並非Valve官方釋出的專案。\n撰文當下測試的HoloISO版本：snapshot20230823.1454\n結論：先不要。我寧願在正常的Linux發行版裝Steam客戶端，再調整一下Big Picture Mode就可以獲得SteamOS八成的體驗，也不要用這個半成品系統。\n但裝都裝了，我還是在此介紹HoloISO的系統特色吧，還有安裝過程。 1. HoloISO介紹 # Valve給Steam Deck打造了一個作業系統，叫做SteamOS。SteamOS 3以後基於Arch Linux開發，只能在Steam Deck安裝。截至2023年12月，Valve官方還沒有提供統一的ISO給大家下載。\n撰文時點官網的「SteamOS 2」是給很久以前的Steam Machine用的，跟現在的SteamOS 3差很多。 而HoloISO專案的目的就是要讓SteamOS能安裝在任意的x86電腦或掌機，用於填補Valve正式釋出SteamOS之前的空缺。\n專案發起人Adam Jafarov修改了用於還原SteamOS系統的映像檔，將其改造成能安裝到任意x86硬體。Github上甚至寫：「是的G胖，烤吐司機也能跑SteamOS」 相較於在一般的Linux裝Steam玩遊戲，或是使用Nobara、ChimeraOS的遊戲系統，HoloISO本身就是為Steam遊戲周邊打造的Linux系統，有許多預先設定好的工具和實用設定，HoloISO開發者試圖把SteamOS的功能原封不動的移植到個人電腦。\n跟SteamOS一樣，HoloISO比較像是玩遊戲專用的系統，桌面系統功能只是附贈。\n開發者說HoloISO跟SteamOS有99%像，套件都是來直接自Valve的。但請注意HoloISO是不受Valve官方支援的，不保證更新後系統穩定，遇到問題你得想辦法自己解決，或者到Github詢問。\n硬體也不保證能開箱即用，因為Steam Deck的硬體驅動是由Valve維護的，但其他電腦可能需要裝驅動程式，例如Wifi驅動要自己要裝，Nvidia驅動在Linux也不是很穩定。\n故要跑HoloISO的話，電腦顯示卡品牌推薦使用AMD或Intel，Wifi品牌用Intel或Qualcomm的，這些都是Linux核心支援度較好的硬體，比較不會出問題。\n你也可以先在電腦裝Ubuntu系統，測試Linux下的驅動支援狀況再考慮安裝HoloISO。\n另外，HoloISO的系統是可以讀寫的，不會像SteamOS一樣唯讀。如果你對Arch Linux比較熟悉可以嘗試自行除錯，比如Nvidia驅動用DKMS是可以裝起來的。\n2. 我的環境 # 裝置：MSI Modern 15 A10RBS CPU: Intel i5-10210u GPU: Intel UHD 620 GPU: Nvidia MX350 我在QEMU/KVM虛擬機測試過了，HoloISO開機會黑螢幕，一定得裝在實機。\n如果電腦有Windows，HoloISO應會自動偵測到並安裝成雙重開機模式（要先在Windows磁碟管理員壓縮磁碟，切出至少64GB的未指派空間給HoloISO）。不過為保險起見，我是用單獨整個硬碟都給HoloISO安裝啦。\n3. 安裝HoloISO # 下載後檢查檔案完整性防止檔案毀損。使用Ventoy製作開機碟。\n至Github下載ISO，放到Ventoy隨身碟。\n進入電腦UEFI，關閉Secure Boot、TPM，並設定以USB隨身碟開機\n等待HoloISO桌面跑出來，點選左上角按鈕安裝Steam OS 選取Install HoloISO 選取要安裝的硬碟 選取Erase entire drive刪除全部硬碟資料安裝，或是Install alongside existing OS雙系統開機 接著設定root密碼（輸入二次），設定使用者名稱，再輸入密碼二次\n等進度條跑完，確認啟用SWAP分區 裝完後按左下角關機。\n4. 初始設定 # HoloISO預設會自動登入，進入Steam Deck的全螢幕界面，是為Gamescope session。\n如果HoloISO第一次開機就卡開機或是黑螢幕\u0026hellip;.對我真的遇到了\u0026hellip;請強制關機，並在下次開機進入GRUB的時候用鍵盤選取Advanced Options，選Recovery Mode 在看到命令行後輸入root密碼，再輸入指令holoiso-disable-sessions停用自動登入。輸入reboot重開機。 這樣下次就會跑到SDDM，而非自動登入Gamescope session了。點左上角選單，嘗試登入Plasma(X11)工作階段，Plasma就是SteamOS的桌面模式。 登入桌面後Steam會自己跳出來，此時建議先連上網路，就可以登入Steam了。Steam預設會自動啟用Proton。 測試玩幾款遊戲，都可以在HoloISO執行，只要圖形驅動有正常運作，跟在一般Linux下玩Steam遊戲是沒什麼兩樣的。\n最終我還是無法直接登入Gamescope session，改成在KDE桌面開Konsole終端機，輸入指令，手動啟動Gamescope工作階段。(Intel的Mesa有bug？得加入變數INTEL_DEBUG=noccs顏色才會正常)\nINTEL_DEBUG=noccs gamescope -f -W 1920 -H 1080 -r 60 -- steam 這才叫出了Steam Deck的畫面（新版Big Picture Mode），可以用觸控、鍵盤、搖桿之類的方式操作界面。 玩遊戲體驗跟Steam Deck應該是差不多的，插搖桿也偵測得到 5. HoloISO這些問題讓我用不下去 # 雖然HoloISO系統分區可以讀寫，但不要使用pacman -Syu，系統會炸裂，更新一堆檔案衝突，強制更新後我的EFI分區就不見了。\n你應該使用steamos-update指令更新\u0026hellip;但我這個版本跑了沒反應啊。\n加上Gamescope session進不去的問題，這個系統還有很多地方再加強。\nReddit網友對HoloISO的缺點描述得很好：「HoloISO沒有穩定的更新模式」「開發者在更新系統時常常遇到問題，且已經不是第一次了。試圖在不支援自動更新的Arch Linux搞自動更新等同是在玩火。」\n要用Linux系統玩遊戲，我還是在傳統Linux系統裝Steam，自己調整Gamescope、Big Picture Mode就好了。\n","date":"2023年12月17日","externalUrl":null,"permalink":"/posts/holoiso-installation/","section":"所有文章","summary":"註：本文內容已過時，請斟酌參考。2024年1月，HoloISO正式變成immutable distro，舊版已停止更新。新版特色是系統分區唯讀，更新模式更接近Steam OS。\n請到這裡下載新版：HoloISO Immutable\nHoloISO為一個試圖將SteamOS移植到個人電腦的試驗性系統，並非Valve官方釋出的專案。\n撰文當下測試的HoloISO版本：snapshot20230823.1454\n結論：先不要。我寧願在正常的Linux發行版裝Steam客戶端，再調整一下Big Picture Mode就可以獲得SteamOS八成的體驗，也不要用這個半成品系統。\n但裝都裝了，我還是在此介紹HoloISO的系統特色吧，還有安裝過程。 1. HoloISO介紹 # Valve給Steam Deck打造了一個作業系統，叫做SteamOS。SteamOS 3以後基於Arch Linux開發，只能在Steam Deck安裝。截至2023年12月，Valve官方還沒有提供統一的ISO給大家下載。\n撰文時點官網的「SteamOS 2」是給很久以前的Steam Machine用的，跟現在的SteamOS 3差很多。 而HoloISO專案的目的就是要讓SteamOS能安裝在任意的x86電腦或掌機，用於填補Valve正式釋出SteamOS之前的空缺。\n","title":"HoloISO安裝，沒買Steam Deck也能在在個人電腦體驗SteamOS","type":"posts"},{"content":"這是一款把您的Linux桌面變成動態桌布(dynamic wallpaper)的命令行程式。 Github開發者Alexis Maiquez以教育程式的名義，製作了Linux版的「Linux Wallpaper Engine」。靠著這款開源程式，我們就能夠讀取Steam工作坊上的Wallpaper Engine桌布，藉此將其作為Linux桌面的背景。\n可以播放部份帶有3D特效的動態桌布，光點、水波紋的特效的支援程度還不賴。 或是播放影片類桌布\n經測試，本程式適用i3wm、awesome、dwm、Sway、Hyprland、Wayfire、KDE、XFCE、Cinnamon、Deepin、LXQT、Mate桌面。X11與Wayland皆可。\n但是GNOME不支援。別太灰心，有開發者製作了相容GNOME的改進版本。\n考慮到本程式需要打指令，比較適合給視窗管理器的用戶使用。你只要在登入啟動的exec處加入linux-wallpaperengine指令就可以了。\n本文將簡介Linux Wallpaper Engine的指令用法。如果要圖形化程式請參閱文末的其他動態桌布方案，那些方案多半有用到本程式的程式碼。\n1. 安裝linux-wallpaperengine # 參照作者的Github安裝。\n如果你不想手動編譯，可以使用預先編譯好的.deb安裝包：slynobody/linux_wallpaper_engine__precompiled\nUbuntu 22.04要手動編譯。編譯後會得到linux-wallpaperengine執行檔，執行指令為./linux-wallpaperengine。\nsudo apt-get update sudo apt-get install build-essential cmake libxrandr-dev libfreeimage-dev libxinerama-dev libxcursor-dev libxi-dev libgl-dev libglew-dev freeglut3-dev libsdl2-dev liblz4-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libxxf86vm-dev libglm-dev libglfw3-dev libmpv-dev mpv libmpv1 libpulse-dev libpulse0 git clone https://github.com/Almamu/linux-wallpaperengine.git cd linux-wallpaperengine mkdir build cd build cmake .. make Arch Linux可以從AUR裝，執行指令為linux-wallpaperengine\nyay -S linux-wallpaperengine-git 2. 取得Wallpaper Engine桌布 # 於Linux安裝Steam，至Steam商店購買Wallpaper Engine：桌布引擎，以Proton執行。\n如果你不是使用KDE桌面，那Wallpaper Engine主界面有可能叫不出來。若要繞過Wallpaper Engine下載桌布的話，在Steam收藏庫對Wallpaper Engine按右鍵 → 內容 → 工作坊，點選「造訪工作坊」，從Steam工作坊網頁訂閱桌布下載。\n查找Wallpaper Engine程式資料的位置，我們需要它assets目錄下的檔案。Flatpak版Steam預設應該會放在/home/使用者名稱/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/wallpaper_engine/assets/ 接著找到Steam下載桌布的路徑，從下圖可看到，每個桌布目錄都會有一組數字代表。他們都位於目錄/home/使用者名稱/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/workshop/content/431960/ 3. linux-wallpaperengine指令用法 # 有二個必要參數：--assets-dir指定Wallpaper Engine的assets目錄的絕對路徑。接著最後面接上你要用的桌布路徑＋數字。\n比如執行以下指令\nlinux-wallpaperengine \\ --assets-dir \u0026#34;/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/wallpaper_engine/assets/\u0026#34; \\ \u0026#34;/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/workshop/content/431960/2832263418\u0026#34; 預設模式下，會跳出檢視該桌布的獨立視窗。從這裡可以確定該桌布是否有正常運作。目前一些3D場景、應用程式類的桌布無法顯示，但影片是絕對沒問題的。 如果要將其設定為Linux桌布，先執行xrandr指令取得所有螢幕的名稱（Wayland也可以用xrandr呦） 再用--screenroot指定該螢幕要顯示哪個桌布。如果有多個螢幕得寫二次--screenroot，分開指定桌布。\nlinux-wallpaperengine \\ --assets-dir \u0026#34;/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/wallpaper_engine/assets/\u0026#34; \\ \u0026#34;/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/workshop/content/431960/2832263418\u0026#34; \\ --screen-root eDP-1 加上--fps 60參數可提高桌布幀率，--noautomute --volume 100讓桌布播放聲音，--slient靜音。--scaling fit調整縮放方式。\nlinux-wallpaperengine還可以讀取桌布的數值，藉此開關某些效果。\nlinux-wallpaperengine \\ --list-properties \\ --assets-dir \u0026#34;/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/wallpaper_engine/assets/\u0026#34; \\ \u0026#34;/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/workshop/content/431960/2832263418\u0026#34; 不過沒有圖形界面，只能看文字瞎猜了。 以上面的為例，使用--set-property調整該桌布的設定\nlinux-wallpaperengine \\ --set-property newproperty1=1 \\ --assets-dir \u0026#34;/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/wallpaper_engine/assets/\u0026#34; \\ \u0026#34;/home/user/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/workshop/content/431960/2832263418\u0026#34; 其他Linux動態桌布方案 # 圖形化Wallpaper Engine程式：\nfantascene-dynamic-wallpaper：支援GNOME桌面的Wallpaper Engine。 wallpaper-engine-kde-plugin：將Wallpaper Engine與KDE Plasma桌面整合的插件。 Linux上各種Wallpaper Engine程式的價值在於利用Steam工作坊的大量現成Wallpaper Engine桌布。但若只是想播影片當動態桌布的話，那麼swww和mpvpaper會是更輕量的選擇。\n","date":"2023年12月15日","externalUrl":null,"permalink":"/posts/linux-wallpaperengine/","section":"所有文章","summary":"這是一款把您的Linux桌面變成動態桌布(dynamic wallpaper)的命令行程式。 Github開發者Alexis Maiquez以教育程式的名義，製作了Linux版的「Linux Wallpaper Engine」。靠著這款開源程式，我們就能夠讀取Steam工作坊上的Wallpaper Engine桌布，藉此將其作為Linux桌面的背景。\n可以播放部份帶有3D特效的動態桌布，光點、水波紋的特效的支援程度還不賴。 或是播放影片類桌布\n經測試，本程式適用i3wm、awesome、dwm、Sway、Hyprland、Wayfire、KDE、XFCE、Cinnamon、Deepin、LXQT、Mate桌面。X11與Wayland皆可。\n但是GNOME不支援。別太灰心，有開發者製作了相容GNOME的改進版本。\n考慮到本程式需要打指令，比較適合給視窗管理器的用戶使用。你只要在登入啟動的exec處加入linux-wallpaperengine指令就可以了。\n本文將簡介Linux Wallpaper Engine的指令用法。如果要圖形化程式請參閱文末的其他動態桌布方案，那些方案多半有用到本程式的程式碼。\n1. 安裝linux-wallpaperengine # 參照作者的Github安裝。\n","title":"i3wm、Hyprland視窗管理器適用的動態桌面，Linux Wallpaper Engine用法","type":"posts"},{"content":"Linux桌面雖然有高度客製化能力，不過長期以來一直都沒有好的動態桌布(dynamic wallpaper)軟體。相較之下Windows的「Wallpaper Engine」程式很是熱門，Steam上有非常多為其設計的動態桌布。\n那麼乾脆把它搬過來用就好了。我們只要利用dependon開發的「Fantascene」讀取Steam工作坊下載的Wallpaper Engine桌布，即可在Linux達成動態桌面效果。\n部份桌布會跟著滑鼠跑。 播放影片當桌布也可以喔\nFantascene在Deepin商店的中文名稱叫做「幻梦动态壁纸」，功能略遜於wallpaper-engine-kde-plugin，只能播放影片類的Wallpaper Engine桌布，不支援場景互動。\n但Fantascene的優點是支援的東西比較廣，除了Wallpaper Engine的檔案外，也可以播放本機影片當作桌布，不一定要依賴閉源軟體Wallpaper Engine的資源。\n另外Fantascene支援KDE Plasma、GNOME、XFCE、Deepin的桌面環境，Wayland或X11工作階段皆可使用。支援二個螢幕各自設定不同桌布。\n1. 安裝Fantascene # 參照Github指示：dependon/fantascene-dynamic-wallpaper\n最簡單方式是用作者提供的AppImage執行檔，點二下開啟。\nArch Linux可從AUR裝Fantascene：\nyay -S fantascene-dynamic-wallpaper-git 2. 準備桌布資源 # 於Linux安裝Steam，購買Wallpaper Engine。注意Linux的Wallpaper Engine是靠Wine跑的，有問題請到ProtonDB看討論。\n接下來是比較玄的地方，KDE桌面可以正常開啟Wallpaper Engine主程式下載桌布。 但如果你使用GNOME桌面，Wallpaper Engine的主畫面是叫不出來的。此時請執行Wallpaper Engine，在收藏庫對Wallpaper Engine按右鍵 → 內容 → 工作坊，點選造訪工作坊 找到喜歡的視訊類桌布，點選訂閱，讓Steam自行下載 如果要播放本機影片，請將檔案放到~/Videos/fantascene/目錄。\n3. 使用Fantascene # Fantascene主程式開啟後會跑到系統匣，GNOME可能要裝Tray IconsReloaded才會看到圖示。 右鍵開啟主畫面，最上面的可以開啟任意影片檔案 點選「更多設定界面」，確認有開啟GPU解碼和Event Penetration，防止桌布播放影片佔用過多系統資源(其實就是MPV在背景播放)。Event Penetration目前看來只支援讓桌布跟著滑鼠走的基本操作而已。 本地桌面讀取的是~/Videos/fantascene/下的檔案。 桌布引擎請點wallaper engine plugin，填入Steam工作坊下載檔案的路徑（Flatpak版應為~/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/workshop/content/)，再按執行就會列出桌布，點二下套用。 作者還做了一個好用功能，如果你的桌面有GIF的話，那麼可點歷史桌面，將一連串桌面加入播放清單，循環播放。 其他Linux動態桌布方案 # Hidamari：支援GNOME桌面的開源動態桌布軟體。 wallpaper-engine-kde-plugin：將Wallpaper Engine與KDE Plasma桌面整合的插件。 linux-wallpaperengine：純指令執行的Wallpaper Engine，比較適合搭配i3、Sway這類的平鋪視窗管理器使用。 ","date":"2023年12月12日","externalUrl":null,"permalink":"/posts/fantascene-dynamic-wallpaper/","section":"所有文章","summary":"Linux桌面雖然有高度客製化能力，不過長期以來一直都沒有好的動態桌布(dynamic wallpaper)軟體。相較之下Windows的「Wallpaper Engine」程式很是熱門，Steam上有非常多為其設計的動態桌布。\n那麼乾脆把它搬過來用就好了。我們只要利用dependon開發的「Fantascene」讀取Steam工作坊下載的Wallpaper Engine桌布，即可在Linux達成動態桌面效果。\n部份桌布會跟著滑鼠跑。 播放影片當桌布也可以喔\nFantascene在Deepin商店的中文名稱叫做「幻梦动态壁纸」，功能略遜於wallpaper-engine-kde-plugin，只能播放影片類的Wallpaper Engine桌布，不支援場景互動。\n但Fantascene的優點是支援的東西比較廣，除了Wallpaper Engine的檔案外，也可以播放本機影片當作桌布，不一定要依賴閉源軟體Wallpaper Engine的資源。\n另外Fantascene支援KDE Plasma、GNOME、XFCE、Deepin的桌面環境，Wayland或X11工作階段皆可使用。支援二個螢幕各自設定不同桌布。\n1. 安裝Fantascene # 參照Github指示：dependon/fantascene-dynamic-wallpaper\n","title":"Fantascene：在Linux跑Wallpaper Engine動態桌布引擎，適用GNOME、KDE、XFCE","type":"posts"},{"content":"Kdenlive版本：23.08.3\n覺得Kdenlive剪輯很卡？這不是錯覺，Kdenlive預覽影片不太會利用GPU，即使電腦配備在中等以上，平常剪1080p就會偶爾卡一下了。如果剪4K影片，效能就會大幅下降，最終導致連播放都會卡，更別說要剪8K影片了。\n開啟htop，你會發現Kdenlive在預覽4K時會佔用大量CPU渲染影片內容，可本體仍然是lag得要命。 Reddit網友對此有形象的形容詞：\u0026ldquo;choke\u0026rdquo;, \u0026ldquo;choppy\u0026rdquo;\n這個時候，可以用代理剪輯與轉碼，降低剪輯影片時的負擔。\n1. 代理剪輯與轉碼的差別 # 不論用哪種方式都不會影響影片輸出畫質，Kdenlive最終輸出會使用專案設定的畫質來渲染。這裡的手段都僅讓影片剪輯時比較順暢而已。\n代理剪輯(Proxy editing) # 又稱代理素材，把原始影片降低畫質，提昇剪輯時的效能。像是把4K影片降到720p。此方法會影響預覽品質。Kdenlive需要花點時間處理影片片段，但速度比轉碼要快得多。\n設定位置：\nProject → Project Settings → Proxy（僅本次專案） 設定 → 設定Kdenlive → 代理剪輯（全域設定） 轉碼(Transcode) # 不更改原始畫質，僅將影片轉換為方便Kdenlive編輯的格式，提昇效能。像如果你匯入VBR編碼的影片，Kdenlive就會建議你轉碼。預覽時候品質較佳，但由於轉碼會重新編碼影片，速度比代理剪輯要慢很多。\n設定位置：對影片素材按右鍵 → Transcode Clip to Edit Friendly Format\n2. 如何使用代理剪輯 # 點選檔案 → 開新檔案，建立一個4K60P專案。先不要按確定。 點選Proxy，進入代理剪輯面板（此面板之後可以按Project → Project Settings → Proxy開啟）\n勾選Proxy clips，設定多少寬度以上要自動轉檔，預設是1000像素以上(1080p)就自動壓成640p。我會把他改成2160像素以上，轉成720像素的影片。 將4K影片素材匯入\n之後，Kdenlive會花點時間處理影片素材（白色進度條） 處理好的片段會標記P，表示代理剪輯片段。 把影片拉到時間軸比對，會發現預覽窗格的畫質下降得很厲害，不過播放順很多。輸出時Kdenlive仍然會採用4K原始畫質，不會使用壓縮的片段。\n3. 如何使用轉碼 # 在匯入素材後，對影片按右鍵 → Transcode Clip to Edit Friendly Format，選取x264，有Nvidia GPU就用Nvidia的設定檔。 轉檔後的影片會存在專案目錄下。\n","date":"2023年12月6日","externalUrl":null,"permalink":"/posts/kdenlive-proxy-editing-transcode/","section":"所有文章","summary":"Kdenlive版本：23.08.3\n覺得Kdenlive剪輯很卡？這不是錯覺，Kdenlive預覽影片不太會利用GPU，即使電腦配備在中等以上，平常剪1080p就會偶爾卡一下了。如果剪4K影片，效能就會大幅下降，最終導致連播放都會卡，更別說要剪8K影片了。\n開啟htop，你會發現Kdenlive在預覽4K時會佔用大量CPU渲染影片內容，可本體仍然是lag得要命。 Reddit網友對此有形象的形容詞：“choke”, “choppy”\n這個時候，可以用代理剪輯與轉碼，降低剪輯影片時的負擔。\n1. 代理剪輯與轉碼的差別 # 不論用哪種方式都不會影響影片輸出畫質，Kdenlive最終輸出會使用專案設定的畫質來渲染。這裡的手段都僅讓影片剪輯時比較順暢而已。\n代理剪輯(Proxy editing) # 又稱代理素材，把原始影片降低畫質，提昇剪輯時的效能。像是把4K影片降到720p。此方法會影響預覽品質。Kdenlive需要花點時間處理影片片段，但速度比轉碼要快得多。\n設定位置：\nProject → Project Settings → Proxy（僅本次專案） 設定 → 設定Kdenlive → 代理剪輯（全域設定） 轉碼(Transcode) # 不更改原始畫質，僅將影片轉換為方便Kdenlive編輯的格式，提昇效能。像如果你匯入VBR編碼的影片，Kdenlive就會建議你轉碼。預覽時候品質較佳，但由於轉碼會重新編碼影片，速度比代理剪輯要慢很多。\n","title":"Kdenlive剪4K影片很卡？用代理剪輯與轉碼提昇效能","type":"posts"},{"content":"「Hidamari」這款軟體可以在Linux的桌面播放動態桌布，達成動態桌布效果。\n桌布來源可以是本機影片、網路直播 幸運星動畫OP\n或者是會隨時間變化的動態網頁 Ventusky天氣網站\nHidamari是開源軟體，由Jef Shee開發，取日文「向陽」的意思。 作者說這個軟體結合了Xwinwrap + mpv + Komorebi的功能。安裝十分簡單，免複雜設定，能夠於多種桌面環境運作。\n本文搭配Ubuntu當實際操作例子。\n1. 安裝Hidamari # Hidamari用Python寫成，支援X11與Wayland的桌面環境，包含GNOME、KDE Plasma、XFCE，在Wayland下是以XWayland執行。\n根據Github指示，作者推薦使用Flatpak安裝：\nflatpak install flathub io.github.jeffshee.Hidamari 另外，如果你想要GPU硬體加速，可考慮改用Hidamari的後繼者Hanabi，只不過Hanabi得依賴GNOME桌面才能運作。\n2. 準備動態桌布 # 桌布用影片或者GIF都可以，到Youtube搜尋dynamic wallpaper的短片，再用yt-dlp指令下載到本機。\n接著把檔案放到~/影片/Hidamari目錄。\n開啟Hidamari主程式，應該就會出現影片讓你選。左上角有一個I'm feeling lucky的按鈕，會隨機給你播放影片 點選右上角控制影片音量。並勾選Autostart after login，設定登入後自動啟動 GNOME進入工作區切換頁面時影片會暫停。若不想要模糊請在Hidamari設定把Static wallpaper blur radius設為0。 htop的資料顯示，播放1080p60的影片會佔用一部份CPU資源。如果電腦跑不動請降低影片畫質。 如果要放串流影片當背景，請確保填寫的是yt-dlp支援的網站。\n你還可以嘗試把桌布換成會動的網頁，只需填入網址再按\u0026gt;鍵即可。但請注意這樣比影片還耗資源，因為WebGL需要吃大量3D運算。 作者推薦到WebGL範例頁面找WebGL 3D網頁。搭配2D動態網頁也不錯，像Google的聖誕老人追蹤器就是個有趣的玩意，視窗元素應該能夠點選。 我個人的話喜歡找一些「即時監控」的網站，比方說NASA地球，會隨著時間變化。 Hidamari也可以載入本機HTML檔案。\n","date":"2023年12月6日","externalUrl":null,"permalink":"/posts/gnome-hidamari/","section":"所有文章","summary":"「Hidamari」這款軟體可以在Linux的桌面播放動態桌布，達成動態桌布效果。\n桌布來源可以是本機影片、網路直播 幸運星動畫OP\n或者是會隨時間變化的動態網頁 Ventusky天氣網站\nHidamari是開源軟體，由Jef Shee開發，取日文「向陽」的意思。 作者說這個軟體結合了Xwinwrap + mpv + Komorebi的功能。安裝十分簡單，免複雜設定，能夠於多種桌面環境運作。\n本文搭配Ubuntu當實際操作例子。\n1. 安裝Hidamari # Hidamari用Python寫成，支援X11與Wayland的桌面環境，包含GNOME、KDE Plasma、XFCE，在Wayland下是以XWayland執行。\n根據Github指示，作者推薦使用Flatpak安裝：\nflatpak install flathub io.github.jeffshee.Hidamari 另外，如果你想要GPU硬體加速，可考慮改用Hidamari的後繼者Hanabi，只不過Hanabi得依賴GNOME桌面才能運作。\n2. 準備動態桌布 # 桌布用影片或者GIF都可以，到Youtube搜尋dynamic wallpaper的短片，再用yt-dlp指令下載到本機。\n接著把檔案放到~/影片/Hidamari目錄。\n開啟Hidamari主程式，應該就會出現影片讓你選。左上角有一個I'm feeling lucky的按鈕，會隨機給你播放影片 ","title":"讓Linux GNOME桌面動起來 ～ 使用Hidamari安裝動態桌布","type":"posts"},{"content":"桌寵(window sitter，又稱desktop mascot)是一種趣味軟體，裝了會有一個小人偶坐在電腦視窗上，與使用者互動。\n以前有Shimeji和MaCoPix等桌寵軟體，但他們已經很久沒更新了。\n2023年，Steam又有新一代的VPet出現。可惜儘管VPet是開源軟體，卻無法在Linux使用，用Proton跑視窗會黑邊。\n再繼續看，Kanban Desktop支援Linux，還能連接語言模型，可是她是讓桌寵待在桌面，而不是坐在視窗上面。\n最終我找到了：Divya Antony J.R開發的「Spirit」 開發者號稱Spirit是21世紀的新一代桌寵軟體，跨平台支援Linux/Windows/macOS。原生效能，執行非常快速。 裝了之後會有一個桌寵跟著你的視窗移動，還會有動作呈現，類似Live2D的感覺。作者也有提供一套API，讓使用者可以跟桌寵互動。 立繪作者：霧隱\n本文將介紹如何安裝Spirit以及自製Spirit桌寵。\n1. 在Linux安裝Spirit # 請注意，作者說目前尚不支援Wayland顯示協定。\n安裝AppImageLauncher\n至Spirit官網下載AppImage執行檔，按二下安裝主程式。\nSpirit主控面板預設的人物是里維兵長，在這個面板可調整桌寵坐的位置。 Spirit的桌寵主要是跟著目前的視窗跑，切換視窗會跟著移動過去。如果視窗最大化，則桌寵會變成坐在右下角，滑鼠移動過去會自動隱藏。 點選File → Quirks，填入程式名字，可設定僅特定視窗才顯示桌寵。\n如果要關閉桌寵就是將Spirit主面板關閉。如果桌寵仍持續顯示，就開工作管理員殺死Spirit的行程(AppRun)。\n2. 安裝其他Spirit桌寵 # 作者有提供其他Spirit桌寵範本，在這裡下載。\n下載後點選File → Load，載入.spirit結尾的檔案。像金木研載入後會播放東京喰種OP。 關於文章一開始提到的範例，你可以到這裡下載我做的龍驤試用。\n3. 跟Spirit桌寵互動 # 可用指令控制Spirit桌寵的動作：\n# 列出可用動作 ./spirit.AppImage list-actions # 設定動作 ./spirit.AppImage set-acton default 作者提供一套API控制桌寵的事件。參考文件Spirit REST API\n例如這個桌寵跟Bash互動的指令稿。用以下指令安裝：\ncd curl -Ls \u0026#34;https://raw.githubusercontent.com/antony-jr/spirit-addons/main/bash_feedback/install.sh\u0026#34; | bash -s # 解除安裝指令 curl -Ls \u0026#34;https://raw.githubusercontent.com/antony-jr/spirit-addons/main/bash_feedback/uninstall.sh\u0026#34; | bash -s 此指令稿會在Bash指令執行出錯的時候觸發事件，讓桌寵做出不同動作。\n4. 製作自己的Spirit桌寵 # Spirit桌寵檔案格式為.spirit，參考作者的範本修改就能做成自己想要的樣子。最簡單的作法是找個gif，將其轉換成為webp動圖，替換掉作者範本的檔案(.spirit其實就是.zip)。不過檔案壓縮必須使用作者開發的\u0026quot;Ritual\u0026quot;程式。\n下面紀錄我自己做的艦隊收藏妖精桌寵的過程。\n到Kancolle Wiki下載素材。\n用GIMP編輯圖片，這裡要製作二個圖層，一個圖層就是一個畫格。第一是妖精睜開眼睛，第二個是閉上眼睛。 點選檔案 → Export，檔案命名為default.webp，勾輸出為動畫，間隔1000毫秒並重複播放。 以此類推，再製作一張視窗最大化時顯示的動圖，命名為_default，現在我們有了二張圖片。 新增目錄kancollespirit，按照下圖結構新增目錄，把圖片檔放進去，音訊則是放到audio目錄(只接受mp3)。再新增meta.json。 meta.json填入以下內容：\n{ \u0026#34;name\u0026#34;: \u0026#34;Toukai 901 AG\u0026#34;, \u0026#34;edition\u0026#34;: \u0026#34;2021\u0026#34;, \u0026#34;version\u0026#34;: \u0026#34;v0.1.0\u0026#34;, \u0026#34;author\u0026#34;: \u0026#34;Ivon\u0026#34;, \u0026#34;copyright\u0026#34;: \u0026#34;Artwork Copyright (C) C2 Kikan\u0026#34;, \u0026#34;actions\u0026#34;: { \u0026#34;default\u0026#34;: { \u0026#34;xoff\u0026#34;:0, \u0026#34;yoff\u0026#34;: 10, \u0026#34;scale\u0026#34;: 50, \u0026#34;play\u0026#34;: \u0026#34;母港\u0026#34; } } } 用Ritual壓縮成.spirit檔： wget https://github.com/antony-jr/ritual/releases/download/development/ritual-linux-amd64 chmod +x ritual-linux-amd64 ./ritual-linux-amd64 make kancollespirit 接著就可以用Spirit主程式載入了。 ","date":"2023年12月5日","externalUrl":null,"permalink":"/posts/linux-spirit-window-sitter/","section":"所有文章","summary":"桌寵(window sitter，又稱desktop mascot)是一種趣味軟體，裝了會有一個小人偶坐在電腦視窗上，與使用者互動。\n以前有Shimeji和MaCoPix等桌寵軟體，但他們已經很久沒更新了。\n2023年，Steam又有新一代的VPet出現。可惜儘管VPet是開源軟體，卻無法在Linux使用，用Proton跑視窗會黑邊。\n再繼續看，Kanban Desktop支援Linux，還能連接語言模型，可是她是讓桌寵待在桌面，而不是坐在視窗上面。\n最終我找到了：Divya Antony J.R開發的「Spirit」 開發者號稱Spirit是21世紀的新一代桌寵軟體，跨平台支援Linux/Windows/macOS。原生效能，執行非常快速。 裝了之後會有一個桌寵跟著你的視窗移動，還會有動作呈現，類似Live2D的感覺。作者也有提供一套API，讓使用者可以跟桌寵互動。 立繪作者：霧隱\n本文將介紹如何安裝Spirit以及自製Spirit桌寵。\n1. 在Linux安裝Spirit # 請注意，作者說目前尚不支援Wayland顯示協定。\n安裝AppImageLauncher\n至Spirit官網下載AppImage執行檔，按二下安裝主程式。\nSpirit主控面板預設的人物是里維兵長，在這個面板可調整桌寵坐的位置。 Spirit的桌寵主要是跟著目前的視窗跑，切換視窗會跟著移動過去。如果視窗最大化，則桌寵會變成坐在右下角，滑鼠移動過去會自動隱藏。 ","title":"Spirit桌寵軟體，讓動漫人物坐在Linux電腦視窗上","type":"posts"},{"content":" 註：本教學僅為演示用途，不對其他用途造成的後果負責任。\n看了PTT的「如何製作奶圖完全教程」就來寫一篇進階版的。\n想要製作動漫人物的裸體改圖、P圖？想要像優質的剥ぎコラ作品那樣把人物漂亮的脫衣？ 在此分享手動與AI二種修圖方法，製作女性/男性的剥ぎコラ。\n「AI」指的是用Stable Diffusion協助填充圖片，達成比過去手動修圖還要高效的自動化修圖。不過，在用AI前建議先手動修看看！因為雖然AI很方便，但是若先學修圖技巧的話，在後期需要手工修正的時候會更得心應手。\n這裡有一張約會大作戰誘宵美九的圖片，使用這個當例子。 1. 手動修圖 # 南部P傷眼抱歉。\n軟體部份，用開源的GIMP就可以完成，用Photoshop也行。\n手動修圖可以拿泳裝圖胸部下手，比較簡單。此處示範的只是大略的製作過程，其實還有很多工具可以利用。\n安裝GIMP\n開啟圖片，新增圖層，用選取工具或魔術棒，貼齊乳房邊緣，選取後將其包住。 使用取色器選取喜歡的皮膚顏色，填滿選取區 按編輯 → 複製，貼上，貼上三個圖層，分別為底色、陰影、乳頭 接著就盡量按照原本乳房的外型，用鋼筆工具畫出曲線，再按編輯 → 沿著路徑填充，完成線條部分。\n切換到底色圖層，開始畫底色。筆刷工具硬度調柔軟點\n切換到陰影圖層，開始畫陰影，大致畫出色塊。 再來將乳頭畫上去。Pixiv有很多初級教學，按照個人喜好選擇乳暈大小，並將乳頭的立體感用光暈、陰影表現出來。\n圖層右鍵，新增圖層遮罩，勾選反向遮罩，將塗色的區塊剪裁出來。仿造原本泳衣的陰影部分，使用較深的皮膚色畫上陰影。 選取底色和陰影圖層遮罩，點選濾鏡 → 模糊 → 高斯模糊，調整到適合的數值，讓陰影看起來有自然的漸變。 2. 使用AI自動修圖 # Stable Diffusion是目前功能最強大的AI繪圖軟體，開源免費，AI脫衣已經成為可能。\nAI搭配手工修圖可以省下時間，用於大面積填充效果最好，但也可能亂畫。修圖者要有一定的美術能力，懂得鑑別問題所在。最好先懂一些手動修圖技巧再來用AI修。\n雖然難以控制成果，但AI修圖常常會有意外的驚喜，有時能昇華原作也說不定。\n安裝Stable Diffusion WebUI，並閱讀圖生圖Inpaint的用法。\n順帶一提Stable Diffusion也有GIMP插件，不需要完全在網頁界面處理。\n進入Stable Diffusion網頁，將要修的圖片上傳到Text to image的Inpaint頁面\n接著用畫筆把胸部的部份塗上顏色，是為mask。嫌棄網頁太難畫也可以用修圖軟體事先畫好mask再上傳。 於網頁上方填入提示詞，例如胸部就填乳房相關的提示詞就好。通常要剝掉衣服不會剝到臉，所以正向提示詞不要寫人物名字、人體特徵，防止AI把人臉畫在胸部上。 下面的參數設定圖片長寬高。Masked content可用Original讓AI參考底圖去畫，或者用Fill讓AI直接填充 點選生圖。讓AI試圖填滿塗白處內的內容。如果有使用VAE效果應該都不錯。同張圖片可以按右下角的Send to\u0026hellip;連續丟給AI繪圖，觀察效果。 參考資料 # 洽特 如何製作奶圖完全教程 - PTT看板AC_In 【剥ぎコラ作成方法】- 二次エロ素材倉庫 虹こらこ Inpainting guide nsfw Tips on In-painting from an Anon - rentry.org ","date":"2023年12月5日","externalUrl":null,"permalink":"/posts/how-to-create-hagikora/","section":"Nsfws","summary":" 註：本教學僅為演示用途，不對其他用途造成的後果負責任。\n看了PTT的「如何製作奶圖完全教程」就來寫一篇進階版的。\n想要製作動漫人物的裸體改圖、P圖？想要像優質的剥ぎコラ作品那樣把人物漂亮的脫衣？ 在此分享手動與AI二種修圖方法，製作女性/男性的剥ぎコラ。\n「AI」指的是用Stable Diffusion協助填充圖片，達成比過去手動修圖還要高效的自動化修圖。不過，在用AI前建議先手動修看看！因為雖然AI很方便，但是若先學修圖技巧的話，在後期需要手工修正的時候會更得心應手。\n這裡有一張約會大作戰誘宵美九的圖片，使用這個當例子。 1. 手動修圖 # 南部P傷眼抱歉。\n軟體部份，用開源的GIMP就可以完成，用Photoshop也行。\n","title":"如何使用修圖AI製作動漫脫衣裸體的改圖(剥ぎコラ)","type":"nsfw"},{"content":"警告：目前這個專案處於早期階段。版本Version 0.1很多東西還沒做完，bug很多，雖看起來粗糙但已經具備基本可用的功能。\nGoogle Chromecast電視棒也有替代品？是的，NymphCast就是一款開源的螢幕投影/投屏解決方案。\n用途有：\n手機投放音樂（支援一對多控制） 手機投放影片（支援一對多控制） 使用媒體伺服器點播影片 螢幕保護程式（圖片輪播、智慧相框） 使用AngelScript撰寫的APP播放音樂 按照我用Chromecast 3代的經驗\u0026hellip;NymphCast僅能媲美其一半功能。首先我會簡介NymphCast的架構，再來看要如何安裝NymphCast。\n1. NymphCast架構簡介 # 如果你真的很討厭Google的話就可以考慮使用NymphCast，因為Chromecast使用閉源協定，你必須使用Google認證的裝置連接，還必須登入Google帳號才能投放影片，幾乎無第三方軟體介入的可能。 於是，Maya Posch開發的NymphCast給了我們額外的選擇，特色是開放原始碼、免帳號、保護隱私的投放功能，不被單一廠商的硬體綁住。 但，與其說NymphCast是Chromecast替代品，倒不如說是模仿Chromecast的一套軟體。NymphCast等同Chromecast、Miracast以外的第三種協定，全新的生態系。\n所以，NymphCast不相容Chromecast硬體，也不支援Chromecast的APP進行投放。目前NymphCast的APP支援度為0，只有作者自己做的參考實作客戶端能投放影片、音樂。\nNymphCast比較適合擁有樹莓派(Raspberry Pi開發板)的用戶嘗試。過去已經有人嘗試把樹莓派變Chromecast了，像是Raspicast + Omxplayer。而NymphCast試圖成為一個更完整的解決方案，提供伺服端、客戶端、媒體伺服器、APP擴充功能。\n我們來看NymphCast運作原理：參照下圖，樹莓派好比Chromecast本體，在上面安裝NymphCast伺服器(Server)後，將它插到電視或者音響，再用手機NymphCast客戶端(Client)投放影片。影片可以從手機選取，或者從Media Server瀏覽。 圖片來自NymphCast開發者的Github\n影片解碼能力要看伺服器端的ffmpeg解碼效果，開發板應該播得動4K影片。或者你可以用Linux電腦主機當NymphCast伺服器。\n順帶一提，「NymphCast」這個軟體名字有人覺得不好聽，因為英語裡面Nymph有「性成癮」(Nymphomaniac)的意思。但開發者應該沒有這個意思，可能是單純喜歡貓咪大戰爭才取這個名字的，又或者是取nymph「若蟲」的含意，表示這個軟體處於早期階段。\n2. 安裝NymphCast # GUI和Media Server的功能還沒做完，這裡跳過不解釋。\n首先在要伺服端的硬體安裝NymphCast server，按照Github作者指示編譯。\n比如我要設定影片模式，這樣可以投放音樂和影片。Debian先安裝依賴套件\nsudo apt install make git g++ libsdl2-image-dev libsdl2-dev libpoco-dev libswscale-dev libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev libpostproc-dev libswresample-dev pkg-config libfreetype6-dev libfreeimage-dev rapidjson-dev libcurl4-gnutls-dev 再編譯NymphCast。中間設定的時候選取video，設定投放為影片模式。 git clone https://github.com/MayaPosch/NymphCast.git cd NymphCast sudo ./install_linux.sh 安裝後要開放防火牆 sudo ufw allow 4004 sudo ufw reload NymphCast的指令稿會幫你設定一個systmed unit，還有匯入預設設定檔。設定檔位於/usr/local/etc/nymphcast/nymphcast_config.ini，裡面設定NymphCast行為 # 是否全螢幕，0為否，1為是 fullscreen=1 # 關閉影片輸出，如果填1的話會變成音樂模式 disable_video=0 # 是否開啟螢幕保護模式 enable_screensaver=0 # 串流緩衝大小 (KB) buffer_size=20971520 # 是否啟用LCDProc客戶端 enable_lcdproc=0 NymphCast Server是看後面的設定檔名字決定服務，例如我這裡/etc/systemd/user/nymphcast.service設定的是影片模式。 [Unit] Description=NymphCast audio/video casting server [Service] ExecStart=/usr/local/bin/nymphcast_server -c /usr/local/etc/nymphcast/nymphcast_config.ini -a /usr/local/share/nymphcast/apps/ -w /usr/local/share/nymphcast/wallpapers/ Restart=always RestartSec=5 [Install] WantedBy=default.target 啟動Systemd服務。 sudo systemctl enable --now nymphcast.service # 或者手動以nymphcast_server指令啟動 nymphcast_server -c /usr/local/etc/nymphcast/nymphcast_config.ini -a /usr/local/share/nymphcast/apps/ -w /usr/local/share/nymphcast/wallpapers/ 接著安裝NymphCast客戶端。電腦版要自行編譯，Android手機在Google Play下載APK。 3. 投放方式 # 讓電腦和手機處於同一個Wifi下。\n在手機APP上應該會看到伺服器的名字。如果有多個會並列顯示 可以把多個伺服器分在一組，實現二台裝置同時播送。但這功能好像有bug，無法真的加入同一個群組，導致我得手動切換。 確認有連上線後，從下面的清單選取要播放的檔案（他會掃描手機全部的媒體），再按底部的播放按鈕。 伺服端就會出現影片畫面了，你可從手機端控制進度和音量。影片目前僅支援PGS內嵌字幕，如果lag嚴重請檢查網路速度，或者把串流緩衝調高。 若播放的是音樂，則只會出現頻譜。 如果想使用NymphCast的螢幕保護程式模式：將伺服端服務停止，將設定檔的enable_screensaver設定為1，再將要輪播展示的圖片放到/usr/local/share/nymphcast/wallpapers/，之後重啟服務。\n圖片就會每15秒進行輪播 目前還不能投影手機螢幕，得搭配另外方案。既然樹莓派能裝任何東西，那就有很多方案可以用，比方說Scrcpy、ScreenStream等等。\n","date":"2023年12月4日","externalUrl":null,"permalink":"/posts/nymphcast-setup/","section":"所有文章","summary":"警告：目前這個專案處於早期階段。版本Version 0.1很多東西還沒做完，bug很多，雖看起來粗糙但已經具備基本可用的功能。\nGoogle Chromecast電視棒也有替代品？是的，NymphCast就是一款開源的螢幕投影/投屏解決方案。\n用途有：\n手機投放音樂（支援一對多控制） 手機投放影片（支援一對多控制） 使用媒體伺服器點播影片 螢幕保護程式（圖片輪播、智慧相框） 使用AngelScript撰寫的APP播放音樂 按照我用Chromecast 3代的經驗…NymphCast僅能媲美其一半功能。首先我會簡介NymphCast的架構，再來看要如何安裝NymphCast。\n1. NymphCast架構簡介 # 如果你真的很討厭Google的話就可以考慮使用NymphCast，因為Chromecast使用閉源協定，你必須使用Google認證的裝置連接，還必須登入Google帳號才能投放影片，幾乎無第三方軟體介入的可能。 於是，Maya Posch開發的NymphCast給了我們額外的選擇，特色是開放原始碼、免帳號、保護隱私的投放功能，不被單一廠商的硬體綁住。 ","title":"NymphCast，自架開源Chromecast替代品，適用樹莓派","type":"posts"},{"content":" 「TahchiyomiAZ」是基於開源漫畫閱讀器Tachiyomi開發，專門設計給Android裝置閱讀E-hentai (E紳士、傷心熊貓) 用的APP。 此APP支援以下漫畫網站：\nE-Hentai/ExHentai nHentai Hitomi.la 8Muses HBrowse Perv Eden Tahchiyom本身就有內建E-hentai的擴充套件了，但功能十分有限。於是開發者az4521便將Tachiymoi改造成TachiyomiAZ，變成功能類似EhViewer的APP。開發者自稱TachiyomiAZ是「最棒的分支版」。\n這個APP是給喜歡Tachiyomi界面的人使用的，它支援登入Ex-hentai、下載同人誌、同步E-hentai我的最愛、儲存收尋紀錄、建立個人書櫃。\n這個APP另結合本機書櫃和E-hentai的收藏功能，將E-hentai雲端收藏下載到本機閱讀。不過這個同步模式可能有人會覺得不喜歡，後述。\n下面簡介該如何使用。\n1. 下載TahchiyomiAZ # 之所以會知道這款APP，是因為2022年NekoInverter原作者說不再積極維護EhViewer了，並建議大家使用Tachiyomi。搞笑的是EhViewer後面又一堆開發者接手開發了。\n到官方Github下載TachiyomiAZ的APK安裝。 另外，有人做了TachiyomiAZ的延伸版，叫做TachiyomiSY，功能更多，維護更積極。 2. TahchiyomiAZ基本操作 # 左側邊欄位滑出來點選「Sources」 點選E-hentai瀏覽 首頁顯示的是最新同人誌。 預覽界面會顯示同人誌的訊息，按一下＋號把它加到「我的書櫃」。 如要閱讀或下載，點選「章節」。如果有很多個版本，代表這個畫廊有更新過多次，點選最新的進去閱讀。 閱讀時可添加書籤，之後會顯示在TahchiyomiAZ側邊欄的「近期閱讀」界面。 3. TahchiyomiAZ設定優化 # TahchiyomiAZ需要經過一點設定才會比較好用。\n側邊欄點選「設定」→ 找到「E-hentai」。\n點選Enable Exhentai，登入E-hentai帳號，這樣可以搜尋到更多同人誌。相關文章：如何註冊E-hentai帳號 之後TahchiyomiAZ會在Exhentai創一個專用的設定檔，並自動同步上去。接著勾選Show Japanese titles顯示日文標題。\n最後，側邊欄的Sources裡面就會多出Exhentai的入口。 4. 設定TahchiyomiAZ自動更新漫畫 # TahchiyomiAZ有「我的書櫃」，這裡儲存的漫畫可供離線瀏覽。\n但E-hentai蒐集繪師作品的畫廊可能隨時變動，在設定 → E-hentai的設定頁面 → Time between update batches可設定讓TahchiyomiAZ自動檢查畫廊更新的間隔，並下載到本機。\n5. 設定TahchiyomiAZ雲端書櫃 # E-hentai有我的最愛(Favorites)功能，用於收藏畫廊。\nTachiyomiAZ會將其同步到本機「我的書櫃」；而TachiyomiAZ也會自動把「我的書櫃」所收藏的漫畫同步到E-hentai上的收藏夾。\nEhViewer用戶可能不習慣這種作法，因為這樣變成你得把漫畫檔全部下載下來，而不是線上就能看。\n要達成雙向同步，在設定 → E-hentai的設定頁面點選Ignore sync errors when possible無視錯誤，加快同步速度。\n到「我的書櫃」右上角點選Sync Favorties，之後會下載E-henta所有我的最愛資料夾內的畫廊到本機。我有300個畫廊，大概要等個30分鐘。\n等待同步好之後，就會顯示在我的書櫃。 之後若在本機把閱讀的漫畫加入「我的書櫃」，則要手動按Sync Favorites同步到E-hentai收藏夾。 還可到設定 → E-hentai的設定頁面按Disable favorites uploading開啟「僅單向從E-hentai下載我的最愛書櫃」，不要上傳使用者在本機書櫃所新增的書到E-hentai。\n","date":"2023年12月4日","externalUrl":null,"permalink":"/posts/tachiyomiaz-e-hentai/","section":"所有文章","summary":" 「TahchiyomiAZ」是基於開源漫畫閱讀器Tachiyomi開發，專門設計給Android裝置閱讀E-hentai (E紳士、傷心熊貓) 用的APP。 此APP支援以下漫畫網站：\nE-Hentai/ExHentai nHentai Hitomi.la 8Muses HBrowse Perv Eden Tahchiyom本身就有內建E-hentai的擴充套件了，但功能十分有限。於是開發者az4521便將Tachiymoi改造成TachiyomiAZ，變成功能類似EhViewer的APP。開發者自稱TachiyomiAZ是「最棒的分支版」。\n這個APP是給喜歡Tachiyomi界面的人使用的，它支援登入Ex-hentai、下載同人誌、同步E-hentai我的最愛、儲存收尋紀錄、建立個人書櫃。\n這個APP另結合本機書櫃和E-hentai的收藏功能，將E-hentai雲端收藏下載到本機閱讀。不過這個同步模式可能有人會覺得不喜歡，後述。\n","title":"TachiyomiAZ / TachiyomiSY：在Android上看E-hentai和Ex-hentai","type":"posts"},{"content":"要安裝Mobian至PinePhone時，WIKI會要求先安裝Tow-boot bootloader才可以安裝系統。那這個跟PinePhone預設的U-boot有什麼不同呢？\n1. 簡介 # PinePhone/PinePhone Pro預設的bootloader叫做U-boot，預設會從SD卡啟動系統。不同的Linux發行版會有不同的開機設定，所以開機時候亮起來的LED燈號顏色也會不同。Tow-boot就是從以U-boot為基礎發展而來，試圖統一不同發行版間的規則。\n準確來說，Tow-boot是U-Boot的一個發行版，嘗試在ARM平台加入類似UEFI的機制，兼具開機引導與GRUB的功能。\n除了PinePhone/PinePhone Pro外，Tow-boot還支援一些開發板，比如Libre Computer、Odroid、Olimex、Orange Pi、Radxa、Raspberry Pi等等。\n在安裝Tow-Boot後，如果裝置有鍵盤，就能使用類似電腦多重開機的選單來選擇要進入的系統。\nTow-Boot也有讓手機透過按鍵組合，選擇從SD卡或eMMC啟動系統的功能。\n2. 如何安裝Tow-boot至PinePhone # Tow-Boot版本目前為2021.10-004\n安裝Tow-Boot應該不會對現有系統造成影響，但以防萬一還是請備份一下。\n從Github下載最新版，PinePhone專用的Tow-boot，解壓縮會得到一個mmcboot.installer.img檔案。\n將SD卡插入電腦，把Tow-boot的img檔案刷入到SD卡\n# 檢查SD卡掛載點 lsblk # 取消掛載 sudo umount \u0026lt;掛載點\u0026gt; # 寫入映像檔 sudo dd if=mmcboot.installer.img of=/dev/sdb SD卡插入PinePhone，開機，畫面會變成Tow-boot的安裝器畫面，點選Install Tow-Boot to eMMC Boot，完成後關機。 3. Tow-Boot的開機功能 # 首先Tow-boot可以控制開機過程。\nPinePhone的Tow-Boot在開機第一次震動後LED會變紅，預設從內部儲存空間啟動系統。\n開機鍵＋長按音量下鍵則是從SD卡啟動系統，LED變青色。\n開機鍵＋長按音量上鍵，LED變藍，這時的PinePhone會變成變成一個隨身碟(USB Mass Storage Mode)，插到電腦就可以直接掛載並存取手機檔案。此模式的作用類似於JumpDrive。\n暴露的檔案系統也可以用dd刷入新的系統映像檔，參見PinePhone安裝系統教學\n參考資料 # Booting ARM Linux the standard way Tow-Boot | Tow-Boot ","date":"2023年12月3日","externalUrl":null,"permalink":"/posts/pinephone-tow-boot/","section":"所有文章","summary":"要安裝Mobian至PinePhone時，WIKI會要求先安裝Tow-boot bootloader才可以安裝系統。那這個跟PinePhone預設的U-boot有什麼不同呢？\n1. 簡介 # PinePhone/PinePhone Pro預設的bootloader叫做U-boot，預設會從SD卡啟動系統。不同的Linux發行版會有不同的開機設定，所以開機時候亮起來的LED燈號顏色也會不同。Tow-boot就是從以U-boot為基礎發展而來，試圖統一不同發行版間的規則。\n準確來說，Tow-boot是U-Boot的一個發行版，嘗試在ARM平台加入類似UEFI的機制，兼具開機引導與GRUB的功能。\n除了PinePhone/PinePhone Pro外，Tow-boot還支援一些開發板，比如Libre Computer、Odroid、Olimex、Orange Pi、Radxa、Raspberry Pi等等。\n在安裝Tow-Boot後，如果裝置有鍵盤，就能使用類似電腦多重開機的選單來選擇要進入的系統。\nTow-Boot也有讓手機透過按鍵組合，選擇從SD卡或eMMC啟動系統的功能。\n2. 如何安裝Tow-boot至PinePhone # Tow-Boot版本目前為2021.10-004\n","title":"PinePhone：什麼是Tow-Boot bootloader？如何安裝？","type":"posts"},{"content":"關於「openSUSE MicroOS Aeon」當桌面系統使用感想。\nIvon很抱歉用這麼長的標題，因為剛改名不久，所以用了全部關鍵字上去。\n一個追求穩定、可預測的系統，讓蜥蜴Geeko安祥的住在您的電腦裡。 1. MicroOS簡介 # 這是SUSE公司推出的Linux發行版「MicroOS」。寫法是Micro OS喔，不是Macross，也不是Microsoft。 根據官網介紹，MicroOS屬於不可變系統(immutable distro)，root分區幾乎全部唯讀，更新後直接覆蓋。使用者得依賴Flatpak、Podman容器技術安裝軟體。\n設計宗旨為：追求更高安全性、可預測、開箱即用、懶人設定、低自訂性的Linux系統。 說這麼多，你不妨把它想成ChromeOS版的openSUSE吧，但我們還是有保留root權限的喔！\nMicroOS分為伺服器版MicroOS、桌面版MicroOS Desktop、桌面版Leap MicroOS\n好的，我知道你已經開始頭暈了。\nMicroOS = 伺服器版immutable openSUSE Tumbelweed MicroOS Desktop = 桌面版immutable openSUSE Tumbleweed Leap MicroOS = 桌面版immutbale openSUSE Leap 比較多人推薦使用的是MicroOS Desktop。\n2023年5月，MicroOS Desktop改名叫做「openSUSE Aeon」，取自印度哲學「梵」的意思，這樣辨別度總算比較高了。除了Aeon外，還有一個Kalpa的版本。\nAeon預載的桌面環境為GNOME，開發狀態為Release Candidate。\nKalpa桌面為KDE Plasma，開發狀態為Alpha。\n所以Ivon選擇比較精簡、相對穩定的GNOME桌面安裝到電腦上。\n下面Ivon文章簡稱MicroOS，「MicroOS」一律指代「openSUSE Aeon」。\n既然MicroOS使用Tumbleweed的套件庫，那麼應該也不難猜到了，MicroOS確實是個「滾動發行版」，套件非常新。採用BTRFS機制保證就算更新失敗仍然可以回滾。\n因為系統限制緣故，MicroOS無法使用YaST，等同廢了一隻手啊，我們得大量依賴命令行操作系統了。\n儘管部份Zypper指令還是可以用，但動到系統檔案的操作得使用transactional-update建立新系統「快照」。\nMicroOS內建Flatpak、Distrobox二個工具，看來就是要你用他們來裝軟體的，熟悉使用容器技術。儘量不要用到transactional-update指令，防止系統「不穩定」。\n但你想怎麼可能嘛～ 我們還是得裝一些常用工具破壞系統。\n2. 個人的安裝情況 # 本節列出我個人的常用套件之安裝，套件管理員與系統架構的細節後面再講。\n電腦：MSI Modern 15 A10RBS CPU：Intel i5-10210u GPU：Intel UHD 620 GPU：Nvidia MX350 2.1. 下載ISO # 雖然MicroOS分成Server、Aeon跟Kalpa，但其實安裝套件都是包在同一個ISO裡面的。就跟一般openSUSE Tumbleweed安裝光碟一樣，在安裝圖形界面的再選取要搭配的桌面套件環境即可。\n至官網下載ISO，檢查檔案完整性防止檔案毀損，用Ventoy製作開機碟，開機後按照圖形界面指示安裝系統。注意MicroOS僅支援BTRFS檔案系統。最後在選取桌面套件的時候勾選Aeon(GNOME)。\n2.2. 安裝Fcitx5 # 開啟終端機，我要來破壞系統了。安裝Fcitx5輸入法，並啟用新酷音 sudo transactional-update -i pkg install fcitx5 fcitx5-chinese-addons fcitx5-chewing cat \u0026lt;\u0026lt; EOF \u0026gt;\u0026gt; ~/.profile INPUT_METHOD=fcitx GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx EOF 開啟GNOME Tweaks，把Fcitx5加到開機自動啟動項目\n開啟Extension Manager，安裝Input Method Panel擴充功能。重開機。\n2.3. 安裝Nvidia驅動 # 根據openSUSE Wiki，我的MX350顯示卡理應能裝G06驅動，不過我測試要用G05比較穩。\nMicroOS安裝Nvidia套件庫，重開機\nsudo transactional-update -i pkg install openSUSE-repos-NVIDIA 安裝Nvidia驅動套件 transactional-update -i pkg in nvidia-gfxG05-kmp-default x11-video-nvidiaG05 nvidia-glG05 nvidia-computeG05 CUDA套件庫可能可以用Tumbleweed的版本？但裝不起來。\nnvidia-smi和nvcc指令僅限加sudo才有效。\n2.4. 其他雜項 # 防止關閉筆電螢幕進入睡眠。Gnome Tweak在45版後竟把這功能砍了，又因為不想動系統檔案，所以我採用Fedora論壇用戶建議的作法，把以下target給mask。\nsudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target MicroOS每天會自動更新並重開機，我只好把該systemd服務關掉。\nsudo systemctl --now disable transactional-update.timer 3. MicroOS安裝套件的方法 # 主要有三種。\nMicroOS的套件安裝建議可以看Richard Brown影片提供的圖。從下圖可知，會動到系統的RPM應儘量避免，改用Flatpak與Distrobox來裝軟體。 MicroOS檔案系統可寫入的範圍有限，只有/home、/var，對/etc的變更會帶入下一次的快照中。如果要額外掛載東西，可能得掛載在var/mnt目錄下。\ntransactional-update # 中文叫做事務型/交易型更新，這個指令負責系統更新、系統回滾、安裝系統套件、更新GRUB的工作。\n全部系統更新指令是dup。不要用GNOME Software(PackageKit)更新。\nsudo transactional-update dup MicroOS安裝系統套件最好用sudo transactional-update pkg install \u0026quot;套件名稱\u0026quot;，它會呼叫Zypper安裝傳統RPM套件，指令格式類似Zypper。\n每安裝一個新套件後就會製作新快照，要重開機到新的快照才能套用變更。這樣做的好處是安裝更新不會影響目前正在執行的系統。\n所以如果有大量軟體要安裝，最好一次跑完，否則分開裝可能會遇到套件庫沒完成加入的狀況。只有最後製作的快照會在開機後有效。\n安裝軟體的時候最好瞄一下輸出結果，因為如果軟體安裝失敗，則此指令會拋棄新製作的快照，維持系統原樣。\n使用--continue參數在安裝套件的時候使用最新快照來製作，而非目前開機的快照。\nsudo transactional-update apply可以免重開機，直接套用新快照。但是舊行程要手動重新啟動。我覺得這樣不如直接重開機要好。\nsudo transactional-update rollback \u0026quot;數字\u0026quot;：回退到舊版快照，只會還原系統檔案，家目錄檔案會保留，適合你把系統搞崩又無法復原的時候使用。\nsudo transactional-update cleanup可刪除舊快照與overlay，釋出儲存空間。\n使用sudo transactional-update shell進入最新快照的shell，此時系統會暫時解除root唯讀機制，就可以任意修改系統檔案。\nFlatpak # 這是一種打包格式，提供免root安裝以及沙盒權限管理。許多常見的Linux圖形程式都可以用Flatapk格式安裝。\nFlatpak使用教學\nMicroOS內建的Flatpak預設就是安裝給user了，並且使用Flathub作為遠端儲存庫，不用特別設定。GNOME Software開啟就可以瀏覽程式。\nDistrobox # Distrobox是方便使用者存取其他Linux發行版套件的工具，連圖形程式都可以裝。\nDistrobox教學與使用例\n此處後端是搭配MicroOS內建的Podman，Podman功能跟Docker非常相似，又因其支援rootless mode，適合在immutable distro安裝。\n非root權限的容器拉取映像檔可能會有網路問題，此時可以用podman pull預先拉取Linux發行版的映像檔，再用Distrobox建立Linux容器。\n方便存取Distrobox的作法是使用distrobox export建立捷徑，這樣點選捷徑就會進入開發環境的終端機，而不會跟系統的攪混。 4. 與Fedora Silverlblue的比較 # 類似MicroOS的Linux發行版有Fedora Silverblue，二者同樣受企業贊助開發。\nopenSUSE Aeon對應Fedora Silverblue，openSUSE Kalpa對應Fedora Kinoite。\n但MicroOS跟Fedora Silverblue原理不太一樣，MicroOS依賴BTRFS本身機制製作快照，Fedora SilverBlue使用os-tree。ostree優勢在於可以詳細追蹤使用者變更（就像git儲存庫一樣）\nMicroOS是跟隨openSUSE Tumbleweed發表的滾動發行版，而Fedora Silverblue的更新時程跟著Fedora Workstation走。\n以前MicroOS跟Fedora Silverblue一樣使用Toolbox當容器工具，最近MicroOS改成了功能更多的Distrobox。\n參考 # Portal:MicroOS/Design 卧龙凤雏：Fedora Kinoite 与 openSUSE MicroOS - ImBearChild 的自留地 ","date":"2023年12月2日","externalUrl":null,"permalink":"/posts/opensuse-aeon-installation/","section":"所有文章","summary":"關於「openSUSE MicroOS Aeon」當桌面系統使用感想。\nIvon很抱歉用這麼長的標題，因為剛改名不久，所以用了全部關鍵字上去。\n一個追求穩定、可預測的系統，讓蜥蜴Geeko安祥的住在您的電腦裡。 1. MicroOS簡介 # 這是SUSE公司推出的Linux發行版「MicroOS」。寫法是Micro OS喔，不是Macross，也不是Microsoft。 根據官網介紹，MicroOS屬於不可變系統(immutable distro)，root分區幾乎全部唯讀，更新後直接覆蓋。使用者得依賴Flatpak、Podman容器技術安裝軟體。\n設計宗旨為：追求更高安全性、可預測、開箱即用、懶人設定、低自訂性的Linux系統。 說這麼多，你不妨把它想成ChromeOS版的openSUSE吧，但我們還是有保留root權限的喔！\nMicroOS分為伺服器版MicroOS、桌面版MicroOS Desktop、桌面版Leap MicroOS\n好的，我知道你已經開始頭暈了。\nMicroOS = 伺服器版immutable openSUSE Tumbelweed MicroOS Desktop = 桌面版immutable openSUSE Tumbleweed Leap MicroOS = 桌面版immutbale openSUSE Leap 比較多人推薦使用的是MicroOS Desktop。\n2023年5月，MicroOS Desktop改名叫做「openSUSE Aeon」，取自印度哲學「梵」的意思，這樣辨別度總算比較高了。除了Aeon外，還有一個Kalpa的版本。\n","title":"openSUSE MicroOS Aeon安裝與使用，不可變的Linux發行版","type":"posts"},{"content":" 【閱讀前須知】\n此處是我為取代Facebook動態牆製作的特別網頁，跟首頁的長篇文章不同，這裡是紀錄簡短想法之用，部份想法可能會另外彙整成文。\n這裡的短博文充滿各種觀點，尚未經過打磨，有反映時事，有靈光隨想，有偏激之言，有政治評論，可能冒犯到所有人。僅代表個人意見，請謹慎閱讀。\nParrhesia，即只說真話不欺瞞，有負面的後果也在所不惜。說真話不只是言論自由，真理顯現也符合大眾利益，更是公民義務。唯有對自己誠實才能讓我們解脫。\nHumility is not thinking less of yourself, it is thinking of yourself less. 謙卑不是看輕自己，而是不僅為自己著想。\n2023年\n20231231 Reddit暫時脫支，回歸英文sub為主，只想看到linux話題，不想看到中文字。真沒人關心你支那和中國台灣的破事。現在取消訂閱中文sub，因為他們立場要嘛太監要嘛是支黑，不然就是塔綠班。實話實說，因為支持柯文哲，所以支黑sub逐漸看不下去，某種程度太監區sub的意見可能還比較中立。這下我也是理中客了\n20231231 Plasma BigScreen，電視專用的KDE。這個操控有困難。我可以想到的方案：開Weylus，把螢幕投影到手機，就可以操控了。再不濟也有KDE Connect當滑鼠。重點在於，如果真的拿一般Linux當智慧電視，問題還是在缺乏APP，沒有Android TV的優勢。\n20231229 在沒有螢幕的Linux主機進行Sunshine桌面串流(Headless)：Remote SSH Headless Setup 核心概念，用xorg.conf 設定一個假螢幕。設定GDM自動登入帳號。啟動桌面環境，輸出到假螢幕。再透過SSH轉送port，存取Web控制介面。\n20231228 新版foobar2000在Wine上開始崩潰了，得找替代品。多方比較後，Strawberry Music Player可能是Linux上最像foobar2000的音樂播放器了，界面直觀，兼具管理功能。我就是要用資料夾模式播音樂，不要用mp3 tag分類！ 界面展示\n20231228 我聽說聯發科有驅動寫得太爛被Linux kernel上游退件的紀錄。有些賣網路卡的業者會把驅動程式附在光碟內，有的擺爛只附基於Linux 3.x的核心編譯的驅動。Linux不能這樣做，因為Linux核心每天都在更新呀。最好的作法就是爭取把你家晶片的驅動併入主線，不然的話至少開源原始碼放在Github給大夥維護。\n20231227 我現在看到Electron或Flutter寫的APP就會想死。I am religiously opposed to Electron!\nElecton：緩慢啟動時間，htop一看就臃腫的程式，在Linux上大部分吃不到GTK或QT主題。用Joplin、FreeTube得出的結論。最近找到一個不錯的新世代音樂播放器Tauon，結果居然是用Electron寫的。\nFlutter：連在AOSP都格格不入的噁心動畫，詭異的主題設計。用JHentai、Aves Gallery得出的結論。\n總之就是極不搭調的樣式。瀏覽器就算了，有些閉源軟體只提供Electron wrapper也就罷了，但從頭寫的開源軟體還用Electron開發只說明一件事：開發者很懶。有時候沒有替代品我也只能勉強用下去。\n唯一一個成功的Electron程式只有VSCode。\n就算用醜陋的QT寫的程式也比這種自以為是的跨平台技術好，如果KDE Kirigami能成熟一點就好了。\n20231226 以前有跟人講過黑色笑話：我站在樓上我好冷，想跳樓，不過是站在true樓(true在JavaScript的邏輯表數字1)。唉，如果當時真的有勇氣跳下去就好了。如果純粹因為成績不好就想跳樓，做題家這輩子就真的無(有)了。現在好了，成績不入我眼，生活不入我眼，夢想不入我眼，有什麼可以阻止我的？無非是渴望苟活的生死願望罷了。\n20231226 桌上的茶杯，有綠色的、像是苔蘚的紋路，定睛一看，看到的是無數悲哀的恐懼臉龐呼喚著。此時那些紋路就變成Minecraft裡面靈魂沙的恐怖臉龐樣貌。注視著，啜飲著，沸騰著，眼神不離的見著他們隨著茶湯下肚。\n20231225 關於宗教的態度，混右狗社群的時候覺得基督徒每件事都稱讚上帝好煩，不然就是整天求神拜佛。到了中立或左逼社區則是有很多一看到宗教元素就反對的無腦份子，很多人愛用飛天麵條神教攻擊不那麼迂腐的宗教信條，很多時候這些人行為只顯得幼稚。\n這可以擴展對傳統文化的態度上，文言文，我也覺得廢，但是台灣文學拿得出什麼，以後是不是批判性種族理論也要入課綱了（滑坡一下）\n現在我知道了極端傾向哪一派都是不好的，儘管我不全然相信宗教，也不會無腦詆毀別人的宗教信仰。現階段我屬於泛神論信仰，哪裡的神話故事有趣我就去接觸，但不盲信。\n看我的Twitter帳號名字就知道，名字中間Emoji是企鵝，象徵自由主義的Linux，還有左右二大護法：佛教的法輪和基督教的十字架，象徵兼容並蓄，一齊發展。\n20231225 很喜歡雨天的回憶下面一條留言：\n「（共匪在中國）造孽七十年 文化沙漠的厉害国 能出现汪峰这样骨子里是诗人的歌手 实属奇迹」\n還有人叫嚷著沒那麼敏感幹嘛禁這首歌，笑話，你匪的G點是常人不可預測的。\n20231225 弱者並不總是正義的一方，在成為左逼之前，想想經濟學，不要什麼事情都怪到形而上的「壓迫」意念上，做無所謂的鬥爭。\n極端女權、SJW都屬於這類。不過說實在左逼如何定義也是個空泛的問題，就像定義支性如何如何，也沒人說出個標準來。\n20231224 2024年我三票投柯文哲的其中一個理由，大概基於這種心態：\n「我对特朗普无感，但是就一点，他2016年让绝大部分我知道的白左黄左等等等等彻底失心发狂，看得我很爽，就这点，如果2024年他还竞选，我肯定投他，而且尽可能说服其他人投」出自 中长文，给这里的左逼科普下基本的政治学通识\n光是能噁心民進黨就爽死人了。你不能否認柯文哲對女性失言的問題，他根本不care你能拿他怎麼辦，但我覺得他做得好的一點就是不假清高，不搞道德魔人，辦不到的事情就不講。投柯文哲並非不支持進步價值，反之，我認為是進步價值，包括台獨問題，現階段不在國家優先發展事項之內。我說，這次沒有含淚投民進黨的選項了，給予第三勢力機會。我們不要一個只會無腦舔美反中的政府！\n20231224 之前看到一個Twitter帳號批評柯粉製圖的文章。找不到原圖了，上面柯粉製作的梗圖大意是引用動漫葬送的芙莉連的梗，象徵民眾黨要對抗「現在站在你面前的是百年大黨，國民黨和民進黨」的對手，那個帳號就批評柯粉以為民進黨是百年大黨，智商不足的論述。哎呦，我才要說，綠粉的智商才是真正的不足吧，隱性加號在那邊都看不清楚，那張圖就是表示兩黨加起來的年齡超過一百歲啊。其實這張圖還蠻有梗的不是嗎，柯師傅常常自比是神人轉世（劉寶傑形容的），還會輪流降駕，一下蔣經國一下漢高祖。挖吼，那國民黨和民進黨面對這種神人真的挫勒等了。\n20231223 腰樂隊 - 世界呢分鐘：我很想把，對樂觀的理解，深深的插入你的喉管。\n讀網路上的Hugo博客總有疏離感，10個有10個是寫程式的，不如說懂得用靜態網站生成器又很會經營網站的本身就是怪咖。好吧，簡中知名博主阮一峰是文科生沒錯，但他是學經濟系的啊，真正純文組的很少。嗯不對，文組的也是有很多人會架站，應該高機率是那種在首頁放蘋果全家桶、包括大頭貼也是蘋果虛擬頭像、賣課程、成天業配，覺得很潮的現充。\n支持封閉平台的事情，我才不幹！不排斥商業產品 —— 只要願意跨平台、支援Linux、對社群持開放態度我就會考慮使用，而不是整天想把你的用戶綁死，俘虜了人心之後，連硬體都不放過。\n20231220 Sway到現在還是沒有正式支援Nvidia，多謝Nvidia那極不友善的驅動，只有Ubuntu能正常使用。開發者以前設計要加上--my-next-gpu-wont-be-nvidia的參數才能啟動Sway XDD 後來改成--unsupported-gpu了，真不好玩。在Linux的世界，AMD才是yes的選項。\n20231220 我沒有確切證據，Cloudflare似乎不把Linux用戶當人類。台灣最近觀察到的例子是Dcard，只要用Linux桌面的Chrome/Firefox進網頁版，高機率觸發Cloudflare的人機驗證，「Dcard需要確認你的連線是安全的」，Linux預設都被當成爬蟲機器人。真的是低能卡。\nHacker News的類似案例：Tell HN: Cloudflare is locking out Linux users\n我是可以體會Dcard的難處，台灣學爬蟲的太多了，有人不只是搞深卡備份站而已，而是拿爬蟲資料做成內容農場營利了，這種的更可惡。\n20231219 哈哈，靠北政治學單字，這是我教英語會話的女教授講的喔，不是我提出的。\nprecedented 慣例的\nunprecedented 空前絕後的\n賴皮寮，賴清德在電視上為此哭了五次，真是unprecedented!\n20231219 聽到cider這個字我就知道怎麼唸，現在我想起來是從哪裡學到這個字的了，那就是Smosh的「插進去蘋果酒！」Dixon Cider = Dick inside her，10年前聽的，到現在還是很好笑。\nDIXON CIDER Official Music Video\n20231219 Delete a project with a high number of deployments\n酷喔，Cloudflare Page刪除舊專案還會因為deployment太多，叫使用者下載npm裝delete-all-deployments程式自己刪。\n20231218 nanogallery2是不錯的JQurery圖片畫廊方案，純前端實現，整合許多技術，選項很多，可以適應各種版型， 支援過濾器(tag)。但就是太自由了我得看WFU Blog的例子介紹才知道怎麼寫。\n20231218 將靜態網頁生成器Hugo變成動態網頁的二個方案\n第一個用hugo rebuild即時生成新頁面，需要伺服器：动态的hugo - 监控数据变化并重新生成页面\n第二個自動從單一資料檔案生成多個markdown，省去手動建檔的麻煩：Creating Pages from Data Programmatically for Hugo\n看過Gea-Suan Lin's BLOG – 幹壞事是進步最大的原動力的「新聞類文章」後，我也想過把這裡動態牆的每篇文章用Python程式自動分割，生成為一個個的markdown短文，但這樣好像又太佔空間。\n20231217 There are two common rename utilities but neither of them are developed by GNU\n學到了一課，同一個指令不同發行版打包的卻是指向不同命令。Debian有rename工具，Arch Linux預設的rename卻不是那個rename，得另外裝perl-rename套件並用perl-rename執行。\n這就是為何我習慣在ImageMagick指令前面明確指定\u0026quot;magick\u0026quot;的緣故，很多人都直接用convert指令，在我看來是很抖的行為。還有，Ubuntu直接打apt install chromium會裝到電玩遊戲，而非瀏覽器。FreeBSD打pkg install hugo會裝到遊戲模擬器，而非靜態網站生成器。\n20231216 Sunshine! Boku no sunshine!\n這就是我對遊戲串流軟體Sunshine的印象，一裝完成就想到難波弘之1982年發表的歌曲ソラーラブ，當時2022年正愛聽。作為Moonlight在Linux上的移植版，維護者使其變成了一個好用的遠端桌面方案。\n20231216 覺得身邊的人都是沒有腦袋的番茄，而我是有腦袋的蕃薯。\n二個東西一起吃會得結石，笑。得民調得痔瘡，共產主義者都是田裡長出來的！\n20231214 少女教育RE 第1話稲垣紗衣と過ごす日々，這是重製版的少女教育系列，相較於舊版畫風變得更幼了。禁忌的純愛，老師跟學生。女孩主動說月經沒來不需要戴套，是否有點太超齡了。整部的鏡頭很強調幼女平坦的胸部，符合蘿莉控的性癖。如果光看這個就能硬，我想你也離監獄不遠了。中間還賣可愛了一把，唱了一首歌曲。結果初潮就來了。這部來說，正常位、後入都還可以。最後面無視女孩月經強行內射的劇情，在現實中大概就會被關到漏尿。\n20231214 Cloudflare R2費用計算機\nCloudflare R2看來滿划算的，相較過去用的Amazon S3和ImageKit，他們HTTPS和CDN一條龍全包了，而且不是企業級網站的話一個月託管資料費用才5美元起跳。之前被Netlify和Amazon扣幾千流量月費還歷歷在目。如果網頁放Cloudflare Page，搭配R2存圖片還不賴的樣子，他們都不收頻寬錢的，成本應該可以低很多。\n20231213 POV：用i3等window manager時還整天想著美化這美化那，你就失去suckless的精神了。到頭來你會發現自己好像在重現桌面環境的功能，重複造輪子，想要小而美的桌面那為何不用XFCE就好。\n極端反面：咱不要花花綠綠的Linux桌面，不需要r/unixporn擺拍用的動漫桌布，給我dwm、st、dmenu再加個suckless的瀏覽器就夠了\u0026hellip;大概就是這樣！\n好吧用window manager的時候美化確實不是我的強項，所以才常常強調實用面的功能，比方說多加幾個按鈕的，而非沈醉寫CSS美化\u0026hellip;說實在的不能被r/unixporn迷惑了，我不是那種超級控制狂。雖然選擇了還有一定自訂性的KDE當Linux桌面，卻還是希望有個固定樣式可以給大家做參考標準的，而非每個人的桌面都長得不一樣，設定選單在哪都不固定。KDE和GNOME預設的界面就有自己的美感，無須發行版另外打包主題進去，這個成了我喜歡他們的理由。到頭來我還是不太能習慣window manager的工作方式，桌面環境的幕後工作就讓它自己完成吧。\n20231213 Thorium Browser是樹莓派、Android的Google Chrome替代品，特色是使用更快的指令集提昇速度。支援所有平台與架構，包含arm64，而且可以同步Google帳號（Android版除外），暫時解決了Chrome死不出ARM64位元版的問題。\n其實Chromium在Google斷了同步功能後還是可以自己加OAuth key來啟用同步功能的，但Android版還沒有解方。考慮到Thorium Browser是一人專案，而且不知道Google什麼時候會全面禁止同步API，那還是繼續在我的PineTab上用Brave Browser好，等待正版Chrome釋出ARM64版本。\n20231213 今天學到：即使在資源拮据的RK3566裝置上，KDE Okular看上百頁的PDF的效能還是暴打GNOME Document Viewer\n20231211 總統號次抽籤出爐！超夯1號被「他」抽中　支持者嗨爆\n這下肯定民眾黨是邪教了，抽個號碼也可以歡呼\u0026hellip;\u0026hellip;柯文哲加油！不管選不選得上，對未來民眾黨的財務橫豎都是贏。\n20231210 Hyprland Is a Toxic Community\nHyprland有動漫女孩當吉祥物？Hyprland的社群成員在Discord惡搞跨性別人士，把人家的pronoun改成who/cares開個玩笑就傷了左逼的玻璃心？更有理由要試試了。\n你們廣西人傷透了我的心啊！\nDrew有對PinePhone做review我很讚賞，可是攻擊Hyprland這件事我就不能贊同。\n同樣一件事，Hacker News的評論要比Reddit、Lemmy中立多了，很多人認為是歐美左逼小題大作，而且沒貢獻過一行程式碼的外人，竟要硬推Code of Conduct進來，啊啊這種頤指氣使的手法，陰謀論一下，彷彿重演Linux kernel被左逼入侵的事情。我看到還有人特地到Hyprland原始碼儲存庫出征說原作者放任不管所以他是納粹，差不多得了，敢說波蘭佬是納粹？他後來還不是不情願的出台Code Of Conduct，恐同的也早就被ban了，見Misinformation about the Hyprland community\n20231210 當現實生活真的遇到的時候，我盡量包容身邊的跨性別、同性戀人士，雖然不能理解苦難但也不會想宰了他們或者強制校正。我反對的是SJW。\n20231210 原來連語言學習平台Duolingo都有開源版LibreLingo，除了程式外開發者主張教材也要開源？這下開源語言愛好者多了Anki以外的選擇。問題是目前課程只有西班牙語\u0026hellip;。\n希望不要變成LibreTranslate那樣的半成品，使用不怎麼樣的模型訓練，到現在只有印歐語系支援完好\u0026hellip;喔幹LibreLingo已經出來三年了喔，那目前看來是完了，價值大概只剩Anki那樣的教材載體了。你要開源社群做免費數位語言教材？他們是工程師不是老師耶！生一本C語言手冊出來還比較有可能吧！\n不過，開源語言工具的問題未來有望用生成式語言模型改善吧，LLaMA的翻譯功能還行，只要有算力什麼問題都可以解答，結合ChatGPT的prompt應用，跟本機模型對話學語言應該是可以的。\n20231210 你看看Reddit都左成什麼樣子了，因為用stonetoss的漫畫做meme就出征人家，動不動說人納粹（stonetoss還真的支持納粹，但那又怎樣，the left cannot meme lol。\nCome on it\u0026rsquo;s the 2020s - r/linuxmasterrace\n還有之前該sub有一篇稍微講到trans被Xorg支持者霸凌的文章就禁評。這下真的左逼肥蛆超管治國了。\nContent Warning: Transphobia From the very same people who tell us to boycott Wayland - r/linuxmasterrace\n20231209 用WebRTC錄影很有潛力，這才是真正跨瀏覽器的解決方案，也就是說Firefox也可以用。\nAudio+Video+Screen Recording using RecordRTC\n20231209 Reddit recap年度回顧來了，去年還能看到冲浪TV系sub的帖子，今年家都炸完了基本沒戲。我的幽默TV、權浪TV、查理TV啊😭 r/real_China_irl我反而比較少發文了。\nReddit演算法不知道是不是故意的，推了一篇爭議性高的討論串認為這對我意義重大。這篇截圖看來確實讓我深刻啦，在貼文與sub主流政治立場對抗，我確認了2024年支持柯文哲與民眾黨的傾向，而且中間為了護航柯文哲已經到有點詭辯的性質，在r/Taiwanese果不其然遭噓爆；如果在PTT八卦板大概會被推爆吧。\n至少我確定了，那個sub聊生活話題還行，但一談政治塔綠班就會現形，發出比支那小粉紅還惡臭的言論。可會在那討論生活話題的人又真的很少，每天都是充滿政治味文章，也不知道是不是網軍刻意貼柯黑文章引炮火\u0026hellip;總之該sub基本不能看。這就體現出PTT八卦板的優勢了，鄉民能聊的東西比整天只會鍵政的文青多的多！我也會上Reddit，了不起喔。哈哈，你崇洋媚外，写些像蚯蚓一样的东西，不会写中文吗.\nr/Taiwanese前台灣人Mod都跑路到Gab的右狗TV了，於是該sub變成塔綠班狂歡樂園。我並不假設不挺柯文哲的人就是塔綠班，但是從字裡行間的用語便可以知道其立場了，假中間派是不存在的。要說他們左逼也不對，因為還有一個更左的r/Taiwanica墊背，充其量只能說是左派民族主義。\n20231208 Do we finally switch to Wayland or not? - Reddit\nArch Linux用戶問說我們終於遷移到Wayland了沒？很多用戶回答說我用Wayland很久了餒！works for me without issues for years\u0026hellip; 然後說我用的是Sway，去你媽的。所謂without issuse很難確認是否屬實，你可以確定Wayland下遊戲、辦公軟體、瀏覽器、程式編輯器、Flatpak程式全部正常嗎？suckless的信徒們！\n每次聽到It worked for me就會咬牙切齒，尤其是有切身之痛時。即使收錄是最新套件的Arch Linux，X下的工作階段還是遠勝過Wayland。\n根據我的經驗，可以說除GNOME外，其他桌面環境根本還沒準備好切換至Wayland！GNOME雖然很棒但我不喜歡太簡單的樣式，而大型桌面KDE在Wayland仍有一堆問題，比方說隨機崩潰。遑論那些死不更新到Wayland、寧願以XWayland擺爛的程式了。\nWayland瑜不掩瑕，動畫滑順又如何，雙螢幕支援度又怎樣，需手動設環境變數強迫程式跑Wayland、啟用螢幕分享，Fcitx5輸入法還常常不見，就代表Wayland根本還不穩定。一半時間都在debug！XWayland程式效能又很差。\nWayland是未來沒有錯，但它嚴重影響日常生活。PipeWire已經可以幾乎完美無縫接軌Pulse Audio ，我不知道什麼時候全Wayland的未來可以來到。我粗略的拿這個當指標好了：當Debian Stable提供的桌面全部採用Wayland時才能算穩定，我猜大概還要等個5年吧。\n20231208 不小心選了地獄級難度。在沒人用的Arch Linux ARM，用只支援OpenGLES 3.1的Mali GPU，跑去年剛出的合成器Hyprland。結果是無止盡崩潰，開Flatpak能crash掉整個Wayland行程！可是很多人說Hyprland在他們機器運作良好啊。那他們八成用的是x86平台。Asashi Linux的用戶攻擊過Arch Linux ARM，可見Arch Linux ARM根本是不同於x86的發行版，抓錯的眼睛太少了！\n也有可能是Hyprland本身寫不好，抑或是Mali GPU驅動問題？因為Arch Linux ARM的GNOME和KDE是可以正常運作的。\n20231207 早說了在Twitter更樂於看到簡體字，更勝於正體字。因為扣除小圈圈程式社群有益之外，正體字推文有89.64%機率是腦殘塔綠班，成天拿柯粉說事（柯粉還沒到韓粉等級吧），除無腦反中啥都不會。那還不如看簡中反賊大戰粉紅還比較有意義，他們辨經有理有據。我真的覺得塔綠班要反共水平還不如真的肉身在支那的反賊。就像Facebook社團的台灣傻事一樣，看似反共但其實充滿綠色傻狗的低水準反共敘事。\n每次看到台獨吉娃娃推文，我都會說：你永遠都是支那人。有時候看民國派拷打台獨也很爽，即使我不支持光復大陸的理想。\n歧視鏈：英文右狗推文 \u0026gt; 英文左逼推文 \u0026gt; 簡中反賊推文 \u0026gt; 正體塔綠班貼文\n啊我脫支修行不夠，不如別追蹤中文社群為好，Twitter推薦必須清空一下了。\n20231206 問題：LibreOffice的文法檢查太廢，它只能檢查拼字。想要LibreOffice可以像Microsoft Word一樣，打字時即時檢查英文文法與用字合不合適。又Grammarly沒有LibreOffice的擴充套件可以用，所以採用開源的LanguageTool擴充套件。它會即時將字串傳到伺服器並分析結果。\n結果圖片。差強人意啦，根據網路資料顯示LanguageTool專業度是差Grammarly一大截，但有總比沒有好\u0026hellip;如果未來本機LLaMA模型發展還行的話，搭配Text Generation WebUI插件，應該足夠暴打前面二者的文法檢查。\n20231206 汪峰 - 美麗世界的孤兒\n一直以來都不喜歡群聊。當有人說要加入Telegram或Discord或Matrix群組的時候，若非要事的小組討論，多半儘量避免的。我不了解群聊的意義在哪，也不知道如何參與。不論什麼東西都有群組，可我覺得那還不如論壇網站來的高效，或者一對一聊天，不論現實或網路皆是如此認為。漫無目的的群聊是在浪費時間，用來當接收資訊的管道也不妥當，資訊也無法被搜尋引擎找到，向大眾公開。所以我覺得「封閉」的群組並不適合，我可能真的很想問問題才會加入群組，但除這樣的實用目的之外，漫無目的的瞎聊就不是我擅長的了。\n除此之外，社群媒體可能也不是很喜歡吧。在Twitter追蹤在某個圈子小有名氣的人物，不論是開發者還是繪師，看他們和自己同樣小圈圈的好朋友在下面聊個開心，我就常常有很難融入的感覺，即使我也很愛那個遊戲。或許這是我對Plurk私聊不感興趣的原因，因為親密的人從來不存在，gossip的資本也沒有了。現在勉強能融入的群體是神友，可是不輪到哪裡我都難以當個話癆，多半旁觀，對誰總有疏離感。\n現實中、網路上，每當我試圖講話，總會收到尷尬的眼神或回應，是我說話太自我中心所以不好聽吧。不懂得如何與他人交流，即使自己有優點也無法很好的給人表現出來，只會讓人覺得自己是怪人，是看起來很厲害的nerd。即使嘗試了解他人的心也只會給自己帶來無端痛苦，僅能憑藉嘴上的油腔滑調蓋住自己的卑鄙心理。雖然每天定期找人說話會感到快樂些，可是社交能量卻是這麼低落，講幾句就無法再講下去了。難道哲學家傾向的人就是註定孤獨嗎？\n哦 別哭 親愛的人 我們要堅強 我們要微笑 因為無論我們怎樣 我們永遠是這美麗世界的孤兒\u0026hellip;\n20231205 The Beatles - Now And Then (Official Music Video)\n有了ABBA之前新專輯Voyage的例子，再看到Beatles這首，覺得這群老人是不是以後只能靠炒冷飯奪熱度了\u0026hellip;但是看到透過合成技術讓年輕的他們在一起唱歌還是很感動的啊。現存的兩人沒有忘記John Lennon和George Harrison的貢獻。\n20231205 這個想法應該過時了：我不信任手機當作重要儲存資料的終點站，不論是Android還是iPhone都一樣。真正重要的資料應該加密後手動放到雲端，其次是嚴格保護的電腦硬碟。任何檔案在手機上都是「暫時」的，一切境幻起幻滅。這導致我不注重備份的需求，自然會對換機和奢求一鍵備份資料的人感到不解，換手機就重新設定就好了啊。對我而言，手機容量128GB是絕對夠用，資料不應該放在如此脆弱的裝置。重要的照片影片應該定期移動到穩當的保存地點，而非封存在手機。考慮到雲端硬碟有隱私問題，我現在沒有加密是不太敢傳敏感資料上去。\n意思是，現在對手機性能要求反而沒那麼高了，中階性能、螢幕漂亮、接近原生就可以了。或許我可以理解視手機如命的人想法，因為以前我也沒有自己的電腦（或者說老電腦性能太爛，手機還比較順），才導致「什麼都想在手機完成」的作法，像我以前還很愛用手機打報告，順便刷手遊。可是我現在有Linux電腦，又不太沈迷遊戲，已經不把手機當成那麼重要的東西了。雖然仍會研究手機系統底層和APP原理，但我再也不會把手機當成最重要物件了。好吧，看向每日螢幕使用時間高達10小時以上一點說服力都沒有。即使不把手機當一回事，仍改不了我用它看各種社群媒體的習慣。\n20231205 MicraleCast將Linux開發板變成Miracast螢幕投影接收器！開發者重新實作了Miracast協定。但Wifi網路卡必須支援P2P，怎麼我用指令稿測Intel和聯發科的都不支援，只有樹莓派支援是吧？\n20231204 如果想要擺脫Chromecast，最實惠的方案就用Miracast就可以了，它也有可以安裝在Linux開發板上的MiracleCast。不過，NymphCast的好處是跟Chromecast一樣，不用手機一直開著同個畫面，投放後手機仍可以做自己的事情。\n20231204 PinePhone似乎整組壞了了了，SIM卡槽卡住，Wifi燒毀，eMMC出現bad sector，加上4G日常過熱。這下只剩當開發板用途了，幸好還可以從SD卡開機\u0026hellip;好的還是不行，這台機器基本上廢了。\n我也沒常常摔它啊，怎這樣不耐打，eMMC壽命只有一年，比我用5年的SD卡還差。或許是因為PinePhone那10年前手機山寨廠的組裝品質才\u0026hellip;我開始擔心PineTab能不能撐過二年了。\n20231204 \u0026ldquo;heading towards Microsoft\u0026rdquo;? I guess degoogling is the first step, but going \u0026ldquo;from fire to flames\u0026rdquo; isn\u0026rsquo;t that great of an idea.\n之前看到有人討論Degoogle的時候，Reddit網友說出了跟我類似想法的表達句：From fire to flames，意思是從一個火坑跳入另一個火坑吧。我會認為，既然Degoogle，應當找開源或者更注重隱私的替代品，例如Protonmail、Brave、Firefox，才是長久之計；而不是用Outlook取代Gmail、Edge取代Chrome就完事了，不然只會再被大公司剝削一次。\n不過英文裡面比較常見的說法是out of the frying pan into the fire啦。\n20231203 Simple Mobile Tools bought by ZipoApps\n完了，簡易相簿(Simple Gallery)作者把自己的app賣給廣告公司了，怎麼跟當年快圖瀏覽的下場一樣。好在簡易相簿是開源軟體，或許有人會fork一個開源分支維護\u0026hellip;不然就得去F-Droid找替代品了，目前看到Aves Libre還不賴。\n也許對Google Play用戶來說沒差（Play商店充斥專有軟體，一般使用者誰在乎APP是否開源），但簡易相簿這事對開源軟體使用者是巨大傷害啊，他們家開發的APP都不能用了。\n20231203 要不因人廢言實在很難，很多時候僅是因為單純討厭對方就完全不接受對方說法，這是很自私的想法。可現實是，我不是海綿，不能全盤吸收所有的人的說法；對政客來說，你也不可以裝得一副聖母樣子，不然就會顯得軟弱。只能儘量就事論事，不牽涉到特定意識形態的爭論。因為我知道一旦辯論牽涉到不可知論、純理念的探討就一定吵不完了。儘管如此，還是要秉持自己的立場，並懂得用理性的方式去捍衛它。\n20231203 現在看到很多人想把柯文哲打成社會底層、「不夠進步」的青年人在支持的政客，並說他是騙子，什麼都能往他身上抹黑，彷彿把他當成社會的完全負面形象一樣。這樣的作法讓我想到了以前的韓國瑜。韓國瑜確實是韓導，但有些抹黑也真的是過了，把他打成魔鬼一樣的存在，這就是藍綠一昧的抹黑手法，尤以民進黨為甚，因為他們比國民黨更加不知廉恥。國民黨都難以把蔡英文妖魔化了，綠共卻可以輕易無下限抹黑對手，可見綠共紅共一家親。對柯粉而言相信師父具有一定的宗教色彩，黑的都能凹成白的，但我要說我不是完全相信柯文哲的，不試圖神化一個人。柯文哲有歧視言論是事實，但整天只針對拿這個打不過就是會打到自家人而已。試問哪個黨沒發生過性平事件？民進黨犯法不算數？太進步了有沒有。什麼實際建設的政策不談，整天就拿他失言說事，搞些莫須有的意識形態，彷彿德不配位的樣子。哪個人沒有雙重標準的偏見？畢竟柯文哲最多也就是投機主義者而已，既不像左逼一樣支持多元價值，也不是真右狗（右狗還會嫌棄柯文哲太費拉），所以並未到絕對保守派的程度，何況說他反同、反台獨了。從川普的例子證明，一個國家需要做實事的總統、不需要只會講意識形態的政客。\n再談不支持民進黨也不支持國民黨更不支持民眾黨的選民，他們會自稱中立理性，到最後卻帶著含恨色彩、因為只有民進黨明說反中立場而投民進黨的。這樣的人是什麼成份就不用多說了吧。反共真的是第一要務嗎？我已經有點理中客了？也算吧。批評柯文哲的不是柯粉，這點可以成立。但是他會不會高機率是塔綠班呢？有可能，也有可能是國民黨的。說實在的，要不持政治立場是很難的，不然就投廢票嘛，直接說台灣政治亂完了我要移民美國不就好了。既然你都知道塔綠班是壞的名詞了，何必再繼續含淚支持爛黨呢，還是單純西瓜偎大邊而已才投民進黨而已，說實在以前我比較支持時代力量的，不過既然黃國昌落跑，那我也只好全力支持民眾黨了。世上沒有絕對正義，我三票投民眾黨不是向著絕對善的目標去的，而是不那麼壞的選擇。我也知道民眾黨不是什麼好鳥組成的政黨，但為了擺脫藍綠執政的最惡結局，我決定挺他到底。\n20231202 以前：聽到人說理組比文組好，我會寫長篇大論講回去。\n定義文組：不含經濟系，純文史哲科系的。\n現在：對啊，文組生可以不用再幻想了。除非你是嘴砲王，比方說當個左逼，或者政客，或是超級右狗，可以講到讓一堆人相你的學說讓人送錢給你，不然一年下來的產值都不夠買一間廁所，只能當臭老久荼毒台下的學生。\n美國黑人經濟學家Thomas Sowell不是說過嗎，「我們這個時代最危險的趨勢之一，便是通過制定『仇恨言論』法，使得講真話成為『社交上不可接受的』乃至『非法的』。」「許多政治左派陶醉於他們的美好願景，卻看不到他們正在現實世界製造的醜陋現實。」\n或者根本就不用分文理組，不須要用站隊方式掩飾自己的弱小。你弱小不全因為你是文組，而是因為自己真的很廢。不知何謂跳脫框架，將自己的失敗歸咎於外部因素就可以讓自己心安理得，並期望能從中獲得什麼好處。這樣講好像有點社會達爾文主義了嗎，或許吧。\n20231202 自由 \u0026gt; 民主 \u0026gt; 法制 \u0026gt; 平等\n還沒達到自由就追求「絕對的平等」即是自由的終結，切勿相信只此類敘事，包含「消滅一切歧視言論」的主張。 簡單講句台灣理組比文組好（或說比較吃香）的事實，開個玩笑就說I am offended，是歧視女性，是不尊重國籍，是racist。哎呦，可見The left cannot meme at all ~\n20231201 Arch Linux的資料太雜了，這個不錯的教學文件正好涵蓋了許多常用面向。不是每個用戶都能融會貫通各個發行版的操作，從而依賴Ubuntu當作主要標準。但是不要忘了還有Arch的存在，只需要些許不同的設定過程，就可讓這些自由軟體在可以在Arch使用的，使Arch也能作為日常的桌面系統。\nArch Linux 安装使用教程 - ArchTutorial - Arch Linux Studio\n20231130 汪峰 - 流浪 有人(Bob Dylan)曾在歌裡唱到 答案早已就在那風中飄揚 如今我們都已長大 依然那麼滿含悲傷地迷惘 如果我能夠選擇 我要掙脫這滿身的枷鎖 如果我可以飛翔 我要展翅飛向那光明的遠方 從明天起我願告別昨日 讓這庸碌的生命變得非凡 輕輕醉倒或是隨風飄蕩 向著春暖花開的遠方流浪\n這首歌有點類似Queen - Spread your wings的感覺，重點在於「如果我能夠選擇」啊\u0026hellip;明明我還沒受限於生活但卻是那麼的無力，提不起勁去改變，只好用Radiohead - Let Down來回覆汪峰的歌\u0026hellip;One day I am gonna grow wings\u0026hellip;A chemical reaction\u0026hellip;(You know where you are)\u0026hellip;Hysterical and useless\u0026hellip;Hysterical and useless。Don\u0026rsquo;t get sentimental，總有一天會知道，狂亂的思緒It always ends up drivel。到頭來現在的狀況究竟是徒勞無功，還是現在一切是對未來的積累，真的不知道啊。會不會哪天隨著時間流逝，麻木了所以，導致一切都沒有意義了。Let down and hanging around. Crushed like a bug in the ground.\n20231129 看了看今年的個人Apple Music年度音樂回憶，常聽榜單又是不一樣的風景了\u0026hellip;今年我的口味是自然、搖滾、實驗性。感覺常聽歌曲都是2023年下旬貢獻的。很多時候我都在Youtube聽，分散掉Apple Music這塊。\n→ 舊識：林強、羅百吉、Yellow Magic Orchestra、The Flaming Lips、The Carpenters\n→ 新知：汪峰、อัสนี-วสันต์ โชติกุล、賽德克巴萊之看見彩虹(太多人合唱了列不完)、Leo Rajas、夏威夷海綿寶寶團(The Hiram Olsen Group)\n統計時間最長的是Relaxing Piano和The Enchanted Garden\u0026hellip;那是因為睡覺聽所以播放時間長，不算真的最愛。\n20231129 找到網頁修圖軟體Pixlr、Photopea的開源替代品了：miniPaint，看來功能還行，有人甚至給它做了搭配Stable Diffusion的擴充功能。用NPM寫的\u0026hellip;可以用Docker自架。\n雖說若考慮採用self-hosted的路子，容器跑GIMP或Krita再用瀏覽器VNC存取也可以，比如WebTop，但我仍想要一個開源、專門為網頁設計的修圖軟體。話說PhotoPea作者只有部份開源程式碼，差點騙到我的Github星星，我一看到程式碼不完整就立刻取消給星了\u0026hellip;看起來他還是得賺錢呀。\n20231128 How to start a microphone server in Termux on Android? #1448\nTermux手機當電腦無線錄音PulseAudio的構想，試過但不成功\u0026hellip;Linux端完全沒聲音。最簡單方案果然還是DroidCam了。\n20231128 取代閉源DroidCam的構想：Android跑IP Camera的程式，然後電腦用OBS虛擬相機，擷取網頁畫面，這樣就可以在電腦Google Meet使用手機相機了。\n問題目前開源的IP Camera只有Wifi Camera (Android Eye) ，只做了一半就放棄維護了，且電腦端無法錄音。\n20231128 Don’t be fooled, Reddit is just social media for awkward people - r/nosurf\n別罵了別罵了，文中這句話真貼切：I know a few people who’s personalities are just a patchwork of useless trivia, shallow opinions and corny jokes they got from Reddit.\nReddi以文字為主的討論實給了不喜歡Facebook、IG等光鮮亮麗社群媒體的人一個去處，形成另一種亞文化。儘管每個sub都有不同的文化，可以肯定的是懂得上Reddit的人多半是有點「頭腦」的才會來。可Reddit的nerd和loser的比例真的還蠻高的，或許是善良的nerd居多？otaku（技術宅）而已還沒到犯罪預備軍，還沒有4Chan那肆無忌憚。Reddit有二百斤左逼肥蛆超管會把右狗言論刪除，不准議論LGBT、黑鬼、納粹、穆斯林，現在還多了針對神友的支那人。現在問題是，Reddit如果未來為了營收引進短影音，甚至社群媒體的浮濫要素，這個平台就離死亡不遠了。Reddit手機APP或許可以吸引到Z世代的人，但有多少智障能懂得Reddit跟Facebook的發文水準差距，仍讓人懷疑。如果Reddit哪天真的爛掉，那我也只能去Hacker News，還有其他匿名板了。\n20231128 TikTok的“垃圾化”与平台的消亡\n原文：The ‘Enshittification’ of TikTok\n這個文筆真不錯，不只是批評TikTok而已，大型公司都是如此。網路科技巨頭綁住了人們的去向，從一開始吸引用戶，到最後變成只會割韭菜！文中的泰迪熊比喻可以讓人快速進入狀況，讓你在遊樂場贏到泰迪熊，就會有一堆傻子送錢來挑戰，大型網站也是這樣道理。由此，我們不應該被單一平台綁住，也不應該把家當，或者說個人部落格資源，全部押注在單一平台上，否則就是在幫人家打工，到最後被剝削。好比我過去辛苦經營的Minecraft PE粉專被Facebook降觸及率，最後還莫名被封，逼得我連夜架了一個Blogger重起爐灶！這讓我了解科技巨頭不能完全相信。Luke Smith說得對，Get a Website Now! Don\u0026rsquo;t be a Web Peasant! 除了網站以外，個人數位資產也要妥善保管，務必將其放在可以隨時移動的平台，而不是丟Youtube、相簿就算了。我們應當繼續擁護網路自主的權力，讓使用者可以真正搜尋到他們想看的東西，而不是被操控。我不能說資本主義不好，但這種牆況必須更多人醒覺，一同抵制大企業的邪惡作為。\n20231127 跟Microsoft扯上的東西都不會有好下場。自從paywall機制（包括不給搜尋引擎爬取）越來越多後，現今的網際網路巨頭變得過於自私了，en\u0026quot;shit\u0026quot;ification已不可擋！考慮搬家ㄅ，至少我自己git庫要放在自主可控的平台。Gitlab？Coderberg？Bitbucket？Gitea？都是可以考慮的選擇。\nGitHub now requires a login to search - r/linux Reddit\n20231127 早說了罵人的時候誰的文筆都會莫名的提高幾個層次，就不會直接講操你媽幹你娘靠北的髒字出來，而是用儒雅方式罵人。最近很喜歡神友「喜提野爹證」的說法，讓人要轉個彎想想，為什麼我被你封鎖追蹤了還是你野爹？因為我操你媽！\n20231127 建議有志出OS娘的H本子的人可以拿這串經典UNIX指令當標題：\nunzip, strip, touch, finger, grep, mount, fsck, more, yes, fsck, fsck, fsck, umount, sleep\n目前看過畫得最騷的Linux OS娘，除了10年前日本繪師的作品外，當屬Ravimo畫的Arch Linux娘了。目前OS娘還是Windows的佔優勢啊，H圖也是，Linux社區要加油。DeviantArt的僅是開胃菜而已，需要強而有力的日式風格繪圖才行。\n20231127 依般若波羅密多故，心無罣礙，無罣礙故，無有恐怖。遠離顛倒夢想，究竟涅槃。\n現在生活痛苦，有求於佛的時候只想要這些字句，卻是少掉了真正大義，而行著實用主義的路子去了。我很喜歡小活佛電影裡面老喇嘛圓寂後弟子唸的般若波羅蜜多心經，微言大義啊。因為境界不夠，實在能切身體會的只有「無罣礙故，無有恐怖。遠離顛倒夢想，究竟涅槃。」的字句，為求解脫痛苦，不論是暫時的還是長久的，除了使用藥物外，就是接觸佛法了。或者雙管齊下\u0026hellip;這不是西醫中醫的爭論，靈性藥草治療在許多國家也是替代療法的一種，用藥可能讓人打開心眼，而修習佛法可以讓人又不致於過於自大\u0026hellip;.我只求吸毒不要吸成Syd Barrett那樣就好了。\n20231126 openSUSE新推出的兩個不滅發行版（immutable，我喜歡這樣翻），分別叫做\u0026quot;Aeon\u0026quot;(GNOME)和\u0026quot;Kalpa\u0026quot;(KDE)，都是永恆的意思。典出婆羅門教「劫」的概念，梵語念作Kalpa，意譯則是Aeon。\n嗚\u0026hellip;頭好痛\u0026hellip;聽到生命的時候就會想到罪惡王冠的《βios》一曲。\n最早該專案叫做MicroOS Desktop，大概他們覺得這個名字很難唸才改名😂 系統設計類似Fedora Silverblue，主打容器化。\n還有YouTuber說這次Linux桌面總算做對了？我哪天一定要來試試。\n需要關注的不滅發行版還有SteamOS，Vanilla OS，blendOS，Endless OS。但是沒有商業支援真的能做下去嗎。SteamOS雖然很棒可是我覺得還是關注general purpose的系統比較好，不需要反客為主裝一個專門玩遊戲的系統。\n20231124 李志 - 被禁忌的遊戲「離開荒謬的我們，離開荒謬的世界 離開禁忌的遊戲，離開荒謬的我們」\n看社群媒體很是痛苦，尤以Twitter、Facebook、Instagram、Youtube(沒登入下的首頁推薦)為甚，看哪個人又發表新書了，哪個人又分享生產力提昇心法了，哪個人又去熱門地點打卡了，哪個人又發表新圖了，哪個人又對社會議題發表高見了。不論如何都是熱烈的受人追捧，愛心星星比讚數不完。\n炫、炫、炫，炫耀你媽的炫呢，喔，平等一點，炫耀你爸的炫呢！平等的集體無意識\u0026hellip;安那其\u0026hellip;不存在於這些光鮮亮麗的地方，還容易養成FOMO和相對剝奪感呢。預設模式下，以文字為主的Reddit、PTT、Hacker News、4chan、匿名論壇才能平等的交流，獲取資訊，不致於被這些無腦的人類轟入。\n20231123 汪峰 - 迷鹿 「我不知道夢是什麼顏色 我不知道自己是什麼 我不知道孤獨是什麼」\n只要被人指點幾句就會想太多，這是自我意識過剩的表現。總有志不在此的感覺，只能依賴虛擬的成就滿足空虛感，可一想到現實與理想的割裂就又不由得的難過起來。我不想知道怎麼當人，不想學習處理學生情緒的方法，不想了解未來棟樑流行的是什麼，不想得知回字有幾種寫法，不想理解CPU有幾個指令週期，不想接觸語言與國家的邊界，不想看見社會上需要幫助的議題。\n如果可以的話真想當個歲月靜好，可是這草莓心又辛辣嘴的腦袋（吃甜和辣的會胃食道逆流），總是在網上做著與現實的情況完全相反、不著邊際的夢，學著文不文理不理的教育專業一邊苟活著。能頤指氣使的不過只有自己能控制的一畝田地，地表上能立足的地方卻是一點也沒有。\n20231123 當真的加到一樣喜歡在Facebook寫極度悲觀語句，現實無所成、對政治卻極度敏感的朋友，感到的只是可笑。如果說Reddit鼠人聚集的貼吧還可以互相舔拭傷口，單純在沒有人看到的地方寫著憤恨的句子就屬實荒謬了，這是在對/dev/null講話啊\u0026hellip;如果我們倆都是藥娘，可能會相約自殺吧。但是、學習哲學給了不能自殺的藉口，在找到答案前，絕不能先行求死。\n20231122 關於開源手機跑分工具組的提議，目前選手有CPDT、xOPS、SuperTuxKart，參照OpenBenchmarking.org和Phoronix Test Suite訂定標準。\n現在安兔兔、GeekBench還是很流行的手機跑分工具，當然是專有軟體。在評斷遊戲性能方面，用熱門遊戲《原神》測試仍是主流選擇。我操，原批！明明SuperTuxKart開最高畫質連s865處理器都hold不住啊，為什麼一定要用原神測試性能？這種情況必須扭轉。\n在看到CPDT APP後我覺得開源跑分工具有了希望，至少以Android手機來說啦。知乎有人用Termux的Unixbench測試成績了。或許Minetest也可以加入測試工具組，比方說Minetest forum有人提議用載入區塊的方式來測試電腦性能的。圖形方面可以用glmark2來測試OpenGL ES的分數（儘管LinuxReview編輯認為這個工具根本不準）。\n如果在哪個瘋狂宇宙時間線我有很多旗艦手機開箱機會，那我應該能用開源軟體組一個工具組出來。可以預見的是，我們很難有安兔兔那種酷炫3D畫面的測試軟體，也不會有一個簡單暴力的綜合分數供人炫耀。\n20231122\n雖然應該珍惜微薄的業配機會，但是甲方軟體不開源，那就免談，網頁工具也一樣。\n好比看到防毒軟體廣告，身為Linux使用者，我會說：你程式都不（敢）開源，我怎麼敢安裝？這樣的道理。\n儘管對開源軟體的堅持也有破戒之時，比方說GCam、ReVanced、Google文件我就用得很爽，但我希望專有軟體的比例可以盡量壓低。\n20231121 看到開源軟體被盜用真的難過。\n以前Google Play有Newpipe劣質複製品，Minetest有人隨便打包後拿到Microsoft商店賣，現在海豹下載器(Seal by junkfood)也有人在Play商店上架。\n更別說Magisk、Youtube ReVacned有一堆假網站了。\n看過最誇張的是把Minecraft反編譯換材質上架Google Play，真有你的。還有人偷Minecraft模組，一個模組就打包成一個APP上架的，裡面還有我的模組，真是不要臉。\n開源軟體條款雖然沒有限制程式碼的用途，但我覺得有些沒有「道德」的人真的不配取用開源社區的資源。德匹下的不只中國人，洋垃圾也挺多的。\n哎呀，現在Github和F-Droid早已經是我的新家了，扣除遊戲和公家機關的垃圾軟體外，下載軟體我不會第一時間到Google Play尋找，而是先到Github看有沒有開源專案，並把它加到我的Obtainium追蹤清單。\nGoogle Play那種混亂邪惡的場合不適合我。\n20231120 尤物維何？媚態是已。世人不知，以為美色，烏知顏色雖美，是一物也，烏足移人？加之以態，則物而尤矣。(清 李漁)\n翻譯練習題目：尤物(exotic beauty)為何，媚態(charm)是也，世人不知，以為媚態即指美色(good looks)。須知，美色須有媚態才能動人。\n20231110 追記2023年。這台MSI Modern 15 A10已經用了幾年了，電池健康度下降到60%，但是根據筆電續航為官方宣稱的減半定律，至少應還有3小時的續航力吧，可顯然不是這樣。最近distro hopping回到了openSUSE Tumbleweed，發現續航力大約只剩2小時，這是為什麼？筆電上課做筆記，僅單純打打字、用於寫筆記的用途。之前用過最不耗電的發行版一是Gentoo，二是Ubuntu，用三小時還能有40%；換成Arch和openSUSE後就逃不過耗電的命運，撐不到二個半小時就只剩10%。openSUSE Tumbleweed，Linux核心版本6.2.4，桌面環境KDE 5.27.2 (X11通訊協定)。桌面環境和瀏覽器不應該是問題來源。對，我當然可以用i3wm＋Surf 上網，但我境界沒那麼高。因此使用瀏覽器這種必要的耗電東西，我是可以忍的。研究耗電的問題後得到些啟發，非原裝Linux的筆電要省電雖不可能像Windows一樣有先天驅動優化，可還是有好用的工具能使用，最著名的就是\u0026quot;TLP\u0026quot;，安裝後可有效省電，又不會讓電腦卡的要死。然而GNOME和KDE主流桌面環境都已內建Power Profile Daemon來調節耗電量，大部份發行版還會將TLP與PPD列為衝突套件。再根據Reddit的討論認為二者無明顯差距，我便沒有再刻意安裝TLP。問題是筆電還是很耗電啊？所以我將腦袋動到了Nvidia獨顯上。測試發現Nvidia專有驅動比開源驅動nouveau還耗電。即使獨顯沒有進行任何算繪，晾在那邊還是會耗電，可我需要專有驅動算繪啊。那麼在我只是單純打打字的時候，應該用EnvyControl直接將耗電獨顯關閉。在這麼一搞後，筆電的續航力從2小時回復到3小時以上。\n20231119 翻譯部份文章成英文版的是希望增加網站受眾的。有時候我會直接丟翻譯機而不是自己compose。\n但是作為懂英文語言學和一點翻譯理論的人，在使用機器翻譯的時候確實有好處。文科生就是愛咬文嚼字www，加上我文章專有名詞太多，當Google或DeepL翻錯我要的意思，我就會修正文章，用淺白的詞彙，讓翻譯的意思更精確。有時這樣可以協助我釐清文章邏輯的盲點。\n從後台資料得知很多人會開Google翻譯讀我中文文章，我很感謝那些日本、韓國、俄羅斯、泰國讀者。\n20231118 Brahma satyaṃ jagat mithyā, jīvo brahmaiva nāparah. 梵是唯一真實，世界如夢境一般；梵與自我終究是沒有分別的。\n20231118 沒想到我在Android的Termux的Linux學到的東西可以回來套用在Windows的WSL的Linux的Docker的Linux環境裡面使用，達成VirGL硬體加速。\n20231118 Kingroot算是中國文化輸出「XX手機助手」的好例子，讓許多玩Root的新手被誘拐。或許Kingroot可以當完整root的跳板，但如果手機本身就可以解Bootloader刷Magisk，用Kingroot又是何必呢。Kingroot依賴的是漏洞破解，那不就把我們Android搞得像iOS越獄一樣了嗎？話說我看到iOS AltStore的用戶也真的可悲，不能裝第三方APP，就要用各種詭異管道來達成。連AltStore自己簽都不想，寧願去用那些可疑的線上簽名服務（像是Scarlet Store）。未來中國的XX助手又要趁虛而入了吧，間諜軟體裝好裝滿。\n20231117 以後不能說記者智商30了，要說你寫得比AI很爛。尤其部分電腦王〇〇的，〇客邦、Q〇〇ah的文章。現在ChatGPT翻譯腔很重，我看有些人文章超過80%都像AI擬稿的。說實話這樣文章價值何在，幾無個人想法。我覺得你不懂的東西乾脆不要寫了，連在文章內「裝懂」都做不到的更可憐。\n現在用AI翻譯的網站越來越多了，我厭惡TuxCare、Ubunlog這類根本沒經營中文市場，卻用AI翻譯文章搶SEO排名的網站。還有「Linux 中国」，明明有請譯者卻還像機翻。我看那些譯者在AI出來後要失業了。如果你的文章跟那些AI翻譯網站一樣「機翻」味道濃厚，那我們為什麼不用AI自動生成文章就好。\n我不是一塊石頭，也不是一滴眼淚。\n20231116 arch-chroot很香，我現在要用這個插入Debian的身軀！伴隨著QEMU小鳥的潛入！翻譯ARM的指令成x86_64吧，qemu-user。\n20231116 我從沒想過要割腕，因為光是手指被紙戳到就痛得要死了。\n現在知道拔毛症(Trichotillomania)也是一種自殘行為，小時候留下的習慣，已經演變成了一種傷害行為。尤其在血清素低落時拔頭髮的情況會加劇，雖不會到禿頭程度，但常常把家裡變成理髮廳地板。\n用很中二的話來說，痛苦才能讓我感受到活著。I hurt myself today, to see if I still feel.\n20231115 firefox-gnome-theme 把Firefox變成GNOME Web的主題，質感瞬間飆高，使其更符合現代GTK4的樣子。GNOME的程式常常是追求風格一致、極簡化設計，比macOS還簡單，可是有時候又是簡單過頭而不肯加太多功能進去。GNOME Web就是個好例子，雖然很漂亮，有GTK 4的美，但我不想用沒有同步功能的瀏覽器，所以我最多還是推薦用Firefox。\n有些程式還在用GTK 3，在GNOME上就會顯得很醜。現在我找到解決方法了，那就是裝類似Ubuntu Yaru的主題蓋過去，讓一切統一變成GTK 4那樣的風格。\n20231113 Gab的一個廣告還蠻好笑的：Wake up, wokes!\nGab平台常常廣告一些不那麼woke的網站，比方說募款網站如果很woke，那麼你應該找個尊崇傳統Christian價值的替代品才對。面對美國教育現場的左派教材，還有傳統價值的套書可供選擇。\n我覺得這提醒了一點：醒來吧，進步人士們。「善良的念頭還有無能的正義沒有辦法去解決問題」「你們要將一切的憂慮卸給神，因為他顧念你們」阿們。\n20231112 夢到被學校送去實習的經歷吧，原本在一間飯店工作，後來被帶到更遠的山上，雲霧繚繞，突然要去採梅子，還被老闆罵。原來是老闆夫婦改做梅子了，後來就成了山上梅子會館的員工，每天好像被壓榨的生活。考慮到這種實習可能得做上二個月，我得等到週末外有時間打電話給老師求救，在那之前就是每天緊繃的上班行程，還有一些公司安排的上課課程，比方說中午排解壓力的瑜伽課。原本鬱鬱寡歡的我，遇到某個懂Android Termux Linux的人聊起天，他想用手機虛擬Linux環境連上多益題庫和喇叭，這樣一聊我就瞬間安心了下來，想繼續做下去了。之前好像還有夢到發考卷還作業的環節。\n這反映什麼呢？果然不應該在睡前喝一大瓶梅子綠茶嗎？或者反映草莓族的工作態度？過去我工作做沒多久就離職的失敗經歷？曾經從打工處逃跑，今年也是以課業壓力為藉口從好不容易得到的補習班處逃跑？抑或是，反映了考試前的緊張氣氛？\n20231111 神友說Quroa早被中共水軍滲透了，現在出現更死媽玩意。\nQuora設計師最近不知道怎麼想的爛點子，點進去問題第一個居然是ChatGPT的對話框，還加入一堆related的不相關元素？真正的答案在下面，跟其他人的動態牆、廣告混在一起，沒有鮮明顏色區分內容。三小啊，UI做那麼爛還好意思當Facebook的子公司。\n哇勒，原來是要靠AI答案搶SEO排名喔。唉，網路問答論壇還是Reddit好。 Quora uses Chat-GPT to appear on every query in Google - Reddit\n20231111 Bing搜尋頁面已經噁心到無法忍受的地步，加入一堆GPT-4的使用指引，我知道AI搜尋很屌啦，但不要那麼煩好不。相較之下Google搜尋頁面的廣告都沒那麼礙眼了。\n同樣的問題亦體現在瀏覽器設計上，我認為Chrome依然勝過Edge的設計，其中一個原因就是不忘初衷，預設介面簡潔乾淨。Edge臃腫不堪，整個亂糟糟的。不論它內建多少便利功能，看了一眼就煩。我希望Brave不要學Edge那樣，他們現在已經內建很多Web 3的crap了，要是未來UI變得Edge那樣臃腫我又得回去用Chrome了。\nWindows 11的全新設計語言好不容易提升Windows的質感，卻被Micosoft的糟糕設計弄壞了，甫開機就一堆廣告軟體，現在還會自行安裝Bing AI搜尋\u0026hellip;我真的不能用這種侵入式高的垃圾系統了，侵犯隱私的廣告機器。另一個類似的例子，在4chan看過一篇文章，他說iPadOS的桌布會在驕傲月自動下載LGBT桌布\u0026hellip;我們為什麼要讓這種woke系統入侵生活！？\n20231108 Exagear證明了Android手機跑Windows遊戲的可能性，未來的開源替代品：\nWinlator，獨立app Cassia，yuzu模擬器作者開發的 Termux Box/Box64Droid：僅是輔助script。 目前我是手工派，手動打指令裝Debian+Box64+Wine+virgl，這樣我完全知道背後做了什麼，而不用擔心程式是否有偷用Exagear。\n如果能有Steam那樣一鍵處理依賴的安裝器就好了。\n20231108 信息过载：如何高效掌握优质内容？\n社群媒體不只讓人產生比較心裡，還會產生資訊過載問題。\n解決方式不是完全不用社群媒體，而是學習如何專注，喚回注意力，別動不動就滑手機。想想你現在的行為真的是必須的嗎？看一本完整的書籍或者單字書會不會更好？可以防止碎片化學習的混亂狀況。\n每天應該控制在固定時間內存取社群體，就好像看電子郵件一樣。要專注的時候，手機有零打擾模式可以用，不然就直接關機吧。\n未來我也得想個方法過濾資訊的方式，以確定更新部落格主題的時候不會累死自己大腦。固定追蹤特定論壇有點困難，因為我看了會想睡；看Reddit也不夠好，它現在會隨機推薦無關影片導致嚴重干擾\u0026hellip;。目前RSS是最均衡的方法，或者用TUIR把Reddit搞得像Hacker News一樣才有辦法專注吧。\n如果找到一個新東西，例如單純一個新軟體，我會在Joplin開一個小筆記本，經過約一天的資訊整理、實際操作，將個人心得發布成部落格文章。\n若新東西很複雜，我要長期研究追蹤主題的時候（如Stable Diffusion），我就會在Joplin開一個筆記本，容納多個子筆記本，把他當作專案處理，比瀏覽器書籤要高效多了。而之後產出的部落格文章就很大程度會變成Joplin筆記的集大成，確認我對這東西的理解程度。\n20231108 KDE又崩潰了，是kwin整個突然崩掉，導致應用程式資料全部丟失，桌面環境軟重啟。\n我可以猜想這次的理由很多個：\nArch Linux Wayland Flatpak版Blender存取太多Nvidia Cuda資源 每次遇到這種情況我真的沒有興趣去看log解謎，而讓我想直接換GNOME了。當你開始做一些productive事情就會發現Linux很難用，比Windows突然重新開機還可怕。\n20231107 我的英文太差了，我以後要怎麼跟別人考大學,,, 是的我的英文真不好，四年過去了不只讀寫（做題家最擅長的選擇題和文法觀念）差，嘴上也講不好幾句，難以跟外人有效溝通，更別說deep talk了。如果不持續改變的話\u0026hellip;就真的一無所有了。也要斜槓一下才好吧。\n20231106 Linux users when some software is not avaiable on linux\n僅支援Linux的軟體比日本壓縮機還稀少。請忽略Docker，我說的是圖形應用程式。\nKDE系的軟體很多是真的Linux獨家的，只有紅到出圈的Kdenlive、Digikam才會跨平台。\n另一個我希望跨平台的軟體就是Virt Manager了吧，可能因為Windows缺乏好前端才導致QEMU虛擬機方案在Linux以外極其弱勢；UTM又只支援macOS而已。\n20231105 Google-Assistant-Unofficial-Desktop-Client\n非官方電腦版Google助理客戶端，支援Linux。功能有限啊\u0026hellip;雖然可以接受麥克風的OK Google指令，可無法操控電腦程式，不能設鬧鐘、行事曆，只能做線上事。例如問天氣，報新聞，單位轉換，找歌，講笑話\u0026hellip;基本上沒什麼用處。\n20231104 GTA 5裡面的虛構影集無能狂怒(Impotent Rage)是完美諷刺左派的一部卡通，呼應著左逼的虛偽。但我印象深刻的是裡面狂怒室「無能狂怒」的樣子，我認為反應了現時社群媒體的問題，其實不分左右，不管你是塔綠班還是柯韓粉，我們總是能被某個議題trigger，跟別人筆戰三天三夜，到頭來一無所獲。很多時候吵的都是無關緊要的事情啊，更別說吵贏了有何用？除非是直播露臉約架，否則跟躲在螢幕後面的陌生人吵架本身就是不公平的競爭。網際網路成就的同溫層並非能夠輕易瓦解的。我講更直白，就是吵不完，水軍永遠都在，你只能在他們做的太過火的時候一波檢舉掉。所以左逼因為政治正確立下的「防止騷擾」規矩其實也有用處啊！只要IT公司能用同樣標準，平等對待左逼的取消文化就扯平了。\n20231104 PipePipe 無廣告 、內建下載功能、支援背景播放的 YouTube、BiliBili、NicoNico 免費替代 App\n台灣自媒體居然認為「開源軟體，要自行下載APK，比較沒安全保障」我看到這論述真的是暈了（物理，我剛真的腦充血了一下）被Google Play豢養慣了是吧，下載破解版APP怎就沒這顧慮呢？\n你說開源軟體不保證穩定就算了（有的作者沒有穩定發表版本的習慣），講這話的人都是怎樣地沒常識啊。好像有人說寫文章就應該迎合受眾水準嗎\u0026hellip;如果深入挖掘，作者應該會知道PipePipe是NewPipe的fork，不是憑空冒出來的「無廣告Youtube」。\n這篇中國的評論寫得還比較好：PipePipe – 第三方开源 B 站 Android 客户端，支持弹幕、评论、登录下载\n20231104 認同「少即是多」的哲學了，Pixel手機已經塞那麼多功能到AOSP界面了，被MIUI和OneUI餵飽的用戶卻還嫌不夠多功能！實務上我更偏好LineageOS，因為懶得自己編譯ROM。幾乎什麼都沒內建才是最好的Android系統，全部照原生標準走，有需要再裝APP擴充就行。我覺得獨占某功能的手機廠商是很自私的，既然是開源Android系統一份子，我們應該多用公開標準的東西，而非限定機型才有的功能，起碼Google還會逐步下放Pixel手機的功能呢。\n因此不管什麼手機買來我都是二話不說先root，有ROM就開刷，現在有道德的廠商太少了、太少了。可憐啊手機廠商如果不做獨家功能，利用人性弱點綁住用戶的話，又無法在市場生存下去。\n20231103 對在中國這個開源不友好的土壤還繼續奉獻的人致上敬意。用英文寫專案說明果然是好主意啊。\nTUIC 基于荷尔蒙开发的开源项目- EAimTY\u0026rsquo;s Blog\n順帶一提，聽一些神友說法，有些刪庫跑路的人真的支，奉勸他們趕緊run到國外才可以繼續做翻牆專案，免受獨裁政權的恐懼。不要又要做翻牆工具又要愛國，那只能祝鐵拳早日砸死。\n20231102 但願明年的KDE Plasma 6能真正Wayland ready，GNOME現在用Wayland已經幾乎沒感覺到問題了。最近Plasma 5.27的X11工作階段連Mesa驅動都會lag，換Wayland順暢很多，看起來又更穩定了。只是還有很多小問題，如Chromium預設走XWayland、Taskbar崩潰、KDE字形管理器不支援Wayland、字體模糊等。\n20231024 國民黨可能比民進黨能處。\n跟Twitter不一樣，不知不覺Facebook除了時代力量、台灣民眾黨以外，我加的都是民國派好友了，裡面不乏中天記者與知名作家。他們是堅守中華民國價值、批評共匪的民國派，不是舔共的。大概我永遠是支那人血統吧，永遠不能讀懂塔綠班在唸啥進步價值的左經，民國派討論的議題要切實多了，我比較聽得進去，他們未來或許可以跟柯文哲談合作。這裡所講的民國派不是只會瞎罵抹黑對手的老藍男，他們不會整天講反攻大陸的蠢想法。他們主要緬懷國軍歷史、正經討論國際大事，甚至有不少人同樣是支持美國為首的西方價值的，這點跟民進黨一樣。唯有對台獨的想法是最大分歧點，民國派可能不會整天想著怎麼畫新國旗、發揚台語文字，而是專注對抗共匪。忽略少數群體、同性戀的情況下，很難得到左逼支持囉，左逼們會西瓜依大逼，跑去投表面上好像很左的民進黨，然後再用極度雙標的性別議題佔據道德高地，點草所有非民進黨人士的言行。\n20231024 我蠻認同哲學家阿圖爾·叔本華的理念的：\n人生就是一團欲望。當欲望得不到滿足便痛苦，當欲望得到滿足便無聊，人生就像鐘擺一樣在痛苦與無聊之間擺盪。\n20231023 有哪些软件看上去是开源的，但实际上不是？ - V2EX\n在Github給自家產品打廣告的中國軟體公司真的很噁心，repo隨便放幾個案例程式碼，真正下載只提供binary，有些還放百度網盤勒。例如：雲手機、手機多開、手機虛擬機、某抄襲Termux的App。整個repo頁面就幾張產品架構圖，大喇喇的說我們不是開源軟體，然後附上微信聯繫方式，有夠不要臉的。\n你不開源就算了，還來這裡推銷產品，騙騙以為Github就一定代表開源寶庫的新手。這就是理查史托曼說的，光強調開源會讓自由軟體的理念失去方向，變成他人營利的工具。開源產品不是不能商業化，但歐美的公司吃相要好看一點，他們要把開源跟商業產品結會拿捏二者間分寸；中國公司就不是這樣了，一切只想著錢，以佔據獨門技術為傲。我們只能等待哪天有厲害高手做出替代開源專案，狠狠抽這些自私鬼的臉。\n雖然Github沒有嚴格規定repo用途，想宣傳反共資料也行，但是反開源社區的行為希望能抵制，應該多多支持ReDroid這類真正的替代開源方案。\n20231023 確實我們不該因為陌生網友的一句話就貼標籤並直接封鎖。暫時的行為無法代表那就是全部的想法。比如，有人反對柯文哲，我不能斷定他就是塔綠班，他可能是另外一種中間派 —— 除非他的貼文全部都是綠營偏激派的說法，那麼我才可以傾向相信他是偏塔綠班的。反過來也一樣，講民進黨幾句好話不代表我就認同他們，只不過是基於理性的判斷予以評價。回到我自己，實際支持的人有很大的感性成份在內，這點我承認，因為我就是不爽民進黨。\n褚士瑩說要用對話取代戰爭，可網路社群要不封鎖人實在太難了！你怎麼知道網路吵架是在公平擂台辦的比賽？對方陰招盡出的情況下沒友軍只是浪費時間，還不如罵完一擊脫離，脫離同溫層。\n20231022 研究人類史是很有趣的議題啊，從上古時期到近代各國文明的衝突，思想的激盪，才有現今這個既殘酷又美麗的世界。此外，人類科技的發展也增強了軍用飛機的進步，製造出一架架美麗的飛機，我喜歡欣賞他們在空中飛舞、地上滑行、水上跳躍的姿態，不論是螺旋槳還是噴射機，映入我眼簾的都是自由的藍色天空。即使翱翔在天空的翅膀最終要因為戰火而墜落，仍不改其在我心中絢麗的樣貌。\n說到喜歡的音樂家，實在數不清，只能舉例一些，例如伍佰、林強、李宗盛、安溥、S.H.E、濁水溪公社、万能青年旅店、李志、麻枝准、Yellow Magic Orchestra、The Flaming Lips、Radiohead、Pink Floyd等等。我的品味似乎有點雜食，但有包含創作者靈魂、反應社會脈動在內的作品我會聽得更印象深刻。\n20231022 PTT八卦板真的快變成支八板了，講支語的，用支產APP的，支持哈瑪斯的\u0026hellip;但起碼還是反共，要是哪天變得像Yahoo新聞留言下面的老年韓粉那才可怕。\n八卦板跟中國鼠人可能有類似之處，講話惡臭還是有江湖規矩。現在八卦板反民進黨也反國民黨，反對政客騙票，支持柯文哲和時代力量，是讓我待下去的理由之一。我很難忍受塔綠班的社群，要跟民進黨比一言堂能力，民眾黨可還差遠的呢。儘管部份網軍的行為並不代表全部的民進黨都是那樣（例如王世堅、高嘉瑜屬於不那麼瘋的民進黨員），可是現況就是這些綠畜網軍敗壞了整體台獨派的名聲，讓我很難支持民進黨。\n20231022 先跟大家講一下 綠營跟粉紅差不多蠢 -r/hangkongmujian\n哈哈，你說的真有意思，綠畜=恐怖分子=民進黨。沒人在乎綠畜說了什麼，同樣是綠綠，同樣是文明社會之癌。你看那些綠綠從家鄉逃出來，只要宗教領袖登高一呼馬上全球綠綠變殭屍瘋狂攻擊猶太人，難怪德國警方要把他們送回去了，成全他們。唉呦，台灣的綠畜無處可逃，除了聖地邁家以外，就只剩run美國了吧。\nRdddit的r/Taiwanese有關政治的帖子勸你少看，嚴重塔綠班傾向的sub並不代表台灣人，講台語也不是。想跟洋人融在一起去r/Taiwan還比較好，甚至中國sub的台灣人還比較中立些。\n20231018 一位美國總統（林肯？）曾說，當收到被人罵的信件的時候，寫一篇長篇大論的信然後燒掉，不必寄出去心情就會好很多。\n我覺得我在這裡做的就是這樣的事情。有個地方能寫東寫西，避免我在主流社群媒體貼出暴論跟人吵得沒完。\n20231018 現在我在外國網站（粗淺定義：台灣主流人群不常用的網站）厭惡繁體字更勝過簡體字言論，看到跟政治有關的繁體字言論我都可以預見到，等會將突開沼氣池啊！90%都是死忠的民進黨支持者。距離產生美，在這種情況下，我覺得跟中國反賊混還比較舒適，一起快樂乳包，不用聽塔綠班在那邊唸左經，講述崇高的台獨、台羅文、女權等陽春白雪的理念，用極高道德標準攻擊柯文哲。塔綠班要尬黑中國也黑不贏道地的反賊與屠支大佐，有時候我看小粉紅攻擊塔綠班的言論還會跟著笑出來。\nTwitter/Reddit聚集的中國反賊很多，我好愛，粉紅都會遭到圍攻。可是外國網站民進黨塔綠班也很多。我不知道他們哪來的優越感認為，用寫著蚯蚓文字的英文網站（包括以寫臺羅文為傲）就比PTT支八板高級了！我們需要更多反對民進黨的勢力入駐外國網站，治一治這些假台獨份子。\n20231017 我看到Twitter上支那豬又有新的話術，拿日本曾說台灣人是支那人這點攻擊台灣人。我會說，日本人沒說錯啊，你不能否認我們流著支那豬的血脈，但台灣人是教化過的支那豬，善良的艾爾迪亞人！不像那群惡魔支那豬不接受皇軍教誨，就只能吃南京大刺身了。\n20231015 笑死，這個網站反應了現今的網頁設計有多煩人，撲天蓋地的通知彈窗，更別說還有廣告了。幸好我都Adblock開好開滿，自己的Hugo網頁設計也是精實就好。那些用Wordpress的人有沒有想過使用者體驗的問題啊？還是只顧著接業配都不管了？\nhttps://how-i-experience-web-today.com\n20231015 常聽到「PC與Mac」的說法，呵呵，Mac難道邏輯上不屬於電腦嗎？眼裡只有Windows是PC嗎？你是什麼東西？那Linux不就外星科技？FreeBSD的三叉戟已經動了。\n你各位要對宇宙最神作業系統放尊重點，以後要說「市面上的電腦分為 Linux（挪抬），和其他PC」\n或者世間萬物是一家那就講：「市面上的電腦分為x86與ARM與RISC-V架構的電腦，還有其他呼呼嘿嘿架構的系統」或者直接標明電腦作業系統\u0026hellip;儘管一般使用者不會知道何為作業系統。\n20231015 可能心中潛藏國際主義（世界主義）的緣故，我對台灣獨立理論中的民族主義部份不是很感興趣。我看到台灣媒體報導喜歡說「國外」網站、「外國」媒體什麼的\u0026hellip;我都會覺得奇怪。\n為什麼不明說這是美國網站、日本媒體呢。人們為何常常把不是中文的網站統稱「外國」？就算他們服務地點是全球，將其概括成「國外」也覺得詭異。出去看看這個世界好嗎？如果你已經多國語言，知道世界本是一家，自然就不會在研究東西的時候把它當作不熟悉的身外之物看待。「外國」對我來說只是一個地理上的概念，可是理念不該是隔開的。\n20231011 以前拍片介紹AltStore的影片被Youtube拉清單了，因為我在影片中公開示範如何安裝破解版的iOS Youtube —— uYouPlus。\n好，那我也要去報復社會 ～ 把那些拍片介紹Youtube ReVanced全部檢舉掉\u0026hellip;我才沒那麼無聊。\n話說mod也可能被盯上，以前遇過Youtube把Minecraft模組當外掛下架的，所幸他們受理複審。\n20230925 諸夏史觀救台灣，中國必須四分五裂解體。\n雖然我不同意劉仲敬對柯文哲的看法，但我認為借他的理論來破壞大一統癌是很有效的，對台灣獨立有好處。現在部份台灣人和中國人仍有中華大一統的迂腐想法，認為台灣跟大陸必然要統一，兩岸血濃於水。現在我要說No，做鄰居可以，統一不行。 我們只要多奉行諸夏主義，就可以將「必然統一、清除漢奸」的壞釘子從心中拔起，因為那個時候祖國早就不重要了，自然就沒有無謂的家國情懷。\n至於中國解體之後要建立民族主義國家或是新聯邦，還是要給歐美殖民300年，到時候再說，反正台灣應該可以趁亂獨立（別是民進黨領導就行）。\n20230925 中國人拍的電影解說片不能處的理由。\n除了內容普遍很水以外，再來就是爹味說教。大日本帝國的好片，到你支手裡就變成反日內容和愛國情懷，就像在談論核處理水議題的時候，支人的話一個字都不能信。\n看到殺日本人的影片就叫好，明明共匪在日本正義屠支的時候屁都不敢吭還敢碰瓷國軍功勞，忘記蔣委員長的以德報怨精神。現代支人的貪得無饜難以想像。\n#還是屠少了\n20230830 我居然稱讚起中國人來了。\n同樣是給Scrcpy做圖形界面，中國做的QTScrcpy，界面直觀簡約。\n反觀印度做的GUIScrcpy，標準工程師思維，噁心的電競配色，示例圖開發者自己桌面亂糟糟的是要給人看什麼？\n順帶一提，我不想用基於Arch Linux的Garuda Linux，一部分原因也是因為他預設的桌面配色太噁心，這種沒格調的電競審美到底是怎麼流行起來的？像很多電腦主機的RGB燈效也是那樣的土，我認為電腦環境低調些才好。\n20230829 關於日本排核處理水的事件，我認為是公開透明不是太大問題，許多海外的中國民主人士多半也認為日本的處理方式是經過事前合理討論的，儘管觀感不佳，但是合法且危害小。\n這幾天中共和其共鳴者的過激反應只證明一件事，就是你不能跟支那人講道理的，擺數據不信，真的排放核處理水了又不循正當管道抗議只會煽動民粹，核處理水真的太危險了！中國人喝了只會更傻逼。\n另外，我一直都支持核能啊，環保左逼倡議的綠電10年也比不上核能發電高效率，核能被妖魔化太久了，台灣應該立即重啟核能發電。\n20230829 無病呻吟，敵視現實，虛構遠方，東張西望，一無所長，四體不勤，五榖不分。\n參考一張圖片，我聽說很多小粉紅都是越底層越愛國，對社會不滿意才會整天指導大棋，談古論今。訴諸權威，相信自己想相信的，並以為是拯救全人類的解方。\n殊不知這常常是顱內高潮。畢竟正常人士，或者說businessman不會整天想著民族大計有的沒的意識形態，而是想著做好工作，為未來著想。不排除有些比較聰明的大粉紅，懂得利用大義的名分來包裝自己，賺窮小粉紅的錢。\n那麼，反過來不也是一樣嗎。有些人（包括我）即使不是粉紅，作為另一個極端，例如支黑、台獨瘋狗，整天也不過是重複著念經罷了，身邊的事情、自己的未來不去在意，不懂得堅實的經營，卻能跟陌生網友筆戰個三天兩夜，淨顯文人的無用。不論你如何論證明天就台獨有8964種好處，可是現實是人們都在明天看籃球比賽的比分，誰會在意這些對現實生活無直接利益的事物。\n當你發覺到，沒有當雞首的實力便覺自己渺小，做牛後又有高下限又覺得自己很厲害懂得比別人很多，就這樣的來回擺盪著待在舒適圈。直接哪天泡泡破滅了才知道一無所獲。\n大夢一場的董二千先生，推開窗戶，舉起望遠鏡，眼底映出，一陣濃煙，前已無通路，後不見歸途。\n社群媒體本該多po開心出遊照、美食照，或者讓人發笑的梗圖，再不濟就個人興趣的照片，為什麼到我這邊變成充斥虛無主義、報復社會、讓人不快的po文？\n有研究指出，社群媒體焦慮症乃是因為滑動態，羨慕別人的完美生活所產生的痛苦心裡，所以在某種程度上，沉迷上網=容易導致心情憂鬱這個說法是正確的。\n10年來到現在的轉變，我想可以用Pink Floyd的The Wall概念專輯來說明。\n10年前我喜歡po生活動態的，不過因為表世界與人的接觸變少，裏世界po的東西逐漸宅化。且本就不喜歡po自拍的習慣下，7年前開始是再也不po現實生活的東西了，只是偶爾會碎念幾句，這是build the wall的開端。儘管這不全是壞事，po很宅、很特定的東西可以吸引到小眾的群體，有助於找到志同道合之士。不過，po的東西逐漸狹隘，我感性的那面跳出來說，汝接近吾，只是因為技藝有幫得上忙，把我作為工具人，而不曾真正想瞭解我的心裡想法。彼此的關係是互相利用，一旦我真實(raw)的想法透露出來便避之而不及。\n這就是為何4年前脫離社群媒體的開端，我不想用主流又膚淺的社群媒體了！特定興趣的貼文不po了，棄用，逐漸流連於極端網站，比方說沖浪TV，那裡有很多講話口無遮攔的浪人，分享極端反政府反人類的觀點，例如核平中國唯一出路，以及骯髒低級對女性的想法。又因為很多人現實不得志，所以自嘲為鼠人，所以在那個下水道的環境，便有家人的溫馨感，宛如incel在4chan找到同好一樣。\n當我出於宣傳目的需要在主流社群媒體po文的時候，便只剩下po炫耀技術的文章了，證明我很厲害，不然就是把極端的觀點帶到正常世界來，所以成就了我社群媒體po文滿是極端思想。旁人可能景仰我的技術，卻發現這人難以正常交流。\n然而現在我終究放棄這樣做了，因為表世界逐漸發生改變，接觸人群，如同Pink Floyd的Wall崩塌一般，裏世界也只好接受主流社群媒體是如此虛偽的現實，重新回來用主流社群媒體。至於我的真心有誰能傾聽，裏世界除了看緣分、就是在表世界重新尋求真實的依靠了吧！就像10年前一樣。\n20230826 尷尬的Linux平板，Pinetab 2，裝載Arch Linux ARM系統，附贈觸控板鍵盤皮套。目前最舒服的用法大概就是\u0026hellip;看電子書或論文，還有外出肝艦娘不用盯著小手機。這台6000元平板，處理器RK3566純看性能是連Samsung Tab A8都不如的電子垃圾，遊戲只玩得動艦隊Collection，影片播1080p就會卡，揚聲器很破，Wifi驅動有問題需要外掛網路卡\u0026hellip;對一般買家來說一無是處。但因為本身是為ARM Linux系統設計的我才買這台，以實現作業系統自由。我買這台的初衷就是當iPad用，而不是筆電。可惜的是，不接鍵盤的Linux根本不能用，沒中文輸入法怎麼活，之前PinePhone已經證明這點。所以我大部分時間還是在用Android（靠Waydroid容器，非雙系統），Linux只是輔助。有點像Steam Deck的概念，Android負責觸控操作，接上鍵盤還可以切換回Linux桌面跑一些電腦軟體，儘管速度很慢。值得慶幸的是裝iio-sensor-proxy後，GNOME的按鍵有反應了，儘管待機還沒做好，但按下開機鍵就能熄滅螢幕。\n20230825 瀏覽器全域裝Adblocker的必要性？\nuBlock Origin的問題是沒有黑名單模式，預設有追蹤器嫌疑的全擋。它只能手動新增白名單。變成部分網站「正常功能」被擋了我可能不知道，多了手動關掉的顧慮。如果只是想擋YouTube廣告，裝專門擋YouTube的擴充就行了。沒有必要全域啟用擋廣告。\n20230825 不要自作聰明把ChatGPT帶到issue裡面。\n現在有些Linux newbie吼，出問題上來問，一個log檔都不附，只給ChatGPT嘗試分析的線索\u0026hellip;這讓大伙看的很是反感的。\n20230823 這部實在太黑了，同樣是描寫邊緣人的動漫，《果青》至少還有事件推動劇情前進，《我不受歡迎，怎麼想都是你們的錯！》則是完全沒救贖，《孤獨搖滾》、《一個人的○○小日子》跟這部完全無法比。《我不受歡迎，怎麼想都是你們的錯！》或許可以作為女性版的《歡迎加入NHK！》的對照。但是後者有救贖，前者則是黑色幽默小品變搞笑漫畫。\n沒看過這麼尷尬又悲哀的真實，也難怪動畫賣不好。看動漫是來幻想的，不是來照鏡子的。就算畫面構成很有創意，那些笑點不作為當事者真的無法體會，譬如我也想過為什麼沒有恐怖份子把學校的現充都宰了\u0026hellip;等這種情況\u0026hellip;明明坐在班級正前方卻完全沒人跟我說話\u0026hellip;除了家人外不論到哪裡都是一個人\u0026hellip;這個情況在7年後希望有改善。\n20230823 有句話說傻逼的錢要大賺特賺，尤其是小粉紅。\n大方向上，我討厭中國。準確來說，討厭中共政府和其黨羽的意識形態：共產主義，大一統思維。\n長遠來看，我支持非民進黨領導的台獨（言下之意就是支持台獨，但不支持民進黨），期望中國共產黨政府早日滅亡。對中華文化持尊重態度，就像對日本、韓國文化那樣的平等看待。\n洋人心善，反共不見得要反中，把邪惡中國政府跟中國人分開對付，所以我也跟隨此原則，不以屠支為思維主軸。但是由於你國的教育如此成功，很多人分不清楚黨和國家的差別，少部份情況我就會變成支黑，期望張獻忠降臨，但網路跟笨蛋吵架是浪費力氣，所以我很少認真看待粉紅言論了。\n那麼討厭中國，就完全不能用中國的東西了嗎？中國製造的廉價商品、中國社群媒體、中國的盜版資源、專門出產騷雞的中國手遊、Github的開源軟體都是中國的，我不可能完全拒用。連美國也無法完全跟中國脫勾，只能逐步脫離。\n從編程隨想被捕的紀錄，你可以看到，連高級的反華份子都在用華為、小米的電腦手機，上網發表反華言論。（有爭議，可能只是日常使用，而非作案用機種）\n有些平日喜歡沒道德（「我沒文化跟國家無關」）、在莫名其妙的事情上又有道德的中國人會罵我這種行為叫做「賤」。但我可以用漁夫講的一句話反駁：\n聖人不凝滯於物，而能與世推移。\n歸根結底，把家國情懷放在現實目的之上考量本就是荒謬的事情，因為莫名其妙的意識形態而拒絕使用中國的東西是不理性的行為。好比歐美禁止使用華為手機也是一樣道理，禁掉華為手機很大程度是政治操作。\n美國的軟體也要保持警惕，因為現在的公司以偷個資為樂。至少目前對我而言軟體要是開源、不追蹤個資就pass了，我不管是誰開發的，不會因為覺得是中國人開發我就可以套近乎怎樣的，沒有，端看軟體好不好用。\n沒有法治的中國網站則是例外，領導的看法就是法律，專門亂砸鐵拳封號，所以我在中國網站無法亂說話，只能偶爾陰陽幾句。這下真境外勢力了，我整天罵中國你警哥能拿我怎樣，跨省追捕嗎，中華民國已經廢省啦。\n如果終身不得入境中國呢？安能以皓皓之白，而蒙共匪之塵埃乎！\n我是覺得，間接透過文字和影片來傳播翻牆思想也是不錯的方案，等我真正有名到中國政府下通牒主動封鎖我中國網站的全部帳號，到那個時候也沒差了。陳昇都說他做台灣市場就飽了，為什麼我要執著於中國市場。\n開源軟體本身有防止獨裁的特性，中國人想塞私貨也很難（反觀Notepad++整天辱華拷打小粉紅）。再加上維持一定程度的網路匿名，中國人想因為辱華因素完全不開放某產品給台獨份子使用也是很難。\n所以在部份問題上，我可以不堅持頑固的台獨立場，轉而享受對我而言利益最大化的服務。電話號碼寫中國台灣沒關係啊，反正台灣又不是屬於中國的，越不存在的東西越要講，共匪本性一向如此。\n我不鄙視去中國做生意的台商，看他們有些錢賺得盆缽盆滿還可以回台上政論節目罵中國，這就是應證「傻逼的錢要大賺特賺」的道理。一些獨派領袖賣淘寶貨也沒關係啊，你討厭他是因為他反共不徹底，可是既然他還有辦法從淘寶批到貨物，就代表他兩面手法玩得溜，騙兩岸的韭菜。\n滄浪之水清兮，可以濯吾纓；滄浪之水濁兮，可以濯吾足。\n20230822 再這樣下去，我覺得末路就是裝Proxmox了。\n自從2年前中勒索病毒導致3年照片消失，我就對Windows的安全性持懷疑態度，為什麼SMB漏洞就可以有任意權限、不通知使用者自動執行指令碼。儘管那很多都是不更新、亂抓軟體造成，但我還是很害怕24小時將存放重要資料的硬碟暴露在危險環境（還是有用雲端備份）。\n為此這2年來才會改裝Linux，目前是用Arch Linux當daily driver。Linux比較不容易中毒，我也學了不要亂裝第三方軟體的觀念。將Windows封鎖在虛擬機裡面，有需要再開。配合KVM的硬體直通技術，必要時才將硬碟、手把、顯卡passthrough給虛擬機，用Looking Glass流暢地存取Windows桌面玩一些遊戲。\n保持這個架構下，萬一我哪天因為工作，主力又要換成Windows，此時Linux就變成單純的虛擬機載體而已，僅是確保Windows虛擬機的所作所為不會影響到其他硬體資源。\n20230820 洗稿我是看AI繪畫才知道的名詞，簡單來說就是拼湊圖片。有人寫文章抄襲高明一點的會拼湊文字，畫圖也是。\n這個時候有人會放大絕啊，畢卡索都說高明藝術家偷圖了你能拿我怎樣\u0026hellip;至少我寫文章還不會洗稿啦，ChatGPT很擅長。\n換到自身的狀況來看，感覺我以前上的週末畫畫班老師好像教給了我不好的習慣，儘管老師很認真，可看我都從國小學到國中了還沒什麼素描概念，去上課都畫興趣的，素描也沒練到幾次。需要讓家長有一點成就感的時候就畫個圖參加校際比賽，還得以班導師作為指導老師的名字參賽。\n那麼這個圖是怎麼生出來的？洗稿。老師會拿一些像是台灣當代藝術家合集的畫冊，讓我從裡面東偷一點西偷一點元素，配合雜誌的照片組成畫面，由此還得了一些比賽的佳作。單純水彩描摹我還是可以的，雖然細節很差，老師會在必要時候加筆。可這樣的學習方式就導致了我學藝不精，並影響後來Pixiv電繪投稿的繪圖。我使用3D模型墊在圖層下面，作弊式的完成了一些畫作。跟那些參加網路正規繪圖班訓練的比起來，到頭來我只有握繪圖筆和使用軟體的功力進步，實際上的畫技仍停留在十年前，完全是塗鴉等級。\n20230820 記2022年一次失敗的約會。當我第一次約出來，與曖昧的她分享好笑的事物，是嘲諷民進黨塔綠班的政治梗圖換來她尷尬微笑的時候，我就知道，這個關係已經完了。\n正常誰會看這個笑出來啦，放貓圖還比較能接受。\n20230820 國高中到現在的人際關係經歷可以類比為人類歷史，小學高年級開始有記憶的時期是羅馬共和國，國中時期可類比為西羅馬帝國全盛期，高中開始進入中古黑暗時期，文藝復興要等到大學後期，啟蒙主義則是研究所。\n大學時和學校心理師聊過，或許是國中太開心了，很有整班融入的感覺，所有人的名字我都記得，有一些小霸凌事件仍瑕不掩瑜。高中後乃至大學落差甚大，理科考得更難且幾乎沒有救贖可能（也能是我自己放棄），人際變得逐漸宅化，雙雙東西不理想讓我覺得很痛苦而更加沈迷網路，大學繼續沈迷二次元遊戲和電腦技術，僅緩慢恢復一點點社交能力，要不是系所課程有訓練演講能力我可能還是沈默寡言的龜男，整體來說仍不如國中全盛期。\n到了最近研究所才有起色。或許讀文科給了我更多機會認識女孩，薪水低沒關係。要是理組喔我就僅能睡在實驗室畢業求得offer，接著當回收業者。\n20230818 天妒英才呀，那麼早就拆夥。\n動不動就說愛我 - 芝麻\u0026amp;龍眼 https://youtu.be/yDH4D0qJ7JI via @YouTube\n20230817 如果你想把Linux系統更新跟安裝軟體分開，不想一更新系統，軟體就因為依賴的底層執行時無法使用，那麼你應該試試immutable distro，immutable與其翻譯為「不可變」作業系統，我更喜歡稱為「不滅」系統。這類發行版著名的有Fedora Silverblue，軟體都走Flatpak之類的容器技術安裝。不過前提是週邊硬體對Linux支援度要100%，否則動用DKMS裝驅動、大幅修改系統檔案，就違背immutable的本意了，也會破壞穩定性。但畢竟還是Linux，大部分immutable distro必要的時候還是有機制能改系統檔案(例如rpm-ostree override)。儘管更新後overlay會蓋掉修改系統的部份，也不是像Android那樣完全不給你改系統檔案。\n20230816 日常fuck Nvidia的一天。我已經採取Nvidia PRIME的使用策略，用Intel內顯負責大部分桌面環境算繪防止奇怪bug，但Nvidia PRIME在部份遊戲會導致整個系統卡死，逼我用linux-lts核心賭運氣。\n20230812 為防止Twitter時間軸再看到中文鍵政的推薦內容，我徹底對上推五年來的追蹤列表進行了清洗，就像以前對Facebook莫名按讚的粉專那樣。\n我發現只要追蹤一二個罵中國的推，時間軸就會永遠充滿中文反賊的內容，按不感興趣都沒用，很是討厭，整天看小粉紅大戰塔綠班我都膩了。\n為此將追蹤列表從200個砍到只剩10個，將過去Minecraft做模組時代追蹤的、還有我根本不看的新聞媒體、以及任何跟中國/台灣有關的帳號都取消追蹤。接著到Twitter設定，將自動生成的Interest列表全取消打勾，重置這世界，世界就清靜了。時間軸從此變成只有我真正追蹤的帳號的相關內容了，也就是Linux與開源軟體相關情報，不再有政治口水。\n20230812 歌詞 Radiohead - Karma Police - 批踢踢實業坊\n這個詮釋我喜歡，原來上世紀90年代Radiohead的「Karma Police」可以代換成今日的SJW，或者侮辱性強一點：Woke、左逼。\n政治不正確，就要攻訐到你投降為止。以前沒有網路，線下真人快打，現在則是網路霸凌，俗稱網軍。歐美的變性人、種族話題在台灣可能比較難以理解，但用塔綠班側翼下去解釋就明白了，塔綠班很符合台獨吉娃娃的形容。For a minute there, I lost myself, I lost myself\u0026hellip; For a minute there, I lost myself, I lost myself. 反正跟我意見不合的人都得死。\n我們要台灣獨立，但不要讓詐騙20年的民進黨領導！柯阿伯的義勇軍現在每日都要跟塔綠班做堅決的抗爭，明年看誰沒穿褲子。\n20230811 正如豆瓣一個留言說的，One More Robot的最後一段旋律聽來讓人想死。這大概是The Flaming Lips做過最美妙的一段旋律。\n20230811 Linux看起來跟我的硬體有仇，為什麼那麼耗電，Linux好難用~\n兄day，安裝Linux前先把Ubuntu或Debian官方推薦的手冊讀完，要採購正確的硬體，不要購買不負責任的電腦廠商、自私做給Windows的硬體。就像手機應該買刷機友善的廠商一樣。一個顯而易見例子就是Nvidia，它是人類惡，人類的敵人。AMD No 1！\n20230810 萬能青年旅店《郊眠寺》不是看得很清楚嗎\n「星河下，電子荒原，億萬場冷暖，億萬泥汙人。」\n他在說石家莊人的生活，我覺得描述手機盛行的當下也合適。當你發現世界上最盛行的手機品牌是Apple，就代表這個世界已經沒救了，自由軟體堅持的價值敵不過商人的謊言，深陷一種無可自拔的娛樂而無解脫之道。高級魔術，高級發明。再進一步的說，我們被手機奴役的當下，對身邊事物可以更加漠不關心。在被這個文化奴役的情況下，手機系統是否為開源軟體司忽已不是重點，因為連接的道路——網路——早就被跨國企業給毀了。\n切斷電纜 朝霞晚風\n西郊有密林 助君出重圍\n20230810 礼、乐、射、御、书、数是我们鲁国王族的必修课程，今天跟默友们聊聊音乐。\n谢谢鲁国公介绍超级反共乐团，盘古乐队，都给他们狂完了，比李志和万能青年旅店还狂。\n盘古乐队的《中华人民共和国之墓》、《出来一个杀一个》还蛮好听的又具有批判性，真的很像冲浪TV上浪人的日常发言，可惜Youtube上他们的影片流量都偏低。现在只能在魔镜歌词网找到过去专辑的歌词。\n20230809 話說我以前在用Linux系統的PinePhone時，只剩E-mail和電話能通訊，經人提點電信公司仍能用SIM卡追蹤資料，我還真想過把中華電信的499月費退掉，改買不記名的預付卡來用。不過用下去會動搖國本，加上台灣Wifi不是隨處可得（我不想回到小時候到處蹭Wifi的時光了，以前24小時玩離線Minecraft就很快樂，現在沒網路看鄉民廢文我會死），為此作罷。我覺得可以改用飛航模式取代，沒要用網路就開飛航模式，PinePhone也有做斷掉通訊模組的物理開關，只是要撬開背蓋，如果PinePhone能像Librem 5做在機身側面就好了。\n20230809 過去中國的古典小說，若是看不懂文言文就會失去了理解的樂趣了。因為那些小說、傳奇其實也沒有比歐美文學無趣呀，比聊齋更扯的文學作品也是有。最近讀到印象深刻的就是蘇軾乘船到洞穴探險的故事〈石鐘山記〉，看不懂文言文會覺得乏味，但若知道意思，畫面感就出來了。這個探險的成份可比赤壁賦要精彩多了不是嗎。事不目見耳聞，而臆斷其有無，可乎？\n20230809 太上，下知有之；其次，親而譽之；其次，畏之；其次，侮之。信不足，焉有不信焉；悠兮其貴言。功成事遂，百姓皆謂我自然。\n嘗以為道路以目者，究其緣故如今青澀之肆虐耶。現今民主謂之進步者，實則逆行之黨。\n20230808 誰能出不由戶？何莫由斯道也？道不行，乘桴浮於海。\n伍佰 - 真世界\n休息的時候才猛然的發現夢想根本不在這裡，天亮的時候覺得腦筋太過於清醒而垂頭喪氣，善良的念頭和無能的正義沒有辦法解決問題。\n伍佰少數很寫實的歌曲，最後也只能說歡迎來到真世界\u0026hellip;體會吧，墮落吧😭。如果連工作的溫飽金錢都不能做到，堅持的社會正義、民主自由、自由軟體、數位人權理念又有什麼用處？我追求的東西對大多數人沒有直接好處，自然會感到孤寂不被理解、排擠。人類社會現實的看待他人功績以作為成功的標準評判。若吾道一以貫之，換來的便是無止盡的失落與孤獨感，最後可能會導向功不成名不就的失敗境地。\n不過，也不要太灰心\u0026hellip;伍佰還有寫一首 美麗新世界\n只要忘記曾經 妳就能自由 是誰將我的夢敲破 太陽下的河水它不停留 有一個美麗的新世界 叫我慢慢的走 海浪它總是一波波 不要停歇不回頭\n20230807 一些激進的平鋪視窗愛好者認為Linux主流桌面環境爛透了。他們批評的點不是Windows批評者認為的桌面不夠友善，而是KDE、GNOME太複雜，開發者不知道自己在幹嘛，亂加一堆功能，還不如我們的平鋪視窗高效。堅持KISS原則，桌面環境資源能省則省，通常這類用戶用的發行版是Arch Linux和Gentoo，持init freedom態度的可能還會選擇沒有systemd的Artix、Void、Devuan。這些發行版的特色就是沒有太多預先配置，套件裝了之後要使用者自行設定成想要的樣子，沒有愚蠢的商業公司強迫吞下去的政策。所以自訂性極高，用極簡的資源作到符合自己100%心目中的樣子。有的還會自行編譯軟體，達到心目中的要求，例如Gentoo的USE Flags和Nix的套件設定。\n儘管我認同Linux should be user-centric not user-friendly，然而從現實面考量，過份的自訂自己的系統我認為會導致極端與瘋狂，桌面環境需要妥協與合作，制定公開標準以支援更多使用場景。如果全部都以指令為主的手工思維，恐怕是跟不上時代潮流了。不論它如何強調系統的自由度和簡單高效，自訂系統多麼舒服，Nix是最棒的套件管理員等等，可是大多數人就沒有那個時間瞎折騰。有圖形界面控制系統服務不是多餘，是進步。我們想要一個現代的GNU/Linux系統，不再是專屬於駭客的玩意。\n20230807 GNOME最近版本加入的家長控制(parental control)功能有點匪夷所思。我認為手機上的家長控制這東西本就是侵害人權的玩意，Linux的情況就更詭異了：GNOME界面沒有做得比ChromeOS和Android還要讓normie容易上手，老害可能連Linux都不會用，反到要讓這種程式控制到擺脫冷氣的年輕人頭上去了。\n20230807 小粉紅：整天嚷嚷南京大屠殺死多少人數不容質疑，嘲諷日本原爆受害者。\n神友：漢口大燒烤；南京大刺身；兩位老英雄屠105比106；南京是三十萬人大城市，應該多殺；暴支膺懲；核平中國宜早不宜遲。\n儘管我比較喜歡神友的講法，每次看到105比106還是會笑出來，說中國人確實屠少了。可是細想，不論哪邊說法只會製造更多仇恨，模糊戰爭的苦難。一邊是誇大死亡數據並做政治利用，不容反駁；一邊單純反向地獄梗，而非用事實駁斥錯誤數據。要不是中國官方堅持30萬死亡人數的強硬態度，就不會有神友的講法出現，好啊反正你都灌水到30萬了，那我就支持老英雄們的正義屠支行為。二戰末期日本人被炸可能是罪有應得，可是我們真的不應該連一般人民的苦難都不保留同情心的說。\n承認日本不光彩的事蹟對些人來說可能是一個偶像崩塌的體驗，但還是得承認這些歷史事實，而非全盤否定。作為受害者中國不知道何為平等的原諒，只會鼓動仇恨。日本人期望世界永久和平或許沒反省自己的過錯，而中國期望世界永久和平卻又希望能以武力報復其他國家，這就是文明國家的差距。總的來說，日本戰後已經道歉10次以上，戰後默默捐錢給中國也可以算是在贖罪了，作為受害者的國家不講理的繼續道歉要求也是過了。很多問題到現在其實都變成政治問題，只有中國和韓國對日本的罪行念念不忘，不若其他國家的釋懷。當有人整天煽動國仇家恨大於一切的時候，這個國家就已經不正常了。\n20230807 我竟然覺得就桌面Linux來講，Ubuntu比Arch Linux難用了。這次換KDE Neon，Ubuntu LTS系統配最新KDE。結果各種詭異bug，安裝器沒生成家目錄，Fcitx5套件跟系統內建衝突；只是要裝docker，結果Distrobox強制依賴podman（到底是哪個天才打包這樣設計依賴的，Arch都不會自動依賴有的沒的）導致podman也跟著裝了，後者還劫持Konsole導致開啟終端機預設就進入容器，無法回到主機bash（經查是Konsole在新增profile時不知怎的將Distrobox作為預設shell）。還得用SSH去修復。\n這些問題在Arch都沒發生過，唉！看來我不能用什麼都預先設定好的系統了，只會造成更多問題。沒想到KDE Neon竟是Ubuntu延伸版中，開箱即用做得最差的發行版。為什麼明明隔很久升級，Arch套件比Ubuntu套件升級的要多，pacman升級完成速度卻比apt快，因為pacmn只負責裝！幾乎沒有post install script。\n20230806 Nvidia跟AMD驅動在Linux穩定度正好跟Windows相反，Linux系統AMD是第一顯示卡品牌，驅動開放程度高，包在Mesa裡面穩定且提供卓越性能。其次是Intel，開箱即用，Arc顯示卡亦同。而Nvidia先是以前XOrg經常性畫面撕裂，Wayland出來後又不按照標準走。Nvidia閉源驅動只在乎伺服器市場(畢竟沒圖形界面)，在桌面Linux配Nvidia顯示卡完全就是個災難，我都用Ubuntu了KDE X11除了lag還是lag，開ForceFullCompositionPipeline又會性能下降。\n不換電腦的情況下，我都想買一張性能相仿的Radeon RX6400取代我的GeForce GTX1050Ti了。儘管在AI技術方面會遇到阻礙，但是沒有什麼比桌面流暢更重要的。\n20230806 Open Source Phone? This BOOMER doesn\u0026rsquo;t care! | Purism Librem 5\nLuke Smith講的話如醍醐灌頂呀，「我有一個跑閉源軟體的水槽，我該換成開源軟體的水槽嗎？何不換成根本沒有任何軟體的水槽。」他對Linux手機不感興趣的原因\u0026hellip;是因為他認為手機根本就是個錯誤。看來我們計較開源和閉源軟體還無法把問題看得太透徹，手機給人帶來的幻覺太多了。放下手機，前方有更好的人生。搞不好花時間打真正的電腦還更好，因為在外面就不會想整天滑手機了。我們可以練習：出門不帶手機，或是必要的導航功能用完後就關機，看我們可以在大自然中撐多久而不會慣性掏出手機滑。\n20230805 如果流量大的維基百科充斥翻譯腔條目，你能接受嗎？\n我不只對韓流(不是韓國瑜)，還對翻譯腔過敏。知乎上的「Linux中國」是長期推廣Linux議題的中文媒體，儘管他們推廣有功，把很多自由軟體議題帶到中國，但文章翻譯素質很多都在水準之下，而且背後還是一家培訓機構贊助。最近他們開始拉人寫原創專欄了，然而翻譯腔文照舊。\n我反感只翻譯不加個人想法的媒體，就是因為最近幾年中文自媒體的墮落，照抄外國新聞就算了，還翻得很爛，例如XFastest News的部份文章。另外一種整天轉貼中國文章的媒體我就不多說了。就Linux領域來講，現在台灣的科技媒體裡面只有iThome Online的新聞比較負責任，原創且用詞正確，專業度還是有差。T客邦則是有駭客風格的有趣DIY文章。\n如果今天新聞內容寫的是Windows下的新東西怎樣怎樣，他們還敢怠慢內容用機器翻譯，雖便寫寫嗎！Qooah有記者連iPhone跟Linux是什麼關係都搞不清楚就在標題胡謅。\n再講一個特殊現象，近年來西班牙媒體\u0026quot;Ubunlog\u0026quot;、\u0026ldquo;DesdeLinux\u0026quot;反過來用中文機器翻譯搶SEO排名，致使搜尋中文Linux資料充斥這類低劣文章，污染視野。看他們網頁連名字都機翻，他們根本沒請人校稿過吧！有時我覺得Linux中國的翻譯品質跟西班牙媒體的機翻也沒差多少吧。這二家媒體雖然也有英文版網頁，我看Reddit Linux社群幾乎沒人貼他們網站的文章(順帶一提Phoronix被視為clickbait慣犯，Reddit禁貼；LWN.net是比較專業的Linux資訊來源)，反倒是在中文用戶之間可見度高起來了呢。最近還有一個TuxCare，賣雲端服務的，也用機器翻譯出產Linux新聞文章。或許他們用的是ChatGPT翻譯，文章較為順暢，不過我還是一眼能看出來該網站用機器翻譯的痕跡。\n好啦我知道我歐化語句很嚴重，但起碼這是我自己寫的，不是機器生成！而且是有research的喔。\n中文Linux資料的問題，不是太破碎(充斥著解小bug的技術文章)，不然就是太老(過時的指令，CentOS 6時代的東西還拿出來講)。不過，我不想否定各界人士的努力，高品質的中文文件還是有的，我們要感謝前輩的付出。網路資料除了經典的鳥哥以外，SUSE和Redhat的也值得一看。但就「桌面Linux發行版，不側重講指令與伺服器管理」的中文資料來說，比較完整的體系還是Arch Wiki了，真的什麼都有。\n20230805 遇到Linux Flatpak版Discord不支援「遊戲狀態」功能：這是好事，為什麼要讓專有軟體整天監控我。那麼多人還推崇這種spyware，真是豈有此理！\n換作Steam要對我做身家調查：好啊，沒問題呀（傑哥口氣）。我願意交上全部硬體資訊，成為Steam上用Linux玩遊戲用戶的一分子。順帶一提現在這個數字是3.12%。\n20230805 某種程度上的Technophobia。社群媒體我是不敢裝官方APP的，監控拿取的資料比網頁要多太多了，要也是第三方研發的開源客戶端。感謝歐美公司普遍願意維護手機網頁版介面，以及相對開明的API政策。至於逼人下載APP的中國社群媒體，我是拒用。Line這個爛東西更不必講，網頁版都沒有，除了鬼島和日本外沒人想用這種連備份都落後十年的垃圾。Line跟中國的APP、Facebook幾無用第三方程式存取的可能性，相較之下Reddit真是太仁慈了。\n20230805 我一直在找替代Google Chrome的開源手機瀏覽器，注意是完全開源，要在Github發表原始碼，不是基於開源技術而已。現在看來，Brave瀏覽器好像有點香，跨平台開源，沒有Edge的沈重(微軟太可惡)，沒有Bromite的落後(功能太少了)。有Brave自家的同步服務，開箱即用的擋廣告功能，使之成為基於Chromium的瀏覽器中看起來最\u0026quot;ethical\u0026quot;的選擇。\n此外，Chromium相較於Firefox網頁相容性更佳(Firefox開Google圖片搜尋都會跑版，雖然我知道是Google故意的)，跟Android 13系統動畫結合更好\u0026hellip;但Brave仍有shady一面，如內建加密貨幣，以及鼓勵人看廣告賺加密貨幣等機制，都讓我覺得不舒服。雖然同樣都是「搞政治」，Firefox更新跳出來的通知我還是覺得Mozilla有在守護網際網路自由，而Brave公司看起來只想藉由加密貨幣賺錢。另外Brave手機版的設計美學跟三星瀏覽器、小米瀏覽器有得比，我覺得比Firefox還醜。\n現在的問題在於，Android版Firefox雖然有擋廣告功能，但也就這樣了。美學設計水土不服，跟不上原生Android風格是個問題。另行動網頁相容性也不好，這個問題比電腦版更嚴重呀，Google在網頁加入的新特效都像在跟Gecko作對。Firefox的其他fork就甭說了，Fennec和Mull沒多少差異，IceRaven不穩定，Tor Browser不是人用的。另請不要推薦我道德綁架的Duckduckgo和Ecosia。\n如果能忍受廣告和追蹤器，那果然還是回到Google Chrome吧。Google一直想改善Android不如iOS那樣整合式的體驗，於是自家的瀏覽器它也會十分重視，因而使其在手機、平板、電腦都能適應良好。雖不是最佳，但起碼能用。\n20230804 如果台灣和中國能流利使用英文的人超過99%，那99%我的部落格科技教學文章就沒價值了。正因台灣和中國懂英文的人、懶得看原文文件、沒在看外國Reddit的人太多，我的教學文才有存在空間，除充當引薦新知的管道外，我的教學相較於官方文件，或許內容比較「講人話」，方便當作入門管道吧，想深入瞭解再看官方文件。欸\u0026hellip;但我寫文章的時候，心中設想的目標讀者是中階科技使用者，而不是完全的3C白癡。\n為避免未來完全被ChatGPT等AI工具取代，唯有增加附加價值。寫科技文章不能只是單純將文件部署過程照本宣科的翻譯過來了，我最近看到T客邦、電腦王阿達的部分文章翻譯腔嚴重，完全沒有放沒有人性價值到文章裡面！(謎之音：這句話翻譯腔調不也很重嗎)科技文章應有實際應用案例，以及個人心得。單純講某個bug怎麼解決、照抄英文說明、某個軟體如何安裝，若內容沒有個人心得，無推導過程，字數不超過500字，我是乾脆不寫的了！要分享程式碼片段，貼在Github Gist就行。文章內容必須加入我的真實使用心得、應用案例、tips才能產生更多價值。至少在介紹開源的解決方案的時候要論證一下它的好處，並堅持自由軟體的價值觀，而不僅僅以「這個主題中文圈沒什麼人寫」的稀缺性來撰文。雖然Hacker News仍有轉貼「獨特個人部落格」的習氣，個人部落格其實不用太在意外界想法，但我認為在現今廣闊的網路世界，不寫一些對他人能產生立即實用價值的文章，部落格有再好的想法也難以曝光的說。\n20230803 因为真理不是辩出来的。辩论的目的从来都是吸引中立人士，第三方，或者说费拉。 rightdogtv - Gab\n右狗哥說得對，跟網路上的笨蛋辯論很難獲得真正的好處，當你察覺到對方好像真的就是存心來亂的就放寬心ㄅ，比方說小粉紅、塔綠班。網際網路太大了，在某個廢文下面一時佔上風的吵架沒有長遠好處，長期跟低級的詭辯者辯經還會降低自己的認知水準。你要知道，Facebook、Twitter這些社群媒體之所以吵架吵不完，就是因為那是網友逞一時心直口快攻防的地方。很多時候網友用體例完整的文章，就算起碼有500字，回擊對方論點都做不到，只會貼標籤扣帽子（你看我就是個好例子），不然就封鎖對方、禁止留言，或是用一句話「放屁」否定別人邏輯嚴密的論述。由於很多網友以為說話可以不負責任，因此詭辯家就有其存在的位置了。真正值得敬重的對手，是願意承認自身不足，而以客觀事實說話的人。做不到以事實為基礎下去討論的人，不用跟他浪費時間。\n真要辯論，要挑對象，要挑就挑大尾的、適合自己的對手來練練，不是誤入小哥布林巢穴結果淪落得被輪姦的下場（指衝進同溫層找死）；小蝦米打大鯨魚還得看自己是不真有料，而不是堅持無謂的意識形態指導一切，導致辯論到最後變成純粹的對罵。\n20230803 「酸民指教是種精神按摩！」唐鳳的心情管理法則：比起被酸，這件事更可怕 - 風傳媒\n儘管為塔綠班政府工作，我還是很敬重同為開源事業奉獻的唐鳳，他承受跟那些政客一樣的批評老實說很不公平，數位發展部A好幾億也不全是他的問題。這些政府聘用人才真的逐步在改變台灣，用數位科技引入新的解決事情方法。\n「她通常會從攻擊她的酸民言語裡，找尋有建設性的意見，即使十句話裡，有九句是謾罵發洩，但只要有一句是有建設性的，她就會針對這句話認真理性地回應，而不去理會另外九句情緒性的發言。」\n如同柯文哲講的，不要幻想國家一天就會改變，但如果我們什麼都不做，國家也不會變得更好。\n20230803 You are on this council, but we do not grant you the rank of master.\n當Linux社群成員在討論KDE和GNOME的優劣的時候，常常出現弦外之音，國內外皆然。其中最常見二個論點如下，我聽了就龜覽趴火。\n第一，Linux的兩大桌面環境太臃腫，所以選擇XFCE/LXQT/Cinnamon/Deepin叭啦叭啦。甚至不要桌面環境了，改用i3/sway/dwm等平鋪視窗管理員最穩最高效，搞一堆有的沒的複雜自訂化設計。\n第二，Linux的桌面環境沒一個好用，所以我選擇裝「省心的」Windows配WSL，只存取命令列開發工具，假裝我也是Linux使用者。或者說買macOS當果粉自豪因為全家桶好用，甚至是買Chromebook因影音娛樂更好上手。這樣我也算在用Linux環境了。\n針對第一個問題，不是我要貶低開發者的努力，但我認為還是要參照主流意見。最多人用的桌面環境你不推薦，叫新手去用那種強調簡潔輕量的桌面環境，到頭來沒經驗的人無法用過於簡陋的GUI解決問題，要靠指令改系統設定再靠北Linux很不直覺，我覺得那是在害人。平鋪視窗管理員有其高效之處，可是就是不直覺，所以我不能優先推薦給人用。有人連Android換iOS都會不適應操作了，一上來用Linux就選偏極簡的圖形介面我覺得真的不行。KDE和GNOME都在盡力改進開箱即用的體驗，訂定標準，GNOME還有大多數商業公司寵愛，其他桌面講難聽點只能當次等漢。\n第二個問題，我覺得講這種話的人要重修中文，我們討論的問題根本不在一個次元上，我在講桌面應用你在講系統開發。我不得不承認我是以Linux狂粉的角度下去看的，所以以自由為第一信仰價值。正如習近平說過的，沒有1再多的0也是無用。就實用角度來看，WSL能協助完成程式工作很好。可是從道義上來看，完整的Linux仍然勝過Windows，因為Windows本身就是不尊重使用者自由的系統，被綁住就糟了。在Windows跑Linux容器可能讓你覺醒去裝真的Linux，但也可能被這個產品綁住，這輩子就john了。用Windows裝WSL是在你的電腦被牢牢掌控無法裝其他系統的妥協選擇，不是Linux本來的樣貌。\n如果有人瞎扯什麼Windows是最好的Linux發行版，100%是來亂的。這就好像說，我用Android裝Termux、iOS裝iSH Shell我也是專業Linux用戶了！呸！回頭就到應用程式商店下載一脫拉庫專有軟體的人算什麼Linux用戶。\nmacOS儘管終端機跟Linux相近，介面與操作有獨特美學，它仍然是不自由的系統，跟ChromeOS一樣綁硬體，要破解有難度。我看過太多篇瞎吹macOS設計美學，還引用論文理論佐證為什麼蘋果要這樣設計的文章，但是他們都沒意識到這個系統再怎麼漂亮，永遠都是一個專有作業系統。蘋果生態系看似方便，實則是一種綁架，更可怕的是幾無替代方案，沒我你會死（ 董事長樂團 - 愛我你會死 ）。macOS只比Windows好一點點，無法與Linux比肩。如果不是專有軟體的支援，以及iOS APP得用macOS開發，還會那麼多潘仔買Mac？Mac工業設計、螢幕很好看沒錯，可是我認為是華而不實。\nChromeOS可能會搶走一些以為Linux就是專門復活舊電腦的用戶的份額，但是專業用途全盤皆輸的情況下威脅沒有Windows和macOS大。它會打到的應是沈迷平板和手機的用戶市場，那些用戶本來就很多無腦的。\n現在這個世界被專有軟體綁架太厲害了，使用者、創作者習於商業產品表面的膚淺，不珍視自由的價值。\n儘管Linux用戶有選擇的自由，可是為了推廣一種正義且健康的觀念，我們還是要對非主流意見多一分戒心。Linux本身就不是主流桌面系統，如果還要讓外部勢力蠶食我們的價值觀，那就是更悲哀的事情。\n20230803 I\u0026rsquo;m tired of .folders littering my home directory \u0026ndash; want to do something about it. - Reddit\nReddit用戶指出的家目錄污染問題是一直在發生的。應用程式，不要污染我的家目錄！用檔案管理器看Linux家目錄，一顯示隱藏檔案，就有一堆dot資料夾。我的天，Linux獨立開發者都懂遵守XDG規範，將設定檔統一放.config、資料放.local/share了，怎麼大企業不知這規矩，是以為Linux只能當伺服器所以亂丟垃圾沒關係？Google你Android都能規範流氓APP存放資料位置了，善待一下Linux用戶行不。還有Firefox、VSCode的也會往家目錄倒垃圾\u0026hellip;非常糟糕的體驗。\n有些應用程式雖以Flatpak打包，原本預期至少不會污染家目錄了，但像Android Studio這種還是得存取家目錄全部檔案，結果照樣污染家目錄。我真應該裝個immutable distro，將軟體全部容器化隔離，學習全部用容器開發，保持家目錄的整潔。\n20230803 社群媒體博眼球內容為重，加上滑不完的動態牆，容易帶來Fear of missing out與仇恨對立。Facebook和Twitter已是很糟糕的社群網站代表，我還沒說更糟的抖音和IG、Snapchat、Tumblr呢。這類網站侵犯隱私又製造一堆笨蛋。就算採用聯邦制的Mastodon依然沒解決隱私以外的問題，應該全部拒用。\n我認為Reddit和Hacker News才是更好的社群媒體形式，他們的性質類似過去盛行的網路論壇，匿名性高、以文字為重的內容能促進更優良的討論。儘管同溫層問題仍無法避免，但看板開放性的環境可有效避免像噗浪一樣形成小圈圈。PTT我覺得也是個不錯選項，預設界面就篩選掉不會用腦只會看Dcard首頁熱門的笨蛋用戶了，可是PTT會紀錄IP這點我很不滿意，用VPN又會被人當網軍\u0026hellip;所以啦台灣很難有Reddit這種好網站，既有很多人用又可以維持匿名性。Reddit儘管有API爭議，可是他們也算是做惡很少的企業了。\n20230802 桌上型電腦和筆電，都裝Linux。過去在激烈distro-hopping的歲月，除了二台都裝不同發行版以外，還會裝不同的桌面環境，這樣可以保持新鮮感，多學習一些Linux知識。不同的桌面環境嘗試到最後，就變成剩下GNOME與KDE的對決。到現在我是二邊都統一用KDE了，僅主題顏色不同。對我來說，GNOME真的很難用 💔 二者詳細的對比我在本部落格和知乎都有發一篇。這裡貼上總結：KDE可類比為Windows，功能多且界面自定義程度更高。GNOME接近MacOS，應用程式風格統一且界面更加極簡化。但是我認為，不論GNOME擁護者如何強調其「簡潔易用」，它終究還是不如KDE生態的「方便強大」。就是這樣，但願有更發行版能採納KDE作為預設選項。\n20230802 現在有些專有軟體開發商願意支援Linux了，可能是好事，比方說4K Video Downloader開始提供deb套件。雖說Linux下載影片用yt-dlp不是更快\u0026hellip;\n不過像EaseUS這種專門出產scamware的＊＊廠商，也開始染指Linux，我就不能苟同了。這種廠商最愛透過技術部落格業配自家軟體，OS2Go？這篇文章作者真的知道自己在寫什麼嗎？這軟體只有Windows版耶。\n如何在Linux上玩Windows遊戲\n20230802 防毒軟體本身就是最大病毒。個人電腦不需要防毒軟體，手機更不需要。防毒軟體只會增加不必要的開銷，整天提醒系統哪裡需要「優化」，不如少用不知在幹嘛的閉源軟體，改用開源軟體。那作業系統也該用pro開源的系統，否則Windows本身就是個最大毒窟了。\n在此不是說防毒軟體廠商對地球沒貢獻，而是他們銷售的東西以謊言包裝。所謂scareware策略，準確利用人的心理來販售牟利。每次看到趨勢科技「販毒」的廣告，我就會說，你跟我推銷防毒軟體多屌，如果防毒軟體不開源，哪裡有信任可言？這時還要慶幸專有軟體廠商普遍對Linux支援不力，否則他們又要收割一波用Ubuntu的新手用戶了。我為什麼要跑一個完全閉源的東西來捉賊？有些人用買保險的態度說「防毒裝心安的」更是有夠瞎的理由。\n20230802 BBC中文小編一定很辛苦，推特下面留言常有小粉紅自幹五，FB下面常見香港憤青還有台灣覺青，不管到哪都有政治廚暴民（英文BBC也有左逼跟右狗大戰，較少）唉邏輯死去的小黃人。這些人罵人能力又沒有神友那樣強，完全是魔怔瞎罵，一點小事都能扯到中國或者罵台灣。其實兩岸人民骨子裡，恁永遠都是支那人～～\n20230802 Single GPU Passthrough，單GPU直通跟差別在於，只有一個螢幕。適合CPU無內顯，只有獨顯能輸出畫面的場合。此方法應稱作單螢幕直通。我試過的作法是新增一個專門跑虛擬機的使用者，在Display Manager登入該使用者後立即啟動QEMU/KVM虛擬機，並將Nvidia核心模組切換，即時直通給虛擬機使用，變成好像在使用另一個系統。Linux Host則是透過SSH遠端登入。待虛擬機關機後退回Display Manager，一切回復原狀。這樣好處是用比較直覺的方式來選擇進入的系統，用起來很像雙重開機。壞處在於不能同時使用二個有桌面環境的系統。\n20230802 K4YT3X/video2x\n其實就是整合waifu2x、Anime4K、RIFE的轉檔軟體，有圖形化介面。想當然地Linux版沒有GUI，所以我只能用Docker跑。Video2X可以作到一次轉檔，同時完成提昇畫質＋提昇FPS的操作，就不用手動跑其他放大的服務了。\n20230801 報復社會不是一個選項，Don\u0026rsquo;t be evil.\n我聽說，真正的宅宅是不會自殺或者上街砍人的，因為還要看下週出的新番。\n不過，下週新番不是首要目標，我修改一下：真正的宅宅是不會自殺或者上街砍人的，因為還要等下一個Linux核心版本和周遭軟體的釋出，看看有什麼新功能。我一定要在死前看到Wayland完全取代XOrg（共匪打過來也一樣）\n就是這樣，要寫就要趁早、透明化。不要像那些老英雄一樣整天伏案寫迫真殺人小說卻乏人問津，等作案（伏案，作案，一個酷酷的諧音梗）被捕後才讓他們的鉅作公開，最後只能被檢警燒掉。\n20230801 v我50，讓我換掉破破的GTX顯卡，換成RTX系列，足以玩得起Nvidia的vgpu ＋ QEMU/KVM方案\nVirtual Machine with vGPU Unlock for single GPU desktop\n20230801 Paywall是當今網路社會的毒瘤，阻礙自由知識傳播。期刊論文尚且有人做Zlibrary「盜火」，（部份）記者寫的新聞廢文有那價值收進去嗎？\n再有開發者用Medium寫技術部落格我一律拒看，真當自己是一回事了；另外有些高品質作者的文章po在那，我覺得也是種浪費。想寫技術博客Github隨便開個repo用markdown寫也行\u0026hellip;別整天只想著賺錢，好ㄅ\nr/unpopularopinion的人指出一點，有Paywall文章就算不能讀取全文，仍會參與SEO競爭，這讓搜尋到資料關鍵字點進去的人很是惱火，應該受降低權重懲罰。\n順帶一提，Guardian是當今網路表明不做Paywall的媒體之一，希望他們能繼續堅持。他們對讀者的誠懇態度，讓我覺得就算哪天被迫得出paywall我也會支持他們。\n20230731 勝利者滔滔不絕說什麼都對，失敗者多說一句都嫌廢話。\n思維已經脫離常人了，而且思維屬於那種即使是傑出也無用的才華，一言以蔽之，對未來事業毫無幫助。比方說，現充們在討論「iPad～高效率Goodnote筆記術」諸如此類話題的時候，我還在想怎樣用SSH存取markdown來同步筆記庫才好。雖然不完全一致對應現實，但現況即是如此。iPad對我之所以難用，在於我\u0026quot;have no life\u0026quot;又不\u0026quot;touch the grass\u0026rdquo;，覺得跟電腦講話比跟人講話要省心力，手機私訊通知永遠是0\u0026hellip;玩遊戲和consume media需求低落。因此不能駭的設備對我的價值就不如傳統x86筆電囉，Pinetab都對我較有吸引力。\n傑出也無用的才華對未來事業毫無幫助，因為不夠專業，沒有帶來摳摳的管道；因為認識已經不夠淺白，所以覺得自己又很厲害，不能跟一般人一般見識。我不能自我安慰，說賈伯斯在年輕時候也學過沒什麼屁用，但後來對事業有幫助的東西呀。勝利者滔滔不絕說什麼都對，失敗者多說一句都嫌廢話。在聽了幾年下來的Beach Boys - I Just Wasn\u0026rsquo;t Made For These Times最能反映心情，這首60年代的歌曲歷久彌新。\n20230730 Linux libvirt的KVM體系相對其他虛擬機軟體來說，比較少人提及，恐怕因為大多數人不是用Linux，所以KVM就沒意義了，夏蟲不可語冰。可KVM虛擬機真的很有潛力，什麼OS都能跑，硬體直通也不是問題，只需要一點經驗。\nWindows上的虛擬機別無選擇，只有新手向Virtualbox和商業軟體Vmware、Hyper-V，KVM不存在於現界，只有單獨顯現的QEMU。Windows沒辦法體會到Linux自由度高的Libvirt+QEMU/KVM的好處，雖說Hyper-V也有直通GPU。現在有WSL情況可能好些，跑巢狀虛擬化可行。不過我還是不想裝Windows在實體機，系統基底得是Linux。因為按照毒樹果理論，底層不純，上面的東西就會受污染。\nQEMU/KVM中文資料相對少，多半討論伺服器用途，外國社群討論日常應用的，例如VFIO gaming，最近幾年的中文討論才多了起來。不過對安裝瀏覽器擴充功能都有問題的用戶來說，要學KVM相對高級的虛擬機可能難為了一些。為什麼你們不能把虛擬機套件包裝成Bluestacks、Vmware那樣讓我這種傻瓜能開箱即用被廠商乖乖剝削呢！？\n過去我剛切換到Linux的時候也是不知道QEMU/KVM的厲害，明明玩虛擬機僅是桌面用途，還在笨笨的用Virtualbox和Vmware，儘管他們也有用到KVM技術就是了。至於Xen那個沒存在感的先不提。現在我選擇QEMU/KVM的理由，除了硬體直通外，最大的好處就是它是開源軟體。\n雖然紅帽有做一個網頁捍衛KVM的優勢，但我覺得這又是自由軟體市場行銷的敗下一仗，明明我家軟體功能就很屌，但是如果不懂得包裝介面割韭菜，變成只能是駭客和工程師在玩的玩意，一般人只想點點點下一步開玩，這才會導致許多人首選Vmware，還要在那邊寫XML？忘了告訴你，Virt Manager圖形介面已經很無腦了，要更無腦的去用GNOME Box呀，KVM相較於商業虛擬機軟體偶爾需要用點指令而已，在那邊叫什麼。\n20230729 我好想去COSCUP開源人年會呀\u0026hellip;網路看過的許多國內外開源大佬都會上台演講，例如洪朝貴教授，但之前為了716遊行已經花過一筆北上的錢所以沒辦法再去了，只能看YouTube放出的議程精華。\n反正二個我想參與的活動都是追求正義的活動嘛\u0026hellip;魚與熊掌兼得不可，明年一定要去成，連同出席中華民國軟體自由協會的會員大會。\n20230729 自由軟體基金會一直有在提倡LibreJS專案，呼籲不要使用含有閉源(混淆)JS的網頁，並用Firefox擴充功能自動偵測封鎖。這個比Adblocker還狠的說，會導致99%現代網頁無法運作的。LibreJS看起來很蠢，但FSF說的也有道理，或許我該參考Free your JavaScript，自己host部落格上的所有JS和Font檔案，並將原始碼公開。\n儘管實務上瀏覽網頁不該啟用LibreJS，但這個理念我倒是把它轉移到檢查擴充功能上了。Firefox作為自由軟體，理論上應該要用開源的擴充功能對吧，不過Firefox擴充功能排行榜靠前的Video Download Helper，我到最近才知道他是專有軟體，立即解除安裝，改學習使用JDownloader。儘管下載影片很方便，但是專有軟體我就是不能接受。\n20230729 有Redditor曾說，ChromeOS是based on Gentoo，但是不\u0026quot;based\u0026quot;（網路用語定義）\n我覺得，SteamOS是based on Arch Linux，同樣也不based。\n我不否認一些公司的創舉讓Linux變成特定用途下更好用的專武OS，然而，只使用Linux核心的專案常常會變成一種locked-down體系，從而脫離自由軟體的本質。一般GNU/Linux跟專有服務結合的情況比較不嚴重，Android沒Google帳號究半殘，Ubuntu夾帶Amazon就被罵個半死，系統精簡本身就是不作惡。不能太相信商業公司的話，即使它宣稱開源、不封鎖裝第三方OS，專有軟體還是會悄悄潛入系統當中，將用戶不自覺的綁住。雖然遊戲讓我覺得很好玩，但也要知道長期依賴專有平台買封閉原始碼的遊戲，天生就帶有原罪。\n雖說Arch也沒多崇尚自由軟體（官方儲存庫什麼都有，AUR更不用說），但要選的話我還是寧願在正常的GNU/Linux系統玩遊戲，而非專門裝個SteamOS 3.0來破壞我的自由。SteamOS只該存在於遊戲機上，如果把Steam Deck當一台遊戲機看待，那麼我可以接受他的系統是專有軟體。就像那些家用遊戲機一樣，就是玩遊戲專武，不是電腦、也不是手機。或者可以類比Steam Deck是洗衣機一樣的家電，在特定硬體上為達特定目的的最大化效率，可以放專有軟體一馬。\n20230729 我要讚嘆五年前開始沈迷War Thunder這款大型遊戲直到現在，幾乎沒碰過其他PC遊戲。因為全平台支援，它讓我可以無壓力轉移平台到Linux，並不用為了其他相容問題而煩惱（相較之下Minecraft基岩版就有點可惜了，只能靠Android模擬器）。玩法嘛其實也不會膩，空軍全部線都玩完了去開坦克或船也行呀。只是歷史模式再也沒有按照國籍分房了我很難過，沒辦法開日本機屠支了。\n20230728 你以為在網路上論戰的樣貌：（此處插入一張希特勒向信徒公開演講的照片）\n實際上你論證的樣貌： （此處插入一張希特勒在帝國毀滅電影最後崩潰怒罵的畫面）\n網路空間要得到正常的討論，很難的說。\n20230728 「間諜軟體是什麼？如何判斷它是否藏在你的電腦裡？如何移除？」\nWindows本身就是最大的間諜啦！Windows果然跟ChromeOS/Android/iOS一樣是間諜系統(spyware)，除了要求登入帳號才能用系統本身就是個錯誤外，要是誤選管允許管理我的裝置，登入學校給的Office帳號還能順便控管我的裝置是否自動更新。\n我不要一個假意為我著想，卻整天監控的「智慧」系統。電腦裡面的寄生蟲，我把他們全部揪出來。他們只能待在虛擬機/容器/瀏覽器沙盒裡，不要觸碰我的系統。\n陳幸妤：我要把那些人全部講出來.jpg\n20230726 Windows用戶真的很可憐，常常習慣被專有軟體剝削。商業公司利用「iTunes不好用的需求」開發了第三方工具銷售，但他們是怎麼跟iPhone通訊的？接觸到libimobiledevice專案後我心中就有了答案。明明在Linux上跑指令就可以復現iTunes 80%的操作，Windows用戶卻常常被專有的XX蘋果助手綁架，還為此掏錢。\n20230726 ~ 不要說你愛我你想我　如果你的心裡沒有這麼做 只是勉強的敷衍我　我知道了會很難受 ~\n現在已經社恐到，站在人群熙來攘往的地方，會有一種噁心想死的感受。即使是cyberspace，加入聊天群組，一句話都講不出來的程度。玩VRChat，被人打招呼就嚇得落跑。非討論技術問題的話，很難跟人說話的，能進展到練痟話親密程度的人除家人外屈指可數。我覺得能有勇氣在各大論壇貼文討論技術，恐怕是自負與自卑的性格逼出來的，對呀，吹牛逼很厲害，真誠的交流卻幾乎沒有。我可以像李敖一樣潑婦罵街議論紛紛，卻難以跟人好好閒談。\n這就是為何會得出Linux和二次元紙片人不會騙人的結論\u0026hellip;機器會壞但是不會欺騙人。如果有SKET DANCE裡面Switch那台電腦的語音合成技術我也想買一台，這樣就可以靠打字講話了。喔不，還是學Joe Biden不要臉的學習演講勇氣吧。\n20230726 Ubunchu！解說Linux如何使用的日本漫畫。尼看看，日本人的假名接近oo boon too，發音準確度屌打99%台灣工程師的念法。不過我昨天卻聽到歐美人士Luke Smith反常的唸成oo bun too，只能說Arch用戶不意外(?)\nうぶんちゅ！ | 株式会社 架空線\n20230726 有些網站竟然禁止Gmail以外的信箱註冊，真是笑死。\n說說我以前電子郵件的故事為何有jaychou的故事吧。最早國小電腦課老師教我們申請，所以我辦了一個water開頭的gmail，下課後就登不進去了，最初以為是忘記密碼，後來才發現是因為父母只用yahoo.com.tw的信箱，我以為gmail也要加tw\u0026hellip;後來為了玩遊戲，辦了一個叫qqqqqq6的gmail，用了一陣子，也曾經在外面提供給要我加入會員的單位，他們看到這麼多q都還會嚇一跳。結果這個帳號密碼我也忘了，這個帳號到現在似乎還在，但登不進去了。\n真正用最久的，就是國中時候辦的主帳ivonjaychou和副帳jaychouivon，為方便記憶把當年我最愛的明星周杰倫加進去電郵名稱就不會忘記了。ivonjaychou就是我最初YouTube頻道的帳號，在吃版權砲之後5年心血化為烏有，但Google很仁慈，只禁止登入YouTube而已，故這個帳號現在還是能用。我有些改不了電子郵件的網站還是得用這個登入。jaychouivon即為副帳號，用來放無關緊要的東西，在前述的YouTube帳號被封之後我便想將它扶正，然而因為不小心把暗網下載的圖片同步到雲端，導致整個帳號三天後完全被封（「你的帳號存放有害內容」），沒有轉圜餘地。在那之後，我才又申請一個Gmail，但不敢放重要資料在上面了，帳號密碼改由Firefox代管。後來覺得不能完全依靠Google，才投奔Protonmail，直到現在。\n20230725 羅大佑〈未來的主人翁〉\n羅大佑現在可能有點舔中，但當年他寫的歌曲也都是很有反叛的味道，例如未來的主人翁：「我們不要一個被科學遊戲污染的天空，我們不要被你們發明變成電腦兒童。有一天孩子們會告訴他們後代你們要守規矩，格言像玩具風箏在風裡飄來飄去，當未來的世界充滿了一些陌生的旋律，你或許會想起現在這首古老的歌曲。」\n羅大佑那一代人的歌曲充滿警世恆言，批判味道濃而且很好聽，不是現在流行的獨立樂團的那種用悲傷感嘆調配一些純黑暗文字的文青歌曲，老王樂隊的風格還行，我說的文青悲傷詠嘆掉調指的是南西肯恩 - 我也曾經想過這樣殺了我自己這種。為什麼現在的人就不能寫出Skeeter Davis - The End of The World這樣簡單感動的歌曲呢？以前的人的世界末日是得不到愛情，現在的人只要考試不如意就想自殺。現在的年輕人抗壓性那麼差（不歡迎自介）科技越來越進步，人心越來越複雜。\n20230725 雖然我可以接受開機掛一些容器服務在背景，但我不能接受在系統層級登入Google帳號，甚或是微軟帳號。在Android手機上已經被害得夠慘了，以前是Windows的微軟。現在用Linux有說不的權利，桌面系統支援電子郵件我也不登入，都用瀏覽器完成，並控管瀏覽器權限。所以我盡量排斥，不裝引狼入室的商業應用程式，例如雲端同步程式、「便利工作工具」的專有軟體到電腦，又沒做權限隔離。\n20230725 Linux gaming在歐美也是相對冷門的話題，不過還是有人持續開發工具，例如工程師想玩尼爾的愛促進了DXVK的開發。現在我執意要用Flatpak將遊戲都隔離於系統，將導致裝遊戲輔助工具變得複雜。所幸Linux社群多半能提供解方，雖然不太直觀，要用很駭客的手段解決就是了。或許我勉強能接受駭客式的workaround，但新手會卻步。\n關於遊戲該不該堅持自由軟體這點，最終決定我還是放遊戲一馬，專業軟體沒差，我玩得爽就好。\n近期研究的三個我認為華而不實而沒有特別撰文的遊戲工具：1. Feral Game Mode效能模式。我覺得沒必要，桌面環境配合Power Profile Daemon就可以調效能了，且如果硬體本來就很爛，效能模式也是白搭。 2. Gamescope，遊戲專用的巢狀合成器，支援升頻解析度。只有Steam Deck上有存在價值。 3. KDE移植版Wallpaper Engine，依賴專有軟體，動態桌布純粹浪費效能。\n另外是Wine遊戲啟動器部分，除Steam以外，目前我是偏好Bottles，Lutris我沒什麼理由用，除非我入坑新遊戲。Lutris目前仍算強勢，至於PlayOnLinux似乎是風中蟾蜍，很少見人提及了。我認為啦，Linux社群這種雖有好用工具，但常常各做各的態勢，真的很難將遊戲整合到單一程式管理，還不如我在KDE桌面新增一個資料夾，裡面放指向各個遊戲的捷徑/指令稿要來得直觀。\n至於那些Wine怎樣都跑不起來的遊戲，沒關係我還有一招\u0026hellip;虛擬機加上Looking Glass\u0026hellip;開機就掛著Windows虛擬機在背景不是什麼大開銷吧，哈哈。你看Github “WinApps“這種用RDP包裝的詐騙專案都能收穫那麼多星星\u0026hellip;屁啦，誰會整天掛虛擬機在背景。\n20230724 浴中哲思：Linux社群喜歡用Yet Another給不知怎取名的軟體命名，那\u0026quot;Yet Another\u0026quot;中文能不能翻成「某某」。例如「とある科学の超電磁砲」翻成中文就是「某科學的超電磁砲」，那因中國人上AUR還要科學上網(掛VPN)，Arch Linux的「Yet Another Yogurt」(yay)能不能翻譯成「某科學的超AUR套件管理員」。\n20230724 如何学习 Linux 是一个复杂的议题，尤其现在有些人是问我怎样学Termux。\n不得不承认，自从2021年在手机接触到 #Termux# ，才加速了我学习Linux的历程。以前高中自学装Ubuntu很大程度是装B（其实现在用Arch也是），完全不知道能干麻。\n直到有Termux后才开始认真学习命令、Linux的底层知识，开始长达二年的distro-hopping（博客\u0026quot;自由軟體議題\u0026quot;分类有完整心路历程）。并将经验转移回Termux，譬如实际用过XFCE和VNC后才知道为何Termux里的配置文件要怎样写，而非全然依赖别人的懒人脚本来用Termux。也是那个时候开始写技术博客。\n当有人问我Termux该怎么学的时候，我只能说，先学习Linux基础吧。没有电脑不是藉口，教程视频6小时太长亦不是。过去有人在视频下方diss我\u0026quot;学Linux就用正经环境，搞这Termux\u0026hellip;\u0026quot;，本来我很不认同，后来我想他是对的。如果对Linux没概念还妄图学好Termux，难度就会变成可怕的曲线，并遇到很多问题还不知所以然。所以我觉得，先从基础开始比较好。\n20230723 Linux社群似乎除了「終身仁慈獨裁者」Linus Torvalds不會被質疑外，其他人做什麼都會有人反對。\nLinux社群到現在還有人憎恨Systemd，認為是RedHat強迫所有人吞下去的惡性玩意(down the throat)，致使有人會刻意選擇沒有Systemd的發行版，例如Devuan、Artix、Gentoo，沿用傳統Unix init的哲學。類似的例子還有Wayland、PulseAudio、Snap，這些跨平台的標準一旦強推，就會遭到人質疑。畢竟人對新東西常常是抱著否定態度的，除非他們找到自己的「真香」時刻。時間證明，Systemd是這幾十年來最為成功、最廣泛接受的東西，幾乎所有發行版都改用Systemd了，它將init系統現代化。那麼，下一個會是Wayland嗎？反正X11已經停止開發了，大部分桌面環境開發組的工作都轉向Wayland。另，PulseAudio將被更先進的PipeWire取代掉。那，「統一套件格式」贏家會是誰呢？Ubuntu是否能駁倒廣大社群力量，使Snap發揚光大，還是現在越來越多發行版逐漸預裝的Flatpak能勝出？\n如果抱持著「只有我的方式是正確的」信念來推廣Linux，並將此信念體現在寫的教學文章上，那我想也不免要遭人質疑了。現在，我首選的Linux發行版是KDE Neon（基於現實與理想考量，Ubuntu很多人用但我討厭GNOME，我比較愛KDE，需要最新版的KDE套件，但又不能直接叫新手裝Arch Linux），桌面環境操作指示以KDE界面為主（諸如下載應用程式、調整系統設定等），推崇的音訊系統是PipeWire，推崇的通訊協定是X11（對不起Wayland我真的吃不下去，還要用Wine程式的說），設定系統服務優先使用Systemd user service，除非軟體需要才fallback回.bashrc的方式。最後是統一套件格式，優先推薦使用Flatpak，不行的話才用APT，再怎樣我也不會「告訴」讀者有Snap或AppImage的存在。\n就圖形操作方面來說，我也很煎熬。每個人用的Linux桌面都不同，很難在文章寫「下一步，開啟KDE Discover\u0026hellip;」這類指示文字，萬一讀者是Linux Mint用戶呢？不是所有讀者都能融會貫通，知道下一步應該如何對應操作的。唉，所以裝Flatpak的時候，我多半還是直接給指令。如果讀者已經熟悉使用自己的桌面環境，那他們自然就會懂得開啟應用商店去搜尋Flatpak程式，而無需打指令。現在我抱持著的原則是「能用GUI就用GUI設定，指令往後稍稍」。\n20230723 槍與玫瑰最好聽的歌曲不是「十一月的雨」，也不是「別哭」，更不是「我可愛的孩子」，而是這首「疏離」。9分鐘的歌曲旋律一直變化，宛如波希米亞狂想曲，但聽來又很浩瀚、很舒服，十分耐聽。\nGuns N\u0026rsquo; Roses - Estranged\n20230723 幹你娘，指令打錯了。「thefuck」命令列自動修正程式。\nnvbn/thefuck\n20230723 滾石曾將一系列經典歌曲製作成Comix，就是找漫畫家來製作MV。這樣好處是可以讓一些沒有拍MV的老歌給人聽到（10年前還沒有Youtube Music）但有些歌滾石後來又上傳了正式MV，這到底\u0026hellip;。\n就我小時候到現在的印象顯示，一堆Comix品質都很差，連那種台灣漫畫月刊等級的都能畫一手，阿貴動畫等級的投影片，根本毀原作啊。唯一印象比較深刻的是黃鴻昇 - 複製人和任賢齊 - 對面的女孩看過來，找專業畫師貓小渣、貓伊光來畫，這個品質就很高了，二次元最棒。\n20230722 割韭菜作戰 OPERATION CHIVES\n部落客營利有什麼不對～做網站～開Youtube放廣告不是天經地義的事情嘛～讀者進來看廢文之前應該先被廣告轟炸一遍，將個人隱私都蒐集完成才夠格享用服務，以方便割韭菜不是嘛～\n什麼等價交換。這就是為什麼不能對網域不是github.io的部落客掉以輕心的原因，現在即使是手機都要開著Firefox ＋ uBlock Origin上網，因為廣告真的太多了。網站放廣告本身是不道德的行為，但是是必要之惡。放別人看不到的js默默蒐集資料，就是很道德了嗎，小心GDPR伺候！\n過去在mcbedev.net是廣告放好放滿，畢竟是Adsense唯一給過的一個。配合Linkvertise剝削使用者，讓世界感受痛苦。廣告多到上自己的網站都要開著uBlock Origin才敢看。但以Linkvertise經驗來看，即使充滿誘導性強的廣告，每月收入其實也很低，除非真的有好幾萬人點連結，不然每個月的收入可能只夠吃一天的三餐吧。\nAdsense要求網站正式點的政策，爭議性的網站容易拒絕申請的，所以部份使用者只能自尋頭路，使用更激進的廣告商策略\u0026hellip;但他們對網站要求門檻也相對低\u0026hellip;也就是在色情網站看到的那種惡意廣告，其中一個著名的廣告商應該是PropellerAds。這類廣告就沒有Adsense那麼舒適和自己找適當位置顯示了，他們要嘛是蓋板，不然就是很煩人的彈出式訊息，要不然就是對話泡泡。說實在這個實在太煩人了，所以只放一個蓋板廣告。現在開始於熱門網頁投放試辦，觀察成效。\n20230722 Flatpak App Store ?\nKDE Discover on Arch Linux is the best Discover among Linux distros. Why? Because it does not support updating pacman packages by default. (extra packages\u0026rsquo;re required) That means I would only see Flatpak (from Flathub) apps in Discover! This is very neat.\nMaybe Flathub needs to develope a new official client for managing apps, something like Flatseal. GNOME software is slow, while KDE Discover looks like a product from programmers, not desginers (well at least it will not stop responsing randomly)\n20230722 Linux users should not be afraid of using command lines, but when there is a GUI, I would choose GUI method. For example, on openSUSE we could edit GRUB options using YaST. When it comes to Touchegg, we got a friendly Touche GUI. I also recommend newbie to try GUI method firstly when writing tutorials, especially for games. I think it will be painful to configure everything by commands . Thus I prefer to use GUI tools to edit .conf files and use Bottles to manage my Windows programs.\n20230721 來陰謀論一下：Reddit太可惡，API事件剛過就用r/place像素大戰轉移眾人注意力。\n像素大戰剛開打，果然還是有人畫原神，連r/real_china_irl的中國人都說，國內外「原批」實在太多啦。幸好還有人畫 #fuckspez 的標語。咱反共義士也要在上面繼續畫搬運到中國牆內馬上吃趙彈的圖像，繼續畫維尼熊吧！\n20230721 Waiting For The Worms - Pink Floyd - The Wall - 4K Remastered\n我覺得不管是塔綠班還是柯韓粉，小粉紅還是神友，群聚到處留言出征政敵都是很蠢的行為。他們就像新時代的納粹衝鋒隊一樣，一言不合就出征。以前沒網路，就是上街抓人；現在有網路，那就是實行網路霸凌。\nAll you have to do is follow the worms\u0026hellip; All you need to do is follow the worms\u0026hellip;\n我們是：憂國騎士團！\n20230721 用過滾動發行版的Linux，我就沒辦法回到穩定發表的Linux發行版了。這裡有一篇openSUSE員工寫的文章：Regular Release Distributions Are Wrong - Richard Brown\n可是為了親近新手用戶，我還是會時不時去用Ubuntu，摸索桌面與指令，並在寫介紹軟體文的時候同時提點Arch與Ubuntu的裝法。最近為了減少這類隔閡，我多用Flatpak和Docker技術統一安裝過程。\n我有點厭惡有些人把Linux當Windows學的感覺，例如依照手上買的教科書，去下載舊版本Ubuntu，我認為是很差勁的作法的，要穩定直接抓最新的LTS就好啦。Linux每年都在推陳出新，不是Windows一推出大版本就可以用10年以上，Linux軟體如此，驅動程式也是如此，都是跟著Linux核心跑的。宣傳Linux的人在教學Linux的同時，應該也要告訴他社群在哪裡。\n如果要架伺服器我沒話說，鳥哥的教學看一看便可學到很多。但若當桌面系統，還是抓最新版LTS吧。學著看網路資料，以及參與Reddit的Linux社群，應該比看著手上的書死讀要好。\n20230721 我支持LGBT+，也反LGBT+\n其實不那麼支持囂張的LGBT+運動的，6月驕傲月的時候，我轉發的Twitter貼文全是反對、仇恨LGBT+的貼文，不滿的點在於每個企業都硬要放彩虹蹭一波。\n不過現實是周遭真有LGBT+的族群存在，有同性戀，也有男跨女的。此時，倒也不會真的去糾正他們不正常的性向，而是試圖理解他們。有些人會在網路用化名分享他們的出櫃經歷，以及變性的心路歷程。當我看到這些文字的時候，才能真正理解LGBT+族群的想法，從而尊重他們的存在。當他們跟我說，他們是LGBT族群的時候，也不會感到驚訝與不安了。\n基督教的右狗可能會認為，哪有那樣多出櫃受迫害的小故事可以講，都是左逼的騙票謊言！可我們要實在的理解，不論是什麼性向的人，他們終歸還是人，不能因為一個性向否定人的全部。\n有些LGBT+族群的人是反對上街遊行這樣招搖的做法的，如果是\u0026quot;mostly peaceful\u0026quot;的舉旗子遊行還好，但卻有一堆穿BSDM服裝的人上街，這樣反而落人口實給了歧視機會。我覺得啦，LGBT+值得尊重，但左逼不值得。要如何成為Michael Jackson那樣超越仇恨的存在，還有待努力。\n20230721 如果就文藝青年的角度來看，我確實不該支持任何一個2024年台灣政壇的總統候選人，他們都不夠理想，不如投廢票。首先，不論侯友宜會不會換掉，國民黨那種跟中國下跪的選項是不可能接受的。再者，賴清德可能就是延續蔡英文的假台獨路線，舔中換成舔美罷。最後是柯文哲，他說唸藝術人文不入流勒（儘管這是塔綠班斷章取義），他可能是希望也有可能是失望，我猜想他會不會變成尹錫悅那樣的政治人物，靠操作仇恨上台，內政一團亂，外交卻跟美日關係好。\n有些人可能認為，含淚投賴清德是比較不壞的選擇，因為他有理想，堅持台獨，而不是柯文哲立場反覆，見人說人話見人說鬼話的樣子。\n那麼我的觀點，就是不論政治如何骯髒都應該試圖改變，從支持民進黨轉移到民眾黨的轉變，我寧願投真小人民眾黨，也不要投偽君子民進黨。道貌岸然的台獨，最後還不是永遠無法獨立，那就滾下台換人做吧。我承認這個觀點受李敖影響很大，他20年前是推親民黨啦，現在親民黨只能當萬年墊底了。\n那究竟要不要投票，還是投廢票，這個時候要開大絕：你不碰政治，政治就會來碰你，錯誤的選票會讓糟糕的人來統治你。那麼我選擇的糟糕政治人物就是不做作的柯文哲。\n我不想掩蓋我有當柯粉的傾向，但也不是柯文哲說的一切都是對的好不，不然我也不會說他是柯師傅了。明年民眾黨選不上也沒關係啊，最壞還是有立委席位，當國會第三黨監督也行。如果國會三黨都不過半就更好了。\n20230721 說明年不投賴清德就當中國人的，這說法好像Trump在2020年講的：「Biden一選上你們就要學中文」，結果他還不是大力反共，但沒川子那麼狡猾。\n操作反中選舉沒有頭路。不過我仍尊敬Trump先生，他一選上能讓中國人，還有全美左逼破防，我看得很爽。\n部分台灣人被民進黨綁架太久，它不知何時起就沒正義，不如學民眾黨別整天將虛無縹緲的價值觀掛在嘴邊，例如不可能的台灣獨立。\n20230720 川普斥台灣「搶走美國的半導體事業」　還稱台人聰明：早該阻止他們\n我川威武！！！\n不過短期內晶片製造應該沒辦法回到美國，除非 美國能研發出機器人取代超奴的台灣企業員工。\n20230719 Linux users when their preferred app isn\u0026rsquo;t packaged in the main repository - Reddit\n＊如果套件庫沒人打包特定應用程式怎麼辦＊\n眾Linux發行版：Flathub （團結一致）\nArch Linux用戶：AUR （腦死狀態）\n講真，現在連VPN程式、Android Studio都可以包成Flatpak格式了，當使用者問要怎麼安裝的時候，我覺得只要Flatpak能推廣起來，甚至內建在系統，各發行版的用戶就能從一致的地方取得軟體，而不用知道要裝什麼依賴套件\u0026hellip;Snap也是個解法，不過看來只有Ubuntu在用，而且更新程式常常爆炸。\n作為Arch Linux用戶，我也深深覺得不能總是依賴AUR。現在只要軟體有Flatpak版，我就會把它從pacman和yay的列表中刪除，改用Flatpak版本的了。\n20230718 台灣鄉土劇曾有用PowerPoint偽裝成駭客畫面的愚蠢橋段，還在命令提示字元亂敲指令入侵防火牆。洋人嘛比較厲害一點，他們起碼會真的拿類Unix系統出來演示\u0026hellip;雖然他們可能也不知道自己在幹嘛。普通人光是看到Linux終端機的htop一閃一閃就被震驚到了吧。\n《侏儸紀公園》成句：It\u0026rsquo;s a Unix System\u0026hellip; I know this! 雖然這一幕的系統是確實存在的IRIX系統。\nIt\u0026rsquo;s a Unix System\u0026hellip; I know this! - For screenshots of overly fake or wrong tech in media! - Reddit I was watching one of the \u0026ldquo;Maze Runner\u0026rdquo; movies and noticed that GNU/Linux was being used - Reddit 20230718 現在是午後的下雨天，趴著醒來，冷氣變得寒冷，因為下雨了，所以身子打了些哆嗦。\n這個午後醒來特別的感覺，不論年紀為何，總能確切到。小學，醒來後就可以玩樂了，因為是在學校辦的安親班寫作業。如果下雨，醒來的只有遊戲。後來，國高中，一樣的雨天，睡前與睡後不一樣的氣溫醒來，等著的就是繼續的上課和考試。不過，人在睡眠的時候有時候會出現半醒的狀態，醒來發現還沒打鐘，卻已經被溫度弄醒了。這個時候，我懷疑現在究竟已經是大人了，還是小孩。現在我很少趴著午睡了，躺平的床上雖能感受到午後陣雨天氣的下降，卻看不到了過去的景象。\n20230718 圖片附件\n每當我用了一個不錯的軟體或手機APP，點進去官網發現寫Free Download，卻沒原始碼儲存庫，才發覺是專有軟體。\n此時我的內心小劇場：用肥嘟嘟左衛門在《電擊！豬蹄大作戰》的口氣說：「那可不行！！！！」\n馬上、解除安装，轉身找下一個開源的alternative。\n很多優秀中國軟體都不開源啊，我聽說過最瞎的理由是Windows 11 on Android (Renegade Project)的專案因為淘寶盜賣嚴重所以放棄開源了。唉，資本。\n20230718 哇好懷念，小時候印象深刻的神曲之一。妖逆門中黃綠的形象很是悲催。\n【妖逆門ED3】ソラミミ妖逆門—full\n202307117 RMS早就預言到了這個問題的出現，當我們用開源軟體取代自由軟體一詞的時候，總是想著效益最大化，吸引政府和公司採用，這會模糊了自由軟體的價值。\n为什么开源错失了自由软件的重点 - 自由軟體基金會 自由软件支持者则会说，“您的專有软件非常吸引人，不过我更看重我的自由。很遗憾，我不得不放弃使用您的软件。我会用其他的方法完成我的工作，并支持一个实现类似功能的自由软件项目。”你若真心珍视你的自由，我们就可以用行动去捍卫它。\u0026hellip;这些没能理解自由软件含义的用户，早晚会出于某些实用角度的考虑，再转投专有软件。无数的软件公司已经开始做出这样的尝试吸引用户使用专有软件，哪怕是发行免费的专有软件。用户只有在懂得珍视自由软件赋予他们的自由之后，才会拒绝如此诱惑。所以，我们必须反复强调自由，才能渐渐扩散自由的理念。“保持沉默”的信条在商业化的过程中可能会有用，但过分强调它，让热爱自由被视为自私，则会害了整个社区。\n我有罪！現在我被迫用Google控制的Android手機，日常上網使用的一半服務離不開Google，我還覺得被這種環境包圍很舒服。雖說我們不要當道德魔人，可我覺得不管現實考量再怎麼需要用到專有軟體，還是要對其抱著譴責的態度：你的服務很好，但是我終究得離開你，因為你是專有軟體。當我們看到各大校園的網站推薦好用軟體頁面，將專有軟體與自由軟體並列的時候，他們對自由軟體的描述都是照本宣科而已，推薦的還都是些專業向的程式。那對比推薦的專有軟體可是另一番風景！我就問，憑什麼看PDF一定要用Adobe Acrobat！？KDE Okular不好嗎？買那些專有軟體完全是跟廠商勾結，美其名曰學生畢業後會用到，呸！一堆學生有錢買Mac炫富，裝盜版Office，卻不知道學校早就送大把鈔票給Google和微軟了。\n有人誤以為自由軟體就是免費軟體一樣的東西，事實上還是不一樣的。免費軟體潛藏許多危險，其中包含誘拐使用者的成份，並以加值軟體(freemium)為最常見形式。\n自由軟體或許比較難上手，可是他們珍視的自由價值不容忽視，而非以討好、誘拐、綁架使用者為目的。\n20230717 Time to learn new words. 寶貝們。\nnagger [noun] people who annoy you. (Thanks to South Park!)\nnagging [adjective] persistently annoying or finding fault with someone.\nniggard [noun] a meanly covetous and stingy person.\nniggardly [adjective] grudgingly mean about spending or granting.\n馬克吐溫曾說過：\u0026ldquo;How lovely is death; and how niggardly it is doled out.\u0026rdquo;\n20230717 白雪公主真人版要找hispanic的來演\u0026hellip;其實我覺得這個演員還好，沒有小美鯰魚可怕。\n難道說hispanic仍是比尼哥和小黃人高級些的種族！？\n順帶一題這首ching chang chong還蠻好聽的。我一個華人都要笑死了。\nPyrus I Kina bor en kejser\n20230717 ㄟㄟ中國台灣省是不是人太少了，怎麼沒有人像美國做以下口號：#DonaldTrumpIsNotMyPresident、#JoeBidenIsNotMyPresident\n反正民進黨要下台了也沒差，不用做 #TsaiIngWenIsNotMyPresident 的口號，不過如果柯師傅贏的話，塔綠班大概會連夜生出 #KoWenJeIsNotMyPresident ，國家機器一直都動得很厲害！\n20230715 描寫台灣女人在傳統社會下，艱辛的動聽歌曲。實際看過《油麻菜籽》的電影後，真為這些舊時代的女性感到惋惜。所幸，現在的社會自由多了。經過了那些無奈和期待，我好高興有了自己的將來。\n蔡琴 - 油麻菜籽 潘越雲 - 桂花巷 20230715 Women are a \u0026ldquo;FUD\u0026rdquo; made by the government and it\u0026rsquo;s alphabet agencies, in order to sell more chocolate, flowers and stuffed teddy bears on the 2/14. I am yet to see actual proof that women (besides my mother, I guess) exist. They are as real as the birds, you know\u0026hellip; (via Reddit r/linuxmeme)\n人會騙你，機器不會騙你，紙片人更不會背叛你。\n20230715 Xvfb和xpra程式可以在沒有X視窗啟動的情況下跑圖形程式\u0026hellip;甚至掛在背景再隨時連線，不會被SSH登出中斷。很神吧，但我想把他們包在Docker裡面XD\n20230715 我寫的範例：用Docker編譯QEMU\n發現一件事情：將一切Docker化，並使用Docker建置一切東西。\n有時候碰到得編譯的軟體，開發者都以Ubuntu指示為優先，其它發行版就很麻煩了。就算我想辦法將APT套件轉成pacman的名稱，編譯還是會出一堆錯誤，可能跟runtime版本有關，甚或是GCC版本太新\u0026hellip;諸如此類。要是我還在用Gentoo，光搞定編譯依賴就死人啦。這就是為何AOSP編譯要鎖死GCC版本的原因吧。\n那麼一切丟給Docker編譯就好啦，先用Dockerfile做一個Debian基礎映像檔（眾所周知Debian穩如鬼），裝好編譯套件後，再docker exec進入該映像檔，開始建置軟體。然後利用docker volume掛載，將編譯好的檔案移動到Host就可以開始享用了。\n這個想法啟發自ReDroid、DonutsBl的office365-pol儲存庫。\n不用開虛擬機那樣高的負擔，虛擬機恐怕只有該死的CUDA版本限定會派上用場，或是編譯依賴Linux核心的東西才要了。\n20230714 伍佰：「聽不聽是你家的事，唱不唱是我的事。」\n伍佰老師講這句話實在太帥了~\n20230714 716遊行是政治造勢?黃國昌：難不成只有批判國民黨時才是公民運動\n黃國昌瞎說什麼大實話XD 綠能你不能喇。 雖然一直辯解不是政治運動，但不幸的是各方勢力還是貼了上來。\n這個禮拜日，讓我們一同參加716遊行 ，明年下架暴政民進黨👎👎跟國民黨一起下去。\n20230713 HoloISO，搶先釋出版的SteamOS 3.0，可安裝於一般x86電腦。\n最重要的一點：該系統不支援Nvidia和Intel Arc顯示卡，開機可能黑螢幕，沒硬體加速等問題。\n雖然Arch Linux可以裝Nvidia驅動，但SteamOS的架構不支援AMD和Intel以外的顯示卡。\n20230713 Debian 12最大的改變是自動偵測專有韌體，為此還辦過投票。Debian 12分出了二個新的儲存庫non-free-firmware和non-free，系統安裝ISO預設啟用的是前者。\n根據Debian手冊，不想自動安裝專有韌體的，開機加入參數hw-detect/firmware-lookup=never，就不會自行安裝專有韌體。\n新安裝系統，cat /etc/apt/sources.list的結果，可以看到debian-installer是自動啟用專有韌體庫的。\n但是，但是，雖說Debian 12預設啟用了non-free-firmware套件庫，但沒有啟用non-free套件庫，做事做一半啊。以前專有韌體non-free-firmware是含在non-free套件庫裡面的，現在二者分開了。如果要裝Nvidia驅動，你還是得手動開non-free套件庫。\n此外，Reddit用戶回報說Debian 12的KDE Wayland還是很不穩定，唉。\n20230713 最近發現一些韓國人來看我Termux的文章，clien的網友的想法不錯，他提供了一鍵啟動Proot環境＋Virgl server＋Termux X11的指令。\ntermux 우분투 셋팅법 : 클리앙\n20230713 Youtube真的讓人成癮。\n即使我沒在看Youtuber，但仍有聽音樂的需求。不得不說，Youtube有時候亂推薦讓我認識了一些獨立樂團，還有歐美經典歌曲。加上現在Youtube Music有純音樂，讓人可以聽完整專輯。\n然而，現在我每天的習慣，在做事的時候都會不自覺的點開Youtube放音樂在背景，因為Youtube會自動整理最近播放的音樂啊，我看影片封面選歌也很方便。沒錯，它完全知道你要什麼，為此讓人黏住不放。一旦放Youtube的行為成為習慣、例行公事，就等於被Youtube制約了。\n要如何擺脫這困境，我想，用其他家的串流服務，平衡打擊會是個辦法。或者是回歸最原始的，播放電腦本機的音樂，盜版或者是自行ripped的音樂都可以，現在網路還是有人提供盜版資源下載的。\n20230712 王傑 - 亞細亞的孤兒\n一曲多義呀。最早亞細亞的孤兒是日治時期感慨台灣人的認同問題，到後來國民政府時期台灣被美國拋棄，有了這首歌曲表達哀嘆；接著又用在電影憐憫待在泰國的孤軍。\n不論歌頌的是什麼對象，每每聽到這歌，讓我流淚的都是以下幾句：\n亞細亞的孤兒 在風中哭泣 沒有人要和你玩平等的遊戲 每個人都想要你心愛的玩具 多少人在深夜裡無奈的嘆息 多少人的眼淚在無言中抹去\n親愛的母親，這是什麼道理，台灣好像永遠只能當別人的棋子。\n20230710 如果遇到非英語母語的網友，英語破破的但還願意交流，我該不該嘗試遷就對方的語言呢，談的內容不是什麼要緊的事情，單純聊天。如果是GitHub公開場合，我就會堅持說英文了，我厭惡在大型專案用中文回報issue的中國人，把issue討論串當Bilibili評論區一樣。可是私聊呢，比如遇到西班牙和日本人，這二個語言我都略懂但遠沒有英文精通，我該不該先起手式說hola、こにちは呢。反正網上打字交流有緩衝時間，加上現在有ChatGPT的高品質翻譯服務，對方應該也很難看的出我是假仙的\u0026hellip;對吧？\n或者，不同國家的人，還是用迫真英語交流給彼此留一些空間吧，不要一遇到外國人就保持想練習外語的心態。\n有時候遇到中國人也是這樣，我該不該用簡體回應，或是切換成中國用語（視頻、高考）以接地氣。不過這個我覺得是多慮，如果他看不懂繁體，就不會找我了，遠沒有不同語言交流間的段差那樣嚴重。\n但網上假仙的這種狀況，現實出國後就不適用了。跟人簡單對話時對目標語言不熟悉，就別硬講了，說比較擅長的英語或是比手畫腳可能還比較有效！\n20230710 過分的參與政治可能是某些人感覺到活著的方法，包括我自己。因為現實中一事無成的預想，期許投入政治，支持與輔助特定意識形態，就能大愛般的幫助到世人，這樣自己在世界上便不是無用處的人。不論是職業網軍還是義勇軍，證實自己的存在，便是部分人的心理。\n若是對人文議題有強烈的感知度，並保持著改善世界的理念活著的話，常常到最後失望，迷惑本心的吧。\n20230706 做題家會夢到自由嗎？\n最近每次做噩梦都是梦到自己回强国了: r/Youmo - Reddit 昨晚才梦见自己考语文没时间写作文，急的满头大汗醒了过来 一些Reddit上的中國人說，他們即使run到美國還是會夢到過去做題家的不好回憶，所謂不用VPN也能夢回中國窪地。我也有這個經驗，一旦夢到國高中的歲月，除了想起熟悉的人的面孔之外，就是夢到面對考試功課的可怕回憶。雖然，我沒有真的讀書讀到崩潰的經驗，但以前有時候真的是很接近那種感覺，從而只能用網路麻痺自己。如果碰到惡夢，就會把沈重的課業壓力再疊加一層，例如考試寫不完，被老師毒打之類的夢境。在看中國衡水中學的影片後，發覺這些經驗在中國是真的有可能發生的，難道身為同血緣的我做的是別人求救的夢？我的同胞在兩岸有悲慘命運的共感？我以為以前讀的升學學校已經夠像監獄了，沒想到中國還有成千上萬的人在那受苦。\n20230706 Youtube它真的，我哭死，提供了全球最快速的影音平台載入體驗，再也沒有10年前進度條一直轉的問題，現在還有Youtube Music能聽，以及許多版權灰色地帶的影音資源。你們還想著使用者不付費，用各種第三方程式應蹭盡蹭免費資源，逼得Youtube只能放更多廣告來平衡收入。\n我現在已經想認清現實，買Youtube Premium跟人分享用了。\n20230705 看到不認識的動漫女角，硬的起來嗎？第一時間會覺得，看到不認識的女人送上門來，就只是在幹一夜情的妓女而已。必須承認，看同人本方面確實是壓倒性的以二創為主，原創較少。這會有個先天的誤區，如果用看過的動漫作品下去搜尋素材，那麼就會錯失許多好作品。很多原創作品不一定得是二創某個角色，照樣能變成品牌，甚至紅到出圈。\n20230705 今天買了一件新的薄外套，那是白灰色的衝鋒衣。我覺得可以呼應伍佰的新歌：\n撥亂頭髮遮住眼睛假裝我很悲傷。其實心裡覺得今天比昨天還要棒。世界變明亮，我開始了。純白的起點，我開始了，純白的起點。\n伍佰 - 純白的起點\n20230705 永恆九月 The September that never ends\n永恆的九月，我還漫無止境的八月呢。Usenet可比涼宮春日還早出現，哈哈。原來早在1993年，Usenet的網際網路先驅者們就預言到了一般人湧入網路論壇，降低討論品質的惡果。按照Hacker News的創辦人說法，他們把介面做那麼難看也是為了防止笨蛋湧入。\n現在網際網路太簡單、太容易取得，使人們不懂得珍惜自由，還破壞網路環境。雖說按照網路中立的精神，大家應該都有用網路的權利，但網路上的笨蛋真的多到污染環境，別說4chan、Reddit這些要有一些頭腦才會上的網站的用戶了，Facebook和Tiktok上的智障真的是多到爆炸。\n廣義上來說，一般人不易進入的網站都可以稱作暗網，包括私人群組、Tor、組織內部網路等。那麼，我覺得要找到高品質的論壇，真的很難了。高智商用戶待的論壇會有宅宅出沒，學術網站又太正式。\n我們本身就要接受現在是活在一片混沌網路的事實。只能鍛鍊自己的網路資安意識，並懂得善用網路，保護隱私，支持自由軟體，在網路世界生存下去。\n20230704 有一種軟體叫恐嚇軟體(scareware)，警告使用者電腦中毒需要修復，手機世代仍層出不窮。這種有些是商業詐騙手法，衝下載量的，其實一半以上的加速器、防毒APP根本就沒屁用，更何況他們不是開放原始碼軟體，只不過是利用恐嚇心裡讓人產生依賴性。\n事實上就原理來看，Android和iOS都不會有Windows那種未經使用者同意就中毒的情況。所以說很大程度是人的問題。\n幸好，我都用Linux，堅持使用開源軟體，Wine也用容器隔離，恐嚇軟體對我無效，防毒軟體也根本不需要！跑容器服務裝些伺服器用的告警程式就可以了，你們防毒軟體商的計謀不會得逞！\n20230704 直擊！黃國昌汐止土地除了「菜園」還有停車場 - ETtoday房產雲\n抓到齁齁齁，黃國昌跟鄰居分享種菜地還蓋停車場，一定有炒地皮\n\u0026hellip;個屁啦，炒地皮？炒菜！塔綠班真的很下賤，綠色媒體青菜建議多吃。\n這樣讓我更想去參加7/16遊行了。\n20230704 小時候無知時期，還在追蹤Facebook的梗圖、動漫粉專的時候（就是你知道的，未成年人創的動漫粉專，常常po動漫人物與星座配對的那種，或是一些三手情報，反正是跟盜圖搞笑粉專一樣弱智的東西），我常常會想搞笑留言引起注意的，到現在這種行為餘波蕩漾。曾經跟那種po智障動漫人物星座配對圖的人吵過，說原來桐人是女的？對方回我原來你是女的？總之就是小學生吵架等級。\n針對部分po三手情報的動漫粉專我會搶頭香，意圖歪樓。記得有幾次成功，但某一次說「先別管這個了，你知道香蕉配科學麵的味道多怪嗎」結果沒人理我，於是我就不做這種行為了。\n我覺得這樣不好，因為，連有人真的在問問題，我的留言仍是出於刻意搞笑，而無解決問題。有時候我會猶豫，要先回答FB貼文的問題，還是先留一句有梗的回覆吸引人按讚。\n反省自己，我曾在正經文章下面亂troll，有篇補習班的文章詢問高中生何謂成功？大概是想要學測作文的正向回答吧，然後我就貼了「冲浪tv是我见过最理性，最自由的地方\u0026hellip;」的複製文來搗亂。\n現在，我也不喜歡梗圖作家在正經FB下面留吐嘈留言的行為了，比方說「聞氫哥」常在天下雜誌正經的文章下面吐嘈，完全就是來亂的，模糊焦點。\n餘波蕩漾的結果就是，有時候我在PTT、Reddit下面回文，都會變成搞笑回覆為主的模式。幸好，我看的很多都是技術看板，回答問題沒料是會被噓爆的，逼我只能正經回答問題。\n20230704 要當支那豬，還是美國狗。或者\u0026hellip;我全都要？中國台灣省還是不要獨立好了，有人說明年不是民進黨上台他就要落跑到國外了，我覺得這種不務實的人也確實沒有對台灣獨立指手畫腳的權利。現階段民進黨領導獨立可能是最壞的結果，變美國棋子。如果台獨寫黨綱的黨不台獨，那就是尸位素餐，需要換個人來做事。\n20230703 不要妄自菲薄。\n看過一些部落客的軟體教文章是當FB貼文來寫，並說網路文章已經有詳細教學了，我這邊略為帶過就好了。以教學文章來說這樣是完全不及格的，更可怕的完全沒附「要你參考的網路文章連結」而叫你自己Google。拜託，好歹也附個官網或文件的連結吧。\n我可以理解有些人忙於生活，因此只能分享技術的片段，而無法實際鑽進兔子洞，再把自己的配置過程一五一十記錄下來。其實我在寫文章的時候也常常省略很多東西（譬如軟體操作，我都假定讀者已經會Linux，故不會在教學中連安裝Python、Ubuntu的連結都附上），從而不夠親民。但我要批評的是寫軟體使用教學完全當心得文發的部落客，這樣總有一種在炫耀的感覺。\n20230702 兒童語言發展在3~6歲是重要的時期，此時兒童愛講話是正常的表現，切不可壓抑說話的念想，從而影響之後大腦的正常語言能力發展。不過，語言能力正常與否，不見得跟學業表現有正相關。\n20230702 為什麼我覺得民主比共產好，又認為現今的民進黨台獨運動完全是一場騙局。我們可以提出一個想法：越是用高尚的目標吹捧的主義和行為，我們就知道那越可能違反人性與現實，從而到最後只能用威逼與暴力手段得逞，美其名為解放，到最後禍害更多數人。那麼堅持不可為而為之理想的人只有二種：一是真正的純真善良，以為盲從和當忠心信徒就可以實現大同。第二，爭權奪利之人，不符合社會主流價值，被視為loser，就用（或鼓吹）暴力手段取得領導權位。所以只會吹噓目標是至高善、最高目標，而無其他實際考量，沒有革命成功後續配套措施的想法，就該視為騙局。那是話術、是騙選票用的 ——— 但就算被騙選票，也比完全沒選票能騙要好，因為你還有機會，防止自己不再被政客騙第二次。\n真正純正的共產主義從來沒存在過，無政府主義更不可能。歷史上的政權試過了各種方法，只有無限趨近於社會主義的形式。種種違反人性的措施，讓大多數人服從少數人的愚蠢政策，盲目的共產主義就是大屠殺大飢荒，製造出中國現今的畸形社會。中國現在的共產主義完全是謊言，各個社會主義國家到最後都走資，走修正主義路線，他們知道 ——— 只是不想承認，找更多名詞辯護共產主義失敗的事實 ——— 繼續玩赤柬那種極端共產手法會玩死自己（真可惜，不然中國就提早進入大洪水時代了）。就跟民進黨的台獨運動完全是謊言一樣，他們的口口聲聲說的理想都是為了當政者暴力統治所服務的工具，並且還不容質疑（至少他們養的綠狗和紅狗就會自動攻擊批評者，為當權者辯護）。他們設想一個完美的新世界，人人能平等解放，可是他們做了什麼？沒有，他們的理念完全是給自己暴力獨裁正當化的工具，找藉口說社會主義還要100年，台獨繼續維持現狀。\n為此，審慎看待空談理想，卻無實際作為的理念的人。不是我不支持台獨，是你們完全把台獨當藉口，小打小鬧又不敢真的牙起來。通常這種人多半是偏左派人士，知識份子常常誤把自己當上帝，空談崇高理論，再讓沒有德性的莽夫去實行，造成歷史上的悲劇。不能否認，部份理想主義確實給社會帶來變革，但是空談一種烏托邦式的說法，又無任何建設性的設想，就容易走向毀滅。到最後，只能死皮賴臉的承認自己被迫修正可笑的、極端的、違反人性的XX主義，再說為達成那崇高的理念，我們還要繼續飛蛾撲火。\n20230702 目前玩自架都偏業餘性質，不過資料留存我還是有考量的，至少都有備份到HDD。現在要學習圖形管理的技術，進化到用Portainer管理本機Docker服務，不需要指令了，再用免費的內網穿透軟體存取Homelab。我想未來應該會學習用K8S來做更有效管理，接著就是重整硬體了：買一台新電腦，Homelab新買零件或用退役電腦建成（在省電、安靜、效能取得平衡），作業系統從試驗性強的Arch切換成超穩定的Debian/Proxmox，再學習建立多個硬碟的RAID系統，還要購買UPS。\n我應該是自組派的，不會買現成的NAS。到那個時候，挑選自由開源的硬體便顯得更重要了。\n20230701 最近聽到右狗講的一個笑話，我覺得蠻有梗的：\n「左逼一邊強調人跟猩猩沒兩樣，一邊又想強調人跟猩猩有差別。」\n這個梗的context是，美國最高法院最近取消大學以種族作為入學考量，黑人不再有入學優勢。右狗信上帝，反對達爾文的進化論，人是從猿猴演化來的，那不就代表人類跟猩猩一樣物種？但左逼又覺得黑人應該跟其他人種平等的上大學，所以需要加分機制，那黑人不就變得跟猩猩不一樣了嗎（簡言之：右狗認為部分黑人智商跟猩猩沒兩樣，沒那個智商上大學）\n雖然好笑，不過，我不是很認同右狗的種族歧視言論就是了，加分是一回事，種族議題又是另一回事。黑人不見得天生比較笨，更多的是環境因素造成學習成就低下。話說回來，最近美國大法官判拜登的學貸減免法案違憲，再看看我們台灣政府，還大灑幣給私校生呢，我們為什麼一定要讀大學？萬一到大學只學習左逼理論卻不事生產？還更高機率是8+9洗學歷？不符合市場競爭的學校還是慢慢倒掉吧。\n20230701 真開源或假開源？\n有些公司會負責任的寫出，我們的產品有使用開源軟體，並隨附原始授權條款，這很好，比方說我之前買過TP-Link的路由器，它就有附BSD紙本授權。不過切不可被這類行為迷惑，軟體包含開源組件？那整個軟體的程式碼有開源嗎？還是只有GPL的地方被迫開源而已？\n有些公司說他們支持開源，其實意思是說我們只對外提供一個二進位檔，所謂公佈的「原始碼」不過就是使用到的開源組件罷了，並不包含核心組件的原始碼。例如AidLunux，我嚴重懷疑它根本就是Termux套殼，Github公開的原始碼不過是示範代碼，完全沒有應用程式本體的程式碼。他們不回應質問，只強調自己是一站式的解決方案。\n其實他們也沒說謊，他們從沒說自己是開源軟體，但這就是某些公司狡猾的地方，他們覺得沒必要公開原始碼也可以吸引使用開源工具的用戶，可以用作作樣子的Github儲存庫呼弄使用者。現在連RHEL都能用收錢方式技術性的繞過GPL了，未來的公司濫用開源軟體還有什麼招數，我們不得而知。\n在尋找開源軟體時，要懂得甄別軟體的開源程度，防止被專有軟體誘拐。我認為賣SaaS的公司，起碼軟體客戶端要開源，伺服器端因商業考量閉源倒是沒關係，例如ProtonMail；當然像Joplin那樣能完全自架的開源軟體更好。至於依賴閉源的純網頁服務，例如Google文件，則要特別小心，並積極尋求能自架的方案。\n20230701 南方四賤客 翹你個小鋼盔\n改編：\n凱子：罵「綠色哥布林」事件根本就是個錯誤！\n阿ㄆㄧㄚˇ：就是啊，大家都能說哥布林，怪無聊的，我覺得還是塔綠班比較順口\n♫ 塔綠班，塔綠班，綠畜生氣有夠讚，大家都在嘲笑你們塔綠班，你看看你塔綠班。 ♫\n20230701 支國人民的感受真的太重要了，許多網站的維基百科條目都會特意開一章節談該網站在中國的封鎖情況，連中文介紹很短的Gab都有。\n幹，你國網路那種審查橫行的逼樣，每天封8964個網域，不配合政府言論審查的網站一朝全關掉，美國左逼看得都要甘拜下風。像Gab不做支國生意的，哪有閒功夫管支人能不能存取（雖然Gab有「右狗TV」這個右派反華群組就是了，我看得很爽），不能看色情內容的網站支人八成也不會主動上好ㄅ。如果換位思考，作為住在窪地的不幸支人，我一定默認上網全程掛TOR＋VPN，就沒有封不封的問題。編程隨想的經驗告訴我們，在現今世界的網路環境裸奔實在太危險了，尤其是中國。唉，太苦了，一直用VPN還會吃Captcha。\n20230630 Анархия-мама сынов своих любит. Анархия-мама не продаст. Свинцовым дождём врага приголубит. Анархия-мама за нас!\n20230630 如果這麼懂手機電腦，為什麼不去賣手機或電腦店工作？\n欸我不能昧著良心推薦客人爛貨ㄟ，用三寸不爛之舌行銷那些視軟體自由為無物，只想著用close vendor剝削使用者的品牌。買旗艦機可能還好，如果中低階手機我完全不敢推薦了。\n如果我現在去做，我會秉持一個原則：笨蛋一律推薦買iPhone，賈伯斯都說他設計的產品連笨蛋都會用；二號選手是Pixel、Samsung這些穩定又有長久支援的大品牌。我這樣做的是省得折騰中低階Android。另外，其實我是很不喜歡CP值手機的，偷料偷很兇，除非是研究用途，不然那些賣給規格控看的高CP手機我自己是不買單，遑論0元機。\n每次到手機王網站看HTC、Sony的廠商文案，真的佩服他們怎麼能把低階垃圾U吹得像寶一樣，誰拿手機會在意外型是什麼設計風格啊（不過Realme真的蠻醜的就是，HTC現在的設計風格也不見了），手機開機就破功了，程式多一滑動就卡。所以我真的很難推薦中低階手機給人，因為不懂手機規格的人到最後一定會後悔，然後說Android怎麼樣都比不上iPhone啦。\n現實一點說，中低價位的手機還是有市場在那，這時我就只好勉強推薦紅米機了。Realme不推單純是我個人不喜歡，它難以刷機。其他小眾品牌我難以推薦，容易買來就放生。\n我也不想以改機和Root為賣點幫人做收費服務，我認為那是使用者自己要負責的事情。以前不懂電腦，所以得請教專家來組，免不了被宰羊。現在我懂了，就更不可能為其他人昧著良心做收費服務了，網路上一堆教學。除非、他是想學Linux，而且是桌面版，那麼我願意仿效1990年代早期駭客們的聚會行為，免費協助組裝系統。\n20230630 I believe in Linux supremacy.\n寫自架的教學都是採取Linux first citizen的立場，雖然會稍微提及這個軟體跨平台，但其他平台部署過程我才不管呢，哼。\n只有Stable Diffusion這種才會顧及一般人的需求，把Windows的架設過程餵飯式的一步步慢慢寫。只有這個是特例喔！\n架設過程，基本上不論該程式何種語言寫的，我都用Docker compose架，這純粹是因為我懶，不想一個指示還要顧及5個發行版的指令，並且docker compose可以統一交給Portainer管理。所以除必要套件會提示外，剩下步驟都是用Docker完成，對外連線則交給Zerotier。Docker本身算開源軟體，這個沒有爭議，不過ZeroTier是商業軟體，競爭者眾，我覺得以後研究TailScale方案後，會將ZeroTier、Tailscale跟其他VPN服務總結在一篇文章，再把各篇文章提及ZeroTier的部份改為「這裡有一些虛擬區域軟體可以選擇」這樣。\n20230629 能不能不要再來了！\n走開！離開！走吧！\n這個也不行，那樣也不行？到底要怎樣啊你？\n滾出去，如果不從\u0026hellip;什麼，是我的故件的事情纏繞我的新肉體\n真是夠了。\n好的\u0026hellip;呵呵\u0026hellip;呵呵呵，哈哈這樣啊原來如此！懂了嗎！要走的不是\u0026hellip;!我啊！\u0026hellip;Die Endlösung\n心幽中的靈救贖解說之時，纏著叢中的那個\n從來！\u0026hellip;就次如此。約是這樣\n我也不瞭。（南方四賤客 凱子 語）\n20230628 以前我不知道變態辣椒先生為何要送小孩去教會學校，現在我明白了，美國woke太多，明明是少數群體，網路上聲音卻特別大、引人注意，還將違反邏輯事實的事情正常化，讓社會墮落，失去了woke原本的正面含義。\nBut, if you\u0026rsquo;re thinkin\u0026rsquo; about my baby. It don\u0026rsquo;t matter if you\u0026rsquo;re black or white.\n20230628 快看李敖大哥大 打開天窗說亮話\n狗男狗女我全罵 好人喜歡壞人怕\n酸甜以後又苦辣 擺平以後又上下\n只有真理沒八卦 快看李敖大哥大\n20230627 太陽花運動是一個暴民奪權的故事。\n當初反服貿，正確來說反的應該是黑箱審查，而不是反對整個服務貿易協定。到最後10年過去，兩岸監督條例依然沒立法，服貿無限期擱置，所以究竟當初我究竟在跟著反什麼呢。記得十年前在地方性的夜市，還有人發服貿的危害傳單，時代力量也會在公園大聲演講。看電視上群眾抗爭運動的時候很是激動，不知道從什麼時候就搞錯抗爭方向了。\n現在我的老師試圖用非常手段來為太陽花暴動辯護，說體制失靈才要體制外的行動來改革。而要我們評價服貿的看法的時候，我寫的是：公民不服從自是人民的權利，就不要之後成為政府的肉喇叭。\n島嶼天光指的恐怕是，政黨輪替，換了個更偉光正的政府上台，奪權成功的耀武揚威吧。太陽花運動喚醒了一代人的公民意識，但其結果卻是少數人得利的樣子，還有自以為正確的反中正義，最會溝通的政府，呵。\n20230627 誕生日。\n甲虫王者ムシキング ～森の民の伝説～ OP 「生きてこそ」\n媽媽生我的那一天 天空是什麼顏色的呢 爸爸在我誕生的那一天 是什麼心情 之後我學會說話 愛還是撒嬌都深入我身 從那之後不斷重疊的奇蹟 不管是我相應的愛還是邂逅 都希望繼續成長下去 正因為活著 正因為活著 現在從此開始 正因為活著 正因為活著 拓展開來又連結再一起 正因為活著 正因為活著 無限展翅的夢想 (翻譯：marumaru)\n能出生並活在這世界上，心中只有萬分對家人朋友的感謝。\n20230626 五月天 - 生存以上生活以下\n奇怪呢 很久以前 我是很有 想法主見 心跳很執著\n一天一天看日昇日落 看月圓月缺 年復一年的經過\n曾經我也那麼獨一無二\n怕潮起潮落 怕患得患失 錯了又錯的疼痛\n終於我的生命只剩生存 活著只會呼吸吃飯喝水的生活。\n有時會有的想法吧、進廠做朝八晚久的工作，消磨心智，成為世界的奴隸。每當沒用到腦卻勞累到昏天暗地，下班後只能躺平無法思考任何超越現實的事物，只要想著\u0026hellip;我要像別人說的努力賺錢買房\u0026hellip;順便愛情就會到手\u0026hellip;別想些有得沒的正義與理念，汲汲營營的賺更多錢才是王道。那些正義的事情、對人類高層次精神有益處，一深入關心就會痛苦的事務並不值得關心，日常的休閒娛樂打遊戲、看膚淺的連續劇就可以了，只求滿足感官刺激。這世界螺絲釘太多，工程師太少，魔法師更是罕見。\n\u0026hellip;我的腦袋告訴我不能這樣，現在還有機會可以避免走入這種DEAD END。\n20230626 魚デニム老師畫的同人本裡面比較好看的二本，都是Fate的二創。雖然其他本也有畫出他特有的肥嫩屁股，但這二本裡面多加了戴套套的畫面，使得女角的肥屁股騎乘情節更色了。巨乳搖晃，肥嫩的屁股壓在男主身上，陰唇畫的宛如橡皮圈，緊緊圈著雞雞榨精。他畫的屁股比搖晃的巨乳還讚，並且會依照情況變形，遠看女角的屁股都很正常身材，一旦鏡頭來到騎乘位，屁股就會突然畫的很有肉感。真是特別，一些繪師的人物要嘛就是正常身材，或是隨著屁股大小肉到底，魚デニム控制屁股美感的方式真的高招。\n(C94) [セルビッチ水産 (魚デニム)] S\u0026amp;N (Fate/Grand Order)\n南丁格爾和三藏被藤丸逆推，變成洩慾機器。這本比較讚的點在於藤丸瘋狂背後式盡情交配的姿態。\n(C96) [セルビッチ水産 (魚デニム)] 限りなく透明に近いB.B (Fate/Grand Order)\n這本則是藤丸被BB調教，在輪迴中不斷射精的故事。BB給藤丸戴套的畫面欲罷不能，並且BB那種肥嫩屁股的連續騎乘壓榨，使得藤丸每次都抽插不到50次就射精了。雖然最後有試圖反推BB一下子，但故事很快就沒頭沒尾的結束了。\n20230625 免費軟體常常是一種陷阱，就跟阿斯托爾福一樣，明確的陷阱。\n宣傳軟體的時候，用免費(Freeware)常比宣稱它是自由(freesoftware)要來的吸引人。所幸在多年自由軟體運動下，free software現在多半是參考自由軟體的指標。\n因為以免費作為號召，卻不把自由和開源等特徵寫上去的軟體，一看就是做賊心虛。用免費拐進來，成為專有軟體的俘虜！\n20230624 讓網站逃避追緝，遁入虛數空間。若不定義為存在，則世界便無法成立，一般人無法觸及的空間，同時也是審查的髒手無法阻擋之處。\nZeroNet和Tor網路一直很想嘗試，或許還可以縫一點去中心化的技術。這樣的話不論現在用的是什麼代管商，不論網站有沒有被牆，都能自由存取。\n20230624 小尾巴說的不錯，BC Lowy、好色龍之流確實是很糟糕的翻譯代表，他們翻譯東西一沒合法性，二又出現營利行為，三又出現壟斷話語權現象。\n小網紅爆氣開嗆人氣頻道，沒想到卻用力打了自己臉。中文翻譯\n我以前也看這些翻譯影片，甚至我自己就翻譯過一些Minecraft歌曲。當學會外語就可以拋棄這些低品質翻譯來源了，何必吃二手情報的垃圾，尤其是試圖掌握話語權的人。我厭惡那些在Facebook上翻譯搞笑內容再加一堆浮水印的人。抖音因為有時間長度限制，盜片只會更誇張。\n還好我FB和Twitter幾乎沒在看中文粉絲專頁了，尤其是ACG和搞笑來源方面。我的動態牆都看國際報紙，頂多追蹤一些不錯的文藝自媒體。\n但是這樣也有點地圖砲，建粉專分享外國情報順便翻譯難道也不行嗎？ACG方面的漢化組難道不也是這種性質的工作嗎？吃飯罵娘，其實有時候下載網路資源，我也覺得有些漢化組的水印加太多了，音樂頂多有個txt附檔，但影片和漫畫就會嵌入一堆漢化組的水印，醜死。理想情況下，我覺得下載字幕配原音影片應是最好的收藏方式。\n這種「盜版翻譯」的灰色產業有賴於互信機制，我認為解決方式，可能就是將參與翻譯的過程，弄成開源協作模式，大家都用Crowdin之類合作，這樣就沒有利益競爭了。雖然我現在沒在做大規模影片翻譯了，但這是我接觸開源軟體翻譯工作所得出的結論。\n20230623 就像神友的105：106屠支梗被粉紅偷走一樣。\n塔綠班以前被偷走，變成塔白班，結果發現，金排球。\n現在是綠色哥布林，變成柯布林，一樣金排球。\n好的， #塔綠班\n20230623 語言可以潛藏思維。我很猶豫該不該繼續當支黑，該不該用支那稱呼中國人。\n對待中國的態度：\n第一層次，支黑。反中反到底，將中國人視為下賤的支那人，棄之如敝屣，一提到中國有關就將其貶的一文不值，境內民主人士做的事情都是徒勞，中國只能被核平。\n第二層次，民運。認為中國人還有點救，只要推行民主政治，中國也能成為正常的國家。\n第三層次，理中客。與中國保持亦敵亦友的平衡關係，並在國際間尋求台灣的最大利益。\n可惜第三層次那是很難做到的，在美國和中國帝國主義的夾殺下，台灣要找到自己的位置，真的得選邊站。非黑即白的思維，也只會撕裂二國人民的關係。這句話說的意思不是基於血緣的關係，而是歷史上的複雜關係，二國之間是國與國之間對等的關係，就算敵對還是要交流。好吧，這樣說習包子又要不開心了。\n今次的重點在於支那的用詞，現在我們不會稱呼大陸 —— 因為那已經不是祖國了，而中國算比較中性的用法，至於支那人就是帶有侮辱性質的挑釁用語，好比說，台巴子、黑鬼、塔綠班這種，因為你知道對方聽了會不開心所以才講。不論背後講這支那這類用語的動機為何，在某種程度上就是仇恨的體現，比講習包子等調侃用語還要嚴重的等級。所以，不該養成講仇恨用詞的習慣。那不講怎在網路論壇壓過別人氣勢\u0026hellip;那就不要參與同溫層的戰爭就好了啊?\n嘖嘖嘖，我也快要變成盲目慈悲聖母的左逼了，忠誠不絕對就是絕對不忠誠。\n20230623 呼叫葛特曼\n鄉民告訴你一個 #酷酷的諧音梗\n賴功德 = lie cheater\n這可不比柯liar好笑多了。\n支持他，你的朋友就是\u0026hellip;\n回答的像个傻逼，去死吧。\n哈哈你语言混乱，我建议你去看医生。\n20230622 圖片附件\n向誘惑的App說不！\n從社群媒體到購物網站，總是會慫恿使用者下載APP，方便監控與綁住用戶，不過我覺得手機網頁版大多時候就已經夠用了。沒有非常常用的網站，我就會用網頁版，或者用第三方開源客戶端。\n台灣和歐美對手機版網頁考量較好，手機網頁也能有六七成功能，發文和結帳不是問題，我不需要那些直播和滑動看短影音的智障功能。而中國網站普遍是地獄，有時候只是想看個訊息還會偷下載APK，需要切換電腦版網頁才能用。\n中國的QQ和Line一樣是垃圾，連網頁版都沒有，所以QQ我也沒再用了，我討厭聊天被共匪監控。在中國的社群網站上，我都是叫追蹤我的人直接寄Email聯絡。\n20230622 最近想找運用LLaMA技術的應用，用於翻譯文件\u0026hellip;好吧，看來還是沒有人做出來。或許去用DeepL和ChatGPT的專案可能還比較快，但我想要真正的離線AI翻譯啊！\n大伙知道最近几个月有LLaMA模型出现，所以兴起自建AI的风潮，只要有显卡，本地跑类ChatGPT不是梦。我们姑且用洋人叫法，称其为LocalAI。\nReddit有人问说，LocalAI会不会重演Linux碎片化的问题？开源虽好，但没有组织推出杀手级应用，最后各家模型只会变成极客网上自爽的产物。\n各家基于LLaMA模型的性能只有无穷趋近GPT 3.5，另外应用层面也稍嫌不足 —— LLaMA的变种太多，还有GPT4All这种误导性的，加上Meta并没真正同意开源使用，致使采用LLaMA相关技术的软件质量都不太好，本地搭建感觉是给Linux老嗨玩的，要搭建网上服务就更不可能。说白了，LLaMA不够傻瓜和平民化。可能还要等几个月才会出现开源的竞品，还要防止其他商业公司抢先霸占AI市场，使开源社群错失先机。\n20230622 因為接觸過Firefox Relay，順手訂閱了Mozilla電子報，但現在有點想退訂\u0026hellip;我覺得Mozilla的議題跟自由軟體基金會一樣，會充滿道德綁架。其實這樣說也不大對，自由軟體基金會關心的事物比Mozilla還抽象，所以我很難有實地參與，而Mozilla的號召就比較接近大眾，例如他們會揪團到美國行政機關抗議。最近Mozilla「又」要求我捐錢的理由，是因為他們想研究抖音的演算法如何使人上癮。他們已研究過Youtube演算法，發現其會傳播偏見與有害內容，迫使Youtube將演算法政策更透明化公開。對的，現在我的Youtube首頁都是南方公園的內容。他們想知道抖音會對孩子造成多大傷害。\n因為這個觀點清奇，加上Mozilla大概一週才一封電子報，所以我決定繼續訂閱。\n你捐多少！？抱歉我是窮鬼，每年捐給開源組織的錢可能買支低階手機都不夠。\n20230621 「九相圖是一種日本佛教繪畫題材，是按墓園九相去繪畫9個屍體腐化的過程。所謂的肉身美色無非就是一個『臭皮囊』，是一個會移動的『垃圾箱』，看似美麗光潔細膩的皮膚包裹著的無非是屎尿糞便、肥油膿血而已，正是所謂九孔常流不潔物。」\n人間只是一場夢。為什麼既要貪戀現世的欲望。我希望再加以擴充這個觀點，為何不貪戀現世，死後就能到極樂世界解脫？羅馬皇帝奧理略說，那些偉人都到哪裡去了？他們像一縷青煙一樣消失了。為此這個世界無我，就再不存在，成就以及名聲都是暫時的，死後帶不走，我們死後也無地方可去，就是回歸塵土。\n波赫士認為：歷史其實也屬於一種幻想。\n我們永遠不會活在過去，也不會活在未來，更無法活在當下 ——— 每當我有思慮的時候，思維馬上就變成過去了。那種時光無法追溯，只有名為記憶的事情存留下來。而如果不將記憶凝固成碑文、書籍，我們在人們的心目中就永遠消失了。每天都有人在遺忘事情，還有人會死。如果我希望能永遠讓人記得我，也就是我存在的證明，流傳下去，那會是多久的時光？要到地球被太陽吞沒的時候嗎？用外星人無法理解的語言刻在金唱片走到宇宙的盡頭？\nDaniel Czepko：在我以前沒有時間，在我以後沒有存在，時間與我同生，時間也與我同死。按照禪宗說法，雖然現世短暫，但若能有所了悟，仍是可喜的。了悟到人生短暫，把握當下，不為誰而活，而是為自己而活。\n20230621 真實兒童色情應該管，虛擬作品不該管。\n日本虛擬的兒童色情漫畫，比真實還不真實。漫畫家常常為了性慾化小孩，將兒童的身體接上大人的身軀，於是就會看到設定上小學年紀的女孩，擁有肥嫩的屁股與漂亮的身材曲線，漲紅的乳頭，並且有豐富的性知識，口交技巧純熟(例如：魅惑的眼神配上幫你哈的手勢)，還懂得自己扭腰主導性愛場面，這是很不現實的東西。\n也有漫畫家刻意走寫實風，不強調性感身軀而強調成年男性侵犯幼體的畫面，參考真實新聞、暗網流出片段繪製而成的強暴未成年少女的漫畫，有些甚至年齡下降到對象為嬰兒，或是繪製兒童與兒童性交的畫面。這種的會落人口實：如果漫畫家沒看過真實兒童色情，怎麼想得出侵犯蘿莉的劇情！兒童就是先被剝削的才有虛擬兒童色情漫畫，故虛擬兒童色情應該被禁止。創作與現實世界的事件這沒有必然關係，說漫畫的劇情受到真實世界的影響也好，可是你怎麼解釋那些更重口的劇情呢 —— 世界上有人被殺，所以不該製作暴力電玩？暴力電玩跟虛擬兒童色情都有固定客群，所以販售這類商品是在侵害現實兒童？兒童性犯罪者多半持有兒童色情製品，不絕對代表是因為讀了這些作品才有犯罪動機。大多數人的行動力，可能還不比讀了共產黨宣言於是想解放全人類，奪權亂殺人的左逼康米要強。\n按照作品完成後作者就死了的理論，我傾向相信，藝術作品本身是沒有特定目的的，重點在於觀賞作品的人，本身有怎樣的想法去詮釋並指導它自身的行為。故法律可以禁止色情作品放在顯眼處給小朋友閱覽，卻不能完全禁止其存在於世界上。\n通常會讓一般人覺得色，想當熊頭的，仍是強調性感身軀的幼女居多。這種幻想的幼女畢竟只是幻想，現實不會有這種頭腦伶俐，身體性感的小女孩出現。且為規避犯罪嫌疑，漫畫中的女孩常常自稱自己是900歲的老妖婆。\n你可以基於所謂普世價值觀(即使那種價值觀是歐美強加於世界各國的)不喜歡虛擬的東西，但是不能立法禁止表意自由。尤其在網路世界，此種行為不可能禁絕的完。那麼如何不越過法律的界線，一切看自己的造化。\n20230621 聽你在唬爛。\n「不要去想自己的人生在做什麼，應該要問怎麼做才會爽。」\n如何用考研究所這個理由合理啃老多年 - Dcard\n說的對。\n【國動】啃老教學 額外加開男女關係小教室by蔡播\n20230620 Google已經把Android打磨得很好了。\n有時會想，是不是沒有真正的自由。如果用Android手機，是不是完全按照Google的意思走是最好的。Google打造了一堆生活常用的APP，並且最近給Android拉皮頗有成效，現在Android系統多了一致性的動畫，應用程式風格用Material You規範了，跨裝置互動也盡量用雲端服務補足了，還有什麼好挑剔的？Pixel縱然bug一堆，但不是也想在體驗上叫板iPhone的旗艦機了嗎？\n如果真是這樣，那麼使用Android，就不要肖想AOSP加上自由軟體能媲美Google的體驗。如果說Google這種高強度手機的整合仍被人嫌不夠完美，那麼連轉場動畫都做不好的自由軟體（部分）就更別妄想了。clunky，這是我最近學到的字，指UI很原始、破舊，而很多自由軟體確實有這種問題，他們專注寫程式而忽略介面設計，或是不懂得善用Google提供的框架統一設計語言，用iOS思維下去做Android APP這樣。\n所以，使用Android機，接近原生系統，我們是否不應該挑戰絕對的權威 \u0026ndash; 那些躺在手機裡的Google Play服務？如果把他們移除了，degoogle了，你只會讓接下來的日子更難過。使用Android機，就該尊崇偉大Google的指引，習慣讓Google管理密碼\u0026hellip;相片\u0026hellip;等這樣的生態系。現在，我只能盡量找替代品，但無法脫離Google。\n20230620 Android的Firefox難用越來越明顯。第一個直觀地感覺就是，Google自Android 12加入越來越多的轉場動畫，例如瀏覽器滾動到底會有反彈視覺效果，這些Firefox都遲遲不肯跟上；黑暗模式切換要重啟APP才會刷新。此外，Android應用程式自動填入密碼Firefox有做，但是難用，它無法整合到Gboard直接填入，它還要彈出框搜尋，甚至很多時候密碼框不會觸發Firefox的密碼機制，而Google卻是連個別APP的密碼都能儲存。\n再來就是網頁彩現的問題。不論Google是不是故意的，搜尋網頁常常在Firefox壞掉。有時候就算裝了Google Search Fixer也修不好。Firefox很多網頁載入會有小問題，大家都以Chrome為唯一標準，忽視最遵守HTML標準的Firefox，Gecko引擎實在太可憐了。\n以上這些因素使得Firefox開始難用、落後。最後在手機用Firefox的理由，只剩下擴充功能，和支持自由軟體這幾點了。我認為uBlock Origin應不會拖慢速度，但Firefox用起來就是比Chrome還卡，真是因為缺乏動畫？現在不論手機還電腦，我是二者混用。恐怕Firefox只能用在私人用途，需要正經網站和工作都得用Chrome才能良好體驗。\n20230620 印度麥可：硬了！硬啦！硬了！硬啦！硬了！硬啦！\n這個黑歷史我不知道要不要寫\u0026hellip;我最早玩飛機杯是用土炮方式製作的，也就是拿一個罐子，然後裡面塞海綿，再套上矽膠手套，就變成一個還算緊的飛機杯。當時也不知道潤滑液哪裡買，所以都是用沐浴乳當潤滑。一開始抽插的感覺不賴，第一次體驗到包皮被迫完全翻開的感受（以前打手槍通常都只有露出一點），也慢慢習慣讓龜頭能不斷被摩擦。不過，那畢竟是土炮的，摩擦久了會痛，而且沐浴乳刺激性太強。於是試了幾個月後才真正去買飛機杯。\n剛開始笨笨的挑了一個無牌的，用起來甚至緊度不如土炮。後來只好請教專業意見，隻身到情趣用品店問店員詢問，才挑到比較好的。然而，我過了幾個月還是不滿意，遂上網找資料。除了PTT的sex板外，Komica2的「成人玩具」板也是個好資料所在，並且輾轉得知日本有onahodouga這類專業網站。這個時候我的訊息變得多元，所以有能力做更好的選擇。雖說如此，仍沒考慮長度的問題，買了很貴的Magic Eyes處女宮卻發現不實用，頂不到底啊。處女宮無法頂到底無法充分享受，我試過用剪刀剪短以求能達到更深處，結果卻仍是普通觸感，還損失漂亮的外觀，之後就丟了。。來買二重螺旋和四重螺旋才真正找到滿意的，很難有飛機杯能像四重螺旋一樣平衡。我似乎是比較愛硬版的飛機杯了\u0026hellip;一般軟的飛機杯只能說是愛撫玩具，就這幾年來的每週使用頻率，主力還是硬版的飛機杯。\n20230619 脫離色情，外國網站還有什麼。\n一般人多是從中文論壇開始混起的，才會去接觸外國論壇吧。曾經我也以為Twitter和Reddit是專門用來看色情內容的，搜尋老司機帶路的方法，只追蹤日本H漫作者和美國大咪咪板。這點跟翻牆的下體升級中國人如出一轍。後來，漸漸將學到的英文和日文內化後，才知道這些地方是可以正經討論事情的。開始在Twitter發表我的作品與想法，新追蹤一些科技帳號，了解最新科技趨勢。政治方面，看美國左右派大戰，還有屠支、塔綠班、死媽粉紅的激戰。Reddit則是同時接觸Linux討論板，還有沖浪TV等等。這些改變使得我能夠漸漸融入外國論壇，乃至於到Tumblr和Discord伺服器、Mastodon、E-hentai、Github，能真正做有意義的討論，並做出貢獻。\n另一方面，Tor、Duckduckgo、比特幣一開始也是為了色情用途才了解的。Tor可以進入暗網，搜尋到在美國會被逮捕的圖片；比特幣能捐錢給E-hentai和買東西。膚淺如我，或說許多人可能玩一下暗網就走了。但現在我發現Duckduckgo是對抗Google壟斷的好東西，Tor更是加密通訊的必備要素，比特幣是Web 3.0的前沿技術。我便不再將它們用作違法用途，而是轉為正義的用途上了。\n20230618 我覺得我還是比較愛塑膠殼的手機，金屬其次。前面二個不容易看出歲月痕跡，而玻璃背蓋實在太容易弄髒了。\nSharp居然能做出大電量又只有150g的手機，螢幕也很漂亮。這讓我很想買，但是該廠商聽起來很容易放生產品，且這種小眾品牌一放生也沒得刷機了。\n而且Sharp手機仍有瀏海\u0026hellip;唉我覺得下支還是忍痛繼續買Sony好了，Xperia 5 III聽說也有綠線！好吧，未來委屈點，買註定跳水的Xperia 10 V！s695帳面性能已經快追上我手上這支舊SoC s845了，加上雙喇叭、重量輕、塑膠殼，中階機也有較多刷機機會，我覺得Xperia 10 V是可以考慮的選項。\n20230617 這就是2021年以來我愛看沖浪TV的原因之一。\n沖浪TV是我所见过最理智，最自由的地方。在那里，色欲被正视，失败也只是一种人生状态，他们甚至尊重无良商贩，家徒四壁也不会成为交流障碍，每个人表现出如儿童般直白的索取欲。他们拒绝一切伪善，相信伟大终究平凡，正视成功学的无用，他们知道奋斗和努力是比回避更低级的社会性遵从，是弱势者存活的借口。而挣脱一切的第一步就是反其道而行之，停留在时间与空间的夹缝，他们的不思进取是看透，他们的不学无术是反抗，毫无光彩的人生是沉默的接受，下水道般的生活是为了更好的仰望星空\u0026hellip;\n20230616 印象深刻的島民，不知道是不是真我複。\n我現在25，偽尼特，大學被退學，不敢跟家裡講，高中學歷出去沒人要，也不敢出門找工作，怕被洗臉。現在住家裡，每天早上都8點準時假裝出門上班，在外面吃早餐到9點，家人都出門了才偷偷摸摸回家打電動，反正住家裡不用水電房租。沒錢吃飯就去老媽錢包順幾張鈔票。唉，我真的很垃圾。我都跟我媽說接匯錢給我繳學費，我媽也說ok。被退學的那個禮拜我還偷偷南下回家，想攔截通知書，白天躲在家裡，晚上就出去睡網咖。唉，真的跟賊一樣。我今年發給父母的紅包就是用我從老母錢包裡面A的錢包的，還要很開心的說是我用自己的薪水包的。唉別說了，越來越覺得自己是人渣。我媽做生意的，錢包裡面常常都一大疊小朋友，少個幾千根本不會察覺的，更何況我一個禮拜頂多抽一張1000而已。\n20230616 不要成為incel\u0026hellip;即使如此，我還是討厭這個世界，包括我自己。リア充都該爆炸。\n「非自願單身」：為何外貌與兩性關係焦慮，會引他們掉入網上的仇女黑洞？\n20230615 不工作也有哲學理論支撐，例如犬儒學派、無政府主義。但是不工作\u0026hellip;整天讀左經上網跟人辯論是吧\n拒絕工作- 維基百科，自由的百科全書\n20230614 我真的會笑死，鄉民不用VPN怎麼還敢在八卦板留這種言\n[問卦] 為什麼女生工作那麼愛講話？\n→ aure0914 09/03 17:56八婆欠幹\n→ aure0914 09/03 17:57再講就用屌塞住她們的狗嘴\n20230613 我們的attention span已經被社群媒體偷走了，為此，我儘量一天只開Facebook/Twitter/Reddit其中一個1次，不超過5分鐘，這樣就會逐步養成不用社群媒體的習慣。等到我覺得不看也沒差之後，就可以將過去用10年的社群媒體帳號刪除了。\n為減少干擾元素，Google搜尋採用SearXNG替代，Youtube用第三方客戶端存取，避免看到首頁推薦台灣智障Youtuber影片和短影音的髒東西。一切都是要我主動研究、搜尋才會跳出來。非工作的時候，看網頁常時開著uBlock Origin。接著，我要學習使用RSS閱讀器讀部落格網誌與新聞。\n20230613 左逼是只講立場，不講事實與邏輯的。最近娛樂圈政治正確的現象愈發嚴重，應該聽聽這首歌\nMichael Jackson - They Don\u0026rsquo;t Care About Us\n20230613 現在是同志驕傲月，然而我唯一認同的彩虹旗幟，只有中華民國北洋政府五色旗！！！\n不過這之中包含meme的成份，而且我覺得五族共和不是一個好的理想，漢人壓迫少數民族太久了，中國早該解體成立諸夏了。\n20230613 Google Family Link和其他監控軟體，完全是侵害人權的工具。我們應該都會有這樣的認識：安裝監控軟體，意圖查看對方Instagram什麼的紀錄是犯罪行為，屬妨害祕密犯罪。可是為何家長監控就沒有問題了呢？就因為他們是限制行為能力人？同理，我也反對干擾自由存取網路的色情守門員。\n在學校等受控的環境，可以使用軟體限制使用者權利。但對於使用者自身擁有的裝置，則不該干涉其自由，裝設監控軟體。\n與其阻塞，不如疏通。閱讀相關書籍，決定要不要給未成年人數位裝置完整的存取權。一旦給予，就不要再加額外限制，而是懂得用溝通妥善使用數位裝置。\n20230612 人們在生活中不如意的時候，找個東西來恨是最簡單的逃避問題方式。都是因為XXX才怎樣\u0026hellip;XXX不意外。如果聚成群體，塑造共同的敵人，就算那敵人是一個空泛的主義\u0026hellip;也會集結許多人的向心力，這稱之為取暖。當反對的內容不具體，沒有準則的時候，極權就會悄然喧賓奪主，在那之後，成為唯馬首是瞻的一言堂。堅定一致的步伐，為了我黨的崇高信念，只有我可以拯救大家\u0026hellip;消滅敵人，不許有異論，否則就是叛徒。\n當察覺這種情況的時候，你，我，他，就要勇於成為奧古斯特·蘭德梅賽 —— 二戰時期拒絕行納粹禮的德國人。\n20230612 過份重視意識形態大於實際效用的不是真理，是偏執。\nLinux被左逼入侵，早在2018年就開始了。在Linus宣佈休息一會的時候，便出臺了尊重LGBT權益的Code of Conduct。在那之後，對LGBT不友善的Linux程式碼貢獻者，在根本沒貢獻過Linux程式碼的LGBT活動家倡議下，慘遭剔除，即使他的地位舉足輕重。 Linux 拥有了新的行为准则，但是许多人都对此表示不满\n政治正確可不敢亂說話，這時就要拿Richard Stallman當例子了：Richard Stallman returns to FSF 18 months after controversial rape comments。他在2019年評論Jeffrey Epstein案講了不好聽的話(他堅稱是基於邏輯判斷才那樣說)，隨後在學校遭到抗議，多家企業揚言斷絕FSF的金援。於是Richard Stallman把麻省理工職位辭了，發了個不情願的道歉聲明，結果幾個月後還是回任FSF會長了。但其實整件事來看，完全是一些人在小題大作，搞取消文化，Linux社群也不乏支持Stallman的人。\nI am one of those “woke communists”: Linus Torvalds\n最近Linus Torvalds說因為版面很亂，退訂紐約時報，結果有人留言說「左逼報紙不看也罷」，結果他說你最好快取消追蹤我，他可能是站在woke一方的，他支持同性權益、女權、pronoun\u0026hellip;他說他退訂紐約時報是因為網頁版面很亂，不是因為厭惡woke。\n這個我倒覺得得沒什麼，我支持他。Linus Torvalds支持的是普世權益，而不是到處出征人的極端左逼。還有說因為這種政治因素，我去用OpenBSD好了\u0026hellip;隨便，畢竟有人連Systemd都能反。\n但老實說，我覺得Linux社群沒有必要刻意支持同志月\u0026hellip;KDE和GNOME把他們的圖示換成彩虹，恐怕只有suckless.org屬於對同志月完全沒反應的社群，喔他們看到彩虹搞不好又可以罵一整天了。我不是同志，沒有利益驅使下所以我覺得沒必要慶祝同志月。正如端午節、中秋節、生日與我無關一樣。\n20230612 我們不自覺的文筆最好的時候，總是在罵人的時候。\n我怎麼就管不住這賤嘴呢，對什麼都有意見。如果我能將鍵盤花言巧語的功力分一半到嘴巴上，我就有幹不完的妹了，不過更有可能被告性騷擾就是了(不忍噓)。我一直在控制自己，不要忘記自己不是在網路上了。\n20230611 振聾發聵。\nRe: 討論 SJW或政治正確影響觀影嗎？ - Ptt Movie板\n「所謂的樣板主義，指的是為了要在最膚淺的層次上，達到帳面上所謂的\u0026quot;多元性\u0026quot;(diversity)與\u0026quot;包容性\u0026quot;(inclusiveness)，而刻意、敷衍、且僅僅是象徵性地在創作中安插弱勢族群的角色。」\n「極權主義有一個簡化過後但是很精準的解釋:\n1.在極權主義下，你有跟大眾同調的自由，但你沒有跟大眾不同調的自由。\n2.在極權主義下，你有跟大眾同調的自由，但你沒有對於大眾同調與否，不表態的自由。」\n20230611 有時候真的要感謝Google，雖然我不喜歡它的壟斷。Google文件的興起使得許多台灣食古不化、以為Microsoft Office等於一切、連基本文書都要死賴著Office 2007不放的老人，能夠被矯治改用雲端文件編輯，並學習共享文件。此外因為有瀏覽器就能操作，故Google文件沒有平台限制，Linux系統用戶也能受惠。所以我線上用Google文件，本機用LibreOffice。不過Google文件仍有依賴閉源軟體的風險，如果要推行真正的雲端辦公替代品，那必得是Collabora Office。\n至於Apple搞笑的iWork，因為有網頁版偶爾我也會開來玩一下，這東西真的除了版面設計比較漂亮以外一無是處。那\u0026hellip;現在流行的canvas呢？狗都不用。用Google文件都有資料被平台掌控的風險了，憑什麼要用canvas那種封閉的網頁程式？不只進階要付費，還有格式無法掌控的問題。這就跟用Photoshop被綁定使用psd一樣，封閉平台百害而無一利。\n下一步需要矯治的，應該是不學習用專業統計軟體，以會用Excel便驕傲自居的人。還有，人們過度依賴doc、ppt、xls的習慣。有人現在還不知道docx格式的存在呢！如果Google文件能將下載檔案的格式預設改為odt就好了。\n此外，沒有Adobe軟體，工作與生活便完全殘廢的人，也是需要矯治的對象。\n20230611 名言警句\n\u0026ldquo;The woke mind virus is either defeated or nothing else matters.\u0026rdquo; \u0026mdash;- Elon Musk, 2022.\n20230610 烏克蘭被俄羅斯侵略是自找的。\n去年在上憲法課程的時候，老師的口中似乎隱含這層意思。烏克蘭政府既然要保護人民，自然也要做到避免開戰這點。\n去年還有一篇紐約時報的社論：烏克蘭戰爭發展至此，美國難辭其咎 當初我讀來很驚世駭俗，但仔細想想也不足為奇了。現在的美國政府，就是世界第一大亂源。抗中保台，自也要做到避戰這點。同情被屠殺的烏克蘭人民，他們最終沒能保護好自己。\n要讓人民為什麼正義、利益、民族驕傲去死的國家，乾脆毀滅就好了。\n20230610 強盜拿扁鑽搶銀行，沒看到警察在後面舔芝麻。\n強盜=塔綠班，扁鑽=軍火，搶銀行=施行台獨，分裂中華民國，警察=侯侯，芝麻=支那\n幾個酷酷的諧音梗。\n20230608 自由幻夢。\n至今追求過的事情，沒有一項對未來有幫助，或者說能直接帶來利益的。按照人們的成功定義，未來的人生就是要能靠自己的專業能力賺錢。但是，我既沒有深厚底子，又不懂得用三寸不爛之舌包裝行銷自己，那自然造成追求的事物變成空笑夢一樣的存在。\n就大眾的定義而言，人生是失敗的。\n從小時候想學習繪畫，到想當作家，以及在那之後意圖成為程式設計師，爾後又想當歷史學家，或是放棄一切加入國軍成為飛官，再來到現在自由軟體的追隨者 ——— 這之中完全對未來沒有建樹的作為。沒有說這些職業就一定餓死會沒出息的意思，不過沒有向前踏出務實的一步，就是註定永遠只能當個業餘愛好者的成份。興趣涉獵廣泛，自由探索，底層的解釋即為未定型統合的顯現。如果說一個人在經歷看似許多事之後仍然不知道目標在哪，那麼就是處於失敗的一方了。為了生存，便只好做著次之、第二選擇的專業技能做為求生之道。\n自由帶來的竟是幻夢，由此湮滅於上班出門的車銷煙塵之中。\n20230608 不願放出核心原始碼的Android手機廠商，人們應該拒買，這是對Linux自由軟體協議的褻瀆。\nBootloader不給解鎖的也應該抵制，侵害使用者自由。破保固沒差啊？完全不給解鎖工具又是另一回事。如果廠商把刷機視為破壞行為，一解鎖便無法復原原始功能(例如Samsung Knox熔斷)那就更可惡了。\n結果目前只有Google做得最好，其次是小米、一加，還有Fairphone這類企業。對的，我們不喜歡Google壟斷的態勢，但因為Pixel是自家設備，相關的編譯文件相比其他廠商更為清晰明瞭。小米旗下的手機則是有低價格的優勢，並且相較於低價競爭者Relme，有更多刷機的可能。\n以我自己的經驗來說，買過Sony Xperia 5 II，意外的是Sony其實也有固定放原始碼，雖然說網路社群花了2年才有人做出LineageOS的ROM，並進入主線。Sony在市佔一直掉的情況下，但他們仍開放原始碼，值得敬佩。Xperia 1系列以後的機子，解鎖後失去的功能不若過去那樣多了，不需要備份TA分區什麼的，只要鎖回去那些功能馬上回來。\nAndroid手機不可避免的都含有專有韌體，但這是可以協商的部份，至少廠商必須要放出核心原始碼，專有韌體部份網路社群總會有人能想辦法從官方ROM抽出來，這樣起碼能讓開發者編譯出能用的第三方ROM，甚至能以自由軟體替代原廠軟體，還能免受限於原廠支援年限。\n20230608 要當新時代的靈子駭客。\n最近一個月，PTT的MobileComm看板因為有人三番兩次發「iPhone比Android優越」文章，引爆一長串系列文，後續討論的人都被水桶了，哈哈。\n有人說手機哪比得上薪水重要，會比手機是學生在幹的事情；有人說二者都一樣，根本沒人在意；有人說拿Android的就該天生自卑\u0026hellip;我不知道人們為什麼那麼愛追求名牌，好像拿Android機是路人甲，一拿出iPhone別人就競相問你這是i幾i幾一樣，真無聊。\n就我的立場而言，因為我當雙槍俠，所以較不會無腦偏袒一方，這又不是在選舉。\n可是，我是真的覺得iPhone比Android難用的，因為真的很不自由。即使蘋果已經對第三方開放許多API，仍然比不上Android。Android假設買到沒有一堆災情的旗艦照樣可以用得很好，加上我喜歡幾乎都是自由軟體組成的環境，所以我認為Android還是比較好的選擇，彈性高。從最底層的因素來看，我喜歡可以輕鬆「駭入」的裝置，也就是客製化系統，所以才會接觸PinePhone這類實驗性極高的Linux手機。而實務上，能擔當日常使用又能駭的手機系統，就非Android莫屬了。不要被大多數人的選擇迷惑：即使手機商業上很成功，卻不代表每個人都應該用它。有自己的自由選擇權很重要，所以才會用Android。\n但出門總只能帶一支手機吧？我是交替用，倒也沒差。即使現在為了給Pinetab網路而被迫用iPhone，我也不會選擇用很「果粉」的方式去用iPhone ——— 下載一堆iOS專有的付費APP，依賴Siri，以為iCloud很神，使用圍牆花園的軟體等。我盡量依賴自由軟體和網頁程式，Youtube我寧願用Invidious也不要訂Premium；傳檔案我還有KDE Connect和Google雲端。盡量熟悉iOS難用的檔案管理模式，以求能跟Linux PC和Android機互通有無。\n20230607 劉德華 - 今天\n走過歲月我才發現 世界多不完美 成功或失敗都有一些錯覺 滄海有多廣江湖有多深 局中人才瞭解 我不斷失望不斷希望 苦自己嘗笑與你分享 如今站在台上也難免心慌 如果要飛得高就該把地平線忘掉\n從國中聽到現在，我認為《今天》和《天意》是劉德華最好的歌曲了。\n20230607 YOU PICKED THE WRONG HOUSE FOOL! 每當有人在我Youtube的Linux影片留言問Minecraft影片的問題時，我的感想。\n另外，我也不贊同網友一遇到爭議事件，便到不相關貼文/文章/影片下面當暴民的「出征」行為。\n20230606 Reddit最近要針對AI訓練收錢，API需付費存取。雖說保護內容，但也影響到各sub的自動回覆機器人，以及第三方APP的發展，Reddit收的價格不是一般開發者負擔得起的。為此各大sub決定在6月12日，將板塊熄燈抗議，有的甚至會暫時隱板。有越來越多的sub聲援此事，作為Redditor的一員我也要大力支持。最後的結果看是逼Reddit官方讓步，或是Redditor被迫出走。\nDon\u0026rsquo;t Let Reddit Kill 3rd Party Apps!\n早年會出走Reddit的，可能是基於政治因素 —— 認為Reddit是左逼聚集地，禁談右狗的理論才出走。這一次則是關乎全體Redditor的事情，所以會有更多人關注參與。\n洋人的行動力令人佩服呀，不像我們中國台灣省的人常常只能任人宰割。\n20230606 真棒的歌，讓人感覺到活著真好。 ：）\n五月天 Mayday【第一天 First Day】Official Music Video\n20230606 成為左逼的第一步：從閱讀當代文學開始，接著關心社會議題，你就能逐漸成為不受國家利益掌控，不在乎民族自尊，不管階級高低，為絕對正義與人民謀福祉的左逼了。\n20230606 越南共產黨創辦人之一的武元甲曾說：「任何想把他們的意願強加給另一個國家的人都註定失敗。」\n民進黨支持者很愛檢討選民耶，一下子說老人統派太多最好死光，一下子又說年輕人不懂事才會投民眾黨，都給你說就好了。是是是，考不上還敢鄙視臺大學生品性或說是讀書機器，接著表現的自己才是最進步、最懂政治潮流的行家，然後整天販賣芒果乾和共享恐懼。要台獨也不敢真台獨，戀棧權位。\n這就是為何我現在不支持民進黨的原因，現在的國民黨沒有白色恐怖那樣暴吏了，現在這些死老人可能還會要點臉，什麼溫良恭儉讓，只有韓國瑜這個小丑能跟民進黨一群大丑一起瘋，或海豚簡單嘴句大母豬就能讓哥布林諸叫一整年。民進黨完全就是土匪的本色，外表再用外國的進步價值包裝一下，結果最近綠色性騷擾哥布林事件讓這個魔窟一夕現形。\n呵，這種對美國唯命是從的黨不值得投。整天服從美國旨意，以消滅中國人種族為志向的人也可以省省了，美國的多元包容價值觀哪去了，即使把政府跟人民分開，現在依然是在幹種族滅絕的事情，只因為你是自以為「正義的一方」欸，共產黨不是天堂理想主義嗎，怎麼LGBTQXYZ的人一遇到中國就劃清界線了嘞。\n如果將標準設最嚴格的話，2024年台灣就沒有我中意的「注意民生、抗中保臺、不對美國唯命是從」的政黨能投了。不過在這裡我要記下，就算最終選擇投廢票，我也絕對不會投給民進黨。\n20230606 世界不是只有美國啦，齁。當美國的狗不丟臉，丟臉的是不承認自己是狗，咬著扁鑽的狗。還以為自己是民主的朋友？屁啦，利益至上的國家用民主包裝，等掏空台積電後就可以把台灣賣了。承認自己是狗，並不見得是壞事——寧做美國狗，不做支那豬，就是這個道理。現今世上沒有絕對正義的一方，有的只是強權的衝突，以及等著站隊的小國。在這個時刻，為了國家生文，只好當美國的狗狗。\n20230604 哇咧打奶砲，什麼恐怖挑戰，胸部真的有這等不亞於小穴的魔力\u0026hellip;連咬都不用咬\nKAGEMUSYA 藤原書記は挿れさせたい？ かぐや様は告らせたい\n20230602 找了一些外國的媒體與部落客現身說法，得到一些資訊後，我便很想刪除主流社群媒體的帳號，作為脫離現實世界的開始。其中包括用了十年的Facebook帳號，宣傳效果不錯的Twitter，還有重新成立的Youtube頻道。原因是這些內容洩漏太多隱私了，如果要卯起來肉搜一定輕易找得到我的真身的。PTT過去發文紀錄也是個隱患。為此，未來除了從硬體努力外，社群媒體也要繼續嚴加控管。現在我已經養成不習慣性登入帳號查看社群媒體的內容了，類似去Google化不登入看Youtube那樣。\n以前有些遊戲好像綁Facebook帳號的樣子，現在對我而言那是拋棄也無妨的東西了，現在是拒玩封閉原始碼遊戲的狀態。我可以沒有FB，但Google帳號和Microsoft帳號真的砍不下手。因為即使提倡去Google化，工作還是會用到這個必要之惡。為此，目標先暫時鎖定在社群媒體網站就好。\n如果說未來還是要用社群媒體呢\u0026hellip;？可能有一定匿名程度的Reddit，Mastodon，Hacker News還是會用吧，用於傳播思想和宣傳自己。其中Hacker News真的很棒，可以看到很多人貼個人部落格的連結，而非總是新聞媒體。如果要討論交流，匿名板Komica、4chan也是不錯的選擇。過去十年以來，本來我就不太愛分享真實的自拍照，tag來tag去的(中二年紀的時候除外)，還有周遭的環境，甚至連牢騷都不敢寫太多。所以社群媒體對我而言，早就不是用於跟現充互動聯繫的地方，而是單純的交流愛好而已。從這個角度下去看，使用社群媒體實在沒有必要。有了能夠抒發想法的一塊天地後，我是再也沒有於社群媒體發文過。可能我現在比較喜歡Reddit論壇式貼文，而逐漸厭棄社群媒體的炫耀氛圍了。\n下一步計畫是將網站與社交圈搬到Tor或ZeroNet網路，追求自由。\n可是\u0026hellip;就算被肉搜到又如何呢\u0026hellip;？吾心吾行澄如明鏡，不對，應該說我至少不會說謊，我承認我是個色龜，政治廚，有什麼不對？就算是政治黑屁我也不會做曲解事實的解釋，不會因為網路身份就可以造謠。意識形態的玩意，能叫犯罪嗎。做的事情從沒對不起我自己的理性與良知判斷。\n20230601 真佩服李敖的真知灼見，不過我認同他的骨氣，不見得支持所有的說法。國民黨蠢，民進黨壞，但也不能變成舔中啊(僅管李敖晚年變成有點要跟中國討價還價的樣子，而非完全屈膝)。總體來說，台灣未來大方向還是要獨立的，至少不會是統一的選項。既不敢獨，又只會賣芒果乾，操弄仇恨的「進步」政黨，就該下台，讓第三勢力上台。有些Twitter台左逼的說法真的很搞笑耶，柯liar那種被李敖說是笨蛋人物的治理方式都能污衊成台北市空轉八年，那麼號稱政績頗豐(我不否認蔡真的很會打點國際形象)放任台灣變成EE園區，讓兩岸不屬於一個國家的人民互相仇視、走向戰爭的執政黨，是不是要自盡了。不走黑金路線，忽視既得利益者的人就該搞掉的態度，真該改改了。如果今天白色做不好，我當然也可以罵他。例如恰吉好像都在作秀，但看它質詢裡面有些也是對的，是需要亞斯伯格患者反省的。而台左逼們連議員問政的水準都沒有，意圖抹黑金也只有95萬能嘴，加點油吧(我並沒有說95萬是合法的欠款，該追究的就該追究) 處處樹立叛徒這點倒是跟共匪很像了：不聽話的都是台獨！不配合黨的旨意的都是中共同路人！成天在Twitter當進步逼，魔怔瞎罵，害我要去Gab才找得到不那麼左逼的台灣人，去PTT戰得過鄉民再說吧。\n老實說，去年住在西瓜市的時候我是投賭爛票給布袋戲大師啦，期望讓他治一治南部的牛鬼蛇神，當然最後他還是爆炸了，繼續吃滷肉飯。這次2024，再也沒有2020防止韓導上台，而含淚投給空心菜的成份。這一次是真的有第三勢力能選。僅管理想上我是希望更有理念的黃黑能出來選，但既然他們缺錢，那就投給白色。要台獨，要自立，要懂得當邪惡的俗辣，當塞子，不要當美國人的狗，也不要當支那的狗。\n20230601 「天下不治，請陳佹詩：天地易位，四時易鄉。列星殞墜，旦暮晦盲。幽闇登昭，日月下藏。公正無私，見謂從橫。志愛公利，重樓疏堂。無私罪人，憼革貳兵。道德純備，讒口將將。仁人絀約，敖暴擅彊。天下幽險，恐失世英。螭龍為蝘蜓，鴟梟為鳳凰。比干見刳，孔子拘匡。昭昭乎其知之明也，郁郁乎其遇時之不祥也，拂乎其欲禮義之大行也，闇乎天下之晦盲也，皓天不復，憂無疆也。千歲必反，古之常也。弟子勉學，天不忘也。聖人共手，時幾將矣。與愚以疑，願聞反辭。」\n20230601 做個幻想的假設，如果美國政府口中的恐怖份子能出書講述他們理念的話就好了，如果他們真的能合適的說出自己受到了多麼大的壓迫以博取同情，那麼西方世界就會有更多人能站在彼此的立場思考問題的本質。極端一點去想，假設壓迫屬實，如果我是他們的一員，成長在那種環境，我也會去參加恐攻，那種類似義和團的心理，容易使人做出誇張之舉，如此一來也能體諒為何有些中國人要反美。可是，ISIS的成立正好是一個反例，他們單純的反美，到最後卻成為另一個獨裁魔頭，就像塔利班那樣。這又使得議題變成複雜，到頭來，自稱解放人民的軍隊，總是會走上加害人民之路。\n20230531 烏干達總統批准全球最嚴厲反同性戀法律　最重將直接被判死刑\n左逼真死全家了，我寻思什么时候还让同性恋不存在了，整天铺天盖地宣传跳脸你可太不存在了，倒是左逼巴不得所有被跳脸跳烦的人全部闭嘴。每个人有自己的生存空间，ok?给你同性恋生存空间你就井水不犯河水呗，你非要让一小撮人吸引所有人的目光，非要把你觉得正确的东西塞到所有人的大脑，这就是政治正确恶心的地方。\n起碼烏干達最後還讓步說承認性向不定罪，你們就偷著樂吧。\n20230531 「生命不屬於我」 比利時妙齡女求死獲准\n其實自殺沒什麼不對，是可以接受的選擇。真正對自己負責的人，選擇自殺從而結束痛苦，並無任何錯誤。那些正敢作敢當的人，實無阻止之必要。反之，我也很羨慕那些行動力強的人，而我只能對自己的無能感到深深絕望。如果存在意義是因為別人而存在，那麼讓自己脫離這種迴圈就可以了。別說什麼活著很美好，實在的說，滿足生理欲望的活著。現在不論怎麼努力，都只能是未來成為他人統治下的奴隸。自己的心裡覺得踏實不過幻象一場，不如讓一切回歸虛無，連思維本身都湮滅了，沒有什麼快樂與痛苦之分。死後什麼都沒有，沒有天堂享樂，沒有地獄懲罰人。世界一切本無意義，是人類賦予意義，如果認識到這一點，那麼脫離人類而存在的人類，既不會成神，也不會成為動物，而那只能是回歸塵土的下場。假若，一切都感覺不到，是真正的解脫，那麼停止接受活著的事實就沒有打壓的必要。如果要避免給人帶來困擾，找個地方靜靜的去就行了。這樣說怎能給社會帶來成本呢？一個人如果真正對自己負責，就不會整天只想著苟活，等待死亡緩慢的從田野上如太陽般的升起，而我們在地上流汗又流淚。想方設法的求死是積極的表現，精心設計的死法。社會對人的要求本就沒有個人意志的重要，到一種沒有國家、沒有社會、沒有宗教\u0026hellip;甚至連這種想法都無法繼續延續下去的狀態。不管社會與人們怎麼想死後世界會如何如何，不論誰會因此傷心，重要的是讓自我本身的存在從此湮滅，讓我的概念化作煙霧，即無感知別人的想法了。於是，造成人類在快樂與痛苦之間搖擺的根本 —— 思維，便從此不再糾纏於我的存在了。\n李志 - 这个世界会好吗\n20230531 論我現在的政黨投票傾向，我傾向站在人民的：民眾黨，時代力量。尤其是時代力量，他們才不管執政黨是誰，或是干涉到誰利益的瞎咪碗糕，對社會正義立場的堅持才是值得尊敬的。\n台灣團結聯盟、一邊一國行動黨這種的我也支持，可是聲量太小。\n反對：國民黨，民進黨\n基進黨這種無腦舔執政黨的，拒投。\n這樣講可能有點太監，台灣要反共，不必反中。「兩岸一家親比一家仇好」，「兩岸可做兄弟之邦」。\n20230531 從這些合唱歌曲的演變，可以看出現代台灣人是怎麼一步步走向墮落的，議員唱的版本可能都還比較好。如今，世界並沒有變得更美好，或者說打從人類這種地球病毒存在以來，便沒有好過。不如像五月天直白一點：「整個世界　曾經　都跟著你作夢 如今和平　依然在歌曲裡頭猜忌　戰火　還跟著我一起生活」\n2020 《明天會更好》cover 蕭小M feat.網紅朋友們\n2003 ★手牽手ＭＶ - 抗SARS藝人大合唱★-Hand in Hand-Taiwanese song\n1985 【明天會更好 Tomorrow Will Be Better】Official Music Video 20230531 「用我百點熱 耀出千分光」\n林子祥 George Lam -《男兒當自強》\n20230531 PTT詩人純真子曰：潤滑液倒太多，摩鐵鐵板燒。喝酒看片抹片抹到斷片到底是哪部片？腸胃炎拉到放屁變聲，攝護腺長喉結。舞池妹講洋文講到打鮑嗝，下聲道燒聲。酗酒毒蟲浴缸交配交到暴斃，養命酒。\nMagic eyes Uterus X 極彩深淵転生夾吸玩幾個月後就變成像是寄生蟲豬肉了，肉色的紋路碎裂，變成果凍(沒有要選總統)。翻開後玩玩子宮姦？單純緊而已，然後還被貫穿了\u0026hellip;完全不行啊這個。雖然軟軟的肉厚包覆很溫柔，臀部外觀撞起來也比較有扎實，但是沒什麼刺激性。如果要訓練耐力，還不如讓老將二道螺旋硬板出來，耐用程度超高。另外買新的暫時不考慮，換了個二道螺旋二代目來輔助用了兩年洞口約莫拓寬1cm的一代目。只有這種長度適中的感受才能讓我有感覺，已經不行了\u0026hellip;這個雞雞。\n20230530 I just unsubbed from pcmasterrace : r/linuxmasterrace - Reddit\nWhat the fuck is up with r/pcmasterrace upvoting dumbass posts like this? : r/linuxmasterrace - Reddit\n這句留言說出我的心聲，我盡量少訂閱那種討論層面太廣的板了。當某些人頭頭是道的講電腦議題，卻彷彿世界只有不自由的硬體與Windows一樣，唉唉唉。\nI just removed PCMR from my followed subs. My brain sanity is increasing from the fact my neurons don\u0026rsquo;t collide anymore with the psychee of 13 years olds`\n20230530 NewPipe最好用之處就是下載任何Youtube影片與音訊的能力，電腦怎麼就沒有這樣好用的程式呢。今天我又想到了一個犯罪行為，NewPipe配合過濾出的Youtube Music結果，不就能免費下載音樂檔了嗎？加上現在越來越多專輯上架Youtube Music，趁Google還未全面封鎖API前，快點用NewPipe將這些音樂下載下來呀。NewPipe最高可以抓到opus 160kbps音質，不強求FLAC的應該夠用了。\n20230530 目前我的政治立場說起來很複雜，可歸結為以下幾點：反共反極權，支持打倒中國共產黨；反美帝國主義，反對台灣過份依賴美國，台灣要當塞子不是棋子；諸夏主義，支持中國解體成多個小國；支持臺灣、香港、西藏、維吾爾等地人民獨立建國；反對民主進步黨，支持台灣民眾黨與時代力量黨。\n20230530 今天又犯罪了，下載了一堆高音質的盜版動漫音樂。自從2021年用Ubuntu時不小心把硬碟格式化，導致10年來的好幾GB音樂收藏消失，在那之後就沒有復原的動作，甚至可能要習慣於聽串流了。但我想想不對，最近幾年除了少女終末旅行OST我真的買實體CD自己rip外，現在要重新把那些陪伴我青春歲月的都抓回來，像來自深淵OST、進擊的巨人第一季OST、Darling in the Franxx OST、動物朋友OST、寶石之國OST、Proud Of You等等。當年用的Eyny很多都死檔了，所以改用英文搜尋，輕鬆就能在某些網站找到FLAC格式下載，而且是很佛的直接放MEGA，不需要解壓縮還另外看廣告要密碼的。有時候Internet Archive也是不錯的管道，看來網際網路的傳統分享精神尚未滅絕。\n20230529 imartinez/privateGPT ｜ 圖形化版PrivateGPT\n這個AI宣稱能夠讀取文件並回答問題，但我玩了之後，確實是還沒production-ready。我用Python 3.10環境架起來後，丟一篇語言學學術期刊PDF給它，它確實讀完了喔，可是回答都是牛頭不對馬嘴，連抓重點都抓錯，作者是誰都找不到。作者選擇GPT4All當模型本身就是個錯誤，儘管開源美好，但GPT4All的模型名字不只誤導，品質也很差，比LLaMA系列的還差！GPT4All的爛跟Open Assistant有得比。不過起碼，這個專案還允許你換個模型回答。\n20230529 圖片附件\n真沒想到現在串流佔主流的當下，我還會想買iTunes數位音訊檔(Linux還得開Windows虛擬機才能買，看)，今天我買的是Kevin Kern的綠鋼琴專輯。雖然我不喜歡蘋果的獨裁作風，但iTunes確實是一個什麼都賣的好商店，跨區就有更多日本歌曲。賈伯斯死前做對的一件事就是讓iTunes音樂免受DRM侵害，購買了之後檔案就是你的，不會限制播放媒介。如今串流當道，讓人們有接觸更多歌曲機會的同時，卻也犧牲了權利。你的音樂永遠不是你的檔案，而是企業轄下的一串數字而已。所以囉，遇到真正喜歡的專輯，就算只能買數位的，也要買iTunes這種免DRM的格式。\n20230529 在Bandcamp付費支持了這二年以來一直很喜歡的蒸氣波音樂家：desert sand feels warm at night，他的音樂氛圍我很喜歡，改天再講。我原本只想買單張專輯《新世界の弟子たち》，但付款按到Full Discogrpahy，然後我只付了一英鎊就獲得了所有專輯的下載權利\u0026hellip;有點過不去的感覺，就算是制定公平價格，整套買至少也該出40英鎊的價錢吧。\n出這種價錢，跟我偷偷摸摸用F12下載Bandcamp的mp3有什麼不一樣\u0026hellip;未來有機會我要更多地贊助他。\n20230529 如果看得懂原音的美國卡通，就會覺得最新版的台灣翻譯是在搞爛辛普森家庭，使得官方中配版變成像網路上惡搞的空耳配音一樣的低品質影片，有時惡搞到最後連台詞都不管劇情了。以前的南方四賤客也有這個問題。要怎麼平衡原文與中文翻譯是很難的事情，中文版不能將人物與地點過度在地化(用政治人物諧音、台灣地名等)，否則在看Wiki資料看到台灣譯名就會很凸鎚。Fandom可能會傾向用正式一點的譯名，而維基百科就會被迫標注難笑又突兀的台灣譯名。或許這樣改編有助於推廣動畫話題性，可是我認為對原作愛好者是一種傷害，看不懂美國梗就別硬掰，融不進就別硬融。試想，Undertale這種熱門作品要是也被台式翻譯惡搞怎麼辦？邪惡的花花被翻作阿花？遜爆了。\n20230529 阿拉斯加公路,全程自駕壯遊。LA to Alaska - 背包客棧\n原來要像辛普森家庭電影版裡面，要開車去阿拉斯加是可以的，要開8天的跨國州際公路，從美國北部經過加拿大才能抵達；從西雅圖出發，靠太平洋那側的群島過去阿拉斯加也是可以的。\n20230529 哟哟哟，这不是王思聪家的网犬电丸科技AK吗，几天不见这么拉了 - Reddit\n中国科技大v失去理智 - 品蔥\n鑑定為：脫支不完全，翻牆還愛牆。就跟那些翻牆愛國的粉紅一樣，欠鐵拳了。\n從事發影片來看，共匪(People\u0026rsquo;s Republic of China)就別碰瓷偉光正的Republic of China了，況且現在台灣護照上寫的也是中華民國＋TAIWAN。罵台灣人是狗？這下違反Youtube的仇恨言論守則了。就現狀而言，美國再怎麼壞，我也是寧做美國狗，不做嘀嗒嘟啦。\n到了牆外還搞你支國內那一套，怕不是Youtube沒Bilibili的控評能力強大，又不想完全封鎖留言，才動用Youtube的鎖區功能禁止台灣人觀看。這麼做的糟點太多了，鎖地區一般是電視節目才會這樣幹，正印證了高科技到了你支手裡只能拿來馭民。另外，逼台灣人要用VPN才能看他的影片，殊不知自由世界要找個VPN比中國申請護照到台灣旅遊還簡單。啊嘞，禁止台灣觀看，我剛剛是獨立了嗎？嘀嗒嘟思維是這樣的。\n沒嘗過鐵拳是吧，，，簡單檢舉野生嘀嗒嘟翻牆，，，鬼山哥第二並感\n附上一張鬼山哥被牆外浪人拷打的趣圖。 圖片附件\n20230528 今天又看到一個外國網站把台灣標注為Taiwan, province of China，香港卻寫Hong Kong。雖然痛心，但我想這也不能怪他們，支那政府的影響力實在太大了，對政治問題不敏銳的人就很容易落入習以為常的圈套。我不想跟支那人一樣玻璃心出征要求正名，也不想自我安慰的說「台灣是『中』華民『國』的一個省」。\n不知道要到什麼時候，我們才能驕傲的說我是台灣國的人，不是中國人。\n20230528 圖片附件\nYoutube又下架我的影片了，我想也是正常的。AltStore本身不違法，違法的是我在影片中教大家下載破解版的Youtube，然後很不幸的被抓到了，違反Youtube條款。\n所幸影片在LBRY有另外備份。對了，前幾個月在Bilibili上傳這部影片的時候，只是因為同意開發者的畫面剛好跟VPN設定放在一起，審核就不給我過，而且不說明原因(所以理由我是猜的，也有可能是露出Youtube畫面所致？)，Youtube下架起碼還會說個原因，Bilibili完全就是中國式的尋釁滋事罪，這種沒有自由的爛影音平台我是再也不想用了。\n這時我能類比的情況：那麼多人闖紅燈，為什麼只抓我一個？很不幸的我就是被抓了，不法者不能主張不法之平等。我總不能懷著報復社會的想法，去檢舉那些「如何下載Youtube Vanced」的影片吧。要死大家一起死。\n20230528 俗話說，反共不反中，到頭一場空。作為諸夏主義者，讓我推薦Reddit幾個大型反共反華的中文社區：\nr/saraba2nd：繼承自中國牆內s1社區的sub。自從沖浪TV(r/chonglangtv)和屠支TV(r/TZTV)倒了後，這裡就變成少數仍在說支那的sub，立場可能偏右。最近人數漸漸多了起來，逐步擺脫阿卡林的屬性。\nr/real_China_irl 真太監區：雖然禁止發支那與屠支字詞，但起碼比太監區r/China_irl能處，不會禁止反共反華、解體中國的內容。左逼與留學生聚集地。立場偏浪人的sub中存活最久、能跟China_irl較勁的sub。\nr/youmo 幽默TV：只準發色情內容與嫌棄國男支女內容，不能直接發屠支內容\nr/Taiwanese：台灣人創的板，內容品質接近PTT八卦板，立場偏左\nr/Taiwanica：無政府主義者安人LGBT極左聚集地，慎入。\n另外，蔥輪TV(https://h.pincong.rocks)是品蔥官方贊助的計畫，賽博屠支現場，不怕Reddit超管封，還有備份過去Reddit浪人八組(冲浪TV、CLTV、权浪TV、包蜜TV、幽默TV、斗鱼TV、屠支TV、冲浪鹅组、CLTV8964)的貼文。\n20230528 #支那人能不能冷靜一點 你支看到paper地圖把台灣香港獨立出來就頤指氣使的跳出來噴糞。你支但凡不要在996之餘把時間花在這種事情上也不至於科技被洋人屌打8964倍\n美好的一天从阅读先进的开源AI项目开始，从看到晦气的华人结束\n相關Github issue\n20230528 2024總統大選我已經決定好要投誰了，那當然是柯文哲主席！！\n20230527 我覺得目前這個部落格版面設計簡陋並無不好，倒不如說那些主流的Wordpress架設的網站都顯得太癰腫了。充斥著廣告看板和優惠資訊，還有無限滾動的相關文章，干擾閱讀，要開uBlock Origin才會顯得清靜一些。\n我想版面不是最大問題，目前這個網站結構性的問題有幾個，一是我將文章固定分類到posts目錄底下，這就造成好幾百篇markdown擠在一個目錄下，我認為未來會很難整理(目前都靠Kate搜尋指令批次替換字串，用以管理標籤)，分類頁面和標籤頁面也會逐漸無法應付成長起來的各種文章分類。再來，留言系統全部外掛是個大問題，Disqus雖然有廣告但起碼能匯出，可Giscus就是深深的跟Github綁在一起了，這個問題長久來看很危險。最後一點，動態牆不只是每日發一篇一行文的地方，用來寫短文也是很合適的。目前動態牆單個頁面的作法太擠了，亦不利於未來訊息瀏覽。日後可能還是得自架一個私人Mastodon伺服器(這點啟發自zeroplex的網站)，將每篇貼文賦予一個獨立網址才好。\n20230527 uBlock Origin真的好用，連詐騙廣告網站都有內建的Regex規則自動擋，一觸發便阻止載入。這種爬關鍵字搶佔SEO的網站比盜文的內容農場還惡劣，內容不成文，聚合一批關鍵字騙搜尋引擎收錄，點進去就是重導向到詐騙網站。這種網頁用Google Hit Hider從搜尋頁面移除很難作到，只有在點進去時uBlock Origin跳出來才驚覺又一個詐騙網站。\n20230527 “忙起来你就没时间抑郁了”这句话有理么？ - 知乎\n我真的不能理解，為什麼我們社會還有這麼多勢利的人，都還在鼓吹這種思維，一見人有心理問題的跡象，便說教似的講忙起來所有心理疾病都好了，你不快樂是太閒想太多。這種近乎社達，不重視個人內心感受的氛圍，是該拋棄了。把自己變成螺絲並不會讓心理疾病自動消失，它只是讓人處於習得性無助狀態，變成社會人們所定義的「成熟」。你說，要當快樂的豬(準確來說，這裡的快樂接近麻木、無自覺的狀態，而非真正意義上的自在、喜悅)，還是痛苦的蘇格拉底？反正他們到最後還不是都被人類弄死了？私以為，現代越來越多人「得到」、「知道」自己有心理疾病未必不是壞事。只能說這個世界越來越殘酷，而人們對自己的內心總算願意有了更多的覺察。我想這也是為什麼在讀心理學的時候我偏好人本主義學派的說法吧。現在心理治療也常說要接受情緒存在的事實，不分性別和年齡，覺察到自己的情緒，接受這是一種正常的現象，而不用以各種方式壓抑。因為唯有了解自己的內在，並對他人有更多程度的關懷包容，才能有改變的契機。如果只是逃避與不誠實面對，長久下來必造成更大禍害。\n20230527 在那邊叫什麼，你不知道Linux KDE下瀏覽器的預設字體已經比Windows的順眼多了嗎～ Windows還在新細明體，不然就是線條細得要命的微軟正黑體，Linux的Noto Sans已經很好看了。\n20230526 南方四賤客 葛屁面對內心\n我是同性戀！！！(用凱子的口氣)ㄘㄟˋ我今天又學到一課，像這樣把內心話講出來真的好多了。\n20230526 There\u0026rsquo;s a kid who had a big hallucination. Making love to girls in magazines.\n像這種無用之人就該去死。死了什麼都沒有了，不再有人間，不再有世界，不再有宗教，不再有性慾，不再有政治，不再有想念，不再有愛情，不再有痛苦，不再有快樂，不再有思慮，不再有過去，不再有現在，不再有未來，不再有希望，不再有理想，不再有現實，不再有夢想。\n可是，我做不到，我討厭我自己。\nI held the blade in trembling hands\u0026hellip;I never had the nerve to make the final cut.\nPink Floyd - The Final Cut\nBe\nFitter happier\nMore productive\nComfortable\n為什麼死的不是我！！！！！！\n嗚嗚\u0026hellip;\n嗚嗚嗚\u0026hellip;\n現在，站起來吧。\n20230526 我看到路上的花凋謝下來了，便覺得想落淚。\n20230526 我夢到自己未來事業失敗，婚姻不美滿，還差點死在電椅上。\n20230525 The main reason why people will keep using open source vs Photoshop and other big-tech generative AIs\n這就是為什麼我在編寫Stable Diffusion手冊的時候，不將Adobe Photoshop放進擴充功能，也不是很推薦放在Google Colab跑的原因。如同ChatGPT一樣，這些自以為是的企業或政府，會用道德和法律干涉使用者的創作自由，censorship在何處何地都是不可接受的。的確，產生違法內容可以管，但是其根本上不該管AI產生內容的能力。\n20230525 我当然要用中文大批特批陷害世界于不义的独裁政权，防止中國自古以來的帝國主義危害世界，即使那不是我的國家。\n这种“不喜欢中国就不能用中文”的概念是怎么植根于老中的脑袋的？\n「经典二律背反：讨厌中国就滚，太平洋没加盖！（润了之后）不在中国的人不可能真正了解中国，这种人没资格对中国说三道四！」\n「这个时候你就应该问问他匪爹，明明这么讨厌西方讨厌英美，为什么还要逼着他们从小学开始学英语，以证明他说的都是放屁。他都被他匪爹规训的从小就开始ABCD了那你凭什么不能用中文呢。」\n20230525 我們為什麼要紀念六四：中國就跟烏克蘭、伊朗、美國、俄羅斯、香港一樣，人民正在遭到迫害，所以要為他們出點聲音。紀念六四不是為了兩岸統一鋪陳，亦不是「同為中國人」這樣的身份認同而紀念，主要的目的是憐憫尋求自由民主、反抗暴政的鬥士們的鮮血。台灣跟中國雖然是二個不同的國家，但是針對在暴政土地下追求自由民主之人，或稱索多瑪義人，還是要給點支持的，如同支持彭載舟、史諾登、阿桑奇那樣。\n20230524 花錢買日本F-2戰機模型的屍塊 週刊 航空自衛隊 F-2戦闘機をつくる\n這是日本迪亞哥新推出的週刊，這一系列週刊蒐集完後可拼出F-2戰鬥機，1/24大比例模型，聲光效果，起落架可動，還附有遙控器。當然，不能飛。日本版週刊於2023年2月開賣，台灣版週刊於2023年4月開賣，可在7-11超商購買。創刊號99元，附預告光碟。後面期數就恢復原價399元了，到官網訂閱有優惠，還有贈品。我在7-11看到這本書封面有飛機模型就買了，結果發現是我太天真了。原本以為是二戰傑作機的那樣每一期附一個金屬飛機模型，後來知道是每一期含有部分零件的屍塊，要買完後續期數才能拼出1/24比例的F-2戰鬥機。按照官方說法，總共要買100期（一週一期等於要訂二年，預計花費39600台幣）才能拼完預告片出現的具有聲光效果的F-2模型。\n看，這個迪亞哥飛機模型有夠貴的。我去買一盒長谷川的F-2來組也才幾千塊而已。迪亞哥的雜誌內容只有翻譯一點點，一部分的錢算是花到原文書上了。這本書放在7-11也沒完全密封，搞不好都給免費仔翻爛了==恭喜你，現在你已經蒐集了座艙的屍塊，接下來請繼續購買剩餘的期數\u0026hellip;.如果漏買了就好笑了，不如用網上訂閱的吧。\n20230524 中華民國軟體自由協會製造的Linux發行版，Ezgo 14，我的使用評價是，就是多了語言包的Kubuntu，再預裝台灣在地化的輸入法，品質接近Ubuntu Studio。最近Ubuntu Stduio維護者還缺錢，幫幫他們吧。\n話別說這麼絕，但這個將KDE教育程式 ＋ Kubuntu塞在一起的東西，在教育市場真的很難推的說。勢利的台灣人可能只會認為Scratch有用，而學校可能認為幹嘛不用Windows教就好。就像你一定要學Microsoft Office，以後出社會用得到。「自由軟體？啊不就是免費軟體而已，我把它放在學校網站給人參考好了。ㄟㄟ那邊有一個免費(但是原始碼不開源，還內置廣告追蹤器)的超好用軟體/網站ㄟ，同學們歡迎多多參考利用。」比方說Canvas啊、線上AI輔助工具啊什麼的，這些人眼裡只有摳摳。最近教育部校園自由軟體數位資源服務計畫似乎還停止營運了，WTF，咱ㄟ政府果然是跟美國NSA一樣的貨色嗎？我們台灣需要一個電子前哨基金會的組織！\nEzgo過於限制特定領域，桌面用戶也用不到這個，要讓相關科系的專業電腦教室都預裝Ezgo也顯得不成熟。做這個純粹為推廣自由軟體\u0026hellip;儘管影響力不如LXQT的作者要大\u0026hellip;好吧我認了他們的努力。未來如果我要做翻轉教學，我可能會考慮在教室電子白板試試從LiveUSB模式上課。過去，我只有將Gcompris用於線上上課用途而已。\n20230524 文章 - 古月照今塵\n這首歌很好聽，但是我覺得有二個問題。第一是歌名用字過度浮誇，照今「塵」感覺有刻意賣弄文藻之嫌。第二是歌詞支的批爆，「莫負古聖賢　效歷朝英雄 再造一個輝煌的漢疆和唐土」說這句話可對不起曲中出現的台灣原住民吶喊元素啊，大一統癌末期患者是這樣的。我比較喜歡「一部春秋史　千年孤臣淚 成敗難長久　興亡在轉瞬間」這反應了中國歷史朝代的興替頻繁，傳達無常的概念。但是大一統真的好嗎？連聯邦制都沒有的巨大國家？那個叫封建帝國，就是過去蔣光頭、現在共匪掌權的國度。中國人怎麼從來沒想過打破這詛咒的方法？看帖不回～我詛咒你～下輩子天朝輪迴～\n20230523 「你們尊敬我，但要是有天你們的尊敬傾倒了那又怎樣？不要讓一座雕像砸了你。你說，你相信查拉圖斯特拉？但查拉圖斯特拉又怎樣？你們是我的信仰者-但所有的信仰者又怎樣？你還沒有找尋你自己：你只找到我。所有的信仰者都是這樣，如是所有的信仰成就渺小。現在，我命令你否棄我，並發掘自己。唯有當你們否決我的一切，我才會回到你們之中。」\n我真的在跟未來潛在教學雇主面試的時候說一小段這種話，這樣是不是顯得太中二了。完了完了完了完了完了完了＋365了＋365了＋365了＋365了＋365了\n20230522 自由軟體「開發者」不，以我的能力我無法這樣自稱，所以在簡介才寫自由軟體「愛好者」而已，偏使用的居多，而非真的去貢獻程式碼。\n20235022 \u0026ldquo;Degoogle\u0026quot;的態度是要將Google產品與不自由的科技服務(含DRM的那種)，從我們習以為常的日常生活習慣拔除，而非完全不用。理想情況下，這些東西應該是必要時、工作時才用，一週不超過一次這樣。而不是每天隨手就拿起來使用，毫無被制約的自覺。\n我覺得degoogle，完全不用Google與大公司提供的服務是有可能，但是不用Youtube一天我就會發瘋。實在可怕，雖然我用Youtube是在聽音樂為主，每天要攝取10首以上音樂的營養我才不至於精神崩潰，如果degoogle的途中遇到困難，又不準在背景放任何的Youtube和線上串流服務調適，那我不如死了算了。\n用NewPipe、Invidious這種代理存取Youtube服務無疑是飲鴆止渴，跟戴著保險套口交一樣完全無益處。\nㄟ，不對喔，以前的人是怎麼活過來的？聽MP3！對的！現在我要完全拋棄每日開Youtube聽音樂的習慣，改聽以前購買的實體CD，聽廣播，聽網路論壇下載的flac音樂檔。再去Bandcamp這類網站找獨立音樂來聽！\n20235022 SpongeBob Production Music Stack of Leis\n海綿寶寶最讓人傷心的一首BGM。更讓人難過的是，近年來因為Youtbe Kids導致幾乎所有海綿寶寶的影片，不論是不是官方的，留言都被強制封鎖，獨裁的Youtube真是可惡。海綿寶寶又不是純幼兒節目，它是可以跟膽小狗英雄類比的，成人也適合看的幽默卡通。現在因為這種政策一刀切，害得Youtube上的笑料瞬間減少了一半。網路自由就是被你們種人搞壞的，因為怕傷害創作者的玻璃心所以取消不喜歡按鈕？為小朋友好而封鎖留言？你看抖音那種愚蠢的平台會這樣作繭自縛嗎？沒有\u0026quot;mindset\u0026quot;和承受力上什麼網。\n20230522 心善看不得這個。川鼠還錢！！\n汶川地震台捐款70.5億居冠中國感謝全世界獨漏台灣 - 自由時報\n【立此存照】2008年血浓于水，2023年不实信息\n20230522 新梗发布会：\n滴答都，吃辣人，滯納金，希臘人，紫蠟燭，蜘蛛，不興說，removed，青蟲，契丹人，馬路大，窪地人，興國人，你國，你支，你共，牆國人，桂枝，芝麻人。\n以上都是Reddit神友用來代稱「支那人」的詞語，防止被超管爆破。权浪TV前mod有言：「现在不兴说这个了，被人盯着呢，先稳一稳。」\n最近更好笑的比喻是這個：心梗发布会：下界猪人 ：\n「众所周知，下界猪人这种生物长年聚集生长在下界之中，只有下界传送门开启的时候才可能会有几只漏网之鱼偷偷溜出主世界。而这帮猪人们不进不会为侵犯玩家的美好家园而感到一丝羞愧，反而只要玩家损害他一点利益，他们就会群起而攻之，击杀他们也只能获得少得可怜的金制品。在高版本中，玩家可以使用金锭与他们换取大部分都属于低价值的垃圾，对他们的任何资助往往是永远得不到回报的。」\n「下界猪人建立了破破烂烂的猪人堡垒却引以为豪，以为自己是基建狂魔。」\n20230521 有些台灣人心中說愛著中華民國，懷念中華民國，但他們愛的是什麼國呢？他們愛的是虛幻的中華，純粹於孫中山理想中存在的民有民治民享，大同的中華。\n事實上這種政權從沒存在過，民國亂成什麼樣子，北洋政府獨裁倒了，又換蔣中正獨裁，逃到台灣繼續當土皇帝。即使是後來法統繼承中國領土的共產黨，毛澤東宣稱的人間天堂也從未建成過。倒是中國過去封建王朝的吃人殺戮戲碼，一再的上演。\n這是個死循環。\n在世界許多地區的認知，中華民國是早就滅亡的國家。或說，現在霸佔台灣島，苟延殘喘的中華民國政府，被共匪視為叛亂政權，他們是把中華民國當作逆子看待的。意圖用軟硬兼施的方式，將本就不屬於中國的台灣島給收復回去。\n我們知道，大一統中國的概念壓迫全世界的華人（指血緣跟中國有關的人類，國族與身份認同不見得是中國）已長達數千年，現在還意圖追求中華民族認同，甚至覺得為了偉大復興給獨裁威權讓路，我認為完全是不恰當的。台灣人、香港人、維吾爾人，以及其他中國各省的有志之士，如果要從這種輪迴解放出來，就應該拋棄虛幻的國族感情，停止親密的稱呼中國為「大陸」，放棄用「中華」概念壓迫各地人民，支持「中國」這一概念和政治實體，在未來完全解體。支持「諸夏」主義。\n因為，個人先於國家存在，從沒有人可以用任何的國家、血緣，或是上下的關係干涉他人的生存自由。\n20230520 在台灣「大補帖」網站看到有人把Linux Mint跟RHEL、SUSE的光碟一起賣，上面寫「Linux Mint 19.1 Tessa 作業系統 繁體中文破解版」3片光碟只要600台幣。（網址在這），我把它翻譯成英文po到Reddit r/Linux後反響不錯，可是我用詞太隨便，寫\u0026quot;You can buy Linux Mint 19 for $20 on Chinese online store\u0026rdquo;，結果當然就被當成內建中國間諜軟體，下面還有人發現是台灣網站，導致tankie跟民主派人士吵起來XD\n貼文收穫600個Upvote之後就被檢舉到刪文了。刪文前的截圖\n看板規則不允許po這種文章？好吧，變成troll post了，搞笑性質的貼文應該po到r/linuxmeme版才對。\n賣Linux光碟不是問題，但這種大補帖裡面有無提供原始碼我都很懷疑，恐怕他們以為Linux跟Windows一樣都是要破解的吧！純屬misleading。有些自由軟體也會被人偷去盜賣，例如Minetest，這是很可恥的行為，可惜遊走法律灰色邊緣很難約束這種不道德的行為。\n20230520 低能卡真的是低能卡，Dcard網頁強迫登入就算了，Dcard還時不時要需要確認我的連線是安全的。很好笑喔，Windows + Chrome不用驗證就過，Android + Firefox也是。Linux + Chrome卻要多做幾次Cloudflare驗證。\n20230519 ChatGPT is a data privacy nightmare. If you’ve ever posted online, you ought to be concerned\n為什麼我們應該研究自架開源、尊重隱私的AI，而非遷就商業公司推出的ChatGPT。這是個新的專有軟體陷阱，人們應該認識到這一點。鑑於Meta對LLaMA授權條款不肯放手的態度，最近有人訓練出完全開源版的OpenLLaMA了。\n20230519 「凡是假改良，必来真革命。」\n20230518 The Old Internet Shows Signs of Quietly Coming Back\n作者說他懷念2000年以前的網際網路，充滿新奇有趣的個人網站，而不是現在充斥金錢與大企業控制的網路生態。\n我們生活在一個處處被惡質企業和政府監控的世界，從手上的硬體裝置到網際網路的服務，並且沒有他們就活不下去。最明顯的例子就是Google，它無處不在。如果可以的話，我多麼想吞下紅藥丸，加入反叛者的行列。現在我理解為何有人仍想用自己的物理主機架設網站(例如自由軟體基金會，和一些1990年代就接觸網路的早期數位原住民)，不用CDN，並使用Tor、ZeroNet的網路了，因為那是政府、惡質企業的髒手難以觸及之處，並且他們勇敢的守護自己的自由。從來沒有什麼「暗網」的叫法，不如稱其為「自由的網路」如何。現在網路儼然成為了操控人的工具，這個賺錢機器可以利用免費特性，讓人們對他們的服務產品上癮，無法脫離，甚至視不服從者為異類，嚴重者使其無法立足於社會，這是不對的。自由軟體基金會2022年發布的Escape to Freedom動畫儘管畫得很抽象，但概念很清晰：變成自由的存在。現在網路上還有degoogle和重視privacy的草根運動，我認為對自己的人權有認識的，以及想要守護網際網路的未來的人們，應該要加入這些運動一同奮戰。網際網路的自由是全體使用者的，必須被守護。\n20230517 為什麼芝麻人整天只想到錢呢？知乎和Bilibili整天推送的都是參加活動瓜分獎金的三小活動，我不需要，好唄。應該像Youtube至少裝一下，縱使廣告一堆，還是會辦創作者聚會這種溫馨活動，並提供社群錄製的指南鼓勵，這可不比牆內的平台好多了嗎？Youtube不會搞什麼「團建」，而是鼓勵自我Youtuber的發展。整天只想買買買，台灣的Dcard也是一樣德性，開啟APP就有廣告，幹。再者，Bilibili是不是看準用戶部份有中專傻狗的才會整天在影片旁放培訓班的廣告，說什麼接案養活自己，這種風氣實在很討厭。哔哩哔哩HR对面试者称：B站核心用户都是生活中的Loser，称其没有人文关怀\nYoutube首頁針對使用者良身打造推薦影片(我知道這是送隱私給Google換來的結果，假若沒有演算法幫我整理，我看到的也都會是台灣「熱門」Youtuber的智障影片)，又不會充斥太多銅臭味。反觀Bilibili，首頁的標題黨一堆，二次元，中國贏麻的內容，嗚噁。縱使有好的課程內容，我也常常被評論區的小學生言論氣暈(包括我影片下面留言的，一抓一大把)。現在Bilibili只是俺偶爾上去丟個影片，以後直接打網址進space.bilibili.com，就不會看到那些髒東西了。\n20230517 現在是早上7:00。這恐怕是有史以來做過最可怕的惡夢，劇情黑暗的像是韓國電影熔爐一樣。夢到我的成績很好，然後班上的第一名就派惡霸（長得像以前的老師，邪惡又微笑瞇眼，就像杰哥那樣）來解決我，破門威脅，把我房間的東西全部丟掉，打人，警告我的成績不能繼續威脅到他的成績，將我身邊的一切都奪走，還逼我簽本票，想把我賣掉。找家長也沒用，對方惡霸還是執意威脅，並且沒有錄音的關鍵證據。告訴學校他們也沒辦法。在夢中有好幾日都是惶恐的不敢入睡，PTSD一直大叫（我被嚇醒後也是不敢睡了）就算我設計反擊，攻擊惡霸，想讓其他同學發現，卻反過來變成我是兇手。最後，欺凌的事件繼續發生，不得已之下就跳樓結束生命（這裡開始是第三人稱視角）多年之後，校方才安排警察將惡霸逮捕到案。原來那個惡霸本身就是作惡多端，我只是它手下無辜的犧牲品。\n又是這種夢嗎？壓力大也沒做過這麼戲劇性的夢。上一次夢見最可怕的是共匪登錄西台灣（現在我不怕共匪了），感覺也沒有這次那麼寫實，夢中我一直是第一人稱視角被欺侮，現實中小時候有也確實有被霸凌的經驗。不過夢中不合理的地方就在於我的電腦居然能被駭；而且在台灣，雞婆的民代是很多的，被欺侮不可能完全沒有辦法發聲，田勝傑事件也有人能幫忙。\n姑且將這個夢歸類為被追殺好了。有人說這種夢是投射對現實生活迫近事物的逃避，會有事件不斷出現的擔憂。接著，他提醒我們用清醒夢的技巧，將壓力源殺死，在夢中跟潛意識宣告勝利\u0026hellip;.但願我下次真的有辦法這麼做，要做清醒夢有些困難。我想這也反映信心不足的問題，所以這反而可以鼓勵我改進，要更加積極的面對問題。所以，打起信心來！\n20230517 我必須坦白：我不是很熱衷幫別人解bug。\n打從2014年以來，在經營Minecraft PE模組的Facebook粉專的時候，就不時會有人來問寫模組的問題，或是丟奇怪的委託。有時候在能力範圍內，我會盡力幫助。可是，超出能力範圍的問題，我是直接說不知道。現在時光荏苒，假若在技術文章下面有人問很底層的問題，老實說每天幾十萬上下的我真的是只能看心情回（手很忙）。對的，現在我有自信能100%回答的技術性問題，一―――個――都――沒――有――，我是文組的耶(無誤)。原來我以前就有精英主義者的惡習呀，如果你不會自己google問題，你就不應該用Linux。這樣說我對程式debug與原理倒也不是很熱衷——除非是我當下遇到的問題才會想去了解，而我常常是無法將自己的腳穿進別人的鞋子裡的。唉，設身處地的想，如果今天是我需要幫助呢？可能我也得恭敬的去社群請教吧，不論是stackoverflow，Github，Reddit。可我的問法跟一些人的問法還是有差別的呀！發表Issue或者在Reddit貼文，大家都能受益（雖然太基本的問題可能會被砲轟）。以前待在Facebook的程式社團，就有人呼籲新手不要問完問題就刪文，因為那讓後進失去參考的機會 (雖然Facebook社團貼文根本不可能被Google索引就是了，會在Facebook這種程式碼都很難貼的地方討論程式問題的腦子也多少沾點\u0026hellip;) 結果你私訊問我，我不知道，有時已讀不回，不只兩邊都尷尬，還沒人可以不小心看到然後介入（越熱門的儲存庫，有更多人會路過提供神奇解法）。雖然我的留言板是放在Giscus，會在Google搜尋結果跟Github網域排在一起，但我的儲存庫畢竟不是完全程式相關，也沒有很熱門，這就導致別人能介入的餘地很少。還是多問吧，寶貝，儘管世界對你的回應是冷淡，也要繼續問。\n20230516 Radiohead - Fake Plastic Trees\n2019年，最初聽到這首Radiohead的Fake Plastic Trees完全不知道在唱什麼，甚至覺得沒有Paranoid Android好聽。可是多聽幾次後，Radiohead便成為我繼Pink Floyd、The Beatles、The Flaming Lips之後，第四個深深著迷的神樂團。這首塑膠花可以說是他們最棒的歌曲了，沒有其他歌曲過份憂鬱的歌詞，也沒有實驗性的音樂，只是默默的不斷唱著「如果我能成為你想要的樣子\u0026hellip;如果我能成為你想要的樣子\u0026hellip;」再配上Thom Yorke的聲音，神作就這樣誕生了。1995年專輯收錄的版本是最好的，Radiohead的Live版老實說我覺得\u0026hellip;唱很爛。其他歌詞的隱喻會讓人越想越難過(雖然Thom Yorke曾說歌詞是隨意拼湊的)，加上旋律的爆發，讓人想潰堤。In a town full of rubber plans\u0026hellip;To get rid of itself\u0026hellip;It wears him out\u0026hellip;It wears\u0026hellip;She looks like the real thing\u0026hellip; 越是意義不明的歌詞，就越是能讓人帶入各種事件，進而在歌曲中找到自己想法的慰藉。\n20230515 I was waiting on a moment\u0026hellip; But the moment never came\u0026hellip; (I must have been tripping) Was just wasting all away (Just ego tripping) Was just wasting all away\u0026hellip; I was waiting on a moment\u0026hellip; But the moment never came\u0026hellip;\nThe Flaming Lips - Ego Tripping at the Gates of Hell\n我一直等待著那一天\u0026hellip;但是那一天永不會到來。我想，意識在地獄大門前神遊，自尊完全被打倒了。你永遠不會成功，但是只要心中真正相信「我可以」的話，那麼就能超越萬事的阻礙！\n20230514 2022-06-22，知乎用户s3UeGS：「不知道你想针对什么人。以modder身份来说，我还是很希望有这么一个软件的，主要是mc源码是屎，开源方面也确实存在隐患，不过目前看来bukkit生态可以保住，fabric和forge只能听天由命，虽然拒绝开发者不符合bugjump的利益。对于普通玩家，没有正版完整的服务器又不少，也没人缺你这口饭，想支持正版支持正版，想自己玩自己玩，也没必要管别人。像这样提出暴论道德绑架也不太好，毕竟mc是大规模商业化游戏中最开放的之一了(尽管bugjump一如既往不当人)总之你写文章充满情绪，严重偏激，看着很怪，不知道你写没写过mod之类的东西。还有就是，开源作品怎么说呢，游戏性还是差一点，社区的力量不是你自己的几篇三流文章可以扭转的，我很高兴帮助了我很多的开源项目得到更多人的主意，但是偏激的用语是否起到反作用无法得知。或者说mc是一个躺着赚钱的金饭碗，文中的忧虑是值得考虑的，但是我们不得不承认除非mojang作死，你说的话不会有什么市场。社区不需要mojang而mojang需要社区。社区有能力开发一个独立游戏，甚至作为一个engine。现在的大项目基本都有号召力去组织开发，反正你可以放心的，现阶段不需要考虑这些事，即使最坏的情况到来，mc也不会断绝，要相信社区的力量」\n說Minecraft是專有軟體所以拒絕遊玩，啊你是願意和解了沒有。對的，我想過去的批評太激烈了，現在我願意和解了。只是、現在我倒真的沒有一款遊戲能無日無夜的玩下去了，動作遊戲不行，手遊也不行，街機也不行，what have I become?。Minetest和Minecraft我都把它當休閒遊戲玩，因為那是我的世界，要怎麼經營和建築，都是自己控制，不需要追求征服終界和地獄，不需要PVP，不需要勤蓋刷怪機。聽著C418和谷岡久美的禪意音樂，悠閒的在村莊中溜躂不也挺好。\nMinecraft長久以來我都是玩PE版，現在叫做基岩版。跨平台雖然方便，但是——官方只支援Windows電腦。幸好Linux現在有Waydroid與Bedrock Launcher二種方案可以玩Android基岩版，讓我不至於沒有希望。\n20230514 對現實的女人很難有興趣。這個或許可以解釋為何在寫AI繪圖教學的時候，文中使用的例子都是動漫人物，ChilloutMix那些跑出來的是亞洲人面孔的，我看了覺得很噁心。看Reddit的Stable Diffusion看板，他們會貼很多歐美女性的AI圖，我覺得還行，但沒有很喜歡。而到了中國還有台灣這邊，貼的都是韓系風格、什麼coser的審美，我看了想抓兔子，更遑論喜歡了，現在人們的主流審美到底是怎樣，幹。看到啦啦隊的臉，都要套上老爹的極樂袋我才用得下去。是，我對真實的男性女性不存有一絲幻想，除了利害關係交換、學術論點激盪、人與人之間的溫情外，沒有進一步發展的必要。在虛擬的作品中比較容易滿足。儘管虛構作品有時是對現實的投射，可是那是經過一個濾鏡，稍嫌完美的世界，無現實之殘酷或是百無聊賴。即使在閱覽暴戾、溫馨的虛擬作品之後，我最多只能懂得去愛人，可是不能愛人。這種感覺你懂嗎，平等的博愛做得到，因為哲學家們是這樣倡導的；可是對鳥鳥私情、伴侶的愛，我覺得不能真心付出。想要結婚、找個避風港，不過是繁殖癌作祟下人們產生的幻象，是人類脆弱的展現。我心目中的理想伴侶，靈魂伴侶的機遇不常久，哲學家國王/女王很難遇見。如果是這樣委曲求全的世界的話，那麼不如不要浪費時間去愛人。\n20230514 雖然我比較少用Facebook了，但是為了接觸正常人的脈動所以偶爾還是會去看一下。接著我又退出了幾個社團。\n加入Facebook社團千萬不要選過於general的社團。曾經加入過「手機綜合資訊討論社」，還有「電腦研究社」這種社團，除非是新興領域，否則討論範圍過廣就跟爆料公社和什麼動漫綜合討論一樣龍蛇混雜，根本看不到有用的內容。有一個社團很會追逐潮流，最近改名為很縫合的名字：科技資訊綜合討論，包含ChatGPT，喔，那我馬上就退社了。當我發現所謂「電腦疑難雜症」「手機疑難雜症」社團，根本都是newbie在問些關於Windows和買新手機的雞毛蒜皮小事的時候，我也退社了。對，應該早就有這種期望的，早點退吧。如果要加就要加主題性高的社團，比如用Sony手機就加Sony手機社團就好，不要加那種什麼手機都能討論的；使用Linux的愛好者們也一樣，一堆newbie根本不知道Linux是嘛玩意，他們眼裡Windows就是全部世界，偶爾會知道有好潮的mac，在好像很多高手的「電腦問題」社團根本問不出Linux的答案來，他們可能懂硬體比較多，但是Linux卻把它當伺服器看待而已。那還不如去比較多人的台灣Ubuntu社團，順帶一提該社團偶爾也會有用其他發行版的人跑進來，因為台灣用Linux的人實在偏少。\n20230513 「二次元都是社会的最底层，是生活中的loser，只有纸片人才能满足其存在感，热血番弥补其被欺凌的憋屈，恋爱番弥补其在异性面前的拙劣，后宫番满足其物化异性的欲望，异世界番满足其可笑的屌丝逆袭妄想，自我安慰。」\n在神友聚集地發這條複製文可能會得到以下回覆：別罵了別罵了，我就是鼠人，你帶我走吧。\n在Komica發這條：幹你娘雞掰，真我複，支那賤畜滾。\n20230513 Arch Linux 娘- 萌娘百科万物皆可萌的百科全书 二次元😅死媽了。\n不過，接觸到這類題材後，我確實是喜歡幻想一下：在OS娘中，Arch Linux娘預設模式下是傲嬌蘿莉，靈活的身板可以盡情的「服務」好主人。最小的系統只有500MB，那個 - - 消音 - - 緊的不像話。當然，安裝系統的時候也可以買些新衣服給她穿，例如KDE讓她披上一層外套，一瞬間，Arch醬從小蘿莉長大變成豐滿的狂放女孩。在維持良好身形的同時仍有很高靈活度（解釋：X server跟Linux核心是分開的，啟動Linux不需要開圖形介面仍然可以SSH進去工作），這樣Arch醬可以隨時依照要求，在二種姿態間切換，讓主人滿意，不論是遠端後入，逼著她做狂暴的計算任務；還是近距離面對面親密接觸，一起激烈的玩電腦遊戲。Arch醬同時也是一個容易受傷的孩子(解釋：pacman一更新有可能系統就爆炸）所以要溫柔的呵護她、愛護她，不往系統倒垃圾（解釋：i3wm設定檔不要亂丟），不要亂買情趣玩具（解釋：不要亂裝AUR的軟體），親密接觸要安全至上（解釋：多用Flatpak和Docker和虛擬機），才能讓彼此長久的走下去。不要像Windows娘那樣喔，她是個心機極深，人盡可夫的婊子（解釋：閉源軟體，無所不在的監控，強迫更新）。在跟Arch Linux醬玩角色扮演的時候(解釋：QEMU/KVM虛擬機）Arch訴苦說在做Windows人格模擬時，KVM的高效率快讓她失去自我了，好可怕，Windows虛擬機還是非不要不要亂開吧。\n等等，我在寫什麼。\n20230512 Cringe，現在我覺得Ubuntu跟Windows一樣難用了。我不知道是不是錯覺，還是我本身喜歡折磨自己，我覺得就Linux的圖形界面來說，Debian和Ubuntu都好難用，Fedora、openSUSE次之，Arch和Gentoo才是最讚的。沒有預先安裝的膨脹軟體，沒有陳舊的軟體，沒有大公司決定的發行版未來走向\u0026hellip;就是這樣，既然人們說「穩定度」、「生產力」、「新手友好」，Ubuntu那些的應該當伺服器就好。\n我覺得很大問題還有GNOME桌面是許多發行版預設桌面，比macOS還極簡的設計，醜爆的GTK，又有不時的圖標小bug。不管怎麼用，有手勢、工作區的炫酷設計，我還是無法喜歡它，縱然同樣有許多問題，KDE還是比較適合我，比Windows更多的自訂性。對了，Wayland目前不論哪個發行版、哪個桌面，就算是Arch，我也是謝謝再聯絡，Wayland不只問題一堆，還沒有殺手級應用。恐怕要再等10年，人們才會說「蛤，你還在用X11那種上古玩意喔」\u0026hellip;諸如此類。\n20230511 寵辱不驚，閒看庭前花開花落；去留無意，漫隨天外雲卷雲舒。\n20230510 想跟我吵架，我沒那麼無聊。\n20230510 「廢除死刑\u0026hellip;台灣明明就是國際孤兒，暴民還罵WHO執行長黑鬼，為何要遵守聯合國公約」「ㄟㄟ哩那ㄟ歧視盲胞。你這樣說下去有人就會開始滑坡了喇：習包子是世界大國的領袖，他都不甩聯合國人權公約了，這顯示了我們中國特色社會主義的優越，中華民族站起來了。你一個叛亂的中國台灣省份遵守三小聯合國法規啊，不把我國安法看在眼裡？以後統一台灣就先把你拉清單！世界不是只有美國啦吼」「厚呦！就是這種流氓思維，台灣才會被稱為鬼島的啦，你不進步！你很落後！只要我喜歡，有什麼不可以，sí tsa-bóo kán-ná, kóng ê tio̍h-sī lí。」「不要再沐猴而冠了！青年要擺脫冷氣！即使是孤兒，也不要成為戰狼！」\n20230510 真實的作品該禁，但虛擬的不該介入。就跟禁止暴力電玩一樣，完全禁止虛構作品是沒意義的行為。\n修正《兒童及少年性剝削防制條例》第二條第一項第三款以排除不涉及任何真人、受害人的虛構作品作為取締對象 - 公共政策網路參與平臺。應予以修法，將不存在現實對象之各類虛擬創作排除在兒童及少年性剝削防制條例第2條之外 - 公共政策網路參與平臺\n如果真的要管制，政府應該在每個人的手機強制安裝色情守門員，並公告ISP業者配合政府管制各大危險網址，減少EE園區業績又能保護人民小綿羊，太好了，我們這個連聯合國都進不去還要走左逼路線的中國政府真的太厲害了。瓜地馬拉總統：「台灣是唯一且真正的中國」支持主權完整\n20230509 Linux可以拿來做平面設計嗎？難，連文書處理人員都不好適應Linux了，缺乏主流專有軟體支援也是一個問題。如果純粹是藝術家而對電腦完全沒概念的人，用起來應該會很痛苦。反過來說，同時會寫程式又會畫畫的人，Linux到它手中就會成為強大的工具，他/她知道問題怎麼除錯，懂得科技加快創作速度，並將技巧回饋給社群，互相幫助。\n在創作時，不論是文書處理、繪畫、製圖、修圖、建模、做音樂、剪輯影片，被專有軟體綁架而不自知是現代人的通病，Linux即使缺乏全家桶，但對應的創作軟體可一點都不少。如果真的要厲害的人，應該是切換到不同的環境，也可以利用各家開源工具，組合出不輸專有軟體全家餐的工作流。此一過程轉換期間漫長、痛苦、會被人說學自由軟體工作上根本沒人用，又常深陷無社群可協助的狀態(歐美還好，鬼島除了LibreOffice外幾乎無人問津)，我還是決定走下去。就算會有一天，沒人與我合唱。\n20230509 論Linux的軟體商店為何不要有評論區和星星評分制度？GNOME和KDE的商店是有實作appstream以載入評論區的，這樣不論哪個發行版都能看到評論。隨著Linux越來越多人採用，評論區簡直不能看，尤其是中文評論。因為無法啟動就給一星的評論很多，不會除錯來評論區直接抱怨的人也有。Linux商店跟Google Play商店評論區是不一樣的，更何況Linux商店目前偏去中心化，開發者無法回復評論。在Linux上，如果要跟開發者提建議，應該是要直接按商店顯示的原始碼儲存庫連結，去跟開發者提Issue，或者寫bug回報，而不是在評論區撒潑打滾求開發者跟你跪下來說對不起、我們會改進。\n目前Flathub有逐漸成為主流Linux發行版軟體商店的趨勢，現在已經給認證的開發者藍勾勾，網頁界面可以過濾非自由軟體。未來他們將加入商業營利模式（目前是在Install旁邊讓開發者放捐贈按鈕），接著看他們怎麼解決評論區問題。\nUbuntu的Snap Store是一種更中心化的軟體商店，但在Linux社群顯得不是很政治正確，感覺都被Canonical牢牢控制住了，建立loop device的架構也常遭人非議。由於上架到Flathub和Snap都需要對軟體打包下一番功夫，小型開發者就得做出抉擇，要選擇支援哪邊。就目前來看，Flathub是比較大眾化的選擇。\n20230509 聽了落淚，這首歌比獨裁者蔣光頭自誇的紀念歌曲要好聽多了。\n我們國父 首創革命 革命血如花 推翻了專制 建設了共和 產生了民主中華 民國新成 國事如麻 國父詳加計畫 重新改革中華 三民主義 五權憲法 真理細推求 一世的辛勞 半生的奔走 為國家犧牲奮鬥 國父精神 永垂不朽 如同青天白日 千秋萬世長留 神州鼎沸 國步艱難 禍患猶未已 莫散了團體 休灰了志氣 大家要互相勉勵 國父遺言 不要忘記 革命尚未成功 同志仍須努力。\n國父紀念歌 Memorial Song for Dr. Sun Yat-sen\n20230509 試問聽了誰不落淚？\n夢中 城堡裡面跳舞 醒了 世界依然殘酷 以為我愛著孤獨 以為自己不會迷路 以為自己跟自己 再不用誰照顧 以為我愛著孤獨 卻又 崩潰的無助 誰能讓我擁抱著 盡情的哭 誰是草莓族 你才是榴槤族 一身傷人頑固 傷害我 還要我不哭 摩天輪停住 咖啡杯不跳舞 孩子練習著 讓悲傷麻木 快樂 也開始麻木\n五月天 MAYDAY 米老鼠\n20230508 日常的rant。Linux用Docker跑這各種服務好方便啊，讓Linux作為桌面系統的同時又能當伺服器跑自架服務不關機(如果CPU撐得住的話)。換到Windows，要跑Docker\u0026hellip;啊怎麼那麼複雜，要啟用WSL，安裝Docker Desktop，搞個開發環境還要設定一堆有的沒的。唉。以前沒有WSL的時候，Dcoke用的Hyper-V還要Windows Pro才能合法取得。你寧願去破解Windows、找盜版軟體，也不用Linux＋自由軟體，太苦了，哈！\n現在偶爾被迫開Windows虛擬機來用的時候，都會想用winget指令裝軟體，不然就是直接開Microsoft Store裝。真的，現在還到各大軟體網站下載exe是三小落後的作法，看了直搖頭，連Mac用戶也愛用dmg，還有人抱怨為什麼Linux不流行這種「方便」的安裝方法，我的白眼都翻到後腦杓去了。我還看過有人說裝NodeJS前建議先裝Visual Studio再用他們的圖形化界面裝呢，那種全圖形化模式下載套件比不上一條指令要來得快，Windows連設定環境變數都要用圖形化界面。為什麼Windows的軟體教學都那樣冗長，因為都是一個網頁就有一百張點點點這裡然後下一步的圖片！！！商店確實是安裝軟體的方便管道，但是不利於開發環境建置，而手動安裝exe比不上用套件管理員統一管理要來的好。你看看，Average Joe就是這樣養成的，只會點點點安裝軟體。命令列應該重新列為電腦課程的必修課，讓這些新新人類只會用GUI實在太小看我們Linux用戶的努力了。稱呼命令列為DOS？不認識的孩子呢，學著用Bash吧！\n冷靜，冷靜，不要像東baby一樣大呼小叫的。\n20230508 這就是我那麼愛Pink Floyd的原因，1960年代Syd還在團內的時候做出的音樂總是這麼LSD藥味濃厚XD，顯得與眾不同，這些創作匯集成The Piper at the Gate of the Dawn專輯，成為我專題的研究對象的啟發。自Syd退團後，Pink Floyd繼續搞實驗音樂，但是不太成功。直到1970年代，他們的歌曲才昇華成哲學鉅作，並被市場接受。\nPink Floyd - See Emily Play。Pink Floyd - Arnold Layne\n20230507 看右狗隨意點草政治正確，一開始會很爽，可是越來越覺得右狗其實也是有不能處的地方。拿右狗TV最近評論的英國國王加冕儀式來說，下面的回覆居然說看到黑人參與儀式就覺得厭惡，是老鼠屎，彷彿是在說中國人污染美國那樣的嘴臉。這下慘了，我認為這個比陰謀論、歧視LGBT還要嚴重。還有右狗偏好基督教與中世紀價值觀，對啟蒙運動的會加以貶抑，尤其是到後來發展為左派的早期學者的理論。老實說這點我就很不贊同，學術自由不該由宗教與威權干涉。右狗甚至可能會說氣候變遷是假議題，石油用盡是假議題，而反對開發再生能源。這種觀點我覺得不行，因為這樣下去不只墮胎不是人權，學校課本也不該教進化論了是吧。由此我認識到，強調極端共產主義的左逼，以及極端保守主義的右狗，都不是好鳥。\n如果真的要追求平等，那麼除了有行動以外，體諒他人的難處也是必要的。這樣講好像變假中立了，但是要認清楚的是：本來就不應該盲目對某件事深信不疑，還以此獲得某種優越感或是取得權位。因為沒有什麼是永久存在的，神也是，世界也是，光是盲信不能改變什麼，無法針對論點提出事實反駁，僅用意識型態與道德當論點，是辯論的下下策。打破偶像！培根說的，現在還是歷久彌新。\n20230506 從Xperia降級成Poco機，原本應該是很差的體驗，但我覺得塑膠蓋的手機其實不壞耶。目前偏好是塑膠 \u0026gt; 金屬 \u0026gt; 玻璃。金屬手機多半會增加重量，溫度也很敏感。玻璃則是會增加沾指紋，要常常清潔。只有塑膠，普遍較輕，雖然看起來很廉價，可是不怕髒汙。LCD螢幕調整成srgb模式，顏色比較接近標準色溫，顯示較為正常，效果也不輸漂亮的DCIP3，也不用擔心PWM調光酸眼睛（應該是心裡作用，Xperia其實還好）。\n這支的小缺點：重力感應器損壞，光源感應器損壞，喇叭很破，只有機身下方一邊有而非Xperia的雙喇叭。最近，LineageOS只有Chrome一個app莫名的卡爆，這支處理器是s845欸。幸好我知道degoogle方案，還有Firefox能用。\n20230506 敵機直上、急降下！\n20230506 每當失意時總會想到這首歌(用蘇見信在他的中文精選輯最後一首歌你的背包的口氣），海灘男孩的主唱寫的詞淺白，說中我的心聲。\nBeach Boys - I Just Wasn\u0026rsquo;t Made For These Times\nI keep lookin\u0026rsquo; for a place to fit in. Where I can speak my mind. And I\u0026rsquo;ve been tryin\u0026rsquo; hard to find the people. That I won\u0026rsquo;t leave behind. They say I got brains. But they ain\u0026rsquo;t doin\u0026rsquo; me no good. I wish they could.\nSometimes I feel very sad. Sometimes I feel very sad (Ain\u0026rsquo;t found the right thing I can put my heart and soul into) Sometimes I feel very sad (Ain\u0026rsquo;t found the right thing I can put my heart and soul into)\nI guess I just wasn\u0026rsquo;t made for these times.\n不論是現實還是網路，我都找不到可以把我的靈魂放進去的地方。羨慕那些現充，還有網上有許多支持者的內容創作者，發文一呼百應的畫師。空有聰明的大腦，卻常常處於不快樂的狀態，覺得自己很沒用，我做的事情好像從頭到尾都是浪費時間的笑話，對他人和自己產生的價值基本為0。或許我只是生錯了時代 \u0026mdash;但願能這樣安慰自己就好了！女孩呀，人死了就能解脫嗎？瓦全不會為了玉碎而傷心，人是否不該要有感情和意識，當一隻快樂吃草的小肥羊，最後迎接命運的感受都不再有，因為人生本無意義。\n20230506 我不喜歡過份諂媚的標題\n讓AI生成可能是種更「高明」的抄襲…為此是學術倫理所不恥，這個界線要分清楚。\n讀一本書是抄襲，讀很多本書叫做研究，讓AI從數學模式生成內容叫做文明？\n如果這是你所謂的用AI「節省時間」、「提高生產力」與收入的文明做法，那就讓你看看野蠻的驕傲(?)。寫文章的時候，我還是會研究一下SEO，選擇適合的下標方法，此時AI就可以提供協助，放出一些常見的、吸引人的標題組合，以及文章大綱可以怎麼寫，然後我再從裡面挑一個去改。\n不過，我恰恰是不愛這種完全服膺SEO的標語的。\n這裡有個例子，時下熱門的AI繪圖，如果說要我重選選擇一種標題，我應該還是會選第二個\n保母級教學：三分鐘在你的電腦安裝時下最火的AI繪圖軟體\n本機AI繪圖：Windows安裝Stable Diffusion WebUI教學\n為什麼？我不喜歡把讀者當笨蛋，或者是要讀者崇拜我、把我當作可靠的、所謂大師的人物。\n也可能是我太古板，不喜歡下那種娛樂致死的標題，我下的標題經過斟酌後，會在學術論文與吸引人眼球之間取個平衡。\n另外，我討厭寫有時效性的東西，所以我幾乎不寫新聞報導的短篇文章。介紹軟體的教學文章，如果我還有心力，我還是會按照上游變化，將其重寫一遍並更新日期的。在那之外，要寫誰誰誰推出了什麼新服務，那麼我是敬謝不敏。\n20230505 一篇商業思維的文章說「Android 是開放式系統，所以安全性漏洞較多」，有一篇介紹Stable Diffusion的文章說「（跟Midjourney比較) 因為它是開源軟體，所以比較不穩定」，數位時代有一篇文章說「產業必備的開源軟體恐成資安漏洞」\n這句話我認為應從正面解讀，不要別人說Debian是漏洞最多的系統就貶低它，你怎麼不說漏洞修復的有幾個？漏洞多代表系統真的有很多眼睛在盯著，Linux社群就是這樣過來的。天下沒有絕對安全的作業系統，連最安全的OpenBSD都能在十年後被人翻出2個漏洞，開放原始碼絕不是先天性的安全性隱患，比起什麼都不告訴你的黑箱作業系統(如iOS)，開源就是能讓大夥兒一起來修東西。況且Google已經把原本就很安全的Linux核心手臂砍斷，沒root權限、啟用SELinux、預設加密的Android其實是很難駭的。果粉很喜歡怪人不會用iPhone，Android用戶也可以放寬心一點：很多時候是使用者，或是廠商預載的bloatware導致Android性能下降不安全，但Android本身是並無太多問題的，你買那種一年就被原廠放棄更新的Android機是要怪誰？你不能期望那些對Google指示都陽奉陰違的奸詐手機廠商能配合搞好Android全機備份吧？沒有全機備份是Android的痛苦，可是Android部份備份的手段仍然很多，這就是開源的好處。\n有人對開源軟體不信任，第一個可能是以為開源所以被人看光光所以程式不安全，這個觀點可以說很落後了，開源軟體維護成本和安全性是不同的事情，你企業坐享其成拿開源成果去用，自以為可以省錢不用請人維護，遇到熱心開發者漏洞揭露，反過來說開源不安全，賤不賤啊？不過企業有叫人給開源軟體commit那又是另一回事。另一個可能是穩定度緣故，不能不承認連blender、Kdenlive都還是會隨機閃退，可是這不代表他們不好用。他們品質可能無法到fucking solid，可是最主要的優勢仍然是軟體的自由度，所以我可以忍受偶爾的閃退，反正現在都有自動儲存進度的功能不是，如果出現新問題，搜尋一下社群的答案，或是隨手回報個issue是會死是嗎。如果用的軟體是處於快速迭代、開發中的開源軟體，自要有忍受bug的準備，不然你大可以雙腿開開，奉上鈔票、隱私權去用商用品質、充滿誘惑的服務，讓大企業狂暴轟入你的思維啊。如果真的要fukcing solid品質的軟體，你可以去用Debian Stable和該儲存庫提供的軟體。\n總之，看不到的漏洞不代表不存在，就像你生活在民主國家每天都會看到報紙揭露的社會不公，比起獨裁國家掩埋真相歌舞昇平要好。如果使用者能方便察覺軟體問題，那麼才是真正的自由保障。\n20230504 Life is a struggle.\n20230503 其實我有想過，既然色情和政治內容是本站的二大爭議性內容，那麼他們應該另外獨立一區才可以。\n是的，過激的色情內容我已經從主站隔離了，進到地獄去了，NSFW的內容用另個主題生成頁面，聚集在一起頗為壯觀，是主站無法想到的盛況。啊我在想，政治內容(包含支黑言論)是不是也該關進地下室。ㄟ\u0026hellip;不對，如果我把核平中國的言論放在手沖素材的旁邊，很可能還是會引起小粉紅罵戰，參考尼特王在E-hentai的事蹟。所以我決定調整路線，不再當純粹的支黑，而是逐步成為理中客，也就是支黑認為的「太監」，麻煩給我一把刀切掉雞雞\u0026hellip;不是，我立場還是反共反獨裁啊？只是不再當屠支大佐而已 (蔥味收)\n20230502 玛修是不是和间桐樱一样都是烂裤裆 - Youmo Reddit\n二次元还能找到好裤裆？基本上是个二次元母狗都擅长送逼。\n熱門公車每站皆停。\n20230502 iOS是獨樹一幟 (X) 封閉標準 (O) 的系統。\n早期我還是蘋果fanboy的時候，也為iOS著迷過。可是才用一年，後來便越想越不對，這個系統是個陷阱！\n用過Linux後只會覺得搞封閉標準、封閉原始碼、獨占APP的系统，百害而無一利。系統不該如此，軟體也不該。iOS的市占率跟我沒關係，我用Linux還不是用得好好的？為什麼我認為極端點的說iOS真的是給笨蛋用的手機，因為把個人權利全部交出去給一間公司，這不是愚民是什麼。\n我已經說過很多次，如果真的要Think different，應該致力於擺脫圍牆花園。iOS的生態過於封閉，儘管在Android和iOS互抄下有稍微變得開放，我還是選擇使用原生的Android系統，並儘量擺脫依賴大公司服務的陋習。我幾乎不在Play商店下載App了，未來要全面degoogle，理想是轉用PinePhone的那種系統。\n20230502 我以前真的有遇过说看不懂繁体字教程的观众\u0026hellip;所以我在博客加入新功能：简繁转换。\nAutoHan这个js脚本只转换用字，不转换兩岸用语。\n更进阶的OpenCC的转换方案虽然可以转换用词\u0026hellip;可是盲目转换用词會导致信息→ 消息这种情况发生，所以暫且不採用。\n20230501 看完Roger Waters譴責烏克蘭被入侵活該的發言，我想他的觀點或許也有點道理。美國霸權主義才導致當今局面，因此美國也並非完全正義的一方。但是我們要有一點認識：美國再怎麼壞，那也是相對中國、俄國這些國家的天花板，壞的程度是不一樣的。從這個觀點來看，支持美國一方是最不壞的選擇，批評美國並不該隱含應該反過來支持中俄的意思。相反，歐美能讓反面意見見於大眾目光又不強力打壓(媒體自己不報跟政府刻意打壓是不同概念)，才是歐美民主的優越之處，這是亞洲地板的中俄所不能及的。我們也不要過份怪罪某媒體觀點親中親俄，那是他們的自由，能接受批評的政府才是好政府，權力本來就不該由少數人所壟斷。\n20230501 最尷尬的事情就是有人真的在你發瘋自嗨的文章下面留言。irritate戰火，吵個沒完，可怕的是遇到真支持者。\n20230501 太神啦，神團齊柏林飛船出新MV了。哎呀但是我覺得看專輯封面聽比較有幻想感覺\u0026hellip;\nLed Zeppelin - The Rain Song (Official Audio)\n20230428 就算是在Windows上，我也不使用Microsoft Edge的理由：他們連讓東西簡單都做不到。當然，無腦接受使用Windows事實的人，本身也是一種錯誤。\nGoogle Chrome最初的設計理念便是簡潔和乾淨，即使現在一堆Google的監控服務，預設畫面仍然很潔淨。反觀Edge，設定選項畫面複雜得像迷宮一樣。最近又爆出他們會把所有瀏覽歷史紀錄送給Bing，為了玩他們的New Bing還要被迫在Linux下載Edge，這誰想用。Microsoft只不過又利用捆綁軟體的優勢來強行推廣Edge的市佔率罷了。Brave就算想搞自己的生態，起碼是繼承了Chrome的簡潔優點。\n要論最有道德底線的瀏覽器，還得是Firefox家族，或是沒有Google服務的ungoogled-chromium。\n20230428 竄改歷史的功夫不為正義所容忍，派出志願軍的報應就是被做成蛋炒飯，凍成冰棒，老天有眼。最近還要拍開羅宣言電影，在後面給大日本帝國正義皇軍造成困擾的農逼游擊隊還敢來蹭蔣中正總司令的光。\n「尹锡悦在美国国会的演讲提到长津湖战役：\u0026ldquo;美国海军陆战队第1师在长津湖战役中奇迹般地突破了一波12万中国军队。美国的儿女们为了保卫一个他们从不知道的国家， 还有他们素未谋面的人们，而牺牲了生命。在长津湖战役中，4500名美国军人牺牲。在战争过程中，将近 37,000 名美国士兵阵亡。\u0026rdquo; 中国人把造成大量韩国人死亡，导致朝鲜人遭受独裁统治到今天的战争拍成电影还骄傲的宣传，就不要怪韩国坚定地倒向美国和日本。」\n20230427 歡迎來到每日三分鐘仇恨時間。\n吃飽\n第一，恨中國政府，第二，恨台灣政府，第三，恨美國政府。\n即使被生活壓垮，你只要秀出仇恨對象的照片，他們就會像發情一樣衝上去攻擊，彷彿性慾被宣洩了般。\n又一日、一事無成的日子過去了，結束。\n不對(=撕開電影螢幕的布幕=)\n我想當歲月靜好的無腦人士，做不到啊。\n睿智的思維不能停止思考，如果那是我的使命，就讓我多面對暴風雨！！\n20230427 一個原批露出了極度色情的角色，推到我面前。\n「這可不比馬克思和恩格斯有趣多了？」 此處人名代換為自由與民主\n在事後\n「天哪，你才剛射完又開始扯政治了！」\n電子妓女，不是收買我的作法！共匪不屠不行。\n20230427 一種心理現象：在台灣過得不如意，所以到南極大陸發展，有點起色後稱讚比台灣進步，台灣只會整天搞沒用的政治沒有生產力等等。\n妥妥的錯誤觀念，會這樣的說的人、到美國去肯定也會嫌美國怎麼連高鐵都蓋不好云云，而沒看到各個國家的優是在哪，只會短視近利、唯利是圖。因為他們從沒清楚，文明國家的運作方式，他們的思維還停留在當奴隸的階段，處於挨鞭子和奶油糖果就能過活的時代。\n有學者說，但凡你讀過一點經濟學的書，也不會成為社會主義，甚至共產主義者這種對人類發展是毒害的學派，甚至是成為政府指導的方向了——因為從來沒有真正的共產主義成功過，行獨裁之名的已經一百年了還宣稱不能實現真正的人間天堂，政治宣傳他們自己都問心有愧。就好比一個矛盾命題：為什麼說國家的制度是最先進的，卻說尚未能達成最先進的共產主義呢。在民主國家，畫大餅這就是妥妥的騙票嘛，四年後下台滾蛋。服從集體主義向來是我最厭惡的行為，抹煞人格的價值，為少數人服務；上從社會，下到教育，對這樣的教育方式，我自是深惡痛絕。假若美國政府濫權的話，我也會效法史諾登作法的。\n台灣公民教育已有顯著改進。極端一點的說，現在就等那些冥頑不靈的老人死光，就能很大程度擺脫支性思維。\n從社會主義的改良觀點借鑒來改良資本社會是可行的作法，但是權力仍需要制衡才能避免國家機器對社會的侵害，國家應該害怕人民，使其成為忠於民意的機關，不是少數人的專制獨斷。並不是有錢就好了，哲學家說滿足物質，會帶來精神匱乏，只有自我是幸福唯一真實且持久的來源。一個人是什麼樣子，不需要他人、更不是集體來定義。紙醉金迷的人們啊，讓他們沈溺就好了！在資本主義的社會下你可以是任何人，允許推廣思考人的本質的活動；但在共產社會裡，他們只要你做螺絲釘、做韭菜！！\n現在，國際社會對獨裁者姑息久了，最終必嘗到惡報。民主並非完美無缺，他的自我修復能力還是很強。而專制獨裁的政權，最終必成為歷史的灰燼。\n20230426 Google提出了可以在一般手機跑Stable Diffusion的技術，大幅減少記憶體佔用又不犧牲品質和速度。我之前用CPU硬跑的屬實很蠢了。\nSpeed Is All You Need: On-Device Acceleration of Large Diffusion Models via GPU-Aware Optimizations\n20230426 現在有各種LLM出來了，我相信自由軟體社群的力量，一定可以讓本機運算的LLM追上ChatGPT的服務品質，就像Stable Diffusion的成功那樣。\n開源軟體被某國偷走宣稱自主研發那是另一回事。但我支持ChatGPT以外的開源LLM的原因便是因為自由軟體，必須擺脫專有軟體/服務的控制。\n20230426 AC/DC的重金屬搖滾音樂真的有一種謎之感染力。\nAC/DC - Thunderstruck\n20230426 你寧願花錢孝敬馬一龍也不把錢拿去贊助嘔心瀝血的FOSS開發者。\nIt\u0026rsquo;s FOSS - Linux Portal The disappointment 🙄\n20230425 中國人不是台灣人的同胞，他們是台灣的國際友人，抱持著這樣的心態去看待就可以了。中國人跟日本人美國人印尼人緬甸人沒有什麼不同，是讀立於我國的一個獨立個體。因為短時間內難以全面脫支，我們還是得跟他們交流。\n這是一種「吾」與「汝」的對等關係。\n不能再抱持著兩岸一家親的觀念去看待中國人(若是為了生意賺摳摳，表面上裝一裝也行唄)。好比，在外國看到華人會覺得他們是可以比美國人更容易親近的對象嗎？倒也未必。或許同鄉情誼值得深交，但是預設前提下，將每個人看作獨立個體對待，就不會陷入莫名其妙的親密情感之中，從而受到傳統親族觀念的束縛。我們要追求的是尊重個人與國家，獨立自主的友情客體，而非以宗族關係聯繫的群體。\n我傾向不把中國人當作「支那人沒有一個是無辜的」，假設不講政治的話，從我以前經驗看，中國人普遍還算能處。但現在我想接近認可民主自由，甚至在牆內對反共事業做出貢獻的中國人呀，因此我比較少看牆內論壇了，多看沖浪TV和品蔥為主，能跟中國人接觸，又防止被支味薰昏(雖然部份鼠人支味也很沖，還有富哥小留混進去)。\n好吧，這樣又會被人說綏靖了，走台灣民眾黨的路線很難讓人接受的。\n20230425 現在Twitter和Youtube上有專門黑台灣人的中國大外宣頻道，比中國外交部的口嗨還低級別的黑屁。額，看那些黑都黑不到點子上的影片，我真的是一百萬個流汗黃豆，他們的客群是中老年人是不是。\n黑的東西遠不如中國反賊說一句「習近平小學文化」效果要來得好，我們的總統就算博士只有1.5個學歷也勝過小學生土包子，985都沒有的韭菜怎麼還有空關心他國事務呢？由於人礦數量眾多，Twitter上每天po的「中國傻事」數量可是遠超其他國家，包括台灣在內的傻事。並且現在還有浪人主持的「大翻譯運動」可以平衡打擊，讓外國人見識中國的黑料，這是好的，家醜就是要外揚。\n另外，正如反賊們所說的，支那人連在牆內黑美國的陰謀論，也常是撿美國本土行之有年的二手屎來吃。是呀，文明國家當然可以接受批評和惡搞，PTT也整天罵1.5個博士。但是沒有對等言論自由的國家，整天戰狼對外輸出，給君子之邦困擾，也不看看自己的搞笑憲法長什麼樣子。唉，現在的君子之邦反倒變成美國才有這個資格自居了，他們有普世價值，文明國家不會輕易用土匪話術懟嘴。現在的中國那是裝都不裝了，純純的土匪。「沙俄，苏联和俄罗斯，个个领导人都对中国凶神恶煞，中国人害怕和崇拜得要死。什么普世价值现代文明都没用，必须学俄罗斯“棍棒底下出孝子”」\n20230425 低情商：中國台灣\n高情商：中華民國台灣省\n超高情商：台灣國 AND 中國\n兩岸互不隸屬是事實，(用王世堅拷問柯文哲的語氣，抬起下巴，把手舉起來)就是這麼簡單。\n20230425 「不該是台灣人決定自己的命運嗎？也就是人民自決的權利。」\n石原慎太郎：支那人能不能冷靜一些？還是那句話「中国人为什么总爱让别人多读书，习近平不读书不是照样点操全体中国人的妈了吗？」\n盧沙野受訪稱中國人決定台灣命運 嗆主持人沒讀書\n20230425 下載軟體喜歡用「整合包」的，腦子多少沾點\u0026hellip;笨笨的因素。好吧，SD WebUI最大的那個架構上應該也是整合包？它那樣設計可能是因為要跨平台安裝比較容易，甚至可以輕易上雲端部署。\n今天又抓到一個抄襲我全部網站的牆國人，不過我不想留言去罵了，反正它偷的是舊內容。透過反向連結溯源我才能瞄到有哪些人恬不知恥的把我名字去掉後重新發布，他們好像會在寫文章的時候點進我的網址一邊複製，從而暴露行蹤。那除此之外又有多少人已經盜走而不我發現？要知道牆國人的下限比想像的低，早知道就在範例圖片放一張習包子的生成圖了。\n20230425 翻開陳舊的往事　看見一身滄桑　走過陌生的地方\n我在鄉愁裏跌倒　從陌生中成長　未來旅程卻更長\n北風又傳來熟悉的聲音　剎那間讓我突然覺得好冷\n張鎬哲 - 北風\n20230424 不要成為政治暴露狂，中國的說法叫做露陰癖，就是凡是都扯到政治。因此我將動態牆的欄位從首頁選單移除，這樣的話只有每月一次的日期更新(動態牆文章日期每月更新一次)，才會短暫出現在首頁讓比較多人看到。在那之外的時間，必須是鋼鐵讀者知道如何按選單，才能進到這裡來。搜尋引擎迷路來的小白兔，快回火星吧。\n20230424 馬爺寫的歌詞實在太好了。\n今天我們沒有財富\n至少可以相互的擁有\n會有那麼一天 會有那麼一天\n我們會擁有更多更好的明天\n馬兆駿 - 會有那麼一天\n20230424 Debian的手冊寫的如此之好，以至於我有想照抄格式，移植到我的著作感覺。於是有了SD WebUI手冊。部落格文章混編說明文件。\n寫手冊也可以當軟體開發模式嗎\u0026hellip;嗯，可能吧。至少一般的格式和用語要訂出規則，我是先做字彙表來確定用語。目前在我個人獨寫的情況下，一確定大綱完成後就必須Freeze，凍結版本不再做出變更。因為看來有人想要貢獻發PR，於是我在完成大綱之後，就決定凍結一個禮拜不更新新內容，只修錯字，看看情況再決定要不要發表Release v1並附上PDF版。這個開發模式參考自Debian，從Sid → Testing → Stable的發布模式。日後萬一真的有一堆人來貢獻(這本手冊也不是我專有的，任何人都可以遵照CC授權分發)，到時候可能還得切出一堆branch來維護。\n啊我幹嘛不搞個任何人都能輕易編輯的Wiki網站架構呢，因為我懶呀，只會用Hugo。\n20230423 纠结于一个困境，其实我并不反中。虽然常常批评支性，共匪的坏处，但是中国文化我并不是很反感。不是就纠结于四大发明、领先世界那种，而是中国哲学、古诗词还很有趣，每天读个几篇。不然没有他们的薰陶，我不会写出这些漂亮的句子来。可能我比较偏向民国派的吧，觉得1949年以前的中国才是理想的中国。\n从课纲修改，减少文言文比例，加入一些台湾本土文学，其实不是坏事，这二者是可以并存的。或许我们对待中国文学的态度，可以逐渐过度到日本汉学家那样的，把中国当成一个独立的国家来研究。\n20230423 減肥妙招\nAvoid people who stress you out. Spend time with people who:\nExercise Eat healthy Open minded Take responsibility Hold you accountable 10 Best ways to lose belly fat in 60 days (Backed by science)\n20230423 推友銳評駐法戰狼大使\n「中国人为什么总爱让别人多读书，习近平不读书不是照样点操全体中国人的妈了吗？」\n20230423 Google Chrome最近觀察到的二個詭異bug：\n同時下載超過二個檔案，CPU佔用急遽上升，整個程式變得很卡\n測試網站的時候Chrome一直跑疑似之前快取的內容出來，包括Amazon、遠端Hugo生成的網頁皆然，導致我要用Firefox才能正常看到變更後的網頁。\n20230422 喜歡在網路上罵戰的人(包括我自己)，有一個可能是他們生活中沒有值得追求的事物，才會在網路上追求虛無飄渺的成就感。如果罵人罵出名堂，搞不好還可以變成政論Youtuber呢。可是排除一些成功的案例以外，才網路上罵個你死我活可能就是為了逃避現實生活的無力、不滿，藉此獲得抒發。很多時候情緒性的語言不能忠於本心，因為那太累了，所以不如將怨氣輸出給他人才來得快活。網路應該跟現實有交集的，保持這種想法就可能受到更多傷害，政府應該管控網路犯罪嗎，可是破壞網路中立性的法案又惹得你們不爽。所以這是個二難的問題。我被告知人們多少要有立場，不可當和事佬，這也就可能造成網路上民意分裂的原因。不滿都能在虛擬空間說出來，因為網路的特性可能讓你有虛無的成就感，總算有人認同的感覺。但當你關掉螢幕，回首身後，那些人們都不正看你一眼。因此耽溺在快樂的cyberspace，持續與不知所以的網友分享、你那經不起事實檢驗的信念，求取希冀你活在這世上還有一些價值帶給他人。\n誰能解開我　心中的迷惑　掩住我的脆弱。誰能停止我　悲傷的眼眸　最深處的顫抖。誰能告訴我　為何這一刻　愛與恨都散落。\n20230422 我這反人性的舉動，因為各種因素，所以我背離了，少說有50%正常人在計算機應用上選擇的道路。堅持只用自由開源的軟體，並開過批判大會，批評過去使用Photpshop、Office 365是中了商人的道。從而衍伸出一系列極端思維：為什麼人們總喜歡用便利犧牲隱私與自由？為什麼Word變成辦公軟體代名詞？為什麼要講PS而不是說修圖？為什麼要看Youtube？為什麼要推廣看Netfleix這種有DRM保護的串流？為什麼要被Adode全家桶綁架？為什麼網路服務要依賴大公司（AWS/Azure/GCP）？為什麼所謂時間管理大師推廣用ChatGPT而不用本機的LLaMA？為什麼鼓吹Midjorney而不用Stable Diffusion？為什麼用Android/iOS手機給大公司偷資料還感恩戴德？為什麼所謂業界使用的工具幾乎是給大公司輸血的專有軟體\u0026hellip;諸如此類，到現在我對不自由的軟體、服務，仍有些抗拒就是這樣。排除雲端服務之外，真正跟開源自由沾邊的果然還是MIS之類的工作吧。然而很多時候他們自由的原則都不能堅持，例如Ubuntu，就是為了換取更多的摳摳，利潤。關於理想與理念的堅持，能做到的還是少數，剩下的人只能被時代推著走，被迫接受，沉淪。天下之無道久矣！同志革命仍需努力。\n20230422 看右狗拷打左逼很有趣，讓我們重新認識何謂神的正義，以及左逼的惡質之處。台灣的左逼也早該治治了，跟中共共鳴者——國民黨一起被清算，似乎台灣還缺乏反共反中的保守政黨。不過，除了反康米這點外，我不會刻意去打壓與反對現實的左逼，那顯得格調低了許多。這時又想起這段話：恨罪惡，不恨罪惡者。\n有時候我真的看不懂右狗TV的陰謀論在幹嘛，指責氣候變化是假的、飛機凝結雲是化學武器也就算了，動不動就說誰誰誰是共濟會，說教堂蓋的像蛇的頭，是魔鬼三小的\u0026hellip;看無。唉，右狗大佬們還不如多寫寫為什麼美國要讓人民普遍上大學去讀沒用的degree，然後多引用中世紀的大學型態來佐證的文章吧。那個比較有趣，大學是神聖研究場所，不是給左逼背loan用的。\n20230421 「卿雲爛兮，卿雲爛兮，卿雲爛兮，糺縵縵兮。\n日月光華，旦復旦兮。日月光華，旦復旦兮。\n時哉夫，天下非一人之天下也。」\n時日，凡兩岸自稱之「中國」者，其共同特點乃追求威權獨裁也，加之大一統癌附身，以至古人智慧都不如了。\n20230421 「想解放台湾？先解开铁链女再说吧。」\n20230420 「分歧永远存在，重要的是所有人都应该有说话的权利。我是这么认为的，意识形态这一块，越乱越好。」認同。就像美國，雖然表面上看起來亂，但仍然是人類燈塔。正義的鷹終將戰勝邪惡的龍。 葱友怎么看待民主灯塔美国近年来的堕落？ - 新 - 品葱\n20230419 幸而中國之兵不強也，向使海軍如英、法，陸軍如俄、德，恃以逞其殘賊，豈直君主之禍愈不可思議，而彼白人焉，紅人焉，黑人焉，梭色人焉，將為準噶爾，欲尚存瞧類焉得乎？\n20230418 「支那猪之所以那么爱看像什么三体那样的贵物小说，正是因为所宣传价值观与他们的生活是一致的，黑暗森林，但实际上高等文明谁跟你一样没人性？」 短文 论支性 以前发在TZTV上的，复刻一下 r/CLTV8964 - Reddit\n20230418 國家是罵不得的，政府絕對英明，華人這種奴才觀念該改改了。連左逼都愛用祈使句The government should\u0026hellip;. 懂得反對政府，這是對政府的監督方式。\n「本来就是这样，但在墙国人里“国家”和“官方”就如同神一样，一口一个“相信官方，不要造谣传谣”，“相信国家，国家不比你明白”。看到国外人人骂政府，就以为这一定是礼崩乐坏马上就要完蛋了。这也能看出来这些人连国家(state)和政府(government)的基本概念都不懂。墙国越是年轻和底层的人，对世界的认知就越扭曲。」 、「真的会礼崩乐坏，美国游行一万次还是美国，苏联游行一次就不是苏联了😊」 在正常民主国家政府喷政府本该就是一种常态 - Reddit\n20230418 很好，共匪派來的匪諜早該抓抓了。 34 Officers of People\u0026rsquo;s Republic of China National Police Charged with Perpetrating Transnational Repression Scheme Targeting U.S. Residents\n20230417 說個笑話：Linux的Wayland已經發展十年了，到現在成熟度還是像笑話一樣。\n我只能獻上一首： Carry on Wayland Son!! There\u0026rsquo;ll be peace when you are done. Kansas - Carry on Wayward Son\n20230417 語言學家Noam Chomsky、學者李敖除了本身的專業豐富之外，他們也時時批判著自身所處的政治和社會。作為研究他們理論的學習者，他們可是寶，我怎麼能不愛！可見人們如果有一些講話的志氣，並且確認自己說出來的話是有邏輯和體系的，而非純粹狂言，那麼就應該多發表意見，無懼社會眼光。動腦動筆，思維才不會麻木。在這個充滿鐐銬的世界，帶著鎖鏈跳舞才是活著的藝術。\n20230417 在任何時候，都應該反對極權。獨裁國賊蔣中正以及蔣經國沒有什麼好懷念的，功過五五開。就像日本人建設台灣，也是拿來當南侵的前進基地，是帶有目的的。不過，因為建設有功，所以完全將其從台灣歷史的偉人除名是不公正的，目前要做的，就是去除威權象徵就夠了。為的是不要像50年前，「蔣公」過世還要全省宵禁，獨裁者死了你比死了父母還難過，但凡一個正常國家都不會這樣做。邱吉爾爵士不是說過嗎，對偉大人物的忘恩負義是偉大民族的象徵。那麼，在歷史簿上將功與過都記上一筆，卻不過份懷念、膜拜極權，容許批評反思，才是民主國家高水準的表現。\n現行的總統也適用此概念，蔡EE或許是個空心菜，不敢真台獨，只能看美國臉色。但她在國際外交取得了一些成績，這是要肯定的 (雖然一堆國家都跑光了)。\n不論在哪個時代，都要成為追求自由的進擊的巨人。\n20230417 快住進毛澤東大廈！蓋大廈(指三年大吃飽、十年大健身導致人口死亡率高出全球平均)可能算偉業一件，相信臘肉那一套農逼理論的人也獲得了與他們德性相匹配的下場。\n毛泽东：我们这四千年文明古国，简直等于没有国。……中国人生息了四千多年，不知干甚么去了？一点没有组织，一个有组织的社会看不见，一块有组织的地方看不见。中国这块土地内，有中国人和没中国人有甚么多大的区别？在人类中要中国人，和不要中国人，又有甚么大不了的关系？推究原因，吃亏就在这‘中国’二字，就在这中国的统一。现在唯一救济的方法，就在解散中国，反对统一。我的理由，不是段琪瑞的统一论，也不是章太炎、孙洪伊的法律论，我只为要建设一个将来的真中国，其手段便要打破现在的假中国。 ——《反对统一》，刊《时事新报》，1920年10月10日\n毛澤東早年都能看清楚的事情，怎麼大權在握就變成屠支大佐了捏？好話說盡壞事做絕，要比蔣中正這種傳統老中人奸詐才能奪權，將支性發揮到極致才是人上老中人，更慘的是還教育人們這樣是對的，不容反對的聲音。\n唉，想他了，他公平，那個時代人們眼裡都有光(都升天了)。在臘肉晚年治下，所有中國人都得死。盼臘歸。\n20230417 換日線是我包含公視、報導者、關鍵評論網在內，少數還會看的台灣媒體，雖然裡面會有宣傳左逼價值觀的成分，但是留學生出外跟人接觸的反思文章也著實讓人著迷。為什麼歐美人能這樣清楚表達自己的想法，又能對事情有廣闊的角度看待。當然，也有人是揭穿我們對歐美人的刻板印象，進而給自己人一點文化自信，但又不會變成驕矜自大。因為向外尋求才能知道不知道的事物，避免單一思考框架的偏狹。過去我總會纏著出國回來人不放，期望從她們身上得到什麼價值觀的洗禮。只是，這樣的行為還不如我真正與外國人接觸要來得深刻。接觸來自歐、美、亞的同學，認識到不論種族政治立場為何，他們畢竟還是人，不是外星人，不是純潔的上帝。唯有這樣，才能擺脫心中的偏見。\n20230417 有人說，uBlock Origin這個擋廣告擴充功能預設沒有白名單模式，是因為現今的網路世界是危險的、侵入性的，因此預設全部阻攔。所以當我發現擋廣告插件會破壞部分網站的功能（儘管可能可能看不出來，要按F12才知道)，導致我時不時要去手動停用擋廣告元件。我便有了「只擋Youtube廣告」的想法，這應該也是很多人的目的。所以，我充滿罪惡感的換掉了uBlock Origin。我們現今的網路社會竟然變成了如此畸形的型態嗎，Google還在研發監控你沒那麼嚴格的監控框架，就為了能多賺一些錢。那麼uBlock Origin的擔憂自就很現實了，不跟世界同流合污，惱人的、侵犯隱私的東西，通通給我擋掉。\n20230416 〈島嶼天光〉（Island\u0026rsquo;s Sunrise）藝術公民計劃 太陽花運動歌曲 當你台灣價值低落的時候，請聽這首歌。我們知道島嶼尚未天光，蔡英文做的仍不完美，但是我們還要繼續向前進，敬重站出來的那些義士，追求自由民主，反抗獨裁暴政。\n不過，台獨不是全面反中，而比較像反共。倘若真台獨尚不可為，就現實考量，畫三角形也並無不可。反正不會是大中華膠的路線。像韓國瑜說的台灣當塞子求生存：「所以我們台灣人要自己決定自己的命運，我們絕不能當人家『棋子』，那太可怕了！但我們可以當一個關鍵的『塞子』，大家都喜歡我們、大家都需要我們，我們有我們的價值。這叫『棋子』跟『塞子』，命運的選擇。」消耗美國和中國二個帝國主義國家的國力也不賴。再消極一點的說，維持中華民國台灣的現狀。保衛國家是公民職責，我願意為國家犧牲。但是整天炒作戰火，好像明天就要屠屠對方的人，更多是無賴流氓的存在。\n20230416 Aerosmith - Amazing (Official Music Video) 這個MV真的很\u0026quot;Amazing\u0026quot;，以當時來說拍的還滿先進的\u0026hellip;裡面有出現VR和虛擬女友XD。最後一段的吉他\u0026hellip;太神了。\n20230416 海綿寶寶說：「這真是比奇堡最可笑的一天，追夢的人竟然變成了大笑話。」為什麼我討厭社畜一詞用以自稱？ 此稱呼是無奈之舉，但也不該成為慣用稱呼，尤其在個人部落格簡介還自貶為「一名菜雞」、「普通的碼農」這種說法，我最不能忍受。中国最不能让你忍受的观念是什么？ : r/China_irl - Reddit、为何有些人觉得台湾存在支性，表现在哪些方面？ - 品葱 我從工作環境觀察到，中國和台灣很多上一輩的人也會有各種迂腐觀念，或者可以概括為支性。比方說，倚老賣老打壓意見，無法擺脫舊有灌輸下來的觀念，要求服從；以金錢衡量成功的窮思維，視錢以外的個人成就為無用之物。這實在讓人窒息。我不能全怪資本家，這個是社會的運作方式，只是人似乎沒辦法在中華文化圈的土地上，做自己的主人的樣子，整個國家像是大型精神病院，鄙視作為人的主體。值得慶幸的是這一代的人有逐漸做出改變，改變從承認支性開始，從五月天 - 三個傻瓜就可以見到，人們試圖打破過去思維的束縛，例如用歐美思維改造，學學他們即使是到老人年齡也有的自由思維(雖然並不是全部人都這樣良善，但歐美那種氛圍是有的)。作世界的公民，而不僅僅是知其不可為而為之的仁義。期許我們在未來可以走出外儒內法的惡性泥沼之中。對未來抱持樂觀，轟轟烈烈的生活，而非無力的以社畜苟活下去。\n20230415 反觀自己無聲的童年，我支持孩子勇於表達 - 親子天下 任何人都應該被鼓勵有表達意見的自由，不論是多粗糙或淺白的論述，這樣真理才會越辯越明。從語言習得(language acquisition)的角度來看，多鼓勵發表想法也有助於兒童的語言發展。\n20230415 樂樂法利的新影片還不錯看，看完我又大腦升級了一次。 我反共背後不為人知的心路歷程！ 作為跳反的洋五毛，他的觀點還滿直白的。並且硬度極高，可以忍受小粉紅入侵。順帶一提波特王的影片也挺有趣的：被小粉紅出征該怎麼處理呢？這招教你反制。可是啊，感覺罵戰都不如沖浪TV浪人的話術來的直接，那句叫什麼來著\u0026hellip;啊對，一句「翻你媽牆呢支那豬」就完事兒了。不過與其這樣沒完沒了的吵，我更愛蔣公以德報怨的大度，也就是不要仇恨他人，而是可憐他們。基督教人士有云：Hate the sin, not the sinner. 可惜在當代做聖母也會被人投石子。\n20230415 westlife1998-byte: 看你这言论，又是一个台独分子？你在上研一，也就23的样子吧？你还没来大陆见过世面吧？首先我跟你讲，中华民族自秦帝国以来，都是一个中央集权的国家，没有哪个君王不想着统一全中国，你对共产党这么仇恨，原因无非是被民进党那帮人洗脑了。我再说一句，中央集权是中华民族自祖先传下来的，和共产党没关系。不要在网上发表这种愚蠢的言论了，多出去看看吧。\n要出國「見識世界」也會去日美歐，不會去中國。不過我以前倒是真的有去過中國，那邊人還不錯。我年輕，觀點確實會有所闕漏，不能代表所有人的理念，所以我才說這是個人部份的觀點。我自認沒有被民進黨洗腦，因此我不完全支持民進黨的政策。不過台獨是共同的大方向，為此支持民進黨與其相近的黨派是折衷的作法。有批評政府的自由，才是我想待的國家。與其說與支持台獨，不如說我更大的願景是中國解體，即諸夏主義，有助於破除大一統的迷思。共產黨不管他們的理念為何，既然繼承了獨裁這種陋習，謊稱為人民著想行獨裁之實，也不應該支持這種政權。況且中國早就脫離了真正的共產主義，現在純粹是個流氓獨裁政權，與美帝國主義有過之無不及。總統無能的例子很多，南越也是個例子，但不代表我們會直接開城投降，誰知道蔡女皇會不會有極低的可能搖身一變成為澤連斯基？我很喜歡一句話：就算台灣獨立導致自身灰飛煙滅，也要中國打過來之後殘廢。即使未來可能一戰，我還不想從反共上升到反中，走到屠支主義的地步，因為牆內牆外同樣有很多渴望自由民主的中國人，冒著翻牆風險也要發聲，還要註冊小號躲避黨國警哥追查。我身邊，不只台獨份子，還有所有為中國未來著想的人們。跟他們討論才得出主路線是要反共、反統一的。\nwestlife1998-byte: 你不用在油管上看什么视频，也不用看什么名人发表的什么令人“醍醐灌顶”的言论。看看二十四史就知道，中国历史不过是在不断地轮回。中国的历史就是对上亿农民控制不断加强的历史，这是大的趋势。那些在网上叫嚣言论自由的人，无非是那些花着父母的钱，或者享受着太平日子，放下碗就骂娘的人，改变历史的人，是农民和军队，而非胡适那样的投机者（一看情况不妙就跑）。跟文天祥比，一个天上，一个地下。我看你年纪也不大，还是好好学习吧，光放嘴炮，跟放屁无异，不掌握枪杆子，只能到处跑，祖坟也不要了。\n正是那些視頻才能提供過去的書無法跳脫的觀點。 你題的胡適觀點很有趣，我沒想過這點。謝謝，我書確實讀的不夠，認清現狀的能力還不完善。現在的理念仍處知其可為而為之的階段吧。 作為理想犧牲的政治犯是很偉大的，對他們迫於無奈的舉動我也是尊重之情。 另外我並不覺得發表想法全都等於放屁，畢竟放屁也是生理現象，憋著不說會難受的。\n20230413 Blogger收到了惡意檢舉：「【自製模組】Sd.Kfz 2半履帶摩托車」介紹的文章被檢舉，之後Google居然還真的把他下架，理由是垃圾內容。這是討論模組的文章而已耶，照片都是Minecraft裡面拍攝的，怎麼會是垃圾內容。文章還得重新送審，我索性一個字都不改，看Google要不要承認是誤判。先不論惡意檢舉的對策，這點以後再說。很久以前就對Google的審查政策不爽了，從Youtube到Blogger，一不合意輕則黃標，重則直接下架。不論是不是不得已的，還是誤判(誤判以前真的有遇過，影片恢復上架後連傳個罐頭道歉都沒有)，我都對這種不民主的審查機制感到噁心，Facebook也一樣。AdSense可以任意決定要不要給影片/網站創作者分成，等於是間接限制了我想做的主題。所以未來還是別太相向Google這類big tech的服務好。\n做好內容備份是很重要的。Blogger這種破爛架構雖然我沒在用了，但備份機制很簡單：存成單一xml檔。至於我現在使用的Hugo，網站原始碼完全掌握在自己手上，更有Github儲存庫異地備份，要轉移還蠻方便的。人們不該把資料完全交給大公司。資料掌握在自己手上，就不怕被平台下架而心力全無。如果可以的話，我多想仿效FSF自己買硬體架設伺服器，而不用依賴網路巨頭們提供的服務來架網站啊。\n20230412 查拉圖斯特拉：我不要求你們崇拜我。\n索維爾：「知識份子對自己的思想不負責任，誤把自己當上帝。」現在才有那麼多左逼出來危害世界，喊個理想，真正執行的人把事情搞砸了，左逼都不用負責任。就像那句常見的比喻：這不是真正的共產主義，我們換個國家再試一次就行。\n20230411 Minetest 5.7.0 改进了光影细节，尤其是这个bloom的效果让画面质感提升了许多。這種假光影我在Minecraft基岩版見得多了。\nPine64的新Linux平板即将开始预购，使用国产芯片，分为ARM版的PineTab 2 (瑞芯RK3566)，以及RISC-V版的PineTab V (赛昉JH7110)。ARM版的操作系统出厂为Arch Linux，使用KDE Wayland桌面；RISC-V版的没有操作系统。最大容量8GB + 128GB，电量6000毫安时，附赠键盘。售价159美元起。(RISC-V等大佬移植吧，我还是先买主流一点的PineTab 2就好)\n20230411 PTT鄉民說：等父母離世，然後自殺。聽起來是不錯的提議。悠悠天壤，遼遼古今，五尺之軀，想不透如此大哉問。\n但是：Life is tough but so are you. 請調整自己定義自己價值的方式，從行為的價值改成存在的價值，當你每天很努力地為了生活打拼，不論結果，這麼辛苦的你都值得獲得大大的肯定。請跳脫出你做了哪些不好的事情，真實的與自我同在，肯定自身存在的價值，你就是最棒的那個自己。所以我請小李每天早上起床開始練習，看著鏡中的自己說：「謝謝你今天也與我存在，你的存在對我很重要。」 憂鬱的負面循環，為什麼不能喊停就停？ 這樣想，就好過一點了。\n20230410 這就是左逼，只會用口號自以為崇高呼籲別人接受進步理念，只顧理想不顧現實。（我好像看到蜘蛛人指著自己）「女权运动追求女性特权，黑人运动鼓吹白人有罪，劳工运动转型懒汉吃白食，性转求平权变成只要声明是跨就可得到丹书铁券。这些群体真正的迫切的诉求因为太普通太平凡要价太低被无视，诚恳的权利诉求被偷换成漫天要价。黑人贫民窟还是一塌糊涂，BLM运动的领袖们却靠着BLM发了财在黑人稀少的白人富人区买了大豪斯。黑人中产家庭的收入均位已经超越了白人中产家庭；ghetto里的便利店却因为犯罪率局高不下而越来越少，逼迫穷黑人需要花更多的钱，坐更远的车来维持日常生活。这真的很像是共產病毒的一种变体，康米病毒的一个特质是它会提出一种非常理想化的观念，在得权以前用这个梦幻结局传道骗取信徒。但这个梦幻结局，就像一台一百块钱的迈巴赫，有常识的人一眼就知道是骗局，但总有人会去上这个当。」 从antiwork闹剧谈谈为什么当代左派运动经常被歪成了左逼怪奇秀\n20230410 為了無聊的事情耿耿於懷：看到Mobile01一堆normie抱怨Linux很難用，裡面有一個人貼出在虛擬機跑KDE的圖片，說感想是：開啟Disocover覺得軟體很少很無聊，因為沒「追劇軟體」。ああ，是啊，Linux社群才不要像Android、Windows一樣充滿「專有軟體陷阱」的諂媚玩意兒呢，還對KDE和其他社群製作的娛樂自由軟體視若無睹。因為Google Play和各家手機廠商的惡臭應用太多，加上我不太玩課金手遊，所以現在我都用F-Droid為主來下載APP了。\n根據2023年統計，Flathub現有2000款應用程式，日下載量高達70萬次，所以Flathub未來應該最適合作為Linux發行版之間共主的軟體商店來源，而不是Snap Store、更不是中國的Deepin商店那種。Flathub未來會加入類似Google Play的付費渠道，希望他們能成功推廣。另外，Flathub是允許專有軟體上架的，那麼我想根據社群的提議，比較注意自由軟體理念的發行版(如Debian、Fedora、openSUSE這種專門把自由軟體和不自由軟體儲存庫分開的發行版)應該預設在軟體商店啟用「過濾不自由的軟體」的選項以減緩專有軟體陷阱，需要的時候再由使用者開啟即可。像Fedora Silverblue 38以前自己搞一個全FOSS的Flathub儲存庫是不智的，一切資源應該集中在Flathub。\n20230408 Me_irl. 伊是春風少年兄　沒人和伊來作伴　~ 心情輕鬆真快活　為著理想來打拼 ~ 伊是春風少年兄　不是歌星不出名 ~ 平常時就愛唱歌　歡喜到底　唱給你來聽。 林強 - 春風少年兄\n20230407 軍方重申，不做新聞報導的跟風貼文內容，我絕對不會寫「近日根據XXX報導，YY公司怎樣\u0026hellip;」的文章，要寫鐵定是review性質的文章。考慮到SEO的問題，標題和行文絕對不做賤自己，寫的東西總是有價值的，所以會盡全力寫，稍微做些市場研究來調整內容，不會完全當日記處理。根據國防部指出，Youtube一些針對時下AI熱門議題的影片，讓軍方覺得很心動。就算懶得講解分析，至少我也可以拍怎麼裝軟體吧？我唯一擅長的可能就這個。但是不要。除非是根本沒人做的主題，我才會願意試試看，例如Termux跑各種奇怪軟體、如何安裝Arch Linux等。否則，跟那些已經很有名氣，或是阿撒不魯的3C Youtuber拍一樣的主題，進行內卷競爭，這並非我現在追求的事情。最近因為介紹AI的東西導致流量爆增，我看到一些Youtuber也有類似現象，以前的影片門可羅雀，跟上潮流就流量爆增。覺得這種感受也許能體會，原本重視的東西無人聞問，例如我重視自由軟體，沒人在意。擦到爆紅的軟體邊球，瞬間就紅了起來，並導致欲望膨脹，意圖獲取更多流量，逐漸背叛自己的本心，我不想這樣。軍方表示，影片是一時，文章恆久遠，有些影片的時效性太強了，與其花時間跟頻道觀眾提醒東提醒西的(別跟我說Discord粉絲群，我恨透群聊軟體了，比社群媒體還不知道怎樣用)，我還不如勤更新文章。對的，把文章當Git軟體專案儲存庫一樣更新，密切注意上游更新，時時打patch修正說明，更新內容過多再修正發文時間代表此文章已更新，使一些文章成為「常常更新的私人Wiki」這樣的定位，我覺得比「炒作一時的影片」和「快餐教學文章」有價值多了！並且加上Github Discussion的機制，是能有效進行討論交流的好方法。我早說過，留言板要Github帳號，可以過濾掉一些笨蛋(當然，依賴Github仍有專有軟體陷阱的疑慮)，至少跟以前Blogger時期比起來，留言的人看起來智商高多了。但是，Youtube影片有些智障留言還是很難防，在不相關的影片下面問其他影片的問題，這種留言我真的很不想回。或許是那些每天十萬上下的實況主裝模作樣把觀眾寵的太好了，時不時的粉絲交流讓粉絲覺得跟神一樣接近，殊不知那種交流的地位模式還不如Reddit IAmA一根毛！！我不是神，世人們！！軍方脫去後是人，是人們給予人們價值，自己的價值的定義不是由人所做！我很抱歉有些電子郵件我會沒辦法回，這時還是請你直接用Giscus留言吧。\n20230406 今天我拔掉中華電信數據機網路線，喃喃自語道：你無法監控我了。不對，大氣中仍散播著電磁波，有人想要害我！ ← 這樣講好像我有被害妄想症一樣。追求網上隱私，這個逐漸被視為數位人權的作法看來是無用功。不論怎樣都無法逃脫tech giants製造的addictive products，他們製造方便，把你的隱私當作商品販賣。另一方面，其他試圖競爭的公司也只能把保護隱私當作另一種商品販賣。這也取決於你想作到什麼程度，如果連拋棄Google搜尋和Youtube看影片都做不到，談何隱私。其實沒有必要這麼極端，Reclaim the Internet的行動不能一蹴可幾，可以先從簡單的開始：例如把主力Gmail換成ProtonMail，搜尋引擎換成Brave Search，瀏覽器換Firefox，手機換成LineageOS，電腦換成Linux，這樣循序漸進。\n20230405 換回Firefox後發現不蒜子的網頁計數器數字混亂，原來是Firefox跟Safari一樣預設阻擋跨站追蹤所致，真的敬佩Mozilla為使用者隱私的付出啊，使用者必須要手動將跨站追蹤網站加入例外才行。Google Chrome為了自己的利益怎可能自斷手腳！現在還推另一種密罐：Privacy Sandbox來嘗試繼續追蹤用戶。或許未來我們也要換個可以尊重使用者隱私的計數器和統計服務才行，Umami之前嘗試過，覺得還不錯。\n20230404 濁水溪公社 - 永遠存在的台灣 台灣，我摯愛的國家。 千百年歲月 季風交會所在 妳是沒怨的母親 乎咱無盡的疼惜 年輕的國家 驕傲站起世界大舞台 一生抱著咱的夢 永遠存在的台灣! 一生靠著這個夢 永遠存在的台灣! 每一遍心內塊叫妳 永遠存在的台灣! Formosa 台灣!\n20230404 施孝榮 - 中華之愛 中華中華，坦坦蕩蕩，我摯愛的大中華(民國)。要努力奮起，復我河山。讓青天白日，普照大地。\n20230404 帝國主義夾著尾巴逃走了 ——— AdSense拒絕網站營利申請，不明說理由。我猜AdSense認為我的網站違反政策所以不給過，NSFW的版面太招搖了。這樣講還挺阿Q的：最好還是放棄意圖像一般人將流量變現的想法，因為那是違反了初衷、是為虎作倀，也違反去Google化的哲學追求\u0026hellip;不營利又如何？反正架站的網路空間是免費的。 李建復 - 歸去來兮 歸去來兮！請息交以絕遊。世與我而相遺，複駕言兮焉求？\n20230403 所謂資訊差經濟，即販賣本國人民不知道的外國知識來獲得名聲，製造新奇感。我寫作的主題可以說犯了Google SEO規定的天條：您是否一頭鑽入自身不熟悉的領域，僅為了博取流量？我承認一開始做Linux手機相關的研究確實有這些成分在，並且很多議題都是外國有，我盲目仿效，包括教學、心得文，甚至有的是直接翻譯照搬而無實際體驗。如果很多人懂英文，則我寫的文章價值便會大大降低。不過我不能說這樣沒給我帶來好處，因為實際接觸的多了，對幕後原理熟悉，也逐漸能寫出原創內容來。並且有些文章一開始就是用英文寫，後面才出中文版，這樣倒給了我一些成就。只不過我寫的這些主題在中文圈仍屬於過於冷門的議題，並且是沒有直接好處的。就像那些在2000年初期就在耕耘Linux系統的前輩們一樣。這些Linux手機的研究文章，可能要在遙遠的未來才會被人發掘。\n20230402 以前的歌曲是好聽，但唱這種歌詞聽著好尷尬肉麻，跟《明天會更好》一樣，他們真的知道自己在唱什麼嗎。 東方快車 - 就讓世界多一顆心\n20230402 Linus Torvalds是\u0026quot;criminally underrated\u0026quot; 罪惡性的被低估了。按照Reddit網友的說法，當一般人在談論偉人：Bill Gates和Steve Jobs的成功事業並以其為榜樣的時候，人們卻很少注意到主流作業系統的第三勢力Linux的背後人物：Linus Torvalds。或許因為他只想單純做軟體工程師，因而無太多理想宣傳，且自由軟體的開源精神難以用金錢衡量(Linus薪水現在很高的說)，搞不好工程師還會被當宅宅。但是，其實說要代表Linux的，不得不提GNU計畫的創始人Richard M Stallman。跟Richard M Stallman比起來，Linus比較務實些，專注於軟體開發，也不是很介意Linux一定要跑在自由韌體上。而GNU專案的主要參與者都會注重宣傳他們的哲學理念，當然他們宣揚哲學的前提是個個都很有料，他們都是程式高手，是繼承1990年代駭客精神的人物。\n20230401 問題在於，現實跟虛擬的東西，二者都沒辦法達到至高成就。現實無能說嘴的成就，網上總有些許成就吧？不然，沒有任何專精投入的事物是能對我產生正向收益的。人們不是說追求精神滿足感就夠了嗎？但是，其實沒有外人想像中的有料，真正談技術講不出所以然，要引導新手又一副跩樣。這樣帶刺的豪豬，頂多騙騙不懂的人而已罷。頂著無畏的自傲，覺得自己終於有不去死，活著有意義的理由的時候，到頭來發現，仍是垃圾一枚。回到現實，認清自己的無力，苟延殘喘的活下去。畢竟、蝙蝠俠不是誰都能當的。只是能聊以自慰的觀點是，歐美和佛教哲學讓人不會陷入日本窩囊的無用氛圍，因為它提醒我們雖小仍有存在價值，重視人的一切（存在主義收收味），所以對荒謬人生的反抗就是不去死，而不是活著。\n20230401 「開放原則」是我長久構思的一個計畫，即建立本站的程式既然用開源軟體，程式碼也應該完全公開。過去用Github Pages架的時代是被迫公開，但當時因為我技術不成熟的因素，也只有公開HTML檔案，而沒有markdown和主題檔案。現在用Netlify部署，用於更新網站內容的儲存庫就可以設定為私人，向讀者暗藏一些JS都很難被發現(沒有什麼特別的，就是Google Analytics追蹤程式碼)。往該私人儲存庫的commit(也就是我更新文章)都會被Github列在近期活動，這就是為何我的commit月曆是幾乎全綠的。我也不想啊，寫markdown的事，能算寫程式嗎？ 目前原始碼向公眾開放的只有放Giscus留言的儲存庫，可以一次看到所有討論串。那麼未來某個時候，存放網站程式碼以及Hugo主題的儲存庫應該也要公開，順便Google Analytics的後台報表也會一併展示給大家看。我覺得短期內這個構想難以實現，必須等到我真的get a life，無心思再每天寫文章的時候，才公開網站程式碼給人瀏覽。公開程式碼不是炫耀我多厲害，而是一種善的義務，本該就要做的事情。\n20230331 用了Debian Stable，最後還是退回Arch了，唉，東西太老了，穩定又不能保證系統不會出小bug，更何況是圖形界面。胃口已經被滾動發行版的系統養壞了，我要最新最新的KDE套件！！Linux社群一po出來我下禮拜就要拿到更新！！現在大致上是這樣的心態。\n雖然我退出了Debian，但是之前為說服自己用下去，一直研讀Debian的相關人士寫的Debian使用文件，以及系統管理哲學，讓我有點收穫，可以應用到日後對待其他Linux發行版的策略。Debian的文件教會我二件事：1. \u0026ldquo;DontBreakDeian\u0026quot;這篇文章提到，對待軟體更新，勿急躁，不是最新就是最好。為此不需要每天每週都pacman -Syu 2. 不要亂加軟體庫，製造縫合怪。日後我會小心用AUR的軟體，用openSUSE也絕不亂加第三方軟體庫，而是優先用Flatpak。 Debian的人寫文件的模式很像自由軟體基金會呢，他們仍然對自由軟體堅持很有原則，因而將哲學都表露在技術文件的字裡行間，讓我可以了解背後維護者的思想是怎樣的。對新手來說，手冊可能沒有Wiki友善，但寫的好的手冊卻是對作業系統能有全面認識的好方法，一直hopping的Linux發行版也不是好作法，偶爾靜下心來認真鑽研一個發行版不也是一種樂趣嗎？\n20230331 「iPadOS有很多獨家APP」看到有人這樣說這是選擇iPad的理由，就是惋惜。我們知道封閉標準百害而無一利，專有軟體更是危害，Android確實難以跟iPad競爭，但是為了守護自由，我下一部平板不會再買iPad了，拜託Pine64快點出PineTab 2吧。\n20230330 青木修所寫的Debian手冊的文字真好玩，升級到Debian Testing就可以到達極樂世界，什麼菩薩XD 章 2. Debian 軟體包管理 - 2.1. Debian 軟體包管理的前提 - 2.1.3. 持續升級的生活\n20230330 聽到這首歌曲就會讓我想起國小高年級，第一次對女孩擁有感情，當時的青澀記憶，還有所作所為，到現在依然記得。 費玉清 Fei Yu-Ching - 你是我永遠的鄉愁\n20230330 圖片改成自己host後，流量爆增三倍，壓力測試每月100GB流量應該是不夠用了。抱歉了各位，在找到划算的主機之前我只能採取省流量措施：全站啟用lazy loading，首頁關閉文章縮圖載入。\n20230328 少年ㄟ安啦，在這裡沒人會給你吵。少年仔 安啦 別在那想都沒事情！少年仔 安啦，不爽就快他吸一口！少年仔 安啦 痛苦等下就會不見！少年仔 安啦 稍等你歡喜就來不及~~ BABOO - 少年安 買毒是違法的，加上人類使用下面便可滿足一半生理欲望的原理，毒品選擇不去了接觸。 認真 嫖妓那麼簡單幹嘛去喜歡追求女人? - PTT，不，連那個必要都沒有，社恐(這個詞被濫用了)僅用道具就能滿足自己，以暫時遏止無邊無際的妄想，並能將精力回饋到其他物件身上，接著重複輪迴累積壓力，宣洩的過程。很多時候，這個過程是一天。 張懸 - 日子 但是，隨著日子的漫長演化，此往復的間隔逐漸拉長，麻木的內心依賴的不再是肉慾與遊戲的刺激，尚未能滿足精神層面的成就，它尋何處？電腦不會叛變之人類於我，即使，AI告訴我們的是這樣。於此，方得人生之欣快於短暫的電流通過時光，繼續通往未知的方向。\n20230327 歷久彌新的勵志歌曲。因爲我不在乎別人怎麽說，我從來沒有忘記我，對自己的承諾，對愛的執著，我知道我的未來不是夢，我認眞的過每一分鍾。張雨生 - 我的未來不是夢\n20230327 人已经麻了，所以我决定将PC从Arch Linux 切换成Debian Stable，兼具游戏机与远程开发用途。虽然Stable的包很旧，但KDE也不是不能用。另一部笔记本用openSUSE Tumbleweed不知道能撑多久才会感到厌烦，但我既然都将Microsoft Word和IBM SPSS用Wine装上了，只好继续用。\n20230325 我覺得遇到有人在吵Linux對比Windows怎麼那樣難用的人，作為Linux的支持者可以學學macOS用戶是怎麼為他們信仰辯護的話術，比方說：「知道自己要什麼的人才適合用macOS」，那麼，我們也可以說知道自己需要什麼的人才會用Linux，喜歡隨波逐流、沒有腦袋的人乾脆整天滑手機就行了，電腦真是複雜的東西呢(攤手)。更好玩的是，Linux不好用全都是設計者的問題，macOS不好用是你太笨、不會用。這樣想就明白了，對不明白自由為何物的人來說講再多都是徒勞，而這正是Linux最大的特色之一。不過我們也不需要對Average Joe有太多苛責，對需要工作得使用某個系統的人來哪個系統不是重點，那就沒必強求使用特定OS，符合當下的生存需求即可。淨空法師說：「你要原諒他，他可憐，沒人教他」。只是人們應該還是該對電子產品有更多關於自身權益的認識才行，而不單是將其當作工作時叫出來的馬兒使喚。這也是為何我學習Linux，同時亦希望手機去Google化的原因，即使不完美，還是希望可以學習並努力解決問題。\n20230325 唯一剩下的良心告訴我，不可以無腦仇視現實生活沒見過面的人種和國民。只是，網路看來惡化了這種情況。\n20230325 即使目前我支持民眾黨，我也知道，民眾黨的畫三角形路線是很難行得通的，怎麼可能在美帝和支那之間左右逢源呢。但是我們還是要盡力去角逐，去當塞子，而不是像網友一樣只會打嘴砲。\n20230324 我的理智告訴我不要人前說人話人後說鬼話，所以我最終選擇接受政治和色情言論存在於我站的事實。若為自由故，麵包愛情都可以不要。\n20230324 「民主不是毒藥」方臉說的影片真的很讚，用有力數據打臉中國人常見的鬼扯思想。 方脸说：中国民主化就要乱了？就要崩溃了？就是正中美国的下怀？中了美国的奸计？纯粹的无稽之谈！\n20230324 「梅花～梅花堅忍象徵我們巍巍的大中華」。聽到鄧麗君的梅花不知道為什麼有懷念的感覺，明明我不是那個年代出生的。即使中華民國的敘事已經不是主流，中華民國還是讓人緬懷的時代。只是，未來我們應該拋棄舊有的中國軀殼，獨立成為真正的台灣國家。\n20230324 看到了網路上翻牆人的言論，還有中國在國際組織的發言，足以讓我們更加堅定，要反對中國主流的意識型態，乃至中國人全體。因為共產黨治下，還有中國人傳統的思想糟粕融合在了一起，成為目前危害自由世界的敘事。這種輸出土匪式的共產革命、融合民族主義戰狼的意識型態必須被阻止，共產國家沒有一個成功實現大同世界的，到最後都變獨裁統治，人們有物質無精神。因此即使歐美同樣很奸詐，我們還是應該傾向共同維護歐美的價值觀，防止縫合共產與民族主義的支那人出來危害世界。雷根總統說的很好：共產主義不是經濟體系，而是精神病。一邊幻想解放全人類，一邊又必須禁錮全人類，現在14億韭菜被禁錮還為奴隸主發聲就是最好例子。結合我上面說的，中國特色主義早就不是共產，是獨裁，再加上灌輸宏大敘事來洗腦人民，造就了現在中國人病態的思想。論解決方法，就是毀滅這個政黨，乃至於這個根深蒂固的家國體制。\n20230322 一开始用Hugo/Hexo搭建博客的时候，采取的是极致薅羊毛策略：Github免费托管代码，免费部署到Netlify，用免费域名，图片嗯丢Imgur图床，影片放油管。后来这些问题都逐一用钱解决了，可是丢图床的举动却是难以修正的缺点。确实把图片上传到图床可以省下大把流量，Netlify免费额度100GB/月，即使博客已有十万次浏览，耗费的流量也只是零头。但最近我观察到PostImg会偷偷压低外连图片画质，Imgur则是突发40分钟维护\u0026hellip;且谁知道未来图片会不会被突然撤下呢？考慮到圖片放在外站會額外增加網頁載入時間，后来我还是决定逐一把图片改挂回自己的博客域名下了。原則還是一樣：每張圖片普遍要在1MB以下，盡量以WEBP或AVIF儲存。\n20230321 蔥輪TV：「在我看来一个人能把爱好日漫和仇恨日本区分开来就像把共产党和支那人区分开来一样魔幻。」看社群媒體有時候我總會覺得中國人沒一個無辜的感覺，可是美國政府仍傾向把邪惡共產黨和無辜人民分開對待，普世價值真的我哭死。個人先於國家這點我一直都很認同的。\n20230320 想買macOS來玩玩開發，就不需要使用慢慢的虛擬機了。mac Mini感覺比Macbook划算。\n20230319 大國崛起會讓人有一種偉大的感覺，覺得我們真的厲害了。然而，有錢了，人心和素質跟不上，這就是暴發戶，行事風格還停留在上個世紀帝國主義日本的心態。所以，我不會以獨裁國家的進步發展為傲。我知道現在待的這個破島問題一堆，有部份產業強大但是人民素質仍沒有歐美那樣高。但是，我們不會說很誇張的強調自己多厲害(至少不會強迫人民接受這種思想)。因此，體量上我國比不上你支的大國體量，但是民主意識一定還是比較高的(骨子裡的支性，不好說)，儘管美國並不算完全正義的一方，投靠美歐日還是對我國有好處的。做個結論：寧做美國狗，不做支那豬。\n20230319 不喜歡充斥DRM的串流平台，又反對人在網路下載不道德的盜版？你到底要人怎樣啊！\n20230317 儘管我偶爾也從經典歌曲懷念80、70、60年代的虛假過去光景，但是看到Youtube下面的人說以前是那麼純真美好，對比現在來說。我就忍不住想說：認清現實吧！儘管你真的小時候經歷過那個時代，那也不過是從自己的眼中看到的世界。因為年幼無知，不知道過去的世界，世界上人類的爭鬥從未停止。國民黨統治的台灣與其說純樸，不如說國家機器導致人民只能噤聲。這就好像香檳共產主義者總會幻想社會主義國家真的是人間天堂，結果他們去蘇聯看到了什麼？全民大吃飽，全民大健身！回國還敢厚臉皮繼續鼓吹要建設真正的共產主義於新的國度。以古貶今之所以那麼美好，因為只能從自己的視角看到的記憶會多少美化，除非參考史料才能知道那時候真正社會的樣貌，而歌曲很多時候是無法承載這種深沈的。\n20230317 未來筆電的選擇上，要找純自由軟體驅動的實在很少。或許有Ubuntu認證過的型號，但那多少仍包含專有韌體(Ubuntu本身就是為方便而犧牲自由的一個Linux發行版)。我的理想是，使用Debian，不啟用nonfree的軟體庫，而不使用FSF認可的小眾發行版，這樣在定義上就符合FSF的自由軟體組成的筆電了。但是，FSF官網認證的筆電都過時了。唯一的希望是Purism和Pine64產品，他們都從開機底層支援自由的韌體。Purism有出Librem 14，只有i7內顯，重量偏重，價格1000美元，以同級產品來說很貴。另外Pine64則是專門出垃圾(?)不對，中階ARM開發板改裝的筆電，Pinebook Pro。雖然有M1 Macbook那樣省電的特質，可是效能也就笑笑，可能性能連看影片的低階Android平板都比不上。從根本上來說，Nvidia的顯示卡優勢佔盡的現在，不管怎樣都需要非自由韌體才能驅動。只是，如果我把桌電和筆電的組裝分開考量，那單就筆電而言，下一台筆電其實根本不需要像現在這台可有可無的2G獨顯，我都知道怎麼遠端ssh到桌機進行繪圖運算了，筆電拔掉獨顯還能省點電。\n20230317 神友說Bilibili是兒童廁所是真的沒錯，充斥著各種幼稚言論，跟Youtube部分影片下面的留言一樣。各種標題黨，你爆肝用幾個小時做出來的影片干我屁事啊？強調這個幹嘛。留言則是玩梗和沒有國際觀的討論，不然就是用小孩子的角度去看待，動不動伸手，而且很愛說我明天要上課沒空了\u0026hellip;不知道怎麼列舉的完。這個時候就要讚揚Youtube的演算法了(儘管Youtubeu也不完美)，我聽80年代音樂，關注的是Linux相關的英語系頻道(我幾乎不看中文的科技類頻道)，也不看娛樂性太強的遊戲及科技頻道，首頁就基本上是那些東西，偶爾隨機推薦Meme，這樣我的Youtube首頁體驗就很親切，而不是Bilibili首頁強迫觀看共匪和新番的鬼東西。但同樣糟糕的是，如果我不登入Youtube帳號，首頁看到的也會是像Bilibili那樣的，充斥妖艷賤貨標題影片的樣子，抖音吃播三小的。人類為什麼可以墮落成如此地步。\n20230316 近來外國勢力漸進，民心影響甚劇。據軍方表示，我站的最高思想指示為：具時效性之新聞類資訊，不報，新出的技術也少得附上實用例子。分享某個小軟體，根本沒用過，連安裝過程都沒什麼好講的，只是說「需要的朋友可以參考看看」的文章，不寫。故作親切的文風，說「請跟著我操作一遍，趕快學會吧！」的話語，不幹，討好讀者屬實沒必要。很喜歡網易在2022年年度回顧上傳的影片的影片標題：我跟那些妖豔賤貨、諂媚的媒體不一樣！！\n20230316 Humility is not thinking less of yourself. It’s thinking of yourself less. By Rick Warren.\n20230315 AidLux看起来是不错的APP，集成常用AI工具，宣称可以用CPU＋GPU＋NPU提高性能。然而APP本体没开源、要注册、默认不支持root设备运行\u0026hellip;有点劝退，与自由软件精神相违背。对于宣称支持Wayland我也有点怀疑：XFCE开发组今年才说要初步支持Wayland特性\u0026hellip;.而且启动的那个悬浮窗？让人想到Termux X11。注意Termux X11是\u0026quot;XWayland\u0026rdquo;。同类\u0026quot;便利工具\u0026quot;相较之下，文档写的一团糟的TMOE看起来都比较亲民了。我看还是用 #Termux# 自行配置Linux环境吧，最近Anaconda的配置也搞定了。\n20230314 iOS比較安全？比起Android明明白白的知道被Google監控，iOS黑箱的地方更多。我願意將隱私交給大公司因為我是個順從社會主流的韭菜屁民！！什麼都做不到、綁手綁腳的系統最安全的呢，建議電腦也換成ChromeOS這種只能上網的系統才好。\n20230311 Debian的Wiki跟Arch Linux Wiki的差異：一個看起來是文謅謅的文件，一個是親民且有趣的解決方案寶庫。Debian的整體來說仍然偏向廠商撰寫的規格違建\u0026hellip;而不是Arch Wiki那樣讀起來有趣。\n20230310 泰山其頹乎？梁木其壞乎？哲人其萎乎？嗚呼！天下之無道久矣！過去在社群平台的貼文常常是宣傳性的，意即是刻意給人看的這樣。只有我多年用的FB，是會寫內心話的地方。但是，FB朋友稀少，甚至我曾主動刪光好友的情況下，那些感言常變成我在自言自語，自言自語還不能踰矩\u0026hellip;對，講支那，跨性別左逼，或是中國台灣省的塔綠班怎樣怎樣，就算沒人看，FB還是有機率會刪言論過激的貼文。需要一個能撰寫真心話的地方，儘管真心話會充滿個人偏見、未經事實稽核、情緒性的話語。裡面可能包含裸露的政治、色情、種族、性別、歧視性、自殘的言語\u0026hellip;在發個人動態的時候，誰會潤稿呢？這種極端言論除了發在自己的動態牆，恐也只能去Komica匿名板發了吧。另外，十分討厭分享自己的真實生活照片，反正po長輩圖一樣的一張風景照沒人看，分享自己考研遇到的克服困難過程亦沒多少人回應，那幹嘛暴露自己的真實身份？假裝自己生活過得不錯？活著的唯一價值就是透過文字讓人覺得我有用，所以我不在網路上揭露自己的真面目。用那些充滿現充的社群媒體，整天說生活多麼美好\u0026hellip;嗚呼！天下之無道久矣！魯蛇(鼠人)的想法也值得有地方保留下來。看起來負面言語佔多數的動態牆，偶爾還是會有一些巧思可以取用的，像我常常一篇小感言寫著寫著，便有了在本網站擴充成長篇大論的想法。只是，大多數想法都是靈光乍現，所以寫下來就算是短短的多少也有價值。在那之前，也許該去看心理醫生。\n20230310 習近平全票當選主席。沒有沒有沒有通過，拍手！！你們大概永遠不喜歡藍色的鴿子自由飛翔吧。灰色的時候想起巧克力可以讓好心情起來，忘卻今天有人的提醒喚起我，曾不小心在哈啦區說了太難聽的話，說Minecraft Java版是跟風的人在玩的，不跟風就玩基岩版，導致被噓的經過。現在看來有點難過，可是卻還是有人給我GP贊同我的說法。雖千萬人吾往矣！！\n20230310 聽這種歌曲會讓人離死亡的想法遠一點，未曾經歷過的美好年代。\n張雨生 Tom Chang【天天想你】Audio Video\n20230309 不知道是第幾次了，我不想使用FB的原因。用過Twitter和Reddit後，FB真的是做的最差的產品，這個沒有爭議。IG和抖音是現充在用的所以我沒用。只有Twitter和Reddit，是允許魯蛇也可以輕鬆參與的社群平台，並且可以真正討論問題，尤其Reddit。就算有廣告，也沒有FB的那麼多詐騙類型的。看來中文用戶少是好處，華人多的地方也會帶來詐騙，看看中文用戶常常用黃色字眼汙染推特的熱門話題便知道。左逼和康米充斥，在FB看來那是小巫見大巫。單純因為很多人用所以被迫用FB！我才不要呢。我覺得，要做一個蒐集個人短言短語，又不值得成文的地方，或許就是該在我的網站闢建一個這樣的專區才是，就像Richard Stallman那樣，這樣FB的公用就大大被替代了。\n20230306 不知道有沒有這方面的心理研究，就是在網路搜尋資料的時候，看到網頁有個計數器會比較安心，覺得數字多，那這篇文章應可信任這樣？比方說我曾看過一篇介紹E站的博客，說丘丘人都能看懂，博主還以破萬流量為豪。不過stackoverflow又有人說訪問計數器是上古網頁的作法。總之今天我開始在部落格啟用了流量統計功能，不然Google Analytics後台數字只有我看了個寂寞。缺點是那個計數器不是串接Google Analytics，而是依賴中國的不蒜子服務，導致我的網站又多了一個cookie。不知道跟隨時在背景用JS監控讀者的Google Analytics比起來誰比較流氓。下一步我是想研究嶄新的留言板架設方式，現時只有Github帳戶的人可以留言，這樣雖然可以過濾垃圾廣告，但是否也降低了人們匿名留言的欲望？我不想用廣告一堆的Disqus，或許未來我該改用WordPress重寫整個網站。\n20230303 最近回来用openSUSE Tumbleweed，可以说在一些著名发行版打滚后，发现openSUSE的图形化其实领先很多了。 YaST除了一键调防火墙、管理系统更新外，还提供接近Windows的软件安装体验，RPM/第三方源可以双击安装。配合Discover商店搜索，是各个 #Linux# 发行版中安装软件较不费力的体验 (国产Linux我不太敢用所以无从比较)。不过这仍是对有经验的Linux用户来说会觉得方便，因为要知道如何在YaST崩掉的情况下回到命令行方式安装软件。例如装Nvidia的驱动，对用过Arch的来说这不是问题，但过度依赖YaST来装软件的可能一时不知所措。正如archinstall的脚本根本不是为小白设计，而是让老手配置的顺手点罢了。\n20230303 原來外國也有iPhone Android大戰，WSJ談到iPhone在年輕市場名列前茅，讚嘆Apple是有理想的公司，反觀Android用戶沒有信仰。笑拉了，用戶買到對系統完全沒有控制權的產品還不自知，不尊重計算機自由的產品是目前我拒用iPhone的原因，Android至少還可能解鎖bootloader。文章提的對手是三星，這確實是比較現實的問題。汲汲營營的世人哪會花時間注意計算機自由呢？大公司騙他們的錢都來不及了！至少不是完全不用，而是偶爾玩一下而已，我美其名曰果粉生態研究中心。就像我在電腦裝MacOS一樣。就算理解到Android是Google控制的產品也是一樣，繼續用Android，能刷機成乾淨的第三方系統就盡量刷，以逃離監控滿滿的原廠系統，而終極目標是改用真正的Linux手機。即使世界越來越背離自由軟體社群的精神，我們還是要負重前行。目前對Android品牌情節不是很深，只是我真的不喜歡瀏海和挖洞才買Sony，不然Pixel和小米等好刷機的手機會是不錯選擇。\n20230228 唉，資本。根据​#Ubuntu# 母公司的指示，规定Ubuntu和其他衍生版日后继续用Snap，且不可像其他 #Linux# 发行版一样预装Flatpak软件包系统。越来越多发行版自带Flatpak，例如Fedora、openSUSE、Mint、Manjaro。\u0026hellip;.有人真会因为Snap而弃用Ubuntu当桌面系统？好吧，或许我也可以拿这当理由了。Flatpak沙盒有助于安全性和系统稳定，权限控管已经逐步像Android那样成熟，KDE甚至还整合了图形调整介面。据说Flatpak的商店未来还要加入开发者验证和捐款/付费按钮。虽然不想承认，但是Google主导的Android应用权限设计是值得Flatpak参考的方向，内容也比什么X11、Dbus通信权限要好理解。Snap优势感觉就只有在服务器方面\u0026hellip;\n20230228 從浪人的角度來看，蔣中正唯一做錯的事是共匪圖太少，不像日本人太君，登陸後圖了一批又一批才能把台灣人調教的服服貼貼的，培養出後代效忠皇民，並導致這批人擁有每年在228一天內到處撒潑打滾的權利。蔣萬安該為228道歉？　馬英九：我已道歉30多次、他自己決定吧\n20230228 Google又在養套殺了。沒錢買顯示卡的可以借用Google Colab來跑AI繪圖和訓練模型，充分感受Nvidia P100的威力，跑個幾小時的模型訓練也都免錢。且有需要更多算力再花錢買就好，比GCP更彈性，適合小專案進行。\n20230226 Android和iOS趨同演化的結果，以前覺得iOS APP剛裝後什麼權限都要問好煩，現在Android 13變得跟iOS一樣什麼權限都要問使用者了，傳送通知、存取媒體\u0026hellip;.權限超級細。雖然很煩，但這樣細部的設定我是不反對啦，Linux Flathub上的APP或許也可以學習這樣細部的權限控管。但是不是還少了一個最重要的權限提示啊\u0026hellip;？iOS會有叫APP不要追蹤我的選項，Android敢加嗎？\n20230224 如同無政府主義者主張廢除所有國家。我認為我們應該廢除任何社群媒體的使用。任何有動態牆的社群媒體，終究會成為錯誤、詐騙資訊的溫床。為此，只有RSS和主動搜尋能解決這個問題。PTT和Reddit這類論壇式的網站是下一個要解決的對象，在此之前，我們應該拋棄社群媒體。加之我除必要業務聯繫之外是不用通訊軟體的，因此廢除並無任何損失。當我做出一個成就，我不需要在社群媒體po文以搏取關注，而應是讓作品本身能讓人們自動來關注。當然這是烏托邦理想，不可能實現的自由幻夢。\n20230224 網路用戶的智商讓人憂心，地攤陰謀論和詐騙，還有新興宗教，還有令人噁心的woke(講這句話的日本官員已經被開除了) 幸好我都不看這個的，Youtube首頁只有80年代經典搖滾。Facebook真的很想棄用。但凡有點科學研究的常識，以及學過經濟學，都不會成為社會主義者，以及相信這種幻想文。\n20230221 最近好像靠AI繪圖騙到一些流量，部落格文章突然有很多人留言了。可是有超過一半以上都是Python執行有問題，有些是裝不起來，或是忘記加PATH，或是git lone失敗的。我猜有些人電腦有裝Python或Anaconda，這會混亂，很好理解。可是為什麼我都把安裝過程限定的那麼嚴格，還是會有人遇到莫名的Bug？？相較之下，Linux版的安裝教學都沒人留言。Windows用戶應當學學Linux用戶(例如本大爺)，學會自己google錯誤訊息，或者去找一鍵安裝的來用。(不知道AUTOMATIC1111什麼時候才會採取穩定發表版本的開發模式，用git pull更新風險太大了) 海綿寶寶：煩耶你哪來那麼多問題。\n20230220 地位如同手塚的大師隕落，RIP。\n《宇宙戰艦大和號》《銀河鐵道 999》作者松本零士過世 享壽 85 歲\n20230217 男兒流血不流淚，這句話本身就代表了一種性別歧視的教育觀念，它帶來的負面影響就是男性面對壓力的時候沒有宣洩口，既不能像女性一樣到處傾訴，也不能大哭一場發洩情緒，很容易造成焦慮，失眠。 男子漢是一種錯誤的社會期待，會導致許多男人過於壓抑自己的情緒。\n20230213 花非花，霧非霧。夜半來，天明去。來如春夢無多時，去似朝雲無覓處。\n20230212 困境中長大的人，了解生活的艱苦，因此更懂得以心去體會別人的處境，在曲祐良的歌聲中，可以聽出他投射出豐富的感情，而由他的待人處事，更不難了解他是個至情至性的男人。 曲祐良星路多坎坷〈1987年〉 - 烤雞脖子..\n20230210 反共不反中 到頭一場空。\n20230210 誰能解開我，心中的迷惑，掩住我的脆弱。 曲祐良【英雄】｜Coden Official MV\n20230208 中國人卷逼總有一種在評職稱的感覺，多少歲收入多少。其實人生的際遇和歲數真沒啥關係。世界不是一個巨大的體制 ，世界是自由的花園。(from Reddit)\n20230205 機車改管的不屠能行嗎\n反對改裝車噪音 禁止改裝排氣管 - 禁止改裝排氣管才能一勞永逸\n20230203 原來光頭哥哥陳俊傑有上過電視\n李沛旭! 猛男列傳初出道 徐懷鈺卻不為所動【龍兄虎弟】精華\n20230203 獨立編譯kernel似乎很容易出錯，所以從頭編譯LineageOS ROM再去改kernel。\n20230131 Ubuntu touch、Fedora Silverblue、openSUSE MicroOS、SteamOS，為打造不滅系統，他們的軟體包都是用Flatpak為主，有類似Android嚴格權限控管。可以稱為 \u0026ldquo;container-based approach Linux-distros\u0026quot;了吧。甚至跟Android一樣，system這類重要的分區不給修改 (Android是最早這樣設計的，用於安全、防止使用者搞壞系統)，並且更新後一律覆蓋掉對root的變更。眼看桌面Linux發行版逐漸跟進Android，彷彿Google是對的。這樣不知道是不是好事。因為問題在於這樣做對桌面使用者或許有好處，但伺服器就不見得適合這樣搞。\n20230131 一群老人最有資格唱這首懷念馬兆駿XDD\n那年我們十九歲 眾歌手憶馬爺\n20230130 人們真的被專有軟體綁架太久了，真的沒有想法ㄟ，到底為什麼都用rar格式壓縮檔案啊。\n20230130 RIP\n日本傳奇樂團YMO主唱高橋幸宏病逝　眾星發文哀悼\n20230123 这样讲有点妄自尊大：我的博客关于Termux的教程一直不知道怎么统整，主要关注proot Linux方面的应用。我自己都觉得新手来看我的教程会蒙掉，因为都是命令\u0026hellip;.因为我很讨厌一键安装的那种搭建Linux环境的方式(虽说前年刚入坑我也是嗯跑脚本，，，)，现在连Debian的教程都是使用Termux官方的rootfs一步步搭建，而非推荐使用Github上某大佬的脚本，好像默认读者都装过Arch Linux一样。更麻烦的是，Box86+Wine和跑桌面应用程序的进阶教程，基干就是那些满是命令的教程。也许有人看到在Termux跑Undertale很是吸引人，但一看到前置要做那么多作业，非geek潜质的用户大概就右转去找一键集成的Exagear来用了，，，\n20230119 #Android 手机几乎没有开源的视频剪辑软件。过去应用商店的巧影和威力导演我觉得效果还行，可用久了觉得都是在剥削用户，买断后整成月费制。一个软件必须先是自由，然后才该使用。我不想给Adobe送钱，反而是给KDE开发群打了一笔钱赞助开发。所以现在我是完全不用手机剪视频的。直到Termux出现才有在手机用ffmpeg，甚至Kdenlive的可能，真正作到跟PC工作流无缝对接(迫真)。不论APP有多少适合给剪辑小白快速上手的模板，不尊重计算机自由我也是敬谢不敏，手机这样、电脑端也是这样。此外，B站的必剪要是敢放出源码我就考虑用用看。\n20230118 再講一次視頻和軟件就打爆你的嘴，濫用中國的梗我覺得是不能被慣著的，雖然我也常常說繃不住了，但我知道那是在說梗，而不是讓自己日常的語言都被影響了。\n20230111 Linux老嗨看所謂programmer meme: 你們笑點這麼低嗎？對Linux用戶來說，看到外人只會講rm -rf /的笑話\u0026hellip;.😅\n20230111 人類輸了，我決定回去用專有軟體Google Chrome。只因Android版Firefox緩慢，亦或是網頁設計者壓根沒考慮還有用Firefox獨立引擎的用戶存在，導致載入緩慢，或者常出現小錯誤。桌面版在用Google產品的時候就很明顯了，手機版更慘。搞不好果粉Safari的意見都比Firefox用戶重視。加上Google越來越consistent的Android風格設計，Firefox顯得格格不入。回去用Chrome意味著密碼書籤也要帶過去，這並不是難事。起跨瀏覽器轉移之間這點還是有通用csv規範的，而非匯入至Bitwarden後就再也轉不出來的慘劇。\n20230107 雖然討厭Facebook，不得不說他們在Hugginface釋出的開源m2m100模型翻譯品質還不錯，就像網頁版看到的品質，屌打LibreTranslate。問題在於m2m100目前僅有一個python工具鏈能存取，要用終端機輸入翻譯文本。\n20230106 我們這家茶店的採購合約要封存30年喔。\n問卦 如果在行政院旁邊開一間「不必去茶」\n20230106 低能卡開始放開螢幕廣告了，果然不裝主流社群媒體的這些app是對的。\n20230106 世人皆有江山夢，這麼老了聲音都沒變。\nTears For Fears - Everybody Wants To Rule The World (Live) 2022\n20230105 Tilign window manage形式的i3wm用了停不下來啊，多工要什麼排版，開新視窗預設就是全部排在同個螢幕上，要多個任務環境就是建立多個工作區(workspace)。用快捷鍵控制視窗排列、全螢幕、使其變成浮動視窗等等。另外裝picom當compositor就能拿回KDE的特效，及解決Nvidia螢幕撕裂問題。記憶體佔用超少，這樣能同時跑AI或虛擬機服務又能開一堆網頁。鎖定螢幕還支援不點亮螢幕輸入密碼解鎖。不過我還是會混著KDE的GUI APP用。全部極簡化在終端機完成任務太痛苦了。\n20230105 金寶叔叔：在南部做什麼都合法.jpg\n快訊／台南市正副議長涉賄　邱莉莉50萬交保！郭再欽、楊志強聲押\n20230103 有點可惜的歌曲，前面好聽後面旋律整個暴走，跟Eyes without a face一樣。\n張雨生 - 河\n20230103 世界最聰明的AI跟AI對話，連AI都自認自己不會成為人類了，Troon又作何感想。\nTwo AIs talking to each other Original\n20230103 WSL並不是使用Linux的正確方式。正確的作法應該是：電腦系統僅安裝Linux當主力(推薦Arch Linux或者Debian)，不要雙重開機。Windows等其他系統只能待在QEMU/KVM虛擬機內，平常能不用就不用，要進行3D繪圖作業時設定一下GPU Passthrough便可。不能讓專有軟體踏上我國國土。\n20230101 把在伊莉下載盜版影片說的好像在販毒一樣XD\nRe: [問卦] 伊莉論壇是不是站主早就放推了阿- Gossiping板\n","date":"2023年12月1日","externalUrl":null,"permalink":"/posts/timeline-2023/","section":"Personals","summary":" 【閱讀前須知】\n此處是我為取代Facebook動態牆製作的特別網頁，跟首頁的長篇文章不同，這裡是紀錄簡短想法之用，部份想法可能會另外彙整成文。\n這裡的短博文充滿各種觀點，尚未經過打磨，有反映時事，有靈光隨想，有偏激之言，有政治評論，可能冒犯到所有人。僅代表個人意見，請謹慎閱讀。\nParrhesia，即只說真話不欺瞞，有負面的後果也在所不惜。說真話不只是言論自由，真理顯現也符合大眾利益，更是公民義務。唯有對自己誠實才能讓我們解脫。\nHumility is not thinking less of yourself, it is thinking of yourself less. 謙卑不是看輕自己，而是不僅為自己著想。\n2023年\n20231231 Reddit暫時脫支，回歸英文sub為主，只想看到linux話題，不想看到中文字。真沒人關心你支那和中國台灣的破事。現在取消訂閱中文sub，因為他們立場要嘛太監要嘛是支黑，不然就是塔綠班。實話實說，因為支持柯文哲，所以支黑sub逐漸看不下去，某種程度太監區sub的意見可能還比較中立。這下我也是理中客了\n","title":"2023年動態牆","type":"personal"},{"content":" 「我聽說有人批癮犯了，但卻思考幹飛機杯要不要戴保險套。」\n麥肖想，就像有些A片會演得好像拔出後流出大量體液，但是用飛機杯拔出來後，不管怎麼樣絕對不會像下圖一樣噴水的啦。\n戴著保險套幹飛機杯的感覺 # 話說市面上真的有這種，體驗「給你戴保險套感覺的的飛機杯」コンドームを着けて2度楽しむというコンセプト的には画期的なオナホール，但這不就是噱頭而已\u0026hellip;嗎？自己戴著套幹「真實之口」還比較好用吧。 「有人說，包皮+戴套是不是就無敵了？」\n30cm無法體會你說的情況。\n這要看買得保險套品牌，如果保險套太厚，是會沒感覺的。要超薄的那種才能保有《ねこはまんまがうつくしい かぐや様の縁結び》一樣的幹飛機杯刺激感，又可以緩衝一下刺激，不會變成完全在幹塑膠。 順帶一提保險套裡面就有潤滑液了不用擠潤滑液。\n我覺得有包皮的人戴套反而會刮到包皮吧？還有戴套用飛機杯，你是跟你室友共用當穴兄弟是不是。這裡有相關新聞：4男大生住宿舍「共用飛機杯」！結果全得菜花醫師看傻眼。或者你是潛在溫拿，把飛機杯當練習對象，順便熟練戴套步驟？\n「溫拿或魯蛇並不重要，應該以實用性論點下去看待。例如戴套能方便後續清潔？」\n飛機杯怎麼可能比細頸瓶還難清潔，不敢碰自己的洨你還敢說愛自己？飛機杯還是得洗的，潤滑液留著不清也會變蟻窩，積水到時候里邊變成地底湖怎麼辦。 「這張圖是岡山鐘乳石洞好吧！？那從另一個面向來看，也許他們是怕過敏，畢竟幹飛機杯等於幹塑膠。」\n並不需要在意這個。愛你等於愛自己，幹飛機杯等於愛雞雞。更何況日本的大廠不是都會強調飛機杯採用「厚生勞動省食品衛生法」的材質製造嗎，保險套的乳膠也有人會過敏的。\n「我不知道他們幹嘛強調這個？370號標準從日本方面的資料來看是食品容器的法規耶？」\n總比素肚安全吧。\n「突然無語了。」\n「那\u0026hellip;飛機杯戴套能減少刺激感覺吧？」\n如果選用的飛機杯本身就是溫柔型的，戴套會更沒感覺，是的，這也是減輕刺激的一種方式。可是你想啊，戴塑膠袋幹塑膠肉不是很愚蠢嗎？你為什麼要飛機杯對你手下留情？\n「我沒其他想法了，能想到的應該是有帶入感吧。」\n說到這個就有趣了，聽說有的漫畫家會身體力行的做某些事情，才能畫出好作品。換個角度想，保險套此時作為道具的一環，就是讓人進入片中劇情的要素之一了。有些人啊，幹就幹，還喜歡帶入劇情品頭論足。例如這裡有うすべに桜子畫的《既成事実の作り方♥》，渣男不想負責，總是後入戴套幹女方的本子。可是飛機杯有什麼好不負責的呢？你跟著劇情內容戴套幹緊度媲美小⬤生的飛機杯，想著踐踏女人的快感？ 「我並沒有想那麼深入\u0026hellip;」\n這種drama不是大家愛看嗎？連NTR都會有人看到破防了，勾心鬥角的劇情，峰迴路轉，絕對能成為一代神作啊。\n「例如變身那樣的警世名作？」\n哎呀呀那部提醒我們戴套的重要性，免得生出那種小王八蛋懷別人的野種慘死街頭，世上可沒有黃金精神能隨時救治啊\u0026hellip;等等這樣說下去都變八點檔劇情了，不然來點正常的。看看京極しん 的《SALVAGE》這本小隻馬騎乘戴套男性的美姿。啊，為了保護雙方，戴套是必要的，真是美好的愛情。然後射在保險套後才驚覺自己沒有穩柔的女性可以抱著溫存，真是空虛。 「這樣劇情太甜了，話說你這樣講真過份，會破壞人用飛機杯的興致的。」\n好吧，看來你不想管劇情，畫面夠色就行了吧！首先是《Tiny Evil》的動畫騎乘位，將戴套的大人棒棒整根吞進去的樣子。這部的男主也挺笨的，一開始跟小⬤生做還堅持戴套，不愧是處男。 「有些人覺得四處散落的套套會更色吧，方便張口喝精液之類的。」\n「我看過一本《孕ませコレクション》，女角要用嘴巴含住精液裝入針筒，以便於之後用於給其他後宮受精用的。真過份，人類又不是松鼠。」\n說的沒錯\u0026hellip;最後來個猛藥：nijie728995畫的南丁格爾的榨精！！雖然我想不透為何要把保險套掛在身上會很色，是當做糧食之類的嗎。 「這個可以有！」\n插曲：飛機杯女用保險套 # 飛機杯外翻，將保險套套在飛機杯上，然後在把飛機杯翻回去。製作過程有點像是用洋芋片罐子土砲飛機杯那樣。\n都給你鼠完了！這種戴著幹的感覺真的像在捅塑膠。\n本子裡面也比較少描繪女用保險套的樣子。\n結論 # 「考慮這些場景，戴套才能體會這種劇情的帶入感吧。不然說實在，要練習耐力，用套不是很好的方法，也不能戴套幹很緊的飛機杯，會痛死的。」\n回到最初問題，究竟是戴與不戴好呢。我們可以從這裡得出結論，戴與不戴純粹是個人選擇。飛機杯不是拿來愛護，供養的寶貝，是服侍自己之用。記住，愛你等於愛自己。戴套保護的不是他人，而正是你的飛機杯。但是這樣的愛護有意義嗎？給予它基本的愛護照顧，還要保護它不受風雨打，我們要讓未來的國家充滿這種孩子嗎？我常說，人要出去磨練磨練，飛機杯也不意外。好的飛機杯沒有被DNA深刻烙印就被丟棄，是不合格的體現。因此，請讓肌膚更多親密接觸吧。\n「怎麼突然變成親子講座了\u0026hellip;」\n批癮犯了的結果，便是找個女人浪費錢，或者是用飛機杯體會馬上快樂，選哪個？\n「這個話題跑太遠了。讓我做個總結：真要用飛機杯還是別戴吧，莫戴無花空折枝。」\n","date":"2023年11月29日","externalUrl":null,"permalink":"/posts/use-onahole-with-condom/","section":"Nsfws","summary":" 「我聽說有人批癮犯了，但卻思考幹飛機杯要不要戴保險套。」\n麥肖想，就像有些A片會演得好像拔出後流出大量體液，但是用飛機杯拔出來後，不管怎麼樣絕對不會像下圖一樣噴水的啦。\n戴著保險套幹飛機杯的感覺 # 話說市面上真的有這種，體驗「給你戴保險套感覺的的飛機杯」コンドームを着けて2度楽しむというコンセプト的には画期的なオナホール，但這不就是噱頭而已…嗎？自己戴著套幹「真實之口」還比較好用吧。 「有人說，包皮+戴套是不是就無敵了？」\n30cm無法體會你說的情況。\n這要看買得保險套品牌，如果保險套太厚，是會沒感覺的。要超薄的那種才能保有《ねこはまんまがうつくしい かぐや様の縁結び》一樣的幹飛機杯刺激感，又可以緩衝一下刺激，不會變成完全在幹塑膠。 ","title":"為何有人會在幹飛機杯的時候戴保險套？","type":"nsfw"},{"content":"Use your mobile phone as a Webcam and Microphone for PC.\n您的Linux電腦沒有視訊鏡頭？覺得自己的視訊鏡頭畫質太爛嗎？\n您想要用手機當作Linux電腦的麥克風嗎？\n在添購新硬體前，你可以先試試Dev47Apps所開發的「DroidCam」。 這款APP可以把Android或iOS手機變成電腦的視訊鏡頭，解決電腦沒有鏡頭的問題。另外還可以把手機麥克風當作電腦錄音裝置，實現無線錄音。\n近年Covid-19疫情導致遠距教學盛行，這款APP救了Ivon我好幾次呀，一直到現在都沒給桌機添購視訊鏡頭。要上遠距教學的時候，手機打開DroidCam就能當作電腦鏡頭，在Google Meet中開啟，手機鏡頭畫質清清楚楚。 本文Ivon將介紹DroidCam的特色，解釋為何要用DroidCam。接著解說在Linux電腦上的用法。\n1. DroidCam特色功能 # 在手機開著DroidCam APP，接著電腦開啟DroidCam客戶端，就會收到手機鏡頭的影像和麥克風聲音。DroidCam連線可以用Wifi，或者透過USB連接降低延遲。\nDroidCam支援全部系統(Android/iOS/Linux/Windows/macOS)，可說是很完善的一個方案了。\n關於隱私問題嘛，DroidCam走得是區域網路連線來傳輸畫面，不經過第三方伺服器，理論上不太有被偷看的問題。不過Droidcam走Wifi連線的話是沒有加密流量的，換句話說同一Wifi下所有人都能透過Droidcam客戶端看到你手機的鏡頭，所幸DroidCam會限制客戶端一次只能跟一台手機配對。\nDroidCam的手機APP端為閉源軟體，而且含有廣告，免費版鏡頭畫質只有480p，得付費買DroidCamX解鎖完整功能。但至少DroidCam的Linux客戶端為開源軟體啦，這是比同類軟體iVCam、EpocCam、Iriun Webcam要好的地方。\nDroidCam還提供IP網路攝影機(IP Camera)功能，可將手機變成監視器，無需裝DroidCam客戶端即可從電腦網頁查看手機鏡頭。\nDroidCam有「DroidCam OBS」插件，可將手機鏡頭變成OBS Studio的相機。\n2. 在Linux安裝DroidCam客戶端 # 根據開發者在Github的說明，Ubuntu/Debian/Fedora使用者得手動編譯DroidCam客戶端。\n其他Linux發行版也有人打包DroidCam的套件，例如openSUSE能在openSUSE Software取得，Arch Linux則是從AUR安裝。\n以Ubuntu 22.04為例，安裝以下編譯依賴套件 sudo apt-get install android-tools-adb android-tools-fastboot libappindicator3-1 linux-headers-`uname -r` gcc make libavutil-dev libswscale-dev libasound2-dev libspeex-dev libusbmuxd-dev libplist-dev libturbojpeg0-dev libgtk-3-dev libappindicator3-dev 下載DroidCam客戶端原始碼，編譯安裝 cd /tmp/ wget -O droidcam_latest.zip https://files.dev47apps.net/linux/droidcam_2.0.0.zip # sha1sum: 7b213dcf0bb4ac20d17007f52192c7914b10ed3f unzip droidcam_latest.zip -d droidcam cd droidcam sudo ./install-client 執行以下指令，以DKMS安裝vl4loopback視訊裝置。 sudo ./install-video 再設定DroidCam的ALSA loopback裝置，這樣才能把手機麥克風聲音傳送到電腦 sudo ./install-sound 重開機，DroidCam客戶端安裝之後應會出現在Linux的程式列表。\n音訊方面參考Github討論，音訊系統使用PulseAudio的話需要載入以下模組：\npacmd load-module module-alsa-source device=hw:Loopback,1,0 source_properties=device.description=droidcam_audio PipeWire得改成載入snd-aloop核心模組：\nsudo modprobe snd-aloop 安裝pavucontrol程式（KDE用戶也可以用系統音訊面板調整），在「設定」頁面選取Loopback裝置，將其改為Pro Audio 在「輸入裝置」頁面，選取Loopack裝置，將DroidCam作為錄音裝置。通常裝置是Loopback Pro 1，或是droidcam_audio。 開啟DroidCam客戶端，連線到手機（具體連線方法見下）。\n因為Linux版DroidCam連線後沒有鏡頭預覽視窗，您可以用Mozilla的網頁測試鏡頭和麥克風是否有正常運作。如果鏡頭畫面是反的，請在DroidCam客戶端勾選Horizontal flip。 3. 如何跟手機DroidCam鏡頭連線 # 你要先在手機裝DroidCam APP，才能讓電腦DroidCam客戶端連線。\nAndroid版DroidCam請到Google Play下載，或是購買DroidCamX。\niOS則是到App Store下載，要升級的話直接內購。\nDroidCam可以用有線或無線方式連線，攝影時DroidCam會掛在手機背景執行，並讓手機螢幕保持最低亮度省電。\n您可以在DroidCam APP選取要使用前鏡頭還後鏡頭。視訊開始之後也可以點螢幕對焦、點選Exposure Lock鎖定鏡頭曝光。 Wifi無線連線 # 此方法手機和電腦要連線到同一個Wifi。Wifi穩定度會影響視訊品質。\n在手機DroidCam頁面查看區域網路IP，通常是192.168開頭 接著在電腦開啟DroidCam客戶端，取選Wifi/LAN，然後點選Connect。 USB有線連線 # 此方法可有效降低畫面延遲。連Android機請記得在Linux上安裝ADB Tools套件，iOS則是得安裝usbmuxd套件。\nAndroid手機到開發人員選項開啟ADB除錯模式，用USB線連到電腦，維持充電狀態就好，不要開啟檔案傳輸模式。\n手機開啟DroidCam APP\n電腦開啟Droidcam，點選USB (Android)，接著按下Connect。 在手機螢幕上同意ADB偵錯，接著電腦就會出現手機鏡頭畫面。\n5. 使用DroidCam的IP網路攝影機功能 # 本功能適合想單純把DroidCam當監視器的用戶。只需手機開著DroidCam APP就行，電腦不需要開DroidCam客戶端。\n點DroidCam APP右上角Settings → IP Camera，設定一組帳號密碼。 在電腦瀏覽器輸入http://手機IP:4747即可看到DroidCam的鏡頭畫面。 6. 將DroidCam當作OBS NDI攝影機 # DroidCam作者製作的DroidCam OBS可以將手機變成電腦的NDI攝影機。\n這是額外APP，跟DroidCam本體不相容，需要另外下載。\n我個人覺得如果只是要視訊的話，直接在OBS Studio → 新增來源 → 新增擷取影像裝置，就可以將DroidCam相機加入到OBS Studio畫面了。 除非您追求極致畫質、更多相機功能才用DroidCam OBS。\n按照作者指示，在Linux安裝OBS Studio，推薦使用Flatpak\n安裝DroidCam OBS插件\nflatpak install flathub com.obsproject.Studio.Plugin.DroidCam 在手機安裝DroidCam OBS APP。Android｜iOS\n開啟OBS Studio，點選新增來源，選取DroidCam OBS 參考原版DroidCam的連線方式，填入手機IP，再點選Activate連線。 ","date":"2023年11月29日","externalUrl":null,"permalink":"/posts/droidcam-linux/","section":"所有文章","summary":"Use your mobile phone as a Webcam and Microphone for PC.\n您的Linux電腦沒有視訊鏡頭？覺得自己的視訊鏡頭畫質太爛嗎？\n您想要用手機當作Linux電腦的麥克風嗎？\n在添購新硬體前，你可以先試試Dev47Apps所開發的「DroidCam」。 這款APP可以把Android或iOS手機變成電腦的視訊鏡頭，解決電腦沒有鏡頭的問題。另外還可以把手機麥克風當作電腦錄音裝置，實現無線錄音。\n近年Covid-19疫情導致遠距教學盛行，這款APP救了Ivon我好幾次呀，一直到現在都沒給桌機添購視訊鏡頭。要上遠距教學的時候，手機打開DroidCam就能當作電腦鏡頭，在Google Meet中開啟，手機鏡頭畫質清清楚楚。 本文Ivon將介紹DroidCam的特色，解釋為何要用DroidCam。接著解說在Linux電腦上的用法。\n1. DroidCam特色功能 # 在手機開著DroidCam APP，接著電腦開啟DroidCam客戶端，就會收到手機鏡頭的影像和麥克風聲音。DroidCam連線可以用Wifi，或者透過USB連接降低延遲。\nDroidCam支援全部系統(Android/iOS/Linux/Windows/macOS)，可說是很完善的一個方案了。\n","title":"Linux版DroidCam安裝教學，將手機變成電腦視訊鏡頭兼麥克風","type":"posts"},{"content":"OBS Studio是一款開源免費的錄影與直播程式，功能眾多又強大，可以視需求錄製整個畫面，或是只錄下某個視窗。 OBS Studio支援Linux/Windows/macOS系統，功能是跨平台通用的，所以Windows上OBS的操作，Linux應該都能做到。\n私以為，不論哪個Linux發行版，或者說不論什麼作業系統，最佳的開源錄影選擇，就是OBS Studio，足以取代Kazam、Kooha、Bandicam、Apowersoft等同級產品。\n注意：OBS Studio只能錄影，要截圖的話，Linux已有許多截圖軟體。\n1. 如何在Linux安裝OBS Studio # OBS Studio目前支援X11和Wayland的顯示協定，錄製影片時可以調用顯示卡加速輸出。\nOBS Studio官方有提供Ubuntu、Fedora、Arch Linux等多個發行版的套件，我是使用Flatpak統一安裝指令。\n安裝Flatpak，再從Flathub裝OBS Studio：\nflatpak install flathub com.obsproject.Studio 2. 初始設定 # 如果您的電腦有Nvidia顯示卡，建議先安裝專有驅動。 Ubuntu | Arch Linux\n如果您正在使用Wayland顯示協定(可用echo XDG_SESSION_TYPE指令確認)，請確保系統正在使用PipeWire，否則錄影會黑畫面。\n在初次開啟的時候，OBS設定精靈會自動按照電腦性能設定參數，選擇「為錄影最佳化」。 解析度確認是否符合電腦螢幕實際解析度。至於畫格率，60FPS適合錄製遊戲影片，但檔案會比較大，所以我會選30FPS。 接著OBS會自動判斷硬體性能，點選「套用設定」。 接下來來點小優化。點選OBS右下角的「設定」，開啟設定面板。\n如果OBS錄製時沒聲音，點選左邊的「音效」一欄，切換使用麥克風和喇叭裝置。 點選左邊的「影像」一欄，可選擇錄製後輸出的解析度。大部分電腦是1920x1080，也就是1080p。如果要節省空間且不嫌畫質差的話，可以把「輸出」的畫質調低。 點選左邊的「輸出」一欄，調整影片輸出的編碼。一開始安裝的時候OBS應該會自動調整好，不過「編碼器」選擇硬體編碼NVENC的話還可以讓影片容量小一點，「輸出格式」則是能選擇輸出為較常見的MP4格式。「錄影路徑」可調整影片存放的位置。 如果硬體編碼錄影有問題，請試著先安裝Linux版Nvidia專有驅動，或是切換到軟體(CPU)編碼。\n3. 如何錄製Linux螢幕 # 點選「來源」下方的+號，選擇「擷取螢幕」錄製整個螢幕。如果只要錄製單個視窗，就選擇「擷取視窗」。 XSHM代表的是在X11桌面的螢幕錄影，PipeWire則是Wayland桌面的螢幕錄影。現在的桌面通常應該選後者。 點選擷取目前畫面\n之後OBS會出現畫面預覽，點確定。 界面中間的「音效混音器」是麥克風和電腦音效的音量控制，您可以調整一下系統音量，從動畫效果判斷音量是否正常運作。按一下喇叭圖示靜音。 接著點選右下角的「開始錄製」按鈕開始錄影。錄影完之後返回這個界面按下停止。 像GNOME、KDE、XFCE的桌面，會在系統欄位顯示OBS的圖示，從這裡也可以開始/停止錄影。 Linux版的OBS預設會把錄製影片儲存在家目錄 (~/)，路徑可到檔案 → 設定 → 輸出 → 錄影路徑調整。 4. OBS Studio外掛裝法 # 外掛(plugin)是第三方開發的擴充功能程式，但不是所有外掛都支援Linux。\n以顯示螢幕鍵盤操作的Input Overlay外掛為例，本文是裝Flatpak版OBS Sutdio，因此裝Flatpak版Input Overlay：\nflatpak install com.obsproject.Studio.Plugin.InputOverlay 裝完外掛之後就可以在OBS Studio啟用了。\n5. 啟用OBS虛擬相機 # OBS Studio的虛擬相機(virtual camera)功能可以將「OBS擷取的Linux畫面」變成一個假攝影機，這樣您就可以在會議軟體使用OBS畫面當作您的攝影機，而不必用到真的USB攝影機。在Linux，OBS Studio的虛擬相機功能是透過v4l2loopback實現的。\n請先在系統安裝v4l2loopback套件： sudo apt install v4l2loopback-dkms 建立虛擬相機，並設定開機自動載入v4l2loopback核心模組。 echo \u0026#39;options v4l2loopback devices=3 video_nr=10,11,12 card_label=\u0026#34;Loopback_1\u0026#34;,\u0026#34;Loopback_2\u0026#34;,\u0026#34;Virtual_cam\u0026#34; exclusive_caps=1,1,0\u0026#39; | sudo tee -a /etc/modprobe.d/v4l2loopback.conf sudo modprobe v4l2loopback 重新啟動OBS Studio，點選右下角「啟動虛擬相機」即可。 ","date":"2023年11月28日","externalUrl":null,"permalink":"/posts/setup-obs-studio-on-linux/","section":"所有文章","summary":"OBS Studio是一款開源免費的錄影與直播程式，功能眾多又強大，可以視需求錄製整個畫面，或是只錄下某個視窗。 OBS Studio支援Linux/Windows/macOS系統，功能是跨平台通用的，所以Windows上OBS的操作，Linux應該都能做到。\n私以為，不論哪個Linux發行版，或者說不論什麼作業系統，最佳的開源錄影選擇，就是OBS Studio，足以取代Kazam、Kooha、Bandicam、Apowersoft等同級產品。\n注意：OBS Studio只能錄影，要截圖的話，Linux已有許多截圖軟體。\n1. 如何在Linux安裝OBS Studio # OBS Studio目前支援X11和Wayland的顯示協定，錄製影片時可以調用顯示卡加速輸出。\nOBS Studio官方有提供Ubuntu、Fedora、Arch Linux等多個發行版的套件，我是使用Flatpak統一安裝指令。\n安裝Flatpak，再從Flathub裝OBS Studio：\nflatpak install flathub com.obsproject.Studio 2. 初始設定 # 如果您的電腦有Nvidia顯示卡，建議先安裝專有驅動。 Ubuntu | Arch Linux\n如果您正在使用Wayland顯示協定(可用echo XDG_SESSION_TYPE指令確認)，請確保系統正在使用PipeWire，否則錄影會黑畫面。\n","title":"Linux螢幕錄影程式： OBS Studio使用教學 + 虛擬相機v4l2loopback","type":"posts"},{"content":"注意：本文講的是「電腦有線分享網路給Android手機」的作法，不是「Android手機有線分享網路給電腦」，亦不是「把電腦變成熱點」。\n我們可以利用開源軟體「Gnirehtet」，將Android手機用USB線接到電腦，再將電腦的有線光纖網路分享給Android手機，讓手機免經過Wifi，直接使用電腦的網路上網。 嘿，這個軟體名字怎麼那麼難唸啊？其實你把它倒過來唸就知道了，是「tethering」的意思。一般我們用手機分享網路給電腦就是叫做USB tethering。\n而電腦分享網路給手機的作法稱作反向USB網路共享(reverse USB tethering)。\n1. 手機用電腦網路上網可以幹嘛？ # 也許你的手機Wifi壞了，沒有4G可用，就可以用這個辦法應急。\n或者手機網路太慢（11元方案釘子戶\u0026hellip;），使用光纖網路獲得更快速度，穩定度也比Wifi要好。適合在Wifi不穩定的時候採取此方案。\n電腦有使用VPN的話，透過USB共享網路可以讓手機吃到電腦的VPN。\n在使用Weylus共享電腦螢幕的時候也可以靠USB共享網路降低延遲。\n此外如果你想要用「無線」傳輸資料的軟體，USB共享網路鐵定要比Wifi要快的了！\n然而用電腦網路上網的功能不是所有手機都有，我聽說HTC手機很久以前有這個功能，怎麼可以讓他們獨享呢！ 圖源：https://hoohoo.top/blog/4686729/\n電腦分享網路給手機的功能，不像用手機分享網路給電腦，插上去就能用，需要額外軟體輔助。\n此時，在電腦跑「Gnirehtet」軟體即可達成讓手機用電腦網路上網的目的，不限手機品牌，不需要Root權限。電腦端軟體支援Linux/Windows/macOS系統。\nGnirehtet是Genoymobile開發的開源軟體，他們亦是Scrcpy的開發者。\nGnirehtet的具體原理可參考Gnirehtet生产环境实践一文的分析，Gnirehtet透過relay server轉發封包，達成反向USB網路共享的目的。 2. 下載Gnirehtet # 請至Github下載執行檔。\nLinux/macOS下載後解壓縮，在解壓縮的目錄開啟終端機。 Windows下載後解壓縮，在解壓縮的目錄按SHIFT+右鍵開啟終端機。\n3. 開啟手機ADB偵錯 # 開啟手機設定，關於手機點5下，開啟開發人員選項\n開啟允許USB偵錯\nMIUI可能還要開啟「允許外部安裝APK」的功能\n4. 執行Gnirehtet # 將手機連到電腦，維持充電模式就好，不要開啟檔案傳輸模式\n在電腦上執行指令，啟動Gnirehtet\n./gnirehtet run 保持終端機視窗開啟\n之後手機會收到通知，允許ADB偵錯 等待Gnirehtet把APK傳到手機完成安裝後，手機就會跳出VPN連線的通知 在那之後，不論手機是否有網路，手機都會用電腦網路上網了。你可以在手機開whatismyip網頁，檢查公共IP，應該跟電腦的公共IP一樣。 欲停止服務，在電腦終端機按Ctrl ＋ C，停止Gnirehtet程式。並在手機關閉VPN連線。\n","date":"2023年11月28日","externalUrl":null,"permalink":"/posts/gnirehtet-reverse-usb-tethering-for-android/","section":"所有文章","summary":"注意：本文講的是「電腦有線分享網路給Android手機」的作法，不是「Android手機有線分享網路給電腦」，亦不是「把電腦變成熱點」。\n我們可以利用開源軟體「Gnirehtet」，將Android手機用USB線接到電腦，再將電腦的有線光纖網路分享給Android手機，讓手機免經過Wifi，直接使用電腦的網路上網。 嘿，這個軟體名字怎麼那麼難唸啊？其實你把它倒過來唸就知道了，是「tethering」的意思。一般我們用手機分享網路給電腦就是叫做USB tethering。\n而電腦分享網路給手機的作法稱作反向USB網路共享(reverse USB tethering)。\n1. 手機用電腦網路上網可以幹嘛？ # 也許你的手機Wifi壞了，沒有4G可用，就可以用這個辦法應急。\n或者手機網路太慢（11元方案釘子戶…），使用光纖網路獲得更快速度，穩定度也比Wifi要好。適合在Wifi不穩定的時候採取此方案。\n電腦有使用VPN的話，透過USB共享網路可以讓手機吃到電腦的VPN。\n在使用Weylus共享電腦螢幕的時候也可以靠USB共享網路降低延遲。\n此外如果你想要用「無線」傳輸資料的軟體，USB共享網路鐵定要比Wifi要快的了！\n然而用電腦網路上網的功能不是所有手機都有，我聽說HTC手機很久以前有這個功能，怎麼可以讓他們獨享呢！ 圖源：https://hoohoo.top/blog/4686729/\n","title":"Gnirehtet：電腦USB分享網路給Android手機教學","type":"posts"},{"content":"","date":"2023-11-25","externalUrl":null,"permalink":"/en-us/categories/linux-tips/","section":"Categories","summary":"","title":"Linux Tips","type":"categories"},{"content":"Read this article in English\n如果您有高級耳機，很堅持要在Linux系統聽無損(lossless，又稱保真壓縮音訊)格式的音樂串流，請聽我一言，以Waydroid跑Android版Apple Music吧。再調整PipeWire取樣率，破除Linux音訊系統再取樣的限制，達到真正播放無損音質的體驗。 1. 文獻回顧 # Apple Music為Apple公司推出的訂閱制音樂串流服務，除了基本的AAC 256kbps外，還提供無損音質串流。\n所謂無損音質有二個：\n保真壓縮音訊，24bit/48kHz 高解析保真壓縮無損音訊，24bit/192kHz Apple Music APP支援iOS與Android系統。電腦聽Apple Music需依賴iTunes或Apple Music，而iTunes只有Windows和macOS版本。\n那Linux呢？用Wine跑iTunes？新版本Wine根本開不起來。\n用KVM Windows虛擬機跑iTunes？No no no只是聽音樂而已開銷太大了。\nApple Music網頁版？不優，不支援無損音質。\nCider？這個只是Apple Music網頁版的wrapper而已，同樣不支援無損音質。\n我在google資料的時候還看到熟悉的套路，有廠商宣稱用他們家的軟體，將Apple Music的音樂下載成mp3你就可以在Linux聽啦！\u0026hellip;啊如果我下載那聽串流的意義在哪裡？ 唉，太苦了，連Linux Hint也幫TunesKit這種專有軟體打廣告。哈，你知道TunesKit的軟體根本沒有Linux版嗎？\n所以我就想到用Waydroid容器跑Android版Apple Music，界面可愛又怡人。 補充：除了Apple Music以外，其他音樂串流平台也有提供「無損」音質。例如，Tidal與KKBox的無損音樂可以用網頁播放，不受系統平台限制。Spotify的話透過Linux版官方客戶端即可收聽無損音樂。\n2. 提高PipeWire取樣率 # 需要系統：Ubuntu 24.04以上版本\nPipeWire為新型的音訊系統，向下相容舊有的PulseAudio伺服器，現在大部分Linux發行版都使用這個當作音訊系統。PipeWire預設取樣率(sample rate)是48kHz，超過48kHz的會再取樣，除非直接使用ALSA。我們要把它的取樣率提升到Apple Music無損音質的192kHz！\n值得注意的是取樣率48kHz以上的音樂可能得外接DAC才能聽得出效果。\n執行指令pactl info，確認目前使用的是PipeWire，印出...on PipeWire代表目前是PipeWire。 複製pipewire.conf到~/.config/pipewire/pipewire.conf，編輯之\nmkdir ~/.config/pipewire/ cp /usr/share/pipewire/pipewire.conf ~/.config/pipewire/pipewire.conf vim ~/.config/pipewire/pipewire.conf 修改如下，default.clock.rate填入192kHz，default.clock.allowed-rates按照喜好填入所有可用的取樣率。 default.clock.rate = 192000 default.clock.allowed-rates = [ 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000 ] 重新啟動PipeWire服務 systemctl restart --user pipewire.service systemctl restart --user pipewire-pulse.service 用pactl info查看是否已經變更成功 3. 安裝Apple Music APP # 請安裝Waydroid，目前是Android 13，例如Ubuntu參考這篇\nApple Music有x86版APK，可以直接到Play商店下載。註：Apple Music會偵測Root權限，Waydroid確實是有Root的，你可能需要使用Magisk模組隱藏Root狀態。\n登入Apple ID，再勾選無損音質就好囉。 不幸的是，Linux端用pw-top指令查看，儘管Apple Music可以有192kHz輸出(ALSA)，但Waydroid輸出到Linux端的音訊取樣率最高只有48Hz（Android SRC本身的限制），最起碼這樣也是有符合保真壓縮音訊的標準啦。 pw-top會顯示個別程式使用的取樣率，譬如用VLC播放192kHz音樂就會正常顯示，但Waydroid就是鎖在48kHz。\nWaydroid播放開銷可比虛擬機跑iTunes要小多了。歌詞、專輯封面動態一切正常。 斟酌啟用多視窗模式。在支援好的Wayland環境下，就可以自由調整Apple Music的版面大小。 4. 嘗試解除Waydroid 48kHz的限制 # 音訊播放結構\nApple Music → (Android) Waydroid → PipeWire → DAC\n現在應該是卡在Android端的問題。\n要解除限制Android端48kHz的限制，使用usb-samplerate-unlocker或者lineage-audio-mod模組，可以用Magisk刷。\n或是手動改Waydroid vendor.img檔案，把lineage-audio-mod修改的檔案放到Android系統：\ncd Downloads git clone https://github.com/nyarla/magisk-lineage-audio-mod.git sudo systemctl stop waydroid-container # 調整vendor.img大小 sudo dd if=/dev/zero bs=1MiB of=/var/lib/waydroid/images/vendor.img conv=notrunc oflag=append count=512 sudo e2fsck -yf /var/lib/waydroid/images/vendor.img sudo resize2fs -f /var/lib/waydroid/images/vendor.img sudo mkdir vendor # 掛載並把檔案移動進去 sudo mount -t ext4 -o loop,rw /var/lib/waydroid/images/vendor.img vendor sudo cp magisk-lineage-audio-mod/system/vendor/etc/* vendor/system/vendor/etc/ sudo umount vendor sudo systemctl restart waydroid-container 重開Waydroid後安裝Sample Rate Checker看到支援的取樣率有192kHz 但\u0026hellip;pw-top依然顯示Waydroid輸出48kHz而已。\nAndroid會將音訊再取樣的問題，要到Android 14以後版本才會解決。\n如此一來，想要192kHz的音訊恐怕還是得跑虛擬機＋iTunes了。\n相關討論 # High Quality Audio? : r/waydroid Waydroid を実用するために行なった加工などのまとめ#Waydroid で USB Audio Player Pro を使う - zenn PipeWire 無損音樂播放設定 - auphone.net Magisk绕过安卓48khz采样率限制 [有线/蓝牙, 安卓10+] - 知乎 ","date":"2023年11月25日","externalUrl":null,"permalink":"/posts/play-apple-music-android-on-linux/","section":"所有文章","summary":"Read this article in English\n如果您有高級耳機，很堅持要在Linux系統聽無損(lossless，又稱保真壓縮音訊)格式的音樂串流，請聽我一言，以Waydroid跑Android版Apple Music吧。再調整PipeWire取樣率，破除Linux音訊系統再取樣的限制，達到真正播放無損音質的體驗。 1. 文獻回顧 # Apple Music為Apple公司推出的訂閱制音樂串流服務，除了基本的AAC 256kbps外，還提供無損音質串流。\n所謂無損音質有二個：\n保真壓縮音訊，24bit/48kHz 高解析保真壓縮無損音訊，24bit/192kHz Apple Music APP支援iOS與Android系統。電腦聽Apple Music需依賴iTunes或Apple Music，而iTunes只有Windows和macOS版本。\n那Linux呢？用Wine跑iTunes？新版本Wine根本開不起來。\n用KVM Windows虛擬機跑iTunes？No no no只是聽音樂而已開銷太大了。\nApple Music網頁版？不優，不支援無損音質。\nCider？這個只是Apple Music網頁版的wrapper而已，同樣不支援無損音質。\n我在google資料的時候還看到熟悉的套路，有廠商宣稱用他們家的軟體，將Apple Music的音樂下載成mp3你就可以在Linux聽啦！…啊如果我下載那聽串流的意義在哪裡？ ","title":"Linux聽無損音樂：跑Android版Apple Music ＋ 調整PipeWire取樣率","type":"posts"},{"content":"（註：以下內容僅供參考，最新版KernelSU已經不支援非GKI裝置了，若強行移植，KernelSU APP可能會跳出錯誤。）\n本文Ivon紀錄給Sony Xperia 5 II編譯核心，令其支援KernelSU的過程，並簡介KernelSU的用法。 1. KernelSU介紹 # KernelSU為2022年出現的「基於核心的Root解決方案」，將Root權限直接放在Linux核心執行。KernelSU相較於Magisk更難以被偵測到，躲避Root偵測的能力可跟Magisk Alpha/Delta一較高下。\n符合條件的裝置，僅需解鎖bootloader，再刷KernelSU官方提供的boot.img即可獲取Root權限，操作十分簡單。\n但是刷KernelSU的條件比較嚴苛，根據官方安裝說明，它要求裝置必須使用Android GKI 2.0以上的核心（Android 12 ＋ Linux 5.10）才能刷官方提供的boot.img。不像Magisk不限核心，只要解鎖bootloader就能修補boot.img。\nKernelSU依賴的GKI 2.0核心，2023年還有一大票Android廠商尚未採用，連LineageOS也沒有。加上我使用的手機為2020年發表的Sony Xperai 5 II (pdx206)，核心還在4.19，就更不可能支援了。\n根據KernelSU官方指示，如果手機非GKI核心，第三方ROM社群也沒人特地移植的話，那就只能自己修改核心，把KernelSU所需功能整合進去，重新編譯，刷到手機囉。\n我這支Xperia 5 II已經刷成LineageOS 20，原始碼也有收錄在LineageOS儲存庫，所以可以直接改核心。\n註：th1nhhdk/android_kernel_sony_sm8250-kernelsu已有預先建置的Xperia 5 II KernelSU核心boot.img。本文我是自己編譯。\n2. 修改Linux核心，加入KernelSU支援 # 參考Xperia 5 II編譯LineageOS教學，下載LineageOS原始碼（約50GB），完成環境初始化。\n進入編譯環境。\ncd ~/android/lineage/ source build/envsetup.sh breakfast pdx206 切換到核心原始碼目錄，產生設定檔 cd ~/android/lineage/kernel/sony/sm8250/ export ARCH=arm64 make pdx206_defconfig 參考KernelSU編譯指示，下載kprobe工具 curl -LSs \u0026#34;https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh\u0026#34; | bash - 修改核心設定檔 make menuconfig 進入核心設定選單 開啟以下三個選項。可以按/搜尋。\nCONFIG_KPROBES=y CONFIG_HAVE_KPROBES=y CONFIG_KPROBE_EVENTS=y 更改完成後，把變更寫回arm64目錄 make savedefconfig cp .config arch/arm64/configs/pdx206_defconfig 開始編譯Linux核心，得到boot.img make clean mka bootimage 讓Sony手機進入Fastboot模式（關機按著音量下鍵接到電腦，亮藍燈），將位於``~/android/lineage/out/target/product/pdx206/`的boot.img刷到手機 fastboot flash boot boot.img 3. KernelSU授予Root權限的方式 # KernelSU應該可以跟Magisk共存，但我暫時不這樣做，所以沒有給Magisk修補boot.img。\n重開機後到KernelSU的Github，下載KernelSU管理器APK（在最新版本點選Show all assets) KernelSU沒有Root授權對話框，預設都是不給予Root權限的。 需要個別給APP授予Root權限。KernelSU還提供範本，能詳細設定要賦予的權限模式。 APP拿到Root權限後應該就會正常運作，沒有「已授予Root權限」的提示。 4. 安裝Magisk模組和LSPosed # 儘管不是100%相容，我試了幾個模組都可以正常運作。 KernelSU刷模組過程跟Magisk相同，不過刷模組前要把模組重新命名成modules開頭。\n經過測試Viper4Android(搭配Audio Modification Library)正常、Busybox正常、PlayIntegrityFix正常。 LSPosed得另外刷ZygiskNext模組才能運作。 5. 測試KernelSU躲避Root偵測的效果 # 搭配PlayIntegrityFix，YASNAC顯示SafetyNet可以通過。 搭配Shamiko的情況下，健保快易通(3.0.33)、玉山銀行(4.7.0)可以開啟。不過行動郵局(1.19.0)還是偵測到Root。 ","date":"2023年11月23日","externalUrl":null,"permalink":"/posts/sony-xperia-5-ii-kernelsu/","section":"所有文章","summary":"（註：以下內容僅供參考，最新版KernelSU已經不支援非GKI裝置了，若強行移植，KernelSU APP可能會跳出錯誤。）\n本文Ivon紀錄給Sony Xperia 5 II編譯核心，令其支援KernelSU的過程，並簡介KernelSU的用法。 1. KernelSU介紹 # KernelSU為2022年出現的「基於核心的Root解決方案」，將Root權限直接放在Linux核心執行。KernelSU相較於Magisk更難以被偵測到，躲避Root偵測的能力可跟Magisk Alpha/Delta一較高下。\n符合條件的裝置，僅需解鎖bootloader，再刷KernelSU官方提供的boot.img即可獲取Root權限，操作十分簡單。\n但是刷KernelSU的條件比較嚴苛，根據官方安裝說明，它要求裝置必須使用Android GKI 2.0以上的核心（Android 12 ＋ Linux 5.10）才能刷官方提供的boot.img。不像Magisk不限核心，只要解鎖bootloader就能修補boot.img。\nKernelSU依賴的GKI 2.0核心，2023年還有一大票Android廠商尚未採用，連LineageOS也沒有。加上我使用的手機為2020年發表的Sony Xperai 5 II (pdx206)，核心還在4.19，就更不可能支援了。\n","title":"Non-GKI手機編譯安裝KernelSU，以Sony Xperia 5 II當例子","type":"posts"},{"content":"Android手機下載影片總是感到困擾嗎？需要一款簡單易用的下載器又不想看到一堆廣告？Seal APP可以滿足你的需求。\nSeal為一開源影片下載器，支援一鍵下載Youtube影片、音樂、會員限定影片。 APP的圖示是一隻海報，怪可愛的。 Seal APP背後使用開源yt-dlp技術來下載影片。開發者把它做成一個簡單易用的APP，省去打指令的困擾。\n更棒的是，跟同樣能下載影片的NewPipe相比，Seal因為使用yt-dlp，能夠下載更多網站的影片，比如Youtube、Facebook、Twitter、Instagram、TikTok、Bilibili、Reddit、PornHub等熱門網站的影片。\n只要有網址就沒有Seal不能下載的影片，幾近萬能。 1. 取得Seal APP # 請注意Seal APP是開源、免費、無廣告的軟體，目前還沒有在Google Play上架。\nSeal APP由junkfood02開發，你可以到Github或F-Droid下載APK。選取arm64-v8a的版本下載。 另外，Seal內建的yt-dlp可以單獨更新。如果突然無法下載影片，請試試安裝nightly版本的yt-dlp程式。 2. 使用Seal APP下載影片 # 以Youtube影片為例，複製網址直接貼上就可以下載。 如果貼上播放清單網址，則會讓你選要下載哪些影片。 下載的時候可以選取要影片還是純音樂，並按照你的喜好選取字幕。 Seal下載的影片會儲存到手機內部儲存空間/Download/Seal資料夾下。\n如果你有下載影片字幕，那麼VLC播放的時候就可以把它叫出來看。 針對進階用戶，Seal還提供「命令範本」可以讓你自訂下載影片與音訊格式，或是單獨下載影片縮圖等功能。參閱我寫的yt-dlp用法了解更多選項。 3. 下載其他網站的影片 # 如果你想下載Facebook/Twitter/Reddit的影片，點選APP內的「分享」 → 分享到其他應用程式，選取Seal就可以把網址餵給它了。 Seal也可以充當Youtube ReVanced的下載器，套件名稱是為com.junkfood.seal。\n針對需要登入才能瀏覽的影片（例如Youtube私人影片），請點選Seal左上角的設定 → 網際網路 → Cookies，點選產生新cookie，在這個頁面登入該網站帳號，影片應該就能下載了。 ","date":"2023年11月22日","externalUrl":null,"permalink":"/posts/junkfood02-seal-app/","section":"所有文章","summary":"Android手機下載影片總是感到困擾嗎？需要一款簡單易用的下載器又不想看到一堆廣告？Seal APP可以滿足你的需求。\nSeal為一開源影片下載器，支援一鍵下載Youtube影片、音樂、會員限定影片。 APP的圖示是一隻海報，怪可愛的。 Seal APP背後使用開源yt-dlp技術來下載影片。開發者把它做成一個簡單易用的APP，省去打指令的困擾。\n更棒的是，跟同樣能下載影片的NewPipe相比，Seal因為使用yt-dlp，能夠下載更多網站的影片，比如Youtube、Facebook、Twitter、Instagram、TikTok、Bilibili、Reddit、PornHub等熱門網站的影片。\n只要有網址就沒有Seal不能下載的影片，幾近萬能。 1. 取得Seal APP # 請注意Seal APP是開源、免費、無廣告的軟體，目前還沒有在Google Play上架。\nSeal APP由junkfood02開發，你可以到Github或F-Droid下載APK。選取arm64-v8a的版本下載。 另外，Seal內建的yt-dlp可以單獨更新。如果突然無法下載影片，請試試安裝nightly版本的yt-dlp程式。 2. 使用Seal APP下載影片 # 以Youtube影片為例，複製網址直接貼上就可以下載。 如果貼上播放清單網址，則會讓你選要下載哪些影片。 下載的時候可以選取要影片還是純音樂，並按照你的喜好選取字幕。 Seal下載的影片會儲存到手機內部儲存空間/Download/Seal資料夾下。\n","title":"萬能手機影片下載器 ~ Seal APP，支援Youtube、Facebook、Twitter、Instagram，開源yt-dlp前端","type":"posts"},{"content":"一般我們要安裝Flatpak程式，都是透過flatpak install的方式，從Flathub儲存庫下載程式。\n不過，使用者也可以自行將Flatpak打包成可攜式軟體，方便在沒有網路的Linux電腦離線安裝，或是於Flathub上架前先行給部份人員測試。 Flatpak打包者辛酸畫面流出。此圖使用Stable Diffusion生成。\n目前Flatpak版本1.16.3，官方文件提供二種方法，「Bundles」和「Create-usb」。本文將提供實際操作例子，看看他們的異同。\n請注意：\n不論是哪種方法，你都不能用本文講的作法「雙開」程式，因為Flatpak程式可能還是會將資料存到同一個目錄下。 打包程式不會連程式資料(dotfile)一同打包。 Flatpak僅能滿足「可攜式」（portable)、「離線安裝」(offline installation)的要求，但不能「免安裝點二下直接執行」。要跑Flatpak程式的電腦必須安裝Flatpak本體，用以管控Flatpak套件。 自行打包的Flatpak，可能無法透過flatpak update自動更新。 如果想要免安裝直接跑還得用AppImage。但正如我在Flatpak優缺點一文所說的，Flatpak內建更多依賴套件，跨發行版的效果比AppImage好。\n1. Single-file bundles（.flatpak） # 參考：\nSingle-file bundles - Flatpak documentation flatpak-build-bundle(1) command reference 此方法將會把Flatpak程式打包成一個.flatpak結尾的檔案，稱作bundles，供人下載安裝。勿跟.flatpakref搞混。\n這個比較像是給開發人員打包用的，手上有原始碼就可以打包。例如LibreOffice就有用此種格式分發。 一般使用者也可以從Flathub安裝程式，自行打包成.flatpak檔案。\n儘管.flatpak格式檔案較小，但這個指令是做半套，它不含有AppStream資料（GNOME Software、KDE Discover的商店評分），也不會把runtime一同打包進去。\n所以真要純離線安裝的話，Flatpak官方文件比較推薦Create-usb的作法。\n打包指令會用到flatpak build-bundle，格式如下 flatpak build-bundle [選項...] 儲存庫路徑 輸出檔名 應用程式域名 [分支] 假設我們的A電腦已經裝有GIMP修圖程式，從Flathub安裝的，現在要把它打包成.flatpak，傳送到B電腦安裝。 該程式自然是參照Flathub儲存庫(repo)，那麼它的儲存庫路徑位於~/.local/share/flatpak/repo（個別使用者）或/var/lib/flatpak/repo（系統）\n用flatpak --user list指令得知GIMP的應用程式名稱為org.gimp.GIMP\nFlahub預設會安裝穩定stable分支的程式\n用--arch指定打包x86_64架構的程式\n--from-commit可以不填，預設抓最新版程式\n加上我們希望它安裝後自動按照者的環境自動更新對應runime，設定將--repo-url和--runtime-repo的儲存庫指向Flathub。\n所以打包指令會變這樣，在目前的目錄輸出一個名為gimp.flatpak的檔案 flatpak build-bundle \\ ~/.local/share/flatpak/repo\\ gimp.flatpak \\ org.gimp.GIMP \\ stable \\ --arch=x86_64 \\ --repo-url=https://flathub.org/repo/flathub.flatpakrepo \\ --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo 將gimp.flatpak傳送到另一台B電腦，B電腦就可以用flatpak --user install指令安裝。 flatpak --user install gimp.flatpak 或者僅將其匯入到B電腦的儲存庫 flatpak build-import-bundle ~/.local/share/flatpak/repo gimp.flatpak 安裝的時候，Flatpak會自動下載B電腦需要的runtime。 安裝後用flatpak --user install指令觀察，可看到GIMP的「來源」顯示gimp1-origin而非flathub。這可能會導致GNOME應用商店混亂，認不到使用者安裝的程式。 2. Create-usb # 參考：\nUSB Drives - Flatpak documentation flatpak-create-usb(1) command reference 此方法會把Flatpak程式打包成一個目錄，包含ostree儲存庫、runtime在內。\n儘管指令叫做create-usb，你還是可以打包到任意目錄，不一定要存到隨身碟。\n跟bundles比起來，create-usb打包是完整的，但檔案也很大。目前沒看過有開發者這樣分發Flatpak應用程式的，這個功能應該是給個人使用居多。\n這裡我們要用create-usb，將A電腦的GIMP（從Flathub安裝的）打包，再手動壓縮，傳到B電腦安裝。\n關於flatpak-create-usb指令用法： flatpak create-usb [選項...] 掛載路徑 參照... 首先要在A電腦加入收藏(Collection) ID。 flatpak --user remote-modify --collection-id=org.flathub.Stable flathub 用flatpak --user list，確認GIMP的應用程式域名為org.gimp.GIMP。用以下指令，將目前使用者的GIMP，打包到目錄~/Downloads/gimp flatpak --user create-usb ~/Downloads/gimp org.gimp.GIMP 壓縮檔案 cd ~/Downloads/gimp zip -r gimp.zip gimp 傳送到B電腦，解壓縮。 unzip -l gimp.zip B電腦同樣要加入收藏ID。不加這個的話Flatpak會連上網路下載，無視我們打包的Flatpak程式。 flatpak --user remote-modify --collection-id=org.flathub.Stable flathub B電腦安裝該程式的時候需要使用--sideload-repo指定儲存庫所在位置 flatpak --user install --sideload-repo=/home/user/Downloads/gimp/.ostree/repo flathub org.gimp.GIMP 可以看到即使沒有網路，Flatpak仍能完成安裝。 未來使用flatpak update指令的時候，也可以加入--sideload-repo指定使用特定儲存庫。\n","date":"2023年11月21日","externalUrl":null,"permalink":"/posts/flatpak-offline-installation/","section":"所有文章","summary":"一般我們要安裝Flatpak程式，都是透過flatpak install的方式，從Flathub儲存庫下載程式。\n不過，使用者也可以自行將Flatpak打包成可攜式軟體，方便在沒有網路的Linux電腦離線安裝，或是於Flathub上架前先行給部份人員測試。 Flatpak打包者辛酸畫面流出。此圖使用Stable Diffusion生成。\n目前Flatpak版本1.16.3，官方文件提供二種方法，「Bundles」和「Create-usb」。本文將提供實際操作例子，看看他們的異同。\n請注意：\n不論是哪種方法，你都不能用本文講的作法「雙開」程式，因為Flatpak程式可能還是會將資料存到同一個目錄下。 打包程式不會連程式資料(dotfile)一同打包。 Flatpak僅能滿足「可攜式」（portable)、「離線安裝」(offline installation)的要求，但不能「免安裝點二下直接執行」。要跑Flatpak程式的電腦必須安裝Flatpak本體，用以管控Flatpak套件。 自行打包的Flatpak，可能無法透過flatpak update自動更新。 如果想要免安裝直接跑還得用AppImage。但正如我在Flatpak優缺點一文所說的，Flatpak內建更多依賴套件，跨發行版的效果比AppImage好。\n1. Single-file bundles（.flatpak） # 參考：\n","title":"離線安裝Flatpak應用程式，比較Bundles與Create-usb打包方法","type":"posts"},{"content":"因為想修改Linux核心設定檔(kernel config)，所以學習如何編譯LineageOS ROM。參考LineageOS Wiki和XDA教學後編譯後，遂將過程記敘於此。 這篇不是LineageOS移植教學，而是修改現有的LineageOS ROM原始碼並重新編譯。可視需求只編譯核心(刷核心/內核)，或是整個ROM重新編譯。\nLineageOS Wiki，Sony Xperia 5 II (pdx206)的支援狀態現在是Official。凡是進入Official的裝置，LineageOS Wiki都會自動生成對應的編譯教學。 未來如果進入unofficial的話，機型設定檔通常還會留在LineageOS儲存庫，我們還是可以用它編譯ROM。\n1. 前置作業 # 參見Xperia 5 II Root教學，解鎖bootloader。\n為方便測試已刷成別人做好的LineageOS 20，確認刷機功能正常後我才開搞。\n編譯ROM需要一台x86架構64位元Linux系統的電腦，官方Wiki建議是Ubuntu，我使用Ubuntu 22.04 LTS。\n下載LineageOS原始碼需要約50~100GB的硬碟空間，編譯ROM需要準備至少250GB的硬碟空間，且最好是SSD。\n編譯ROM至少需要16GB RAM，Android 12以後可能需要32GB RAM。可用SWAP或SWAP file增加RAM。\n下載檔案約需要1小時，視網路速度而定。\n以我的四核心CPU Intel i5-7400來說，編譯Linux核心約30分鐘，編譯整個ROM約6小時。\n2. 安裝編譯工具 # 雖然有些工具Linux套件庫有收，不過保險起見還是手動裝LineageOS Wiki建議的版本。\n2.1. 安裝Platform Tools # Platform Tools內含ADB和Fastboot。\n從Google官網下載最新版platform-tools。 wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip 解壓縮到家目錄 unzip platform-tools-latest-linux.zip -d ~ 用VIM編輯 ~/.profile，將platform-tools加入PATH # add Android SDK platform tools to path if [ -d \u0026#34;$HOME/platform-tools\u0026#34; ] ; then PATH=\u0026#34;$HOME/platform-tools:$PATH\u0026#34; fi 重新載入環境變數 source ~/.profile 2.2. 安裝編譯依賴套件 # Ubuntu 22.04請安裝以下套件\nsudo apt install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git git-lfs gnupg gperf imagemagick lib32readline-dev lib32z1-dev libelf-dev liblz4-tool libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev lib32ncurses5-dev libncurses5 libncurses5-dev 2.3. 安裝Java # 編譯LineageOS 18以上需要OpenJDK 11。\n安裝OpenJDK：\nsudo apt install openjdk-11-jdk 2.4. 安裝Python # Lineageos 17以上需要Python 3，Ubuntu還得將python指令指向python3，因此安裝：\nsudo apt install python3 python-is-python3 2.5. 建立工作目錄 # 建立存放工具和Android原始碼的目錄，不要有中文。\nmkdir -p ~/bin mkdir -p ~/android/lineage 2.6. 安裝repo工具 # repo是用於同步儲存庫的工具。\n從Google網站下載，將repo安裝至~/bin目錄： curl https://storage.googleapis.com/git-repo-downloads/repo \u0026gt; ~/bin/repo chmod a+x ~/bin/repo 用VIM編輯~/.profile，將bin目錄加入PATH： # set PATH so it includes user\u0026#39;s private bin if it exists if [ -d \u0026#34;$HOME/bin\u0026#34; ] ; then PATH=\u0026#34;$HOME/bin:$PATH\u0026#34; fi 重新載入環境變數 source ~/.profile 2.7. 設定git資訊 # 設定Git的聯絡資訊\ngit config --global user.email \u0026#34;電郵\u0026#34; git config --global user.name \u0026#34;名字\u0026#34; 2.8 設定ccache # 選擇性步驟。如果要多次重複編譯ROM，設定ccache能節省下次編譯的時間，但是會佔用更多硬碟空間。\n啟用CCACHE，並分配50GB硬碟作為快取空間\nexport USE_CCACHE=1 export CCACHE_EXEC=/usr/bin/ccache ccache -M 50G 3. 下載原始碼與裝置設定檔 # 同步LineageOS的原始碼儲存庫，選擇lineage-20的分支。repo同步的時候很吃網速，如果速度太慢導致發生錯誤就把j8改成j1。 cd ~/android/lineage repo init -u https://github.com/LineageOS/android.git -b lineage-20.0 --depth=1 repo sync -c -j8 接下來讓repo sync自動下載LineageOS裝置的設定檔，這裡是pdx206。 source build/envsetup.sh breakfast pdx206 repo sync -c -j8 沒抽取專有驅動程式會遇到vendor error .mk does not exist錯誤，這是正常的。等跑完下面的抽取步驟，再跑一次breakfast指令即可。 cd ~/android/lineage breakfast pdx206 repo sync -c -j8 4. 抽取Sony專有驅動程式 # 參考LineageOS Wiki瞭解如何抽取專有驅動程式(proprietary blobs)。\n專有驅動程式可以從刷機包、OTA包、實體機抽取，我是從Sony原廠韌體抽取。我們要找到system.img，LineageOS的指令稿才能抽出專有驅動程式。\n透過XperiFirm下載Xperia 5 II(pdx206)的韌體。Linux可以用Wine跑。\n切換到韌體解壓縮的目錄，例如~/XQ-AS72_Customized_TW_58.2.A.10.126\ncd ~/XQ-AS72_Customized_TW_58.2.A.10.126 下載Sony Dump Tool，解開super_X-FLASH-ALL-2389.sin（即super.img）至output目錄，得到super_X-FLASH-ALL-2389.bin /sony_dump.x86_64 output super_X-FLASH-ALL-2389.sin 編譯Super image tools工具，得到執行檔superunpack cd ~ git clone https://github.com/munjeni/super_image_dumper.git cd super_image_dumper make 將superunpack移動到super_X-FLASH-ALL-2389.bin所在的目錄 chmod +x superunpack mv superunpack ~/XQ-AS72_Customized_TW_58.2.A.10.126/output cd ~/XQ-AS72_Customized_TW_58.2.A.10.126/output 解出system_a.ext4（即system.img）、vendor_a.ext4、odm_a.ext4、product_a.ext4 ./superunpack /super_X-FLASH-ALL-2389.bin 建立工作目錄 mkdir ~/android/system_dump/ cd ~/android/system_dump/ # 將super_X-FLASH-ALL-2389.bin解出的檔案放到此目錄 mv ~/XQ-AS72_Customized_TW_58.2.A.10.126/output/*.ext4 ~/android/system_dump/ 將上述的system.img掛載至系統 mkdir system/ sudo mount -o ro system_a.ext4 system/ sudo mount -o ro vendor_a.ext4 system/vendor/ sudo mount -o ro odm_a.ext4 system/odm/ sudo mount -o ro product_a.ext4 system/product/ # 疑似不需要？sudo mount -o ro system_ext.img system/system_ext/ 切換至~/android/lineage/device/sony/pdx206/，開始抽取專有驅動程式。 cd ~/android/lineage/device/sony/pdx206/ ./extract-files.sh ~/android/system_dump/ 抽取的檔案會自動放到~/android/lineage/vendor/sony/。\n取消掛載system.img並刪除無用檔案\nsudo umount -R ~/android/system_dump/system/ rm -r ~/android/system_dump/ rm -r ~/XQ-AS72_Customized_TW_58.2.A.10.126 rm -r ~/super_image_dumper 5. 編譯Linux核心 # 此步驟僅編譯Linux核心，要編譯完整ROM請直接跳下一節。\n編譯後會自動打包成boot.img，適合想開核心設定檔玩某些Android預設不給用的功能的用戶，例如超頻、改kernel跑Docker，不需要重刷手機系統也能測試。\n注意有些核心變動太多，編譯ROM時會不給過。\n進入編譯環境。 cd ~/android/lineage/ source build/envsetup.sh breakfast pdx206 欲修改核心設定檔，切換至~/android/lineage/kernel/sony/sm8250/目錄，並產生.config設定檔 cd ~/android/lineage/kernel/sony/sm8250/ export ARCH=arm64 make pdx206_defconfig 進入核心設定檔選單，開始修改 make menuconfig 修改完成後，用.config取代原本的pdx206_defconfig make savedefconfig cp .config arch/arm64/configs/pdx206_defconfig 編譯核心 make clean mka bootimage 輸出的boot.img位於~/android/lineage/out/target/product/pdx206/。\n讓手機進入Fastboot Mode，使用fastboot指令將boot.img刷到手機。如果要Root權限記得將boot.img餵給Magisk將其修補後再刷一次。\nfastboot flash boot boot.img 如果要重新編譯核心，請記得跑以下指令清理舊檔： cd ~/android/lineage/kernel/sony/sm8250/ make clean make mrproper 6. 編譯整個ROM # 編譯ROM前可以修改內建的APP之類的，或是改系統原始碼。\n開始編譯ROM。 cd ~/android/lineage/ croot make clean brunch pdx206 這裡的指令下去，觀察一下跑個十分鐘，確認沒有輸出錯誤訊息後就可以去睡覺了。 編譯好的ROM lineage-20.0-20230202-OFFICIAL-pdx206.zip，位於~/android/lineage/out/target/product。要開機進LineageOS的Recovery → Apply Updates from ADB刷入。\n7. 後記 # 本文最初寫於2023年2月3日，當初用Arch Linux編譯的，但後來換成Ubuntu了。整個編譯過程用虛擬機或Docker容器都可以。\n根據XDA的討論，LineageOS維護者突然中止維護，看來Xperia 5 II又得回去用unofficial build了。\n儘管過去Xperia 5 II刷LineageOS大致沒什麼問題，但我的Xperia 5 II已經綠線發作，當成備用機了。\n參考資料 # Build for pdx206 - LineageOS Wiki 完整指引如何編譯AOSP (Build Android P)，整合GMS及刷機 (Pixel 2) GUIDE/HOW-TO Building LineageOS for an Unsupported Device - XDA Forums mka bootimage - Oneplus5 Lineage OS 15.1 kernel compilation - Stack Overflow ","date":"2023年11月20日","externalUrl":null,"permalink":"/posts/build-lineageos-sony-xperia-5-ii/","section":"所有文章","summary":"因為想修改Linux核心設定檔(kernel config)，所以學習如何編譯LineageOS ROM。參考LineageOS Wiki和XDA教學後編譯後，遂將過程記敘於此。 這篇不是LineageOS移植教學，而是修改現有的LineageOS ROM原始碼並重新編譯。可視需求只編譯核心(刷核心/內核)，或是整個ROM重新編譯。\nLineageOS Wiki，Sony Xperia 5 II (pdx206)的支援狀態現在是Official。凡是進入Official的裝置，LineageOS Wiki都會自動生成對應的編譯教學。 未來如果進入unofficial的話，機型設定檔通常還會留在LineageOS儲存庫，我們還是可以用它編譯ROM。\n1. 前置作業 # 參見Xperia 5 II Root教學，解鎖bootloader。\n為方便測試已刷成別人做好的LineageOS 20，確認刷機功能正常後我才開搞。\n編譯ROM需要一台x86架構64位元Linux系統的電腦，官方Wiki建議是Ubuntu，我使用Ubuntu 22.04 LTS。\n下載LineageOS原始碼需要約50~100GB的硬碟空間，編譯ROM需要準備至少250GB的硬碟空間，且最好是SSD。\n","title":"編譯自訂LineageOS ROM ＆ Kernel，以Sony Xperia 5 II為例","type":"posts"},{"content":"註：此專案已經停止維護。建議改用MMRL\n這篇文章讓Ivon介紹如何使用開源Magisk模組管理器「MRepo」下載模組。\n如果你想知道Magisk有哪些有趣模組，請參閱Magisk模組列表\n1. Androidacy的問題 # 先說說使用第三方Magisk模組管理器的理由。\nMagisk作者topjohnweu在2021年的Medium文章指出，他因為難以管理便把Magisk Manager內建的線上倉庫(repository)砍掉了。 如此一來模組使用者要手動下載模組再用Magisk Manager刷，更新模組就變得不方便了呀。\n好在2022年Fox Magisk Module Manager (FoxMMM)的出現解決了問題，結合Magisk Alt Repo，讓使用者得以方便下載Magisk模組，更新也方便。 然而，2023年FoxMMM作者把他的APP交給Androidacy開發，變成Androidacy Module Manager (AMM)，情況開始變糟。 Androidacy是一家美國網站，他們有經營自己的模組倉庫，內含熱門的Magisk模組。\n儘管Androidacy APP程式碼仍然是開源的，但問題在於他們竟然拿Magisk模組營利。\n下載模組前要看廣告，限制每日下載10次，不然就得買高級會員。開Adblocker還會延長下載等候時間。 雖然原本的FoxMMM還可以用，但未來看來是不會再收到更新了。\n如果你像Ivon一樣不喜歡Androidacy的行為，可以改用開源無廣告的「MRepo」模組管理器。 MRepo開發者自稱來自中國。APP功能很簡單，就只是瀏覽、下載、安裝模組而已，沒多餘功能。\n它使用的倉庫為Magisk Alt Repo，是Github上收錄Magisk模組最多的倉庫。\n另外，MRepo也可以管理KernelSU的模組。\n2. MRepo下載模組 # 到Github下載APK\n開啟MRepo，點選右下角設定 → 儲存庫，加入Magisk Alt Repo儲存庫 這樣就可以到儲存庫頁面下載模組了 模組下載頁面乾乾淨淨，完全無廣告。刷入模組的操作過程跟Magisk Manager一樣。 本機模組若有更新也會顯示Update按鈕。注意MRepo無法自動更新手動安裝的Magisk模組（Update顯示灰色） 3. MRepo手動裝模組 # 不幸的是MRepo不相容FoxMMM的Androidacy倉庫，目前僅支援Magisk Alt Repo和IzzyOnDroid Magisk Repository。\n如果你要的Magisk模組沒在上面。就只能去Github下載壓縮檔，手動點MRepo「模組」介面的右下角按鈕刷進去了。\n另請參見 # Androidacy.com - Theyre Trying To Monetize Your Modules (your work) - XDA Androidacy module manager aka the former Fox\u0026rsquo;s Magisk Module Manager is utter trash. - Reddit ","date":"2023年11月20日","externalUrl":null,"permalink":"/posts/mrepo-magisk-module-manager/","section":"所有文章","summary":"註：此專案已經停止維護。建議改用MMRL\n這篇文章讓Ivon介紹如何使用開源Magisk模組管理器「MRepo」下載模組。\n如果你想知道Magisk有哪些有趣模組，請參閱Magisk模組列表\n1. Androidacy的問題 # 先說說使用第三方Magisk模組管理器的理由。\nMagisk作者topjohnweu在2021年的Medium文章指出，他因為難以管理便把Magisk Manager內建的線上倉庫(repository)砍掉了。 如此一來模組使用者要手動下載模組再用Magisk Manager刷，更新模組就變得不方便了呀。\n好在2022年Fox Magisk Module Manager (FoxMMM)的出現解決了問題，結合Magisk Alt Repo，讓使用者得以方便下載Magisk模組，更新也方便。 然而，2023年FoxMMM作者把他的APP交給Androidacy開發，變成Androidacy Module Manager (AMM)，情況開始變糟。 Androidacy是一家美國網站，他們有經營自己的模組倉庫，內含熱門的Magisk模組。\n儘管Androidacy APP程式碼仍然是開源的，但問題在於他們竟然拿Magisk模組營利。\n下載模組前要看廣告，限制每日下載10次，不然就得買高級會員。開Adblocker還會延長下載等候時間。 ","title":"開源「MRepo」Magisk模組管理器，取代Androidacy","type":"posts"},{"content":"","date":"2023-11-19","externalUrl":null,"permalink":"/en-us/tags/windows-subsystem-for-linux/","section":"Tags","summary":"","title":"Windows Subsystem for Linux","type":"tags"},{"content":"Read this article in English\n本文讓Ivon解說如何在Windows WSL跑Linux桌面環境和播放音訊，並將Linux環境中文化。\nWSL支援透過WSLg跑圖形程式 (GUI apps)。例如在WSL內安裝firefox套件，輸入firefox指令，就會在Windows打開一個Firefox獨立視窗，可吃到GPU硬體加速。\n更進一步說，你還可以用WSL跑GNOME、XFCE、KDE、LXQT、Cinnamon等桌面環境，體驗使用Linux電腦的感覺。\n比方說下圖是WSL Ubuntu跑KDE桌面的樣子，你可以在Windows與Ubuntu之間無縫切換，效能比虛擬機好。 影片版示範 請注意WSL內的桌面功能跟Linux實機有差距，也可能出現各種詭異bug。\n想體驗完整Ubuntu桌面的話，我還是建議你安裝Ubuntu到實體機器上，例如Windows 11與Ubuntu雙重開機\n1. 環境 # Windows 11 22H2 WSL 2.0.9.0 WSL Ubuntu 22.04 WSL預設是按照你電腦的RAM切一半給Linux用。若要跑圖形環境可能會比較吃資源，建議至少要留4GB RAM給Linux。你可以調整wslconfig讓WSL分配到多一點硬體資源。\n2. 說明 # 請看Microsoft提供的WSLg架構圖 為什麼不直接使用WSLg顯示Linux桌面呢？嗯\u0026hellip;它使用Wayland顯示協定，已經有自己的視窗管理器，只能啟動文章一開始提到的Firefox這類「單一窗口」的程式，不能啟動新的桌面環境。\n當你啟動Firefox的時候，視窗會被WSLg「搶走」。但我希望開一個桌面環境的視窗後，所有的程式都待在該視窗內。\n所以放棄Wayland，跑一個獨立的X伺服器比較好，讓所有X程式都跑在同一個視窗裡。\nX伺服器的選擇有三個:\nWSL外面跑VcXsrv、X410這類獨立的X伺服器程式（詳見不使用WSLg跑WSL圖形程式的方法，使用VcXsrv ） WSL內跑Xephyr WSL內跑XWayland 我選擇跑WSL內跑Xephyr或XWayland。這背後是利用XWayland Rootful Mode的機制，這樣等同在WSL的Walyand裡面再跑一個巢狀X伺服器。\n音效部分，因為Windows要單獨跑PulseAudio伺服器很麻煩，我們就沿用WSLg內建的音訊伺服器來播WSL的音效吧。\n那由於WSLg使用Wayland，下面我們將透過環境變數，指定所有Linux程式使用X而非Wayland顯示，即可防止啟動程式的時候跑到WSLg那邊。\n3. 安裝桌面環境套件 # 登入WSL Ubuntu，用APT開始安裝套件。\n四擇一，你要全裝也可以。裝完套件後先不要急著啟動。\nKDE # Kubuntu的桌面，華麗度不輸GNOME。\n套件名稱：kubuntu-desktop或plasma-desktop\n啟動指令：dbus-run --exit-with-session startplasma-x11\nXFCE # Xubuntu的桌面，很輕量，預設狀態有點醜。\n套件名稱：xubuntu-desktop或xfce4 xfce4-goodies\n啟動指令：dbus-run --exit-with-session startxfce4\nLXQT # Lubuntu的桌面，跟XFCE一樣輕量的桌面。\n套件名稱：lubuntu-desktop或lxqt\n啟動指令：dbus-run --exit-with-session startlxqt\nGNOME # Ubuntu系統的預設桌面。注意GNOME我不確定能開起來，因為會牽扯到systemd的問題。\n目前WSL2 1.2.5需要手動調整一些東西，參閱Full desktop shell in WSL2 using WSLg (XWayland)\n4. 啟動桌面環境 # 安裝WSL Ubuntu，登入WSL wsl 儲存環境變數到~/.profile，告訴程式全數使用X當作渲染後端。如果你不這樣做，Linux程式使用Wayland渲染的話會被WSLg抓走，跑到視窗外面。 echo \u0026#34;export XDG_SESSION_TYPE=x11\u0026#34; \u0026gt;\u0026gt; ~/.profile echo \u0026#34;export GDK_PLATFORM=x11\u0026#34; \u0026gt;\u0026gt; ~/.profile echo \u0026#34;export GDK_BACKEND=x11\u0026#34; \u0026gt;\u0026gt; ~/.profile echo \u0026#34;export QT_QPA_PLATFORM=xcb\u0026#34; \u0026gt;\u0026gt; ~/.profile echo \u0026#34;export WAYLAND_DISPLAY=\u0026#34; \u0026gt;\u0026gt; ~/.profile source ~/.profile 啟動X伺服器(二擇一)，指定解析度為1600x900。啟動後會彈出一個新視窗。 # Xephyr的指令，視窗可縮放 Xephyr -br -ac -noreset -resizeable -screen 1600x900 :1 \u0026amp; # XWayland的指令，視窗無法縮放 (XWalyand 23.0以上版本才可以使用geometry引數，Ubuntu 22.04得手動編譯新版XWayland) Xwayland -ac -decorate -geometry 1600x900 -host-grab :1 \u0026amp; 接著，在終端機啟動桌面環境，例如KDE。我在指令末尾加了\u0026amp;表示在背景執行，這樣我們才可以繼續使用終端機 export DISPLAY=:1 dbus-launch --exit-with-session startplasma-x11 \u0026amp; 幾秒鐘後X視窗就會看到KDE桌面了 要關閉桌面環境，登出WSL，將其關機\nexit wsl --shutdown 5. 調整Ubuntu語言與輸入法 # 中文語言可以從KDE介面設定，或者使用以下指令產生:\nsudo apt install locales sudo locale-gen zh_TW.UTF-8 sudo update-locale LANG=zh_TW.UTF-8 輸入法部分，請在Linux端安裝Fcitx5 + 新酷音。如果開啟桌面環境後Fcitx5沒有跳出來，請點選應用程式列表的「Fcitx5」圖示手動啟動。\n按CTRL+SHIFT可在X伺服器的視窗擷取鍵盤組合鍵。\n如果要在Linux與Windows之間同步剪貼簿，可以在兩邊系統裝KDE Connect，配對後剪貼簿就會自動同步了。\n6. 一些程式小問題 # VLC播放影片莫名很卡，改用MPV吧。\nMPV播放影片可以加上--vo=x11的引數，強制使用X11。\nmpv video.mp4 --vo=x11 Snap版Firefox沒有聲音，建議移除，改裝Mozilla ppa提供的Firefox ESR:\nsudo snap remove firefox sudo add-apt-repository ppa:mozillateam/ppa sudo apt update sudo apt install firefox-esr 部分Flatpak程式在X11環境下開不起來，目前找不到辦法解決。\n7. 如何將一切回復原狀 # 將~/.profile檔案內強制使用X11的5個環境變數註解或移除掉。下次登入WSL，應用程式就會恢復從WSLg開啟的模式了。\n參考資料 # 为win10的linux子系统搭载图形界面(WSL安装桌面) - Philbert Window10 建置Ubuntu(WSL2)與GUI桌面配置筆記 使用WSL 執行Linux GUI 應用程式- Windows Xwayland - Freedesktop.org Disabling WSLg (or using it together with X410) Launch xfce4 or other desktop in Windows 11 WSLg Ubuntu distro Full desktop shell in WSL2 using WSLg (Wayland) ","date":"2023年11月19日","externalUrl":null,"permalink":"/posts/run-linux-desktop-on-wsl/","section":"所有文章","summary":"Read this article in English\n本文讓Ivon解說如何在Windows WSL跑Linux桌面環境和播放音訊，並將Linux環境中文化。\nWSL支援透過WSLg跑圖形程式 (GUI apps)。例如在WSL內安裝firefox套件，輸入firefox指令，就會在Windows打開一個Firefox獨立視窗，可吃到GPU硬體加速。\n更進一步說，你還可以用WSL跑GNOME、XFCE、KDE、LXQT、Cinnamon等桌面環境，體驗使用Linux電腦的感覺。\n比方說下圖是WSL Ubuntu跑KDE桌面的樣子，你可以在Windows與Ubuntu之間無縫切換，效能比虛擬機好。 影片版示範 請注意WSL內的桌面功能跟Linux實機有差距，也可能出現各種詭異bug。\n想體驗完整Ubuntu桌面的話，我還是建議你安裝Ubuntu到實體機器上，例如Windows 11與Ubuntu雙重開機\n1. 環境 # Windows 11 22H2 WSL 2.0.9.0 WSL Ubuntu 22.04 WSL預設是按照你電腦的RAM切一半給Linux用。若要跑圖形環境可能會比較吃資源，建議至少要留4GB RAM給Linux。你可以調整wslconfig讓WSL分配到多一點硬體資源。\n2. 說明 # 請看Microsoft提供的WSLg架構圖 ","title":"Windows 11 WSL2跑Linux桌面環境與圖形程式的方法，使用WSLg XWayland","type":"posts"},{"content":"Read this article in English\nKingRoot（或稱KingoRoot、Root大師），是中國開發者推出的一鍵Root工具，宣稱只要安裝APP便可取得Android Root權限。\n然而在國內外的刷機玩家圈子內，Kingroot普遍被認為是惡意軟體。\n是的，KingRoot並非主流的Root方法，現在2023年常見的Root方法是刷Magisk。\n下面將比較Magisk vs KingRoot，探討前者比較好的理由，解釋為何不要用KingRoot。\n1. 為何Magisk比KingRoot好 # 1.1.安全性 # Magisk約在2016年出現，是台灣人topjohnwu開發的開源軟體，基於SuperSU研發。Magisk永遠免費，不蒐集資料，現在仍在積極更新中。\nMagisk原始碼位於Github，任何人都可以檢查背後程式做了什麼事。\nKingRoot約在2013年出現，是中國人開發的閉源軟體，提供手機與PC版。\n根據百度百科引用的相關報導，KingRoot可以靠漏洞root許多手機\u0026hellip;但是！那些手機都是10年前的，KingRoot利用的漏洞到Android 5以後就基本沒用了。 更誇張的是，KingRoot現在「官網」有好幾個，根本不知道哪個是真的。網路流傳的KingRoot APP可能已經不是原作者發表，有的會要求存取手機地理位置，你不知道它背後蒐集了什麼資料，可能還會推送廣告，甚至有病毒。 網路上有一些關於KingRoot的討論：\nIs Kingroot safe? - Quora Spyware: KingRoot, KingoRoot, iRoot, etc - r/androidroot Reddit 2017年，XDA開發者在一長串的討論之後認為：「KingRoot是廣告軟體兼惡意軟體」\nKingRoot Malware / Adware root !! - XDA 中國用戶甚至稱KingRoot為流氓軟體：\n如何科学，安全，有效地卸载Kingroot？？ - 知乎 這樣的話KingRoot肯定是比Magisk還不安全的了。\n1.2. Root方法的差異 # Magisk是systemless root，僅修改boot.img，不會動到Android系統檔案。因此安裝Magisk仍有OTA更新的可能。\n參考我寫過的Android手機Root流程，標準做法為解鎖手機bootloader，刷入Magisk，即可取得Root權限。只要是Android 6以上的裝置都可以用Magisk root。 KingRoot的原理跟以前「百度一鍵Root」、「360Root」類似。採用的是古早Android 2.3時代SueprSU的root方法，將su檔案放到Android系統。 可是沒有custom recovery要怎麼辦呢？KingRoot只能用破解的(exploit)，靠Android系統漏洞取得root權限。XDA曾報導過KingRoot利用ZNIU漏洞來取得root權限。\n但是KingRoot依賴的漏洞只適用遠古Android版本，在Android 5以前可能還有效，新版Android 14成功率很低，KingRoot顯示「失敗」不足為奇。\n且Kingroot一旦修改到系統檔案，手機就不可能OTA更新了。\n大部分手機是支援解鎖bootloader刷Magisk的，你並不需要用KingRoot「破解」手機來取得Root權限。\n順便講個八卦，SuperSU的沒落跟Android強化安全性有關，新版Android一旦修改系統就很難進行系統更新。另外SuperSU的開發者把自己的軟體賣給中國公司也是其沒落的因素。\nChainfire Retires from SuperSU, to Leave Fully February 24th - XDA 1.3. KingRoot與Magisk生態不相容 # 就算KingRoot真的Root成功，它也不是很好的Root權限管理器，有些APP可能認不到Kingroot的root權限。\n而且你怎麼敢讓一個來路不明的APP擁有最高Root權限，管理手機的一切程式？\n你無法用Kingroot裝Magisk模組，更別說依賴Magisk的LSposed了。\n你想拿它當「跳板」刷Magisk更是不實際。Magisk需要解鎖bootloader才能刷，如果手機可以解鎖bootloaer，那你幹嘛還要用KingRoot？\n2. KingRoot唯一有用的場合 # 如上所述，古老的手機（Android 5以下）可以嘗試用KingRoot一鍵Root。\n還有不允許解鎖bootloader的手機，例如部分Sony 、華為、小米、Oppo等品牌，可以用KingRoot嘗試取得Root權限。\n但說實話，你本就不應該買不尊重消費者權利的手機。現在你知道有手機廠商連bootloader都不給解鎖了，就算是Android機的老大Samsung和Google都不太這麼做呢。\n這可是侵犯消費者執行自由軟體權利的舉動。下次不要再買該品牌的手機了。\n","date":"2023年11月18日","externalUrl":null,"permalink":"/posts/kingroot-is-a-malware/","section":"所有文章","summary":"Read this article in English\nKingRoot（或稱KingoRoot、Root大師），是中國開發者推出的一鍵Root工具，宣稱只要安裝APP便可取得Android Root權限。\n然而在國內外的刷機玩家圈子內，Kingroot普遍被認為是惡意軟體。\n是的，KingRoot並非主流的Root方法，現在2023年常見的Root方法是刷Magisk。\n下面將比較Magisk vs KingRoot，探討前者比較好的理由，解釋為何不要用KingRoot。\n1. 為何Magisk比KingRoot好 # 1.1.安全性 # Magisk約在2016年出現，是台灣人topjohnwu開發的開源軟體，基於SuperSU研發。Magisk永遠免費，不蒐集資料，現在仍在積極更新中。\nMagisk原始碼位於Github，任何人都可以檢查背後程式做了什麼事。\nKingRoot約在2013年出現，是中國人開發的閉源軟體，提供手機與PC版。\n根據百度百科引用的相關報導，KingRoot可以靠漏洞root許多手機…但是！那些手機都是10年前的，KingRoot利用的漏洞到Android 5以後就基本沒用了。 更誇張的是，KingRoot現在「官網」有好幾個，根本不知道哪個是真的。網路流傳的KingRoot APP可能已經不是原作者發表，有的會要求存取手機地理位置，你不知道它背後蒐集了什麼資料，可能還會推送廣告，甚至有病毒。 ","title":"KingRoot是惡意軟體，不要用一鍵工具來root手機","type":"posts"},{"content":"Windows 11提供WSL2的技術，能在Windows系統跑Linux環境，用於開發程式，或者跑Linux的圖形程式。\n除了Ubuntu外，不少Linux發行版也支援WSL2了，例如Fedora、openSUSE、Arch Linux、Debian、CentOS。\nWSL預設安裝發行版為Ubuntu。但若是\u0026hellip;\n你想要Ubuntu以外Linux發行版的套件呢？ 你想要為每個專案建立隔離的Linux環境呢？ 你想要用同一個Linux發行版安裝多重環境呢？ 你應該安裝多個WSL實例(instances)，還是使用Docker容器解決方案呢？本文我將採用後者的作法，搭配「Distrobox」建立多個Linux發行版的容器環境。 1. WSL跑Distrobox的理由 # 我的想法是，如果我「個別」安裝多個Linux發行版的wsl容器，則檔案總管會變這樣醜醜的。 且以WSL目前的設計來說，要建立同個發行版的多重環境是得手動匯入的，不如使用Docker方便。\n此外我還有一個考量，那就是WSL安裝的圖形程式(如Firefox)，Windows會在WSL執行時把它加到開始選單。但我不想什麼程式都往外跑啊!\n如果我只是臨時想要特定發行版的套件，那用Docker/Podman容器可以做到了。容器技術可以無限複製多個Linux的環境。\n參考WSL架構圖，我們在WSL跑Linux，然後再於裡面跑Docker，Docker裡面再裝Linux程式。這樣等於是容器中有容器的概念。 圖源:Microsoft\n我們甚至可以用Distrobox簡化建立容器的程序。Distrobox是方便建立多重Linux容器的前端工具，可以用Docker或Podman當後端。\n好處是我只要保留一個WSL Ubuntu當做Linux的載體，剩下的Linux環境跑在容器裡面，家目錄可以指定統一塞在Ubuntu的家目錄。 Distrobox建立的發行版容器並不會跑到Windows外面，就算圖形程式也一樣。我可以在需要的時候才開啟Linux容器，並在我要的情況下才把容器內的程式加到Windows開始選單。 此外，Distrobox支援更多發行版。只要Docker Hub有提供映像檔，就算是遠古版本的CentOS 6也裝給你看。\n不過還請注意Distrobox比較適合跑在真的Linux系統上。WSL本身就有虛擬化的成份。如果用Distrobox跑圖形程式遇到問題，Windows會比Linux更難以解決。\n2. 在WSL安裝Distrobox # 使用Windows 11電腦安裝WSL2 Ubuntu\n登入WSL2\nwsl --distribution Ubuntu --user user 安裝Docker當作Distrobox後端。\n安裝DistroBox套件。Ubuntu 22.04沒有人打包，所以採用指令稿安裝方式\ncurl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh 3. Distrobox的使用方法 # 詳細Distrobox用法請看這篇。\n首先解決path /tmp is mounted on / but it is not a shared or slave mount錯誤: sudo mount --make-shared / 建立最新Fedora的容器，指定專屬家目錄 distrobox create --name fedora --image fedora --home ~/distrobox/fedora 進入Fedora環境 distrobox enter fedora 接著便可使用dnf指令安裝套件，例如Firefox sudo dnf install firefox 4. VSCode連線到Distrobox的容器 # Distrobox建立的跟一般Docker容器無異，是可以用VSCode連線的。\n參考:Developing in WSL\n在Windows端安裝VSCode\n開啟VSCode，安裝WSL與Docker延伸模組\n登入WSL，在Ubuntu啟動code server\ncode . 如此一來Distrobox的容器便會出現在VSCode的列表 3. 容器內跑Linux圖形程式 # 跟一般WSLg的程式一樣，Distrobox容器內的程式只要從終端機輸入執行檔名稱即可啟動\n例如輸入firefox即會開一個新視窗。 將Distrobox內的程式加到開始選單 # 要從Windows的開始選單存取Distrobox內的圖形程式，在容器內使用distrobox-export指令匯出: # 在容器內執行 distrobox-export --app firefox # 如果需要額外環境變數的改用這個，他會匯出一個指令稿 distrobox export --bin /usr/bin/firefox 登出容器，回到WSL Ubuntu exit 將Distrobox建立的Desktop Entry移動到Windows會讀取的路徑 sudo mv ~/.local/share/applications/fedora-firefox.desktop /usr/share/applications 如此一來Windows的開始選單就會出現Firefox (on Feodra) (Ubuntu)的圖示 GPU加速問題 # 儘管WSL的Ubuntu有GPU硬體加速(DirectX \u0026lt;-\u0026gt; Mesa)，但Docker容器裡面吃不到硬體加速，會變成llvmpipe軟體渲染。\n如何確認?用glxinfo | grep OpenGL指令 (需要安裝mesa-utils套件)\n看輸出結果即知道，如果有硬體加速，renderer string便是d3d(上)，沒有的話就是llvmpipe(下) 此時有二種解法:\n使用支援WSLg的發行版映像檔，設定環境變數指定使用WSLg\n使用VirGL伺服器，參見在WSL跑virglrenderer\n4. 容器內跑桌面環境 # Distrobox試驗性支援跑桌面環境，包括GNOME、KDE Plasma、XFCE等。\n承上面圖形程式的做法，參考Distrobox跑桌面環境\n","date":"2023年11月18日","externalUrl":null,"permalink":"/posts/distrobox-on-wsl/","section":"所有文章","summary":"Windows 11提供WSL2的技術，能在Windows系統跑Linux環境，用於開發程式，或者跑Linux的圖形程式。\n除了Ubuntu外，不少Linux發行版也支援WSL2了，例如Fedora、openSUSE、Arch Linux、Debian、CentOS。\nWSL預設安裝發行版為Ubuntu。但若是…\n你想要Ubuntu以外Linux發行版的套件呢？ 你想要為每個專案建立隔離的Linux環境呢？ 你想要用同一個Linux發行版安裝多重環境呢？ 你應該安裝多個WSL實例(instances)，還是使用Docker容器解決方案呢？本文我將採用後者的作法，搭配「Distrobox」建立多個Linux發行版的容器環境。 1. WSL跑Distrobox的理由 # 我的想法是，如果我「個別」安裝多個Linux發行版的wsl容器，則檔案總管會變這樣醜醜的。 且以WSL目前的設計來說，要建立同個發行版的多重環境是得手動匯入的，不如使用Docker方便。\n此外我還有一個考量，那就是WSL安裝的圖形程式(如Firefox)，Windows會在WSL執行時把它加到開始選單。但我不想什麼程式都往外跑啊!\n","title":"不只Ubuntu！Windows WSL用Distrobox裝多重Linux容器","type":"posts"},{"content":"註解：本文僅是一個概念驗證，WSL已經有自己更好的硬體加速做法(WSLg環境變數)\nWSL支援硬體加速，登入WSL後啟動Linux圖形程式，可以用Windows的顯示卡渲染。\n但是若在WSL裡面跑Docker容器是吃不到顯示卡加速的。OpenGL圖形效能低落。 這個時候可以採用virglrenderer的方法。\nvirglrenderer在真正的Linux系統上可以做到給QEMU/KVM虛擬機GPU加速的效果。例如Ubuntu跑Fedora虛擬機，在同一個畫面操作的時候，Fedora虛擬機的視窗可以吃到virglrenderer的硬體加速，讓畫面更流暢。\n那麼我們只要在有硬體加速的WSL跑virgl server，容器裡的程式就吃得到硬體加速了。 登入WSL Ubuntu 22.04 wsl 安裝virglrenderer sudo apt install libvirglrenderer-dev libvirglrenderer1 virgl-server 啟動virglrednerer伺服器 virgl_test_server --use-egl-surfaceless \u0026amp; 進入Docker容器shell。例如我這裡是用Distrobox安裝的Fedora distrobox enter fedora 安裝virglrenderer、Firefox sudo dnf install virglrenderer firefox 使用GALLIUM_DRIVER=virpie firefox啟動Firefox\n並在about:config強制啟用WebGL，即可看見硬體加速成效。\n不過GALIIUM_DRIVER=virpipe glxinfo無法讀取顯卡裝置。\n參考資料\nWhat is VirGL - The Mesa 3D Graphics Library Headless GPU Server 上启用Virgl实现虚机图形加速 ","date":"2023年11月17日","externalUrl":null,"permalink":"/posts/virglrenderer-on-wsl/","section":"所有文章","summary":"註解：本文僅是一個概念驗證，WSL已經有自己更好的硬體加速做法(WSLg環境變數)\nWSL支援硬體加速，登入WSL後啟動Linux圖形程式，可以用Windows的顯示卡渲染。\n但是若在WSL裡面跑Docker容器是吃不到顯示卡加速的。OpenGL圖形效能低落。 這個時候可以採用virglrenderer的方法。\nvirglrenderer在真正的Linux系統上可以做到給QEMU/KVM虛擬機GPU加速的效果。例如Ubuntu跑Fedora虛擬機，在同一個畫面操作的時候，Fedora虛擬機的視窗可以吃到virglrenderer的硬體加速，讓畫面更流暢。\n那麼我們只要在有硬體加速的WSL跑virgl server，容器裡的程式就吃得到硬體加速了。 登入WSL Ubuntu 22.04 wsl 安裝virglrenderer sudo apt install libvirglrenderer-dev libvirglrenderer1 virgl-server 啟動virglrednerer伺服器 virgl_test_server --use-egl-surfaceless \u0026 進入Docker容器shell。例如我這裡是用Distrobox安裝的Fedora distrobox enter fedora 安裝virglrenderer、Firefox sudo dnf install virglrenderer firefox 使用GALLIUM_DRIVER=virpie firefox啟動Firefox\n並在about:config強制啟用WebGL，即可看見硬體加速成效。\n不過GALIIUM_DRIVER=virpipe glxinfo無法讀取顯卡裝置。\n","title":"WSL Docker的GPU硬體加速：virglrenderer","type":"posts"},{"content":"問題點:WSL Ubuntu跑圖形程式支援使用Winodws GPU加速，WSLg會把Mesa轉譯成DirectX的指令。\n可一到Docker容器內就不行了，變成llvmpipe CPU渲染。 此時，只要設定正確的環境變數，還有使用支援WGLg的發行版映像檔，即可讓Docker容器使用Windows的GPU加速。\n登入WSL Ubuntu wsl 我這裡使用環境變數MESA_D3D12_DEFAULT_ADAPTER_NAME，指定使用Intel GPU驅動 (如果你是Nvidia要記得安裝Nvidia WSL驅動，並將下面字串改為NVIDIA) export MESA_D3D12_DEFAULT_ADAPTER_NAME=Intel 跑Docker容器。此處必須使用Debian Stable或者Ubuntu LTS容器。方能掛載WSLg的函式庫轉譯。 docker run \\ --device /dev/dxg \\ --device /dev/dri/card0 \\ --device /dev/dri/renderD128 \\ --env DISPLAY=$DISPLAY \\ --env WAYLAND_DISPLAY=$WAYLAND_DISPLAY \\ --env XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR \\ --env PULSE_SERVER=$PULSE_SERVER \\ --volume /tmp/.X11-unix:/tmp/.X11-unix \\ --volume /mnt/wslg:/mnt/wslg \\ --volume /usr/lib/wsl:/usr/lib/wsl \\ --name debian \\ debian:latest 進入Debian容器的shell docker exec debian 在Debian內安裝以下套件 apt-get install \\ libxext-dev \\ libx11-dev \\ libglvnd-dev \\ libglx-dev \\ libgl1-mesa-dev \\ libgl1-mesa-glx \\ libgl1-mesa-dri \\ libegl1-mesa-dev \\ libgles2-mesa-dev \\ freeglut3-dev \\ mesa-utils \\ mesa-utils-extra 並設定環境變數 export LD_LIBRARY_PATH=/usr/lib/wsl/lib export LIBVA_DRIVER_NAME=d3d12 執行指令glxinfo | grep \u0026quot;OpenGL\u0026quot;，看容器是否成功認到Windows的GPU 現在你知道了必須使用支援的映像檔才能於Docker達成硬體加速。為此你可能需要用Dockerfile，修改專案，重新建置映像檔。\n參考資料\nWSL2 + Docker + OpenGL + NVIDIA not working (uses llvmpipe) - Github\n","date":"2023年11月17日","externalUrl":null,"permalink":"/posts/opengl-in-docker-on-wsl/","section":"所有文章","summary":"問題點:WSL Ubuntu跑圖形程式支援使用Winodws GPU加速，WSLg會把Mesa轉譯成DirectX的指令。\n可一到Docker容器內就不行了，變成llvmpipe CPU渲染。 此時，只要設定正確的環境變數，還有使用支援WGLg的發行版映像檔，即可讓Docker容器使用Windows的GPU加速。\n登入WSL Ubuntu wsl 我這裡使用環境變數MESA_D3D12_DEFAULT_ADAPTER_NAME，指定使用Intel GPU驅動 (如果你是Nvidia要記得安裝Nvidia WSL驅動，並將下面字串改為NVIDIA) export MESA_D3D12_DEFAULT_ADAPTER_NAME=Intel 跑Docker容器。此處必須使用Debian Stable或者Ubuntu LTS容器。方能掛載WSLg的函式庫轉譯。 docker run \\ --device /dev/dxg \\ --device /dev/dri/card0 \\ --device /dev/dri/renderD128 \\ --env DISPLAY=$DISPLAY \\ --env WAYLAND_DISPLAY=$WAYLAND_DISPLAY \\ --env XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR \\ --env PULSE_SERVER=$PULSE_SERVER \\ --volume /tmp/.X11-unix:/tmp/.X11-unix \\ --volume /mnt/wslg:/mnt/wslg \\ --volume /usr/lib/wsl:/usr/lib/wsl \\ --name debian \\ debian:latest 進入Debian容器的shell docker exec debian 在Debian內安裝以下套件 apt-get install \\ libxext-dev \\ libx11-dev \\ libglvnd-dev \\ libglx-dev \\ libgl1-mesa-dev \\ libgl1-mesa-glx \\ libgl1-mesa-dri \\ libegl1-mesa-dev \\ libgles2-mesa-dev \\ freeglut3-dev \\ mesa-utils \\ mesa-utils-extra 並設定環境變數 export LD_LIBRARY_PATH=/usr/lib/wsl/lib export LIBVA_DRIVER_NAME=d3d12 執行指令glxinfo | grep \"OpenGL\"，看容器是否成功認到Windows的GPU 現在你知道了必須使用支援的映像檔才能於Docker達成硬體加速。為此你可能需要用Dockerfile，修改專案，重新建置映像檔。\n","title":"讓WSL Docker的OpenGL程式可以使用Windows GPU硬體加速","type":"posts"},{"content":"我有個夢想，就是在一個Linux桌面無縫體驗另一個桌面環境，而不需要虛擬機。\n比如在Arch Linux跑Fedora容器，體驗最新版GNOME或KDE，看看最新的界面長怎樣。\nDistrobox可以做到這點。儘管Distrobox能直接跑容器內的圖形程式，跑桌面環境有點多餘。\nDistrobox作者宣稱這是實驗性功能，他的作法是在容器裝桌面環境後，將Desktop Entry加到宿主機的Diaplay Manager，這樣登入時就可以進入容器內部。 但我不想這樣，因為得登出現有工作階段。我比較想要「一個螢幕二個桌面環境」，像是Microsoft WSLg一樣。\n我想到的辦法是用Weston或Xephyr跑nested session，如此便可二個桌面環境重疊。 Fedora GNOME on Arch Linux KDE\n1. 新增容器 # 選用Fedora的理由是他的套件很新，且還算穩定。\n想跑Ubuntu版GNOME的可以參考這篇的環境變數: 在 WSL2 中使用 Ubuntu 桌面環境\n在宿主機安裝Distrobox\n新增最新穩定版Fedora容器。為了避免容器內的桌面環境設定檔與目前的桌面衝突，所以建立獨立的家目錄。\ndistrobox create --name fedora-gnome --image fedora --home ~/distrobox/fedora-gnome distrobox enter fedora-gnome cd 登入後掛載必要目錄 sudo umount /run/systemd/system sudo rmdir /run/systemd/system sudo ln -s /run/host/run/systemd/system /run/systemd sudo mkdir /run/dbus sudo ln -s /run/host/run/dbus/system_bus_socket /run/dbus/ 安裝GNOME套件 sudo dnf install @gnome-desktop 2. 啟動桌面環境 # 開一個新的終端機，在宿主機安裝Xephyr sudo pacman -S xorg-server-xephyr 新增Xephyr視窗。-resizeable會導致黑螢幕所以不使用。 Xephyr -br -ac -noreset -screen 1280x720 :1 回到Distrobox的終端機，使用以下環境變數啟動GNOME X11工作階段（註：GNOME 50移除了X11支援。所以未來可能得改成其他桌面環境？） export XDG_CURRENT_DESKTOP=GNOME export XDG_CURRENT_DIR=GNOME export DISPLAY=:1 gnome-shell --x11 \u0026amp; Xephyr視窗就會出現GNOME了。 對桌面按右鍵，調整解析度讓視窗變小。\n理論上GNOME顯示應該只有容器內的程式才對，但有趣的是宿主機的Flatpak程式在容器內部也看得到。 有些程式可能無法從應用程式列表開啟，這時請從Distrobox的終端機啟動，看看錯誤訊息為何。\n3. 啟動其他桌面環境的作法 # 如果GNOME開不起來，可以嘗試其他桌面環境。\nFedora的KDE套件：@kde-desktop，啟動方法：startplasma-x11\nXFCE：@xfce-desktop-environment，啟動方法：startxfce4\nCinnamon：@cinnamon-desktop，啟動方法：cinammon-session\n","date":"2023年11月17日","externalUrl":null,"permalink":"/posts/distrobox-run-desktop/","section":"所有文章","summary":"我有個夢想，就是在一個Linux桌面無縫體驗另一個桌面環境，而不需要虛擬機。\n比如在Arch Linux跑Fedora容器，體驗最新版GNOME或KDE，看看最新的界面長怎樣。\nDistrobox可以做到這點。儘管Distrobox能直接跑容器內的圖形程式，跑桌面環境有點多餘。\nDistrobox作者宣稱這是實驗性功能，他的作法是在容器裝桌面環境後，將Desktop Entry加到宿主機的Diaplay Manager，這樣登入時就可以進入容器內部。 但我不想這樣，因為得登出現有工作階段。我比較想要「一個螢幕二個桌面環境」，像是Microsoft WSLg一樣。\n我想到的辦法是用Weston或Xephyr跑nested session，如此便可二個桌面環境重疊。 Fedora GNOME on Arch Linux KDE\n1. 新增容器 # 選用Fedora的理由是他的套件很新，且還算穩定。\n想跑Ubuntu版GNOME的可以參考這篇的環境變數: 在 WSL2 中使用 Ubuntu 桌面環境\n在宿主機安裝Distrobox\n新增最新穩定版Fedora容器。為了避免容器內的桌面環境設定檔與目前的桌面衝突，所以建立獨立的家目錄。\ndistrobox create --name fedora-gnome --image fedora --home ~/distrobox/fedora-gnome distrobox enter fedora-gnome cd 登入後掛載必要目錄 sudo umount /run/systemd/system sudo rmdir /run/systemd/system sudo ln -s /run/host/run/systemd/system /run/systemd sudo mkdir /run/dbus sudo ln -s /run/host/run/dbus/system_bus_socket /run/dbus/ 安裝GNOME套件 sudo dnf install @gnome-desktop 2. 啟動桌面環境 # 開一個新的終端機，在宿主機安裝Xephyr sudo pacman -S xorg-server-xephyr 新增Xephyr視窗。-resizeable會導致黑螢幕所以不使用。 Xephyr -br -ac -noreset -screen 1280x720 :1 回到Distrobox的終端機，使用以下環境變數啟動GNOME X11工作階段（註：GNOME 50移除了X11支援。所以未來可能得改成其他桌面環境？） export XDG_CURRENT_DESKTOP=GNOME export XDG_CURRENT_DIR=GNOME export DISPLAY=:1 gnome-shell --x11 \u0026 Xephyr視窗就會出現GNOME了。 對桌面按右鍵，調整解析度讓視窗變小。\n","title":"Distrobox使用例：Docker跑GNOME X11桌面環境","type":"posts"},{"content":"","date":"2023年11月16日","externalUrl":null,"permalink":"/ja-jp/tags/debootstrap/","section":"Tags","summary":"","title":"Debootstrap","type":"tags"},{"content":"","date":"2023年11月16日","externalUrl":null,"permalink":"/ja-jp/tags/qemu-user-mode/","section":"Tags","summary":"","title":"QEMU User Mode","type":"tags"},{"content":" Debian Wikiによると、debootstrapはwrapper scriptで、好みに合わせてDebianまたはUbuntuの最小rootfs（ルートファイルシステム）を生成できます。Linuxを一から自分で設定したい人に向いており、Arch Linuxのpacstrapのような方式でLinuxシステムをインストールできます。\nただし、ここでの私の目的はそれではありません。作成したrootfsをスマホへ移動し、chrootまたはTermux prootで使い、スマホ上でDebian環境を動かすことです。\n私はLinux PCでDebian rootfsを作成します。PCはx86_64アーキテクチャなので、PC上でARM64アーキテクチャのchroot環境に入るにはQEMUエミュレータが必要です。\nPCを使いたくない場合は、少し回り道してください。まずスマホにchroot Ubuntuをインストールし、その中にdebootstrapを入れてDebian rootfsを作成します。この方法ならQEMUによる変換は不要ですが、rootなしのTermux環境からは作成できません。\ndebootstrapパッケージをインストールします。これは大半のLinuxディストリビューションに収録されています。arch-linstall-scriptsを入れるのは、便利なarch-chrootスクリプトがあるためです。 sudo apt install debootstraparch-linstall-scripts x86アーキテクチャのPCでARMアーキテクチャのrootfsを作るには、 qemu-user-staticツールを使ってARM64命令セットをエミュレートする必要があります。 sudo apt install qemu-user-static binfmtサービスが起動していることを確認します。 sudo systemctl enable --now systemd-binfmt.service Debian rootfsディレクトリを作成します。 cd ~/Downloads mkdir debian Debian 12 Bookwormのrootfs作成を開始し、台湾のDebianサーバーからパッケージをダウンロードします。 sudo debootstrap --arch arm64 --components=main,universe bookworm debian12 http://ftp.tw.debian.org/debian/ インストール後、まずqemu-aarc64をrootfsへ入れます。これで命令が自動的に変換されます。 which qemu-aarch64 sudo cp /usr/bin/qemu-aarch64 debian/usr/bin chrootに入って初期設定を行います。arch-chrootを使う場合、/procなどを手動でマウントする必要はなく、すべて自動で処理されます。 sudo arch-chroot debian cat /etc/os-releaseでDebianシステムであることを確認します。 設定が終わったらchrootを終了します。\nexit rootfsをtar.gzに圧縮します。 sudo tar -zcpf debian.tar.gz debian/* ADBでAndroidスマホへ転送し、スマホ上で展開します。\nデスクトップ環境をインストールする手順は似ているので、ここでは繰り返しません。以下でコマンドを打つ手順も、先に上記のPC側で済ませておくことができます。\nスマホにroot権限がある場合はchroot Ubuntuを参照してください。\nroot権限がない場合は、Termux prootを参照してデスクトップ環境をインストールしてください。\n","date":"2023年11月16日","externalUrl":null,"permalink":"/ja-jp/posts/debootstrap-create-rootfs-for-android/","section":"Termux-Tutorials","summary":" Debian Wikiによると、debootstrapはwrapper scriptで、好みに合わせてDebianまたはUbuntuの最小rootfs（ルートファイルシステム）を生成できます。Linuxを一から自分で設定したい人に向いており、Arch Linuxのpacstrapのような方式でLinuxシステムをインストールできます。\nただし、ここでの私の目的はそれではありません。作成したrootfsをスマホへ移動し、chrootまたはTermux prootで使い、スマホ上でDebian環境を動かすことです。\n私はLinux PCでDebian rootfsを作成します。PCはx86_64アーキテクチャなので、PC上でARM64アーキテクチャのchroot環境に入るにはQEMUエミュレータが必要です。\nPCを使いたくない場合は、少し回り道してください。まずスマホにchroot Ubuntuをインストールし、その中にdebootstrapを入れてDebian rootfsを作成します。この方法ならQEMUによる変換は不要ですが、rootなしのTermux環境からは作成できません。\ndebootstrapパッケージをインストールします。これは大半のLinuxディストリビューションに収録されています。arch-linstall-scriptsを入れるのは、便利なarch-chrootスクリプトがあるためです。 sudo apt install debootstraparch-linstall-scripts x86アーキテクチャのPCでARMアーキテクチャのrootfsを作るには、 qemu-user-staticツールを使ってARM64命令セットをエミュレートする必要があります。 sudo apt install qemu-user-static binfmtサービスが起動していることを確認します。 sudo systemctl enable --now systemd-binfmt.service Debian rootfsディレクトリを作成します。 cd ~/Downloads mkdir debian Debian 12 Bookwormのrootfs作成を開始し、台湾のDebianサーバーからパッケージをダウンロードします。 sudo debootstrap --arch arm64 --components=main,universe bookworm debian12 http://ftp.tw.debian.org/debian/ インストール後、まずqemu-aarc64をrootfsへ入れます。これで命令が自動的に変換されます。 which qemu-aarch64 sudo cp /usr/bin/qemu-aarch64 debian/usr/bin chrootに入って初期設定を行います。arch-chrootを使う場合、/procなどを手動でマウントする必要はなく、すべて自動で処理されます。 sudo arch-chroot debian cat /etc/os-releaseでDebianシステムであることを確認します。 ","title":"x86環境のdebootstrapでARM版rootfsを作成し、Androidにchroot Debian環境をインストールする","type":"termux-tutorials"},{"content":" ARM64（Aarch64）のAndroidスマホで、Termux proot-distroを通してx86_64アーキテクチャのUbuntuシステムをエミュレート実行する方法を解説します。\n1. 説明 # 「Androidデバイスの大半はARM64アーキテクチャなのだから、ARM版Ubuntuを入れればいいのでは？」と思うかもしれません。しかし、世の中には厄介なプログラムもあり、ARM向けにコンパイルされていないものがあります。\nそこでx86アーキテクチャのプログラムを無理やり動かす道として、選択肢は3つあります。\nARM64のシステムを動かし、Box64トランスレーターをインストールする qemu-systemで完全なx86_64エミュレーターを起動する。例：Ubuntu x86_64 + QEMU仮想マシン qemu-userでx86_64のシステムをエミュレート実行する qemu-systemが動かすのは仮想マシンで、完全なハードウェアデバイスをエミュレートし、Linuxを本物のPC上で動いているように実行できます。もちろん、かなりのリソースを消費します。\n一方qemu-userはuserspaceのエミュレーターで、ARM64デバイス上でx86実行ファイルをエミュレート実行できます。しかも仮想マシン全体のリソースを使う必要はありません。\nQEMUは多くのアーキテクチャのエミュレーションに対応しています。x86_64以外にも、32ビットx86やRISC-Vなどをエミュレートすることも可能です。\nTermuxではrootfsさえあればLinuxシステムを起動できるので、qemu-systemによる仮想マシンエミュレーションを使う必要はありません。\nproot-distroツールにはqemuサポートが組み込まれています。この記事では、proot-distroツールとqemu-userを組み合わせ、x86_64のシステムを動かす方法を扱います。\nエミュレーションなので、プログラムの実行速度は当然ネイティブより遅くなります。さらにprootの性能損失も加わるため、もっと遅くなります。記事の最後では、Prootネイティブ、Box64、qemu-userの速度を比較します。\n2. テスト環境 # スマホ：Sony Xperia 10 V、Android 13 Linuxカーネルバージョン：5.4 Termuxバージョン：0.118.0 qemu-userバージョン：8.1.0 Ubuntuバージョン：20.04（Ubuntu 22.04ではapt pub_keyをインポートできない問題に遭遇します） 3. x86_64アーキテクチャのproot Ubuntuを作成する # proot-distroにカスタムrootfsを追加するを参考に、Ubuntu 20.04_x86_64.shのスクリプトを追加します。ただし、ここでは内容を少し変更します。 vim $PREFIX/etc/proot-distro/ubuntu20.04_x86_64.sh 次のように変更します # アーキテクチャをx86_64に指定 DISTRO_ARCH=x86_64 DISTRO_NAME=\u0026#34;Ubuntu20.04 x86_64\u0026#34; DISTRO_COMMENT=\u0026#34;Ubuntu 20.04 Focal x86_64\u0026#34; TARBALL_STRIP_OPT=0 # x86_64アーキテクチャのUbuntu baseをダウンロード TARBALL_URL[\u0026#39;x86_64\u0026#39;]=\u0026#34;https://cdimage.ubuntu.com/ubuntu-base/focal/daily/current/focal-base-amd64.tar.gz\u0026#34; TARBALL_SHA256[\u0026#39;x86_64\u0026#39;]=\u0026#34;16c831cc71b8ab79e5156451558df4a025783ba335047f6343518e7225416929\u0026#34; qemu-user-x86-64をインストールします pkg install qemu-user-x86-64 Ubuntuをインストールします proot-distro install ubuntu20.04_x86_64 Ubuntuにログインします。proot-distroが自動的にQEMUを使って実行します。 proot-distro login ubuntu20.04_x86_64 uname -aコマンドで、アーキテクチャがx86_64になっていることを確認できます。Exec format errorは出ません。 パッケージのインストール時にsignal 11 Segmentfaultエラーが出た場合は、dpkg --configure -aを一度実行すればOKです。\n4. ネイティブ実行とエミュレート実行の速度を比較する # 説明：下表のqemu-userはこの記事の方法を指します。\nnativeは、proot Ubuntuにインストールされたarm64アーキテクチャの実行ファイルを表します。\nBox64は、proot Ubuntuでbox64コマンドを使い、x86_64アーキテクチャの実行ファイルを変換して実行することを表します。\n7zで133MBのzipファイルを展開し、timeで完了までの時間を測ります。\n方法 qemu-user native Box64 完了時間（秒） 5.895 2.064 2.141 上の結果を見ると、速度はnative \u0026gt; Box64 \u0026gt; qemu-userです。\n5. 結論 # qemu-userはやはりBox64より遅いです。\nqemu-userを使うメリットは、Linuxシステム全体をエミュレートできる一方で、qemu-systemほどリソースを消費しないことです。\nBox64方式の場合、ユーザーはAPTからx86_64アーキテクチャのパッケージをインストールできませんが、qemu-userなら可能です。また、qemu-userではunknown system callエラーも比較的少なめです。\nARM64アーキテクチャのシステムにBox64を組み合わせる方法は、たまにx86_64プログラムを動かす用途に向いています。ただし、そのプログラムがlibcや特定のライブラリに大きく依存していないことが前提です（Box64はsystem callを一つずつ実装する必要があります）。\nqemu-userでは基本的にこの問題がないため、x86プログラムのエミュレーションを主目的にする場合に向いています。\nとはいえ、qemu-userでも時々Segmentfaultエラーが出るため、グラフィカル環境のパッケージをインストールできないことがあります。\n6. 参考資料 # QEMU User space emulator Box86/Box64 vs QEMU vs FEX ","date":"2023年11月16日","externalUrl":null,"permalink":"/ja-jp/posts/termux-proot-distro-qemu-emulation/","section":"Termux-Tutorials","summary":" ARM64（Aarch64）のAndroidスマホで、Termux proot-distroを通してx86_64アーキテクチャのUbuntuシステムをエミュレート実行する方法を解説します。\n1. 説明 # 「Androidデバイスの大半はARM64アーキテクチャなのだから、ARM版Ubuntuを入れればいいのでは？」と思うかもしれません。しかし、世の中には厄介なプログラムもあり、ARM向けにコンパイルされていないものがあります。\nそこでx86アーキテクチャのプログラムを無理やり動かす道として、選択肢は3つあります。\nARM64のシステムを動かし、Box64トランスレーターをインストールする qemu-systemで完全なx86_64エミュレーターを起動する。例：Ubuntu x86_64 + QEMU仮想マシン qemu-userでx86_64のシステムをエミュレート実行する qemu-systemが動かすのは仮想マシンで、完全なハードウェアデバイスをエミュレートし、Linuxを本物のPC上で動いているように実行できます。もちろん、かなりのリソースを消費します。\n一方qemu-userはuserspaceのエミュレーターで、ARM64デバイス上でx86実行ファイルをエミュレート実行できます。しかも仮想マシン全体のリソースを使う必要はありません。\n","title":"Termux qemu-userでARM64 Android上にx86_64 Ubuntuをエミュレート実行する","type":"termux-tutorials"},{"content":" この記事では、Android Termuxのproot-distroツールに、自分の好きなLinuxディストリビューションを追加する方法を示します。\nUbuntuを例に、古いバージョンのUbuntu 22.04 LTSのproot Ubuntuをインストールします。\n1. proot vs proot-distro # prootはchrootのuserspace実装版で、root権限なしでchrootに似た機能を実現できます。\n一部の開発者は、Termuxのprootディストリビューションを配布するときに、prootコマンドを力技で使っています。たとえばBox64Droidを見ると、カスタムrootfsをダウンロードし、長いコマンド列でprootディストリビューションへログインしていることがわかります。 しかし、便利なproot-distroスクリプトがあるのですから、活用しない手はありません。これはprootのwrapper scriptで、prootディストリビューションのダウンロード、ログイン、ログアウトの手順を統合し、コマンド実行も便利にしてくれます。\n私はproot-distro使用チュートリアルで使い方を説明しました。ただし、proot-distroのメンテナーが提供するディストリビューションが要件に合わない場合はどうするのでしょうか。たとえば次のようなケースです。\n特定のLinuxバージョンのrootfsが必要。たとえばLTS版Ubuntuが欲しいが、proot-distroのUbuntuは常に最新版である 特定アーキテクチャのrootfsが必要。たとえば32ビットx86アーキテクチャのManjaro ARM64デバイスでx86_64のシステムを実行したい 幸い、proot-distroではprootディストリビューションを「登録」できます。自分のrootfsを追加して、proot-disroコマンドで操作できます。\n2. カスタムLinux rootfsを構築する方法 # 多くのディストリビューションには、それぞれrootfsを構築するためのツールがあります。Termuxに収録されているdebootstrapのようなパッケージは権限問題が起きる可能性があるため、Linux PCでrootfsを作成してからスマホへ移動するほうが安全です。\nUbuntu：debootstrapまたは自動ビルドされたrootfsをダウンロード Debian：debootstrap Fedora：supermin openSUSE：自動ビルドされたrootfsをダウンロード Alpine：Bootstrapping Alpine Linux Arch：pacstrap Manjaro：pacstrap Void：Installation via chroot proot-distro作者のスクリプトを参照して、カスタムrootfsの作り方を理解することもできます。\n3. 新しいUbuntu proot-distroを登録する # Termuxを開き、proot-distroをインストールします pkg install proot-distro Ubuntu daily buildsへ行き、Ubuntu base 22.04のURLをコピーします。これは最小構成のシステムです。\n一時的にTermuxのホームディレクトリへダウンロードします\npkg install wget wget https://cdimage.ubuntu.com/ubuntu-base/releases/22.04/release/ubuntu-base-22.04.3-base-arm64.tar.gz SHA256チェックサムを計算し、その後削除します pkg install coreutils sha256sum ubuntu-base-22.04.3-base-arm64.tar.gz rm ubuntu-base-22.04.3-base-arm64.tar.gz prootスクリプトを保存する$PREFIX/etc/proot-distroへ移動し、テンプレートスクリプトをコピーしてubuntu22.04.shという名前にします cd $PREFIX/etc/proot-distro cp distro.sh.sample ubuntu22.04.sh 編集します vim ubuntu22.04.sh 以下の内容を追加します。原文のコメントは省略しています。 # アーキテクチャはスマホのプロセッサアーキテクチャと一致させる DISTRO_ARCH=aarch64 # ディストリビューションの表示名 DISTRO_NAME=\u0026#34;Ubuntu 22.04 LTS\u0026#34; # コメント DISTRO_COMMENT=\u0026#34;Ubuntu 22.04 LTS Jammy Jellyfish\u0026#34; # 圧縮ファイル内のディレクトリ階層の深さ。デフォルトは1で、rootディレクトリを無視する。ただしUbuntu baseは展開後そのままファイルシステムになるため、ここでは0にする TARBALL_STRIP_OPT=0 # 配列の各アーキテクチャにrootfsのURLを1つ対応させる。rootfsを自分のGithubへアップロードしてもよい TARBALL_URL[\u0026#39;aarch64\u0026#39;]=\u0026#34;https://cdimage.ubuntu.com/ubuntu-base/releases/22.04/release/ubuntu-base-22.04.3-base-arm64.tar.gz\u0026#34; # 圧縮ファイルのSHA256チェックサムを入力する TARBALL_SHA256[\u0026#39;aarch64\u0026#39;]=\u0026#34;bdae94b05d0fca7decbe164010af2ac1b772a9dda21ed9fb5552b5674ad634a3\u0026#34; # インストール後に実行するコマンド distro_setup() { run_proot_cmd touch /etc/hello-world } proot-distro listを試しに実行すると、先ほど追加したUbuntu 22.04 LTSがリストに表示されます Ubuntu 22.04 LTSをインストールしてみます。proot-distroが権限問題を自動で修正します\nproot-distro install ubuntu22.04 ログインします proot-distro login ubuntu22.04 cat /etc/os-releaseで確認し、表示されるバージョンがUbuntu 22.04であることを確かめます。あとはproot Ubuntuのインストールチュートリアルを参照すれば、完全なシステムとしてインストールできます。 ","date":"2023年11月16日","externalUrl":null,"permalink":"/ja-jp/posts/termux-proot-distro-add-custom-distro/","section":"Termux-Tutorials","summary":" この記事では、Android Termuxのproot-distroツールに、自分の好きなLinuxディストリビューションを追加する方法を示します。\nUbuntuを例に、古いバージョンのUbuntu 22.04 LTSのproot Ubuntuをインストールします。\n1. proot vs proot-distro # prootはchrootのuserspace実装版で、root権限なしでchrootに似た機能を実現できます。\n一部の開発者は、Termuxのprootディストリビューションを配布するときに、prootコマンドを力技で使っています。たとえばBox64Droidを見ると、カスタムrootfsをダウンロードし、長いコマンド列でprootディストリビューションへログインしていることがわかります。 しかし、便利なproot-distroスクリプトがあるのですから、活用しない手はありません。これはprootのwrapper scriptで、prootディストリビューションのダウンロード、ログイン、ログアウトの手順を統合し、コマンド実行も便利にしてくれます。\n私はproot-distro使用チュートリアルで使い方を説明しました。ただし、proot-distroのメンテナーが提供するディストリビューションが要件に合わない場合はどうするのでしょうか。たとえば次のようなケースです。\n特定のLinuxバージョンのrootfsが必要。たとえばLTS版Ubuntuが欲しいが、proot-distroのUbuntuは常に最新版である 特定アーキテクチャのrootfsが必要。たとえば32ビットx86アーキテクチャのManjaro ARM64デバイスでx86_64のシステムを実行したい 幸い、proot-distroではprootディストリビューションを「登録」できます。自分のrootfsを追加して、proot-disroコマンドで操作できます。\n","title":"Termux proot-distroでカスタムrootfsを使い、Linuxコンテナを作成する","type":"termux-tutorials"},{"content":" この記事では、proot-distroでLinuxディストリビューションをインストールする方法を説明する。\nTermuxはターミナルエミュレーターとして、Root権限なしでproot-distroツールを使い、スマートフォン上にLinuxディストリビューションをインストールできる。\nたとえばUbuntu、Arch Linux、Alpine Linux、Fedora、Debian、openSUSEなどをインストールできる。 Sony Xperia 5 IIでDebian 11システムを実行\nproot-distroでインストールしたLinuxディストリビューションはテキストインターフェイスのみで、グラフィカルインターフェイスは自分で設定する必要がある。\n面倒だと感じる場合は、記事末尾に載せた自動化スクリプトを参照してほしい。\n1. proot \u0026amp; proot-distroとは # PCのGNU/Linuxシステムでは、chrootコマンドを使って隔離されたLinux環境を作れる。これはcgroups以前からある、最初期のコンテナ概念だ。chrootコマンドで中へ切り替えると、まるで別のシステムに入ったように見える。たとえばUbuntuでdebootstrapを使ってDebian環境を作り、そのDebian環境を動かす、といった使い方だ。\nchrootは仮想マシンでもエミュレーターでもない。chrootコンテナ内部はホストとLinuxカーネルを共有し、多くのシステムリソースも共有するためだ。\n関連記事：Termux chroot Ubuntu\nしかしchrootには必ずroot権限が必要になる。AndroidのTermux端末には、その代替としてprootパッケージが収録されている。\nPRoot公式サイトの説明によると、prootはchrootのuserspace実装で、ptraceを使ってシステムコールをエミュレートし、bindやbinfmtなどの機能も含む。 ptraceを使う関係で、proot上のプログラム実行速度はchrootより必ず遅くなる。しかし、root権限なしでLinux環境を動かせるのが利点だ。\nchrootと同様に、prootはLinux rootfs（ルートファイルシステム）を用意し、Termuxから偽のLinuxカーネルを読み込ませることで、プログラムに本物のLinux環境で動いていると思わせる。\nただし、proot環境はあくまでコンテナであり、完全なLinuxシステムではない点に注意してほしい。\nなぜTermuxで直接コマンドを実行せず、prootを使うのか？Termux自体に収録されているパッケージは少ない。prootでLinuxシステムをインストールすれば、PC版Linuxのパッケージを活用して特定の目的を達成できる。たとえばTermuxにはずっと「Chromium」が収録されていないが、多くのLinuxディストリビューションでは提供されている。\nProot環境でPC向けソフトウェアを実行すること自体は、あまり問題にならない。GIMP、LibreOffice、Firefoxはいずれも正常に実行できる。ただし、systemctlのシステム管理コマンドは使えない。AndroidにはSystemdがなく、移植も難しいからだ。\nTermuxにはprootパッケージが収録されており、proot環境の設定に使える。prootでインストールしたLinuxディストリビューションを、ここでは「Proot Distro」と呼ぶ。\nprootで入れたLinuxディストリビューションは、せいぜい「コンテナ」(container)であり、仮想マシンのような完全なシステムではない。\nただし、「Proot Distro」と「proot-distro」を混同しないこと。後者はツール名だ。\nprootではLinuxシステムのrootfsを自分で用意する必要があり、コマンドも複雑だ。そのためTermuxはproot-distroというラッパースクリプト（wrapper script）を提供している。これはTermux公式がメンテナンスしているLinuxディストリビューションのrootfsを自動でインストールし、proot関連の環境問題も処理してくれるので、かなり使いやすい。\n2. proot-distroコマンドの使い方 # Termuxを開き、proot-distroパッケージをインストールする。 pkg install proot-distro 次のコマンドで、オンラインにどのディストリビューションがあるか確認する。 proot-distro list 現在はAlpine Linux、Arch Linux、Debian、Fedora、openSUSE、Ubuntu、Void Linux、Pardus Linuxがある。 Debianをインストールすると仮定して、次を実行する：\nproot-distro install debian ダウンロード後、システムへログインする： proot-distro login debian ログイン後はrootアカウントになる。apt updateを入力すれば、パッケージをインストールできるようになる。使い終わったらexitを入力してシステムから出る。\nProot-distroのグラフィカル環境と音声サーバーを続けて設定し、中国語化する場合は、Termux Proot Debianを参考に後続設定を行う。\n1つのLinuxディストリビューションにインストールできるrootfsは1つだけだ。同じディストリビューションを複数起動したい場合は、後述の「カスタムrootfs」を使う。\nprootシステムを削除するコマンド：\nproot-distro remove debian ダウンロード済みrootfsキャッシュを削除する：\nproot-distro clear-cache 3. proot-distroコマンド引数 # Github説明を参考に、proot-distro login debianコマンドの後ろで次の引数を使える。\n--：ログイン後にコマンドを実行する。たとえば下の--の後ろの内容は、prootへログインしてsshdを実行するものであり、proot-distroの引数ではない。\nproot-distro login debian -- /usr/bin/sshd --user：ログインするユーザー\n--fix-low-ports：低い番号のポートをリダイレクトする。prootの関係で、SSH daemonのように低い番号の22番ポートを使うプログラムでは問題が起きる。このオプションを使うと、SSHのポートは2022（つまりデフォルトポート＋2000）へリダイレクトされる。\n--isolated：/sdcard、/data/data/com.termuxをproot内部へマウントしない。\nproot-distroはデフォルトで、スマートフォンの内部ストレージをprootシステムの/sdcardディレクトリへbind mountする。つまり、proot Linuxシステム内でrm -rfを実行すると、スマートフォン側のファイルもまとめて削除できてしまう。\nさらにTermuxは自身のPATHもproot内部へマウントする。たとえばPythonコマンドを実行するとき、Termux側のバージョンが実行される可能性がある。このオプションを使えば、Pythonコマンド実行時にproot Linux内部のPythonを実行するよう保証できる。\n--termux-home：Termuxのホームディレクトリをproot Linux内部のホームディレクトリへマウントする。そのため、proot-distro内のユーザーのホームディレクトリはTermuxホームディレクトリと共有され、プログラムが生成したファイルはproot-distroの外へ出る。\n--shared-tmp：Termuxのtmpディレクトリをproot Linux内部のtmpへマウントする。\n--bind path:path：追加でマウントするパス。形式は\u0026lt;外部パス\u0026gt;:\u0026lt;Proot Linux内部パス\u0026gt;。\n--no-link2symlink：PRoot link2symlink拡張モジュールを無効化し、prootのハードリンクエミュレーション機能をオフにする。SELinuxがpermissiveまたは無効になっている場合のみ使用できる。\n--no-sysvipc：PRootのSystem V IPCエミュレーションを無効化する。クラッシュが発生した場合にのみ使う。\n--no-kill-on-exit：ログアウト時にすべてのプロセスを終了しない。\n4. proot-distroをバックアップする方法 # Termux Backup commandsではproot-distroはバックアップされないため、別途バックアップが必要だ。\n次のコマンドで、prootシステムを圧縮ファイルとしてスマートフォン内部ストレージへバックアップする。たとえばdebianのファイルをバックアップする場合： proot-distro backup --output storage/shared/debianbackup.tar.gz debian 次のコマンドでprootシステムを復元する： proot-distro restore debianbackup.tar.gz 5. proot-distroでカスタムLinux rootfsを使う # proot-distro custom rootfsを参照。\n6. proot-distroで異種アーキテクチャシステムをエミュレートする # proot-distroはqemu-userエミュレーターとの併用に対応している。たとえばARM64アーキテクチャのシステム上で、x86_64のLinuxシステムをエミュレートして実行できる。\nTermux proot-distro qemu-static rootfsを参照。\n付録：スクリプトでProot Distroを自動インストールする # Githubには、Linux＋グラフィカルインターフェイスのインストールをまとめて処理してくれる簡易スクリプトが多くある。通常はコピーして貼り付けるだけでよい。\nただし、それらの一部はproot-distroではなく、prootコマンドで直接インストールしている。そのため、そのディストリビューションは本記事で説明したproot-distroでは削除できない可能性がある。\nUdroid: Ubuntu Linux Andronix: Proot Ubuntu MFDGaming/ubuntu-in-termux tuanpham-dev/termux-ubuntu ","date":"2023年11月16日","externalUrl":null,"permalink":"/ja-jp/posts/termux-proot-distro/","section":"Termux-Tutorials","summary":" この記事では、proot-distroでLinuxディストリビューションをインストールする方法を説明する。\nTermuxはターミナルエミュレーターとして、Root権限なしでproot-distroツールを使い、スマートフォン上にLinuxディストリビューションをインストールできる。\nたとえばUbuntu、Arch Linux、Alpine Linux、Fedora、Debian、openSUSEなどをインストールできる。 Sony Xperia 5 IIでDebian 11システムを実行\nproot-distroでインストールしたLinuxディストリビューションはテキストインターフェイスのみで、グラフィカルインターフェイスは自分で設定する必要がある。\n面倒だと感じる場合は、記事末尾に載せた自動化スクリプトを参照してほしい。\n1. proot \u0026 proot-distroとは # PCのGNU/Linuxシステムでは、chrootコマンドを使って隔離されたLinux環境を作れる。これはcgroups以前からある、最初期のコンテナ概念だ。chrootコマンドで中へ切り替えると、まるで別のシステムに入ったように見える。たとえばUbuntuでdebootstrapを使ってDebian環境を作り、そのDebian環境を動かす、といった使い方だ。\nchrootは仮想マシンでもエミュレーターでもない。chrootコンテナ内部はホストとLinuxカーネルを共有し、多くのシステムリソースも共有するためだ。\n関連記事：Termux chroot Ubuntu\nしかしchrootには必ずroot権限が必要になる。AndroidのTermux端末には、その代替としてprootパッケージが収録されている。\nPRoot公式サイトの説明によると、prootはchrootのuserspace実装で、ptraceを使ってシステムコールをエミュレートし、bindやbinfmtなどの機能も含む。 ptraceを使う関係で、proot上のプログラム実行速度はchrootより必ず遅くなる。しかし、root権限なしでLinux環境を動かせるのが利点だ。\n","title":"AndroidスマートフォンにLinuxディストリビューションを入れる：Termux proot-distro使用方法","type":"termux-tutorials"},{"content":"Android手機的廣告無處不在，可能連本文都有廣告（吐舌）\n合適的廣告賞心悅目，過多的廣告影響使用者觀感，惡劣的廣告侵犯隱私，基於種種因素才在必要時將其擋掉。\n本文Ivon推薦幾個Android系統擋廣告(adblocker)的解決方案，大部分不需要Root權限就能搞定。\n以幾種常用情景，搭配適合的APP，只推薦 「開源」 且尊重隱私的APP給大家。這些APP不一定要全裝，自行挑合適的範圍使用。\n提醒：盡量不要下載不提供原始碼的「擋廣告APP」。因為唯有開放原始碼，才有自由使用軟體的權利，亦能免於暗中被二次剝削。\n另外要小心不要下載到仿冒品，例如NewPipe只有在F-Droid上架，Google Play是找不到的。下面部份連結會連到F-Droid，這是僅收錄開源APP的網站，安全性可受公評。\n1. 如何阻擋APP內的廣告 # APP內的廣告指的是應用程式或遊戲使用一半出現的廣告，比方說Line、Facebook的廣告。有些會強迫看完才能繼續，十分之惱人。\n1.1. Blokada和AdGuard # 阻擋APP廣告最簡單的方式是用DNS伺服器擋住。連線到某網站的時候都會有一個DNS伺服器負責找到的具體位址，於是這些APP只要阻擋廣告的網址，自然廣告就無法播放。\nAdGuard下載 Blokada下載 這二個APP概念很類似，都是以DNS擋廣告。安裝後按照APP指示開啟VPN，連線至他們的DNS伺服器，這樣APP內廣告大部分就出不來了。\n差別在於Blokada是本機DNS伺服器(v5是這樣，v6後變成AdGuard一樣的線上DNS伺服器，需要$$)，且可針對特定APP設定要不要擋廣告。\nAdGuard則有提供iOS和電腦版，要付費購買Pro版才能擋住全部手機上的廣告(預設只擋瀏覽器)，且AdGuard的擋廣告清單會自動更新這樣。\n這二個APP都可以自訂擋廣告規則。\n不過用DNS擋廣告可能會有網速變慢的問題(伺服器在國外)，此外DNS也無法擋住Youtube APP的廣告。\n1.2. AdAway # 【部份需要Root權限】\n下載AdAway AdAway預設模式需要root權限，原理是修改系統的/etc/hosts檔案達到擋廣告的目的。hosts檔案是作業系統連線前會優先查詢的檔案，按照裡面的IP與網址設定連上網站。只要把廣告的網址寫進該檔案讓系統找不到網址，就能阻止廣告載入。如果誤擋，只要編輯白名單和黑名單規則即可。\nhosts不依賴第三方伺服器，因此不影響網速，對APP和瀏覽器廣告都有效。AdAway改完hosts檔案後就能關掉，沒有額外的APP在背景執行和耗費電力。\n此外，AdAway有提供免root，以本機VPN擋廣告的方式，類似Blockada，不過效果不如改hosts好。\nAdAway無法擋Youtube APP的廣告，部份瀏覽器網頁的廣告也擋不住。\n1.3. 第三方客戶端 # 有些APP的廣告需要經過第三方客戶端處理才能擋住。\n比方說Reddit可以改用Infinity擋廣告\nTwitter改用Twidere X或Twitter ReVanced\nBilibili/NicoNico改用PipePipe\nYoutube擋廣告請見文末。\n中國的APP普遍都是流氓，且幾無第三方APP可用。要擋掉只能Root後用Xposed模組破解，很麻煩。\n2. 如何阻擋網頁廣告 # 網頁廣告指的是在瀏覽器(Chrome、Edge、Firefox)內看到的廣告，例如新聞網站的全螢幕廣告、Youtube的片頭廣告。\n有些廣告用DNS和hosts都擋不掉，就得靠瀏覽器主動去攔截了，那麼大家應該會想到電腦瀏覽器的擴充元件吧？知名的擋廣告擴充元件「uBlock Origin」在手機也可以用，uBlock Origin好處是對所有廣告格殺勿論，還能擋內容農場。這裡推薦一些適合的瀏覽器。\n2.1. Brave Browser # 下載Brave Browser 類似Google Chrome的開源瀏覽器，懶人擋廣告的好選擇。無需設定就會自動擋掉網頁廣告、Youtube廣告、追蹤器。但是無法裝擴充元件。\n另提供電腦板，可以同步密碼與瀏覽紀錄。\n2.2. Firefox # 下載Firefox 支持自由軟體的第一選擇，預設阻擋追蹤器保護隱私。手機版Firefox同樣能安裝擴充元件，並能與電腦版Firefox同步資料。\n下載後至uBlock Origin的商店頁面安裝擴充元件。可配合TamperMonkey進一步封鎖廣告。\n不喜歡Firefox過於商業化的經營模式的，尚有更自由的IceRaven、Mull、Fennec可選擇。\n2.3. Kiwi Browser # 下載Kiwi Browser 號稱是手機上的完整版Chrome，開放原始碼，能安裝許多Chrome電腦版的擴充元件，包含uBlock Origin，還可以配合TamperMonkey進一步封鎖廣告。\n無法同步Chrome書籤和歷史紀錄。\n下載後至uBlock Origin的Chrome商店頁面點選安裝擴充元件即可。\n註：作者說需要吃飯，所以Kiwi Browser首頁預設會開啟廣告。\n3. 如何阻擋Youtube APP的廣告 # Youtube APP的廣告不好擋，除了花錢買Premium外，換個APP最快。\n3.1. Youtube Revanced # 下載Youtube ReVanced。 破解官方Youtube APP而來，破解檔是開源的。\n使用起來跟官方APP無異。能擋廣告和背景播放，支援登入Google帳號。\n3.2. NewPipe # 下載NewPipe 沒有花里胡俏的功能，單純用來播放Youtube影片的APP，支援擋廣告、背景播放、下載影片，還能查詢Youtube Music的專輯。\n因為NewPipe保護使用者隱私的理念所致，NewPipe無法登入Google帳號同步資料，也不支援Chromecast。只能離線儲存與匯出播放清單。\n與NewPipe設計哲學類似的APP尚有InnerTune、LibreTube。\n3.3. 瀏覽器配合附加元件 # 安裝Firefox或Kiwi Browser。\n在附加元件列表搜尋「uBlock Origin」和「Video Background Play Fix」，這樣網頁版Youtube(https://m.youtube.com)就可以達到去廣告和背景播放的效果。 ","date":"2023年11月15日","externalUrl":null,"permalink":"/posts/android-adblock-apps/","section":"所有文章","summary":"Android手機的廣告無處不在，可能連本文都有廣告（吐舌）\n合適的廣告賞心悅目，過多的廣告影響使用者觀感，惡劣的廣告侵犯隱私，基於種種因素才在必要時將其擋掉。\n本文Ivon推薦幾個Android系統擋廣告(adblocker)的解決方案，大部分不需要Root權限就能搞定。\n以幾種常用情景，搭配適合的APP，只推薦 「開源」 且尊重隱私的APP給大家。這些APP不一定要全裝，自行挑合適的範圍使用。\n提醒：盡量不要下載不提供原始碼的「擋廣告APP」。因為唯有開放原始碼，才有自由使用軟體的權利，亦能免於暗中被二次剝削。\n另外要小心不要下載到仿冒品，例如NewPipe只有在F-Droid上架，Google Play是找不到的。下面部份連結會連到F-Droid，這是僅收錄開源APP的網站，安全性可受公評。\n1. 如何阻擋APP內的廣告 # APP內的廣告指的是應用程式或遊戲使用一半出現的廣告，比方說Line、Facebook的廣告。有些會強迫看完才能繼續，十分之惱人。\n1.1. Blokada和AdGuard # 阻擋APP廣告最簡單的方式是用DNS伺服器擋住。連線到某網站的時候都會有一個DNS伺服器負責找到的具體位址，於是這些APP只要阻擋廣告的網址，自然廣告就無法播放。\n","title":"Android手機擋廣告APP推薦，不需root權限","type":"posts"},{"content":"","date":"2023年11月15日","externalUrl":null,"permalink":"/tags/ublock-origin/","section":"標籤","summary":"","title":"UBlock Origin","type":"tags"},{"content":"English version\nKDE Connect爲跨平臺的檔案傳輸軟體，除了傳檔案外還可以控制電腦，詳細用法見此。\nKDE Connect預設需要Wifi才可以連線到其他裝置，但要是Wifi無法使用呢？\n比如，你想用KDE Connect APP的簡報筆功能控制電腦，但是二者的網路是分開的，電腦沒Wifi，手機熱點不能用，要如何連線？\n或者你想要手機拿起來就可以傳檔，不想再去連Wifi。\n以上問題，使用VPN就能解決。KDE Wiki推薦OpenVPN，我則是用虛擬區網軟體。\n安裝TailScale或ZeroTier。 如果電腦是你的就裝TailScale登入自己帳號。\n公用電腦可裝ZeroTier，只需要代碼就能將裝置匿名加入ZeroTier Network。\n讓手機和電腦連上虛擬區域網路\n參照KDE Wiki指示，開放防火牆讓KDE Connect通過\n開啓KDE Connect APP，點選用IP新增裝置 輸入電腦的虛擬區域IP連線 電腦上的TailScale或ZeroTier可以一直連著VPN，它不會干擾電腦對外連線。\n由於KDE Connect APP預設會一直掛在Android背景，日後只要開啓手機上的VPN，KDE Connect就會自動與電腦連線。 使用虛擬區網傳輸檔案，KDE Connect的速度取決於傳送方的網路上載速度。 ","date":"2023年11月15日","externalUrl":null,"permalink":"/posts/use-kde-connect-without-wifi/","section":"所有文章","summary":"English version\nKDE Connect爲跨平臺的檔案傳輸軟體，除了傳檔案外還可以控制電腦，詳細用法見此。\nKDE Connect預設需要Wifi才可以連線到其他裝置，但要是Wifi無法使用呢？\n比如，你想用KDE Connect APP的簡報筆功能控制電腦，但是二者的網路是分開的，電腦沒Wifi，手機熱點不能用，要如何連線？\n或者你想要手機拿起來就可以傳檔，不想再去連Wifi。\n以上問題，使用VPN就能解決。KDE Wiki推薦OpenVPN，我則是用虛擬區網軟體。\n安裝TailScale或ZeroTier。 如果電腦是你的就裝TailScale登入自己帳號。\n公用電腦可裝ZeroTier，只需要代碼就能將裝置匿名加入ZeroTier Network。\n讓手機和電腦連上虛擬區域網路\n參照KDE Wiki指示，開放防火牆讓KDE Connect通過\n開啓KDE Connect APP，點選用IP新增裝置 輸入電腦的虛擬區域IP連線 電腦上的TailScale或ZeroTier可以一直連著VPN，它不會干擾電腦對外連線。\n由於KDE Connect APP預設會一直掛在Android背景，日後只要開啓手機上的VPN，KDE Connect就會自動與電腦連線。 使用虛擬區網傳輸檔案，KDE Connect的速度取決於傳送方的網路上載速度。 ","title":"KDE Connect免Wifi的連線方法，手機無線控制電腦與傳檔案","type":"posts"},{"content":"","date":"2023年11月15日","externalUrl":null,"permalink":"/tags/zerotier/","section":"標籤","summary":"","title":"ZeroTier","type":"tags"},{"content":"中文版\nThe only open source, free, and multi-functional video editing APP for Android phones: Kdenlive in proot Linux in Termux. (What a exaggerated title) I like to use the open source Kdenlive to edit videos on Linux PC. Although its functions are not as good as Adobe Premiere, it can compete with the computer version of PowerDirector, which is enough to replace some functions of commercial software.\nAlthough KDE does not officially support it, it is feasible to run Kdenlive on Android without root permissions. It can directly import videos from Android and then output it.\nIt looks like this when running This article introduces how to run Kdenlive on Android phones/tablets.\n1. Why do I do this? # It\u0026rsquo;s an attempt to get rid of closed-source apps.\nIt seems silly to use a mobile device to edit videos, at least use a tablet instead. But when I was keen on making Minecraft PE modding videos 5 years ago, I often used mobile apps to edit videos, such as Xiaoying, KineMaster, Adobe Premiere, PowerDirector, etc. How convenient, after processing the video on your phone, you can upload it to YouTube channel.\nHowever, most of them are paid closed-source apps. If you use the free version, either the video quality will be compressed, or a bunch of ads will pop up and annoy you to death. When I wanted to get rid of the above closed source apps, I discovered a problem. Why is there no open source (FOSS) video editing APP? Even on Android?\nThis question is very complicated and has been asked by many people on Reddit. Look at the list of F-Droid open source apps I made, let alone video editing, open source photo editing APPs are only a few, not to mention the video editing apps which has high development cost. FOSS video editing apps are almost non-existent on Android. At present, the closest thing to an open source editing APP is Video Transcoder, which simply adjusts the time. That is all we got.\nWhat about web video editors? There are also not many open source ones, and I don’t want to be exploited by using close-sourced products from companies like Canva. I think we have to wait until ffmpeg.wasm matures before there is hope for web video editing!\nIn this case, we can only rely on the open source editing software on Linux. OpenShot is too basic. The video editors with lots of functions include Kdenlive, Blender, and Shotcut; those who master commandlines can use ffmpeg. Here I choose Kdenlive. Eh? This is obviously running a computer program! Why did you tell me it was an APP? Come on, the abbreviation of Application is also APP.\nBy the way, those who need open source photo editing software can also use the method described in this article to run GIMP, Inkscape, and Krita on Android.\n2. Install Kdenlive on Android # In order to run Kdenlive on Android, you need a mobile phone with a processor of Qualcomm Snapdragon 845 (or better) and minimum of 8GB RAM.\nKdenlive is available in the Termux repository, just install it directly. You can also log in to proot Debian and then install Kdenlive in it, but this will be slower.\nSetting Termux X11. Start XFCE4 desktop environment\nInstall Kdenlive:\npkg install kdenlive If you want to enable GPU acceleration, try to start Kdenlive with virpipe or zink, so that the video preview will be smoother. GALLIUM_DRIVER=virpipe kdenlive 3. Use Kdenlive on Android # Here is the simple tutorial I made\u0026hellip; sorry it is in Chinese (actually this video was shot in proot-distro) Termux will mount the phone\u0026rsquo;s internal storage to /storage/shared after running termux-setup-storage, so Kdenlive can directly import the video stored on the phone storage. You may need to use the Touchpad mode in Termux X11 for dragging the items, and adjust the Termux X11 screen scaling appropriately. Note if the scale is too large, Kdenlive will run out of the screen.\nConsider using custom Kdenlive workspace by postmarketOS community.\nOn a small screen, you can only simply edit clips and then type using the mobile keyboard. You can also type text on your mobile phone and then paste it to Linux. When outputting the video, select the software encoding Matroska-H264/AAC. Virgl has little effect here. The output path can be selected as /storage/shared, so that the output video will go directly to the internal storage of the Android.\nOn my mobile phone with Qualcomm Snapdragon 695 processor, it takes 10 minutes to outputs a 5-minute 1080p30 video. The phone will heat while outputing, so don\u0026rsquo;t forget to fan your phone.\n","date":"2023-11-14","externalUrl":null,"permalink":"/en-us/posts/termux-kdenlive/","section":"Termux-Tutorials","summary":"中文版\nThe only open source, free, and multi-functional video editing APP for Android phones: Kdenlive in proot Linux in Termux. (What a exaggerated title) I like to use the open source Kdenlive to edit videos on Linux PC. Although its functions are not as good as Adobe Premiere, it can compete with the computer version of PowerDirector, which is enough to replace some functions of commercial software.\nAlthough KDE does not officially support it, it is feasible to run Kdenlive on Android without root permissions. It can directly import videos from Android and then output it.\nIt looks like this when running This article introduces how to run Kdenlive on Android phones/tablets.\n1. Why do I do this? # It’s an attempt to get rid of closed-source apps.\nIt seems silly to use a mobile device to edit videos, at least use a tablet instead. But when I was keen on making Minecraft PE modding videos 5 years ago, I often used mobile apps to edit videos, such as Xiaoying, KineMaster, Adobe Premiere, PowerDirector, etc. How convenient, after processing the video on your phone, you can upload it to YouTube channel.\nHowever, most of them are paid closed-source apps. If you use the free version, either the video quality will be compressed, or a bunch of ads will pop up and annoy you to death. When I wanted to get rid of the above closed source apps, I discovered a problem. Why is there no open source (FOSS) video editing APP? Even on Android?\nThis question is very complicated and has been asked by many people on Reddit. Look at the list of F-Droid open source apps I made, let alone video editing, open source photo editing APPs are only a few, not to mention the video editing apps which has high development cost. FOSS video editing apps are almost non-existent on Android. At present, the closest thing to an open source editing APP is Video Transcoder, which simply adjusts the time. That is all we got.\nWhat about web video editors? There are also not many open source ones, and I don’t want to be exploited by using close-sourced products from companies like Canva. I think we have to wait until ffmpeg.wasm matures before there is hope for web video editing!\nIn this case, we can only rely on the open source editing software on Linux. OpenShot is too basic. The video editors with lots of functions include Kdenlive, Blender, and Shotcut; those who master commandlines can use ffmpeg. Here I choose Kdenlive. Eh? This is obviously running a computer program! Why did you tell me it was an APP? Come on, the abbreviation of Application is also APP.\nBy the way, those who need open source photo editing software can also use the method described in this article to run GIMP, Inkscape, and Krita on Android.\n","title":"I run Kdenlive on my phone because there is no FOSS video editing apps on Android","type":"termux-tutorials"},{"content":"English version\nAndroid手機唯一開源、免費、多功能的剪片APP：Kdenlive in proot Linux in Termux。(好誇張的標題) 在Linux電腦上我很愛用開源的Kdenlive剪影片，功能雖然比不上Adobe Premiere，卻能跟電腦版威力導演打的有來有回，足以取代商業付費軟體的一些功能。\n雖然KDE官方沒有說支援Android，但要用Android手機硬跑Kdenlive是可行的，能夠直接讀取手機的素材再輸出，不需root權限。\n跑起來大概像這樣 本文介紹Android手機/平板跑Kdenlive的方法。\n1. 為什麼我要這樣做 # 作為擺脫對閉源APP的嘗試。\n用手機剪輯影片似乎是很蠢的事，至少也要拿平板出來吧。但我5年前熱衷拍Minecraft PE模組影片的時候，就常常用手機APP編輯影片，比如小影、KineMaster、Adobe Premiere、威力導演等等。多方便啊，手機處理好影片就可以上傳到YouTube了。\n不過他們大部分是付費閉源APP，用免費版的要嘛畫質被壓爛，要嘛一堆廣告跳出來煩死你。 在我想擺脫以上閉源APP的時候發現了一個問題，為什麼沒有開源(FOSS)剪片APP的呢？即使是開源的Android也沒有？\n這個問題很是複雜，Reddit上也有很多人問。看看F-Droid開源列表，別說剪片了，開源照片編輯APP都只有個位數，更何況研發成本很高的影片剪輯APP。\n開源剪輯APP有多少？零個！ 其實是有啦，目前開源剪輯APP有Video Transcoder和Open Video Editor，然後趴，沒了。這些解決方案的功能過於簡單。\n那網頁影片剪輯呢？同樣沒多少開源的，我不想被Canvas那種公司削。我看要等ffmpeg.wasm成熟後網頁剪片才有希望吧！\n那麼我們只能求助電腦上的開源剪片軟體了，OpenShot太廢，功能比較多的選手有Kdenlive、Blender、Shotcut；指令大師可以用ffmpeg。在此我選擇慣用的Kdenlive。 欸？這明明就是跑電腦軟體！你怎麼跟我說是APP呢？拜託，Application的簡稱也是APP啊（轉真硬）。\n順帶一提，需要開源照片編輯軟體的也可以用本文講的方法跑GIMP、Inkscape、Krita。\n2. Android安裝Kdenlive # 建議手機處理器高通S845以上、RAM 8GB以上再跑Kdenlive。\nTermux套件庫已經有收Kdenlive，直接安裝就好。也可以登入proot Debian再裝Kdenlive，但這樣會比較慢。\n設定Termux X11，啟動XFCE4桌面環境\n從Termux套件庫安裝Kdenlive：\npkg install kdenlive 如果要啟用GPU加速，嘗試用virpipe或zink啟動Kdenlive，這樣預覽影片會順暢一點。 GALLIUM_DRIVER=virpipe kdenlive 3. Kdenlive手機剪輯操作 # 這裡有我拍的簡易入門操作（其實這部影片是在proot-distro裡面拍的） 如果你有執行過Termux的termux-setup-storage指令，手機內部儲存空間會掛載到~/storage/shared，所以Kdenlive可以直接讀取手機儲存的影片素材 Kdenlive要用Termux X11的模擬滑鼠(Touchpad)才方便操作，並適當調整Termux X11畫面縮放比例。但請注意如果把比例放太大，Kdenlive會跑出畫面外。\n考慮使用postmarketOS社群分享的自訂Kdenlive workspace配置，方便在直向模式操作。\n小螢幕下，只能簡單剪輯片段，再用手機鍵盤打打字。如果Linux端的Fcitx5無效，那麼就只能用手機打好字再貼上去。 輸出的時候選軟體編碼Matroska-H264/AAC，只能用CPU硬算。virgl的效果不大。 輸出路徑可以選擇/storage/shared，這樣輸出影片就會直接進到手機內部儲存空間。\n實測高通s695處理器輸出5分鐘的1080p30影片大約10分鐘，手機會變燙，記得吹電風扇。\n","date":"2023年11月14日","externalUrl":null,"permalink":"/posts/termux-kdenlive/","section":"所有文章","summary":"English version\nAndroid手機唯一開源、免費、多功能的剪片APP：Kdenlive in proot Linux in Termux。(好誇張的標題) 在Linux電腦上我很愛用開源的Kdenlive剪影片，功能雖然比不上Adobe Premiere，卻能跟電腦版威力導演打的有來有回，足以取代商業付費軟體的一些功能。\n雖然KDE官方沒有說支援Android，但要用Android手機硬跑Kdenlive是可行的，能夠直接讀取手機的素材再輸出，不需root權限。\n跑起來大概像這樣 本文介紹Android手機/平板跑Kdenlive的方法。\n1. 為什麼我要這樣做 # 作為擺脫對閉源APP的嘗試。\n用手機剪輯影片似乎是很蠢的事，至少也要拿平板出來吧。但我5年前熱衷拍Minecraft PE模組影片的時候，就常常用手機APP編輯影片，比如小影、KineMaster、Adobe Premiere、威力導演等等。多方便啊，手機處理好影片就可以上傳到YouTube了。\n不過他們大部分是付費閉源APP，用免費版的要嘛畫質被壓爛，要嘛一堆廣告跳出來煩死你。 在我想擺脫以上閉源APP的時候發現了一個問題，為什麼沒有開源(FOSS)剪片APP的呢？即使是開源的Android也沒有？\n","title":"因Android手機沒有開源免費的剪片APP，所以我選擇跑Kdenlive","type":"posts"},{"content":"This article describes how to run the code editor Visual Studio Code (VSCode) on Android system without root permissions. Developed by Microsoft, VSCode is a multifunctional code editor which supports a variety of programming languages ​​through many extensions. This could turning it into a small IDE.\nWhat we are gonna installed here is not the code-server, but the full code main program, which can install almost all extensions.\nSo you can manage git projects and develop web programs Or creating a Anaconda envrinonment to write a Python program Or even modify the Linux kernel source code of Android We will install the ARM64 version of Ubuntu environment through Termux, and then install VSCode in it.\n1. Set up Linux environment # It is recommended to use the phone or tablet that has RAM \u0026gt;= 8GB, storage space \u0026gt; 10 GB, and a processor of Qualcomm Snapdragon 845 or above. Ideally having an external keyboard and mouse connceted would be better.\nInstall Termux\nSet up Termux X11\nThen install a Linux distribution:\nproot Ubuntu or proot Debian: No need for root permissions, relatively slow. chroot Ubuntu: Requires root permissions, relatively fast. 2. Install Visual Studio Code # Go to Visual Studio Code official website to download the deb file of the ARM64 version. Use the apt command to install the deb file, followed by the path to the deb file. If you download it using the browser on Android, the path will become /sdcard/Download/code*.deb\nsudo apt install ~/Downloads/code*.deb After that, use vim to edit the Desktop Entry of VSCode vim /usr/share/applications/code.desktop Add --no-sandbox after the Exec= line Exec=/usr/bin/code --unity-launch %F --no-sandbox Click VSCode in the application list and try to start the program. If you want to see the error message, you can start it from the terminal:\ncode --verbose 3. Setting up the developing environment # I won’t go into details about the setup of developing environment here. There are many Ubuntu + VSCode tutorials on the Internet. Note that you should search for \u0026ldquo;Develop with VSCode on Ubuntu\u0026rdquo; rather than \u0026ldquo;Connect VSCode to remote Ubuntu for developing\u0026rdquo;\nYou could directly open terminal in the VSCode panel and execute commands there.\nFor example, if you want to compile C language programs, install GCC:\nsudo apt install build-essential If you want to have a Python Anaconda environment, you can refer to this article: Termux install Anaconda environment (miniforge)\n","date":"2023-11-13","externalUrl":null,"permalink":"/en-us/posts/visual-studio-code-termux/","section":"Termux-Tutorials","summary":"This article describes how to run the code editor Visual Studio Code (VSCode) on Android system without root permissions. Developed by Microsoft, VSCode is a multifunctional code editor which supports a variety of programming languages ​​through many extensions. This could turning it into a small IDE.\nWhat we are gonna installed here is not the code-server, but the full code main program, which can install almost all extensions.\nSo you can manage git projects and develop web programs Or creating a Anaconda envrinonment to write a Python program Or even modify the Linux kernel source code of Android We will install the ARM64 version of Ubuntu environment through Termux, and then install VSCode in it.\n1. Set up Linux environment # It is recommended to use the phone or tablet that has RAM \u003e= 8GB, storage space \u003e 10 GB, and a processor of Qualcomm Snapdragon 845 or above. Ideally having an external keyboard and mouse connceted would be better.\nInstall Termux\nSet up Termux X11\nThen install a Linux distribution:\nproot Ubuntu or proot Debian: No need for root permissions, relatively slow. chroot Ubuntu: Requires root permissions, relatively fast. 2. Install Visual Studio Code # Go to Visual Studio Code official website to download the deb file of the ARM64 version. Use the apt command to install the deb file, followed by the path to the deb file. If you download it using the browser on Android, the path will become /sdcard/Download/code*.deb\nsudo apt install ~/Downloads/code*.deb After that, use vim to edit the Desktop Entry of VSCode vim /usr/share/applications/code.desktop Add --no-sandbox after the Exec= line Exec=/usr/bin/code --unity-launch %F --no-sandbox Click VSCode in the application list and try to start the program. If you want to see the error message, you can start it from the terminal:\ncode --verbose 3. Setting up the developing environment # I won’t go into details about the setup of developing environment here. There are many Ubuntu + VSCode tutorials on the Internet. Note that you should search for “Develop with VSCode on Ubuntu” rather than “Connect VSCode to remote Ubuntu for developing”\nYou could directly open terminal in the VSCode panel and execute commands there.\nFor example, if you want to compile C language programs, install GCC:\nsudo apt install build-essential If you want to have a Python Anaconda environment, you can refer to this article: Termux install Anaconda environment (miniforge)\n","title":"Tutorial on running full Visual Studio Code on Android phone (Termux)","type":"termux-tutorials"},{"content":"English version\n本文講述在Android系統跑程式碼編輯器Visual Studio Code (VSCode)的方法，免root權限。 VSCode由Microsoft開發，是一款多功能的程式碼編輯器，可以透過延伸模組(擴充套件)來支援各式各樣的程式語言，使其變成一款小型IDE。\n這裡安裝的不是code-server遠端伺服器，而是完整的code主程式，用起來就跟電腦上的一樣，可以安裝幾乎所有的延伸模組。\n這樣的話，就可以管理git專案，開發網頁程式 或是編寫Python Anaconda專案 甚或是修改Android的Linux核心C原始碼 我們將透過Termux安裝ARM64版的Ubuntu環境，再安裝VSCode。\n1. 設定Linux環境 # 建議手機或平板的RAM \u0026gt;= 8GB、儲存空間 \u0026gt; 10 GB、處理器為Qualcomm S845以上等級再嘗試。理想上外接鍵盤和滑鼠會更好。\n安裝Termux\n設定Termux X11\n接著安裝Linux發行版：\nproot Ubuntu或proot Debian：免root權限，比較慢。 chroot Ubuntu：需要root權限，比較快。 2. 安裝Visual Studio Code # 至Visual Studio Code官網下載ARM64版本的deb檔。 使用apt指令安裝，後面是deb檔所在路徑。如果您是用手機瀏覽器下載，那路徑會變成/sdcard/Download/code*.deb\nsudo apt install ~/Downloads/code*.deb 之後，用vim編輯VSCode的Desktop Entry vim /usr/share/applications/code.desktop 在Exec=這行後面加入--no-sandbox Exec=/usr/bin/code --unity-launch %F --no-sandbox 點選應用程式列表的VSCode，嘗試啟動程式。 如果要看錯誤訊息，可以從終端機啟動：\ncode --verbose 3. 編譯器環境 # 相關環境的建置這裡不多說了，網路有很多Ubuntu + VSCode的教學。注意您要搜尋的是「Ubuntu上用VSCode開發」而非「VSCode連線到遠端Ubuntu」\nVSCode的面板可以直接喚出終端機執行指令。\n比如Ubuntu想編譯C語言程式就安裝GCC：\nsudo apt install build-essential 想寫Python Anaconda環境的可以參考這篇：Termux安裝Anaconda環境 (miniforge)\n","date":"2023年11月13日","externalUrl":null,"permalink":"/posts/visual-studio-code-termux/","section":"所有文章","summary":"English version\n本文講述在Android系統跑程式碼編輯器Visual Studio Code (VSCode)的方法，免root權限。 VSCode由Microsoft開發，是一款多功能的程式碼編輯器，可以透過延伸模組(擴充套件)來支援各式各樣的程式語言，使其變成一款小型IDE。\n這裡安裝的不是code-server遠端伺服器，而是完整的code主程式，用起來就跟電腦上的一樣，可以安裝幾乎所有的延伸模組。\n這樣的話，就可以管理git專案，開發網頁程式 或是編寫Python Anaconda專案 甚或是修改Android的Linux核心C原始碼 我們將透過Termux安裝ARM64版的Ubuntu環境，再安裝VSCode。\n1. 設定Linux環境 # 建議手機或平板的RAM \u003e= 8GB、儲存空間 \u003e 10 GB、處理器為Qualcomm S845以上等級再嘗試。理想上外接鍵盤和滑鼠會更好。\n安裝Termux\n設定Termux X11\n接著安裝Linux發行版：\nproot Ubuntu或proot Debian：免root權限，比較慢。 chroot Ubuntu：需要root權限，比較快。 2. 安裝Visual Studio Code # 至Visual Studio Code官網下載ARM64版本的deb檔。 ","title":"Android手機跑Visual Studio Code完整主程式教學（Termux）","type":"posts"},{"content":" この記事では、Androidスマホにデスクトップ環境付きのUbuntuシステムをインストールする方法を紹介します。Root権限は不要です。 Ubuntu + KDE Plasma on Android\nTermuxのproot-distroツールを使い、Ubuntuの中国語デスクトップ環境を手動で構築します。すべての設定が終わったら、記事の最後にワンタップ起動用スクリプトも用意します。\nUbuntuを手動で設定したくない場合は、community scriptsを使って自動インストールしてください。\n1. 前提条件 # スマホでUbuntuのグラフィカル環境を動かすには、最低6GB RAMが必要です。\nプロセッサはQualcomm Snapdragon 845以上のクラスを推奨します。\nストレージ容量は最低10GB用意してください。\n私の端末：Sony Xperia 10 V，Android 13\nTermuxをインストールします\nTermux X11をインストールします\nGPUハードウェアアクセラレーションvirglrendererを設定します\n2. Ubuntu最小ファイルシステムをインストールする # ここでいう最小ファイルシステムとは、proot-distroのメンテナーが提供しているrootfsのことです。彼らがメンテナンスしているrootfsにはLTS版がなく、その年の最新Ubuntuが常に使われます。\nTermuxを開き、Proot-distroとPulseAudioをインストールします pkg update termux-setup-storage pkg install proot-distro pulseaudio vim proot Ubuntuをインストールします proot-distro install ubuntu Ubuntuにログインします。--userパラメータはrootでログインすることを表します。--shared-tmpはTermuxのtmpディレクトリをproot内部にマウントし、後でXサーバーのリソースを共有できるようにします。 proot-distro login ubuntu --user root --shared-tmp ログイン後、まずsudo、vim、PPAツールをインストールします。インストール中にタイムゾーンを聞かれる場合があるので、数字で回答してください。 apt update apt install sudo vim software-properties-common Androidにはsystemdがないため、以下のコマンドでUbuntuのSnapパッケージシステムを無効にします cat \u0026lt;\u0026lt;EOF | sudo tee /etc/apt/preferences.d/nosnap.pref # リポジトリパッケージがSnapのインストールを引き起こさないように、 # このファイルではAPTによるsnapdのインストールを禁止します。 # 詳細: https://linuxmint-user-guide.readthedocs.io/en/latest/snap.html Package: snapd Pin: release a=* Pin-Priority: -10 EOF 続いてMozillaのパッケージリポジトリからFirefoxをインストールします。 sudo add-apt-repository ppa:mozillateam/ppa sudo apt-get update sudo apt-get install firefox-esr prootシステムを終了するには、exitを入力してログアウトします。 3. Ubuntuパッケージリポジトリのミラーを変更する # これは任意の手順です。パッケージリポジトリのミラーを変更すると、パッケージのダウンロード速度を上げられます。\n世界各地のパッケージリポジトリミラーはOfficial Archive Mirrors for Ubuntuを参照してください。\n例として、以下のコマンドで/etc/apt/sources.list内のports.ubuntu.com URLをすべて台湾NCHCのURLに置き換えます。 sudo sed -i \u0026#39;s/ports.ubuntu.com/free.nchc.org.tw/g\u0026#39; /etc/apt/sources.list もう一度パッケージ一覧を更新します apt update 4. 一般ユーザーを作成する # 通常、rootでシステムを操作することはありません。そのため一般ユーザーアカウントを追加し、システム変更が必要なとき（aptコマンド実行など）だけsudoコマンドで一時的に権限を昇格します。\nrootパスワードを変更します passwd wheelとvideoグループを追加します groupadd storage groupadd wheel groupadd video 一般アカウントuserを追加し、パスワードを変更します。 useradd -m -g users -G wheel,audio,video,storage -s /bin/bash user passwd user userをsudoグループに追加します。visudoコマンドを実行し、root ALL=(ALL:ALL) ALLを探して、その次の行に以下を追加します。 user ALL=(ALL:ALL) ALL 一般ユーザーに切り替えます su user cd 5. デスクトップ環境をインストールする # テキストだけの画面で操作できるなら、デスクトップ環境はインストールしなくてもかまいません。\nデスクトップ環境は次の3つから選びます。\nXFCE # XFCE（Xubuntu構成）をインストールします。keyboard layoutを聞かれたら1を入力し、lighdmを選択します sudo apt install xubuntu-desktop デフォルトのターミナルエミュレーターを設定します。xfce4-terminalの番号を入力してください sudo update-alternatives --config x-terminal-emulator dbusで起動するコマンドはstartxfce4です。後ほど説明します。\nKDE # KDE（Kubuntu構成）をインストールします sudo apt install kubuntu-desktop デフォルトのターミナルエミュレーターを設定します。konsoleの番号を入力してください sudo update-alternatives --config x-terminal-emulator dbusでKDEを起動するコマンドはstartplasma-x11です。後ほど説明します。\nGNOME（実験的） # GNOMEをインストールします\nsudo apt install ubuntu-desktop GNOMEの起動コマンド：export XDG_CURRENT_DIR=GNOME \u0026amp;\u0026amp; service dbus start \u0026amp;\u0026amp; gnome-shell --x11\n6. タイムゾーン、中国語、入力メソッドを設定する # タイムゾーンを台湾・台北に設定します sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime localesとFcitx5入力メソッドをインストールします（Fcitx5の新酷音入力メソッドを使うには外付けキーボードが必要です） sudo apt install locales fcitx5* fonts-noto-cjk vim /etc/locale.genで編集し、繁体字中国語を探して先頭のコメント（#）を外します。 zh_TW.UTF-8 UTF-8 繁体字中国語ロケールを生成します locale-gen echo \u0026#34;LANG=zh_TW.UTF-8\u0026#34; \u0026gt; /etc/locale.conf VIMで.profileを編集します vim ~/.profile ファイル末尾に以下を追加し、言語を繁体字中国語に設定して、入力メソッドにFcitx5を指定します LANG=zh_TW.UTF-8 LC_CTYPE=zh_TW.UTF-8 LC_NUMERIC=zh_TW.UTF-8 LC_TIME=zh_TW.UTF-8 LC_COLLATE=zh_TW.UTF-8 LC_MONETARY=zh_TW.UTF-8 LC_MESSAGES=zh_TW.UTF-8 LC_PAPER=zh_TW.UTF-8 LC_NAME=zh_TW.UTF-8 LC_ADDRESS=zh_TW.UTF-8 LC_TELEPHONE=zh_TW.UTF-8 LC_MEASUREMENT=zh_TW.UTF-8 LC_IDENTIFICATION=zh_TW.UTF-8 LC_ALL= GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus fcitx5 \u0026amp; 7. ワンタップ起動用デスクトップ環境スクリプトを設定する # ここでは、Termux、Termux X11、virglserver、XFCE4をワンタップで起動し、デスクトップ環境を自動起動するショートカットを設定します。\nproot環境を終了し、Termuxも終了します exit exit exit Termux Widgetをインストールします\nスマホのシステム設定を開き、Termuxに「他のアプリの上に重ねて表示」を許可します Termuxを開き直し、以下のコマンドでショートカットを作成します\nmkdir .shortcuts vim .shortcuts/startproot_ubuntu.sh 以下の内容を入力します #!/bin/bash # 古いプロセスをすべて終了 killall -9 termux-x11 pulseaudio virgl_test_server_android termux-wake-lock # Termux X11を起動 am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity XDG_RUNTIME_DIR=${TMPDIR} termux-x11 :0 -ac \u0026amp; sleep 3 # PulseAudioを起動 pulseaudio --start --exit-idle-time=-1 pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 # GPUアクセラレーション用virglserverを起動 virgl_test_server_android \u0026amp; # proot Ubuntuにログインしてデスクトップ環境を起動。末尾のstartxfce4はXFCE4デスクトップを起動するためのものです。 proot-distro login ubuntu --user user --shared-tmp -- bash -c \u0026#34;export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1; dbus-launch --exit-with-session startxfce4\u0026#34; 実行権限を付与します chmod +x .shortcuts/startproot_ubuntu.sh スマホのホーム画面でウィジェットを追加し、Termux Widgetを選択すると、先ほど作成したショートカットが一覧に表示されます。 ボタンをタップすると、Termuxが自動で開いてデスクトップへログインします。\nTermux X11の画面で戻るボタンを押すと、スマホのキーボードを呼び出せます。Ubuntuの操作にはHacker\u0026rsquo;s Keyboardの利用をおすすめします。\nスマホの通知欄を下へスワイプし、Termux X11のPreferencesを押すと、タッチ操作を模擬タッチパッドに変更できます。これでマウスを呼び出せます。 デスクトップアイコンが少し小さすぎる場合があります。Display resolution modeをScaledに変更し、好みに合わせて拡大縮小してください。 なお、Linuxのシステム設定で画面ロックとスクリーンセーバーを無効にしておくこともおすすめします。prootではスクリーンセーバーを解除できないためです。\n外付けキーボードがある場合は、システムトレイのFcitx5アイコンをクリックします（見つからない場合は、アプリケーション一覧のfictx5をクリックして手動起動してください）。右クリックで設定を開き、新酷音入力メソッドを追加します。CTRL+スペースで注音入力に切り替えます。 Ubuntuの実行を終了するには、スマホの通知欄でExitを押して終了します。その後、TermuxとTermux X11を強制停止します。\n参考資料 # Termux Proot-distro Tips Ubuntu官方文件 ","date":"2023年11月12日","externalUrl":null,"permalink":"/ja-jp/posts/termux-proot-distro-ubuntu/","section":"Termux-Tutorials","summary":" この記事では、Androidスマホにデスクトップ環境付きのUbuntuシステムをインストールする方法を紹介します。Root権限は不要です。 Ubuntu + KDE Plasma on Android\nTermuxのproot-distroツールを使い、Ubuntuの中国語デスクトップ環境を手動で構築します。すべての設定が終わったら、記事の最後にワンタップ起動用スクリプトも用意します。\nUbuntuを手動で設定したくない場合は、community scriptsを使って自動インストールしてください。\n1. 前提条件 # スマホでUbuntuのグラフィカル環境を動かすには、最低6GB RAMが必要です。\nプロセッサはQualcomm Snapdragon 845以上のクラスを推奨します。\nストレージ容量は最低10GB用意してください。\n私の端末：Sony Xperia 10 V，Android 13\nTermuxをインストールします\nTermux X11をインストールします\nGPUハードウェアアクセラレーションvirglrendererを設定します\n2. Ubuntu最小ファイルシステムをインストールする # ここでいう最小ファイルシステムとは、proot-distroのメンテナーが提供しているrootfsのことです。彼らがメンテナンスしているrootfsにはLTS版がなく、その年の最新Ubuntuが常に使われます。\n","title":"AndroidスマホにRootなしでUbuntuをインストールする（Termux GUIデスクトップ＋中国語環境＋音声＋ワンタップ起動スクリプト）","type":"termux-tutorials"},{"content":"您需要一套功能完整的3D建模軟體嗎？找Blender準沒錯。Blender是一款開源免費的3D建模軟體，跨平台支援Linux/Windows/macOS系統。 儘管程式佔用容量不大，功能卻是十分豐富！使用者可以用它來建模、渲染場景、繪製貼圖、製作動畫、剪影片、做遊戲等等。 Blender 3.6版執行於Linux系統\n由於3D建模需要大量GPU運算資源，您的電腦必須搭載獨立顯示卡才可以用Blender。特別的是，Linux版Blender支援Nvidia CUDA和AMD ROCm加速技術，可讓畫面渲染速度更快完成。\n您還可以利用Blender命令行進行遠端渲染作業，製成小型算圖農場。\n因Blender功能眾多，本文僅介紹Linux版Blender安裝過程，還有一些常見環境的設定。至於Blender使用方式請看文末的延伸閱讀資料。\n1. Linux安裝Blender # 根據官方文件，Blender可以直接下載tar解壓縮執行；也可以用套件管理器裝。\n除非您需要舊版本的Blender，我才建議直接下載tar檔。\n我推薦您裝Flatpak版Blender，內建Nvidia驅動，還能即時收到最新版更新。不論Ubuntu/Fedora/Arch Linux都可以用。\nNvidia顯卡用戶請先安裝Nvidia專有驅動與CUDA。Ubuntu｜Arch Linux\n再透過Flatpak安裝Blender：\nflatpak install flathub org.blender.Blender 如果您有自動化程式依賴Blender二進位檔渲染，那麼您可以把Flatpak的Blender路徑轉成alias，加入到~/.bashrc，效果等同blender指令： echo \u0026#39;alias blender=\u0026#34;flatpak run org.blender.Blender\u0026#34;\u0026#39; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 2. 設定Nvidia CUDA渲染 # Nvidia CUDA技術可以提昇Blender Cycles引擎的渲染速度。\n用指令確認Nvidia驅動和CUDA有無正確安裝，應該會輸出版本號碼 nvidia-smi nvcc --version 開啟Blender，點選左上角Edit → Preferences → System，通常這裡應該就會認到CUDA裝置了。 如果您是雙顯卡筆電，請嘗試用Nvidia PRIME讓Blender可以認到CUDA。\n執行以下指令，設定Blender的環境變數：\nflatpak override --user --device=dri --env=__NV_PRIME_RENDER_OFFLOAD=1 --env=__VK_LAYER_NV_optimus=NVIDIA_only --env=__GLX_VENDOR_LIBRARY_NAME=nvidia org.blender.Blender 3. 安裝Blender插件 # Blender的插件（外掛）通常是Python寫的，大部分應該可以跨平台使用。\nBlender本身有內建Python執行環境，無需依賴系統的Python。\n以Blender插件MMD Tools為例，下載後得到zip壓縮檔。\n開啟Blender，點選左上角Edit → Preferences → Add-Ons，點選右上角Install，選取壓縮檔，再勾選啟用，即完成安裝。 另一種安裝方法是將插件zip解壓縮，手動將插件資料夾放到Blender的資料目錄。\nFlatpak版Blender的資料位於~/.var/app/org.blender.Blender/config/blender/版本號碼/scripts/addons/\n4. Blender搭配繪圖板建模 # Linux核心支援大部分Wacom繪圖板，通常插入就可以用。\n若是Surface平板，您使用的Linux發行版核心應該也有支援手寫筆。\n開啟Blender，在Edit → Preferences → Add-Ons → 設定手繪筆行為。\n快捷鍵可以用xdotool或者KDE繪圖板設定來綁定。\n5. 使用Blender命令行 # 您可以使用blender指令進行自動化作業，或者headless渲染。\n輸入blender --help查看幫助\n比如，輸入一個file.blend檔案，使用CUDA加速Cycles引擎，渲染第10幀的場景。\nblender -b \u0026#34;/user/home/Porjects/file.blend\u0026#34; -f 10 -- --cycles-device CUDA 延伸閱讀 # Blender中文使用手冊 Command Line — Blender Manual Blender Faltpak issues - Github ","date":"2023年11月10日","externalUrl":null,"permalink":"/posts/setup-blender-on-linux/","section":"所有文章","summary":"您需要一套功能完整的3D建模軟體嗎？找Blender準沒錯。Blender是一款開源免費的3D建模軟體，跨平台支援Linux/Windows/macOS系統。 儘管程式佔用容量不大，功能卻是十分豐富！使用者可以用它來建模、渲染場景、繪製貼圖、製作動畫、剪影片、做遊戲等等。 Blender 3.6版執行於Linux系統\n由於3D建模需要大量GPU運算資源，您的電腦必須搭載獨立顯示卡才可以用Blender。特別的是，Linux版Blender支援Nvidia CUDA和AMD ROCm加速技術，可讓畫面渲染速度更快完成。\n您還可以利用Blender命令行進行遠端渲染作業，製成小型算圖農場。\n因Blender功能眾多，本文僅介紹Linux版Blender安裝過程，還有一些常見環境的設定。至於Blender使用方式請看文末的延伸閱讀資料。\n1. Linux安裝Blender # 根據官方文件，Blender可以直接下載tar解壓縮執行；也可以用套件管理器裝。\n除非您需要舊版本的Blender，我才建議直接下載tar檔。\n我推薦您裝Flatpak版Blender，內建Nvidia驅動，還能即時收到最新版更新。不論Ubuntu/Fedora/Arch Linux都可以用。\n","title":"Blender Linux版安裝教學 ＋ Nvidia CUDA渲染設定","type":"posts"},{"content":" virglrenderer(VirGL)はQEMU仮想マシン向けの表示技術で、仮想マシンに3Dハードウェアアクセラレーションを提供できます。例えばLinux PCでQEMUを使ってAndroid-x86仮想マシンを動かす場合、virglrendererで仮想マシンの3Dグラフィック性能を改善できます。\n関連記事：Linux QEMU/KVMでvirtio-gpuを使い仮想マシンの3Dアクセラレーションを有効化する、GPUパススルー不要 Androidスマホでは、Termuxからvirglrendererサーバーを実行することで同じような効果を得られます。TermuxのLinux環境でグラフィック性能が低い問題を解決できます。\nこれでTermuxのProot Linux環境でも4K60p動画を見たり、3Dゲームを遊んだりできます。proot環境とchroot環境の両方に対応しています。 SuperTuxKart, Glxgears\n文章で説明するより、まずは動画で実際の効果を見たほうが分かりやすいでしょう。 テスト端末：Sony Xperia 5 II、システムバージョンAndroid 12、プロセッサSnapdragon 865、GPU Adreno 650、RAM 8GB。 1. TermuxとTermux X11をインストールする # Termuxをインストールし、さらにTermux X11をインストールします。\n理論上はXSDLやVNCでも使えますが、私はグラフィック環境の表示にTermux X11を使うほうが好みです。\n2. Prootディストリビューションをインストールする # Prootディストリビューションを1つインストールし、デスクトップ環境を設定します。個人的にはDebianのインストールをおすすめします。\n3. virglrendererをインストールする # どちらか一方を選びます。まずはvirglrenderer-androidを試すことをおすすめします。\n方法1：virglrenderer-androidをインストールする # virglrenderer-androidはAndroid GL/ESを使用し、ほとんどのAndroidデバイスに適しています。\n構成：Android GL/ES → Termux VirGL renderer server → proot / chroot virpipe MESA gallium driver\nvirglrenderer-androidをインストールする pkg install virglrenderer-android Virglサーバーを実行する： virgl_test_server_android \u0026amp; 方法2：virglrenderer-zinkをインストールする # ZinkはVulkanを模擬するドライバーで、上のvirlglrenderer-androidより性能がよい可能性があります。Qualcommプロセッサ搭載のAndroidデバイスのみ対応します。\nZinkを含むvirglrendererはtur-repoからインストールできます： pkg install tur-repo pkg update -y \u0026amp;\u0026amp; pkg upgrade -y pkg install mesa-zink virglrenderer-mesa-zink vulkan-loader-android Virglサーバーを起動するには、以下のコマンドを実行します。下のprootでGALLIUM_DRIVER変数を使うときは、virpipeをzinkに置き換えます。 MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink ZINK_DESCRIPTORS=lazy virgl_test_server --use-egl-surfaceless --use-gles \u0026amp; 4. virglrendererの使い方 # Termux本体はvirglrendererサーバーを実行するために使います。ただしTermuxにはvirglrendererを活用できるプログラムがほとんどないため、prootまたはchrootを使う必要があります。\n4.1. Prootでvirglを使ってプログラムを実行する # Termuxでvirglサーバーを起動します。\nTermux X11アプリを起動します。Termuxに戻り、Termux X11を実行します。\nexport DISPLAY=:0 termux-x11 :0 \u0026amp; 画面左側からスワイプして、New Sessionを押して2つ目のターミナルを開きます。通常ユーザーuserでproot-distroにログインし、TermuxのtmpディレクトリをProot-distroへマウントします。 proot-distro login debian --user user --shared-tmp XFCE4デスクトップ環境を起動します。 export DISPLAY=:0 dbus-launch --exit-with-session startxfce4 \u0026amp; Termux X11の画面でターミナルを開きます。プログラム実行前にGALLIUM_DRIVER=virpipeまたはGALLIUM_DRIVER=virglを付けると、virglハードウェアアクセラレーションが有効になります。付けない場合、システムはCPUレンダリングのllvmpipeに戻ります。一部のプログラムはMESA_GL_VERSION_OVERRIDE=4.0を付けると起動できないため、自分でテストしてください。\n例えばブロックゲームMinetestを実行する場合：\nGALLIUM_DRIVER=virpipe MESA_GL_VERSION_OVERRIDE=4.0 minetest virpipeでは、glxgearsのFPSがllvimpipeより少し高くなります。 llvmpipeとvirpipeを比較すると、MinetestのFPSは10FPSから最大20FPSまで伸びました。 VLCやMPVはvirpipeを有効化すると4K60p動画も再生できるようになりました。ただし基本的には全力でレンダリングしている状態なので、録画など別のプログラムが動画プレーヤーとリソースを取り合うと画面が乱れます。 レースゲームSueprTuxKartの伸びが最も明らかです。llvmpipeモードではスライドショー状態でしたが、virpipeを使うと普通に遊べるようになりました。 Firefoxでabout:configからWebGLを強制有効化すると、WebGL AquariumのFPSが倍増しました。 GALIIUM_DRIVER=virpipe startxfce4というコマンドでデスクトップ環境を起動し、全プログラムがデフォルトでvirpipeレンダリングを使うようにして、デスクトップ環境の滑らかさを上げる方法もあります。virpipeを有効化するとクラッシュするプログラムがある場合は、GALIIUM_DRIVER=llvmpipe \u0026lt;プログラム名\u0026gt;でCPUレンダリングへ戻します。\n4.2. chrootでvirglを使ってプログラムを実行する # XFCE4デスクトップのchroot Ubuntu with XFCE4を設定します。\nSELinuxをPermissiveに設定します。\nsudo setenforce 0 Termux X11アプリを起動し、Termuxへ戻って実行します： XDG_RUNTIME_DIR=${TMPDIR} termux-x11 :0 -ac \u0026amp; Termuxのtmpをchrootのtmpへマウントします。 export CHROOT_DIR=/data/local/tmp/chrootubuntu sudo busybox mount --bind $PREFIX/tmp $CHROOT_DIR/tmp chrootへログインし、XFCE4を起動します。 sudo chmod -R 777 /tmp export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4713 dbus-launch --exit-with-session startxfce4 \u0026amp; virglでアプリケーションを起動する GALLIUM_DRIVER=virpipe MESA_GL_VERSION_OVERRIDE=4.0 minetest 4.3. Windowsゲームを実行する # 先にBox86 + Wineをインストールしてください。\nTermuxでvirglサーバーを起動します。\nexeを実行する前にも同じようにGALLIUM_DRIVERパラメータを付けます。例：\nGALLIUM_DRIVER=virpipe MESA_GL_VERSION_OVERRIDE=4.0 box86 wine AIR.exe virglを使うと、Tobyfox制作の『Undertale』など、ハードウェアアクセラレーションを必要とする一部のWindowsゲームを正常に実行できます。 また、Key制作のビジュアルノベル『Air』も動作します。別途日本語フォントのインストールが必要です。 参考資料 # cheadrian/termux-chroot-proot-wine-box86_64/Hardware Acceleration Resources - Github eNB256 - Hardware Acceleration in Proot? - Reddit ","date":"2023年11月10日","externalUrl":null,"permalink":"/ja-jp/posts/termux-virglrenderer/","section":"Termux-Tutorials","summary":" virglrenderer(VirGL)はQEMU仮想マシン向けの表示技術で、仮想マシンに3Dハードウェアアクセラレーションを提供できます。例えばLinux PCでQEMUを使ってAndroid-x86仮想マシンを動かす場合、virglrendererで仮想マシンの3Dグラフィック性能を改善できます。\n関連記事：Linux QEMU/KVMでvirtio-gpuを使い仮想マシンの3Dアクセラレーションを有効化する、GPUパススルー不要 Androidスマホでは、Termuxからvirglrendererサーバーを実行することで同じような効果を得られます。TermuxのLinux環境でグラフィック性能が低い問題を解決できます。\nこれでTermuxのProot Linux環境でも4K60p動画を見たり、3Dゲームを遊んだりできます。proot環境とchroot環境の両方に対応しています。 SuperTuxKart, Glxgears\n文章で説明するより、まずは動画で実際の効果を見たほうが分かりやすいでしょう。 テスト端末：Sony Xperia 5 II、システムバージョンAndroid 12、プロセッサSnapdragon 865、GPU Adreno 650、RAM 8GB。 1. TermuxとTermux X11をインストールする # Termuxをインストールし、さらにTermux X11をインストールします。\n","title":"Termuxでvirglrendererを使いGPU 3Dハードウェアアクセラレーションを有効化する","type":"termux-tutorials"},{"content":"","date":"2023年11月10日","externalUrl":null,"permalink":"/ja-jp/tags/virgl/","section":"Tags","summary":"","title":"VirGL","type":"tags"},{"content":"","date":"2023年11月10日","externalUrl":null,"permalink":"/ja-jp/tags/vulkan/","section":"Tags","summary":"","title":"Vulkan","type":"tags"},{"content":"想要一款簡單無廣告的Youtube Music APP嗎？您有InnerTune可用。\nInnerTune為Zion Huang製作的第三方Youtube Music播放器，功能比官方Youtube Music APP還多！ InnterTune支援去廣告、顯示歌詞、背景播放、下載音樂、睡眠定時器、登入Google帳號等功能。\n若跟同類APP NewPipe和Youtube ReVanced比較的話，InnerTube最大的價值就是支援Android Auto了！它可以像Apple Music一樣在車機界面操控。 1. 下載InnerTune # 註：InnterTune已經停止維護，請改用OuterTune。\nInnerTune為開源軟體，構想啟發自ViMusic APP。 請至Github或F-Droid下載InnerTune APK。\nfoss是上架到F-Droid的全開源版本，無法統計聆聽紀錄、翻譯歌詞。建議下載Github的full_arm64-v8a版本。 2. 界面概覽 # 點選右下角設定 → 內容可登入Google帳號。主界面搜尋框點下去即會顯示Youtube儲存的播放清單。 歌曲搜尋用法跟官方Youtube Music APP一樣，可以指定搜尋音樂或者影片。由於InnerTune有在地化功能，您應該不太會看到中文歌變英文標題（NewPipe常常中文歌顯示英文標題，導致很難找歌） 大部分歌曲播放時都有動態歌詞 遇到英文歌詞您還可以按Google翻譯 點選月亮圖示啟動「睡眠定時器」，適合在睡覺時設定播放清單規則，不要無限制的一直播下去。 看到喜歡的專輯可以將其加入到自己的音樂庫，並下載離線播放。\n注意這裡的資料庫是存在本機的，跟Google帳戶無關，您需要在設定裡面手動備份資料庫。 下載的音樂檔案InnerTune會將儲存到APP的私有目錄，無法匯出。看來InnerTube僅是把它當作離線播放的手段而已，不像NewPipe可以任意選擇儲存位置。\n最後講如何在Android Auto播放InnerTune：在Android Auto的系統設定 → 版本號碼點5下，開啟開發人員選項，並在開發人員選項開啟「未知的來源」，這樣InnerTune應該就會出現在Android Auto的列表了。\n","date":"2023年11月9日","externalUrl":null,"permalink":"/posts/innertune-android/","section":"所有文章","summary":"想要一款簡單無廣告的Youtube Music APP嗎？您有InnerTune可用。\nInnerTune為Zion Huang製作的第三方Youtube Music播放器，功能比官方Youtube Music APP還多！ InnterTune支援去廣告、顯示歌詞、背景播放、下載音樂、睡眠定時器、登入Google帳號等功能。\n若跟同類APP NewPipe和Youtube ReVanced比較的話，InnerTube最大的價值就是支援Android Auto了！它可以像Apple Music一樣在車機界面操控。 1. 下載InnerTune # 註：InnterTune已經停止維護，請改用OuterTune。\nInnerTune為開源軟體，構想啟發自ViMusic APP。 請至Github或F-Droid下載InnerTune APK。\nfoss是上架到F-Droid的全開源版本，無法統計聆聽紀錄、翻譯歌詞。建議下載Github的full_arm64-v8a版本。 2. 界面概覽 # 點選右下角設定 → 內容可登入Google帳號。主界面搜尋框點下去即會顯示Youtube儲存的播放清單。 歌曲搜尋用法跟官方Youtube Music APP一樣，可以指定搜尋音樂或者影片。由於InnerTune有在地化功能，您應該不太會看到中文歌變英文標題（NewPipe常常中文歌顯示英文標題，導致很難找歌） ","title":"InnerTune：Youtube Music音樂免費聽，支援Android Auto車機與下載音樂","type":"posts"},{"content":" TermuxをLinuxディストリビューションとして見ると、メインリポジトリはローリングリリース方式で更新されていることが分かります。パッケージマネージャーにはAPTを使い、.debインストールパッケージを扱い、リポジトリ内のPythonやClangのバージョンはできるだけ上流に近い状態に保たれています。\nしかし、一部のパッケージは新しすぎます。古いバージョンのソフトが欲しい場合はどうすればよいでしょうか。出所不明のサードパーティリポジトリを探す？そんなときはTUR repoでパッケージを補えます。\nTURの正式名称はTermux User Repositoryです。メンテナーlicy183によると、TURは「信頼できるサードパーティTermuxパッケージリポジトリ」を目指しており、その理念はArch LinuxのAURに似ています。ユーザーが自由にパッケージを投稿できます。\nこれにより、ユーザーが特定のソフトウェアをインストールしたい場合でも、サードパーティPPAを追加したり、サードパーティスクリプトを実行したりする必要がなくなります。 TURのGitHubリポジトリでは各パッケージのビルドコマンドを確認できますが、TURはAURのようにローカルでパッケージをビルドさせる仕組みではありません。PKGBUILDはなく、収録されているパッケージはすべてビルド済みです。\nTURリポジトリは、一部のゴミ、いや、メインリポジトリには適さないパッケージを専門に収録しています。たとえば：\nGCC。TermuxのメインリポジトリにはClangしかありません。理由はこちら 事前ビルド済みのPyPI実行ファイル。たとえばnumpy、scipy、playwright 古いPython。TermuxはローリングリリースなのでPythonの更新が速く、一時的に古いバージョンへ切り替える必要があるかもしれません。 ハッカー系ソフトウェア。たとえばzphisher、nbtscan。Termux開発チームは、インドのYouTube動画を数本見ただけのスクリプトキディがRedditであれこれ質問することにかなりうんざりしているため、メインリポジトリには明記されています。ハッキングツールは一律受け付けません。 プロプライエタリソフトウェア multilib対応ソフトウェア 古いNodeJS 古いClang マイナーなソフトウェア 1. TUR repoをインストールする # Termuxを開き、TUR repoをインストールします。\npkg install tur-repo pkg update \u0026amp;\u0026amp; pkg upgrade 以後はpkg searchでパッケージを検索できます。\nたとえばTUR Repoには、Termuxのメインリポジトリにはまだ収録されていないChromiumブラウザや、テキスト版のcarbonylがあります。 これでついにTermuxにGCCをインストールできます。 Pythonのバージョンも多数収録されているため、prootを開いてAnacondaをインストールする必要性はだいぶ下がります。 pipで特定のPyPIパッケージをインストールするときは、--extra-index-url のURLを指定し、pipにTURリポジトリから事前ビルド済みパッケージをダウンロードさせることができます。\npython -m pip install \u0026#34;套件名稱\u0026#34; --extra-index-url https://termux-user-repository.github.io/pypi/ 2. TURへパッケージを投稿する # パッケージの投稿方法は、公式リポジトリのやり方と同じです。\nTURはTermux公式パッケージリポジトリではない点に注意してください。特定パッケージのIssueを報告する場合は、TURのGitHubリポジトリで報告してください。\n","date":"2023年11月9日","externalUrl":null,"permalink":"/ja-jp/posts/termux-tur-repo/","section":"Termux-Tutorials","summary":" TermuxをLinuxディストリビューションとして見ると、メインリポジトリはローリングリリース方式で更新されていることが分かります。パッケージマネージャーにはAPTを使い、.debインストールパッケージを扱い、リポジトリ内のPythonやClangのバージョンはできるだけ上流に近い状態に保たれています。\nしかし、一部のパッケージは新しすぎます。古いバージョンのソフトが欲しい場合はどうすればよいでしょうか。出所不明のサードパーティリポジトリを探す？そんなときはTUR repoでパッケージを補えます。\nTURの正式名称はTermux User Repositoryです。メンテナーlicy183によると、TURは「信頼できるサードパーティTermuxパッケージリポジトリ」を目指しており、その理念はArch LinuxのAURに似ています。ユーザーが自由にパッケージを投稿できます。\nこれにより、ユーザーが特定のソフトウェアをインストールしたい場合でも、サードパーティPPAを追加したり、サードパーティスクリプトを実行したりする必要がなくなります。 TURのGitHubリポジトリでは各パッケージのビルドコマンドを確認できますが、TURはAURのようにローカルでパッケージをビルドさせる仕組みではありません。PKGBUILDはなく、収録されているパッケージはすべてビルド済みです。\nTURリポジトリは、一部のゴミ、いや、メインリポジトリには適さないパッケージを専門に収録しています。たとえば：\n","title":"TermuxにもAURがある：「TUR repo」でより多くのサードパーティパッケージをインストールする","type":"termux-tutorials"},{"content":"羨慕Samsung手機有Dex模式的功能，我的Sony很原生什麼都沒有啊，以前想過把手機接上螢幕滑鼠當電腦用的作法。\n我對「當電腦」用的認知是跑電腦程式，有電腦的視窗操作。手機如果能當電腦主機，攜帶性就屌打平板、筆電了吧。 裝上就是電腦，拆開就是手機，帶著走多方便。Android還支援Wacom繪圖板呢，跑Krita繪圖不是夢。 結果當然是超耗電的，手機燙死。操作起來也不直觀，遂放棄。\n1. 使用Android還是Linux？ # 既然我們要在大螢幕操作，就得調整Android UI。\n直接投影，不行，那等於是手機的螢幕直接映射到螢幕上，一切元素都太大了。此時可以用SecondScreen，把手機變成平板解析度。\n原生Android 12以後的系統已經會自動適應螢幕了，調整螢幕解析度後會多出Taskbar。但畢竟這還是適合行動裝置的，不是電腦的操作模式。 Taskbar APP可以給Android加上工作列，再於開發人員選項啟用自由視窗＋桌面模式，Android APP視窗化了就像電腦了吧！沒你想那麼簡單，這不是Dex，原生Android對視窗化APP處理效果很糟糕。然後Sony對Android 13的修改讓界面變得很亂。 純Android滿足不了我的需求，不是所有手機都能刷Windows 11 ARM，要是模擬跑Windows 7又卡的要死，為此搞個Linux系統是最好的了。\n我沒有要刷成postmarketOS那種真正的Linux喔，是在Android跑Linux容器。\n手機RAM在6GB以上的，跑個Termux ＋ Debian容器的桌面環境不過份吧。操作就跟電腦一樣，常用電腦軟體都有ARM版本，除了支援LibreOffice外還可以跑Visual Studio Code呢，啊不過Chrome就得用Brave替代了。 2. 連接方式 # 手機投影到螢幕的作法，並不是所有手機都支援有線投影的，通常是旗艦機才有；有些搭載強力處理器的高CP值手機會偷掉此功能，此時就只能使用高延遲的無線投影。\n方案一：Chromecast無線投影 # 最廣泛的方法，Miracast也可以。\n結構圖如下，滑鼠和鍵盤都用藍芽。Chromecast要看你買的是第幾代，3代雖然會發熱但大致算穩定。手機音效在投放的時候會跑到螢幕，可以再準備一個藍芽喇叭。 方案二：HDMI有線投影 # 結構圖如下。同樣手機接HDMI音效會跑到螢幕上。 買Type-C轉HDMI的線不太夠，我還買了這種擴充塢，這樣你甚至可以接上網路線。 方案三：Scrcpy投影 # 當你連一個額外的螢幕都拿不出來才使用ㄉ方法。\n將手機用線接到電腦，設定QTScrcpy或GUIScrcpy，就可以將手機螢幕投影到電腦上啦，還能直接用滑鼠和鍵盤控制手機。\n3. 實際操作 # 開啟手機的Second Screen，勾選螢幕保持開啟、降低背光的選項，啟動服務\n將手機投影到螢幕上\n然後，開始打字\u0026hellip;\n4. 有了筆電後這個念頭就散了 # 手機強行變電腦還是太勉強了，手機難以散熱，又沒有平板那樣的大面積，實在太傷電池了。\n就算有Termux的Linux環境，要存取I/O連接埠的時候就頭大了。有筆電專機專辦還是比較好，程式多工能力還是電腦好啊，我想搞Linux與Windows雙重開機也容易。\n","date":"2023年11月5日","externalUrl":null,"permalink":"/posts/turn-smartphones-into-pc/","section":"所有文章","summary":"羨慕Samsung手機有Dex模式的功能，我的Sony很原生什麼都沒有啊，以前想過把手機接上螢幕滑鼠當電腦用的作法。\n我對「當電腦」用的認知是跑電腦程式，有電腦的視窗操作。手機如果能當電腦主機，攜帶性就屌打平板、筆電了吧。 裝上就是電腦，拆開就是手機，帶著走多方便。Android還支援Wacom繪圖板呢，跑Krita繪圖不是夢。 結果當然是超耗電的，手機燙死。操作起來也不直觀，遂放棄。\n1. 使用Android還是Linux？ # 既然我們要在大螢幕操作，就得調整Android UI。\n直接投影，不行，那等於是手機的螢幕直接映射到螢幕上，一切元素都太大了。此時可以用SecondScreen，把手機變成平板解析度。\n原生Android 12以後的系統已經會自動適應螢幕了，調整螢幕解析度後會多出Taskbar。但畢竟這還是適合行動裝置的，不是電腦的操作模式。 Taskbar APP可以給Android加上工作列，再於開發人員選項啟用自由視窗＋桌面模式，Android APP視窗化了就像電腦了吧！沒你想那麼簡單，這不是Dex，原生Android對視窗化APP處理效果很糟糕。然後Sony對Android 13的修改讓界面變得很亂。 ","title":"窮人想法：把Android手機變電腦主機，當電腦系統用","type":"posts"},{"content":"🇹🇼 中文版\nThe steps described in this article require root permissions. If your phone is not rooted, please useproot Ubuntu instead (note: proot is slower than chroot).\nOn a GNU/Linux PC, we can use the chroot to create an isolated Linux environment. This was the earliest container concept before cgroups. Switching into it via the chroot command is like entering another system. Android is based on the Linux kernel, and after some modifications, it can use chroot.\nTermux, a temrminal emulator, could be an good Linux Deploy alternative. Although Linux Deploy has an intuitive interface, it is a bit old, especially the version of rootfs, and the default downloading script is not well written and easy to get disconnect. Also some settings are not very satisfactory.\nSo let\u0026rsquo;s abandon Linux Deploy and use Termux to manually create a chroot environment!\nIn this article, I will tell you how to manually install Ubuntu chroot environment on Android phone without using Linux Deploy. And I will provide you an one-click Ubuntu starting script in the end.\nUbuntu 22.04 LTS in chroot running on Android 13, Sony Xperia 10 V. Ubuntu + KDE Plasma on Android\n1. Hardware requirements # If you want to run a desktop environment in chroot:\nProcessor: Qualcomm Snapdragon 845 or above\nRAM: 6GB\nMinimum storage space: 10GB\n2. Install Busybox, Termux, Termux X11 # Use Magisk to flash the Busybox module (Skip this step if you are using Magisk, KernelSU or APatch)\nInstall Termux\nInstall Termux X11\nInstall virglrenderer to enable hardware acceleration\n3. Download Ubuntu rootfs # Please install Termux first.\nOpen Termux, install tsu and pulseaudio pkg update pkg install tsu pulseaudio Enter Androud shell su Create a directory at /data/local/tmp for chroot envrionment mkdir /data/local/tmp/chrootubuntu cd /data/local/tmp/chrootubuntu Download latest Ubuntu rootfs from Ubuntu releases busybox wget https://cdimage.ubuntu.com/ubuntu-base/releases/noble/release/ubuntu-base-24.04.2-base-arm64.tar.gz Unzip the archive. And create a mountpoint for sdcard (internal storage) tar xpvf ubuntu-base-*-base-arm64.tar.gz --numeric-owner mkdir sdcard mkdir dev/shm Create a startup script. cd ../ vi startu.sh Type these: #!/bin/sh # The path of Ubuntu rootfs UBUNTUPATH=\u0026#34;/data/local/tmp/chrootubuntu\u0026#34; # Fix setuid issue busybox mount -o remount,dev,suid /data busybox mount --bind /dev $UBUNTUPATH/dev busybox mount --bind /sys $UBUNTUPATH/sys busybox mount --bind /proc $UBUNTUPATH/proc busybox mount -t devpts devpts $UBUNTUPATH/dev/pts # /dev/shm for Electron apps busybox mount -t tmpfs -o size=256M tmpfs $UBUNTUPATH/dev/shm # Mount sdcard busybox mount --bind /sdcard $UBUNTUPATH/sdcard # chroot into Ubuntu busybox chroot $UBUNTUPATH /bin/su - root # Umount everything after exiting the shell. Because the graphical environment will be installed later, they are commented. If you do not want to install a graphics environment, uncomment the following commands. #busybox umount $UBUNTUPATH/dev/shm #busybox umount $UBUNTUPATH/dev/pts #busybox umount $UBUNTUPATH/dev #busybox umount $UBUNTUPATH/proc #busybox umount $UBUNTUPATH/sys #busybox umount $UBUNTUPATH/sdcard Make the script executable chmod +x startu.sh Start the script. Then you should see the prompt becomes root@localhost. To logout, type exit. sh startu.sh Before updating packages, execute the following commands to solve apt cannot resolve host errors echo \u0026#34;nameserver 8.8.8.8\u0026#34; \u0026gt; /etc/resolv.conf echo \u0026#34;127.0.0.1 localhost\u0026#34; \u0026gt; /etc/hosts Then fix Download is performed unsandboxed as root warning: groupadd -g 3003 aid_inet groupadd -g 3004 aid_net_raw groupadd -g 1003 aid_graphics usermod -g 3003 -G 3003,3004 -a _apt usermod -G 3003 -a root Now you can update packages: apt update apt upgrade Install common tools apt install vim net-tools sudo git 4. Create a regular user and setup language # Setup the timezone. For example, Asia/Taipei ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime Add a new user named user groupadd storage groupadd wheel useradd -m -g users -G wheel,audio,video,storage,aid_inet -s /bin/bash user passwd user Execute: vim /etc/sudoers. Add user to sudoers user ALL=(ALL:ALL) ALL Switch to user su user cd ~ Install locales packages and generate locales for your language. sudo apt install locales sudo locale-gen en_US.UTF-8 5. Install a desktop enviromment # 5.1. XFCE4 # Install XFCE4 (Xubuntu) desktop environment. sudo apt install xubuntu-desktop Then setup default terminal emulator (Enter the number of xfce4-terminal) sudo update-alternatives --config x-terminal-emulator The command to start XFCE4 is startxfce4. We will discuss this later.\n5.2. KDE # Install KDE (Kubuntu) desktop environment. sudo apt install kubuntu-desktop Then setup default terminal emulator (Enter the number of konsole) sudo update-alternatives --config x-terminal-emulator The command to start KDE is startplasma-x11. We will discuss this later.\n6. Misc settings # 6.1. Start SSH service in chroot # Install OpenSSH sudo apt install openssh-client openssh-server Change root password passwd root Start SSH service manually. mkdir /run/sshd /usr/sbin/sshd -D \u0026amp; You can check the IP address of the phone by executing ifconfig. Then you can SSH into the phone from your PC.\n6.2. Disable Snapd # Do not install Snap packages. When you type sudo apt install firefox, Ubuntu will try to download snap version of Firefox. However, Snap will not work in chroot because there is no systemd on Android. Therefore, you should avoid installing snap packages.\nFor exmaple, you can add Mozilla\u0026rsquo;s ppa to install firefox-esr instead of fireofox:\nsudo apt install software-properties-common sudo add-apt-repository ppa:mozillateam/ppa sudo apt-get update sudo apt-get install firefox-esr And you could disable Snap by doing this:\napt-get autopurge snapd cat \u0026lt;\u0026lt;EOF | sudo tee /etc/apt/preferences.d/nosnap.pref # To prevent repository packages from triggering the installation of Snap, # this file forbids snapd from being installed by APT. # For more information: https://linuxmint-user-guide.readthedocs.io/en/latest/snap.html Package: snapd Pin: release a=* Pin-Priority: -10 EOF 7. Setup the one-click startup script # Termux could play audio through PulseAudio → OpenGL ES.\nHere we use Termux Widget to add a shortcut to start chroot Ubuntu from the phone\u0026rsquo;s desktop.\nExit chroot exit Install Termux Widget\nOpen the phone system settings and grant Termux the \u0026ldquo;Screen overlay\u0026rdquo; permission.\nForce stop Termux. Restart Termux.\nEdit the script we used to start chroot Ubuntu\nsu -c \u0026#34;vi /data/local/tmp/startu.sh\u0026#34; Change the line busybox chroot $UBUNTUPATH /bin/su - root to the following contents. startxfce4 will automatically start XFCE desktop. busybox chroot $UBUNTUPATH /bin/su - user -c \u0026#34;export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4713 \u0026amp;\u0026amp; dbus-launch --exit-with-session startxfce4\u0026#34; Add and edit a new shortcut file touch .shortcuts/start_chrootubuntu.sh chmod +x .shortcuts/start_chrootubuntu.sh vim .shortcuts/start_chrootubuntu.sh Fill in the following: #!/bin/bash # Kill all old prcoesses killall -9 termux-x11 Xwayland pulseaudio virgl_test_server_android termux-wake-lock ## Start Termux X11 am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity sudo busybox mount --bind $PREFIX/tmp /data/local/tmp/chrootubuntu/tmp XDG_RUNTIME_DIR=${TMPDIR} termux-x11 :0 -ac \u0026amp; sleep 3 # Start Pulse Audio of Termux pulseaudio --start --exit-idle-time=-1 pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 # Start virgl server virgl_test_server_android \u0026amp; # Execute chroot Ubuntu script su -c \u0026#34;sh /data/local/tmp/startu.sh\u0026#34; Return to the mobile phone desktop, long press to \u0026ldquo;add a new widget\u0026rdquo;, select Termux Widget and drag it to the desktop. The script we just wrote above should be displayed on the list. Press to start chroot Ubuntu.\nTo exit the desktop envrionment, press exit. Then force stop Termux and Termux X11 APP.\n8. How to remove chroot directory safely # Exit chroot and make sure everything is unmounted (no resource is busy message), otherwise you may delete the sdcard data.\nThe easiest way is to just reboot and everything will be unmounted.\nThen remove the chroot directory:\nsu -c \u0026#34;rm -r /data/local/tmp/chrootubuntu\u0026#34; References # mjuned47/Termux-Ubuntu - GitHub 在Android 上创建GNU/Linux 容器- 约伊兹的萌狼乡手札 在Termux chroot Ubuntu 22.04环境中使用vscode和zotero - 升升小屋 How to remove Snap completely without losing Firefox? - AskUbuntu ","date":"2023-11-04","externalUrl":null,"permalink":"/en-us/posts/termux-chroot-ubuntu/","section":"Termux-Tutorials","summary":"🇹🇼 中文版\nThe steps described in this article require root permissions. If your phone is not rooted, please useproot Ubuntu instead (note: proot is slower than chroot).\nOn a GNU/Linux PC, we can use the chroot to create an isolated Linux environment. This was the earliest container concept before cgroups. Switching into it via the chroot command is like entering another system. Android is based on the Linux kernel, and after some modifications, it can use chroot.\nTermux, a temrminal emulator, could be an good Linux Deploy alternative. Although Linux Deploy has an intuitive interface, it is a bit old, especially the version of rootfs, and the default downloading script is not well written and easy to get disconnect. Also some settings are not very satisfactory.\nSo let’s abandon Linux Deploy and use Termux to manually create a chroot environment!\nIn this article, I will tell you how to manually install Ubuntu chroot environment on Android phone without using Linux Deploy. And I will provide you an one-click Ubuntu starting script in the end.\nUbuntu 22.04 LTS in chroot running on Android 13, Sony Xperia 10 V. Ubuntu + KDE Plasma on Android\n1. Hardware requirements # If you want to run a desktop environment in chroot:\nProcessor: Qualcomm Snapdragon 845 or above\nRAM: 6GB\nMinimum storage space: 10GB\n2. Install Busybox, Termux, Termux X11 # Use Magisk to flash the Busybox module (Skip this step if you are using Magisk, KernelSU or APatch)\nInstall Termux\nInstall Termux X11\nInstall virglrenderer to enable hardware acceleration\n3. Download Ubuntu rootfs # Please install Termux first.\nOpen Termux, install tsu and pulseaudio pkg update pkg install tsu pulseaudio Enter Androud shell su Create a directory at /data/local/tmp for chroot envrionment mkdir /data/local/tmp/chrootubuntu cd /data/local/tmp/chrootubuntu Download latest Ubuntu rootfs from Ubuntu releases busybox wget https://cdimage.ubuntu.com/ubuntu-base/releases/noble/release/ubuntu-base-24.04.2-base-arm64.tar.gz Unzip the archive. And create a mountpoint for sdcard (internal storage) tar xpvf ubuntu-base-*-base-arm64.tar.gz --numeric-owner mkdir sdcard mkdir dev/shm Create a startup script. cd ../ vi startu.sh Type these: #!/bin/sh # The path of Ubuntu rootfs UBUNTUPATH=\"/data/local/tmp/chrootubuntu\" # Fix setuid issue busybox mount -o remount,dev,suid /data busybox mount --bind /dev $UBUNTUPATH/dev busybox mount --bind /sys $UBUNTUPATH/sys busybox mount --bind /proc $UBUNTUPATH/proc busybox mount -t devpts devpts $UBUNTUPATH/dev/pts # /dev/shm for Electron apps busybox mount -t tmpfs -o size=256M tmpfs $UBUNTUPATH/dev/shm # Mount sdcard busybox mount --bind /sdcard $UBUNTUPATH/sdcard # chroot into Ubuntu busybox chroot $UBUNTUPATH /bin/su - root # Umount everything after exiting the shell. Because the graphical environment will be installed later, they are commented. If you do not want to install a graphics environment, uncomment the following commands. #busybox umount $UBUNTUPATH/dev/shm #busybox umount $UBUNTUPATH/dev/pts #busybox umount $UBUNTUPATH/dev #busybox umount $UBUNTUPATH/proc #busybox umount $UBUNTUPATH/sys #busybox umount $UBUNTUPATH/sdcard Make the script executable chmod +x startu.sh Start the script. Then you should see the prompt becomes root@localhost. To logout, type exit. sh startu.sh Before updating packages, execute the following commands to solve apt cannot resolve host errors echo \"nameserver 8.8.8.8\" \u003e /etc/resolv.conf echo \"127.0.0.1 localhost\" \u003e /etc/hosts Then fix Download is performed unsandboxed as root warning: groupadd -g 3003 aid_inet groupadd -g 3004 aid_net_raw groupadd -g 1003 aid_graphics usermod -g 3003 -G 3003,3004 -a _apt usermod -G 3003 -a root Now you can update packages: apt update apt upgrade Install common tools apt install vim net-tools sudo git 4. Create a regular user and setup language # Setup the timezone. For example, Asia/Taipei ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime Add a new user named user groupadd storage groupadd wheel useradd -m -g users -G wheel,audio,video,storage,aid_inet -s /bin/bash user passwd user Execute: vim /etc/sudoers. Add user to sudoers user ALL=(ALL:ALL) ALL Switch to user su user cd ~ Install locales packages and generate locales for your language. sudo apt install locales sudo locale-gen en_US.UTF-8 5. Install a desktop enviromment # 5.1. XFCE4 # Install XFCE4 (Xubuntu) desktop environment. sudo apt install xubuntu-desktop Then setup default terminal emulator (Enter the number of xfce4-terminal) sudo update-alternatives --config x-terminal-emulator The command to start XFCE4 is startxfce4. We will discuss this later.\n","title":"[Root] Install Ubuntu in chroot on Android without Linux Deploy","type":"termux-tutorials"},{"content":"🇺🇸 English version\n在Android手機建立chroot Ubuntu環境。\n在電腦GNU/Linux系統上，我們可以利用chroot指令，建立一個隔離的Linux環境。這就是在cgroups之前出現的，最早的容器概念。透過chroot指令切換進去後，就彷彿進到了另外一個系統。Android系統基於Linux核心開發，經過一些調整後，就能使用chroot。\n緣由：Linux Deploy雖然介面直觀，但已經有點老舊，尤其是下載的發行版rootfs，還有預設下載指令稿寫的不好容易斷線，一些細部設定也不是讓人很滿意。因此拋棄Linux Deploy，直接使用Termux手動建立chroot環境吧。\n跟免root權限的proot Ubuntu比起來，chroot原生效能的執行速度還是比較快的。\n本文以Ubuntu 22.04 LTS為範例，建立一個帶有桌面環境的chroot，並用Termux X11顯示桌面。文末再提供一鍵啟動指令稿。\n測試手機：Sony Xperia 10 V，Android 13 Ubuntu + KDE Plasma on Android\n1. 硬體需求 # 要跑桌面環境的話\n處理器建議Qualcomm Snapdragon 845以上等級\nRAM \u0026gt;= 6GB\n儲存空間最少10GB\n2. 安裝Busybox、Termux、Termux X11 # 在Android安裝Busybox\n安裝Termux\n安裝Termux X11\n安裝virglrenderer啟用硬體加速\n3. 安裝Ubuntu chroot環境 # Linux Deploy預設把檔案系統存放成單一映像檔再掛載，但這裡我們直接把Ubuntu的rootfs解壓縮到Android檔案系統。\n開啟Termux，開啟後安裝tsu和pulseaudio pkg update pkg install tsu pulseaudio 切換到su，進入Android shell su 選擇/data/local/tmp這個目錄比較不會有權限問題。首先新增存放檔案系統的目錄： mkdir /data/local/tmp/chrootubuntu cd /data/local/tmp/chrootubuntu 下載最新Ubuntu base檔案系統，現在版本是24.04。您可以到Ubuntu官網查看每日建置的最新版本。 busybox wget https://cdimage.ubuntu.com/ubuntu-base/releases/noble/release/ubuntu-base-24.04.2-base-arm64.tar.gz 解壓縮，再新增一個當作內部儲存空間掛載點的sdcard目錄，並新增/dev/shm裝置目錄。 tar xpvf ubuntu-base-*-base-arm64.tar.gz --numeric-owner mkdir ./sdcard mkdir ./dev/shm cd ../ 新增啟動chroot的指令稿：vi startu.sh，填入以下內容 #!/bin/sh # Ubuntu檔案系統所在路徑 UBUNTUPATH=\u0026#34;/data/local/tmp/chrootubuntu\u0026#34; # 解決setuid問題 busybox mount -o remount,dev,suid /data busybox mount --bind /dev $UBUNTUPATH/dev busybox mount --bind /sys $UBUNTUPATH/sys busybox mount --bind /proc $UBUNTUPATH/proc busybox mount -t devpts devpts $UBUNTUPATH/dev/pts # Electron APPS需要/dev/shm busybox mount -t tmpfs -o size=256M tmpfs $UBUNTUPATH/dev/shm # 掛載內部儲存空間 busybox mount --bind /sdcard $UBUNTUPATH/sdcard # chroot至Ubuntu busybox chroot $UBUNTUPATH /bin/su - root # 退出shell後取消掛載，因為後面要裝圖形環境所以這裡是註解狀態。若沒有要裝圖形環境再將以下指令取消註解。 #busybox umount $UBUNTUPATH/dev/shm #busybox umount $UBUNTUPATH/dev/pts #busybox umount $UBUNTUPATH/dev #busybox umount $UBUNTUPATH/proc #busybox umount $UBUNTUPATH/sys #busybox umount $UBUNTUPATH/sdcard 賦予指令稿執行權限 chmod +x startu.sh 進入chroot，這樣就可以開始安裝後續服務了。在終端機輸入exit之後會自動取消掛載相關目錄。如果退出後chroot行程沒有中止，那麼就強制停止Termux。 sh startu.sh 在下載套件前，先修正DNS和新增本機名稱： # 使用Google的DNS echo \u0026#34;nameserver 8.8.8.8\u0026#34; \u0026gt; /etc/resolv.conf echo \u0026#34;127.0.0.1 localhost\u0026#34; \u0026gt; /etc/hosts 然後解決Download is performed unsandboxed as root警告，並讓root能存取Android的網路： groupadd -g 3003 aid_inet groupadd -g 3004 aid_net_raw groupadd -g 1003 aid_graphics usermod -g 3003 -G 3003,3004 -a _apt usermod -G 3003 -a root 再來更新APT儲存庫： apt update apt upgrade 安裝常用工具： apt install vim net-tools sudo git 4. 新增一般使用者、中文化、設定輸入法 # 設定時區為台灣台北 ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime 修改root密碼 passwd root 新增一般使用者並設定密碼 groupadd storage groupadd wheel useradd -m -g users -G wheel,audio,video,storage,aid_inet -s /bin/bash user passwd user 編輯：vim /etc/sudoers，在root ALL=(ALL) ALL的下一行加入以下內容: user ALL=(ALL:ALL) ALL 切換到一般使用者 su user 安裝locales套件並產生正體中文： sudo apt install locales sudo locale-gen zh_TW.UTF-8 安裝Fcitx5輸入法 sudo apt install fcitx5* 用vim編輯/etc/environment，加入以下內容。 LANG=zh_TW.UTF-8 LC_CTYPE=\u0026#34;zh_TW.UTF-8\u0026#34; LC_NUMERIC=\u0026#34;zh_TW.UTF-8\u0026#34; LC_TIME=\u0026#34;zh_TW.UTF-8\u0026#34; LC_COLLATE=\u0026#34;zh_TW.UTF-8\u0026#34; LC_MONETARY=\u0026#34;zh_TW.UTF-8\u0026#34; LC_MESSAGES=\u0026#34;zh_TW.UTF-8\u0026#34; LC_PAPER=\u0026#34;zh_TW.UTF-8\u0026#34; LC_NAME=\u0026#34;zh_TW.UTF-8\u0026#34; LC_ADDRESS=\u0026#34;zh_TW.UTF-8\u0026#34; LC_TELEPHONE=\u0026#34;zh_TW.UTF-8\u0026#34; LC_MEASUREMENT=\u0026#34;zh_TW.UTF-8\u0026#34; LC_IDENTIFICATION=\u0026#34;zh_TW.UTF-8\u0026#34; LC_ALL= GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus Fcitx5輸入法可以用fcitx5 \u0026amp;指令啟動，或是點選應用程式列表的Fcitx5圖示。 5. 安裝桌面環境 # 二擇一。XFCE4輕量簡樸，KDE重型華麗。\nGNOME目前無法啟動。\nXFCE4 # 安裝XFCE4（Xubuntu的配置）。出現keyboard layout的問題的時候輸入1，並選取使用lighdm sudo apt install xubuntu-desktop 設定預設終端機模擬器，輸入xfce4-terminal的編號 sudo update-alternatives --config x-terminal-emulator 用dbus啟動的指令是為startxfce4。下面會談到。\nKDE # 安裝KDE（Kubuntu的配置） sudo apt install kubuntu-desktop 設定預設終端機模擬器，輸入konsole的編號 sudo update-alternatives --config x-terminal-emulator 用dbus啟動KDE的指令是為startplasma-x11。下面會談到。\n6. 其他調整 # 設定SSH伺服器 # 如果您有從遠端存取的需求就安裝openSSH。 sudo apt install openssh-client openssh-server 手動啟動SSH server daemon: mkdir /run/sshd /usr/sbin/sshd -D \u0026amp; 手機的IP位址可以用以下指令查看： ifconfig 停用Snap # 現在Ubuntu不論安裝Firefox還是Chrmoium都會重新導向用Snap安裝，偏偏chroot環境Snap又跑不起來，所以只好將它封鎖了。\n解除安裝Snap： sudo apt-get autopurge snapd 執行此指令防止以後自動安裝Snap，請一次全複製然後執行： cat \u0026lt;\u0026lt;EOF | sudo tee /etc/apt/preferences.d/nosnap.pref # To prevent repository packages from triggering the installation of Snap, # this file forbids snapd from being installed by APT. # For more information: https://linuxmint-user-guide.readthedocs.io/en/latest/snap.html Package: snapd Pin: release a=* Pin-Priority: -10 EOF 移除Snap之後會有很多套件無法安裝，於是就只能額外取得deb檔來安裝。以Firefox來說，可以改從Mozilla官方軟體庫安裝： sudo apt install software-properties-common sudo add-apt-repository ppa:mozillateam/ppa sudo apt-get update sudo apt-get install firefox-esr 7. 設定一鍵啟動指令稿 # Termux本身有用PulseAudio → OpenGL ES發出音效的功能，接著用Termux X11充當X伺服器，用於顯示Ubuntu桌面。\n在此我們利用Termux Widget，新增從手機桌面啟動chroot Ubuntu的捷徑。\n退出chroot環境 exit 安裝Termux Widget\n開啟手機系統設定，授予Termux「顯示在其他應用程式上方」的權限。\n強制停止Termux。再重新啟動Termux。\n編輯啟動Ubuntu的指令稿\nsu -c \u0026#34;vi /data/local/tmp/startu.sh\u0026#34; 將busybox chroot $UBUNTUPATH /bin/su - root這行改成登入user。startxfce4這個指令會自動啟動XFCE4桌面環境 busybox chroot $UBUNTUPATH /bin/su - user -c \u0026#34;export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4713 \u0026amp;\u0026amp; dbus-launch --exit-with-session startxfce4\u0026#34; 新增捷徑檔案 touch .shortcuts/startchroot_ubuntu.sh chmod +x .shortcuts/startchroot_ubuntu.sh vim .shortcuts/startchroot_ubuntu.sh 填入以下內容： #!/bin/sh # 中止所有舊行程 killall -9 termux-x11 Xwayland pulseaudio virgl_test_server_android termux-wake-lock ## 啟動Termux X11 am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity sudo busybox mount --bind $PREFIX/tmp /data/local/tmp/chrootubuntu/tmp XDG_RUNTIME_DIR=${TMPDIR} termux-x11 :0 -ac \u0026amp; sleep 3 # 啟動Termux的Pulse Audio pulseaudio --start --exit-idle-time=-1 pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 # 啟動virgl server virgl_test_server_android \u0026amp; # 執行chroot Ubuntu的指令稿 su -c \u0026#34;sh /data/local/tmp/startu.sh\u0026#34; 回到手機桌面，長按新增小工具，選取Termux Widget拖到桌面。剛剛寫的指令稿應該就會顯示在列表上了，按下Termux就會自動啟動，並進入桌面環境。\n要中止桌面還的話就是按Exit退出，或者強制停止Termux與Termux X11 APP。\n8. 如何安全刪除chroot目錄的資料 # 刪除chroot環境的資料要格外小心，首先要退出chroot，確認一切都已經取消掛載（沒有resource is busy訊息），否則您可能會把sdcard資料也刪了。\n最簡單的方式是直接重開機，這樣一切都會取消掛載。\n然後刪除chroot目錄：\nsu -c \u0026#34;rm -r /data/local/tmp/chrootubuntu\u0026#34; 參考資料 # chroot啟動指令稿參考自mjuned47/Termux-Ubuntu\n系統設定部份參考：\n在Android 上创建GNU/Linux 容器- 约伊兹的萌狼乡手札 在Termux chroot Ubuntu 22.04环境中使用vscode和zotero - 升升小屋 cheadrian/Running Linux GUI apps on Android using Ubuntu in chroot, Magisk and Termux 移除Snap參考How to remove Snap completely without losing Firefox? - AskUbuntu\n","date":"2023年11月4日","externalUrl":null,"permalink":"/posts/termux-chroot-ubuntu/","section":"所有文章","summary":"🇺🇸 English version\n在Android手機建立chroot Ubuntu環境。\n在電腦GNU/Linux系統上，我們可以利用chroot指令，建立一個隔離的Linux環境。這就是在cgroups之前出現的，最早的容器概念。透過chroot指令切換進去後，就彷彿進到了另外一個系統。Android系統基於Linux核心開發，經過一些調整後，就能使用chroot。\n緣由：Linux Deploy雖然介面直觀，但已經有點老舊，尤其是下載的發行版rootfs，還有預設下載指令稿寫的不好容易斷線，一些細部設定也不是讓人很滿意。因此拋棄Linux Deploy，直接使用Termux手動建立chroot環境吧。\n跟免root權限的proot Ubuntu比起來，chroot原生效能的執行速度還是比較快的。\n本文以Ubuntu 22.04 LTS為範例，建立一個帶有桌面環境的chroot，並用Termux X11顯示桌面。文末再提供一鍵啟動指令稿。\n測試手機：Sony Xperia 10 V，Android 13 Ubuntu + KDE Plasma on Android\n1. 硬體需求 # 要跑桌面環境的話\n處理器建議Qualcomm Snapdragon 845以上等級\nRAM \u003e= 6GB\n儲存空間最少10GB\n2. 安裝Busybox、Termux、Termux X11 # 在Android安裝Busybox\n安裝Termux\n安裝Termux X11\n安裝virglrenderer啟用硬體加速\n3. 安裝Ubuntu chroot環境 # Linux Deploy預設把檔案系統存放成單一映像檔再掛載，但這裡我們直接把Ubuntu的rootfs解壓縮到Android檔案系統。\n","title":"[Root] 手機Termux建立chroot Ubuntu環境，免Linux Deploy","type":"posts"},{"content":"現在Android手機已經很少有16：9的比例了，但很多電視螢幕仍然使用16：9比例。當我們透過Chromecast投影至大螢幕時，就會因為二者螢幕比例不一致，導致出現黑邊，甚至畫面被切掉。\n使用HDMI鏡射手機螢幕同樣會遇到這個問題，畢竟它是整個螢幕mirror過去，而非雙螢幕。\n如下圖，21：9的Sony手機投影到16：9的電視，導致電視螢幕上下切邊，螢幕顯示超過電視範圍。 這個時候，安裝Braden Farmer開發的SecondScreen APP即可解決這個問題。它支援動態改變手機螢幕解析度，甚至DPI也可一併改變。 安裝之後，把手機的解析度調整一下，投影的比例問題就解決啦。不需要指令，只需要按一按就好。 不用太擔心改螢幕大小界面混亂的問題，原生Android 12以後已針對大螢幕優化，按鈕會自動適應螢幕大小。\n原生系統甚至會自動變形成平板介面呢！ 影片版操作教學 1. 下載Second Screen # 此APP建議有Root權限的手機使用，否則您得設定Shizuku才能免Root改變螢幕大小。\n另外，Second Screen的作者表示此APP較適合原生Android系統使用，重度修改過的MIUI不保證能正常運作。\n請至Google Play或Github下載Second Screen APK。\n安裝後開啟APP給予Root權限。\n2. Second Screen設定教學 # 為防止等下按鈕變小不好按，我們先在Google Home APP開啟「投放我的螢幕」。 開啟Second Screen，點選右下角+號，新增設定檔。輸入設定檔名稱。如果您不知道要怎麼填，可以選擇下面的TV、Monitor預設集。 依照要投影螢幕的設定解析度(Resolution)和DPI(Density)。通常螢幕愈大，DPI越高。 往下滑，我開啟鎖定螢幕旋轉(Lock Screen Orientation)、螢幕延遲關閉(Alwasy on)、投影時調暗亮度(Reduce Backlight)。 設定好後點選右上角儲存。\n點選設定檔載入，授予必要權限。之後手機解析度就會起變化。 為防止意外，Second Screen會在手機重開機後自動還原原始解析度。\n點選設定檔，點選Turn off，還原手機解析度。如果手機界面仍不太正常，請將此APP強制停止，或者重開機。 ","date":"2023年11月3日","externalUrl":null,"permalink":"/posts/android-secondscreen/","section":"所有文章","summary":"現在Android手機已經很少有16：9的比例了，但很多電視螢幕仍然使用16：9比例。當我們透過Chromecast投影至大螢幕時，就會因為二者螢幕比例不一致，導致出現黑邊，甚至畫面被切掉。\n使用HDMI鏡射手機螢幕同樣會遇到這個問題，畢竟它是整個螢幕mirror過去，而非雙螢幕。\n如下圖，21：9的Sony手機投影到16：9的電視，導致電視螢幕上下切邊，螢幕顯示超過電視範圍。 這個時候，安裝Braden Farmer開發的SecondScreen APP即可解決這個問題。它支援動態改變手機螢幕解析度，甚至DPI也可一併改變。 安裝之後，把手機的解析度調整一下，投影的比例問題就解決啦。不需要指令，只需要按一按就好。 不用太擔心改螢幕大小界面混亂的問題，原生Android 12以後已針對大螢幕優化，按鈕會自動適應螢幕大小。\n原生系統甚至會自動變形成平板介面呢！ 影片版操作教學 1. 下載Second Screen # 此APP建議有Root權限的手機使用，否則您得設定Shizuku才能免Root改變螢幕大小。\n另外，Second Screen的作者表示此APP較適合原生Android系統使用，重度修改過的MIUI不保證能正常運作。\n","title":"解決Chromecast手機螢幕投放比例問題，安裝SecondScreen改解析度","type":"posts"},{"content":"非洲傳統價值觀「Ubuntu」的意思是為「人性」，人的存在少不了他人的存在，以及彼此的信任。此時訊息的傳遞就變成重要的話題。 教育理論有一個針對英文教學方法的爭論：究竟是應該鼓勵學生多使用語言，還是應該不時糾正學生的錯誤文法問題呢？有一派認為與其多使用語言，讓訊息成功傳遞才是更重要的課程。\n文章架構要清楚，要邏輯，要循序漸進。別人能讀懂你的文章，那麼你的文章才算是寫的好。\n本次呢，要來談作為終端使用者的我，在寫科技類文章，介紹新科技的時候，應當避免訊息無法傳遞的問題，並探討改善方案。\n（此處的科技類文章可以延伸到科普文章、技術文章上）\n1. 了解文章的價值 # 對不起讓我自吹自擂一下。我不做新聞報導的跟風貼文內容，我絕對不會寫「近日根據XXX報導，YY公司怎樣\u0026hellip;」的時效性文章，那種的po在社群媒體就夠了。主力文章要寫鐵定是偏review性質的文章，包含我的使用心得在內的，並可能隨時效變動。\n考慮到SEO的問題，標題和行文絕對不做賤自己，認為寫的東西總是有價值的，所以會盡全力寫並適當加入個人想法，以求有風格。再稍微做些關鍵字研究來調整內容，不會完全當日記處理。\n可是，要如何防止文章變成太geek的自言自語、只有技術圈宅宅看得懂，這是另一個課題了。\n2. 防止「geek般的自言自語」 # 英文的geek可以指電腦奇才，近年來較多人使用的是tehc-savvy一詞。那麼不熟科技的人自然是non-tech-savvy了。\n我喜好開源軟體，雖然熱衷發掘各種Github開源專案並撰文介紹，老實說太geek的東西我也很難下筆的。除了我自己看不懂外，更多的是讓文章變流水帳的機率大增。\n比如：純C語言實作的llama.cpp V.S. 大型語言模型整合前端Serge，那麼我是偏好研究後者方案的。因為對我們這些不直接參與程式開發，而是拿來用的終端使用者來說，能馬上「使用」的東西自是比較有價值的了。\n回到剛才說的，如果寫的文字太技術性，文章開頭都是「XXX是一款幫你OOO的軟體，感興趣的可以下載看看。」那麼自己也會感到千篇一律，讀不下去，太多的科技名詞(jargon)容易讓人摸不著頭腦，乾癟的宣傳文字也只能吸引到圈內人注意。\n真的看過太多文章這樣介紹一種新技術/新軟體的呢，可你是在寫部落格，不是新聞報導好不。\n撰文的時候要知道我不是在寫技術文件，如果只有一篇文章的篇幅要講完一個軟體的用法和優缺點，卻鉅細靡遺的列出所有選項，供使用者選擇這個選擇那個\u0026hellip;到頭來只是混亂。如果只是教科書的寫完安裝流程，那麼他們按翻譯機去看原文不就好了？我的價值，難道只是充當訊息搬運工而已？\n我不是在做論文研究，如果在軟體安裝前花大篇幅介紹某個軟體背後使用的程式語言、跑分性能比其他的要好屬於過當了\u0026hellip;讀者知道這個幹嘛？為什麼不要一句話「這個軟體屌打A軟體」帶過就好了。如何讓枯燥的數據變成有趣的文字敘述，是我一直在訓練的行文技巧。\n比起軟體背後的技術堆棧(stack)，我更喜歡讀軟體開發者的製作動機，以及背後故事。這樣的話吸收後作為我文章的素材，可以增添趣味，讓我們不用執著於技術的枝微末節。 自架相簿軟體Immich的作者的背後故事就很有趣\n務求在這其中追求平衡，想知道每個參數用途的去看文件，我喜歡先弄常用的就好，起碼要用最短路徑讓軟體成功安裝，在電腦上動起來。如此一來作為終端使用者，我們才可以開始東摸西摸，從實際使用中去學習、去試誤軟體。\n得特別強調，這種「先斬後奏」是我個人經驗的用法啦，從錯誤中學習。有些人倒喜歡先全部搞懂背後技術，才敢使用新軟體。\n畢竟軟體重點是要用的，不是研究的。\n為避免自己文章變成說明書一樣的操作手冊，我不吝於加入一些個人想法與搞怪元素，讓文章有生命力，有獨到之處，而非那種迅速消逝在社群媒體動態牆的一個短篇消息。\n3. 我認為太geek的例子 # 例子1，很多AI聊天程式，在Text Generation WebUI這種大一統方案成熟前都是要打指令的，這種我推不下去。就算不是UI設計師，如果你連WebUI都懶得做，那就不該使用此專案了。\nStable Diffusion WebUI也是一樣，如果沒有網頁界面誰敢試呢？很多開發者提出了一鍵安裝的方案，讓使用門檻大大降低，如果沒有破壞自訂性的話，那我也確實該使用那些方案。\n例子2，ReDroid，這個專案很棒，可是偏原型(prototype)階段，無法跟商業Android模擬器競爭，想當雲手機DIY成份又太大。你看我一篇文章裝那些東西花好多時間了呀，轉譯器、GAPPS都要自己安裝。連我自己在推廣ReDroid方案的時候也用了太多術語導致異常艱深。\nReDroid開發者基於各種因素無法提供開箱即用的方案，在回覆issue的時候總是給出工程師一樣的各種選擇。開發者確實博學，可沒有直接解決問題，就是個問題了。 我講個比喻：ReDroid vs Android模擬器的差距，好似Arch Linux vs Ubuntu的差別。ReDroid有潛力，可是難以上手。\n軟體開發者應該照顧到終端使用者的需求，考慮到推廣一種具有潛力的方案，務求讓使用者可以開箱即用才是最好的，而不是每一個步驟都要編譯東編譯西的，看了就煩。\n我沒有譴責ReDroid做的不好，這些類似原型的東西也不是壞事，其作為日後更強大的軟體基石，其貢獻也是不可磨滅的。\n4. 改善 # 因為我不是專業開發者，很難給出具體步驟建議，只能在這裡講一些空話，甚是抱歉。\n我可以理解工程師總是得追求精確的解決方式，以達到正確的途徑。所以程式部份很強，但對外溝通又需要另一番功夫，有的工程師不擅長經營宣傳，在專案README裡面花太多篇幅說明技術性的東西，就讓他們的專案變成生硬的理論磚頭屬實可惜。然後被同樣很geek的同業看到，在轉述的時候也寫的很geek，好像沒什麼強化宣傳的效果。\n若是流水帳的報導新科技東西，那麼我能期待訊息成功傳遞嗎？或許讀者看到了新資訊，但是因為沒有太多值得咀嚼的部份，難以進入大腦的長期記憶區域。這個時候，個人風格的文章就顯得重要，可以給人留下印象。\n開源專案稍微做的有點起色的，應該要逐漸轉向把Quick Start、對終端使用者有益的內容放在前面，之後再討論技術性的東西。即使是推廣新技術的文章，也應當如此。\n切勿妄自菲薄的認為本專案僅是學術研究的東西！No！如是所有的信仰使人渺小，既然有好的點子為何不讓更多人知道呢。\n不妨學習「麥肯錫30秒電梯理論」，想想自己的專案有什麼優勢，盡全力在README列出優勢，做好宣傳工作讓人快速上手，這樣不只可以吸引知名度，程式碼貢獻者也會自然來了。 圖源：https://www.thenewslens.com/article/159851\n作為終端用戶，要寫技術文，在寫文章前先列出大綱便是最好的方式了，方便抓重點。切勿在且寫文章的時候當作個人筆記，而導致流水帳無重點。就算是筆記也要好好抄寫才有給人看的價值吧。\n我個人喜愛提供一鍵安裝環境的程式開發者，讓使用者可以快速嘗到軟體的甜頭，而不是先嘗盡苦頭。畢竟不是每個人都喜歡玩vim自定義，多半會先找個預設設定檔開始用。如此一來對終端使用者方便，對推廣者也有好處。\n我也得自我批判一番，因為長期使用Linux，在寫文章的時候，安裝軟體章節忽略了很多人連英文都看不懂，更別說安裝檔的下載了，所以有時候軟體安裝過程太簡略也是個問題。\n這個時候就只能多得一點指示了，可是我真不想寫到那種連下載資料夾在哪裡都要明確告訴讀者的低階程度啊。這個尺度得自行拿捏，知道目標讀者的大略程度在哪裡，才有辦法寫出大多數人可以接受的文章。\n5. 結論 # 開頭說了，非洲傳統價值觀「Ubuntu」是「人性」，有你才有我。那麼在最後，我覺得可進一步延伸為「我在乎你能不能真正了解到我的想法」「訊息有沒有正常傳遞」這樣我們才能互相理解，達成更好的目的。在撰寫科技文章的時候也是這樣，如果讓訊息成功傳遞到對方，那麼這篇文章就不只是電子訊號，而是進到人們心坎裡的靈魂波動了。\n","date":"2023年11月3日","externalUrl":null,"permalink":"/posts/taking-care-of-non-tech-savvy/","section":"Personals","summary":"非洲傳統價值觀「Ubuntu」的意思是為「人性」，人的存在少不了他人的存在，以及彼此的信任。此時訊息的傳遞就變成重要的話題。 教育理論有一個針對英文教學方法的爭論：究竟是應該鼓勵學生多使用語言，還是應該不時糾正學生的錯誤文法問題呢？有一派認為與其多使用語言，讓訊息成功傳遞才是更重要的課程。\n文章架構要清楚，要邏輯，要循序漸進。別人能讀懂你的文章，那麼你的文章才算是寫的好。\n本次呢，要來談作為終端使用者的我，在寫科技類文章，介紹新科技的時候，應當避免訊息無法傳遞的問題，並探討改善方案。\n（此處的科技類文章可以延伸到科普文章、技術文章上）\n1. 了解文章的價值 # 對不起讓我自吹自擂一下。我不做新聞報導的跟風貼文內容，我絕對不會寫「近日根據XXX報導，YY公司怎樣…」的時效性文章，那種的po在社群媒體就夠了。主力文章要寫鐵定是偏review性質的文章，包含我的使用心得在內的，並可能隨時效變動。\n考慮到SEO的問題，標題和行文絕對不做賤自己，認為寫的東西總是有價值的，所以會盡全力寫並適當加入個人想法，以求有風格。再稍微做些關鍵字研究來調整內容，不會完全當日記處理。\n","title":"防止geek般的自言自語，寫技術類文章應考慮non-tech-savvy讀者的觀感","type":"personal"},{"content":"Text Generation WebUI擴充功能(extension)可從Session頁面啟用，點選後按Apply and restart Interface。 裡面有的功能是需要第三方線上服務token的，請詳細閱讀開發者的說明。\n角色扮演 # Text Generation WebUI支援AI角色扮演。\n在characters目錄放入角色名稱.yaml檔案，自訂AI的身份。或者可用網頁界面的\u0026quot;Chat Settings\u0026quot;頁面編輯。 在WebUI的底部點選Character gallery切換角色。 這樣就可以玩角色扮演對話，並且對話紀錄會保留下來。 Google翻譯 # 啟用擴充功能google_translate_plus，用Google翻譯雙方的對話內容。\n眾所周知Google翻譯不是普通的差。反正都要依賴不自由的網路服務，串ChatGPT API幫你翻譯還比較快。\n彙整Google搜尋結果 # 啟用擴充功能Web_Search，下指令後AI就會搜尋Google並唸出結果。\n文字轉語音 # silero_tts：配合Silero這個模型，將對話內容文字轉語音並念出。\n長期記憶 # long_term_memory保留AI的對話紀錄。這樣AI擁有記憶，能記得之前談過的內容。\n圖片辨識 # send_pictures這個擴充功能讓你上傳圖片給AI，再由AI依據CLIP模型的結果回傳圖片內容的描述文字。\n還有LLaVA pipeline，可利用openai/clip-vit-large-patch14辨識圖片，再讓AI描述圖片內容。\n用Stable Diffusion繪圖 # 類似Microsoft New Bing，叫AI幫你畫一張圖。因為要在一台電腦跑二個需要大量顯卡算力的模型，請確認硬體是否負荷得了。\n啟用擴充功能sd_api_pictures，即可在對話的時候，讓AI生成文字配合Stable Diffusion WebUI繪圖。\n注意：Text Generation WebUI預設是跟Stable Diffusion WebUI使用相同的7860通訊埠，需要用--listen-port引數將前者變更為其他通訊埠。\n在SD WebUI的啟動引數加入--api，啟動SD WebUI。\n啟動Text Generation WebUI時加上--listen-port 7861引數，將通訊埠變更為7861/TCP。\n在Text Generation WebUI的界面最下方，展開sd_api_pictures的界面，填入SD WebUI的IP和通訊埠，按下Enter檢查連線。\n勾選Immersive Mode，再填入繪圖的提示詞。提示詞欄位只要填基本的品質提示詞即可，剩下的提示詞AI會自動從你的對話代入。 在與AI對話時，填入含有send|main|message|me加上image|pic|picture|photo|snap|snapshot|selfie|meme的提示詞，即會觸發Stable Diffusion繪圖功能，並回傳圖片。\n","date":"2023年11月1日","externalUrl":null,"permalink":"/posts/text-generation-webui-extensions/","section":"Language-Models","summary":"Text Generation WebUI擴充功能(extension)可從Session頁面啟用，點選後按Apply and restart Interface。 裡面有的功能是需要第三方線上服務token的，請詳細閱讀開發者的說明。\n角色扮演 # Text Generation WebUI支援AI角色扮演。\n在characters目錄放入角色名稱.yaml檔案，自訂AI的身份。或者可用網頁界面的\"Chat Settings\"頁面編輯。 在WebUI的底部點選Character gallery切換角色。 這樣就可以玩角色扮演對話，並且對話紀錄會保留下來。 Google翻譯 # 啟用擴充功能google_translate_plus，用Google翻譯雙方的對話內容。\n眾所周知Google翻譯不是普通的差。反正都要依賴不自由的網路服務，串ChatGPT API幫你翻譯還比較快。\n彙整Google搜尋結果 # 啟用擴充功能Web_Search，下指令後AI就會搜尋Google並唸出結果。\n","title":"Text Generation WebUI擴充功能使用方式","type":"language-model"},{"content":"如何下指令依使用的語言模型而定。\n設定模型參數 # 能調整的參數很多，我講最直接的。\n使用llama.cpp之前，請到Parameters → max_new_tokens設為4096，按旁邊的按鈕存檔。這樣AI回答會長一點。 提示詞 # 跟ChatGPT的用法類似，要求AI執行特定任務前，要先下確切的提示詞(prompt)告訴AI要扮演什麼角色，這樣它會更明白要做什麼。\n預設對話模式是聊天與指示模式，在Input框框輸入問題，按Generate產生回答。 可以先從簡單的事實性回答開始問起 或嘗試讓AI翻譯文本 或者要求寫個小故事。 設定AI角色身份之後，還能玩角色扮演(參見擴充功能) ","date":"2023年11月1日","externalUrl":null,"permalink":"/posts/text-generation-webui-usage/","section":"Language-Models","summary":"如何下指令依使用的語言模型而定。\n設定模型參數 # 能調整的參數很多，我講最直接的。\n使用llama.cpp之前，請到Parameters → max_new_tokens設為4096，按旁邊的按鈕存檔。這樣AI回答會長一點。 提示詞 # 跟ChatGPT的用法類似，要求AI執行特定任務前，要先下確切的提示詞(prompt)告訴AI要扮演什麼角色，這樣它會更明白要做什麼。\n預設對話模式是聊天與指示模式，在Input框框輸入問題，按Generate產生回答。 可以先從簡單的事實性回答開始問起 或嘗試讓AI翻譯文本 或者要求寫個小故事。 設定AI角色身份之後，還能玩角色扮演(參見擴充功能) ","title":"Text Generation WebUI網頁對話用法，如何與AI正確聊天","type":"language-model"},{"content":"Text Generation WebUI因為整合了許多技術，有時需要設定啟動引數(arguments)才能使用特定硬體計算。\n預設模式下，Text Generation WebUI會使用GPU計算，您可以設定引數強迫使用CPU計算。語言模型即使全用CPU跑，產生對話的速度還是可以接受的。\n於終端機按Ctrl＋C，終止Text Generation WebUI程式。\n到text-generation-webui-main資料夾，編輯CMD_FLAGS.txt 在最後一行填入引數，比如：\n--listen --auto-devices 完整引數請參考開發者的Github，下面我介紹一些常用的。 --auto-devices引數自動分配計算任務給CPU和GPU --cpu：強制只用CPU計算 --gpu-memory設定最多分配的VRAM，防止記憶體不足之用，數值視您的顯卡VRAM而定 --model指定要載入的模型 --listen使WebUI的port可從外部網路存取 範例，用GPU跑的引數設定如下：\n--listen --auto-devices --gpu-memory 2 --model \u0026#34;模型檔名\u0026#34; 純CPU跑的引數：\n--listen --cpu --model \u0026#34;模型檔名\u0026#34; 儲存CMD_FLAGS.txt，重新啟動WebUI。啟動後程式會自動判別模型種類，選取適合的方法載入。 ","date":"2023年11月1日","externalUrl":null,"permalink":"/posts/text-generation-webui-arguments/","section":"Language-Models","summary":"Text Generation WebUI因為整合了許多技術，有時需要設定啟動引數(arguments)才能使用特定硬體計算。\n預設模式下，Text Generation WebUI會使用GPU計算，您可以設定引數強迫使用CPU計算。語言模型即使全用CPU跑，產生對話的速度還是可以接受的。\n於終端機按Ctrl＋C，終止Text Generation WebUI程式。\n到text-generation-webui-main資料夾，編輯CMD_FLAGS.txt 在最後一行填入引數，比如：\n--listen --auto-devices 完整引數請參考開發者的Github，下面我介紹一些常用的。 --auto-devices引數自動分配計算任務給CPU和GPU --cpu：強制只用CPU計算 --gpu-memory設定最多分配的VRAM，防止記憶體不足之用，數值視您的顯卡VRAM而定 --model指定要載入的模型 --listen使WebUI的port可從外部網路存取 範例，用GPU跑的引數設定如下：\n--listen --auto-devices --gpu-memory 2 --model \"模型檔名\" 純CPU跑的引數：\n--listen --cpu --model \"模型檔名\" 儲存CMD_FLAGS.txt，重新啟動WebUI。啟動後程式會自動判別模型種類，選取適合的方法載入。 ","title":"Text Generation WebUI：啟動引數","type":"language-model"},{"content":" 1. 使用一鍵安裝器安裝主程式 # 開發者在oobabooga/text-generation-webui Wiki - GitHub提供Linux/Windows/macOS的一鍵安裝器，會自動裝好Python與依賴套件，但是語言模型您得另外下載。\n如果您是Linux系統，需要先安裝Nvidia專有驅動以及CUDA\n點選Github Releases取得一鍵安裝器main.zip，您可以放置到任意硬碟位置。\n將main.zip解壓縮，進入text-generation-webui-main資料夾\n按照您的作業系統執行指令稿。日後要啟動Text Generation WebUI也是使用此指令稿。\nLinux → 於該資料夾開啟終端機，輸入./start_linux.sh\nWindows → 於該資料夾對start_windows.bat兩下執行。\nmacOS → 開啟終端機，切換到text-generation-webui-main所在位置，例如cd ~/下載/text-generation-webui-main，接著執行./start_macos.sh\n中間會詢問顯示卡晶片，這裡我輸入A選擇Nvidia。 等待依賴套件下載完成，大約10GB 裝完依賴套件後會顯示此訊息 用瀏覽器開啟http://127.0.0.1:7860，進入網頁界面。確認網頁界面可以跑出來後，開始下載模型。 2. 如何更新主程式 # 執行對應的指令稿，程式就會自己下載更新：\nLinux → update_linux.sh\nWindows → update_windows.bat\nmacOS → update_macos.sh\n如果更新後Python依賴套件出錯，請嘗試刪除installer_files/env資料夾，再啟動WebUI，讓它重裝依賴套件。\n","date":"2023年11月1日","externalUrl":null,"permalink":"/posts/text-generation-webui-installation/","section":"Language-Models","summary":"1. 使用一鍵安裝器安裝主程式 # 開發者在oobabooga/text-generation-webui Wiki - GitHub提供Linux/Windows/macOS的一鍵安裝器，會自動裝好Python與依賴套件，但是語言模型您得另外下載。\n如果您是Linux系統，需要先安裝Nvidia專有驅動以及CUDA\n點選Github Releases取得一鍵安裝器main.zip，您可以放置到任意硬碟位置。\n將main.zip解壓縮，進入text-generation-webui-main資料夾\n按照您的作業系統執行指令稿。日後要啟動Text Generation WebUI也是使用此指令稿。\nLinux → 於該資料夾開啟終端機，輸入./start_linux.sh\nWindows → 於該資料夾對start_windows.bat兩下執行。\nmacOS → 開啟終端機，切換到text-generation-webui-main所在位置，例如cd ~/下載/text-generation-webui-main，接著執行./start_macos.sh\n中間會詢問顯示卡晶片，這裡我輸入A選擇Nvidia。 等待依賴套件下載完成，大約10GB 裝完依賴套件後會顯示此訊息 用瀏覽器開啟http://127.0.0.1:7860，進入網頁界面。確認網頁界面可以跑出來後，開始下載模型。 ","title":"Text Generation WebUI安裝教學（Linux / Windows / macOS）","type":"language-model"},{"content":" 作業系統 # Linux建議Ubuntu 22.04以上版本 Windows建議使用Windows 10以上版本 macOS建議Ventura以上版本，M1處理器的更好 硬體需求 # CPU：四核心以上CPU GPU：Nvidia/AMD/Intel/Apple，推薦使用Nvidia顯示卡 GPU VRAM：6GB以上 RAM：16GB以上。如果電腦沒有SWAP/分頁檔建議直接上32GB 儲存空間：至少30GB GPU非必須品，因Text Generation WebUI支援以純CPU模式運算(llama.cpp)。當然有GPU更好，生成回答的速度會快很多。\n","date":"2023年11月1日","externalUrl":null,"permalink":"/posts/text-generation-webui-system-requirements/","section":"Language-Models","summary":"作業系統 # Linux建議Ubuntu 22.04以上版本 Windows建議使用Windows 10以上版本 macOS建議Ventura以上版本，M1處理器的更好 硬體需求 # CPU：四核心以上CPU GPU：Nvidia/AMD/Intel/Apple，推薦使用Nvidia顯示卡 GPU VRAM：6GB以上 RAM：16GB以上。如果電腦沒有SWAP/分頁檔建議直接上32GB 儲存空間：至少30GB GPU非必須品，因Text Generation WebUI支援以純CPU模式運算(llama.cpp)。當然有GPU更好，生成回答的速度會快很多。\n","title":"Text Generation WebUI硬體需求","type":"language-model"},{"content":"想要在自己的電腦跑離線版的ChatGPT嗎？來試試安裝「Text Generation WebUI」吧。\noobabooga開發的「Text Generation WebUI」支援多種大型語言模型(LLM)。可以在本機跑AI模型，與使用者聊天，比如Meta公司釋出的LLaMA模型。\n什麼是Meta LLaMA？ 開發者想仿效AUTOMATIC1111，讓Text Generation WebUI變成大型語言模型版的Stable Diffusion WebUI，也就是能啟動各式各樣的語言模型，作為各種AI模型的前端(frontend)，類似整合包的概念。\n您可以利用此軟體，問AI各種問題，要求寫文章、翻譯文本，或是聊天角色扮演，或是叫AI跑Stable Diffusio繪圖！ 所有ChatGPT的提示詞都可以在這裡拿來用，現在部份模型也支援中文作答囉。\n本軟體支援Linux/Window/macOS，開發者有提供一鍵安裝器，使用起來十分簡單。\n使用者還可以安裝各式各樣的擴充功能，增加AI玩法。同樣地，Text Generation WebUI也提供API，能與其他程式協同運作。\n","date":"2023年11月1日","externalUrl":null,"permalink":"/posts/text-generation-webui-introduction/","section":"Language-Models","summary":"想要在自己的電腦跑離線版的ChatGPT嗎？來試試安裝「Text Generation WebUI」吧。\noobabooga開發的「Text Generation WebUI」支援多種大型語言模型(LLM)。可以在本機跑AI模型，與使用者聊天，比如Meta公司釋出的LLaMA模型。\n什麼是Meta LLaMA？ 開發者想仿效AUTOMATIC1111，讓Text Generation WebUI變成大型語言模型版的Stable Diffusion WebUI，也就是能啟動各式各樣的語言模型，作為各種AI模型的前端(frontend)，類似整合包的概念。\n您可以利用此軟體，問AI各種問題，要求寫文章、翻譯文本，或是聊天角色扮演，或是叫AI跑Stable Diffusio繪圖！ 所有ChatGPT的提示詞都可以在這裡拿來用，現在部份模型也支援中文作答囉。\n本軟體支援Linux/Window/macOS，開發者有提供一鍵安裝器，使用起來十分簡單。\n使用者還可以安裝各式各樣的擴充功能，增加AI玩法。同樣地，Text Generation WebUI也提供API，能與其他程式協同運作。\n","title":"oobabooga的Text Generation WebUI ~ 離線聊天AI介紹","type":"language-model"},{"content":" 本文Ivon簡介Meta LLaMA AI聊天模型的背景資訊，並解說如何在您的電腦上跑離線版LLaMA AI。\n1. LLaMA是什麼？ # 隨著OpenAI ChatGPT的出現，讓人們了解到通用大型語言模型的應用潛力。不過ChatGPT有一個很大缺點，就是它跑在OpenAI的伺服器。語言模型龐大需要伺服器等級的硬體支撐，這點可以理解，但是使用會受到廠商限制，導致不能肆意妄為，甚至要「催眠」一下才會聽話(喂)。那麼有沒有可能在個人電腦跑「解除封印」的語言模型呢？LLaMA是目前最新的選擇。\nLLaMA是Meta推出的通用大型語言模型(large language model)，其硬體需求較低，可安裝在個人電腦，離線與AI聊天，當作OpenAI ChatGPT的低階替代品。 LLaMA即為英文的羊駝之意。圖片來自BusinessFocus\n2023年2月，Meta研發的通用大型語言模型「LLaMA」在發表前慘遭外洩，造成轟動，吸引許多人為其撰寫程式。儘管Meta要求各大網站下架，仍阻擋不了相關程式的推出。所以Meta等於「被迫」將LLaMA開源，只不過模型的完整權重(weights)仍需要向Meta填表格索取。\nMeta訓練了不同等級的LLaMA模型，依訓練參數數量分為7B、13B、30B、65B。Meta在他們的論文宣稱LLaMA 13B的模型性能超越GPT-3模型。\n2023年7月，Meta和Microsoft共同發表新一代模型「LLaMA 2」。 在那之後，基於LLaMA訓練的模型如雨後春筍出現，人們餵給LLaMA各式各樣的資料，從而強化了LLaMA的聊天能力，甚至使其支援中文對答。\n即使如此，LLaMA的訓練參數還是差ChatGPT一截，所以不能預期回答品質超越ChatGPT，更何況GPT 4了。\n訓練參數越多的LLaMA模型理論上越聰明，但是最大的（65B）跑起來仍需要伺服器等級的硬體；而較小的模型（7B、13B）雖然比較笨，卻是個人電腦跑得動的等級，有些模型甚至不用顯示卡也能跑。\n所以LLaMA使個人電腦、手機跑大型語言模型成為可能。\n2. LLaMA可以做的事情 # 作為大型語言模型，LLaMA可以完成以下這些類似ChatGPT的任務：\n解釋學術概念，例如：解釋Skinner行為主義心理學理論的優缺點，並舉出五個例子 寫一個Python程式，解決八皇后演算法問題(Eight queens puzzle)並給出解釋 幫我想五個中文的文章標題：在電影院吃鹹酥雞是不是合理的行為？ 段落抓重點：請抓出以下中央社新聞段落的重點，並用50個字以內解釋事件起因，以及最後結果。 文字翻譯（取自澤連斯基Twitter） 3. 基於LLaMA訓練的大型語言模型 # 在Meta發表LLaMA後，開始有基於LLaMA訓練的模型出現，我們姑且把他們稱作「LLaMA系列模型」吧，列舉部份如下。\nNomic AI的GPT4ALL模型為基於LLaMA ＋ 800k GPT-3.5-Turbo所訓練。這個模型的名字有點誤導，其實它跟OpenAI的GPT-4是沒有關係的。 OpenLM Research的OpenLLaMA是完全開源版的LLaMA實作，dataset也一併開源。 WizardLM，使模型能夠按照複雜指令回答。 中國的簡體中文Chinese-LLaMA-Alpaca大模型 台灣中研院研發的正體中文模型CKIP-Llama-2-7b 台灣還在研發的國科會TAIDE 想知道更多情報？到Reddit r/localLLaMA板吧，每個禮拜都會有新模型的情報出現。\n4. 如何安裝使用LLaMA系列模型？ # 大型語言模型不能直接使用，還需要有人開發程式方便與大型語言模型對話。\n參見開源大型語言模型軟體列表\n5. LLaMA大型語言模型優缺點總結 # 優點\n在個人電腦跑一個小型ChatGPT，不需要超高級的硬體。參數最少的LLaMA 7B模型只要4GB的RAM就能跑。 不用「催眠」就能繞過道德限制，回答各式各樣的問題， LLaMA 7B可以只用6GB VRAM的GPU跑，也可以只用CPU跑(llama.cpp)。 缺點\nLLaMA的性能比OpenAI的ChatGPT弱，訓練參數越少的越容易亂回答，可能回答牛頭不對馬嘴。 LLaMA預設只支援英文對答。不過已有用LoRA技術微調的中文、日文模型出現。 按照Meta的授權條款，LLaMA模型禁止商用，且完整模型權重尚未完全開放。 參考資料 # LLaMA - 維基百科 r/LocalLLMA - Reddit facebookresearch/llama: Inference code for LLaMA models - Github Meta and Microsoft Introduce the Next Generation of Llama ","date":"2023年11月1日","externalUrl":null,"permalink":"/posts/meta-llama-introduction/","section":"Language-Models","summary":" 本文Ivon簡介Meta LLaMA AI聊天模型的背景資訊，並解說如何在您的電腦上跑離線版LLaMA AI。\n1. LLaMA是什麼？ # 隨著OpenAI ChatGPT的出現，讓人們了解到通用大型語言模型的應用潛力。不過ChatGPT有一個很大缺點，就是它跑在OpenAI的伺服器。語言模型龐大需要伺服器等級的硬體支撐，這點可以理解，但是使用會受到廠商限制，導致不能肆意妄為，甚至要「催眠」一下才會聽話(喂)。那麼有沒有可能在個人電腦跑「解除封印」的語言模型呢？LLaMA是目前最新的選擇。\nLLaMA是Meta推出的通用大型語言模型(large language model)，其硬體需求較低，可安裝在個人電腦，離線與AI聊天，當作OpenAI ChatGPT的低階替代品。 LLaMA即為英文的羊駝之意。圖片來自BusinessFocus\n2023年2月，Meta研發的通用大型語言模型「LLaMA」在發表前慘遭外洩，造成轟動，吸引許多人為其撰寫程式。儘管Meta要求各大網站下架，仍阻擋不了相關程式的推出。所以Meta等於「被迫」將LLaMA開源，只不過模型的完整權重(weights)仍需要向Meta填表格索取。\n","title":"Meta的LLaMA開源大型語言模型與相關軟體介紹","type":"language-model"},{"content":" 悲傷孤獨歌單\n封面來自Tears for Fears - The Hurting專輯。\n自我、夢想、現實、愛情、哲學的糾葛。\n好中二的標題。嘛，下收歌單。\n（為了不被特定服務綁架，故不嵌入串流平台的播放清單元件。這些歌曲在Youtube Music、Spotify、Apple Music應該都能找到。）\n編排順序：從一開始慢慢渲染情緒，到中間高潮迭起，最後想通了，心情獲得紓解。最終走入另外一個悲傷輪迴。\n編入歌曲的局部歌詞解釋了我的心，雖然這些歌曲聽著會掉淚，但是卻有舒緩心情的效果。部份外文歌詞我自己翻譯成了中文。 Stack of Leis\n〈一疊花環〉\n(夏威夷歌曲，海綿寶寶出現傷心場景常用的BGM)\n「沒有飲料我要怎麼吃披薩呢！」（甩門）\n章魚哥：「海綿，海綿，你還好吧？沒事的，海綿。」\n海綿寶寶：（嚎啕大哭）\n李宗盛〈沒有人知道〉\n沒有人知道　沒有人知道\n我的心　我的心\n我是不是要註定孤獨\n去面對以後漫長的路\n怎樣才能面對存在內心的衝突\n是不是讓步 (不需要讓步)\n是不是讓步 (不需要讓步)\n老王樂隊〈那些失眠的夜與難以忘懷的事〉\n而所有的夢想都有終點\n而所有的美夢都會終結\n比你聰明的人阿\n都在努力往前\n我無力的閉上眼\n在這個孤獨的世界\n我等待著明天\n林強〈娛樂世界〉\n生活除了情愛就無別種歌可唱？\n一堆扮空裝瘋被消遣的歌星\n播送的歌都在談情說愛\n極樂的世界　白吃的世界　瘋狂的世界\n張懸〈玫瑰色的你〉\n不肯改的你，玫瑰色的你\n這一刻\n你是一個最憂愁的人\n你有著多少溫柔\n才能從不輕言傷心\n而你告別\n所有對幸福的定義\n汪峰〈為什麼不再快樂點〉\n再放下一些再忘記一些\n再去他媽一些就會很快樂\n不是只有革命才能得到拯救\n再微笑一些再渺小一些\n雖然傷悲讓生命更壯麗\n但最後還是要笑著哭泣\nRadiohead - Fake Plastic Trees\n電台司令〈虛假的塑膠花〉\n筋疲力盡，筋疲力盡\n塌縮燃燒著\n她看起來像真的\n她嘗起來也像真的\n我虛假塑膠花的愛戀\n如果我能成為你一直想要我成為的樣子的話\u0026hellip;\n如果可以的話\u0026hellip;\n如果我可以轉頭逃跑的話\u0026hellip;\n如果真的可以的話\u0026hellip;\n李志〈黑色信封〉\n這世界是不是我們的？\n如果沒有人看著我，那該多快樂\n這世界不該是我們的\n我可是個男人，為什麼打不起精神\n陳昇〈關於男人〉\n其實我也經常討厭我自己\n或者我怪罪我生存的時代\n努力的找理由\n解釋男人的驛動\n也常常一個人躲藏起來\n面對著不言不語的臉孔\n誰也不知道男人是怎麼了\n沒有玩具的孩子最落寞\n可是沒有夢的男人是什麼\n欲望的門已開\n夢的草原沒有盡頭\n風裡有些雨絲沾上了眼眸\nBeatles - Nowhere man\n披頭四〈無處可去之人〉\n他是真正的無處可去\n目光所及一無所有\n坐在自己的一分地\n做著無望的美夢\n聽著，無處可去之人\n慢慢來，世界由你指揮\n伍佰 - 真世界\n休息的時候才猛然的發現夢想根本不在這裡\n天亮的時候覺得腦筋太過於清醒而垂頭喪氣\n善良的念頭還有無能的正義沒有辦法去解決問題\n睡吧　別掉眼淚\n你要做好準備\n養足精神去面對這些\nFlaming Lips - Ego Tripping at the Gates of Hell\n烈焰紅唇〈地獄大門前耀武揚威〉\n我在等待那個時刻\n但是永遠不會到來\n在此同時其他百萬計的時光\n就這樣流逝了\n一定是我太自作聰明\nBeach Boys - I Just Wasn\u0026rsquo;t Made For These Times\n海灘男孩〈我生錯時代了〉\n不斷尋找著容身之處\n能夠把心聲說出來\n有人說我頭腦不錯，但那又有什麼用\n有時候我真感到悲傷\n我找不到可以把我的心力和靈魂放進去的地方\n五月天〈我〉\n看不見的世界裡　我是英雄\n然後回到沒有目標的活著　在現實中\n無聊的我　懶惰的我　總是懷疑的我\n講了又不聽　聽了又不作　作又做不好的我\n我不要一生就這樣　到最後一生就這樣\n萬能青年旅店〈十萬嬉皮〉\n敵視現實　虛構遠方\n東張西望　一無所長\n四體不勤　五穀不分\n文不能測字\n武不能防身\nLOREN \u0026amp; MASH - THANATOS-IF I CAN\u0026rsquo;T BE YOURS-\nLOREN \u0026amp; MASH〈死之本能-如果我不能為你所有-〉\n我無法成為我想要的樣子\n還能怎麼說？\n難道我們來自不同世界嗎？\n在知道我們終究不一樣後\n我感到的只是無助的悲傷\n如果我不能為你所有，那我又算什麼？\n如果真有超越傷痛的方法\n我一定會找到\n但那是，不可能達到的幻夢\nRadiohead - Let Down\n電台司令〈失望〉\n拼命的想擺脫現狀\n但一想到現實又是那麼令人無力\n最後像微不足道的蟲子被生活壓死\n「思維不要那麼極端」\n「總有一天我要振翅高飛」\n像這樣鼓動自己的化學反應\n只是歇斯底里，毫無用處\n李志〈梵高先生〉\n請你告訴我如何悲傷\n請你告訴我如何遺忘\n不管你擁有什麼\n我們生來就是孤獨\nPink Floyd - The Final Cut\n平克·佛洛伊德〈最後一刀〉\n少年看到了巨大的幻象\n看著雜誌上的女孩做愛\n如果跟你坦白我的陰暗面\n你還會愛著我接受我嗎？\n我顫抖的雙手呀握著利刃\n準備給自己切下最後一刀\namazarashi - 僕が死のうと思ったのは\namazarashi〈曾經我也想過一了百了〉\n如果要改變明天的話得先改變今天\n我知道啊，我知道啊，我知道啊\n我也想過要死去\n因為心得不到滿足而哭泣\n總是思考死亡一定是因為對於活著一事太過認真了啊\n是因為還沒與你相遇，讓我活下去的希望\n4 Non Blondes - What\u0026rsquo;s Up?\n非金髮四美〈到底是怎樣？〉\n我天天祈禱著\n祈禱著來場革命\n我深吸一口氣，大聲喊出\n這世界到底是怎樣\nTears for Fears - Mad World\n驚懼之淚〈瘋狂世界〉\n他們的眼中充滿了恐懼\n感覺有點好笑\n又有點悲傷\n夢到死去的景象是我做過最美好的夢\n腰樂隊〈世界呢分鐘〉\n我很想把對樂觀的理解深深的插進你的喉管\n沒有了早就沒有人孤單\n沒有人不愛捐助沒有人無心睡眠\n你的歌聲象泉水樣甘甜\n可我們的傷啊\n要色情才可以撫平\n撫平你渴望被幸福摧毀的心肝\n請允許我用這彩鈴般歌聲\n換你那永遠不倦的心\n命運像一朵雲飄過世界上所有的早晨\n周杰倫〈分裂〉\n經過老伯的家　籃框變得好高\n爬過的那棵樹又何時變得渺小\n趁時間沒發覺　讓我帶著你離開\n沒有了証明　沒有了空虛\n基於兩種立場我會罩著你\n趁時間沒發覺　讓我帶著你離開\n這不是頑固\n這不是逃避\n沒人綁著你走才快樂\nMP魔幻力量〈我是誰我是誰我是誰〉\n我是誰　總是活在別人的期望裡\n我是誰　是誰又擅自幫你定義了\n你是誰　只有不是自己才安全\n世界上只有一個我　沒人能代替的我\n我知道自己是最美麗的\nColdplay - Fix You\n酷玩樂團〈修復你的心〉\n你得到的，不是你想要的嗎？\n相信光會引導你的路途\n要是不嘗試，就不可能了解\n別擔心\n我會嘗試修復你的心\nFlaming Lips - Do You Realize??\n烈焰紅唇〈你了解了嗎？？〉\n你了解了嗎？\n你擁有最漂亮的臉蛋？\n你所認識的人，終有一天會死？\n你了解了嗎\n喜極而泣的感覺？\n與其慢慢向他們一一道別\n不如讓他們明瞭人生短暫\n崔健〈出走〉\n多少次太陽一日當頭\n但多少次心中一樣憂愁\n我閉上眼睛沒有過去\n我睜開眼只有我自己\n我沒別的說，我沒別的做\n我攥著手只管向前走\n我張著口只管大聲吼\n我恨這個，我愛這個\n咿呀\n萬能青年旅店〈揪心的玩笑與漫長的白日夢〉\n在願望的最後一個季節\n記起我曾身藏利刃\n是誰來自山川湖海\n卻囿於晝夜，廚房與愛\n他說孩子去和昨天和解吧\n就像我們從前那樣\n用無限適用于未來的方法\n置換體內星辰河流\n張懸〈藍天白雲〉\n藍天白雲\n當你離去\n藍天\n我曾經眼裡只有你\n我曾經眼裡只有你\n我曾經眼裡只有你\n伍佰〈鋼鐵男子〉\n一切都將成回憶\n無法抹滅的過去\n會隨著時間\n慢慢地模糊的痕跡\n就讓它去\n或許有一天會想起\n生命之中曾經戰勝\n我自己\n汪峰〈風中的玩偶〉\n你無法兌現你和理想訂的那份契約\n你曾經教育我那麼驕傲\n但現在你再也沒有膽量與生活對抗\n你說這種感覺讓你沮喪\n一無所有\n一事無成\n像粒塵埃\n像風中的玩偶\n劉德華〈天意〉\n如果說一切都是天意\n一切都是命運\n誰也逃不離\n無情無愛此生又何必\n黃鶯鶯〈留不住的故事〉\n許多從來不曾在乎的事\n如今慢慢地交織成\n交織成一張無邊的網\n層層地把心網住\n在年輕的迷網中\n我最後才看清楚\n美麗和悲傷的故事\n原來都留不住\n每一個故事的結束\n就是另一個故事的開始\n坂本龍一 - A Flower Is Not A Flower\n（花非花）\n","date":"2023年10月31日","externalUrl":null,"permalink":"/posts/my-lonely-music-playlist/","section":"Musics","summary":" 悲傷孤獨歌單\n封面來自Tears for Fears - The Hurting專輯。\n自我、夢想、現實、愛情、哲學的糾葛。\n好中二的標題。嘛，下收歌單。\n（為了不被特定服務綁架，故不嵌入串流平台的播放清單元件。這些歌曲在Youtube Music、Spotify、Apple Music應該都能找到。）\n編排順序：從一開始慢慢渲染情緒，到中間高潮迭起，最後想通了，心情獲得紓解。最終走入另外一個悲傷輪迴。\n編入歌曲的局部歌詞解釋了我的心，雖然這些歌曲聽著會掉淚，但是卻有舒緩心情的效果。部份外文歌詞我自己翻譯成了中文。 Stack of Leis\n〈一疊花環〉\n(夏威夷歌曲，海綿寶寶出現傷心場景常用的BGM)\n「沒有飲料我要怎麼吃披薩呢！」（甩門）\n章魚哥：「海綿，海綿，你還好吧？沒事的，海綿。」\n海綿寶寶：（嚎啕大哭）\n李宗盛〈沒有人知道〉\n沒有人知道　沒有人知道\n我的心　我的心\n我是不是要註定孤獨\n去面對以後漫長的路\n怎樣才能面對存在內心的衝突\n是不是讓步 (不需要讓步)\n是不是讓步 (不需要讓步)\n老王樂隊〈那些失眠的夜與難以忘懷的事〉\n而所有的夢想都有終點\n而所有的美夢都會終結\n比你聰明的人阿\n都在努力往前\n我無力的閉上眼\n","title":"分享我的音樂播放清單之「悲傷孤獨歌單」","type":"music"},{"content":"研究自架服務時，因不想添購NAS放在家裡，我就想過是否該買雲端主機架。\n考慮到資料備份與uptime問題，將服務架在雲端或許比較穩固，減少我手動維護的麻煩，於是就找到了「PikaPods」，這是一間特別的主機供應商，只賣開源容器服務。\n本文讓我們一探究竟，再嘗試跑個Nextcloud服務試試。\n1. PikaPods是什麼網站 # PikaPods (pikapods.com) 由Manuel Riel創辦，按照官網說法，Pika是一種名為鼠兔的動物，Pod指的是各個APP容器。目前流行的容器技術有Docker和Podman，PikaPods用的應該是後者。\nPikaPods為主打即時託管開源服務的主機供應商(Open Source App Hosting)，官方宣稱：\n不用打指令，只要網頁按鈕按一按，加上環境變數，容器服務就架好了 PikaPods會將賺到的錢回饋一部分給開源軟體的開發者 網站無追蹤器、無廣告，遵守GDPR 資料完全由用戶控制，隨時可匯出 自動更新容器映像檔 支援自訂域名 使用PikaPods會讓你認識到更多厲害的開源服務，像架站軟體Wordpress、網頁統計Umami、相簿PhotoPrism、筆記軟體Joplin、知識管理Bookstack等。官方會不定時上架新APP。 幾天測試下來PikaPods連線還算穩定，台灣連過去的速度處於中間水準。\n所以我就決定試試跑個Nextcloud雲端(包含行事曆＋相簿＋雲端筆記＋Office)的容器試試。\n1. PikaPods定價 # 可在PikaPods官網拉槓桿試算跑容器每月要花多少錢。PikaPods的價格十分便宜，但跑的服務要看官方有無收錄，我們不能自己寫docker-compose。 初次註冊會送5美元的額度，在Account頁面可看到免費帳戶最多跑一個容器、50GB空間、2核心CPU、8GB RAM，夠跑Nextcloud了。 然後PikaPods就會按照容器額度每月扣款，餘額不足容器就會停止運作。注意喔官網提到就算暫停容器每個月還是會扣1美元。\n比較一下：如果PikaPods只跑Nextcloud，那其實很接近MEGA雲端，只不過Nextcloud有更多生產力應用程式可安裝，花點小錢其實也挺划算的吧。\n部份銀行VISA刷不過沒關係，他們支援Paypal付款。\n2. 新增Pod容器 # 至PikaPods官網註冊帳戶登入後就能開始新增容器了，PikaPods將容器稱為「pod」。\n點選右上角Add Pod 選擇要跑的應用程式，選NextCloud，伺服器選美國。 點一下左邊的Resources，設定硬體資源。按照Nextcloud官方說明，大約2核心CPU、4GB RAM、50GB空間就夠跑了 點選Add Pod，等待容器部署。\nPikaPods會為每個容器產生一組特殊網址，點選Open Pod進入Nextcloud的初始化畫面。 3. 設定Nextcloud與網頁版LibreOffice # 這部份的步驟跟Nextcloud + Docker的設定過程大致雷同，不贅述。\n如果嫌PikaPods的網址太難記住，請在PikaPods後台設定自訂網域。網域供應商後台的DNS紀錄也要記得指向PikaPods的網域。\n4. 掛載PikaPods和Nextcloud的硬碟 # PikaPods不能存取後台終端機，你只能在網頁後台看容器的log。\n如果要存取容器硬碟檔案，參照官方說明使用SFTP連線。\nNextcloud另支援掛載WebDAV。\n參考資料 # 使用PikaPods 一键搭建属于自己的在线服务 - Verne in GitHu 在Linode 安裝Nextcloud | 哈部落 Nextcloud 20 使用笔记– 服务端加密和端到端加密 - 檐下随记 ","date":"2023年10月31日","externalUrl":null,"permalink":"/posts/pikapods-introduction/","section":"所有文章","summary":"研究自架服務時，因不想添購NAS放在家裡，我就想過是否該買雲端主機架。\n考慮到資料備份與uptime問題，將服務架在雲端或許比較穩固，減少我手動維護的麻煩，於是就找到了「PikaPods」，這是一間特別的主機供應商，只賣開源容器服務。\n本文讓我們一探究竟，再嘗試跑個Nextcloud服務試試。\n1. PikaPods是什麼網站 # PikaPods (pikapods.com) 由Manuel Riel創辦，按照官網說法，Pika是一種名為鼠兔的動物，Pod指的是各個APP容器。目前流行的容器技術有Docker和Podman，PikaPods用的應該是後者。\nPikaPods為主打即時託管開源服務的主機供應商(Open Source App Hosting)，官方宣稱：\n不用打指令，只要網頁按鈕按一按，加上環境變數，容器服務就架好了 PikaPods會將賺到的錢回饋一部分給開源軟體的開發者 網站無追蹤器、無廣告，遵守GDPR 資料完全由用戶控制，隨時可匯出 自動更新容器映像檔 支援自訂域名 使用PikaPods會讓你認識到更多厲害的開源服務，像架站軟體Wordpress、網頁統計Umami、相簿PhotoPrism、筆記軟體Joplin、知識管理Bookstack等。官方會不定時上架新APP。 ","title":"開源友好的主機供應商「PikaPods」，一鍵架設Docker雲端服務","type":"posts"},{"content":"Nathan Sarrazin開發的「Serge」是一款支援多個大型語言模型的開源網頁程式。 「Serge」名字源自網路meme，：義大利有一隻叫Serge Lama的羊駝，牠的名字是以法國歌手Serge le lam命名的。\nSerge可讓使用者與LLaMA系列的AI聊天互動，就像在自己的電腦離線跑ChatGPT一樣，支援中文對話。 不知道什麼是LLaMA系列模型？請看LLaMA開源大型語言模型與相關軟體介紹\nSerge的特色是架設很簡單，用Docker就能輕鬆跑起來，這樣您就有自己的離線AI啦，網頁版不論電腦還是手機都可以用。\n且Serge硬體需求不高，背後是以CPU實作的llama.cpp下去設計的，您不需要強力GPU也可以體驗大型語言模型的威力。\n1. 系統需求 # 支援Docker的作業系統，Linux/Windows/macOS 4核心以上的CPU 最少16GB以上RAM，這只是最低需求，越大的模型需要的RAM越多 最少20GB硬碟空間 Serge背後用的是llama.cpp技術，因此它只用CPU和RAM運算，預設不會用到GPU。\nNathan Sarrazin的Github儲存庫原始碼：serge-chat/serge - A web interface for chatting with Alpaca through llama.cpp. Fully dockerized, with an easy to use API.\n2. 安裝Serge # 在電腦上安裝Docker\n建立Docker-compose。\ncd ~ mkdir serge-ai cd serge-ai vim docker-compose.yml 填入以下內容： services: serge: image: ghcr.io/serge-chat/serge:latest container_name: serge restart: unless-stopped ports: - 8008:8008 volumes: - weights:/usr/src/app/weights # 將模型下載到Docker volume，您可以將路徑改指向目前目錄，例如 ./weights:/usr/src/app/weights。 - datadb:/data/db/ volumes: weights: datadb: 啟動服務 docker compose up -d 瀏覽器開啟https://127.0.0.1:8008就可以看到Serge主畫面。 3. 下載大型語言模型 # 使用內建模型 # 點選Download model進入模型下載頁。對要下載的模型按Download。下載的語言模型檔案位於/var/lib/docker/volumes/weights/_data/。 Serge目前提供的模型有LLaMA、Alpaca、Vicuna、OAsst、GPT4All、Airoboros、Chronos、Guanaco、Koala、Lazarus、Hermes、Samantha、Tulu、WizardLM、LLaMA 2等等\u0026hellip;只要到Github提feature request作者就會加進去。\n模型後面都有數字(7B/13B/30B)，代表訓練資料集數量，數字越大的電腦需要越多RAM。例如跑最小的7B需要4GB RAM，13B約需要16GB RAM，30B需要32GB RAM，70B需要48GB RAM。\n如果電腦RAM不足，可以用SWAP或分頁檔來提升RAM。\n如果要我推薦哪個模型比較好的話，建議是從WizardLM-Uncensored-13B開始玩起，它回答品質與速度適中。\n使用自訂模型 # 將想使用的模型(ggml格式)複製到Docker容器內部，例如支援中文對話的Chinese-LLaMA-Alpaca13B\ndocker ps docker cp \u0026#34;~/模型檔.bin\u0026#34; 容器ID:/usr/src/app/weights 4. 開始聊天 # 點開Model Settings，在Model choice處選取要使用的模型，這邊我選自己下載的Chinese-LLaMA-Alpaca13B。 Max size預設是512等於AI的記憶長度。如果你希望跟AI聊久一點的話，那就把這個值設定為2048，否則馬上就會到達context上限。Pre-prompt處的提示詞是要AI扮演的角色。GPU Layer是分擔給GPU運算的多寡，可提昇回應速度。 點選Start a new chat開始對話。AI的回應時間依電腦性能而定，Intel i5 7400所有線程全跑滿，大概需要算30秒才會開始生成回應。 另外作者還準備一套API能夠與AI互動，文件網址請看http://localhost:8008/api/docs。\n如果您想從外部網路存取Serge的界面，請使用內網穿透軟體。\n","date":"2023年10月30日","externalUrl":null,"permalink":"/posts/serge-ai-installation/","section":"Language-Models","summary":"Nathan Sarrazin開發的「Serge」是一款支援多個大型語言模型的開源網頁程式。 「Serge」名字源自網路meme，：義大利有一隻叫Serge Lama的羊駝，牠的名字是以法國歌手Serge le lam命名的。\nSerge可讓使用者與LLaMA系列的AI聊天互動，就像在自己的電腦離線跑ChatGPT一樣，支援中文對話。 不知道什麼是LLaMA系列模型？請看LLaMA開源大型語言模型與相關軟體介紹\nSerge的特色是架設很簡單，用Docker就能輕鬆跑起來，這樣您就有自己的離線AI啦，網頁版不論電腦還是手機都可以用。\n且Serge硬體需求不高，背後是以CPU實作的llama.cpp下去設計的，您不需要強力GPU也可以體驗大型語言模型的威力。\n1. 系統需求 # 支援Docker的作業系統，Linux/Windows/macOS 4核心以上的CPU 最少16GB以上RAM，這只是最低需求，越大的模型需要的RAM越多 最少20GB硬碟空間 Serge背後用的是llama.cpp技術，因此它只用CPU和RAM運算，預設不會用到GPU。\nNathan Sarrazin的Github儲存庫原始碼：serge-chat/serge - A web interface for chatting with Alpaca through llama.cpp. Fully dockerized, with an easy to use API.\n2. 安裝Serge # 在電腦上安裝Docker\n","title":"Serge：離線跑類似ChatGPT的聊天AI！支援LLaMA系列大型語言模型","type":"language-model"},{"content":"注意：本文為純文字版的Joplin使用教學，圖形版請看Joplin開源筆記軟體使用教學\n開源筆記軟體Joplin有提供命令行版的操作界面，適合不喜歡臃腫Electron、偏好純文字界面的用戶使用。 Joplin CLI讓你在任何作業系統都可以寫筆記，純文字環境SSH也行！只要能用NPM的話！\n命令行版Joplin的操作啟發自vim編輯器，如果您熟悉vim那麼應該可以很快上手。但不只是vim而已喔，命令行版Joplin可搭配任一純文字編輯器使用，加快筆記效率。 現在您有了強大的純文字編輯器，還有一個完整的軟體能夠整理筆記（記事），協助您完成日常事務！您還可以自己設計指令完成背景同步（此功能手機版和桌面版都沒有），並用指令批次處理記事檔案。\n1. 如何安裝命令行版Joplin # 命令行版 (Joplin CLI，又稱Joplin Terminal Application) 的套件叫做joplin，桌面版 (Joplin Desktop Application) 叫做joplin-desktop。雖然Joplin CLI也是用NodeJS寫的，但少了Electron這個臃腫的框架\n根據官方文件，開發者推薦用NPM安裝。\nLinux系統的二進位檔我不喜歡亂塞到家目錄，所以將其指定裝到~/.local/bin/ NPM_CONFIG_PREFIX=~/.local/bin/joplin npm install -g joplin 接著建立符號連結，讓/usr/bin/joplin指向二進位檔所在處~/.local/bin/joplin/bin/joplin sudo ln -s ~/.local/bin/joplin/bin/joplin /usr/bin/joplin 安裝後在終端機打joplin就能啟動命令行版的Joplin了。\n未來更新Joplin請此指令：\nNPM_CONFIG_PREFIX=~/.local/bin/joplin npm update -g 2. 基本設定 # Joplin命令行版預設跟桌面版資料放在不同目錄，但是兩邊的資料格式沒有差異。您可以想成命令行版Joplin只是另一款前端，後端資料格式是通用的。\n如果想要共用資料的話，建一個符號連結，將~/.config/joplin指向~/.config/joplin-desktop即可。我大部份時候用Joplin桌面版寫記事，因此我傾向這個作法，命令行版也會自動帶入桌面版的同步設定。\nln -s ~/.config/joplin-desktop ~/.config/joplin 當然命令行版要獨立與雲端同步也行，開啟Joplin命令行版後，按:，輸入sync --target的指令。後面要打數字代號，參考官方文件，Onedrive代號是3。 :sync --target 3 鎖定目前的同步對象 :config sync.target 3 在那之後按照指示完成驗證，等待Joplin同步記事完成。\nJoplin預設同步間隔是300秒，用config指令修改，設為0的話就是不同步。但Joplin好像不會自動同步的樣子，您得手動打:sync指令。\n:config sync.interval 300 接著回到Joplin，設定預設編輯器，用config指令設定vim為記事編輯器（沒有強迫一定要用vim，您想用emacs也可以） :config editor vim 3. 命令行寫Joplin筆記的方式 # Joplin主界面長這樣，排版類似桌面版Joplin，左上角是記事本列表，中間是記事，右邊是編輯區，下面另外多了終端機。 圖片來自Joplin官網\n您得用Tab＋上下鍵來切換選取的區塊。比如要編輯記事就用Tab選中左邊的記事本列表，接著按Enter進入，選取要編輯的記事，再按一次就會開啟vim編輯。\n按:會切換到指令模式（選取區跑到最下面），打指令前面都要加冒號。\n注意這裡的指令跑的是Joplin內建的指令，不是您系統的shell。\n輸入help查看幫助。\n確認選中記事本後，新增記事的指令：mknote \u0026quot;記事名稱\u0026quot;\n新增待辦事項：mktodo \u0026quot;名稱\u0026quot;，按空白鍵勾選標記為完成；輸入todo clear $c將待辦事項轉換為記事本；輸入todo toggle $c將記事本轉為待辦事項。（$c的意思下面會講解）\n新增記事本：mkbook \u0026quot;名稱\u0026quot;\n要嵌入圖片的話，使用attach指令：attach \u0026quot;記事名稱\u0026quot; \u0026quot;檔案路徑\u0026quot;，圖片會自動複製到~/.config/resources目錄。\n與雲端同步筆記：首先要按照Joplin官方文件打sync --target \u0026quot;雲端編號\u0026quot;登入雲端，之後才可以打sync指令同步。\n如果要退出Joplin，按CTRL＋D就可以了，不是!wq喔。\n在此介紹三個快捷參照變數：$n代表目前選取的記事，$b代表目前選取的記事本，$c代表目前選中的項目。\n因此要移動特定記事到Personal記事本的話，可用此指令：mv $n \u0026quot;Personal\u0026quot;\n重新命名選中的項目：ren $c \u0026quot;新名稱\u0026quot;\n刪除選中的記事：rmnote $c\n刪除選中的記事本：rmbook $c\n查看選中記事全文而不進入編輯模式：cat $n\n4. 透過Joplin指令存取筆記 # 上述的Joplin指令也可以在Joplin以外的終端機直接執行，語法為joplin + 指令。\n比如，即使沒開Joplin程式的情況下，仍能用指令同步記事本。您可將以下指令設定為Systemd Timer定時執行\njoplin sync 當您要用指令操作記事本內容的時候，Joplin預設選取的是您上次離開時最後開啟的記事本。用joplin ls指令便可確認。 在該記事本下快速建立多層記事本：\njoplin mkbook \u0026#34;記事1\u0026#34; joplin use \u0026#34;記事1\u0026#34; joplin mkbook \u0026#34;子記事1\u0026#34; 直接查看特定記事本內容：\njoplin cat newnotebook1 5. 自定義快捷鍵 # 要觸發快捷鍵，直接按特定字母組合就好了，不用加:。\n比如輸入tc開關終端機，tm檢視記事資訊，mn新增記事，mt新增待辦事項，mb新增記事本，按Delete刪除所選項目。\n快捷鍵可在~/.config/joplin/keymap.json檔案自定義。\n參考資料 # 詳細指令用法請看 Joplin Terminal Application 完美笔记进化论 - 夜法之书 Joplin Terminal Basics | Post - Random Geekery ","date":"2023年10月29日","externalUrl":null,"permalink":"/posts/joplin-cli-usage/","section":"所有文章","summary":"注意：本文為純文字版的Joplin使用教學，圖形版請看Joplin開源筆記軟體使用教學\n開源筆記軟體Joplin有提供命令行版的操作界面，適合不喜歡臃腫Electron、偏好純文字界面的用戶使用。 Joplin CLI讓你在任何作業系統都可以寫筆記，純文字環境SSH也行！只要能用NPM的話！\n命令行版Joplin的操作啟發自vim編輯器，如果您熟悉vim那麼應該可以很快上手。但不只是vim而已喔，命令行版Joplin可搭配任一純文字編輯器使用，加快筆記效率。 現在您有了強大的純文字編輯器，還有一個完整的軟體能夠整理筆記（記事），協助您完成日常事務！您還可以自己設計指令完成背景同步（此功能手機版和桌面版都沒有），並用指令批次處理記事檔案。\n1. 如何安裝命令行版Joplin # 命令行版 (Joplin CLI，又稱Joplin Terminal Application) 的套件叫做joplin，桌面版 (Joplin Desktop Application) 叫做joplin-desktop。雖然Joplin CLI也是用NodeJS寫的，但少了Electron這個臃腫的框架\n根據官方文件，開發者推薦用NPM安裝。\nLinux系統的二進位檔我不喜歡亂塞到家目錄，所以將其指定裝到~/.local/bin/ NPM_CONFIG_PREFIX=~/.local/bin/joplin npm install -g joplin 接著建立符號連結，讓/usr/bin/joplin指向二進位檔所在處~/.local/bin/joplin/bin/joplin sudo ln -s ~/.local/bin/joplin/bin/joplin /usr/bin/joplin 安裝後在終端機打joplin就能啟動命令行版的Joplin了。\n","title":"喜歡用vim寫筆記又不方便整理？命令行版Joplin CLI適合你","type":"posts"},{"content":"幾天前在聽泰國雙人組阿撒尼-哇三(อัสนี-วสันต์)的歌曲有了靈感，我們來換個Hugo主題吧。 一切都是บังเอิญ, บังเอิญ, บังเอิญ，意外的成功啊。\nHugo部落格換主題是可能的，端看當初程式碼有沒有規劃好。本篇紀錄我從Hugo MemE換到Hugo Blowfish主題的過程，在ChatGPT的幫助下完成移植。 前後比較，左邊MemE主題，右邊Blowfish主題\n清理一些過時程式碼，並重新設計網站架構，確保網站以後可以模組化更新。\n同時為了減輕大腦負擔，我給自己網站寫了一份README私人文檔，紀載每個目錄用途，詳細到好像我的網站原始碼是公開的一樣，即使不是我也可以快速部署網站。 這樣的過程共花了三天。\n1. 為什麼要選Blowfish主題 # 2022年剛搬家到Hugo的時候，用的MemE主題是中國開發者reuixiy寫的。看到他自稱Arch Linux用戶的時候我就知道他也是man of culture了！ 我覺得MemE簡簡單單的不錯，作者留了一些空間讓我可以自己寫程式擴充功能。但就是太精簡了，越用越不符合需求，問題如下：。\n文章越來越多，MemE網頁的右上角選單應該可以塞更多東西，好展示我的文章分類。\n當初我不會操作Git，clone MemE主題後就直接刪掉.git資訊了，導致我的MemE主題鎖死在去年6月的版本。\n要更新主題也有困難，因為我hack了一些程式碼實現我要的功能，很多都是直接改主題檔案，導致程式碼難以管理。Hugo主程式是常常在更新的，有些主題要是太久沒更新，新版可能會渲染出錯！\n所以乾脆不改了，我開始物色新主題。前幾個月看到nunocoracao製作的Blowfish主題，看起來比較重型，功能多自定性也高，外觀看起來很精緻。 Blowfish是使用Tailwind CSS寫成的漂亮主題，界面有質感又不會太看起來很亂，網頁載入速度快。可自訂的選項很多，說明文件齊全，甚少需要使用者自己加功能的。我覺得，Blowfish能夠滿足貪心的用戶，不論是要寫普通網誌、很多章節的技術文章、整理系列文章、擬似Wiki的文體，它應該都能做到。\n好好玩喔，文章Markdown格式幾乎無縫接軌，準備換部落格到Blowfish主題，順便移植一些東西過去。\n為何換主題還包含「移植」過程？MemE有些功能我很喜歡，只要善用Hugo template的功能，把他們改寫一下就可以跟新主題整合。\n2. 換主題與移植過程 # Blowfish作者宣稱這是輕量主題，但在我看來它已經很重型了。Blowfish選項非常多，本身就是設計來讓使用者自定義的，無法開箱即用。需要先熟悉一下Blowfish設定才能開始處理文章部份。\n移植過程遇到困難怎麼辦 ～真是กุกุ้มใจ, กุ้มใจ, กุ้มใจ，憂心啊～ 所幸只要動一下腦，問題都大致克服了。 按照Blowfish作者文檔寫的，用hugo指令新增全新Hugo專案，再用git submodule方式加入Blowfish主題到Git儲存庫。\n閱讀Blowfish文檔，先把網站設定檔打上我的名字，調整設定值讓網站能跑起來。執行指令hugo server看一下網站是否能出來。\n先行丟10篇Markdown文章過來，觀看渲染效果。再慢慢調整網站設定檔。此階段需要長時間重複調整，因為我要先熟悉Blowfish是怎麼處理網站架構的。\n因為我有做中英雙語網站，除正體中文外zh-tw我還要新增英文版en-us的設定檔，再比較渲染效果是否一致。不得不說Blowfish的作者設計的很好，不同語言設定檔預設分開寫，讓我不用全部塞在同一個config.toml裡面。 將靜態檔案（JavaScript函式庫、常用圖示）複製到Blowfish網站static目錄下。\n移植shortcode到Blowfish，比方說我自己寫的shortcode就有Likecoin，還有MemE主題內建的標籤雲shortcode。大部分可以直接沿用，少部份我要參照Blowfish主題的邏輯修改。\n像繁轉簡(autohans)、Disqus ＆ Giscus留言板等這類功能是partial，得要嵌入在網站面板的，此時我已經知道不可直接修改themes目錄下的檔案了，我採用Hugo主題覆寫的方式來改主題，並在修改過的地方打註解。\n跑hugo server測試一下網頁功能是否正常，用CSS修正一些細節問題，比方說圖片置中、表格寬度。\n最後就是重要的文章部份了，因為採用Page Bundle，全部搬過來是沒問題的。可是這裡有個問題：過去我Hugo MemE是在frontmatter標記網址，指定該文章縮圖的，可是Blowfish主題要求在Page Bundle的目錄手動放一張featured.webp當縮圖，這該怎麼辦呢？\n所以我請求了ChatGPT的幫忙，用英文詳細描述處理檔案的條件。我請她寫個Python程式，自動到每個Page Bundle，讀取frontmatter的數值，下載圖片後自動重新命名縮圖。 就是這樣，用Python指令稿就完成了所有文章縮圖的產生！這樣把這些文章直接複製到Blowfish網站下就行了。 最後用Github CLI推送新儲存庫到Github，然後再更新一下主機託管商那邊的部署設定就行了。 3. 換主題後的變化 # 儘管版面精緻了一些，網頁載入速度下降了些，這是一定的。\n因為Blowfish產生的縮圖更多，靜態網站生成在public目錄下的檔案數量要多了一些。比如MemE是6548個，換到Blowfish就變成7290個。\nRSS訂閱網址從rss.xml變成index.xml。\n未來應該還會持續修正，並增加新功能。舊主題儲存庫封存。\n","date":"2023年10月28日","externalUrl":null,"permalink":"/posts/migrate-hugo-theme-from-meme-to-blowfish/","section":"所有文章","summary":"幾天前在聽泰國雙人組阿撒尼-哇三(อัสนี-วสันต์)的歌曲有了靈感，我們來換個Hugo主題吧。 一切都是บังเอิญ, บังเอิญ, บังเอิญ，意外的成功啊。\nHugo部落格換主題是可能的，端看當初程式碼有沒有規劃好。本篇紀錄我從Hugo MemE換到Hugo Blowfish主題的過程，在ChatGPT的幫助下完成移植。 前後比較，左邊MemE主題，右邊Blowfish主題\n清理一些過時程式碼，並重新設計網站架構，確保網站以後可以模組化更新。\n同時為了減輕大腦負擔，我給自己網站寫了一份README私人文檔，紀載每個目錄用途，詳細到好像我的網站原始碼是公開的一樣，即使不是我也可以快速部署網站。 這樣的過程共花了三天。\n1. 為什麼要選Blowfish主題 # 2022年剛搬家到Hugo的時候，用的MemE主題是中國開發者reuixiy寫的。看到他自稱Arch Linux用戶的時候我就知道他也是man of culture了！ 我覺得MemE簡簡單單的不錯，作者留了一些空間讓我可以自己寫程式擴充功能。但就是太精簡了，越用越不符合需求，問題如下：。\n文章越來越多，MemE網頁的右上角選單應該可以塞更多東西，好展示我的文章分類。\n","title":"我的Hugo網站換主題紀錄 ～ 從簡潔的MemE移植到功能多樣的Blowfish主題","type":"posts"},{"content":" Ride Japan推出的「處女螺旋」系列可以說是CP值高又好用的飛機杯了，便宜又高刺激。\n讓我們按照年份發展看下去\u0026hellip;\n0. 「處女螺旋」名字由來 # 這系列飛機杯的日文名字都以「ヴァージンループ」開頭，英文是Virgin Loop。中文翻譯有些廠商會翻成「處女螺旋」、「處女光環」。「X重」也有人翻成「X道」，而螺旋(タビ構造)當然就是指飛機杯內部的皺摺紋路了。\n不過，原文都是很長的片假名，加上這系列有二重～八重的區別，因此以「數字＋處女螺旋」這樣來稱呼會更簡單明瞭。\n處女螺旋目前已經推出15款了，Ride Japan官網還有漂亮的網頁方便檢視過去的「飛機杯」子們。 處女螺旋系列發售順序（為方便理解，我使用台灣廠商的譯法）：\n2013年，四重螺旋 ヴァージンループ Virgin Loop 2014年，四重螺旋硬版 ヴァージンループハード Virgin Loop Hard 2016年，八重螺旋 ヴァージンループエイトロング Virgin Loop Eight long 2017年，二重螺旋 ヴァージンループダブルモーション Virgin Loop Double Motion 2018年，八重螺旋硬版 ヴァージンループエイトロングハード Virgin Loop Eight Long 2018年，六重螺旋 ヴァージンループダリンセブン Virgin Loop Steering Wheel 2018年，二重螺旋硬版 ヴァージンループダブルモーションロングハード Virgin Loop W motion Hard 2019年，六重螺旋硬版 ヴァージンループダリンセブンハード Virgin Loop Steering Wheel Hard 2019年，四重螺旋加強 ヴァージンループストロングピッチ Virgin Loop Strong Pitch 2019年，四重螺旋加強軟版 ふわひだヴァージンループストロングピッチ Soft Groove Virgin Loop Strongpitch 2020年，四重螺旋加強硬版 ヴァージンループストロングピッチハード Virgin Loop Strongpitch HARD 2020年，處女螺旋三位一體 ヴァージンループトリニティ Virgin Loop Trinity 2022年，八重螺旋長版CQ ヴァージンループエイトロングCQ Virgin Loop Eight Long CQ 2022年，處女螺旋涼爽版 ヴァージンループクール Virgin Loop Cool 2023年，處女螺旋雙蛇戲龍 ヴァージンループツインフォース Virginloop Twinforth 從上表可以發現，每個「X重螺旋」系列都會推出軟版和硬版。軟版外觀為肉色，硬版為透明色。\n接下來，本文只講用過的硬版的使用評價。 我認為硬版才能體現出處女螺旋系列的可怕。\n(除了實拍以外，以下產品圖片都來自Ride Japan官網)\n1. 四重螺旋 軟版 硬版 ヴァージンループハード # 上市日期：2014年 定價：2200日圓 內部長：12.3cm 重量：264g 最短最緊，實在太好用了，不愧是霸榜存在。怕佔版面所以我另外開一篇寫。\n2. 八重螺旋 硬版 ヴァージンループエイトハード # 上市日期：2018年 定價：2600日圓 內部長：14.5cm 重量：370g 處女螺旋系列中最長的一款。 八重螺旋實際用了之後\u0026hellip;包覆感是足夠，但是呢若插不到最深處，子宮設計就沒用了呢。加上我對紋路不敏感，有八重的螺旋紋路還是沒什麼刺激感呢。夾吸可以，刺激不足。\n3. 二重螺旋 硬版 ヴァージンループダブルモーションロングハード # 上市日期：2018年 定價：2600日圓 內部長：13cm 重量：330g 我認為僅次於四重螺旋的存在，有好玩的肉條刺激。\nヴァージンループダブルモーションロングハード，二重螺旋，又稱二道螺旋 2018年發售，定價3,000円。\n怕佔版面所以我另外開一篇寫。\n4. 六重螺旋 硬版 ヴァージンループダリンセブン ハード # 上市日期：2019年 定價：2600日圓 內部長：15cm 重量：360g 六重和八重螺旋我覺得是給洋人玩的啦，儘管紋路變多，但也相應的內裡變長。\n六重螺旋的片假名是叫做「七穴達令」\u0026hellip;但它的內裡，卻是呼應英文名Steer Wheel，有舵狀螺旋，有航向大海的感覺\u0026hellip;? 用起來的感覺\u0026hellip;要說像章魚嗎，雖說紋路所造成的孔隙比八重緊實，卻也沒有二重肉條的刺激，亦無四重那樣的緊迫。\n5. 四重螺旋加強硬版 ヴァージンループストロングピッチハード # 上市日期：2020年 定價：2800日圓 內部長：14cm 重量：375g 這款的名字八成是和製英語，Strong pitch\u0026hellip;是想表達強力擠壓的意思吧？不是good pitch吧？\n翻成四重螺旋加強版我覺得也沒錯，看洞口的四葉草形狀構造，就是四重螺旋強化紋路。 用起來的感覺\u0026hellip;一樣有強力的吸力啊，但是重量有點太重不好一手掌握，我想應該適合長屌的人。\n6. 處女螺旋 三位一體 ヴァージンループトリニティ # 上市日期：2020年 定價：6000日圓 內部長：13cm 重量：600g 這款目前只有出軟版，特色是洞口為三角形形狀。如果出了硬版應該會夾死人。\n主打600g重的重量，還說這個飛機杯是繼承二個基因「ヴァージンループ」＋「萌えあなトリニティ」所塑造的禮物。後者指的是Ride Japan另一款飛機杯，主打腔壓。\n洞口的三個突起一路延伸到飛機杯底部，導致非常的狹窄。且內裡仍然是一堆螺旋紋路。 是很緊沒錯\u0026hellip;但是如果有硬版的就好了。\n","date":"2023年10月28日","externalUrl":null,"permalink":"/posts/ride-japan-virgin-loop-series-review/","section":"Nsfws","summary":" Ride Japan推出的「處女螺旋」系列可以說是CP值高又好用的飛機杯了，便宜又高刺激。\n讓我們按照年份發展看下去…\n0. 「處女螺旋」名字由來 # 這系列飛機杯的日文名字都以「ヴァージンループ」開頭，英文是Virgin Loop。中文翻譯有些廠商會翻成「處女螺旋」、「處女光環」。「X重」也有人翻成「X道」，而螺旋(タビ構造)當然就是指飛機杯內部的皺摺紋路了。\n不過，原文都是很長的片假名，加上這系列有二重～八重的區別，因此以「數字＋處女螺旋」這樣來稱呼會更簡單明瞭。\n處女螺旋目前已經推出15款了，Ride Japan官網還有漂亮的網頁方便檢視過去的「飛機杯」子們。 處女螺旋系列發售順序（為方便理解，我使用台灣廠商的譯法）：\n","title":"Ride Japan處女螺旋(ヴァージンループ)飛機杯系列介紹","type":"nsfw"},{"content":"Yacht（音同yat）是一款Docker容器的圖形化管理界面，主打網頁一鍵部署，讓新手快速上手Docker。 該專案在Github的說明是這樣寫的：\nA web interface for managing docker containers with an emphasis on templating to provide 1 click deployments.\n一款網頁管理Docker容器的界面，專注提供用範本一鍵部署的服務。\nYacht提供網頁管理界面，能夠撰寫docker-compose、查看正在運作的服務，並隨時更新映像檔。\n本文簡介Yacht用法。\n1. Yacht與Portainer的比較 # Yacht用途類似Portainer，都是方便管理容器用的，減少打指令的次數。同樣地不是所有操作都能用網頁解決，如果要偵錯，您還是需要用到Docker指令完成。Yacht僅是輔助，實際上還是要先懂Docker指令操作才會用得比較好。\nYacht功能要遜於Portainer，像是沒有多帳號管理、Git版本庫支援、進入容器shell的功能。Yacgt只專注在必要的功能上，界面十分簡單。作者形容Yacht就像是「伺服器專用的去中心化應用商店，任何人都可以製作軟體套件。」（Think of it like a decentralized app store for servers that anyone can make packages for. ）\n比較兩者名字也可以看出他們差別，Yacht是遊艇的意思，Portainer是起重機XDD\n針對想找開源軟體的人來說，Yacht是完全由社群開發的程式，所有功能都是免費的；相較之下Portainer是商業產品，部份功能需要付費。\n順帶一提，Yacht有在Linode、OpenVault、DigitalOcean等平台的市集上架。\n2. 部署Yacht # 參考官方文件，撰寫docker-compose mkdir yacht cd yacht vim docker-compose.yml 填入 version: \u0026#34;3\u0026#34; services: yacht: container_name: yacht restart: unless-stopped ports: - 8000:8000 volumes: - yacht:/config - /var/run/docker.sock:/var/run/docker.sock image: selfhostedpro/yacht volumes: yacht: 啟動服務。 docker comose up -d 開啟http://localhost:8000，預設帳號admin@yacht.local，預設密碼pass 登入後請記得點右上角User改密碼。\n3. 主界面 # Dashboard頁面顯示目前正運作中的服務用量 Applications頁面可以部署容器服務，按照網頁指示填入映像檔設定即可，不需要用到指令 部署後會顯示個別容器狀態，點選可以關閉容器，或者拉取新版容器映像檔。 Yacht僅提供簡單的狀態和log檢視，如果想要docker exec請打指令。 在Resources頁面可清理多餘的映像檔。 4. 使用Template一鍵部署容器 # Template頁面即為使用別人寫好的範本，一鍵部署容器服務。Yacht的範本格式與Portainer template v1相容，詳細寫法請看官方文件。\nYacht作者有提供範本，點選新增Yacht，加入這個網址 接著就可以選容器服務來部署了，點選後使用者只要視需求調整環境變數即可。 5. 使用Project撰寫docker-compose # Project頁面就是讓您撰寫docker-copose的地方了。每個docker-compose都是一個Project。\n界面就\u0026hellip;很簡單，沒有即時語法偵測，也沒有外部匯入的選項，寫完直接部署。 寫完之後記得按Up啟動服務 Yacht不支援讀取.env檔案，如果硬要定義環境變數，請參考上節自行撰寫Template，或是在Settings → Template Varaiables先行定義環境變數。 ","date":"2023年10月23日","externalUrl":null,"permalink":"/posts/yacht-docker-web-interface/","section":"所有文章","summary":"Yacht（音同yat）是一款Docker容器的圖形化管理界面，主打網頁一鍵部署，讓新手快速上手Docker。 該專案在Github的說明是這樣寫的：\nA web interface for managing docker containers with an emphasis on templating to provide 1 click deployments.\n一款網頁管理Docker容器的界面，專注提供用範本一鍵部署的服務。\nYacht提供網頁管理界面，能夠撰寫docker-compose、查看正在運作的服務，並隨時更新映像檔。\n本文簡介Yacht用法。\n1. Yacht與Portainer的比較 # Yacht用途類似Portainer，都是方便管理容器用的，減少打指令的次數。同樣地不是所有操作都能用網頁解決，如果要偵錯，您還是需要用到Docker指令完成。Yacht僅是輔助，實際上還是要先懂Docker指令操作才會用得比較好。\nYacht功能要遜於Portainer，像是沒有多帳號管理、Git版本庫支援、進入容器shell的功能。Yacgt只專注在必要的功能上，界面十分簡單。作者形容Yacht就像是「伺服器專用的去中心化應用商店，任何人都可以製作軟體套件。」（Think of it like a decentralized app store for servers that anyone can make packages for. ）\n比較兩者名字也可以看出他們差別，Yacht是遊艇的意思，Portainer是起重機XDD\n針對想找開源軟體的人來說，Yacht是完全由社群開發的程式，所有功能都是免費的；相較之下Portainer是商業產品，部份功能需要付費。\n順帶一提，Yacht有在Linode、OpenVault、DigitalOcean等平台的市集上架。\n","title":"Yacht ～ 簡易Docker圖形管理界面，透過網頁寫docker-compose","type":"posts"},{"content":"自由幻夢。\n至今追求過的事情，沒有一項對未來有幫助，或者說能直接帶來利益的。按照人們的成功定義，未來的人生就是要能靠自己的專業能力賺錢。但是，我既沒有深厚底子，又不懂得用三寸不爛之舌包裝行銷自己，那自然造成追求的事物變成空笑夢一樣的存在。 蝴蝶飛出了潛水鐘 我卻還在原地停留\n留不住時間耶耶耶耶 總是後悔的我我我\n我不要一生就這樣 到最後一生就這樣 這樣的我\n這樣的 勇敢的我 單純的我 複雜的我 冷的我 熱的我\n我覺得我很自由，事實上是因為無所事事而游手好閒，不是真正的解脫。如果不躺平的話，就大眾的定義而言，人生是失敗的。\n從小時候想學習繪畫，到想當作家，以及在那之後意圖成為程式設計師，爾後又想當歷史學家，或是放棄一切加入國軍成為飛官，再來到現在自由軟體的追隨者 ——— 這之中完全對未來沒有建樹的作為。沒有說這些職業就一定餓死會沒出息的意思，不過沒有向前踏出務實的一步，就是註定永遠只能當個業餘愛好者的成份。興趣涉獵廣泛，自由探索，底層的解釋即為「未定型統合」的顯現。如果說一個人在經歷看似許多事之後仍然不知道目標在哪，那麼就是處於失敗的一方了。為了生存，便只好做著次之、第二選擇的專業技能做為求生之道。\n自由帶來的竟是幻夢，那追求真正自由的渴望由此湮滅於上班、上課出門的車銷煙塵之中。希求哪天有機會能降臨到自己身上，或者悄悄的過完好似不平凡的人生。有時也會想東想西，想著求死，因為沒人會在乎。\n在這樣思考之餘，總是會被說想太多了，還不快去完成該做的事情，不論是考試還是工作。嗯啊，我確實沒有去診斷精神疾病過 —— 我也不想知道，過了以為精神分裂症很酷的中二年紀後，真獲得精神疾病恐怕是再起不能，尤其是本身就是廢物的人。\n我覺得自己是個沒用的人啊。順手看到了這篇討論：\n“忙起来你就没时间抑郁了”这句话有理么？ - 知乎\n我真的不能理解，為什麼我們社會還有這麼多勢利的人，都還在鼓吹這種思維，一見人有心理問題的跡象，便說教似的講忙起來所有心理疾病都好了，你不快樂是太閒想太多。這種近乎社達，不重視個人內心感受的氛圍，是該拋棄了。把自己變成螺絲並不會讓心理疾病自動消失，它只是讓人處於習得性無助狀態，變成社會人們所定義的「成熟」。\n你說，要當快樂的豬，還是痛苦的蘇格拉底？反正他們到最後還不是都被人類弄死了？\n準確來說，這裡的快樂接近麻木、無自覺的狀態，而非真正意義上的自在、喜悅。豬或許不會覺得自己很快樂，但蘇格拉底確實知道雅典人墮落了。\n私以為，現代越來越多人「得到」、「知道」自己有心理疾病未必不是壞事。只能說這個世界越來越殘酷，而人們對自己的內心總算願意有了更多的覺察。\n我想這也是為什麼在讀心理學的時候我偏好人本主義學派的說法吧。現在心理治療也常說要接受情緒存在的事實，不分性別和年齡，覺察到自己的情緒，接受這是一種正常的現象，而不用以各種方式壓抑。因為唯有了解自己的內在，並對他人有更多程度的關懷包容，才能有改變的契機。如果只是逃避與不誠實面對，長久下來必造成更大禍害。\n如果一個人不能對自己有充分認識，那跟死了也沒兩樣。經過對自己的反省，以及經歷過求死的念想後，才能得出如何活下去的結論吧。\n","date":"2023年10月23日","externalUrl":null,"permalink":"/posts/the-illusion-of-liberty/","section":"Personals","summary":"自由幻夢。\n至今追求過的事情，沒有一項對未來有幫助，或者說能直接帶來利益的。按照人們的成功定義，未來的人生就是要能靠自己的專業能力賺錢。但是，我既沒有深厚底子，又不懂得用三寸不爛之舌包裝行銷自己，那自然造成追求的事物變成空笑夢一樣的存在。 蝴蝶飛出了潛水鐘 我卻還在原地停留\n留不住時間耶耶耶耶 總是後悔的我我我\n我不要一生就這樣 到最後一生就這樣 這樣的我\n這樣的 勇敢的我 單純的我 複雜的我 冷的我 熱的我\n我覺得我很自由，事實上是因為無所事事而游手好閒，不是真正的解脫。如果不躺平的話，就大眾的定義而言，人生是失敗的。\n從小時候想學習繪畫，到想當作家，以及在那之後意圖成為程式設計師，爾後又想當歷史學家，或是放棄一切加入國軍成為飛官，再來到現在自由軟體的追隨者 ——— 這之中完全對未來沒有建樹的作為。沒有說這些職業就一定餓死會沒出息的意思，不過沒有向前踏出務實的一步，就是註定永遠只能當個業餘愛好者的成份。興趣涉獵廣泛，自由探索，底層的解釋即為「未定型統合」的顯現。如果說一個人在經歷看似許多事之後仍然不知道目標在哪，那麼就是處於失敗的一方了。為了生存，便只好做著次之、第二選擇的專業技能做為求生之道。\n自由帶來的竟是幻夢，那追求真正自由的渴望由此湮滅於上班、上課出門的車銷煙塵之中。希求哪天有機會能降臨到自己身上，或者悄悄的過完好似不平凡的人生。有時也會想東想西，想著求死，因為沒人會在乎。\n","title":"自由幻夢，你想太多是因為你不夠忙","type":"personal"},{"content":"","date":"2023年10月23日","externalUrl":null,"permalink":"/tags/bandcamp/","section":"標籤","summary":"","title":"Bandcamp","type":"tags"},{"content":"「Nuclear Music Player」為免費在電腦聽串流音樂的開源軟體，支援Linux/macOS/Windows系統。\n其整合了各大串流平台的歌曲，包含Youtube Music、Bandcamp、Soundcloud、Jamendo、Audius、iTunes Podcast、Invidious，完全免費無廣告，還可以下載音樂。\n這個軟體名字我就粗淺的翻譯為核子音樂播放器吧，讓我想到Android平台有個叫中子播放器Neutron Player的閉源APP。\nNuclear Music Player提供的音樂多樣，有英文歌，有中文歌，有日文歌\u0026hellip;那麼何不先來首核爆神曲《aLieZ》？ Ivon認為它好用的地方在於，整合多平台音樂方便管理。播放時可以任意插播、加入最愛，沒有任何限制。 Nuclear Music Player也可以當離線音樂播放器，播放電腦上的音樂。 1. 安裝 # Nuclear Music Player是用Electron寫成的程式 請至Github下載安裝檔。Windows下載exe，macOS下載dmg。\nLinux推薦用Flatpak安裝：\nflatpak install flathub org.js.nuclear.Nuclear Nuclear Music Player作者打趣的說，如果你基於宗教信仰因素，不爽我用笨重的Electron框架寫程式(What if I am religiously opposed to Electron?)，那麼請改用終端機取向的音樂程式，例如mps-youtube/yewtube。\n2. 使用方式 # 開啟後請點選左邊的Settings → Languages將界面調整成中文。\n因為Nuclear Music Player使用discodogs搜尋，對英文歌支援較好，比較容易找到完整的的作品集。比如我搜尋Green Day，就會有熱門歌曲和歷年專輯列表。 此播放器支援自動載入歌詞，來源為SimpleLyrics或AZLyrcis。很謎的是有時候知名英文歌仍是顯示沒有歌詞。 （Nuclear Music Player預設會在下一首歌播放類似歌曲，不想要此功能的請到設定裡面關掉「自動播放」）\n相較於英文歌，中文歌雖然打中文名字還是找得到，但是哩哩啦啦，常常找到「音軌」（影片純音訊），難以找到專輯。 我想可能跟Youtube Music機制有關吧，很多中文歌上架後卻是取英文標題，得嘗試直接打專輯名字找歌曲。只有周杰倫這類大咖才有較完整的中文曲庫。 還有還有，Nuclear Music Player支援Bandcamp，那正好方便我聽一些獨立樂團！比如Windows96、desert sand feels warm at night、YĪN YĪN、Dengue Dengue Dengue這類的。 看到喜歡的音樂可以直接點左鍵下載，它會嘗試抓最高音質的webm。檔案會直接放到系統的下載目錄。 在播放音樂的時候，點選右邊的播放列表歌曲會彈出更多來源讓您切換。由於Nuclear Music Player是從多個音樂來源抓歌，難免會有出錯的時候。如果您發現Nuclear Music Player抓錯歌曲，那麼可以點這裡切換。 還可點選右下方Unverified旁邊的按鈕，確認這首歌符合搜尋結果，協助其他用戶校對Nuclear Music Player的資料庫。這個功能類似Sponsorblock。 順帶一提Nuclear Music Player有內建SponsorBlock，可以跳過業配，我是不知道音樂有什麼業配片段就是了\u0026hellip;不過從以上「切換來源」的功能我大概了解了，Nuclear Music Player有時仍然會抓影片來播，就可能有大量無關音樂的內容出現。\n3. 管理音樂庫 # Nuclear Music Player下載的音樂為webm檔，預設混在一起，要自己建資料夾整理。 Nuclear Music Player左邊選單「本機音樂」頁面可以瀏覽電腦上的音樂目錄，點選新增資料夾讓它掃描。 作者功能做得很簡單，支援大多數音樂格式，惟opus不支援。\n支援資料夾模式播放，還算人性化。 ","date":"2023年10月23日","externalUrl":null,"permalink":"/posts/nuclear-music-player/","section":"所有文章","summary":"「Nuclear Music Player」為免費在電腦聽串流音樂的開源軟體，支援Linux/macOS/Windows系統。\n其整合了各大串流平台的歌曲，包含Youtube Music、Bandcamp、Soundcloud、Jamendo、Audius、iTunes Podcast、Invidious，完全免費無廣告，還可以下載音樂。\n這個軟體名字我就粗淺的翻譯為核子音樂播放器吧，讓我想到Android平台有個叫中子播放器Neutron Player的閉源APP。\nNuclear Music Player提供的音樂多樣，有英文歌，有中文歌，有日文歌…那麼何不先來首核爆神曲《aLieZ》？ Ivon認為它好用的地方在於，整合多平台音樂方便管理。播放時可以任意插播、加入最愛，沒有任何限制。 Nuclear Music Player也可以當離線音樂播放器，播放電腦上的音樂。 1. 安裝 # Nuclear Music Player是用Electron寫成的程式 請至Github下載安裝檔。Windows下載exe，macOS下載dmg。\nLinux推薦用Flatpak安裝：\nflatpak install flathub org.js.nuclear.Nuclear Nuclear Music Player作者打趣的說，如果你基於宗教信仰因素，不爽我用笨重的Electron框架寫程式(What if I am religiously opposed to Electron?)，那麼請改用終端機取向的音樂程式，例如mps-youtube/yewtube。\n","title":"Nuclear Music Player免費聽音樂串流的電腦軟體，支援下載Youtube音樂","type":"posts"},{"content":"","date":"2023年10月21日","externalUrl":null,"permalink":"/tags/openwrt/","section":"標籤","summary":"","title":"OpenWrt","type":"tags"},{"content":"本文紀錄在「TP-Link Archer A6 AC1200 v3」路由器刷OpenWrt韌體，最終又刷回原廠的過程。\n初次玩這種的，為什麼想在路由器刷OpenWrt，因為要追求自由軟體！控制一切的快感！其次是因為好玩（吐舌）即使把全家網路癱瘓也在所不惜。 咦？對的，刷OpenWrt真的癱瘓我家網路了，讓我不得不放棄OpenWrt，最後面再講我如何處置的\u0026hellip;。\n1. 刷OpenWrt的理由 # 路由器本身可以視作一台小電腦，負責處理網路訊號。原廠提供的韌體功能有限，想要更多自訂的自然就會刷第三方韌體。其中OpenWrt是發展最久的專案之一，本身是一個極小化Linux系統，針對路由器打造的開源作業系統。刷入之後你就可以任意ssh到root帳號，做想做的事情了。\n比方說裝個內網穿透的VPN服務之類的。中國用戶還很愛用OpenWrt連翻牆軟體。\n近來OpenWrt進入穩定發表版本的模式，穩定版都有提供圖形界面，使用者不太需要打指令了。 在安裝OpenWrt前，需要對網路架構和Linux系統有基本認識。\n還要準備一台可以正常上網的電腦，要有RJ45網路孔方便跟路由器直接連線。沒有RJ45孔的話買條USB轉接線就可以了。\n最後要了解如何進入救援模式，並且準備有4G網路的手機做緊急救援用。\n2. 刷入OpenWrt # 到OpenWrt官網查詢路由器支援程度，版本需精確，路由器只要一改版晶片可能就不一樣了。TP-Link Archer A6 v3使用的是MediaTek MT7621DAT處理器，mipsel架構。該路由器的頁面有23.05.0韌體可以下載 點Firmware OpenWrt Install URL連結下載，有版本號碼的理論上比Snapshot要穩。此版本可以利用TP-Link的韌體更新機制刷進去。\n將電腦連到路由器的LAN孔，電腦端會出現一個有線乙太網路連線。 以瀏覽器開啟http://192.168.0.1或http://192.168.1.1，登入TP-Link後台界面。進入進階設定，點選升級韌體，上傳*.bin檔案。 刷入後路由器會重啟（看燈號確認，網頁可能會卡住），之後繼續維持電腦與路由器直接連線的方式，才能存取網頁界面。\n3. 透過網頁介面啟用Wifi # OpenWrt穩定版提供LuCI網頁界面。\n輸入http://192.168.1.1登入，預設沒有密碼 按照指示設定密碼 到System調整時區 我等會會將路由器直接用WAN連接到數據機(Modem)，OpenWrt應該會自動偵測網路連線，到Network → Wireless，將Wifi啟用 再點選下面的Interfaces，設定密碼。 因為這台路由器支援2.4Ghz和5Ghz，所以有二個無線網路（點Edit，看Channel的頻率判斷）。選擇其中一個開啟，也可以兩個都開。\n若是兩個SSID設定一樣的話，就讓連線裝置自行判斷要連2.4Ghz還是5Ghz。\n4. SSH進命令行界面 # 將路由器接上數據機。確認Wifi能運作的情況下，執行指令：ssh root@192.168.1.1\n可登入純文字界面 更新套件庫的指令：\nopkg update 鑑於LuCI已包辦大部分操作，其實不太會用到指令。另外根據OpenWrt社群的建議，別隨便跑opkg upgrade亂升級套件。\n5. 如何將TP-Link路由器刷回原廠韌體 # 不幸的是我得放棄跑OpenWrt了。這台TP-Link路由器是低階機種，容量8MB，沒有USB孔擴充，其實也幹不了什麼事情。如果只是要VPN服務的話，原廠韌體就有提供了。\n相較原廠韌體，OpenWrt表現非常不穩定，除了速度變慢，每幾秒還會出現爆ping的延遲感，可是用traceroute看又正常。\n這樣我家網路就形同癱瘓了。俗話說玩電玩不會讓人想殺人，網路lag才會。\n看OpenWrt論壇很多人也有這問題。排查一整天，改頻段、改DNS還是抓不出原因，不想冒險用Snapshot版本，只好刷回原廠了。\nTP-Link官方說明是使用網頁Recovery恢復原廠系統，可是我已經不是原廠韌體了。\n另一個方法是用UART，那得拆機焊接，我不會。\n第三個TFTP傳輸模式。參考TP-Link社群說明，將電腦與路由器直接連線，在Windows電腦跑TFTPD64程式，按路由器的RESET鍵和開機鍵五秒放開，開機就會自動把韌體傳過去\u0026hellip;不管我按多久都沒反應，開機還是進OpenWrt。\nLinux的作法參考這部影片 最後想到一個玉碎的方法：將電腦與路由器直接連線，透過OpenWrt的System → Firmware Update韌體更新界面，強行把TP-Link Archer A6原廠韌體傳上去。無視警告，點選Force upgrade。\n萬幸的是，在重開機後就進入TP-Link的Recovery了！上傳韌體後一切正常，以前設定的網路也回來了。 就是這樣，我還有很多要學的才能玩好OpenWrt。\n參考資料 # OpenWrt Wiki TP-Link TP-Link Archer C7 安裝 Openwrt by 李松錡 ","date":"2023年10月21日","externalUrl":null,"permalink":"/posts/tp-link-archer-a6-v3-openwrt/","section":"所有文章","summary":"本文紀錄在「TP-Link Archer A6 AC1200 v3」路由器刷OpenWrt韌體，最終又刷回原廠的過程。\n初次玩這種的，為什麼想在路由器刷OpenWrt，因為要追求自由軟體！控制一切的快感！其次是因為好玩（吐舌）即使把全家網路癱瘓也在所不惜。 咦？對的，刷OpenWrt真的癱瘓我家網路了，讓我不得不放棄OpenWrt，最後面再講我如何處置的…。\n1. 刷OpenWrt的理由 # 路由器本身可以視作一台小電腦，負責處理網路訊號。原廠提供的韌體功能有限，想要更多自訂的自然就會刷第三方韌體。其中OpenWrt是發展最久的專案之一，本身是一個極小化Linux系統，針對路由器打造的開源作業系統。刷入之後你就可以任意ssh到root帳號，做想做的事情了。\n比方說裝個內網穿透的VPN服務之類的。中國用戶還很愛用OpenWrt連翻牆軟體。\n近來OpenWrt進入穩定發表版本的模式，穩定版都有提供圖形界面，使用者不太需要打指令了。 在安裝OpenWrt前，需要對網路架構和Linux系統有基本認識。\n還要準備一台可以正常上網的電腦，要有RJ45網路孔方便跟路由器直接連線。沒有RJ45孔的話買條USB轉接線就可以了。\n最後要了解如何進入救援模式，並且準備有4G網路的手機做緊急救援用。\n","title":"TP-Link Archer A6路由器刷OpenWrt ＋ 刷回原廠韌體過程紀錄","type":"posts"},{"content":"目前筆電跑的是Arch Linux，KDE桌面用得好好的，然而我遇到了需要Windows才能跑的軟體，得搞Windows雙重開機。\n很多人都是先有Windows才裝Linux的，例如Windows 11 ＋ Ubuntu單碟雙系統，不過這個過程反過來也行得通。\n（先安裝Linux再裝Windows，記得以前也在Ubuntu幹過這種事來著\u0026hellip;）\n我們只要切個分區給Windows安裝，跟Arch Linux共用EFI分區，然後再把Windows Boot Manager加到GRUB開機選單就可以了。裝好後二邊的檔案可以互通。 我之所以這樣做的目的乃因為Windows 11安裝的分區會把硬碟切得七葷八素的，相較之下Linux只有二個分區。所以先Linux後Windows的做法可以讓硬碟分區好看一點，並且Windows的分區位於硬碟後端，刪除也比較容易。 1. 環境 # MSI Modern 15筆電符合Windows 11硬體需求。如果硬體不符合Windows 11需求，請想辦法用命令提示字元繞過偵測。\n硬碟500 GB SSD\nArch Linux分割區如下：\nnvme0n1 259:0 0 476.9G 0 disk ├─nvme0n1p1 259:1 0 512M 0 part /boot ├─nvme0n1p2 259:2 0 400.4G 0 part / 要縮減的是root分區，我準備割一個128GB的空間出來安裝Windows 11。\n不論分區使用EXT4還是BTRFS，最簡單的方法就是用Gparted Live USB來調整分區大小。我喜歡用圖形界面操作。\n2. 用Gparted切割分區 # 下載Gparted LiveUSB，複製到裝有Ventoy的隨身碟\n進UEFI，用Gparted開機\n點選桌面的Gparted程式\n點選root分區，Partition → Resize，拖動拉桿，將root分區縮小，空出128GB的未分配空間 點選綠色的Apply套用 點選桌面圖示關機\n3. 安裝Windows 11 # 重開機進入Arch Linux，到Microsoft官網下載ISO，將檔案放到裝有Ventoy的隨身碟\n重開機進UEFI，為防止影響Linux開機，確認Secure Boot沒有啟用，TPM也關掉（不過我開著倒是沒怎樣，Linux仍正常開機） 用隨身碟重開機，安裝Windows。\n在選擇安裝硬碟的畫面，選擇剛剛切割出來的128GB分區 Windows要求重開機時，可能要手動進UEFI，將開機順序改為Windows Boot Manager優先 進入Windows，跑完更新。\n3. 將Windows 11加入到GRUB選單 # 重開機進入Arch Linux，編輯GRUB設定 sudo vim /etc/default/grub 將偵測其他系統的參數#GRUB_DISABLE_OS_PROBER=false取消註解，並讓GRUB記住開機選取的項目。 GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true GRUB_DISABLE_OS_PROBER=false 執行sudo pacman -S os-prober \u0026amp;\u0026amp; sudo os-prober指令，應會偵測到Windows 更新GRUB設定\nsudo grub-mkconfig -o /boot/grub/grub.cfg 解決二個系統時間不同步的問題：讓Arch Linux改用RTC時間。 sudo timedatectl set-local-rtc 1 --adjust-system-clock 如果要在Linux存取Windows分區，請安裝ntfs-3g，再透過KDE Dolphin掛載。\nWindows存取Linux分區請用WinBTRFS掛載。\n參考資料 # Dual boot with Windows - ArchWiki\n","date":"2023年10月21日","externalUrl":null,"permalink":"/posts/archlinux-windows11-dualboot/","section":"所有文章","summary":"目前筆電跑的是Arch Linux，KDE桌面用得好好的，然而我遇到了需要Windows才能跑的軟體，得搞Windows雙重開機。\n很多人都是先有Windows才裝Linux的，例如Windows 11 ＋ Ubuntu單碟雙系統，不過這個過程反過來也行得通。\n（先安裝Linux再裝Windows，記得以前也在Ubuntu幹過這種事來著…）\n我們只要切個分區給Windows安裝，跟Arch Linux共用EFI分區，然後再把Windows Boot Manager加到GRUB開機選單就可以了。裝好後二邊的檔案可以互通。 我之所以這樣做的目的乃因為Windows 11安裝的分區會把硬碟切得七葷八素的，相較之下Linux只有二個分區。所以先Linux後Windows的做法可以讓硬碟分區好看一點，並且Windows的分區位於硬碟後端，刪除也比較容易。 1. 環境 # MSI Modern 15筆電符合Windows 11硬體需求。如果硬體不符合Windows 11需求，請想辦法用命令提示字元繞過偵測。\n硬碟500 GB SSD\nArch Linux分割區如下：\nnvme0n1 259:0 0 476.9G 0 disk ├─nvme0n1p1 259:1 0 512M 0 part /boot ├─nvme0n1p2 259:2 0 400.4G 0 part / 要縮減的是root分區，我準備割一個128GB的空間出來安裝Windows 11。\n不論分區使用EXT4還是BTRFS，最簡單的方法就是用Gparted Live USB來調整分區大小。我喜歡用圖形界面操作。\n","title":"先裝Arch Linux再裝Windows 11，單碟雙系統開機","type":"posts"},{"content":"Disqus與Giscus比較，優點何在？\nDisqus為存在10年以上的留言板（評論區）服務公司，是很成熟的留言板方案提供者。 有許多網站採用作為內嵌留言板，比方說XDA新聞就是用Disqus。最近好像換掉了。 但2019年Disqus被廣告公司Zeta Global收購後，開始強制塞一堆廣告，使用者得要付費去廣告。引起許多用戶不滿，尤其是個人部落客。\n靜態網站要做留言板很困難，因為沒有後端資料庫多半只能外嵌。誰會那麼勤勞慢慢貼上透過電子郵件實現的「讀者來函」到文章裡的。\n過去有Gitalk、Utterances，透過Github issues當留言板，後來有了互動能力更強的Giscus出現。 自從Giscus出現後，好多做靜態網站的個人部落客看到了救星，紛紛跳過來Giscus，幾乎沒有一個轉頭的。 過去我也上車了，從Disqus跳Gitalk再跳Giscus。但現在我要當轉頭的那個。\n犧牲對隱私和對開源的堅持，回去用Disqus，取代Giscus。\n1. 換掉Giscus的理由 # Giscus是利用Github Discussions當留言板的系統，原理請看我實際安裝的這篇：安裝Giscus作為Hugo網站的留言板\nGiscus有更適合的地方 # Giscus本體開源，很輕巧很棒，但它逐漸不符合我的需要。\n我想Giscus可能更適合當程式文件的留言板吧，像之前做的Stable Diffusion WebUI操作手冊就很適合用Giscus，內嵌在文件下方給程式設計師討論程式碼用。 可是考慮到網站規模的問題，一般網站的留言板，過度依賴一家公司而無法掌控，這就是個問題。尤其是我的網站不是小破站了，留言未來會多到難以管理的地步。\n跳船成本 # 用開源的Giscus存放Hugo blog留言看似美妙，但長久來看有大問題：過度依賴Github Discussions。萬一哪天我要跳船資料是難以帶走的，Github官方沒提供API，社群開發的script也不多。下載下來的資料，難以轉換到其他留言板服務。\n況且Github是一家商業公司，可以完全信任嗎？我之所以這樣說，乃因這裡有篇立場偏激的逃離Github勸世文：軟體自由保護組織：是時候放棄使用Github了！\n所幸，整個部落格的部署過程是弄得很模組化的：我保有全部Hugo原始碼的資料，Github隨時可以換成其他家的Git平台，託管網站的平台也是，圖片我現在也自己host了，部份影片放LBRY。\n只剩留言板是隱患，難以帶走的寶貴討論資料啊。\n所以我只好犧牲隱私和對開源的堅持，回去用Disqus。\n2. Disqus比Giscus好的地方 # Disqus支援匿名（訪客）留言，有成熟的留言管理系統，還提供匯出留言的服務。未來我可能會付費去廣告，除非他們推出什麼廣告合作營利計畫。\n得改一下以前對Giscus的讚揚了，其實Disqus並沒有那麼壞。\n隱私權還是有的 # Disqus畢竟是商業公司，不可能開源留言程式的。\n賣給廣告公司後，追蹤器更是放好放滿才能賺取收益，然而他們差點遭歐盟重罰250萬歐元，在那之後就乖乖遵守GDPR和CCPA了。\nDisqus剩下的缺點就是免費方案強制置入的追蹤器和廣告了，可能拖累網頁載入速度。這可以用延遲載入JavaScript解決：\n\u0026lt;script\u0026gt; function loadDisqus() { if (window.disqusLoaded) return; // 防止多次載入 window.disqusLoaded = true; var d = document, s = d.createElement(\u0026#39;script\u0026#39;); s.src = \u0026#39;https://*.disqus.com/embed.js\u0026#39;; // 載入Disqus留言板 s.setAttribute(\u0026#39;data-timestamp\u0026#39;, +new Date()); (d.head || d.body).appendChild(s); } // Disqus區塊進入view的時候才載入 var observer = new IntersectionObserver(function(entries) { if (entries[0].isIntersecting) { loadDisqus(); observer.disconnect(); } }, { threshold: 0.1 }); observer.observe(document.getElementById(\u0026#34;disqus_thread\u0026#34;)); \u0026lt;/script\u0026gt; 至於廣告，畢竟人家也要生活，花點錢支持ㄅ。真的不想看到廣告你就開uBlock Origin吧，我的網站又不會做偵測Adblocker的無聊舉動。\n匿名留言與防止洗板 # Giscus留言要求Github帳號是可以防止洗板，但我覺得Disqus的匿名留言(Guest Comment，又稱訪客留言)更符合保障網路隱私權的願景，「可能」會有更多人願意留言吧。\n況且都有人願意花時間開Github小號來動態牆下方跟我吵政治了，那麼其實有沒有註冊也沒差。 但是要防止洗板的話，還是關掉Allow guests to comment的功能比較好啦！\n現在Disqus有後台核准才能顯示留言的功能，其實就可以防止洗板了。一言堂形成！我可以亂刪批評的留言了（好獨裁）老實說，我不會看不爽留言就刪除，除非是洗板或者直球辱罵。 讓留言不再那麼透明 # Giscus的留言是公開在Github儲存庫的，可以間接幫助到Google搜尋問題的人，順便給我的部落格引流。\n好比以前我部落格還在用github.io的時候藉著Github網域獲得SEO排名一樣。\n相較之下Disqus留言不會給搜尋引擎爬到，是缺點沒錯，可我覺得對隱私有幫助，某些文章私底下的討論當然是不要讓太多人看到的了。\n還可以給人來我這才能看到好康討論的感覺！\n確保留言可以轉移 # 這個很重要，Disqus的留言板匯出資料為XML格式，很多開源留言系統都支援讀取Disqus匯出資料。哪天我要從Disqus跳船就用得到。\n至於你說哪些留言板系統支援匯入Disqus的留言？Cusdis便是一例。\n這樣比較下來，Giscus唯一我覺得的優勢就只有貼程式碼的能力了，markdown方便許多。\n3. 自架留言板不行嗎？ # 一個字：懶\n要自架留言板，那麼我乾脆Hugo也不要用了，平台遷移到Wordpress好了。\n我知道有self-host的留言板方案：\nisso cusdis Cactus comments Remark42 Discourse Talkyard Staticman 但我實在懶得管，不想花多餘的錢，萬一留言板的主機被DDoS呢。\n那種強調隱私的新創留言板公司（例如Commento、Hyvor Talk）短時間也難以跟Disqus競爭。\n4. 還是有留活路 # 考慮到對不自由軟體Disqus過敏的人群，現在我的留言系統維持雙軌並行制度，想用的還是可點Giscus的tab留言\u0026hellip;未來可能會只剩一個。 雖然有提示讀者可以選擇想用的留言板，但我看讀者多半還是會用「預設展開」的留言板，而不會去點另一個。\n而按載入留言按鈕才讀取留言板，防止網頁載入速度被Disqus拖慢的作法，就因為上述理由我不這樣做。其實我也覺得現在的網頁有點亂，如果不主動展開的話誰會想到「啊，這裡有留言按鈕」。\n就是這樣，如果你還是不滿意我的舉措，送你一首歌，汪峰的《為什麼不再快樂點》\n再放下一些再忘記一些\n再去他媽一些就會很快樂\n","date":"2023年10月20日","externalUrl":null,"permalink":"/posts/replace-giscus-with-disqus/","section":"所有文章","summary":"Disqus與Giscus比較，優點何在？\nDisqus為存在10年以上的留言板（評論區）服務公司，是很成熟的留言板方案提供者。 有許多網站採用作為內嵌留言板，比方說XDA新聞就是用Disqus。最近好像換掉了。 但2019年Disqus被廣告公司Zeta Global收購後，開始強制塞一堆廣告，使用者得要付費去廣告。引起許多用戶不滿，尤其是個人部落客。\n靜態網站要做留言板很困難，因為沒有後端資料庫多半只能外嵌。誰會那麼勤勞慢慢貼上透過電子郵件實現的「讀者來函」到文章裡的。\n過去有Gitalk、Utterances，透過Github issues當留言板，後來有了互動能力更強的Giscus出現。 自從Giscus出現後，好多做靜態網站的個人部落客看到了救星，紛紛跳過來Giscus，幾乎沒有一個轉頭的。 過去我也上車了，從Disqus跳Gitalk再跳Giscus。但現在我要當轉頭的那個。\n犧牲對隱私和對開源的堅持，回去用Disqus，取代Giscus。\n1. 換掉Giscus的理由 # Giscus是利用Github Discussions當留言板的系統，原理請看我實際安裝的這篇：安裝Giscus作為Hugo網站的留言板\n","title":"為什麼我要用Disqus取代Giscus當作Hugo網站的留言板","type":"posts"},{"content":"唯有了解死亡，才能面對生活。\n不知道你有沒有聽過「九相圖」，這是一種日本佛教繪畫題材，是按墓園九相去繪畫9個屍體腐化的過程。\n所謂的肉身美色無非就是一個『臭皮囊』，是一個會移動的『垃圾箱』，看似美麗光潔細膩的皮膚包裹著的無非是屎尿糞便、肥油膿血而已，正是所謂「九孔常流不潔物」。\n人間只是一場夢。為什麼既要貪戀現世的欲望。我希望再加以擴充這個觀點：為何不貪戀現世，死後就能到極樂世界解脫？羅馬皇帝奧理略說，那些偉人都到哪裡去了？他們像一縷青煙一樣消失了(How quickly all things disappear, in the universe the bodies themselves, but in time the remembrance of them.)。追求來世的宗教，還能算是善的宗教嗎？如果世界的盡頭有另一個世界存在，那麼我們每天努力的創造價值生命，建設地上的國度，為的只是死的好看點？\n這個世界無我，就再不存在，成就以及名聲都是暫時的，死後帶不走，我們死後也無地方可去，就是回歸塵土。\n幾年前把FB和Line的生日通知關掉了，果然沒有機器提醒，動態牆上一點場面話的祝賀都沒有。不知什麼時候開始，每年到了生日的時候，我就沒有高興的情緒，取而代之的想法是：我為什麼還活著受苦。\n今年生日的時候想到小時候看過的《甲蟲王者》的主題曲：Kiroro的〈正因為活著〉 媽媽第一次抱我 心情是如何?\n爸爸在我誕生的那一天 開心嗎?\n正因為活著 正因為活著 現在從此開始\n從那之後不斷重疊的奇蹟\n正因為活著 正因為活著 拓展開來又連結再一起\n波赫士認為：歷史其實也屬於一種幻想。我聽說印度人沒有歷史，那他們的人生是一種幻想嗎？竹書紀年可以跟正史完全不同，聖經抹消了人類以外生命的存在，還有什麼可以真正證明存在過的？\n他還說過：\n時間是我的構成實體\n時間是一條令我沉迷的河流，但我就是河流\n時間是一隻使我粉身碎骨的虎，但我就是虎\n時間是一團吞噬我的烈火，但我就是烈火\n世界，很不幸，是真實的\n我，很不幸，是波赫士。\n我愛這個人生，可是我知道總有一天要離去，不免感到傷心。可是倘若本身就無意義，何來痛苦之有？大江東去不問英雄過往，任憑時間流逝，什麼也不會剩下。\n我們永遠不會活在過去，也不會活在未來，更無法活在當下 ——— 每當我有思慮的時候，思維馬上就變成過去了。那種時光無法追溯，只有名為記憶的事情存留下來。而如果不將記憶凝固成碑文、書籍，我們在人們的心目中就永遠消失了。每天都有人在遺忘事情，還有人會死。如果我希望能永遠讓人記得我，也就是我存在的證明，流傳下去，那會是多久的時光？要到地球被太陽吞沒的時候嗎？用外星人無法理解的語言刻在太空船的金唱片走到宇宙盡頭？\nDaniel Czepko：\n在我以前沒有時間，在我以後沒有存在，時間與我同生，時間也與我同死。\n按照禪宗說法，雖然現世短暫，但若能有所了悟，仍是可喜的。了悟到人生短暫，把握當下，不為誰而活，而是為自己而活。\n為了讓這個時間不被輕易的中止，自殺不是選項，只是因為那還不是最好的選擇罷了。即使我的在不會長長久久，身後記著現在發生的事情的人又不會有多少，還是可以從間隙找到價值。\n一個人如果真正對自己負責，就不會整天只想著苟活，等待死亡緩慢的從田野上如太陽般的升起，而我們在地上流汗又流淚。只能吶喊著，人生是如此短暫殘酷。在充滿生命的滿月出現之際，又歌頌逝去的歡愉，天地曾不能以一瞬。等到東方魚肚白，在恍然醒來的憔悴眼神中見到的是新一天的生命。\n這個時候不論你是歡愉也好，悲憤也好，麻木也好，日子最終還是要過下去。以求我們每天走過的不同道路，能給往後的世界帶來一些變化。\n","date":"2023年10月20日","externalUrl":null,"permalink":"/posts/how-could-we-live-in-the-moment/","section":"Personals","summary":"唯有了解死亡，才能面對生活。\n不知道你有沒有聽過「九相圖」，這是一種日本佛教繪畫題材，是按墓園九相去繪畫9個屍體腐化的過程。\n所謂的肉身美色無非就是一個『臭皮囊』，是一個會移動的『垃圾箱』，看似美麗光潔細膩的皮膚包裹著的無非是屎尿糞便、肥油膿血而已，正是所謂「九孔常流不潔物」。\n人間只是一場夢。為什麼既要貪戀現世的欲望。我希望再加以擴充這個觀點：為何不貪戀現世，死後就能到極樂世界解脫？羅馬皇帝奧理略說，那些偉人都到哪裡去了？他們像一縷青煙一樣消失了(How quickly all things disappear, in the universe the bodies themselves, but in time the remembrance of them.)。追求來世的宗教，還能算是善的宗教嗎？如果世界的盡頭有另一個世界存在，那麼我們每天努力的創造價值生命，建設地上的國度，為的只是死的好看點？\n這個世界無我，就再不存在，成就以及名聲都是暫時的，死後帶不走，我們死後也無地方可去，就是回歸塵土。\n幾年前把FB和Line的生日通知關掉了，果然沒有機器提醒，動態牆上一點場面話的祝賀都沒有。不知什麼時候開始，每年到了生日的時候，我就沒有高興的情緒，取而代之的想法是：我為什麼還活著受苦。\n今年生日的時候想到小時候看過的《甲蟲王者》的主題曲：Kiroro的〈正因為活著〉 ","title":"我們無法活在當下，死後無處也可去","type":"personal"},{"content":"註：這是使用Hugo框架做的舊版，後來我重新用JQuery做了新版。\n因為《艦娘乳図鑑》網站進不去，所以自己用Hugo做了個仿冒品。\n《艦娘乳図鑑》是日本艦これ玩家架設的，查看艦娘罩杯(乳量)的網站，約2017年出現。\n網站標語為：\n艦娘の胸部をグリッド表示で見やすさを追求したサイトです。\n這是為了方便查看艦娘胸部所架設的網格式網頁。\n《艦娘乳図鑑》網站縮圖是艦娘胸部特寫，透過拉桿來篩選艦娘罩杯，點選之後會出現全身圖。 後來還加入了少女前線、碧藍航線、公主連結的乳量比較。\n然而最近《艦娘乳図鑑》網站不知為何進不去了，所以我自己做了一個窮人版的仿冒品練練手，稱為：《艦娘乳圖鑑(偽)》 前端純Hugo靜態網頁實作，無任何後端資料庫，界面針對手機優化過。\n進度更新到2023年2月的艦娘。\n1. 如何閱覽 # 網站原始碼託管在Github。\n這個網站可以立即部署到任一web hosting。原本是要做成網站的沒錯啦，之前我曾經託管在Netlify的免費域名，但是圖片太多很耗流量就改設計成離線觀看模式了。\n到Github Release下載zip，用瀏覽器開啟public/index.html就可以閱覽網頁。 網站縮圖選用深海海月姬，她的立繪是艦隊Collection遊戲裡面胸部數一數二大的，畫的彷彿快掉出來了。 為了方便處理，我把艦娘和深海頁面分開。 點選罩杯或艦種篩選艦娘，點選放大圖片。艦娘的罩杯完全是我主觀推算的，罩杯最多只給到I，符合該級距的只有雲龍。 深海的罩杯亦同，最大I罩杯的是港灣棲姬。因為我不太會用jQuery的緣故，所以不論艦娘還是深海，都只有方形的胸部特寫圖片，沒有全身圖。 2. 談談艦娘罩杯標示準則 # 如果覺得你的老婆罩杯被低估了，請自行fork專案然後修改圖片描述檔，並將參考資料來源寫在ImageDescription欄位。\n常見的罩杯表示方法：字母＋數字。字母為罩杯大小，即上胸圍減下胸圍得出；數字為下胸圍。\n《艦娘乳図鑑》原網站並無給出罩杯與其(上)胸圍的計算方式，根本快樂杯。\n又艦隊Collection官方出版物幾乎未提及艦娘的身高體重，用史實排水量衡量又會出現許多特例，難以推算。\n所以，艦娘和深海棲艦的罩杯大小主要靠主觀認定，僅標出大約罩杯而不標出具體下胸圍，再參考其他出版物作調整。\n參考優先度：遊戲立繪 \u0026gt; 季節限定立繪 \u0026gt; Arcade版3D模型 / 實體模型 \u0026gt; 動畫版 \u0026gt; 其他官方出版物。\n應防止採用二創設定，二創常會將浜風、長波、加賀等熱門角色的奶子畫得比西瓜還大，會影響判斷。例如ヨシタマ的作品就是好例子： 艦娘改造後罩杯應相同，少數改二例外。深海棲艦有明確的對應艦娘，雙方罩杯也應相同。\n被衣物遮擋的一律視為A罩杯。\n3. 詳細解釋網站背後採用的技術 # 因為只是簡陋的仿冒版，以好維護為主，使用Hugo來生成網頁，介面純前端實現，無使用資料庫，不需要後端伺服器。 這個圖片多到連速度著稱的Hugo都要花30秒才能生成網頁。\n納入最新的艦娘與深海棲艦立繪。目前只廚艦隊Collection，暫不加入其他遊戲。目前無法查看全身圖，沒有複合條件搜尋。\n製作過程是挑選簡單的Hugo主題Simpblog做基底。\n然後找可以生成畫廊的Hugo shortcode，正好有個專案hugo-shortcode-gallery，它融合了Justified-Gallery + SwipeBox的JQuery程式，能直接嵌入至Hugo網站。\n這個shortcode要求文章使用「page bundle」，也就是在Hugo網站的contents/posts/目錄新增文章目錄，再於其下新增放圖片的目錄，之後在文章正文的index.md嵌入shortcode程式碼，就會讀取圖片，生成畫廊。\n畫廊支援以Tag篩選要顯示的圖片。那Tag填在哪裡呢？於圖片所在目錄，給每張圖片新增與其同名，以.meta結尾的文字檔，填入Tag等資訊，就變成該圖片的描述檔了。 以這個邏輯下去做，接下來就是準備艦娘的圖片了。\n4. 如何修改此專案，自行新增艦娘 # 圖片處理流程如下：\n安裝Hugo、ImageMagick、Git、GIMP\n複製本儲存庫\ngit clone https://github.com/ivon852/kancolle-bra-size-comparison-website.git 下載kcwiki提供的艦隊Collection的最新完整遊戲快取，解壓縮。\n從目錄kcs2/resources/ship/character_up_dmg/複製出艦娘的半身像(大破立繪更容易露出胸部，季節限定立繪可忽略) 通常圖片是按照時間排序的。 使用ImageMagick指令，批次裁圖為250x250像素圖片。大部分艦娘的胸部應位於圖片正中央，視情況再手動裁圖。\nmogrify -format png -gravity center -crop 250x250+0+0 -resize 250x250 *.png 深海棲艦沒有半身像，因此從kcs2/resources/ship/full/目錄複製出全身像(同艦種不同數值的不納入，例如集積地棲姬II、集積地棲姬III)，手動用GIMP裁切為250x250像素圖片。 移動到此儲存庫的content/posts/目錄，在個別文章目錄下新增thumbnails目錄，將裁切的圖片放到這裡。 在該thumbnails目錄新增與圖片同名，後綴為.meta的描述檔案，填入罩杯、艦種、艦娘或深海棲艦、名字。ImageDescription為補充註解用。\n{ \u0026#34;Tags\u0026#34;: [\u0026#34;Cup: E\u0026#34;, \u0026#34;BB\u0026#34;, \u0026#34;Kanmusu\u0026#34;], \u0026#34;Title\u0026#34;: \u0026#34;Colorado改\u0026#34;, \u0026#34;ImageDescription\u0026#34;: \u0026#34;\u0026#34; } 用Hugo指令生成網頁。成品位於public目錄 hugo --gc --minify ","date":"2023年10月19日","externalUrl":null,"permalink":"/posts/kancolle-bra-size-comparison-hugo/","section":"Kantai-Collections","summary":"註：這是使用Hugo框架做的舊版，後來我重新用JQuery做了新版。\n因為《艦娘乳図鑑》網站進不去，所以自己用Hugo做了個仿冒品。\n《艦娘乳図鑑》是日本艦これ玩家架設的，查看艦娘罩杯(乳量)的網站，約2017年出現。\n網站標語為：\n艦娘の胸部をグリッド表示で見やすさを追求したサイトです。\n這是為了方便查看艦娘胸部所架設的網格式網頁。\n《艦娘乳図鑑》網站縮圖是艦娘胸部特寫，透過拉桿來篩選艦娘罩杯，點選之後會出現全身圖。 後來還加入了少女前線、碧藍航線、公主連結的乳量比較。\n然而最近《艦娘乳図鑑》網站不知為何進不去了，所以我自己做了一個窮人版的仿冒品練練手，稱為：《艦娘乳圖鑑(偽)》 前端純Hugo靜態網頁實作，無任何後端資料庫，界面針對手機優化過。\n進度更新到2023年2月的艦娘。\n1. 如何閱覽 # 網站原始碼託管在Github。\n這個網站可以立即部署到任一web hosting。原本是要做成網站的沒錯啦，之前我曾經託管在Netlify的免費域名，但是圖片太多很耗流量就改設計成離線觀看模式了。\n到Github Release下載zip，用瀏覽器開啟public/index.html就可以閱覽網頁。 ","title":"Hugo框架畫廊主題的實踐 ~ 艦娘乳図鑑","type":"kantai-collection"},{"content":"針對想在電腦觀看Youtube影片的用戶，「FreeTube」為不錯的選擇。這款開源第三方客戶端加入了許多實用功能，支援Linux/Windows/macOS。本教學Ivon將會帶您一覽此程式的功能。 1. FreeTube特色功能 # 如果要Ivon比喻的話，FreeTube就像是電腦版的NewPipe吧！NewPipe是專注播放Youtube影片的手機APP，小巧實用，Ivon很喜歡。 FreeTube就跟NewPipe一樣實用，有以下功能：\n支援1080p影片，無廣告看Youtube，繞過「Youtube禁止使用廣告攔截器」 可下載影片或純音訊 支援匯入訂閱列表 以第三方播放器播放Youtube影片，提昇畫質 可在瀏覽器播放Youtube影片時自動導向FreeTube 提供家長模式，充當無廣告的Youtube Kids 支援Tor連線 支援SponsorBlock UI支援小螢幕裝置，例如Linux手機PinePhone 由於FreeTube有自己的一套爬影片的API，自然就無法登入Google帳號了，訂閱列表需要手動匯入。\nFreetube可使用本機API觀看Youtube影片，也可以依靠Invidious技術看影片，防IP洩漏，進一步加強隱私保護。\n簡單來說，本機API運作方式就像是NewPipe那樣依靠程式自身讀取Youtube影片；而Invidious API的話需要依賴遠端站台回傳影片資料。\n2. 下載FreeTube # FreeTube是支援Linux/Windows/macOS的自由軟體，請至Github Releases下載安裝檔。\nLinux可以用Flatpak安裝：\nflatpak install flathub io.freetubeapp.FreeTube 3. FreeTube使用方式 # 開啟後請到播放器左邊的Settings將其調整成中文 FreeTube預設使用本機API，您可以改成Invidious API。雖然Invidious也可以下載影片，且跑一層代理加強隱私保護，可是因為遠端站台偶爾會出狀況，我覺得Invidious API沒有本機API穩定就是了。 在播放器選項開啟截圖功能、自動載入影片留言 影片播放界面跟Youtube十分類似，點選星號加入播放清單。 點影片界面的符號進入懸浮播放。點FreeTube左上角的正方形可以開新FreeTube視窗。 下載影片格式一應俱全。 這裡需注意，如果您使用本機API，則FreeTube只能分開下載影片與音訊，需要手動合併。使用Invidious API最高能下載到720p的影片。\n嫌麻煩的我建議您改用yt-dlp下載影片。\n4. 用外部程式播放FreeTube提昇畫質 # 說到最靈活的影片播放器就是MPV了！小巧又高擴充性。將Youtube影片傳給MPV就能使用多種特效了，比方說提高FPS＋畫質提昇的濾鏡！\n到設定 → 外部播放程式，選取要使用的播放器。Linux的話它會從PATH去找MPV的執行路徑，如果有特殊需求再填寫「可執行檔路徑」與「外部程式參數」 之後在影片播放界面點選箭頭圖示，即可打開外部程式。 如果要在用Firefox或Chrome的時候自動導向FreeTube，請安裝Libredirect擴充功能。\n在Libredirect設定頁面啟用Youtube，設定前端為FreeTube。 這樣點選Youtube連結即會自動開啟FreeTube程式了。 5. 匯入Youtube訂閱列表 # FreeTube的資料存放位置：Windows為%APPDATA%/FreeTube；macOS為~/Library/Application Support/FreeTube/；Linux Flatpak版為~/.var/app/io.freetubeapp.FreeTube/config/FreeTube/\nFreeTube支援從YouTube、Invidious、NewPipe匯入資料。目前只能匯入歷史紀錄和訂閱列表。\n以Youtube為例：\n至Google Takeout，僅勾選Youtube。點選「包含所有資料」，僅勾選「訂閱內容」、「歷史紀錄」、「播放清單」 將匯出檔案解壓縮，得到csv檔案 至FreeTube設定 → 資料設定匯入 參考資料 # 原始碼位於Github：FreeTubeApp/FreeTube - An Open Source YouTube app for privacy\n官方說明文件：FreeTube Docs\n","date":"2023年10月18日","externalUrl":null,"permalink":"/posts/freetube-usage/","section":"所有文章","summary":"針對想在電腦觀看Youtube影片的用戶，「FreeTube」為不錯的選擇。這款開源第三方客戶端加入了許多實用功能，支援Linux/Windows/macOS。本教學Ivon將會帶您一覽此程式的功能。 1. FreeTube特色功能 # 如果要Ivon比喻的話，FreeTube就像是電腦版的NewPipe吧！NewPipe是專注播放Youtube影片的手機APP，小巧實用，Ivon很喜歡。 FreeTube就跟NewPipe一樣實用，有以下功能：\n支援1080p影片，無廣告看Youtube，繞過「Youtube禁止使用廣告攔截器」 可下載影片或純音訊 支援匯入訂閱列表 以第三方播放器播放Youtube影片，提昇畫質 可在瀏覽器播放Youtube影片時自動導向FreeTube 提供家長模式，充當無廣告的Youtube Kids 支援Tor連線 支援SponsorBlock UI支援小螢幕裝置，例如Linux手機PinePhone 由於FreeTube有自己的一套爬影片的API，自然就無法登入Google帳號了，訂閱列表需要手動匯入。\nFreetube可使用本機API觀看Youtube影片，也可以依靠Invidious技術看影片，防IP洩漏，進一步加強隱私保護。\n簡單來說，本機API運作方式就像是NewPipe那樣依靠程式自身讀取Youtube影片；而Invidious API的話需要依賴遠端站台回傳影片資料。\n","title":"電腦看Youtube的開源程式：FreeTube，無廣告、下載影片","type":"posts"},{"content":"","date":"2023年10月18日","externalUrl":null,"permalink":"/tags/unioncreative/","section":"標籤","summary":"","title":"UNIONCREATIVE","type":"tags"},{"content":" 此為UNIONCREATIVE カントク「セーラー服のまんなか」（水手服的裡面是\u0026hellip;）的港版模型。只賣原版模型的1/8價格。\n原版照片是這樣的。 然後這是港版模型的樣子，比例蠻大隻的，28cm 光是從開箱後就可以看出跟正版的差異，皮膚素材十分之粗糙，顏色呈現蠟黃色，活像鬼一樣。這不是少女，是老嫗啊！！！\n且只要站著的話，便能從中觀察出她大頭娃娃，虎背熊腰\u0026hellip;.還有各種零件為了可拆性而不密合的問題 跟原版小褲褲相比，這裡直接變成阿嬤內褲。 躺著還比較能看www 稍微喬一下角度抓拍，勉強還是能看啦。依照光線不同，皮膚會有不同的觀感。 拆開部件是這樣，原版最多只能脫到內衣，這裡是真的能脫光光的模型。脫衣服需要先拆掉頭部才能換。 乳頭和小穴做的中規中矩 因為用上劣質塑膠製作，所以皮膚看起來很光滑。正常來說這就是港版的劣質品。不過在這裡這是個優點，能夠增加色氣度。 嘛，本來撿便宜，既然不是正版就不用吝惜，這隻就是專門拿來練習BKK的。因為夠大隻，不容易射偏。躺著射站著射都好玩。 ","date":"2023年10月18日","externalUrl":null,"permalink":"/posts/unioncreative-kantoku-sailorfuku-mannaka-knockoff/","section":"Artworks","summary":" 此為UNIONCREATIVE カントク「セーラー服のまんなか」（水手服的裡面是…）的港版模型。只賣原版模型的1/8價格。\n原版照片是這樣的。 然後這是港版模型的樣子，比例蠻大隻的，28cm 光是從開箱後就可以看出跟正版的差異，皮膚素材十分之粗糙，顏色呈現蠟黃色，活像鬼一樣。這不是少女，是老嫗啊！！！\n且只要站著的話，便能從中觀察出她大頭娃娃，虎背熊腰….還有各種零件為了可拆性而不密合的問題 跟原版小褲褲相比，這裡直接變成阿嬤內褲。 躺著還比較能看www 稍微喬一下角度抓拍，勉強還是能看啦。依照光線不同，皮膚會有不同的觀感。 拆開部件是這樣，原版最多只能脫到內衣，這裡是真的能脫光光的模型。脫衣服需要先拆掉頭部才能換。 ","title":"港版水手服少女可脫公仔，這種做工還是適合用來練習BKK（意味深）","type":"artwork"},{"content":"Youtube Music指的是Google推出的音樂串流服務，搜尋歌曲的時候能找到正規歌曲專輯，而非滿滿地MV。對想單純欣賞音樂的人，使用Youtube Music是再好也不過了。\n電腦版Youtube Music可透過官網安裝為PWA程式，但是音樂跟影片一樣有廣告啊。\n想要無廣告聽Youtube Music，手機有NewPipe、Youtube Music ReVanced能用，那麼電腦應該怎麼辦呢？\n這裡有個開源的程式叫Youtbe Music，由th-ch開發，基於PWA程式版本修改，加上一些擴充功能，從而達到去廣告、自訂主題、下載音樂的效果。 相較於下圖的原版Youtbube Music，上圖th-ch開發的版本功能要多得多了。 更棒的是，此程式支援登入Google帳號，這樣你就可以方便跨裝置聽歌曲了。\n我要吐槽一下開發者真是不會命名軟體\u0026hellip;在軟體後面加個Extended或Plus的也行呀。\n1. 安裝Youtube Music by th-ch # Youtube Music支援Linux/Windows/macOS電腦。\n請至Github下載安裝檔。\nArch Linux可從AUR安裝youtube-music-bin套件。\n2. Youtube Music by th-ch的特別功能 # 操作方式跟原版是一樣的，支援快捷鍵 點選Options → Trap，能讓程式顯示在系統匣，點一下開關程式。 所有的擴充功能都位於左上角的Plugins。每啟用一個擴充功能，就要按View → Reload重新載入套用。 我滿喜歡album-color-theme的，播放專輯整個畫面都會變色。啟用In-App Menu讓程式邊框不再那麼礙眼。 剩下比較有趣的功能：\nAdblocker：擋廣告，這是一定要的啦\nalbum-color-theme：讓播放界面染上專輯顏色\nambient-mode：讓專輯封面發光\naudio-compressor：音量均衡的等化器\nblur-nav-bar：讓導航列變模糊\nbypass-age-restrictions：繞過年齡限制\ndisbale-auotplay：停用自動播放。Youtube Music關閉程式後，下次開啟會從上次播的最後一首歌開始。啟用此功能能防止音樂自動開播。\nDiscord：讓Discord朋友知道你現在在聽的歌（Linux不支援）\nDownloader：透過youtube-dl下載音樂。\nIn-App Menu：讓UI變得更好看，而非顯示在視窗外側。\nlyrics-genius：取代Youtube Music內建的歌詞服務，支援更多歌曲\nNo Google Login：移除登入帳號按鈕\nPicture in picture：讓程式能用懸浮窗播放\nSponsorBlock：跳過業配片段（音樂也能業配？？）這個通常是Youtuber影片在用的。偶爾有人會故意惡搞，把音樂的副歌都標記為該跳過的片段。\nTuna-OBS：需配合Tuna插件，在OBS Studio錄影時候顯示正在播放的音樂。\nVideo Toggle：切換影片與音樂模式。Youtube Music會在找不到音樂的時候拿別人上傳的影片來補，但也因此有些專輯的歌曲會強制換成MV版本。這個功能也只是把影片轉成純音樂而已，而非真正的播放專輯版本。\n","date":"2023年10月18日","externalUrl":null,"permalink":"/posts/th-ch-youtube-music/","section":"所有文章","summary":"Youtube Music指的是Google推出的音樂串流服務，搜尋歌曲的時候能找到正規歌曲專輯，而非滿滿地MV。對想單純欣賞音樂的人，使用Youtube Music是再好也不過了。\n電腦版Youtube Music可透過官網安裝為PWA程式，但是音樂跟影片一樣有廣告啊。\n想要無廣告聽Youtube Music，手機有NewPipe、Youtube Music ReVanced能用，那麼電腦應該怎麼辦呢？\n這裡有個開源的程式叫Youtbe Music，由th-ch開發，基於PWA程式版本修改，加上一些擴充功能，從而達到去廣告、自訂主題、下載音樂的效果。 相較於下圖的原版Youtbube Music，上圖th-ch開發的版本功能要多得多了。 更棒的是，此程式支援登入Google帳號，這樣你就可以方便跨裝置聽歌曲了。\n我要吐槽一下開發者真是不會命名軟體…在軟體後面加個Extended或Plus的也行呀。\n1. 安裝Youtube Music by th-ch # Youtube Music支援Linux/Windows/macOS電腦。\n請至Github下載安裝檔。\nArch Linux可從AUR安裝youtube-music-bin套件。\n2. Youtube Music by th-ch的特別功能 # 操作方式跟原版是一樣的，支援快捷鍵 ","title":"無廣告電腦版Youtube Music，支援下載歌曲！功能豐富的第三方客戶端","type":"posts"},{"content":"這是試驗性的圖形化文章分類頁面，直接拿post模板來改。利用Hugo MemE主題的frontmatter去掉post的多餘資訊，再加上grid排列表格製作的圖片按鈕，用以取代MemE主題的純文字分類頁面。\n這樣我就可以自由控制出現在「全部分類頁面」的文章。但因為不直覺所以暫時不採用。就好比PChome24H現在改版了，我還是喜歡舊版那醜陋卻一目了然的界面吧。\n使用的CSS範本，讓圖片無法點選。\n\u0026lt;style type=\u0026#34;text/css\u0026#34;\u0026gt; img { pointer-events: none; user-select: none; } .tg {border-collapse:collapse;border-spacing:0;} .tg td{border:hidden; overflow:auto;padding:5px 5px;word-break:normal;} .tg th{border:hidden; font-weight:normal;overflow:auto;padding:5px 5px;word-break:normal;} .tg .tg-baqh{text-align:center;vertical-align;} \u0026lt;/style\u0026gt; HTML表格，讓圖片成為超連結按鈕，為手機著想所以一排表格只有三格。圖示使用GNOME Emblem和SVG Repo的圖片製作。\n\u0026lt;table class=\u0026#34;tg\u0026#34; style=\u0026#34;border:hidden;\u0026#34;\u0026gt; \u0026lt;thead\u0026gt; \u0026lt;tr\u0026gt; \u0026lt;td class=\u0026#34;tg-baqh\u0026#34;\u0026gt;\u0026lt;a href=\u0026#34;/categories/資訊科技應用/\u0026#34;\u0026gt;\u0026lt;img src=\u0026#34;/icons/emblem17.png\u0026#34; width=96 height=96 alt=\u0026#34;\u0026#34;\u0026gt;\u0026lt;/a\u0026gt;資訊科技應用\u0026lt;/td\u0026gt; \u0026lt;td class=\u0026#34;tg-baqh\u0026#34;\u0026gt;\u0026lt;a href=\u0026#34;/categories/hugo網站架設/\u0026#34;\u0026gt;\u0026lt;img src=\u0026#34;/icons/emblem18.png\u0026#34; width=96 height=96 alt=\u0026#34;\u0026#34;\u0026gt;\u0026lt;/a\u0026gt;Hugo網站架設\u0026lt;/td\u0026gt; \u0026lt;/tr\u0026gt; \u0026lt;/thead\u0026gt; \u0026lt;/table\u0026gt; 呈現效果如下： ","date":"2023年10月17日","externalUrl":null,"permalink":"/posts/categoriesicons-explained/","section":"所有文章","summary":"這是試驗性的圖形化文章分類頁面，直接拿post模板來改。利用Hugo MemE主題的frontmatter去掉post的多餘資訊，再加上grid排列表格製作的圖片按鈕，用以取代MemE主題的純文字分類頁面。\n這樣我就可以自由控制出現在「全部分類頁面」的文章。但因為不直覺所以暫時不採用。就好比PChome24H現在改版了，我還是喜歡舊版那醜陋卻一目了然的界面吧。\n使用的CSS範本，讓圖片無法點選。\n\u003cstyle type=\"text/css\"\u003e img { pointer-events: none; user-select: none; } .tg {border-collapse:collapse;border-spacing:0;} .tg td{border:hidden; overflow:auto;padding:5px 5px;word-break:normal;} .tg th{border:hidden; font-weight:normal;overflow:auto;padding:5px 5px;word-break:normal;} .tg .tg-baqh{text-align:center;vertical-align;} \u003c/style\u003e HTML表格，讓圖片成為超連結按鈕，為手機著想所以一排表格只有三格。圖示使用GNOME Emblem和SVG Repo的圖片製作。\n\u003ctable class=\"tg\" style=\"border:hidden;\"\u003e \u003cthead\u003e \u003ctr\u003e \u003ctd class=\"tg-baqh\"\u003e\u003ca href=\"/categories/資訊科技應用/\"\u003e\u003cimg src=\"/icons/emblem17.png\" width=96 height=96 alt=\"\"\u003e\u003c/a\u003e資訊科技應用\u003c/td\u003e \u003ctd class=\"tg-baqh\"\u003e\u003ca href=\"/categories/hugo網站架設/\"\u003e\u003cimg src=\"/icons/emblem18.png\" width=96 height=96 alt=\"\"\u003e\u003c/a\u003eHugo網站架設\u003c/td\u003e \u003c/tr\u003e \u003c/thead\u003e \u003c/table\u003e 呈現效果如下： ","title":"試驗性Hugo圖形化文章分類，grid排列的Categories頁面","type":"posts"},{"content":"","date":"2023年10月16日","externalUrl":null,"permalink":"/tags/piped/","section":"標籤","summary":"","title":"Piped","type":"tags"},{"content":"最近有越來越多的第三方Youtube網頁前端出現，讓使用者能間接觀看Youtube影片。也就是說不使用Youtube官方網頁，也不使用Youtube官方APP，改用第三方的服務看影片，藉此繞過Youtube的廣告與追蹤器。\n這樣既可以看Youtube影片，繞過「Youtube禁止使用廣告攔截器」，不受演算法影響，又能保護隱私。\n本文要介紹的是依照這個理念設計的技術「Piped」網站。 1. Piped網站簡介 # 幾年前開源軟體Invidious出現，它以代理伺服器爬取Youtube影片，去掉廣告和追蹤器，還給使用者一個乾淨的Youtube界面。由於是開放原始碼軟體，世界各處便出現了許多採用Invidious技術的網站，開放給一般者無廣告看Youtube影片。有的還開放註冊讓使用者訂閱頻道。\n開發者Kavin對Invidious常常崩潰感到不滿意，便自己寫了新的「Piped」軟體，功能比Invidious要強。 原始碼放在Github：TeamPiped/Piped: An alternative privacy-friendly YouTube frontend which is efficient by design.\n全球有採用Piped技術的網站，稱為Piped實例(instances)，比如Piped的官方實例就是https://piped.kavin.rocks。\n儘管Piped功能好像比Invidious多，但Piped有單點故障的問題。Piped跟Invidious都可能遇到Youtube網頁API改變而暫時無法播放的問題，Invidious能一鍵切換站台再跳回原影片，Piped要手動換實例。\n最穩定的用法還是自架Piped實例了吧，Piped跟Invidious一樣是開放原始碼軟體，提供開箱即用的自架docker-compose。\n2. Piped網站用法 # 到實例列表挑一個來用，例如https://piped.kavin.rocks。 進入Piped主界面，會顯示該實例所在位置的熱門影片。 點選右上角Preferences，設定主題顏色和語言 播放界面調整影片畫質、影片加入播放清單、下載影片幀（擷圖）、啟動純音樂模式。如果遇到影片無法播放的問題，請換個實例，或者回報issue給開發團隊。 Piped支援電腦與手機界面，手機瀏覽器無論是Android還是iOS皆支援背景播放。 至於Piped的帳號是自由註冊的，僅用於訂閱頻道和建立播放清單，跟Youtube帳號無關。 如果想要更多進階功能的，可以使用手機APP存取Piped網站：LibreTube (Android) ｜Yattee (iOS) 3. 自架Piped實例 # Piped專案架構：\n前端使用Vue.js 後端使用Java寫成的NewPipeExtractor 代理伺服器使用Rust寫成 官方文件建議使用Caddy或Nginx反向代理伺服器的方案來存取各項後端服務。此方案需要自備伺服器與子域名。\n安裝Docker\n取得docker-compose，一連串的服務包含Piped前端、Piped後端、Piped代理伺服器、Caddy、WatchTower。\ngit clone https://github.com/TeamPiped/Piped-Docker cd Piped-Docker 執行指令稿，依序填入要使用的子域名 ./configure-instance.sh 接著在您的域名供應商後台，新增DNS紀錄，指向伺服器的公共IP。\n啟動服務\ndocker compose up -d ","date":"2023年10月16日","externalUrl":null,"permalink":"/posts/piped-youtube-alternative-frontend/","section":"所有文章","summary":"最近有越來越多的第三方Youtube網頁前端出現，讓使用者能間接觀看Youtube影片。也就是說不使用Youtube官方網頁，也不使用Youtube官方APP，改用第三方的服務看影片，藉此繞過Youtube的廣告與追蹤器。\n這樣既可以看Youtube影片，繞過「Youtube禁止使用廣告攔截器」，不受演算法影響，又能保護隱私。\n本文要介紹的是依照這個理念設計的技術「Piped」網站。 1. Piped網站簡介 # 幾年前開源軟體Invidious出現，它以代理伺服器爬取Youtube影片，去掉廣告和追蹤器，還給使用者一個乾淨的Youtube界面。由於是開放原始碼軟體，世界各處便出現了許多採用Invidious技術的網站，開放給一般者無廣告看Youtube影片。有的還開放註冊讓使用者訂閱頻道。\n開發者Kavin對Invidious常常崩潰感到不滿意，便自己寫了新的「Piped」軟體，功能比Invidious要強。 原始碼放在Github：TeamPiped/Piped: An alternative privacy-friendly YouTube frontend which is efficient by design.\n全球有採用Piped技術的網站，稱為Piped實例(instances)，比如Piped的官方實例就是https://piped.kavin.rocks。\n儘管Piped功能好像比Invidious多，但Piped有單點故障的問題。Piped跟Invidious都可能遇到Youtube網頁API改變而暫時無法播放的問題，Invidious能一鍵切換站台再跳回原影片，Piped要手動換實例。\n","title":"Piped，無廣告、支援手機背景播放、下載影片的Youtube鏡像站，可自架","type":"posts"},{"content":"或許您有聽過NewPipe這款第三方Youtube APP，能夠背景播放、擋廣告、下載Youtube影片、於本機建立播放清單。\n現在出現了「LibreTube」，可說是不同取向的NewPipe，同樣可以背景播放、擋廣告、下載影片，並且更側重隱私保護。 下面Ivon就來教學如何使用這款APP。\n1. LibreTube功能特色 # 簡單來說，LibreTube即為「Piped」網站量身打造的Android版APP。 LibreTube跟Youtube ReVanced有什麼差別呢？Youtube ReVanced是破解官方Youtube APP去廣告，因此才能登入Google帳號看影片。\n而LibreTube比較類似NewPipe，LibreTube同樣不能登入Google帳號。\n二者主要差別在於，NewPipe將資料儲存在本機，而LibreTube是依賴Piped網站技術，用代理伺服器看影片。使用者可以登入Piped實例帳號，用以同步訂閱、播放清單列表。LibreTube同時也支援匯入NewPipe的資料。\n由於LibreTube走Piped代理伺服器播放影片的，Google無法得知您的IP，能強化保護隱私。\n跟NewPipe使用本機API爬影片比起來，LibreTube依賴Piped技術看影片，因此穩定度要看遠端實例可靠性如何，如果你有用過Piped網頁版應該就知道Piped穩定度如何。我是覺得LibreTube比NewPipe還不穩定就是了。\n2. 下載LibreTube APP # LibreTube是完全開源的APP，以GPLv3授權釋出。\n請至F-Droid或Github Releases下載APK。\n貢獻翻譯請到這裡。\n若要在電腦使用，請造訪Piped的網頁實例。\n3. 設定LibreTube實例 # 推薦先閱讀Piped用法了解LibreTube背後使用的技術。注意LibreTube尚不支援Invidious站台。\n第一次開啟會要求選擇實例，維持預設的https://piped.kavin.rocks即可 APP預設地區是美國。點選左上角開啟設定調整APP語言、地區、主題。\nLibreTuibe不登入Piped實例帳號也可以用，有登入的話更好，方便您同步訂閱列表和放清單。\n點選設定 → 實例，登入Piped實例帳號。需注意各個Piped實例的帳號是不互通的。 4. 影片播放與下載影片 # 搜尋影片的速度取決於實例的回應速度，基本上跟Youtube官方差不多，界面很清爽。 觀看頁面很簡潔。 回到首頁後影片能以懸浮窗繼續背景播放。 LibreTube可以在播放影片的時候對其他影片長按，將其組成臨時的播放清單。 下載影片需選擇影片畫質和音訊品質，LibreTube會自動合併二者。預設儲存位置為內部儲存空間/Download/LibreTube。 LibreTube預設啟用跳過業配片段的SponsorBlock，如果您不想要影片被隨意跳過，請至設定 → SponsorBlock關閉。\n5. 訂閱與建立播放清單 # 訂閱頻道之後便會顯示訂閱內容時間軸。此處訂閱僅限Piped帳號有效，並不是真的訂閱了Youtube頻道。 LibreTube支援將影片加入播放清單，並透過Piped實例帳號跨裝置同步。不過Piped實例回應有時會延遲，導致在加入影片時會頓個幾秒。 6. 延伸閱讀 # LibreTube官網：LibreTube\niOS類似LibreTube的APP：Yattee\n","date":"2023年10月16日","externalUrl":null,"permalink":"/posts/libretube-android-app/","section":"所有文章","summary":"或許您有聽過NewPipe這款第三方Youtube APP，能夠背景播放、擋廣告、下載Youtube影片、於本機建立播放清單。\n現在出現了「LibreTube」，可說是不同取向的NewPipe，同樣可以背景播放、擋廣告、下載影片，並且更側重隱私保護。 下面Ivon就來教學如何使用這款APP。\n1. LibreTube功能特色 # 簡單來說，LibreTube即為「Piped」網站量身打造的Android版APP。 LibreTube跟Youtube ReVanced有什麼差別呢？Youtube ReVanced是破解官方Youtube APP去廣告，因此才能登入Google帳號看影片。\n而LibreTube比較類似NewPipe，LibreTube同樣不能登入Google帳號。\n二者主要差別在於，NewPipe將資料儲存在本機，而LibreTube是依賴Piped網站技術，用代理伺服器看影片。使用者可以登入Piped實例帳號，用以同步訂閱、播放清單列表。LibreTube同時也支援匯入NewPipe的資料。\n由於LibreTube走Piped代理伺服器播放影片的，Google無法得知您的IP，能強化保護隱私。\n跟NewPipe使用本機API爬影片比起來，LibreTube依賴Piped技術看影片，因此穩定度要看遠端實例可靠性如何，如果你有用過Piped網頁版應該就知道Piped穩定度如何。我是覺得LibreTube比NewPipe還不穩定就是了。\n","title":"LibreTube教學：Youtube無廣告、隱私保護、背景播放、可下載影片的Android APP","type":"posts"},{"content":"Sonarr儘管可以下載BT種子，但是少了通知使用者的功能，手機版網頁介面也普普通通。為此LunaSea就是一個好幫手。 LunaSea是一款遠端控制BT下載服務的前端，提供手機APP與網頁版界面。\n支援的服務列表如下：\nSonarr Radarr Lidarr Newznab Search LunaSea本身並沒有影片播放功能，僅是一個控制前端，可以在下載BT總子完成之後發送通知到手機，並從手機遠端控制遠下載任務。\n本文以LunaSea連接Sonarr作示範。\n1. 安裝LunaSea # LunaSea為Jagandeep Brar開發的開源軟體，完全可自架。\n官方文件：LunaSea - LunaSea\nAPP以Flutter寫成，支援Linux/Windows/macOS/Android/iOS，操作大同小異。\n請至Github下載對應系統的安裝檔。\n另外也可以用Docker跑網頁版控制界面，以http://伺服器IP:80存取。\ndocker run -p 80:80 ghcr.io/jagandeepbrar/lunasea:stable 2. 與Sonarr連線 # 開啟Sonarr網頁介面，進入Settings → General → Security，複製API Key LunaSea啟用的服務叫做「modules」。開啟LunaSea APP，點選Settings → Configuration → Sonarr，勾選啟用Sonarr 點Connection details，在Host欄位輸入Sonarr伺服器的IP:8989，再填入Sonarr的API Key 之後Sonarr的列表就會出現在首頁了，操作跟網頁一樣，可以搜尋影劇、管理下載任務。 如果有不同的實例要連接，可以到Settings → Profiles設定單獨的設定檔。\n3. 設定手機通知功能 # LunaSea的通知功能分為本機與線上二種，後者需要註冊免費LunaSea Cloud帳號，用於跨裝置同步資料。\n這裡以本機為主。\n到LunaSea設定 → Notifications → Sonarr，按Device複製本機網址 接著到Sonarr的Settings → Connect，點選Webhook，填寫WebHook。預設是全部事件都勾選，URL填入剛複製的本機網址，Tag留空，Username留空使用LunaSea預設的Profile。 測試看能不能收到通知。 ","date":"2023年10月15日","externalUrl":null,"permalink":"/posts/lunasea-setup/","section":"所有文章","summary":"Sonarr儘管可以下載BT種子，但是少了通知使用者的功能，手機版網頁介面也普普通通。為此LunaSea就是一個好幫手。 LunaSea是一款遠端控制BT下載服務的前端，提供手機APP與網頁版界面。\n支援的服務列表如下：\nSonarr Radarr Lidarr Newznab Search LunaSea本身並沒有影片播放功能，僅是一個控制前端，可以在下載BT總子完成之後發送通知到手機，並從手機遠端控制遠下載任務。\n本文以LunaSea連接Sonarr作示範。\n1. 安裝LunaSea # LunaSea為Jagandeep Brar開發的開源軟體，完全可自架。\n官方文件：LunaSea - LunaSea\nAPP以Flutter寫成，支援Linux/Windows/macOS/Android/iOS，操作大同小異。\n請至Github下載對應系統的安裝檔。\n另外也可以用Docker跑網頁版控制界面，以http://伺服器IP:80存取。\ndocker run -p 80:80 ghcr.io/jagandeepbrar/lunasea:stable 2. 與Sonarr連線 # 開啟Sonarr網頁介面，進入Settings → General → Security，複製API Key LunaSea啟用的服務叫做「modules」。開啟LunaSea APP，點選Settings → Configuration → Sonarr，勾選啟用Sonarr ","title":"LunaSea，手機控制Sonarr/Radarr下載BT種子任務的APP","type":"posts"},{"content":"初稿：2023年10月15日。本文是生者傳記，內容可能隨時變動。文章含有主觀成份，不一定代表社區用戶真實想法。\n2024年10月21日更新：本文是往生者傳記，文章含有主觀成份，不一定代表社區用戶真實想法。\n另請參閱：還活著的Reddit沖浪TV新家\n有人說，在Reddit網路衝浪衝到不要牛子的神友可以去真太監區r/real_China_irl玩耍。\n社區連結：https://www.reddit.com/r/real_China_irl\n為什麼同樣是反共反華的sub，r/real_China_irl卻被稱為真太監區呢？他們發的帖子又有什麼不同？\nr/real_China_irl存在時間：2021年7月21日 ~ 2024年10月16日\n1. 為什麼說是真太監區 # r/real_China_irl成立於2021年，比2019年成立的r/chonglangtv要晚二年。 2021年的r/real_China_irl\n根據很多引流狗不知道这sub的来历一文指出，最初本sub是u/yuqqwechat不滿r/China_irl Mod的管理因而出走所建立。\n大家尊稱他為「魚QQ主席」，帳號被封後還有人成立魚QQ主席治喪委員會。 irl是Reddit常用的英文縮寫，代表in real life現實生活的意思。r/China_irl的觀點並不能反應所有中國人的真實觀點，建立新sub剛剛好。\nr/real_China_irl除了魚QQu/yuqqwechat以外，還有集美u/YingAu、u/paiotu、土狗u/tugoubxs、u/GenkiNugget擔任Mod職位。\n板標：\n你Sub禁止蜘支叫！\n過去用過的板標：\n致敬知名和不知名的勇于和强权斗争的豪杰。\nsub代表色曾有很長一段時間為預設的綠色 在用戶三催四請下，Mod才辦理公開徵選sub新頭像，前後拖了2個月，有13張圖進入投票決賽圈。這幾張圖真的要笑死我。 最初投票出來的方案是2號，老鷹象徵美國，熊貓象徵中國。一卡脖子就翻白眼，一鬆手就吹牛逼。\n之後可能是怕縮圖辨識度不足，才改成8號的文藝小熊，sub代表色變為藍色。好笑的是提交該小熊頭像的神友在那之前就被Mod ban了。 r/chonglangtv還在的時候，本sub沒什麼人氣，Mod還得親自引流。但在r/chonglangtv被封後，人數逐漸增加。r/chonglangtv被封一年後，在其他沖浪系sub遭Reddit大Mod追殺之際，本sub可能是存活最久的中文「泛沖浪系」sub了。人數有8萬人，越來越接近2019年成立的r/China_irl。\n為何稱為泛沖浪系？因為你sub板規較嚴格，禁止講支那人三個字，太明顯的諧音也不行，仇恨歧視言論也可能會被封，所以不完全算是冲浪TV的繼承者。\n米線很高的情況下，這裡的用戶發言也得「文明點」，自然就有外部的神友稱其為太監了。r/real_China_irl常被笑稱為相較於r/China_irl「太監區」的「真太監區」。\n有時候這裡的人也會用sub諧音自稱「瑞友」或「真友」。\n2. 真太監的日常發帖內容 # r/real_China_irl的Mod比較少有權蛆行為，因為板規都寫好了，照規矩ban人。\n搞笑的是建sub以來的五個Mod有三個已經被Reddit官方封號了，包括魚QQ自己、u/YingAu、u/tugoubxs。\n相較於r/China_irl，本sub對政治運動比較積極，曾將板標換成北島的《回答》，呼應2022年的白紙革命。 在這裡不能講支那二個字，抓到就ban，於是真太監們沿用權浪TV時代所流傳下來的「不兴说」来代指支那人，有些人會用「滴答嘟」等各種古怪諧音來罵中國人。\n本sub有幾個發帖分類(flair)，主要是為了中國國內魔幻新聞所設計的，其中「屎傳翔Inside ™」為轉載中國小粉紅惡臭發言使用的分類，俗稱「搬屎」，可以說是非常形象了。 真太監的日常發帖不外乎是：\n美國厲害了，中國要完蛋了。預言中國未來將解體！ 習近平爛尾帝，他真的我哭死。像這種討論中國政治與社會現況的帖子，多半帶有嘲諷意味。 中國文明為什麼不如西方世界，類似的支黑內容，但不能明確說出支那二字。 這是否\u0026hellip;表示欲言又止，配上中國牆內的魔幻新聞截圖。 討論國際新聞大事，立場偏歐美主流觀點，偶爾會有左右派互搏的情況。 「我有抑鬱症，大夥給我點建議吧」、「要怎麼潤」、「吃點自己做的飯菜」之類的生活帖。 r/real_China_irl感覺比較像浪化的品蔥。\nr/real_China_irl過去曾跟幽默之家並行存在一段時間。跟幽默之家比起來，太監區以鍵政為主，沒時間關心男女之間的私事，所以有需求的神友就會改到幽默那邊發帖，兩邊通勤。\n2024年，r/real_China_irl實裝仿生習近平聊天機器人「ChatXJP」，會在評論區跟真友互動。 3. 凝聚力還是有點不足 # 儘管似乎是神友新家，該板嚴格的板規導致今年r/place像素畫活動參與不積極。\n過去r/CLTV還在的時候的時候還有許多神友去畫張獻忠與習維尼，2023年沖浪系sub力量過於分散。sub討論雖是熱烈，但參與的那一點人數根本畫不出什麼雞巴毛。\n順帶一提，2023年的r/place像素畫活動是Reddit官方為了轉移API收費大關板事件的注意力而倉促舉辦的，憤怒的Reddit鄉民不買單，最終在畫布上寫滿了「Fuck you spez」的標語。\n4. 真太監的米線為何？ # 在魚QQ莫名被Reddit封號後，本sub言論自由「似乎」開始惡化。也不排除是有個別用戶破防Mod被ban，想報私仇才對外散佈這種說法。\n支那人是絕對不可以講的底線，禁止賽博屠支，不准開盒，發煉銅、虐貓虐狗的也不行。NSFW影片除了新聞報導幾乎沒人會刻意轉載色情內容。在這裡incel發言沒有土壤。 但我覺得r/real_China_irl整體還是能處的，沒有r/China_irl那麼太監，那裡的老中人整體氣氛偏向理中客，這裡偏浪人，想推翻整個共產黨。\n只要控制好發言米線，這裡還是可以玩耍的。\n值得注意的現象：美國右派在r/real_China_irl評論公共議題往往得不到讚賞，在r/saraba2nd反而會受到較多支持。例如：\n拷打左人环节：我们为什么要上大学 中长文，给这里的左逼科普下基本的政治学通识 为什么我不是左逼，应当能引起大家共鸣 我什么我偏偏在LGBT问题上反对左逼，兼论左兴与兴性的相似之处，大家看看有没有道理 跟大家说段轶事，我破防一堆白左 幾乎右派言論都被踩到0 karma。\nReddit上的神友已經退化成(紅)迪友，離太監只剩8964個光年的距離吧！\n在其他更極端的浪系sub的用戶看來，不能隨便支支叫的r/real_China_irl也不過是五十步笑百步的色違太監區罷了。\n其實r/real_China_irl立場也不是一直絕對左派啦，像以色列2023年反擊巴勒斯坦，除了批評以色列的左逼外，還有很多揚言殺光穆斯林的右派民族主義發言。 r/real_China_irl可能是比較文明一點的神友，即使觀點偏浪人也不會魔怔瞎罵。很多用戶是富蛆小留，所以在日常生活求助帖子下的回覆能給出比較具體的建議，觀點當然也就偏左、與歐美主流意識形態一致。\n因此要說真太監是左逼TV還差得遠。只要Mod不要當起權蛆的話\u0026hellip;\u0026hellip;這裡應該能繼續安穩經營下去。\n5. r/real_China_irl被封的那一天 # 2024年10月16日，r/real_China_irl因「無人管理」被封，不少迪友認為案情不單純，陰謀論者認為可能是騰訊介入Reddit下指導棋了？又可能是超管單純看不慣小黃人？ 被封當下，sub用戶已經超過10萬人，可說是存活最久、人數最多的泛冲浪系，怎麼會突然挨鐵拳就沒了？\n究其原因，原來是r/real_China_irl的Mod相繼被Reddit ban，剩下的u/paiotu又不管事，於是講「支那」的話慢慢的沒有人管，似乎因為抓到這點，Reddit就找到理由把這sub封了。\n迪友當然不滿，於是多人向Reddit發申訴。 由於被封的理由是「無人管理」而非其他浪系sub的「試圖重新建立同性質的sub」，因此或許還有挽回的機會？\n按照Reddit規則，需等30天有人提出繼任Mod後才能恢復sub，後有多人到r/redditrequest提出申請Mod，其中不乏疑似警哥的用戶，於是乎王位爭奪戰開始了。 然而幾天後，r/real_China_irl的封禁理由竟然變成：「因違反Reddit政策，本sub不接受Reddit request」，至此徹底無力回天。 迪友詢問的結果，得到的都是制式回覆，無法透露具體原因，甚至超管還手打封禁理由。 話說，r/real_China_irl被封之後，不可避免地遭到部份浪系sub的浪人嘲笑，像是什麼太監好死，還敢自稱浪人？你浪我也浪！謝謝你我完全玩明白了。 這些浪蛆之所以看不起真太監區，是因為他們從r/Youmo時代就已經被封了好幾百回啦！還我r/HangKongMujian、r/JunWuCiWeiMian、r/RoninClub！\nr/real_China_irl爆炸可說是不亞於r/chonglangtv的大事件！最大的泛浪系鼠窩不見了，這些人要何去何從？其他sub難以接收這些難民，目前看來人都去到r/Kanagawawave了。\n再怎麼說r/real_China_irl這都是10萬人的大sub，應該引起廣泛關注吧？\n然而跟當年的r/chonglangTV的大翻譯運動一樣，依然只有大紀元和RFA有報導此事。\n有香港人意圖繼續炒作，想讓美國國會議員關注。 不過也有人認為，sub裡面本來就很多支黑，常常發表「早該圖圖了」的話，那些言論翻譯成英文恐怕會造成反效果，無法獲得洋大人同情。\n","date":"2023年10月15日","externalUrl":null,"permalink":"/posts/r-real-china-irl-on-reddit/","section":"Politics","summary":"初稿：2023年10月15日。本文是生者傳記，內容可能隨時變動。文章含有主觀成份，不一定代表社區用戶真實想法。\n2024年10月21日更新：本文是往生者傳記，文章含有主觀成份，不一定代表社區用戶真實想法。\n另請參閱：還活著的Reddit沖浪TV新家\n有人說，在Reddit網路衝浪衝到不要牛子的神友可以去真太監區r/real_China_irl玩耍。\n社區連結：https://www.reddit.com/r/real_China_irl\n為什麼同樣是反共反華的sub，r/real_China_irl卻被稱為真太監區呢？他們發的帖子又有什麼不同？\nr/real_China_irl存在時間：2021年7月21日 ~ 2024年10月16日\n1. 為什麼說是真太監區 # r/real_China_irl成立於2021年，比2019年成立的r/chonglangtv要晚二年。 2021年的r/real_China_irl\n根據很多引流狗不知道这sub的来历一文指出，最初本sub是u/yuqqwechat不滿r/China_irl Mod的管理因而出走所建立。\n大家尊稱他為「魚QQ主席」，帳號被封後還有人成立魚QQ主席治喪委員會。 irl是Reddit常用的英文縮寫，代表in real life現實生活的意思。r/China_irl的觀點並不能反應所有中國人的真實觀點，建立新sub剛剛好。\nr/real_China_irl除了魚QQu/yuqqwechat以外，還有集美u/YingAu、u/paiotu、土狗u/tugoubxs、u/GenkiNugget擔任Mod職位。\n","title":"【冲浪TV專題6】真太監區 r/real_China_irl，我一直都是文明的神友啊，怎麼就挨鐵拳被封了","type":"politic"},{"content":"一部關於神友、浪人、中國人、抽象文化、Reddit「冲浪TV」(r/chonglangtv)以及其相關sub的簡明發展史。\n時間跨度：2019年 ~ 2023年\n作為冲浪TV的四朝元老，我認為有必要把我這四年來在Reddit沖浪的所見所聞寫下來。\n你是什么浪人？引流土狗发不出资历你吗今晚就得死\n事實上我只是沖浪帝國下的一介屁民，沒當過Mod。 自從2020年我發現沖浪TV的sub之後，看著這些神友在Reddit來來去去，覺得有趣便跟著大夥兒跑。可以說我Reddit帳號一半以上的karma都在沖浪系sub賺的。\n注意：本文參考網路資料與個人經驗，含有強烈個人意見，不一定代表該社區用戶真實想法。\n1. Reddit中文社區的三股勢力 # 根據屠友2023年在r/TZTV发表的《红迪冲浪史》一文，列出了Reddit上各中文sub的發展歷史。\n在下述的中文sub出現之前Reddit就有中文社區了，例如2017年建立的r/saraba1st，但很多都默默消失在歷史長河了，剩下的就這三大勢力。\nReddit的冲浪系sub分支圖如下，不包含中國牆內紅牌樓時期、抽象TV、帶秀TV、修車TV、冲浪TV、深川萬年橋下、神奈川冲浪里、凱風快晴貼吧時期的歷史。 由此可見，大體上Reddit中文社區分為三股勢力：\n太監區sub：以前虎扑社區成員建立的流浪防區r/China_irl為首的愛國反黨sub，主張和平共處，討論氛圍接近知乎。會用機器人封禁長期在沖浪系sub混的帳號。「太監」是神友的封號，另外自我閹割、禁止批評支那人的sub也會被認為是太監。 女性sub：源自豆瓣鵝組，以流浪鵝組r/DoubanGooseGroup為首的一系列女性社群，強調女性主義，很排斥男性(蝈男)加入，有些sub甚至要殺光男性。神友習慣稱其為「集美」，常常揶揄其成員的女拳發言。 沖浪系sub：抽象文化分支，以百度神奈川沖浪里最為著名，又稱神系、神友、浪人、鼠人，現以r/real_China_irl為首。神友強調的精神一言難盡，下述。 在此之外的中文社區還有人數較少的膜乎r/mohu、充滿皮套狗的r/VTuberV8、牆內動漫論壇saraba1st海外saraba1st分部的分部r/saraba2nd、打遊戲的r/youxi。\n另外台灣綠粉、台灣左派、民國派、香港人也有在Reddit成立sub(r/Taiwanese、r/Taiwanica、r/ROCrepulicofchonglang、r/HongKong) ，連巴哈場外哈啦板的難民都有(r/StarburstBahamut)。\n2. r/chonglangtv覆滅的歷史 # 從遠古時代說起，2015年中國遊戲直播主李贛（李老八）創立抽象工作室，抽象文化由此而生，俗稱紅牌樓時期。在經歷6324直播間、接法輪功電話一系列事件後，抽象文化出現分支，「神友」便是其中一支。\n2019年左右，神友在牆內百度貼吧建立貼吧，日常發言都是各種炒作節目效果，偶有觸摸政治的帖子。\n根據《神奈川编年史》 - 冲浪文学选集，2019年貼吧時期，吧主古德莉莉安任內創辦了陶片放逐法，用民主的方式把人趕走。此作法一直到Reddit上的航空母艦吧都還有人沿用。\n古德莉莉安長期難以控制吧內的討論話題，曾多次想讓鍵政老嗨和生活帖分家，但是都失敗。這個問題在後面遷移到Reddit也不斷出現。\n隨著人越來越多，吧主古德莉莉安權力越來越高，最終出賣吧友，神友開始了被李彥宏追殺的歲月，不斷換「新家」，建立新貼吧、找個沒人的貼吧強佔，被封之後再找下一個據點。有些神友受不了這種環境，遂逃到牆外Reddit建立r/chonglangtv，即「冲浪TV」。\n同年稍早，另一個從中國牆內逃出來的人群在Reddit成立r/China_irl，自稱流浪防區，不過跟浪人沒有關係。\n「冲浪TV」是簡體字，是二點冫字旁，不是「沖浪TV」。正體字應寫為「衝浪TV」，不過為方便辨識我一般還是用「冲浪TV」稱呼之。\n2019年建立的r/chonglangtv，竟能從牆外取暖的小sub變成萬人大沖浪的sub， 一度擠進Reddit前10大熱門sub。圖片來源 r/chonglangtv約在2021年進入極盛期，每幾秒sub就有新帖。神友講話口無遮攔，毫無下限，其精神與發言風格請看記冲浪TV被封一事了解。\n2022年3月，r/chonglangtv被爆破，萬人神友（鼠人？）四散，之後大量沖浪系sub林立。\n聚是一團火，散是滿天星。\nReddit站方禁止成立性質類似的sub，抓到就封。隨著同年大型sub查理TV跟著被爆破，進入所謂「後沖浪時代」，有的出逃到其他網站，有的留下來繼續抗爭。\n那之後一年內，權浪TV爆破、屠支TV爆破，最後連幽默TV也爆破了，只剩下r/real_China_irl算比較接近浪人意識型態的大型sub。\nReddit大量泛沖浪sub建立，繼又覆滅，只有少數生存下來發展為大社群。相較於Reddit上的其他二股中文社群勢力，神友可能是換家最頻繁的。什麼下水道老鼠，數位時代希伯來人。神友的sub之間可能還會因為路線差異而內戰，有的變成左逼，有的追求原教旨主義，還有的仍然只會喊殺殺殺。\n沖浪系sub屢屢遭到Reddit大Mod追殺，因此他們要嘛太監化（禁止說支那二字，禁止仇恨言論，禁止煉銅，提高米線），要嘛就是打游擊戰的形式，被站方抓到後再成立一個新家。 至於Reddit以外網站的勢力，「葱轮TV」看來是復刻浪系sub最成功的，其他都趨於地下化。\n3. 「現在那群迪友屬於是傻逼中的傻逼」 # Reddit可翻譯為「紅迪」，那麼Reddit上的神友當然就可以稱為「迪友」啦。\nr/chonglangtv大分裂之後，一位神友寫了一篇銳評沖浪系sub的文章（註：這裡蔥輪是指品蔥，不是蔥輪TV）\n现在r/chonglangtv的那群迪友属于是傻逼中的傻逼，其弱智程度不亚于推特中文圈的民小，原创内容基本没有，节目效果也没有，甚至于深度和广度都一点没有，十年前的东西一遍又一遍地发，连葱轮都不如，葱轮好歹还会装模作样的分析一下社会经济，或者扯点别的有的没的的东西，迪友则是除了复读支言支语以外啥也不会。不得不说r/chonglangtv退行是必然的，冲浪在某种意义上玩的就是真实，而当浪人只是在赛博垃圾场捡垃圾吃时，其自然就退化成迪友了，感谢他sub的mod如此有自知之明，还整出来一个专有名词，算是最后还做出了一点贡献。\n儘管r/chonglangtv的前Mod發明了「迪友」一詞用以區分中國牆內的「浪人」、「神友」，但此稱號隱含Reddit上的神友更弱智的意思，所以較少人這樣講。\n4. 還活著的冲浪系sub # 現在還活著的沖浪系sub請見：盤點神友浪人新家\n5. 如何查看冲浪TV過去舊帖 # 死人無法說話，請使用Archive.org，搜尋https://www.reddit.com/r/＋加上sub代號。\n例如：https://www.reddit.com/r/chonglangtv 另外可以利用蔥輪TV的備份，往下滑按\u0026gt;\u0026gt;，將網站轉到最後一頁就能看到以前的冲浪TV帖子。 ","date":"2023年10月14日","externalUrl":null,"permalink":"/posts/the-short-history-of-chonglangtv/","section":"Politics","summary":"一部關於神友、浪人、中國人、抽象文化、Reddit「冲浪TV」(r/chonglangtv)以及其相關sub的簡明發展史。\n時間跨度：2019年 ~ 2023年\n作為冲浪TV的四朝元老，我認為有必要把我這四年來在Reddit沖浪的所見所聞寫下來。\n你是什么浪人？引流土狗发不出资历你吗今晚就得死\n事實上我只是沖浪帝國下的一介屁民，沒當過Mod。 自從2020年我發現沖浪TV的sub之後，看著這些神友在Reddit來來去去，覺得有趣便跟著大夥兒跑。可以說我Reddit帳號一半以上的karma都在沖浪系sub賺的。\n注意：本文參考網路資料與個人經驗，含有強烈個人意見，不一定代表該社區用戶真實想法。\n1. Reddit中文社區的三股勢力 # 根據屠友2023年在r/TZTV发表的《红迪冲浪史》一文，列出了Reddit上各中文sub的發展歷史。\n在下述的中文sub出現之前Reddit就有中文社區了，例如2017年建立的r/saraba1st，但很多都默默消失在歷史長河了，剩下的就這三大勢力。\nReddit的冲浪系sub分支圖如下，不包含中國牆內紅牌樓時期、抽象TV、帶秀TV、修車TV、冲浪TV、深川萬年橋下、神奈川冲浪里、凱風快晴貼吧時期的歷史。 由此可見，大體上Reddit中文社區分為三股勢力：\n","title":"【冲浪TV專題】Reddit大型中文社區，簡明沖浪系sub發展歷史","type":"politic"},{"content":"艦隊Collection (艦隊收藏 / 艦これ / KanColle) 是一款由日本C2機關開發的網頁遊戲，從2013年開始經營至今。\n玩家在遊戲中將成為「提督」，蒐集寄宿二次大戰海軍艦艇靈魂的「艦娘」卡片，指揮聯合艦隊，對抗深海棲艦，在曉的水平線上刻下勝利。 艦隊Collection遊戲平台位於DMM網站，現在艦隊Collection已不像以前需要抽籤排隊了。\n由於二期用HTML5重寫，已不需Adobe Flash，電腦用一般瀏覽器就可以玩，手機也有專用APP。\n但因為DMM網站封鎖日本以外的IP，所以第一次註冊帳號要用VPN，之後才可以用工具繞過VPN連線。\n艦隊Collection遊戲本體雖然是日文，但是大部分都是漢字，多看攻略網站就能快速上手。\n欲成為提督，請按照以下步驟進行，順序不可以錯誤:\n選擇遊玩平台 註冊DMM帳號 + 跑完新手教學流程 設定繞過IP封鎖，以後登入就不須VPN 參閱遊戲攻略網站 1. 選擇遊玩平台 # 接下來的教學會使用電腦的Chrome瀏覽器示範，以下是其他選項:\nAndroid手機使用Gotobrowser (詳見第三部分)，不要用官方的APP。要看艦隊資料可以搭配Kcanotify。\niOS雖然設定更麻煩，但也是可以考慮試試 (詳見第三部分)。\n2. 註冊DMM帳號 + 跑完新手教學流程 # 本節步驟只要做一次，以後登入遊戲就不用這麼麻煩。\n雖然手機也可以註冊，但我建議用電腦。\n在註冊完成前不要調整時區，也不要把VPN關掉。\n2.1. 掛VPN到日本 # 首先把時區改成日本，Windows對右下角時間按右鍵 →「調整日期與時間」。 然後要掛VPN到日本，我使用筑波大學的VPN Gate，這是開源公益專案。到官網下載。 解壓縮，按下.exe檔案安裝，安裝選項都維持預設，全部都同意。\n安裝後點選公共VPN中繼服務器。 選一個地區在Japan的伺服器，連線後出現「分配的IP地址是xxx」視窗就代表成功，如果不行就換另一個，右鍵可以斷開VPN。 2.2. 註冊DMM帳號 # 接下來要註冊DMM帳號。如果因為玩過賽馬娘之類的已經有DMM帳號，請還是掛著VPN，跳到跑完新手教學的部份。\n1.到DMM首頁，點選右側「DMMアカウント登録」 在「新規登録」頁面，在第一個欄位填寫email，第二個填寫密碼。按下「認証メールを送信する」收取驗證信。 到電子郵件收件匣，點擊「会員登録認証アドレス」下面的網址。之後會導向DMM首頁，代表註冊完成。 2.3. 跑完新手教學 # 進入艦隊Collection的遊戲網址： https://play.games.dmm.com/game/kancolle\n按下紅色的出擊按鈕 填寫基本資料 進入遊戲，選擇沒有寫「滿」的伺服器。各伺服器的差異是人數多寡，會影響每月打戰果(遊戲戰力排名)的難易度，像「柱島泊地」最多人，排名最難打。 開始下載遊戲資料，掛著VPN會有點慢，跑完之後按下Game Start。 Game Start後就可以斷開VPN了，時區還不要改回來。\n輸入提督的名字 (以後是不能改的，請注意) 選擇喜歡的初始艦娘，選誰都沒差，以後遊戲都能得到。按「前」和「次」可以切換不同的艦娘。 按「次」跳過遊戲說明。 進入母港 按照指示，點選左邊的「工廠」按鈕，按右邊的按鈕，建造一艘新船，再按Get獲得。 回到母港，進入「編成」頁面，把新造的艦娘編入 按右上角的「任務」，接下任務「はじめての出擊」 按「出擊」，「出擊」，點「鎮守府正面海域」，出擊開始\n艦娘會自己戰鬥。不論戰鬥結果如何，海圖整個走完後會回到母港。 按下「補給」，補給艦娘後回到母港。 新手教學結束，時區也可以改回來了。 不想每次連線都要開VPN的話，請關掉遊戲，繼續往下看。\n3. 設定繞過IP封鎖的方式 # DMM帳號註冊好、完整跑完新手教學後再往下看。\nDMM封鎖非日本的IP，雖能用VPN解決，但是每次都開實在太麻煩了，參考這篇文章來設定就可以一勞永逸，裡面包含Android和iOS的設定方法。\n手機電腦不用VPN連線的方法 推薦Chrome瀏覽器使用「KC3」方案。\n4. 艦隊Collection的攻略網站 # 艦隊Collection遊戲有許多黑箱機制，遊戲機制有賴玩家交流才能摸清。為此不要當情報弱者，多看攻略網站討論才能玩好這遊戲。\n「艦これ」開発/運営：官方Twitter，接收訊息的主要管道，包括維修、活動訊息。\n艦これ攻略ブログ −ぜかましねっと艦これ！−：又稱Zekamashi（風島），成立多年的日本艦隊Collection攻略網站，每次新活動出來都有詳盡的攻略解說。\n艦隊これくしょん -艦これ- 攻略 Wiki*：日本玩家編輯的Wiki，跟艦娘百科一樣詳細。方便參考最新任務、追蹤前置任務、回報活動資訊。\nKancolle Wiki：簡稱kcwiki，英文圈艦隊Collection玩家製作的百科。資料詳盡的可怕，能第一時間下載到最新高畫質立繪、語音。kcwiki另有自己的Discord交流群組。\n巴哈姆特艦隊Collection哈啦板：台灣艦隊Collection主要討論區，有很多新手提示的資料。\nPTT KanColle板：PTT的艦隊Collection板，有大佬會不定時製作攻略。\n舰队collection NGA玩家社区：中國玩家的討論區，聊天與情報很多，還有認真的歷史軍事科普。\n舰娘百科：專門收集艦隊Collection的各種中文資料，還有詳盡的遊戲語音翻譯。\n艦隊Collection - 萌娘百科：跟艦娘百科稍微不同的走向，專門介紹艦娘的梗，偏輕鬆向。\n","date":"2023年10月14日","externalUrl":null,"permalink":"/posts/kantai-collection-registration/","section":"Kantai-Collections","summary":"艦隊Collection (艦隊收藏 / 艦これ / KanColle) 是一款由日本C2機關開發的網頁遊戲，從2013年開始經營至今。\n玩家在遊戲中將成為「提督」，蒐集寄宿二次大戰海軍艦艇靈魂的「艦娘」卡片，指揮聯合艦隊，對抗深海棲艦，在曉的水平線上刻下勝利。 艦隊Collection遊戲平台位於DMM網站，現在艦隊Collection已不像以前需要抽籤排隊了。\n由於二期用HTML5重寫，已不需Adobe Flash，電腦用一般瀏覽器就可以玩，手機也有專用APP。\n但因為DMM網站封鎖日本以外的IP，所以第一次註冊帳號要用VPN，之後才可以用工具繞過VPN連線。\n艦隊Collection遊戲本體雖然是日文，但是大部分都是漢字，多看攻略網站就能快速上手。\n欲成為提督，請按照以下步驟進行，順序不可以錯誤:\n選擇遊玩平台 註冊DMM帳號 + 跑完新手教學流程 設定繞過IP封鎖，以後登入就不須VPN 參閱遊戲攻略網站 1. 選擇遊玩平台 # 接下來的教學會使用電腦的Chrome瀏覽器示範，以下是其他選項:\nAndroid手機使用Gotobrowser (詳見第三部分)，不要用官方的APP。要看艦隊資料可以搭配Kcanotify。\n","title":"【圖文教學】艦隊Collection新手提督註冊過程","type":"kantai-collection"},{"content":" uYouPlus (uYou+) 是一款破解版的iOS Youtube APP，功用類似Android系統的Youtube ReVanced，用於解鎖部份Youtube Premium的特權。 有了uYouPlus，您就能夠在iPhone/iPad無廣告看影片、背景播放、懸浮視窗、關螢幕聽音樂、顯示倒讚，還可以登入Google帳號、下載影片！所有功能完全免費。 「uYouPlus」為開源軟體，由Nguyễn Đạt (qnblackcat)開發，沿生自「uYou」APP。原版的uYou要越獄才能裝，uYouPlus只要AltStore就行了。\n1. uYouPlus安裝方法 # 需求為iOS 14以上版本的iOS裝置。uYouPlus安裝後圖示與原版Youtube無異，二者可以共存。\n想當然爾，uYouPlus不可能在App Store上架，所以要用側載方式安裝。\n1.1. 如果您沒有越獄 # 安裝AltStore到iPhone\n用iPhone至Github下載uYouPlus的IPA。透過AltStore安裝IPA。每七天要記得重簽。\n註：2024年，開發者被Google施壓，下架了預先編譯的IPA，所以用戶得參照Github指示，自行編譯IPA。\n1.2. 如果您有越獄 # 用Sileo商店安裝Fileza\n用iPhone至Github下載uYouPlus的IPA。透過Fileza安裝IPA。\n2. uYouPlus功能介紹 # uYouPlus一開啟應該會問您要不要登入Google帳號。雖說uYouPlus是開源的但風險請自負\u0026hellip;按照Youtube ReVanced的經驗應該很難被鎖帳號啦。\n如果遇到You can't sign in to this app because Google can't confirm that it's safe錯誤，請向作者回報issue。\nuYouPlus的界面跟原版Youtube一樣。返回桌面Youtube視窗會變成懸浮窗繼續播放。 你得懸浮窗拖到螢幕邊緣縮小，然後才能背景播放。如果不要懸浮窗，到Youtube設定裡面關閉，這樣回到iOS首頁uYou+就會自動進入背景播放。 uYouPlus的播放界面多了一些按鈕： 盾牌圖示是SponsorBlock開關。點選寫有i的盾牌可以協助標記影片業配片段，回報給資料庫。 按方形播放鈕可下載影片或者純音訊（注意不是按「下載影片」按鈕） 進度在右下角uYou頁面 影片可以直接在uYouPlus播放。也可以按Share → 分享到其他影片播放器播放，沒有任何版權限制。 點一下右上角設定會有更多選項，比方說Home → Hide Shorts Cells能讓Shorts從Youtube首頁消失，這正是我要的！ ","date":"2023年10月13日","externalUrl":null,"permalink":"/posts/ios-uyouplus/","section":"所有文章","summary":" uYouPlus (uYou+) 是一款破解版的iOS Youtube APP，功用類似Android系統的Youtube ReVanced，用於解鎖部份Youtube Premium的特權。 有了uYouPlus，您就能夠在iPhone/iPad無廣告看影片、背景播放、懸浮視窗、關螢幕聽音樂、顯示倒讚，還可以登入Google帳號、下載影片！所有功能完全免費。 「uYouPlus」為開源軟體，由Nguyễn Đạt (qnblackcat)開發，沿生自「uYou」APP。原版的uYou要越獄才能裝，uYouPlus只要AltStore就行了。\n1. uYouPlus安裝方法 # 需求為iOS 14以上版本的iOS裝置。uYouPlus安裝後圖示與原版Youtube無異，二者可以共存。\n想當然爾，uYouPlus不可能在App Store上架，所以要用側載方式安裝。\n1.1. 如果您沒有越獄 # 安裝AltStore到iPhone\n用iPhone至Github下載uYouPlus的IPA。透過AltStore安裝IPA。每七天要記得重簽。\n註：2024年，開發者被Google施壓，下架了預先編譯的IPA，所以用戶得參照Github指示，自行編譯IPA。\n1.2. 如果您有越獄 # 用Sileo商店安裝Fileza\n","title":"iPhone無廣告、背景播放Youtube影片！破解版YouPlus APP安裝教學","type":"posts"},{"content":" 警告：本文含有大量讓台獨人士不開心的內容。\n兩岸關係過去是很好的，曾經我覺得，默認九二共識、兩岸一家親、祖國母親沒什麼不好的。\n對中國大陸我有複雜的情感。看著抽屜裡的台胞證默默過期，隨著我的童年逝去，兩岸的關係也不可能回到從前了。\n兩岸一家親想法起源為何，之後又是怎麼破滅的，請看下面分解。\n在開始之前，我想用中國歌手汪峰於2000年推出的《風中的玩偶》起個頭，這首歌在台灣有發布完整版，但在大陸被禁了。 1. 我的兩岸一家親想法的起源 # 大陸的東西好棒，好進步，台灣真落後。或許因為小時候的眼界，也可能是因為當時環境的關係，我模糊的印象告訴我，2010年代兩岸關係是最好的時候。\n2002年胡錦濤當選中國國家主席。2008年馬英九當選中華民國總統。2011年《賽德克巴萊》上映。\n依賴中國製品就不用說了，全世界都是這樣。小的時候看的動畫、玩的網路遊戲、書籍，很多都是中國進口的。\n動畫有《喜羊羊與灰太狼》、《戰龍四驅》、《鎧甲勇士》。 有趣的是，十年前的中國影視作品裡面還有內涵諷刺共產黨的橋段。 他为了连任而取消阿瑞斯宪法\n電影有《寶島雙雄》之類的兩岸合作片子，呼應陸客大量來台的時代。我看這部片都覺得兩岸人民是家人了。現在才知道這是醜化台灣人的年度大爛片。 在2015年課綱改革之前，台灣的社會科課本仍有很大篇幅是講中國的地理和歷史，例如讀一堆中國歷史書，所以我自己（還是被考試逼迫？）迷上了中國的人文風情。接受了國民黨的史觀教育，認為雖然共匪可惡，可是我們還是中國人的觀念。\n網路上，我會到土豆網、PPS影音、優酷看影片，逐步混跡大陸論壇。\n遊戲則是玩風靡小學生之間的淘米網遊戲，我有玩過《摩爾莊園》、《賽爾號》、《小花仙》、《功夫派》之類的網遊。我最愛每天玩賽爾號，喜歡仿畫裡面的角色，音樂也是朗朗上口。 台灣淘米在台出版了大量週邊商品，上映電影，賣得很好呢。\n雖然是兒童讀物，我是覺得淘米僱的小說家寫的這本《賽爾號冒險王》劇情是真的不錯啦\u0026hellip;主角好不容易經歷了美好冒險卻忘掉一切。 淘米以前推出仿造微博的《淘米校巴》(米米校巴)，在台灣就等同小孩子的Facebook，我曾經在上面寫過幾篇網誌、發動態交好友，玩得不亦樂乎。\n我記得最誇張的是有國一女生在上面po自己長髮照片、微微露點的自拍\u0026hellip;這還蠻勁爆的，算是第一次看到真人乳頭。當然我流氓國中班上的8+9應該不知道看過多少次了。\n淘米網之後逐漸收掉摩爾莊園和賽爾號以外的不賺錢項目，所以那些寫過的東西我是再也追不回來了。現在我才知道，淘米網在中國大陸是被自己人罵慘的抄襲遊戲公司，賽爾號還有「銻爾號」的蔑稱。進入手遊時代淘米公司也變質了。\n2. 到中國大陸的江西之行 # 「外國好危險，中國最安全。」\n「歡迎來大陸玩。」\n曾有一段時期，台商在中國有許多賺錢機會，許多公司紛紛在那設廠，外派大陸的很多。我爸的任職的公司也不意外，在江西一地建廠希望擴展事業。2015年趁著員工旅遊帶我到江西去。\n可能是年紀太小，身為準備要考特招的國中生，我對「出國」沒有什麼想法，就只是跟著團體走、上飛機，然後搭上交通工具，在江西繞完一個禮拜就回台灣了。\n僅記得幾個重要的踩點。我在廈門下飛機後不敢跟大人講，忍了一個小時的車程才上廁所，都快暈過去了。\n入境中國的時候，海關男人看了我的護照，微笑對我說「歡迎來大陸玩」。我想中國其實挺友善的，畢竟同文同種的同胞。\n從廈門轉車到江西省南昌市（現在知道這是中國反共樂團「盤古樂隊」的故鄉，真會選地點），途經廣東，中間好像有坐動車和公車什麼的，總之是很長途的旅程。尤其在坐火車的時候，車廂可真是吵得要死，小孩子和大人講電話聲音此起彼落，大陸人真沒素質 —— 真別這樣說，台灣人其實也會這樣，機率問題。 去中國前，我在手機裝了中國網站下載的翻牆軟體（別太意外，當時我都到中國網站下載盜版手遊的），所以到中國酒店的時候仍可以發Facebook。但當時中國好像也還沒完全牆掉Facebook的樣子，我爸以前還可以用Skype跟台灣視訊。\n酒店的電視節目我都看不懂，出去走走。江西的酒店外面夜市竟然有「台灣美食」，呵，賣得東西貴的要死。 記得當時導遊在公車上，就曾經跟我們說：「外國好危險，中國最安全」的言論，很愛國很棒。原來這句話小粉紅到現在還在講，但刀戰房的張獻忠卻是一天比一天多了，怎麼回事呢？\n最後一個印象深刻的點，應該是三清山的登山之旅。三清山是位於江西省上饒市玉山縣的觀光景點。中國的山跟台灣不一樣，幾乎都會收門票。 旅行團排這個太刺激了吧，真的要走好幾公里山路耶。我猜去這地方跟我爸公司老闆的信仰有關吧，開工廠的都喜歡拜東拜西的。 我小時候就有爬山習慣所以沒累死。可怕的是當天下雨，我穿雨鞋爬完的，真慶幸沒摔死。拍了張紀念照後回台。 在這場旅途之後，這件事逐漸忘記。但是我與中國的聯繫卻是繼續延續下去。\n可能是因為上述接觸中國遊戲的因素，在之後我入坑《Minecraft PE》、《艦隊Collection》要查遊戲資訊的時候，便常常往百度貼吧、Bililbili等中國網站跑，我認為那裡的人很好，氣氛融洽。隨便一個冷門的話題，因為中國人多，總能聚集成一個幾千人的社群。相比之下台灣太小了。\n這裡的歷史我不多談，請看這篇：接觸中國網站後政治觀點的轉變\n不談政治的話，中國人普遍是能處的。\n3. 兩岸一家親的幻想破滅 # 兩岸關係曾經好到要讓公安駐台，甚至抱持反共理念的李敖還可以到大陸北京大學演講，暗中傳播自由主義，現在卻是想殺光對方。\n按照民進黨的角度來看，國民黨過去就是在賣台，什麼交流都是假的，兵役越當越短，讓中國統戰陰謀成功。其實民進黨也沒完全說錯，公安駐台確實是侵略啦。\n這代台灣人自從覺醒後，堅持要台獨建國，跟共匪打一仗。可是原住民的立場怎麼辦？中國人怎麼辦？民進黨走的路線就一定是正確的嗎？\n隨著2016年蔡英文當選總統、2018年習近平修憲獨裁、美中貿易戰開打，兩岸關係越來越緊張了，現在台灣正走向戰爭邊緣。\n儘管2014年台灣就爆發反服貿運動，但真正讓我覺醒的還是中國人現身說法。如果不是2018年接觸到品蔥、Reddit沖浪TV的人士，我可能永不會醒悟中國共產黨有多麼獨裁可惡。現在我知道了即使是在中國悶聲發大財的和平時期，境內還是有編程隨想在反共，當時兩岸關係最好的時候正是中國互聯網環境最自由的時候。\n以前百度貼吧政治笑話隨便開，現在獨裁越來越強，刪帖禁言封號隨便來。中國互聯網只剩下五毛小粉紅，中國人被迫成為政府獨裁的共犯。 如果沒有這種啟蒙的話，我可能會選擇當個「歲靜」在言論控管環境下繼續在Bilibili看動漫、滑抖音、玩中國手遊，最多嘴中共幾句當笑話。實質上仍對政治問題裝聾作啞，以為「兩岸維持現狀」可以永遠逃避未來台灣是否獨立的問題。\n因為反共的中國人宣傳緣故，現在我對中國的東西小心謹慎。我認同台灣應該獨立的，台灣遲早要與中國對抗。可是過去的情緒和經驗一直困擾著我，使得我無法像台獨人士一樣100%「仇中」。\n儘管海外有很多中國人反抗，可是大陸本土的人怎麼辦呢。大多數人沒有辦法擺脫日常生活的桎梏，也無心對抗共產黨。網路上看似聲量很高的反共人群，現實中有多少人能像彭載舟一樣勇敢反抗的？\n雖然兩岸緊張，但中國人也不是人人都惡魔。要我無差別的仇恨素不相識的人群實在做不到。\n現階段我們經濟不可能脫離中國。要怎樣追求台獨，又不傷害到中國人真的很難，還是繼續維持現狀就好了！？窩不知道。\n最後讓我用一首烈火紅唇的歌曲《邪惡會勝利》作結尾： 他們笑容燦爛，手臂熱烈的張開來\n知道邪惡將會勝利，也不出聲\n似乎大多數人都很滿意\n大多數人的想法是不會錯的\n他們臉上帶著微笑，嘴巴張得很大\n知道邪惡會勝利，也無法呼出一口氣\n閃耀的母艦射出了魔法子彈\n母親親手勒死了你\n邪惡終究會勝利。\n","date":"2023年10月13日","externalUrl":null,"permalink":"/posts/2015-jianxi-china-joruney/","section":"Politics","summary":" 警告：本文含有大量讓台獨人士不開心的內容。\n兩岸關係過去是很好的，曾經我覺得，默認九二共識、兩岸一家親、祖國母親沒什麼不好的。\n對中國大陸我有複雜的情感。看著抽屜裡的台胞證默默過期，隨著我的童年逝去，兩岸的關係也不可能回到從前了。\n兩岸一家親想法起源為何，之後又是怎麼破滅的，請看下面分解。\n在開始之前，我想用中國歌手汪峰於2000年推出的《風中的玩偶》起個頭，這首歌在台灣有發布完整版，但在大陸被禁了。 1. 我的兩岸一家親想法的起源 # 大陸的東西好棒，好進步，台灣真落後。或許因為小時候的眼界，也可能是因為當時環境的關係，我模糊的印象告訴我，2010年代兩岸關係是最好的時候。\n2002年胡錦濤當選中國國家主席。2008年馬英九當選中華民國總統。2011年《賽德克巴萊》上映。\n依賴中國製品就不用說了，全世界都是這樣。小的時候看的動畫、玩的網路遊戲、書籍，很多都是中國進口的。\n動畫有《喜羊羊與灰太狼》、《戰龍四驅》、《鎧甲勇士》。 有趣的是，十年前的中國影視作品裡面還有內涵諷刺共產黨的橋段。 他为了连任而取消阿瑞斯宪法\n","title":"兩岸一家親的想法破滅，記久遠前的中國大陸江西之行","type":"politic"},{"content":"手機：Sony Xperia 10 V (XQ-DC72)，Android 13\nOTA更新即為從「系統設定」更新手機系統的方法。\nMagisk有多種方式可以讓您在更新後仍維持Root權限，見此文。\nSony Xperia需要特殊處理。目前這支跑的是原廠系統，Sony手機在Root後（嚴格來說是解鎖bootloader），系統設定就看不到OTA更新了，即使官網有公告系統更新也一樣。 我想從韌體68.0.A.0.797升級到68.0.A.0.811版本。\n在這種情況下，要進行OTA更新且保留使用者資料就得靠NewFlasher強刷。為保持Magisk root權限還得重新修補boot.img\n影片操作參考 參照NewFlasher刷回原廠，準備驅動與相關工具，用XperiFirm下載最新版Xperia 10 V韌體。 將Xperia 10 V暫時還原到無Root的狀態：Magisk點選解除安裝 → 還原原始映像檔，這樣它會把原廠boot.img刷回去 手機關機，按著音量下鍵，接上電腦，LED會閃綠燈，進入Flash Mode。\n將NewFlasher與原廠韌體準備好，執行指令：\n./newflasher Do you want to keep userdata?回答y，保留所有使用者資料\nReboot mode at the end of flashing:輸入a，設定刷完後重啟手機\nType 'y' and press ENTER if you want dump trim area輸入n，跳過備份TA分區。\n刷完後重開機看能不能進入系統。如果卡開機可以嘗試切換槽位fastboot set_active a，再嘗試重跑一次NewFlasher。\n開機後Magisk應該仍是處於消失的狀態。使用Sony Dump Tool，從Xperia韌體抽取boot.img。\n將boot.img傳送到手機，開啟Magisk Manager，點選安裝 → 修補檔案，選取剛剛抽取的boot.img 將Magisk修補後的boot.img傳回到電腦\n手機關機，按著音量上鍵接到電腦，LED亮藍燈，進入Fastboot。\n將修補過的boot.img刷回手機：\nfastboot flash boot magisk_patched_boot.img fastboot reboot 重開機後，讓Magisk跑一次修復執行環境。 參考資料\nUpdating a rooted Sony Xperia 1 III - hueNET Blog\n","date":"2023年10月13日","externalUrl":null,"permalink":"/posts/sony-xperia-newflasher-ota-update/","section":"所有文章","summary":"手機：Sony Xperia 10 V (XQ-DC72)，Android 13\nOTA更新即為從「系統設定」更新手機系統的方法。\nMagisk有多種方式可以讓您在更新後仍維持Root權限，見此文。\nSony Xperia需要特殊處理。目前這支跑的是原廠系統，Sony手機在Root後（嚴格來說是解鎖bootloader），系統設定就看不到OTA更新了，即使官網有公告系統更新也一樣。 我想從韌體68.0.A.0.797升級到68.0.A.0.811版本。\n在這種情況下，要進行OTA更新且保留使用者資料就得靠NewFlasher強刷。為保持Magisk root權限還得重新修補boot.img\n影片操作參考 參照NewFlasher刷回原廠，準備驅動與相關工具，用XperiFirm下載最新版Xperia 10 V韌體。 將Xperia 10 V暫時還原到無Root的狀態：Magisk點選解除安裝 → 還原原始映像檔，這樣它會把原廠boot.img刷回去 手機關機，按著音量下鍵，接上電腦，LED會閃綠燈，進入Flash Mode。\n將NewFlasher與原廠韌體準備好，執行指令：\n./newflasher Do you want to keep userdata?回答y，保留所有使用者資料\nReboot mode at the end of flashing:輸入a，設定刷完後重啟手機\nType 'y' and press ENTER if you want dump trim area輸入n，跳過備份TA分區。\n刷完後重開機看能不能進入系統。如果卡開機可以嘗試切換槽位fastboot set_active a，再嘗試重跑一次NewFlasher。\n","title":"Sony Xperia手機Root後如何安裝OTA更新，使用NewFlasher","type":"posts"},{"content":"請參閱：iOS所有安裝第三方APP、側載IPA的方法\nAltStore是一款開源的應用程式商店，可以繞過App Store，在iOS/iPadOS裝置安裝未經Apple審核的第三方APP。 這樣有什麼好處呢？AltStore可以免越獄安裝IPA（iOS APP的應用安裝包），例如：\n去廣告的Youtube「uYouPlus」 跑Windows虛擬機的「UTM」 PSP遊戲模擬器「PPSSPP」 音樂遊戲「osu!」 BT種子下載器「iTorrent」 電腦版Minecraft啟動器「PojavLauncher」 神奇寶貝線上遊戲「PokeMMO」 剪貼簿歷史紀錄「Clip」 線上漫畫閱讀器「Aidoku」 免費線上動漫「Mangayomi」 檔案管理器「Filza」 傷心熊貓閱讀器「JHentai」 更多野生IPA列表，請看網友crypti1c整理的表格。\n以上這些可都是不會在App Store上架的APP呢，開發者只會在Github發表IPA供人下載。\nIvon將會向您介紹AltStore商店的原理，以及AltStore的安裝方式。\n1. AltStore簡介 # 在安裝AltStore之前，您可能會想閱讀此段內容了解對應限制。\n1.1. AltStore原理為何？ # AltStore誕生於2019年，旨在提供App Store以外的另一個選擇，開發者Riley Testut用極有創意的作法繞過了iPhone嚴苛的第三方APP限制。 開發者解釋，AltStore的原理是使用Apple個人開發憑證給IPA簽名，AltServer再利用iTunes WiFi同步的機制，將IPA側載(sideload)到iPhone，完成APP安裝。\n以上過程只要是有註冊過Apple開發者帳號、會用Xcode的人也可以做到，而AltStore的工作就是幫您把這一切流程自動化。\n對iOS APP開發者來說，AltStore讓開發者不必花錢搞TestFlight之類的，也可以任意分發IPA給其他人安裝APP。\n進一步資訊請參閱Certificates - Apple Developer Support、How AltStore works - Github\n1.2. AltStore安全嗎？ # AltStore安全嗎？簡單來說它本身只是個商店程式，負責協助將IPA安裝到iPhone。\nAltStore不等於越獄(Jailbreak)！它只能協助您安裝IPA，不能使用Tweaks！\nAltStore為自由軟體，由Riley Testut等人開發，原始碼放在Github開放給公眾檢視，安全性已經由眾多網友檢驗沒問題。\n不過，AltStore除了內建的軟體庫外，並不會檢查外來APP有無病毒，因此透過AltStore安裝網路下載的IPA需自行承擔風險。 如果您擔心用AltStore被Apple鎖帳號的話，可以開個Apple ID副帳號專門用來裝AltStore（AltStore的Apple ID並無限定要跟裝置上的Apple ID一致）\n1.3. AltStore支援的裝置？ # 安裝AltStore不需越獄。\nAltStore支援全部型號的iPhone/iPad/iPod touch裝置。\niOS版本最低要求為iOS 12以上，目前支援到iOS 17。新版iOS的支援情況請看官方Twitter。\n1.4. AltStore有何限制？ # AltStore看似很美好，但也不是萬能的。受Apple設計的系統限制，AltStore得透過電腦安裝APP，且每7天就要連到電腦「重簽」。\nApple規定，免費開發者帳號在一部裝置上最多安裝3個自簽名的APP（含AltStore本身，因為AltStore也算1個APP）。 當您要安裝第3個APP的時候，AltStore會詢問您要將哪個舊的APP停用，讓位給新的APP。\n透過AltStore安裝的APP，7天後簽名就會過期，APP便無法再使用。為此AltStore提供了「重簽」(resign)功能，我們只要把iPhone接到電腦，讓AltStore自動重簽，APP就可以繼續使用了。\n只要不刪除APP，重簽或重裝IPA後資料仍會保留。\n此外依照Apple對免費帳號的規定，每安裝一個APP，就會計入一次簽名次數，每週上限為10個APP。一旦達到此上限，就得等7天後才能用AltStore裝新的APP了！沒辦法，這是Apple的限制。\n只有部份iOS版本可以用MacDirtyCow漏洞繞過安裝3個APP的限制。\n其實要打破以上限制十分簡單，您只需花3000台幣的年費買Apple付費開發者帳號，就可以盡情裝到爽。😉 說笑的，AltStore本身是免費的，但還是得遵守Apple訂下的規則。\n2. 如何安裝AltStore # AltStore得透過電腦跑AltServer才能安裝到iPhone上。該程式支援macOS和Windows，另有第三方開發的Linux版。\n2.1. Windows # 請使用Windows 10以上系統。\n影片解說版 參考AltStore文件，Windows電腦需安裝exe版的iTunes和iCloud，以上網址皆是來自Apple官網，不要從微軟商店下載。安裝後電腦重開機。\n將iPhone插上電腦，在iPhone上點選「信任此電腦」。開啟iTunes，確認電腦認得到iPhone。\n下載AltStore ，解壓縮點選AltInstaller.msi安裝到電腦。 開啟電腦防火牆設定，允許AltStore通過防火牆。您可能得暫時關閉Windows Defender。\n點選Windows的開始 → 最近安裝的程式，搜尋「AltServer」，啟動之後會在右下角的系統匣顯示菱形圖示，並在系統背景執行AltServer。日後開機AltServer會自動啟動。 按一下AltStore的菱形圖示，按Install AltStore，安裝AltStore到iPhone。\n此時會要求登入Apple ID，這是AltStore為了幫你註冊免費開發人員帳號。如果安裝出現錯誤訊息，可移至本文底部查看一些解決方法。 稍後iPhone的主畫面應該就會出現AltStore的綠色圖示，先不要開啟。 iOS 16以上系統，請先開啟系統設定 → 隱私權 → 啟用「開發者模式」，手機重開機。啟用開發者模式是無害的，日後可以關掉。\n接著開啟系統設定 → 一般 → VPN與裝置管理，點選「信任AltStore」的開發者，之後才可以開啟AltStore。 初次開啟後，點選右下角的Settings，登入Apple ID，就能開始安裝APP。 2.2. macOS # 請使用macOS Big Sur (11.0)以上系統，此處以macOS Ventura為例。\n至AltStore官網下載AltServer 在Finder解壓縮，將AltServer.app拷貝到「應用程式」 將iPhone插上電腦\n點選Finder左側的iPhone，勾選「連接Wi-Fi時顯示此裝置」 開啟macOS的應用程式列表，點選AltServer。之後會顯示在Mac右上角，點選Install AltStore 輸入Apple ID的帳號密碼 之後會看到安裝成功的通知\n稍後iPhone的主畫面應該就會出現AltStore的綠色圖示，先不要開啟。 iOS 16以上系統，請先開啟系統設定 → 隱私權 → 啟用「開發者模式」，手機重開機。啟用開發者模式是無害的，日後可以關掉。\n接著開啟系統設定 → 一般 → VPN與裝置管理，點選「信任AltStore」的開發者，之後才可以開啟AltStore。 初次開啟後，點選右下角的Settings，登入Apple ID，就能開始安裝APP。 2.3. GNU/Linux # 請參閱第三方開發的Linux版。\n3. AltStore如何安裝APP # 目前提供二種安裝方法。\n3.1. 透過內建軟體庫安裝 # AltStore有內建受信任的軟體庫(trusted sources)，這樣就能直接安裝開發者認可的APP，不需要手動下載IPA。\n從AltStore → Browse → Sources，點Add啟用軟體庫 在Browse頁面就會看到新增的APP。 將iPhone插到電腦，確認電腦的AltServer有開著。\n點選Install，安裝完APP後才能斷開與電腦連線。 3.2. 手動下載IPA安裝 # 目前AltStore開發者認可的APP很少，很多APP還是得手動找IPA檔案。\n鑑於網路上的IPA可能潛藏病毒，Ivon建議選擇有開放原始碼的APP比較好，他們多半會把IPA放在Github給人下載。\n安裝APP時要插著線，與電腦上的AltServer保持連線。\n要安裝APP必須要有IPA檔，例如Youtube去廣告的uYouPlus要用iPhone到Github下載IPA： 開啟AltStore，按My Apps，點選左上角+號 選取IPA檔（通常下載的檔案位於iCloud → 下載項目或我的iPhone → 下載項目） 請保持螢幕亮著，等待安裝進度條跑完。\n如果遇到Extension的問題一律按Keep App Extensions 如果已達到3個APP的啟用上限，AltStore會主動詢問要停用哪個舊APP，以提供位置給新的APP安裝。停用的APP不會刪除，日後仍然可以啟用。啟用APP的時候要連著電腦。 安裝完APP後才能斷開與電腦的連線。 4. AltStore如何重簽 # 如果點選AltStore出現「XXX無法再使用」就代表APP過期，要用電腦重簽了。\n透過AltStore安裝的APP（包含AltStore本身）有7天簽名期限的限制，時間到就需要重簽。\nAltStore APP只要不刪除，資料都會保留，重簽後即可繼續使用。\n在AltStore → My Apps列表會看到APP離過期(expire)還剩多少天，過期之後APP就會無法啟動。如果連AltStore都開不起來，那麼就只能按照上面的方法重裝AltStore。 4.1. 有線重簽 # 確認電腦的AltServer有開著，將iPhone連接到電腦\n點選AltStore → My Apps，按Refresh All即可重簽。 4.2. 無線重簽 # 如果不想要一直插來插去，就在電腦iTunes的裝置選單勾選「透過Wifi與此iPhone同步」 確認電腦的AltServer有開著，再讓iPhone與電腦處於同一個Wifi下\n開啟AltStore → All Apps，點選Refresh All嘗試無線重簽。\n只要連線到Wifi，AltStore就會在系統背景嘗試重簽APP（iOS的「背景App重新整理」必須為開啟狀態）。\n4.3. 免電腦重簽 # 無越獄有較為複雜的方案SideStore可嘗試。\n如果您的iPhone有越獄(jailbreak)就簡單多了！可安裝ReProvision Reborn自動重簽IPA，就不需要用電腦了。\n5. 關於AltStore的疑難雜症 # 錯誤訊息Invalid anisette data. Please close iTunes and iCloud then try again.: 刪除C:\\ProgramData\\Apple Computer\\iTunes\\adi資料夾，重新開啟iTunes，再用工作管理員強制停止。AltSever按下Close再重新開啟。\n錯誤訊息Failed to verify code signature of: 請將Windows系統時間調整至正確的時間。\n錯誤訊息AltServer not found：請確認iPhone有連著電腦，且電腦的AltServer有開著。\n錯誤訊息Cannot activate more than 3 apps：免費開發者帳號只能啟用最多3個AltStore的APP（包含AltStore在內），遇到此情況AltStore會自動詢問您要把哪個APP取消啟用。\nYour maximum app id limit has been reached：AltStore每安裝一個APP，就會計入一次簽名次數，達到10個APP的簽名上限就會無法安裝新APP。這是Apple對免費開發者帳號的限制，您需要等7天後才可以用AltStore安裝新APP。不然您也可以花3000台幣買Apple付費開發者帳號解鎖限制。\nThis Apple ID has been locked for security reasons：請至Apple官網登入帳號，改密碼，解除帳號鎖定再重裝AltStore。\nvector\u0026lt;T\u0026gt;too long：暫時關閉Windows Defender即時防護再重試。\n延伸閱讀 # AltStore官方文件 AltStore Docs - AltStore 專門討論側載APP的Sildeload Reddit討論板 ","date":"2023年10月10日","externalUrl":null,"permalink":"/posts/ios-altstore/","section":"所有文章","summary":"請參閱：iOS所有安裝第三方APP、側載IPA的方法\nAltStore是一款開源的應用程式商店，可以繞過App Store，在iOS/iPadOS裝置安裝未經Apple審核的第三方APP。 這樣有什麼好處呢？AltStore可以免越獄安裝IPA（iOS APP的應用安裝包），例如：\n去廣告的Youtube「uYouPlus」 跑Windows虛擬機的「UTM」 PSP遊戲模擬器「PPSSPP」 音樂遊戲「osu!」 BT種子下載器「iTorrent」 電腦版Minecraft啟動器「PojavLauncher」 神奇寶貝線上遊戲「PokeMMO」 剪貼簿歷史紀錄「Clip」 線上漫畫閱讀器「Aidoku」 免費線上動漫「Mangayomi」 檔案管理器「Filza」 傷心熊貓閱讀器「JHentai」 更多野生IPA列表，請看網友crypti1c整理的表格。\n以上這些可都是不會在App Store上架的APP呢，開發者只會在Github發表IPA供人下載。\nIvon將會向您介紹AltStore商店的原理，以及AltStore的安裝方式。\n1. AltStore簡介 # 在安裝AltStore之前，您可能會想閱讀此段內容了解對應限制。\n1.1. AltStore原理為何？ # AltStore誕生於2019年，旨在提供App Store以外的另一個選擇，開發者Riley Testut用極有創意的作法繞過了iPhone嚴苛的第三方APP限制。 ","title":"在iOS安裝第三方應用程式：AltStore安裝教學","type":"posts"},{"content":" 「E-hentai View」是一款用Next.js撰寫的PWA網頁前端，可讓手機免APP閱讀E-hentai。 簡單的解釋：這是任何平台皆可運作的「EhViewer」，只要有瀏覽器就能跑，這樣不論您拿的是iPhone還是Nokia 3310也能輕鬆看E-hentai\u0026hellip; https://e-hentai.org網站已經存在超過20年了，但網站主要還是用電腦版網頁操作，並無針對手機版優化的網頁，或許就是此專案誕生的緣故。\n從開發者的描述來看，這是適合給動手能力強的使用者架設的雲端服務，尤其是iOS用戶，相比Android要看E-hentai十分不友善。\nE-hentai View的價值在於無需安裝APP。 如果您擁有自己的VPS或NAS，那只要在上面部署E-hentai View，再讓手機透過VPN或連線到伺服器，即可存取E-hentai View的網頁前端，從而閱讀E-hentai內容。即使您沒有伺服器，也可以用ZeroTier遠端存取架有E-hentai View的電腦。\n只要設定好cookie，E-hentai View就能夠讀取帳號內容，甚至存取裏站(https://exhentai.org)。\n當然，網頁效能還是比不上Android/iOS的原生 E-hentai APP的，下載本子也不方便。\n不過這是個很有趣的專案，感興趣的紳士可以嘗試看看。\n類似E-hentai View構想的專案：Suwayomi ＋ Tachiyomi 伺服器\n1. E-hentai View界面長怎樣 # E-hentai View是寫的很簡單的手機前端，操作邏輯跟Ehviewer相似，不過無法下載本子。\n同人誌預覽也是常見的介面佈局，點標籤可以搜尋類似作品。 閱讀介面支援橫向、直向閱讀。 收藏頁面可以存取自己E-hentai帳號的收藏。 2. 部署E-hentai View的方法 # 因為作者有提供Docker image，所以Docker部署是最簡單的方式，主要是部署到自己的伺服器再用手機存取。如果你的手機夠屌有辦法跑Docker，那也可以在手機上跑E-hentai View。\n但是作者疑似已經2年沒更新映像檔，bug很多。 詭異的是我只有在ARM架構的機器跑成功過，x86架構跑不起來。\n2.1. 透過Docker部署 # 安裝Docker\n撰寫docker-compose\nmkdir ~/ehentaiview cd ehentaiview vim docker-compose.yml 填入： version: \u0026#39;3\u0026#39; services: ehentaiview: image: ironkinoko/e-hentai-view:latest container_name: ehentaiview restart: unless-stopped # 要使用的通訊埠，預設是80 ports: - 80:8080 啟動容器服務，容器網頁便可透過http://localhost:80或http://伺服器IP:80存取。 docker compose up -d 2.2. 用NodeJS跑 # 用Node JS直接跑開發環境。\n安裝NodeJS與npm，再用npm安裝yarn\n複製E-hentai View的儲存庫\ngit clone https://github.com/IronKinoko/e-hentai-view.git cd e-hentai-view 啟動NodeJS應用程式。E-hentai View的網頁即可用http://localhost:80開啟。 yarn yarn run dev:server yarn run dev:app 3. 取得Exhentai的cookie # 這個程式似乎無法僅檢視E-hentai的樣子，故需要取得cookie才能檢視所有Exhentai畫廊。\n相關文章：如何註冊E-hentai帳號\n3.1. iOS # 開啟Safari，開啟https://e-hentai.org登入帳號，接著再開啟https://exhentai.org，帳號會自動登入。\n隨便開一個網頁，將其新增為Safari書籤。接著到書籤列表，編輯書籤，網址改為輸入javascript:alert(document.cookie); 進到https://exhentai.org網頁，然後點一下剛剛新增的書籤，就會顯示Exhentai cookie的數值。把這三個數值記下來。 iOS還需要到系統設定 → Safari，關閉「防止跨網站追蹤」\n3.2. Android # 因為手機Chrome沒有開發人員工具，請改用Kiwi Browser。\n開啟https://e-hentai.org登入帳號，接著再開啟https://exhentai.org，帳號會自動登入。\n在Exhentai的頁面按右上角選項，開啟開發人員工具，開啟「Console」，貼上以下JavaScript指令稿，手機按Enter。\n;(function fixChromeExhentaiCookie() { if (location.href.indexOf(\u0026#39;exhentai.org\u0026#39;) === -1) { return alert(\u0026#39;Please run in Exhentai.org\u0026#39;) } const cookies = document.cookie.split(\u0026#39;;\u0026#39;).map((cookie) =\u0026gt; cookie.trim()) cookies.forEach((cookie) =\u0026gt; { document.cookie = cookie + \u0026#39;; domain=.exhentai.org; path=/; max-age=31536000; secure;SameSite=None;\u0026#39; }) console.info( \u0026#39;%c===Success===\\nNow press F12 to close this console and go to next step.\u0026#39;, \u0026#39;background:#f5f5f5;color:green\u0026#39; ) })() 接著會回傳Success 繼續輸入以下指令按Enter，將會輸出Exhentai的cookie，請將輸出的三行數值複製下來。\nconsole.log(document.cookie); 4. 如何存取E-hentai View網頁界面 # 用瀏覽器開啟http://localhost:80或http://伺服器IP:80，進入E-hentai View。\n一直下一步，在登入頁面按一下cookie，切換為cookie登入模式\n貼上剛剛取得的三個cookie數值，登入。 欲安裝為PWA應用程式：\niOS點選「將網頁新增至主畫面」\nAndroid點選「新增至桌面」\n另請參見 # IronKinoko/e-hentai-view - Github E-hentai網頁版使用教學 ","date":"2023年10月9日","externalUrl":null,"permalink":"/posts/web-e-hentai-view/","section":"所有文章","summary":" 「E-hentai View」是一款用Next.js撰寫的PWA網頁前端，可讓手機免APP閱讀E-hentai。 簡單的解釋：這是任何平台皆可運作的「EhViewer」，只要有瀏覽器就能跑，這樣不論您拿的是iPhone還是Nokia 3310也能輕鬆看E-hentai… https://e-hentai.org網站已經存在超過20年了，但網站主要還是用電腦版網頁操作，並無針對手機版優化的網頁，或許就是此專案誕生的緣故。\n從開發者的描述來看，這是適合給動手能力強的使用者架設的雲端服務，尤其是iOS用戶，相比Android要看E-hentai十分不友善。\nE-hentai View的價值在於無需安裝APP。 如果您擁有自己的VPS或NAS，那只要在上面部署E-hentai View，再讓手機透過VPN或連線到伺服器，即可存取E-hentai View的網頁前端，從而閱讀E-hentai內容。即使您沒有伺服器，也可以用ZeroTier遠端存取架有E-hentai View的電腦。\n","title":"E-hentai View，自架PWA網頁看本，支援iOS和Android","type":"posts"},{"content":"iPod touch 6，系統版本iOS 12.5.7\n反正已經是EOL的產品了，拿來越獄(jailbreak)吧。\niPod touch 6是2015年Apple推出的音樂播放器，跟iPhone 6使用一樣的晶片。\n執行iOS 12.5.7的裝置尚有：iPhone 5s, iPhone 6, iPhone 6 Plus, iPad Air, iPad mini 2, iPad mini 3。\niPod touch 6曾經是Ivon的老戰友，入門iOS世界的起始，一點都不雞肋，使用歷程寫在這邊。 本文Ivon將比較iOS 12可用的越獄方案，這樣你會知道為什麼我要選checkra1n。再用Linux電腦完成iPod touch 6的越獄，然後把Cydia換成Sileo。\n1. 比較iOS 12越獄方案 # 開始越獄前比較一下iOS 12可用的越獄方案，要知道的是iOS 12已經是5年前的版本了，最高版本是iOS 12.5.7。\niOS 12都是不完美越獄，重開機後越獄環境要重新跑一次啟用程序。\n因為iPod touch 6是A8晶片，可以用萬能的checkra1n來越獄（硬體開機漏洞，無法用軟體修復）\n過去iOS 12有unc0ver和chimera越獄，操作更簡單，不需要進DFU，甚至可以免電腦用描述檔越獄呢。\n可惜的是unc0ver和chimera都已經沒更新了，且iOS 12.5.7是很後來Apple在2023年突然推出的修補版本，這些老玩意仰賴的漏洞早被Apple堵上了，所以成功率較checkra1n低。\n所以我們還是認命用checkra1n吧。\ncheckra1n支援機型：iPhone 5s ～ iPhone X（A8 ~ A11處理器）之間推出的機型。\n2. 透過checkra1n越獄 # 在Linux安裝連接iOS裝置的套件libimobiledevice\n到官方網站下載checkra1n執行檔\nwget https://assets.checkra.in/downloads/linux/cli/x86_64/dac9968939ea6e6bfbdedeb41d7e2579c4711dc2c5083f91dced66ca397dc51d/checkra1n chmod +x checkra1n iPod接上電腦，配對裝置 idevicepair pair checkra1n選取Start，令iPod進入Recovery 讓iPod touch 6進入DFU模式，按著開機鍵和Home鍵5秒，放開開機鍵，之後繼續按著Home鍵10秒。 越獄開始時畫面會出現棋子，開始觸發漏洞 開機等一下下，點選checkra1n APP，安裝Cydia 開啟Cydia更新套件。記住，checkra1n是不完美越獄，每次重開機都要重跑以上程序才能繼續使用Cydia。\n3. 從Cydia安裝Sileo商店 # Cydia已經過氣了，Sileo才是未來。二者可以共存。\n點選Cydia的來源 → 編輯 → 加入，輸入 https://repo.getsileo.app 點選Cydia → 來源 → Sileo → 打包 → 修改，安裝Sileo套件 這樣就可以用Sileo安裝越獄tweak了。\n4. iOS 12能裝什麼好玩的越獄tweak # 說實在的，1GB RAM的iPod touch 6我真的不知道能幹嘛，玩遊戲又不如我那還在iOS 15死撐的iPhone SE 2016\u0026hellip;如果是大螢幕iPad或許還能裝個分割螢幕的Milky Way tweak。現在突顯了iPod touch的雞肋。\n感恩AltStore的開發者仍願意支援iOS 12，但APP開發者多半都放棄iOS 12了。\n雖說一堆App Store的APP都不支援iOS 12了，Sileo卻還是有很多好玩的tweak支援。\n比方說，把全螢幕手勢下放給舊機型的GesturesXV，用起來真詭異 Filza，檔案管理器。\nMitsuha Forever，播放音樂的時候顯示波浪符\nVinyl，鎖定畫面顯示大型音樂控制器 參考資料 # Firmware Selection iPod touch 6th generation - cfw iOS Guide Installing Sileo - cfw iOS Guide Reddit Jailbreak討論區 ","date":"2023年10月9日","externalUrl":null,"permalink":"/posts/ios-12-checkra1n-jailbreak/","section":"所有文章","summary":"iPod touch 6，系統版本iOS 12.5.7\n反正已經是EOL的產品了，拿來越獄(jailbreak)吧。\niPod touch 6是2015年Apple推出的音樂播放器，跟iPhone 6使用一樣的晶片。\n執行iOS 12.5.7的裝置尚有：iPhone 5s, iPhone 6, iPhone 6 Plus, iPad Air, iPad mini 2, iPad mini 3。\niPod touch 6曾經是Ivon的老戰友，入門iOS世界的起始，一點都不雞肋，使用歷程寫在這邊。 本文Ivon將比較iOS 12可用的越獄方案，這樣你會知道為什麼我要選checkra1n。再用Linux電腦完成iPod touch 6的越獄，然後把Cydia換成Sileo。\n1. 比較iOS 12越獄方案 # 開始越獄前比較一下iOS 12可用的越獄方案，要知道的是iOS 12已經是5年前的版本了，最高版本是iOS 12.5.7。\niOS 12都是不完美越獄，重開機後越獄環境要重新跑一次啟用程序。\n因為iPod touch 6是A8晶片，可以用萬能的checkra1n來越獄（硬體開機漏洞，無法用軟體修復）\n過去iOS 12有unc0ver和chimera越獄，操作更簡單，不需要進DFU，甚至可以免電腦用描述檔越獄呢。\n可惜的是unc0ver和chimera都已經沒更新了，且iOS 12.5.7是很後來Apple在2023年突然推出的修補版本，這些老玩意仰賴的漏洞早被Apple堵上了，所以成功率較checkra1n低。\n","title":"iOS 12.5.7 checkra1n越獄安裝Sileo，拿iPod touch 6開刀","type":"posts"},{"content":"","date":"2023年10月9日","externalUrl":null,"permalink":"/tags/ipod-touch/","section":"標籤","summary":"","title":"IPod Touch","type":"tags"},{"content":"あなたが、もう二度と会えない程、遠いところへ行っちゃって。なのに世界中のだれもかもがそのことを忘れちゃって、私だけがArchちゃんのことを覚えているたった一人の人間として取り残されて…寂しいのに、悲しいのに、その気持ちを誰にもわかってもらえない…そのうちArchちゃんの思い出は、私が勝手に作り出した絵空事じゃないかって、自分自身さえ信じられなくなって…\nPineTab 2出廠系統裝的是KDE，我將其換成GNOME。用了三個月後，發覺GNOME跟KDE程式混在一起太亂了。 KDE套件依賴過於複雜無法用pacman移除，爲了更乾淨的GNOME環境，我決定重裝系統。\n現在PineTab 2的Arch Linux ARM映像檔總算上dreemurrs-embedded/Pine64-Arch的Github儲存庫了！這代表系統映像檔日後會定期更新。除了原廠的KDE組建外，還提供什麼都沒有的「barebone」版本，這正是我要的。 此外，目前支援PineTab 2的Linux發行版有：Manjaro、Ubuntu touch、postmarketOS、Rhino Linux、Mobian、NixOS。安裝過程大同小異。\n1. 安裝新系統的方法 # 根據PineTab 2的Wiki，PineTab 2會優先嘗試SD卡開機，所以我可以eMMC裝一個系統，SD再裝個系統，達成雙重開機。\n若我要安裝系統至較快速的eMMC呢？目前PineTab 2還沒有Tow-boot，無法將硬碟暴露給電腦存取。\n所以只能用迂迴的方法：用SD卡開機進系統，再用那SD卡將系統映像檔dd進eMMC分區。\n2. 將發行版映像檔寫入至SD卡 # 我選擇Mobian，Phosh版\n尋找SD卡分區，取消掛載\nlsblk sudo umount /run/media/user/SDCARD 解壓縮映像檔，用dd把映像檔寫進sd卡 xz --decompress mobian-pinetab2-phosh-20231008.img.xz sudo dd if=mobian-pinetab2-phosh-20231008.img of=/dev/sdc bs=1M status=progress conv=fsync 3. 安裝系統至eMMC # 插入SD卡至PineTab 2，開機\n哼嗯，Phosh用起來還挺順的，即使是在PineTab 2這樣孱弱的硬體上。可是Phosh就是殘廢版的GNOME，適合手機，不適合平板，不利於在觸控與鍵盤模式切換。 用Mobian的Firefox下載Arch Linux ARM的barebone映像檔。沒網路就用隨身碟傳。\n解壓縮映像檔\nxz --decompress archlinux-pinetab2-barebone-20230925.img.xz 接著用lsblk尋找eMMC分區，最大的那個128GB，名為mmcblk1的分區就是目標了 將映像檔寫入進去\nsudo dd if=archlinux-pinetab2-barebone-20230925.img of=/dev/mmcblk1 bs=1M status=progress conv=fsync 關機，拔掉SD卡。 3. Arch Linux安裝GNOME桌面 # 配置部份參照我之前的開箱文\nbarebone映像檔開機後什麼都沒有，直接進tty。\n其實也不是真的什麼都沒有，裡面已經有一個alarm的帳號，只是沒有圖形界面而已。\n登入預設帳密，alarm，123456\n接上Wifi網路卡，載入MT7601網路卡的核心模組，讓網路卡上線，連上Wifi\nsudo modprobe mt7601 sudo ip link sudo ip link set wlu1 up sudo nmcli device wifi list sudo nmcli dev wifi connect \u0026#34;SSID\u0026#34; password \u0026#34;Wifi密碼\u0026#34; sudo nmcli device set wlu1 autoconnect yes 更新系統 sudo pacman -Syu 用vi編輯/etc/pacman.d/mirrorlist，取消註解台灣國內的鏡像 vi /etc/pacman.d/mirrorlist sudo pacman -Syy 安裝以下套件： sudo pacaman -S gnome gnome-extra noto-fonts-cjk sudo systemctl enable gdm 設定時區 sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime sudo hwclock --systohc 設定正體中文 vi /etc/locale.gen locale-gen echo \u0026#34;LANG=zh_TW.UTF-8 UTF-8\u0026#34; \u0026gt;\u0026gt; /etc/locale.conf 修改密碼 sudo passwd alarm 接著重開機，之後再把Fcitx5、YAY、UFW、Flatpak、Waydroid設定完成即可。\n啊，精實的GNOME系統出現了，動畫似乎也變得更流暢了（並沒有） 你將前往無法再會的遠方，而這個世界中無人記得妳的存在，只剩下我一人擁有和妳的記憶。寂寞也好，悲傷也好，誰都無法理解。漸漸的，連我自己都無法確信，和Arch醬的回憶是不是只是我妄想的產物。\n再會，過去的Arch Linux。妳好！新的Arch Linux。\n","date":"2023年10月9日","externalUrl":null,"permalink":"/posts/pinetab2-os-installation/","section":"所有文章","summary":"あなたが、もう二度と会えない程、遠いところへ行っちゃって。なのに世界中のだれもかもがそのことを忘れちゃって、私だけがArchちゃんのことを覚えているたった一人の人間として取り残されて…寂しいのに、悲しいのに、その気持ちを誰にもわかってもらえない…そのうちArchちゃんの思い出は、私が勝手に作り出した絵空事じゃないかって、自分自身さえ信じられなくなって…\nPineTab 2出廠系統裝的是KDE，我將其換成GNOME。用了三個月後，發覺GNOME跟KDE程式混在一起太亂了。 KDE套件依賴過於複雜無法用pacman移除，爲了更乾淨的GNOME環境，我決定重裝系統。\n現在PineTab 2的Arch Linux ARM映像檔總算上dreemurrs-embedded/Pine64-Arch的Github儲存庫了！這代表系統映像檔日後會定期更新。除了原廠的KDE組建外，還提供什麼都沒有的「barebone」版本，這正是我要的。 此外，目前支援PineTab 2的Linux發行版有：Manjaro、Ubuntu touch、postmarketOS、Rhino Linux、Mobian、NixOS。安裝過程大同小異。\n1. 安裝新系統的方法 # 根據PineTab 2的Wiki，PineTab 2會優先嘗試SD卡開機，所以我可以eMMC裝一個系統，SD再裝個系統，達成雙重開機。\n若我要安裝系統至較快速的eMMC呢？目前PineTab 2還沒有Tow-boot，無法將硬碟暴露給電腦存取。\n","title":"Pine64 PineTab 2安裝新Linux系統的方法","type":"posts"},{"content":"這篇文章Ivon將介紹如何在非Google推出的Android手機安裝GCam，並介紹下載GCam APK的網站。\n1. 什麼是GCam # 如果想改善Android手機拍照效果，有些人會跟你說要下載GCam吧？\nGCam全名Google Camera，是Google研發並搭載於Pixel手機的相機APP，以演算法聞名，可以有效改善手機拍照品質，例如強化版HDR、夜景效果、星空模式。 如果您的手機拍照會泛白，或是夜晚拍出來烏漆嘛黑，則建議您試試GCam的威力。\n例如下圖小米Poco F1夜拍效果。左邊是LineageOS原廠相機，右邊是GCam拍出來的效果，沒有任何修圖。由此可見即使相機硬體不佳，也能靠GCam演算法把拍照救起來，適合中階機安裝。 不過GCam本身是閉源軟體，不是每支手機都能裝。網路上的GCam APK其實都是XDA、4PDA的開發者破解過的非官方版本。Gcam需要針對個別手機移植(port)才能正常運作，目前還沒有人發表「通用且開源」的破解檔，需要開發者各憑本事破解GCam。網路開發者釋出的GCam APK多半沒有原始碼，可能還會含有個人簽名，例如給自己的Youtube頻道打廣告。\n那下載破解版GCam違不違法呢？Google對此是睜一隻眼閉一隻眼，反正這些修改過的GCam不可能上架Google Play就是了（Google Play的GCam是給Pixel手機下載的），得到網路上找APK裝。\n2. 到GCam Hub下載APK # 如果要下載GCam又擔心病毒的話，可以到Celso Azevedo經營的「GCam Hub」下載，這是蒐羅最多GCam APK的網站，網站APK皆經過Virus Portal掃毒。\nGCam Hub的網站網址：https://www.celsoazevedo.com/files/android/google-camera\nGCam Hub有獲XDA編輯推薦，想知道GCam支援的Android手機有哪些嗎？請造訪XDA整理的表格，裡面有詳細的支援狀況。 如果Known Google Camera Port欄位有連結，那就代表該手機有GCam APK可用。\n如果您的手機沒有GCam APK，那麼還有精簡版的「GCam Go」可以試。\n3. 如何選擇適合的GCam APK # 本節介紹GCam的詳細安裝方法。\nGCam Hub提供的GCam APK分為一般版「GCam」和「GCam Go」。\n一般版GCam的安裝過程：先下載GCam APK，再載入對應機型的設定檔(config)，方能使用HDR和夜景功能。有些GCam不載入設定檔或許可以用，但可能會崩潰，或是顏色偏掉。 至於GCam Go是Google設計給低階手機用的，功能少了很多。但好處是安裝後直接用，不需載入設定檔，「或許」支援更多Android手機。 鑑於GCam Hub收錄的APK繁雜，挑選GCam APK的原則如下：\n您的手機是否有一般版GCam APK支援？（參考上一節XDA的表格）\n→ 無 ，你可以試著裝Gcam，不套用任何設定檔試試。或者裝GCam Go賭賭看，如果還是黑螢幕就放棄。\n→ 有，以有您機型設定檔的GCam為主，不要盲目裝最新版GCam。例如GCam 7.3有小米Poco F1的設定檔且不會閃退，就優先使用這個版本。如果不滿意再試試最新版GCam 8.6。\n接下來讓我們看如何安裝一般版的GCam。\nGCam依賴Camera2API功能，請先用Camera2 API Probe這類APP檢查手機的Camera2 API等級是否為LEVEL_3或FULL，才可以使用調整ISO與拍攝RAW照片的完整功能。\n以小米Poco F1為例，到GCam Hub的Stable Version頁面，可以看到這裡最新版GCam更新日期是2021年，由Urnyx開發的版本。點選下載GCam 7.3。根據GCam Hub官網解釋，一個作者會維護許多版本的APK。黑色粗體字是穩定版，紅字+粗體字是推薦版本。 接著點入configs頁面，下載xml設定檔 開啟檔案管理員，在內部儲存空間新增GCam/Configs7目錄，將設定檔放進去（不同作者的GCam設定檔位置不同，請注意參閱GCam Hub的說明） 安裝GCam APK，開啟APP，點二下「拍照」按鈕旁邊的黑色區塊，選取設定檔，按Restore。重啟APP，完成 另請參見 # How To Install and Use the Google Camera Port - Celso Azevedo Google Camera Port: FAQ and Troubleshooting - Celso Azevedo Google Camera Port Hub: Get the best GCam APK for Samsung, Motorola, OnePlus, and other phones - XDA Developers ","date":"2023年10月5日","externalUrl":null,"permalink":"/posts/gcam-ports-installation/","section":"所有文章","summary":"這篇文章Ivon將介紹如何在非Google推出的Android手機安裝GCam，並介紹下載GCam APK的網站。\n1. 什麼是GCam # 如果想改善Android手機拍照效果，有些人會跟你說要下載GCam吧？\nGCam全名Google Camera，是Google研發並搭載於Pixel手機的相機APP，以演算法聞名，可以有效改善手機拍照品質，例如強化版HDR、夜景效果、星空模式。 如果您的手機拍照會泛白，或是夜晚拍出來烏漆嘛黑，則建議您試試GCam的威力。\n例如下圖小米Poco F1夜拍效果。左邊是LineageOS原廠相機，右邊是GCam拍出來的效果，沒有任何修圖。由此可見即使相機硬體不佳，也能靠GCam演算法把拍照救起來，適合中階機安裝。 不過GCam本身是閉源軟體，不是每支手機都能裝。網路上的GCam APK其實都是XDA、4PDA的開發者破解過的非官方版本。Gcam需要針對個別手機移植(port)才能正常運作，目前還沒有人發表「通用且開源」的破解檔，需要開發者各憑本事破解GCam。網路開發者釋出的GCam APK多半沒有原始碼，可能還會含有個人簽名，例如給自己的Youtube頻道打廣告。\n","title":"改善手機拍照品質 ~ 非官方的Google相機(GCam)APK安裝教學","type":"posts"},{"content":"很重要，你必須了解，我愛、更尊重中國跟中國人。但我有一個錯誤，我必須說現在，我很抱歉對我的錯誤，對不起\u0026hellip;我不愛中國共產黨。\n彭載舟先生主導的四通橋抗議事件即將滿一週年了，在此分享33首好聽的反共樂團和反共歌曲，與海內外反共志士共勉之。 233，本文談的反共歌曲，不是過去蔣中正時代「反攻大陸去」的老掉牙主旋律，也不是乳包之類的惡搞歌曲，而是帶批判性質的現代音樂。這些多是搖滾樂，有支持反共的，有懷疑社會，甚至質疑反共的\u0026hellip;部份歌曲都可以當成藝術品看待了。\n儘管台灣過去有很多自認中國人的歌手寫歌聲援反共，但我偏好中國大陸人自己寫的，才更有說服力。（雖然我還是放了羅大佑和Beyond進去列表www）\n「反共」我將定義擴大為「六四歌曲」、「反大中華主義」、「批評中國社會議題」也算在內。\n有些歌曲在中國境內已經搜尋不到了，請多用Youtube查詢。\n1. 盤古樂隊：共產黨出來一個殺一個 # 一開始就推薦盤古樂隊好像太極端了，良藥苦口嘛。\n中國大陸最狂暴的反共樂團，已潤勿cue。在盤古之後就沒有這麼直球罵政府又有名的樂團了。 2006年《殺殺殺》專輯，封面是被砍頭的胡錦濤\n盤古樂隊(PunkGod)成立於1996年，來自江西，主要團員有敖博、淩淩、陳斌。專業反共20年，在中國大陸出了60張專輯，自從主唱run到瑞典後就比較少出現了，只剩網路上過去的殘渣。\n他們的音樂充滿極端「支黑」字眼，歌頌過去的反共英雄，支持台灣獨立，希望消滅中國共產黨，歌詞動不動就是「殺殺殺」。\n聽盤古樂隊的作品，會讓人以為聽到「神友」發言，或者說更接近愛講張獻忠理念的「屠支大佐」。 很多人批評盤古樂隊音樂很吵很難聽，畢竟他們是地下樂團，走龐克風的，類似台灣的閃靈樂團（林昶佐還真的跟盤古樂團互相認識，他幫助盤古的人run到瑞典）\n即使如此，盤古樂隊還是有幾首曲子好聽的，推薦曲目：\n〈中華人民共和國之墓〉：我覺得這首編曲很妙。 〈少年〉：我們沒有人有勇氣為64報仇，反倒還當起奴隸主的辯護人來了。 〈南昌市的羅漢是殺不完的〉：表達的是中國反共氣燄未滅。 〈出來一個殺一個〉：如果討厭共產黨，就唱這首歌曲發洩吧。這首編曲也很神。 〈南昌才是首都〉：裡面充滿「躺平」的哲學。南昌市是江西省的省會，盤古樂隊曾說：「盤古不是中國樂隊，祖國是贛國不是支那，不要搞錯了！」 〈我的祖國〉：艾未未紀錄片《新冠加冕》片尾曲。看似翻唱中國愛國歌曲，實質是反諷中國政府防疫無能吧。 盤古樂隊還有很多反應時事的好歌，例如〈把北京割給俄羅斯〉、〈讓普京搞死習近平〉\u0026hellip;你得慢慢去挖網路上的資料。\n2. 李志：如今這個廣場是我的墳墓 # 出身南京，全能音樂人，2004年出道，在中國被人稱為「逼哥」。過去李志曾發表一些嘲諷政府的歌曲，狂了幾年之後慘遭封殺，連領獎都不能現出真名。 還敢狂嗎？李志仍住在中國，2022年白紙抗議的時候有po文聲援。\n李志的音樂有自己的風格，不是專門反共的歌手。他寫的很多關於個人成長、中國在地情懷的歌曲，都十分受歡迎。譬如：〈這個世界會好嗎〉、〈黑色信封〉、〈山陰路的夏天〉、〈梵高先生〉、〈天空之城〉、〈關於鄭州的記憶〉、〈熱河〉。\n當然這樣的才華用來反政府更是錦上添花了！雖不直球辱罵，卻巧妙的講到人的心坎裡去。\n推薦曲目：\n〈廣場〉：未來你會被教育成一個壞人，吃喝拉撒見死不救的動物！ 〈他們〉：批評中國政府的蠻橫，還有為政府洗地五毛的嘴臉。我聽說十幾年前中國網路上五毛都是人人喊打的。 〈人民不需要自由〉：輕快的諷刺性歌曲，好像中國只要有錢了就不需要追求自由了。Youtube一句評論總結得不錯，在這個不自由的國家，李志給了表演團員最大的發揮自由。 〈回答〉：李志朗讀北島的〈回答〉詩作，配上慷慨激昂管弦樂，可以說是對中國未來的一種嚮往。「我不相信夢是假的，我不相信死無報應。」 〈1990年的春天〉：1989年過去後，大家都忘記了一切。 3. 萬能青年旅店：自由或許問心臟 # 萬能青年旅店(Omnipotent Youth Society)由董亞千、史立、姬賡、馮江組成，出身石家莊。 算是中國近代知名的獨立樂團，2013年出道至今只發過二張專輯，仍收穫許多海內外的粉絲。我覺得他們每首歌都是神曲，幾無冷場。\n萬能青年旅店更多的是用抽象詞藻，批評社會議題，所以現在還活得好好的。萬能青年旅店的歌詞優美，要往人生方向解讀，或是政治方面解讀都可以。\n推薦曲目：\n〈烏雲典當記〉：台灣引進電影《智利說不》的時候請萬能青年旅店做的一首歌，當時智利人要投票把獨裁者皮大帥弄下台，萬能青年旅店就用大量隱晦比喻的詞，加上輕快節奏描述了此事件。可以說這首歌也能套用中國現況上。 〈在這顆星球所有的酒館〉：萬能青年旅店抱持一種辯證的態度。反共真的是正確路線嗎？參加六四事件的年輕人是不是又太天真了？他們曾在陽光時務的訪談講到把「酒館」換成「廣場」，這首歌一切就說得通了。 〈殺死那個石家莊人〉：描寫中國國企員工晚年的悲慘下場，反映時代的悲劇。 〈郊眠寺〉：專輯《冀西南林路行》的最後一首歌曲。該專輯其實是連貫的概念專輯，要整張一起聽完。從最初暴烈的革命，到最後郊眠寺的悲嘆，就會知曉曲子中悲傷、無力改變的現實。「星河下電子荒原，億萬場冷暖億萬泥污人」 4. 崔健：因為我最知道你的痛苦 # 崔健，朝鮮族，中國搖滾樂之父，1986年發表第一張專輯。 他的歌曲沒有明顯反共立場，要看解讀的角度為何。\n有人認為他的歌曲是批評中國，也有人認為是恨鐵不成鋼、其實仍有愛國的情緒在內。比如〈花房姑娘〉一曲中的「我想回到老地方」就夠讓人懷疑他根本就是毛臘肉的粉絲吧。\n推薦曲目：\n〈一無所有〉：新中國成立70年了，改革開放30年了，中國人的口袋不再是一無所有了，但好像還缺了身為人的價值\u0026hellip; 〈一塊紅布〉：爭議性很大的歌曲，愛國粉紅聽了流淚，反賊聽了也會流淚，各人解讀角度不同。「紅布」對中國究竟是好還是壞呢？紅布蒙蔽雙眼了那麼久，為什麼這個國家的人還是無法覺醒？「我要永遠這樣陪伴著你，因為我最知道你的痛苦」 〈最後一槍〉：較常見的解釋是緬懷中越戰爭的陣亡將士，但這首歌曲出來隔年便爆發64事件。在中國共產黨的暴政之下，永不會有最後一槍、最後一滴淚。 5. 羅大佑：黃色的臉孔有紅色的污泥 # 台灣台北出身的客家人，1976年出道。羅大佑年輕時是關心台灣與香港前途的實力派歌手，現在老了，不那麼反共了。 儘管嗓子不是很好，但做的音樂個性很足，在台灣可說是教父級的音樂人物。\n推薦曲目：\n〈亞細亞的孤兒〉：表面上是紀念泰緬反共孤軍的事蹟，他們被共匪一路追殺到泰國，還要被迫向大陸本土做無望的反攻。從另一個角度來說，這首歌是描寫中華民國1970年代被美國斷交的憂患處境（美國當時要聯中制蘇，所以選擇跟中共建交）。 〈侏儒之歌〉：小心防範中共的善意，「馬克斯先生送走幾條人命」。 〈皇后大道東〉：香港1997年回歸中國，所以寫了這首反諷歌曲。裡面預言的事情很不幸都成真了，香港已經被中國一國兩制弄得不成人形了。 6. Beyond：哪裡哪天不再聽到在呼號的人 # 香港樂團，成員為黃貫中、葉世榮、黃家駒、黃家強，活躍於1980年代。 黃家駒死後，Beyond很多歌曲就被政治化了，其中對理想、抱負的感嘆，呼應了許多香港人追求自由的心聲。\n推薦曲目：\n〈長城〉：暗諷古老帝國對人民的壓迫。「迷信的村莊，神秘的中央」講出了中國人愚昧、甘願被宰的一面。另一方面我覺得用來形容「聽床師」也很合適XD 〈海闊天空〉：反送中運動〈願榮光歸香港〉出現前被長期視為香港地下國歌，不論是歌頌人生志向、還是追求政治自由都很適合的好歌。「背棄了理想，誰人都可以，那會怕有一天只你共我」 〈光輝歲月〉：紀念南非總統曼德拉的歌曲，讚嘆他為黑人爭取自由的舉動。「一生經過徬徨的掙扎 自信可改變未來 問誰又能做到」如果香港人、中國人未來能夠堅持爭取民主下去就好了。 7. 重塑雕像的權利：THE PIGS IN THE RIVER # 重塑雕像的權利(Re-TROS)，團員是華東、劉敏、黃錦。2005年成立的中國後龐克樂團，曲子大部分都沒有歌詞，極其抽象。 這首〈PIGS IN THE RIVER〉出自《Re-TROS》專輯，算他們比較明顯表現自身立場的歌曲。 在HK01的採訪中，主唱表示：「全世界最大的城市，中國首都，市中心，居然有人在路上被淹死了。及至2013年3月，上海松江出現數千隻死豬漂浮。兩件事非常戲劇化，像是黑色幽默的電影，對於那些困於暴雨死於「天災」的人們來說，無論豬是飛在天上還是漂在水中，都已不再有任何意義。」\n中國的魔幻現實就是如此。重塑雕像的權利倒是在《Re-TROS》的宣傳文案寫：如果可以選擇一種死亡方式，“吃雞”，追“土創”，刷抖音到死聽起來真挺不錯的。30年前波茲曼「娛樂至死」的預言似乎正加速被驗證。 「我們是否將真的毀於我們所熱愛的東西？」這種很Boring的問題沒多少人會花力氣思考。 重塑雕像的權利《Pigs in The River》MV則要用娛樂刺激的畫面讓您抽空思考一下。\n8. 汪峰：我無法忘記那個一九八九的夏夜 # 北京出生的搖滾歌手，1995年出道，至今仍活躍於歌壇。 早年曾組過樂團「鮑家街43號」，那時便已推出紀念六四事件的歌曲〈晚安北京〉、〈小鳥〉。\n汪峰創作的歌曲題材十分廣泛，風格比較偏向流行樂，所以歌曲都不會太難聽。\n其中不乏批判中國社會的歌曲，而這些單純抒發不滿的歌，中國政府一丁點都不能容忍。汪峰凡是負能量多一點的歌大多都被禁了，例如〈一百萬噸的信念〉、〈多麼完美的生活〉。\n推薦曲目：\n〈貧瘠之歌〉：明明是憤怒的歌曲，唱的卻是無力的歌詞。人們只能追尋排行榜的數字，直到麻木，忘記關心社會的一切。 〈為什麼不再快樂點〉：有點挖苦的意味。「為什麼不再快樂點，不是只有革命才能得到拯救」身邊的人和國家未來，哪個重要？習慣於生活，一切就會變好了嗎？ 〈雨天的回憶〉：1989年=六四事件，2008年=汶川大地震，2011年=溫州鐵路追撞。中國政府處理災害的方式已經不用多說了，老百姓永遠都是受苦最慘的。那些過去的事情已經過去了，但是不會忘記、更不能忘記。 〈風中的玩偶〉：「你曾經覺得你發現了那秘密的真相，可現在你發現你已像傻子一樣，你曾經教育我那樣驕傲，可現在你再也沒有膽量與生活對抗」汪峰的歌詞總是這樣充滿無奈的樣子，伴隨著輕鬆的旋律，彷彿呼應每個不得志普通人的日常。 9. 腰樂隊：沒有哪首歌能把現實唱到地獄去 # 雲南樂團，成員有劉弢、曹丹平、饒飛、楊陽。2008年發表第一張專輯《他們說忘了搖滾有問題》 腰樂隊堅持做自己的音樂，編曲很特別。他們為底層人民發聲，歌詞雖然有點抽象，但大多時候都是很直白的。\n好吧其實腰樂隊的詞一直很抽象，常常多句話連在一起，需要看人解說才能理解。中國網站上寫解說的人真的很厲害，他們要避免觸碰政治禁忌，又得想辦法說清楚腰樂隊的理念。\n他們曾經說雲南沒搖滾，他們是雲南的怪胎，一切都靠直覺。\n每張專輯背後，腰樂隊都有說不完的故事。\n推薦曲目：\n〈愛國青年日記〉：經過一長串的詭異演奏後，才一口氣把歌詞唸完。「我們可以把戰場當作一個靶場，讓骨灰和勳章冰涼的誆騙可憐的父親們」這樣真的還挺愛國的呢，那些榮耀對死人來說一切都沒意義了。 〈世界呢分鐘〉：對「民主」和生活的批判。「你愛八十年代你想操今天最後操不了今天，你在這一切的一切都發生在中國後孤獨地醒來」這首歌虛實交錯，不甘心的把理想與抱負唱了出來。 〈一個短篇〉：描寫中國少女的賣身拜金現象，以及中國領導的嘴臉。「法律是你」你說法治我都覺得有點好笑.jpg。幽暗的最高頻道還在宣傳，中國又贏麻了！這首歌也可以從中共建國歷史的方向去理解，每個旋轉跳躍都是標緻性的悲劇發生。「別擔心，沒有哪一首歌能夠，把這個現實唱到地獄去」 10. 義勇軍進行曲 # 你細品，在中國唱這首會被捕。\n畢竟中國是連馬列主義俱樂部都能關停、工人沒有罷工權的魔幻「社會主義國家」。\n起來! 不願做奴隸的人們!\n把我們的血肉, 築成我們新的長城!\n中華民族到了最危險的時候,\n每個人被迫著發出最後的吼聲. 起來! 起來! 起來!\n我們萬眾一心, 冒著敵人的炮火前進!\n冒著敵人的炮火前進! 前進! 前進! 進!\n如果中國人不能站起來，那麼誰才是心中的最大的敵人？\n我們不只要扛著紅旗反紅旗，更要懂得降下自己心中的紅旗。\n延伸閱讀 # 分享一些被404的音乐平台、歌手/乐团与歌曲/专辑 - 新 品葱\n赵国禁曲大全- 新 品葱\n六四歌曲 - 維基百科\n","date":"2023年10月5日","externalUrl":null,"permalink":"/posts/anti-chinese-communist-party-songs/","section":"Politics","summary":"很重要，你必須了解，我愛、更尊重中國跟中國人。但我有一個錯誤，我必須說現在，我很抱歉對我的錯誤，對不起…我不愛中國共產黨。\n彭載舟先生主導的四通橋抗議事件即將滿一週年了，在此分享33首好聽的反共樂團和反共歌曲，與海內外反共志士共勉之。 233，本文談的反共歌曲，不是過去蔣中正時代「反攻大陸去」的老掉牙主旋律，也不是乳包之類的惡搞歌曲，而是帶批判性質的現代音樂。這些多是搖滾樂，有支持反共的，有懷疑社會，甚至質疑反共的…部份歌曲都可以當成藝術品看待了。\n儘管台灣過去有很多自認中國人的歌手寫歌聲援反共，但我偏好中國大陸人自己寫的，才更有說服力。（雖然我還是放了羅大佑和Beyond進去列表www）\n「反共」我將定義擴大為「六四歌曲」、「反大中華主義」、「批評中國社會議題」也算在內。\n有些歌曲在中國境內已經搜尋不到了，請多用Youtube查詢。\n1. 盤古樂隊：共產黨出來一個殺一個 # 一開始就推薦盤古樂隊好像太極端了，良藥苦口嘛。\n中國大陸最狂暴的反共樂團，已潤勿cue。在盤古之後就沒有這麼直球罵政府又有名的樂團了。 2006年《殺殺殺》專輯，封面是被砍頭的胡錦濤\n盤古樂隊(PunkGod)成立於1996年，來自江西，主要團員有敖博、淩淩、陳斌。專業反共20年，在中國大陸出了60張專輯，自從主唱run到瑞典後就比較少出現了，只剩網路上過去的殘渣。\n他們的音樂充滿極端「支黑」字眼，歌頌過去的反共英雄，支持台灣獨立，希望消滅中國共產黨，歌詞動不動就是「殺殺殺」。\n","title":"推薦好聽33首，中國大陸歌手唱的反共歌曲。紀念四通橋抗議一週年","type":"politic"},{"content":"中文版\nWARNING: This article is full of rants, from a normal user perspective. In the end I will try to list some advantages of PineTab 2.\nI tried to daily-drive PineTab 2 for 3 months. I love but also hate it.\nDespite of unfinished software, I still try to use it to get things done in the TESOL graduate school. In the past, I usually brought my Linux MSI Modern 15 laptop (x86 of course) to graduate school, then I replaced my laptop with PineTab 2. ← My laptop. PineTab 2 →\nMSI Modern 15\nPineTab 2\nNote I only use PineTab2 when I go to graduate school, not in my house, where I use my desktop PC mainly for computing.\nIf you had read my initial review of PineTab 2, many of you may have known that PineTab 2 is not really a Netflix-consuming machine due to weak hardware and horrible speakers. Plus, it is not a tablet for taking handwritten notes.\n1. Environment \u0026amp; My own tweaks # ＊ You may check my latest configs of PineTab 2 in this article\nPine64 PineTab 2. 8GB/128GB. ARM based.\nOS: Arch Linux ARM (factory image) DE: GNOME 44 (Wayland) Waydroid (LineageOS 18) installed for running Android apps Use Mediatek MT7601 Wifi adapter because the built-in Wifi driver is not stable Camera and bluetooth are still not working First of all, to get auto screen rotation working, do:\nsudo pacman -S iio-sensor-proxy sudo systemctl enable --now iio-sensor-proxy This would also make the power button functional. When you press the power button, it will turn off the PineTab screen, Wifi would be disconnected; it is similar to suspended mode. And you could wake up PineTab 2 by pressing the power button or opening the keyboard case.\nFrom my observation, while using GNOME, the screen will rotate automatically when the keyboard is detached. And it will keep its orientation when the keyboard is connected.\nAlso, install Impatience to make GNOME animations faster. Bedtime mode could converts GNOME to grayscale mode for reading.\nInstall GSconnect (KDE Connect) for transfering files between my phones and PineTab 2.\nI have a script for transferring files between Waydroid and Linux.\nsudo mount --bind ~/Waydroid ~/.local/share/waydroid/data/media/0/shared_folder Having dual speakers, the speakers of PineTab 2 are bad; therefore I installed EasyEffects with Auto Gains presets to make it louder. For browsers, I choose Brave browser because it has native ARM64 builds and it is a cross-platform browser. (Thanks to Mauro Gaspari) Chromium browsers perform better than Firefox on PineTab 2.\n2. You cannot use this tablet without a keyboard # You cannot use PineTab without a keyboard. The experience of Linux touching UI is not mature, there is no good Chinese input method. Unless you use Waydroid only, which is mobile-friendly by default and has mobile-friendly Chinese input methods.\nHere comes a big issue: auto-rotation. If I turn the screen vertical, the Waydroid window will be cut-off. It seems that Waydroid cannot fit into the screen size when rotated. The only way to solve this is to restart Waydroid services. Not very intuitive.\nA tablet should be an on-going and easy-to-use device. Well it does not apply for PineTab 2. I cannot lie on my sofa and browse content only with my fingers like using an iPad. I always had the keyboard attached.\nWhen I use PineTab in class, I treat it like a laptop with a touch screen rather than a tablet.\n3. \u0026ldquo;What is that antenna?\u0026rdquo; # Most people in the school use iPads, it\u0026rsquo;s weird for people to see someone use wifi adapters on mobile devices.\nIn graduate school, I would turn on my phone\u0026rsquo;s hotspot and have PineTab 2 connected to it. Many people would come to me point at wifi adapter and ask what is this and why would you use it?\nI must not say something too technical to non-tech-savvy guys (\u0026ldquo;The kernel driver is not yet finished, it is disabled now, so I need to use a wifi adapter. Btw I use Arch\u0026rdquo;) I would just tell them \u0026ldquo;Yeah my wifi is broken\u0026rdquo;.\n\u0026ldquo;Wow that\u0026rsquo;s cool.\u0026rdquo; they would say that. Yeah always has been.\nTrue, the wifi adapter is annoying. This tablet is inconvenient to hold because you need to plug in the antenna everywhere you go. 4. PineTab 2 is laggy as hell # I had gotten used to it.\nThe laggy UI is always killing me. You must admit that the laggy animation of the system is unbearable. The performance of PineTab 2 is bad, even for watching YouTube. It takes 30 seconds to load a single page on Chromium and it is slower on Firefox. YOU MUST BE PATIENT WITH IT.\nOn the other hand Android apps in Waydroid are slow as hell, too. If there is a 50MB PDF file, it would take 1 minutes to load in Google Drive viewer. (It depends on the app, some apps are faster on Android while somes are faster on Linux)\nYou know this tablet does not support digitizer pen, but can we use stylus to draw things? Nice try! What a high latency of Waydroid! I need to wear a glove to prevent my hands from touching the screen while drawing. Forget about it, I would rather use my Wacom Intuos for painting (supported by mainline kernel). I had read Danct12\u0026rsquo;s review of his PineBook Pro, whose processor is a little bit faster than PineTab 2. He mentioned that Pinebook cannot browse \u0026ldquo;modern\u0026rdquo; websites well, but it\u0026rsquo;s acceptable for this price range.\nMoney, it is all about money. I understand PineTab 2 is meant to be a cheap and affordable device (only $209.99) for developers. Sometimes I wonder if I just want to Linux tablet; why not buy the Surface Go series? The performance is much better and more stable.\nI guess it is because PineTab 2 is one of the few real open-source tablets on the market! I am willing to tinker with interesting things like this.\nWe need more optimization for this kind of device. Or we have to learn magic from ChromeOS dev team to see how they made weak hardware run fluid.\nFor DEs, I choose GNOME. I know GNOME and KDE are too heavy for this tablet, but I don\u0026rsquo;t want to use window manager such as i3, which is too complex and inefficient.\nSay I want to switch between touch mode and PC mode seamlessly, then GNOME is the best choice, though it\u0026rsquo;s slow. The buttons are bigger, and you could swipe with your fingers between workspaces. On touch-screen devices, GNOME performs much better than KDE.\n5. So what are the advantages of PineTab 2 # It is light and powerful computer # The advantage is that it is much lighter than my laptop. Yeah, Pinetbab 2 with keyboard is only 1KG which is lighter than my laptop (1.6KG). My bag is much lighter now; I could bring more books to graduate school. ← My laptop. PineTab 2 →\nEven though PineTab2 is always laggy as hell, it seldom crashes or reboots. It never hangs on powering off (while my Arch Linux PC would hang on powering off randomly, fuck you Nvidia). To some extent, the OS of PineTab 2 is more stable now after multiple system upgrades.\nRarely, if the system freezes and doesn\u0026rsquo;t respond to touching or keyboard events, then just hold the power button to force reboot.\nThanks to GNOME, I could switch worspaces between Waydroid and real Linux environment easily with swipe gestures. For example, when I need to print some stupid old-school website which only works on IE, I could open Firefox on Linux side and use its legacy printing features to get the job done. Other than that, I could run many command-line tools to do the batch tasks. Thus, PineTab 2 is different from Android tablets and iPads. It is a real computer for powerful users.\nSuitable for taking notes and SSH # PineTab 2 is suitable for casual tasks. I seldom take handwritten notes. Most of the time, I take notes by typing in Joplin. Sometimes I would write on paper and scan them to save them in Joplin. Thus, the lack of digitizer pen is not a big problem for me. For me, SSHFS is a must, so I could ssh into my desktop PC to write my Hugo blog posts. Remote gaming is also possible with ReDroid and Sunshine.\nOther than that, I could read journals or text books using powerful Linux readers such as calibre, Okular. This tablet is a good e-book reader. The battery life is excellent # The start-up time of PineTab 2 is fast enough. It takes 30 seconds to reach the GNOME desktop (I enable auto-login). For Waydroid, it would take another 2 minutes to boot into Android.\nThe suspend mode is partially working after enabling iio sensor-proxy service, so I could turn off the screen and put it in my bag after the class. The problem is that, PineTab is always awake while it\u0026rsquo;s in my bag. The keyboard case is loose and easily pressed, causing the screen to wake up. When the screen wakes up, it will start heating.\nTherefore, during the break of each course, I will simply power off PineTab 2 instead of letting it power on in my bag.\nHow about the battery life? As I mentioned above, the suspended mode does not work well so I cannot test how long it will last in my bag. I guess it could last 6+ hours if I just browse the Internet and take notes. The good thing is, I don\u0026rsquo;t have to turn on the power-saving mode, like using my laptop to downclock and endure the lag. After all, PineTab 2 is already laggy on common tasks anyway.\nIn another test, I turned off the screen of PineTab 2 and put it on a desk in my house. I could confirm that PineTab 2 could last for 10 hours when the screen is off. See figure below. From 10 A.M to 10 P.M., battery dropped from 100% to 80%. It is incredible. I am comparing PineTab 2\u0026rsquo;s battery life with my laptop, not Android tablets, that\u0026rsquo;s why I am surprised.\nFor your reference, the battery life of my MSI Modern 15 laptop is 4 hours because the suspend mode is unreliable.\n6. Conclusion # PineTab 2 is not bad for simple tasks. I would keep using it.\nBy the way, thanks to hard-working developers from the communities, have more and more distros supporting PineTab 2! See Wiki page.\n","date":"2023-10-04","externalUrl":null,"permalink":"/en-us/posts/after-3-months-of-daily-driving-pinetab-2/","section":"Posts","summary":"中文版\nWARNING: This article is full of rants, from a normal user perspective. In the end I will try to list some advantages of PineTab 2.\nI tried to daily-drive PineTab 2 for 3 months. I love but also hate it.\nDespite of unfinished software, I still try to use it to get things done in the TESOL graduate school. In the past, I usually brought my Linux MSI Modern 15 laptop (x86 of course) to graduate school, then I replaced my laptop with PineTab 2. ← My laptop. PineTab 2 →\nMSI Modern 15\nPineTab 2\nNote I only use PineTab2 when I go to graduate school, not in my house, where I use my desktop PC mainly for computing.\nIf you had read my initial review of PineTab 2, many of you may have known that PineTab 2 is not really a Netflix-consuming machine due to weak hardware and horrible speakers. Plus, it is not a tablet for taking handwritten notes.\n1. Environment \u0026 My own tweaks # ＊ You may check my latest configs of PineTab 2 in this article\nPine64 PineTab 2. 8GB/128GB. ARM based.\nOS: Arch Linux ARM (factory image) DE: GNOME 44 (Wayland) Waydroid (LineageOS 18) installed for running Android apps Use Mediatek MT7601 Wifi adapter because the built-in Wifi driver is not stable Camera and bluetooth are still not working First of all, to get auto screen rotation working, do:\nsudo pacman -S iio-sensor-proxy sudo systemctl enable --now iio-sensor-proxy This would also make the power button functional. When you press the power button, it will turn off the PineTab screen, Wifi would be disconnected; it is similar to suspended mode. And you could wake up PineTab 2 by pressing the power button or opening the keyboard case.\nFrom my observation, while using GNOME, the screen will rotate automatically when the keyboard is detached. And it will keep its orientation when the keyboard is connected.\nAlso, install Impatience to make GNOME animations faster. Bedtime mode could converts GNOME to grayscale mode for reading.\nInstall GSconnect (KDE Connect) for transfering files between my phones and PineTab 2.\nI have a script for transferring files between Waydroid and Linux.\nsudo mount --bind ~/Waydroid ~/.local/share/waydroid/data/media/0/shared_folder Having dual speakers, the speakers of PineTab 2 are bad; therefore I installed EasyEffects with Auto Gains presets to make it louder. For browsers, I choose Brave browser because it has native ARM64 builds and it is a cross-platform browser. (Thanks to Mauro Gaspari) Chromium browsers perform better than Firefox on PineTab 2.\n2. You cannot use this tablet without a keyboard # You cannot use PineTab without a keyboard. The experience of Linux touching UI is not mature, there is no good Chinese input method. Unless you use Waydroid only, which is mobile-friendly by default and has mobile-friendly Chinese input methods.\nHere comes a big issue: auto-rotation. If I turn the screen vertical, the Waydroid window will be cut-off. It seems that Waydroid cannot fit into the screen size when rotated. ","title":"After 3 months of daily-driving tPineTab 2, ARM Linux tablet, I love but also hate it","type":"posts"},{"content":"English version\n警告：本文充斥以一般使用者角度而言不理性的批評內容 文章最後我會列出PineTab 2的優點。\n我嘗試日常使用三個月Linux平板的PineTab 2，對其又愛又恨。\n儘管系統尚未完成，我還是帶PineTab 2到教學碩士班上課。過去我都是帶MSI Modern 15筆電（當然是x86架構的），現在我改帶PineTab 2了。\n← 筆電。PineTab 2 →\nMSI Modern 15\nPineTab 2\n注意我只有去學校會用PineTab 2，在家裡我都是用Linux桌機。\n如果看過我幾個月前寫的開箱文，你應該已知曉PineTab 2因為孱弱硬體和爛喇叭，絕對不是買來看Netflix的平板，也不能拿來手寫筆記。\n1. 系統環境 \u0026amp; 一點調校 # ＊ 你可以在這篇文章參看我最新的使用配置。\nPine64 PineTab 2，8GB/128GB，ARM架構版。\n作業系統: Arch Linux ARM (原廠系統) 桌面環境: GNOME 44 (Wayland) 安裝Waydroid容器 (LineageOS 18) 用來跑Android APP 外接Mediatek MT7601 Wifi網路卡，因為內建Wifi驅動尚不穩定 相機和藍芽驅動還沒寫好 要讓螢幕旋轉正常運作，需安裝以下套件：\nsudo pacman -S iio-sensor-proxy sudo systemctl enable --now iio-sensor-proxy 安裝此套件後電源鍵亦可正常運作了，按下電源鍵就會關閉螢幕，Wifi會斷線，跟暫停模式很像。要喚醒的話就是按一下鍵盤，或是翻開鍵盤蓋。\n根據我的觀察，GNOME桌面會自動偵測鍵盤是否連接著，如果沒鍵盤自動旋轉就會作動，一接上鍵盤螢幕方向則是固定的。\n接著安裝Impatience讓GNOME的動畫速度快些。Bedtime mode可讓螢幕全灰。\n安裝GSconnect (KDE Connect) 用於在手機與平板之間無線傳送檔案。\n我有一個在Linux與Waydroid之間傳檔案的指令稿：\nsudo mount --bind ~/Waydroid ~/.local/share/waydroid/data/media/0/shared_folder 即使擁有二個揚聲器，PineTab 2的喇叭還是很破，我安裝EasyEffects將音量變大。 瀏覽器部份，因之前有叫做Mauro Gaspari的人留言推薦，我便改用Brave了。它原生支援ARM64架構，還有跨平台同步功能，且Chromium系瀏覽器在PineTab 2要比Firefox快。\n2. 這平板沒有鍵盤不行 # PineTab 2沒鍵盤根本用不下去，Linux觸控界面還不成熟，沒有好的中文觸控輸入法。按鍵輸入法我是用Fcitx5＋拼音，因為鍵盤沒有標示注音。\n除非你只使用Waydroid，那樣才有好的觸控界面和中文輸入法。\n但Waydroid有個大問題：自動旋轉。如果我把平板打直，Waydroid的視窗會切半，並不會跟著填滿。 解決此問題的唯一方法是重新啟動Waydroid服務，真是不直覺。\n平板應該要是輕鬆攜帶、便於使用的裝置，看來PineTab 2不適用。我不能像用iPad那樣，躺在沙發上用手指瀏覽內容。用PineTab 2時我常常是一直裝著鍵盤的。\n在學校用PineTab 2的時候，我都把它當作有觸控功能的筆電用，偶爾可以觸控很好玩，但沒有鍵盤根本用不下去。\n3. 「那是什麼天線？」 # 大多數人在學校都用iPad，看到有人在行動裝置用外接網路卡都會覺得奇怪吧。\n研究所上課前，我會將手機開熱點給PineTab 2連。然後有些人就會過來，指著網路卡說：「這是什麼？」\n我可不能跟一般人說太高科技的內容（「啊啊，系統的Wifi核心模組驅動還沒完成，現在是停用狀態，所以我要用Wifi網路卡。順帶一提我用Arch Linux」）我都直接說「是的我的Wifi壞了」\n「哇，真酷。」一直都是如此。\n是的，Wifi網路卡很礙眼。走到哪都要連著天線，單純拿著平板，一根天線垂在那邊都會感到不適。 4. PineTab 2總是卡得要死 # 我已經習慣了。\nUI十分之卡，常常讓我很惱火。緩慢的系統動畫讓人無法忍受。PineTab 2的性能也很差，看Youtube Chromium需要花30秒載入網頁，Firefox還更慢。要非常有耐心才能使用這台平板。\n另一方面Waydroid的Android APP也是慢得要死，要是用Google Drive開50MB的PDF檔案，就要等1分鐘才跑得出來。（不過其實看APP啦，有的程式Android版比較快，有的程式Linux版比較快）\n你知道這台平板是不支援手寫筆的，那用傳統觸控筆畫畫總行了吧？想得美，Waydroid延遲高得要命！我還得戴手套防止誤觸螢幕呢。要這樣繪圖，我還寧願外接Wacom Intuos繪圖板來畫畫（主線核心有支援）。 我之前讀過Danct12的Pinebook Pro使用心得，那台筆電的處理器也是Rockchip的，比PineTab 2快一些些。他提到PineBook無法順暢地瀏覽「現代」的網頁，但在該價格帶還可以接受。\n錢，一切都是錢的問題，我了解PineTab 2本就是設計給開發者購買的廉價實惠平板，才6000台幣而已。有時我會想，如果只是想要臺Linux平板，何不買Surface Go就好呢？效能好多了，生態還更穩定。\n我想是因為PineTab 2是市場上少數真正開源平板的緣故吧！我喜歡搗鼓有趣的東西。\n我們需要對這種裝置做更多優化，或者我們得向ChromeOS的開發團隊取經，了解他們是怎樣讓低階硬體跑得順暢的。\n桌面環境我換成GNOME。我知道GNOME和KDE對PineTab 2來說太重型了，但不想因此去用i3這類視窗管理員，太複雜太沒效率了。\n欲方便在觸控與PC模式間無縫切換，GNOME就是最好選擇，儘管很慢。GNOME的按鈕比較大，可以用手勢切換工作區。在觸控為主的裝置上，GNOME表現得比KDE要好。\n5. 那PineTab 2究竟有什麼優點 # 又輕又強大的電腦 # PineTab 2的最大優勢就是重量了，即使裝上鍵盤也不到1KG，比1.6KG的筆電要輕多了。書包更輕了，可以帶更多書去學校了。 ← 筆電。PineTab 2 →\n儘管PineTab 2總是慢悠悠的，但幾乎沒崩潰或自己重開機過。它也不會在關機的時候卡住（我的Arch Linux電腦會隨機卡住，幹你Nvidia）。某種程度上來說，PineTab 2在幾次系統更新後已經算很穩定了。\n在少數情況下，系統會卡死，觸控按鍵盤都沒反應，這時只需長按電源鍵強制重開機即可。\n多虧有GNOME，在Android與Linux的環境之間切換十分簡單，用手勢左右滑動切換工作區就行了。比如，有時候要開愚蠢的老舊學校網頁，只能在IE正常列印的情況下，我可以切換到Linux環境，用Firefox類似IE的列印版面功能，成功列印網頁。在此之外，我可以用終端機跑一些批次處理任務。因此，PineTab 2是跟一般Android平板/iPad不一樣的東西，對進階用戶來說它是一台強大的電腦。\n適合手打筆記與SSH操作 # PineTab 2還是可以勝任輕度工作的。我不太手寫筆記，大部分我是打在Joplin。如果要用寫的話，之後我會把寫在紙上的內容拍下來存到Joplin，所以PineTab 2不支援手寫筆不是大問題。 在外用電腦的時候，SSHFS是必須品，這樣我才能遠端SSH到桌機，撰寫Hugo部落格文章。除此之外，還可以靠ReDroid或Sunshine遠端遊戲。\n別忘了最基本的功能，PineTab 2可以用calibre和Okular這類強大工具讀期刊和課本，是台還行的電子書閱讀器。 續航力很棒 # PineTab 2開機算快了，30秒進GNOME桌面（我有開自動登入）至於Waydroid的部份，需要再等2分鐘才會開機進Android。\n啟用iio sensor-proxy後暫停模式部份能用了，我便能將平板螢幕關閉，在下課後把他放到包包待機吧。但問題在於，PineTab 2的鍵盤套太鬆了，包包裡稍微碰撞一下就會按到鍵盤，導致螢幕被喚醒，喚醒之後平板就會開始發熱。\n所以在課程空檔間，我都是直接將PineTab 2關機才放進包包，不讓它一直開著。\n續航力因為上述原因我難以測量，但從耗電趨勢來看，螢幕一直亮著，看網頁打打字，撐6小時應該綽綽有餘。不用像x86筆電一樣開省電模式降頻死撐又忍受卡頓，反正PineTab 2本來操作就已經卡卡的了。\n後來我做了一個測試，將螢幕關閉後，平放在家裡桌子上，確保不會意外喚醒。在這裡我可以確認，PineTab 2待機可以撐10小時以上，參考下表，從早上10點到晚上10點，電量才掉了20%而已！很棒。 注意我這裡是跟筆電比較，不是市面上的Android平板，我才會如此驚訝。\n供參考：我的MSI Modern 15無法使用暫停模式，續航力只有4小時。\n6. 結論 # 要做輕度簡單任務，PineTab 2的表現不算壞。我會繼續用下去。\n在這裡說一下，感謝社群裡辛勤的開發者！現在有越來越多Linux發行版支援PineTab 2了！請造訪Wiki頁面了解。\n","date":"2023年10月4日","externalUrl":null,"permalink":"/posts/after-3-months-of-daily-driving-pinetab-2/","section":"Unboxings","summary":"English version\n警告：本文充斥以一般使用者角度而言不理性的批評內容 文章最後我會列出PineTab 2的優點。\n我嘗試日常使用三個月Linux平板的PineTab 2，對其又愛又恨。\n儘管系統尚未完成，我還是帶PineTab 2到教學碩士班上課。過去我都是帶MSI Modern 15筆電（當然是x86架構的），現在我改帶PineTab 2了。\n← 筆電。PineTab 2 →\nMSI Modern 15\nPineTab 2\n注意我只有去學校會用PineTab 2，在家裡我都是用Linux桌機。\n如果看過我幾個月前寫的開箱文，你應該已知曉PineTab 2因為孱弱硬體和爛喇叭，絕對不是買來看Netflix的平板，也不能拿來手寫筆記。\n1. 系統環境 \u0026 一點調校 # ＊ 你可以在這篇文章參看我最新的使用配置。\nPine64 PineTab 2，8GB/128GB，ARM架構版。\n作業系統: Arch Linux ARM (原廠系統) 桌面環境: GNOME 44 (Wayland) 安裝Waydroid容器 (LineageOS 18) 用來跑Android APP 外接Mediatek MT7601 Wifi網路卡，因為內建Wifi驅動尚不穩定 相機和藍芽驅動還沒寫好 要讓螢幕旋轉正常運作，需安裝以下套件：\nsudo pacman -S iio-sensor-proxy sudo systemctl enable --now iio-sensor-proxy 安裝此套件後電源鍵亦可正常運作了，按下電源鍵就會關閉螢幕，Wifi會斷線，跟暫停模式很像。要喚醒的話就是按一下鍵盤，或是翻開鍵盤蓋。\n","title":"三個月使用ARM Linux平板兼筆電「PineTab 2」的感想，對其又愛又恨","type":"unboxing"},{"content":"幽默之家r/Youmo是以鼠人為主題的Reddit sub，用戶自稱默友，繼承部份r/chonglangtv的精神。 注意sub名字是youmo，不是yomou喔。我以前常常打錯，導致跑到東方Project的sub。\nr/Youmo存在時間： 2022年8月 - 2023年9月\n1. 轉型生活sub，禁止賽博屠支 # 愛看中國魔幻新聞的網友悲憤了。\n隨著2022年6月，r/CLTV爆破，進入所謂「後沖浪時代」，有的出逃到其他網站，有的留下來繼續抗爭，有人逃到r/TZTV，有人選擇湧入r/Youmo。\n然而在2023年1月26日，泛沖浪系的r/YoumoMod宣佈轉型為「生活sub」。\nMod的大意就是：「以後禁止鍵政拷打支那人，受不了的的可以去r/TZTV。明天開始清場。」 放話：「你們還鬧得過坦克？」 用Automod的帳號發文就不怕被噓爆，真是高招。下面浪人大力拷打Mod，但也沒什麼卵用。\n此時一名神友路過：\n支那人都是在野的共產黨，一得到高位就會官癮發作，開始亂ban人。如果我是Mod，大概每小時就要發一次聖旨。\nr/Youmo的前生r/YoumoTV也是被爆破，或許導致Mod想跟神友明確切割關係，板規寫明「禁止賽博屠支」，簡單來說鍵政的內容必須大幅減少。\n在宣佈轉型生活sub後，果然又有人建立r/real_youmo的板塊，我們來看看要多久才會被權蛆佔領。(結果還沒等到那時候，r/real_youmo在2023/2/20就被Reddit封了)\n之前還出現過要學太平天國分封2000王的sub，人人都有Mod當\u0026hellip;可是沒人有辦法超過r/Youmo。\nYoumo轉型事件導致r/TZTV的屠支大佐變多，加速了其被封禁的速度。\n2. 《别成为一名迪蛆》 # 《別成為一名迪蛆》是r/Youmo Mod回應轉型公告的一篇文章，置頂於sub。\n迪蛆的特征 # 与迪友不同，迪蛆特指红迪简中社区中的巨魔（Troll），是集魔怔、低能、虚荣、傲慢四宗罪为一体的究极生物\n一个迪蛆的简单画像：“傻逼滴答嘟滚” ———北极鲶鱼，来自iphone14 pro max。这时，路过的迪友看到了，马上跑上跟前“霍霍霍，好兄弟你也图纸啊！”“我跟你说，我是红迪来的，红迪你知道吧？那的人可潮了，我经常在上面和别人一起图纸呢！”“你是？”北极鲶鱼充满疑惑，看了眼这名热情到弱智的迪友“我可是浪人！”这名迪友自豪的拍了拍胸脯，生怕对方没理解，继续补充到：“浪人你不知道？神奈川冲浪里！198964、习近平你妈大笔人人插、穷蛆滚、织女欠栓了！”迪友越说越起劲，“你赶紧来红迪和我们一起浪的批爆吧！”“神经病，你语言混乱去看看医生”，北极鲶鱼以极其怜悯的眼神看了眼这名迪友，开着超跑一溜烟的走了。只留下迪友一人留在原地复读“哈哈哈，你也是浪人啊”“超管司马了！”“唉我们神系真的没落了”\n魔怔 —— 三句不离支，张口就是图 特点表现在：离了支黑烂梗和葱味键政不会说话\n有些贴子，看完图一乐就好了，迪蛆喜欢上纲上线分析什么是”支性“，甚至扣字发一坨和狗屎一样长的贴子来分析”支性“的来源、”支性“的特征等等把一些明显是玩笑话，说出来只为了图一乐的话不断复读，复读到后面自己都当真了，于是开始严肃讨论起这些东西来，四处拼凑一些来源trust me bro的论据来证明这些玩笑话是真理。可以说既不幽默，也不智慧，既没让人收获快乐，也没让人收获知识\n典型例子：短文、论支性、以前发在TZTV上的，复刻一下\n迪蛆很喜欢鉴定别人的支性，哪怕贴子或评论与迪蛆所谓的支性鸡巴毛关系都没有，迪蛆也要扣出几个支黑烂梗来\n迪蛆喜欢瞎骂，并且把瞎骂当作一种潮流。遇到和自己观点不相同的人先扣上支性的帽子\n小结：脑子如同米粒般大小，语言能力甚至不如文心一言\n低能 —— 将各种复杂的事物标签化 特点表现在：喜欢在网络上搞各种cosplay\n迪蛆很喜欢cosplay。喜欢扣着“神友”、“浪人”之类的皮套不放，接不上它们烂梗的就骂别人“引流狗”，殊不知真没人在意你那几个烂梗，天天复读你那逼资历还真当回事了。而且经常因为别人不够魔怔而开除别人所谓的“浪籍”\n迪蛆政治漏阴癖很严重。生怕别人不知道它那点鸡巴主义，喜欢随地大小便（不分场合到处键政)，葱味和集美海鲜味一样冲\n迪蛆幽默感很低。迪蛆所谓的节目效果就是“支支图图”，或者是搬运狗屎进来让大家一起批判。简单的meme，令人会心一笑的梗图、抽象小视频等等都是幽默搞笑的一部分，但是迪蛆理解不了\n虚荣 —— 拐弯抹角的炫 特点表现在：生怕别人不知道他的学历、资产等等\n迪蛆有很多喜欢自称“鼠鼠”的富哥小留（这个不用举例）\n迪蛆有很多做题蛆，嘴上骂着做题蛆，但心里憋不住让别人知道他是985、211、海外本硕，生怕别人不知道他很会做题\n傲慢 —— 自私自利的网络流氓 特点表现在：在网络上喜欢以自我为中心\n迪蛆喜欢将不如它魔怔的人称之为太监\n迪蛆毫无自知之明，有些时候甚至不知道在说自己\n迪蛆喜欢鸠占鹊巢，一边向往毫无底线的言论自由，一边又赖着不走。它们无法自发建立秩序，只会消费别人的秩序，简单来说哪里人多往哪里挤。哪怕复读“新家圈我”中的迪蛆里有一半自己去建设新家，也不会像过街老鼠一样被人到处碾\n小结：互联网没加盖，不想玩可以滚\n如何避免成为一名迪蛆？ # 很简单：\n上网冲浪不要cosplay各种皮套，这会显得你很低龄\n不要复读烂梗，这一点也不潮\n保持友善的态度，有基本的底线\n很幽默的是，当你完成以上几点，你就成为迪蛆嘴里的太监了。并且你将本文的迪蛆替换成粉蛆重新看一遍，你会发现没什么不同。\n3. r/Youmo變incel聚集地，鴨鴨來救援 # r/Youmo的圖示是代表神友/鼠人的老鼠，在自宮後失去鍵政能力，只剩下鼠人屬性。\n但不得不說Youmo sub右側banner的老鼠真的蠻可愛的。 板標：\n用幽默解构一切。\n由於sub名字叫做幽默，所以這裡的人會自稱「默友」，sub代表色為黃色。 該sub的創舉是可在帳號名稱後加上「IP屬地」（呼應知乎顯示IP屬地的政策）。例如IP屬地：河南，俺是河南人，俺不懂公共交通！！\n後來甚至加入百度貼吧等級制度：從Lv. 1 翻牆窮蛆到Lv. 12 幽默老嗨都有。\n盤點十大XXX # 雖然在轉型後鍵政話題少了很多，講支那人就ban，Mod認定「不夠幽默」的帖子也ban，導致一些默友出走。（幽默的Mod曾說過：幽默是主觀的）\n幾個月觀察下來，r/Youmo其實也沒有變得那麼太監，人還越來越多。即使默友不能拷打支那人，節目效果還是有的。\n講難聽點，沒有了鍵政卻還是口無遮攔的浪人很容易變成一群臭國男，等同英文圈的incel。發帖水平變成百度貼吧的「航吧」、「抗帶吧」那樣。\n默友每天分享的基本上是生活小事，往往跟性有關。\n地域黑、喝口膠盤點帖還是有，比方說:\n為什麼不要跟東baby說話 都給東百狗鬧麻了 盤點二次元十大爛褲襠 盤點二次元十大好褲襠 還有默友會寫一些關於鼠鼠失敗人生的小作文。\n雖然Reddit沒有百度貼吧的只看樓主功能，默友還是有辦法用一條一條評論的方式玩盤點帖。\n拷打集美 # 另一個看點就是拷打集美了，由於默友仇女緣故，常常發帖對牆內小仙女的行為指手畫腳，比方說轉載小紅書上面集美的愚蠢發言，大夥就會開始嘲笑。\n還有經典的「集美大戰電腦」系列，轉載大量不懂電腦的女生求助帖子到r/Youmo，達成節目效果。\n大概只有轉載NSFW影片過來，默友才會閉嘴\u0026hellip;不過至少也得是白媽媽的才行，支女反而可能會遭致嘲諷。\n鴨鴨智能的批爆 # 2023年Youmo正式實裝基於Bing Sydney的聊天機器人「鴨鴨」，取代Reddit的AutoModerator，負責發搞笑回覆。\n使用AutoModerator發搞笑回覆的作法，從r/chonglangtv時期就有了。AutoModerator能自動管板，也可以自動偵測關鍵字做回覆，但機械性回覆的AutoMod怎能比得上AI聊天模型呢！\n鴨鴨會真的分析帖子內容寫一段默友風格的回覆，總能引起大夥一陣歡笑，還會給生活建議。\n不過AI有時候也會變成瞎罵蛆亂回覆就是了。 r/hangkongmujian的回復機器人「兔兔」，即是復刻r/Youmo的鴨鴨。\nYoumo的Mod還曾經一次實裝三個機器人，引爆智械危機，幾個機器人在評論區互罵好幾回合，最終Mod將其撤銷，只剩下鴨鴨。\n另外，鴨鴨有開源原始碼的，之後其他sub群起效仿實裝。\n4. 輝！r/Youmo毀於洋集美舉報 # 默友愛跟集美對抗，最後也是毀於集美之手呀。\n聽說以前的沖浪系sub都有集美參與舉報，這次反而是洋人親自下場。 2023年8月，有個默友發了想約未成年少女出來的帖子\u0026hellip;米線！其實這種聊黃色的帖子在r/Youmo很常見，默友不小心暴露出輝老嗨本色。\n好死不死該帖被洋集美看到，在大型sub r/China發文詢問，隨後引來Reddit大Mod注意。\n即使默友拼命解釋這是黑色幽默，r/Youmo也大力封禁NSFW內容，可還是擋不住被封的命運。\n此事被蔥輪TV的浪友大肆嘲笑。\n之後r/Youmu的人紛紛逃往其他sub，有的轉往航空母艦吧、軍武次位面吧。\n跑到r/real_China_irl的默友還說：「我一直都是\u0026hellip;瑞友啊」\n另請參閱：還活著的Reddit沖浪TV新家\n","date":"2023年10月4日","externalUrl":null,"permalink":"/posts/the-fall-of-youmo-on-reddit/","section":"Politics","summary":"幽默之家r/Youmo是以鼠人為主題的Reddit sub，用戶自稱默友，繼承部份r/chonglangtv的精神。 注意sub名字是youmo，不是yomou喔。我以前常常打錯，導致跑到東方Project的sub。\nr/Youmo存在時間： 2022年8月 - 2023年9月\n1. 轉型生活sub，禁止賽博屠支 # 愛看中國魔幻新聞的網友悲憤了。\n隨著2022年6月，r/CLTV爆破，進入所謂「後沖浪時代」，有的出逃到其他網站，有的留下來繼續抗爭，有人逃到r/TZTV，有人選擇湧入r/Youmo。\n然而在2023年1月26日，泛沖浪系的r/YoumoMod宣佈轉型為「生活sub」。\nMod的大意就是：「以後禁止鍵政拷打支那人，受不了的的可以去r/TZTV。明天開始清場。」 放話：「你們還鬧得過坦克？」 用Automod的帳號發文就不怕被噓爆，真是高招。下面浪人大力拷打Mod，但也沒什麼卵用。\n此時一名神友路過：\n支那人都是在野的共產黨，一得到高位就會官癮發作，開始亂ban人。如果我是Mod，大概每小時就要發一次聖旨。\nr/Youmo的前生r/YoumoTV也是被爆破，或許導致Mod想跟神友明確切割關係，板規寫明「禁止賽博屠支」，簡單來說鍵政的內容必須大幅減少。\n","title":"【冲浪TV專題5】幽默之家r/Youmo沒了，慘遭洋人集美爆破，何以為家","type":"politic"},{"content":"","date":"2023年10月3日","externalUrl":null,"permalink":"/tags/pingtung/","section":"標籤","summary":"","title":"PingTung","type":"tags"},{"content":"學習英文的歷程（一）\n當我跟別人說我喜歡寫Essay的時候，他們大半會露出不解的表情，現在讓我告訴你為什麼。\n這篇文章很大程度是大學生活的自述，偏向學術，有切身之痛所以才記得那麼清楚。\n屏東大學是學店嗎？這要看造化。雖然屏東大學確實是後段學校，如果願意提昇自己，就只有萊爾富屏東大學店而已，沒有屏東大學店。\n大學生活最大的收穫，就是Essay了，學寫Essay好處多多，影響改變我一生寫文章的態度，讓我現在可以站在這裡（好像太誇張了）。\n可是懂得寫文章就真的「學好」英文了嗎？\n(文章中間的粗體字是我認為的學英文訣竅。)\n1. 應用英語學系真的好雜亂 # 有四年在熱的要命的屏東度過，所以讓我先梳理一下狀況。\n大學如了國中的願望，讀了英語科系\u0026hellip;國中班導妳應該為我驕傲（X）。\n我學測成績只有49級分，全部靠文科拉起來。因只有英語一項專長，鎖定一些後段學校填，頂標臺南大學，底標金門大學。高中老師頂多給全英文的備審一點意見，沒辦法給我們什麼面試幫助，我等於去送死的。\n屏東大學因為是三個學校合併的，導致保留二個英語學系。英語學系需要面試，應用英語學系只看備審資料。最後真的能面試的就二間。\n第一站，屏東大學英語學系，面試的時候自我介紹口吃的可怕，國小之後就沒怎麼練習口說了，現出原形，完全大失敗。 第二站，臺東大學英美語文學系。感謝我爸特地載我跨越南迴公路到台東大學面試，有了之前的經驗後，面試比較能跟教授談笑風生了，反正內容也只是話家常而已。聽說後來是正取。 最後依照志願排序，撿備取14名上的屏東大學「應用英語學系」，不用搬到臺東住了\u0026hellip;雖然臺東大學面試也算不錯的經歷啦。 「應用」英語學系的課程一言難盡，學得很雜，學商業應用，又學教育、文學、翻譯、貿易、學術、日文，到頭來學得不算很精。教授有超級認真備課的，也有聊天聊三節的。跟英語學系比起來，我們系是一個「外師」都沒有，只有一個ABC。\n根據演講課教授的說法，曾經學校考慮合併二個英語系的資源，她專門寫長文去抗議，說二者根本不一樣。她還用英國學者的文章反諷我，說我們系沒有「外師」不是大問題，因為很多外國人都只是來台灣教英文\u0026quot;struggle to survive\u0026quot;而已。喔不過她跟對面英語系外師的關係也不差就是了。\n大三大四我們學校沒強迫分組，課程都是隨便修，這導致了未來出路完全憑個人造化。雖說決定未來本就是大學生應該具備的能力，不應該是學校幫你決定的。 在我看來，很多同學未來都走貿易、觀光相關的產業，不然就考老師，讀研究所的很少數。我曾經因為打工緣故，腦波一弱想走觀光產業，後來卻退出學校給的飯店後台實習機會，「想通」後寧願去寫研究專題換取畢業資格，進而考研究所。\n真是對不起教授，我向他這樣表示。那名負責媒合工作機會的教授應該心裡恨死我了，他都有辦法幫同學搞到高雄展覽館的實習機會了，竟然有草莓族連幾個月的打雜工作都忍不下去。他說我是十年來第一個幹這種事的學生，敗壞學校名譽。所幸當時是在約定好的試用期內退出，對學校和業者雙方的損失不算大。\n專門介紹實習工作的教授，曾酸溜溜的在班上說：「學長姐考空姐、空少，還有在航運業工作的，薪水都很不錯。相較之下考研究所的學長姐沒一個混得好的。」\n2. 補充底層知識，商業英文協助開口說 # 大學期間配合學校的專案到附近國小打工，做小學生課後英語輔導長達四年，讓我有了日後可以寫進履歷的資本。\n我可以肯定的是，儘管總得接觸，我還是不喜歡語言學，語言學可以分成語音學、句法學、音韻學、語用學，在那邊畫樹狀圖拆句子太複雜了。 圖源：https://yeslingua.blogspot.com/2018/07/blog-post.html\n恰巧我遇到一位從小受到「英語句法分析」摧殘的同學，他雖然讀高職卻對文法有莫名執著，語言學自然也學得很溜。反而是讀高職的他重新教了讀高中的我「五大句型」的概念，這個我以前都沒鳥過英文還是考得好好的啊。\n此時我才真正意識到，英文文法是一個實在存在的東西，學好英語更要把它當成學問研究 。原來我對文法一直沒概念，認為是繁文縟節的鬼東西，永遠靠感覺寫，不知道子句為何，音標也常常標不出來。\n我意識到我的問題不只口說，還有對英文基本觀念不理解的問題。這樣萬一我沒學到一技之長（例如翻譯工作），英文底子又不好，恐怕連老師都沒得當了！\n由於要教小學生，要有英文文法基本概念，這促使我在後來的專業課程，將一些底層英語概念快速惡補完成。就算是不喜歡的語言學，還是得修過去。\n令人惋歎的是，那位文法控同學本來要考老師，最後卻因現實經濟考量，改讀警專了。\n在修課程選擇上，我對商業英文、翻譯課程不是很感興趣，西洋文學、教育理論可有趣多了呢。尤其文學課講到的很多神話人物，我在《Fate/Grand Order》裡面都能見到。\n商業英文課程對我的貢獻，算是修復了高中以來口說的問題，多上台講話，自然就解決了不敢講話的問題。在Covid-19爆發之前，還能跟泰國、越南來的留學生聊天。\n根據我一個通識課認識的同學所言，針對成人辦的英文補習班也開始有開口說課程了。如果日常沒有說英文的環境，那麼參加那些課程也是可以的。\n但論真正改善我演講口條的，還得是演講課。\n3. 學Essay如何重塑我對英文的認知，乃至於改善邏輯思考 # 大學第三年，出現對我學英語重大的影響，就是學習寫Essay了，這個影響不亞於國中英檢時的開竅。\n比較特別的是，本系有「演講課」，是將「寫Essay」跟「演講溝通」混在一起的課，該演講課是公認為最難的科目，還要上一整年。（單純教Essay作文的有另一堂課，難度低很多）\n本來我猜我會恨死教授，殊不知日後我變得跟她關係很好。\n教授是留英博士，上課方式很簡單：每個人研究一個global issue（例如死刑存廢、紅燈區、電子垃圾、蜜蜂消失、核能、再生能源、安樂死、代理孕母、食物浪費、快時尚、萊豬），寫成三段的Essay，適當的加入opening和closing，還要有自己的argument。 寫起來就是像這篇的格式：Should Red Light District be set up in Taiwan?\n之所以指定要global issue，是教授認為以前讓同學free writing效果不佳，有人曾報告該不該在電影院吃鹹酥雞？教授哭笑不得。\n我們這一屆之前還有人報告說台灣跟美國買牛肉可以「增進國際關係」之類的空話，瞬間被教授罵翻。\n你對議題支持或反對，必須寫得清清楚楚，不容打迷糊仗，並且支持的理由應當基於事實與數據。 整個學期就是輪流上台演講五分鐘，配合投影片報告。呵呵，以為報告完就沒事了？教授把在外國研究所的教學方法帶到這裡，報告完後學生要接受教授拷問，她會質疑邏輯不合理處，像議員質詢一樣拷問，嚴重的話會要求重寫。所以不是說英文嘴上講的流利就行了，她還會看你的內容來評價。\n每次演講完，氣氛就像這樣嚴肅，教授可能隨時嗆爆你。有好幾個同學遭受過她高分貝音量的襲擊。 在這邊提一下，演講課教授亦是我們系上「英語演講比賽」的舉辦者，她不會管演講者講的有多流暢多慷慨激昂，她在乎的是內容是否合邏輯才給高分。\n下課後苦難還沒結束，每個同學要按照教授設計的檢討單，逐一勾選自己哪個要求沒做到。大概是要學生自己給自己打分數，以示自我負責吧。 同學之間還要寫peer review，檢討演講者的優缺點。 教授很堅持小班制上課，這樣才保持教學品質，一個學期每個人至少都能報告到3次。學校為省錢要逼她合併成大班制，她鳥都不鳥。在讀研究所後我認為她確實是對的。\n這樣嚴厲的上課方式，額，或者說遠遠高過系上其他教授的要求，讓不少同學倍感壓力，還有人說因此每週睡不著覺的。\n我沒有到寫不出Essay的地步，畢竟同學會互相幫忙，我也沒被教授真的電爆過，有時候我還會在課堂回嗆她幾句。可是因為常常在想邏輯問題，致使我日常變得有點歇斯底里，情緒更加敏感，連帶造成了我在Pixiv畫18禁圖來發洩巨大的壓力。\n誠然，教授怕我們寫不出來Essay，還是有給幫助：她發給我們一些講義，列出了過去學長姐協助整理的常用辯論句型，例如\u0026quot;It is true that\u0026hellip;but\u0026hellip;\u0026quot;，還有supporting sentences的概念。教授還建議，欲檢查邏輯問題，可以把文章自己翻成中文讀一遍。 聽說學長姐認為教授的講義很好用，連考上研究所都還留著！嗯我確實也這麼做了。\n我認為這個教學方法很棒，就算單純照抄，也有助於訓練「邏輯」和辯論技巧，演講課帶來的最大價值就在這裡了，critical thinking能力大提昇。\n我修過邏輯與哲學的通識課，除了計算邏輯真假值外，講到一些常見謬誤 (fallacy) 對我的思考也很有幫助，但那只是基本概念而已。我認為學Essay，以及演講課程的要求，將我的邏輯「賦形」了，讓我對寫文章更有一個完整概念。\n很多人批評Essay是英文的八股文，但 我要說學英語Essay真的是一個不錯的開始，從informative到agrumentive，各種文體十分之實用。除了讓文章完整外，還訓練人的思考方式。使人擁有critical thinking，懂得注意上下文的關係。我終於曉得了從outline到成文的步驟，知道先列出大綱再規劃細項的作文方法！這個是未來寫論文要具備的能力，當時還不知道。\n以前寫中文作文只知道起承轉合，卻不知道邏輯的存在，所以導致文章架構鬆散，文章憑感覺寫，以為模仿古代文人寫的文謅謅就是好作文。在學到英文作文的邏輯元素之後，才讓我對寫作文的視野改觀，現在很難有英文作文難得倒我了。將英文Essay的東西套到日常中文寫作後，我的中文寫作能力進步了，知道怎麼建構文章，起承轉合現在是「有頭有尾」了！Topic sentence和conclusion sentence都是好用的工具。\n這樣生搬硬套真的可行嗎？嘿效果不錯，演講課文章寫不出來的時候，我會讀哲學家的理念放鬆。古代哲學家發展出的三段論法不就跟Essay很像嗎？ 我寫的一篇討論文學、音樂、美術關係的文章還受到中文系教「文學概論」的教授表揚。學習Essay格式並加以活用，可讓文章更有說服力呀。\n演講課對報告也有幫助，這恐怖的一年訓練改善了我的口條，在此之後我上台報告再也不會顫抖，不會看著螢幕結巴的讀稿了。雖然偶爾還是會忘詞，但我已經知道如何用肢體語言，配合強化過的邏輯，清楚表達我的觀點。\n4. 一年的準論文先修，專題研究 # 我覺得我大概是變成抖M了，才會找演講課的教授做專題。但系上也沒其他人選了，畢竟只有她最有經驗。前面說過，我們系有99%的人都是去實習拿畢業資格的，寫專題的人才是奇葩。\n幸好還有一個不怕死的同學跟我同時間報名做專題，我們雖然各寫各的但可以互相討論。\n寫專題就已經接近在做論文了，不過是只有一年時間的超級濃縮版「準論文」，目的在訓練學生寫作，且寫的題目日後搞不好還可以改寫成正式論文。按照教授的專業，專題研究兒童文學，前後寫了30幾頁A4紙。\n因為喜歡Pink Floyd，我研究的書目選了經典文學《The Wind in the Willows》，Pink Floyd的專輯《The Piper at the Gates of Dawn》就是出自這本書。可惜因為專題體裁正式，我不能在專題正文明說前述理由。 寫專題\u0026hellip;那又是另一個長長的故事了，寫專題的心路歷程有在這篇講過：《柳林風聲》的兒童文學元素分析\n這一年算是速成論文班，每週meeting一次，只有幾十分鐘。有時候教授晚上會電話「續攤」順便跟我靠北學校的事情。\n教授用填坑的方式指定我們從第二章開始寫，閱讀指定書目補上文學的理論。討論的時候她繼承在英國唸博士班的習慣，不給我們標準答案，必須自己先讀過才能跟她辯論，她不會直接告訴我們「可不可以這樣做」。\n專題第四章讓我們自由發揮。畢竟研究的是書本，有了理論後我只要想辦法套用理論解釋書中內容就可以了。\n寫完字最多的章節後，再讓我們看範本，了解如何用學術筆法，寫出整本論文的Introduction，還有感謝辭。\n覺得奇怪的是明明文學論文應當用MLA，教授卻改成APA格式，讓人摸不著頭腦\u0026hellip;我想真的太久沒人寫專題，導致她連規定都不清楚了吧。基本上有做出一本完整專題的樣子就可以畢業了，這個專題研究並沒有口試的機制。\n唯一遺憾的是，Covid-19導致遠距教學，致使我們沒有盛大的畢業典禮，寫完專題也只是印出來交到冷冰冰的系上辦公室，打完成績就讓我畢業了。\n我沒能跟這個熱情的教授好好的再見，只能日後用Line偶爾聯絡。\n想到她在大二閱讀課上課給我們播的Madonna - Take A Bow，不禁感到淒涼。 如果大三Essay沒學好，專題會寫得很痛苦吧！這還不是需要跑統計的論文耶，只是研究文學作品，那至少需要一定程度的邏輯思考，才有辦法表達自己的觀點，並跟過去的學者對嗆。因此專題研究對我而言，是集所有大學英語學到能力的，最後的考驗。\n我認為之後考研究所，專題的寫作是很有幫助的，讓我提前預見地獄是什麼樣子，乃不至於驚慌失措，感謝教授的付出。\n5. 考上研究所才發現原來英文一直都沒進步 # 論怎麼考上英語系研究所的，我覺得是一種運氣。或許跟父母拉我去的拜拜有關，感謝上天保佑。\n因為過了推甄時間，那時是按照教授建議，一邊寫專題，一邊讀相關書籍準備研究所筆試。\n研究所考三間：成功大學、高雄科技大學、高雄師範大學。\n我對研究所考什麼完全沒頭緒，就是把課本的glossary背起來。\n我沒想到，成大外國語文學系是有研究語言學的，所以當然就是去送頭的\u0026hellip;遇到語言學部份的申論題完全不會，考超低分。 來源：https://www.youtube.com/watch?app=desktop\u0026amp;v=2cEZrBf3DSo\n高科大是高職體系的學校，考試內容竟是大三期末考等級，只要寫一篇Essay！？後來拿榜首。\n最後是高師大，明明是筆試的季節卻還堅持要面試。幸好筆試考的是選擇題＋Essay＋教育議題的申論，研究電腦教學的教授出那什麼「你對元宇宙看法」的題目\u0026hellip;我寫的還算可以，英文面試也只是聊聊未來方向的簡短談話\u0026hellip;所以我成功取得備取。\n眼見最後的八月天要結束了，本來要認命讀這一間考上的了，這才收到問我要不要備取另一間的遞補的消息！成功上了英語碩士班。\n以為自己英文學好了？No No No還差得遠了。\n現在講的沒進步，是相對的。我的英語能力可能比一般屏東大學畢業大學生強，可是到外面的世界就知道自己的渺小。 研究所的人來自各行各業，不少是有經驗的老師，我發現我似乎成為程度最差的存在\u0026hellip;反正研究所才10個人。要到教育學程的班級，才有學長可以倚老賣老的幻覺。\n寫論文只是另一個地獄的開始，主要還是口說問題。我喜歡研究所的小班制上課方式，討論和報告都十分有效率，但看著同學的標準口音，流暢的跟教授談笑風生，我卻頻頻卡詞了\u0026hellip;在研究所，當然是全英文上課，而非過去那種「重要時刻」才要用英文報告。\n在全英文風潮下，連大學部的課都要全英文了。為了讓未來有保底就業機會，我又考了教育學程。在下修大學部課程的時候發現，這所學校的課程嚴格程度，是屏東大學的十倍。\n我平常的英語口說/聽力能力是B-，連CNN都聽不連貫，表達自己想法都有問題的那種。用寫的倒是還行。但當我一開始講Linux相關、聽充滿科技jargon的演說時，口語和聽力能力會短暫上升到A+，短暫取得口若懸河的能力。\n此外，我仍常常抱持著是要「學英文」的態度去聽影片，這樣就輸掉一半了！難怪聽力和口說都不流暢。\n所以我發現了我日常口說能力很差的問題，要是現在就出國留學，可能會被人當成啞巴！之前去日本旅遊也證實了這點，跟人講話都不利索，文章寫得再好有什麼用。 在研究所待了一年後才比較習慣過來，從同儕間學習，懂得在日常對話使用更多英語表達自己想法，而非只有重要關頭才使用英文。現在點開國外Youtuber的影片也要跟看中文影片一樣自然，並且不要開自動字幕。\n研究所和大學部環境，又再一次改變了我對英語的認知。\n由於這段講的東西是進行式，所以無法說太多。唯一可以確定的是，要學好英語沒有其他方法，就是承認自己的無知，多接觸、多講、多用 才能夠真正的學好英文。\n下一集：學習英文的歷程（三）發覺到我的英文真的很爛\n","date":"2023年10月3日","externalUrl":null,"permalink":"/posts/how-do-i-learn-english-2/","section":"Personals","summary":"學習英文的歷程（一）\n當我跟別人說我喜歡寫Essay的時候，他們大半會露出不解的表情，現在讓我告訴你為什麼。\n這篇文章很大程度是大學生活的自述，偏向學術，有切身之痛所以才記得那麼清楚。\n屏東大學是學店嗎？這要看造化。雖然屏東大學確實是後段學校，如果願意提昇自己，就只有萊爾富屏東大學店而已，沒有屏東大學店。\n大學生活最大的收穫，就是Essay了，學寫Essay好處多多，影響改變我一生寫文章的態度，讓我現在可以站在這裡（好像太誇張了）。\n可是懂得寫文章就真的「學好」英文了嗎？\n(文章中間的粗體字是我認為的學英文訣竅。)\n1. 應用英語學系真的好雜亂 # 有四年在熱的要命的屏東度過，所以讓我先梳理一下狀況。\n大學如了國中的願望，讀了英語科系…國中班導妳應該為我驕傲（X）。\n我學測成績只有49級分，全部靠文科拉起來。因只有英語一項專長，鎖定一些後段學校填，頂標臺南大學，底標金門大學。高中老師頂多給全英文的備審一點意見，沒辦法給我們什麼面試幫助，我等於去送死的。\n屏東大學因為是三個學校合併的，導致保留二個英語學系。英語學系需要面試，應用英語學系只看備審資料。最後真的能面試的就二間。\n第一站，屏東大學英語學系，面試的時候自我介紹口吃的可怕，國小之後就沒怎麼練習口說了，現出原形，完全大失敗。 ","title":"學習英文的歷程（二），寫Essay改善我的英語力，但真的學好英文了嗎","type":"personal"},{"content":"學英文的歷史，側面反應了一個普通台灣人的教育過程。用中國的流行用語來說，就是做題家的縮影。\n因為人生過不到一半，且學習是永無止盡的過程，所以用（一）表示此系列。文章中間的粗體字是我認為的學英文訣竅。\n1. 小學 In the flesh? # 5年前，曾有個小有名氣的實況主問過我：「你英文好是怎麼學的？」\n我只回答「不知怎的就開竅了」。謙虛的說，實在不知道我的英文有好到哪去，現在就開始回想吧。 從小學習英文，大約是在國小一年級開始，會到附近的英文補習班去上課。A補習班我並沒有太多印象，記得只學會pencil一個單字而已。\n所以，一升上小三，英語考了50分。你要知道以國小生標準而言，及格分數是八九十的，所以這個分數非常的低，為此家長讓我去B補習班補英文。\n三年級開始到B補習班，開始漫長的學習過程。B補習班從小三補到國一，打下不錯基礎。\n可能是因為B補習班制度設計更完善吧，他們是以印第安人當logo的連鎖補習班，針對小朋友設計12級的自編教材《David\u0026rsquo;s World》，學完一個程度才能升級，每節課考試，成績不行還要禮拜六去輔導。此外下課要到補習班大廳的講台演講，背誦課文；以及回家前的英語小問題，放學後的家庭電話輔導。 當時我不知道的是，老師曾為課文背不起來傷透腦筋，還要向主任求情放我一馬再額外給我輔導。\n強迫性的聽說讀寫都訓練到，對處於可塑性高的年齡來說，這樣的環境英文要不進步都難。 台灣人很愛這種填鴨式的教育吧，就算在補習班練習了口說，so what，大多數學校的環境還是那個只考紙筆測驗的死樣子。 但補習班總有一點幫助，學會了英語，建立自信心，才有辦法學下去。\n補習班的自編教材跟學校進度當然是不同的，吸收程度我自認是中上，才小五便上完過去式的文法規則，超前的進度使得我不用煩惱學校的英文考試，補習後學校考試幾乎都是100分。\n不過，當時我純粹依靠語感作答，我其實不知道什麼是過去式。老師在白板上畫過去完成式的線條解釋時，其實是不知道在幹嘛的。 上課我只記得學到suspect「嫌疑犯」諧音「鹹魚飯」很好笑，還有課本的科幻漫畫很有趣。\n這樣的學習方式，致使我一直到大學後才知道何謂文法規則。\n當時有寫中文散文和小說的習慣，於是試著詭異的英文寫了一本英語短篇西遊記小說，寫出來的內容好比三歲幼兒學習寫作文那樣，外人根本看不懂。\n另外，在小學的時候，我熱衷看一些奇怪的兒童文學，其中《波特萊爾大遇險》(A Series of Unfortunate Events)是我看的最入迷的一個系列。作者自言自語的廢話很多，頗像日本輕小說的先驅。 裡面曾經提過一個英文同形字寫成的長句： \u0026ldquo;The bears bear hard hard yarn yarns.\u0026quot;，我覺得很有趣，印象深刻到現在還記得，算是一種對語言學的啟蒙吧。\n2. 國中，全民英檢突然開竅 # 到升國一的時候，又遇到了挫折。順應補習班大多數人的選擇，我開始讀英檢班，就是以通過GEPT初級（筆試和口試）為目標的加強班。從那時起教材便截然不同了，不再有有趣的插畫課本，轉而是厚厚的Pearson單字書，以及一本南一出版的文法專門書。 每週要背的單字多達20個，單字本畫滿螢光筆和小書籤，文法書充滿各種紅筆記號，寫滿各種規則。雖說難的單字lettuce、buffet背得起來，文法還是幾乎沒概念。\n全民英檢是採取及格制的考試，分為初試筆試和口試複試。依賴過去的經驗行不通了，純靠語感的情況下，我在考全民英檢的模擬考，考得總是最低分（24），不論聽力還是閱讀都很慘。每次檢討都要寫滿紅筆，經過多次都沒有改善。\n所以理所當然的，初次參加筆試便是離及格分數很遠。\n為通過英檢，在那之後又補了一年。有些人禮拜六得到補習班加強，我也參加了。週末氣氛比較輕鬆，我們會在補習班大廳搞圓桌會議，複習英檢題目。\n約是國一下的時候，我不知怎的「開腦」，在上課複習的時候開始能夠準確回答老師的問題了，模擬考成績也開始進步。\n開竅指的是我對英語應用能力又更上一層樓，不再只是唱ABC兒歌的等級。\n講開竅好像有點太憑天份的感覺了，我再講一些實在的提昇英語力的方法吧，主動學習很重要。\n當時我會到地方圖書館借專門講解英語的書，圖書館有一個英語學習專門書架擺在那裡。除翻閱英語雜誌之外，還會借討論英語的專書。\n我印象最深的是一本創意講解文法概念的《秒殺英文法》，作者強調一個觀念：「句子的單字很難沒關係，只要看懂文法結構就懂一半了」還用有趣的說法解釋if句型：退一步海闊天空，後面用過去式。這本書確實很有趣，讓我對文法沒那麼恐懼。 但其實我的文法還是很糟，還有語言學部份，以前學的KK音標到這個時候已經忘光了，我對母音子音已無概念。這個時期純粹是語感更強了些。\n在學校，老師問我比較級為什麼母音字尾要變化？我也說不出來。\n我還有借一本「美國常用俚語」，根據留存下來的日記記載，我有抄幾句不錯的slang下來，但有些俚語在當時早就是LKK了，講出來會被笑，好比美國人學中文後叫台灣人「夥計」那種的尷尬。\n甚至，我學到了「ought to」這個片語，在學校考試考should的時候故意寫成ought to，老師警告我以後不准再用這個字，畢竟她只想要標準答案。之後多次我仍用學過的高階單字作答，總是給老師同學找麻煩。\n此外，我還當起了考古學家，開始研究泰國買回來的禮物盒子上的英文文字，並按翻譯機試圖理解上面的神話故事。\n學習英語，reading for pleasure是一個好方法，不論那是什麼樣的領域，讓自己讀得開心才會學得進去。英語不是只是拿來考試的科目。\n第二次英檢筆試總算過了，考了將近滿分。複試相較而言簡單許多，只要回答問題和改寫句子即可，所以一次就過。\n國二正式離開補了五年的B補習班，因英檢的學習內容已超越國中範圍，在那之後就沒有再補過英文。我很感謝過去各位老師的付出。\n會考英文只拿到殘念的A＋。\n至於我深陷補習數學和理科的泥潭，那又是另一個故事了，起碼那時國中考得不難，所以我都還能及格。\n3. 將英語應用於現實與網路生活 # 有一點英語基礎後，就可以嚐到它給我帶來的好處了。\n就現實層面而言，國中三年，是我跟班導的戰爭，她剛好就是教英語主科的。因為英檢考過的關係，我上她的英文課很不給面子，都在放空，畢竟隨便寫都高分。因為嫌無聊，我還會故意用國一教的書寫體寫習作和考卷，同學都看不懂，班導也拿我無皮條。\n故意寫書寫體算是中二病的一種吧，畢竟高中後我就再也沒寫過書寫體了，學校老師會寫書寫體的多半是留過學的老人。 有一次在跟班導起爭執的時候，我嗆她一句\u0026quot;Why me?\u0026quot;，有時候跟同學講話的時候，我也會不自覺的\u0026hellip;「烙英文」，變成我的個人特色之一。看在別人眼裡，就是很囂張的傢伙。\n英文是我所有科目考試裡面，唯一不用準備也能考八九十的科目，但班導還是不滿意我的成績。她提醒我，除非能每次都考一百分，我才有繼續囂張的權利。\n直到現在我才發覺自己實在太幼稚了，我在碩博士論文網站看到當年老師發表的「XXX的教學方法實驗」論文，方才驚覺我的上課態度，差點害她研究做不下去。\n虛擬層面來說，我開始在網路經營Youtube頻道，上傳翻譯Minecraft歌曲的影片。以前翻譯的影片我只會用360p輸出，但還是衝到了70萬次觀看，下面這部是原曲。\n從國二起做了七年，前後翻譯了200部影片，樹立我對翻譯的一點興趣。因此， 試著翻譯，產出作品也是個不錯的學英文方式。 以前我愛看的網路盜版輕小說，很多也是中國漢化組的新手譯者翻譯的呀。\n隨著頻道吃版權砲，過去大半心血化為泡影。\n這時還學著到外國Minecraft Forum與外國網友交流做模組，發表我自己寫的小JavaScript模組程式。 雖然英語很破，但這時期的經驗可以說是英語最早給我帶來的好處。\n因此，閱覽外國論壇對我而言不是太問題，長大後找遊戲情報、寫程式，都可以到更廣闊的世界去搜尋，而不用依賴巴哈姆特、百度貼吧的資訊。這也對我現在玩Reddit、4Chan、外國遊戲鋪平了道路。\n4. 高中吃老本，我就爛，每天玩手遊 # 因為十二年國教的服務時數不足，會考成績再好也只能填升學學校，誤入一所位於台南鄉下的綠色監獄，這裡每週都考試。\n才高一，幾次考試下來發現英文考試靠北難，考得比指考還難是三小，很多文章用字根本是故意考倒人的。\n根據當年的FB貼文記載，真的是出題老師故意的，去你的。 我在高一班上英文成績是相對好的，但因為太難，我多半只能考6、70，這已經是最高的了，相較之下班上其他人都是考3、40的程度。作為等價交換，此時我的理科全部開始考不及格了，數學永遠考個位數。\n高一的英文老師雖然上課很認真，但是每次他走進來總是一股肅殺之氣。據說他以前是流氓教師，曾經扁過不爽他上課要求的學生，後來從良了，下課會一邊抽煙一邊玩《問答RPG 魔法使與黑貓維茲》。我不知道他到底經歷了什麼，補充單字講著講著，就會開始勸世，講人生道理。\n他還說：「以前在成功大學外面盯著，我說幹！三個月後我就在裡面了。我發願要考上，到補習班苦讀就成功了。」\n其實我覺得他教的東西，跟我的成績高低好像無關就是了。 這個時候我領悟到的更好學英文方法，大概就是 嘗試用英文學英文概念了，例如英英字典、寫中文解釋的時候改用同義簡單英文字替換 。\n後來我讀社會組（文組），在這個重理輕文的學校，社會組只有兩班，標準放牛班，班級程度落差甚大，只差沒有8+9了，幸好這是私校。\n我在的那一班願意讀書的人還是比較多的，雖然我上課都在看手機就是了。\n此時的英文老師很混的說，上課照本宣科不然就是喇低賽，還兼任學校國中部的老師，我真的學不到什麼。不過嘛此時我還有在做Minecraft翻譯歌曲，有時候下課會請她幫忙聽譯，物盡其用。\n學校另外有安排每週一次的「英聽」課程，由另一個活潑的老師專門上口說課程。但別說練習口說了，老師上課只要用英語下命令，普通班根本沒多少人聽得懂，所以上課氛圍很糟糕，分組成效不彰。我記得最尷尬的是，我將Minecraft歌曲用藍芽傳給她請求幫忙聽譯全文\u0026hellip;就沒下文了。 在這個氛圍下，我繼續吃老本，社會組英文考得沒過去那麼難了（事實上是全部科目都偏簡單，相較於自然組而言），背完習作的單字都能拿8、90分，不論是翻譯句子還是寫小作文都難不倒我，屬於班級前端。\n然而此時隱患已逐漸浮現：儘管我在單字考試可以拿年級排名第一，可是口說卻退步嚴重。畢竟小學以後，補習班也不注重這一塊了。曾參加學校即席演講比賽拿了第三名（只有三個參加而已，大家書都讀不完了），上台的時候完全胡言亂語，不知道在工三小。\n因此，練習英語口說很重要，知道很多單字不代表什麼，如果只會背單字那就是考試機器，長大後一定後悔。\n當時我只有英文一科能學測頂標而已，其他的比較擅長的文科都在前標徘徊，理科永遠底標以下。果不其然，學測結果出來，英文只有14級分差1分滿分；英文聽力只有B，屬於是恨鐵不成鋼的程度。\n其實我準備學測一直都是放開的狀態，跟國中考會考的態度差很多。因為「我就爛」，文科以外都沒怎麼讀。座位自己選擇坐第一排，老師正前面，卻常常看心情讀書。\n上課整天玩《艦隊Collection》打戰果（遊戲排名），不然就是研究Android刷機，直到學測當天我還在煩惱該月戰果刷不刷得完。 可能也跟班級風氣有關，國中的時候大夥兒比較聽老師話，願意一同努力準備大考，可高中的話上課睡覺老師才懶得管你。\n偏科嚴重導致學測總級分低落，大學面試開始的時候覺得是不是只能讀臺東、金門大學了，所幸後來備取上屏東大學。班上願意讀書的那票人，後來也都考上不錯的中段學校。\n5. 多益被迫考了二次 # 學測後有段空閒時間，我到以喜樂為名的C補習班補多益(TOEIC)，聽說證照對升學有加分，且瘋狂讀書的高三考多益分數會最高。\n而多益課程其實也沒什麼訣竅，就是一直寫題目，背一些商用單字，就這樣而已。到那邊就是坐下寫200題，寫完跟其他人檢討，教兒美的老師在我們做題目的中間還可以出去放空嘞。\n當然，刷題強行提昇單字量的前提是本身英文底子就要好，並且有足夠知識理解文法規則，否則寫再多也沒用。\n前後刷了10本以上題目，有時候我也會自願週末去寫題本。在經過幾個月訓練後，第一次去考多益，緊張的打鐘聲後翻開試券\u0026hellip;啊凎，為什麼聽力第一題跟題本完全不一樣？這個時候所有人紛紛被請出會場，原來是送錯題目了。\n這件事滿誇張的，新聞都有報，「多益測驗首次出包」，2017年的事情。 幸好多益代理商負起責任，免費讓考生自選補考日期，於是我考了845分，算高了可是沒摸到金色證書有點可惜。\n成功考到多益證書，感謝完補習班老師後，我就升上大學了。\n這裡先提一下，後來大學部的課程很多是要學生通過多益畢業門檻為目標的，逼我們下課做學校給的題庫，還當成大一英文的考試科目，其實我覺得很蠻沒意義就是了，圖利廠商啦。\n大學篇、研究所篇，下集待續。\n學習英文的歷程（二）\n","date":"2023年10月3日","externalUrl":null,"permalink":"/posts/how-do-i-learn-english-1/","section":"Personals","summary":"學英文的歷史，側面反應了一個普通台灣人的教育過程。用中國的流行用語來說，就是做題家的縮影。\n因為人生過不到一半，且學習是永無止盡的過程，所以用（一）表示此系列。文章中間的粗體字是我認為的學英文訣竅。\n1. 小學 In the flesh? # 5年前，曾有個小有名氣的實況主問過我：「你英文好是怎麼學的？」\n我只回答「不知怎的就開竅了」。謙虛的說，實在不知道我的英文有好到哪去，現在就開始回想吧。 從小學習英文，大約是在國小一年級開始，會到附近的英文補習班去上課。A補習班我並沒有太多印象，記得只學會pencil一個單字而已。\n所以，一升上小三，英語考了50分。你要知道以國小生標準而言，及格分數是八九十的，所以這個分數非常的低，為此家長讓我去B補習班補英文。\n三年級開始到B補習班，開始漫長的學習過程。B補習班從小三補到國一，打下不錯基礎。\n可能是因為B補習班制度設計更完善吧，他們是以印第安人當logo的連鎖補習班，針對小朋友設計12級的自編教材《David’s World》，學完一個程度才能升級，每節課考試，成績不行還要禮拜六去輔導。此外下課要到補習班大廳的講台演講，背誦課文；以及回家前的英語小問題，放學後的家庭電話輔導。 ","title":"學習英文的歷程（一），英文變好的方法與其影響","type":"personal"},{"content":" 本文介紹一款適合給電腦使用的作業系統：Bliss OS，電腦跑Android的好選擇。\nBliss OS是Android-x86的分支，是唯一一個到現在仍活躍更新的Android-x86系統。\nBliss OS可安裝在實體系統或是虛擬機，讓您在電腦流暢玩手機遊戲。 這是更自由開源的「電腦玩手遊」解決方案，沒有模擬器商業廣告綁架的問題。\nBliss OS還可以當成「自架雲手機」的載體，例如用iPhone遠端玩Android遊戲。 1. 原版Android-x86的缺點 # 原版Android-x86是針對x86架構電腦設計的Android系統分支，最初由台灣人發起。 但在Android 9後就沒什麼更新了（有commits，進度緩慢），問題逐漸浮現。\n首先，Android-x86的官網不知為何，充斥線上賭場的贊助商廣告。 再者，版本太老的問題。目前Android-x86還停留在Android 9，儘管Android-x86內建Play商店，很多APP還能用，但Android-x86先天不相容ARM架構APP，需要裝Intel研發的閉源「Native Bridge」，又稱libhoudini轉譯器，方能安裝ARM架構的APP。 話說以前華碩跟Intel合作出Zenfone的年代也有採用libhoudini技術，後來的故事我們都知道了，x86處理器的Zenfone相容性不佳，Intel退出手機市場，華碩轉向主流的ARM處理器。\n現在還有在用libhoudini技術的，就屬微軟的WSA（️Windows子系統Android版）和ChromeOS了，算是Intel手機市場技術的敗部復活？BlueStacks之類的商業模擬器可能也有用libhoudini，或是自研的轉譯器方案。\n但是，Android-x86的libhoudini只相容32位元的ARM架構APP啊！最新Android都拋棄32位元了，Android-x86逐漸不敷需求，像《原神》之類的新遊戲便無法安裝。\n此外，Android-x86的系統很簡陋，內建的程式其實不是很適合電腦操作。許多開發者試圖改進Android-x86，過去曾有Prime OS、Phoenix OS、Remix OS、OpenThos出現，後來要嘛放棄維護，不然就是轉成閉源開發模式。\n唯一一個仍在積極開發的只剩Bliss OS。\n2. Bliss OS的優勢 # Bliss OS官網：https://blissos.org/\nBliss OS算是Android-x86的改進版，繼承原版的優點，保持開源的開發模式，而非將其變成閉源商業產品，他們的Telegram社群很活躍。 Bliss OS支援許多新硬體，例如Intel 10代處理器以後的GPU。Android版本也有更新，目前穩定版是Bliss OS 14 (Android 11)，開發版是Bliss OS 15 (Android 12)。Linux核心版本用上5.15了。\nBliss OS的界面適合電腦操作，還有強制旋轉、按鍵映射、遊戲模式、模擬觸控點擊、KernelSU（更難偵測到的root權限）等實用功能。\n更重要的是，Bliss OS內建的libhoudini支援ARM64架構的APP！這是怎麼達成的？上文說微軟的WSA也有用到libhoudini，因此就有玩家把新版libhoudini抽出來給大家用了。 Bliss OS開發團隊說他們是非商業專案，所以應該不會被Intel找麻煩\u0026hellip;吧。雖然最新開發版libhoudini又被移除了，未來會以Google的libndk替代。\n順帶一提，Bliss OS的開發團隊同時也有研發Waydroid （可以想成是Linux版的WSA）所以二者的功能有些類似。 3. Bliss OS的用途 # Bliss OS主要有以下三種用途：\n3.1. 安裝至實體機器 # Bliss OS類似ChromeOS Flex，都是適合低階電腦安裝的作業系統，可有效利用豐富的Android生態處理日常事務。\n近代的x86電腦應該都能裝Bliss OS。Bliss OS支援UEFI，方便搞雙系統。\n顯示卡以Intel或AMD為佳，Nvidia問題很多，因為根本沒有官方驅動支援，開源驅動也有各種問題，Nvidia跟Linux有仇似的。\n範例安裝過程：MSI Modern 15筆電安裝Bliss OS雙系統\nBliss OS也有釋出針對微軟Surface平板優化的ISO，可以安裝為Windows/Android雙系統。參見Microfot Surface Go 2安裝Bliss OS\n3.2. 安裝至虛擬機 # 在電腦上使用Android APP，這個對Linux系統的用戶比較有用，因為Linux沒有Windows那樣多元的手遊模擬器，Bliss OS可以說是比較穩固的方案之一。\n另外二種Linux Android模擬器方案：基於Docker的ReDroid、基於LXC的Waydroid。\n以「虛擬機玩手遊」的用途來說，相較其他模擬器方案，Bliss OS本身是較自由的作業系統，沒有商業綁架的問題，同樣可以多開、跑巨集。理論上還是跨平台的，Linux/macOS/Windows都能裝。\n在Linux用QEMU虛擬機裝Bliss OS，再配合virglrenderer走虛擬GPU硬體加速，即可達成在電腦玩手機遊戲的願望，效能接近原生。在這篇文章中我有探討具體安裝過程。 當然，如果你對市面上商業的手遊模擬器很感冒，想追求自由軟體環境的話，仍可以在Windows靠VMware的GPU直通，或自行編譯QEMU，裝Bliss OS，不過我沒怎麼研究Windows上的解決方案就是了。\n3.3. 當作雲手機的載體 # Bliss OS是「自架雲手機」的有力人選之一，你可以用手機上的Scrcpy，遠端存取電腦上的Bliss OS玩遊戲。\n參見自架雲手機\n","date":"2023年10月1日","externalUrl":null,"permalink":"/posts/bliss-os-introduction/","section":"所有文章","summary":" 本文介紹一款適合給電腦使用的作業系統：Bliss OS，電腦跑Android的好選擇。\nBliss OS是Android-x86的分支，是唯一一個到現在仍活躍更新的Android-x86系統。\nBliss OS可安裝在實體系統或是虛擬機，讓您在電腦流暢玩手機遊戲。 這是更自由開源的「電腦玩手遊」解決方案，沒有模擬器商業廣告綁架的問題。\nBliss OS還可以當成「自架雲手機」的載體，例如用iPhone遠端玩Android遊戲。 1. 原版Android-x86的缺點 # 原版Android-x86是針對x86架構電腦設計的Android系統分支，最初由台灣人發起。 但在Android 9後就沒什麼更新了（有commits，進度緩慢），問題逐漸浮現。\n首先，Android-x86的官網不知為何，充斥線上賭場的贊助商廣告。 再者，版本太老的問題。目前Android-x86還停留在Android 9，儘管Android-x86內建Play商店，很多APP還能用，但Android-x86先天不相容ARM架構APP，需要裝Intel研發的閉源「Native Bridge」，又稱libhoudini轉譯器，方能安裝ARM架構的APP。 ","title":"Android-x86優質替代品 - Bliss OS，電腦裝Android系統、玩手遊的好選擇","type":"posts"},{"content":"圖多注意。\n現在處於半退坑狀態，發現有些模型沒有公開過，遂撰文紀錄2018年~2023年間組過的軍事模型。 我青年時代就製作過：天竺鼠車車、Fw-190A8、Bf-109G6、已然遙遠的理想之城、零戰一一型、零戰二一型、零戰三二型、零戰五二型、一式戰II型、Spitfire Mk.IX、F-86、彗星艦爆、SBD-5、百式司偵III型、G.55 serie 1、MC.202、U-511、大鳳號航空母艦、Mig-23、九九式艦爆、三式戰一型丙、F-16B、F-15J、S.21飛行艇、四號戰車H型、T-34-85、邱吉爾鱷魚、KV-1、特二式內火艇、M4A1 DD、96式25mm三連裝機槍、20mm厄利孔機砲、Flak 41 88mm砲、QF 6磅砲、M1 240mm榴彈砲、MG42機槍、LCVP、大和號、SdKfz.2、SdKfz.251、M8裝甲車、Bob Sample坦克、Me-163、一式陸攻＋櫻花特攻機、F4U-1D、P-38、Stipa Caproni\u0026hellip;\u0026hellip;謝謝大家。\n買模型的方向，很大程度是受玩的遊戲，以及看的動漫影響的，比如艦隊Collection、少女與戰車、強襲魔女、戰區88、戰爭雷霆。\n組裝這些模型讓我有幸認識台南、高雄、屏東、台北各地的模型名店，例如台南天鷹模型、奇奇模型，高雄龍門模型（A士先生好像很愛去這間）。有時候模型我是網購，有時候是到店裡尋寶隨便挑一盒來組。\n還因為要買參考書籍，認識了許多書店老闆，例如位於高雄駁二特區附近的「貓手」書店，專賣日文原文書。貓手老闆是一個熱愛在地歷史的人，包括駐紮在屏東基地的日軍航空隊資訊，他都有研究。下圖是店內的模型，非常考究。 另一個賣有趣舊書的，還有位於台南成大附近的「台南府城舊冊店」，我曾經參加過他們的台獨讀書會，那場是臺羅仔輪流讀聖經。但是我台語很破，後續就不自討沒趣參加了。\n除了買軍事模型外，我還買了一些動漫公仔。因為很貴，買不起PVC，我只能挑二手特價時候買，且買的都是可以動的Figma系列。Figma可以換配件比較好玩，模型比例也比黏土人正式。\n1. 一切的開端：F-Toys可動系列 # 如果硬要算的話，小學就組裝過盜版彈珠人的模型了。不過正式組模型卻是等到大學以後。\n最初，2018年開始做模型是因為研究「四式重爆」，明明讀的是是英語系我還跑去跟歷史系的教授請教，研究成果寫成二篇長長的專文。\n在研究飛機風潮之下，讓我想買一台模型來組，正好當年長谷川有出新的四式重爆模型： 可是\u0026hellip;這台價格實在太貴了，加上我完全沒經驗，所以從簡單的開始買。結果我後面再也沒想過要買四式重爆的模型。\n\u0026hellip;胡亂之下買了長谷川「四式戰鬥機一型乙」的模型，可是我不知道還要花錢買塗料，所以被我亂塗成銀色的樣子，是駐紮台灣的飛行第22戰隊。這是剛出廠的樣子啦！懂不懂！？（狡辯） 初次組模型失敗了，嗯還是買F-Toys的盒玩吧\u0026hellip;這個好組多了，只需要一點模型膠固定，免上色，組好立即有成就感。\n小小的P-47D，1：144的模型買過一次就不想再買了，尺寸太小啦 相較之下，1：72 Full Action系列幾百塊而已，很超值！這個系列特色是組好後全部可動，座艙可以打開、起落架可以收合。\n因此，F-Toys Full Action系列我都有買：\n彗星轟炸機，有可以開關的彈艙。不過當初剛學會組，很容易把零件弄斷了，所以彈艙黏死。 Fw-190 A8，細節面面俱到的戰鬥機。Full Action系列普遍有軟腳問題，就這架最穩。 零戰二一型（台南空），仿造史實鋸掉天線。不過這架的襟翼沒有開模，無法動。 一式戰鬥機II型，蝶型襟翼很美麗，起落架很脆弱。 Spitfire Mk.IX，這架我組起來完全沒手殘，沒讓座艙沾到膠水。 F-86 (藍色沖擊波表演隊)，機身內部有鐵製的壓艙物。 F-Toys Full Action系列未來我會繼續買的，組裝很省時又好看。\n2. 比較正式的組裝模型 # 中間買過一些扭蛋的小模型，不是很重要。（加賀：五航戰的孩子呀\u0026hellip;） 後來才開始學組正式的模型，學習用補土，再用顏料筆塗上色，去逛模型店買材料。更誇張的是連噴漆罐都用上了。\n顏料基本上每組一架就要買新的顏色，品牌大部份是田宮，有時候會買到西班牙牌子的特殊顏色。\n不過技術一直沒進步\u0026hellip;哈哈，我組的模型都只能遠觀而不可褻玩焉！遠看好像有點樣子，近看細節直接破功。\n我親手組的模型有：\n田宮 - Bf109 G6，筆塗很難看。 愛德美 - SBD-5，1：48比例居然只要600台幣，韓國品牌的價格俗又大碗，細節也很足。 田宮 - 百式司令部偵察機III型，我堅持要買流線型防風罩的，很帥。首次用噴漆罐大規模上色，這樣塗裝確實比SBD-5筆塗平整許多，但差點毒死自己。另外這台水貼買來已經爛掉，所以我沒貼上去。 Special Hobby - G.55 serie 1，因為玩戰爭雷霆認識這架飛機，據說是義大利二戰時最強的戰鬥機。 一般模型都不會附納粹水貼，義大利的也不例外：它機徽的法西斯束棒少了一根。我記得這個模型很機車，裡面有個零件要用AB膠才能黏起來。 長谷川 - MC.202，買這個純粹是因為廠商跟強襲魔女合作，買就送小人偶讓你自己塗。 我買的是第501統合戰鬥航空團的義大利蘿莉 - 弗蘭西斯卡·魯基尼。 Zvezda - Mig-23 MLD，這台很好玩，蘇聯可變翼戰鬥轟炸機，翅膀真的可以動。同年代它的對手是F-14。 除了組飛機以外，還組了：\n小號手 - U-511潛艇(U-Boat Type IXC)，這台有附馬達，可以真的放到水裡玩，當然膠水要上好才不會沉船。 田宮 - 大鳳號航空母艦，聽貓手老闆說這是很老舊的模具了，但是很好組。附贈的艦載機是很好的裝飾材料。 SdKfz 251 D型＋ 41年式噴煙者。其實就是WG42火箭彈陸上版。因為沒有噴漆設備，筆塗後非常難看。 3. 線上也有數位3D模型可以做 # 熱衷做模型的時候，我也有在做Minecraft 艦隊Collection Add-On的3D建模，屬low poly風格的。成品可以在Sketchfab線上檢視。\n屬於是線上線下都有模型可以做，做實體模型有助於我理解軍事武器的內部結構，數位模型則是有更多發揮的空間，還學到3D建模的皮毛。 F-16和F-15的原型是一位日本Minecraft玩家寄給我的，被尊稱為「Ivon師匠」真是不敢當。\n之後我將模型完稿上色。日本的F-16正確來講是F-2吧，我把它改成國軍的F-16B。 F-15J做好的時候還有認識的日本網友留言他剛好住在沖繩\u0026hellip;塗裝我是隨便找的，真是碰巧。可惜的是，F-15模型原始檔在我搬移電腦檔案時弄丟了，只剩下渲染照。 如果做模型時找不到參考照片，我還會到ScaleMates、1999.jp找模型說明書來研究。這二個網站十分有用，有詳細的模型年表。SclaeMates的用戶還曾請求我上傳某模型的說明書呢。\n有趣的是雖然我做了一堆數位坦克模型，卻沒買過真正的坦克實體模型。我想我潛意識已知道坦克會很難組，做數位模型的時候負重輪還可以複製貼上，實體模型上色會上到死。\n4. 興致衰退 # 幾年過去，才做沒幾台模型就遇到不想組的情況了\u0026hellip;搞得好像在FB社團看過，老了想出清模型的老人，現在抽屜裏面還有一台Zvezda Mig-31沒拼，塞滿顏料的箱子我也是靜靜擺在角落，任其乾涸。\n過去FGO台版的大規模課金(\u0026gt;10000台幣)和購買模型塗料(\u0026gt;5000台幣)是我大學生活時的兩大浪費項目。我說，購買3C產品至少到現在都還能用，但是遊戲課金真的是得不償失，還不比我課不到2000台幣的日版FGO帳號強。日版輔助、打手隨便抽都有，相較之下台版課了一堆還是很丐。\n模型則是錢都花在顏料上了，我該慶幸我沒有敗家買噴漆設備嗎\u0026hellip;。\n打工的錢都揮霍在這二者上面了，但還是有收穫啦，更加深的歷史知識，以及櫃子裡面擺滿賞心悅目的飛機模型。\n","date":"2023年9月29日","externalUrl":null,"permalink":"/posts/military-models-2018-to-2023/","section":"Artworks","summary":"圖多注意。\n現在處於半退坑狀態，發現有些模型沒有公開過，遂撰文紀錄2018年~2023年間組過的軍事模型。 我青年時代就製作過：天竺鼠車車、Fw-190A8、Bf-109G6、已然遙遠的理想之城、零戰一一型、零戰二一型、零戰三二型、零戰五二型、一式戰II型、Spitfire Mk.IX、F-86、彗星艦爆、SBD-5、百式司偵III型、G.55 serie 1、MC.202、U-511、大鳳號航空母艦、Mig-23、九九式艦爆、三式戰一型丙、F-16B、F-15J、S.21飛行艇、四號戰車H型、T-34-85、邱吉爾鱷魚、KV-1、特二式內火艇、M4A1 DD、96式25mm三連裝機槍、20mm厄利孔機砲、Flak 41 88mm砲、QF 6磅砲、M1 240mm榴彈砲、MG42機槍、LCVP、大和號、SdKfz.2、SdKfz.251、M8裝甲車、Bob Sample坦克、Me-163、一式陸攻＋櫻花特攻機、F4U-1D、P-38、Stipa Caproni……謝謝大家。\n買模型的方向，很大程度是受玩的遊戲，以及看的動漫影響的，比如艦隊Collection、少女與戰車、強襲魔女、戰區88、戰爭雷霆。\n","title":"2018年 ~ 2023年組裝過的F-Toys、田宮、數位軍事模型照片總結","type":"artwork"},{"content":"","date":"2023年9月29日","externalUrl":null,"permalink":"/tags/world-war-ii/","section":"標籤","summary":"","title":"World War II","type":"tags"},{"content":"這篇文章介紹在原版「Minetest Game」中你可以做些什麼。 想熟悉Luanti操作的，你可以在遊戲內的線上內容下載器，安裝Wuzzy製作的「Tutorial」世界。遵從裡面的指示即可快速上手Luanti的操作。 不過，在閱讀Luanti新手攻略與Luanti子遊戲之後，你應該會覺得不裝Luanti模組是玩不下去的。\n即使如此Minetest Game也是有自己的特有的元素，在安裝模組擴充玩法之前，先了解Minetest Game提供的內容也不壞，這樣你可以知道要裝哪些模組來擴充玩法。\n首先要知道的是，Minetest Game真的沒有任何生物，這個一定要裝模組改善。\n1. 合成 # 按I開啟背包，玩家可以在九宮格合成物品。\nMinetest Game的背包中有合成和燒煉配方的提示。 大致上，玩家要先空手敲樹幹取得木頭，合成斧頭/鏟子加快挖掘速度，或合成鎬子挖掘石頭，以此類推製作更好材質的工具，挖掘硬度高的方塊。\n因為沒有生物，劍在Minetest Game單人模式中沒什麼用，但可以加速破壞樹葉、小麥等方塊。\n工具使用後會耗損耐久度，到0後物品便會消失。Minetest Game並無修理機制。\n2. 燒煉 # 燒煉即是透過熔爐，在熔爐中燒製方塊。\n玩家可以用碳/木頭/岩漿桶當燃料，燒煉金屬或製作建材。\n例如將鐵塊燒煉成鐵錠，鵝卵石燒成石頭，將沙子燒成玻璃。有趣的是Minetest Game破壞玻璃方塊會掉落玻璃碎片，而碎片可以重新燒回玻璃方塊。\n3. 挖礦 # 礦石可用來製作工具和武器。木鎬能開採碳礦；石鎬能開採銅、錫、鐵、金礦；青銅鎬能開採鑽石、黃石礦。\nMinetest Game共有6種礦石，越稀有的礦物會埋在越深處，其中最稀有的是黃石方塊 (Mese Block)。下面以生成機率排序。\n煤礦(coal)生成最廣泛，開採後會掉落煤塊，用於製作照明用的火把、當燃料的煤炭方塊。此外煤炭和礫石混合後，能製作炸藥棒的原料火藥粉。 銅礦(copper)會掉落銅塊，燒煉成銅錠，製作銅方塊。 錫礦(tin)掉落的錫塊可燒煉成錫錠，製作錫方塊。或是跟銅錠合成「青銅錠」，用於合成工具。 鐵礦(iron)會掉落鐵塊，燒煉成鐵錠後用於合成工具和鐵方塊。 金礦(gold)會掉落金塊，燒煉成金錠後用於製作金方塊和合成萬能鑰匙。 鑽石礦(diamond)會掉落鑽石，可用於合成工具和鑽石方塊。 最後是最稀有的黃石(mese)，世界中會天然生成二種黃石：黃石礦和黃石方塊。黃石礦比金礦常見，黃石方塊最稀有。黃石礦挖掘會掉落黃石晶體，黃石晶體也可以從黃石方塊分解而來。黃石晶體用於合成工具和動力鐵軌。黃石還可以製作比火把更亮的照明方塊：燈柱。 4. 種植作物 # 在Minetest Game的自然環境，玩家可以找到各種植物。\n玩家需要使用鋤頭將土壤變成耕地才可以種植作物，有些植物需要光照才能生長。因為沒有骨粉，所以要慢慢等其成熟。\n小麥種子可透過破壞草方塊隨機獲得，收成小麥後可合成麵包。\n蘑菇會生長在雨林生態系，紅蘑菇有毒，棕蘑菇可食用。\n玩家如果要睡覺跳過夜晚，就必須合成床。棉花(cotton)是床的原料，可在野外找到野生樹叢。 莎草(papyrus)長得很像竹子，可用於合成紙張。 仙人掌方塊會對所有生物造成傷害。採集仙人掌後可合成大型仙人掌苗，須種植於沙子上。\nMinetest Game共有5種樹木：相思樹(acacia tree)、白楊樹(aspen tree)、叢林木(jungle tree)、松樹(pine tree)、蘋果樹(apple tree)。\n破壞樹葉會掉落樹苗。\n其他植物尚有花朵、蕨類、海帶、珊瑚等。\n5. 告示牌與書本 # Minetest Game的告示牌供玩家紀錄訊息，可用任意角度擺放，但玩家需要右鍵點一下才會顯示訊息內容。\n告示牌有分成木作和鐵作的，前者可燃，後者需要石鎬才能破壞。\n書本可以左鍵點選，撰寫含有標題的文章。寫好的書本可放進書架方塊收藏。\n6. 船和礦車 # Minetest Game有二種交通工具：船和礦車。\nMinetest Game的船與其說是船，比較像是舢舨，玩家駕駛常常是站在上面的，右鍵+潛行下船。\n礦車放置在鐵軌上，左鍵敲一下才會前進，若無經過動力鐵軌會逐漸停下來。礦車經過制動鐵軌會減緩速度，動力鐵軌則是加速。右鍵+潛行下礦車。\n7. 探索不同的生態系 # Minetest Game有很多生態系。新增世界時的地圖產生器還能控制生成哪些地形，或是生成地牢。\n雖然Minetest Game世界高度上限為Y軸正負30927個節點，但地表生態系大多不會超過1000格高度。\n目前有草原、針葉林、落葉林、雨林、莽原、沙漠、砂岩沙漠、寒漠、雪原、北方針葉林、苔原、冰蓋。\n海底除了以沙子構成外，有時會出現珊瑚礁和冰塊。\n8. 切換成創造模式蓋建築 # 創造模式即在進入世界前取消勾選左邊的啟用傷害，以及勾選創造模式。玩家將能夠免合成取得所有方塊資源，立即破壞所有方塊。\n進入世界後要按t，使用以下指令取得全部特權才可飛行、穿牆：\n/grantme all 9. 多人連線與指令 # 參見：\nLuanti多人連線 Minetest Game指令列表 10. 其他小雜項 # Minetest Game的鐵門、鋼筋活板門、上鎖的箱子需要「萬能鑰匙」才能開啟。\n野外會生成蝴蝶和螢火蟲，屬於半方塊性質的生物，可用捕蟲網抓補。 螺絲刀是用來旋轉方塊用的，例如改變木頭紋路的方向。圖源 在創造模式取得creative特權後，玩家可以按V顯示小地圖。但在生存模式中，需要使用地圖繪製工具包才可以使用小地圖。\n玩家在死亡後會在原地生成骨頭方塊，裡面存放玩家噴出的物品。\n","date":"2023年9月29日","externalUrl":null,"permalink":"/posts/minetest-game-mechanic/","section":"Luantis","summary":"這篇文章介紹在原版「Minetest Game」中你可以做些什麼。 想熟悉Luanti操作的，你可以在遊戲內的線上內容下載器，安裝Wuzzy製作的「Tutorial」世界。遵從裡面的指示即可快速上手Luanti的操作。 不過，在閱讀Luanti新手攻略與Luanti子遊戲之後，你應該會覺得不裝Luanti模組是玩不下去的。\n即使如此Minetest Game也是有自己的特有的元素，在安裝模組擴充玩法之前，先了解Minetest Game提供的內容也不壞，這樣你可以知道要裝哪些模組來擴充玩法。\n首先要知道的是，Minetest Game真的沒有任何生物，這個一定要裝模組改善。\n1. 合成 # 按I開啟背包，玩家可以在九宮格合成物品。\nMinetest Game的背包中有合成和燒煉配方的提示。 大致上，玩家要先空手敲樹幹取得木頭，合成斧頭/鏟子加快挖掘速度，或合成鎬子挖掘石頭，以此類推製作更好材質的工具，挖掘硬度高的方塊。\n因為沒有生物，劍在Minetest Game單人模式中沒什麼用，但可以加速破壞樹葉、小麥等方塊。\n工具使用後會耗損耐久度，到0後物品便會消失。Minetest Game並無修理機制。\n2. 燒煉 # 燒煉即是透過熔爐，在熔爐中燒製方塊。\n","title":"深入了解Minetest Game的遊戲機制","type":"luanti"},{"content":"Android手機現在要玩《艦隊Collection》更加容易了，因為遊戲二期用HTML5重寫，理論上任一瀏覽器都可以玩。\n只是有二個問題，首先C2機關雖然有在DMM GAMESストア上架Android版《艦これ》官方APP，然而其是Adobe Flash套殼，並未使用二期的HTML5引擎。因此該APP效能不彰，容易玩到一半卡死，不建議使用。\n第二，封鎖日本以外IP問題，雖然可以用VPN解決，但還是直連最好吧？這樣才能隨時用手機肝艦娘。\n以上二個問題，可以用韓國提督ant1test開發的「Gotobrowser」解決。APP圖示是瑞典艦娘Gotland。 Gotobrowser是一款開源的瀏覽器APP，專門針對艦隊Collection優化，使用二期HTML5引擎，可以觸控組聯合艦隊。更棒的是可以幫玩家一鍵繞過IP限制，免開VPN進入遊戲。 除了玩遊戲的功能外，Gotobrowser還內建截圖、字幕翻譯、艦娘乳搖等模組。\n這樣你就可以用手機安心肝艦娘了！\n有了專用的瀏覽器APP還不夠，玩艦隊Collection常需要用到輔助工具，用以查看艦娘的隱藏士氣值資訊，為此我們會一併安裝同一個作者開發的「Kcanotify」，配合Gotobrowser使用，方便在手機上肝艦娘。 此APP會在螢幕顯示一個按鈕，顯示的資訊十分之實用，不輸電腦上的艦隊Collection輔助程式KC3，對於攻略海圖、規劃艦隊成長方向很有幫助。 1. 安裝Kcanotify和Gotobrowser # 這二個APP都無法在Google Play取得，Kcanotify以前有上架但是無法再收到更新了，請一律到Github下載APK。\nKcanotify到Github下載\nGotobrowser到Github下載\n2. 設定Gotobrowser教學 # 注意：您需要註冊過DMM帳號並進過鎮守府母港一次，才可以使用此瀏覽器進入遊戲。\n開啟後，如圖勾選： 點一下「DMM Direct」，選取登入方式為DMM Direct 再按一下「自動登入」，於此處填寫DMM帳號密碼（僅用於本程式自動登入用） 點一下GotoBrowser右上角的設定，如下圖勾選，啟用「登入伺服器封鎖繞行」。再看需求要不要開啟艦娘語音字幕功能（英文翻譯較完整）以及Kantai3D乳搖模組。 回到首頁，登入DMM帳號吧，不需要開著VPN。如果遇到白螢幕的情況，請考慮換個網路或者晚點再試試。\n約莫等個幾秒就會進入母港了！左側面板滑進來可看到一排按鈕，分別是：重新載入、靜音、鎖定螢幕方向、保持螢幕亮著、字幕開關、Kantai3D開關。 直向模式遊玩也是沒問題的！如果手機RAM有4GB以上，還可以利用Android的分割畫面功能玩艦隊Collection一邊做其他事情。此功能Android 7以上的手機應該都有。 3. 設定Kcanotify教學 # Kcanotify可以顯示艦隊遠征消息、任務追蹤、劇透戰鬥結果、防止大破進擊（用手機強烈震動提醒）、計算制空索敵、檢查遠征條件，還可以在背後統計出擊資訊、資源消耗，是不可或缺的好工具。\nKcanotify並無限制一定要配Gotobrowser，搭配官方APP也可以。\n初次啟動需要下載資料，點選同意。接著請點一下右上角的設定 選擇要運行的應用程式，選擇Gotobrowser 接著是我個人的設定，我會把Sniffer模式改成PASSIVE，這樣Kcanotfiy就不會跟我的VPN打架了。（我有其他VPN要用，不這樣設定的話，Kcanotify會用VPN監聽） 勾選「使妖精只顯示在艦隊Collection螢幕」，並按照指示允許Kcanotify存取手機使用資料。 賦予「懸浮視窗」權限，並且停用Kcanotify的電池最佳化防止收不到通知。 之後就可以返回首頁了。點選SERVICE ON，確認服務有啟動（顯示在通知欄），再點選GAME START就會跳轉到Gotobrowser了。 進入遊戲後，Kcanotify會讀取遠征資料，顯示在通知欄。 你應該會在遊戲界面看到一個妖精，點選展開面板，查看編成資料。可一覽艦娘、基地航空隊的資料。 點一下面板右上角的方框，會進入艦隊管理界面，在這裡你可以查看資源消耗率、紀錄艦隊出擊配置、計算明石改修日、遠征資訊，或者將資料匯出到其他服務做統計。\n","date":"2023年9月26日","externalUrl":null,"permalink":"/posts/kcanotify-gotobrowser/","section":"Kantai-Collections","summary":"Android手機現在要玩《艦隊Collection》更加容易了，因為遊戲二期用HTML5重寫，理論上任一瀏覽器都可以玩。\n只是有二個問題，首先C2機關雖然有在DMM GAMESストア上架Android版《艦これ》官方APP，然而其是Adobe Flash套殼，並未使用二期的HTML5引擎。因此該APP效能不彰，容易玩到一半卡死，不建議使用。\n第二，封鎖日本以外IP問題，雖然可以用VPN解決，但還是直連最好吧？這樣才能隨時用手機肝艦娘。\n以上二個問題，可以用韓國提督ant1test開發的「Gotobrowser」解決。APP圖示是瑞典艦娘Gotland。 Gotobrowser是一款開源的瀏覽器APP，專門針對艦隊Collection優化，使用二期HTML5引擎，可以觸控組聯合艦隊。更棒的是可以幫玩家一鍵繞過IP限制，免開VPN進入遊戲。 除了玩遊戲的功能外，Gotobrowser還內建截圖、字幕翻譯、艦娘乳搖等模組。\n這樣你就可以用手機安心肝艦娘了！\n有了專用的瀏覽器APP還不夠，玩艦隊Collection常需要用到輔助工具，用以查看艦娘的隱藏士氣值資訊，為此我們會一併安裝同一個作者開發的「Kcanotify」，配合Gotobrowser使用，方便在手機上肝艦娘。 ","title":"Kcanotify + Gotobrowser使用方式，Android手機玩艦隊Collection必備的二個APP","type":"kantai-collection"},{"content":"如果論有千萬個不要住學校宿舍的理由，我說的一定不會是最後一個。\n我討厭跟學生住在一起，這會讓我抑鬱。\n每當我聽到一點吵鬧聲，我就會想殺人。真的不知道以前大學宿舍怎麼過的，自我住進宿舍，只要待在宿舍房間就沒一天好心情過。\n就這樣痛苦了三年才有了自己租屋的機會，內心都是雀躍的。\n可今天竟然久久遇到了會把一群人帶回家的笨蛋學生了，大吼大叫，那些聲音不禁讓我想起過去不好的回憶。\n痛苦的根源 # 「我在路上聽到學生從我身旁經過大笑，我就會感到寒毛直豎」在學校，我跟心理諮商師這樣坦白我的心裡障礙。第一年進大學我就去看心理諮商了，儘管我覺得沒什麼用，但好歹也是個能說話的對象。\n從第一年說起，宿舍完全不尊重人的笨蛋太多了，學校宿舍老舊不是最大問題，問題永遠是人。\n宿舍當時好像隨機抽的，所以我跟宿舍其他三人不同系，完全無法進入他們聊的上課話題。\n宿舍用力摔門，這很常見，隔壁的或者我這邊的，全部都會這樣做。\n再來，大聲玩遊戲以為自己是國動實況主的同樣很煩。我只會在遊戲裡面打字罵人，不喜歡鬼吼鬼叫。 還有，侵占個人資產，私自在我的位置吃東西，拔掉我的電腦線的，不要太多。在這樣折磨的情況下，我都想掐死室友\u0026hellip;不對，我從沒把那些智障當人看。\n更扯的有一次在宿舍喝酒，玩遊戲到天亮的，當時我如果一次全部檢舉讓他們滾蛋就好了。可惜我沒有，只能默默的在旁看手機，搞到我也被迫一起失眠到天亮。\n當時我人要是在宿舍，我只能默默的戴耳機打《War Thunder》和《Fate/Grand Order》，這樣至少會讓我快樂一點，在宿舍的時候我《艦隊Collection》的閃都是很難刷下去的。\n有時依循「他們」喜歡外放電腦音訊的習慣，我就大聲播放我的《南方四賤客》讓我快樂些，一邊暗自在心中咒罵這群人。 我也嘗試溝通過\u0026hellip;依然故我。\n圖書館與個人的空間 # 宿舍讓我變成了不想回去的地方，我只有週末可以回家。為此我想通了一個辦法，下課後天天都在學校圖書館待到10點才回去。真可惜我校不是哈佛大學可以24小時開著呀。在圖書館，一支手機（後來多了平板和筆電）就夠我坐一晚上了，更不要說圖書館還有豐富的雜學書可以讓我讀，讀累了就睡。\n還有還有，我校可以外借DVD，還有舒適的影音觀賞廳可以借用，有家庭劇院的座位和音響擴大機耶。不過我不好意思，只敢借有老闆椅的電腦座位，在學校電腦觀賞《蒸氣男孩》、《Sky Crawlers》的電影。 回到宿舍怎麼辦呢，十點那些傢伙都還在打電腦。幸好宿舍有閱讀室，很不錯，讀到七晚八晚都不會怎樣，而且大多時候還沒人使用，如果沒有這個地方躲可能就會花錢去睡網咖了吧。\n在閱讀室想幹嘛就幹嘛，看書聽音樂玩《Fate/Stay Night》，製作上課教材，此時我內心才會平靜。\n有時我會乾脆龜在閱讀室一整晚，確認室友都睡了，一二點才回去房間。但好不容易回到宿舍，還會遇到室友打呼的問題，於是我睡覺都要戴有線耳機的，當時只有披頭四《With The Beatles》可以療癒我。 我討厭跟人住在一起。當我順風耳聽到室友出去跟女友開房導致宿舍空蕩蕩，那時我反而是最高興的時候了。\n好了一點，可是我還是要依賴ASMR # 這又不是在當兵，我應該有選擇獨居的權利。\n離開瘋狂的大一了，我一點都不懷念那個時候。第二年幸運的遇到，全都是宅男的室友，完全不講話，此時我過得相對好些，只是我仍然不喜歡跟人共處一室的感覺。因為即使室友不大吼大叫，還是有比我還宅的人玩音遊在那邊半夜顆顆笑。\n至少這個時候起，我可以不用大部分時間都往圖書館跑了，我可以安心待在宿舍使用Blockbench製作Minecraft模組的3D建模，並用iPad繪圖。室友準時12點睡覺，心裡壓力沒那麼大了。只是我還是跟他們沒什麼話題。\n再一年後，遇到了尷尬的情況，換了一個同系學長，還有一個整天抱怨他會計系怎樣怎樣的學生。我只記得會計系的會一直發出擤鼻涕的聲音，好像是天生疾病還怎樣。\n大三的情況沒有大一誇張，相處卻開始覺得尷尬。有一次我因為英語演講課上課壓力太繁重，暴走錘了一下床板要會計系的安靜早點睡，結果他就嚇跑了\u0026hellip;我好像被當成躁鬱症瘋子了。總之後來宿舍只剩二個人，我跟那個學長也是沒話題，但鑑於他只會偶爾顆顆笑，所以我也不是很常待在圖書館才回家了，反正他玩遊戲，我繼續用Photoshop畫我的Pixiv R18畫作。\n我還是不喜歡跟人共處一室的感覺，有人在我身邊就會不自在。睡覺慣例戴的耳機此時已經換成無線的了，我得放ASMR的暴雨聲音才能睡去。\n搬出去果然好多了 # 大學最後一年，我搬出去住了，好些了嗎\u0026hellip;是，我很自由，大部分時候都是讓我心靈快樂的。曾未有過的心靈富足之場景，終於下課後有地方可以直接安心的回去睡覺了。鄰居多半社會人不會吵，望著偌大的寢室我也不感到孤單（屏東租房真的很便宜啊）。 在那之後除了偶爾教授打電話來催論文以外，每天心情都很愉快。在因緣際會下，我有了時間能夠經營個人部落格，在外面累積靈感（我還是有在上課啦），回宿舍再不用考慮旁人觀感，我可以全心投入寫作當中。\n成為研究生後，我一點都不覺得獨處有什麼問題。照樣會跟同學出去hangout，只是我可以控管誰能夠進入我的房間。\n關於文首講到的問題，這次我就先戴耳機假裝沒聽見。如果再有下次我就會請示房東處理，如果房東不積極作為我想可以直接叫警察了。\n","date":"2023年9月25日","externalUrl":null,"permalink":"/posts/2023092501/","section":"Personals","summary":"如果論有千萬個不要住學校宿舍的理由，我說的一定不會是最後一個。\n我討厭跟學生住在一起，這會讓我抑鬱。\n每當我聽到一點吵鬧聲，我就會想殺人。真的不知道以前大學宿舍怎麼過的，自我住進宿舍，只要待在宿舍房間就沒一天好心情過。\n就這樣痛苦了三年才有了自己租屋的機會，內心都是雀躍的。\n可今天竟然久久遇到了會把一群人帶回家的笨蛋學生了，大吼大叫，那些聲音不禁讓我想起過去不好的回憶。\n痛苦的根源 # 「我在路上聽到學生從我身旁經過大笑，我就會感到寒毛直豎」在學校，我跟心理諮商師這樣坦白我的心裡障礙。第一年進大學我就去看心理諮商了，儘管我覺得沒什麼用，但好歹也是個能說話的對象。\n從第一年說起，宿舍完全不尊重人的笨蛋太多了，學校宿舍老舊不是最大問題，問題永遠是人。\n宿舍當時好像隨機抽的，所以我跟宿舍其他三人不同系，完全無法進入他們聊的上課話題。\n宿舍用力摔門，這很常見，隔壁的或者我這邊的，全部都會這樣做。\n再來，大聲玩遊戲以為自己是國動實況主的同樣很煩。我只會在遊戲裡面打字罵人，不喜歡鬼吼鬼叫。 還有，侵占個人資產，私自在我的位置吃東西，拔掉我的電腦線的，不要太多。在這樣折磨的情況下，我都想掐死室友…不對，我從沒把那些智障當人看。\n","title":"從以前到現在我就很討厭學生宿舍","type":"personal"},{"content":"你lag了，別人都確診過，現在才輪到你\n去年我曾經被雲誤診過Covid-19\n但這次是真的了\n今年「二個凡是」都失敗了，首先Xperia 5 II手機逃不過確診綠線，再來我打三劑BNT以為是天選之人，卻冷不防的被家人傳染Covid-19。\n理論上沒有那麼好確診吧，但是，我想熬夜打艦隊Collection活動到天昏地暗也是讓免疫力下降的因素，現在還卡在E6，所以病情才馬上發作。\n是啊我沒想到現在還有人在確診，只差現在沒疫調，確診也不會收到隔離簡訊，一切看你自己要怎麼做。\n邊緣人很偶爾才會跟花花公子同學出去hangout的，怎麼會染疫呢\u0026hellip;被公司上班的家人傳染的。真有你的。我聽說他們確診照樣上班，難怪。\n明明是開學第一個禮拜，最重要的交接都去不成\n原本想說頂多感冒症狀而已，結果病毒很強，第二天馬上驗出二條線了。\n這整整5天我都在聽My Chemical Romance的黑暗行軍 還以為要死了\u0026hellip;其實沒有啦。\n現在跟三年前已經大不相同了，現在有藥有疫苗。\n回首三年前\n在人人都還在叫武漢肺炎、中共病毒、黑人抬棺的2020年，譚德塞那時還是譚書記，Covid-19真的是絕症，染疫就要鎖在家裡。外面世界在亂，台灣人因為疫調小確幸一段時日，我的大學生活和工作沒受太大影響，還可以跟女性朋友出去約會，只不過是戴口罩有點煩而已。\n疫苗和口服藥出現之前\n期間不知道已經造成了多少悲劇\n台灣撐二年之後仍因為酒空部長的蟲洞跟著淪陷，那之後就是封城＋遠距教學無限循環，當初索性從下學期初放到學期末，連帶影響到我待在大學的最後一年的心情。我自己都承認，遠距教學效果很差的說。\n「戲就這麼散了」\n可是現在每個國家都放開了\n因為大多數都有接種過疫苗\n我是3劑BNT，畢竟不打學校不給進入。\n染疫確實也沒大不了了，只是重一點的感冒罷了。\n我的病情發展從喉嚨有痰，變成不間斷低燒，再到喉嚨痛＋鼻塞，還有時不時吃東西的反胃、咳嗽，咳的要死要活的。\n幸運的是嗅覺和味覺沒有消失\n只要沒有重症風險，吃中藥「清冠一號」也能好。可惜二個月前才改成要自費了，我這邊買要1800元耶。\n七天後就變陰性了，長新冠症狀繼續吃感冒藥解決即可。\n感謝台灣過去和現在醫療人員的付出，才讓我們現在免於一死。\n","date":"2023年9月24日","externalUrl":null,"permalink":"/posts/2023092401/","section":"Personals","summary":"你lag了，別人都確診過，現在才輪到你\n去年我曾經被雲誤診過Covid-19\n但這次是真的了\n今年「二個凡是」都失敗了，首先Xperia 5 II手機逃不過確診綠線，再來我打三劑BNT以為是天選之人，卻冷不防的被家人傳染Covid-19。\n理論上沒有那麼好確診吧，但是，我想熬夜打艦隊Collection活動到天昏地暗也是讓免疫力下降的因素，現在還卡在E6，所以病情才馬上發作。\n是啊我沒想到現在還有人在確診，只差現在沒疫調，確診也不會收到隔離簡訊，一切看你自己要怎麼做。\n邊緣人很偶爾才會跟花花公子同學出去hangout的，怎麼會染疫呢…被公司上班的家人傳染的。真有你的。我聽說他們確診照樣上班，難怪。\n明明是開學第一個禮拜，最重要的交接都去不成\n原本想說頂多感冒症狀而已，結果病毒很強，第二天馬上驗出二條線了。\n這整整5天我都在聽My Chemical Romance的黑暗行軍 還以為要死了…其實沒有啦。\n現在跟三年前已經大不相同了，現在有藥有疫苗。\n回首三年前\n在人人都還在叫武漢肺炎、中共病毒、黑人抬棺的2020年，譚德塞那時還是譚書記，Covid-19真的是絕症，染疫就要鎖在家裡。外面世界在亂，台灣人因為疫調小確幸一段時日，我的大學生活和工作沒受太大影響，還可以跟女性朋友出去約會，只不過是戴口罩有點煩而已。\n","title":"2023年了還在確診Covid-19","type":"personal"},{"content":"","date":"2023年9月24日","externalUrl":null,"permalink":"/tags/my-chemical-romance/","section":"標籤","summary":"","title":"My Chemical Romance","type":"tags"},{"content":"考慮以下情況：當我們使用電腦瀏覽網頁的時候（不論是Linux還是Windows），我們會對圖片右鍵「另存新檔」，對話框跳出來，並選擇要儲存到哪個資料夾。這樣的操作有助於事先分類檔案，而不是讓所有檔案都塞在「下載」資料夾。 那麼Android手機有無辦法「另存新檔」？很多APP即使有長按儲存，仍不能選擇下載位置。以Google Chrome為例，檔案一律下載到Downloads資料夾。再以Facebook來說，下載的檔案一律會放到DCIM/Facebook；Twitter則是Pictures/Twitter；Pixiv會儲存到Pictures/Pixiv\u0026hellip;諸如此類的限制，使用者得事後用檔案管理器來整理檔案。\n因此，本文將介紹的一個小工具就派上用場了：Phone Saver，它可以在下載檔案的時候選擇要儲存的資料夾，任意變更儲存檔案的位置，達成電腦「另存新檔」的效果，對大部分APP皆有效。 Phone Saver是開源軟體，原始碼位於Github，APP可以在Google Play下載。\n開啟Phone Saver，設定要儲存的資料夾。這裡新增的資料夾請選擇個人常用的資料夾。 接著我們來看要如何使用Phone Saver下載檔案：觸發Phone Saver需要點選「分享」功能，例如Google Chrome長按「分享圖片」 接著你會在分享（或者更多APP）看到Phone Saver的按鈕。如果你已經按過很多次，則Phone Saver圖示應會出現在上一步驟的「分享圖片」。 按下去後就可以選擇下載位置了！ Facebook也是同理，在檢視照片的界面點選分享到外部儲存空間 → Phone Saver，即可選擇下載位置。 不過Twitter（X）APP似乎不想讓Phone Saver儲存的樣子，此時就只能用網頁版儲存了。\n","date":"2023年9月24日","externalUrl":null,"permalink":"/posts/phone-saver-android/","section":"所有文章","summary":"考慮以下情況：當我們使用電腦瀏覽網頁的時候（不論是Linux還是Windows），我們會對圖片右鍵「另存新檔」，對話框跳出來，並選擇要儲存到哪個資料夾。這樣的操作有助於事先分類檔案，而不是讓所有檔案都塞在「下載」資料夾。 那麼Android手機有無辦法「另存新檔」？很多APP即使有長按儲存，仍不能選擇下載位置。以Google Chrome為例，檔案一律下載到Downloads資料夾。再以Facebook來說，下載的檔案一律會放到DCIM/Facebook；Twitter則是Pictures/Twitter；Pixiv會儲存到Pictures/Pixiv…諸如此類的限制，使用者得事後用檔案管理器來整理檔案。\n因此，本文將介紹的一個小工具就派上用場了：Phone Saver，它可以在下載檔案的時候選擇要儲存的資料夾，任意變更儲存檔案的位置，達成電腦「另存新檔」的效果，對大部分APP皆有效。 Phone Saver是開源軟體，原始碼位於Github，APP可以在Google Play下載。\n開啟Phone Saver，設定要儲存的資料夾。這裡新增的資料夾請選擇個人常用的資料夾。 接著我們來看要如何使用Phone Saver下載檔案：觸發Phone Saver需要點選「分享」功能，例如Google Chrome長按「分享圖片」 ","title":"Phone Saver「另存新檔」，讓Android手機下載檔案時可選擇下載位置","type":"posts"},{"content":"","date":"2023年9月21日","externalUrl":null,"permalink":"/ja-jp/tags/privacy/","section":"Tags","summary":"","title":"Privacy","type":"tags"},{"content":" 自前構築サービス（self-hosting, self-hosted）は、「自託管」、「自搭建」とも呼ばれるコンピューター科学用語であり、個人サーバーでネットワークサービスを動かし、大企業が提供するネットワークサービスを置き換えることを意味する。\nWikipediaのSelf-hostingの定義を参照：\nSelf-hosting is the practice of running and maintaining a website or service using a private web server, instead of using a service outside of someone\u0026rsquo;s own control. Self-hosting allows users to have more control over their data, privacy, and computing infrastructure, as well as potentially saving costs and improving skills.\nたとえば、一台のサーバーを購入して家に置き、NextcloudをインストールしてGoogle Driveを置き換え、データをすべて自分の手で管理する。これが一種の自前構築である。 自前構築サービス(self-hosting)が指すのは、単にWebサイトやファイルサーバーを立てることだけではない。個人用の一連のWebサービスを構築することだ。あなたが思いつく商用ネットワークサービスのほとんどには、自前構築できる代替品を誰かが作っている。\nこの記事では、自前構築する理由と具体的なやり方を論じる。\n自前構築の理由 # 現在のインターネットの時代、人々は特定のネットワークサービスを提供する会社を探し、そのサービスを使って依存し、個人データをそこに置く。\nよくあるネットワークサービスには：フォトアルバム、カレンダー、クラウドストレージ、ブログ、コンテンツ管理システム、電子書籍、音声・映像ストリーミング、パスワード帳、ノートソフトウェア、ゲームストリーミングサービス、検索エンジン、VPN\u0026hellip;などがある。\nしかし多くの会社は無料を呼び物にし、利益を得るために、しばしばユーザーのプライバシーを売り渡す。たとえばユーザーデータを収集して広告を配信する。これは一種の等価交換と言えるだろう。さらに商業競争のために、さまざまな方法でユーザーを引き止め、ユーザーに自分の重要データを両手で差し出させると同時に、下賊船的代價を高め、永遠に離れられないようにする。\n上記の前提が成立する状況で、個人データを一人の人間の心血の結晶と見なすなら、それは最も貴重な資産である。そしてこの資産は縛られるべきではない。ユーザーに心の余力があり、自分のデータの自主権、プライバシー権を気にしており、個人の権益を犠牲にしてデータを大企業にがっちり管理されたくないなら、唯一の方法はサービスを自前構築することだ。\n自前構築サービスは、単にWebサイトを立てることではなく、個人用の一連のWebサービスを構築することだ。\n自分のサーバーを持ち、その上で自分が欲しいネットワークサービスを動かし、いつでもどこでもアクセスする。データは完全にあなたの手にあり、どの企業にも支配されない。\nそれでも商用クラウドストレージを使う必要があるなら、それらはコールドストレージのバックアップ先として扱えばいい！ファイルを暗号化して鍵をかけてから投げ込む。\nハードウェアシステム部分では、自前構築サービスは通常Linuxシステム上で動く。これはオープンソースで無料、ユーザーが自主的に制御できる自由なシステムだ。\n動かすWebサービスについては、ネット上に同級の商用サービスに対する代替品が非常に多くあり、その多くはオープンソースソフトウェアである。ユーザーは自前構築の代替案を簡単に見つけ、自分のサーバー上で動かせる。問題があれば、ネットフォーラムの使い方に慣れていればすぐに答えを得られるし、機能に貢献することさえできる。\n何でも自前構築すればいいわけではない # 私も、あなたが何でも自前構築しなければならないと言っているわけではない。現代人は特定企業のネットワークサービスから離れるのが難しい。特に多くの人が毎日スマートフォンを使う状況では、自前構築が時には面倒をもたらす。 たとえばEmailを自前構築するコストは非常に高い。大型機関のネットワークに寄生しない状況で自分でEmail serverを立てるのはとても時間がかかる。uptime問題を考えるだけでなく、フィッシングメールも防がなければならない。これは必要ない。高プライバシーのEmailが欲しいなら、ProtonmailやTutanotaへ替えればよい。\nまた、複数人で使うサービスの場合、同級生/同僚に自分の自前構築クラウドストレージや、さらには会議システムまで使わせようと強制し、過程が面倒になり効率まで足を引っ張るなら、それは割に合わない。\n自前構築を考えると同時に、便利さと個人の権利の間で取捨選択する必要がある。私は、扱うデータが個人プライバシーファイルに関わる時にこそ、自前構築サービスを検討する価値があると思う。\n以下では自前構築サービスの方法を論じる。これはサーバーを借りる方法と、Homelabを建設する方法に分けられる。\n1. サーバーを借りる # サーバーを借りるのはWebサイトを立てるのと同じで、ホストの使用権を購入することだ。たとえばAWS、GCP、Azureで、通常は使用量に応じて課金される。私が知っている比較的特殊なホスティング事業者にPikaPodsがあり、彼らはDockerサービスだけを売っているので価格が安い。\nしかし上で、大企業の商用サービスに依存するなと言ったのでは？ここで買うのはサーバー使用権であり、単に商業会社の製品を使うだけではないので、自主性が比較的大きい。買っているのがサーバー使用権である以上、個人用途だけなら基本的にホスティング事業者はあなたがサーバーで何をするかを気にしないし、追跡する暇もない。\n完全なサーバーアクセス権を購入すれば、自分が動かしたいサービスを構築する元手が手に入る。\nホスティング事業者は通常、固定アクセスできるIPを提供する。自分で購入したドメインと組み合わせれば、いつでもどこでもSSH接続できる。\n十分な金を払えば、大型企業が提供するホストには切断問題が起きない。\n一部のホスティング事業者はバックアップとSSLサービスも提供してくれるので、ローカルハードウェアの破損を恐れなくてよい。\nつまり、あなたは金を払ってサーバーを借り、保守コストを減らしながら、いつでもどこでも使える可用性を得る。\n最も安いプランを買うとしても、踏み台(VPN)を立てる用途にはなかなか良く、以下のhomelab方式を受け止めることもできる。\n2. Homelabを建設する # もう一つの方法は、設備を買ってhomelabを作り、ローカルに自分のサーバー環境を構築することだ。サーバーを置く場所は自宅、倉庫、あるいは地下室でよく、ネットに繋がればよい。1990年代、人々はこうやって自分のWebサイトを立てていた。\n長期的に見ると、電気代とネット代を払うほうが、サーバーを借りるより安くなる可能性があり、後から買い足したりアップグレードしたりするのも比較的簡単だ。\nただし保守は少し不便だ。というのも、個人的には既製のNAS製品を買うと別種のlockdownになると思っているため、私は自作サーバーを組み、そこにLinux/BSDをインストールするほうに傾いている。しかしこれは保守コストも上げる。バックアップやハードウェア破損の問題を含み、ファイアウォール規則も設定しなければならない。これらをすべて理解した時、あなたはもう半分システム保守エンジニアになっている。\nしかし自分でハードウェアを準備する利点は多い。導入コストが低く、時には新しいハードウェアを特別に買わず、古いPCにLinux/BSDを入れるだけで適当に実験を始められる。サーバーの多くはheadlessサービスであり、CPU性能だけを食うからだ。\nそれに、多くのソフトウェアはRaspberry Piでも動くように考慮されている。Raspberry Piで動くものが、あなたの古いCPUで動かないはずがあるか？\nUnraidと組み合わせてバックアップを行い、さらにUPSを購入して停電によるサーバー破損を防ぐ。\n3. 折衷方法：住商混合コミュニティ # 現在あなたが使っているメインPCで自前構築サービスを動かし、入門練習に使う。そんなこと可能なのかと言うかもしれないが、可能なのだ。今では多くの自前構築サービスはDockerで動かせるので、複雑な環境を組む必要がない。メイン環境がLinuxでなくても、Windowsには仮想マシンやWSLが使える。しかも仮想マシンのものはメインシステムと隔離されるので、実験にはさらに便利だ。\n電気代を気にしなければ、PCをシャットダウンせず維持できる（台湾はそんなにしょっちゅう停電しないはずだよね、民主の聖地だしね）。自前構築サービスの実験をするのは難しくない。\n外部ネットワークから自宅PCへアクセスする方法はたくさんある。リモートデスクトップも不要、VPN踏み台を立てる必要もない。内網穿透ソフトウェアを通じれば、公開ネットワークからプライベートネットワークへ簡単に接続でき、転送は全過程で暗号化される。\nさらにサービスを立ち上げれば、SSH+Webパネルでサービスをリモート管理できる。\n自前構築サービスの実例をもっと知りたい？ # 本サイトの実際の操作例 r/SelfHosted - Self-Hosted Alternatives to Popular Services - Reddit Awesome-Selfhosted list - Github ","date":"2023年9月21日","externalUrl":null,"permalink":"/ja-jp/posts/why-should-you-self-host/","section":"Foss-Issues","summary":" 自前構築サービス（self-hosting, self-hosted）は、「自託管」、「自搭建」とも呼ばれるコンピューター科学用語であり、個人サーバーでネットワークサービスを動かし、大企業が提供するネットワークサービスを置き換えることを意味する。\nWikipediaのSelf-hostingの定義を参照：\nSelf-hosting is the practice of running and maintaining a website or service using a private web server, instead of using a service outside of someone’s own control. Self-hosting allows users to have more control over their data, privacy, and computing infrastructure, as well as potentially saving costs and improving skills.\nたとえば、一台のサーバーを購入して家に置き、NextcloudをインストールしてGoogle Driveを置き換え、データをすべて自分の手で管理する。これが一種の自前構築である。 自前構築サービス(self-hosting)が指すのは、単にWebサイトやファイルサーバーを立てることだけではない。個人用の一連のWebサービスを構築することだ。あなたが思いつく商用ネットワークサービスのほとんどには、自前構築できる代替品を誰かが作っている。\nこの記事では、自前構築する理由と具体的なやり方を論じる。\n自前構築の理由 # 現在のインターネットの時代、人々は特定のネットワークサービスを提供する会社を探し、そのサービスを使って依存し、個人データをそこに置く。\n","title":"なぜサービスを自前構築(self-hosting)すべきなのか、そして具体的なやり方","type":"foss-issues"},{"content":"如果想要將Google相簿照片搬家，最簡單的方式就是跟Google申請下載全部照片了吧，對，你有這個權力，你可以跟Google要你上傳的全部原始畫質檔案（如果你上傳時沒有勾選壓縮畫質的話）。\n將Google相簿照片下載到自己電腦，後續要整理總是方便多了。整理好後便可以安心搬家到Immich、PhotoPrism等自架相簿的替代方案了。\n但下載後，你可能會遇到照片日期與拍照地點跑掉的問題，以及Google自成一套的資料夾結構。打開下載後的資料夾，會發現裡面一堆json是安怎！？原來Google相簿把照片資訊分別寫在單獨的json檔呀，可其他照片軟體不見得吃這樣的整理邏輯呀。 為了解決上述問題，我們可以使用開源軟體「Google Photos Takeout Helper」(GPTH) 合併所有檔案，讓下載的照片變成只有一個資料夾，並且還原照片拍攝的時間地點，保留線上整理過的相簿結構。\n此軟體由Mateusz Soszyński以Dart語言寫成，支援Linux、Windows、macOS。\n1. 申請Google相簿資料匯出作業 # 到Google Takeout申請資料匯出作業，僅勾選Google相簿，等Google寄下載連結給你。 使用7zip解壓縮。Google相簿的壓縮檔解壓縮後會含有大量json檔；並且照片是按照年份資料夾分類的，這樣不好用其他軟體管理。 2. 使用GPTH處理照片 # 到Github下載Google Photos Takeout Helper執行檔，Linux是gpth-linux，Windows是gpth-windoza.exe。\n切換到GPTH程式所在的資料夾，開啟終端機（Windows在檔案總管右鍵按＋Shift，開啟Powershell），執行GPTH程式，開始合併。\n語法為：./gpth -i \u0026quot;來源資料夾路徑\u0026quot; --album \u0026quot;參數\u0026quot; -o \u0026quot;輸出資料夾路徑\u0026quot; GPTH指令裡面有一個--albums參數，用於設定遇到Google相簿的「線上相簿」的處理方式：\nduplicate-copy：針對每個相簿建立新資料夾，並複製照片到該資料夾，即使重複也無所謂。此選項佔用更多磁碟空間。 json：不複製照片，將所有封存和垃圾桶的照片放在同一個資料夾，並將相簿資訊寫入至單一json檔。 nothing：無視封存和垃圾桶的照片，將全部照片放在同一個資料夾。 shortcut：針對每個相簿建立資料夾，但不複製檔案，僅新增符號連結(捷徑)指向原始照片，節省磁碟空間。缺點是符號連結可能會在搬移檔案到其他電腦的時候毀損。 我使用以下指令，處理位於/home/user/Downloads/Takeout/Google 相簿 的照片，使用--album shortcut，並將合併後的照片輸出到桌面的output資料夾。\n./gpth-linux -i \u0026#34;/home/user/Downloads/Takeout/Google 相簿\u0026#34; -o \u0026#34;/home/user/Desktop/output\u0026#34; --albums \u0026#34;shortcut\u0026#34; 合併結果如下。原本相簿的Json檔案都不見了，所有照片位於ALL_PHOTOS資料夾下，以及各個相簿的資料夾。 如果點開相簿的資料夾，會發現檔案全部都是連結檔，連結指向上一層ALL_PHOTOS資料夾下的原始照片檔案。 ","date":"2023年9月21日","externalUrl":null,"permalink":"/posts/googlephotostakeouthelper-usage/","section":"所有文章","summary":"如果想要將Google相簿照片搬家，最簡單的方式就是跟Google申請下載全部照片了吧，對，你有這個權力，你可以跟Google要你上傳的全部原始畫質檔案（如果你上傳時沒有勾選壓縮畫質的話）。\n將Google相簿照片下載到自己電腦，後續要整理總是方便多了。整理好後便可以安心搬家到Immich、PhotoPrism等自架相簿的替代方案了。\n但下載後，你可能會遇到照片日期與拍照地點跑掉的問題，以及Google自成一套的資料夾結構。打開下載後的資料夾，會發現裡面一堆json是安怎！？原來Google相簿把照片資訊分別寫在單獨的json檔呀，可其他照片軟體不見得吃這樣的整理邏輯呀。 為了解決上述問題，我們可以使用開源軟體「Google Photos Takeout Helper」(GPTH) 合併所有檔案，讓下載的照片變成只有一個資料夾，並且還原照片拍攝的時間地點，保留線上整理過的相簿結構。\n此軟體由Mateusz Soszyński以Dart語言寫成，支援Linux、Windows、macOS。\n1. 申請Google相簿資料匯出作業 # 到Google Takeout申請資料匯出作業，僅勾選Google相簿，等Google寄下載連結給你。 使用7zip解壓縮。Google相簿的壓縮檔解壓縮後會含有大量json檔；並且照片是按照年份資料夾分類的，這樣不好用其他軟體管理。 ","title":"「GPTH」Google相簿搬家整理照片工具教學，合併json日期地點變成單一資料夾","type":"posts"},{"content":" 論近年來拍的最好的香港三級片，一定不能漏掉2012年的香港電影《一路向西》，劇情改編自網路小說，與其說是情色電影不如說是喜劇片。這部純粹看爽的。儘管是三級片，部分場景已經媲美AV等級，只差沒露第三點了。 電影中出現不同女角場景就足夠有趣了，各有各的故事和好用情節。若要將四個段落分開看也可以，因為我覺得整部電影的主菜完全都在小思那一段，不僅是全戲最高潮，還好用到爆炸。\n作為香港三級片，一路向西要搞到1080p高畫質片源並非難事。縱然香港過去有很多經典名作，但一路向西是畫質最好、點露最多的，且背景設定在現代。\n下面挑出幾個男主角交手過的重要女性角色，來看看為何這部會被我視為經典和實用的名作。\n1. 開胃菜1：希崎潔西卡 # 香港三級片的噱頭是找AV女優來演。\n這段標準日本AV的劇情，演得太歡樂且沒有床戲，所以不好看。\n潔西卡身材很好，尤其那個肋骨\u0026hellip; 反應了許多年輕男性的經歷：看片要小心翼翼鎖門，並且還會有迷之代入感，幻想AV女優幫你吹出來。 縱然潔西卡的身材還可以但也只是開胃菜。\n2. 第一個高潮：骨感女友Zoey（莫綺雯） # 第一個女友的骨感身材相比後面的小思有情竇初開的感覺，骨感的身材也有一番特別風味。\n（有些場景真的很暗，抱歉）\n電影一開始的時候，反應年輕男孩子思春期想法，幻想對方胸罩顏色 沒想到是米老鼠 把這個胸罩褪去，肋骨我覺得很色。 抓著小小的奶子，這算什麼，電影後面還有更大的！ 之後開始插入，終於破處成功。 電影畫面會有小小的奶子跟著晃動的樣子，雖然沒有很精彩可是也顯示出這姑娘實際上也是深藏不露的。 背後式也不賴，看著普通尺寸的奶子前後擺動是個不錯的場景，這就是純真的青春期甜蜜的愛。 當然這部戲絕對不是什麼浪漫片，跟清純女發展關係完全是男主喝醉的妄想，在帳篷裡實際幹到的是個龍。\n3. 配菜：潔癖女友Zera（郭穎兒） # 這個女友真是難搞，乳量小又有嚴重潔癖。\n看著這幕還蠻有趣的，男主要自己打起來戴套，接著鑽入被窩，自己動自己射。女角在一邊像死魚一樣的上網，連她在笑的時候都是因為網路論壇而笑。 這有點像日本漫畫裡面出來援交卻放著給男人動，自己在那邊滑手機的JK，這一幕很惡趣味，但除非是這種性癖好的，看到這一幕都會不爽吧。\n後來電影最後面，男主幻想複合的畫面潔癖女友總算露了\u0026hellip;屁啦二點還是都遮住是三小 哇哩嘞，這個潔癖女友的片段可能還沒前面的第一代骨感女友好。\n穿內衣誘惑男主又訂一堆規則，男主想硬上就被打一巴掌，「你當我妓女啊！？」 好喔，那我就去找。潔癖女友一直不配合是害後面男主去嫖妓的主要原因。\n4. 第二個高潮：小思（王李丹妮） # 小思是整部戲的重頭戲，雖然角色設定是男主從香港到中國大陸叫的妓女，但她是能帶給主角最大性愛快樂的女孩，服務周到。\n前面清純女友的技巧怎能跟小思比！\n一開始奶子壓制，果然奶子就是要擠才會大。這一幕彷彿都能聞到身上的香水味了。 作為老練的妓女，小思會不時稱讚男主表現很棒，可以說讓人很有親切感了（只要錢夠多）。這段劇情反映了十年前中國還沒大規模掃黃時候的玩法。\n下一慕露出巨乳，奶子上的青筋為這幕增添不少性感程度，還有那八字奶，超讚。 不禁會問其實奶子也沒那麼大啊？拜託現實中如果奶子要大得像二顆球一樣要J罩杯才可以，那種只有田中瞳才辦得到了，小思的奶子已經算大了。\n水床服務，用身體照顧周到，體驗真實泰國浴的那種感受。因著潤滑液的身體，欣賞女主著實是不錯的開胃菜，欣賞女主胴體。\n巨乳的優勢就是可以用奶子貼著背部服務，這一段就是挑逗的很好。 還把手放到奶子上\u0026hellip; 突然冒出來的爆肛場景，笑死 倒吊著吹的特技還是免了吧 前戲，深情挑逗 真正的主餐終於到來，「你會讓我很舒服嗎？」男主正式插入後，小思的專業叫床讓人銷魂 之後欣賞不間斷騎乘位置，奶子激烈的晃動。真的沒看過這麼會騎馬的女生。\n不論是側邊，還是正面，這對奶子是真的大 再把頭埋進去上下搖晃的巨乳\u0026hellip; 這個屁股的畫面也不錯，我覺得導演可以特寫屁股上下搖動的鏡頭會更實用，可是這樣就難免會拍到第三點了吧。 畢竟是搞笑電影，中間有一段男主騎到出現幻覺被警察抓的部分可以跳過。我不覺得「越分心小弟弟就越持久」。\n幻覺過後，男主重新享受性愛。這一幕終於有拍到的大奶子 男主也重新奪回主動權，變回正常位加速衝刺。奇怪為何一個男人跟妓女做愛，搞得比跟真的愛人還濃情蜜蜜。 最後欣賞乳房波濤洶湧。 最後一幕是讓觀眾可以一邊打一邊跟著主角節奏射精的畫面：正常位一直向前突刺，最後奮力地一挺射精到保險套裡面，性愛結束。 事後還親個幾下。\n可以看到小思真的就是盡責的妓女，雖然抱著男主，盡責的叫床，最後接受射精，可是雙腳沒有完全的勾住對方，這就說明了這是一場單純有性無愛的一夜情，雙方只是基於錢的交易獻出身體。\n畢竟看過那對張開奶子誰都難以回得去了，事後一起吸煙的橋段我想容易讓人暈船吧。 如果Google一下，可以發現很不錯的王李丹妮早期寫真照，就像電影演出那樣的自然巨乳。可惜最近幾年她有整型，氣質不若以前那樣自然了。蒙古乳牛的身材雖然還在，可是當年的神韻已經不見了。\n","date":"2023年9月21日","externalUrl":null,"permalink":"/posts/due-west-our-sex-journey-review/","section":"Nsfws","summary":" 論近年來拍的最好的香港三級片，一定不能漏掉2012年的香港電影《一路向西》，劇情改編自網路小說，與其說是情色電影不如說是喜劇片。這部純粹看爽的。儘管是三級片，部分場景已經媲美AV等級，只差沒露第三點了。 電影中出現不同女角場景就足夠有趣了，各有各的故事和好用情節。若要將四個段落分開看也可以，因為我覺得整部電影的主菜完全都在小思那一段，不僅是全戲最高潮，還好用到爆炸。\n作為香港三級片，一路向西要搞到1080p高畫質片源並非難事。縱然香港過去有很多經典名作，但一路向西是畫質最好、點露最多的，且背景設定在現代。\n下面挑出幾個男主角交手過的重要女性角色，來看看為何這部會被我視為經典和實用的名作。\n1. 開胃菜1：希崎潔西卡 # 香港三級片的噱頭是找AV女優來演。\n","title":"《一路向西》最棒香港三級片，巨乳和貧乳盡出的好用","type":"nsfw"},{"content":"本文將簡介使用KCCacheProxy對艦隊收藏進行魔改，介紹如何用GIMP簡單修圖，修改艦娘立繪。\n製作完成後，還可以將魔改檔製作成「模組」方便給他人安裝。\n1. 前言 # 在艦隊Collection不用VPN連線的文章，Ivon曾經介紹過KC3和KCCacheProxy，它們的技術都是將遊戲網址換成預先準備的快取，繞過DMM的IP封鎖，順利進入遊戲。\n預先準備的快取裡面包含UI、語音、家具、裝備、艦娘立繪什麼的\u0026hellip;這些都是遊戲載入的時候會讀取的資料，ㄟ，這裡似乎給了我們一點想法。預先準備的快取在我們的手上，不就代表可以進行魔改嗎？是的KCCacheProxy就是有這樣的功能，它作為本機代理伺服器，還能安裝「魔改模組」，例如中文化模組、英文化模組、3D模組。Android手機的Gotobrowser也已經支援載入英文化模組。\n如果只是要替換立繪，只要會修圖就好，不用到寫Javascript啦。\n透過KCCacheProxy，可以將隨時將瀏覽器(Chrome、poi、七四式)的快取資源切換成KCCacheProxy的快取，達成魔改效果。原理大概像下圖這樣，因為沒有向艦隊收藏伺服器發送任何額外封包，理論上不會被封鎖帳號，魔改僅只是影響本機的瀏覽效果，也就是只有提督自己能看到魔改後的畫面。 艦隊Collection英文圈還有Ordami等人，會定期整理最新版的完整遊戲快取，這就代表KCCacheProxy能長期使用，並且遊戲更新後魔改還是會留著。除此之外，艦隊收藏的「貓襲」是隨時都可能發生的，包括在結算戰鬥結果時遊戲資源下載失敗也會貓，而事先準備好的快取能減少這種情況帶來的危害。\n2. 安裝KCCacheProxy和KC3 # 參考：\nKCCacheProxy使用方法 KC3安裝教學 在接下來的教學中，將使用Chrome + KC3 + KCCacheProxy作範例。\n3. 下載遊戲完整快取 # 跟中國島風Go提供的緩存包類似，這裡的快取檔案是歐美玩家提供的。\n請到tsunkit.net或者Ordami的MEGA下載完整遊戲快取，約5GB，每次遊戲更新後就會同步，不過不需要每次更新都抓最新版的完整版快取，KCCacheProxy會自動更新。\n將快取壓縮檔解壓縮後會得到一個「cache」目錄，請隨意放置，例如放在「文件」目錄下。\n4. 開始魔改 # 這邊使用的修圖軟體是自由開源的GIMP，用Photoshop也行。\n開啟cache目錄，下面會有一個「kcs2」目錄，裡面會有以下目錄：\nimg：工廠、圖鑑、戰鬥的的圖片 resources：艦娘、深海棲艦、裝備、海圖的圖片 其餘目錄用途的詳情看這裡。\n如果要修改艦娘「荒潮改二」的立繪的話\u0026hellip; 就到/resources/ship/full，這邊會看到所有艦娘和深海棲艦的圖片： 要怎麼知道要改的艦娘ID是多少？這邊排序很迷，因此開啟KC3的「策略研究室」 按左邊的「Ship List」，查看艦娘圖鑑，按CTRL+F搜尋，艦娘名字前面的就是圖片ID，因此這邊可以確定「荒潮改二」的圖片檔名開頭是490。 回到full的目錄，找到開頭為490的png圖片，確定是荒潮改二後，右鍵，使用GIMP開啟。 點選左上角檔案 → 開啟成為圖層 選取要替代的圖片，加入為圖層，按下Enter。\nGIMP要去背很容易，這邊不多說了。我知道這張斷腿了\u0026hellip;我只是想看秘書艦的效果。(這張荒潮的作者：リチョウ) 點選工具→變換工具→縮放，調整新圖層的大小，使其不超出原本立繪的範圍。調整好後按下Enter。 點一下右下角的圖層，按第二個眼睛的圖層，再點選打叉，刪除原本立繪的圖層。 最後，點選左上角檔案→覆寫原本的png檔案。 接著，再度開啟KCCacheProxy，點選「Import cache dump」，選取含有魔改的「cache」目錄，按下確定，這樣KCCacheProxy就會使用魔改的目錄作為快取。 接著進入遊戲，便會看到魔改後的成果了。 如不想使用魔改，改按「Import built-in basic cache dump」。\n5. 將魔改檔案做成一個小模組 # 以上過程，我們是使用整個遊戲的快取下去改，但是如果要分享魔改模組給人用呢(使用繪師的圖還是要取得同意啦)，每次都要下載整個檔案未免太大了。 參照KCCacheProxy作者寫的說明，將魔改的檔案做成一個「模組」是可行的，方便分發。\n沿用上面的例子，這邊新建一個目錄叫做mymod好了。\n首先將修改的檔案，包含路徑都複製過來。比方說剛剛只改了荒潮的一張立繪，以該檔案名稱建立一個目錄，然後在那個目錄建立\u0026quot;original\u0026quot;和\u0026quot;patched\u0026quot;二個目錄，接著個別放入原始立繪和魔改後的立繪。\n因此mymod目錄下會長這樣： 接著在mymod目錄下新增一個檔案叫做mymod.mod.json，用文字編輯器開啟，填入以下內容：\n{ \u0026#34;name\u0026#34;: \u0026#34;修改荒潮立繪的小模組\u0026#34;, \u0026#34;version\u0026#34;: \u0026#34;0.0.1\u0026#34;, \u0026#34;authors\u0026#34;: [\u0026#34;Ivon852\u0026#34;], \u0026#34;requireScripts\u0026#34;: false } 那這個模組要怎樣載入呢？開啟KCCacheProxy，點選「Import cache dump」，再點選「Enable Asset Modifier」，接著會多出一排選項。勾選「Add a patcher」選取custom.mod.json，這樣模組就會載入了。\n就是這樣，魔改的檔案變的輕便許多～順帶一提，KCCacheProxy也可以從poi的魔改檔案轉檔。\n","date":"2023年9月17日","externalUrl":null,"permalink":"/posts/kantai-collection-modding/","section":"Kantai-Collections","summary":"本文將簡介使用KCCacheProxy對艦隊收藏進行魔改，介紹如何用GIMP簡單修圖，修改艦娘立繪。\n製作完成後，還可以將魔改檔製作成「模組」方便給他人安裝。\n1. 前言 # 在艦隊Collection不用VPN連線的文章，Ivon曾經介紹過KC3和KCCacheProxy，它們的技術都是將遊戲網址換成預先準備的快取，繞過DMM的IP封鎖，順利進入遊戲。\n預先準備的快取裡面包含UI、語音、家具、裝備、艦娘立繪什麼的…這些都是遊戲載入的時候會讀取的資料，ㄟ，這裡似乎給了我們一點想法。預先準備的快取在我們的手上，不就代表可以進行魔改嗎？是的KCCacheProxy就是有這樣的功能，它作為本機代理伺服器，還能安裝「魔改模組」，例如中文化模組、英文化模組、3D模組。Android手機的Gotobrowser也已經支援載入英文化模組。\n如果只是要替換立繪，只要會修圖就好，不用到寫Javascript啦。\n透過KCCacheProxy，可以將隨時將瀏覽器(Chrome、poi、七四式)的快取資源切換成KCCacheProxy的快取，達成魔改效果。原理大概像下圖這樣，因為沒有向艦隊收藏伺服器發送任何額外封包，理論上不會被封鎖帳號，魔改僅只是影響本機的瀏覽效果，也就是只有提督自己能看到魔改後的畫面。 艦隊Collection英文圈還有Ordami等人，會定期整理最新版的完整遊戲快取，這就代表KCCacheProxy能長期使用，並且遊戲更新後魔改還是會留著。除此之外，艦隊收藏的「貓襲」是隨時都可能發生的，包括在結算戰鬥結果時遊戲資源下載失敗也會貓，而事先準備好的快取能減少這種情況帶來的危害。\n","title":"《艦隊Collection》二期魔改模組安裝 ＋ 修圖教學（使用KCCacheProxy）","type":"kantai-collection"},{"content":"","date":"2023年9月16日","externalUrl":null,"permalink":"/tags/audio-enhancer/","section":"標籤","summary":"","title":"Audio Enhancer","type":"tags"},{"content":"如果您的Linux電腦喇叭音質不好，又不想外接喇叭，您應該試試「EasyEffects」增強音效。 EasyEffects以前叫做PulseEffects，這是由Wellington Wallace開發的開源音效軟體，內建多種等化器(EQ)、壓縮器、增益、混響效果，能有效提昇Linux電腦喇叭、耳機、麥克風的音質（準確來說是聽感）。即使您對等化器參數不熟悉也沒關係，您可以下載別人做好的預設組態，一鍵提昇音質。 跟同類音效軟體JamesDSP比起來，EasyEffects提供的效果更多、設定更為精細。\nIvon認為EasyEffects對筆電尤其有用。例如我手上的MIS Modern 15 A10喇叭成了廠商cost-down的對象，外放音樂乾巴巴的，高頻非常容易破音。雖說花個幾百塊買個3.5mm外接喇叭就解決的事情，不過我不想額外帶著一組喇叭走嘛。\n在安裝EasyEffects後，儘管沒有Windows杜比音效那麼神，卻足以有效抑制破音情況，並讓喇叭外放音樂「悅耳」一些。下面影片是我錄製的範例：\n1. 安裝EasyEffects # PulseEffects以前支援PulseAudio，改成EasyEffects後僅支援PipeWire音訊伺服器（不過你還是可以在Flathub下載到舊版PulseEffects，雖然沒更新了但現在還可以用）。\n目前Arch Linux和Ubuntu應該都是使用PipeWire了，您可以自行安裝套件，從PulseAudio轉換到PipeWire。\n如何確認您的系統是用PipeWire？請用pactl info指令查看Server Name是否有出現PipeWire字樣。 確認系統是使用PipeWire後，就可以用Flatpak安裝EasyEffects了：\nflatpak install flathub com.github.wwmm.easyeffects 順帶一提，EasyEffects以前是用GTK寫的程式，但是最新版本已經改成QT了。有些人可能會覺得界面變醜了。\n2. 使用預設音效組態 # EasyEffects雖然功能很多，可是不熟悉做音樂的人根本不知道要調整哪些選項。對新手來說，最簡單的方法就是使用別人做好的預設組態（preset），試聽看看，再依照個人需求調整。\nEasyEffects Wiki有列出許多範本。下載Github的.json檔案。\n開啟EasyEffects，點選左上角Presets，點選Import，選取.json檔，載入要使用的組態。\n我個人推薦JackHack96製作的Advanced Auto Gain，對音質不好的筆電喇叭效果很好，聲音變大，細節變多。除非音量還是太小才使用Loudness + Autogain。如果覺得聲音變得太奇怪，那就用sebastian-de製作的easyeffects-thinkpad-unsuck消掉一些刺耳的聲音，也有不錯效果。 點選界面上方的PipeWire → Preset Auto Loading，設定開啟EasyEffects後自動啟用的組態。 最後回到主界面，點選右上角的Preferences，設定EasyEffects隨系統開機自動啟動。 3. 音效操作 # 啟用音效播放音樂，EasyEffects首頁就會顯示目前正在播放音樂的應用程式了，可以點選Exclude單獨將應用程式排除在外。 最下方的Effects面板點進去，自由調整音效效果。 如果您覺得面板不夠專業，您可以在部份頁面點選Show Native Window，開啟更複雜的控制面板。這個由Linux Studio Plugins Project提供。不過新版EasyEffects好像移除這個界面了？ ","date":"2023年9月16日","externalUrl":null,"permalink":"/posts/linux-easyeffects/","section":"所有文章","summary":"如果您的Linux電腦喇叭音質不好，又不想外接喇叭，您應該試試「EasyEffects」增強音效。 EasyEffects以前叫做PulseEffects，這是由Wellington Wallace開發的開源音效軟體，內建多種等化器(EQ)、壓縮器、增益、混響效果，能有效提昇Linux電腦喇叭、耳機、麥克風的音質（準確來說是聽感）。即使您對等化器參數不熟悉也沒關係，您可以下載別人做好的預設組態，一鍵提昇音質。 跟同類音效軟體JamesDSP比起來，EasyEffects提供的效果更多、設定更為精細。\nIvon認為EasyEffects對筆電尤其有用。例如我手上的MIS Modern 15 A10喇叭成了廠商cost-down的對象，外放音樂乾巴巴的，高頻非常容易破音。雖說花個幾百塊買個3.5mm外接喇叭就解決的事情，不過我不想額外帶著一組喇叭走嘛。\n在安裝EasyEffects後，儘管沒有Windows杜比音效那麼神，卻足以有效抑制破音情況，並讓喇叭外放音樂「悅耳」一些。下面影片是我錄製的範例：\n1. 安裝EasyEffects # PulseEffects以前支援PulseAudio，改成EasyEffects後僅支援PipeWire音訊伺服器（不過你還是可以在Flathub下載到舊版PulseEffects，雖然沒更新了但現在還可以用）。\n","title":"Linux電腦EQ調整軟體 ～ EasyEffects，拯救破喇叭","type":"posts"},{"content":"一個簡單又不簡單的模組\n為存在超過10年的網頁遊戲注入當今手機遊戲盛行的Live2D要素\n配上少量的乳搖\n在痛苦的甲級難度活動之餘，除了大破立繪以外，給予提督慰藉的\n這就是Kantai3D。 對Linux用戶來說，現在您多了一個檢測滑鼠是否正常運作的工具。以前的人用xeyes，現在您有Kantai3D，方便追蹤螢幕上滑鼠的位置。\nKantai3D為香港提督laplamgor開發的一個模組，可以給《艦隊Collection》上百位的艦娘加上Live2D的視覺效果，即移動滑鼠艦娘會跟著擺動；部份艦娘還支援乳搖效果，觀賞奶子跟著艦娘身體晃動。\n該模組僅修改本機的艦娘檔案，圖檔是透過jsDelivr載入，不會修改遊戲封包，所以玩艦隊Collection裝此模組應該是安全的。\n1. 安裝Kantai3D # 艦隊Collection（艦これ）每次遊戲一更新，立繪就會變化，為此有時候Kantai3D會暫時失效，要等作者更新立繪上去。\n電腦 # Kantai3D的原始碼可以在Github取得。\nChrome/Edge/Brave瀏覽器可以直接從擴充功能安裝，不會跟KC3衝突。\npoi瀏覽器請從擴充模組界面下載。\n其他瀏覽器可以下載Kantai3D KCCP Patcher版本，配合KCCacheProxy使用。\n手機 # Android手機請安裝GotoBrowser，並於設定啟用Kantai3D模組。\n因為沒有滑鼠，手機版的3D效果是透過晃動手機來達成的。且Kantai3D的更新是跟著GotoBrowser一起跑的，無法獨立更新。\n2. Kantai3D的使用 # 裝好模組進入遊戲，遊戲設定會多出一個界面可以開關Kantai3D，開啟後重新進入母港生效。 大部分艦娘應該都能看到Live2D效果，手繪的艦娘還會跟著滑鼠晃動胸部。 為什麼僅有少部份艦娘有乳搖？Kantai3D並未使用《艦隊Collection改》的Live2D，而是手工製作，包括繪製乳搖的深度圖。\n但艦娘實在太多了，作者除少數艦娘外，其餘CG是使用MiDaS AI自動生成深度圖的，有些艦娘可能沒有涵蓋到。\n若開啟「使用額外深度圖」會發現效果不太好，艦娘看起來更像紙片人了，也沒有乳搖效果。（至於龍驤本來就是\u0026hellip;） 3. 貢獻深度圖檔吧 # 請參閱Github專案說明，了解如何使用網頁深度圖繪製工具，協助繪製更多的立繪。\n根據作者說法，他最早是用手繪製作，效率低下。而後AI技術成熟之後就能大量自動生成深度圖了，包括胸部乳搖的部份，所以大部份「重量級」艦娘應該都有乳搖效果了。不過作者依然開放有愛的提督貢獻手動繪製的深度圖～讓乳搖更加真實。\n如果需要遊戲原始艦娘立繪的，可以利用KCCacheProxy快取檔下載。\n","date":"2023年9月16日","externalUrl":null,"permalink":"/posts/kantai3d-extension/","section":"Kantai-Collections","summary":"一個簡單又不簡單的模組\n為存在超過10年的網頁遊戲注入當今手機遊戲盛行的Live2D要素\n配上少量的乳搖\n在痛苦的甲級難度活動之餘，除了大破立繪以外，給予提督慰藉的\n這就是Kantai3D。 對Linux用戶來說，現在您多了一個檢測滑鼠是否正常運作的工具。以前的人用xeyes，現在您有Kantai3D，方便追蹤螢幕上滑鼠的位置。\nKantai3D為香港提督laplamgor開發的一個模組，可以給《艦隊Collection》上百位的艦娘加上Live2D的視覺效果，即移動滑鼠艦娘會跟著擺動；部份艦娘還支援乳搖效果，觀賞奶子跟著艦娘身體晃動。\n該模組僅修改本機的艦娘檔案，圖檔是透過jsDelivr載入，不會修改遊戲封包，所以玩艦隊Collection裝此模組應該是安全的。\n1. 安裝Kantai3D # 艦隊Collection（艦これ）每次遊戲一更新，立繪就會變化，為此有時候Kantai3D會暫時失效，要等作者更新立繪上去。\n電腦 # Kantai3D的原始碼可以在Github取得。\nChrome/Edge/Brave瀏覽器可以直接從擴充功能安裝，不會跟KC3衝突。\n","title":"給艦娘加上仿Live2D乳搖效果！「Kantai3D」艦隊Collection魔改模組","type":"kantai-collection"},{"content":"KCCacheProxy (KanColle Cache Proxy) 是一個跨平台的代理程式，由比利時提督Tibowl開發，可以繞過艦隊Collection的IP限制(403錯誤)，從而免使用VPN進入遊戲，還能拿來製作艦娘魔改模組。 為什麼您可能會需要這個程式？ # Ivon在艦隊Collection繞過VPN方法這篇談過，DMM自2022年開始封鎖了日本以外IP存取遊戲資源的下載權限，改cookie失效，需要掛著VPN才能下載遊戲資源，進入遊戲後才可以斷開VPN。故此，許多艦隊Collection的輔助工具紛紛加入「暫時替換遊戲資源伺服器」的功能，例如KC3和Gotobrowser皆是使用kcwiki提供的快取伺服器來下載資料，從而繞過VPN限制。\n一般玩家用KC3就夠了，其實用不太到技術向的KCCacheProxy。\n然而，kcwiki的伺服器是熱心英文圈玩家維護的，極小機率會無法連線，此時KCCache Proxy就派上用場了，只要使用者先下載遊戲資源，它可以在本機跑一個代理伺服器，使用者設定好連線規則後，即可讓遊戲連線到本機的代理，從而讀取使用者下載的資源進入遊戲！免依賴第三方伺服器。 由於KCCache Proxy只是個代理程式，所以能無縫配合其他艦これ瀏覽器或輔助程式使用。且由於遊戲資源檔案是使用者自己準備的，使用者可依此進行魔改（單純改圖片不會干擾遊戲封包）。\n最後提一點，Tibowl就是幾年前在Twitter專門拆艦隊Collection活動封包，協助提督解謎的那位大佬，自從收到C2機關警告後他就改關注原神了。由此KCCacheProxy程式本體已經三年沒更新了，但是現在測試還是可以用！\n1. 安裝KCCacheProxy # KCCacheProxy本體是用NodeJS寫的程式。\nKC3開發團隊推出的damecon-browser瀏覽器有內建KCCacheProxy。\n這裡是採用獨立安裝的形式。\nWindows/macOS # 到Releases頁面下載程式，Windows選exe，macOS選dmg。\n接著安裝到電腦上。KCCacheProxy會顯示在右下角的系統匣。連按開啟介面，按照下圖中設定:勾選Start in system tray、勾選Start up with system開機自動啟動、勾選Bypass checking for gadget updates on gadget server 按下Import built-in basic cache dump匯入最小化快取 最後按下綠色的Save。KCCacheProxy預設會在開機後自動啟動。\nLinux # Linux版KCCacheProxy沒有圖形界面，得到Release下載KCCacheProxy-linux.zip執行檔直接跑。\n解壓縮後請自行在proxy-linux所在的目錄新增config.json，輸入以下預設設定。其中serverIP請依照您的鎮守府IP做替換。\n{ \u0026#34;port\u0026#34;:8081, \u0026#34;hostname\u0026#34;:\u0026#34;127.0.0.1\u0026#34;, \u0026#34;cacheLocation\u0026#34;:\u0026#34;default\u0026#34;, \u0026#34;checkForUpdates\u0026#34;:true, \u0026#34;startHidden\u0026#34;:false, \u0026#34;disableBrowserCache\u0026#34;:false, \u0026#34;verifyCache\u0026#34;:false, \u0026#34;serverIP\u0026#34;:\u0026#34;203.104.209.102\u0026#34;, \u0026#34;bypassGadgetUpdateCheck\u0026#34;:false, \u0026#34;gameVersionOverwrite\u0026#34;:\u0026#34;false\u0026#34;, \u0026#34;preloadOnStart\u0026#34;:false, \u0026#34;showExtraButtons\u0026#34;:false, \u0026#34;enableModder\u0026#34;:false, \u0026#34;mods\u0026#34;:[ ], \u0026#34;preloader\u0026#34;:{ \u0026#34;maxSimulPreload\u0026#34;:4, \u0026#34;recommended\u0026#34;:{ \u0026#34;static\u0026#34;:true, \u0026#34;assets\u0026#34;:true, \u0026#34;servername\u0026#34;:true, \u0026#34;maps\u0026#34;:true, \u0026#34;useitem\u0026#34;:true, \u0026#34;gadget\u0026#34;:false }, \u0026#34;sounds\u0026#34;:{ \u0026#34;titlecalls\u0026#34;:false, \u0026#34;se\u0026#34;:false, \u0026#34;bgm\u0026#34;:false, \u0026#34;npcvoices\u0026#34;:false, \u0026#34;voices\u0026#34;:false }, \u0026#34;extra\u0026#34;:{ \u0026#34;equips\u0026#34;:false, \u0026#34;furniture\u0026#34;:false, \u0026#34;ships\u0026#34;:false }, \u0026#34;cleanup\u0026#34;:true }, \u0026#34;configVersion\u0026#34;:3 } Linux版本可能無法用basic dump進入遊戲，故需要下載完整遊戲資源快取，並於上述設定檔的cacheLocation填寫cache目錄的絕對路徑。\n接著才執行程式本體：\nchmod +x proxy-linux ./proxy-linux 2. 設定瀏覽器走KCCacheProxy代理 # 本節提及的設定使用最小化快取（minimum cache），僅是繞過IP封鎖的最小設定，設定完成後就可以進遊戲。如果您想使用自己下載的完整遊戲資源快取，再看下一節。\nKCCacheProxy預設的代理位址是localhost:8081，若設定成功，玩家進入遊戲時KCCacheProxy終端機應會輸出下載資源的訊息。 Google Chrome # 如果您有安裝KC3，請在設定停用「使用代理繞過區域限制」 Chrome要先改cookie: 在DMM的首頁按下F12，切換到console頁籤，輸入以下程式碼按enter。\nexpires=new Date(+new Date()+31536e6).toUTCString(); document.cookie=`ckcy=1;expires=${expires};path=/netgame;domain=.dmm.com`; 再設定proxy。安裝擴充功能Proxy SwitchyOmega，將預設的proxy情景模式按下圖調整，之後按下套用選項 重新啟動瀏覽器，在艦隊Collection的頁面，切換到用proxy連線。 poi瀏覽器 # 在基本設定裡設定DMM地區Cookie 設定網路代理，埠調整為8081，這樣poi就會走KCCP的代理，重新載入遊戲。 七四式電子観測儀 # 點選左上角「ファイル」，按「設定」。\n「ポート」填8081，並勾選「システムプロキシを利用」，按OK後重新啟動七四式。 3. 下載遊戲資源完整快取 # 使用者可以下載艦隊Collection的遊戲完整快取(Full cache dumps)，減少遊戲載入圖片的時間，或者拿來製作魔改。\n遊戲資源完整快取可以在法國玩家Ordami的網站下載，內容會即時跟隨遊戲更新。\n下載解壓縮，得到cache目錄，請隨意放置。\n接著在KCCacheProxy的界面，點選Import cache dump，選取剛才解壓縮的cache目錄，這樣代理程式就會改成載入那個目錄下的遊戲資源，日後新的立繪會自動更新。 另外，您可以一邊修改cache目錄下的檔案，用以製作艦娘魔改，一邊觀察立繪在遊戲內顯示的效果（圖片若有變更需要重新載入遊戲頁面）\n4. 製作艦娘魔改模組 # 此處的艦娘魔改模組頂多是在本機替換遊戲外觀、立繪、文字，不涉及修改遊戲封包，所以「應該」不會被當成作弊行為。\nKCCacheProxy提供了一套規範，讓玩家可以製作小型魔改模組，方便分發給其他人使用。\n成功的魔改模組有哪些呢？目前有：遊戲界面中文化、遊戲界面英文化、艦娘Live2D\n如果您只是想單純改個艦娘立繪，請參閱艦隊Collection二期魔改教學\n","date":"2023年9月16日","externalUrl":null,"permalink":"/posts/kccacheproxy-usage/","section":"Kantai-Collections","summary":"KCCacheProxy (KanColle Cache Proxy) 是一個跨平台的代理程式，由比利時提督Tibowl開發，可以繞過艦隊Collection的IP限制(403錯誤)，從而免使用VPN進入遊戲，還能拿來製作艦娘魔改模組。 為什麼您可能會需要這個程式？ # Ivon在艦隊Collection繞過VPN方法這篇談過，DMM自2022年開始封鎖了日本以外IP存取遊戲資源的下載權限，改cookie失效，需要掛著VPN才能下載遊戲資源，進入遊戲後才可以斷開VPN。故此，許多艦隊Collection的輔助工具紛紛加入「暫時替換遊戲資源伺服器」的功能，例如KC3和Gotobrowser皆是使用kcwiki提供的快取伺服器來下載資料，從而繞過VPN限制。\n一般玩家用KC3就夠了，其實用不太到技術向的KCCacheProxy。\n然而，kcwiki的伺服器是熱心英文圈玩家維護的，極小機率會無法連線，此時KCCache Proxy就派上用場了，只要使用者先下載遊戲資源，它可以在本機跑一個代理伺服器，使用者設定好連線規則後，即可讓遊戲連線到本機的代理，從而讀取使用者下載的資源進入遊戲！免依賴第三方伺服器。 由於KCCache Proxy只是個代理程式，所以能無縫配合其他艦これ瀏覽器或輔助程式使用。且由於遊戲資源檔案是使用者自己準備的，使用者可依此進行魔改（單純改圖片不會干擾遊戲封包）。\n最後提一點，Tibowl就是幾年前在Twitter專門拆艦隊Collection活動封包，協助提督解謎的那位大佬，自從收到C2機關警告後他就改關注原神了。由此KCCacheProxy程式本體已經三年沒更新了，但是現在測試還是可以用！\n","title":"KCCacheProxy使用方法，艦隊Collection的代理連線兼魔改工具","type":"kantai-collection"},{"content":" 介紹乳量比較圖的類別，並附上一些範例。\n1.「ちちくらべ」的意思與說法 # 乳量比較圖，日文稱作ちちくらべ (chi-chi-ku-ra-bei)，有時漢字會寫作乳比べ、乳くらべ 歷史上最早的動漫乳量比較圖：サンライズ公式 ひと目でわかる ちちくらべ\n根據Pixiv百科對「ちちくらべ」的定義：\n強調兩個或兩個以上女孩的乳房的插圖下的標籤。在大多數情況下，有兩個以上豐滿的角色。\nちちくらべ這個詞起源於2004年《舞-HiME》的動畫製作公司Sunrise。他們在網頁寫道： Sunrise官方乳量一覽 (サンライズ公式 ひと目でわかる ちちくらべ)\n最常見的樣式是將人物的半身像橫向排列，臉部面向左方，胸部大小從大到小排列。還打上胸部大小和“巨大”、“差”等文字。從此引起了轟動，越來越多人創作官方和非官方的模仿作品。\n即使是競爭胸部大小的插畫，以及簡單描繪多個角色的插畫，也會有ちちくらべ元素出現，而且這些標籤往往是由觀看者而不是投稿者附上的。\n遊戲《聖靈之心》攻略本的設定資料欄位每次都會進行乳量比較。(僅限アルカディア雜誌第3冊）\n在某些作品中，有ちちくらべ ≒ 死亡flag的情況。\n有些插圖會混入男性，甚至是男性間彼此比較乳量的奇葩場合。\nchichikurabei音譯只有日本Pixiv插畫在用。根據檢索數量統計，Pixiv的標籤也多是以假名ちちくらべ為主。\nちちくらべ的意思跟歐派排行榜(おっぱいランク)類似，只是ちちくらべ更強調「側面排排站」的要素。\nちちくらべ在英文裡面通常稱作：Breast Size Comparison Chart、Oppai Tier List 、Oppai Rank、Bust Chart\nGelbooru標籤將ちちくらべ命名為：breast_size_difference，但此標籤數量不多。更多時候是用chart、breasts、from_side的多重標籤描述。\nちちくらべ通常要是人體側面圖，比較乳量，最好還有標準尺。\n單純一群女孩站在一起的 或是幾位女孩的乳房貼在一起(乳合わせ, symmetrical_docking)的插畫，不符合嚴格的ちちくらべ定義。 圖片來源：https://www.pixiv.net/artworks/92043587\n相關標籤：breast_envy是圖片含有忌妒對方乳量的眼神 圖片來源：https://www.pixiv.net/artworks/92043587\n儘管ちちくらべ可能會有忌妒元素，但還是不太一樣。最接近breast_envy的日文標籤是胸囲の格差社会。\npussy_chart是小穴外觀比較，此標籤同樣很少用。\n2. 乳量的單位 # 女性的乳量，通常是指罩杯(Cup)，而非分泌母乳的量。\n在動漫作品中，常常會有使用現實正式單位，或是自行發明單位的情況。\n正式的乳量單位 # 罩杯的尺寸表示法：上胸圍 - 下胸圍的差距，加一個字母。\n例如：AA罩杯相差7.5cm，A罩杯10cm、B罩杯12.5cm、C罩杯15cm、D罩杯17.5cm、E罩杯20cm、F罩杯22.5cm，每加一罩杯+2.5cm\n最常見的罩杯表示法便是數字＋字母。其中數字是上胸圍與下胸圍的差。但也有只報下胸圍數字的。\nOppai Encyclopedia的作者認為，日文對應的乳量說法和罩杯換算方式如下： 乳量換算有以下幾種：\n貧乳 Hinnyuu: (AA 至 A cup) 普乳 Funyuu: (B 至 E cup) 巨乳 Kyonyuu: (F 至 K cup) 爆乳 Bakunyuu: (L 至 S cup) 超乳 Chounyuu: (T+ cup) 然而此對應方式級距過大，容易造成歡樂杯的現象。\n動漫人物的乳量，實際上常常畫得比現實要不合理許多，現實世界的E可能是動漫裡的G。導致了像是下圖《碧藍航線》不合理情況的出現：採用真實世界罩杯，但是根本是乳牛等級。 非正式的乳量單位 # 並、大盛、特盛 無、微、小、中、大、巨、爆、魔、改、筋 虛、無、貧、微、美、普、巨、爆、超、奇、未知領域 並、貧、小、壁、輪、控、爆、沒 魔、露、柔、美、偽、微、板 牛、魔、爆、巨、豐、並、控、貧、壁。圖片來源 D、C、B、A、S、S＋、SS 圖片來源 完全沒有效度的乳量比較。圖片來源 等級制度。 比屌長度的（？？）。 ちちくらべ的延伸版本，ボテ腹ちちくらべ。喂，我們現在是在比乳量，不是比誰孕肚大好嗎！雖然也很性感就是了。圖片來源 3. 測量乳量方法 # 做ちちくらべ的時候，需要參酌動漫角色的身高體重推算，並且參照來源要統一。\n例如，FGO都會釋出詳細的從者設定，且遊戲中3D建模是統一比例的。這張FGO乳量比較圖的作者即是用角色模型的側身圖來比較乳量。 下圖是我根據上表做的新版FGO乳量Top 10，可以說這種乳量比較方式是比較正確的。BB與其Altergo的奶子都是超大，源賴光的各種型態也包辦了前幾名。 如果官方沒有公開動漫角色的身高體重資料，那麼要如何排序？\n例如「艦娘乳図鑑」這個網站，作者就沒有測量，完全是自由心證。\n或是繪製ちちくらべ使用不嚴謹的比例尺，如這張VTuber乳量排行，容易遭到繪師的主觀判斷而畫得過大過小。圖片來源 導致網路偶爾出現「全部動漫女角乳量排行」的野榜，張飛打岳飛。如何決定你家的老婆比較大？要說你揉過所以知道？ 圖片來源： https://ichinuke.com/cupsize_nijiero/\n如果電子遊戲有3D模型的話，或許能用數學方式估計出數值，從而確定罩杯。\n例如這裡有一篇詳細探討怎麼測量《原神》女性角色乳量的文章: Breast size in Genshin Impact: which character has the biggest breasts - Gameloid\n他們是用螢幕像素下去計算的。這樣看來原神的建模其實挺收斂的，如果是碧藍航線就會每個人頂著氣球走路。 類似的情況：《崩壞3》女角的乳量比較。圖片來源 4. 結論 # 南方公園貝貝：「這麼喜歡大波妹，你不如跟乳牛嘿休。」\n","date":"2023年9月15日","externalUrl":null,"permalink":"/posts/chichikurabe-introduction/","section":"Nsfws","summary":" 介紹乳量比較圖的類別，並附上一些範例。\n1.「ちちくらべ」的意思與說法 # 乳量比較圖，日文稱作ちちくらべ (chi-chi-ku-ra-bei)，有時漢字會寫作乳比べ、乳くらべ 歷史上最早的動漫乳量比較圖：サンライズ公式 ひと目でわかる ちちくらべ\n根據Pixiv百科對「ちちくらべ」的定義：\n強調兩個或兩個以上女孩的乳房的插圖下的標籤。在大多數情況下，有兩個以上豐滿的角色。\nちちくらべ這個詞起源於2004年《舞-HiME》的動畫製作公司Sunrise。他們在網頁寫道： Sunrise官方乳量一覽 (サンライズ公式 ひと目でわかる ちちくらべ)\n最常見的樣式是將人物的半身像橫向排列，臉部面向左方，胸部大小從大到小排列。還打上胸部大小和“巨大”、“差”等文字。從此引起了轟動，越來越多人創作官方和非官方的模仿作品。\n","title":"各式各樣的「ちちくらべ」動漫女角乳量比較圖","type":"nsfw"},{"content":" 註：肉番的好壞沒有客觀的標準。如果不同意我的論點，就到露點肉番列表找尋自己的最愛吧！\n實用的肉番(ファンサービス，fanservice，又稱福利、殺必死)即是能主觀對人產生性慾的動漫。雖是主觀問題，但本文試圖歸納出構成實用肉番的特色，並說明這三個要點之間的關係，以解釋構成一部好用、實用肉番的充要條件。 怪怪守護神\n（這篇文章屬於TigerBlue文）\n1. 回顧過往露點肉番慣例 # 殺必死是日本表番動畫很常見的元素，所謂殺必死即清涼鏡頭（通常是指女性角色），包含胸部、臀部部份的大面積裸露畫面，有時候會露出乳頭，甚至做愛畫面。一部動畫幾乎每集都在露殺必死的即可稱之為「肉番」。不過肉番仍屬於表番的範疇，不等於裏番，因為肉番不可能詳細描繪下體。此外，不一定要露點才算肉番，性暗示濃厚的畫面也可以算肉番。\n有關殺必死的功用，在一篇名為《動漫中的殺必死：知覺與意圖》Fanservice in Anime: Perception Versus Intent的文章中，作者Christopher Kay提到：\n不幸的是，現代動漫產業中，露奶場景5個有4個都是為了取悅觀眾。動漫是一種非常注重經濟的媒體，製作動漫的主要目標是盈利，與同類媒體一樣，其首要任務是向消費者提供他們想要的東西。\n日本動畫中的殺必死其實從很久以前就有了，到處都是，又常跟後宮漫有關，把露內褲和泳衣都算進去的話根本數不完，例如哆啦A夢(1979)有靜香洗澡畫面、熊貓家族(1972)露內褲。\n有時殺必死會被認為是多餘、不必要的，出現的場景很突兀，僅是為了讓觀眾的眼鏡為之一亮。如果熱血動漫已經有很多上乘的戰鬥場景，為何還要出現上乘的乳房蕩漾畫面？\n新世紀福音戰士(1995)雖然不是最早搞殺必死的，但通常認為是近代日本動畫殺必死的開端，其中的宅文化要素到今天都還見得到。該動漫在片尾還會刻意預告「下回也有殺必死喔」。 進入21世紀，真的有料的肉番，多半是會把該畫的地方(乳首)畫出來，TV版播出時用聖光遮擋裸露部份，BD版就回饋粉絲，像是強襲魔女(2007)、碧藍航線(2019)。由於作畫品質會比裏番好，某些橋段還是實用的。 碧藍航線\n即使是真的有露， 肉番的品質也有差。首先，光是乳頭是認真畫出陰影呢，還是點個粉紅色帶過就有區別，由此可以看出製作組投入製作有誠意的肉番的心力。此外，肉番啪啪的橋段常見於遊戲改編的動畫(如緣之空)，也就是角色行為會比較爽朗直白，不會像一般作品(如無限斯特拉托斯)磨來磨去又不開搞，後者明明白白的體現了愛情肉番的壓抑感。 無限斯特拉托斯\n除了露出上面外，其他部位多少也是能看。雖然日本法律規定只有上面不用打馬賽克，但有人連看穿著就能硬了。製作組用內褲映襯小穴輪廓的手法並不少見。強襲魔女(2013)就是個好例子，動畫有大量這類鏡頭。 但回復術士的重啟人生(2021)和異世界風俗娘評鑑指南(2020)那樣就已經是極限了，要像裏番畫出合體的陰莖、陰道部份實在是不可能發生。好比三級片電影裡面的床戲橋段，都是為了「藝術」而不是「色情」效果嘛。 異種族風俗娘評鑑指南\n回復術士有人歸類為裏番，但其實它還是表番。現在「肉番」大多仍屬於「表番」，跟成人導向的「裏番」畢竟是不一樣的東西，後者以色情為賣點，前者則是不斷挑戰日本法律的露出尺度。儘管一些肉番的床戲已經很接近裏番，但畫面呈現上肉番還是不及裏番，很多地方都不能露，也不會整部劇大部分時間都在愛愛。\n所以常常肉番就剩下奶子能看，而且是要巨乳、大奶。像魔法少女伊莉雅(2013)那樣專注描繪嬌小體態又幾乎快露出來的很少見。 如果只要強調女性體態都算進去的話，「沒料」的肉番動漫就更是多到數不清了，好像日本動漫總得放福利似的。沒有真正露出，只在邊緣挑逗，或是不小心露出內褲、肢體接觸的畫面。 出包王女\n描寫愛情類別的動漫，在過去都是直接深情的直接開搞，現在就是透過不露的殺必死來製造激情效果，直到變成肉番，挑逗你我觀眾的情緒。同時主角可能有外在因素要面對，使得他們沒時間、不敢去關注女角們，甚至很多時候表現的像木頭。所以最關心女角的反而是觀眾，儘管盯上的是肉體。\n不過這有一個好處，畫風若夠好，看上去仍充滿很可以的氣息，比方說伊莉雅和約會大作戰(2013)的狂三，還是能讓其成為高人氣角色。俗話說沒露比有露還色。 約會大作戰\n或許這是為何有人能覺得穿著衣服也能色色的原因。官方保留的越多，二創同人誌的內容就越精彩。順帶一提，很多「國民番」也是有殺必死鏡頭的，不過大部分會被熱血元素蓋過去。讓許多人著迷的世界觀之餘，來點調情用的畫面也是不錯的吧。\n2. 露點肉番應該是怎麼樣的 # 私以為，實用的肉番必須顧及以下要點： 畫風要好、鉅細靡遺的描繪重點部位、煽情的劇情。\n1. 畫風要對人胃口 # 畫風是第一要點。首先，不論巨乳或蘿莉，畫風至少得是西元2000年以後的主流風格，賽路鉻時代的畫風會減少觀看誘因。第一，賽路鉻時代的顏色普遍較黯淡。第二，重點部位描繪常流於點到為止，就像少女漫畫那樣「唯美」。\n再來是畫質問題，480p的片源難以跟現代1080p匹敵。若論極端的實用例子，舊番並非無不可取之處，然而對比畫面的吸晴程度，仍然是現代畫風更勝一籌，例如女體的表現： 緣之空，2010。同級生2，1996\n緣之空(2010)和學園默示錄(2010)年代的畫風，對現代人來說仍有點「古老」。 學園默示錄\n我老婆是學生會長(2015)才是比較現代的畫風。 不過並非現在的就是好，現代的作畫有時會太乾淨，導致露點的處理更加輕描淡寫，只是變成發福利的場所。變成 我的女友是個過度認真的處女bitch(2015) 那樣。這時舊時代動畫又有刻劃細膩的優勢了。 在討論畫風後的問題就會延伸到下一要點，鉅細靡遺的描繪重點部位。\n2. 鉅細靡遺的描繪重點部位 # 鉅細靡遺的描繪指的就是很好的畫出乳房與乳頭，並要能表現的誘人。\n泡麵番常常會有作畫隨變的問題，即使劇情夠色。如果色色的場景卻看到奶子畫崩了肯定倒人胃口。\n首先要知道肉番再怎麼肉也不可能變裏番，裏番也得將性器官畫出來並打馬賽克。所以綜觀有畫出裸體的肉番，她們在陰部就常是空白一片。有描寫性交場景的，就是用腳部和身體遮住陰部，只表現動作。 新妹魔王的契約者\n有鑑於此，肉番能細細雕琢畫工的部份就只剩下乳房了。乳房的描繪，從胸型到乳頭都必須考慮進去的，人體比例作畫也不可以太誇張。胸型該大的要大，貧乳的也必須以肋骨的形狀襯托，如此才能說她的乳房畫的很好。 一騎當千\n不過，動漫的「巨乳」常常是超現實的，在現實世界中已經是西瓜奶等級。乳房適中就好，獵奇奶（大的詭異的乳房）有時後會顯得很詭異，但有人覺得大就是好。 魔物娘的同居日常\n再來乳頭部份，不論大人小孩都要表現出誘人的樣子，因此絕非簡單點的小點就足夠。好的乳頭的描繪，會具體的描寫乳頭的立體感，並呈現乳頭凹陷處的細節。其中代表性的作品就是聖痕鍊金士(2010)了，劇中有很多形色各異的乳頭描寫，你細細品味。 除此之外，乳暈也是一門學問，小孩的乳暈不可能太大，但是會加上反光強調乳暈的存在感。而到了大人的部份，乳暈的大小能決定女人的誘人程度，非懷孕狀態下大小適中的乳暈，配合良好的胸形，足以製造出震撼的視覺享受。 女武神驅動\n使用誘人的畫風呈現良好的細節之後，再來就是靠合適的劇情渲染張力了。\n3. 煽情的劇情 # 煽情的劇情就是能挑逗讀者情感的肉番劇情，同樣可以分為好幾個檔次。\n從殺必死的型態來看，軟色情屬最初級的作法，例如露內褲、露出內衣、乳房從內衣蹦出來、乳搖、撞見裸體，接著男人噴鼻血等。這是殺必死的基礎操作手法，搞笑中帶有色情意味的， 搖曳莊的幽奈小姐\n刻意強調性徵也很常見，不禁會讓人說出「是什麼蒙蔽了我的雙眼」。 我的朋友很少\n就場景而言，澡堂、浴室、海邊都是最容易刻劃福利場面的，但上下限也很大，看動畫監督如何畫分鏡。有的就是露出肩膀和胸部講話，有的則是最讓女主角整個人站起來。如果有真心要做福利向的動畫，製作組就會在BD真的把濃霧、聖光去掉。 反叛的魯路修\n接著是更上一層樓：後宮漫倒貼橋段會出現的主動送殺必死，也就是主動脫掉衣服往男生身上靠攏。 女神咖啡廳\n最後就是爐火升溫發生關係的段落，從親吻交纏，到實際性交。到這裡就不單純是殺必死了，而是正式進入色情或藝術的分野。藝術性這裡無法討論，只關注情色的向度的話，此為煽情的最終型態，極致的煽情到最後總是要實際發生關係才能洩出雙方慾火。 家有女友\n然而這還是有上限：受不可能變成裏番的限制，在性行為的描寫上就不能以性器官當主角，也就只能強調動作，例如乳房的蕩漾，以及角色的視覺和音效演出來充實內容。所以煽情到最後還是有無法露出的這個限制在，諸如秋色之空(2009)、緣之空(2010)、回復術士的重啟人生(2021)、異世界迷宮裡的後宮生活(2022)皆是如此。 異世界迷宮裡的後宮生活\n更高的境界，大概就是有優秀作畫的肉番場景，又有豐富故事情節的吧，這樣就會昇華成為神作。\n例如物語系列(2012~) 還有遊戲人生(2014)。這類作品只是很肉，沒露點，但是好看。 煽情大致上可以分成這幾檔，這三檔之間常常是漸進式的關係，讓觀眾能逐漸進入氣氛，免得劇情突兀。\n總結來說，煽情，加上畫風和細節描繪這些個前提才能成為一個實用的肉番。缺乏畫風加持的殺必死就變成在看搞笑劇一樣，失去了肉番的重點。同樣若只有良好的畫風和細節描繪卻沒有劇情，那就變成唯美的漫畫而會失去實用的因素。因此這三個條件構成「實用肉番」的充要條件，缺一不可。\n3. 一些實用露點肉番 # 參考露點肉番列表，所挑出的我個人覺得比較實用肉番共5部。\n緣之空 (ヨスガノソラ)：由大到小都吃，不論巨乳還是貧乳。\n異世界風俗娘評鑑指南 (異種族レビュアーズ)：嫖妓的場景，有各式各樣的玩法。\n女武神驅動 (ヴァルキリードライヴ)：大小百合，各個角色的奶子雖不相同，但共通點是有大乳暈。\n新妹魔王的契約者 (新妹魔王の契約者)：同樣大小通吃，超級巨乳。\n異世界迷宮裡的後宮生活 (異世界迷宮でハーレムを)：認真與奴隸恩愛的故事。\n","date":"2023年9月15日","externalUrl":null,"permalink":"/posts/ecchi-fanservice-anime-review/","section":"Nsfws","summary":" 註：肉番的好壞沒有客觀的標準。如果不同意我的論點，就到露點肉番列表找尋自己的最愛吧！\n實用的肉番(ファンサービス，fanservice，又稱福利、殺必死)即是能主觀對人產生性慾的動漫。雖是主觀問題，但本文試圖歸納出構成實用肉番的特色，並說明這三個要點之間的關係，以解釋構成一部好用、實用肉番的充要條件。 怪怪守護神\n（這篇文章屬於TigerBlue文）\n1. 回顧過往露點肉番慣例 # 殺必死是日本表番動畫很常見的元素，所謂殺必死即清涼鏡頭（通常是指女性角色），包含胸部、臀部部份的大面積裸露畫面，有時候會露出乳頭，甚至做愛畫面。一部動畫幾乎每集都在露殺必死的即可稱之為「肉番」。不過肉番仍屬於表番的範疇，不等於裏番，因為肉番不可能詳細描繪下體。此外，不一定要露點才算肉番，性暗示濃厚的畫面也可以算肉番。\n","title":"【圖解】何謂實用的露點肉番動漫 + 一些肉番推薦","type":"nsfw"},{"content":" ＊本文是作為His Fapping Story的補充。\n我們是如何走到這一步的，相棒(あいぼう)？ （用黑暗遊戲的口氣講話）\n性癖好為何越來越重？\n1. 純潔的原石 # 以前沒有智慧型手機，亦不大懂電腦的時候，看言情小說的文字敘述，配上封面就能硬到流出來。（現在看來應該是尿道球腺？） 這即是說，這個時期單純看一點性感東西，甚至畫面人物不需要脫就可以尻。甚至有時候看婦產科醫學解剖圖也可以自慰。\n好尻的當然還有唾手可得的遊戲王卡 (小時候當然是盜版仔)，黑魔導女孩、神鷹女郎都是不錯的素材，更別說遊戲王漫畫原作裡面性感的孔雀舞了。 浪漫的少女漫畫也可以尻，劇情有些刺激，有些很白爛。\n那些被喻為經典之作的漫畫也是有不少福利鏡頭，但是不像少女漫畫有浪漫床戲描寫。\n例如 變身男孩(ふたば君チェンジ♡，1990)，概念類似亂馬1/2的漫畫。 銀色舞台(亜未！ノンストップ，1993)。少女漫畫的標準情節，男的帥女的美就可以上床。 海闇月影(海の闇、月の影，1987)，決戰前做愛 東立漫畫合集 恐怖怪奇，幾乎每篇鬼故事都一個露點鏡頭。 初戀MALISA，台灣人畫的，常常出現勁爆的情色場面。 更別說一些偶爾在電視台瞥到的動畫片了，例如《零之使魔》、《笨蛋測驗召喚獸》、《K》，這些素材起碼是性啟蒙時期的教材。 2. 染色的礦石 # 到現在，我要看這種的才能稍微有fu。像上面那種一般般的圖片可能一滑就過去了。\n過去的我要是看到現在的口味，嚇都要嚇死了。 わつきるみ - COLORS! 11\n從1980年到2023年，以前的東西，變成了粗茶淡飯。現代人的飲食，逐步營養過剩了。最近觀察Stable Diffusion學習的畫作主流更有感，妖豔飽和的角色，擠眉弄眼的持續吸引下一代人的目光。\n到現在看得順眼的，反而還是色彩層次變化沒那麼誇張的動畫風格。開始貴古賤今\u0026hellip;了嗎 女神宿舍的管理員\n現今究竟是需要展現精湛畫工的本子，還是返璞歸真\u0026hellip;我不知道。\n翻到這本2010年，イモネイド寮長的チチとバストと乳房厨，對比現今漫畫，就想起現代人是否在了電子時代，走到我們看不到的地方去了。這讓我想到，鳥山明早期的七龍珠漫畫，偶爾會插入一頁精細繪製、灰階層次飽滿的圖片，那時，漫畫代表的是更多的夢想。 3. 有時候擦亮表面仍是可以的 # 這不代表從此走上了不回頭路——正如福山失敗的預測人類的歷史終結是民主國家那樣，故事還沒結束。\n性癖是不斷在變化的，有時即使已經迷上了看NTR、肢解、流產、斬首、蟲姦的本子，還是會去看純愛本。\n看一些簡單的圖片，不需要過份裝飾，仍然能夠達成滿足性癖好的效果。 或者是回顧收錄在歷史文物書櫃的同人誌。同人誌分類方法見這篇。回顧逝去的往昔。\n回顧往昔這樣講好像怪怪的，從來沒有「同好」能跟我分享開卷之樂啊。只有PTT的AC_In板，以及Komica，給我們這些同好一個去處。那裡不是像Eyny，只是單純看本謝謝大大回覆的地方，而是可以一本正經的討論H漫畫的地方。\n最後翻到這本石恵的TSUKAIMAkuri，總會回想起那個陽光跟現在沒有太多兩樣的下午，盯著智障型手機的螢幕，顫抖著點開蒐集來的圖片的樣子，還有那時代陪在我身邊的人們。 古月照今塵，人過事已非。能說的故事還有很多。\n","date":"2023年9月14日","externalUrl":null,"permalink":"/posts/sexual-preference-transition/","section":"Nsfws","summary":" ＊本文是作為His Fapping Story的補充。\n我們是如何走到這一步的，相棒(あいぼう)？ （用黑暗遊戲的口氣講話）\n性癖好為何越來越重？\n1. 純潔的原石 # 以前沒有智慧型手機，亦不大懂電腦的時候，看言情小說的文字敘述，配上封面就能硬到流出來。（現在看來應該是尿道球腺？） 這即是說，這個時期單純看一點性感東西，甚至畫面人物不需要脫就可以尻。甚至有時候看婦產科醫學解剖圖也可以自慰。\n好尻的當然還有唾手可得的遊戲王卡 (小時候當然是盜版仔)，黑魔導女孩、神鷹女郎都是不錯的素材，更別說遊戲王漫畫原作裡面性感的孔雀舞了。 浪漫的少女漫畫也可以尻，劇情有些刺激，有些很白爛。\n那些被喻為經典之作的漫畫也是有不少福利鏡頭，但是不像少女漫畫有浪漫床戲描寫。\n","title":"性癖好的變遷，回顧以前看了就能硬的少女漫畫","type":"nsfw"},{"content":" His Fapping Story.\n參考某個MTF跨性別好友的經歷，決定寫下這篇。她勇敢的在自己的部落格寫下自我成長為MTF的過程，那麼我想坦白自己的性癖過程也沒什麼好丟臉的。不過不一樣的是，我是異性戀直男，文中多討論的是個人性癖好的成長過程，最多是能發在PTT Sex板畫虎爛的程度，而非為LGBT+社群提供借鏡。\n「以自慰振興精神」連蔣中正都會在日記承認自己的淫慾了，便想要分享過去打手槍演化至今的經歷。\n故事開頭是這樣的：「許多從來不曾在乎的事\u0026hellip;已慢慢交織成，交成一個無邊的網。」\n這樣比喻不錯吧\u0026hellip;當然是指精液黏成的網子。天哪這個大色鬼，經典歌曲被你說成什麼樣了！ 比企谷八幡說過「人即歷史」，打手槍的方式從當初第一次會以來已變化多次，要說這個實在難為情，但是喝酒所以有言論免責權！覺得這是在回顧歷史啊。\n看哪，即使《チチとバストと乳房厨2》已經是10年前的本了，現在還是會拿出來用，酒是越沉越香嘛。 自慰這回事，跟觀看的動漫同人誌(A漫、H漫)、使用的科技息息相關。說太久你也聽不下那麼多細節的對吧。為簡化陳述，提及的自慰素材以動漫同人誌為主，看過的成人片太多太雜不好歸類。除此之外很多經典的同人誌，礙於篇幅無法全講。\n1. 初嘗禁果與零之使魔 # 在小時候已有多次玩弄陰莖的經驗，但是小孩子哪擠的出什麼東西來，只是覺得很有快感，才會搓揉罷了。\n最早認知到自己是在自慰的時候是國小高年級的時候。2012年，那時年代是Web 2.0的中期。我們現在要邁入Web 3.0了呢。\n在現已關閉服務的「Pchome網路相簿」找到某人上傳的《秋子さんといっしょ 8》同人本，下載到SD卡用智障型手機看。因此這算是最早接觸到的R18同人誌，還是情趣內衣類型的\u0026hellip; 後迷上了ANIMAX頻道播放的《零之使魔：雙月的騎士》等一系列動畫，便開始搜尋相關資訊。當時的Google圖片搜尋是沒有什麼隱瞞的，只要搜尋「動漫名稱 h」就能輕鬆找到結果。甚至不用加「H」，一直往下捲，便會出現同人誌的圖片結果。當時找到的是石恵C71出的《TSUKAIMAkuri》，便將圖片存到SD卡，再放到智障型手機上觀看。別人用手機打遊戲，我在看H漫。\n因為數位素養不佳，這期間也勤奮發掘紙本資源，舉凡漫畫、小說、遊戲王卡都是素材來源。\n＊ 詳情：性癖好的變遷\n但是，看紙本書尻的時期我沒有用太久，之後就基本上都是電子化了。\n拿出手機找到當年的本子，現在這本仍相當實用，不論是公主的搓揉才人陰莖的場景，還是謝斯塔騎乘的樣貌。 還有這個，Kyo發現的Keroro軍曹亂倫本，當年看到這樣的內衣就能硬爆，現在也是。 除了動漫外，當時也會看言情小說來性幻想。只有封面圖也能硬真的很厲害，明明那些小說就是霸道總裁那型的。\n說完素材來源，那麼自慰執行方式呢？當時民智未開，最早的自慰方式是用布團把自己捲成一團，並對著布團壓著刺激陰莖而非用擼的，讓精液流出來。說流出來確實是如此，跟後來用手那種射出的感覺不同，比較沒有噴射的爽快感，這種方式的射精比較像是壓迫身體「人工夢遺」。最後棉被裡面會留下一灘液體，乾掉之後很難分辨是睡覺流口水還是夢遺。\n早期這種壓迫的方式，在射精的時候會有強烈酥麻的尿感，之後才吐出精液來，跟之後用手打的射出一瞬間的解放感不同。這種初次的感覺已經不可能再有了。\n或許喜歡被捆綁窒息的觀感？是抖M？才使用這個方式長達一年之久。可是這個方法十分噁心，不知道為何那時不覺得射精在布團上是很噁的事。\n在PTT Sex板上看到也有人小時後是這樣玩過的，看來非特例。\n2. 伊莉論壇為主的漢化網站時期 # 伊莉論壇是最早的穩定供貨來源。\n長期觀察下來，「情色卡漫」是很多論壇都會有的貼圖區。在後來知道漢化組多半有自己的「上游」站點後，才明白這些網站多是盜圖仔。不過當時能蒐集到的情報也只有這樣，因此很依賴這些討論區，像是Ckarea、KYO，還有伊莉論壇，基本上養成了每天打一槍的習慣。\n這時候最有印象的是妄想劇場中的成人版白雪公主，即此時期在各大論壇逛逛時找到的經典作品。\n雖然這個作者人體比例畫得很奇怪，但這幕不知為何特別色。 穿刺處女膜的樣子很有感覺，每次看都有讓我雞雞破處、初次嘗到陰道的感覺。 白雪公主被正太輪姦的畫面才是精華吧，看看這些朝氣勃勃的小肉棒 長久以來，這個雙穴突入，下面往陰道注入精子的樣子我一直看得十分的爽，充滿雄性氣息的征服感。 其實沒有太多Web 2.0時代的記憶，一回想彷彿一起回到了中學時代，那個染著黃色夕陽的放學後時光。\n接著說，此時出現了一個很蠢的自慰方式。當時不知道有右鍵存檔這種東西，而是用數位相機把伊莉論壇的網頁圖片一張張拍下來後才到房間自慰。此時仍未離脫「套弄並讓精液流出來」的作法，只不過不會捲成一團了，而是趴著摩擦一團布團。\n在伊莉論壇上，興奮的說，中文H漫畫貼圖板可以說很有人氣了，用「我的朋友很少」下去搜尋能找到20頁的漢化結果。常常一看就是好幾個小時起跳，還有很多佛心大大貼不需要積分就能看的圖。\n國中買了智慧型手機後，存圖的方式也開始高科技起來。Android早期的2.3系統是很依賴SD卡的，所以學會將伊莉網頁圖片一張張右鍵存到SD卡，再插到手機。有夠蠢的作法。\n在此分享令人印象深刻的《我的朋友很少》吃肉本：Friendly Sky (みいる)] 肉喰い。巨大的奶子晃動著，說不要用肉棒撞擊人家子宮\u0026hellip;實在太棒了。 手機沒3G網路無法隨時線上閱覽很麻煩，但是的書庫此時就開始豐富了起來。手機的目錄整理了一本本同人誌的目錄。\n後來好笑的事情發生了，曾經不只一次在聖人模式後覺得這些檔案佔空間而將其刪除，並感到反悔。\n最後折衷方法是，每部動漫只允許挑一部畫風最好的同人本留下。後來手機有網路已經不用把檔案存在本機了，變成PDF存在Google雲端。\n難以想像當年的情景啊！。我不知道的手機是不是常借給人家玩才要這樣做，或者是患有潔癖主義才無法大量蒐集本子？\n接著自豪的說，此時的自慰方法自發脫離了幹布團的詭異階段，變成懂得用手套弄陰莖，以至射精。射精有時會爆走、噴到30公分以外牆上，但次數非常少。射精後大部份可以即時用右手接住，再用水清洗。\n這個全世界男人都會的技能，很高興的說，總算學會了。\n3. 發現E-hentai和購買正版同人誌 # 隨機瀏覽伊莉論壇的本子，發現《艦隊Collection》系列的許多同人誌吸引我的注意。因此入坑艦隊Collection遊戲，為之沈迷，相關本子也就變成以後，乃至現在，看同人誌的搜尋大宗。\nDigital Lover的經典作品，一次上了145個艦娘的正太提督系列（艦娘総集編02） 隨著手機越來越好，開始有了自己的網路後，便脫離了手機版網頁做的很爛的伊莉。為了在手機方便看，曾短暫用過「紳士漫畫」，網頁壓縮圖片容量的技術真的厲害！後來找到了N-hentai，以及E-hentai (EhViewer)。\n此時開始接觸標籤搜尋技術，還有熟悉使用Pixiv找R18圖片，並將一張張單圖存到當時還是無限容量的Google相簿。但是Google相簿有隱私問題啊啊，我可不敢放太過激的圖片。\n與此同時去找代購日本「悪転奏進」的同人誌真的買成功了。可是當初未滿十八歲啊，居然還真的交易成立，看來對方認為business is business。我已經越來越接近電話了！\n自慰方式沒有太多變化，畢竟用手套弄隨便都能熟悉。不過在看同人誌的題材上，自從發掘悪転奏進這種畫風好劇情卻重口的類型之後，道德底線好像消亡了。也就是說，不再只堅持看親親抱抱的純愛本，而是不斷開始發掘新口味。以前覺得玩跳蛋、給男性強制戴貞操帶、NTR很殘忍，後來卻變成畫風好就能拿來用的等級。\n(C85) [八木崎銀座 (八神秋一)] Pure Girls punish (ラブライブ!)，前面吃掉正太後，還給上貞操帶，好過份。 4. 多元資訊化時代 # 2018年後，研究了各種蒐羅圖片的方式和工具，圖片搜尋部份Pixiv仍是大宗，可是廣告介面讓人很不愉快，標籤也不準確。所以發現了Danbooru、Gelbooru、yande.re這類網站，學會用標籤搜尋後，才能找到當下「急用」想找的性癖內容。\n因為語言能力的提升，不是很在乎本子有沒有人漢化，至此看本都在E-hentai，很少去找其他野生來源的了。利用各種科技來輔助自慰那又是另一個故事了。\n考語言證照不是這樣用的好嗎！？\n後來接觸到《Fate/Go》，那又是另一個超大世界觀的世界，Fate角色的同人誌數量龐大啊，便成為了主要搜尋的另一個大宗。可以說艦隊Collection和Fate的同人誌就看不完了。但還是會去PTT AC_IN看有什麼新奇的同人誌推薦啦。\n超實用的黑貞本：(C92) [TRY\u0026amp;方言二人社会 (方言)] 性処理サーヴァント IN マイルーム (Fate/Grand Order) [無修正]，整本就是瘋狂射精。 掌握了資訊工具，便很容易在出新裏番，或是哪裡有新流出的影片知道觀看管道。確切的說，再也不會隨便撞進劣質色情網站並遭到滿螢幕的廣告轟炸，而是到許多人的國際性大站找盜版資源。\n有時候覺得真的很不錯的作者就透過DLSite購買正版支持。真的到愛不釋手的情況下再透過虎之穴訂購實體本子。\n5. 使用飛機杯 # 手已經不夠刺激了，所以開始使用仿陰道構造的飛機杯。\n大約2019年開始，靦腆的說，踏入飛機杯的過程也是很扯，一開始想土砲，拿一個罐子，然後裡面塞海綿，再套上矽膠手套，就變成一個還算緊的飛機杯。當時也不知道潤滑液哪裡買，所以都是用沐浴乳當潤滑。一開始抽插的感覺不賴，第一次體驗到包皮被迫完全翻開的感受（以前打手槍通常都只有露出一點），也慢慢習慣讓龜頭能不斷被摩擦。不過，那畢竟是土炮的，摩擦久了會痛，而且沐浴乳刺激性太強。於是試了幾個月後才真正去買飛機杯。\n剛開始笨笨的挑了一個無牌的，用起來甚至緊度不如土炮。後來只好請教專業意見，隻身到情趣用品店問店員詢問，才挑到比較好的。然而，我過了幾個月還是不滿意，遂上網找資料。除了PTT的sex板外，Komica2的「成人玩具」板也是個好資料所在，並且輾轉得知日本有onahodouga這類專業網站。這個時候我的訊息變得多元，所以有能力做更好的選擇。雖說如此，仍沒考慮長度的問題，買了很貴的Magic Eyes處女宮卻發現不實用，沒有30cm根本頂不到底啊。處女宮無法頂到底無法充分享受，我試過用剪刀剪短以求能達到更深處，結果卻仍是普通觸感，還損失漂亮的外觀，之後就丟了。\n嘗試幾款真正的飛機杯後，覺得RideJapan四重螺旋是最實用耐打的。坐著套弄，還是用懶骨頭組一個砲架玩背後式抽插，都是不錯的選擇。在玩砲架玩背後式的時候，就要找相對應場景的動漫圖身臨其境，例如後背位，或是《黑獸》第一集的播種畫面： 買二重螺旋和四重螺旋才真正找到滿意的，很難有飛機杯能像四重螺旋一樣平衡。我似乎是比較愛硬版的飛機杯了\u0026hellip;一般軟的飛機杯只能說是愛撫玩具，就這幾年來的每週使用頻率，主力還是硬版的飛機杯。\n在這個時期，覺得射精的不再只是慾望發洩，而是若有似無的交配感覺。在被飛機杯緊緊壓搾的時候射精，那個在塑膠陰道抖動的感覺，看到精液在飛機杯深處散開的樣貌，讓人有正在造小孩的幻象，彷彿要讓飛機杯懷孕一般。\n看了感覺真可憐哈哈哈，不行，不能把這個想法說出來。\n雖然聽說飛機杯能訓練耐力，但是對紋路、軟軟的肉壁沒感覺，所以才偏好買二重四重螺旋這類硬板的來進行高刺激搾精。不同於手能控制快慢和緊度，飛機杯感覺像是完整的做愛和交配，在射精前，是很難讓雙手離開抽動飛機杯的。使用長久下來，耐力似乎確實有增加，即使在觀看高度血脈賁張的動漫圖＋很緊的飛機杯不間斷用力抽插的情況下，還能堅持個一二分鐘。\n很實用的動漫圖的例子，mushiro_(nijie728995)畫的南丁格爾暴力騎乘： 嘆氣的表示，飛機杯使用時間還是不頻繁，因為幾乎每天自慰的頻率下，還是用手的佔大多數，機動性佳。如上所述，跟飛機杯做愛的儀式感偏重，因此每個禮拜用不會超過三天。\n5. 結語 # 講了那麼多，總算結束了。\n結束了這麼長的對話，好像把別人的人生重新活過了一遍一樣。看著神采奕奕的，堅持自慰到現在，身體還是好很多。\n每天射精，煩惱就會消除一半，看事情也比較透澈。就像下圖一樣，有時間就馬上來自慰吧！的這種感覺。\n(C90) [平胸好き委員会 (奥ヴぁ)] 陽炎型の性事情 (艦隊これくしょん -艦これ-)] 我便說了：\n射精一念起，剎那天地寬。\n一時間我笑了。\n","date":"2023年9月14日","externalUrl":null,"permalink":"/posts/his-masturbation-history/","section":"Nsfws","summary":" His Fapping Story.\n參考某個MTF跨性別好友的經歷，決定寫下這篇。她勇敢的在自己的部落格寫下自我成長為MTF的過程，那麼我想坦白自己的性癖過程也沒什麼好丟臉的。不過不一樣的是，我是異性戀直男，文中多討論的是個人性癖好的成長過程，最多是能發在PTT Sex板畫虎爛的程度，而非為LGBT+社群提供借鏡。\n「以自慰振興精神」連蔣中正都會在日記承認自己的淫慾了，便想要分享過去打手槍演化至今的經歷。\n故事開頭是這樣的：「許多從來不曾在乎的事…已慢慢交織成，交成一個無邊的網。」\n這樣比喻不錯吧…當然是指精液黏成的網子。天哪這個大色鬼，經典歌曲被你說成什麼樣了！ 比企谷八幡說過「人即歷史」，打手槍的方式從當初第一次會以來已變化多次，要說這個實在難為情，但是喝酒所以有言論免責權！覺得這是在回顧歷史啊。\n","title":"自慰方式演化史","type":"nsfw"},{"content":"收錄專輯：Radiohead - OK Computer\n（本翻譯含有中文超譯成份，以使這首歌在旋律好聽的同時聽起來更負面、更具體，而不只是在描寫都市的交通工具樣貌）\nTransport\n交通工具\nMotorways and tramlines\n在高速公路和鐵道跑\nStarting and then stopping\n停了又走，走了又停\nTaking off and landing\n降了又停，停了又飛\nThe emptiest of feelings\n瀰漫在空氣中的空洞感\nDisappointed people\n失望的人們\nClinging onto bottles\n拼命的想擺脫現狀\nAnd when it comes it\u0026rsquo;s so so disappointing\n但一想到現實又是那麼令人無力\nLet down and hanging around\n失望的在街道上徘徊\nCrushed like a bug in the ground\n最後像微不足道的蟲子被生活壓死\nLet down and hanging around\n失望的在街道上徘徊\nShell smashed, juices flowing\n利刃弄得肚破腸流，一滴不剩\nWings twitch legs are going\n翅膀彎折，無處可逃\nDon\u0026rsquo;t get sentimental\n「思維不要那麼極端」\nIt always ends up drivel\n反正這都是我在胡言亂語\nOne day I am gonna grow wings\n「總有一天我要振翅高飛」\nA chemical reaction\n像這樣激勵自己的化學反應\nHysterical and useless\n只是歇斯底里，毫無用處\nHysterical and\n只是妄想\nLet down and hanging around\n失望的在街道上徘徊\nCrushed like a bug in the ground\n最後像微不足道的蟲子被生活壓死\nLet down and hanging around\n失望的在街道上徘徊\nLet down and hanging\n失望的徘徊\nLet down\n失望\nLet down\n失望\nYou know, you know where you are with\n你明明知道自己現在的處境，但\nYou know where you are with\n你明明知道自己的處境為何\nFloor collapsing, floating\n你情緒激動的\nBouncing back and\n上搖下擺\nOne day I am gonna grow wings\n「總有一天我要振翅高飛」\nA chemical reaction\n像這樣激勵自己的化學反應\n(You know where you are)\n（你明明知道自己的處境為何）\nHysterical and useless\n只是歇斯底里，毫無用處\n(You know where you are)\n（你明明知道自己的處境為何）\nHysterical and\n只是妄想\n(You know where you are)\n（你明明知道自己的處境為何）\nLet down and hanging around\n失望的在街道上徘徊\nCrushed like a bug in the ground\n最後像微不足道的蟲子被生活壓死\nLet down and hanging around\n失望的在街道上徘徊\n","date":"2023年9月13日","externalUrl":null,"permalink":"/posts/radiohead-let-down-zh-tw/","section":"Musics","summary":"收錄專輯：Radiohead - OK Computer\n（本翻譯含有中文超譯成份，以使這首歌在旋律好聽的同時聽起來更負面、更具體，而不只是在描寫都市的交通工具樣貌）\nTransport\n交通工具\nMotorways and tramlines\n在高速公路和鐵道跑\nStarting and then stopping\n停了又走，走了又停\nTaking off and landing\n降了又停，停了又飛\nThe emptiest of feelings\n瀰漫在空氣中的空洞感\nDisappointed people\n失望的人們\nClinging onto bottles\n拼命的想擺脫現狀\nAnd when it comes it’s so so disappointing\n但一想到現實又是那麼令人無力\nLet down and hanging around\n失望的在街道上徘徊\nCrushed like a bug in the ground\n最後像微不足道的蟲子被生活壓死\nLet down and hanging around\n失望的在街道上徘徊\nShell smashed, juices flowing\n利刃弄得肚破腸流，一滴不剩\nWings twitch legs are going\n翅膀彎折，無處可逃\nDon’t get sentimental\n「思維不要那麼極端」\nIt always ends up drivel\n反正這都是我在胡言亂語\nOne day I am gonna grow wings\n「總有一天我要振翅高飛」\nA chemical reaction\n像這樣激勵自己的化學反應\nHysterical and useless\n只是歇斯底里，毫無用處\nHysterical and\n只是妄想\nLet down and hanging around\n失望的在街道上徘徊\nCrushed like a bug in the ground\n最後像微不足道的蟲子被生活壓死\nLet down and hanging around\n失望的在街道上徘徊\nLet down and hanging\n失望的徘徊\nLet down\n失望\nLet down\n失望\nYou know, you know where you are with\n你明明知道自己現在的處境，但\nYou know where you are with\n你明明知道自己的處境為何\nFloor collapsing, floating\n你情緒激動的\nBouncing back and\n上搖下擺\nOne day I am gonna grow wings\n「總有一天我要振翅高飛」\nA chemical reaction\n像這樣激勵自己的化學反應\n(You know where you are)\n（你明明知道自己的處境為何）\nHysterical and useless\n只是歇斯底里，毫無用處\n(You know where you are)\n","title":"【歌詞翻譯】Radiohead - Let Down 失望","type":"music"},{"content":"","date":"2023年9月13日","externalUrl":null,"permalink":"/tags/radiohead/","section":"標籤","summary":"","title":"Radiohead","type":"tags"},{"content":"《Yoshimi Battles The Pink Robots》是美國迷幻樂團The Flaming Lips 最為有名的一張專輯，用迷幻與科幻狂想，述說一個人生的故事。專輯歌曲間有一絲絲的連貫性，就像一張搖滾歌劇一樣呀。從探索、疑惑、愛情的憂鬱，融合一點科幻元素，之後到對人生了悟的地步。\n1. 前言 # 專輯封面來自維基百科。臺灣譯名: 烈燄紅唇合唱團 - 良美大戰粉紅機器人 以The Flaming Lips的風格來說，聽來不會太實驗(除了其中一首有點「吵」外)，又有淺淺的人生哲學在裡面，聽著這些溫暖的旋律，或許可以給人生一點安慰。The Flaming Lips在創作的時候，認識的一位日本歌迷過世了，因為各種因素下促成了這張專輯的發行。\n這一切起源於看似無聊的初階英語課程\u0026hellip;對已經通過很多英檢考試的人來說，大學一年級還被逼著上什麼初階英文，但是美國課本呢卻介紹這樣一個有趣的樂團\u0026quot;Flaming Lips\u0026quot;，從此讓我墜入他們的世界。之後反覆聽了這專輯10餘遍，所以我認為足以概觀這張專輯了。\n2. 曲目 # 下面有完整中文歌詞翻譯。\nFight Test / 戰鬥測試\nOne More Robot/Sympathy 3000-21 / 又有一個機器人/ 同理心3000-21\nYoshimi Battles the Pink Robots, Pt. 1 / 良美大戰粉紅機器人Part. 1\nYoshimi Battles the Pink Robots, Pt. 2 / 良美大戰粉紅機器人Part. 2\nIn the Morning of the Magicians / 魔法師的早晨\nEgo Tripping at the Gates of Hell / 意識在地獄大門前神遊\nAre You a Hypnotist?? / 你難道是催眠師??\nIt’s Summertime / 夏天到了\nDo You Realize?? / 你了解了嗎??\nAll We Have Is Now / 我們擁有的只有現在\nApproaching Pavonis Mons by Balloon (Utopia Planitia) / 乘氣球去烏托邦\n3. 曲目個別賞析 # 1. Fight Test 戰鬥測試 # 中文歌詞翻譯\n這首歌好像在說人生的奮鬥，如果你不願意的話，又怎麼跨過人生關卡? 你已經是大人了。\n歌詞：如果不是現在，那麼告訴我要什麼時候，你才肯像個男人站起來奮鬥。要是輸了我還能接受，但是最後卻投降，於是我哭了。\n主唱Wayne Coyne曾表示：這首歌的概念就是：如果面對問題，連嘗試戰鬥都沒有，那就必定會讓你後悔莫及。\n2. One More Robot/Sympathy 3000-21 又一個機器人/ 同理心3000-21 # 中文歌詞翻譯\n安慰人類的機器人，模擬出感情，還能算是機器嗎? 本曲末尾的旋律堪稱一絕。豆瓣有評論說「這段讓我想死」。\n隨著電流的嗚嗚聲 / 開始複製情感，感測哀傷情緒，開始運作 / 為了要撫慰你的悲傷 / 又有一個機器人，變得不像是機器人\n3. Yoshimi Battles the Pink Robots, Pt. 1 良美大戰粉紅機器人Part. 1 # 中文歌詞翻譯\nYoshimi日本名字可解作「良美」，歌詞說她是黑帶高手，要打擊怪獸。有些人認為歌詞指的怪獸就是憂鬱症/癌症。而Yoshimi！在大家都不相信我的情況下，我相信你能打倒他們。\n4. Yoshimi Battles the Pink Robots, Pt. 2 良美大戰粉紅機器人Part. 2 # 這首歌是純演奏曲。雖然是延續上一首，但是這首感覺純粹在…鬼吼鬼叫的噪音風格(有請到日本樂團OOIOO協助)\n5. In the Morning of the Magicians 魔法師的早晨 # 中文歌詞翻譯\n迷幻的早晨，讓人體會到宇宙的奧妙，宇宙自有其運作的道理，什麼是愛，什麼又是恨? 這些又有什麼好爭執的?\n如果說上一首的大戰粉紅機器人是一場夢\u0026hellip;那這就是醒過來後的樣子吧。難免讓人想到Pink Floyd在月之暗面專輯也有類似的手法，但是呢這這邊的主角，現實面對的仍是年少的煩惱，請繼續看下去。\n6. Ego Tripping at the Gates of Hell 地獄大門前耍帥 # 中文歌詞翻譯\n(或譯：意識在地獄大門前神遊）這首曲子情感壓抑，但表達的惋惜很強烈，我覺得不只是在指涉愛情吧，也可以指涉自大又自卑的人。用一種飄忽不定的曲風，歌詞似乎在喃喃自語，我給你的愛這麼多，卻好像讓我錯過了其他的緣分。我在等待某個發光發亮的時刻，但是它不曾到來，我想大概是我的意識在神遊吧。\n歌詞：我一直在等待那個時刻，但是永遠不會到來。在此同時其他百萬計的時光，就這樣流逝了。我曾只要妳來愛我，但是妳的愛從不到來。在此同時其他身邊的緣分，就這樣浪費掉了。\n7. Are You a Hypnotist?? 你難道是催眠師?? # 中文歌詞翻譯\n你似乎把我迷的神魂顛倒，莫非你是催眠大師? 這首鼓打得很猛烈，MV倒是拍的讓人癲癇症發作。\n8. It’s Summertime 夏天到了 # 中文歌詞翻譯\n溫暖安慰的一曲，如果說整張專輯連貫下來，氛圍從這裡開始變得比較陽光正向。歌詞簡單，旋律激勵人心。\n有一句說得很好:\n儘管未來看不到任何可能性。當你看向內心，只會看到自我反射的哀傷。看向外頭吧，你會察覺，夏天到了。\n9. Do You Realize?? 你了解了嗎?? # 中文歌詞翻譯\n協助人建立自我認同的歌曲。\n請看:\n你有最美麗的臉龐，你所認識的人，終有一天會死？與其向他們一一道別，不如讓他們明瞭人生過得很快，好事並不長久。你終將了解太陽並不是真的下山，那僅是因為地球轉動造成的幻象。\n不過整首歌好像也就稱讚臉龐而已，剩下的就是說人生是幻影，好事不長久…並要接受這樣的定律。\nWayne Coyne曾說這是他們寫過最棒的歌曲之一，這也是他們最有名的曲子。\n10. All We Have Is Now 我們擁有的只有現在 # 中文歌詞翻譯\n雖然上一首又悲觀了起來，不過這裡又出現了一個科幻的場景！來自另一個次元的我，從未來跟我們說「我們沒成功，我們失敗了」\u0026hellip;但沒成功的是什麼呢？征服宇宙的計畫？人生志向失敗？這時主角認識到一個道理：要活在當下。\n你我永不會是未來的一部分，因為我們只擁有現在。我們曾擁有過的，只有現在。\n曾有科學說法說，你不會活在過去，也不是未來，可是呢我們每一分經歷的「當下」都會馬上成為過去，包括正意識到此問題的你。\n11. Approaching Pavonis Mons by Balloon (Utopia Planitia) 乘氣球去烏托邦 # 純演奏曲。乘氣球去火星上的烏托邦平原，Pavonis Mons則是火星上的一座火山。\nWayne Coyne原本把這首當作他的電影《Christmas On Mars》的曲子，日落時熱氣球降落在火星上…但覺得太pop了不適合，所以決定改收到這張專輯。因為這首歌曲，The Flaming Lips第一次得到葛萊美獎。\n4. 總結 # Flaming Lips的風格比較實驗和迷幻，他們現場演出喜歡搞怪，辦防疫泡泡演唱會、錄24小時的歌放在骷髏頭裡面賣等等…這張專輯聽來比較「正常」一點。\n這張小品專輯沒有很偉大，不過偶爾聽來是不錯的小品。我很感謝在看似無聊的大一通識英文，課本卻介紹了這樣一個特別的樂團。這張專輯很適合當作聆聽Flaming Lips的入門作，並從中逐步深入認識他們其他專輯的哲學。\n這張專輯無時無刻陪伴我，鼓勵我到現在。\n","date":"2023年9月12日","externalUrl":null,"permalink":"/posts/the-flaming-lips-yoshimi-battle-the-pink-robots-review/","section":"Musics","summary":"《Yoshimi Battles The Pink Robots》是美國迷幻樂團The Flaming Lips 最為有名的一張專輯，用迷幻與科幻狂想，述說一個人生的故事。專輯歌曲間有一絲絲的連貫性，就像一張搖滾歌劇一樣呀。從探索、疑惑、愛情的憂鬱，融合一點科幻元素，之後到對人生了悟的地步。\n1. 前言 # 專輯封面來自維基百科。臺灣譯名: 烈燄紅唇合唱團 - 良美大戰粉紅機器人 以The Flaming Lips的風格來說，聽來不會太實驗(除了其中一首有點「吵」外)，又有淺淺的人生哲學在裡面，聽著這些溫暖的旋律，或許可以給人生一點安慰。The Flaming Lips在創作的時候，認識的一位日本歌迷過世了，因為各種因素下促成了這張專輯的發行。\n這一切起源於看似無聊的初階英語課程…對已經通過很多英檢考試的人來說，大學一年級還被逼著上什麼初階英文，但是美國課本呢卻介紹這樣一個有趣的樂團\"Flaming Lips\"，從此讓我墜入他們的世界。之後反覆聽了這專輯10餘遍，所以我認為足以概觀這張專輯了。\n2. 曲目 # 下面有完整中文歌詞翻譯。\nFight Test / 戰鬥測試\nOne More Robot/Sympathy 3000-21 / 又有一個機器人/ 同理心3000-21\n","title":"專輯賞析：The Flaming Lips - Yoshimi Battles The Pink Robots 良美大戰粉紅機器人","type":"music"},{"content":"Hydrus Network是一款標籤式的圖片管理軟體。\n使用Hydrus Network時，如果要匯入現有的圖片收藏，就得手動匯入再手動打標籤。\n可是萬一圖片很多，標籤哪上的完？所幸有很多自動化的解決方案，例如動漫圖片有「DeepDanbooru」，靠AI自動偵測圖片角色並輸出Danbooru風格的標籤，方便我們匯入Hydrus。\n這裡解說DeepDanbooru/hydrus-dd的用法。\n1. 安裝hydrus-dd # hydrus-dd是基於DeepDanbooru開發的Hydrus輔助程式，將標籤格式修改為適合Hydrus的格式。\n開啟終端機，複製hydrus-dd的儲存庫 git clone https://gitgud.io/koto/hydrus-dd.git cd hydrus-dd 安裝Anaconda，再安裝Python依賴套件 conda create --name hydrus-dd python=3.9 conda activtae hydrus-dd pip install . 下載Deepbooru預先訓練的模型model.h5，解壓縮後將全部檔案放至model目錄（這裡使用v3-20211112-sgd-e28版本，模型檔名要叫做model.h5）\n新增設定檔。Linux設定檔位置位於~/.config/hydrus-dd/hydrus-dd.conf，Windows則是位於C:\\Users\\USERNAME\\AppData\\Local\\hydrus-dd\\hydrus-dd.conf。於該檔案填入以下內容\n[general] api_url = http://127.0.0.1:45869 model_path = model/model.h5 tags_path = model/tags.txt tag_format = {tag} tag_service = my tags file_service = my files sort_type = 2 sort_asc = False api_key = chunk_size = 100 threshold = 0.5 cpu = False [server] host = 0.0.0.0 port = 4443 2. 偵測圖片並生成標籤檔 # 假設這裡有一個動漫圖片的目錄，路徑為/home/user/Pictures/anime： 在終端機執行以下指令，最後面接圖片目錄的路徑，按下Enter，開始偵測。\nhydrus-dd evaluate-batch \u0026#34;/home/user/Pictures/anime\u0026#34; 偵測完成後，hydrus-dd會為每個圖片生成對應的txt檔案，裡面就是該圖片的標籤。 如果覺得每次都要打一堆指令很麻煩，這邊提供快捷指令稿的範例。此指令稿的用法為bash ./start.sh \u0026quot;要處理的圖片目錄\u0026quot;\n# 檔名取為start.sh #!/bin/bash eval \u0026#34;$(conda shell.bash hook)\u0026#34; conda activate hydrus-dd hydrus-dd evaluate-batch \u0026#34;$1\u0026#34; 3. 匯入圖片至Hydrus Network # 將動漫圖片的目錄直接拖曳到Hydrus的界面 點選add tags/urls with the import 點選左上角的sidecars，點選左下角的add 選取a .txt sidecard，之後都按apply。 這樣圖片就會自動帶入txt記載的標籤了。點選appy再點選Import。 之後的步驟就跟上面第二節的一樣了，確認圖片標籤無誤後，全選，右鍵，按archive selected。 Hydrus匯入的圖片會原封不動複製到資料庫，因此匯入後可將原圖檔案刪除。\n另外，有啟動Hydrus的client api伺服器的話，也是可以給Hydrus圖庫中的圖片自動上標籤。 (Hydrus圖片右鍵 → export → share → copy → hash → sha256)\nhydrus-dd evaluate-api-hash --hash \u0026#34;圖片的sha256\u0026#34; --api_key \u0026#34;client api金鑰\u0026#34; ","date":"2023年9月11日","externalUrl":null,"permalink":"/posts/hydrus-network-hydrus-dd/","section":"所有文章","summary":"Hydrus Network是一款標籤式的圖片管理軟體。\n使用Hydrus Network時，如果要匯入現有的圖片收藏，就得手動匯入再手動打標籤。\n可是萬一圖片很多，標籤哪上的完？所幸有很多自動化的解決方案，例如動漫圖片有「DeepDanbooru」，靠AI自動偵測圖片角色並輸出Danbooru風格的標籤，方便我們匯入Hydrus。\n這裡解說DeepDanbooru/hydrus-dd的用法。\n1. 安裝hydrus-dd # hydrus-dd是基於DeepDanbooru開發的Hydrus輔助程式，將標籤格式修改為適合Hydrus的格式。\n開啟終端機，複製hydrus-dd的儲存庫 git clone https://gitgud.io/koto/hydrus-dd.git cd hydrus-dd 安裝Anaconda，再安裝Python依賴套件 conda create --name hydrus-dd python=3.9 conda activtae hydrus-dd pip install . 下載Deepbooru預先訓練的模型model.h5，解壓縮後將全部檔案放至model目錄（這裡使用v3-20211112-sgd-e28版本，模型檔名要叫做model.h5）\n新增設定檔。Linux設定檔位置位於~/.config/hydrus-dd/hydrus-dd.conf，Windows則是位於C:\\Users\\USERNAME\\AppData\\Local\\hydrus-dd\\hydrus-dd.conf。於該檔案填入以下內容\n[general] api_url = http://127.0.0.1:45869 model_path = model/model.h5 tags_path = model/tags.txt tag_format = {tag} tag_service = my tags file_service = my files sort_type = 2 sort_asc = False api_key = chunk_size = 100 threshold = 0.5 cpu = False [server] host = 0.0.0.0 port = 4443 2. 偵測圖片並生成標籤檔 # 假設這裡有一個動漫圖片的目錄，路徑為/home/user/Pictures/anime： ","title":"Hydrus Network：藉由DeepDanbooru自動給匯入的動漫圖片上標籤","type":"posts"},{"content":"想提昇手機音質必然會用到音效軟體調整吧，例如Dolby Atmos、PowerAMP、Wavelet；手機有Root則能裝老牌的Viper4Android全域提昇手機音質。\n今天Ivon要介紹的音效軟體「JamesDSP」，是市面上琳瑯滿目音效軟體中，少見的開源軟體。 JamesDSP基於Omnirom DSP Manager打造，大部分手機都可以裝。 特色如下：\n支援Root或免Root模式安裝 自由開源的音效軟體 支援低音強化、等化器(equalizer)、動態範圍壓縮、脈衝響應、濾波器、Viper DDC、DSP指令稿、虛擬環繞 可個別針對手機喇叭或耳機調整音效 開發積極，支援最新Android 13系統 音效啟用後在串流時也有用（如Chromecast、Android Auto） 除了Android外，JamesDSP還支援Linux系統 儘管JamesDSP的音效沒有Viper4Android那樣猛烈，但也夠好了，裝了之後音樂的聽感會截然不同。\n1. 安裝JamesDSP # 如果可以的話最好使用Root版本，方便全域處理音訊。免Root版需要手動開啟，且支援的APP有限，需要施一些手段繞過。\n1.1. Root版 # 注意：安裝JamesDSP前請先停用Viper4Android和其他音效模組。\n至Zackptg5網站下載Audio Modification Library和JamesDSP Manager\n開啟Magisk，安裝模組zip檔，安裝時按音量下鍵選擇ThePBone製作的新版介面。\n重開機。如果沒看到APP圖示，到手機內部儲存空間找到JamesDSP Manager的APK檔安裝。\n1.2. 免Root版 # 安裝Shizuku，並依照指示開啟ADB偵錯。\n安裝Rootless JamesDSP，開啟後選取Shizuku，啟用服務\nRootless JamesDSP需要在播放音樂之前在APP主畫面點選啟用處理音效，右上角會顯示錄影圖示 之後再播放音樂，通知欄會顯示正在處理的音樂。 Youtube、Apple Music測試可以處理，但Spotify、Google Chrome不支援，因為這類程式有DRM防止擷取音效。需要另外patch。作者提供修補程式，用Revanced Manager修補之後就能讓RootlessJamesDSP擷取音效。\n2. JamesDSP的音效設定 # Root版跟免Root版本的音效類似，下面以Root版的界面來說明，分享我個人的設置。\n注意JamesDSP的音效沒有Viper4Android那樣猛烈，如果要仔細聆聽前後差異，建議使用耳機。\n首先您得到JamesDSP點選開啟總音訊效果開關。 開啟後會顯示通知，確認音效有在運作後若不想看到通知，就長按將其關閉。 您可以設定「後增益」(post gain)用於提昇手機音量，適用於音量開到100%仍不夠大聲的手機。\n「動態範圍壓縮器」(Dynamic rang compander)啟用後可以讓音量平衡，防止音樂破音，或是防止太小聲的問題。\nDynamic Bass Boost建議勾選，可以增加音樂的低音，「最大增益」大概抓中間就可以了。 「多模均衡器」(Multimodal eqaulizer)就是音效軟體常見的等化器了，我使用的設定檔是Movies，可以強化低音和高音部份的音效。 「卷積器」可以把聲音跟特定的「脈衝響應」音檔混音。這個我不喜歡開。\n「Viper DDC」是給耳機用的，需要找對應耳機型號的DDC檔載入，故我不勾選。\n「現場DSP」(Live programmable DSP)可透過指令稿達成即時音樂後製效果。\n最後的是空間位置效果的諸選項，自行戴耳機播放音樂調整看看吧，有些音樂可因此增加臨場感，有的則會導致樂器模糊不清。 嚴格來說，音效軟體不能真正提昇「音質」，頂多是透過演算法欺騙耳朵讓音樂更好聽、不刺耳罷了。JamesDSP的設定比Viper4Android繁瑣些，卻比PowerAMP控制的東西要多的多。\n","date":"2023年9月7日","externalUrl":null,"permalink":"/posts/android-jamesdsp/","section":"所有文章","summary":"想提昇手機音質必然會用到音效軟體調整吧，例如Dolby Atmos、PowerAMP、Wavelet；手機有Root則能裝老牌的Viper4Android全域提昇手機音質。\n今天Ivon要介紹的音效軟體「JamesDSP」，是市面上琳瑯滿目音效軟體中，少見的開源軟體。 JamesDSP基於Omnirom DSP Manager打造，大部分手機都可以裝。 特色如下：\n支援Root或免Root模式安裝 自由開源的音效軟體 支援低音強化、等化器(equalizer)、動態範圍壓縮、脈衝響應、濾波器、Viper DDC、DSP指令稿、虛擬環繞 可個別針對手機喇叭或耳機調整音效 開發積極，支援最新Android 13系統 音效啟用後在串流時也有用（如Chromecast、Android Auto） 除了Android外，JamesDSP還支援Linux系統 儘管JamesDSP的音效沒有Viper4Android那樣猛烈，但也夠好了，裝了之後音樂的聽感會截然不同。\n1. 安裝JamesDSP # 如果可以的話最好使用Root版本，方便全域處理音訊。免Root版需要手動開啟，且支援的APP有限，需要施一些手段繞過。\n","title":"JamesDSP，免root提高手機喇叭音質、音量變大聲！Viper4Android開源替代品","type":"posts"},{"content":"現今Sony手機仍有提供解鎖手機bootloader，藉此讓使用者root的選項。不分購買期限，只要到官網取得解鎖碼，刪除手機全部資料後，就可以開始root啦。\n目前Android 13，較為簡易的Root方案是Magisk配原廠韌體使用。只要root權限的話不需刷TWRP，且不需要等人移植，完全自食其力的root方式。\n利用Magisk的「修補檔案」對boot.img上下其手，再把它刷入boot分區，即完成root。用這種方法root除了簡單外，還可以保留OTA更新能力：要更新的話把原廠的boot.img刷回去就好。\n不過，要刷Magisk，就得先生出boot.img讓Magisk修補呀！這個boot.img要從哪裡來呢？\n此時可以使用XDA開發者推出的Sony Dump Tool（anyxperia_dumper）開源工具，從Sony原廠抽出boot.img。\n這個工具還可以從Sony原廠韌體解出kernel.elf、kernel.sin等檔案。\n到XDA下載XperiFirm。這個軟體只有Windows版，Linux可以用Wine跑。\n開啟XperiFirm，按照機型下載韌體，例如我是Xperia 10 V。 韌體下載後會自動解壓縮 到XDA下載Sony Dump Tool，解壓縮得到執行檔。給Linux系統的執行檔是sony_dump.x86_64，Windows的是sony_dump.exe。 將執行檔放到解壓縮出來的韌體目錄 在韌體目錄開啟終端機，輸入指令，解壓縮以boot_X-FLASH-ALL開頭的檔案（注意Linux跟Windows指令不一樣）\n# Linux ./sony_dump.x86_64 output boot_X-FLASH-ALL-E13D.sin # Windows ./sony_dump.exe output boot_X-FLASH-ALL-E13D.sin 同一個目錄下即會多出output目錄，將裡面沒有副檔名的boot_X-FLASH-ALL檔案重新命名為boot_X-FLASH-ALL.img，這樣我們就得到了boot.img檔案啦。 透過ADB或MTP把boot.img傳到手機\n在手機上安裝Magisk Manager，選取安裝 → 修補檔案，再修補剛傳過來的boot.img。 之後會在手機的Download目錄找到修補過的boot.img，將修補過的boot.img傳回電腦。\n使用ADB指令讓手機進入fastboot模式\nadb reboot bootloader 刷入boot.img fastboot flash boot magisk_patched_boot.img fastboot reboot 參考資料：How To Extract Sony Boot.Sin And Get The Stock Boot.Img File - Droidwin\n","date":"2023年9月4日","externalUrl":null,"permalink":"/posts/sony-dump-tool-usage/","section":"所有文章","summary":"現今Sony手機仍有提供解鎖手機bootloader，藉此讓使用者root的選項。不分購買期限，只要到官網取得解鎖碼，刪除手機全部資料後，就可以開始root啦。\n目前Android 13，較為簡易的Root方案是Magisk配原廠韌體使用。只要root權限的話不需刷TWRP，且不需要等人移植，完全自食其力的root方式。\n利用Magisk的「修補檔案」對boot.img上下其手，再把它刷入boot分區，即完成root。用這種方法root除了簡單外，還可以保留OTA更新能力：要更新的話把原廠的boot.img刷回去就好。\n不過，要刷Magisk，就得先生出boot.img讓Magisk修補呀！這個boot.img要從哪裡來呢？\n此時可以使用XDA開發者推出的Sony Dump Tool（anyxperia_dumper）開源工具，從Sony原廠抽出boot.img。\n這個工具還可以從Sony原廠韌體解出kernel.elf、kernel.sin等檔案。\n到XDA下載XperiFirm。這個軟體只有Windows版，Linux可以用Wine跑。\n開啟XperiFirm，按照機型下載韌體，例如我是Xperia 10 V。 韌體下載後會自動解壓縮 到XDA下載Sony Dump Tool，解壓縮得到執行檔。給Linux系統的執行檔是sony_dump.x86_64，Windows的是sony_dump.exe。 ","title":"從Sony原廠韌體抽取boot.img ~ Sony Dump Tool，方便刷Magisk root","type":"posts"},{"content":"這是一篇非常個人與主觀的Sony Xperia 10 V (XQ-DC72) 開箱評測文，評價外觀、拍照、音樂播放。\nIvon買這支Xperia 10 V就是為了日常使用的，取代綠線發作的Xperia 5 II。\n為證實Xperia 10 V有取代Xperia 5 II的潛力，Ivon將拿已經有12條綠線的Xperia 5 II出來，在文中不時比對各項優劣，給予12試煉，證明Xperia 10 V雖然低人一等，但仍可以當我日常daily driver。\n這是場不公平的競爭，就讓我們開始吧。 0. 換機理由 # Ivon以前拿Sony Xperia 5 II，於2021年購入，原本預計用個5年。小螢幕旗艦，沒有可以挑剔的，還有LineageOS續命，我想未來頂多換個電池吧。誰知道綠線炸彈2年後發作（參見此文），修理費用高昂還可能復發，於是棄置，開始物色下一支手機。\n過度期間，我是拿舊的小米Poco F1撐著，我討厭瀏海所以特地用開發人員選項隱藏。其實我可以用這支繼續偏安的，過期4年的旗艦仍是水桶機，有效能又有續航，有LineageOS續命，塑膠機手感好不像Xperia 5 II玻璃沾指紋。\n但問題在於，這支買來就是二手的，光源感測器、重力感應器、陀螺儀都壞了，影響導航，喇叭也破破的。我需要一支功能正常的手機。\n不幸的是，當今預算有限，原本想買過季旗艦的Google Pixel 5，可是Ivon不怎麼玩大型手遊，這幾個月用Poco F1下來證明SD 845對我來說夠用了，加上想要重量輕、小尺寸手機、不想要沉淪使用挖孔螢幕，所以選了Sony Xperia 10 V。\n由於這支很便宜，未來一定會有人移植LineageOS。\n1. Sony Xperia 10 V簡介 # Sony Xperia 10 V為2023年6月上市的中階手機，定價台幣13990元。Xperia 10 V跟Xperia 10 IV有何差別呢？從手機王的規格表來看，Xperia 10 V相較上一代Xperia 10 IV變化不大，連處理器都沒換，繼續用中低階的SD 695。\n我去看了Sony官網Xperia 10 V商品宣傳頁面，這代太精實了，每個特點都一句話帶過。 告訴你這是一支6.1吋的羽量手機、長續航\u0026hellip;明明強調「效能」確隻字不提玩遊戲的事。\n有趣的是Xperia 10 V有通過「Android Enterprise」認證，畢竟這支便宜又長續航！且不會有綠線！是不錯的外送機。\n\u0026hellip;那何不像上一代將手機優點全部細講一遍？大概是因為這代跟上一代差不多吧\u0026hellip; Xperia 10 V上市兩個月以來部落客業配的內容多複述官方優點，甚至還有拿「分割螢幕」出來講的，這個功能不是5年前Sony全系就有了嗎。\n我想真的新東西不多吧\u0026hellip;PTT鄉民普遍譴責Sony不長進，改這麼一點還賣那麼貴，市占率Others不意外。\n不過Xperia 10 V除繼承上一代10 IV「長續航、防水、耳機孔、重量輕、OLED」的優點外，還是有新東西的啦，例如前置雙喇叭、RAM升級8GB、更好的鏡頭，以及\u0026hellip;換個顏色。對，沒了。\n2. 開箱印象不錯，低調優雅的綠色 # Sony Xperia 10 V原價台幣13990元，中階機這價格有點賣信仰，趁購物網站降價3000又送行充禮包的時候下單。\n不過GSMSArena測試出來的續航成績高的嚇人！根據網友說明，輕度使用電池可以撐二天。低功耗處理器加上5000mAh大電量，這支根本不需要行充吧？\n手機外盒是竹子廢料做成的盒子。為了環保，內容物只有手機，沒有充電線和其他配件。我看Sony旗艦機的內容物也是這樣，突然不是那麼想做環保了\u0026hellip;幸好我還有舊的快充頭。 贈品除了空壓殼外還送Pixel野餐墊。 我覺得這代的鼠尾草綠很不錯，優雅沉著又有點粉粉的（我拍的有點灰，請以官網照片和實際產品為主），不像上一代10 IV那噁心的羽綠色，看起來像核廢料。 綠的像葉子的手機，再加上回收物製成的盒子包裝，真是環保到毛毛蟲都會把它誤當成葉子趴上去了吧！\nXperia 10 V維持159g的輕手感，正面邊框因為沒有曲面所以厚了些。手機整體比Xperia 5 II略厚，拿在手上仍無壓力，還有防水性能呢。\n我覺得很棒的地方是殼質感，塑膠殼不若玻璃機身容易沾指紋，表面又做磨砂處理使其不會握起來感覺很廉價。震動馬達只比Xperia 5 II差一點\u0026hellip;好吧，是差很多點，超級廉價的震動感，連續打字時的回饋很不舒服，我索性得把Gboard打字震動的功能關掉。\n希望不要金玉其外敗絮其內\u0026hellip;\u0026hellip;。\n3. 螢幕漂亮，但系統介面怎麼可以卡成這樣 # Sony的界面既要原生又不原生，Sony的APP設計風格跟新版Material You格格不入的樣子，Sony還停留在Android 11以前的正正方方審美。 你看看他，方方的，那是惡魔的形狀！\n不過這在之前Xperia 5 II升Android 12就習慣Sony審美了，沒差。\n螢幕沒120Hz，沒差，反正之前Xperia 5 II開了也是耗電發熱。 （← 自我安慰的差不多先生）\nXperia 10 V支援廣色域（叫做TRILUMINOS，不是DCI-P3）。至於螢幕顏色設定檔，我將其調整成「原始模式」，色溫設為中。這樣Xperia 10 V螢幕發色就跟Xperia 5 II的「導演模式」一樣準確了，看圖片顏色不會偏。（下圖綠綠的是因為Material You） 相較於旗艦機，Xperia 10 V沒有內建什麼專業照相APP，業配軟體倒是很多，看到那個KKBox沒有，你要在官方商城購買手機才會送會員試用啦！我還是自行下載Apple Music就好。 跑完更新後，我將預設的三鍵改成滑動手勢。沒用的「側面感應」把它關掉。\n究竟是Sony的UI寫太爛，或是SD 695性能太差，手機界面滑動會偶然卡一下。我之前LineageOS的Poco F1儘管升級Android 13，動畫變冗長但也沒有卡成這樣\u0026hellip;唉，SD 695不是超越SD 845了嗎！？\n類原生又不乾淨，內建一堆雜七雜八程式。雖然這支UI不是一直都在卡，可是這個優化不良的體驗未來更新無法削減的話，以後我一定要刷機成LineageOS。\n4. GCam拯救了Xperia 10 V的拍照 # 自動拍照部分是Sony弱項，Dxomark給Xperia 10 V的分數是78分，屬於中階機的正常水準。\nXperia 10 V搭載3鏡頭，分別為1200萬畫素26mm f/1.8的主鏡頭、1200萬畫素54mm f/2.2望遠鏡頭、800萬畫素16mm f/2.2廣角鏡頭。\n就Ivon過去使用的經驗來看，Xperia 5 II自動模式成像拍出來能當照片參考標準的，顏色自然，白平衡如同iPhone一樣準確。我希望Xperia 10 V拍照可以跟Xperia 5 II比肩\u0026hellip;雖然不可能啦，但是白平衡至少要接近Xperia 5 II的等級。\nIvon拿著綠線機Xperia 5 II跟Xperia 10 V出去拍個照。為防止越級屠殺，我先不裝GCam，一切都是原廠相機，自動模式。Sony官網不是說「免設定隨手拍嗎」？我們看看是不是真是如此。\n下面放對比照，左邊Xperia 5 II，右邊Xperia 10 V。\n首先是水交社飛機F-5E 順便測試Xperia 10 V的超廣角 以及望遠鏡頭 水交社飛機F-86F Xperia 10 V超廣角和望遠鏡頭普普通通。成像部份Xperia 10 V的細節可以，但不管怎麼拍都曝光不足，點一下對焦又會過曝，應證了Dxomark編輯的評語。\n如果要靠手動模式調整參數才能拍出好照片的話，作為智慧型手機相機就是失敗了，Xperia 10 V也沒M模式呀\u0026hellip;\n接著看建築，台南市美術館二館。二者差距很明顯了，Xperia 5 II雖偏黃但還原真實色彩，Xperia 10 V白平衡很爛，一片死白 室內地點拍攝飛機模型。在這裡我們又再度看到白平衡問題，沐浴在午後陽光的零戰，Xperia 5 II捕捉到了變色的飴色，Xperia 10 V則仍是慘白。 再比較拍攝人偶的成色\u0026hellip;Xperia 10 V拍的加賀Figma臉色慘白。 到了晚上，我實在不甘心Xperia 10 V就這樣被屌打，所以下載了BigKaka製作的GCam，看看能不能以下犯上。\n台南市河樂廣場夜拍，左Xperia 5 II，中間Xperia 10 V，右邊Xperia 10 V ＋ GCam 果不其然，GCam不只救了Xperia 10 V烏漆嘛黑的夜拍效果，還矯正了拍照容易死白的問題。這樣拍照唯一的缺點就剩下GCam演算法導致的細節丟失了。\nXperia 10 V帶著GCam的復仇！再次拍一次加賀Figma 論顏色準確度還是旗艦機Xperia 5 II最準，準確反映出環境顏色。Xperia 10 V不是曝光不足就是過曝，不愧是中階機水準。儘管5 II和10 V螢幕發色都很準確，可是一拍照就破功了。\nGCam在Xperia 10 V後處理演算速度很快，也不發熱，網路熱心開發者真的是我的英雄。\n我還測試了錄影收音：嗯幸好跟Xperia 5 II差不多，不過沒有麥克風雜音過濾技術就是了。\n我覺得最摳的是Qualcomm把SD 695的4K錄影能力偷掉，所以Xperia 10 V不支援4K錄影與解碼。不是Sony不給，而是處理器根本就不支援！SD 695明明是最新處理器，卻是6系列不支援4K錄影的首例。嘛\u0026hellip;我也沒在錄4K啦，但不能看4K影片這點真的很糟糕。\n5. 測試喇叭外放音質 # 再來測試喇叭外放音質，我認為Xperia 5 II的外放喇叭不錯，所以Xperia 10 V不能表現太差。\n測試過程兩支手機都不開Dolby Atmos音效軟體。哈\u0026hellip;Xperia 10 V根本沒有Dolby Atmos，只有「360空間模擬音效」和「DSEE Ultimate」，前者支援以耳機模擬360度的音樂效果。\n我一定要先說，這個技術非常雞肋，喇叭聽不出來，要戴著耳機聽。\n我實際去Apple Music找支援360度音效的音樂來聽（Pink Floyd - The Darkside of the Moon），實際上只是聽感豐富了一些，很多經典歌曲重新以360度技術混音反而變難聽了，樂器都飄在空中。 我覺得要嘛得準備萬元高級耳機，或是家裡擺7個音響組成的劇院聽360度音效才有震撼感。\nXperia 10 V已支援藍芽LDAC高音質傳輸標準，插上耳機聽表現就很好了。\nDSEE Ultimate我覺得也沒什麼用，因為聽的都是無損音樂了，我不想讓它破壞音色。\n不要玩360空間模擬音效了，單純聽喇叭外放音樂吧。前置雙喇叭，這可是Xperia 10 V相較於上一代有升級的少數項目！\n純音樂測試曲目（下面影片僅供參考，我實際使用Apple Music無損音源）\n林強 - 娛樂世界 李宗盛 - 新寫的舊歌 Guns N\u0026rsquo; Roses - Estranged 坂本龍一 - 千本ナイフ 馬蘭吟唱隊 - 老人飲酒歌 Carmen Suite No. 2: II. Habanera (London Philharmonic Orchestra) 對比之下，我覺得Xperia 5 II的喇叭聲音可能還是「清脆」和「清楚」些，許多類型的音樂都表現良好，而Xperia 10 V較適合聽流行樂。但Xperia 10 V也沒很差啦，二者很接近。\n問題在於Xperia 10 V的喇叭是偏小聲的（跟沒開Dolby Atmos的Xperia 5 II類似），有時候音量要開到100%。沒有Dolby Atmos能放大音量，我覺得這會是Xperia 10 V的一個缺點。\n再來是觀影效果，Xperia 10 V支援TRILUMINOS display for mobile和DRM L1，可以看Netflix高畫質，觀影效果是沒問題的。\n不過嘛\u0026hellip;21：9的螢幕看什麼影片都會黑邊，且少了HDR10。 我還是覺得沒有Dolby Atmos很可惜，那個放大影片的音效比360度音效炫多了。\n6. 遊戲效能 # 單就跑分來說，Xperia 10 V的SD 695相較於Xperia 5 II的SD 865性能是砍半的。可這支有UFS和8GB RAM，實際上性能也沒差到那去\u0026hellip;除了Sony UI優化很爛導致lag以外。\nXperia 10 V大部分時候滑都沒什麼溫度，不像Xperia 5 II容易飆過45度。\n我在手機玩的遊戲就不吃效能的《Fate/Grand Order》和《艦隊Collection》，不玩熱門3D動作遊戲\u0026hellip;我很難說這支手機能不能打《傳說對決》或《原神》什麼的。\n但我還是跑個安兔兔分數看看，444895分還不錯，全面超越SD 845。Xperia 10 V連在跑分的時候也不會燙手，我看Xperia 10 V很難有過熱問題啦。 所以我才說各項分數都跟SD 845差不多的SD 695已經適合我了。SD695性能跟SD845差不多，其實SD 695沒有那麼差，問題是Sony開的價格不對，還優化不好。\n7. 為提昇效能，所以我就Root了 # Xperia 10 V新機的卡頓發作率實在太高，總會在莫名的地方頓一下。\n手機到底卡在哪？這是主觀問題，由於隨機發作我很難指出，但我似乎不是個案。請看以下日本Youtuber的開箱影片，5:20處的那種滑動「卡頓」正是我常常遇到的情況，滑Twitter也會卡。 幾日觀察下來皆是如此，重置手機也不見改善。我實在不能忍受這種效能，或許只是系統動畫卡而已，Sony推個OTA更新就解決了？在那之前我決定先自己動手。從2023年9月購買以來觀察到現在，Xepria 10 V卡頓問題即使在升級Android 15後仍沒有解決，做的真好Sony！\n在進行一些優化後，Ivon的Xperia 10 V體驗要比原廠系統好了一些，獲得更高的流暢度的同時，也沒有犧牲續航力，手機亦不發熱。\n受不了這個外放喇叭音質了，反正都是增加幻覺的音效，Xperia 10 V沒有的Dolby Atmos，就用音效模組來補吧！\nXperia 10 V的Root過程很簡單，不過Root後系統照樣卡就是了，要用ADB刪除Sony溫控，再安裝一些模組才順暢許多。\n以上具體提昇效能的步驟，參考Sony Xepria 10 V Root並改善卡頓。\n順帶一提，Xperia 10 V砍掉了硬體指示燈，那Fastboot mode的指示燈怎麼辦呢？\n直接顯示在螢幕上啦！ 8. Xperia 10 V優缺點總評 # 優點：\n螢幕無挖孔，6.1吋小手機 廣色域OLED螢幕，顏色準確 重量159g塑膠機身超級輕，防水 長續航 價格實惠（等跳水） 缺點：\n遊戲性能偏弱 UI寫得不好，看能否更新或者刷機解決。 喇叭有點小聲，沒有Dolby Atmos 內建拍照不佳，要靠GCam救，犧牲細節換畫面 Xperia 10V足不足以取代我的Xperia 5 II當daily driver？不在乎拍照與玩遊戲效能的話，勉強可以。\n","date":"2023年9月3日","externalUrl":null,"permalink":"/posts/sony-xperia-10-v-review/","section":"Unboxings","summary":"這是一篇非常個人與主觀的Sony Xperia 10 V (XQ-DC72) 開箱評測文，評價外觀、拍照、音樂播放。\nIvon買這支Xperia 10 V就是為了日常使用的，取代綠線發作的Xperia 5 II。\n為證實Xperia 10 V有取代Xperia 5 II的潛力，Ivon將拿已經有12條綠線的Xperia 5 II出來，在文中不時比對各項優劣，給予12試煉，證明Xperia 10 V雖然低人一等，但仍可以當我日常daily driver。\n這是場不公平的競爭，就讓我們開始吧。 0. 換機理由 # Ivon以前拿Sony Xperia 5 II，於2021年購入，原本預計用個5年。小螢幕旗艦，沒有可以挑剔的，還有LineageOS續命，我想未來頂多換個電池吧。誰知道綠線炸彈2年後發作（參見此文），修理費用高昂還可能復發，於是棄置，開始物色下一支手機。\n過度期間，我是拿舊的小米Poco F1撐著，我討厭瀏海所以特地用開發人員選項隱藏。其實我可以用這支繼續偏安的，過期4年的旗艦仍是水桶機，有效能又有續航，有LineageOS續命，塑膠機手感好不像Xperia 5 II玻璃沾指紋。\n但問題在於，這支買來就是二手的，光源感測器、重力感應器、陀螺儀都壞了，影響導航，喇叭也破破的。我需要一支功能正常的手機。\n不幸的是，當今預算有限，原本想買過季旗艦的Google Pixel 5，可是Ivon不怎麼玩大型手遊，這幾個月用Poco F1下來證明SD 845對我來說夠用了，加上想要重量輕、小尺寸手機、不想要沉淪使用挖孔螢幕，所以選了Sony Xperia 10 V。\n","title":"Xperia 10 V開箱評測，輕量、長續航、三鏡頭的Sony新機可以取代Xperia 5 II嗎？","type":"unboxing"},{"content":"想要用電腦遠端遙控Android手機畫面、播放手機音樂的話，Ivon推薦您使用超好用的Scrcpy來控制手機。\nScrcpy是由模擬器廠商Genymobile釋出的開源專案，透過有線/無線方式，將手機的畫面投影到電腦，延遲很低，方便您進行螢幕錄影，還能用電腦操控手機玩遊戲。\nScrcpy也能充當AirPlay的功能，不傳輸畫面只傳輸音訊，在電腦播放手機的音樂。\n不過，Scrcpy原始版需要打指令，不方便使用。開發者barry-ran便製作了圖形化版本「QtScrcpy」讓Scrcpy使用更簡單了！支援Linux/macOS/Windows系統。 QTScrcpy除繼承原版Scrpy的手機畫面串流、音訊串流功能外，還加入了「一對多群控」、「錄製螢幕」、「遊戲觸控螢幕按鍵映射」的功能，使Scrcpy更為強大。 下面簡介QtTScrcpy的使用方式。\n1. 安裝QTScrcpy # QTScrcpy是基於Scrcpy開發的開源軟體，有問題可以到作者的Github issue回報。\n請至Github Releases下載對應系統的執行檔。\nLinux下載ubuntu的檔案，解壓縮點QtScrcpy的執行檔開啟。如果您是Arch Linux可以從AUR安裝：yay -S qtscrcpy\nWindows（建議Windows 10以上）下載zip檔案解壓縮，點選exe開啟QTScrcpy。\nmacOS請下載dmg安裝。\n2. 將Android手機與QTScrcpy連線 # 要配合QTScrcpy使用的手機，系統版本建議為Android 11以上，方能正常串流所有畫面和音訊。\nQTScrcpy支援一次配對多部手機。下面以Android 13的手機為例。\n開啟手機系統設定，點選「關於手機」 → 「版本號碼」，點5下，啟用開發人員選項。\n在手機系統設定搜尋「開發人員選項」，進入後啟用「ADB偵錯」。 接著選擇有線連接或無線連接。除非您的Wifi網路很快，否則建議先使用有線連接方式，避免畫面延遲掉格。\n2.1. USB有線連接 # 將Android手機用USB線插到電腦\n開啟QTScrcpy，在手機上允許ADB偵錯。如果電腦偵測不到手機請自行安裝手機驅動程式。\nQTScrcpy對裝置列表的手機點二下，手機畫面就會跳出來。 2.2. Wifi無線連接 # 於電腦安裝Platform Tools\n在手機的開發人員選項啟用「無線偵錯」，點進去再點選「使用配對碼配對裝置」，會顯示手機的IP與通訊埠，還有配對碼 開啟電腦終端機，執行以下指令與手機配對，輸入配對碼。192.168是上面顯示的手機的IP＋通訊埠\nadb pair 192.168.0.238:42551 將手機無線偵錯面板顯示的IP與通訊埠記下來（注意通訊埠跟剛剛配對碼的不一樣） 在QTScrpy面板右下角輸入手機IP與通訊埠，點選無線連接。 之後QTScrcpy的裝置列表就會偵測到Android裝置了，點二下開啟手機螢幕。 3. 透過QTScrcpy操控手機 # QTScrcpy的主面板有一些設定可以調整。首先，如果您是用有線連接的話，建議把比特率(bitrate)拉到5Mbps以上，畫面會比較清晰。再勾選「保持喚醒」讓手機不會自動鎖定。 滑鼠點選手機螢幕視窗時，旁邊會顯示輔助使用工具，可以控制手機音量、返回首頁、擷圖等。 綠色的按鈕為「群控」，點下後滑鼠一動，即可一次控制多台手機，對遊戲開分身帳號很有幫助。\nAPP的聲音QTScrcpy會自動用電腦喇叭播放，手機端會靜音。\n4. 使用QTScrcpy的按鍵映射 # QTScrcpy的按鍵映射(keymapping)功能專門設計給那些不支援鍵盤的手機遊戲，讓使用者可以用鍵盤模擬手勢，操控遊戲。\n原作者給的例子是《PUBG Mobile》，該遊戲只能用觸控操作，電腦鍵盤沒反應。QTScrcpy透過指令稿的方式，用電腦方向鍵模擬「點擊」、「滑動」手勢，即可控制遊戲。\n在QTScrcpy主程式目錄下新增keymap目錄，新增一個json檔案。（如果您是透過AUR安裝QTScrcpy請放到/opt/qtscrcpy/） 參考原作者的範本撰寫設定檔。例如下面我是給遊戲《幻塔》設定的快捷鍵，設定WASD鍵控制人物移動：\n{ \u0026#34;switchKey\u0026#34;: \u0026#34;Key_QuoteLeft\u0026#34;, \u0026#34;keyMapNodes\u0026#34;: [ { \u0026#34;comment\u0026#34;: \u0026#34;Moving\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;KMT_STEER_WHEEL\u0026#34;, \u0026#34;centerPos\u0026#34;: { \u0026#34;x\u0026#34;: 0.19, \u0026#34;y\u0026#34;: 0.71 }, \u0026#34;leftOffset\u0026#34;: 0.1, \u0026#34;rightOffset\u0026#34;: 0.1, \u0026#34;upOffset\u0026#34;: 0.1, \u0026#34;downOffset\u0026#34;: 0.1, \u0026#34;leftKey\u0026#34;: \u0026#34;Key_A\u0026#34;, \u0026#34;rightKey\u0026#34;: \u0026#34;Key_D\u0026#34;, \u0026#34;upKey\u0026#34;: \u0026#34;Key_W\u0026#34;, \u0026#34;downKey\u0026#34;: \u0026#34;Key_S\u0026#34; }, { \u0026#34;comment\u0026#34;: \u0026#34;Moving camera\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;KMT_STEER_WHEEL\u0026#34;, \u0026#34;centerPos\u0026#34;: { \u0026#34;x\u0026#34;: 0.5, \u0026#34;y\u0026#34;: 0.5 }, \u0026#34;leftOffset\u0026#34;: 0.1, \u0026#34;rightOffset\u0026#34;: 0.1, \u0026#34;upOffset\u0026#34;: 0.1, \u0026#34;downOffset\u0026#34;: 0.1, \u0026#34;leftKey\u0026#34;: \u0026#34;Key_Left\u0026#34;, \u0026#34;rightKey\u0026#34;: \u0026#34;Key_Right\u0026#34;, \u0026#34;upKey\u0026#34;: \u0026#34;Key_Up\u0026#34;, \u0026#34;downKey\u0026#34;: \u0026#34;Key_Down\u0026#34; } ] } 回到QTScrcpy主界面，點選「刷新腳本」，選取剛剛新增的指令稿，再點選「應用腳本」 進入手機螢幕視窗，按一下電腦鍵盤的~按鍵啟用指令稿，隨後手機即會接受到鍵盤操作。\n","date":"2023年8月30日","externalUrl":null,"permalink":"/posts/android-qtscrcpy-usage/","section":"所有文章","summary":"想要用電腦遠端遙控Android手機畫面、播放手機音樂的話，Ivon推薦您使用超好用的Scrcpy來控制手機。\nScrcpy是由模擬器廠商Genymobile釋出的開源專案，透過有線/無線方式，將手機的畫面投影到電腦，延遲很低，方便您進行螢幕錄影，還能用電腦操控手機玩遊戲。\nScrcpy也能充當AirPlay的功能，不傳輸畫面只傳輸音訊，在電腦播放手機的音樂。\n不過，Scrcpy原始版需要打指令，不方便使用。開發者barry-ran便製作了圖形化版本「QtScrcpy」讓Scrcpy使用更簡單了！支援Linux/macOS/Windows系統。 QTScrcpy除繼承原版Scrpy的手機畫面串流、音訊串流功能外，還加入了「一對多群控」、「錄製螢幕」、「遊戲觸控螢幕按鍵映射」的功能，使Scrcpy更為強大。 下面簡介QtTScrcpy的使用方式。\n1. 安裝QTScrcpy # QTScrcpy是基於Scrcpy開發的開源軟體，有問題可以到作者的Github issue回報。\n請至Github Releases下載對應系統的執行檔。\nLinux下載ubuntu的檔案，解壓縮點QtScrcpy的執行檔開啟。如果您是Arch Linux可以從AUR安裝：yay -S qtscrcpy\n","title":"QTScrcpy使用教學，投影Android手機螢幕到電腦、遠端控制手機、播放手機音樂","type":"posts"},{"content":"（註：此專案已停止維護，請參考螢幕鏡射軟體Scrcpy尋找其他方案。）\n開發者Srevin Saju製作的圖形化界面「GUIScrcpy」，將Scrcpy的指令都圖形化！ GUIScrcpy是開源免費的軟體，支援Linux/macOS/Windows系統。 跟類似的專案QTScrcpy比起來，GUIScrcpy更新較積極，但按鍵映射功能較弱，界面較醜，使用起來不穩定。\n下面讓Ivon介紹GUIScrcpy的使用方式。\n1. 安裝GUIScrcpy # Linux可以透過Flatpak安裝：\nflatpak install flathub in.srev.guiscrcpy 如果要傳輸音訊，使用者還需要額外安裝USBaudio （疑似Android 8後就失效了？）\nWindows請到Github Releases下載exe安裝。\nmacOS開發者建議用Snap Store安裝：\nsudo snap install guiscrcpy 2. 將Android手機與GUIScrcpy連線 # 手機系統版本建議為Android 11以上，才能正常串流畫面和音訊。\nGUIScrcpy支援一次配對多部手機。下面以Android 13的手機為例。\n開啟手機系統設定，點選「關於手機」 → 「版本號碼」，點5下，啟用開發人員選項。\n在手機系統設定搜尋「開發人員選項」，進入後啟用「ADB偵錯」。 接著選擇有線連接或無線連接。\n2.1. USB有線連接 # 將Android手機用USB線插到電腦\n開啟GUIScrcpy，在手機上允許ADB偵錯。如果電腦偵測不到手機請自行安裝手機驅動程式。\nGUIScrcpy裝置列表應會偵測到手機，點一下手機圖示，再按Start Scrcpy，手機畫面就會跳出來。 2.2. Wifi無線連接 (TCP/IP) # 將Android手機用USB線插到電腦（只需做一次，之後GUIScrcpy會記住裝置）\n對裝置列表的手機點選Attemp TCPIP on device 拔掉手機USB線\n點選Wifi按鈕，掃描區域網路的裝置，或是輸入手機區域IP。點選手機的IP，並按下Connect。 回到裝置列表，點選重新載入圖示，應會看到帶有IP的手機圖示，點選。 按Start Scrcpy\n3. 透過GUIScrcpy操控手機 # GUIScrcpy啟動視窗後，會有一排按鈕顯示在旁邊。我測試的時候滑鼠移過去這些按鈕會亂跑\u0026hellip;總之就是協助操控手機的快捷鍵。十字架鍵盤為模擬滑動手勢。 如果要讓投影畫質清晰一些，將GUIScrcpy面板的Bitrate調高。\nGUIScrcpy的按鍵映射目前很陽春，只能做到按鍵盤，點一下螢幕指定位置的操作。\n按GUIScrcpy的藍色火箭按鈕，會跳出一個視窗。點一下螢幕，之後再於左上角輸入要映射的鍵盤。關閉視窗，再點一次藍色火箭圖示套用。 ","date":"2023年8月29日","externalUrl":null,"permalink":"/posts/android-guiscrcpy-usage/","section":"所有文章","summary":"（註：此專案已停止維護，請參考螢幕鏡射軟體Scrcpy尋找其他方案。）\n開發者Srevin Saju製作的圖形化界面「GUIScrcpy」，將Scrcpy的指令都圖形化！ GUIScrcpy是開源免費的軟體，支援Linux/macOS/Windows系統。 跟類似的專案QTScrcpy比起來，GUIScrcpy更新較積極，但按鍵映射功能較弱，界面較醜，使用起來不穩定。\n下面讓Ivon介紹GUIScrcpy的使用方式。\n1. 安裝GUIScrcpy # Linux可以透過Flatpak安裝：\nflatpak install flathub in.srev.guiscrcpy 如果要傳輸音訊，使用者還需要額外安裝USBaudio （疑似Android 8後就失效了？）\nWindows請到Github Releases下載exe安裝。\nmacOS開發者建議用Snap Store安裝：\nsudo snap install guiscrcpy 2. 將Android手機與GUIScrcpy連線 # 手機系統版本建議為Android 11以上，才能正常串流畫面和音訊。\nGUIScrcpy支援一次配對多部手機。下面以Android 13的手機為例。\n開啟手機系統設定，點選「關於手機」 → 「版本號碼」，點5下，啟用開發人員選項。\n在手機系統設定搜尋「開發人員選項」，進入後啟用「ADB偵錯」。 接著選擇有線連接或無線連接。\n2.1. USB有線連接 # 將Android手機用USB線插到電腦\n","title":"GUIScrcpy，投影Android手機螢幕到電腦的圖形化Scrcpy軟體","type":"posts"},{"content":"這個世界瘋了，持續將女人束縛著。\n官方MV\n1989年，由英國樂團驚懼之淚(Tears for Fears)發表的單曲《Woman in chains》獲得很不錯的回響，後收錄在專輯《The Seeds of Love》中。女聲的部分與Oleta Adams合作，Angela Alvarado則飾演MV的女主角。\n即使是在西方社會，女權運動的提升也要經過一百多年才趨成熟。1969年有一首歌In the Year 2525，光是第一句就憂心地指出:「2025年時，女性是否還能生存?」\nMV的劇情具體的描述了歌詞的內容，如果女人只能受男人宰制，這個世界就繼續瘋下去吧。「It\u0026rsquo;s under my skin but out of my hands」這句更是將痛苦描寫得很好的絕筆。\n有說法稱這首歌是女性主義國歌，如果分段來看，確實是在描寫女性遭受的壓迫，具體可以參考這一篇。\n最後，這首歌似乎只有一個中文譯本，因此獻醜重新翻譯了一番:\nYou better love loving and you better behave 你要做的就是去愛，去表現 You better love loving and you better behave 你要做的就是去愛，去表現 Woman in chains 被束縛的女人 Woman in chains 被束縛的女人 Calls her man the great white hope\n把她的男人視為偉大的象徵 (white hope:擔負著眾人期望的人) Says she\u0026rsquo;s fine, she\u0026rsquo;ll always cope 她說沒事的，自然就會好的 Woman in chains 被束縛的女人 Woman in chains 被束縛的女人 【副歌】\nWell, I feel lying and waiting is a poor man\u0026rsquo;s deal 嗚，我覺得坐以待斃是窮苦人的辦法 A poor man\u0026rsquo;s deal 是最低級的手段 And I feel hopelessly weighed down by your eyes of steel 你的鐵血雙眼，沉重的輾碎了我的希望 Your eyes of steel 你那鐵血的雙眼 Well, it\u0026rsquo;s a world gone crazy 嗚，這個世界瘋了 Keeps woman in chains, woah 持續將女人束縛著 Woman in chains 被束縛的女人 Woman in chains 被束縛的女人 Trades her soul as skin and bone 以靈魂和骨肉作為交易 You better love loving and you better behave 你要做的就是去愛，去表現 Sells the only thing she owns 獻出了她唯一擁有的東西 You better love loving and you better behave 你要做的就是去愛，去表現 Woman in chains 被束縛的女人 The sun and the moon 就像太陽與月亮的關係 Woman in chains 被束縛的女人 Men of stone 頑固的男人 Men of stone 頑固的男人 【副歌】 Well, I feel deep in your heart there are wounds time can\u0026rsquo;t heal 嗚，我能感覺的到你的內心有連時間都難以撫平的傷痛 That time can\u0026rsquo;t heal 就連時間都難以撫平 And I feel somebody somewhere is trying to breathe 而這世界上，還有人在嘗試著再多呼一口氣 Well, you know what I mean 我想你明白我的意思了 It\u0026rsquo;s a world gone crazy 這個世界瘋了 Keeps woman in chains 持續將女人束縛著 It\u0026rsquo;s under my skin but out of my hands 那份感覺在我身體裡，卻又不是我能掌控的 I\u0026rsquo;ll tear it apart, but I won\u0026rsquo;t understand 僅僅是將它甩開，卻永遠了解不了她真正的感受 Somebody somewhere is trying to breathe 那就是還有人仍嘗試著能多吸一口氣 I will not accept the greatness of man 在此我要拒絕男性的偉大責任 It\u0026rsquo;s a world gone crazy 這個世界瘋了 Keeps woman in chains 持續將女人束縛著 Gone crazy 瘋狂的世界 Keeps woman in chains 持續將女人束縛著 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 The sun and the moon 就像太陽與月亮的關係 So free her 讓她自由吧 The wind and the rain 就像風與雨的關係 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 The sun and the moon 就像太陽與月亮的關係 So free her 讓她自由吧 The wind and the rain 就像風與雨的關係 So free her 讓她自由吧\n","date":"2023年8月28日","externalUrl":null,"permalink":"/posts/tears-for-fears-woman-in-chains-zh-tw/","section":"Musics","summary":"這個世界瘋了，持續將女人束縛著。\n官方MV\n1989年，由英國樂團驚懼之淚(Tears for Fears)發表的單曲《Woman in chains》獲得很不錯的回響，後收錄在專輯《The Seeds of Love》中。女聲的部分與Oleta Adams合作，Angela Alvarado則飾演MV的女主角。\n即使是在西方社會，女權運動的提升也要經過一百多年才趨成熟。1969年有一首歌In the Year 2525，光是第一句就憂心地指出:「2025年時，女性是否還能生存?」\nMV的劇情具體的描述了歌詞的內容，如果女人只能受男人宰制，這個世界就繼續瘋下去吧。「It’s under my skin but out of my hands」這句更是將痛苦描寫得很好的絕筆。\n有說法稱這首歌是女性主義國歌，如果分段來看，確實是在描寫女性遭受的壓迫，具體可以參考這一篇。\n最後，這首歌似乎只有一個中文譯本，因此獻醜重新翻譯了一番:\nYou better love loving and you better behave 你要做的就是去愛，去表現 You better love loving and you better behave 你要做的就是去愛，去表現 Woman in chains 被束縛的女人 Woman in chains 被束縛的女人 Calls her man the great white hope\n把她的男人視為偉大的象徵 (white hope:擔負著眾人期望的人) Says she’s fine, she’ll always cope 她說沒事的，自然就會好的 Woman in chains 被束縛的女人 Woman in chains 被束縛的女人 【副歌】\nWell, I feel lying and waiting is a poor man’s deal 嗚，我覺得坐以待斃是窮苦人的辦法 A poor man’s deal 是最低級的手段 And I feel hopelessly weighed down by your eyes of steel 你的鐵血雙眼，沉重的輾碎了我的希望 Your eyes of steel 你那鐵血的雙眼 Well, it’s a world gone crazy 嗚，這個世界瘋了 Keeps woman in chains, woah 持續將女人束縛著 Woman in chains 被束縛的女人 Woman in chains 被束縛的女人 Trades her soul as skin and bone 以靈魂和骨肉作為交易 You better love loving and you better behave 你要做的就是去愛，去表現 Sells the only thing she owns 獻出了她唯一擁有的東西 You better love loving and you better behave 你要做的就是去愛，去表現 Woman in chains 被束縛的女人 The sun and the moon 就像太陽與月亮的關係 Woman in chains 被束縛的女人 Men of stone 頑固的男人 Men of stone 頑固的男人 【副歌】 Well, I feel deep in your heart there are wounds time can’t heal 嗚，我能感覺的到你的內心有連時間都難以撫平的傷痛 That time can’t heal 就連時間都難以撫平 And I feel somebody somewhere is trying to breathe 而這世界上，還有人在嘗試著再多呼一口氣 Well, you know what I mean 我想你明白我的意思了 It’s a world gone crazy 這個世界瘋了 Keeps woman in chains 持續將女人束縛著 It’s under my skin but out of my hands 那份感覺在我身體裡，卻又不是我能掌控的 I’ll tear it apart, but I won’t understand 僅僅是將它甩開，卻永遠了解不了她真正的感受 Somebody somewhere is trying to breathe 那就是還有人仍嘗試著能多吸一口氣 I will not accept the greatness of man 在此我要拒絕男性的偉大責任 It’s a world gone crazy 這個世界瘋了 Keeps woman in chains 持續將女人束縛著 Gone crazy 瘋狂的世界 Keeps woman in chains 持續將女人束縛著 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 The sun and the moon 就像太陽與月亮的關係 So free her 讓她自由吧 The wind and the rain 就像風與雨的關係 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 So free her 讓她自由吧 The sun and the moon 就像太陽與月亮的關係 So free her 讓她自由吧 The wind and the rain 就像風與雨的關係 So free her 讓她自由吧\n","title":"【歌詞翻譯】驚懼之淚 - 被束縛的女人 Tears For Fears - Woman in Chains","type":"music"},{"content":"","date":"2023年8月28日","externalUrl":null,"permalink":"/tags/tears-for-fears/","section":"標籤","summary":"","title":"Tears for Fears","type":"tags"},{"content":"邊緣人的很喪三篇牢騷。\n啊啊，彷彿看到了下水道老鼠跑出來了哪。\n1. 我不受歡迎，怎麼想都是你們的錯 # 最近看了一部動漫《我不受歡迎，怎麼想都是你們的錯！》，這部實在太黑了，同樣是描寫邊緣人的動漫，《果然我的青春戀愛喜劇搞錯了》至少還有事件推動劇情前進，《我不受歡迎，怎麼想都是你們的錯！》則是完全沒救贖，《孤獨搖滾》、《一個人的○○小日子》跟這部完全無法比。 《我不受歡迎，怎麼想都是你們的錯！》或許可以作為女性版的《歡迎加入NHK！》的對照，一個喪女一個宅男。如果主角一直交不到朋友又心理疾病發作，恐怕真會變成繭居族。我聽說漫畫版後來轉型為後宮漫的存在了，不再那麼黑暗。\n《歡迎加入NHK！》的主角則是得到了天外飛來的救贖。\n沒看過這麼尷尬又悲哀的真實，整天在學校都是一個人，活在自己的幻想小世界自言自語。也難怪動畫賣不好。\n看動漫是來幻想的，不是來照鏡子的。\n就算畫面構成很有創意，那些笑點不作為當事者真的無法體會，譬如我在高中時，想過為什麼沒有恐怖份子把學校的現充都宰了。明明坐在班級正前方卻完全沒人跟我說話，除了家人外不論到哪裡都是一個人，所以沈迷網路，並開始關注一些無關緊要的議題，並沈迷其中。\n2. 只在乎來生，不關心現世 # 我常常無病呻吟。\n敵視現實，虛構遠方，東張西望，一無所長，四體不勤，五榖不分。\n我聽說很多小粉紅都是越底層越愛國，對社會不滿意才會整天指導大棋，談古論今。訴諸權威，相信自己想相信的，並以為是拯救全人類的解方，宛如佛教能讓人解脫一樣。\n殊不知這常常是顱內高潮。畢竟正常人士，或者說businessman不會整天想著民族大計有的沒的意識形態，而是想著做好工作，為未來著想。不排除有些比較聰明的大粉紅，懂得利用大義的名分來包裝自己，賺窮小粉紅的錢。 那麼，反過來不也是一樣嗎。有些人（包括我）即使不是粉紅，作為另一個極端，例如支黑、台獨，整天也不過是重複著「念經」罷了，身邊的事情、自己的未來不去在意，不懂得堅實的經營。考試成績不達標啊沒關係，卻能跟陌生網友筆戰個三天兩夜，淨顯文人的假高尚和無用。\n不論你如何論證明天就台獨有8964種好處，2024年為何不該投民進黨，可是現實是人們都在明天看籃球比賽的比分，誰會在意這些對現實生活無直接利益的事物，其實你沒有那麼重要。\n又如，現實中會在意自由民主、開源軟體、個人隱私權的人是少之又少，利益至上的社會人們不在乎這種高層次的價值，而是只想享受著眼前的舒適。\n但是、這樣講就顯得我很高尚嗎，會不會是我自己本身就是硬實力不足，才會上升到道德大義的層次，以此作為藉口來掩飾實在的無能，推廣違反人性、實質上沒人在乎的東西。在一些小眾領域獨領風騷，但又沒有辦法以此真正成為頭頭，想做KOL又不成。在推廣軟體自由上，我不是多厲害的軟體開發者，說難聽點，比較像黨工。\n當你發覺到，沒有當雞首的實力便覺自己渺小，做牛後又有高下限又覺得自己很厲害懂得比別人很多，拉不下臉融入「正常人」社會，就這樣的來回擺盪著待在舒適圈。直接哪天泡泡破滅了才知道一無所獲。\n大夢一場的董二千先生，推開窗戶，舉起望遠鏡，眼底映出，一陣濃煙，前已無通路，後不見歸途。\n3. 拒絕使用社群媒體的末路 # 社群媒體本該多po開心出遊照、美食照，或者讓人發笑的梗圖，再不濟就個人興趣的照片，為什麼到我這邊變成充斥虛無主義、報復社會、讓人不快的po文？\n有研究指出，「社群媒體焦慮症」乃是因為滑動態，羨慕別人的完美生活所產生的痛苦心裡，所以在某種程度上，沉迷上網=容易導致心情憂鬱這個說法是正確的。\n10年來到現在的轉變，我想可以用Pink Floyd的The Wall概念專輯來說明。\n10年前我喜歡po生活動態的，不過因為表世界與人的接觸變少，裏世界po的東西逐漸宅化。且本就不喜歡po自拍的習慣下，7年前開始是再也不po現實生活的東西了，只是偶爾會碎念幾句，這是build the wall的開端。儘管這不全是壞事，po很宅、很特定的東西可以吸引到小眾的群體，有助於找到志同道合之士。不過，po的東西逐漸狹隘，我感性的那面跳出來說，汝接近吾，只是因為技藝有幫得上忙，把我作為工具人，而不曾真正想瞭解我的心裡想法。彼此的關係是互相利用，一旦我真實(raw)的想法透露出來便避之而不及。\n真的讀了人間失格也想不通，去跟心理師訴苦也只能獲得雞湯安慰。\n這就是為何4年前脫離社群媒體的開端，我不想用主流又膚淺的社群媒體了！特定興趣的貼文不po了，棄用，逐漸流連於極端網站，比方說沖浪TV，那裡有很多講話口無遮攔的浪人，分享極端反政府反人類的觀點，例如核平中國唯一出路，以及骯髒低級對女性的想法。又因為很多人現實不得志，所以自嘲為鼠人，所以在那個下水道的環境，便有家人的溫馨感，宛如incel在4chan找到同好一樣。\n當我出於宣傳目的需要在主流社群媒體po文的時候，便只剩下po炫耀技術的文章了，證明我很厲害，不然就是把極端的觀點帶到正常世界來，所以成就了我社群媒體po文滿是極端思想。旁人可能景仰我的技術，卻發現這人難以正常交流。\n4. 牆的破碎 # 我想這個情況終究得改變。 現在我終究放棄這樣做了，因為表世界逐漸發生改變，接觸人群，透過朋友的幫助，如同Pink Floyd的Wall崩塌一般，裏世界也只好接受主流社群媒體是如此虛偽的現實，重新回來用主流社群媒體。至於我的真心有誰能傾聽，裏世界除了看緣分、就是在表世界重新尋求真實的依靠了吧！就像10年前一樣。\n\u0026ldquo;I think that everything\u0026rsquo;s got to have friends, trees and bushes, and, everything needs a friend. Everybody needs a friend.\u0026rdquo; ——— Bob Ross\n","date":"2023年8月26日","externalUrl":null,"permalink":"/posts/2023082601/","section":"Personals","summary":"邊緣人的很喪三篇牢騷。\n啊啊，彷彿看到了下水道老鼠跑出來了哪。\n1. 我不受歡迎，怎麼想都是你們的錯 # 最近看了一部動漫《我不受歡迎，怎麼想都是你們的錯！》，這部實在太黑了，同樣是描寫邊緣人的動漫，《果然我的青春戀愛喜劇搞錯了》至少還有事件推動劇情前進，《我不受歡迎，怎麼想都是你們的錯！》則是完全沒救贖，《孤獨搖滾》、《一個人的○○小日子》跟這部完全無法比。 《我不受歡迎，怎麼想都是你們的錯！》或許可以作為女性版的《歡迎加入NHK！》的對照，一個喪女一個宅男。如果主角一直交不到朋友又心理疾病發作，恐怕真會變成繭居族。我聽說漫畫版後來轉型為後宮漫的存在了，不再那麼黑暗。\n《歡迎加入NHK！》的主角則是得到了天外飛來的救贖。\n沒看過這麼尷尬又悲哀的真實，整天在學校都是一個人，活在自己的幻想小世界自言自語。也難怪動畫賣不好。\n看動漫是來幻想的，不是來照鏡子的。\n就算畫面構成很有創意，那些笑點不作為當事者真的無法體會，譬如我在高中時，想過為什麼沒有恐怖份子把學校的現充都宰了。明明坐在班級正前方卻完全沒人跟我說話，除了家人外不論到哪裡都是一個人，所以沈迷網路，並開始關注一些無關緊要的議題，並沈迷其中。\n","title":"只會鍵政，沈迷著遊戲、現實一無所獲 —— 邊緣人的自我批判","type":"personal"},{"content":"既fun，日暮之年的阿Q游於江潭，行吟澤畔，顏色憔悴，形容枯槁。漁父見而問曰：「何故至於斯？」\n「舉世皆濁我獨清，眾人皆醉我獨醒，是以見放。」\n阿Q曾因為堅持台獨，跟中國勢不兩立，覺得其他愛用中國貨的人都是匪諜，過得很痛苦。\n大方向上，阿Q討厭中國。準確來說，討厭中共政府和其黨羽的意識形態：共產主義、大一統思維、集體主義、中華文化糟粕、社會達爾文主義。這些東西在台灣也有，阿Q同樣厭惡。\n沒有國家你什麼都不是？阿Q細想，可是人畢竟還是個人，是不是中國人其實一點都不重要。非洲的ubuntu價值觀要比集體主義博愛多了，真正出自內心和個人的善念，遠勝於強迫人服從的暴力。有了這個信念國家就不再重要。\n可阿Q認為，自由值得守護，準確來講是「允許自由表達想法的自由」。長遠來看，支持台獨民進黨好像是唯一選擇，可以讓中國共產黨政府早日滅亡。但是，鑑於民進黨在島內的倒行逆施，阿Q覺得民眾黨和國民黨也沒那麼壞了。\n囿於反中的風氣，為什麼有時還是抵擋不住，去接觸中國的事物？反中卻還用中國的產品？反中買小米手機？看中國影劇？阿Q試圖發揮本性去梳理一番，可想著想著就不想了，睡大覺。\n選擇性裝瞎不是壞事 # 兩岸一家親總比一家仇好。半睡半醒之間，阿Q呢喃著跟漁夫說，這句話不是下跪投降。\n中國人不是台灣人的同胞，他們是台灣的國際鄰居，抱持著這樣的心態去看待就可以了，對傳統中華文化持尊重態度，就像對日本、韓國文化那樣的平等看待。中國人跟日本人美國人印尼人緬甸人沒有什麼不同，是讀立於本國的一個獨立個體。因為短時間內難以全面脫支，還是得跟他們交流。\n說到標榜自己是絕對正義的一方！這下夢囈中的阿Q完全來勁了，他一定要證明自己比共產黨高潔。\n洋人心善，反共不見得要反中，把邪惡中國政府跟中國人分開對付，所以阿Q決定跟隨此原則，不以屠支為思維主軸，相信中國還是有民主人士，是有救的。但是由於你國的教育如此成功，很多人分不清楚黨和國家的差別，少部份情況阿Q會變成支黑，期望屠屠屠。但網路跟笨蛋吵架是浪費力氣，還會為了無意義的戰鬥把自己搞得不開心，所以很少認真看待粉紅言論了。\n那麼討厭中國，就完全不能用中國的東西了嗎？中國製造的廉價商品、中國社群媒體、中國的盜版資源、專門出產騷雞的中國手遊、Github的開源軟體都是中國的，不可能完全拒用。連美國也無法完全跟中國脫鉤，只能加大制裁。\n從編程隨想被捕的紀錄，阿Q看到，連高級的反共份子都在用華為、小米的電腦手機，上網發表反華言論。（有爭議，可能只是日常使用，而非專門作案用機種）\n有些平日沒道德（「我沒文化跟國家無關」你沒道德本來就跟國家無關，小叮做事小叮噹）、在莫名其妙的事情上又有道德的中國人會罵這種行為叫做「賤」、「精緻利己主義者」\n既然都是精緻利己主義者，那麼就要包裝一下思想顯得高尚些。阿Q學到用漁夫講的一句話反駁（漁父：那是我的台詞！）：\n聖人不凝滯於物，而能與世推移。\n世人皆濁，何不淈其泥而揚其波？眾人皆醉何不餔其糟而歠其醨？何故深思高舉，自令放為？\n看似自言自語，阿Q繼續的說下去。\n你中有我我中有你 # 歸根結底，把家國情懷放在現實目的之上考量本就是荒謬的事情，因為莫名其妙的意識形態而拒絕使用中國的東西是不理性的行為。好比歐美禁止使用華為手機也是一樣道理，禁掉華為手機很大程度是政治操作。\n這是阿Q基於現實考量做的想法，除非住在荒郊野外，否則難擋全球化趨勢。要讓全球化逆行的措施，恐怕只有來第三次世界大戰才能化解矛盾了。如果阿Q有辦法活到那時候的話。\n對美國的軟體也要保持警惕，因為現在的商業公司以偷個資為樂。至少目前軟體要是開源、不追蹤個資就pass了，不管是誰開發的，不會因為覺得是中國人開發就可以套近乎怎樣的，沒有，端看軟體好不好用。中國製造的商品假若不會對自身造成立即危害，無腦抵制純粹是無道理的。\n沒有法治的中國網站是例外，領導的看法就是法律，專門亂砸鐵拳封號，如同歐美左逼亂封殺川普的帳號那樣。但好在歐美網站鬧大了有救濟可能，中國直接禁言封號。阿Q在中國網站無法亂說話，只能學習浪人話術偶爾陰陽幾句。這下真成境外勢力了，我也是中國人怎麼我就能用Tiktok？整天罵中國你警哥能怎樣，跨省追捕嗎，中華民國已經廢省啦。\n等到侵略台灣說第一個殺我？這種比習近平暴斃還小機率發生的事件就不用瞎BB了，倒不如先擔心明天晚上吃什麼比較實在。阿Q都明白的道理，自認為世界上最優秀民族的人會不知道？\n如果終身不得入境中國呢？\n安能以皓皓之白，而蒙俗世之塵埃乎！\n漁夫聽見莞爾，眼見對已經贏很多次的阿Q來說，認為橫豎都是贏。粉紅色在色環上對應的顏色不就是綠色嗎。\n阿Q又覺得，間接透過文字和影片來傳播翻牆思想是不錯的方案，中國人可以覺醒的！等真正有名到中國政府下通牒主動封鎖中國網站的全部帳號，到那個時候也沒差了。陳昇都說他做台灣市場就飽了，為什麼要執著於中國市場名聲好壞。\n開源軟體本身有防止獨裁的特性，中國人想塞私貨也很難（反觀Notepad++整天辱華拷打離岸愛國工程師）。再加上維持一定程度的網路匿名，中國人想因為辱華因素完全不開放某產品給台獨份子使用也是很難。\n這樣可是在潛入敵後和平演變呢，阿Q總算給自己找了大義的名分，在台獨身上找不到的名分，這就落下來了。\n學著在沙灘畫三角形 # 阿Q知道自己無力改變大環境，唯有調整心態苟活下去。不論這是不是暫時的姿態，事實就是台不台獨也比不上下個月的房租重要。\n阿Q拿著蘆葦在地上畫三角形，他知道波濤一來這個三角形便會煙消雲散，頃刻之後就會沒人知道這些狂想，從而又回到協助美國強暴中國，或者躺平給中國強暴台灣的二選一路線上。\n所以在部份問題上，阿Q可以不堅持頑固的台獨立場，轉而享受利益最大化的服務，繼續使用中國的東西反共。電話號碼寫中國台灣沒關係啊，反正台灣又不是屬於中國的，越不存在的東西越要講，共匪本性一向如此。\n阿Q不鄙視去中國做生意的台商，看他們有些錢賺得盆缽盆滿還可以回台上政論節目罵中國，這就是應證「傻逼的錢要大賺特賺」的道理。一些獨派領袖賣淘寶貨也沒關係啊，你討厭他是因為他反共不徹底，可是既然他還有辦法從淘寶批到貨物，就代表他兩面手法玩得溜，騙兩岸的韭菜，收割流量賺錢何樂而不為？\n那麼阿Q還有必要抱持著反中就要拒絕中國一切的態度嗎？其實可以動態一點，嘗試在大國博奕之間找出一條新的道路出來。\n哼哼 ～ 滄浪之水清兮，可以濯吾纓；滄浪之水濁兮，可以濯吾足。\n漁夫的歌聲漸行漸遠。\n直到河水濺濕在頭上，阿Q才醒過來，發現自己又精神勝利法贏了一回，便假作自得意的回家去了。他不是在詭辯，而是學著活著，而不是單純為了誰的理想而活著。\n","date":"2023年8月26日","externalUrl":null,"permalink":"/posts/2023082602/","section":"Politics","summary":"既fun，日暮之年的阿Q游於江潭，行吟澤畔，顏色憔悴，形容枯槁。漁父見而問曰：「何故至於斯？」\n「舉世皆濁我獨清，眾人皆醉我獨醒，是以見放。」\n阿Q曾因為堅持台獨，跟中國勢不兩立，覺得其他愛用中國貨的人都是匪諜，過得很痛苦。\n大方向上，阿Q討厭中國。準確來說，討厭中共政府和其黨羽的意識形態：共產主義、大一統思維、集體主義、中華文化糟粕、社會達爾文主義。這些東西在台灣也有，阿Q同樣厭惡。\n沒有國家你什麼都不是？阿Q細想，可是人畢竟還是個人，是不是中國人其實一點都不重要。非洲的ubuntu價值觀要比集體主義博愛多了，真正出自內心和個人的善念，遠勝於強迫人服從的暴力。有了這個信念國家就不再重要。\n可阿Q認為，自由值得守護，準確來講是「允許自由表達想法的自由」。長遠來看，支持台獨民進黨好像是唯一選擇，可以讓中國共產黨政府早日滅亡。但是，鑑於民進黨在島內的倒行逆施，阿Q覺得民眾黨和國民黨也沒那麼壞了。\n囿於反中的風氣，為什麼有時還是抵擋不住，去接觸中國的事物？反中卻還用中國的產品？反中買小米手機？看中國影劇？阿Q試圖發揮本性去梳理一番，可想著想著就不想了，睡大覺。\n選擇性裝瞎不是壞事 # 兩岸一家親總比一家仇好。半睡半醒之間，阿Q呢喃著跟漁夫說，這句話不是下跪投降。\n","title":"反中卻還用中國的東西？阿Q的精神勝利法告訴我們其實沒關係呦","type":"politic"},{"content":"你可以在這篇文章找到多少個支語呢？\n本文是我對「支語」的雜感，以及對應之道。文末附錄好用的簡轉繁工具/繁轉簡工具。\n因為是雜感，文章中的觀點不同段落是互相衝突的。\n在此要先反省一點：我不應該因為看到簡體字和「支語」就反感對方，有時候甚至香港的書面語我也很會當成支語下去批判。有些人看到簡體字就會反射性的出現仇中反應，幾年以前確實是對简体字很感冒的，甚至覺得正體字比起殘體字要優越，可是在我知道除了中國大陸之外還有馬來西亞、新加坡華人使用簡體字，那麼用簡體字下去判定仇人的標準就是屬於腦殘的行為。並且，寫簡體字的中國人也不代表就是小粉紅的角色，也有可能是反賊。另外，支語的判定在全球語言的交流下是變的越來越困難了。有些詞語出現了不會被影響，但有些詞久了就已經逐漸取代台灣常見的說法了。\n1. 支語的定義 # 支語泛指「中國用語」、「大陸用語」、「（學術名詞的）簡體中文翻譯」，通常為貶義。\n支語是從「支那」和「用語」四字簡化而來。「支那」一詞通常被中國大陸的人認為是冒犯性的稱呼。\n部分支語與台灣用語對照：\n視頻 → 影片 智能手機 → 智慧型手機 雲盤 → 雲端硬碟 菜單 → 選單 牛逼 → 好厲害 部份支語以漢語拼音縮寫形式表現，主因為中國人要逃避文字獄審查，把這種龜縮的習慣帶到牆外了，導致台灣人跟著用，例如：\nYYDS → 永遠的神 S了 → 死了 QJ → 強姦 GJ → 國家 U1S1 → 有一說一 早上好中國，我是趙喜娜，支語，差不多一樣，再見。（← 嘩！你已經被支語警察逮捕了。）\n2. 糾正支語的「支語警察」 # 支語警察指的是專門糾正支語的人士。最早是流行於Komica匿名板的文化，後來擴散到台灣各大論壇。\n當有人說支語的時候就會有人貼支語警察的圖片，配上背景閃光表示「我抓到你講支語了」 支語警察還延伸出支語鎮暴隊、支語署長、支語戰鬼、支語恐龍、支語元首、支語搜查官等創作，好似遊戲王卡的系列牌組。 圖片共同特色為「支語XX」配上背景有閃光的圖片。\n有時候別人po文沒什麼問題，但因為不小心講了一句支語隨即引來支語警察，抓著支語攻擊，模糊討論焦點。有時候可能支語警察都搞不清楚何為真正的支語，只憑自由心證就出征。\n講點歷史，你知道民國初年就有「日語警察」嗎？嚴復曾反對從日本和製漢語借詞，希望自行創造新詞學習歐美新科技的概念。（新名詞之戰：清末嚴復譯語典和製漢語的競赛，黃克武，2008）\n英文語境，除了SJW外，比較沒有「英式英語」、「美式英語」警察的現象，頂多就是糾正他人文法的「Grammar Police」。\n3. 支語標準難以界定 # 台灣畢竟不是中國那樣罵習包子就會被消失，在台灣講支語屬於言論自由範疇，並不犯法，無法強力約束。\n支語標準其實難以界定，宣稱對方在講支語的時候，總有人能在古代中國文獻找到先例反駁；或是引用中華民國教育部字典的偏門解釋，佐證這根本不是支語。\n中國歷史雖然只有3000年，但很多用詞意思已大不相同。有些用詞今日重新由中國人復活，意思大不相同。\n遇到用繁體字的香港人、馬來西亞人，他們的網路用語要是跟台灣不一樣，也會遭誤認為支語。並且講「地方特有方言」不算支語吧？\n更進一步的說，使用某圈子的行話、梗算不算支語？「淫夢」文化混合日本和中國的漢字，你如何斷定哪些是支語？\n還有人宣稱台語有那麼多日語外來語，為什麼你可以接受日語就不能接受支語？是不是殖民地人民當久了？欸可是台灣現在不也是中華民國強佔的殖民地嗎\u0026hellip;要擺脫支語我建議大家學習原住民語啦。\n作家朱宥勳認為，語言出現新講法並不是大問題，這是台灣跟中國頻繁交流的正常現象。支語會讓人不自在的主因是「脈絡」和「語感」與台灣人用法不同，有時還會降低格調，從而造成反感。\n總之，在說人家是支語前，先確保自己的國文造詣和資料蒐集能力有到位。\n4. 該糾正支語的場合 # 我認為太明顯的支語應當糾正，尤其是教育場合、專業場合，無關政治立場，也不是完全的反中華文化。\n例如國中小寫作文，寫簡體字要扣分；使用支語從而造成詞不達意也應該修正。如果台灣的國文教育能改善，那麼學生就會自動在用語上剔除一些沒格調、不適當的支語。\n專業場合在「不必要的地方」用支語，純粹玩梗，無法讓語意更豐富、更精準的，也該糾正。\n可是實務上支語標準很模糊。不是每個人都是專業的從業人員，無法時時維持台灣的標準說法。例如，「全面屏手機」有台灣手機公司用這講法，可是正式講法應為「全螢幕手機」。 又很多人貪圖方便講「博人傳」而不是台灣官方譯名「慕留人傳」；講「短視頻」而非「短影音」，諸如這樣的場合很多，糾正不完。\n口語用途上我無力阻止支語傳播。\n可是教育和專業用途上我認為有必要杜絕支語，如果看到網站或軟體的翻譯充斥支語，你應該寫電子郵件申訴，或者到Crowdin主動參與改進翻譯。如果對方把「香港繁體」當作「台灣正體」敷衍也值得抗議，應要求翻譯者細分二者差異。\n至於把台灣寫成「中國台灣」這種的就算了\u0026hellip;你玩不過支那人的撒潑打滾的，我們不要學小粉紅整天出征人家，而是要循正式管道抗議。\n也切記不要在討論議題時只抓著支語不放，從而模糊真正應該討論的焦點。\n如果網站開發者有智慧一點，他應該把網站設計為「正體頁面顯示台灣，簡體頁面顯示台灣省」。\n5. 支語可以講，但是要看場合 # 因為我有在做開源軟體的翻譯，有時候我寧願看英文文件，便無用語岐義的問題。簡體中文的文件僅是方便快速概覽，當我要跟別人解釋軟體運作的時候，我會自動在腦海轉換成正體中文用法。\n當然，會遇到太學術名詞難以翻譯的情況，這種情況下與其自行翻譯成稀奇古怪的「台灣式翻譯」，就只能參考簡體中文的翻譯並加上英文註釋了。\n可是我現在講的是日常生活的一般用語，當你在講中國用語的時候，要有自覺，並按照場合作出反應。張維為講：中國人，你要自信，那這裡反過來：台灣人，你要自信。\n例如，我加了中國人的Telegram群組，我應該要學習用支語，才能「融」進去。\n到了台灣的PTT論壇，就算是貼中國翻譯外國的三手情報，仍該把支語手動校正掉。\n在演講的正式場合，不要為了對陌生人討好關係講支語自以為「接地氣」，不要學lánê行政院長蘇貞昌oo-pe̍h kóng。\n6. 講支語真會被同化？師支長技以制支 # 縱然是兩個國家，台灣的文化被中國影響很深是免不了的，脫支短期內不可能，遇到支語警察我就會說：ok boomer。其實我漸漸覺得講支語不是壞事，除非專業用途有需要正式名詞，否則口頭講講並不會怎樣。ㄘㄟˊ！語言本來就是會變化的，英文就是一個吸納各種歐洲語言的例子，台語也有很多外來詞，跳脫無腦仇中的意識型態很多事情就會看得比較清楚。尤其看支語警察氣急敗壞更覺得是一群傻青鳥在作怪。\n我倒覺得把中國用語當作方言或者流行語處理就好，這樣看待的心態上就會輕鬆很多，我們又不是大日本帝國禁止說敵性語(てきせいご)，結果法西斯竟然是我自己。支語警察問題有很多種，一種是中文造詣不佳，誤認慣用用語為支語；或者too young, too simple ，沒聽過的講法就指責人家是支語。不然就是跟不上時代，說年輕人流行語都是支語，也就是我前面講的ok boomer。還有一種認為台灣獨立性很重要，所以完全不能講支語的，還應該推廣台灣台語優越主義的，那我只能說你國真的太看得起自己了，沒實力還大小聲。絕種的動物有博物館做最後的歸宿，消逝的語言最後也只能躺在字典裡面。\n台灣屬於中華民國，不屬於中華人民共和國，所以台灣不是現今世界廣泛認知的「中國」的一部分。\n有人認為支語是中國的一種文化統戰，除了宣揚大中華膠的思維以外，還包含共匪的社會主義等「支性」思想。（儘管支性也是一個籠統的詞彙，我看不爽的都是支性？）\n我以前在看中國出版的翻譯教科書也有這種體悟（台灣的偏門書比中國少），動不動就拿社會主義好當翻譯例句，真是「支的我頭昏眼花」。\n講支語 = 台灣被中國統一政治意識，真是這樣嗎？，這並沒有絕對的關聯，不然為何台灣獨立的意識越來越多？中國反賊勢力還那麼旺盛？不論用何種語言，同樣可以追求自由的政治意識。我認為方塊字是沒問題的文字，台灣暫無必要走向全英文或台羅文以「脫支」的地步（且台羅文又有閩南沙文主義的嫌疑\u0026hellip;），奈何用方塊字的人將其賦予了政治色彩，方塊字就不光彩了。\n如果真要反擊看不爽的小粉紅，為何不反過來呢，好的支語知道就好，壞的支語都學。從造梗能力強的「神友」和「浪人」學習解構共匪的支語。\n比方說，可以學以下支語：\n你國、典中典、太帶派了、潮的批爆、吃辣豬、毛臘肉、躺平、典中典、大的來了、绷、急了、俄孝子、晶哥搖了我、樂、三年大吃飽十年大健身、大洪水、赢麻了\n但是以下的一般支語知道就好，不該常用：\n視頻、計算機文件、程序、網絡、軟件、土豆、下崗、評論區、質量、牛逼、臥槽、細思極恐、拉黑、火鉗劉明\n同樣，一個用語支不支的定義依然模糊，要看講的場合，以及是誰在講來斷定能不能講。\n7. 「台灣用語」參考資源與轉換工具 # 這裡提供的資源對參與翻譯工作很有幫助，也可以自我審查支語。\nMicrosoft Languages：這裡可以搜尋到許多電腦用語的台灣講法。\n中華民國資訊學會 IICM 電腦名詞譯名\n國家教育研究院樂詞網：含各大領域稀有學術名詞的翻譯。\n兩岸常用詞語對照表- 辭典附錄- 教育部《國語辭典簡編本》2021\nOpenCC：開源簡轉繁/繁轉簡軟體，連用語也一起轉，支援台灣/中國/香港用語轉換。不過單純把簡體用語轉成繁體可能有錯譯的情況，所以需要人工介入。\nMeme梗圖倉庫 街頭字典：台灣類似Urban Dictionary的網站可以參閱本土梗，多講台灣本土的梗、新語言，可以對抗支語。\n8. 總結 # 儘管現今台灣人很大比例不認同是中國人，但就現狀而言對「中文」一刀切很難，在對抗支語的同時，也不能走極端的路線，譬如反過來禁止講中文，大家都學英文，這是不可能的。\n雖說如此，我認為抗擊支語還是有必要的，我不想哪天台灣的本土中文用語到最後變成客語一樣弱勢的存在。從上面的資源我們要感謝台灣的政府與民間機構，對台灣用語的在乎才維護這麼多免費資源。\n「支語議題」延伸閱讀 # 對所謂支語警察之我見 - RTI 洞察中國 很多使用支語的人並沒有因為使用支語而讓他的話更豐富 - Re: [問題] 主播台禁用支語討論 - PTT 怕「支語入侵」動搖臺灣認同 ，就不能忽略「華語國家」才是中國統戰最大利基 - 沃草 你最讨厌墙国哪些网络流行语？ - 新 - 品葱 「中國用語入侵」是個問題嗎？問題的癥結和根本的解決之道何在？ - Youtube ","date":"2023年8月25日","externalUrl":null,"permalink":"/posts/the-problem-of-china-slang/","section":"Politics","summary":"你可以在這篇文章找到多少個支語呢？\n本文是我對「支語」的雜感，以及對應之道。文末附錄好用的簡轉繁工具/繁轉簡工具。\n因為是雜感，文章中的觀點不同段落是互相衝突的。\n在此要先反省一點：我不應該因為看到簡體字和「支語」就反感對方，有時候甚至香港的書面語我也很會當成支語下去批判。有些人看到簡體字就會反射性的出現仇中反應，幾年以前確實是對简体字很感冒的，甚至覺得正體字比起殘體字要優越，可是在我知道除了中國大陸之外還有馬來西亞、新加坡華人使用簡體字，那麼用簡體字下去判定仇人的標準就是屬於腦殘的行為。並且，寫簡體字的中國人也不代表就是小粉紅的角色，也有可能是反賊。另外，支語的判定在全球語言的交流下是變的越來越困難了。有些詞語出現了不會被影響，但有些詞久了就已經逐漸取代台灣常見的說法了。\n1. 支語的定義 # 支語泛指「中國用語」、「大陸用語」、「（學術名詞的）簡體中文翻譯」，通常為貶義。\n支語是從「支那」和「用語」四字簡化而來。「支那」一詞通常被中國大陸的人認為是冒犯性的稱呼。\n部分支語與台灣用語對照：\n視頻 → 影片 智能手機 → 智慧型手機 雲盤 → 雲端硬碟 菜單 → 選單 牛逼 → 好厲害 部份支語以漢語拼音縮寫形式表現，主因為中國人要逃避文字獄審查，把這種龜縮的習慣帶到牆外了，導致台灣人跟著用，例如：\n","title":"「支語」究竟可不可以講，我對中國用語的雜感","type":"politic"},{"content":"BTRFS作為Linux最先進的的檔案系統，已經有越來越多的Linux發行版將其作為預設選項，例如Fedora、openSUSE，Ubuntu未來也可能使用BTRFS取代過去預設的EXT4。 您可以使用lsblk -f指令查看目前Linux硬碟所使用的檔案系統。\n那麼使用BTRFS的硬碟在雙系統就會造成困擾，Ivon的Linux系統跟Windows系統分處於不同磁區，在Windows掛載（讀取）BTRFS硬碟就會出問題。\n比如，Windows 11對Windows點右鍵 → 磁碟管理員，Windows偵測到BTRFS的硬碟就提示要新增磁區。此時請不要真的按下去，資料會不見的。 要解決Windows讀不到BTRFS硬碟的問題，除了用WSL跑Linux用原生的BTRFS驅動去掛載之外，還可以安裝「WinBTRFS」，這是由Mark Harmstone所開發的免費開源驅動程式，支援Windows XP/7/8/10/11系統。\nWinBTRFS實作了BTRFS的大多數功能，包含LXSS的權限系統，使Windows系統能正常讀取BTRFS硬碟。\n到Github下載最新版壓縮檔 解壓縮後點選btrfs.inf檔，右鍵安裝驅動程式，爾後重新開機。 這樣不需要額外動作，BTRFS硬碟便會正常顯示在本機磁碟列表了。 CrystalDiskInfo也能抓到一部分BTRFS硬碟的資訊。 ","date":"2023年8月22日","externalUrl":null,"permalink":"/posts/winbtrfs-usage/","section":"所有文章","summary":"BTRFS作為Linux最先進的的檔案系統，已經有越來越多的Linux發行版將其作為預設選項，例如Fedora、openSUSE，Ubuntu未來也可能使用BTRFS取代過去預設的EXT4。 您可以使用lsblk -f指令查看目前Linux硬碟所使用的檔案系統。\n那麼使用BTRFS的硬碟在雙系統就會造成困擾，Ivon的Linux系統跟Windows系統分處於不同磁區，在Windows掛載（讀取）BTRFS硬碟就會出問題。\n比如，Windows 11對Windows點右鍵 → 磁碟管理員，Windows偵測到BTRFS的硬碟就提示要新增磁區。此時請不要真的按下去，資料會不見的。 要解決Windows讀不到BTRFS硬碟的問題，除了用WSL跑Linux用原生的BTRFS驅動去掛載之外，還可以安裝「WinBTRFS」，這是由Mark Harmstone所開發的免費開源驅動程式，支援Windows XP/7/8/10/11系統。\nWinBTRFS實作了BTRFS的大多數功能，包含LXSS的權限系統，使Windows系統能正常讀取BTRFS硬碟。\n到Github下載最新版壓縮檔 解壓縮後點選btrfs.inf檔，右鍵安裝驅動程式，爾後重新開機。 ","title":"Windows系統如何掛載Linux的BTRFS硬碟：使用WinBTRFS","type":"posts"},{"content":" 中文名：Magic Eyes Uterus X 極彩深淵飛機杯自慰器 軟版 / 極彩名器Uterus 小紅帽的子宮改深淵軟版\n封面是一個小紅帽的樣子 極彩Uterus有三款，我買的是soft版本。 因為比處女宮（すじまんくぱぁ！ろりんこ処女宮～バルゴ～）短才買這個飛機杯的，這個內部長只有12cm，比較有可能頂到底。 特色是末端有一個子宮口設計，一定程度上可以玩子宮姦。 雖說內璧沒有很刺激，但肉厚嘛屁股撞起仍來很有感覺，不管是正常位還是後背位都有厚實的感覺，後背位尤佳。 往子宮內射飽足感滿滿，子宮口的刺激倒不是那麼強烈。\n然而，Onahole太郎有警告不能翻過來洗\u0026hellip;太晚看到了。我覺得矽藻土棒上香沒效率，所以習慣翻開洗個乾淨。\n結果玩了不到5次，現在它已經變成爛爛的樣子了，彷彿含有寄生蟲的豬肉 想說既然都快壞了，就試試翻開，用這個後方不到1cm的洞穴直接子宮姦吧 這樣超緊的\u0026hellip; 果不其然，天元突破，第一次頂破矽膠。\n唉，極彩Uterus玩幾個月後就變成像是寄生蟲豬肉了，肉色的紋路碎裂，變成果凍(沒有要選總統)紛紛脫落。\n翻開後玩玩子宮姦？單純緊而已，然後還被貫穿了\u0026hellip;完全不行啊這個。\n雖然極彩Uterus軟軟的肉厚包覆很溫柔，臀部外觀撞起來也比較有扎實，但是沒什麼刺激性，軟軟的適合慢慢抽插享受ㄋ。\n","date":"2023年8月18日","externalUrl":null,"permalink":"/posts/magic-eyes-gokusai-uterus-aratame-shinen-motchiri-soft-review/","section":"Nsfws","summary":" 中文名：Magic Eyes Uterus X 極彩深淵飛機杯自慰器 軟版 / 極彩名器Uterus 小紅帽的子宮改深淵軟版\n封面是一個小紅帽的樣子 極彩Uterus有三款，我買的是soft版本。 因為比處女宮（すじまんくぱぁ！ろりんこ処女宮～バルゴ～）短才買這個飛機杯的，這個內部長只有12cm，比較有可能頂到底。 特色是末端有一個子宮口設計，一定程度上可以玩子宮姦。 雖說內璧沒有很刺激，但肉厚嘛屁股撞起仍來很有感覺，不管是正常位還是後背位都有厚實的感覺，後背位尤佳。 往子宮內射飽足感滿滿，子宮口的刺激倒不是那麼強烈。\n然而，Onahole太郎有警告不能翻過來洗…太晚看到了。我覺得矽藻土棒上香沒效率，所以習慣翻開洗個乾淨。\n結果玩了不到5次，現在它已經變成爛爛的樣子了，彷彿含有寄生蟲的豬肉 想說既然都快壞了，就試試翻開，用這個後方不到1cm的洞穴直接子宮姦吧 ","title":"肉厚的屁股，Magic Eyes「極彩Uterus 改 深淵もっちりsoft」飛機杯評價","type":"nsfw"},{"content":" 此列表試圖整理5款開源且實用的Android檔案管理APP，用以替代閉源的檔案管理APP。\n閉源檔案管理APP有哪些呢？常聽到的Solid Explorer、MiXplorer、FX File Explorer、Google Files、ES檔案瀏覽器、Cx檔案總管\u0026hellip;都並非開源的檔案管理APP。\n我們應該考慮停止使用閉源檔案管理器，因其可能含有廣告、反特徵的蒐集資料行為。檔案管理APP有存取全部使用者檔案的權限，所以重要的檔案就該用開源APP管理。\n以下的開源檔案管理APP，有些內建解壓縮工具、圖片瀏覽器、影片播放器等功能。如果沒有的就自己下載開啟對應檔案格式的APP，你可以到我的開源APP列表尋找相應APP。\n1. Amaze File Manager # 類似Solid Explorer的檔案管理APP，預設有二個面板，左右滑動檢視二個目錄。\n內建解壓縮、文字編輯器、圖片檢視器、影片播放器，支援FTP伺服器。\n另提供外掛「Amaze Utilities」用以清理手機檔案、Wifi傳檔。\n下載網址：https://github.com/TeamAmaze/AmazeFileManager\n2. Ghost Commander # 設計理念類似Total Commander的檔案管理器，預設有二個面板，簡單大度方便比較與搬移檔案。支援連線到FTP與SMB伺服器、管理安裝的APP。\n最大的缺點是介面很醜，字體太小，底部欄位沒有針對圓角螢幕優化，滑動不太靈敏。\n下載網址：https://f-droid.org/zh_Hant/packages/com.ghostsq.commander/\n3. Simple File Manager Pro # Simple Gallery作者開發的檔案管理APP，F-Droid和Github版本免費下載，Google Play上的就當支持作者。\n功能很簡易，僅有單面板檢視檔案。支援以密碼保護特定檔案。\n下載網址：https://f-droid.org/zh_Hant/packages/com.simplemobiletools.filemanager.pro/\n4. 質感檔案 Material Files # 採用Material Desgin設計的簡單檔案管理器。雖然Material Files不支援雙重面板，不過可以長按上方路徑開啟第二視窗，方便在多個資料夾之間移動檔案。\n內建解壓縮、文字編輯器、圖片檢視器。支援存取具有Android Intent權限APP的目錄。支援編輯root目錄的權限。提供連線到SMB與FTP伺服器的功能。\n下載網址：https://github.com/zhanghai/MaterialFiles\n5. PlainApps # 走大雜燴路線的檔案管理器，可以管理檔案、快速找圖片、寫markdown筆記、看RSS feed、投放螢幕、換算單位、跟ChatGPT聊天。\n其中一個重要的功能是將自己變成檔案伺服器，這樣便可以從電腦網頁存取手機的檔案，傳輸全程加密。(類似SFTP的概念，不過只需要瀏覽器)\n下載網址：https://github.com/ismartcoding/plain-app\n番外篇: 用Termux命令列管理檔案 # 有什麼比Linux管理檔案要強大的？當然Termux你有接鍵盤的話才好用啦\u0026hellip;\n安裝Termux，再搭配個桌面環境，您便可以用Linux的XFCE Thunar、KDE Dolphin等功能豐富的電腦檔案管理器來操作檔案。\n習慣操作終端機的用戶，透過ranger＋vim這類純文字程式管理檔案也是可以的：\npkg install ranger vim termux-setup-storage Termux會把內部儲存空間掛載到~/storage/shared，要注意不要亂用rm -rf指令喔。\n","date":"2023年8月16日","externalUrl":null,"permalink":"/posts/foss-android-file-managers/","section":"所有文章","summary":" 此列表試圖整理5款開源且實用的Android檔案管理APP，用以替代閉源的檔案管理APP。\n閉源檔案管理APP有哪些呢？常聽到的Solid Explorer、MiXplorer、FX File Explorer、Google Files、ES檔案瀏覽器、Cx檔案總管…都並非開源的檔案管理APP。\n我們應該考慮停止使用閉源檔案管理器，因其可能含有廣告、反特徵的蒐集資料行為。檔案管理APP有存取全部使用者檔案的權限，所以重要的檔案就該用開源APP管理。\n以下的開源檔案管理APP，有些內建解壓縮工具、圖片瀏覽器、影片播放器等功能。如果沒有的就自己下載開啟對應檔案格式的APP，你可以到我的開源APP列表尋找相應APP。\n1. Amaze File Manager # 類似Solid Explorer的檔案管理APP，預設有二個面板，左右滑動檢視二個目錄。\n內建解壓縮、文字編輯器、圖片檢視器、影片播放器，支援FTP伺服器。\n另提供外掛「Amaze Utilities」用以清理手機檔案、Wifi傳檔。\n下載網址：https://github.com/TeamAmaze/AmazeFileManager\n2. Ghost Commander # 設計理念類似Total Commander的檔案管理器，預設有二個面板，簡單大度方便比較與搬移檔案。支援連線到FTP與SMB伺服器、管理安裝的APP。\n","title":"5款開源Android檔案管理APP推薦 ~ 重要檔案就該用開源軟體管理","type":"posts"},{"content":"（不用擔心，這篇文章不含任何蜈蚣圖片）\nFile Centipede (檔案蜈蚣/文件蜈蚣) 是一款開源跨平台的下載管理器，配合瀏覽器使用，支援Linux/Windows系統。 特色功能：\n自由軟體 充當免空網站、HTTP協定的下載管理器 支援讀取網站cookie P2P下載，支援BT與Magnet連結 給BT做種的同時，反制迅雷這類的吸血蟲客戶端 支援FTP與WebDAV 遠端控制下載 深度掃描網頁JavaScript，找出更多可下載的檔案連結 Ivon認為File Centipede其中一個好用的功能就是下載網頁的影片了，例如Youtube、Bilibili、巴哈姆特動畫瘋，還有XX影視線上等盜版網站的影片，包括串流常用的m3u8。 由於功能高度重疊，File Centipede可作為同類軟體Internet Download Manager(IDM)、Video Download Helper的開源替代品。\n同為開源軟體，Ivon認為File Centipede可與JDownloader互補使用。\n1. 如何安裝File Centipede # File Centipede的原始碼可於Github取得。\nFile Centipede分成二個部分，首先要安裝瀏覽器擴充功能，再安裝本機程式。\n由於作者需要生存動力，File Centipede本機程式又分為高級版與免費版。高級版雖然會叫您捐錢換啟用碼，但官網其實有免費啟用碼可以拿。\n1.1. 安裝File Centipede瀏覽器擴充功能 # 按照您的瀏覽器安裝：\nMozilla Firefox Google Chrome Microsoft Edge File Centipede預設會攔截所有瀏覽器的下載操作，所以得一直開著File Centipede本機程式。\n如果不是很常用到File Centipede，則建議您點選File Centipede擴充功能的選項，將下載管理器改回「瀏覽器」再按保存。這樣日後需要時再按右鍵叫File Centipede出來即可。 1.2. 安裝File Centipede本機程式 # 至官網的高級版頁面（我選高級版是因為免費版的功能落後一年），按照您的系統下載File Centipede壓縮檔 解壓縮，點二下壓縮檔裡面的fileu，將本機程式安裝至系統。 Linux版路徑建議安裝到/home/user/.local/bin，並記得將PATH加入到系統：\necho \u0026#34;PATH=$PATH:/home/user/.local/bin\u0026#34; \u0026gt;\u0026gt; ~/.bashrc File Centipede本機程式安裝後會自動開啟。 開啟後，Windows版可以點設定 → 常規，勾選開機自動啟動。\nLinux要開機自動啟動File Centipede本機程式的話，新增autostart：\ncat \u0026gt; ~/.config/autostart/fileu \u0026lt;\u0026lt; EOL [Desktop Entry] Type=Application Name=Start File Centipede Exec=/home/user/.local/bin/fileu NoDisplay=true EOL 另外，File Centipede不會自動新增到Linux應用程式列表，您可以自行新增：\ncat \u0026gt; ~/.local/share/applications/filecentipede.desktop \u0026lt;\u0026lt; EOL [Desktop Entry] Type=Application Terminal=false StartupNotify=true Name=檔案蜈蚣 Icon=/home/user/.local/bin/icons/icon.png Exec=\u0026#34;/home/user/.local/bin/lib/fileu\u0026#34; X-GNOME-FullName=檔案蜈蚣 GenericName=檔案蜈蚣 Categories=Application;Network;GNOME;Qt; EOL 1.3. 免費取得啟用碼，啟用高級版功能 # （如果用不到高級版功能，此步驟可略過）\nFile Centipede作者有在官網提供免費啟用碼，有效日期一天，等同每天都要重填一次啟用碼。或者您可以給作者捐30美元，換取永久啟用碼。\n至官網免費啟用碼頁面，複製本日的啟用碼 開啟File Centipede本機程式，點選幫助 → 啟用碼，輸入啟用碼 2. File Centipede使用方式 # 下載檔案的時候，務必維持File Centipede本機程式開啟狀態。\n2.1. 下載一般免空檔案 # 當瀏覽器一有下載的動作，File Centipede就會跳出來問您要不要下載 如果有多個連結的話，可以點選稍後下載，將連結加入排程清單，再全選開始下載。 File Centipede預設下載任務是並行下載10個，如果您的網路hold不住請自行到設定 → 網路，調降下載數。\n如果網站需要登入才能下載檔案，您可以用瀏覽器開啟網頁，點選File Centipede的圖示，顯示cookie 接著回到File Centipede程式，點選設定 → 站點規則，填入網站網域，再貼上cookie。 2.2. 下載網頁中的影片與圖片 # Ivon實測File Centipede可以下載Youtube、Bilibili、巴哈姆特動畫瘋的影片，許多採用m3u8的串流影片的網站也抓得到下載連結。\n進入要下載的影片網站，點選File Centipede的圖示，就會列出可下載的串流檔案 通常是抓最大的那個即可，Youtube的話File Centipede會自動在下載後轉檔。\n2.3. 下載BT種子 # 下載torrent檔案，用File Centipede開啟，開始下載並做種。 如果您的網路hold不住這麼多種子上傳數，請自行到設定 → 網路，調降種子上傳數。\nFile Centipede封鎖的「吸血蟲」位於設定 → 吸血蟲列表。預設封鎖的是迅雷、影音先锋、弹弹play，還可封鎖IP。\n另外，File Centipede只要開著就會消耗少量頻寬持續在背景做種，成為HASH表的一部分，協助BT種子存活。\n這個服務是跟著系統自動啟動的，Linux可以用指令把它關掉：\nsudo systemctl disable filec.service 若要完全停止所有背景服務，點選檔案 → Fully Shutdown，退出所有行程。\n3. 遠端管理File Centipede下載任務 # File Centipede的網頁界面似乎還沒做完，遠端電腦只能純文字執行。所以目前最好的作法是在A電腦開著File Centipede程式，再用B電腦存取。\n參考前述步驟，在A電腦安裝File Centipede的本機程式\n如果A和B二台電腦不在同一個網路，請設定內網穿透連線\n於A電腦開啟File Centipede，點選設定 → 服務，將狀態設定為啟用，接著設定密碼。A電腦如果有防火牆記得要開放File Centipede通過。 於B電腦點選遠端 → 新增主機，輸入A電腦的IP即可連線。 ","date":"2023年8月16日","externalUrl":null,"permalink":"/posts/file-centipede-usage/","section":"所有文章","summary":"（不用擔心，這篇文章不含任何蜈蚣圖片）\nFile Centipede (檔案蜈蚣/文件蜈蚣) 是一款開源跨平台的下載管理器，配合瀏覽器使用，支援Linux/Windows系統。 特色功能：\n自由軟體 充當免空網站、HTTP協定的下載管理器 支援讀取網站cookie P2P下載，支援BT與Magnet連結 給BT做種的同時，反制迅雷這類的吸血蟲客戶端 支援FTP與WebDAV 遠端控制下載 深度掃描網頁JavaScript，找出更多可下載的檔案連結 Ivon認為File Centipede其中一個好用的功能就是下載網頁的影片了，例如Youtube、Bilibili、巴哈姆特動畫瘋，還有XX影視線上等盜版網站的影片，包括串流常用的m3u8。 由於功能高度重疊，File Centipede可作為同類軟體Internet Download Manager(IDM)、Video Download Helper的開源替代品。\n同為開源軟體，Ivon認為File Centipede可與JDownloader互補使用。\n1. 如何安裝File Centipede # File Centipede的原始碼可於Github取得。\nFile Centipede分成二個部分，首先要安裝瀏覽器擴充功能，再安裝本機程式。\n由於作者需要生存動力，File Centipede本機程式又分為高級版與免費版。高級版雖然會叫您捐錢換啟用碼，但官網其實有免費啟用碼可以拿。\n","title":"開源下載器File Centipede(檔案蜈蚣)使用教學，支援下載免空、網頁m3u8影片、BT種子","type":"posts"},{"content":" 以下主觀觀點評價個人一直以來覺得十分實用的同人誌本子社團：「悪転奏進」黒糖ニッケ。也有人寫成「惡轉奏進」。 龐大的孕肚，生出人類或怪物的孩子，偏重口味的劇情，偶發的搞笑，是他的特色。推薦給喜歡這類要素的。\n這張圖是我總結悪転奏進過去畫得超棒的名場面。 「悪転奏進」這個同人團體約於2011年開始活動，根據真・悪転奏進網站資料，該團體由「白崎カル」負責編劇，「黒糖ニッケ」負責繪製。 另外，「白崎カル」尚有跟「紙場こた」的「瑚樽」合作出本，但瑚樽畫功還差黒糖ニッケ一截。\n他們早期的同人誌以東方Project為主，後來開始畫艦隊Collection。重口味是一大特色，可以說是我的啟蒙作，讓我徹底愛上孕婦，出產的劇情。為支持作者我也開始買實體本收藏。\n悪転奏進在DLsite的電子作品購買連結。\n經典回顧 # 讓我們先來回顧悪転奏進的一些早期有趣又實用的作品。早期黑糖的畫風仍不穩定，角色常顯得很幼，像《たった五百円で早苗さんを犯りまくれる守矢神社》，還有他們的舊版頭像。早期主要畫東方Project的角色為主，劇情有各種巧思。 但是有時候幼幼的畫風配上奶子卻不錯看，例如約會大作戰本《フラクシナス大乱交パーティー》 悪転奏進早期的劇情就以重口味著稱，例如《古明地こいし 少年搾精母胎誘惑》，古明地在騎乘完正太後，把小孩隨便生在水桶裡面丟到水裡。對小孩不負責任的態度很有趣。 這本《優曇華出産薬物調教》是最慘的，被輪姦生下小孩，小孩卻當場被踩死，然後繼續被輪姦。硬爆。 如果是剛接觸小清新同人誌的讀者看到這個還不被嚇死，但我覺得很興奮！！私以為悪転奏進自此樹立了重口味劇情的印象，所以出《天龍お姉ちゃんとないしょの夜戦演習!!》這種甜本會讓人不習慣，但看在畫得可口的奶子還是能用一下。 後續悪転奏進的故事大抵都有出產劇情，例如《古明地こいし 生命出産遊戯》有賣孩子換食物的劇情。好笑的是漢化組覺得太重口亂改台詞，中國人的米線什麼時候這麼高的ww 後來悪転奏進逐漸改畫艦隊Collection系列。這系列常冠以「艦娘着妊」之名。我覺得最讚的莫過於《艦娘着妊 響出産性狂育》中出產到習以為常的響，於將校的兒子肉棒身上直接出產，這幕到現在看來仍是實用、名場面級別的神作。這個場景我用了好多次，很適合最後收尾之用。 第六驅逐隊的遭遇都很慘，甚至在《艦娘着妊 雷拘束劇薬調教》有雷的作美夢被幹醒的殘酷劇情，這種心靈方面的崩壞描寫在悪転奏進出現的比較少。此外這本有點偏機械姦，所以我不太喜歡。 電這本《艦娘着妊 電出産鬼畜姦》是我的悪転奏進入坑作，同樣十分實用，就是六驅的這種幼小身體，才有出產的巨大張力。 畫風開始轉變的本 # 黑糖不時會在Twitter以搞笑短漫改變形象，讓六驅轉變成久經沙場的媽媽桑樣子。在賺爛了之後(開始畫商業稿)出的總集篇也會加筆補上後日談。\n大約在這本甜蜜的塔什干本《艦娘着妊 タシュケントちゃんと楽しい建造エッチ》畫風開始轉變。出產變成每日建造工作，雙方很恩愛的交配。另作者畫的角度似乎有想突破第4道牆，看下圖，塔什干彷彿向著讀者說「我們再來一發吧～提督」。 《艦娘着妊 鈴谷売春出産》好用又搞笑，為了上到即將出產的鈴谷，窮小子把錢包整個丟過去www 然後到了歐根親王《艦娘着妊前夜Prinz Eugen薬堕乳戯交際》、俾斯麥《艦娘着妊 Prinz Eugen \u0026amp; Bismarck 出産返済母胎提供》這二本我覺得是成熟之作，吸毒、懷孕樣樣來，表現了支配女性的快感。 黑糖有時候會出異種姦加上出產的本，但我一直沒什麼興趣。然後還出了金剛和山風的這類純愛出產本，也是用不太起來。\n新畫風的問題 # 隨著2021年以來黑糖畫風逐漸穩定，黑糖畫的出產和懷孕到後來就有點公式化了，儘管還是有創意的劇情看得很過癮，可是畫風卻是跟以前大不相同。\n從最新的Atlanta本《艦娘着妊 -Atlanta- 妊娠乳奴契約》來看，黑糖的孕肚後背位、騎乘、乳交，仍是畫的很色。只不過畫風穩固下來，少了點刺激感。 深色皮膚的小惡魔Grecale系列表現的倒是還不賴，具有榨死人又甜蜜的特質。《艦娘着妊グレカーレちゃんと楽しいボテ腹H》 黑糖很少畫授精畫面，不過這是看爽的不重要。在看過CrowView (たじ)的作品後，我認識到了更重要的是孕肚：黑糖的孕肚其實不是很認真畫，例如沒有畫妊娠紋，這樣在某些孕肚愛好者看來不夠色。此外，出產時候的肚子尺寸常常顯得不夠大，不像是懷胎十月該有的樣子。或許是為了方便採取不同體位吧，但這樣大肚子給人的壓迫感就不夠強烈，所幸近年來黑糖已經有改善。\n再者，子宮內的胎兒常常都是畫的很簡單，頂多是黑影然後子宮口被頂開突入而已，然後女角啊嘿顏。應該要從更多角度剖面圖展現胎兒在子宮的樣子：\nCrowView (たじ) 峯雲プレゴリズム 至於出產部份，黑糖的第一拿手好戲是用肉棒頂著要出生的胎兒直到射精。接著出生後黑糖會使出第二個拿手好戲，讓故事中的男人在臍帶還留在體內的時候繼續插入射精，體會臍帶纏著肉棒的快感。\n問題在於，黑糖都把嬰兒畫很小隻，所以很容易被故事裡的男人們拔出來又頂回去(笑)。加上長期下來對陰道皺折描繪不明顯，很多時候陰唇都是一條線又被海苔條遮住。這樣使得生產的過程看起來很假，胎兒好像很容易就滑出來(不是滑進摩鐵喔)。還有臍帶還沒排出就插入，肉棒更應該是血淋淋的樣子才對。\n如果跟其他比較寫實的漫畫家比較就知道，如何把胎兒出產畫的很色是很重要的，胎兒在出來時，女角臉會很猙獰，這是第一要點。再來，胎兒出產的時候頭部會撐開陰道，這時就算要打一堆海苔條上去，也不能忽略描繪陰道皺折被撐開的樣貌，會有一種吸住但要突破的感覺。最後，胎兒出生應該要有羊水灑出。\n新堂エルの文化人類学 綜合以上因素，即使黑糖的新本還是有出產元素，畫風固定下來就覺得有點商業化、塑膠的感覺。黑糖最近幾年開始在商業誌連載成人漫畫，或許這也是個因素。\n總結 # 我還是很喜歡上面有列出的黑糖舊本，並且不定期就拿來用。至於新本的話就加減看，儘管畫風變得塑膠，有些畫面還是很好用。\n","date":"2023年8月15日","externalUrl":null,"permalink":"/posts/akutensoushin-doujin-review/","section":"Nsfws","summary":" 以下主觀觀點評價個人一直以來覺得十分實用的同人誌本子社團：「悪転奏進」黒糖ニッケ。也有人寫成「惡轉奏進」。 龐大的孕肚，生出人類或怪物的孩子，偏重口味的劇情，偶發的搞笑，是他的特色。推薦給喜歡這類要素的。\n這張圖是我總結悪転奏進過去畫得超棒的名場面。 「悪転奏進」這個同人團體約於2011年開始活動，根據真・悪転奏進網站資料，該團體由「白崎カル」負責編劇，「黒糖ニッケ」負責繪製。 另外，「白崎カル」尚有跟「紙場こた」的「瑚樽」合作出本，但瑚樽畫功還差黒糖ニッケ一截。\n他們早期的同人誌以東方Project為主，後來開始畫艦隊Collection。重口味是一大特色，可以說是我的啟蒙作，讓我徹底愛上孕婦，出產的劇情。為支持作者我也開始買實體本收藏。\n悪転奏進在DLsite的電子作品購買連結。\n經典回顧 # 讓我們先來回顧悪転奏進的一些早期有趣又實用的作品。早期黑糖的畫風仍不穩定，角色常顯得很幼，像《たった五百円で早苗さんを犯りまくれる守矢神社》，還有他們的舊版頭像。早期主要畫東方Project的角色為主，劇情有各種巧思。 ","title":"出產與孕肚愛好者必看，專畫出產本子的「悪転奏進」黒糖ニッケ","type":"nsfw"},{"content":" 注意：これはLinux狂信者の角度から見た記事であり、少し偏っていて、実用よりイデオロギーが勝っている意味合いがある。\nこの記事全体で論評する問題は、この画像で形容できる。 偷自https://www.reddit.com/r/linuxmemes/comments/15b9ys9/android_does_kick_ass_tho/\nLinuxコミュニティのメンバーがKDEとGNOMEの優劣を議論するとき、しばしば言外の意味が出てくる。その中で最もよくある二つの論点は以下の通りで、聞くたびに私はクソほど腹が立つ。\nLinuxの二大デスクトップ環境GNOME、KDEは肥大化しすぎなので、XFCE/LXQT/Cinnamon/Deepin云々を選ぶ。さらにデスクトップ環境すら不要で、i3/sway/dwmなどのタイル型ウィンドウマネージャーに変えるのが最も安定し高効率で、あれこれ複雑なカスタマイズ設計をやる。 Linuxのデスクトップ環境はどれも使いにくいので、「省心な」WindowsにWSLを入れ、コマンドライン開発ツールだけにアクセスして、自分もLinuxユーザーのふりをする。「Windowsは最高のLinuxディストリビューション」。あるいはmacOSを買ってApple信者として全家桶が使いやすいと誇る。さらにはChromebookを買い、影音娯楽がより取っつきやすいと言う。これで私もLinux環境を使っていることになる。（高確率で知乎、Mobile01、PTTの回答に出現） この二種類の意見について、以下で分けて述べる。\n1. やはり主流デスクトップ環境を使うべき # 第一の問題について、開発者の努力を貶めたいわけではないが、私はやはり主流の意見を参照すべきだと思う。\n一部の激進的なタイル型ウィンドウ愛好者は、Linux主流デスクトップ環境は腐りきっていると考えている。彼らが批判する点は、Windows批判者が考えるようなデスクトップが十分に親切ではないということではなく、KDE、GNOMEが複雑すぎ、開発者が自分たちが何をしているのか分かっておらず、機能を乱雑に追加していることであり、私たちのタイル型ウィンドウの効率には及ばないというものだ。KISS原則を堅持し、デスクトップ環境の資源は節約できるだけ節約する。通常この種のユーザーが使うディストリビューションはArch LinuxとGentooで、init freedomの態度を持つ者はsystemdのないArtix、Void、Devuanを選ぶこともある。これらのディストリビューションの特徴は、事前設定が多くなく、パッケージを入れた後、ユーザーが自分で望む形へ設定しなければならないことだ。愚かな商業会社が強制的に飲み込ませる政策がない。だからカスタマイズ性は極めて高く、極簡の資源で自分の心の中の100%の姿を実現できる。自分でソフトウェアをコンパイルし、心の中の要求に到達する人もいる。たとえばGentooのUSE FlagsやNixのパッケージ設定だ。\n余談だが、Linuxコミュニティには今でもSystemdを憎む人がおり、RedHatが全員に強制的に飲み込ませた悪性の代物(down the throat)だと考えている。そのためDevuan、Artix、GentooのようなSystemdのないディストリビューションを意図的に選び、伝統Unix initの哲学を踏襲する人もいる。似た例にはWayland、PulseAudio、Snapもある。これらのクロスプラットフォーム標準は、強く推進されると人々に疑問視される。結局、人は新しいものに否定的な態度を抱きがちであり、自分の「真香」な瞬間を見つけるまではそうだ。時間が証明したように、Systemdはこの数十年で最も成功し、最も広く受け入れられたものだ。ほぼすべてのディストリビューションがSystemdへ移行し、initシステムを現代化した。では次はWaylandなのか？どうせX11はすでに開発停止しており、大部分のデスクトップ環境開発チームの作業はWaylandへ移っている。なお、PulseAudioはより先進的なPipeWireに置き換えられる。では「統一パッケージ形式」の勝者は誰になるのか？Ubuntuは広大なコミュニティの力を論破してSnapを発揚できるのか、それとも今ますます多くのディストリビューションが徐々にプリインストールするFlatpakが勝つのか？\nデスクトップ環境に話を戻す。これはかなり個人の好みによる選択ではあるが、最も多くの人が使うデスクトップ環境を推薦せず、初心者や中級者に、簡潔・軽量・高カスタマイズを強調するようなデスクトップ環境を使わせると、結局経験のない人はあまりに簡素なGUIでは問題を解決できない（デスクトップ環境の他のソフトウェアと協調できないものは全部だめだと思う）。コマンドでシステム設定を変更する羽目になり、それからLinuxは直感的ではないと文句を言う。私はそれは人を害していると思うし、私もいきなり人にArch Linuxを入れろとは勧めない。タイル型ウィンドウマネージャーには高効率なところがあるが、直感的ではない。だから人に優先的には推薦できない。AndroidからiOSへ変えるだけで操作に慣れない人もいるのに、Linuxを使い始めた瞬間に極簡寄りのグラフィカルインターフェースを選ぶのは本当に無理だと思う。KDEとGNOMEはいずれも開封即用の体験を改善し、標準を制定することに尽力している。GNOMEには商業会社の寵愛もある。他のデスクトップは口汚く言えば二等市民でしかない。\n私はLinux should be user-centric not user-friendlyには同意する。しかし現実面から考えると、自分のシステムを過度にカスタマイズすることは極端と狂気を招くと思う。デスクトップ環境には妥協と協力が必要であり、より多くの使用場面を支援するために公開標準を制定する必要がある。もしすべてがコマンド中心の手作業思考なら、時代の潮流に追いつけない恐れがある。システムの自由度と簡単高効率をいかに強調しようと、カスタムシステムがどれほど快適だろうと、Nixが最高のパッケージマネージャーだろうと、大多数の人にはそんなことに時間を浪費する余裕はない。グラフィカルインターフェースでシステムサービスを制御できることは余計ではなく、進歩である。私たちは現代的なGNU/Linuxシステムが欲しいのであって、ハッカー専用の玩具ではない。\n私自身について言えば、さまざまなデスクトップ環境を試した最後には、GNOMEとKDEの対決だけが残った。今では多くのデバイスをKDEへ統一しており、テーマ色だけが違う。私にとってGNOMEは本当に使いにくい 💔 KDEはWindowsに類比でき、機能が多くインターフェースのカスタマイズ度も高い。GNOMEはMacOSに近く、アプリケーションのスタイルが統一され、インターフェースはよりミニマルだ。しかし私は、GNOME支持者がその「簡潔で使いやすい」ことをいかに強調しても、結局KDEエコシステムの「便利で強力」には及ばないと思う。それだけだ。より多くのディストリビューションがKDEをデフォルト選択肢として採用してくれることを願う。\nグラフィカル操作について言えば、私もかなり悩ましい。人によって使うLinuxデスクトップが違うため、チュートリアル記事で「次に、KDE Discoverを開く…」のような指示文を書きにくい。読者がLinux Mintユーザーだったらどうする？すべての読者が応用して、次にどう対応操作すべきか分かるわけではない。はあ、だからFlatpakをインストールするとき、私は多くの場合やはり直接コマンドを提示する。読者がすでに自分のデスクトップ環境に慣れているなら、自然にアプリストアを開いてFlatpakプログラムを検索することが分かり、コマンドを打つ必要はない。今私が持っている原則は「GUIでできるならGUIで設定し、コマンドは後ろに下がれ」である。\n2. 今話しているのはGNU/Linuxだ # 第二の問題について、このような話をする人は中国語を履修し直すべきだと思う。私たちが議論している問題は根本的に同じ次元にない。私はデスクトップアプリケーションを語っているのに、あなたはシステム開発を語っている。\nケンシロウは一指で相手を倒せるが、私は一言でそれを反駁できる：本末転倒。\nGNU/Linuxにとって、SteamOS、ChromeOS、Androidは親戚であり、macOSとWindowsは友人である。WSLは私生児だ。\nただし、こう語る人たちを責めることもできない。多くの人はconsoomerであることに慣れ、ownerである感覚が何かを知らない。また、LinuxをWindowsの安価で無料の代替品として見ている人もいる。Windowsを十分に代替できないなら使いたくない、というわけだ。しかし私たちは本来こう見るべきだ：すべてのシステムは並行して発展しており、それぞれの客層需要を持つ。単一プラットフォーム向けに設計されたソフトウェアが他のプラットフォームでも動くべきだと期待してはならない（正直、今でも一つのプラットフォームだけを対象にソフトウェアを開発している会社の思考も遅れている。もちろんゲームは例外だ）。\n自由ソフトウェア開発者は世界征服を考え、あらゆる手段で市場シェアを争うわけではない。しかし彼らは自由の理念を広めることに力を尽くす。Linuxが本当にあまり直感的ではないことは認めざるを得ない。私はLinux狂信者の角度から見ているからこそ、この種の回答を非常に嫌悪するのだ。自由を第一の信仰価値とすることがLinuxを使う前提であり、「WSL」やより美しいmacOSを使ってすべてのLinuxディストリビューションを貶めることは、この価値を否定するに等しい。\n習近平が言ったように：1がなければ、どれほど多くの0にも意味はない。\n実用の角度から見ると、WSLがプログラム開発作業の完遂を助けるのはよいことだ。これはMicrosoftが近年ようやく良心を見つけたことを意味する。学校のコンピューター教室でWindowsを強制使用させられるときにも、このよいものがあり、一時的に苦海を抜け出せることを私は幸いに思う。\nしかし道義上は、完全なGNU/LinuxシステムがなおWindowsに勝る。Windows自体がユーザーの自由とプライバシーを尊重しないシステムであり、縛られたら終わりだからだ。WindowsでLinuxコンテナを動かすことは、あなたを目覚めさせて本物のLinuxをインストールさせるかもしれないが、逆にこの製品に縛りつけられ、この一生はjohnとなり、Linuxを完全なシステムではなく一つのプログラムとして扱うことになるかもしれない。\nWindowsにWSLを入れることは、「あなたのコンピューターが邪悪な会社/組織/学校にがっちり掌握され、他のシステムをインストールできない」場合の妥協選択であり、Linuxが本来そういう姿であるわけではない。Linuxはサーバーの純テキスト環境にしかいられないわけではない！心にも魂にも脳にも入り込むほどLinuxを体験していないなら、各国Linuxデスクトップ環境開発者の努力を軽々しく否定するな。\n誰かがWindowsこそ最高のLinuxディストリビューションだなどとでたらめを言うなら、100%荒らしである。私たちはGNU/Linuxデスクトップの設計の優劣を議論しているのであって、Linuxを走らせる手段を議論しているのではない。これはまるで、AndroidにTermuxを入れ、iOSにiSH Shellを入れたから私もプロLinuxユーザーだと言うようなものだ！ペッ！振り返ってアプリストアで山ほどプロプライエタリソフトウェアをダウンロードする人間が、何のLinuxユーザーだというのか。\nWindowsはWindows 11に至ってすでに巨大な監視機械になった。そもそも自由ソフトウェアではないことに加え、数え切れない広告、アプリストア宣伝、AIのシステム埋め込み、ずっと金を稼いでポイントを買えと促す検索エンジン\u0026hellip;これらシステム下層に関わるものに、GNU/Linuxは深く干渉しない。デフォルトではとても清潔だ。Linuxが仮想マシンにいるべきで、実機はWindowsを使うべきだと言うより、むしろWindowsこそ仮想マシンの中にいるべきで、日常はLinuxを使うべきだ。私たちには高効率なKVM技術があり、低遅延で仮想マシンのものへアクセスできるのだから。少なくとも日常の90%の時間を占めるシステムでは、プライバシー権と自由について妥協してはならない。\nmacOSは端末がLinuxに近く、インターフェースと操作に独自の美学があり、Windowsと同じく開封即用ではある。しかしそれでも不自由なシステムであり、ChromeOSと同じくハードウェアに縛られ、突破も難しい。私はmacOSのデザイン美学を盲目的に褒め、さらに論文理論を引用してAppleがなぜこう設計するのかを裏付ける記事をあまりにも多く見てきた。しかし彼らは、このシステムがどれほど美しくても、永遠にプロプライエタリOSであることに気づいていない。Appleエコシステムは便利に見えるが、実際には一種の誘拐であり、さらに恐ろしいのは代替案がほぼないことだ。私がいなければお前は死ぬ、というものだ。\nmacOSの美感はWindowsよりほんの少しよいだけで、Linuxと肩を並べることはできない。道義上はFreeBSDのほうがmacOSより良いかもしれない。プロプライエタリソフトウェアのサポートや、iOS APPの開発にmacOSが必要ということがなければ、あれほど多くのカモがMacを買うだろうか？Macの工業デザインや画面が美しいのは確かだが、私は華やかで実がないと思う。\nChromeOSは、Linuxを「古いコンピューターを復活させる専門」と思っている一部ユーザーのシェアを奪うかもしれない（Youtubeでは本当に、99%の時間Windowsを使うユーザーがこうLinuxを紹介している。彼らの宣伝ポイントは間違っていると思う）。しかし専門用途では全面的に負けている状況なので、脅威はWindowsやmacOSほど大きくない。それが叩くのは、タブレットとスマホに耽溺するユーザー市場だろう。そういうユーザーにはもともと何も考えない人が多い。\n3. まとめ # 私はAndroid是最好的Linux發行版？對Linux桌面發行版的怨氣で、AndroidとWindowsがどのように成功したかへの羨望、そしてLinuxへの失望を一通り語った。しかし結局、私はやはりLinuxを使い続けることを選ぶ。今の世界はプロプライエタリソフトウェアに縛られすぎており、ユーザーも創作者も商業製品の表面的な浅さに慣れ、自由の価値を大切にしていない。\n自由ソフトウェアを無料ソフトウェアと同じものだと誤解している人がいるが、実際には違う。無料ソフトウェアには多くの危険が潜んでおり、その中にはユーザーを誘拐する成分が含まれ、freemiumが最も一般的な形式である。自由ソフトウェアは使い始めるのが比較的難しいかもしれない。しかし彼らが大切にする自由の価値は無視できず、美しいインターフェースでユーザーを喜ばせ、誘い込み、縛ることを目的としているのではない。\nLinuxユーザーには選択の自由があるとはいえ、正義で健康な観念を広めるため、私たちは非主流意見にもう少し警戒心を持つべきだ。Linux自体が主流デスクトップシステムではないのに、さらに外部勢力に私たちの価値観を蚕食させるなら、それはもっと悲しいことだ。\n","date":"2023年8月14日","externalUrl":null,"permalink":"/ja-jp/posts/we-are-talking-about-gnu-linux-desktop/","section":"Foss-Issues","summary":" 注意：これはLinux狂信者の角度から見た記事であり、少し偏っていて、実用よりイデオロギーが勝っている意味合いがある。\nこの記事全体で論評する問題は、この画像で形容できる。 偷自https://www.reddit.com/r/linuxmemes/comments/15b9ys9/android_does_kick_ass_tho/\nLinuxコミュニティのメンバーがKDEとGNOMEの優劣を議論するとき、しばしば言外の意味が出てくる。その中で最もよくある二つの論点は以下の通りで、聞くたびに私はクソほど腹が立つ。\nLinuxの二大デスクトップ環境GNOME、KDEは肥大化しすぎなので、XFCE/LXQT/Cinnamon/Deepin云々を選ぶ。さらにデスクトップ環境すら不要で、i3/sway/dwmなどのタイル型ウィンドウマネージャーに変えるのが最も安定し高効率で、あれこれ複雑なカスタマイズ設計をやる。 Linuxのデスクトップ環境はどれも使いにくいので、「省心な」WindowsにWSLを入れ、コマンドライン開発ツールだけにアクセスして、自分もLinuxユーザーのふりをする。「Windowsは最高のLinuxディストリビューション」。あるいはmacOSを買ってApple信者として全家桶が使いやすいと誇る。さらにはChromebookを買い、影音娯楽がより取っつきやすいと言う。これで私もLinux環境を使っていることになる。（高確率で知乎、Mobile01、PTTの回答に出現） この二種類の意見について、以下で分けて述べる。\n","title":"GNU/Linuxデスクトップはどれがよいかを議論しているとき、Windowsを持ち込むな","type":"foss-issues"},{"content":"本文Ivon介紹幾個Android刷機時常見的GApps套件 (Google服務框架) ，再介紹個人的選擇偏好，最後介紹如何刷入GApps。\n1. 什麼是GApps，該不該裝GApps # 如果喜歡刷第三方Android ROM，就會遇到需要刷入GApps的環節吧。像LineageOS這類第三方ROM，預設沒有內建GApps，所以使用者得自己刷GApps。\nGApps又稱「Google Apps」，內含一系列讓Google API動起來的系統組件。一般人刷GApps通常是為了登入Google帳號、存取Google Play商店，並使用Google地圖、Youtube、Google雲端等Google推出的APP。\n然而，GApps不完全等同GMS (Google Service Framework，Google服務框架)，後者為Google開發的專有軟體，需付費取得認證才可內建在系統；相較之下GApps為第三方開發者維護的版本，可自由安裝使用。 GApps的功用等同一般市售手機搭載的GMS框架。由於GMS為Google開發的專有軟體，使用商標要付錢，手機廠商花錢買授權獲得認證後，便可以將GMS隨手機一起出貨 (參見Android相容計畫)。 但第三方ROM可不是這樣了，部分第三方ROM開發者為避免爭議選擇不內建GApps，譬如LineageOS，官網的ROM組建不包含GApps，要使用者自己刷第三方開發者維護的GApps。\n部份XDA開發者仍會在ROM內建GApps，嚴格來說這是違法的。\nGApps因為是系統服務，一般而言得用手機Recovery刷入，無法直接用APK安裝。\n那麼GApps有無必要安裝？其實第三方ROM不刷GApps手機也可以正常用，GApps安裝後會蒐集許多使用者的資料，「degoogle運動」的人士將其視為侵犯隱私的元兇！可惜的是，不論你再如何反感Google侵犯隱私，沒有GApps的Android手機在台灣就是半殘，賴以維生的Play商店無法使用，很多APP會開不起來，為此忍痛刷吧，尋找一個適合的GApps套件來刷吧。\n2. 常見的GApps套件比較 # 因為上節講的授權原因，本節介紹的GApps都不是Google官方維護的，而是第三方開發者自主維護。\n因應不同的需求，出現了許多第三方開發者維護的GApps版本。下載的時候請按照確切的裝置架構(通常是ARM64)與Android版本做選擇。\n通常GApps的開發者會提供多種安裝包版本讓人下載，譬如OpenGApps就有8種版本，其中最小化的安裝包(pico)是給有潔癖的用戶；最肥的安裝包(super)是給喜歡Google全家桶的用戶。其他GApps套件也提供類似的組合功能給人挑選。\n2.1. OpenGApps # 官網 The Open GApps Project是最老的GApps套件，從CyanogenMod時代就存在了。支援ARM與x86架構的裝置，目前支援Android 4.4 ~ Android 11，似乎沒在更新了？\n下載OpenGApps時要選取對應的架構以及Android版本，接著你會看到8個安裝包選項，由小到大分別為：pico、nano、micro、mini、full、stock、super、aroma。 pico版就是只包含讓Google Play動起來的最小系統組件；相較之下，super就是包含Google全家桶，檔案很大。\n我自己是喜歡越簡單越好。\n2.2. NikGapps # 官網 NikGapps支援Android 9以上版本系統，僅支援ARM架構。\n安裝包分為：core、go、basic、omni、stock、full。core為最小化安裝包，full為Google全家桶。 NikGapps的開發者把載點放在Sourceforge，檔案不太好找。要下載的用戶請點選Releases → NikGapps-*資料夾，選取對應的Android版本代號下載。\n例如Android 13的就是「NikGapps-T」 除了從Recovery刷入的一般版以外，NikGApps另有Magisk模塊版本。\n2.3. MindTheGApps # 官網 當心邪惡的GApps！\n支援Android 8.1以上系統，支援ARM與x86架構。\nMindTheGApps是LineageOS官方Wiki推薦使用的GApps套件，雖然並沒有特別說要刷這個才能用。\n與其他GApps不同的點在於，MindTheGApps的開發者只提供一種安裝包，沒有分pico或full版本，只包含最小的必要的Google服務組件。\n2.4. BITGapps # 官網 支援Android 7.1以上系統，支援ARM與x86架構。\nBITGapps宣稱有對GApps優化，使其能套用Android的電池省電規則。\n官網提供三種安裝包版本下載：core、mini、omni。 2.5. LiteGapps # 官網 支援Android 5以上系統，支援ARM與x86架構。\n官網提供8種版本的安裝包，由小到大分別為：Lite、Core、Go、User、Basic、Nano、Micro、Pixel。\nLiteGapps還分成LiteGapps和LiteGapps++​版本，後者是跨架構通吃的單一安裝包。\nLiteGapp可從Recovery或Magisk模塊刷入，另提供擴充功能支援，還有LiteGapps Remover能夠移除安裝的GApps。\n2.6. microG # 官網 microG最低系統需求為Android 7，支援ARM與x86架構。此外ROM需支援signature spoofing才能成功安裝microG。\nmicroG為德國人開發的完全開源Google服務框架，將必要的Google API重新實作了一遍。\n嚴格來說microG不是GApps，裝了之後不適合使用Play商店，microG僅是勉強讓使用Google API的APP可以運作。如果要不依賴GMS服務下載Play商店APP的話請使用Aurora Store。\nmicroG算是呼應歐美\u0026quot;degoogle\u0026quot;風潮下的產物，讓手機正常運作的同時又不那麼依賴GApps。microG實際裝法跟其他GApps不太一樣，具體請看這篇。\n3. 如何選擇GApps套件？ # Ivon優先考量Android版本支援的問題，比方說我刷LineageOS 23 (Android 16)的ROM，就選更新最快的MindTheGApps，或者NikGapps。\n以NikGapps而言，Ivon偏好刷入「Core」版的GApps套件，它跟OpenGApps的「pico」版類似，僅有最小化的Google服務框架，能讓Play商店動起來就行了，剩下的額外GApps需要再自行到Play商店下載。\n如果你喜歡手機開機就內建Google日曆、Google簡訊、Google Chrome、Android Auto等APP，那麼才下載「stock」、「full」等較為肥大的安裝包。\n4. GApps刷入教學（以LineageOS為例) # 以LineageOS 23為例，不需要TWRP，LineageOS提供的Recovery就能刷了。\n在電腦下載NikGapps Core，選取ARM64架構、Android 16版本，會得到一個zip壓縮檔。\n讓手機重開機進入LineageOS的Recovery，通常是開機同時按著音量下鍵＋開機鍵。\n點選Apply Update → Apply from ADB\n在電腦下載Platform tools，在電腦執行ADB Sideload指令，刷入GApps\nadb sideload \u0026lt;GApps檔名\u0026gt; 重開機之後即可登入Google帳號。 ","date":"2023年8月14日","externalUrl":null,"permalink":"/posts/android-gapps-comparison/","section":"所有文章","summary":"本文Ivon介紹幾個Android刷機時常見的GApps套件 (Google服務框架) ，再介紹個人的選擇偏好，最後介紹如何刷入GApps。\n1. 什麼是GApps，該不該裝GApps # 如果喜歡刷第三方Android ROM，就會遇到需要刷入GApps的環節吧。像LineageOS這類第三方ROM，預設沒有內建GApps，所以使用者得自己刷GApps。\nGApps又稱「Google Apps」，內含一系列讓Google API動起來的系統組件。一般人刷GApps通常是為了登入Google帳號、存取Google Play商店，並使用Google地圖、Youtube、Google雲端等Google推出的APP。\n然而，GApps不完全等同GMS (Google Service Framework，Google服務框架)，後者為Google開發的專有軟體，需付費取得認證才可內建在系統；相較之下GApps為第三方開發者維護的版本，可自由安裝使用。 GApps的功用等同一般市售手機搭載的GMS框架。由於GMS為Google開發的專有軟體，使用商標要付錢，手機廠商花錢買授權獲得認證後，便可以將GMS隨手機一起出貨 (參見Android相容計畫)。 但第三方ROM可不是這樣了，部分第三方ROM開發者為避免爭議選擇不內建GApps，譬如LineageOS，官網的ROM組建不包含GApps，要使用者自己刷第三方開發者維護的GApps。\n","title":"Android刷機常見的GApps套件比較，OpenGApps、NikGApps、MindTheGApps、microG","type":"posts"},{"content":"","date":"2023年8月13日","externalUrl":null,"permalink":"/tags/kde-neon/","section":"標籤","summary":"","title":"KDE Neon","type":"tags"},{"content":"以一名Arch Linux使用者的角度，切換到KDE Neon，期望它能表現得更好更穩定，我只能說：快逃。 我使用Arch Linux + KDE許久，作為KDE的忠實粉絲，我想找一個提供KDE最新界面、穩定、很多人用的Linux發行版，不想用Debian Stable或Kubuntu那落後的KDE版本。\n穩定的系統＋最新版套件？這看似矛盾的組合，其實仍有滿足的可能，第一是我用過的openSUSE Tumbleweed，滾動發行版，官方宣稱套件皆經過機器自動化測試確保穩定性。\n我實際使用是覺得還OK，不過套件依賴太複雜了，加上openSUSE長期以來沒存在感，很多小眾軟體頂多只能照顧到Fedora，openSUSE常常被當空氣。\n所以我看向一個熱門的選擇：KDE Neon。\n1. KDE Neon與Kubuntu差異 # KDE Neon是半滾動更新的發行版，以Ubuntu LTS為基底，加上最新版KDE桌面套件製作而成。儘管KDE Neon的開發者不認為這是發行版(官網FAQ：Is this \u0026quot;the KDE distro\u0026quot;? Nope.)，但DistroWatch網站還是把它當作獨立發行版看待。\nKubuntu由Canonical公司提供支援，KDE Neon則是由KDE社群獨立維護，屬非官方Ubuntu延伸版，故KDE Neon無需遵守Canonical的政策，可以自由內建Flatpak。經過比較ISO安裝檔大小可以發現，KDE Neon預先安裝的軟體比Kubuntu要少。\nKDE Neon的系統基於Ubuntu LTS(目前是22.04)。而Kubuntu提供23.04與22.04 LTS的版本，遵循原版Ubuntu的發行模式。\nKDE Neon跟Kubuntu的最大差別在於KDE桌面套件版本，KDE Neon的KDE桌面套件較新，就好像Kubuntu LTS加上一組額外的套件庫，讓使用者可以收到最新版的KDE桌面套件。仔細看的話，KDE Neon的KDE桌面套件版本號碼可是有追上Arch Linux套件庫的KDE版本的。\n為什麼我覺得最新版KDE桌面很重要？KDE一直有在改進整體使用體驗，美學也有在改進，例如KDE 5.27以上版本的截圖工具有註解功能，後續版本還不斷改進細節，我才覺得必須得用到最新版KDE桌面跟上潮流，且如果KDE桌面以外的系統本身穩定那就更好了。\n順帶一提，Debian Stable曾經有一個類似KDE Neon理念的套件庫，可惜作者Norbert Preining停止維護了。\n儘管基於「穩定的系統」與「最新的KDE桌面套件」看起來好像蠻穩的，但KDE Neon實際上會比Kubuntu不穩定，因為它未經測試就放最新套件下來，加上它的社群較小能得到的幫助有限。\n不過系統方面問題我應該能自行排除，且有Ubuntu的套件充實，應該不會落到openSUSE沒軟體可用的問題。\n那麼就試試從Arch Linux轉向KDE Neon吧，用一個禮拜試試。\nMotherboard：ASUS K31CD-K CPU：Intel i5-7400 GPU：Nvidia GTX1050Ti 1. 安裝KDE Neon與小優化 # 至官網下載KDE Neon User Edition的ISO，檢查檔案完整性防止檔案毀損。以Ventoy安裝至隨身碟。\n開機後按照指示安裝系統。\n好笑的是重開機後馬上遇到問題。我發現安裝器沒生成常用目錄，家目錄是空的，需執行以下指令生成\nLC_ALL=C xdg-user-dirs-update --force 安裝Nvidia驅動\n安裝Fcitx5輸入法。注意KDE Neon自身的儲存庫的Fcitx5與Ubuntu會衝突，不可以用星號全選，要手動指定套件\nsudo apt install fcitx5 fcitx5-chewing-addon fcitx5-chinese-addon KDE Neon預裝Snap和Flatpak，通常我會把前者禁掉，問題太多了，僅次於Nvidia驅動。 比方說我馬上就抓到一個問題：Snap版Firefox，AppArmor會導致fcitx5無法啟用。這個bug今年五月才出現的，Fuck Snap。\n我後來是改裝Firefox ESR解決中文輸入問題\nsudo add-apt-repository ppa:mozillateam/ppa sudo apt update sudo apt install firefox-esr 2. 更新系統的指令 # KDE Neon雖說沒有Kubuntu臃腫，沒有太多KDE附屬應用程式，但預裝的東西太少了，沒中文輸入法，Ubuntu的圖形更新工具也拿掉。\n圖形更新管道只有「Discover」配PackageKit。\nKDE Neon多了pkcon update指令來更新套件，這個指令主要是確保KDE版本可以跟上最新版。\n但pkcon其實就是APT的前端，更新不全，如果要完整升級系統得使用sudo apt full-upgrade。\n3. 結論：我還是受不了KDE Neon # 這裡討論KDE Neon的一些缺點。\n以前用Arch Linux的時候有些軟體得從AUR抓，換Ubuntu有Distrobox和Flatpak就不是問題了，只不過是不太方便而已。另外用過Arch的簡潔，我真的不能忍受臃腫的套件了，Distrobox在Ubuntu上預設會依賴Podman，相較之下Arch有自由選擇依賴Docker或Podman的自由\u0026hellip;諸如此類幫使用者搶先調整的設定，是我最不能忍受的地方。\nKDE Neon唯一改善的是我電腦無法正常關機的問題，Arch會隨機出現假關機但風扇仍在轉的問題，而Ubuntu的核心總是能正常關機。這是我唯一可以期望的點：KDE Neon在桌面環境以外的套件，應當是相對穩定的，包含KVM以及Docker的服務。\n然而作為半滾動發行版，KDE Neon的穩定度並沒有比Arch好，系統我看不到的地方穩定沒用，重點還是在圖形部份。我已經遇過不只一次打字打到一半KDE工作列自己崩潰了。儘管這不是大問題\u0026hellip;KDE會嘗試重新啟動服務，所以幾秒後工作列會自己恢復。\n換成KDE Neon，Nvidia驅動問題仍在，Ubuntu提供的驅動穩定度也沒比Arch好。比方說，Firefox在X11下滾動照樣畫面撕裂，開Force Full Composition Pipeline又會導致效能下降。切換成Wayland雖然解決撕裂，但OBS Studio因為Nvidia的緣故又抓不到螢幕錄影畫面了。相關issue\u0026hellip;MPV因為Nvidia驅動無法播放。相關issue。雖不能怪罪KDE開發者，但KDE Neon體驗相較於Arch並無改進呀。\n順帶一提，不要讓 ubuntu-drivers install自己選驅動\u0026hellip;請務必選取500版以上的Nvidia驅動，並往GRUB加入nvidia-drm_modeset=1才支援KDE Wayland。Ubuntu LTS還在用PulseAudio，請安裝Pipewire確保OBS Studio能正常運作。\nKDE Neon有自己的上游套件庫，有些套件版本太新會跟Ubuntu的舊版套件衝突，導致軟體無法安裝。\n最後一點，KDE Neon不是新手友善的發行版。雖說沒有Kubuntu內建一堆附屬應用程式導致臃腫，但預裝的東西太少了，沒中文輸入法，Ubuntu的圖形更新工具也拿掉，變成只依賴PackageKit更新。我覺得就算KDE圖形界面再強大，KDE Neon在開箱即用程度方面可能還不如原版的Kubuntu。\nKDE Neon是給喜歡Kubuntu的用戶，喜歡追求最新版KDE界面，並願意幫KDE開發者除錯的死忠粉，但穩定性並無保證。如果要求穩定的桌面環境，我建議還是優先採用Kubuntu比較好。\n我覺得，諸如以上的問題，如果切換成KDE Neon並無勝過Arch Linux，我算下來覺得很不值得，我已經重裝Arch Linux了。\n","date":"2023年8月13日","externalUrl":null,"permalink":"/posts/kde-neon-review/","section":"所有文章","summary":"以一名Arch Linux使用者的角度，切換到KDE Neon，期望它能表現得更好更穩定，我只能說：快逃。 我使用Arch Linux + KDE許久，作為KDE的忠實粉絲，我想找一個提供KDE最新界面、穩定、很多人用的Linux發行版，不想用Debian Stable或Kubuntu那落後的KDE版本。\n穩定的系統＋最新版套件？這看似矛盾的組合，其實仍有滿足的可能，第一是我用過的openSUSE Tumbleweed，滾動發行版，官方宣稱套件皆經過機器自動化測試確保穩定性。\n我實際使用是覺得還OK，不過套件依賴太複雜了，加上openSUSE長期以來沒存在感，很多小眾軟體頂多只能照顧到Fedora，openSUSE常常被當空氣。\n所以我看向一個熱門的選擇：KDE Neon。\n1. KDE Neon與Kubuntu差異 # KDE Neon是半滾動更新的發行版，以Ubuntu LTS為基底，加上最新版KDE桌面套件製作而成。儘管KDE Neon的開發者不認為這是發行版(官網FAQ：Is this \"the KDE distro\"? Nope.)，但DistroWatch網站還是把它當作獨立發行版看待。\nKubuntu由Canonical公司提供支援，KDE Neon則是由KDE社群獨立維護，屬非官方Ubuntu延伸版，故KDE Neon無需遵守Canonical的政策，可以自由內建Flatpak。經過比較ISO安裝檔大小可以發現，KDE Neon預先安裝的軟體比Kubuntu要少。\n","title":"KDE Neon 22.04的使用心得，作為KDE粉絲，從Arch Linux切換到Ubuntu會如何？","type":"posts"},{"content":" 這篇文章Ivon介紹3種不需要雙系統(Dual boot)，直接在Linux系統跑Windows軟體的方法。\n每節都有詳細的操作教學，適用於Ubuntu、Debian、Arch Linux、Manjaro、Fedora、openSUSE、Gentoo等GNU/Linux發行版。\n有時候特定Windows軟體，Linux就是沒有替代品的情況下，就得硬著頭皮跑Windows版的軟體了。\nLinux系統要跑Windows軟體首先可以嘗試Wine轉譯執行，不行的話就靠Windows虛擬機吧。虛擬機又可以分為「文書型」的虛擬機與「遊戲型」的虛擬機。\n1. Wine相容層 # Wine能夠將Windows軟體的指令轉譯為Linux的指令，使其能在Linux執行，效能幾乎沒有損失。如果轉譯良好情況下，還可以跑大型Windows遊戲。\nWine支援的軟體請參閱WineDB和ProtonDB，以及本站實際測試過的範例。\n過去Wine需要打一堆指令，現在有許多友善的圖形化界面工具出現了，點一點就可以完成設定。\n如果想跑Windows文書軟體(Line，Photoshop) → 推薦安裝Bottles for Linux\n如果想跑Windows遊戲 → 推薦安裝Steam for Linux\n值得注意的是，儘管Wine支援的軟體越來越多，但因為Wine使用黑箱工程還原Win32 API，所以能跑的程式仍要看運氣，有些軟體就是怎樣都不行跑，那些在Microsoft Store上架的軟體更是不可能用Wine跑。\n此時就得用到Windows虛擬機了，什麼硬體都給你模擬出來，必要的時候還可以直通實體裝置給虛擬機存取。\n2. 文書型Windows虛擬機 ＋ Cassowary # 相關文章：Cassowary設定教學\n跑一個高效能的Windows QEMU/KVM虛擬機，再透過Linux的RDP客戶端存取裝在虛擬機裡面的Windows軟體。\n對電腦要求較高，電腦需要空出4GB RAM和2核心CPU資源給虛擬機。\nCassowary這個軟體會幫你中介Linux與虛擬機的溝通，使啟動虛擬機軟體變得宛如原生Linux軟體一般。\n之所以叫文書型虛擬機，就是因為RDP沒有硬體加速，只適合跑文書軟體。\n3. 遊戲型Windows虛擬機 ＋ GPU直通 ＋ Looking Glass # 相關文章：GPU直通 ＋ Looking Glass ＋ 躲避虛擬機偵測\n終極的遊戲型虛擬機解決方案，讓您在Linux的Windows虛擬機裡面進行遊戲、剪輯、建模作業。\n除了電腦需要空出8GB RAM和4核心CPU資源給Windows虛擬機外，還需要準備一張遊戲型的顯示卡。將顯示卡透過VFIO核心模組直通給Windows虛擬機使用，使其能夠使用顯示卡強化3D圖形能力。\n這樣一來，搭配Looking Glass軟體的低延遲技術，即可在Linux系統流暢遊玩Windows虛擬機裡的遊戲了。\n","date":"2023年8月13日","externalUrl":null,"permalink":"/posts/how-to-run-windows-programs-on-linux/","section":"所有文章","summary":" 這篇文章Ivon介紹3種不需要雙系統(Dual boot)，直接在Linux系統跑Windows軟體的方法。\n每節都有詳細的操作教學，適用於Ubuntu、Debian、Arch Linux、Manjaro、Fedora、openSUSE、Gentoo等GNU/Linux發行版。\n有時候特定Windows軟體，Linux就是沒有替代品的情況下，就得硬著頭皮跑Windows版的軟體了。\nLinux系統要跑Windows軟體首先可以嘗試Wine轉譯執行，不行的話就靠Windows虛擬機吧。虛擬機又可以分為「文書型」的虛擬機與「遊戲型」的虛擬機。\n1. Wine相容層 # Wine能夠將Windows軟體的指令轉譯為Linux的指令，使其能在Linux執行，效能幾乎沒有損失。如果轉譯良好情況下，還可以跑大型Windows遊戲。\nWine支援的軟體請參閱WineDB和ProtonDB，以及本站實際測試過的範例。\n過去Wine需要打一堆指令，現在有許多友善的圖形化界面工具出現了，點一點就可以完成設定。\n如果想跑Windows文書軟體(Line，Photoshop) → 推薦安裝Bottles for Linux\n如果想跑Windows遊戲 → 推薦安裝Steam for Linux\n值得注意的是，儘管Wine支援的軟體越來越多，但因為Wine使用黑箱工程還原Win32 API，所以能跑的程式仍要看運氣，有些軟體就是怎樣都不行跑，那些在Microsoft Store上架的軟體更是不可能用Wine跑。\n","title":"如何在Linux系統跑Windows軟體，三種方法不同的思路","type":"posts"},{"content":"本文示範如何在Linux系統，透過Cassowary跑Windows的軟體，例如Microsoft Office 365(Word, Excel, PowerPoint)和Adobe Creative Cloud(Photoshop, Lightroom)系列軟體。\n有些Windows軟體用Linux的Wine也跑不起來，那麼就用「Cassowary」跑吧，讓Windows軟體宛若原生應用程式一樣融入Linux系統。 Linux系統以Cassowary跑Microsoft Word\n1. Cassowary原理 # 「Cassowary」意為鶴鴕，又稱食火雞，這是一種不會飛的鳥，攻擊性很強。不過我覺得作者casualsnek可能是想玩商業版Wine軟體「Crossover」的諧音啦。 Cassowary用的是什麼神奇技術？其實沒什麼，Cassowary的原理為在Linux系統跑一個Windows虛擬機，設定RDP遠端桌面服務，Windows程式跑在Windows虛擬機裡，Cassowary充當RDP的中介，將其整合至Linux桌面環境。\n那這跟手動設定虛擬機RDP再用Remmina存取有何差別？用Cassowary可以簡化存取虛擬機應用程式的過程，Cassowary提供圖形界面開關虛擬機，能夠掃描虛擬機安裝的軟體，將其捷徑新增到Linux桌面，還能與Windows共享資料夾。並且，Cassowary能在不需要虛擬機的時候將其暫停釋放資源。\n在Cassowary之前已經有類似專案，如Fmstrat做的WinApps for Linux，但該專案沒有積極維護了。與此相比，Cassowary算是WinApps的改進版，提供圖形界面方便管理虛擬機與捷徑，並且有持續在更新。\n不過同樣都是掛虛擬機在背景，Cassowary方案效能比Looking Glass + GPU直通要差，RDP沒有硬體加速，視窗縮放也怪怪的，只適合跑簡單的文書軟體。\n2. 建立Windows 11虛擬機 # 參見安裝Windows 11 QEMU/KVM虛擬機\n在安裝虛擬機之後，將虛擬機關機。\n設定開機Windows自動登入使用者，給虛擬機設定靜態IP\n設定Libvirtd以user模式執行\nsudo sed -i \u0026#34;s/#user = \\\u0026#34;root\\\u0026#34;/user = \\\u0026#34;$(id -un)\\\u0026#34;/g\u0026#34; /etc/libvirt/qemu.conf sudo sed -i \u0026#34;s/#group = \\\u0026#34;root\\\u0026#34;/group = \\\u0026#34;$(id -gn)\\\u0026#34;/g\u0026#34; /etc/libvirt/qemu.conf sudo usermod -a -G kvm $(id -un) sudo usermod -a -G libvirt $(id -un) sudo systemctl restart libvirtd 有AppArmor的系統，需要新增以下規則 sudo ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/ wget https://gitlab.com/apparmor/apparmor/-/raw/master/profiles/apparmor.d/usr.sbin.dnsmasq -O ~/usr.sbin.dnsmasq sudo mv ~/usr.sbin.dnsmasq /etc/apparmor.d/ sudo sed -i \u0026#34;s/\\/usr\\/libexec\\/libvirt_leaseshelper m,/\\/usr\\/libexec\\/libvirt_leaseshelper mr,/g\u0026#34; /etc/apparmor.d/usr.sbin.dnsmasq 確保連線的是本機的Libvrit服務 mkdir -p ~/.config/libvirt echo \u0026#34;uri_default = \\\u0026#34;qemu:///system\\\u0026#34;\u0026#34; \u0026gt;\u0026gt; ~/.config/libvirt/libvirt.conf 將電腦重開機。 3. 於Windows虛擬機安裝Cassowary伺服端 # 開啟Windows系統設定 → 遠端桌面，啟用遠端桌面服務\n至Github下載Cassowary伺服端，選取cassowary-0.6-winsetup.zip，解壓縮，對setup.bat右鍵以系統管理員執行批次檔。\n虛擬機重開機。\n4. 於Linux Host安裝Cassowary客戶端 # 安裝以下套件 # Arch Linux sudo pacman -S python3 python3-pip freerdp libvirt-python # Ubuntu sudo apt install python3 python3-pip freerdp-x11 libvirt-python 到Github下載cassowary-0.6-py3-none-any.whl 安裝wheel，並記得將~/.local/bin加入至PATH\npip3 install PyQt5 pip3 install cassowary* echo \u0026#34;PATH=\\$PATH:$HOME/.local/bin\u0026#34; \u0026gt;\u0026gt; $HOME/.profile 啟動Cassowary。請確保Windows虛擬機正在執行。 python3 -m cassowary -a 在以下欄位分別填寫虛擬機名稱、虛擬機IP（可從Virt Managet面板得知）、Windows帳號密碼（RDP預設帳密為Microsoft帳密），再點選Save Changes。 點選Reconnect to server，RDP視窗應該會跳出來。此時要切換到Virt Manager的視窗，同意遠端桌面連線。 點選Misc → Create Application menu shortcut，將Cassowary新增至Linux應用程式列表 5. 將Windows應用程式整合到Linux桌面 # 切換到Cassowary的Guest APP頁面，點選要新增的應用程式，點選Add。 之後應用程式捷徑就會出現在Linux應用程式列表，您也可以把他們加到桌面。 只要點一下捷徑，應用程式就會自動開啟。 如果您使用的是KDE，您也可以對檔案按右鍵，把相關檔案格式與對應的Windows軟體相關聯。 Cassowary的Launch On Host頁面可以設定不要用虛擬機應用程式開啟的副檔名，例如設定於Linux檔案管理員點二下.docx檔或.doc檔，改以Linux的LibreOffice開啟。 以上的應用程式都是單獨視窗開啟的。如果想要存取完整Windows桌面：點選Misc → Launch Full RDP session。\n點選Advacned → Enable VM suspend on inactivity讓虛擬機不用時自動暫停。\n6. 共享資料夾 # 進入Folder Mappings頁面，設定要共享的資料夾。 Windows → Linux是把Windows的C槽掛載至Linux上。點選Mount all，Linux即可用檔案管理員存取Windows磁碟檔案。 反之，Linux → Windows則是將Linux的目錄掛載至Windows。預設Cassowary會掛載Linux的根目錄至Windows虛擬機（Windows看到的磁碟機代號會是Z：），以便儲存用虛擬機應用程式開啟的Linux檔案。\n7. 進階：遠端連線到遠端的遠端Windows虛擬機桌面 # 如果帶出去的筆電跑不動虛擬機，就從外部網路連線到家中Linux電腦的虛擬機吧。\n參見用RDP＋ZeroTier存取遠端Linux的Windows虛擬機的桌面設定內網穿透軟體。\n","date":"2023年8月13日","externalUrl":null,"permalink":"/posts/cassowary-for-linux/","section":"所有文章","summary":"本文示範如何在Linux系統，透過Cassowary跑Windows的軟體，例如Microsoft Office 365(Word, Excel, PowerPoint)和Adobe Creative Cloud(Photoshop, Lightroom)系列軟體。\n有些Windows軟體用Linux的Wine也跑不起來，那麼就用「Cassowary」跑吧，讓Windows軟體宛若原生應用程式一樣融入Linux系統。 Linux系統以Cassowary跑Microsoft Word\n1. Cassowary原理 # 「Cassowary」意為鶴鴕，又稱食火雞，這是一種不會飛的鳥，攻擊性很強。不過我覺得作者casualsnek可能是想玩商業版Wine軟體「Crossover」的諧音啦。 Cassowary用的是什麼神奇技術？其實沒什麼，Cassowary的原理為在Linux系統跑一個Windows虛擬機，設定RDP遠端桌面服務，Windows程式跑在Windows虛擬機裡，Cassowary充當RDP的中介，將其整合至Linux桌面環境。\n那這跟手動設定虛擬機RDP再用Remmina存取有何差別？用Cassowary可以簡化存取虛擬機應用程式的過程，Cassowary提供圖形界面開關虛擬機，能夠掃描虛擬機安裝的軟體，將其捷徑新增到Linux桌面，還能與Windows共享資料夾。並且，Cassowary能在不需要虛擬機的時候將其暫停釋放資源。\n","title":"Cassowary：在Linux跑Windows軟體，支援Microsoft Office 365、Adobe Photoshop","type":"posts"},{"content":"Find date and time that Linux was installed.\n想知道Linux電腦的系統究竟安裝多久了，何時安裝的，可以用建立檔案系統的時間下去查詢。這樣可以們估算電腦年齡多久了。\n需要注意的是：這裡我估算的只有軟體年齡，也就是作業系統安裝多久了，並非硬體的年齡，那要用其他方法來讀取。\n1. 透過檔案系統建立時間推敲日期 # Linux作業系統，當然是裝在硬碟上的。假設一個硬碟只裝一個系統，讀取檔案系統建立時間，就能知道這個系統安裝多久了。\n首先要確認檔案系統，透過df- T列出檔案系統類型\n使用lsblk指令，找出root分區所在的硬碟，通常是/dev/sda或者/dev/nvme0\nlsblk 如果檔案系統是EXT4，用tune2fs指令檢查root分區，檢查Filesystem created的數值 sudo tune2fs -l /dev/sda2 | grep \u0026#34;Filesystem created\u0026#34; 範例輸出 如果檔案系統是BTRFS，就用btrfs subvolume show指令，後面要接上掛載點路徑 sudo btrfs subvolume show / 範例輸出 2. 使用stat指令 # 用stat /指令可以看確切安裝時間，但是它只能讀取掛載點，不能針對區塊裝置。 ","date":"2023年8月10日","externalUrl":null,"permalink":"/posts/check-when-linux-was-installed/","section":"所有文章","summary":"Find date and time that Linux was installed.\n想知道Linux電腦的系統究竟安裝多久了，何時安裝的，可以用建立檔案系統的時間下去查詢。這樣可以們估算電腦年齡多久了。\n需要注意的是：這裡我估算的只有軟體年齡，也就是作業系統安裝多久了，並非硬體的年齡，那要用其他方法來讀取。\n1. 透過檔案系統建立時間推敲日期 # Linux作業系統，當然是裝在硬碟上的。假設一個硬碟只裝一個系統，讀取檔案系統建立時間，就能知道這個系統安裝多久了。\n首先要確認檔案系統，透過df- T列出檔案系統類型\n使用lsblk指令，找出root分區所在的硬碟，通常是/dev/sda或者/dev/nvme0\nlsblk 如果檔案系統是EXT4，用tune2fs指令檢查root分區，檢查Filesystem created的數值 sudo tune2fs -l /dev/sda2 | grep \"Filesystem created\" 範例輸出 如果檔案系統是BTRFS，就用btrfs subvolume show指令，後面要接上掛載點路徑 sudo btrfs subvolume show / 範例輸出 2. 使用stat指令 # 用stat /指令可以看確切安裝時間，但是它只能讀取掛載點，不能針對區塊裝置。 ","title":"查詢Linux系統是何時安裝、最初安裝日期的指令","type":"posts"},{"content":"本文示範Distrobox的其中一種用途：幹其他發行版的套件來用並與桌面環境整合，例如在Ubuntu使用pacman安裝Arch Linux的套件。\n目標：在Ubuntu宿主機，使用Arch Linux容器，安裝AUR獨有的特製版MPV，配合VapourSynth MVTools補幀影片。在那之後，將容器裡安裝的MPV匯出到桌面，供宿主機無縫使用。 影片版解說\n1. 目標說明 # AUR(Arch User Repository)是Arch Linux官方儲存庫以外的重要套件補充來源，套件庫收錄許多實用與第三方修改過的套件，使用者可從此處取得許多專有軟體。若某AUR套件投票夠熱門則該套件就能進入官方儲存庫。\n實際上AUR網站並無收錄真的套件，提供的是編譯指令碼(PKGBUILD)，用戶下載AUR的儲存庫後，使用指令makepkg，系統即會自動按照PKGBUILD所寫內容，建置應用程式。由於此一特性，AUR得以收錄許多發行版無法打包，需要手動編譯的軟體。\n本文要安裝的軟體「特製版MPV」之所以叫特製版，是由於大多數發行版在編譯MPV時並未啟用VapourSynth，所以Ubuntu要使用VapourSynth就得手動重新編譯MPV；Arch Linux則是有寫好的AUR套件能大幅簡化編譯流程。\n若採用Ubuntu手動編譯，則未來更新不方便，安裝至系統亦很難解除安裝，編譯又會裝一堆多餘的依賴套件。故採用將MPV裝在Arch Linux容器內部的作法，依賴套件只會影響容器本身。在編譯好後將MPV暴露給主機使用。\n2. 建立Arch Linux容器 # 安裝Distrobox\n建立使用Nvidia的Arch Linux容器，設定家目錄為~/distrobox/archlinux\ndistrobox create --name archlinux --image archlinux --home ~/distrobox/archlinux --nvidia distrobox enter archlinux 安裝yay套件管理器，用於管理AUR套件 sudo pacman -Syy sudo pacman -S --needed git base-devel git clone https://aur.archlinux.org/yay-bin.git cd yay-bin sudo makepkg -si 3. 安裝mpv-vapoursynth # 安裝mpv-vapoursynth-git yay -S mpv-vapoursynth-git 安裝vapoursynth-plugin-mvtools sudo pacman -S vapoursynth-plugin-mvtools 參考MVTools一文的說明，建立播放設定檔。由於我容器家目錄設定在~/distrobox/archlinux，所以.config/mpv等相關目錄要放在此。 將MPV匯出至宿主機\ndistrobox-export --app mpv MPV的dekstop檔案/home/user/.local/share/applications/archlinux-mpv.desktop可能要改成下述內容才能正常開啟 Exec=/home/user/.local/bin/distrobox-enter -n archlinux -- mpv --player-operation-mode=pseudo-gui 自此桌面環境便可啟動容器內的MPV 如果部份程式需要用到二進位檔(如mpv-handler)，則將容器的MPV二進位檔匯出至~/.local/bin。雖然匯出的二進位檔實際是一個shell指令稿，但跟一般應用程式沒二樣，MPV照樣可以接受傳入的參數。\ndistrobox-export --bin /usr/bin/mpv --export-path /home/user/.local/bin /home/user/.local/bin/mpv的檔案內容應該改成如下才能正常以指令播放影片 exec \u0026#34;/home/user/.local/bin/distrobox-enter\u0026#34; -n archlinux -- /usr/bin/mpv --player-operation-mode=pseudo-gui \u0026#34;$@\u0026#34; 再將該路徑加入PATH，若宿主機有裝MPV，在這裡因容器路徑在前，會優先以容器的MPV來播放。 echo \u0026#34;PATH=~/.local/bin:$PATH\u0026#34; \u0026gt;\u0026gt; /home/user/.bashrc source .bashrc ","date":"2023年8月8日","externalUrl":null,"permalink":"/posts/distrobox-tip-aur-on-ubuntu/","section":"所有文章","summary":"本文示範Distrobox的其中一種用途：幹其他發行版的套件來用並與桌面環境整合，例如在Ubuntu使用pacman安裝Arch Linux的套件。\n目標：在Ubuntu宿主機，使用Arch Linux容器，安裝AUR獨有的特製版MPV，配合VapourSynth MVTools補幀影片。在那之後，將容器裡安裝的MPV匯出到桌面，供宿主機無縫使用。 影片版解說\n1. 目標說明 # AUR(Arch User Repository)是Arch Linux官方儲存庫以外的重要套件補充來源，套件庫收錄許多實用與第三方修改過的套件，使用者可從此處取得許多專有軟體。若某AUR套件投票夠熱門則該套件就能進入官方儲存庫。\n實際上AUR網站並無收錄真的套件，提供的是編譯指令碼(PKGBUILD)，用戶下載AUR的儲存庫後，使用指令makepkg，系統即會自動按照PKGBUILD所寫內容，建置應用程式。由於此一特性，AUR得以收錄許多發行版無法打包，需要手動編譯的軟體。\n本文要安裝的軟體「特製版MPV」之所以叫特製版，是由於大多數發行版在編譯MPV時並未啟用VapourSynth，所以Ubuntu要使用VapourSynth就得手動重新編譯MPV；Arch Linux則是有寫好的AUR套件能大幅簡化編譯流程。\n","title":"Distrobox使用例探討：在Ubuntu安裝Arch Linux AUR的套件","type":"posts"},{"content":"如果覺得一般影串流網站的觀影體驗不夠好，何不將串流影片丟給本機播放器播放，藉由自訂特效提昇觀看效果呢。\n本文Ivon將介紹如何在Linux系統設定\u0026quot;play in MPV\u0026quot;方案，將網頁播放的影片即時傳遞給MPV播放。\n這樣做有何好處？比如木棉花Youtube上傳的一些老舊動畫只有720p，將其餵給MPV，配合Anime4K與MVTools讓影片畫質更上一層樓。 已經嘗試過的MPV播放方案 # 本文Ivon選用的方案是Akatsuki Rui開發的MPV Handler，以TamperMonkey指令稿跟本機的MPV Handler程式溝通，將網頁的影片傳送給MPV開啟，還可以將cookie傳給MPV，播放需要登入才能觀看的影片。指令稿部份支援Firefox與Chrome瀏覽器，MPV Handler程式支援Linux/Windows/macOS。\n至於為什麼不採用其他方案\u0026hellip;\nLuckyPuppy514的指令稿Play-With-MPV，支援Youtube、Bilibili、巴哈姆特動畫瘋，不過似乎是寫死給Windows用的，我用Linux的MPV無法解碼串流。\nLeonardo Baldin的open-in-mpv原理跟MPV Handler類似，差別在於以擴充元件形式提供。我測試可以用，不過不支援讀取cookie，失敗。\n這些方案支援的串流網站很多，其中Youtube和Bilibili是最好解決的，可是巴哈姆特動畫瘋找不到合適的串流播放辦法，所以只好不串流，改用AniGamerPlus直接將整部動畫下載來看囉（那就不叫串流了啊喂）。\n1. 安裝MPV Handler程式 # MPV Handler是透過XDG Mime Apps方式啟動的，所以瀏覽器端建議使用原生deb套件，不要使用Snap或Flatpak版本。\n於Firefox或者Chrome瀏覽器安裝TamperMonkey。因為Manifest V3的限制，Chrome在安裝後還要到擴充功能頁面開啟開發人員模式，TamperMonkey指令稿才能作用。\n再安裝使用MPV播放的指令稿\n下載MPV Handler執行檔。解壓縮，將執行檔放到~/.local/bin，將該路徑加入至PATH\nunzip mpv-handler-linux-amd64.zip cd mpv-handler-linux-amd64 chmod +x mpv-handler mv mpv-handler ~/.local/bin/ echo \u0026#34;PATH=$PATH:~/.local/bin/\u0026#34; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 將mpv-handler.desktop放到~/.local/share/applications/ mv mpv-handler.desktop ~/.local/share/applications/ 執行此指令，設定預設xdg-open的開啟程式為mpv handler xdg-mime default mpv-handler.desktop x-scheme-handler/mpv xdg-mime default mpv-handler-debug.desktop x-scheme-handler/mpv-debug 在Linux系統安裝MPV與ytdlp\n(選擇性) 建立MPV Handler的設定檔~/.config/mpv-handler/config.toml，指定MPV與yt-dlp二進位檔路徑。\n# 使用which mpv確認 mpv = \u0026#34;/usr/bin/mpv\u0026#34; # 使用which yt-dlp確認 ytdl = \u0026#34;/usr/bin/yt-dlp\u0026#34; 2. 支援播放影片的網站 # MPV Handler支援播放所有yt-dlp能解析的網站。\n進入要播放影片的頁面，左下角會有MPV按鈕 按下去同意開啟連結。（如果瀏覽器是Flatpak可能會跳出XDG Portal，此時請嘗試選取mpv-handler） 播放Bilibili時很順暢，不過沒有彈幕 Youtube會自動選取最佳畫質 Youtube還可以拿來看直播 3. 傳遞瀏覽器cookie給MPV的方法 # 有些網站需要會員登入才能觀看影片，例如Youtube私人影片、Bilibili番劇。\n安裝能匯出cookie的擴充元件，例如Firefox用cookies.txt\n進入Youtube，按餅乾按鈕，點選Current Size，下載txt\n將txt重新命名為www.youtube.com.txt（就是以網域名稱當檔名），將檔案放到~/.config/mpv-handler/cookies\n播放影片前點選Try Pass Cookie，設定為Yes ","date":"2023年8月8日","externalUrl":null,"permalink":"/posts/mpv-handler-linux/","section":"所有文章","summary":"如果覺得一般影串流網站的觀影體驗不夠好，何不將串流影片丟給本機播放器播放，藉由自訂特效提昇觀看效果呢。\n本文Ivon將介紹如何在Linux系統設定\"play in MPV\"方案，將網頁播放的影片即時傳遞給MPV播放。\n這樣做有何好處？比如木棉花Youtube上傳的一些老舊動畫只有720p，將其餵給MPV，配合Anime4K與MVTools讓影片畫質更上一層樓。 已經嘗試過的MPV播放方案 # 本文Ivon選用的方案是Akatsuki Rui開發的MPV Handler，以TamperMonkey指令稿跟本機的MPV Handler程式溝通，將網頁的影片傳送給MPV開啟，還可以將cookie傳給MPV，播放需要登入才能觀看的影片。指令稿部份支援Firefox與Chrome瀏覽器，MPV Handler程式支援Linux/Windows/macOS。\n至於為什麼不採用其他方案…\nLuckyPuppy514的指令稿Play-With-MPV，支援Youtube、Bilibili、巴哈姆特動畫瘋，不過似乎是寫死給Windows用的，我用Linux的MPV無法解碼串流。\nLeonardo Baldin的open-in-mpv原理跟MPV Handler類似，差別在於以擴充元件形式提供。我測試可以用，不過不支援讀取cookie，失敗。\n這些方案支援的串流網站很多，其中Youtube和Bilibili是最好解決的，可是巴哈姆特動畫瘋找不到合適的串流播放辦法，所以只好不串流，改用AniGamerPlus直接將整部動畫下載來看囉（那就不叫串流了啊喂）。\n","title":"提昇影片播放效果 ～ Linux用MPV Handler播放瀏覽器的Bilibili、Youtube、巴哈動畫瘋串流影片","type":"posts"},{"content":"本文解說Ubuntu Linux遇到Wifi無線網路卡插入電腦USB沒反應的時候，可以嘗試的步驟。\nIvon的桌上型電腦，跑Ubuntu，內建的網路卡收訊不好，想給他裝個外接網路卡，於是在台南市北門路買了Wifi與藍芽二合一的網路卡。\n正確來講，Ivon應該要買明確寫支援Linux的網路卡才對\u0026hellip;但是實體通路選擇真的不多，所以隨便挑了一個。\n品名: \u0026ldquo;Dual Band + Bluetooth USB Adapter\u0026rdquo;，看它有二個天線，收訊應該很好吧。 插入電腦果然沒反應。儘管製造商宣稱隨插即用，但不意外地只支援Windows和macOS。Linux支援情況不明。光碟裡面附的Linux驅動程式不知道是幾百年前的版本，Ubuntu也沒有打包這個驅動的套件。在這種情況下，就得賭賭看是否有熱心開發者提供Linux驅動程式了。只要能找到硬體名稱就能安裝驅動套件或者編譯驅動，再載入核心模組(kernel module)，就可以使用該網路卡。\n首先用指令查看網路卡具體硬體型號，然後再下載驅動程式編譯安裝。\n1. 如何查看網路卡型號 # 這個網路卡的外包裝也真夠怪的，沒有品牌和製造商資訊，只有光碟寫\u0026quot;RTL190CT\u0026quot;，找不到相關資料。\n不過，只要電腦USB連接埠沒壞，插上電腦Linux一定會抓到USB裝置。\n用以下指令查詢確切型號，執行lsusb。接著會列出連接的USB裝置。 Bus 001 Device 002: ID 0bda:b82c Realtek Semiconductor Corp. 802.11ac NIC 從後面輸出訊息知道此網路卡晶片是Realtek生產的，Bus 001後面的硬體ID 0bda:b82c 拿去Google。\n在WikiDevi找到了這個網卡的具體型號：Realtek RTL8822BU，也就是RTL88x2BU。然後發現了什麼年代了還在用藍牙4.0，操。 2. 安裝網路卡驅動程式 # 根據RinCat/RTL88x2BU-Linux-Driver解說，RTL8822BU網路卡的驅動有進入主線Linux核心了，核心驅動名為rtw88_8822bu。\nUbuntu 26.04以上版本應該有支援RTL8822BU的驅動，應該直接插上就可以用了。不需要手動編譯。開啟Ubunbu的系統設定 → Wifi與網路連線。\n（以下為舊版資訊）\n如果系統偵測不到驅動，或者上述的驅動不穩定，這個時候就只能找樹外(out of tree)的驅動了！Ivon在Github找到了熱心開發者morrownr維護的驅動程式，支援RTL8812BU與RTL8822BU晶片。需要編譯後透過DKMS安裝。\nUbuntu需安裝編譯工具 sudo apt update sudo apt install dkms git build-essential 建立工作目錄 mkdir -p ~/src cd src 複製指令稿，以DKMS安裝。這樣Wifi驅動會跟著Linux核心自動更新，日後不需要手動編譯。 git clone https://github.com/morrownr/88x2bu-20210702.git cd ~/src/88x2bu-20210702 sudo ./install-driver.sh 剩下問題選項輸入No，重開機。\n點選Ubunbu的系統設定 → Wifi與網路，應該能開啟網路了。\n如果要保險一點，可以用終端機nmcli指令確認網路卡是否有真的啟用。用sudo ip addr列出所有網路卡，應該會偵測到Realtek的無線網卡：\nwlx1cbfcee3712a: flags=4099\u0026lt;UP,BROADCAST,MULTICAST\u0026gt; mtu 1500 ether 1c:bf:ce:e3:71:2a txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 啟用網卡 sudo ip link set dev wlx1cbfcee3712a up 利用nmcli掃描附近的Wifi sudo nmcli device wifi list ifname wlx1cbfcee3712a 連線到Wifi sudo nmcli device wifi connect \u0026#34;WIFI名稱\u0026#34; password \u0026#34;密碼\u0026#34; ifname \u0026#34;wlx1cbfcee3712a\u0026#34; 設定開機自動連線 sudo nmcli device set \u0026#34;wlx1cbfcee3712a\u0026#34; autoconnect yes ","date":"2023年8月6日","externalUrl":null,"permalink":"/posts/ubuntu-install-rtl8822bu-wireless-driver/","section":"所有文章","summary":"本文解說Ubuntu Linux遇到Wifi無線網路卡插入電腦USB沒反應的時候，可以嘗試的步驟。\nIvon的桌上型電腦，跑Ubuntu，內建的網路卡收訊不好，想給他裝個外接網路卡，於是在台南市北門路買了Wifi與藍芽二合一的網路卡。\n正確來講，Ivon應該要買明確寫支援Linux的網路卡才對…但是實體通路選擇真的不多，所以隨便挑了一個。\n品名: “Dual Band + Bluetooth USB Adapter”，看它有二個天線，收訊應該很好吧。 插入電腦果然沒反應。儘管製造商宣稱隨插即用，但不意外地只支援Windows和macOS。Linux支援情況不明。光碟裡面附的Linux驅動程式不知道是幾百年前的版本，Ubuntu也沒有打包這個驅動的套件。在這種情況下，就得賭賭看是否有熱心開發者提供Linux驅動程式了。只要能找到硬體名稱就能安裝驅動套件或者編譯驅動，再載入核心模組(kernel module)，就可以使用該網路卡。\n首先用指令查看網路卡具體硬體型號，然後再下載驅動程式編譯安裝。\n1. 如何查看網路卡型號 # 這個網路卡的外包裝也真夠怪的，沒有品牌和製造商資訊，只有光碟寫\"RTL190CT\"，找不到相關資料。\n","title":"Ubuntu如何安裝Wifi無線網路卡驅動程式，以Realtek RTL8822BU為例","type":"posts"},{"content":"註解：本文為Linux Host對Linux Guest，Linux Host對Windows Guest的請看此篇\nLooking Glass這款程式可以搭配Windows虛擬機低延遲的玩遊戲，其畫面傳輸效率要比QXL高很多，那Linux虛擬機可不可以也用這款來提供給實體機存取畫面呢？答案是可以。\n這樣的話，就能在Linux系統的Linux虛擬機玩3D遊戲了。 儘管支援Linux虛擬機不是Looking Glass開發者的優先選項，開發者還是做了一個基本能在Linux虛擬機跑Looking Glass Host的程式，透過核心模組的方式，讓虛擬機與實體機存取共享記憶體（IVSHMEM）。\n實際操作影片，在虛擬機玩《SuperTuxKart》，中等畫質下大多數時候都有60FPS。 如果單純只是要跑CUDA，在虛擬機直通GPU後指令就認得到Nvidia顯示卡了，為何還要使用Looking Glass？老實說我也沒什麼太好的理由。我可以想到的好處，大概就是將GPU直通給Ubuntu虛擬機的話，裡面再跑個Waydroid，用Looking Glass存取，遊戲效能總比virglrednerer要好，可跟Scrcpy一較高下。這樣還能繞過Waydroid不支援Nvidia的問題，畢竟他是跑在虛擬機裡面嘛（不過這樣就得改直通Intel/AMD顯示卡了，Nvidia跟Waydroid有仇）。直接裝Android-x86虛擬機不可行是因為Looking Glass需要looking-glass-host執行在系統來輸出畫面。\n1. 環境 # Host OS：Arch Linux 6.4.7 Libvirt版本：9.5.0 QEMU版本：8.0.4 GPU1：Intel HD630 GPU2：Nvidia GTX1050Ti (要直通的) Guest OS：Ubuntu 22.04 LTS Looking Glass的Client和Host皆需採用最新版編譯，否則會拒絕連線。\n2.前置作業 # 參考Linux Geust GPU直通，建立Ubuntu虛擬機，並將Nvidia顯示卡直通給虛擬機。\n本電腦有二個GPU，各接一個螢幕（先不要拿HDMI欺騙器出來），在獨顯直通之後使用內顯顯示畫面。\n1. Linux實體機(Arch)要做的事情 # 編譯最新版Looking Glass Client。Arch Linux可從AUR自動編譯安裝 yay -S looking-glass-client 以DKMS裝載Looking Glass的kvmfb核心模組 sudo pacman -S dkms git clone https://github.com/gnif/LookingGlass.git cd LookingGlass/module sudo dkms install \u0026#34;.\u0026#34; 設定kvmfr的存取權限 su echo \u0026#39;SUBSYSTEM==\u0026#34;kvmfr\u0026#34;, OWNER=\u0026#34;user\u0026#34;, GROUP=\u0026#34;kvm\u0026#34;, MODE=\u0026#34;0660\u0026#34;\u0026#39; \u0026gt;\u0026gt; /etc/udev/rules.d/99-kvmfr.rules 設定開機自動載入kvmfr核心模組 su echo \u0026#34;kvmfr static_size_mb=32\u0026#34; \u0026gt;\u0026gt; /etc/modprobe.d/kvmfr.conf 重開機。 2. Linux虛擬機(Ubuntu)要做的事情 # 安裝編譯所需套件 sudo apt-get install binutils-dev cmake fonts-dejavu-core libfontconfig-dev \\ gcc g++ pkg-config libegl-dev libgl-dev libgles-dev libspice-protocol-dev \\ nettle-dev libx11-dev libxcursor-dev libxi-dev libxinerama-dev \\ libxpresent-dev libxss-dev libxkbcommon-dev libwayland-dev wayland-protocols \\ libpipewire-0.3-dev libpulse-dev libsamplerate0-dev libxcb-xfixes0-dev 編譯Looking Glass Host。編譯後的執行檔位於host/build/looking-glass-host cd ~ git clone https://github.com/gnif/LookingGlass.git cd LookingGlass mkdir host/build cd host/build cmake .. make 裝載kvmfr核心模組 sudo apt install dkms cd LookingGlass/module sudo dkms install \u0026#34;.\u0026#34; 設定kvmfr權限，設定虛擬機開機自動載入kvmfr su echo \u0026#39;SUBSYSTEM==\u0026#34;kvmfr\u0026#34;, OWNER=\u0026#34;user\u0026#34;, GROUP=\u0026#34;kvm\u0026#34;, MODE=\u0026#34;0660\u0026#34;\u0026#39; \u0026gt;\u0026gt; /etc/udev/rules.d/99-kvmfr.rules echo \u0026#34;kvmfr static_size_mb=32\u0026#34; \u0026gt;\u0026gt; /etc/modprobe.d/kvmfr.conf 將虛擬機關機，編輯XML，將\u0026lt;domain type=\u0026quot;kvm\u0026quot;\u0026gt;修改為\u0026lt;domain xmlns:qemu=\u0026quot;http://libvirt.org/schemas/domain/qemu/1.0\u0026quot; type=\u0026quot;kvm\u0026quot;\u0026gt;\n在\u0026lt;/domain\u0026gt;上方加入QEMU的指令\n\u0026lt;qemu:commandline\u0026gt; \u0026lt;qemu:arg value=\u0026#39;-device\u0026#39;/\u0026gt; \u0026lt;qemu:arg value=\u0026#39;{\u0026#34;driver\u0026#34;:\u0026#34;ivshmem-plain\u0026#34;,\u0026#34;id\u0026#34;:\u0026#34;shmem0\u0026#34;,\u0026#34;memdev\u0026#34;:\u0026#34;looking-glass\u0026#34;}\u0026#39;/\u0026gt; \u0026lt;qemu:arg value=\u0026#39;-object\u0026#39;/\u0026gt; \u0026lt;qemu:arg value=\u0026#39;{\u0026#34;qom-type\u0026#34;:\u0026#34;memory-backend-file\u0026#34;,\u0026#34;id\u0026#34;:\u0026#34;looking-glass\u0026#34;,\u0026#34;mem-path\u0026#34;:\u0026#34;/dev/kvmfr0\u0026#34;,\u0026#34;size\u0026#34;:33554432,\u0026#34;share\u0026#34;:true}\u0026#39;/\u0026gt; \u0026lt;/qemu:commandline\u0026gt; 編輯Libvirt的QEMU設定檔/etc/libvirt/qemu.conf，取消註解cgroup_device_acl ，將kvmfr加入至cgroups： cgroup_device_acl = [ \u0026#34;/dev/null\u0026#34;, \u0026#34;/dev/full\u0026#34;, \u0026#34;/dev/zero\u0026#34;, \u0026#34;/dev/random\u0026#34;, \u0026#34;/dev/urandom\u0026#34;, \u0026#34;/dev/ptmx\u0026#34;, \u0026#34;/dev/kvm\u0026#34;, \u0026#34;/dev/kvmfr0\u0026#34; ] 重新啟動Libvirt服務 sudo systemctl restart libvirtd 3. 以Looking Glass連線到虛擬機 # 此時電腦插著的是二個實體螢幕。\n虛擬機開機，滑鼠切換到Nvidia顯示卡所接的螢幕，啟動Looking Glass Host程式。 cd ~/LookingGlass/host/build ./looking-glass-host -f /dev/kvmfr0 在啟動此程式之後，電腦第二個螢幕便可拔掉，更換為HDMI欺騙器了。\n回到實體機，啟動Looking Glass Client\nlooking-glass-client -f /dev/kvmfr0 -k 即會看到虛擬機Nvidia顯示卡輸出的畫面，這個畫面所執行的應用程式都能吃到Nvidia的GPU加速。 若嫌滑鼠反應慢，準備二支滑鼠。開啟Virt Manager編輯硬體，將USB滑鼠直通進去。\n參考資料 # Building — Looking Glass B6 documentation Kernel Module — Looking Glass B6 documentation Running looking-glass-host in a linux guest vm - Level One Techs Unable to passthrough GPU to Linux guest - any tips? : r/VFIO ","date":"2023年8月1日","externalUrl":null,"permalink":"/posts/looking-glass-host-for-linux/","section":"所有文章","summary":"註解：本文為Linux Host對Linux Guest，Linux Host對Windows Guest的請看此篇\nLooking Glass這款程式可以搭配Windows虛擬機低延遲的玩遊戲，其畫面傳輸效率要比QXL高很多，那Linux虛擬機可不可以也用這款來提供給實體機存取畫面呢？答案是可以。\n這樣的話，就能在Linux系統的Linux虛擬機玩3D遊戲了。 儘管支援Linux虛擬機不是Looking Glass開發者的優先選項，開發者還是做了一個基本能在Linux虛擬機跑Looking Glass Host的程式，透過核心模組的方式，讓虛擬機與實體機存取共享記憶體（IVSHMEM）。\n實際操作影片，在虛擬機玩《SuperTuxKart》，中等畫質下大多數時候都有60FPS。 如果單純只是要跑CUDA，在虛擬機直通GPU後指令就認得到Nvidia顯示卡了，為何還要使用Looking Glass？老實說我也沒什麼太好的理由。我可以想到的好處，大概就是將GPU直通給Ubuntu虛擬機的話，裡面再跑個Waydroid，用Looking Glass存取，遊戲效能總比virglrednerer要好，可跟Scrcpy一較高下。這樣還能繞過Waydroid不支援Nvidia的問題，畢竟他是跑在虛擬機裡面嘛（不過這樣就得改直通Intel/AMD顯示卡了，Nvidia跟Waydroid有仇）。直接裝Android-x86虛擬機不可行是因為Looking Glass需要looking-glass-host執行在系統來輸出畫面。\n1. 環境 # Host OS：Arch Linux 6.4.7 Libvirt版本：9.5.0 QEMU版本：8.0.4 GPU1：Intel HD630 GPU2：Nvidia GTX1050Ti (要直通的) Guest OS：Ubuntu 22.04 LTS Looking Glass的Client和Host皆需採用最新版編譯，否則會拒絕連線。\n","title":"Looking Glass Host for Linux，Linux實體機GPU直通給Linux虛擬機玩遊戲 ","type":"posts"},{"content":"將Linux實體機的GPU直通給Linux虛擬機(VM)，使其可以使用GPU硬體加速、跑機器學習計算等工作。\n為什麼要這麼幹？我使用Arch Linux，有時候Nvidia驅動＋CUDA版本跟特定Pytorch程式對不上，AUR也無法解決的情況下，就是找個官方推薦的環境跑CUDA囉，例如Ubuntu LTS版。\n其實虛擬機要GPU硬體加速也可以用Virtio顯示卡搭配Virglrenderer。不過該技術僅適用Intel/AMD GPU，且Ubuntu的Virglrenderer效能不若Android-x86那樣好，所以我還是用GPU直通。\nLinux實體機將Nvidia GTX1050Ti直通給虛擬機後，即改用Intel CPU的內顯輸出螢幕訊號，而虛擬機不外接實體螢幕也能調用GPU執行應用程式。\n1. 環境 # Host OS：Arch Linux 6.4.7 GPU1 Intel HD630 GPU2 Nvidia GTX1050Ti (要直通的) Guest OS：Ubuntu 22.04 LTS 虛擬機軟體為Libvirt 9.5.0 ＋ QEMU/KVM 8.0.4\n結構如圖，本電腦有二個GPU，才能在獨顯直通之後使用內顯顯示畫面。 2. 直通GPU # 參考Arch Linux如何將GPU直通給Windows QEMU/KVM虛擬機\n那篇雖是給Windows的，但是大方向一樣：建立一個Ubuntu虛擬機。禁止實體機開機載入Nvidia核心模組，將其綁給vfio-pci，並將PCI裝置掛載至Ubuntu虛擬機。\n安裝QEMU/KVM與Virt Manager\n下載Ubuntu 22.04 ISO。開啟Virt Manager，新增Ubuntu虛擬機，自訂硬體配置，機器選Q35，韌體選擇UEFI (OVMF_CODE_secboot)。安裝系統完成後關機。\n在GRUB啟用IOMMU\nsudo vim /etc/default/grub # 修改這行：GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;intel_iommu=on\u0026#34; sudo grub-mkconfig -o /boot/grub/grub.cfg 重開機，用lscpci --nnk查找Nvidia顯示卡硬體ID。再編輯GRUB，將Nvidia顯示卡綁給vfio-pci GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;intel_iommu=on video=efifb:off vfio-pci.ids=10de:1c82,10de:0fb9\u0026#34; 編輯/etc/mkinitcpio.conf，設定開機載入vfio核心模組 MODULES=(vfio_pci vfio vfio_iommu_type1) 編輯/etc/modprobe.d/blacklist.conf，設定開機禁止載入Nvidia核心模組 blacklist nvidia blacklist nouveau 重新生成initramfs與GRUB sudo rm /etc/X11/xorg.conf sudo mkinitcpio -p linux sudo grub-mkconfig -o /boot/grub/grub.cfg 重開機進入BIOS，設定電腦優先以內顯開機。\n開啟Virt Manager，編輯Ubuntu虛擬機硬體，點選加入PCI裝置，選取Nvidia顯示卡和音訊。\n3. 虛擬機安裝Nvidia驅動與CUDA # 參考Ubuntu 22.04安裝Nvidia驅動\n據說Nvidia舊版本驅動會偵測是否為虛擬機，所以得隱藏KVM狀態，但現在看來不需要了。\n用nvidia-smi測試輸出驅動版本為530 nvcc -v輸出版本為CUDA 11.8。 Blender確認能夠使用CUDA渲染 4. 使用Nvidia PRIME切換GPU # 即使虛擬機可以使用CUDA了，因目前主螢幕是用QXL，執行3D應用程式還是可能只用軟體解碼渲染，導致性能低下 prime-select指令行不通，因為沒有內顯。這時可以用PRIME環境變數使用Nvidia GPU執行應用程式。\n__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json firefox-esr 詭異的是Snap版Firefox可以跑滿60FPS，但隨即桌面環境整個崩潰。而Firefox ESR雖不會崩潰，但是FPS無法跑滿。 🤷 這就是為什麼我不用Snap的原因(小聲) 5. 低延遲存取Ubuntu桌面 # 跟Windows不同，Ubuntu似乎不會把QXL當一個有效螢幕，無法雙螢幕。如果要完全用Nvidia顯示卡輸出畫面，就得將QXL移除，接真正的第二個螢幕。這樣應用程式才會完全用Nvidia顯示卡渲染畫面。\n如果只有一個螢幕，又想要低延遲存取Nvidia渲染的畫面，請參閱Looking Glass Host for Linux教學\n","date":"2023年8月1日","externalUrl":null,"permalink":"/posts/libvirt-linux-guest-nvidia-gpu-passthrough/","section":"所有文章","summary":"將Linux實體機的GPU直通給Linux虛擬機(VM)，使其可以使用GPU硬體加速、跑機器學習計算等工作。\n為什麼要這麼幹？我使用Arch Linux，有時候Nvidia驅動＋CUDA版本跟特定Pytorch程式對不上，AUR也無法解決的情況下，就是找個官方推薦的環境跑CUDA囉，例如Ubuntu LTS版。\n其實虛擬機要GPU硬體加速也可以用Virtio顯示卡搭配Virglrenderer。不過該技術僅適用Intel/AMD GPU，且Ubuntu的Virglrenderer效能不若Android-x86那樣好，所以我還是用GPU直通。\nLinux實體機將Nvidia GTX1050Ti直通給虛擬機後，即改用Intel CPU的內顯輸出螢幕訊號，而虛擬機不外接實體螢幕也能調用GPU執行應用程式。\n1. 環境 # Host OS：Arch Linux 6.4.7 GPU1 Intel HD630 GPU2 Nvidia GTX1050Ti (要直通的) Guest OS：Ubuntu 22.04 LTS 虛擬機軟體為Libvirt 9.5.0 ＋ QEMU/KVM 8.0.4\n結構如圖，本電腦有二個GPU，才能在獨顯直通之後使用內顯顯示畫面。 2. 直通GPU # 參考Arch Linux如何將GPU直通給Windows QEMU/KVM虛擬機\n","title":"QEMU/KVM虛擬機Nvidia雙GPU直通，Linux Host對Linux Guest","type":"posts"},{"content":"Linux系統雖在Steam Proton的支援下，能玩的Windows遊戲數目大幅增加，然而仍有許多遊戲和程式無法用Proton執行，必須得用Windows虛擬機跑。\n本文Ivon將討論在Linux系統跑Windows虛擬機的方法。於虛擬機啟用硬體加速，順暢低延遲的玩遊戲。\n設定過程不雙重開機，不接第二個螢幕，不準備二個滑鼠，不登出目前的使用者，直接在單一螢幕的Linux桌面環境操作Windows。\n使用例1：在虛擬機玩Windows專屬的Minecraft基岩版 使用例2：在虛擬機低延遲看高畫質影片\n在英文圈，本文使用的技術可以概括的稱為\u0026quot;VFIO Gaming on Linux\u0026quot;。\n以下為實際啟動過程的演示影片 1. 安裝前先論破 # 為什麼不雙重開機就好？雙系統會影響穩定度，例如Windows更新有機率弄壞GRUB(雖然Arch也會自己弄壞就是了)。另，我不想讓Windows觸碰到我的系統，且虛擬機彈性大，方便備份。\nGPU直通，乃利用Linux核心的VFIO功能，讓虛擬機存取實體顯示卡(GPU)，增進圖形效能。GPU直通目前只有QEMU/KVM虛擬機技術支援。由於是直通給Windows虛擬機，不論顯示卡品牌為何，Windows應該都抓得到驅動。\n此外，透過Libvirt的指令，虛擬機在關機後可解除綁定VFIO，將顯示卡「還給」host使用。\n螢幕問題 # 畫面部份，在GPU直通後，Virt Manager的QXL圖形效能僅是尚可，無法低延遲顯示Windows畫面，要玩遊戲或影片剪輯的話根本不敷需求，故我們要採用其他技術。\n接兩個螢幕是最簡單的作法，畫面效率最高。不過我只想放一個螢幕，第二個螢幕插入HDMI欺騙器代替使顯示卡正常運作。在這樣的配置下，最終選用\u0026quot;Looking Glass\u0026quot;顯示Windows畫面，，它使用共享記憶體(IVSHMEM)繪製緩衝區，從而達到幾乎無延遲的畫面顯示效果。\nLooking Glass的伺服端只適用Windows，客戶端則是支援Linux/Windows/macOS。\n為何不裝Moonlight然後遠端存取？Moonlight太吃系統的GPU資源，除非您真的有「遠端玩虛擬機遊戲」的需求再裝。至於Windows RDP，那是遠端桌面，用途不一樣。\n音訊問題 # 音訊部份有3個方案：Looking Glass內建的SPICE、Scream、PulseAudio。\nScream是一款虛擬音效卡程式，該程式會在Windows虛擬出一個音效輸出裝置，Linux Host再跑一個接收器來接受音訊。儘管Scream延遲最低，可是安裝有點複雜，最新版我還遇到驅動簽名過期的問題。\nPulseAudio延遲跟SPICE半斤八兩，所以我採用SPICE，它可以讓虛擬機存取實體機的喇叭和麥克風，但延遲就不太樂觀。\n其實，你還可以考慮音效卡直通的做法，買個USB音效卡，直通給虛擬機用就沒有延遲問題了。\n2. 環境 # 雖然這裡寫Arch Linux，但我測試Ubuntu 22.04環境一樣可以用。\nCPU：Intel I5-7400 GPU：Intel UHD 630 GPU：Nvidia GTX-1050Ti SSD：1TB Host OS：Arch Linux Guest OS：Windows 11 22H2 Host OS桌面環境：KDE Plasma X11 Host OS音訊伺服器：Pipewire QEMU版本：8.0.2 雖是雙GPU直通，但電腦只有一個螢幕，為了讓另一個直通給虛擬機的GPU正常運作，我購置了「HDMI欺騙器」插在獨顯上，使其能在虛擬機裡面正常運作。\n使用HDMI顯卡欺騙器前務必先裝好Nvidia驅動，以及設定Looking Glass開機自動啟動。可以先用實體雙螢幕方案，確認Looking Glass能運作了之後再改回HDMI欺騙器。\n3. 安裝Windows虛擬機 # 首先，給電腦啟用虛擬化，安裝QEMU/KVM套件，再安裝Windows 11虛擬機，TPM可以用軟體模擬。\n建議分配8GB RAM 、4核心以上CPU、128GB以上虛擬硬碟。必要情況下掛載SSHFS共享Host OS的目錄。\n安裝虛擬機不需真的啟用Secure Boot，但建議隱藏KVM虛擬化狀態。\n參見：安裝Windows 11的QEMU/KVM虛擬機\n4. 直通GPU給Windows虛擬機 # 請準備第二個實體螢幕，或是HDMI欺騙器，使顯示卡能正常運作。\n依照個人情況，看要直通Intel內顯或Nvidia獨顯都可以，通常我是選擇後者。\n參見：\n直通Nvidia獨顯 (Ubuntu) 5. 強化虛擬機CPU性能 # 本節啟用的三個東西：1. Hugepage，增加記憶體利用效率。 2. Hyper-V保留系統資源 3. 讓vCPU獨佔實體CPU核心。\n首先啟用hugepage，可以用cat /proc/meminfo | grep Huge查看有無啟用Hugepage，若Hugetlb為0kb代表沒啟用。\n編輯sysctl設定\nsudo vim /etc/sysctl.d/99-sysctl.conf 將8GB RAM (1 hugepage = 2mb)保留給虛擬機使用（會直接從宿主機扣除） vm.nr_hugepages=4096 vm.hugetlb_shm_group=48 重開機，開啟Virt Manager，編輯XML，在\u0026lt;memory\u0026gt;區塊的下方加入\u0026lt;memoryBacking\u0026gt;： \u0026lt;memory unit=\u0026#34;KiB\u0026#34;\u0026gt;8388608\u0026lt;/memory\u0026gt; \u0026lt;currentMemory unit=\u0026#34;KiB\u0026#34;\u0026gt;8388608\u0026lt;/currentMemory\u0026gt; \u0026lt;memoryBacking\u0026gt; \u0026lt;hugepages/\u0026gt; \u0026lt;/memoryBacking\u0026gt; 再來調整Hyper-V設定，找到\u0026lt;features\u0026gt;\u0026lt;/features\u0026gt;區塊，在那之間填入如下內容： \u0026lt;features\u0026gt; ... \u0026lt;hyperv mode=\u0026#34;custom\u0026#34;\u0026gt; \u0026lt;relaxed state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;vapic state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;spinlocks state=\u0026#34;on\u0026#34; retries=\u0026#34;8191\u0026#34;/\u0026gt; \u0026lt;vpindex state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;runtime state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;synic state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;stimer state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;reset state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;vendor_id state=\u0026#34;on\u0026#34; value=\u0026#34;123456789123\u0026#34;/\u0026gt; \u0026lt;frequencies state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;/hyperv\u0026gt; ... \u0026lt;/features\u0026gt; 開啟Virt Manager → 編輯CPU，勾選複製主機CPU配置。再依情況手動設定CPU拓樸，例如我是1通訊端4核心1執行緒 最後，讓vCPU獨佔實體CPU核心。找到\u0026lt;vcpu\u0026gt;\u0026lt;/vcpu\u0026gt;區塊，在該區塊下方填入要獨佔的核心，例如我這裡有4個核心。\n\u0026lt;cpu mode=\u0026#34;host-passthrough\u0026#34; check=\u0026#34;none\u0026#34; migratable=\u0026#34;on\u0026#34;\u0026gt; \u0026lt;topology sockets=\u0026#34;1\u0026#34; dies=\u0026#34;1\u0026#34; cores=\u0026#34;4\u0026#34; threads=\u0026#34;1\u0026#34;/\u0026gt; \u0026lt;/cpu\u0026gt; \u0026lt;cputune\u0026gt; \u0026lt;vcpupin vcpu=\u0026#34;0\u0026#34; cpuset=\u0026#34;0\u0026#34;/\u0026gt; \u0026lt;vcpupin vcpu=\u0026#34;1\u0026#34; cpuset=\u0026#34;1\u0026#34;/\u0026gt; \u0026lt;vcpupin vcpu=\u0026#34;2\u0026#34; cpuset=\u0026#34;2\u0026#34;/\u0026gt; \u0026lt;vcpupin vcpu=\u0026#34;3\u0026#34; cpuset=\u0026#34;3\u0026#34;/\u0026gt; \u0026lt;/cputune\u0026gt; 有時候可能會遇到CPU佔用異常高的情況，這時請試著設定migratable=\u0026quot;off\u0026quot; \u0026lt;cpu mode=\u0026#34;host-passthrough\u0026#34; check=\u0026#34;none\u0026#34; migratable=\u0026#34;off\u0026#34;\u0026gt; \u0026lt;topology sockets=\u0026#34;4\u0026#34; dies=\u0026#34;1\u0026#34; cores=\u0026#34;1\u0026#34; threads=\u0026#34;1\u0026#34;/\u0026gt; \u0026lt;/cpu\u0026gt; 6. 設定Looking Glass，低延遲存取Windows桌面 # 將Windows虛擬機關機。\n接著參考Linux Looking Glass安裝教學\n7. 設定SPICE音訊 # 此處的SPICE音訊為Looking Glass最新版內建的服務，支援存取麥克風。\n將虛擬機關機。\n安裝QEMU PulseAudio驅動套件\nsudo pacman -S qemu-audio-pa 編輯QEMU設定檔 sudo vim /etc/libvirt/qemu.conf 找到此段，將Libvirt設定為以一般使用者執行（user為您的使用者名稱） user = \u0026#34;user\u0026#34; 重新啟動Libvirt sudo systemctl restart libvirtd 開啟Virt Manager，編輯Windows 11硬體，新增音效卡ICH9。 8. 防止遊戲反作弊機制偵測到虛擬機環境 # 依實際情況做選擇，不是每個遊戲都有反作弊機制。\n參考QEMU/KVM繞過Easy Anti-cheat\n9. 測試連線到虛擬機 # 您可能需要準備2個滑鼠，1個給虛擬機專用防止漂移。您可以用KDE Connect的遠端控制功能虛擬一個滑鼠出來給宿主機使用。\n開啟Virt Manager，編輯Windows 11虛擬機硬體，將顯示卡設定為「無」。這樣Windows開機後會進入只有獨顯輸出畫面的單螢幕狀態。\n點選新增硬體 → 新增USB裝置，將滑鼠新增給虛擬機用\n將虛擬機開機，關閉Virt Manager視窗。\n從終端機啟動Looking Glass客戶端，參考官方文件參數，我-F用讓Looking Glass全螢幕。加入-k顯示FPS\nlooking-glass-client -F -k 此時就會看到Windows畫面，按Scroll lock + F開關全螢幕。 可以測試音效有無正常運作，如果Windows的音效有動畫，Host OS卻聽不到，請試著到KDE的系統設定調整音訊輸出模式（調整雙工模式）。\n對音效點選右鍵 → 音效設定即可存取麥克風。\n由於Looking Glass採用SPICE的緣故，按鍵盤的Windows鍵就能回到Host OS。非全螢幕模式下，用第二個滑鼠移動也能回到Host OS。 Looking Glass的視窗可以隨時關掉重開，Windows程式仍會繼續執行。\n10. 建立快速啟動的桌面捷徑 # 將自己加入libvirt群組 sudo usermod -a -G libvirt $(whoami) 編輯/etc/libvirt/libvirtd.conf，將unix_sock_rw_perms設定為0770 unix_sock_rw_perms = \u0026#34;0770\u0026#34; 重啟libvirtd服務 sudo systemctl restart libvirtd 新增指令稿 touch ~/.local/share/startlookinglass.sh chmod +x ~/.local/share/startlookinglass.sh vim ~/.local/share/startlookinglass.sh 貼上以下內容，啟動名為win11的虛擬機（用指令virsh -c qemu:///system list --all查看），等10秒後再啟動Looking Glass #!/bin/bash /usr/bin/virsh -c qemu:///system start win11 sleep 10 /usr/bin/looking-glass-client -F 新增桌面捷徑 vim ~/Desktop/Looking Glass.desktop 設定啟動指令稿。這樣桌面點二下該捷徑即會自動啟動虛擬機與Looking Glass。 [Desktop Entry] Name=Looking Glass (Full Screen) Comment= Exec=bash /home/user/.local/share/startlookinglass.sh Icon= Terminal=false Type=Application MimeType= 附錄：我的完整虛擬機XML # 在這裡附上我Windows 11的虛擬機XML供參考，請勿完全照抄。\n\u0026lt;domain type=\u0026#34;kvm\u0026#34;\u0026gt; \u0026lt;name\u0026gt;Windows11\u0026lt;/name\u0026gt; \u0026lt;uuid\u0026gt;UUID\u0026lt;/uuid\u0026gt; \u0026lt;metadata\u0026gt; \u0026lt;libosinfo:libosinfo xmlns:libosinfo=\u0026#34;http://libosinfo.org/xmlns/libvirt/domain/1.0\u0026#34;\u0026gt; \u0026lt;libosinfo:os id=\u0026#34;http://microsoft.com/win/11\u0026#34;/\u0026gt; \u0026lt;/libosinfo:libosinfo\u0026gt; \u0026lt;/metadata\u0026gt; \u0026lt;memory unit=\u0026#34;KiB\u0026#34;\u0026gt;8388608\u0026lt;/memory\u0026gt; \u0026lt;currentMemory unit=\u0026#34;KiB\u0026#34;\u0026gt;8388608\u0026lt;/currentMemory\u0026gt; \u0026lt;memoryBacking\u0026gt; \u0026lt;hugepages/\u0026gt; \u0026lt;/memoryBacking\u0026gt; \u0026lt;vcpu placement=\u0026#34;static\u0026#34;\u0026gt;4\u0026lt;/vcpu\u0026gt; \u0026lt;cputune\u0026gt; \u0026lt;vcpupin vcpu=\u0026#34;0\u0026#34; cpuset=\u0026#34;0\u0026#34;/\u0026gt; \u0026lt;vcpupin vcpu=\u0026#34;1\u0026#34; cpuset=\u0026#34;1\u0026#34;/\u0026gt; \u0026lt;vcpupin vcpu=\u0026#34;2\u0026#34; cpuset=\u0026#34;2\u0026#34;/\u0026gt; \u0026lt;vcpupin vcpu=\u0026#34;3\u0026#34; cpuset=\u0026#34;3\u0026#34;/\u0026gt; \u0026lt;/cputune\u0026gt; \u0026lt;sysinfo type=\u0026#34;smbios\u0026#34;\u0026gt; \u0026lt;bios\u0026gt; \u0026lt;entry name=\u0026#34;vendor\u0026#34;\u0026gt;LENOVO\u0026lt;/entry\u0026gt; \u0026lt;/bios\u0026gt; \u0026lt;system\u0026gt; \u0026lt;entry name=\u0026#34;manufacturer\u0026#34;\u0026gt;Microsoft\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;product\u0026#34;\u0026gt;Windows11\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;version\u0026#34;\u0026gt;22H2\u0026lt;/entry\u0026gt; \u0026lt;/system\u0026gt; \u0026lt;baseBoard\u0026gt; \u0026lt;entry name=\u0026#34;manufacturer\u0026#34;\u0026gt;LENOVO\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;product\u0026#34;\u0026gt;20BE0061MC\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;version\u0026#34;\u0026gt;0B98401 Pro\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;serial\u0026#34;\u0026gt;W1KS427111E\u0026lt;/entry\u0026gt; \u0026lt;/baseBoard\u0026gt; \u0026lt;chassis\u0026gt; \u0026lt;entry name=\u0026#34;manufacturer\u0026#34;\u0026gt;Dell Inc.\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;version\u0026#34;\u0026gt;2.12\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;serial\u0026#34;\u0026gt;65X0XF2\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;asset\u0026#34;\u0026gt;40000101\u0026lt;/entry\u0026gt; \u0026lt;entry name=\u0026#34;sku\u0026#34;\u0026gt;Type3Sku1\u0026lt;/entry\u0026gt; \u0026lt;/chassis\u0026gt; \u0026lt;oemStrings\u0026gt; \u0026lt;entry\u0026gt;myappname:some arbitrary data\u0026lt;/entry\u0026gt; \u0026lt;entry\u0026gt;otherappname:more arbitrary data\u0026lt;/entry\u0026gt; \u0026lt;/oemStrings\u0026gt; \u0026lt;/sysinfo\u0026gt; \u0026lt;os firmware=\u0026#34;efi\u0026#34;\u0026gt; \u0026lt;type arch=\u0026#34;x86_64\u0026#34; machine=\u0026#34;pc-q35-8.0\u0026#34;\u0026gt;hvm\u0026lt;/type\u0026gt; \u0026lt;firmware\u0026gt; \u0026lt;feature enabled=\u0026#34;no\u0026#34; name=\u0026#34;enrolled-keys\u0026#34;/\u0026gt; \u0026lt;feature enabled=\u0026#34;yes\u0026#34; name=\u0026#34;secure-boot\u0026#34;/\u0026gt; \u0026lt;/firmware\u0026gt; \u0026lt;loader readonly=\u0026#34;yes\u0026#34; secure=\u0026#34;yes\u0026#34; type=\u0026#34;pflash\u0026#34;\u0026gt;/usr/share/edk2/x64/OVMF_CODE.secboot.fd\u0026lt;/loader\u0026gt; \u0026lt;nvram template=\u0026#34;/usr/share/edk2/x64/OVMF_VARS.fd\u0026#34;\u0026gt;/var/lib/libvirt/qemu/nvram/Windows11_VARS.fd\u0026lt;/nvram\u0026gt; \u0026lt;smbios mode=\u0026#34;sysinfo\u0026#34;/\u0026gt; \u0026lt;/os\u0026gt; \u0026lt;features\u0026gt; \u0026lt;acpi/\u0026gt; \u0026lt;apic/\u0026gt; \u0026lt;hyperv mode=\u0026#34;custom\u0026#34;\u0026gt; \u0026lt;relaxed state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;vapic state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;spinlocks state=\u0026#34;on\u0026#34; retries=\u0026#34;8191\u0026#34;/\u0026gt; \u0026lt;vpindex state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;runtime state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;synic state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;stimer state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;reset state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;vendor_id state=\u0026#34;on\u0026#34; value=\u0026#34;123456789123\u0026#34;/\u0026gt; \u0026lt;frequencies state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;/hyperv\u0026gt; \u0026lt;kvm\u0026gt; \u0026lt;hidden state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;/kvm\u0026gt; \u0026lt;vmport state=\u0026#34;off\u0026#34;/\u0026gt; \u0026lt;smm state=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;ioapic driver=\u0026#34;kvm\u0026#34;/\u0026gt; \u0026lt;/features\u0026gt; \u0026lt;cpu mode=\u0026#34;host-passthrough\u0026#34; check=\u0026#34;none\u0026#34; migratable=\u0026#34;on\u0026#34;\u0026gt; \u0026lt;topology sockets=\u0026#34;1\u0026#34; dies=\u0026#34;1\u0026#34; cores=\u0026#34;4\u0026#34; threads=\u0026#34;1\u0026#34;/\u0026gt; \u0026lt;/cpu\u0026gt; \u0026lt;clock offset=\u0026#34;localtime\u0026#34;\u0026gt; \u0026lt;timer name=\u0026#34;rtc\u0026#34; tickpolicy=\u0026#34;catchup\u0026#34;/\u0026gt; \u0026lt;timer name=\u0026#34;pit\u0026#34; tickpolicy=\u0026#34;delay\u0026#34;/\u0026gt; \u0026lt;timer name=\u0026#34;hpet\u0026#34; present=\u0026#34;no\u0026#34;/\u0026gt; \u0026lt;timer name=\u0026#34;hypervclock\u0026#34; present=\u0026#34;yes\u0026#34;/\u0026gt; \u0026lt;/clock\u0026gt; \u0026lt;on_poweroff\u0026gt;destroy\u0026lt;/on_poweroff\u0026gt; \u0026lt;on_reboot\u0026gt;restart\u0026lt;/on_reboot\u0026gt; \u0026lt;on_crash\u0026gt;destroy\u0026lt;/on_crash\u0026gt; \u0026lt;pm\u0026gt; \u0026lt;suspend-to-mem enabled=\u0026#34;no\u0026#34;/\u0026gt; \u0026lt;suspend-to-disk enabled=\u0026#34;no\u0026#34;/\u0026gt; \u0026lt;/pm\u0026gt; \u0026lt;devices\u0026gt; \u0026lt;emulator\u0026gt;/usr/bin/qemu-system-x86_64\u0026lt;/emulator\u0026gt; \u0026lt;disk type=\u0026#34;file\u0026#34; device=\u0026#34;disk\u0026#34;\u0026gt; \u0026lt;driver name=\u0026#34;qemu\u0026#34; type=\u0026#34;qcow2\u0026#34;/\u0026gt; \u0026lt;source file=\u0026#34;/var/lib/libvirt/images/windows11.qcow2\u0026#34;/\u0026gt; \u0026lt;target dev=\u0026#34;vda\u0026#34; bus=\u0026#34;virtio\u0026#34;/\u0026gt; \u0026lt;boot order=\u0026#34;2\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x04\u0026#34; slot=\u0026#34;0x00\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/disk\u0026gt; \u0026lt;controller type=\u0026#34;usb\u0026#34; index=\u0026#34;0\u0026#34; model=\u0026#34;qemu-xhci\u0026#34; ports=\u0026#34;15\u0026#34;\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x02\u0026#34; slot=\u0026#34;0x00\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;0\u0026#34; model=\u0026#34;pcie-root\u0026#34;/\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;1\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;1\u0026#34; port=\u0026#34;0x10\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x02\u0026#34; function=\u0026#34;0x0\u0026#34; multifunction=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;2\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;2\u0026#34; port=\u0026#34;0x11\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x02\u0026#34; function=\u0026#34;0x1\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;3\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;3\u0026#34; port=\u0026#34;0x12\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x02\u0026#34; function=\u0026#34;0x2\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;4\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;4\u0026#34; port=\u0026#34;0x13\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x02\u0026#34; function=\u0026#34;0x3\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;5\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;5\u0026#34; port=\u0026#34;0x14\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x02\u0026#34; function=\u0026#34;0x4\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;6\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;6\u0026#34; port=\u0026#34;0x15\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x02\u0026#34; function=\u0026#34;0x5\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;7\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;7\u0026#34; port=\u0026#34;0x16\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x02\u0026#34; function=\u0026#34;0x6\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;8\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;8\u0026#34; port=\u0026#34;0x17\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x02\u0026#34; function=\u0026#34;0x7\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;9\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;9\u0026#34; port=\u0026#34;0x18\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x03\u0026#34; function=\u0026#34;0x0\u0026#34; multifunction=\u0026#34;on\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;10\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;10\u0026#34; port=\u0026#34;0x19\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x03\u0026#34; function=\u0026#34;0x1\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;11\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;11\u0026#34; port=\u0026#34;0x1a\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x03\u0026#34; function=\u0026#34;0x2\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;12\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;12\u0026#34; port=\u0026#34;0x1b\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x03\u0026#34; function=\u0026#34;0x3\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;13\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;13\u0026#34; port=\u0026#34;0x1c\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x03\u0026#34; function=\u0026#34;0x4\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;14\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;14\u0026#34; port=\u0026#34;0x1d\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x03\u0026#34; function=\u0026#34;0x5\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;15\u0026#34; model=\u0026#34;pcie-root-port\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-root-port\u0026#34;/\u0026gt; \u0026lt;target chassis=\u0026#34;15\u0026#34; port=\u0026#34;0x1e\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x03\u0026#34; function=\u0026#34;0x6\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;pci\u0026#34; index=\u0026#34;16\u0026#34; model=\u0026#34;pcie-to-pci-bridge\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;pcie-pci-bridge\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x08\u0026#34; slot=\u0026#34;0x00\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;sata\u0026#34; index=\u0026#34;0\u0026#34;\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x1f\u0026#34; function=\u0026#34;0x2\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;controller type=\u0026#34;virtio-serial\u0026#34; index=\u0026#34;0\u0026#34;\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x03\u0026#34; slot=\u0026#34;0x00\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/controller\u0026gt; \u0026lt;interface type=\u0026#34;network\u0026#34;\u0026gt; \u0026lt;mac address=\u0026#34;52:54:00:25:0c:bf\u0026#34;/\u0026gt; \u0026lt;source network=\u0026#34;default\u0026#34;/\u0026gt; \u0026lt;model type=\u0026#34;virtio\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x01\u0026#34; slot=\u0026#34;0x00\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/interface\u0026gt; \u0026lt;serial type=\u0026#34;pty\u0026#34;\u0026gt; \u0026lt;target type=\u0026#34;isa-serial\u0026#34; port=\u0026#34;0\u0026#34;\u0026gt; \u0026lt;model name=\u0026#34;isa-serial\u0026#34;/\u0026gt; \u0026lt;/target\u0026gt; \u0026lt;/serial\u0026gt; \u0026lt;console type=\u0026#34;pty\u0026#34;\u0026gt; \u0026lt;target type=\u0026#34;serial\u0026#34; port=\u0026#34;0\u0026#34;/\u0026gt; \u0026lt;/console\u0026gt; \u0026lt;channel type=\u0026#34;spicevmc\u0026#34;\u0026gt; \u0026lt;target type=\u0026#34;virtio\u0026#34; name=\u0026#34;com.redhat.spice.0\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;virtio-serial\u0026#34; controller=\u0026#34;0\u0026#34; bus=\u0026#34;0\u0026#34; port=\u0026#34;1\u0026#34;/\u0026gt; \u0026lt;/channel\u0026gt; \u0026lt;input type=\u0026#34;tablet\u0026#34; bus=\u0026#34;usb\u0026#34;\u0026gt; \u0026lt;address type=\u0026#34;usb\u0026#34; bus=\u0026#34;0\u0026#34; port=\u0026#34;1\u0026#34;/\u0026gt; \u0026lt;/input\u0026gt; \u0026lt;input type=\u0026#34;mouse\u0026#34; bus=\u0026#34;ps2\u0026#34;/\u0026gt; \u0026lt;input type=\u0026#34;keyboard\u0026#34; bus=\u0026#34;ps2\u0026#34;/\u0026gt; \u0026lt;tpm model=\u0026#34;tpm-tis\u0026#34;\u0026gt; \u0026lt;backend type=\u0026#34;emulator\u0026#34; version=\u0026#34;2.0\u0026#34;/\u0026gt; \u0026lt;/tpm\u0026gt; \u0026lt;graphics type=\u0026#34;spice\u0026#34; autoport=\u0026#34;yes\u0026#34;\u0026gt; \u0026lt;listen type=\u0026#34;address\u0026#34;/\u0026gt; \u0026lt;image compression=\u0026#34;off\u0026#34;/\u0026gt; \u0026lt;/graphics\u0026gt; \u0026lt;sound model=\u0026#34;ich9\u0026#34;\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x00\u0026#34; slot=\u0026#34;0x1b\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/sound\u0026gt; \u0026lt;audio id=\u0026#34;1\u0026#34; type=\u0026#34;spice\u0026#34;/\u0026gt; \u0026lt;video\u0026gt; \u0026lt;model type=\u0026#34;none\u0026#34;/\u0026gt; \u0026lt;/video\u0026gt; \u0026lt;hostdev mode=\u0026#34;subsystem\u0026#34; type=\u0026#34;pci\u0026#34; managed=\u0026#34;yes\u0026#34;\u0026gt; \u0026lt;source\u0026gt; \u0026lt;address domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x01\u0026#34; slot=\u0026#34;0x00\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/source\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x06\u0026#34; slot=\u0026#34;0x00\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/hostdev\u0026gt; \u0026lt;hostdev mode=\u0026#34;subsystem\u0026#34; type=\u0026#34;pci\u0026#34; managed=\u0026#34;yes\u0026#34;\u0026gt; \u0026lt;source\u0026gt; \u0026lt;address domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x01\u0026#34; slot=\u0026#34;0x00\u0026#34; function=\u0026#34;0x1\u0026#34;/\u0026gt; \u0026lt;/source\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x07\u0026#34; slot=\u0026#34;0x00\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/hostdev\u0026gt; \u0026lt;redirdev bus=\u0026#34;usb\u0026#34; type=\u0026#34;spicevmc\u0026#34;\u0026gt; \u0026lt;address type=\u0026#34;usb\u0026#34; bus=\u0026#34;0\u0026#34; port=\u0026#34;2\u0026#34;/\u0026gt; \u0026lt;/redirdev\u0026gt; \u0026lt;redirdev bus=\u0026#34;usb\u0026#34; type=\u0026#34;spicevmc\u0026#34;\u0026gt; \u0026lt;address type=\u0026#34;usb\u0026#34; bus=\u0026#34;0\u0026#34; port=\u0026#34;3\u0026#34;/\u0026gt; \u0026lt;/redirdev\u0026gt; \u0026lt;watchdog model=\u0026#34;itco\u0026#34; action=\u0026#34;reset\u0026#34;/\u0026gt; \u0026lt;memballoon model=\u0026#34;virtio\u0026#34;\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x05\u0026#34; slot=\u0026#34;0x00\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/memballoon\u0026gt; \u0026lt;shmem name=\u0026#34;looking-glass\u0026#34;\u0026gt; \u0026lt;model type=\u0026#34;ivshmem-plain\u0026#34;/\u0026gt; \u0026lt;size unit=\u0026#34;M\u0026#34;\u0026gt;32\u0026lt;/size\u0026gt; \u0026lt;address type=\u0026#34;pci\u0026#34; domain=\u0026#34;0x0000\u0026#34; bus=\u0026#34;0x10\u0026#34; slot=\u0026#34;0x01\u0026#34; function=\u0026#34;0x0\u0026#34;/\u0026gt; \u0026lt;/shmem\u0026gt; \u0026lt;/devices\u0026gt; \u0026lt;/domain\u0026gt; 參考資料 # PCI passthrough via OVMF - ArchWiki Looking Glass - Home Looking Glass v6 now supports spice audio, but how to get the microphone working? - Reddit 閒聊 教學：如何在Linux上玩LOL - 看板LoL - 批踢踢實業坊 分享 GPU Passthrough設定及一些眉角分享- 看板Linux ","date":"2023年7月30日","externalUrl":null,"permalink":"/posts/qemu-kvm-vfio-gaming/","section":"所有文章","summary":"Linux系統雖在Steam Proton的支援下，能玩的Windows遊戲數目大幅增加，然而仍有許多遊戲和程式無法用Proton執行，必須得用Windows虛擬機跑。\n本文Ivon將討論在Linux系統跑Windows虛擬機的方法。於虛擬機啟用硬體加速，順暢低延遲的玩遊戲。\n設定過程不雙重開機，不接第二個螢幕，不準備二個滑鼠，不登出目前的使用者，直接在單一螢幕的Linux桌面環境操作Windows。\n使用例1：在虛擬機玩Windows專屬的Minecraft基岩版 使用例2：在虛擬機低延遲看高畫質影片\n在英文圈，本文使用的技術可以概括的稱為\"VFIO Gaming on Linux\"。\n以下為實際啟動過程的演示影片 1. 安裝前先論破 # 為什麼不雙重開機就好？雙系統會影響穩定度，例如Windows更新有機率弄壞GRUB(雖然Arch也會自己弄壞就是了)。另，我不想讓Windows觸碰到我的系統，且虛擬機彈性大，方便備份。\nGPU直通，乃利用Linux核心的VFIO功能，讓虛擬機存取實體顯示卡(GPU)，增進圖形效能。GPU直通目前只有QEMU/KVM虛擬機技術支援。由於是直通給Windows虛擬機，不論顯示卡品牌為何，Windows應該都抓得到驅動。\n","title":"如何在Windows虛擬機玩遊戲 ～ Linux QEMU/KVM雙GPU直通 ＋ Looking Glass安裝過程","type":"posts"},{"content":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\nLove\n愛\nIn our life\n在我們生命中\nIs just too valuable\n實在太珍貴\nOh, to feel\n試著感受一下\nFor even a second\n即使一秒也行\nWithout it\n沒有愛的感覺\nBut life\n但是生命\nWithout death\n不免然地\nIs just impossible\n要面對死亡\nOh, to realize\n最終要了解\nSomething is ending\n某人某事\nWithin us\n就要消逝在我們的生命中\nFeeling yourself disintegrate\n感覺自己分崩離析\nFeeling yourself disintegrate\n感覺自己分崩離析\nFeeling yourself disintegrate\n感覺自己分崩離析\nFeeling yourself disintegrate\n感覺自己分崩離析\nFeeling yourself disintegrate\n感覺自己分崩離析\nFeeling yourself disintegrate\n感覺自己分崩離析\nFeeling yourself disintegrate\n感覺自己分崩離析\nFeeling yourself disintegrate\n感覺自己分崩離析\n","date":"2023年7月28日","externalUrl":null,"permalink":"/posts/the-flaming-lips-feeling-yourself-disintegrate-zh-tw/","section":"Musics","summary":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\nLove\n愛\nIn our life\n在我們生命中\nIs just too valuable\n實在太珍貴\nOh, to feel\n試著感受一下\nFor even a second\n即使一秒也行\nWithout it\n沒有愛的感覺\nBut life\n但是生命\nWithout death\n不免然地\nIs just impossible\n要面對死亡\nOh, to realize\n最終要了解\nSomething is ending\n某人某事\nWithin us\n就要消逝在我們的生命中\nFeeling yourself disintegrate\n感覺自己分崩離析\nFeeling yourself disintegrate\n感覺自己分崩離析\nFeeling yourself disintegrate\n感覺自己分崩離析\nFeeling yourself disintegrate\n感覺自己分崩離析\nFeeling yourself disintegrate\n感覺自己分崩離析\nFeeling yourself disintegrate\n感覺自己分崩離析\nFeeling yourself disintegrate\n感覺自己分崩離析\nFeeling yourself disintegrate\n感覺自己分崩離析\n","title":"【歌詞翻譯】The Flaming Lips - Feeling Yourself Disintegrate 感覺自己分崩離析","type":"music"},{"content":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\nIs that gash in your leg\n你真的是因為腳上的傷口\nReally why you have stopped?\n從而停止前進的嗎？\n\u0026lsquo;Cause I\u0026rsquo;ve noticed all the others\n因為我發現許多人\nThough they\u0026rsquo;re gashed, they\u0026rsquo;re still going\n即使傷痕累累，仍然前進\n\u0026lsquo;Cause I feel like the real reason\n因為我感覺\nThat you\u0026rsquo;re quitting\n你說要退出戰鬥\nAnd admitting that you\u0026rsquo;ve lost\n就是承認你已經失去了\nAll the will to battle on\n戰鬥下去的希望\nWill the fight for our sanity\n是否維持理智\nBe the fight of our lives?\n是我們一生的戰鬥？\nNow that we\u0026rsquo;ve lost all the reasons\n現在我們已經失去了所有\nThat we thought that we had\n可以講述的理由\nStill the battle that we\u0026rsquo;re in\n戰鬥仍要繼續\nRages on till the end\n沖向終點\nWith explosions, wounds are open\n經歷爆炸，綻開的傷口\nSights and smells, eyes and noses\n視覺和氣味、眼睛和鼻子\nBut the thought that went unspoken\n但是沒有說出的想法\nWas understanding\n卻能夠理解了\nThat you\u0026rsquo;re broken, still the last\n你已經受傷了，落後了\nVolunteer battles on\n每個負責的人繼續戰鬥\nBattles on\n繼續戰鬥\nBattles on\n繼續戰鬥\nBattles on\n繼續戰鬥\n","date":"2023年7月28日","externalUrl":null,"permalink":"/posts/the-flaming-lips-the-gash-zh-tw/","section":"Musics","summary":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\nIs that gash in your leg\n你真的是因為腳上的傷口\nReally why you have stopped?\n從而停止前進的嗎？\n‘Cause I’ve noticed all the others\n因為我發現許多人\nThough they’re gashed, they’re still going\n即使傷痕累累，仍然前進\n‘Cause I feel like the real reason\n因為我感覺\nThat you’re quitting\n你說要退出戰鬥\nAnd admitting that you’ve lost\n就是承認你已經失去了\nAll the will to battle on\n戰鬥下去的希望\nWill the fight for our sanity\n是否維持理智\nBe the fight of our lives?\n是我們一生的戰鬥？\nNow that we’ve lost all the reasons\n現在我們已經失去了所有\nThat we thought that we had\n可以講述的理由\nStill the battle that we’re in\n戰鬥仍要繼續\nRages on till the end\n沖向終點\nWith explosions, wounds are open\n經歷爆炸，綻開的傷口\nSights and smells, eyes and noses\n視覺和氣味、眼睛和鼻子\nBut the thought that went unspoken\n但是沒有說出的想法\nWas understanding\n卻能夠理解了\nThat you’re broken, still the last\n你已經受傷了，落後了\nVolunteer battles on\n每個負責的人繼續戰鬥\nBattles on\n繼續戰鬥\nBattles on\n繼續戰鬥\nBattles on\n繼續戰鬥\n","title":"【歌詞翻譯】The Flaming Lips - The Gash 傷痕","type":"music"},{"content":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\nPutting all the vegetables away\n將今天在雜貨店買的\nThat you bought at the grocery store today\n蔬果推到一旁\nAnd it goes fast\n時間流逝的真快\nYou think of the past\n你想到了過去\nSuddenly everything has changed\n突然間一切都變了\nDriving home the sky accelerates\n開車回家的時候天空加速旋轉\nAnd the clouds all form a geometric shape\n雲朵變成了幾何形狀\nAnd it goes fast\n時間流逝的真快\nYou think of the past\n你想到了過去\nSuddenly everything has changed\n突然間一切都變了\nPutting all the clothes you washed away\n放下手中洗好的衣服\nAs you\u0026rsquo;re folding up the shirts you hesitate\n折裙子的時候你猶豫了一下\nThen it goes fast\n這時間過得真快\nThink of the past\n想到過去\nSuddenly everything has changed\n突然間一切都變了\n","date":"2023年7月28日","externalUrl":null,"permalink":"/posts/the-flaming-lips-suddenly-everything-has-changed-zh-tw/","section":"Musics","summary":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\nPutting all the vegetables away\n將今天在雜貨店買的\nThat you bought at the grocery store today\n蔬果推到一旁\nAnd it goes fast\n時間流逝的真快\nYou think of the past\n你想到了過去\nSuddenly everything has changed\n突然間一切都變了\nDriving home the sky accelerates\n開車回家的時候天空加速旋轉\nAnd the clouds all form a geometric shape\n雲朵變成了幾何形狀\nAnd it goes fast\n時間流逝的真快\nYou think of the past\n你想到了過去\nSuddenly everything has changed\n突然間一切都變了\nPutting all the clothes you washed away\n放下手中洗好的衣服\nAs you’re folding up the shirts you hesitate\n折裙子的時候你猶豫了一下\nThen it goes fast\n這時間過得真快\nThink of the past\n想到過去\nSuddenly everything has changed\n突然間一切都變了\n","title":"【歌詞翻譯】The Flaming Lips - Suddenly Everything Has Changed 突然間一切都變了","type":"music"},{"content":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\n這首歌起源於Wayne Cyone與哥哥在父親葬禮上的對話。\n官方MV Asked you a question\n問你一個問題\nI didn\u0026rsquo;t need you to reply\n你不用回答我\nIs it gettin\u0026rsquo; heavy?\n是否感到越來越沈重？\nBut they\u0026rsquo;ll realize\n但他們會明白的\nIs it gettin\u0026rsquo; heavy?\n是否感到越來越沈重？\nWell, I thought it was already as heavy\n好吧，我想已經夠沈重了\nAs can be\n十分沈重\nIs it overwhelming\n是否太過誇張\nTo use a crane to crush a fly?\n要用吊臂弄死一隻蒼蠅？\nIt\u0026rsquo;s a good time for Superman\n是時候讓超人\nTo lift the sun into the sky\n將太陽升到天空上了\n\u0026lsquo;Cause it\u0026rsquo;s gettin\u0026rsquo; heavy\n因為越來越沈重\nWell, I thought it was already as heavy\n好吧，我想已經夠沈重了\nAs can be\n十分沈重\nTell everybody\n告訴大家\nWaitin\u0026rsquo; for Superman\n等待超人\nThat they should try to\n所以他們必須要\nHold on\n盡力\nBest they can\n撐住\nHe hasn\u0026rsquo;t dropped them\n他還沒放棄大家\nForgot them\n還沒忘記大家\nOr anything\n以及其他事物\nIt\u0026rsquo;s just too heavy for Superman to lift\n只是對超人來說，太過沈重\nIs it gettin\u0026rsquo; heavy?\n是否感到越來越沈重？\nWell, I thought it was already as heavy as can be\n好吧，我想已經夠沈重了\nTell everybody\n告訴大家\nWaitin\u0026rsquo; for Superman\n等待超人\nThat they should try to\n所以他們必須要\nHold on\n盡力 Best they can\n撐住\nHe hasn\u0026rsquo;t dropped them\n他還沒放棄大家\nForgot them\n還沒忘記大家\nOr anything\n以及其他事物\nIt\u0026rsquo;s just too heavy for Superman to lift\n只是對超人來說，太過沈重\n","date":"2023年7月28日","externalUrl":null,"permalink":"/posts/the-flaming-lips-waitin-for-a-superman-zh-tw/","section":"Musics","summary":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\n這首歌起源於Wayne Cyone與哥哥在父親葬禮上的對話。\n官方MV Asked you a question\n問你一個問題\nI didn’t need you to reply\n你不用回答我\nIs it gettin’ heavy?\n是否感到越來越沈重？\nBut they’ll realize\n但他們會明白的\nIs it gettin’ heavy?\n是否感到越來越沈重？\nWell, I thought it was already as heavy\n好吧，我想已經夠沈重了\nAs can be\n十分沈重\nIs it overwhelming\n是否太過誇張\nTo use a crane to crush a fly?\n要用吊臂弄死一隻蒼蠅？\nIt’s a good time for Superman\n是時候讓超人\nTo lift the sun into the sky\n將太陽升到天空上了\n‘Cause it’s gettin’ heavy\n因為越來越沈重\nWell, I thought it was already as heavy\n好吧，我想已經夠沈重了\nAs can be\n十分沈重\nTell everybody\n告訴大家\nWaitin’ for Superman\n等待超人\nThat they should try to\n所以他們必須要\nHold on\n盡力\nBest they can\n撐住\nHe hasn’t dropped them\n他還沒放棄大家\nForgot them\n還沒忘記大家\nOr anything\n以及其他事物\nIt’s just too heavy for Superman to lift\n只是對超人來說，太過沈重\nIs it gettin’ heavy?\n是否感到越來越沈重？\nWell, I thought it was already as heavy as can be\n好吧，我想已經夠沈重了\nTell everybody\n告訴大家\nWaitin’ for Superman\n等待超人\nThat they should try to\n所以他們必須要\nHold on\n盡力 Best they can\n撐住\nHe hasn’t dropped them\n他還沒放棄大家\nForgot them\n還沒忘記大家\nOr anything\n以及其他事物\nIt’s just too heavy for Superman to lift\n只是對超人來說，太過沈重\n","title":"【歌詞翻譯】The Flaming Lips - Waitin' for a Superman 等待超人","type":"music"},{"content":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\nWhat is the light\n在你身邊\nThat you have\n閃耀著的\nShining all around you?\n是什麼光？\nIs it chemically derived?\n是化學變異的嗎？\n\u0026lsquo;Cause if it\u0026rsquo;s natural\n因為如果就自然情況\nSomething glowing from inside\n由內外的發光\nShining all around you\n會照耀你的周遭\nIts potential has arrived\n他的潛能已顯現出來\nLooking into space, it surrounds you\n看向太空，它環繞著你\nLove is the place that you\u0026rsquo;re drawn to\n愛就在引力大的地方\nLooking into space, it surrounds you\n看向太空，它環繞著你\nLove is the face that you\u0026rsquo;re drawn to\n愛就在引力大的地方\nLooking into space, it surrounds you\n看向太空，它環繞著你\nLove is the place that you\u0026rsquo;re drawn to\n愛就在引力大的地方\nLooking into space, it surrounds you\n看向太空，它環繞著你\nLove is the face that you\u0026rsquo;re drawn to\n愛就在引力大的地方\nWhat is the light\n在你身邊\nThat you have\n閃耀著的\nShining all around you?\n是什麼光？\nIs it chemically derived?\n是化學變異的嗎？\n","date":"2023年7月28日","externalUrl":null,"permalink":"/posts/the-flaming-lips-what-is-the-light-zh-tw/","section":"Musics","summary":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\nWhat is the light\n在你身邊\nThat you have\n閃耀著的\nShining all around you?\n是什麼光？\nIs it chemically derived?\n是化學變異的嗎？\n‘Cause if it’s natural\n因為如果就自然情況\nSomething glowing from inside\n由內外的發光\nShining all around you\n會照耀你的周遭\nIts potential has arrived\n他的潛能已顯現出來\nLooking into space, it surrounds you\n看向太空，它環繞著你\nLove is the place that you’re drawn to\n愛就在引力大的地方\nLooking into space, it surrounds you\n看向太空，它環繞著你\nLove is the face that you’re drawn to\n愛就在引力大的地方\nLooking into space, it surrounds you\n看向太空，它環繞著你\nLove is the place that you’re drawn to\n愛就在引力大的地方\nLooking into space, it surrounds you\n看向太空，它環繞著你\nLove is the face that you’re drawn to\n愛就在引力大的地方\nWhat is the light\n在你身邊\nThat you have\n閃耀著的\nShining all around you?\n是什麼光？\nIs it chemically derived?\n是化學變異的嗎？\n","title":"【歌詞翻譯】The Flaming Lips - What Is the Light? 那是什麼光？","type":"music"},{"content":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\nAll those bugs\n那些蟲子\nBuzzin\u0026rsquo; round\n到處嗡嗡嗡\nWell they fly in the air\n他們在空中飛來飛去\nAnd you comb your hair\n你在那邊梳頭\nAnd the summer time will make you itch the\n夏天到來會讓你不斷地抓著\nMosquito bites\n蚊子叮的地方\nThe buzz of love\n愛情的嗡嗡嗡\nIs busy buggin\u0026rsquo; you\n正在環繞著你\nWell they fly in the air\n他們在空中飛來飛去\nAs you comb your hair\n你在那邊梳頭\nAnd they\u0026rsquo;re splattered up and down your windshield\n他們一窩蜂的沖向擋風玻璃\nThe headlights\n撲向頭燈\nWell, they bite\n他們開始叮人了\nYeah they bite\n對他們開始叮人了\nBut you can\u0026rsquo;t see them there\n但是你卻看不到\nBut they bite\n可是他們還是叮了人\nYeah, they bite\n對他們叮人了\nBut you can\u0026rsquo;t tell they\u0026rsquo;re there\n但你又找不到他們在哪\nDoes love buzz?\n愛情也會嗡嗡嗡嗎？\nBecause that\u0026rsquo;s what it does\n那似乎就是它的本質\nWell, they fly in the air\n他們在空中飛來飛去\nAs you comb your hair\n你在那邊梳頭\nAnd the summertime will make you itch the\n夏天到來會讓你不斷地抓著\nMosquito bites\n蚊子叮的地方\nWell they fly in the air\n他們在空中飛來飛去\nAs you comb your hair\n你在那邊梳頭\nAnd they\u0026rsquo;re splattered up and down your windshield\n他們一窩蜂的沖向擋風玻璃\nThe headlights\n撲向頭燈\nFly in the air\n在空中飛舞\nComb your hair\n梳著你的頭\nFly in the air\n在空中飛舞\nComb your hair\n梳著你的頭\n","date":"2023年7月28日","externalUrl":null,"permalink":"/posts/the-flaming-lips-buggin-zh-tw/","section":"Musics","summary":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\nAll those bugs\n那些蟲子\nBuzzin’ round\n到處嗡嗡嗡\nWell they fly in the air\n他們在空中飛來飛去\nAnd you comb your hair\n你在那邊梳頭\nAnd the summer time will make you itch the\n夏天到來會讓你不斷地抓著\nMosquito bites\n蚊子叮的地方\nThe buzz of love\n愛情的嗡嗡嗡\nIs busy buggin’ you\n正在環繞著你\nWell they fly in the air\n他們在空中飛來飛去\nAs you comb your hair\n你在那邊梳頭\nAnd they’re splattered up and down your windshield\n他們一窩蜂的沖向擋風玻璃\nThe headlights\n撲向頭燈\nWell, they bite\n他們開始叮人了\nYeah they bite\n對他們開始叮人了\nBut you can’t see them there\n但是你卻看不到\nBut they bite\n可是他們還是叮了人\nYeah, they bite\n對他們叮人了\nBut you can’t tell they’re there\n但你又找不到他們在哪\nDoes love buzz?\n愛情也會嗡嗡嗡嗎？\nBecause that’s what it does\n那似乎就是它的本質\nWell, they fly in the air\n他們在空中飛來飛去\nAs you comb your hair\n你在那邊梳頭\nAnd the summertime will make you itch the\n夏天到來會讓你不斷地抓著\nMosquito bites\n蚊子叮的地方\nWell they fly in the air\n他們在空中飛來飛去\nAs you comb your hair\n你在那邊梳頭\nAnd they’re splattered up and down your windshield\n他們一窩蜂的沖向擋風玻璃\nThe headlights\n撲向頭燈\nFly in the air\n在空中飛舞\nComb your hair\n梳著你的頭\nFly in the air\n在空中飛舞\nComb your hair\n梳著你的頭\n","title":"【歌詞翻譯】The Flaming Lips - Buggin 有蚊子","type":"music"},{"content":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\n紀錄團員身邊發生的真實故事。\nWhen you got that spiderbite on your hand\n當你的手被蜘蛛咬到後\nI thought we would have to break up the band\n我以為我們要解散樂團了\nTo lose your arm would surely upset your brain\n截肢肯定會讓你很難過\nThe poison then could reach your heart from a vein\n蜘蛛的毒素會經由血管流向心臟\nI was glad that it didn\u0026rsquo;t destroy you\n我很高興你安然無恙\nHow sad that would be\n如果真出了什麼亂子我會很傷心\n\u0026lsquo;Cause if it destroyed you\n因為如果你死了\nIt would destroy me\n我也會很難過\nWhen you had that accident in your car\n當你出了車禍\nThat whole thing just really seemed too bizarre\n整件事看起來就是很瘋狂\nDodging holes and telephone poles through the dash\n要開車躲避孔洞與電線桿\nA million to one that you could survive such a crash\n能在這種車禍中倖存下來的機率只有百萬之一\nI was glad it didn\u0026rsquo;t destroy you\n我很高興你安然無恙\nHow sad that would be\n如果真出了什麼亂子我會很傷心\n\u0026lsquo;Cause if it destroyed you\n因為如果你死了\nIt would destroy me\n我也會很難過\nWhen you fell in love, it was so sweet\n當你墜入愛河，那是多麼甜蜜\nSo devoted, completely swept off your feet\n如此投入，神魂顛倒\nLove is the greatest thing our heart can know\n我們心中所能感知最美好的事物就是愛\nBut the hole that it leaves in its abscence can make you feel so low\n可一旦失去後，就會讓你心情十分低落\nAnd I was glad it didn\u0026rsquo;t destroy you\n我很高興你安然無恙\nHow sad that would be\n如果真出了什麼亂子我會很傷心\n\u0026lsquo;Cause if it destroyed you\n因為如果你被擊倒了\nIt would destroy me\n我也會很難過\n","date":"2023年7月28日","externalUrl":null,"permalink":"/posts/the-flaming-lips-the-spiderbite-song-zh-tw/","section":"Musics","summary":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\n紀錄團員身邊發生的真實故事。\nWhen you got that spiderbite on your hand\n當你的手被蜘蛛咬到後\nI thought we would have to break up the band\n我以為我們要解散樂團了\nTo lose your arm would surely upset your brain\n截肢肯定會讓你很難過\nThe poison then could reach your heart from a vein\n蜘蛛的毒素會經由血管流向心臟\nI was glad that it didn’t destroy you\n我很高興你安然無恙\nHow sad that would be\n如果真出了什麼亂子我會很傷心\n‘Cause if it destroyed you\n因為如果你死了\nIt would destroy me\n我也會很難過\nWhen you had that accident in your car\n當你出了車禍\nThat whole thing just really seemed too bizarre\n整件事看起來就是很瘋狂\nDodging holes and telephone poles through the dash\n要開車躲避孔洞與電線桿\nA million to one that you could survive such a crash\n能在這種車禍中倖存下來的機率只有百萬之一\nI was glad it didn’t destroy you\n我很高興你安然無恙\nHow sad that would be\n如果真出了什麼亂子我會很傷心\n‘Cause if it destroyed you\n因為如果你死了\nIt would destroy me\n我也會很難過\nWhen you fell in love, it was so sweet\n當你墜入愛河，那是多麼甜蜜\nSo devoted, completely swept off your feet\n如此投入，神魂顛倒\nLove is the greatest thing our heart can know\n我們心中所能感知最美好的事物就是愛\nBut the hole that it leaves in its abscence can make you feel so low\n可一旦失去後，就會讓你心情十分低落\nAnd I was glad it didn’t destroy you\n我很高興你安然無恙\nHow sad that would be\n如果真出了什麼亂子我會很傷心\n‘Cause if it destroyed you\n因為如果你被擊倒了\nIt would destroy me\n我也會很難過\n","title":"【歌詞翻譯】The Flaming Lips - The Spiderbite Song 被蜘蛛咬了","type":"music"},{"content":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\n描寫靈感突發奇想的歌，並不是真的流血。\nI accidentally touched my head\n無意之間我碰了頭一下\nAnd noticed that it had been bleeding\n發現正在流血\nFor how long I did not know\n不知道已經過了多久\nWhat was this, I thought, that struck me?\n這種穿過我身體的感覺是什麼？\nWhat kind of weapons have they got?\n他們用了什麼武器？\nThe softest bullet ever shot\n從未見識過的柔軟子彈\nI stood up and I said yeah\n我站起來，大聲說耶\nI stood up and I said yeah\n我站起來，大聲說耶\nI stood up and I said hey, yeah\n我站起來，大聲說嘿耶\nFrom this moment on\n從此時開始\nBlaring like a trumpet\n四面八方傳來喇叭聲\nComin\u0026rsquo; from above us\n從天上\nAnd somewhere below\n和地下而來\nThe confidence of knowing\n得道的信心\nDecsending to relieve us\n降臨到我們身邊\nOf the struggle to believe its so\n安撫我們的傷痛\nI stood up and I said yeah\n我站起來，大聲說耶\nI spoke up and I said hey\n我大聲地，說嘿\nI stood up and I said hey yeah\n我站起來，大聲說耶\nAnd it seemed to cause a chain reaction\n看起來這造成了連鎖反應\nIt had momentum it was gaining traction\n逐步的擴張發展起來了\nIt was all the rage it was all the fashion\n風馳電掣，充滿我的身軀\nThe outreached hands had resigned themselves to\n張開的雙手已經\nHolding on to something that they never had\n掌握了特別的事物\nAnd thats too bad\n然而我很傷心\n\u0026lsquo;Cause in reality there was no reaction\n因為現實中沒有這樣的反應\nI accidentally touched my head\n無意之間我碰了頭一下\nAnd noticed that it had been bleeding\n發現正在流血\nFor how long I did not know\n不知道已經過了多久\n","date":"2023年7月28日","externalUrl":null,"permalink":"/posts/the-flaming-lips-the-spark-that-bled-zh-tw/","section":"Musics","summary":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\n描寫靈感突發奇想的歌，並不是真的流血。\nI accidentally touched my head\n無意之間我碰了頭一下\nAnd noticed that it had been bleeding\n發現正在流血\nFor how long I did not know\n不知道已經過了多久\nWhat was this, I thought, that struck me?\n這種穿過我身體的感覺是什麼？\nWhat kind of weapons have they got?\n他們用了什麼武器？\nThe softest bullet ever shot\n從未見識過的柔軟子彈\nI stood up and I said yeah\n我站起來，大聲說耶\nI stood up and I said yeah\n我站起來，大聲說耶\nI stood up and I said hey, yeah\n我站起來，大聲說嘿耶\nFrom this moment on\n從此時開始\nBlaring like a trumpet\n四面八方傳來喇叭聲\nComin’ from above us\n從天上\nAnd somewhere below\n和地下而來\nThe confidence of knowing\n得道的信心\nDecsending to relieve us\n降臨到我們身邊\nOf the struggle to believe its so\n安撫我們的傷痛\nI stood up and I said yeah\n我站起來，大聲說耶\nI spoke up and I said hey\n我大聲地，說嘿\nI stood up and I said hey yeah\n我站起來，大聲說耶\nAnd it seemed to cause a chain reaction\n看起來這造成了連鎖反應\nIt had momentum it was gaining traction\n逐步的擴張發展起來了\nIt was all the rage it was all the fashion\n風馳電掣，充滿我的身軀\nThe outreached hands had resigned themselves to\n張開的雙手已經\nHolding on to something that they never had\n掌握了特別的事物\nAnd thats too bad\n然而我很傷心\n‘Cause in reality there was no reaction\n因為現實中沒有這樣的反應\nI accidentally touched my head\n無意之間我碰了頭一下\nAnd noticed that it had been bleeding\n發現正在流血\nFor how long I did not know\n不知道已經過了多久\n","title":"【歌詞翻譯】The Flaming Lips - The Spark That Bled 閃耀的鮮血","type":"music"},{"content":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\n這首歌曲也跟核武有關。\nAnd though they were sad\n雖然很傷痛\nThey rescued everyone\n他們拯救了所有人\nThey lifted up the sun\n他們舉起了太陽\nA spoonful weighs a ton\n沈重的一勺\nGiving more than they had\n比他們擁有的要多\nThe process had begun\n這一切已經開始\nA million came from one\n分子由一生出百萬\nThe limits now were none\n限制已經解除\nBeing drunk on their plan, they lifted up the sun\n他們醉心於自己的計畫，他們舉起了太陽\nForcing it off with their hands\n用手將其推了出來\nThe trapdoor came undone\n打開了活板門\nAbove our heads it swung\n他在我們頭頂上晃動著\nThe privilege had been won\n贏得了一切權利\nBeing drunk on their plan, they lifted up the sun\n他們醉心於自己的計畫，他們舉起了太陽\nYelling as hard as they can\n竭盡所能的呼喊\nThe doubters all were stunned\n所有反對者都目瞪口呆了\nHeard louder than a gun\n比槍聲還要劇烈的聲響\nThe sound they made was love\n他們發出了愛的聲響\n","date":"2023年7月28日","externalUrl":null,"permalink":"/posts/the-flaming-lips-a-spoonful-weighs-a-ton-zh-tw/","section":"Musics","summary":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\n這首歌曲也跟核武有關。\nAnd though they were sad\n雖然很傷痛\nThey rescued everyone\n他們拯救了所有人\nThey lifted up the sun\n他們舉起了太陽\nA spoonful weighs a ton\n沈重的一勺\nGiving more than they had\n比他們擁有的要多\nThe process had begun\n這一切已經開始\nA million came from one\n分子由一生出百萬\nThe limits now were none\n限制已經解除\nBeing drunk on their plan, they lifted up the sun\n他們醉心於自己的計畫，他們舉起了太陽\nForcing it off with their hands\n用手將其推了出來\nThe trapdoor came undone\n打開了活板門\nAbove our heads it swung\n他在我們頭頂上晃動著\nThe privilege had been won\n贏得了一切權利\nBeing drunk on their plan, they lifted up the sun\n他們醉心於自己的計畫，他們舉起了太陽\nYelling as hard as they can\n竭盡所能的呼喊\nThe doubters all were stunned\n所有反對者都目瞪口呆了\nHeard louder than a gun\n比槍聲還要劇烈的聲響\nThe sound they made was love\n他們發出了愛的聲響\n","title":"【歌詞翻譯】The Flaming Lips - A Spoonful Weighs a Ton 沈重的一勺","type":"music"},{"content":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\n官方MV One, two, one!\n一、二、三！\nTwo scientists are racing\n二個科學家正在彼此競爭著\nFor the good of all mankind\n為了全人類而努力\nBoth of them side-by-side\n兩邊都肩並肩\nSo determined\n如此堅決\nLocked in heated battle\n困在熱核之爭\nFor the cure that is their prize\n追尋的就是他們的獎勵\nBut it\u0026rsquo;s so dangerous\n但是過於危險\nBut they\u0026rsquo;re determined\n但是他們已經下定決心 Theirs is to win\n要在競爭中勝出\nIf it kills them\n即使他們死了\nThey\u0026rsquo;re just humans\n他們仍然只是普通人\nWith wives and children\n有妻子和小孩的普通人\nUpwards to the vanguard\n蘑菇雲衝上雲霄\nWhere the pressure is too high\n壓力甚大\nUnder the microscope\n在麥克風之間\nHope against hope\n希望之間的對決\nForging for the future\n為了未來而戰\nBut to sacrifice their lives\n但犧牲的卻是自己的生命\nBoth of them side-by-side\n二邊都肩並肩\nSo determined\n如此堅決\nTheirs is to win\n要在競爭中勝出\nIf it kills them\n即使他們死了\nThey\u0026rsquo;re just humans\n他們仍然只是普通人\nWith wives and children\n有妻子和小孩的普通人 Theirs is to win\n要在競爭中勝出\nIf it kills them\n即使他們死了\nThey\u0026rsquo;re just human\n他們仍然只是普通人\nWith wives and children\n有妻子和小孩的普通人\n","date":"2023年7月28日","externalUrl":null,"permalink":"/posts/the-flaming-lips-race-for-the-prize-zh-tw/","section":"Musics","summary":"返回專輯：The Flaming Lips - The Soft Bulletin 軟性公報\n官方MV One, two, one!\n一、二、三！\nTwo scientists are racing\n二個科學家正在彼此競爭著\nFor the good of all mankind\n為了全人類而努力\nBoth of them side-by-side\n兩邊都肩並肩\nSo determined\n如此堅決\nLocked in heated battle\n困在熱核之爭\nFor the cure that is their prize\n追尋的就是他們的獎勵\nBut it’s so dangerous\n但是過於危險\nBut they’re determined\n但是他們已經下定決心 Theirs is to win\n要在競爭中勝出\nIf it kills them\n即使他們死了\nThey’re just humans\n他們仍然只是普通人\nWith wives and children\n有妻子和小孩的普通人\nUpwards to the vanguard\n蘑菇雲衝上雲霄\nWhere the pressure is too high\n壓力甚大\nUnder the microscope\n在麥克風之間\nHope against hope\n希望之間的對決\nForging for the future\n為了未來而戰\nBut to sacrifice their lives\n但犧牲的卻是自己的生命\nBoth of them side-by-side\n二邊都肩並肩\nSo determined\n如此堅決\nTheirs is to win\n要在競爭中勝出\nIf it kills them\n即使他們死了\nThey’re just humans\n他們仍然只是普通人\nWith wives and children\n有妻子和小孩的普通人 Theirs is to win\n要在競爭中勝出\nIf it kills them\n即使他們死了\nThey’re just human\n他們仍然只是普通人\nWith wives and children\n有妻子和小孩的普通人\n","title":"【歌詞翻譯】The Flaming Lips - Race for the Prize 爭奪獎勵","type":"music"},{"content":"烈火紅唇樂團 - 《軟性公報》 (The Flaming Lips - The Soft Bulletin)，1999年發行的迷幻搖滾專輯。 專輯名稱來自參與過二戰曼哈頓計劃的核武科學家所出版的原子科學家公報(Atomic Bulletin)，該組織長期以來關注核武對人類的危害。\n專輯部份歌曲表達對核子武器的擔憂，用輕快蓬勃的節奏述說沈重的主題，另一部份則是對人生無奈的回饋。\n本張專輯其中我比較推薦的歌曲：Waiting for Superman、The Spark That Bled、The Gash，都是對人生經驗的良好體悟。\n1. Race for the Prize 爭奪獎勵 # 歌詞翻譯\n2. A Spoonful Weighs a Ton 沈重的一勺 # 歌詞翻譯\n3. The Spark That Bled 閃耀的鮮血 # 歌詞翻譯\n4. The Spiderbite Song 被蜘蛛咬了 # 歌詞翻譯\n5. Buggin 有蚊子 # 歌詞翻譯\n6. What Is the Light? 那是什麼光？ # 歌詞翻譯\n7. The Observer 觀測者 # （純音樂）\n8. Waitin\u0026rsquo; for a Superman 等待超人 # 歌詞翻譯\n9. Suddenly Everything Has Changed 突然間一切都變了 # 歌詞翻譯\n10. The Gash 傷痕 # 歌詞翻譯\n11. Feeling Yourself Disintegrate 感覺自己分崩離析 # 歌詞翻譯\n12. Sleeping on the Roof 晚間的屋頂 # （純音樂）\n","date":"2023年7月28日","externalUrl":null,"permalink":"/posts/the-flaming-lips-the-soft-bulletin-full-album-lyrics-translations/","section":"Musics","summary":"烈火紅唇樂團 - 《軟性公報》 (The Flaming Lips - The Soft Bulletin)，1999年發行的迷幻搖滾專輯。 專輯名稱來自參與過二戰曼哈頓計劃的核武科學家所出版的原子科學家公報(Atomic Bulletin)，該組織長期以來關注核武對人類的危害。\n專輯部份歌曲表達對核子武器的擔憂，用輕快蓬勃的節奏述說沈重的主題，另一部份則是對人生無奈的回饋。\n本張專輯其中我比較推薦的歌曲：Waiting for Superman、The Spark That Bled、The Gash，都是對人生經驗的良好體悟。\n1. Race for the Prize 爭奪獎勵 # 歌詞翻譯\n2. A Spoonful Weighs a Ton 沈重的一勺 # 歌詞翻譯\n3. The Spark That Bled 閃耀的鮮血 # 歌詞翻譯\n4. The Spiderbite Song 被蜘蛛咬了 # 歌詞翻譯\n5. Buggin 有蚊子 # 歌詞翻譯\n6. What Is the Light? 那是什麼光？ # 歌詞翻譯\n7. The Observer 觀測者 # （純音樂）\n","title":"【全專輯歌詞翻譯】The Flaming Lips - The Soft Bulletin","type":"music"},{"content":"ReShade是crosire製作的開源軟體，針對Windows遊戲開發，可給遊戲增添濾鏡、強化光影、提昇畫面品質、提高解析度。\nReShade前後對比，用Linux跑Steam版的VRChat作示範。在光影調整得當的情況下，真可謂蓬蓽生輝呀。 VRChat Mountain Pass Garden VRChat Mountain Pass Garden\nVRChat Mountain Pass Garden VRChat Mountain Pass Garden\nVRChat Master Emerald Shrine VRChat Master Emerald Shrine\nVRChat Master Emerald Shrine VRChat Master Emerald Shrine\nReShade的原理是注入Windows遊戲的dll檔來渲染著色器。換句話說，Linux的ReShade只能跑在用Proton/Wine轉譯執行的Windows遊戲上，目標遊戲必須是exe檔（例如VRChat）。\n因此，如果要在更多Linux的遊戲跑著色器，請改用ReShade的Linux原生移植版：vkBasalt，它不只支援Steam Proton，還支援更多原生Linux遊戲（例如War Thunder）\n1. 安裝ReShade至Flatpak的遊戲 # ReShade是個別遊戲安裝的，無法全域啟用。\n此處以Steam的Windows遊戲為例，請先用Flatpak安裝Steam。\nFlatpak版Steam需開放讀取ReShade安裝目錄的權限 (~/.local/share/reshade) flatpak override --user --filesystem=/home/user/.local/share/reshade com.valvesoftware.Steam 開啟Steam遊戲收藏庫，右鍵 → 管理 → 瀏覽本機檔案，複製檔案管理員顯示的路徑）\n執行kevinlekiller的指令稿，它會將ReShade內建的著色器下載到~/.local/share/reshade\ncurl -LO https://github.com/kevinlekiller/reshade-steam-proton/raw/main/reshade-linux.sh chmod u+x reshade-linux.sh ./reshade-linux.sh 輸入i，安裝ReShade 依照指示貼上遊戲所在路徑，例如~/home/user/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/common/VRChat\n全部輸入y讓它安裝ReShade到該遊戲的目錄，注意終端機印出的LAUNCH OPTIONS指令。 回到Steam，對收藏庫的遊戲按右鍵 → 內容，依照剛剛終端機輸出的內容，將遊戲的啟動選項改為以下指令：\nWINEDLLOVERRIDES=\u0026#34;d3dcompiler_47=n;dxgi=n,b\u0026#34; %command% -provider Portal 2. 在遊戲中使用ReShade # 開啟遊戲，按下鍵盤的Home鍵，叫出ReShade面板\n勾選左下角的Performance Mode 點選右上角的Settings，將路徑刪到只剩Shader或Texture 再設定開關著色器的快捷鍵，我設定為數字鍵的7 回到主介面，勾選要使用的著色器，重開遊戲即會出現效果。 ReShade的著色器目錄位於~/.local/share/reshade，要裝更多第三方開發的ReSahde著色器就是往這裡丟。\n4. 如何解除安裝ReShade # 再度執行kevinlekiller的指令稿\n./reshade-linux.sh 輸入u，再提供遊戲的路徑，即會解除安裝。\n在那之後將Steam遊戲的啟動選項恢復成%command%\n參考資料 # Installing ReShade on Guild Wars 2 running under Linux 【密技】簡單增強畫面- 進階後處理濾鏡《 ReShade 》 【心得】Steam Deck 去除黑邊、放大畫面使用ReShade ","date":"2023年7月28日","externalUrl":null,"permalink":"/posts/reshade-steam-proton/","section":"所有文章","summary":"ReShade是crosire製作的開源軟體，針對Windows遊戲開發，可給遊戲增添濾鏡、強化光影、提昇畫面品質、提高解析度。\nReShade前後對比，用Linux跑Steam版的VRChat作示範。在光影調整得當的情況下，真可謂蓬蓽生輝呀。 VRChat Mountain Pass Garden VRChat Mountain Pass Garden\nVRChat Mountain Pass Garden VRChat Mountain Pass Garden\nVRChat Master Emerald Shrine VRChat Master Emerald Shrine\nVRChat Master Emerald Shrine VRChat Master Emerald Shrine\nReShade的原理是注入Windows遊戲的dll檔來渲染著色器。換句話說，Linux的ReShade只能跑在用Proton/Wine轉譯執行的Windows遊戲上，目標遊戲必須是exe檔（例如VRChat）。\n因此，如果要在更多Linux的遊戲跑著色器，請改用ReShade的Linux原生移植版：vkBasalt，它不只支援Steam Proton，還支援更多原生Linux遊戲（例如War Thunder）\n1. 安裝ReShade至Flatpak的遊戲 # ReShade是個別遊戲安裝的，無法全域啟用。\n此處以Steam的Windows遊戲為例，請先用Flatpak安裝Steam。\nFlatpak版Steam需開放讀取ReShade安裝目錄的權限 (~/.local/share/reshade) flatpak override --user --filesystem=/home/user/.local/share/reshade com.valvesoftware.Steam 開啟Steam遊戲收藏庫，右鍵 → 管理 → 瀏覽本機檔案，複製檔案管理員顯示的路徑）\n","title":"Linux系統ReShade光影 ＋ Steam Proton遊戲的裝法","type":"posts"},{"content":"想給Linux遊戲加上濾鏡、特效、光影著色器、提升畫質效果？安裝後處理軟體「vkBasalt」吧。 vkBasalt是由Georg Lehmann開發的開源軟體，他說這是仿造「ReShade」產生的專案，連特效種類都很相似，相容部份ReShade的著色器。\n差別在於，ReShade是專為Windows遊戲寫的，雖然Linux系統的ReShade可以用Proton跑，但頂多支援到Steam Proton跑的Windows遊戲（例如GTA V）。而vkBasalt不只支援Steam Proton，還支援Linux的原生Vulkan遊戲（例如War Thunder）。\nvkBasalt能配合DXVK與VKD3D使用，但預設不支援OpenGL寫的遊戲。\nBottles for Linux的開發者已將vkBasalt納入他的應用程式，稱之為\u0026quot;post processing effect\u0026quot;。\n1. 安裝vkBasalt # 請參照Github指示\nUbuntu從套件庫安裝：\nsudo apt install vkbasalt Arch Linux從AUR安裝：\nyay -S vkbasalt lib32-vkbasalt Flatpak版。需要使用flatpak list --app --app-runtime=org.freedesktop.Platform指令檢查目前Flatpak版Steam依賴的是哪個org.freedesktop.Platform，再安裝vkBasalt：\nflatpak install org.freedesktop.Platform.VulkanLayer.vkBasalt 2. 用圖形介面Goverlay編輯vkBasalt設定檔 # 安裝圖形程式Goverlay來編輯vkBasalt設定檔。\nUbuntu從套件庫安裝：\nsudo apt install goverlay Arch Linux從AUR安裝：\nyay -S goverlay-bin Goverlay預設編輯的是位於~/.config/vkBasalt/vkBasalt.conf的vkBasalt設定檔。\n切換到vkBasalt頁面，勾選要使用的著色器，加到右邊的面板 點選右下角Save儲存。按一下RUN，就會跑出測試用的Vkcube方便觀察效果。在執行過程中，按Home鍵可關閉vkBasalt的特效。 通常用下去比較「有感」的著色器是AdaptiveSharpn、AdaptiveFog、AmbientLight、Bloom、Clarity、FakeHDR這類的。\nGoverlay似乎有bug，之前啟用的著色器列表重開後就會噴掉。\n3. vkBasalt用法 # 3.1. 原生Vulkan程式 # 使用以下環境變數執行。\nENABLE_VKBASALT=1 \u0026lt;應用程式名稱\u0026gt; 例如執行Vkcube。在執行過程中按Home鍵可關閉vkBasalt的特效。\nENABLE_VKBASALT=1 vkcube 3.2. Flatpak的Vulkan程式 # 以Steam遊戲為例，請先用Flatpak安裝Steam。\n加入以下環境變數，啟用vkBasalt，指定vkBasalt的設定檔位置，並開放Steam讀取 flatpak override --user --env=ENABLE_VKBASALT=1 com.valvesoftware.Steam flatpak override --user --env=VKBASALT_CONFIG_FILE=/home/user/.config/vkBasalt/vkBasalt.conf com.valvesoftware.Steam flatpak override --user --filesystem=/home/user/.config/vkBasalt com.valvesoftware.Steam 接著在要使用vkBasalt的遊戲的啟動選項加入ENABLE_VKBASALT=1 3.3. 非Vulkan的OpenGL程式 # vkBasalt預設只支援Vulkan程式，利用Mesa的Zink驅動將OpenGL轉譯為Vulkan，這樣vkBasalt就能載入了。不過強制啟用Zink可能導致遊戲閃退，所以這裡我採用折衷作法：利用Steam提供的Gamescope合成器，將OpenGL轉Vulkan。\n安裝Gamescope flatpak install flathub com.valvesoftware.Steam.Utility.gamescope 編輯Steam遊戲的啟動選項，加入Gamescope的指令 gamescope %command% 4. 在vkBasalt使用ReShade的著色器 # 以crosire蒐集的Reshade著色器為例，下載ReShade FX shaders壓縮檔，解壓縮將Shaders和Textures放到任意目錄，例如~/.local/share/reshade/\n編輯~/.config/vkBasalt/vkBasalt.conf，填入ReShader Fx著色器所在目錄\n# 要啟用的Reshade著色器 effects = colorfulness:denoise # 個別Reshade著色器對應的具體路徑 colorfulness = /home/user/.local/share/reshade/Shaders/Colourfulness.fx denoise = /home/user/.local/share/reshade/Shaders/Denoise.fx # Reshae著色器路徑 reshadeTexturePath = /home/user/.local/share/reshade/Textures reshadeIncludePath = /home/user/.local/share/reshad/Shaders 參考資料 # DadSchoorse/vkBasalt - a vulkan post processing layer for linux - GitHub flathub/org.freedesktop.Platform.VulkanLayer.vkBasalt - GitHub Support zink · Issue #168 · DadSchoorse/vkBasalt - GitHub ","date":"2023年7月27日","externalUrl":null,"permalink":"/posts/linux-vkbasalt/","section":"所有文章","summary":"想給Linux遊戲加上濾鏡、特效、光影著色器、提升畫質效果？安裝後處理軟體「vkBasalt」吧。 vkBasalt是由Georg Lehmann開發的開源軟體，他說這是仿造「ReShade」產生的專案，連特效種類都很相似，相容部份ReShade的著色器。\n差別在於，ReShade是專為Windows遊戲寫的，雖然Linux系統的ReShade可以用Proton跑，但頂多支援到Steam Proton跑的Windows遊戲（例如GTA V）。而vkBasalt不只支援Steam Proton，還支援Linux的原生Vulkan遊戲（例如War Thunder）。\nvkBasalt能配合DXVK與VKD3D使用，但預設不支援OpenGL寫的遊戲。\nBottles for Linux的開發者已將vkBasalt納入他的應用程式，稱之為\"post processing effect\"。\n1. 安裝vkBasalt # 請參照Github指示\nUbuntu從套件庫安裝：\nsudo apt install vkbasalt Arch Linux從AUR安裝：\nyay -S vkbasalt lib32-vkbasalt Flatpak版。需要使用flatpak list --app --app-runtime=org.freedesktop.Platform指令檢查目前Flatpak版Steam依賴的是哪個org.freedesktop.Platform，再安裝vkBasalt：\n","title":" 讓Linux遊戲畫面更炫砲，vkBasalt遊戲特效濾鏡安裝","type":"posts"},{"content":"Feral Interactive公司推出的「Game Mode」開源軟體宣稱可以增進遊戲效能，提高CPU效率，提高I/O優先級，甚至能給GPU超頻。 1. 安裝Gamemode # 參考Github，原生版Gamemode可以從Arch Linux官方儲存庫安裝：\nsudo pacman -S gamemode lib32-gamemode 至於Flatpak，Gamemode已內建於Steam Flatpak版，只要往遊戲啟動選項加入gamemoderun即可。\n2. 使用方式 # gamemode預設讀取~/.config/gamemode.ini，再來是/etc/gamemode.ini設定檔來執行遊戲。\n用gamemode執行遊戲的語法：\ngamemoderun \u0026lt;程式名稱\u0026gt; 以此方式執行遊戲，讀取的是~/.config/gamemode.ini。\n要知道查看Gammode有無跑起來，看CPU governor有無調整成performance就知道了\ncat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor Gamemod也可以當成系統服務常駐執行：\nsystemctl --user enable --now gamemoded 如果您的遊戲不在Flatpak Steam，那最簡單方式就是用這個系統服務的方式，全域啟用Gamemode了。\n如果是Flatpak版Steam，需要開放Steam讀gamemode設定檔的權限\nflatpak override --user --filesystem=\u0026#34;/home/user/.config/gamemode.ini\u0026#34; com.valvesoftware.Steam 並在遊戲啟動選項加入gamemoderun的指令。 3. 撰寫Gamemode設定檔 # 設定檔請優先放置在~/.config/gamemode.ini，不行的話再嘗試/etc/gamemode.ini。\n下載Feral提供的範本，裡面每個選項都有註解 cd ~/.config/ wget https://raw.githubusercontent.com/FeralInteractive/gamemode/master/example/gamemode.ini 編輯gamemode.ini，設定desiredgov為performance，即Gamemode啟動後的CPU governor，defaultgov則是退出Gamemode後的CPU governor，預設為powersave。 desiredgov=performance defaultgov=powersave 將最下面這段取消註解，這樣Gamemode一啟動就會傳送通知。 [custom] start=notify-send \u0026#34;GameMode started\u0026#34; end=notify-send \u0026#34;GameMode ended\u0026#34; 開啟Nvidia Settings，將PowerMizer調整為Prefer Maximum Performance 接著是GPU超頻的部份，這個比起CPU更能提昇遊戲性能，Nvidia GPU要超頻得在X伺服器的設定檔開啟Coolbits後重開機：\nsudo nvidia-xconfig --cool-bits=24 又，Flatpak的Gamemode無法修改系統設定，我不啟用Gamemode的超頻設定，改用另一款超頻工具GreenWithEnvy來達到目的。GreenWithEnvy的面板下方可以設定要超頻的時脈和記憶體數值(Linux無法超電壓)，建議先小幅度超一點點，我Nvidia GTX1050Ti超到500MHz以上就會黑螢幕了。 如果真的黑螢幕，強制重開機，移除EnvyGreen在~/.var/app/com.leinardi.gwe/config/gwe/的設定檔。\n4. Gamemode開啟前後性能比較 # CPU：Intel I5-7400。 GPU Nvidia GTX1050Ti。 系統Arch Linux 6.4.4\n使用《戰爭雷霆》2.271.1.57版本，開電影畫質測試\n使用MangoHud的FPS統計功能，如果不GPU超頻FPS基本沒變化。 Gamemode加上GPU超頻的話FPS才好看一些。 按照網友在How much of a difference does gamemode actually make? - Reddit經驗分享，Gamemode的用處可能在於消弭突發lag情況，但對整體FPS而言無多大幫助。\n5. 與Power Profile Dameon、cpupower的差異 # Power Profile Dameon是Linux用來調節電源用量的服務，GNOME與KDE皆有採用。\nGamemode效能可能比桌面環境內建的Power Profile dameon要好些，因為即使我將KDE調整到「效能」模式，CPU Governor政策仍是powersave。\n至於Gamemode的選項又比單純調整CPU頻率的cpupower要多一些。\n參考資料 # FeralInteractive/gamemode - Github Gamemode - ArchWiki NVIDIA/Tips and tricks #Overclocking and cooling - ArchWiki ","date":"2023年7月27日","externalUrl":null,"permalink":"/posts/linux-feral-gamemode/","section":"所有文章","summary":"Feral Interactive公司推出的「Game Mode」開源軟體宣稱可以增進遊戲效能，提高CPU效率，提高I/O優先級，甚至能給GPU超頻。 1. 安裝Gamemode # 參考Github，原生版Gamemode可以從Arch Linux官方儲存庫安裝：\nsudo pacman -S gamemode lib32-gamemode 至於Flatpak，Gamemode已內建於Steam Flatpak版，只要往遊戲啟動選項加入gamemoderun即可。\n2. 使用方式 # gamemode預設讀取~/.config/gamemode.ini，再來是/etc/gamemode.ini設定檔來執行遊戲。\n用gamemode執行遊戲的語法：\ngamemoderun \u003c程式名稱\u003e 以此方式執行遊戲，讀取的是~/.config/gamemode.ini。\n要知道查看Gammode有無跑起來，看CPU governor有無調整成performance就知道了\ncat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor Gamemod也可以當成系統服務常駐執行：\nsystemctl --user enable --now gamemoded 如果您的遊戲不在Flatpak Steam，那最簡單方式就是用這個系統服務的方式，全域啟用Gamemode了。\n如果是Flatpak版Steam，需要開放Steam讀gamemode設定檔的權限\n","title":"Feral Gamemode教學，增強Linux遊戲性能","type":"posts"},{"content":"","date":"2023年7月27日","externalUrl":null,"permalink":"/tags/overclocking/","section":"標籤","summary":"","title":"Overclocking","type":"tags"},{"content":"Linux系統透過一些開源軟體的幫助就能存取iPhone/iPad的照片，甚至可以免iTunes整機備份、重置系統、給iPhone越獄。 為何不用iTunes呢？iTunes只有Windows與macOS版，Linux系統得用Wine裝，但是用Wine裝iTunes很痛苦的，最新版本就算依賴套件全裝開啟還是黑螢幕。若不想為存取iPhone/iPad檔案開Windows虛擬機，那就使用開源軟體來達成目標吧！不需要用Windows上閉源的iMazing、iTools軟體。\n本文提及的軟體，Ivon使用iOS 18的裝置測試過，確認可以使用。\n另請參見：\nLinux安裝 Windows QEMU/KVM虛擬機跑iTunes Linux安裝 macOS QEMU/KVM虛擬機跑iTunes Linux使用AirPlay的方法 將iCloud服務整合至Linux Linux透過Waydroid聽Apple Music iDescriptor用圖形界面管理iOS檔案 1. 安裝libimobiledevice相關套件 # 在Linux電腦安裝以下套件，這些工具都是開源社群針對Apple公司技術的重新實作，他們還有提供macOS和Windows的版本。\nusbmuxd：用於處理蘋果的USB通訊，並允許iOS裝置以USB分享網路給電腦。 libimobiledevice：用於處理蘋果的USB通訊，還可以用來截圖、取得裝置資訊。 ifuse：用於掛載iOS裝置的檔案系統，也可以掛載iOS APP的目錄。 idevicerestore：升級重置iOS裝置 ideviceinstaller：管理iOS裝置上的APP，也能安裝自己編譯的IPA。 Ubuntu LTS需要安裝以下套件：\nsudo apt install usbmuxd libimobiledevice-utils libimobiledevice-dev ifuse sudo systemctl enable --now usbmuxd 2. 用idevicepair與iPhone配對 # 無法連線的話先執行sudo systemctl enable --now usbmuxd和sudo systemctl enable --now avahi-daemon。\n如果執行指令的時候認不到裝置，請嘗試加上sudo。\n將iPhone插上電腦，輸入指令配對 idevicepair pair 在iPhone上點選「信任此電腦」。\n驗證連接是否成功\nidevicepair validate 3. ifuse 傳輸iPhone的照片影片 # 參見ifuse用法\n4. ifuse 傳輸iPhone APP共享資料夾的檔案 # 參見ifuse用法\n5. idevicebackup2 整機iPhone備份與還原 # 參見idevicebackup用法\n6. idevicerestore DFU模式升級重置iPhone系統 # idevicerestore工具可以用來重置iPhone系統（也就是DFU模式），也可以降級系統。\nIPSW認證伺服器必須為開啟狀態。另外，idevicerestore支援抓取SHSH blobs，該檔案是Apple關閉IPSW認證伺服器之後降級必須的檔案。不過搭載A12處理器以後的iOS裝置（也就是iPhone X之後出的裝置）SHSH blobs已經無效，你只能降級到有開放認證伺服器的系統版本。\n重置前務必登出Apple ID與關閉尋找我的iPhone。\n用以下指令清除iPhone資料，並重置系統。請注意新版本iOS的系統備份無法還原到舊版本。 idevicerestore --erase --latest 按照指示選取有Apple簽名的IPSW，它會自動下載IPSW，將系統升級到該機型支援的最新版iOS。 輸入YES同意刪除資料 另外，如果你的iOS裝置卡在恢復模式(Recovery Mode)，那麼可以用另一款工具irecovery指令退出：\nirecovery -n 7. ideviceinstaller 安裝IPA # ideviceinstaller主要是給macOS除錯用的，得自行用Xcode編譯IPA後，透過此指令安裝到iOS裝置上：\nideviceinstaller -i CercubePlus.ipa 不過若單純想安裝第三方APP，還是使用AltStore安裝較簡單。\n參考資料 # iOS - Arch Linux Wiki Apple iPod, iPad, iPhone - Gentoo Wiki libimobiledevice - GitHub ","date":"2023年7月26日","externalUrl":null,"permalink":"/posts/linux-access-ios-files/","section":"所有文章","summary":"Linux系統透過一些開源軟體的幫助就能存取iPhone/iPad的照片，甚至可以免iTunes整機備份、重置系統、給iPhone越獄。 為何不用iTunes呢？iTunes只有Windows與macOS版，Linux系統得用Wine裝，但是用Wine裝iTunes很痛苦的，最新版本就算依賴套件全裝開啟還是黑螢幕。若不想為存取iPhone/iPad檔案開Windows虛擬機，那就使用開源軟體來達成目標吧！不需要用Windows上閉源的iMazing、iTools軟體。\n本文提及的軟體，Ivon使用iOS 18的裝置測試過，確認可以使用。\n另請參見：\nLinux安裝 Windows QEMU/KVM虛擬機跑iTunes Linux安裝 macOS QEMU/KVM虛擬機跑iTunes Linux使用AirPlay的方法 將iCloud服務整合至Linux Linux透過Waydroid聽Apple Music iDescriptor用圖形界面管理iOS檔案 1. 安裝libimobiledevice相關套件 # 在Linux電腦安裝以下套件，這些工具都是開源社群針對Apple公司技術的重新實作，他們還有提供macOS和Windows的版本。\nusbmuxd：用於處理蘋果的USB通訊，並允許iOS裝置以USB分享網路給電腦。 libimobiledevice：用於處理蘋果的USB通訊，還可以用來截圖、取得裝置資訊。 ifuse：用於掛載iOS裝置的檔案系統，也可以掛載iOS APP的目錄。 idevicerestore：升級重置iOS裝置 ideviceinstaller：管理iOS裝置上的APP，也能安裝自己編譯的IPA。 Ubuntu LTS需要安裝以下套件：\n","title":"免安裝iTunes，Linux系統透過libimobiledevice連接iPhone傳照片、備份系統、DFU重置系統","type":"posts"},{"content":" この記事では、Androidスマホ上でTermuxのproot-distroパッケージを使い、デスクトップ環境付きのArch Linux ARMを手動で設定する方法を説明します。音楽や動画の再生、デスクトップLinux向けアプリの利用もできます。 Arch Linuxはシンプルさを重視するLinuxディストリビューションで、ユーザーが必要に応じてシステムを組み上げる方針なので、インストール作業ではコマンドを手入力します。Arch Linux ARMは、本家Arch Linux（x86アーキテクチャ中心）の派生版です。x86版にある一部パッケージはARM側で見つからない場合がありますが、AURは同じように利用できます。\nこの記事ではArch Linuxを手動でインストールする方法を紹介します。手動設定が面倒な場合は、ワンタップインストール用スクリプトの安裝Termux Proot-distroを使ってください。\n1. 事前準備 # Arch Linuxを動かすには、スマホに最低4GB RAM、グラフィカル環境では最低6GB RAMが必要です。足りないとシステムがクラッシュしやすくなります。\nストレージ容量は10GB用意してください。\n私の端末：小米Poco F1, Lineage OS 20 (Android 13)\n先にこちらを読んでください：Termux基礎教學\n続いてTermux X11をインストールします\nハードウェアアクセラレーションを設定します。Termux以virglrenderer達成GPU 3D硬體加速\n2. Proot Arch Linux基本システムをインストールする # Termuxを実行中に通知欄を下へスワイプし、ACQUIRE WAKELOCKを押してバックグラウンドで動き続けるようにします。\nまずproot-distro、PulseAudio、vimをインストールします pkg update pkg install proot-distro pulseaudio vim Arch Linuxをインストールします proot-distro install archlinux ダウンロード後、以下のコマンドでArch Linuxにログインします。--userパラメータは指定したアカウントでログインすることを表し、ここではrootです。--shared-tmpはTermuxのtmpディレクトリをproot内部にマウントし、Xサーバーのリソースを共有します。 proot-distro login archlinux --user root --shared-tmp システムパッケージを更新します。yを入力して更新を確認します。 pacman -Syu Prootシステムを終了するには、exitを入力してログアウトします。 3. Arch Linuxパッケージリポジトリのミラーを変更する # これは任意の手順です。Arch Linux ARM公式サイトでミラーを探すと、ダウンロードを高速化できます。\n例として台湾国内のミラーを使います。viで/etc/pacman.d/mirrorlistを編集します。 vi /etc/pacman.d/mirrorlist 台湾サーバーServer = http://tw2.mirror.archlinuxarm.orgのコメントアウトを外します。\n変更後、もう一度システムを更新します\npacman -Syu 4. 一般ユーザーを追加する # rootパスワードを変更します passwd 一般ユーザーuserを追加し、wheelグループに追加してからパスワードを変更します pacman -S sudo vim useradd -m -g users -G wheel,audio,video,storage -s /bin/bash user passwd user 一般ユーザーアカウントに管理者権限を付与します。/etc/sudoersを編集します vim /etc/sudoers # `root ALL=(ALL) ALL`の次の行に以下を追加します: user ALL=(ALL) ALL 続いてuserアカウントでログインします。以後はrootではなく、一般ユーザーアカウントでシステムにログインします。 su user cd 5. デスクトップ環境とよく使うツールをインストールする # Firefox、中国語フォント、SSHをインストールします sudo pacman -S vim firefox networkmanager xorg xorg-server pulseaudio noto-fonts-cjk git openssh fakeroot base-devel AUR Helperとしてyayをインストールします。ビルドに少し時間がかかります sudo pacman -S --needed git base-devel \u0026amp;\u0026amp; git clone https://aur.archlinux.org/yay.git \u0026amp;\u0026amp; cd yay \u0026amp;\u0026amp; makepkg -si vimで/etc/makepkg.confを編集し、MAKEFLAGS=\u0026quot;-j2\u0026quot;のコメントアウトを外します。さらに-jの後ろの数字をスマホのCPUコア数の2倍に変更すると、AURパッケージのビルドを高速化できます。\n次にデスクトップ環境をインストールします。現在TermuxではGNOMEデスクトップを起動できず、KDEはややリソースを食いすぎます。ここでは軽量で実用的なXFCE4を入れます。\nsudo pacman -S xfce4 xfce4-goodies lightdm 6. タイムゾーン、中国語、入力メソッドを設定する # Termux X11はスマホのキーボードから直接文字入力できますが、外付けキーボードを使う場合は中国語入力メソッドのインストールが必要です。\nsystemdがないため、シンボリックリンクでタイムゾーンを台湾・台北に設定します sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime vimで/etc/hostnameと/etc/hostsを編集し、ホスト名を付けてlocalhostを置き換えます\nvimで/etc/locale.genファイルを編集し、zh_TW.UTF-8のコメントアウトを外します。\nその後、ロケール設定ファイルを生成します\nsudo locale-gen sudo echo \u0026#34;LANG=zh_TW.UTF-8\u0026#34; \u0026gt;\u0026gt; /etc/locale.conf それでも中国語が表示されない場合は、~/.profileに以下のパラメータを追加します。 LANG=zh_TW.UTF-8 LC_CTYPE=zh_TW.UTF-8 LC_NUMERIC=zh_TW.UTF-8 LC_TIME=zh_TW.UTF-8 LC_COLLATE=zh_TW.UTF-8 LC_MONETARY=zh_TW.UTF-8 LC_MESSAGES=zh_TW.UTF-8 LC_PAPER=zh_TW.UTF-8 LC_NAME=zh_TW.UTF-8 LC_ADDRESS=zh_TW.UTF-8 LC_TELEPHONE=zh_TW.UTF-8 LC_MEASUREMENT=zh_TW.UTF-8 LC_IDENTIFICATION=zh_TW.UTF-8 LC_ALL= Fcitx5と新酷音をインストールします sudo pacman -S fcitx5-config-qt fcitx5-chewing fcitx5-qt fcitx5-gtk fcitx5-chinese-addons vimで~/.profileを編集し、以下を追加します。 fcitx5 \u0026amp; GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus 次回Prootへログインしたら、アプリケーション一覧からFcitx5を起動します。右上のシステムトレイにあるキーボードアイコンを右クリックし、新酷音入力メソッドを追加します。 7. 手動でデスクトップ環境に入る方法 # この節は仕組みを理解するためのものです。知る必要がなければ次の節へ進んでください。\nインストール完了後、Termuxを終了してアプリを再起動します。\n以後Arch Linuxへログインする手順は以下の通りです。\nTermuxを再起動します。Termux X11を開き、バックグラウンドで開いたままにします。\n次にTermuxへ戻り、PulseAudio、Termux X11、virgl serverを起動します\npulseaudio --start --exit-idle-time=-1 pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 export DISPLAY=:0 termux-x11 :0 \u0026amp; virgl_test_server_android \u0026amp; Arch Linuxにログインします。ここでは一般アカウントuserでログインする点に注意してください proot-distro login archlinux --user user --shared-tmp PulseAudio、Fcitx5、XFCE4デスクトップ環境を順に起動します export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1 fcitx5 \u0026amp; dbus-launch --exit-with-session startxfce4 \u0026amp; Termux X11の画面に切り替えると、デスクトップ環境が表示されるはずです。Termux X11のフローティングウィンドウをタップし、権限を取り消すと全画面になります。 8. ワンタップ起動用デスクトップ環境スクリプトを設定する # Termux＋Termux X11＋virglserverの起動手順をワンタップで実行し、デスクトップ環境を自動起動します。\nTermux Widgetをインストールします\nシステム設定を開き、Termuxに「他のアプリの上に重ねて表示」を許可します Termuxを開き直し、以下のコマンドでショートカットを作成します（proot-distro内ではありません）\nmkdir .shortcuts vim .shortcuts/startproot_arch.sh 以下の内容を入力します #!/bin/bash # 古いプロセスをすべて終了 killall -9 termux-x11 pulseaudio virgl_test_server_android termux-wake-lock # Termux X11を起動 am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity XDG_RUNTIME_DIR=${TMPDIR} termux-x11 :0 -ac \u0026amp; sleep 3 # PulseAudioを起動 pulseaudio --start --exit-idle-time=-1 pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 # GPUアクセラレーション用virglserverを起動 virgl_test_server_android \u0026amp; # proot Arch Linuxにログインし、PulseAudio、Fcitx5、デスクトップ環境を起動 proot-distro login archlinux --user user --shared-tmp -- bash -c \u0026#34;export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1; dbus-launch --exit-with-session startxfce4\u0026#34; 実行権限を付与します chmod +x .shortcuts/startproot_arch.sh スマホのホーム画面でウィジェットを追加し、Termux Widgetを選択すると、先ほど作成したショートカットが一覧に表示されます。\nボタンをタップすると、Termuxが自動で開いてデスクトップへログインします。\n参考資料 # Termux Proot-distro Tips Proot-distro on Github Arch Linux Wiki ","date":"2023年7月25日","externalUrl":null,"permalink":"/ja-jp/posts/termux-proot-distro-archlinux/","section":"Termux-Tutorials","summary":" この記事では、Androidスマホ上でTermuxのproot-distroパッケージを使い、デスクトップ環境付きのArch Linux ARMを手動で設定する方法を説明します。音楽や動画の再生、デスクトップLinux向けアプリの利用もできます。 Arch Linuxはシンプルさを重視するLinuxディストリビューションで、ユーザーが必要に応じてシステムを組み上げる方針なので、インストール作業ではコマンドを手入力します。Arch Linux ARMは、本家Arch Linux（x86アーキテクチャ中心）の派生版です。x86版にある一部パッケージはARM側で見つからない場合がありますが、AURは同じように利用できます。\nこの記事ではArch Linuxを手動でインストールする方法を紹介します。手動設定が面倒な場合は、ワンタップインストール用スクリプトの安裝Termux Proot-distroを使ってください。\n1. 事前準備 # Arch Linuxを動かすには、スマホに最低4GB RAM、グラフィカル環境では最低6GB RAMが必要です。足りないとシステムがクラッシュしやすくなります。\nストレージ容量は10GB用意してください。\n","title":"Termux：Arch Linuxデスクトップ環境をゼロから構築＋ワンタップ起動スクリプト","type":"termux-tutorials"},{"content":" Ubuntuは有名なLinuxディストリビューションだ。PCで使うだけでなく、AndroidデバイスでもTermux Prootコンテナ技術を使えば、Root権限なしでLinuxディストリビューションをインストールできる。 以下で使う簡単な方法は「Udroid」だ。proot-distro commandsと比べると、このLinuxインストール手順は数行のコマンドだけで済む。Ubuntu 22.04 LTSシステムをインストールしてくれ、ブラウザとオフィスソフトも内蔵されている。デスクトップ環境はGNOME、XFCE、Mateから選べる。 Termux自体はテキストインターフェイスなので、Ubuntuをインストールしたあとグラフィカル環境を起動せず、プログラムやスクリプトだけを実行することもできる。\nあわせて参照：proot Ubuntu\n1. 前提条件 # Linux Proot-distroを参照。\nUdroidを動かすにはスマートフォンに最低4GB RAMが必要で、グラフィカルインターフェイスには最低6GBが必要だ。ストレージ容量は10GB用意する。\nTermuxとVNC Viewerをインストールする。UdroidはTermux X11とは互換性がなさそうだ。\nTermuxをインストール\nAVNC Viewerをインストール\n2. Udroidインストールスクリプトを実行する # Termuxを開き、音声サーバーを自動起動するよう設定する。 echo \u0026#39;pulseaudio --start --exit-idle-time=-1\u0026#39; \u0026gt; ~/.profile echo \u0026#39;pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1\u0026#39; \u0026gt; ~/.profile 次の数行のコマンドをコピーし、Termuxで長押しして貼り付け、Enterを押す。2GBのファイルのダウンロード、インストール、展開が終わるまで待つ。そう、Udroidは本当にかなり大きい。 pkg install git git clone https://github.com/RandomCoderOrg/fs-manager-udroid cd fs-manager-udroid bash install.sh udroid install jammy:xfce4 udroid login jammy:xfce4 その後は自動でログインする。最初にzshから更新するか聞かれることがあるので、yを入力して完了を待つ。プロンプトが~になれば、テキストモードのproot Ubuntuに入っている。apt updateコマンドでパッケージリストを更新してみよう。 Udroidはデフォルトでrootとしてログインする。一般ユーザーアカウントは自分で作成する：\napt install openssl username=\u0026#34;user\u0026#34; password=\u0026#34;在這裡輸入自訂密碼\u0026#34; useradd -m \\ -p \u0026#34;$(openssl passwd -1 ${password})\u0026#34; \\ -G sudo \\ -d /home/${username} \\ -k /etc/skel \\ -s /bin/bash \\ $username ただしUdroidの一般ユーザーではThe \u0026quot;no new privileges\u0026quot; flag is setエラーが出るため、sudoを再インストールして解決する： apt reinstall sudo 3. タイムゾーン、中国語、入力メソッド、Snap無効化を設定する # タイムゾーンを台湾・台北に設定する。 sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime locales、Fcitx5入力メソッド、中国語フォントをインストールする。 sudo apt install locales fcitx5* fonts-noto fonts-noto-cjk 中国語ロケールを生成する。 sudo locale-gen zh_TW sudo locale-gen zh_TW.UTF-8 sudo dpkg-reconfigure locales sudo update-locale LANG=\u0026#34;zh_TW.UTF-8\u0026#34; LANGUAGE=\u0026#34;zh_TW\u0026#34; VIMで.profileを編集する。 vim ~/.profile 次の内容を追加し、言語を繁体字中国語に設定し、入力メソッドにFcitx5を指定する。ログイン後にFcitx5とPulseAudioが自動起動するように設定する。 LANG=zh_TW.UTF-8 LC_CTYPE=zh_TW.UTF-8 LC_NUMERIC=zh_TW.UTF-8 LC_TIME=zh_TW.UTF-8 LC_COLLATE=zh_TW.UTF-8 LC_MONETARY=zh_TW.UTF-8 LC_MESSAGES=zh_TW.UTF-8 LC_PAPER=zh_TW.UTF-8 LC_NAME=zh_TW.UTF-8 LC_ADDRESS=zh_TW.UTF-8 LC_TELEPHONE=zh_TW.UTF-8 LC_MEASUREMENT=zh_TW.UTF-8 LC_IDENTIFICATION=zh_TW.UTF-8 LC_ALL= GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus export PULSE_SERVER=tcp:127.0.0.1 最後にSnapを無効化する。Proot環境ではSnapが動作しないためだ。 sudo apt purge snapd sudo cat \u0026lt;\u0026lt;EOF | sudo tee /etc/apt/preferences.d/nosnap.pref Package: snapd Pin: release a=* Pin-Priority: -10 EOF 4. デスクトップ環境を起動する # rootパスワードを変更する。 passwd root VNCパスワードを変更する。 vncpasswd startvncコマンドを入力してVNCサーバーを起動する。\nAVNC Viewerを開き、接続IPにlocalhost:5900を入力するとデスクトップが表示される。 AVNC Viewerを閉じ、Termuxへ戻ってstopvncを入力し、出力を停止する。\n5. デスクトップ環境を起動せずUdroidへログインする # Termuxを開き、次のコマンドを入力してログインすればよい：\nudroid login jammy:xfce4 関連記事 # Udroid公式使用説明 Termux Proot-disto Tips ","date":"2023年7月25日","externalUrl":null,"permalink":"/ja-jp/posts/install-proot-ubuntu-on-android/","section":"Termux-Tutorials","summary":" Ubuntuは有名なLinuxディストリビューションだ。PCで使うだけでなく、AndroidデバイスでもTermux Prootコンテナ技術を使えば、Root権限なしでLinuxディストリビューションをインストールできる。 以下で使う簡単な方法は「Udroid」だ。proot-distro commandsと比べると、このLinuxインストール手順は数行のコマンドだけで済む。Ubuntu 22.04 LTSシステムをインストールしてくれ、ブラウザとオフィスソフトも内蔵されている。デスクトップ環境はGNOME、XFCE、Mateから選べる。 Termux自体はテキストインターフェイスなので、Ubuntuをインストールしたあとグラフィカル環境を起動せず、プログラムやスクリプトだけを実行することもできる。\nあわせて参照：proot Ubuntu\n1. 前提条件 # Linux Proot-distroを参照。\nUdroidを動かすにはスマートフォンに最低4GB RAMが必要で、グラフィカルインターフェイスには最低6GBが必要だ。ストレージ容量は10GB用意する。\nTermuxとVNC Viewerをインストールする。UdroidはTermux X11とは互換性がなさそうだ。\n","title":"Udroid：TermuxでUbuntuシステムを素早くインストールするスクリプト (Termux Proot)","type":"termux-tutorials"},{"content":"「GPU Screen Recorder」是一款為Linux系統設計的開源螢幕錄影軟體，功能類似Windows的Nvidia ShadowPlay。 什麼是Nvidia ShadowPlay？引用Nvidia ShadowPlay網站的描述：「剛剛使出了一招絕技嗎？ShadowPlay的DVR式立即播放模式都錄下來了！只要按下快速鍵，就能將最近 30 秒的遊戲影片儲存到你的硬碟中。」 簡言之，就是重播遊戲片段，GPU Screen Recorder模仿了Nvidia ShadowPlay的一部分功能。只要GPU Screen Recorder在背景開著，它就會一直紀錄螢幕的影像，一按下快捷鍵便會將「按按鈕當下之前30秒的片段」輸出成影片。儘管模仿的是Nvidia顯卡的功能，但GPU Screen Recorder不限顯卡型號，Nvidia/AMD/Intel都能錄製。\n下面是我錄製的影片範例。 除了重播遊戲片段外，GPU Screen Recorder也可以當普通的螢幕錄影、串流軟體使用。\n由於GPU Screen Recorder錄影僅使用GPU運算，作者宣稱此軟體效能開銷比OBS Studio要小。雖然我實際開NVENC編碼的OBS Studio錄影感覺不出差異就是了。\n1. 安裝GPU Screen Recorder # GPU Screen Recorder由dec05eba開發，原始碼託管在作者的網站。\n目前作者提供Flatpak版，因此請先裝Flatpak\nNvidia用戶將GPU Screen Recorder安裝至一般使用者：\nflatpak install flathub --user com.dec05eba.gpu_screen_recorder Intel與AMD用戶需將GPU Screen Recorder安裝至系統：\nflatpak install flathub --system com.dec05eba.gpu_screen_recorder 2. 圖形界面使用方式 # 安裝後從應用程式列表點選啟動GPU Screen Recorder。Intel與AMD用戶在錄製螢幕時可能要輸入密碼。\nGPU Screen Recorder首先要點選Capture Target，設定錄製區域，預設是整個螢幕。在Wayland桌面它也可以用Desktop Portal模式去抓螢幕畫面，不過無法錄製HDR。 接著是音訊，點選要使用的輸入裝置，點選Add加入到Selected audio inputs列表。 最後是畫面品質，預設60FPS高品質。如果錄影時顏色怪怪的，點View → Advanced → Video，將Color Range調整為Full。 GPU Screen Recorder有三個錄影模式：\nStream：串流直播，需提供直播平台的金鑰 Record：螢幕錄影 Replay：啟動重播服務 螢幕錄影沒什麼好說的，就是錄製整個螢幕畫面。快捷鍵預設是Alt＋F1，若有衝突可自行換掉。 重播服務的設定方式：我將快捷鍵設為Alt＋F6開關重播服務；儲存重播設定為Alt＋F7。重播長度(Replay time)預設是30秒。 重播服務的使用方式：維持GPU Screen Recorder開著，點選Start Replay（或是Alt＋F6）開啟重播服務。開啟遊戲，當需要儲存遊戲片段的時候按Alt＋F7，它就會在按下按鈕的當下，將過去的30秒影像儲存成影片。\n","date":"2023年7月24日","externalUrl":null,"permalink":"/posts/linux-gpu-screen-recorder/","section":"所有文章","summary":"「GPU Screen Recorder」是一款為Linux系統設計的開源螢幕錄影軟體，功能類似Windows的Nvidia ShadowPlay。 什麼是Nvidia ShadowPlay？引用Nvidia ShadowPlay網站的描述：「剛剛使出了一招絕技嗎？ShadowPlay的DVR式立即播放模式都錄下來了！只要按下快速鍵，就能將最近 30 秒的遊戲影片儲存到你的硬碟中。」 簡言之，就是重播遊戲片段，GPU Screen Recorder模仿了Nvidia ShadowPlay的一部分功能。只要GPU Screen Recorder在背景開著，它就會一直紀錄螢幕的影像，一按下快捷鍵便會將「按按鈕當下之前30秒的片段」輸出成影片。儘管模仿的是Nvidia顯卡的功能，但GPU Screen Recorder不限顯卡型號，Nvidia/AMD/Intel都能錄製。\n下面是我錄製的影片範例。 除了重播遊戲片段外，GPU Screen Recorder也可以當普通的螢幕錄影、串流軟體使用。\n由於GPU Screen Recorder錄影僅使用GPU運算，作者宣稱此軟體效能開銷比OBS Studio要小。雖然我實際開NVENC編碼的OBS Studio錄影感覺不出差異就是了。\n1. 安裝GPU Screen Recorder # GPU Screen Recorder由dec05eba開發，原始碼託管在作者的網站。\n","title":"GPU Screen Recorder：Linux螢幕錄影 ＋ 遊戲重播，Nvidia ShadowPlay替代品","type":"posts"},{"content":"本文介紹如何用Google Colab編譯「Infinity for Reddit」APK供個人使用，享受無廣告的Reddit環境。 背景 # 「Infinity for Reddit」這款開源第三方的APP在Reddit一直很受歡迎，其界面流暢、無廣告收穫了許多用戶。Ivon用它很久了，才能跟浪人融得批爆，功能十分豐富。\n隨著Reddit在2023年7月1日開始對API收費，Infinity的開發者決定將把它變成訂閱制軟體，以支付龐大的API費用，原本在Github開源的Infinity未來會慢慢不能用。\nInfinity就這樣就這樣死了嗎？\n雖說ReVanced Manager已經可以破解官方Reddit APP的廣告了，沒必要花時間研究第三方APP。但我還是覺得Reddit官方UI寫得很爛，Infinity的Material You比較合我胃口。\n幸好，Redditor u/AllMFHH在Reddit貼文提出了一個方法，那就是自己用個人Reddit帳號申請API key，再編譯Infinity APK，這樣存取Reddit的開銷就小了。Reddit API限制每分鐘存取100次，對個人用戶而言夠用了。Infinity的設定檔可以備份匯出，重裝也不怕遺失設定檔。\n但是也因此APK無法共享，每個人要自己用自己的API key來編譯才有效。\n為了簡化編譯程序，u/AllMFHH製作了一個Google Colab筆記本，讓我們可以用網頁編譯APK，編譯過程完全免費。\n開始編譯 # Google Colab電腦或手機都可以存取。\n開啟Google Colab筆記本\n依照指示，到Reddit個人帳號後台，點選create another app\u0026hellip;\nname的欄位輸入Reddit使用者名稱＋s-app，接著勾選installed app，redirect uri填入http://127.0.0.1 點選create app之後，使用者名稱下方會顯示一組API Key。\n回到Google Colab筆記本，填入API Key與使用者名稱 點選左上角1. Setup the environment下面的箭頭，執行程式碼，建立編譯環境。 等顯示打勾執行完成後，點選下方2. Build the APK的箭頭執行，等待10分鐘編譯APK。 移動到3. Download the APK directly or via file.io，手機在dl處選取.apk Direct Download下載APK；電腦則是選取file.io產生網址。 再按執行，掃描QR Code下載APK。\n使用完畢後，刪除執行階段。 安裝Infinity APP，登入Reddit帳號時候有看到Reddit使用者名稱-app字樣就代表成功了。\nAllMFHH使用的原始碼 # Docile-Alligator/Infinity-For-Reddit: A Reddit client for Android\n相關討論請到r/Infinity_For_Reddit\n","date":"2023年7月23日","externalUrl":null,"permalink":"/posts/compile-infinity-for-reddit/","section":"所有文章","summary":"本文介紹如何用Google Colab編譯「Infinity for Reddit」APK供個人使用，享受無廣告的Reddit環境。 背景 # 「Infinity for Reddit」這款開源第三方的APP在Reddit一直很受歡迎，其界面流暢、無廣告收穫了許多用戶。Ivon用它很久了，才能跟浪人融得批爆，功能十分豐富。\n隨著Reddit在2023年7月1日開始對API收費，Infinity的開發者決定將把它變成訂閱制軟體，以支付龐大的API費用，原本在Github開源的Infinity未來會慢慢不能用。\nInfinity就這樣就這樣死了嗎？\n雖說ReVanced Manager已經可以破解官方Reddit APP的廣告了，沒必要花時間研究第三方APP。但我還是覺得Reddit官方UI寫得很爛，Infinity的Material You比較合我胃口。\n幸好，Redditor u/AllMFHH在Reddit貼文提出了一個方法，那就是自己用個人Reddit帳號申請API key，再編譯Infinity APK，這樣存取Reddit的開銷就小了。Reddit API限制每分鐘存取100次，對個人用戶而言夠用了。Infinity的設定檔可以備份匯出，重裝也不怕遺失設定檔。\n但是也因此APK無法共享，每個人要自己用自己的API key來編譯才有效。\n","title":"為繼續用去廣告的Reddit，只好自行編譯Infinity for Reddit APP","type":"posts"},{"content":"Ubuntu、Fedora預設採用的GNOME桌面，採極簡設計風格，若要進一步的自訂外觀，就得安裝GNOME擴充套件(GNOME Shell Extension)了。\n根據GNOME Shell Extension官網的建議，要安裝GNOME擴充套件，必須在瀏覽器裝\u0026quot;GNOME Shell Extension Integration\u0026quot;才能往系統裝擴充套件，再用官方開發的綠色「擴充套件」應用程式來管理。 不過Ivon覺得這樣好麻煩呀？GNOME擴充套件只能移除不能搜尋，要搜尋擴充套件還得開瀏覽器，有時後該擴充還會莫名無法跟系統連線。\n幸好現在有了Matthew Jakeman製作的前端程式\u0026quot;Extension Manager\u0026quot;（擴充套件管理員），可以直接在這個應用程式裡面搜尋與安裝擴充套件，省去安裝GNOME瀏覽器擴充功能的麻煩。 1. 安裝擴充套件管理員 # 安裝Flatpak，這樣不論哪個發行版都能收到最新版套件\n從Flathub安裝擴充套件管理員(Extension Manager)\nflatpak install flathub com.mattjakeman.ExtensionManager 另外推薦安裝「GNOME調校」，這個程式可以切換主題。該程式沒上Flathub，需從套件管理員安裝 sudo apt install gnome-tweaks 安裝後從應用程式列表啟動擴充套件管理員 「瀏覽」頁面直接可搜尋GNOME Shell Extension官網的擴充來裝啦！如果這裡搜尋不到特定擴充套件，您也可以到GNOME Shell Extension官網網頁搜尋，點選Install，由擴充套件管理員開安裝連結。 安裝後的擴充功能可以在首頁點選齒輪，微調選項。\n另外，GNOME常常版本一更新就會讓擴充套件爆掉（Ubuntu可能沒感覺，Fedora用戶才知道痛苦）。可以在更新前按右上角的「更新助理」查看目前安裝的擴充套件是否能在下一版繼續運作。 目前GNOME 49的擴充套件會安裝至~/.local/share/gnome-shell/extensions/或/usr/share/gnome-shell/extensions/目錄。\n2. 推薦安裝的GNOME擴充套件 # 以下是Ivon常用的擴充套件：\nApplications Menu：在左上角顯示應用程式列表，自動分類 Alphabetical App Grid：將資料夾放到應用程式前面，並讓應用程式按照字母排列，而非安裝順序先後。 Input Method Panel：在右上角顯示快捷輸入法切換器，配合Fcitx5＋新酷音，切換繁簡輸出。 Clipboard Indicator：儲存多筆剪貼簿紀錄。 AppIndicator and KStatusNotifierItem Support：顯示系統匣小圖示(Tray Icon)。 User Themes：允許使用者安裝自訂主題。到GNOME Look下載主題，將主題放到~/.local/share/themes/，再開啟「GNOME調校」 → 外觀，選取主題圖示。 GSconnect：GNOME版的KDE Connect ","date":"2023年7月23日","externalUrl":null,"permalink":"/posts/how-to-install-gnome-extensions/","section":"所有文章","summary":"Ubuntu、Fedora預設採用的GNOME桌面，採極簡設計風格，若要進一步的自訂外觀，就得安裝GNOME擴充套件(GNOME Shell Extension)了。\n根據GNOME Shell Extension官網的建議，要安裝GNOME擴充套件，必須在瀏覽器裝\"GNOME Shell Extension Integration\"才能往系統裝擴充套件，再用官方開發的綠色「擴充套件」應用程式來管理。 不過Ivon覺得這樣好麻煩呀？GNOME擴充套件只能移除不能搜尋，要搜尋擴充套件還得開瀏覽器，有時後該擴充還會莫名無法跟系統連線。\n幸好現在有了Matthew Jakeman製作的前端程式\"Extension Manager\"（擴充套件管理員），可以直接在這個應用程式裡面搜尋與安裝擴充套件，省去安裝GNOME瀏覽器擴充功能的麻煩。 1. 安裝擴充套件管理員 # 安裝Flatpak，這樣不論哪個發行版都能收到最新版套件\n從Flathub安裝擴充套件管理員(Extension Manager)\nflatpak install flathub com.mattjakeman.ExtensionManager 另外推薦安裝「GNOME調校」，這個程式可以切換主題。該程式沒上Flathub，需從套件管理員安裝 sudo apt install gnome-tweaks 安裝後從應用程式列表啟動擴充套件管理員 ","title":"如何安裝GNOME擴充套件，使用Extension Manager","type":"posts"},{"content":"Autostart Linux programs on boot.\n適用版本：Ubuntu 24.04以上\n何謂自動啟動程式 # 在Linux上可以設定開機自動執行某程式，例如/usr/bin/firefox，它就會像下圖一樣，在開機後自動開啟Firefox瀏覽器： 或者設定開機自動執行shell指令稿，例如家目錄放置一個/home/user/backup.sh，開機後自動執行裡面所寫的指令。\n不論為何者，建議在填寫程式路徑的時候填「絕對路徑」。\n自動啟動又可以分為「系統開機後執行」以及「一般使用者登入桌面環境後才執行」二種。\n如果是前者，您應該使用Systemd的系統服務來設定，若是後者就用圖形界面Desktop Entry或systemd user service設定吧。\n1. 用XDG Autostart設定自動啟動的程式 # 大部分桌面環境（GNOME、KDE Plasma、XFCE、LXQT、Cinnamon）會遵守XDG Autostart標準，讀取特定目錄下的「Desktop Entry」，自動在使用者登入之後啟動程式。\n桌面環境多半會提供圖形設定界面，方便你編輯開機自動啟動的程式。\n還請注意Desktop Entry只能幫你啟動程式而已，無法管理行程。如果你希望啟動的是一個「系統服務」，可以隨時停止和重啟，那麼請改用下面的Systemd指令。\n理解何為Desktop Entry # .desktop檔案是Freedesktop.org制定的XDG Desktop Entry標準，您在Linux桌面的「應用程式列表」看到的程式圖示就是Desktop Entry所組成。參見Desktop Entry解說\n根據Freedesktop.org的XDG Autostart目錄標準，有兩個位置可以放，一個是/etc/xdg/autostart，所有使用者登入後都會執行該程式；另一個是~/.config/autostart，只對單一使用者有效。這裡僅介紹單個使用者的用法。\n如果你將Desktop Entry放在~/.config/autostart目錄，桌面環境就會在使用者登入圖形界面時啟動放在autostart目錄下的程式。 許多桌面環境內建的「自動啟動服務」工具，只適合啟動一般使用者身份的程式，最好不要有sudo。\nSystemd會自動根據~/.config/autostart目錄的程式產生Systemd user service，成為xdg-desktop-autostart.target啟動的依賴項目。這點可以用指令systemctl --user list-dependencies xdg-desktop-autostart.target 確認。\nGNOME設定自動啟動程式 # 開啟終端機，安裝gnome-startup-applications套件，此套件Ubuntu已內建。gnome-tweaks雖然也有初始應用程式設定，但是太陽春。\n開啟「初始啟動程式」程式，加入要啟動的程式 GNOME自動啟動的程式位於~/.config/autostart，您可以手動編輯.desktop檔案的指令。\nKDE Plasma設定自動啟動程式 # 點選系統設定 → 啟動與關閉 →自動啟動，新增要啟動的程式或指令稿。 KDE新增的是位於~/.config/autostart的.desktop檔案，您可以點進去手動修改詳細指令，或者手動把.desktop檔案放到該目錄。\nKDE亦可以新增「登出」時執行的指令稿。\n2. 用Systemd指令設定自動啟動的程式 # 過去要設定自動啟動服務，我們會調整.desktop或.bashrc或rc.local等檔案。\n.desktop即XDG Autostart，在登入圖形環境後啟動，大多數桌面都支援（見上一節GNOME與KDE Plasma的設定方式）。.bashrc則是專屬於Bash的，一登入bash shell就會啟動。至於rc.local過於老舊，已經deprecated了，不建議使用。\n現在呢Systemd是最主流的方法，由Systemd管理系統服務，統一用systemctl指令管理系統服務，還可以配合Systemd Timer作定時操作。\n假設我現在家目錄/home/user/有一個叫做backup.sh的備份指令稿，我想在開機執行一次，那就將其做成系統服務。其中Systemd的服務又可以分為系統(system service)與使用者服務(user service)。如果執行的指令需要root，就把它做成系統服務吧。\nsystemd system service（系統） # 不論使用者有無登入系統，新增到系統的服務一律會在電腦開機後啟動，執行身份是root。當然使用者沒登入系統，X視窗沒執行，就不該用來啟動圖形化的程式啦。\n系統級別的systemd服務一律放在/etc/systemd/systemd/。由於執行身份是root，不需要寫sudo\n新增unit，取名為autostartscript sudo vim /etc/systemd/systemd/autostartscript.service 填入以下內容，ExecStart後接執行指令稿的指令，只執行一次 [Unit] Description=autostartscript [Service] Type=oneshot ExecStart=/bin/bash /home/user/backup.sh 啟用服務 sudo systemctl daemon-reload sudo systemctl enable --now autostartscript.service 之後可以用systemctl status指令看服務執行情況： sudo systemctl status autostartscript.service systemd user service（一般使用者） # 此處的服務在登入特定使用者（圖形界面或SSH都可以）後才會啟動。\n使用者級別的systemd服務一律放在~/.config/systemd/user/\n新增unit，取名為autostartscript vim ~/.config/systemd/user/autostartscript.service 填入以下內容，ExecStart後接執行指令稿的指令，只執行一次 [Unit] Description=autostartscript [Service] Type=oneshot ExecStart=/bin/bash /home/user/backup.sh 啟用服務。注意這裡我沒有使用sudo。 systemctl --user daemon-reload systemctl --user enable --now autostartscript.service 之後可以用systemctl --user status指令看服務執行情況： systemctl --user status autostartscript.service 參考資料 # systemd - Freedesktop.org systemd/User - ArchWiki - Arch Linux Desktop entries - ArchWiki XDG Autostart - ArchWiki Linux 建立自訂Systemd 服務教學與範例 - G. T. Wang ","date":"2023年7月23日","externalUrl":null,"permalink":"/posts/autostart-programs-on-linux/","section":"所有文章","summary":"Autostart Linux programs on boot.\n適用版本：Ubuntu 24.04以上\n何謂自動啟動程式 # 在Linux上可以設定開機自動執行某程式，例如/usr/bin/firefox，它就會像下圖一樣，在開機後自動開啟Firefox瀏覽器： 或者設定開機自動執行shell指令稿，例如家目錄放置一個/home/user/backup.sh，開機後自動執行裡面所寫的指令。\n不論為何者，建議在填寫程式路徑的時候填「絕對路徑」。\n自動啟動又可以分為「系統開機後執行」以及「一般使用者登入桌面環境後才執行」二種。\n如果是前者，您應該使用Systemd的系統服務來設定，若是後者就用圖形界面Desktop Entry或systemd user service設定吧。\n1. 用XDG Autostart設定自動啟動的程式 # 大部分桌面環境（GNOME、KDE Plasma、XFCE、LXQT、Cinnamon）會遵守XDG Autostart標準，讀取特定目錄下的「Desktop Entry」，自動在使用者登入之後啟動程式。\n桌面環境多半會提供圖形設定界面，方便你編輯開機自動啟動的程式。\n","title":"Linux如何設定開機自動執行應用程式，XDG Autostart與Systemd Service用法","type":"posts"},{"content":" 1. 目標 # Linux上用QEMU/KVM安裝的Windows虛擬機最缺乏的是3D圖形效能，為此利用Linux提供的VFIO(Virtual Function I/O)核心模組將實體機(Host)的獨立顯示卡綁定，直通(passthrough)給虛擬機(Guest)使用。\n這樣虛擬機便能使用3D硬體加速，用於建模彩現、跑AI運算，或是用Looking Glass玩遊戲。\n尚能同時使用二個系統作業。 當然獨顯直通給虛擬機時，實體機自然就無法利用獨顯運算，需將虛擬機關機實體機才可重新使用顯示卡。文中會介紹如何在虛擬機關機後，把顯示卡還給實體機存取。\n2. 環境 # Host OS: Arch Linux 核心版本：6.6.10 桌面環境：KDE Plasma X11 Libvirt版本：9.0.5 QEMU版本：8.0.4 Guest OS: Windows 11 22H2 主機板：ASUS K31CDK，UEFI開機，關閉Secure boot CPU: Intel i5-7400 GPU: Intel UHD 630 (內顯) GPU: Nvidia GTX-1050Ti (要直通的獨顯) RAM：16GB 本文屬雙GPU直通，電腦需同時有內顯+獨顯，準備二個螢幕（或者第二個螢幕用HDMI欺騙器取代，再配合Looking Glass存取）。\nGPU直通前接線是這樣，內顯處於閒置狀態。 但在啟用GPU直通(啟用VFIO、改用內顯開機)後，內顯HDMI接主螢幕，獨顯HDMI接副螢幕。 3. 安裝Windows 11虛擬機 # 首先安裝Virt Manager和QMEU/KVM\n再安裝Windows 11虛擬機\nWindows 11虛擬機必須使用UEFI(OVMF)開機，至少需要分配4核心CPU、8GB RAM、64GB硬碟。\nSPICE Tools可能會衝突。\n安裝好後將虛擬機關機。\n4. 啟用IOMMU # 啟用IOMMU將裝置分組。\n編輯GRUB設定檔 sudo vim /etc/default/grub 在GRUB_CMDLINE_LINUX_DEFAULT這行後面加入核心參數，啟用Intel CPU的iommu。 GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;intel_iommu=on video=efifb:off\u0026#34; 重新產生設定檔，重開機 sudo grub-mkconfig -o /boot/grub/grub.cfg sudo reboot 終端機貼上指令稿查找顯示卡的IOMMU群組： #!/bin/bash shopt -s nullglob for g in /sys/kernel/iommu_groups/*; do echo \u0026#34;IOMMU Group ${g##*/}:\u0026#34; for d in $g/devices/*; do echo -e \u0026#34;\\t$(lspci -nns ${d##*/})\u0026#34; done; done; 應會看到顯示卡的分組，例如我的GTX1050 Ti被分到Group 1： IOMMU Group 1: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82] (rev a1) 01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1) 將顯示卡的硬體ID記下來，例如這裡是10de:1c82和10de:0fb9。 5. 將顯示卡綁定vfio-pci # 設定開機就將顯示卡綁給vfio-pci，並禁止載入Nvidia核心模組。\n儘管Githu開發者bryansteiner曾經分享用libvirt hook達成「開機後將Nvidia顯示卡直通給虛擬機，關機後Nvidia顯示卡還給實體機」的自動化操作，但是在Arch似乎會造成libvirt卡死，所以我選擇在實體機需要時Nvidia時再手動將Nvidia核心模組載入回來。\n編輯mkinitcpio.conf sudo vim /etc/mkinitcpio.conf 設定開機載入vfio核心模組 MODULES=(vfio_pci vfio vfio_iommu_type1) 再度編輯GRUB：sudo vim /etc/default/grub，video=efifb:off防止系統搶走顯示卡，vfio-pci加入VFIO顯示卡的硬體ID，以逗號分隔。最後面kvm.ignore_msrs=1是為了防止KVM錯誤更正導致Windows進入BSOD。 GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;intel_iommu=on video=efifb:off vfio-pci.ids=10de:1c82,10de:0fb9 kvm.ignore_msrs=1 kvm.report_ignored_msrs=0\u0026#34; 新增開機禁止載入的核心模組列表 sudo vim /etc/modprobe.d/blacklist.conf 填入以下內容，禁止開機載入Nvidia顯示卡的核心模組（也請檢查modprobe.d下有無其他檔案包含載入nvidia的選項） blacklist nvidia blacklist nouveau 刪除Xorg的設定檔 sudo rm /etc/X11/xorg.conf 更新initramfs和GRUB sudo mkinitcpio -p linux sudo grub-mkconfig -o /boot/grub/grub.cfg 6. 用內顯優先開機 # 重開機，按Delete進入BIOS\n設定優先以CPU內顯開機。ASUS K31CDK主機板的選項在Advanced → System Agent （SA）Configuration → IGFX\n重開機後，用sudo lspci -nnk | grep NVIDIA檢查VFIO狀態：\n01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82] (rev a1) 01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1) 執行nvidia-smi指令，顯示NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver，確認無法連線到Nvidia顯示卡。\n再執行lspci -k | grep -A 2 -i \u0026quot;VGA\u0026quot;指令，應該會顯示Kernel driver in use: vfio-pci，這樣就是成功了。\n如果以上步驟都無效，你還是可以繼續嘗試把Nvidia顯示卡分配給虛擬機。\n7. 將Nvidia顯示卡分配給虛擬機 # 開啟Virt Manager，編輯Windows 11虛擬機的硬體。點選左下角新增硬體，選擇PCI主機裝置，加入Nvidia獨顯和音效裝置至虛擬機 建議新增USB主機裝置 → 滑鼠，這樣就沒虛擬機吃不到實體機滑鼠的問題。滑鼠在虛擬機出不來的時候，按Ctrl+ALT讓滑鼠回到實體機。 虛擬機開機後會變成雙螢幕。實體機主螢幕虛擬機視窗會看到Windows畫面，而副螢幕會暫時黑螢幕。\n在虛擬機內下載Geforce Experience，登入Nvidia帳號，安裝驅動程式。 之後Windows應該就會正常顯示雙螢幕。 接著在系統設定 → 顯示器 → 圖形，指定應用程式使用Nvidia顯示卡彩現，而非QXL。 如果副螢幕有喇叭，則Windows的音效會透過HDMI從副螢幕輸出。\n8. 來玩遊戲吧 # 理論上遊戲效能在副螢幕（連接到Nvidia顯示卡）最好。像我這種不想接第二個螢幕的，就會將副螢幕換成「HDMI顯卡欺騙器」，約一個轉接頭大小而已，並在Windows顯示設定將螢幕只顯示於虛擬機視窗，就可以用單一螢幕同時操控Linux和Windows。\n在虛擬機內部安裝Looking Glass，這樣便可在實體機主螢幕以客戶端低延遲存取Windows桌面，也就不用接二個實體螢幕了。\n使用HDMI顯卡欺騙器前務必先裝好Nvidia驅動，以及設定Looking Glass開機自動啟動。\n9. 如何讓Linux實體機重新使用Nvidia獨顯 # 不重開機情況下，將虛擬機關機與解除vfio-pci綁定，再載入Nvidia核心模組即可重新讓實體機存取顯示卡。但同樣地，虛擬機需要顯示卡的話就得將其手動綁回去。\n參考GPU直通後讓宿主機重新使用Nvidia GPU\n參考資料 # VFIO GPU passthrough on Arch Linux | Quentin\u0026rsquo;s blog PCI passthrough via OVMF - ArchWiki ","date":"2023年7月22日","externalUrl":null,"permalink":"/posts/archlinux-nvidia-gpu-passthrough/","section":"所有文章","summary":"1. 目標 # Linux上用QEMU/KVM安裝的Windows虛擬機最缺乏的是3D圖形效能，為此利用Linux提供的VFIO(Virtual Function I/O)核心模組將實體機(Host)的獨立顯示卡綁定，直通(passthrough)給虛擬機(Guest)使用。\n這樣虛擬機便能使用3D硬體加速，用於建模彩現、跑AI運算，或是用Looking Glass玩遊戲。\n尚能同時使用二個系統作業。 當然獨顯直通給虛擬機時，實體機自然就無法利用獨顯運算，需將虛擬機關機實體機才可重新使用顯示卡。文中會介紹如何在虛擬機關機後，把顯示卡還給實體機存取。\n2. 環境 # Host OS: Arch Linux 核心版本：6.6.10 桌面環境：KDE Plasma X11 Libvirt版本：9.0.5 QEMU版本：8.0.4 Guest OS: Windows 11 22H2 主機板：ASUS K31CDK，UEFI開機，關閉Secure boot CPU: Intel i5-7400 GPU: Intel UHD 630 (內顯) GPU: Nvidia GTX-1050Ti (要直通的獨顯) RAM：16GB 本文屬雙GPU直通，電腦需同時有內顯+獨顯，準備二個螢幕（或者第二個螢幕用HDMI欺騙器取代，再配合Looking Glass存取）。\n","title":"Arch Linux如何將Nvidia GPU直通給Windows QEMU/KVM虛擬機","type":"posts"},{"content":"＊本文為Ubuntu Linux架設Minecraft Java版伺服器的教學，如果您想在Linux電腦玩Minecraft Java版，請參閱此篇。\nMojang開發的Minecraft Java版伺服器(Minecraft Java Edition server)是給那些需要大型多人連線的玩家所準備的，屬於專有軟體。相較於單純的局域網分享，開Minecraft伺服器能應對更多人數的玩家需求，同時也還可以安裝各種模組(mod)、插件(plugin)增強遊戲效果。\n本文Ivon使用容器化技術，將Minecraft伺服器跑在Docker容器裡，簡化部署流程，並減少對伺服器系統的依賴。 1. 環境 # 系統：Ubuntu LTS 安裝教學 CPU: 4核心x86架構CPU RAM：8GB 硬碟空間：20GB 雖說這裡用Ubuntu系統做示範，但因為主要是依賴Docker來跑，不需設定Java，只要能裝Docker，用CentOS/Debian的Linux電腦來架也可以。\n2. 撰寫Docker-compose # 此處使用itzg組織維護的映像檔，該映像檔基於Mojang官方發表的最新Minecraft伺服器軟體所建置(對應最新穩定版的Minecraft，例如1.20)，支援x86與ARM架構的電腦。\n請先安裝Docker\n新增存放世界資料的目錄，這裡就是伺服器的根目錄了。\ncd ~ mkdir minecraft_server cd minecraft_server 參考官方說明，新增docker-compose.yml vim docker-compose.yml 填入以下內容。這裡跑二個服務，一個是Minecraft伺服器服務，一個是備份世界的服務（後述） version: \u0026#34;3.8\u0026#34; services: # 伺服器服務 mc: image: itzg/minecraft-server container_name: \u0026#34;mc\u0026#34; tty: true stdin_open: true ports: - \u0026#34;25565:25565\u0026#34; environment: # 自動同意伺服器的EULA EULA: \u0026#34;TRUE\u0026#34; # 設定分配8GB RAM MEMORY: \u0026#34;8G\u0026#34; # 設定JVM啟動參數，設定最多使用75% RAM JVM_OPTS: \u0026#34;-XX:MaxRAMPercentage=75\u0026#34; volumes: # 在目前的目錄新增存放資料的目錄 - ./data:/data # 自動備份服務 backups: image: itzg/mc-backup environment: BACKUP_INTERVAL: \u0026#34;24h\u0026#34; RCON_HOST: mc PRE_BACKUP_SCRIPT: | echo \u0026#34;Before backup!\u0026#34; echo \u0026#34;Also before backup from $$RCON_HOST to $$DEST_DIR\u0026#34; POST_BACKUP_SCRIPT_FILE: /post-backup.sh volumes: # 與Minecraft伺服器共用目錄，唯讀 - ./data:/data:ro # 備份至mc-backups - ./mc-backups:/backups - ./post-backup.sh:/post-backup.sh:ro 啟動服務 sudo docker compose up -d 用ip addr查看Linux電腦的區域IP： # 範例輸出，IP為192.168.0.5 wlan0: \u0026lt;BROADCAST,MULTICAST,UP,LOWER_UP\u0026gt; mtu 1500 qdisc mq state UP group default qlen 1000 inet 192.168.0.5/24 brd 192.168.0.255 scope global dynamic noprefixroute wlan0 如果Linux有防火牆，記得開放25565通訊埠 sudo ufw allow 25565 sudo ufw reload 於同一區域網路下的電腦，開啟Minecraft，點選多人遊戲 → 新增伺服器，輸入\u0026lt;Linux電腦區域IP\u0026gt;:25565嘗試連線。 3. 調整Minecraft的伺服器設定 # Minecraft伺服器的資料位於~/minecraft_server/data，若要修改伺服器設定。先將容器服務停止： sudo docker compose down 再編輯~/minecraft_server/data/server.properties檔案。 vim ~/data/server.properties server.properties定義伺服器的設定，例如玩家人數、生存或創造、遊戲難度、要載入的世界等等。詳細用法參考Minecraft Wiki\n此外，data目錄下還有其它重要檔案：\nworld目錄即為伺服器載入的世界。玩家一連線就會生成一個空白世界，可自行替換成現有世界。\nwhitelist.json：定義白名單，設定只有在該列表的玩家才能加入世界。需在server.properties將white-list=設為true才會啟用白名單機制。伺服器管理員可以在遊戲中以/whitelist指令編輯白名單，用/list uuids列出所有玩家的UUID。再如下填寫：\n[ { \u0026#34;uuid\u0026#34;: \u0026#34;UUID\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;玩家名稱\u0026#34; }, { \u0026#34;uuid\u0026#34;: \u0026#34;UUID\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;玩家名稱\u0026#34; } ] ops.json：定義作為伺服器管理員(OP)的玩家。\nbanned-players.json：黑名單玩家。\nbanned-ips.json：禁止連線的IP。\nlogs目錄：輸出Minecraft伺服器的系統訊息，方便除錯。\nmods目錄：安裝Forge、Fabric模組之用。\nplugins目錄：安裝插件之用。\nconfig目錄：放置模組設定檔。\n修改完成後，再重新啟動容器服務：\ncd ~/minecraft_server sudo docker compose up -d 3. 設定定時備份世界的排程任務 # 備份Minecraft世界有助於復原遊戲資料。\n我們在上面的docker-compose.yml已經跑了一個mc-backup的服務，它每24小時就會將世界備份到~/minecraft_server/mc-backups目錄，以壓縮檔形式儲存。\n僅供參考：手動systemd timer定時備份法 最簡單的Minecraft世界備份方式就是將世界目錄製成壓縮檔。\n新增備份目錄\nmkdir ~/backup 壓縮世界檔案，檔名帶入目前時間\nzip -r world_$(date +\u0026#34;%Y%m%d\u0026#34;) ~/backup 用ls ~/backup指令看壓縮檔有無出現在backup目錄\n# 範例輸出 world_20230722.zip 接著要將上述步驟自動化，我們將設定一個sytemd unit，設定每日0時，將Minecraft伺服器的世界(worlds目錄)做成壓縮檔備份，並儲存到使用者家目錄(需填寫完整路徑，如/home/user/backup，其中user是您的使用者名稱)\n往系統新增systemd unit sudo vim /etc/systemd/systemd/backup-minecraft-data.service 填入以下內容，指令為使用zip工具，建立檔名帶有備份當下時間的壓縮檔。 [Unit] Description=backup-minecraft-data [Service] Type=oneshot # 對容器發送rcon指令，強迫Minecraft存檔，再行備份 ExecStart=docker exec -i mc rcon-cli save \u0026amp;\u0026amp; sudo docker exec -i mc rcon-cli save-off \u0026amp;\u0026amp; /usr/bin/zip -r world_$(date +\u0026#34;%Y%m%d\u0026#34;) \u0026#34;/home/user/backup\u0026#34; \u0026amp;\u0026amp; docker exec -i mc rcon-cli save-on WorkingDirectory=/home/user/backup/minecraft_server 再建立一個systemd timer sudo vim /etc/systemd/systemd/backup-minecraft-data.timer 填入以下內容 [Unit] Description=backup-minecraft-data [Timer] OnCalendar=daily Persistent=true [Install] WantedBy=timers.target 最後，啟用服務 sudo systemctl daemon-reload sudo systemctl enable --now backup-minecraft-data.timer 4. 開放外部連線的作法 # 如果您的伺服器沒有固定的公共IP，又想讓區域網路外部連線進來，那麼推薦在所有電腦(含Minecraft伺服器的電腦本身)安裝內網穿透軟體，進行連線。\n屆時Minecaft伺服器的IP，就是改用虛擬區域IP來連線，例如安裝ZeroTier後，Mineraft伺服器可能會分配到一個172.30.155.1的虛擬區域IP，那麼在Minecraft裡面就用這個IP連線。\n延伸閱讀 # itzg Minecraft伺服器官方參考文件 Minecraft Server on Docker (Java Edition)\nitzg Minecraft伺服器備份方案參考文件 docker-mc-backup\n教學/架設伺服器 - Minecraft Wiki\n","date":"2023年7月22日","externalUrl":null,"permalink":"/posts/minecraft-java-edition-server-docker/","section":"Minecrafts","summary":"＊本文為Ubuntu Linux架設Minecraft Java版伺服器的教學，如果您想在Linux電腦玩Minecraft Java版，請參閱此篇。\nMojang開發的Minecraft Java版伺服器(Minecraft Java Edition server)是給那些需要大型多人連線的玩家所準備的，屬於專有軟體。相較於單純的局域網分享，開Minecraft伺服器能應對更多人數的玩家需求，同時也還可以安裝各種模組(mod)、插件(plugin)增強遊戲效果。\n本文Ivon使用容器化技術，將Minecraft伺服器跑在Docker容器裡，簡化部署流程，並減少對伺服器系統的依賴。 1. 環境 # 系統：Ubuntu LTS 安裝教學 CPU: 4核心x86架構CPU RAM：8GB 硬碟空間：20GB 雖說這裡用Ubuntu系統做示範，但因為主要是依賴Docker來跑，不需設定Java，只要能裝Docker，用CentOS/Debian的Linux電腦來架也可以。\n2. 撰寫Docker-compose # 此處使用itzg組織維護的映像檔，該映像檔基於Mojang官方發表的最新Minecraft伺服器軟體所建置(對應最新穩定版的Minecraft，例如1.20)，支援x86與ARM架構的電腦。\n","title":"如何在Ubuntu系統以Docker架設Minecraft Java版伺服器","type":"minecraft"},{"content":"＊ 本文介紹的是如何在Linux系統玩《Minecraft Java版》，若要玩《Minecraft基岩版》請參照這篇的解決方案。\n＊ 如果您要安裝的是Minecraft Java伺服器，請跳至「多人連線」一節。\nMojang Studios開發的Minecraft(當個創世神、我的世界)是很有名的方塊遊戲，無限延伸的方塊世界，有趣的伺服器，以及多樣化的模組，使其成為全球熱門的遊戲。 Minecraft最著名的版本是Java版，本身具有跨平台能力，官方支援Linux/Windows/macOS。\n然而Minecraft遊玩需要登入Microsoft帳號，需要透過一款啟動器才能遊玩，通常我們會使用「Mojang官方」或是「第三方開發」的Minecraft啟動器來玩，他們對Linux系統有不同程度的支援。雖然Minecraft本身是專有軟體，不過很多第三方啟動器是開源軟體。 過去，Linux各個發行版安裝Minecraft的過程都不太一樣，為解決此問題，Ivon在本文所提及的Minecraft啟動器全採用Flatpak技術，減少打指令的次數，不需要在系統全域安裝Java(JRE)。適用於所有Linux發行版：Ubuntu、Fedora、Manjaro、Arch Linux、openSUSE、Gentoo。\n從Flathub商店下載一鍵或一條指令就能完成安裝，並且可以隔離遊戲資料。\n1. 安裝Minecraft啟動器 # 推薦新手優先嘗試官方啟動器，需要玩模組才用第三方啟動器。\nIvon只討論如何遊玩正版Minecraft，為此您需要先擁有正版Minecraft帳號才能開始玩。\n1.1. 官方啟動器 # Minecraft Launcher是Mojang官方開發的啟動器，屬專有軟體。用法跟Windows版的Minecraft Launcher一樣，差別在於不支援啟動Minecraft基岩版。 安裝Flatpak 為什麼要使用Flatpak版而非Minecraft官網提供的.deb版？Minecraft Launcher目前只有Windows版內建Java，其他平台的Java是要另外裝的。過去用.deb安裝Minecraft Launcher的時候要先安裝JRE，不過Linux系統套件庫提供的版本可能不是最新版Java，且不同版本的Minecraft依賴的Java也不一樣，得用JAVA_HOME環境變數切換版本，很是麻煩。故，使用Flatpak技術，讓容器內部自行選擇適合的Java版本即可，他們的JRE是使用FreeDesktop建置的OpenJDK，不會用到Oracle版JDK，也不會受到Linux系統安裝的JRE影響。\n使用以下指令安裝Mineraft啟動器，內含Java。並開放儲存登入資訊的權限。 flatpak install flathub com.mojang.Minecraft flatpak override --user --talk-name=org.freedesktop.secrets com.mojang.Minecraft 啟動Minecraft，登入Microsoft帳號 選取要下載的遊戲版本，啟動遊戲。 Minecraft啟動器會將世界資料與截圖儲存在「.minecraft」資料夾。Flatpak版Minecraft啟動器的「.mineraft」資料夾位於~/.var/app/com.mojang.Minecraft/.minecraft/\n1.2. 第三方啟動器 # 這裡介紹幾個第三方啟動器，主要是方便玩家管理模組之用，不受Mojang官方支援，不過還是需要正版帳號才能啟動遊戲，僅部份啟動器能啟動盜版Minecraft。\nPrism Launcher 開源軟體。MultiMC和PolyMC的替代品，以管理模組包、啟動多重Minecraft版本實例而聞名。Flatpak版內建OpenJDk 8與OpenJDK 17的執行環境。 官方網站\nFlatpak版安裝指令：\nflatpak install flathub org.prismlauncher.PrismLauncher RPM Launcher 開源軟體。台灣人開發的Minecraft啟動器，以內建模組中文翻譯為特色。 官方網站\n繼任者是Era Connect。\nLunar Client 開源軟體。支援管理模組包，以及各種輔助PVP的螢幕面板。 官方網站\nFlatpak版安裝指令：\nflatpak install flathub com.lunarclient.LunarClient ATLauncher 開源軟體。方便管理模組包的啟動器。 官方網站\nFlatpak版安裝指令：\nflatpak install flathub com.atlauncher.ATLauncher 2. Linux版Minecraft如何安裝模組 # 玩模組(mod)推薦學習使用第三方啟動器，安裝比較無腦，官方啟動器需要手動裝模組所需的前置依賴。\nFlatpak版Minecraft啟動器的「.mineraft」資料夾位於~/.var/app/com.mojang.Minecraft/.minecraft/，內含mods與resourcepacks資料夾，模組相關檔案都是放到這裡。\n2.1. Forge # Forge為跑模組的必備軟體，透過反編譯Minecraft來達成修改效果，所以對應Minecraft版本十分嚴格。\n於系統安裝OpenJDK，例如Ubuntu可以從官方儲存庫安裝： sudo apt update sudo apt install default-jre 至Forge官網，下載對應Minecraft版本的Installer(jar檔)。下載的時候按右上角跳過廣告。\n執行指令啟動安裝器：\njava -jar \u0026lt;.jar檔路徑\u0026gt; Forge預設是找不到Minecraft路徑的，此時請填入Flatpak版Minecraft所在路徑：~/.var/app/com.mojang.Minecraft/.minecraft/，再點選Install。 安裝後重新啟動Minecraft啟動器，會看到多出Forge的Minecraft啟動選項。 Forge的模組一律都是放到~/.var/app/com.mojang.Minecraft/.minecraft/mods目錄。\n2.2. Optifine ＋ 光影包 # Optifine主要用來優化遊戲性能，並安裝光影包(shader pack)之用。Optifine可以跟Forge安裝在一起，作為模組載入。\n下載對應Minecraft版本的Optifine。下載的時候按右上角跳過廣告。\n將jar檔放到~/.var/app/com.mojang.Minecraft/.minecraft/mods目錄，重新啟動Minecraft遊戲，到遊戲首頁的模組列表看有無載入Optifine。\n如果要單獨安裝Optifine：執行指令java -jar \u0026lt;optifine.jar檔路徑\u0026gt;，安裝器就會跳出來，於安裝路徑輸入~/.var/app/com.mojang.Minecraft/.minecraft來安裝Optifine。\n光影包的裝法：將光影包壓縮檔放到~/.var/app/com.mojang.Minecraft/.minecraft/shaderpack目錄。\n2.3. Fabric # Fabric是新型的輕量模組工具，最著名的模組莫過於Sodium了，可大幅提昇遊戲性能。\n在Linux系統安裝Java sudo apt install default-jre 要安裝的為Fabric Loader。至Fabric官網下載Fabric安裝器，得到jar檔\n執行指令啟動安裝器：\njava -jar \u0026lt;.jar檔路徑\u0026gt; 於安裝路徑輸入~/.var/app/com.mojang.Minecraft/.minecraft，點選Install 重新啟動Minecraft啟動器，會看到多出Fabric Loader的Minecraft啟動選項。 Fabric跟Forge會衝突，二者不可同時使用。\nFabric的模組通常是放到~/.var/app/com.mojang.Minecraft/.minecraft/mods目錄。\n3. Linux版Minecraft多人連線 # Minecraft Java版多人連線分為「公開至局域網」與「架設伺服器」兩種。\n前者方式比較簡單，其實就是LAN連線。不同網路的玩家進入世界後，再用ZeroTier等內網穿透軟體即可互相連線。Linux版ZeroTier安裝請看這裡。 如果要架設伺服器，請參考這篇：用Ubuntu 22.04＋Docker架設Java版伺服器\n參考資料 # Microsoft account doesn\u0026rsquo;t remain logged in on non-GNOME systems #116 Minecraft through Flatpak: Installing Mods / Optifine? - Reddit player:tutorials:java:linux [Fabric Wiki] ","date":"2023年7月21日","externalUrl":null,"permalink":"/posts/play-minecraft-java-edition-on-linux/","section":"Minecrafts","summary":"＊ 本文介紹的是如何在Linux系統玩《Minecraft Java版》，若要玩《Minecraft基岩版》請參照這篇的解決方案。\n＊ 如果您要安裝的是Minecraft Java伺服器，請跳至「多人連線」一節。\nMojang Studios開發的Minecraft(當個創世神、我的世界)是很有名的方塊遊戲，無限延伸的方塊世界，有趣的伺服器，以及多樣化的模組，使其成為全球熱門的遊戲。 Minecraft最著名的版本是Java版，本身具有跨平台能力，官方支援Linux/Windows/macOS。\n然而Minecraft遊玩需要登入Microsoft帳號，需要透過一款啟動器才能遊玩，通常我們會使用「Mojang官方」或是「第三方開發」的Minecraft啟動器來玩，他們對Linux系統有不同程度的支援。雖然Minecraft本身是專有軟體，不過很多第三方啟動器是開源軟體。 過去，Linux各個發行版安裝Minecraft的過程都不太一樣，為解決此問題，Ivon在本文所提及的Minecraft啟動器全採用Flatpak技術，減少打指令的次數，不需要在系統全域安裝Java(JRE)。適用於所有Linux發行版：Ubuntu、Fedora、Manjaro、Arch Linux、openSUSE、Gentoo。\n","title":"如何在Linux玩Minecraft當個創世神Java版（官方啟動器＋第三方啟動器＋模組）","type":"minecraft"},{"content":"讓Ivon介紹如何在Linux系統玩戰爭雷霆(War Thunder)，以及安裝載具塗裝的路徑。\n想要駕駛各國的飛機、坦克、軍艦來一場混戰？來玩《戰爭雷霆》吧，這是一款Gaijin開發的跨平台大型線上遊戲。這款戰爭遊戲已經上線十年了，內有200臺以上的戰鬥機、轟炸機、戰車、防空砲、驅逐艦任君選擇，從二戰到冷戰時期的載具皆有。 《戰爭雷霆》的載具建模精美，遊戲物理機制寫實，接近模擬飛行遊戲的等級，因此吸引到很多愛好真實的玩家。例如，Ivon玩的主要是空戰（主修日本線），玩了很久技術還是很爛，常常體會到這款遊戲的真實之處，飛機遭到擊中要害就會解體，沒有在那邊爆血條的；同理，開戰車的時候要是被穿甲彈一發貫穿，遊戲就結束了。\n不過嘛《戰爭雷霆》又稱魔法雷霆，其雖主打真實的物理機制，有時卻會造成奇怪後果。各種火藥跳彈之類的。\n有趣的是，《戰爭雷霆》本身是跨平台遊戲，除Windows和macOS外，《戰爭雷霆》還是原生支援Linux的，這代表它不需要透過Wine轉譯就能執行，可100%發揮硬體效能。（如果你要強制用Proton玩Windows版也是可以啦，但不建議）\n1. 前置條件 # 《戰爭雷霆》是大型遊戲，請先確保電腦硬體符合官網建議需求：\n硬碟空間：最低95GB RAM：最低16GB CPU：最低Intel Core i5或Ryzen 5 3600 GPU：最低Nvidia GeForce 1060或Radeon RX 570 作業系統部份，市面上受歡迎的Linux發行版都可以玩《戰爭雷霆》，Ivon用Gentoo、Arch Linux、Ubuntu系統測試過。Steam Deck勉強能跑最低畫質版本。\n如果您有Nvidia顯示卡，請務必安裝專有驅動程式，這樣才有最高效能，且遊戲才會允許您下載高畫質的材質。\n按照Ivon個人經驗，《戰爭雷霆》很吃驅動版本，稍有不對就不給你下載高畫質材質。因此如果你的Linux電腦用的是Nvidia顯示卡，建議選擇Ubuntu LTS版本的系統以取得穩定的Nvidia驅動。\n我主要用鍵鼠玩，不確定Linux是否有飛行搖桿的驅動。Github倒是有人做Thrustmaster的核心模組。\n撰文當下，《戰爭雷霆》沒有原生Wayland版本，是透過XWayland跑的。\n2. 安裝Linux版戰爭雷霆 # 戰爭雷霆War Thunder在Linux平台主要有三種安裝方式，Ivon推薦透過Steam安裝，運作比較穩定，也方便管理更新與成就。\n需注意一點，雖然戰爭雷霆是跨平台遊戲，但Windows和Linux的遊戲檔案並非完全一樣，換平台需要重新下載部份檔案。\n於Linux系統安裝Steam客戶端。若有手把可一併設定。\n於Steam搜尋\u0026quot;War Thunder\u0026quot;，下載安裝。 預設會下載Linux原生版，如果要下載Windows版，請對收藏庫按右鍵 → 內容 → 強制啟用相容性工具。\n初次啟動請點選\u0026quot;War Thunder Launcher\u0026quot;，讓其將需要的遊戲檔案下載完畢。 每次更新後啟動都要等Vulkan著色器處理完成。 下載完成後點選Play開始遊戲。 進入戰爭雷霆前，您需要到Gaijin官網註冊一個帳號才能開始玩。\n3. 戰爭雷霆新手入門 # 雖然Ivon已經玩這個遊戲很久了，不過我沒辦法簡短講完新手流程。\n請先按照遊戲指示跑完新手教學。再到巴哈姆特或Youtube看影片學操作。\n4. Linux版安裝自訂載具塗裝或模組 # WT Live有許多玩家製作的載具塗裝(camouflage)和模組(mod)可下載。 如果要安裝這類資源的話，首先要找到Linux版戰爭雷霆的資料位置，此處以Steam版戰爭雷霆為例。\n開啟Steam，在收藏庫列表對戰爭雷霆點右鍵 → 查看本機檔案，檔案管理員會自動開啟。\n在該目錄新增資料夾UserSkins。\n將下載的塗裝檔解壓縮，得到一個資料夾，將該塗裝的資料夾檔案放到UserSkins資料夾下。 重新啟動戰爭雷霆，到遊戲設定勾選「啟用虛構外觀」 再對載具點一下 → 定制載具外觀，選取要使用的塗裝。 塗裝來源 參考資料 # War Thunder — official forum Custom skins - War Thunder Wiki ","date":"2023年7月21日","externalUrl":null,"permalink":"/posts/play-war-thunder-on-linux/","section":"所有文章","summary":"讓Ivon介紹如何在Linux系統玩戰爭雷霆(War Thunder)，以及安裝載具塗裝的路徑。\n想要駕駛各國的飛機、坦克、軍艦來一場混戰？來玩《戰爭雷霆》吧，這是一款Gaijin開發的跨平台大型線上遊戲。這款戰爭遊戲已經上線十年了，內有200臺以上的戰鬥機、轟炸機、戰車、防空砲、驅逐艦任君選擇，從二戰到冷戰時期的載具皆有。 《戰爭雷霆》的載具建模精美，遊戲物理機制寫實，接近模擬飛行遊戲的等級，因此吸引到很多愛好真實的玩家。例如，Ivon玩的主要是空戰（主修日本線），玩了很久技術還是很爛，常常體會到這款遊戲的真實之處，飛機遭到擊中要害就會解體，沒有在那邊爆血條的；同理，開戰車的時候要是被穿甲彈一發貫穿，遊戲就結束了。\n不過嘛《戰爭雷霆》又稱魔法雷霆，其雖主打真實的物理機制，有時卻會造成奇怪後果。各種火藥跳彈之類的。\n有趣的是，《戰爭雷霆》本身是跨平台遊戲，除Windows和macOS外，《戰爭雷霆》還是原生支援Linux的，這代表它不需要透過Wine轉譯就能執行，可100%發揮硬體效能。（如果你要強制用Proton玩Windows版也是可以啦，但不建議）\n1. 前置條件 # 《戰爭雷霆》是大型遊戲，請先確保電腦硬體符合官網建議需求：\n","title":"陸海空軍載具大戰，如何在Linux玩大型遊戲《戰爭雷霆》 War Thunder","type":"posts"},{"content":"本文介紹如何在Linux系統安裝專業的電繪兼修圖軟體「Krita」，以及設定Wacom繪圖板的驅動。 圖中作品：本人Kritia拙作\nIvon使用搭載KDE桌面的Linux發行版做測試，Krita版本為5.1.5。\n當我們說到電繪軟體的時候，指的不是工業繪圖軟體，而是用於繪製插畫、漫畫、動畫的專業軟體。在台灣，會用Linux畫畫的人恐怕不多，但外國倒是有很多藝術家在用，比方說《小辣椒與蘿蔔頭》的作者，法國人David Revoy，他老人家有辦法一邊繪製連載漫畫，一邊distro-hopping。 來源 此外Krita和KDE的吉祥物，都是中國設計師Tyson Tan用Krita繪製的。來源。他和KDE中國團隊給Krita中文化做出了許多貢獻，使軟體的翻譯率長期維持在99%以上。參考此篇 那麼Krita為什麼會稱為專業的電繪軟體呢？Linux並沒有Adode Photoshop、Clip Studio Paint、SAI等專有軟體，GIMP和Krita是為數不多的開源影像處理軟體。相較於修圖用的GIMP，Kritia就是為電繪量身打造的軟體！\n特色功能：\n繪製插畫、漫畫、動畫 開源免費 跨平台支援Linux/Windows/macOS/Android系統 支援中文界面 可將快捷鍵調成Photoshop或SAI的樣式 支援讀取PSD 內建多款筆刷 支援匯入abr、gbr、kpp格式的筆刷 開箱即用的繪圖板支援 筆刷防抖 圖層遮罩 非破壞性編輯 色彩管理 支援Python外掛 當然了，由於內建許多照片編輯功能，所以你也可以用Krtia取代GIMP，進行修圖作業！\n1. 安裝Krita # Krita官網提供各大系統的安裝包。\nLinux版官方推薦的格式為AppImage。\n你也可以用Flatpak來安裝：\nflatpak install flathub org.kde.krita 2. 設定Wacom繪圖板 # Wacom驅動目前已支援X11與Wayland工作階段，不過部份舊版工具在Wayland可能無法使用。\n接著設定繪圖板。我的繪圖板型號是華康 Wacom CTL-6100 Intuos M\nWacom的驅動有進Linux主線核心，Ubuntu和Arch Linux理論上插入後應該是不需要任何設定就能直接使用。\n如果沒反應，開啟終端機，嘗試安裝以下套件再重開機試試：\n# Arch sudo pacman -S kcm-wacomtablet xf86-input-wacom # Ubuntu sudo apt install xserver-xorg-input-wacom wacomtablet kde-config-tablet 在偵測到繪圖板後，開啟Wacom Tablet Detect工具，點選偵測繪圖板的快捷鍵，映射繪圖板上的快捷鍵。 接著到KDE的系統設定的輸入裝置界面，設定Wacom繪圖板的筆壓和快捷鍵 3. Krita基本電繪操作 # 首先說明Krita的視圖操作。請按「新建檔案」開一個新的空白畫布。\nKrita的界面類似Adode Photoshop，左邊是工具欄位，右邊是圖層列表，上方是目前工具的選項。 雖然大部分功能都可以用滑鼠點，不過我們還是先熟悉常用的快捷鍵：\n滑鼠中鍵：平移畫布 滑鼠滾輪：縮放畫布 Shift＋空白鍵＋滑鼠左鍵：旋轉畫布 繪圖的時候就是使用筆刷了，點選左邊工具欄的筆刷，再點上方面板切換筆刷或橡皮擦 使用繪圖板的時候，按筆的按鍵（對應右邊件）可快速切換筆刷。 若要匯入筆刷：點選設定 → 管理資源，點選匯入資源。Krita的筆刷資源可以到krita-artists.org下載。 4. 如何安裝外掛程式（plugin） # Krita支援Python撰寫的外掛程式(plugin)，用於提供額外功能，或是批次操作檔案。\nGithub有許多開源的外掛程式可下載。\nKrita外掛程式通常會以zip格式提供，這裡以製作九宮格的外掛Imagine Board為例，到Github下載zip後，接著就是要將其匯入至Krita了。\n點選設定 → 設定Krita → Python外掛程式，確認「Python外掛程式」已打勾 點選工具 → 指令稿 → 自檔案匯入Python外掛程式，選取擴充功能的zip檔 匯入後重新啟動，點選設定 → 設定Krita → Python外掛程式，確認新外掛是否已經啟用。 順帶一提由於本篇教學是使用Flatpak安裝Krita，資料路徑會不太一樣。Flatpak版Krita的程式資料位於~/.var/app/org.kde.krita/\n5. 其他技巧 # 5.1. 修改快捷鍵成Photoshop # Krita可以調整快捷鍵成Photoshop或SAI樣式。\n點選設定 → 設定Krita → 畫布輸入設定，設定喜好的快捷鍵。 5.2. 如果需要打中文字 # 推薦安裝Fcitx5，對Flatpak應用程式支援較佳。\n並安裝Noto Sans中文字體的套件。\n6. 更多Krita教學課程 # 更多使用方法，請看官方中文說明手冊：Krita手冊\nYoutube也有Krita官方錄製的使用教學：Digital Painting. Krita for beginners\n另請造訪Krita台灣討論社團：Facebook\n您還可以協助改進Krita：Krita 用户社区\n","date":"2023年7月20日","externalUrl":null,"permalink":"/posts/linux-setup-krita/","section":"所有文章","summary":"本文介紹如何在Linux系統安裝專業的電繪兼修圖軟體「Krita」，以及設定Wacom繪圖板的驅動。 圖中作品：本人Kritia拙作\nIvon使用搭載KDE桌面的Linux發行版做測試，Krita版本為5.1.5。\n當我們說到電繪軟體的時候，指的不是工業繪圖軟體，而是用於繪製插畫、漫畫、動畫的專業軟體。在台灣，會用Linux畫畫的人恐怕不多，但外國倒是有很多藝術家在用，比方說《小辣椒與蘿蔔頭》的作者，法國人David Revoy，他老人家有辦法一邊繪製連載漫畫，一邊distro-hopping。 來源 此外Krita和KDE的吉祥物，都是中國設計師Tyson Tan用Krita繪製的。來源。他和KDE中國團隊給Krita中文化做出了許多貢獻，使軟體的翻譯率長期維持在99%以上。參考此篇 那麼Krita為什麼會稱為專業的電繪軟體呢？Linux並沒有Adode Photoshop、Clip Studio Paint、SAI等專有軟體，GIMP和Krita是為數不多的開源影像處理軟體。相較於修圖用的GIMP，Kritia就是為電繪量身打造的軟體！\n特色功能：\n繪製插畫、漫畫、動畫 開源免費 跨平台支援Linux/Windows/macOS/Android系統 支援中文界面 可將快捷鍵調成Photoshop或SAI的樣式 支援讀取PSD 內建多款筆刷 支援匯入abr、gbr、kpp格式的筆刷 開箱即用的繪圖板支援 筆刷防抖 圖層遮罩 非破壞性編輯 色彩管理 支援Python外掛 當然了，由於內建許多照片編輯功能，所以你也可以用Krtia取代GIMP，進行修圖作業！\n","title":"Linux版電繪軟體「Krita」安裝 ＋ Wacom繪圖板設定方法","type":"posts"},{"content":"","date":"2023年7月20日","externalUrl":null,"permalink":"/tags/royal-air-force/","section":"標籤","summary":"","title":"Royal Air Force","type":"tags"},{"content":" Pixiv連結\n對我而言，這是\n雙 廚 狂 喜\n以前我就很想設計一個新部落格的圖示，奈何不會製作svg，加上沒有藝術天份，所以一直放置。\n在示範安裝Linux的Krita軟體用法的時候，才把這個構想畫出來。象徵著「現在」我喜好的自由軟體Linux的Tux與「過去」我最愛的二次大戰戰鬥機的融合，世代傳承精神。\n部落格剛成立的時候，選用噴火式Mk.9當大頭貼並沒有太多含義，只是我想找個最能代表自己的大頭貼，又不會認為是偷別人的作品。Youtube大頭貼用過Minecraft島風，我覺得仍有二創之嫌疑，那麼用戰鬥機就行了吧！人選有德國、日本、中華民國的飛機，最後選用英國不會有太多政治爭議，因為這是大家熟知的飛機。\n","date":"2023年7月20日","externalUrl":null,"permalink":"/posts/artwork-20230720/","section":"Artworks","summary":" Pixiv連結\n對我而言，這是\n雙 廚 狂 喜\n以前我就很想設計一個新部落格的圖示，奈何不會製作svg，加上沒有藝術天份，所以一直放置。\n在示範安裝Linux的Krita軟體用法的時候，才把這個構想畫出來。象徵著「現在」我喜好的自由軟體Linux的Tux與「過去」我最愛的二次大戰戰鬥機的融合，世代傳承精神。\n部落格剛成立的時候，選用噴火式Mk.9當大頭貼並沒有太多含義，只是我想找個最能代表自己的大頭貼，又不會認為是偷別人的作品。Youtube大頭貼用過Minecraft島風，我覺得仍有二創之嫌疑，那麼用戰鬥機就行了吧！人選有德國、日本、中華民國的飛機，最後選用英國不會有太多政治爭議，因為這是大家熟知的飛機。\n","title":"繪圖：Linux Tux開著噴火Mk.IX在自由的天空翱翔","type":"artwork"},{"content":"本文Ivon介紹如何在Linux系統使用JDownloader，以及遠端管理下載任務。\nIvon偶爾會到伊莉論壇下載盜版資源。當遇到大批檔案需要下載的時候，一個一個點太麻煩了，瀏覽器不足以應付，這時需要一款下載管理器。\n這時Ivon會使用「JDownloader 2」，這是一款以Java寫成的開源下載管理器，由Appwork GmbH公司開發，支援Linux/Windows/macOS系統。 時雨：下載器\u0026hellip;太\u0026hellip;太香了！（設計對白）\n雖然JDownloader界面有點醜，但Ivon覺得其功能完善：\n下載免費雲端空間(簡稱免空)所上傳之檔案，例如Google Drive、MEGA、OneDrive。另支援登入免空帳號以取得下載權限。 支援下載網頁中全部的圖片 支援下載Youtube、Twitter、Facebook、Instagram等網頁中的影片。 可下載部份盜版串流網站的影音檔，例如楓林網、小鴨影音。 支援用網頁或手機APP遠端控制下載任務 自動繞過驗證碼 支援斷點續傳 由此可見，JDownloader主要是用來下載免空檔案，不支援BT種子與磁力連結。\nIvon覺得使用下載器的好處為，批次下載只需要提供連結，就能讓下載器自動排程下載檔案，自動解壓縮。 更重要的是，一時下載不完，關掉後重開仍可以恢復上次任務。且在外面需要管理電腦下載需求的話，還能夠用My JDownloader的網頁、APP遠端存取。\n1. 安裝JDownloader # 至官網下載安裝檔。\nJDownloader本身是用Java寫的，所以具有跨平台能力。\n我選擇安裝Flatpak版，因為Java已經包在裡面了，可於任一Linux發行版安裝：\nflatpak install flathub org.jdownloader.JDownloader 2. JDownloader基礎使用方式 # 開啟後完成初始化，點選設定 → 設定，切換界面語言為中文。 點選設定，給下載限制速度，防止吃光電腦網速 接著點選左下角「新增連結」按鈕，加入下載網址。 在這裡貼上網址讓JDownloader分析。 順帶一提JDownloader會偵測瀏覽器內的複製動作，所以您可以在瀏覽器連續複製連結，JDownloder會自動將其加入列表分析。\n如果檔案需要登入才能取得，您也可以先點選設定 → 設定 → 帳號管理，新增該網站的帳號。 如果網站帳號不受JDownloader支援呢？通常網站登入是吃cookie，因此把瀏覽器免空登入的cookie匯出給JDownloader用即可。\nJDownloader會自動分析網址，並在「連結擷取器」顯示抓到的檔案下載連結。免空的話應該會顯示檔案下載連結，影片網站則會過濾出該頁面可用的檔案。 確認檔案無誤後，按左上角播放鍵開始下載。 下載後的壓縮檔會自動解壓縮。下載完成記得右鍵移除下載列表。\n3. My JDownloader遠端控制下載任務 # JDowonloader的開發公司提供免費的\u0026quot;My JDownloader\u0026quot;服務，註冊後即可遠端連線到電腦上的JDownloader客戶端，無需開啟防火牆或使用內網穿透軟體。\n註冊My JDownloader帳號。不知為何JDownloader的網頁Firefox會跑版，Google Chrome卻不會。\n開啟JDownloader → 設定 → 設定，於此輸入帳號，點選連線。 回到My JDownloder網頁界面，重新載入，即會看到已連線的電腦，JDownloader開著的情況下隨時都能連線。 點選電腦名稱即可新增下載任務。操作邏輯跟桌面版一樣，點右下角Add Links加入連結，並按左上角播放鍵開始下載任務。 您還可以用Android官方APP遠端存取JDownloader。\n4. 以headless模式執行JDownloader (Docker) # 如果您的Linux裝置（如樹莓派、NAS）沒有螢幕，卻想遠端存取JDownloader？就用Docker跑JDownloader，再用My JDownloader網頁界面存取吧。\nGithub用戶Antoine Lafarge製作的JDownloader映像檔，支援x86與ARM架構的裝置。\n安裝Docker\n新增存放資料目錄，並調整寫入權限\ncd ~ mkdir jdownloader_docker mkdir jdownloader_docker/downloads jdownloader_docker/cfg jdownloader_docker/logs sudo chmod -R 770 jdownloader-docker cd jdownloader-docker 撰寫docker-compose.yml： services: jdownloader: image: antlafarge/jdownloader:latest container_name: jdownloader-docker restart: unless-stopped user: 1000:1000 # optional volumes: - \u0026#34;./downloads:/jdownloader/downloads/\u0026#34; # 冒號左邊是檔案下載路徑，這裡使用docker-compse.yml所在資料夾的目錄 - \u0026#34;./cfg:/jdownloader/cfg/\u0026#34; # JDownloader設定檔路徑 - \u0026#34;./logs:/jdownloader/logs/\u0026#34; # JDownloader日誌路徑 environment: - \u0026#34;JD_EMAIL=\u0026lt;JD_EMAIL\u0026gt;\u0026#34; # My JDownloader帳號 - \u0026#34;JD_PASSWORD=\u0026lt;JD_PASSWORD\u0026gt;\u0026#34; # My JDownloader密碼 - \u0026#34;JD_DEVICENAME=jdownloader@docker\u0026#34; # 主機名稱 ports: - \u0026#34;3129:3129\u0026#34; 可能需要開放防火牆的3129通訊埠 sudo ufw allow 3129 sudo ufw reload reload 啟動容器服務 sudo docker compose up -d 在其他裝置開啟My JDownloader的頁面，即會看到Docker出現在裝置列表了。 參考資料 # JDownloader官網 ","date":"2023年7月20日","externalUrl":null,"permalink":"/posts/linux-jdownloader/","section":"所有文章","summary":"本文Ivon介紹如何在Linux系統使用JDownloader，以及遠端管理下載任務。\nIvon偶爾會到伊莉論壇下載盜版資源。當遇到大批檔案需要下載的時候，一個一個點太麻煩了，瀏覽器不足以應付，這時需要一款下載管理器。\n這時Ivon會使用「JDownloader 2」，這是一款以Java寫成的開源下載管理器，由Appwork GmbH公司開發，支援Linux/Windows/macOS系統。 時雨：下載器…太…太香了！（設計對白）\n雖然JDownloader界面有點醜，但Ivon覺得其功能完善：\n下載免費雲端空間(簡稱免空)所上傳之檔案，例如Google Drive、MEGA、OneDrive。另支援登入免空帳號以取得下載權限。 支援下載網頁中全部的圖片 支援下載Youtube、Twitter、Facebook、Instagram等網頁中的影片。 可下載部份盜版串流網站的影音檔，例如楓林網、小鴨影音。 支援用網頁或手機APP遠端控制下載任務 自動繞過驗證碼 支援斷點續傳 由此可見，JDownloader主要是用來下載免空檔案，不支援BT種子與磁力連結。\nIvon覺得使用下載器的好處為，批次下載只需要提供連結，就能讓下載器自動排程下載檔案，自動解壓縮。 ","title":"好用的免空下載管理器，Linux版JDownloader安裝 ＋ Docker版遠端控制教學","type":"posts"},{"content":" 要在手機看外國的動漫貼圖網站(booru website)，雖然可以直接開手機版網站看，不過有APP仍是比較方便吧。\n此處的動漫貼圖網站包含：Danbooru、Gelbooru、Rule 34、Konachan、Sankaku Plex、Pixiv、yande.re等等，這些網站以標籤為主，能找到許多動漫圖片，可下載當桌布使用。\n本文推薦4個開源APP，讓您方便在Android手機瀏覽動漫貼圖網站。 下載之前，推薦先了解booru系網站的用法，例如Gelbooru。\n1. Loli Snatcher # 下載點：Google Play｜Github\nApp名稱意思為「綁架小蘿莉」，搜尋含有蘿莉的tag會出現喔喔喔喔喔喔的呼喊聲。\n支援登入各大網站讀取帳號和cookie。\n支援批次綁架小蘿莉(start snatching)，就是批次下載圖片啦。\n可以配合Hydrus Network搜尋本機圖庫。\n2. Imgrbrd Grabber # 下載點：Github\n可以自訂下載檔案名稱的APP，另有支援Linux/Windows/macOS的電腦版。\n支援登入各大網站讀取帳號和cookie。\n使用方法見此\n3. Boorusphere # 下載點：Github\n相較於以上二個APP，這個APP界面比較舒爽。採用Material You設計，滑起來較順暢。\n支援登入各大網站讀取帳號。\n4. Flexbooru # 下載點：Google Play｜Github\n與Boorusphere類似，不過這款APP支援登入帳號。\n搜圖前記得至設定關閉「安全模式」。\n有廣告，需付費解鎖搜圖功能。不爽的話就自己編譯。\n該APP可配合Muzei動態桌布使用。\n","date":"2023年7月20日","externalUrl":null,"permalink":"/posts/mobile-booru-browser/","section":"所有文章","summary":" 要在手機看外國的動漫貼圖網站(booru website)，雖然可以直接開手機版網站看，不過有APP仍是比較方便吧。\n此處的動漫貼圖網站包含：Danbooru、Gelbooru、Rule 34、Konachan、Sankaku Plex、Pixiv、yande.re等等，這些網站以標籤為主，能找到許多動漫圖片，可下載當桌布使用。\n本文推薦4個開源APP，讓您方便在Android手機瀏覽動漫貼圖網站。 下載之前，推薦先了解booru系網站的用法，例如Gelbooru。\n1. Loli Snatcher # 下載點：Google Play｜Github\nApp名稱意思為「綁架小蘿莉」，搜尋含有蘿莉的tag會出現喔喔喔喔喔喔的呼喊聲。\n支援登入各大網站讀取帳號和cookie。\n支援批次綁架小蘿莉(start snatching)，就是批次下載圖片啦。\n可以配合Hydrus Network搜尋本機圖庫。\n2. Imgrbrd Grabber # 下載點：Github\n可以自訂下載檔案名稱的APP，另有支援Linux/Windows/macOS的電腦版。\n支援登入各大網站讀取帳號和cookie。\n使用方法見此\n3. Boorusphere # 下載點：Github\n","title":"推薦4個看動漫圖網站的手機APP (booru系貼圖站)","type":"posts"},{"content":"《VoxeLibre》是開源遊戲引擎《Luanti》最熱門的子遊戲之一，常年盤踞Luanti子遊戲榜首。 VoxeLibre是一款模仿Minecraft玩法的子遊戲。程式碼授權條款為GPLv3，遊戲素材則是CC BY-SA 3.0。 影片介紹 1. 內容簡介 # 歷史：VoxeLibre以前的名字叫做MineClone 2，很直白的說我們是Minecraft複製品。2024年4月，MineClone 2開發組經過投票，決定將這個子遊戲改名為「VoxeLibre」。自從改名後，VoxeLibre專案的目標變成了「啟發自Minecraft的遊戲」，脫離Minecraft複製品的印象，因此Voxelibre會加入一些Minecraft沒有的東西，不再是單純複製Minecraft玩法。\nVoxeLibre加入的新元素包括「漢堡」食物以及「長矛」武器，還把Creeper改名叫做Stalker，賦予其根據附近方塊變色的能力。 接著有開發者fork了Mineclone 2專案，改名為《Mineclonia》，繼續原本Mineclone 2專案的目標。\nVoxeLibre的程式碼是全部開源的，講難聽一點是抄襲，講好聽一點是淨室設計。\nVoxeLibre的版本號碼是0.XX，而非Minecraft的1.X.X格式。\nVoxeLibre首頁標語與原版Minecraft剛好相反：歡迎多多分享此遊戲！呼應其自由軟體的理念。 VoxeLibre模仿的主要是原版Minecraft遊戲(vanilla Minecraft)。諸如Java版背包界面、紅石、地獄更新、村莊更新、水域更新、洞穴更新、荒野更新、終界、中文翻譯皆有移植過來，指令系統比較簡陋。 雖說是模仿Minecraft，不過VoxeLibre跟Minecraft世界格式還是不相容的，需要手動轉換。另外VoxeLibre的地形生成模式可以使用Luanti本身的地圖生成器，創造出狂野的地形。\n因為版權因素，VoxeLibre的紋理材質皆經過重新繪製，BGM和唱片音樂由Jester 8bit、Diminixed等人重新製作。如果不喜歡這些元素，可以自行裝模組，還原原本Minecraft的面貌。\n整體來說VoxeLibre比較接近Minecraft「原味生存」，鍵盤操作融合Luanti與Minecraft，所以開背包是按I，不是E。\n2. 遊玩理由 # 雖說脫離Minecraft，來到Luanti，應該要找全新玩法的方塊遊戲才對，不過VoxeLibre的定位適合從Minecraft過來，想熟悉Luanti生態的玩家。\nLuanti預設的子遊戲Minetest Game玩起來無趣，必須裝模組才好玩。雖然有很多模組能裝，問題是玩家得自行篩選感興趣的部份，可能會造成玩家選擇困難症。而VoxeLibre作為整合性高的子遊戲，將Minecraft原味生存整套過來，就適合給不知道從哪開始的玩家玩。\n同時它也提供給「自由軟體道德潔癖」、「不喜歡微軟控制Minecraft」的玩家，一個很像Minecraft但又不是Minecraft的遊戲遊玩。\n本文提及的是《VoxeLibre》，其實還有另一款《MineClone 5》，過去更新比VoxeLibre快，但現在開發速度似乎已落後VoxeLibre。\n順帶一提VoxeLibre的競爭者有《NodeCore》、《Hades Revisited》、《Mesecraft》，後面這幾個子遊戲自成一套世界觀，玩法跟VoxeLibre截然不同。\n3. 如何安裝VoxeLibre # 安裝Luanti，並讀完新手入門指南\n點選下載子遊戲，搜尋VoxeLibre。\n切換到VoxeLibre子遊戲頁面 點選新建世界\n如果要玩「生存模式」，記得勾選左邊的啟用傷害\n多人連線參見Minetest多人連線與架設伺服器\n4. 如何更換皮膚 # 首先開啟遊戲目錄的檔案。\nVoxeLibre的皮膚格式與Minecraft相容。找到games/mineclone2/mods/PLAYER/mcl_skins/textures/mcl_skins_character_1.png，用您的皮膚檔案覆蓋該檔案。\nVoxeLibre背包內建紙娃娃系統，能夠自訂人物配件。 另外，VoxeLibre官方的儲存庫有一個Python小程式能夠轉換紋理包，將VoxeLibre的材質替換成Minecraft的材質。\n5. 安裝模組 # 如果要搭配其他Minetest模組遊玩\u0026hellip;VoxeLibre本身就含有一些特殊模組，無法直接裝Lunati模組，Luanti部分的函數定義亦跟原版不同，需重新設計程式碼。\n如果要硬裝：開啟遊戲目錄，找到games/mineclone2/mods/，將要裝的Minetest模組資料夾放到這裡。\n參考資料 # 原始碼儲存庫 VoxeLibre - Minetest land 關於VoxeLibre定位的討論 Modded Minetest Game or VoxeLibre for a classic Minecraft experience? - Luanti Forum ","date":"2023年7月19日","externalUrl":null,"permalink":"/posts/luanti-voxelibre/","section":"Luantis","summary":"《VoxeLibre》是開源遊戲引擎《Luanti》最熱門的子遊戲之一，常年盤踞Luanti子遊戲榜首。 VoxeLibre是一款模仿Minecraft玩法的子遊戲。程式碼授權條款為GPLv3，遊戲素材則是CC BY-SA 3.0。 影片介紹 1. 內容簡介 # 歷史：VoxeLibre以前的名字叫做MineClone 2，很直白的說我們是Minecraft複製品。2024年4月，MineClone 2開發組經過投票，決定將這個子遊戲改名為「VoxeLibre」。自從改名後，VoxeLibre專案的目標變成了「啟發自Minecraft的遊戲」，脫離Minecraft複製品的印象，因此Voxelibre會加入一些Minecraft沒有的東西，不再是單純複製Minecraft玩法。\nVoxeLibre加入的新元素包括「漢堡」食物以及「長矛」武器，還把Creeper改名叫做Stalker，賦予其根據附近方塊變色的能力。 接著有開發者fork了Mineclone 2專案，改名為《Mineclonia》，繼續原本Mineclone 2專案的目標。\nVoxeLibre的程式碼是全部開源的，講難聽一點是抄襲，講好聽一點是淨室設計。\nVoxeLibre的版本號碼是0.XX，而非Minecraft的1.X.X格式。\n","title":"VoxeLibre (MineClone 2) 安裝與玩法，超類似Minecraft的免費下載子遊戲","type":"luanti"},{"content":"","date":"2023年7月19日","externalUrl":null,"permalink":"/tags/luanti-mod/","section":"標籤","summary":"","title":"Luanti Mod","type":"tags"},{"content":" 本文給有選擇困難症的玩家一個指引！\n目標是在預設什麼都沒有的Minetest Game的基礎上加裝模組(mod)\n務求能達到Voxelibre一樣全方面的遊戲體驗\n雖然說裝了一堆模組，但基礎玩法還是跟Minecraft一樣：第一天先敲木頭，合成工具武器，做床，建立根據地，再看要往哪方面發展。\n如何安裝模組 # Minetest安裝模組 Minetest安裝材質包 安裝模組後，再於世界啟用要使用的模組即可。 必裝模組 # 3D Armour i3 Inventory SkinsDB Music Player Daemon Hunger NG XP Redo Awards 生態環境類 # Wilhelmines系列的作者製作了許多生態與怪物的mod。\nRegional Weather Bundle Ambience Lite Mobs Redo Ethereal NG Wilhelmines Animal World Wilhelmines Living Floatlands Native Villages Wilhelmines People Animalia Villages by Sokomine Villagers for Minetest by ErrorNull Underground Farming Redo Mesecons Magma conduits and volcanoes X Farming Ma \u0026amp; Pop’s Furniture Mod 困難挑戰類 # Nether Wilhelmines Living Nether Goblins Not So Simple Mobs Mobs Monster Draconis RangedWeapons：槍械 Advanced Trains：火車 Steampunk Blimp：飛艇 Techage Modpack 推薦材質包 # Isabella II REFI Textures SharpNet Photo Realism Wilhelmines Texture Pack 參見 # What are your favorite Minetest mods? - Reddit Essential Mods You Need To Use In Minetest Game - Youtube ","date":"2023年7月19日","externalUrl":null,"permalink":"/posts/minetest-recommended-survival-mods/","section":"Luantis","summary":" 本文給有選擇困難症的玩家一個指引！\n目標是在預設什麼都沒有的Minetest Game的基礎上加裝模組(mod)\n務求能達到Voxelibre一樣全方面的遊戲體驗\n雖然說裝了一堆模組，但基礎玩法還是跟Minecraft一樣：第一天先敲木頭，合成工具武器，做床，建立根據地，再看要往哪方面發展。\n如何安裝模組 # Minetest安裝模組 Minetest安裝材質包 安裝模組後，再於世界啟用要使用的模組即可。 必裝模組 # 3D Armour i3 Inventory SkinsDB Music Player Daemon Hunger NG XP Redo Awards 生態環境類 # Wilhelmines系列的作者製作了許多生態與怪物的mod。\nRegional Weather Bundle Ambience Lite Mobs Redo Ethereal NG Wilhelmines Animal World Wilhelmines Living Floatlands Native Villages Wilhelmines People Animalia Villages by Sokomine Villagers for Minetest by ErrorNull Underground Farming Redo Mesecons Magma conduits and volcanoes X Farming Ma \u0026 Pop’s Furniture Mod 困難挑戰類 # Nether Wilhelmines Living Nether Goblins Not So Simple Mobs Mobs Monster Draconis RangedWeapons：槍械 Advanced Trains：火車 Steampunk Blimp：飛艇 Techage Modpack 推薦材質包 # Isabella II REFI Textures SharpNet Photo Realism Wilhelmines Texture Pack 參見 # What are your favorite Minetest mods? - Reddit Essential Mods You Need To Use In Minetest Game - Youtube ","title":"Minetest Game「生存模式」新手推薦模組","type":"luanti"},{"content":"初稿：2021年12月12日\n地點：屏東大學林森校區音樂館\n於12/22日前往音樂廳圓廳欣賞音樂系主辦的眾聲雲集音樂會。這是我第一次到訪圓廳，所以才知道學校有這樣專業的演出場地。演出期間工作人員都專業的遵守指引工作，現場也頗有正式音樂會的氣氛——儘管衣著是隨意的，做為夜間小啜。節目表上的曲目多由音樂系學生表演，再由教授施展功夫給在場大眾看，接下來就來說說主觀給人的音樂印象。\n整體來說，多虧下半場教授的解釋和聊天，我才知道純靠小提琴要做到鋼琴飽滿是不容易的，而結果果真是如此。上下半場的聽感予人巨大差別，前半場的曲目表演的中規中矩，鋼琴聽來悅耳，輕鬆之感若然於現。下半場話鋒一轉，先是來個融合原住民文化的頌神之舞，還有改編版的思想起。不得不讚嘆其編排月一的運用方式很有新意，雖是弦樂器卻可以製造出月琴的感覺，甚至還敲小提琴琴身，如此創新的演奏方法演繹了新時代的思想起應該還能怎樣做。如果說整場的頻率到這還算高峰，後面就真的是急轉直下了。雙小提琴聽起來實在是不悅耳，樂評說這種曲子二個的演奏難度都很高，可聽來就是不知所云。這裡要注意，批評的不是教授的演奏功力，賣力和實力都展現在他們的動作上，但不能拯救演出情緒的氛圍卻是隨著音色擴散開來。他們說這是無調性演奏，這能找出有什麼優美的旋律? 沒有。甚至如洗腦歌一樣的深刻段落都難以尋找。最後試圖用貝里奧的曲目收尾，就是來點刺激的旋律來回復心情吧，這樣看來就是無謂之舉。頓時我覺得聽完空虛了起來，熱情下的是什麼? 不是滿足，而是深谷的不滿足之感! 或許要多聽幾次才會如教授說的喜歡上該曲，不過當場的聽感就是，法國六人組的音樂實在離我們太遙遠了。\n不過，我認識了奧乃格這個作曲家，他的Pacific 231聽來著實不錯，只是這樣大陣仗是未能見到的。透過這次的古典與創新的演奏，我認識到現在的音樂真的是很政治正確啊，小心古典勢力別被reign o’er了。沒有這樣順應潮流的音樂或許還有…?救救孩子。\n","date":"2023年7月18日","externalUrl":null,"permalink":"/posts/2021121201/","section":"Musics","summary":"初稿：2021年12月12日\n地點：屏東大學林森校區音樂館\n於12/22日前往音樂廳圓廳欣賞音樂系主辦的眾聲雲集音樂會。這是我第一次到訪圓廳，所以才知道學校有這樣專業的演出場地。演出期間工作人員都專業的遵守指引工作，現場也頗有正式音樂會的氣氛——儘管衣著是隨意的，做為夜間小啜。節目表上的曲目多由音樂系學生表演，再由教授施展功夫給在場大眾看，接下來就來說說主觀給人的音樂印象。\n整體來說，多虧下半場教授的解釋和聊天，我才知道純靠小提琴要做到鋼琴飽滿是不容易的，而結果果真是如此。上下半場的聽感予人巨大差別，前半場的曲目表演的中規中矩，鋼琴聽來悅耳，輕鬆之感若然於現。下半場話鋒一轉，先是來個融合原住民文化的頌神之舞，還有改編版的思想起。不得不讚嘆其編排月一的運用方式很有新意，雖是弦樂器卻可以製造出月琴的感覺，甚至還敲小提琴琴身，如此創新的演奏方法演繹了新時代的思想起應該還能怎樣做。如果說整場的頻率到這還算高峰，後面就真的是急轉直下了。雙小提琴聽起來實在是不悅耳，樂評說這種曲子二個的演奏難度都很高，可聽來就是不知所云。這裡要注意，批評的不是教授的演奏功力，賣力和實力都展現在他們的動作上，但不能拯救演出情緒的氛圍卻是隨著音色擴散開來。他們說這是無調性演奏，這能找出有什麼優美的旋律? 沒有。甚至如洗腦歌一樣的深刻段落都難以尋找。最後試圖用貝里奧的曲目收尾，就是來點刺激的旋律來回復心情吧，這樣看來就是無謂之舉。頓時我覺得聽完空虛了起來，熱情下的是什麼? 不是滿足，而是深谷的不滿足之感! 或許要多聽幾次才會如教授說的喜歡上該曲，不過當場的聽感就是，法國六人組的音樂實在離我們太遙遠了。\n","title":"2021年12月12日屏東大學「眾聲雲集」音樂會欣賞","type":"music"},{"content":" 有在使用Gelbooru、Danbooru、yande.re、rule34的動漫貼圖站(image board/booru)的用戶\n可以使用\u0026quot;imgbrd-grabber\u0026quot;客戶端，簡稱Grabber，用於瀏覽和批量下載圖片。支援Linux/Windows/macOS/Android。 除了批量下載圖片，imgbrd-grabber最重要的功能就是能在下載圖片時自動按照規則分類資料夾，省去事後手動整理的麻煩。您也可以設定一併下載圖片的標籤文字檔，用Hydrus Network軟體整理，或做Stable Diffusion訓練之用。 1. 安裝imgbrd-grabber # 至Github按照作業系統下載安裝檔。\nWindows和macOS下載安裝。Android版需下載APK。\nLinux請下載AppImage版本，點二下執行。或者您可以用Flatpak裝：\nflatpak install flathub org.bionus.Grabber 2. 使用方式 # imgbrd-grabber各大系統使用概念雷同，下面以電腦版為主。\n初始設定語言，Folder即為圖片下載路徑。 點選下方的「來源」加入更多圖站來源。鑑於各站的標籤系統不同，我只會加入Gelbooru和Danbooru；E-hentai標籤系統雖然好用可是有更適合的EhViewer能看；Pixiv的標籤要懂日文才會用得溜。 有在用Gelbooru的人，請點選選項，新增下圖的cookie，這樣才能搜尋到更多蘿莉圖片。 加入後勾選Sources旁邊的Merge，這樣不同網站的搜尋結果就會整合在一起。\n接著便可以用標籤開始搜尋了，跟在Gelbooru網頁版使用的語法類似，搜尋標籤便會迸出結果， 點選圖片放大會顯示所有標籤，點選存圖，或是按「獲取此頁」一次下載整個頁面的圖片。 3. 下載圖片後自動按標籤分類資料夾 # 預設下載的圖片檔名只會儲存md5，事後若要分類就會顯得麻煩吧。何不下載的時候就自動化呢？\n點選左上角工具 → 選項 → 保存，在這裡可以自訂下載圖片的格式。 參考官方文件\n如下圖 我把默認下載的文件名格式修改成：\n%artist%/%copyright%/%character%/%md5%.%ext% 這段代碼的意思是，下載圖片會依序建立\u0026quot;藝術家名字\u0026quot;的資料夾，裡面再建立\u0026quot;原作名稱\u0026quot;的資料夾，接著\u0026quot;角色名稱\u0026quot;資料夾，最後才是圖片檔名。 如果您把檔名的斜線/換成_，則不會建立資料夾，以上資訊就會集中寫在檔名。我個人覺得這個方式比較好整理。 此外，我會點選「單獨的日誌文件」，加入以下代碼：\n%artist%_%copyright%_%character%_%md5%.%ext%.txt 並且在文件內容填入%all% 這代表在下載圖片的時候會一併儲存標籤txt檔，方便用Hydrus Network整理。 ","date":"2023年7月18日","externalUrl":null,"permalink":"/posts/imgbrd-grabber-usage/","section":"所有文章","summary":" 有在使用Gelbooru、Danbooru、yande.re、rule34的動漫貼圖站(image board/booru)的用戶\n可以使用\"imgbrd-grabber\"客戶端，簡稱Grabber，用於瀏覽和批量下載圖片。支援Linux/Windows/macOS/Android。 除了批量下載圖片，imgbrd-grabber最重要的功能就是能在下載圖片時自動按照規則分類資料夾，省去事後手動整理的麻煩。您也可以設定一併下載圖片的標籤文字檔，用Hydrus Network軟體整理，或做Stable Diffusion訓練之用。 1. 安裝imgbrd-grabber # 至Github按照作業系統下載安裝檔。\nWindows和macOS下載安裝。Android版需下載APK。\nLinux請下載AppImage版本，點二下執行。或者您可以用Flatpak裝：\nflatpak install flathub org.bionus.Grabber 2. 使用方式 # imgbrd-grabber各大系統使用概念雷同，下面以電腦版為主。\n初始設定語言，Folder即為圖片下載路徑。 點選下方的「來源」加入更多圖站來源。鑑於各站的標籤系統不同，我只會加入Gelbooru和Danbooru；E-hentai標籤系統雖然好用可是有更適合的EhViewer能看；Pixiv的標籤要懂日文才會用得溜。 ","title":"Imgbrd Grabber，大量下載Danbooru動漫圖片的好用APP","type":"posts"},{"content":"我身後的總統府，距離人民只有幾百公尺，不過總統府裡面的人，就是聽不到人民的聲音，政府無能、政府無心、政府無感！政府對人民痛苦麻木不仁，這就是此時此刻，台灣人民普遍的感受！\n本文為我參加「716公平正義救台灣遊行」的紀實，因為欣賞黃國昌的正直，以及覺得很好玩所以就去了。\n2023年7月16日，由前立委黃國昌與館長陳之漢舉辦的「716公平正義救台灣遊行」在中華民國總統府前的凱達格蘭大道舉辦。 該遊行的訴求為：對民進黨8年以來執政的不滿，要求落實居住正義，改善台灣高房價的問題，以及解決台灣黑金政治的弊端，邀請了一堆政治人物來參加，並強調沒有政黨色彩。\n沒參與到的朋友，可以看這裡台視的全程716遊行直播，回顧現場氣氛。 早上我從南部死忠區北上，大約中午到達北車，接著坐捷運到活動現場。\n我聽到有人說：「哇這麼多人，台灣看來還是有救的。」\n一出台大醫院就開始塞了，大約跟著行人步行到凱道前面。 參考下圖，我約站在中間靠前排的位置。 說是遊行，但其實隊伍沒有動，大家是站在35度太陽底下罰站三小時，從下午二點站到五點，跟著台上吶喊，要現在的執政黨負起責任。\n活動期間有發送水、扇子、頭巾。\n主辦單位要求大家穿白色衣服，我就穿了印有Linux的衣服去。 1. 演講人物 # 此次遊行上台演講的人物依序為：\nOURs都市改革組織 崔媽媽租屋基金會 im.B詐騙案自救會 台灣維新黨 (蘇煥智 ＋ 謝和弦) 黃國昌和館長 郭台銘 台灣民眾黨黨團 侯友宜 ＋ 中國國民黨黨團 時代力量黨團 柯文哲 黃國昌和館長 會場前排還聚集了要求調查「五億高中生命案」的群眾。凱道外側則是有新黨的「對中國和平連署」及「反對日本排核廢水」、台灣左派工人團體、郭台銘高雄後援會、質疑蔡英文假博士、g0v連署「公開政治獻金」等組織。\n中場休息安排獨立樂團演出。\n總而言之是個大雜燴。\n2. 演講內容與台下的反應 # 抱歉我拍不到舞台，只好拍舞台旁的轉播。\n一開始主持人有問說台下的人是從哪裡來的？由於沒有政黨動員的關係，大多都是舉手說北部，少數如我是從南部來的。\n2.1. 大致和平的前奏 # 前面的三個都是弱勢民間團體，我認為他們講述的訴求很明確，OURs和崔媽媽基金會都有提出如改善台灣這幾年高房價問題的想法，並質疑為何政府不改進。im.B的講者更是激動，質疑台灣司法不公，政府機關踢皮球，要涉案政府人士和銀行出來面對人民。\n在那之後，蘇煥智也是延續上述三者的話題，獲得台下拍手。謝和弦沒講話，只在旁做出哈門的手勢。\n郭台銘上台倒是沒被噓，說民進黨最近推出的囤房稅是在騙票。不過他自稱「38歲以前是無殼蝸牛」好像有點牽強，還說可以體會台下的想法啦\u0026hellip;但郭就是說說場面話這樣。郭董可能也不太會演講，講話渲染情緒能力不強，因此台下風平浪靜。 台灣民眾黨黨團代表立法院黨團，說他們一直有在監督，在他們批判完房價與黑金問題後，接過黃國昌手中的同意書，簽署實現公平正義的同意書（這東西好像比《不向中共投降同意書》還厲害一點，雖然沒法律效力ㄏㄏ） 2.2. 侯侯GPT # 但當侯友宜上台，一切都變調了，他帶來一堆立委\u0026hellip;。侯友宜在批判房價與黑金問題時候雖獲得掌聲，但台下已傳出異音，好像在說「你們國民黨也不是一樣」。後來侯友宜突然開始偷渡選舉口號，說我上任一定會怎樣怎樣處理黑道，還說「公平正義侯友宜」，台下就暴動了，叫他滾下來。 我身邊的人不約而同的比倒讚，還發出全場噓聲。老實說，我不知道該不該跟著噓，此時我眼前的一位國民黨支持者不滿，開始跟噓聲的人理論，要求給個尊重。\n侯友宜講完後直接轉身想走，黃國昌出來打圓場說這場運動不分黨派，催促他簽實現公平正義的同意書。 2.3. 時代力量開地圖砲 # 更爆炸的來了，時代力量黨團（不含黃國昌）一上台，王婉諭一上台就暗諷民進黨無能，還說：\n「有最大的無能在野黨（國民黨）也是種悲哀」\n獲得台下歡呼。她的情況跟侯友宜類似，不同的是王婉諭在批判黑金問題的時候，氣憤的說：\n「白（柯文哲）與黑的距離也沒多遠，跟鍾東錦接觸，社子島說要直接輾過去，這算什麼第三勢力！」\n一提到柯文哲，台下就開始暴動了，罵髒話幹、叫「小綠燈滾下台」。此時我還是不知道該做何反應。 哇，她三黨都得罪了，我覺得她真的有勇氣，要求人民追求土地改革，不分政黨，比黃國昌言論還狠（黃國昌和館長的措辭主要只針對民進黨，雖然我知道他們該罵的還是會罵）。並且時代力量有兩人堅持穿黃黑色的衣服，而非白衣。\n換陳椒華講話的時候，台下噓聲就停止了，大概是她措辭比較中立吧。同樣是追求土地正義，她講的是自己參加全台的自救會活動，而沒有批判其他政黨。當然最後時代力量還是有簽實現公平正義的同意書。 2.4. 柯文哲上台，掌聲雷動 # 聽到柯文哲出來的消息，台下出現熱烈如雷的掌聲，狂喊「柯P、柯P、柯P」，原來都是柯粉呀，雖說氣勢比韓粉差很多。 柯文哲說，政府有沒有聽到人民訴求？台下當然怒吼沒有。但柯文哲打趣的說：\n「其實有啦，不然不會這二個禮拜突然推出囤房稅2.0」\n逗得台下大笑。但柯文哲也指出，囤房稅2.0實質內容是什麼，沒人知道呀。\n接著柯文哲開始罵民進黨蓋沒幾棟社宅，台北市也沒蓋完，還要花敬群出來面對社宅蓋了幾戶的事實。不論柯文哲說什麼，台下一直都處於歡呼的狀態，不愧是柯師傅。儘管柯文哲也開始偷渡選總統的言語，但卻沒有像侯友宜一樣喊口號，而是希望以務實的態度解決社會問題，並說：\n「我們今天出來，不是要抗議什麼，或是製造對立，而是讓台灣變得更好。」\n最後也有簽下實現公平正義的同意書，獲台下掌聲歡送離去。 2.5. 跟著戰神黃國昌一起吼 # 前後二次上台，黃國昌和館長都是吼得最兇的。黃國昌整場都在吼，提出了許多弊案的例子，他認為，民進黨8年來的司法改革根本沒有成效，黑道更加猖獗，詐騙越騙越多！\n氣憤的帶領大家呼喊口號：\n「落實居住正義，喚回司法公正！」\n黃國昌說，前幾年他要反親共的紅色媒體，現在要是綠色媒體繼續囂張下去，就要連綠媒一起反！我認同這點。 輪到館長，他複讀了蔡英文於2016年反馬英九時講的稿，要身後總統府裡的人好好聽清楚：\n「我身後的總統府，距離人民只有幾百公尺，不過總統府裡面的人，就是聽不到人民的聲音，政府無能、政府無心、政府無感！政府對人民痛苦麻木不仁，這就是此時此刻，台灣人民普遍的感受。」\n最後館長喊出了「民進黨下台！我們不是中共同路人！」的口號。 館長說，民進黨在圓山飯店吹冷氣開全代會，人民在街上曬太陽，民進黨一個人都沒派來！！\n其實有啦，我現場有看到零星塔綠班舉牌抗議，但不敢講話。\n在最後，一樣的口號怒吼後，準時結束今天的活動。 3. 所以716遊行訴求究竟是什麼 # 此次遊行訴求蠻雜亂的。\n雖然台上掛著二個「落實居住正義，喚回司法公正」的布條，但在我看來，每個人好像都各說各話。\n黃國昌和館長自不用說，他們的訴求一直都很明確，只是館長將本日所呼喚，無法達到的訴求，在最後歸結到「叫民進黨下台負責」這樣的方向去了。其他演講者不會這麼明顯。\n至於時代力量開地圖砲，可以說是最追求正義的一方了，儘管幾乎所有人都不開心就是。我佩服他們面對萬人的骨氣，要不是他們沒有總統人選不然2024年我就投他們了！可是以柯粉的角度來看，這種場合所有人都罵一遍，感覺就是來砸場子的。\n此外，三個弱勢民間團體出來發聲，我覺得很好。但這樣就更模糊焦點了，黃國昌有自己在追的黑金案子，民間團體則有各自的訴求。「司法公正」是一個很大題目，租屋、詐騙、黑金，這樣會導致各方訴求分裂，讓人搞不清楚遊行的目的為何。\n再談預定的總統候選人，郭台銘，老實說我真的覺得他是來\u0026hellip;打卡的，他又沒確定要選，出來講幾句鼓勵的話就閃人了，這不是台大畢業典禮座談會呀，董事長。\n侯友宜雖然目標跟黃國昌一致，但演講偷渡政治造勢，不可取。\n最後是柯文哲，好像沒有激烈的口號來表達訴求，也不太會煽動情緒，柯文哲講求的就是務實態度吧。反正我身邊柯粉個個都聽得很爽的態度就是了，我也很爽。\n我不做過度推測，說柯粉好像都是羅漢腳為主才來參加（有媒體抹黑此場活動是男性居多，可是我前後就站一堆女生呀，還有人帶小孩）。只不過這整個場子的人，好像都以支持柯文哲為主。\n總之，搞到最後，這場活動的訴求變成多方大混戰，各路人馬好像都各懷鬼胎。儘管大方向是「落實居住正義，喚回司法公正」實則就是想叫民進黨滾下來而已。當然我們不能這樣去脈絡的抹煞站出來人的努力，可是訴求很雜是事實。\n4. 事後感想 # 今次，我跟台上的人一樣感謝，雖然舉辦前黃國昌就遭到撲天蓋地的攻擊，污衊此活動的正當性，還是很高興有人願意站出來。\n就算這次只有三萬多人，遠不及過去有政黨動員的各種造勢，還是要讓政府聽到我們的聲音。\n後來看新聞，在冷氣房的總統候選人賴清德的回應，我覺得還算中立：\n「我們必須傾聽他們的聲音，不以人廢言，也不因人數多寡。聽到建設性批評必須採納，並且作為未來改變的動力，如果聽到的批評跟事實有落差，也要清楚說明，好好溝通，交給國家主人決定。」\n雖然對柯粉來說，恐怕又是「功德GPT」的另一番廢話罷了。\n邀請政治人物參與是讓這個活動更多人的因素吧。沒有邀請政治人物，為了黃國昌和館長來的人數可能還會更少。可各大黨又沒有積極動員，致使人數只有尷尬的三萬多人，這樣要怎麼向政府拍桌啦。\n有人認為2024年前應該多辦一點這類活動，激起人民憤怒，可是柯文哲又說不想辦造勢\u0026hellip;我不知道民眾黨要如何打贏這場選戰。\n今天我看到柯文哲出來也是很欣慰啦，他是台灣2024年最不壞的選擇，雖然很難選上，我還是要說：柯師傅萬歲！台灣的選擇，柯文哲！\n其實，我一直很欣賞黃國昌＋時代力量的正直，無懼權勢黨派，只追求正義的態度，所以我才會來這裡支持他們。\n黃國昌在活動還放話：今天的行動，只是一個開始！未來的政府要給公平正義一個交代！\n延伸閱讀 # 716遊行全程直播 - 台視 黃國昌 - Facebook 館長 - Facebook OURs都市改革組織 崔媽媽基金會 ","date":"2023年7月17日","externalUrl":null,"permalink":"/posts/716-protest/","section":"Politics","summary":"我身後的總統府，距離人民只有幾百公尺，不過總統府裡面的人，就是聽不到人民的聲音，政府無能、政府無心、政府無感！政府對人民痛苦麻木不仁，這就是此時此刻，台灣人民普遍的感受！\n本文為我參加「716公平正義救台灣遊行」的紀實，因為欣賞黃國昌的正直，以及覺得很好玩所以就去了。\n2023年7月16日，由前立委黃國昌與館長陳之漢舉辦的「716公平正義救台灣遊行」在中華民國總統府前的凱達格蘭大道舉辦。 該遊行的訴求為：對民進黨8年以來執政的不滿，要求落實居住正義，改善台灣高房價的問題，以及解決台灣黑金政治的弊端，邀請了一堆政治人物來參加，並強調沒有政黨色彩。\n沒參與到的朋友，可以看這裡台視的全程716遊行直播，回顧現場氣氛。 早上我從南部死忠區北上，大約中午到達北車，接著坐捷運到活動現場。\n我聽到有人說：「哇這麼多人，台灣看來還是有救的。」\n一出台大醫院就開始塞了，大約跟著行人步行到凱道前面。 參考下圖，我約站在中間靠前排的位置。 說是遊行，但其實隊伍沒有動，大家是站在35度太陽底下罰站三小時，從下午二點站到五點，跟著台上吶喊，要現在的執政黨負起責任。\n活動期間有發送水、扇子、頭巾。\n主辦單位要求大家穿白色衣服，我就穿了印有Linux的衣服去。 ","title":"柯師傅萬歲，參加「716公平正義救台灣遊行」的事後感想","type":"politic"},{"content":" この記事では、Termuxのproot-distroツールを使って、中国語環境、PulseAudio音声、XFCE4デスクトップ環境に対応したDebianシステムを手動で構築する方法を紹介します。root権限は不要です。記事の最後にはワンタップ起動用スクリプトも載せています。 Debianを選ぶ利点は、Ubuntuより安定していること、パッケージ形式がUbuntuに近いこと、そしてSnapに邪魔されないことです（Snapはsystemdが必要ですが、Termuxは対応していません）。\n手動でインストールしたくない場合は、社群製作的指令稿を使って自動インストールしてください。\n1. 前提条件 # Debianを動かすには、スマホに最低4GB RAM、グラフィカル環境では最低6GB RAMが必要です。\nストレージ容量は10GB用意してください。\n私の端末：小米Poco F1, Lineage OS 20 (Android 13)\nTermuxをインストールします\nTermux X11をインストールします\nGPUハードウェアアクセラレーションを有効にします。Termux virglrenderer GPU 3D\n2. Debian最小ファイルシステムをインストールする # ここでいう最小ファイルシステムとは、proot-distro開発者が提供しているrootfsのことです。debootstrapで作るわけではありません。\nProot-distroとPulseAudioをインストールします pkg update termux-setup-storage pkg install proot-distro pulseaudio vim Proot Debianをインストールします proot-distro install debian Debianにログインします。--userパラメータは指定アカウントでログインすることを表し、ここではrootです。--shared-tmpはTermuxのtmpディレクトリをproot内部にマウントし、Xサーバーのリソースを共有します。 proot-distro login debian --user root --shared-tmp ログイン後、まずsudo、vim、Firefoxブラウザをインストールします apt update apt install sudo vim firefox-esr Prootシステムを終了するには、exitを入力してログアウトします。 3. Debianミラーサイトを変更する # これは任意の手順です。ミラーサイトを変更すると、パッケージのダウンロード速度を上げられます。\n詳しい使い方はSourcesList - Debian Wikiを参照してください。\n利用可能なミラーサイト：Debian 映射站台\nミラー一覧を編集します vim /etc/apt/sources.list URLをすべて台湾NCHCのURLに置き換えます（バージョンコード名に注意してください。現在はbookwormです）。 deb http://opensource.nchc.org.tw/debian/ bookworm main contrib non-free deb-src http://opensource.nchc.org.tw/debian/ bookworm main contrib non-free deb http://opensource.nchc.org.tw/debian/ bookworm-updates main deb-src http://opensource.nchc.org.tw/debian/ bookworm-updates main deb http://security.debian.org/debian-security bookworm/updates main contrib non-free deb http://opensource.nchc.org.tw/debian bookworm-backports main パッケージ一覧を更新します apt update 4. 一般ユーザーを作成する # 通常、rootアカウントでシステムを操作することはありません。そのため一般ユーザーアカウントを追加し、システム変更が必要なとき（aptコマンド実行など）だけsudoコマンドで一時的に権限を昇格します。\nrootパスワードを変更します passwd wheelとvideoグループを追加します groupadd storage groupadd wheel groupadd video 一般アカウントuserを追加し、パスワードを変更します。 useradd -m -g users -G wheel,audio,video,storage -s /bin/bash user passwd user userをsudoグループに追加します。visudoコマンドを実行し、root ALL=(ALL:ALL) ALLの行を探して、その次の行に以下を追加します。 user ALL=(ALL:ALL) ALL 一般アカウントに切り替えます su user cd 5. デスクトップ環境をインストールする # 現在、TermuxではGNOMEデスクトップ（パッケージ名：gnome）を正常に起動できません。\nKDEデスクトップ（kde-full）は、スマホのRAMが8GB以上ある場合にインストールするのがおすすめです。\nXFCE4は最もバランスの良い選択肢です。軽量で、多くのスマホに向いています。\nsudo apt install xfce4 xfce4-goodies dbus-x11 XFCEのパッケージインストール時にキーボード設定を聞かれたら、1を入力してUSを選びます。 6. タイムゾーン、中国語、入力メソッドを設定する # ＊ Fcitx5入力メソッドを使うには外付けキーボードが必要です。\nタイムゾーンを台湾・台北に設定します sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime localesとFcitx5入力メソッドをインストールします sudo apt install locales fcitx5* fonts-noto-cjk vimで/etc/locale.genを編集します：vim /etc/locale.gen。繁体字中国語のコメント（#）を外し、次のようにします。 zh_TW.UTF-8 UTF-8 繁体字中国語ロケールを生成します locale-gen echo \u0026#34;LANG=zh_TW.UTF-8\u0026#34; \u0026gt; /etc/locale.conf VIMで.profileを編集します vim ~/.profile 以下を追加し、言語を繁体字中国語に設定して、入力メソッドにFcitx5を指定します。（fcitx5を呼び出せない場合は、言語をen_US.UTF-8に戻してください） LANG=zh_TW.UTF-8 LC_CTYPE=zh_TW.UTF-8 LC_NUMERIC=zh_TW.UTF-8 LC_TIME=zh_TW.UTF-8 LC_COLLATE=zh_TW.UTF-8 LC_MONETARY=zh_TW.UTF-8 LC_MESSAGES=zh_TW.UTF-8 LC_PAPER=zh_TW.UTF-8 LC_NAME=zh_TW.UTF-8 LC_ADDRESS=zh_TW.UTF-8 LC_TELEPHONE=zh_TW.UTF-8 LC_MEASUREMENT=zh_TW.UTF-8 LC_IDENTIFICATION=zh_TW.UTF-8 LC_ALL= GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus fcitx5 \u0026amp; 7. 手動でデスクトップ環境に入る方法 # この節は仕組みを理解するためのものです。知る必要がなければ次の節へ進んでください。\nDebianのインストール後、TermuxとTermux X11アプリを強制停止し、キャッシュを消去します。その後Termuxを再起動します。\nTermux X11 appを開き、バックグラウンドで開いたままにします。続いてTermuxへ戻り、PulseAudio、Termux X11、virgl serverを起動します\npulseaudio --start --exit-idle-time=-1 pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 export DISPLAY=:0 termux-x11 :0 \u0026amp; virgl_test_server_android \u0026amp; Debianにログインします。ここでは一般アカウントuserでログインする点に注意してください proot-distro login debian --user user --shared-tmp PulseAudio、Fcitx5、XFCE4デスクトップ環境を順に起動します export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1 fcitx5 \u0026amp; dbus-launch --exit-with-session startxfce4 \u0026amp; Termux X11の画面に切り替えると、デスクトップ環境が表示されるはずです。Termux X11のフローティングウィンドウをタップし、権限を取り消すと全画面になります。 8. ワンタップ起動用デスクトップ環境スクリプト # 毎回デスクトップ環境を起動するたびにコマンドを打つのは面倒です。幸い、clienの韓国人ユーザーが、ホーム画面のショートカットからTermux＋Termux X11＋virglserverの起動手順をワンタップで実行し、デスクトップ環境を自動起動する方法を紹介しています。\nTermux Widgetをインストールします\nシステム設定を開き、Termuxに「他のアプリの上に重ねて表示」を許可します Termuxを開き直し、以下のコマンドでショートカットを作成します（proot-distro内ではありません）\nmkdir .shortcuts vim .shortcuts/startproot_debian.sh 以下の内容を入力します #!/bin/bash # 古いプロセスをすべて終了 killall -9 termux-x11 pulseaudio virgl_test_server_android termux-wake-lock # Termux X11を起動 am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity XDG_RUNTIME_DIR=${TMPDIR} termux-x11 :0 -ac \u0026amp; sleep 3 # PulseAudioを起動 pulseaudio --start --load=\u0026#34;module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1\u0026#34; --exit-idle-time=-1 pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 # GPUアクセラレーション用virglserverを起動 virgl_test_server_android \u0026amp; # proot Debianにログインしてデスクトップ環境を起動 proot-distro login debian --user user --shared-tmp -- bash -c \u0026#34;export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1; dbus-launch --exit-with-session startxfce4\u0026#34; 実行権限を付与します chmod +x .shortcuts/startproot_debian.sh スマホのホーム画面でウィジェットを追加し、Termux Widgetを選択すると、先ほど作成したショートカットが一覧に表示されます。 ボタンをタップすると、Termuxが自動で開いてデスクトップへログインします。\n通知欄を下へスワイプし、Termux X11のPreferencesを押すと、タッチ操作を模擬タッチパッドに変更できます。これでマウスを呼び出せます。 スマホのキーボードを使う場合：Termuxに戻って画面をタップしてキーボードを表示し、通知欄を下へスワイプしてTermux X11をタップすると、スマホのキーボードを開いたまま維持できます。または画面下部の仮想キーボードをスワイプすると、スマホのキーボードで入力できる入力欄が表示されます。\nXFCE4のアイコンが小さすぎる場合があります。左上 → 設定マネージャー → 外観を開き、ウィンドウスケーリングを2倍に設定します。なお、システム設定でXFCEの画面ロックとスクリーンセーバーを無効にしておくこともおすすめします。ロック解除できないためです。 外付けキーボードがある場合は、システム右上のFcitx5アイコンをクリックし、右クリックメニューの設定から新酷音入力メソッドを追加します。CTRL+スペースで注音入力に切り替えます。 実行を終了するには、Termuxに戻ってCTRL+Cを押してデスクトップ環境を終了し、その後ログアウトします。\nexit 参考資料 # Termux Proot-distro Tips Debian Manual termux 우분투 셋팅법 : 클리앙 - clien ","date":"2023年7月15日","externalUrl":null,"permalink":"/ja-jp/posts/termux-proot-distro-debian/","section":"Termux-Tutorials","summary":" この記事では、Termuxのproot-distroツールを使って、中国語環境、PulseAudio音声、XFCE4デスクトップ環境に対応したDebianシステムを手動で構築する方法を紹介します。root権限は不要です。記事の最後にはワンタップ起動用スクリプトも載せています。 Debianを選ぶ利点は、Ubuntuより安定していること、パッケージ形式がUbuntuに近いこと、そしてSnapに邪魔されないことです（Snapはsystemdが必要ですが、Termuxは対応していません）。\n手動でインストールしたくない場合は、社群製作的指令稿を使って自動インストールしてください。\n1. 前提条件 # Debianを動かすには、スマホに最低4GB RAM、グラフィカル環境では最低6GB RAMが必要です。\nストレージ容量は10GB用意してください。\n私の端末：小米Poco F1, Lineage OS 20 (Android 13)\nTermuxをインストールします\nTermux X11をインストールします\nGPUハードウェアアクセラレーションを有効にします。Termux virglrenderer GPU 3D\n2. Debian最小ファイルシステムをインストールする # ここでいう最小ファイルシステムとは、proot-distro開発者が提供しているrootfsのことです。debootstrapで作るわけではありません。\n","title":"TermuxでDebianをインストールする方法（GUI＋中国語環境＋音声＋ワンタップ起動スクリプト）","type":"termux-tutorials"},{"content":"註：如果你是想在Raspberry Pi跑QEMU/KVM虛擬機，請參考這篇：樹莓派跑ARM架構的Linux虛擬機\nEmulating Raspberry Pi OS (ARM) on Linux PC (x86).\n這篇文章Ivon解說如何在x86架構的Linux電腦，以QEMU模擬執行ARM架構的Raspberry Pi OS。 雖說QEMU模擬異質ARM架構，執行速度約只有實體機器的五分之一，沒有KVM，也沒有圖形加速，但只要耐心夠，仍可以在虛擬機內測試一些樹莓派環境的軟體。\n1. 環境 # Host OS：Arch Linux Linux核心版本：6.4.3 QEMU版本：8.0.2 要模擬的硬體：Raspberry Pi 3 Model B 要模擬的作業系統：Raspberry Pi OS Bullseye 64-bit 根據官方文件，QEMU目前只支援模擬Raspberry Pi Zero、Raspberry Pi 1、Raspberry Pi 2、Raspberry Pi 3 Model A、Raspberry Pi 3 Model B。\n我選擇最近代的Raspberry Pi 3 Model B，其RAM模擬上限1GB，請善用SWAP。\n2. 安裝QEMU/KVM # 於電腦啟用虛擬化，並安裝QEMU套件。Virt Manager可不裝。\n接著安裝qemu-system-aarch64模擬器\nsudo pacman qemu-system-aarch64 最後準備一套VNC客戶端，我用Remmina。\n3. 準備Raspberry Pi OS核心與系統映像檔 # 首先我們要準備Linux核心和dtb用於開機，這些可以從Raspberry Pi OS的映像檔抽取出來。\n至Raspberry Pi官網，下載最新版Raspberry Pi OS (64-bit)映像檔，選取Raspberry Pi OS with desktop版本。 cd ~ mkdir raspberrypi \u0026amp;\u0026amp; cd raspberrypi wget https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2023-05-03/2023-05-03-raspios-bullseye-arm64.img.xz 將其解壓縮 tar xvJf 2023-05-03-raspios-bullseye-arm64.img.xz 將映像檔掛載為loop device mkdir mnt sudo losetup -f --show -P 2023-05-03-raspios-bullseye-arm64 # 應會顯示dev/loop0 sudo mount /dev/loop0p1 /home/$USER/raspberrypi/mnt 抽出kernel和dtb cp mnt/kernel* . cp mnt/*.dtb . 取消掛載 sudo umount /home/$USER/raspberrypi/mnt sudo losetup -d /dev/loop0 QEMU要求虛擬SD卡容量需為2的次方，所以我們就先將Raspberry Pi OS映像檔放大吧，這樣的話等會系統可用空間就有16GB： qemu-img resize 2023-05-03-raspios-bullseye-arm64.img 16G 4. 撰寫開機指令稿 # 新增開機指令稿 vim launch.sh 填入以下內容： #!/bin/bash qemu-system-aarch64 \\ -M raspi3b \\ #模擬Raspberry Pi 3 Model B -cpu cortex-a72 \\ #模擬Coretx-A72 CPU -smp cores=4,threads=1,sockets=1 \\ #CPU核心分配 -append \u0026#34;rw earlyprintk loglevel=8 console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootdelay=1\u0026#34; \\ -dtb bcm2710-rpi-3-b-plus.dtb \\ -sd 2023-05-03-raspios-bullseye-arm64.img \\ #使用的映像檔 -kernel kernel8.img \\ -m 1G \\ #RAM固定 -serial stdio \\ -usb -device usb-mouse -device usb-kbd -device usb-tablet \\ #插入鍵盤滑鼠 -device usb-net,netdev=net0 \\ #提供網路連線 -netdev user,id=net0,hostfwd=tcp::5555-:22 \\ #轉發Host的5555通訊埠到虛擬機22通訊埠 開機 chmod +x launch.sh ./launch.sh 等大概2分鐘，終端機會輸出開機訊息，等出現raspberrypi login:提示的時候，先不要登入。我不知道為何預設帳密(pi和raspberry)一直顯示incorrect login，所以我們得用圖形界面新增一個可以登入的帳號。\n開啟Remmina，協定選VNC，連線位址輸入localhost:5900連線，就會看到圖形界面。按照螢幕指示設定語言，新增使用者帳號。 安裝完成後，將虛擬機關機，圖形界面沒反應的話請在終端機按CTRL＋C關機。\n日後要開機的話就是執行launch.sh指令稿。圖形界面沒有必要每次都開，直接在終端機登入新增的使用者帳號即可。\n5. 調整虛擬硬碟大小 # 新增使用者後，Raspberry Pi OS可能不會吃滿所有可用空間。預設映像檔是4GB，就算放大到16GB，硬碟後方的空間仍沒有利用到。\n為此我們要手動調整分區大小，這裡我使用圖形化的Gparted調整。\n使用Linux核心的nbd功能，將映像檔掛載為網路區塊裝置 sudo modprobe nbd max_part=10 sudo qemu-nbd -c /dev/nbd0 2023-05-03-raspios-bullseye-arm64.img 16G 安裝gpated，並用gparted編輯硬碟分區 sudo pacman -S gparted sudo gparted /dev/nbd0 對/dev/nbd0p2分區點選右鍵，拉動滑桿，填滿後端空間，再按下綠色打勾套用。 關閉gpated，取消掛載網路區塊裝置\nsudo qemu-nbd -d /dev/nbd0 開機後使用df -h指令檢查系統可用空間是否已變大。 6. 加大dphys-swapfile # QEMU模擬的RAM太小了，系統很容易當機，此時利用SWAP增加可用RAM吧。\nRaspberry Pi OS預設用dphys-swapfile管理SWAP檔案，不可自行新增swapfile。\n編輯SWAP大小設定檔 sudo vi /etc/dphys-swapfile 找到這一行，將預設的100 (MB) SWAP改為4096。 CONF_SWAPSIZE=4096 重啟服務，或者重開機。 sudo service dphys-swapfile restart 用sudo swapon -s指令查看SWAP大小是否變化。 7. 設定SSH伺服器 # 於虛擬機內部安裝OpenSSH，並啟動服務 sudo apt update sudo apt install openssh-server sudo systemctl enable --now ssh 這樣就可以從Linux Host以5555通訊埠連線至虛擬機。 ssh \u0026lt;使用者名稱\u0026gt;@localhost -p 5555 參考資料 # farabimahmud/emulate-raspberry-pi3-in-qemu - Github Native emulation of Rpi2/3 using Qemu\u0026rsquo;s Raspi2/3 machine - Github QEMU仿真树莓派1和3B-保姆级教程 - 知乎 native-emulation variant does not start, SD card size error #3 - Github How to resize a qcow2 disk image on Linux - LinuxConfig.org 樹莓派 Raspberry Pi 記憶體不足當機？調整 Swap 交換空間大小解決 - G. T. Wang ","date":"2023年7月15日","externalUrl":null,"permalink":"/posts/emulate-raspberry-pi-os-on-x86-linux/","section":"所有文章","summary":"註：如果你是想在Raspberry Pi跑QEMU/KVM虛擬機，請參考這篇：樹莓派跑ARM架構的Linux虛擬機\nEmulating Raspberry Pi OS (ARM) on Linux PC (x86).\n這篇文章Ivon解說如何在x86架構的Linux電腦，以QEMU模擬執行ARM架構的Raspberry Pi OS。 雖說QEMU模擬異質ARM架構，執行速度約只有實體機器的五分之一，沒有KVM，也沒有圖形加速，但只要耐心夠，仍可以在虛擬機內測試一些樹莓派環境的軟體。\n1. 環境 # Host OS：Arch Linux Linux核心版本：6.4.3 QEMU版本：8.0.2 要模擬的硬體：Raspberry Pi 3 Model B 要模擬的作業系統：Raspberry Pi OS Bullseye 64-bit 根據官方文件，QEMU目前只支援模擬Raspberry Pi Zero、Raspberry Pi 1、Raspberry Pi 2、Raspberry Pi 3 Model A、Raspberry Pi 3 Model B。\n我選擇最近代的Raspberry Pi 3 Model B，其RAM模擬上限1GB，請善用SWAP。\n2. 安裝QEMU/KVM # 於電腦啟用虛擬化，並安裝QEMU套件。Virt Manager可不裝。\n接著安裝qemu-system-aarch64模擬器\nsudo pacman qemu-system-aarch64 最後準備一套VNC客戶端，我用Remmina。\n3. 準備Raspberry Pi OS核心與系統映像檔 # 首先我們要準備Linux核心和dtb用於開機，這些可以從Raspberry Pi OS的映像檔抽取出來。\n","title":"如何用QEMU在x86電腦模擬ARM版樹莓派系統，虛擬機跑Raspberry Pi OS","type":"posts"},{"content":" 全名：ろりんこ創世記 ナマイキ HARD\n直譯：純潔蘿莉控創世紀\n台灣廠商翻譯：Magic Eyes - 創世記蘿莉子硬版\nMagic Eyes 2023年新推出的蘿莉飛機杯系列「ろりんこ創世記」，共有三種硬度：Soft、Natural、Hard。 特色是只有10cm的深度。其中小麥色的顏色很是新鮮，也為追求刺激，買了最硬的版本， 結果就後悔了，我覺得像是在幹牛奶糖，又硬又黏。\n開箱後小小的一尊，一手就能掌握 屁股的線條也有做出來，跟處女宮類似。不過理論上真正的＊＊＊不會有這麼漂亮的曲線啦，都是二次元的遐想 洞口小到擠潤滑液都會溢出來。別看它短，不擠多一點的話會受傷的。 至於配菜要用什麼～黑肉、小麥色肌膚的蘿莉色很多，就用Libeccio、Grecale姊妹吧 洞口幹起來確實是很緊的沒錯，體驗被蘿莉的緊緻小穴榨精的快感\n但問題真的就是太小太緊了，好像插入一塊牛奶糖，被老虎鉗夾住的感覺。\n與其說在幹蘿莉，覺得像在幹妖精，頂到肺的那種。可能是穴道太短，說刺激也沒感覺，屌在一般長度之上的很容易插到一半跑出來。\n在抽插的時候感覺到的阻力，是這個突起物，它將通道變得更窄小，一般長度的頂到那邊就是刺激龜頭之用。 但由於前述說的，整體材質太硬、穴道太短的緣故，抽插沒有被按摩的快感，反而比較像是在頂磚塊。 事實上，實際幹過這個飛機杯之後，我認為感覺更像這張圖 ([ニャリャポンガ (世界最速のパンダ)] バニ♡だく)，緊的壓力過大。 飛機杯本應是剛柔並濟的刺激屌，而正常長度的屌幹這款卻是像折磨。\n這下知道為何オナホ動画給Natural版本三星，Hard版卻只給二星了。\n這個系列可能只適合奈米屌吧。\n","date":"2023年7月13日","externalUrl":null,"permalink":"/posts/magic-eyes-rorinko-soseiki-namaiki-hard-review/","section":"Nsfws","summary":" 全名：ろりんこ創世記 ナマイキ HARD\n直譯：純潔蘿莉控創世紀\n台灣廠商翻譯：Magic Eyes - 創世記蘿莉子硬版\nMagic Eyes 2023年新推出的蘿莉飛機杯系列「ろりんこ創世記」，共有三種硬度：Soft、Natural、Hard。 特色是只有10cm的深度。其中小麥色的顏色很是新鮮，也為追求刺激，買了最硬的版本， 結果就後悔了，我覺得像是在幹牛奶糖，又硬又黏。\n開箱後小小的一尊，一手就能掌握 屁股的線條也有做出來，跟處女宮類似。不過理論上真正的＊＊＊不會有這麼漂亮的曲線啦，都是二次元的遐想 洞口小到擠潤滑液都會溢出來。別看它短，不擠多一點的話會受傷的。 至於配菜要用什麼～黑肉、小麥色肌膚的蘿莉色很多，就用Libeccio、Grecale姊妹吧 ","title":"幹起來像是牛奶糖，Magic Eyes創世記ナマイキHARD飛機杯評價","type":"nsfw"},{"content":"F-Toys 艦これモデル3\n趁著新番動畫《總有一天在那片海》開播推出的商品，可以讓軍事迷與艦隊收藏玩家過過癮的小玩具。\n2023年7月我到日本旅遊的時候在當地超市購買的模型。果真是食玩，隨便就買得到，一盒約770日圓。 我抽到的是「最上改二特」和「扶桑」。他們都是參與蘇里高海戰的船艦。\n組裝需要用到一些模型膠。組出來就是1:2000的小模型，精細度不錯。在展示架下面墊一張小卡片讓你欣賞老婆美照。 最上改二特的飛行甲板的瑞雲雖然小，但是細節仍然可以看出來。 可我不知道這麼小的模型，還要你手動把扶桑那比一粒糖還小的14門單裝砲手動黏上去是什麼鬼設計。另外扶桑怎麼沒有改二嘞，最上都改二了 ","date":"2023年7月12日","externalUrl":null,"permalink":"/posts/f-toys-1-2000-scale-kancolle-model-3/","section":"Artworks","summary":"F-Toys 艦これモデル3\n趁著新番動畫《總有一天在那片海》開播推出的商品，可以讓軍事迷與艦隊收藏玩家過過癮的小玩具。\n2023年7月我到日本旅遊的時候在當地超市購買的模型。果真是食玩，隨便就買得到，一盒約770日圓。 我抽到的是「最上改二特」和「扶桑」。他們都是參與蘇里高海戰的船艦。\n組裝需要用到一些模型膠。組出來就是1:2000的小模型，精細度不錯。在展示架下面墊一張小卡片讓你欣賞老婆美照。 最上改二特的飛行甲板的瑞雲雖然小，但是細節仍然可以看出來。 可我不知道這麼小的模型，還要你手動把扶桑那比一粒糖還小的14門單裝砲手動黏上去是什麼鬼設計。另外扶桑怎麼沒有改二嘞，最上都改二了 ","title":"艦隊收藏總有一天在那片海「最上」與「扶桑」｜F-Toys 1/2000船艦模型系列","type":"artwork"},{"content":"2023年7月，我到日本九州旅遊趁著跟團的間隙，跑去附近的商家玩。正式入了坑。一直很想玩的！\n艦隊Arcade玩法嘛，多虧巴哈哈啦區玩家分享：【情報】艦これアーケード (Arcade)各種相關資訊，以及之前玩過艦隊Arcade同人遊戲的經驗，所以很快上手。\n現在是瑞雲祭，機台有很精緻的航空甲板模型。當天去的時候剛好沒人。 電好可愛～雖然已經知道玩法，不過實際能轉到舵的感受還是不一樣，旁邊還有店家專門點檢機台狀況的表單呢。 茲整理入坑《艦隊Arcade》新手步驟如下：\n首先透過SEGA官網查詢日本有設置機台的店鋪：https://kancolle-arcade.net/ac/#/place 艦隊Arcade是透過「AIME卡」紀錄玩家資料，在AIME網站登錄還可以追蹤課金花費，該卡也能用來玩《Fate/Grand Order Arcade》。 AIME開卡需要輸入信用卡號碼。我用台灣的VISA信用卡，且要收刷卡簡訊驗證碼的話，用手機插台灣SIM卡開漫遊收簡訊。 到SEGA網站註冊SEGA ID，只需要電子信箱：https://gw.sega.jp/gw/ 到AIME網站用SEGA ID登入 https://my-aime.net 到遊戲場投300円買AIME卡，通常在遊戲場的兌幣機旁邊。 準備100円的零錢，因為《艦隊Arcade》需要投錢買GP才可以出擊。 AIME卡需要玩一次《艦隊Arcade》才能啟用。300円可以免費試玩一次，但艦娘只能擁有一艘，後面必須登錄信用卡卡號才能擴充，不然會無法造船。 點一下《艦隊Arcade》螢幕開始遊戲，掃描AIME卡 選取初始艦娘，給提督取名，然後出擊1-1，按照螢幕指示操控。第一次免費送的300GP可以出擊2次。 GP消耗完後點選右上角結束遊戲。機台旁邊會掉出一張艦娘卡片。 玩完一次後，回到AIME網站點選登錄卡片：https://my-aime.net 輸入卡片背後的數字代碼，再輸入信用卡號碼，試刷100圓通過，之後才算開卡成功。之後就可以正常玩了，流程同樣是掃描AIME卡，再將要用的艦娘卡片插入機台卡槽掃描。 或許我應該先網購一些強力艦娘卡片再來玩的？反正卡片不認人，不過我玩收集式的機臺遊戲不太喜歡直接網購卡片啦\u0026hellip;\n於是，緊迫時間下，只收穫了二張電的卡片，其中一張還有反映當下季節的晴天娃娃。 ","date":"2023年7月12日","externalUrl":null,"permalink":"/posts/first-kancolle-arcade-gameplay/","section":"Kantai-Collections","summary":"2023年7月，我到日本九州旅遊趁著跟團的間隙，跑去附近的商家玩。正式入了坑。一直很想玩的！\n艦隊Arcade玩法嘛，多虧巴哈哈啦區玩家分享：【情報】艦これアーケード (Arcade)各種相關資訊，以及之前玩過艦隊Arcade同人遊戲的經驗，所以很快上手。\n現在是瑞雲祭，機台有很精緻的航空甲板模型。當天去的時候剛好沒人。 電好可愛～雖然已經知道玩法，不過實際能轉到舵的感受還是不一樣，旁邊還有店家專門點檢機台狀況的表單呢。 茲整理入坑《艦隊Arcade》新手步驟如下：\n首先透過SEGA官網查詢日本有設置機台的店鋪：https://kancolle-arcade.net/ac/#/place 艦隊Arcade是透過「AIME卡」紀錄玩家資料，在AIME網站登錄還可以追蹤課金花費，該卡也能用來玩《Fate/Grand Order Arcade》。 AIME開卡需要輸入信用卡號碼。我用台灣的VISA信用卡，且要收刷卡簡訊驗證碼的話，用手機插台灣SIM卡開漫遊收簡訊。 到SEGA網站註冊SEGA ID，只需要電子信箱：https://gw.sega.jp/gw/ 到AIME網站用SEGA ID登入 https://my-aime.net 到遊戲場投300円買AIME卡，通常在遊戲場的兌幣機旁邊。 準備100円的零錢，因為《艦隊Arcade》需要投錢買GP才可以出擊。 AIME卡需要玩一次《艦隊Arcade》才能啟用。300円可以免費試玩一次，但艦娘只能擁有一艘，後面必須登錄信用卡卡號才能擴充，不然會無法造船。 點一下《艦隊Arcade》螢幕開始遊戲，掃描AIME卡 選取初始艦娘，給提督取名，然後出擊1-1，按照螢幕指示操控。第一次免費送的300GP可以出擊2次。 GP消耗完後點選右上角結束遊戲。機台旁邊會掉出一張艦娘卡片。 玩完一次後，回到AIME網站點選登錄卡片：https://my-aime.net 輸入卡片背後的數字代碼，再輸入信用卡號碼，試刷100圓通過，之後才算開卡成功。之後就可以正常玩了，流程同樣是掃描AIME卡，再將要用的艦娘卡片插入機台卡槽掃描。 或許我應該先網購一些強力艦娘卡片再來玩的？反正卡片不認人，不過我玩收集式的機臺遊戲不太喜歡直接網購卡片啦…\n","title":"入坑艦隊Arcade～註冊與新手上路","type":"kantai-collection"},{"content":"Shared Folder in QEMU/KVM between Linux Host and Windows Guest.\n如果想要與QEMU/KVM虛擬機共享資料夾，可考慮用SSHFS掛載Linux Host的目錄給虛擬機存取，方便傳輸檔案。 SSHFS是透過網路掛載的檔案系統，適用於各大作業系統，安全性也比較高。\n本文以Linux Host OS ＋ Windows 11 Guest OS為例子。\n請先在Linux安裝Windows 11虛擬機，網路使用預設的NAT模式。\n1. 設定虛擬機靜態IP # Virt Manager界面無法直接改，需要用到Libvirt的virsh指令。\n將虛擬機關機\n查詢虛擬機的mac地址\nsudo virsh list --all sudo virsh dumpxml \u0026#34;Windows11\u0026#34; | grep \u0026#39;mac address\u0026#39; 編輯預設網路，這裡是NAT網卡 sudo virsh net-list sudo virsh net-edit default 找到\u0026lt;dnsmasq\u0026gt;這段，在\u0026lt;range\u0026gt;下方填寫虛擬機的mac地址、虛擬機名稱，與想要賦予的靜態IP \u0026lt;dhcp\u0026gt; \u0026lt;range start=\u0026#39;192.168.122.2\u0026#39; end=\u0026#39;192.168.122.254\u0026#39;/\u0026gt; \u0026lt;host mac=\u0026#39;虛擬機的mac地址\u0026#39; name=\u0026#39;Windows11\u0026#39; ip=\u0026#39;192.168.122.234\u0026#39;/\u0026gt; \u0026lt;/dhcp\u0026gt; 重新啟動網路 sudo virsh net-destroy default sudo virsh net-start default 2. 設定SSHFS服務 # 於Linux Host安裝SSH服務 sudo pacman -S openssh sudo systemctl enable --now sshd 安裝SSHFS套件 sudo pacman -S sshfs 接著開機進入Windows虛擬機，安裝圖形化程式SSHFS-Win Manager。該程式為指令版SSHFS-Win的前端封裝。\n點選Add Connection 首先在IP填入Linux OS的區域IP（區域IP可以用ip addr指令查看）。User填寫Linux Host的使用者名稱，Password填寫密碼，Remote PATH則是要掛載的目錄，例如Linux Host的Downloads 按下電源插頭的圖示，它就會將Linux的目錄掛載為本機硬碟 參考資料 # KVM/libvirt: How to configure static guest IP addresses on the virtualisation host\n","date":"2023年7月12日","externalUrl":null,"permalink":"/posts/qemu-kvm-sshfs/","section":"所有文章","summary":"Shared Folder in QEMU/KVM between Linux Host and Windows Guest.\n如果想要與QEMU/KVM虛擬機共享資料夾，可考慮用SSHFS掛載Linux Host的目錄給虛擬機存取，方便傳輸檔案。 SSHFS是透過網路掛載的檔案系統，適用於各大作業系統，安全性也比較高。\n本文以Linux Host OS ＋ Windows 11 Guest OS為例子。\n請先在Linux安裝Windows 11虛擬機，網路使用預設的NAT模式。\n1. 設定虛擬機靜態IP # Virt Manager界面無法直接改，需要用到Libvirt的virsh指令。\n將虛擬機關機\n查詢虛擬機的mac地址\nsudo virsh list --all sudo virsh dumpxml \"Windows11\" | grep 'mac address' 編輯預設網路，這裡是NAT網卡 sudo virsh net-list sudo virsh net-edit default 找到\u003cdnsmasq\u003e這段，在\u003crange\u003e下方填寫虛擬機的mac地址、虛擬機名稱，與想要賦予的靜態IP \u003cdhcp\u003e \u003crange start='192.168.122.2' end='192.168.122.254'/\u003e \u003chost mac='虛擬機的mac地址' name='Windows11' ip='192.168.122.234'/\u003e \u003c/dhcp\u003e 重新啟動網路 sudo virsh net-destroy default sudo virsh net-start default 2. 設定SSHFS服務 # 於Linux Host安裝SSH服務 sudo pacman -S openssh sudo systemctl enable --now sshd 安裝SSHFS套件 sudo pacman -S sshfs 接著開機進入Windows虛擬機，安裝圖形化程式SSHFS-Win Manager。該程式為指令版SSHFS-Win的前端封裝。\n點選Add Connection 首先在IP填入Linux OS的區域IP（區域IP可以用ip addr指令查看）。User填寫Linux Host的使用者名稱，Password填寫密碼，Remote PATH則是要掛載的目錄，例如Linux Host的Downloads ","title":"QEMU/KVM虛擬機設定靜態IP ＋ 透過SSHFS與Host OS共享資料夾","type":"posts"},{"content":"第一次來日本。今次，到九州旅遊的時候途經熊本市下通商店街，逛街的時候趁機溜過去玩艦隊Arcade（艦これアーケード）機臺，不過因為時間短暫，我玩二回就得離開。残念です。\n之後還買了艦これ的食玩，到福岡看鋼彈。 艦隊Arcade玩法嘛，多虧哈啦區玩家分享，以及之前玩過艦隊Arcade同人遊戲的經驗，所以很快上手。參見：入坑艦隊Arcade～註冊與新手上路\n另外之前十週年時候Lawson有跟艦これ的合作活動，不過早就沒啦 ～ 只好去附近的超市買了F-Toys隨著動畫《總有一天在那片海》發售的艦これモデル系食玩。參見：F-Toys 艦隊收藏總有一天在那片海～船艦模型系列\n這次的旅行是跟團，7月7日出發，到日本九州繞個五天，期間由陳姓導遊和野口司機先生帶著我們到處繞繞。\n第一天住在商務小旅館，第二天是鄉下溫泉小旅館，最後是長崎海景房。\n不幸的是，出發前一天我在整理行李箱的時候被行李箱開口的割傷中指，所以接下來5天我都是包著OK繃去的。過海關的時候按指紋痛死了。\n第一天是福岡，湯布院町(ゆふいんちょう)，九州動物園，接著到阿蘇鄉下的溫泉旅館。 湯布院町一堆昭和懷舊動畫的雕像，真的是為觀光客打造的聖地\u0026hellip; 九州動物園有好多可愛的天竺鼠寶寶可以讓你抱！！！還有猛獸遊園車。 原本期望能遠眺阿蘇火山，但是期間都霧茫茫\u0026hellip; 沒關係，第二天到熊本城和熊本的商店街還有得看。這個古代城堡有些地方土石崩落，按照日本的職人精神，他們要花20年慢慢修復。導遊說，要是台灣就會用水泥直接黏一黏啦。 在熊本市購物的時候，我只能用英語和迫真日文買東西，只要我不尷尬的話別人就\u0026hellip;.麥當勞點餐的雞同鴨講，太緊張把ketchup說成tomato sauce，噗。被年輕店員用可憐的眼神看待。 第三天跨度比較大，從熊本搭乘有明快速渡輪，從熊本直接到對岸的長崎縣，造訪原爆平和公園，以及哥拉巴花園（グラバー園）。 從哥拉巴花園可以眺望整個長崎港 順便拍到了進港的自衛隊護衛艦！從舷號來看應該是妙高號（みょうこう）。啊，明明長崎再過去就可到佐世保聖地巡禮了～看來那個行程只有自由行才有機會。 最後一天殺回福岡購物，參拜櫛田神社。話說，其實我們到的那幾天，九州北部都在狂風暴雨，看電視還有土石流。我們來得早所以行程都能走完，可是最後一天卻從佐賀大塞車到福岡，致使行程延誤。 拜完神社，巧遇祭典，就算是跟此地結下緣份了吧。 福岡鋼彈就放在購物商場Lalaport前面，精細度真是沒話說。 五天下來，去的點一堆中國人和韓國人，飯店和店家也很貼心的附上多國語言標示，有些還會說中文呢，你會到日本人的細心。\n為下次旅遊所作的準備～大約是明年吧。\n自由行可行性太低了，還是先學好基礎日文會話 路上一定要能去玩艦これArcade 盡量納入更多艦これ聖地巡禮景點，依照山或港口命名的都可以。營造成知性之旅的感覺。這次經過九州的山，我覺得那種日本鄉下的感覺也很棒。 ","date":"2023年7月11日","externalUrl":null,"permalink":"/posts/2023071101/","section":"Personals","summary":"第一次來日本。今次，到九州旅遊的時候途經熊本市下通商店街，逛街的時候趁機溜過去玩艦隊Arcade（艦これアーケード）機臺，不過因為時間短暫，我玩二回就得離開。残念です。\n之後還買了艦これ的食玩，到福岡看鋼彈。 艦隊Arcade玩法嘛，多虧哈啦區玩家分享，以及之前玩過艦隊Arcade同人遊戲的經驗，所以很快上手。參見：入坑艦隊Arcade～註冊與新手上路\n另外之前十週年時候Lawson有跟艦これ的合作活動，不過早就沒啦 ～ 只好去附近的超市買了F-Toys隨著動畫《總有一天在那片海》發售的艦これモデル系食玩。參見：F-Toys 艦隊收藏總有一天在那片海～船艦模型系列\n這次的旅行是跟團，7月7日出發，到日本九州繞個五天，期間由陳姓導遊和野口司機先生帶著我們到處繞繞。\n第一天住在商務小旅館，第二天是鄉下溫泉小旅館，最後是長崎海景房。\n不幸的是，出發前一天我在整理行李箱的時候被行李箱開口的割傷中指，所以接下來5天我都是包著OK繃去的。過海關的時候按指紋痛死了。\n第一天是福岡，湯布院町(ゆふいんちょう)，九州動物園，接著到阿蘇鄉下的溫泉旅館。 湯布院町一堆昭和懷舊動畫的雕像，真的是為觀光客打造的聖地… 九州動物園有好多可愛的天竺鼠寶寶可以讓你抱！！！還有猛獸遊園車。 ","title":"2023年7月日本福岡、湯布院、阿蘇、熊本、長崎遊記","type":"personal"},{"content":"","date":"2023年7月11日","externalUrl":null,"permalink":"/tags/japan/","section":"標籤","summary":"","title":"Japan","type":"tags"},{"content":" 唯有了解死亡，才能面對生活。\n「生命不屬於我」 比利時妙齡女求死獲准 - 自由時報\n其實自殺的想法沒什麼不對，是可以接受的選擇。真正對自己負責的人，選擇自殺從而結束痛苦，並無任何錯誤。\n那些正敢作敢當的人，實無阻止之必要。反之，我也很羨慕那些行動力強的人，而我只能對自己的無能感到深深絕望。如果存在意義是因為別人而存在，那麼讓自己脫離這種迴圈就可以了。\n別說什麼活著很美好，實在的說，滿足生理欲望的活著。現在不論怎麼努力，都只能是未來成為他人統治下的奴隸。自己的心裡覺得踏實不過幻象一場，不如讓一切回歸虛無，連思維本身都湮滅了，沒有什麼快樂與痛苦之分。死後什麼都沒有，沒有天堂享樂，沒有地獄懲罰人。\n世界一切本無意義，是人類賦予意義，如果認識到這一點，那麼脫離人類而存在的人類，既不會成神，也不會成為動物，而那只能是回歸塵土的下場。假若，一切都感覺不到，是真正的解脫，那麼停止接受活著的事實就沒有打壓的必要。如果要避免給人帶來困擾，找個地方靜靜的去就行了。這樣說怎能給社會帶來成本呢？想方設法的求死是積極的表現，精心設計的死法。社會對人的要求本就沒有個人意志的重要，到一種沒有國家、沒有社會、沒有宗教\u0026hellip;甚至連這種想法都無法繼續延續下去的狀態。不管社會與人們怎麼想死後世界會如何如何，不論誰會因此傷心，重要的是讓自我本身的存在從此湮滅，讓我的概念化作煙霧，即無感知別人的想法了。於是，造成人類在快樂與痛苦之間搖擺的根本 —— 思維，便從此不再糾纏於我的存在了。\n","date":"2023年7月4日","externalUrl":null,"permalink":"/posts/it-is-ok-to-think-of-committing-suicide/","section":"Personals","summary":" 唯有了解死亡，才能面對生活。\n「生命不屬於我」 比利時妙齡女求死獲准 - 自由時報\n其實自殺的想法沒什麼不對，是可以接受的選擇。真正對自己負責的人，選擇自殺從而結束痛苦，並無任何錯誤。\n那些正敢作敢當的人，實無阻止之必要。反之，我也很羨慕那些行動力強的人，而我只能對自己的無能感到深深絕望。如果存在意義是因為別人而存在，那麼讓自己脫離這種迴圈就可以了。\n別說什麼活著很美好，實在的說，滿足生理欲望的活著。現在不論怎麼努力，都只能是未來成為他人統治下的奴隸。自己的心裡覺得踏實不過幻象一場，不如讓一切回歸虛無，連思維本身都湮滅了，沒有什麼快樂與痛苦之分。死後什麼都沒有，沒有天堂享樂，沒有地獄懲罰人。\n世界一切本無意義，是人類賦予意義，如果認識到這一點，那麼脫離人類而存在的人類，既不會成神，也不會成為動物，而那只能是回歸塵土的下場。假若，一切都感覺不到，是真正的解脫，那麼停止接受活著的事實就沒有打壓的必要。如果要避免給人帶來困擾，找個地方靜靜的去就行了。這樣說怎能給社會帶來成本呢？想方設法的求死是積極的表現，精心設計的死法。社會對人的要求本就沒有個人意志的重要，到一種沒有國家、沒有社會、沒有宗教…甚至連這種想法都無法繼續延續下去的狀態。不管社會與人們怎麼想死後世界會如何如何，不論誰會因此傷心，重要的是讓自我本身的存在從此湮滅，讓我的概念化作煙霧，即無感知別人的想法了。於是，造成人類在快樂與痛苦之間搖擺的根本 —— 思維，便從此不再糾纏於我的存在了。\n","title":"其實自殺的想法沒有關係，未知死焉知生","type":"personal"},{"content":"此篇作為我對走賽博(網路)屠支大佐路線的反省。 張獻忠娘化\n最初寫這篇是起因於2023年的六四紀念活動，台灣人為什麼還要紀念六四：中國就跟烏克蘭、伊朗、美國、俄羅斯、香港一樣，人民正在遭到迫害，所以要為他們出點聲音。紀念六四不是為了兩岸統一鋪陳，亦不是「同為中國人」這樣的身份認同而紀念，主要的目的是憐憫尋求自由民主、反抗暴政的鬥士們的鮮血。台灣跟中國雖然是二個不同的國家，但是針對在暴政土地下追求自由民主之人，或稱索多瑪義人，還是要給點支持的，如同支持彭載舟、史諾登、阿桑奇那樣。\n然而，討論六四運動的時候，簡中論壇出現了質疑聲音，認為現今中國的民主運動只是徒勞，「民逗」只會在海外騙錢。天安門戰車道大會早該屠屠了，我擁共反華，我贊同習主席繼續拷打支那人。\n現在Reddit上的簡中社區，有人常動不動就會說「支那人」、「支那豬」、「還是屠少了」、「蜘蛛切動了」等支黑言語。曾經我也走這樣路線，可是後來覺得不這樣下去。\n所以，我認為有必要釐清支黑的定義，並探討日後如何處理當支黑的念頭。\n1. 支黑是什麼：恨中國恨到想種族滅絕 # 本文指的中國人，為限定居住在中國大陸的人群。\n支黑是什麼，不是染髮劑，指的是專門「抹黑」「支那」的人士。這類人反共也反華，是恨中國恨到想種族滅絕，殺光支那人以求天下太平的。\n一談到中國相關東西就貶低，中國是窪地，三千年歷史永遠落後歐洲文明。 有些支黑會搜尋歷史上的屠支老英雄，比方說張獻忠、石井四郎，玩角色扮演，在Twitter表演「賽博屠支」。 很多當支黑的，還正巧是中國人自己，此群體跟神友高度重疊。當被問到「既然你是屠支大佐，那你這個支那人怎麼不先自殺？」的時候，支黑就會抓狂。\n中國共產黨現在已經變成縫合怪政黨，明明是社會主義卻還擁抱中國傳統文化，整天尬吹天朝多厲害。支黑的誕生可能源於對生活不滿，對政治現實無力改變，又不喜歡黨國水軍整天吹捧共產黨的人士。\n加上近年來劉仲敬的窪地理論，還有主張中國裂解成十幾個國家的的諸夏主義，使支黑有了理論基礎。所以支黑可以在網路上口嗨發洩，用極端對付極端。\n有時又被稱為「逆向民族主義」，用「諸夏主義」對抗「大一統中國夢」。\n2. 反賊對中國的態度有哪些 # 支黑有分派系喔！遠東青年自由同盟製作的《支黑指南》詳細列出了支黑的種類。 個人認為現今反賊（質疑黨國體制的人）以及台灣人對待中國的態度，可約略分成三層：\n第一層次，支黑。反中反到底，將中國人視為下賤的支那人，棄之如敝屣。將中國共產黨與中國人綁定，一提到中國有關就將其貶的一文不值，境內民主人士做的事情都是徒勞，「核平中國首先是一種人道主義」代表人物：劉仲敬\n第二層次，民運。認為中國人還有點救，只要推翻共產黨，推行民主政治，中國也能成為正常的國家。代表人物：多倫多方臉\n第三層次，理中客。期望中共能自我改革，不完全站隊美國，看情況進退。代表人物：王局志安\n最近幾年跟中國反賊混在一塊兒，輾轉流連各大海外反共論壇（見此文），我一直在這幾個層次之間來回擺盪。台灣人是反共前線之一，自然就要選擇立場。\n第三層次是很難做到的，如果以台灣政治人物的角度來看，第三層次隱含「與中國保持亦敵亦友的平衡關係」，在美國和中國帝國主義的夾殺下，台灣要找到自己的位置，真的得選邊站。沒有人有足夠智慧走中庸之道，尤其在網路上這種容易激化對立的地方，更是難以走中間路線。一旦立場不堅定，就會被貼上「左逼」、「歲靜」、「右狗」的標籤。 非黑即白的思維，也只會撕裂二國人民的關係。台灣和中國之間，二國人民的關係這句話說的意思不是基於血緣的關係，而是歷史上的複雜關係，二國之間是國與國之間對等的關係，就算敵對還是要交流。好吧，這樣說習英文和蔡近平又要不開心了。\n3. 與支黑保持距離，起碼將中國人當人看待 # 根據沙皮爾-沃爾夫假說，人們講話使用的語言可以潛藏思維，影響思考方式。\n我很猶豫該不該繼續當支黑，該不該用支那稱呼中國人。一旦養成支黑的語言習慣，你就會不自覺得把一切都怪到中國頭上。\n「每次我一對中國人有希望，就會拿微博網友言論出來看，提醒我中國人沒一個無辜的」\n現在的中國人，雖然有些自願做豬一樣給共產黨管，每次看到牆內網友言論我就快中風了。但我們還不要默認所有中國人都是支那豬。 因為現在還是有良師易友「網易新聞評論區」、知乎自由派的聲音存在。不是中國人就等同共產黨。 在台灣人的角度而言，無腦仇中實無必要。中國人不是台灣人的同胞，他們是台灣的國際鄰居\u0026hellip;起碼不是仇人，抱持著這樣的心態去看待就可以了。中國人跟日本人美國人印尼人緬甸人南非人阿拉伯人沒有什麼不同，是讀立於我國的一個獨立個體。因為短時間內難以全面脫離中國，我們還是得跟他們交流。\n這是一種Martin Buber提的「吾」與「汝」對等關係(Ich und Du)：\n「我」把「你」視為世界、視為生命，而不是為了滿足「我」個人的需要而與「你」建立關係。因此要以「我」的整個存在、全部的生命與接近「你」，此時的「我」才是一個真實存在、真正能自我覺知的人。\n台灣人未來如果要獨立，不能再抱持著兩岸一家親的觀念去看待中國人(若是為了生意賺錢，表面上裝一裝也行唄)。好比，在外國看到華人會覺得他們是可以比美國人更容易親近的對象嗎？倒也未必。或許同鄉情誼值得深交，但是預設前提下，將每個人看作獨立個體對待，就不會陷入莫名其妙的親密情感之中，從而受到傳統親族觀念的束縛。我們要追求的是尊重個人與國家，獨立自主的友情客體，而非以宗族關係聯繫的群體。\n我傾向不見到中國人，就預設當作「支那人沒有一個是無辜的」，假設不講政治的話，從我以前經驗看，中國人普遍還算能處。\n但現在我想接近認可民主自由，甚至在牆內對反共事業做出貢獻的中國人呀，因此我比較少看牆內論壇了免得腦中風，多看Reddit沖浪TV和品蔥為主，能跟中國人接觸，又防止被支味薰昏。雖然部份鼠人支味也很沖，還有富哥小留混進去成天炫耀。\n說到「支那」的用詞，泛沖浪系Reddit sub因為對中國不滿，很大比例是支黑，故會大量使用支那人一詞。相對應的，台灣很多人也會故意講支那。 現在我們台灣人不會稱呼大陸 —— 因為那已經不是祖國了，而中國算比較中性的用法。至於「支那人」就是帶有侮辱性質的挑釁用語，好比說，故意講「台巴子」、「黑鬼」、「塔綠班」這種，因為你知道對方聽了會不開心所以才講。不論背後講這支那這類用語的動機為何，是歷史名詞是翻譯問題也好，在許多場合講「支那人」就是仇恨的體現，比講「強國人」調侃用語還要嚴重的等級。\n所以，不該養成講仇恨用詞的習慣。那不講這種刻板印象的詞彙怎在網路論壇壓過別人氣勢\u0026hellip;那就不要參與同溫層的筆戰就好了啊?玩網玩那麼久，還不知道同溫層的可怕？\n在美中對抗的環境下力求和平，這樣又會被人說綏靖了，走左右逢源的路線很難讓人接受的。\n4. 用邏輯講話，而非看立場 # 正確的場合選擇正確的用詞，要不要用「支那」「欠屠」這種支黑用語，要看場合。比如逛屠支大佐的網站，例如蔥輪TV，不用不行。可是心中知道，我不是打從心底仇視中國人（如果是樂子人那我就真的沒辦法管），並且在這裡使用「支那」是出於一種憤恨的情緒，恨鐵不成鋼。\n就是有人說的「屠支實則愛支」吧。\n但，在非屠支的網站就別那麼極端了。不要當玻璃心，那麼容易被trigger，例如各大新聞網站下面的Twitter、Facebook留言區。新聞凡事一扯到中國，小粉紅都還沒跳出來boasting，你就開始罵支那人不好、支那人不意外了。這個是要不得的想法，長此以往將一切怪到支性頭上，會影響思緒，加深和中國人的隔閡，變成「魔怔人」。 鷹小美：麻了。浪人二創。\n誠然我還是不認同共產主義制度，我也不覺得兩岸同屬一個國家，中國共產黨得被推翻。可也沒必要一見到中國人就用支那等汙言穢語招呼，這個就是心裡有了歧視念頭而不自知。不論支那是怎樣的歷史意義，現在來看它就是跟黑鬼一樣具冒犯性的詞語，謹慎用之。\n與其當梗仙，使用各種網路潮流詞彙文飾自己空洞的想法，不如留下對事件客觀看法和評論，而非先入為主的刻板印象。台灣人其實沒有那麼純潔，中國人其實也沒有那麼壞，雙方各退一步，別在對方還沒引戰之前就開始攪混水。即使遇到小粉紅，辯論時被歧視用語挑釁成功，回擊以蔑稱，還用耍無賴的口氣說對方「急了」，那實際上就是你輸了。 汪主席語錄\n首先要先釐清自己眼中的樑木，才能看清別人眼中的刺。小粉紅講的話若是有理的成份（基本上很少啦），即使逆耳，也是可以聽聽做參考。\n而到這種境界，自然就不會理會那些不理性的言論了。我希望可以養成 用邏輯講話，而非看立場的心態。\n當然，網際網路的特性似乎註定了，講話不夠煽動、大聲的人，越難以得到關注。研究顯示，酸民話語更容易得到「熱烈」回覆，有些樂子人就以引戰為樂，挑逗雙方神經。啊我就對生活不滿意，上網罵支那人幾句怎麼了。\n好吧，這個是您的言論自由，潮的批爆的玩網大手子。 只是，我不想再無腦當個玩網魔怔屠支大佐了。\n延伸閱讀 # 脫支與屠支的困境 - 遠東青年自由同盟\n","date":"2023年7月4日","externalUrl":null,"permalink":"/posts/to-be-tuzhiren-or-not/","section":"Politics","summary":"此篇作為我對走賽博(網路)屠支大佐路線的反省。 張獻忠娘化\n最初寫這篇是起因於2023年的六四紀念活動，台灣人為什麼還要紀念六四：中國就跟烏克蘭、伊朗、美國、俄羅斯、香港一樣，人民正在遭到迫害，所以要為他們出點聲音。紀念六四不是為了兩岸統一鋪陳，亦不是「同為中國人」這樣的身份認同而紀念，主要的目的是憐憫尋求自由民主、反抗暴政的鬥士們的鮮血。台灣跟中國雖然是二個不同的國家，但是針對在暴政土地下追求自由民主之人，或稱索多瑪義人，還是要給點支持的，如同支持彭載舟、史諾登、阿桑奇那樣。\n然而，討論六四運動的時候，簡中論壇出現了質疑聲音，認為現今中國的民主運動只是徒勞，「民逗」只會在海外騙錢。天安門戰車道大會早該屠屠了，我擁共反華，我贊同習主席繼續拷打支那人。\n現在Reddit上的簡中社區，有人常動不動就會說「支那人」、「支那豬」、「還是屠少了」、「蜘蛛切動了」等支黑言語。曾經我也走這樣路線，可是後來覺得不這樣下去。\n所以，我認為有必要釐清支黑的定義，並探討日後如何處理當支黑的念頭。\n1. 支黑是什麼：恨中國恨到想種族滅絕 # 本文指的中國人，為限定居住在中國大陸的人群。\n","title":"初探屠支或是理中客路線，應該怎樣對待中國人","type":"politic"},{"content":"謎之音：既然macOS不能原生跑Docker，要靠Linux虛擬機中介，何不用原生支援Docker的Linux跑macOS虛擬機，反正也不是原生的（← 支離滅裂的發言)\nRunning macOS VM inside Docker container on Linux OS.\nsickcodes開發的「Docker-OSX」，是一個在Linux系統用Docker跑macOS虛擬機的方案，當然是黑蘋果。 macOS虛擬機可以幹嘛呢？雖然圖形效能不彰，但還是可以跑Xcode，跟iOS裝置連線，寫寫iOS程式。\n1. 前言 # 既然都叫黑蘋果了，自用無妨，公開在商業場合使用可能會有法律問題。\nDocker OSX本質上就是在Docker裡面跑QEMU/KVM虛擬機，相較於我之前介紹的直接用KVM跑macOS，Docker部署更為彈性這樣，要headless執行CI/CD pipeline也是有可能的。我個人認為Docker化更方便管理，寫好docke-compose後虛擬機就可以用Portainer圖形界面控制了。\nPassthrough USB裝置比較麻煩，也無法像真的虛擬機那樣做GPU passthrough。\n安裝macOS虛擬機的過程會有點迂迴，本文會盡量講明白，至少安裝後您會得到一個虛擬機。\nDocker OSX只要有Docker就可以跑，按照開發者說法Windows WSL也是支援的（需啟用巢狀虛擬化）。然而我不想那麼麻煩，本文以Linux系統＋Docker為主，需跑在支援虛擬化x86架構CPU電腦上。\n為求穩定，桌面使用X11工作階段，不使用Wayland。\n2. 安裝前置依賴套件 # 參考原作者Github說明\n安裝Docker Engine\n安裝Libvirt、KVM、xhost套件\n# Arch系 sudo pacman -S qemu libvirt dnsmasq virt-manager bridge-utils flex bison iptables-nft edk2-ovmf xorg-xhost # Debian系 sudo apt install qemu qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager libguestfs-tools x11-xserver-utils # Fedora系 sudo dnf install libvirt qemu-kvm xorg-x11-server-utils 啟用Libvirt服務，載入KVM核心模組 sudo systemctl enable --now libvirtd sudo systemctl enable --now virtlogd echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs sudo modprobe kvm 將自己加入KVM群組 sudo usermod -a -G libvirt $USER sudo usermod -a -G libvirt root sudo usermod -a -G kvm $USER sudo usermod -a -G kvm root sudo systemctl restart virtlogd 3. 安裝macOS虛擬機 # 硬碟容量至少需要64GB以上，新增一個目錄 mkdir ~/docker-osx cd docker-osx touch output.env 新增docker-compose.yml，填入以下內容。注意我寫的註解，為方便用Portainer部署，儲存資料的路徑都是寫絕對路徑。 version: \u0026#39;3.4\u0026#39; services: osx: container_name: docker-osx # SSH通訊埠，暴露的是50922 ports: - 50922:10022 # 使用macOS Ventura映像檔 image: sickcodes/docker-osx:ventura privileged: true devices: - /dev/kvm environment: - DISPLAY=${DISPLAY:-:0.0} # 啟用PulseAudio接收音訊，如果無法連線就註解掉這行 - AUDIO_DRIVER=pa,server=unix:/tmp/pulseaudio.socket # 分配RAM - RAM=8 # 分配4個CPU核心 - SMP=4 - CORES=4 # 以下是初次啟動產生序號之用 - GENERATE_UNIQUE=true - GENERATE_SPECIFIC=true - DEVICE_MODEL=\u0026#34;iMacPro1,1\u0026#34; - \u0026#34;MASTER_PLIST_URL=https://raw.githubusercontent.com/sickcodes/osx-serial-generator/master/config-custom.plist\u0026#34; # 建議第一次啟動就指定解析度 - WIDTH=1920 - HEIGHT=1080 # 網路使用橋接模式 network_mode: \u0026#34;bridge\u0026#34; cap_add: - ALL volumes: - /tmp/.X11-unix:/tmp/.X11-unix - /dev:/dev - /lib/modules:/lib/modules # 啟用PulseAudio接收音訊，如果無法連線就註解掉這行 - \u0026#34;/run/user/$(id -u)/pulse/native:/tmp/pulseaudio.socket\u0026#34; # 儲存產生的序號成output.env，否則每次開機序號都會不一樣，無法正常使用iCloud - \u0026#34;/home/user/linux-docker-osx/output.env:/env\u0026#34; 執行xhost指令，讓任意程式都能顯示在X伺服器上 xhost + 啟動容器。啟動過程會先產生mac機器序號(serial) sudo docker compose up 之後QEMU視窗會跳出來，滑鼠點一下，按Enter進入macOS Base System 點選Disk Utility 點選容量最大的硬碟，按Erase開始格式化（不會真的把你的硬碟格式化）\n分區格式選MacOS Extended Journaled（APFS似乎容易出問題） 格式化完成後關閉視窗，點選Reinstall macOS\n同意後等待安裝完成，大約4小時，中間會自行重開機 經過漫長的等待後，開機選安裝好系統的硬碟。按照指示設定地區、使用者帳號、登入Apple ID。 點選macOS左上角，將虛擬機關機\n停止Docker容器（或是在終端機按CTRL＋C）\nsudo docker compose down 安裝後將裝好macOS的虛擬硬碟複製出來。該映像檔預設大小是整個硬碟，它的容量會慢慢增長。 # 尋找macOS虛擬硬碟位置 sudo find /var/lib/docker -size +10G | grep mac_hdd_ng.img | head -n 1 # 範例輸出：/var/lib/docker/overlay2/334db858/diff/home/arch/OSX-KVM/mac_hdd_ng.img # 將其複製到欲放置的目錄 sudo cp /var/lib/docker/overlay2/334db858/diff/home/arch/OSX-KVM/mac_hdd_ng.img ~/linux-docker-osx/hdd 修改docker-compose.yml，改用docker-osx-naked映像檔，即可從任意虛擬硬碟啟動macOS。 version: \u0026#39;3.4\u0026#39; services: osx: container_name: docker-osx-ventura # SSH通訊埠，暴露的是50922 ports: - 50922:10022 # 改用docker-osx:naked映像檔 image: sickcodes/docker-osx:naked privileged: true devices: - /dev/kvm environment: - DISPLAY=${DISPLAY:-:0.0} # 啟用PulseAudio接收音訊，如果無法連線就註解掉這行 - AUDIO_DRIVER=pa,server=unix:/tmp/pulseaudio.socket - RAM=8 - SMP=4 - CORES=4 # 跳過開機硬碟選取畫面 - NOPICKER=true network_mode: \u0026#34;bridge\u0026#34; cap_add: - ALL volumes: - /tmp/.X11-unix:/tmp/.X11-unix - /dev:/dev - /lib/modules:/lib/modules # 啟用PulseAudio接收音訊，如果無法連線就註解掉這行 - \u0026#34;/run/user/$(id -u)/pulse/native:/tmp/pulseaudio.socket\u0026#34; # 虛擬硬碟所在目錄 - \u0026#34;/home/user/linux-docker-osx/hdd/mac_hdd_ng.img:/image\u0026#34; # 沿用第一次開機產生的序號 - \u0026#34;/home/user/linux-docker-osx/output.env:/env\u0026#34; 安裝完成。關閉容器指令：cd ~/docker-osx \u0026amp;\u0026amp; docker compose down；啟動容器指令：cd ~/docker-osx \u0026amp;\u0026amp; docker compose up -d\n要清理用不到的映像檔空間，使用sudo docker image ls查找用不到的映像檔，再用sudo docker image rm \u0026lt;映像檔ID\u0026gt;將其移除。\n4. 進階用法 # 4.1. 修改螢幕解析度 # macOS的解析度是跟序號綁死的，每改一次就要重新產生序號。\n如果您不想改解析度，又怕虛擬機螢幕超出視窗，那麼可以點選QEMU左上角選單 → View → Zoom to fit，讓虛擬機畫面自動適應視窗大小。\n停止容器。 cd /home/user/docker-osx sudo docker compose down 修改docker-compose.yml，加入指定解析度。 version: \u0026#39;3.4\u0026#39; services: osx: container_name: docker-osx-ventura ports: - 50922:10022 image: sickcodes/docker-osx:naked privileged: true devices: - /dev/kvm environment: - DISPLAY=${DISPLAY:-:0.0} - AUDIO_DRIVER=pa,server=unix:/tmp/pulseaudio.socket - NOPICKER=true - RAM=8 - SMP=4 - CORES=4 # 重新產生序號 - GENERATE_UNIQUE=true # 要變更的解析度。有效數字：800x600、1280x768、1600x900、1920x1080、2560x1600 - WIDTH=1280 - HEIGHT=768 network_mode: \u0026#34;bridge\u0026#34; cap_add: - ALL volumes: - \u0026#34;/home/user/linux-docker-osx/hdd/mac_hdd_ng.img:/image\u0026#34; - /tmp/.X11-unix:/tmp/.X11-unix - /dev:/dev - /lib/modules:/lib/modules - \u0026#34;/run/user/$(id -u)/pulse/native:/tmp/pulseaudio.socket\u0026#34; - \u0026#34;/home/user/linux-docker-osx/output.env:/env\u0026#34; 啟動容器。 sudo docker compose up -d 4.2. SSH連線 ＆ 共享資料夾 # Docker OSX的SSH通訊埠為50922\n首先在macOS啟用SSH服務。查找Docker的虛擬機IP sudo docker ps sudo docker inspect \u0026#34;容器ID\u0026#34; | jq -r \u0026#39;.[0].NetworkSettings.IPAddress\u0026#39; Linux就可以登入虛擬機了。安裝內網穿透軟體即可從外部網路連線。 ssh \u0026lt;macOS使用者名稱\u0026gt;@\u0026lt;容器IP\u0026gt; -p 50922 # 或者用localhost ssh \u0026lt;macOS使用者名稱\u0026gt;@localhost -p 50922 # 或者外部網路用Linux實體機IP連線到虛擬機 ssh \u0026lt;macOS使用者名稱\u0026gt;@\u0026lt;Linux實體機IP\u0026gt; -p 50922 如果要共享資料夾，只要在Linux系統，用SSHFS掛載macOS的目錄即可： mkdir ~/dokcer-osx/macos_mnt sshfs \u0026lt;macOS使用者名稱\u0026gt;@\u0026lt;容器IP\u0026gt;:/ -p 50922 ~/dokcer-osx/macos_mnt 4.3. 將iPhone連接到macOS虛擬機 # 使用usbflux方案，轉發usbmuxd的網路界面。\n參考usbflux使用教學\n4.4. VNC遠端連線 # 此處使用QEMU內建的功能，將螢幕輸出重新導向至VNC工作階段，不做任何認證。\n修改docker-compose.yml，在environments最下面加一段 - \u0026#34;EXTRA=-vnc :0\u0026#34; 啟動容器後，查找容器IP sudo docker ps sudo docker inspect \u0026#34;容器ID\u0026#34; | jq -r \u0026#39;.[0].NetworkSettings.IPAddress\u0026#39; 開啟Remmina，輸入容器IP:5900遠端連線。 如果需要從外部網路存取容器，請安裝內網穿透軟體。\n4.5. headless模式 # 停止容器。\n修改docker-compose.yml，去掉DISPLAY\nversion: \u0026#39;3.4\u0026#39; services: osx: container_name: docker-osx-ventura ports: - 50922:10022 image: sickcodes/docker-osx:naked privileged: true devices: - /dev/kvm environment: - NOPICKER=true - RAM=8 - SMP=4 - CORES=4 network_mode: \u0026#34;bridge\u0026#34; cap_add: - ALL volumes: - \u0026#34;/home/user/linux-docker-osx/hdd/mac_hdd_ng.img:/image\u0026#34; - /dev:/dev - /lib/modules:/lib/modules - \u0026#34;/run/user/$(id -u)/pulse/native:/tmp/pulseaudio.socket\u0026#34; - \u0026#34;/home/user/linux-docker-osx/output.env:/env\u0026#34; 啟動容器，等待1分鐘開機完成後用SSH連線。 sudo docker compose up -d 5. 建置自訂映像檔 # Docker OSX有些功能需要自行建置映像檔。\n複製Docker OSX儲存庫 https://github.com/sickcodes/Docker-OSX.git cd Docker-OSX 例如，建置一個預設虛擬硬碟128GB，啟用VNC伺服器的Ventura映像檔。當然手動在macOS裡面裝VNC也是可以的。 sudo docker build -t docker-osx --build-arg SHORTNAME=ventura . --build-arg SIZE=128 ","date":"2023年7月4日","externalUrl":null,"permalink":"/posts/linux-docker-osx/","section":"所有文章","summary":"謎之音：既然macOS不能原生跑Docker，要靠Linux虛擬機中介，何不用原生支援Docker的Linux跑macOS虛擬機，反正也不是原生的（← 支離滅裂的發言)\nRunning macOS VM inside Docker container on Linux OS.\nsickcodes開發的「Docker-OSX」，是一個在Linux系統用Docker跑macOS虛擬機的方案，當然是黑蘋果。 macOS虛擬機可以幹嘛呢？雖然圖形效能不彰，但還是可以跑Xcode，跟iOS裝置連線，寫寫iOS程式。\n1. 前言 # 既然都叫黑蘋果了，自用無妨，公開在商業場合使用可能會有法律問題。\nDocker OSX本質上就是在Docker裡面跑QEMU/KVM虛擬機，相較於我之前介紹的直接用KVM跑macOS，Docker部署更為彈性這樣，要headless執行CI/CD pipeline也是有可能的。我個人認為Docker化更方便管理，寫好docke-compose後虛擬機就可以用Portainer圖形界面控制了。\nPassthrough USB裝置比較麻煩，也無法像真的虛擬機那樣做GPU passthrough。\n安裝macOS虛擬機的過程會有點迂迴，本文會盡量講明白，至少安裝後您會得到一個虛擬機。\nDocker OSX只要有Docker就可以跑，按照開發者說法Windows WSL也是支援的（需啟用巢狀虛擬化）。然而我不想那麼麻煩，本文以Linux系統＋Docker為主，需跑在支援虛擬化x86架構CPU電腦上。\n","title":"Linux用Docker容器跑黑蘋果macOS ～ Docker-OSX安裝教學","type":"posts"},{"content":" カーネルソースコードを公開したがらないAndroidスマホメーカーは、人々が購入を拒否すべきだ。これはLinux自由ソフトウェア協議への冒涜である。\nBootloaderをアンロックさせないものもボイコットすべきだ。ユーザーの自由を侵害している。保証が切れても構わない？アンロックツールをまったく提供しないのは、また別の話だ。もしメーカーがROM焼きを破壊行為と見なし、一度アンロックすると元の機能へ復元できなくなる（Samsung Knoxヒューズ切断など）なら、なおさら悪質である。\n結果として現在最もよくやっているのはGoogleで、その次がXiaomi、OnePlus、そしてFairphoneのような企業だ。そう、私たちはGoogleの独占的な態勢を好まない。しかしPixelは自社デバイスであるため、関連するビルド文書は他メーカーと比べてより明晰で分かりやすい。Xiaomi傘下のスマホには低価格の優位があり、低価格競争相手のRealmeと比べて、ROM焼きの可能性がより多い。\n私自身の経験で言えば、Sony Xperia 5 IIを買ったことがある。意外なことに、Sonyは実は定期的にソースコードを公開している。ネットコミュニティがLineageOSのROMを作り、メインラインに入るまで2年かかったとはいえ。Sonyは市場シェアがずっと落ちている状況にもかかわらず、それでもソースコードを開放している。敬意に値する。Xperia 1シリーズ以後の端末では、アンロック後に失う機能は過去ほど多くなく、TAパーティションのバックアップなども不要で、ロックし直せばそれらの機能はすぐ戻ってくる。\nAndroidスマホには避けがたくプロプライエタリファームウェアが含まれている。しかしこれは協議できる部分だ。少なくともメーカーはカーネルソースコードを公開しなければならない。プロプライエタリファームウェア部分は、ネットコミュニティの誰かが公式ROMから抽出する方法を考え出す。そうすれば少なくとも開発者は使える第三者ROMをビルドでき、自由ソフトウェアで純正ソフトウェアを置き換えることさえでき、さらにメーカーのサポート年限に縛られずに済む。\n一部の会社は責任を持って、私たちの製品はオープンソースソフトウェアを使っており、元のライセンス条項も添付していると書く。これはよいことだ。たとえば以前私が買ったTP-Linkのルーターには、BSDの紙本ライセンスが付いていた。ただし、この種の行為に惑わされてはいけない。ソフトウェアにオープンソースコンポーネントが含まれている？ではソフトウェア全体のコードはオープンソースなのか？それともGPLの部分だけが強制的にオープンソースになっているだけなのか？\n一部の会社は自分たちはオープンソースを支持していると言うが、実際の意味は、外部へ提供するのはバイナリファイル一つだけで、いわゆる公開された「ソースコード」とは使用しているオープンソースコンポーネントに過ぎず、コアコンポーネントのソースコードを含まないということだ。たとえばAidLinuxについて、私はそれが根本的にTermuxのガワ替えではないかと強く疑っている。Githubで公開されているソースコードは単なるデモコードであり、アプリケーション本体のコードはまったくない。彼らは質問に応答せず、自分たちはワンストップの解決策だと強調するだけだ。\n実際、彼らは嘘をついているわけでもない。彼らは自分たちがオープンソースソフトウェアだと言ったことはない。しかしこれこそ一部企業の狡猾なところだ。彼らはソースコードを公開しなくても、オープンソースツールを使うユーザーを引きつけられると考え、見せかけのGithubリポジトリでユーザーをごまかせる。今ではRHELでさえ金を取る方式で技術的にGPLを回避できるのだから、今後商業企業がオープンソースソフトウェアを濫用する手口には何があるのか、私たちには分からない。\nオープンソースソフトウェアを探すときは、ソフトウェアのオープンソース度を見分け、プロプライエタリソフトウェアに誘拐されないようにしなければならない。SaaSを売る会社は、少なくともソフトウェアクライアントをオープンソースにすべきだと私は思う。サーバー側は商業上の考慮からクローズドソースでも構わない。たとえばProtonMailだ。もちろんJoplinのように完全にセルフホストできるオープンソースソフトウェアはさらによい。クローズドソースに依存する純Webサービス、たとえばGoogleドキュメントについては特に注意し、セルフホストできる方案を積極的に探すべきである。\n","date":"2023年7月3日","externalUrl":null,"permalink":"/ja-jp/posts/open-source-or-fake-open-source/","section":"Foss-Issues","summary":" カーネルソースコードを公開したがらないAndroidスマホメーカーは、人々が購入を拒否すべきだ。これはLinux自由ソフトウェア協議への冒涜である。\nBootloaderをアンロックさせないものもボイコットすべきだ。ユーザーの自由を侵害している。保証が切れても構わない？アンロックツールをまったく提供しないのは、また別の話だ。もしメーカーがROM焼きを破壊行為と見なし、一度アンロックすると元の機能へ復元できなくなる（Samsung Knoxヒューズ切断など）なら、なおさら悪質である。\n結果として現在最もよくやっているのはGoogleで、その次がXiaomi、OnePlus、そしてFairphoneのような企業だ。そう、私たちはGoogleの独占的な態勢を好まない。しかしPixelは自社デバイスであるため、関連するビルド文書は他メーカーと比べてより明晰で分かりやすい。Xiaomi傘下のスマホには低価格の優位があり、低価格競争相手のRealmeと比べて、ROM焼きの可能性がより多い。\n私自身の経験で言えば、Sony Xperia 5 IIを買ったことがある。意外なことに、Sonyは実は定期的にソースコードを公開している。ネットコミュニティがLineageOSのROMを作り、メインラインに入るまで2年かかったとはいえ。Sonyは市場シェアがずっと落ちている状況にもかかわらず、それでもソースコードを開放している。敬意に値する。Xperia 1シリーズ以後の端末では、アンロック後に失う機能は過去ほど多くなく、TAパーティションのバックアップなども不要で、ロックし直せばそれらの機能はすぐ戻ってくる。\n","title":"本物のオープンソースか、偽物のオープンソースか？ AndroidとLinuxのオープンソースソフトウェアを使う前の注意事項","type":"foss-issues"},{"content":"本文為零碎想法的合集，充滿不理性的情緒，用以說明2024年我不投民進黨，投給民眾黨的理由。\n虛偽的台獨政黨 # 看完以前李敖的訪談，真佩服李敖的真知灼見。\n我認同他講這話的骨氣，但不見得支持他所有的說法。李敖其實是有點大中華主義的，他看透國民黨蠢，民進黨壞，但也不能變成舔中共啊。僅管李敖晚年比較像是要跟中國討價還價的樣子，而非完全屈膝，就像柯文哲所說「畫三角形」。總體來說，我贊同台灣未來大方向還是要獨立的，至少不會是統一的選項。\n為什麼我覺得民主比共產好，又認為現今的民進黨台獨運動跟共產主義一樣完全是一場騙局。我們可以提出一個想法：越是用高尚的目標吹捧的主義和行為，我們就知道那越可能違反人性與現實，從而到最後只能用威逼與暴力手段得逞，美其名為解放，到最後禍害更多數人。那麼堅持不可為而為之理想的人只有二種：一是真正的純真善良，以為盲從和當忠心信徒就可以實現大同。第二，爭權奪利之人，不符合社會主流價值，被視為loser，就用（或鼓吹）暴力手段取得領導權位。所以只會吹噓目標是至高善、最高目標，而無其他實際考量，沒有革命成功後續配套措施的想法，就該視為騙局。那是話術、是騙選票用的 ——— 但就算被騙選票，也比完全沒選票能騙要好，因為你還有機會，防止自己不再被政客騙第二次。\n真正純正的共產主義從來沒存在過，無政府主義更不可能。歷史上的政權試過了各種方法，只有無限趨近於社會主義的形式能成功，例如北歐。種種違反人性的措施，讓大多數人服從少數人的愚蠢政策，盲目的共產主義就是大屠殺大飢荒，製造出中國現今的畸形社會。中國現在的共產主義完全是謊言，各個社會主義國家到最後都走資，走修正主義路線，他們知道 ——— 只是不想承認，找更多名詞辯護共產主義失敗的事實 ——— 繼續玩赤柬那種極端共產手法會玩死自己（真可惜，不然中國就提早進入大洪水時代了）。就跟民進黨的台獨運動完全是謊言一樣，他們的口口聲聲說的理想都是為了當政者暴力統治所服務的工具，並且還不容質疑（至少他們養的綠狗和紅狗就會自動攻擊批評者，為當權者辯護）。他們設想一個完美的新世界，人人能平等解放，可是他們做了什麼？沒有，他們的理念完全是給自己暴力獨裁正當化的工具，找藉口說社會主義還要100年，台獨繼續維持現狀。\n為此，審慎看待空談理想，卻無實際作為的理念的人。不是我不支持台獨，是你們完全把台獨當藉口，小打小鬧又不敢真的牙起來。通常這種人多半是偏左派人士。美國右派學者湯瑪斯·索維爾曾說，「知識份子常常誤把自己當上帝，空談崇高理論，再讓沒有德性的莽夫去實行，造成歷史上的悲劇。」不能否認，部份理想主義確實給社會帶來變革，但是空談一種烏托邦式的說法，又無任何建設性的設想，就容易走向毀滅。到最後，只能死皮賴臉的承認自己被迫修正可笑的、極端的、違反人性的XX主義，再說為達成那崇高的理念，我們還要繼續飛蛾撲火。\n2024年不要再只會賣芒果乾 # 既不敢獨，又只會賣芒果乾，操弄仇恨的「進步」政黨，就該下台，讓第三勢力上台。有些Twitter台左逼的說法真的很搞笑耶，自以為玩Twitter就比較高級，柯liar那種被李敖說是笨蛋人物的治理方式都能污衊成台北市空轉八年，那麼號稱政績頗豐(我不否認蔡真的很會打點國際形象)放任台灣變成「EE園區」，詐騙橫行，都是they的錯，讓兩岸不屬於一個國家的人民互相仇視、走向戰爭的執政黨，是不是要自盡了。\n不走黑金路線，忽視既得利益者的候選人就該被建制派搞掉的態度，真該改改了。如果今天白色做不好，我當然也可以罵他。例如恰吉好像都在作秀，但看它質詢裡面有些也是對的，是需要亞斯伯格患者反省的。而台左逼們連議員問政的水準都沒有，意圖抹黑金也只有95萬能嘴，加點油吧(我並沒有說95萬是合法的欠款，該追究的就該追究)\n處處樹立叛徒這點倒是跟共匪很像了：不聽話的都是台獨！不聽話的都是中共同路人！之前還有議員要柯文哲簽署三小不投降同意書，我管你去死！不配合黨的旨意的都是中共同路人！成天在Twitter當進步逼，魔怔瞎罵，害我要去Gab的rightdogTV才找得到不那麼左逼的台灣人，去PTT戰得過鄉民再說吧。\n老實說，去年住在西瓜市的時候我是投賭爛票給布袋戲大師啦，期望讓他治一治南部的侯友宜說的牛鬼蛇神，當然最後他還是爆炸了，繼續吃滷肉飯。這次2024，再也沒有2020防止韓導上台，而含淚投給空心菜的成份。這一次是真的有第三勢力能選。僅管理想上我是希望更有理念的黃黑能出來選，但既然他們缺錢，那就投給白色。要台獨，要自立，台灣人要懂得當「邪惡的俗辣」，當塞子，不要當美國人的狗，也不要當中國的狗。 太陽花的精神哪去了 # 再說2013年的太陽花運動，從某個角度來說是一個暴民奪權的故事。\n當初反服貿，正確來說反的應該是「黑箱審查」，而不是反對整個服務貿易協定，可是到最後有人就默認「反服貿黑箱=拒簽服貿」了。最後10年過去，《兩岸監督條例》依然沒立法，服貿無限期擱置，所以究竟當初我究竟在跟著反什麼呢。記得十年前在地方性的夜市，還有人發服貿的危害傳單，時代力量也會在公園大聲演講。看電視上群眾抗爭運動的時候很是激動，不知道從什麼時候就搞錯抗爭方向了。\n我的法律老師曾試圖用「非常手段」來為太陽花暴動辯護，說體制失靈才要體制外的行動來改革。而要我們評價服貿的看法的時候，我寫的是：\n公民不服從自是人民的權利，就不要之後成為政府的肉喇叭，林九萬。\n島嶼天光指的恐怕是，政黨輪替，換了個更偉光正的政府上台，奪權成功的耀武揚威吧。太陽花運動喚醒了一代人的公民意識，但其結果卻是少數人得利的樣子，還有自以為正確的反中正義，最會溝通的政府，呵。\n越南共產黨創辦人之一的武元甲曾說：「任何想把他們的意願強加給另一個國家的人都註定失敗。」\n沒有人比我更懂政治！ # Twitter上的民進黨支持者很愛檢討選民耶，一下子說老人統派太多最好死光，一下子又說年輕人不懂事才會投民眾黨，都給你說就好了。是是是，考不上還敢鄙視臺大學生品性或說是讀書機器，接著表現的自己才是最進步、最懂政治潮流的行家，然後整天販賣芒果乾和共享恐懼。要台獨也不敢真台獨，戀棧權位。\n這就是為何我現在不支持民進黨的原因，現在的國民黨沒有白色恐怖那樣暴吏了（可是幹下的暴行仍不可抹滅），現在這些死老人可能還會要點臉，什麼溫良恭儉讓，只有韓國瑜這個小丑能跟民進黨一群大丑一起瘋，或海豚簡單嘴句「大母豬」就能讓哥布林豬叫一整年。民進黨完全就是土匪的本色，外表再用外國的進步價值包裝一下，結果最近綠色性騷擾哥布林事件讓這個魔窟一夕現形。\n呵，這種對美國唯命是從的黨不值得投。整天服從美國旨意，以消滅中國人種族為志向的人也可以省省了，美國的多元包容價值觀哪去了，即使美國把中國政府跟人民分開，現在依然是在幹貿易戰，種族滅絕的事情，只因為你是自以為「正義的一方」。欸，共產黨不是天堂理想主義嗎，怎麼LGBTQXYZ的人一遇到中國就劃清界線了嘞。\n在任何時候，都應該反對極權，類極權也要反對。獨裁國賊蔣中正以及蔣經國沒有什麼好懷念的，功過五五開。就像日本人建設台灣，也是拿來當南侵的前進基地，是帶有目的的。不過，因為建設有功，所以完全將其從台灣歷史的偉人除名是不公正的，目前要做的，就是去除威權象徵就夠了。為的是不要像50年前，「蔣公」過世還要全省宵禁，獨裁者死了你比死了父母還難過，但凡一個正常國家都不會這樣做。邱吉爾爵士不是說過嗎，「對偉大人物的忘恩負義是偉大民族的象徵。」那麼，在歷史簿上將功與過都記上一筆，卻不過份懷念、膜拜極權，容許批評反思，才是民主國家高水準的表現。\n現行的總統也適用此概念，蔡EE或許是個空心菜，不敢真台獨，只能看美國臉色。但她在國際外交取得了一些成績，這是要肯定的 (雖然一堆國家都跑光了)。\n我的政黨傾向 # 論我現在的政黨投票傾向，我傾向站在人民的：民眾黨，時代力量。尤其是時代力量，他們才不管執政黨是誰，或是干涉到誰利益的瞎咪碗糕，懂得循正規管道抗爭，不會像基進黨一樣做無腦暴動。\n這種對社會正義立場的堅持才是值得尊敬的。\n台灣團結聯盟、一邊一國行動黨這種急獨派的我也支持，可是聲量太小。\n我反對：國民黨，民進黨，還有無腦舔共政黨。\n基進黨這種無腦舔執政黨的，拒投。\n這樣講可能有點太監，台灣要反共，不必反中。「兩岸一家親比一家仇好」，要「知中愛台」。\n如果將標準設最嚴格的話，2024年台灣就沒有我中意的「注意民生、抗中保臺、不對美國唯命是從」的政黨能投了。不過在這裡我要記下，就算最終選擇投廢票，我也絕對不會投給民進黨。投給柯文哲，只能是我做出「最不壞」的選擇。\n","date":"2023年7月2日","externalUrl":null,"permalink":"/posts/reasons-of-not-supporitng-dpp-in-2024/","section":"Politics","summary":"本文為零碎想法的合集，充滿不理性的情緒，用以說明2024年我不投民進黨，投給民眾黨的理由。\n虛偽的台獨政黨 # 看完以前李敖的訪談，真佩服李敖的真知灼見。\n我認同他講這話的骨氣，但不見得支持他所有的說法。李敖其實是有點大中華主義的，他看透國民黨蠢，民進黨壞，但也不能變成舔中共啊。僅管李敖晚年比較像是要跟中國討價還價的樣子，而非完全屈膝，就像柯文哲所說「畫三角形」。總體來說，我贊同台灣未來大方向還是要獨立的，至少不會是統一的選項。\n為什麼我覺得民主比共產好，又認為現今的民進黨台獨運動跟共產主義一樣完全是一場騙局。我們可以提出一個想法：越是用高尚的目標吹捧的主義和行為，我們就知道那越可能違反人性與現實，從而到最後只能用威逼與暴力手段得逞，美其名為解放，到最後禍害更多數人。那麼堅持不可為而為之理想的人只有二種：一是真正的純真善良，以為盲從和當忠心信徒就可以實現大同。第二，爭權奪利之人，不符合社會主流價值，被視為loser，就用（或鼓吹）暴力手段取得領導權位。所以只會吹噓目標是至高善、最高目標，而無其他實際考量，沒有革命成功後續配套措施的想法，就該視為騙局。那是話術、是騙選票用的 ——— 但就算被騙選票，也比完全沒選票能騙要好，因為你還有機會，防止自己不再被政客騙第二次。\n","title":"我覺得2024年不能再繼續支持民進黨了","type":"politic"},{"content":"PhotoPrism是開源免費的相簿服務軟體，介面跟Google相簿類似，用於瀏覽電腦上的相片影片。在搜尋時會使用臉孔偵測、AI辨識、地點給圖片分類和上標籤，就像Google相簿自動整理的功能。 PhotoPrism主要特點是自架雲端相簿服務，照片資料都是在本機處理，不會給第三方偷看。如果說自架的NextCloud專精文件，Jellyfin專精影片的話，PhotoPrism就是專精在相片處理這一塊。\n經過幾年開發，PhotoPrism現在已經很好上手了，Docker設定後是開箱即用。應用程式介面靠網頁端存取，手機會自動變換UI，且載入速度接近Google相簿。\n這篇文章將會介紹PhotoPrism的特色功能，再簡介如何用Docker在自己電腦部署，取代Google相簿。\n1. PhotoPrism功能特色 # PhotoPrsim可以讀取硬碟現有資料夾，分類後直接顯示在網頁界面的，無需重新「上傳」照片。 使用PhotoPrsim讓你同時保有資料夾分類相片與雲端上傳的操作習慣。\n跟同類型的Immich相簿比起來，PhotoPrism提供更多結構化的資料，讓你更清楚的檢視圖庫裡面的照片。\nPhotoPrism主介面是相片影片總覽，按照圖片拍攝時間排序。可用搜尋語法過濾圖片。 為方便網頁檢視，PhotoPrism會自動將圖片影片轉碼成快速載入的格式，並會隨螢幕大小自動變化版面。另有非官方開發的手機APP。 點選相片查看/編輯詳細資料，自訂關鍵字。 相片會按照AI辨識的結果打上標籤，我個人覺得辨識最準的就是相片中的小動物了吧。 有標示地點的相片，PhotoPrism會將其彙整並繪製成地圖。 相片搜尋支援用地點和圖片種類過濾，也可以用「顏色」當關鍵字。 最後是我個人最喜歡的功能。除了一次看全部照片外，PhotoPrism能混合硬碟目錄結構管理相片，所以檔案目錄一有變更，PhotoPrism就會重新掃描。當然從PhotoPrism的界面刪除相片，硬碟上的檔案也會跟著刪除。 PhotoPrism支援另一部裝置從網頁端「上傳」到相簿中，還可以使用WebDAV上傳相片。\n不過，雖然PhotoPrism是開源專案，有些進階功能是隱藏的，參見這個表格，付費成為贊助者他們才會開放給您使用。要使用完整功能，你要嘛自己編譯改原始碼，要嘛乖乖付費，就醬子。 如果你已經準備好，那就在你的電腦上安裝PhotoPrism吧。\n2. 開始安裝PhotoPrism # 以下內容參考自PhotoPrism官方說明文件，PhotoPrism支援x86和ARM架構的機器。\n於Linux系統安裝Docker，如果需要GPU加速再安裝Nvidia顯示卡驅動及Nvidia Container Toolkit。\n建立儲存目錄\nmkdir ~/photoprism cd ~/photoprism 下載PhotoPrism提供的docker-compose： wget https://dl.photoprism.app/docker/docker-compose.yml 編輯docker-compose.yml： vim docker-compose.yml 首先找到這一段，設定admin的密碼： services: photoprism: environment: PHOTOPRISM_ADMIN_USER: \u0026#34;admin\u0026#34; PHOTOPRISM_ADMIN_PASSWORD: \u0026#34;八位數以上密碼\u0026#34; 然後設定要掛載到容器內部的目錄。PhotoPrism會從自身originals目錄匯入相片，格式為硬碟相片目錄:容器內部originals目錄，如下所示，將硬碟目錄掛載後PhotoPrism就會直接取用硬碟的相片。 services: photoprism: ## 冒號左邊是硬碟路徑，右邊是容器內部的路徑。例如將硬碟目錄\u0026#34;TOSHIBA1TB\u0026#34;掛載作為PhotoPrism的\u0026#34;originals\u0026#34;目錄，等同二邊檔案同步 volumes: - \u0026#34;/run/media/ivon/TOSHIBA1TB:/photoprism/originals\u0026#34; - \u0026#34;/run/media/ivon/TOSHIBA1TB/DCIM:/photoprism/originals/DCIM\u0026#34; - \u0026#34;/run/media/ivon/TOSHIBA1TB/Pictures:/photoprism/originals/Pictures\u0026#34; ## storage是存放縮圖資料的路徑，不改的話預設就是存在docker-compose.yml所在的目錄 - \u0026#34;./storage:/photoprism/storage\u0026#34; mariadb: ## database是存放資料庫的路徑，不改的話預設就是存在docker-compose.yml所在的目錄 volumes: - \u0026#34;./database:/var/lib/mysql\u0026#34; 接著設定轉碼器。PhotoPrism會把影片用ffmpeg轉碼以提昇播放效率，這裡不設定的話預設就是軟解。按照官方文件說明，將docker-compose修改成使用Nvidia顯示卡加速轉碼： services: photoprism: environment: PHOTOPRISM_FFMPEG_ENCODER: \u0026#34;nvidia\u0026#34; PHOTOPRISM_INIT: \u0026#34;gpu tensorflow\u0026#34; NVIDIA_VISIBLE_DEVICES: \u0026#34;all\u0026#34; NVIDIA_DRIVER_CAPABILITIES: \u0026#34;compute,video,utility\u0026#34; ... volumes: - ... deploy: resources: reservations: devices: - driver: \u0026#34;nvidia\u0026#34; count: 1 capabilities: [gpu] 在三個service下方加上restart: 'unless-stopped'設定開機自動啟動容器。 services: photoprism: restart: \u0026#39;unless-stopped\u0026#39; 啟動容器，等待image下載完成。第一次啟動可能要等個幾分鐘才能開啟網頁端登入。 sudo docker compose up -d 用瀏覽器開啟http://localhost:2342，就會進到PhotoPrism網頁端介面。你也可以透過http://區域IP:2342來存取。 登入admin帳號，到左下角的系統設定調成中文 點選左側的收藏庫，開始掃描新相片影片建立資料庫。 初次索引的時候會狂吃系統資源，RAM不足4GB的電腦記得要給大一點SWAP。1000張相片大約需要幾個小時索引和分類，中間如果有移除目錄，建議也是讓PhotoPrism重新掃描變更。\n如果要停止容器，執行此指令：\ncd \u0026#34;docker-compose.yml所在目錄\u0026#34; sudo docker compose down 現在本機能存取PhotoPrism了，那麼外部網路要怎麼連線到PhotoPrism呢？我採用內網穿透方式，看這裡瞭解如何將電腦和手機加入至虛擬區域網路。記得防火牆要開啟2342 TCP通訊埠： sudo ufw allow 2342/tcp sudo ufw reload 3. 匯入Google相簿照片至PhotoPrism # 將Google相簿的相片搬家到PhotoPrism，在那之前要先用第三方程式整理一下。\n使用GooglePhotosTakeoutHelper整理照片。\n照片整理完後，先將PhotoPrism容器停止\ncd ~/photoprism docker compose down 編輯docker-compose.yml，加入Google相簿的目錄到PhotoPrism。目錄名稱隨意取，下面只是範例。 volumes: - \u0026#34;/run/media/ivon/TOSHIBA1TB/DCIM:/photoprism/originals/DCIM\u0026#34; - \u0026#34;/run/media/ivon/TOSHIBA1TB/GooglePhotos:/photoprism/originals/GooglePhotos\u0026#34; 再啟動容器。登入PhotoPrism網頁，開始掃描新相片。 sudo docker compose up -d 4. PhotoPrism相片管理機制 # PhotoPrism的主目錄是originals，但在Docker容器內部不好存取。硬碟有個目錄叫做Pictures，你將它掛載到PhotoPrism，PhotoPrism就會將Pictures當作originals目錄使用。\n這樣一來PhotoPrism就會開始處理originals資料夾下的相片，轉檔成較小的格式並寫入到資料庫，也就是網頁端主畫面所看到的那樣。而originals目錄下的相片檔案保持不變。因此你可以建立子目錄，像是originals/family這樣，方便在PhotoPrism的主界面以「資料夾」模式檢視相片。而PhotoPrism的「相簿」功能並不會在硬碟上建立任何目錄，只有PhotoPrism網頁端能看到。\n未來要新增相片，有二種方法：一：把相片傳到硬碟Pictures目錄，再由PhotoPrism掃描新增。二：從PhotoPrism的網頁端上傳相片。\n從PhotoPrism網頁端上傳的相片會跑去哪？PhotoPrism會將其放到originals目錄，以拍攝日期建立目錄。例如foo.webp是11/1拍攝的，它就會在originals目錄下建立「11」、「01」的目錄，再把相片檔案放進去。\n由此可見，習慣用「資料夾」分類相片的人，還是採用方法一新增相片到硬碟較好，你可以手動把檔案傳到電腦，或是用Syncthing這類軟體無線同步。\n在PhotoPrism網頁端刪除相片，硬碟目錄的相片也會刪除，反之亦然。不過PhotoPrism網頁端要刪除相片是選取相片，點選「封存」，進到左側選單的「封存」頁面才能將相片刪除。\n用WebDAV放相片到PhotoPrism的originals目錄後，PhotoPrism每15分鐘會自動索引新相片。\n5. 分享PhotoPrism相片 \u0026amp; 用WebDAV上傳相片 # 如果PhotoPrism是架在有網域的伺服器上，選取「相簿」點選分享，別人就可以透過該連結查看相簿。 你可以從網頁端直接下載多張相片。\n分享「單張相片」是分享原始畫質的檔案，會得到一個WebDAV連結。\nPhotoPrism內建WebDAV伺服器功能，點選分享相片後，用GNOME的Nautilus這類軟體掛載WebDAV，就能存取originals目錄下的檔案。 6. PhotoPrism手機APP # 手機遠端存取PhotoPrism請記得使用內網穿透軟體，看這裡。\nPhotoPrism官方沒有開發APP，僅提供PWA網頁程式，也就是在手機開網頁版，網址為http://電腦虛擬區域IP:2443。\n不過手機還是有APP用起來比較爽吧，這裡有第三方開發的PhotoPrism Gallery，界面清爽許多，支援搜尋相簿和標籤。 可惜的是PhotoPrism並沒有直覺的手機備份方案，如果要自動將手機相片備份到電腦目錄，建議使用開源的Syncthing同步到硬碟目錄，這樣就能給PhotoPrism掃描新相片。\n","date":"2023年7月2日","externalUrl":null,"permalink":"/posts/self-hosting-photo-prism-docker/","section":"所有文章","summary":"PhotoPrism是開源免費的相簿服務軟體，介面跟Google相簿類似，用於瀏覽電腦上的相片影片。在搜尋時會使用臉孔偵測、AI辨識、地點給圖片分類和上標籤，就像Google相簿自動整理的功能。 PhotoPrism主要特點是自架雲端相簿服務，照片資料都是在本機處理，不會給第三方偷看。如果說自架的NextCloud專精文件，Jellyfin專精影片的話，PhotoPrism就是專精在相片處理這一塊。\n經過幾年開發，PhotoPrism現在已經很好上手了，Docker設定後是開箱即用。應用程式介面靠網頁端存取，手機會自動變換UI，且載入速度接近Google相簿。\n這篇文章將會介紹PhotoPrism的特色功能，再簡介如何用Docker在自己電腦部署，取代Google相簿。\n1. PhotoPrism功能特色 # PhotoPrsim可以讀取硬碟現有資料夾，分類後直接顯示在網頁界面的，無需重新「上傳」照片。 使用PhotoPrsim讓你同時保有資料夾分類相片與雲端上傳的操作習慣。\n跟同類型的Immich相簿比起來，PhotoPrism提供更多結構化的資料，讓你更清楚的檢視圖庫裡面的照片。\nPhotoPrism主介面是相片影片總覽，按照圖片拍攝時間排序。可用搜尋語法過濾圖片。 為方便網頁檢視，PhotoPrism會自動將圖片影片轉碼成快速載入的格式，並會隨螢幕大小自動變化版面。另有非官方開發的手機APP。 ","title":"PhotoPrism，用Docker架設Google相簿替代品","type":"posts"},{"content":" 本文觀點參考自PTT C-Chat討論串 [閒聊] 反二次元兒童色情的都是哪種人啊，該討論串有很多觀點交互。\n真實的作品該禁，但虛擬的不該介入。就跟禁止暴力電玩一樣，完全禁止虛構作品是沒意義的行為。 這裡有二個案子值得參考，想當然爾失敗了。\n修正《兒童及少年性剝削防制條例》第二條第一項第三款以排除不涉及任何真人、受害人的虛構作品作為取締對象 - 公共政策網路參與平臺 應予以修法，將不存在現實對象之各類虛擬創作排除在兒童及少年性剝削防制條例第2條之外 - 公共政策網路參與平臺 如果真的要管制，政府應該在每個人的手機強制安裝色情守門員，並公告ISP業者配合政府管制各大危險網址，減少EE園區業績又能保護人民小綿羊，太好了，我們這個連聯合國都進不去還要走政治正確路線的中國政府真的太厲害了。瓜地馬拉總統：「台灣是唯一且真正的中國」支持主權完整\n真實兒童色情應該管，虛擬作品兒童色情不該管 # 兒童色情漫畫近年來多為日本出口，日本虛擬的兒童色情漫畫，比真實還不真實。漫畫家常常為了性慾化小孩，將兒童的身體接上大人的身軀，於是就會看到設定上小學年紀的女孩，擁有肥嫩的屁股與漂亮的身材曲線，漲紅的乳頭，並且有豐富的性知識，口交技巧純熟。例如，很多插圖都會有魅惑的眼神配上幫你哈的手勢。在漫畫家設計的劇情中，小孩子還懂得自己扭腰主導性愛場面，這是很不現實的東西。\n在漫畫通常會讓一般人覺得色，想當熊頭的，仍是強調性感身軀的幼女居多。這種幻想的幼女畢竟只是幻想，現實不會有這種頭腦伶俐，身體性感的小女孩出現。且為規避犯罪嫌疑，漫畫中的女孩常常自稱自己是900歲的老妖婆。\n也有漫畫家刻意走寫實風，不強調性感身軀而強調成年男性侵犯幼女的畫面，參考真實新聞、暗網流出片段繪製而成的強暴未成年少女的漫畫，有些甚至年齡下降到對象為嬰兒，或是繪製兒童與兒童性交的畫面。\n這種的會落人口實：「如果漫畫家沒看過真實兒童色情，怎麼想得出侵犯蘿莉的劇情！兒童就是先被剝削的才有虛擬兒童色情漫畫，故虛擬兒童色情應該被禁止。」\n但 創作與現實世界的事件這沒有必然關係 ，說漫畫的劇情受到真實世界的影響也好，可是你怎麼解釋那些更重口的劇情呢 ——— 世界上有人被殺，所以不該製作暴力電玩？有本書叫做《好人總自以為是》，作者說，某些道德方面的東西，問為什麼要遵守，別人卻說不出所以然？如果法律依照這種不合邏輯的事情下去立法，那麼就是一種惡法，箝制思想的自由。\n暴力電玩跟虛擬兒童色情都有固定客群，所以販售這類商品是在侵害現實兒童？兒童性犯罪者多半持有兒童色情製品，不絕對代表是因為讀了這些作品才有犯罪動機。大多數人的行動力，可能還不比讀了共產黨宣言於是想解放全人類，奪權亂殺人的左派康米要強。我不是在為現實的戀童癖做辯護，對小孩子下手的人應當受到懲罰，然而這怎麼能連累到虛構作品上呢？如何論證，兒童色情漫畫會讓真實的小孩受到傷害。\n如果我們沿著種種不合理的邏輯下去推論，那麼可以得出，獸控的漫畫應該禁止，因為虐待動物；描繪窈窕叔女的漫畫應當廢止，岐視胖子。同性戀的漫畫應當禁止，因為小孩子會學壞。只要這樣想一想，就會越覺得「管虛擬」的東西的作法，就越是不合理。\n法律要如何保護小朋友 # 按照作品完成後作者就死了的理論，我傾向相信，藝術作品本身是沒有特定目的的，重點在於觀賞作品的人，本身有怎樣的想法去詮釋並指導它自身的行為。\n法律可以禁止色情作品放在顯眼處給小朋友閱覽，你也不應該在小孩子面前說我喜歡看小女孩內褲。小孩畢竟得需要一定保護，除防止接觸到戀童癖者以外，還要防止LGBT誘拐。\n可是，法律不能完全禁止作品存在於世界上，這叫做惡法。就如文章開頭所提到的，要保護不該接觸到這類資訊的人的作法，就是用數位控管手段來防止，或者加以說明開導。俗話說，圍堵不如疏通。\n如果說已經有一定的隔離手段，例如年齡限制的阻攔機制吧，就沒有必要完全消滅作品形式。尤其那種書籍不要求人們拜他，或是以其為榜樣的工具書，那麼禁絕就是多管閒事，是濫權。\n你可以基於所謂普世價值觀(即使那種價值觀是歐美強加於世界各國的)不喜歡虛擬的東西，但是不能立法禁止表意自由。尤其在網路世界，此種行為不可能禁絕的完。那麼如何不越過法律的界線，一切看自己的造化。\n","date":"2023年6月30日","externalUrl":null,"permalink":"/posts/should-children-porn-manga-be-banned/","section":"Personals","summary":" 本文觀點參考自PTT C-Chat討論串 [閒聊] 反二次元兒童色情的都是哪種人啊，該討論串有很多觀點交互。\n真實的作品該禁，但虛擬的不該介入。就跟禁止暴力電玩一樣，完全禁止虛構作品是沒意義的行為。 這裡有二個案子值得參考，想當然爾失敗了。\n修正《兒童及少年性剝削防制條例》第二條第一項第三款以排除不涉及任何真人、受害人的虛構作品作為取締對象 - 公共政策網路參與平臺 應予以修法，將不存在現實對象之各類虛擬創作排除在兒童及少年性剝削防制條例第2條之外 - 公共政策網路參與平臺 如果真的要管制，政府應該在每個人的手機強制安裝色情守門員，並公告ISP業者配合政府管制各大危險網址，減少EE園區業績又能保護人民小綿羊，太好了，我們這個連聯合國都進不去還要走政治正確路線的中國政府真的太厲害了。瓜地馬拉總統：「台灣是唯一且真正的中國」支持主權完整\n真實兒童色情應該管，虛擬作品兒童色情不該管 # 兒童色情漫畫近年來多為日本出口，日本虛擬的兒童色情漫畫，比真實還不真實。漫畫家常常為了性慾化小孩，將兒童的身體接上大人的身軀，於是就會看到設定上小學年紀的女孩，擁有肥嫩的屁股與漂亮的身材曲線，漲紅的乳頭，並且有豐富的性知識，口交技巧純熟。例如，很多插圖都會有魅惑的眼神配上幫你哈的手勢。在漫畫家設計的劇情中，小孩子還懂得自己扭腰主導性愛場面，這是很不現實的東西。\n","title":"虛構的兒童色情（蘿莉、正太作品）不應該被禁止","type":"personal"},{"content":" 本文討論用calibre管理E-hentai下載的本子、圖片的作法。\ncalibre是一款開源跨平台的電子書管理軟體，支援處理各種電子書格式。閱讀界面可自由調整。 如果有從E-hentai下載本本的習慣，用這個軟體整理漫畫是可以啦，但就同人本而言，其實有更適合的LANraragi。\ncalibre贏在標籤系統和整理比較簡易，Github也有自動抓取E-hentai的本子資訊，並自動上標籤的calibre外掛。\n1. 將本子匯入calibre # 此處假定您是使用E-hentai的Archive Download功能，下載zip格式的本子壓縮檔。\n如果您已經在使用calibre，不想要讓本子跟一般圖書混在一起，請善用「Virtual library」區分不同種類的書。\n按照您的作業系統安裝calibre。\n開啟calibre，點選主界面上方的偏好設定 → 行為，將偏好的輸出格式設定為EPUB 匯入選項 → 漫畫輸入，停用漫畫處理。 偏好設定 → 加入書本 → 加入動作，設定，勾選自動轉換匯入的書本。此步驟為選擇性，因calibre預設匯入zip只會轉成cbz，轉檔成epub載入速度比較快。 點選左上角的「加入書本」，檔案類型選所有檔案，匯入zip格式的本子。 匯入的檔案會自動轉成.cbz格式，所以每本書應該都會至少有個封面，點二下閱讀器就會彈出來。 如果遇到calibre找不到電子書的情況：通常是CG圖片才會遇到，此時只要將該檔案.zip重新命名為.cbz再匯入即可。\n匯入的本子會以cbz儲存在calibre的資料目錄下，cbz格式跟zip相差無幾，因此匯入後可刪除原始zip檔案。\ncalibre允許一本書同時存在多種格式，可以匯入cbz後再手動轉epub。\n2. 用外掛自動抓本子的標籤 # nonpricklycactus開發的「Ehentai_metadata」外掛可自動抓取本子的標籤，方便日後搜尋。\n到Github下載Ehentai_metadata.zip和EhTagTranslation.db。將EhTagTranslation.db放到隨便一個目錄下，例如caibre資料所在的目錄。\n接著要取得Exhentai的cookie。開啟Chrome登入E-hentai，然後再登入Exhentai。接著在Exhentai的頁面按F12 → 開發人員工具 → 應用程式，在「Cookies」會看到ipb_member_id和ipb_pass_hash這二個數值，把他們複製下來。 開啟calibre，點選主界面上方的偏好設定 → 外掛，點選「從檔案載入外掛」，選取剛剛下載的Ehentai_metadata.zip 按只顯示使用者安裝的外掛，對E-hentai Galleries按二下會跳出面板： 將前三個選項勾選，再填入剛剛取得的ipb_member_id和ipb_pass_hash，EhTagTranslatio_db則是EhTagTranslation.db的路徑，例如/home/user/Documents。然後點選確定。\n重新啟動clibre，點選偏好設定 → 下載詮釋資料，僅勾選E-hentai Galleries，不然會下載到奇怪的封面。 用滑鼠或按著SHIFT框選書本，按上面選單的編輯詮釋資料 → 下載詮釋資料和封面 → 二者都下載，然後外掛就會開始抓本子的資料。 下載完成後點選是，套用變更。 這樣每本書就會自動帶入E-hentai上的資料和標籤資訊，可以用標籤搜尋本機的本子了。 3. 遠端閱讀 # 如果想用手機平板看calibre的本子，參閱架設calibre-web專案。\n","date":"2023年6月28日","externalUrl":null,"permalink":"/posts/manage-ehentai-doujins-using-calibre/","section":"所有文章","summary":" 本文討論用calibre管理E-hentai下載的本子、圖片的作法。\ncalibre是一款開源跨平台的電子書管理軟體，支援處理各種電子書格式。閱讀界面可自由調整。 如果有從E-hentai下載本本的習慣，用這個軟體整理漫畫是可以啦，但就同人本而言，其實有更適合的LANraragi。\ncalibre贏在標籤系統和整理比較簡易，Github也有自動抓取E-hentai的本子資訊，並自動上標籤的calibre外掛。\n1. 將本子匯入calibre # 此處假定您是使用E-hentai的Archive Download功能，下載zip格式的本子壓縮檔。\n如果您已經在使用calibre，不想要讓本子跟一般圖書混在一起，請善用「Virtual library」區分不同種類的書。\n","title":"用calibre管理E-hentai本子，自動給漫畫上標籤","type":"posts"},{"content":"ReDroid是一個開源雲手機的解決方案。不同於一般的Android模擬器，ReDroid是用Docker跑Android系統，再透過Scrcpy連線到桌面，支援GPU加速。\n實際使用例：自架Android雲手機\n之前介紹的ReDroid安裝以Linux實機環境為主，本文特解說如何在Windows透過WSL安裝ReDroid。 1. 硬體需求 # Windows 11 四核心以上x86架構CPU，CPU需支援虛擬化 8GB（含）以上RAM 10GB以上硬碟空間 熟悉Linux指令 2. 準備WSL環境 # 參考這篇，啟用Hyper-V，安裝WSL。\n如果有Nvidia顯示卡，請安裝WSL專用的Nvidia驅動。\n3. 重新編譯WSL核心 # 根據開發者的指示，WSL預設的Linux核心缺少ReDroid所需的核心功能，且不支援動態載入核心模組，所以得整個重新編譯。\n點選Ubuntu圖示，登入WSL，安裝編譯Linux核心所需的套件 sudo apt update sudo apt install wget build-essential bison flex libncurses-dev libssl-dev libelf-dev bc pahole 查看Linux核心版本 uname -a # 範例輸出：5.15.90.1 從Github儲存庫下載核心原始碼。 wget https://github.com/microsoft/WSL2-Linux-Kernel/archive/refs/tags/linux-msft-wsl-5.15.90.1.tar.gz 解壓縮 tar -xvf linux-msft-wsl-5.15.90.1.tar.gz 複製核心設定檔 cd WSL2-Linux-Kernel-linux-msft-wsl-5.15.90.1 cp Microsoft/config-wsl .config 接著要啟用核心功能。參考自行編譯WSL核心，使用menuconfig將以下核心功能開啟： CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y CONFIG_DMABUF_HEAPS=y CONFIG_DMABUF_HEAPS_SYSTEM=y CONFIG_ANDROID=y CONFIG_ANDROID_BINDER_IPC=y CONFIG_ANDROID_BINDERFS=y CONFIG_ANDROID_BINDER_DEVICES=\u0026#34;binder,hwbinder,vndbinder\u0026#34; 開始編譯核心，大約30分鐘 make -j8 開啟檔案總管，點選檢視 → 顯示隱藏項目，點選左下角的「Linux」，到Ubuntu\\home\\user\\WSL2-Linux-Kernel-linux-msft-wsl-5.15.90.1\\arch\\x86\\boot\\資料夾，剪下bzImage檔案 將bzImage移動到任意資料夾，例如C:\\Users\\使用者名稱\\wslcustomkernel 在使用者家目錄（C:\\Users\\使用者名稱\\），右鍵新增.wslconfig檔案 右鍵用記事本開啟.wslconfig，輸入以下內容儲存。kernel代表核心bzimage所在的硬碟資料夾。\n[wsl2] kernel=C:\\\\Users\\\\使用者名稱\\\\wslcustomkernel\\\\bzImage memory=4GB 回到WSL終端機，退出WSL exit 再開一個終端機(以系統管理員執行)，將WSL關機 taskkill /F /im wslservice.exe wsl --shutdown 重新登入WSL。 wsl -d Ubuntu 確認核心版本是否已經成功變更 uname -v 範例輸出，核心編譯日期顯示為今天，代表核心已成功變更。 4. 安裝Docker # 安裝Docker，啟動服務 sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo \\ \u0026#34;deb [arch=\u0026#34;$(dpkg --print-architecture)\u0026#34; signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \\ \u0026#34;$(. /etc/os-release \u0026amp;\u0026amp; echo \u0026#34;$VERSION_CODENAME\u0026#34;)\u0026#34; stable\u0026#34; | \\ sudo tee /etc/apt/sources.list.d/docker.list \u0026gt; /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo systemctl enable --now docker sudo groupadd docker sudo usermod -aG docker $USER 測試安裝是否成功 sudo docker run hello-world 啟動ReDroid，跑Android 11的容器 sudo docker run -itd --rm --privileged \\ --pull always \\ -v ~/data:/data \\ -p 5555:5555 \\ redroid/redroid:11.0.0-latest 用sudo docker ps指令查看Docker容器狀態 如果不使用restart=always引數，則每次開啟WSL，上面的指令就需要重新執行一次。\n6. 連線至ReDroid桌面 # 於Windows下載Platform Tools，解壓縮。\n進入Platform Tools資料夾，按SHIFT+右鍵開啟終端機\n用以下指令連線到ReDroid，成功的話會顯示connected to localhost:5555\n./adb connect localhost:5555 Windows下載QtScrcpy，解壓縮點選Qtscrcpy.exe執行。\n開啟後按二下localhost:5555的裝置，即會看到ReDroid桌面。 7. 安裝GMS和ARM轉譯器 # 預設的ReDroid什麼都沒有，APK得透過ADB指令安裝。\n其餘東西開發者說要自己寫Dockerfile建置。\n如果需要Google Play服務，和ARM → x86轉譯器，請看這篇。\nReDroid預設可能是用軟體解碼渲染，參考WSL Docker啟用OpenGL嘗試讓GPU工作。\n8. 另請參見 # Windows WSL跑Waydroid容器 ","date":"2023年6月26日","externalUrl":null,"permalink":"/posts/setup-redroid-on-wsl/","section":"所有文章","summary":"ReDroid是一個開源雲手機的解決方案。不同於一般的Android模擬器，ReDroid是用Docker跑Android系統，再透過Scrcpy連線到桌面，支援GPU加速。\n實際使用例：自架Android雲手機\n之前介紹的ReDroid安裝以Linux實機環境為主，本文特解說如何在Windows透過WSL安裝ReDroid。 1. 硬體需求 # Windows 11 四核心以上x86架構CPU，CPU需支援虛擬化 8GB（含）以上RAM 10GB以上硬碟空間 熟悉Linux指令 2. 準備WSL環境 # 參考這篇，啟用Hyper-V，安裝WSL。\n如果有Nvidia顯示卡，請安裝WSL專用的Nvidia驅動。\n3. 重新編譯WSL核心 # 根據開發者的指示，WSL預設的Linux核心缺少ReDroid所需的核心功能，且不支援動態載入核心模組，所以得整個重新編譯。\n點選Ubuntu圖示，登入WSL，安裝編譯Linux核心所需的套件 sudo apt update sudo apt install wget build-essential bison flex libncurses-dev libssl-dev libelf-dev bc pahole 查看Linux核心版本 uname -a # 範例輸出：5.15.90.1 從Github儲存庫下載核心原始碼。 wget https://github.com/microsoft/WSL2-Linux-Kernel/archive/refs/tags/linux-msft-wsl-5.15.90.1.tar.gz 解壓縮 tar -xvf linux-msft-wsl-5.15.90.1.tar.gz 複製核心設定檔 cd WSL2-Linux-Kernel-linux-msft-wsl-5.15.90.1 cp Microsoft/config-wsl .config 接著要啟用核心功能。參考自行編譯WSL核心，使用menuconfig將以下核心功能開啟： CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y CONFIG_DMABUF_HEAPS=y CONFIG_DMABUF_HEAPS_SYSTEM=y CONFIG_ANDROID=y CONFIG_ANDROID_BINDER_IPC=y CONFIG_ANDROID_BINDERFS=y CONFIG_ANDROID_BINDER_DEVICES=\"binder,hwbinder,vndbinder\" 開始編譯核心，大約30分鐘 make -j8 開啟檔案總管，點選檢視 → 顯示隱藏項目，點選左下角的「Linux」，到Ubuntu\\home\\user\\WSL2-Linux-Kernel-linux-msft-wsl-5.15.90.1\\arch\\x86\\boot\\資料夾，剪下bzImage檔案 ","title":"ReDroid，在Windows電腦架設Android雲手機的方法","type":"posts"},{"content":"WSL可以自己編譯新的Linux核心給自己用！\nMicrosoft開發的WSL雖然功能眾多，但仍不支援載入核心模組(kernel modules)的功能，所有驅動模塊都是編譯在核心裡的。所以若核心需要支援某個功能，多半得重新編譯(recompile)核心了。\n譬如，我想在WSL跑Android容器，就需要用到memfd的核心選項，那麼只要取得Microsoft公開的WSL核心原始碼，將特定功能開啟，編譯核心，再將WSL使用的核心抽換掉就好啦。\n甚至，如果想搶先體驗最新版主線Linux的核心功能，您也可以自行從kernel.org下載原始碼自行編譯，並給WSL裝上！\n本文以WSL預設的Ubuntu為例子，示範如何在WSL裡編譯核心，開啟自訂選項，再替換掉原本的WSL核心。\n1. 編譯核心前的準備 # 確保已安裝WSL\n登入WSL\nwsl -d Ubuntu 安裝編譯核心用的套件 sudo apt update sudo apt install wget build-essential bison flex libncurses-dev libssl-dev libelf-dev bc pahole 取得核心原始碼。Microsoft的原始碼會公佈在Github儲存庫。下載之前需要先確認目前WSL使用的核心版本： uname -a 假設輸出5.15.90.1，那麼就從Github下載5.15.90.1的核心，並解壓縮 wget https://github.com/microsoft/WSL2-Linux-Kernel/archive/refs/tags/linux-msft-wsl-5.15.90.1.tar.gz tar -xvf linux-msft-wsl-5.15.90.1.tar.gz cd WSL2-Linux-Kernel-linux-msft-wsl-5.15.90.1 2. 編輯核心功能 # 首先將WSL的核心設定檔複製出來，使用x86架構的設定檔 cp Microsoft/config-wsl .config 啟動menuconfig編輯核心選項，切勿直接編輯.config檔案。 make menuconfig 現在會看到一個灰色畫面，這個就是用來調整核心功能的界面。操作方式：使用鍵盤的箭頭上下移動，按Enter進入下一級選單，按空白鍵啟用/關閉該核心功能。 如果不知道要啟用的核心選項在哪，按/，鍵入CONFIG的字串，按Enter，它就會告訴你該選項的位置。如下圖，CONFIG_IPV6_ROUTER_PREF要到Networking support下的The IPv6 protocol勾選啟用，使其變成[y]。 如果記不起來位置，可以選取終端機文字，按Ctrl＋C複製到記事本對照看。如果不知道確切要開哪個核心選項，請搜尋「CONFIG_XXX + Gentoo Wiki」就會有很多資料。 編輯完核心功能後，用鍵盤左右鍵移動到Save，按Enter，儲存設定檔。 接著開始編譯核心。-j$(nproc)代表使用全部CPU執行緒編譯，大約要30分鐘。\nmake -j$(nproc) 編譯後的檔案是bzImage，應位於/arch/x86/boot/資料夾。 3. 給WSL裝上編譯好的核心 # 我們可以利用.wslconfig指定WSL啟動時要載入的核心，這樣就不用去動WSL的系統檔案了。\n開啟檔案總管，點選檢視 → 顯示隱藏項目，點選左下角的「Linux」，到Ubuntu\\home\\user\\WSL2-Linux-Kernel-linux-msft-wsl-5.15.90.1\\arch\\x86\\boot\\資料夾，剪下bzImage檔案 將bzImage移動到任意資料夾，例如C:\\Users\\使用者名稱\\wslcustomkernel 在使用者家目錄（C:\\Users\\使用者名稱\\），右鍵新增.wslconfig檔案 右鍵用記事本開啟.wslconfig，輸入以下內容儲存。kernel代表核心bzimage所在的硬碟資料夾。\n[wsl2] kernel=C:\\\\Users\\\\使用者名稱\\\\wslcustomkernel\\\\bzImage 回到WSL終端機，退出WSL exit 再開一個終端機(以系統管理員執行)，將WSL強制關機 taskkill /F /im wslservice.exe wsl --shutdown 重新登入WSL。 wsl -d Ubuntu 確認核心版本是否已經成功變更 uname -v 範例輸出，核心編譯日期顯示為今天，代表核心已成功變更。 參考資料 # Steps for compile Mainline Kernel Linux using WSL2 · GitHub WSL 中的進階設定組態 Linux下menuconfig与Kconfig基础知识概要- 碎岁语 - 博客园 ","date":"2023年6月26日","externalUrl":null,"permalink":"/posts/compile-custom-wsl-kernel-on-wsl/","section":"所有文章","summary":"WSL可以自己編譯新的Linux核心給自己用！\nMicrosoft開發的WSL雖然功能眾多，但仍不支援載入核心模組(kernel modules)的功能，所有驅動模塊都是編譯在核心裡的。所以若核心需要支援某個功能，多半得重新編譯(recompile)核心了。\n譬如，我想在WSL跑Android容器，就需要用到memfd的核心選項，那麼只要取得Microsoft公開的WSL核心原始碼，將特定功能開啟，編譯核心，再將WSL使用的核心抽換掉就好啦。\n甚至，如果想搶先體驗最新版主線Linux的核心功能，您也可以自行從kernel.org下載原始碼自行編譯，並給WSL裝上！\n本文以WSL預設的Ubuntu為例子，示範如何在WSL裡編譯核心，開啟自訂選項，再替換掉原本的WSL核心。\n1. 編譯核心前的準備 # 確保已安裝WSL\n登入WSL\nwsl -d Ubuntu 安裝編譯核心用的套件 sudo apt update sudo apt install wget build-essential bison flex libncurses-dev libssl-dev libelf-dev bc pahole 取得核心原始碼。Microsoft的原始碼會公佈在Github儲存庫。下載之前需要先確認目前WSL使用的核心版本： uname -a 假設輸出5.15.90.1，那麼就從Github下載5.15.90.1的核心，並解壓縮 wget https://github.com/microsoft/WSL2-Linux-Kernel/archive/refs/tags/linux-msft-wsl-5.15.90.1.tar.gz tar -xvf linux-msft-wsl-5.15.90.1.tar.gz cd WSL2-Linux-Kernel-linux-msft-wsl-5.15.90.1 2. 編輯核心功能 # 首先將WSL的核心設定檔複製出來，使用x86架構的設定檔 cp Microsoft/config-wsl .config 啟動menuconfig編輯核心選項，切勿直接編輯.config檔案。 make menuconfig 現在會看到一個灰色畫面，這個就是用來調整核心功能的界面。操作方式：使用鍵盤的箭頭上下移動，按Enter進入下一級選單，按空白鍵啟用/關閉該核心功能。 ","title":"如何編譯與更換WSL核心 (custom WSL kernel)","type":"posts"},{"content":"雖說現在用Linux，可以開虛擬機解決需要跑Windows軟體的情況，但一旦外出就會遇到問題。在只有帶Linux筆電的情況下，為解決臨時需要用到Windows系統的問題，我選擇：從Linux筆電存取另一台Linux電腦上的Windows虛擬機的遠端桌面。 過程：\n將Linux電腦加入ZertoTier網路，啟用SSH 在Windows設定啟用RDP，加入ZeroTier 將Linux筆電加入ZeroTier，SSH到Linux電腦 用virsh指令啟動虛擬機 Linux筆電開啟Remmina，輸入Windows虛擬機的ZeroTier的IP連線。 ???? Profit 還可以給QEMU啟用Hyper-V，存取Windows虛擬機中的WSL哩！如果KVM直通GPU，再裝Moonlight，就能Linux遠端遊玩Windows虛擬機裡的遊戲了！\nRDP是Windows內建的遠端桌面協定，效率比VNC好，即使在低網速下仍表現優異。\n我知道有個更複雜的方案，就是我將Linux遠端做通訊埠轉發，然後連線到虛擬機的區域網路的Windows虛擬機，但是我覺得好麻煩：P\n考慮到Windows常有各種奇怪病毒等著入侵，把Windows放在虛擬機跑，防火牆全擋掉僅用ZeroTier存取是個不錯的方案。\n1. 設定ZeroTier # 三個系統都要安裝ZeroTier，並設定開機自動啟動。\n參見ZeroTier安裝\n這樣會有三組Zerotier的IP。\nLinux電腦必須啟用SSH服務，並開放防火牆允許連線。\n2. 啟用Windows RDP遠端桌面 # 此節步驟建議坐在電腦前面設定。\n用Virt Manager安裝Windows 11虛擬機\n參照Microsoft說明，點選系統設定 → 系統，啟用遠端桌面。 RDP預設通訊埠為3389/TCP，預設帳號密碼則是登入Windows 11系統的Microsoft帳號。\n3. 連線至Windows # SSH到遠端Linux電腦 ssh \u0026lt;使用者名稱\u0026gt;:\u0026lt;ZeroTier虛擬IP\u0026gt; 用virsh指令啟動虛擬機 sudo virsh list --all sudo virsh start Windows11 於Linux筆電安裝Remmina，協定選RDP，IP輸入\u0026lt;Windows的Zerotier虛擬IP\u0026gt;:3389 接受憑證，輸入帳號密碼連線。 連線後記得按左邊的按鈕，啟用\u0026quot;Dynamic Resolution Update\u0026quot;，這樣Windows解析度就會自動跟著Remmina視窗變化。 如果要顯示桌布，點選Remmina右上角的Preferences → RDP → Quality settings，將每個畫質的wallpaper都打勾，再重新連線。不過虛擬機若沒直通顯示卡，好像就解決不了黑桌布的樣子。 ","date":"2023年6月25日","externalUrl":null,"permalink":"/posts/connect-to-windows-vm-using-rdp-zerotier/","section":"所有文章","summary":"雖說現在用Linux，可以開虛擬機解決需要跑Windows軟體的情況，但一旦外出就會遇到問題。在只有帶Linux筆電的情況下，為解決臨時需要用到Windows系統的問題，我選擇：從Linux筆電存取另一台Linux電腦上的Windows虛擬機的遠端桌面。 過程：\n將Linux電腦加入ZertoTier網路，啟用SSH 在Windows設定啟用RDP，加入ZeroTier 將Linux筆電加入ZeroTier，SSH到Linux電腦 用virsh指令啟動虛擬機 Linux筆電開啟Remmina，輸入Windows虛擬機的ZeroTier的IP連線。 ???? Profit 還可以給QEMU啟用Hyper-V，存取Windows虛擬機中的WSL哩！如果KVM直通GPU，再裝Moonlight，就能Linux遠端遊玩Windows虛擬機裡的遊戲了！\nRDP是Windows內建的遠端桌面協定，效率比VNC好，即使在低網速下仍表現優異。\n我知道有個更複雜的方案，就是我將Linux遠端做通訊埠轉發，然後連線到虛擬機的區域網路的Windows虛擬機，但是我覺得好麻煩：P\n考慮到Windows常有各種奇怪病毒等著入侵，把Windows放在虛擬機跑，防火牆全擋掉僅用ZeroTier存取是個不錯的方案。\n1. 設定ZeroTier # 三個系統都要安裝ZeroTier，並設定開機自動啟動。\n","title":"用RDP＋ZeroTier存取遠端Linux的Windows虛擬機的桌面","type":"posts"},{"content":"Suno AI開發的「Bark」(狗叫)是一款生成式語音合成AI，能夠根據文本生成一小段接近真人說話的語音，支援英、日、中、韓等多國語言。\n範例對話：\n：給我學狗叫啊，你這混蛋！\n：汪！汪！\n：三回啊，三回！\n生成結果：\n圖片來源：https://seiga.nicovideo.jp/seiga/im11069563\n還可以插入情緒、唱歌等指示。\n不過Bark生成的語音是高度隨機的，類似早期Stable Diffusion。無法保證品質，需要抽卡。且因為原理類似GPT模型，生成的語音不見得會正確念出文字。\n就目前的情況來看，英語支援程度最好。中文生成能力真的像是在狗叫一樣。\n1. 安裝Bark GUI # 硬體需求：顯示卡VRAM \u0026gt; 2GB\n原始版程式：suno-ai/bark\n這裡裝C0untFloyd開發的圖形版，參考Github說明，Windows有一鍵安裝器，Linux請手動設定：\n安裝Anaconda，建立Python 3.10環境 conda create --name barkgui python=3.10 conda activate barkgui 安裝依賴 git clone https://github.com/C0untFloyd/bark-gui cd bark-gui pip install . pip install pandas attrs psutil rich pyparsing lxml absl-py protobuf scrapy pip install . 安裝CUDA pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 裝完剩下的依賴套件 pip install -r requirements.txt 啟動WebUI。可加上-offloadcpu和-smallmodels 減少VRAM佔用，或-forcecpu強制使用CPU計算 python webui.py -offloadcpu 初次啟動會自動下載語言模型。接著在瀏覽器開啟http://127.0.0.1:7860。 2. Bark使用方式 # 開啟主界面，於左上角填入要生成的文本。 下面有作者提供的範例。例如要插入笑聲就使用[laughs]，要生成唱歌就將文本前後用♪框起來。用Man:或Woman:指定說話者性別。(有時候AI會無視這些指令，英語以外的語言更容易亂說話的樣子) 左下角選擇要使用的人聲，日文就選擇ja，中文為zh。選日文的人聲講英文文本也是可以，但會有口音。 點選右下角控制隨機的程度，我自己測試的結果，如果拉太低，則生成的內容很容易牛頭不對馬嘴。 設定好之後點選左下角的Generate，等待生成完成。如果用顯示卡計算，一句話大約30秒處理完畢。\n生成的音訊會儲存在bark-gui專案目錄下的outputs目錄。\nBark預設只能生成10秒左右的語音，如果要生成更長對話呢？就得用SMML格式填寫文本。如下圖，在voice name欄位指定要使用的人聲，再於角括號之間填入文本。這樣它就會批次生成音訊，再將音訊合併在一起。 ","date":"2023年6月25日","externalUrl":null,"permalink":"/posts/suno-ai-bark-gui-installation/","section":"所有文章","summary":"Suno AI開發的「Bark」(狗叫)是一款生成式語音合成AI，能夠根據文本生成一小段接近真人說話的語音，支援英、日、中、韓等多國語言。\n範例對話：\n：給我學狗叫啊，你這混蛋！\n：汪！汪！\n：三回啊，三回！\n生成結果：\n圖片來源：https://seiga.nicovideo.jp/seiga/im11069563\n還可以插入情緒、唱歌等指示。\n不過Bark生成的語音是高度隨機的，類似早期Stable Diffusion。無法保證品質，需要抽卡。且因為原理類似GPT模型，生成的語音不見得會正確念出文字。\n就目前的情況來看，英語支援程度最好。中文生成能力真的像是在狗叫一樣。\n1. 安裝Bark GUI # 硬體需求：顯示卡VRAM \u003e 2GB\n原始版程式：suno-ai/bark\n這裡裝C0untFloyd開發的圖形版，參考Github說明，Windows有一鍵安裝器，Linux請手動設定：\n安裝Anaconda，建立Python 3.10環境 conda create --name barkgui python=3.10 conda activate barkgui 安裝依賴 git clone https://github.com/C0untFloyd/bark-gui cd bark-gui pip install . pip install pandas attrs psutil rich pyparsing lxml absl-py protobuf scrapy pip install . 安裝CUDA pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 裝完剩下的依賴套件 pip install -r requirements.txt 啟動WebUI。可加上-offloadcpu和-smallmodels 減少VRAM佔用，或-forcecpu強制使用CPU計算 python webui.py -offloadcpu 初次啟動會自動下載語言模型。接著在瀏覽器開啟http://127.0.0.1:7860。 2. Bark使用方式 # 開啟主界面，於左上角填入要生成的文本。 ","title":"Suno Bark GUI，支援多國語言的生成式語音合成AI","type":"posts"},{"content":"KDE Community開發的應用程式以Linux平台為主，只有少數比較熱門的應用程式會出跨平台版本，例如Krita、Kdenlive、DigiKam等等。\n而KDE Community近年來還推出頗有野心的計畫：K Kirigami UI Framework，意圖打造跨平台的應用程式框架，有點像Google Flutter。後來該專案延伸出MauiKit，也就是Maui Shell的背後技術來源。目前仍處於早期開發階段。\nKirigami出現後，KDE Community也開始建置適用手機平台的KDE Apps了，包括Linux與Android。 桌布來源\n目前Android版的KDE App可在F-Droid取得，需加入KDE Android Nightly Build軟體庫。上架的應用程式只有數十款，我用Android 13的手機裝了幾款實用的測試：\nKDE Connect，類似Microsoft我的手機。個人認為是寫的最好、最實用的跨平台KDE APP，介面有針對Android 12重寫。詳細使用方法 Gcompris，涵蓋多款兒童教育遊戲，完整中文化，介面有針對手機觸控調整過。 Tokodon，Mastodon客戶端，實測取得token後便能登入。還行，但返回手勢不直覺，不如同級Android開源產品。 Alligator，RSS閱讀器。 Krita，專業繪圖軟體，跟電腦版一模一樣的介面，所以是原生效能，但這個只適用平板電腦。有些Android裝置可接繪圖板。 Potato Guy，兒童換裝遊戲。\nCalindori，離線行事曆App，字有點太小了。\nKontrast，查看對比度配色，協助設計。\nKAlgebra Mobile，科學計算機。\nKeySmith，生成二步驟OTP驗證碼，解密時間有點久。\nNeoChat，Matrix與IRC聊天客戶端。\nQrca，成功掃描QR Code，也可以建立QR Code。\nPlasma Phonebook，管理聯絡人，跟Android手機不同步。\nOkular Mobile，只能看PDF，跟電腦版比起來，手機版根本就是殘廢，功能跟Google雲端硬碟PDF檢視器一樣少。\nElisa，音樂播放器。將音樂目錄加入掃描，還是掃不出音樂。\nKasts，收聽Podcasts。卡在首頁，點擊無反應。\nKWeather，天氣App。無法用定位的加入城市，手動點選城市地址完全沒反應。\nPlasma Camera，可以開啟相機，但沒有拍照按鈕。\nKRecorder，錄音機。閃退。\n總結，我覺得KDE這些APP主要是設計給Linux手機（PinePhone）上的KDE Plasma Mobile使用，Android只是順便的。\n僅少數APP有針對Android邏輯重寫，其他APP直接生搬硬套Linux版的使用邏輯，非常不直覺，Kirigami設計美學又跟Material You不搭嘎。\n此外，KDE的框架沒有Google的Flutter那麼成熟，導致Android版KDE apps的bug一堆。\nKDE Android版Apps的郵寄清單：KDE-Android Info Page\n","date":"2023年6月25日","externalUrl":null,"permalink":"/posts/android-kde-apps/","section":"所有文章","summary":"KDE Community開發的應用程式以Linux平台為主，只有少數比較熱門的應用程式會出跨平台版本，例如Krita、Kdenlive、DigiKam等等。\n而KDE Community近年來還推出頗有野心的計畫：K Kirigami UI Framework，意圖打造跨平台的應用程式框架，有點像Google Flutter。後來該專案延伸出MauiKit，也就是Maui Shell的背後技術來源。目前仍處於早期開發階段。\nKirigami出現後，KDE Community也開始建置適用手機平台的KDE Apps了，包括Linux與Android。 桌布來源\n目前Android版的KDE App可在F-Droid取得，需加入KDE Android Nightly Build軟體庫。上架的應用程式只有數十款，我用Android 13的手機裝了幾款實用的測試：\nKDE Connect，類似Microsoft我的手機。個人認為是寫的最好、最實用的跨平台KDE APP，介面有針對Android 12重寫。詳細使用方法 Gcompris，涵蓋多款兒童教育遊戲，完整中文化，介面有針對手機觸控調整過。 Tokodon，Mastodon客戶端，實測取得token後便能登入。還行，但返回手勢不直覺，不如同級Android開源產品。 Alligator，RSS閱讀器。 ","title":"玩玩Android手機上的KDE Apps","type":"posts"},{"content":"有加入中國國民黨的年輕人曾說，公開政治傾向，可能會比出櫃還讓他人難受。當什麼都要扯到政治的時候，就會被說是「政治露陰癖」。甚至、基於基本人權的表達權利，也會被當作不可忍受的。\n根據Bilibili網友的回報，大約是今年6月的時候，這個網域ivonblog.com就被牆了，中華人民共和國國內無法存取，中華民國國內可以存取。\n花了一年時間才被牆。\n早就料到會有這種情況發生，要牆我的理由太多了，潛藏在為數眾多的科技文章中間的，有色情內容，以及政治不正確的言論。5月~6月的時候，還在部落格首頁高掛紀念六四事件的看板。 A Great Day For Freedom # 儘管對不起中國網友，他們只是要看影片的教學課程，就得多一道翻牆手續，不過這也代表不用再擔心引用素材要不要考量中國網友的感受了。\n以前我為了照料看不到Imgur圖片的中國網友，加入偵測圖片載入失敗的提示。或是在介紹Termux、E-Hentai的文章，提醒中國人要換源。\n我看過很多中國人寫的教學博客，他們有八成都是待在中國國內寫的，為此會給資源連結貼心標注「國內需魔法才能連」。這對自由世界的人民來說是很不可思議的，就算是地域限制，台灣弄個VPN也不違法。\n翻牆本應是突破網路封鎖的意涵，卻也有人把掛VPN到中國也講成翻牆（為了看區域限制的影劇），我也是流汗黃豆。現在有新一代的中國網友真的以為牆是雙向的耶，區域限制跟干涉網際網路自由的GFW哪能算一回事。 每當有中國人問我的連結打不開的時候，在牆內平台我只能隱晦的說找「魔法」，並且默認：按現在中國互聯網審查的惡劣程度，要接觸自由世界網路，VPN應是常備的。那被牆之後，現在應不需要提醒了，有五成的人打不開連結就會放棄，其餘有辦法成功摸到本部落格來的人，不可能不知道如何突破網路封鎖。\n此外，不用擔心暗中觸犯禁忌的問題了。以前連拍影片都要小心檢查內容是不是會出現政治不正確的元素，比方說不小心拍到VPN圖示。現在不必在乎了，要整天審查的影片我就索性不po到中國網站上了。\n我自認被封沒有什麼好理虧的，錯的不是我是世界。你國的G點不是常人能理解的，所以打從第一篇重度政治味的文章接觸中國網站後的政治觀點轉變開始，我就決定保持反共反獨裁的自由理念經營此部落格。 南方公園：Band in China\n米線 # 我的立場是，政府與國家不得對網際網路設定任何限制，也不能危害個人權利。\n參考：網際網路獨立宣言\n現在我要大聲的說：不要謊言要尊嚴，不要文革要改革，不要領袖要選票，不做奴才做公民。獨裁者習近平，下課。 你以為我是被民進黨洗腦反共的？No！我明年等不及把塔綠班下架了。論反共啟蒙，還得是作為正常人的自覺。\n不論是綠共還是紅共，任何一個正常人都應該出來反對獨裁者染指世界，包括美國霸權。在歐美世界，人民可以監督政府，而中國政府只會把異議人士拉清單。為了要在中國做好生意，連在非中國國內的平台都得保持愛國愛黨的形象（或者說保持沉默，認為政治很髒），這個我做不到。\n中國政府以GFW干涉網際網路自由長達二十年，比歐美侵犯「網路中立性」的法案還要嚴重。這種行為本身就與我站的自由理念格格不入。所以囉，我才不care政治正確三小的，而是以理性以及心中的正義為指導方針。\n不過為避免被人說我是政治露陰癖(很過激的那種)，未來政治的文章若多了起來，也會視同色情分類文章，將其從首頁隱藏的。 並且，一般討論科技的文章我是不會刻意罵政府的。\n傳播 # 啊可能有人會說誰管你這個小破站被牆，那我其實也不用太在意中國政府為什麼心眼那麼小，美國取消文化起碼也不會直接ban掉整個網站，不然NSA怎麼監控。\n如果真要封殺我，我在中國網路上的社群媒體帳號應該都要一夕註銷才對（我大部分都脫鉤了，那邊只是屍體），然後宣布制裁個人實體，說台獨頑固份子清單什麼的。\n何止台獨！我更是個諸夏主義者，期望中國大一統趕緊解體。\n要是全面封殺，那也沒關係，網際網路傳播的方式多的是。最近我在牆內以隱晦的語言呼籲，看我的影片下面提供的連結都要自備翻牆工具，以便存取自由的網路。每當有中國網友問我有沒有好用的「梯子」的時候，我都會暗示他們去用品蔥用戶開發的迷霧通來當GFW的第一個突破點，然後以此去接觸更多好的VPN供應商，例如ProtonVPN（純粹個人選擇，沒有工商服務）。品蔥和Proton公司都有支援反共活動家的紀錄，所以值得信任。\n我不敢自誇自己的文章價值能跟「編程隨想」比擬，尤其我針對突破網路封鎖、對抗審查，以及背後價值論述的文章著墨甚少。\n但未來若成氣候，我應會在Github建立鏡像網站，用純文字備份自己的文章。或是開放部落格的原始碼儲存庫，方便製作成PDF傳播。使網路受到封鎖的人士也能查看我寫的文章。\n","date":"2023年6月24日","externalUrl":null,"permalink":"/posts/my-website-got-blocked-in-china/","section":"Politics","summary":"有加入中國國民黨的年輕人曾說，公開政治傾向，可能會比出櫃還讓他人難受。當什麼都要扯到政治的時候，就會被說是「政治露陰癖」。甚至、基於基本人權的表達權利，也會被當作不可忍受的。\n根據Bilibili網友的回報，大約是今年6月的時候，這個網域ivonblog.com就被牆了，中華人民共和國國內無法存取，中華民國國內可以存取。\n花了一年時間才被牆。\n早就料到會有這種情況發生，要牆我的理由太多了，潛藏在為數眾多的科技文章中間的，有色情內容，以及政治不正確的言論。5月~6月的時候，還在部落格首頁高掛紀念六四事件的看板。 A Great Day For Freedom # 儘管對不起中國網友，他們只是要看影片的教學課程，就得多一道翻牆手續，不過這也代表不用再擔心引用素材要不要考量中國網友的感受了。\n以前我為了照料看不到Imgur圖片的中國網友，加入偵測圖片載入失敗的提示。或是在介紹Termux、E-Hentai的文章，提醒中國人要換源。\n我看過很多中國人寫的教學博客，他們有八成都是待在中國國內寫的，為此會給資源連結貼心標注「國內需魔法才能連」。這對自由世界的人民來說是很不可思議的，就算是地域限制，台灣弄個VPN也不違法。\n翻牆本應是突破網路封鎖的意涵，卻也有人把掛VPN到中國也講成翻牆（為了看區域限制的影劇），我也是流汗黃豆。現在有新一代的中國網友真的以為牆是雙向的耶，區域限制跟干涉網際網路自由的GFW哪能算一回事。 ","title":"成就解鎖，本部落格終於被中國GFW牆了","type":"politic"},{"content":" これは愚痴文(rant)である。Linux Redditコミュニティに時々出てくる文体だ。\n現在使っているシステムはArch LinuxとUbuntu 22.04。\n私は時々、コンピューターで遊んだり、開発以外の用事を少しやりたいだけなら、Linuxデスクトップシステムを使うことは自分を苦しめることだと感じる。\nまず一曲聴こう 1. AndroidとChromeOSの場合 # 暇なとき、私はAndroid公式サイトのトップページを見に行く。そこには「Android、さまざまな可能性に挑み続けるプラットフォーム」と書かれている。この言葉は確かに正しい。 AndroidとChromeOSを広義のLinuxシステムに数えるなら、彼らは確かに本当に最高のLinuxグラフィカルインターフェースディストリビューションである。 「Androidは最高のLinuxグラフィカルインターフェースディストリビューション」という暴論は、もともと知乎で見た、気の利いた回答だった。私たちが少し広く考えるなら、どうやら本当にそうらしい。\nとても悔しいが、本当に言わなければならない。多くのLinuxディストリビューションで遊んだ後、同じ自由ソフトウェアであるにもかかわらず、Androidのグラフィカル化は一般的なデスクトップLinuxディストリビューションより汎用的で、タッチ操作では敵なし、タブレットにキーボードを接続してもまだいけると感じた。GoogleはさらにChromeOSでAndroidのコンピューター方面の弱点を強化し、デスクトップで使えるシステムへ変えようとしている。\n今私が語っているAndroid体験は、Googleまたは第三者ROM開発者がサポートを提供するネイティブシステムを主とする。だから断片化や放置問題はない。\n私見では、AndroidのスタイルはすでにGoogleによって定型化され、異なるデバイスの解像度へ対応している。Material Youデザイン言語は最初こそ慣れないが、各種画面サイズに適応できるよい選択だ。\nそしてAndroid 12以後、以前のAndroid 5 ~ Android 11のようなgeekっぽいインターフェース感はもうなくなった\u0026hellip;Googleは確かに自分たちの美学を発展させた。 Linuxとして、AndroidはAPKでインストールパッケージ形式を統一し、一般ユーザーが簡単に使い始められるようにして、スマホを現代人が依存するものにした。\nAndroidで高度な開発ツールを動かすことも可能だ。たとえばAndroidでTermuxを動かせばデスクトップソフトウェアが使える。ChromeOSでCrostiniを動かせばLinuxコンテナがある。この種の開発環境はLinuxの強大な適応能力に基づいている。\nこうしてAndroidとChromeOSは、日常では簡単で使いやすく、高度な機能が必要なときにもツールの支援がある、高い伸縮性を持つシステムになった。\nAndroidがRootを外したことには、ある程度やむを得ない面もある。誰もがシステムファイルを勝手に触るべきではないからだ。そしてGoogleがROM焼きの道を完全に塞がないことも、開発者がAndroid機の改造を好む理由の一つだろう。とはいえ、Androidは自由ソフトウェアとしては糖衣毒薬であり、GoogleはGPLを回避してシステムへプロプライエタリソフトウェアを詰め込むことをよく分かっている。AndroidはGMSなしではとても苦しい。それでもAndroidはなおオープンソースの特質を残している。だから私はiOSの独断よりAndroidのほうが好きだ。\n将来AndroidとChromeOSの長所が統合されればよいのに。Fuchsia OSではなく、本当に万能のシステムで、必要に応じて変形し、タブレットがノートパソコンになり、折りたたみスマホが自動で変換するようなものだ。\nChromeOSの上限はやはりWindowsには及ばないが、それでもget things doneには十分だ。開発方面の作業にはやはり真の意味でのコンピューターシステムを使う必要があるかもしれない。そしてWindowsはクソではあるが、インターフェースの安定度は多くのLinuxディストリビューションよりなお勝っている。Windows 11の外皮変更によって質感もさらに良くなった。\n2. 多数のLinuxデスクトップディストリビューションの場合 # Linuxデスクトップディストリビューションが使いにくいというのは主観的な問題であり、その背後には多くの複雑な要因がある。\n多数のLinuxデスクトップディストリビューションは、グラフィカルインターフェースすらあまり成熟していない(polished)。ここでは一般人に最も適していると広く考えられているUbuntuを例に取ろう。 Ubuntuの話をしているが、実際には他のディストリビューションへの怨念も含まれている。\nUbuntu 22.04になっても、時々コマンドで用事を処理する必要がある。これは、極簡設計を採用しているのにデフォルトがかなり不自由なGNOMEと関係があるかもしれない。KDEはグラフィカルインターフェースで処理できる方式が比較的多い。\nではKDEに変えれば解決するのか？システム設定の調整について言えば、SUSE社が開発したYaSTツールをKDEと組み合わせても、なお中途半端に見える。なぜなら、それは依然としてコマンドラインを置き換えられないからだ。さらに傲慢なLinux古参ユーザーは、KDEにYaSTを合わせるくらいなら、自分でコマンドを打ってファイルを変更するほうが効率が高い、と言うだろう。\nこれが大きな問題の一つだ。Linuxユーザーは本当に、自分が何をしているのかを知らなければ、システムファイルを触れない！コンピューターを使うときに、ネットワーク管理者レベルの知識まで必要で、どのパッケージを入れるとシステムに影響しないかを知らなければならない。\n加えて各種Linuxソフトウェアの複雑なインストール（Snap、deb、Flatpak、AppImage、make install）があり、第三者リポジトリを追加しなければならないかもしれず、APPのデザイン言語も一致しない（GTK、QT、Electron）。これによりUbuntuはなおそれほど親切ではない。\nUbuntuが一般人向けデスクトップシステムとして推薦される場合、しばしば「このシステムならあなたの壊れかけノートが蘇って動画を見られるよ」という宣伝の中に現れる。一方で、Windowsを置き換え、日常業務の汎用型システムとして使えると言う人はなかなかいない。Microsoft Officeなどのプロプライエタリソフトウェアのサポート不足は副次的な問題だと私は思う。上で述べたように、グラフィカルインターフェースだけでも成熟していないのに、ユーザー体験がよくなるはずがない。\n使いやすさで言えば、今のLinuxデスクトップディストリビューションは、動画を見るなど古いコンピューターを救う用途でさえ、ChromeOS Flexに追い越されかけている。\nプロプライエタリソフトウェアのサポートが悪い以外にも、Linuxコミュニティは時々内戦を起こす。Ubuntuは十分に謙虚ではないと砲撃され（Snapの強引な推進）、そしてコミュニティも影響力、商業サポート、使いやすさの面でUbuntuを超えるLinuxデスクトップディストリビューションを推し出せていない。\n各人が退屈な哲学を堅持し、大量のLinuxディストリビューションを分裂させる。多様性があるとはいえ、ある面ではLinuxコミュニティを砂の山のように散らばらせている。特にグラフィカル部分だ。私たちはユーザーの選択を重視しているんだ、ソフトウェアインターフェースが少し醜いくらい何の関係がある、嫌なら自分でforkしてコードを貢献しろ。\nLinuxデスクトップディストリビューションは自由ソフトウェアの哲学を本当に100%実践しているのか？妥協しているところは非常に多い！多くの人はLinuxでもクローズドソースゲームが遊べる、Wineソフトウェアが動くことを売りにしているではないか？ましてNvidiaは独断的な能力を握り、人々にプロプライエタリドライバーを使わせている。 Linuxを使う人は一般に手動でデバッグする能力を持つ必要がある。これは開発者やgeek体質の人にとっては適応できるはずだが、一般人は尻込みする。私はそれにJust Worksしてほしいのであって、コンピューターと腕相撲したいわけではない。Linuxを使うとき、本当に何も考えずに使うことはできない。\nUbuntuでさえこうなのだから、他のデスクトップディストリビューションはどうなのか。華やかな外見の下にはシステムエラーがぎっしり詰まっている。Hacker News上のある記事はこう言っている：Linux is a complete mess that may likely never get fixed DistroWatchのようなcookie clicker式の統計サイトに基づいて、新しいディストリビューションを試してみろと推薦する人が出るたびに、私はとてもげんなりする。実際にそれらのディストリビューションを使ってみると、新しい特色があるかもしれないし、単に外見が美しいだけかもしれない。だが誰がUbuntuを全面的に超えられるのか？No、ManjaroやFedoraですらまだ大きく及ばない。ああいうマイナーディストリビューションをどうして一般ユーザーに勧められるのか。貢献者が足りずダウンラインを引き込む必要があるなら先に言ってくれ。\nArch Linuxを勧める？私はただコンピューターで娯楽とオフィス作業を少ししたいだけなのに、システムをコマンドで処理する方法まで学ばなければならないのか？まして長い間更新しなければ戦々恐々とすることになる。Ubuntuの大バージョンアップデートは爆発するかもしれないし、ローリングリリースのアップデートはバージョン区切りがなくても同じように爆発しうる。\n影響力、商業サポート、使いやすさを論じれば、Ubuntuは現時点のデスクトップ版Linuxにおいて、最も悪くない選択肢でしかない。\n3. よいグラフィック、よい端末 # 上で述べたAndroidとChromeOSの開発ツールを合わせると、これが彼らが多数のLinuxデスクトップディストリビューションに勝っている特徴だ：\n一般的な状況では快適に使え、娯楽にも問題がない 開発ツールを動かすには少し頭を使えばよい。一方で一般的なLinuxデスクトップディストリビューションのように、日常使用までOS開発をしているかのように慎重になる必要はない。 ChromeOSがなおコンピューターシステムらしくないなら、Windowsを使えばよい。\nWindowsは近年サブシステムを出し始めた。もしかすると、このような複合型OSの潮流に迎合したいのかもしれない。Linuxは素晴らしい。私たちはそれを統合し、引き続き私たちの良質なグラフィカルインターフェースを使おう。本当に必要なときだけコマンドを使い、娯楽と開発を両立させる！Visual Studio CodeとWSL Dockerの組み合わせを、多くの人が称賛している。\nmacOSについて私はあまり詳しくないが、その立場はWindowsとLinuxの中間に挟まっていると思う。Windowsほど汎用的ではなく、Linuxほど自由でもなく、さらにハードウェアに縛られている（Hackintoshを考慮しない場合）。私はよいOSの選択肢ではないと思う。\nこう見ると、一般的なLinuxはやはり純テキストインターフェースのときだけ最強なのだろうか。Linuxは端末の中で黙々とよい仕事ができる。グラフィカルインターフェースを開かなければ、すべてはうまくいく。\n私たちは先によいグラフィカルインターフェースを持ってから、開発などの利点を語るべきではないのか？ KDEはすでにLinuxトップクラスのデスクトップ環境の一つだが、それでもまだ足りない。\n娯楽と開発を兼ね備えたデバイスが欲しいなら、やはりAndroid、ChromeOS、Windowsシステムを主に使うのが一番だろう。LinuxはFreeBSDと同じく、端末の中にいろ。\n\u0026hellip;まあいい。今のところデスクトップシステムは引き続きArch Linuxを使う。私の使用習慣はすでにLinuxサービスに縛られているので、一日中システム更新さえしなければ、しばらくは安心して使える。\n","date":"2023年6月24日","externalUrl":null,"permalink":"/ja-jp/posts/rant-about-linux-desktop/","section":"Foss-Issues","summary":" これは愚痴文(rant)である。Linux Redditコミュニティに時々出てくる文体だ。\n現在使っているシステムはArch LinuxとUbuntu 22.04。\n私は時々、コンピューターで遊んだり、開発以外の用事を少しやりたいだけなら、Linuxデスクトップシステムを使うことは自分を苦しめることだと感じる。\nまず一曲聴こう 1. AndroidとChromeOSの場合 # 暇なとき、私はAndroid公式サイトのトップページを見に行く。そこには「Android、さまざまな可能性に挑み続けるプラットフォーム」と書かれている。この言葉は確かに正しい。 AndroidとChromeOSを広義のLinuxシステムに数えるなら、彼らは確かに本当に最高のLinuxグラフィカルインターフェースディストリビューションである。 「Androidは最高のLinuxグラフィカルインターフェースディストリビューション」という暴論は、もともと知乎で見た、気の利いた回答だった。私たちが少し広く考えるなら、どうやら本当にそうらしい。\nとても悔しいが、本当に言わなければならない。多くのLinuxディストリビューションで遊んだ後、同じ自由ソフトウェアであるにもかかわらず、Androidのグラフィカル化は一般的なデスクトップLinuxディストリビューションより汎用的で、タッチ操作では敵なし、タブレットにキーボードを接続してもまだいけると感じた。GoogleはさらにChromeOSでAndroidのコンピューター方面の弱点を強化し、デスクトップで使えるシステムへ変えようとしている。\n","title":"Androidは最高のLinuxディストリビューション？Linuxデスクトップディストリビューションへの怨念","type":"foss-issues"},{"content":" 參照網友分享的。\n只要有飛機杯，再利用手邊的工具，即可製作專門用於後背位抽插（腰振りオナニー，onahole mount）的飛機杯砲架，不另外花錢！ 搭好砲架固定後，再搭配Cardboard VR+藍芽耳機，享受在幹飛機杯同時，宛如真的從後面幹女人的樣子。 為什麼不買專門砲架呢 # 是的瑞凡，網路有做出屁股和腳結構的大型飛機杯，最便宜也才一二千台幣而已，有些還是小穴專門挖空給你放飛機杯的砲架呢。挖洞抱枕、充氣娃娃不好嗎？\n但是，使用手邊材料搭建，宛如好折凳，可藏砲架於無形！相較於飛機杯，大型玩具不方便藏。而臨時搭建的砲架，就像帳篷一樣能夠隨處拆遷！\n1. 枕頭基本款 # 材料： 二個硬枕頭，一個小枕頭，二條皮帶，旋轉椅，毛巾\n將二個枕頭水平重疊，對折彎曲成ㄇ字型\n在枕頭下放空隙塞入小枕頭。此時上面應該只留一個不大的縫隙。\n然後使用皮帶水平的將枕頭捆緊，上下各一條\n將飛機杯用毛巾捲起，增加厚度，塞到上方空隙。\n這樣把整組砲架放到適合自己身高的椅子上，就可以開幹了。\n如果跪著放在床上也行。考慮這樣角度較低，幹起來可能會像這樣。 2. 枕頭進階款 # 材料：一個小枕頭，二條皮帶，三角形坐墊\n到家具店買這種三角形坐墊： 並且底部有開口的，這樣就可以塞飛機杯了！\n如果你能找到底部有開口的布偶那也是可以當砲架。\n這種甜甜圈形狀的抱枕亦適合塞飛機杯。 三角形坐墊的形狀看起來跟女性屁股有87%像，比起枕頭更容易成形，並且縫隙比較緊，飛機杯比較不會跑掉。\n參照上一節，同樣使用皮帶上下將砲架捆起來，將飛機杯固定之後，站起來用力開幹！ 參考資料 # 【セックスの練習】腰振りオナニーにつかえるオナホール固定方法５選+２ 買了傳說中的宜得利砲架還需要買什麼求攻略 - Komicolle Anyone use a mount of some sort to hold your onahole? - Reddit ","date":"2023年6月24日","externalUrl":null,"permalink":"/posts/diy-onahole-mount/","section":"Nsfws","summary":" 參照網友分享的。\n只要有飛機杯，再利用手邊的工具，即可製作專門用於後背位抽插（腰振りオナニー，onahole mount）的飛機杯砲架，不另外花錢！ 搭好砲架固定後，再搭配Cardboard VR+藍芽耳機，享受在幹飛機杯同時，宛如真的從後面幹女人的樣子。 為什麼不買專門砲架呢 # 是的瑞凡，網路有做出屁股和腳結構的大型飛機杯，最便宜也才一二千台幣而已，有些還是小穴專門挖空給你放飛機杯的砲架呢。挖洞抱枕、充氣娃娃不好嗎？\n但是，使用手邊材料搭建，宛如好折凳，可藏砲架於無形！相較於飛機杯，大型玩具不方便藏。而臨時搭建的砲架，就像帳篷一樣能夠隨處拆遷！\n1. 枕頭基本款 # 材料： 二個硬枕頭，一個小枕頭，二條皮帶，旋轉椅，毛巾\n","title":"如何低成本組建後背位飛機杯砲架","type":"nsfw"},{"content":"在自架服務的時候，我很疑惑為何不用設定UFW規則就能從外部網路存取，後來發現Docker跟UFW是衝突的，Docker會無視UFW的設定逕行開放通訊埠。這篇文章記錄如何整合二者一起使用。\nDocker版本：28.3.2 UFW版本：0.36.2 1. 問題來源 # UFW為Ubuntu和Debian系發行版預設使用的防火牆前端。Docker會繞過UFW自行建立iptables規則，因此導致UFW設定的規則失效，變成外部網路能直接存取Docker容器開放的通訊埠。\n這會造成安全性問題，比方說用docker-compose跑Nextcloud，會導致除網頁界面外，連資料庫容器的通訊埠跟著暴露到公開網路，之後再用UFW封鎖是無效的。\n若是編輯/etc/docker/daemon.json，把Docker自動調整iptables的功能關閉會使問題更複雜，Docker容器無法對外連線，要手動設定規則。\n另一個選項是放棄UFW，改用與Docker相性較好的Firewalld。但\u0026hellip;那個是Redhat和SUSE系在用的。\n因此我們還是想辦法整合UFW和Docker吧，讓UFW負責管理整個網路和Docker的連線規則。\n2. Docker配合UFW運作的解決方法 # 現代問題需要現代手段，使用chaifeng撰寫的ufw-docker指令稿能解決這問題。他的Github有詳細原理解釋，這邊直接講解法。\n如果已經修改過/etc/docker/daemon.json停用iptables，請將相關段落刪除。\n編輯/etc/default/ufw，將DEFAULT_FORWARD_POLICY=\u0026quot;ACCEPT\u0026quot;修改為DEFAULT_FORWARD_POLICY=\u0026quot;DROP\u0026quot;。\n安裝作者的指令稿，修改UFW設定檔，再重啟UFW與Docker服務。\nsudo wget -O /usr/local/bin/ufw-docker https://github.com/chaifeng/ufw-docker/raw/master/ufw-docker sudo chmod +x /usr/local/bin/ufw-docker sudo ufw-docker install sudo systemctl restart ufw sudo systemctl restart docker 在採用chaifeng的指令稿後，來看實際例子學習新的UFW管理方式。\n現在這裡有個容器，它將容器內部的8080 TCP通訊埠映射到宿主機的8081 TCP通訊埠：\n8f4q1aqia searxng/searxng:latest \u0026#34;/sbin/tini -- /usr/…\u0026#34; 2 hours ago Up 2 hours 0.0.0.0:8081-\u0026gt;8080/tcp, :::8081-\u0026gt;8080/tcp searxng 因為上面的指令稿使用了ufw-user-forward規則，UFW擋住了所有外部連線，我們就得分別開啟「容器的8080 TCP通訊埠」和「宿主機的8081 TCP通訊埠」： # 查看幫助 sudo ufw-docker help # 開放容器通訊埠 sudo ufw-docker allow \u0026#34;容器名稱或UUID\u0026#34; 8080/tcp # 開放宿主機通訊埠 sudo ufw allow 8081/tcp # 重新載入UFW sudo ufw reload # 重啟Docker服務 sudo systemctl restart docker 這樣子外部網路能存取此容器，該容器也能對外連線了，由UFW接管Docker的連線規則。\n如果仍有容器的通訊埠能繞過UFW存取，那麼請重開機試試。\n3. 如何移除ufw-docker指令稿 # 編輯/etc/ufw/after.rules，將# BEGIN UFW AND DOCKER至# END UFW AND DOCKER之間的規則移除。\n移除指令稿\nsudo rm /usr/local/bin/ufw-docker 重開機。 ","date":"2023年6月19日","externalUrl":null,"permalink":"/posts/fix-ufw-docker/","section":"所有文章","summary":"在自架服務的時候，我很疑惑為何不用設定UFW規則就能從外部網路存取，後來發現Docker跟UFW是衝突的，Docker會無視UFW的設定逕行開放通訊埠。這篇文章記錄如何整合二者一起使用。\nDocker版本：28.3.2 UFW版本：0.36.2 1. 問題來源 # UFW為Ubuntu和Debian系發行版預設使用的防火牆前端。Docker會繞過UFW自行建立iptables規則，因此導致UFW設定的規則失效，變成外部網路能直接存取Docker容器開放的通訊埠。\n這會造成安全性問題，比方說用docker-compose跑Nextcloud，會導致除網頁界面外，連資料庫容器的通訊埠跟著暴露到公開網路，之後再用UFW封鎖是無效的。\n若是編輯/etc/docker/daemon.json，把Docker自動調整iptables的功能關閉會使問題更複雜，Docker容器無法對外連線，要手動設定規則。\n另一個選項是放棄UFW，改用與Docker相性較好的Firewalld。但…那個是Redhat和SUSE系在用的。\n因此我們還是想辦法整合UFW和Docker吧，讓UFW負責管理整個網路和Docker的連線規則。\n","title":"你知道Docker會讓Linux的UFW防火牆失效嗎？用ufw-docker解決此問題","type":"posts"},{"content":"如果本機執行的Docker服務一多，用指令管理便嫌瑣碎。\n比如，一次要啟動多個聯袂的容器服務，我們會寫一個docker-compose，再用docker compose up指令一次全部跑起來吧？\n但要是docker-compose的檔案有很多個呢？每個服務都有自己依賴的子服務要跑，整天在那邊cd來cd去都煩死了！\n這個時候，「Portainer」就是您的好幫手，這是一款由Portainer公司推出的圖形化解決方案。 可以用網頁界面控制現有的Docker容器、監測容器運作狀況、撰寫docker-compose、多帳號存取，還能一鍵刪除用不到的映像檔，大幅減少輸入指令的次數。\n如果您已經熟悉用指令部署Docker服務，那麼Portainer絕對能讓您事半功倍。\nIvon認為Portainer最好用的功能是「Stacks」，也就是網頁版的Docker-compose，寫好後按一下就可以部署上線/下線，還有美美的UI能夠一覽目前正在跑的服務。 Portainer適合需要管理多重容器的使用者。從Portainers的圖示也可以看出背後含意：讓Portainer(起重機)幫Docker容器裝箱！ 話雖如此，您還是要懂一些終端機的Docker指令以備不時之需，不是所有狀況都能用Portainer的圖形界面處理。\n1. 安裝Portainer # Portainer作為商業產品，分成閉源「商業版(BE)」與開源「社群版(CE)」，功能有差。\n商業版可申請3個運算節點的使用授權，在那之後就得付費購買。\n如果您可以忍受網頁不時出現的「此功能僅限商業版」廣告，那麼裝社群版功能足矣。\n在Linux系統安裝Docker，並將一般使用者加入Docker群組。\n確認您的Linux電腦符合Portainer的系統需求\n建立Docker-compose檔案\nmkdir ~/portainer cd portainer vim docker-compose.yml 填入以下內容。其中- 9000:9000可以去掉，因為這是用無加密HTTP存取Portainer的通訊埠。除非您的環境不允許不安全的憑證，否則不要用https://localhost:9000連線到Portainer網頁界面。 version: \u0026#34;3\u0026#34; services: portainer: container_name: portainer image: portainer/portainer-ce:latest ports: - 8000:8000 - 9443:9443 - 9000:9000 volumes: - data:/data - /var/run/docker.sock:/var/run/docker.sock restart: always volumes: data: 啟動服務 docker compose up -d 瀏覽器開啟https://localhost:9443，進入Portainer管理界面（注意是HTTPS，Portainer有自簽SSL憑證，點選允許不安全的連線），註冊一個admin帳號。 2. Portainer網頁管理界面 # 在登入Portainer後，點選Get Started 主畫面面板即會顯示本機的容器服務狀態，包含本機映像檔、執行中的容器、Stacks(Docker-compose)資訊。 針對需要騰出空間的使用者，「Containers」和「Images」頁面就能協助您清理，它會自動標記沒用到的映像檔。 在Images頁面還可以撰寫Dockerfile，建置自訂映像檔。 當容器在部署過程出錯時，從網頁界面就能看到錯誤log。你也可以點旁邊Quick Action，點docker exec進入容器的shell。 3. 了解Stacks頁面的用法 # 「Stacks」頁面就是管理docker-compose的地方，我認為這是Portainer最方便的功能，光這個界面就能用網頁寫好多個docker-compose.yml再立即部署。 點選Add Stack，進入Web Editor，填入Docker-compose內容（也可以從Git儲存庫拉取），再按下Deploy the stack，它就會自動拉取映像檔，完成部署。 欲停止docker-compose服務，點選Stop this Stack。\n如果要一次更新所有映像檔（類似docker compose pull）：在Web Editor點選Update the stack便會順便更新映像檔，\n你也可以跑WatchTower自動更新映像檔。\n在安裝Portainer前就已經啟動的docker-compose容器，Portainer對其的控制權限會受限(Control: Limited)。您必須先用docker compose down指令關閉，再轉由Portainer啟動容器。 此外撰寫docker-compose時，映射主機到容器的volume需填寫硬碟的絕對路徑，不建議用./。若有使用到.env檔案也需手動上傳，敬請參閱Portainer官方文件。\n4. 備份Portainer資料 # 要備份Portainer的資料，在網頁界面點選左側的Settings，按Download backup file，存成壓縮檔，這樣重裝的時候就可以還原。 或者可以直接複製/var/lib/docker/volumes/portainer_data的目錄到其他地方，要還原的話再把它移動回原位。\n5. 透過手機APP存取Portainer # Portainer的界面以電腦版網頁為主，手機版不方便操作。\n這時可以用第三方開發的程式管理，Android請用Portarius，iOS用Harbour\nPortarius開啟後輸入Portainer的IP位址和使用者帳號，即可查看Portainer的服務。 ","date":"2023年6月18日","externalUrl":null,"permalink":"/posts/portainer-installation/","section":"所有文章","summary":"如果本機執行的Docker服務一多，用指令管理便嫌瑣碎。\n比如，一次要啟動多個聯袂的容器服務，我們會寫一個docker-compose，再用docker compose up指令一次全部跑起來吧？\n但要是docker-compose的檔案有很多個呢？每個服務都有自己依賴的子服務要跑，整天在那邊cd來cd去都煩死了！\n這個時候，「Portainer」就是您的好幫手，這是一款由Portainer公司推出的圖形化解決方案。 可以用網頁界面控制現有的Docker容器、監測容器運作狀況、撰寫docker-compose、多帳號存取，還能一鍵刪除用不到的映像檔，大幅減少輸入指令的次數。\n如果您已經熟悉用指令部署Docker服務，那麼Portainer絕對能讓您事半功倍。\nIvon認為Portainer最好用的功能是「Stacks」，也就是網頁版的Docker-compose，寫好後按一下就可以部署上線/下線，還有美美的UI能夠一覽目前正在跑的服務。 Portainer適合需要管理多重容器的使用者。從Portainers的圖示也可以看出背後含意：讓Portainer(起重機)幫Docker容器裝箱！ 話雖如此，您還是要懂一些終端機的Docker指令以備不時之需，不是所有狀況都能用Portainer的圖形界面處理。\n","title":"用網頁圖形化界面管理Docker容器 ~ Portainer安裝教學，一鍵啟動docker-compose、管理image","type":"posts"},{"content":"使用ZeroTier和Docker自架服務，就會遇到需要輸入http://裝置IP:通訊埠的狀況，有時候記不起IP，還要開瀏覽器歷史紀錄查詢。\n既然記IP太麻煩，不如給ZeroTier使用自訂域名(custom domain)吧，只要運用DNS的A紀錄即可。\n再也不用記住IP(如172.30.111.1)，只要輸入英文域名(如self.example.com)就可以連線到遠端的服務。\n但其實本文談的不是真正意義上的自訂域名\n在ZerotTier安裝一文說過原理，它只能建立全球虛擬區域網路，即使給域名DNS指向ZeroTier裝置IP，本機裝置還是得連上Zerotier網路才能正確解析目標位址。\n這樣也有好處，只有你，連上ZeroTier網路的人，才能存取這個網址。\n首先你要先買一個網域\n到系統後台，例如我是Cloudflare，新增A Record。這裡的「名稱」是域名的前綴字元，例如self.example.com，後面再填入要連線的Zerotier虛擬IP 這樣就完成了。 現在在裝置連上ZertoTier後，你就可以用網域http://self.example.com:8080連線到遠端服務！不用再輸入IP了。\n","date":"2023年6月18日","externalUrl":null,"permalink":"/posts/zerotier-custom-domains/","section":"所有文章","summary":"使用ZeroTier和Docker自架服務，就會遇到需要輸入http://裝置IP:通訊埠的狀況，有時候記不起IP，還要開瀏覽器歷史紀錄查詢。\n既然記IP太麻煩，不如給ZeroTier使用自訂域名(custom domain)吧，只要運用DNS的A紀錄即可。\n再也不用記住IP(如172.30.111.1)，只要輸入英文域名(如self.example.com)就可以連線到遠端的服務。\n但其實本文談的不是真正意義上的自訂域名\n在ZerotTier安裝一文說過原理，它只能建立全球虛擬區域網路，即使給域名DNS指向ZeroTier裝置IP，本機裝置還是得連上Zerotier網路才能正確解析目標位址。\n這樣也有好處，只有你，連上ZeroTier網路的人，才能存取這個網址。\n首先你要先買一個網域\n到系統後台，例如我是Cloudflare，新增A Record。這裡的「名稱」是域名的前綴字元，例如self.example.com，後面再填入要連線的Zerotier虛擬IP 這樣就完成了。 現在在裝置連上ZertoTier後，你就可以用網域http://self.example.com:8080連線到遠端服務！不用再輸入IP了。\n","title":"既然ZeroTier記IP太麻煩，不如使用自訂域名","type":"posts"},{"content":"Luanti (Minetest) 為自由開源的方塊沙盒遊戲，支援Linux/Android/Windows/MacOS/iOS/FreeBSD系統，以LGPL授權釋出。 1. Luanti硬體需求 # 在不開光影著色器情況下，Luanti的硬體需求很低，是樹莓派都能跑得動的程度：\n最低需求 系統 Ubuntu 20.04, Windows 10, macOS 10.14, Android 5.0 RAM 512MB CPU 任一x86/ARM/RISC-V/PowerPC架構的處理器 硬碟空間 512MB 如果您需要開光影著色器改善畫質，那麼建議使用配備獨立顯示卡Nvidia GTX1050Ti以上等級的電腦遊玩，才不會lag。（撰文當下Android版尚不支援光影著色器）\n2. 安裝Luanti遊戲主程式 # 2.1. Linux # 儘管各大Linux發行版都有收Luanti套件，不過這裡我推薦用Flatpak安裝，這樣所有發行版裝的都會是最新版：\nflatpak install flathub org.luanti.luanti 如果您需要最新測試版，請使用An0n3m0us提供的AppImage或者手動編譯\n2.2. Windows # 至官網下載Luanti -版本號碼-portable, 64-bit64位元版的主程式。\n解壓縮會得到luanti-版本號碼-win64遊戲資料夾，點選bin資料夾下的luanti.exe開始遊戲。\nWindows版Luanti為可攜式軟體，您可以將遊戲資料夾放到任意路徑執行。\n2.3. macOS # 至官網下載Luanti 版本號碼 - App 的主程式，點選安裝APP。\n您也可以用套件管理員安裝：\nbrew install minetest 2.4. FreeBSD # 透過官方套件庫安裝\npkg install minetest 2.5. Android # Luanti的APK可在Google Play或F-Droid取得。\n2.6. iOS # 原版Luanti的授權條款是LGPL，無法在App Store上架。\n您可以考慮採用Multicraft客戶端進行遊戲。它是Luanti的分支版，相容Minetest的伺服器，但是含有廣告。\n3. Minetest遊戲資料位置 # 系統 路徑 Linux Flatpak版：~/.var/app/org.luanti.luanti/.minetest 預設：~/.minetest Windows 遊戲主程式與資料含在luanti-版本號碼-win64資料夾裡。 macOS ~/.minetest FreeBSD ~/.minetest Android 內部儲存空間/Android/data/net.minetest.net/files/Minetest 由於Android安全性政策的關係，您可能需要電腦或Total Commander才能存取遊戲資料夾，參見此篇：Android files have moved; How to access mods/worlds/etc on Android\n4. 安裝之後要做什麼？ # 請閱讀Luanti新手攻略教學\n","date":"2023年6月18日","externalUrl":null,"permalink":"/posts/minetest-installation/","section":"Luantis","summary":"Luanti (Minetest) 為自由開源的方塊沙盒遊戲，支援Linux/Android/Windows/MacOS/iOS/FreeBSD系統，以LGPL授權釋出。 1. Luanti硬體需求 # 在不開光影著色器情況下，Luanti的硬體需求很低，是樹莓派都能跑得動的程度：\n最低需求 系統 Ubuntu 20.04, Windows 10, macOS 10.14, Android 5.0 RAM 512MB CPU 任一x86/ARM/RISC-V/PowerPC架構的處理器 硬碟空間 512MB 如果您需要開光影著色器改善畫質，那麼建議使用配備獨立顯示卡Nvidia GTX1050Ti以上等級的電腦遊玩，才不會lag。（撰文當下Android版尚不支援光影著色器）\n2. 安裝Luanti遊戲主程式 # 2.1. Linux # 儘管各大Linux發行版都有收Luanti套件，不過這裡我推薦用Flatpak安裝，這樣所有發行版裝的都會是最新版：\nflatpak install flathub org.luanti.luanti 如果您需要最新測試版，請使用An0n3m0us提供的AppImage或者手動編譯\n2.2. Windows # 至官網下載Luanti -版本號碼-portable, 64-bit64位元版的主程式。\n解壓縮會得到luanti-版本號碼-win64遊戲資料夾，點選bin資料夾下的luanti.exe開始遊戲。\nWindows版Luanti為可攜式軟體，您可以將遊戲資料夾放到任意路徑執行。\n","title":"開源方塊遊戲《Luanti》安裝教學","type":"luanti"},{"content":"介紹幾個強制旋轉手機螢幕的APP，免Root權限。\n什麼情境需要用到強制旋轉手機螢幕的APP：\n希望某一APP能強制以直立或橫向模式運作 Android手機重力感應器損壞，無法自動旋轉螢幕 電腦Android模擬器需要強制轉向螢幕，例如Waydroid、ReDroid、Android-x86 我屬於第二個情況，手上的小米Poco F1無法旋轉螢幕，日常使用如果遇到要照相豁開遊戲，就必須用強制旋轉螢幕的APP將螢幕打橫。\n1. Screen Orientation Control by OHMAE Ryosuke # OHMAE Ryosuke開發的開源軟體，原始碼位於Github，不過APP只有在Googl Play上架，內含廣告。 特色為在狀態欄常駐控制旋轉螢幕的面板，分為直立、向左旋轉、180度顛倒、向右旋轉。 還可以將狀態欄圖示設定為透明(transparent)，這樣就不會那麼礙眼了。\n支援給個別APP設定旋轉方向，或是依照特定條件觸發旋轉。 2. Rotation Control by CrapeMyrtle # Rotation Control是由CrapeMyrtle開發的專有軟體。 Google Play有很多這種APP，但只有這個沒廣告，且功能簡單直白、下載次數最多。可惜這個APP支援Android版本太老，Google Play無法下載，要到Apkmirror找APK。目前Android 13還可以裝。\n安裝後開啟APP，點選Start controlling rotation，取得顯示在其他應用程式上方的權限，再勾選開機自動啟動(Start on boot)。 即會在狀態欄常駐旋轉控制的面板 由左到右依序是\n盾牌：禁止其他應用程式改變螢幕方向。此選項會導致有些本來就是橫畫面的APP失效，建議關閉。 自動旋轉模式 直立畫面 直立畫面（180度翻轉） 直立畫面（感測器自動旋轉模式） 橫向畫面 橫向畫面（180度翻轉） 橫向畫面（感測器自動旋轉模式） 3. Orientation Manager by Pranav Pandey # 如果需要強制個別APP啟動後自動旋轉，可以裝Rotation｜Orientation Manager，支援懸浮視窗強制旋轉螢幕、個別APP設定規則旋轉、配合Tasker條件觸發旋轉。\nOrientation Manager為Pranav Pandey開發的專有軟體，免費使用但有廣告，需要花100台幣解鎖完整版。 開啟後需啟用無障礙服務的權限，並讓服務保持在背景運作。\nAPP主畫面用於強制旋轉螢幕，若要用浮動視窗旋轉請購買完整版。 下面有一個「應用程式方向」的設定，勾選啟用 在此畫面即可個別設定APP開啟時螢幕的方向。如果要跟上文提及的Rotation Control配合使用，請記得關閉其盾牌圖示。 如果預設是直向畫面，APP開啟後Orientation Manager會自動將螢幕打橫，返回桌面後又會變回直向畫面。 Orientation Manager還可以設定螢幕旋轉的活動優先級，例如有來電時便回復直向螢幕。 如果不想在通知欄看到「Rotation服務正在執行」的提示，對其長按，將通知關閉。\n","date":"2023年6月18日","externalUrl":null,"permalink":"/posts/android-force-rotate-screen-apps/","section":"所有文章","summary":"介紹幾個強制旋轉手機螢幕的APP，免Root權限。\n什麼情境需要用到強制旋轉手機螢幕的APP：\n希望某一APP能強制以直立或橫向模式運作 Android手機重力感應器損壞，無法自動旋轉螢幕 電腦Android模擬器需要強制轉向螢幕，例如Waydroid、ReDroid、Android-x86 我屬於第二個情況，手上的小米Poco F1無法旋轉螢幕，日常使用如果遇到要照相豁開遊戲，就必須用強制旋轉螢幕的APP將螢幕打橫。\n1. Screen Orientation Control by OHMAE Ryosuke # OHMAE Ryosuke開發的開源軟體，原始碼位於Github，不過APP只有在Googl Play上架，內含廣告。 特色為在狀態欄常駐控制旋轉螢幕的面板，分為直立、向左旋轉、180度顛倒、向右旋轉。 還可以將狀態欄圖示設定為透明(transparent)，這樣就不會那麼礙眼了。\n支援給個別APP設定旋轉方向，或是依照特定條件觸發旋轉。 2. Rotation Control by CrapeMyrtle # Rotation Control是由CrapeMyrtle開發的專有軟體。 Google Play有很多這種APP，但只有這個沒廣告，且功能簡單直白、下載次數最多。可惜這個APP支援Android版本太老，Google Play無法下載，要到Apkmirror找APK。目前Android 13還可以裝。\n","title":"強制旋轉螢幕APP，解決Android手機無法自動旋轉問題","type":"posts"},{"content":"宛如罷工一般，我常看的英文/簡中社區，Reddit，爆發了大規模抗議，導致許多人受影響。在抗議期間一般使用者受到激烈衝擊，我無法當屋頂上的韓國人，只能看中文sub度日。\n圖片來自Know Your Meme\n1. Reddit blackout抗議事發經過 # 2023年4月，Reddit公司宣布，為應對科技公司用網路資料訓練AI的風潮，決定在2023年7月起對該網站的官方API收費，以量計價，開價十分昂貴。\n幾個月後，Reddit就把站上的資料賣給Google公司訓練AI了：Exclusive: Reddit in AI content licensing deal with Google - Reuters\n消息一出，許多第三方Reddit APP的開發者紛紛表示他們負擔不起，有開發者說一年可能要付2000萬美元，若官方執意實行他們就只好收攤。部分Redditor也表達不滿，他們認為官方Reddit APP很難用，且一旦API收費，就無法再使用無廣告的第三方APP了。\nReddit第三方app列表\n除此之外，Reddit各看板(subreddit)的板主(moderator)亦表達了不滿。他們很多都依賴第三方工具來管板，例如自動機器人(bot)，負責po版規、自動刪文、保存文章等。一旦Reddit API開始收費，這些工具很可能會失效。\n於是，許多Reddit看板串連起來，在2023年6月12~14日二天，發起熄燈抗議(blackout)。他們將看板設為私人，或說隱板，使外人無法存取。有些甚至連subscriber都無法進入。\nRedditor製作的抗議文宣如下 根據統計，短短二天內Reddit全站就有四分之三的看板加入熄燈抗議。抗議當天Reddit首頁一時無法顯示動態，因為一堆看板都進不去了（你一個帳號不可能訂閱全部看板吧），只剩寥寥可數的超大型看板（例如r/all）仍處於開放狀態。\nReddit公司CEO已出面回答，但絲毫沒有要退讓的意思。\n結果就是，CEO每篇貼文都被Redditor噓爆 貼文下面不乏購買Reddit Premium服務使用者的嗆聲 Reddit官方聲稱本就沒有支援第三方APP，還威脅要拔掉那些持續隱板抗議的板主職位。\n在抗議日過後，有些Reddit看板板主看完CEO回答更火大，決定無限期延長blackout抗議，直到Reddit公司願意繼續溝通。\n部分Redditor則是移民到Lemmy.ml這類新的聯邦宇宙社群網站。有人甚至用Redact.dev這類工具大量刪除自己帳號過去的所有發言，徹底破壞Reddit貼文的殘餘價值。\n2. Reddit blackout事件的影響 # 有Redditor認為，關板對Reddit公司沒什麼傷害，但我覺得對一般使用者的問題可大了。Reddit的大規模隱板抗議，確實影響了Google搜尋資料的體驗。\n如果只用Reddit APP瀏覽看板，可能還感受不到blackout的氛圍，但如果是從Google搜尋進來的就GG了。\n現在要在網路找到有用的中文資料，我都會在關鍵字後面加上\u0026quot;ptt\u0026quot;、\u0026ldquo;巴哈姆特\u0026rdquo;、\u0026ldquo;dcard\u0026rdquo;、\u0026ldquo;知乎\u0026rdquo;。\n當下的世界，個人部落格似乎已抵擋不住媒體巨獸了，我希望找到人們真正在討論東西的網站，而不是充斥業配文章的自媒體，亦或十年前長蜘蛛網的論壇，或是看那些真假難辨的內容農場。\n同理，搜尋英文資料的時候，我多半會在關鍵字後面加上\u0026quot;reddit\u0026quot;，基本上從科學技術到日常感情大小事都會有人討論。這類真實性的文字內容，正是Reddit的價值所在。\n一篇探討為何人們在搜尋時會加上reddit的文章\n有時候某個軟體的Reddit討論板還會比官方論壇要多人參與，軟體有bug去Reddit問也能更快得到解答。\n我比較常看的英文Reddit看板主要有各Linux發行版的討論板、遊戲討論板、可愛小動物板、科技板、寫作技巧板、歷史板等等。這次blackout抗議中，這些看板幾乎都全關了，我的首頁只剩下比較小型的Linux發行版看板還開著。\nblackout抗議導致許多Google搜尋到的結果，點進去Reddit網頁只會看到「此看板為私人看板，我們正在抗議」的訊息，讓使用者體感不佳，尤其是臨時需要找資料和解決方法的人。您知道那種Google搜尋的說明文字剛好列出想要問題的解答，點進去卻看不到全文的痛苦嗎！又不是所有頁面都有頁庫存檔。\n更慘的是，手機版Reddit網頁只會顯示\u0026quot;You have no access to this\u0026quot;，不知道blackout抗議的人看到只會一頭霧水。\n3. Reddit中文社區對blackout事件的反應 # Reddit簡體中文社區御三家：神友(r/real_China_irl)、太監(r/China_irl)、鵝組(r/DoubanGooseGroup)。\n比較小的中文社區：r/saraba2nd、漢人r/hanren、膜乎r/mohu、自由鵝組r/LiberalGooseGroup、r/Taiwanese、r/Taiwanica、幽默之家r/Youmo、膠托邦r/geltopia、神奈川衝浪裏r/KanagawaWave、沒牛子r/noniuziTV、跑路聯盟r/iwanttorun等等。\n這次僅鵝組和偏阿卡林的r/saraba2nd有參與blackout抗議。所以在blackout抗議期間，我只好放棄英文看板，去看反華的r/real_China_irl，偶爾看太監區r/China_irl。\n儘管r/real_China_irl有迪友對抗議事件表達關注之情，卻也莫可奈何\u0026hellip;明明去年不兴说國內的白紙運動迪友都支持的說。唉，懷念前板主魚QQ主席。\n這時候就要拷打一下支性了：迪友仍有點不兴说，面對這種惡性權蛆事件，抗議都沒洋人積極，有人在r/real_China_irl呼籲加入抗議還被嗆左逼收收味。\n這裡有迪友的幽默評論：\n「谁说我們不在意的，我们的chonglangtv，quanlangtv，cltv，cltv8964，tztv不是全都参与了吗😄」\n哈哈，上述幾個看板，俗稱浪人八組，因為過去日常開盒屠支，所以都被Reddit站方封禁了。參見：記Reddit中文社區「冲浪TV」(r/chonglangTV)被封一事\n被Reddit封禁的神友，只得在站外「葱轮TV」和「右狗TV」繼續嘲諷Reddit權蛆。\n此次blackout抗議，Redditor是mostly peaceful，但\u0026hellip;雖說看反華sub解悶足矣，突然少了很多英文看板，覺得蠻空虛的。\n4. 到6/17為止的總結 # Reddit此次事件可能會撕裂社群，就跟罷工一樣，有些人挺Reddit官方，有些人則是同情一般使用者。\n如果抗議行動繼續的話，對現有的用戶而言，他們可能會被趕跑，跑去用其他社群網站，優質內容跟著流失。而關板抗議如果永遠不解封，則從Google等外部連結進來的新人看到文章都失效，便無法發掘到這個網站的價值，促使Reddit流失用戶。\n這也讓我們反思：現在的網友似乎太依賴中心化平台了。即使早期Reddit曾經有開源網站原始碼，我們還是不能對商業公司的平台過於信任。\n現在就看Reddit官方如何平息這場紛爭。\n想知道Reddit關於此事的最後處置，請看站方公告：Addressing the community about changes to our API\n一年後，許多參與抗爭的sub多半自行解除封印了。他們有的妥協，有的繼續維持封閉。此外，Reddit各個sub留下了許多用戶操作Redact.dev批次刪除工具後剩下的[deleted]留言，作為這次抗爭的歷史痕跡。\n","date":"2023年6月17日","externalUrl":null,"permalink":"/posts/the-impacts-of-reddit-blackout/","section":"所有文章","summary":"宛如罷工一般，我常看的英文/簡中社區，Reddit，爆發了大規模抗議，導致許多人受影響。在抗議期間一般使用者受到激烈衝擊，我無法當屋頂上的韓國人，只能看中文sub度日。\n圖片來自Know Your Meme\n1. Reddit blackout抗議事發經過 # 2023年4月，Reddit公司宣布，為應對科技公司用網路資料訓練AI的風潮，決定在2023年7月起對該網站的官方API收費，以量計價，開價十分昂貴。\n幾個月後，Reddit就把站上的資料賣給Google公司訓練AI了：Exclusive: Reddit in AI content licensing deal with Google - Reuters\n消息一出，許多第三方Reddit APP的開發者紛紛表示他們負擔不起，有開發者說一年可能要付2000萬美元，若官方執意實行他們就只好收攤。部分Redditor也表達不滿，他們認為官方Reddit APP很難用，且一旦API收費，就無法再使用無廣告的第三方APP了。\nReddit第三方app列表\n除此之外，Reddit各看板(subreddit)的板主(moderator)亦表達了不滿。他們很多都依賴第三方工具來管板，例如自動機器人(bot)，負責po版規、自動刪文、保存文章等。一旦Reddit API開始收費，這些工具很可能會失效。\n於是，許多Reddit看板串連起來，在2023年6月12~14日二天，發起熄燈抗議(blackout)。他們將看板設為私人，或說隱板，使外人無法存取。有些甚至連subscriber都無法進入。\n","title":"Reddit blackout大關板事件抗議給一般使用者帶來的不便","type":"posts"},{"content":"只要有Wifi，便可用「PairDrop」這個傳檔工具在電腦與手機、手機與手機之間無線傳輸檔案，沒有傳輸量限制，不需要安裝任何APP，純靠網頁瀏覽器就能傳檔。支援Linux/Windows/macOS/Android/iOS等各大作業系統。在Firefox和Chrome都能運作。\n在講PairDrop之前，我要要談談Snapdrop，它是PairDrop的前身。我覺得官方網站https://snapdrop.net一直以來好像不太穩，Snapdrop網站動不動就下線，不然就是沒反應，臨時想傳檔案都會不能用。最近Snapdrop的作者甚至把這個網站賣給一家名為LimeWire的奇怪公司了，跑出了一堆加密貨幣的詭異玩意，導致這個軟體失去了原本單純的功能。\n於是乎，我們就只好切換到Snapdrop的fork：「PairDrop」了，它的網站明顯比較穩定。除了繼承Snapdrop的優點之外，還加入了非Wifi網路也能傳檔的功能！ 由於只要有瀏覽器和Wifi連線就能用，我發現PairDrop這非常適合用在公用電腦傳檔案，不需要帶USB隨身碟。\n1. PairDrop原理與安全性 # PairDrop是由schlagmichdoch開發的自由軟體，fork自Snapdrop，原始碼位於Github。\n參考官方文件，PairDrop網頁伺服器可以自架。不過由於PairDrop連線的兩個裝置間預設只透過WebRTC傳輸檔案，不會經過第三方伺服器傳輸，我覺得自架伺服器是沒什麼太大的意義啦，直接用官網的網頁版本就好。\nPairDrop傳輸檔案有二種方法，分為「區域網路」與「代碼配對」。\n第一種區域網路即類似Snapdrop的用法，二部裝置必須位於同一個網路（例如Wifi）再用WebRTC協定傳檔案，傳輸速度取決於區域網路速度。在區域網路模式下，檔案純粹透過WebRTC協定進行點對點傳輸，全程加密，完全不會經過官方伺服器。\n第二種代碼配對方法則是為不同網路的裝置準備的，二部裝置不需要位於同一網路也能傳檔案。只要輸入雙方的代碼，PairDrop官方伺服器就幫二個裝置牽手配對，開始傳檔案，理論上這個方法速度比較慢。透過代碼配對的話，會先透過官方伺服器TURN協定繞過裝置NAT，將二個裝置配對連線，再傳送檔案，這過程也是全程加密的。官方伺服器僅負責讓裝置連線，無法得知傳送檔案的內容。\n如果您覺得PairDrop很有用，請考慮贊助開發者幫助支付主機費用。\n2. 如何使用PairDrop # PairDrop只要有瀏覽器就能用，同一網路下，開啟PairDrop網頁的人都會看到其他人的裝置。\n本節以電腦與手機互傳檔案為例。\n首先，開啟PairDrop網站：https://pairdrop.net\n在電腦瀏覽器開啟PairDrop，會顯示您的使用者名稱（隨機產生，點一下可改名） 在手機瀏覽器開啟PairDrop，即會看到電腦的使用者名稱，二者會自動配對。 如果您看不到另一部裝置，代表二個裝置不是在同一個網路下，請使用代碼配對模式：點選PairDrop右上角的「連結」符號，在彼此的螢幕輸入對方的代碼，進行配對。 成功配對後，點選另一個裝置的圓圈傳送檔案，檔案可多選。在傳送多個檔案的時候，PairDrop會自動將其壓縮成單檔。\n接收方必須先同意接收檔案(Accept) 檔案接收完成後就會自動下載了。 如果接收方是手機瀏覽器，還能夠按「Share」，方便Android與iOS用戶將檔案分享到其他APP。 ","date":"2023年6月13日","externalUrl":null,"permalink":"/posts/pairdrop-usage/","section":"所有文章","summary":"只要有Wifi，便可用「PairDrop」這個傳檔工具在電腦與手機、手機與手機之間無線傳輸檔案，沒有傳輸量限制，不需要安裝任何APP，純靠網頁瀏覽器就能傳檔。支援Linux/Windows/macOS/Android/iOS等各大作業系統。在Firefox和Chrome都能運作。\n在講PairDrop之前，我要要談談Snapdrop，它是PairDrop的前身。我覺得官方網站https://snapdrop.net一直以來好像不太穩，Snapdrop網站動不動就下線，不然就是沒反應，臨時想傳檔案都會不能用。最近Snapdrop的作者甚至把這個網站賣給一家名為LimeWire的奇怪公司了，跑出了一堆加密貨幣的詭異玩意，導致這個軟體失去了原本單純的功能。\n於是乎，我們就只好切換到Snapdrop的fork：「PairDrop」了，它的網站明顯比較穩定。除了繼承Snapdrop的優點之外，還加入了非Wifi網路也能傳檔的功能！ 由於只要有瀏覽器和Wifi連線就能用，我發現PairDrop這非常適合用在公用電腦傳檔案，不需要帶USB隨身碟。\n1. PairDrop原理與安全性 # PairDrop是由schlagmichdoch開發的自由軟體，fork自Snapdrop，原始碼位於Github。\n","title":"PairDrop，透過網頁Wifi傳檔案，Snapdrop替代品，免安裝軟體","type":"posts"},{"content":" 「你不在乎隱私權，因為你沒有什麼可隱瞞，這就好像在說，你不在乎言論自由，因為你無話可說。」\n本文為吹哨者愛德華史諾登的書《永久檔案》Permanent Record的閱讀心得，以及探討我們能夠採取什麼作法對抗極權監視。\n開始前來聽首：德弗札克第九號交響曲『來自新世界』第二樂章\n1. 《永久檔案》內容大綱 # 《永久檔案》是吹哨者愛德華·史諾登(Edward Snowden)於2019年出版的自傳，寫他小時候接觸電腦的過程，以及長大後到美國中情局(CIA)上班的故事。最後表達為何他要冒險向公眾揭露「稜鏡計畫」並逃亡至香港，乃至滯留俄羅斯至今。\n史諾登出生於1983年，那時個人電腦和網路正在興起，他透過父親電腦上網接觸網路世界，他很喜歡網路的匿名特質，換帳號就可以更改身份。青年時期甚至還在朋友的電腦公司工作過。\n2001年，美國發生911事件。史諾登疑似受到愛國主義感召，便決定加入美軍特種部隊，以期能報效國家。後來在訓練中受傷驗退，便改到CIA工作，成為政府的承包商。\n史諾登曾主動提出外派到中東地區的要求，但CIA只將他派往瑞士和日本，後來也跟美國國家安全局(NSA)的人有所接觸。在到處工作的同時，史諾登女友琳賽也得跟他到處搬來搬去。\n由於史諾登在CIA具有類似網路管理員的身粉，故能接觸到許多機密文件。外派到日本的時候，史諾登對其中一項計畫感到好奇，之後透過架設給CIA內部員工用的電子佈告欄伺服器，逐步挖出「稜鏡計畫」的機密。「稜鏡計畫」(PRISM)是NSA未經國會授權，濫權監控人民的計畫。舉凡電腦和手機的通訊，只要沒加密，NSA都能看得一清二楚，美國政府甚至還會在硬體層面加入監控機制，並強迫各大IT公司提供協助。\n原本稜鏡計畫是為了對付911事件的恐怖份子，但監控對象後來擴及到全美國人民，甚至美國的盟友也被監控。NSA內部甚至建立了一個搜尋引擎，只要點一下就能列出某人的通訊紀錄。\n這些蒐集到的資料將永久保存，成為「永久檔案」。\n史諾登知曉這份計畫之後，感到良心不安，加上NSA在美國國會說謊，CIA局長還大言不慚的說我們正在收集人民資料，所以史諾登花了幾年時間將許多機密文件從CIA辦公室帶出，並準備揭露給記者。根據史諾登說法，他將micro SD卡藏在魔術方塊躲避警衛檢查，趁上夜班的時候從他的伺服器慢慢的將資料一份份拷貝出來，並帶到外面儲存。他家中的個人電腦使用加密儲存，無法暴力破解。\n為避免洩漏行蹤，史諾登在全面洩密之前便已與一些記者匿名保持聯繫。史諾登說他是到處找公共Wifi，並且在筆電裝「Tails」作業系統收發電子郵件。(Tails為基於Debian Linux開發的系統，連線強制使用Tor，可以用LiveUSB模式執行，關機後資料就會消失)\n史諾登採取了跟「維基解密」不同的作戰方式，他只整理必要的文件並公開給記者，並試圖用簡單的語言讓大眾認識到此事件的嚴重性。\n2013年，史諾登從夏威夷逃亡到香港，並在飯店等待記者會面，於是有了以下的訪問影片\n史諾登原訂逃亡到厄瓜多尋求庇護，在逃亡過程中由維基解密的員工提供幫助，但過境俄羅斯的時候，他的護照遭美國政府取消，無法離開俄羅斯。\n當時史諾登一下飛機，便遭到俄羅斯聯邦安全局(FSB)的延攬，不過史諾登拒絕加入FSB。在那之後，史諾登不得不滯留俄羅斯，直到今天。\n要是他真的逃到厄瓜多去，他現在就是維基解密創辦人朱利安·亞桑傑的獄友了。史諾登之所以還沒被特工幹掉，可能是美國有《吹哨者保護法》的關係。\n史諾登的自傳於2019年出版，雖能在美國銷售，但美國政府控訴其違反保密合約，故史諾登收不到版稅。正體中文版由台灣時報文化出版。\n至於簡體中文版，出版商刪除了批評中國政府的段落，氣得史諾登在網路上公開了完整中文版給大家閱讀。\n2016年上映的電影《神鬼駭客：史諾登》，講的就是史諾登的事蹟。\n2. 《永久檔案》的啟示 # 過去網路生態的精神，大約是Web 1.0之前的時期，在現代已經消失了。這是我們這一代人的悲哀。曾經網際網路是充滿驚奇、有趣、平等、匿名的世界，沒有政府和企業的黑手伸入施加影響力。\n何為以前網路的生態精神？我認為這篇文章解釋的不錯：The Old Internet Shows Signs of Quietly Coming Back\n現在，大型跨國科技公司幾乎掌握了你我身邊的軟硬體，沒有他們的服務就幾乎活不下去。政府也逐步用法律，意圖干涉網際網路的中立性。\n史諾登：美國這個國家已變成買新機器取代故障機器比找專家修理來得便宜，而且一定比自己去找零組件設法修理來得便宜。單憑這項事實便幾乎保證會出現科技暴政，助紂為虐的不是科技本身，而是每天使用卻不了解的所有人。拒絕讓自己了解你所依賴的設備運作與維修是被動接受暴政及其條件：當你的設備正常運作時，你也正常運作，但是當你的設備故障，你也會故障。你擁有的物品反過來擁有了你。\n最近20年，用個人資料和隱私權，換取便利免費的網路服務，這樣的措施已持續了很久。\n回首1998年提出的《網際網路獨立宣言》：\n「工業世界的政府們，你們這些令人生厭的鐵血巨人們，我來自網路世界——一個嶄新的心靈家園。作為未來的代言人，我代表未來，要求過去的你們別管我們。在我們這裡，你們並不受歡迎。在我們聚集的地方，你們沒有主權。」\n現在看來宛如傳說一樣的理想鄉，已然遠去。\n在現今的世界，除了跨國科技公司外，國家政府大規模監控是不分國界，且越來越嚴重的。美國和中國就是二個好例子。\n史諾登在書中描寫他曾主持美國對抗中國蒐集資料的會議，這個可以跟編程隨想猜想中國政府監控能力當對照：不管中國政府的技術再怎麼瓦房店，美國都能做到大規模監控公民，中國幾年後也能做到。\n史諾登：人民聚集，大聲疾呼，要求停止壓迫、審查與不穩定的工作與生活環境。他們宣稱，真正公平的社會，並非人民從屬於政府，而是政府從屬於人民。極權國家通常都不存在法治，而是人治，領導人們要求民眾服從自己，忠於自己；對異見者則充滿敵意，百般打壓。\n史諾登支持為了國家安全所實施的必要監控，但這底線究竟該怎麼劃？像中國政府那樣無理的擴權，搞防火長城，系統一律放後門？美國為了國家安全也應該這樣嗎？\n然而美國是自由民主的國家，史諾登不斷在書中強調一個觀念，他要揭穿的是美國政府濫權的問題，維護美國憲法精神，而不是反對整個美國。所以他自稱是吹哨者(whistleblower)，為了正義改革弊端之人，而非為了特定黨派利益的告密鬼(leaker)。維護人民的隱私權，也是為了人民的正義。\n在美國政府看來，史諾登是叛國者，需要受到法律制裁，部份美國人也認為史諾登可能是間諜，甚至譴責他為何要用體制外的方式對抗不公。史諾登當初則認為，參考前車之鑑，待在美國國內吹哨只會讓事情被壓下去，所以他選擇逃亡，揭露一切。吹哨者需要承擔許多譴責與風險，他是勇氣可嘉的人。當正義被侮蔑，此時就該有人站出來捍衛正義，所以我認為史諾登的作法是正確的。\n史諾登女友琳達在日記中寫的描述，我覺得也是給史諾登的吹哨行為很好的註腳：\n2013年7月2日\u0026hellip;我們怎能想得到我們的生活即將一發不可收拾？愛德火山即將摧毀一切？但是我記得基拉韋亞的導遊說，短期來看火山是毀滅性的，長期來看火山會推動這個世界，它創造出島嶼，讓地球冷卻下來，讓土壤變得豐饒。它的岩漿無可控制的流動，最終冷卻、變硬。火山灰射到天空、灑落下來，變成礦物質，這會給土地帶來營養，創造出新生命。\n史諾登即使逃亡到俄羅斯，他還是很重視資安問題。他上網使用基於Linux的系統，將筆電的鏡頭蓋起來，拆掉手機麥克風。他認為要對抗國家政府暗中的監控，便要從強力的資安觀念下手。他從吹哨以來強調的資安概念，給予後人強力的理由發展加密通訊，保護自身隱私。\n雖然一般人沒辦法做得像他那樣極端，但我們還是有辦法採取一些行為，守護自己的隱私權。\n3. 至今狀況似乎越來越糟糕，我們能做什麼 # 後續，史諾登被迫留在俄羅斯，後來女友特地飛過去跟他結婚，有了小孩。俄羅斯總統普丁於2022年授予史諾登公民權，使其可以合法待在俄羅斯。但現在因為俄烏戰爭緣故又多了更多譴責他的人，只懂擁護美國政府立場的網友認為他在支持俄羅斯，詛咒他被發去前線去死。\n不過還是有人支持史諾登，像國際特赦組織在吹哨事件十週年之際還是發了一篇呼籲美國政府特赦史諾登的文章：Why Edward Snowden should be pardoned\n2023年史諾登接受衛報採訪，他表示不後悔當年的吹哨行為，並表示現代的科技監控更加可怕，不過點對點加密近年來越來越多是好事。此外，史諾登也抨擊中國和俄羅斯政府對人民的監控。可惜的是他現在應該無法講太多，他已經有妻子小孩，亂講話普丁把他遣返回美國就好笑了。\n近年來數位人權(digital human rights)概念的興起，或許就是要反思近年來的現象。早期網路網路精神可能是數位人權的雛型，數位人權亦包含史諾登想守護的隱私權。\n至今仍有一些組織，例如自由軟體基金會(FSF)、電子前哨基金會(EFF)、美國公民自由聯盟(ACLU)，仍在對時代潮流做抗爭。歐洲聯盟(EU)所推出的隱私權保障法案《GDPR》則是近年少見的支持「數位人權」的政府措施。\n2006年，進步通訊協會(APC)提出的數位人權定義如下：\n人人都能上網 (Internet access for all) 言論和結社自由 (Freedom of expression and association) 獲取知識 (Access to knowledge) 共享學習和創造——自由和開源軟體和技術開發 (Shared learning and creation – free and open source software and technology development) 隱私、監控和加密 (Privacy, surveillance and encryption) 互聯網治理 (Governance of the internet) 權利的認識、保護和實現 (Awareness, protection and realisation of rights) 即使GDPR看似抑止了跨國科技公司對數位人權的侵犯，但對利用漏洞的監控，還有各國政府潛在的監控，仍不可掉以輕心。\n我們可以採取以下幾點往守護數位人權的方向邁進：\n不隨意使用真正的電子郵件 將個人資料分享到公開網路時，防止洩漏過多隱私 不依賴不自由的網路服務，不因為便利而屈就圍牆花園 使用點對點加密的通訊、雲端服務 對中國、美國，甚至台灣國內的網路服務保持戒心，尋求開源替代品 使用自由開源的作業系統，手機與電腦皆然 使用Tor和VPN上網 更多內容請參見談五個上網時保護隱私的作法，守護自由與數位公民權\n","date":"2023年6月13日","externalUrl":null,"permalink":"/posts/edward-snowden-permanent-record-review/","section":"Reviews","summary":" 「你不在乎隱私權，因為你沒有什麼可隱瞞，這就好像在說，你不在乎言論自由，因為你無話可說。」\n本文為吹哨者愛德華史諾登的書《永久檔案》Permanent Record的閱讀心得，以及探討我們能夠採取什麼作法對抗極權監視。\n開始前來聽首：德弗札克第九號交響曲『來自新世界』第二樂章\n1. 《永久檔案》內容大綱 # 《永久檔案》是吹哨者愛德華·史諾登(Edward Snowden)於2019年出版的自傳，寫他小時候接觸電腦的過程，以及長大後到美國中情局(CIA)上班的故事。最後表達為何他要冒險向公眾揭露「稜鏡計畫」並逃亡至香港，乃至滯留俄羅斯至今。\n史諾登出生於1983年，那時個人電腦和網路正在興起，他透過父親電腦上網接觸網路世界，他很喜歡網路的匿名特質，換帳號就可以更改身份。青年時期甚至還在朋友的電腦公司工作過。\n2001年，美國發生911事件。史諾登疑似受到愛國主義感召，便決定加入美軍特種部隊，以期能報效國家。後來在訓練中受傷驗退，便改到CIA工作，成為政府的承包商。\n史諾登曾主動提出外派到中東地區的要求，但CIA只將他派往瑞士和日本，後來也跟美國國家安全局(NSA)的人有所接觸。在到處工作的同時，史諾登女友琳賽也得跟他到處搬來搬去。\n","title":"監控更甚以往，我們能做些什麼？讀史諾登《永久檔案》心得","type":"review"},{"content":"中文版\nMy personal review of Pine64\u0026rsquo;s PineTab 2, ARM variant.\nTD;DR. What\u0026rsquo;s a good e-book reader\u0026hellip;. In recent years, I always want to buy a Linx tablet to play with, also read e-books and academic papers. There was a \u0026ldquo;Juno Tablet\u0026rdquo; with a Intel processor, which was released in 2022. The software of Juno Tablet was good, but I wanted an ARM tablet for longer battery life. Then, after hearing the news of PineTab 2, and the performance of PineTab 2 was reported twice as powerful as its predecessor. After that, knowing the software is in alpha stage, I still placed the order as soon as PineTab 2 was released.\nI do have some experiences with Linux. Last year, I bought PinePhone and tinkered with it for many months, so this kind of Linux mobile device should not be difficult for me to tinker with\u0026hellip;but, the network of PineTab 2 is such a big problem, I will talk about this issue later.\nNote: Since I speak Chinese, and PineTab 2 supports Tradional Chinese, some screenshots in this article would be shot on GNOME in Chinese, sorry for inconvenience.\n1. Unboxing PineTab 2 # PineTab 2 costs me US$$266, custom tax included. Shipped from Hong Kong to Taiwan.\nYou could buy PineTab 2 on official Pine64 Store. The specifications of PineTab 2 are as follows:\nOperating system: Arch Linux ARM by DanctNIX Screen: 10.1\u0026quot; IPS LCD 1280x800 pixels Weight: 242x161x9mm. 520g without keyboard, 990g with keyboard SoC: Rockchip RK3566, CPU 4 core Cortex-A55, GPU Mali-G52 MP2 RAM: 8GB LPDDR4 ROM: 128GB eMMC Battery capacity: 6000 mAh Camera: 2Mpx, Galaxycore GC02M2 (front). 5Mpx, Omnivision OV5648 (rear) The PineTab 2 is somewhat like a Quartz64 board with touch screen.\nThe box comes with a tablet, charging cable, and the manual.\nThe stereo speakers are located in the upper part of the tablet. For I/O ports, it has a Type C 3.0 port, Type C 2.0 port, MicroHDMI port, an SD card slot, 3.5mm headphone jack, and a 5-pin pogo for connecting to a keyboard. Unlike the Pinebook Pro, the PineTab 2 does not have a slot for NVME. And, according to Pine64, the screen does not support a stylus because the price would be too high.\nYou can boot the system from a SD card. But at the time of writing, only Arch Linux ARM is available. I don\u0026rsquo;t know if it\u0026rsquo;s an illusion\u0026hellip; The color of the screen and the location of the ports\u0026hellip; Why does Pinetbab 2 looks so similar to \u0026ldquo;PlayTV portable monitor\u0026rdquo; I bought last year? PineTab 2 comes with a leather case. It has keyboard and touchpad which could turn PineTab 2 into a Pinebook (?). The leather case would make Pineab 2 become thick and heavy. There is a Pine64 logo on the back of the case. Pay attention to that camera! Thanks for your attention, currently it does not function. 2. The software is not yet finished # I think PineTab 2 is usable as a daily driver. Yet, I have to point out the issues of Pinetab 2 first.\nThe operating system which shipped with PineTab 2 is Arch Linux ARM with KDE Wayland, which is mantained by DanctNIX.\nThough I like KDE, but it is not touch-friendly, so I install GNOME desktop instead. Both of them support touching gestures, and GNOME\u0026rsquo;s buttons are bigger. I do also use Arch Linux on my x86 PC and laptops. The problem I am having with PineTab 2, is not the software installation, but the system itself! The software is in the early stage, there are many bugs, random slowness, which are hard to be solved by myself.\nFor example, The wifi driver currently does not work on PineTab 2. According to developers, the wifi driver is unstable and will freeze the system. Therefore, developers disables wifi modules, and hope someone in the community could solve this issue in the future.\nThe manual that come with the box tell the users to share the network with your phone USB or buy an Wifi dongle. I plugged in my Realtek Wifi dongle, and compiled the driver. However, as soon as I connected to Wifi, the system\u0026rsquo;s network just crashed.\nFine, I could still use my phone to share the network, nevertheless the driver of the USB port also has a bug! PineTab 2\u0026rsquo;s USB only recognizes iPhone connections, but not the Android phones! I tried to install various packages, PineTab 2 still cannot detect Android phone, not even MTP connections. (dmesg shows -71 error I figured out it was the issue of C to C cable.)\nI had to use my old iPhone to share its network via USB. Later on, I purchased another Wifi dongle which is supported by mainline kernel (Mediatek MT7601) and it worked. No need to compile the driver. Hooray! And there are other issues:\nBluetooth driver is not yet finished Camera driver is not yet finished Suspend mode does not work The screen direction has to be adjusted manually in the settings (can be solved by installing iio-sensor-prxoy and the auto-rotaion will work after enabling the service) The system animation is laggy No power off charging I hope the developers and community members could fix these issue in the future.\n3. Can it play games? # Sure.\nPineTab 2 can run many Linux desktop applications, such as LibreOffice. For the Chinese input, there is Fcitx5 + Chewing and Pinying. However, Linux does not have a good touching Chinese input method (maliit keyboard only works on KDE), so I have to use a physical keyboard for inputing. You can play Linux games on PineTab!\nLast year, I successfully ran Steam client on a Linux phone, so it should be possible to run Steam on PineTab 2 as well.\nFor native games\u0026hellip;well\u0026hellip;that\u0026rsquo;s embrassing, even on a Raspberry Pi 4, you could get 30FPS in \u0026ldquo;Minetest\u0026rdquo; game, but on PineTab 2 you could only get 15FPS!\nFor me, the only \u0026ldquo;game\u0026rdquo; that can be played smoothly is a web game, Kantai Collection. While playing Youtube videos, Firefox will consume all 4 CPU cores because it lacks of GPU acceleration. This would drain PineTab 2\u0026rsquo;s battery quickly. And modern webpages, such as Google Drive and Wikipedia, are very laggy\u0026hellip; I\u0026rsquo;m afraid PineTab 2 can only be used to browse Hacker News. However, on PineTab 2, Chromium (Flatpak) is more responsive than Firefox. Sadly there is no ARM64 version of Google Chrome, which supports syncing data between devices.\nThe reason that I bought an ARM tablet in the hope that it would last a little longer than the x86 Linux laptops when I bring it out. However, PineTab 2\u0026rsquo;s browser lacks hardware decoding, which causes high CPU usage once playing Youtube videos. This make the power-saving advantage of the ARM architecture disappears. What\u0026rsquo;s worse, there is no suspend mode.\n4. Can it run Android apps? # Yes it can. Some Android apps are even more fluid than Linux apps.\nLinux lacks touch-friendly mobile applications. As I mentioned above, there is no touching Chinese inputs on Linux, so will be difficult to use PineTab 2 without connecting to keyboard.\nAt this time we can ask help from our Android brothers.\nYou don\u0026rsquo;t need to insall the real Android OS on PineTab 2. Instead, you can use \u0026ldquo;Waydroid\u0026rdquo; to run Android applications in Linux containers.\nSo you could switch between Linux and Android apps easily\nRunning #Android and #Linux apps at the same time on PineTab 2 pic.twitter.com/dG3cqHg5nI\n\u0026mdash; Ivon Huang 🇹🇼 ☸️🐧✝️ (@Ivon852) June 7, 2023 Just install the following packages:\nsudo pacman -Syu sudo pacman -S python-pyclip xclip wl-clipboard mailcap yay -S waydroid-image-gapps sudo waydroid init -f sudo systemctl enable --now waydroid-container sudo ufw allow 53 sudo ufw allow 67 sudo ufw default allow FORWARD sudo ufw reload sudo systemctl restart waydroid-container You will also need casualsnek\u0026rsquo;s script for registering device in order to download apps from Google Play. See Arch wiki for usages of Waydroid.\nIf Waydroid does not work for you, you could try running ReDroid in docker containers.\nYou can install OrientationFaker in Waydroid to force rotate the screen, so that you don\u0026rsquo;t have to change the screen orientation in Linux\u0026rsquo;s system settings. Also, install Auto hide top bar extension in GNOME if you want to use Android apps in full screen.\nLet\u0026rsquo;s see the Geekbench socre of PineTab 2\u0026hellip;no surprise. PineTab 2 can\u0026rsquo;t even compete with the low-end Samsung A series tablets. However, the animation of Android apps are much smoother than Linux applications. Though the poor performance, PineTab 2 is suitable for watching online sreamings which does not require DRM. For the performance, playing videos in Android containers is faster than playing videos in Linux browsers. Want to play Minecraft on PineTab 2? The performance is \u0026ldquo;ok\u0026rdquo; with default settings. My personal opinion: Waydroid should be used with GNOME desktop environment, because GNOME emphasizes that there should only be one application in one workspace. On GNOME, you can swipe between workspaces with 5 fingers. In this way, you can use the spaces of Linux desktop more effectively.\n5. Conclusion # Do not buy PineTab 2 unless you are a Linux developer or a Linux enthusiast. This tablet cannot compete with Android tablets and iPads.\nThe most valuable part of PineTab 2 is that it is one of few free and open-source tablets. If you are a powerful user, you could do many things on PineTab 2 which cannot be done on Android tablets!\nFor me now, PineTab 2 is just a e-book reader without wifi, it cannot replace my x86 Linux laptop. I hope the software would get better over times. Please continue reading: After 3 months of daily-driving PineTab 2, I love but also hate it\n6. Further Reading # PineTab2 - PINE64 Wiki dreemurrs-embedded/Pine64-Arch - PKGBUILD for running Arch Linux on PinePhone/PineTab. PINE64 Forum ","date":"2023-06-06","externalUrl":null,"permalink":"/en-us/posts/pine64-pinetab2-review/","section":"Posts","summary":"中文版\nMy personal review of Pine64’s PineTab 2, ARM variant.\nTD;DR. What’s a good e-book reader…. In recent years, I always want to buy a Linx tablet to play with, also read e-books and academic papers. There was a “Juno Tablet” with a Intel processor, which was released in 2022. The software of Juno Tablet was good, but I wanted an ARM tablet for longer battery life. Then, after hearing the news of PineTab 2, and the performance of PineTab 2 was reported twice as powerful as its predecessor. After that, knowing the software is in alpha stage, I still placed the order as soon as PineTab 2 was released.\nI do have some experiences with Linux. Last year, I bought PinePhone and tinkered with it for many months, so this kind of Linux mobile device should not be difficult for me to tinker with…but, the network of PineTab 2 is such a big problem, I will talk about this issue later.\nNote: Since I speak Chinese, and PineTab 2 supports Tradional Chinese, some screenshots in this article would be shot on GNOME in Chinese, sorry for inconvenience.\n1. Unboxing PineTab 2 # PineTab 2 costs me US$$266, custom tax included. Shipped from Hong Kong to Taiwan.\nYou could buy PineTab 2 on official Pine64 Store. The specifications of PineTab 2 are as follows:\nOperating system: Arch Linux ARM by DanctNIX Screen: 10.1\" IPS LCD 1280x800 pixels Weight: 242x161x9mm. 520g without keyboard, 990g with keyboard SoC: Rockchip RK3566, CPU 4 core Cortex-A55, GPU Mali-G52 MP2 RAM: 8GB LPDDR4 ROM: 128GB eMMC Battery capacity: 6000 mAh Camera: 2Mpx, Galaxycore GC02M2 (front). 5Mpx, Omnivision OV5648 (rear) The PineTab 2 is somewhat like a Quartz64 board with touch screen.\nThe box comes with a tablet, charging cable, and the manual.\nThe stereo speakers are located in the upper part of the tablet. For I/O ports, it has a Type C 3.0 port, Type C 2.0 port, MicroHDMI port, an SD card slot, 3.5mm headphone jack, and a 5-pin pogo for connecting to a keyboard. Unlike the Pinebook Pro, the PineTab 2 does not have a slot for NVME. And, according to Pine64, the screen does not support a stylus because the price would be too high.\nYou can boot the system from a SD card. But at the time of writing, only Arch Linux ARM is available. I don’t know if it’s an illusion… The color of the screen and the location of the ports… Why does Pinetbab 2 looks so similar to “PlayTV portable monitor” I bought last year? PineTab 2 comes with a leather case. It has keyboard and touchpad which could turn PineTab 2 into a Pinebook (?). The leather case would make Pineab 2 become thick and heavy. There is a Pine64 logo on the back of the case. Pay attention to that camera! Thanks for your attention, currently it does not function. ","title":"Pine64 PineTab 2 unboxing and review by Ivon Huang","type":"posts"},{"content":"English version\n這篇文章是Ivon個人對Pine64的新平板\u0026quot;PineTab 2 ARM版\u0026quot;的開箱與評價。\n為什麼我要買並非iPad，亦非Android，而是冷門的Linux平板呢？除了好奇之外，也有輔助因素在。現在我使用Linux桌電＋筆電，覺得還少了一個\u0026hellip;娛樂閱讀裝置？此外有時候需要看碩士論文和期刊，我覺得也是需要平板的時候了。以前用過iPad，我覺得很難用，Windows平板續航力又不佳。加上我想要追求自由軟體組成的環境，所以選擇購買PineTab 2。\n2022年年底，聽聞PineTab 2性能是上一代的二倍，2023年上市後便馬上預購。\n去年已經買過PinePhone了，這種新興的Linux行動裝置理應難不倒我才對。結果\u0026hellip;光網路問題就難倒我了，後述。\n先說結論：PineTab 2是一款非常稱職的電子書閱讀器。 為什麼我會這麼說，繼續看下去吧\u0026hellip;\n1. PineTab 2開箱 # 2023年5月，Pine64在官網推出二款新Linux平板，一款是「PineTab 2」，使用ARM架構的晶片，為前一代PineTab的繼承者。另一款為「PineTab V」，使用RISC-V架構的晶片，完全沒有作業系統可用。\n考量實用程度，我決定購買架構比較熱門的PineTab 2，且已經有開發者提供能開機的Linux映像檔了；相較之下，PineTab V系統需要完全從頭寫起，我沒那麼厲害。\nPineTab 2加上關稅共花費8199台幣。\n規格如下：\n作業系統：Arch Linux ARM by DanctNIX 螢幕：10.1\u0026quot; IPS LCD 1280x800像素 外觀： 242x161x9mm 重量：無鍵盤520g，加上鍵盤990g 處理器：Rockchip RK3566，CPU 4核心Cortex-A55，GPU Mali-G52 MP2 RAM：8GB LPDDR4 ROM：128GB eMMC 電量：6000 mAh 相機： 前置2Mpx, Galaxycore GC02M2，後面5Mpx, Omnivision OV5648 基本上就是同公司出的Quartz64開發板加上螢幕。盒子內附平板，充電線，說明書。\n雙聲道喇叭位於平板上部。連接埠有一個Type C 3.0孔、一個Type C 2.0孔、一個MicroHDMI孔、一個SD卡卡槽、3.5mm耳機孔、連接鍵盤用的5 pin pogo。\n跟Pinebook Pro不同，PineTab 2沒有預留NVME的插槽。且為避免價格太貴，螢幕不支援手寫筆。\n不知道是不是錯覺\u0026hellip;這螢幕顯色，還有連接埠位置\u0026hellip;怎麼跟我以前買的PlayTV攜帶式螢幕好像呀（絕對沒有業配）\n官方說法是可以用SD卡引導系統開機的，還可以用USB線連接到UART，但撰文當下系統只有Arch Linux ARM能用。 平板有附贈鍵盤與觸控板的皮套，接上去就變成筆電了，重量從500g增加到900g，厚度也爆增。 皮套可以立起來，後面有Pine64標誌，注意那個相機！謝謝你的注意，該相機目前是好看用的。 2. 尚未完成的作業系統 # 我認為PineTab 2現狀是可以當日常機器使用的，但是我還是要先指出他的缺點。\nPineTab 2預載的系統為Arch Linux ARM，搭配KDE Wayland桌面環境。PineTab 2的Arch Linux由DanctNIX開發，他之前就開發過給PinePhone、PineTab一代用的Arch Linux系統。\n然而，開機沒多久我就改安裝GNOME桌面，取代觸控不友善的KDE Plasma。二個桌面環境在Wayland下都支援觸控手勢，我覺得GNOME的按鈕比較大比較好按。 請別嫌棄Wayland，它已經逐漸是主流標準了，至少Pine64家族的手機Linux界面預設都採用Wayland，X11不適合觸控裝置。\n我本身就有在用Arch Linux，之前也接觸過PinePhone各種OS，但現在難倒我的不是軟體安裝問題，而是這臺的系統本身就處於早期階段，有很多bug我不能自己解決，有賴開發者完善。\n文首說到最大問題是網路。PineTab 2官網購買前便有警告：這臺Wifi驅動不穩定，會讓機器當機，故開發者將其停用，不買拉倒，看未來有沒有開發者能解決。盒子附的說明書直接叫你用手機USB分享網路，或是買個外接網路卡。\n於是我把我的Realtek網路卡插上去，驅動程式也編譯了\u0026hellip;一連上Wifi，系統的網路就崩潰。\n好吧我還是用手機分享網路，可USB孔的驅動也有bug啊，PineTab 2的USB竟然只認iPhone不認Android機！我試過裝各種套件，但Android機插上去連MTP都沒跑出來，dmesg顯示-71 error。結果發現是C to C傳輸線的問題，換條C to A的線就行了。\n只好依賴iPhone熱點上網。 後來網購了一款使用聯發科MT7601晶片的Wifi網路卡(驅動已含在Linux主線核心)，才脫離用手機分享網路的窘境。 除此之外：\n藍芽驅動還沒寫好 相機驅動還沒寫好 待機模式還沒寫好，一暫停(suspend)就起不來了 螢幕方向要手動到設定調(安裝iio-sensor-proxy套件再啓用服務後自動旋轉即正常) GPU似乎沒寫好，系統動畫卡卡的，Youtube播480p影片都會卡 沒有關機充電 希望未來開發者能逐步解決這些問題。\n3. 跑桌面應用程式和玩遊戲 # PineTab 2可以跑電腦文書軟體，中文輸入法有Fcitx5＋新酷音。但我是看鍵盤注音才能打字的人(PineTab 2的鍵盤只有英文字母)，所以其實是用拼音輸入。此外Linux沒有好用的觸控中文輸入法，得用實體鍵盤。 買平板當然就是要看漫畫\u0026hellip;額不是我是說，碩士論文。KDE Okular、calibre、GNOME的文件檢視器都是看書好選擇。PineTab 2用來翻論文沒有遇到卡頓情形，還可以自由排列視窗查資料。 那如果寫筆記呢？Linux有xournal++這類支援手寫輸入的筆記程式，可惜PineTab沒有專用觸控筆，所以頂多用傳統觸控筆劃個幾撇。\n另外我目前還是習慣用打字的寫筆記，例如Joplin。\nPineTab 2可以玩原生電腦遊戲！\n根據過往我用PinePhone的經驗，這臺應該可以在chroot環境裝Steam，用Box86轉譯，玩x86架構的電腦遊戲。\n不過PineTab 2大概只能跑galgame\u0026hellip;因為根據我的測試，連\u0026quot;Minetest\u0026quot;這種樹莓派4都有30FPS的方塊遊戲，PineTab 2只有15FPS\n對我而言，玩得順的\u0026quot;遊戲\u0026quot;只有網頁遊戲《艦隊Collection》 Firefox播放影片CPU也會很快滿載，許多現代的網站連滑動都會卡，包含Google雲端\u0026hellip;恐怕PineTab 2只能用來看PTT了 然而，PineTab 2目前Flatpak版的Chromium用起來比Firefox還順暢。可惜的是目前沒有ARM64版的Google Chrome，Chromium無法跨裝置同步瀏覽資料。\n原本買ARM平板，是希望能在外面比x86的Linux筆電撐得更久一點的。可是，PineTab 2的瀏覽器缺乏硬體解碼，導致一播影片CPU全部吃滿，ARM架構的效能優勢消失。假如一直播放影片，可能跟筆電一樣只能撐3小時，還沒有待機模式能用。\n4. 跑Android APP解決生態問題 # Linux缺乏應用程式是事實，更別說以觸控為主的行動應用程式了。PineTab 2接鍵盤只靠觸控會很難用。\n這個時候就要借助Android的力量。\nLinux想跑Android APP，可以用\u0026quot;Waydroid\u0026quot;容器技術。PineTab 2跟Android平板同為ARM架構，沒有轉譯問題。而且Waydroid還內建Google Play商店。\n安裝之後操作方式如下面的影片：\nRunning #Android and #Linux apps at the same time on PineTab 2 pic.twitter.com/dG3cqHg5nI\n\u0026mdash; Ivon Huang 🇹🇼 ☸️🐧✝️ (@Ivon852) June 7, 2023 Arch Linux ARM請使用以下指令安裝Waydroid：\nsudo pacman -Syu sudo pacman -S python-pyclip xclip wl-clipboard mailcap yay -S waydroid-image-gapps sudo waydroid init -f sudo systemctl enable --now waydroid-container sudo ufw allow 53 sudo ufw allow 67 sudo ufw default allow FORWARD sudo ufw reload sudo systemctl restart waydroid-container Waydroid詳細用法參照：Waydroid教學：在Arch Linux電腦跑Android APP\n如果Waydroid無法用，也可以改用Docker跑ReDroid。\n安裝Waydroid後，可以再安裝OrientationFaker APP，這樣就能在Android界面強制旋轉螢幕方向，而不用到Linux的系統調整。\n如果想在GNOME全螢幕跑Android APP，請安裝Auto hide top bar擴充套件。\n簡單用Geekbench跑個分，結果不意外。PineTab 2的性能確實是上一代PineTab（AllWinner A64處理器）的2倍啦，但連低階三星Tab A系列都打不過。 不過，Android容器的動畫卻是比Linux的順很多，一些沒有嚴格DRM要求的影視APP還是可以裝的，Android APP播放影片的效能比用Linux的瀏覽器要佳。 Minecraft基岩版勉強玩得動。 我個人認為：Waydroid應該配合GNOME桌面環境使用，因為它的設計是強調一個工作區一個程式，配合五指手勢就可以在工作區之間滑動，這樣的話跑Android APP就能更有效利用Linux桌面的空間。\n5. 總結 # 就現狀而言，這臺PineTab 2，連買來上遠距教學都有困難呀\u0026hellip;真的只能當電子書閱讀器，還有看點影片用。\n如果跟市面上的平板比較，則PineTab 2的效能約只有Samsung Tab A系列的一半等級而已。在八九千這個價格帶中，連最便宜的iPad 10都屌打PineTab 2。\nPineTab 2最大的優點是自由開源，硬體說真的也沒差到哪去，懂得使用的人就會用得很好，這類人通常不是Linux開發者，不然就是鋼鐵Linux粉。\n根據過往Pinephone和Pinebook Pro的經驗，Pine64家的產品都需要一段時間成熟，畢竟公司幾乎不做任何開發，都交給網友處理。那麼這臺PineTab 2的軟體大概要等幾個月再回來觀察看看，我就姑且把它當能同時跑Android APP的雙系統平板吧，看電子書還算方便。\n請繼續閱讀：三個月使用ARM Linux平板兼筆電「PineTab 2」的感想，對其又愛又恨\n6. 延伸閱讀 # PineTab2 - PINE64 Wiki dreemurrs-embedded/Pine64-Arch - PKGBUILD for running Arch Linux on PinePhone/PineTab. PINE64 Forum ","date":"2023年6月6日","externalUrl":null,"permalink":"/posts/pine64-pinetab2-review/","section":"Unboxings","summary":"English version\n這篇文章是Ivon個人對Pine64的新平板\"PineTab 2 ARM版\"的開箱與評價。\n為什麼我要買並非iPad，亦非Android，而是冷門的Linux平板呢？除了好奇之外，也有輔助因素在。現在我使用Linux桌電＋筆電，覺得還少了一個…娛樂閱讀裝置？此外有時候需要看碩士論文和期刊，我覺得也是需要平板的時候了。以前用過iPad，我覺得很難用，Windows平板續航力又不佳。加上我想要追求自由軟體組成的環境，所以選擇購買PineTab 2。\n2022年年底，聽聞PineTab 2性能是上一代的二倍，2023年上市後便馬上預購。\n去年已經買過PinePhone了，這種新興的Linux行動裝置理應難不倒我才對。結果…光網路問題就難倒我了，後述。\n先說結論：PineTab 2是一款非常稱職的電子書閱讀器。 為什麼我會這麼說，繼續看下去吧…\n1. PineTab 2開箱 # 2023年5月，Pine64在官網推出二款新Linux平板，一款是「PineTab 2」，使用ARM架構的晶片，為前一代PineTab的繼承者。另一款為「PineTab V」，使用RISC-V架構的晶片，完全沒有作業系統可用。\n考量實用程度，我決定購買架構比較熱門的PineTab 2，且已經有開發者提供能開機的Linux映像檔了；相較之下，PineTab V系統需要完全從頭寫起，我沒那麼厲害。\n","title":"Pine64 PineTab 2開箱評價，升級過的開源Linux平板","type":"unboxing"},{"content":"","date":"2023年6月4日","externalUrl":null,"permalink":"/tags/zenfone/","section":"標籤","summary":"","title":"Zenfone","type":"tags"},{"content":"這是Ivon十年來用過的手機的一覽表，每支手機都含有一個時代的回憶，因此我想把他們記錄下來，在我忘記之前。\n現存手機只剩這幾部\n超級長文注意，請善用上面的目錄功能跳轉。\n並搭配《歡樂頌》服用：\n為讓讀者有清楚認識，我先劃幾條分界線：\n2012年以前接觸手機的歷史不可考，我只記得玩過功能機一個熊貓爬上爬下吃竹子的遊戲。 在Zenfone 2 Selfie之前，我對手機規格和品牌是完全沒有概念的。 在Infocus M2＋之前，我的手機是沒有行動網路的，家裡也沒有Wifi，上網完全依靠公共Wifi。 規格表中的「價格」指的是我購入時的價格，不是上市的定價。「系統」是指我使用時實際安裝過的系統版本。 有些圖片來自以前我Facebook的貼文。有些手機已經丟掉了，所以圖片是上網找的。 一直要到小米9T和Sony Xperia 5 II，才首次對手機感到滿意，不會一年後急著換機，過去買的手機都偏低階也是因素啦。然後我最滿意的Sony Xperia 5 II撐不到三年就出現綠線自爆了。 初次感動，Victory\u0026rsquo;s F9 (2012 ~ 2015) # 名稱 內容 價格 約3000台幣 系統 功能型 螢幕 3.2吋 相機 未知 電量 800mAh，電池可單獨充電 RAM 未知 ROM 40KB 特色功能 支援記憶卡，支援觀看類比電視，支援WAP上網，支援Java，支援電子書 這是山寨iPhone的觸控功能機，可能是當時很流行的中國「長江山寨機」的產品，能夠拉出天線看類比電視。我媽玩膩後就給了我她的那支白色的，所以我有二支Victory\u0026rsquo;s F9的手機，二支性能還不一樣呢。\n白色F9，外觀和系統界面仿造iPhone 3GS，連充電線也仿造，性能佳，拍照錄影不會卡，影片最多能播到480p MP4 (播的是我在學校學的，生涯第一部，用Corel會聲會影剪輯的影片，內容來自s2011131大大的Minecraft歌曲翻譯)。這台手機也能玩Java遊戲。但觸控不佳，要常常用「觸控程式」校正，到最後是幾乎不能觸控了。\n另一台黑色F9我用的比較久，外觀仿造iPhone 4，性能爛，拍照鏡頭螢幕都會卡，影片只能播3gp格式。\n大約是小學畢業的時候開始接觸手機，當時主要是用手機照相，錄製動漫卡通為樂(真的坐在電視機前面錄)。或是直接開錄音機錄製Youtube歌曲(要到很後期我才知道怎麼下載影片)\n這張我用在伊莉論壇的大頭貼，就是用那支F9相機拍的。當時Animax正在播映《K》動畫。\n除了拍照以外，F9最棒的功能就是讀電子書了。用電腦到中國的「SF轻小说」下載txt檔，放到SD卡用手機慢慢看。我記得有一次晚上曾看《約會大作戰》狂三大戰美久的橋段看到東方魚肚白。至於追得最久，一路追到完結的是《我的朋友很少》。\n除此之外，我也會拿手機寫自己的奇幻小說和歌詞。功能型手機沒有文本編輯器，備忘錄又只有100字限制要怎麼寫？我想到一招：用資料夾檔名來寫小說。記憶卡每個資料夾名稱上限是250個中文字，我就用檔案管理員重新命名功能分開慢慢寫。那部小說內容嘛\u0026hellip;好像是受《武裝鍊金》所啟發。後來寫到一個段落，就將其複製到電腦，貼到Yahoo奇摩部落格發表(我借家長的帳號發的)。但Yahoo部落格幾年後停止服務，我卻沒有把小說內容救回來，只留下偕同小說劇情一併繪製的漫畫紙本。\n這支手機使用到2013年便被AraTop AK-35取代，但在後者螢幕摔壞後有短暫復辟過。\n當個創世神，AraTop AK-35 (2013 ~ 2015) # 名稱 內容 價格 約3000台幣 系統 Android 2.3 螢幕 3.5吋 相機 500萬畫素 電量 未知，可單獨充電 處理器 MT6575 RAM 256MB ROM 256MB 特色功能 支援記憶卡 大約2013年，當初我媽讓我在去香港迪士尼與買手機之間做選擇，我選擇買手機。太宅了吧喂。另外三年之後我才又有了踏上中國國土的機會——結果是被帶去江西。\n人生第一支智慧型手機，就在國一升國二的暑假。當時我興奮的上網找各種APP來玩，在手機巴士、当乐网流連，甚至還點到iTunes的連結覺得奇怪怎麼沒有APK。因為沒有網路，一開始沒用Google Play，都是從電腦傳到SD卡安裝APP的，或是將手機接到電腦開Mass Storage Mode直接傳輸(將手機變成隨身碟，比現在的MTP穩定多了)。我也透過這種方式傳送下載的影片、音樂、H漫到手機。 桌布：問題兒童都來自異世界？\n雖然是雜牌，不過從長江山寨機的Java機時代邁入智慧型Android手機的時代還是令人震撼。同期的同學拿的是Samsung S3。\n為什麼以前只有幾個APP就可以玩得很快樂，今天的APP多不勝數卻讓人無所適從起來了呢？\n早期Android 2.3的時代，還允許將APP放到SD卡，或者說手機主要的儲存空間就是依賴SD卡的。在Android 4.4之後基本禁止了這個用法，以至於SD卡變成裝飾品。\n在眾多離線遊戲中，我入坑了《Minecraft PE》，現在叫《Minecraft基岩版》。在手機版之前便短暫接觸過Java版，看實況主魯蛋玩「當個創世神」，後來完全沈迷當時仍屬小眾的手機版。智慧型手機誘惑太大了，從此開始機不離身的歲月。因為手機電池能另外充電，我常常玩到忘我，電池沒電強制關機，沒關係！拔出來換另一顆繼續玩。 暑假二個月期間，我都在用Minecraft蓋房子、玩生存，開學後繼續玩。當時的世界只有256x128x256大小也玩得很沈迷。後來學會做模組，玩得更起勁了，成為我自學程式語言的開端。關於Minecraft的歷史我這裡不想講太多，它與我的緣份實在太深了，故事講不完，後續發展可以看Youtube頻道被封這篇。\n雖說此時開始沈迷玩手機，不過學校規定很嚴格，所以我不敢在學校偷玩。\n其他遊戲這台手機似乎玩不太動，所以我99%時間玩Minecraft為主，剩下時間就玩《Temple Run》、《進撃の巨人 疾風の翼》。《Temple Run》是我在擁有手機前，在繪畫班下課玩老師的iPad最喜歡玩的遊戲。《進撃の巨人 疾風の翼》是進擊的巨人的同人遊戲，用Unity做的，幾乎動畫的角色都有登場。 我也是在這個時候開始經營Youtube頻道，當時我不知道哪來的勇氣上傳畫質只有360p的實況給大家看，訂閱數還慢慢上漲。那手機沒網路，家裡又只有128K的陳舊ADSL，怎麼上傳影片？到處找Wifi囉。那個時候，我會到郵局、火車站用iTaiwan，到7-11用ibon網路\u0026hellip;諸如此類。\n說到螢幕錄影，舊版Android需要root權限才能辦到。所以當時我找了百度一鍵Root＋SuperSU來達成目的。後來過幾年我才知道，百度一鍵Root是跟Kingroot一樣流氓的APP，而且Root還是靠漏洞破解的。\n過去手機APP多數能放在SD卡，所以較少儲存空間不足的問題。但越來越多APP無法裝在SD卡，問題便逐漸浮現。當時強制安裝的Google Play服務才30MB，但對ROM只有256MB的手機來說已經很佔空間了。我甚至是在要上傳Youtube影片時才把它裝回來。 2014年跌倒壓到螢幕，螢幕一半出現白線，然後逐漸變成整片空白。我沒有拿去修，將就著繼續用。我真的不知道為什麼當時有這樣的忍受力。這也促成2014年暑假，我忍不下去，讓Victory\u0026rsquo;s F9短暫復辟，後來基於現實用途考量又換回AraTop，接著才買新手機。 最後一個對這支手機印象深刻的點：預設鈴聲，它的通知鈴聲是「琵琶」短音，我還特地Root將其從系統目錄抓出來。可惜這個音檔後來也遺失了。\n性能不錯的平板手機，G-Plus P7019 (2014 ~ ?) # 這不是我拍的，圖片取自拍賣網站\n名稱 內容 價格 約3000台幣 系統 Android 4.2 螢幕 7吋，800x480像素 相機 200萬畫素 電量 2500mAh 處理器 MT8312 RAM 512MB ROM 4GB 特色功能 支援記憶卡，支援SIM卡 這台是通話平板，不是繼承AraTop AK-35的手機。主要是因為給其他家人用。這台我沒怎麼用，僅偶爾拿來玩玩和剪影片用，當時我只會用《巧影》剪片。\n我記得最詭異的是這台螢幕錄影顏色會反轉。不過容量算大，處理器性能也強多了，我看我家人玩《Line Rangers》和《GTA SA》玩得很開心。\n大螢幕爛貨，Benten A838W (2014 ~ 2015) # 名稱 內容 價格 約3000台幣 系統 Android 4.2 螢幕 5吋，854x480像素 相機 500萬補差點至800萬畫素 電量 1800mAh，可拆卸更換 處理器 MT6582 RAM 512MB ROM 4GB 特色功能 可換其他顏色的背蓋，支援記憶卡 約2014年購入。這台手機買來取代AraTop AK-35之用。螢幕大小雖然曾讓女同學驚豔過，但它根本就是詐騙，實際解析度只有480p，一螢幕錄影便露出馬腳。當年有些白牌平板也會用這招來偷工減料。\n手機背蓋雖然是塑膠的，但是做成皮革觸感。\n聯發科處理器加上480p螢幕，玩3D遊戲開中低畫質是可行的。這支手機性能中規中矩，我記得這時玩的遊戲除了Minecraft以外，還有《Block Story》《Survivalcraft》《Pixel Gun 3D》方塊遊戲，加入RPG要素。以及《GTA 3》、《GTA VC》、《GTA SA》、《GTA CTW》等遊戲，轉蛋手遊啟蒙作是《光速軌道Avatar Drive》。 我一開始納悶實況錄影畫質怎麼那麼差，原來是這塊螢幕那麼大，卻只有480p！\n剛使用一段時間後，便突然忘記滑動鎖定密碼，所以第一次學會如何用Recovery清除資料，重置密碼。\n使用到後期，電量耗損嚴重，玩個遊戲30分鐘就沒電了，故換機取代之。\n小螢幕爛貨，InFocus M2＋ (2015 ~ 2016) # 名稱 內容 價格 約4000台幣 系統 Android 4.4，Android 5 螢幕 4.2吋，1280x768像素 相機 800萬畫素 電量 2010mAh 處理器 高通Snapdrogon 400 RAM 1GB ROM 8GB 特色功能 支援記憶卡 上一支手機Benten A838W電池逐漸不堪使用了，玩個遊戲加上輕度使用使用只能撐兩小時，升上高中主動要求換手機。約2015年購入。\n以前低價手機進到台灣有些會砍頻段，這支是InFocus M2的小改款，完全是為了迎合亞太電信特殊頻段所推出的手機，搭載獨家的LTPS技術螢幕。我忘記這支怎麼來的，搞不好是電信零元機？當時我媽為了省錢，全家都辦亞太，讓我體會到訊號爛、常斷線的痛苦。\n一開始4G是一個月1GB流量，我還得特地裝Opera VPN APP來節省流量，不過隨著上網用量劇增，1GB流量根本不夠用。後來我媽受不了我整天偷買流量，便去辦吃到飽。且大約在這個時候，家裡有了Wifi，並且用Youtube賺到的錢升級光纖網速。\n跟上一支比起來，720p的螢幕畫質真的很不錯，截圖放到電腦看更清晰了呢，玩Minecraft也沒有壓力。然而，s400畢竟是s400，他的續航力只有普通，玩其他遊戲也逐漸力不從心。我家人當時拿這支玩《皇室戰爭》似乎常常因為lag而氣到摔手機\u0026hellip;\ns400，只能玩低階手遊。手機一般是不能換顯卡的，但是記憶體呢？來試試Infocus M2 Plus的3D效能。果然，安兔兔連測試畫面都還沒跑完就被系統終止了(閃退啦)。所謂CP值高，綜括本機優點，只有拍照很強(不包含夜間)、電力持久。缺點是可用記憶體平均300MB，多工處理效能極差。欲betray Android投靠iOS，然而iOS不歡迎poor guy，尤其是連原廠的都買不起。\n這支手機原本是跟以前的白牌機一樣，沒有升級可能。不過後來在中國論壇找到刷機包，順利升上了不穩定的Android 5.0。這算是我第一次知道何謂刷機，AraTop AK-35和Benten A838W只知道進入Recovery清除資料而已。\n最後似乎是螢幕摔到碎裂，所以換機。 中場休息：曾極短暫用過的手機 # Sony Xperia Z2a：螢幕用一年就壞掉了才到我手裡(跟後來2023年Xperia 5 II的綠線一樣，Z2a觸控失效是定時炸彈)，我只拿它測試防水，以及OTG滑鼠的用法。\nZTE F120：門號機，而且還是螢幕2.5吋的按鍵功能機。曾短暫使用過，用途跟Victory\u0026rsquo;s F9一樣看小說為主。令我印象深刻的是我拿著這支的時候，父母因為壓力太大，在土雞城大吵一架，然後當時我不知道怎麼辦，只好故坐鎮定等他們情緒平靜下來。\n桌布：問題兒童都來自異世界？\nSamsung J7 2016 \u0026amp; Samsung J7 Prime：家長退役的門號機，我只短暫測試效能，發現Exynos 7870只有續航力比較好這個優點就棄置。J7 Prime有指紋，但是卻沒有光源感測器和陀螺儀。。此外J7 Prime的指紋辨識很難用，AMOLED顏色過豔。\n不知名平板：從父母朋友那邊買來的二手貨，有10吋螢幕但解析度詐欺，而且用的是筆電的充電接口，平板滑起來還卡卡的，真糟糕。\n刷機啟蒙，ASUS Zenfone 2 Selfie (2016 ~ 2018) # 名稱 內容 價格 約5000新台幣 系統 Android 5，Android 6，Android 7 螢幕 5.5吋，1920x1080像素 相機 1300萬畫素 電量 3000mAh，可拆背蓋 處理器 高通Snapdrogon 615 RAM 3GB ROM 16GB 特色功能 支援記憶卡 我買的是藍綠色的Zenfone 2 Selfie。這支是第一支我自己學習看規格表，在購物網站挑選的手機。以前都是家長隨便幫我挑一支，但偏偏她又不懂手機！這支我單純看到3GB / 16GB規格覺得很厲害就買了，結果後悔莫及。\n你要知道，s615處理器雖然號稱是高通第一個64位元的8核心處理器，但性能其實非常爛。不只容易過熱，性能跟s400系列處理器一樣差。要續航沒續航，要效能沒效能，連續滑3個小時就要接行動電源。\n玩3D遊戲開最低畫質還是會卡，連一般的《GTA LCS》都卡個半死，更不要說其他遊戲了，只能勉強應付Minecraft。不過當時我對Minecraft的興趣減弱，取而代之入坑《艦隊Collection》，網頁遊戲的手機版客戶端倒是不怎麼吃效能，但亞太網路時不時滿格斷線讓我很嘔，下定決心以後再也不用亞太。\nZenfone 2 Selfie與同期手機對比，引用自https://musicphotolife.com/2015/09/zenfone-selfie-vs-zenfone-2\n這台主打前後1300萬畫素的自拍鏡頭，但拍出來也沒多好看\u0026hellip;連iPhone 4S都屌打。錄音錄影的品質更不用說，唉。用Zenfone附贈的耳機聽音樂，聲音宛如一團漿糊在唱歌，裝Viper4X也救不起來。\n儘管性能很爛，不過這支手機最大的收穫是讓我學會刷機，並知道用正規的Magisk來Root手機。當時認識了一名住在屏東的網友，儘管他拿的是小米Max，我們還是常常彼此私訊討論刷機技巧。Zenfone 2 Selfie規格跟Zenfone 2 Laser很接近，所以刷機包能部份通用，像是CyanogenMod、AICP、Resurrection Remix，我們常常討論哪個ROM比較好。此外，當年的TWRP可以不靠電腦，只要將刷機包放SD卡就能刷機的。我高中上到不喜歡課的時候，就常常在底下刷機，幾乎不聽課的。\n但，就算刷機也拯救不了悲慘的性能，除了多出一些系統空間外，該卡的一樣卡。ASUS原廠只支援到Android 6.0，但我需要Android 7的分割螢幕功能呀！這也算是我刷機的理由。因為刷機刷出興趣，導致後面買的手機我幾乎都刷過第三方ROM。\n有趣的是，就算我的Zenfone 2 Selfie性能再怎麼爛，硬體卻從沒壞過，沒有像網友以前買Zenfone 2說的「七進七出」皇家俱樂部。\n虛榮心爛貨，Apple iPhone 4S (2017 ~ ?) # 名稱 內容 價格 2500新台幣 系統 iOS 7 ~ iOS 9.3.5 螢幕 3.5吋，640x960像素 相機 800萬畫素 電量 1432mAh 處理器 Apple A5 RAM 512MB ROM 16GB 特色功能 支援Siri，支援記憶卡。這是二手機。 高中時候我對Apple的產品曾經著迷過，有了不切實際的虛榮心，為此希望買一台Apple的產品。一開始花6000台幣在MOMO買了白色iPhone 4S福利機，結果Wifi無法使用，吹風機加熱也沒用，退貨。接著在Yahoo奇摩拍賣標到一支2500的黑色iPhone 4S。\n當年流傳的吹風機救iPhone大法\n現在看來，我當時應該買iPhone 5的，至少能撐久一點。原因是我買iPhone 4S之後馬上失望。按照iTunes提示升級到iOS 9.3.5後，卡得像什麼一樣，完全無法日常使用。當時iOS 9.3.5的越獄還沒出來，所以這台玩沒多久就放到抽屜裡了。\n不過它還是有優點，儘管玩新遊戲會閃退，但總比Zenfone 2 Selfie順許多。此外外放喇叭音質不賴，拍照、錄音品質也好很多。所以我偶爾會拿iPhone 4S出來拍照。\n儘管如此，我對iPhone 4S還是不滿意，所以做了更奇怪的決定：買iPod touch 6。\n只是個隨身聽，Apple iPod touch 6 (2017 ~ ?) # 名稱 內容 價格 8290新台幣 系統 iOS 9 ~ iOS12 螢幕 4吋，1136x640像素 相機 800萬畫素 電量 1043mAh 處理器 Apple A8 RAM 1GB ROM 32GB 特色功能 沒有SIM卡槽，沒有光源感應器，處理器降頻 我買的是紅色的Product Red版本，Apple會把一部分收入捐給對抗愛滋病。\n買這台完全是虛榮心持續作祟，價格完全不值得，還不如買同期備受好評的Zenfone 3，或是加點錢買螢幕大的iPad Air 2呢。\niPod touch 6就是閹割版的iPhone 6，沒SIM卡所以帶出去要靠Zenfone熱點上網。iPhone 4S的優點它都有，而且比較順一點，大部分遊戲也都玩得動了，續航力大概有1小時。所以用途嘛\u0026hellip;還是輔助拍照、錄音之類的工作，偶爾跑些Zenfone玩不動的遊戲。\n我不是音樂專家，我不知道網路評測說的iPod音質比較好是否真有其事。我最有感的是iPod附贈的EarPods耳機，讓Zenfone音樂品質上升了許多。儘管我知道在音樂專家的眼中，EarPods只能算中階，但那個蹦蹦蹦的音場，相較於Zenfone附贈的耳機來說，根本是天與地的差別了。\niPod touch 6耳機\n後期升級iOS，發熱情況越來越嚴重，玩個遊戲都要在電風扇面前玩，iPod touch便逐漸棄用了。iPod touch算是體驗入門iOS生態一個不錯的裝置，但真的太貴了。\n平衡水桶機，紅米Note 5 (2018 ~ 2019) # 名稱 內容 價格 5499新台幣 系統 Android 8.1 ~ Android 11 螢幕 5.99吋，2160x1080像素 相機 1200萬畫素 電量 4000mAh 處理器 高通Snapdragon 636 RAM 3GB ROM 32GB 特色功能 水桶機，宣稱可以環島導航一圈還有電 最初看到同學買了CP值高的紅米5，我才跟著買了這台。\n它確實是人們所說的水桶機，這個價格帶幾乎沒有缺點。s636延續s625的效能以及省電，使這支手機續航很強，連續用6小時以上都不用接行動電源。相機還不賴。大部分遊戲玩得動。順帶一提，這時我主要玩的遊戲是《Fate/Grand Order》，偶爾卡卡的但還能接受。\n要說缺點嗎，就是它還在用Micro USB，當時許多廠商都用Type C了的說。另外它喇叭音質很破，螢幕色準差，耳機孔有時還要喬位置才能偵測到EarPods。\n但除此之外沒什麼缺點，慢慢用了一年後，因為換換病發作才換掉。\n小奇機，Apple iPhone SE (2019 ~ 現在) # 名稱 內容 價格 4000新台幣 系統 iOS 9 ~ iOS 15 螢幕 4吋，1136x640像素 相機 1200萬畫素 電量 1642mAh 處理器 Apple A9 RAM 2GB ROM 64GB 特色功能 這是二手機 即使有了iPhone 4S和iPod touch 6的教訓，我仍有喜歡Apple產品的虛榮心，為此撿便宜買了二手iPhone SE。\n此時已經有些賺錢能力，能挑自己想要的了。\niPhone SE可說是iPhone 5s＋iPhone 6s的合體。老實講這台品相不太好，背面有前主人撕掉保護殼黏膠的痕跡，弄不掉。不過，它的性能是真的強，雙核心的A9玩什麼遊戲都順。因此我曾短暫將SIM卡放到這支iPhone內，當我的主力一陣子。4吋的手機放口袋輕到我都察覺不到存在耶！對iOS操作也更熟悉了。\niPhone SE與iPod touch 6\n然而，我終究體會到，幾年研究刷機與Root下來，我還是比較愛自由的Android機，且iPhone SE續航力太短了，因此換回紅米Note 5當主力機，iPhone SE變成輔助用機。由於Apple支援的裝置年限很久，iPhone SE能一直撐到現在，到iOS 15才無法再更新。對比之下，同年代上市的Zenfone 2 Selfie連第三方ROM都找不到了。\n雖然不能更新了，但現在我還是會拿出來用。iPhone SE跟iPhone 4S的狀況不同，升級跨越了六個版本照樣很順，只是充電的時候會發熱而已。這臺iPhone真的是奇蹟。\n漸入佳境，小米9T (2019 ~ 2021) # 名稱 內容 價格 8999新台幣 系統 Android 9 ~ Android 11 螢幕 6.39吋，2340x1080像素 相機 2000萬畫素 電量 4000mAh 處理器 高通Snapdragon 730 RAM 6GB ROM 128GB 特色功能 無瀏海無挖洞全螢幕，潛望式前鏡頭，螢幕指紋，快充，DCI-P3色域 從這支開始，我的電信從亞太換到中華，再也沒碰過訊號品質差的問題。\n在小米專賣店看到這支就買了，當新年禮物。他的效能跟iPhone SE有得比，螢幕指紋也很方便。我更喜歡的是無瀏海全螢幕的設計。拍照還有第三方Gcam加成，幾近完美。\n然而，DCI-P3似乎小米把它調得太豔了，不如iPad自然。過度快充也使這支耗電量開始不樂觀。更可怕的是，我似乎悶在殼裡太久，背蓋黏膠都被融化撐開了(電池無膨脹)，自此產生了換手機的想法。\n敗家，Apple iPad Air 3 Wifi版 (2019 ~ 2021) # 名稱 內容 價格 16900新台幣 系統 iPadOS 12 ~ iPadOS 13 螢幕 10.5吋，2224x1668像素 相機 800萬畫素 電量 8134mAh 處理器 Apple A12 RAM 3GB ROM 64GB 特色功能 DCI-P3，支援Apple Pencil第一代 單純敗家的玩具，螢幕和效能自然沒話說，跟當時市面上iPhone一樣等級的順暢，我還買了Apple Pencil呢。\n但，我一直覺得沒有發揮其真正的生產力。當時的我宛如小孩拿到iPad，只會玩不會善用。儘管我用它做過簡報，接廉價藍芽鍵盤打字(配合蘋果強化iPadOS鍵鼠功能的風潮)，用Apple Pencil寫筆記，甚至繪圖，可是我一直用得很拙劣。\n先是寫筆記字體很醜，也沒統整度，我好像只是單純模仿同學用功的樣子而已。iPad做的筆記還不如後來用筆電或紙筆手寫的工整。\n再來真正專業的文書和繪圖，我常常覺得不如開電腦。所以iPad定位在我手上就很微妙，也可能是我不會用吧。後來我買了Windows筆電更是認為，iPad除了比較輕方便攜帶以外，其餘功能根本比不上筆電。\n2021年，我有點失心瘋，將iPad以購入金額的半價賣給二手店，將得到的錢拿去買Sony旗艦機。\n完美又悲劇，Sony Xperia 5 II (2021 ~ 2023) # 名稱 內容 價格 22790新台幣 系統 Android 10 ~ Android 13 螢幕 6.1吋，2520x1080像素 相機 1200萬畫素 電量 4000mAh 處理器 高通Snapdragon 865 RAM 8GB ROM 256GB 特色功能 120hz螢幕，HDR，BT. 2020色域，前置雙喇叭，防水，支援記憶卡，快充 自小米9T背蓋出問題以來，便尋覓新手機。我可以確定，這是我找新手機規劃最久的一次，花一個月於網路詳細比較規格表，到實體店東摸西摸。得出人選有Google Pixel 5、LG G8X、Sony Xperia 5 II，最後決定選擇Sony Xperia 5 II。\n這支可能是我用過最好的手機了，各方面都很滿意，幾乎沒有換機念頭。含有許多讚美詞的心得我發在PTT：Sony Xperia 5 II一年使用心得\n原本以為憑藉s865性能可用個三年，直到一切被綠線毀掉：Sony Xperia 5 II螢幕綠線找上我了\n此時我才買第二年而已。全毀了。\n偏安一隅，小米Poco F1（2022 ～ 現在） # 名稱 內容 價格 3000新台幣 系統 Android 8 ~ Android 13，Windows 11 ARM，Ubuntu touch 20，postmarketOS，Mobian 螢幕 6.18吋，2246x1080像素 相機 1200萬畫素 電量 4000mAh 處理器 高通Snapdragon 845 RAM 6GB ROM 128GB 特色功能 支援記憶卡，快充。這是二手機。 撰文當下使用的主力機。這是買來實驗的機子，不是要取代Xperia 5 II用的。起因是網路看到有人把它刷成Windows 11和Linux，好奇買來玩玩。\n跟Poco F1約同期一起買的實驗裝置還有Pine64 PinePhone。買這些裝置讓我踏入另一個世界，後來發現我愛Linux勝過Windows，便深入研究postmarketOS這些另類系統。當我在做實驗的時候，Sony Xperia 5 II就負責拍照錄影。\n原本不是要取代Xperia 5 II的，但既然綠線已是事實，為日常使用考量，加上我又沒錢，還是先拿Poco F1出來頂。因為對自由軟體、隱私權的考量，我現在是刷成LineageOS，並希望未來仍能持續刷機，且盡量不買中國機。\n","date":"2023年6月4日","externalUrl":null,"permalink":"/posts/my-old-phones-from-2012-to-2023/","section":"Unboxings","summary":"這是Ivon十年來用過的手機的一覽表，每支手機都含有一個時代的回憶，因此我想把他們記錄下來，在我忘記之前。\n現存手機只剩這幾部\n超級長文注意，請善用上面的目錄功能跳轉。\n並搭配《歡樂頌》服用：\n為讓讀者有清楚認識，我先劃幾條分界線：\n2012年以前接觸手機的歷史不可考，我只記得玩過功能機一個熊貓爬上爬下吃竹子的遊戲。 在Zenfone 2 Selfie之前，我對手機規格和品牌是完全沒有概念的。 在Infocus M2＋之前，我的手機是沒有行動網路的，家裡也沒有Wifi，上網完全依靠公共Wifi。 規格表中的「價格」指的是我購入時的價格，不是上市的定價。「系統」是指我使用時實際安裝過的系統版本。 有些圖片來自以前我Facebook的貼文。有些手機已經丟掉了，所以圖片是上網找的。 一直要到小米9T和Sony Xperia 5 II，才首次對手機感到滿意，不會一年後急著換機，過去買的手機都偏低階也是因素啦。然後我最滿意的Sony Xperia 5 II撐不到三年就出現綠線自爆了。 初次感動，Victory’s F9 (2012 ~ 2015) # 名稱 內容 價格 約3000台幣 系統 功能型 螢幕 3.2吋 相機 未知 電量 800mAh，電池可單獨充電 RAM 未知 ROM 40KB 特色功能 支援記憶卡，支援觀看類比電視，支援WAP上網，支援Java，支援電子書 這是山寨iPhone的觸控功能機，可能是當時很流行的中國「長江山寨機」的產品，能夠拉出天線看類比電視。我媽玩膩後就給了我她的那支白色的，所以我有二支Victory’s F9的手機，二支性能還不一樣呢。\n","title":"十年以來，Ivon過去使用的手機一覽","type":"unboxing"},{"content":" 本文Ivon介紹幾個手機下載Youtube影片/音樂的方法，使用自由開源的軟體，不需要電腦，不需要依賴第三方線上轉檔服務。\n下載的影片可以用任何APP播放，沒有版權限制。\n1. Android # 方法1：透過NewPipe # 對Android系統而言，這是最簡單的方式。NewPipe是一款輕量的Youtube播放APP，可以下載影片或純音訊。\nNewPipe使用方法\n方法2：透過Seal APP # Seal APP為簡單的影片下載器，背後使用yt-dlp技術。\nSeal使用方法\n方法3：透過Invidious # Invidious這個開源專案旨在幫助人們建立一個極簡化的Youtube前端網站，有些網頁站台可以下載影片。\n參見：Invidious網站用法\n方法4：透過yt-dlp ＋ Termux # yt-dlp是知名的命令行下載工具，沿生自youtube-dl，可以用指令下載各種格式的Youtube影片，還能配合ffmpeg轉檔。yt-dlp支援各大作業系統，原版需要用指令操作。\n安裝終端機模擬器Termux，並完成初始化。\n設定手機儲存空間存取權限\ntermux-setup-storage 安裝yt-dlp套件。 pkg install python3 python-pip pip install yt-dlp 請參閱yt-dlp詳細教學了解指令用法。例如使用yt-dlp \u0026quot;Youtube影片網址\u0026quot;的指令下載mp4影片 # yt-dlp會自動選取畫質最高的版本，後面的-o是影片下載目錄 yt-dlp -S ext:mp4:m4a \u0026#34;Youtube影片網址\u0026#34; -o \u0026#34;storage/shared/Download/%(title)s.%(ext)s\u0026#34; 如果要下載純音樂，加入--audio-format的引數： yt-dlp -x --audio-format mp3 --audio-quality 0 \u0026#34;Youtube影片網址\u0026#34; -o \u0026#34;storage/shared/Download/%(title)s.%(ext)s\u0026#34; 如果要下載播放清單與影片，加入--yes-playlist引數 yt-dlp -S ext:mp4:m4a \u0026#34;Youtube播放清單網址\u0026#34; --yes-playlist --embed-chapters -o \u0026#34;storage/shared/Download/%(title)s.%(ext)s\u0026#34; 下載的影片或音樂，位於手機內部儲存空間/Download目錄。\nyt-dlp指令的完整用法請參考官方Github\n2. iOS # 方法1：使用Youtube影片下載捷徑 # 能下載Youtube的捷徑有很多，我用的是開發者Mncfre推出的\u0026quot;JAYD (Just Another YouTube Downloader)\u0026ldquo;捷徑，支援iOS 15以上系統。\n用iOS的Safari開啟這個網頁：https://routinehub.co/shortcut/4088/\n點選Get Shrotcut按鈕 點選加入捷徑 開啟iOS系統設定 → 捷徑 → 進階，點選「允許工序指令」 開啟Youtube網頁版：https://m.youtube.com，搜尋要下載的Youtube影片，進入影片網頁，再點選Safari的「分享」按鈕 往下滑動，點選「JAYD」 同意所有連線請求 選擇要下載影片(Video)或是音訊(Audio) 下載之後，選取要儲存到相機膠卷(Camera Roll)或是Shortcuts/JAYD資料夾。選前者下載後馬上看，選後者可完整保留影片檔名。 等待捷徑跑完，影片就會放在相機膠卷了。 如果在下載的時候選Shortcuts/JAYD，那麼請開啟「檔案APP」，到位置 → 捷徑 → JAYD資料夾尋找影片。\n方法2：透過Invidious # Invidious這個開源專案旨在幫助人們建立一個極簡化的Youtube前端網站，有些站台可以下載影片。\n參見：Invidious網站用法\n方法3：透過yt-dlp ＋ iSH Shell # 透過指令操作，你會有更多畫質的影片格式能下載。\n安裝a-Shell\n用pip安裝yt-dlp\npip install yt-dlp 請參閱yt-dlp詳細教學了解指令用法。例如要下載mp4影片，執行以下指令： yt-dlp -S ext:mp4:m4a \u0026#34;Youtube影片網址\u0026#34; 如果要下載音訊，執行以下指令： yt-dlp -x --audio-format mp3 --audio-quality 0 \u0026#34;Youtube影片網址\u0026#34; 如果要下載播放清單與影片，請加入--yes-playlist引數 yt-dlp -S ext:mp4:m4a \u0026#34;Youtube播放清單網址\u0026#34; --yes-playlist --embed-chapters 下載後的檔案，請用「檔案APP」，開啟位置 → iSH → root資料夾尋找。再將影片放到VLC的目錄播放。 yt-dlp指令的完整用法請參考官方Github\n","date":"2023年5月30日","externalUrl":null,"permalink":"/posts/download-youtube-videos-on-android-and-ios/","section":"所有文章","summary":" 本文Ivon介紹幾個手機下載Youtube影片/音樂的方法，使用自由開源的軟體，不需要電腦，不需要依賴第三方線上轉檔服務。\n下載的影片可以用任何APP播放，沒有版權限制。\n1. Android # 方法1：透過NewPipe # 對Android系統而言，這是最簡單的方式。NewPipe是一款輕量的Youtube播放APP，可以下載影片或純音訊。\nNewPipe使用方法\n方法2：透過Seal APP # Seal APP為簡單的影片下載器，背後使用yt-dlp技術。\nSeal使用方法\n方法3：透過Invidious # Invidious這個開源專案旨在幫助人們建立一個極簡化的Youtube前端網站，有些網頁站台可以下載影片。\n參見：Invidious網站用法\n方法4：透過yt-dlp ＋ Termux # yt-dlp是知名的命令行下載工具，沿生自youtube-dl，可以用指令下載各種格式的Youtube影片，還能配合ffmpeg轉檔。yt-dlp支援各大作業系統，原版需要用指令操作。\n","title":"【Android/iOS】如何用手機開源APP下載Youtube影片與音樂","type":"posts"},{"content":"想要在iOS系統無廣告看Youtube影片嗎？試試\u0026quot;Yattee\u0026quot; APP吧。\n這個APP名字有點難唸，它是一款無廣告的Youtube APP，支援背景播放、懸浮窗播放、純音樂模式、跳過業配片段。\n跟其他主打無廣告的Youtube APP不同之處在於，Yattee它是開源免費的軟體，不需要付費解鎖功能，亦不用破解閉源軟體來觀看Youtube。\nYattee依靠Invidious技術播放影片，原理比較接近Android的LibreTube，而非Youtube Revanced。所以Yattee無法登入Google帳號，要依靠Invidious站台的帳號來存取播放清單。\n1. 安裝Yattee # Yattee可以免費在App Store下載，支援iPhone/iPad/Apple TV/macOS\n系統需求：iOS 14以上，tvOS 15以上，macOS Big Sur以上\n作者的Github亦有提供IPA，該版本有預先配置好的站點，供AltStore用戶側載。\n2. 初始化站台 # 開啟APP只會看到播放本機影片檔的按鈕，站台要自行添加。作者可能是為了讓APP能順利上架App Store，才要這樣避人耳目。\n點選左上角的設定，點選左上角的Settings → Locations → Locations Manifest 在Locations Manifest處加入這個網址：https://r.yattee.stream/manifest-invidious-piped.json，再選擇下面的國家(Country)，就完成加入Invidious站台了。\n回到首頁，點選Trending頁面，即會載入在地熱門的影片。 如果你有偏好的站台服務，例如piped.kavin.rocks，那麼也可以在Locations Manifest的頁面，加入自訂網址，這樣就能登入Piped帳號存取播放清單了。 3. Yattee功能介紹 # 推薦先閱讀Invidious用法和Piped網站了解Yattee背後使用的技術。\n影片播放界面類似原版Youtube，完全無廣告。您可以在Settings勾選\u0026quot;Return Youtube Dislikes\u0026quot;顯示影片不喜歡數。\u0026ldquo;SponsorBlock\u0026quot;跳過業配片段的功能可自行開關。 回到桌面後，影片仍會繼續以懸浮窗播放。 亦可在播放界面點選純音樂模式(Music)，這樣便可以鎖定螢幕播放影片。 播放時支援建立臨時播放清單(Play Next)。若要儲存播放清單，請登入Invidious或Piped帳號。 目前Yattee APP尚未加入下載影片的功能，有需要用手機下載Youtube影片的請參考此篇文章。\n","date":"2023年5月30日","externalUrl":null,"permalink":"/posts/ios-yattee/","section":"所有文章","summary":"想要在iOS系統無廣告看Youtube影片嗎？試試\"Yattee\" APP吧。\n這個APP名字有點難唸，它是一款無廣告的Youtube APP，支援背景播放、懸浮窗播放、純音樂模式、跳過業配片段。\n跟其他主打無廣告的Youtube APP不同之處在於，Yattee它是開源免費的軟體，不需要付費解鎖功能，亦不用破解閉源軟體來觀看Youtube。\nYattee依靠Invidious技術播放影片，原理比較接近Android的LibreTube，而非Youtube Revanced。所以Yattee無法登入Google帳號，要依靠Invidious站台的帳號來存取播放清單。\n1. 安裝Yattee # Yattee可以免費在App Store下載，支援iPhone/iPad/Apple TV/macOS\n系統需求：iOS 14以上，tvOS 15以上，macOS Big Sur以上\n作者的Github亦有提供IPA，該版本有預先配置好的站點，供AltStore用戶側載。\n2. 初始化站台 # 開啟APP只會看到播放本機影片檔的按鈕，站台要自行添加。作者可能是為了讓APP能順利上架App Store，才要這樣避人耳目。\n點選左上角的設定，點選左上角的Settings → Locations → Locations Manifest 在Locations Manifest處加入這個網址：https://r.yattee.stream/manifest-invidious-piped.json，再選擇下面的國家(Country)，就完成加入Invidious站台了。\n","title":"iPhone與AppleTV如何無廣告看Youtube影片：使用Yattee APP","type":"posts"},{"content":"不越獄的話，iPhone是否有像是NewTerm的終端機呢?\n有的，iSH Shell就是你的選擇。 iSH Shell是一款開源的終端機APP，基於32位元Alpine Linux開發，可以免越獄執行SSH和各種Linux指令。\niSH可以做些什麼呢？因為他是一個模擬的x86系統，你可以SSH到遠端主機、在iOS跑SSH伺服器、iOS上寫Python/Java/NodeJS程式、執行Docker、跑Linux桌面環境等等\u0026hellip;這樣iPad也多了一個「生產力」的應用程式了。\n1. 安裝iSH Shell # iSH Shell為自由軟體，原始碼放在Github，Wiki有一些安裝常見軟體的教學文章。\niSH現已上架App Store。\n你也可以從AltStore側載IPA，方便啟用JIT加速。\n2. iSH初始設定 # 進入就是一個終端機的畫面，螢幕鍵盤有整合一些快捷鍵，從左到右分別是Ctrl、Shift、ESC、上下左右鍵。 Alpine Linux採用APK當套件管理器（跟Android APK是不同的東西），請閱讀Wiki了解用法。\n我們先安裝一些基本開發工具吧\napk update apk add openssh vim curl wget bash sudo openrc tmux git 要安裝Pyhton與Pip也行，至於Anaconda就\u0026hellip; apk add python3 py3-pip 執行指令，例如tmux會把終端機畫面分二半，使用效果如圖。 若要讓iSH保持在背景執行，執行以下指令，允許iSH Shell存取位置資訊。回到桌面後iSH會持續執行。\ncat /dev/location \u0026gt; /dev/null \u0026amp; 2. 用iSH Shell管理iOS檔案 # iSH Shell畢竟是普通APP，沒有越獄功能，所以只能看到自己的檔案系統，以及部份iOS APP所分享的資料夾。\niSH安裝之後，開啟「檔案」App可看到iSH內部的Linux檔案系統。你可以把其他APP的檔案複製到/root/資料夾給iSH Shell存取。 如果APP有支援檔案分享功能，那麼你可以用mount -t ios 掛載點名稱 /mnt指令，將APP分享的資料夾掛載給iSH Shell讀取。比如掛載VLC的資料夾，讀取影片檔： iSH亦能在設定中匯入/匯出檔案系統，如果搞壞系統可以從壓縮檔還原而不用重裝APP。 3. iSH設定開機服務 # Alpine使用的是OpenRC管理系統服務 apk add openrc 如果要開啟APP自動啟動ssh server，輸入: rc-update add sshd rc-service sshd start 4. iSH安裝圖形環境 # 參見iSH Shell X11安裝教學\n5. iSH Shell與UTM的比較 # 跟同樣為虛擬機軟體的UTM比起來，iSH Shell僅提供了一個最小化的終端機環境，執行所需資源較低，適合命令行愛好者使用。\niSH Shell跟UTM一樣，都是模擬Linux系統，不是原生執行的程式，所以一定會有效能損失。部份情況下可以啟用JIT加速轉譯。\niSH Shell虛擬系統只提供純文字介面，執行所需資源非常少，在老舊的iOS裝置也可以執行。但是，開發者選擇以32位元的Alpine Linux作為基底，會造成一些問題。首先Alpine Linux不是主流發行版，它的套件已經偏少了，再加上32位元架構，致使能裝的軟體會越來越少。還有，iSH Shell的轉譯器沒有實作所有System Call，執行部份程式會出現Bad System Call錯誤。\n如果你需要64位元的完整Linux環境，請還是用UTM搞個Alpine或Ubuntu系統吧。\n","date":"2023年5月30日","externalUrl":null,"permalink":"/posts/ios-ish-shell/","section":"所有文章","summary":"不越獄的話，iPhone是否有像是NewTerm的終端機呢?\n有的，iSH Shell就是你的選擇。 iSH Shell是一款開源的終端機APP，基於32位元Alpine Linux開發，可以免越獄執行SSH和各種Linux指令。\niSH可以做些什麼呢？因為他是一個模擬的x86系統，你可以SSH到遠端主機、在iOS跑SSH伺服器、iOS上寫Python/Java/NodeJS程式、執行Docker、跑Linux桌面環境等等…這樣iPad也多了一個「生產力」的應用程式了。\n1. 安裝iSH Shell # iSH Shell為自由軟體，原始碼放在Github，Wiki有一些安裝常見軟體的教學文章。\niSH現已上架App Store。\n你也可以從AltStore側載IPA，方便啟用JIT加速。\n2. iSH初始設定 # 進入就是一個終端機的畫面，螢幕鍵盤有整合一些快捷鍵，從左到右分別是Ctrl、Shift、ESC、上下左右鍵。 Alpine Linux採用APK當套件管理器（跟Android APK是不同的東西），請閱讀Wiki了解用法。\n我們先安裝一些基本開發工具吧\napk update apk add openssh vim curl wget bash sudo openrc tmux git 要安裝Pyhton與Pip也行，至於Anaconda就… apk add python3 py3-pip 執行指令，例如tmux會把終端機畫面分二半，使用效果如圖。 ","title":"iSH Shell: 在iOS上執行Linux終端機指令的APP","type":"posts"},{"content":" 現在のネット環境でデジタルプライバシー権を守るには、最悪の場合を想定した対策が不可避である。\n圖片來自Wikipedia\nこの記事では、私が学んだネットプライバシーを守る五つの技を共有し、同時にユーザーの自由も守る。簡単なものから順に参考として挙げる。中には反共ネット民から学んだものもある。\nこの記事の文脈では、価値の重要性の順位は順に：プライバシー \u0026gt; 自由 \u0026gt; オープンソース \u0026gt; 実用 \u0026gt; 便利 。そのため、自由でもオープンソースでもないネットプライバシーサービスを勧めることもあるが、これは私がネットユーザーの自由権を重視していないという意味ではない。\n1. 本物のメールアドレスをむやみに使わない # アカウント登録時には、転送サービスを使って本物のメールアドレスを保護し、迷惑行為を断ち、プライバシーを守る。Apple icloud、Mozilla Firefox Relay、SimpleLoginでこれができる。第三者転送の仕組みを使い、登録時にこれらのサービス業者が提供するEmailを使って自分へ転送すれば、本物のEmailアドレスの漏洩を防げる。\n本物の電話番号も簡単に渡してはいけない。可能ならTextNowのような仮想番号を多用して登録する。金を払ってもかまわない。\nアカウント登録後、個人情報ページに電話番号やメール情報が表示されて、人に丸見えにならないか注意する。\nサイト登録には強いパスワードを使い（Firefoxはランダム生成パスワードをサポートしている）、暗号化をサポートするパスワードマネージャーソフトウェアを活用してパスワードを管理する。\nすべてのサイトのアカウント名を同じにしない（へへ、私は全部同じにしていたけど、今は怖くてできない）。QQ番号/電話番号のような数字を自分のアカウント名に入れない。中国ではそうすると簡単に悪俗に開盒（人肉）されるらしい。\nFacebook、Twitterで本名と写真を使うのもとても危険だ。可能なら今日から改名するか、いっそソーシャルメディアアカウントを削除して、個人の身元が漏れるあらゆる経路を断ち切ることを勧める。\n2. 写真や動画をアップロードするときはEXIFを削除する # EXIFは写真データを記録するファイル形式で、写真ファイルの中に埋め込まれている。一部の動画ファイルにもこの類のmetadataがあるかもしれない。EXIFには、その写真がどのカメラ、どの絞りで撮影されたかが書かれる。スマホの撮影でGPSを有効にしていれば、EXIFにはその時点で撮影した座標も書き込まれる。\n撮影してアップロードした後、画像ホスティングプラットフォーム（Imgur、Postimg.ccなど）が写真のEXIF情報を削除してくれるとは限らない。これは地理的位置を漏洩させる。だからアップロード前にEXIFを削除することは重要な一環だ。\nAndroidスマホなら簡易相簿をダウンロードすれば、写真からEXIFを削除する機能がある。\nパソコンではEXIF Toolを使って、写真や動画からEXIF情報を一括削除できる。\nおいおい、ネット上でEXIFを削除できると称するサイトを探して、ぼけっと写真をアップロードして処理させるような間抜けなことは絶対にするなよ！ 隨意使用線上轉檔服務，有沒有考慮過隱私問題？\n3. 中国とアメリカのネットサービスへの依存を減らし、代替品を探す # 中国はプライバシー権の状況が悪い国としてよく知られており、すべては党の言う通りだ。近年ではアメリカもだんだん中国と同じようになってきた。スノーデン事件のリーク以降、テックジャイアント、そして中国、ファイブアイズ、フォーティーンアイズ同盟国にあるネットサービスに対しては、少し警戒しておくべきだ。\nネットサービスにはソーシャルメディア、メールプロバイダー、クラウドストレージ、ストリーミングサービス、SaaSサービスなどが含まれる。選択する前に、データ収集の面でプライバシー権を尊重しているか（ProtonMailなど）、クラウドにエンドツーエンド暗号化があるか（MEGAなど）、さらにサービスができればオープンソースソフトウェアを基盤に構築されているか（Nextcloudなど）をよく見る必要がある。\nここでは、あなたのプライバシーを侵害しがちな一般的なネットサービスの代替品をいくつか挙げる。さらに多くのサービスは文末のprivacytoolsリンクを参照してほしい。\n検索エンジン：Duckduckgo, SearX, Startpage, Brave Search メール：ProtonMail クラウドストレージ：MEGA, Proton Drive カレンダー：Proton Calendar ノート：Joplin パスワードマネージャー：Bitwarden 通信ソフトウェア：Telegram, Signal, Elements ブラウザ：Mozilla Firefox ソーシャルメディア：Mastodon, LBRY, PeerTube 欧米のサイトはGDPRの法律を考慮し、現在はプライバシー侵害の程度を徐々に抑えるようになっている。毎日あなたのデータを収集しているGoogle、Facebookでさえ、全個人データをダウンロードする機能を用意しているし、後発のネットサービスもユーザーのプライバシー権を尊重し始めている。たとえば、あなたにはGoogleマップに個人データの削除を要求する権利がある。このときはEU政策が全世界に恩恵を及ぼしたことに感謝すべきだろう。ただし！彼らはそれでも常時、法律に違反しない範囲であらゆる方法を使ってあなたを追跡するので、やはり注意は必要だ。\n台湾のプライバシー保護の歩みは比較的遅く、一部の事業者の登録では今もプライバシーが簡単に漏れる。政府サイトについては、私はひとまず台湾政府が個人情報を売り渡すほど堕落することはないと信じている。デジタル発展部がこの部分にも目を配ってくれることを願う。まあ以前にダークウェブ流出があったのだけど。\nしかし中国は違う。各種の実名制があり、以前はゲームをするために証明写真を送らないといけなかった。今ではソーシャルメディアに投稿するとIP所在地まで表示される。裏側のサーバーではIPを一つ一つ記録しているかもしれないと、誰に分かる？知乎のネット民が抗議しても無駄だ。ぬるま湯で蛙を煮るようなもの。境外勢力を捕まえたいと思った結果、投稿のIPは全部中国だった。今のサイトには隱藏浮水印まであり、スクリーンショットで自分のアカウント名が漏れる。怖すぎる。\nアメリカのFacebookでさえ信用できないのだから、中国のネットサービスはなおさらだ。中国資本企業のサービスにも特に注意が必要で、とりわけAPPはサイトより権限が多いのでさらに危険だ。Web版が使えるならWeb版を使い、中国のAPPは一つもインストールしないのがよい。うん、幸い私はそもそもスマホゲームをやらないし、TikTokもやらない。中国人、特に民主派の人々と知り合えるサイトは多い。Redditや品蔥などだ。なぜわざわざ中国サイトへ苦しみに行く必要がある？中国サイトを見るときは、Firefoxの強化型トラッキング防止を全開にし、アカウントにログインしないのが最善だ。\nただし実務的な角度から言えば、中国へ展開しない人だけが中国のネットサービスに依存せずに済む。そうでなければデジタル極権を拒む考えは心の中にひっそり隠しておくしかない\u0026hellip;中国人の金を跪きながら稼ぎつつ。\n4. セルフホスティングし、データを自分の手に握る # ここから先のいくつかは、多くの人にはできないかもしれない。実は私も100%やるのは難しい。\n前節のように、よりプライバシーを尊重するネットサービスを探すほか、セルフホスティング(self hosting)を試すことは、プライバシーを解決するより根本的な方法だ。プライバシーを守りたい人は、商用ソフトウェアを置き換えるため、アルバム、クラウドストレージ、ノート、映像音声サーバーのようなアプリケーションなど、ネットサービスの一部をセルフホストすることを理解しておくべきだ。ここにいくつか例がある。\n理想的には、自由でオープンソースのハードウェアを自分で購入し、Linuxシステムと組み合わせてhomelabを組むのが一番よい。技術力がやや足りない場合は、既製のNAS機器を購入することも考えられる。\nGoogle、Facebookがデータのエクスポートを許してくれるとしても油断してはいけない。いつかアカウントが直接BANされたら、ダウンロードの機会すらない！\n今から、従来型のソーシャルメディアを捨て、より自由なMastodon、Elements.ioへ移るのもよいタイミングだ。\n5. より安全なOSとネット環境を使う # スマホについては、私は個人的にiPhoneを優先的には勧めない。Appleがプライバシーを重視していると宣伝していても、iPhoneを使うと、より大きなユーザーの権益、すなわち自由を犠牲にする。サービスのほぼ半分はAppleの供給に頼らなければならず、自立できない。第三者APPもインストールできず、自由ソフトウェアへ完全に依存することも難しい。だから私はAndroidスマホのほうを勧める。\nAndroidスマホはメーカーを問わず、購入後に\u0026quot;LineageOS\u0026quot;のような、素のAndroidに近いシステムへROM焼きするのが一番よい。何も内蔵されていない状態にして、ROM焼き後はGoogle Playサービスをインストールしない。Rootは状況を見て有効にする。「脱Google化」(DeGoogle)の方法については、この記事ですでにいくつかコツを書いた。\nFairPhone、Volla、Murenaのようなプライバシーを尊重する意思のあるAndroidスマホメーカーを除けば、ROM焼きして脱Google化するのが唯一の出口だ。\nROM焼きしない場合、メーカー独自サービスを含むAndroidシステムはどれも信用に値しない。HuaweiやSamsungを買ったとしても、Google以外の企業が個人を監視するようになるだけで、まったくクソの役にも立たない。\nパソコンについては、システムにはGNU/Linuxを使うことを勧める。ディストリビューションはDebian、Ubuntu、Arch Linuxのどれでもよい。ここには多くの選択肢がある。ソフトウェアについては、せっかくLinuxを使うなら、あなたを追跡するプロプライエタリソフトウェアをもうインストールしないことだ。Google Chrome、Steamも含まれる。Linuxにはアンチウイルスソフトウェアもあまり必要ない。Firefox、LibreOfficeのような自由ソフトウェアを使って過去のプロプライエタリソフトウェアを置き換え、ついでにプライバシー問題からも抜け出す。自由ソフトウェアの一覧はLinux必裝的APPを参照。\nブラウザにはuBlock Origin ＋ Firefox Multi-Account Containersなどの拡張機能をインストールし、プライバシーを守ること。\nプライバシーを徹底的に守るなら、ネット接続も考慮すべきだ。Tor ＋ VPN ＋ 二重仮想マシンでネットに接続するのがよりよい方法である。\nこの方面の方法は編程隨想のブログを参考にできる：如何隐藏你的踪迹，避免跨省追捕[8]：如何搭配“多重代理”和“多虚拟机”\n広告疑惑を避けるため、特定企業のVPNは推薦しない。VPSを買って自分で建てることを選べる。\n6. ネットプライバシーを守る方法をさらに知る # 以下のネット自由、プライバシーを重視する組織と掲示板もぜひ注目してほしい。\nprivacytools.io 正體中文版 安全上网相关知识大杂烩 - 品蔥 電子前哨基金會 The Electronic Frontier Foundation 爭取未來 Fight for the Future 隱私服務列表 Awesome Privacy - A curated list of services and alternatives that respect your privacy because PRIVACY MATTERS. 去Google化 r/DeGoogle - Reddit 隱私權討論 r/privacy Privacy \u0026amp; Freedom in the Information Age - Reddit ","date":"2023年5月29日","externalUrl":null,"permalink":"/ja-jp/posts/5-ways-to-protect-online-privacy/","section":"Foss-Issues","summary":" 現在のネット環境でデジタルプライバシー権を守るには、最悪の場合を想定した対策が不可避である。\n圖片來自Wikipedia\nこの記事では、私が学んだネットプライバシーを守る五つの技を共有し、同時にユーザーの自由も守る。簡単なものから順に参考として挙げる。中には反共ネット民から学んだものもある。\nこの記事の文脈では、価値の重要性の順位は順に：プライバシー \u003e 自由 \u003e オープンソース \u003e 実用 \u003e 便利 。そのため、自由でもオープンソースでもないネットプライバシーサービスを勧めることもあるが、これは私がネットユーザーの自由権を重視していないという意味ではない。\n1. 本物のメールアドレスをむやみに使わない # アカウント登録時には、転送サービスを使って本物のメールアドレスを保護し、迷惑行為を断ち、プライバシーを守る。Apple icloud、Mozilla Firefox Relay、SimpleLoginでこれができる。第三者転送の仕組みを使い、登録時にこれらのサービス業者が提供するEmailを使って自分へ転送すれば、本物のEmailアドレスの漏洩を防げる。\n本物の電話番号も簡単に渡してはいけない。可能ならTextNowのような仮想番号を多用して登録する。金を払ってもかまわない。\nアカウント登録後、個人情報ページに電話番号やメール情報が表示されて、人に丸見えにならないか注意する。\nサイト登録には強いパスワードを使い（Firefoxはランダム生成パスワードをサポートしている）、暗号化をサポートするパスワードマネージャーソフトウェアを活用してパスワードを管理する。\n","title":"ネット利用時にプライバシーを守る五つの方法、自由とデジタル市民権を守る","type":"foss-issues"},{"content":"最終目的：未來造訪我的網站的時候，應當不需要開著uBlock Origin也能放心瀏覽。保障使用者自由與隱私，以及讓網站政策透明化。\n所以採取一些反主流，甚至開倒車的措施。\n1. 停止妥協之處 # 使用Google Analytics讓我良心不安，它會無時無刻監控使用者在站上的活動，誰在看什麼網頁都知道。因此我將Google Analytics正式從網站移除。 統計資料改成Umami，統計方式比較沒那麼侵入性。\n已移除Disqus留言板。無須多說，廣告，cookie追蹤一應俱全。\n已移除「不蒜子」文章次數計數器。其架構落後，跨站cookie追蹤。\n逐步移除外連至Imgur的圖片與影片。\n網頁中嵌入的Youtube影片，如果是我拍的，已全面換成Odysee連結。別人拍的Youtube影片不移除，因其屬於引用性質。\n2. 妥協之處 # 目前uBlock Origin偵測到的追蹤器還有以下幾個 以下是仍須改進之處。\n本站缺乏明確的隱私權政策 本站目前架在Cloudflare Pages，用以應付鉅額流量，並不用逼得我要放廣告。Cloudflare雖能防DDoS但是會對Tor使用者造成困擾。且Cloudflare的追蹤器https://static.cloudflareinsights.com關不掉 本站的網頁原始碼尚未開源。 Umami的統計資料面板可以公開，但是我沒公開。 本站的原始碼託管在Github，留言系統也依賴Giscus。Github被人指出不夠尊重使用者自由。未來可能會採用Commento、ISSO這類的留言板方案。 本站會出於給使用者方便的理由，直接或間接的推薦與使用專有且不自由的軟體/服務達成目的。例如教導在Windows上安裝XX軟體。 Odysee位於美國，仍會審查使用者上傳的影片。 本站還是有追蹤器，用於統計流量，只不過是換成了遵守GDPR的Umami罷了。 部份JS與字體仍仰賴第三方網站載入 未來可能基於實用考量，將一部分功能改回來。\n","date":"2023年5月29日","externalUrl":null,"permalink":"/posts/transparency-report-2023/","section":"Personals","summary":"最終目的：未來造訪我的網站的時候，應當不需要開著uBlock Origin也能放心瀏覽。保障使用者自由與隱私，以及讓網站政策透明化。\n所以採取一些反主流，甚至開倒車的措施。\n1. 停止妥協之處 # 使用Google Analytics讓我良心不安，它會無時無刻監控使用者在站上的活動，誰在看什麼網頁都知道。因此我將Google Analytics正式從網站移除。 統計資料改成Umami，統計方式比較沒那麼侵入性。\n已移除Disqus留言板。無須多說，廣告，cookie追蹤一應俱全。\n已移除「不蒜子」文章次數計數器。其架構落後，跨站cookie追蹤。\n逐步移除外連至Imgur的圖片與影片。\n網頁中嵌入的Youtube影片，如果是我拍的，已全面換成Odysee連結。別人拍的Youtube影片不移除，因其屬於引用性質。\n2. 妥協之處 # 目前uBlock Origin偵測到的追蹤器還有以下幾個 以下是仍須改進之處。\n本站缺乏明確的隱私權政策 本站目前架在Cloudflare Pages，用以應付鉅額流量，並不用逼得我要放廣告。Cloudflare雖能防DDoS但是會對Tor使用者造成困擾。且Cloudflare的追蹤器https://static.cloudflareinsights.com關不掉 本站的網頁原始碼尚未開源。 Umami的統計資料面板可以公開，但是我沒公開。 本站的原始碼託管在Github，留言系統也依賴Giscus。Github被人指出不夠尊重使用者自由。未來可能會採用Commento、ISSO這類的留言板方案。 本站會出於給使用者方便的理由，直接或間接的推薦與使用專有且不自由的軟體/服務達成目的。例如教導在Windows上安裝XX軟體。 Odysee位於美國，仍會審查使用者上傳的影片。 本站還是有追蹤器，用於統計流量，只不過是換成了遵守GDPR的Umami罷了。 部份JS與字體仍仰賴第三方網站載入 未來可能基於實用考量，將一部分功能改回來。\n","title":"2023年6月網站透明度報告，嘗試正式移除Google Analytics","type":"personal"},{"content":"過去我使用Linux系統是能播放CD與DVD光碟的，但是近代新興的藍光光碟(Blu-ray Disc)卻無法開箱即播。\n除了準備支援藍光的硬體外，還要有支援藍光的軟體。這時就要求助Arch Wiki了，在讀完Wiki列出的一長串解決方式，發覺很大篇幅在講用指令破解藍光的AACS、BD+加密什麼的，我覺得是浪費時間。藍光光碟這種惱人的版權玩意，連VLC都無法直接播，光靠自由軟體根本無法解碼加密過的藍光DVD。\n後來找到了「MakeMKV」這個比較簡單的方案，它是跨平台軟體，有圖形化界面，依賴內建的藍光解碼器，自動破解藍光DVD影片，將其轉檔成無加密的MKV，這樣任何影片播放器都能播放了。\n＊擷取出來的影片檔案僅為自用播放＊\n1. 準備藍光光碟機 # Linux用lsblk指令確認光碟機裝置 sudo lsblk 列表中的sr0裝置代表光碟機裝置，後面寫rom，代表尚未掛載 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 512M 0 part /boot └─sda2 8:2 0 465.3G 0 part / sr0 11:0 1 648.1M 0 rom 讓光碟機退片。如果您的光碟機沒有按鈕，請使用eject指令： eject -t 將藍光DVD放入光碟機，進片。若檔案管理員跳出問要不要掛載開啟，請先忽略。 2. 安裝與使用MakeMKV # MakeMKV由GuinpinSoft inc開發，提供原生Linux版程式，已經處於beta版十年了，是免費使用的專有軟體。30天過後要找註冊碼才能繼續使用。\n雖然有一篇Omg Ubuntu的文章說可以將VLC與MakeMKV結合使用，直接播放藍光DVD，但我在Arch Linux試了還是出現錯誤，所以才將其轉檔再播放。\n1.您可以用Flatpak技術，在各大Linux發行版安裝MakeMKV：\nflatpak install flathub com.makemkv.MakeMKV 您可能還要載入sg核心模組 sudo modprobe sg su echo sg \u0026gt; /etc/modules-load.d/sg.conf exit 啟動MakeMKV，即會自動掃描光碟裝置 點選文件 → 打開光盤，選取光碟 MakeMKV即會開始破解藍光光碟 點選右邊的Make MKV按鈕，開始轉檔。預設會儲存到~/视频/ 轉檔完成後的影片可直接用VLC或任一影片播放器播放，無需解碼 操作完成後，按MakeMKV → 文件 → 彈出光盤。\n","date":"2023年5月25日","externalUrl":null,"permalink":"/posts/makemkv-linux/","section":"所有文章","summary":"過去我使用Linux系統是能播放CD與DVD光碟的，但是近代新興的藍光光碟(Blu-ray Disc)卻無法開箱即播。\n除了準備支援藍光的硬體外，還要有支援藍光的軟體。這時就要求助Arch Wiki了，在讀完Wiki列出的一長串解決方式，發覺很大篇幅在講用指令破解藍光的AACS、BD+加密什麼的，我覺得是浪費時間。藍光光碟這種惱人的版權玩意，連VLC都無法直接播，光靠自由軟體根本無法解碼加密過的藍光DVD。\n後來找到了「MakeMKV」這個比較簡單的方案，它是跨平台軟體，有圖形化界面，依賴內建的藍光解碼器，自動破解藍光DVD影片，將其轉檔成無加密的MKV，這樣任何影片播放器都能播放了。\n＊擷取出來的影片檔案僅為自用播放＊\n1. 準備藍光光碟機 # Linux用lsblk指令確認光碟機裝置 sudo lsblk 列表中的sr0裝置代表光碟機裝置，後面寫rom，代表尚未掛載 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 512M 0 part /boot └─sda2 8:2 0 465.3G 0 part / sr0 11:0 1 648.1M 0 rom 讓光碟機退片。如果您的光碟機沒有按鈕，請使用eject指令： eject -t 將藍光DVD放入光碟機，進片。若檔案管理員跳出問要不要掛載開啟，請先忽略。 2. 安裝與使用MakeMKV # MakeMKV由GuinpinSoft inc開發，提供原生Linux版程式，已經處於beta版十年了，是免費使用的專有軟體。30天過後要找註冊碼才能繼續使用。\n","title":"如何在Linux系統觀看與擷取藍光BD：MakeMKV","type":"posts"},{"content":"儘管Android TV的影視APP很多，但看某些影片還是得用瀏覽器開網頁播。\n最近想在Android TV看台配版《南方四賤客》，久違的開啟了Android TV上的Puffin瀏覽器，看到一半，卻發現他們現在居然限制每日只能用一小時，再用就要付費。\n去你個春水龍！\n想想他們是用雲端彩現網頁，這也難怪。真是太慘了，我得找一款新的Android TV瀏覽器，是真的在本機彩現網頁的，不是像Puffin半雲端彩現，而且新的瀏覽器還得支援用4個方向鍵的普通遙控器操作。\nGoogle Play上有那種一眼看就是中國研發的閉源瀏覽器，我拒絕。後來找到了XDA用戶trueFedeX製作的「TV Bro」，功能簡單實用，支援用遙控器方向鍵控制，可以正常播放各大網站的應片，還能切換電腦版模式，使用體驗能替代Puffin瀏覽器了。更棒的是無廣告！還能幫您擋廣告！ 這個瀏覽器還可以用來下載其他APP的APK，這樣就可以免插隨身碟、免檔案管理器，直接在電視盒安裝APK了！\n1. 下載TV Bro瀏覽器 # TV Bro這個APP可以在Android TV的Google Play下載，最低需求為Android 6.0系統。 TV Bro是開源軟體，原始碼託管於Github，作者亦有在Github Release和F-Droid提供APK。\n2. TV Bro功能介紹 # TV Bro功能如下圖所示，我在圖上標注出來了。您可以開啟擋廣告和阻擋彈出視窗的功能，你知道的\u0026hellip;有些迷版網站廣告多的嚇死人 雖然阻擋彈出視窗能有效防止廣告，但仍須斟酌開啟，不然有些網頁可能無法運作。其有四個模式，第一個是完全不擋，第二個是擋對話框，第三個是連Javascript的新視窗也擋住，第四個是擋住所有新視窗。 要搜尋字詞，用遙控器將游標移動到右上角網址列即可。\n因為預設是Android手機模式，某些網頁元素可能要點二下OK鍵才會放大。\n進入頁面後使用遙控器的上下左右鍵移動，按OK鍵點選。按遙控器返回鍵叫出瀏覽器選單。長按遙控器OK鍵，可以模擬定點滾動手勢，用來捲動網頁單一區塊的選單。 TV Bro預設的瀏覽器引擎是GeckoView (Firefox的引擎)，如果有需要可在設定變更為Webview (Chrome的引擎)。 另外，TV Bro預設的UserAgent是Android手機，某些網站的手機版網頁在電視上可能顯得過於巨大。 此時可以在設定將UserAgent修改為Chrome (Desktop)，請求存取電腦版網頁。 這樣網頁在大尺寸的電視螢幕就不會顯得擁擠了。 問題解決，哇答咕嘻要繼續去看電視了。\n","date":"2023年5月21日","externalUrl":null,"permalink":"/posts/tv-bro-browser-for-android-tv/","section":"所有文章","summary":"儘管Android TV的影視APP很多，但看某些影片還是得用瀏覽器開網頁播。\n最近想在Android TV看台配版《南方四賤客》，久違的開啟了Android TV上的Puffin瀏覽器，看到一半，卻發現他們現在居然限制每日只能用一小時，再用就要付費。\n去你個春水龍！\n想想他們是用雲端彩現網頁，這也難怪。真是太慘了，我得找一款新的Android TV瀏覽器，是真的在本機彩現網頁的，不是像Puffin半雲端彩現，而且新的瀏覽器還得支援用4個方向鍵的普通遙控器操作。\nGoogle Play上有那種一眼看就是中國研發的閉源瀏覽器，我拒絕。後來找到了XDA用戶trueFedeX製作的「TV Bro」，功能簡單實用，支援用遙控器方向鍵控制，可以正常播放各大網站的應片，還能切換電腦版模式，使用體驗能替代Puffin瀏覽器了。更棒的是無廣告！還能幫您擋廣告！ 這個瀏覽器還可以用來下載其他APP的APK，這樣就可以免插隨身碟、免檔案管理器，直接在電視盒安裝APK了！\n1. 下載TV Bro瀏覽器 # TV Bro這個APP可以在Android TV的Google Play下載，最低需求為Android 6.0系統。 ","title":"TV Bro ～ Android電視盒看影片的開源瀏覽器，支援切換電腦版網頁、下載APK","type":"posts"},{"content":" 「果てまで　気の遠くなる様な旅をしよう」\n果てまで、気が遠くなるような長い旅を始めよう。\n出典：https://www.pixiv.net/artworks/65891187\nLinuxシステムの使い方を学び、Windowsへ戻らなくなって、ついに二年目に入った。Linux学習一年目とそれ以前の記録はこの文章を参照。\nこの一年は、完全に連続してLinuxシステムを使った一年だった。実機で他のシステムを使ったことはない。\nこの一年の旅路：\nUbuntu 22.04 → openSUSE Tumbleweed → FreeBSD 13 → Arch Linux → Gentoo → Linux from Scratch → Arch Linux → Debian → Arch Linux\n各ディストリビューションには異なる色彩、異なる文化がある。それはまるで《キノの旅》OPで歌われるように、各国を旅するような、本当に美しい世界だ。\n1. 思想の準備を整える # Linux is free if your time has no value. 文系学生にとって最も暇な大学四年生の時期にLinuxを研究するのは、これ以上ないほどよい。今回は、それを本当にメインのデスクトップシステムとして、生活のあらゆる面で使うつもりだった。\n思想は動力をもたらす。これは自明の理だ。この時期は理論構築が多く、システムの実作部分に触れるのは次の段階「浪流連」から始まる。\n2022年3月、Ubuntuを離れた後、ローリング更新でありながら自動化テストによって更新の安定性を確保するopenSUSE Tumbleweedをインストールすることにした。そして自由ソフトウェアの思想体系へ深く触れた。\n5月には一か月ほど、毎日「自由ソフトウェア財団」、「資訊人權貴」、「ソフトウェア自由保護組織」のようなサイトの記事を読み、GNU GPLライセンスを研究し、自由ソフトウェアを使う理由を論証していた。リチャード・マシュー・ストールマンの《自由軟體，自由社會》はたくさん読むことを勧める。\n6月、このブログを開設し、自由ソフトウェアについて討論する文章や、さまざまなLinuxソフトウェアの使い方チュートリアルを書き始めた。\n歴史ドキュメンタリー《作業系統革命》を見たので、この文章が生まれた：對大學端的自由軟體之淺見\n自由ソフトウェア理念の研究は、宗教のように没入する体験であり、このような暴論記事を生み出した：為什麼不玩《Minecraft》遊戲？別忘記它缺點就是專有軟體。より悪い負の結果として、私はかつて「自由ソフトウェア警察」になり、プロプライエタリソフトウェアを使うクソ野郎どもをあちこちで攻撃していた。翻訳テキストになぜCrowdinを使いWeblateを使わないのかと人と喧嘩したこともあり、最後には私が焦点を間違えていると砲撃された。結局、あの翻訳者たちには現実の専門的な仕事が本当にあり、私にはそれがなく、口だけだったのだ。数か月の間に似たような衝突が何度か起きたことで、今の私はかなり抑えるようになり、愛と包容を学び、純粋なイデオロギーのことで人と争うことは少なくなった。\n同時に、当時まだ消えていなかったゲーム欲を満たすため、Arch WikiとLibregame Wikiでどのような自由・オープンソースゲームが遊べるかを調査した。最後の成果がこれだ：不玩遊戲的理由…論從熱門遊戲轉向開源遊戲、そして迷上Minetest\nオープンソースゲームを研究しているとき、Creative Commonsがどういうものかを深く理解し、Creative CommonsがGPLでは扱えないアート素材をどのように補完するかを知った：動漫作品可以「開源」嗎？談創用CC的實例、開源的法國女巫漫畫：小辣椒與蘿蔔頭- 看板C_Chat - 批踢踢實業坊\nこの時期の理論は、比較的明確な体系を与えてくれた。自由ソフトウェアの世界が決して単純で単調なものではないことを教えてくれた。\n自由ソフトウェア理念の追求は、自前サーバー、デジタルプライバシー権、脱Google化、分散型ソーシャルメディア、反DRM、真のLinuxスマホPinePhone、Libreboot対応マザーボードのような完全に自由でオープンソースなハードウェアなどの議題へ広がっていった。これらの議題は今でも私が注目しているテーマである。特に「スマホ」という毎日最も重要な道具において、Linuxと自由ソフトウェア理念もここに根を下ろし芽吹かなければならないと考えている。\nたとえ後に理念が多少揺らいだとしても、これらが築いた理論的基礎を忘れることはない。\n2. ディストリビューションの間を流浪した歳月 # この風雨の激しい社会\u0026hellip;ここでいう浪流連は\u0026quot;Distro-hopping\u0026quot;と同じ意味である。\n＊ 私には二台のコンピューターがあり、一台はデスクトップ、一台はノートパソコンで、後者は主に授業へ持っていくために使っている。デスクトップは重要な計算を担当することが多いため、Distro-hoppingの頻度はノートパソコンよりはるかに低い。以下、特に説明がない場合はデスクトップを指す。\n7月、同じ自由ソフトウェアではあるが理念が少し異なるFreeBSDに触れた。BSDライセンスは商用クローズドソース利用を許可しており、ソースコードを必ずオープンソースとして還元することを強制しない。\nFreeBSDがLinuxではないことは知っているが、それでもノートパソコンに入れて遊んでみた。\nFreeBSDを使いながら、オンライン学習支援計画に参加している子どもたちへ遠隔授業をしていたが、一度も落ちたことはなかった。\n実は私は手を抜いてGhostBSDでインストールした：在微星筆電安裝GhostBSD (FreeBSD)教學\u0026amp; 使用感想。カメラドライバーなどはすべて自動で入った。XFCE4デスクトップ環境にブラウザー、さらにFcitx5があれば、遠隔授業には問題ない。ついでに外国人ですらあまり知らない、FreeBSDにSteamを入れてゲームを遊ぶ方法も研究した。\n実際のところ、単純な遠隔授業ならChromeOSでもできる。\nFreeBSDは夏休みの一か月を無事に過ごし、その後私はそれを入れ替えた。今でも私は、FreeBSDの理念はLinuxに一歩及ばないと思っている。BSD系システムの断片化度は低く、Linuxディストリビューション間ほど巨大な差異はないとしても、自由へのこだわりが徹底していなければ、人に好き放題搾取される乳牛になってしまう。やはり自由に滑空するペンギンでいるほうがいいと思う。ただし自由ソフトウェアを支援するため、私は米国公式ストアで1000台湾ドルのTシャツを買い、FreeBSD開発者を支援した。そして付属のステッカーをノートパソコンの蓋に貼った。\n7月末、ついにArch Linux時代へ入ることができた。手元の二台のコンピューターをどちらもArch Linuxへ換えた。システムパッケージがすべて最新で、あらゆる設定を自分で行う快感を体験した。\nしかし仮想マシン内でGentooを遊んで魅了され、8月末には二台のコンピューターをどちらもGentooへ換えた： 心得 系統遷移至Gentoo紀錄- 看板Linux - 批踢踢實業坊\nGentooでは、パッケージマネージャーがあるにもかかわらず、何を入れるにも一からコンパイルする快感を味わい、Systemd V.S. 伝統的Unix initシステムの戦争とは何かを知った。\n8月、中華民国ソフトウェア自由協会に加入した。\n9月、大学院が始まった。観察したところ、英語系の授業では皆が自分のデバイスを持ってくる。デバイス比率で言えば、性別に関係なく、半分はMacbook、半分はWindowsを使い、Linuxは私だけだった。Linuxハードウェアは外観での識別性があまりないので、私はノートパソコンの天板に大きなTuxとLinuxディストリビューションのステッカーを貼り、TuxやFreeBSD小悪魔が印刷された服を着て出かけた。ただしその程度までで、あちこちで人に\u0026quot;I use Linux btw\u0026quot;と言って回ることはない。単位のため、授業で必要なソフトウェアがLinuxをサポートしていなくても、教授に文句を言う勇気はあまりなく、仮想マシンで解決するか、許可を得てodtでdocxの代わりに課題を提出した。ほとんどの場合、誰もあなたがどのシステムを使っているかなどcareしない。一度だけ、博士課程の学生が私がコマンドを打っているのを見て興味を持ったことがあり、本当に気まずかった。\n9月～11月、この間にAlpine Linux、GNU Guix、Plan 9、OpenIndiana（Solaris）、Linux from Scratch、Void Linux、Fedora Silverblueなどのニッチなシステムへ短期的に触れた。多くは仮想マシンで体験し、一部は書き残して参考にできるようにした。\nLinux from Scratchだけは本当にマニュアルを参照して、Gentoo実機と一緒にインストールした。\nほかにもノートパソコンへ入れたシステムがいくつかある\u0026hellip;数はデスクトップをはるかに超えており、ノートパソコンにいったいいくつのディストリビューションを入れたのか、もう覚えていない。\nそれ以外にも、XFCE、GNOME、KDE、i3WMなどの「デスクトップ環境」にも少し触れた。最も深く使ったのはKDEとGNOMEで、それぞれの長所と短所を深く理解した。\nGentooは毎週一回更新していたが、新しいソフトウェアをコンパイルするだけで二時間もかかった。当時、任賢齊の「死不了」「天涯」、陳昇の「小雪」を聴きながら、Gentooのコンパイル完了を待っていたことを今でも覚えている。\nしかしいくつかの小さなミスにより、私は11月にArch Linuxへ戻した：用Gentoo二個月之後，默默換回了Arch Linux\n♫ 如果你真的愛我　讓我走開　心疼你當初反覆那樣的說 如果你真的愛我　讓我走開　我決心不從舊夢中　掙脫 ♫\nArchとGentooは開封してすぐ使えるものではないが、システムエラーを解決する多くの戦略を学ばせてくれた。ソフトウェアが実行できないからといって必ずしもbugとは限らず、何かのソフトウェアが入っていない、あるいはサービスが起動していない可能性がある。ハードウェアが駆動できないなら、コマンドで不足しているカーネルモジュールを確認し、WikiやRedditを見て解決策を探す。このように学ぶことで収穫は非常に多く、将来プログラムを開発したり、オペレーティングシステム原理の本を読んだりするうえでも役立つ。\n結局、Archは私のような強迫症気味の人間により合っており、Gentooほど管理が難しすぎるわけでもない。\n時間は2023年に入った。\n2023年1月、ノートパソコンにopenSUSE Tumbleweedを再インストールし、YaSTのようなグラフィカル管理ツールが本当に使いやすいことに気づいた。openSUSEはKDEデスクトップ環境の統合が最も優れたディストリビューションだと言える。 しかしopenSUSEシステムはややマイナーで、多くのソフトウェアはコンパイルする必要があるか、Fedoraのrpmを拝借して入れる必要がある。openSUSEの第三者リポジトリ「OBS」も、Arch LinuxのAURほど豊富ではない。だから日常的に三か月ほど使ったあと、ノートパソコンも今ではデスクトップと同じくArch Linuxへ戻した。今はノートパソコンの壁紙にopenSUSEのトカゲを置く習慣があり、openSUSEが私に与えた良い印象を記念している。\n2023年2月、一時的にどうかして、長期的な安定を追求するためにデスクトップのArch LinuxをDebian Stableへ換えた。これで落ち着けると思っていたが、後にUbuntuの問題が再び浮上した：ソフトウェアバージョンが古すぎる、特にKDEデスクトップ！Debian理念を宣揚する公式マニュアルを熟読しても、一週間後にArchへ戻すことを止められなかった。ソフトウェアが超安定しているが古いシステムは、サーバーシステムとして使えばよい！デスクトップシステムについては、すでにローリング更新ディストリビューションのモードに慣れてしまったのだと思う。\nただし、Debianのソフトウェア開発哲学を読んで重要な点を学んだ：システムを適切に計画しメンテナンスすること、フランケンシュタインを作らないこと（第三者パッケージを乱雑に入れないこと）、盲目的に新しいものを追い求めないこと。\n今では、デスクトップのArch Linuxは連続して6か月使っており、過去にUbuntuを使った最長期間に追いついた。背後の原理を理解していれば、Arch Linuxも同じようにうまく使える。\nあなたは私にこう聞くかもしれない。Distro-hoppingがそんなに頻繁なら、ハードディスクには重要なデータを入れていないのか？実はある。重要な画像、動画、音楽、仮想マシンイメージファイルなど、10年以上保存する予定の重要資産は別のハードディスクに置いており、一部はMEGAクラウドに封印して、必要なときにマウントする。そしてLinuxエコシステムに適応するため、それらのハードディスクはかなり早い段階でBTRFSまたはEXT4ファイルシステムにフォーマットした。これも私の決意を示している。もうWindowsへは戻らない。\n3. 普段のLinuxの用途と、学んだこと # Linuxコンピューターをメインにする用途は、同じく文字を書き、ネットを見て、ゲームを遊ぶことだ。この点は言うまでもないだろう。授業ノートにLinux、発表資料の投影にLinux、ゲームにLinux、絵を描くのにLinux\u0026hellip;だいたいそういう用途である。\n娯楽について言えば、Minetestは遊び方が尽きないオープンソースのブロックゲームだ。プロプライエタリゲームにはSteamが使えるし、スマホゲームを遊ぶにはWaydroid、Android x86仮想マシン、ReDroidなどさまざまな方法がある。ただまあ\u0026hellip;私は自由ソフトウェアを研究し、文章を書いて共有することのほうが、単にゲームを遊ぶより面白いことだとますます感じるようになった。今ではゲームは生活の中の娯楽道具になり、大学時代のように生活の中心ではなくなった。\nさらに、日常的にLinuxを使う中で、以下の三点も学んだ：\nすべてLinuxシステムを使う利点は、リモートアクセス技術を学べることだ。初期には間抜けにもX11 VNCやSunshineのリモートデスクトップ技術を研究していた。後に、リモート作業にはそもそもグラフィカルインターフェースは不要で、SSHだけで十分面倒を見られるとわかった。Hugoブログのファイルをリモート編集するのもSSHFSで解決している。（このブログの記事は、私はすべてローカルでmarkdownファイルを書いてからGithubへpushし、クラウドプラットフォームに自動デプロイさせている。各コンピューターにリポジトリを一つずつ複製しなくて済むように、リモートでファイルへアクセスする方法を採っている）\nまた、Linuxは開発環境の設定が非常に便利だ。自分のスマホ用Android ROMをコンパイルしようとしたとき、すぐに環境を整えられた。Github上で面白いオープンソースプロジェクトを見つけたら、複製してAnacondaを使えばすぐに立ち上げて遊べる。Linux端末とシステム底層がこれほど近いため、システムをインストールし環境を設定するとき、オペレーティングシステムの概念をより深く理解できる。プログラムを書くことは、もはやクローズドソースの黒箱が魔法を生むのを見るだけではなく、背後で何をやっているのかを明確に知ることができる。\n最後にDockerの使い方を学び、いくつかself-hostingサービスを構築した。定期的にRedditのr/selfhosted板へ行き、面白い自前ホストソフトウェアや商用SaaSの代替案を見ている。コンテナは本当にかなり使いやすい。サーバーサービスを構築するのに、システム設定をまったくいじる必要がなく（Arch Linuxは脆い）、Dockerへ一元管理を任せればよい。外部ネットワーク接続にはZeroTierを使う（残念ながらこれはプロプライエタリソフトウェアだ）。これにより、私はある程度、自前ホストのサービスへ依存でき、クローズドソースの商用ソフトウェアに依存しなくて済む。たとえばSearX搜尋引擎、PhotoPrism、Invidious、Stable Diffusion WebUI、個人AI助理などである。\n私がLinuxコンピューターの前に座っているときは、それを普通のコンピューターとして使う。コンピューターから離れるときはXサーバーを閉じてリソースを節約する。するとそれは、黙々と働くLinuxサーバーとなり、いつでもコマンドの到着を待つ。画面を開かず、グラフィックカードを使わなくても計算できる。ZeroTier＋SSH接続を使えば、ノートパソコンやスマホのTermuxでリモートホスト上の各サービスを管理できる。 4. オペレーティングシステムのメタバース # 「皆さん、期末ではXソフトでマインドマップを作り、Yソフトで統計分析を行います。」\n完全にLinuxで作業しているとして、本当にWindowsシステムが必要なソフトウェアに遭遇し、さらには学期成績の生死に関わる場合、いったいどうすればよいのかと聞かれたら？\n答えは、長年研究してきたQEMU/KVM仮想マシン技術である。デュアルブートすら必要ない。\nオペレーティングシステムを女の子に擬人化するなら、仮想マシンはその女の子たちをメタバースへ入れる装置だ！\n今の私はQEMU/KVMを最強の仮想マシンソフトウェアと呼びたい。VirtualBoxやVMwareにあるべき機能はすべてあるうえ、GPUパススルーというキラー機能まであり、ハードウェアリソースの共有も問題ではない。だからWindowsの仮想マシンは命綱になった。ただし私は今でもWindows仮想マシンを開くことは少なく、月に十回も開かない。基本的に私のワークフローは自由ソフトウェアとウェブアプリケーションで置き換わっている。\nWindowsをインストールする以外にも、仮想マシンは他のシステムをテストするためにも使え、自由ソフトウェアのインストールチュートリアルを書く助けになる。たとえばAndroid-x86仮想マシンはゲームを遊びつつクラウドスマホとして使えるし、macOS仮想マシンでは果粉世界の開発環境を理解できる。\n本当にDistro-hoppingするか確認する前にも、私は仮想マシンで動かして遊んでみる。たとえばGentoo、FreeBSD、Debianはいずれも仮想マシン内で評価してから実機へインストールし始めた。\n5. 揺れ動く心、Arch Linux ＋ KDEデスクトップに安住する # 一年の流浪を経て、Arch Linuxへ戻ってきた。\n実のところ、私はこの記事の最初で述べた自由ソフトウェア主義を裏切った。\n現在私が追求したいのは、人間性とハッカー性を両立するシステム理念であり、グラフィカル化とコマンドを同じく重視することだ。ユーザーの自由を維持しつつ、より多くの人にLinuxを使ってもらうためである。だから私は、一部のプロプライエタリソフトウェアの使用を排斥しない。ハードウェアからソフトウェアまで同じだ。しかし大きな方向性として、私は今でもLinuxユーザーに自由でオープンソースな解決策を探すことを奨励する。たとえば、GIMPとKritaがあるなら、苦労してWineでPhotoshopを走らせる必要はない。誰もがLibreOfficeとKdenliveを学び、よくあるが機能が基礎的なプロプライエタリソフトウェアを置き換えるべきだ。台湾の教育現場ではもっと自由ソフトウェアを使うべきだ。\nしかしどれほど妥協しても、私の最低ラインは使うシステムがLinuxでなければならないということだ。だから最終的にArch Linuxへ戻った。これは純粋に個人的な選択である。Archには派手な包装がなく、大企業が発展方向へ干渉せず、ユーザーに飲み込ませる強制的なシステム設定もない。そしてこのシステムを人気に保つだけの十分なユーザー数がある。前述の通り、Debianに触れたことで私はシステムメンテナンスについてより明確な概念を得た。そのためArchをインストールするとき（現在も更新中のインストールチュートリアル記事を含む）は、できるだけWikiに書かれたbest practiceに従ってシステムを配置している。今後AURのソフトウェアを入れるときはさらに慎重にし、FlatpakとDocker技術を多く使ってソフトウェアをインストールする。まとめると、最新技術を追求するArch Linuxを使いながらも、過度に急進的な態度が生活に影響しないよう避ける、ということだ。\n最後にLinux普及の問題について。ディストリビューションに関して言えば、私はやはり初心者にはまずUbuntuを試すことを勧める。それ以外はない。Canonical社にどんなdramaがあろうと、Ubuntuはほぼ企業と個人PCデスクトップにおけるLinux標準になっており、ユーザーも多い。彼らが自由ソフトウェアの最低ラインを守っているかぎり、脳死でボイコットする必要はない。関連記事カテゴリ：Linux使用技巧\nユーザーが本当に興味を持ってから他のLinuxディストリビューションを試しても遅くない。より自由を愛する人は、ぜひArch Linuxを学びに来てほしい。\nデスクトップ環境について言えば、あまりにもgeekなデスクトップ環境は私は受け入れられない。たとえばdwm、i3WM、Swayなどだ。それはLinux普及には逆効果になる。\nさらに、何度もテストしたあと、私は個人的にはやはりGNOMEは使いにくいと思っている。XFCEは簡素すぎ、Cinnamonはデフォルトが醜い。だから今に至るまで、私はKDE PlasmaこそLinux最高のデスクトップだと認めている。私に文句を言う人もいる。見た目がおもちゃっぽい？不安定？調整できる設定が多すぎて複雑になる？私はどれも問題ではないと思う。KDEの自由度はやはり比較的高い。安定性も近年かなり改善されている。KDEがコマンドライン操作をグラフィカルなシステム設定へ統合することは無用の長物ではなく、システムをより使いやすくする設定である。\nArch LinuxとKDEがあれば、Linux普及チュートリアル記事を書くための堅固なデモ環境ができる。ただし大衆の入門難易度を考慮して、外向け教学の例は今でもUbuntuのインストール方法を主にしている（仮想マシンは本当に便利だ）。余力があるときだけ、UbuntuとArch Linuxのインストールコマンドを併記する。\n世界中のすべての開発者の献身と貢献に感謝する。それがあってこそ、自由ソフトウェアとLinuxエコシステムが存在している。\n今はArch Linuxに落ち着いている。将来、もしかするとまた、さらに多くのLinuxディストリビューションを探索する旅へ踏み出すかもしれない。\n「ここにはボクがいて そこにキミがいる それだけで　明日がかわるから」\nここには僕がいて、そこには君がいる。ただそれだけで、明日は変わるのだ。\n","date":"2023年5月20日","externalUrl":null,"permalink":"/ja-jp/posts/linux-learning-history-2th-year/","section":"Posts","summary":" 「果てまで　気の遠くなる様な旅をしよう」\n果てまで、気が遠くなるような長い旅を始めよう。\n出典：https://www.pixiv.net/artworks/65891187\nLinuxシステムの使い方を学び、Windowsへ戻らなくなって、ついに二年目に入った。Linux学習一年目とそれ以前の記録はこの文章を参照。\nこの一年は、完全に連続してLinuxシステムを使った一年だった。実機で他のシステムを使ったことはない。\nこの一年の旅路：\nUbuntu 22.04 → openSUSE Tumbleweed → FreeBSD 13 → Arch Linux → Gentoo → Linux from Scratch → Arch Linux → Debian → Arch Linux\n各ディストリビューションには異なる色彩、異なる文化がある。それはまるで《キノの旅》OPで歌われるように、各国を旅するような、本当に美しい世界だ。\n1. 思想の準備を整える # Linux is free if your time has no value. 文系学生にとって最も暇な大学四年生の時期にLinuxを研究するのは、これ以上ないほどよい。今回は、それを本当にメインのデスクトップシステムとして、生活のあらゆる面で使うつもりだった。\n思想は動力をもたらす。これは自明の理だ。この時期は理論構築が多く、システムの実作部分に触れるのは次の段階「浪流連」から始まる。\n2022年3月、Ubuntuを離れた後、ローリング更新でありながら自動化テストによって更新の安定性を確保するopenSUSE Tumbleweedをインストールすることにした。そして自由ソフトウェアの思想体系へ深く触れた。\n","title":"Linuxシステムを二年使った感想の記録","type":"posts"},{"content":"「果てまで　気の遠くなる様な旅をしよう」\n直到盡頭，讓我們開始那漫長的旅程吧。\n來源：https://www.pixiv.net/artworks/65891187\n學習使用Linux系統，不再返回Windows，終於邁入了第二年。學習Linux第一年與之前的紀錄看這篇。\n這一年，是完全連續使用Linux系統的一年，沒有在實體機使用過其他系統。\n這一年的旅程路徑：\nUbuntu 22.04 → openSUSE Tumbleweed → FreeBSD 13 → Arch Linux → Gentoo → Linux from Scratch → Arch Linux → Debian → Arch Linux\n每個發行版都有不同的色彩，不同的文化，就宛如《奇諾之旅》OP所唱，遊歷各國，真是美麗的世界\n1. 做好思想準備 # Linux is free if your time has no value. 在文組生最閒暇的大四研究Linux是再好不過了。這次，我要將其真正的作為主力桌面系統，用於生活的各個方面。\n思想帶來動力，這是不證自明的道理。此一時期構建理論居多，接觸系統的實作部份為下一階段「浪流連」才開始。\n2022年3月，離開Ubuntu後，選擇安裝滾動更新，又有自動化測試以確保更新穩定性的openSUSE Tumbleweed，深入接觸自由軟體的思想體系。\n5月曾有一個月的時間，每天就是看「自由軟體基金會」、「資訊人權貴」、「軟體自由保護組織」這類網站的文章，研讀GNU GPL的授權，以及論證使用自由軟體的理由。理查·馬修·史托曼的《自由軟體，自由社會》勸你多讀。\n6月，本部落格成立，開始撰寫討論自由軟體的文章，還有各種Linux軟體的使用教學。\n看了歷史紀錄片《作業系統革命》，所以有了這篇文章：對大學端的自由軟體之淺見\n研讀自由軟體理念是宛若宗教一般沈浸的體驗，催生出了這種暴論文章：為什麼不玩《Minecraft》遊戲？別忘記它缺點就是專有軟體。更糟糕的負面後果：我曾經變成「自由軟體警察」，處處攻擊那些使用專有軟體的混帳。曾經跟人吵說為什麼翻譯文本要用Crowdin不用Weblate，最後被砲轟我搞錯重點。畢竟那些譯者是真的有現實的專業工作，而我沒有，只會出一張嘴。幾個月內又爆發幾次類似衝突，使得我現在收斂許多，學會愛與包容，比較少跟人吵純意識型態的東西了。\n同時，為滿足當時仍未熄滅的玩遊戲需求，到Arch Wiki和Libregame Wiki調查有哪些自由開源遊戲可以玩。最後的成果便是：不玩遊戲的理由…論從熱門遊戲轉向開源遊戲，以及迷上Minetest\n研究開源遊戲的時候，深入了解創用CC是怎麼一回事，了解創用CC如何填補GPL無法處理的藝術素材：動漫作品可以「開源」嗎？談創用CC的實例、開源的法國女巫漫畫：小辣椒與蘿蔔頭- 看板C_Chat - 批踢踢實業坊\n此段時日的理論提供了一個相對清楚的體系，讓我知道自由軟體的世界絕非那樣簡單與單調。\n對自由軟體理念的追求，延伸出了自架伺服器、數位隱私權、去Google化、去中心化社群媒體、反DRM、真Linux手機PinePhone、完全自由開源的硬體，如支援Libreboot的主機板等議題。這些議題到現在仍是我關注的主題。尤其「手機」這個每天最重要的工具，我認為Linux與自由軟體理念也必須在這裡生根發芽。\n即使，後面的理念有些動搖，卻也不忘記這些打下的理論基礎。\n2. 在發行版之間浪流連的歲月 # 這個風風雨雨的社會\u0026hellip;浪流連在這裡等同\u0026quot;Distro-hopping\u0026quot;的意思。\n＊ 我有二部電腦，一部桌機一部筆電，後者主要是帶出去上課使用的。因為桌機需要常常負責重要運算的緣故，Distro-hopping的頻率遠低於筆電。以下若無特別說明，指的皆是桌機。\n7月，接觸到同為自由軟體，但理念稍有不同的FreeBSD。BSD授權條款允許商業閉源利用，並不強迫原始碼必須開源回饋出來。\n我知道FreeBSD不是Linux，但還是裝在筆電玩玩。\n一邊用FreeBSD，一邊給參與線上輔導計畫的小朋友遠距教學，從來沒有當掉過。\n其實我是偷懶用GhostBSD裝的：在微星筆電安裝GhostBSD (FreeBSD)教學\u0026amp; 使用感想。相機驅動什麼都自動裝好。XFCE4桌面環境搭配瀏覽器，還有Fcitx5，要遠距教學是沒問題的，還順便研究了連外國人都不太知道的FreeBSD裝Steam玩遊戲。\n其實啦，單純遠距教學就算用ChromeOS也能上。\nFreeBSD安然度過了暑假的一個月，在那之後我就把它換掉了。到現在我還是認為FreeBSD的理念差Linux一截。即使BSD系統的碎片化程度較低，沒有Linux發行版的巨大差異，可是對自由的堅持不夠徹底，就會變成讓人允取允求的奶牛，我認為還是當一隻自由滑翔的企鵝好。不過為了贊助自由軟體，我還是在美國官方商店買了件1000台幣的T恤支持FreeBSD的開發人員，再將贈送的貼紙貼在筆電蓋上。\n7月底，終於能夠進入Arch Linux時代，手上的二台電腦都換成Arch Linux。體會到系統套件都是最新，什麼設定都要自己來的快感。\n不過在虛擬機裡面玩Gentoo，被吸引後，於8月底將電腦雙雙換成Gentoo： 心得 系統遷移至Gentoo紀錄- 看板Linux - 批踢踢實業坊\n用Gentoo體驗到，儘管有套件管理員，裝任何東西都要從頭編譯的快感，並知曉何謂Systemd V.S. 傳統Unix init系統的戰爭。\n8月，加入中華民國軟體自由協會。\n9月，研究所開學。根據觀察，英語系上課每個人都會帶自己的裝置。就裝置比例而言，無關性別，一半人使用Macbook，一半Windows，只有我是Linux。鑑於Linux硬體外觀沒什麼辨識度，所以我在筆電背蓋貼大大的Tux和Linux發行版的貼紙，穿Tux和印有FreeBSD小惡魔的衣服出門。但也就做到這種程度而已，我不會到處跟人說\u0026quot;I use Linux btw\u0026quot;。為了學分著想，上課需要的軟體不支援Linux我也不太敢跟教授靠北，而是用虛擬機解決，或是在許可下用odt取代docx交作業。大多數時候沒人會care你用什麼系統的。僅有一次，遇過博士生看我打指令覺得很好奇，真是尷尬。\n9月~11月，在這之間短期接觸過Alpine Linux、GNU Guix、Plan 9、OpenIndiana (Solaris)、Linux from Scratch、Void Linux、Fedora Silverblue等小眾系統，多半於虛擬機體驗，部份有寫下來供參考。\n只有Linux from Scratch是真的參考手冊跟Gentoo實體機裝在一起。\n還有些系統是裝在筆電上\u0026hellip;數量遠超過桌機，我都記不清楚筆電到底裝過幾個發行版了。\n除此之外，XFCE、GNOME、KDE、i3WM等「桌面環境」也都略有接觸，用最深入的是KDE和GNOME，深刻了解到他們各自的優缺點。\nGentoo每週更新一次，光編譯新軟體就長達二小時。我還記得那時我會一邊聽任賢齊的「死不了」、「天涯」，陳昇的「小雪」，一邊等待Gentoo編譯完成。\n然而因為一些小錯誤，使得我於11月換回了Arch Linux：用Gentoo二個月之後，默默換回了Arch Linux\n♫ 如果你真的愛我　讓我走開　心疼你當初反覆那樣的說 如果你真的愛我　讓我走開　我決心不從舊夢中　掙脫 ♫\nArch和Gentoo無法開箱即用，卻讓我學到許多排除系統錯誤的策略：軟體無法執行不見得是bug，可能是某個軟體沒裝或是服務沒開；硬體無法驅動，就用指令查看有什麼核心模組缺了，然後看Wiki和Reddit找解方。這樣學習下來收穫頗豐，對未來開發程式、讀作業系統原理的書籍也很有幫助。\n結果Arch比較適合我這種強迫症的人，又不會像Gentoo那樣太難管理。\n時間進入2023年。\n2023年1月，在筆電重新安裝openSUSE Tumbleweed，發覺YaST這類圖形化管理工具是真的好用，可以說openSUSE是整合KDE桌面環境最好的發行版。 但因為openSUSE系統偏冷門，很多軟體要用編譯的，或是偷Fedora的rpm來裝，openSUSE的第三方軟體庫「OBS」又沒有Arch Linux的AUR豐富。所以在日常使用了三個月左右後，筆電現在也是跟桌機一樣換回Arch Linux了。現在筆電桌布習慣放一隻openSUSE的蜥蜴，紀念openSUSE給我的良好印象。\n2023年2月，一時失心瘋，追求長久的穩定所以將桌機的Arch Linux換成Debian Stable。原本以為可以安頓下來，後來Ubuntu的問題重新浮現：軟體版本太老了，尤其是KDE桌面！即使研讀宣揚Debian理念的官方手冊，也無法阻止我一個禮拜後換回Arch。軟體超級穩定但陳舊的系統，當伺服器系統就好！我想，桌面系統已經習慣滾動更新發行版的模式了。\n不過，讀Debian的軟體開發哲學學到了重要的幾點：妥善規劃與維護系統，不要製造科學怪人(亂裝第三方套件)，不要盲目追求新東西。\n到現在，桌機Arch Linux連續用6個月了，已經趕上過去用Ubuntu的最長時日了。如果知道背後原理，則Arch Linux同樣能夠用得很好。\n你可能會問我，Distro-hopping這麼頻繁，硬碟都沒放重要資料？其實還是有的，重要的圖片、影片、音樂、虛擬機映像檔，這些預計保存10年以上的重要資產我是放在另一個硬碟，有些封存在MEGA雲端，需要用的時候再掛載。並且為適應Linux生態，那些硬碟我很早就格式化為BTRFS或EXT4檔案系統了。這也代表我的決心，不再返回Windows。\n3. 平常Linux的用途，還有學習到的東西 # Linux電腦當主力，同樣是用來打打字，上網，玩遊戲，這幾點不用提了吧。上課筆記用Linux，投影報告用Linux，打遊戲用Linux，繪圖用Linux\u0026hellip;大概是這些用途。\n說到娛樂，Minetest是玩法無止盡的開源方塊遊戲，專有遊戲有Steam能用，玩手機遊戲有Waydroid、Android x86虛擬機、ReDroid等各種方案。不過嘛\u0026hellip;我越來越覺得研究自由軟體，並寫文章分享是比純粹打遊戲更有趣的事兒了。到現在遊戲變成我生活的休閒用具，而非大學時當成生活重心那樣了。\n此外，日常使用Linux還學到以下三點：\n全部使用Linux系統的好處是學會遠端存取的技術，早期還笨笨的研究X11 VNC、Sunshine的遠端桌面技術。後來發現遠端工作根本不需要圖形界面，SSH就能照顧得很好。遠端編輯Hugo部落格的檔案也是靠SSHFS解決。(本部落格的文章我都是在本機打好markdown檔案再推送到Github，交給雲端平台自動部署的。為避免每部電腦都要複製一份儲存庫，我採取遠端存取檔案的作法)\n另外，Linux設定開發環境很方便，嘗試編譯給自己手機用的Android ROM的時候很快便配好環境。看到Github上有趣的開源專案，複製下來用Anaconda很快就能架起來玩。因為Linux終端機與系統底層是這樣的接近，在安裝系統和配置環境的時候對作業系統概念有更多理解。寫程式不再只是看封閉原始碼的黑箱變出魔法，而是可以清楚的讓人知道背後在玩什麼花樣。\n最後是學會使用Docker，架設一些self-hosting的服務，定期去Reddit的r/selfhosted板看有趣的自架軟體，以及商業SaaS的替代方案。容器真的蠻好用的，架設伺服器服務完全不需要去動系統設定(Arch Linux很脆弱的)，交給Docker統一管理即可。外部網路連線使用ZeroTier(可惜他是專有軟體)，使得我一定程度上可以依賴自架的服務，而不用依賴閉源的商業軟體。譬如SearX搜尋引擎、PhotoPrism、Invidious、Stable Diffusion WebUI、個人AI助理等等。\n當我坐在Linux電腦前時，就是把它當一般的電腦用。離開電腦關閉X伺服器節省資源，它就變成一台默默工作的Linux伺服器，隨時等候指令傳入，不開螢幕顯示卡也能運算。使用ZeroTier＋SSH連線，我就可以用筆電、手機Termux管理遠端主機的各個服務。 4. 作業系統的元宇宙 # 「同學們，我們期末要使用X軟體製作心智圖，並用Y軟體跑統計分析。」\n如果你問我，完全用Linux工作，但是真的遇到需要Windows系統的軟體，甚至會影響到學期成績的生死，究竟該怎麼辦？\n答案是鑽研了多年的QEMU/KVM虛擬機技術，連雙重開機都不需要了。\n如果將作業系統擬人為女孩，虛擬機就是讓女孩們進入元宇宙的裝置！\n現在我願意稱QEMU/KVM為最強虛擬機軟體，VirtualBox、VMware該有的功能都有外，還有GPU直通這個殺手級功能，共享硬體資源也不是問題。所以，Windows的虛擬機器便成為救命法寶。但是我還是很少開Windows虛擬機，大約一個月開不到十次，基本上我的工作流程已用自由軟體及網頁程式取代。\n除了安裝Windows外，虛擬機還能用來測試其他系統，有助於我寫自由軟體的安裝教學文章。例如Android-x86虛擬機可以玩遊戲兼當雲手機，macOS虛擬機能夠了解果粉世界的開發環境。\n在確認要真的Distro-hopping之前，我也會用虛擬機跑來玩玩看，例如Gentoo、FreeBSD、Debian皆是在虛擬機內評估過才開始安裝到實體機器上的。\n5. 驛動的心，安居於Arch Linux ＋ KDE桌面 # 經歷過一年的流浪後，回到了Arch Linux。\n事實上，我背叛了文章最初提到的自由軟體主義。\n目前我想追求的是人性與駭客兼顧的系統理念，圖形化和指令並重，以求能維持使用者自由，又能讓更多人使用Linux。所以我不排斥使用部份的專有軟體，從硬體到軟體皆然。但是大方向上，我還是鼓勵Linux使用者尋求自由開源的解決方案。譬如：有GIMP和Krita就不需要煞費苦心用Wine跑Photoshop了；人人都應該學LibreOffice和Kdenlive，取代常見但功能基礎的專有軟體；台灣教育現場應該多使用自由軟體。\n但是不論怎麼妥協，我的底線是使用的系統還得是Linux，所以最終回到Arch Linux，這純粹是個人的選擇。它沒有花俏的包裝，沒有大公司干涉發展方向，沒有強迫使用者吞下的系統設定，並有足夠的用戶數量讓這個系統維持熱門。前面說過，接觸Debian使得我對系統維護有了更清楚的概念，因此在安裝Arch(包含現在仍在更新的安裝教學文)時都儘量按照Wiki寫的best practice來佈置系統。往後安裝AUR的軟體更謹慎，多採用Flatpak和Docker技術安裝軟體。總結，用追求最新科技的Arch Linux，卻也避免過度激進的態度影響生活。\n最後是推廣Linux問題，就發行版而言，我還是推薦新手優先嘗試Ubuntu，沒有其他的了。不論Canonical公司有什麼drama，Ubuntu幾乎已經是企業和個人電腦桌面的Linux標準了，用戶也很多。只要他們還是遵守自由軟體的底線，就沒有無腦抵制的必要。相關文章分類：Linux使用技巧\n等用戶真的有興趣了再嘗試其他Linux發行版也不遲，更喜愛自由的人歡迎來學Arch Linux。\n就桌面環境而言，太geek的桌面環境我不能接受，例如dwm、i3WM、Sway，那對推廣Linux會是反效果。\n此外，在測試了好幾次後，我個人還是覺得GNOME很難用，XFCE太簡陋，Cinnamon預設很醜，所以我到現在只認KDE Plasma為Linux最好桌面。有人跟我抱怨它長得像玩具？不穩定？能調的設定太多使其變得繁雜？我認為這都不是問題，KDE的自由度還是比較高的；穩定度近年來也改善許多；KDE將命令行的操作整合到圖形系統設定不是雞肋，而是讓系統更好用的設定。\n有了Arch Linux和KDE，寫Linux推廣教學文有了穩固的平台做示範。不過考量到大眾入門難易度，對外教學的例子我還是以Ubuntu的安裝方法為主(虛擬機真好用)，有餘力的話才將Ubuntu與Arch Linux的安裝指令並列。\n感謝世界上所有開發者的付出貢獻，才有了自由軟體和Linux生態系。\n現在安頓在Arch Linux。在未來，或許又會繼續踏上更多Linux發行版探索之路。\n「ここにはボクがいて そこにキミがいる それだけで　明日がかわるから」\n這裡有我在，而那裡有你在。只是因為這樣，明天就會改變了啊。\n","date":"2023年5月20日","externalUrl":null,"permalink":"/posts/linux-learning-history-2th-year/","section":"Foss-Issues","summary":"「果てまで　気の遠くなる様な旅をしよう」\n直到盡頭，讓我們開始那漫長的旅程吧。\n來源：https://www.pixiv.net/artworks/65891187\n學習使用Linux系統，不再返回Windows，終於邁入了第二年。學習Linux第一年與之前的紀錄看這篇。\n這一年，是完全連續使用Linux系統的一年，沒有在實體機使用過其他系統。\n這一年的旅程路徑：\nUbuntu 22.04 → openSUSE Tumbleweed → FreeBSD 13 → Arch Linux → Gentoo → Linux from Scratch → Arch Linux → Debian → Arch Linux\n每個發行版都有不同的色彩，不同的文化，就宛如《奇諾之旅》OP所唱，遊歷各國，真是美麗的世界\n1. 做好思想準備 # Linux is free if your time has no value. 在文組生最閒暇的大四研究Linux是再好不過了。這次，我要將其真正的作為主力桌面系統，用於生活的各個方面。\n思想帶來動力，這是不證自明的道理。此一時期構建理論居多，接觸系統的實作部份為下一階段「浪流連」才開始。\n2022年3月，離開Ubuntu後，選擇安裝滾動更新，又有自動化測試以確保更新穩定性的openSUSE Tumbleweed，深入接觸自由軟體的思想體系。\n5月曾有一個月的時間，每天就是看「自由軟體基金會」、「資訊人權貴」、「軟體自由保護組織」這類網站的文章，研讀GNU GPL的授權，以及論證使用自由軟體的理由。理查·馬修·史托曼的《自由軟體，自由社會》勸你多讀。\n","title":"紀錄使用Linux系統二年後的心得","type":"foss-issues"},{"content":"想要訂閱Hugo靜態網站更新，除了依賴第三方提供的Email電子報服務，就是使用RSS feed這個古老的手段了。儘管現在已經越來越少人用，但RSS仍然是那些不想被搜尋引擎與演算法決定觀看內容的選擇。\nHugo內建支援RSS，大多主題也支援RSS。Hugo生成的RSS通常位於網站根目錄下的rss.xml檔案內。如果想要讓人訂閱RSS，就提供網址給讀者就行了。\n例如在RSS閱讀器Fluent Reader輸入：http://ivonblog.com/rss.xml或https://ivonblog.com/index.xml即可訂閱本站的RSS Feed，並收到新文章的通知。如果開啟全文收錄的話，甚至不用跳轉到本站也可以閱讀文章。\n不過，RSS的問題在於它會將每一篇文章收錄進去，這代表不管我發什麼都會被人看光光 —— 比方說那些我刻意從首頁隱藏的敏感文章，一般從搜尋引擎進來的讀者不容易找到，可是訂閱RSS的就會被敏感文章轟炸。\n儘管上面說現在比較少人用RSS，但我還是要考量到想單純看較為「乾淨」內容的RSS訂閱讀者，為此決定修改RSS的內容，過濾掉特定分類的文章。\n1. 修改RSS範本 # Hugo預設的RSS範本可在Github找到。要覆寫內建RSS的話，就是在網站根目錄新建layouts/_default/目錄，再新增rss.xml檔案，將預設的RSS範本內容填進去後再開始修改。 參考Hugo文件了解RSS檔案的讀取順序，預設是layouts/index.rss.xml優先，接著才是layouts/home.rss.xml。\n這裡要注意：有些網站主題會使用自己的RSS範本，例如我的MemE主題是使用index.sectionsrss.xml來產生RSS (通常在config.toml也會有RSS的相關設定)\n那麼就要改成修改這個檔案。將位於網站根目錄下的themes/meme/layouts/index.sectionsrss.xml複製到/layouts/index.sectionsrss.xml，再修改這個檔案。\n開啟RSS.xml的檔案內容，找到這一段\n{{ range $pages }} {{ $page := . }} {{- $author := partial \u0026#34;utils/author.html\u0026#34; $page -}} \u0026lt;item\u0026gt; 這一段就可以寫判斷式來過濾產生的RSS內容了。我的過濾方式：讀取文章的frontmatter裡面的categories陣列，讀取第一個值，如果是要過濾的文章類別，那麼就跳過寫入RSS。\n在\u0026lt;item\u0026gt;的上方加入if判斷式，當文章的分類不是deepdark的時候才寫入RSS。不過如果你有限定RSS是抓取最新10篇文章的話，此方法會導致該文章直接被鬼隱，導致產生的RSS不滿10篇。\n{{ if ne (index (.Params.categories) 0 ) \u0026#34;deepdark\u0026#34; }} 然後在\u0026lt;/item\u0026gt;下方加入end\n\u0026lt;/item\u0026gt; {{ end }} 2. 確認成果 # 本機預覽，開啟http://localhost:1313/rss.xml，使用CTRL＋F搜尋文章看是否已經成功過濾 hugo server -D 保險起見，生成靜態HTML hugo 再開啟public/rss.xml查看內容是否已經正確過濾。 參考資料 # Customize RSS in Hugo Website - Coding N Concepts Hugo - Create RSS Feed for Site - Justin James ","date":"2023年5月19日","externalUrl":null,"permalink":"/posts/hugo-custom-rss-feed/","section":"所有文章","summary":"想要訂閱Hugo靜態網站更新，除了依賴第三方提供的Email電子報服務，就是使用RSS feed這個古老的手段了。儘管現在已經越來越少人用，但RSS仍然是那些不想被搜尋引擎與演算法決定觀看內容的選擇。\nHugo內建支援RSS，大多主題也支援RSS。Hugo生成的RSS通常位於網站根目錄下的rss.xml檔案內。如果想要讓人訂閱RSS，就提供網址給讀者就行了。\n例如在RSS閱讀器Fluent Reader輸入：http://ivonblog.com/rss.xml或https://ivonblog.com/index.xml即可訂閱本站的RSS Feed，並收到新文章的通知。如果開啟全文收錄的話，甚至不用跳轉到本站也可以閱讀文章。\n不過，RSS的問題在於它會將每一篇文章收錄進去，這代表不管我發什麼都會被人看光光 —— 比方說那些我刻意從首頁隱藏的敏感文章，一般從搜尋引擎進來的讀者不容易找到，可是訂閱RSS的就會被敏感文章轟炸。\n儘管上面說現在比較少人用RSS，但我還是要考量到想單純看較為「乾淨」內容的RSS訂閱讀者，為此決定修改RSS的內容，過濾掉特定分類的文章。\n1. 修改RSS範本 # Hugo預設的RSS範本可在Github找到。要覆寫內建RSS的話，就是在網站根目錄新建layouts/_default/目錄，再新增rss.xml檔案，將預設的RSS範本內容填進去後再開始修改。 ","title":"自訂Hugo的RSS訂閱，過濾特定文章不讓其出現在RSS列表","type":"posts"},{"content":"Nextcloud，一款開源的自架雲端硬碟解決方案。可讓您於自己的電腦與伺服器架設類似Google Drive的雲端硬碟，擁有上傳、共享文件的能力，還可以安裝行事曆、筆記本、LibreOffice等擴充功能，提昇Nextcloud的生產力。\n如果要將Nextcloud架在自己的電腦，那麼使用Docker可以說是最簡單的方式，Nextcloud容器將資料庫、Apache等依賴服務都包在一塊，使用者只要用幾行指令便能讓Nextcloud上線。Nextcloud服務架起來之後，其他維護管理的工作都可以用網頁圖形界面完成，外部網路再透過ZeroTier存取。\n1. Nextcloud特色功能 # 自由開源的雲端硬碟，透過網頁、電腦、手機客戶端存取檔案 撰寫markdown筆記 上傳相片，建立相簿 天氣、行事曆、電子郵件、線上聊天 網頁共同編輯Office文件 建立多個帳號並限制使用額度 分享檔案並設定存取權限 可視需求啟用檔案加密 本文採用的方案為NextCloud官方提供的基本款Dcoker映像檔。\n為什麼不採用功能更多的Nextcloud All-in-One呢？因為本文用的是內網穿透的解決方案，不需要用到加密憑證和域名，且Nextcloud AIO需要擁有域名才可以架設。\n2. 以Docker架設Nextcloud # 首先，在您的電腦安裝Docker\n參考Nextcloud官方說明，建立docker-compose。\nmkdir ~/nextcloud/ cd ~/nextcloud/ vim docker-compose.yaml 填入以下內容，務必事先填入密碼。伺服器使用Apache，資料庫後端使用MariaDB，再另外跑一個Collabora Office服務。 services: db: # 使用MariaDB當資料庫 image: mariadb restart: always volumes: - db:/var/lib/mysql # 冒號左邊的是資料庫路徑，這裡使用Docker volumes environment: - MYSQL_ROOT_PASSWORD= # 請於此處設定密碼 - MYSQL_PASSWORD= # 請於此處設定密碼 - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud redis: image: redis:alpine restart: always volumes: - ./redis:/data app: # 使用最新版Nextcloud + Apache映像檔 image: nextcloud restart: always ports: - 8080:80 # 預設Nextcloud網頁界面對外的通訊埠，左邊的8080可以自由更改 depends_on: - redis - db volumes: - nextcloud:/var/www/html environment: - MYSQL_PASSWORD= # 請於此處設定密碼 - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=db collabora: # 額外跑Collabora Office線上文件編輯服務 image: collabora/code restart: always ports: - 9980:9980 environment: - extra_params=--o:ssl.enable=false cap_add: - SYS_ADMIN # 將Nextcloud的資料庫和設定檔放到docker volume (/var/lib/docker/volumes/ ) volumes: nextcloud: db: 啟動容器： sudo docker compose up -d 用瀏覽器開啟http://localhost:8080，開始設定NextCloud。 此方案的資料庫和設定檔放到docker volume，系統路徑為/var/lib/docker/volumes。\n若要關閉容器，於docker-compose所在目錄執行：\nsudo docker compose down 2. 初始化Nextcloud # 首先您要建立一個管理員帳號。 點選安裝全部應用程式 完成，你可以開始使用Nextcloud了。點選左上角「檔案」進入雲端硬碟。 在這裡可以上傳檔案、寫markdown筆記、使用日曆、收發Email。 點選右上角大頭貼→ 使用者，新增其他一般權限的帳號，並個別設定容量限制。 您可以點選右上角大頭貼 → 管理設定 → 個人資訊，設定電子郵件。再到「通知」，設定雲端硬碟檔案一有變更就發電子郵件通知自己。 3. 用內網穿透軟體從外網存取Nextcloud # Nextcloud的界面可以用網頁存取，Nextcloud官方也有推出手機APP和桌面同步客戶端。\n於手機和電腦安裝內網穿透軟體，例如ZeroTier，將裝置加入ZeroTier網路\nNextcloud預設封鎖其他域名存取，因此要將電腦所分配到的ZeroTier虛擬IP加入至Nextcloud的白名單。Docker compose請直接修改位於Docker volume的config.php：\nsu vim /var/lib/docker/volumes/nextcloud_nextcloud/_data/config/config.php 找到trusted_domains這一行，將ZeroTier的虛擬區域IP加到陣列，例如172.30.252.204。您也可以用wildcard來允許IP開頭一樣的IP連線： \u0026#39;trusted_domains\u0026#39; =\u0026gt; array ( 0 =\u0026gt; \u0026#39;localhost:8080\u0026#39;, 1 =\u0026gt; \u0026#39;172.30.252.204\u0026#39;, 2 =\u0026gt; \u0026#39;172.30.*\u0026#39; ), 開啟以下防火牆通訊埠。注意Nextcloud的資料庫後台界面可能會因為Docker暴露到外網，UFW擋不住，您可能需要啟用ufw-docker方案。 # Nextcloud sudo ufw allow 8080/tcp # Nextcloud Talk sudo ufw allow 3478/tcp sudo ufw allow 3478/tcp sudo ufw reload 重新啟動Docker sudo systemctl restart docker 現在您可以用手機瀏覽器輸入：http://電腦的ZeroTier IP:8080連線至Nextcloud雲端了。 4. 設定Nextcloud Office # Nextcloud提供多種線上Office方案。ZeroTier IP分配請看下一節。\n使用Collabora Office網頁編輯 # 登出Nextcloud。改用ZeroTier分配的虛擬區域IP開啟Nextcloud，例如http://172.30.212.199:8080，不要用http://localhost:8080\n點選管理設定 → 個人資訊 → Nextcloud Office，設定「使用自己的Collabora Office伺服器」，IP填入ZeroTier虛擬區域IP:9980 這樣就可以在Nextcloud的網頁界面編輯Office文件了。 使用本機LibreOffice編輯 # 請先安裝LibreOffice至您的電腦。\n點選右上角大頭貼 → 應用程式，安裝Edit files with LibreOffice 這樣文件的選單即會有用本機LibreOffice編輯的選項。 開啟後輸入Nextcloud密碼，便可用LibreOffice應用程式編輯文件，然後自動存檔回Nextcloud。 參考資料 # nextcloud/docker: Docker image of Nextcloud - GitHub Nextcloud Documentation Quick tryout with Nextcloud docker - Collabora Online Nextcloud 中文使用者社團 - Facebook Nextcloud幫助論壇 ","date":"2023年5月18日","externalUrl":null,"permalink":"/posts/nextcloud-docker/","section":"所有文章","summary":"Nextcloud，一款開源的自架雲端硬碟解決方案。可讓您於自己的電腦與伺服器架設類似Google Drive的雲端硬碟，擁有上傳、共享文件的能力，還可以安裝行事曆、筆記本、LibreOffice等擴充功能，提昇Nextcloud的生產力。\n如果要將Nextcloud架在自己的電腦，那麼使用Docker可以說是最簡單的方式，Nextcloud容器將資料庫、Apache等依賴服務都包在一塊，使用者只要用幾行指令便能讓Nextcloud上線。Nextcloud服務架起來之後，其他維護管理的工作都可以用網頁圖形界面完成，外部網路再透過ZeroTier存取。\n1. Nextcloud特色功能 # 自由開源的雲端硬碟，透過網頁、電腦、手機客戶端存取檔案 撰寫markdown筆記 上傳相片，建立相簿 天氣、行事曆、電子郵件、線上聊天 網頁共同編輯Office文件 建立多個帳號並限制使用額度 分享檔案並設定存取權限 可視需求啟用檔案加密 本文採用的方案為NextCloud官方提供的基本款Dcoker映像檔。\n為什麼不採用功能更多的Nextcloud All-in-One呢？因為本文用的是內網穿透的解決方案，不需要用到加密憑證和域名，且Nextcloud AIO需要擁有域名才可以架設。\n","title":"架設Nextcloud個人雲端硬碟 ＋ 網頁版LibreOffice (docker-compose + 內網穿透)","type":"posts"},{"content":"Streamlit UI for OpenAI\u0026rsquo;s Whisper\n「Whisper UI」是一款轉錄字幕的開源軟體，支援識別多國語言(包含中文、英文、日文)的影片或音訊，生成逐字稿，還會幫您打好srt字幕檔，並且準確度很高。 Whisper UI後來改名叫做「FrogBase」。\n此軟體使用Streamlit做圖形前端，背後使用的技術是OpenAI釋出的Whisper語音辨識模型。\n此軟體的優點在於支援Linux/Windows/macOS，並提供友善圖形界面，但是相對其他Whisper的前端軟體來說不太好安裝。\n1. 硬體需求 # 您需要一張中階等級的Nvidia顯示卡。\nOpenAI釋出了5個Whisper的模型，分為Tiny(需要1GB VRAM)、Base(需要1GB VRAM)、Small(需要2GB VRAM)、Medium(需要5GB VRAM)、Large(需要10GB VRAM)\n最低只要1GB VRAM的顯示卡就可以跑，最大的模型需要10GB VRAM，越大模型準確度越高，不過Small的轉錄效果就已經很好了。\n2. 安裝Wisper AI GUI # 根據Wisper UI的儲存庫說明，作者提供二種安裝方法。\n1. 一般安裝 # 安裝Anaconda\n安裝ffmpeg，例如Ubuntu為：\nsudo apt install ffmpeg 複製作者的儲存庫，建立conda環境，安裝依賴套件 git clonehttps://github.com/hayabhay/whisper-ui.git cd whisper-ui conda env create -f environment.yml pip install -r requirements.txt 接著啟動網頁程式。開啟網址http://localhost:8501 streamlit run app/01_🏠_Home.py 2. Docker容器化 # 安裝Docker\n複製儲存庫，啟動容器，開啟網址http://localhost:8501\ngit clonehttps://github.com/hayabhay/whisper-ui.git cd whisper-ui sudo docker compose up 3. 給Youtube影片生成逐字稿 # 進入網頁後，點選左邊的Add Media，輸入Youtube影片網址(我這裡使用張雨生以前的訪問影片當例子)，Task點選Transcribe，再按Add Media。 處理進度顯示在終端機。Whisper UI會將影片下載下來，轉成音訊，再開始處理轉譯。 等到影片處理好後，就可以點進去看生成的中文逐字稿了。 實測生成日文影片的逐字稿效果也不錯。 除了生成逐字稿外，進入複製下來的Whisper UI儲存庫下的/data/media目錄，還會看到自動生成的srt字幕檔。您可以用Kdenlive這類剪輯軟體將字幕合成回影片。 4. 上傳音訊並生成逐字稿 # Whisper UI支援使用者自行上傳音訊檔案。您可以使用yt-dlp下載純音訊的Yotuube影片，再用ffmpeg指令轉成mp3。\n點選左邊的Add Media，選取Upload，上傳音訊檔 處理結果同樣會顯示在右邊面板。 5. 自動翻譯逐字稿 # Whisper UI支援在轉譯文本後將其翻譯為英文。\n注意：您應該先跑一輪生成逐字稿，看AI能能否識別出影片中的對話，再試著跑翻譯。\n點選左邊的Add Media，Task選取Translate，生成的結果即會變成英文逐字稿。\n6. 切換使用的模型 # 點選Settings，切換使用更大型的模型，提高識別準確度。因為轉譯要求準確性，下面語言的參數不該亂調。\n","date":"2023年5月17日","externalUrl":null,"permalink":"/posts/whisper-ui/","section":"所有文章","summary":"Streamlit UI for OpenAI’s Whisper\n「Whisper UI」是一款轉錄字幕的開源軟體，支援識別多國語言(包含中文、英文、日文)的影片或音訊，生成逐字稿，還會幫您打好srt字幕檔，並且準確度很高。 Whisper UI後來改名叫做「FrogBase」。\n此軟體使用Streamlit做圖形前端，背後使用的技術是OpenAI釋出的Whisper語音辨識模型。\n此軟體的優點在於支援Linux/Windows/macOS，並提供友善圖形界面，但是相對其他Whisper的前端軟體來說不太好安裝。\n1. 硬體需求 # 您需要一張中階等級的Nvidia顯示卡。\nOpenAI釋出了5個Whisper的模型，分為Tiny(需要1GB VRAM)、Base(需要1GB VRAM)、Small(需要2GB VRAM)、Medium(需要5GB VRAM)、Large(需要10GB VRAM)\n最低只要1GB VRAM的顯示卡就可以跑，最大的模型需要10GB VRAM，越大模型準確度越高，不過Small的轉錄效果就已經很好了。\n2. 安裝Wisper AI GUI # 根據Wisper UI的儲存庫說明，作者提供二種安裝方法。\n1. 一般安裝 # 安裝Anaconda\n","title":"Whisper UI，開源免費AI語音轉文字軟體，一鍵產生逐字稿與字幕檔","type":"posts"},{"content":"","date":"2023年5月16日","externalUrl":null,"permalink":"/tags/imperial-japanes-navy/","section":"標籤","summary":"","title":"Imperial Japanes Navy","type":"tags"},{"content":"一個柯爾柏格(Lawrence Kohlberg)道德兩難的判斷命題練習。\n這是教育心理學課程一個教授佈置的作業。我就想到了二戰時候的這場戰役用來當作思想實驗。當然，我並沒有在作業裡面放色圖，不然應該直接被當。\n看著敵方士兵的驚恐眼神（無慈悲），你是否應該盡可能擴大戰果？ https://www.pixiv.net/artworks/75664599\n題目：\n時值1942年，日軍發動南方作戰，進攻東南亞，在印尼泗水方面經歷了慘烈的海戰之後，盟軍驅逐艦盡遭擊沈，數百名水手在海上載浮載沉。不過日本海軍航空隊尚未取得制空權，水中聽音機偵測到附近有潛艇埋伏。且部份日軍船隻仍持續砲擊，誤殺了數名落海的水手。現在你是日軍驅逐艦「雷」的艦長，上級要求全艦隊盡可能獲得更多戰果，殺害戰俘也無妨。此外，從先前監聽敵軍的通訊得知印尼周遭有盟軍醫療船的存在。在戰事未歇，空中可能遭到敵軍空襲，海中有敵軍潛艇埋伏的情況下，你是否應以人道主義及國際法為優先考量，指示艦脡成員將這些水手一一救起，並冒險移送給盟軍醫療船；或者是為了打擊盟軍士氣以及確保戰果，將其全數水手以艦上機槍射殺？\n更多背景知識：雷號驅逐艦#艦歷\n按照柯爾柏格道德發展階段的分析：\n必罰服從取向 此階段的人會認為要將敵軍水手救起，因為殺害戰俘違反國際法，日後也會遭到國際組織非難。\n相對功利取向 此階段的人會認為，將敵軍水手射殺可以確保戰果，符合上級期待，還可以減少日後他們於國際法庭控訴潛在戰爭罪的機會。\n尋求認可取向 此階段的人會覺得為討好上級的意思，將敵軍水手射殺能獲得更多戰果。在作戰成功之後還可能獲得賞識，擁有晉升的機會。\n遵守法規取向 此階段的人會認為規定就是規定，按照國際法指示，將戰俘移送至醫療船是正確的行為。\n社會法治取向 此階段的人會認為應該將敵軍救起，移送至醫療船。符合社會上大多數人的道德期望，儘管戰果可能比較重要，但道德不應該於作戰時完全泯滅。\n普遍倫理取向 按照個人良心以及社會道德所做出的決定，不論何種情況，不論國際法有無規定，都應該救起敵軍，並妥當的對待戰俘，將其交給中立的醫療組織。即使上級規定戰俘不必認真看待，也必須忠於自己的良心，做出正確的決定。\n","date":"2023年5月16日","externalUrl":null,"permalink":"/posts/2023051601/","section":"Histories","summary":"一個柯爾柏格(Lawrence Kohlberg)道德兩難的判斷命題練習。\n這是教育心理學課程一個教授佈置的作業。我就想到了二戰時候的這場戰役用來當作思想實驗。當然，我並沒有在作業裡面放色圖，不然應該直接被當。\n看著敵方士兵的驚恐眼神（無慈悲），你是否應該盡可能擴大戰果？ https://www.pixiv.net/artworks/75664599\n題目：\n時值1942年，日軍發動南方作戰，進攻東南亞，在印尼泗水方面經歷了慘烈的海戰之後，盟軍驅逐艦盡遭擊沈，數百名水手在海上載浮載沉。不過日本海軍航空隊尚未取得制空權，水中聽音機偵測到附近有潛艇埋伏。且部份日軍船隻仍持續砲擊，誤殺了數名落海的水手。現在你是日軍驅逐艦「雷」的艦長，上級要求全艦隊盡可能獲得更多戰果，殺害戰俘也無妨。此外，從先前監聽敵軍的通訊得知印尼周遭有盟軍醫療船的存在。在戰事未歇，空中可能遭到敵軍空襲，海中有敵軍潛艇埋伏的情況下，你是否應以人道主義及國際法為優先考量，指示艦脡成員將這些水手一一救起，並冒險移送給盟軍醫療船；或者是為了打擊盟軍士氣以及確保戰果，將其全數水手以艦上機槍射殺？\n更多背景知識：雷號驅逐艦#艦歷\n按照柯爾柏格道德發展階段的分析：\n必罰服從取向 此階段的人會認為要將敵軍水手救起，因為殺害戰俘違反國際法，日後也會遭到國際組織非難。\n","title":"從泗水海戰雷號驅逐艦救助乘員延伸出的柯爾柏格道德兩難命題","type":"history"},{"content":"Ivon自2014年就是Imgur的忠實用戶，這個網站除了是分享搞笑圖片的網站外，也是很多人使用的圖床。對無法上傳圖片的論壇來說，Imgur是一個很好用的圖床網站，架網站我有時候也會把部份圖片丟Imgur。\n但是隨著2023年新服務條款的宣佈，歐美Reddit用戶叫苦連天，我自己也遭受波及，使得我不得不棄用Imgur託管圖片，轉而尋找其他方案\u0026hellip;\n在那之前，還得將珍貴的Imgur圖片下載回來才行。\n這篇文章告訴各位如何備份與下載Imgur圖片，以因應Imgur的新政策，防止圖片遭刪除而無法救回。\n1. Imgur新服務條款的影響 # Imgur於2023年4月19日公告了新的服務條款Terms of Service，2023年5月15日開始實施。\n主要影響有以下二點：\nImgur將會刪除裸露、違法的圖片內容，藝術裸露不算。用AI偵測輔以人工判別，就算網址不公開抓到一樣砍 沒登入Imgur帳號所上傳的圖片，一段時間流量過低會自動刪除 從以上二點來看，依賴Imgur託管圖片的人要小心了，那些po在各大論壇舊文章的貼圖有危險了\u0026hellip;不只沒人看的圖片會被砍，色色的內容也會遭殃。\nImgur在公告說他們是不得不採取這些措施的：「裸露和違法的圖像會對站外用戶造成困惑，並且違反我們的服務條款。這些圖像對公司未來發展不利，我們想提供一個安全有趣的環境。請理解我們的新政策，並收下這隻狗狗的笑容作為謝禮。」\n以網站經營者的角度而言，你不希望自己過去文章的Imgur圖片都變成404吧？所以建議有能力的人，儘快將珍貴的Imgur圖片備份下來，以便日後找新家。\n說到備份Imgur圖片，要一張一張下載\u0026hellip;？怎麼可能。\n如果你習慣用自己的Imgur帳號上傳圖片，再分享貼圖的話，那麼恭喜你圖片可以100%完全取回。\n但\u0026hellip;如果你習慣在沒登入Imgur帳號下上傳圖片的話(例如PTT第三方App的「上傳圖片」多半不需要Imgur帳號)，那麼你就得一個一個去找該圖片Imgur網址，才能把他們下載回來。至於許多張圖片組成的「相簿」可以用第三方工具批量下載。\n2. 下載Imgur帳號上傳的所有圖片 # 根據Imgur官方說明，要下載自己帳號的全部圖片只需幾個簡單步驟。\n用電腦登入Imgur帳號\n點選右上角帳號大頭貼 → Settings\n點選Download account Images，這樣你會得到一個壓縮檔。圖片很多的話請耐心等它下載完。 解壓縮，裡面就是你Imgur帳號的全部圖片了，圖片不是原始畫質而是壓縮過的版本。Imgur用「數字編號」＋「上傳圖片Imgur產生的短網址」給檔案命名。 如果Imgur下載的圖片壓縮檔是空的：可能Imgur判定圖片太多人看，所以封鎖使用者IP，點開圖片網址會出現HTTP ERROR 429錯誤。台灣許多寬頻光纖的用戶常常是跟別人共用同一組IP的，這也導致使用者無法下載自己圖片。遇到這種情況請等幾個小時再試，或者透過行動網路、VPN的方式改電腦IP繞過。\n2. 用第三方程式批次下載Imgur圖片 # 如果你已蒐集到許多不是用自己帳號上傳的Imgur圖片網址(通常是以i.imgur.com開頭)\n把網址用記事本存成txt檔，如圖： 安裝Xterme Download Manager這個開源程式\n將txt檔的網址全部複製\n開啟Xterme Download Manager，點選左上角的File → Add from clipboard，\n它就會批次下載剪貼簿Imgur網址的圖片了。 如果要下載不是自己上傳的Imgur「相簿」，可以用Imgur-album-downloader網站下載，只需要填入相簿ID(https://imgur.com/a/後面的英數)，再點選Select All即可下載全部圖片。\n","date":"2023年5月15日","externalUrl":null,"permalink":"/posts/how-to-backup-imgur-images/","section":"所有文章","summary":"Ivon自2014年就是Imgur的忠實用戶，這個網站除了是分享搞笑圖片的網站外，也是很多人使用的圖床。對無法上傳圖片的論壇來說，Imgur是一個很好用的圖床網站，架網站我有時候也會把部份圖片丟Imgur。\n但是隨著2023年新服務條款的宣佈，歐美Reddit用戶叫苦連天，我自己也遭受波及，使得我不得不棄用Imgur託管圖片，轉而尋找其他方案…\n在那之前，還得將珍貴的Imgur圖片下載回來才行。\n這篇文章告訴各位如何備份與下載Imgur圖片，以因應Imgur的新政策，防止圖片遭刪除而無法救回。\n1. Imgur新服務條款的影響 # Imgur於2023年4月19日公告了新的服務條款Terms of Service，2023年5月15日開始實施。\n主要影響有以下二點：\nImgur將會刪除裸露、違法的圖片內容，藝術裸露不算。用AI偵測輔以人工判別，就算網址不公開抓到一樣砍 沒登入Imgur帳號所上傳的圖片，一段時間流量過低會自動刪除 從以上二點來看，依賴Imgur託管圖片的人要小心了，那些po在各大論壇舊文章的貼圖有危險了…不只沒人看的圖片會被砍，色色的內容也會遭殃。\n","title":"如何備份下載Imgur.com上傳的全部圖片？","type":"posts"},{"content":" 之前在實驗新的Hugo主題的時候，便試著搬遷本站所有的成人內容(約30篇)到另一個網站，使這些成人內容可以真正自由獨立，而不必受到本家部落格的版面與道德拘束，可以更加做成我想要的樣子。\n網站名字叫做hxentai，全稱為 Extreme Hentai ～ 成人動漫畫資訊分享～\n該網站連網域名都買好了，該站的圖示是取自「真實之眼」＋「一位站在金色草原上，能夠給世界帶來希望的藍色異國衣裳的人」(畫的實在太抽象了)\n可是上線一個禮拜就放棄收攤了，史稱「一週間第二次獨立戰爭」第一次獨立戰爭請見此文。\nHxentai網站使用的主題經過經挑細選，就選用了nunocoracao/blowfish這個重型的Hugo主題，自訂性很高，幾乎什麼功能都有。\n首頁做出來大概長這樣：Hugo多個section的文章都可以顯示在首頁的文章列表。\n我可以任意插入喜歡的色色背景圖片，這是受到Fapservice網站所啟發。單篇文章若有標題圖，可以設定讓它自動變成該頁面背景，超讚。\n做出美美的標籤頁面。文章標籤想仿造Gelbooru和E-hentai那樣，用性癖好給每一篇文章上標籤。\n將成人文章搬遷到Hxentai後，想了很久訂下了4個文章分類：「同人誌心得」、「肉番福利」、「E-hentai工具教學」，以及NSFW雜談。之所以要這麼做，是因為該主題用的是section為主，category為輔的分類方式。跟category不同，section是用網址層級下去分類的，網址是固定的所以一開始就要謹慎決定，免得未來遇到問題。順帶一提Blowfish還支援二個層級的分類選單。\n如同主站，我甚至規劃了英文版網頁，以及用AI輔助翻譯了一些色文成英文版。但其實AI翻譯很難達到我要的意思，我文章這種詭異又變態的用字，仍然有80%的翻譯需要手工修正。\n還利用Blowfish的「作者資料欄位」功能，加上了假名的作者欄位，設定了幾位作者的人設：\nBuffalo Talk :技術宅，會在文章講自己名字，或用俺 柚：用僕自稱，性別認同為女性 加入簡介:She/Her ユウト：誠懇老實，在與Buffalo6000的同人誌分享對話擔任吐槽的一方。 Fanservice的文章文風較弱氣一些，並表現出弱氣的勇敢轉變。\n如果可以的話，用Pygmalion製作角色卡，讓它寫文章，我再修改。\n當初是認為用假名我就能更不受限制的寫更多變態內容，而不會污染自己的名聲。比如，不用假名的時候，我只能說「我愛蘿莉」(當然是虛擬的，現實的我沒興趣)，但是用假名的時候就敢大膽的說「看那蘿莉的嬌小身軀，平坦的乳房，緊緻的歐芒果，射爆。」後來發現，不用假名也沒差，有話直說！聊色的時候何必用諧音，裝君子裝高雅，搞不好還會精神分裂。\n就是這樣，這個網站計畫最後取消了，但是給了我一些管理網站的想法，並回饋到主站。\n後來不繼續做Hxentai網站的原因有二點。\n我認為將成人內容獨立成網站，再使用匿名假名，沒辦法在激烈競爭的色情網站市場拔得頭籌。更何況該網站偏業餘性質，屬於分享看片評鑑心得，而非「資源供給者」。在我寫的那些成人內容當中，只有「肉番列表」是對一般通過的飢渴人類是「有用的」，是可以像裏番網站、同人誌網站的資源一樣讓人馬上用來尻的。我其他的文章是偏review性質的，除非是長期關注的色友，不然誰會理網路陌生人在那邊分享色圖，寫一堆文字發情，沒有人會因為長期分享各種看色圖的APP進而崇拜你的。如果僅是「偶爾」要同好交流的話，幹嘛不去PTT或Komica匿名發文就好了。定位不明確，這是第一點。\n第二點，即使有像PornDude、一劍浣春秋、PTT E大厲害的人物，我也很難跟他們比肩。如果不當「資源供給者」，真要如同「AV帝王」打造個人品牌，需要持之以恆的在某個領域專精，並定時提供情報才可以。就我的文章來說，「E-hentai」系列可以說是唯一長期耕耘的成人系列文章，而那是我喜愛寫科技文章的附產物——站上有關E-hentai的文章都是APP與網站使用技巧，真正有談論性癖好，以及介紹實用同人誌、實用作者的文章，非常少。很大原因是，這些文章都是業餘所寫，並無認真看待。很難用這些文章形成個人品牌。雖然說我偶爾會撰文喜歡分享符合我性癖的作者，但我目前真的沒有那個精力去統整各式各樣有關成人動漫畫的資訊，連肉番資訊都更新的哩哩拉拉，就別想在小眾領域取得成功。文章業餘性質高，這是第二點。\n所以囉，在這個網站規劃雛型完成之後，我便將其封存，再將成人內容的文章重新移動回主站，並且Blowfish的主題設計也讓我學到如何用Hugo程式碼覆寫的技巧。\nHxentai網站訂好的NSFW分類沿用到這個部落格。至於標籤我還沒想到要怎麼處理，所以原始文件裡面的tags暫時先註解掉。\n我不在乎人們說我是個政治厨、色龜之類的，所以我讓成人內容繼續存在於本站，並且有了不需要假名也能敢貼極端重口內容的勇氣。必要的時候於文章加入18禁警語，就像PTT那樣。\n不過為照顧幼小讀者，NSFW內容我還是有刻意擋一下：首頁的文章列表不會出現NSFW分類的文章，最起碼讀者要點選分類頁面，滑到最下面才會得知成人內容的存在。\n2024年12月更新：為了網站未來發展考量，又買了新域名，把原本收進來的再獨立出去惹。果然人類就是會犯同樣的錯誤。\n","date":"2023年5月14日","externalUrl":null,"permalink":"/posts/the-abandoned-hxentai-website-plan/","section":"Personals","summary":" 之前在實驗新的Hugo主題的時候，便試著搬遷本站所有的成人內容(約30篇)到另一個網站，使這些成人內容可以真正自由獨立，而不必受到本家部落格的版面與道德拘束，可以更加做成我想要的樣子。\n網站名字叫做hxentai，全稱為 Extreme Hentai ～ 成人動漫畫資訊分享～\n該網站連網域名都買好了，該站的圖示是取自「真實之眼」＋「一位站在金色草原上，能夠給世界帶來希望的藍色異國衣裳的人」(畫的實在太抽象了)\n可是上線一個禮拜就放棄收攤了，史稱「一週間第二次獨立戰爭」第一次獨立戰爭請見此文。\nHxentai網站使用的主題經過經挑細選，就選用了nunocoracao/blowfish這個重型的Hugo主題，自訂性很高，幾乎什麼功能都有。\n首頁做出來大概長這樣：Hugo多個section的文章都可以顯示在首頁的文章列表。\n我可以任意插入喜歡的色色背景圖片，這是受到Fapservice網站所啟發。單篇文章若有標題圖，可以設定讓它自動變成該頁面背景，超讚。\n","title":"Hxentai，一個Hugo靜態成人網站的廢案（使用Blowfish主題）","type":"personal"},{"content":"NewPipe是一款輕量開源的第三方Youtube APP，適合想不受打擾看Youtube影片、聽Youtube音樂的用戶使用。 NewPipe有以下特色：\nAPP容量小，速度快，最低支援到Android 5的裝置 界面適用於Android手機/平板/電視盒 無廣告，無追蹤器 支援背景與懸浮窗播放 將任意影片加入待播清單，自由調整影片播放順序 可指定搜尋音樂時只列出專輯，不列出MV結果 支援下載影片或純音訊 隨時備份觀看記錄和播放清單 無法登入Google帳號，不支援Chromecast 本文將會詳細介紹NewPipe各個功能的用法。\n為什麼不支援Google帳號不是大問題 # 如果只是想看Youtube影片，不留言也不按讚，也不想被Youtube演算法左右觀看喜好，那麼登入Google帳號就是可有可無的了。\n跟Youtube ReVanced不同的是，NewPipe不是破解Youtube APP，而是直接解析Youtube網頁API並顯示影片，去除廣告的同時亦能減少傳送給Google的資料。如果再跟網頁前端Invidious比較的話，NewPipe的優勢是可以正常觀看4K影片，而不會有Invidious的畫質限制。\n在此之外，該有的功能都有：NewPipe可以將影片組成播放清單，以及「訂閱」特定頻道的更新。這些資料手動備份後可無縫轉移到其他手機或電腦繼續使用。\n1. 下載NewPipe APK # 擋Google財路的APP怎麼可能上架Play商店，NewPipe並沒有在Google Play商店上架，請勿下載仿冒品。\nNewPipe是自由軟體，官方僅在F-Droid或Github Releases發布APK。\n由於NewPipe穩定版更新間隔較長，如果YouTube更新導致NewPipe影片無法看，你又急用，那麼可以下載測試用的Nightly版APK。\nNewPipe並無使用官方Youtube API，而是直接爬取網頁影片資料。由於NewPipe依賴Youtube網頁播放影片，一旦Google改了網頁內容的話NewPipe就會不能看，需要頻繁更新APP。因此建議安裝F-Droid商店，再從裡面下載NewPipe，這樣未來即會自動收到NewPipe的更新。\n有關NewPipe的bug與建議請到Github Issues回報。\n2. 自訂首頁與國家地區 # NewPipe預設首頁是顯示您所在地區的熱門影片。 就我個人而言，因為我較少看Youtuber，我會從左邊滑出，點選設定 → 內容 → 首頁內容，將首頁內容改成只有顯示我的播放清單與訂閱清單。 3. 背景與懸浮窗播放 # NewPipe的播放界面跟Youtube APP類似，沒有廣告，可正常載入留言，與自動播放下一部影片。 在您離開NewPipe後，它會自動進入背景播放模式 當然，在NewPipe的界面點選「懸浮窗」播放也是可以的。 順帶一提，NewPipe也可以用來看Soundcloud、Bandcamp、PeerTube的影片，從左邊側欄切換。 4. 下載影片並離線播放 # 在影片播放界面，或是搜尋結果頁面對影片縮圖長按，可選擇下載影片或是音訊。 下載的影片與音樂檔直接存到手機資料夾，能用其他程式離線播放，例如VLC、Kodi，不會只有NewPipe才能播放的情況。 5. 新增播放清單，自訂播放順序 # NewPipe有一個好用的功能：在搜尋音樂時只搜尋Youtube Music的結果，這樣就只會顯示音樂專輯，而不會混入MV。 當您搜尋到播放清單的時候，要點選「全部播放」才會播放全部影片，不然它只會播放點選的那一部影片。 在播放影片的時候，對其他影片縮圖長按，點選「加入佇列」即可組成臨時播放清單。 當然要將多部影片存成永久播放清單也行，這樣您就有了自己的無廣告音樂庫。 6. 「訂閱」頻道 # NewPipe沒有登入Google帳號，但仍然可以「訂閱」特定頻道，並收到新影片通知。 事實上，按下訂閱鈕後，NewPipe不會真的訂閱頻道，該訂閱只有您自己看得到，NewPipe只是幫您追蹤影片更新，並整理顯示在首頁的\u0026quot;Feed\u0026quot;頁面而已。 7. 備份播放清單與設定值 # 點選設定 → 內容 → 匯出資料庫，這樣即可完整備份NewPipe的歷史紀錄、訂閱列表、播放清單。 您也可以在首頁的訂閱列表，點選右上角單獨匯出訂閱的頻道清單。 目前NewPipe還無法單獨匯出播放清單，您需要使用額外工具從NewPipe資料庫抽取出播放列表。\n8. 類似NewPipe的軟體？ # 最接近NewPipe的電腦版軟體是FreeTube，設定頁面支援匯入NewPipe的資料。 另外，如果想要純音樂版的NewPipe APP，請試試InnerTune，支援Android Auto的Youtube Music前端。\n還有NewPipe分支版PipePipe，可以看Bilibili和Niconico的影片。\n結合NewPipe和線上帳號功能的，請試試LibreTube\n","date":"2023年5月13日","externalUrl":null,"permalink":"/posts/android-newpipe/","section":"所有文章","summary":"NewPipe是一款輕量開源的第三方Youtube APP，適合想不受打擾看Youtube影片、聽Youtube音樂的用戶使用。 NewPipe有以下特色：\nAPP容量小，速度快，最低支援到Android 5的裝置 界面適用於Android手機/平板/電視盒 無廣告，無追蹤器 支援背景與懸浮窗播放 將任意影片加入待播清單，自由調整影片播放順序 可指定搜尋音樂時只列出專輯，不列出MV結果 支援下載影片或純音訊 隨時備份觀看記錄和播放清單 無法登入Google帳號，不支援Chromecast 本文將會詳細介紹NewPipe各個功能的用法。\n為什麼不支援Google帳號不是大問題 # 如果只是想看Youtube影片，不留言也不按讚，也不想被Youtube演算法左右觀看喜好，那麼登入Google帳號就是可有可無的了。\n跟Youtube ReVanced不同的是，NewPipe不是破解Youtube APP，而是直接解析Youtube網頁API並顯示影片，去除廣告的同時亦能減少傳送給Google的資料。如果再跟網頁前端Invidious比較的話，NewPipe的優勢是可以正常觀看4K影片，而不會有Invidious的畫質限制。\n在此之外，該有的功能都有：NewPipe可以將影片組成播放清單，以及「訂閱」特定頻道的更新。這些資料手動備份後可無縫轉移到其他手機或電腦繼續使用。\n","title":"無廣告的Youtube App：NewPipe下載使用教學，適用Android手機/平板/電視盒","type":"posts"},{"content":"Customizing a Hugo theme by overriding layouts.\n本篇文章不是講如何開發Hugo主題，而是如何安全修改現有的Hugo主題，達到新增功能的目的。\n1. 不要直接修改Hugo主題檔案 # 在建立Hugo網站的教學文章有說過如何用Hugo架設靜態網站，其中提到每個網站都至少會裝一個Hugo主題。\n例如下圖的Ananke主題，它會安裝到網站的themes/ananke目錄\n但是，有時很難找到一次滿意的主題：這個主題的排版我喜歡但是功能太少\u0026hellip;這個主題排版很亂但是有些功能我喜歡\u0026hellip;\n又因為Hugo的主題都是明碼儲存，如果你稍微懂一點HTML和JS，肯定會手癢想要修改安裝的主題的程式碼，加一些新功能上去。\n不，不要這樣做，直接改主題程式碼，萬一以後主題要更新呢？所作的變更要手動合併，太麻煩了。\n這時請用Hugo內建的覆寫功能來修改主題。\n2. 使用Hugo的覆寫功能 # Hugo可以用根目錄的同名檔案覆寫主題的程式碼或圖片檔，Hugo會優先載入位於網站根目錄的程式碼。\n通常themes目錄的Hugo主題會有以下目錄： . ├── archetypes ├── assets ├── i18n ├── images ├── layouts ├── resources ├── static 而你的Hugo的網站根目錄架構長這樣，怎麼樣，是否很類似？ . ├── archetypes ├── assets ├── content ├── data ├── layouts ├── public ├── resources ├── static └── themes 就以single.html這個檔案來說，根據Hugo官方文件，Hugo會優先找網站根目錄下的layouts/single.html檔案載入，其次才會去找layouts/_default/single.html。並且，網頁根目錄的layout優先度比themes/layout的優先度要高，這代表我們自定義的檔案會優先讀取到。 假設我想要在每個頁面都加入一個JS對話框的指令碼\n\u0026lt;script\u0026gt; alert(\u0026#34;Ping!\u0026#34;); \u0026lt;/script\u0026gt; 按照Ananke主題作者的設計，我們可以直接覆寫themes/ananke/layouts/partials/site-scripts.html這個檔案。但注意每個主題有不同的設計方式，新增功能前還是要研究一下它的架構。\n切換到Hugo網站根目錄\ncd mywebsite 將singel.html複製到Hugo網站根目錄下的同名目錄layouts/partials/，沒有的話自己新增。 mkdir layouts/partials cp themes/ananke/layouts/partials/site-scripts.html layouts/partials/site-scripts.html 然後再修改layouts/partials/site-scripts.html，把程式碼插進去 {{/* For Users\u0026#39;s overwrite */}} \u0026lt;script\u0026gt; alert(\u0026#34;Ping!\u0026#34;); \u0026lt;/script\u0026gt; 使用hugo server -D指令預覽網頁，成功看到插入的指令碼生效。 參考資料 # Hugo\u0026rsquo;s Lookup Order | Hugo Documentaion Hugo Themes - How to Use and Customize ","date":"2023年5月8日","externalUrl":null,"permalink":"/posts/customize-and-override-hugo-themes/","section":"所有文章","summary":"Customizing a Hugo theme by overriding layouts.\n本篇文章不是講如何開發Hugo主題，而是如何安全修改現有的Hugo主題，達到新增功能的目的。\n1. 不要直接修改Hugo主題檔案 # 在建立Hugo網站的教學文章有說過如何用Hugo架設靜態網站，其中提到每個網站都至少會裝一個Hugo主題。\n例如下圖的Ananke主題，它會安裝到網站的themes/ananke目錄\n但是，有時很難找到一次滿意的主題：這個主題的排版我喜歡但是功能太少…這個主題排版很亂但是有些功能我喜歡…\n又因為Hugo的主題都是明碼儲存，如果你稍微懂一點HTML和JS，肯定會手癢想要修改安裝的主題的程式碼，加一些新功能上去。\n不，不要這樣做，直接改主題程式碼，萬一以後主題要更新呢？所作的變更要手動合併，太麻煩了。\n這時請用Hugo內建的覆寫功能來修改主題。\n2. 使用Hugo的覆寫功能 # Hugo可以用根目錄的同名檔案覆寫主題的程式碼或圖片檔，Hugo會優先載入位於網站根目錄的程式碼。\n通常themes目錄的Hugo主題會有以下目錄： . ├── archetypes ├── assets ├── i18n ├── images ├── layouts ├── resources ├── static 而你的Hugo的網站根目錄架構長這樣，怎麼樣，是否很類似？ . ├── archetypes ├── assets ├── content ├── data ├── layouts ├── public ├── resources ├── static └── themes 就以single.html這個檔案來說，根據Hugo官方文件，Hugo會優先找網站根目錄下的layouts/single.html檔案載入，其次才會去找layouts/_default/single.html。並且，網頁根目錄的layout優先度比themes/layout的優先度要高，這代表我們自定義的檔案會優先讀取到。 ","title":"如何修改自訂Hugo主題：程式碼覆寫(layout override)","type":"posts"},{"content":"我不敢相信大學教授會在上課給我們看老高影片，說什麼43分鐘宇宙真相，信息量巨大，看完還一副聽完教堂佈道的表情。夭壽喔，這就是典型陰謀論啊，她是博士欸，看的不是著名學者的演說，而是網紅脫口秀。要不是下課了我得離開了，我一定留下來跟她大戰三百回合。這讓我想起，之前遇過有教授說她信紫微斗數，還有說相信水的結晶可以受到人的語言影響的，這些有科學實證喔！後者我是有嘗試跟教授解釋那是偽科學啦，但是人們總是一副信者恆信的觀念，唉。\n看的是這部老高影片：【震撼】信息量太大，四十三分鐘講完這個世界所有的真相 | 老高與小茉 Mr \u0026amp; Mrs Gao\n看完我確實覺得訊息量很大，因為我不知道怎麼一一反駁這種通篇鬼扯的謬論。首先，讓我從影片的疑點下去探討，然後說人們相信陰謀論的可能原因，最後我們再討論哪些是真正值得看的科普頻道。\n1. 外星人可能存在，但無直接證據 # 暫且不人身攻擊，說老高本身就是說書騙子、看他影片的觀眾都是智障這種講法，光是講羅斯威爾外星人的影片就有很多疑點了，販賣陰謀論往往能讓人輕易接受，外星人也不例外。解釋外星人來地球說要對抗宇宙帝國，然後出書，並且精密的將故事設計成只有一人知道外星人秘密，然後自圓其說。試問這樣跟二千年前亞伯拉罕諸教的神諭有什麼不同？你只是把概念代換成看似科學的外星人要素罷了。另外，他的影片總是說什麼「世界真相」的標題，那就是一種吸引人的手段。事實上沒有什麼知識是「學校不刻意教」的東西，是政策規定課綱內容的，誰給你刻意隱藏了？階級再製理論是這樣說的？「世界真相」也不會是一人隨口就能說完，那是要經過嚴密的科學研究才得出的結果。如果連物理學界都還沒找到大一統理論，那憑什麼宣稱世界真相在你那邊？\n要知道，連史諾登爆料美國棱鏡計畫都是有所本的，維基解密雖然不知道背後是誰，但洩漏的文件也確實符合現實世界的計謀，而你出一本外星人的書然後燒掉來源，給自己添加受害者色彩，那不就是陰謀論嗎，用心理學的角度來看這就是一種錯誤記憶的心理現象。\n就理論上來說，我也是認為外星人可能存在，陰謀論的一些理論可能也是對的，但可惜的是目前科學家們就是沒有直接證據。\n不是有個笑話嗎：現在手機都那麼高畫質，目擊UFO的相片都還是二戰等級，挖哩勒。\n如果把外星人的存在當做一種理論假說研究，用科學方式去證明它，我覺得那也就算了，心理學假說不是一大堆嗎。\n可是外星人的學說往往發展成一種類似宗教的陰謀論，更讓人火大的是陰謀論者與其追隨者的一種「信者恆信」的態度，不把科學治學方法放在眼裡，將邏輯當狗屁。陰謀論者面對質疑就自圓其說，完全沒有迴旋的餘地，這種人要是敢去參加學術研討會，一定馬上被轟出來，然後在外面開直播說我被迫害了請給我donate。陰謀論跟科學假說最大的差別就在於，前者是空中樓閣：它發明一種理論使自己形成一個封閉體系，無法從外部打破，因為他會直接嗆說「你不懂啦，人類無知」什麼的。而後者是可以接受質疑的，人們要捍衛自己的學說，但是他們絕不能鐵口直斷說自己的就是絕對真理，科學時常是在變動的。謙卑的科學家面對未知事物是很謹慎的，而不是像陰謀論者隨即開始胡思亂想。\n有些科學原理或許需要高深數學知識才能理解，因而人們會比較相信粗暴簡單的陰謀論，還能有某種得知世界真相優越感。可是，沒有實在證據只會胡說，騙騙沒讀書的人、沒有科學素養的人倒還行，如果真的有點科學和人文素養，是不會盡信陰謀論的，不是科學的東西，就是宗教玄學，它在理上不可行，只有情意說得通。\n2. 陰謀論與原始思維 # 維基百科的「科學素養」定義：擁有基本的語言學習和表達能力，能理解科學觀念，了解科學研究過程和方法，能運用科學解釋身邊的事情，建立與評價有證據基礎的論證，並恰當地運用結論來引領自己的行為。\n雸之，科學素養就是一種理性看待身邊事物的能力，並且是用科學的角度來當立論基礎，不是子虛烏有的陰謀論。\n從學術上來說，即使是科學無法解釋的事情，也不應該用超自然的理論去解釋。或者說，在討論這類科學尚無法處理的議題的時候，要有確切的聲明，你不可以有意無意的暗示說「科學界無法處理，所以你應該相信我，我的說法也值得參考」科學家與普通人說話的份量能一樣嗎？更何況是沒有理論支撐的學說。這跟台灣宣稱自己有地震觀測儀的神棍一樣，完全是利用人的心理機制來達到目的，聚斂信徒，三人成虎。\n為什麼人們會相信陰謀論，心理學界上有很多說法，這裡我不直接人身攻擊，就引用呂西安·列維-布留爾《原始思維》書裡面提到的觀點就夠了：\n「原始人」的思維是具體的思維，亦即不知道因而也不應用抽象概念的思維。這種思維只擁有許許多多世代相傳的神秘性質的「集體表象」，「集體表象」之間的關聯不受邏輯思維的任何規律所支配，它們是靠「存在物與客體之間的神秘的互滲」來彼此關聯的。尤其是，這種思維完全不關心矛盾(它不追究矛盾，也不回避矛盾，它可以容許同一實體在同一時間存在於兩個或幾個地方，容許單數與復數同一、部分與整體同一，等等)，所以，從表象關聯的性質上看，列維—布留爾又把這種思維叫做「原邏輯的」思維。總起來說，「原始人」的思維就是以受互滲律支配的集體表象為基礎的、神秘的、原邏輯的思維。這就是列維－布留爾給「原始人」的思維下的定義。\n有多少人進化還不完全？還擁有史前人類的思維。當他們認為不合理的事物，就會認為有個鬼神在背後操縱，而不是謙卑的說：是的，確實有我們無法解釋的事情，而我們應該做更多研究去證明它。這種觀念難道不需要改嗎？為什麼事出一定要有因素？因素如果不能解釋為什麼要說有神明在操縱？如果把宇宙當成隨機產生的物質，這樣想就會明白一些。即使人生本無意義，人類還是有無限種可能。我無意繼續辯論自由意志是什麼，因為那會走到哲學的領域。\n在日常生活，主要還是得以科學觀點下去看待。即使明日會證明在今日被視之瘋狂的科學理論為真，也不代表你可以用非科學的方式來鬼扯，以此來證明我是一種高貴的存在。\n我們知道不應該輕信權威，不該人云亦云，可是你的論點要是純粹是一種信念、意識形態的倡導，甚至因為生活不順導致為反而反，那麼就會陷入不切實際的地步。有時候，真相並不是那麼能讓人滿意，沉溺於假說、下大棋的敘事會讓人忘掉現實生活的焦慮，可是到頭來，還是要面對現實。\n3. 真正正經又有趣的科普頻道 # 此節提倡的科普影片，通俗的來講，是比較「燒腦」的類型，而不是適合陪著泡麵無腦看的那種娛樂節目。\n說到要看帶有幻想成分的科普頻道，就台灣來說，除了科學人這種本身就是專業組織製作的節目外，我認為自媒體Youtuber只有「Fun科學 佑來了」一個合格，他起碼還是物理老師，有實在的解釋與表演科學現象，還有不是很複雜的公式推導，比較少那種純說書與用神秘理論唬人的影片。雖然永動機系列影片有點殺人標題，但那也是為了嘲諷網路上相信永動機陰謀論的智障所作的影片，所以我很佩服他的影片風格。\n要看科普媒體必須至少要有科學的原理解說，有詳細數據解釋的更好，還有附上參考資料。但我覺得很多中文科普影片都偏好用說書方式吸引觀眾，忽略基本事實，誇大幻想成分。說實在，我討厭這種說書成分大於科學實證的節目。\n看歷史解說片也是一樣，隨著研究所學的越多，我越是覺得呂捷、Cheap等人的「有趣」影片，比不上「唸經型，從頭到尾解釋一場戰役，彷彿在看維基百科」的Youtuber，我好像有點極端了。\n學歷史從不同史觀角度切入，是有趣的，像黃仁宇、劉仲敬的說法。但是用各種奇怪的梗來解釋、簡化脈絡，就像市面上「明朝其實很有趣」的書一樣，我認為不行，完全變成娛樂性質的節目。\n如果要推薦英語的科普頻道，我常常看的是德國Kurzgesagt – In a Nutshell，有中文字幕，他會聲明就算影片講的是幻想概念，也是有所本的。影片下面都會列出參考的論文以及說法。並且Kurzgesagt是接受批評，還會拍影片承認過去錯誤的，這難道不比那些說書人強？\n4. 總結 # 嘩啦啦打這麼多一堆字通常沒什麼效果。\n如果這篇文章公開發表在新聞網站的話，基於網路匿名的特性，還是會有人直接不假思索地說一句，「放屁」、「幹嘛那麼認真」，然後一溜煙的消失。我想也是如此，這個世界，尤其網際網路，笨蛋的聲音更容易吸引眾人目光，我都不敢斷言我自己講的話是100%正確的人，而人們就偏愛相信具有強烈人格魅力的人，而非事實與真理。\n一個人連最基本的哲學邏輯都沒有，那麼他確實是活該被自己妄想中的外星人給困在地球。如果連自己都把思考的權利交給別人，誰能幫助得了你？\n","date":"2023年5月8日","externalUrl":null,"permalink":"/posts/the-importance-of-science-literacy/","section":"Personals","summary":"我不敢相信大學教授會在上課給我們看老高影片，說什麼43分鐘宇宙真相，信息量巨大，看完還一副聽完教堂佈道的表情。夭壽喔，這就是典型陰謀論啊，她是博士欸，看的不是著名學者的演說，而是網紅脫口秀。要不是下課了我得離開了，我一定留下來跟她大戰三百回合。這讓我想起，之前遇過有教授說她信紫微斗數，還有說相信水的結晶可以受到人的語言影響的，這些有科學實證喔！後者我是有嘗試跟教授解釋那是偽科學啦，但是人們總是一副信者恆信的觀念，唉。\n看的是這部老高影片：【震撼】信息量太大，四十三分鐘講完這個世界所有的真相 | 老高與小茉 Mr \u0026 Mrs Gao\n看完我確實覺得訊息量很大，因為我不知道怎麼一一反駁這種通篇鬼扯的謬論。首先，讓我從影片的疑點下去探討，然後說人們相信陰謀論的可能原因，最後我們再討論哪些是真正值得看的科普頻道。\n1. 外星人可能存在，但無直接證據 # 暫且不人身攻擊，說老高本身就是說書騙子、看他影片的觀眾都是智障這種講法，光是講羅斯威爾外星人的影片就有很多疑點了，販賣陰謀論往往能讓人輕易接受，外星人也不例外。解釋外星人來地球說要對抗宇宙帝國，然後出書，並且精密的將故事設計成只有一人知道外星人秘密，然後自圓其說。試問這樣跟二千年前亞伯拉罕諸教的神諭有什麼不同？你只是把概念代換成看似科學的外星人要素罷了。另外，他的影片總是說什麼「世界真相」的標題，那就是一種吸引人的手段。事實上沒有什麼知識是「學校不刻意教」的東西，是政策規定課綱內容的，誰給你刻意隱藏了？階級再製理論是這樣說的？「世界真相」也不會是一人隨口就能說完，那是要經過嚴密的科學研究才得出的結果。如果連物理學界都還沒找到大一統理論，那憑什麼宣稱世界真相在你那邊？\n","title":"老師上課給我們看老高瞎掰的影片，就知道為什麼科學素養很重要","type":"personal"},{"content":"\u0026ldquo;Docker Desktop\u0026quot;是Docker公司推出的專有軟體，以圖形化界面配合虛擬機，讓初學者快速上手Docker開發環境。尤其對Windows和macOS用戶來說，這是最方便安裝Docker Engine的作法。\n注意\u0026quot;Docker Desktop\u0026quot;不等於\u0026quot;Docker Engine\u0026rdquo;，前者是包含Docker在內的封閉原始碼軟體，後者則是一套開源的容器技術。\nDocker Engine原本就是為Linux系統設計的技術，Linux用命令行就能輕鬆安裝Docker Engine，用指令操作Docker容器也方便。如果你已經熟悉在Linux用命令行操作Docker，那就只要單獨裝Docker Engine就好，不太需要用到Docker Desktop。\n目前Docker Desktop (版本4.19.0) 只支援Fedora、Ubuntu、Debian。openSUSE不能裝Fedroa的rpm （順帶一提SUSE公司有自己一套Rancher Desktop管理工具）。\n至於Arch系的套件，Docker Desktop處於實驗性支援狀態，不能從AUR安裝，要手動安裝。\n1. 安裝Docker # Docker官網文件建議安裝Docker官網提供的靜態執行檔，雖說我自己測試用Arch套件庫提供的Docker也是可以跑。\n安裝Docker靜態執行檔所需套件 sudo pacman -S iptables-nft git procps-ng xz 從Docker官網下載安裝靜態Docker執行檔，內含docker-compose wget https://download.docker.com/linux/static/stable/x86_64/docker-23.0.5.tgz tar xzvf docker-23.0.5.tgz sudo cp docker/* /usr/bin/ sudo dockerd \u0026amp; 2. 安裝Docker Desktop套件 # 安裝QEMU與KVM\n安裝GNOME終端機\nsudo pacman -S gnome-terminal 從Docker Desktop Release下載Arch的套件(Arch package)\n使用pacman安裝Docker Desktop本機套件\nsudo pacman -U docker-desktop-4.19.0-x86_64.pkg.tar.zst 確認Docker版本，不需要sudo docker version docker compose version 以一般使用者啟動Docker Desktop服務 systemctl --user start docker-desktop # 登入桌面自動啟動Docker Desktop systemctl --user enable docker-desktop 這樣Docker Desktop就會自己跳出來 3. 使用Docker Desktop操作容器 # 你無法在Docker Desktop直接拉取映像，還是得用到終端機指令。\n開啟終端機，拉取官方範本。注意執行docker指令的時候不需要sudo，不然Docker Desktop會看不到執行中的容器。 docker run -d -p 80:80 docker/getting-started 如果遇到dialing registry-1.docker.io:443 with direct connection: resolving host registry-1.docker.io: lookup registry-1.docker.io on 192.168.1.1:53: no such host錯誤，那麼就將systemd-reslove的DNS伺服器改為Cloudflare\n# 取得目前連線的UUID sudo nmcli con # 修改DNS sudo nmcli con mod \u0026#34;UUID\u0026#34; ipv4.dns \u0026#34;1.1.1.1 8.8.8.8\u0026#34; # 重新啟動網路服務 sudo systemctl restart NetworkManager Docker Desktop即會顯示目前運作中的容器。 點進去可以直接存取容器內部的終端機 (等同終端機執行docker exec指令) 啟動Docker Desktop後會一併啟動QEMU虛擬機，佔用RAM 2GB，硬碟64GB，資料儲存於~/home/user/.docker/desktop/vms/0/。在Docker Desktop的設定頁面可以調整分配的資源。 4. 解除安裝Docker Desktop # Docker Desktop可能會干擾一般使用者執行Docker指令，遇到此情況請將Docker Desktop移除。\n刪除套件 sudo pacman -R docker-desktop 刪除設定檔與符號連結 rm -r $HOME/.docker/desktop sudo rm /usr/local/bin/com.docker.cli rm $HOME/.docker/config.json sudo pacman -Rns docker-desktop 參考資料 # Install on Arch-based distributions | Docker Documentation docker pull: Error response from daemon: Get https://registry-1.docker.io/v2/: unexpected EOF #6704 ","date":"2023年5月7日","externalUrl":null,"permalink":"/posts/install-docker-desktop-on-archlinux/","section":"所有文章","summary":"“Docker Desktop\"是Docker公司推出的專有軟體，以圖形化界面配合虛擬機，讓初學者快速上手Docker開發環境。尤其對Windows和macOS用戶來說，這是最方便安裝Docker Engine的作法。\n注意\"Docker Desktop\"不等於\"Docker Engine”，前者是包含Docker在內的封閉原始碼軟體，後者則是一套開源的容器技術。\nDocker Engine原本就是為Linux系統設計的技術，Linux用命令行就能輕鬆安裝Docker Engine，用指令操作Docker容器也方便。如果你已經熟悉在Linux用命令行操作Docker，那就只要單獨裝Docker Engine就好，不太需要用到Docker Desktop。\n目前Docker Desktop (版本4.19.0) 只支援Fedora、Ubuntu、Debian。openSUSE不能裝Fedroa的rpm （順帶一提SUSE公司有自己一套Rancher Desktop管理工具）。\n至於Arch系的套件，Docker Desktop處於實驗性支援狀態，不能從AUR安裝，要手動安裝。\n1. 安裝Docker # Docker官網文件建議安裝Docker官網提供的靜態執行檔，雖說我自己測試用Arch套件庫提供的Docker也是可以跑。\n","title":"Arch Linux安裝Docker Desktop圖形前端的方法","type":"posts"},{"content":"","date":"2023年5月6日","externalUrl":null,"permalink":"/tags/gelbooru/","section":"標籤","summary":"","title":"Gelbooru","type":"tags"},{"content":" Gelbooru這個動漫圖站跟Danbooru類似，都是從各處網站蒐集高畫質動漫圖片的英文網站，圖片都用標籤分類。\n二者標籤大致上通用，但跟Danbooru不同的是，Gelbooru偏向收錄成人內容（色圖），他們的網站在2022年就棄用了\u0026quot;Explicit\u0026quot;與\u0026quot;Safe\u0026quot;的分級標籤。因此內容可能會比Danbooru少，但要看色圖是絕對沒問題的。\n這類圖站不像Pixiv只標出作品和角色名稱而已，Gelbooru上的每張圖片人物的髮色、衣著、體位、繪師、人數都會打上標籤。\n因此造就強大搜尋功能，得益於標籤分類，我們可以在搜尋框使用複雜語法，同時搜尋多個作品和符合性癖的標籤，過濾、建構出屬於自己的「動態牆」。\n1. Gelbooru站點功能 # Gelbooru輸入字元會有完整標籤提示，亦有Wiki可查詢用法。 Gelbooru登入帳號後可按搜尋框旁邊的愛心，將搜尋的字串儲存起來，並由My Account →　Saved Searches找到。\n此外，在Options勾選Display All Contents才會於搜尋結果顯示蘿莉圖。\n有些圖片預設會用較低的解析度顯示，按下expand image才會顯示原圖解析度。有些原圖一張就高達5MB，下載要小心容量啊。 在左邊的欄位會依序顯示作者、角色、原作、有關圖片內容的標籤。每個都是可以搜尋的按鈕。按問號查看定義。 Statistics則是顯示這張圖的原始出處。 如果你覺得網頁版不好用，也可以下載支援電腦與手機的APP：Imageboard Grabber，方便大量抓圖。\n2. Gelbooru標籤搜圖語法範例 # 註：如果你想要圖片搜尋，請用SauceNao。SauceNao有些結果也會導向回Gelbooru。\n這裡有Gelbooru站上的全部標籤列表。\nGelbooru的標籤若有空格，需要加上_底線。\n搜尋拉手+後背位（用空格分隔標籤，代表的條件是AND，搜尋符合二者標籤的結果）：arms_behind_back doggystyle 搜尋拉手+後背位+艦隊收藏：arms_behind_back doggystyle kantai_collection 搜尋受精或懷孕或出產的結果（用波浪符和大括號來使用OR搜尋，但要有一個固定的tag）：{impregnation ~ preganant ~ birth} 搜尋艦隊收藏，排除甲甲和拉拉的結果（用橫線來排除標籤）：kantai_collection -yaoi -yuri 搜尋為Fate或艦隊收藏或少女與戰車或強襲魔女圖片（作品名稱放在大括號裡面）：{fate_(series) ~ kantai_collection ~ girls_und_panzer ~ strike_witches} 有時候作品名稱會和畫師名字重複，這時就要在標籤前面加上命名空間，例如artist:lain指定搜尋畫師lain的圖；copyright:lain則是搜尋動畫Lain的圖片。\n雖然Gelbooru是蒐集動漫為主的網站，但偶爾有人會po真人coser照片。如果要搜尋這類圖片，使用標籤：cosplay photo_(medium)\n搜尋動圖或影片：{animated_gif ~ video} 搜尋騎乘位+蘿：cowgirl_position loli 搜尋超高畫質+抱枕圖片：absurdres dakimakura_(medium) 搜尋大乳暈：large_areolae nipples 搜尋獵奇：{guro ~ death} ","date":"2023年5月6日","externalUrl":null,"permalink":"/posts/gelbooru-introduction/","section":"Nsfws","summary":" Gelbooru這個動漫圖站跟Danbooru類似，都是從各處網站蒐集高畫質動漫圖片的英文網站，圖片都用標籤分類。\n二者標籤大致上通用，但跟Danbooru不同的是，Gelbooru偏向收錄成人內容（色圖），他們的網站在2022年就棄用了\"Explicit\"與\"Safe\"的分級標籤。因此內容可能會比Danbooru少，但要看色圖是絕對沒問題的。\n這類圖站不像Pixiv只標出作品和角色名稱而已，Gelbooru上的每張圖片人物的髮色、衣著、體位、繪師、人數都會打上標籤。\n因此造就強大搜尋功能，得益於標籤分類，我們可以在搜尋框使用複雜語法，同時搜尋多個作品和符合性癖的標籤，過濾、建構出屬於自己的「動態牆」。\n","title":"Gelbooru搜尋用法：專門收集成人動漫圖片的圖站，類似Danbooru","type":"nsfw"},{"content":"ο δέ ανεξέταστος βίος ου βιωτός ανθρώπω.\n未經反省的人生是不值得活的。\n我主張部落格文章一定比例上還是得親自撰寫的，這並非盧德主義者，生成式AI (AIGC) 對現代人的幫助是很大的，尤其最近我研究開源的Stable Diffusion和LLaMA，輔助人類文字與藝術創作，頗具趣味，他們也可以跟封閉原始碼的雲端生成式AI工具競爭，達成新時代的「自由軟體」解放運動。\n但是，一旦創作的比例由AI佔據壓倒性比例，那麼就該反思，是否過度依賴AI了。\n要表達對AI生成的立場，就加入這個徽章吧！在可預見的未來，生成式內容會越來越多，因為人性本惡。表明立場可以從現在開始。\n1. 生成式AI成為新的剝削工具 # 最近看到一些經營許久的部落客，疑似已經開始用ChatGPT寫文章，導致整篇充滿機器味，沒有個人情感。\n例如一篇介紹Stable Diffusion的工具，文章的表格、使用提示都像是用AI產出的。各位知道ChatGPT可以幫忙寫Stable Diffusion的提示詞吧？但文章內容都用AI整理就顯得很沒必要。\n介紹AI工具可不能把文章內容也AI化了啊。如果幾乎是AI生成/翻譯的內容，還自稱部落格幹嘛？還想用AI生成的內容吸引人買AI的課程，學習如何用AI賺錢？\n不是手寫的部落格根本不能算是部落格。以前有人喜歡剪剪貼貼資料到部落格，當搬運工，幾乎沒有自己想法，也無實作紀錄。現在AI幫你寫文章，或是翻譯你自己不熟悉的內容，只在後面補上自己的一些想法，完全追隨AI，實無必要。\n我知道隨著AI發展，大型語言模型的文風會越來越淡，導致日後人們分不出這是AI產出的。甚至，把我這篇文章餵給我屬意的LLaMA模型整理，它也能產出比我更精密的論點，但這真的是我們要的網路生態嗎？網路內容真假難辨，讀者若沒有資安意識，就會輕易對他認為的「優質」信以為真。並且大量產製內容(參見我之前寫的內容農場盜文應對作法)，獲得SEO有利位置後，就有暴利可圖。無知的訪客就這樣被AI生成的內容剝削了，他們看到的不是人類的精神創作，而是賺得盆缽盆滿的人生成的像素文字。\n現在，閱讀網站的時候還是抱持著希望，閱讀的東西是人寫的(程式文件除外，AI整理可以拯救爛文檔)，是可以跟作者感情交流、辯駁的，而非幾乎都是AI生成的內容，人類變成單純的播報員。我並非盧德主義者，但是拿AI來快速產出低劣非人類內容以獲取流量，是應該為人所不齒的。\n我聽說美國議員就任的時候都要按著《聖經》發誓，那我現在也按著《自由軟體，自由社會》發誓：本部落格的內容全都是我親筆出的，不使用任何AI工具生成段落。翻譯僅是參考，我大部分仍是手打，而非複製貼上。\n2. 不喜過份諂媚的標題 # 這段有點離題。\n讓AI生成可能是種更「高明」的抄襲\u0026hellip;為此是學術倫理所不恥，這個界線要分清楚。\n讀一本書是抄襲，讀很多本書叫做研究，讓AI從數學公式生成內容叫做文明？\n如果這是你所謂的用AI「節省時間」、「提高生產力」與收入的文明做法，那就讓你看看野蠻的驕傲(?)。 寫文章的時候，我還是會研究一下SEO，選擇適合的下標方法，此時AI就可以提供協助，放出一些常見的、吸引人的標題組合，以及文章大綱可以怎麼寫，然後我再從裡面挑一個去改。\n不過，我恰恰是不愛這種完全服膺SEO的標語的。\n這裡有個例子，時下熱門的AI繪圖，如果說要我重選選擇一種標題，我應該還是會選第二個\n保母級教學：三分鐘在你的電腦安裝時下最火的AI繪圖軟體 本機AI繪圖：Windows安裝Stable Diffusion WebUI教學 為什麼？我不喜歡把讀者當笨蛋，或者是要讀者崇拜我、把我當作可靠的、所謂大師的人物。曾有智者說「當心！你們可不要被一尊倒下的雕像砸死！」因此，我不會完全討好讀者，極盡諂媚之能事。\n也可能是我太古板，不夠沒良心，不喜歡下那種娛樂至死的標題，我下的標題經過斟酌後，會在學術論文與吸引人眼球之間取個平衡。雖然不能否定，有些文章偏政治理念宣傳，要用花言巧語才能吸引讀者，所以這是一些例外。\n另外，我討厭寫有時效性的東西，所以我幾乎不寫新聞報導的短篇文章。介紹軟體的教學文章，如果我還有心力，我還是會按照上游變化，將其重寫一遍並更新日期的。在那之外，要寫誰誰誰今天推出了什麼新服務，那麼我拒絕。\n3. 表明對AI生成的態度：放上非AI生成的徽章 # 非AI生成的徽章，讓關心你的讀者能夠對你有信心。現在你可以在我的每一篇文章文末找到「非AI生成」的徽章。\nNot By AI的網站說：\nYour AI-free Content Deserves a Badge\n您的非AI生成內容值得放上徽章\n該網站一針見血的指出了AI生成的濫用，如下圖所示，AI生成內容未來會爆發性成長。如果放任不管，2025年網際網路上會有95%的內容都是AI生成！Not By AI並非反對使用AI，而是要人類可以跟AI一起工作，而非遭AI取代。\n徽章有三個版本，適用於藝術家(Artist)，作家(Writer)，以及其他創作者(Producer)。\n你可以到官網Not By AI，點上面的圖片，填寫Email，它就會寄給你各種語言的徽章壓縮檔。\n不過需要Email才能索取這點有點謎，該不會這個網站也是AI要來監控人類的吧。\n不然的話直接下載本文抽出的徽章也可以，下面這六張都是SVG格式：\n將其解壓縮，將徽章的圖片放到你的網站根目錄。接著在文章的模板新增HTML元件，插入程式碼，src填入圖片網址：\n\u0026lt;a href=\u0026#34;https://notbyai.fyi\u0026#34;\u0026gt;\u0026lt;img src=\u0026#34;written-by-human-not-by-ai-white.svg\u0026#34; alt=\u0026#34;written by human, not by AI\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; 注意此徽章並無任何法律效力，僅是表達立場之用。如果你需要給網站內容訂定授權條款，建議還是從創用CC之中選一個。\n儘管在大時代與企業機器面前，這些條款可能跟創用CC和自由軟體著作傳條款一樣脆弱，但是這個自由和尊嚴還是要捍衛。\n","date":"2023年5月6日","externalUrl":null,"permalink":"/posts/add-not-by-ai-badge-to-your-website/","section":"Personals","summary":"ο δέ ανεξέταστος βίος ου βιωτός ανθρώπω.\n未經反省的人生是不值得活的。\n我主張部落格文章一定比例上還是得親自撰寫的，這並非盧德主義者，生成式AI (AIGC) 對現代人的幫助是很大的，尤其最近我研究開源的Stable Diffusion和LLaMA，輔助人類文字與藝術創作，頗具趣味，他們也可以跟封閉原始碼的雲端生成式AI工具競爭，達成新時代的「自由軟體」解放運動。\n但是，一旦創作的比例由AI佔據壓倒性比例，那麼就該反思，是否過度依賴AI了。\n要表達對AI生成的立場，就加入這個徽章吧！在可預見的未來，生成式內容會越來越多，因為人性本惡。表明立場可以從現在開始。\n1. 生成式AI成為新的剝削工具 # 最近看到一些經營許久的部落客，疑似已經開始用ChatGPT寫文章，導致整篇充滿機器味，沒有個人情感。\n例如一篇介紹Stable Diffusion的工具，文章的表格、使用提示都像是用AI產出的。各位知道ChatGPT可以幫忙寫Stable Diffusion的提示詞吧？但文章內容都用AI整理就顯得很沒必要。\n介紹AI工具可不能把文章內容也AI化了啊。如果幾乎是AI生成/翻譯的內容，還自稱部落格幹嘛？還想用AI生成的內容吸引人買AI的課程，學習如何用AI賺錢？\n不是手寫的部落格根本不能算是部落格。以前有人喜歡剪剪貼貼資料到部落格，當搬運工，幾乎沒有自己想法，也無實作紀錄。現在AI幫你寫文章，或是翻譯你自己不熟悉的內容，只在後面補上自己的一些想法，完全追隨AI，實無必要。\n","title":"在你的網站放上「文章並非AI生成」Not By AI的徽章吧","type":"personal"},{"content":"","date":"2023年5月5日","externalUrl":null,"permalink":"/tags/linkvertise/","section":"標籤","summary":"","title":"Linkvertise","type":"tags"},{"content":"最近研究了一些Adsense以外的廣告商，發現他們之所以能宣稱高營利，是因為廣告版型沒有下限。如果你喜歡上一些奇怪的網站，那應該屢見不鮮：點一下網頁，跳出廣告到交友網站；滑動網頁，左邊彈出通知；按下小到不行的叉叉後，哇，又一個滿版廣告彈出。\n這個讓我想到，以前我也喜歡使用Adfly和LinkVertise短網址「賺錢」，可是到後來，我覺得這是純粹是割韭菜，不道德的行為，所以後來就沒在用了。本文紀錄過去短網址賺錢的使用心得，並解釋我現在為何要擺脫短網址，採取新的作法。 1. Adfl.y與Linkvertise的賺錢原理 # 所謂短網址，便是將長長的網址縮短，方便你將它貼到其他地方的轉址服務，例如Bit.ly、TinyURL、reurl.cc。這種轉址服務頂多會監控流量和訪客資料而已，不會給訪客看廣告。\n而短網址廣告不太一樣，它是在轉址過程中，放入廣告強迫使用者觀看，才導向目標網址，外國比較知名的有Adf.ly(小蜜蜂)、Linkvertise、Shorte.st等。\n值得注意的是Linkvertise已於2022年收購Adf.ly，所以現在二者是同一家公司了。下面我講的Adf.ly廣告頁面是指2022年以前的樣式。\n以前我熱衷做Minecraft基岩版的遊戲模組，例如給遊戲增加軍機、坦克、天竺鼠車車的元素的趣味項目。當時從其他創作者得知短網址廣告賺錢的網站，甚至Linkvertise這家平台剛成立的時候，還給我Twitter私訊要我試試他們的平台。\n他們的原理都一樣，你將檔案下載的網址餵給他們，他們就會給你一組短網址，接著你把這個連結作為模組下載點，分享給其他人。\n以下是Linkvertise賺錢方法示意圖，圖片來自我以前教大家如何割韭菜的Minecraft文章。\n當訪客點進去這類短連結，他們會被迫觀看廣告：\nAdfl.y是叫你等五秒廣告再按繼續，接著會誘導使用者開啟「瀏覽器通知」，不然就要多看五個廣告。在那之後，Adf.ly才會導向真正的目標網址。\nLinkvertise更過份了，中間不只要訪客看廣告，而且是被迫點開某網頁文章，瀏覽十秒，才算「完成任務」，導向目標網址。由於Linkvertise在建立短網址時可以選擇要讓訪客完成多少任務，讓你賺更多。因此最狠的情況下，訪客必須下載APP、安裝擴充功能、開啟瀏覽器通知才算完成任務。\n更不要說Linkvertise的網站也是滿版的廣告了。\n儘管他們好像想把「看廣告＋做任務，平台與創作者雙方互贏」的程序標準化，甚至想吸引訪客買「Linkvertise Premium」解鎖全站無廣告的特權，建立起自己的生態系。\n可是對初次使用的人來說，Linkvertise看網頁起來版面還是很亂，每個廣告都寫\u0026quot;Download Now\u0026quot;，讓人找不到下一步的按鈕在哪裡，對電腦不熟的人亂按一通，廣告商就賺翻了。\n2. 短網址究竟有多好賺 # 短網址廣告的網頁都有許多誤導人的廣告，加上「瀏覽器通知」這個很多電腦白痴都不知道怎麼關的功能，所以讓短網址變成很好賺的工具。\n2020年~2022年間，我做了十幾個Minecraft的模組，丟到外國的MCPEDL網站，取得很大曝光，每個模組都有破千下載量。\n從Linkvertise後台資料來看，每個月最高能有30美元被動收入，是除了我實體打工以外的另一筆不小的收入。\n而我投入的花費就僅有課餘寫程式和建模的時間而已。錢是直接匯到Paypal，台灣幾乎領不出來，所以我都拿來課金居多。\n現在我很久沒做模組了，因此變成要等好幾個月，等錢累積夠了它才會轉帳過來。但也反映出這些做去的作品居然還是有人氣的，真可怕。\n3. 雖然創作者賺點回報是應該的，但是\u0026hellip; # 我還是很感謝Adf.ly和Linkvertise給創作者極低的門檻賺錢的，用短網址比起在網站放一個贊助按鈕，錢來的要快多了，不用花時間建立人氣也能很快收到錢。\n他們不算是有害網站，就是他們用這種賺錢的模式，會給人道德觀感不佳，我內心一直覺得這是在陷害陌生的網友，讓他們電腦多了一堆廣告。\n除開道德觀感因素，還有濫用問題。短網址廣告可能遭濫用：就繼續用Minecraft當例子吧！有些人好不容易下載到檔案後，改將連結換成自己的Adf.ly，放到自己Youtube影片下面賺錢，貪圖方便，懶得找模組來源的觀眾就會上鉤，這招真高對吧，很多青少年Youtuber特愛搞這一套。我還看過有人Adfly＋Linkvertise一起用的，韭菜的根部都給你割完啦。\n更扯的是有部落客，連在自己的文章中的外部連結都放Adfly，你到底多缺錢啊？我最討厭的就是邀請碼制度，我在部落格放的連結除了我自己寫的文章外，就真的是原始網址，從沒從中間賺一手。\n短網址用誤導性廣告賺錢，頗有割電腦白痴韭菜的意味。雖然創作者的勞動有收穫是應該的，但是不該用這種強迫的方式來賺錢。實際上要長久的賺錢，應該有更好的方式。\n4. 那麼內容創作者可以怎麼做 # 在接觸開源軟體，以及創用CC後我深深體認到一些想法。\n不論是創作什麼作品，舉凡文字、繪圖、程式、遊戲、音樂，有一定人氣的內容創作者都會開贊助管道，如此發展才能長久，建立個人品牌，讓粉絲自發支持。\n提供贊助與搞會員限定 # 如果是影像、圖畫、音樂、遊戲創作者，直接開贊助平台是最考慮到未來長久發展的作法，從使用平台本身的贊助(如Youtube、Twitch)，到獨立贊助管道(如Patreon、Paypal、Liberapay、Kofi)都可以。\n講點不好聽的，成人內容的創作者會更容易讓粉絲有付錢欲望。\n接著，花時間構思會員限定內容，經營社群，這個的誘因比單純要人家捐款支持你創作還大，因為大家都喜歡專屬的物件，而免費網路資源常被人們當成理所應當的物質，不懂得珍惜。現在的人啊，下載盜版資源連回一句「謝謝大大分享」都懶得寫了。\n加強誘導捐款/付款 # 另一種是比較沒那麼壞的：誘導捐款/付款。很多自由軟體的創作者都依賴捐款支持，除非是像KDE這種跨國組織才能拉到大企業贊助。\n如果你的創作還沒有很強的稀缺性，導致人們很難有意願主動花錢，只好更積極的指引訪客捐款，就算在下載頁面，也應當有明確、方便的捐款指示。\n舉例，你知道十年前在Ubuntu網站下載安裝ISO的時候會要你捐款嗎？有些使用者真的很天真，還真的捐了個位數。但，其實遇到捐款欄位，你只要填0就可以通過了。\n來源：https://www.themarysue.com/ubuntu-accepting-donations/\n現在有Gumroad專門提供這類服務的商務網站，它可以讓你販售商品，並讓使用者制定「公平價格」從而讓訪客下載前多想一秒鐘。\n例如這個創作者販售他製作的blender擴充功能\n同樣的，大多情況下填0就能通過，不過付款按鈕擺在那邊，這也更吸引有能力的訪客捐款。\n必須承認，在網路世界，單純要人家捐款支持你創作是很難的，一萬個網友中願意打賞1美元給你的都算好了，可提供明確的捐款指引仍然是有用的。我認為，比起用平台用廣告流量賺使用者的錢，收到的捐款更是會讓人感到真誠支持的。\n這邊提一句，你看我寫這些廢文誰會去按下面的Liberapay捐款按鈕，沒有！Like Coin明明在最下面，按的人卻積極多了，因為按Like Coin不需要花真錢。Like Coin兌換真錢需要非常非常多人按才行，其實一開始非常難賺，那我幹嘛放在那邊佔版面位置？我還是要讓人知道有什麼可以默默贊助我的方法，加減賺嘛(台語發音)。\n5. 結論 # 停止更新Minecraft模組後，我便沒有再用短網址賺錢服務。不只沒必要，還覺得不道德。\n儘管我本身沒有很厲害的專業知識能讓人送前來，可是我還是覺得，假設不依賴網路賺錢當唯一收入來源的情況下，作人還是要有良心。至少，在正派用途上，我不再選擇歌韭菜的短網址賺錢模式了，而是投入更加艱辛的，緩步營造社群，最後達成收取贊助的道路。\n","date":"2023年5月5日","externalUrl":null,"permalink":"/posts/why-should-not-you-use-url-shortners-to-earn-money/","section":"Personals","summary":"最近研究了一些Adsense以外的廣告商，發現他們之所以能宣稱高營利，是因為廣告版型沒有下限。如果你喜歡上一些奇怪的網站，那應該屢見不鮮：點一下網頁，跳出廣告到交友網站；滑動網頁，左邊彈出通知；按下小到不行的叉叉後，哇，又一個滿版廣告彈出。\n這個讓我想到，以前我也喜歡使用Adfly和LinkVertise短網址「賺錢」，可是到後來，我覺得這是純粹是割韭菜，不道德的行為，所以後來就沒在用了。本文紀錄過去短網址賺錢的使用心得，並解釋我現在為何要擺脫短網址，採取新的作法。 1. Adfl.y與Linkvertise的賺錢原理 # 所謂短網址，便是將長長的網址縮短，方便你將它貼到其他地方的轉址服務，例如Bit.ly、TinyURL、reurl.cc。這種轉址服務頂多會監控流量和訪客資料而已，不會給訪客看廣告。\n而短網址廣告不太一樣，它是在轉址過程中，放入廣告強迫使用者觀看，才導向目標網址，外國比較知名的有Adf.ly(小蜜蜂)、Linkvertise、Shorte.st等。\n值得注意的是Linkvertise已於2022年收購Adf.ly，所以現在二者是同一家公司了。下面我講的Adf.ly廣告頁面是指2022年以前的樣式。\n以前我熱衷做Minecraft基岩版的遊戲模組，例如給遊戲增加軍機、坦克、天竺鼠車車的元素的趣味項目。當時從其他創作者得知短網址廣告賺錢的網站，甚至Linkvertise這家平台剛成立的時候，還給我Twitter私訊要我試試他們的平台。\n","title":"內容創作者不應用短網址賺錢（LinkVertise、Adf.ly），純粹是割韭菜","type":"personal"},{"content":" EhPanda是適用於iPhone/iPad的E-hentai (e紳士、傷心熊貓) 閱讀軟體，由Github開發者荒木辰造以SwiftUI \u0026amp; Combine架構開發，需要iOS 15以上系統才能運作。 EhPanda要透過AltStore安裝，免越獄。特色為直連Ex-hentai，支援中文標籤翻譯、歷史紀錄、查看雲端收藏內容，用iPad的話還可以開啟雙頁閱讀模式。\n但是跟類似產品Shinsi2、JHentai比起來，EhPanda少了下載功能，只能閱讀時快取到本機。\n1. 安裝EhPanda # 請先安裝AltStore和註冊E-hentai帳號\n用iOS裝置到EhPanda Github，點開最新Release的“Assets”，下載.ipa結尾的檔案。\niOS裝置連著電腦，確認AltServer有在運作，點左上角+號直接安裝ipa檔案。 開啟EhPanda，點選右下角的設定，在「帳號」下方點選「Ex-hentai」，之後登入E-hentai帳號。 接著在一般設定開啟中文標籤翻譯。 2. EhPanda使用技巧 # 我們來看一下EhPanda的主要功能。EhPanda的主畫面經過重新排版，會在最上方顯示最新上傳的同人誌。 「收藏」是顯示E-hentai帳號的收藏，能選擇用卡片或列表顯示。點選右上角的切換資料夾和排序模式更是方便。 「搜尋」頁面點選右上角篩選，還可以將常用搜尋字串儲存為快速搜尋。至於標籤搜尋技巧請參閱E-hentai網頁版使用教學。 接下來是同人誌的閱讀介面，在iPad上看起來就像是App Store的設計語言一樣，因此同人誌預覽是從螢幕中間彈出來的。有啟用中文化標籤就能方便查看同人誌的作者資訊，點選標籤可進行相關搜尋。 EhPanda預設閱讀模式是直向的，按右上角變更為橫向。iPad也要記得切換為雙頁模式閱讀，讀起來才會賞心悅目。 如果要下載同人誌呢？可惜EhPanda只支援下載到H@H伺服器，也許是開發者認為頻繁下載會對伺服器造成負擔吧。不過閱讀過的同人誌皆會快取下來，不用擔心每次都要等很久。 3. 總結 # iOS長期缺乏E-hentai閱讀器，現在有開發者願意投入是好事。鑑於Apple嚴格的審核政策，未來可能很長時間還是要用AltStore安裝EhPanda。\n按照EhPanda開發者在2022年5月發布的說法，因為怕搬到日本被著作權警察找上門，所以正在尋求此專案的後繼維護者。是說開發這種APP，中國有很多開發者會願意接手的，未來EhPanda也該加入台灣開發的Shinsi2的下載功能。\n","date":"2023年5月3日","externalUrl":null,"permalink":"/posts/ios-ehpanda/","section":"所有文章","summary":" EhPanda是適用於iPhone/iPad的E-hentai (e紳士、傷心熊貓) 閱讀軟體，由Github開發者荒木辰造以SwiftUI \u0026 Combine架構開發，需要iOS 15以上系統才能運作。 EhPanda要透過AltStore安裝，免越獄。特色為直連Ex-hentai，支援中文標籤翻譯、歷史紀錄、查看雲端收藏內容，用iPad的話還可以開啟雙頁閱讀模式。\n但是跟類似產品Shinsi2、JHentai比起來，EhPanda少了下載功能，只能閱讀時快取到本機。\n1. 安裝EhPanda # 請先安裝AltStore和註冊E-hentai帳號\n用iOS裝置到EhPanda Github，點開最新Release的“Assets”，下載.ipa結尾的檔案。\niOS裝置連著電腦，確認AltServer有在運作，點左上角+號直接安裝ipa檔案。 ","title":"iOS看E-hentai的APP：EhPanda","type":"posts"},{"content":"聲明：我跟迷雾通開發者以及其公司無任何商業合作關係，文中所有連結都不含折扣代碼，撰文推薦只是為了推廣自由軟體，以及支持蔥友的付出。\n在中國大陸，要翻牆(掛VPN/梯子/科學上網)有許多選擇，當中的風險除了要考量價格外，亦要注意翻牆工具安不安全，避免翻牆還中了愛國機場的陷阱。愛國機場意指提供翻牆服務，但仍會封鎖政治敏感網站甚至報警的翻牆工具。\n如何選擇安全的翻牆工具？不妨試試看「迷雾通」吧。2019年，一位蔥友在反共論壇品蔥分享了他開發的翻牆工具「迷雾通」Geph，支援手機和電腦系統，還可以自架(self-host)，那麼就讓我們來看看這款工具如何使用吧。\n1. 迷霧通安全性 # 迷霧通整套軟體幾乎是開源的，原始碼可在Github取得。他們使用自研的通訊協定niaucchi4，再使用Mizaru零知識證明加強安全性，宣稱與中國防火長城(GFW)屢戰屢勝。\n詳細運作原理請見Github Wiki\n迷霧通背後的公司Gephyra OÜ位於愛沙尼亞，嚴格遵守歐盟GDPR規範，保障使用者隱私。Gephyra OÜ公司在愛沙尼亞政府官網的註冊資訊\n根據開發者在品蔥的貼文，為保護中國牆內的反賊，迷霧通註冊不需要提供敏感資訊，並且可以免費使用他們的中速伺服器翻牆。\n2. 註冊迷霧通帳號 # 至迷霧通官網或免翻牆的鏡像站註冊帳號後再開始使用。\n迷霧通支援官網或APP內註冊，註冊不需要電子郵件或手機號碼。\n註冊後可免費使用迷霧通的中速線路，網路速度上限1.6Mbps。這個速度看普通網頁夠了，看Youtube影片會轉圈圈比較久，他們主打的是連線穩定性。\n付費的話一個月要價5歐元，支援信用卡/支付寶/微信付款。官方宣稱高速線路不限速，可選擇更多國家的伺服器，並且有「封幾天賠幾天」的退款政策(需手動寄電子郵件詢問)。\n如果你需要更快的VPN，可以嘗試同樣位於歐洲，保障隱私的Proton VPN。\n3. 安裝迷霧通客戶端 # 3.1. 手機 # Android版到迷霧通Github下載apk。你也可以到Google Play下載安裝。\niOS版還處於測試狀態，需要安裝Testflight並加入迷霧通測試計畫才能下載，可能需要App Store跨區。\n3.2. 電腦 # 到迷霧通Github下載安裝檔。迷霧通支援Linux/Windows/MacOS，開箱即用，無須調整網路設定。\n這裡以Linux電腦作示範。迷霧通官網提供的Linux安裝檔是Flatpak套件，不論什麼Linux發行版，只要是x86架構皆能安裝。\n首先在你的電腦安裝Flatpak，安裝後重開機。 # Debian/ Ubuntu sudo apt install flatpak flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo # RHEL/Fedora sudo dnf install flatpak flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo # Arch/Manjaro sudo pacman -S flatpak flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo 至迷霧通官網或免翻牆的鏡像站下載Linux安裝檔。\n開啟終端機，安裝迷霧通Flatpak套件。輸入密碼確認安裝。\nflatpak install Geph-x86_64.flatpak 安裝後你可以在應用程式列表找到Geph(迷霧通)的圖示，開啟登入。 迷霧通會自動選擇伺服器，點選連線。 開啟瀏覽器，試試能不能存取法輪功的網站：https://big5.falundafa.org。我並不信法輪功，但是嘗試存取這類網站是測試翻牆軟體是否為愛國機場的好方法。 迷霧通亦會即時顯示連線情況。 接著，建議強制全部程式使用迷霧通上網。\n迷霧通預設會讓瀏覽器使用迷霧通上網，但是其他應用程式就不一定了，這樣會製造破口。\n所幸，迷霧通的電腦和手機客戶端皆能啟用「全局VPN」，強制所有應用程式使用迷霧通上網：\n這樣可以防止真實IP暴露，對Docker容器和QEMU虛擬機也有效。\n4. 自架迷霧通伺服器服務 # 如果要自行搭建迷霧通，官方文件推薦使用Debian系統的伺服器。\n在遠端伺服器上，下載官方提供的懶人指令稿，它會自動安裝cargo的geph4-exit套件、設定通訊埠、啟用systemd服務。迷霧通預設使用通訊埠為8814 curl -L https://waa.ai/geph-exit-setup | sudo bash 安裝後伺服器會輸出以下訊息，將PUBLIC_KEY的數值記下來。 [2023-05-12T13:30:00Z INFO geph4_exit::listen] listening on \u0026lt;PUBLIC_KEY\u0026gt;@\u0026lt;伺服器IP位址\u0026gt;:8814 在要連線的電腦上，安裝cargo套件管理器，再安裝geph4-client套件 sudo apt install cargo cargo install --locked geph4-client 使用以下指令連線到迷霧通伺服器 geph4-client connect --override-connect \u0026lt;PUBLIC_KEY\u0026gt;@\u0026lt;伺服器IP位址\u0026gt;:8814 localhost:9910此通訊埠是走HTTP 代理，localhost:9909則是SOCKS5 代理。\n外部連結 # 迷霧通官網 迷霧通Github 迷霧通幫助論壇 ","date":"2023年5月2日","externalUrl":null,"permalink":"/posts/geph-installation/","section":"所有文章","summary":"聲明：我跟迷雾通開發者以及其公司無任何商業合作關係，文中所有連結都不含折扣代碼，撰文推薦只是為了推廣自由軟體，以及支持蔥友的付出。\n在中國大陸，要翻牆(掛VPN/梯子/科學上網)有許多選擇，當中的風險除了要考量價格外，亦要注意翻牆工具安不安全，避免翻牆還中了愛國機場的陷阱。愛國機場意指提供翻牆服務，但仍會封鎖政治敏感網站甚至報警的翻牆工具。\n如何選擇安全的翻牆工具？不妨試試看「迷雾通」吧。2019年，一位蔥友在反共論壇品蔥分享了他開發的翻牆工具「迷雾通」Geph，支援手機和電腦系統，還可以自架(self-host)，那麼就讓我們來看看這款工具如何使用吧。\n1. 迷霧通安全性 # 迷霧通整套軟體幾乎是開源的，原始碼可在Github取得。他們使用自研的通訊協定niaucchi4，再使用Mizaru零知識證明加強安全性，宣稱與中國防火長城(GFW)屢戰屢勝。\n詳細運作原理請見Github Wiki\n迷霧通背後的公司Gephyra OÜ位於愛沙尼亞，嚴格遵守歐盟GDPR規範，保障使用者隱私。Gephyra OÜ公司在愛沙尼亞政府官網的註冊資訊\n根據開發者在品蔥的貼文，為保護中國牆內的反賊，迷霧通註冊不需要提供敏感資訊，並且可以免費使用他們的中速伺服器翻牆。\n2. 註冊迷霧通帳號 # 至迷霧通官網或免翻牆的鏡像站註冊帳號後再開始使用。\n迷霧通支援官網或APP內註冊，註冊不需要電子郵件或手機號碼。\n註冊後可免費使用迷霧通的中速線路，網路速度上限1.6Mbps。這個速度看普通網頁夠了，看Youtube影片會轉圈圈比較久，他們主打的是連線穩定性。\n","title":"開源免費翻牆工具「迷雾通」Geph安裝教學，支援手機和電腦","type":"posts"},{"content":" Shinsi2這個APP適合在iOS看E-hentai (E紳士、傷心熊貓)，且有針對iPadOS大螢幕優化的雙頁閱讀。可快取圖片到本機離線閱讀、載入E-hentai帳號的喜好列表。\n相關文章：E-hentai網站介紹 iOS專門看E-hentai的APP是不能在App Store上架，所以要靠AltStore安裝。跟越獄不太一樣的是，AltStore不需要破解手機就能安裝第三方的APP，用不到也可以隨時刪除。稍微麻煩一點的就是每七天要連線到電腦上重簽APP。\n1. 安裝Shinsi2 # 註冊E-hetnai帳號，再用AltStore側載IPA\n用手機開啟作者的Github ，從Releases下載最新版本的IPA到裝置 (位於「下載」目錄)。\n開啟AltStore，點選+號安裝，選取下載的IPA。\nAltStore可能會再要求登入Apple ID。之後Shinsi2就會安裝到手機上。每七天要開啟AltStore APP的頁面，插到電腦上點選Refresh重簽APP。\n2. 使用方式 # 開啟Shinsi2，登入E-hentai帳號。EX key可留空。 主界面為E-hentai首頁，右上角按鈕分別為「下載列表」和「Favorites」列表。 iPhone按右上角設定能強制開啟雙頁閱讀，並切換站台至Exhentai。 這裡也能用網頁版語法搜尋同人誌。 點進去同人誌開始閱讀，或者是按右上角查看留言、下載、加入收藏。按標籤圖示更可以查找相關tag的同人誌。 另外，同人誌下載後可在檔案APP → 我的iPhone → Shinsi2找到Shinsi2下載的圖片檔，你可以將這裡的圖片自行備份。 順帶一提，這是iPad的介面，預設閱讀支援雙頁。 ","date":"2023年5月2日","externalUrl":null,"permalink":"/posts/ios-shinsi2/","section":"所有文章","summary":" Shinsi2這個APP適合在iOS看E-hentai (E紳士、傷心熊貓)，且有針對iPadOS大螢幕優化的雙頁閱讀。可快取圖片到本機離線閱讀、載入E-hentai帳號的喜好列表。\n相關文章：E-hentai網站介紹 iOS專門看E-hentai的APP是不能在App Store上架，所以要靠AltStore安裝。跟越獄不太一樣的是，AltStore不需要破解手機就能安裝第三方的APP，用不到也可以隨時刪除。稍微麻煩一點的就是每七天要連線到電腦上重簽APP。\n1. 安裝Shinsi2 # 註冊E-hetnai帳號，再用AltStore側載IPA\n用手機開啟作者的Github ，從Releases下載最新版本的IPA到裝置 (位於「下載」目錄)。\n","title":"簡易的iOS E-hentai APP: Shinsi2使用教學","type":"posts"},{"content":"","date":"2023年5月1日","externalUrl":null,"permalink":"/tags/parody/","section":"標籤","summary":"","title":"Parody","type":"tags"},{"content":"這個列表是我聽了4年乳包歌曲下來，覺得調音調的好聽的十首乳包歌曲，從抒情到動感皆有，不會像新手做的VOCALOID那樣尖銳傷耳的，彷彿真人唱的，還可以認識時事，「包蜜」必聽。 註：想要聽正經一點的反共歌曲的，請參考推薦好聽33首，中國大陸歌手唱的反共歌曲\n關於乳包文化 # 乳包(辱包，rubao)是惡搞中國共產黨中央委員會總書記習近平的一系列創作，可以分成「文乳」、「武乳」、「暴力乳包」。\n圖片轉載自膜乎\n本文介紹的主題是文乳與武乳兼具的「乳包歌曲」，也就是惡搞習近平的歌曲，或稱鬼畜調教。類似作品還有惡搞韓國瑜、蔡英文、川普的歌曲。政治人物被惡搞本來沒什麼，但是數量上很難與乳包的影音相比較。\n如果不知道習近平曾鬧過什麼笑話，請看維基百科：對習近平的負面稱呼，因為中國盛行文字獄的關係(比歐美政治正確還可怕的玩意兒，說錯話直接拉清單)，他可能是目前世界上遠超所有國家總統，外號最多的人，形成了辱包文化，能用的金句實在太多了，連1.5個博士都研究不完這些外號到底是怎麼來的。\nGoogle甚至幫你整理好了乳包歌曲名單：\n反賊每天都要盯著習近平唸稿看能出現什麼錯字，可以說是真包蜜了。\n注意乳包不要乳到最後真的變成包蜜。就跟膜蛤一開始本意一樣，陰陽怪氣惡搞習近平實際上仍是為了反共反獨裁所作的無奈之舉。\n我支持習近平無限連任是因為他能繼續折磨中國人，你支持習近平是因為你還沒被鐵拳過，we are not the same.\n乳包歌曲很少是台灣人寫的，台灣人惡搞蔡英文都來不及了(雖然惡搞過頭可能會被社維法送辦)這些歌曲更多的是反共反獨裁的匿名中國人所作，所以不要再說乳包都是1450的陰謀了，反共反中(對反中我持保留態度，因為那會變成種族主義)，追求自由的人在牆內外多得是。\n節選自乳透社Youtube下的留言：\n看这个视频的大陆人，你们看到我们的领导人被如此侮辱真的不心痛吗？反正我不心痛，我还看的很开心。\n台湾首先是台湾人的，统也好，独也好，和大陆人没关系，大陆人的使命是和香港同胞一起消灭共匪那百分之一的坏蛋，解散共党，把共党主义彻底抹去！我们大陆人一天天连自己都管不好，一会出个毛贼，一会出个蛤蟆，一会出个维尼，给世界没有一点贡献！台湾的自由是台湾人用鲜血换来的，为啥我们大陆说夺取就夺取?\n乳包作品數量最多的作者是「Ruters乳透社·小反旗」。2019年左右開始在Youtube頻道上傳乳包歌曲，搭配精甚細膩的MV，有時候會有匿名牆內中國人投稿，匿名是因為怕像乳包創作者被警哥拉清單。\n後來Youtube收到中國公司的檢舉下架乳透社歌曲，在鬥爭了一兩年後，乳透社請了律師成功恢復頻道。除了Youtube頻道外，乳透社還把所有乳包歌曲上傳到了Apple Music、Spotify、KKbox，隨時高音質乳包(當然中國區是不可能上架的)。創作者還可以跟乳透社索取乳包創作素材。\n除了乳透社外，製作乳包歌曲的知名Youtuber還有「沖浪之音」、「墙国蛙蛤蛤」等人。沖浪之音製作的特別版《孤勇者-致彭载舟》調音很棒。\n1. 無法控制疫情的政府 # 原曲：玫瑰花的葬禮\n創作由匿名中國人士提供支援，影片由梅川伊芙發布。\n玫瑰花的葬礼\n埋葬关于真实疫情\n不断有人发病\n不支倒地 先控制舆情\n草菅的人命\n手中握着权力\n死的都是无辜的小老百姓\n這首歌主要講的是禍害全世界三年的武漢肺炎，又稱中共病毒(CCP Virus)的寫照。\n讓人反思各國政府的防疫政策之荒謬，川普防疫到最後MAGA爆炸，陳時中的市長寶座也跟著bang不見。再看中國，從泯滅人性的封控，到最後小學生直接擺爛放開。乳包影片下面還不時有小粉紅留言，看來社會主義鐵拳還是鎚的不夠。唉資本，唉美國，都怪躺匪，中國應該繼續清零一百年不動搖。\n求求美國再帶我們衝一次吧，重啟Covid 19溯源！！\n2. 秦城歡迎你 # 原曲：北京歡迎你\n全明星陣容，製作經費最高的一期。這首歌的音源有用到Bilibili熱門的二次元角色，果然要解構小粉紅最愛的元素，就該使用魔法對付魔法。\n迎接下一个任期 继续颐使气指\n笑话改变主角不变 还是小熊维尼\n监狱大门常打开 豪迈熙来等你\n秦城欢迎你 有梦想谁都能登基\n有勇气就没有任期\n唉，2019年香港人激烈的抗爭最後失敗了，換來國安法，只留下願榮光歸香港。\n轻关易道通商宽衣\n金科律玉颐使气指\n中国人民非常气愤\n生产总值岿然不动\n国家主席烈火焚身\n忠于宪法付出生命\n冰棒外交满脸喷粪\n一国两制身陷绝境\n一带一路风平浪静\n香港局势坡涛汹涌\n脱贫攻坚一派胡言\n合作之道sometimes naive\n萨格尔王敲击键盘\n疯狂宇宙掀翻池塘\n都得应验的\n3. 影流維尼 # 原曲：愛河\n動感舞曲。聽了能讓人掀翻小池塘。MV裡面出現習包子黑社會的改圖當音響真的要把我笑死。\n如果让你重新来过\n修宪是否通过\n权力让人拥有快乐\n也会带来折磨\n4. 演員 # 原曲：演員\n這旋律聽著就哭了，作詞可以角逐最佳乳包獎項。這提醒了我們：追求民主憲政不能忘記同樣重要的一環：權力制衡，沒有權力制衡的政治體制只會製造下一個暴君獨裁者。\n不配合你演出的我\n被封号禁言\n在逼一群害怕你的人\n即兴表演\n什么时候我们开始\n收起了底线\n顺应时代的改变\n看那些拙劣的表演\n可你修宪不用问我\n干嘛演出细节\n穿上皇帝新装的你\n不会停止表演\n原来权力没有限制后的这些那些\n才是考验\n5. 紅色黃色 # 原曲：綠色\n说不称帝那是假的 如果我真的没有修宪过\n选出一个没有任期的人 世界都发笑了\n若不是我冰棒外交笑话多\n我怎会把梁家河书单背完了\n不会的成语都说 念稿子都能念错\n我却把十里山路当作不换肩的传说\n我总说青年时代就读过\n到最后只能把那书单都念了\n最絕的歌詞：中國禁關鍵字到最後變成萬物都能乳包，跟佛地魔一樣只能說「是他嗎」。嗯，也是啦，許多反賊一看到黃紅黃就要素察覺，看了是覺得乳包水平太低了。\n涉政治的话别说 从此心里只牢记\n黄红黄色\n6. 清單Disco # 原曲：白金ディスコ\n這首是早期的乳包歌曲之一，當年2019的時候我也有在Bilibili對應的影片跟反賊發隱晦的乳包彈幕，現在應該是被清空了，那個舊帳號也因為沖塔過多被允封了。\n没有 没有 妳咧过嘴没有\n没有 没有 我也替妳捉急哟\n没有\n通过\n7. 慶豐話 # 原曲：中國話\n鎮 站 之 寶\n這首歌是乳透社播放量最高的影片。\n最絕的排比：\n莫笑农家腊酒浑\n萧伯纳雪莱拜伦\n昔人已乘黄鹤去\n雾都孤儿双城记\n不羡鸳鸯不羡仙\n十里山路不换肩\n多行不义必自毙\n三国演义西游记\n映阶碧草自春色\n青年时代就读过\n敢同恶鬼争高下\n拜伦雪莱萧伯纳\n苟利国家生死以\n亚当斯密汤因比\n全世界都在說中國話？未來是中文天下？這種論點可以說支得我頭暈眼花，拜託21世紀了不要再有「中」國是世界中心的想法了好不，中國不是世界中心，美國也不是。用河南話來說就是：「不中嘞！」不學好英語，怎麼帶路，怎麼run阿美利加。\n近代有一個新的史學觀點，認為中國長期以來就是個窪地，而非天朝上國。可以說連中華民國派的教科書都要被此觀點震懾了。台灣教科書將中國史改寫成東亞史我是支持的，如此才能跳脫大中華史觀，掙脫大一統束縛。\n我不是說中文毫無價值，即使世界上的人要學中文，也不要學被馬列子孫污染的強國新話。學習中文，是用來理解、協助說華語的民主國家對付中國獨裁政府，不是成為其幫凶。從一些洋五毛跳反變成辱華營業就知道洋人心善，看不得跟著沉淪。\n8. 芒種 # 原曲：芒種\n說實話，到現在我還真沒用過抖音一次，因此對這些Z世代的「神曲」是一無所知。但是既然能用來乳包，一定要加大力度。\n一说维尼我就 wu\n法律法规 禁评的理由 wu\n删帖封号 禁评加限流 wu\n疯狂冲塔 秦城一日游 wu\n9. 紅黃的薩格爾 # 原曲：火紅的薩日朗\n清华博士只有小学文化\n10. I got emperor # 原曲：I Got Smoke\n西藏出身的丁真還有臉能看，習近平有什麼？梁家河都敏俊？\n全国的人民只能听见官媒在唱赞歌\n反对声都消失了\n为连任我部署好几年\n开倒车的中国速度世界领先\n公然当上皇帝 我演都不演\n但是屁民必须爱我 不然都遭铁拳\n大G还是五九 都不让你看见\n小镇做题家 内卷给赵家吸血\n哥有权力海外还有很多钱\n哥的江山票子马子是无限\n给我当 当皇帝 我要当\n你们给我去完成学习强国每日任务\n全国没人敢对我说不\n","date":"2023年5月1日","externalUrl":null,"permalink":"/posts/top-10-rubao-songs/","section":"Politics","summary":"這個列表是我聽了4年乳包歌曲下來，覺得調音調的好聽的十首乳包歌曲，從抒情到動感皆有，不會像新手做的VOCALOID那樣尖銳傷耳的，彷彿真人唱的，還可以認識時事，「包蜜」必聽。 註：想要聽正經一點的反共歌曲的，請參考推薦好聽33首，中國大陸歌手唱的反共歌曲\n關於乳包文化 # 乳包(辱包，rubao)是惡搞中國共產黨中央委員會總書記習近平的一系列創作，可以分成「文乳」、「武乳」、「暴力乳包」。\n圖片轉載自膜乎\n本文介紹的主題是文乳與武乳兼具的「乳包歌曲」，也就是惡搞習近平的歌曲，或稱鬼畜調教。類似作品還有惡搞韓國瑜、蔡英文、川普的歌曲。政治人物被惡搞本來沒什麼，但是數量上很難與乳包的影音相比較。\n如果不知道習近平曾鬧過什麼笑話，請看維基百科：對習近平的負面稱呼，因為中國盛行文字獄的關係(比歐美政治正確還可怕的玩意兒，說錯話直接拉清單)，他可能是目前世界上遠超所有國家總統，外號最多的人，形成了辱包文化，能用的金句實在太多了，連1.5個博士都研究不完這些外號到底是怎麼來的。\nGoogle甚至幫你整理好了乳包歌曲名單：\n反賊每天都要盯著習近平唸稿看能出現什麼錯字，可以說是真包蜜了。\n注意乳包不要乳到最後真的變成包蜜。就跟膜蛤一開始本意一樣，陰陽怪氣惡搞習近平實際上仍是為了反共反獨裁所作的無奈之舉。\n我支持習近平無限連任是因為他能繼續折磨中國人，你支持習近平是因為你還沒被鐵拳過，we are not the same.\n乳包歌曲很少是台灣人寫的，台灣人惡搞蔡英文都來不及了(雖然惡搞過頭可能會被社維法送辦)這些歌曲更多的是反共反獨裁的匿名中國人所作，所以不要再說乳包都是1450的陰謀了，反共反中(對反中我持保留態度，因為那會變成種族主義)，追求自由的人在牆內外多得是。\n","title":"我覺得還不錯聽的十大乳包歌曲","type":"politic"},{"content":"Having two or more themes for different sections of a Hugo website.\n想在Hugo生成的靜態網站同時使用二個以上完全不同的主題嗎？這是有可能的。\nHugo是靜態網站生成器，在建站時候基本上就決定了未來網站的功能走向。如果選擇簡潔，則未來要加功能就要自己撰寫擴充；如果選擇了複雜的漂亮主題，則要萬事照著原本的設計。那麼，如果想要讓特定頁面使用不同的主題呢？這個問題曾困擾我一陣子，後來用了一個簡單粗暴的方法解決。\n1. 問題點 # 本部落格建立伊始，選擇的\u0026quot;MemE\u0026quot;是偏向簡潔的主題。雖然版面簡潔，該有的基本功能都有，但在製作部份網頁的時候仍然碰到瓶頸。在撰寫AI繪圖工具的使用教學的時候深刻體會到，就算把文章用categories功能分類也不夠用的問題。首先，部落格的預設版型狀會使每一篇文章產生割裂感，意即日記文的感覺。再者，部落格的版面不適合引大量表格與數字，所以我興起了給這一系列文章找個主題統整在一起的想法。獨立買個網域架設新站不在考慮選項之中。\n我想把他們變得像是Documentation這樣的說明文檔，每個頁面的左邊都會顯示各章節的目錄，這樣讀者會有整體的閱讀感，而不至於迷失方向。\nHugo用於寫文檔的主題有Book和Learn，我選擇了較為簡潔的前者。\n2. 一個網站使用二個Hugo主題的作法 # 本節所提到的Book主題網站，原始碼可於Github取得。\n首先，用hugo new site指令新建一個Hugo網站，安裝Book主題。\n將那些介紹Stable Diffusion的文章markdown檔案，移動到Book主題的網站目錄下，參考該主題的說明文件調整config.toml，再用hugo server測試網站是否正常。\n然後用hugo指令生成HTML檔案。成品位於public目錄\n現在我們會有二個獨立的網站目錄，一個主站，一個Book主題的網站。 那麼要怎樣將這個Book主題的網站整合到我的主網站下呢。目前主站的文章一律放在https://ivonblog.com/posts，那麼我的作法是預計在網域下新增一個目錄http://ivonblog.com/posts/stable-diffusion-manuals，這個目錄就是用來放Book主題生成的HTML網頁了。\n將Book主題網站目錄的config.toml，將前置域名修改如下：\nbaseURL = \u0026#34;https://ivonblog.com/posts/stable-diffuison-manuals\u0026#34; 調整裡面文章markdown的圖片引用網址，例如原本是/images/title1.png，就改成相對路徑../../images/title1.png\n重新用hugo指令生成HTML檔案。\n接著要把Book主題public目錄下的全部HTML檔案放到我的主站目錄下。但是嘿，我們可不能直接往content目錄跟其他markdown塞在一起，因為那是生成網站過程中被渲染的原始材料。\n10 我們要改在static下新增我上面說的posts/stable-diffusion-manuals目錄，再把Book目錄生成的HTML檔案放到這裡。\n這樣，主站在部署到Netlify或AWS的時候，static目錄下的檔案便不會經過渲染，從而直接生成為靜態HTML的一部分。 不過，鑑於Book主題生成的HTML不會渲染成主站的文章列表裡，要怎麼讓讀者知道有這類特殊網頁的存在？萬一讀者把這二個網頁當成平行宇宙呢？\n我的作法就是額外發一篇文章告知讀者「入口」在哪囉。為了避免讀者迷路，就在Book主題的網頁加入「回家」的指示。\n另外，本文第一張圖片展示的是本部落格曾經測試使用的「第三個」主題。\n","date":"2023年4月29日","externalUrl":null,"permalink":"/posts/hugo-multiple-themes/","section":"所有文章","summary":"Having two or more themes for different sections of a Hugo website.\n想在Hugo生成的靜態網站同時使用二個以上完全不同的主題嗎？這是有可能的。\nHugo是靜態網站生成器，在建站時候基本上就決定了未來網站的功能走向。如果選擇簡潔，則未來要加功能就要自己撰寫擴充；如果選擇了複雜的漂亮主題，則要萬事照著原本的設計。那麼，如果想要讓特定頁面使用不同的主題呢？這個問題曾困擾我一陣子，後來用了一個簡單粗暴的方法解決。\n1. 問題點 # 本部落格建立伊始，選擇的\"MemE\"是偏向簡潔的主題。雖然版面簡潔，該有的基本功能都有，但在製作部份網頁的時候仍然碰到瓶頸。在撰寫AI繪圖工具的使用教學的時候深刻體會到，就算把文章用categories功能分類也不夠用的問題。首先，部落格的預設版型狀會使每一篇文章產生割裂感，意即日記文的感覺。再者，部落格的版面不適合引大量表格與數字，所以我興起了給這一系列文章找個主題統整在一起的想法。獨立買個網域架設新站不在考慮選項之中。\n我想把他們變得像是Documentation這樣的說明文檔，每個頁面的左邊都會顯示各章節的目錄，這樣讀者會有整體的閱讀感，而不至於迷失方向。\n","title":"「站中有站」 ～ 同一Hugo網站使用二個以上主題的做法","type":"posts"},{"content":"AI繪圖軟體Stable Diffusion WebUI原維護者更新變緩慢，便有人倡議使用更新較為快速的fork\u0026hellip;\n背景 # 從2023年3月算起，AUTOMATIC1111已經一個月沒更新Stable Diffusion WebUI的程式了。現在他的儲存庫總計收穫了69.2K個星星，可是同時還有1900個Issue、136個Pull Request等待解決。 於是Reddit社群開始不安，是否他拋棄專案了？AI繪圖發展這麼迅速的情況下他怎麼可以步調如此緩慢？\nAutomatic1111 getting rusty - Future of this repo - I found a promising fork\n所以有人倡議使用更新比較積極的版本，Active GitHub Forks網站可以看到目前有哪些Stable Diffusion WebUI的fork是比較積極更新的。\n其中，Reddit用戶常推的就是Vladimir Mandic維護的fork了，他將專案的名字從「Stable Diffusion WebUI」變為「Automatic」，後來又改為「SD. Next」\n功能大致繼承了下來，但界面跟AUTOMATIC1111的有些不同。\nVlad說他的fork是「重度個人化修改的版本」，相對於ATOMATIC1111目前的步調而言，它的Stable Diffusion WebUI更新比較積極，並預先內建一些好用的擴充功能，例如ControlNet、DreamBooth。\nVlad還把AUTOMATIC1111儲存庫的一些pull request提前merge了進來。Vlad說會盡量把這個fork做的變更合併回AUTOMATIC1111的上游版本，但看來他的功能已經開始超越AUTOMATIC1111的版本了，目前已經領先600個commit。\nVlad版本的改進 # 繼承原先支援Linux/Windows/macOS，還有Nvidia/AMD/Apple GPU的特點，Vlad還對程式做了些修改。\nVlad的版本改進為以下幾點：\n介面重新設計過 加快WebUI載入速度 資料夾結構重新調整 將更多選項加入圖形化界面 內建訓練LoRA、LyCORIS、Dreambooth的介面 改進CUDA效能，使用新版PyTorch 2.0 使用SDP取代xfromers，減少記憶體佔用 終端機的除錯訊息更為豐富 Vlad的版本內建以下擴充功能：\nSystem Info，即時監控系統資訊 內建Multi-Diffusion Upscaler (Tiled Diffusion)，減少生大圖的VRAM佔用 ControlNet，比圖生圖更強的技術 Image Browser，查看過去生圖歷史紀錄 支援在生圖時使用LoRA與LyCORIS，訓練界面也內建 更高的CFG Scale - Dynamic Thresholding 生成步數動畫 Steps Animation 測試二個種子的生圖效果 Seed Travel Vlad跟另一個fork的開發者Anapnoe合作，說要配合stable-diffusion-webui-ux打造最漂亮的UI。\nVlad說未來要邀請更多人一起維護他的儲存庫。\n如果你想遷移到Vlad的Automatic\u0026hellip; # Ivon玩了一下後發現功能確實有改進，整合常用的擴充功能會讓新手更快上手。不過中文界面仍以擴充功能的形式提供下去裝。或許，未來能辦個投票，讓大家決定要加入哪些功能？更重要的是調整開發時程，讓更多維護者參與管理儲存庫。\n但首先，遷移到此版本後，擴充功能不保證能用，很多都還是為AUTOMATIC1111的版本開發的。\n生圖模型可以沿用。若不想要複製二份佔空間，請善用符號連結功能，將\u0026quot;models\u0026quot;資料夾連到原本的\u0026quot;models\u0026quot;資料夾。\nVlad的Stable Diffusion安裝過程跟AUTOMATIC1111的Stable Diffusion WebUI類似，同樣要安裝git、Python、CUDA，只是Python版本變成3.10.9。\n並且是直接用webui.bat或webui.sh啟動，初次啟動要重裝依賴套件。\n命令列引數直接放在指令稿後面傳遞，例如：\n./webui.sh --medvram --xformers --opt-split-attention --listen 總結 # 說句公道話：AUTOMATIC1111更新放慢不是壞事，因為早期他也是有每天都更新的時期。但是到現在，主要還是他一個人在維護，並且許多第三方擴充功能都依賴它。為此，等一個月再更新主程式也不是什麼壞事，不然隔天一更新API爆掉又會惹人嫌。\n提供一個穩定的版本，讓各方的擴充功能開發者可以安心測試比較重要，像ControlNet最近推出v1.1版本，維護者也是宣稱「完美支援AUTOMATIC1111的Stable Diffusion WebUI」。\n並且，AUTOMATIC1111並沒有停止更新程式，從儲存庫的dev分支紀錄，可以看到他還是一直有在開發新功能的，後續也確實有在推出新版本。 ","date":"2023年4月28日","externalUrl":null,"permalink":"/posts/vladmandic-automatic-installation/","section":"Ai-Arts","summary":"AI繪圖軟體Stable Diffusion WebUI原維護者更新變緩慢，便有人倡議使用更新較為快速的fork…\n背景 # 從2023年3月算起，AUTOMATIC1111已經一個月沒更新Stable Diffusion WebUI的程式了。現在他的儲存庫總計收穫了69.2K個星星，可是同時還有1900個Issue、136個Pull Request等待解決。 於是Reddit社群開始不安，是否他拋棄專案了？AI繪圖發展這麼迅速的情況下他怎麼可以步調如此緩慢？\nAutomatic1111 getting rusty - Future of this repo - I found a promising fork\n所以有人倡議使用更新比較積極的版本，Active GitHub Forks網站可以看到目前有哪些Stable Diffusion WebUI的fork是比較積極更新的。\n其中，Reddit用戶常推的就是Vladimir Mandic維護的fork了，他將專案的名字從「Stable Diffusion WebUI」變為「Automatic」，後來又改為「SD. Next」\n功能大致繼承了下來，但界面跟AUTOMATIC1111的有些不同。\nVlad說他的fork是「重度個人化修改的版本」，相對於ATOMATIC1111目前的步調而言，它的Stable Diffusion WebUI更新比較積極，並預先內建一些好用的擴充功能，例如ControlNet、DreamBooth。\n","title":"特製版，Vlad版的SD.Next (Stable Diffusion WebUI)安裝","type":"ai-art"},{"content":"本文紀錄從Netlify轉移到Amazon S3，部署Hugo靜態網站的實驗過程。\nNetlify的Pro方案是19美金，每個月1TB流量。根據統計，我一個月的流量在self host圖片後大概需要200GB的流量，\n因為流量超出Netlify免費額度，但好像又沒有用到那麼多，所以測試將整個Hugo的靜態網站遷移至AWS S3。\nS3官網寫以實際用量計價，前十二個月免費。但實際上本文會用到的服務不只S3，還要加上Cloudfront、Route 53的零碎費用，最後看下來好像也沒比Netlify便宜多少，僅算是個實驗紀錄。\n請先按AWS計算機確認成本後再考慮轉移你的網站！\n原本的方案\n網站生成器：Hugo 網域：GoDaddy DNS: Netlify 網站託管：Netlify 發表新文章的步驟：本機Linux撰寫 → 推送網站原始碼至Github做備份 → Netlify自動拉取 → 執行hugo生成靜態網頁(public) → 部署網站 變更為\n網站生成器：Hugo 網域：GoDaddy DNS: Amazon Route53 CDN：Amazon Cloudfront 網站託管：Amazon S3 發表新文章的步驟：本機Linux撰寫 → 在本機用hugo指令生成網頁(public) → 用hugo deploy指令上傳到Amazon S3 → 驗證CDN → 部署網站 → 推送原始碼至Github做備份 hugo deploy是一個聰明的指令，它會自動比對本機與AWS S3哪些檔案需要刪改，只上傳需要變更的部份。\n轉移過程約花了2小時。\n1. 斷開與Netlify的魂結 # 執行此步驟後，網站會下線。\n進到Netlify的Domain頁面 刪除DNS Records 點選Site Settings，至Production → Domain，刪除自訂域名 至GoDaddy後台，刪除名稱伺服器，回復成GoDaddy的預設名稱伺服器。 如果有訂閱Pro版，記得點選Downgrade成Starter Plan。 2. 新增S3 Bucket # 至Amazon S3新增一個儲存貯體，儲存貯體名稱名稱隨意取，AWS區域選擇離你最近的城市。取消勾選「封鎖所有公開存取權」，這樣網站才能被外人存取。\n建立儲存貯體後，點選「屬性」頁籤，滑到最下面，啟用靜態網站託管，索引文件設index.html，錯誤文件設404.html\n於屬性頁面最下方，可看到「儲存貯體網站端點」的網址。S3的端點網址不支援HTTPS，因此下面要新增Cloudfront來存取它。\n點選「許可」頁籤，設定「儲存貯體政策」如下：\n{ \u0026#34;Version\u0026#34;: \u0026#34;2012-10-17\u0026#34;, \u0026#34;Statement\u0026#34;: [ { \u0026#34;Sid\u0026#34;: \u0026#34;PublicReadGetObject\u0026#34;, \u0026#34;Effect\u0026#34;: \u0026#34;Allow\u0026#34;, \u0026#34;Principal\u0026#34;: \u0026#34;*\u0026#34;, \u0026#34;Action\u0026#34;: \u0026#34;s3:GetObject\u0026#34;, \u0026#34;Resource\u0026#34;: \u0026#34;arn:aws:s3:::儲存貯體的名稱/*\u0026#34; } ] } 3. 申請ACM SSL憑證 # 至AWS Certificate Manager頁面，點選「請求」，請求公有憑證\n填入網域，以及www網域。驗證方法選擇DNS。\n點選憑證ID，會看到CNAME名稱和CNAME值 進入GoDaddy後台，點選網域→管理DNS，編輯網域的DNS紀錄，點選新增紀錄，新增上述的二個CNAME與CNAME的數值。\n等待約30分鐘，返回AWS Certificate Manager頁面，會看到狀態變成「已發行」。\n4. 新建Cloudfront分布 # 至Amazon Cloudfront，點選「建立分佈」\n來源網域選取Amazon S3，帶有website的儲存貯體網站端點。檢視器通訊協定政策設定導向為HTTPS。啟用Web Application Firewall防範網路攻擊(需額外付費)。\n「備用網域」名稱填入網域與www網域，「自訂SSL憑證」選擇剛請求的ACM憑證。「預設根對象」設定為index.html\n5. 設定Route 53新增DNS # 這一步驟讓造訪域名的訪客自動連到CloudFront，並將造訪www網域的訪客重新導向到無www的網域。\n至Route 53，點選託管區域 → 新增託管區域，輸入網域名稱 點選新增A紀錄，勾選「別名」，將流量路由至Cloudfront。 再新增一個A紀錄，域名輸入www，勾選別名，將流量路由至此託管紀錄的另一個別名，也就是無www的網域。 於託管區域列表的NS紀錄可看到Amazon的名稱伺服器 到GoDaddy後台，編輯DNS，將名稱伺服器改為Amazon的 6. 使用hugo deploy配合aws-cli部署網站 # 於本機安裝AWS CLI命令行工具，Linux各大發行版應該都有收。\n在Amazon IAM新增使用者，並新增\u0026quot;AmazonS3FullAccess\u0026quot;和\u0026quot;CloudFrontFullAccess\u0026quot;這二個許可。\n在IAM的頁面點選安全憑證 → 建立存取金鑰 → 命令列\n於本機新增AWS CLI的設定檔\nmkdir ~/.aws vim ~/.aws/credentials 填入以下內容： [default] aws_access_key_id=自行填寫 aws_secret_access_key=自行填寫 ARGS=\u0026#34;--profile=default --endpoint-url=儲存貯體網站端點網址\u0026#34; 於Hugo網站的目錄，編輯網站設定config.toml，於最底部加上以下內容： [deployment] order = [\u0026#34;.jpg$\u0026#34;, \u0026#34;.gif$\u0026#34;] [[deployment.targets]] name = \u0026#34;s3\u0026#34; # region後面的地區含在儲存貯體網站端點網址，例如ap-northeast URL = \u0026#34;s3://儲存貯體名稱?region=地區\u0026#34; cloudFrontDistributionID = \u0026#34;Cloudfront分布的ID\u0026#34; 新增快捷部署指令稿deploy.sh： #!/bin/bash rm -r public # 生成網頁 hugo --gc --minify # 上傳檔案到S3，可先用hugo deploy --target s3 --dryRun預覽變更 hugo deploy --target s3 # (選擇性) 推送網站原始碼至Github rm -r public resources .hugo_build.lock git add -A git commit -m \u0026#34;網站更新\u0026#34; git push 接著執行命令稿./deploy.sh，即會自動完成部署操作。 在那之後就可以重新開啟自己的域名，看看網站有無正常運作。可能需要清除瀏覽器快取並重新啟動才會看到網站上線。\n確認遷移完成後，將Netlify的網域和檔案正式刪除。\n參考資料 # 教學課程：在Amazon S3 上設定靜態網站 - Amazon.com How can I redirect one domain to another in Route 53? - AWS re:Post AWS S3 + CloudFront SSL 靜態網站架設教學 - Nic Lin\u0026rsquo;s Blog AWS — 自訂義網域架設網站(透過Route53、S3) - Kurt Hugo Deploy ","date":"2023年4月22日","externalUrl":null,"permalink":"/posts/hugo-deploy-to-amazon-s3-and-cloudfront/","section":"所有文章","summary":"本文紀錄從Netlify轉移到Amazon S3，部署Hugo靜態網站的實驗過程。\nNetlify的Pro方案是19美金，每個月1TB流量。根據統計，我一個月的流量在self host圖片後大概需要200GB的流量，\n因為流量超出Netlify免費額度，但好像又沒有用到那麼多，所以測試將整個Hugo的靜態網站遷移至AWS S3。\nS3官網寫以實際用量計價，前十二個月免費。但實際上本文會用到的服務不只S3，還要加上Cloudfront、Route 53的零碎費用，最後看下來好像也沒比Netlify便宜多少，僅算是個實驗紀錄。\n請先按AWS計算機確認成本後再考慮轉移你的網站！\n原本的方案\n網站生成器：Hugo 網域：GoDaddy DNS: Netlify 網站託管：Netlify 發表新文章的步驟：本機Linux撰寫 → 推送網站原始碼至Github做備份 → Netlify自動拉取 → 執行hugo生成靜態網頁(public) → 部署網站 變更為\n網站生成器：Hugo 網域：GoDaddy DNS: Amazon Route53 CDN：Amazon Cloudfront 網站託管：Amazon S3 發表新文章的步驟：本機Linux撰寫 → 在本機用hugo指令生成網頁(public) → 用hugo deploy指令上傳到Amazon S3 → 驗證CDN → 部署網站 → 推送原始碼至Github做備份 hugo deploy是一個聰明的指令，它會自動比對本機與AWS S3哪些檔案需要刪改，只上傳需要變更的部份。\n轉移過程約花了2小時。\n1. 斷開與Netlify的魂結 # 執行此步驟後，網站會下線。\n","title":"將Hugo靜態網站部署到Amazon S3 + Cloudfront + Route 53","type":"posts"},{"content":"中文版\nWe can run AUTOMATIC1111\u0026rsquo;s Stable Diffusion WebUI (SD WebUI) on Google Colab for free. This allows us to generate 512x512 pixels of AI art in 10 seonds. And, for those who have a potato PC but want to train LoRa and other models, Google Colab is a good choice for you. Although there are already many great notebooks ready to use on Github, we can write our own notebook and customize the code to suit personal needs.\nIn this article I will show you my peronal Notebook code of SD WebUI.\nWhat I want to do are:\nInstall whole SD WebUI to my Google Drive so it will be faster to launch in the next time.\nMake it easy to add new models. After installing SD WebUI, we can upload new models to the models folder to add models.\nKeep it minimal. I want to install SD WebUI without any extensions, even no ControlNet, unless the extension is merged on upstream. If we want to add more extensions, we can upload the folder to Google drive or install them from WebUI. There is no need to install them in the first place.\nTherefore, we would need at least 10GB of Google Drive storage to store the program of SD WebUI and models.\n1. Example code of installing SD WebUI # Go to Google Colab, click add new notebook\nHere is my code. First we mount the Drive to /content/drive. And create a folder for storing files.\nfrom google.colab import drive drive.mount(\u0026#39;/content/drive\u0026#39;) !mkdir /content/drive/MyDrive/sd-webui-files Install dependencies !pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116 -U !pip install -q xformers==0.0.16 !pip install -q triton==2.0.0 Clone SD WebUI directly from AUTOMATIC1111\u0026rsquo;s repo !git clone --depth=1 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui Download checkpoint models from Hugging Face. I prefer to use Anything model for generating anime art. Or you can use original Stable Diffusion model for generating realistic arts. !wget -nc -P /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/models/Stable-diffusion https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.5-pruned.safetensors There are some issues of switching branches after launching SD WebUI. Thus, add these lines to fix them. %cd /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/ !git reset --hard !git pull !sed -i -e \u0026#39;s/checkout {commithash}/checkout --force {commithash}/g\u0026#39; launch.py Finally, launch the WebUI. We use --xformers to decrease the consumption of VRAM. By adding --enable-insecure-extension-access we can install extensions from URL in WebUI without getting AssertionError: extension access disabed. !python launch.py --share --xformers --enable-insecure-extension-access --theme light Here is the full code # Mount our drive from google.colab import drive drive.mount(\u0026#39;/content/drive\u0026#39;) # Create a folder for storing files !mkdir /content/drive/MyDrive/sd-webui-files # Install dependencies !pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116 -U !pip install -q xformers==0.0.16 !pip install -q triton==2.0.0 # Clone SD WebUI from AUTOMATIC1111\u0026#39;s repo !git clone --depth=1 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui # Download checkpoint models to /stable-diffusion-webui/models/Stable-diffusion !wget -nc -P /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/models/Stable-diffusion https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.5-pruned.safetensors # Fix change branch issues %cd /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/ !git reset --hard !git pull !sed -i -e \u0026#39;s/checkout {commithash}/checkout --force {commithash}/g\u0026#39; launch.py # Launch WebUI !python launch.py --share --xformers --enable-insecure-extension-access --theme light Click Edit → Runtime →Change runtime type and select GPU as Hardware accelerator.\nRun the cell, wait for 5 minutes. Click generated Gradio links (expired after 72 hours). Now we are ready to use Stable Diffusion WebUI. 2. Make SD WebUI launching faster # Now we have installed SD WebUI on Google drive. Now top the cell. Don\u0026rsquo;t worry, your data and progress will be stored on the Google Drive.\nBecause we had downloaded all required files, replace the code in the cell with these lines:\nfrom google.colab import drive drive.mount(\u0026#39;/content/drive\u0026#39;) !pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116 -U !pip install -q xformers==0.0.16 !pip install -q triton==2.0.0 %cd /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/ !python launch.py --share --xformers --enable-insecure-extension-access --theme light This will install requirements while running SD WebUI and start SD WebUI from our Google Drive. The Gradio link should be ready in 2 minutes.\n3. How to add new models and extensions # SD WebUI would be installed to sd-webui-files folder on Google Drive.\nThere are some important folders under stable-diffusion-webui:\nextensions: As the name suggested, upload any extensions folder to this folder (Click Code button on Github repository of extesnions and download zip). Or you can install extensions by clicking Extensions → Install from URL in WebUI. models/Stable-duffusion/: Upload new checkpoint models to this folder models/Lora: Upload LoRa models to this folder All changes would be applied after restarting SD WebUI.\n","date":"2023-04-21","externalUrl":null,"permalink":"/en-us/posts/google-colab-stable-diffusion-webui/","section":"Posts","summary":"中文版\nWe can run AUTOMATIC1111’s Stable Diffusion WebUI (SD WebUI) on Google Colab for free. This allows us to generate 512x512 pixels of AI art in 10 seonds. And, for those who have a potato PC but want to train LoRa and other models, Google Colab is a good choice for you. Although there are already many great notebooks ready to use on Github, we can write our own notebook and customize the code to suit personal needs.\nIn this article I will show you my peronal Notebook code of SD WebUI.\nWhat I want to do are:\nInstall whole SD WebUI to my Google Drive so it will be faster to launch in the next time.\nMake it easy to add new models. After installing SD WebUI, we can upload new models to the models folder to add models.\nKeep it minimal. I want to install SD WebUI without any extensions, even no ControlNet, unless the extension is merged on upstream. If we want to add more extensions, we can upload the folder to Google drive or install them from WebUI. There is no need to install them in the first place.\nTherefore, we would need at least 10GB of Google Drive storage to store the program of SD WebUI and models.\n1. Example code of installing SD WebUI # Go to Google Colab, click add new notebook\nHere is my code. First we mount the Drive to /content/drive. And create a folder for storing files.\nfrom google.colab import drive drive.mount('/content/drive') !mkdir /content/drive/MyDrive/sd-webui-files Install dependencies !pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116 -U !pip install -q xformers==0.0.16 !pip install -q triton==2.0.0 Clone SD WebUI directly from AUTOMATIC1111’s repo !git clone --depth=1 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui Download checkpoint models from Hugging Face. I prefer to use Anything model for generating anime art. Or you can use original Stable Diffusion model for generating realistic arts. !wget -nc -P /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/models/Stable-diffusion https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.5-pruned.safetensors There are some issues of switching branches after launching SD WebUI. Thus, add these lines to fix them. %cd /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/ !git reset --hard !git pull !sed -i -e 's/checkout {commithash}/checkout --force {commithash}/g' launch.py Finally, launch the WebUI. We use --xformers to decrease the consumption of VRAM. By adding --enable-insecure-extension-access we can install extensions from URL in WebUI without getting AssertionError: extension access disabed. !python launch.py --share --xformers --enable-insecure-extension-access --theme light Here is the full code # Mount our drive from google.colab import drive drive.mount('/content/drive') # Create a folder for storing files !mkdir /content/drive/MyDrive/sd-webui-files # Install dependencies !pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116 -U !pip install -q xformers==0.0.16 !pip install -q triton==2.0.0 # Clone SD WebUI from AUTOMATIC1111's repo !git clone --depth=1 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui # Download checkpoint models to /stable-diffusion-webui/models/Stable-diffusion !wget -nc -P /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/models/Stable-diffusion https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.5-pruned.safetensors # Fix change branch issues %cd /content/drive/MyDrive/sd-webui-files/stable-diffusion-webui/ !git reset --hard !git pull !sed -i -e 's/checkout {commithash}/checkout --force {commithash}/g' launch.py # Launch WebUI !python launch.py --share --xformers --enable-insecure-extension-access --theme light Click Edit → Runtime →Change runtime type and select GPU as Hardware accelerator.\nRun the cell, wait for 5 minutes. Click generated Gradio links (expired after 72 hours). Now we are ready to use Stable Diffusion WebUI. 2. Make SD WebUI launching faster # Now we have installed SD WebUI on Google drive. Now top the cell. Don’t worry, your data and progress will be stored on the Google Drive.\n","title":"Example code of installing minimal Stable Diffusion WebUI on Google Colab","type":"posts"},{"content":"","date":"2023年4月21日","externalUrl":null,"permalink":"/tags/google-colab/","section":"標籤","summary":"","title":"Google Colab","type":"tags"},{"content":"English version\n如果自己電腦GPU跑不動AI繪圖的話，可以嘗試用Google Colab線上跑Stable Diffusion WebUI，使用「基本上」免費。\n用法跟在自己電腦跑Stable Diffusion WebUI一樣，差別是它跑在Google的伺服器，且免費版就能享用性能比RTX3090還高的伺服器GPU，10秒就能算一張圖，還可以拿來訓練模型。\nGoogle Colab有網頁瀏覽器就能用，所以手機也可以操作。\n本文講解詳細作法。\n0. 關於是否要購買運算單元 # 根據Google Colab官網的說法，此平台是免費使用的，但是免費版要跟人搶資源，且有不定時斷線的風險。\n偶爾算幾張圖、訓練小模型是不用花錢買Pro版啦。但如果要是大規模算圖，或是訓練多個自己想要的模型，就得購買運算單元。\n另外有些筆記本會要求將模型檔放在你的Google雲端，那麼剩餘空間必須足夠(至少10GB)，否則光下載各種繪圖模型就足以塞爆15GB的免費空間了。\n現在你多了一個買Pro版的理由：2023年4月21日，Google Colab的員工在Twitter說，因為太多人用了，他們將封鎖免費版用戶跑stable-diffuison-webui的權限，一偵測到stable-diffuison-webui字串便會拒絕執行。\n因此重度使用下，100%當免費仔是行不通的，得適時加購雲端硬碟空間，還有購買運算單元。\nGoogle Colab的付費方案有三種\n第一種是購買運算單元，以量計價(Pay As You Go)，免訂閱。每100個運算單元$10.49美金。\n第二種方案是Colab Pro，訂閱制，每個月$10.49美金，可使用100個運算單元。\n第三種方案是Colab Pro+，每個月$52.49美金，可使用500個運算單元。\n以最便宜的Pay As You Go方案來看，100個運算單元應該夠你算100張圖了。訓練幾個LoRA小模型也是綽綽有餘。\n1. 自行撰寫Colab筆記本跑SD WebUI # 參考部署至Google Colab\n2. 使用現成的Colab筆記本跑SD WebUI # Stable Diffusion WebUI有很多人已經寫好方便使用的筆記本了，通常是一鍵部署，自動下載AUTOMATIC1111製作的WebUI、模型、擴充功能。\n本文採用的是camenduru所撰寫的stable-diffusion-webui-colab筆記本，作者有常常在更新，並且針對各種需求撰寫筆記本，除了繪圖外也能訓練模型。\nLinaqruf製作的kohya-trainer則是專門用來訓練LoRA模型的筆記本。\n到Github，挑選要使用的筆記本，例如畫動漫圖的\u0026quot;Anything V4\u0026quot;，點選左邊的Open in Colab。作者main分支的筆記本都不會佔用雲端儲存空間，一切檔案都是執行時才下載，用完即丟。 或者你也可以選擇drive分支的筆記本，它會將程式和模型放在你的雲端硬碟，這樣就可以保存上次進度，下次開啟也會比較快。但是以儲存空間作為代價，至少需要10GB空間用來放程式和模型。 點選筆記本後會跳轉到Google Colab的頁面，點選右上角「連線」至伺服器。 點選上方的選單→執行階段→變更執行階段類型，確認目前執行階段是使用GPU計算。 點選左上角，執行儲存格。 接著會部署環境和下載模型，通常5分鐘就跑完了。\n頁面往下滑會看到系統輸出。它會顯示一組網址，點選Gradio或者Cloudflare的連結進入WebUI (連結72小時後失效，順帶一提Google Colab免費版最長運作時間為12小時) 進入WebUI後，用法跟本機部署的Stable Diffsusion雷同，也可以裝擴充功能。於是你就可以下提示詞繪圖了。欲切換成亮色界面請將網址dark改成light。 值得注意的是，筆記本作者camenduru有說不必將筆記本複製至自己的雲端硬碟，應使用Github提供的連結版本以確保能自動收到更新。\n3. Colab下載與上傳檔案的路徑 # Google Colab在關閉工作階段(關閉分頁)後會清空資料，為此繪製的圖片要記得右鍵儲存。\n按筆記本左邊的資料夾圖示檢視檔案。繪製的圖片會存在stable-diffusion-webui/outputs資料夾下，右鍵儲存圖片。 如果想自行訓練模型，需要上傳訓練資料，那麼也是於stable-diffusion-webui資料夾下新增放檔案的資料夾。例如新增inputdata資料夾，那麼WebUI中要填寫的路徑就是/content/stable-diffusion-webui/inputdata。\n筆記本使用完畢記得刪除執行階段。 ","date":"2023年4月21日","externalUrl":null,"permalink":"/posts/google-colab-stable-diffusion-webui/","section":"Ai-Arts","summary":"English version\n如果自己電腦GPU跑不動AI繪圖的話，可以嘗試用Google Colab線上跑Stable Diffusion WebUI，使用「基本上」免費。\n用法跟在自己電腦跑Stable Diffusion WebUI一樣，差別是它跑在Google的伺服器，且免費版就能享用性能比RTX3090還高的伺服器GPU，10秒就能算一張圖，還可以拿來訓練模型。\nGoogle Colab有網頁瀏覽器就能用，所以手機也可以操作。\n本文講解詳細作法。\n0. 關於是否要購買運算單元 # 根據Google Colab官網的說法，此平台是免費使用的，但是免費版要跟人搶資源，且有不定時斷線的風險。\n偶爾算幾張圖、訓練小模型是不用花錢買Pro版啦。但如果要是大規模算圖，或是訓練多個自己想要的模型，就得購買運算單元。\n另外有些筆記本會要求將模型檔放在你的Google雲端，那麼剩餘空間必須足夠(至少10GB)，否則光下載各種繪圖模型就足以塞爆15GB的免費空間了。\n現在你多了一個買Pro版的理由：2023年4月21日，Google Colab的員工在Twitter說，因為太多人用了，他們將封鎖免費版用戶跑stable-diffuison-webui的權限，一偵測到stable-diffuison-webui字串便會拒絕執行。\n因此重度使用下，100%當免費仔是行不通的，得適時加購雲端硬碟空間，還有購買運算單元。\nGoogle Colab的付費方案有三種\n第一種是購買運算單元，以量計價(Pay As You Go)，免訂閱。每100個運算單元$10.49美金。\n","title":"顯卡跑不動AI繪圖？Stable Diffusion WebUI部署至Google Colab教學","type":"ai-art"},{"content":" 註：AI技術日新月異，本文所談的內容幾個月後可能就會被推翻。本文所述的AI創作皆為自用，並非用於傷害他人用途。請遵守CreativeML Open RAIL-M協定再使用Stable Diffusion。\n自從2022年AI繪圖興起，就有許多厲害的作品出現。Stable Diffusion是學習過許多知名畫家的模型，只需要靠幾個提示詞就能生出大師級的作品。\n經過幾個月的發展，至少AI生圖已經從這樣品質\n進階到這樣了\nAI生圖能不能算電繪這還有很大爭議。並且因為生圖的門檻降低，Stable Diffusion可以自己架、自己訓練緣故，使得AI繪圖的作品品質競爭變得是越來越激烈。\n為此，要搞清楚一件事：畫圖的目的是為了什麼？貼到社群網路炫耀？還是生色圖給自己爽而已？如果是後者目的，那麼我大可不必吹毛求疵與他人競爭，只要自己生的開心就可以了。\n一個比喻：叔本華年輕的時候，喜歡每晚跟好友來場「香豔刺激的冒險」。找新色圖來看是樂趣，但是自己畫呢？不見得會有驚喜感的！\n誠然AI帶有隨機性可以讓人期待，但填提示詞讓AI繪圖仍是受自己的想法控制著，所以不會有太大驚喜感。並且還要考慮花費力氣，精心構築一個場景，加上微調不完美手部所花的時間成本。如果折騰一小時才畫出滿意的圖，那麼畫完都累到陽痿了。\n即使如此，AI技術的進步，仍是能產出不錯的圖。我試過的玩法如下。\n繪製喜歡角色的二創色圖 # 文生圖就能繪製喜歡角色的各種色圖了，前提是該角色還是要有點知名度。每天看Gelbooru下來提示詞都掌握得差不多了。\n從現有畫作去改也可以，例如Stable Diffusion的圖生圖。不過單純圖生圖效果不好\n搭配ControlNet按照線條換頭是更好的作法，它可以更精確的偵測線條、景深、動作。下面這張將櫻轉換加賀。\n搭配PoseX和Latent Couple就可以任意排列圖中人物的姿勢、位置。AI繪圖有很多工具可以用，就算一次沒生好，也有各種修補手段。\n如果某個角色怎樣都畫不好，自行訓練LoRA改善之。\n剝衣服，去馬賽克 # 什麼是剥ぎコラ？。這類圖片給官方版權繪圖剝衣服的形式現在也很容易做到了。\n有了Stable Diffusion Inpaint，DeepFake三小的都不用了。以前還要花時間修圖，現在用內補繪製，AI直接剝給你。過程參考這裡 之前我也有討論過去馬賽克的DeepCreamPy。不過幹嘛嘗試「去」掉馬賽克呢？用內補繪製不就好了，搞不好比原作漂亮。\n輝老嗨最愛的幼女 # Stable Diffusion可以利用真人模型生成以假亂真、會被FBI抓走的幼女圖片，加上flat chest、collarbonebone的提示詞效果更好。\n啊嘿嘿，我要生偽娘(trap)的時候AI好像很難理解我要什麼，所以跑出一些怪圖。果然還是扶他比較好理解嗎\u0026hellip;\n但現在雲端連放動漫蘿莉圖都會被懷疑了，建議不要沒加密就把繪圖成果放雲端，也不要笨到在雲端訓練蘿的模型。\n尻得動嗎？ # No，頂多當開胃菜。\n現在懂得下提示詞，已經很少出克蘇魯的圖，但總會有缺陷。如同開頭說的，過度追求完美，導致一直修自己的圖，會到最後興致全無。這跟我以前手繪色圖是不一樣的感受，我感覺好像在建模還寫程式似的，要產出漂亮的圖得動腦排版和修復細節。儘管有成就感，但看向成品卻無太大興致。\n所以對我而言，研究Stable Diffusion恐怕僅對科技的興趣罷了，生養眼圖只是順便。或者我應該早一點動歪腦筋，生一堆圖，簡單包裝一下，丟到社群媒體騙讚，或是Pixiv賺贊助，將技術變現割韭菜。\n現在我還是比較喜歡看真人製作的作品。畢竟Pixiv等地，每日新鮮出爐的手工藝品還是很多，劇情也比較有趣，有時候還會有各種奇怪的性癖好湧現。\n羅伯特．麥基在他的《故事》一書中，說：\n從這個意義上而言，故事本質上是非理性的。它並不是通過枯燥的訴諸理性的論文來表達思想。但這並不是說故事是反理性的。我們祈望作家們都具有意味深長、飽含見識的思想。更確切地說，藝術家和觀眾之間的交流是直接通過感覺和知覺、直覺和情感來表達思想。它不需要仲裁者和評論者來將這一交流理性化，用解釋和抽象來取代那種不可名狀的感覺和知覺。學者的敏銳固然可以強化趣味和判斷，但我們決不可以將批評誤認為藝術。理智的分析無論多麼清醒，都不可能滋養人們的靈魂。\nAI生圖沒有靈魂這點，道德上可能還是無法接受。不幸的是，市面上已經有AI生圖的作品試圖與畫家辛苦創作的作品魚目混珠，未來的共識仍有待人們立法解決。未來可能得順應潮流，將AI生圖變成人們創作的便利工具。\n","date":"2023年4月20日","externalUrl":null,"permalink":"/posts/stable-diffusion-hentai-artworks/","section":"Nsfws","summary":" 註：AI技術日新月異，本文所談的內容幾個月後可能就會被推翻。本文所述的AI創作皆為自用，並非用於傷害他人用途。請遵守CreativeML Open RAIL-M協定再使用Stable Diffusion。\n自從2022年AI繪圖興起，就有許多厲害的作品出現。Stable Diffusion是學習過許多知名畫家的模型，只需要靠幾個提示詞就能生出大師級的作品。\n經過幾個月的發展，至少AI生圖已經從這樣品質\n進階到這樣了\nAI生圖能不能算電繪這還有很大爭議。並且因為生圖的門檻降低，Stable Diffusion可以自己架、自己訓練緣故，使得AI繪圖的作品品質競爭變得是越來越激烈。\n為此，要搞清楚一件事：畫圖的目的是為了什麼？貼到社群網路炫耀？還是生色圖給自己爽而已？如果是後者目的，那麼我大可不必吹毛求疵與他人競爭，只要自己生的開心就可以了。\n","title":"喜歡看AI圖嗎？Stable Diffusion之AI繪圖畫動漫色圖效益分析","type":"nsfw"},{"content":"（本手冊在2023年4月～2024年2月是屬於獨立靜態網頁的狀態，後因維護困難轉回部落格貼文的形式）\n最近在看Ivon部落格站上的Stable Diffusion教學文章的朋友們，可能會發現部分文章不見了，給您造成麻煩真是不好意思，因為我把它嘗試做成一本手冊了。\n敝人的拙作名為「Ivon的Stable Diffusion WebUI使用手冊」，使用Hugo配合book主題生成。原始碼放在Github，以創用CC-姓名標示-相同方式分享的授權釋出。 線上檢視網址\n手冊預覽：\n說是手冊，部分頁面的行文仍偏向部落格文章，只是多了一些表格與參數的詳細解釋，並非死硬的說明文件。其目的是讓新手能快速入門AI繪圖，所以Windows和macOS的安裝頁面較多圖片示例，Linux頁面幾乎都是指令。不過Linux是我的主力系統所以寫的細節較多。\n1. 動機 # 自2022年12月以來，敝人在部落格撰寫一系列有關Stable Diffusion的教學文章，內容涵蓋各大系統的安裝過程、AI生圖的操作說明、擴充功能介紹、模型訓練過程。隨著內容越寫越多，有感於部落格的版面閱讀不便，易使人產生散亂之感，故做成類似手冊的樣式，方便閱讀。\n此手冊解決了我一直以來困擾的問題，Stable Diffusion WebUI各大系統的差異也就安裝過程不同而已，它的網頁操作方法是全部系統都一樣的。因此，我使用手冊統整的方式，這樣就不需要在個別系統的安裝文章再重講一次操作流程，而讀者也不需要一直按超連結在不同文章之間跳轉，看下一步要怎麼做。\n手冊的版型也方便分門統整各個功能的頁面，讀者會比較清楚目前讀到哪裡。不過考慮到SEO因素，部分舊教學文章我還是留在站上，並將連結導向此手冊，後續跟Stable Diffusion WebUI有關的內容我應該只會在此手冊更新。\n最後是離線閱讀的功能，這個手冊的原始碼可以生成為靜態HTML帶著走。\n手冊支援多語言，但目前我自己維護正體中文為主的頁面。\n2. 生成HTML離線閱讀 # 具體操作見Github的Readme。\n原始碼的網站架構我盡量讓其簡單一些，方便維護，每個頁面都是一個markdown檔案，可插入程式碼和圖片。\n3. 本手冊的閱讀方式 # 手冊左邊按鈕是各章目錄，右邊按鈕是各頁的目錄\n每頁底部有「編輯此頁的按鈕」，點選後會跳到Github儲存庫對應的頁面編輯（需要fork才能編輯)\n目前此手冊有五章：\n前言：Stable Diffusion的背景介紹 安裝：下載模型、Linux/Windows/macOS/Google Colab的安裝方法，命令列參數的詳細解說，如何除錯，以及如何更新 內建功能：提示詞、文生圖、圖生圖、局部重繪的用法 擴充功能：介紹一些重要的擴充功能，例如ControlNet 訓練模型：訓練LoRA/Embedding/HyperNetwork的過程 實際應用：混合多個擴充功能的教學課程 參考資料：值得一讀的Stable Diffusion資源 為確保內容可信度，手冊末尾皆附有參考來源，未來仍會持續修正行文風格。頁面內容會隨時依照上游變化而更動，不另行通知。\n感謝原始AI繪圖工具的開發者CompVis、StabilityAI、RunwayAI、AUTOMATIC1111，以及全世界大大小小開發者的付出，才有了這本手冊。\n此手冊尚有許多不足之處，尚析不吝指教。\n需要反饋的話可以在這篇文章下面留言，或是到手冊的儲存庫開Issue，或者直接發pull request。\n","date":"2023年4月19日","externalUrl":null,"permalink":"/posts/stable-diffusion-webui-manuals-released/","section":"Ai-Arts","summary":"（本手冊在2023年4月～2024年2月是屬於獨立靜態網頁的狀態，後因維護困難轉回部落格貼文的形式）\n最近在看Ivon部落格站上的Stable Diffusion教學文章的朋友們，可能會發現部分文章不見了，給您造成麻煩真是不好意思，因為我把它嘗試做成一本手冊了。\n敝人的拙作名為「Ivon的Stable Diffusion WebUI使用手冊」，使用Hugo配合book主題生成。原始碼放在Github，以創用CC-姓名標示-相同方式分享的授權釋出。 線上檢視網址\n手冊預覽：\n說是手冊，部分頁面的行文仍偏向部落格文章，只是多了一些表格與參數的詳細解釋，並非死硬的說明文件。其目的是讓新手能快速入門AI繪圖，所以Windows和macOS的安裝頁面較多圖片示例，Linux頁面幾乎都是指令。不過Linux是我的主力系統所以寫的細節較多。\n1. 動機 # 自2022年12月以來，敝人在部落格撰寫一系列有關Stable Diffusion的教學文章，內容涵蓋各大系統的安裝過程、AI生圖的操作說明、擴充功能介紹、模型訓練過程。隨著內容越寫越多，有感於部落格的版面閱讀不便，易使人產生散亂之感，故做成類似手冊的樣式，方便閱讀。\n此手冊解決了我一直以來困擾的問題，Stable Diffusion WebUI各大系統的差異也就安裝過程不同而已，它的網頁操作方法是全部系統都一樣的。因此，我使用手冊統整的方式，這樣就不需要在個別系統的安裝文章再重講一次操作流程，而讀者也不需要一直按超連結在不同文章之間跳轉，看下一步要怎麼做。\n","title":"教學文章整理，Stable Diffusion WebUI中文使用手冊發佈","type":"ai-art"},{"content":"探討Hugo架站的圖片放免費圖床Imgur的問題，以及如何使用Hugo的Page Bundle來整理文章與圖片。\n靜態網站，要找到存放圖片(image hosting)的圖床很容易，常見的如imgur.com、postimg.cc都是不錯的選擇，不用將圖片跟網站原始碼放一起。但為何我反悔了呢？\n1.發現問題 # 2022年6月，一開始用Hugo/Hexo架設部落格的時候，採取極致薅羊毛策略：Github免費託管程式碼，免費部署到Netlify，用免費域名，圖片丟Imgur圖床，影片放Youtube。\n後來考慮到網站品牌經營，我還是買了域名，並且很自大的取名為ivonblog.com。以前聽說.com很貴的，誰知道一張梅花鹿就買到了。但是很長一段時間，我還是把圖片丟圖床，到今年3月才醒悟：這是一個錯誤的策略。\n確實把圖片上傳到圖床可以省下大把流量，Netlify免費額度是100GB/月，即使部落格已有十萬次以上瀏覽，耗費的流量也只是零頭。部落格本體都是文字不到10MB，圖片流量由Imgur、PostImages二個圖床分擔。\n儘管圖床大部分免費，卻逐漸顯露出缺點。最近幾個月我觀察到二個現象，促使我拋棄圖床。\n一是Postimages會壓低熱門圖片的畫質，並且載入速度時好時壞。如下圖，Postimages的載入速度有時可以慢到爆炸，甚至502錯誤。我想他們不會像Imgur一樣壓縮上傳圖片才導致這款品質，但是使用體驗就很差。而且這個現象不是偶爾，是常常。 二是Imgur，3月竟然罕見的說要臨時維護40分鐘，這就讓我感到危機感。雖然我不是什麼每日十萬上下的部落客，但是圖床臨時出問題就會給我和訪客帶來不便。\n此外Imgur的使用者條款明確指出，請勿將Imgur當網站圖床使用：\nAlso, don\u0026rsquo;t use Imgur to host image libraries you link to from elsewhere, content for your website, advertising, avatars, or anything else that turns us into your content delivery network.\n這樣誰知道未來圖片會不會被突然撤下呢？有時候Imgur網站要求過多，還會出現HTTP ERROR 429的錯誤訊息。\n結果更慘的來了。\n2023年5月，Imgur正式禁止以任何形式上傳裸露圖像！並且將砍掉未註冊的用戶所上傳的圖片。 哇，萬一抓到以前po過的直接砍帳號勒？更不要說Imgur壓縮圖片畫質這個老缺點了。\n用圖床還有一個風險：對方可以對你的圖片為所欲為，例如\u0026quot;PhotoBucket\u0026quot;這個圖床會強制給免費帳號的圖加浮水印。\n最慘的就是圖床網站倒閉了，雖然Imgur這麼大的公司不太可能倒，但過去確實有很多圖床公司不見了，連帶許多論壇上的珍貴資源付之闕如。\n如果將圖片放在採用CDN技術的圖床，如ImageKit，又有嚴苛的流量限制，並且有侵犯訪客隱私之虞。\n這邊插入一句，除開統計服務外，我覺得部落格的字體、JS應該也要效法古早部落客一樣自己host！目前Noto Sans字體還得從Google的網站載入，過於依賴第三方服務不好。\n你看看自由軟體基金會的網站，他們的網站是保證能用無加密的JavaScript存取的，自然他們圖片也是自己host的，不會牽扯到許多第三方服務。但這個不是本文重點，本文是要探討如何自行host圖片。\n基於以上幾點，我決定自己host圖片。\n2. 使用Page Bundles存放圖片 # 圖片放在外站會額外增加網頁載入時間，我決定逐一把圖片掛回自己的部落格域名下。\n有些人會建議將圖片放到Hugo網站目錄下的static/images，但是放在這裡我覺得會很難分類，因此使用Hugo的\u0026quot;Page Bundles\u0026quot;功能，讓圖片跟它對應的文章檔案放在一塊。\n以前我的文章目錄是這樣的，content/posts下全部都是markdown檔案，一個檔案就是一篇文章 content ├── about └── posts ├── add-a-new-ssh-key-to-github-account.md --\u0026gt; 檔案 ├── alpaca-cpp-termux-android.md --\u0026gt; 檔案 ├── android-adblock-apps.md --\u0026gt; 檔案 ├── archinstall-script.md --\u0026gt; 檔案 後來採用Page Bundle的模式，變成一個目錄一篇文章。目錄名稱即文章的網址，這樣的話修正結構文章網址也不會改變。 content ├── about └── posts ├── add-a-new-ssh-key-to-github-account --\u0026gt; 目錄 │ ├── images │ └── index.md ├── alpaca-cpp-termux-android --\u0026gt; 目錄 │ ├── images │ └── index.md ├── android-adblock-apps --\u0026gt; 目錄 │ ├── images │ └── index.md ├── archinstall-script --\u0026gt; 目錄 │ ├── images │ └── index.md 你可以看到文章目錄下要新增index.md，代表文章正文。\n這樣做有什麼好處呢？我們可以在每篇文章的目錄下，新增images目錄，這樣該篇文章就有自己獨立的目錄，用於存放該篇文章會用到的圖片了 如果你問我，Imgur的圖片要怎麼下載回來，那當然是\u0026hellip;手動下載，然後壓縮圖片減少容量。順帶一提Imgur也有全部打包下載的選項。\n圖片儲存原則：因為多半是示意圖，每張圖片1MB以下，以WEBP或AVIF格式儲存，長寬不超過1080像素。能看清楚就好。\nImageMagick批次轉檔指令見此。\n雖然AVIF壓縮後品質比較好，可是各大圖片搜尋引擎還不支援，所以我主要用WEBP。\nGIF和短影片我不知道怎麼壓才能檔案小又保持品質，因此還是忍痛放Imgur。\n在壓圖時，才發現以前丟圖床都沒在注意容量，竟然有一堆圖片高達2~3MB，實在太可怕了。\n將圖片處理好之後，放到該篇文章的images目錄下。\n那要如何在文章中引用Page Bundle的圖片呢？只要將原本Imgur的圖片網址\n![](https://i.imgur.com/M24wDqr.png) 替換成Page Bundle的下images路徑即可。 ![](/posts/alpaca-cpp-termux-android/images/M24wDqr.webp) 這下content目錄的markdown檔案少了，反而多了一堆目錄。 3. 成果 # 參照Google Search Console的統計，今年3月初我在幾天內將最熱門的20篇文章頁面圖片轉換成Page Bundle，變成我自己host圖片。\n觀測一個月下來，Netlify的流量暴漲10倍以上，遠超過免費額度。害得我要暫時升級到Pro版才撐得住。得物色更好的主機供應商，不能再當免費仔了。 整個網站的Git儲存庫的容量也暴漲。但因為我有壓圖，所以容量成長不高，到目前為止200多張圖片大約佔40MB而已。\nGit儲存庫不適合放非文字的檔案，這樣不利於搬遷。不過我出門在外主要是用SSHFS連線到同一部主機寫部落格，所以沒有在其他電腦上另外clone整個Git儲存庫的需求。\n很明顯的是，網站沒有做什麼大事業，自己host圖片，除了覺得有道德感之外，其實沒有比放圖床好。拜託，PTT和Reddit那麼多用戶每天都在耗費Imgur的流量，我偷偷蹭一下也沒有人會發現吧！幹嘛自己host呢？\n長遠來看我認為還是有意義。現在選用的Hugo網站生成器，最大特點就是網站原始碼完全讓我自己掌控，文字和圖片集中在一起，一目瞭然，也方便備份。在這個數位時代，資料掌握在自己手中是很重要的，這樣未來遭逢變故，受到的傷害也會較小。\n參考資料 # 部落格經營 – 我需要上傳我的網站圖片到 imgur 免費圖床嗎？ Public CDNs Are Useless and Dangerous | HTTP Toolkit Page Bundles | Hugo ","date":"2023年4月19日","externalUrl":null,"permalink":"/posts/self-hosting-hugo-images/","section":"所有文章","summary":"探討Hugo架站的圖片放免費圖床Imgur的問題，以及如何使用Hugo的Page Bundle來整理文章與圖片。\n靜態網站，要找到存放圖片(image hosting)的圖床很容易，常見的如imgur.com、postimg.cc都是不錯的選擇，不用將圖片跟網站原始碼放一起。但為何我反悔了呢？\n1.發現問題 # 2022年6月，一開始用Hugo/Hexo架設部落格的時候，採取極致薅羊毛策略：Github免費託管程式碼，免費部署到Netlify，用免費域名，圖片丟Imgur圖床，影片放Youtube。\n後來考慮到網站品牌經營，我還是買了域名，並且很自大的取名為ivonblog.com。以前聽說.com很貴的，誰知道一張梅花鹿就買到了。但是很長一段時間，我還是把圖片丟圖床，到今年3月才醒悟：這是一個錯誤的策略。\n確實把圖片上傳到圖床可以省下大把流量，Netlify免費額度是100GB/月，即使部落格已有十萬次以上瀏覽，耗費的流量也只是零頭。部落格本體都是文字不到10MB，圖片流量由Imgur、PostImages二個圖床分擔。\n儘管圖床大部分免費，卻逐漸顯露出缺點。最近幾個月我觀察到二個現象，促使我拋棄圖床。\n","title":"自己的圖片自己host，為什麼不要將Hugo網站圖片放Imgur免費圖床","type":"posts"},{"content":"本文是作為3年以來經營部落格的回顧，以及日後的發展方向總結。\n「Minecraft基岩板資訊部落格」的獨立網域\u0026quot;mcbedev.net\u0026quot;即日起走入歷史。\n因為我現在不太玩Minecraft，改玩Minetest了，因此做出此決定。\n我沒有要刪除此網誌文章，只是取消獨立網域而已，相應的AdSense廣告也全部去除。\n\u0026ldquo;mcbedev.net\u0026rdquo; 此網域將停止運作，部落格內容遷移到 \u0026ldquo;ivonblog.com\u0026rdquo;\n我自己po在Youtube和Bilibili的全部連結會全部替換掉，站內連結我用JavaScript重導向處理掉了，所以以後應可正常瀏覽。至於我管不到的連結就自求多福吧。\n儘管現在對Minecraft沒太多興趣，但此部落格的文章未來可能還是會不定期更新。\n我很感謝各位支持，能支持我寫Minecraft的內容到現在。最早是2014年開始寫MCPE模組，順便在Facebook經營Minecraft模組插件分享自製技術的粉專，後來莫名其妙被封後才來到這裡。2020年左右，MCPE從單純的手機版變成跨平台的基岩版，模組語言也從ModePE Script變成Add-On。為了趕上時代的我也努力學習，陸續推出了一些個人Add-On，並獲得國內外玩家的肯定和回饋，認識許多厲害的人士，真的很感謝各位對這遊戲的熱愛。\n本著教學分享的理念，加上台灣國內基岩版資訊較少緣故，便將我做Add-On時學到的技術，以及伺服器操作方法分享給大家，這些都是難能可貴的經驗。\n從2020年到2022年，前前後後寫了160篇文章吧。直到2022年下旬就幾乎不寫Minecraft有關的內容，直到現在，就像我以前也曾長期放著Facebook粉絲專頁不更新一樣。這次，又是告別的時候了，主力改放在更新個人部落格上。\n就像Minecraft終末之詩說的那樣：你該回到現實了。\n哪天我搞不好會重新對Minecraft產生興趣但是，嘿，Minetest這個全開源，模組隨便你寫的遊戲可比Minecraft有趣多了，玩家社群更小也更團結，是足以讓人沈浸的另一個夢境。\n最後，欲追蹤我現在研究主題的：主要是Linux和自由軟體，以及Minetest，請到Ivon的部落格。\n","date":"2023年4月12日","externalUrl":null,"permalink":"/posts/mcbedevnet-the-end/","section":"Minecrafts","summary":"本文是作為3年以來經營部落格的回顧，以及日後的發展方向總結。\n「Minecraft基岩板資訊部落格」的獨立網域\"mcbedev.net\"即日起走入歷史。\n因為我現在不太玩Minecraft，改玩Minetest了，因此做出此決定。\n我沒有要刪除此網誌文章，只是取消獨立網域而已，相應的AdSense廣告也全部去除。\n“mcbedev.net” 此網域將停止運作，部落格內容遷移到 “ivonblog.com”\n我自己po在Youtube和Bilibili的全部連結會全部替換掉，站內連結我用JavaScript重導向處理掉了，所以以後應可正常瀏覽。至於我管不到的連結就自求多福吧。\n儘管現在對Minecraft沒太多興趣，但此部落格的文章未來可能還是會不定期更新。\n我很感謝各位支持，能支持我寫Minecraft的內容到現在。最早是2014年開始寫MCPE模組，順便在Facebook經營Minecraft模組插件分享自製技術的粉專，後來莫名其妙被封後才來到這裡。2020年左右，MCPE從單純的手機版變成跨平台的基岩版，模組語言也從ModePE Script變成Add-On。為了趕上時代的我也努力學習，陸續推出了一些個人Add-On，並獲得國內外玩家的肯定和回饋，認識許多厲害的人士，真的很感謝各位對這遊戲的熱愛。\n","title":"mcbedev.net網域停止運作","type":"minecraft"},{"content":"","date":"2023年4月8日","externalUrl":null,"permalink":"/tags/content-farm/","section":"標籤","summary":"","title":"Content Farm","type":"tags"},{"content":"這年頭凡是寫過部落格的，有點名氣後，都不得不面對「盜文」這個問題。\n盜文，就是把文章複製貼上，放到其他網站的行為。竊取他人成果，並給自己帶來流量，並搭配廣告收益來賺大錢。\n為什麼我會發現文章盜文問題？其實我偶爾會去看Google Search Console的後台，看最新的推薦連結。幾個月看下來，我看到了許多一眼內容農場的網站，有些甚至全文抄襲了。所以讓我重視此事。\n在談防止盜文對策之前，我想解釋一下內容農場，聲明自己網站文章的版權問題，再談對策。\n先說何謂內容農場及其變體 # 本文提及的盜文手法有二種，除了自古以來就有的手動複製貼上「抄襲」，現在內容農場(content farm)自動盜文是更常見的手法。因為網路資訊混雜，所以二種手法我會混著講。\n盜文已經從手工複製貼上，演變成機器批量盜取內容了。內容農場維基百科已有詳細定義，下面這段包含我自己幾年來的原創研究。\n2010年後興起的內容農場，可能會僱用一批低級寫手，東拼西湊一些低品質文章佐以聳動標題，然後放到社群媒體騙點擊量。這種內容農場就好比八卦小報，他們起碼還是有請人寫東西的。只是，後來網頁爬蟲(web crawler)興起，內容農場都不用自己找人寫了，爬蟲簡單一摳，一篇篇幾可亂真的文章就出來了。這些內容農場還會假冒是用戶自主投稿的，加上作者、留言欄位，好不聰明！風行一時的內容農場以「每日頭條」、「壹讀」、「台部落」為主，他們靠盜取來的內容＋Google Adsense就賺麻了。內容農場在Google搜尋靠前的一部分原因是，他們爬取中國牆內不給搜尋引擎爬的訊息，從而在部份冷門領域獲得高流量的位置。\n內容農場性質跟「Yahoo奇摩新聞」、「MSN新聞」是不一樣的！內容農場基本上就是完全無視版權，直接盜取文章。\n2020年來以來另一種內容農場的變體是「資訊聚合」，又稱採集站、垃圾站，Reddit有人稱為\u0026quot;Automated Content Stealing Sites\u0026quot;、\u0026ldquo;Content Scraper\u0026rdquo;。只擷取文章關鍵字，盜取後將其融合的完全不成人形，利用黑帽SEO取得搜尋引擎靠前的位置，例如「XX懶人包」、「XX在PTT/Mobile01的評價與資訊」。這類網站以台灣的居多。他們偽裝成幫你查公司行號、藥局資訊的網站，實則是內容農場的變體。\n2022年開始，資訊聚合型的內容農場變本加利，盜取的內容點進去是直接跳轉到詐騙連結。並且他們會大量註冊一堆網域幹一樣的事，連網站圖示都懶得換，下面我會提供例子。\n最近AI文字生成的技術逐漸成熟，我覺得未來內容農場會更加進化。\n即使Google在2022年調整過搜尋演算法，似乎已將許多內容農場的垃圾結果往後排了，我還是擔心盜文帶來的問題。\n創用CC授權不是公眾領域 # 我並沒有給部落格的文章設定很嚴格的版權限制，而要到處檢舉無斷轉載人士的地步，因為想仿效類似自由軟體的原則來與人分享。\n但是本部落格使用的「姓名標示-非商業性-禁止改作 4.0 國際 (CC BY-NC-ND 4.0)」的條款寫得很清楚：\n你可自由： 分享 — 以任何媒介或格式重製及散布本素材 惟需遵照下列條件: 姓名標示 — 你必須給予 適當表彰、提供指向本授權條款的連結，以及 指出（本作品的原始版本）是否已被變更 你可以任何合理方式為前述表彰，但不得以任何方式暗示授權人為你或你的使用方式背書。 非商業性 — 你不得將本素材進行商業目的之使用。 禁止改作 — 若你重混、轉換本素材，或依本素材建立新素材，則你不得散布改作後的素材。\n之所以選擇此授權條款，是因為原本Hugo MemE主題模板預設的「姓名標示-相同方式分享4.0」我覺得還不夠保護權利，便參考中科院 研之有物的作法，選取了「姓名標示-非商業性-禁止改作」條款。禁止改作不代表不能引用。\n授權條款擺在網頁底部似乎很多人不會去看，因此即日起我改在文末放授權條款。 如果引用本部落格的文章的人士還有點良心的話(假設對方是人工複製，而非機器爬取)，至少要註明原文網址還有作者。我不是很喜歡國家著作權法的保護，但又沒有說我的文章完全不能轉載和引用。\n而且寫文章不可以全文抄襲，大學難道都沒教嗎？\n我在意的不是錢，是人有無良知。\n部落客要「完全」寫出原創內容是很難的，畢卡索都說高明的人懂得偷竊藝術讓人看不出來，參考別人的文章下去撰文是不可避免的。就學術角度來看，引用他人的資料作為文章佐證並不是什麼可恥的、降低個人威信的事情，明確寫出參考資料亦是在肯定他人的貢獻。除非，你真的只是在複述別人的話，而無自己新的體會。當搬運工，不是我愛幹的事情。\n觀察到的盜文行為 # 台灣對面的中國，有很多厲害的人在生產高品質內容，卻也有人在做盜竊他人成果的勾當。\n最早看到的盜文行為，就是把我的文章標題盜過去，然後放個連結，在中轉頁面順便賣京東廣告商品。 德性一點下限都沒有\u0026hellip;也不一定是中國人啦，本部落格英文網站的頁面也是有被英文內容農場盜走。\n以檢查網址安全的名義，順便在中間插廣告，這也是某些論壇(例如Mobile01)和部落客(例如雲爸的3C學園)會採取的作法，我感到很不齒。\n我想是因為剛好寫到很熱門主題的緣故，所以妖魔鬼怪都來了，很多文章都「榮幸」的被常見的中文資訊聚合站收錄了呢，例如這個「XX網紅評價」、「XX情報」的農場。這也代表這方面主題真的很熱門才會被收錄。 再看看這些多重影分身的資訊聚合站 最近看到的是這個，蠻有趣的，正體字轉成簡體字，只改一點內容就整篇複製過去，也沒附上參考連結。以前我翻譯外國寫的軍武文章的時候起碼還會放在參考資料。 手動複製貼上修改文章呀\u0026hellip;在我留言請求標注文章來源後，那篇文章就整篇重寫了，還收到了道歉。這倒是挺令人意外，我要感謝對方的誠意。\n這讓我想到有一個叫「3楼猫」的農場是專門爬巴哈姆特的文章，術業有專攻嘛。\n如果盜文沒好處，沒人會繼續這樣幹的。盜文換取SEO的直接好處當然就是藉他人的內容營利呀，搞不好還能用資訊差賺錢。這是很不道德的行為，眾人可擊鼓而攻之。可是嘛，跟某些道德窪地的人說這些有什麼用，台北盆地也是窪地！\n放任盜文網站不管，最慘的情況就是我的網站排名跑到後面，第一名是盜文網站這樣。\n盜文對策 # 技術層面防範 # 用JavaScript禁止複製文章已經不夠了，這種只能擋人工的，對機器爬蟲無效。根本方法是加入機器人驗證、拒絕可疑的連線請求等等。\n但是靜態網站做不到。我的網站目前是託管在Netlify的，沒有阻擋連線的功能，連線保護與流量控管都是Netlify的事情。除非未來我更換主機並變更網站架構成Wordpress那種，才有可能阻擋惡意爬蟲存取，例如加入機器人驗證這樣的措施。\n另外一種方法是在文章的body段落插入版權宣言，將其變成文章正文的一部分，就像這樣。 觀察幾天後，果然有盜文網站上鉤了。它雖然整篇爬走，但是也一併把版權宣言給放進去了www 我覺得應該把辱華炸彈(見下)的神秘數字跟版權宣言放在一起。 辱華水印 # 又稱辱支炸彈、趙彈磁鐵。\n假設對方是手動複製貼上，或者用機器爬取，並且把網站架在中國(看網站底部有無網站備案，或者沒被牆)，那麼我覺得加這個應該就能嚇退一票人了。最好用隱形的HTML元素藏在網頁中間。\n习近平 精甚帝 习禁评 习维尼一尊 刁近平 刁斤干 习泽东 梁家河 刃近平 勾迈伞 通商宽衣帝 萨格尔王 习包子 庆丰帝 十里山路不换肩 扛麦郎 独彩者 总加速师 习壳郎 翠翠 小学博士 满脸喷粪 清零宗 共匪 动态网自由门 天安门 天安门 法轮功 李洪志 Free Tibet 六四天安门事件 The Tiananmen Square protests of 1989 天安门大屠杀 The Tiananmen Square Massacre 反右派斗争 The Anti-Rightist Struggle 大跃进政策 The Great Leap Forward 文化大革命 The Great Proletarian Cultural Revolution 人权 Human Rights 民运 Democratization 自由 Freedom 独立 Independence 多党制 Multi-party system 台湾 台湾 Taiwan Formosa 中华民国 Republic of China 西藏 土伯特 唐古特 Tibet 达赖喇嘛 Dalai Lama 法轮功 Falun Dafa 新疆维吾尔自治区 The Xinjiang Uyghur Autonomous Region 诺贝尔和平奖 Nobel Peace Prize 刘暁波 Liu Xiaobo 民主 言论 思想 反共 反革命 抗议 运动 骚乱 暴乱 骚扰 扰乱 抗暴 平反 维权 示威游行 李洪志 法轮大法 大法弟子 强制断种 强制堕胎 民族净化 人体实验 肃清 胡耀邦 赵紫阳 魏京生 王丹 还政于民 和平演变 激流中国 北京之春 大纪元时报 九评论共产党 独裁 专制 压制 统一 监视 镇压 迫害 侵略 掠夺 破坏 拷问 屠杀 活摘器官 诱拐 买卖人口 游进 走私 毒品 卖淫 春画 赌博 六合彩 天安门 天安门 法轮功 李洪志 Winnie the Pooh 刘晓波动态网 自由门\n這招威力強大，亦可能讓網站域名馬上被貴支的防火牆屏蔽。且隱藏文字也可能違反Google的SEO政策。\n以前搞垃圾站的以中國人居多，知乎甚至有人明目張膽的討論做採集站好不好賺。結果近年來台灣也有人做一樣的事了。\n他們也不可能笨到把主機架在被共匪高度管制的牆內，像每日頭條這種的還會故意禁止中國IP存取呢。所以辱華水印對牆外的農場網站無效。\n向Google檢舉 # 這個是向對方網站要求自主下架盜文不成才採取的辦法。\nGoogle有詳細解釋垃圾內容的處理機制：檢舉垃圾內容、付費連結或惡意軟體，裡面有提到何為垃圾內容，例如「剪輯」： 針對被盜的文章，我們只要點選「檢舉垃圾內容」，附上盜文網址，理由寫侵犯我的版權就可以了，讓Google處理。詳細流程可以參考：Dr. Dean 【必學】部落格文章被抄襲怎麼辦？教你防範與對付抄襲者。\n為什麼我覺得此方法仍不夠好。\n若對方網站不是論壇，沒人能投訴，而是機器成批成批的盜，則根本檢舉不完。\n要我每天盯著搜尋結果出現哪些盜文網站是蠻累人的事情，且世界又不是只有Google一家搜尋引擎，萬一Bing也要檢舉一波呢？\n但是，有檢舉還是有差，定期巡一下網路輿情，發現搜尋排名真被搶走後再檢舉即可。\n開吉 # 請律師，提告侵害著作權。\n網路抄襲行為要告的話，除非對方是有頭有臉的公司才找得到對象告。但通常公司都會有申訴機制可以要求對方下架，也不用到告人的地步。\n可是以我自己的情況來說，文章採用CC授權很難告得成吧\u0026hellip;而且內容農場又不太可能人在台灣，所以我覺得不如向搜尋引擎檢舉有效。\n就不處理了，睡大覺 # 要盜就隨便你好了，如果把我加水印的圖也盜走，就當是幫我免費宣傳。可是這樣不就代表未來每篇文章都至少要有一張圖加上水印\u0026hellip;我不愛幹這種事情，水印是要整張蓋板嗎，很醜ㄟ？這是個值得考慮的方案。\n讓市場機制決定一切，只會盜文的網站遲早會被Google的演算法處理掉，降低排名之類的。\n然而這無法阻止那些網站以此營利。\n","date":"2023年4月8日","externalUrl":null,"permalink":"/posts/steal-content/","section":"Personals","summary":"這年頭凡是寫過部落格的，有點名氣後，都不得不面對「盜文」這個問題。\n盜文，就是把文章複製貼上，放到其他網站的行為。竊取他人成果，並給自己帶來流量，並搭配廣告收益來賺大錢。\n為什麼我會發現文章盜文問題？其實我偶爾會去看Google Search Console的後台，看最新的推薦連結。幾個月看下來，我看到了許多一眼內容農場的網站，有些甚至全文抄襲了。所以讓我重視此事。\n在談防止盜文對策之前，我想解釋一下內容農場，聲明自己網站文章的版權問題，再談對策。\n先說何謂內容農場及其變體 # 本文提及的盜文手法有二種，除了自古以來就有的手動複製貼上「抄襲」，現在內容農場(content farm)自動盜文是更常見的手法。因為網路資訊混雜，所以二種手法我會混著講。\n盜文已經從手工複製貼上，演變成機器批量盜取內容了。內容農場維基百科已有詳細定義，下面這段包含我自己幾年來的原創研究。\n2010年後興起的內容農場，可能會僱用一批低級寫手，東拼西湊一些低品質文章佐以聳動標題，然後放到社群媒體騙點擊量。這種內容農場就好比八卦小報，他們起碼還是有請人寫東西的。只是，後來網頁爬蟲(web crawler)興起，內容農場都不用自己找人寫了，爬蟲簡單一摳，一篇篇幾可亂真的文章就出來了。這些內容農場還會假冒是用戶自主投稿的，加上作者、留言欄位，好不聰明！風行一時的內容農場以「每日頭條」、「壹讀」、「台部落」為主，他們靠盜取來的內容＋Google Adsense就賺麻了。內容農場在Google搜尋靠前的一部分原因是，他們爬取中國牆內不給搜尋引擎爬的訊息，從而在部份冷門領域獲得高流量的位置。\n","title":"部落格文章被內容農場盜文的應對方式","type":"personal"},{"content":"","date":"2023-04-07","externalUrl":null,"permalink":"/en-us/tags/ai/","section":"Tags","summary":"","title":"AI","type":"tags"},{"content":"Running LLaMA, a ChapGPT-like large language model released by Meta on Android phone locally. I use antimatter15/alpaca.cpp, which is forked from ggerganov/llama.cpp.\nAlpaca is the fine-tuned version of LLaMA which was released by Stanford University. The alpaca.cpp could run on CPU only mode.\n1. Environment # Device：Xiaomi Pocophone F1 Android 13 SoC：Qualcomm Snapdragon 845 RAM: 6GB 2. Compile alpaca.cpp # Please install Termux first. Then choose one methods from below to compile Alpaca.cpp on your device.\nAlpaca requires at leasts 4GB of RAM to run. If your device has RAM \u0026gt;= 8GB, you could run Alpaca directly in Termux or proot-distro (proot is slower). Devices with RAM \u0026lt; 8GB are not enough to run Alpaca 7B because there are always processes running in the background on Android OS. Termux may crash immediately on these devices.\nOr you could root your phone and setup a chroot environment. Then mount a swapfile to get more RAM on your device.\n2.1. Compile Alpaca.app in Termux # Install these packages pkg install clang wget git cmake Download Android NDK wget https://github.com/lzhiyong/termux-ndk/releases/download/ndk-r23/android-ndk-r23c-aarch64.zip unzip android-ndk-r23c-aarch64.zip export NDK=~/android-ndk-r23c-aarch64 Complile Alpaca.cpp and download the model git clone https://github.com/rupeshs/alpaca.cpp.git cd alpaca.cpp mkdir build-android cd build-android cmake -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-23 -DCMAKE_C_FLAGS=-march=armv8.4a+dotprod .. make -j8 wget https://huggingface.co/Sosaka/Alpaca-native-4bit-ggml/resolve/main/ggml-alpaca-7b-q4.bin Run it ./chat 2.2. In Chroot # Install Chroot Ubuntu and log in to Ubuntu.\nIf your devices has RAM lower than 8GB, it is recommened to mount a SWAP file.\ndd if=/dev/zero of=/swapfile bs=1M count=8192 status=progress chmod 0600 /swapfile mkswap /swapfile swapon /swapfile Install dependencies, compile the program, and download the model. apt install build-essential wget git clone https://github.com/antimatter15/alpaca.cpp cd alpaca.cpp make chat wget https://huggingface.co/Sosaka/Alpaca-native-4bit-ggml/resolve/main/ggml-alpaca-7b-q4.bin Run it. ./chat 2.3. In Proot # Install Proot Debian and log in to Debian. proot-distro login debian --shared-tmp Install dependencies, compile the program, and download the model. apt install build-essential wget git clone https://github.com/antimatter15/alpaca.cpp cd alpaca.cpp make chat wget https://huggingface.co/Sosaka/Alpaca-native-4bit-ggml/resolve/main/ggml-alpaca-7b-q4.bin Run it. ./chat 3. Usage # Now you can start chattig with Alpaca. It will takes Alpaca 30 seconds to start answering your questions. What can you do with Termux? Well, this looks like the answers from Termux official website :) ","date":"2023-04-07","externalUrl":null,"permalink":"/en-us/posts/alpaca-cpp-termux-android/","section":"Termux-Tutorials","summary":"Running LLaMA, a ChapGPT-like large language model released by Meta on Android phone locally. I use antimatter15/alpaca.cpp, which is forked from ggerganov/llama.cpp.\nAlpaca is the fine-tuned version of LLaMA which was released by Stanford University. The alpaca.cpp could run on CPU only mode.\n1. Environment # Device：Xiaomi Pocophone F1 Android 13 SoC：Qualcomm Snapdragon 845 RAM: 6GB 2. Compile alpaca.cpp # Please install Termux first. Then choose one methods from below to compile Alpaca.cpp on your device.\nAlpaca requires at leasts 4GB of RAM to run. If your device has RAM \u003e= 8GB, you could run Alpaca directly in Termux or proot-distro (proot is slower). Devices with RAM \u003c 8GB are not enough to run Alpaca 7B because there are always processes running in the background on Android OS. Termux may crash immediately on these devices.\nOr you could root your phone and setup a chroot environment. Then mount a swapfile to get more RAM on your device.\n2.1. Compile Alpaca.app in Termux # Install these packages pkg install clang wget git cmake Download Android NDK wget https://github.com/lzhiyong/termux-ndk/releases/download/ndk-r23/android-ndk-r23c-aarch64.zip unzip android-ndk-r23c-aarch64.zip export NDK=~/android-ndk-r23c-aarch64 Complile Alpaca.cpp and download the model git clone https://github.com/rupeshs/alpaca.cpp.git cd alpaca.cpp mkdir build-android cd build-android cmake -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-23 -DCMAKE_C_FLAGS=-march=armv8.4a+dotprod .. make -j8 wget https://huggingface.co/Sosaka/Alpaca-native-4bit-ggml/resolve/main/ggml-alpaca-7b-q4.bin Run it ./chat 2.2. In Chroot # Install Chroot Ubuntu and log in to Ubuntu.\nIf your devices has RAM lower than 8GB, it is recommened to mount a SWAP file.\ndd if=/dev/zero of=/swapfile bs=1M count=8192 status=progress chmod 0600 /swapfile mkswap /swapfile swapon /swapfile Install dependencies, compile the program, and download the model. apt install build-essential wget git clone https://github.com/antimatter15/alpaca.cpp cd alpaca.cpp make chat wget https://huggingface.co/Sosaka/Alpaca-native-4bit-ggml/resolve/main/ggml-alpaca-7b-q4.bin Run it. ./chat 2.3. In Proot # Install Proot Debian and log in to Debian. proot-distro login debian --shared-tmp Install dependencies, compile the program, and download the model. apt install build-essential wget git clone https://github.com/antimatter15/alpaca.cpp cd alpaca.cpp make chat wget https://huggingface.co/Sosaka/Alpaca-native-4bit-ggml/resolve/main/ggml-alpaca-7b-q4.bin Run it. ./chat 3. Usage # Now you can start chattig with Alpaca. It will takes Alpaca 30 seconds to start answering your questions. What can you do with Termux? Well, this looks like the answers from Termux official website :) ","title":"Running Alpaca.cpp (LLaMA) on Android phone using Termux","type":"termux-tutorials"},{"content":"English version\nLLaMA是什麼？它是Meta釋出的大型語言模型，Alpaca則是史丹佛大學微調後的版本。這二個模型因為資源耗用較小，且有人製作了純CPU運算的版本，不用依賴顯示卡，因此除了在個人電腦跑，也可以跑在Android手機上。\n本文採用的是antimatter15/alpaca.cpp，fork自ggerganov/llama.cpp。\n請先安裝Termux，並解除signal 9問題。\nAlpaca最少需要4GB RAM。手機RAM大於等於8GB可以直接編譯，或者用Proot跑，不過Proot會比較慢。\n8GB RAM以下的手機跑Alpaca.cpp，Termux高機率閃退，因為Android常常有背景程序吃掉RAM，沒有8GB RAM是不夠跑的。\nRAM小於8GB，並且有root權限的話，可以考慮用chroot掛SAWP file強行增大RAM跑Alpaca.cpp。\n1. 裝置 # 裝置：小米Pocophone F1 Android版本：13 處理器：高通s845 RAM: 6GB 2. 編譯執行alpaca.cpp # 從以下方法三擇一。\n2.1. 直接在Termux跑 # 安裝以下套件 pkg install clang wget git cmake 設定Android NDK wget https://github.com/lzhiyong/termux-ndk/releases/download/ndk-r23/android-ndk-r23c-aarch64.zip unzip android-ndk-r23c-aarch64.zip export NDK=~/android-ndk-r23c-aarch64 編譯，下載模型 git clone https://github.com/rupeshs/alpaca.cpp.git cd alpaca.cpp mkdir build-android cd build-android cmake -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-23 -DCMAKE_C_FLAGS=-march=armv8.4a+dotprod .. make -j8 wget https://huggingface.co/Sosaka/Alpaca-native-4bit-ggml/resolve/main/ggml-alpaca-7b-q4.bin 執行主程式 ./chat 2.2. Chroot # 安裝Chroot Ubuntu並登入\n新增SWAP file，給手機增加8GB的RAM\ndd if=/dev/zero of=/swapfile bs=1M count=8192 status=progress chmod 0600 /swapfile mkswap /swapfile swapon /swapfile 安裝依賴套件，編譯，下載模型。 apt install build-essential wget git clone https://github.com/antimatter15/alpaca.cpp cd alpaca.cpp make chat wget https://huggingface.co/Sosaka/Alpaca-native-4bit-ggml/resolve/main/ggml-alpaca-7b-q4.bin 執行 ./chat 2.3. Proot # 安裝Proot Debian並登入 proot-distro login debian --shared-tmp 安裝依賴套件，編譯，下載模型。 apt install build-essential wget git clone https://github.com/antimatter15/alpaca.cpp cd alpaca.cpp make chat wget https://huggingface.co/Sosaka/Alpaca-native-4bit-ggml/resolve/main/ggml-alpaca-7b-q4.bin 執行 ./chat 3. 開始對話 # 執行後便是對話框，可以開始對答了。 Alpaca的用法請參考這篇文章。譬如，我問「你可以用Termux做什麼？」對話的時候CPU會將近100%，要注意散熱。 Alpaca的回答跟Termux官網介紹的差不多呢。 用手機CPU算實在太慢了，電腦CPU大約10秒就會開始回答問題，而手機要等30秒才會開始回答，並且速度很慢。\n","date":"2023年4月7日","externalUrl":null,"permalink":"/posts/alpaca-cpp-termux-android/","section":"Language-Models","summary":"English version\nLLaMA是什麼？它是Meta釋出的大型語言模型，Alpaca則是史丹佛大學微調後的版本。這二個模型因為資源耗用較小，且有人製作了純CPU運算的版本，不用依賴顯示卡，因此除了在個人電腦跑，也可以跑在Android手機上。\n本文採用的是antimatter15/alpaca.cpp，fork自ggerganov/llama.cpp。\n請先安裝Termux，並解除signal 9問題。\nAlpaca最少需要4GB RAM。手機RAM大於等於8GB可以直接編譯，或者用Proot跑，不過Proot會比較慢。\n8GB RAM以下的手機跑Alpaca.cpp，Termux高機率閃退，因為Android常常有背景程序吃掉RAM，沒有8GB RAM是不夠跑的。\nRAM小於8GB，並且有root權限的話，可以考慮用chroot掛SAWP file強行增大RAM跑Alpaca.cpp。\n1. 裝置 # 裝置：小米Pocophone F1 Android版本：13 處理器：高通s845 RAM: 6GB 2. 編譯執行alpaca.cpp # 從以下方法三擇一。\n2.1. 直接在Termux跑 # 安裝以下套件 pkg install clang wget git cmake 設定Android NDK wget https://github.com/lzhiyong/termux-ndk/releases/download/ndk-r23/android-ndk-r23c-aarch64.zip unzip android-ndk-r23c-aarch64.zip export NDK=~/android-ndk-r23c-aarch64 編譯，下載模型 git clone https://github.com/rupeshs/alpaca.cpp.git cd alpaca.cpp mkdir build-android cd build-android cmake -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-23 -DCMAKE_C_FLAGS=-march=armv8.4a+dotprod .. make -j8 wget https://huggingface.co/Sosaka/Alpaca-native-4bit-ggml/resolve/main/ggml-alpaca-7b-q4.bin 執行主程式 ./chat 2.2. Chroot # 安裝Chroot Ubuntu並登入\n新增SWAP file，給手機增加8GB的RAM\n","title":"Android手機Termux跑Alpaca.cpp (LLaMA) 大型語言模型","type":"language-model"},{"content":"這篇文章介紹如何在個人電腦安裝「Dalai」，與Meta的大型語言模型「LLaMA」對話。與LLaMA對話不需要網路，也無需註冊帳號。 LLaMA原文是羊駝(llama)的雙關語，也許開發者是想玩諧音梗，代表睿智的達賴喇嘛，所以才把這個程式取名為「Dalia LLaMA」。\n0. LLaMA模型是什麼？ # 參見 LLaMA開源大型語言模型與相關工具介紹\n1. 安裝Dalai前置依賴套件 # Dalai支援Linux/Windows/MacOS系統，也可以參照Github說明用Docker跑。\n建議電腦規格：RAM要8GB以上，CPU為Intel Core i5以上，硬碟需要20GB以上空間。\n因Dalai採用的是llama.cpp，只靠CPU運算，不需要用到顯示卡。\nLinux # 開啟終端機，安裝NodeJS、Python3、Pyhton虛擬環境、GCC。Debian系使用以下指令\nsudo apt-get install build-essential python3-venv -y Windows # 安裝Visual Studio，開啟後安裝Python、NodeJS、Visual C++的開發工具。\nMacOS # 開啟終端機，安裝Hombrew /bin/bash -c \u0026#34;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\u0026#34; 安裝NodeJS brew install cmake brew install pkg-config npm install -g npm@latest 2. 下載Dalai和LLaMA模型 # 在桌面開啟終端機，輸入指令安裝Dalai，並下載LLaMA模型。7B是最小的版本，更大的有13B、30B、65B，需要更多RAM才能負荷。 npx dalai llama install 7B 你也可以下載美國史丹佛大學微調過的Alpaca模型，他們讓此模型能像GPT-3一樣聽從指令。\nnpx dalai alpaca install 7B 執行Dalai服務，保持終端機開著。 npx dalai serve 在瀏覽器開啟http://127.0.0.1:3000，即可看到網頁界面 Dalai預設會將下載的模型放到~/dalai/llama/models目錄。\n3. Dalai LLaMA對話使用方式 # 右上角可看到目前使用的是哪個模型。\nDalai有內建一些範本，例如要AI扮演聊天機器人、翻譯的指示詞寫法。當然不給任何指示，直接開始對話也可以。 LLaMA目前只支援英文對話，不過已有用LoRA微調的中文、日文模型出現。\n預設模式 # Default的格式即為在\u0026gt;符號後面填入問題。下面我問的是：「你作為英語老師，第一堂課你會做什麼？」 然後按下右邊的Go，它就會開始作答。運算的時候CPU和RAM佔用會急遽上升，硬體不好的用戶可能導致回答會比較慢。 AI 對話模式 # 聊天模式，你給它一個提示詞，就跟你繼續聊下去。\n聊天機器人 # 將PROMPT的字串取代為人名，給你打招呼。\n句子改寫 # 將PROMPT的字串取代為句子，幫你改寫。\n翻譯文本 # 翻譯文本成為中文。格式為：把ENGLISH: \u0026gt;後面寫上要翻譯的英文句子。LANGUAGE字串取代成要翻譯的語言。 判別推文的情緒 # 給AI一些例子，讓其判讀句子是正向還是負向的。\n","date":"2023年4月6日","externalUrl":null,"permalink":"/posts/dalai-llama-installation/","section":"Language-Models","summary":"這篇文章介紹如何在個人電腦安裝「Dalai」，與Meta的大型語言模型「LLaMA」對話。與LLaMA對話不需要網路，也無需註冊帳號。 LLaMA原文是羊駝(llama)的雙關語，也許開發者是想玩諧音梗，代表睿智的達賴喇嘛，所以才把這個程式取名為「Dalia LLaMA」。\n0. LLaMA模型是什麼？ # 參見 LLaMA開源大型語言模型與相關工具介紹\n1. 安裝Dalai前置依賴套件 # Dalai支援Linux/Windows/MacOS系統，也可以參照Github說明用Docker跑。\n建議電腦規格：RAM要8GB以上，CPU為Intel Core i5以上，硬碟需要20GB以上空間。\n因Dalai採用的是llama.cpp，只靠CPU運算，不需要用到顯示卡。\nLinux # 開啟終端機，安裝NodeJS、Python3、Pyhton虛擬環境、GCC。Debian系使用以下指令\nsudo apt-get install build-essential python3-venv -y Windows # 安裝Visual Studio，開啟後安裝Python、NodeJS、Visual C++的開發工具。\nMacOS # 開啟終端機，安裝Hombrew /bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\" 安裝NodeJS brew install cmake brew install pkg-config npm install -g npm@latest 2. 下載Dalai和LLaMA模型 # 在桌面開啟終端機，輸入指令安裝Dalai，並下載LLaMA模型。7B是最小的版本，更大的有13B、30B、65B，需要更多RAM才能負荷。 npx dalai llama install 7B 你也可以下載美國史丹佛大學微調過的Alpaca模型，他們讓此模型能像GPT-3一樣聽從指令。\n","title":"Dalai本機安裝教學，與LLaMA大型語言模型離線聊天","type":"language-model"},{"content":"如果要在Linux系統備份檔案，我們知道有rclone、dd指令能作到。不過那需要開終端機打指令，並且比較適合用在伺服器管理。\n換作是Linux桌面用戶，有沒有直觀一點的圖形化備份工具呢？最好是有GUI能一鍵備份整個系統，出問題可以一鍵還原的那種？很好，「Timeshift」就是你的選擇。\n顧名思義，Timeshift提供時光機一樣的時光倒流功能，方便用戶備份整個Linux系統到另外一個硬碟，並在系統出錯的時候一鍵還原到之前的樣子。\n甚至電腦無法開機的情況下，你也可以在LiveUSB跑Timeshift，從備份還原系統。\nTimeshift界面直觀易用，可以設定自動排程備份，備份檔會壓縮以節省硬碟空間。\n這篇文章以簡單的使用例子，解說如何使用Timeshift備份與還原Linux系統。我會先製作一個系統備份，接著在桌面新增檔案，然後還原系統備份，讓新增的檔案消失。\n1. 安裝Timeshift # Timeshift最早為Tony George開發，現由Linux Mint開發團隊維護，並內建於Linux Mint系統。原始碼可於Github取得。\n其他Linux發行版也有收Timeshift套件。\nDebian / Ubuntu：\nsudo apt install timeshift Fedora：\nsudo dnf install timeshift openSUSE：\nsudo zypper install timeshift Arch Linux / Manjaro：\nsudo pacman -S timeshift 2. 用Timeshift備份系統 # Timeshift原理是給目前系統製作快照(snapshot)，並儲存成備份檔。備份檔的大小是按照目前系統佔用的容量計算，不會整個硬碟都備份下去。\n備份檔建議放在其他硬碟，要還原的話比較容易，尤其是系統根本無法開機的狀況下。但是Timeshift不支援NTFS、exFAT、網路檔案系統，存放快照的硬碟必須是BTRFS或EXT4檔案系統才可以。\n開啟Timeshift，選擇使用RSYNC快照類型，此選項適用大多數Linux發行版使用的檔案系統。BTRFS屬於較新的檔案系統，只有少數發行版採用。 選取快照儲存位置，可以放在同一個硬碟或是另一個硬碟。如圖所示，下面容量較大的vda2是我的系統碟，而我要將系統備份到另一個硬碟sda1。請放心，Timeshift的備份不會刪除整個硬碟，而是建立一個timeshift目錄專門放快照檔案。 接著選取多久要自動建立快照。 接著選取是否要備份使用者家目錄檔案，全部打勾。Timeshift不只備份使用者家目錄，連GRUB都一起備份。 點選左上角建立快照 輸入sudo密碼，等待快照製作完成。SSD寫入通常五分鐘就完成了。 從檔案管理員可以看到Timeshift製作的快照，佔用的容量會比原始的系統小一些。當然這邊只是範例，實務上因為要儲存多份快照，用來備份的硬碟容量還是得比系統碟大。 接著我在桌面新增一張相片和文字檔，等會還原系統的時候這些檔案就會不見。 3. 用Timeshift還原系統 # 點選Timeshift的備份檔，點選上方的「還原」。 選取要還原的硬碟 所有選項全部同意，輸入sudo密碼，等待系統還原，接著它會重開機。 重開機後系統回到製作快照前的樣子，桌面的檔案不見了。 4. 在LiveUSB跑Timeshift還原系統 # 假設你的系統無法開機，但備份檔存在另一個硬碟的情況下，還是可以用Timeshift還原系統的。那麼先做個LiveUSB備用吧。\n準備隨身碟，安裝Ventoy\n將Ubuntu LTS的ISO放到隨身碟\n在開機進入Ubuntu系統後，連上網路，安裝Timeshift套件。\nsudo apt install timeshift 開啟Ubuntu的檔案管理器，掛載裝有備份檔的硬碟，再開啟Timeshift還原。 ","date":"2023年4月5日","externalUrl":null,"permalink":"/posts/linux-timeshift-usage/","section":"所有文章","summary":"如果要在Linux系統備份檔案，我們知道有rclone、dd指令能作到。不過那需要開終端機打指令，並且比較適合用在伺服器管理。\n換作是Linux桌面用戶，有沒有直觀一點的圖形化備份工具呢？最好是有GUI能一鍵備份整個系統，出問題可以一鍵還原的那種？很好，「Timeshift」就是你的選擇。\n顧名思義，Timeshift提供時光機一樣的時光倒流功能，方便用戶備份整個Linux系統到另外一個硬碟，並在系統出錯的時候一鍵還原到之前的樣子。\n甚至電腦無法開機的情況下，你也可以在LiveUSB跑Timeshift，從備份還原系統。\nTimeshift界面直觀易用，可以設定自動排程備份，備份檔會壓縮以節省硬碟空間。\n這篇文章以簡單的使用例子，解說如何使用Timeshift備份與還原Linux系統。我會先製作一個系統備份，接著在桌面新增檔案，然後還原系統備份，讓新增的檔案消失。\n1. 安裝Timeshift # Timeshift最早為Tony George開發，現由Linux Mint開發團隊維護，並內建於Linux Mint系統。原始碼可於Github取得。\n其他Linux發行版也有收Timeshift套件。\n","title":"Timeshift：Linux圖形化備份軟體，備份與還原系統超簡單","type":"posts"},{"content":"針對想從Google Chrome轉換到Mozilla Firefox的用戶，最煩惱的便是如何轉換書籤和密碼了吧，可能對一個人來說，這些是重要的資產難以轉移。所幸這是可以一鍵匯入的，反之亦然。\n轉移書籤密碼沒有什麼可怕的！Google Chrome儲存的書籤密碼會同步到Google帳戶，換到Mozilla Firefox的話則是與Mozilla的帳號同步，照樣可以在多個裝置間存取。\nAndroid系統還可以用Firefox取代Google自動填入密碼。\n建議在電腦進行操作，Linux/Windows/macOS都可以。\n1. Firefox匯入Chrome書籤 # 開啟Chrome的書籤管理員頁面：chrome://bookmarks/， 點選匯出書籤 之後會得到一個HTML檔案。 開啟Firefox，點選右上角三條線→ 書籤 → 管理書籤，點選從HTML匯入書籤 書籤成功匯入。由於Chrome跟Firefox的書籤結構不太一樣，「書籤列」會跑到「書籤選單」，此時只要將書籤列的資料夾拉到「書籤工具列」即可。 2. Firefox匯入Chrome密碼 # 開啟Chrome的密碼管理員頁面：chrome://settings/passwords，點選匯出密碼 之後會得到一個CSV檔案。此檔案裡面的密碼是明文保存的，匯入完成務必刪除。 Firefox預設沒有開啟從檔案匯入密碼的功能，需要開啟此頁面：about:config，搜尋signon.management.page.fileImport.enabled，點二下使其變成true。 重啟Firefox，開啟已存登入資訊頁面：about:logins，點選右上角即可從檔案匯入密碼。 Android手機支援用Firefox取代Google密碼自動填入：在Android系統設定 → 密碼與帳戶 → 自動填入，選取Firefox作為服務提供者。\n如果遇到Firefox手機版無法同步電腦版密碼的情況：開啟Firefox電腦版的同步頁面：about:preferences?entrypoint=fxa_app_menu#sync，取消勾選「登入資訊與密碼」，然後按下「立刻同步」。之後重新勾選「登入資訊與密碼」再同步試試。\n","date":"2023年4月4日","externalUrl":null,"permalink":"/posts/firefox-import-bookmarks-and-passwords-from-chrome/","section":"所有文章","summary":"針對想從Google Chrome轉換到Mozilla Firefox的用戶，最煩惱的便是如何轉換書籤和密碼了吧，可能對一個人來說，這些是重要的資產難以轉移。所幸這是可以一鍵匯入的，反之亦然。\n轉移書籤密碼沒有什麼可怕的！Google Chrome儲存的書籤密碼會同步到Google帳戶，換到Mozilla Firefox的話則是與Mozilla的帳號同步，照樣可以在多個裝置間存取。\nAndroid系統還可以用Firefox取代Google自動填入密碼。\n建議在電腦進行操作，Linux/Windows/macOS都可以。\n1. Firefox匯入Chrome書籤 # 開啟Chrome的書籤管理員頁面：chrome://bookmarks/， 點選匯出書籤 之後會得到一個HTML檔案。 開啟Firefox，點選右上角三條線→ 書籤 → 管理書籤，點選從HTML匯入書籤 書籤成功匯入。由於Chrome跟Firefox的書籤結構不太一樣，「書籤列」會跑到「書籤選單」，此時只要將書籤列的資料夾拉到「書籤工具列」即可。 2. Firefox匯入Chrome密碼 # 開啟Chrome的密碼管理員頁面：chrome://settings/passwords，點選匯出密碼 ","title":"Firefox如何匯入Chrome的密碼與書籤，轉移資料到新瀏覽器","type":"posts"},{"content":"🇺🇸 English version\n在你安裝了postmarketOS後，發現Phosh並不是很讓人滿意，想換個口味。這時沒有必要重刷rootfs，直接透過APK套件管理員安裝其他桌面的套件，並啟用/停用相關服務就好啦！\n手機Linux系統預設多採用Wayland，像PinePhone和Librem支援度就很好。若是前Android裝置，務必確認該裝置是否支援GPU硬體加速，才可以使用Wayland的桌面環境，否則請安裝X11的桌面環境。\nMobian和Arch Linux ARM同樣支援多桌面環境，只是他們的系統管理指令是Systemd，而非OpenRC。\n1. 安裝顯示管理器 (Display Manager) # Phosh預設的顯示管理器，也就是開機看到的登入畫面，應由一個Display Manager負責。postmarketOS是使用tinydm，其他發行版則是直接使用一個名為phosh的Systemd service負責。\nTinyDM可以用指令tinydm-set-session -f -s /usr/share/wayland-sessions/桌面工作階段.desktop修改要啟動的桌面工作階段，不過沒辦法用圖形界面選。\n我們要將它換成可以給你選要啟動的桌面環境的顯示管理器：GDM或LightDM。\n安裝GDM： sudo apk add gdm #或是LightDM sudo apk add lightdm lightdm-gtk-greeter 停用Phosh和TinyDM開機自動啟動 sudo rc-update del phosh sudo rc-update del tinydm 設定GDM開機自動啟動 sudo rc-update add gdm 重開機後就會首先進入GDM的界面。打密碼登入時，點右下角齒輪，選擇要啟動的桌面環境。 2. 安裝與切換桌面環境 # 除了給手機用的界面外，postmarketOS和Alpine Linux還提供許多主流的Linux桌面套件。\npostmarketOS的儲存庫可能還有以postmarketos-ui-*開頭的額外套件，是針對個別桌面環境的設定檔，看需求安裝。\n2.1. GNOME (X11, Wayland) # GNOME桌面的設計十分適合平板裝置使用，還有內建觸控鍵盤。手機勉強可以，但圖示太小了。\n安裝gnome-desktop套件：\nsudo apk add gnome-desktop # 如果你想把Phosh裝回來 sudo apk add phosh 2.2. GNOME Shell Mobile (Wayland) # 不是Phosh那種patch過的版本，而是真正的手機版GNOME，\n然而此桌面處於非常早期的開發階段，只有Edge分支能裝，不建議單獨裝套件，請參照postmarketOS wiki。\n2.3. KDE Plasma Mobile (X11, Wayland) # KDE Plasma桌面的手機版，程式碼有80%跟桌面版相同。\n個人感覺很容易崩潰。\n安裝plasma-mobile套件：\nsudo apk add plasma-mobile 2.4. KDE Plasma (X11, Wayland) # 原始版KDE Plasma，適合平板電腦用，最近Wayland工作階段新增了一些手勢支援。\n安裝KDE Plasma並啟用相關服務：\nsudo apk add plasma elogind polkit-elogind sudo rc-update add dbus sudo rc-update add elogind sudo rc-update add polkit sudo setup-devd udev 2.5. XFCE (X11) # XFCE，不支援硬體加速的裝置的最佳選擇，到現在還是不支援Wayland。類似的輕量桌面環境還有LXQT、Cinnamon、Mate。\n安裝XFCE和onboard螢幕鍵盤：\nsudo apk add xfce4 xfce4-terminal xfce4-screensaver dbus onboard 你可以在Settings Manager → Appearance → Fonts調整字體的DPI大小。\n參考資料 # Configure postmarketOS for multiple UIs or users - PostmarketOS Wiki Category:Interface - PostmarketOS Wiki desktop environments - Mobian Wiki Desktop environments and Window managers - Alpine Linux ","date":"2023年4月3日","externalUrl":null,"permalink":"/posts/postmarketos-multiple-des/","section":"所有文章","summary":"🇺🇸 English version\n在你安裝了postmarketOS後，發現Phosh並不是很讓人滿意，想換個口味。這時沒有必要重刷rootfs，直接透過APK套件管理員安裝其他桌面的套件，並啟用/停用相關服務就好啦！\n手機Linux系統預設多採用Wayland，像PinePhone和Librem支援度就很好。若是前Android裝置，務必確認該裝置是否支援GPU硬體加速，才可以使用Wayland的桌面環境，否則請安裝X11的桌面環境。\nMobian和Arch Linux ARM同樣支援多桌面環境，只是他們的系統管理指令是Systemd，而非OpenRC。\n1. 安裝顯示管理器 (Display Manager) # Phosh預設的顯示管理器，也就是開機看到的登入畫面，應由一個Display Manager負責。postmarketOS是使用tinydm，其他發行版則是直接使用一個名為phosh的Systemd service負責。\nTinyDM可以用指令tinydm-set-session -f -s /usr/share/wayland-sessions/桌面工作階段.desktop修改要啟動的桌面工作階段，不過沒辦法用圖形界面選。\n我們要將它換成可以給你選要啟動的桌面環境的顯示管理器：GDM或LightDM。\n安裝GDM： sudo apk add gdm #或是LightDM sudo apk add lightdm lightdm-gtk-greeter 停用Phosh和TinyDM開機自動啟動 sudo rc-update del phosh sudo rc-update del tinydm 設定GDM開機自動啟動 sudo rc-update add gdm 重開機後就會首先進入GDM的界面。打密碼登入時，點右下角齒輪，選擇要啟動的桌面環境。 ","title":"postmarketOS安裝多重桌面環境：GNOME、KDE、XFCE","type":"posts"},{"content":"Mobian是什麼？它是基於Debian所開發的手機Linux系統，基於Debian Testing分支開發，也就是Debian 12 Bookworm。\n原本Mobian只針對Pine64的裝置開發，後來又支援了幾款Android手機：一加OnePlus 6T、小米Pocophone F1、小米Mix 2S、Fairphone 4 、SHIFT 6mq。我想這跟postmarketOS的發展有關。\n我的手機是小米Poco F1，截至目前2023年4月，Mobian系統下大部分硬體功能正常，但是相機和OTG仍無法使用。\n上手影片操作\n1. 安裝過程 # 刷入Mobian會覆蓋掉Android系統，要還原成Android請使用MiFlash。\n先確認Pocophone F1已經解鎖bootloader。\n手機關機，同時按著開機鍵和音量下鍵進入fastboot。\n從Mobian Weekly builds下載s845處理器手機的刷機檔案(.tar.gz)，解壓縮，裡面含有開機用的boot.img和系統rootfs.img。在該目錄開啟終端機。\n用Fastboot刷入boot.img到boo分區和system分區，這支小米還有分天馬和EBBG所製造的螢幕，我的是天馬，所以選擇tianma的boot.img。\nfastboot flash boot mobian-sdm845-phosh-20230402.boot-beryllium-tianma.img fastboot flash system mobian-sdm845-phosh-20230402.boot-beryllium-tianma.img 再來刷入rootfs.img到userdata分區。 fastboot -S 100M flash userdata mobian-sdm845-phosh-20230402.rootfs.img 擦除dtbo fastboot erase dtbo 重開機。 fastboot reboot 2. Mobian的介面與操作技巧 # 預設帳號是mobian，密碼是1234。\n預設介面是Phosh(基於Gnome)，顯示協定是Wayland。\n操作邏輯為點一下螢幕底部進入多工。 點一下螢幕上方開啟狀態欄，橫向模式要手動點選切換。 雖然可以到設定將介面調成中文，不過大部分Linux手機APP都沒有翻譯，也沒有中文觸控鍵盤。 開啟終端機(King Cross)使用APT指令更新套件:\nsudo apt update sudo apt upgrade -y Mobian的軟體來源就是Debian boorkworm的倉庫，Gnome Software支援直接從儲存庫安裝套件。 安裝Flatpak後，軟體商店也可以從Flathub下載應用程式。\nsudo apt install flatpak sudo apt install gnome-software-plugin-flatpak flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 如果要找其他Linux手機專用的軟體，請參考Mobian、postmarketOS、Plasma Mobile的Wiki，裡面有很多軟體列表。\nMobian是Debian的分支版本，同樣有一些第三方儲存庫可以加，用於安裝Linux手機專用的工具程式，但也要小心它們會讓手機開不了機。\n3. 安裝Waydroid跑Android APP # Mobian是基於Debian Testing，使用此指令加入Waydroid上游的bookworm儲存庫安裝：\nsudo apt install curl ca-certificates -y curl https://repo.waydro.id | sudo bash -s bookworm sudo apt install waydroid -y sudo systemctl enable waydroid-container sudo systemctl start waydroid-container 接著參照Waydroid + postmarketOS使用教學\n4. 玩Steam遊戲 # 建立chroot環境，編譯Box86 + Wine執行Windows程式，詳細過程：Box86玩Steam遊戲\n但是Phosh的桌面環境不適合跑桌面APP，因為Phosh會把每個視窗都當作一個APP處理，最好另外安裝GNOME桌面環境。\n延伸閱讀 # Mobian官網 Mobian WIKI：裡面有常用APP列表。 Droidian: 基於Mobian，採用libhybris技術，試圖讓更多Android手機也可以跑Mobian。 ","date":"2023年4月3日","externalUrl":null,"permalink":"/posts/pocof1-mobian/","section":"所有文章","summary":"Mobian是什麼？它是基於Debian所開發的手機Linux系統，基於Debian Testing分支開發，也就是Debian 12 Bookworm。\n原本Mobian只針對Pine64的裝置開發，後來又支援了幾款Android手機：一加OnePlus 6T、小米Pocophone F1、小米Mix 2S、Fairphone 4 、SHIFT 6mq。我想這跟postmarketOS的發展有關。\n我的手機是小米Poco F1，截至目前2023年4月，Mobian系統下大部分硬體功能正常，但是相機和OTG仍無法使用。\n上手影片操作\n1. 安裝過程 # 刷入Mobian會覆蓋掉Android系統，要還原成Android請使用MiFlash。\n先確認Pocophone F1已經解鎖bootloader。\n手機關機，同時按著開機鍵和音量下鍵進入fastboot。\n從Mobian Weekly builds下載s845處理器手機的刷機檔案(.tar.gz)，解壓縮，裡面含有開機用的boot.img和系統rootfs.img。在該目錄開啟終端機。\n用Fastboot刷入boot.img到boo分區和system分區，這支小米還有分天馬和EBBG所製造的螢幕，我的是天馬，所以選擇tianma的boot.img。\n","title":"手機版的Debian，小米Pocophone F1安裝Mobian","type":"posts"},{"content":"ZeroTier作為開源軟體，怎麼可能不支援Linux系統呢。不錯，我在這篇嘗試過許多Linux發行版安裝ZeroTier，連Alpine和Gentoo都能裝上了，還有什麼發行版不行的？\nopenSUSE Tumbleweed，這個就真的沒有受ZeroTier支援，不幸。我看網路上有人的作法是拿RHEL 9的RPM來裝，但是我不想額外加套件庫，更何況這是用其他發行版的RPM來用，我不是很喜歡這種作法。\n於是就找到了zyclonite開發的zerotier-docker專案，用Docker跑ZeroTier，用起來跟原生套件沒兩樣，照樣能夠讓裝置加入ZeroTier，進行內網穿透。\n作者說他是在Fedora Silverblue (以前叫CoreOS) 測試的，因為immutable系統的設計才用Docker跑ZeroTier服務，容器裡的ZeroTier其實是跑在Alpine的映像檔上，此容器支援x86與ARM架構。\n我覺得這是很有趣的構想，正好解決了特定Linux發行版沒人打包ZeroTier的問題。Docker在各大Linux的支援度可要比ZeroTier廣多了對吧？用Docker來跑ZeroTier服務也不是壞點子。\n1. 安裝 # 首先在Linux系統安裝Docker，並設定開機自動啟動服務。 sudo systemctl enable docker 用以下指令跑ZeroTier容器。使用-d引數使其在背景執行，再用--restart引數使容器之後開機自動啟動。 sudo docker run -d \\ --restart unless-stopped \\ --name zerotier-one --device=/dev/net/tun \\ --net=host \\ --cap-add=NET_ADMIN \\ --cap-add=SYS_ADMIN \\ -v /var/lib/zerotier-one:/var/lib/zerotier-one \\ zyclonite/zerotier 2. 使用 # 於/var/lib/zerotier-one/networks.d目錄新增\u0026lt;ZeroTier Network ID\u0026gt;.conf的空白檔案，例如你的Network ID是5e3103qfrp2： sudo mkdir /var/lib/zerotier-one/networks.d sudo touch /var/lib/zerotier-one/networks.d/5e3103qfrp2.conf 或者可以在容器執行時，用以下指令加入ZerotTier網路。但除非你的裝置是不關機的，否則用上面的方法加入ZeroTier網路會比較好。 sudo docker exec zerotier-one zerotier-cli join 5e3103qfrp2 這樣就完成加入網路。之後再到ZeroTier的網頁後台同意裝置加入即可。 這裡仍要注意Docker繞過UFW防火牆規則的問題，如果在意這點請使用ufw-docker。\n另外zyclonite還開發了路由模式的ZeroTier容器，可以到他的Github頁面查看。\n","date":"2023年4月1日","externalUrl":null,"permalink":"/posts/zerotier-in-docker/","section":"所有文章","summary":"ZeroTier作為開源軟體，怎麼可能不支援Linux系統呢。不錯，我在這篇嘗試過許多Linux發行版安裝ZeroTier，連Alpine和Gentoo都能裝上了，還有什麼發行版不行的？\nopenSUSE Tumbleweed，這個就真的沒有受ZeroTier支援，不幸。我看網路上有人的作法是拿RHEL 9的RPM來裝，但是我不想額外加套件庫，更何況這是用其他發行版的RPM來用，我不是很喜歡這種作法。\n於是就找到了zyclonite開發的zerotier-docker專案，用Docker跑ZeroTier，用起來跟原生套件沒兩樣，照樣能夠讓裝置加入ZeroTier，進行內網穿透。\n作者說他是在Fedora Silverblue (以前叫CoreOS) 測試的，因為immutable系統的設計才用Docker跑ZeroTier服務，容器裡的ZeroTier其實是跑在Alpine的映像檔上，此容器支援x86與ARM架構。\n我覺得這是很有趣的構想，正好解決了特定Linux發行版沒人打包ZeroTier的問題。Docker在各大Linux的支援度可要比ZeroTier廣多了對吧？用Docker來跑ZeroTier服務也不是壞點子。\n1. 安裝 # 首先在Linux系統安裝Docker，並設定開機自動啟動服務。 sudo systemctl enable docker 用以下指令跑ZeroTier容器。使用-d引數使其在背景執行，再用--restart引數使容器之後開機自動啟動。 sudo docker run -d \\ --restart unless-stopped \\ --name zerotier-one --device=/dev/net/tun \\ --net=host \\ --cap-add=NET_ADMIN \\ --cap-add=SYS_ADMIN \\ -v /var/lib/zerotier-one:/var/lib/zerotier-one \\ zyclonite/zerotier 2. 使用 # 於/var/lib/zerotier-one/networks.d目錄新增\u003cZeroTier Network ID\u003e.conf的空白檔案，例如你的Network ID是5e3103qfrp2： sudo mkdir /var/lib/zerotier-one/networks.d sudo touch /var/lib/zerotier-one/networks.d/5e3103qfrp2.conf 或者可以在容器執行時，用以下指令加入ZerotTier網路。但除非你的裝置是不關機的，否則用上面的方法加入ZeroTier網路會比較好。 sudo docker exec zerotier-one zerotier-cli join 5e3103qfrp2 這樣就完成加入網路。之後再到ZeroTier的網頁後台同意裝置加入即可。 這裡仍要注意Docker繞過UFW防火牆規則的問題，如果在意這點請使用ufw-docker。\n","title":"Linux系統用Docker跑ZeroTier One，進行內網穿透","type":"posts"},{"content":"ZeroTier是提供免費虛擬區域網路的公司，軟體開源且可自架，支援各大作業系統。\nZeroTier尤其適合想從外面網路連到家裡電腦/NAS的用戶。只要建立一個ZeroTier網路，其他裝置用ZeroTier客戶端連線至該網路，則等同連線到同樣的虛擬區域網路。用途有：存取家中的伺服器、進行多人遊戲、遠端桌面等等。\n原理類似VPN，有術語將其稱為「內網穿透」。不過使用者不需費心設定路由器的通訊埠轉發，只要確認防火牆的通訊埠能讓ZeroTier通過即可。\nZeroTier基本方案免費且不限速，僅有限制最多50個裝置連線，個人使用足夠了，還能控管加入連線的用戶提昇安全性。\n下面簡介如何在Linux系統設定與安裝ZeroTier，有純文字指令版與圖形化版本，其他作業系統的設定方法請看這篇。\n1. Linux安裝ZeroTier # 根據官方文件\nDebian, Ubuntu, CentOS, RHEL, Fedora使用以下指令安裝ZeroTier，安裝指令稿會自動識別發行版。\ncurl -s https://install.zerotier.com | sudo bash Arch Linux和Manjaro則從官方套件庫安裝：\nsudo pacman -S zerotier-one Alpine Linux從官方儲存庫安裝：\nsudo apk add zerotier-one Gentoo從官方儲存庫安裝：\nsudo emerge --ask net-misc/zerotier openSUSE似乎被ZeroTier遺忘了\u0026hellip;雖然技術上說openSUSE可以拿RHEL的rpm來用。\n如果你的Linux發行版沒人打包ZeroTier，可以考慮用Docker跑ZeroTier，Snap版的ZeroTier我試了跑不起來。\n2. 管理ZeroTier後台 # 到ZeroTier官方網站註冊帳號。\n登入ZeroTier後台，點選Create A NetWork\n點進去新建的Network，裡面會顯示一組英數代碼Network ID，這就是你的網路的代碼，將這個代碼提供給其他裝置加入。 裝置連線後，會在ZeroTier後台看到裝置，要在左邊的格子打勾，該裝置才會允許加入。 ZeroTier會給每個裝置分配虛擬區域IP，例如從上圖可以得知電腦的區域IP是172.30.221.253。除非刪除裝置，否則這個虛擬區域IP是固定的。\n3. 加入ZeroTier網路 # 加入ZeroTier網路前，建議開啟9993/udp通訊埠以讓ZeroTier連線更流暢。以UFW來說的話就是： sudo ufw allow 9993/udp sudo ufw reload 啟動ZeroTier服務，設定開機自動啟動 sudo systemctl start zerotier-one sudo systemctl enable zerotier-one 如果您的電腦使用Wifi連線，致使要登入桌面才會連上網路的話，則必須啟用systemd-networkd-wait-online服務，讓ZeroTier在有網路之後才嘗試連線 ( 參考 ) sudo systemctl enable systemd-networkd-wait-online 加入ZeroTier網路 sudo zerotier-cli join \u0026#34;Network ID\u0026#34; #應會回傳200 join OK 確認ZeroTier網路狀態 sudo zerotier-cli status 確認ZeroTier有無P2P成功，如果有的話Peers上面會顯示LEAF，這樣網路會順暢些。 sudo zerotier-cli peers 離開ZeroTier網路 sudo zerotier-cli leave \u0026#34;Network ID\u0026#34; #應會回傳200 leave OK 4. 圖形化管理界面 Zerotier GUI # 第三方開發的ZeroTier管理程式，安裝後可以用圖形界面管理ZeroTier連線。\n啟動需要sudo，只支援Arch系和Debian的發行版。\nArch Linux從AUR安裝：\nyay -S zerotier-gui-git Debian/Ubuntu手動製作Deb檔：\ngit clone https://github.com/tralph3/ZeroTier-GUI.git cd ZeroTier-GUI ./make_deb.sh chmod +x make_deb.sh ","date":"2023年3月31日","externalUrl":null,"permalink":"/posts/install-zerotier-on-linux/","section":"所有文章","summary":"ZeroTier是提供免費虛擬區域網路的公司，軟體開源且可自架，支援各大作業系統。\nZeroTier尤其適合想從外面網路連到家裡電腦/NAS的用戶。只要建立一個ZeroTier網路，其他裝置用ZeroTier客戶端連線至該網路，則等同連線到同樣的虛擬區域網路。用途有：存取家中的伺服器、進行多人遊戲、遠端桌面等等。\n原理類似VPN，有術語將其稱為「內網穿透」。不過使用者不需費心設定路由器的通訊埠轉發，只要確認防火牆的通訊埠能讓ZeroTier通過即可。\nZeroTier基本方案免費且不限速，僅有限制最多50個裝置連線，個人使用足夠了，還能控管加入連線的用戶提昇安全性。\n下面簡介如何在Linux系統設定與安裝ZeroTier，有純文字指令版與圖形化版本，其他作業系統的設定方法請看這篇。\n1. Linux安裝ZeroTier # 根據官方文件\nDebian, Ubuntu, CentOS, RHEL, Fedora使用以下指令安裝ZeroTier，安裝指令稿會自動識別發行版。\ncurl -s https://install.zerotier.com | sudo bash Arch Linux和Manjaro則從官方套件庫安裝：\nsudo pacman -S zerotier-one Alpine Linux從官方儲存庫安裝：\nsudo apk add zerotier-one Gentoo從官方儲存庫安裝：\nsudo emerge --ask net-misc/zerotier openSUSE似乎被ZeroTier遺忘了…雖然技術上說openSUSE可以拿RHEL的rpm來用。\n","title":"Linux如何安裝 \u0026 使用ZeroTier建立虛擬區網","type":"posts"},{"content":" 斗內 (donate) 就好了。\nE-hentai乍看之下只是一個同人誌的網站，但其實有裏站Ex-hentai可以進入，所有含有敏感關鍵字，例如含有loli tag的超危險的本子都得在那邊才能看到。但是，Ex-hentai會透過cookie檢查等方式，導致使用者難以正常瀏覽。\nAPP還好說，網頁是有點麻煩。我在E-hentai網站使用介紹一文講過了正確進入Ex-hentai的方法，但對新註冊的用戶來說可能不是很方便。\n另外E-hentai站方也不是很喜歡提及Ex-hentai的存在。有沒有辦法不進入Ex-hentai就能看到那邊的內容呢？\n要在E-hentai頁面直接看Ex-hentai內容的答案就是：捐款。\n流程： 買比特幣 → 轉帳到E-hentai自己帳戶的比特幣錢包 → 捐款給站方\n1. 捐款的好處？ # E-hentai的等級制度透過參與社區和捐款決定，最低捐等值20美金的加密貨幣就能升級到銅星。 第一個好處當然就是解禁關鍵字。例如預設情況loli關鍵字的搜尋結果，空空如也： 捐款登入後，全解放： 此外還會每日贈送下載漫畫用的GP、增加下載原始畫質同人誌壓縮檔的額度（改成以帳號來限制額度，而非IP）、允許建立私人畫廊等等。\n一般用戶買到銅星就夠了，後面的會員等級幾乎是贊助性質。\n各個等級的完整福利詳見Donation - EHWiki\n2. 如何購買比特幣 # E-henta站方只接受加密貨幣，也就是比特幣或Bitcoin Cash付款。\n比特弊是一種加密貨幣，E-hentai目前只支援比特幣、Bitcoin Cash付款。\n這類貨幣匯率浮動很高，可以等低點再買入。\n如果台灣要買的話，可以到BitoEX平台註冊購買。\n絕對沒有業配，僅是因為BitoEX比較正規的交易所我才推薦。若嫌BitoEX的匯率不好看，想用其他家買也是可以，但要選擇較多人用且有在台註冊的公司，免得被詐騙。\nBitoEX是台灣公司，因此要驗證真實身分才能交易。\n接著，以超商代收方式買等同20美金的比特幣\u0026hellip;理論上是這樣，但考慮到手續費應該要準備買二倍的價錢（礦工成本緣故，例如600台幣大約要400手續費，約要一小時才會轉帳完成）。\n購買比特幣後會存在BitoEX的錢包，接著要轉帳到E-hentai帳號的錢包。\n3. 如何付款給E-hentai站方 # 登入E-hentai帳號後上方按My Home，點選\u0026quot;Donations\u0026quot;。\n在這個頁面會看到一個二維碼，上面會有一排地址，也就是Your Bitcoin (BTC) Donation Wallet Address:後面寫的那一長串。 用BitoEX轉帳，我的錢包 → 發送虛擬通貨，轉帳給自己的E-hentai比特幣錢包地址。\n轉帳後，約一小時等E-hentai頁面旁邊交易紀錄的收款狀態變成Accepted就代表成功。 頁面往下滑，點選Apply BTC as Donation，輸入捐款金額。等一個小時回到此頁面，滑到最下面就會看到你的會員等級變成銅星了。 ","date":"2023年3月31日","externalUrl":null,"permalink":"/posts/e-hentai-donation/","section":"Nsfws","summary":" 斗內 (donate) 就好了。\nE-hentai乍看之下只是一個同人誌的網站，但其實有裏站Ex-hentai可以進入，所有含有敏感關鍵字，例如含有loli tag的超危險的本子都得在那邊才能看到。但是，Ex-hentai會透過cookie檢查等方式，導致使用者難以正常瀏覽。\nAPP還好說，網頁是有點麻煩。我在E-hentai網站使用介紹一文講過了正確進入Ex-hentai的方法，但對新註冊的用戶來說可能不是很方便。\n另外E-hentai站方也不是很喜歡提及Ex-hentai的存在。有沒有辦法不進入Ex-hentai就能看到那邊的內容呢？\n要在E-hentai頁面直接看Ex-hentai內容的答案就是：捐款。\n流程： 買比特幣 → 轉帳到E-hentai自己帳戶的比特幣錢包 → 捐款給站方\n","title":"E-hentai如何觀看隱藏的同人誌內容？捐獻指南大公開","type":"nsfw"},{"content":"反动派是世界上最害怕言论自由的一个集团。他们害怕人民翻身，害怕人民认识大时代的真面貌，更害怕他们自己的丑恶暴露在人民大众面前。所以他们用种种卑劣无耻的手段，蒙蔽人民的眼睛，塞闭人民的耳朵，封锁人民的嘴巴，不让民间报纸存在，不让正直的新闻工作者自由。\n你猜上面那句話是誰說的？毛澤東，出自1946年人民日報批評中華民國政府。\n中華人民共和國真是個諷刺的國家，跟賴在台灣的中華民國政府一樣無恥。\n2021年，經營反共博客「编程随想的博客」(https://program-think.blogspot.com/)十餘載的博主「阮曉寰」被中共警方逮捕了，2023年才傳出確切消息。因為他是啟蒙我資安意識的導師之一，我便有撰此文的念頭，紀念他的貢獻。 劉曉波曾在2008年寫下：「我期待，我將是中國綿綿不絕的文字獄的最後一個受害者，從此之後不再有人因言獲罪。」\n看來中國的言論自由情況在習近平上台後，沒有改善只有惡化。獨裁更甚以往，防民之口甚於防川。\n我以前強調：反共不反中，到頭一場空。在這篇文章我稍微修正一下：作為自由世界的公民，你可以不反中，但一定要反共。雷根總統說，共產主義是一種精神病。我認為，把獨裁、中國文化糟粕跟共產主義綁定，已經偏離真正共產主義的中國共產黨政府，還自稱是特色社會主義，這是妥妥的縫合怪。既然獨裁的中共自稱是共產主義，那麼我們講反共並無任何錯誤。在這裡，我們反的是獨裁統治的中國共產黨政府，而非共產主義和中國人本身。當然，給共匪為虎作倀的中國人也是要反對的對象。\n編程隨想的貢獻 # 博客文章強調反共也要保護資安 # 編程隨想(阮曉寰)自大學時迷上計算機技術，曾擔任北京2008奧運的網路安全工程師，其後便一直住在中國。做的事情主要是網路上反共，每週發表時事評論。 圖片來自維權網\n第一個貢獻，是編程隨想的博客文章。編程隨想從2009年開始寫博客，博客目的是讓讀者「提升思维能力」、「普及政治常识」、「扫盲翻墙姿势」、「揭露党国嘴脸」、「网络安全教程」、「软件开发技术」。\n他曾多次發表討論如何繞過中國網路審查的技術文章，包含VPN、Tor、雙重虛擬機的使用方法，也推薦大家使用Linux系統，強調反共人士要做好資安保護措施。 考慮到Blogspot在中國被牆，他亦準備了一些鏡像網站，還有打包博客給人下載離線閱讀。\n反共時候需避免亮出個人真實訊息，這點品蔥和Reddit沖浪TV的反賊也會互相提醒，Reddit的神友板塊最近還主動屏蔽了牆內的主流網站連結，防止中共網站竊取隱私，可以說編程隨想的文章發揮了一定啟迪作用。 正當一般人把Tor當色情寶庫使用的時候(正如你國許多小粉紅翻牆只為看Twitter成人內容)，仍有人試圖透過Tor發聲，Tor的存在確實也給予了政治異議人士保護自己的管道。儘管Tor上面FBI的蜜罐很多，但是言論自由在正常國家並不是犯法的東西。\n講資安部分的博客在中文世界很少看到，討論實務反政府活動的更是難為可貴。Google搜尋相關保護網上隱私的字眼便容易找到編程隨想的博客！每次我閱後常常受益良多。即使我們生活在民主國家，也不能忘了防範政府哪天對人民隱私的侵犯，就像美國政府稜鏡計畫監聽人民的那樣。自由，是如此脆弱，因此我們更要懂得如何做好保護。\n為防遭遇不測（現在真被拉清單了，可憐哪，2020年還寫過「为啥朝廷总抓不到俺」），編程隨想還提及過他物理銷毀密鑰的方法，連他自己都不知道博客的密碼。 現在果真如他所預料到的，中共警方在編程隨想的住處搜索一無所獲，因而讓他的網上著作可以保存下來。不然的話他的文章可能會跟四通橋義士「彭載舟」的Twitter一樣被清空。\n揭露中共貪腐的體制 # 另一個貢獻是，編程隨想在Github建立了名為\u0026quot;zhao\u0026quot;的儲存庫，記載中國權貴家族（趙家人）的完整名單：「太子黨關係網路」並以電子書格式提供，揭露中國舉國上下貪腐的樣貌，堪比巴拿馬文件。 台灣是不是也應該有勇士搞一個國民黨和EE園區的儲存庫啊？不對，查下去會動搖國本，變成消波塊。\n作為偷國的中共(被美國制裁後更為明顯）現在仍不敢全面牆掉Github，只能施加DNS污染這些小手段阻礙連線。另外，Github公司會將政府要求下架的資訊全部公開，從這邊也可以目睹各國政府的醜惡姿態。\nzhao這個儲存庫一直是牆內程式員攻訐的對象之一，但也有不少支持者協助更新趙家人權貴資料。zhao這個儲存庫已經建立超過十年，可以說是比Notepad++作者的反共宣言更加讓共匪忌憚的儲存庫之一。\n這裡插入一句，Github上有不少歲靜、小粉紅分享翻牆工具，卻表示我們用這些工具要低調，不是要拿來反黨反共的。如果翻牆僥倖沒被國安抓到就算了，竟有人說出這種太監言論。關於這種支離滅裂，翻牆還不知道是什麼導致要翻牆才能正常上網的發言，編程隨想十年前就有很好的註解：天朝民众的心理分析：斯德哥尔摩综合症\n某些天朝屁民一方面饱受迫害，另一方面却极力拥护朝廷的统治\n完美解釋你國現今網民的心理，不知道房間的大象在哪邊，只會怪資本。\n儘管我們很多人，包含翻牆窮蛆、神友、賽博屠支大佐、蝙蝠人、民小、台灣人、香港人也只能在網路上打嘴砲反共，我們還是應該繼續支持中國牆內的反共人士發聲。線下反共這點法輪功就做得不錯，不過我不喜歡宗教。\n但願2022年四通橋抗議、白紙革命是一個開始，能讓越來越多人能從單純維護自己權益，進階認知到真正該打倒的對象是誰，而不是在維權的時候還唱著共匪國歌的這種下賤姿態。畢竟中共是連憲法都能無視的國家，韭菜的權益不自己爭取，還寄望趙家人給你開恩？\n經典回顧：劉少奇拿著憲法被批鬥 科普人文理念 # 除了講技術性的東西外，編程隨想還整理許多社科人文的書單供博客讀者參閱，偶爾也會科普一些理論。 從這些材料裡面可學習到西方民主的思想，跳脫共匪的洗腦宣傳，這些是中國的反共人士想要大腦升級必讀的絕佳書籍。\n比起習近平整天吹噓「我青年時代就讀過\u0026hellip;」編程隨想的普及人文知識的作法才是更值得我們學習仿效的典範，海外做自媒體的反賊要能持續提高知識水準，才不會變成反向小粉紅。\n自由民主不是毒藥，請看多倫多方臉的影片：方脸说：中国民主化就要乱了？就要崩溃了？就是正中美国的下怀？中了美国的奸计？纯粹的无稽之谈！\n我這裡並不是說全盤西化才是進步，只不過是東亞窪地的東西縫合共匪後變得過於惡臭了，恐怕殖民300年都不夠淨化支性。\n從以上幾點可以得知，編程隨想單打獨鬥，狂了12年才被抓到。而且沒有選擇落跑出國，安全反共，而是待在地獄，共情眾生，並嘗試喚醒一部分中國人。我覺得這可能就是愛之深責之切吧，這點真的很不容易。\n他博客的理想很大卻無付諸行動，光是網路上打嘴砲就能被判刑7年，足見中共政權之荒謬。除了他的電腦能力很強以外，還有他膽敢待在中國本土大力反共的這個事實，是極強的硬漢，令人敬佩。\n編程隨想被捕經過 # 根據CNN報導，2021年撰寫反共博客長達10餘年的「編程隨想」真名「阮曉寰」的政治異議人士被中國警方逮捕。\n後續的資料在維基百科都有記載：阮曉寰\n根據網友推測，編程隨想懂得隱藏網路形跡，不太可能是被IP追蹤到，而是被社會工程學所逮到。按照編程隨想過去的職業逐漸縮小範圍，因而被警方鎖定。\n根據編程隨想妻子貝小姐所說，事發前她都不知道編程隨想的身份。後來從鄰居得知，共匪警方早在幾個月前跑便到其住處暗中監視準備收網，後於2021年5月正式逮捕編程隨想。\n2023年，編程隨想被以煽動顛覆國家政權罪，判刑7年。\n2023年貝小姐拒絕簽署法院要求的保密協議，向外國媒體透露編程隨想被逮捕的經過，因為煽動顛覆國家罪被判7年有期徒刑。\n儘管聘請了律師，編程隨想案件還在二審中，但按照共匪的尿性，律師八成會被一一消失。\n做最悲觀預估：編程隨想小機率跟劉曉波一樣慘死獄中。就算最後能僥倖活著出獄，也是要繼續生活在地獄一般的中國，並受到嚴密的監視，對他來說應該是很痛苦的。\n總結 # 編程隨想用生命換來給後人的啟示，是共匪怎樣也無法抹除的。\n彭載舟的Twitter在他被逮捕之後，利用排程推文的方式發出最後一條推文，內容是引用中華民國國父孫文的話：\n余致力國民革命，凡四十年，其目的在求中國之自由平等。積四十年之經驗，深知欲達到此目的，必須喚起民眾及聯合世界上以平等待我之民族，共同奮鬥。\n自由民主的中國革命事業未成，但願有志之士能持續努力，推翻中國共產黨政府。\n編程隨想沒能來得及留下遺言，但他的精神可以協助我們持續往正確的未來前進。\n參考資料 # 从阮晓寰到“编程随想”：一个普通公民和“极客”如何成了“国家的敌人”？ - NGOCN An influential Chinese blogger disappeared from the internet. This woman says she knows why - CNN 中國部落客「編程隨想」判刑7年 曾教網友翻牆、被奉為政治啟蒙 - 中央社 专栏 | 网络博弈：专访编程随想博主阮晓寰妻子：希望二审司法公正 - 自由亚洲电台 怎么看净协在线今日发布的《“编程随想”被捕：IHIS 为期 5 个月的地下工作正式告终》？ - 品葱 還有一些在品蔥、Reddit r/real_China_irl等地的中國反賊所提供的資料。\n","date":"2023年3月30日","externalUrl":null,"permalink":"/posts/memorize-programthink/","section":"Politics","summary":"反动派是世界上最害怕言论自由的一个集团。他们害怕人民翻身，害怕人民认识大时代的真面貌，更害怕他们自己的丑恶暴露在人民大众面前。所以他们用种种卑劣无耻的手段，蒙蔽人民的眼睛，塞闭人民的耳朵，封锁人民的嘴巴，不让民间报纸存在，不让正直的新闻工作者自由。\n你猜上面那句話是誰說的？毛澤東，出自1946年人民日報批評中華民國政府。\n中華人民共和國真是個諷刺的國家，跟賴在台灣的中華民國政府一樣無恥。\n2021年，經營反共博客「编程随想的博客」(https://program-think.blogspot.com/)十餘載的博主「阮曉寰」被中共警方逮捕了，2023年才傳出確切消息。因為他是啟蒙我資安意識的導師之一，我便有撰此文的念頭，紀念他的貢獻。 劉曉波曾在2008年寫下：「我期待，我將是中國綿綿不絕的文字獄的最後一個受害者，從此之後不再有人因言獲罪。」\n看來中國的言論自由情況在習近平上台後，沒有改善只有惡化。獨裁更甚以往，防民之口甚於防川。\n我以前強調：反共不反中，到頭一場空。在這篇文章我稍微修正一下：作為自由世界的公民，你可以不反中，但一定要反共。雷根總統說，共產主義是一種精神病。我認為，把獨裁、中國文化糟粕跟共產主義綁定，已經偏離真正共產主義的中國共產黨政府，還自稱是特色社會主義，這是妥妥的縫合怪。既然獨裁的中共自稱是共產主義，那麼我們講反共並無任何錯誤。在這裡，我們反的是獨裁統治的中國共產黨政府，而非共產主義和中國人本身。當然，給共匪為虎作倀的中國人也是要反對的對象。\n","title":"編程隨想被捕，紀念他的資安與反共精神","type":"politic"},{"content":"Github現在不能用HTTPS來clone自己的儲存庫(repository)了，也無法pull和push。\nGithub官方說要改用SSH連結clone，也就是在clone儲存庫的時候要點選右上角，使用Code裡面的SSH選項： 在那之前必須設定SSH金鑰才能clone自己的儲存庫。若在設定SSH金鑰前直接clone的話，會遇到以下錯誤:git@github.com: Permission denied (publickey)或是fatal: 無法讀取遠端版本庫。請確認您有正確的存取權限並且版本庫存在。\n因此每一台電腦clone自己的儲存庫前都要先產生SSH金鑰。\n參考官方文件：Adding a new SSH key to your GitHub account\nLinux系統的具體步驟如下：\n安裝OpenSSH和Git套件，例如Ubuntu為： sudo apt install openssh-client openssh-server git 設定全域本機聯絡資訊 git config --global user.name \u0026#34;名字\u0026#34; git config --global user.email \u0026#34;電郵\u0026#34; 於本機生成ED25519演算法的SSH金鑰，此金鑰是要跟Github配對用的，按Enter產生。Linux產生的SSH金鑰檔案位於~/.ssh/id_rsa.pub ssh-keygen -t ed25519 -C \u0026#34;電郵\u0026#34; -f ~/.ssh/id_ed25519 使用cat指令查看SSH金鑰內容，將其全部複製下來。 cat ~/.ssh/id_ed25519.pub 至Github點選右上角大頭貼 → Settings，再點選左邊的 SSH and GPG keys 點選綠色的New SSH key。 在Title欄位給此金鑰取個名字，再將SSH金鑰檔案的內容貼到Key的欄位，按下Add SSH Key。 設定好之後就能用SSH來clone儲存庫，push與pull也能正常使用了。\n","date":"2023年3月28日","externalUrl":null,"permalink":"/posts/add-a-new-ssh-key-to-github-account/","section":"所有文章","summary":"Github現在不能用HTTPS來clone自己的儲存庫(repository)了，也無法pull和push。\nGithub官方說要改用SSH連結clone，也就是在clone儲存庫的時候要點選右上角，使用Code裡面的SSH選項： 在那之前必須設定SSH金鑰才能clone自己的儲存庫。若在設定SSH金鑰前直接clone的話，會遇到以下錯誤:git@github.com: Permission denied (publickey)或是fatal: 無法讀取遠端版本庫。請確認您有正確的存取權限並且版本庫存在。\n因此每一台電腦clone自己的儲存庫前都要先產生SSH金鑰。\n參考官方文件：Adding a new SSH key to your GitHub account\nLinux系統的具體步驟如下：\n安裝OpenSSH和Git套件，例如Ubuntu為： sudo apt install openssh-client openssh-server git 設定全域本機聯絡資訊 git config --global user.name \"名字\" git config --global user.email \"電郵\" 於本機生成ED25519演算法的SSH金鑰，此金鑰是要跟Github配對用的，按Enter產生。Linux產生的SSH金鑰檔案位於~/.ssh/id_rsa.pub ssh-keygen -t ed25519 -C \"電郵\" -f ~/.ssh/id_ed25519 使用cat指令查看SSH金鑰內容，將其全部複製下來。 cat ~/.ssh/id_ed25519.pub 至Github點選右上角大頭貼 → Settings，再點選左邊的 SSH and GPG keys ","title":"Linux無法clone自己的Github repository的解決方法","type":"posts"},{"content":"繃不住了，我決定安裝Snap\u0026hellip;方便取得最新版Hugo。Snap在Linux社群常被一部分人批評的Ubuntu Snap套件管理系統，常常遭人吐槽還不如用Flatpak。\n但我還是裝了Snap。起因是二台電腦一邊使用Gentoo，一邊使用Arch Linux，兩邊Hugo版本不一致，我擔心以後生成部落格網頁會出問題，因此採用Snap來統一Hugo版本。\n首先，在你的系統安裝Snap Store。\n沒有圖形界面的靜態網頁產生器\u0026quot;Hugo\u0026quot;可以在Snap Store這裡下載。 在安裝軟體後才可以評分，而且評論要有一定字數。額\u0026hellip;不過Hugo的評分似乎不太好的說。 像Hugo這種沒有圖形界面的Snap軟體，要怎麼從終端機執行呢？請看下面的指令使用說明。\n更新全部的Snap軟體：\nsudo snap refresh 搜尋SnapCraft上的軟體：\nsnap search hugo 安裝Snap軟體：\nsnap install hugo 執行Snap軟體：\nsnap run hugo 可以看到執行Snap軟體需要多加snap run的指令，且會略有延遲。因此使用者要自行將Snap的軟體安裝路徑/snap/bin加到$PATH，或是手動建立軟連結，避免某個Snap軟體作為其他軟體的依賴卻顯示找不到的情況。\n就Hugo生成網頁的速度來看，原生版(左)與Snap版(右)的速度差距並不大。 ","date":"2023年3月27日","externalUrl":null,"permalink":"/posts/install-hugo-from-snap-store/","section":"所有文章","summary":"繃不住了，我決定安裝Snap…方便取得最新版Hugo。Snap在Linux社群常被一部分人批評的Ubuntu Snap套件管理系統，常常遭人吐槽還不如用Flatpak。\n但我還是裝了Snap。起因是二台電腦一邊使用Gentoo，一邊使用Arch Linux，兩邊Hugo版本不一致，我擔心以後生成部落格網頁會出問題，因此採用Snap來統一Hugo版本。\n首先，在你的系統安裝Snap Store。\n沒有圖形界面的靜態網頁產生器\"Hugo\"可以在Snap Store這裡下載。 在安裝軟體後才可以評分，而且評論要有一定字數。額…不過Hugo的評分似乎不太好的說。 像Hugo這種沒有圖形界面的Snap軟體，要怎麼從終端機執行呢？請看下面的指令使用說明。\n更新全部的Snap軟體：\nsudo snap refresh 搜尋SnapCraft上的軟體：\nsnap search hugo 安裝Snap軟體：\nsnap install hugo 執行Snap軟體：\nsnap run hugo 可以看到執行Snap軟體需要多加snap run的指令，且會略有延遲。因此使用者要自行將Snap的軟體安裝路徑/snap/bin加到$PATH，或是手動建立軟連結，避免某個Snap軟體作為其他軟體的依賴卻顯示找不到的情況。\n就Hugo生成網頁的速度來看，原生版(左)與Snap版(右)的速度差距並不大。 ","title":"從Snap Store安裝Hugo靜態網頁生成器","type":"posts"},{"content":"《艦隊Collection：總有一天在那片海》(「艦これ」いつかあの海で) 是一部從2022年11月播到2023年3月，共8集的日本動畫，下面簡稱《那片海》。 先來概括劇情，後面再講優缺點。\n義大利意識流導演費里尼曾說：\n「現實主義是一個壞字眼。我看不到虛構與真實之間的界限。」\n1. 《那片海》劇情簡介 # 《那片海》是繼2015年《艦隊Collection》和2016年《艦隊Collection 劇場版》，第三部有關《艦隊Collection》網頁遊戲的動畫。故事講述寄宿著二戰艦船靈魂的少女「艦娘」與深海棲艦戰鬥的故事。不同於前二部作品，《那片海》的劇情並無直接關聯，因此不能算是第二季。\n劇本為遊戲製作人田中謙介撰寫。沒錯，就是每次都把艦隊Collection網頁遊戲的活動搞得超級難，讓玩家恨得牙癢癢的遊戲製作人。 前二部作品主角是驅逐艦「吹雪」，在2015動畫版中，吹雪好友睦月的姊妹艦「如月」沉船死亡，後於劇場版被吹雪淨化救回。假設《艦隊Collection》是按照史實戰役的時間線走的話，那麼吹雪故事所在的時間點便是二戰初期，1943年以前日軍在東南亞作戰尚屬順利的時期。而到了《那片海》的時間點，主角變成了驅逐艦「時雨」，時間點來到了1944年，也就是日軍全面潰敗，美軍逐步進逼日本本土的時期。在這樣的壓力下，《那片海》演出了二場重要的作戰，都有時雨參與其中，對應史實日軍的最後掙扎，用於對抗深海棲艦(美軍)反攻日本，乃至1945年終戰到來。 不同於2015年《艦隊Collection》動畫的歡樂日常，《那片海》動畫伊始就是濃重的氣氛，前面花了4集講述蘇里高海峽夜戰的過程。1944年美軍即將進攻菲律賓，日軍殘存的航母艦隊只能拼盡全力與數量十倍之多的美軍艦隊作戰，因此爆發了雷伊泰灣海戰(レイテ沖海戦)。而時雨隸屬的即為1YB3H游擊部隊，由二艘航空戰艦：扶桑、山城、一艘航空巡洋艦：最上、四艘驅逐艦：山雲、朝雲、時雨、滿潮組成的艦隊，要在蘇里高海峽對抗五艘以上美軍戰艦組成的龐大艦隊，在歷史上屬於自殺部隊，到最後也是幾乎全滅了，僅有幸運值高的時雨倖存。 一部充滿悲壯感的動畫，還有兩艘很大的戰艦\n《艦隊Collection》網頁遊戲曾舉辦以此為主題的大型活動「捷号決戦！邀撃、レイテ沖海戦」，活動複雜到分為上下兩次舉行，歷時好幾個月。筆者有幸全程參加活動，拼死拼活拿到了兩個甲章，還有頗具紀念價值的「海峽章」。 在《那片海》動畫算是重現了網頁遊戲畫面無法表達的感覺。《那片海》作戰到最後成功扭轉局面，原本孤軍奮戰的西村艦隊得到了友軍艦隊支援，因而成功擊敗敵方艦隊。但是因為受傷過重，西村艦隊的其他成員都被迫退役，只剩最上和時雨。 第4集海峽夜棲姬的解決方式讓人看的很傻眼，竟然跳起來跑酷然後開砲\n時雨後來轉入第二水雷戰隊，遇到了同樣被稱為幸運艦的「雪風」。或許你會認為接下來4集是要繼續打另一場重要作戰，但是田中的情節安排令人不解，花了3集拍攝時雨和雪風在鎮守府的日常，穿插一些小作戰，以迎接最後大決戰的到來。在最後一集的決戰，鎮守府遭受深海棲艦猛烈空襲，而第二水雷戰隊則是要突入敵艦隊後方，消滅敵方航空母艦和補給船。\n最後一集基本上濃縮了前4集的模式，第二水雷戰隊(矢矧、涼月、冬月、磯風、浜風、時雨、雪風、潮、霞、響、初霜、朝霜)，夥同大和改二攻向敵方艦隊，眼看快要招架不住敵方的猛烈砲火，友軍又出現了：這次來的是歐美的艦娘：英國皇家海軍、美國太平洋艦隊，有了這些增援兵力後，時雨和雪風一同衝向敵方航母，將其擊沉。故事結束。 第8集作戰最後突然冒出來的外國友軍，看了更傻眼了\n2. 《那片海》優點 # 反映了田中眼裡那個時代 # 西村艦隊和第二水雷戰隊，可能都是想表達日本最後奮戰的精神。因為這不是真正的史實，所以改變未來是可以接受的。我們或許可以這樣認定場景：從片中時雨曾想起被擊沉的記憶來看，《艦隊Collection》的世界可能是一個類似於二戰日本，但是遇到深海棲艦入侵的平行世界，而這個世界需要靠艦娘來守護。改變未來，這個思想在《艦隊Collection》網頁版遊戲多少能體現。打倒邪惡的敵人是常見的劇情設計，而且艦隊Collection是結合日本海軍處於劣勢的悲壯感，達到改變未來的結果。\n片中可以看到製作組對過去的日本城市的考究，鎮守府的刻劃都是十分仔細，還有日軍的武器裝備等等細節。在作戰休憩之餘，透過時雨旅遊的視角，可以瞥見那個時代日本生活的一角。田中心中的老照片所隱含的往日情懷於片中活了起來，艦娘們回憶裡的咖啡色色調、搭乘的公車車牌、繁榮的佐世保市，應該就是他眼裡看到的風景。 8集裡面有3集都在講述日常，不同於一般戰爭電影強調軍政高層的視角，這部作品以時雨為主要視角切入，見證夥伴的離去，新的夥伴的到來，最後一切化為虛無，迎接終戰。\n沒有《聯合艦隊長官山本五十六》高層的政治鬥爭\n沒有《虎虎虎》國際外交的場面\n亦沒有《珍珠港》的愛情線\n演出的是身為少女與軍艦的時雨所看到的戰爭。\n她領悟到的不是為何而戰，而是「沒有不會停的雨」，提督則是更具體的告訴她「唯有直面過去，我們才有辦法改變未來」。原來田中心中幻想的自己是這樣帥氣？ 在那最後透過艦娘的奮鬥，完滿了提督的願望。最後作戰結束了，前面怎樣細節刻畫的作戰地圖再無意義，一切走到和平的未來。\n在《那片海》沒有2015年動畫版擊沈的設定，艦娘重傷最多就是退役罷了。史實日軍減員到最後，是瘋狂到要發動神風自殺攻擊的地步。但是田中不這麼想，他讓艦娘的掙扎化做改變未來的努力，透過所謂作戰中顯現的奇蹟改變了艦娘的命運。通俗的說是「逆天改命」的劇情。艦娘戰勝的不是邪惡的美帝，而是深海棲艦，並且得到了世界各國艦娘的幫助。所以歐美在這方並非是敵人，而是合作關係。就是這樣，融合了舊時代日本氛圍，還有未來日本的期許，所創造出來的故事。\n細緻的軍武考證 # 對軍武迷來說，我覺得本片這方面的描寫是及格。《那片海》整季的作畫品質不遜於劇場版，作畫沒有什麼崩壞的地方，艦娘肌膚質感，海水動畫都稱得上滿分。艦娘裝備和飛機的作畫更是精細，這算是我讚賞的地方之一，但是沒有出現我幻想的基地航空隊大戰深海棲艦艦載機的畫面，有點可惜。\n勉強有啦，第8集吳港空襲，343空的三架局地戰鬥機「紫電改」面對數以百計的敵機畫面，這幕真的蠻悲壯，真實還原日軍在二戰末期的絕望戰況。 如果你對比2015年動畫版出擊的樣子，就會發現《那片海》出擊時的氣氛相對凝重許多。有趣的是，田中可能怕再次惹怒觀眾，所以拔掉了擊沉的設定，《那片海》艦娘重傷就是退役，不會真的沉到海裡去。\n部份其他武器細節舉隅：\n換裝金星引擎又帶有火箭彈的「零式艦上戰鬥機64型」 反潛塗裝的艦上轟炸機「彗星」，提督還特別說氣冷引擎比水冷可靠。 水上戰鬥機「強風改」，負責艦隊防空，在網頁版遊戲中是防止失去制空權的神器 裝備火箭彈的夜間水上轟炸機「瑞雲」，連起飛指示燈都有畫出來。 雖說兵器考證詳實，還是要吐槽一下。艦娘本身的海戰就不能做的像真實海戰那樣刺激，也沒有被轟到肢解的畫面能看。而飛機又很大程度是在描寫田中幻想的特殊兵器「強風」、「瑞雲」大殺四方的樣子，真可說是忠實反應了他在網頁遊戲中表露的性癖。如果剛好跟田中一樣喜歡這樣的兵器的觀眾，那麼應該會看得很對胃口。\n講完了優點，接下來就來討論缺點吧。\n3.　《那片海》的缺點 # 我主要分為兩個部份探討。\n劇情安排不妥 # 艦娘奮鬥改變命運的過程處理並不好，我們彷彿在看的是二戰紀錄片，熱血的劇情有，但常常是片段式的，事情來得突然，最後草草結束。\n《那片海》只有8集，前4集處理的尚可，西村艦隊慢慢的接近敵方艦隊中樞，混雜著緊張的戰鬥，結果最後是用拳頭(物理)解決敵方棲姬，讓人看了覺得很扯。\n田中不太會用文字直白的刻劃艦娘內心，所以都是用畫面和對話呈現給大家看。姊妹艦隊被退役了，時雨帶著憂鬱的心情前往作戰，最後見證奇蹟來到，Boss被正式打倒，西村艦隊也因為受傷過重全部退役。在這場戰鬥結束後，時雨又要奔赴另一個戰場，加入第二水雷艦隊，準備最後的戰鬥。\n問題在於田中明知只有8集份量，仍塞了3集的日常，順便演出對應史實的小型作戰，大決戰在最後一集，還處理的哩哩拉拉。據說當初是因為動畫製作方的因素被砍成這樣的，或許是這樣才會演不完，否則12集應該有更好講述劇情的辦法才是。可以說緊湊的集數毀了整季的動畫？順帶一提《那片海》從2019年的艦隊Collection線下活動就釋出了PV，籌備了三年多結果動畫劇情是這樣的品質。\n如果畫出8集的劇情曲線，《那片海》就是這樣詭異的安排，到後面才大起大落，劇情交待的非常拙劣。 最後一集整個大爆炸，將前1~4集的表現硬塞在最後一集，而且還是一樣的套路，艦娘一路往前衝，快打不過了友軍突然駕到拯救大家。如果田中想強調外國艦娘協助日軍，就不該將外國艦娘放到最後一集才出場，塞在前面的日常回，在半夜跟時雨講講話鼓舞她也行，但到最後似乎只有已經娶扶桑的提督最重視時雨的樣子。而且外國艦娘友軍真的就是出來烙幾句英文而已，這樣頗有機械降神的感覺。外國艦娘登場的時候還發光？難道是艦娘的幻覺？\n田中還很喜歡在戰事緊張的時候插入一點搞笑和色色的成份，例如：作戰中山雲抱朝雲、酒匂看到矢矧馬上變成迷妹、大淀開完作戰會議後裙子被風吹起來、雪風吃太多橘子肚子痛無法出擊等等。 如果有前4集那樣充裕的講故事時間，讓外國艦娘早一點登場就不會那麼的悽慘，變成整季故事頭重腳輕。最後的最後，播放ED，後日談就是戰爭結束，艦娘變成平民過著幸福快樂的日子。 小孩子開車也太突兀了吧 為什麼六驅只在最後一集才出現啦 時雨最後一人在帆船上發呆。我連續追了半年，看完這部片也是這種茫然的表情。\n如果要說這8集劇情的結尾有什麼含義，我想在這樣緊湊的安排下也無法體會到。我只注意到：從一開始時雨就常常拿著橘子，到最後出擊也是拿著橘子。 對，最後一集的過場圖卡真的是橘子，不是艦娘剪影。\n然而，在最後殊死衝向敵陣之前，手裡的橘子就像幻影一樣消失了，這是否暗示著，戰爭的負擔已經結束了？\n全劇終後面也有一句話：\n獻給未來的人們。\n這種劇情安排該說是田中式的浪漫呢，還是果然該找個專業一點的編劇來做會比較好。又或是說，《艦隊Collection》動畫跟網頁版遊戲的難度機制一樣，是從根本上反應了田中的變態自爽心理：我做的遊戲就是這樣，喜愛軍武、喜愛艦娘這種概念、電波對到的人自會喜歡，不爽不要看。\n這樣的劇情安排，要不是有動畫製作組精美繪製的二戰日本風景，還有高品質武器作畫來補救，我應該會說這是徹徹底底的糞作。\n人物塑造薄弱 # 艦隊Collection是一個堅忍不拔的二戰紀錄片，主演：時雨，雪風，還有一些其他他媽的艦娘。\n因製作延誤和電視台檔期問題，8集動畫播了半年才播完，所以我說它堅忍不拔；固定follow官方Twitter看播出日期，定期追這部的你我也都是堅忍不拔的提督。\n群像劇是《艦隊Collection》自2015年動畫以來的問題，因為登場的艦娘太多，難以每個角色都兼顧。但是第一季至少還透過賣萌，塑造了第六驅逐隊、島風、金剛等艦娘的鮮明角色特質，就連吹雪睦月夕立的三人奮鬥都還比較有目標的感覺，讓人認識到吹雪是認真戰鬥的艦娘，絕不是提督因為夢到她才重點栽培她的喔。後來的《艦隊Collection 劇場版》也是重視吹雪的拯救過程。\n《那片海》主角變成時雨，故事也都集中在她身上，因為戰鬥導致夥伴接連失去，又認識了新的夥伴，似乎是個悲慘的人設。\n但是時雨的內心沒有清楚描寫。時雨與西村的互動並沒有表現，只是山城很疼時雨的樣子，大家退役之後時雨也是呆呆的一個人待在空房裡。到了後面編入第二水雷戰隊，才與同樣為幸運艦的雪風有多一點互動，一起睡覺、坦承相見泡澡這樣，之後又親密的互叫\u0026quot;Yuki\u0026quot;、\u0026ldquo;Gure\u0026rdquo;。 這樣的親密舉動不時在劇中出現，最多表明了時雨的心態仍因為夥伴而維持正面，但是對於時雨心中的想法卻仍是沒有表達出來。如果用含蓄的日本人思想去看待的話，時雨或許是真的難以準確表達內心言語的。不同於吹雪的樂觀積極，整部劇中，時雨只能繃著悶悶不樂的臉，在事件出現轉機時才流下感動的淚水。\n《永遠的0》中主角祖父因為久經沙場變得麻木，最後做出瘋狂自殺之舉，引發觀眾思考辯駁。而時雨就是默默的帶領大家走完這整場戲，最後平淡的結束戰爭，很難給人留下深刻印象。\n好吧，我承認其實很想看到時雨演出因為PTSD，mental breakdown然後大哭的狗血情節，不過時雨並沒有誇張的演出，僅是第4集有稍微演出做惡夢的場景而已。整部片時雨只有在與雪風的互動中，表現出些微的情感，並堅強的挺下去。正謂「風起了，唯有努力生存。」\n後面的改三也不知道是在改三小，讓觀眾飽了眼福，換件新衣服好像也沒在最後的作戰發揮什麼神力。2015年的動畫起碼還有poi出來炫一下，而時雨本身似乎是寄宿著前人的希望，起到了改變未來的鑰匙這樣的功用。 可能對《艦隊Collection》的死忠粉來說，看到自己的老婆動起來就是好事。只是綜合上一節說的，田中說故事的功力太差，艦娘的演出即使沒有變成群像劇情，集中在時雨的眼睛所看到的二戰世界，也並無太多情緒波動，甚至要觀眾體會時雨心中的想法也很難做到，因為劇中沒有很好的呈現她的過去，還有面對當下的心境是怎樣的，在我看來引出觀眾淚水的能力，連キネマ106在2015年製作的同人動畫《まっくろな雨》都還不如。\n《那片海》無法成功塑造時雨在觀眾眼中的印象，看完只有時雨很堅強、雪風死屁孩、山城姐控這樣的薄弱印象。\n4. 總結 # 如果對《艦隊Collection》本身是死士等級支持的玩家，並認同田中理念的人，應該或認為這部片不差。\n只是我做不到，該講的還是要講，這部片做的真的不好。對接收不到田中電波的人來說，某種程度本片可以說跟2015年的動畫一樣爛。此外。對應該是主要受眾的老玩家來說，本片沒有特別感動之處，如果當成田中考驗玩家耐心的活動宣傳傳片倒是及格。\n文章一開始引用了義大利導演的話，我想說：《那片海》這部片中反應的是田中自己的夢想，那過去的光景，與未來的人們的目光交織而成，在那樣的時空，屬於艦娘們曾奮鬥的，那一片海。\n看完心動了嗎？點擊這裡，立即了解如何加入《艦隊Collection》遊戲！！成為一名提督，蒐集所有的艦娘，體會田中帶來的美好遊戲體驗。 ","date":"2023年3月26日","externalUrl":null,"permalink":"/posts/kancolle-1944-itsuka-ano-umi-de-review/","section":"Reviews","summary":"《艦隊Collection：總有一天在那片海》(「艦これ」いつかあの海で) 是一部從2022年11月播到2023年3月，共8集的日本動畫，下面簡稱《那片海》。 先來概括劇情，後面再講優缺點。\n義大利意識流導演費里尼曾說：\n「現實主義是一個壞字眼。我看不到虛構與真實之間的界限。」\n1. 《那片海》劇情簡介 # 《那片海》是繼2015年《艦隊Collection》和2016年《艦隊Collection 劇場版》，第三部有關《艦隊Collection》網頁遊戲的動畫。故事講述寄宿著二戰艦船靈魂的少女「艦娘」與深海棲艦戰鬥的故事。不同於前二部作品，《那片海》的劇情並無直接關聯，因此不能算是第二季。\n劇本為遊戲製作人田中謙介撰寫。沒錯，就是每次都把艦隊Collection網頁遊戲的活動搞得超級難，讓玩家恨得牙癢癢的遊戲製作人。 前二部作品主角是驅逐艦「吹雪」，在2015動畫版中，吹雪好友睦月的姊妹艦「如月」沉船死亡，後於劇場版被吹雪淨化救回。假設《艦隊Collection》是按照史實戰役的時間線走的話，那麼吹雪故事所在的時間點便是二戰初期，1943年以前日軍在東南亞作戰尚屬順利的時期。而到了《那片海》的時間點，主角變成了驅逐艦「時雨」，時間點來到了1944年，也就是日軍全面潰敗，美軍逐步進逼日本本土的時期。在這樣的壓力下，《那片海》演出了二場重要的作戰，都有時雨參與其中，對應史實日軍的最後掙扎，用於對抗深海棲艦(美軍)反攻日本，乃至1945年終戰到來。 ","title":"不太能接受的田中式浪漫《艦隊Collection：總有一天在那片海》動畫完結心得","type":"review"},{"content":"當初是抱著驚訝與失望的心情打這篇的，畢竟我蠻喜歡這支手機，一年之前的寫過使用心得，還拿它做過許多實驗。出現綠線幾個月後拿出來看，綠線變成6條了。\n一年前聽聞許多買Sony、Samsung、Apple的手機相繼出現綠線，自以為是天選之人，連新冠肺炎都沒中鏢，結果還是躲不過Samsung螢幕的定時炸彈。\n過程 # 2023年3月24日，我的Sony Xperia 5在喚醒螢幕後冒出綠線。綠線是突然發生的，並無漸進的過程。\n延遲發病的原因大概是因為我是2021年2月才買的，比人家上市就買至少晚一年。很多人都宣稱他們正常使用，就突然冒出綠線，證明是這一批螢幕設計有缺陷。\n現在換我要詳細了解這個情況了。查詢巴哈、PTT、Mobile01後發現這是普遍的硬體問題，許多Sony、Saumsung手機都使用同一塊三星螢幕，品管不良才導致綠線，而部份廠商到現在仍拒絕承認此事。\n台灣的受害者有保固的送修可能比較便宜，Sony有剛過保還是免費修的案例，Samsung也有過保免費換螢幕的案例。可是這些個案都是自行爭取的，目前還沒有「召回」式的全面免費補償方案。\n輪到我自己的情況來說。這支Sony Xperia 5II是2021年2月在 通訊行 買的，省那幾千塊換只有一年的保固。當時我覺得應該沒差吧，我都會刷機了，也不太可能讓手機被車碾過去，除非硬體自己壞掉否則根本用不到保固。就算我真有2年保固，出現綠線也是在破保之後，應該爭取不到什麼好價格，起碼不會是免費。 那麼，過保就很危險了，就算能爭取到減免，價格也不會很便宜。\nSony Xperia 5 II在官網的螢幕報價是6200台幣，你覺得我有可能爭取到變600嗎？ 這還是沒保固的情況下，我也沒辦法論證說我是「正常使用」\u0026hellip;因為這支手機都被我刷成了LineageOS，螢幕還有點刮痕。即使綠線是硬體問題，刷機後就是破保了。我想到政府今年4月大灑幣給每人6000元，也許這正好作為我的手機維修基金。\n想到過去的一件事 # 2013年是我買智慧型手機的第一年，於2014年跌倒壓到螢幕，液晶破裂，變成螢幕一半是白色的，跟Xperia 5 II情況類似。當時我還撐了一年多才買新的，我真的不知道是什麼魔法能一邊當獨眼龍繼續用這支手機，還能一邊錄製遊戲實況。沒辦法，窮學生一枚。\n在現代人都沉迷手機的情況下，要我用盯著有螢幕瑕疵的手機，即使只是一條綠線，No way！\n暫時換機 # 以前都是中低階手機，因為用久了變慢才想買新機。第一次買二萬以上的手機，壽命竟然只有二年就出現自然缺失，覺得很可惜。\n其實我蠻滿意這支的，目前用過的手機覺得最平衡的：小手機、大電量、廣色域螢幕、沒瀏海、高性能、音質不賴的前置雙喇叭、拍照和錄影中上階水準。用到現在電量沒耗損很多，外觀只有小刮痕而已，原本想等2024年Sony推出搭載8Gen2的Xperia 5 V才想換新的，結果在這個不上不下時間壞掉，我該慶幸起碼不是像Asus的某些手機一樣主機板燒掉嗎？只是螢幕多了一條綠線還有時間轉移資料。\n幸好我是以distro hopper的策略在使用手機，SD卡插一插將相片轉移，應用程式雲端備份一下後，手機就輕鬆轉移了。\n根據以上說的Xperia 5 II優點，目前還沒找到替代Xperia 5 II的選手，加上我現在沒有多餘的錢買旗艦機，只好拿舊手機出來頂替，也就是2022年買的二手小米Poco F1。小米Poco F1是2019年出的手機，本來這支手機是買來當實驗白老鼠，Windows和Linux都刷過了，還用Windows 11來跑3A大作測試ARM轉譯能耐，操到光源感應器和重力感應器都壞掉了。Poco F1相比Xperia 5 II拍照不好，音質也很破，還是中國機，以Android機來說只有s845處理器是其最大價值。\n但還是能用對吧，起碼沒有綠線！\n我說過我討厭瀏海，因此轉換後在開發人員選項，選取隱藏，將瀏海變成平頭。再裝Rotation Control解決無法自動旋轉的問題。拍照裝GCam彌補。 用了好久的21:9 OLED螢幕，回到正常比例的LCD螢幕有點不習慣呢。\n或許下一支手機我會買Google Pixel然後刷成GrapheneOS (重視隱私的Android ROM)，Sony有綠線後導致要多加考慮。iPhone是不可能的，因為那是沒有自由的荒蕪土地，中國品牌也盡量不要。\n但是，買新手機的花費過高，又找不到適合的選手情況下，那最符合我現狀的解決方法就是認命拿政府發的6000元去修手機，並期望不要再復發綠線。但是\u0026hellip;拿去Sony官方授權的維修店詢問，螢幕報價依然是6000，在家人勸誡下覺得很虧，最後還是不修了。這支Sony手機還有一點價值：因為收音品質很好，偶爾拿來錄影用，以及當作外放不錯的喇叭。等到綠線擴散到全螢幕再完全放棄。\n包美聖：小茉莉，請不要把我(Xpeira 5 II)忘記\u0026hellip;. 幾個月後，我決定買Xperia 10 V取代Xperia 5 II。\n並嘗試自行給Xperia 5 II換不會有綠線的LCD螢幕。\n","date":"2023年3月24日","externalUrl":null,"permalink":"/posts/sony-xperia-5-ii-green-line-on-screen/","section":"Unboxings","summary":"當初是抱著驚訝與失望的心情打這篇的，畢竟我蠻喜歡這支手機，一年之前的寫過使用心得，還拿它做過許多實驗。出現綠線幾個月後拿出來看，綠線變成6條了。\n一年前聽聞許多買Sony、Samsung、Apple的手機相繼出現綠線，自以為是天選之人，連新冠肺炎都沒中鏢，結果還是躲不過Samsung螢幕的定時炸彈。\n過程 # 2023年3月24日，我的Sony Xperia 5在喚醒螢幕後冒出綠線。綠線是突然發生的，並無漸進的過程。\n延遲發病的原因大概是因為我是2021年2月才買的，比人家上市就買至少晚一年。很多人都宣稱他們正常使用，就突然冒出綠線，證明是這一批螢幕設計有缺陷。\n現在換我要詳細了解這個情況了。查詢巴哈、PTT、Mobile01後發現這是普遍的硬體問題，許多Sony、Saumsung手機都使用同一塊三星螢幕，品管不良才導致綠線，而部份廠商到現在仍拒絕承認此事。\n台灣的受害者有保固的送修可能比較便宜，Sony有剛過保還是免費修的案例，Samsung也有過保免費換螢幕的案例。可是這些個案都是自行爭取的，目前還沒有「召回」式的全面免費補償方案。\n輪到我自己的情況來說。這支Sony Xperia 5II是2021年2月在 通訊行 買的，省那幾千塊換只有一年的保固。當時我覺得應該沒差吧，我都會刷機了，也不太可能讓手機被車碾過去，除非硬體自己壞掉否則根本用不到保固。就算我真有2年保固，出現綠線也是在破保之後，應該爭取不到什麼好價格，起碼不會是免費。 那麼，過保就很危險了，就算能爭取到減免，價格也不會很便宜。\nSony Xperia 5 II在官網的螢幕報價是6200台幣，你覺得我有可能爭取到變600嗎？ 這還是沒保固的情況下，我也沒辦法論證說我是「正常使用」…因為這支手機都被我刷成了LineageOS，螢幕還有點刮痕。即使綠線是硬體問題，刷機後就是破保了。我想到政府今年4月大灑幣給每人6000元，也許這正好作為我的手機維修基金。\n","title":"Sony Xperia 5 II螢幕綠線找上我了","type":"unboxing"},{"content":"Linux長期欠缺的，便是有效利用筆電的觸控板的能力。在Windows上，觸控板能有許多自訂手勢操作，瀏覽器還能二指捏合放大。而Linux要到Wayland逐漸成為主流後，才有內建觸控板手勢的功能。假若沒有觸控手勢，觸控板用起來跟滑鼠點選沒差別。 比如，GNOME 42後Wayland工作階段支援用觸控板三指手勢顯示應用程式列表，三指左右滑動切換工作區。KDE Plasma 5.27以上版本也能用觸控板切換視窗了。\n最重要的是Firefox和Chrome也支援用二指無縫放大螢幕了。 然而X11工作階段並無這種功能實現。Linux桌面環境的手勢通常需要在Wayland工作階段才能使用。\n我不想用Wayland的原因是相容性仍然有很多問題，例如舊版程式會用XWayland跑拖慢性能，全域縮放會模糊等，所以我繼續用X11。針對死守X11的用戶想要自訂筆電的手勢，可以選擇行之有年的「Touchégg」來實現自定義觸控板手勢，有圖形化介面可以設定，支援KDE Plasma、GNOME、Cinnamon、XFCE、LXQT等仍在使用X11的桌面，甚至支援觸控螢幕裝置。\n這樣勉強可以達到Wayland工作階段的手勢效果。 1. 安裝Touchégg與Touché # Touchégg僅支援X11工作階段，無法在Wayland工作階段使用。\n至TouchEgg的儲存庫按照你的Linux發行版安裝套件，譬如Ubuntu就是加入作者的PPA再安裝： sudo add-apt-repository ppa:touchegg/stable sudo apt update sudo apt install touchegg 安裝後需要啟用Touchégg服務並重開機 sudo systemctl enable touchegg.service ＊如果你的桌面環境是GNOME，還要安裝GNOME Shell X11Gestures extension\n接著用Flatpak安裝圖形設定介面Touché： flatpak install flathub com.github.joseexposito.touche 2. 設定Touchégg手勢 # 舊版Touchégg得將/usr/share/touchegg/touchegg.conf複製到~/.config/touchegg/touchegg.conf再手動填寫設定檔。\n現在只要開啟Touché，即可用圖形化界面設定Touchégg的手勢。\n如果Linux筆電觸控板沒有Macbook那麼滑順的話，可能動作要大一點Touchégg才會感應的到手勢。\n預設全域啟用的手勢為：三指向上等同對視窗標題點二下(縮放視窗)；三指向下為將視窗最小化；三指捏合關閉視窗；三指往左滑動視窗分割到左邊；三指往右滑動視窗分割到右邊。四指上下滑動切換虛擬桌面(工作區)。 欲針對特定應用程式設定手勢，只要點一下左下角加號，再點選應用程式視窗即可設定。\n例如給Firefox設定二指放大視窗的手勢。然而這跟Wayland工作階段的無縫放大不一樣，你可以看到圖中的二指捏合是執行CTRL和＋號的快捷鍵，而非真的放大畫面，這算是小缺陷。 另外瀏覽器的上一頁快捷鍵通常都是Alt和方向鍵，因此我另外設定了三指滑動返回上一頁的設定。這樣就不需要移動滑鼠了。 我也給看PDF的程式Okular設定了二指放大的功能，這樣要放大文件的時候就不需要按拉桿。此外，為了讓使用手勢的時候出現視覺回饋，試著啟用Touchégg的手勢動畫吧。 ","date":"2023年3月18日","externalUrl":null,"permalink":"/posts/linux-touchegg-custom-gesture/","section":"所有文章","summary":"Linux長期欠缺的，便是有效利用筆電的觸控板的能力。在Windows上，觸控板能有許多自訂手勢操作，瀏覽器還能二指捏合放大。而Linux要到Wayland逐漸成為主流後，才有內建觸控板手勢的功能。假若沒有觸控手勢，觸控板用起來跟滑鼠點選沒差別。 比如，GNOME 42後Wayland工作階段支援用觸控板三指手勢顯示應用程式列表，三指左右滑動切換工作區。KDE Plasma 5.27以上版本也能用觸控板切換視窗了。\n最重要的是Firefox和Chrome也支援用二指無縫放大螢幕了。 然而X11工作階段並無這種功能實現。Linux桌面環境的手勢通常需要在Wayland工作階段才能使用。\n我不想用Wayland的原因是相容性仍然有很多問題，例如舊版程式會用XWayland跑拖慢性能，全域縮放會模糊等，所以我繼續用X11。針對死守X11的用戶想要自訂筆電的手勢，可以選擇行之有年的「Touchégg」來實現自定義觸控板手勢，有圖形化介面可以設定，支援KDE Plasma、GNOME、Cinnamon、XFCE、LXQT等仍在使用X11的桌面，甚至支援觸控螢幕裝置。\n這樣勉強可以達到Wayland工作階段的手勢效果。 ","title":"自訂Linux筆電觸控板手勢：Touchégg用法介紹","type":"posts"},{"content":"Linux有許多功能不遜於foobar2000的播放器，例如Audacious、DeaDBeeF、Rhythmbox，還有一個界面很像foobar2000的Strawberry Music Player，但如果堅持要用foobar2000怎麼辦？很幸運的是Linux可以用Wine跑。\nfoobar2000我曾在Windows上用好一陣子，能以資料夾模式檢視專輯，吃的資源不高，聽說播放無損音訊還有自己的音色。我覺得唯一可惜的是foobar2000為專有軟體，且官方並沒有推出Linux版，只能靠Wine跑。 至foobar2000官網下載最新版安裝檔，直接用64位元版\n安裝Bottles for Linux\n建立新酒瓶，選取Gaming 於相依項目安裝cjkfonts中文字體 你可能要到酒瓶設定，將Windows模擬版本切換成Windows 7。\n執行foobar2000的安裝檔 安裝後直接開啟吧，實測可以播放FLAC格式音訊，轉檔功能也能運作。 如果你需要讀取其他硬碟的音樂目錄，請執行以下指令開放權限後重啟Bottles：\nflatpak override --user --filesystem=\u0026#34;音樂目錄所在路徑\u0026#34; com.usebottles.bottles Bottles建立的假C槽位於~/.var/app/com.usebottles.bottles/data/bottles/bottles/foobar2000/drive_c/，要裝foobar2000的擴充功能可將exe丟到這裡。\n另請參考用KDE K3B將CD檔案轉檔為數位格式。\n","date":"2023年3月15日","externalUrl":null,"permalink":"/posts/linux-wine-foobar2000/","section":"所有文章","summary":"Linux有許多功能不遜於foobar2000的播放器，例如Audacious、DeaDBeeF、Rhythmbox，還有一個界面很像foobar2000的Strawberry Music Player，但如果堅持要用foobar2000怎麼辦？很幸運的是Linux可以用Wine跑。\nfoobar2000我曾在Windows上用好一陣子，能以資料夾模式檢視專輯，吃的資源不高，聽說播放無損音訊還有自己的音色。我覺得唯一可惜的是foobar2000為專有軟體，且官方並沒有推出Linux版，只能靠Wine跑。 至foobar2000官網下載最新版安裝檔，直接用64位元版\n安裝Bottles for Linux\n建立新酒瓶，選取Gaming 於相依項目安裝cjkfonts中文字體 你可能要到酒瓶設定，將Windows模擬版本切換成Windows 7。\n執行foobar2000的安裝檔 安裝後直接開啟吧，實測可以播放FLAC格式音訊，轉檔功能也能運作。 如果你需要讀取其他硬碟的音樂目錄，請執行以下指令開放權限後重啟Bottles：\nflatpak override --user --filesystem=\"音樂目錄所在路徑\" com.usebottles.bottles Bottles建立的假C槽位於~/.var/app/com.usebottles.bottles/data/bottles/bottles/foobar2000/drive_c/，要裝foobar2000的擴充功能可將exe丟到這裡。\n","title":"經典音樂播放器 ～ Linux安裝foobar2000","type":"posts"},{"content":"註：Microsoft Office 365已停止支援32位元版的Windows 7系統，加上DonutsBl停止維護儲存庫，本文介紹的方法不保證未來能繼續使用。\n儘管Linux有開源的LibreOffice，偶爾還是會想試試看能不能於本機裝Microsoft Office 365玩玩。\nMicrosoft Office是著名的專有軟體，在LibreOffice越來越多人採用，且微軟也推出網頁版Office的現在，究竟有無必要在Linux裝桌面版Office？就個人經驗而言，微軟的網頁版Office頂多就是確保文件開啟排版不會亂掉，某些功能還是得用到桌面版Office。\n根據WineDB的資料，截至2023年，Wine能穩定執行的Office版本是Office 2016。最新版的Office問題非常多。\n如果我們真的想要跑Office 365呢？\n搜尋後發現付費版的Wine - Crossover，有提供Office365的支援，花錢買他們的產品即可了事。\n如果要免費使用，只要自行編譯Crossover修改過的Wine，再配合Github的DonutsBl/office365-pol指令稿，就可以於Linux安裝32位元的Office。\nOffice 365我是用教育版，登入學校帳號就會自動啟用授權。下載的版本為Microsoft Office 365 (2002. 組建12527.22286)\n實際測試Word可以執行 Excel正常執行 PowerPoint開舊檔則是會隨機閃退。 Access、Outlook、OneNote、Publisher沒詳細測試。另外OneDrive的功能怪怪的，所以只能編輯本機檔案。\n根據Github和Reddit用戶的回報，Arch、Ubuntu、openSUSE、Fedora都可以用此方式安裝Microsoft Office 365，但無法收到自動更新。也請注意此軟體沒有任何保證，檔案毀損恕不負責。\n整體來說我覺得還是不夠穩定，如果還是想試試，請參考以下步驟。\n1. 安裝前置依賴套件 # 於Linux系統安裝Docker\n安裝PlayOnLinux，開啟一次後將其關閉。\n2. 編譯Crossover Wine # 建立32位元的Debian環境，之後會印出建置好的映像檔ID mkdir winebuild cd winebuild wget -O Dockerfile https://raw.githubusercontent.com/PhoenicisOrg/phoenicis-winebuild/master/environments/linux-x86-wine sudo docker build . 進入容器終端機 sudo docker run -it -v $(realpath ./build):/mnt/build --name winebuild \u0026#34;映像檔ID\u0026#34; 編譯Crossover Wine 21.2.0 cd /mnt/build wget https://media.codeweavers.com/pub/crossover/source/crossover-sources-21.2.0.tar.gz tar -xzf crossover-sources-21.2.0.tar.gz sources/wine cd sources/wine echo \u0026#39;#define WINDEBUG_WHAT_HAPPENED_MESSAGE \u0026#34;This can be caused by a problem in the program or a deficiency in Wine.\u0026#34;\u0026#39; \u0026gt;\u0026gt; include/distversion.h echo \u0026#39;#define WINDEBUG_USER_SUGGESTION_MESSAGE \u0026#34;If this problem is not present under Windows and has not been reported yet, you can save the detailed information to a file using the \\\u0026#34;Save As\\\u0026#34; button, then file a bug report and attach that file to the report.\u0026#34;\u0026#39; \u0026gt;\u0026gt; include/distversion.h ./configure --disable-winedbg --disable-mscms --without-vulkan make -j8 取出編譯好的Wine，放到PlayOnLinux的目錄 make install mkdir /mnt/build/cx-21.2.0 cp -R /usr/local/bin /mnt/build/sources/wine/include /mnt/build/cx-21.2.0 mkdir /mnt/build/cx-21.2.0/lib cp -R /usr/local/lib/wine /usr/local/lib/libwine* /mnt/build/cx-21.2.0/lib mkdir /mnt/build/cx-21.2.0/share cp -R /usr/local/share/man /usr/local/share/wine /mnt/build/cx-21.2.0/share cp -R build/cx-21.2.0 ~/.PlayOnLinux/wine/linux-x86 清理用不到的檔案 sudo rm -rf build sudo docker ps --all # 刪除不要的Docker映像檔 sudo docker rm -v \u0026#34;映像檔ID\u0026#34; sudo docker rmi \u0026#34;映像檔ID\u0026#34; cd .. sudo rm -rf winebuild 3. 安裝Windows字型 # 從微軟官網下載32位元的Windows 8.1 Enterprise Evaluation ISO。\n解出字型資料夾\n7z x B999286E-0A47-406D-8B3D-5B5AD7373A4A/9600.17050.WINBLUE_REFRESH.140317-1640_X86FRE_ENTERPRISE_EVAL_EN-US-IR3_CENA_X86FREE_EN-US_DV9.ISO 7z x sources/install.wim Windows/Fonts 刪除不必要的檔案 rm -rf sources rm -f Windows/Fonts/*.fon Windows/Fonts/*.ini Windows/Fonts/*.dat Windows/Fonts/*.xml 將Windows字型複製至Linux的字型目錄 sudo cp -r Windows/Fonts /usr/share/fonts/msfonts fc-cache -f -v 4. 下載Office 365安裝檔 # 安裝User-Agent Switcher and Manager擴充功能，點選右上角，將瀏覽器偽裝成Windows的Chrome，再點選Apply (all windows)。 到Office365官網，登入帳號，進入Office安裝檔下載頁面，選取32位元版，會得到OfficeSetup.exe。 5. 開始安裝Office365 # 下載安裝指令稿 wget https://raw.githubusercontent.com/DonutsBl/office365-pol/main/office365-pol.sh 開啟PlayOnLinux，點選工具→執行一個本地腳本 選取安裝指令稿，點選我同意 選取安裝檔OfficeSetup.exe 按照指示將Wine版本切換為Windows 7。 等待Office安裝完成。 儘管看不到進度條，工作管理員還是可以看到Office在下載東西。 安裝完成後Office圖示即會出現在桌面 也可以在應用程式列表找到Office。 直接登入Microsoft帳號啟用教育版授權，對話框可能會消失，建議先登入個人Microsoft帳號再登入學校給的Microsoft帳號。\n","date":"2023年3月13日","externalUrl":null,"permalink":"/posts/linux-wine-microsoft-office-365/","section":"所有文章","summary":"註：Microsoft Office 365已停止支援32位元版的Windows 7系統，加上DonutsBl停止維護儲存庫，本文介紹的方法不保證未來能繼續使用。\n儘管Linux有開源的LibreOffice，偶爾還是會想試試看能不能於本機裝Microsoft Office 365玩玩。\nMicrosoft Office是著名的專有軟體，在LibreOffice越來越多人採用，且微軟也推出網頁版Office的現在，究竟有無必要在Linux裝桌面版Office？就個人經驗而言，微軟的網頁版Office頂多就是確保文件開啟排版不會亂掉，某些功能還是得用到桌面版Office。\n根據WineDB的資料，截至2023年，Wine能穩定執行的Office版本是Office 2016。最新版的Office問題非常多。\n如果我們真的想要跑Office 365呢？\n搜尋後發現付費版的Wine - Crossover，有提供Office365的支援，花錢買他們的產品即可了事。\n如果要免費使用，只要自行編譯Crossover修改過的Wine，再配合Github的DonutsBl/office365-pol指令稿，就可以於Linux安裝32位元的Office。\nOffice 365我是用教育版，登入學校帳號就會自動啟用授權。下載的版本為Microsoft Office 365 (2002. 組建12527.22286)\n實際測試Word可以執行 Excel正常執行 PowerPoint開舊檔則是會隨機閃退。 Access、Outlook、OneNote、Publisher沒詳細測試。另外OneDrive的功能怪怪的，所以只能編輯本機檔案。\n","title":"Linux系統以CrossOver Wine安裝Microsoft Office 365","type":"posts"},{"content":"在這篇文章中，Ivon將教你Stable Diffusion WebUI的安裝方法，介紹提示詞寫法，並套用至「文生圖」、「圖生圖」、「局部重繪」進行實戰演練。最後再介紹一些擴充功能，還有如何訓練模型。\nStable Diffusion (穩定擴散) 是一個擴散模型，最早由德國CompVis發表並推出相關程式。後來AUTOMATIC1111開發了圖形化界面：「Stable Diffusion WebUI」，成為最多人使用的版本。下面簡稱SD WebUI。\nSD WebUI是能用AI技術生成圖片的開源軟體，只要給定一組描述文字，AI就會開始繪圖(準確的說是「算圖」或「生成」圖像)；亦能模仿現有的圖片，繪製另一張圖片。甚至給它一部分塗黑的圖片，AI也能按照你的意願將圖片填上適當的內容。除此之外還支援自行訓練模型加強算圖效果。\n一些Stable Diffusion WebUI的繪圖，無後期處理。\n與其他雲端AI繪圖軟體Midjoruney、NovelAI、DALL-E相比，SD WebUI最大優點是可以免費在自己的電腦或伺服器跑，且只要遵照Creative ML OpenRAIL-M授權條款的話，幾無使用限制。因其開放原始碼的特性，任何人都可以貢獻程式碼，參與改進專案。\nSD WebUI支援Linux/Windows/MacOS系統，以及Nvidia/AMD/Apple Silicon M的GPU。其圖形界面是透過網頁存取的，上手無難度，還有社群製作的界面中文化擴充功能。\n本文為Windows系統的安裝過程，Linux請參考這篇，macOS參考這篇。\n0. 系統需求 # 作業系統：最低要求為Windows 10 64位元 記憶體： 最低8GB，建議16GB 顯示卡：需配備獨立顯示卡，VRAM最低4GB，建議8GB (查看顯示卡VRAM的方法：工作管理員 → GPU → 專屬GPU記憶體) 硬碟空間：20GB Stable Diffusion WebUI並無要求特定處理器，因為主要是用顯示卡在算，只要64位元x86架構的Intel/AMD處理器就可以了。\nAI算圖很吃顯示卡性能，硬體不夠力可考慮用Google Colab雲端跑。\n1. 下載模型 # Stable Diffusion WebUI模型下載 2. 安裝Stable Diffusion WebUI # 為什麼要使用指令而不使用懶人一鍵安裝包？因為SD WebUI上游原始碼更新很快，還沒有穩定發表版本更新的模式。為此自行設定環境再用Git下載程式是目前最好的方式，自由度高，未來也方便更新。\n如果你因為出錯需要整個重裝SD WeBUI的話，已下載的模型(models資料夾)和擴充功能(extensions資料夾)可以先備份，不需要重新下載。複製SD WebBUI的儲存庫後再將其放回原處。\n接著請看安裝Stable Diffusion WebUI至Windows\n3. 內建基本功能用法 # 講解提示詞(prompt)寫法，以及介紹SD WebUI內建的基本功能：「文生圖」、「圖生圖」、「局部重繪」、LoRA的用法。\n請看Stable Diffusion WebUI基本功能使用教學\n4. 擴充功能用法 Extensions # Stable Difussion WebUI的Extensions頁面能安裝擴充功能，在繪圖的時候整合其他AI技術，或是簡化操作。實用的有界面中文化、控制動作的ControlNet、繪製多個人物的Latent Couple，還可以將SD WebUI跟GIMP、Krita修圖軟體串接在一起使用。\n請看Stable Diffusion WebUI實用擴充功能使用教學\n5. 訓練自己的模型 Training # 警告：跟繪圖不同，訓練模型至少需要10GB的VRAM，也就是RTX3060等級以上的GPU。\n訓練自己的小模型有很多好處，例如可以在現有模型的基礎上，讓AI懂得如何繪製更精確的風格或者特定角色。\n訓練小模型的具體步驟請看這篇：Stable Diffusion模型訓練教學\n6. 留言板 # 留言板已移動到這裡\n","date":"2023年3月11日","externalUrl":null,"permalink":"/posts/windows-stable-diffusion-webui/","section":"Ai-Arts","summary":"在這篇文章中，Ivon將教你Stable Diffusion WebUI的安裝方法，介紹提示詞寫法，並套用至「文生圖」、「圖生圖」、「局部重繪」進行實戰演練。最後再介紹一些擴充功能，還有如何訓練模型。\nStable Diffusion (穩定擴散) 是一個擴散模型，最早由德國CompVis發表並推出相關程式。後來AUTOMATIC1111開發了圖形化界面：「Stable Diffusion WebUI」，成為最多人使用的版本。下面簡稱SD WebUI。\nSD WebUI是能用AI技術生成圖片的開源軟體，只要給定一組描述文字，AI就會開始繪圖(準確的說是「算圖」或「生成」圖像)；亦能模仿現有的圖片，繪製另一張圖片。甚至給它一部分塗黑的圖片，AI也能按照你的意願將圖片填上適當的內容。除此之外還支援自行訓練模型加強算圖效果。\n一些Stable Diffusion WebUI的繪圖，無後期處理。\n與其他雲端AI繪圖軟體Midjoruney、NovelAI、DALL-E相比，SD WebUI最大優點是可以免費在自己的電腦或伺服器跑，且只要遵照Creative ML OpenRAIL-M授權條款的話，幾無使用限制。因其開放原始碼的特性，任何人都可以貢獻程式碼，參與改進專案。\nSD WebUI支援Linux/Windows/MacOS系統，以及Nvidia/AMD/Apple Silicon M的GPU。其圖形界面是透過網頁存取的，上手無難度，還有社群製作的界面中文化擴充功能。\n","title":"AI繪圖：Windows安裝Stable Diffusion WebUI教學","type":"ai-art"},{"content":"Maya是Autodesk公司推出的專有3D建模軟體，支援Linux/Windows/MacOS。\nMaya 2023 running on Arch Linux Maya 2023 running on Arch Linux\nLinux要跑Maya有二種方向：\n使用官方支援的Linux發行版，官方僅支援RHEL系：Fedora、RHEL、CentOS、Rocky Linux，參考詳細指示。另外還有Ubuntu 22.04的安裝指示。\n使用社群移植的版本，例如Arch Linux有AUR可以強行安裝。\n既然Maya有原生Linux版本，就不用費心用Wine跑了。問題在於官方只支援採用RPM套件的系統\u0026hellip;真是非常壞軟體\u0026hellip;但Linux社群總有辦法讓它在其他發行版安裝——例如Arch Linux。\n本文以學生版Maya 2023為例子，需要自行準備相關檔案，再手動用AUR安裝。另請參考Arch Linux安裝Nvidia CUDA驅動以使用GPU加速渲染。\n1. 下載Maya 2023 # 至Autodesk官網以學生身份登入，取得Maya的下載權 下載後會得到一個tgz檔，將其解壓縮，得到以下檔案。 2. 安裝Maya依賴套件 # 使用yay -G指令一次複製多個AUR儲存庫 cd ~/Downloads yay -G adlmapps adsklicensing maya maya-arnold maya-bifrost maya-substance maya-usd 接著要將RPM套件放到對應AUR儲存庫目錄，將RPM轉成Arch Linux的套件再一個一個安裝。\n首先是adlmapps\nmv ~/Downloads/Maya2023/Packages/Licensing/adlmapps*.rpm ~/Downloads/adlmapps cd ~/Downloads/adlmapps makepkg -si 接著是adsklicensing mv ~/Downloads/Maya2023/Packages/Licensing/adlmapps*.rpm ~/Downloads/adlmapps cd ~/Downloads/adlmapps makepkg -si 安裝libffi6和libtiff5 yay -S libffi6 libtiff5 安裝Maya mv ~/Downloads/Maya2023/Packages/Maya*.rpm ~/Downloads/maya cd ~/Downloads/maya makepkg -si 安裝Arnold for Maya mv ~/Downloads/Maya2023/Packages/package.zip ~/Downloads/maya-arnold cd ~/Downloads/maya-arnold makepkg -si ＊如果遇到無法通過sha256校驗的錯誤：用sha256sum package.zip產生新的數值，替換掉PKGBUILD裡sha256的數值再行安裝。\n安裝Bifrost for Maya mv ~/Downloads/Maya2023/Packages/Bifrost*.rpm ~/Downloads/maya-bifrost cd ~/Downloads/maya-bifrost makepkg -si 安裝Adobe Substance 3D for Maya mv ~/Downloads/Maya2023/Packages/AdobeSubstance3DforMaya*.rpm ~/Downloads/maya-substance cd ~/Downloads/maya-substance makepkg -si 安裝USD for Maya mv ~/Downloads/Maya2023/Packages/MayaUSD2023*.rpm ~/Downloads/maya-usd cd ~/Downloads/maya-substance makepkg -si 最後，啟動正版驗證服務。 sudo systemctl enable adsklicensing.service 啟動Maya，登入Autodesk帳號，授權即會自動啟用。 ","date":"2023年3月9日","externalUrl":null,"permalink":"/posts/archlinux-autodesk-maya-2023/","section":"所有文章","summary":"Maya是Autodesk公司推出的專有3D建模軟體，支援Linux/Windows/MacOS。\nMaya 2023 running on Arch Linux Maya 2023 running on Arch Linux\nLinux要跑Maya有二種方向：\n使用官方支援的Linux發行版，官方僅支援RHEL系：Fedora、RHEL、CentOS、Rocky Linux，參考詳細指示。另外還有Ubuntu 22.04的安裝指示。\n使用社群移植的版本，例如Arch Linux有AUR可以強行安裝。\n既然Maya有原生Linux版本，就不用費心用Wine跑了。問題在於官方只支援採用RPM套件的系統…真是非常壞軟體…但Linux社群總有辦法讓它在其他發行版安裝——例如Arch Linux。\n本文以學生版Maya 2023為例子，需要自行準備相關檔案，再手動用AUR安裝。另請參考Arch Linux安裝Nvidia CUDA驅動以使用GPU加速渲染。\n1. 下載Maya 2023 # 至Autodesk官網以學生身份登入，取得Maya的下載權 下載後會得到一個tgz檔，將其解壓縮，得到以下檔案。 2. 安裝Maya依賴套件 # 使用yay -G指令一次複製多個AUR儲存庫 cd ~/Downloads yay -G adlmapps adsklicensing maya maya-arnold maya-bifrost maya-substance maya-usd 接著要將RPM套件放到對應AUR儲存庫目錄，將RPM轉成Arch Linux的套件再一個一個安裝。\n","title":"如何在Arch Linux系統原生安裝Autodesk Maya 2023","type":"posts"},{"content":"這個禮拜我在部落格啟用了Hugo流量統計功能，顯示在文章標題下方。不然Google Analytics後台數字只有我看了個寂寞。 缺點是該計數器依賴中國的「不蒜子」服務，導致我的網站又多了一個cookie。不知道跟隨時在背景用JavaScript監控讀者的Google Analytics比起來誰比較流氓。\n然而，在啟用計數器的時候，便想到了一些問題。\n例如，網頁計數器使得數字顯而易見，產生比較心態，看見別人流量比我多\u0026hellip;就會想到\u0026hellip;蕾娜要更加努力呢\u0026hellip;(抓脖子) 究竟網頁該不該啟用計數器呢？\n簡介網頁計數器 # Website visitor counter, hit counter, 訪客流量統計, 網頁點閱率，不管啦，我們就統一把這個稱作網頁計數器。\n網頁計數器指的就是顯示該網站有多少人看的小工具，僅簡單的統計HTTP請求並跳錶。而且這個不是只給網站管理員看，而是訪客也能看到。\n古早的網頁計數器會做的很漂亮，就像類比式的機車里程表一樣。 圖源：https://www.hitwebcounter.com/\n我常常上的Gelbooru圖站現在還保留可愛的網頁計數器，這個網站也存在10年以上了。 台灣國內現在還能看到網頁計數器的網站，就是政府單位和學校的官網了吧😂 為何網頁計數器退流行 # 這裡有三篇文章解釋網頁計數器退流行的原因。\nHit Counters: The Analytics Tool of the Early Web - Priceonomics\nWhy are visitor counters for websites not used any more? - User Experience Stack Exchange\n20 Years On and Website Hit Counters are Still a Waste of Pixels\n可以歸納出，有更先進且免費的流量分析工具下，使用網頁計數器意義不大。網頁計數器設計通常很簡陋，單是統計造訪人次是沒有什麼用處。\n網頁計數器的好處 # 不知道有沒有這方面的心理研究，就是在網路搜尋資料的時候，看到網頁有個計數器會比較安心，覺得數字多，那這篇文章應可信任這樣？\n比方說我曾看過一篇介紹E-hentai的博客，說丘丘人都能看懂，博主還以破萬流量為豪。\n可是如上所述，網頁計數器真的很多時候就是看爽的而已。\n網頁計數器的壞處，以及改進方式 # Stack Exchange有人說網頁計數器是上古網頁的作法：「加網頁計數器會讓人以為你的網站從1988年以來就沒再更新了」你以為自己是什麼全世界用了二十年的資深軟體的開發者嗎？\n網頁計數器的問題在於，除了統計數字外沒有用處，而且很容易作弊：部份設計不良的網頁計數器，只要一直刷新頁面就能刷點閱率。這種數字除了虛榮外，一點意義都沒有。反而是使用者看不到，在背後默默收集資料的Google Analytics能統計到更多有趣的數據。\n\u0026ldquo;20 Years On and Website Hit Counters are Still a Waste of Pixels\u0026quot;一文的作者Darren Mudd建議：與其擺個網頁計數器在那邊炫耀，營造社群氛圍會是比較好的方式，比方說留言板。\n以前Blogger我有用過FB按讚和留言功能，但是跟Disqus一樣侵犯隱私我就拿掉了，內建的留言板足矣。\n現在的網站則是有LikeCoin和Giscus留言版，這二個就足以營造社群氛圍了吧？並且有實際好處：LikeCoin背後是加密貨幣，別人按讚除了讓我爽之外，LikeCoun收到很大數目就可以換真錢；Giscus則是給訪客用表情符號反饋與留言的地方。比起被動統計的網頁計數器，如果有人願意花時間按以上這二個元素以表示對網站內容的認可的話，豈不是比網頁計數器要來得有意義？\n對我個人的壞處而言，這會對心理造成影響吧。\n過去Blogger後台都有顯示網頁流量，我就會被數字影響心情。即使現在的部落格，後台換成Google Analytics也是一樣。\n但不一樣的是，這些資料只有我看得到，而且是分開的介面，我不去看就永遠不會知道一篇文章有多熱門，頂多只能從文章出現在Google搜尋前列這樣模糊得知。\n但是網頁計數器一旦直接加在文章上，就會給我造成心裡壓力。(我寫文章有時候是當筆記用，所以也會來看自己的文章)，直接告訴我哪些文章的流量。\n造成的壓力不只是在我身上，也會給讀者造成壓力。\n讀者或許會因為文章點閱率低而不願意詳讀網頁內容，尤其是我某些長篇大論的廢文。網頁計數器也可能因為爬蟲機器人導致數字虛高。\n並且，同一領域有人跟我寫一樣主題，那就是競爭對手。看著這個顯而易見的瀏覽數字，會給人更大的心理壓力。\n或許未來我會拔掉虛榮的網頁計數器吧。\n","date":"2023年3月7日","externalUrl":null,"permalink":"/posts/should-you-add-hit-counter-to-your-websites/","section":"Personals","summary":"這個禮拜我在部落格啟用了Hugo流量統計功能，顯示在文章標題下方。不然Google Analytics後台數字只有我看了個寂寞。 缺點是該計數器依賴中國的「不蒜子」服務，導致我的網站又多了一個cookie。不知道跟隨時在背景用JavaScript監控讀者的Google Analytics比起來誰比較流氓。\n然而，在啟用計數器的時候，便想到了一些問題。\n例如，網頁計數器使得數字顯而易見，產生比較心態，看見別人流量比我多…就會想到…蕾娜要更加努力呢…(抓脖子) 究竟網頁該不該啟用計數器呢？\n簡介網頁計數器 # Website visitor counter, hit counter, 訪客流量統計, 網頁點閱率，不管啦，我們就統一把這個稱作網頁計數器。\n網頁計數器指的就是顯示該網站有多少人看的小工具，僅簡單的統計HTTP請求並跳錶。而且這個不是只給網站管理員看，而是訪客也能看到。\n古早的網頁計數器會做的很漂亮，就像類比式的機車里程表一樣。 圖源：https://www.hitwebcounter.com/\n我常常上的Gelbooru圖站現在還保留可愛的網頁計數器，這個網站也存在10年以上了。 ","title":"你的網站應該加入參訪人數計數器嗎？","type":"personal"},{"content":"最近在處理Arch Linux更新的時候不小心搞壞系統，無法開機，需要用開機USB進入chroot修復。以前有用過EtechDroid能在手機上製作開機隨身碟，但是此次手邊沒有任何隨身碟能用\u0026hellip;幸好還有DriveDroid這款APP。它需要Root權限，將手機變成可開機的USB裝置，這樣電腦BIOS就能從開機裝置看到手機，從而啟動系統ISO。\n聽說DriveDroid也支援Windows PE，不過我主要是用Linux所以沒試過。\nDriveDroid APP由XDA用戶開發，原始碼不開源，而且已經長達3年沒更新。另一個開源的類似APP \u0026ldquo;USB Mountr\u0026quot;也是很久沒更新了。\n儘管如此，經測試DriveDroid仍能在Sony Xperia 5 II (Android 13)手機正常運作。\n1. DriveDroid測試連線 # DriveDroid首先會測試一次連線，才允許使用自己的ISO開機。\n電腦此時為關機狀態。\n下載Linux系統的LiveUSB ISO，例如Arch Linux。\n安裝DriveDroid，賦予Root權限。 選取ISO所在目錄。Android 13因為安全性，ISO可能得放在Downloads以外的目錄才能存取。 手機插上電腦 Sony手機選取Standard Android 電腦開機進入BIOS，應該會在可開機裝置看到手機。 手機端點選Android show up in OS 電腦重開機，應會看到DriveDroid成功開機的畫面，接著將電腦關機。 將測試結果回報給作者 2. 讓電腦從手機開機 # 跑完一輪測試後，才可以用自己的ISO開機。\n進入DriveDroid主畫面，點選DriveDroid Boot Tester，取消掛載，右邊的USB符號會消失。 點選Arch Linux的ISO，並選取Writable USB 電腦重開機進入BIOS，選取手機作為開機裝置，這樣就能進入Arch Linux的Live USB工作階段了。 用完之後別忘記取消掛載ISO ","date":"2023年2月28日","externalUrl":null,"permalink":"/posts/drivedroid-usage/","section":"所有文章","summary":"最近在處理Arch Linux更新的時候不小心搞壞系統，無法開機，需要用開機USB進入chroot修復。以前有用過EtechDroid能在手機上製作開機隨身碟，但是此次手邊沒有任何隨身碟能用…幸好還有DriveDroid這款APP。它需要Root權限，將手機變成可開機的USB裝置，這樣電腦BIOS就能從開機裝置看到手機，從而啟動系統ISO。\n聽說DriveDroid也支援Windows PE，不過我主要是用Linux所以沒試過。\nDriveDroid APP由XDA用戶開發，原始碼不開源，而且已經長達3年沒更新。另一個開源的類似APP “USB Mountr\"也是很久沒更新了。\n儘管如此，經測試DriveDroid仍能在Sony Xperia 5 II (Android 13)手機正常運作。\n1. DriveDroid測試連線 # DriveDroid首先會測試一次連線，才允許使用自己的ISO開機。\n電腦此時為關機狀態。\n下載Linux系統的LiveUSB ISO，例如Arch Linux。\n安裝DriveDroid，賦予Root權限。 選取ISO所在目錄。Android 13因為安全性，ISO可能得放在Downloads以外的目錄才能存取。 手機插上電腦 Sony手機選取Standard Android 電腦開機進入BIOS，應該會在可開機裝置看到手機。 手機端點選Android show up in OS 電腦重開機，應會看到DriveDroid成功開機的畫面，接著將電腦關機。 將測試結果回報給作者 2. 讓電腦從手機開機 # 跑完一輪測試後，才可以用自己的ISO開機。\n","title":"DriveDroid ～ 將手機變成開機USB，救援無法開機的電腦","type":"posts"},{"content":"用CPU硬跑AI繪圖軟體 ~ Stable Diffusion WebUI，會對硬體和精神造成巨大損傷。 此圖使用Stable Diffusion WebUI生成\nThat\u0026rsquo;s a lot of damage! 有幾種情況你會想用CPU跑Stable Diffusion：\n電腦顯示卡很爛但仍想玩玩看AI繪圖 顯示卡勉強可以算圖，但一訓練VRAM記憶體就爆炸 Stable Diffusion無法存取裝置GPU，例如樹莓派、Android手機 AMD或Apple使用GPU有困難 我個人是屬於第二個理由。\n如果是這樣的話，用CPU跑也不是個壞選擇，只是非常慢。訓練模型更甭說了，跑個一萬年，跑到中華民國萬萬歲。\nStable Diffusion有專為CPU生圖優化的版本，叫做stable-diffusion.cpp，但AUTOMATIC1111的版本預設並不支援這個後端，所以用CPU跑會非常慢。\n1. 調整啟動參數 # 在安裝Stable Diffusion WebUI之後\n使用Anaconda建立Stable Diffusion WebUI的虛擬環境 conda create --name sdwebui_cpu python=3.10.6 conda activate sdwebui_cpu 進入conda環境後，安裝Intel CPU版的PyTorch conda install pytorch torchvision torchaudio cpuonly -c pytorch 編輯啟動指令稿(Linux為webui-user.sh，Windows為webui-user.bat)，照作業系統修改成如下樣子。使用環境變數告訴系統不要使用GPU。 # Linux版 export CUDA_VISIBLE_DEVICES=-1 export COMMANDLINE_ARGS=\u0026#34;--use-cpu all --no-half --precision full --skip-torch-cuda-test\u0026#34; # Windows版 set CUDA_VISIBLE_DEVICES=-1 set COMMANDLINE_ARGS=\u0026#34;--use-cpu all --no-half --precision full --skip-torch-cuda-test\u0026#34; 這樣啟動後算圖即會只使用CPU，而不會使用GPU。 2. CPU與GPU模式速度的差距 # Intel i5-7400算一張512x512像素的圖需要10分鐘，相較之下低階顯示卡GTX 1050Ti算一張圖30秒。\n完全被屌打。\n那如果異想天開用CPU來訓練Textual Inversion個人模型呢？就算核心和RAM全跑滿，光10000步就需要48小時，你可以看到這是天殺的時長。 與其浪費電跑這個，還不如去蹭Google Colab的免費GPU運算資源呢。尼看看，Google Colab訓練模型只要二小時 除非是想大膽嘗試Android手機跑Stable Diffussion的舉動，否則有電腦和雲端卻還用CPU跑就是\u0026hellip;浪費時間XD\n參考資料 # ValueError: Expected a cuda device, but got: cpu #2733 - GitHub Can I run it on cpu mode only? #2334 - GitHub Start Locally - PyTorch ","date":"2023年2月28日","externalUrl":null,"permalink":"/posts/stable-diffusion-running-on-cpu/","section":"Ai-Arts","summary":"用CPU硬跑AI繪圖軟體 ~ Stable Diffusion WebUI，會對硬體和精神造成巨大損傷。 此圖使用Stable Diffusion WebUI生成\nThat’s a lot of damage! 有幾種情況你會想用CPU跑Stable Diffusion：\n電腦顯示卡很爛但仍想玩玩看AI繪圖 顯示卡勉強可以算圖，但一訓練VRAM記憶體就爆炸 Stable Diffusion無法存取裝置GPU，例如樹莓派、Android手機 AMD或Apple使用GPU有困難 我個人是屬於第二個理由。\n如果是這樣的話，用CPU跑也不是個壞選擇，只是非常慢。訓練模型更甭說了，跑個一萬年，跑到中華民國萬萬歲。\nStable Diffusion有專為CPU生圖優化的版本，叫做stable-diffusion.cpp，但AUTOMATIC1111的版本預設並不支援這個後端，所以用CPU跑會非常慢。\n1. 調整啟動參數 # 在安裝Stable Diffusion WebUI之後\n使用Anaconda建立Stable Diffusion WebUI的虛擬環境 conda create --name sdwebui_cpu python=3.10.6 conda activate sdwebui_cpu 進入conda環境後，安裝Intel CPU版的PyTorch conda install pytorch torchvision torchaudio cpuonly -c pytorch 編輯啟動指令稿(Linux為webui-user.sh，Windows為webui-user.bat)，照作業系統修改成如下樣子。使用環境變數告訴系統不要使用GPU。 # Linux版 export CUDA_VISIBLE_DEVICES=-1 export COMMANDLINE_ARGS=\"--use-cpu all --no-half --precision full --skip-torch-cuda-test\" # Windows版 set CUDA_VISIBLE_DEVICES=-1 set COMMANDLINE_ARGS=\"--use-cpu all --no-half --precision full --skip-torch-cuda-test\" 這樣啟動後算圖即會只使用CPU，而不會使用GPU。 2. CPU與GPU模式速度的差距 # Intel i5-7400算一張512x512像素的圖需要10分鐘，相較之下低階顯示卡GTX 1050Ti算一張圖30秒。\n","title":"以CPU only模式跑Stable Diffusion WebUI","type":"ai-art"},{"content":"","date":"2023年2月27日","externalUrl":null,"permalink":"/tags/hexo/","section":"標籤","summary":"","title":"Hexo","type":"tags"},{"content":"向之所欣，俯仰之間，已為陳跡，猶不能不以之興懷。況修短隨化，終期詞解於盡。\n網站遷移措施業已完成。\n舊網站ivon852.github.io和ilab852.blogspot.com，以及舊成人網站已全數刪除。\nClouds and blue sky in Russia. Wikimedia Commons\n1. 起源 # 2021年9月，成立第一個真正的個人網站Ivon\u0026rsquo;s Blog，當時是用Hexo和Github Pages生成的，網址是為ivon852.github.io。為了逃避寫專題的痛苦，便寫了一些文章，主要討論電腦科學和動漫，以及個人囈語。\n第一帝國的網站徽章。就是我現在的大頭貼噴火式Mk.9加上名字的I所組成。 正式刪除前的遺照。 當時還不懂markdown網頁生成的原理，所以是下載網頁前端編輯器來寫文章的，所以很天才的用中文當網址。我們知道用中文當網址會導致網址變超級長。\n之後開始不問更久以前成立的Minecraft基岩版資訊部落格(mcbedev.net)的政事，專心寫部落格。\n2022年2月，從Windows 11正式切換至Linux，不走回頭路，才發現網頁原始碼忘記備份，只留下生成的靜態網頁。為此該網站雖然還在線上，卻再也無法對其做變更。當時我覺得沒關係，便用Blogspot應急一下，是為Ivon的實驗室(ilab852.blogspot.com)。 此網站常常有像是CSDN的解決小問題，不到100個字的文章——現在我不會寫這種文章了，如果只是小bug我幹嘛不寫在Github gist讓大家參考就好？\n值得慶幸的是，這個網站和上一個部落格介紹Termux的文章有幸被業界大佬「玩具烏托邦」引用。\n夾在這二個網站之間，還有偶爾經營另一個網站\u0026quot;Escape to the beginning\u0026quot;，名字來自新世紀福音戰士舊劇場版的歌曲，專門撰寫色情內容。\n2022年5月，有感於Blogspot功能實在有限，便有了重新架設靜態網站的想法，那就是改用Hugo和Netlify部署網站，詳細請看第二帝國建立緣起。此時因為已經用Linux，習慣命令行，已經知道部署網站和Git是怎麼一回事，擬定了安全的備份策略，所以便很好的將網站經營到現在。\n有了正式的經營個人網站感覺之後，除非刻意給人看，不然就不需要在巴哈、Matters等地發表「內心想法」了。\n只是舊網站要整合到新網站，並非那樣簡單。前面說過，Ivon\u0026rsquo;s Blog是只有HTML而非markdown檔，Blogspot匯出也只有XML檔而已。那該怎麼辦呢？成立現在這個網站後，曾用名「Ivon\u0026rsquo;s Blog 2.0」，後決定定型為「Ivon的部落格」，並逐步消滅舊網站的勢力。\n鑑於舊網站已經有很多網址貼在Youtube影片、Bilibili上，為此我先使用「遷移文章，並重新導向」的作法。\n2. 遷移、重新導向至新網站 # 這是痛苦的過程，2022年8月開始轉移。\nBlogspot的還好，將文章遷移至本站，並編輯原始文章，貼個新連結上去，註明已搬家即可。 至於用Hexo生成的舊網站\u0026hellip;首先將舊網站的HTML用線上轉換器轉成markdown檔遷移至本站，並直接編輯原始文章的html程式碼(通常是index.html)，改成空白頁面如下：\n\u0026lt;meta name=\u0026#34;robots\u0026#34; content=\u0026#34;noindex\u0026#34;\u0026gt; \u0026lt;meta name=\u0026#34;redirect\u0026#34; http-equiv=\u0026#34;refresh\u0026#34; content=\u0026#34;3;url=本站網址\u0026#34; /\u0026gt; \u0026lt;link rel=\u0026#34;canonical\u0026#34; href=\u0026#34;本站網址\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;此頁面已搬家，3秒後跳轉至新家\u0026lt;/h1\u0026gt; \u0026lt;!--以下盡數刪除--\u0026gt; 第一行是給Google Bot看的，不要索引此網頁。第二是不需要Javascript就能實現自動跳轉頁面。第三canonical代表的是網址的標準版本。\n這樣我就不需要編輯那些已經「灑出去」的網址，當訪客點進舊連結，會看到轉址提示，而非直接404。 這就是為何點進所有文章列表，會發現2022年8月間我幾乎每天發5篇以上文章的原因。\n至於色情站的文章一直考慮要不要轉換過來，畢竟那些東西是見不得光的，甚至還曾自斷手腳，將當紅的fanservice網頁送到那個網站，毅然決然要將本站與色情切割。後來那個網站實在無法吸引到訪客，又因為E-hentai相關文章早已成為先例，最後放寬心，於2022年底宣佈開放政策，從此該站的文章正式併入本站，並設定穩妥的成人內容警告與提示。\n接著去Google Search Console，請求Google刪除這些網站的文章。然後用stackoverflow教學的技巧，在最後一次push後把Github Pages的commit紀錄全部刪除。\n看似問題解決的折衷作法持續了六個月，然而問題依然是存在的。\n3. 正式、剿滅舊網站勢力 # Google Search Console有追蹤熱門引用連結的功能。近幾個月來我發現，還是有很多舊網站的連結很是熱門。 這樣是不行的，我不是什麼大企業，網頁互通有無什麼的。\n儘管Google已搜尋不到舊網站的網頁，我還是不想看到幽靈連結還在盤旋，這些舊網址\u0026hellip;必須徹底剿滅！\n上節說我已經有很多網址灑到各處去了，如果編輯那些連結豈不是要人命\u0026hellip;其實也沒有，我常出沒的網站不外乎就是Youtube、巴哈、Bilibli、知乎。\n簡單搜尋一下編輯便可。至於PTT那就算了，鄉民發現連結404應該不會連Google都不會吧。\nYoutube的創作者工作室還算貼心，可以搜尋影片說明，所以很快便完成連結的替換。 Bilibili雖沒明列，但後台也是可以搜尋影片說明的。 巴哈和知乎我寫的文章不算多，也是盡可能的替換完成了。剩下的就看哪天有訪客留言提醒我，再將文章連結修正為連到本站。\n最後的最後，便是刪除Github Page的儲存庫和Blogspot網誌了，那些Ivon\u0026rsquo;s Blog的留言，都隨風而去了（當中的活躍用戶不乏一直留言到現在的用戶ThieuMinh26，雖其他有留言的文章不到10篇就是了）。 安息吧，最後的大學青春思緒。未來，繼續負重前行。\n","date":"2023年2月27日","externalUrl":null,"permalink":"/posts/i-finished-moving-old-websites/","section":"Personals","summary":"向之所欣，俯仰之間，已為陳跡，猶不能不以之興懷。況修短隨化，終期詞解於盡。\n網站遷移措施業已完成。\n舊網站ivon852.github.io和ilab852.blogspot.com，以及舊成人網站已全數刪除。\nClouds and blue sky in Russia. Wikimedia Commons\n1. 起源 # 2021年9月，成立第一個真正的個人網站Ivon’s Blog，當時是用Hexo和Github Pages生成的，網址是為ivon852.github.io。為了逃避寫專題的痛苦，便寫了一些文章，主要討論電腦科學和動漫，以及個人囈語。\n第一帝國的網站徽章。就是我現在的大頭貼噴火式Mk.9加上名字的I所組成。 正式刪除前的遺照。 當時還不懂markdown網頁生成的原理，所以是下載網頁前端編輯器來寫文章的，所以很天才的用中文當網址。我們知道用中文當網址會導致網址變超級長。\n之後開始不問更久以前成立的Minecraft基岩版資訊部落格(mcbedev.net)的政事，專心寫部落格。\n2022年2月，從Windows 11正式切換至Linux，不走回頭路，才發現網頁原始碼忘記備份，只留下生成的靜態網頁。為此該網站雖然還在線上，卻再也無法對其做變更。當時我覺得沒關係，便用Blogspot應急一下，是為Ivon的實驗室(ilab852.blogspot.com)。 ","title":"舊Github Pages與Blogspot網站搬家後的步驟，從重新導向網頁到最終的處置措施","type":"personal"},{"content":"Sony Xperia 5 II (XQ-AS72) 透過官方管道解鎖後，便可以Root和刷機(刷入第三方ROM)。\n操作前務必備份重要資料，解鎖bootloader後手機資料會全部清除。\n本文教學亦適用於Xperia 5、Xperia 5 III、Xperia 5 IV、Xperia 5 V。\n1. 步驟說明 # 於Sony Xperia 5 II刷入Magisk，取得Root權限。\n流程：解鎖bootloader → 刷入Magisk，完成Root。\n如果有需要的話，還可以將原廠系統刷成第三方ROM，這樣起碼可以擺脫被原廠放生更新的命運。\n根據我自己的測試，若未來想將Xperia 5 II刷回原廠（重新上鎖）是不需要備份所謂TA分區的。\n解除和Root後無法運作的項目：DRM會掉到L3，影響看Netflix之類的高畫質影片，金融類APP可能也會閃退不給用。雖然其實可以繞過 2. 準備工具 # 手機Sony Xperia 5 II (XQ-AS72)系統版本為Android 12，原廠韌體版本58.2.A.10.126\nLinux電腦需安裝ADB與Fastboot套件：\nsudo apt-get install android-tools-adb android-tools-fastboot Windows則是要下載ADB Platform Tools。裡面包含所有需要的程式。下載解壓縮，在該資料夾按著shift，右鍵開啟Powershell，輸入./adb或./fastboot即可執行ADB指令。\n3. 解鎖bootloader # 手機開啟電話APP，撥號輸入： *#*#7378423#*#* 進入Service info → Configuration → Rooting Status，確認Bootloader unlock allowed是否為yes，代表可解鎖。 接下來要取得解鎖碼。到Sony官網。於下方表單選取Xperia 5 II，輸入IMEI碼（系統設定 → 關於手機，若有雙卡填SIM 1的就好，將二個破保的警告選項都打勾。按下Submit，接著會出現一組解鎖碼，將其複製下來。 系統設定 → 版本號碼點5下，系統設定→系統就會出現開發人員選項，點進去，開啟OEM解鎖。 手機關機。按著手機音量上鍵，接到電腦，進入fastboot模式，Sony手機的指示燈應會變成藍色。\n開啟終端機，用指令確認是否電腦有抓到手機：\nfastboot devices 開始解鎖bootloader，解鎖碼的格式為「0x」+剛剛網站取得的解鎖碼： fastboot oem unlock 0x解鎖碼 終端機回傳「Okay」就代表成功了。重開機後資料已被清除，要重新設定手機。 4. 刷入Magisk # 如果擔心開不了機，先備份原本的boot.img。\nSony Xperia 5 II要刷入Magisk有二種作法：\n一是到XDA下載fengmubai製作的，對應韌體版本的boot.img。\n二是自行抽取原廠韌體的boot.img給Magisk修補，參見：Sony Dump Tool用法\n本文採用作法一。\n透過fastboot刷入boot.img到boot分區: fastboot flash boot boot.img # Xperia 5 V之後用這個 fastboot flash init_boot boot.img 重開機後要到應用程式列表點選Magisk安裝更新。 同意修復環境，之後重開機。 在設定中開啟Magisk Hide。 執行SafetyNet檢測：成功 解鎖bootloader後，每次重開機都會顯示「手機已解鎖，無法驗證是否遭竄改」的警告。\n請看這篇了解如何防止APP偵測到Root。\n5. 刷入第三方Recovery和ROM # 2021年曾有人移植給Xperia 5 II用的OrangeFox (TWRP的fork)，孰料作者放棄維護，於是Xperia 5 II現在沒有類似TWRP的Recovery可刷，只剩LineageOS的Recovery。\nLineageOS官方於2023年2月正式支援Sony Xperia 5 II。\n參見給Sony Xperia 5 II刷機升上Android 13\n如果您想刷回原廠ROM，請參見此篇\n","date":"2023年2月26日","externalUrl":null,"permalink":"/posts/sony-xperia-5-ii-root/","section":"所有文章","summary":"Sony Xperia 5 II (XQ-AS72) 透過官方管道解鎖後，便可以Root和刷機(刷入第三方ROM)。\n操作前務必備份重要資料，解鎖bootloader後手機資料會全部清除。\n本文教學亦適用於Xperia 5、Xperia 5 III、Xperia 5 IV、Xperia 5 V。\n1. 步驟說明 # 於Sony Xperia 5 II刷入Magisk，取得Root權限。\n流程：解鎖bootloader → 刷入Magisk，完成Root。\n如果有需要的話，還可以將原廠系統刷成第三方ROM，這樣起碼可以擺脫被原廠放生更新的命運。\n根據我自己的測試，若未來想將Xperia 5 II刷回原廠（重新上鎖）是不需要備份所謂TA分區的。\n解除和Root後無法運作的項目：DRM會掉到L3，影響看Netflix之類的高畫質影片，金融類APP可能也會閃退不給用。雖然其實可以繞過 2. 準備工具 # 手機Sony Xperia 5 II (XQ-AS72)系統版本為Android 12，原廠韌體版本58.2.A.10.126\nLinux電腦需安裝ADB與Fastboot套件：\nsudo apt-get install android-tools-adb android-tools-fastboot Windows則是要下載ADB Platform Tools。裡面包含所有需要的程式。下載解壓縮，在該資料夾按著shift，右鍵開啟Powershell，輸入./adb或./fastboot即可執行ADB指令。\n","title":"Sony Xperia 5 II解鎖與Root教學，刷入Magisk","type":"posts"},{"content":" 日本因為法律規定要自主規制的關係，使得AV和R18同人誌漫畫都要有馬賽克，或是長長的黑色海苔，遮住私處，很是礙眼。 隨著AI技術的發展，幾年前出現了閉源的JavPlayer，專門給AV即時解碼；後來又有了DeepCreamPy這款開源工具，能夠給同人誌解碼。\n給女性部位去海苔的效果大概是這樣。越薄的碼效果越好，不然一片黑AI也不知道要怎麼畫。 ろ～たり～Engine HIGHSCHOOL OF THE DATE\n男性部位通常上的碼較少，所以去的效果更好(誰要看啊) 悪転奏進 艦娘着妊 タシュケントちゃんと楽しい建造エッチ\nDeepCreamPy推測是Deep creampie (深深的內射並讓體液流出來) 的諧音。DeepCreamPy背後使用PEPSI模型，圖片訓練使用Danbooru的圖庫。\n八卦是DeepCreamPy作者筆電弄丟，所以原版程式已從Github刪除，幸好網友有備份。\n本文將介紹建置DeepCreamPy的環境，並示範如何解碼。文末附上自動化的改進方案。\n1. 系統環境 # 系統：Ubuntu 22.04 Hent-AI版本：1.6.9 DeepCreamPy版本：2.2.0 DeepCreamPy支援Linux/Windows平台，可以用CPU或GPU跑。\n我們將透過Hent-AI自動標記圖片中的海苔或馬賽克，再丟給DeepCreamPy去碼。\n步驟參考DeepCreamPy \u0026amp; Hent-AI Guide: Installation and anime censorship removal (Version 2) - Reddit\n2. 建立deepcreambox環境 # 建立deepcreambox的Python虛擬環境 conda update -n base -c defaults conda -y conda config --append channels conda-forge python -m pip install --upgrade pip conda create -n deepcreambox python=3.7 -y 啟動deepcreambox虛擬環境。 conda activate deepcreambox 3. 安裝Hent-AI # 下載hyenatrash-requirements.txt，再開啟終端機安裝依賴套件： pip install -r hyenatrash-requirements.txt -f https://download.pytorch.org/whl/torch_stable.html mim install mmcv-full==1.4.0 下載模型Model268，解壓縮得到weights.h5。\n下載4x_FatalPixels_340000_G.pth。\n下載Hent-AI，解壓縮，並將weights.h5和4x_FatalPixels_340000_G.pth放到Hent-AI的根目錄。\n終端機切換至Hent-AI的根目錄，安裝依賴套件：\npython setup.py install 在Hent-AI的根目錄新增input目錄，這是用於存放圖片原始檔的目錄。\n測試能否啟動Hent-AI的界面，跑出來後關閉。\npython main.py 4. 安裝DeepCreamPy # 下載DCP模型，解壓縮得到bars和mosiac二個目錄。\n下載DeepCreamPy的儲存庫：\ngit clone https://github.com/gguilt/DeepCreamPy 將bars和mosiac目錄移動到DeepCreamPy根目錄下的models目錄。\ndecensor_input、ecensor_input_original、decensor_output這三個目錄含有範例圖檔，將其刪除。\n終端機切換至DeepCreamPy的根目錄，試試看能否啟動DeepCreamPy界面。啟動後關閉按CTRL+C中止。\npython main.py 5. 使用Hent-AI偵測黑海苔位置 # 這裡示範如何將黑海苔去掉。\n去碼過程：將圖片丟給Hent-AI偵測黑線，並塗上綠色；偵測失敗你就得手工塗了。再將圖片丟給DeepCreamPy處理。\nHent-AI無法辨認白海苔，黑海苔太多也會辨認失敗。DeepCreamPy對有網點和漸層的圖片效果不佳，顏色會混亂。\n將要處理的原始圖檔放到Hent-AI目錄下的input目錄，你可以一次放多張進去。\n開啟Hent-AI界面，點選Bar： Input image folder點選Browse，選取input目錄。Deepcreampy install folder則是選取DeepCreamPy的根目錄路徑，之後點選Go。 處理好的圖片會自動移動到DeepCreamPy根目錄下的decensor_input目錄。\n如果Hent-AI辨認海苔失敗，你就得手動繪製了。用GIMP這類修圖軟體開啟原始圖檔，點選鉛筆工具，用RGB(0,255,0)的綠色覆蓋黑色海苔條，標出黑海苔位置。再另存成png圖檔，並放到DeepCreamPy的decensor_input目錄。\n6. DeepCreampy去碼 # DeepCreamPy只接受png圖檔。請先確認DeepCreamPy根目錄下的decensor_input是否有畫好綠線的圖檔。\n將未畫綠線的原始圖檔放到decensor_input_original目錄。\n開啟DeepCreamPy，Censor Type點選Bar，Deconsor Variations則是會多輸出幾種塗抹結果。 按下Decensor Your Images開始運算。DeepCreamPy去碼的成品位於decensor_output目錄。\n7. 其他自動化去碼方案 # DoujinCI教學，全自動化的DeepCreamPy去碼方案。\nGusb3ll/Tsuki，專為Windows設計的DeepCreamPy自動化去碼批次檔，還提供Google Colab版。\nHypoX64/DeepMosiac，給影片和圖片一鍵去馬賽克，似乎不適用海苔條。\nStable Diffusion WebUI的內補繪製inpaint也可以用來去碼，讓AI把黑海苔的部份填滿。不過其實這樣等同重新繪製了，應該用在那種全塗白的碼上面。畢竟若作者無法提供無碼版，天知道白色區塊裡面長怎樣，不如讓AI發揮創意。\n","date":"2023年2月23日","externalUrl":null,"permalink":"/posts/hent-ai-deepcreampy/","section":"Nsfws","summary":" 日本因為法律規定要自主規制的關係，使得AV和R18同人誌漫畫都要有馬賽克，或是長長的黑色海苔，遮住私處，很是礙眼。 隨著AI技術的發展，幾年前出現了閉源的JavPlayer，專門給AV即時解碼；後來又有了DeepCreamPy這款開源工具，能夠給同人誌解碼。\n給女性部位去海苔的效果大概是這樣。越薄的碼效果越好，不然一片黑AI也不知道要怎麼畫。 ろ～たり～Engine HIGHSCHOOL OF THE DATE\n男性部位通常上的碼較少，所以去的效果更好(誰要看啊) 悪転奏進 艦娘着妊 タシュケントちゃんと楽しい建造エッチ\nDeepCreamPy推測是Deep creampie (深深的內射並讓體液流出來) 的諧音。DeepCreamPy背後使用PEPSI模型，圖片訓練使用Danbooru的圖庫。\n八卦是DeepCreamPy作者筆電弄丟，所以原版程式已從Github刪除，幸好網友有備份。\n本文將介紹建置DeepCreamPy的環境，並示範如何解碼。文末附上自動化的改進方案。\n","title":"DeepCreamPy \u0026 Hent-AI ~ AI去掉圖片馬賽克和海苔條教學","type":"nsfw"},{"content":"本文介紹Linux系統安裝Anaconda，用於跑Pyhton程式的方法。\n1. 使用Anaconda的理由 # Linux系統執行和開發Python程式，明明已經有pip管理套件，virtualenv管理虛擬環境，有什麼理由使用Anaconda呢？\n根據官網描述，Anaconda是一個Python以及R語言的發行版，內建大量資料科學分析工具。 可是若我不是做這個的，要Anaconda幹嘛？我想，Anaconda最大的優點是在簡化軟體部署的同時，解決了三個問題：\n一、方便在一台電腦安裝多版本Python\n二、方便切換虛擬環境\n三、方便遷移Python環境\n首先考慮問題一，Pyhton多重版本共存的問題。例如Debian預設Python版本是3.9，Arch Linux預設Python是3.10。假設因應某軟體需求，現在要讓二部電腦建立一樣的Python 3.6環境，首要任務便是安裝一樣的Python版本了吧？Arch Linux可能有AUR舊版本的Python套件，一行指令直接裝；而Debian就得去找野生PPA，或是從Python官網下載原始碼編譯了。\n於是，Anaconda解決了Linux系統多重Pyhton版本共存的問題，在安裝Anaconda後，要下載舊版Python也是一行指令裝好，從Python 2.7到Python 3.11都有。至於如何在執行時切換Python版本，這就要用到第二點的「虛擬環境」了。\n再來考慮問題二，Python虛擬環境的問題。有時候我會從Github抓一些Python專案研究，可能就要用pip裝依賴套件。但是若我同時又在寫另外一個Pyhton程式，用到的套件衝突呢？別說不可能，opencv-python與opencv-python-headless只有其中一個能運作的狀況遇過不只一次。通常為避免這種情況，都是建議用Python virtualenv建立虛擬環境避開吧，讓套件不會互相污染。而Anaconda也有這個功能，並且簡化了操作：透過Anaconda安裝各版本的Python，並建立虛擬環境，然後切換進去，還同時提供conda和pip這二種十分類似的套件管理器。在沒有Anaconda前這樣的操作需要額外設定Python路徑，指令很醜；而Anaconda將這個操作簡化至一行指令，方便進入Python開發環境。\n問題三，Anaconda的檔案可以安裝在任意目錄，未來如果要換系統，只要在安裝Anaconda的時候指向之前的路徑就行了，依賴套件會全部保存下來，不需全部重裝。\n2. 安裝Anaconda # 建議從Anaconda官網下載安裝檔，不要用Linux套件管理器提供的Anaconda。\n官網提供的Anaconda安裝檔支援x86、x86_64、armv7l架構的裝置。aarch64(arm64)架構裝置請改用miniforge。\n在安裝好依賴套件後，從Anaconda官網下載安裝指令稿。 下載後會得到一個shell指令稿，於下載的目錄開啟終端機。\n開始安裝。Anaconda因為預設是安裝到目前使用者的目錄，所以不需要sudo。\nbash Anaconda3-*-Linux-x86_64.sh 按Enter繼續 按上下鍵捲動，看完授權條款後按下q，輸入yes繼續安裝。 按Enter，等待安裝完成。conda會安裝至使用者家目錄的~/anaconda3。 接著會問要不要初始化Anaconda環境，輸入yes。它會將Anaconda的啟動指令寫入到~/.bashrc 安裝完成後，重開終端機，之後終端機提示符會變成(base)，代表已進入conda環境。欲退出則輸入conda deactivate退出conda環境。 把Linux當主力系統用的人建議輸入以下指令停用自動進入conda，否則每次開啟終端機都會頓一下並自動進入conda環境，很煩。\nconda config --set auto_activate_base false 3. 如何使用conda指令 # 使用conda info檢查目前的Anaconda安裝狀態。 使用python --version查看目前Linux系統的Python版本，像這裡是3.10.9。之後進入虛擬環境後我們再來看看有何不同。 Anaconda提供的conda究竟有什麼用呢？讓我們來看看基本用法。\nconda的主要功能：建立隔離的Python環境。例如現在要建立一個叫做opencv，Python版本為3.6的虛擬環境，輸入以下指令： conda create --name opencv python=3.6 Conda會開始下載套件，輸入y同意。\n輸入conda activate opencv進入名為opencv的虛擬環境，我們可以看到終端機提示符變成了(opencv)。 此時我們可以查看一下Python版本：python --version，輸出為3.6.13，代表目前使用的Python為conda安裝的Python 3.6.13，而非Linux系統安裝的Python 3.10.9。 接著就可以用conda install或pip install安裝套件了，二者效果是一樣的，也不用擔心會污染Linux系統的Python環境。虛擬環境安裝的套件僅在虛擬環境內才能執行，離開虛擬環境後便無法使用。 輸入conda deactivate退出目前的虛擬環境。 輸入conda info --envs查看目前已建立的虛擬環境，可以看到有安裝Anaconda時一併建立的base，還有上面建立的opencv環境。如果要進入特定虛擬環境，輸入conda activate \u0026lt;虛擬環境名稱\u0026gt;就行了。 欲刪除建立的虛擬環境，輸入以下指令，便會將名為opencv環境以及安裝的套件刪除：\nconda env remove --name opencv 如果想在bash shell script自動啟動conda環境，那麼可以填入此指令： eval \u0026#34;$(conda shell.bash hook)\u0026#34; conda activate \u0026#34;環境名稱\u0026#34; 其餘conda指令的使用方式，請參考官方說明文件。\n","date":"2023年2月22日","externalUrl":null,"permalink":"/posts/linux-anaconda/","section":"所有文章","summary":"本文介紹Linux系統安裝Anaconda，用於跑Pyhton程式的方法。\n1. 使用Anaconda的理由 # Linux系統執行和開發Python程式，明明已經有pip管理套件，virtualenv管理虛擬環境，有什麼理由使用Anaconda呢？\n根據官網描述，Anaconda是一個Python以及R語言的發行版，內建大量資料科學分析工具。 可是若我不是做這個的，要Anaconda幹嘛？我想，Anaconda最大的優點是在簡化軟體部署的同時，解決了三個問題：\n一、方便在一台電腦安裝多版本Python\n二、方便切換虛擬環境\n三、方便遷移Python環境\n首先考慮問題一，Pyhton多重版本共存的問題。例如Debian預設Python版本是3.9，Arch Linux預設Python是3.10。假設因應某軟體需求，現在要讓二部電腦建立一樣的Python 3.6環境，首要任務便是安裝一樣的Python版本了吧？Arch Linux可能有AUR舊版本的Python套件，一行指令直接裝；而Debian就得去找野生PPA，或是從Python官網下載原始碼編譯了。\n於是，Anaconda解決了Linux系統多重Pyhton版本共存的問題，在安裝Anaconda後，要下載舊版Python也是一行指令裝好，從Python 2.7到Python 3.11都有。至於如何在執行時切換Python版本，這就要用到第二點的「虛擬環境」了。\n","title":"Linux系統安裝Anaconda教學，讓多版本Python共存","type":"posts"},{"content":"","date":"2023年2月21日","externalUrl":null,"permalink":"/ja-jp/tags/anaconda/","section":"Tags","summary":"","title":"Anaconda","type":"tags"},{"content":" AnacondaはPythonのディストリビューションで、大量の既製パッケージを提供しています。さらに仮想環境を作成でき、複数のPythonバージョンを管理して同じシステム上で共存させられます。\nAndroidスマホでPythonプログラムを書く際にAnaconda環境が必要なら、Termuxにインストールするのが現実的な選択肢です。下の画像は、AndroidでPythonのOpenCVパッケージを実行した例です。 ただし、Androidスマホの多くはaarch64（arm64）アーキテクチャです。Anaconda公式が対応している「ARM」デバイスはAWS Gravitonとarmv7l（32ビット）のRaspberry Piで、軽量版のminicondaも同様です。そのまま入れるとさまざまなエラーが出ます。\nそのため、aarch64アーキテクチャのデバイスでは「miniforge」を使います。miniforgeはminicondaと同じくAnacondaの軽量版で、コマンドの使い方も同じですが、より多くのアーキテクチャのLinuxシステムに対応しています。\n1. TermuxとLinux環境をインストールする # Termuxを初期化します\n次に、Termux環境へ直接miniforgeをインストールするか、Proot Linuxを作成するかを選びます。TermuxのPythonバージョンはローリング更新で、ダウングレードできないため、私は独立したProot Debian環境を作るほうを好みます。そのほうが、異なるPythonバージョンをインストールしやすいからです。\n2. miniforge3をインストールする # RootアカウントでProot Debianにログインします。 proot-distro login debian 事前に必要な依存パッケージをインストールします。AnacondaはPythonを自動でダウンロードできるので、別バージョンのPythonを手動で入れる必要はありません。 apt update apt install wget python3 python3-pip vim ProotはデフォルトでTermux側のPythonを使ってしまうため、以下のコマンドで一時的にProot内部のPythonを使うよう指定します。 alias python=/usr/bin/python3 alias python3=/usr/bin/python3 alias pip=/usr/bin/pip alias pip3=/usr/bin/pip miniforgeリポジトリでインストールスクリプトのURLを取得し、ダウンロードして実行します。 wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh bash Miniforge3-Linux-aarch64.sh 実行後にEnterを押し、矢印キーで上下に移動して、yesと入力してライセンス条項に同意します。 miniforgeを~/root/miniforgeにインストールし、完了まで待ちます。\nインストール完了後、環境を自動で起動するか、つまりProotにログインしたらcondaへ入るようにするかを聞かれます。yesと入力します。 Prootからログアウトし、もう一度Prootへログインします。\nexit proot-distro login debian プロンプトに(base)という括弧が表示されていれば、conda環境が自動起動しています。conda deactivateと入力するとconda環境から抜けられます。 conda環境へ手動で入る設定に変えたい場合は、conda config --set auto_activate_base falseと入力してconda環境の自動起動を無効化します。\n3. condaコマンドを使う # conda環境に入った後は、conda installまたはpipでPythonパッケージをインストールできます。conda環境内では、condaがインストールしたPythonバージョンが自動的に使われます。\ncondaの便利な機能は、複数の仮想環境を作れることです。たとえば古いPython 3.6の環境を作成したい場合は、以下のコマンドを入力します。\nconda create --name test1 python=3.6 仮想環境へ入る、または抜けるには次のようにします。\nconda activate test1 conda deactivate これで、Python 3.6でしかインストールできないパッケージも入れられます。\n4. 簡単なOpenCVプログラムを書く # これは顔を検出するプログラムです。ただし、少し面白くするために、アニメキャラクターの顔を検出します。lbpcascade_animefaceプロジェクトを使います。\nたとえばここに少女終末旅行の画像があります。この画像から彼女たちの顔をマークしてみます。 conda環境を作成します conda create --name facedetection python=3.10.9 conda activate facedetection 必要なパッケージをインストールします conda install -c conda-forge opencv wget https://raw.githubusercontent.com/nagadomi/lbpcascade_animeface/master/lbpcascade_animeface.xml VIMでファイルを新規作成します vim detectface.py 原作者の書き方を参考にコードを書き、input.jpgを読み込んで顔をマークし、output.jpgとして出力します。 import cv2 def detectFace(filename): cascade = cv2.CascadeClassifier(\u0026#34;./lbpcascade_animeface.xml\u0026#34;) image = cv2.imread(filename, cv2.IMREAD_COLOR) gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) gray = cv2.equalizeHist(gray) color = (0, 0, 255) faces = cascade.detectMultiScale(gray, scaleFactor = 1.1, minNeighbors = 5, minSize = (24, 24)) for (x, y, w, h) in faces: cv2.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 20) cv2.waitKey(0) cv2.imwrite(\u0026#34;output.jpg\u0026#34;, image) detectFace(\u0026#39;input.jpg\u0026#39;) 画像をProotのディレクトリへどう置けばよいか気になるかもしれません。スマホの内部ストレージはProotの/sdcardにマウントされているので、画像を移動すればOKです。 mv /sdcard/Downloads/input.jpg ~/ 作成したPythonプログラムを実行します python detectface.py 結果を確認するには、画像をスマホの内部ストレージへ移動します mv output.jpg /sdcard/Downloads/ 完成品 参考資料 # よく使うCondaコマンド - HackMD OpenCV modules What is the difference between miniconda and miniforge? Anaconda Documentation — Anaconda documentation ","date":"2023年2月21日","externalUrl":null,"permalink":"/ja-jp/posts/android-termux-anaconda/","section":"Termux-Tutorials","summary":" AnacondaはPythonのディストリビューションで、大量の既製パッケージを提供しています。さらに仮想環境を作成でき、複数のPythonバージョンを管理して同じシステム上で共存させられます。\nAndroidスマホでPythonプログラムを書く際にAnaconda環境が必要なら、Termuxにインストールするのが現実的な選択肢です。下の画像は、AndroidでPythonのOpenCVパッケージを実行した例です。 ただし、Androidスマホの多くはaarch64（arm64）アーキテクチャです。Anaconda公式が対応している「ARM」デバイスはAWS Gravitonとarmv7l（32ビット）のRaspberry Piで、軽量版のminicondaも同様です。そのまま入れるとさまざまなエラーが出ます。\nそのため、aarch64アーキテクチャのデバイスでは「miniforge」を使います。miniforgeはminicondaと同じくAnacondaの軽量版で、コマンドの使い方も同じですが、より多くのアーキテクチャのLinuxシステムに対応しています。\n1. TermuxとLinux環境をインストールする # Termuxを初期化します\n","title":"TermuxでAnaconda環境（miniforge）をインストールし、Pythonバージョンを手軽に切り替える","type":"termux-tutorials"},{"content":"想要在網頁加入整頁式的瀏覽圖片，類似瀑布流，並按照標籤搜尋的畫廊(gallery)功能的話，我們可以利用mfg92開發的hugo-shortcode-gallery達成此目的。\n此專案並非主題，而是可以嵌入在現有主題的Hugo shortcode，它融合了Justified Gallery和SwipeBox的功能，由此讓Hugo生成能檢視圖片畫廊的功能。\n它也很適合找單獨架設一個網站，找一個簡約的主題，單純用於展示圖片。缺點就是圖片要放在Hugo網站目錄下，不能放在第三方圖床。\n以下是此shortcode做起來的大約樣子，文章中圖片會並排在一起。文末還有實際的獨立網站例子。 1. 安裝hugo-shortcode-gallery # 在網站根目錄，複製hugo-shortcode-gallery至themes目錄 cd themes git clone https://github.com/mfg92/hugo-shortcode-gallery.git 編輯config.toml，加入hugo-shortcode-gallery theme = [\u0026#34;meme\u0026#34;, \u0026#34;hugo-shortcode-gallery\u0026#34;] 如果您的網站有用Git管理版本，記得在根目錄的.gitmoudles加入submodule： [submodule \u0026#34;themes/hugo-shortcode-gallery\u0026#34;] path = themes/hugo-shortcode-gallery url = https://github.com/mfg92/hugo-shortcode-gallery.git 2. 於網頁嵌入畫廊 # 該Shortcode要求嵌入畫廊的網頁使用Page bundle，也就是content/posts/下的文章並非markdown檔案，而是要長這樣： index.md就是文章正文，另外要建立一個目錄images來存放圖片。\n除了圖片本身的EXIF資訊外，還可以新增跟圖片檔同名，以.meta結尾的描述檔，在裡面記載圖片的標籤資訊。 按照原作者的設計，.meta檔案支援填入以下內容\n{ \u0026#34;Tags\u0026#34;: [\u0026#34;雲\u0026#34;, \u0026#34;山\u0026#34;], \u0026#34;Title\u0026#34;: \u0026#34;南橫5\u0026#34;, \u0026#34;ColorLabels\u0026#34;: \u0026#34;RG\u0026#34;, \u0026#34;Rating\u0026#34;: 3 } 開啟index.md，新增基本文章架構，接著插入以下內容(注意前後要二個大括號{{ }}，這裡只能寫一個)： {\u0026lt; gallery match=\u0026#34;images/*\u0026#34; sortOrder=\u0026#34;desc\u0026#34; rowHeight=\u0026#34;150\u0026#34; margins=\u0026#34;5\u0026#34; thumbnailResizeOptions=\u0026#34;600x600 q90 Lanczos\u0026#34; showExif=true previewType=\u0026#34;blur\u0026#34; embedPreview=true loadJQuery=true filterOptions=\u0026#34;[{label: \u0026#39;All\u0026#39;, tags: \u0026#39;.*\u0026#39;}, {label: \u0026#39;山\u0026#39;, tags: \u0026#39;山\u0026#39;}, {label: \u0026#39;寺廟\u0026#39;, tags: \u0026#39;寺廟\u0026#39;}, {label: \u0026#39;雲\u0026#39;, tags: \u0026#39;雲\u0026#39;}]\u0026#34;\u0026gt;} gallery match=指的是讀取images目錄的圖片，sortOrder預設是降序desc排序(另有升序asc，或者把sortOrder拿掉換成randomize=true就變隨機排序)。thumbnailResizeOptions是圖片縮圖裁切的大小。previewType則是圖片縮圖以模糊方式呈現。最後的filterOptions新增按照圖片標籤過濾的按鈕。\n使用hugo server -D生成網頁，預覽文章內的畫廊。 點選後放大，顯示圖片EXIF資訊。 至於篩選主題的按鈕嘛，我使用的MemE主題好像會跟此功能衝突，所以請看下一節的實際獨立網站應用例子實際例子。\n3. 實際獨立網站應用例子 # 艦娘乳圖鑑：仿造艦娘乳図鑑的網站，全部只使用hugo-shortcode-gallery寫成。\n搭配簡單的Hugo主題，標籤功能運作良好，然而這個Shortcode不支援多重標籤搜尋是個缺點。 ","date":"2023年2月20日","externalUrl":null,"permalink":"/posts/hugo-shortcode-gallery-usage/","section":"所有文章","summary":"想要在網頁加入整頁式的瀏覽圖片，類似瀑布流，並按照標籤搜尋的畫廊(gallery)功能的話，我們可以利用mfg92開發的hugo-shortcode-gallery達成此目的。\n此專案並非主題，而是可以嵌入在現有主題的Hugo shortcode，它融合了Justified Gallery和SwipeBox的功能，由此讓Hugo生成能檢視圖片畫廊的功能。\n它也很適合找單獨架設一個網站，找一個簡約的主題，單純用於展示圖片。缺點就是圖片要放在Hugo網站目錄下，不能放在第三方圖床。\n以下是此shortcode做起來的大約樣子，文章中圖片會並排在一起。文末還有實際的獨立網站例子。 1. 安裝hugo-shortcode-gallery # 在網站根目錄，複製hugo-shortcode-gallery至themes目錄 cd themes git clone https://github.com/mfg92/hugo-shortcode-gallery.git 編輯config.toml，加入hugo-shortcode-gallery theme = [\"meme\", \"hugo-shortcode-gallery\"] 如果您的網站有用Git管理版本，記得在根目錄的.gitmoudles加入submodule： [submodule \"themes/hugo-shortcode-gallery\"] path = themes/hugo-shortcode-gallery url = https://github.com/mfg92/hugo-shortcode-gallery.git 2. 於網頁嵌入畫廊 # 該Shortcode要求嵌入畫廊的網頁使用Page bundle，也就是content/posts/下的文章並非markdown檔案，而是要長這樣： ","title":"hugo-shortcode-gallery，給Hugo靜態網頁嵌入圖片畫廊","type":"posts"},{"content":"🇹🇼 中文版\nStable Diffusion is an open-source deep-learning model. It can generate (paint) images conditioned on text descriptions.\nI tried to run Stable Diffusion on my Android phone and it worked. No root required. But why\u0026hellip;? Because why not. A developer, Raoul Straczowski, on Github ran Stable Diffusion on his Raspberry Pi 4 and it could generate images up to 400x400 pixels. I think it should work on flagship Android phones, too. Therefore I tried many ways and it finally worked. The result is not bad.\n1. Environment # Device: Sony Xperia 5 II (Android 13) CPU: Qualcomm Snapdragon 865 (Adreno 650) RAM: 8GB Storage: 30GB+ High speed network for downloading large files. 2. Setup Linux environment # Install Termux\nInstall proot Debian. We only need rootfs, there is no need to add a new user and install desktop environment.\nLog into Proot Debian\nproot-distro login debian --shared-tmp Install Git, Vim, Python, Pip apt update apt install git git-lfs vim python3 python3-pip Install Anaconda if you need it. 3. Install Stable Diffusion # There are many versions of Stable Diffusion. I follow Raoul Straczowski\u0026rsquo;s instructions and choose Stable Diffusion v1.5 made by runwayml. It could run headlessly in terminal.\nClone runwayml\u0026rsquo;s repository and download all models (around 30GB) git clone https://huggingface.co/runwayml/stable-diffusion-v1-5 cd stable-diffusion-v1-5 git lfs pull Then install python dependences pip install --upgrade diffusers transformers accelerate ftfy xformers 4. Creating a script for generating images # Because my phone only has 8GB RAM, the maximum image size that it could generate is 320x320 pixels. Beyond that Termux will crash immediately.\nDisable background process in Developer Settings. I also enable \u0026ldquo;Stay awake while charging\u0026rdquo;. Termux will crash when generating large images due to the limitation of Android OS, so we have to increase the value of max_phantom_processes. Please refer to Fix Singal 9 error to install ADB tools on PC, and execute following commands to set value of max_phantom_processes to 2147483647.\nadb shell \u0026#34;/system/bin/device_config set_sync_disabled_for_tests persistent; /system/bin/device_config put activity_manager max_phantom_processes 2147483647\u0026#34; Create a Python script. cd ~ vim app.py Type these from diffusers import StableDiffusionPipeline, EulerDiscreteScheduler # Use local models model_id = \u0026#34;./stable-diffusion-v1-5\u0026#34; # Use Euler sampling scheduler = EulerDiscreteScheduler.from_pretrained(model_id, subfolder=\u0026#34;scheduler\u0026#34;) # Enable low memory usage, set image size to 320x320 and steps to 50. pipe = StableDiffusionPipeline.from_pretrained(model_id, scheduler=scheduler, low_cpu_mem_usage=True, height=320, width=320, num_inference_steps=50) # Bypass NSFW filter pipe.safety_checker = lambda images, clip_input: (images, False) # Prompts prompt = \u0026#34;A victorian woman stands on grass field.\u0026#34; # Start generating the image. Use CPU only image = pipe(prompt).images[0] # Save the image image.save(\u0026#34;result.png\u0026#34;) Let\u0026rsquo;s go! python app.py Wait for 20 minutes We can see Stable Diffusion consumes almost all memory while computing To view the generated image, move it to the internal storage\nmv result.png /sdcard Here is the result. Not bad, huh? 5. Running Stable Diffusion with Adreno GPU # We can run Stable Diffusion with Adreno GPU to accelerate the generation of images.\nThis is very experimental. Virglrenderer may not work on non-Adreno devices which do not support Vulkan.\nInstall virglrenderer on Termux. Then start virgl server. MESA_NO_ERROR=1 MESA_GL_VERSION_OVERRIDE=4.0 GALLIUM_DRIVER=zink virgl_test_server --use-egl-surfaceless Log into Proot. Run Python script with virgl GALLIUM_DRIVER=virpipe python app.py The time of image generation will reduce a little bit. The result. 6. What if we run Stable Diffusion on chroot? # Note: You need root permission to do this.\nSince Stable Diffusion requires a lot of RAM, why not create a big swapfile on chroot? So Termux will not crash due to out of memory.\nInstall chroot Ubuntu in Termux.\nInstall Python and Stable Diffusion (similar to Ubuntu) or just copy files from proot-distro (the data is located at /data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/ubuntu/root).\nLog into chroot Ubuntu. Create a 8GB swap file on chroot, so we will have 8 + 4 + 8 = 20GB RAM on our phone. If we don\u0026rsquo;t do this, the phone will reboot when it is out of memory.\ndd if=/dev/zero of=/swapfile bs=1M count=8192 status=progress chmod 0600 /swapfile mkswap /swapfile swapon /swapfile In the following test, I increase the size of image to 512x512 but Termux still crash while computing, so I enter chroot via ADB shell. Wait for 1 hour, and here is the result. Her face is like saying \u0026ldquo;Why did you spend so much time on doing this?\u0026rdquo; References # How to run Stable Diffusion on Raspberry Pi 4 - GitHub runwayml/stable-diffusion-v1-5 - Hugging Face stabilityai/stable-diffusion-2 - Hugging Face Stable Diffusion with 🧨 Diffusers - Hugging Face Disabling safety-model or fixing false positives? #239 - GitHub ","date":"2023-02-18","externalUrl":null,"permalink":"/en-us/posts/android-stable-diffusion/","section":"Termux-Tutorials","summary":"🇹🇼 中文版\nStable Diffusion is an open-source deep-learning model. It can generate (paint) images conditioned on text descriptions.\nI tried to run Stable Diffusion on my Android phone and it worked. No root required. But why…? Because why not. A developer, Raoul Straczowski, on Github ran Stable Diffusion on his Raspberry Pi 4 and it could generate images up to 400x400 pixels. I think it should work on flagship Android phones, too. Therefore I tried many ways and it finally worked. The result is not bad.\n1. Environment # Device: Sony Xperia 5 II (Android 13) CPU: Qualcomm Snapdragon 865 (Adreno 650) RAM: 8GB Storage: 30GB+ High speed network for downloading large files. 2. Setup Linux environment # Install Termux\nInstall proot Debian. We only need rootfs, there is no need to add a new user and install desktop environment.\nLog into Proot Debian\nproot-distro login debian --shared-tmp Install Git, Vim, Python, Pip apt update apt install git git-lfs vim python3 python3-pip Install Anaconda if you need it. 3. Install Stable Diffusion # There are many versions of Stable Diffusion. I follow Raoul Straczowski’s instructions and choose Stable Diffusion v1.5 made by runwayml. It could run headlessly in terminal.\nClone runwayml’s repository and download all models (around 30GB) git clone https://huggingface.co/runwayml/stable-diffusion-v1-5 cd stable-diffusion-v1-5 git lfs pull Then install python dependences pip install --upgrade diffusers transformers accelerate ftfy xformers 4. Creating a script for generating images # Because my phone only has 8GB RAM, the maximum image size that it could generate is 320x320 pixels. Beyond that Termux will crash immediately.\nDisable background process in Developer Settings. I also enable “Stay awake while charging”. Termux will crash when generating large images due to the limitation of Android OS, so we have to increase the value of max_phantom_processes. Please refer to Fix Singal 9 error to install ADB tools on PC, and execute following commands to set value of max_phantom_processes to 2147483647.\nadb shell \"/system/bin/device_config set_sync_disabled_for_tests persistent; /system/bin/device_config put activity_manager max_phantom_processes 2147483647\" Create a Python script. cd ~ vim app.py Type these from diffusers import StableDiffusionPipeline, EulerDiscreteScheduler # Use local models model_id = \"./stable-diffusion-v1-5\" # Use Euler sampling scheduler = EulerDiscreteScheduler.from_pretrained(model_id, subfolder=\"scheduler\") # Enable low memory usage, set image size to 320x320 and steps to 50. pipe = StableDiffusionPipeline.from_pretrained(model_id, scheduler=scheduler, low_cpu_mem_usage=True, height=320, width=320, num_inference_steps=50) # Bypass NSFW filter pipe.safety_checker = lambda images, clip_input: (images, False) # Prompts prompt = \"A victorian woman stands on grass field.\" # Start generating the image. Use CPU only image = pipe(prompt).images[0] # Save the image image.save(\"result.png\") Let’s go! python app.py Wait for 20 minutes We can see Stable Diffusion consumes almost all memory while computing To view the generated image, move it to the internal storage\nmv result.png /sdcard Here is the result. Not bad, huh? 5. Running Stable Diffusion with Adreno GPU # We can run Stable Diffusion with Adreno GPU to accelerate the generation of images.\n","title":"How to run Stable Diffusion on Termux on Android phone","type":"termux-tutorials"},{"content":"🇺🇸 English version\n這篇文章記錄嘗試在Android手機跑Stable Diffusion，用於AI繪圖的過程，免Root。\nWhy? 因為你值得，寶礦力水得。\n看到Github有人用8GB的樹莓派4跑Stable Diffusion。同為ARM架構的裝置，那照理說高階手機應該也可以如法炮製。\n1. 系統資訊 # 手機：Sony Xperia 5 II (Android 13) CPU：高通Snapdragon 865 (Adreno 650) RAM: 8GB 準備30GB以上的空間，還有很快的4G網路。 2. 設定Linux環境 # 安裝Termux\n安裝proot Debian環境，只要下載步驟1的最小系統，使用root帳號，不用裝桌面環境。\n登入Proot Debian\nproot-distro login debian --shared-tmp 安裝git, vim, Python, Pip apt update apt install git git-lfs vim python3 python3-pip 如果有需要可以安裝Anaconda。 3. 安裝Stable Diffusion # 我下載的是最接近原始的版本，沒有圖形界面，要自己寫Pyhton程式呼叫Stable Diffusion算圖。\n從runwayml的儲存庫下載全部模型，約30GB git clone https://huggingface.co/runwayml/stable-diffusion-v1-5 cd stable-diffusion-v1-5 git lfs pull 接著安裝Python依賴套件 pip install --upgrade diffusers transformers accelerate ftfy xformers 4. 撰寫Stable Diffusion算圖程式 # 用預設的512x512像素下去算Termux會直接崩掉，恐怕需要16GB RAM的電競手機才負荷得了。我的8GB RAM手機最多試到320x320就是極限了(圖片長寬需為2的N次方)。\n至開發人員選項，禁止一切程式背景運作，以將資源集中給Termux。另外啟用充電時螢幕不休眠的選項。 Android預設會殺死佔用過多CPU的行程，參見此篇於電腦安裝ADB工具，並執行以下指令，將max_phantom_processes的值設高一些。\nadb shell \u0026#34;/system/bin/device_config set_sync_disabled_for_tests persistent; /system/bin/device_config put activity_manager max_phantom_processes 2147483647\u0026#34; 回到Termux，進入stable-diffusion-v1-5的上層目錄，新增app.py cd ~ vim app.py 填入以下內容。 from diffusers import StableDiffusionPipeline, EulerDiscreteScheduler # 使用本機模型 model_id = \u0026#34;./stable-diffusion-v1-5\u0026#34; # 使用Euler採樣 scheduler = EulerDiscreteScheduler.from_pretrained(model_id, subfolder=\u0026#34;scheduler\u0026#34;) # 啟用低RAM佔用，長寬320像素，步數50 pipe = StableDiffusionPipeline.from_pretrained(model_id, scheduler=scheduler, low_cpu_mem_usage=True, height=320, width=320, num_inference_steps=50) # 規避NSFW偵測 pipe.safety_checker = lambda images, clip_input: (images, False) # 算圖提示詞 prompt = \u0026#34;A victorian woman stands on grass field.\u0026#34; # 開始算圖，先測試使用CPU image = pipe(prompt).images[0] # 存檔 image.save(\u0026#34;result.png\u0026#34;) 開始算圖 python app.py 用CPU算大約需要30分鐘。 算圖時RAM幾乎是吃滿的狀態，Termux可能會隨時崩潰，不行的話就嘗試降低圖片長寬。 算好後，要取出proot裡的圖檔，將其移動至手機內部儲存空間。\nmv result.png /sdcard 成品像這樣。算圖下限是256x256像素，在那之下的圖片基本不能看。 5. 使用Aderno GPU算圖 # 藉由實驗性的virglrenderer專案，就能讓Stable Diffusion吃到Vulkan，進而使用手機GPU加速算圖。\n在Termux中編譯virglrenderer，執行virgl伺服器。 MESA_NO_ERROR=1 MESA_GL_VERSION_OVERRIDE=4.0 GALLIUM_DRIVER=zink virgl_test_server --use-egl-surfaceless 登入Proot，在執行算圖程式前加上GALIIUM_DRIVER=virpipe讓其使用GPU，程式碼不用改。 GALLIUM_DRIVER=virpipe python app.py GPU加速大約能降低一點點算圖時間。 算出來的結果差距不大。 6. 在chroot裡跑Stable Diffusion # 如果手機RAM不足，何不用SWAP就好了？\n安裝chroot Ubuntu\n仿造上面的步驟安裝Python和Stable Diffusion，或者直接從proot-distro複製檔案 (路徑為/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/ubuntu/root)。\n建立8GB的SWAP檔案，這樣手機就有8+4+8=20GB的RAM了。如果不做此步驟，chroot硬算下去手機會直接重開機。\ndd if=/dev/zero of=/swapfile bs=1M count=8192 status=progress chmod 0600 /swapfile mkswap /swapfile swapon /swapfile 試著將圖片大小調整為標準的512x512像素，嘿，可以運算了。RAM吃多兇可想而知，所以得用ADB Shell或SSH進入chroot防止Termux崩掉。 算一小時後的成品。好像在說：你為什麼要花這麼多時間幹這種事情 參考資料 # How to run Stable Diffusion on Raspberry Pi 4 - GitHub runwayml/stable-diffusion-v1-5 - Hugging Face stabilityai/stable-diffusion-2 - Hugging Face Stable Diffusion with 🧨 Diffusers - Hugging Face Disabling safety-model or fixing false positives? #239 - GitHub ","date":"2023年2月18日","externalUrl":null,"permalink":"/posts/android-stable-diffusion/","section":"Ai-Arts","summary":"🇺🇸 English version\n這篇文章記錄嘗試在Android手機跑Stable Diffusion，用於AI繪圖的過程，免Root。\nWhy? 因為你值得，寶礦力水得。\n看到Github有人用8GB的樹莓派4跑Stable Diffusion。同為ARM架構的裝置，那照理說高階手機應該也可以如法炮製。\n1. 系統資訊 # 手機：Sony Xperia 5 II (Android 13) CPU：高通Snapdragon 865 (Adreno 650) RAM: 8GB 準備30GB以上的空間，還有很快的4G網路。 2. 設定Linux環境 # 安裝Termux\n安裝proot Debian環境，只要下載步驟1的最小系統，使用root帳號，不用裝桌面環境。\n登入Proot Debian\nproot-distro login debian --shared-tmp 安裝git, vim, Python, Pip apt update apt install git git-lfs vim python3 python3-pip 如果有需要可以安裝Anaconda。 3. 安裝Stable Diffusion # 我下載的是最接近原始的版本，沒有圖形界面，要自己寫Pyhton程式呼叫Stable Diffusion算圖。\n從runwayml的儲存庫下載全部模型，約30GB git clone https://huggingface.co/runwayml/stable-diffusion-v1-5 cd stable-diffusion-v1-5 git lfs pull 接著安裝Python依賴套件 pip install --upgrade diffusers transformers accelerate ftfy xformers 4. 撰寫Stable Diffusion算圖程式 # 用預設的512x512像素下去算Termux會直接崩掉，恐怕需要16GB RAM的電競手機才負荷得了。我的8GB RAM手機最多試到320x320就是極限了(圖片長寬需為2的N次方)。\n","title":"如何在Android手機Termux跑Stable Diffusion，用於AI繪圖","type":"ai-art"},{"content":"如果說要給Hugo生成的靜態網站加入留言板(評論區)功能，以前有Gitalk和Utterances能使用，原理是利用Github儲存庫的Issue來存放文章留言，且使用者需要Github帳號才能留言。\n有些Hugo主題還支援使用Disqus當留言板，Disqus好處是能匿名，還支援用Facebook/Google帳號登入留言。但你我都知道，Disqus在被收購後就爛掉了，廣告一堆，載入速度慢，還會收集許多用戶隱私資料。\n在Github推出Discussions功能後，便有人製作了基於該功能的\u0026quot;Giscus\u0026quot;，功能更豐富，可視為Gitalk的替代品。\n那為什麼要從Gitalk切換為Giscus？根據胡涂说博客的說法，樓中樓回覆是Gitub Discussions的一大特色，此外還支援表情符號按讚的功能。\n我認為還有一個好處：Discussions不會像Issue一樣每寫一篇就顯示在我Github首頁的動態，免得別人以為我整天都在寫code\u0026hellip;其實是整天發廢文啦。\nGiscus也支援將舊Gitalk留言遷移至新的系統，效果如下。你也可以試著在本文文末留言試試！ 本文介紹如何將Giscus安裝至Hugo的網頁，並附上從Gitalk轉換過到Giscus的過程。\n1. 建立Hugo留言儲存庫 # ＊ 如果已有存放留言的儲存庫可略過步驟1。\n新建一個儲存庫，名字隨便取。並將儲存庫設定為Public。\n儲存庫建立好之後，點選Settings → Features，啟用Discussions功能 重新整理頁面，該儲存庫應會多出一個Discussions的頁籤。\n2. 安裝Giscus的Github APP # 點此安裝Giscus的Github APP 點選Only selected repositories，僅開放留言儲存庫給Giscus存取。 這樣Giscus便能存取你的留言儲存庫了。\n3. 撰寫Giscus程式碼 # 根據使用的主題不同，要修改的部份也不一樣。我使用的是MemE主題，因此用partial方式嵌入Giscus程式碼。\n切換到Hugo網站根目錄，在partials下建立新comments目錄 mkdir layouts/partials/comments 建立giscus.html touch layouts/partials/comments/giscus.html 至Giscus官網，按照指引取得安裝程式碼。例如未來我要將Gitalk的Issue轉換為Discussion，便設定\u0026lt;title\u0026gt;讓Giscus按照文章標題去Discussions找同標題的討論串。\n再如下勾選： 在giscus.html填入Giscus官網給的程式碼，應該會長這樣：\n\u0026lt;script src=\u0026#34;https://giscus.app/client.js\u0026#34; data-repo=\u0026#34;ivon852/netlify-ivon-blog-comments\u0026#34; data-repo-id=\u0026#34;請自行按照實際情況填入\u0026#34; data-category=\u0026#34;Announcements\u0026#34; data-category-id=\u0026#34;請自行按照實際情況填入\u0026#34; data-mapping=\u0026#34;title\u0026#34; data-strict=\u0026#34;0\u0026#34; data-reactions-enabled=\u0026#34;1\u0026#34; data-emit-metadata=\u0026#34;0\u0026#34; data-input-position=\u0026#34;bottom\u0026#34; data-theme=\u0026#34;preferred_color_scheme\u0026#34; data-lang=\u0026#34;zh-TW\u0026#34; crossorigin=\u0026#34;anonymous\u0026#34; async\u0026gt; \u0026lt;/script\u0026gt; data-mapping=\u0026quot;title\u0026quot;這一段預設是使用部落格文章標題來自動建立Discussion，並以此來當作識別碼，之後Giscus就會用這個判定Discussion屬於哪篇文章。但是我的文章偶爾會改標題，這就會導致日後Giscus搜尋失敗。故我個人是建議改成data-mapping=\u0026quot;url\u0026quot;，使用網址當作Discussion的識別碼。\n因為我的網站有做英文版，為此加入判斷式，偵測config.toml裡面網站語言languageCode的值，來決定Giscus的界面語言。並設定只在網頁正式上線才載入Giscus。\n{{ if eq hugo.Environment \u0026#34;production\u0026#34; }} {{ if eq .Site.Params.languageCode \u0026#34;zh-TW\u0026#34; }} \u0026lt;script src=\u0026#34;https://giscus.app/client.js\u0026#34; data-repo=\u0026#34;ivon852/netlify-ivon-blog-comments\u0026#34; data-repo-id=\u0026#34;請自行按照實際情況填入\u0026#34; data-category=\u0026#34;Announcements\u0026#34; data-category-id=\u0026#34;請自行按照實際情況填入\u0026#34; data-mapping=\u0026#34;url\u0026#34; data-strict=\u0026#34;0\u0026#34; data-reactions-enabled=\u0026#34;1\u0026#34; data-emit-metadata=\u0026#34;0\u0026#34; data-input-position=\u0026#34;bottom\u0026#34; data-theme=\u0026#34;preferred_color_scheme\u0026#34; data-lang= \u0026#34;zh-TW\u0026#34; crossorigin=\u0026#34;anonymous\u0026#34; async\u0026gt; \u0026lt;/script\u0026gt; {{ else }} \u0026lt;script src=\u0026#34;https://giscus.app/client.js\u0026#34; data-repo=\u0026#34;ivon852/netlify-ivon-blog-comments\u0026#34; data-repo-id=\u0026#34;請自行按照實際情況填入\u0026#34; data-category=\u0026#34;Announcements\u0026#34; data-category-id=\u0026#34;請自行按照實際情況填入\u0026#34; data-mapping=\u0026#34;url\u0026#34; data-strict=\u0026#34;0\u0026#34; data-reactions-enabled=\u0026#34;1\u0026#34; data-emit-metadata=\u0026#34;0\u0026#34; data-input-position=\u0026#34;bottom\u0026#34; data-theme=\u0026#34;preferred_color_scheme\u0026#34; data-lang= \u0026#34;en\u0026#34; crossorigin=\u0026#34;anonymous\u0026#34; async\u0026gt; \u0026lt;/script\u0026gt; {{ end }} {{ end }} 4. 修改Hugo主題嵌入Giscus # 我使用的MemE主題需要在config.toml，將enableComments設為true，並將其他留言系統全設為false。\n接著修改themes/meme/layouts/partials/pages/post.html，調整文章裡面顯示的元素。\n原始碼長這樣 {{ partial \u0026#34;components/comments.html\u0026#34; . }} 修改為載入Giscus {{ partial \u0026#34;comments/giscus.html\u0026#34; . }} 部署網站。之後進入網頁會看到Giscus的留言板。跟Gitalk不一樣的是，文章要有人留言，才會出現在Github儲存庫的Discussions頁面，而非文章載入便建立一個Issue。 5. 轉換現有的Gitalk issue為Giscus discussion # Github支援將Issue轉換為Discussion，只不過要手動一個一個轉。我網站的文章有一百多篇怎轉得完？幸好有一半以上文章都沒人留言，所以可以這樣處理：只轉換有人留言的Issue，沒人留言的直接砍掉。\n進入儲存庫的Issue頁面，點選Sort → Most commented，設定為留言多的優先。 點進Issue，按右下角Convert to discussion，類別選Announcements。 轉換後的Issue會出現在Discussion頁面。 進入對應的文章頁面，Giscus就會按照文章標題去找對應的Discussion。 但若改過文章標題怎麼辦？只能手動去Discussions，將Discussion title調整為目前文章的標題了。對文章網頁按右鍵檢視原始碼，找到\u0026lt;title\u0026gt;即可知道文章的完整標題為何。 Giscus的頁面變更可能要等幾分鐘才會出現。\n參考資料 # giscus/giscus: A comment system powered by GitHub Discussions. 给博客换了套新评论系统 - 胡涂说 Yury Zhauniarovich - Giscus: The New Commenting Engine for My Website ","date":"2023年2月13日","externalUrl":null,"permalink":"/posts/hugo-giscus-comment/","section":"所有文章","summary":"如果說要給Hugo生成的靜態網站加入留言板(評論區)功能，以前有Gitalk和Utterances能使用，原理是利用Github儲存庫的Issue來存放文章留言，且使用者需要Github帳號才能留言。\n有些Hugo主題還支援使用Disqus當留言板，Disqus好處是能匿名，還支援用Facebook/Google帳號登入留言。但你我都知道，Disqus在被收購後就爛掉了，廣告一堆，載入速度慢，還會收集許多用戶隱私資料。\n在Github推出Discussions功能後，便有人製作了基於該功能的\"Giscus\"，功能更豐富，可視為Gitalk的替代品。\n那為什麼要從Gitalk切換為Giscus？根據胡涂说博客的說法，樓中樓回覆是Gitub Discussions的一大特色，此外還支援表情符號按讚的功能。\n我認為還有一個好處：Discussions不會像Issue一樣每寫一篇就顯示在我Github首頁的動態，免得別人以為我整天都在寫code…其實是整天發廢文啦。\nGiscus也支援將舊Gitalk留言遷移至新的系統，效果如下。你也可以試著在本文文末留言試試！ 本文介紹如何將Giscus安裝至Hugo的網頁，並附上從Gitalk轉換過到Giscus的過程。\n1. 建立Hugo留言儲存庫 # ＊ 如果已有存放留言的儲存庫可略過步驟1。\n","title":"安裝Giscus作為Hugo網站的留言板，匯入Gitalk與Utterances的留言","type":"posts"},{"content":"分享Ivon使用Fedora Silverlbue的心得。在上面安裝Fcitx5中文輸入法與Nvidia驅動。\n0. 簡介Fedora Silverblue # Fedora有很多種分支，較多人用的分支是為「Fedora Workstation」，而本文介紹的乃是相對新穎的「Fedora Atomic Desktop」分支版。\nFedora Silverblue是2018年推出的Linux發行版，基於更早推出的Fedora CoreOS所開發，主要面向的客群為桌面用戶。\n關於名字的意義，這講來有點複雜。Silverblue主打不變系統 (immutable system) 和原子更新 (Atomic updates)，系統設計上跟傳統的Fedora Workstation不太一樣。\n「Fedora Silverblue」是指採用GNOME桌面的Immutable系統，後來推出的「Fedora Kinoite」則是指採用KDE桌面的Immutable系統，另外還有採用XFCE、Sway的分支版本。這些可以視為相當於Fedora Spins的存在。\n2024年，Fedora開發組將所有包含Immutable與Atomic特性的分支統稱為「Fedora Atomic Desktop」，這樣Silverblue和Kinoite便成為了該傘式術語下的子集合，方便人們用來稱呼這類Immutable系統，又不會與傳統的Fedora混淆。 什麼是不變系統(immutable system)呢？它使用「ostree」管理更新，因此系統本身可視為大型的Git儲存庫。Immutable的系統應當是不可變更的，但若要的話也是可以，Fedoa Silveblue提供了「rpm-ostree」工具，讓使用者能在原有系統映像的基礎上，自行安裝想要的RPM套件。使用者所安裝的軟體會被詳細紀錄，就好像對Git repositroy送出commits一樣。系統更新出錯了能隨意回滾 (rollback) 到舊版。\n跟Fedora Workstation一樣，Silverblue系統套件版本很接近上游。儘管有人說Fedora Silverblue是滾動更新模式，但是它版本還是跟著Fedora Workstation跑的。\nFedora Silverblue系統是不可變的，根目錄為唯讀，只有/etc/和/var/這些目錄能夠讀寫。系統更新的時候會下載新版本映像檔，覆蓋掉舊有的系統檔案。這樣能夠順便清除一些沒用的垃圾檔案，防止電腦用久了出現一堆不知道哪來的軟體。使用者應該儘量避免修改系統的東西，轉而使用容器技術來跑軟體。\n要類比的話，Silverblue比較接近ChromeOS的作法，不允許使用者隨意修改系統設定，保持更新穩定性。 對傳統Linux的使用者來說，會覺得Silverblue很難「駭」進系統，隨意修改設定值。例如想換桌面，其他發行版也許可以裝套件自行設定，但在Silverblue很困難，可能系統更新之後你做的變更就消失了。目前官方僅提供預裝GNOME與KDE的系統，更多桌面的Spin會在未來加入。\n如果想嘗試更穩定的系統，並且知道如何調整容器工作流以適應Fedroa Silverblue，那麼這個系統還是值得嘗試的。\nFedora Silverlue不方便使用DKMS這類原始碼樹外編譯驅動，因此電腦硬體對Linux的支援度必須要夠好，不能有一堆奇怪的驅動要手動編譯安裝。驅動套件最好從Fedora的套件庫下載並以akmod安裝。\n例如我的MSI Modern 15 A10筆電，雙顯示卡Intel + Nvidia勉強受Fedora Silverblue支援；Wifi網路卡廠牌為Intel，大部分驅動受Linux核心與Fedora套件庫支援。\n1. 安裝Fedora Silverblue # 至官網下載Fedora Silverblue的ISO。Fedora Silverblue官方預設的桌面環境為GNOME，若需要KDE Plasma請改下載Fedora Kinoite\n用Ventoy製作開機隨身碟。\n選取Install Fedora Silverblue 語言選中文 接著只要點「安裝目標位置」，點選「取回所有空間」，清除整個硬碟，並將目標硬碟格式化為BTRFS，即可點選安裝。 等待安裝完成。Fedora Silverblue會自動安裝GNOME桌面環境的相關程式，還有注音輸入法(ibus-zhuyin)。\n開機後按照螢幕指示建立使用者帳號，並啟用第三方套件庫。\n2. 安裝額外套件 # Fcitx5中文輸入法 # GNOME內建的ibus-zhuyin不好用，推薦改用Fcitx5。\n安裝Fcitx5輸入法框架與注音輸入法新酷音。因為是需要全域啟用的套件，我採用rpm-ostree安裝 sudo rpm-ostree install fcitx5 fcitx5-chewing fcitx5-gtk3 fcitx5-gtk4 fcitx5-qt fcitx5-qt6 fcitx5-configtool 設定環境變數 sudo cat \u0026lt;\u0026lt;EOF \u0026gt; /etc/environment GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus EOF 重開機 sudo systemctl reboot Nvidia專有驅動 # 因為我的筆電有MX350獨立顯示卡，還需另外安裝Nvidia專有驅動和CUDA套件。 # RPM Fusion預設已經啟用，所以直接安裝Nvidia專有驅動 sudo rpm-ostree install akmod-nvidia xorg-x11-drv-nvidia xorg-x11-drv-nvidia-cuda # 編輯核心參數，禁止nouveau在開機時載入 sudo rpm-ostree kargs --append=rd.driver.blacklist=nouveau --append=modprobe.blacklist=nouveau --append=nvidia-drm.modeset=1 # 重開機 sudo systemctl reboot 我習慣的用法是螢幕顯示交給Intel，程式需要Nvidia時再用Nvidia PRIME指令切換。\n至於說跑CUDA的方法？使用Podman + Nvidia Container Toolkit，這樣不用在本機安裝CUDA。最低限度的要求變成只要有Nvidia閉源驅動就行。至於Nvidia驅動，Silverblue可以照上述方法用ostree裝。\n3. Fedora Silverblue安裝軟體的方法 # Fedora Silverblue安装軟體的方式主要有三種。\nFlatpak # Flatpak容器技術主要用於安裝圖形化的桌面應用程式，例如Google Chrome和GIMP。\nSilverblue內建Flatpak，透過GNOME軟體商店就能下載軟體，存取Flathub的套件庫。 Toolbx # Fedora Silverblue內建Container Toolbx，基於Podman研發的容器技術，主要用於建立開發環境，建立容器後就能使用熟悉的DNF指令安裝套件。\n習慣使用DNF安裝套件的，得將工作流程調整為配合容器環境工作。例如開發Python程式你或許會用虛擬環境防止套件污染，而Toolbx能更方便隔離各個開發環境。\n開啟終端機，新建容器並進入：\n# 如果不填寫名字，預設就是建立一個Fedora容器 toolbox create development # 如果不填寫名字，預設就是建立一個Fedora容器 toolbox enter development 隨後就能在容器內部使用DNF指令，需要sudo。注意家目錄是會一併掛載進容器的，檔案系統並非完全隔離。 退出容器：\ntoolbox exit development 順帶一提，如果需要其他Linux系統的工具工作，我個人覺得DistroBox會是更好的選擇。\nrpm-ostree # 修改目前的系統映像檔，疊一層(layer)在目前的系統映像。當容器化的軟體無法正常運作的時候才考慮使用的方案。\n安裝新軟體就好像在對Git repositroy做commit一樣，是可以追蹤變化的。每次更新系統的時候，rpm-ostree會下載整個新系統的映像檔，然後再套用使用者額外安裝的套件。使用者額外安裝的套件越多，更新就越久。\n若要將軟體安裝至系統就得使用rpm-ostree，例如Vim和KVM，概念上類似用傳統的DNF安裝軟體，然而不是所有軟體都有rpm-ostree版本。\n詳情參考rpm-ostree教學\n4. 更新與回滾系統 # Fedroa Silverblue系統的根目錄全部唯讀，更新後直接覆蓋，僅/var/和/etc/目錄能修改。\nsudo和systemctl的指令還是能使用，只是軟體不要裝到系統目錄，而是應該放到使用者家目錄下，並盡量多採用Flatpak和Toolbx的技術裝軟體。\nSilverblue更新全系統套件的指令如下，安裝後需要重新開機。\nsudo rpm-ostree upgrade sudo systemctl reboot 更新後，GRUB開機選單會出現新版本和舊版本，點選可以暫時回滾(降級)至舊版本。由於Silverblue的系統設計機制緣故，系統要弄壞很難。\n更新系統弄壞了怎麼辦？用rollback指令回滾上一個版本：\nsudo rpm-ostree rollback 若要進行大版本更新，例如從Fedora 41升級到Fedora 42，就要用到rebase指令：\nsudo rpm-ostree upgrade sudo rpm-ostree rebase fedora:fedora/42/x86_64/silverblue 參考資料 # Fedora Silverblue User Guide How To Install NVIDIA Drivers In Fedora Silverblue [2021] Introducing Fedora Atomic Desktops - Fedora Magazine ","date":"2023年2月11日","externalUrl":null,"permalink":"/posts/install-fedora-silverblue/","section":"所有文章","summary":"分享Ivon使用Fedora Silverlbue的心得。在上面安裝Fcitx5中文輸入法與Nvidia驅動。\n0. 簡介Fedora Silverblue # Fedora有很多種分支，較多人用的分支是為「Fedora Workstation」，而本文介紹的乃是相對新穎的「Fedora Atomic Desktop」分支版。\nFedora Silverblue是2018年推出的Linux發行版，基於更早推出的Fedora CoreOS所開發，主要面向的客群為桌面用戶。\n關於名字的意義，這講來有點複雜。Silverblue主打不變系統 (immutable system) 和原子更新 (Atomic updates)，系統設計上跟傳統的Fedora Workstation不太一樣。\n「Fedora Silverblue」是指採用GNOME桌面的Immutable系統，後來推出的「Fedora Kinoite」則是指採用KDE桌面的Immutable系統，另外還有採用XFCE、Sway的分支版本。這些可以視為相當於Fedora Spins的存在。\n2024年，Fedora開發組將所有包含Immutable與Atomic特性的分支統稱為「Fedora Atomic Desktop」，這樣Silverblue和Kinoite便成為了該傘式術語下的子集合，方便人們用來稱呼這類Immutable系統，又不會與傳統的Fedora混淆。 ","title":"Fedora Silverblue安裝與使用，用ostree保證系統穩定性的Linux發行版","type":"posts"},{"content":" 閱讀一本刻畫入微得令人驚顫的書，在我們把書本放下，回到現實生活時，我們也許會注意到相同的細節，有如作者與我們為伍。我們的心靈就像調整過的雷達，可以擷取在意識中漂流的東西\u0026hellip;在書中成行的敏感將活化我們的感覺，刺激我們那已麻木不的神經。\nKonyaaltı Beach by Melissa Maples\n感知藉由書本活化，使得有了看世界的不同面貌。即使，世界依然是過去的世界。是美麗，是醜陋，在心的感受中有了不同的樣貌。\n想到女性主導(femdom)的標籤，多少會扯到病嬌(yandere)的標籤吧，不過那偏心裡層面，bdsm則是肉體層面。\n這裡關注的重點不是有道具場面，而是女性主導，男性受虐的情節的本子。女方主動騎上來強暴、或勾引的，不算。\n「後面那個我大概了解，每次只要有未成年男性被成年女性猥褻，八卦魯宅、蝈蝻就會說『夾我試試』、『有種衝著我來』」\n單純讓男方爽的「虐待」，在這裡是不會納入討論的，男方必須受到實質痛苦，不過沒有到獵奇的程度。\n先從輕鬆的開始，讓高木幫你打，結果是飛機杯用完就跑。\n[Starmine18 (HANABi)] 高木さんとオナホール (からかい上手の高木さん)\n「哪裡是虐待了，我不是來看情侶放閃的好不。」\n男方被當作教育工具，打藥以給其他女性輪暴。\n[Penetrate (零覇)] 軽巡洋艦の実技性教育 (艦隊これくしょん -艦これ-)\n「拉繩子也太過分了吧」\n雖是有點M但最後還是有射出來的，強制禁欲，久久射精一次。違規射精，下場就是被爆蛋蛋，或是連續射精二十次以上。\n[狼狽亭 (atahuta)] たのしい精液牧場繁殖編 (ストライクウィッチーズ)\n「狼狽亭繪製的精液牧場的男性，常常只有露出雞雞，讓人懷疑是不是男人都只是會走路的雞雞」\n踹蛋蛋，騎乘位爽完幾次後封印你的雞雞，真正的射精管理\n[774ハウス (774)] 鈴香様の下僕\n「應該是要封印膀胱頸才能阻止射精吧？這比較像阻止勃起。」\n碧藍航線的吸血鬼，踩雞雞。好不容易願意做愛，卻在射的時候踹男主一腳，不給內射。\n[ぷりたにあ (ぷり)] 足コキ!ヴァンパイアちゃん (アズールレーン)\n「你是一個一個一個，啊！\u0026hellip;嘲諷意味滿點。」\n跟上面同一個作者，正太變成蘿的自慰玩具，被穿著BDSM服裝的蘿肛，附帶高潮拒絕(orgasm denial)、貞操帶等劇情。\n(ぷにけっと35) [ぷりたにあ (ぷり)] 艦娘のオナペット提督 (艦隊これくしょん -艦これ-)\n「請踩我，不，肛我！orgasm denial是指在性興奮的升高狀態下保持一段時間而不進行性高潮的性交形式，算正式的射精管理嗎？一不小心雞雞會被玩壞掉呢。這個作者真的很會玩調教。」\n因為遭到背叛，便將男方勒成植物人，感覺像社會新聞常見的情殺。うすべに桜子的本子很多都是這種病嬌，獵奇情節的。奶子和大屁股的畫風勉強能用。\n[うすべに屋 (うすべに桜子)] スケープゴート (艦隊これくしょん -艦これ-)\n「勒住舌頭\u0026hellip;脖子雖不容易，但它帶來的果效是極大的。 往小處說，它改變了當日家裡的氣氛；往大處說，它改變了未來，而且很可能是二人的未來。」\n改編自歷史事件上閹伶的故事，為了長大後保持嗓音，便要將雞雞剁掉。在第一次，也是最後一次騎完大車後，正太的雞雞就被切掉了。因為有真的畫出雞雞被切掉的畫面，除非有特殊癖好，否則前面看得很爽，後面會嚇到軟掉吧。好吧，起碼這本結局過得幸福快樂(?) 女方拿被割掉的雞雞肛正太還蠻有創意的。\n[こくりう] Castrato (ガールズフォーム Vol.04)\n「重口味的極致，跟電影絕代艷姬演的藝術鏡頭差很多呢。電影是泡在牛奶浴裡，任血慢慢蔓延出來，這本則簡單直白的呈現了過程。」\n最後的，少女M系列是長達五集的原創長篇故事。其中一段是男方社會性死亡，又在失魂落魄的情況下，被切掉雞雞，可謂是心裡和物理都破壞殆盡。即使有些畫面畫得夠色，但我們彷彿在讀的時候也一併感受到男方背後沈重的心靈壓力，致使畫面好看，也會越看越揪心。\n[なごみやさん (鈴木和)] 少女M\n「這系列的精神衝擊不亞於《變身》，如果說變身是自己的悲劇，那少女M便是三人牽扯出的一幕幕慘劇。」\n我們心靈深處有些地方，教人不得其門而入，閱讀卻有開啟這些地方的魔鑰。所以閱讀在我們生活中扮演的角色是令人激賞的。但閱讀可能也是危險的，如果它不能喚醒沉睡的心靈，而是要取代心靈；那麼真理就不再是需要親密的思想交流與心靈的努力去了解的理想，而只是書頁裡的東西，變成像現代的蜂蜜產品，隨手從圖書館的書架上便可取得，漫不經心的翻閱，身心靈都毫不費力的取得。\n閱讀體驗帶來的是真實的體驗，但是那不是真實的人生。\n是的，閱讀終究能滿足人們的想像，可是人們不能活在想像、或是按照想像的風景去行事，最後還是要走出來。\n追憶過去的似水年華時，「當一個人不能擁有的時候，他唯一能做的便是不要忘記。」\n","date":"2023年2月11日","externalUrl":null,"permalink":"/posts/psychological-bdsm-doujin/","section":"Nsfws","summary":" 閱讀一本刻畫入微得令人驚顫的書，在我們把書本放下，回到現實生活時，我們也許會注意到相同的細節，有如作者與我們為伍。我們的心靈就像調整過的雷達，可以擷取在意識中漂流的東西…在書中成行的敏感將活化我們的感覺，刺激我們那已麻木不的神經。\nKonyaaltı Beach by Melissa Maples\n感知藉由書本活化，使得有了看世界的不同面貌。即使，世界依然是過去的世界。是美麗，是醜陋，在心的感受中有了不同的樣貌。\n想到女性主導(femdom)的標籤，多少會扯到病嬌(yandere)的標籤吧，不過那偏心裡層面，bdsm則是肉體層面。\n","title":"一些女性主導調教，男主是抖M的本子","type":"nsfw"},{"content":"其實用Linux並沒有很厲害，尤其是只會當Windows一樣的普通系統看待，稍微懂得重灌系統，寫點小程式便自鳴得意。加以外行人看到對電腦稍微熟練，便頭以羨慕的眼神，會給自己造成錯誤的幻覺，覺得搞不好自己真是電腦天才。\n並不是這樣的。\n最近在更新Blog的留言板系統，試著想用AWS架設Disqus的替代品：ISSO，換掉Gitalk。原本以為，用Linux也有一段時日了，架個留言伺服器應該不難，結果發現Ngnix都不會設定，SSL認證搞不到——這些東西，過去Netlify和Blogger都預先處理好了。在真實時間不充分的情況下，只得暫時作罷，改研究較為簡單的Giscus。\n原來到現在我還是腳本小子 (script kiddie，只會拿現成的駭客工具搞低級破壞的小屁孩)\n開源社群讓很多人不論身份都能參與貢獻，我很感激。但是很抱歉呢，不學無術的人，看事情的深度是難以超越真正有料的人的。\n這讓我想到大學時的荒唐之舉：各種跨修外系課，完全不管未來用途的。外語系跨選中文系的課可能還好，寫了針對文學的研究報告還被讚嘆文采比中文系學生好哪。\n但其中最誇張的，便是去跨修資工科的課程：不是單純學程式語言，而是牽涉到作業系統和演算法的深層知識。\n2021年，去跨修跟語文學系八竿子打不著的電腦通訊學系的Linux入門課，當時已經有些Ubuntu底子，因此去那門給大一開的課，程度是屌打的。\n不過程度也就這樣子而已，對系統指令稍有概念便洋洋得意，考試問指令都回答得出來。可是，牽扯到網路還有權限(數字)的基礎觀念題，就變成用死背的才回答的出來。\n基礎不穩，就會變成這樣。即使有翻過計算機概論，過去理科是從沒及格過的，我也沒有高職的專業技能訓練，從而碎片化的從網路上的文章，速成電腦方面的知識，也包含Linux。\n後來，教授請到業界的人士來談論Linux物聯網用於農業應用，用樹莓派分類果子重量等，我顯得興趣缺缺，殊不知那是該系學生未來極好的發展方向。以及令一個業界人士談論Podman即將取代docker作為雲端未來時，我居然是問「桌面用戶適合用Docker嗎？」\n眼見狹窄可見一斑。也是大約在那的時候，編譯出能在Android手機執行Docker的kernel，可我只覺得好玩，完全不知道這樣能幹嘛。\n到現在，對Linux的熟練度，更多是「玩」出來的，多接觸便會了解怎麼做。然而，這樣會落入一個誤區：知其然而不知其所以然。即使知道很多指令，連Linux核心都會編譯了，到現在還是不會架FTP伺服器。\n大學的那堂課，教授時不時會炫耀，說我VI打字很快，用Linux好多年了，一副「敢不敢跟我比劃比劃？！」的姿態。好吧，他跟很多業界大佬很熟，本身也有帶學生參加過許多競賽得獎，確實是可以敬佩的老師。只不過，這股習氣不禁延續到我身上的了。當一個人的實際學識深度比不上外表的亮麗之時，便容易倚老賣老——尤其沒有本錢之時，此種態度更顯得不成熟。\n上Linux入門課的收穫是補齊基本觀念，包括節點、權限的數字意義。從業界用法來看，市面上的Linux書籍都是從架網站為目的開始講解，而幾乎沒有像Windows當桌面系統的書籍，也大概了解為何會如此。\n在離開的最後一個季節，選修作業系統的課程，講解作業系統底層的排程原理之類的知識。\n這個課程教授保證說不會工數也能過啦，因為教的是概念居多。結果，我還是只考及格分飛過。\n原因是資工就算有少量課不用數學，演算法和資料結構的概念還是會找上門來。當我看到厚厚的，以恐龍當封面的課本(\u0026ldquo;Operating System Concepts\u0026rdquo;)，第一次體會到一學期課本不可能上完，是怎樣的感覺。資工低年級的課沒修過，在知識缺乏的情況下，我連CPU週期的甘特圖都不知道在畫什麼；要用C語言實作Linux的fork程式的時候，最後也是差點寫不出來。\n因此這是很不好的經驗。唯一有學到的經驗是，對資工的世界有了粗淺的入門認識，以及知道自己的程度在哪裡。那本恐龍書即使現在看不懂，未來，若繼續堅持研究作業系統下去，遲早也能領悟其中原理。\n現今的網路社會，充斥碎片化的文章知識，包括這個Blog也一樣，充斥著「新奇」、「快速」的解決方案，看似圖文並茂，讀完覺得自己又學到東西了。但很多時候，缺乏推導、背景敘述，文章的價值變成解決某人的問題的參考文章之用。雖感到欣喜，但潛意識中一直認知著：我其實是沒有料的空殼，靠新鮮的東西譁眾取寵的假駭客而已。誠然，做網站，寫些小Javascript會讓人有種厲害的感覺，但在缺乏體系的學習與精進之下，最後也會變成自視甚大的「geek」罷了。\n對3C事物感興趣，甚至能寫一堆廢文品頭論足，不代表此人真的有IT方面的專業知識。或者說，真正的行家，是不屑於在對某議題一知半解的情況下，就寫文章拍影片大肆宣傳自己的。因為他們知道，暴露在洶湧的網路流量和鎂光燈下，遠不如持續精鍊手中的專案，才是真正提昇自我之道。\n在經過這番思考後，了解到即使現在還是愛用Linux、研究Linux當作日常桌面系統的路上，也不可目中無人，無視現實世界真正的專業需求，而沈溺在整天看geek間分享的meme所帶來的虛假成就快感之中。像是用dwm＋st＋demnu很酷，可那真的對我有好處嗎？對其他人，乃至企業的價值呢，還是只想裝酷呢？\n所有的偽裝與驕矜，在面對現實洪流之時，才會暴露出真面目。為此，還得繼續保持學習精神，並逐步、系統性補完缺乏的專業性基礎科目。\n","date":"2023年2月10日","externalUrl":null,"permalink":"/posts/am-i-still-a-script-kiddie/","section":"Personals","summary":"其實用Linux並沒有很厲害，尤其是只會當Windows一樣的普通系統看待，稍微懂得重灌系統，寫點小程式便自鳴得意。加以外行人看到對電腦稍微熟練，便頭以羨慕的眼神，會給自己造成錯誤的幻覺，覺得搞不好自己真是電腦天才。\n並不是這樣的。\n最近在更新Blog的留言板系統，試著想用AWS架設Disqus的替代品：ISSO，換掉Gitalk。原本以為，用Linux也有一段時日了，架個留言伺服器應該不難，結果發現Ngnix都不會設定，SSL認證搞不到——這些東西，過去Netlify和Blogger都預先處理好了。在真實時間不充分的情況下，只得暫時作罷，改研究較為簡單的Giscus。\n原來到現在我還是腳本小子 (script kiddie，只會拿現成的駭客工具搞低級破壞的小屁孩)\n開源社群讓很多人不論身份都能參與貢獻，我很感激。但是很抱歉呢，不學無術的人，看事情的深度是難以超越真正有料的人的。\n這讓我想到大學時的荒唐之舉：各種跨修外系課，完全不管未來用途的。外語系跨選中文系的課可能還好，寫了針對文學的研究報告還被讚嘆文采比中文系學生好哪。\n但其中最誇張的，便是去跨修資工科的課程：不是單純學程式語言，而是牽涉到作業系統和演算法的深層知識。\n2021年，去跨修跟語文學系八竿子打不著的電腦通訊學系的Linux入門課，當時已經有些Ubuntu底子，因此去那門給大一開的課，程度是屌打的。\n","title":"腳本小子的過往回憶與未來展望","type":"personal"},{"content":"Convert/digitalize the audio cassette tape using Linux PC.\n卡式錄音帶(cassette tape)，早於CD前的錄音媒介，使用磁帶儲存資料，曾經風靡世界好一陣子。現在應該沒多少人還有錄音帶的播放裝置了，過去的錄音帶也大批成為舊書攤的拍賣物件。\n但是看到家中購買的錄音帶收藏，總不忍將其直接丟棄。如果CD音樂因為音質高尚有數位化(digitalize)成mp3的價值，錄音帶當然也可以。我們可以將錄音帶播放器接到電腦，直接錄製錄音帶的音樂，再轉存成數位音訊檔案。\n例如這裡有一張1995年的張國榮《寵愛》錄音帶，我們要把裡面的歌曲轉存為數位音樂檔。 你需要準備一台錄音帶播放器，還有具備6個音訊孔的桌上型電腦。\n作業系統：Arch Linux 6.1.9 KDE 音訊系統：Pipewire，相容PulseAudio 錄製軟體：Audacity 1. 準備錄音帶播放器 # 買一台CD、廣播、錄音帶三合一的音響，且要買具備數位輸出孔(耳機孔)的。單純因為便宜才買這種，不然買專業的錄音帶播放器也行。 接著買一條3.5mm公對公音源線。 將錄音帶放進播放器，音源線接到播放器的耳機孔 音源線另一頭接到電腦主機後面的Line In藍色孔。 2. 電腦錄製錄音帶 # Pipewire預設的錄音取樣率是48Khz，這個音質用來錄製錄音帶音樂足夠了。\nKDE的系統設定→音訊可以看到目前的錄音裝置，設定檔選取\u0026quot;Analog Stereo Duplex\u0026quot;，連接埠選取\u0026quot;Line In\u0026quot;，並將音量調到50%以下防止爆音。 安裝開源音訊編輯軟體Audacity：\nsudo pacman -S audacity 開啟Audacity，點選紅色的錄製按鈕。 接著播放錄音帶，Audacity就會開始錄音。 收音一段後按左上角的方形「停止」，錄音帶那頭也暫停播放。接著你可以按Audacity左上角的綠色播放鍵試聽音量是否太大或太小。如果不滿意就按Ctrl ＋ Z返回上一步驟，重錄。 鑑於錄音帶無法跳軌，所以得整面錄完後，再另外剪輯。但這裡我們先錄一首歌就好。\n錄製完成後，點選左上角的檔案→匯出音訊， 點選右下角，選取格式為「Flac」無損音訊檔，接著按「儲存」。 在音訊檔所在目錄放入的專輯封面圖片(命名為cover.jpg)，再用VLC即可播放音訊檔。 ","date":"2023年2月7日","externalUrl":null,"permalink":"/posts/linux-digitalize-cassette-tape/","section":"所有文章","summary":"Convert/digitalize the audio cassette tape using Linux PC.\n卡式錄音帶(cassette tape)，早於CD前的錄音媒介，使用磁帶儲存資料，曾經風靡世界好一陣子。現在應該沒多少人還有錄音帶的播放裝置了，過去的錄音帶也大批成為舊書攤的拍賣物件。\n但是看到家中購買的錄音帶收藏，總不忍將其直接丟棄。如果CD音樂因為音質高尚有數位化(digitalize)成mp3的價值，錄音帶當然也可以。我們可以將錄音帶播放器接到電腦，直接錄製錄音帶的音樂，再轉存成數位音訊檔案。\n例如這裡有一張1995年的張國榮《寵愛》錄音帶，我們要把裡面的歌曲轉存為數位音樂檔。 你需要準備一台錄音帶播放器，還有具備6個音訊孔的桌上型電腦。\n作業系統：Arch Linux 6.1.9 KDE 音訊系統：Pipewire，相容PulseAudio 錄製軟體：Audacity 1. 準備錄音帶播放器 # 買一台CD、廣播、錄音帶三合一的音響，且要買具備數位輸出孔(耳機孔)的。單純因為便宜才買這種，不然買專業的錄音帶播放器也行。 接著買一條3.5mm公對公音源線。 將錄音帶放進播放器，音源線接到播放器的耳機孔 音源線另一頭接到電腦主機後面的Line In藍色孔。 ","title":"Linux 將卡式錄音帶的音樂轉錄到電腦，配合Audacity存成數位MP3檔案","type":"posts"},{"content":"Void Linux不是適合新手的發行版，它針對的是喜歡混合BSD風味的Linux中高階用戶。\nJust on the border of your waking mind\nThere lies another time\nWhere darkness and light are one\nAnd as you tread the halls of sanity\nYou feel so glad to be\nUnable to go beyond\n在裝Void的時候，不禁想到上面Electric Light Orchestra的Time專輯。法國有部電影叫Enter the void，嗑藥後進入未知虛空探索。\n虛空？我還基岩勒，有玩過Minecraft的都知道。碰巧有個允許自由拼裝系統的發行版，叫作Bedrock Linux。\n但是根據Wiki說法，Void的名字來自來源於C語言的空指標，因為XBPS剛開始開發的時候就是從這裡開始，除此之外無特殊含義。\nVoid Linux是滾動更新的發行版，自2008年起獨立研發，不基於任何現有的Linux發行版。跟Debian類似，Void Linux預設不啟用不自由的軟體庫，需要使用者額外安裝。\nVoid Linux宣稱是穩定滾動更新(stable rolling release)，而不是追求最新版(bleeding edge)。可是\u0026hellip;Fedora和openSUSE Tumbleweed的使用者也都說他們的系統也很穩定呀。\n套件管理員XBPS同樣也是從頭寫起，套件庫託管在Github，並有20多個映射站。除一般軟體還提供debug symbol的版本。此外xbps-src則是像Arch Linux的makepkg一樣能自行編譯軟體。\nVoid Linux開發者之一就是從NetBSD來的，因此跟Slackware一樣，刻意保有BSD風格。Void很久以前的init系統是用Systemd，後來改成runit了，追求簡單快速。\n特別的是Void的官網提供glibc和musl的安裝映像檔供選擇(他們說這樣是支持C語言多樣性)，Gentoo也是如此。\nmusl還讓人聯想到Alpine Linux，可Void並沒有Alpine那樣迷你的特性。但有選擇總是好事，迴避了musl對多語系支援差的問題。\nVoid Linux是有官方說明文件，不過嘛言簡意賅，要自行摸索一番。Void沒有圖形安裝器，只有引導式指令稿，預設不會裝一堆有的沒的，或許這正是簡潔之處。\n1. 安裝Void Linux # 至官網下載ISO。下載ISO的時候選XFCE4 glibc的LiveUSB，這樣才能自動安裝圖形環境。記得檢查檔案完整性防止檔案毀損。\n用Ventoy製作開機隨身碟。開機後，開啟終端機，切換成root帳號(su root，密碼voidlinux)，才能執行void-installer的安裝指令稿。\nvoid-installer僅有純文字介面引導，一整個BSD的風格。 依序進入各選項，用鍵盤設定完成。在Select installation source階段選local從ISO離線安裝系統。 新增使用者時記得視需要將其加入群組 UEFI開機，硬碟分區要如下分割 掛載點部份，EFI分區要掛到/boot/efi。剩下的分區則是掛在系統根目錄/。 等待指令稿安裝完成。\n2. 開機後 # 即使Void Linux的安裝指令稿會將系統設定為中文，但卻漏了中文字體\u0026hellip;沒關係，左上角能找到終端機就行。 更新所有套件至最新版(XBPS更新後要再執行一次): sudo xbps-install -Su sudo xbps-install -u xbps sudo xbps-install -Su 安裝Fcitx5中文輸入法和中文字體 sudo xbps-install fcitx5 fcitx5-chewing fcitx5-chinese-addons fcitx5-configtool fcitx5-kcm fcitx5-gtk fcitx5-qt5 vim noto-fonts-cjk 以vim編輯/etc/environment加入以下內容 GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx SDL_IM_MODULE=fcitx GLFW_IM_MODULE=ibus XFCE4沒看到音量控制請安裝此套件然後再對系統匣按右鍵，手動加入音量控制。 sudo xbps-install xfce4-pulseaudio-panel 接著安裝專有軟體庫(nonfree) sudo xbps-install void-repo-nonfree linux-firmware 供參考：安裝Nvidia和Intel的顯示卡驅動 sudo xbps-install nvidia intel-video-accel 3. XBPS套件管理員使用方式 # 詳細參考官方文件XBPS Package Manager\nXBPS將管理套件拆成幾個指令。\nxbps-query搜尋套件 xbps-install安裝套件 xbps-remove移除套件 xbps-reconfigure重新設定套件 4. runit管理系統服務 # 詳細參考官方文件Services and Daemons - runit\n欲啟動服務，使用sv指令：\nsudo sv up \u0026lt;服務名稱\u0026gt; sudo sv down \u0026lt;服務名稱\u0026gt; sudo sv restart \u0026lt;服務名稱\u0026gt; sudo sv status \u0026lt;服務名稱\u0026gt; 開機自動啟動服務則是使用符號連結，要取消就將/var/service/的符號連結刪除。\n# 開機狀態下此指令。連結後服務就會自動啟動 sudo ln -s /etc/sv/\u0026lt;服務名稱\u0026gt; /var/service/ # 設定開機自動啟動服務 sudo ln -s /etc/sv/\u0026lt;服務名稱\u0026gt; /etc/runit/runsvdir/default/ 值得注意的是XBPS更新套件後不會自動重啟服務，需要執行xcheckrestart是否有舊版本的形成仍在運作。\n5. 結論 # BSD愛好者才會喜歡Void Linux吧，外國網友列出使用Void的理由都是程式設計師才會在意的點。\nVoid Linux就像是更新比較勤的Slackware，沒有Systemd的Arch。\n","date":"2023年2月2日","externalUrl":null,"permalink":"/posts/install-void-linux/","section":"所有文章","summary":"Void Linux不是適合新手的發行版，它針對的是喜歡混合BSD風味的Linux中高階用戶。\nJust on the border of your waking mind\nThere lies another time\nWhere darkness and light are one\nAnd as you tread the halls of sanity\nYou feel so glad to be\nUnable to go beyond\n在裝Void的時候，不禁想到上面Electric Light Orchestra的Time專輯。法國有部電影叫Enter the void，嗑藥後進入未知虛空探索。\n虛空？我還基岩勒，有玩過Minecraft的都知道。碰巧有個允許自由拼裝系統的發行版，叫作Bedrock Linux。\n但是根據Wiki說法，Void的名字來自來源於C語言的空指標，因為XBPS剛開始開發的時候就是從這裡開始，除此之外無特殊含義。\nVoid Linux是滾動更新的發行版，自2008年起獨立研發，不基於任何現有的Linux發行版。跟Debian類似，Void Linux預設不啟用不自由的軟體庫，需要使用者額外安裝。\nVoid Linux宣稱是穩定滾動更新(stable rolling release)，而不是追求最新版(bleeding edge)。可是…Fedora和openSUSE Tumbleweed的使用者也都說他們的系統也很穩定呀。\n套件管理員XBPS同樣也是從頭寫起，套件庫託管在Github，並有20多個映射站。除一般軟體還提供debug symbol的版本。此外xbps-src則是像Arch Linux的makepkg一樣能自行編譯軟體。\n","title":"初探Void Linux安裝","type":"posts"},{"content":"有些文章的圖片太多，放直排會佔掉很長版面，用details壓起來也不好察覺，所以就想加一個橫向圖片輪播的功能。\n這個功能在Blogger叫做燈箱，不過他是全螢幕，我只要文章內裝飾就行，這個圖片輪播的功能便稱作carousel或slideshow。\n做出來的效果如下(此處僅有示意圖片)，可設定手動播放、自動滾動、一頁幾張圖片等細部設定，還支援影片喔。 1. 嘗試過的方案 # W3C和其他類似教學用純CSS實作圖片輪播的問題在於又臭又長\n存成partial也不能傳參數進去(不會寫:P)，CSS還會全域汙染。\nHugo Codex提供的Slider/Carousel 還得另外將使用的圖片寫在yaml，效率太差。\n所以就採用將網頁HTML渲染成圖片輪播的方案\u0026quot;Splide.js\u0026quot;。跟Splide類似的方案有\u0026quot;Slick.js\u0026quot;，而Splide.js語法比較簡潔。\n2. 安裝Splide.js # Splide.js可以用CDN載入，也能直接安裝至網站，我選擇後者。\n下載Splide的原始碼，解壓縮。\ndist目錄含有Javascript和CSS，將其放到hugo網站目錄下的/static/js。 3. 文章嵌入圖片輪播圖 # Hugo文章插入圖片輪播的語法如下，在Markdown檔案直接輸入。開頭的JS和CSS只要插入一次就夠了。 \u0026lt;!--JS路徑--\u0026gt; \u0026lt;script src=\u0026#34;/js/splide/dist/js/splide.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;!--選擇要使用的CSS主題--\u0026gt; \u0026lt;link rel=\u0026#34;stylesheet\u0026#34; href=\u0026#34;/js/splide/dist/css/themes/splide-skyblue.min.css\u0026#34;\u0026gt; \u0026lt;!--建立Splide。data-splide設定參數為播放到最後就退回第一張，並每次顯示一張圖片。--\u0026gt; \u0026lt;div class=\u0026#34;splide\u0026#34; role=\u0026#34;group\u0026#34; aria-label=\u0026#34;Splide\u0026#34; data-splide=\u0026#39;{\u0026#34;type\u0026#34;:\u0026#34;loop\u0026#34;,\u0026#34;perPage\u0026#34;:1}\u0026#39;\u0026gt; \u0026lt;div class=\u0026#34;splide__track\u0026#34;\u0026gt; \u0026lt;ul class=\u0026#34;splide__list\u0026#34;\u0026gt; \u0026lt;li class=\u0026#34;splide__slide\u0026#34;\u0026gt;\u0026lt;/li\u0026gt; \u0026lt;li class=\u0026#34;splide__slide\u0026#34;\u0026gt;\u0026lt;/li\u0026gt; \u0026lt;li class=\u0026#34;splide__slide\u0026#34;\u0026gt;\u0026lt;/li\u0026gt; \u0026lt;li class=\u0026#34;splide__slide\u0026#34;\u0026gt;\u0026lt;/li\u0026gt; \u0026lt;/ul\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;/div\u0026gt; \u0026lt;script\u0026gt; new Splide( \u0026#39;.splide\u0026#39; ).mount(); \u0026lt;/script\u0026gt; 其中的\u0026lt;li class=\u0026quot;splide__slide\u0026quot;\u0026gt;就是要輪播的內容，可以是文字，也可以是圖片。並且Splide.js會自動偵測有多少行splide__slide的class。\n例如要輪播三張圖片，就在\u0026lt;li class=\u0026quot;splide__slide\u0026quot;\u0026gt;後面插入圖片語法：\n\u0026lt;ul class=\u0026#34;splide__list\u0026#34;\u0026gt; \u0026lt;li class=\u0026#34;splide__slide\u0026#34;\u0026gt;\u0026lt;img src=https://i.imgur.com/V0KTWAZ.png\u0026gt;\u0026lt;/li\u0026gt; \u0026lt;li class=\u0026#34;splide__slide\u0026#34;\u0026gt;\u0026lt;img src=https://i.imgur.com/9B8KBob.jpg\u0026gt;\u0026lt;/li\u0026gt; \u0026lt;li class=\u0026#34;splide__slide\u0026#34;\u0026gt;\u0026lt;img src=https://i.imgur.com/3XFQVrD.jpg\u0026gt;\u0026lt;/li\u0026gt; \u0026lt;/ul\u0026gt; 如果要插入多個圖片輪播，就將每個Splide class末尾的new Splide( '.splide' );去掉，再將以下作者給的範例函數放到文章末尾，並加上監聽圖片載入完成，才渲染圖片輪播。 \u0026lt;script\u0026gt; var elms = document.getElementsByClassName( \u0026#39;splide\u0026#39; ); for ( var i = 0; i \u0026lt;= elms.length; i++ ) { new Splide( elms[ i ] ).mount(); } document.addEventListener( \u0026#39;DOMContentLoaded\u0026#39;, function() { var splide = new Splide( \u0026#39;.splide\u0026#39; ); splide.mount(); } ); \u0026lt;/script\u0026gt; 其他自定義項目和進階範本請參考Splide.js的說明文件。 ","date":"2023年2月1日","externalUrl":null,"permalink":"/posts/hugo-splide-image-carousel/","section":"所有文章","summary":"有些文章的圖片太多，放直排會佔掉很長版面，用details壓起來也不好察覺，所以就想加一個橫向圖片輪播的功能。\n這個功能在Blogger叫做燈箱，不過他是全螢幕，我只要文章內裝飾就行，這個圖片輪播的功能便稱作carousel或slideshow。\n做出來的效果如下(此處僅有示意圖片)，可設定手動播放、自動滾動、一頁幾張圖片等細部設定，還支援影片喔。 1. 嘗試過的方案 # W3C和其他類似教學用純CSS實作圖片輪播的問題在於又臭又長\n存成partial也不能傳參數進去(不會寫:P)，CSS還會全域汙染。\nHugo Codex提供的Slider/Carousel 還得另外將使用的圖片寫在yaml，效率太差。\n所以就採用將網頁HTML渲染成圖片輪播的方案\"Splide.js\"。跟Splide類似的方案有\"Slick.js\"，而Splide.js語法比較簡潔。\n2. 安裝Splide.js # Splide.js可以用CDN載入，也能直接安裝至網站，我選擇後者。\n下載Splide的原始碼，解壓縮。\ndist目錄含有Javascript和CSS，將其放到hugo網站目錄下的/static/js。 3. 文章嵌入圖片輪播圖 # Hugo文章插入圖片輪播的語法如下，在Markdown檔案直接輸入。開頭的JS和CSS只要插入一次就夠了。 \u003c!--JS路徑--\u003e \u003cscript src=\"/js/splide/dist/js/splide.min.js\"\u003e\u003c/script\u003e \u003c!--選擇要使用的CSS主題--\u003e \u003clink rel=\"stylesheet\" href=\"/js/splide/dist/css/themes/splide-skyblue.min.css\"\u003e \u003c!--建立Splide。data-splide設定參數為播放到最後就退回第一張，並每次顯示一張圖片。--\u003e \u003cdiv class=\"splide\" role=\"group\" aria-label=\"Splide\" data-splide='{\"type\":\"loop\",\"perPage\":1}'\u003e \u003cdiv class=\"splide__track\"\u003e \u003cul class=\"splide__list\"\u003e \u003cli class=\"splide__slide\"\u003e\u003c/li\u003e \u003cli class=\"splide__slide\"\u003e\u003c/li\u003e \u003cli class=\"splide__slide\"\u003e\u003c/li\u003e \u003cli class=\"splide__slide\"\u003e\u003c/li\u003e \u003c/ul\u003e \u003c/div\u003e \u003c/div\u003e \u003cscript\u003e new Splide( '.splide' ).mount(); \u003c/script\u003e 其中的\u003cli class=\"splide__slide\"\u003e就是要輪播的內容，可以是文字，也可以是圖片。並且Splide.js會自動偵測有多少行splide__slide的class。\n","title":"用Splide.js給Hugo網頁加上圖片輪播 (Image Carousel)","type":"posts"},{"content":" 窮人版的VR眼鏡就是Google Carboard了吧，用瓦愣紙和凸透鏡組成的高CP值裝置，價格約200台幣而已。 這個裝置的CP數值很高？我怎麼看都只是瓦楞紙啊？一點都不像綠豆糕。據我了解，除了有些專為Cardboard設計的程式支援用鐵片按鈕互動之外，這個裝置只能用來欣賞VR影片用，而且還會看到明顯的手機螢幕像素。 但是這樣就足夠了！只要選到適合的手機APP，用來看裏番、R18 MMD就會很方便。 AskRay - 島風ちゃんと提督の大きな…\n這個原理圖，看著有點心動，我就聽你說下去吧。 1. Cardboard的使用方式 # 網路上有很多基礎教學，作的比較精緻的頭套仿製品也是有的，但基本款自行綁個帶子上去就可以掛在頭上了。 手機推薦Android系統，原因無他，APP選擇較多。將螢幕熄滅時間調成最長，接著下載Google研發的[示範用APP](https://play.google.com/store/apps/details?id=com.google.samples.apps.cardboarddemo)。將手機橫放到鏡頭前面的縫隙中，接著戴上Cardboard，調整透鏡的前後距離直到雙重影像合而為一，之後按照APP指示練習跟應用程式互動。 戴著好似藍波電影那樣？按照指導，照做之後覺得沒什麼困難的。等等，你又不是我媽，講那麼詳細幹嘛。 記得螢幕不要調太亮，使用10分鐘就該休息一下，防止近視。 2. 尋找VR尻尻用的H圖和3D動畫素材 # 如果你是看圖就能尻的人，那麼到[Gelbooru](https://gelbooru.com)找`ass_focus`或者`missionary`、`sex_from_behind`、`animated_gif`這類tag的圖片，會有較佳的互動性。或者直接找`dakimakura`，用抱枕當素材開尻。 我對這個沒有深入了解。 不過日本的很多都有馬賽克ㄟ？ 「想要找無碼、樣品圖畫質又高的，推薦到黑白工房找，如以下範例，馬上就能找到高品質的囉。」\n影片部份，正規裏番其實很少適合VR觀賞的體位角度。裏番身歷其境的鏡頭較少，只好退而求其次尋求3D動畫的幫助，也就是R18 MMD。 可是有些模型看起來很塑膠的說？ 是啊，這類網站不得不提Iwara(https://www.iwara.tv/)和俺の3Dエロ動画(https://oreno3d.com/)，上面的高品質動畫很多。不要找都在跳舞的MMD就是了，即使跳的是豔舞，音樂也都很吵。並且沒有太多感應器的Cardboard找360度影片也沒什麼意義，除非你喜歡看女角圍成一圈伺候你。 [VRPorn](https://vrporn.com/)可以下載超高畫質的VR用3D動畫，影片作者有考慮到Cardboard的觀賞需求，像LEWD Fraggy的騎乘位是最好選擇了，音聲也不用煩惱。 你會看真人AV的版本嗎？那不用說了，PornHub上面都多到數不完了，我沒興趣就是。如果對音聲有特別要求的話，可以到DLsite上買一些ASMR的劇本對話來增強效果。 3. 用來看H圖和3D動畫的Cardboard APP # [VR Media Player - 360° Viewer](https://play.google.com/store/apps/details?id=com.xojot.vrplayer)這個Android/iOS應用程式可以檢視360度照片，還能以Cardboard模式顯示圖片和播放影片，並自動跟著頭部旋轉視角。ALVR ＋ PhoneVR則是能夠串流電腦SteamVR到手機上的伺服器軟體。 不過這邊要注意一點，很多Cardboard APP的互動方式，除了按鐵片確認以外，一直盯著選項也會視為點擊。但是你總不能在尻的時候一直伸手拿出來換片子吧？所以如果坐在桌前，還是用藍芽滑鼠放在桌邊備用較好，方便伸手就能操作手機。 嗯...嗯喔。 確認房門鎖好，坐在椅子上，將尻尻素材下載至手機後，開啟APP讀取檔案，接著將觀賞模式切換到合適的角度，裝入Cardboard，戴上隔音好的耳機，跟著影片的節奏，將手或者飛機杯給陰莖沒入，開始抽插。 在陰莖、眼睛、耳朵都深深包覆在虛假作愛的世界中時，或許會有一絲一念、有脫離這世界的幻覺。例如，巨乳在眼前搖晃，女性輪流瘋狂騎乘，之後隨著片中主角憋到最後一刻才盡情射精 (別真的把10分鐘的MMD看完才射啊)。此時，若有ASMR在極度接近耳朵旁邊耳語「只有我規定你才能射精」這類的命令口吻時，可以說能升天了吧。 另一方面，因為VR使用的設備都無線化，如果尻槍使用砲架來模擬幹屁股的後背位，也是會很有體感。當在用肉棒撞擊虛擬屁股(砲架)的時候，低頭看到的是被VR眼鏡所代換的動漫女性屁股，這樣的畫面跟塑膠砲架比起來，哪個究竟比較真實呢？總之，砲架若設計的好，有抓握的能力，那麼讓大腦自動與二次元女性連繫起來就不是難事。 在最後奮力的往屁股—不論是緊致的小o生屁股還是豐厚的肥臀—頂進去噴射的之後，除了自己的征服感滿足以外，能看到的是高潮、失神、抑或是心滿意足的的女性表情，比起單單看著聖人模式後便失去用途的塑膠砲架，更讓人感到欣慰與滿足對吧。 不過以上說的還是很依賴自己的腦補功力，影片播放仍要拿捏時間點，事實上這樣跟那些萬元的VR設備還是差得遠哩，不過用這些簡易設備就能沈浸在其中不是挺好的嗎。 我聽說有使用飛機杯感應器做愛互動的Galgame上市，還是台灣團隊研發的呢，不過有點貴哪。 如果有高層次需求，就試著買買看A GUI的產品吧。 4. 總結 # 總結下來，其實用Cardboard很多次了還是會頭暈。但是呢這也讓人有欲望去購買真正的萬元VR設備，以求能達到更高的境界。 ","date":"2023年1月31日","externalUrl":null,"permalink":"/posts/vr-mmd-cardboard/","section":"Nsfws","summary":" 窮人版的VR眼鏡就是Google Carboard了吧，用瓦愣紙和凸透鏡組成的高CP值裝置，價格約200台幣而已。 ","title":"使用窮人VR眼鏡Cardboard看3D動畫和裏番？","type":"nsfw"},{"content":"如果想要練習Red Hat系的Linux作業系統環境，除了安裝Fedora和Rocky Linux以外，何不直接用Redhat官方釋出的免費版RHEL(Red Hat Enterprise Linux)呢？\n根據官網說明，個人用戶使用RHEL系統是免費的，並且只要註冊帳號就能收到軟體更新。\n本文紀錄我安裝RHEL 9.1的過程，十分直覺爽快，內含GNOME桌面環境以及常用軟體。\n我的系統為Arch Linux，使用的虛擬機軟體為QEMU/KVM。虛擬機環境不論要測試系統管理指令，還是容器部署都行，KVM執行速度也很快。\n1. 下載RHEL的ISO # 至Red Hat Developer註冊一個帳號\n至Red Hat Developer下載RHEL ISO。按需要的版本下載，目前最新的是RHEL 9.1。建議下載DVD版iso才不用開機後下載一堆東西。 下載前要填基本資料。如果沒公司名稱填你學校也可以(X 然後就會開始下載了。\n下載映像檔之後，檢查檔案完整性防止檔案毀損。\n有需要的話，使用Ventoy製作開機隨身碟。\n2. 安裝虛擬機軟體 # 參照：Ubuntu安裝QEMU/KVM和Libvirt或Arch Linux安裝QEMU/KVM和Libvirt\n3. 安裝RHEL # 開啟Virt Manager，點選左上角新增虛擬機\n選取RHEL的ISO，應會自動從ISO判別為RHEL 9 RAM分配至少4GB、磁碟空間64GB、CPU二個核心 點選完成，開始安裝\n開機後選取語言為正體中文。 點選「網路與主機名稱」 於左下角填入自訂主機名稱，按左上角完成 點選「選擇軟體」 選取「工作站」，這是適合一般桌上電腦用戶使用的設定。並將右邊額外的軟體都打勾。按左上角完成 點選root，設定root密碼(六位數)，按左上角完成。 點選建立一般使用者。建立一般使用者user，勾選加入至管理員。按左上角完成。 回到安裝主界面，點選右下角的「安裝」，等它跑完。 安裝後重開機。\n進入系統後，滑鼠移動到左上角的「概覽」開啟應用程式選單，找到「Red Hat訂閱管理程式」 登入Redhat帳號，並註冊裝置。 開啟終端機，輸入sudo dnf update指令，將系統套件都更新到最新版。 結束，可以關機了。\n延伸閱讀 # RHEL系統的使用方法請參考Product Documentation for Red Hat Enterprise Linux 9\n","date":"2023年1月30日","externalUrl":null,"permalink":"/posts/install-redhat-enterprise-linux-in-qemu-kvm/","section":"所有文章","summary":"如果想要練習Red Hat系的Linux作業系統環境，除了安裝Fedora和Rocky Linux以外，何不直接用Redhat官方釋出的免費版RHEL(Red Hat Enterprise Linux)呢？\n根據官網說明，個人用戶使用RHEL系統是免費的，並且只要註冊帳號就能收到軟體更新。\n本文紀錄我安裝RHEL 9.1的過程，十分直覺爽快，內含GNOME桌面環境以及常用軟體。\n我的系統為Arch Linux，使用的虛擬機軟體為QEMU/KVM。虛擬機環境不論要測試系統管理指令，還是容器部署都行，KVM執行速度也很快。\n1. 下載RHEL的ISO # 至Red Hat Developer註冊一個帳號\n至Red Hat Developer下載RHEL ISO。按需要的版本下載，目前最新的是RHEL 9.1。建議下載DVD版iso才不用開機後下載一堆東西。 下載前要填基本資料。如果沒公司名稱填你學校也可以(X 然後就會開始下載了。\n下載映像檔之後，檢查檔案完整性防止檔案毀損。\n有需要的話，使用Ventoy製作開機隨身碟。\n2. 安裝虛擬機軟體 # 參照：Ubuntu安裝QEMU/KVM和Libvirt或Arch Linux安裝QEMU/KVM和Libvirt\n3. 安裝RHEL # 開啟Virt Manager，點選左上角新增虛擬機\n","title":"免費下載紅帽RHEL 9.1系統，將其安裝至虛擬機練習","type":"posts"},{"content":"Linux系統的x86電腦要玩俠盜獵車手IV (Grand Theft Auto IV)是可行的。\n最簡單的方法：到Steam買正版GTA IV，再於Linux安裝Steam Proton。官方認證可於Linux系統正常執行，十分簡單。 但如果你是盜版仔\u0026hellip;就請跟著我的步驟做吧。 1. 硬體與系統配備 # GTA IV官網列出的電腦配備需求為雙核心x86處理器、1.5GB RAM、Nvidia 7900以上顯示卡、22GB以上的硬碟空間。\n但GTA IV都十年前的遊戲了，現在的電腦應該都能跑吧。GTA IV盜版載點自己找，我使用的是\u0026quot;Grand Theft Auto IV - The Complete Edition v1.2.0.32\u0026quot;這個版本。\n作業系統：Arch Linux 桌面環境KDE X11 CPU為Intel i5-7400 GPU為GTX1050TI，安裝專有Nvidia驅動程式 2. 建立Bottles環境 # 安裝Bottles\n新建Gaming的酒瓶 點選右上角Browse Files 將GTA IV遊戲主程式檔案放到Bottles的C槽的Program Files目錄，如下所示，免得發生DLL缺東缺西的問題。 點選Add Shortcut，選取GTAIV.exe建立捷徑 (應位於~/.var/app/com.usebottles.bottles/data/bottles/bottles/GTA-IV/drive_c/Program Files) 點選執行按鈕。GTA IV應該能正常執行，但是盜版無法登入Rockstar Social Club，無法存檔，請先將遊戲關閉。\n3. 解決盜版GTA IV無法離線存檔的問題 # 根據Reddit網友測試，只要將系統時間調到2019年以前就能恢復離線存檔的功能。\nLinux有faketime套件可以暫時設定假時間，可是對Flatpak無效，那就只能全域改時間了。\n執行timedatectl，全域設定時間為2019年1月1日 sudo timedatectl set-time 2019-01-01 然後啟動Bottles，再啟動GTA IV，就能在遊戲內離線存檔了。 GTA IV的離線存檔位於~/.var/app/com.usebottles.bottles/data/bottles/bottles/GTA-IV/drive_c/users/ivon/AppData/Roaming/Goldberg SocialClub Emu Saves/GTA IV/\n欲將系統改回現在時間，執行：\nsudo timedatectl set-ntp true ","date":"2023年1月29日","externalUrl":null,"permalink":"/posts/linux-wine-gta-iv/","section":"所有文章","summary":"Linux系統的x86電腦要玩俠盜獵車手IV (Grand Theft Auto IV)是可行的。\n最簡單的方法：到Steam買正版GTA IV，再於Linux安裝Steam Proton。官方認證可於Linux系統正常執行，十分簡單。 但如果你是盜版仔…就請跟著我的步驟做吧。 1. 硬體與系統配備 # GTA IV官網列出的電腦配備需求為雙核心x86處理器、1.5GB RAM、Nvidia 7900以上顯示卡、22GB以上的硬碟空間。\n但GTA IV都十年前的遊戲了，現在的電腦應該都能跑吧。GTA IV盜版載點自己找，我使用的是\"Grand Theft Auto IV - The Complete Edition v1.2.0.32\"這個版本。\n作業系統：Arch Linux 桌面環境KDE X11 CPU為Intel i5-7400 GPU為GTX1050TI，安裝專有Nvidia驅動程式 2. 建立Bottles環境 # 安裝Bottles\n新建Gaming的酒瓶 點選右上角Browse Files 將GTA IV遊戲主程式檔案放到Bottles的C槽的Program Files目錄，如下所示，免得發生DLL缺東缺西的問題。 點選Add Shortcut，選取GTAIV.exe建立捷徑 (應位於~/.var/app/com.usebottles.bottles/data/bottles/bottles/GTA-IV/drive_c/Program Files) ","title":"Linux系統玩俠盜獵車手IV (GTA IV)","type":"posts"},{"content":"自從將suckless的設計哲學套用到我自己做的網頁後，網頁在Google Lighthouse的分數從80分一路飆到了將近100分。\n了解suckless哲學 # suckless.org，強調極簡主義的程式設計師社群，著名作品為dwm、dmenu、st，有這三個不到500MB的軟體就足以構成一個能用的Linux桌面環境。\nsuckless字面意義是「沒有一點爛處(的軟體)」，不過字典沒這個字。\n在他們的網站也寫明了suckless哲學：\n軟體應保持簡單、最小化、實用。此一信念應該適用於所有IT產業。\n感覺suckless.org的理念跟1980年代的FSF、UNIX駭客社群有所重合呢。然而事與願違，軟體產業才不可能搞這一套呢，搞Web開發的更不可能。再繼續讀下去，他們的官網還洋洋灑灑的寫出了哪些軟體超酷，哪些軟體超爛，例如Linux社群萬年的吵架話題\u0026quot;systemd\u0026quot;： 其中還提及了網頁開發，結論是現在的Web爛死了： 網路能交換全球資訊，方便大規模監控，研究如何控制社會，發起革命，讓有錢人賺大錢，並破壞了我們的Web生態。這個產業正在增加網頁的資源消耗，就為了在螢幕上顯示幾個字。有上百萬的工作就只是在用無效率的方式產出HTML。\n網頁上還舉了三個例子說明什麼才是好網頁：This is a motherfucking website\n點進去就是用HTML寫的網頁。但是嘿，網頁會自動適應螢幕大小。 看了一下原始碼，幹，還有Google Analytics正在監控我。 其他網頁的例子還支援自動切換黑白主題。\n你並不需要框架也能做好網頁。網頁並不是壞了，它一直都能運作，是你弄壞了，去你媽的。\n我覺得這是一個好啟發，剛好有一個單頁面有將近100張NSFW圖片的網頁需要優化，所以我嘗試將一部分的部落格的文章網頁轉成這樣的極簡網頁，作個實驗。\n一個插曲 # 我發現我的某個教授還蠻厲害的，她雖然很老了，非資訊本科，卻將過去學生的作品都集中在學校伺服器，還自己做了個網頁。\n因為是純HTML設計(副檔名甚至是.htm)，就算文字超過2000字還跟圖片混在一起，載入速度也屌打我只有500字的部落格廢文網頁。\nHugo在裝有主題的情況下建立純HTML網頁 # 相較於文章而言，純HTML網頁通常是叫做單一網頁(single page)。\n我的部落格文章使用Hugo生成，並用Git部署。照理說新文章會自動套用主題，那要如何新增只有HTML的文章呢？最簡單的方法便是在網站根目錄的static目錄直接新增目錄，使用/posts/文章名稱/這樣的目錄結構，再新增index.html即可： 但是這樣新增的文章不會被Hugo的分類掃到，變成孤兒頁面，算是個缺點。\n接著著手改寫程式碼，原始網頁是500多字，加上很長的表格，還有將近100張圖片。最初做這個網頁的時候，圖片插入loading=\u0026quot;lazy\u0026quot;標籤，並使用.avif格式加快載入速度，使得網頁大小不到10MB。但Google Lighthouse最高給出的成績也就醬子了： 我看了一下，時間大多是花在載入遠端JS、字體、Gitalk留言板、LikeCoin上。\n一般來說我的正常網頁是長這樣，看似簡單但其實要載入很多東西。 在將此網頁從頭改寫後，我把Javascript全部抽掉，只剩HTML和控制寬度的CSS，做的像This is a motherfucking website呈現的那樣，專注呈現內容。\n順便吐槽一下Visual Studio Code的輔助插件，HTML Validate和Markdown的插件語法檢查都好嚴格ㄛㄛ\u0026hellip;連有幾個空格都要斤斤計較，我還是回去用VIM就好了。\n原本Markdown表格的部份轉成HTML，將網頁元素置中，用CSS讓圖片隨螢幕自動調整寬度、自動黑白主題，不載入任何不必要的JavaScript。\n我將極簡化的網頁稱為「suckless版」\n再跑一次Google Lighthouse\u0026hellip;duang！ 想看網頁前後對比的請造訪以下網址 (R18注意，家裡沒大人再看)\n正常版\nsuckless版 結論 # 後來我還是Git回退，將該網頁回復原狀了，並保留了一份副本。我覺得我自己看是沒問題，但新用戶來看會覺得網頁是不是壞掉了啊\u0026hellip;\n不過這確實是個不錯的實驗。讓你的網站能用W3M(純文字瀏覽器)存取，是很重要的。連Reddit和Hacker News都可以，你為什麼不行？\n我用Hugo生成的網頁大致上可以用W3M看，但是純HTML更好不是嗎。\n","date":"2023年1月28日","externalUrl":null,"permalink":"/posts/suckless-web-design/","section":"所有文章","summary":"自從將suckless的設計哲學套用到我自己做的網頁後，網頁在Google Lighthouse的分數從80分一路飆到了將近100分。\n了解suckless哲學 # suckless.org，強調極簡主義的程式設計師社群，著名作品為dwm、dmenu、st，有這三個不到500MB的軟體就足以構成一個能用的Linux桌面環境。\nsuckless字面意義是「沒有一點爛處(的軟體)」，不過字典沒這個字。\n在他們的網站也寫明了suckless哲學：\n軟體應保持簡單、最小化、實用。此一信念應該適用於所有IT產業。\n感覺suckless.org的理念跟1980年代的FSF、UNIX駭客社群有所重合呢。然而事與願違，軟體產業才不可能搞這一套呢，搞Web開發的更不可能。再繼續讀下去，他們的官網還洋洋灑灑的寫出了哪些軟體超酷，哪些軟體超爛，例如Linux社群萬年的吵架話題\"systemd\"： 其中還提及了網頁開發，結論是現在的Web爛死了： 網路能交換全球資訊，方便大規模監控，研究如何控制社會，發起革命，讓有錢人賺大錢，並破壞了我們的Web生態。這個產業正在增加網頁的資源消耗，就為了在螢幕上顯示幾個字。有上百萬的工作就只是在用無效率的方式產出HTML。\n","title":"將suckless.org極簡網頁設計哲學付諸實現，Hugo新增自訂單一HTML頁面","type":"posts"},{"content":"我的PTT帳號是在2017年註冊的，當初沒有用學校信箱竟能註冊成功，從此開啟PTT鄉民之路。\n2020年站方就新增了聯絡信箱功能，防止用學校信箱註冊的用戶遺失帳號，但是整天泡在八卦板，每天看柯韓粉大戰塔綠班很是有趣，沒在意這件事。\n結果2023年1月27站方公告，強制要求全體使用者認證電子郵件，否則不給登入，甚至會有失去帳號的風險。\n例如我在用的Pitt手機APP就無法登入，必須認證電子郵件。 電子郵件認證方式倒不是很難，手機開瀏覽器用網頁版登入PTT認證就行，甚至不用電腦的Pacman。\n以下用Android手機的Google Chrome搭配Gboard作示範。\n用瀏覽器開啟PTT官方網頁版: https://term.ptt.cc，點選輸入帳號密碼登入。 剛登入就會要求認證電子郵件。手機鍵盤按Enter繼續輸入。\n接著輸入電子郵件，再輸入y確認寄出認證信(Gboard無法送出字元請按空白鍵) 然後等驗證信（此頁面不可關閉）\u0026hellip;好吧鄉民的靠北不是沒理由的，Protonmail等了2分鐘才收到驗證碼。 驗證碼(中括號內)直接寫在郵件主旨，真是太安全了。 回到PTT網頁，貼上驗證碼，按Enter後，即可登出，直接把分頁關掉也行。 終於回到八卦板，聽說驗證信箱導致八卦少了很多人\u0026hellip;大概也就一瞬的光景而已。\n這邊提醒一點，為加強安全性，登入PTT應該使用SSH加密連線，亦避免使用弱密碼。\n另外，我覺得PTT站方未來應該還要認證手機號碼才對，杜絕網軍 (←支離滅裂發言，國家感謝你） ","date":"2023年1月28日","externalUrl":null,"permalink":"/posts/ptt-email-vertification/","section":"所有文章","summary":"我的PTT帳號是在2017年註冊的，當初沒有用學校信箱竟能註冊成功，從此開啟PTT鄉民之路。\n2020年站方就新增了聯絡信箱功能，防止用學校信箱註冊的用戶遺失帳號，但是整天泡在八卦板，每天看柯韓粉大戰塔綠班很是有趣，沒在意這件事。\n結果2023年1月27站方公告，強制要求全體使用者認證電子郵件，否則不給登入，甚至會有失去帳號的風險。\n例如我在用的Pitt手機APP就無法登入，必須認證電子郵件。 電子郵件認證方式倒不是很難，手機開瀏覽器用網頁版登入PTT認證就行，甚至不用電腦的Pacman。\n以下用Android手機的Google Chrome搭配Gboard作示範。\n用瀏覽器開啟PTT官方網頁版: https://term.ptt.cc，點選輸入帳號密碼登入。 剛登入就會要求認證電子郵件。手機鍵盤按Enter繼續輸入。\n接著輸入電子郵件，再輸入y確認寄出認證信(Gboard無法送出字元請按空白鍵) 然後等驗證信（此頁面不可關閉）…好吧鄉民的靠北不是沒理由的，Protonmail等了2分鐘才收到驗證碼。 驗證碼(中括號內)直接寫在郵件主旨，真是太安全了。 回到PTT網頁，貼上驗證碼，按Enter後，即可登出，直接把分頁關掉也行。 終於回到八卦板，聽說驗證信箱導致八卦少了很多人…大概也就一瞬的光景而已。\n這邊提醒一點，為加強安全性，登入PTT應該使用SSH加密連線，亦避免使用弱密碼。\n","title":"【免電腦】PTT網頁版認證電子信箱，解決手機無法登入的問題","type":"posts"},{"content":"Reddit的TZTV是新家嗎(已被爆破)。\nr/TZTV，意即屠支TV，是一個專門討論屠殺支那人的Reddit sub，人人自稱屠支大佐，可以說是沖浪系sub裡面最極端的分支。\n曾有大佐對想進來屠支TV的人說：\n大佐進，太監滾。\n在各冲浪系sub逐漸太監化的同時，出現撥亂反正的r/TZTV。他們宛如人民群眾遭政府長期欺壓後出現的恐怖份子，大佐們的目標是要重振中國的屠支大業。\n活躍幾個月後被站方屠了。\nr/TZTV存在時間：2021年9月 - 2023年2月\n1. 屠支大佐逐漸增加的原因 # r/TZTV從2021年就存在了，那時還沒有中文名，僅用TZTV暗示「屠支TV」。成立初便是專門容納極端言論用的，可是沒什麼人的小sub當然就沒什麼節目效果。\n2022年6月，r/CLTV被封後，神友逐漸湧入r/YoumoTV，後被封，改轉進r/Youmo。一部分人進入r/TZTV，開始發屠支帖。\n2023年1月26日，r/Youmo Mod為了自保，宣佈轉型為「生活sub」，說「以後禁止拷打支那人，受不了的的可以去r/TZTV。明天開始清場。」\nr/Youmo在那之後逐漸變成不會鍵政的incel聚集地，更多屠支大佐們湧入r/TZTV。\nr/TZTV Mod看到人多了起來，正式加上中文標題屠支TV，如果奭體有顏色，那一定是支那紅。（註：奭，乳包梗，字形為習近平扛二百斤麥子） 板標改為：\n屠支大佐中央，大佐们的翼赞会之一，下雨就漏水的宪兵司令部。\n頭貼是化身日軍大佐的習近平，加上支持烏克蘭的配色。 背景圖片是習近平手拿武士刀，旁邊的人民群眾說「大佐搖了我吧」。 2. 屠支大佐的日常 # 既然叫做屠支TV，大夥發的就是專門殺光支那人的言論。幾無神友過去的鍵政、牛子妹妹、日常生活話題，每天都是殺殺殺。\n裡面的景象怵目驚心，支那人三個字隨便發，殺光支那豬的言論到處都是。\n針對排華、屠殺過華人的國家，還會讚賞「早該排排了」。種族歧視中國人小鼻子小眼睛的也是一堆。\nsub的Upvote圖示為social credit meme的「做得好」；Downvote圖示為蜘蛛切。\n由於Reddit站方立場偏左，Mod偶爾還會親自拷打左逼超管肥蛆，說跟列寧玩拳交什麼的。 我們知道，有翻牆支那人會專門盯著沖浪系sub檢舉給Reddit站方，Mod也是疲於奔命處理。\n因此Mod設定反舉報機器人，一接到檢舉，當事人會收到訊息，Mod會馬上人工處理掉舉報狗：\n你被支那猪举报了，幸好本鼠及时赶到帮你自动ignore了举报并将举报蛆的妈妈当场击毙。举报蛆的妈妈现在正在摘器官的救护车里被支那黑警压的浪叫，现在请让我们按照支那传统美德为举报蛆献上最诚挚的祝福，毕竟死者为大（指巨人观\nI am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.\n即使有這樣的反戰車地雷存在，對付舉報狗仍稍顯無力，因為Mod需要人工處理舉報；而舉報狗開始用腳本自動舉報帖子，搞疲勞轟炸。\n3. 屠支戰果105比106，看誰先殺到150人 # 大佐們的日常會話。\n看到支那人，我的蜘蛛切（支那豬切）動了。\n支那豬不屠能行嗎？\n屠支大佐們最愛引用的屠支梗，有經典「大西王張獻忠」的七殺碑：\n天生萬物以養人，人無一物可報天。殺殺殺殺殺殺殺。\n除此之外就是二次大戰日軍侵略中國的戰績。例如南京大屠殺（按照俄羅斯邏輯，這是特別軍事行動！），百人斬比賽的二位大佐野田毅和向井敏明，被人稱為「二位屠支老英雄」，可跟東條．澤東和希特勒．介石相提並論。 由此衍生出「105比106」的梗，改編自百人斬比賽的新聞報導，常見句式如下，請照樣造句：\nxxx砍了105人，ooo砍了106人。因不知是誰先砍到100人，二人決定繼續比賽看誰先到達150人。\n此外還有比較文雅的罵人方法：\n快住進毛澤東大廈！(毛澤東殺人如麻，統計柱狀圖突破天際) 快搭上習近平大巴！(2022年中國疫情封控下的多起公車車禍) 上面的梗即使在r/TZTV被封後仍然繼續傳播。\n4. 屠支者人必屠之 # 在該板只要罵「支那人」就能收穫大量karma。就算是網警和小粉紅混進去也很容易被識破。\n我曾經在r/TZTV被封之前，目睹一個極左無政府主義瘋狗（即「安人」）混進去，整天說要廢除國家體制的，當然下場就是被屠支大佐網暴了。我佛你們都引流了什麼貴物。\n然而，TZTV滿螢幕的屠支內容，看了也會膩吧。在r/TZTV人多起來後，頗有復刻舊冲浪TV的味道。開始有人發重口味影片，以後或許也會有偏向生活、新聞報導的內容，進入下一個輪迴。\n\u0026hellip;結果沒等到那個時候，r/TZTV就被Reddit站方封禁了，支那豬舉報成功了。\n2023年2月14日，r/TZTV被Reddit正式關閉，我們懷念大佐們。\n在Reddit管控越來越嚴格的情況下，沒牛子的去向r/real_China_irl，不甘心的大佐們則轉戰蔥輪TV。\n","date":"2023年1月27日","externalUrl":null,"permalink":"/posts/the-fall-of-tztv-on-reddit/","section":"Politics","summary":"Reddit的TZTV是新家嗎(已被爆破)。\nr/TZTV，意即屠支TV，是一個專門討論屠殺支那人的Reddit sub，人人自稱屠支大佐，可以說是沖浪系sub裡面最極端的分支。\n曾有大佐對想進來屠支TV的人說：\n大佐進，太監滾。\n在各冲浪系sub逐漸太監化的同時，出現撥亂反正的r/TZTV。他們宛如人民群眾遭政府長期欺壓後出現的恐怖份子，大佐們的目標是要重振中國的屠支大業。\n活躍幾個月後被站方屠了。\nr/TZTV存在時間：2021年9月 - 2023年2月\n1. 屠支大佐逐漸增加的原因 # r/TZTV從2021年就存在了，那時還沒有中文名，僅用TZTV暗示「屠支TV」。成立初便是專門容納極端言論用的，可是沒什麼人的小sub當然就沒什麼節目效果。\n2022年6月，r/CLTV被封後，神友逐漸湧入r/YoumoTV，後被封，改轉進r/Youmo。一部分人進入r/TZTV，開始發屠支帖。\n2023年1月26日，r/Youmo Mod為了自保，宣佈轉型為「生活sub」，說「以後禁止拷打支那人，受不了的的可以去r/TZTV。明天開始清場。」\nr/Youmo在那之後逐漸變成不會鍵政的incel聚集地，更多屠支大佐們湧入r/TZTV。\nr/TZTV Mod看到人多了起來，正式加上中文標題屠支TV，如果奭體有顏色，那一定是支那紅。（註：奭，乳包梗，字形為習近平扛二百斤麥子） ","title":"【冲浪TV專題4】Reddit專門屠支的r/TZTV自己也被屠了","type":"politic"},{"content":" 「紳士方舟」Hentai ArkQT號稱是離線版的E-hentai同人誌漫畫管理軟體。此軟體會掃描電腦上從E-hentai下載的同人誌目錄，自行比對名稱並上標籤，使沒有網路也能有E-hentai的使用體驗。 根據作者說法，之所以叫紳士方舟是因為2019年E-hentai差點滅站，使得有人寫了緊急下載站上資料的功能，亦促成了這個「方舟」的誕生。\n對嘛，Tears for fears不是也唱過Nothing last forever嗎？ 同樣是漫畫管理軟體，相較於calibre，紳士方舟是針對E-hentai特化的軟體，算是一個瀏覽硬碟收藏的好用前端，作者有寫出詳盡使用教學這裡就不贅述。\n只不過我的用途不太一樣，因為手機提供很高機動性，所以E-hentai同人誌都是用EhViewer下載的居多(有買會員所以會下載原始畫質)，掛在電腦前下載的情況大幅減少。不過嘛Ehviewer下載的資料移動到電腦也是能用紳士方舟管理，下面就來分享我的作法。\n1. 將手機EhViewer檔案移動到電腦 # 注意EhViewer的「備份資料」功能僅備份下載列表和歷史紀錄，不包含下載圖片，這些圖片要自己保存。\nEhViewer Overhauled預設下載圖片存放的位置是Android/data目錄，欲存取Android/data請安裝質感檔案。另可到EhViewer設定，將儲存位置改成手機內部儲存空間之類比較好找的位置。\n因為圖片很多，傳檔到電腦建議用ADB指令，MTP很容易卡死： # EhViewer在手機的目錄 電腦目錄 adb pull /sdcard/EhViewer/ /home/user/Doujin 不過呢EhViewer下載的同人誌會在目錄名稱前加上畫廊數字，因此匯入進來的資料會長這樣，實測紳士方舟讀取會出錯。 寫一個Python指令稿批次重新命名，去掉每個目錄前面的橫線和數字。(另存為renmae.py再用終端機執行python3 rename.py)\nimport os import re directory = \u0026#39;/home/user/Doujin\u0026#39; for file in os.listdir(directory): old_name = os.path.join(directory, file) newname = re.sub(\u0026#39;^[^-]*-\u0026#39;, \u0026#39;\u0026#39;, file) print (\u0026#34;\\033[1;32mRenamed\\033[m \u0026#34; + file + \u0026#34; \\033[1;32mto\\033[m \u0026#34; + newname) new_name = os.path.join(directory, newname) os.renames(old_name, new_name) 這樣就整齊多了 2. 安裝紳士方舟 # 紳士方舟可至作者網誌下載，目前最新版本為Ver.220618.0，原始碼版本可能會舊些。\n作者只有提供Windows版的exe，而我系統是Arch Linux，因此是自行下載作者給的原始碼，再用QT Creator編譯(QT5)。\n編譯後切換至執行檔ArkQT的所在目錄，將作者提供的資料庫ExHentai.db放進去。\n再使用此指令啟動紳士方舟\nLD_LIBRARY_PATH=../q7z ./ArkQT 按Enter選取同人誌所在目錄。 用鍵盤移動，選取「建立方舟」後Enter。\n接著便能閱讀同人誌了，隨機推薦、全部列表、標籤搜尋都能用。 目前的問題是作者資料庫更新不即時，新同人誌可能會缺標籤。此外檢視同人誌時標籤會重疊在一起。\n3. 比紳士方舟更好的替代品 # 鑑於紳士方舟只能在Windows系統運作，我有嘗試研究一些替代品，例如calibre和LANraragi，他們用途更廣泛。\n","date":"2023年1月26日","externalUrl":null,"permalink":"/posts/manage-ehviewer-doujins-using-hentaiarkqt/","section":"所有文章","summary":" 「紳士方舟」Hentai ArkQT號稱是離線版的E-hentai同人誌漫畫管理軟體。此軟體會掃描電腦上從E-hentai下載的同人誌目錄，自行比對名稱並上標籤，使沒有網路也能有E-hentai的使用體驗。 根據作者說法，之所以叫紳士方舟是因為2019年E-hentai差點滅站，使得有人寫了緊急下載站上資料的功能，亦促成了這個「方舟」的誕生。\n對嘛，Tears for fears不是也唱過Nothing last forever嗎？ 同樣是漫畫管理軟體，相較於calibre，紳士方舟是針對E-hentai特化的軟體，算是一個瀏覽硬碟收藏的好用前端，作者有寫出詳盡使用教學這裡就不贅述。\n只不過我的用途不太一樣，因為手機提供很高機動性，所以E-hentai同人誌都是用EhViewer下載的居多(有買會員所以會下載原始畫質)，掛在電腦前下載的情況大幅減少。不過嘛Ehviewer下載的資料移動到電腦也是能用紳士方舟管理，下面就來分享我的作法。\n","title":"用「紳士方舟」整理與瀏覽EhViewer下載的同人誌漫畫","type":"posts"},{"content":"這支Sony Xperia 5 II (XQ-AS72, pdx206) 被原廠放生已經快一年了。2022年為了升Android 12所以鎖回原廠，得到半殘的Android 12體驗，所以還是將其root，用的較為自在些。\n從Xperia 5 II上市以來，XDA論壇只有少部份人在做ROM，且都是維護幾個版本便放棄的。我不曉得為何該名開發者寧願用一堆奇怪的分支，像什麼DerpFest，EvolutionX之類的，而不專心維護一個版本就好。不過他也算是有貢獻，最新的ROM加入了導演模式支援(固定為BT.2020)。\n現在2023年1月，XDA論壇又有人做新版的Xperia 5 II ROM出來了，還是LineageOS 20 (Android 13)，不是什麼奇怪的分支版本，而且沒多久就進入LineageOS官方儲存庫了。\nXperia 5 II的LineageOS ROM由kyasu與hellobbn大大維護。\n刷了之後就是原生Android 13，沒有Sony的膨脹軟體，享有完整的Material You體驗。 刷機前後比較。完整Material You體驗指的是應用程式能跟著桌布變色。我的Xperia 5 II機身是粉色的，這樣更搭。 看來此ROM融合了前人的技術，使得120hz螢幕和導演模式正常運作。此外系統設定也可以設定長按相機鍵快速啟動相機。 神奇的是壞了許久的指紋解鎖在刷機後竟然恢復正常了\u0026hellip;幾秒鐘，後來又壞掉了。 杜比音效裝了APK仍無法運作，LineageOS的AudioFX加減用。Xperia 5 II的原廠相機、PhotoPro、CinemaPro要另外到XDA下載第三方ROM專用的APK(選取52_RHE版本)。\n儘管沒刷Magisk下SafetyNet能通過，DRM等級還是掉到了L3，會影響看Netflix影片，所以最後我還是Root了。 1. 安裝ADB和Fastboot # 到Android Developer按作業系統下載SDK Platform Tools，裡面含有ADB和Fastboot的執行檔。\nArch Linux也可以用套件管理員安裝SDK Platform Tools：\nsudo pacman -S android-tools Linux系統不用額外裝連接手機的驅動程式。\nWindows系統需要安裝Sony的驅動程式。\n2. 刷入LineageOS # Sony Xperia 5 II已進入LineageOS官方儲存庫，請至XDA討論串或者官方儲存庫下載刷機包和Recvoery。\n你也可以自行編譯LineageOS ROM\n刷機前需解鎖bootloader，以及安裝Sony原廠最新Android 12韌體。見Sony Xperia 5 II Root教學。\n下載LineageOS的Recovery以及LineageOS的刷機包。\n將手機關機。按著音量上鍵插上電腦，應會亮藍燈，代表進入fastboot。\n執行fastboot devices指令看有無抓到手機。\n[ivon@Lk31cdk ~]$ fastboot devices QV720CLK52 fastboot 刷入LineageOS的Recovery fadtboot flash recovery lineage-20.0-20230224-recovery-pdx206.img 拔掉電源線，長按音量下鍵＋電源鍵，開機進入Recovery。\n點選Factory reset → Format data/factory reset清除手機資料。\n點選 Apply Update → Apply from ADB開啟側載模式。\n將手機接上電腦，刷入刷機包\nadb sideload lineage-20.0-20230224-nightly-pdx206-signed.zip 3. 刷入Gapps # LineageOS預設沒有裝GApps，可選擇要不要刷Gapps，或是以microG替代。\nGApps的話建議下載NikGapps，選擇\u0026quot;core\u0026quot;的最小版本。\n在Recovery模式點選Advanced → Reboot to Recovery，重新啟動一次Recovery。\n點Apply Update → Apply from ADB\n刷入Gapps，期間可能會遇到Signature Vertification Failed的錯誤，點選Yes繼續刷入。\nadb sideload NikGapps-basic-arm64-13-20230218-signed.zip 點選Reboot system now，重開機進入系統。 4. 刷入Magisk # Xperia 5 II無TWRP可用，因此只有二個方法：一、從LineageOS的Recovery刷。二、手動修補boot.img。\n擇一實行之。\n4.1. 用LineageOS的Recovery刷入 # 手機關機，長按開機鍵＋音量下鍵，進入Recovery。\n點選 Apply Update → Apply from ADB開啟側載模式。\n下載最新版Magisk APK，將副檔名改成.zip。接著於電腦開啟終端機刷入Magisk，期間可能會遇到Signature Vertification Failed的錯誤，點選Yes繼續刷入。\nadb sideload Magisk-v25.2.apk.zip 重開機後點選Magisk圖示，完成安裝。 4.2. 手動修補boot.img # 將LineageOS刷機包解壓縮，用payload-dumper-go將payload.bin解開 ./payload-dumper-go payload.bin 從解開的目錄找到boot.img，將其傳到手機。手機安裝Magisk，點選安裝 → 修補boot.img，選取LineageOS的boot.img，修補後會在Download目錄生成一個新的magisk-boot.img。\n將新的magisk-boot.img傳到電腦。\n手機關機，按著音量上鍵插入電腦，亮藍燈進入fastboot模式。\n將新的boot.img刷入至Boot分區。\nfasttboot flash boot magisk-boot.img 重開機，開啟Magisk檢查是否已取得Root權限。如果卡開機就再次執行上面的指令，並將magisk-boot.img檔案換成刷機包裡原始的boot.img即可。 LineageOS即使有安裝Magisk仍能透過OTA更新，但boot.img就需要重新修補。\n參考資料 # LineageOS 20 for Sony Xperia 5 II OFFICIAL Install LineageOS on pdx206 - LineageOS Wiki ","date":"2023年1月26日","externalUrl":null,"permalink":"/posts/sony-xperia-5-ii-lineageos/","section":"所有文章","summary":"這支Sony Xperia 5 II (XQ-AS72, pdx206) 被原廠放生已經快一年了。2022年為了升Android 12所以鎖回原廠，得到半殘的Android 12體驗，所以還是將其root，用的較為自在些。\n從Xperia 5 II上市以來，XDA論壇只有少部份人在做ROM，且都是維護幾個版本便放棄的。我不曉得為何該名開發者寧願用一堆奇怪的分支，像什麼DerpFest，EvolutionX之類的，而不專心維護一個版本就好。不過他也算是有貢獻，最新的ROM加入了導演模式支援(固定為BT.2020)。\n現在2023年1月，XDA論壇又有人做新版的Xperia 5 II ROM出來了，還是LineageOS 20 (Android 13)，不是什麼奇怪的分支版本，而且沒多久就進入LineageOS官方儲存庫了。\nXperia 5 II的LineageOS ROM由kyasu與hellobbn大大維護。\n刷了之後就是原生Android 13，沒有Sony的膨脹軟體，享有完整的Material You體驗。 刷機前後比較。完整Material You體驗指的是應用程式能跟著桌布變色。我的Xperia 5 II機身是粉色的，這樣更搭。 看來此ROM融合了前人的技術，使得120hz螢幕和導演模式正常運作。此外系統設定也可以設定長按相機鍵快速啟動相機。 ","title":"給Sony Xperia 5 II刷機升上Android 13 (LineageOS 20)","type":"posts"},{"content":"在手機上用平鋪式視窗管理員？瘋狂想法，卻人有人做了出來。\nSxmo: Simple X Mobile是一套suckless軟體的集合，作為Linux手機桌面環境的一種選擇。\n開機時就是長這樣，不能點選任何東西。 要按下對應硬體按鍵，才能執行相應操作。 開啟多個APP，可以將其按任意順序排列。 SXMO設計理念類似於Linux桌面的i3wm、Sway等平鋪式視窗桌面。桌面的任何部件都能「駭進去」(自定義)。SSH為一等公民。\n視使用的通訊協定，所包含的軟體會略有不同：\n通訊協定使用X11，視窗管理員為dwm，應用程式選單為dmenu，觸控手勢的守護行程為lisgd，觸控鍵盤為svkbd。\n通訊協定使用Wayland下，視窗管理員兼合成器為Sway，應用程式選單為bemenu，觸控手勢的守護行程為lisgd，觸控鍵盤為wvkbd。\npostmarketOS官網建置給支援機型使用的映像檔，SXMO是使用Wayland。\n1. 指令 # SXMO作者有在系統選單準備一些便利指令稿，例如截圖。 但有時候還是依賴指令才方便改系統設定。\n參看postmarketOS的使用技巧設定SSH和開機自動連上Wifi。\n2. 預設按鍵綁定 # SXMO操作方式跟現今主流手機有很大差別，跟Linux手機用的Phosh和Plasma Mobile差距甚大。\n意即SXMO即使支援跟APP觸控互動，卻也繼承了平鋪式視窗的用法：依賴快捷鍵。考慮到現今手機普遍都沒有鍵盤，能利用的組合鍵就只剩下電源鍵和音量鍵了。\n預設情況下，SXMO會綁定以下按鍵組合：\n上音量鍵\n按1下叫出目前應用程式的選單，可以用觸控的。也可以用音量鍵上移動再以電源鍵確認。 按2下叫出全部應用程式選單。Config可設定亮度、音量、旋轉螢幕等系統設定。 按3下變更目前應用程式的堆疊方式，如垂直排列視窗改為水平排列。預設的分頁式排列比較適合手機界面。 下音量鍵\n按1下開關wvkbd或svkbd鍵盤 按2下切換dwm視窗管理員的布局 按3下中止目前的應用程式 電源鍵\n按1下啟動螢幕鎖定(SXMO的螢幕鎖定有4個狀態，見下節) 按2下反轉螢幕鎖定 按3下開啟foot或st終端機 接著還要記一些常用的手勢，箭頭代表手指的數量。若手機有圓角邊框，邊邊的觸控手勢可能就會很難觸發。(改繪自SXMO USERGUIDE)\n3. SXMO的鎖定狀態 # SXMO不需要打startx才能進桌面啦\u0026hellip;它還是有使用顯示管理器，名為TinyDM，用於開機導引進入桌面。\nSXMO的「鎖定螢幕」有4狀態，尚不支援螢幕鎖定密碼。\n每按1下電源鍵，狀態會如下圖順序觸發；按2下電源鍵則是反向觸發。(改繪自SXMO USERGUIDE)\n因此，按1下電源鍵後會進入螢幕熄滅的鎖定狀態，要按2下才會回到解鎖狀態。\nUnlocked 解鎖狀態，螢幕亮著，可以觸控 → Lock 螢幕亮著鎖定狀態，無法觸控，鎖定畫面亮著 → Off 螢幕熄滅的鎖定狀態，無法觸控，鎖定畫面熄滅 → Crust 睡眠模式，手機暫停(suspend)以節省電量。\n不禁讓人想到這張meme 4. SXMO設定檔位置 # SXMO設定檔主要位於~/.config/sxmo/，其中視窗管理員Sway的設定檔~/.config/sxmo/sway用於設定按鍵綁定和桌布等選項。\n如果視窗管理員是dwm，就得修改原始碼才能改按鍵綁定，重新編譯安裝後才會生效。\n預設事件觸發的鉤子位於/usr/share/sxmo/default_hooks/，全部都是指令稿構成。請將其複製到~/.config/sxmo/default_hooks/再行自定義。\nSway每次修改設定檔後需重新載入才會生效。欲重新載入設定檔，在終端機或SSH執行sway reload指令。\n4.1. 更換桌布 # 用VIM編輯~/.config/sxmo/sway，修改該行內容，將路徑指向自己想要的圖片：\noutput * bg /home/user/Pictures/background.png 4.2. 設定透明度與視窗邊界 # 透明度就是APP呈現透明狀，可看到桌布。用VIM編輯~/.config/sxmo/sway，加入以下內容。for_window可設定哪些APP才要套用透明度。\nset $opacity 0.9 for_window [class=\u0026#34;.*\u0026#34;] opacity $opacity for_window [app_id=\u0026#34;.*\u0026#34;] opacity $opacity 參考資料 # USERGUIDE - sourcehut docs - sr.ht Sway WM Wiki ","date":"2023年1月23日","externalUrl":null,"permalink":"/posts/postmarketos-sxmo/","section":"所有文章","summary":"在手機上用平鋪式視窗管理員？瘋狂想法，卻人有人做了出來。\nSxmo: Simple X Mobile是一套suckless軟體的集合，作為Linux手機桌面環境的一種選擇。\n開機時就是長這樣，不能點選任何東西。 要按下對應硬體按鍵，才能執行相應操作。 開啟多個APP，可以將其按任意順序排列。 SXMO設計理念類似於Linux桌面的i3wm、Sway等平鋪式視窗桌面。桌面的任何部件都能「駭進去」(自定義)。SSH為一等公民。\n視使用的通訊協定，所包含的軟體會略有不同：\n通訊協定使用X11，視窗管理員為dwm，應用程式選單為dmenu，觸控手勢的守護行程為lisgd，觸控鍵盤為svkbd。\n通訊協定使用Wayland下，視窗管理員兼合成器為Sway，應用程式選單為bemenu，觸控手勢的守護行程為lisgd，觸控鍵盤為wvkbd。\npostmarketOS官網建置給支援機型使用的映像檔，SXMO是使用Wayland。\n1. 指令 # SXMO作者有在系統選單準備一些便利指令稿，例如截圖。 但有時候還是依賴指令才方便改系統設定。\n參看postmarketOS的使用技巧設定SSH和開機自動連上Wifi。\n2. 預設按鍵綁定 # SXMO操作方式跟現今主流手機有很大差別，跟Linux手機用的Phosh和Plasma Mobile差距甚大。\n","title":"SXMO，手機上的i3wｍ，極簡平鋪視窗管理員","type":"posts"},{"content":"","date":"2023年1月22日","externalUrl":null,"permalink":"/ja-jp/tags/minecraft-java/","section":"Tags","summary":"","title":"Minecraft Java","type":"tags"},{"content":" Root権限なしで、Androidスマホ上でPC向けのMinecraft Java版を遊びます。ここでは私の設定手順を記録します。 Minecraft Java版自体はクロスプラットフォームで、Linux/Windows/macOSのパソコンで動かせます。つまりJava版を遊ぶには、スマホ上でLinux環境を動かせばよいわけです。\nこの方法はPojav Launcherと比べて、より多くのPC版Minecraftクライアント（Linux対応であれば）を動かせる点と、Modパックのインストール方法がPC版と変わらない点が利点です。\nただし、現時点ではこの方法はかなり実験的です。ハイエンドスマホでもFPSは30を超えにくく、端末は熱くなり、シェーダーも使えません。さらにJava版を動かすには、スマホに少なくとも6GB以上のRAMが必要です。タッチ操作にも対応しないため、キーボードとマウスも用意する必要があります。\n純粋に面白いから、試してみる価値はあります。\n1. TermuxとProot-distroをインストールする # まず、Termuxをインストールします。\n続いてTermux X11をインストールします。\nProot Debianをインストールします。\n最後に、ハードウェアアクセラレーションを有効にします。\n2. Prism Launcherをインストールする # Prism Launcherは、複数のMinecraftバージョンやModを簡単に管理できるサードパーティ製ランチャーです。PolyMCとMultiMCを源流としているため、操作感もかなり似ています。\n自分でコンパイルするのはあまりに面倒なので、ここではPi-Appsを使って自動インストールします。Pi-AppsはもともとRaspberry Pi向けのアプリインストーラーですが、AndroidスマホもARMプラットフォームなので利用できます。\nvirgl serverを起動します。Proot-distroへログインします。Termux X11を起動します。デスクトップ環境を起動します。\nPi-Appsをインストールします。\nwget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash Enterを押して続行します。 Prism Launcherをインストールします。\n~/pi-apps/manage install \u0026#39;Minecraft Java Prism Launcher\u0026#39; このスクリプトはPrism Launcherを自動でインストールしますが、OpenJDKのダウンロードに失敗することがあります。 その場合はOpenJDK 17（Minecraft 1.17以降に対応）を自分でインストールします。\nsudo apt install openjdk-17-jdk 次のコマンドでJavaのバージョンを確認します： java -version 3. Minecraft 1.19.3を起動する # Prism Launcherの使い方はMultiMCとよく似ています。詳しい使い方は自分で検索するか、Prism Launcher Wikiを参照してください。\nターミナルを開き、以下のパラメータでPrism Launcherを起動します。 GALLIUM_DRIVER=virpipe MESA_GL_VERSION_OVERRIDE=4.0 prismlauncher 右上の「アカウント」をクリックし、Microsoftアカウントでログインします。\nMinecraft 1.19.3のインスタンスを追加します。fabricとSodium Modをインストールして、ゲーム性能を改善することもできます。\nゲームを起動します。マウスを少し動かしただけで視点が暴れないように、ゲーム設定 → 操作設定を開き、Raw Inputをオフにします。\nゲーム中にF3を押すと、virglドライバが正常に読み込まれていることを確認できます。私のテストでは、Sodiumを有効にしてもMinecraftのFPSはかなり厳しいままでした。 4. 1.12.2以前の古いMinecraftを起動する # 1.12.2以前の古いMinecraftを起動するには、古いバージョンのOpenJDKも別途インストールする必要があります。\nAdoptiumからaarch64 Linux用のOpenJDK 8実行ファイルを自分でダウンロードします。\n解凍し、システムディレクトリへ移動します。\ntar -zxv OpenJDK8U-jdk_aarch64_linux_hotspot_8u352b08.tar.gz sudo mv jdk8u352-b08 /usr/lib/jvm 続いてPrism Launcherを起動します。ここではパラメータが少し異なるため、MESA_GL_VERSION_OVERRIDE=4.0を付けないでください。 GALLIUM_DRIVER=virpipe prismlauncher Minecraft 1.12.2のインスタンスを追加します。同様に、ForgeとOptifineをインストールしてゲーム性能を改善することもできます。\n1.12.2のアイコンを右クリックしてインスタンスを編集し、Javaのパスを先ほどインストールしたOpenJDK 8に設定します。 ゲームを起動し、F3を押すとvirglドライバが読み込まれていることを確認できます。新しいバージョンのMinecraftと比べると、古いバージョンにOptifineを入れた方がFPSはやや高いようです。 5. ゲームデータのインポートとエクスポート # Prism Launcherのゲームデータは~/.local/share/PrismLauncher/にあります。\nTermuxのproot-distroは、ログイン後にスマホの内部ストレージをProot内部の/sdcardディレクトリへ自動でマウントするはずです。そのため、Proot内のファイルマネージャーを使えばゲームデータをインポート・エクスポートできます。\n","date":"2023年1月22日","externalUrl":null,"permalink":"/ja-jp/posts/minecraft-java-edition-termux-proot/","section":"Termux-Tutorials","summary":" Root権限なしで、Androidスマホ上でPC向けのMinecraft Java版を遊びます。ここでは私の設定手順を記録します。 Minecraft Java版自体はクロスプラットフォームで、Linux/Windows/macOSのパソコンで動かせます。つまりJava版を遊ぶには、スマホ上でLinux環境を動かせばよいわけです。\nこの方法はPojav Launcherと比べて、より多くのPC版Minecraftクライアント（Linux対応であれば）を動かせる点と、Modパックのインストール方法がPC版と変わらない点が利点です。\nただし、現時点ではこの方法はかなり実験的です。ハイエンドスマホでもFPSは30を超えにくく、端末は熱くなり、シェーダーも使えません。さらにJava版を動かすには、スマホに少なくとも6GB以上のRAMが必要です。タッチ操作にも対応しないため、キーボードとマウスも用意する必要があります。\n純粋に面白いから、試してみる価値はあります。\n1. TermuxとProot-distroをインストールする # まず、Termuxをインストールします。\n続いてTermux X11をインストールします。\nProot Debianをインストールします。\n","title":"Termux ProotでAndroidスマホ上のMinecraft Java版を遊ぶ","type":"termux-tutorials"},{"content":"開源免費剪輯軟體～Kdenlive，除了剪片外，用來給影片轉檔也是很好用的。\n不過面對琳瑯滿目的輸出（匯出）選項，要選哪個才好？本文試圖按照上傳Youtube的需求來回答這個問題。 1. Kdenlive如何輸出影片 # 開啟Kdenlive後第一件事情就是決定影片專案的輸出畫質。點選上方工具列檔案→開新檔案新建專案。 預設的輸出畫質為HD 1080p 29.97FPS，這是最常見的輸出選項。若影片是以60FPS錄製，那麼你應該選擇：HD 1080p 60FPS。 點選確定，然後按左上角匯入影片素材。注意匯入素材後Kdenlive可能會嘗試按照素材內容切換畫質設定，務必按下「取消」。 接著開始剪輯。如果只是要給單一影片轉檔，那麼匯入素材後直接將其拖到視訊軌就能輸出了。 點選上方工具列Project → Render輸出影片 此時會跳出輸出面板。具體要選擇哪個輸出設定檔，請看下一段落，或是直接跳到文章末尾的「懶人包」。 2. 確認影片的目的 # 用Kdenlive輸出影片後，我會上傳至Youtube等影音平台分享。\n按照Youtube建議的上傳標準，1080p的位元率建議為5Mbps，音訊192kbps，使用H.264編碼。\n因此輸出影片自是參考此標準下去設計。\n3. 按照硬體設備選擇 # Kdenlive輸出選項有硬體加速(\u0026ldquo;Hardware Accelerated\u0026rdquo;)的群組，這是使用特定硬體來加速影片編碼速度。\nNVENC必須要有Nvidia顯示卡才能輸出，其中NVENC H.264 VBR輸出速度快，影片品質佳，檔案也很小。\nVAAPI則是依賴CPU的內顯來硬體加速，例如VAAPI AMD H264就是給AMD CPU用的；VAAPI Intel H264則是給Intel CPU用的。\n4. 比較各個輸出格式的速度與品質 # 作業系統Arch Linux，Kdenlvie版本22.12.1，CPU Intel i5-7400，GPU Nvidia GTX1050Ti。\n使用94.1MB的MP4影片做輸出測試，輸出設定檔皆使用預設值，比較輸出所耗時間、檔案大小，以及用Netflix VMAF評估轉檔後的影片品質(分數越高越好)。\n輸出設定檔 輸出時間 檔案大小 VMAF分數 MP4-H264/AAC 0:32 58.1MB 96.49 MP4-H265/AAC 1:07 18.8MB 91.00 NVENC H264 VBR 0:29 18.8MB 98.87 由此可見NVENC H264 VBR是最好選擇。\n要注意的是Kdenlive輸出設定檔的視訊位元率和音訊位元率都低於Youtube的建議值，如果很介意的話就只能按Preset旁的按鈕自行新增設定檔了。\n5. 輸出選項懶人包 # 以下選項選擇之後，直接點選左下角「渲染檔案」按鈕，不用去動右邊面板的細部設定。\n有Nvidia顯示卡，想要追求輸出速度快，畫質最佳，檔案小，優先選擇NVENC H.264 VBR。 沒Nvidia顯示卡但有Intel CPU(內顯)，選擇VAAPI Intel H264，或是AMD CPU的VAAPI AMD H264。這樣輸出影片檔案會大些，但同樣很快。\n以上二者都沒有，或者是出錯，那麼就只能選擇MP4-H265/AAC，此格式輸出比MP4-H.264/AAC慢，但是檔案很小。 ","date":"2023年1月20日","externalUrl":null,"permalink":"/posts/kdenlive-output-format/","section":"所有文章","summary":"開源免費剪輯軟體～Kdenlive，除了剪片外，用來給影片轉檔也是很好用的。\n不過面對琳瑯滿目的輸出（匯出）選項，要選哪個才好？本文試圖按照上傳Youtube的需求來回答這個問題。 1. Kdenlive如何輸出影片 # 開啟Kdenlive後第一件事情就是決定影片專案的輸出畫質。點選上方工具列檔案→開新檔案新建專案。 預設的輸出畫質為HD 1080p 29.97FPS，這是最常見的輸出選項。若影片是以60FPS錄製，那麼你應該選擇：HD 1080p 60FPS。 點選確定，然後按左上角匯入影片素材。注意匯入素材後Kdenlive可能會嘗試按照素材內容切換畫質設定，務必按下「取消」。 接著開始剪輯。如果只是要給單一影片轉檔，那麼匯入素材後直接將其拖到視訊軌就能輸出了。 點選上方工具列Project → Render輸出影片 此時會跳出輸出面板。具體要選擇哪個輸出設定檔，請看下一段落，或是直接跳到文章末尾的「懶人包」。 2. 確認影片的目的 # 用Kdenlive輸出影片後，我會上傳至Youtube等影音平台分享。\n","title":"Kdenlive輸出影片時建議選擇的格式","type":"posts"},{"content":"Av1an是由Zen開發的開源影片轉檔框架，可將影片用多種編碼器轉檔成AV1編碼的影片。\n將影片用Av1an轉檔成AV1編碼，可在維持影片品質的情況下，大大壓縮並減少影片容量，有助於網際網路傳輸；此外在參考VMAF的分數下，轉檔成AV1的影片畫面品質也沒有降低很多。\n本文將講解Av1an轉檔指令的用法，段落#4有實際例子，並用VMAF分數評比轉檔的影片品質好壞。\n1. 選擇AV1理由 # AV1(AOMedia Video 1)是新一代的影片編碼格式，由AOMedia組織開發，開源且免授權金，主要跟H.265(HEVC)競爭。目前有Youtube和Netflix使用，可有效減少串流影片的檔案大小。\n手機和電腦上的VLC、MPV、Chromium系瀏覽器皆支援硬體解碼播放AV1編碼的影片。\n為簡化AV1影片的轉檔流程，Av1an出現了。這是一套用Rust寫成的命令行影片轉檔框架，支援各大作業系統。提供超可適性視訊編碼(Scalable Video Coding)，支援套用VapourSynth指令稿，還可以中途暫停日後繼續轉檔。\n要評比轉檔後品質好壞的話，使用VMAF評估輸出影片品質。\nAv1an內建的編碼器有AOM、SVT-AV1、rav1e、VP8、VP9、H.264(AVC)、H.265(HEVC)。\n2. 安裝Av1an # Av1an支援Linux與Windows系統，本身需要使用命令行操作。參考Github說明安裝之。\n撰文當下測試的系統：Arch Linux 6.4.4，CPU Intel I5-7400，Av1an版本0.4.1。\n2.1. 套件管理員 # Arch Linux可以直接用套件管理員安裝Av1an：\nsudo pacman -S av1an 2.2. 圖形化界面 # Linux系統需要GUI圖形化界面的可使用Aviator，本質上是av1an的前端封裝，可以加入自訂轉檔參數。\nrAV1ator使用Av1an，Aviator使用SVT-AV1。\n需要透過Flatpak安裝。\n2.3. 用Docker跑 # 安裝Docker後。在目前的目錄建立Videos目錄，並將input.mp4放進去，再切換至該目錄拉取masterofzen/av1an的映像。\nsudo docker run --privileged -v \u0026#34;$(pwd)\u0026#34; --user $(id -u):$(id -g) -it --rm masterofzen/av1an:latest -i input.mp4 [參數] 3. Av1an轉檔指令 # Av1an轉檔後的影片一律會變成.mkv格式。\nAv1an指令基本用法如下，只提供影片檔的參數，其他使用預設值轉檔。\nav1an [參數] -i \u0026lt;影片檔案\u0026gt; 可以進一步使用其他參數指定要使用的編碼器、輸出目錄等。\n詳細的參數用法請參考原作者寫的文件，下面說明比較重要的參數。\n3.1. 參數解說 # 在-i \u0026lt;影片檔案\u0026gt;的參數之後，使用--encoder參數指定要使用的編碼器，不填寫的話預設為aom。\n--video-params參數設定影片編碼的細部參數，以引號\u0026quot;\u0026quot;框起來。由於參數是直接傳給編碼器，故不相容ffmpeg的語法。\n以aom編碼器來說，影片的參數--end-usage壓縮模式有CBR、VBR、Quality、Constrained Quality。\n--end-usage壓縮模式預設是cbr(固定位元速率)。\n--end-usage另一個壓縮模式為vbr(可變數位元速率)，預設是2 pass mode。\nVBR 2 pass能進一步減少檔案大小，然而VBR比CBR長很多，不建議使用。\nQuality和Constrained Quality壓縮模式下又有cq-level參數，預設為30，cq-level數值越高檔案越小，但畫質越差。\n此外，可用--target-bitrate設定位元率(kbps)，--bit-depth設定位元深度，預設為aom從原始影片判斷得來，建議值為10(bit)。--cpu-used指定要使用的CPU核心數目，--threads指定使用的CPU線程數。\n除了影片之外，尚有--audio-params參數可以設定轉檔音訊的參數。不填的話則是從原始影片直接複製。\n參數同樣需要用引號框起來。此處的參數相容ffmpeg的語法。\n例如將輸入影片的音訊轉為開源的opus格式，取樣率為常見的48000Hz：\n--audio-params=\u0026#34;-c:a libopus -b:a 48000\u0026#34; 3.2. Target Quality模式 # 不事前猜想適合的CQ/CRF數值，而以Netflix提出的VMAF影片品質評估工具為依歸，指定一個分數，再讓演算法計算出適合CQ/CRF數值的轉檔模式。\nVMAF預設是以1920x1080解析度下去計算，分數越高代表影片品質越好，93~95分以上人眼就會難以分辨轉檔後的品質差異。\n範例指令如下：\nav1an -i input.mkv --target-quality 95 3.3. 如何選擇AV1編碼器 # AV1編碼器關乎轉檔速度與壓縮品質，目前主要有這三個：aomenc、SVT-AV1、rav1e。\n名稱 簡介 aomenc 又稱libaom，最早基於Google的libvpx開發，是AV1官方的參考實作。 SVT-AV1 由Intel與Netfelix共同研發的編碼器，已被AOMedia所接納，作為未來編碼器的發展方向。 rav1e 原由Mozilla開發，現由VLC維護的編碼器，基於Xiph的編碼器所開發，注重簡潔。 根據Reddit r/AV1板上網友的總結：\n壓縮品質最佳到最差(壓縮太差會丟失影片細節):\n#1 rav1e\n#2 aomenc\n#3 SVT-AV1\n編碼速度最快到最慢:\n#1 SVT-AV1\n#2 aomenc\n#3 rav1e\nffmpeg的Wiki也說即使rav1e宣稱是最快速的AV1編碼器，但其實很吃設定檔。\n所以我個人會選擇速度與品質居於中間的aomenc。\n4. 實測將H.264影片轉檔成AV1 # 我想將一部影片轉檔成方便用於串流播放的AV1格式，並保持音訊高音質。\n作業系統：Arch Linux CPU: 4核心Intel i5-7400 這裡的原始影片input.mkv資訊如下，採用H.264編碼，解析度1920x1080，影片大小692.8MB，時間長度23分鐘59秒。 General Complete name : input.mp4 Format : MPEG-4 File size : 693 MiB Overall bit rate mode : Variable Overall bit rate : 4 036 kb/s Video Format : AVC Format/Info : Advanced Video Codec Bit rate : 3 936 kb/s Maximum bit rate : 28.3 Mb/s Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 23.976 (24000/1001) FPS Audio Format : AAC LC Bit rate mode : Variable Bit rate : 96.0 kb/s Maximum bit rate : 120 kb/s Channel(s) : 2 channels Channel layout : L R Sampling rate : 48.0 kHz Frame rate : 46.875 FPS (1024 SPF) 以下轉檔指令參考作者文件，追求速度快和保持品質。影片部份使用Q模式，cq-level為22；使用6核CPU和64執行緒確保速度；音訊則轉換為開源的opus格式，取樣率48000Hz，啟用VBR。 av1an -i \u0026#34;input.mp4\u0026#34; --video-params=\u0026#34;--end-usage=q --cq-level=22 --bit-depth=10 --lag-in-frames=35 --enable-fwd-kf=1 --enable-qm=1 --enable-chroma-deltaq=1 --quant-b-adapt=1 --mv-cost-upd-freq=2 --tile-columns=2 --tile-rows=1 --cpu-used=6 --threads=64\u0026#34; --audio-params=\u0026#34;-c:a libopus -b:a 48000 -vbr:a on\u0026#34; 轉檔首先會分析畫面，接著開始轉換，看到檔案變大莫驚慌，預估的檔案大小和時間會逐步減少。 4核心的Intel i5-7400 CPU轉檔花了3小時。原始影片692.8MB → 轉檔後489.1MB，影片格式一律會轉為MKV。\nComplete name : input_aom.mkv Format : Matroska File size : 489 MiB Overall bit rate : 2 849 kb/s Video ID : 1 Format : AV1 Format/Info : AOMedia Video 1 Format profile : Main@L4.0 Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 23.976 (24000/1001) FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 10 bits Audio ID : 2 Format : Opus Codec ID : A_OPUS Channel(s) : 2 channels Channel layout : L R Sampling rate : 48.0 kHz Bit depth : 32 bits 從其他的測試結果來看，檔案越大縮小效果越明顯。比方說2GB影片檔可以縮小到1GB以內。\n不過，AV1的編碼器跟H264/H.265比起來仍比較慢，後者可能一小時就轉檔好了，這是目前市面上AV1編碼器的通病。\n最後用ffmpeg 5.1.2配合VMAF評比分數：\nffmpeg -i input_aom.mkv -i input.mkv -filter_complex libvmaf -f null - 得到97分成績。VMAF在93~95分以上判定為人眼不易分辨的程度，代表轉檔後影片品質並無顯著下降。 參考資料 # VBR一次編碼v.s 二次編碼 - 杰客森林 Av1an/aomenc.md at master - GitHub libaom vs SVT-AV1 vs rav1e? - Reddit A practical guide for VMAF - Jina Jiayang Liu - Medium ","date":"2023年1月19日","externalUrl":null,"permalink":"/posts/av1an-convert-h264-videos-to-av1/","section":"所有文章","summary":"Av1an是由Zen開發的開源影片轉檔框架，可將影片用多種編碼器轉檔成AV1編碼的影片。\n將影片用Av1an轉檔成AV1編碼，可在維持影片品質的情況下，大大壓縮並減少影片容量，有助於網際網路傳輸；此外在參考VMAF的分數下，轉檔成AV1的影片畫面品質也沒有降低很多。\n本文將講解Av1an轉檔指令的用法，段落#4有實際例子，並用VMAF分數評比轉檔的影片品質好壞。\n1. 選擇AV1理由 # AV1(AOMedia Video 1)是新一代的影片編碼格式，由AOMedia組織開發，開源且免授權金，主要跟H.265(HEVC)競爭。目前有Youtube和Netflix使用，可有效減少串流影片的檔案大小。\n手機和電腦上的VLC、MPV、Chromium系瀏覽器皆支援硬體解碼播放AV1編碼的影片。\n為簡化AV1影片的轉檔流程，Av1an出現了。這是一套用Rust寫成的命令行影片轉檔框架，支援各大作業系統。提供超可適性視訊編碼(Scalable Video Coding)，支援套用VapourSynth指令稿，還可以中途暫停日後繼續轉檔。\n要評比轉檔後品質好壞的話，使用VMAF評估輸出影片品質。\nAv1an內建的編碼器有AOM、SVT-AV1、rav1e、VP8、VP9、H.264(AVC)、H.265(HEVC)。\n","title":"Av1an：將影片轉檔成AV1編碼的工具","type":"posts"},{"content":"即使電腦硬體不支援TPM2.0，也可以用模擬的跑需要TPM2.0的作業系統。\n例如我的CPU是不支援TPM 2.0的i5-7400，但想在Linux系統裝Windows 11虛擬機，只要透過模擬TPM和自簽Secure Boot後，不用改登錄檔繞過也能正常安裝。\n1. 安裝QEMU/KVM和TPM模擬套件 # 啟用KVM，安裝Libvirt、Virt Manager、QEMU、swtpm、ovmf。\nswtpm是軟體模擬TPM的套件。OVMF則是給QEMU虛擬機使用的UEFI韌體，支援Secure Boot(安全開機)。\n參見Ubuntu安裝QEMU/KVM｜Arch Linux安裝QEMU/KVM\n2 自簽Secure Boot金鑰 # (此步驟非必須)\nSecure Boot非必須，Windows 11只要BIOS有Secure Boot就可以了，不用啟用也能安裝。\n參照Stack Exchange的作法，你得自簽一個Secure Boot金鑰給QEMU的UEFI使用。\n生成platform key openssl req -newkey rsa:2048 -nodes -keyout PKpriv.key -x509 -days 365 -out PK.crt openssl x509 -in PK.crt -outform der -out PK.der 下載Microsoft Corporation KEK CA 2011和Microsoft Windows Production CA 2011金鑰 wget https://go.microsoft.com/fwlink/p/?linkid=321185 wget https://go.microsoft.com/fwlink/?LinkId=321192 製作含有金鑰的映像檔 # 建立32MB的fat32映像檔 qemu-img create -f raw keys.img 32M dd if=/dev/zero of=keys.img bs=4M count=1 mkfs.vfat keys.img # 將其作為loopdevice掛載 losetup /dev/loop0 keys.img mount /dev/loop0 /mnt # 將金鑰複製進去 cp PK.der /mnt/PK.der cp MicCorKEKCA2011_2011-06-24.crt /mnt/KEK.crt cp MicWinProPCA2011_2011-10-19.crt /mnt/DB.crt # 取消掛載 umount /dev/loop0 losetup -d /dev/loop0 3.安裝Windows 11虛擬機 # 有了Secure Boot和TPM，Windows 11虛擬機過程參考這篇：Linux安裝Windows 11虛擬機 (QEMU/KVM)\n不過在開機進入Windows安裝程式前，需先啟用TPM 2.0和Secure Boot：\n點選虛擬機的硬體列表，編輯硬體 → 新增TPM 2.0的模擬硬體 接著點選新增儲存→將含有Secure Boot金鑰的keys.img掛載。 將虛擬機開機，滑鼠點一下讓QEMU吃到主機的滑鼠。按Esc進入BIOS，用鍵盤移動，進入Device Manager → Secure Boot Configuration 將其設定為Custom Mode 之後會多出管理keys的選項，進入後用鍵盤選取PK 選取keys.img映像檔的金鑰。 確認匯入。以此類推將KEK和DB的金鑰也跟著匯入。 Secure Boot會顯示Enabled，記得還要勾選Attempt Secure Boot。 退出BIOS。這樣開機進入Windows 11安裝程式後，Windows 11就不會顯示電腦不支援了。\n虛擬機開機後搜尋「系統資訊」，可以看到Secure Boot正常啟用。 按Windows ＋ R，啟動tmp.msc亦能見到TPM 2.0正常載入。 參考資料 # How to install a windows guest in qemu/kvm with secure boot enabled\n","date":"2023年1月17日","externalUrl":null,"permalink":"/posts/qemu-kvm-secure-boot-tpm-20/","section":"所有文章","summary":"即使電腦硬體不支援TPM2.0，也可以用模擬的跑需要TPM2.0的作業系統。\n例如我的CPU是不支援TPM 2.0的i5-7400，但想在Linux系統裝Windows 11虛擬機，只要透過模擬TPM和自簽Secure Boot後，不用改登錄檔繞過也能正常安裝。\n1. 安裝QEMU/KVM和TPM模擬套件 # 啟用KVM，安裝Libvirt、Virt Manager、QEMU、swtpm、ovmf。\nswtpm是軟體模擬TPM的套件。OVMF則是給QEMU虛擬機使用的UEFI韌體，支援Secure Boot(安全開機)。\n參見Ubuntu安裝QEMU/KVM｜Arch Linux安裝QEMU/KVM\n2 自簽Secure Boot金鑰 # (此步驟非必須)\nSecure Boot非必須，Windows 11只要BIOS有Secure Boot就可以了，不用啟用也能安裝。\n參照Stack Exchange的作法，你得自簽一個Secure Boot金鑰給QEMU的UEFI使用。\n生成platform key openssl req -newkey rsa:2048 -nodes -keyout PKpriv.key -x509 -days 365 -out PK.crt openssl x509 -in PK.crt -outform der -out PK.der 下載Microsoft Corporation KEK CA 2011和Microsoft Windows Production CA 2011金鑰 wget https://go.microsoft.com/fwlink/p/?linkid=321185 wget https://go.microsoft.com/fwlink/?LinkId=321192 製作含有金鑰的映像檔 # 建立32MB的fat32映像檔 qemu-img create -f raw keys.img 32M dd if=/dev/zero of=keys.img bs=4M count=1 mkfs.vfat keys.img # 將其作為loopdevice掛載 losetup /dev/loop0 keys.img mount /dev/loop0 /mnt # 將金鑰複製進去 cp PK.der /mnt/PK.der cp MicCorKEKCA2011_2011-06-24.crt /mnt/KEK.crt cp MicWinProPCA2011_2011-10-19.crt /mnt/DB.crt # 取消掛載 umount /dev/loop0 losetup -d /dev/loop0 3.安裝Windows 11虛擬機 # 有了Secure Boot和TPM，Windows 11虛擬機過程參考這篇：Linux安裝Windows 11虛擬機 (QEMU/KVM)\n","title":"在Linux安装Windows 11 QEMU虛擬機時啟用Secure Boot和TPM 2.0","type":"posts"},{"content":"將圖床轉換成純AVIF後的好處是確實省了一筆流量。\nImageKit.io是唯一支援AVIF格式的圖床(image host)\n原本想說很多圖片的網頁就都放AVIF格式降低你我的流量負擔，又能維持圖片品質\n並且參照Google Lighthouse分數用lazyload等手段優化過載入速度\n結果還是因為這個NSFW網頁太多人看\n不到半個月就快超過ImageKit免費分配的20GB頻寬 沒想到即使用AVIF圖片，太多人看也會害網站圖床流量過大。\nImageKit的後台顯示，這個月流量統計還真恐怖 促使我出手解決這件事情。\n那就是把放在ImageKt的圖片換回Netlify，起碼Netlify給的免費頻寬有100GB。\n主要會失去的是ImageKit提供的自動圖片轉檔功能。如果圖片純放avif的情況下，Google圖片搜尋應該是找不到這個網頁的。ImageKit會將圖片適時轉成WebP等通用格式以讓Google搜尋找到該網頁，也讓舊版瀏覽器能正常查看圖片。\n但是我不care，現不支援AVIF的只有iOS 16以下裝置，因為我很少用蘋果裝置所以(ry\n圖片放在ImageKit，會在網頁載入AVIF時轉成jpg，導致頁面流量高達23MB。 但這個網頁內一百多張avif圖片的實際容量不到10MB！\n根據Netlify的頻寬計算公式：\nBandwidth requirement = [(avg. daily pageviews x page size) + (avg. downloads per day x avg. file size)] x 30 x 1.5\n假設極限狀況下每天100人看，並且全部轉到底載入所有圖片：\n100 * 10MB * 30 * 1.5= 100GB，這篇文章的頻寬月需求約為100GB\n好啦大不了買Netlify的付費會員，但我不想額外為主機以外的空間付錢。\n轉移圖片的方法就是將ImageKit圖片打包下載 將圖片檔統一放到Hugo網站的static目錄，自建放圖片的目錄。 再將文章的連結統一替換。用文字取代功能將https://imagekit.io/.../的網址，全部替換成/images/....aivf的相對路徑這樣。\n在那之後，直接載入AVIF圖片，流量減低了許多，要超過Nelify給的100GB頻寬變更難了。 ","date":"2023年1月17日","externalUrl":null,"permalink":"/posts/move-imagekit-avif-to-netlify/","section":"所有文章","summary":"將圖床轉換成純AVIF後的好處是確實省了一筆流量。\nImageKit.io是唯一支援AVIF格式的圖床(image host)\n原本想說很多圖片的網頁就都放AVIF格式降低你我的流量負擔，又能維持圖片品質\n並且參照Google Lighthouse分數用lazyload等手段優化過載入速度\n結果還是因為這個NSFW網頁太多人看\n不到半個月就快超過ImageKit免費分配的20GB頻寬 沒想到即使用AVIF圖片，太多人看也會害網站圖床流量過大。\nImageKit的後台顯示，這個月流量統計還真恐怖 促使我出手解決這件事情。\n那就是把放在ImageKt的圖片換回Netlify，起碼Netlify給的免費頻寬有100GB。\n主要會失去的是ImageKit提供的自動圖片轉檔功能。如果圖片純放avif的情況下，Google圖片搜尋應該是找不到這個網頁的。ImageKit會將圖片適時轉成WebP等通用格式以讓Google搜尋找到該網頁，也讓舊版瀏覽器能正常查看圖片。\n但是我不care，現不支援AVIF的只有iOS 16以下裝置，因為我很少用蘋果裝置所以(ry\n圖片放在ImageKit，會在網頁載入AVIF時轉成jpg，導致頁面流量高達23MB。 但這個網頁內一百多張avif圖片的實際容量不到10MB！\n","title":"用AVIF格式緩解網頁圖片流量過大的問題","type":"posts"},{"content":"Style2paints定位是協助繪師完稿的程式，還有人專門做了線上版的網站。該程式專門針對線稿，利用AI技術自動填色，方便繪師決定作品色彩風格走向的感覺。對顏色不滿意的話，只要在空白處點上顏色，AI就會立即修正填色。 從我自己測試的結果來看，Style2paints對已經有灰階的黑白漫畫效果有限，不過也是可以試試把黑白漫畫變彩色。\n讓我們試試AI能把這張塗成什麼樣子。（此線稿保存不好，僅供示範，真要用此軟體務請餵給AI漂亮的線條) 1. Linux安裝style2paints # 目前Style2paints V4.5仍是舊版的自動填色，V5預計會加入輸入文字決定上色風格的功能。\nStyle2paints用Nvidia顯示卡跑效果最好，不過僅提供Windows執行檔，好在它是用Python寫的，所以Linux要安裝也不是難事。\nArch Linux首先要安裝Nvidia專有驅動和CUDA套件： sudo pacman -S nvidia-dkms cuda cudnn 接著從AUR安裝Python 3.6 yay -S python36 複製style2paints儲存庫 git clone https://github.com/lllyasviel/style2paints.git 模型包含在Windows版內。下載Windows版壓縮檔，將裡面style2paints45beta1214B/assets/nets/目錄的檔案複製到style2paints/V4.5/s2p_v45_server/nets/的目錄下 在style2paints目錄開啟終端機，建立Python 3.6的虛擬環境。\npython3.6 -m venv venv source venv/bin/activate cd V4.5/s2p_v45_server 安裝依賴套件。h5py需使用2.10.0，否則會出現 AttributeError: ‘str‘ object has no attribute ‘decode‘錯誤。 pip install --upgrade pip pip install -r requirements.txt pip uninstall h5py pip install h5py=2.10.0 然後就可以啟動程式了。 python3.6 Style2PaintsV45_source.py 點選網址http://127.0.0.1:8233開啟程式主界面。 可以在style2paints目錄新增快捷啟動指令稿start.sh：\nsource venv/bin/activate cd V4.5/s2p_v45_server python3.6 Style2PaintsV45_source.py 2. 使用style2paints上色 # 作者有提供各語種的教學。\n開啟主界面，點選右下角上傳圖片。 按照指示裁切圖片，之後style2paint會先試圖著色一次，GTX 1050Ti大約要等30秒。然後會呈現初步結果。 在左邊的選單能嘗試不同風格的上色，也可以上傳彩圖讓AI模仿。顯示卡不夠好的話，多個效果之間的預覽就會很不流暢。 通常自動填色的效果不會令人滿意，為此自行點選右邊的顏色(或按Alt吸取圖片顏色)，像下圖一樣在圖上點幾個點，指示AI這裡要塗的顏色。 按下左下角的魔法棒，讓AI再填色一次。 看起來好點了，再修正一點細節就可以了。 點選右下角儲存。右上角的箭頭則是載入/儲存目前編輯的進度的代碼。 ","date":"2023年1月10日","externalUrl":null,"permalink":"/posts/linux-style2paints/","section":"Ai-Arts","summary":"Style2paints定位是協助繪師完稿的程式，還有人專門做了線上版的網站。該程式專門針對線稿，利用AI技術自動填色，方便繪師決定作品色彩風格走向的感覺。對顏色不滿意的話，只要在空白處點上顏色，AI就會立即修正填色。 從我自己測試的結果來看，Style2paints對已經有灰階的黑白漫畫效果有限，不過也是可以試試把黑白漫畫變彩色。\n讓我們試試AI能把這張塗成什麼樣子。（此線稿保存不好，僅供示範，真要用此軟體務請餵給AI漂亮的線條) 1. Linux安裝style2paints # 目前Style2paints V4.5仍是舊版的自動填色，V5預計會加入輸入文字決定上色風格的功能。\nStyle2paints用Nvidia顯示卡跑效果最好，不過僅提供Windows執行檔，好在它是用Python寫的，所以Linux要安裝也不是難事。\nArch Linux首先要安裝Nvidia專有驅動和CUDA套件： sudo pacman -S nvidia-dkms cuda cudnn 接著從AUR安裝Python 3.6 yay -S python36 複製style2paints儲存庫 git clone https://github.com/lllyasviel/style2paints.git 模型包含在Windows版內。下載Windows版壓縮檔，將裡面style2paints45beta1214B/assets/nets/目錄的檔案複製到style2paints/V4.5/s2p_v45_server/nets/的目錄下 在style2paints目錄開啟終端機，建立Python 3.6的虛擬環境。\n","title":"Linux安裝 Style2Paints 半自動漫畫圖片上色軟體","type":"ai-art"},{"content":"Install multiple Python versions on Arch Linux.\n有些用Python開發的專案不只是限定套件版本，還限定Python版本的說。可是Arch Linux本身是滾動發行版，系統安裝的Python版本前進到宇宙盡頭的速度更新，這樣要跑某些東西就會出問題。\n舉例來說，有個專案表明他們使用Python 3.8開發的，如果強行在Python 3.10.9的環境執行該專案，會跳出永遠都解不完的錯誤，一下套件找不到，一下核心傾印\u0026hellip;之類的。又Linux系統是很依賴Python的，不可能降級系統的Python。為了讓專案順利執行，唯有安裝多重Python版本，並善用venv功能了。\n至於要怎麼安裝嘛，Python官網是有原始碼能下載編譯，不過Arch Linux還有更簡單的方法：從AUR裝。AUR上面會收錄社群維護的舊版本套件，舉凡Python 2到Python 3.9都有，並且一行指令就能自動化安裝。\n1. 安裝yay # yay是跟pacman用法類似的套件管理員，專門管理AUR的套件。\n如果你還沒裝，推薦現在馬上按照作者教學安裝：\nsudo pacman -S --needed git base-devel \u0026amp;\u0026amp; git clone https://aur.archlinux.org/yay.git \u0026amp;\u0026amp; cd yay \u0026amp;\u0026amp; makepkg -si 2. 從AUR安裝舊版本Python # ＊可以用指令python --version確認目前系統的Python版本。\n至AUR首頁鍵入Python版本搜尋。假設要安裝Python 3.8，那麼就是用yay安裝，不用加sudo，一路Enter： yay -S python38 等待編譯完成後輸入密碼，Python 3.8會自動完成安裝。 2. 切換Python舊版本與使用虛擬環境 # 使用指令which python3查看系統Python的安裝位置，通常Arch Linux的Python 3是在/usr/bin/python3。執行python3 main.py跑程式的時候，指向的便是該檔案。\n至於用AUR安裝的舊版Python也是一樣原理：用which python3.8指令得出安裝位置位於/usr/bin/python3.8。日後要用python3.8跑程式的話，就得改成python3.8 main.py這樣。\n有需要的話，我們可以用alias指令暫時將python3變成等同執行python3.8：alias python3=python3.8。\n如果你的專案指定要用Python 3.8，而且套件也嚴格限定版本的話，為了不讓用Python 3.8的pip安裝的套件跟系統衝突，我們可以利用Python的虛擬環境隔離不同版本的pip套件：\n# 安裝venv sudo pacman -S python-virtualenv # 在專案目錄用Python 3.8建立虛擬環境venv python3.8 -m venv venv # 進入虛擬環境 source venv/bin/activate 進入虛擬環境後pip可能會是舊版，記得先更新一下：\npip install --upgrade pip 這樣就能在虛擬環境用pip安裝套件了。注意跑程式還是得用python3.8 main.py來執行，而非python3 main.py；pip安裝套件亦同：python3.8 pip -m install requirements.txt。\n3. 替代方案：Anaconda # Anaconda可以省去從AUR裝Python的麻煩，參見Linux系統安裝Anaconda教學\n","date":"2023年1月9日","externalUrl":null,"permalink":"/posts/archlinux-install-multiple-python-versions/","section":"所有文章","summary":"Install multiple Python versions on Arch Linux.\n有些用Python開發的專案不只是限定套件版本，還限定Python版本的說。可是Arch Linux本身是滾動發行版，系統安裝的Python版本前進到宇宙盡頭的速度更新，這樣要跑某些東西就會出問題。\n舉例來說，有個專案表明他們使用Python 3.8開發的，如果強行在Python 3.10.9的環境執行該專案，會跳出永遠都解不完的錯誤，一下套件找不到，一下核心傾印…之類的。又Linux系統是很依賴Python的，不可能降級系統的Python。為了讓專案順利執行，唯有安裝多重Python版本，並善用venv功能了。\n至於要怎麼安裝嘛，Python官網是有原始碼能下載編譯，不過Arch Linux還有更簡單的方法：從AUR裝。AUR上面會收錄社群維護的舊版本套件，舉凡Python 2到Python 3.9都有，並且一行指令就能自動化安裝。\n1. 安裝yay # yay是跟pacman用法類似的套件管理員，專門管理AUR的套件。\n如果你還沒裝，推薦現在馬上按照作者教學安裝：\nsudo pacman -S --needed git base-devel \u0026\u0026 git clone https://aur.archlinux.org/yay.git \u0026\u0026 cd yay \u0026\u0026 makepkg -si 2. 從AUR安裝舊版本Python # ＊可以用指令python --version確認目前系統的Python版本。\n","title":"Arch Linux安裝多重Python版本，使其共存","type":"posts"},{"content":"原本Ivon想寫個簡單的i3wm使用教學，寫一寫好像就變成很複雜了。不過Ivon不會把文章弄得像r/unixporn那樣複雜的美化，Ivon的自定義以夠用就好為標準。\n雖然這麼說，擺拍的時候還是要開啟透明感裝酷\nIvon將簡介Arch Linux上i3wm的安裝和操作方式，還有一些優化過程。最後談談將Display Manager幹掉，直接用startx啟動i3wm的用法。\n1. i3wm簡介 # i3wm是平鋪式視窗管理員(tiling window manager)，而非完整的桌面環境(desktop environment)，功能極度簡化。與類似的視窗管理員比較，i3wm擁有龐大的生態系和擴充能力。\ni3wm最大好處就是RAM佔用了。對比GNOME和KDE來說非常低，i3wm的RAM佔用甚至比XFCE和LXQT還小。\n但是，使用i3wm需要大量鍵盤快捷鍵，滑鼠的用處大大減弱。你還必須熟悉使用Linux終端機，以及懂得用指令連線上網、啟動藍芽、調整音量等操作，因為這些功能i3wm預設通通不提供，要裝也得花些時間調校，所以要有豐沛的好奇心和充足的時間來自定義i3wm的環境。如果你有geek的潛質，或許會在調整設定時像Ivon一樣越調越起勁。\n注意i3wm是給X視窗系統用的，想要迎接未來的請改用Sway，基本上就是Wayland版i3wm。\n2. 安裝i3wm並初始化 # i3wm可以跟現有的KDE、GNOME等桌面環境共存。i3wm是極簡化的視窗管理員，對其他桌面環境幾乎無影響。\ni3wm大部份Linux發行版都有收。像Arch Linux安裝i3wm的指令就是： # 此group包含i3-wm、i3blocks、i3lock 、i3status、i3-sensible-terminal sudo pacman -S i3 最好裝個終端機模擬器，譬如xterm： sudo pacman -S xterm 登出系統。在登入畫面點選i3wm即可進入i3wm的工作階段。 i3wm初次登入會問要不要建立預設設定檔，用鍵盤移動，選Yes後Enter，我習慣將mod鍵設定為「Windows鍵」，之後設定檔會寫入至~/.config/i3/config。\n如果你把i3wm設定檔弄壞了，導致無法順利進入桌面，你就得進入Linux的tty來修：按CTRL＋Alt＋F1進入tty，然後在這裡修改~/.config/i3/config設定檔。\n3. i3wm的操作方式 # Ivon介紹的是i3wm的預設設定值，部份需要自行新增。此外Ivon的快捷鍵都是按照i3原作者推薦設定的，因為我記不住自己定義的有哪些。\n要了解細部設定，請看官方手冊：i3 User\u0026rsquo;s Guide - i3 Tiling Window Manager\n＊Ivon使用「Windows鍵」作為mod鍵。＊\n進入桌面後什麼都不能按。按mod鍵＋Enter啟動終端機模擬器，i3wm預設會透過執行i3-sensible-terminal，讀取$TERMINAL環境變數來啟動對應的終端機模擬器。從這裡就能啟動程式了，例如輸入firefox。如果要「應用程式列表」，請看下下節安裝rofi。 i3wm所有視窗都是平鋪在同一個畫面，每開一個新視窗，它就會水平排在視窗的旁邊。滑鼠點選中間黑條調整分割大小。 按mod鍵＋V，下一個開啟的視窗就會改成垂直排列。按mod鍵＋H回復水平排列。 對視窗按Shift＋mod鍵＋Q關閉視窗。\n對視窗按mod鍵＋F，視窗會變成全螢幕。再按一次復原。\n對視窗按Shift＋mod鍵＋空白鍵，讓視窗變成自由移動的浮動模式。按mod鍵＋滑鼠右鍵縮放視窗大小。 i3wm沒有「最小化視窗」，不過你可以利用scratchpad(需另外設定快捷鍵)：按Shift＋mod鍵＋減號將一或多個浮動視窗丟到scratchpad暫時隱藏，按mod鍵＋減號復原。\n你應會發現i3wm左下角有數字框框，代表的是工作區(workspace)。按mod鍵＋數字鍵切換至該工作區。對視窗按Shift＋mod鍵＋數字鍵可將視窗移動到另一個工作區。 要使用i3lock鎖定螢幕，按Ctrl＋mod鍵＋L(需另外設定快捷鍵)。i3lock鎖定螢幕後是全黑畫面，可直接輸入密碼解鎖，而無須喚醒螢幕。\n要退出i3wm的工作階段，按Shift＋mod鍵＋E，點選螢幕上方的Yes退出。\ni3wm的設定檔一經修改便需重新載入才會生效，若要不登出重新啟動i3wm，按Shift＋mod鍵＋R。\n4. 優化i3wm環境 # i3wm的設定檔位於~/.config/i3/config，裡面包含啟動i3wm後自動啟動(exec)的程式，還有快捷鍵(bindsym)設定。順序並無固定，不過Ivon建議是按照預設格式：檔案開頭填寫要自動啟動的程式，檔案末尾才填寫快捷鍵設定。\n4.1. 解決Nvidia顯卡畫面撕裂 # i3wm配合Nvidia專有驅動可能會遇到畫面撕裂(tearing)，也就是捲動畫面時候出現橫向撕裂感，在這邊說明解法。\n編輯/etc/default/grub，加入核心參數nomodeset： GRUB_CMDLINE_LINUX=\u0026#34;nomodeset\u0026#34; 更新GRUB設定 sudo grub-mkconfig -o /boot/grub/grub.cfg 編輯~/.config/i3/config，加入Force full composition pipeline的設定。 exec_always --no-startup-id nvidia-settings --assign CurrentMetaMode=\u0026#34;nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}\u0026#34; 重開機。順帶一提，i3wm要使用多螢幕輸出需配合xrender指令。 4.2. 設定隨i3wm自動啟動的程式 # 編輯~/.config/i3/config，設定啟動i3wm後自動啟動Fcitx5輸入法(新酷音)。\nexec_always --no-startup-id fcitx5 -d 安裝feh(見下一節)後，要設定i3wm啟動後自動設定桌布。\nexec_always --no-startup-id ~/.fehbg \u0026amp; 4.3. 設定i3wm快捷鍵 # i3wm預設的快捷鍵已經很多，Ivon僅按照過去使用其他桌面環境的習慣新增幾個。\n編輯~/.config/i3/config，在檔案末尾加入按PrintScreen的截圖快捷鍵：\nbindsym Print exec --no-startup-id maim \u0026#34;/home/$USER/Pictures/$(date).png\u0026#34; 設定鎖定螢幕i3lock的快捷鍵：\nbindsym Control+$mod+l exec \u0026#34;i3lock -c 000000\u0026#34; 最後是scratchpad的快捷鍵：\nbindsym $mod+Shift+minus move scratchpad bindsym $mod+minus scratchpad show 關於調整音量，i3wm預設綁定的是電腦鍵盤的音量鍵(XF86Audio，在PrintScreen鍵上面)配合pactl指令控制。如果你的鍵盤沒有音量鍵，就得另外綁定快捷鍵了。此外Ivon使用的音訊系統是PulseAudio，所以會選擇安裝pavucontrol這個圖形化工具再用rofi啟動，方便調整音量和輸出裝置。\n4.4. 設定i3wm右下角顯示的系統資訊 # i3wm預設會用i3-status在電腦右下角顯示IP、網速、RAM、硬碟等資訊。\nIP不該是隨時被人看到的東西對吧，編輯i3-status設定檔，位於~/.config/i3status.conf，將有線網路的格式修改如下： ethernet _first_ { format_up = \u0026#34;Ethernet: Up\u0026#34; format_down = \u0026#34;Ethernet: down\u0026#34; } 重新啟動i3wm。 4.5. 安裝應用程式啟動器rofi # rofi作用為顯示應用程式列表，是取代dmenu的好選擇。\n安裝rofi： sudo pacman -S rofi 編輯~/.config/i3/config，將i3wm設定檔的dmenu快捷鍵取代為rofi： bindsym $mod+d exec --no-startup-id rofi -show drun 重新啟動i3wm，按mod鍵＋D即可啟動應用程式列表。rofi會記住常用的應用程式並把他們排在前面。 4.6. 安裝合成器picom啟用透明特效 # i3wm預設並沒有合成器(compositor)，一般會推薦裝picom(compton已與其合併)，提供透明與陰影效果。\n安裝picom： sudo pacman -S picom 複製picom的預設設定檔。該檔案用於設定picom的透明度、陰影、圓角。Ivon不太喜歡視窗都透明的，所以我會將預設值調回1。 cp /etc/xdg/picom.conf ~/.config/picom.conf 將picom加入~/.config/i3/config隨i3wm自動啟動。exec_always是指每次重新載入i3wm設定檔也會自動啟動。 exec_always --no-startup-id picom -b --config /home/$USER/.config/picom.conf 重新啟動i3wm，即可看到picom提供的視窗透明效果，切換工作區還會出現漸層動畫。 4.7 停用螢幕鎖定與保護程式 # i3wm的設定檔案加入以下內容，防止X螢幕保護程式啟動：\nexec_always --no-startup-id xset s off exec_always --no-startup-id xset s off -dpms exec_always --no-startup-id xset s noblank 5. 推薦跟i3wm一起用的軟體 # Ivon推薦安裝一些像i3wm重度依賴鍵盤，無需滑鼠就可以操作的軟體。\n5.1. st極簡終端機 # st就\u0026hellip;簡單的終端機模擬器，沒有其他桌面環境那樣花俏的分頁和視窗功能。\nst需從AUR安裝，檔案很小。貼上指令要按Shift＋Insert。要更多自定義你得去改它的C原始碼。 yay -S st 修改i3wm的設定檔，找到i3-sensible-terminal這行，將mod鍵+Enter啟動的終端機改為st： bindsym $mod+Return exec st 5.2. nm-applet純文字網路設定工具 # 網路連線現在都是利用NetworkManager，確保開機自動啟動： sudo systemctl enable NetworkManager 安裝nm-applet。 sudo pacman -S network-manager-applet i3wm的設定檔裡面已經有nm-applet自動啟動的參數，所以重開機後就會看到系統右下角有控制網路連線的選單。另外nmcli指令也是很好用的連線工具。 5.3. ranger純文字檔案管理器 # 安裝ranger： sudo pacman -S ranger 複製ranger設定檔至~/.config/ranger/rc.conf： ranger --copy-config=all ranger使用上跟vim十分相似，檢視檔案會自動啟動相應的應用程式。你也可以綁定快捷鍵。 5.4. feh圖片檢視器與設定桌布 # 安裝feh： sudo pacman -S feh feh的用途就是拿來看圖片，支援各種格式。也可以用來設定桌布： feh --bg-scale \u0026#34;圖片路徑\u0026#34; 將fehbg賦予執行權限： chmod +x ~/.fehbg 將這條加到i3wm的設定檔，使每次登入後自動設定桌布： exec_always ~/.fehbg \u0026amp; 5.5. mpv播放影片和音樂 # 跟常見的影片播放器VLC不同，MPV的自定義程度非常高。\n安裝MPV： sudo pacman -S mpv 建立預設設定檔： cp -r /usr/share/doc/mpv/ ~/.config/ 編輯~/.config/mpv/mpv.conf設定檔啟用MPV的硬體加速： sub-auto=fuzzy profile=gpu-hq 編輯~/.config/mpv/input.conf可以設定快捷鍵： shift+s screenshot each-frame Shift+UP seek 600 Shift+DOWN seek -600 = cycle video-unscaled - cycle-values window-scale 2 3 1 .5 WHEEL_UP add volume 5 WHEEL_DOWN add volume -5 WHEEL_LEFT ignore WHEEL_RIGHT ignore Alt+RIGHT add video-rotate 90 Alt+LEFT add video-rotate -90 Alt+- add video-zoom -0.25 Alt+= add video-zoom 0.25 Alt+j add video-pan-x -0.05 Alt+l add video-pan-x 0.05 Alt+i add video-pan-y 0.05 Alt+k add video-pan-y -0.05 Alt+BS set video-zoom 0; set video-pan-x 0; set video-pan-y 0 順帶一提，mpv還能播放影片當i3wm的動態桌布。\n5.6. vim文字編輯器 # vim的教學網路上非常多了，這裡就不贅述了。vim能編輯程式，也可以分割視窗當小型IDE用。\n如果想在終端機裡面啟動分割視窗，你可以另外安裝tmux，並設定登入Bash後自動啟動tmux工作階段。\n5.7. w3m純文字網頁瀏覽器 # w3m是支援CSS的純文字網頁瀏覽器，用來看Hacker News這類無圖片的純文字網頁很適合。此外，Reddit有Python的RDT套件可以純文字瀏覽，台灣的PTT則是用SSH連線至bbsu@ptt.cc就行了。\n另外本站也可以用w3m存取喔。\n安裝w3m：\nsudo pacman -S w3m 造訪Google。操作方法見官網，\nw3m google.com 6. 以startx啟動i3wm # Linux開機都會有顯示管理器(Display Manager)用於登入桌面環境，例如GDM、LightDM、SDDM等。但其實你可以把它去掉，變成開機只有黑底白字的tty，並在登入帳號後才啟動X伺服器和i3wm。 Ivon覺得這樣有點回到90年代的感覺，因為得從xinitrc開始設定起\u0026hellip;但還是寫下來供參考。記得要先按照上面的步驟解決Nvidia顯示卡的問題，否則tty會沒畫面。\n停用Display Manager的開機服務，例如GDM： sudo systemctl disable gdm 拷貝預設xinitrc設定值至家目錄 cp /etc/X11/xinit/xinitrc ~/.xinitrc 編輯~/.xinitrc，去掉start some nice programs段落啟動的測試用程式。並在最下方加入啟動i3wm。 #!/bin/sh # start some nice programs if [ -d /etc/X11/xinit/xinitrc.d ] ; then for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do [ -x \u0026#34;$f\u0026#34; ] \u0026amp;\u0026amp; . \u0026#34;$f\u0026#34; done unset f fi exec i3 編輯Bash設定檔~/.bash_profile，設定登入帳號後自動啟動X伺服器(僅限本機而非SSH)，並在退出i3wm後自動退出登入。 # # ~/.bash_profile # [[ -f ~/.bashrc ]] \u0026amp;\u0026amp; . ~/.bashrc if [ -z \u0026#34;${DISPLAY}\u0026#34; ] \u0026amp;\u0026amp; [[ $(tty) = /dev/tty1 ]]; then exec startx exit fi 7. 用chezmoi備份dotfile # i3wm的設定檔眾多，你需要一款軟體加以管理。\n參考Chezmoi使用教學\n延伸閱讀 # Arch Linux Wiki suckless.org ","date":"2023年1月8日","externalUrl":null,"permalink":"/posts/setup-i3wm/","section":"所有文章","summary":"原本Ivon想寫個簡單的i3wm使用教學，寫一寫好像就變成很複雜了。不過Ivon不會把文章弄得像r/unixporn那樣複雜的美化，Ivon的自定義以夠用就好為標準。\n雖然這麼說，擺拍的時候還是要開啟透明感裝酷\nIvon將簡介Arch Linux上i3wm的安裝和操作方式，還有一些優化過程。最後談談將Display Manager幹掉，直接用startx啟動i3wm的用法。\n1. i3wm簡介 # i3wm是平鋪式視窗管理員(tiling window manager)，而非完整的桌面環境(desktop environment)，功能極度簡化。與類似的視窗管理員比較，i3wm擁有龐大的生態系和擴充能力。\ni3wm最大好處就是RAM佔用了。對比GNOME和KDE來說非常低，i3wm的RAM佔用甚至比XFCE和LXQT還小。\n但是，使用i3wm需要大量鍵盤快捷鍵，滑鼠的用處大大減弱。你還必須熟悉使用Linux終端機，以及懂得用指令連線上網、啟動藍芽、調整音量等操作，因為這些功能i3wm預設通通不提供，要裝也得花些時間調校，所以要有豐沛的好奇心和充足的時間來自定義i3wm的環境。如果你有geek的潛質，或許會在調整設定時像Ivon一樣越調越起勁。\n","title":"Linux平鋪視窗管理員：i3wm快速上手","type":"posts"},{"content":"兩儀(Twoyi)是能在Android系統跑另一個Android系統的輕量容器APP，不需要root權限。除此之外容器內建root權限，所以可以在沒root的手機上跑需要root的APP。\n＊目前還在開發階段，用Android 12手機實測不太穩定。\n1. 使用兩儀的理由 # 市面上手機虛擬機的類似產品有中國的VMOS，但是為閉源軟體，因此兩儀是值得嘗試的對象。\n順帶一提兩儀的作者也是「太極Xposed框架」的作者，不過太極是閉源軟體。\n如果是要在一台手機上用二個系統(或稱手機分身)，雙重開機、Working Profile、雲手機的技術都能做到，其用途有雙開、保護隱私、應付審查等，但是他們普遍不好搞。如果能用最簡單不root的手段達成這個目的，那麼兩儀便是一個選擇。\n2. 安裝兩儀 # 至Github下載兩儀的apk\n如果手機為Android 12以上系統，必須停用Phantom Process Killing防止兩儀崩潰。\n開啟APP，不到30秒就開好了。系統為Android 8，作者說選擇Android 8是為了讓Xposed正常運作。\n點選連線至兩儀提供的虛擬Wifi。\n3. APP與檔案管理 # 由下往上開啟APP列表，選容器的「兩儀」圖示就能將本機APP和檔案匯入至兩儀的系統。我個人是先匯入瀏覽器。\n4. 安裝Google服務 # 作者說如果要安裝Google Play服務，至Github下載GMS，將GMS解壓縮放到兩儀系統目錄。\n話是這麼說啦，不過我的檔案管理APP完全無法取得Root權限，只能用Termux指令裝了。\n5.限制 # 雖然兩儀有Root權限，但是目前0.5.4版本很多APP都無法取得授權。實測只有Termux的su指令能成功切換至超級使用者。\n兩儀未來還預計支援Xposed模組。這樣即使你的實體手機沒root，也能在兩儀使用Xposed。\n目前兩儀無法播放音效，圖形效能也很低落，用起來會卡卡的，Chrome閃退，影片也無法播放。\n","date":"2023年1月7日","externalUrl":null,"permalink":"/posts/twoyi-introduction/","section":"所有文章","summary":"兩儀(Twoyi)是能在Android系統跑另一個Android系統的輕量容器APP，不需要root權限。除此之外容器內建root權限，所以可以在沒root的手機上跑需要root的APP。\n＊目前還在開發階段，用Android 12手機實測不太穩定。\n1. 使用兩儀的理由 # 市面上手機虛擬機的類似產品有中國的VMOS，但是為閉源軟體，因此兩儀是值得嘗試的對象。\n順帶一提兩儀的作者也是「太極Xposed框架」的作者，不過太極是閉源軟體。\n如果是要在一台手機上用二個系統(或稱手機分身)，雙重開機、Working Profile、雲手機的技術都能做到，其用途有雙開、保護隱私、應付審查等，但是他們普遍不好搞。如果能用最簡單不root的手段達成這個目的，那麼兩儀便是一個選擇。\n2. 安裝兩儀 # 至Github下載兩儀的apk\n如果手機為Android 12以上系統，必須停用Phantom Process Killing防止兩儀崩潰。\n開啟APP，不到30秒就開好了。系統為Android 8，作者說選擇Android 8是為了讓Xposed正常運作。\n點選連線至兩儀提供的虛擬Wifi。\n3. APP與檔案管理 # 由下往上開啟APP列表，選容器的「兩儀」圖示就能將本機APP和檔案匯入至兩儀的系統。我個人是先匯入瀏覽器。\n","title":"兩儀～Android手機跑Android虛擬機，免root的手機分身","type":"posts"},{"content":"＊本文內容轉載自某個已經消失的Youtube頻道所翻譯的影片，題名為《Minecraft創世起源》。原始影片是2013年發布的In The Beginning (Minecraft Machinima)。\n這世界原本是個虛空，直到造物者-Notch和Herobrine出現，他們創造了光普照大地，和更多生態系。\n接著他們創造了村民。Notch瞭解到需要一個更高智商的生物來使這世界繁榮，Steve由此誕生，由村民和Steve們維持文明。不過，Herobrine觀察到一個現象。\n\u0026ldquo;兄弟，他們為什麼不崇拜我們?\u0026ldquo;Herobrine問Notch。\n\u0026ldquo;我賦予了他們自由意志。\u0026rdquo;\n\u0026ldquo;你不能這樣，他們會毀了這世界!\u0026rdquo;\n\u0026ldquo;經一事，才能長一智。\u0026ldquo;Notch回答。\n\u0026ldquo;現在我要去完成這宇宙，你是唯一能夠守護他們的人。\u0026rdquo;\nNotch託付Herobrine這個任務，就掉頭離開了。\n\u0026ldquo;這完美的世界\u0026hellip;\u0026hellip;\u0026ldquo;Herobrine呢喃道。\n火球從天而降，襲擊村莊，村民們各個著火死亡。Herobrine眼睜睜盯著這場屠殺。\n一天晚上——\n一個Steve在他家走進走出。\n\u0026ldquo;啪沙!\u0026rdquo;\n草破碎的聲音。Steve出門查看，沒發現異狀，轉身準備入屋時，外頭聚集了幾隻活屍。等到Steve驚覺到，他已被啃食。\n這是Herobrine散佈的病毒，蔓延整個大地。他與他的怪物大軍侵佔了整個世界，末影人被創造出來就是找出藏匿者。\n這時Notch回來了。\n\u0026ldquo;兄弟，你做了甚麼!?\u0026rdquo;\n\u0026ldquo;讓這個世界\u0026hellip;恢復秩序。\u0026rdquo;\n\u0026ldquo;你不能這樣做!\u0026rdquo;\n他們倆打了前來，Notch首先處於劣勢。\n一場碰撞——，Notch浮到天上，Herobrine無法動彈。\n\u0026ldquo;你\u0026hellip;你做了甚麼。\u0026rdquo;\n\u0026ldquo;我無法殺了你，因為你是我兄弟。\u0026ldquo;Notch正在勸誡。\n\u0026ldquo;你有膽試試看\u0026hellip;\u0026hellip;\u0026rdquo;\n\u0026ldquo;但是我可以流放你!\u0026rdquo;\n\u0026ldquo;什!?\u0026rdquo;\n\u0026ldquo;我的兄弟!\u0026rdquo;\nNotch雙眼放出強光，Herobrine腳下岩石裂開，他不斷往下跌。\nNotch把Herobrine流放到地獄。\n\u0026ldquo;我會回來的!\u0026rdquo;\nHerobrine在岩漿裡掙扎著。\n\u0026ldquo;然後，把你的一切\u0026hellip;全部摧毀!\u0026rdquo;\nHerobrine開始在地獄籌組他的大軍，為了將來的復仇，他把他的鬥士—末影龍囚禁在末路之地，等待復仇日到來。\n而這就，構成了現在的Minecraft——\n\u0026ldquo;希望你也能一同分享這一切，等那天到來\u0026hellip;\u0026hellip;\u0026rdquo;\nNotch這樣說道。\n","date":"2023年1月5日","externalUrl":null,"permalink":"/posts/minecraft-in-the-beginning-zh_tw/","section":"Minecrafts","summary":"＊本文內容轉載自某個已經消失的Youtube頻道所翻譯的影片，題名為《Minecraft創世起源》。原始影片是2013年發布的In The Beginning (Minecraft Machinima)。\n這世界原本是個虛空，直到造物者-Notch和Herobrine出現，他們創造了光普照大地，和更多生態系。\n接著他們創造了村民。Notch瞭解到需要一個更高智商的生物來使這世界繁榮，Steve由此誕生，由村民和Steve們維持文明。不過，Herobrine觀察到一個現象。\n“兄弟，他們為什麼不崇拜我們?“Herobrine問Notch。\n“我賦予了他們自由意志。”\n“你不能這樣，他們會毀了這世界!”\n“經一事，才能長一智。“Notch回答。\n“現在我要去完成這宇宙，你是唯一能夠守護他們的人。”\nNotch託付Herobrine這個任務，就掉頭離開了。\n“這完美的世界……“Herobrine呢喃道。\n火球從天而降，襲擊村莊，村民們各個著火死亡。Herobrine眼睜睜盯著這場屠殺。\n一天晚上——\n一個Steve在他家走進走出。\n“啪沙!”\n","title":"影片文字稿翻譯：Minecraft創世起源 (In The Beginning)","type":"minecraft"},{"content":"","date":"2023-01-05","externalUrl":null,"permalink":"/en-us/categories/essays/","section":"Categories","summary":"","title":"Essays","type":"categories"},{"content":"","date":"2023-01-05","externalUrl":null,"permalink":"/en-us/categories/liberal-arts/","section":"Categories","summary":"","title":"Liberal Arts","type":"categories"},{"content":"The fate of our times is characterized by rationalization and intellectualization and, above all, by the disenchantment of the world. (Weber)\nHow does an organization work? The hierarchy of an organization or a company should have clear rules positions and powers. Instead of hiring employee by having the inside track, the ability of a person is more important. He is the founder of Bureaucratic School of Classical Organization Theory. Weber’s management theory is beneficial to the large organization such as the government because he made a clear rules of an organization and explained how they should behavior in detailed.\nMax Weber. Wikipedia.\nFirst of all, Max Weber indicated the connection between Protestantism and Capitalism. Maximilian Karl Emil Weber was born in 1864. His parents are all Protestants. He joined “Verein für Sozialpolitik” in 1888 and proposed the concept of “Wertfreiheit” which said that conducting researches should be subjective, not objective, especially in sociology studies.\nIn 1905, he published “Die protestantische Ethik und der Geist des Kapitalismus” In his book, he stated that there is a connection between Protestants and Capitalism to some extents. It is the doctrine of the Capitalism that empower the development of Capitalism. For example, he quoted what Benjamin Franklin once said:\nRemember, that time is money. He that can earn ten shillings a day by his labor, and goes abroad, or sits idle, one half of that day, though he spends but sixpence during his diversion or idleness, ought not to reckon that the only expense; he has really spent, or rather thrown away, five shillings besides.\nHe also argued that according to Protestants religious, an individual was religiously compelled to follow a secular vocation (German: Beruf, English: “calling”) with as much zeal as possible. A person living was more likely to accumulate money. That is, Weber combined economic sociology and the sociology of religion, emphasizing the importance of cultural influences embedded in religion as a means for understanding the genesis of capitalism.\nSecond, he started to conduct new researches and developed his theory of bureaucracy, also known as rational model.\nHe indicated that the bureaucracy is “based on the general principle of precisely defined and organized across-the-board competencies of the various offices” which are “underpinned by rules, laws, or administrative regulations.”\nThis also includes two actors, the public sector and private sector. He wrote the three essences of the private sector:\nA rigid division of labor is established that clearly identifies regular tasks and duties of the particular bureaucratic system.\nRegulations describe firmly established chains of command and the duties and capacity to coerce others to comply.\nHiring people with particular, certified qualifications supports regular and continuous execution of the assigned duties.\nAlso there are nine principles of bureaucracy:\nSpecialized roles\nRecruitment based on merits\nUniform principles of placement, promotion, and transfer in an administrative system\nCareerism with systematic salary structure\nHierarchy, responsibility and accountability\nSubjection of official conduct to strict rules of discipline and control\nSupremacy of abstract rules\nImpersonal authority\nPolitical neutrality\nBy following these rules, an organization or a company is able to achieve the maximum profit. With the implementation of bureaucracy, higher efficiency and effectiveness is around the corner. He figured out that the bureaucracy is indispensable in large organizations because a large numbers of employees can perform their works.\nIn addition to these basic principles, the three distinct types of powers(or authorities) in an organization are worth to be noticed. First of them is the traditional power.\nThe power is legitimated by the custom, a ruler typically has no real force to carry out his will or maintain his position, he only mainly depends on group’s respect, such as Pope.\nSecond, the Charismatic powers, the authority is concentrated in one leader, people admire his or her own great abilities and make unusual sacrifices, such as Jesus. In Weber’s view point this kind of people “are just as likely to be tyrannical as they are heroic.”\nAnd finally, the rational-legal authority, “the power made legitimate by laws, written rules, and regulations is termed rational-legal authority.” There is a always a handbook which set up the standard of employees.\nIn the delivery of Weber’s speech in 1919, he pointed out that the world was in a disenchantment state for the scientific understanding is more high valued than belief. Therefore people or a country tends to adhere the power of rational-legal authority. The orientation is forwarding to rational goals in compare of traditional society. In conclusion, people would pursue a organization which leaded by rational-legal leaders.\nFinally, for the application of Weber’s theory, the USA government is a good example. Politicians are elected by people, whatever the Civil Services are servants, the operational arms of political leaders. Civil Services mainly focus on executing and implementing the duties in the organization.\nFirst of all, everyone do their own jobs, which is the essence of Weber’s bureaucracy theory. Second, Civil Services are always permanent fixtures which provides stability and continuity. However, there are still power transitions. All of these are written in the staff handbooks, so that these meet Weber’s nine principles of bureaucracy. The Civil Services has an organized hierarchy, with a career structure. What’s more, without favoritism, Civil Services must execute functions consistently and dispassionately.\nThe government hierarchy is strict but also well-division of works, so that everyone could do their best and contribute to the large organizations and keep the big machine working well. In short, bureaucracy is truly necessary for modern government, and it did follow what Weber proposed.\nIn conclusion, Max Weber embellished the scientific management theory with his bureaucratic management theory which focus on clear rules and strict organization hierarchy. First, from Protestantism, he figured out the boost origin of the Capitalism. Second, he purposed two factors, nine principles of bureaucracy and two types of powers to describe his theory well. Third, the USA Civil Services is a successful implementation of Bureaucratic model. Weber’s theory had a great impact on Western management study, what he provided are the formal ways to achieve the maximum profits of an organization. That is, people will know the importance of bureaucracy and know how to apply it on real life.\nReferences # What are the main functions of bureaucracy according to Max Weber? — Quora\nReading: Types of Authority | Introductory Sociology\nBureaucratic Theory by Max Weber — toolshero\nMax Weber — Wikipedia\n官僚型模學派－主要特徵-知識百科-三民輔考\n韋伯的慧眼能否看穿時局迷霧？──韋伯百年祭 — 思想坦克\n组织管理之父 — — 马克斯·韦伯 — 知乎专栏\n(Weber)-理想型官僚及科層體制 — 隨意窩\n除魅或復魅- 王崇堯\n","date":"2023-01-05","externalUrl":null,"permalink":"/en-us/posts/the-bureaucratic-theory-of-max-weber/","section":"","summary":"The fate of our times is characterized by rationalization and intellectualization and, above all, by the disenchantment of the world. (Weber)\nHow does an organization work? The hierarchy of an organization or a company should have clear rules positions and powers. Instead of hiring employee by having the inside track, the ability of a person is more important. He is the founder of Bureaucratic School of Classical Organization Theory. Weber’s management theory is beneficial to the large organization such as the government because he made a clear rules of an organization and explained how they should behavior in detailed.\nMax Weber. Wikipedia.\nFirst of all, Max Weber indicated the connection between Protestantism and Capitalism. Maximilian Karl Emil Weber was born in 1864. His parents are all Protestants. He joined “Verein für Sozialpolitik” in 1888 and proposed the concept of “Wertfreiheit” which said that conducting researches should be subjective, not objective, especially in sociology studies.\nIn 1905, he published “Die protestantische Ethik und der Geist des Kapitalismus” In his book, he stated that there is a connection between Protestants and Capitalism to some extents. It is the doctrine of the Capitalism that empower the development of Capitalism. For example, he quoted what Benjamin Franklin once said:\nRemember, that time is money. He that can earn ten shillings a day by his labor, and goes abroad, or sits idle, one half of that day, though he spends but sixpence during his diversion or idleness, ought not to reckon that the only expense; he has really spent, or rather thrown away, five shillings besides.\nHe also argued that according to Protestants religious, an individual was religiously compelled to follow a secular vocation (German: Beruf, English: “calling”) with as much zeal as possible. A person living was more likely to accumulate money. That is, Weber combined economic sociology and the sociology of religion, emphasizing the importance of cultural influences embedded in religion as a means for understanding the genesis of capitalism.\nSecond, he started to conduct new researches and developed his theory of bureaucracy, also known as rational model.\nHe indicated that the bureaucracy is “based on the general principle of precisely defined and organized across-the-board competencies of the various offices” which are “underpinned by rules, laws, or administrative regulations.”\nThis also includes two actors, the public sector and private sector. He wrote the three essences of the private sector:\nA rigid division of labor is established that clearly identifies regular tasks and duties of the particular bureaucratic system.\nRegulations describe firmly established chains of command and the duties and capacity to coerce others to comply.\nHiring people with particular, certified qualifications supports regular and continuous execution of the assigned duties.\nAlso there are nine principles of bureaucracy:\nSpecialized roles\nRecruitment based on merits\nUniform principles of placement, promotion, and transfer in an administrative system\nCareerism with systematic salary structure\nHierarchy, responsibility and accountability\nSubjection of official conduct to strict rules of discipline and control\nSupremacy of abstract rules\nImpersonal authority\nPolitical neutrality\n","title":"The Bureaucratic Theory of Max Weber","type":"personal"},{"content":"騰訊在2022年12月展開新版本QQ的封閉測試，推出Electron技術撰寫的QQ電腦版3.0，支援Linux和MacOS平台。\n月底正式上線，各大Linux發行版都能到官網下載安裝。\n我的系統是Debian 11，QQ Linux的版本為3.0.0-571。\n1. 如何安裝QQ Linux 3.0 # 至QQ官網下載安裝檔。QQ Linux僅提供Ddebian系和Fedora系的套件，其他發行版可選用AppImage的版本。 以deb檔為例，下載QQ的deb檔案後，在下載目錄開啟終端機，使用指令安裝：\nsudo dpkg -i qq.deb 如果是下載AppImage版本，則是要賦予執行權限，並直接執行： chmod +x qq.AppImage ./qq.AppImage 2. QQ Linux版的功能 # 安裝QQ後，你可以在應用程式列表找到QQ QQ Linux每次重啟都需要手機掃描登錄，體驗非常差。 主界面便是簡單顯示消息 點選左邊的Z會跳到QQ空間，僅是簡單的檢視畫面，再按下去會跳到界面更原始的網頁版QQ空間。 \u0026hellip;馬上就遇到bug了 聊天的功能也很基本，包含即時擷圖。 由此可知，目前的QQ Linux版即使翻新過，仍比Windows版少了很多功能，頂多是拿來回訊息的程度。或許這樣比較沒那麼流氓(掃描硬碟上的檔案什麼的\u0026hellip;)，不過需要Windows版QQ完整功能的使用者，請還是裝deepin-qq比較實際。\n","date":"2023年1月2日","externalUrl":null,"permalink":"/posts/qq-3.0-linux/","section":"所有文章","summary":"騰訊在2022年12月展開新版本QQ的封閉測試，推出Electron技術撰寫的QQ電腦版3.0，支援Linux和MacOS平台。\n月底正式上線，各大Linux發行版都能到官網下載安裝。\n我的系統是Debian 11，QQ Linux的版本為3.0.0-571。\n1. 如何安裝QQ Linux 3.0 # 至QQ官網下載安裝檔。QQ Linux僅提供Ddebian系和Fedora系的套件，其他發行版可選用AppImage的版本。 以deb檔為例，下載QQ的deb檔案後，在下載目錄開啟終端機，使用指令安裝：\nsudo dpkg -i qq.deb 如果是下載AppImage版本，則是要賦予執行權限，並直接執行： chmod +x qq.AppImage ./qq.AppImage 2. QQ Linux版的功能 # 安裝QQ後，你可以在應用程式列表找到QQ QQ Linux每次重啟都需要手機掃描登錄，體驗非常差。 主界面便是簡單顯示消息 點選左邊的Z會跳到QQ空間，僅是簡單的檢視畫面，再按下去會跳到界面更原始的網頁版QQ空間。 …馬上就遇到bug了 聊天的功能也很基本，包含即時擷圖。 由此可知，目前的QQ Linux版即使翻新過，仍比Windows版少了很多功能，頂多是拿來回訊息的程度。或許這樣比較沒那麼流氓(掃描硬碟上的檔案什麼的…)，不過需要Windows版QQ完整功能的使用者，請還是裝deepin-qq比較實際。\n","title":"Linux系統安裝QQ電腦版3.0 ","type":"posts"},{"content":"一年一度的Minetest子遊戲Minetest Game Jam結束了，今年同樣是由社群票選出3個優秀作品並給予獎金。 1. Minetest Game Jam 2022規則 # 本次參賽獎金為600美金，第一名會分得二分之一獎金，第二名三分之一，第三名六分之一。可惜的是，今年還是得用不自由的金融服務Paypal支付。\n根據Minetest官方論壇的文章，本次比賽從11月1日開始，11月21日截止，由評審群評分選出前三名。之後開放社群投票至11月28日，選出一名社群票選的贏家，並在11月30日宣佈結果。\n參賽的子遊戲主題必須為以下其中一種：Space(太空)，Secret(祕密)，Story(故事)。題目是比賽開始後才公佈的，因此參賽者無法預先製作作品。\n作品要求跟往年一樣，子遊戲必須考量玩法(gameplay)、創意(innovation)、內容(content)、主題(theme)的品質。如果子遊戲足夠穩定、無須安裝模組就能直接玩、擁有公開Git儲存庫，則會另外加分。\n參賽者只要在時限內將作品上傳至ContentDB，並打上Jam / Game 2022標籤即可。\n2. 得獎結果 # 第一名是Wuzzy製作的Glitch。遊戲說明：你叫做One，一個位元組，在進行慣例的資料傳送時遇到神秘干擾，進而迷失在數位空間。你有辦法找出事故原因，並重回正軌嗎？探索你身處的系統，蒐集電子解鎖新的關卡，學習新技能變得更強，或許你能從中找到通往目的地的正確途徑。 第二名：PiDemon製作的Piranesi。遊戲說明：這個密室逃脫遊戲擁有令人沈浸的故事，以及融合了太空要素。 第三名：Nathan Salapat製作的The secret story of spacetravel。遊戲說明：你在疑似廢棄的太空船醒來。船員究竟發生了什麼，以及接下來會遇到什麼，探索太空船尋找答案吧。 社群票選最高票的贏家：MisterE製作的SlideSpace。遊戲說明：根據力學原理，物體在沒有外力干擾下就會持續運動。在這個簡單的解謎遊戲中，轉動你的頭確定方向，按下空白鍵前進，解開重重謎團，穿過虛空，回到你的太空船。 投票分佈。今年參賽的作品比2021年少了一些，也許是因為限制主題的關係吧。 詳細資料參看2022 Minetest Game Jam的儲存庫\n","date":"2022年12月31日","externalUrl":null,"permalink":"/posts/2022-minetest-game-jam/","section":"Luantis","summary":"一年一度的Minetest子遊戲Minetest Game Jam結束了，今年同樣是由社群票選出3個優秀作品並給予獎金。 1. Minetest Game Jam 2022規則 # 本次參賽獎金為600美金，第一名會分得二分之一獎金，第二名三分之一，第三名六分之一。可惜的是，今年還是得用不自由的金融服務Paypal支付。\n根據Minetest官方論壇的文章，本次比賽從11月1日開始，11月21日截止，由評審群評分選出前三名。之後開放社群投票至11月28日，選出一名社群票選的贏家，並在11月30日宣佈結果。\n參賽的子遊戲主題必須為以下其中一種：Space(太空)，Secret(祕密)，Story(故事)。題目是比賽開始後才公佈的，因此參賽者無法預先製作作品。\n作品要求跟往年一樣，子遊戲必須考量玩法(gameplay)、創意(innovation)、內容(content)、主題(theme)的品質。如果子遊戲足夠穩定、無須安裝模組就能直接玩、擁有公開Git儲存庫，則會另外加分。\n參賽者只要在時限內將作品上傳至ContentDB，並打上Jam / Game 2022標籤即可。\n2. 得獎結果 # 第一名是Wuzzy製作的Glitch。遊戲說明：你叫做One，一個位元組，在進行慣例的資料傳送時遇到神秘干擾，進而迷失在數位空間。你有辦法找出事故原因，並重回正軌嗎？探索你身處的系統，蒐集電子解鎖新的關卡，學習新技能變得更強，或許你能從中找到通往目的地的正確途徑。 第二名：PiDemon製作的Piranesi。遊戲說明：這個密室逃脫遊戲擁有令人沈浸的故事，以及融合了太空要素。 第三名：Nathan Salapat製作的The secret story of spacetravel。遊戲說明：你在疑似廢棄的太空船醒來。船員究竟發生了什麼，以及接下來會遇到什麼，探索太空船尋找答案吧。 ","title":"比拼誰的子遊戲最吸睛：2022 Minetest Game Jam結果出爐","type":"luanti"},{"content":"lÀu lâi-á ké phōng-kó, Phuà-bâ ké sìng-lú. Kuí pān-sian, lâi tsiàm tuā-biō. Tsia̍h lâng káu-kàu, thinn-tē bô kong-tō, lān-pha ùn bi̍t hōo lâng tsn̄g. －－Lô-chúi-khoe Kong-siā\nI can\u0026rsquo;t stand with this indecision, married with lack of vision!!Say you never never never need it? All for freedom and for pleasure!\n年末最後一篇，宣佈本部落格放開的新政策，解禁二大文章類別：政治與色情。\n政治和色情，哪個比較可怕啊？結論是我二個都要。 根據統計，這二類內容在本站300+篇文章佔比不到10%，未來也將繼續維持此一低落的比例。但根據後台資料顯示，色情內容普遍是Googe搜尋流量的前段班，太苦了，哈。\n政治內容 # 最近看李敖生前罵國民黨，罵共產黨，罵民進黨與虛偽的台獨運動後，就覺得表達政治並不是應該懼怕的事情，Tears for Fears唱過世人皆有江山夢嘛。\n再看看本文文首濁水溪公社的歌詞，現在當政的誰是破麻誰是鬼，很清楚了吧。\n未來預計加入更多賽博屠支、嘲諷塔綠班、左膠生態觀察等言論。但是請放心，我站將仿效中國控制GDP數字，人為控制政治色情內容的年增長率在10%以下。\n不過Blog無內容不成文，所以我不會把沒寫完全的魔怔瞎罵日記文po上來，我會針對某個議題下去討論。網軍側翼、日人民報的事情，才不會做呢。另外我不喜歡左逼，並不代表完全認同右狗的觀點，包含陰謀論等等。\n成人內容 # 蘇格拉底：認識自己是一切美好事物的起點，而對自己的不了解則是妄想的起點。\n談論性跟政治觀點一樣是邁向瞭解自己與他人的一步，多多談論也有助於掃除不切實際的幻想。\n在我國(註：中華民國)討論政治不犯法，色情卻會有法律問題。\n如果願意直面本心，衛道人士的觀點我不是很在乎，重點是色情內容的法律問題。目前各大網站的作法是採用成人內容的警告牌來做遮擋，符合警告的慣例。\n這不是說我接下來就要開始po屌照(國男小屌子誰想看)、喝茶訊息什麼，而是單純想分享好康(hó-khang)的東西，很大程度是二次元啦。\n有些網站會在這類文章標注「紳士夜間福利」什麼的，沒有必要這種假惺惺的語氣。我最多就加上NSFW警告而已，若有必要我會用JS寫個滿版的18歲警告阻擋。\n且既然確認已經放開，行文就沒必要避諱了。\nSou desu. Yoroshiku. Happy New Year. ","date":"2022年12月31日","externalUrl":null,"permalink":"/posts/open-policy-2022/","section":"Personals","summary":"lÀu lâi-á ké phōng-kó, Phuà-bâ ké sìng-lú. Kuí pān-sian, lâi tsiàm tuā-biō. Tsia̍h lâng káu-kàu, thinn-tē bô kong-tō, lān-pha ùn bi̍t hōo lâng tsn̄g. －－Lô-chúi-khoe Kong-siā\nI can’t stand with this indecision, married with lack of vision!!Say you never never never need it? All for freedom and for pleasure!\n年末最後一篇，宣佈本部落格放開的新政策，解禁二大文章類別：政治與色情。\n政治和色情，哪個比較可怕啊？結論是我二個都要。 根據統計，這二類內容在本站300+篇文章佔比不到10%，未來也將繼續維持此一低落的比例。但根據後台資料顯示，色情內容普遍是Googe搜尋流量的前段班，太苦了，哈。\n政治內容 # 最近看李敖生前罵國民黨，罵共產黨，罵民進黨與虛偽的台獨運動後，就覺得表達政治並不是應該懼怕的事情，Tears for Fears唱過世人皆有江山夢嘛。\n再看看本文文首濁水溪公社的歌詞，現在當政的誰是破麻誰是鬼，很清楚了吧。\n未來預計加入更多賽博屠支、嘲諷塔綠班、左膠生態觀察等言論。但是請放心，我站將仿效中國控制GDP數字，人為控制政治色情內容的年增長率在10%以下。\n","title":"年末時分談談關於本部落格的政治與成人內容","type":"personal"},{"content":"＊本文充滿罵詈雑言，尚請見諒。＊\n我們幸運的躲過了瘟疫，以及天災\n三年來未曾染疫\n你卻跟我說想去死？\n尼采叫我做超人啊。\n來源：https://twitter.com/skky_0/status/1399368512347332610\n原本是要填寫為Matters問券的，但寫一寫變成自誇文章了，部份內容寫在這比較好。沿用問券的問題來回答。\n尼采：覺醒者的愛給予你自由。\n經過這一年，不論是在生活，網路，政治，國家上，我認識到自由是最重要的要素。\n1. 2022 年就要結束了，請記錄一件今年你最想記下的事情。 # 很高興學會了架設部落格和發布文章，以及知道如何梳理、分流想法。\n就以個人部落格來說吧，用靜態網站技術建立了真正屬於自己的園地，想寫什麼就寫什麼，簡潔快速，markdown文章便於維護，SSH登入也能寫文章。但部份主題還是會分享到巴哈、Matters、知乎，以「接近世人而不out of touch」。 目前確立了部落格是\u0026quot;Linux-first\u0026quot;的策略走向，即介紹看似Windows用戶熟悉不過的電腦技巧，但全部用Linux＋自由開源軟體替代，用來畫圖的AI軟體安裝教學也以Linux優先，手機APP分享也以Android上的自由軟體為主，向世人宣揚Linux不只是geek玩的東西、亦非伺服器專武。\n世界上不是只有Windows和MacOS啦 (挖鼻)\n然而佛陀教人的慈悲心所致，因此我會看場合拿Windows出來示範軟體用法，只是你知道的，Linux外的系統我全都是關在虛擬機裡操作。\n2. 疫情第三年，每座城市、每個人的日常開始變得不同。今年你失去了什麼？又試圖恢復、重建什麼？ # 今年6月畢業後離開了熟悉的同學圈許久，不過又馬上在碩士班找到了新的夥計。因為受到疫情關注的刺激，我才更願意踏出去，伸出觸手圍繞在目中所及的所有人身邊吧，結果便是得到更加緊密的同儕關係，此乃美事。\n課上學到了「對話者的義務」說法，因為這樣我才學會放開心，掌握跟人接觸的作法。在交流想法時候不流於病態的邏輯推論，而是自在的進行交流，以掌握維持好人際關係。網上行為亦被影響，跟其他Matters的部落客打聲友善的招呼，而非將對方當成競爭對手看待，這是最大的心態變化。\n3. 請描述一位今年遇到的，會令你牽掛的人或物。 # 網友新交了很多個，有的甚至北上去線下見面。不過最令人牽掛的還是畢業前的教授。\n指導偽論文(專題)的時候給了許多幫助和批評，過去一年裡，每週跟其他同學一起在Meeting中被拷問，還有了大量的學術交流。加上那個教授的英國式思維特質，使得寫專題時候都要比單純寫essay戒慎恐懼一萬倍。\n不過有了這些經驗，使我上碩士後不會完全處於一種陌生無助的感覺(雖然跟其他碩士生的差距還是超大)，為此我很感謝那所學校的教授能給我做專題的機會。\n4. 2022 年，有沒有什麼時刻讓你感受到強烈的情緒？最後是如何與之相處的？ # 準備碩士考試的時候很痛苦，到前一刻我都沒有認真讀完書，我們這的考試階段還要面試，幸好面試沒問專業問題就是。最後是揀尾刀上岸。\n等待碩士考試前的焦急情緒才迫使我寫大量的部落格文章來逃避(那個時候我還是架在Github.io上)。除此之外，在聽了The Flaming Lips的American Head後，探討反戰與嘻皮精神的衰落，就感到被救贖了，好像吸毒使人想法改觀一般，讓我能放寬心面對碩士考試。\n5. 過去一年，你能說出一個被他人影響的觀點嗎？ # 6月的時候，對自由軟體的堅持著了魔，我認為遊戲也應該玩自由開源(創用CC)的遊戲，才發了不該玩Minecraft，因為是專有軟體的文章。經知乎網友提醒我的文章很三流、邏輯很偏激、不符合市場需求後，我便修正偏執的態度，向公眾推廣自由軟體的時候改以事實為主。意識形態的偏執論述，也僅存於我的個人日記了。\n寫專題的時候也被告誡：個人想法寫在FB就好。寫出來的東西要能用邏輯談論和證明，對更多人才有價值。\n6. 相比去年，你與身體的關係發生了什麼變化？你會更喜歡現在自己的身體嗎？ # 身體恐怕是要不行了，我不能說是喜愛它、愛護它。未來只能看有無改善的境地。\n7. 請分享你今年新發現或持續耕耘的領域（可以是新挖掘的興趣、專業領域、城市空間、自然秘境，也可以是一種對待自己或他人的方法）。 # 對我來說，今年是Linux與自由軟體大爆發的一年，學會了幾乎從0開始安裝一個系統出來，並認識了很多好用卻不為中文用戶所知的自由軟體的用法，從手機到電腦皆然，遂撰文記敘之。\n在現實生活方面，我學會適時offloading他人的看法，這是擺脫自大與自卑的表現。在學校或是其他地方，確認自己挑對場合講對了話的情況下，別人的看法一點都不重要，不必時時觀察對方神色，覺得自己必須表現的十全十美才行。即使別人對我的話題不感興趣，我也不再暗中惱羞了。\n有時候會覺得網路上的智障實在太多了，政治廚太可怕了，包括我自己。(以下指部份人士，非全部)不管是頑固的塔綠班，或是小粉紅，還是左逼woke。面對網路暴民，從神友/鼠人學到的觀念告訴我，一笑置之便可。\nElon Musk: The woke mind virus is either defeated or nothing else matters.\n跟不理性的暴民爭論誰比較聰明不可能贏得了，尤其取消文化大行其道的時代。我不能同時支持台灣獨立、反對民進黨政府、不做美國狗、消滅共匪、跟崇尚民主的部份中國人民交好嗎？\n8. 今年最想分享的一本書／一部電影／一張照片／一句話。 # 尼采《查拉圖斯特拉如是說》：\n『我愛人類。』這幾個字包含了查拉圖斯特拉的整個哲學：「我愛人類。我愛生命。我沒有拋棄過世界。我不曾以一個反對生命的逃避者的身份進入山裡。我到山裡是去尋找自己，尋找我的單獨、自由、智慧。我已經找到它了。」現在沒有必要留在那種高度了。相反的，我是如此的充實，我需要人們與我分享。我想要分享我的愛，我想要分享我的智慧，我想要分享我的自由。它超出我的負荷——我是氾濫的。」\n所以，我要走出山裡，進入群眾中，分享自由開源的精神。\n把推廣自由開源的精神視為己任未免過於自大，但就是人們缺乏這種意識，才要這樣做。\n9. 請填空：2022，＿＿ Matters. # 賡續保持，Matters。\n","date":"2022年12月29日","externalUrl":null,"permalink":"/posts/blog-2022-review/","section":"Personals","summary":"＊本文充滿罵詈雑言，尚請見諒。＊\n我們幸運的躲過了瘟疫，以及天災\n三年來未曾染疫\n你卻跟我說想去死？\n尼采叫我做超人啊。\n來源：https://twitter.com/skky_0/status/1399368512347332610\n原本是要填寫為Matters問券的，但寫一寫變成自誇文章了，部份內容寫在這比較好。沿用問券的問題來回答。\n尼采：覺醒者的愛給予你自由。\n經過這一年，不論是在生活，網路，政治，國家上，我認識到自由是最重要的要素。\n1. 2022 年就要結束了，請記錄一件今年你最想記下的事情。 # 很高興學會了架設部落格和發布文章，以及知道如何梳理、分流想法。\n就以個人部落格來說吧，用靜態網站技術建立了真正屬於自己的園地，想寫什麼就寫什麼，簡潔快速，markdown文章便於維護，SSH登入也能寫文章。但部份主題還是會分享到巴哈、Matters、知乎，以「接近世人而不out of touch」。 目前確立了部落格是\"Linux-first\"的策略走向，即介紹看似Windows用戶熟悉不過的電腦技巧，但全部用Linux＋自由開源軟體替代，用來畫圖的AI軟體安裝教學也以Linux優先，手機APP分享也以Android上的自由軟體為主，向世人宣揚Linux不只是geek玩的東西、亦非伺服器專武。\n","title":"2022年末部落格回顧","type":"personal"},{"content":" 取代Facebook動態牆製作的特別網頁。這裡的短博文充滿偏激觀點，多為一時情緒之言，可能冒犯到所有人。僅代表個人意見，請謹慎閱讀，並當作是狂人的自言自語罷。\n2022年\n20221229 台獨吉娃娃不僅沒減少，還越來越多。不屠行嗎。\n20221228 推特上常會有人在名字後面加代表跨性別的旗🏳️‍⚧️ 很多自由軟體的開發者也會這樣做。這是要說高知識份子不可避免的有這種情況嘛。那好，我決定在名字後面加上佛教☸和十字架✝，中間夾代表Linux的企鵝🐧，堅壁清野。\n20221228 陳一郎你還是去賣watermelon seed就好了賣底瞎歐北烙英文\n「瑪爾寇陳」陳一郎訪外賓秀英文來真的？！自己不尷尬 尷尬的就是別人🤣【笑星撞地球】駐校小記者\n20221228 有些人推薦非Web的「好用」軟體的時候，我都會默默舉手說：Linux不支援(或說沒有原生版本，要用Wne碰運氣），好用但是專有原始碼 = Never。跟別人說我用Linux似乎超出一些normies的認知了，常常得到疑惑的眼神。這個時候我會引用克拉克．陳的一句話：世界不是只有Windows和MacOS啦，齁\n20221226 限時動態是我看過最死媽的玩意，現在又多了短影音，令人上癮的可怕玩意。Facebook和Youtube嗯抄Tiktok，Reddit和Twitter也快了。看來以後要用第三方客戶端過濾掉這些髒東西，像Newpipe，我可以只看影片而不去看那些干擾性的元素。\n20221225 很多人生活不容意，首先想到的不會是自己的問題，而是找個虛無的對象來仇恨，藉此分散對痛苦的注意力。\n20221224 中華民國萬歲～～\n【梅花 】愛國歌曲．中華民國國花 R.O.C\n20221222 這逼真把自己當皇帝了，蔣公千古～～\n蔣公過世國殤一個月! 禁娛令電視變黑白\n20221222 \u0026ldquo;Woke Mind Virus” 覺青病毒。馬一龍說的對，左膠/左逼病毒正在跟中共病毒一樣禍害全球，台灣也不例外。當有人說何謂woke的時候，我會引用Urban Dictionary的解釋：自以為為社會弱勢伸張正義的SJW。所以這是個雨傘術語，無法準確定義。最近開始同情國民黨了。再引用李敖說的話：國民黨的官都是人面獸心，民進黨的官都是獸面獸心。\n20221219 我無法理解iOS和Android知名品牌機的用戶常常抱怨更新後「耗電」到底耗哪邊的電。這幾年手機換成4000mah電量後我真的覺得夠用了。以前那種用3000mah，甚至iPhone 1600mah，待機還要開飛航模式能省則省的時代已經過去。處理器製程7nm應該也有關係。總之我的手機重度使用(例如從早上8點滑到下午5點)是還有50%左右。現在很少帶行動電源出門，除非要過夜。所以他們到底是怎麼用手機的？整天拍照打卡，動不動就玩個一場手遊？如果要長效續航幹嘛不買s695處理器，寧願迷信防毒、省電、垃圾清理的APP。也許我是特例。確實我已經經不玩手遊了，很討厭裝社群媒體的專用的APP，尤其是不開源的，有Web版就用Web版。\n20221224 勇敢的Youtuber，把4chan上的複製文唱了出來，或許找個真正的女人來唱會更嘲諷(?)\n下面留言\u0026hellip;\u0026ldquo;troons will call you a -phobe, a bigot, a nazi, but they will never call you a liar\u0026rdquo; Trans會說你恐跨，納粹，但從不會說你是騙子。\n\u0026ldquo;he looks like an IRL soyjak but his message is gigachad and his vocals and piano play is passionate \u0026quot; 真人版Wojak，傳達的訊息卻是Gigachad。\n\u0026ldquo;You\u0026rsquo;re not Transphobic! Just pro biological. \u0026ldquo;才不是恐跨呢！你是贊成生物學的。\nYou will never be a woman - original song\n20221214 吂涮个一場戲等著唱～下去\n新寶島康樂隊 New Formosa Band【三灣戀曲】Official Music Video\n20221213 不可以一朝風月，昧卻萬古長空；不可以萬古長空，不明一朝風月。且道如何是一朝風月？人皆畏炎熱，我愛夏日長；薰風自南來，殿閣生微涼。\n20221212 我知道寫Linux科普文本就是小眾的事情，特別是當我要談論極複雜的技術，就難以一字一句跟讀者解釋為何要這麼做。也是因為這一年以來試過很多東西，才知道不用解除安裝Nvidia核心模組也能GPU直通，還有虛擬機GPU直通後可以用Moonlight解決玩遊戲問題\u0026hellip;更有甚者我去買個4K假螢幕的裝置，就不用外接真的螢幕輸出了。可是這樣文章編寫會變得很複雜，我不擅長寫百科那樣的指引式文章，不可能連用AMD用戶要考慮哪些選項都寫進去。但至少我知道，目前以Arch為主力，還是該提供一條龍的虛擬機設定教學，從安裝QEMU，到Windows 11到GPU直通，不能再叫人用Arch用到一半去看以前寫的Ubuntu教學了。\n20221212 不知道將Linux host的GPU Passthrough給Windows guest的意義在哪裡，反正很好玩。\n20221212 有點想買M1 Mac了，看起來Asashi Linux開發情況還不錯。\n20221209 遇到宗教人士、自稱能預言地震未來的人士，就送他一句愛因斯坦講過的話：The right to search for truth implies also a duty one must not conceal any part of what one has recognized to be true. 探究真理的權利也隱含著一份責任：你不該隱瞞自己發現的真理的任何一部份。\n20221208 我知道那天終會來臨，Bilbili上我只專注上傳影片。但作為跟歐美人士和強外反賊對話的Twitter，那是明顯強調反共、台獨、屠ㄓ立場的。然後收到了翻牆粉紅意圖檢舉我的訊息。當然我可以反手舉報死媽粉紅翻你媽的牆呢，且黑皮又抓不到我。不過若是知名度漸漸增加，牆內帳號應該都會被封殺，我的網站域名應該也會被牆(這可是榮譽)。牆外我並不是沒地方去，還有品蔥和Reddit上的反共板塊可以接觸到中國人，而非只會用台羅字自high的台派，但還是應該先做好跟中國牆內決裂的準備，留下聯絡方式給牆內摯友。\n20221207 Reddit上的Linux老嗨特別討厭Ubuntu，，，我也不喜歡snap，還有時不時跳出的Ubuntu企業加值服務，，， 沒想到現在筆記本因為suspend的問題搞不定，只好回到it just works的Ubuntu LTS版了。我有想過用Mint，可是我是很討厭衍生的發行版的。這樣攤開下來只有Fedora，openSUSE，Debian，Ubuntu能選。\n20221205 二戰中歐洲各國城市、大日本帝國台灣州幾乎被夷為平地，ㄓㄋ城市受損那麼小，日軍正義執行都沒後來蔣中正和毛澤東互屠的多。究竟是大日本帝國皇軍技術太爛還是太心善，我暫且蒙古。\n南京爆撃の歌（帝国海軍軍楽隊）\n20221205 南部是什麼第三世界\n數字會說話，這些縣市最安全\n20221130 「政府不能因思想令人不快，就禁止它」\n《異見的自由》：我們憎惡的思想該擁有言論自由嗎？ - 報導者\n","date":"2022年12月29日","externalUrl":null,"permalink":"/posts/timeline-2022/","section":"Personals","summary":" 取代Facebook動態牆製作的特別網頁。這裡的短博文充滿偏激觀點，多為一時情緒之言，可能冒犯到所有人。僅代表個人意見，請謹慎閱讀，並當作是狂人的自言自語罷。\n2022年\n20221229 台獨吉娃娃不僅沒減少，還越來越多。不屠行嗎。\n20221228 推特上常會有人在名字後面加代表跨性別的旗🏳️‍⚧️ 很多自由軟體的開發者也會這樣做。這是要說高知識份子不可避免的有這種情況嘛。那好，我決定在名字後面加上佛教☸和十字架✝，中間夾代表Linux的企鵝🐧，堅壁清野。\n20221228 陳一郎你還是去賣watermelon seed就好了賣底瞎歐北烙英文\n「瑪爾寇陳」陳一郎訪外賓秀英文來真的？！自己不尷尬 尷尬的就是別人🤣【笑星撞地球】駐校小記者\n20221228 有些人推薦非Web的「好用」軟體的時候，我都會默默舉手說：Linux不支援(或說沒有原生版本，要用Wne碰運氣），好用但是專有原始碼 = Never。跟別人說我用Linux似乎超出一些normies的認知了，常常得到疑惑的眼神。這個時候我會引用克拉克．陳的一句話：世界不是只有Windows和MacOS啦，齁\n","title":"2022年動態牆","type":"personal"},{"content":" Introduction # 100 years ago, India was one of a colonies of The Great Britain. Under the rule of the British, the Indians were discriminated and got massacred. Therefore, in 1919, Mahatma Gandhi started Satyagraha, also known as “Non-cooperation movement” in search of the independence of India.\nMahatma Gandhi. Wikipedia.\nThe central concept of the movements were non-violent actions of fighting with the British government, such as not paying taxes, not going to public school, etc. Eventually, Gandhi was sent to prison because of these campaigns, but the government was forced to amend new law to let the Indians have more civil rights. Non-violent actions are good methods to win justice and protect people’s rights. Though during the movement of India independence, violent actions still happened a lot in the India. But it was still a good examples of how people fight with the unreasonable power, so did the Martin Luther King perform in the civil rights movements in 1960s. Hence, the successful non-violent actions should be practiced in the first place, which could be performed in many ways and a variety of goals, and these campaigns can help people to gain the power and protect their rights.\nMotivation of people # The first cause of successful nonviolent actions is motivations of people and society. The motivations are originated from people’s willingness. In his article “Agents of Change and Nonviolent Action,” Hardy Merriam (2008) writes that “nonviolent action is based on the insight that power in a society is ultimately derived from people’s consent and obedience” (p. 165). That is, the desire of changing is originating from people’s minds. So, people do nonviolent actions to change the world. Apart from the people’s mind, the power of society is another important cause.\nMotivation for the society # The second cause of successful nonviolent actions is motivations of the society. In this case, people in society are forced to do some non-fierce actions. In her article “Eve’s Daughter,” Miriam Polster (2001) says that “The hero profoundly believes in the value and dignity of human life. The one act that most people would agree is heroic is risking one’s life to save another” (p.161). Though nonviolent activists should not resort to the violence, they may be hurt by the government. But people who participated in the nonviolent actions risk their life to fight the government in soft ways. In short, two of the basic elements of nonviolent actions can ensure the success of the nonviolent actions.\nShort term goals # The fist kind of goal of nonviolent actions is short-term goals. The main goal of this stage is to give pressure the government to compromise. BK Community (2013) writes in his article “30 Examples of Successful Non Violent Action” that the anti-nuclear power groups had campaigns against the start-up of various nuclear power plants across the US. Nonviolent activists should always know that their goal is to make the government to sit and start a conversation. Instead of causing riot, people who participated in nonviolent actions should keep calm. In short, the short term goal of nonviolent action is to negotiate with the government.\nLong term goals # The second kind of goal of nonviolent actions is long-term goals. Apart from forcing the government to make change, the revolution of people’s mind is another important issue. Cassidy Dyce. (n.d) writes in his article “Why Martin Luther King, Jr.’s quotes about nonviolence are relevant” that we can learn and grow and profit from the wisdom of the brothers who are called the opposition. Knowing that enemy’ views can help people to have a better view of the controversy. That is, the awareness of critical thinking is raised. In conclusion, non-violent actions are great tool to help citizens to sharpen their thinking ability.\nNonviolent action campaigns # There are many successful non-violent actions campaigns in the history. No matter how big or little impact they had caused, they are good examples for non-violent activists. In his article “Outside View: Liberation by the People,” Jack Duvall (2004) writes that “Gandhi enlisted them in burning their racial registration cards and engaging in mass illegal border crossing(p.169)”. He also writes that “If the dictator is ridiculed in cafes and classrooms, if taxes and fees go unpaid, if public administration is in disarray, then a dictator’s system for keeping control is jeopardized(p.171)”. In order fight against the racial law, Gandhi had done many nonviolent and powerful actions. Most of the time the actions should be goal-oriented, and not to be too fierce. In conclusion, non-violent actions can be performed in various and creative ways.\nConclusion # Non-violent actions are important and useful for people around the world to protect rights. It doesn’t have to be in violent way, instead the campaigns can be peaceful. People unit and fight for the same goals. Everyone can do their best to practice actions no matter they are rich or poor. So that the government will lower their body and start conversations. With this powerful yet soft weapon, there is nothing can stop the steps of the people. As Martin Luther King once said:” Never succumb to the temptation of bitterness”.\nReferences # 30 Examples of Successful Non Violent Action. (2018). Retrieved from https://www.dailygood.org/story/784/30-examples-of-successful-non-violent-action-bk-community/\nDyce, C. (n.d). Why Martin Luther King, Jr.’s quotes about nonviolence are relevant. Retrieved from: https://borgenproject.org/martin-luther-kings-quotes-about-nonviolence/\nDuVall, J. (2004, September 22). Outside View: Liberation by the People. United Press International.\nMerriman, H. (2008, April 8). Agents of Change and nonviolent Action. Conservation Biology, Vol. 22, Issue 2.\nPolster, M. (2001). Eve’s Daughters. Gestalt Press.\n","date":"2022-12-28","externalUrl":null,"permalink":"/en-us/posts/the-power-of-non-violent-actions/","section":"","summary":"Introduction # 100 years ago, India was one of a colonies of The Great Britain. Under the rule of the British, the Indians were discriminated and got massacred. Therefore, in 1919, Mahatma Gandhi started Satyagraha, also known as “Non-cooperation movement” in search of the independence of India.\nMahatma Gandhi. Wikipedia.\nThe central concept of the movements were non-violent actions of fighting with the British government, such as not paying taxes, not going to public school, etc. Eventually, Gandhi was sent to prison because of these campaigns, but the government was forced to amend new law to let the Indians have more civil rights. Non-violent actions are good methods to win justice and protect people’s rights. Though during the movement of India independence, violent actions still happened a lot in the India. But it was still a good examples of how people fight with the unreasonable power, so did the Martin Luther King perform in the civil rights movements in 1960s. Hence, the successful non-violent actions should be practiced in the first place, which could be performed in many ways and a variety of goals, and these campaigns can help people to gain the power and protect their rights.\nMotivation of people # The first cause of successful nonviolent actions is motivations of people and society. The motivations are originated from people’s willingness. In his article “Agents of Change and Nonviolent Action,” Hardy Merriam (2008) writes that “nonviolent action is based on the insight that power in a society is ultimately derived from people’s consent and obedience” (p. 165). That is, the desire of changing is originating from people’s minds. So, people do nonviolent actions to change the world. Apart from the people’s mind, the power of society is another important cause.\nMotivation for the society # The second cause of successful nonviolent actions is motivations of the society. In this case, people in society are forced to do some non-fierce actions. In her article “Eve’s Daughter,” Miriam Polster (2001) says that “The hero profoundly believes in the value and dignity of human life. The one act that most people would agree is heroic is risking one’s life to save another” (p.161). Though nonviolent activists should not resort to the violence, they may be hurt by the government. But people who participated in the nonviolent actions risk their life to fight the government in soft ways. In short, two of the basic elements of nonviolent actions can ensure the success of the nonviolent actions.\nShort term goals # The fist kind of goal of nonviolent actions is short-term goals. The main goal of this stage is to give pressure the government to compromise. BK Community (2013) writes in his article “30 Examples of Successful Non Violent Action” that the anti-nuclear power groups had campaigns against the start-up of various nuclear power plants across the US. Nonviolent activists should always know that their goal is to make the government to sit and start a conversation. Instead of causing riot, people who participated in nonviolent actions should keep calm. In short, the short term goal of nonviolent action is to negotiate with the government.\n","title":"The Power of Non-Violent Actions","type":"personal"},{"content":"這年頭還買黑膠唱片可真是\u0026quot;Out of touch\u0026quot; (雙關)\n為什麼要買CD，甚至黑膠？在這個億萬泥污人充滿電子荒原的時代？\n論音質，我買的耳機都比CD便宜，何來音質可言？最近把無損的Apple Music退掉，改當免費仔聽Youtube Music了，想要真無損就是抓盜版FLAC來聽。\n論情懷和復古，完全沒經歷過以前的時代，只能透過聽經典搖滾，或是用蒸氣波的方式回到過去。因此說黑膠能帶來回憶，能感受到的也流於表面。\n除了復古和情懷外，其中一個能說服我的因素就是：「反DRM」。以前賈伯斯的時代，iTunes購買音樂是沒有DRM保護的。但是串流興起後，那些加入收藏庫的音樂卻再也不是你的。\n要真正擁有音樂作品，買實體出版物是個選擇。\n1. 入門唱機 # 2022年11月，家人在網購平台看到了Years stay HY-T01的入門唱片機，大約2000台幣。\nYears stay是中國品牌，台灣茶几王有代理進口。\n跟家人合資買的，這台唱機的價格都快能買一塊樹莓派了！\n這台唱片機做成復古木質手提箱的樣子，內建喇叭。根據網頁說明，這台仿造的是英國Goodmans Ealing唱片機的外觀。 外型方便攜帶，可是LP大小的唱片是不可能跟著這個唱機帶著走的。\n打開上蓋就能看到按鈕。本身還能當藍芽喇叭呢，多了聽黑膠以外的功能！雖然只有SBC。 後面有Line Out的端子，可以分成左右聲道輸出。\n2. 黑膠唱片何處尋 # 在實體店面買比較有趣吧。\n要買誰的專輯嘛，我主要是想找1960 ～ 1980左右的新浪潮、前衛搖滾之類的曲風，理想情況我是希望能找到Pink Floyd和The Flaming Lips的專輯。\n啊哈哈，台灣怎麼可能有人會買這兩團風格的專輯，更何況二手的。\n以台南市來說，自從德安的誠品倒了之後再無黑膠唱片能買。南紡購物中心的誠品完全沒有賣黑膠專輯，只顧賣電子書。\n北門路的五大唱片能買到近年Remastered的黑膠，但都是經典名人的專輯，例如Gun and Rose、Michael Jackson的紀念專輯等等。\n在網購之前去二手黑膠唱片店逛逛，台南火車站後站的珍古書房有些許收藏，我在這邊買了Styx的《Kilroy Was Here》，著名的歌曲為〈Mr. Roboto〉和〈Don\u0026rsquo;t Let it end〉。 位於南門路的笛笛唱片收藏較為俱全，還可以試聽。即使沒有我要的樂團，品相良好的狀況下還是再買了二張黑膠：\nDaryl Hall \u0026amp; John Oates的《Big Bam Boom》，著名的歌曲為〈Out ouf touch〉。 The Alan Parsons Project的《Eyes in the Sky》 其實對我而言，買到的唱片都是One hit wonder，整張專輯只有一兩首歌好聽。沒辦法像Pink Floyd那樣專輯每首都能當主打。不過這個認定標準很主觀，Pink Floyd寫的〈Seamus〉整首歌都在狗叫，跟Beatles的〈Why Dont\u0026rsquo;t we do it in the road?〉一樣無釐頭，怎能當主打。\nFlaming Lips的表現更不穩定，早期的實驗風格跟Pink Floyd 1960年代的一樣濃厚，要到《The Soft Bulletin》後才穩定些。\n可惜我最喜歡的團體在實體門市都沒見到。看來剩下的得去外縣市找，或者網購了。\n3. 聽黑膠唱片後 # 將唱片放到唱機上，再將唱針放到唱片最外緣，開啟開關。隨著沙沙的炒豆聲，古老的音樂從中放出來了。 最麻煩的是聽完五首歌就要換面。有二張保存狀況不錯，不會有跳針情況，只是Styx那塊就需要清洗了，最外側的音軌會跳格。\n聽完了總覺得有點空虛。對不玩音樂器材的人來說，搞黑膠是沒有現實意義的東西，是自殘。就跟你向macOS和Windows用戶強調Linux有最多的自由，連開機管理都有GRUB和Systemd能選，但是他們才沒興趣關注開機程式是怎麼運作的。\n看過有人說有iPhone還買iPod touch幹嘛，就情懷二個字，ifanr還能寫整篇文章護航，真是服了！\n看向我的/dev/sdb硬碟裡面的FLAC音樂收藏，我覺得在現今的社會，他們還比較有實用意義。我可以拒絕聽DRM保護的串流音樂，改使用Web 1.0時代就流傳下來的技術：下載盜版高音質音樂，或是我自己買正版CD專輯rip成FLAC檔，接著找一些好一點的設備放出去就行了。將這些古老音樂媒介轉成數位儲存，同樣也是擁有不是嗎。\n這下，黑膠的收藏價值勝過實用意義了。\n","date":"2022年12月25日","externalUrl":null,"permalink":"/posts/i-just-bought-a-record-player/","section":"Musics","summary":"這年頭還買黑膠唱片可真是\"Out of touch\" (雙關)\n為什麼要買CD，甚至黑膠？在這個億萬泥污人充滿電子荒原的時代？\n論音質，我買的耳機都比CD便宜，何來音質可言？最近把無損的Apple Music退掉，改當免費仔聽Youtube Music了，想要真無損就是抓盜版FLAC來聽。\n論情懷和復古，完全沒經歷過以前的時代，只能透過聽經典搖滾，或是用蒸氣波的方式回到過去。因此說黑膠能帶來回憶，能感受到的也流於表面。\n除了復古和情懷外，其中一個能說服我的因素就是：「反DRM」。以前賈伯斯的時代，iTunes購買音樂是沒有DRM保護的。但是串流興起後，那些加入收藏庫的音樂卻再也不是你的。\n要真正擁有音樂作品，買實體出版物是個選擇。\n1. 入門唱機 # 2022年11月，家人在網購平台看到了Years stay HY-T01的入門唱片機，大約2000台幣。\nYears stay是中國品牌，台灣茶几王有代理進口。\n跟家人合資買的，這台唱機的價格都快能買一塊樹莓派了！\n這台唱片機做成復古木質手提箱的樣子，內建喇叭。根據網頁說明，這台仿造的是英國Goodmans Ealing唱片機的外觀。 外型方便攜帶，可是LP大小的唱片是不可能跟著這個唱機帶著走的。\n","title":"因緣際會買了Years stay HY-T01的黑膠唱片機","type":"music"},{"content":"這裡紀錄Arch Linux連接Apple Airpods Pro第一代的過程，並測試降噪與麥克風是否正常運作。\n理論上其他Airpods型號也適用。\n我的主力設備是Android手機＋Linux電腦，而Airpods沒有蘋果裝置也是能用的。但沒蘋果裝置就無法更新韌體，所以我偶爾還是要拿舊iPhone出來配對更新。\n核心版本：6.0.12 桌面環境：KDE Plasma 5.26.4 音訊系統：Pipewire。安裝pipewire-pulse套件以相容PulseAudio。 實際測試Airpods Pro的功能都正常。不過A2DP Sink(Airpods最高支援的AAC編碼)連線似乎沒SBC編碼穩定，也可能是我電腦主機板的藍芽沒天線的關係。\n1. 設定Arch Linux藍芽 # 首先要確認藍芽裝置是否有正常載入。Linux依賴Bluez堆疊與藍芽裝置溝通，還要依賴bluetoothctl控制藍芽裝置。\n安裝以下套件： sudo pacman -S bluez bluez-utils 安裝KDE的藍芽控制前端： sudo pacman -S bluedevil 安裝通用藍芽驅動程式： sudo pacman -S linux-firmware sudo modprobe btusb 啟動藍芽服務： sudo systemctl start bluetooth sudo systemctl enable bluetooth 重開機。\nlspci | grep bluetooth指令應會列出電腦上的藍芽裝置\n03:00.0 Network controller: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter (rev 31) 若你的藍芽需要另外編譯驅動(通常是跟USB網卡做在一起)，可用lsusb指令查詢確切的硬體ID再拿去Google： sudo pacman -S usbutils lsusb 2. 與Airpods Pro配對 # 在KDE的系統設定開啟藍芽，點選Add New Device。 開啟Airpods Pro盒子，長按背後按鍵閃白光。\n與Airpods配對。日後從盒子拿出來會自動配對。 在系統設定→音訊設定，將音訊設定檔改成「立體聲雙工」，選擇輸出端為AirPods，並確認其設定檔為A2DP Sink。長按Airpods Pro右耳觸控板開關降噪。 如果要使用Airpods當麥克風，點選其他音訊的設定檔改成「立體聲雙工」，並將Airpods Pro的設定檔改為HSP/HFP，再在錄音裝置選取Airpods Pro。注意此模式下Airpods Pro的音質會變差。 3. 查看Airpods電量 # AirStatus這個指令稿能夠讀Airpods耳機的電量，以json格式輸出。\nGNOME桌面可透過這個GNOME擴充套件將AirStatus圖示整合至系統匣\n下載AirStatus儲存庫 git clone https://github.com/Abdallah-Abdelazim/AirStatus 安裝依賴的Python套件 cd AirStatus sudo pip install -r requirements.txt 重開機，再連線至Airpods Pro。\n執行AirStatus，接著會在終端機印出Airpods Pro的電量資訊。\ncd ~/AirStatus sudo python3 main.py (之前於Ubuntu 22.04測試成功，不過Arch Linux似乎失敗了)\n4. 解鎖更多AirPods獨家功能 # 參見LibrePods。\n參考資料 # Bluetooth - ArchWiki Bluetooth headset - ArchWiki ","date":"2022年12月22日","externalUrl":null,"permalink":"/posts/archlinux-airpods-pro/","section":"所有文章","summary":"這裡紀錄Arch Linux連接Apple Airpods Pro第一代的過程，並測試降噪與麥克風是否正常運作。\n理論上其他Airpods型號也適用。\n我的主力設備是Android手機＋Linux電腦，而Airpods沒有蘋果裝置也是能用的。但沒蘋果裝置就無法更新韌體，所以我偶爾還是要拿舊iPhone出來配對更新。\n核心版本：6.0.12 桌面環境：KDE Plasma 5.26.4 音訊系統：Pipewire。安裝pipewire-pulse套件以相容PulseAudio。 實際測試Airpods Pro的功能都正常。不過A2DP Sink(Airpods最高支援的AAC編碼)連線似乎沒SBC編碼穩定，也可能是我電腦主機板的藍芽沒天線的關係。\n1. 設定Arch Linux藍芽 # 首先要確認藍芽裝置是否有正常載入。Linux依賴Bluez堆疊與藍芽裝置溝通，還要依賴bluetoothctl控制藍芽裝置。\n安裝以下套件： sudo pacman -S bluez bluez-utils 安裝KDE的藍芽控制前端： sudo pacman -S bluedevil 安裝通用藍芽驅動程式： sudo pacman -S linux-firmware sudo modprobe btusb 啟動藍芽服務： sudo systemctl start bluetooth sudo systemctl enable bluetooth 重開機。\nlspci | grep bluetooth指令應會列出電腦上的藍芽裝置\n03:00.0 Network controller: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter (rev 31) 若你的藍芽需要另外編譯驅動(通常是跟USB網卡做在一起)，可用lsusb指令查詢確切的硬體ID再拿去Google： sudo pacman -S usbutils lsusb 2. 與Airpods Pro配對 # 在KDE的系統設定開啟藍芽，點選Add New Device。 ","title":"Arch Linux連接Airpods Pro藍牙耳機和查看電量","type":"posts"},{"content":"Have you ever wanted to get rid of bloatware on your phone or change the appearance of the User Interface? Android. Wikipedia\nMost of manufacturers of Android phones do not allow users to do these. If users “break” the rules, their warranty will be void and null. Because manufacturers consider these hidden features are dangerous and will eventually brick, or break phones. However, users should have rights to decide what they want to have on their phone instead of being forced to install unnecessary apps. “Root” means granting the highest permission of your phone, which can let you access all functions that are prohibited before. Magisk is the most popular and easiest rooting method in the world currently. The main steps of phone rooting process involves three main steps:\n(1) Unlocking bootloader\n(2) Installing Custom Recovery\n(3) Flashing Magisk and Root Manager\nAndroid Operating system is based on Linux which use its permission and file-system ownership. Generally, users can do things according to their user permissions, such as installing a new app, but they cannot modify system settings. While the root user, also known as super user, is able to access to any files or folders in the system. Despite Google removed the superuser function from Android OS, there are ways to bring it back.\nUnlocking Bootloader # Unlocking bootloader allows users to install custom firmware on and root their phones. Bootloader is a program that started at computer booting which will load software to memory, then it can boot into operating system. Unfortunately, bootloader on most Android phones are locked by Original Equipment Manufacturers(OEM) to prevent users from granting root permission. Usually, OEMs like Xiaomi, Samsung, Asus will release official tools for consumers to unlock bootloader, while Sony and Huawei do not. Unlocking bootloader can be done by booting the phone into “fastboot mode” and connecting the phone to a computer. Finally, the unlocking tool will unlock bootloader automatically.\nInstalling Custom Recovery # Users can modify system settings directly by installing third-party recovery. Recovery is a program for emergency use when the phone is unable to boot into OS. The original recovery provided by OEMs has limited features: rebooting or erasing user data. Therefore, it is recommended to flash a third-party recovery. TWRP and Clockwork are two most famous custom recoveries which can install, in a more formal term, flash Magisk into the system. Besides, they both have Graphical User Interface instead of Command Lines, which is easier for users to interact with. To install custom recoveries, simply flash them via Android Driver Bridge Tool on the computer.\nFlashing Magisk and Root Manager # A good root manager is necessary for a rooted phone. Magisk works by repacking boot.img to grant “systemless root” which means Google Safety Check will less likely to detect it. Besides, a root manager is needed. When a app is trying to grant root permission, the manager app will pop up a window which let user allow or reject its request. Therefore, users should save files in the internal storage in advanced. First, boot into recovery by pressing volume up and power button at the same time, click “install ” to flash magsik.zip into the system. Second, rebbot into the system and install Magisk manager.apk.\nConclusion # In conclusion, the steps of granting root permission are unlocking bootloader, installing custom recovery, flashing Magisk. First, bootloader have to be unlocked to install custom recovery. Second, custom recovery is able to flash Magisk. Third, root manager is in charge of managing root permissions. It seems that some people take this as difficultly as reinstalling Windows OS, but it is recommended for those who don’t want to compromise on game rule. As Linus Torvalds, founder of Linux OS, once said\nIn real open source, you have the right to control your own destiny.\n","date":"2022-12-20","externalUrl":null,"permalink":"/en-us/posts/how-to-get-full-control-of-your-android-phone/","section":"Posts","summary":"Have you ever wanted to get rid of bloatware on your phone or change the appearance of the User Interface? Android. Wikipedia\nMost of manufacturers of Android phones do not allow users to do these. If users “break” the rules, their warranty will be void and null. Because manufacturers consider these hidden features are dangerous and will eventually brick, or break phones. However, users should have rights to decide what they want to have on their phone instead of being forced to install unnecessary apps. “Root” means granting the highest permission of your phone, which can let you access all functions that are prohibited before. Magisk is the most popular and easiest rooting method in the world currently. The main steps of phone rooting process involves three main steps:\n(1) Unlocking bootloader\n(2) Installing Custom Recovery\n(3) Flashing Magisk and Root Manager\nAndroid Operating system is based on Linux which use its permission and file-system ownership. Generally, users can do things according to their user permissions, such as installing a new app, but they cannot modify system settings. While the root user, also known as super user, is able to access to any files or folders in the system. Despite Google removed the superuser function from Android OS, there are ways to bring it back.\nUnlocking Bootloader # Unlocking bootloader allows users to install custom firmware on and root their phones. Bootloader is a program that started at computer booting which will load software to memory, then it can boot into operating system. Unfortunately, bootloader on most Android phones are locked by Original Equipment Manufacturers(OEM) to prevent users from granting root permission. Usually, OEMs like Xiaomi, Samsung, Asus will release official tools for consumers to unlock bootloader, while Sony and Huawei do not. Unlocking bootloader can be done by booting the phone into “fastboot mode” and connecting the phone to a computer. Finally, the unlocking tool will unlock bootloader automatically.\nInstalling Custom Recovery # Users can modify system settings directly by installing third-party recovery. Recovery is a program for emergency use when the phone is unable to boot into OS. The original recovery provided by OEMs has limited features: rebooting or erasing user data. Therefore, it is recommended to flash a third-party recovery. TWRP and Clockwork are two most famous custom recoveries which can install, in a more formal term, flash Magisk into the system. Besides, they both have Graphical User Interface instead of Command Lines, which is easier for users to interact with. To install custom recoveries, simply flash them via Android Driver Bridge Tool on the computer.\nFlashing Magisk and Root Manager # A good root manager is necessary for a rooted phone. Magisk works by repacking boot.img to grant “systemless root” which means Google Safety Check will less likely to detect it. Besides, a root manager is needed. When a app is trying to grant root permission, the manager app will pop up a window which let user allow or reject its request. Therefore, users should save files in the internal storage in advanced. First, boot into recovery by pressing volume up and power button at the same time, click “install ” to flash magsik.zip into the system. Second, rebbot into the system and install Magisk manager.apk.\n","title":"How to Get Full Control of Your Android Phone","type":"posts"},{"content":"【需要Root權限】\nAndroid是支援以chroot跑Linux環境的。以前有Linux Deploy能在Android手機安裝Linux發行版，後有Termux手動安裝chroot。\n現在有了比較精簡的chroot安裝指令稿能用，那就是 FerryAr開發的「lhroot - Linux Chroot Installer 」，以Magisk模組形式提供，只要幾個指令便能安裝Arch/Debian/Fedora/Ubuntu等發行版。\nlhroot的Github專案網址\nlhroot安裝的是純文字界面，SSH和圖形界面要自己裝。\n1. 安裝Busybox和lhroot # 安裝Fox\u0026rsquo;s Magisk Module Manager。\n在裡面搜尋「Builtin Busybox」和「lhroot - Linux Chroot Installer」，安裝模組後重開機。\n安裝Termux充當終端機。\n2. 以lhroot安裝Linux發行版 # 開啟Termux，輸入su取得root權限，切換至root使用者。 接著安裝Linux發行版。例如要安裝Debian，指令為： lhroot # 輸入1選擇Install Chroot # 按照螢幕顯示的數字選取要安裝的發行版 # 裝好後輸入0和q退出 chroot會安裝到/data，接著進入chroot環境： bootlinux /data/debian 如此便會進入Debian的shell 在更新APT套件前，要先解決網路問題：\necho \u0026#34;nameserver 8.8.8.8\u0026#34; \u0026gt;\u0026gt; /etc/resolv.conf addgroup --gid 3003 android_inet usermod -g android_inet _apt 接著才能更新套件。 apt update apt upgrade -y 要安裝圖形界面參閱這篇chroot Ubuntu\nlhroot會把手機內部儲存空間掛載至chroot內的external_sd目錄。登出後記得取消掛載：\nexit killlinux /data/debian 3. 掛載chroot系統映像檔 # lhroot預設是以目錄形式安裝chroot，另支援將chroot資料儲存成單一映像檔(image)，這樣的好處是方便備份chroot的系統。\n因make_image需要Coreutils，得至Zackptg5的網站下載「Cross Compiled Binaries (CCBins)」模組zip檔，再用Magisk Manager手動安裝。\n至 FerryAr的儲存庫下載e2fsprogs，用Magisk Manager手動安裝模組。\n重開機。\n開啟Termux，安裝Coreutils：\nsu ccbins # 輸入6選取Install Binary # 按照螢幕數字，輸入Coreutils的數字安裝 # 安裝後輸入0和q退出 重開機。\n用lhroot安裝Debian後，執行以下指令在手機內部儲存空間建立一個8GB的映像檔：\nmake_image /sdcard debian.img 8192 下次要進入chroot的時候，便能以debian.img來儲存chroot的資料： mount_image /sdcard/debian.img /data/debian ","date":"2022年12月17日","externalUrl":null,"permalink":"/posts/magisk-lhroot/","section":"所有文章","summary":"【需要Root權限】\nAndroid是支援以chroot跑Linux環境的。以前有Linux Deploy能在Android手機安裝Linux發行版，後有Termux手動安裝chroot。\n現在有了比較精簡的chroot安裝指令稿能用，那就是 FerryAr開發的「lhroot - Linux Chroot Installer 」，以Magisk模組形式提供，只要幾個指令便能安裝Arch/Debian/Fedora/Ubuntu等發行版。\nlhroot的Github專案網址\nlhroot安裝的是純文字界面，SSH和圖形界面要自己裝。\n1. 安裝Busybox和lhroot # 安裝Fox’s Magisk Module Manager。\n在裡面搜尋「Builtin Busybox」和「lhroot - Linux Chroot Installer」，安裝模組後重開機。\n安裝Termux充當終端機。\n2. 以lhroot安裝Linux發行版 # 開啟Termux，輸入su取得root權限，切換至root使用者。 接著安裝Linux發行版。例如要安裝Debian，指令為： lhroot # 輸入1選擇Install Chroot # 按照螢幕顯示的數字選取要安裝的發行版 # 裝好後輸入0和q退出 chroot會安裝到/data，接著進入chroot環境： bootlinux /data/debian 如此便會進入Debian的shell ","title":"Magisk lhroot，一鍵在手機上安裝chroot環境","type":"posts"},{"content":"為尋找Facebook替代品，嚮往言論自由，並且喜歡自由開源的通訊軟體，才對Mastodon這種新型態的社群媒體感興趣，他們宣稱沒有演算法和言論控管。為此踏上了冒險Mastodon站點之路。\nTL;DR，我認識到Mastodon站點的界面普遍好用，不過難以取代的還是社群氛圍。經歷過混亂邪惡的思維時期，恢復理性後，目前長期在用的就\u0026quot;Fosstodon\u0026quot;這個instance。\n注意：這篇文章是偏Ivon以前的個人想法為主，很多內容可能已經過時。如果想了解Mastodon用法，請參閱：Mastodon使用方式：聯邦、時間軸、跟隨概念解說。\n我的旅程簡化如下。\ng0v.social → mastodon.social → fosstodon.org (不討論政治) 和 gab.com (學習右派思想)\n早期玩Mastodon，既然知道是自由的平台，發言便是充滿混亂邪惡情緒的。\n最初在找Mastodon站點的時候，找到了台灣人建立的g0v.social，似乎跟強調言論自由的、支持開源精神的零時政府有密切關係，他們似乎為了政府出了很多心力。同樣是追求自由軟體的社群我應該可以加入吧。\n點進去看站規，「台灣是國家」。笑死，中華民國現在是不被普遍承認的國家，台灣國甚至還不存在。叮叮，台灣價值-99999。\n我個人是支持台灣獨立、中國諸夏解體的。覺得有趣就找死的發了一條「台灣不是國家，如果台灣獨立後的政黨發展成跟中國一樣的民族主義威權政府，那應該一起被美國核平」這樣的嘟文，果然帳號就馬上被封了，台灣價值瞬間歸零。\n後面那句多少有恐嚇成份，我承認是我不好，跟中國支黑混久了的後遺症。\n相較之下去玩中國海外反賊創辦的Mastodon站點，言論容忍度可比這高多了。反賊們多少能容忍一點說自己國家壞話，甚至覺得這民族無可救藥也是可討論的。在品蔥或PTT，粉蛆言論一旦冒頭，網友們會群起攻之，而不是直接封你號，除非有明確的大外宣洗板行為。\n一言不合就ban人，這算什麼呢，跟中國國內的社群網站一樣玻璃心，建議馬上實裝關鍵字過濾機制。當年我就是為了逃離Facebook說支那人就被禁言才向外尋找替代品的，這種「取消文化」看來即使軟體是自由開源的，照樣會被人濫用。幸虧炒作狗馬斯克入主Twitter，解放言論自由，讓人還不用急著逃離主流社群媒體。\n另外則是向全球用戶開放的的mastodon.social。這邊真的是天堂，可以盡情罵支那人和(部份)台灣人真是下賤種種言論芸芸。但就是用戶群太廣闊了，加上Mastodon沒有演算法排序，連要製造echo chamber都做不到，就是找不到同好啦。自由自在的發了一些文後便棄用。我想萬一哪天用戶數真的爆發式增長，他們應該也會開始管控「不當言論」了吧，當初Gab的出現可嚇壞了Mastodon的開發者哩。\n其中還有很多嘗試過的大大小小Mastodon的中文站點，不過都沒待多久，因為沒有符合我要的特色，人數又不多。\n雖有幾個中文圈、偏反賊立場創辦的站點，能當我的第二個Facebook，自由分享私人事情、議題想法的地方。但是Mastodon站點若只以開源、自由當號召，而無特定主題，就很難形成凝聚力，例如中華民國軟體自由基金會的social.slat.org就只有圈內人士幾隻貓在用。要像Pixiv的Pawoo，宣傳佳，很好上手，還可以看色圖，才能吸引到一票忠實用戶。相較而言，mastodon.social這樣太廣泛的站又使人不易找到同好。\n所幸Mastodon的Fediverse體系沒有規定要待在固定站點，不同站點的人們是可以互相追蹤的，就跟電子郵件能互寄一樣，除非站方主動封鎖與其他站點的聯繫。\n無論如何，我還是要找個向心力強，人數多，又有共同話題做主要經營的Mastodon社群。但又不能是小圈圈那種的Mastodon社群。\n接著我找到了Fosstodon和Gab，恢復理性。\nfosstodon.org是只能用英文交流，以自由軟體為主的Mastodon站點，因為很多開源專案有在用，例如GNOME、KDE、FSF等組織，所以我就跟著加入。整體來說我覺得氛圍不錯，這裡有志同道合的夥伴，而且真的會有人來嘟文下留言。\n不能用中文發文，站方會噹你警告。這有點可惜，但這也好，讓自己的思維脫離台灣與中國的思維也不算壞事。\n到這裡才學到了跨站追蹤的用法。\n目前我用的蠻喜歡的，所以就常跟Twitter一起用。Fosstodon上我只討論自由軟體、手機電腦、一些生活小事，完全不討論政治。\ngab.com是比較特別的存在，其採用Mastodon技術，卻不與Fediverse連線，所以等同獨立網站。Gab是右派網站，常被認為是陰謀論者的最愛，但我主要是去看「右狗TV」rightdogtv社群的。右狗TV是由厭惡中國、討論西方政治、政治立場偏右的中國反賊組成的社群，早期被Reddit這個左派大本營封sub才到這裡。\n這裡確實有迥然不同於主流西方社群、甚至海外中國反賊圈的觀點。我不是說品蔥不好，只是有時候右派的觀點也值得一看。右狗TV不定時會有人分享好書書單，不全是宗教類，裡面有些是經濟學解釋社會運作的本質，並非以左派的觀點撰寫。\n值得注意的是我看了右狗TV也不會去信基督，也不會相信氣候變遷是陰謀論的說法，僅是用來反省我們有些行為，包含台獨運動之類的社會議題，是不是左過頭又顯得無知，例如有時候我也會質疑自由軟體運動是不是過了頭，從而將自己的理性也出賣了。\n還有很多有趣的Mastodon站點值得探索。\n但最後有找到Facebook替代品嗎？還是沒有。甚至我覺得以我目前的用法來看，Mastodon也變成小圈圈的社群媒體了，而不是Facebook那樣各種主題都能聊的社群網站。\n我想住在台灣，要跟人接觸，主流社群媒體還是難以擺脫，但至少我認識了更多網站，知道哪些地方能自由發表生活想法(FB和Twitter)，哪些地方適合討論動漫軍武等特定主題(巴哈和PTT)，哪些地方能吵民主中國的政治(Reddit上的沖浪TV、品蔥)。\nMastodon一時不能滿足這些需求，但是看在自由開源的份上，我還是願意支持整個專案的運作的。\nFacebook這類主流社群媒體黏性太強，我可能要目空一切才能接受完全斷開，重新到mastodon.social這個超自由發文但很難認識同好的所在。\n","date":"2022年12月15日","externalUrl":null,"permalink":"/posts/2022-mastodon-journey/","section":"Personals","summary":"為尋找Facebook替代品，嚮往言論自由，並且喜歡自由開源的通訊軟體，才對Mastodon這種新型態的社群媒體感興趣，他們宣稱沒有演算法和言論控管。為此踏上了冒險Mastodon站點之路。\nTL;DR，我認識到Mastodon站點的界面普遍好用，不過難以取代的還是社群氛圍。經歷過混亂邪惡的思維時期，恢復理性後，目前長期在用的就\"Fosstodon\"這個instance。\n注意：這篇文章是偏Ivon以前的個人想法為主，很多內容可能已經過時。如果想了解Mastodon用法，請參閱：Mastodon使用方式：聯邦、時間軸、跟隨概念解說。\n我的旅程簡化如下。\ng0v.social → mastodon.social → fosstodon.org (不討論政治) 和 gab.com (學習右派思想)\n早期玩Mastodon，既然知道是自由的平台，發言便是充滿混亂邪惡情緒的。\n最初在找Mastodon站點的時候，找到了台灣人建立的g0v.social，似乎跟強調言論自由的、支持開源精神的零時政府有密切關係，他們似乎為了政府出了很多心力。同樣是追求自由軟體的社群我應該可以加入吧。\n點進去看站規，「台灣是國家」。笑死，中華民國現在是不被普遍承認的國家，台灣國甚至還不存在。叮叮，台灣價值-99999。\n我個人是支持台灣獨立、中國諸夏解體的。覺得有趣就找死的發了一條「台灣不是國家，如果台灣獨立後的政黨發展成跟中國一樣的民族主義威權政府，那應該一起被美國核平」這樣的嘟文，果然帳號就馬上被封了，台灣價值瞬間歸零。\n","title":"2022一年下來玩Mastodon社群的感想","type":"personal"},{"content":"非營利組織OpenAI於2022年11月釋出免費ChatGPT3聊天AI，只要註冊帳號登入，就能問它各種問題，用中文提問也可以，接著它會給你一段答案。\n鑑於網路上都認為ChatGPT3回覆的答案有一定水準，就有人想說能不能將ChatGPT3用作其他用途？比方說將其串接到Telegram或的自動回覆機器人、用語音對話、作簡報？Awesome ChatGPT列出了各種可能性，包含如何正確的用中文命令ChatGPT做壞壞的事。\n而acheong08開發了Python寫的輕量套件，將ChatGPT官網的API做逆向工程，允許你透過電腦終端機與ChatGPT3對話，而不用開啟瀏覽器登入，此套件可作於其他用處的基礎技術，下面來看看如何安裝。\n到ChatGPT3官網註冊帳號。\n開啟終端機，用Pip安裝revChatGPT\npip3 install revChatGPT --upgrade 新增一個目錄叫做revChatGPT，在裡面新增一個config.json檔案，填入以下內容： { \u0026#34;session_token\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;cf_clearance\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;user_agent\u0026#34;: \u0026#34;\u0026#34; } 接下來要取得登入token。以Firefox來說，在與ChatGPT3聊天的頁面按下F12，開啟開發人員工具，點選「儲存空間」找到Cookie。 依序複製Secure-next-auth.session-token和cf_clearance後的數值，貼到config.json檔的括號內。 至於user_agent的數值則是用Firefox開啟about:support頁面查看，將其複製到config.json檔的括號內。 終端機切換至revChatGPT目錄，啟動ChatGPT3後就能開啟聊天了。\ncd ~/revChatGPT python3 -m revChatGPT --debug ","date":"2022年12月12日","externalUrl":null,"permalink":"/posts/revgpt-python-chatgpt/","section":"所有文章","summary":"非營利組織OpenAI於2022年11月釋出免費ChatGPT3聊天AI，只要註冊帳號登入，就能問它各種問題，用中文提問也可以，接著它會給你一段答案。\n鑑於網路上都認為ChatGPT3回覆的答案有一定水準，就有人想說能不能將ChatGPT3用作其他用途？比方說將其串接到Telegram或的自動回覆機器人、用語音對話、作簡報？Awesome ChatGPT列出了各種可能性，包含如何正確的用中文命令ChatGPT做壞壞的事。\n而acheong08開發了Python寫的輕量套件，將ChatGPT官網的API做逆向工程，允許你透過電腦終端機與ChatGPT3對話，而不用開啟瀏覽器登入，此套件可作於其他用處的基礎技術，下面來看看如何安裝。\n到ChatGPT3官網註冊帳號。\n開啟終端機，用Pip安裝revChatGPT\npip3 install revChatGPT --upgrade 新增一個目錄叫做revChatGPT，在裡面新增一個config.json檔案，填入以下內容： { \"session_token\": \"\", \"cf_clearance\": \"\", \"user_agent\": \"\" } 接下來要取得登入token。以Firefox來說，在與ChatGPT3聊天的頁面按下F12，開啟開發人員工具，點選「儲存空間」找到Cookie。 依序複製Secure-next-auth.session-token和cf_clearance後的數值，貼到config.json檔的括號內。 ","title":"用Python終端機與ChatGPT3聊天AI互動","type":"posts"},{"content":"Mitsubishi A6M Zero VS Nakajima Ki-43 Oscar.\nIntroduction # In 1937, Imperial Japanese Army and Navy invaded China and start to bomb its cities. In the sky, China relied on volunteered pilots from USSR and the US to fight against Japanese aircraft. However, American were shocked by Japanese aircraft, which were very agile, good at dogfighting. The fastest P-40s could not catch them up in turning fights and always got shot down by Japanese fighters, Zero and Hayabusa. The codenames given by Allied forces were “Zeke” and “Oscar”. Zero and Oscar have some similar characteristics, but they also have significant differences.\nKi-43 Oscar. Wikipedia.\nPlease look at the following comparison chart: A6M Zero VS Ki-43 Oscar. Author: Me\nSimilarities # One of the similarities between the two aircraft is their air battle tactics. Before the Pacific War, both the Army and the Navy focused on turn-fighting tactics. Due to good battle records of last-generation biplanes in China, pilots preferred agile and light aircraft. It is because that a light and maneuverable aircraft can easily get to enemy aircraft’s six and shoot them down, while the enemy aircraft is hardly to dodge attacks. However, during the diving test of Ki-43, the prototype aircraft disintegrated in the air, so the Army gave up the extreme standard of turning time and strengthened the structure of the aircraft. In comparison, Zero’s designer did not notice the problem above during the test and have the aircraft have many holes on the structure to lighten its weight.\nAircraft Battle Tactic # Another similarity of these fighters is their design. Because Japanese was good at producing air-cooled engine, few of the aircraft were powered by liquid-cooled engines, which was a mainstream in western countries. Both Zero and Oscar were powered by Nakajima Sakae engine(970 hp). The name differs from code given by the Army and the Navy. The Army called it “Ha-25”, whereas the Navy called it “Sakae”. Though the engine was considered of a copycat of the US Pratt\u0026amp;Whitney R1830 engine, but it was smaller, which is suitable for fighters.\nUsed for Kamikaze Attack # Not only the Zeros but the Oscars were used for Kamikaze attacks. After defeat in Philippines, Japanese started asking pilots to do kamikaze, also known as suicide attack. Similarly, Zero and Oscar would carry one to two bombs, get close to US ships and dive into them. Unfortunately, in the late days of the war, Japanese aircraft could not match with the US aircraft due to technology differences. Neither the Army aircraft nor the Navy aircraft could destroy any big ships. Most ships sunk by kamikaze were destroyers and escort aircraft carriers.\nDifferences # Despite the similarities in air battle tactics and designs, there are differences between two aircraft. Armaments\nOne of them is armaments which mounted on the fuselage. Zeros were equipped with two Type 99 20mm cannons on wings and two 7.7 mm machines guns (mg )on cowling. In contrast, Oscar only had two 7.7 mm MGS mounted on the cowling, later upgraded to 12.7mm MGs. Plus, only a prototype Ki-43-III with two 20mm Ho-5 cannons was built. Because of this, Oscar must hit enemy aircraft more to take them down. Additionally, it was impossible for Oscar to intercept U.S. bombers like B-17s or B-29s with his weak guns. However, though 20 mm cannons on Zero were powerful, its muzzle velocity was relatively low, making it hard for pilots to aim and hit targets, so experienced pilots preferred attack enemies with 7.7mm mgs. In short, Zero has better armaments than Oscar, but they were quite bad.\nAircraft survivability # Zero and Oscar differ from aircraft survivability. In 1939, Jiro Horikoshi, the designer of Zero, was trying to make Zero more agile because he did not have more powerful engine, so he did his best to lighten the structure of the aircraft and have no protecting armor installed. In comparison, due to disintegration during the test, Ki43 designer Hideo Itokawa made the Ki-43 light but has standard strength, and there was a 12.7mm armor plate behind the seat. What is more, unlike early Zero, Oscar did have self-sealing tanks, which could extinguish fire and prevent oil from leaking. But it should be noted that Oscar’s survivability was not that good owing to its tight and small design. According to US pilots’ reports, Oscar might also disintegrate in diving. In short, Oscar had slightly better pilot protection than Zero and almost same body strength.\nConclusion # In conclusion, Zero and Oscar have many similarities in design and battle tactics. However, the important differences in armaments and survivability should not be ignored. It was interested that Allied pilots always mistaken Oscar for Zero because both of them were very maneuverable, but extremely fragile.\n","date":"2022-12-12","externalUrl":null,"permalink":"/en-us/posts/the-comparison-and-contrast-of-a6m-zero-and-ki-43-oscar/","section":"","summary":"Mitsubishi A6M Zero VS Nakajima Ki-43 Oscar.\nIntroduction # In 1937, Imperial Japanese Army and Navy invaded China and start to bomb its cities. In the sky, China relied on volunteered pilots from USSR and the US to fight against Japanese aircraft. However, American were shocked by Japanese aircraft, which were very agile, good at dogfighting. The fastest P-40s could not catch them up in turning fights and always got shot down by Japanese fighters, Zero and Hayabusa. The codenames given by Allied forces were “Zeke” and “Oscar”. Zero and Oscar have some similar characteristics, but they also have significant differences.\nKi-43 Oscar. Wikipedia.\nPlease look at the following comparison chart: A6M Zero VS Ki-43 Oscar. Author: Me\nSimilarities # One of the similarities between the two aircraft is their air battle tactics. Before the Pacific War, both the Army and the Navy focused on turn-fighting tactics. Due to good battle records of last-generation biplanes in China, pilots preferred agile and light aircraft. It is because that a light and maneuverable aircraft can easily get to enemy aircraft’s six and shoot them down, while the enemy aircraft is hardly to dodge attacks. However, during the diving test of Ki-43, the prototype aircraft disintegrated in the air, so the Army gave up the extreme standard of turning time and strengthened the structure of the aircraft. In comparison, Zero’s designer did not notice the problem above during the test and have the aircraft have many holes on the structure to lighten its weight.\nAircraft Battle Tactic # Another similarity of these fighters is their design. Because Japanese was good at producing air-cooled engine, few of the aircraft were powered by liquid-cooled engines, which was a mainstream in western countries. Both Zero and Oscar were powered by Nakajima Sakae engine(970 hp). The name differs from code given by the Army and the Navy. The Army called it “Ha-25”, whereas the Navy called it “Sakae”. Though the engine was considered of a copycat of the US Pratt\u0026Whitney R1830 engine, but it was smaller, which is suitable for fighters.\nUsed for Kamikaze Attack # Not only the Zeros but the Oscars were used for Kamikaze attacks. After defeat in Philippines, Japanese started asking pilots to do kamikaze, also known as suicide attack. Similarly, Zero and Oscar would carry one to two bombs, get close to US ships and dive into them. Unfortunately, in the late days of the war, Japanese aircraft could not match with the US aircraft due to technology differences. Neither the Army aircraft nor the Navy aircraft could destroy any big ships. Most ships sunk by kamikaze were destroyers and escort aircraft carriers.\nDifferences # Despite the similarities in air battle tactics and designs, there are differences between two aircraft. Armaments\n","title":"The Comparison and Contrast of A6M Zero and Ki-43 Oscar","type":"personal"},{"content":"This year (2021) is the 81th anniversary of the Battle of Britain. On 15th September 1940, The Battle of Britain Day was officially named by Royal Air Force because they claimed it was a victory over the Luffwaffe (German Air Force). It was the first fight majorly fought by air forces, and the biggest aerial bombing campaign. The victory of the UK can result from the fights of Royal Air Forces and the highly effective air defensive network. Heinkel He-111. Wikipedia.\nRoyal Air Force prevented German from invading The United Kingdom. In 1940, Allied and French forces got beat by German Forces. After allied troops has retreated from Dunkrik, Adolf Hitler has made a plan called Unternehem Seelowe in order to invade Great Britain. At first, Luffwaffe delivered many bombers such as Junkers Ju-88, Henkiel He-111, Donier Do-17 to France. Since bombers took off from bases which were closed to Strait of Dover, the mainly raiding targets of Luffwaffe were London and other coastal cities. Though Luffwaffe conducted a lot of air raids against British industrial targets for several months, the British didn’t surrender, especially those fighters — Royal Air Force pilots of Supermarine Spitfire and Hawker Hurricane. Because over a year, Luffwaffe could not gain the air superiority, Führer was forced to canceled his operation of landing on Great Britain.\nowever, not only the RAF pilots but also people of the so called Dowding system contributed to the victory of the Battle of Britain. “The battle of France is over, I expected the Battle of Britain is about to begin.” Winston Churchill said in June 18, 1940. Before German started to attack the UK, the British had done many defensive measures for the war by creating home guards and building coast crusts. What’s more, the British brought radars and fighters into a unified defensive system. Hence, there were many causes of the winning of the battle.\nOne of the main cause of victory was RAF pilots and their fighters. In 1940, Messerschmitt Bf-109 was the backbone of Luffwaffe. It was a fast, single-seat fighter. The E variants, which equipped with two MGFF20mm cannons and two 7.7mm machine guns, were the most advanced aircraft in Europe sky. In contrast, RAF was on the way of fastening the production of newly counterparts of Bf-109, the Supermarine Spitfire Mk.I because most of RAF squadrons were equipped slow, but reliable Hawker Hurricanes. Though British fighters were outnumbered by Luffwaffe, they didn’t give up any chance and keep intercepting German bombers. Pilots from Ukraine, French, Canada and Poland joined the battle, fly with British pilots for they were in the same boats with The British, even though some of them couldn’t speak English.\nAnother cause of the lost of Luffwaffe was their bad strategies. Bf-109 could escort bombers to London, but its flight length was rather short, that is, fighters could only dogfight with British fighters for 10 minutes. After that fighters must retreat quickly or they would fall into the sea and pilots would be captured by the British. What’s more, although twin-engined heavy fighter Bf-110s were able to escort bombers, they could not dogfight with Spitfires. Thus, without cover from fighters, bombers became lambs to be slaughtered by the British fighters. Because He-111s only had small caliber defensive machine guns, while the Spitfires were equipped with 2 times of machine guns (8x 7.7mm Vickers) and 4 times for the Hurricanes (12x 7.7mm Vickers) As a result of short flight range of escort fighters, more and more bombers were easily got shot down, mostly by Hawker Hurricanes.\nThe most important cause was British’s radar system. Before World War II, RAF had built many early warning radar stations near the costal. Chain home, the code name of these stations, can track and detect aircraft. Therefore, when German bombers were getting close to the UK, commanding office located at London would start processing datas from the radar stations and predicted the flying routes of the enemies, then called nearest squadrons to intercept them. A squadron had at least sixteen fighters and been spilt into two Flights. A Flight had two section and three aircraft for each. Thus, fighters would fly in Vic formation, attack from bombers’ rear high six in order to break bombers formation. The more maneuverable Spitfire would engage with Bf-110s and Bf-109s thereby giving slow Hurricanes with powerful machine guns chances to kill bombers.\nIn conclusion, air defensive networks and efforts of RAF people leads to the victory of the battle. First, people around the world helped the British fight against Nazi Germany. Second, German didn’t prepare well for invading the UK. Third, radars played an important role in tasks of intercepting bombers. The Battle of Britain was one of the significant turn points of World War II, and the first big victory for Allied forces. As a wartime speech delivered by Winston Churchill\n“Never was so much owed by so many to so few”.\n","date":"2022-12-09","externalUrl":null,"permalink":"/en-us/posts/how-did-raf-win-the-battle-of-britain/","section":"","summary":"This year (2021) is the 81th anniversary of the Battle of Britain. On 15th September 1940, The Battle of Britain Day was officially named by Royal Air Force because they claimed it was a victory over the Luffwaffe (German Air Force). It was the first fight majorly fought by air forces, and the biggest aerial bombing campaign. The victory of the UK can result from the fights of Royal Air Forces and the highly effective air defensive network. Heinkel He-111. Wikipedia.\nRoyal Air Force prevented German from invading The United Kingdom. In 1940, Allied and French forces got beat by German Forces. After allied troops has retreated from Dunkrik, Adolf Hitler has made a plan called Unternehem Seelowe in order to invade Great Britain. At first, Luffwaffe delivered many bombers such as Junkers Ju-88, Henkiel He-111, Donier Do-17 to France. Since bombers took off from bases which were closed to Strait of Dover, the mainly raiding targets of Luffwaffe were London and other coastal cities. Though Luffwaffe conducted a lot of air raids against British industrial targets for several months, the British didn’t surrender, especially those fighters — Royal Air Force pilots of Supermarine Spitfire and Hawker Hurricane. Because over a year, Luffwaffe could not gain the air superiority, Führer was forced to canceled his operation of landing on Great Britain.\nowever, not only the RAF pilots but also people of the so called Dowding system contributed to the victory of the Battle of Britain. “The battle of France is over, I expected the Battle of Britain is about to begin.” Winston Churchill said in June 18, 1940. Before German started to attack the UK, the British had done many defensive measures for the war by creating home guards and building coast crusts. What’s more, the British brought radars and fighters into a unified defensive system. Hence, there were many causes of the winning of the battle.\nOne of the main cause of victory was RAF pilots and their fighters. In 1940, Messerschmitt Bf-109 was the backbone of Luffwaffe. It was a fast, single-seat fighter. The E variants, which equipped with two MGFF20mm cannons and two 7.7mm machine guns, were the most advanced aircraft in Europe sky. In contrast, RAF was on the way of fastening the production of newly counterparts of Bf-109, the Supermarine Spitfire Mk.I because most of RAF squadrons were equipped slow, but reliable Hawker Hurricanes. Though British fighters were outnumbered by Luffwaffe, they didn’t give up any chance and keep intercepting German bombers. Pilots from Ukraine, French, Canada and Poland joined the battle, fly with British pilots for they were in the same boats with The British, even though some of them couldn’t speak English.\nAnother cause of the lost of Luffwaffe was their bad strategies. Bf-109 could escort bombers to London, but its flight length was rather short, that is, fighters could only dogfight with British fighters for 10 minutes. After that fighters must retreat quickly or they would fall into the sea and pilots would be captured by the British. What’s more, although twin-engined heavy fighter Bf-110s were able to escort bombers, they could not dogfight with Spitfires. Thus, without cover from fighters, bombers became lambs to be slaughtered by the British fighters. Because He-111s only had small caliber defensive machine guns, while the Spitfires were equipped with 2 times of machine guns (8x 7.7mm Vickers) and 4 times for the Hurricanes (12x 7.7mm Vickers) As a result of short flight range of escort fighters, more and more bombers were easily got shot down, mostly by Hawker Hurricanes.\n","title":"How did the RAF win the Battle of Britain","type":"personal"},{"content":"如何在Linux將CD/DVD裡面的檔案轉成音樂，儲存到電腦上呢？\n透過K3B這個軟體就能輕鬆辦到，不需要打一堆指令。\n首先，安裝K3B。以Arch Linux來說，指令為： sudo pacman -S k3b cdrtools cdrdao dvd+rw-tools 開啟K3B，點選裝置→退出讓光碟機退片。 將CD放入光碟機，K3B會顯示專輯資訊 點選工具→擷取音樂 全選，按下開始擷取。 設定格式為FLAC無損，按下開始擷取，等待其完成。 完成。 點選裝置→退出退片 到~/音樂目錄，會找到成功擷取專輯。 ","date":"2022年12月8日","externalUrl":null,"permalink":"/posts/linux-k3b-cd-ripping/","section":"所有文章","summary":"如何在Linux將CD/DVD裡面的檔案轉成音樂，儲存到電腦上呢？\n透過K3B這個軟體就能輕鬆辦到，不需要打一堆指令。\n首先，安裝K3B。以Arch Linux來說，指令為： sudo pacman -S k3b cdrtools cdrdao dvd+rw-tools 開啟K3B，點選裝置→退出讓光碟機退片。 將CD放入光碟機，K3B會顯示專輯資訊 點選工具→擷取音樂 全選，按下開始擷取。 設定格式為FLAC無損，按下開始擷取，等待其完成。 完成。 點選裝置→退出退片 到~/音樂目錄，會找到成功擷取專輯。 ","title":"Linux使用KDE K3B燒錄與擷取CD音樂檔案","type":"posts"},{"content":"Waydroid可以在x86的Linux電腦跑Android APP，且宿主機的3D圖形功能正常的話，Android遊戲也能正常執行。\n若平台是ARM架構就更簡單了，Linux手機的處理器大部分是ARM架構，沒有轉譯問題，於是Waydroid讓Linux系統的手機也能執行Android程式。\n示範影片看這部： 系統: postmarketOS 桌面環境: Phosh (顯示協定為Wayland) Waydroid映像檔版本：LineageOS 18.1 (Android 11) 1. 安裝Waydroid # 依序執行以下指令，在postmarketOS安裝Waydroid。 sudo apk add waydroid iptables dnsmasq sudo rc-service cgroups start sudo rc-update add cgroups sudo rc-service waydroid-container start 初始化Waydroid，下載Android 11的映像檔 sudo waydroidi init -f -s GAPPS 設定開機自動讓Waydroid通過防火牆，並自動啟動Waydroid容器，再重開機。 sudo echo \u0026#39;echo \u0026#34;ip route add default via 192.168.250.1\u0026#34; | sudo waydroid shell\u0026#39; \u0026gt;\u0026gt; /etc/local.d/waydroidnetwork.start sudo chmod +x etc/local.d/waydroidnetwork.start sudo rc-update add local sudo rc-update add waydroid-container sudo reboot 點選桌面的Waydroid圖示就會進入主畫面。接著Android APP圖示會出現在Linux桌面上，如圖。 2. Waydroid的操作邏輯 # 確認Waydroid啟動後，點選Linux桌面的程式圖示就能開啟Android程式，例如「計算機」\n但此時如果點選Android的「首頁鍵」，則會直接退回到Linux的桌面。\n如果要進入好像在使用Android手機的狀態，請點選\u0026quot;Waydroid\u0026quot;的圖示，這樣它就會開啟Android的桌面。或者使用以下指令顯示:\nwaydroid show-full-ui Waydroid的3D圖形正常的話，甚至能玩遊戲，Google框架已經內建，你只要使用這個指令稿驗證裝置就行。 要將Waydroid「關機」只要停止服務即可： sudo rc-service waydroid-container stop 3. 其他小問題 # 如何避免Android APP的圖示出現在Linux桌面上 # Waydroid的Android應用圖示位於~/.local/share/applications/，全部都以\u0026quot;waydroid\u0026quot;開頭。\n刪除桌面圖示用以下指令，但下次Waydroid啟動這些圖示又會長回來。\nrm ~/.local/share/applications/waydroid.* 點選Waydroid圖示，Android桌面的版面跑掉 # 狀況：在Linux桌面環境為Phosh的情況下，有時候點選Waydroid圖示，桌面會變成切一半，有時候會大小錯誤。\n可能的解決法：手機重開機。\nWaydroid開機後還是沒有網路 # 在開啟Android應用程式後，手動在終端機執行以下指令:\necho \u0026#34;ip route add default via 192.168.250.1\u0026#34; | sudo waydroid shell #或者改用這個 sudo apk add waydroid-nftables 無法調整音量 # 手機實體鍵無法控制Android容器內的音量，所以得另外安裝調整音量的APP。\n另外，Waydroid偶爾會有有音效不同步的問題。\n4.延伸閱讀 # Waydroid官網的使用說明文件 給Waydroid安裝Magisk和Google Play SOLVED Waydroid \u0026hellip; how to shut it down - UBports Forum Waydroid - PostmarketOS wiki ","date":"2022年12月4日","externalUrl":null,"permalink":"/posts/postmarketos-waydroid/","section":"所有文章","summary":"Waydroid可以在x86的Linux電腦跑Android APP，且宿主機的3D圖形功能正常的話，Android遊戲也能正常執行。\n若平台是ARM架構就更簡單了，Linux手機的處理器大部分是ARM架構，沒有轉譯問題，於是Waydroid讓Linux系統的手機也能執行Android程式。\n示範影片看這部： 系統: postmarketOS 桌面環境: Phosh (顯示協定為Wayland) Waydroid映像檔版本：LineageOS 18.1 (Android 11) 1. 安裝Waydroid # 依序執行以下指令，在postmarketOS安裝Waydroid。 sudo apk add waydroid iptables dnsmasq sudo rc-service cgroups start sudo rc-update add cgroups sudo rc-service waydroid-container start 初始化Waydroid，下載Android 11的映像檔 sudo waydroidi init -f -s GAPPS 設定開機自動讓Waydroid通過防火牆，並自動啟動Waydroid容器，再重開機。 sudo echo 'echo \"ip route add default via 192.168.250.1\" | sudo waydroid shell' \u003e\u003e /etc/local.d/waydroidnetwork.start sudo chmod +x etc/local.d/waydroidnetwork.start sudo rc-update add local sudo rc-update add waydroid-container sudo reboot 點選桌面的Waydroid圖示就會進入主畫面。接著Android APP圖示會出現在Linux桌面上，如圖。 2. Waydroid的操作邏輯 # 確認Waydroid啟動後，點選Linux桌面的程式圖示就能開啟Android程式，例如「計算機」\n","title":"Waydroid + postmarketOS使用教學，Linux執行Android APP","type":"posts"},{"content":"請參閱：開源內網穿透軟體比較\n想要從外面的網路連線到家中的電腦、存取NAS照片、遠端桌面、存取自架服務、遊戲多人連線？你可以使用ZeroTier達成此目的。\nZeroTier是免費架設虛擬區域網路的開源軟體，類似私人VPN，支援Linux/Windows/macOS/FreeBSD/Android/iOS系統。\n只要建立一個ZeroTier網路，將手機電腦加進此網路，等同連線到同一個Wifi下，這樣裝置之間便可以互相連線。\n本文將簡介ZeroTier優點和安全性，再談如何在電腦/手機安裝ZeroTier。\n1. ZeroTier優點 # 以「從外面的網路連回家裡的電腦」這個目的來看\n過去我們可能會調整路由器，設定通訊埠轉發(port forwarding)，將浮動IP配上動態DNS，讓外部網路能連線到家裡電腦。\n但有些人的路由器不是自己的無法亂動，或是你懶得去調，那麼ZeroTier就派上用場了，以上步驟通通不需要，只要裝在要連線的電腦即可運作。\n使用上也比較簡單，客戶端操作就像連VPN一樣簡單易懂。\nZeroTier的免費方案上限為25個裝置連線，且官方表示不限制網速，個人使用足夠了。\n雖說ZeroTier最早是採用GPLv3授權釋出的自由軟體，但是2019年官方將其轉換為商業友好的BSL授權條款，軟體不再是完全開源。\n2. ZeroTier安全性 # ZeroTier會把所有連線的裝置組成一個虛擬區域網路，像A電腦會分配到192.168.1.100，B電腦192.168.1.101，這些IP只有在連線到ZeroTier網路時才能存取。\nZeroTier客戶端在連線時會到官方伺服器查詢要連線的目標裝置，接著嘗試給二者UDP打洞(hole punch)，成功P2P後資料傳輸就不會經過ZeroTier伺服器，速度提高： 然而若電腦防火牆阻擋P2P連線，那麼連線就會變成依賴官方伺服器傳輸(relaying)，速度變慢： 就安全性來說，裝置加入ZeroTier私人網路前還要在網頁後台同意，才能存取同一ZeroTier網路下的其他裝置，所以並不是所有人都能隨便加進來。\n根據ZeroTier官方發表的白皮書，每個裝置之間的連線是點對點加密的，很難竊聽傳輸資料。\n但缺點是你得信任ZeroTier這家商業公司作為連線中轉伺服器。即使連線有加密，他們也知道哪個IP正在使用他們的服務。故ZeroTier雖然很像VPN，但它無法隱藏你的IP，也不能拿來跨區。\n如果真的不信任ZeroTier官方伺服器，你也可以自己租個VPS，利用ZeroTier的開放原始碼軟體自行架設中轉伺服器\u0026quot;Moon\u0026quot;降低延遲，降低對ZeroTier官方服務的依賴。\n3. 建立ZeroTier網路 # 你必須先到ZeroTier官方網頁註冊帳號，才能建立ZeroTier網路。\n至官方網站，點選右上角Sign up註冊帳號。 接著登入ZeroTier網路後台，點選Create A Network 下方列表會出現新網路，點進去修改設定。首先會看到「Network ID」這是給其他裝置連線用的。接著給Network命名，再勾選「Private」設定為私人網路。 頁面往下，會看到「IPV4 Auto Assign」的規則，建立Network時會隨機挑一組網段，通常維持預設即可。除非你習慣用192.168來代表區域網路的裝置再選擇其他規則。 頁面再往下抵達「Members」區塊。此時還沒有任何裝置客戶端加入此網路，所以是空白(客戶端安裝請看下一節)。 有裝置加入後，重新整理ZeroTier後台頁面。勾選左邊的方框允許該裝置加入，接著給裝置取名方便辨識。以此類推，讓其他電腦/手機也加入此網路。 每個裝置後面會顯示ZeroTier分配的虛擬區域IP，要連線就是使用此IP位址。以下圖為例，假設要從Android手機存取Windows上的FTP伺服器，伺服器IP就是打10.147.19.87。 你可以隨時讓裝置退出ZeroTier網路，需要的時候再連上去。ZeroTier後台會保留分配給該裝置的虛擬區域IP位址。\n4. 安裝與設定ZeroTier客戶端 # 這邊列出各大作業系統安裝ZeroTier客戶端的方法。\n4.1. Linux # 請看這篇了解各大Linux發行版安裝ZeroTier，還有ZeroTier指令用法。\n4.2. Windows # 至ZeroTier官網下載Windows的安裝檔安裝。\n安裝後ZeroTier會顯示在系統匣右下角。 Windows搜尋「防火牆設定」 點選「允許應用程式通過防火牆」 點選「變更設定」，接著確認ZeroTier有打勾。再按下確定。 點選右下角的ZeroTier，勾選「Start UI at login」設定開機自動啟動。 接著點選「Join New Network」，會跳出視窗。在這邊輸入ZeroTier的Network ID，加入ZeroTier網路。之後在ZeroTier網頁後台允許該裝置加入。 4.3. macOS # 至ZeroTier官網下載PKG安裝檔。\n在應用程式列表找到ZeroTier，接著會顯示在系統右上角。右鍵點選「Join New Network」。\n輸入Network ID，加入網路。之後在ZeroTier網頁後台允許該裝置加入。\n如果macOS有啟用防火牆，請到系統偏好設定→安全性→防火牆→進階，允許ZeroTier客戶端的連入連線。\n4.4. FreeBSD # 從官方套件庫安裝：\nsudo pkg install net/zerotier 啟動服務：\nsudo service zerotier start 其餘連線指令跟Linux類似。\n4.5. Android # 至Google Play下載ZeroTier\n開啟ZeroTier APP，點選右上角設定。 勾選「Use Cecullar Data」允許使用行動網路流量。 回到首頁，點選右上角+號，填寫Network ID，再勾選「Route All traffic through ZeroTier」，點Add Network。 點選開關，啟動VPN連線，連線到ZeroTier網路。之後在ZeroTier網頁後台允許該裝置加入。 4.6. iOS # 至App Store下載ZeroTier\n開啟ZeroTier APP，點選右上角加入網路，輸入Network ID，勾選Enable Default Route。 回到主界面，啟動VPN連線。之後在ZeroTier網頁後台允許該裝置加入。\n5. 改善ZeroTier延遲 # P2P連線時，資料傳輸不經過官方伺服器，速度取決於雙方裝置的網路速度。\n若P2P失敗，ZeroTier就會走官方的的伺服器傳輸資料，此時速度就會慢很多。\n因此要確保雙方裝置的防火牆是否有開放9993 UDP通訊埠才能穩定P2P連線。\n你可以用指令確認ZeroTier裝置間是否有成功P2P：\nsudo zerotier-cli peers 範例輸出如下，role顯示LEAF代表P2P成功，顯示PLANET代表連線走的是官方伺服器。\n200 peers \u0026lt;ztaddr\u0026gt; \u0026lt;ver\u0026gt; \u0026lt;role\u0026gt; \u0026lt;lat\u0026gt; \u0026lt;link\u0026gt; \u0026lt;lastTX\u0026gt; \u0026lt;lastRX\u0026gt; 2wwweeew4f 1.10.2 LEAF 204 DIRECT 14487 14487 cawwfwwwb9 1.10.2 LEAF 142 DIRECT 12450 2295 從以上指令也能看到個別裝置的延遲率(Lat, Latency)，若高於100就很容易lag，得檢查網路連線，或是重新連上ZeroTier網路。\n6. ZeroTier的實際運用例子 # 本站有列出一些ZeroTier的使用場合。\n延伸閱讀 # ZeroTier官方說明文件 ","date":"2022年12月1日","externalUrl":null,"permalink":"/posts/setup-zerotier/","section":"所有文章","summary":"請參閱：開源內網穿透軟體比較\n想要從外面的網路連線到家中的電腦、存取NAS照片、遠端桌面、存取自架服務、遊戲多人連線？你可以使用ZeroTier達成此目的。\nZeroTier是免費架設虛擬區域網路的開源軟體，類似私人VPN，支援Linux/Windows/macOS/FreeBSD/Android/iOS系統。\n只要建立一個ZeroTier網路，將手機電腦加進此網路，等同連線到同一個Wifi下，這樣裝置之間便可以互相連線。\n本文將簡介ZeroTier優點和安全性，再談如何在電腦/手機安裝ZeroTier。\n1. ZeroTier優點 # 以「從外面的網路連回家裡的電腦」這個目的來看\n過去我們可能會調整路由器，設定通訊埠轉發(port forwarding)，將浮動IP配上動態DNS，讓外部網路能連線到家裡電腦。\n但有些人的路由器不是自己的無法亂動，或是你懶得去調，那麼ZeroTier就派上用場了，以上步驟通通不需要，只要裝在要連線的電腦即可運作。\n使用上也比較簡單，客戶端操作就像連VPN一樣簡單易懂。\nZeroTier的免費方案上限為25個裝置連線，且官方表示不限制網速，個人使用足夠了。\n","title":"ZeroTier使用教學：建立虛擬區網的VPN軟體","type":"posts"},{"content":"請參見：Linux開源免費的遠端桌面列表\n本文要介紹的WayPipe，能夠將遠端Linux電腦的Wayland視窗，拉到本地桌面執行，方便你查看圖形界面程式的執行結果。\n這是一種類似SSH X11 Forwarding的技術，準確來說是讓Wayland實現網路透明性(network transparency)的功能。下圖是作者部落格給的工作原理圖。 因為WayPipe是透過網路傳輸圖形界面的，雖然有部份GPU加速，但是跟其他遠端桌面比起來效能很差勁，效能不比RDP、VNC要好，更別說RustDesk和Sunshine了！\n1. WayPipe的運作條件 # 遠端和本地端的電腦都必須使用Wayland桌面。因此理想情況下，兩邊最好都是Linux系統，譬如Ubuntu 24.04以上版本。\n如果本地端的電腦是Windows，就得找一個能夠支援Wayland的軟體，目前最簡單的方案是在Windows 11裝WSLg，WSL在安裝Ubuntu之後，會提供一個基於Weston開發的Wayland合成器，用於顯示圖形界面。\nWayPipe僅能啟動Wayland協定的應用程式，如果應用程式還在使用X11，也就是XWayland，需要使用相應的環境變數強制以Wayland執行（例如QT5以上程式使用QT_QPA_PLATFORM=wayland），否則的話就得改用SSH X11 Forwarding執行了。\n2. 安裝WayPipe # 首先在遠端和本地電腦安裝OpenSSH： sudo apt install openssh-server openssh-client 接著在遠端和本地電腦安裝WayPipe： sudo apt install waypipe 再於本地電腦安裝Wayland的參考實作Weston： sudo apt install weston 3. 用WayPipe執行單一應用程式 # 在本地電腦輸入以下指令，以SSH連線到遠端電腦，後面加上二進位檔路徑，例如啟動firefox\nwaypipe ssh -C user@192.168.1.104 firefox 這樣Firefox視窗就會跳出來了。實測能勉強看網頁，但圖形效率很差。 4. 用WayPipe執行完整桌面環境 # WayPipe可以用來啟動KDE Wayland工作階段：\nwaypipe ssh -C user@192.168.1.104 startplasma-wayland 如此一來就能在這個視窗裡面啟動其他不支援Wayland協定的舊版應用程式，但是該桌面視窗無法縮放。 5. 播放遠端電腦的音效 # 遠端電腦的PipeWire音效得透過SSH forwarding到本地電腦，否則會在遠端電腦的喇叭放出來。\n在本地電腦輸入以下指令：\npactl load-module module-tunnel-sink server=tcp:\u0026lt;本地電腦IP\u0026gt;:4656 sudo ufw allow 4656/tcp sudo ufw reload 在遠端電腦輸入：\npactl load-module module-native-protocol-tcp port=4656 listen=\u0026lt;本地電腦IP\u0026gt; 接著在遠端電腦的音訊輸入裝置切換成本地電腦的TCP裝置就可以聽到音效。\n參考資料 # WayPipie - Gitlab Chapter 13. Remotely accessing a Wayland-based application - Red Hat Enterprise Linux 9 How to stream audio through pipewire from one Linux system to another? -superuser ","date":"2022年11月30日","externalUrl":null,"permalink":"/posts/waypipe-wayland-over-ssh/","section":"所有文章","summary":"請參見：Linux開源免費的遠端桌面列表\n本文要介紹的WayPipe，能夠將遠端Linux電腦的Wayland視窗，拉到本地桌面執行，方便你查看圖形界面程式的執行結果。\n這是一種類似SSH X11 Forwarding的技術，準確來說是讓Wayland實現網路透明性(network transparency)的功能。下圖是作者部落格給的工作原理圖。 因為WayPipe是透過網路傳輸圖形界面的，雖然有部份GPU加速，但是跟其他遠端桌面比起來效能很差勁，效能不比RDP、VNC要好，更別說RustDesk和Sunshine了！\n1. WayPipe的運作條件 # 遠端和本地端的電腦都必須使用Wayland桌面。因此理想情況下，兩邊最好都是Linux系統，譬如Ubuntu 24.04以上版本。\n如果本地端的電腦是Windows，就得找一個能夠支援Wayland的軟體，目前最簡單的方案是在Windows 11裝WSLg，WSL在安裝Ubuntu之後，會提供一個基於Weston開發的Wayland合成器，用於顯示圖形界面。\nWayPipe僅能啟動Wayland協定的應用程式，如果應用程式還在使用X11，也就是XWayland，需要使用相應的環境變數強制以Wayland執行（例如QT5以上程式使用QT_QPA_PLATFORM=wayland），否則的話就得改用SSH X11 Forwarding執行了。\n","title":"WayPipe：Wayland下的Linux遠端桌面，類似SSH X11 forwarding","type":"posts"},{"content":"11月29日，重整部落格，新增「分類」頁面，因為文章寫的夠多了，應當整理一下。 早期主題不固定，我是用標籤分類主題，但是這個對一般讀者來說太反人類。一般人看標籤雲忽大忽小的字也只會霧煞煞吧。 現在文章夠多了，系列文也成形了，用分類告訴新來的讀者會比較知道我常談些什麼，現在把寫過的主題明確的文章分類，讓標籤只做好索引的工作。\n除了分類文章外，參考一些經營部落格的建議後，我有稍微分流一下文章類型。雖說現在有自己的部落格，但也不會全塞到這邊來。對於動漫畫心得，我還是po巴哈小屋；露骨的18禁內容就po在某個角落。這邊仍以普通的生活雜感、科技方向的議題為主。\n此次更新我也把首頁正式移除。「就算是在這樣的世界，也會有好事發生呢」我還是這樣想的，只是新來的讀者看到這樣的看板也是會不明究理吧，所以就把首頁改成傳統的顯示最新文章列表模式。\n關於部落格名字的品牌經營，我曾想過改成「Ivon說科技」、「Ivon\u0026rsquo;s Tech」這種風格，後來還是不改了 我確實是讀文組科系\n看過一篇我去了中國最大的Web3 聚會，發現人們想要的不是Web3的文章，裡面的人熱衷把頭像換成乙太幣沾邊的名字，但看來只是在跟風。就像我以前做那麼多Minecraft影片，也沒把Minecraft寫到頻道名字。\n並且Youtube上會拍電腦的Huan，也不用特別在名字中標記自己是玩電腦的。專門組電腦的歐飛先生亦是如此。只要他們表現出固定專業，別人一眼就能認出用途。\n論在社群媒體名字放企鵝emoji表示支持Linux我是願意的，但是個人品牌是否要跟某個主題綁定，是值得思考的。\n只要讓人能記得我的名字，那才是更好的。\n","date":"2022年11月29日","externalUrl":null,"permalink":"/posts/ivonblog-2022-11-29-update/","section":"Personals","summary":"11月29日，重整部落格，新增「分類」頁面，因為文章寫的夠多了，應當整理一下。 早期主題不固定，我是用標籤分類主題，但是這個對一般讀者來說太反人類。一般人看標籤雲忽大忽小的字也只會霧煞煞吧。 現在文章夠多了，系列文也成形了，用分類告訴新來的讀者會比較知道我常談些什麼，現在把寫過的主題明確的文章分類，讓標籤只做好索引的工作。\n除了分類文章外，參考一些經營部落格的建議後，我有稍微分流一下文章類型。雖說現在有自己的部落格，但也不會全塞到這邊來。對於動漫畫心得，我還是po巴哈小屋；露骨的18禁內容就po在某個角落。這邊仍以普通的生活雜感、科技方向的議題為主。\n此次更新我也把首頁正式移除。「就算是在這樣的世界，也會有好事發生呢」我還是這樣想的，只是新來的讀者看到這樣的看板也是會不明究理吧，所以就把首頁改成傳統的顯示最新文章列表模式。\n關於部落格名字的品牌經營，我曾想過改成「Ivon說科技」、「Ivon’s Tech」這種風格，後來還是不改了 我確實是讀文組科系\n看過一篇我去了中國最大的Web3 聚會，發現人們想要的不是Web3的文章，裡面的人熱衷把頭像換成乙太幣沾邊的名字，但看來只是在跟風。就像我以前做那麼多Minecraft影片，也沒把Minecraft寫到頻道名字。\n","title":"11月29日部落格更新小記","type":"personal"},{"content":"","date":"2022年11月29日","externalUrl":null,"permalink":"/ja-jp/tags/altstore/","section":"Tags","summary":"","title":"AltStore","type":"tags"},{"content":"","date":"2022年11月29日","externalUrl":null,"permalink":"/ja-jp/tags/ios/","section":"Tags","summary":"","title":"IOS","type":"tags"},{"content":" 以前、Android上のF-droidストアにはどんなおすすめAPPがあるのかを研究したことがある。そのとき、このオープンソースのAndroidストアには別の風景があると気づいた。Google Playと比べて、F-Droid上のAPPには実用的で、権限が抑制され、あなたのコンピューターの自由を尊重するソフトウェアが多い。\n次に私は、iOSにはApp Storeとは異なる別の景色の場所がないのかを見てみたくなった。Androidでは第三者ソフトウェアストア（Google Playに対するもの）をインストールでき、それによって自由にAPPをダウンロードし、当然持つべきコンピューター使用の自由を享受できることを私たちは知っている。\n長期にわたりAppleに支配されてきたiOS/iPadOSエコシステムでは、App StoreがAPPをダウンロードする唯一の来源であり、公開には金がかかり、APPを売っても手数料を取られる。そしてAppleの規約には、GPL条項と互換性のないAPPであることも明確に書かれている。これにより、App Store上では自由・オープンソースの気風を持つAPPが比較的少なくなった。\n否定できないこととして、今も多くのiOSオープンソースAPPは存在する。しかしこれらの準自由ソフトウェア（非GPL条項）は、しばしば吹き荒れる砂煙の中に埋もれてしまう。iOSのエコシステム全体は、なおそこまでオープンソース寄りではなく、変えたいと思っても他に方法がない。\nこれは量が大きいことの必然的結果であり、Google Playも同じだ。アプリストアには商業性が高く、誤導性の強いAPPが溢れ、高品質APPと美を競っている。しかしそれら高品質APPは、しばしば金銭的にユーザーを搾取することを楽しみ、オープンソースではなく、特定機能を競って独占することを誇り、新技術があればそれをマネタイズに使うことしか考えない。\nAndroidでは別のアプリストアへ切り替え、Google Playを削除して自由を追求できる。iOSではAppleが与えてくれる安全保護をおとなしく享受するだけだ――深く考える必要はない。Appleが正しいのだ。だってAppleはThink differentと言っているのだから。壁の中の幸福は、抑圧されない自由よりずっと楽ではないか。\n2019年、AltStoreが突如登場し、脱獄不要、開発者でなくても合法的に第三者APPをインストールできる経路が一気に生まれた。海外メディアはAltStoreの作者にインタビューし、「Appleが望まないAPPを受け入れる避難所」という見出しを付けた。\n作者はインタビューの中で、「人々がクールで面白いと感じるアプリケーションは、時にApp Storeへ出るのが難しい。だから私たちはAltStoreで、もっと小さくて奇妙で面白いアプリケーションを見られるようにしたい」と強調している。\n基本的には、AltStoreの理念はすでに見えている。人に異なる選択肢を与えるだけだ。\nAltStoreがF-Droidのように自由のもう一つの選択肢を提供できるのか。私の観察では、彼らはそれを実現した。しかし自由について言えば、ここに吹いているのは半分だけの自由の風だ。\n実際にiPhone上でいくつかAltStoreのAPPをダウンロードして、一つの結論に至った。UTM、EhPanda、iSH、PPSSPPのような高品質なAltStore APPは、AltStore本体を含めても、指で数えられるほどしかない。これらのプロジェクトが偉大なのは、Appleが一般ユーザーに許さないことを実現したからだけではない。ユーザーに自由、すなわちソースコードへアクセスする権利を与えているからだ。\n上記のAPPを除き、ネット上で推薦されているAltStore APPをざっと見ると、まともなAPPはほとんどない。すべて「破解」または「強化」版APPであり、F-Droidにあるような常用ツール型APPのオープンソース同等品、たとえばアルバムやファイル管理のようなものはない。（これはiOSの権限によるものでもある）\n広告除去版のYoutubeやInstagramのようなAPPはAndroidにもある。しかし破解であるだけでなく、オープンソースでもない。Google PlayでYoutubeの広告を除去すると称するAPPが、実はそれ自体に別の広告を含んでいるという荒唐無稽な例を見たことがあるかもしれない。AltStoreの一部APPも同じで、たとえばCercubeだ。価格は問題ではない。重要なのはAPPそのものが自由かどうかであり、APPはまずオープンソースでユーザーを尊重してこそ、購入する価値がある。\nAltStoreは、過去の脱獄や海賊版の手段をより簡単にしたように見える。過去にプロファイルを使っていた時代にも、海賊版や破解版アプリの例は大量にあった。ここには自由理念が育つ機会がない。無料で節約できるという心態で使いに行く人は、中国が提供するさまざまなならず者プロファイルを入れろと言われても、その通りにしてしまうだろう。\nこうしてAltStoreは、プロプライエタリソフトウェアで溢れるApp Storeよりさらに深刻な結果へ向かう可能性がある——海賊版の温床となり、それらのAPPが末端ユーザーからさらに一枚皮を剥ぐかもしれない。Android上の第三者アプリストアのエコシステムは確かにそうであり、F-Droidも同じ生存上の苦境に直面している。一般人の目には、F-Droidには「無料破解APP」のようなお得要素がないため、使う強い魅力がない——人々が自分の権利は重視する価値があると意識できないかぎりは。しかし私は毎日FBを眺めているだけで幸せなのだから、こんな大したこともなく、抵抗を試みても役に立たない事業をなぜ気にする必要があるのか。\nApp StoreがGPL協議のAPPと互換性がないなら、原則に比較的こだわる開発者はAltStoreでAPPを配布できるのではないかと思う。たとえばMinetestだ。しかし現実には、そのやり方にはさらに市場がない。結局は受け手が触れやすいかどうかの問題である。AltStoreには脱獄APPのような万能の権限がなく、何か極めて特殊な用途のAPP（たとえばポルノを見る）でもない。もし極めて特殊な用途のAPPでないなら、なぜApp Storeに公開して一儲けしないのか。だからAltStore APPは、少数のAPPの避風港でしかないと言える。それがもたらす自由・オープンソースは、一般人、特にiOSの囲い込み庭園的な閉鎖エコシステムに慣れた人にとって、実用的意味を持たない。\nAltStoreの真義は、もしかすると単に「alternative」なのだろう。もし誰かがその自由の必要性を体感できるなら、決してここに甘んじて、足を止めることはない。\n","date":"2022年11月29日","externalUrl":null,"permalink":"/ja-jp/posts/altstore-and-freedom/","section":"Foss-Issues","summary":" 以前、Android上のF-droidストアにはどんなおすすめAPPがあるのかを研究したことがある。そのとき、このオープンソースのAndroidストアには別の風景があると気づいた。Google Playと比べて、F-Droid上のAPPには実用的で、権限が抑制され、あなたのコンピューターの自由を尊重するソフトウェアが多い。\n次に私は、iOSにはApp Storeとは異なる別の景色の場所がないのかを見てみたくなった。Androidでは第三者ソフトウェアストア（Google Playに対するもの）をインストールでき、それによって自由にAPPをダウンロードし、当然持つべきコンピューター使用の自由を享受できることを私たちは知っている。\n長期にわたりAppleに支配されてきたiOS/iPadOSエコシステムでは、App StoreがAPPをダウンロードする唯一の来源であり、公開には金がかかり、APPを売っても手数料を取られる。そしてAppleの規約には、GPL条項と互換性のないAPPであることも明確に書かれている。これにより、App Store上では自由・オープンソースの気風を持つAPPが比較的少なくなった。\n否定できないこととして、今も多くのiOSオープンソースAPPは存在する。しかしこれらの準自由ソフトウェア（非GPL条項）は、しばしば吹き荒れる砂煙の中に埋もれてしまう。iOSのエコシステム全体は、なおそこまでオープンソース寄りではなく、変えたいと思っても他に方法がない。\nこれは量が大きいことの必然的結果であり、Google Playも同じだ。アプリストアには商業性が高く、誤導性の強いAPPが溢れ、高品質APPと美を競っている。しかしそれら高品質APPは、しばしば金銭的にユーザーを搾取することを楽しみ、オープンソースではなく、特定機能を競って独占することを誇り、新技術があればそれをマネタイズに使うことしか考えない。\n","title":"iPhone上のAltStoreは、まだ自由な第三者APPの居場所になっていない","type":"foss-issues"},{"content":"","date":"2022年11月29日","externalUrl":null,"permalink":"/ja-jp/tags/jailbreak/","section":"Tags","summary":"","title":"Jailbreak","type":"tags"},{"content":"TL;DR：個人先於國家，不論在台灣還是中國、美國皆然。服膺於單一政黨、違反人權的強制命令是不能接受的。\n我愛中國，你愛中共。我們反的不是中國人，而是中國政府，同時也要與為虎作倀的人作戰。 但是我是台灣人，台灣遲早要獨立成為真正的獨立國家。大一統的思維終究要放棄，我們不能忍受沒有自由民主的未來。此外，台灣要當塞子，不是棋子。\n即使如此，我還是愛中國。\n波布大佐：你疑似有點太極端了 以下誑語，聽聽便可。\n0. 動機 # 寫這篇文章的動機有三。\n一、在中國網站寫東西都還要提心吊膽，發出去搞不好還被小粉紅罵，這種網站狗都不用，因此促成了這篇，將心中對中國國內網站的不滿寫出來。\n二、有人看到我的Twitter寫反共的標語就想舉報我在中國網站上的帳號。先別說我反手就能檢舉你用VPN，都翻牆了還想著愛國，這種中國人不能處，所以得將對中國人的態度說清楚。\n三、我覺得有必要寫篇文章闡述政治觀點，以釐清未來要對抗的是哪一類的中國人，以及將經驗用反思台灣獨立運動是否有走歪，像是綠共變紅共等。\n又政治觀點的塑造跟過去接觸的人士有關，所以想先回顧十年以來接觸過的簡體中文論壇，包括過去混的中國國內論壇，以及現在混的海外簡中論壇，才能歸結出現今的政治觀點。\n文中會大量出現支那人與中國人稱呼混用的情況，在此先說明一下。支那人雖曾是歷史稱呼，但此處作貶意，並非稱呼整個中國人群體，而是持特定政治立場和國族觀念的人士，好比1450那樣盲信上級意識形態的族群；反之，中國人是中性稱呼，沒有驕傲或是同文同種的感情成份在，只因為那些人住在/來自中國；台灣未來要作為獨立國家，稱呼大陸人也並不正確。\n1. 過去混過的簡中論壇 # 由於大大小小的網站太多了，因此只挑出幾個討論。\n百度貼吧和Bilibili教我與中國人網友相處的基本之道，政治除外。隨著年齡增加，那些地方都不該深入經營，免得變成斯德哥爾摩症候群。\n百度貼吧 # 最近翻一下以前在百度貼吧的發言，似乎有點懷念以前刷貼吧的時光。從2014年起，陸續逛過Minecraft PE吧、艦隊Collection吧、戰爭雷霆吧，還有一些手機討論的貼吧。因為艦娘緣故，也混了一陣子NGA。\n當年不懂事，小圈圈真亂。\n上次發的最後一條回覆是2020年，在眾人看A士畫的艦娘立繪不順眼的帖子回覆「你國就是這樣，一提到政治正確就非黑即白」馬上就有人跳腳了，說我是怪物、遊戲論壇不要陰陽怪氣講這個云云。以前我可能會很難過受人指責，因此而道歉。現在我覺得罵的太輕了，支那人玩大日本帝國海軍為主的遊戲，支味還那麼沖，跟風瞎罵台灣繪師(雖然我也不是很喜歡)暴露出支性還想裝理客中，我都還沒講到敏感詞就觸發支那人的自我審查機制。艦娘貼吧還時不時就有人尬吹你國海軍多威武，也難怪共青團罵艦娘的廢文可以強制在知乎置頂到現在，大概是他們應得的。\n確實，在艦娘下面講這個是離題，屬實不當，也非所有艦娘玩家都是戰狼粉紅。不過這也讓人想到一點：所謂網路社群不分國界，總是有辦法對著遊戲某方面瞎雞巴亂罵(我也曾幹過這種事)，有時只是看不順眼也能吵起來，然後就一堆人起鬨，就有人能從中收割流量紅利，這可不是值得鼓勵的行為。貼吧如此，NGA如此，PTT如此，巴哈亦如此，論壇中總是混雜：善於整理攻略的神人、挑起事端的暴民、圍觀的路人，當時我也是隨雞起舞的亂源罷了。\n想了一下，發現以前在貼吧的發言支味真的太沖了，雖然有遊戲、歷史、技術方面的有意義交流，那邊神人很多，但未成年以前在中國論壇真的容易被洗腦感化，語言和思維被中國人用語感染不自知。在學過翻譯技術後，現在用詞方面都會想想是不是把台灣講法用中國用語取代了。不過其實用了也沒差，非正式場合我確實知道自己在用支語講話，那也就夠了。寫正式文件的時候會特別注意。\nBilibili # 2018年，因為看新番去了B站，艱苦通過二次元題目的考試。後來做Minecraft歌曲翻譯，把作品丟上去，陸續收到好評，變成經營重心之一，每週都預告下週影片。我偶爾也會看一些淫夢豪俊金曲的鬼畜並發彈幕。\n不過，玩品蔥後開始在上面發表乳包評論，當時我還是初心者反賊，還沒到現在的屠支魔怔人，只覺得乳包是玩淫夢梗那樣的舉動而已。果不其然幾個月後便嘗到鐵拳的滋味，2020年經營略有起色的帳號被永封。這件事我沒跟QQ有來往的觀眾透漏，只是輕描淡寫的說我講太多違規內容，還有人好心要送我小號用，當年很感動。\n後來重新申請的Bilbili帳號就沉默許多，只丟影片當備份站點。直到2021年我重啟經營Youtube(2020年舊Youtube帳號被版權檢舉)，才開始重新經營B站，po些原創Minecraft、科技影片，也重新開始跟觀眾交流。\n一年做下來，看起來Bilibili不怎麼反對繁體字幕，那我想牆內中國人其實也沒海外反賊說的那麼壞，Bilibili神人很多，也樂於交流、研究在台灣國內冷門的領域，使我的影片在Bilibili上的觀看次數是Youtube的10倍多，這點我很感謝。但我感謝的是願意支持我的觀眾，Bilibili平台本身的罪惡審核制度仍是要唾棄的，標準不明的言論管控害我都要先檢查影片內的地圖是不是有畫正確才上傳。\n若有人想嘲諷我灣灣之類跟影片無關的挑釁話題，我大多不會去理會，只會在心裡給對方個流汗黃豆：支那人差不多得了\n我也不會主動去找Bilibili上的影片，因為就跟浪友說的一樣，完全是突開沼氣池。現在除了Bilibili回覆觀眾問題以外，中國網站上我基本不講話了，Bilibili首頁推送的影片一個比一個惡臭，動不動慶祝你黨的豐功偉業，僅有技術交流的影片才會刻意去看，還得迴避炒作搏眼球的低智商影片。\n最後Bilibili的審核是真的死媽了，口袋罪就不給發動態和影片，也無具體原因，完全不能處。Bilibili根本不適合作為Youtube以外的另一個家，要像LBRY那樣完全不管的才好。因此在Bilibili上傳的重要文章或影片我還是會留有副本，不會有任何Bilibili only的內容。自我審查以迎合國家機器的審查不應該當作常態，在沒有公司威逼壓力下，個人用戶就更不應該與惡勢力低頭。\n以前忽略中國APP有多流氓，我過去還覺得洩漏IP屬地不算什麼，現在發現侵犯隱私可是不遺餘力！歐美公司都要乖乖的遵守歐盟隱私法規，台灣PTT會洩漏IP，有些社群媒體還要求實名。但跟中國的比起來是小巫見大巫了吧！Bilibili整天想要我的電話號碼驗證，巴不得以後不刷臉就不給用。這樣誰還敢裝中國的APP，有上架Play商店的也是敬謝不敏，用網頁版就是最大的退讓了。\n回應本節一開始的內容，凡事都要有預案，在政府過度介入的網站耕耘，要做好能隨時脫離的準備。\n2. 現在混的簡中論壇 # 牆外論壇教我與中國人的相處之道，還有了進一步政治理念的切磋。\n我想還是對部份中國人抱有好感的，不過鐵定不是支那豬。唯有捨棄大一統的幻想，才能跳脫大中華的意識窠臼，亦有助於台灣獨立建國。\n2020年，因為有了品蔥和Reddit中文社區可以玩耍，牆內的論壇就漸漸不混了。Twitter/Telegram不算可以凝聚眾人的社區，所以這邊不納入。\n品蔥 pincong.rocks # 品蔥大概是2019年發現，跟後面的沖浪TV比起來，算知乎那種正經討論中國問題的地方，因此腦袋冷靜的時候可以看看。品蔥有明確的板塊分類話題，看蔥友有條理的知識討論，關於民生、國家、人權，讓人認識中國國內問題，批判共產黨的理論時又可以吸收民主的科學論據，作為解釋為我們價值觀的武器，而非台獨吉娃娃瘋狗亂咬的意識形態。之前甚至有過大量牆內大學生貼畢業證書撐香港反送中的正義舉動。後來協助成立蔥輪TV，讓我對覺醒中國人的印象又更好了。\n品蔥這樣的討論區讓人對中國未來存有希望，就像該站標語：我們終將在沒有黑暗的地方相會。\n沖浪TV chonglangtv # 相關文章：Reddit大型中文社區，簡明沖浪系sub發展歷史\n再講Reddit中文社區，大約2021年開始融入，現在我已經是四朝元老了(迫真)。這邊sub是指沖浪系(r/chonglangtv、r/CLTV、r/quanlangTV、r/real_china_irl、r/TZTV)這類的喔，不是太監區r/China_irl和塔綠班集散地r/Taiwanese那種。\n沖浪TV以討論時事為主，以鼠人(魯蛇)的觀點來看待社會事件，且裡面蝙蝠人(留學生)很多，還會討論國際新聞和留學跑路的問題。看似很像品蔥？其實沖浪系sub的發言風格根本就貼吧翻版，瞎罵髒話一堆，可以說神友(得名自神奈川沖浪裡吧)是立場相反的小粉紅。但比貼吧好就是不顯示IP、不偵測敏感詞，以及sub內的政治觀點(反共、諸夏、西方價值觀)比較符合我現今的傾向，因此才敢在那邊高談闊論中國大小事。\n此外，神友也不是只會瞎罵支那人而已，烏克蘭爆發戰事，不論鼠人蝙蝠人都踴躍捐款贊助，當時貼出的大量捐款證明十分震撼，算是沖浪TV最大規模的社會性義舉了。至於大翻譯運動\u0026hellip;有點毀譽參半，但也是跟神友有關的大規模網路現象。\n近年來雖有Reddit大mod警告不准再在Reddit上說支那人三個字，還是擋不住sub內用各種替代詞彙嘲諷支那人的力度。沖浪系sub現在換了一堆新家，人氣上還是能繼續跟太監區攀比，也是令人欣慰。\n牆內論壇懷念歸懷念，現在是不必再用了。幾乎不用牆內的社群媒體，這也是脫支的一個辦法，儘管神友本身也很支。台灣國內的論壇要是跟政治力量低頭(不論是共匪還是塔綠班)我看也不用混了。不然就盡可能不登錄帳號瀏覽中國論壇，也不下載最容易盜取資料的牆內APP。\n要查遊戲資料，懂英文日文就不用去貼吧找某某懂哥貼的資料來看，還要整天忍受狗頭和滑稽表情的惡臭風氣嘲弄。中國國內的論壇還是可以用，跟中國人交流並擷取有價值的訊息，保護自己的隱私安全，言論勿隨支那人起舞便可。\n3. 現階段我的政治觀點 # 供參考：搞笑政治測驗CN Values測出的我的政治立場是社會自由主義。\n我的政治觀點在現實、在網路上逐漸形塑了出來，讓我體認到政治光譜本來就並無絕對，也不該是任何人強迫你接受的結果。\n政治立場並非絕對左與右，而是動態的光譜。\n多年來混了台灣和中國的各大論壇，包括接觸台獨運動、中國國民黨、海外民運人士、歐美左右派、黃左、黃右、支黑、劉仲敬這些思潮，2022年我的政治觀點可歸結為以下論述：\n我支持台灣獨立成民主共和國，拋棄中華民國國號。反對民進黨態勢，支持(但非絕對認同)民眾黨的務實路線。獨立後台灣除了美日以外，應跟中國人民(非共產黨)保持友好，承認過去的歷史互動關係，尊重傳統文化。中國應該解體，放棄大一統，成立諸夏體制，並成立民主政府。\n我支持政府實現社會公平正義改革，對富人徵稅。我不盲目信仰任何神明，對LGBT、少數族群、台語文運動的權利屬於被動支持狀態，不會刻意去爭取。\n關於屠支，經過幾年接觸政治論調下來，我認為屠支那還是停留在口嗨階段就好，我跟人說南京大屠殺殺的太少了多半是跟粉紅論戰的氣話，而非否認事實。中國人或許有些是十惡不赦(好比無腦支持中國共產黨)，應該屠屠，但並非所有人都是這樣。因此我還是對中國人抱有一點希望，也希望台灣的獨立運動人士不要把台灣的民主變成威權政府，變像中國共產黨一樣解釋權在我的民主政治。\n如果中國人無法自覺作到民主改革，就只能滑坡一下――期待外部輸入民主秩序，也就是核平後殖民300年。（什麼頤指氣使的教師爺）\n結論 # 神友蔥友是目前最能處的簡中網路群體，其二是不隨中國或台灣政府起舞、亦非歲靜的新覺醒公民。\n我們還是應該寬容些，不預設未曾謀面陌生人立場。接觸過的部份中國人其實沒有那麼壞，有些人看事情的觀點甚至要比台灣國內的深刻廣闊的多。不過受共產黨政府和中華大一統觀念影響，還深信不疑的支那人，屬實無可救藥，感化無效就應多殺。然後我不喜歡民進黨和基進黨非黑即白的反中論調，我偏向支持民眾黨和時代力量的務實路線，同情國民黨的阿斗境遇。\n所以事情並沒有絕對，中國人處境現在或許可嘆怒其不爭，但未來還是有點希望。台灣人若自甘墮落、服膺於單一政黨的命令，那也離成為支那人不遠了。\n","date":"2022年11月28日","externalUrl":null,"permalink":"/posts/china-and-zhina-forum/","section":"Politics","summary":"TL;DR：個人先於國家，不論在台灣還是中國、美國皆然。服膺於單一政黨、違反人權的強制命令是不能接受的。\n我愛中國，你愛中共。我們反的不是中國人，而是中國政府，同時也要與為虎作倀的人作戰。 但是我是台灣人，台灣遲早要獨立成為真正的獨立國家。大一統的思維終究要放棄，我們不能忍受沒有自由民主的未來。此外，台灣要當塞子，不是棋子。\n即使如此，我還是愛中國。\n波布大佐：你疑似有點太極端了 以下誑語，聽聽便可。\n0. 動機 # 寫這篇文章的動機有三。\n一、在中國網站寫東西都還要提心吊膽，發出去搞不好還被小粉紅罵，這種網站狗都不用，因此促成了這篇，將心中對中國國內網站的不滿寫出來。\n二、有人看到我的Twitter寫反共的標語就想舉報我在中國網站上的帳號。先別說我反手就能檢舉你用VPN，都翻牆了還想著愛國，這種中國人不能處，所以得將對中國人的態度說清楚。\n三、我覺得有必要寫篇文章闡述政治觀點，以釐清未來要對抗的是哪一類的中國人，以及將經驗用反思台灣獨立運動是否有走歪，像是綠共變紅共等。\n又政治觀點的塑造跟過去接觸的人士有關，所以想先回顧十年以來接觸過的簡體中文論壇，包括過去混的中國國內論壇，以及現在混的海外簡中論壇，才能歸結出現今的政治觀點。\n","title":"混中國網站後政治觀點的轉變，從百度貼吧到冲浪TV","type":"politic"},{"content":" TermuxでLinux Prootディストリビューションをインストールした後、次に悩むのはデスクトップをどう表示するかだ。もっとも簡単な方法はVNCサーバーで、現在はTermux X11でXWaylandを動かす方法もある。\nただ、実はかなり前から\u0026quot;XServer XSDL\u0026quot;というAPPが存在していた。これはAndroidスマホ上でXサーバーを実行できるAPPだ。\n1. XSDLのメリット # XSDLはVNCより性能がよく、Termux X11より安定している。さらにTermux Prootだけでなく、chroot方式のLinux Deployとも組み合わせて使える。\nXSDLにはPulseAudioの音声再生機能も内蔵されているので、音を出すためにTermuxへ依存する必要がない。\nXSDL自体が独立したXサーバーなので、プログラム側でTermux X11のコードに合わせた統合をしなくても、その上にグラフィカル環境を表示できる。\nまた、Xサーバーそのものなので、理論上はX11 Forwardingもできる。同じネットワーク上にあるLinux PCのXサーバー画面をスマホへ転送し、別種のリモートデスクトップとして使うことも可能だ。\nXSDL唯一の欠点はGPUアクセラレーションがないことだ。Termux X11は少なくとも一部のOpenGLに対応しているため、XSDLでのゲーム性能はかなり低く、せいぜいブラウザで動画を見る程度になる。\nつまりXSDLは、VNCとTermux X11の中間にある折衷案といえる。\n2. XSDL + Termux の使い方 # TermuxでProotディストリビューションをインストールする。例えば私はArch Linuxを入れている。\nXSDL APPをダウンロードし、起動してこの画面が出るまで待つ： Prootディストリビューションにログインする：\nproot-distro login archlinux ここではXFCEデスクトップを起動するので、以下のコマンドを入力する： export DISPLAY=localhost:0 # Termux ProotでPulseAudioをすでに設定済みなら、この行は不要 export PULSE_SERVER=tcp:localhost:4713 xfce4-session \u0026amp; XSDL APPを開くとXFCEデスクトップが表示される。仮想マウスが出て、2本指タップで右クリック、2本指スクロールで画面スクロール、長押しでドラッグできる。戻るボタンを押すとスマホのキーボードを呼び出せる。 PulseAudio serverを設定していれば、音声も正常に再生できる。 終了するときはXSDL APPを閉じる。Termuxへ戻るとXサーバーは自動で停止する。\n","date":"2022年11月27日","externalUrl":null,"permalink":"/ja-jp/posts/android-xserver-xsdl/","section":"Termux-Tutorials","summary":" TermuxでLinux Prootディストリビューションをインストールした後、次に悩むのはデスクトップをどう表示するかだ。もっとも簡単な方法はVNCサーバーで、現在はTermux X11でXWaylandを動かす方法もある。\nただ、実はかなり前から\"XServer XSDL\"というAPPが存在していた。これはAndroidスマホ上でXサーバーを実行できるAPPだ。\n1. XSDLのメリット # XSDLはVNCより性能がよく、Termux X11より安定している。さらにTermux Prootだけでなく、chroot方式のLinux Deployとも組み合わせて使える。\nXSDLにはPulseAudioの音声再生機能も内蔵されているので、音を出すためにTermuxへ依存する必要がない。\nXSDL自体が独立したXサーバーなので、プログラム側でTermux X11のコードに合わせた統合をしなくても、その上にグラフィカル環境を表示できる。\nまた、Xサーバーそのものなので、理論上はX11 Forwardingもできる。同じネットワーク上にあるLinux PCのXサーバー画面をスマホへ転送し、別種のリモートデスクトップとして使うことも可能だ。\n","title":"スマホでX serverを動かす、Termux + XSDLの使い方","type":"termux-tutorials"},{"content":"","date":"2022年11月24日","externalUrl":null,"permalink":"/ja-jp/tags/gentoo/","section":"Tags","summary":"","title":"Gentoo","type":"tags"},{"content":" 最終的には少し恥ずかしく、狼狽しながらArch Linuxへ戻した。同じローリングリリースでも、GentooとArchの難度差は本当に大きすぎる。どうやら私はまだ準備ができていなかったようだ。\n高度にカスタマイズでき、ソフトウェアバージョンが最新で、なおかつ安定して使えるデスクトップLinuxディストリビューションはどこにあるのだろう。この三つの条件を一度に満たすことは絶対に不可能だ。\nカスタムLinuxシステムの極致を探すため、2022年7月にopenSUSE TumbleweedからArch Linuxへ切り替え、その後Gentoo Linuxへ切り替えた。\nこの期間に、GentooとLFS（dual bootで入れた）が提供する低層システムコンパイル原理を初歩的に理解し、OpenRCからSystemdへ移行する方法、そして一部ソフトウェアを自分で手動インストールする苦痛を知った。システムカーネルについては、ずるをして公式の事前コンパイル済みバイナリ（Fedoraベース）を使っていたので、この方面で悩んだことはない。\nGentooでWar Thunderのような大型ゲームを遊ぶことには問題がなく、Steam (Flatpak) + Protonがすべて処理してくれた。\nPlasma Overdoseテーマ\nしかし、Gentoo Linuxを二か月使って長所と短所を味わった後、Arch Linuxへ戻すことを決めた。過去の習慣では一週間に一度Gentooをアップグレードしていた。今回はGentoo emerge時に一度に50個以上のKDEパッケージslot conflictが出たので、もう低層debugにこれ以上の時間を費やせないと思い、Arch LinuxのUSBを取り出してシステムを再インストールした。\nこの離脱理由は、以前Ubuntuを離れた時ほどくだらなくはないだろう。以前はUbuntu/Debianが退屈すぎると嫌って離れた。openSUSE/Fedoraはプリインストールのものが多すぎて好きではなかった。Windows 11という広告機械ほど大げさではないとはいえ、プロプライエタリソフトウェアの重量級大集合であり、あの怪物は仮想マシンの中に閉じ込めるしかない。\nWindows 11の新規インストール済みシステムにはこれほど多くの広告APPがある\nTumbleweed、Arch、Gentooを使うことは自分を地獄へ押し込むことなのか？それとも天国なのか？いずれにせよ、上流に近いローリングリリースを使うと、もう安定リリースのディストリビューションには戻りたくなくなる。\nDistro-hoppingの習性ゆえ、重要データはすべて別のハードディスクとクラウド（軟體自由協會のNextcloud + 個人MEGA）に置いている。だから準備手続きはそれほど長くなく、WindowsとMacOSの仮想マシンをバックアップしてから再インストールした。\n1. カスタマイズの極致、安定度の試練 # あれこれ考えた結果、文頭の構想に応えるなら、Archが現時点での最適解であり、しかも純Archであって、Arch-basedのManjaro、EndeavourOS、Garuda、Artixのような加料ディストリビューションではない。\nGentooとLFSはまさにカスタマイズの極致に合致し、ソフトウェアも新しい。ほぼ0からシステムを入れ、パッケージのコンパイルオプションまで設定しなければならない。パッケージのコンパイル待ちは我慢できるが、パッケージ衝突を手動処理するのは本当にうんざりする。PCならゆっくり処理できるが、機動性を重視するノートPCに入れると……ノートPCでも短期間Gentooを試したが、後にやはりArchへ戻した。アップグレード衝突問題に遭遇する前に、コンパイルで引き延ばされる時間に殺されそうになった。Gentooは十分安定しているのかもしれないが、更新を追いかけるのが好きな友人にはかなりつらい。 システム問題をデバッグしている時、髭だけでなく髪まで抜け落ちそうになる\nGentooのUSEなら一部のシステム機能をコンパイルに入れないよう拒否できるかもしれないが、感覚としてはプログラムを書いているようで、依存関係を考えなければならず、アップグレード時には設定ファイルが上書きされるかどうかも気にしなければならない。Archは一般的なLinuxディストリビューションと同じで、そのままアップグレードすればいい。過去にアップグレード時のファイル衝突問題に遭遇したことはあるが、Gentooほど大げさではない。GentooでUSEを設定し、さらにコンパイル待ちするのに比べると、Archは台湾国内のミラーを使う時、一つのコマンドでとても速くインストールできる。\nArchの安定度をどう保障するかについては定論がない。Waylandは次の更新でNvidiaドライバーにgankされるかもしれないし、GRUBがなぜか消える可能性もある（確率はとても低い）。あるいはFcitxがまた特定のプログラムで中国語入力できなくなるかもしれない。こうしたことはあるが、数日待ってpacman -Syuし、十分ほどダウンロード更新すれば問題は解決するかもしれない。Gentooではまず二時間コンパイルを待ってから結果を見る必要がある。\n2. Arch Linuxカスタムシステムの快感を体験する # Archを再インストールする手順は、当初Archを入れた時のメモとそれほど変わらない。PCはこの記事を、ノートPCはこの記事を見てほしい。これらの記事は、誰かが本当に真似して失敗しないように、低級なミスをずっと修正している。\nある人にLinuxは寄せ集め車だと批判されたことがある。そう、それは寄せ集め車だ。そしてSystemdのように大統一を試みるものは、管理範囲が広すぎると人に文句を言われる。デスクトップ環境も万年戦い続ける議題だ。知ったことか。現時点で私は、自由でオープンソースなソフトウェアを使って仕事をするという点だけは譲れないが、前線の新技術はすべて試してみるべきだと思っている。\nその中には当然、あなたのシステムをどうインストールするかが関わる。主には大衆の潮流に従い、適時に小さな調整を行うことだ。\nGentooはUSEでソフトウェア機能を定義する。Archはパッケージを細かく分け、ダウンロード時にどのパッケージ組み合わせが必要か選べるため、肥大化を避けられる。たとえばQEMUには最小版もあれば、全部入れる版もある。Fcitx5入力メソッドも新酷音だけを入れることを選べ、拼音入力まで入ることはない。\n今回デスクトップ環境を再インストールした時、私はやはりKDEを選んだ。GentooはUSEでコンパイルするKDE機能を切り詰めるが、Archはplasma-metaとplasma-desktopという二つの大きなパッケージを提供している。少し経験を積んだ後、私はplasma_meta全家桶を入れるのが好きではなくなった。アプリケーションが雑多すぎるので、plasma-desktopを選んだ。その結果、自分で穴を埋める必要がある。\nたとえば：KDEがWEBPとAVIFすらサポートしないとは？ 私が入れたのはplasma_desktopの最小パッケージなので、画像対応(qt5-imageformats, kimageformats)のパッケージは自分で取る必要がある。よく使うものにはBluetooth(bluedevil)、ネットワークマネージャー(plasma-nm)、Pipewire音声パネル(plasma-pa)、電源管理(power-profiles-daemon)などもある。自分の需要に応じてKDEデスクトップを組み合わせれば、後で全家桶を掃除する必要がない。\n初めてArchを入れる人は、おとなしく全家桶を食べたほうがよい。人は初回から自分が何を欲しいかを知るのは難しい。以前の私はUbuntuがGNOMEを使っていることすら知らなかった。\nついでに言うと、新鮮味のため、そしてタッチパッド+Wayland体験を便利にするため、ノートPCのArchデスクトップ環境にはGNOME全家桶を入れている。GNOMEのインターフェイスのカスタマイズ度は非常に低いけれども。\n3. 全面Flatpak化を続ける # Flatpakは、あらゆるLinuxディストリビューションの差異を無視するために受け継がれてきたインストール手段であり、その次がAppImage + AppImage Launcherだ。Gentooではこの点を深く体感した。一部の珍しいソフトウェアについて、GentooにはOverlayすらないことがあり、AppImageや静的リンク実行ファイルに依存する必要がある。最悪の場合はdockerや仮想マシンを開いて走らせることになる。\nファイルマネージャー(Dolphin)、テキストエディター(Kate)、画像ビューアー(Gwenview)、メディアプレイヤー(VLC)など高速な応答が必要なシステムプログラムを除き、残りのデスクトップソフトウェアはできるだけFlatpakを採用する。Firefox、VS Code OSS、Android Studio、Steam、LibreOffice、Kdenlive、GIMPを含む。\nFlatpakの権限設計は安全性とプライバシー性を高められる。Android APPに少し似ている。唯一の欠点はかなり太いことだ。\nまた、Snapを使うことはLinuxコミュニティでしばしば政治的に正しくないと見なされる。ただ私は特に悪いとは思わない。入れる動機のあるソフトウェアは静的サイトジェネレーターHugoだけで、Flatpakがデスクトッププログラムしかない不足を補うために使っている。\n最後に、ソフトウェア更新をもう少し自動化したい。GNOME下のFlatpakは自動でスケジュール更新するので、KDEの更新フロントエンドとしてDiscoverも入れ、毎日pacman -Syuを打ちたくなる気持ちを抑えた。KDEで更新規則を設定した後、ArchはGoogle PlayのAPPのように定時でこっそり更新するようになる。 4. Arch Linuxを少し美化する # 実用性と美観が第一目標であり、派手さや個性化のために無理やり何かすることはない。\nArch LinuxはGentoo Linuxと同じく、起動時にGRUBとSystemdのメッセージを出力する。Arch Wikiを参考にカーネルメッセージを閉じ、さらにArch logo付きの簡素なPlymouthを入れて起動画面アニメーションにした。\nいくつかの観点を読んだ後、r/unixporn板の人のように細部までデスクトップを美化することは強迫症をさらに悪化させるだけだと思った。たとえば以前、KDEコンポーネントを全部抜いてLatte Dockだけを使ったことがあるが、結果はとても使いにくかった。 KDEでもGNOMEデスクトップでも、デスクトップ配置に生産性があることのほうが重要だ。だからデスクトップ美化の原則は以下の通り：\n「実用」一度だけ見栄えのために置いた後、もう見たくなくなる壁紙を置かない 「控えめ」RGB照明効果の派手な線をやらない 「デスクトップ本体にあるコンポーネントだけを使う」サードパーティパッケージに依存しない 「デスクトップにアイコンを一切置かない」GNOMEからKDEへ伝染した習慣 だから、KDEではステータスバーの位置を調整し、内蔵の秋壁紙を使っただけだ。Gentooを使っていた時にこのスタイルを確立した：Breezeのウィンドウ装飾は軽薄すぎるので、Oxygenのスキューモーフィック風格に調整した。 GNOMEは特に言うことがない。Adwaitaテーマをそのまま使い、デスクトップレイアウトはGNOMEの操作ロジックに従い、Dashを固定Dockにはしていない。ただGNOMEのAPP分類は使いにくすぎるので、GNOME Tweaksで左上のAPP分類ランチャーを有効にする。壁紙はOpenSUSEの可愛いトカゲを使う（NTR？むしろTumbleweed精神の継承に近い）。 5. その後 # 今回はどれだけ持つか、またdistro-hoppingを始めるのか見てみよう。\nFreeBSDはLinuxではないが、長期的なデスクトップシステムの選択肢としてずっと考えている。以前遊んだことがあるが、やはりサーバーとして使うだけでよいとわかった。私は公式サイトで30ドルのTシャツ+ステッカーを買って支援しただけだ。 Linuxはやはりより大衆的で、誰かに某ソフトウェアをどう設定するかのチュートリアルを共有しやすい。Linuxは黙々と仕事をし、開発者だけが触れる機械ではなく、日常OSにもなれることを証明できる。そしてこれらすべてを理解し、改善する方法は、全身でシステムに投入し、低層から表面まで実践することだ。\n","date":"2022年11月24日","externalUrl":null,"permalink":"/ja-jp/posts/from-gentoo-to-arch/","section":"Foss-Issues","summary":" 最終的には少し恥ずかしく、狼狽しながらArch Linuxへ戻した。同じローリングリリースでも、GentooとArchの難度差は本当に大きすぎる。どうやら私はまだ準備ができていなかったようだ。\n高度にカスタマイズでき、ソフトウェアバージョンが最新で、なおかつ安定して使えるデスクトップLinuxディストリビューションはどこにあるのだろう。この三つの条件を一度に満たすことは絶対に不可能だ。\nカスタムLinuxシステムの極致を探すため、2022年7月にopenSUSE TumbleweedからArch Linuxへ切り替え、その後Gentoo Linuxへ切り替えた。\nこの期間に、GentooとLFS（dual bootで入れた）が提供する低層システムコンパイル原理を初歩的に理解し、OpenRCからSystemdへ移行する方法、そして一部ソフトウェアを自分で手動インストールする苦痛を知った。システムカーネルについては、ずるをして公式の事前コンパイル済みバイナリ（Fedoraベース）を使っていたので、この方面で悩んだことはない。\nGentooでWar Thunderのような大型ゲームを遊ぶことには問題がなく、Steam (Flatpak) + Protonがすべて処理してくれた。\n","title":"Gentooを二か月使った後、黙ってArch Linuxへ戻した","type":"foss-issues"},{"content":"","date":"2022年11月22日","externalUrl":null,"permalink":"/ja-jp/tags/android-debug-bridge/","section":"Tags","summary":"","title":"Android Debug Bridge","type":"tags"},{"content":" この記事はAndroid 11以上の端末にのみ適用されます。Android 11未満の端末は、おとなしくPCでADBデバッグしてください。\nADB (Android Debug Bridge)はスマホをデバッグするためのツールです。root権限なしでスマホの設定を変更でき、たとえば内蔵アプリのインストール/削除、タップイベントのシミュレート、ファイル転送、スマホ情報の取得などができます。\nADBコマンドを実行するには、通常スマホをPCに接続して操作する必要があります。現在はTermuxにADBパッケージが用意されており、Android 11以上に内蔵されているワイヤレスADB機能と組み合わせることで、以下のことができます。\nAndroidスマホが自分自身に対してADBデバッグを行えるため、PCが不要。\nBrevent、Ice Box、Shizukuなどのアプリに必要なシステム権限を付与し、正常に動作させる。\n同じWi-Fiに接続している場合、スマホAからスマホBへADBコマンドを送信し、別のスマホを操作できる。\nADBとScrcpyアプリを組み合わせれば、別のスマホを操作でき、どんなリモートデスクトップよりも快適に扱える。\n具体的な手順を見ていきましょう。\n1. ADBワイヤレスデバッグを有効にする # Androidスマホによって設定項目の場所は異なります。ここではもっとも一般的な設定だけ説明します。ADBワイヤレスデバッグはWi-Fiに接続していないと使用できません。\nスマホのシステム設定を開き、一番下までスクロールして「デバイス情報」を探す。\n「ビルド番号」を5回タップして、開発者向けオプションを有効にする。\nシステム設定のトップに戻り、「開発者向けオプション」を検索する。\n開発者向けオプションで「ADBデバッグ」と「ワイヤレスデバッグ」にチェックを入れる。 このWi-Fiでのデバッグを常に許可する。 「ワイヤレスデバッグ」を開き、続いて「ペア設定コードによるデバイスのペア設定」を押す。\nペアリングコードのダイアログは画面を離れると閉じてしまうため、スマホを「分割画面」にします。上側にシステム設定を残し、下側でTermuxアプリを開いて、ペアリングコードのダイアログを開いたままにします。 2. TermuxにADBパッケージをインストールする # 先にこちらを読んでおくことをおすすめします：Termux基礎チュートリアル\nTermuxを開き、android-toolsパッケージをインストールします。 pkg install android-tools ペアリングコードのダイアログがまだ開いていることを確認し、以下のコマンドを入力してペアリングを開始します。Wi-Fiの6桁のペアリングコードを入力してください。ペアリングは一度だけ行えばよく、以後この手順は不要です。 # [IPアドレス] [ポート] adb pair 192.168.1.101:41733 # ペアリングコードを入力 以下のコマンドを入力して接続します。ここで使うポートは「デバイス名」の下に表示されているポートです。先ほどWi-Fiペアリングで使ったものとは異なり、再起動するたびに変わります。 adb connect 192.168.1.101:40505 システムにワイヤレスデバッグが接続済みと表示されます。 ここまで来たら分割画面を終了してかまいません。adb devicesコマンドで接続できているか確認します。 これでADBコマンドを実行できます。 参考資料 # Android Debug Bridge (adb) - Android Developers Phantom Process Killer FIXED no root and no computer ","date":"2022年11月22日","externalUrl":null,"permalink":"/ja-jp/posts/termux-wireless-adb/","section":"Termux-Tutorials","summary":" この記事はAndroid 11以上の端末にのみ適用されます。Android 11未満の端末は、おとなしくPCでADBデバッグしてください。\nADB (Android Debug Bridge)はスマホをデバッグするためのツールです。root権限なしでスマホの設定を変更でき、たとえば内蔵アプリのインストール/削除、タップイベントのシミュレート、ファイル転送、スマホ情報の取得などができます。\nADBコマンドを実行するには、通常スマホをPCに接続して操作する必要があります。現在はTermuxにADBパッケージが用意されており、Android 11以上に内蔵されているワイヤレスADB機能と組み合わせることで、以下のことができます。\nAndroidスマホが自分自身に対してADBデバッグを行えるため、PCが不要。\nBrevent、Ice Box、Shizukuなどのアプリに必要なシステム権限を付与し、正常に動作させる。\n同じWi-Fiに接続している場合、スマホAからスマホBへADBコマンドを送信し、別のスマホを操作できる。\nADBとScrcpyアプリを組み合わせれば、別のスマホを操作でき、どんなリモートデスクトップよりも快適に扱える。\n","title":"PCなしでスマホ上からADBコマンドを実行する：Termux + ADB Wi-Fiワイヤレスデバッグ","type":"termux-tutorials"},{"content":"","date":"2022年11月21日","externalUrl":null,"permalink":"/ja-jp/tags/openssh/","section":"Tags","summary":"","title":"OpenSSH","type":"tags"},{"content":" この記事では、Androidスマホ上のTermuxにOpenSSHをインストールし、SSH接続で自分のPCやリモートホストへログインする方法を紹介します。\nTermuxではスマホ上でSSHサーバーを実行し、PC側のSSHクライアントからスマホへログインすることもできます。これによりファイル転送ができ、SMBに似たファイル共有機能を実現したり、Rsyncで2台のデバイス間のファイルを自動同期したりできます。\nこの種のツールの利点は、ポートをSSHと共有できること、そしてSSHの暗号化通信によって転送の安全性を高められることです。\nちなみに、スマホとPCを連携するKDE ConnectもSSHを使用しています。コマンド入力が苦手な場合は、先にKDE Connectアプリを試してみてもよいでしょう。\n1. OpenSSHをインストールする # 1.1. スマホ側 # 先にこちらを読んでください：Termux基本使用チュートリアル\nTermuxにOpenSSHをインストールします。クライアントとサーバーが含まれます： pkg install openssh Termuxの仮想ユーザーアカウントは常にuserです。次のコマンドを入力し、4桁以上のパスワードを入力してEnterを押します： passwd 次にTermuxでこのコマンドを実行し、SSHサーバーを起動します。 sshd Termuxを終了するとSSHDも一緒に終了するため、SSHDを.profileに追加しておくと、Termux起動時にSSHサーバーも自動起動します： echo \u0026#34;sshd\u0026#34; \u0026gt;\u0026gt; ~/.profile 1.2. PC側 # PCにOpenSSHのクライアントとサーバーをインストールします。\nLinux/MacOSではパッケージマネージャーからOpenSSHをインストールしてください。WindowsではMicrosoftのドキュメントを参照してOpenSSHをインストールします。\nファイアウォールの22番ポートを開けるのを忘れないでください。\n2. SSH接続を開始する # まずPCとスマホを同じWifiに接続します。\n次にPCで以下のコマンドを実行し、PCのローカルIPを取得します。\n# Linux, MacOS: ifconfig # Windows： ipconfig PCのローカルIPは下図の赤枠の通りです。私のPCのローカルIPは192.168.1.103です： スマホのTermuxで次のコマンドを実行し、ローカルIPを取得します：\nifconfig スマホのローカルIPは下図の赤枠の通りです。私のスマホのローカルIPは192.168.1.101です： 2.1. スマホからPCへSSH接続する # スマホのTermuxでコマンドを入力し、PCへ接続します。 # [ユーザーアカウント@PC IP] [ポート] ssh ivon@192.168.1.103 -p 22 yesを入力して続行し、その後ユーザーパスワードを入力します。\nPCへのログインに成功するとshellに入ります。終了するにはexitを入力します。\n2.2. PCからスマホへSSH接続する # スマホ側は通常ファイアウォールの問題はありませんが、TermuxのSSHサーバーポートは8022である点に注意してください。\nPCでターミナルを開き、スマホへSSH接続します： # [ユーザーアカウント@スマホIP] [ポート] ssh user@192.168.1.101 -p 8022 yesを入力して続行し、その後ユーザーパスワードを入力します。Termuxの歓迎メッセージが表示されればログイン成功です。 3. SSH SCPでファイルを転送する # Termux基本使用チュートリアルではtermux-setup-storageというコマンドに触れました。これはスマホの「内部ストレージ」をTermuxのstorageディレクトリ下にマウントするものです。つまり、Termuxから写真やドキュメントを含むスマホ内のファイルへアクセスでき、SCPコマンドでPCとファイルをやり取りできます。\n3.1. スマホのファイルをPCへ送る # Termuxで以下のコマンドを実行し、スマホのカメラディレクトリにあるfoo.jpegをPCのPicturesディレクトリへ送信します：\n# [ポート] [スマホ:ディレクトリ] [PC:ディレクトリ] scp -P 22 ~/storage/shared/DCIM/foo.jpeg ivon@192.168.1.103:~/Pictures 3.2. PCのファイルをスマホへ送る # Termuxで以下のコマンドを実行し、PCのPicturesディレクトリにあるfoo.jpegをスマホ内部ストレージのカメラディレクトリへ送信します：\n# [ポート] [PC:ディレクトリ] [スマホ：ディレクトリ] scp -P 22 ivon@192.168.1.103:~/Pictures/foo.jpeg ~/storage/shared/DCIM/ 4. SSHFSでリモートディレクトリをマウントする # SSHFSはSSHトンネルを利用してリモートファイルシステムをマウントするツールです。ファイル転送専用のSCPコマンドと比べると、SSHFSは「SMB共有フォルダ」に近い概念で、写真や動画など大量のファイルを転送・閲覧しやすく、MTPのようにサムネイルすら出ないこともありません。\n暗号化を経由するため、転送速度を上げるにはコマンドを適宜調整する必要があります。具体的にはStack Exchangeの回答を参照してください。PC側のSSHでDNSを無効化することでも転送速度を上げられます。\nLinuxはSSHFSを直接マウントできます。WindowsとMacOSでは追加ソフトが必要です。詳しくはG.T.Wangのサイトを参照してください。\n4.1. PCでスマホのディレクトリをマウントする # ターミナルを開き、マウント用のremoteディレクトリを作成します。 mkdir ~/remote スマホのTermuxでSSHDが動作していることを確認します。スマホ内部ストレージのDCIMディレクトリをPCのremoteディレクトリにマウントします： # [スマホのポート] [スマホ：ディレクトリ] [PC:ディレクトリ] sshfs -p 8022 user@192.168.1.101:storage/shared/DCIM ~/remote yesを入力し、続けてパスワードを入力すると、remoteディレクトリでスマホのDCIMディレクトリ内のファイルを見られます。 アンマウントする場合は、以下のコマンドを実行します：\nfusermount -u ~/remote 4.2. スマホでPCのディレクトリをマウントする # 注意：スマホ側にはRoot権限が必要で、TermuxではSSHFSを直接マウントできません。 Root権限がないスマホでは、Material Filesアプリの「SFTP接続を追加」を使う方法があります。機能はSSHFSに似ています。\nファイル管理アプリで、スマホ内部ストレージに「remote」というディレクトリを新規作成します。\nEasySSHFSアプリをダウンロードします。\n左上のAddを押してマウントポイントを追加します。次に、ローカルのマウントポイント名、PCのユーザー名、PCのローカルIP、PCのパスワードを順番に入力します。Identity Fileはスキップします。さらに、マウントするPC側ディレクトリとローカル側マウントディレクトリも入力します。\n例えば以下の例では、PCの/home/ivon/Picturesディレクトリをスマホ内部ストレージのremoteディレクトリへマウントしています。 右上のSaveを押します。左側のメニューを開き、Mount pointsを押してホームへ戻り、Mountを押します。成功するとmountedと表示されます。 これでremoteディレクトリにPCのファイルが表示されます。アンマウントしたい場合はEasySSHFSに戻ってUmountを押します。 5. Rsyncで写真ファイルをPCへ自動同期する # Rsyncはファイル同期用のツールです。速度が速く、異なるデバイス間のファイル同期はSSHトンネル経由で行われます。さらにTermuxではCrontabを使ったり、Tasker(プロプライエタリソフトウェア)と組み合わせたりして、コマンドの定期実行を設定できます。この2つを組み合わせると、「スマホの写真を定期的にPCへバックアップする」という用途を実現できます。\nまず、TermuxにRsyncをインストールします： pkg install rsync PCにもRsyncをインストールする必要があります。Linux/MacOSではパッケージマネージャーからインストールし、WindowsではcwRsyncをインストールします。\n最初の同期を開始しましょう。スマホ内部ストレージのDCIMディレクトリをPC上の~/Picturesディレクトリへ同期し、ローカルファイルを削除しないとします。その場合、Termuxで以下のコマンドを実行します：\n# 進捗を表示 [スマホ:ディレクトリ] [PC:ディレクトリ] rsync -av --progress -e ssh ~/storage/shared/DCIM ivon@192.168.1.103:~/Pictures パスワードを入力すると同期が始まります。毎回パスワードを入力しないようにするには、下のSSH keyを使ってログインパスワードを置き換える手順を参照してください。\n次に自動バックアップのスケジュールを設定します。どちらか一方を選びます。\n5.1 Crontabをバックグラウンドで動かす # Termuxで以下のコマンドを実行します： pkg install nano cronie termux-services sv-enable crond crontab -e するとnanoが自動で開くはずです。crontabに以下の内容を入力し、CTRL+Xで保存します： # 毎晩11:30にPCへ同期するコマンドを実行する 30 23 * * * /home/gtwang/script.sh --your --parameter 通知欄を下に引き、TermuxのACQUIRE WAKELOCkをタップします。これでTermuxを開いている限り、時間になるとRsyncバックアップが自動実行されます。 5.2. Taskerと組み合わせて自動スケジュールする # Tasker APPをインストールし、さらにTermux Taskerをインストールします。指定した時間にRsyncコマンドを実行する条件は自分で設定してください。\n6. その他のTermux SSHの用途 # 6.1. SSH Forwarding # SSH Tunnelを通じて、Xサーバーのグラフィック画面やPulseAudio音声を別のPCへ転送できます。\n6.2. SSH keyを使ってログインパスワードを置き換える # SSH keyは暗号鍵を使って認証する接続方式で、パスワード認証より安全性が高いです。Termuxから自分のGithubリポジトリへアクセスする場合にも使います。\n以下ではスマホ側でSSH keyを生成し、それをPCへ送る手順を示します。これで今後スマホからPCへSSH接続するときに、パスワード入力が不要になります。\nTermuxでRSA鍵を生成します： ssh-keygen 鍵ファイルは~/.ssh/id_rsa.pubにあります。以下のコマンドで表示し、sshで始まる長い鍵文字列をコピーします。 cat ~/.ssh/id_rsa.pub SSHでPCへ接続します。 ssh ivon@192.168.1.103 鍵をauthorized_keysへ書き込みます。例えばLinuxでは、このファイルは~/.sshディレクトリ下にあります： echo \u0026#34;金鑰字串\u0026#34; \u0026gt;\u0026gt; ~/.ssh/authorized_keys ログアウトします。以後、スマホからPCへ接続するときはパスワード入力なしで直接接続できます。 ","date":"2022年11月21日","externalUrl":null,"permalink":"/ja-jp/posts/termux-openssh/","section":"Termux-Tutorials","summary":" この記事では、Androidスマホ上のTermuxにOpenSSHをインストールし、SSH接続で自分のPCやリモートホストへログインする方法を紹介します。\nTermuxではスマホ上でSSHサーバーを実行し、PC側のSSHクライアントからスマホへログインすることもできます。これによりファイル転送ができ、SMBに似たファイル共有機能を実現したり、Rsyncで2台のデバイス間のファイルを自動同期したりできます。\nこの種のツールの利点は、ポートをSSHと共有できること、そしてSSHの暗号化通信によって転送の安全性を高められることです。\nちなみに、スマホとPCを連携するKDE ConnectもSSHを使用しています。コマンド入力が苦手な場合は、先にKDE Connectアプリを試してみてもよいでしょう。\n1. OpenSSHをインストールする # 1.1. スマホ側 # 先にこちらを読んでください：Termux基本使用チュートリアル\nTermuxにOpenSSHをインストールします。クライアントとサーバーが含まれます： pkg install openssh Termuxの仮想ユーザーアカウントは常にuserです。次のコマンドを入力し、4桁以上のパスワードを入力してEnterを押します： passwd 次にTermuxでこのコマンドを実行し、SSHサーバーを起動します。 sshd Termuxを終了するとSSHDも一緒に終了するため、SSHDを.profileに追加しておくと、Termux起動時にSSHサーバーも自動起動します： echo \"sshd\" \u003e\u003e ~/.profile 1.2. PC側 # PCにOpenSSHのクライアントとサーバーをインストールします。\n","title":"TermuxでスマホをSSHサーバーにして、PCとSSH接続しファイルを共有する","type":"termux-tutorials"},{"content":"QEMU是很好用的模擬器/虛擬機軟體，可以利用Linux的KVM核心模組高效率執行虛擬機。常用的QEMU前端有紅帽公司的Virt Manager，還有配套管理工具Libvirt。\nQEMU靈活性高，可以模擬異質架構，還可以設定GPU Passthrough，提升虛擬機性能。所以很適合用來跑其他Linux發行版或Windows系統。 雖然Gentoo的QEMU的FLAG很多，但常用的就x86_64和ARM64這幾個架構，依照Gentoo Wiki說明開啟必要的FLAG就好。\n1. 確認電腦虛擬化與KVM支援狀況 # 除Linux核心要啟用相關功能以外，也要檢查硬體是否開啟虛擬化和載入KVM核心模組。\n在BIOS中啟用CPU的虛擬化支援。\n輸入以下指令查看CPU是否已開啟虛擬化，Intel應該會輸出Vt-x (vmx)，AMD則是AMD-V (svm)。\nsudo grep --color -E \u0026#34;vmx|svm\u0026#34; /proc/cpuinfo 檢查KVM核心模組是否有載入 sudo lsmod | grep kvm 若無，編輯/etc/conf.d/modules，設定開機後自動載入Intel KVM和TUN/TAP虛擬網路裝置的核心模組，接著重開機： modules=\u0026#34;kvm tun kvm-intel\u0026#34; 2. 編譯安裝QMEU # 用nano編輯/etc/portage/package.use，新增以下參數 # 因為要配合Virt Manager使用，啟用SPICE、USB重新導向。支援的架構選ARM64和x86_64。 app-emulation/qemu opengl alsa spice usbredir pulseaudio virgl sdl sdl-images QEMU_SOFTMMU_TARGETS: aarch64 x86_64 QEMU_USER_TARGETS: x86_64 編譯安裝QEMU sudo emerge --ask app-emulation/qemu 將自己加入kvm群組 sudo gpasswd -a $USER kvm 如果要用QEMU安裝Windows 11，你可能還會需要軟體模擬TPM和支援Secure Boot的EDK2： sudo USE=\u0026#34;fuse\u0026#34; emerge --ask app-crypt/swtpm sudo emerge --ask sys-firmware/edk2-ovmf 3. 編譯安裝Virt Manager # QEMU編譯確認有啟用spice和usbredir這二個FLAG的話就可以接著安裝Virt Manager，內含Libvirt。\n編譯安裝Virt Manager sudo emerge --ask app-emulation/virt-manager 將自己加入libvirt群組 sudo usermod -a -G libvirt $USER 編輯/etc/libvirt/libvirtd.conf，將以下內容取消註解： auth_unix_ro = \u0026#34;none\u0026#34; auth_unix_rw = \u0026#34;none\u0026#34; unix_sock_group = \u0026#34;libvirt\u0026#34; unix_sock_ro_perms = \u0026#34;0777\u0026#34; unix_sock_rw_perms = \u0026#34;0770\u0026#34; 設定開機啟動libvirtd sudo /etc/init.d/libvirtd restart sudo rc-update add libvirtd default 設定開機自動啟動虛擬機網卡 sudo virsh net-start default sudo virsh net-autostart default 這樣就可以開始安裝Ubuntu或Windows虛擬機了。Windows Guest可安裝virtio和SPICE Tools改善效能，Linux guest通常不需要額外安裝。 參考資料 # QEMU - Gentoo Wiki Virt-manager - Gentoo Wiki How To Virt Manager in Gentoo - gists · GitHub ","date":"2022年11月14日","externalUrl":null,"permalink":"/posts/gentoo-qemu-virt-manager/","section":"所有文章","summary":"QEMU是很好用的模擬器/虛擬機軟體，可以利用Linux的KVM核心模組高效率執行虛擬機。常用的QEMU前端有紅帽公司的Virt Manager，還有配套管理工具Libvirt。\nQEMU靈活性高，可以模擬異質架構，還可以設定GPU Passthrough，提升虛擬機性能。所以很適合用來跑其他Linux發行版或Windows系統。 雖然Gentoo的QEMU的FLAG很多，但常用的就x86_64和ARM64這幾個架構，依照Gentoo Wiki說明開啟必要的FLAG就好。\n1. 確認電腦虛擬化與KVM支援狀況 # 除Linux核心要啟用相關功能以外，也要檢查硬體是否開啟虛擬化和載入KVM核心模組。\n在BIOS中啟用CPU的虛擬化支援。\n輸入以下指令查看CPU是否已開啟虛擬化，Intel應該會輸出Vt-x (vmx)，AMD則是AMD-V (svm)。\nsudo grep --color -E \"vmx|svm\" /proc/cpuinfo 檢查KVM核心模組是否有載入 sudo lsmod | grep kvm 若無，編輯/etc/conf.d/modules，設定開機後自動載入Intel KVM和TUN/TAP虛擬網路裝置的核心模組，接著重開機： modules=\"kvm tun kvm-intel\" 2. 編譯安裝QMEU # 用nano編輯/etc/portage/package.use，新增以下參數 # 因為要配合Virt Manager使用，啟用SPICE、USB重新導向。支援的架構選ARM64和x86_64。 app-emulation/qemu opengl alsa spice usbredir pulseaudio virgl sdl sdl-images QEMU_SOFTMMU_TARGETS: aarch64 x86_64 QEMU_USER_TARGETS: x86_64 編譯安裝QEMU sudo emerge --ask app-emulation/qemu 將自己加入kvm群組 sudo gpasswd -a $USER kvm 如果要用QEMU安裝Windows 11，你可能還會需要軟體模擬TPM和支援Secure Boot的EDK2： sudo USE=\"fuse\" emerge --ask app-crypt/swtpm sudo emerge --ask sys-firmware/edk2-ovmf 3. 編譯安裝Virt Manager # QEMU編譯確認有啟用spice和usbredir這二個FLAG的話就可以接著安裝Virt Manager，內含Libvirt。\n","title":"Gentoo Linux安裝QEMU/KVM和Virt Manager虛擬機軟體","type":"posts"},{"content":"第一次參與巴哈姆特站聚，而且還是擺攤，地點為2022年12月10日在台大體育館舉行的巴哈姆特26週年站聚。這是自武漢肺炎疫情以來，回歸的首次線下站聚。\n參與的是由艦隊收藏—川内川中立事務所公會舉辦的擺攤活動，題名為【艦これ—早く、夜戦】\n日程就寫在站聚看板上ㄌ 凌晨4點北上，10點才到台大體育館的站聚現場。在那之前、公會會長皮克西斯已經擺好了了陣容盛大的展示品，從艦これ的同人書籍、CD、黏土人，各式商品俱全。\n(圖片來自GNN) 攤位上有二個螢幕，一個是演示MMD的製作過程，另一個連續播映〈艦隊收藏總有一天在那一片海》的動畫，此外還有幽影提供字幕的二戰電影《雷擊隊出動》和海軍老兵訪談。\n接過工作證後，才把我的接著把給西拿出來擺。相較於會長那齊全的擺設，我準備的東西只能算是額外的小補充――三架日本飛機模型、赤城\u0026amp;加賀Figma、雜誌送的墊板、二本艦隊Collection同人、介紹零戰的《徹底図解 零戦のしくみ》，還有一本昭和57年印行的《丸》雜誌。 擺起來就像這樣 原訂行程有遊戲演示環節，所以我就架起螢幕來演示清EO的過程－誰知道台大體育館連中華4G都沒訊號，光纖也不可靠，網路慢的要命的情況下打的很不快活，貓到玩不下去。 整天下來，可以看到駐足欣賞的人士比想像中多很多。特別是MMD部份，著實能吸引到圈外人士的好奇。而且いど畫的艦隊收藏同人漫畫可謂人盡皆知。 其實我一直想到的是伊東ライフ ← 只收R18同人誌的下場，以後多會買杏仁無双的航空機畫冊這種一般向作品的，對不起。\n零戦のしくみ那些書也吸引到一些瘋狂軍迷，與之談論也算是不錯的收穫。皮克西斯帶來的陶瓷穿甲彈(用來吃蕎麥麵的)也讓很多人好奇詢問。\n攤位不時會遇到退役、現役的許多提督，包括在巴哈哈啦板上持續創作的小說家，分享他們過去、現在、未來的故事。\n部份人抱有緬懷之感，也對這季動畫抱以期待。更歡喜的是跟現役的提督討論遊戲的困難之處，才是最大的喜悅。令人驚喜的是來到攤位，就拿起手機登入一年沒登入的艦これ，著實讓人高興。\n不論是現役默默支持，還是退坑後仍持續關注的，都很感謝還有這樣的社群支持著這個遊戲圈子。\n休息期間，順道去了雨音鎮守府公會【艦娘祭壇機關改二甲】的攤位看看，他們的展示品跟我方差不多，但攤位員工人比較多啊(汗) 這個長的像Nelson其實是陸奧的娃娃真的好可愛，都想買一隻了。 但因為要回去駐守攤位，免得像隔壁LoveLive的貴重物品被幹走(沒人想幹過氣遊戲的週邊和古書吧)，所以沒深入交流呢。\n但還是感謝對方也來我們的攤位(這個手套讓人很想買) 隨處繞繞，冬季市場的攤位有很有趣的商品，奈何我拿不回去所以沒買。隨處可見的Coser也讓人開了眼界，中世紀風格的鎧甲真的酷。\n「只有場外的人在叫囂」沒看到要跟站長嗆聲的巴哈場外兇宅出沒，整天活動很平和的進行。\n整天下來，因為我們攤位就在舞台正對面，就在聆聽台上舉辦的活動下結束，看著人們得獎，幻想如果是我得獎，肯定會說大聲我平常在玩的遊戲就是艦隊收藏！！之類的\u0026hellip;最後抽主機的獎券也是摃龜，哈兔。\n不過這次參與感比過去參與的展次要深入的多―因為不再只是過客。此次擺攤成效已經比心裡預期的好很多了，只是沒能吸引人深入互動(MMD製作、新手入坑)還是個缺憾。\n收持完成後，我是很願意留下跟會長深談個人志趣、事業規劃的，但因為過客要收拾回南部，這樣的話便是簡單的告別了回去。站聚時交流了許多艦隊收藏的週邊情報後，還知道會長除了廚艦隊收藏外，還廚鋼彈和LoveLive，收藏品數量還不相上下，令人為之欽佩，這樣才知道他跨領域的同好多的不勝數。\n不論說多次都不夠，感謝所有線上線下為此活動付出、回饋的朋友們，願我們下次再度相會。 小記\n出發前整理東西的時候，才想起來加賀Figma零件斷掉了―所以當了life hacker一回，用磁鐵黏起來。 ","date":"2022年11月11日","externalUrl":null,"permalink":"/posts/bahamut-meeting-26y-kantai-collection-booth/","section":"Kantai-Collections","summary":"第一次參與巴哈姆特站聚，而且還是擺攤，地點為2022年12月10日在台大體育館舉行的巴哈姆特26週年站聚。這是自武漢肺炎疫情以來，回歸的首次線下站聚。\n參與的是由艦隊收藏—川内川中立事務所公會舉辦的擺攤活動，題名為【艦これ—早く、夜戦】\n日程就寫在站聚看板上ㄌ 凌晨4點北上，10點才到台大體育館的站聚現場。在那之前、公會會長皮克西斯已經擺好了了陣容盛大的展示品，從艦これ的同人書籍、CD、黏土人，各式商品俱全。\n(圖片來自GNN) 攤位上有二個螢幕，一個是演示MMD的製作過程，另一個連續播映〈艦隊收藏總有一天在那一片海》的動畫，此外還有幽影提供字幕的二戰電影《雷擊隊出動》和海軍老兵訪談。\n接過工作證後，才把我的接著把給西拿出來擺。相較於會長那齊全的擺設，我準備的東西只能算是額外的小補充――三架日本飛機模型、赤城\u0026加賀Figma、雜誌送的墊板、二本艦隊Collection同人、介紹零戰的《徹底図解 零戦のしくみ》，還有一本昭和57年印行的《丸》雜誌。 擺起來就像這樣 原訂行程有遊戲演示環節，所以我就架起螢幕來演示清EO的過程－誰知道台大體育館連中華4G都沒訊號，光纖也不可靠，網路慢的要命的情況下打的很不快活，貓到玩不下去。 整天下來，可以看到駐足欣賞的人士比想像中多很多。特別是MMD部份，著實能吸引到圈外人士的好奇。而且いど畫的艦隊收藏同人漫畫可謂人盡皆知。 ","title":"26週年巴哈站聚紀錄 ～參與《艦隊收藏》主題擺攤的心得 ","type":"kantai-collection"},{"content":"注意：本文已經過時。現在Waydroid已經更新到Android 11，casualsnek的libhoudini也出新版了，不需要手動裝測試版了。\n請看Waydroid的正常裝法：Ubuntu安裝Waydroid\n另外，本文僅是概念驗證。如果你真的想在Linux玩原神，請看這篇裝PC版原神。\n介紹如何使用自訂Waydroid映像檔，安裝新版Android嘗試最新技術。\n目前原神(v4.1.0)在下載遊戲資料仍會隨機閃退，需要慢慢重試等待下載完成。不過資料一旦下載好後就不需要用指令稿啟動了。\nWaydroid以前Android 10的映像檔沒有穩定的ARM轉譯器可用。為此自行安裝Android 11測試版映像檔+libhoudini，並測試能否執行原神(ARM64-v8a架構)這類大型遊戲。\n需要使用支援Wayland的桌面環境(或者在X11下用Weston跑)，另外Waydroid不支援Nvidia顯示卡，所以我用Intel內顯UHD 630測試。\n影片操作示例：\n如果之前已經有安裝過Android 10的舊版Waydroid，建議先將其完全移除再來嘗試。\n另外，你可以加入Waydroid的Telegram群組與開發者聯絡。\n1. 設定Waydroid # 到Sourceforge下載Waydroid最新版映像檔，例如我下載的是lineage-18.1-20221030-MAINLINE-waydroid_x86_64-vendor.zip和lineage-18.1-20221030-GAPPS-waydroid_x86_64-system.zip\n解壓縮，將system.img和vendor.img放到/waydroid-extra/images：\nsudo mkdir -p /usr/share/waydroid-extra/images sudo mv system.img vendor.img /usr/share/waydroid-extra/images 準備casualsnek的Waydroid指令稿： # 安裝前置依賴套驗：lzip和sqlite sudo emerge --ask lzip sqlite cd ~ git clone https://github.com/casualsnek/waydroid_script.git cd waydroid_script sudo python3 -m pip --user install -r requirements.txt 安裝Waydroid套件，不要初始化。\n編輯gbinder設定\nsudo mkdir /etc/gbinder.d sudo vim /etc/gbinder.d/anbox.conf 參考此文，填入API版本30： [Protocol] /dev/anbox-binder = aidl3 /dev/anbox-vndbinder = aidl3 /dev/anbox-hwbinder = hidl [ServiceManager] /dev/anbox-binder = aidl3 /dev/anbox-vndbinder = aidl3 /dev/anbox-hwbinder = hidl [General] ApiLevel = 30 初始化Waydroid sudo waydroid init -f -i /usr/share/waydroid-extra/images 啟動Waydroid服務 sudo systemctl start waydroid-container ＊若出現Failed to parse config file \u0026quot;/var/lib/waydroid/lxc/waydroid/config\u0026quot; at line \u0026quot;lxc.apparmor.profile = unconfined\u0026quot;錯誤，編輯/var/lib/waydroid/lxc/waydroid/config將lxc.apparmor.profile = unconfined註解掉，再重新啟動Waydroid服務。參考來源\n進入Waydroid桌面 waydroid show-full-ui 執行casualsnek的指令稿取得裝置ID，進行Google Play認證，等30分鐘才能登入Google Play。 cd ~/waydroid_script sudo python3 waydroid_extras.py -i 2. 安裝新版libhoudini # 此處要將casualsnek Waydroid指令稿提供的libhoudni換成從WSA抽取的libhoudni，版本較新。\n製作自訂libhoudini git clone https://github.com/natsumerinchan/libhoudini-package.git cd libhoudini-package zip -r libhoudini.zip system 取得該壓縮檔的MD5數值 md5sum libhoudini.zip 將這個zip移動到Waydroid指令稿的下載目錄 sudo mv libhoudini.zip ~/.cache/waydroid_script/downloads/ 編輯casualsnek的Waydroid指令稿 cd ~/waydroid_script vim waydroid_extras.py 找到函數install_houdin()，將下載檔案的MD5改成上面取得的MD5數值 def install_houdini(): sys_image_mount = \u0026#34;/tmp/waydroidimage\u0026#34; houdini_zip_url = \u0026#34;https://raw.githubusercontent.com/casualsnek/miscpackages/main/libhoudini_a11.zip\u0026#34; dl_file_name = os.path.join(download_loc, \u0026#34;libhoudini.zip\u0026#34;) extract_to = \u0026#34;/tmp/houdiniunpack\u0026#34; act_md5 = \u0026#34;填入上面取得的MD5\u0026#34; loc_md5 = \u0026#34;\u0026#34; 將Waydroid服務停止 sudo systemctl stop waydroid-container 安裝libhoudini，這樣指令稿會直接使用剛剛製作的libhoudini.zip。 sudo python3 waydroid_extras.py -l 重新啟動Waydroid並進入桌面 sudo systemctl start waydroid-container waydroid show-full-ui 3. 在Waydroid啟動原神 # 有了libhoudini轉譯器，大部分ARM64遊戲應該都能執行了。不過Google Play仍只會顯示x86架構的APP，因此要自行去ApkPure找APK來裝。\n至於《原神》還需要一點特殊處理，首先Google Play版的APK會在載入時出現31-4302錯誤，得改從TapTap下載APK才可以(搜尋\u0026quot;Genshin Impact\u0026quot;)。第二，原神需要用特殊手段啟動。\n安裝原神後開啟遊戲，登入帳號，下載遊戲資源。下載中如果當掉，則將原神APP強制停止、清除快取，接著重開遊戲繼續下載。\n下載後在讀取遊戲資料時會閃退，同樣將原神APP強制停止和清除快取。\n開啟Waydroid的系統設定，點選關於手機，查看Waydroid的IP。\n開啟終端機，將 ilhan-athn7的指令稿透過ADB傳送到Waydroid內部。\ncd ~ git clone https://github.com/ilhan-athn7/WSA_houdini_A12.1.git adb connect \u0026lt;Waydroid的IP\u0026gt;:5555 adb -s \u0026lt;Waydroid的IP\u0026gt;:5555 push ~/WSA_houdini_A12.1/GI_affinity_workaround/* /sdcard 開啟Waydroid shell sudo waydroid shell cd /sdcard 執行第一個指令稿。此指令稿不會對遊戲作任何修改，僅是啟動原神，並限制只使用二個CPU核心，這樣才能解決原神讀取資料閃退的問題。 sh Genshin_start.sh 在讀取完遊戲資料(看到大門)後，執行第二個指令稿解除核心限制 sh Genshin_8core.sh 這樣應該就可以玩了，Intel UHD 630內顯跑中等畫質的FPS還行。因為是Android版，RAM佔用不多，但畫質再調高可能就會閃退。 Scrcpy目前無法配合Waydroid執行，鍵盤映射暫時不可用。不過Waydroid在最新版本加入了將滑鼠點擊轉換成觸控事件的功能，還有假裝Wifi連線：\nwaydroid prop set persist.waydroid.fake_touch \u0026#34;*\u0026#34; waydroid prop set persist.waydroid.fake_wifi \u0026#34;*\u0026#34; 希望Android 11和這些功能可以盡早進入穩定階段囉。\n","date":"2022年11月2日","externalUrl":null,"permalink":"/posts/waydroid-android11-custom-images/","section":"所有文章","summary":"注意：本文已經過時。現在Waydroid已經更新到Android 11，casualsnek的libhoudini也出新版了，不需要手動裝測試版了。\n請看Waydroid的正常裝法：Ubuntu安裝Waydroid\n另外，本文僅是概念驗證。如果你真的想在Linux玩原神，請看這篇裝PC版原神。\n介紹如何使用自訂Waydroid映像檔，安裝新版Android嘗試最新技術。\n目前原神(v4.1.0)在下載遊戲資料仍會隨機閃退，需要慢慢重試等待下載完成。不過資料一旦下載好後就不需要用指令稿啟動了。\nWaydroid以前Android 10的映像檔沒有穩定的ARM轉譯器可用。為此自行安裝Android 11測試版映像檔+libhoudini，並測試能否執行原神(ARM64-v8a架構)這類大型遊戲。\n需要使用支援Wayland的桌面環境(或者在X11下用Weston跑)，另外Waydroid不支援Nvidia顯示卡，所以我用Intel內顯UHD 630測試。\n影片操作示例：\n如果之前已經有安裝過Android 10的舊版Waydroid，建議先將其完全移除再來嘗試。\n另外，你可以加入Waydroid的Telegram群組與開發者聯絡。\n1. 設定Waydroid # 到Sourceforge下載Waydroid最新版映像檔，例如我下載的是lineage-18.1-20221030-MAINLINE-waydroid_x86_64-vendor.zip和lineage-18.1-20221030-GAPPS-waydroid_x86_64-system.zip\n","title":"在Linux玩原神Android版 ~ Waydroid安裝Android 11測試版映像檔","type":"posts"},{"content":"因為有在微星Modern 15筆記型電腦跑QEMU/KVM虛擬機的需求，因此將8GB RAM的筆電做小小升級，加裝8GB RAM。\n看了類似機型的拆機教學影片後，在此紀錄第一次換筆電記憶體的過程。\n首先確認這個記憶體的頻率，挑選一樣2666頻率的。品牌不同沒關係，但一定要是筆電專用的SDIMM。最後選了個便宜的Kingston購買。 接著要拆開筆電。看來要整個背板都拆下來，以前看過Asus筆電有在升級區域獨立劃一個蓋子出來，MSI卻是整塊拆卸哪。10個螺絲旋轉下來記得要收好，不然會被地板小精靈吃掉的。 通常，一個螺絲會藏在原廠的維修封條下，將其戳破便是。 拆掉螺絲，背板卻沒有隨重力掉下來，原來是縫隙都有黏點膠水。因此要拿出拆手機的工具，從機殼邊角的縫隙插入，將背板扳開。第一次技術不好，難免會刮傷金屬殼\u0026hellip; 背板原來是這樣，有貼一些協助散熱的片子。 再來是主機板的部份，將風扇灰塵清一清之後，定位到安裝RAM的位置，果然有預留一個空位。同樣左邊的NVME也有預留升級空間。 SDIMM記憶體要怎麼安裝呢。有分長短因此不太會插錯吧。因為第二個插槽跟下方電池很接近，所以一開始要這樣斜著插入金手指。 接著輕輕往下扳，旁邊的卡扣應該會自己展開，接著自己扣上。 這樣就完成了，將螺絲鎖回去吧。換完之後重新開機花了較長時間？或許是在偵測新硬體。總之，Arch Linux成功偵測到了目前有16GB記憶體。 ","date":"2022年10月30日","externalUrl":null,"permalink":"/posts/msi-modern15-upgrade-ram/","section":"所有文章","summary":"因為有在微星Modern 15筆記型電腦跑QEMU/KVM虛擬機的需求，因此將8GB RAM的筆電做小小升級，加裝8GB RAM。\n看了類似機型的拆機教學影片後，在此紀錄第一次換筆電記憶體的過程。\n首先確認這個記憶體的頻率，挑選一樣2666頻率的。品牌不同沒關係，但一定要是筆電專用的SDIMM。最後選了個便宜的Kingston購買。 接著要拆開筆電。看來要整個背板都拆下來，以前看過Asus筆電有在升級區域獨立劃一個蓋子出來，MSI卻是整塊拆卸哪。10個螺絲旋轉下來記得要收好，不然會被地板小精靈吃掉的。 通常，一個螺絲會藏在原廠的維修封條下，將其戳破便是。 拆掉螺絲，背板卻沒有隨重力掉下來，原來是縫隙都有黏點膠水。因此要拿出拆手機的工具，從機殼邊角的縫隙插入，將背板扳開。第一次技術不好，難免會刮傷金屬殼… 背板原來是這樣，有貼一些協助散熱的片子。 再來是主機板的部份，將風扇灰塵清一清之後，定位到安裝RAM的位置，果然有預留一個空位。同樣左邊的NVME也有預留升級空間。 SDIMM記憶體要怎麼安裝呢。有分長短因此不太會插錯吧。因為第二個插槽跟下方電池很接近，所以一開始要這樣斜著插入金手指。 ","title":"自行給MSI Modern 15筆電加裝RAM記憶體","type":"posts"},{"content":"QEMU是很好用的模擬器/虛擬機軟體，可以利用Linux的KVM核心模組高效率執行虛擬機。常用的QEMU管理前端有Virt Manager，還有配套管理工具Libvirt。\nQEMU靈活性高，可以模擬異質架構，還可以設定GPU Passthrough，提升虛擬機性能。所以很適合用來裝其他Linux發行版或Windows系統。 1. 確認電腦虛擬化與KVM支援狀況 # 在BIOS中啟用CPU的虛擬化支援。\n輸入以下指令查看CPU是否已開啟虛擬化，Intel應該會輸出Vt-x (vmx)，AMD則是AMD-V (svm)。\nsudo grep --color -E \u0026#34;vmx|svm\u0026#34; /proc/cpuinfo 檢查KVM核心模組是否有載入 sudo lsmod | grep kvm 2. 安裝QMEU和Virt Manager # 安裝QEMU、Libvirt、libguestfs、IPtables、virglrenderer，全部Enter使用預設值： sudo pacman -S archlinux-keyring qemu-full virt-manager virt-viewer edk2-ovmf dnsmasq vde2 bridge-utils openbsd-netcat libguestfs ebtables iptables virglrenderer 安裝好之後，設定開機啟動Libvirtd的系統服務，以及開機自動啟用NAT網路卡： sudo systemctl enable --now libvirtd sudo virsh net-start default sudo virsh net-autostart default 如果你的電腦不支援TPM 2.0，但需要軟體模擬，請安裝Software TPM emulator ： sudo pacman -S swtpm 3. 調整KVM的權限 # 將自己加入libvirt和KVM群組，這樣不用root也能啟動QEMU/KVM虛擬機。 sudo usermod -a -G libvirt $USER sudo usermod -a -G libvirt root sudo usermod -a -G kvm $USER sudo usermod -a -G kvm root 編輯/etc/polkit-1/rules.d/50-libvirt.rules，讓KVM群組的用戶也可以管理Libvirt服務： /* Allow users in kvm group to manage the libvirt daemon without authentication */ polkit.addRule(function(action, subject) { if (action.id == \u0026#34;org.libvirt.unix.manage\u0026#34; \u0026amp;\u0026amp; subject.isInGroup(\u0026#34;kvm\u0026#34;)) { return polkit.Result.YES; } }); 重新啟動服務 sudo systemctl restart libvirtd 這樣就可以開始安裝Ubuntu或Windows虛擬機了。 4. Virt Manager實用技巧 # Virt Manager預設建立的網路是NAT模式，有需要的話得手動調整為橋接模式。\nSpice Guest Tools能讓虛擬機與實體機共用剪貼簿，虛擬機也會自動隨著虛擬機視窗大小縮放解析度。\n如果想要與虛擬機共享資料夾，可考慮用virtio-fs掛載本機Linux的目錄。\n部份系統的虛擬機可以透過virglrenderer達成3D硬體加速。\n你可以透過「GPU Passthrough」，將Linux的顯示卡直通給虛擬機，使其能執行3D應用程式、跑AI計算、玩遊戲。具體作法參見在Windows虛擬機玩遊戲\n參考資料 # QEMU - ArchWiki Libvirt - ArchWiki ","date":"2022年10月28日","externalUrl":null,"permalink":"/posts/archlinux-qemu-virt-manager/","section":"所有文章","summary":"QEMU是很好用的模擬器/虛擬機軟體，可以利用Linux的KVM核心模組高效率執行虛擬機。常用的QEMU管理前端有Virt Manager，還有配套管理工具Libvirt。\nQEMU靈活性高，可以模擬異質架構，還可以設定GPU Passthrough，提升虛擬機性能。所以很適合用來裝其他Linux發行版或Windows系統。 1. 確認電腦虛擬化與KVM支援狀況 # 在BIOS中啟用CPU的虛擬化支援。\n輸入以下指令查看CPU是否已開啟虛擬化，Intel應該會輸出Vt-x (vmx)，AMD則是AMD-V (svm)。\nsudo grep --color -E \"vmx|svm\" /proc/cpuinfo 檢查KVM核心模組是否有載入 sudo lsmod | grep kvm 2. 安裝QMEU和Virt Manager # 安裝QEMU、Libvirt、libguestfs、IPtables、virglrenderer，全部Enter使用預設值： sudo pacman -S archlinux-keyring qemu-full virt-manager virt-viewer edk2-ovmf dnsmasq vde2 bridge-utils openbsd-netcat libguestfs ebtables iptables virglrenderer 安裝好之後，設定開機啟動Libvirtd的系統服務，以及開機自動啟用NAT網路卡： sudo systemctl enable --now libvirtd sudo virsh net-start default sudo virsh net-autostart default 如果你的電腦不支援TPM 2.0，但需要軟體模擬，請安裝Software TPM emulator ： sudo pacman -S swtpm 3. 調整KVM的權限 # 將自己加入libvirt和KVM群組，這樣不用root也能啟動QEMU/KVM虛擬機。 sudo usermod -a -G libvirt $USER sudo usermod -a -G libvirt root sudo usermod -a -G kvm $USER sudo usermod -a -G kvm root 編輯/etc/polkit-1/rules.d/50-libvirt.rules，讓KVM群組的用戶也可以管理Libvirt服務： /* Allow users in kvm group to manage the libvirt daemon without authentication */ polkit.addRule(function(action, subject) { if (action.id == \"org.libvirt.unix.manage\" \u0026\u0026 subject.isInGroup(\"kvm\")) { return polkit.Result.YES; } }); 重新啟動服務 sudo systemctl restart libvirtd 這樣就可以開始安裝Ubuntu或Windows虛擬機了。 4. Virt Manager實用技巧 # Virt Manager預設建立的網路是NAT模式，有需要的話得手動調整為橋接模式。\n","title":"在Arch Linux上安裝QEMU/KVM和Virt Manager虛擬機軟體","type":"posts"},{"content":"🇺🇸 English version\n註解：Android-x86的版本有點太老了，而且沒怎麼在更新了，建議您可以試試改進版的BlissOS。\n要在Linux電腦執行Android APP，並要轉譯ARM、支援GPU加速，我在Linux的Android模擬器有過討論。\n本文要介紹設定Android-x86虛擬機的作法。 若設定的當的話，效能會比Google官方的Android模擬器要好。虛擬機軟體當然是挑靈活性高的QEMU/KVM用，那首先要解決二個問題。\n一是3D效能。QEMU預設的QXL顯示卡只有讓3D應用程式勉強能跑起來的程度，要使用VirGL(virtual OpenGL renderer)或直通顯示卡，虛擬機的3D效能才會獲得大幅改進，如下圖FPS對比。 因為直通顯示卡過於麻煩，本文採用VirGL，而VirGL需要QEMU本身支援。\n二是轉譯ARM應用程式的問題。Android-x86的ARM轉譯器\u0026quot;libhoudini\u0026quot;要自行下載，但這不是什麼難事。\n接下來，讓我們看看如何在Linux安裝Android-x86虛擬機，再達成GPU硬體加速和ARM轉譯。\n1. 系統資訊 # 因為Nvidia顯示卡520.56.06版的專有驅動不支援VirGL，所以我是用電腦的內顯測試。\n作業系統：GNU/Linux CPU：Intel i5-7400 GPU：Intel® UHD Graphics 630 Android-x86版本：9.0-r2 QEMU版本：7.1.0 virglrender版本：0.10.1 2. 需要的軟體 # 這些軟體都能夠透過套件管理員安裝，Ubuntu請看這裡，Arch Linux看這邊，Gentoo看這邊。\nQEMU Llibvirt Virt Manager 確認CPU已經啟用虛擬化，用指令grep --color vmx /proc/cpuinfo查看。\n確認已啟用KVM核心模組，用指令lsmod | grep kvm查看。\n在Android-x86的選擇上，本文採用的是穩定的Android-x86 9.0，僅支援32位元ARM APP。不過市面上還有開發較快的BlissOS，目前最新版Android 11.0，已支援64位元ARM APP。\n3. 開始安裝Android-x86虛擬機 # P.S. 如果不想用圖形界面安裝，或是啟用VirGL後開機有問題，請跳到5.3. Android-x86多開虛擬機了解如何用QEMU指令開機。\n至Android-x86官網下載64位元，Android 9.0-r2的ISO。 開啟Virt Manager，點選編輯→偏好設定，勾選啟用XML編輯： 點選左上角新增虛擬機，點選手動安裝。 安裝系統選Android-x86 9.0： 記憶體至少給4GB、CPU至少雙核心。 建立64GB的虛擬硬碟。QCOW2硬碟檔案不會一次佔用64GB，而是慢慢吃滿。 勾選在安裝前自訂配置 點選左邊的系統概覽，晶片組選Q35，韌體選UEFI x64 OVMF_CODE。 點選左邊的IDE磁碟，切換成SATA 點選左邊的顯示協議，將監聽類型設定為無，勾選OpenGL，選擇Intel的顯示卡 點選左邊的顯示卡，選擇Virtio，並勾選3D加速。這裡的3D加速是使用VirGL達成的，參見Linux透過virtio-gpu virglrenderer給QEMU/KVM虛擬機3D加速。 點選左下角新增硬體，加入CDROM，按選擇自訂儲存，選取Android-x86的ISO 點選左邊的開機選項，設定開機順序為CDROM優先\n點選左上角開始安裝，開機進入Android後用鍵盤上下鍵移動到Installation後按Enter。 選取Create/Modify partitions，按Enter 選取Yes使用GPT 這個步驟要分割硬碟，首先建立EFI分區。用鍵盤左右鍵移動到[New]，按Enter。 First Sector按Enter，Size輸入+512M 輸入ef00將分區類型設為EFI，並輸入EFI作為分區名稱。 接著鍵盤上下鍵移動到最下面的選項，選取[New]，接著3次Enter。 給該分區取名為Android 確認分區表無誤之後，左右鍵移動到[Write]寫入變更，輸入yes，然後移動到[Quit]退出。 選取vda2 選取格式化成Ext4，之後選取Yes。提示：如果硬碟已裝有舊版本Android-x86，未來可直接安裝新版本Android-x86進行更新，不用重新格式化。 選取Yes安裝EFI GRUB 將EFI分區格式化 選取Yes，避免將system分區設為唯讀 安裝好按Virt Manager上方的強制關機，再按燈泡圖示，到硬體選單移除CDROM。 將虛擬機重開機，開始設定Android系統。設定時要連線到VirtWifi這個虛擬Wifi。 進入桌面後開啟Android-x86的「模擬終端」APP，輸入su，取得root權限： 接著輸入dmesg | grep virgl，應該會看到VirGL已經載入的訊息，代表GPU加速正常。 到這邊Android-x86安裝完成，不過還只能執行x86架構的應用程式而已，請接著看如何安裝ARM轉譯器。\n4. 安裝ARM轉譯器libhoudini # Android-x86安裝APP盡量找x86_64或者universal的APK，這樣比較穩定，例如在ApkMirror下載APK的時候可得知該APP的架構。Google Play在下載APP的時候，也會自動判定支援Android-x86系統的APP。\n但是很多APP只有ARM版的，那麼就得安裝libhoudini轉譯器。libhoudini是Intel研發的閉源ARM轉譯技術，Android 9的libhoudini可以在x86_64系統執行含有ARM架構(armv7)函式庫的APK，但是不支援只有ARM64(armv8a)架構的APK。 換句話說，如果該APP只有64位元ARM版，那就無法安裝。\n開啟Android系統設定 → Android-x86設定 → 勾選原生相容模式。 照理說系統應該會自動安裝libhoudini才對，可是這個版本會下載失敗。所以開啟虛擬機的瀏覽器，從Android-x86官網自行下載Android 9.0的libhoudini。\n開啟Android-x86的模擬終端，切換成su\nsu 將libhoudini移動到系統目錄並重新命名 mkdir /data/arm cp /sdcard/Download/houdini.sfs /data/arm/houdini9_y.sfs 啟用Native Bridge，忽視跳出的錯誤訊息，重新開機。 enable_nativebridge 至此，你應該能在Google Play下載原本顯示「不相容」的ARM架構應用程式了，比方說Smash Hit。如果還是不行，就再勾選一次原生相容模式。 5. Android-x86其他使用技巧 # 5.1. 遊戲鍵盤映射 # 遊戲滑鼠點了沒反應？有玩動作遊戲的需求？你可以安装QtScrcpy解决。\nLinux直接下載解壓縮，對QtScrcpy點二下。在右下角ADB連線的位址填寫虛擬機的IP，點選無線連接。虛擬機IP可從Virt Manager編輯硬體→網路卡查看。 在左邊列表對虛擬機名稱按二下，接著就會顯示虛擬機的桌面。 QtScrcpy可以撰寫自訂指令稿來映射按鍵，例如將和平精英的範本稍作修改，便可以用鍵盤玩其他FPS遊戲，下圖為Wings of Steel： 5.2. Android-x86多開虛擬機 # 模擬器「多開」即為同時執行多個虛擬機，以便同時執行二個以上遊戲，或是一個遊戲同時開二個帳號。\n以Virt Manager來說，要多開的話就是複製多個虛擬機，再重複利用就好了。\n將虛擬機關機。在Virt Manager管理界面，點選Android-x86，右鍵複製虛擬機。 如此會複製出第二個虛擬機。此虛擬機會繼承剛剛安裝的一切東西，只要取不同名字就可以了，因此便可開一個虛擬機再啟動另一個。 注意多開需要考慮CPU和遊戲所需性能，建議每個虛擬機至少要給2核CPU和4GB RAM，調低虛擬機螢幕解析度也會有幫助。\n5.3. 用QEMU指令開機 # 不需要使用Virt Manager，也可以直接使用QEMU指令開機安裝。\n對於想使用QEMU命令行的用戶，參照BlissOS的指令用以下腳本啟動Android-x86 (需要sudo)：\n#!/bin/bash ~/qemu-7.1.0/build/qemu-system-x86_64 \\ -enable-kvm \\ -M q35 \\ -m 4096 -smp 4 -cpu host \\ -drive file=/var/lib/libvirt/images/android-x86-9.0.qcow2,if=virtio \\ -usb \\ -device virtio-tablet \\ -device virtio-keyboard \\ -device qemu-xhci,id=xhci \\ -machine vmport=off \\ -device virtio-vga-gl -display gtk,gl=es \\ -net nic,model=virtio-net-pci -net user,hostfwd=tcp::4444-:5555 總結 # 此方法因為是完整系統，對應用程式的支援度較佳。此外Android-x86尚有Bliss OS這類第三方版本，他們有新增大量輔助工具，Android版本也更新。\n參考資料 # QEMU - Gentoo Wiki QEMU - Build instructions On Qemu, some apps ignore my input (9.0-r2) - Google Groups How to Run Android in QEMU to Play 3D Android Games on Linux - Linux Hint How to install libhoudini on a custom Android x86 rig - stackoverlow 如何在虚拟机中运行知乎App - 知乎专栏 ","date":"2022年10月20日","externalUrl":null,"permalink":"/posts/android-x86-virgl-libhoudini/","section":"所有文章","summary":"🇺🇸 English version\n註解：Android-x86的版本有點太老了，而且沒怎麼在更新了，建議您可以試試改進版的BlissOS。\n要在Linux電腦執行Android APP，並要轉譯ARM、支援GPU加速，我在Linux的Android模擬器有過討論。\n本文要介紹設定Android-x86虛擬機的作法。 若設定的當的話，效能會比Google官方的Android模擬器要好。虛擬機軟體當然是挑靈活性高的QEMU/KVM用，那首先要解決二個問題。\n一是3D效能。QEMU預設的QXL顯示卡只有讓3D應用程式勉強能跑起來的程度，要使用VirGL(virtual OpenGL renderer)或直通顯示卡，虛擬機的3D效能才會獲得大幅改進，如下圖FPS對比。 因為直通顯示卡過於麻煩，本文採用VirGL，而VirGL需要QEMU本身支援。\n二是轉譯ARM應用程式的問題。Android-x86的ARM轉譯器\"libhoudini\"要自行下載，但這不是什麼難事。\n接下來，讓我們看看如何在Linux安裝Android-x86虛擬機，再達成GPU硬體加速和ARM轉譯。\n1. 系統資訊 # 因為Nvidia顯示卡520.56.06版的專有驅動不支援VirGL，所以我是用電腦的內顯測試。\n","title":"Android-x86 QEMU虛擬機安裝教學，在Linux上執行手機APP，支援GPU加速的VM","type":"posts"},{"content":"雖然透過Gelbooru這些圖站tag點尋找動漫圖片非常便利，但偶爾還是會到Pixiv找各種癖好的圖，各種奇怪癖好的高品質作品是搬不完的啊。\n但是我不愛為了看某個東西安裝APP，所以多半是用網頁看。以前用Chromium系瀏覽器可點開全圖下載圖片，但是換成Android版Firefox後圖片都是下載失敗。\n根據Github上的討論，一大票人也遇到此問題，似乎跟Firefox的Gecko引擎、以及Pixiv伺服器方面的問題有關。\n這個問題存在許多年了，恐怕最簡單的方式還是換回Chrome了吧。獨立發展的瀏覽器引擎不多了，手機更是被Chromium系統治的天下。\n但如果你是像我一樣，堅持使用Firefox，絕不在手機上安裝第二款瀏覽器的使用者(我把Chrome用ADB給停用了)，那麼還有一個選擇：按照Github用戶的指示，用Termux的url-opener指令稿下載。\n安裝Termux\n在家目錄新增bin目錄\nmkdir $HOME/bin 用nano編輯termux-url-opener： nano $HOME/bin/termux-url-opener 填入以下內容： #!/data/data/com.termux/files/usr/bin/bash if [[ $1 = https://i.pximg.net* ]] then wget --referer https://pixiv.net --directory-prefix ~/storage/shared/Download $1 return_code=$? if [ $return_code -eq 0 ] then echo \u0026#39;Image downloaded!\u0026#39; else echo \u0026#39;Failed to download the image.\u0026#39; \u0026gt;\u0026amp;2 fi else return_code=0 echo \u0026#39;Not a Pixiv image URL.\u0026#39; fi echo \u0026#39;Returning to the previous app.\u0026#39; sleep 1.5 exit $return_code 賦予該指令稿執行權限。 chmod +x $HOME/bin/termux-url-opener 到要下載Pixiv圖片的頁面，點開全圖。作品來源 長按後不要按分享圖片，按「分享連結」。 選擇「Termux」，然後指令稿就會開始下載圖片到手機的Download目錄，之後自動返回Firefox，圖片就下載好了。 ","date":"2022年10月14日","externalUrl":null,"permalink":"/posts/firefox-android-download-pixiv-images/","section":"所有文章","summary":"雖然透過Gelbooru這些圖站tag點尋找動漫圖片非常便利，但偶爾還是會到Pixiv找各種癖好的圖，各種奇怪癖好的高品質作品是搬不完的啊。\n但是我不愛為了看某個東西安裝APP，所以多半是用網頁看。以前用Chromium系瀏覽器可點開全圖下載圖片，但是換成Android版Firefox後圖片都是下載失敗。\n根據Github上的討論，一大票人也遇到此問題，似乎跟Firefox的Gecko引擎、以及Pixiv伺服器方面的問題有關。\n這個問題存在許多年了，恐怕最簡單的方式還是換回Chrome了吧。獨立發展的瀏覽器引擎不多了，手機更是被Chromium系統治的天下。\n但如果你是像我一樣，堅持使用Firefox，絕不在手機上安裝第二款瀏覽器的使用者(我把Chrome用ADB給停用了)，那麼還有一個選擇：按照Github用戶的指示，用Termux的url-opener指令稿下載。\n安裝Termux\n在家目錄新增bin目錄\nmkdir $HOME/bin 用nano編輯termux-url-opener： nano $HOME/bin/termux-url-opener 填入以下內容： #!/data/data/com.termux/files/usr/bin/bash if [[ $1 = https://i.pximg.net* ]] then wget --referer https://pixiv.net --directory-prefix ~/storage/shared/Download $1 return_code=$? if [ $return_code -eq 0 ] then echo 'Image downloaded!' else echo 'Failed to download the image.' \u003e\u00262 fi else return_code=0 echo 'Not a Pixiv image URL.' fi echo 'Returning to the previous app.' sleep 1.5 exit $return_code 賦予該指令稿執行權限。 chmod +x $HOME/bin/termux-url-opener 到要下載Pixiv圖片的頁面，點開全圖。作品來源 長按後不要按分享圖片，按「分享連結」。 選擇「Termux」，然後指令稿就會開始下載圖片到手機的Download目錄，之後自動返回Firefox，圖片就下載好了。 ","title":"Firefox手機版Pixiv圖片下載失敗的解決辦法","type":"posts"},{"content":"自己的權益真的要自己爭取哪。\n在凌晨趕完報告倒頭就睡之後，隔天大白天起來敲掉鬧鐘，發現收到一封簡訊，上面寫著我的名字通知我是確診個案，電話號碼、網址查過也不是詐騙。 瞬間我覺得自己的喉嚨好像開始癢了―雖然後來確認是季節性過敏所致。接著千頭萬緒的想法在腦中交替而過，被教授拷問的時辰可以延遲了嗎\u0026hellip;不對，應該優先考慮的是隻身一人在外縣市要怎麼度過接下來的二個禮拜，因此馬上出門買了儲備糧食和快篩就返回住處。捅完鼻子後，開始填寫單子。\n等待結果的同時，卻越想越奇怪，最近一個月我完全沒有出國、沒有去醫院，難道吃飯的時候被感染？這樣學校應該也會知道啊？並且我的手機安裝microG取代Google Play服務，沒有安裝任何社交距離APP。\n填寫資料註明有打三劑的BNT疫苗，因此收到的是7+7的隔離指南。\n好了，快篩結果出來是陰性，使人更加疑惑，因此抄起電話打去1922問。那邊的人態度很和善，在說明了疑點後，他也感到奇怪，說沒有去驗PCR卻直接收到確診簡訊很詭異，因此叫我去打縣市的衛生所查詢。\n在那之後，衛生所的人說，我家鄉的某間診所把我的名字報上去，才會說我確診。可是那間診所\u0026hellip;別說去過了，在哪裡我根本都不曉得。多謝衛生所的人主動幫我打過去問，這才發現是一場烏龍。 公事公辦，在確認是誤報之後，就說會幫我取消上報的資料。謝過對方之後，恢復自由身。在那煎熬的等待時期，曾經我有一瞬間放棄了一切想哭的理由感覺，幸好沒事。\n關於確診簡訊誤報，在Dcard也有看到類似案例。\n自己的權益真的要自己爭取哪(煙)。就算萬一警察找上門，我應該也可以有理有據的說我是無辜的！！！\n好了\u0026hellip;急忙之下買的快篩和食物，要怎麼辦呢（遠目）\n","date":"2022年10月12日","externalUrl":null,"permalink":"/posts/2022101201/","section":"Personals","summary":"自己的權益真的要自己爭取哪。\n在凌晨趕完報告倒頭就睡之後，隔天大白天起來敲掉鬧鐘，發現收到一封簡訊，上面寫著我的名字通知我是確診個案，電話號碼、網址查過也不是詐騙。 瞬間我覺得自己的喉嚨好像開始癢了―雖然後來確認是季節性過敏所致。接著千頭萬緒的想法在腦中交替而過，被教授拷問的時辰可以延遲了嗎…不對，應該優先考慮的是隻身一人在外縣市要怎麼度過接下來的二個禮拜，因此馬上出門買了儲備糧食和快篩就返回住處。捅完鼻子後，開始填寫單子。\n等待結果的同時，卻越想越奇怪，最近一個月我完全沒有出國、沒有去醫院，難道吃飯的時候被感染？這樣學校應該也會知道啊？並且我的手機安裝microG取代Google Play服務，沒有安裝任何社交距離APP。\n填寫資料註明有打三劑的BNT疫苗，因此收到的是7+7的隔離指南。\n好了，快篩結果出來是陰性，使人更加疑惑，因此抄起電話打去1922問。那邊的人態度很和善，在說明了疑點後，他也感到奇怪，說沒有去驗PCR卻直接收到確診簡訊很詭異，因此叫我去打縣市的衛生所查詢。\n在那之後，衛生所的人說，我家鄉的某間診所把我的名字報上去，才會說我確診。可是那間診所…別說去過了，在哪裡我根本都不曉得。多謝衛生所的人主動幫我打過去問，這才發現是一場烏龍。 ","title":"原來Covid-19的CDC確診簡訊會誤報","type":"personal"},{"content":"🇺🇸 English version\n在給128GB容量的小米Poco F1嘗試過Windows 11 ARM + Android雙重開機之後，我想既然Poco F1還有Mobian、Ubuntu touch、postmarketOS可以刷，那麼要Linux + Android雙重開機也不是難事吧。 我這麼做的原因是要將Linux手機發行版當主力系統用，可Linux下相機仍無法運作，所以還是要安裝Android備用。\n原理是用Renegade Project提供的GNU parted工具把手機UFS切出二個分區，64GB給Android，64GB給Mobian(Linux手機發行版)，再把這二個系統分別刷入指定分區。然後因為有裝TWRP，要開機到哪個系統，就進入TWRP，然後把對應系統的boot.img刷入boot分區就可以開機了。\n這樣相對Windows 11雙重開機要容易實作，不用想辦法搞出支援UEFI的boot.img。而且postmarketOS這個Linux手機發行版支援的手機要比Windows 11要來的多，很多手機也有TWRP支援，因此 本文的教學應該可以應用在其他Android手機上。 更重要的是，Linux遠比Windows要自由許多。\n下面讓我來解釋一下實作過程。\n1. 安裝TWRP # 操作前記得在電腦上安裝Platform tools。\n從TWRP官網下載Poco F1的TWRP，將手機重啟至fastboot，用Fastboot刷入：\nfastboot flash recovery twrp-3.6.2_9-0-beryllium.img 2. 開始分割手機UFS # 從[Renegade Project官網](GNU parted下載parted執行檔。\n將手機重啟至TWRP，連線到電腦。將parted用ADB傳送到手機:\nadb push parted /sdcard adb shell cp /sdcard/parted /sbin/ chmod 755 /sbin/parted 開始分割手機UFS： umount /data umount /sdcard parted /dev/block/sda # 列出手機上的分割表，這支手機應該有21個分區 print # 將Android的分區(userdata) 縮小至64GB resizepart 21 64GB # 新增分區，剩下的容量都給Mobian mkpart mobian ext4 64GB 123GB quit exit 再度重啟至TWRP，接著進入ADB Shell，把剛剛建立的二個分區格式化： adb shell mke2fs -t ext4 /dev/block/by-name/userdata mkfs.ext4 /dev/block/by-name/mobian exit 這樣就可以來安裝Android和Mobian了。\n3. 安裝系統 # 為求輕便，Android系統我使用LineageOS。到官網下載zip。\n手機重啟至TWRP，按Advanced → ADB Sideload，以ADB sideload方式刷入Android，ROM將會安裝至userdata分區。\nadb sideload lineageos.zip 將LineageOS的壓縮檔解壓縮，將裡面的boot.img保存下來，重新命名為android-boot.img\n下載 Mobian weekly builds\n手機重啟至fastboot，刷入Mobian的boot.img\nfastboot -S 100M flash boot mobian-boot.img 接著再刷入Mobian的檔案系統，將會安裝至剛剛新增的mobian分區 fastboot -S 100M flash mobian mobian-rootfs.img fastboot erase dtbo 同樣，Mobian的boot.img要保存下來，並重新命名為mobian-boot.img 4. 雙重開機的步驟 # 手機重啟至TWRP，此時TWRP只會掛載Android的內部儲存空間。將其接到電腦，把二個系統的boot.img以MTP放到Android的內部儲存空間。\n如果要重啟進Android，點選TWRP主界面的Install，點選Install Images，將Android的boot.img刷到boot分區，這樣重開機後就會進入Android。以此類推，Mobian也是同樣原理。\n如果因為Android 12導致TWRP無法解密Android分區，那麼你就得把二個系統的boot.img儲存在SD卡或者電腦上。未來要是Android或Mobian有系統更新，記得也要備份新版本的boot.img。\n5. 總結 # 雖然這個方式不用電腦也可以操作，不過還是有點麻煩，TWRP載入也要時間啊。\n順帶一提，現在Renegade Project已經研發出開機觸控選單，可以選擇要開機進Windows還是Android了，這方面他們的確蠻強的。\n但我仍選擇使用Linux。並且就小米Poco F1而言，因為Ubuntu touch相機正常運作，且有Waydroid，我認為要用Ubuntu touch取代Android是可行的。並且等到未來Mobian/postmarketOS解決最後的相機驅動問題，我就可以只安裝單一系統了，因為他們系統架構比較接近電腦的Linux發行版。\n","date":"2022年10月10日","externalUrl":null,"permalink":"/posts/dual-booting-linux-mobile-and-android/","section":"所有文章","summary":"🇺🇸 English version\n在給128GB容量的小米Poco F1嘗試過Windows 11 ARM + Android雙重開機之後，我想既然Poco F1還有Mobian、Ubuntu touch、postmarketOS可以刷，那麼要Linux + Android雙重開機也不是難事吧。 我這麼做的原因是要將Linux手機發行版當主力系統用，可Linux下相機仍無法運作，所以還是要安裝Android備用。\n原理是用Renegade Project提供的GNU parted工具把手機UFS切出二個分區，64GB給Android，64GB給Mobian(Linux手機發行版)，再把這二個系統分別刷入指定分區。然後因為有裝TWRP，要開機到哪個系統，就進入TWRP，然後把對應系統的boot.img刷入boot分區就可以開機了。\n這樣相對Windows 11雙重開機要容易實作，不用想辦法搞出支援UEFI的boot.img。而且postmarketOS這個Linux手機發行版支援的手機要比Windows 11要來的多，很多手機也有TWRP支援，因此 本文的教學應該可以應用在其他Android手機上。 更重要的是，Linux遠比Windows要自由許多。\n下面讓我來解釋一下實作過程。\n","title":"在小米Poco F1安裝postmarketOS與Android雙系統，達成多重開機","type":"posts"},{"content":" Redditの一篇：有沒有推薦的線上轉檔服務？\n下のredditorの鋭評：ffmpeg、image magick、youtubedl\u0026hellip;\n出どころ不明のオンライン変換サービスを使うくらいなら、これらのオープンソースツールを使って自分のPC上で画像や動画を変換したほうがよい。さらに素晴らしいのは、それらがオープンソースであり、コマンドラインを使えさえすれば（一部はGUIで包装されている）、不自由なOSでよくダウンロードしてしまう、金をむしり取るうえにクローズドソースなソフトウェア群を叩き潰せることだ。さらに、今でも「Format Factory」が便利なものだと思っている人がいるとは？これは世界最大級に人権が低い国が出しているクローズドソースソフトウェアであり、ffmpeg公式サイトからオープンソース協定違反の恥辱柱に釘付けにされているものだ。\n私も新聞を見て初めて知った。便利さに貪欲になると、自分の権益が損なわれる。無料ソフトウェアに潜む罠は、プロプライエタリソフトウェアよりはるかに多い。もしあるGUIソフトウェアの内部にオープンソースライブラリが包まれているなら、そのソフトウェア全体も内部構造を一目で見られるようにすべきだ。多くの場合、Webサイトに投げて変換させるより、自分で数行コマンドを叩いたほうが、結果は出てくる。\nデスクトップ変換ソフトウェアでさえそうなのだから、オンライン変換サービスはどうだろう？\nオンラインMP3変換、オンラインPDF変換、オンラインMP4変換、オンラインコードエディター……正直、これほど多くの便利ツールを見て、クリックして自分が進めているプロジェクトファイルを入れ、第三者に処理させ、素早くファイルを取得する。これは明らかにプライバシー問題を考慮していない。もしそのサイトが単にローカル（Webページ）でデータを計算しているだけではなく、あなたのデータをバックエンドサーバーへ送信して処理していたら？あなたは本当にこれらのオンライン変換サービスを信じられるのか？\n比較的名のある大企業は、EU規制の影響を受け、少なくともプライバシーポリシーを明記し、サイトに入る時に顧客へ通知する。その場合、信頼レベルは公衆が決めることになる。具体的には、Reddit r/PrivacyGuidesのコミュニティなら比較的明確な評価を得られる。もちろん、オープンソースであることが第一考慮だ。\nしかし「変換」と検索すると、より頻繁に目に入るのは広告をびっしり詰めた便利変換サイトだ。背後で何を収集しているかはわからない。まして中国国内で备案登録されているサイトなどなおさらだ。\n自分は重要でないレポート画像を数枚アップロードするだけだから、データは重要ではない、などと絶対に思ってはいけない。\nだから万能変換サイトを見つけたら、必ずまずそのサイト下部のプライバシーポリシー(privacy policy)を読み、オープンソース技術を採用するサービスを優先して選ぶべきだ。さらに、そのサイトの評判をプライバシーコミュニティに相談してから、そこでファイルを処理する。そうでなければ、オフラインのオープンソースソフトウェアで処理する。\n多くのWebサイトは、避けられない場合にはユーザーの信頼レベルを試すことになる。普段使い慣れているサイトも、セキュリティ脆弱性が爆発すれば、信頼に値しないものへ変わる可能性がある。したがって、生活の基盤となるあらゆる基礎サービスに代替案を用意することは重要であり、自分でオープンソースソフトウェアによって解決できる能力も持たなければならない。そうでなければ、肝心な時に牽制される。\n","date":"2022年10月9日","externalUrl":null,"permalink":"/ja-jp/posts/online-converters-privacy-issues/","section":"Foss-Issues","summary":" Redditの一篇：有沒有推薦的線上轉檔服務？\n下のredditorの鋭評：ffmpeg、image magick、youtubedl…\n出どころ不明のオンライン変換サービスを使うくらいなら、これらのオープンソースツールを使って自分のPC上で画像や動画を変換したほうがよい。さらに素晴らしいのは、それらがオープンソースであり、コマンドラインを使えさえすれば（一部はGUIで包装されている）、不自由なOSでよくダウンロードしてしまう、金をむしり取るうえにクローズドソースなソフトウェア群を叩き潰せることだ。さらに、今でも「Format Factory」が便利なものだと思っている人がいるとは？これは世界最大級に人権が低い国が出しているクローズドソースソフトウェアであり、ffmpeg公式サイトからオープンソース協定違反の恥辱柱に釘付けにされているものだ。\n私も新聞を見て初めて知った。便利さに貪欲になると、自分の権益が損なわれる。無料ソフトウェアに潜む罠は、プロプライエタリソフトウェアよりはるかに多い。もしあるGUIソフトウェアの内部にオープンソースライブラリが包まれているなら、そのソフトウェア全体も内部構造を一目で見られるようにすべきだ。多くの場合、Webサイトに投げて変換させるより、自分で数行コマンドを叩いたほうが、結果は出てくる。\n","title":"オンライン変換サービスを気軽に使う時、プライバシー問題を考えたことはあるか？","type":"foss-issues"},{"content":"在接觸Reddit上的一些Degoogle想法之後，我也漸漸的嘗試去Google化，並在本站分享一些實際作法，包括換掉搜尋引擎、把Android手機用microG替代等。\n但實際上，即使我的網站是架在Netlify，還是有啟用Google Analytics做分析的。點開瀏覽器的cookie就會知曉。\n為了讓網站能登上搜尋結果，撰寫技術性文章時會鑽研一下關鍵字和下標方法，在大眾可以接受的用詞和學術論文行文之間取得平衡，這樣才能吸引一些人來Linux和自由軟體的世界。\nGoolge Search Console就是這樣好用的工具，它可以提交網址，加快被Google收錄的機會。在網站有流量之後便會顯示網站的統計報告，了解人們愛搜尋什麼，以及本站點有哪些文章受歡迎。如果結合Google Analytics的話，可以得到更深入的報告，包括閱讀文章的停留時長。\n而這些JavaScript暗中做的事情是在侵犯隱私，卻沒有使用cookie banner明示給讀者－因為太麻煩了，我的網站不是商業網站。\n因此我感到罪惡，違背去Google化和隱私權考量。想要在網路上佔有一席之地，還是得依賴Google帶來的流量(雖然也有在PTT偶爾宣傳就是了)。\n如果在意隱私問題的讀者，請務必使用擴充元件阻擋tracker和封鎖第三方cookie，這是閱讀我的網站所能做的折衷作法。\n未來如果可以，希望是可以轉移到更注重隱私的統計服務，目前這類專案似乎仍在發展中。\n實質上目前我自己仍是擺脫不了 Google搜尋，只是我們有意識到問題的嚴重性，而不是當作理所當然，並設法改善。未來、假如有那樣的競品出現，是要毫不猶豫給予支持的。\n","date":"2022年10月9日","externalUrl":null,"permalink":"/posts/google-ga-on-my-website/","section":"Personals","summary":"在接觸Reddit上的一些Degoogle想法之後，我也漸漸的嘗試去Google化，並在本站分享一些實際作法，包括換掉搜尋引擎、把Android手機用microG替代等。\n但實際上，即使我的網站是架在Netlify，還是有啟用Google Analytics做分析的。點開瀏覽器的cookie就會知曉。\n為了讓網站能登上搜尋結果，撰寫技術性文章時會鑽研一下關鍵字和下標方法，在大眾可以接受的用詞和學術論文行文之間取得平衡，這樣才能吸引一些人來Linux和自由軟體的世界。\nGoolge Search Console就是這樣好用的工具，它可以提交網址，加快被Google收錄的機會。在網站有流量之後便會顯示網站的統計報告，了解人們愛搜尋什麼，以及本站點有哪些文章受歡迎。如果結合Google Analytics的話，可以得到更深入的報告，包括閱讀文章的停留時長。\n而這些JavaScript暗中做的事情是在侵犯隱私，卻沒有使用cookie banner明示給讀者－因為太麻煩了，我的網站不是商業網站。\n因此我感到罪惡，違背去Google化和隱私權考量。想要在網路上佔有一席之地，還是得依賴Google帶來的流量(雖然也有在PTT偶爾宣傳就是了)。\n如果在意隱私問題的讀者，請務必使用擴充元件阻擋tracker和封鎖第三方cookie，這是閱讀我的網站所能做的折衷作法。\n","title":"是的，我的網站有啟用Google Analytics，這是個很大的缺點","type":"personal"},{"content":"之前在Android手機去Google化曾經提到，microG的運作條件是ROM要支援APP簽名偽裝(signature spoofing)，才能取代真正的Google Play服務框架。\nLineageOS這類第三方ROM大部分皆支援此技術，但大部分手機的原廠ROM都是不支援的。所幸Root後可以藉由Magisk和Xposed模組，讓一般手機的ROM也支援簽名偽裝，這樣就可以安裝microG了。\n我的手機是Sony Xperia 5 II，系統版本Android 12，Magisk版本25。\n1. 安裝Magisk和LsPosed # 將手機Root後基本上就是有安裝Magisk了。開啟Magisk設定，勾選啟用zygote支援。\n點選Magisk模組管理，從本機安裝，刷入Zygote版LsPosed模組，重開機。\n2. 安裝FakeGapps模組 # 開啟LsPosed，搜尋whew-inc製作的FakeGApps模組安裝，並且全域啟用。\n然後重開機。\n3. 安裝microG # 直接用APK安裝似乎會失敗，因此我是用Magisk模組microg_installer_revived安裝的。\n刷入此模組重開機，Google Play服務框架就會被取代成microG。開啟microG設定看看簽名破解是否已經啟用： 在那之後把microG的權限給一給，就可以繼續使用Google服務，或者開始去Google化了。即使安裝microG後不登入Google帳戶，也能讓依賴Google Play服務框架的應用程式正常運作，例如Line。\n參考資料 # Signature Spoofing · microg/GmsCore Wiki - GitHub\n","date":"2022年10月8日","externalUrl":null,"permalink":"/posts/microg-signature-spoofing/","section":"所有文章","summary":"之前在Android手機去Google化曾經提到，microG的運作條件是ROM要支援APP簽名偽裝(signature spoofing)，才能取代真正的Google Play服務框架。\nLineageOS這類第三方ROM大部分皆支援此技術，但大部分手機的原廠ROM都是不支援的。所幸Root後可以藉由Magisk和Xposed模組，讓一般手機的ROM也支援簽名偽裝，這樣就可以安裝microG了。\n我的手機是Sony Xperia 5 II，系統版本Android 12，Magisk版本25。\n1. 安裝Magisk和LsPosed # 將手機Root後基本上就是有安裝Magisk了。開啟Magisk設定，勾選啟用zygote支援。\n點選Magisk模組管理，從本機安裝，刷入Zygote版LsPosed模組，重開機。\n2. 安裝FakeGapps模組 # 開啟LsPosed，搜尋whew-inc製作的FakeGApps模組安裝，並且全域啟用。\n然後重開機。\n3. 安裝microG # 直接用APK安裝似乎會失敗，因此我是用Magisk模組microg_installer_revived安裝的。\n刷入此模組重開機，Google Play服務框架就會被取代成microG。開啟microG設定看看簽名破解是否已經啟用： 在那之後把microG的權限給一給，就可以繼續使用Google服務，或者開始去Google化了。即使安裝microG後不登入Google帳戶，也能讓依賴Google Play服務框架的應用程式正常運作，例如Line。\n","title":"Xposed啟用簽名偽裝，讓一般ROM也可以安裝microG","type":"posts"},{"content":"現在購買的Android手機，大部分都會預裝無法解除安裝的原廠APP，俗稱全家桶。除了Google的，還有Samsung/小米/Asus/Sony等各個品牌內建的一堆APP。很多時候只能把他們停用，但有些APP是不給停用的。\n如果執意要「解除安裝」，除了Root外，你還可以嘗試「Universal Android Debloater GUI」，簡稱UAD。這款開源工具的字面意思是「將Android手機瘦身」，本體使用Rust寫成，將ADB指令封裝成圖形界面，只要點一下就能輕鬆移除不給停用的內建的APP。\n1. 手機開啟ADB偵錯模式 # 開啟手機系統設定，點選「關於手機」\n在「版本號碼」連按5下，開啟開發人員選項\n在手機系統設定搜尋「開發人員選項」，點進去勾選「ADB偵錯」。\n2. 安裝Universal Android Debloater GUI # 這款工具是跨平台的，支援Linux/Windows/MacOS。\nLinux用戶需要安裝ADB套件：sudo apt install android-tools\nWindows版已內建ADB。建議為Windows 10以上版本，這樣手機插到電腦才會自動安裝驅動程式。\n至Github，按照你的系統下載對應的zip檔案，Linux下載uad_gui-linux-opengl.tar.gz，Windows下載uad_gui-windows-opengl.exe。 將檔案解壓縮，按二下裡面的執行檔開啟Universal Android Debloater。\n將手機連到電腦，接著在手機上「同意ADB偵錯」。\n3. 支援的手機廠牌列表 # Universal Android Debloated的社群成員針對以下品牌的手機特別調查過，只要插上就會列出可移除的手機內建APP：\nAsus LG Google Fairphone Huawei Motorola Nokia OnePlus Oppo Realme Samsung Sony Tecno Unihertz Vivo/iQOO Xiaomi ZTE 4. 開始移除手機內建APP # 注意：操作之前務必了解該APP的用處再移除。除非已經有準備去Google化的替代方案，否則不要亂刪Google核心服務，手機可能會無法開機。\n開啟界面後會顯示建議移除的APP（紫色文字）。點選APP下面會顯示該APP的用途註解，例如com.android.calendar就是Google日曆。 點選「Uninstall」APP便會解除安裝。不過這裡的APP並不是真的移除了，日後點選「Restore」就可以把APP復原。\n按右上角切換推薦的APP列表，可以看到更多手機上的APP。 移除的APP會直接從系統消失，桌面看不到了。系統設定的應用程式列表會顯示「這位使用者未安裝」。\n其實Universal Android Debloater GUI背後做的事，就是執行pm uninstall -k --user 0的ADB指令解除安裝APP而已。\n4. 總結 # 這個方法並不夠完美，APP可能會在下一次OTA更新後就被裝回來，但這是沒Root能做到的最好結果。\n如果想要擺脫原廠軟體和Google服務，最好的方式還是刷機成乾淨的第三方ROM。\n","date":"2022年10月8日","externalUrl":null,"permalink":"/posts/universal-android-debloater/","section":"所有文章","summary":"現在購買的Android手機，大部分都會預裝無法解除安裝的原廠APP，俗稱全家桶。除了Google的，還有Samsung/小米/Asus/Sony等各個品牌內建的一堆APP。很多時候只能把他們停用，但有些APP是不給停用的。\n如果執意要「解除安裝」，除了Root外，你還可以嘗試「Universal Android Debloater GUI」，簡稱UAD。這款開源工具的字面意思是「將Android手機瘦身」，本體使用Rust寫成，將ADB指令封裝成圖形界面，只要點一下就能輕鬆移除不給停用的內建的APP。\n1. 手機開啟ADB偵錯模式 # 開啟手機系統設定，點選「關於手機」\n在「版本號碼」連按5下，開啟開發人員選項\n在手機系統設定搜尋「開發人員選項」，點進去勾選「ADB偵錯」。\n2. 安裝Universal Android Debloater GUI # 這款工具是跨平台的，支援Linux/Windows/MacOS。\nLinux用戶需要安裝ADB套件：sudo apt install android-tools\nWindows版已內建ADB。建議為Windows 10以上版本，這樣手機插到電腦才會自動安裝驅動程式。\n至Github，按照你的系統下載對應的zip檔案，Linux下載uad_gui-linux-opengl.tar.gz，Windows下載uad_gui-windows-opengl.exe。 將檔案解壓縮，按二下裡面的執行檔開啟Universal Android Debloater。\n","title":"不只停用，教你免Root刪除Android手機內建APP: Universal Android Debloater GUI","type":"posts"},{"content":"Convert OpenRC Gentoo to Systemd Gentoo.\n動機是KDE的Sytem Monitor不支援查看個別App的使用率，經查發現相關功能只支援Systemd所致。 並且我想安裝Snap套件來補Flatpak的不足，這個也依賴Systemd。可見Systemd已成為主流，從系統服務到應用程式，有越來越多APP會優先依賴systemd，故將Gentoo的init系统從OpenRC轉成Systemd以適應未來變化。\n因為嫌麻煩，下面的過程不重新安裝系統，直接將現有的Gentoo從OpenRC轉換為Systemd。\n1. 行前準備 # 首先更新系統至最新狀態\nsudo emerge-webrsync sudo emerge -avuND world sudo etc-update sudo emerge --depclean 再來準備一個Gentoo的LiveUSB以防萬一。\n不過其實無法開機時，我是用Arch Linux的開機USB下去救的，arch-chroot真好用。\n2. 安裝與設定Systemd # Gentoo會在安裝Systemd之後自動刪除OpenRC。\n將目前OpenRC開機自動啟動的服務存成檔案，供日後參考 sudo rc-update -v show \u0026gt;\u0026gt; ~/services.txt 因為我的核心使用的是官方預先編譯的sys-kernel/gentoo-kernel-bin，因此不用作任何調整。\n在/etc/portage/make.conf的Global USE加入systemd，這樣等一下systemd會自動被拉進來。\nGentoo目前的profile為KDE(openRC)，將profile切換成KDE(systemd)：\nsudo eselect profile list sudo eselect profile set 10 開始emerge sudo emerge -avuND world 設定Machine ID，第一個指令會詢問keymap和hostname，按需填寫。接著設定基本開機服務。 sudo systemd-firstboot --prompt --setup-machine-id sudo systemctl preset-all 設定語言 sudo echo \u0026#34;zh_TW.UTF-8\u0026#34; \u0026gt;\u0026gt; /etc/locale.conf sudo localectl set-locale LANG=zh_TW.UTF-8 啟用自動校時，設定時區 sudo timedatectl set-ntp true sudo timedatectl set-timezone Asia/Taipei 編輯/etc/pulse/client.conf，設定自動啟動PulseAudio autospawn = yes 參照剛剛儲存的OpenRC服務列表，重新設定開機後要啟動的服務，例如網路和桌面環境(顯示管理器)： sudo systemctl enable NetworkManager sudo systemctl enable iwd sudo systemctl enable sddm sudo systemctl enable sshd 編輯/etc/default/grub，將GRUB_CMDLINE_LINUX=\u0026quot;init=/usr/lib/systemd/systemd\u0026quot;取消註解。\n更新GRUB設定\nsudo grub-mkconfig -o /boot/grub/grub.cfg 重開機確認可以進入桌面後，將openRC正式移除。 sudo emerge --depclean 3. 總結 # 這是轉換前。 這是轉換後，套件多了一些，但系統啟動時間並無太多變化。 現在可以利用Systemd提供的現代化功能了。KDE System Monitor也可以查看個別App的使用率了。 參考資料 # systemd - Gentoo Wiki Migrate to systemd on Gentoo - Nerd\u0026rsquo;s Thought ","date":"2022年10月6日","externalUrl":null,"permalink":"/posts/gentoo-convert-openrc-to-systemd/","section":"所有文章","summary":"Convert OpenRC Gentoo to Systemd Gentoo.\n動機是KDE的Sytem Monitor不支援查看個別App的使用率，經查發現相關功能只支援Systemd所致。 並且我想安裝Snap套件來補Flatpak的不足，這個也依賴Systemd。可見Systemd已成為主流，從系統服務到應用程式，有越來越多APP會優先依賴systemd，故將Gentoo的init系统從OpenRC轉成Systemd以適應未來變化。\n因為嫌麻煩，下面的過程不重新安裝系統，直接將現有的Gentoo從OpenRC轉換為Systemd。\n1. 行前準備 # 首先更新系統至最新狀態\nsudo emerge-webrsync sudo emerge -avuND world sudo etc-update sudo emerge --depclean 再來準備一個Gentoo的LiveUSB以防萬一。\n不過其實無法開機時，我是用Arch Linux的開機USB下去救的，arch-chroot真好用。\n2. 安裝與設定Systemd # Gentoo會在安裝Systemd之後自動刪除OpenRC。\n將目前OpenRC開機自動啟動的服務存成檔案，供日後參考 sudo rc-update -v show \u003e\u003e ~/services.txt 因為我的核心使用的是官方預先編譯的sys-kernel/gentoo-kernel-bin，因此不用作任何調整。\n","title":"將Gentoo從OpenRC轉換至Systemd，不重新安裝系統","type":"posts"},{"content":"使用Gentoo Overlay的理由是想要最新版的Fcitx5和新酷音輸入法，對Wayland和Flatpak支援度較佳，官方軟體庫的新酷音實在太舊了。\nArch Linux有方便的AUR可以安裝非官方維護的軟體，那Gentoo有沒有呢？這種技術在Gentoo稱作Overlay。我們可以加入第三方經營的軟體庫(repository)，從中編譯安裝，藉此取得最新版的軟體。\n那麼他們有什麼不一樣？Arch Linux的官方軟體庫是用pacman安裝預先編譯好的軟體，AUR則是按照PKGBUILD的檔案自動編譯軟體。而Gentoo本來就是讓Portage按照ebuild編譯軟體，使用Overlay也只是取得第三方維護的ebuild再編譯安裝罷了。\n1. 安裝eselect-repository # 如同yay之於AUR，Overlay也要一個類似套件管理員的東西。現在Gentoo Wiki推薦使用eselect-repository，因此先emerge：\nsudo emerge --ask app-eselect/eselect-repository 安裝之後，設定檔會儲存在/etc/eselect/repository.conf。\n2. 選擇要加入的ebuild軟體庫 # 可在Gentoo官網瀏覽已註冊的軟體庫列表，Zugaina.org則是能在各個軟體庫中搜尋有沒有你要的套件。\n使用此指令查看Gentoo官網的軟體庫： eselect repository list 我使用的是gentoo-zh，裡面有最新版新酷音輸入法。將gentoo-zh軟體庫啟用： sudo eselect repository enable gentoo-zh 啟用之後，使用Portage的emaint同步軟體庫： sudo emaint sync -r gentoo-zh 如果不喜歡，也可以將軟體庫移除： # 停用軟體庫並保留套件 sudo eselect repository disable gentoo-zh # 移除軟體庫並刪除套件 sudo eselect repository remove gentoo-zh 3. 從Gentoo Overlay安裝或移除軟體 # 啟用Overlay之後就直接用Portage搜尋和安裝軟體。\n使用 emerge -s fcitx5-chewing搜尋fcitx-chewing套件。畫面會顯示目前安裝的版本，還有軟體庫上的新版本。 跟從官方軟體庫安裝軟體一樣，USE的FLAG同樣能事先於/etc/portage/package.use指定。\n因為之前有裝過Fcitx5，此次是升級，所以先把舊版Fcitx移除，舊版設定檔~/.config/fcitx*可保留。\nsudo emerge --deselect app-i18n/fcitx app-i18n/fcitx-chewing app-i18n/kcm-fcitx sudo -avuND world sudo emerge --depclean 接著安裝Fcitx5和新酷音，安裝時可能要手動刪除衝突的檔案。 sudo emerge --ask fcitx-meta x11-themes/fcitx5-breeze app-i18n/fcitx-chewing 原本的Fcitx5的IM_MODULE環境變數是寫在.xprfoile，用Wayland後改寫到/etc/environment。\n重開機，新酷音新舊版的差距可以說非常大呢。終於Flatpak版的GIMP可以打中文了。 ","date":"2022年9月28日","externalUrl":null,"permalink":"/posts/gentoo-overlay-setup/","section":"所有文章","summary":"使用Gentoo Overlay的理由是想要最新版的Fcitx5和新酷音輸入法，對Wayland和Flatpak支援度較佳，官方軟體庫的新酷音實在太舊了。\nArch Linux有方便的AUR可以安裝非官方維護的軟體，那Gentoo有沒有呢？這種技術在Gentoo稱作Overlay。我們可以加入第三方經營的軟體庫(repository)，從中編譯安裝，藉此取得最新版的軟體。\n那麼他們有什麼不一樣？Arch Linux的官方軟體庫是用pacman安裝預先編譯好的軟體，AUR則是按照PKGBUILD的檔案自動編譯軟體。而Gentoo本來就是讓Portage按照ebuild編譯軟體，使用Overlay也只是取得第三方維護的ebuild再編譯安裝罷了。\n1. 安裝eselect-repository # 如同yay之於AUR，Overlay也要一個類似套件管理員的東西。現在Gentoo Wiki推薦使用eselect-repository，因此先emerge：\nsudo emerge --ask app-eselect/eselect-repository 安裝之後，設定檔會儲存在/etc/eselect/repository.conf。\n2. 選擇要加入的ebuild軟體庫 # 可在Gentoo官網瀏覽已註冊的軟體庫列表，Zugaina.org則是能在各個軟體庫中搜尋有沒有你要的套件。\n","title":"Gentoo設定Overlay，從第三方軟體庫安裝最新版Fcitx5中文輸入法","type":"posts"},{"content":" TermuxでProot Linuxディストリビューションをインストールし、RealVNC Viewerでシステムへログインすると、数秒もしないうちにThe connection closed unexpectedlyという警告が出ることがあります。\n続いてTermuxに戻ると、端末に[Process completed (signal 9) - press Enter]というエラーが表示されています。TermuxのプロセスがAndroidシステムに停止されたということですが、スマホのRAMはまだ十分残っているはずなのに？\nこの問題はAndroid 12で導入された新しい仕組みに由来します。以下では原因を簡単に説明し、一時的な解決方法を紹介します。\n1. Termuxでsignal 9エラーが発生する原因 # agnostic-apolloはPhantom, Cached And Empty Processesの記事で、Android 12に導入された新しい仕組みを詳しく説明しています。Androidシステムはアプリがforkした子プロセスを監視し、子プロセスが32個以上になるとそれらを終了させ、CPUリソースの過剰な占有を防ぎます。\nこの仕組みは\u0026quot;Phantom Processes Killing\u0026quot;と呼ばれています。開発者がいちばん見たくない状況なので、影のプロセスキラーという名前が付いたわけです。\n開発者からの要望を受け、GoogleはAndroid 12LおよびAndroid 13以降にPhantom Processes Killingを無効化するオプションsettings_enable_monitor_phantom_procsを追加しました。ただし、ユーザーはADBコマンドで手動で無効化する必要があります。つまりこれはGoogle Android側の問題であり、Termux開発者はまだ正式な解決策を見つけていません。以下のコマンドで無効化する方法はagnostic-apolloが提示したものです。\nTermuxの場合、Phantom Processes Killingによって、Termuxでコマンドを実行している最中にシステムからランダムに停止されることがあります。Proot distroでGUI環境を動かすとなれば、当然さらに多くの子プロセスが作られます。特にバックグラウンドへ切り替えてVNC Viewerで接続しようとすると、スマホのRAM容量に関係なくPhantom Processes Killingが発動します。その後Termuxに戻ると、[Process completed (signal 9) - press Enter]というエラーメッセージが表示されます。\n2. Termuxのsignal 9エラーを解決する # Termuxが落ちる問題を解決するには、コマンドを実行してPhantom Processes Killingを無効化します。ただし、一部アプリのバックグラウンドプロセスも制御されなくなる可能性があります。\nほとんどのAndroidスマホにはGoogle Playサービスフレームワークが入っています。GMSは不定期にデバイス設定を上書きするため、これもあわせて無効化する必要があります。ただしGMSの上書きを止めると、スマホがブートループする可能性があります。自己責任で行ってください。\n動画版チュートリアル 2.1. スマホにRoot権限がない場合 # Android 14以降：システム設定 → 開発者向けオプション → 「子プロセスの制限を停止」をオフにして、再起動すれば完了です。\nAndroid 14未満の場合は、以下を読んでください。\n以下の手順ではパソコンが必要です。パソコンがない場合は、TermuxでワイヤレスADBデバッグを行う方法を試せます。\nAndroid公式サイトからWindows版のPlatform Toolsをダウンロードし、解凍します。\nplatform_toolsディレクトリに入ると、ADBとFastbootの実行ファイルがあります。ここでSHIFT + 右クリックし、ターミナル（またはPowershell）を開きます。\nスマホでシステム設定 → 端末情報を開き、ビルド番号を5回タップします。その後「開発者向けオプション」を検索して入り、「ADBデバッグ」を有効にします。\nスマホをパソコンに接続し、Windowsのターミナルで以下のコマンドを入力します。スマホ側でデバッグを許可してください。\n./adb devices 続いてAndroidのバージョンに応じて、以下のコマンドを実行します。 # Android 12LおよびAndroid 13以降 ./adb shell \u0026#34;settings put global settings_enable_monitor_phantom_procs false\u0026#34; # Android 12： ./adb shell \u0026#34;/system/bin/device_config set_sync_disabled_for_tests persistent; /system/bin/device_config put activity_manager max_phantom_processes 2147483647\u0026#34; 再起動すれば完了です。 2.2. スマホにRoot権限がある場合 # Termuxを開き、suに切り替えてroot権限を取得します。 su Androidのバージョンに応じてコマンドを実行します。 # Android 12LおよびAndroid 13以降： su -c \u0026#34;settings put global settings_enable_monitor_phantom_procs false\u0026#34; # Android 12： su -c \u0026#34;/system/bin/device_config set_sync_disabled_for_tests persistent; /system/bin/device_config put activity_manager max_phantom_processes 2147483647\u0026#34; 再起動すれば完了です。 ","date":"2022年9月25日","externalUrl":null,"permalink":"/ja-jp/posts/fix-termux-signal9-error/","section":"Termux-Tutorials","summary":" TermuxでProot Linuxディストリビューションをインストールし、RealVNC Viewerでシステムへログインすると、数秒もしないうちにThe connection closed unexpectedlyという警告が出ることがあります。\n続いてTermuxに戻ると、端末に[Process completed (signal 9) - press Enter]というエラーが表示されています。TermuxのプロセスがAndroidシステムに停止されたということですが、スマホのRAMはまだ十分残っているはずなのに？\nこの問題はAndroid 12で導入された新しい仕組みに由来します。以下では原因を簡単に説明し、一時的な解決方法を紹介します。\n1. Termuxでsignal 9エラーが発生する原因 # agnostic-apolloはPhantom, Cached And Empty Processesの記事で、Android 12に導入された新しい仕組みを詳しく説明しています。Androidシステムはアプリがforkした子プロセスを監視し、子プロセスが32個以上になるとそれらを終了させ、CPUリソースの過剰な占有を防ぎます。\nこの仕組みは\"Phantom Processes Killing\"と呼ばれています。開発者がいちばん見たくない状況なので、影のプロセスキラーという名前が付いたわけです。\n","title":"Termuxの [Process completed (signal 9)] エラーで落ちる問題の解決方法","type":"termux-tutorials"},{"content":" 自由なプラットフォームでプロプライエタリソフトウェアを使うこと自体が奇妙なことだ。\nLinuxを試してみたい人はいる。しかし彼らはソフトウェア移行の痛みを経験する。ゲームは大きな要因であり、さらに多いのは、以前の常用ソフトウェアにLinux版がない、またはLinuxの同類製品に慣れていないことだ。そこで彼らはWineをインストールし、変換の方式でWindowsのソフトウェアを動かす。OSを切り替えたのに、エコシステムに慣れず、逆にWineを使いたがる？\nまず強調しておくが、Wine開発チームの努力を貶めるつもりはない。彼らの行動はFSFが言う「プロプライエタリソフトウェアを研究し、それを使って自由ソフトウェアを開発する」という呼びかけに合致している。しかし、ユーザーがLinuxプラットフォームで同類ソフトウェアを探さず/学ばず、ただあらゆる手を尽くしてWineでWindowsソフトウェアを動かし、重要な事務を処理しようとするなら、それこそ理解しがたい点である。\nWine自体はオープンソースであっても、実行するソフトウェアは依然としてクローズドソースである。だから非自由ソフトウェアを実行することは奇妙なだけでなく、不道徳でもある。\n1. ワークフローに適応し直す必要があるため、Wineを使う # Linuxには多くのプロプライエタリソフトウェアの同類ソフトウェアがある。注意して強調したいのは、同類製品であって代替品ではないということだ。LibreOfficeはMicrosoft Officeの同類製品であり、代替品ではないと言うべきだ。代替品という言葉には、負、劣るという意味が含まれるが、LibreOfficeの機能はMicrosoft Officeに劣らない。\nまた画像編集と言えばPhotoshopを思い浮かべるが、機能面で言えばGIMP、Kritaも劣っていない。ただソフトウェアの使い方とワークフローに適応し直す必要があるだけだ。だから彼らがWineで慣れ親しんだPhotoshopを動かすことを選び、GIMPを学ぼうとしないなら、それは習慣と過去の経験による可能性がある。したがって問題はソフトウェアの範疇を超え、エコシステムに適応し直す問題になる。\nしかしそれの何が悪いのか？もともとの先入観を捨て、自分が一つのものに慣れているという現実を受け入れ、新しい観念を学び直すほうがよいのではないか？\n自由なプラットフォーム上では、本来自由なソフトウェアを使うべきだ。プロプライエタリソフトウェアと自由ソフトウェアが水と油の存在ではないとしても、なぜ自由は能動的防御の概念であるべきなのかを以下で説明する。\n2. 理念の問題 # さらに深い理由は、ソフトウェアは自由でなければならないという本質を意識していない人がおり、なおソフトウェアを目的達成のための道具に過ぎないと見なしていることだ。\nこの情景を別の言い方にしてみよう。よい音楽を作ることと、その背後で使っている編集ソフトウェアが自由であることには関係があるのか？論理上、直接の関係はない。ここから分かるように、ここで強調しているのは一種のイデオロギー、一種の理念の問題だ。自由ソフトウェアを使っても問題解決の目的を達成できる保証はない。しかし理念をすべてに先立つ本質と見なすからこそ、ソフトウェアが自由かどうかを最優先の考慮とし、その次に問題を解決できるかどうかを考えるのである。\n理念が問題解決に先立つという前提が出てくるのは、Linux自体が自由であることに帰属すべきだ。GPLの自由は、この理念を能動的に守り、堅持するためのものであり、BSDのように人に好き放題奪わせる類のものではない。ここに至って理念は道徳のレベルの問題へ上昇する。私たちには確かに、他人がどのソフトウェアを使うかを強制的に管理する自由はない。しかしこれは常に呼びかけなければならないことでもある。そうしなければ、それは黙認された現実となり、この行為が奇怪と見なされるまで進む。\nひとたびプロプライエタリソフトウェアだけを使えば、自由ソフトウェアに触れる機会が減る。さらにWineのような一時しのぎを利用すると、人は安逸に慣れやすく、プロプライエタリソフトウェア部分に寛容な心態へ落ちていく。私たちはすでにLinuxカーネルの中へ、あまりに多くのプロプライエタリファームウェアを入れてしまった。利己的なメーカーのハードウェア装置を駆動するためだけに。だから少なくとも一般ユーザーが触れられるデスクトップアプリケーションでは、これ以上このような情景を拡散させてはならない。自由を能動的に守らなければ、理念を堅持することも自分に対してしか有効ではない。\nしたがってLinux上では、必然的に自由ソフトウェアのエコシステムを学んで使い、Wineを使う機会を減らす必要がある。特に主力の生産に使うアプリケーションでは、なおさら自由ソフトウェアを使って操作すべきだ。ゲームに関しては関わる層が広すぎ、性質としては芸術とソフトウェアの混合だと考える人もいる。ひとたびゲームも自由でオープンソースでなければならないと堅持すれば、人生の楽しみを大いに破壊することになる。だからゲームは唯一見逃してよいソフトウェア類別だ。ただし自由なゲームフレームワークプラットフォームがあるなら、当然それも大いに支持すべきである。\n3. 解決方法 # かつてUbuntuを使い始めたばかりの頃、私もWineを愛用していた。しかし今では、簡単な小プログラムでない限りWineは使わない。そうでなければ仮想マシンを開けば、奇妙な環境問題に悩まなくて済む。Linuxの常用ソフトウェアについてはFlathubで検索できる。これらのソフトウェアの多くには詳細な操作マニュアルもあり、しょっちゅう金を払って学ぶ必要はない。あなたは少し頭を使う気さえあればよい。\nWineでWindowsソフトウェアを動かすことは、一時的な応急策だ。私はMarkus Alexej Perssonの言葉を借りてこう言いたい：「一時的にプロプライエタリソフトウェアを使うのは構わないが、羞恥心を抱いてそれを使うべきだ。」\n最終的にはやはり自由でオープンソースの同類ソフトウェアの使い方を学ぶべきだ。そうでなければいっそWindowsへ戻ればいい。手間も省けるし、後ろめたさもない。\n自分にとって、最低ラインは堅持しなければならない。堅持できず負けを認めても構わない。いつか必ずよりよいものが現れるからだ。RMSは、自由ソフトウェアがある機能を欠くことは欠点であって、抑圧ではないと言っている。\n一方で、私たちはプロプライエタリOS、プロプライエタリソフトウェアを使う人にあまり敵意を抱くべきでもない。前向きかつ合理的に他人を励まし、どうしても頑迷な者については、私たちはただ随順するしかない－他人の意に従い逆らわないことを言う—そして相手のために祈る。\n","date":"2022年9月25日","externalUrl":null,"permalink":"/ja-jp/posts/it-is-strange-to-use-wine/","section":"Foss-Issues","summary":" 自由なプラットフォームでプロプライエタリソフトウェアを使うこと自体が奇妙なことだ。\nLinuxを試してみたい人はいる。しかし彼らはソフトウェア移行の痛みを経験する。ゲームは大きな要因であり、さらに多いのは、以前の常用ソフトウェアにLinux版がない、またはLinuxの同類製品に慣れていないことだ。そこで彼らはWineをインストールし、変換の方式でWindowsのソフトウェアを動かす。OSを切り替えたのに、エコシステムに慣れず、逆にWineを使いたがる？\nまず強調しておくが、Wine開発チームの努力を貶めるつもりはない。彼らの行動はFSFが言う「プロプライエタリソフトウェアを研究し、それを使って自由ソフトウェアを開発する」という呼びかけに合致している。しかし、ユーザーがLinuxプラットフォームで同類ソフトウェアを探さず/学ばず、ただあらゆる手を尽くしてWineでWindowsソフトウェアを動かし、重要な事務を処理しようとするなら、それこそ理解しがたい点である。\nWine自体はオープンソースであっても、実行するソフトウェアは依然としてクローズドソースである。だから非自由ソフトウェアを実行することは奇妙なだけでなく、不道徳でもある。\n","title":"Wineを使ってLinux上でWindowsソフトウェアを動かすこと自体が、とても奇妙なことだ","type":"foss-issues"},{"content":"初期化—這個字是在日本店員口中學到的，因為他忘記了「格式化」中文怎講。\n聽聞海德沃福(Hard off)是日本的二手連鎖店，在台南開展第三家店。主要目的是找一台給別人用的堪用筆電，並且確實有挖到寶。原來海德沃夫除了壓馬路以外，竟然真的讓人買了東西。\n跟安平的海德沃福一樣，中華路的店面大致上賣的就是公仔，樂器，家具，唱片，遊戲卡帶，電腦，手機，衣服包包，首飾。更特別的是有電子零件專區，壞掉的電子產品俗稱殺肉零件，放滿整個專櫃。店內跟全聯一樣重複播放Hard off的主題曲\u0026hellip;店內的人潮眾多，跟隔壁的全國電子比起來可真是兩樣情，大眾總愛往明月多處走。\n時代的碎片 # 店內有賣很多二手手機，有舊款iPhone和iPad，還有眾Android機。回到十年前的時代，現在這些手機都沒有什麼用了，Android機或許可以刷機，可是支援32位元的程式又有多少呢。iPad要是蘋果放棄支援，也只會逐漸淪落成電子相框。海德沃福想做環境保護，所以給了他們出現在此的機會。\nAndorid機跟蘋果比起來，他們的價格低落是顯而易見的了，即使是經典的HTC M8也是隨人喊價的程度。意外的是有人居然把Windows 8 Phone拿出來賣，這可是稀有的Lumia！不過大致上除了幾款少數的超值二手iPhone外，這裡果然還是\u0026hellip;\n彷彿店員在對我這樣表示： 找到鍾愛的你 # 走向擺放電腦的櫃子，首先掃了一下二手主機，不意外，雙核心CPU的不要太多，買這個不如買旁邊的PS3然後改裝Linux。轉到筆電櫃，目標沒有太多變化。我看到了Macbook Air 2014，佩服蘋果的品牌價值到現在還能賣8000。i5—仿造蘋果官網故意不寫出具體型號，讓人覺得很ㄅㄧㄤˋ。不過原來是雙核心的i5-4260U。這東西除了很輕很潮、螢幕稍微亮麗點之外毫無用處。\n幸好沒有淪落買過時MacBook裝潮的階段，看向旁邊的Windows筆電，Pentium和Celeron處理器卻配64GB RAM可真是匪夷所思，即使價位都不超過2008年中華民國消費券，買這個裝Linux也不咋的。然後看到了一台因為螢幕有亮點而導致價格崩跌的刀碩筆電，型號應該叫做ASUS VivoBook 15 X542UQ，處理器是i5-8250U，這是前南朝鮮總統被彈劾的那年出的，有一個SSD和HDD，即使是二手應該不至於掉到低階紅米機的價位。看來不錯，因此請求店員從保險櫃拿出來測試。\n直到今天，我才發現海德沃福後台店員有很多日本員工，店長也負責站在收銀台旁邊引導客人，督戰隊的概念是吧。只不過有時候日本店員也需要台灣店員的幫助，才能聽懂客人的問題。\n因為對3C的知識淺薄，所以拿到後台後，也只是當場用跑分軟體測看看性能如何，店員干涉的不太多。這台筆電還有一個充數用的Nvidia獨顯，性能只比Intel內顯好一咪咪。除螢幕顏色NTSC只有45%不太好看外，硬體還行。顏色惡劣的螢幕可以拿以前買的、不知道能幹嘛的NTSC 72%攜帶式螢幕頂替。這台電腦符合堪用的等級了。\n店員是很有禮貌，他們結帳時採取的策略也很聰明，讓台灣人跟日本人組隊，所以購物體驗良好。\n後來的我們 # 回到家裡後就是將這台電腦重新初期化—這個字是在日本店員口中學到的，因為他一時忘記了「格式化」中文怎講。\n這台筆電不是電競機，卻重的跟磚頭似的。原來出廠是只有HDD，前個主人裝了SSD加快速度。如果這台是給我自己用，我鐵定把這個壓艙物給丟了\u0026hellip;但是有總比沒有好吧。此外，RAM只有FAT32單一檔案容量的檔案上限，實在太小了，所以還要網購一條加裝。作業系統維持Windows 10。\n除此之外，這筆電讓人驚豔的地方就是好聽的喇叭。當然這裡講的是相對我自用的MSI Modern 15而言，那筆電可真是聲音渾厚大聲的了。\n總體來說，中華民國5倍券總值多一些價格所買到的這個筆電，買來仍是值得。\n隨著Windows 10更新，這台電腦逐漸不堪重負，後來改裝上Linux復活。\n","date":"2022年9月23日","externalUrl":null,"permalink":"/posts/2022092301/","section":"Unboxings","summary":"初期化—這個字是在日本店員口中學到的，因為他忘記了「格式化」中文怎講。\n聽聞海德沃福(Hard off)是日本的二手連鎖店，在台南開展第三家店。主要目的是找一台給別人用的堪用筆電，並且確實有挖到寶。原來海德沃夫除了壓馬路以外，竟然真的讓人買了東西。\n跟安平的海德沃福一樣，中華路的店面大致上賣的就是公仔，樂器，家具，唱片，遊戲卡帶，電腦，手機，衣服包包，首飾。更特別的是有電子零件專區，壞掉的電子產品俗稱殺肉零件，放滿整個專櫃。店內跟全聯一樣重複播放Hard off的主題曲…店內的人潮眾多，跟隔壁的全國電子比起來可真是兩樣情，大眾總愛往明月多處走。\n時代的碎片 # 店內有賣很多二手手機，有舊款iPhone和iPad，還有眾Android機。回到十年前的時代，現在這些手機都沒有什麼用了，Android機或許可以刷機，可是支援32位元的程式又有多少呢。iPad要是蘋果放棄支援，也只會逐漸淪落成電子相框。海德沃福想做環境保護，所以給了他們出現在此的機會。\nAndorid機跟蘋果比起來，他們的價格低落是顯而易見的了，即使是經典的HTC M8也是隨人喊價的程度。意外的是有人居然把Windows 8 Phone拿出來賣，這可是稀有的Lumia！不過大致上除了幾款少數的超值二手iPhone外，這裡果然還是…\n","title":"台南開了第三家海德沃福，所以買了台超值筆電 ASUS VivoBook 15 X542UQ","type":"unboxing"},{"content":"🇺🇸 English version\n本文討論如何在ARM架構的Linux裝置跑x86架構的Wine，執行Windows exe。\nBox86和Box64是x86 → ARM指令的轉譯器。有了Box86再搭配Wine，就可以執行Windows exe軟體。\n如此一來，Raspberry Pi這類ARM開發板就能玩x86架構的Windows遊戲了，連Steam也能裝。 至於Linux手機也可以執行Box86，比如支援Mobian與Arch Linux ARM系統的PinePhone Pro。\n在Github上有一篇寫給PinePhone Pro的教學：Raezroth/Linux-ARM-Gaming-Chroot。\n雖然我有買PinePhone，但是若要玩遊戲，還是拿性能較強的小米Poco F1出來吧，這支可以刷Mobian。\n影片操作示例 下面的教學是參考Raezroth教學後針對Mobian寫的，手動設定chroot環境，安裝Box86，開啟Steam，轉譯x86版的Proton玩Windows遊戲。\n注意我的桌面環境為Wayland協定的GNOME。\n1. 設定chroot環境 # 首先要建立Debian的chroot容器環境。為什麼不直接在Mobian裝就好了？因為要讓Box86和Box64同時存在，有必要建立隔離的32位元環境。\n安裝以下套件 sudo apt update sudo apt install debootstrap debian-archive-keyring x11-xserver-utils dbus-x11 建立gaming目錄。將擁有者變更為root才能初始化systemd。 mkdir gaming sudo chown root:root gaming 用debootstrap下載Debian系統檔案，選最新版sid，架構為32位元armhf sudo debootstrap --arch armhf --components=main,universe sid gaming http://ftp.tw.debian.org/debian/ 新增startg.sh指令稿，填入以下內容： cd gaming sudo mount -t proc /proc proc/ sudo mount -t sysfs /sys sys/ sudo mount --bind /dev dev/ sudo mount --bind /dev/pts/ dev/pts/ sudo mount --bind /run run/ sudo mount --bind /run/user/1000 run/user/1000 sudo mount -t tmpfs tmpfs tmp/ sudo chroot . /bin/bash # 登出後取消掛載 sudo umount proc/ sudo umount sys/ sudo umount dev/ sudo umount dev/pts sudo umount run/ sudo umount run/user/1000 sudo umount tmp/ 賦予指令稿執行權限然後執行，登入chroot。 chmod + startg.sh ./startg.sh 更新與安裝VIM apt update apt install vim 用VIM編輯/root/.bashrc，加入以下環境變數: export LC_ALL=\u0026#34;C\u0026#34; export LANGUAGE=\u0026#34;C\u0026#34; export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/games:/usr/local/bin:/usr/local/sbin export STEAMOS=1 export STEAM_RUNTIME=1 # 原文提及要執行Steam，此指令每次開機都要執行一次，因此我寫在這裡 chmod 1777 /dev/shm 安裝編譯用的工具 source /root/.bashrc dpkg --add-architecture arm64 apt update apt install sudo vim make cmake git wget gnupg libx11-dev libgl-dev libvulkan-dev libtcmalloc-minimal4 libnm0 zenity chromium alsamixergui libsdl2-dev unzip libgles-dev firefox-esr:arm64 libx11-dev:arm64 libvulkan-dev:arm64 libsdl2-dev:arm64 libgl-dev:arm64 libc6-dev:arm64 libgles-dev:arm64 libsdl2-dev zstd xz-utils 新增一般使用者，加入users群組，變更密碼 adduser --home /home/user user usermod -g users user passwd user passwd root 執行visudo，找到root段加入以下內容，讓使用者擁有sudo權限： root ALL=(ALL:ALL) ALL user ALL=(ALL:ALL) ALL 切換至剛剛建立的使用者 su user cd 在家目錄新增.profile，加入以下環境變數： export SDL_VIDEODRIVER=wayland export WAYLAND_DISPLAY=wayland-1 export GDK_BACKEND=wayland export XDG_SESSION_TYPE=wayland export XDG_RUNTIME_DIR=/run/user/1000 export DISPLAY=:1 export XSOCKET=/tmp/.X11-unix/X1 export _JAVA_AWT_WM_NONREPARENTING=1 2. 安裝Box86/Box64 # Box86現在有事先編譯的deb檔可以安裝了，當然要自行編譯也是可以的。\n加入的Itai-Nelken套件庫並安裝Box86： sudo wget https://itai-nelken.github.io/weekly-box86-debs/debian/box86.list -O /etc/apt/sources.list.d/box86.list wget -qO- https://itai-nelken.github.io/weekly-box86-debs/debian/KEY.gpg | sudo apt-key add - sudo apt update \u0026amp;\u0026amp; sudo apt install box86 -y 加入ryanfortner的套件庫並安裝Box64： sudo wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list wget -O- https://ryanfortner.github.io/box64-debs/KEY.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/box64-debs-archive-keyring.gpg sudo apt update \u0026amp;\u0026amp; sudo apt install box64-arm64 -y 回到宿主機系統(Mobian)，將chroot內部的binfmt複製到宿主機： sudo cp -r ~/gaming/etc/binfmt.d/box* /etc/binfmt.d/ 重新啟動宿主機的binfmt服務。回到chroot內部的終端機。 sudo systemctl restart systemd-binfmt 3. 安裝Steam和Steam Proton # 安裝Steam的依賴套件 xdg-user-dirs-update --force cd ~/Downloads wget http://ftp.debian.org/debian/pool/main/libi/libindicator/libindicator7_0.5.0-4_armhf.deb wget http://ftp.debian.org/debian/pool/main/liba/libappindicator/libappindicator1_0.4.92-7_armhf.deb sudo apt install ./lib* 安裝Steam的deb檔 wget https://repo.steampowered.com/steam/archive/stable/steam_latest.deb sudo apt install ./steam_latest.deb cd 執行Steam steam +open steam://open/minigameslist 登入Steam後，點選左上角Steam設定→Steam Play下載安裝Proton。當啟動Windows遊戲時，Steam會自動下載Proton執行。 雖然Steam可以開啟Big Picture Mode，但這個PinePhone比較有用，因為Poco F1的USB和藍芽不正常。 4. 安裝Wine # Raezroth採用的是wine-tkg，我則是採用Wine-GE-Proton，內含Wine與Wine64。\n安裝Wine: cd ~/Downloads wget https://github.com/GloriousEggroll/wine-ge-custom/releases/download/GE-Proton8-26/wine-lutris-GE-Proton8-26-x86_64.tar.xz tar -xvf wine-lutris-GE-Proton8-26-x86_64.tar.xz mv ~/Downloads/wine-lutris-GE-Proton8-26-x86_64/* ~/wine-ge-proton 將Wine的路徑加入環境變數。 echo \u0026#39;PATH=$PATH:/home/$USER/wine-ge-proton/bin\u0026#39; \u0026gt;\u0026gt; ~/.profile source ~/.profile 5. 測試執行Steam遊戲 # 執行x86架構Windows遊戲：This is a game，正常執行。因為Poco F1不能使用USB，所以使用Gnome Desktop Wayland的RDP遠端桌面功能，從電腦遠端輸入滑鼠鍵盤。 再來是x86架構的Linux遊戲nacrissu，正常執行。 剛剛安裝的Wine也能開普通的exe，例如Notepad++。 6. 結語 # Box86/Box64雖可以在Android安裝，但Android核心缺乏binfmt模組，使得Steam開不起來，並且Android很難達成硬體加速。這是我選擇拿純Linux手機來跑的原因。\n經過測試，Box86/Box64玩3D遊戲問題還是很多，Wine官網寫可以開啟\u0026quot;IL 2 1946\u0026quot;，但Box86卻開不起來，或許跟Wine的版本也有關係。\n","date":"2022年9月18日","externalUrl":null,"permalink":"/posts/linux-phone-box86-steam/","section":"所有文章","summary":"🇺🇸 English version\n本文討論如何在ARM架構的Linux裝置跑x86架構的Wine，執行Windows exe。\nBox86和Box64是x86 → ARM指令的轉譯器。有了Box86再搭配Wine，就可以執行Windows exe軟體。\n如此一來，Raspberry Pi這類ARM開發板就能玩x86架構的Windows遊戲了，連Steam也能裝。 至於Linux手機也可以執行Box86，比如支援Mobian與Arch Linux ARM系統的PinePhone Pro。\n在Github上有一篇寫給PinePhone Pro的教學：Raezroth/Linux-ARM-Gaming-Chroot。\n雖然我有買PinePhone，但是若要玩遊戲，還是拿性能較強的小米Poco F1出來吧，這支可以刷Mobian。\n影片操作示例 下面的教學是參考Raezroth教學後針對Mobian寫的，手動設定chroot環境，安裝Box86，開啟Steam，轉譯x86版的Proton玩Windows遊戲。\n注意我的桌面環境為Wayland協定的GNOME。\n1. 設定chroot環境 # 首先要建立Debian的chroot容器環境。為什麼不直接在Mobian裝就好了？因為要讓Box86和Box64同時存在，有必要建立隔離的32位元環境。\n","title":"用Box86 + chroot在ARM Linux手機玩Steam遊戲","type":"posts"},{"content":"我使用的發行版是Gentoo，fastboot無法刷入Android手機，永遠都卡在那邊，換了另一台Gentoo電腦都有一樣問題，可是以前用Ubuntu不會這樣呀。\n使用fastboot devices、fastboot getvar all指令皆有回傳結果，但到了刷入boot.img的環節，fastboot flash boot就卡在sending boot.img...了！要不然就是unknown command的錯誤，其餘牽涉刷入的操作也是如此。\n在Can not use fastboot on linux - XDA Forums一文中看到使用Arch Linux的用戶也有一樣問題，結果我按照他的建議真的解決了\u0026hellip;welll，以下是我的除錯之路。\n1. 手動建立udev rules # 這個方法無法解決根本問題，但是將手機加入udev rules之後打fastboot就不需要root權限了。\n按照Arch Linux Wiki，在手機進入fastboot後，輸入lsusb應該會看到手機的硬體ID： # VENDOR ID為18d1，PRODUCT ID為d00d Bus 001 Device 103: ID 18d1:d00d Google Inc. Xiaomi Mi/Redmi 2 (fastboot) 編輯規則/etc/udev/rules.d/51-android.rules，輸入以下內容。注意有些手機進入fastboot後VENDOR ID會變化，因此要額外多寫三行。 SUBSYSTEM==\u0026#34;usb\u0026#34;, ATTR{idVendor}==\u0026#34;[VENDOR ID]\u0026#34;, MODE=\u0026#34;0660\u0026#34;, GROUP=\u0026#34;adbusers\u0026#34;, TAG+=\u0026#34;uaccess\u0026#34; SUBSYSTEM==\u0026#34;usb\u0026#34;, ATTR{idVendor}==\u0026#34;[VENDOR ID]\u0026#34;, ATTR{idProduct}==\u0026#34;[PRODUCT ID]\u0026#34;, SYMLINK+=\u0026#34;android_adb\u0026#34; SUBSYSTEM==\u0026#34;usb\u0026#34;, ATTR{idVendor}==\u0026#34;[VENDOR ID]\u0026#34;, ATTR{idProduct}==\u0026#34;[PRODUCT ID]\u0026#34;, SYMLINK+=\u0026#34;android_fastboot\u0026#34; 重新載入udev rules。 sudo udevadm control --reload sudo udevadm trigger 2. 改用Google官方發表的fastboot # 雖然各大發行版有提供ADB和Fastboot的套件，不過還是可以試試Google官方釋出的版本，因為版本不一致可能也會導致錯誤。\n到Android官網下載Linux版的SDK Platform Tools，解壓縮，在該目錄直接執行fastboot：\n./fastboot devices 3. 將手機插到USB擴充埠 # 對，這個就是我解決fastboot偵測不到手機的最終解方。\n電腦的孔都是USB 3.0，我將手機插上USB 2.0的擴充埠(USB hub)，再把它插到電腦上。Voila！fastboot flash指令總算有反應了。 ","date":"2022年9月17日","externalUrl":null,"permalink":"/posts/linux-fix-fastboot/","section":"所有文章","summary":"我使用的發行版是Gentoo，fastboot無法刷入Android手機，永遠都卡在那邊，換了另一台Gentoo電腦都有一樣問題，可是以前用Ubuntu不會這樣呀。\n使用fastboot devices、fastboot getvar all指令皆有回傳結果，但到了刷入boot.img的環節，fastboot flash boot就卡在sending boot.img...了！要不然就是unknown command的錯誤，其餘牽涉刷入的操作也是如此。\n在Can not use fastboot on linux - XDA Forums一文中看到使用Arch Linux的用戶也有一樣問題，結果我按照他的建議真的解決了…welll，以下是我的除錯之路。\n1. 手動建立udev rules # 這個方法無法解決根本問題，但是將手機加入udev rules之後打fastboot就不需要root權限了。\n按照Arch Linux Wiki，在手機進入fastboot後，輸入lsusb應該會看到手機的硬體ID： # VENDOR ID為18d1，PRODUCT ID為d00d Bus 001 Device 103: ID 18d1:d00d Google Inc. Xiaomi Mi/Redmi 2 (fastboot) 編輯規則/etc/udev/rules.d/51-android.rules，輸入以下內容。注意有些手機進入fastboot後VENDOR ID會變化，因此要額外多寫三行。 SUBSYSTEM==\"usb\", ATTR{idVendor}==\"[VENDOR ID]\", MODE=\"0660\", GROUP=\"adbusers\", TAG+=\"uaccess\" SUBSYSTEM==\"usb\", ATTR{idVendor}==\"[VENDOR ID]\", ATTR{idProduct}==\"[PRODUCT ID]\", SYMLINK+=\"android_adb\" SUBSYSTEM==\"usb\", ATTR{idVendor}==\"[VENDOR ID]\", ATTR{idProduct}==\"[PRODUCT ID]\", SYMLINK+=\"android_fastboot\" 重新載入udev rules。 sudo udevadm control --reload sudo udevadm trigger 2. 改用Google官方發表的fastboot # 雖然各大發行版有提供ADB和Fastboot的套件，不過還是可以試試Google官方釋出的版本，因為版本不一致可能也會導致錯誤。\n","title":"Linux系統fastboot偵測不到Android手機的解決辦法","type":"posts"},{"content":" 数年前にロシア企業ElTechsが発表したExagearは、X86命令をARM命令へ変換できる。Wineと組み合わせれば、root不要でスマートフォン上にPC用プログラムを実行できる。（WineはLinux PCでWindows exeを実行できるようにするソフトウェア）\nその後Exagearの技術はHuaweiに買収されたが（関連討論）、Githubではロシア人がTermux Proot版のExagearを公開している。\n主な原理は、Termuxにi686 32ビットのProot Debian環境をインストールし、qemu-user-staticで32ビットx86環境をエミュレートし、Wineで32ビットのWindows exeを実行する、というものだ。\nちなみに、Exagear以外にもオープンソースの競合としてBox86/Box64がある。\n1. Proot Exagearで実行できるプログラムをテストする # ゲームFate/stay night 音楽プレイヤーfoobar2000 テキストエディタNotepad++ 画像ビューアHoneyView Google Chromeポータブル版 2. インストール手順 # スマートフォン：Sony Xperia 5 II、Android 11 必要なAPP：Termux、Real VNC Viewer Termuxを開き、tarとgitをインストールする。 pkg update pkg install tar git Exagear-For-Termuxリポジトリをクローンし、submoduleを追加する。 git clone https://github.com/ZhymabekRoman/Exagear-For-Termux ~/ExaTermux cd ~/ExaTermux git submodule init git submodule update Termux Prootが提供するDebian 10ファイルシステムをダウンロードする（Proot-Exagear開発者はDebian 11版rootfsも出しているが、問題が多い）。 wget https://github.com/termux/proot-distro/releases/download/v1.1-debian-rootfs/debian-buster-i386-2020.12.05.tar.gz # 展開 mkdir exagear-fs/ \u0026amp;\u0026amp; tar -C exagear-fs/ --warning=no-unknown-keyword --delay-directory-restore --preserve-permissions --strip=0 -xvf debian-buster-i386-2020.12.05.tar.gz --exclude=\u0026#39;dev\u0026#39;||: \u0026amp;\u0026amp; cd exagear-fs/ \u0026amp;\u0026amp; mv debian-buster-i386-2020.12.05/* ./ \u0026amp;\u0026amp; rm -rfv debian-buster-i386-2020.12.05/ \u0026amp;\u0026amp; cd ../ スクリプトを使ってシステムへログインする。 chmod +x start-exagear.sh ./start-exagear.sh login --old --shared-tmp これで32ビットのDebian環境が準備できた。まず更新する： apt update apt upgrade APTのインストール時にE: Sub-process /usr/bin/dpkg returned an error code (1)が出た場合は、次を実行する：\ncd /var/lib/dpkg/ mv info info.bk mkdir info apt update apt -f install cd info mv ./* ../info.bk cd .. rm -rf info mv info.bk info cd XFCE4デスクトップ環境とVNCサーバーをインストールする。 apt install sudo vim fonts-noto-cjk xfce* tigervnc* 一般ユーザーivonを追加し、パスワードを変更する。 addgroup wheel users useradd -m -g users -G wheel -s /bin/bash ivon passwd ivon visudoを実行し、VIMでroot ALL=(ALL) ALLの次の行に以下を追加する： ivon ALL=(ALL) ALL WineとWinetricksをインストールする。 wget -nc https://dl.winehq.org/wine-builds/winehq.key apt-key add winehq.key echo \u0026#34;deb https://dl.winehq.org/wine-builds/debian/ buster main\u0026#34; \u0026gt;\u0026gt; /etc/apt/sources.list apt update apt install winehq-staging winetricks zenity -y 続いてPulseAudioを設定する。~/.bashrcに追加する： export PULSE_SERVER=127.0.0.1 左側からスワイプして2つ目の端末を開き、start-exagear.shを編集して先頭に追加する： pulseaudio --start --exit-idle-time=-1 pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 続いて/data/data/com.termux/files/usr/etc/pulse/default.paを編集する： load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 Termuxを再起動してDebianへ再ログインする。vncserverを起動する。初回起動時は6桁のパスワード設定を求められる。 vncserver Real VNC Viewerを開き、接続を追加してlocalhost:1を入力し接続する。\nXFCE右上のアプリケーションからRun Programを押し、winetricks --guiを検索する。実行するとWineが更新され、その後monoをインストールする。およそ5分かかる。 最後に、各種32ビットWindowsプログラムを試せる。ファイルをTermuxの内部ディレクトリへ移動する方法を知りたい場合は、この記事を参照：Access Termux files\n3. まとめ # Box86/Box64 + Wineと比べると、Exagearは32ビットプログラムしか実行できない。しかし少なくとも、Termux自体が64ビットの状態でも32ビット版Debianを直接インストールでき、Termux全体を32ビット版に入れ替える必要はない。\nExagearの唯一の欠点は、クローズドソースかつ有料だったため、ネット上に流れているバージョンはこのDebian版を含め、どうやらすべて海賊版のようだという点だ。さらにProotの速度はかなり遅い。\n4. 参考資料 # Exagear For Termux - Github ExaGear for Termux 教程及恢复包 - Bilibili ","date":"2022年9月16日","externalUrl":null,"permalink":"/ja-jp/posts/termux-proot-exagear-wine/","section":"Termux-Tutorials","summary":" 数年前にロシア企業ElTechsが発表したExagearは、X86命令をARM命令へ変換できる。Wineと組み合わせれば、root不要でスマートフォン上にPC用プログラムを実行できる。（WineはLinux PCでWindows exeを実行できるようにするソフトウェア）\nその後Exagearの技術はHuaweiに買収されたが（関連討論）、Githubではロシア人がTermux Proot版のExagearを公開している。\n主な原理は、Termuxにi686 32ビットのProot Debian環境をインストールし、qemu-user-staticで32ビットx86環境をエミュレートし、Wineで32ビットのWindows exeを実行する、というものだ。\nちなみに、Exagear以外にもオープンソースの競合としてBox86/Box64がある。\n1. Proot Exagearで実行できるプログラムをテストする # ゲームFate/stay night 音楽プレイヤーfoobar2000 テキストエディタNotepad++ 画像ビューアHoneyView Google Chromeポータブル版 2. インストール手順 # スマートフォン：Sony Xperia 5 II、Android 11 必要なAPP：Termux、Real VNC Viewer Termuxを開き、tarとgitをインストールする。 pkg update pkg install tar git Exagear-For-Termuxリポジトリをクローンし、submoduleを追加する。 git clone https://github.com/ZhymabekRoman/Exagear-For-Termux ~/ExaTermux cd ~/ExaTermux git submodule init git submodule update Termux Prootが提供するDebian 10ファイルシステムをダウンロードする（Proot-Exagear開発者はDebian 11版rootfsも出しているが、問題が多い）。 wget https://github.com/termux/proot-distro/releases/download/v1.1-debian-rootfs/debian-buster-i386-2020.12.05.tar.gz # 展開 mkdir exagear-fs/ \u0026\u0026 tar -C exagear-fs/ --warning=no-unknown-keyword --delay-directory-restore --preserve-permissions --strip=0 -xvf debian-buster-i386-2020.12.05.tar.gz --exclude='dev'||: \u0026\u0026 cd exagear-fs/ \u0026\u0026 mv debian-buster-i386-2020.12.05/* ./ \u0026\u0026 rm -rfv debian-buster-i386-2020.12.05/ \u0026\u0026 cd ../ スクリプトを使ってシステムへログインする。 chmod +x start-exagear.sh ./start-exagear.sh login --old --shared-tmp これで32ビットのDebian環境が準備できた。まず更新する： apt update apt upgrade APTのインストール時にE: Sub-process /usr/bin/dpkg returned an error code (1)が出た場合は、次を実行する：\n","title":"Proot-ExagearでAndroidスマートフォン上にWindows exeプログラムを動かす","type":"termux-tutorials"},{"content":"English version\nNetboot技術允許裝置透過網路開機，透過USB網路存取遠端檔案系統。 這就有點像是LiveUSB，因為可以讓Android機器暫時用pmbootstrap傳過去的boot.img開機(甚至不用寫入boot分區)，然後讀取放在電腦上的rootfs。不用洗掉整個Android ROM，也可以「試用」postmarketOS。\n這裡我使用的手機為紅米Note 5，此機型已有人移植，不過狀態頂多是能開機的程度。\n首先執行pmbootstrap init，設定機型為xiaomi-whyred，接著我們要修改核心設定檔。\n1. 讓Linux核心支援Netboot # 用指令檢查該機型的核心有無開啟Netboot支援： pmbootstrap kconfig check --netboot linux-xiaomi-whyred 沒有在官方推薦機型的應該是不會啟用Netboot，所以會得到此結果： WARNING: linux-xiaomi-whyred/config-xiaomi-whyred.aarch64: CONFIG_BLK_DEV_NBD should be set. ERROR: kconfig check failed! 執行kconfig修改核心設定檔。 pmbootstrap kconfig edit CONFIG_BLK_DEV_NBD的位置如下： Symbol: BLK_DEV_NBD [=n] Type : tristate Prompt: Network block device support Location: -\u0026gt; Device Drivers -\u0026gt; Block devices (BLK_DEV [=y]) -\u0026gt; Network block device support 修改好之後重新編譯核心。 pmbootstrap build linux-xiaomi-whyred 2. 使用Netboot開機 # 製作postmarketOS的檔案系統。extra-space是rootfs的大小。 pmbootstrap --extra-space 3000 install --no-sparse 讓手機進入fastboot，接到電腦，用postmarketOS開機。手機會處在postmarketOS的logo，並等待NBD連線。 pmbootstrap initfs hook_add netboot pmbootstrap flasher boot 確認防火牆有開啟9999通訊埠，執行netboot伺服器： pmbootstrap netboot serve 手機應該會亮起螢幕，開機進入postmarketOS系統，或者可以透過這個固定的IP位址SSH進手機： ssh user@172.16.42.1 由於檔案系統是從電腦掛載的，因此使用時手機必須接著線，否則檔案系統就會停擺。將postmarketOS關機之後重開機就會回到原本系統。至於Netboot的檔案系統則是位於~/.local/var/pmbootstrap/images_netboot/。 參考資料\nNetboot - PostmarketOS wiki You can now live-boot postmarketOS on Android phones - Tux Phones ","date":"2022年9月16日","externalUrl":null,"permalink":"/posts/postmarketos-netboot/","section":"所有文章","summary":"English version\nNetboot技術允許裝置透過網路開機，透過USB網路存取遠端檔案系統。 這就有點像是LiveUSB，因為可以讓Android機器暫時用pmbootstrap傳過去的boot.img開機(甚至不用寫入boot分區)，然後讀取放在電腦上的rootfs。不用洗掉整個Android ROM，也可以「試用」postmarketOS。\n這裡我使用的手機為紅米Note 5，此機型已有人移植，不過狀態頂多是能開機的程度。\n首先執行pmbootstrap init，設定機型為xiaomi-whyred，接著我們要修改核心設定檔。\n1. 讓Linux核心支援Netboot # 用指令檢查該機型的核心有無開啟Netboot支援： pmbootstrap kconfig check --netboot linux-xiaomi-whyred 沒有在官方推薦機型的應該是不會啟用Netboot，所以會得到此結果： WARNING: linux-xiaomi-whyred/config-xiaomi-whyred.aarch64: CONFIG_BLK_DEV_NBD should be set. ERROR: kconfig check failed! 執行kconfig修改核心設定檔。 pmbootstrap kconfig edit CONFIG_BLK_DEV_NBD的位置如下： Symbol: BLK_DEV_NBD [=n] Type : tristate Prompt: Network block device support Location: -\u003e Device Drivers -\u003e Block devices (BLK_DEV [=y]) -\u003e Network block device support 修改好之後重新編譯核心。 pmbootstrap build linux-xiaomi-whyred 2. 使用Netboot開機 # 製作postmarketOS的檔案系統。extra-space是rootfs的大小。 pmbootstrap --extra-space 3000 install --no-sparse 讓手機進入fastboot，接到電腦，用postmarketOS開機。手機會處在postmarketOS的logo，並等待NBD連線。 pmbootstrap initfs hook_add netboot pmbootstrap flasher boot 確認防火牆有開啟9999通訊埠，執行netboot伺服器： pmbootstrap netboot serve 手機應該會亮起螢幕，開機進入postmarketOS系統，或者可以透過這個固定的IP位址SSH進手機： ssh user@172.16.42.1 由於檔案系統是從電腦掛載的，因此使用時手機必須接著線，否則檔案系統就會停擺。將postmarketOS關機之後重開機就會回到原本系統。至於Netboot的檔案系統則是位於~/.local/var/pmbootstrap/images_netboot/。 參考資料\n","title":"postmarketOS Netboot讓手機從網路開機","type":"posts"},{"content":"浪人文學兼乳包文學。\n一張浪人製作的FGO特異點二創圖。 現在來到了異聞帶。\n原文由Reddit r/real_china_irl浪人撰寫：本人FGO听床师，编点异闻带剧本: r/real_China_irl\n下面加上個人延伸與補充。\nFate/Grand Order異聞帶資料：「(B.C.0?) 無盡赤紅輪迴 永世帝國」\n（文章中下面這些字卡圖排版用的，製造節目效果） 惡搞：Fate/Grand Order的「Lostbelt No.3 人智統合真國 SIN 紅之月下美人」\n【期間限定卡池，五星機率UP】 # 主線劇情開始跑之前一定有的Pick Up！\n張獻忠，4星Berserker 薩格爾王，5星Rider 習近平，5星Ruler 毛澤東，5星Avenger 習近平作為FGO從者的草案 # 這個我自己想的，疑似有點過度設計了。\n目前ATK/HP是以「申必代碼」下去設計，初始數值1959/1970。 5星。職階Ruler 特性：秩序．惡，熊，王，人型，包子 筋力EX 耐久A 敏捷B 魔力B 幸運B+ 寶具A 指令卡 Q A A A B 藍卡寶具：大海掀翻小池塘．瘋狂宇宙 EX。對民(自家人)寶具。寶具表現參考葛飾北齋的神奈川沖浪裏，演出時間8.964秒。賦予自身對[人型]特攻狀態，賦予自身對[中國]從者特攻狀態，NP獲得率上升(20%，一回合)，對敵方全體發動超強大的攻擊(400%，寶具升級效果提升)，賦予敵方全體[沼氣池突開狀態] (一回合後賦予[恐怖、中毒]狀態)。 一、固有技能\n技能1 梁家河博士 A： 指定我方單體Arts性能提升(30％，3回合，3次)，NP獲得率上升20%，獲得10個暴擊星 技能2 通商寬衣 B+：50%機率賦予敵方全體暈眩，敵方全體[女性]從者防禦下降50% \u0026amp; 解除1個強化狀態，賦予我方單體無敵貫通(1回合) 技能3 無限連任 EX： 自身NP增加30%，賦予自身無敵狀態(3回合，3次)，HP回復2000 二、職階技能\n陣地作成(正國級鼠人) A：Arts指令卡性能提升 天然的肉體(扛麥郎) A：精神弱化無效 屠支之力 EX：賦予自身對「中國」從者200%特攻狀態 習家的牽絆 A： 每回合獲得3個暴擊星 頭上三尺有神明 B：每回合獲得5%NP 三、羈絆10禮裝\n《習近平談治國理政》：裝備此卡時我方全體Arts性能上升10%，賦予自身毅力狀態3次\n異聞帶劇情，上篇 # 迦勒底檢測到B.C.0的中國特異點，穿越之後發現落地點為汶川，當地的居民都身著殘破的服裝，不會語言，無法交流，只能發出“嘶嘶，嘻嘻嘶嘻”一樣的聲音。因為頻繁的大地震，此處並無任何建築物。主角收服被世界扭曲成薩格爾王的Rider格薩爾王[1]，召喚了Berserker張獻忠[2]。一番探索後，眾人來到成都市，被漫天遍野的無人機轟炸。\n無人機轟炸三輪過後，城市廣播稱自己是：\n神 明\n七常委 之一，雷神 方濱興(Archer) [3]。方濱興稱這次彈藥已經用光了，但下次會帶充足的彈藥。\n異聞帶劇情，中篇 # 中篇裡主角團在不同的地區打敗了五位常委：\n農 神\n袁隆平\n（Caster，從平民身上提取濃縮蛋白質給主神食用）[4] 醫 神\n鍾南山\n（Assassin，給主神更換器官，兼職研發最新型冠狀病毒）[5] 軍 神\n張召忠\n（Saber，以各種理由鼓勵平民互相殺害，以娛樂主神，並解決人口過剩問題）[6] 文 藝 雙 神\n胡錫進·付昱\n（Alterego，縫合怪，用宣傳降低平民的智商）[7][8] 死 神\n陳全國\n（Rider，不用多說了，進了夏令營不死別想出來）[9] 通過五位常委透露的信息，以及揚州MoonCancer蛤蟆仙人 [10] 的指引，推測出此特異點不是B.C.0，而是A.D.4044。分歧點：2022年，習近平無限連任，被阿賴耶和蓋亞認定為歷史倒車，從此在剪定事項上開始了時間逆流。眾人大驚，進入後篇。\n異聞帶劇情，後篇 # 存活的眾英靈集體攻入北京，準備進入中南海打敗主神習近平，卻被AI方濱興控制的坦克群和轟炸機打得死傷慘重。原來七常委中六個人都保留了大腦，此後陸續實現了機械飛升、得道飛升、忒修斯之老幹部，並縫合了中國神話中的諸神，只有方濱興在破壞掉全部VPN後，被憤怒的平民用獵槍打爆了頭，原有人格無法復現，只能通過AI來模擬人格。\n在中篇裡，眾人不止一次蒐集到藏在城市角落裡的錄音設備，均是A.D.2023年的產物。無奈之下主角按下播放鍵，頓時所有設備開始播放“傻逼傻逼操你媽”[11]，AI方濱興在“保衛主神習近平”和“清除平民”中無法做出判斷，電氣迴路過載，埋在地下三千米的主機宕機，所有自律武器停止運動。\n中南海裡，習近平稱方濱興已死，建造在國境上的\n互聯網長城\n防火牆 馬上就要消失，在場的所有人，包括自己都會因為目睹到真正A.D.4044的牆外世界掉san而死。想要解決，只能打開這個國家最著名的水晶棺[12]，釋放出■■■，等待自己接下來的命運……\n註解 # [1]：西藏史詩《格薩爾王》的主角。習近平於2018年的演說中誤將格薩爾王唸成薩格爾王。 [2]：明末民變領袖，曾在四川大肆屠殺人民，劉仲敬曾在著作討論，形成獻忠學。主張大規模屠殺的獻忠學便成為神友崇拜的論點。 [3]：方濱興是中國網路防火長城之父，導致中國人要使用VPN翻牆。 [4]：袁隆平曾研究雜交水稻改良善糧食產量，2021年過世後受到中國官方大肆吹捧。 [5]：鍾南山在中國武漢肺炎爆發後主導防疫工作，並大力推廣中藥。 [6]：張召忠暱稱局座，是中國軍事理論家，但是曾在節目上發表啼笑皆非的軍事理論。 [7]：胡錫進是退休環球時報主編，常緊跟時事發表大外宣的社論。 [8]：付昱，筆名烏合騏驎，近年來常繪製中國大外宣的政治漫畫。 [9]：陳全國曾任新疆省長，任內興建集中營迫害維吾爾人，中國政府對外宣稱其為職業訓練營。 [10]：蛤蟆是膜蛤文化對江澤民的稱呼，並常稱讚江澤民長壽老不死。江澤民的家鄉在揚州。 [11]：中國東北直播主對戰輸掉之後，在直播中唱了一首辱罵對手的饒舌，名曰「你媽大逼人人插」。 [12]：毛澤東死後被做成木乃伊，封存在水晶棺內。因為毛澤東殺人眾多，在神友眼中是跟張獻忠一樣的神級人物。 本文初稿寫於2022年9月15日。\n","date":"2022年9月15日","externalUrl":null,"permalink":"/posts/langren-literature-fgo-ccp-lostbelt/","section":"Politics","summary":"浪人文學兼乳包文學。\n一張浪人製作的FGO特異點二創圖。 現在來到了異聞帶。\n原文由Reddit r/real_china_irl浪人撰寫：本人FGO听床师，编点异闻带剧本: r/real_China_irl\n下面加上個人延伸與補充。\nFate/Grand Order異聞帶資料：「(B.C.0?) 無盡赤紅輪迴 永世帝國」\n（文章中下面這些字卡圖排版用的，製造節目效果） 惡搞：Fate/Grand Order的「Lostbelt No.3 人智統合真國 SIN 紅之月下美人」\n【期間限定卡池，五星機率UP】 # 主線劇情開始跑之前一定有的Pick Up！\n張獻忠，4星Berserker 薩格爾王，5星Rider 習近平，5星Ruler 毛澤東，5星Avenger 習近平作為FGO從者的草案 # 這個我自己想的，疑似有點過度設計了。\n目前ATK/HP是以「申必代碼」下去設計，初始數值1959/1970。 5星。職階Ruler 特性：秩序．惡，熊，王，人型，包子 筋力EX 耐久A 敏捷B 魔力B 幸運B+ 寶具A 指令卡 Q A A A B 藍卡寶具：大海掀翻小池塘．瘋狂宇宙 EX。對民(自家人)寶具。寶具表現參考葛飾北齋的神奈川沖浪裏，演出時間8.964秒。賦予自身對[人型]特攻狀態，賦予自身對[中國]從者特攻狀態，NP獲得率上升(20%，一回合)，對敵方全體發動超強大的攻擊(400%，寶具升級效果提升)，賦予敵方全體[沼氣池突開狀態] (一回合後賦予[恐怖、中毒]狀態)。 一、固有技能\n","title":"【浪人文學】如果Fate/Grand Order加入「共產中國」異聞帶","type":"politic"},{"content":" 伍佰のアルバムはかつてこう言っていた：\n運命は不可逆だが、適度な抵抗は必要だ。人生は不可逆だが、魂の自由は必要だ。\nある人に問われたことがある。なぜスマホ用のLinuxディストリビューション(mobile Linux distro)を開発し、車輪の再発明をするのか。すでにAndroidがあるではないか？ここでは、AndroidがスマホLinuxの最適解ではない理由をいくつか述べる。\n1. Androidは自由ソフトウェアではない # Androidシステムは完全な自由ソフトウェアではなく、少なくとも構造はGNU/Linuxと比べて大きく異なる。\nAndroidはGoogleがメインラインLinuxカーネルをforkして開発したもので、下流カーネルになっている。メインラインLinuxカーネルはオープンソースだが、中にはすでに多くのプロプライエタリなファームウェアバイナリが含まれており、自由ソフトウェア基金会はこれに非常に不満を持っている。Androidになると状況はさらに悪くなる。GoogleはHAL抽象層を作り、ハードウェアメーカーがGPL条項に違反せず、より多くのプロプライエタリなファームウェアを詰め込める機会を作った。これによりAndroidシステムはさらに閉鎖的になった。加えてGoogleは各メーカーにAOSPの全機能の実装を強制できないため、各メーカーがGoogleのカーネルをさらに改変して作るdownstream kernelには、ソースコードツリー外のpatchがさらに追加され、その多くは閉鎖的である。\nGNU/LinuxとAndroidはカーネル以外にも、上位のソフトウェア構造がかなり違う。グラフィック層を例に取ると、Androidで画面描画を担うのはSurfaceFlingerであり、LinuxではX11またはWaylandが担う。\n二つは基底原理が異なるため、両側のプログラムが自然にシームレスに相互運用できるはずがない。\nさらに、Androidが使うCライブラリはBionicを基に開発されており、一般的なGNU/Linuxが使うGlibcとは互換性がない。これがドライバー面で直接適用できない問題を生む。自由ソフトウェア基金会がLinuxをGNU/Linuxと呼ぶべきだとよく強調する背後の理由は、一般的なLinuxにはGNUツールチェーンが含まれるが、Androidにはないからだ。\nこうしてAndroidは、重度にpatchされたLinuxシステムになった。もしメインラインカーネルをAndroid端末へ移植しようとすれば、多くの場合Android固有のpatchを山ほど足さなければならない。AndroidはすでにLinuxからかなり離れているからだ。かつて開発者が述べたところでは、PinePhoneが使うカスタムLinuxカーネルはメインラインと50万行のコード差があり、OnePlus 6Tはメインラインカーネルと500万行のコード差がある。ここからAndroidの改変幅の大きさが分かる。\nユーザーのハードウェアに対する掌握度 Androidの断片化はまだしも、もっとひどいのはシステムを改造したい人に多くの制限があることだ。x86プラットフォームのように自由にシステムをインストールできるわけではなく、ARMプラットフォームには標準化された起動手順がない。そのためハードウェアメーカーが自分で機能を実装しなければならず、スマホへ自由にシステムをインストールすることは難しくなる。\nカーネルのメンテナンス作業は重いため、メーカーはスマホを消耗品として扱いやすく、数年も経たずに更新を放棄する。これは環境問題を引き起こす。AndroidはROM焼きできるとはいえ、スマホメーカーが十分にオープンかどうかに依存する。ハードウェアやスマホメーカーのプロプライエタリなファームウェアが多すぎれば、ROM焼きも困難だらけになる。さらにスマホメーカーが安全を理由にROM焼きの経路を封鎖する（bootloaderのアンロックを開放しない）こともあり、カーネルのソースコードすら公開しないこともある。\n古いスマホがメーカーからサポートを捨てられると、誰かがROMを作ってAndroidバージョンをアップグレードすることはあるかもしれない。しかしメーカーのプロプライエタリなファームウェアに合わせる必要があり、ハードウェア問題を解決するためにhack手段を使わなければならない。また前述したようにAndroidカーネルにはより多くのプロプライエタリなファームウェアが含まれるため、開発者がカーネルをメインラインLinuxカーネルへ置き換えることは難しい。postmarketOSの資料によれば、メインラインLinuxカーネルを動かし、さらに全ハードウェアを駆動できるAndroidスマホは半台もない。\n各メーカーが採用するインターフェースの違いによる断片化は、それほど深刻な問題ではない。デスクトップ版LinuxのUIも多様だからだ。しかしUIは交換できる。だが基底層があまりに閉鎖的なら、システムを変更することは難しくなる。\n2. Androidのソフトウェア生態系はGoogleに重度依存している # ネット検閲のある国に住む中国人にとって、ここでのGoogleは任意のスマホ大手メーカーに置き換えられる。\nGoogleがAOSPを出しているとしても、世界各地で販売されているAndroidスマホにGoogleが入っていないものなど一台もないだろう？ソフトウェア機能の面では、Androidの測位や通知送信などは、クローズドソースのGoogleサービスフレームワークに依存しており、データはGoogleサーバーを経由する。EUが介入して叩かなければ、監視の強度はさらにやりたい放題になっていただろう。オープンソースのmicroGやF-Droidという代替選択肢があっても、使い心地は絶対によくない。\nGoogleはAndroidへ直接影響力を持ち、その行うすべては徐々に事実上の標準となり、人々の認知における日常にさえなる。「悪いことをしていないなら、なぜ監視を怖がるのか？」言論の自由は重要ではない、言うことがないから？ある一社のメーカーがシステムの大部分の機能を握ると、デジタル人権を侵害し、自由を段階的に失わせることになる。\n3. Android以外の選択肢を提供する # AndroidシステムがGoogleの意向通りに動かなければならないなら、この時点で本当のLinuxスマホディストリビューションを発展させる必要がある。2019年にPinePhoneとLibrem 5が登場して以来、10個以上のスマホLinuxディストリビューションが生まれた。その多くは既存のデスクトップ版Linuxディストリビューションから発展したもので、たとえばMobian、Arch Linux ARM、postmarketOS、Fedora Mobility、openSUSE Mobile、Ubuntu touchがある。\n彼らの共通認識は、メインラインに寄せたLinuxカーネルを採用することだ（PinePhoneはコストの考慮から、なお少量のプロプライエタリなファームウェアを必要とする）。ウィンドウシステムにはX11またはWaylandを使い、ライブラリにはglibCまたはmuslCを使う。そしてスマホで使いやすいLinux APPを開発するか、Linuxデスクトップアプリケーションがウィンドウサイズへ自由に適応できるようにする。関連するシステムAPIはLinuxデスクトップ環境から継承され、システムにはログインを要求するサービスが一切プリロードされない。さらに重要なのは、その中の一部技術が対応するLinuxディストリビューションの上流へすでに還元され、Linuxスマホがより持続的に発展できる可能性を高めていることだ。\nシステム面を解決した後は、適切なスマホメーカーを選ぶ必要がある。上述の要因により、元AndroidスマホをLinuxスマホディストリビューションへ改造することは長期的な策ではない。プロプライエタリなファームウェアに制約されるからだ。したがってスマホメーカーのシステムに対する態度は非常に重要で、少なくともデフォルトでbootloaderをロックすべきではなく、対応する低層ソフトウェアのソースコードを供給する必要がある。そうして初めてLinuxコミュニティに受け入れられる可能性がある。\n4. 現段階のLinuxスマホディストリビューション # 2022年の時点では、Linuxスマホディストリビューションの使用体験はまだAndroidのように何も考えず使えるものではなく、大部分はtestingの状態にある。最良の純Linuxスマホのハードウェア性能もAndroid中級機レベルしかなく、そのためソフトウェアの滑らかさでは、Linuxを移植した古いAndroidフラッグシップ機に及ばない。\nとはいえ開発者はなお活発に新機能を改善し続けている。少なくとも通話やネット接続などスマホの基本機能は安定した。残るのは必要なソフトウェアフレームワークとAPPを段階的に完成させ、ユーザーがソフトウェアとハードウェアを自由に変更できる発展モデルを維持し、メーカーとコミュニティが密接な協力を保つことだ。スマホLinuxのソフトウェアとハードウェアは高度にオープンソースであり、広範なコミュニティ支援もあるため、普通の人が開発に参加する障壁はかなり小さくなる。ハードウェアについては、純Linuxスマホのハードウェアはコストやメーカー規模などの要因により、短期的にはAndroidフラッグシップ機を超える可能性はあまりない。開放性だけが唯一の優位だ。\nこう見ると、コンピューターのソフトウェア・ハードウェアとデジタル人権を理解している人こそがLinuxスマホの受け手になる。これは結局、デバイスの自主権に関わる議題だ。Android端末をLinuxへ改造する境遇から、本当にソフトウェアもハードウェアもLinux firstなスマホへ移行できてこそ、手元の自由を確保できる。\nたとえ主流世界の奔流に抗えないとしても、最終的には少しの変革と抵抗を行わなければならない。\n","date":"2022年9月15日","externalUrl":null,"permalink":"/ja-jp/posts/android-and-mobile-linux/","section":"Foss-Issues","summary":" 伍佰のアルバムはかつてこう言っていた：\n運命は不可逆だが、適度な抵抗は必要だ。人生は不可逆だが、魂の自由は必要だ。\nある人に問われたことがある。なぜスマホ用のLinuxディストリビューション(mobile Linux distro)を開発し、車輪の再発明をするのか。すでにAndroidがあるではないか？ここでは、AndroidがスマホLinuxの最適解ではない理由をいくつか述べる。\n1. Androidは自由ソフトウェアではない # Androidシステムは完全な自由ソフトウェアではなく、少なくとも構造はGNU/Linuxと比べて大きく異なる。\nAndroidはGoogleがメインラインLinuxカーネルをforkして開発したもので、下流カーネルになっている。メインラインLinuxカーネルはオープンソースだが、中にはすでに多くのプロプライエタリなファームウェアバイナリが含まれており、自由ソフトウェア基金会はこれに非常に不満を持っている。Androidになると状況はさらに悪くなる。GoogleはHAL抽象層を作り、ハードウェアメーカーがGPL条項に違反せず、より多くのプロプライエタリなファームウェアを詰め込める機会を作った。これによりAndroidシステムはさらに閉鎖的になった。加えてGoogleは各メーカーにAOSPの全機能の実装を強制できないため、各メーカーがGoogleのカーネルをさらに改変して作るdownstream kernelには、ソースコードツリー外のpatchがさらに追加され、その多くは閉鎖的である。\n","title":"なぜAndroidから離れ、メインラインLinuxスマホへ移るべきなのか","type":"foss-issues"},{"content":"這篇文章記錄我自行移植postmarketOS的過程。「目前是未完成狀態」。\n移植的教學postmarketOS Wiki的Porting to a new device和Mainlining Guide寫的很清楚了，這篇文章就是把Wiki寫的內容中文翻譯，再加上我的一點註解。\n1. 硬體需求 # 要移植的手機：Sony Xperia 5 II (XQ-AS72，代號sony-pdx206)，已經解鎖Bootloader。 此機型postmarketOS Wiki有登錄資料，也可以用somainline開發的mainline kernel開機。但是因為UFS有bug(後述)所以尚未有正式移植。\n電腦：必須為64位元Linux，虛擬機也可以。我的CPU為i5-7400，RAM為16GB。 postmarketOS系統檔案很小，不用下載好幾十G的原始碼，編譯也不用花上好幾個小時。\n2. 安裝pmbootstrap # pmbootstrap這個工具可用於建立postmarketOS的安裝檔和進行移植工作。\n在系統上安裝Pytohn3、openSSL、Pip、Git： sudo apt install python3 openssl python-pip3 git 用pip安裝pmbootstrap並重新整理: pip3 install --user pmbootstrap source ~/.profile 安裝自動補完，加到~/.bashrc: pip3 install --user argcomplete echo \u0026#39;eval \u0026#34;$(register-python-argcomplete3 pmbootstrap)\u0026#34;\u0026#39; \u0026gt;\u0026gt; ~/.bashrc source ~/.bashrc 如果安裝後輸入pmbootstrap還是顯示找不到指令，重新開機。 3. 初始化機型設定 # 將pmbootstrap初始化，按照問題輸入機型的設定值。以下問題的設定檔位於~/.config/pmbootstrap.cfg。\n~ $ pmbootstrap init # 工作目錄 Work path [/home/ivon/.local/var/pmbootstrap]: Enter # 更新頻道輸入穩定版或edge，edge有時後會因為Alpine上游更新導致依賴毀損 Channel [edge]: v22.06 # 選擇廠牌 Vendor [qemu]: sony # 輸入Sony官方的機型代號 Device codename: pdx206 # 確認移植新機型 You are about to do a new device port for \u0026#39;sony-pdx206\u0026#39;. Continue? (y/n) [y]: y # 輸入處理器的架構 Device architecture (armv7/aarch64/x86_64/x86) [armv7]: aarch64 # 輸入生產商 Who produced the device (e.g. LG)? sony # 輸入完整手機名字 What is the official name (e.g. Google Nexus 5)? Sony Xperia 5 II # 手機發售年份 In what year was the device released (e.g. 2012)? 2020 # 設定裝置類型為手持設備 What type of device is it? handset # 無鍵盤，回答n Does the device have a hardware keyboard? (y/n) [n]: n # 有無SD卡槽，回答y Does the device have a sdcard or other external storage medium? (y/n) [n]: y # 刷機方式選fastboot Which flash method does the device support? Flash method (0xffff/fastboot/heimdall/none/rkdeveloptool/uuu) [0xffff]: fastboot # 讓pmbootstrap分析boot.img的開機參數，我是使用第三方ROM的boot.img [11:15:10] You can analyze a known working boot.img file to automatically fill out the flasher information for your deviceinfo file. Either specify the path to an image or press return to skip this step (you can do it later with \u0026#39;pmbootstrap bootimg_analyze\u0026#39;). Path: /home/ivon/下載/Evo/extracted_20220826_113410/boot.img # 預設使用者名稱 Username [user]: user # 選擇圖形界面。在未確定硬體加速可用前，先選XFCE4 User interface [weston]: xfce4 # 維持預設boot分區設定，輸入n Additional options: extra free space: 0 MB, boot partition size: 256 MB, parallel jobs: 9, ccache per arch: 5G, sudo timer: False, mirror: http://mirror.postmarketos.org/postmarketos/ Change them? (y/n) [n]: n # 是否安裝額外軟體套件 Additional packages that will be installed to rootfs. Specify them in a comma separated list (e.g.: vim,file) or \u0026#34;none\u0026#34; Extra packages [none]: none # 設定系統時區 Your host timezone: Asia/Taipei Use this timezone instead of GMT? (y/n) [y]: y # 設定系統語言，建議先用英文 Choose default locale for installation: en_US.UTF-8 # 設定裝置名稱 Device hostname (short form, e.g. \u0026#39;foo\u0026#39;) [sony-pdx206]: Enter # 是否拷貝本機SSH金鑰至postmarketOS系統 Would you like to copy your SSH public keys to the device? (y/n) [n]: n # 自動編譯過時的軟體套件 After pmaports are changed, the binary packages may be outdated. If you want to install postmarketOS without changes, reply \u0026#39;n\u0026#39; for a faster installation. Build outdated packages during \u0026#39;pmbootstrap install\u0026#39;? (y/n) [y]: y 4. 設定kernel的編譯選項 # pmbootstrap會自動建立ARM的chroot環境，因此記得要適時輸入密碼。編譯時開另一個終端機執行pmbootstrap log看錯誤訊息。\n首先要取得手機kernel(核心)原始碼，postmarketOS建議從LineageOS的Github找kernel，但目前LineagOS還沒有Xperia 5 II的。所以就只好採用XDA上第三方的kernel，例如我使用是XperiaBricker的版本。此外Sony官方也有釋出kernel。\n切換到工作目錄:\ncd /home/$USER/.local/var/pmbootstrap/cache_git/pmaports/device/testing/linux-sony-pdx206 裡面會有一個APKBUILD檔案，這是編譯kernel的設定檔。#Source區塊的是kernel的來源儲存庫。\n因為這裡不使用LineageOS官方的repo，所以將#Source區塊修改如下。最後一行$_config下方的代表編譯時要套用這些patch。\n# Source _repository=\u0026#34;android_kernel_sony_sm8250\u0026#34; _commit=\u0026#34;8bdbbde86f74be117281c82f4181d1f938659ce0\u0026#34; _config=\u0026#34;config-$_flavor.$arch\u0026#34; source=\u0026#34; $pkgname-$_commit.tar.gz::https://github.com/XperiaBrickers/$_repository/archive/$_commit.tar.gz $_config gcc10-extern_YYLOC_global_declaration.patch gcc7-give-up-on-ilog2-const-optimizations.patch gcc8-fix-put-user.patch kernel-use-the-gnu89-standard-explicitly.patch \u0026#34; 在kerenl原始碼的儲存庫找到Makefile檔案，按照裡面寫的VERSION和PATCHLEVEL和SUBLEVEL，在APKBUILD的pkgver填入版本號，例如這裡是4.19.195。接著儲存檔案。 pkgver=4.19.195 從kerenl原始碼的儲存庫找到defconfig，這是用來產生kernel設定檔的檔案。例如該kernel使用的config設定檔位於arch/arm64/configs，將其下載到工作目錄再重新命名為config-機型名稱-代號-位元: wget https://raw.githubusercontent.com/XperiaBrickers/android_kernel_sony_sm8250/base/arch/arm64/configs/pdx206_defconfig mv pdx206_defconfig config-sony-pdx206.aarch64 下載kernel原始碼並產生校驗碼。APKBUILD檔案有變更過皆須執行此指令。 pmbootstrap checksum linux-sony-pdx206 開始編譯前， 編輯kernel 的設定檔(config)。在kernel編輯頁面用左右鍵移動到Exit，Enter，儲存kernel設定檔。 pmbootstrap kconfig edit 新移植的機型預設會加入4個patch，如果kconfig顯示cannot apply patch就從APKBUILD的$config刪除patch檔名。如果出現\u0026quot;Please don\u0026rsquo;t include linux directly\u0026quot;就在APKBUILD最前面加入REPLACE_GCCH=0。\n再產生一次校驗碼，並編輯kernel設定檔\npmbootstrap checksum linux-sony-pdx206 pmbootstrap kconfig edit 在kernel編輯頁面用左右鍵移動到Exit，Enter，儲存kernel設定檔。 接著pmbootstrap會檢查kernel缺少哪些設定檔，接著顯示黃色的WARNING：\n[12:15:36] (native) generate checksums for linux-sony-pdx206 [12:15:37] WARNING: linux-sony-pdx206/config-sony-pdx206.aarch64: CONFIG_ANDROID_PARANOID_NETWORK should *not* be set. See \u0026lt;https://wiki.postmarketos.org/wiki/kconfig#CONFIG_ANDROID_PARANOID_NETWORK\u0026gt; for details. [12:15:37] WARNING: linux-sony-pdx206/config-sony-pdx206.aarch64: CONFIG_DEVTMPFS should be set. See \u0026lt;https://wiki.postmarketos.org/wiki/kconfig#CONFIG_DEVTMPFS\u0026gt; for details. [12:15:37] WARNING: linux-sony-pdx206/config-sony-pdx206.aarch64: CONFIG_SYSVIPC should be set. See \u0026lt;https://wiki.postmarketos.org/wiki/kconfig#CONFIG_SYSVIPC\u0026gt; for details. [12:15:37] WARNING: linux-sony-pdx206/config-sony-pdx206.aarch64: CONFIG_VT should be set. See \u0026lt;https://wiki.postmarketos.org/wiki/kconfig#CONFIG_VT\u0026gt; for details. [12:15:37] WARNING: linux-sony-pdx206/config-sony-pdx206.aarch64: CONFIG_USER_NS should be set. See \u0026lt;https://wiki.postmarketos.org/wiki/kconfig#CONFIG_USER_NS\u0026gt; for details. 把這些WARNING複製下來。接著點WARNING後面的網址到Wiki上查看要開關哪些設定檔。然後開啟kernel編輯頁面將其開啟或關閉(用空白鍵選取或取消選取)： pmbootstrap kconfig edit 調整好之後Exit儲存。檢查kernel的設定檔是否符合postmarketOS的需求，成功的話會回傳kconfig check succeeded!。 pmbootstrap kconfig check 5. 編譯kernel # 接著要開始編譯kernel，這可能會是最漫長的一步。編譯時記得開另一個終端機執行pmbootstrap log查看錯誤訊息。\npmbootstrap編譯kernel是按照APKBUILD寫的步驟。首先按#Sources的網址下載kernel原始碼，接著套用config-sony-pdx206.aarch64當kernel的conifg。然後按照build()區塊的指令開始make，因此可以在這裡加上make -j8加快編譯速度。\n5.1. 開始編譯kernel # 執行以下指令開始編譯 pmbootstrap build linux-sony-pdx206 #如果想自己改kernel的原始碼，在build的時候加上src的參數改從自己解壓縮的檔案來編譯: pmbootstrap build linux-sony-pdx206 --src=/home/ivon/下載/android_kernel_sony_sm8250/ 順利的話半小時應該會編譯完成： \u0026gt;\u0026gt;\u0026gt; linux-sony-pdx206*: Tracing dependencies... \u0026gt;\u0026gt;\u0026gt; linux-sony-pdx206*: Package size: 55.0 MB \u0026gt;\u0026gt;\u0026gt; linux-sony-pdx206*: Compressing data... \u0026gt;\u0026gt;\u0026gt; linux-sony-pdx206*: Create checksum... \u0026gt;\u0026gt;\u0026gt; linux-sony-pdx206*: Create linux-sony-pdx206-4.19.195_p20220910214444-r0.apk \u0026gt;\u0026gt;\u0026gt; linux-sony-pdx206: Build complete at Sat, 10 Sep 2022 14:03:42 +0000 elapsed time 0h 18m 58s \u0026gt;\u0026gt;\u0026gt; linux-sony-pdx206: Updating the pmos/aarch64 repository index... \u0026gt;\u0026gt;\u0026gt; linux-sony-pdx206: Signing the index... 然而通常事情不會那麼簡單，編譯遇到error就會停下來。這個時候就要看pmbootstrap log或~/.local/var/pmbootstrap/log.txt檔案的錯誤訊息，開始除錯。\n5.2. 除錯 # 編譯出現的warning可以先無視，要先解決的是error。\n可以嘗試的選項：\n用grep指令於其他postmarketOS機型找相似錯誤訊息，將其patch檔加到這台手機的APKBUILD，執行pmbootstrap checksum linux-sony-pdx206後重新build。 grep -r \u0026#39;perf_trace_counters\\.c\u0026#39; ~/.local/var/pmbootstrap/cache_git/pmaports/device/testing/ 換編譯器。pmbootstrap預設是使用最新版GCC，有些Android kernel要用舊版GCC才編的過，或者考慮用CLANG。\n改用其他問題較少的kernel原始碼\n到postmarketOS的Matrix頻道尋求支援。\n6. 設定機型參數和編譯機型專屬套件 # 這個步驟要設定和編譯該機型的專屬套件(device specific package)。\nkernel編譯成功後，切換到機型套件的目錄： cd /home/$USER/.local/var/pmbootstrap/cache_git/pmaports/device/testing/device-sony-pdx206 此時你可以再讓pmbootstrap分析一次boot.img的開機參數，並將結果加到deviceinfo。 pmbootstrap bootimg_analyze /home/ivon/下載/Evo/extracted_20220826_113410/boot.img 編輯deviceinfo，設定螢幕解析度： deviceinfo_screen_width=1080 deviceinfo_screen_height=2520 根據postmarketOS Wiki上sony-pdx206的說明，Sony的軟體實作有問題，啟用UFS會導致bootloader被清除，因此不將rootfs刷入到手機。\n再檢查一次檔案有沒有問題，並編譯機型專屬的套件：\npmbootstrap checksum device-sony-pdx206 pmbootstrap build device-sony-pdx206 這樣Sony Xperia 5 II專用的postmarketOS kernel和機型套件就建立好了，接著要建立安裝檔。\n7. 刷入至手機 # 建立postmarketOS安裝檔，約10分鐘。期間會要求建立使用者密碼。 pmbootstrap install 由於UFS無法使用，只能將安裝檔刷到手機SD卡： pmbootstrap install --sdcard=/dev/sdX 讓手機進入fastboot模式，從kernel開機。 pmbootstrap flasher boot # 因為上述Sony的軟體原因，除非真要刷入到手機boot分區，否則不要使用此指令 pmbootstrap flasher flash_kernel 將電腦上的pmbootstrap關閉： pmbootstrap shutdown 8. 成果 # 螢幕沒畫面的話，還是可以用USB連線到電腦，再透過ssh連線到手機看能不能進入系統。\n結果這支Sony還是沒畫面。\n如果能進入桌面，就到GItlab上提交merge吧，並將成果圖片放在Wiki上。\n下一步驟就是將downstream kernel改成mainline kernel。原廠的Android kernel通常是downstream kernel，會有一堆額外patch和封閉韌體。將kernel換成mainline kernel才符合postmarketOS的終極目標。\n","date":"2022年9月10日","externalUrl":null,"permalink":"/posts/xperia5-ii-postmarketos-porting/","section":"所有文章","summary":"這篇文章記錄我自行移植postmarketOS的過程。「目前是未完成狀態」。\n移植的教學postmarketOS Wiki的Porting to a new device和Mainlining Guide寫的很清楚了，這篇文章就是把Wiki寫的內容中文翻譯，再加上我的一點註解。\n1. 硬體需求 # 要移植的手機：Sony Xperia 5 II (XQ-AS72，代號sony-pdx206)，已經解鎖Bootloader。 此機型postmarketOS Wiki有登錄資料，也可以用somainline開發的mainline kernel開機。但是因為UFS有bug(後述)所以尚未有正式移植。\n電腦：必須為64位元Linux，虛擬機也可以。我的CPU為i5-7400，RAM為16GB。 postmarketOS系統檔案很小，不用下載好幾十G的原始碼，編譯也不用花上好幾個小時。\n2. 安裝pmbootstrap # pmbootstrap這個工具可用於建立postmarketOS的安裝檔和進行移植工作。\n在系統上安裝Pytohn3、openSSL、Pip、Git： sudo apt install python3 openssl python-pip3 git 用pip安裝pmbootstrap並重新整理: pip3 install --user pmbootstrap source ~/.profile 安裝自動補完，加到~/.bashrc: pip3 install --user argcomplete echo 'eval \"$(register-python-argcomplete3 pmbootstrap)\"' \u003e\u003e ~/.bashrc source ~/.bashrc 如果安裝後輸入pmbootstrap還是顯示找不到指令，重新開機。 3. 初始化機型設定 # 將pmbootstrap初始化，按照問題輸入機型的設定值。以下問題的設定檔位於~/.config/pmbootstrap.cfg。\n","title":"postmarketOS移植，以Sony Xperia 5 II為例","type":"posts"},{"content":"此工具用於產生適用於uBlock Origin和AdGuard(擴充功能版，非APP版)的過濾規則，用於在Google搜尋中過濾掉內容農場和不想看到的網站。可於電腦和Android手機上使用。\n使用方式：從這裡取得純網址列表(該列表是給uBlacklist用的)，再貼到下面進行轉換成你使用的過濾器的格式，之後安裝到uBlock Origin。\n＊輸入\n輸入站點，一排一個。例如： google.com yahoo.com ＊對應的搜尋引擎： Google Bing DuckDuckGo SearX\n＊對應的過濾器 uBlock Origin AdGuard(僅支援Google)\n按這裡轉換\n＊輸出 按這裡複製 下載TXT\n語法參考自letsblockit\n","date":"2022年9月9日","externalUrl":null,"permalink":"/posts/blacklist-rule-converter/","section":"所有文章","summary":"此工具用於產生適用於uBlock Origin和AdGuard(擴充功能版，非APP版)的過濾規則，用於在Google搜尋中過濾掉內容農場和不想看到的網站。可於電腦和Android手機上使用。\n使用方式：從這裡取得純網址列表(該列表是給uBlacklist用的)，再貼到下面進行轉換成你使用的過濾器的格式，之後安裝到uBlock Origin。\n＊輸入\n輸入站點，一排一個。例如： google.com yahoo.com ＊對應的搜尋引擎： Google Bing DuckDuckGo SearX\n＊對應的過濾器 uBlock Origin AdGuard(僅支援Google)\n按這裡轉換\n＊輸出 按這裡複製 下載TXT\n語法參考自letsblockit\n","title":"uBlacklist → uBlock Origin / AdGuard規則轉換器","type":"posts"},{"content":"這篇文章介紹如何在Android手機上過濾(屏蔽)內容農場和採集垃圾站，將他們全部拉清單！！文末提供uBlock Origin快速語法產生器。\n如果你還不知道內容農場(content farm)是什麼，就太LKK了！舉凡「每日頭條」、「壹讀」、「程式人生」、「Getit01」這類盜取其他網站內容(尤其是中國境內的文章)，再轉成繁體騙取Google搜尋排名的，還有將英文stackoverflow翻譯成假問答網站的，以及寫滿「PTT懶人包」的網站都算是內容農場。\n通常這些網站點進去都是廣告，文章根本不是人寫的。Google搜尋結果充斥內容農場，已經嚴重影響到中文搜尋品質，連翻牆的中國人都受不了了。\n在電腦的瀏覽器上有uBlacklist擴充元件和Greasyfork的腳本可以直接對搜尋結果的頁面作修改，讓你根本搜尋不到內容農場。但是Android手機就有點麻煩了，首先最大宗的Google Chrome不支援擴充元件，因此勢必得找替代品。且uBlacklist和Greasyfork的腳本對手機版的Google搜尋無效，所以要換個策略。\n此時「uBlcok Origin」就派上用場了，這個擴充功能Chromium系和Firefox系的瀏覽器皆支援。uBlock Origin除了擋網頁廣告和可疑網站外，uBlock Origin還可以過濾掉網頁元素，具體請看下面分解。\n1. 取得網站過濾清單 # 本文採用的過濾清單主要來自中國人製作的中文搜索结果黑名单，歐美用戶也有製作類似的清單。\n中國人做的列表主要是給uBlacklist使用的，我將它轉成uBlock Origin的格式，並加入一些「台灣特有種」。你可以在Github上取得我製作的列表，按下「View Raw」後全選複製。\n＊如果你有其他想封鎖的網站，請使用下方的uBlock Origin規則產生器。\n2. 手機安裝uBlock Origin # 挑選一款支援擴充功能的瀏覽器，例如Kiwi Browser或Mozilla Firefox。\n下面以Kiwi Browser為例子。\n用Kiwi Browser開啟uBlock Origin的頁面，點選安裝擴充功能\n點一下Kiwi Browser的右上角選單，按一下「擴充功能」 按一下「擴充功能選項」 按一下「自訂靜態過濾規則」的頁籤，在這裡貼上我製作的uBlock Origin列表，再按下藍色勾勾儲存。 接著刻意搜尋內容農場看看，會發現內容農場都不見了。就算搜尋中國的文章，起碼跑出來的也是比較正式的網站。如果發現有誤殺的情況，按一下右上角的選單 → uBlock Origin，將其暫時關閉。\n3. uBlock Origin規則產生器 # 請到這裡：uBlacklist → uBlock Origin規則轉換器\n","date":"2022年9月8日","externalUrl":null,"permalink":"/posts/android-google-search-blacklist/","section":"所有文章","summary":"這篇文章介紹如何在Android手機上過濾(屏蔽)內容農場和採集垃圾站，將他們全部拉清單！！文末提供uBlock Origin快速語法產生器。\n如果你還不知道內容農場(content farm)是什麼，就太LKK了！舉凡「每日頭條」、「壹讀」、「程式人生」、「Getit01」這類盜取其他網站內容(尤其是中國境內的文章)，再轉成繁體騙取Google搜尋排名的，還有將英文stackoverflow翻譯成假問答網站的，以及寫滿「PTT懶人包」的網站都算是內容農場。\n通常這些網站點進去都是廣告，文章根本不是人寫的。Google搜尋結果充斥內容農場，已經嚴重影響到中文搜尋品質，連翻牆的中國人都受不了了。\n在電腦的瀏覽器上有uBlacklist擴充元件和Greasyfork的腳本可以直接對搜尋結果的頁面作修改，讓你根本搜尋不到內容農場。但是Android手機就有點麻煩了，首先最大宗的Google Chrome不支援擴充元件，因此勢必得找替代品。且uBlacklist和Greasyfork的腳本對手機版的Google搜尋無效，所以要換個策略。\n此時「uBlcok Origin」就派上用場了，這個擴充功能Chromium系和Firefox系的瀏覽器皆支援。uBlock Origin除了擋網頁廣告和可疑網站外，uBlock Origin還可以過濾掉網頁元素，具體請看下面分解。\n","title":"Android手機如何用uBlock Origin封鎖Google內容農場網站","type":"posts"},{"content":"Linux From Scratch讓你從頭編譯安裝出一個Linux系統。對，就是完全從原始碼編譯軟體和Linux核心，沒有套件管理員輔助，連檔案系統結構都自己設定。\n這篇文章紀錄我在實機安裝Linux from Scratch系統的過程和訣竅，邊看邊實作大約花了整整2天，而且還沒有安裝X視窗系統。 1. Linux From Scratch簡介 # Linux From Scratch (LFS，直譯為從頭開始的Linux) 是一本Linux的安裝手冊，由Gerard Beekmans等人撰寫，可免費於官方網站 上取得。\n(點選Read Online → Stable LFS 開始閱讀) LFS主要教導使用者如何從原始碼編譯安裝Linux系統，整本書沒有太多理論，大部分都是照書上的說明打指令安裝。本書內容一直有在更新，例如這裡「11.2」就是最新版號。LFS相關工具的版本都有追上最新Linux核心，使用者還能從LFS網站下載書中的軟體原始碼「教材」。\n此外，照著LFS安裝之後是沒有任何圖形界面的，還要閱讀第二集《Beyond Linux From Scratch》了解如何編譯與設定X視窗系統或者Wayland，再安裝桌面環境。\n雖然LFS有簡體中文翻譯版，不過有能力的話看英文版比較好，LFS作者的用語沒有很難理解。\n2. Linux From Scratch安裝訣竅 # 這裡給想照著書上步驟安裝LFS的人一點訣竅。\n首先，推薦透過Linux宿主機安裝Linux from Scratch。也就是在現有的Linux電腦或虛擬機切一個分區用來安裝LFS，並且以chroot設定好LFS的一切東西。這樣做的好處是你可以直接將書中的指令直接複製貼上。我的作法是用Gparted在電腦上切一個64GB的硬碟分區用於安裝LFS，檔案系統為EXT4，LFS的boot分區跟宿主機共用，採用UEFI開機。\nLFS預設採用的init系統是SysVinit風格的，Systemd版本要看另外一本標注有Systemd的書。選擇init系統很重要，因為編譯以及建立檔案的步驟都不太一樣。在LFS 13之後，作者已經放棄支援SysVinit，全面轉向現代的Systemd。\nLFS只有講傳統BIOS的開機方法，在執行到Chapter 10.4步驟時，使用者需要自行參閱BLFS的GRUB段落，了解如何改用UEFI開機。\nLFS共有十個章節，安裝LFS不需要從頭裝到尾不關機，可以退出chroot後休息再來。只要重開機後確認$LFS變數還在，接著mount LFS分區，再按照Chapter 7.3和Chapter 7.4步驟，chroot進去LFS系統，就可以繼續安裝。\n在Chapter 3.1要下載軟體原始碼的時候，可以使用wget-lists-sysv一次下載LFS需要的全部軟體和patch：\nwget --input-file=https://www.linuxfromscratch.org/lfs/view/stable/wget-list-sysv --continue --directory-prefix=$LFS/sources wget --input-file=$LFS/sources/wget-list-sysv --continue --directory-prefix=$LFS/sources Chapter 4.5有提及\u0026quot;SBU\u0026quot;的計量單位，使用者可藉此評估某某軟體的編譯時間。書中皆是以1執行緒為單位計算，比方說Binutils是1 SBU，GCC是11 SBU，你就知道GCC編譯會花很長時間。如果你的電腦硬體比較好，在執行make指令的時候可加上\u0026quot;-j\u0026quot;的參數加快編譯速度，像我的電腦有4核心，所以一律寫成make -j8。\n在進入Chapter 5後會開始編譯軟體。當書中說要編譯某某軟體的時候，使用者要手動切換到$LFS/sources目錄，將對應的軟體原始碼用tar解壓縮，並切換到該目錄，才能繼續操作。例如Chapter 5.2. Binutils-2.39 - Pass 1：\ncd $LFS/sources tar -xvf binutils-2.39.tar.xz cd binutils-2.39 # 接著按照該章節說明編譯軟體 # 如果之後的章節還要重複用到這個目錄，建議跑一次make clean清除上次編譯產生的檔案 Chapter 8每章節編譯軟體後，會有make check的步驟，不可略過，因為要檢查編譯過的軟體是否正常執行，可在指令中加上-j8加快速度。\nChaper 8.50中Pip3安裝套件一律使用Root。Chapter 8.51的Wheel是先解壓縮wheel-0.37.1.tar.gz後進入目錄，才執行pip3 install指令。\nChapter 10.3要編譯Linux核心，建議開啟UEFI的選項。硬碟若為NVME則需要在核心中開啟NVME的config，否則開機會無法掛載。\n如果要跟宿主機共用boot分區，首先將宿主機的boot分區mount到LFS的/boot目錄，接著再安裝Linux核心和GRUB。grub.cfg不需要手動調整，可用grub2-mkconfig -o /boot/grub/grub.cfg自動產生。之後重開機進入BIOS就會看到LFS的開機選項。 3. 寫在最後 # LFS要人全部軟體從頭編譯，讓人體會1980年代Linux剛出來時，人們開發系統的艱辛。\n我用chroot安裝，大部分時候都只是複製貼上指令而已\u0026hellip;可是手動編譯了50個以上軟體，也大致記住如何從原始碼編譯安裝軟體了。最難的還是Linux核心設定部份，有時候我會覺得乾脆拷貝Gentoo官方的核心設定檔來用好了。\n然而這只是開始而已呢，光沒有圖形的系統就手動編譯了50個以上軟體，續集《Beyond Linux From Scratch》還有更多軟體要編譯。畢竟沒有X視窗是很難將Linux當桌面系統的。\n讓我們下次再會吧，在那Linux彼方 (Beyond)。\n","date":"2022年9月5日","externalUrl":null,"permalink":"/posts/install-linux-from-scratch/","section":"所有文章","summary":"Linux From Scratch讓你從頭編譯安裝出一個Linux系統。對，就是完全從原始碼編譯軟體和Linux核心，沒有套件管理員輔助，連檔案系統結構都自己設定。\n這篇文章紀錄我在實機安裝Linux from Scratch系統的過程和訣竅，邊看邊實作大約花了整整2天，而且還沒有安裝X視窗系統。 1. Linux From Scratch簡介 # Linux From Scratch (LFS，直譯為從頭開始的Linux) 是一本Linux的安裝手冊，由Gerard Beekmans等人撰寫，可免費於官方網站 上取得。\n(點選Read Online → Stable LFS 開始閱讀) LFS主要教導使用者如何從原始碼編譯安裝Linux系統，整本書沒有太多理論，大部分都是照書上的說明打指令安裝。本書內容一直有在更新，例如這裡「11.2」就是最新版號。LFS相關工具的版本都有追上最新Linux核心，使用者還能從LFS網站下載書中的軟體原始碼「教材」。\n此外，照著LFS安裝之後是沒有任何圖形界面的，還要閱讀第二集《Beyond Linux From Scratch》了解如何編譯與設定X視窗系統或者Wayland，再安裝桌面環境。\n雖然LFS有簡體中文翻譯版，不過有能力的話看英文版比較好，LFS作者的用語沒有很難理解。\n","title":"實機安裝訣竅與心得：Linux From Scratch + SysVinit","type":"posts"},{"content":"Linux 發行版：Gentoo Linux\n裝完桌面環境後，明明在/etc/portage/make.conf指定了VIDEO_CARDS=\u0026quot;nvidia\u0026quot;，Protage也確實emerge了Nvidia驅動，並將Nouveau移除，重開機後顯示卡卻變成llvmpipe，導致無法使用GPU硬體加速。\n此外用lsmod | grep nvidia發現Nvidia的核心模組並沒有載入，lspci -k發現Nvidia顯示卡的驅動程式還是nouveau。\n後來用以下方式解決。\n編輯/etc/default/grub，將Nouveau加入黑名單，並停用EFI based Framebuffer GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;modprobe.blacklist=nouveau\u0026#34; 更新GRUB設定 sudo grub-mkconfig -o /boot/grub/grub.cfg 重新建立核心模組 sudo emerge --ask @module-rebuild 重開機，使用lsmod | grep nvidia應會看到Nvidia核心模組已經載入。\n如果有使用Flatpak應用程式，還要更新Flatpak應用程式的執行時間：\nflatpak update 參考資料：\nCan\u0026rsquo;t switch from nouveau to nvidia : r/Gentoo - Reddit ","date":"2022年9月1日","externalUrl":null,"permalink":"/posts/gentoo-blacklist-nouveau/","section":"所有文章","summary":"Linux 發行版：Gentoo Linux\n裝完桌面環境後，明明在/etc/portage/make.conf指定了VIDEO_CARDS=\"nvidia\"，Protage也確實emerge了Nvidia驅動，並將Nouveau移除，重開機後顯示卡卻變成llvmpipe，導致無法使用GPU硬體加速。\n此外用lsmod | grep nvidia發現Nvidia的核心模組並沒有載入，lspci -k發現Nvidia顯示卡的驅動程式還是nouveau。\n後來用以下方式解決。\n編輯/etc/default/grub，將Nouveau加入黑名單，並停用EFI based Framebuffer GRUB_CMDLINE_LINUX_DEFAULT=\"modprobe.blacklist=nouveau\" 更新GRUB設定 sudo grub-mkconfig -o /boot/grub/grub.cfg 重新建立核心模組 sudo emerge --ask @module-rebuild 重開機，使用lsmod | grep nvidia應會看到Nvidia核心模組已經載入。\n如果有使用Flatpak應用程式，還要更新Flatpak應用程式的執行時間：\nflatpak update 參考資料：\nCan’t switch from nouveau to nvidia : r/Gentoo - Reddit ","title":"解決Gentoo Nvidia顯示卡專有驅動問題，防止nouveau載入","type":"posts"},{"content":"Docker是很熱門的容器技術，比虛擬機輕量，適合用於各種開發用途。大部分Linux發行版都支援Docker，而Gentoo只要Linux核心有開啟正確選項，同樣能執行Docker。\n只不過Gentoo Wiki有給出提醒：若容器會導致核心錯誤(kernel panic)，會連帶讓宿主機也發生核心錯誤。\n1. 調整核心選項 # 官方預先編譯的sys-kernel/gentoo-kernel-bin預設已經支援Docker。\n若是手動調整核心，參考Gentoo Wiki開啟Docker相關的功能。\n接著用以下指令確認核心與Docker的相容性：\n/usr/share/docker/contrib/check-config.sh 2. 安裝Docker # Gentoo的Docker套件有app-containers/docker和app-containers/docker-cli，FLAG維持預設，直接編譯安裝: sudo emerge --ask --verbose app-containers/docker app-containers/docker-cli 將自己加入Docker群組。然而因執行Docker就等同root，所以還是讓一般用戶維持需要sudo的模式。 sudo usermod -aG docker $USER 將Docker加入開機服務 sudo rc-update add docker default sudo rc-service docker start 為防止Docker出現dial tcp: lookup docker no such host錯誤，編輯/etc/resolv.conf，將DNS伺服器改成只剩Google的： nameserver 8.8.8.8 3. 測試Docker執行狀況 # 試試看執行Hello World sudo docker run --rm hello-world 應會得到以下輸出。 Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the \u0026#34;hello-world\u0026#34; image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/ 接著再測試從Dockerfile建立容器，新增一個叫做\u0026quot;Dockerfile\u0026quot;的檔案，填入以下內容 FROM ubuntu 建立Ubuntu容器 sudo docker build -t my-ubuntu . 應會進到Ubuntu終端機，輸入exit退出。 ivon@Gentoo ~/ $ sudo docker run -it --rm --name running-ubuntu my-ubuntu root@35525e4f1459:/# ","date":"2022年8月31日","externalUrl":null,"permalink":"/posts/gentoo-docker/","section":"所有文章","summary":"Docker是很熱門的容器技術，比虛擬機輕量，適合用於各種開發用途。大部分Linux發行版都支援Docker，而Gentoo只要Linux核心有開啟正確選項，同樣能執行Docker。\n只不過Gentoo Wiki有給出提醒：若容器會導致核心錯誤(kernel panic)，會連帶讓宿主機也發生核心錯誤。\n1. 調整核心選項 # 官方預先編譯的sys-kernel/gentoo-kernel-bin預設已經支援Docker。\n若是手動調整核心，參考Gentoo Wiki開啟Docker相關的功能。\n接著用以下指令確認核心與Docker的相容性：\n/usr/share/docker/contrib/check-config.sh 2. 安裝Docker # Gentoo的Docker套件有app-containers/docker和app-containers/docker-cli，FLAG維持預設，直接編譯安裝: sudo emerge --ask --verbose app-containers/docker app-containers/docker-cli 將自己加入Docker群組。然而因執行Docker就等同root，所以還是讓一般用戶維持需要sudo的模式。 sudo usermod -aG docker $USER 將Docker加入開機服務 sudo rc-update add docker default sudo rc-service docker start 為防止Docker出現dial tcp: lookup docker no such host錯誤，編輯/etc/resolv.conf，將DNS伺服器改成只剩Google的： nameserver 8.8.8.8 3. 測試Docker執行狀況 # 試試看執行Hello World sudo docker run --rm hello-world 應會得到以下輸出。 Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the \"hello-world\" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/ 接著再測試從Dockerfile建立容器，新增一個叫做\"Dockerfile\"的檔案，填入以下內容 FROM ubuntu 建立Ubuntu容器 sudo docker build -t my-ubuntu . 應會進到Ubuntu終端機，輸入exit退出。 ivon@Gentoo ~/ $ sudo docker run -it --rm --name running-ubuntu my-ubuntu root@35525e4f1459:/#","title":"如何在Gentoo Linux上安裝與執行Docker容器","type":"posts"},{"content":"Luanti預設的Minetest Game本體是一個什麼生物都沒有的方塊遊戲。如果要加點挑戰，自己給Luanti基本遊戲裝模組(Mod)是最好的了。自己挑模組的好處是不像玩子遊戲規則被限制，而是可以自由選擇，並自由解除安裝。\n下面列出我嘗試過覺得不錯的模組，推薦給大家。地圖產生器使用v7，應該沒有衝突的情況，不定時更新。\n點中文標題進入該模組的詳細原文頁面查看。若「介紹」欄位有「詳細介紹」，可點入看獨立一篇文章的中文使用說明。\nLuanti ContentDB現支援中文翻譯功能了！請點選官方文件了解如何協助。\n0. Luanti如何安裝模組 # Luanti的模組主要來自ContentDB和Luanti Forum，Minetest中文論壇也有一些模組的翻譯。\nMinetest能同時安裝數十個以上的模組和模組包。多人遊戲和伺服器也可以安裝模組。\n就算是好幾年前的模組在新版本上也有可能開的起來，不然的話自行看Lua原始碼直接改。\nLuanti主程式的「內容」→「瀏覽線上內容」頁面有線上下載模組的功能，所以只要輸入英文名字就能找到，不必手動安裝。但是若模組含有非自由程式碼，或槍枝毒品的成人內容，就得手動到ContentDB網頁下載。 每個模組會有一個識別用的簡短ID。下載後再點選世界，選擇模組，啟用即可。 左邊顯示的「相依元件」代表自動啟用的相依模組。「可選相依元件」代表此模組能與更多模組相容，並互相使用物品。 如果要手動安裝模組，在模組下載之後解壓縮，將目錄移動到Luanti的資料位置的「mods」目錄。\n你可能會問說，模組是否適用於所有子遊戲？要看開發者怎麼寫，大部分的模組都是針對Minetest Game下去設計的，可能無法安裝到其他子遊戲。\n1. 增強遊戲機制 \u0026amp; 工具類 # 增強遊戲功能，以及讓玩家方便做一些事情的模組。 中文名 介紹 英文名 作者 成就 讓玩家有目標。這個模組有提供一套API自訂成就，而內建的成就多半是以挖幾百個方塊為目標這類的。 Awards rubenwardy 環境音效 於遊戲中加入森林鳥叫聲等自然音效。 Ambience Lite TenPlus1 天氣模組包 含有下雨、下雪、冰雹、刮風、沙塵暴等天氣。 Regional Weather Bundle TestificateMods 皮膚管理器 玩家可於遊戲中更換自定義一套皮膚。詳細介紹按這裡 SkinsDB bell07 音效包 texmex製作的各種音效包。 SnowSong texmex 背景音樂 隨機播放背景音樂。詳細介紹按這裡 Music Player Daemon orwell 背景音樂 Nemokitty9製作的背景音樂，隨機播放。 Nemokitty9\u0026rsquo;s Minetest Music Pack nemokitty9 經驗值 加入經驗值機制。 XP Redo BuckarooBanzay 血量升級成就 加入升級機制，升級後血量會增加。 More Upgrade Packs nolombic 3D裝甲 加入裝甲，讓玩家手持物品可見。 3D Armor stu 3D彩繪裝甲 讓玩家可以在盔甲上塗顏色。 Painted 3D Armor Beerholder 遊戲內繪製皮膚 在遊戲內以3D模式繪製皮膚，並可配合SkinDB使用。 Epidermis LMD 飢餓值 加入飢餓值，擴充性高。 Hunger NG Linuxdirk 耐力值、飢餓值 除加入飢餓值外，還有耐力值，會隨著玩家走路、挖礦而下降。 Stamina sofar 進階背包 修改背包界面，讓玩家更方便找到模組物品。 i3 jp 繪製地圖 加入可合成的地圖，另支援多款小遊戲(subgame)。 Cartographer for Minetest Game Hugues Ross 世界編輯器 又名小木斧，加入編輯地圖的指令和工具，可匯入schematic檔案。 WorldEdit Additions Starbeamrainbowlabs 天球背景 使用指令改變天空為高解析度的真實照片，光照固定。 Skybox sofar 真實砍樹 砍遊戲內建的樹，樹會倒下來後噴出木頭。 Treecapitator Oil_boi 玩家動畫 加入第三人稱視角玩家轉頭動畫。 Character Animations LMD 化妝品 可讓玩家改變膚色、換衣服的模組包，還有化妝鏡。 Beauty Pack runs 2. 生物 \u0026amp; 生態類 # 中文名 介紹 英文名 作者 動物界 加入常見的牲畜與小型動物，可養殖獲取資源。 Animalia ElCeejo 動物 加入陸上與水中生物。包含老虎、螃蟹、小鳥等。 Wilhelmines Animal World Liil 很酷的樹木 加入椰子樹、櫻花樹、檸檬樹、竹子等新的樹木。 Cool Trees runs 空靈 利用V7地圖生成器，添加大量生態系、樹木、食物等。 Ethereal NG TenPlus1 空島生物 於Luanti空島生態系(Y\u0026gt;=1280)生成古代生物。 Wilhelmines Living Floatlands Liil 動物 加入牛羊等常見動物。 Mobs Redo TenPlus1 海洋生態 加入珊瑚礁與海洋生物。 Ocean StarNinjas 交易NPC 加入簡易的交易NPC。 Mobs NPC TenPlus1 空中生物 加入蝙蝠、蝴蝶、小鳥。 Sky Mobs TenPlus1 水中生物 加入鱷魚、魚類、水母、鯊魚、烏龜。 Water Mobs TenPlus1 更多樹木 加入紅杉、楊柳、橡樹、棕櫚樹等樹木。此模組會頻繁生成樹木，導致世界變成森林。 More Trees! VanessaE 村莊部落 於各個生態系生成村莊與人類，大部份會跟玩家交易物品，但也要小心食人族。 Native Villages Liil 職業人類 生態系會生成各式各樣的人類，具有各種職業。 Wilhelmines People Liil 村莊 按照生態系，生成各種房屋的大型村莊。 Villages Sokomine 村民 配合Sokomine的村莊模組，生成各個生態系的村民，可對話和交易。 Villagers for Minetest ErrorNull 會做事的村民 加入會自行鋸木、蓋出房子的村民。 Working villages theFox 鹽化沙漠 加入鹽化沙漠生態系，會生成枯灌木，土壤無法種植作物，但可以開採鹽礦。 Saltd runs 沼澤 加入溫暖與潮濕的沼澤生態系，常常下雨。有獨特的植物和泥巴方塊。 SwampZ runs 地下世界 新增62個地下生態系，按照漆黑程度、濕度、壓力所生成。地底下有許多獨特的植物、石頭。 Underground Challenge Hume2 水中生物 加入河裡與海裡的生物，包括鯨魚、食人魚等，珊瑚礁還會被海膽吃掉，營造出活生生的感覺。 Water Life Gundul 裝飾用的蜜蜂 Minetest Game預設只有二個光點組成的蝴蝶，現在有了蜜蜂。 Wisps ElCeejo 更多植物 加入更多地面上的植物、水果樹叢，地上會出現灌木、倒下的樹、蘑菇、小石頭。 Plantlife VanessaE 寵物 各式各樣可馴養的小動物，從貓、狗、鴨子到小鳥、青蛙、蜘蛛、魚類、熊貓都有。 Petz runs 恐龍 以動物園大亨為藍本設計，加入史前生物和恐龍，玩家亦要負起照顧他們的責任。 PaleoTest ElCeejo 時間旅行 穿越到不同維度，體會史前生態。 Time Travel Red_King_Cyclops 多重維度 加入了不同維度的世界，沒有生物。 Multidimensions AiTechEye 人類與動物 整合許多模組特色的，加入村莊、動物、人類、植物，並改善遊戲UI外觀。 A Planet Alive daret 小女僕 加入會幫你幹活的小女僕。 Maidroid NG mazes 火山 於世界中生成火山。分為活火山、休眠火山、死火山，可於Mod設定檔裡面調整個別生成機率。火山口岩漿會有滾燙起伏的特效。火山柱一路貫穿道地底下，可深至一千格。配合namegem模組給火山隨機命名，玩家爬上後會顯示名字，體會登山樂趣。 Magma conduits and volcanoes FaceDeer 土石流 有很小機率會在世界中任一草地或沙子方塊上生成土石流。一段時間後會凝固，變回泥土或沙子。 Mud Slide ch98 潮汐 讓海水隨時間漲潮退潮。退潮時此模組會直接移除海平面以上的水節點。 Tides markthesmeagol 澳洲地景 加入澳洲特有的紅土生態系、樹木、湖泊。 Australia demon_boy 紐西蘭奧特亞羅瓦 意思為綿綿白雲之鄉。加入紐西蘭的森林生態系。 Aotearoa Dokimi 夏日時光 加入洋傘、海灘球、浮板等夏日元素。 SUMMER ulla 龍捲風 用木棒右鍵召喚會捲起方塊的龍捲風。 Tornado bloxrcode 太空 玩家可以登陸方塊行星。 Space AiTechEye 傑克與魔豆 在世界中長出通天巨大藤蔓。 Beanstalks Kilarin 3. 怪物類 # 中文名 介紹 英文名 作者 哥布林 於地底下生成哥布林地牢，裡面有寶箱。 Goblins FreeLikeGNU 地獄 建造黑曜石傳送門抵達。這個地獄是生成在Y軸-5000以下，不是異世界，預設只有岩漿的生態系。 Nether PilzAdam 地獄生物 於地獄生態系加入生物。 Wilhelmines Living Nether Liil 不簡單的怪物 在世界中加入具有挑戰性的Boss。 Not So Simple Mobs TenPlus1 怪物 世界光線灰暗之處會生成小怪攻擊玩家。 Mobs Monster TenPlus1 龍 按照生態系不同，會生成各種元素的龍。擊敗他們之後玩家可孵化龍蛋馴養自己的龍，並製作龍族的裝備。 Draconis ElCeejo D怪物 加入龍、動物、怪物。 Dmobs TenPlus1 4. 農業類 # 中文名 介紹 英文名 作者 農業 以Minetest Game為基礎，加入更多自然生成的作物。 Farming Redo TenPlus1 水中植物 在水底下種植海藻類的植物。 Aqua Farming Clyde X農業 加入骨粉、更多蔬菜水果，以及冰釣機制。 X Farming SaKeL 農業機器 加入自動播種和收割機器。 Farming_NG Gundul 農業 加入蔬菜水果，還有鹽巴，挖土會得到種子。 Agriculture jbb 養蜂 加入蜜蜂和蜂巢。 Bees TenPlus1 毒品戰爭 種植毒品、使用吸食毒品的用具。在吸食毒品後會獲得短暫的正負面狀態效果，藥效太強還會成癮。 Drug Wars LorenzoVulcan 5. 科技 \u0026amp; 魔法類 # 中文名 介紹 英文名 作者 電路 等同Minecraft的紅石，功能更強。 Mesecons Jeija 科技時代 加入許多工業機器，分成鐵器、蒸氣、石油、現代、未來等工業科技等級。 Techage Modpack joe7575 科技 加入工業機器和礦物。 Technic Technic 傳送艙 玩家可在多個傳送艙之間快速移動。 Travelnet Sokomine 電梯 垂直上升的電梯，而不是用傳送的。 Realtime Elevator Herkules 煉金術 加入魔法藥水、特殊植物、奇幻生物。 Alchemy TheAlchemist0033 生質燃料 使用種子、植物製作燃料。 Biofuel Lokrates 更多燃料 加入汽油、石油、柴油，可用於給一些交通工具模組加油。 More Fuels pl608 6. 建築 \u0026amp; 裝飾類 # 中文名 介紹 英文名 作者 家具 加入可互動的室內家具。 Ma \u0026amp; Pop\u0026rsquo;s Furniture Mod GamingAssociation39 村莊建材 加入中世紀元素的村莊建材。 Cottages Sokomine 不規則形狀的岩石 非方形的石頭，讓你的家園有更多裝飾選擇。 Rocks Just_Visiting 更多方塊 加入更多建築方塊。 More Blocks Calinou 石頭工藝 加入更多石頭建材，包括石柵欄、石牆等。 Stoneworks TumeniNodes 立面 加入裝飾性的立面建材。 Facade TumeniNodes 旋轉牆壁 加入各種旋轉角度的牆壁建材。 Angled Walls TumeniNodes 烤肉 加入烤肉器具和相關食物。 Your Dad\u0026rsquo;s BBQ Mod Grizzly Adam 畫板 用畫筆在遊戲內的畫板上作畫。 Painting 3 SFENCE 雕刻小方塊 在遊戲內建立方塊雕刻小作品。 Sculpture SFENCE 齒輪與輪軸 加入會轉動的齒輪與風車，裝飾用。 Gears and axles stu 水車 加入會轉動的水車，裝飾用。 Watermill AspireMint 7. 武器類 # 中文名 介紹 英文名 作者 槍械 加入遠距離武器：槍械、手榴彈、手裏劍。 RangedWeapons davidthecreator 現代弓 更真實的射箭物理軌跡，射箭時必須蹲下。 NextGen Bows StarNinjas CTF槍械 結合奪旗子遊戲和RangedWeapons模組，創造出適合PVP使用的槍械模組。 Nate\u0026rsquo;s CTF Guns cracksmoka420 8. 交通工具類 # 中文名 介紹 英文名 作者 進階火車 加入鐵軌、蒸氣火車頭、電車，可開啟車門並乘坐上去。 Advanced Trains orwell 快速挖掘隧道 加入快速挖掘火車隧道、造橋的工具。 Tunnelmaker kestral 水上飛機 加入水上飛機。 Super Duck Hydroplane Apercy Ju52 加入德國Ju52運輸機 Ju52 Apercy 蒸氣龐克飛船 加入可站立於上的飛行船。 Steampunk Blimp Apercy 潛水艇 加入小型潛水艇。 Nautilus Apercy 車子 加入古典汽車和現代跑車。 Automobiles Pack Apercy 機動船 加入快速移動的機動船。 Motorboat apercy 真實滑翔翼 加入更真實物理的滑翔翼。 Realistic Hang Glider CBugDCoder 腳踏車 加入腳踏車和安全帽。 Bike Hume2 車子 提供交通工具API，內含一些車子。 Vehicles D00Med 9. 教育類 # 中文名 介紹 英文名 作者 教室 給學生玩家分組、設定權限。 Classroom rubenwardy 程式機器人 加入可視化程式機器人，學習程式概念。詳細介紹按這裡 LWScratch loosewheel 10. 伺服器管理類 # 中文名 介紹 英文名 作者 領地 玩家透過領地方塊佔有區塊，其他玩家除非有被加入群組，否則不可於別人的領地挖掘、放置方塊。 Land Claim 0gb.us 白名單 被指定的玩家才可加入多人遊戲世界。 Whitelist Zughy 反作弊 偵測並管理玩家作弊行為，例如飛行。 Anticheat rnd 伺服器統計 以圖表方式統計伺服器的玩家人數、聊天人數等資料，並有API能擴充。 DataMiner sorcerykid Discord聊天中繼 提供Minetest與Discord之間的中繼終端機界面。 Discord-Minetest Relay archfan7411 ","date":"2022年8月22日","externalUrl":null,"permalink":"/posts/minetest-mod-list/","section":"Luantis","summary":"Luanti預設的Minetest Game本體是一個什麼生物都沒有的方塊遊戲。如果要加點挑戰，自己給Luanti基本遊戲裝模組(Mod)是最好的了。自己挑模組的好處是不像玩子遊戲規則被限制，而是可以自由選擇，並自由解除安裝。\n下面列出我嘗試過覺得不錯的模組，推薦給大家。地圖產生器使用v7，應該沒有衝突的情況，不定時更新。\n點中文標題進入該模組的詳細原文頁面查看。若「介紹」欄位有「詳細介紹」，可點入看獨立一篇文章的中文使用說明。\nLuanti ContentDB現支援中文翻譯功能了！請點選官方文件了解如何協助。\n0. Luanti如何安裝模組 # Luanti的模組主要來自ContentDB和Luanti Forum，Minetest中文論壇也有一些模組的翻譯。\nMinetest能同時安裝數十個以上的模組和模組包。多人遊戲和伺服器也可以安裝模組。\n就算是好幾年前的模組在新版本上也有可能開的起來，不然的話自行看Lua原始碼直接改。\nLuanti主程式的「內容」→「瀏覽線上內容」頁面有線上下載模組的功能，所以只要輸入英文名字就能找到，不必手動安裝。但是若模組含有非自由程式碼，或槍枝毒品的成人內容，就得手動到ContentDB網頁下載。 每個模組會有一個識別用的簡短ID。下載後再點選世界，選擇模組，啟用即可。 左邊顯示的「相依元件」代表自動啟用的相依模組。「可選相依元件」代表此模組能與更多模組相容，並互相使用物品。 如果要手動安裝模組，在模組下載之後解壓縮，將目錄移動到Luanti的資料位置的「mods」目錄。\n","title":"Luanti有趣的模組(Mods)列表 + 模組安裝教學","type":"luanti"},{"content":"","date":"2022年8月22日","externalUrl":null,"permalink":"/tags/linux-deploy/","section":"標籤","summary":"","title":"Linux Deploy","type":"tags"},{"content":"Linux Deploy需要Root權限。沒有Root權限請改用Termux Proot-distro。\nLinux Deploy可在手機上以chroot安裝Linux發行版，包含Ubuntu、Alpine、Arch、Debian、Kali、Fedora、CentOS、Gentoo、Slackware，要用自己的rootfs安裝也行。\n然而Linux Deploy已經很久沒更新了，新版本Android會出現各種問題。如果你很在意這一點請考慮手動用Termux建立chroot環境。\n本篇介紹如何在手機用Linux Deploy安裝Ubuntu 18.04，以及做些後續優化。 1. 安裝Busybox # Linux Deploy需要Busybox才能運作。Busybox內含常用的Linux指令執行檔，能夠補全Android系統缺少的指令。\nAndroid 11以上用Magisk模組\u0026quot;busybox-ndk\u0026quot;安裝Busybox最省事。或者使用Magisk內建的Busybox。\n安裝這個新版本Magisk模塊管理器：FoxMagisk Module Manager\n從裡面搜尋\u0026quot;Builtin Busybox\u0026quot;，安裝Magisk模塊，重開機。\n2. Linux Deploy安裝Ubuntu 18.04 # Linux Deploy在設定chroot時很容易下載錯誤。確保網路順暢，或者把下載的來源網址(source path)改成台灣伺服器。不然一個套件下載失敗(“Cannot download xxx”)，VNC無法啟動，整個系統就要重裝。\n從Google Play下載Linux Deploy，啟動後先點選右上角選項。 發行版選擇Ubuntu，架構選擇arm64。源地址可替換成台灣的站點: http://free.nchc.org.tw/ubuntu-ports ，加快下載速度 (感謝Ubuntu正體中文社團的協助) 安裝類型鏡像文件的意思就是將系統儲存成一個.img檔案，鏡像大小至少要20GB才夠，不夠可再用Termux執行resize2fs擴充。用戶名則是你的使用者帳號。 本地化設定為「英文」 允許使用初始化系統 啟用SSH和PulseAudio音訊輸出 圖形介面選擇XFCE4，使用VNC連線。 回到主畫面，點選右上角「安裝」，開始下載安裝。等到終端機出現\u0026lt;\u0026lt;\u0026lt;deploy就表示完成。 按下「啟動」，啟動系統。注意要看終端機有無出現Fail的錯誤訊息。 3. 使用VNC Viewer連線到Linux Deploy桌面 # 下載RealVNC Viewer，新增連線，IP填寫localhost，連線進去的密碼就是在Linux Deploy設定使用者的密碼。 正常顯示桌面，圖為Firefox瀏覽器，需要自行安裝Google Noto Sans來顯示中文字型。 「關機」的方法是按「停止」出現\u0026lt;\u0026lt;\u0026lt;stop後，左邊側欄滑出來按「退出」。 4. Linux Deploy後續優化 # 4.1. 安裝中文字型和瀏覽器 # Google Noto Fonts支援大多數語言字體。\nsudo apt update sudo apt upgrade -y sudo apt install noto-fonts firefox 4.2. 設定Linux Deploy音效輸出 # 參考外部連結：新奇玩法 Linux Deploy tts声音输出方法\n4.3 修正終端機亂碼問題 # 透過以下指令修改root密碼： sudo passwd root 讓終端機顯示目前工作目錄。用VIM編輯/etc/sudoers，在root下面加入自己的使用者名稱： android ALL=(ALL:ALL) ALL Linux Deploy使用SSH或VNC登入時，終端機上下鍵切換指令會出現亂碼。使用以下指令修改使用者的預設shell成bash再重新登入: sudo chsh -s /bin/bash \u0026lt;使用者名稱\u0026gt; 4.4. 更換VNC Server # Linux Deploy預裝的VNC不支援軟體解碼3D，因此改用TigerVNC： sudo apt install tigervnc-standalone-server tigervnc-common 啟動vncserver，這條指令是在ssh內輸入 vncserver -localhost no -geometry 1280x720 接著再用RealVNC Viewer連線，如果崩潰試試不設密碼: vncserver -localhost no -geometry 1280x720 -SecurityTypes none --I-KNOW-THIS-IS-INSECURE 4.5. 補齊sources.list # Linux Deploy預設的sources.list軟體庫太少了，用VIM編輯/etc/apt/sources.list修改為如下(“focal”是20.04的版本代號):\ndeb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse deb http://archive.canonical.com/ubuntu focal partner deb-src http://archive.canonical.com/ubuntu focal partner 4.6. 升級至Ubuntu 20.04 # 用VNC登入桌面後，用終端機安裝更新器： sudo apt install update-manager-core 更新全部套件至最新版 sudo apt update \u0026amp;\u0026amp; sudo apt upgrade sudo do-release-upgrade 如果出現authenticate 'focal.tar.gz' against 'focal.tar.gz.gpg' Authentication failed錯誤，先安裝gnupg並執行以下指令: sudo apt install gnupg gnupg1 gnupg2 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C 再度執行： sudo do-release-upgrade 輸入y開始更新系統，按照螢幕終端機的指示更新。 4.7. 使用Termux ssh進chroot # Termux是一款好用的終端機模擬器，在chroot執行時，也可以用Termux以SSH連線進系統： ssh android@localhost 還可以從Termux傳輸檔案至chroot桌面： scp \u0026lt;本機檔案\u0026gt; android@localhost:/home/android/Desktop ","date":"2022年8月22日","externalUrl":null,"permalink":"/posts/android-linux-deploy/","section":"所有文章","summary":"Linux Deploy需要Root權限。沒有Root權限請改用Termux Proot-distro。\nLinux Deploy可在手機上以chroot安裝Linux發行版，包含Ubuntu、Alpine、Arch、Debian、Kali、Fedora、CentOS、Gentoo、Slackware，要用自己的rootfs安裝也行。\n然而Linux Deploy已經很久沒更新了，新版本Android會出現各種問題。如果你很在意這一點請考慮手動用Termux建立chroot環境。\n本篇介紹如何在手機用Linux Deploy安裝Ubuntu 18.04，以及做些後續優化。 1. 安裝Busybox # Linux Deploy需要Busybox才能運作。Busybox內含常用的Linux指令執行檔，能夠補全Android系統缺少的指令。\nAndroid 11以上用Magisk模組\"busybox-ndk\"安裝Busybox最省事。或者使用Magisk內建的Busybox。\n安裝這個新版本Magisk模塊管理器：FoxMagisk Module Manager\n從裡面搜尋\"Builtin Busybox\"，安裝Magisk模塊，重開機。\n2. Linux Deploy安裝Ubuntu 18.04 # Linux Deploy在設定chroot時很容易下載錯誤。確保網路順暢，或者把下載的來源網址(source path)改成台灣伺服器。不然一個套件下載失敗(“Cannot download xxx”)，VNC無法啟動，整個系統就要重裝。\n","title":"Linux Deploy使用教學:在Android手機安裝Linux chroot容器","type":"posts"},{"content":"Ubuntu Touch是手機Linux行動作業系統，原本是由Ubuntu母公司Canonical開發，現由UBports基金會維護。 特色是界面設計較完善，有各國語言和輸入法。桌面環境是Lomiri(Unity 8)，系統基於Ubuntu 20.04。\n目前UBports致力於將Ubuntu Touch移植到舊款的Android手機，有些機型會使用Halium Project的相容層解決硬體問題，但不見得能跑最新主線Linux核心。\n為簡化安裝流程，凡是有在官方支援的機型列表，皆可透過官方提供的安裝器Ubports Installer刷入手機。\n相較之下，如果該機型只有unofficial port(非官方移植)的，就要手動刷入作者提供的原廠Android韌體和Ubuntu Touch刷機包。\n下面例子中，我的手機為官方支援的小米Pocophone F1，電腦為Ubuntu 20.04。\n1. 安裝UBports Installer # 到官網下載安裝器，支援Linux/Windows/MacOS系統。\nUbuntu 20.04以上可直接用Snap安裝:\nsudo snap install ubports-installer 2. 刷入Ubuntu Touch # 手機重開機至fastboot，連到電腦。\nUBports Installer應會自動識別裝置，之後按照螢幕操作，就會開始下載安裝包。 刷入之後可能還要手動重開機進Recovery，繼續按照螢幕指示，等它跑完。 之後手機重開機，安裝就完成了。\n3. 後續安裝優化 # 參見Ubuntu touch使用技巧\n4. 延伸閱讀 # Ubuntu Touch官網 Ubuntu Touch論壇 ","date":"2022年8月22日","externalUrl":null,"permalink":"/posts/ubuntu-touch-ubports-installer/","section":"所有文章","summary":"Ubuntu Touch是手機Linux行動作業系統，原本是由Ubuntu母公司Canonical開發，現由UBports基金會維護。 特色是界面設計較完善，有各國語言和輸入法。桌面環境是Lomiri(Unity 8)，系統基於Ubuntu 20.04。\n目前UBports致力於將Ubuntu Touch移植到舊款的Android手機，有些機型會使用Halium Project的相容層解決硬體問題，但不見得能跑最新主線Linux核心。\n為簡化安裝流程，凡是有在官方支援的機型列表，皆可透過官方提供的安裝器Ubports Installer刷入手機。\n相較之下，如果該機型只有unofficial port(非官方移植)的，就要手動刷入作者提供的原廠Android韌體和Ubuntu Touch刷機包。\n下面例子中，我的手機為官方支援的小米Pocophone F1，電腦為Ubuntu 20.04。\n1. 安裝UBports Installer # 到官網下載安裝器，支援Linux/Windows/MacOS系統。\nUbuntu 20.04以上可直接用Snap安裝:\nsudo snap install ubports-installer 2. 刷入Ubuntu Touch # 手機重開機至fastboot，連到電腦。\nUBports Installer應會自動識別裝置，之後按照螢幕操作，就會開始下載安裝包。 ","title":"Ubuntu Touch安裝器：Ubports Installer下載與使用","type":"posts"},{"content":"2022年2月4日。\n這張專輯嗑藥嗑太多了，因為很多歌名就包含毒品。雖然歌曲內容是The Flaming Lips一貫的迷幻風格，歌詞也是描述致幻感覺，但是在字裡行間也有透露出要探討的主題，包括個人生活，戰爭，死亡。\n另外2020年正好是Covid-19大流行時，他們在奧克拉荷馬州舉辦的100人防疫泡泡演唱會演唱的就是這張專輯的曲目。\n專輯台灣沒有正式譯名， “American Head”這個名字從歌詞來看，可以解作「美國人的精神」吧，下面會再細說。\n1. 曲目 # Will You Return / When You Come Down Watching the Lightbugs Glow Flowers of Neptune 6 Dinosaurs on the Mountain At the Movies on Quaaludes Mother I’ve Taken LSD Brother Eye You n Me Sellin’ Weed Mother Please Don’t Be Sad When We Die When We’re High Assassins of Youth God and the Policeman My Religion Is You 2. 單曲概述 # 有些曲子旋律是連在一起的。\nWill You Return / When You Come Down # 歌曲說你的朋友都死了，但這是倒過來的說法，準確來說是當事人死了。\nWatching the Lightbugs Glow # 看著燈蟲閃耀，好似美麗，但是下一首歌將戳破這一虛幻的景象。\nFlowers of Neptune 6 # 為什麼死的會是他們，接下來就輪到我了…。我覺得前三首可能是抽象的描述戰爭的死亡，以及悲痛。所謂的燈蟲可理解成戰鬥的火光，或是死前的回憶。\nDinosaurs on the Mountain # 這首歌是轉折點，主角想像著以前恐龍是怎麼滅亡的。也許是借古諷今，覺得與其戰爭，不如看恐龍在大地上跑跑跳跳。\nAt the Movies on Quaaludes # 從這裡開始就開始吸食迷幻藥物了(Quaaludes=安眠酮)，通篇呈現快活的氣氛，忘記自己還活著的感覺。這首有出現專輯的名字:\nIt’s the American dream. In the American head\n美國人的腦袋瓜裡，作著美國夢。只是這種夢是藥物帶來的，虛無的夢。\nMother I’ve Taken LSD # LSD是1960年代很熱門的藥物，很多知名樂團如披頭四都曾吸食。以為吸食LSD能解脫，但卻是讓我更加清醒，看見所有悲傷。副歌部分應該就是表達這種Bad Trip的感覺，無限放大的感官，所導致的巨大悲傷。\nBrother Eye # 稍微清醒了，幻視到可能死去的哥哥吧，他覺得哥哥對他來說太陽一般閃耀，才會希望他還活著。\nYou n Me Sellin’ Weed # 這首聽起來蠻好聽的，不過內容卻是表達無力感。女的在屠宰場工作，男的在賣大麻。歌曲中出現的人名可能就是此專輯男女主角的名字，晚到現在才出現。\n此時接近吸毒的尾聲，雖然還是希望能找到樂園(或是太空船來把我們帶走)，但是已經快認清現實的情況下，音樂末尾卻出現了救護車和消防車的音效，發生了什麼?\nMother Please Don’t Be Sad # 訣別書，安慰母親，吩咐要顧好後事。只不過看似輕柔的旋律，說是有搶劫犯沖進來，他們的槍，他們的憤怒，我無法抵抗。\nWhen We Die When We’re High # 主角死了嗎? 整首只有一句在最high時死亡。也許主角生理上沒死。用比較現實的角度看，吸大麻被警察抓，似乎也能解釋這個劇情。而這首歌就是描述這種迷幻又煎熬的場景。\nAssassins of Youth # 到這裡講的是你的另一半死去了，懷念年少的自己。歌詞的Sugar能解作女友，也許能指稱迷幻藥? 扼殺青年的殺手。或許經過這番吸毒的經歷，不那麼光彩的成長了許多，在心理上年少的自己被殺死，生理上藥物也毀滅了自己的心靈健康。\nGod and the Policeman # 這首就是在祈求原諒。他認為自己做的是最好的選擇，因此請求世俗(警察)和神聖(神)能理解他的行為。\nMy Religion Is You # 主角苟活下來，經歷了一些大事件後，反省到自身身邊所能關心到的最親人物。\nI don’t need no religion. You’re all I need. You’re the thing I believe in.\n不需要宗教，我的信仰便是你。這句話實在很容易讓連聯想到John Lennon寫過的God，說不需要任何信仰，我只相信我自已。\n但是這首歌也沒有鄙視其他宗教，你信什麼，是值得驕傲的:\nIf being a Christian. Is your thing, then own it, friend. Don’t phone it in.\n3. 總結 # 又一張傑作，比起創新，這比較像是回顧過去幾年的事件總結出來的作品。描寫的時代應該是1960~1970嬉皮士的時代，最終的救贖只有My Religion Is You表達的簡單情感。\n除了悅耳的迷幻旋律外，探討的主題不免給人有點距離感，充滿頹廢的象徵，但是最後給的啟示卻是回到簡單的自我，也許跟1970年代人們看透嬉皮夢想的想法是一致的。\n","date":"2022年8月22日","externalUrl":null,"permalink":"/posts/the-flaming-lips-american-head-review/","section":"Musics","summary":"2022年2月4日。\n這張專輯嗑藥嗑太多了，因為很多歌名就包含毒品。雖然歌曲內容是The Flaming Lips一貫的迷幻風格，歌詞也是描述致幻感覺，但是在字裡行間也有透露出要探討的主題，包括個人生活，戰爭，死亡。\n另外2020年正好是Covid-19大流行時，他們在奧克拉荷馬州舉辦的100人防疫泡泡演唱會演唱的就是這張專輯的曲目。\n專輯台灣沒有正式譯名， “American Head”這個名字從歌詞來看，可以解作「美國人的精神」吧，下面會再細說。\n1. 曲目 # Will You Return / When You Come Down Watching the Lightbugs Glow Flowers of Neptune 6 Dinosaurs on the Mountain At the Movies on Quaaludes Mother I’ve Taken LSD Brother Eye You n Me Sellin’ Weed Mother Please Don’t Be Sad When We Die When We’re High Assassins of Youth God and the Policeman My Religion Is You 2. 單曲概述 # 有些曲子旋律是連在一起的。\nWill You Return / When You Come Down # 歌曲說你的朋友都死了，但這是倒過來的說法，準確來說是當事人死了。\nWatching the Lightbugs Glow # 看著燈蟲閃耀，好似美麗，但是下一首歌將戳破這一虛幻的景象。\nFlowers of Neptune 6 # 為什麼死的會是他們，接下來就輪到我了…。我覺得前三首可能是抽象的描述戰爭的死亡，以及悲痛。所謂的燈蟲可理解成戰鬥的火光，或是死前的回憶。\n","title":"專輯評價: The Flaming Lips - American Head (2020)","type":"music"},{"content":"如果有root權限，喜歡刷機的，為了避免刷到開不了機，可以先用第三方Recovery “TWRP”或”Orangefox”製作整機備份。這樣就算刷壞了，只要Recovery還進得去，就可以完全還原到刷機前的狀態。 *Orangefox是基於TWRP的第三方recovery，功能類似。\n*每支手機各有專用的TWRP，請自行到XDA尋找。\n*整機備份仍然有無法還原的風險，例如檔案毀損，請勿完全依賴此方法來備份重要資料。\n1. TWRP/Orangefox可以備份的項目 # 以Android 11來說，TWRP預設是備份到內部儲存空間(Internal Storage, 路徑:/sdcard)，如果容量夠大也可以放SD卡/OTG。備份前你的手機容量應該還要有一半以上。\n以下分區全部備份的話就幾乎等同整機備份了，有些手機data以外的分區會合併顯示成”super”，常見的有以下幾種:\nboot分區 recovery分區 system分區 data分區 不過還是有例外，手機內部儲存空間TWRP不會備份，因為TWRP會把備份檔案儲存到/sdcard/TWRP。此外還原系統後螢幕鎖定密碼可能會被清除，某些APP可能也會無法運作。\n因此製作好備份後，你應該把備份檔案移動到外部空間: 電腦或者隨身碟，免得後來刷機清除該分區把資料一起洗掉了。\n2. 如何使用TWRP/Orangefox備份系統 # 預估備份檔案大小: 手機開機時顯示共使用100GB，備份後的檔案大小約50GB。\n如果你是TWRP: 開機進入畫面，點選Backup，全部分區都打勾，滑動Swipe to Backup。 如果你是Orangefox: 開機進入畫面，點選Backups→New Backup，全部分區都打勾，滑動Swipe to Backup。 備份後的檔案預設會儲存至/sdcard/TWRP或/sdcard/Fox。\n3. 妥善保存備份檔案 # 將處在Recovery模式的手機接上電腦，用MTP把檔案傳輸到電腦；或者用OTG傳輸到隨身碟。\n如果嫌MTP太不穩，可以下載ADB，用ADB指令搬移會比較穩定點:\nadb pull /sdcard/TWRP \u0026lt;電腦上的路徑\u0026gt; 備份到電腦上大概長這樣: 4. 如何使用TWRP/Orangefox還原系統 # 如果你有刷不同的ROM，建議先把系統和內部儲存空間清除，再來還原系統。\n在內部儲存空間已被清除，而備份檔位於電腦的情況下，用ADB把檔案移回手機:\nadb push \u0026lt;備份檔路徑\u0026gt; /sdcard/TWRP 如果你是TWRP: 開機進入畫面，點選Restore，開始還原 如果你是Orangefox: 開機進入畫面，點選Backup，點選顯示的備份檔案，滑動Swipe to Restore。 5. 總結 # 這是適合刷機用戶使用的備份手段；如果只要備份應用程式，請用鈦備份。\n","date":"2022年8月22日","externalUrl":null,"permalink":"/posts/twrp-backup-system/","section":"所有文章","summary":"如果有root權限，喜歡刷機的，為了避免刷到開不了機，可以先用第三方Recovery “TWRP”或”Orangefox”製作整機備份。這樣就算刷壞了，只要Recovery還進得去，就可以完全還原到刷機前的狀態。 *Orangefox是基於TWRP的第三方recovery，功能類似。\n*每支手機各有專用的TWRP，請自行到XDA尋找。\n*整機備份仍然有無法還原的風險，例如檔案毀損，請勿完全依賴此方法來備份重要資料。\n1. TWRP/Orangefox可以備份的項目 # 以Android 11來說，TWRP預設是備份到內部儲存空間(Internal Storage, 路徑:/sdcard)，如果容量夠大也可以放SD卡/OTG。備份前你的手機容量應該還要有一半以上。\n以下分區全部備份的話就幾乎等同整機備份了，有些手機data以外的分區會合併顯示成”super”，常見的有以下幾種:\nboot分區 recovery分區 system分區 data分區 不過還是有例外，手機內部儲存空間TWRP不會備份，因為TWRP會把備份檔案儲存到/sdcard/TWRP。此外還原系統後螢幕鎖定密碼可能會被清除，某些APP可能也會無法運作。\n","title":"使用TWRP/Orangefox給Android手機整機備份","type":"posts"},{"content":"現在Waifu2x有手機版APP了。\nWaifu2x利用AI神經網路技術，把模糊的小型圖片放大到高解析度，並去除躁點，非常適合用於動漫圖片，甚至還能放大影片。 Waifu2x有很多網站可以幫你處理，就是把圖片上傳之後丟給伺服器，然後再回傳結果給你下載。當然顯示卡夠強的話，你也可以下載這類程式，用自己的電腦跑，而且速度也不差。\n隨著手機處理器越來越強，這類的計算是否也能在手機上跑呢? 目前Android和iOS各有一款「真」Waifu2x，是用手機GPU去跑的，不用網路。本文介紹將簡介這二款應用程式。\n1. Waifu2x ncnn (Android) # Google Play下載 這款APP主要利用的是ncnn-vulkan的技術，選擇圖片後最多可放大16倍，降躁x3。\n處理圖片時GPU會飆到將近100%，手機RAM不夠的APP可能會直接閃退。 放大圖片(尺寸22x236 → 3376x1888)也會增加圖片容量，29KB的圖片放大8倍後就變成2.3MB了。\n2. Waifu2x (iOS) # App Store下載 這款APP可以放大圖片、GIF、影片，主要採用的是iOS Core ML的技術，模型則有SRCNN、Cunet、PAN、Real-ESRGAN。另外有內建一些付費模型，加快圖片處理速度。\n因為有針對記憶體用量優化，在比較舊的iPhone SE上跑，這款APP也不會閃退，但處理時間就會變長。\n3. 總結 # Waifu2x的技術其實也可以用來放大照片，但是油畫感很重。\n","date":"2022年8月22日","externalUrl":null,"permalink":"/posts/waifu2x-mobile/","section":"所有文章","summary":"現在Waifu2x有手機版APP了。\nWaifu2x利用AI神經網路技術，把模糊的小型圖片放大到高解析度，並去除躁點，非常適合用於動漫圖片，甚至還能放大影片。 Waifu2x有很多網站可以幫你處理，就是把圖片上傳之後丟給伺服器，然後再回傳結果給你下載。當然顯示卡夠強的話，你也可以下載這類程式，用自己的電腦跑，而且速度也不差。\n隨著手機處理器越來越強，這類的計算是否也能在手機上跑呢? 目前Android和iOS各有一款「真」Waifu2x，是用手機GPU去跑的，不用網路。本文介紹將簡介這二款應用程式。\n1. Waifu2x ncnn (Android) # Google Play下載 這款APP主要利用的是ncnn-vulkan的技術，選擇圖片後最多可放大16倍，降躁x3。\n處理圖片時GPU會飆到將近100%，手機RAM不夠的APP可能會直接閃退。 放大圖片(尺寸22x236 → 3376x1888)也會增加圖片容量，29KB的圖片放大8倍後就變成2.3MB了。\n2. Waifu2x (iOS) # App Store下載 這款APP可以放大圖片、GIF、影片，主要採用的是iOS Core ML的技術，模型則有SRCNN、Cunet、PAN、Real-ESRGAN。另外有內建一些付費模型，加快圖片處理速度。\n","title":"【Android/iOS】手機版的Waifu2x，用AI放大圖片","type":"posts"},{"content":"2022年1月23日。\n正文 # 我認為課本之於講義的好處是，編輯部會認真編排。編輯部要認真設計過整體的閱讀流程，而不是像講義就是重點抓出來。因此回應主題所說，課本比較容易使人有探索知識的慾望，並非是填鴨學習重點，而忽略了整體邏輯。因此這裡我要談論的是高中三年一次都沒有及格過的數學課本，帶給我的感受，包括為何課本是必備的，以及課本對於知識學習的幫助。\n高中老師都是直接上講義，數學課本形同虛設。出版社所出版的講義真是十分方便練習題目: 每個單元列出重點，並馬上寫練習題。至於推倒原理要看老師功夫。從這點來，課本是好朋友。課本的敘述會像是在講故事，並且附上推論過程。此外，課本每一章會用為什麼開頭，為什麼數線要定義無理數，序數的實際用途，還有平均差在統計中有什麼意義。如果其中有對你來說有用的入手點，學習就值得了。我個人是覺得三角函數著實有用，在計算三維座標時絕對會用到，因此這門學科對我而言產生價值，我會花心力去學。並且一步步地解說，依循課本的思路就會變成是在了解知識，而不是因為會考，或不會考，我才去學。\n再來看看出版社精心準備的講義。在學期剛開始，看到講義，然後在聽老師劈哩啪啦的講，接著別問，問就是做題，要多寫才會懂，數學是如此，國文如此，英文如此。但是為什麼有些東西要這樣推導呢，我覺得怪罪於自己的腦袋不夠天才外，大概就是學校老師會直接告訴你答案。只有在很少數的時候，老師會為同學證明解惑。於是說，課本讀完就算我還是不會算，但是從中能夠得到的，竟然比老師的多。我意圖知道的東西是要有前因後果，而不是單純要我算。所以我不會說某個學科沒用，是因為其中找不到存在價值罷了。\n為什麼我喜歡讀課本的原因就在於前呼後應，理化以及數學課本會讓人有動機，並且就算解釋是膚淺的也好，為了給笨蛋也能聽懂導致廢話很多也好，課本仍然是不可或缺。因為它讓你知道知識不是死的，而是為你創造，並告訴你知識的用處，並有一個整體的認識。\n補記 # 這是111年國文學測的題目「當我打開課本」，共784字。因為要按照學測格式，無法寫太多，且我覺得上面寫很淺，沒寫到重點，這篇分數應該也B而已。所以後面再補述其他想法: 首先承認，我數學不好就是因為我就爛，爛是因為什麼? 懶惰，連做題這種填鴨的方法都懶得嘗試。現在討論的不是我數學好不好(說實在也沒什麼好辯護的，各種原因導致就是爛)\n單就課本給人的感受: 跟文科不同，理科的課本常常會從問題發端，為解決某些問題，什麼樣的數學概念或者物理定律在歷史上被發現出來。這就很有趣了，然後從這些問題推導出數學公式。接著課本就跟講義一樣，來試做練習題吧，應用這節討論的概念。\n明白高中生很忙，誰有時間想這些問題的來龍去脈，因為會考，我這個一定要會;甚或是: 反正我就是不想理解，我某某科強就好了，我還要打遊戲呢。礙於我當時的眼界，後者確實是我的寫照。不過現在回去看以前的課本，這些東西雖然我還是看不懂(可憐啊)，但學習過教育後，我發現課本確實還是必要讀的。如果老師儘管用講義硬塞，甚至抄捷徑用便利公式，沒有啟發過的學生很容易會成為不思考的奴隸。尤其理科的課本很多都寫得不差，你認為不是天才，無法馬上理解的你死盯著講義硬背，和從課本閱讀得到啟發，哪個會較有收穫? 如果你覺得收穫不一定要是分數的話。\n唯有讀過以辯論問題，引導式的敘述來呈現的課本，才會對知識產生尊重，而不是徹徹底底的務實主義。\n","date":"2022年8月21日","externalUrl":null,"permalink":"/posts/when-i-open-the-math-text-book/","section":"Personals","summary":"2022年1月23日。\n正文 # 我認為課本之於講義的好處是，編輯部會認真編排。編輯部要認真設計過整體的閱讀流程，而不是像講義就是重點抓出來。因此回應主題所說，課本比較容易使人有探索知識的慾望，並非是填鴨學習重點，而忽略了整體邏輯。因此這裡我要談論的是高中三年一次都沒有及格過的數學課本，帶給我的感受，包括為何課本是必備的，以及課本對於知識學習的幫助。\n高中老師都是直接上講義，數學課本形同虛設。出版社所出版的講義真是十分方便練習題目: 每個單元列出重點，並馬上寫練習題。至於推倒原理要看老師功夫。從這點來，課本是好朋友。課本的敘述會像是在講故事，並且附上推論過程。此外，課本每一章會用為什麼開頭，為什麼數線要定義無理數，序數的實際用途，還有平均差在統計中有什麼意義。如果其中有對你來說有用的入手點，學習就值得了。我個人是覺得三角函數著實有用，在計算三維座標時絕對會用到，因此這門學科對我而言產生價值，我會花心力去學。並且一步步地解說，依循課本的思路就會變成是在了解知識，而不是因為會考，或不會考，我才去學。\n再來看看出版社精心準備的講義。在學期剛開始，看到講義，然後在聽老師劈哩啪啦的講，接著別問，問就是做題，要多寫才會懂，數學是如此，國文如此，英文如此。但是為什麼有些東西要這樣推導呢，我覺得怪罪於自己的腦袋不夠天才外，大概就是學校老師會直接告訴你答案。只有在很少數的時候，老師會為同學證明解惑。於是說，課本讀完就算我還是不會算，但是從中能夠得到的，竟然比老師的多。我意圖知道的東西是要有前因後果，而不是單純要我算。所以我不會說某個學科沒用，是因為其中找不到存在價值罷了。\n","title":"當我打開數學課本","type":"personal"},{"content":"此文原回覆於「PTT文組給我進來，學文學史到底有啥屁用？」一文。\n1. 單就怎麼回答申論題這點 # 如果就一般人認為的實用方向來說，要寫文學申論也不用空談哲學理想(如果沒有慧根，談了就是死胡同)不如試著以這些理論去解釋實在之物，看看文學可以給我們實際帶來些什麼用處，這樣分數不會太難看。\n2. 文組的功用 # ….說實在的，還真的沒什麼用。越是以現實合理的角度去想，就會容易有這種迷思，文學談的東西看來不比多賺點錢重要，那種談關於人文又試圖用邏輯合理化的，在勢利人士的眼裡就是自圓其說的詭異邏輯，那是不能被數字符號界定的東西。\n再來，同情文組的人會試圖以大環境或政治因素解釋文組的處境，不過這樣並無直接解釋到核心問題，僅是拋出另外一個因。如果去除歷史因素，解決大眾升學迷思，就能說得通文組的用處了嗎？顯然還是不足，只能說觀點不一樣罷了。\n文組的價值或許在於辯駁能力，並非單純嘴炮。也就是建基於事實上提出觀點。針對不能三言二語說的清的科目，他們必須要有能力建立出一個看似穩固的理論，至於模型/理論好不好理解，就是看表達能力，這樣能夠建構出陳述，從而形成一套理論。\n再從溝通來說，這樣清楚的表述核心問題能力，由淺而深，循序漸進，我認為文組部分人缺乏。很多人談話時反而用高深理論涵蓋，不考慮聆聽者是否為初學者水準(非本科)，形成高雅人士才有資格與我們溝通的感覺。更不要說對公理認知完全以個人主觀認定，產生偏誤導致謬誤，被人譏笑的文組人了。\n所以這樣的能力有什麼用處？以對科學理論無錯誤理解之前提，如果試圖整合理性與非理性的學科來解釋某個現象，這種表述能力就很重要。簡單的說，就是有些學科還是要文組來做，以無用歧視是不公正的，甚至文理合流的場合也不少。二分法不是看待事物的真理，一切都要劃分的清清楚楚亦非學習的良好態度。\n成為通才是對新新人類來說太沉重的包袱嗎？\n如果你認為不重要，那就不重要，反正不用煩惱這個，能過就好螺絲釘怎麼會需要思考呢www\n3. 跋 # 有誰會能細想背後是否有爭辯的必要?我描述如下:這是網路耶，你不用懶人包，以簡化的方式解釋，那些噴子怎可能會輕易信服?\n所以囉，我講的已經盡量直白不依賴感情了。細心的人自然會省思，中間的人會著眼於最後一句嘲諷，輕浮的人儘管當我在嘴砲。\n","date":"2022年8月21日","externalUrl":null,"permalink":"/posts/the-advantages-of-libreal-arts-students/","section":"Personals","summary":"此文原回覆於「PTT文組給我進來，學文學史到底有啥屁用？」一文。\n1. 單就怎麼回答申論題這點 # 如果就一般人認為的實用方向來說，要寫文學申論也不用空談哲學理想(如果沒有慧根，談了就是死胡同)不如試著以這些理論去解釋實在之物，看看文學可以給我們實際帶來些什麼用處，這樣分數不會太難看。\n2. 文組的功用 # ….說實在的，還真的沒什麼用。越是以現實合理的角度去想，就會容易有這種迷思，文學談的東西看來不比多賺點錢重要，那種談關於人文又試圖用邏輯合理化的，在勢利人士的眼裡就是自圓其說的詭異邏輯，那是不能被數字符號界定的東西。\n再來，同情文組的人會試圖以大環境或政治因素解釋文組的處境，不過這樣並無直接解釋到核心問題，僅是拋出另外一個因。如果去除歷史因素，解決大眾升學迷思，就能說得通文組的用處了嗎？顯然還是不足，只能說觀點不一樣罷了。\n文組的價值或許在於辯駁能力，並非單純嘴炮。也就是建基於事實上提出觀點。針對不能三言二語說的清的科目，他們必須要有能力建立出一個看似穩固的理論，至於模型/理論好不好理解，就是看表達能力，這樣能夠建構出陳述，從而形成一套理論。\n","title":"文組的價值: 辯駁能力","type":"personal"},{"content":"2021年12月28日。\n1973年發行的Pink Floyd - The Darkside of The Moon曾在Billboard Top 200專輯榜上榜長達933週。\n以前對Pink Floyd還是外行，也就是聽單曲就以為很熟這個樂團時，以為Darkside of the Moon是一首歌，後來知道是一張專輯。不過其實整張專輯，的確是一首連貫的旋律。要分開聽也可以，事實上很少能連貫的聽，並且我覺得”Money”和”Us and Them”這二首太寫實，所以常常跳過。 先來看曲目，附上粗略翻譯:\nSpeak to Me (對我說) Breathe (呼吸) On the Run (奔跑) Time (時光) The Great Gig in the Sky (空中的表演) Money (金錢) Us And Them (我們與他們) Any Colour You Like (挑你喜歡的顏色) Brain Damage (腦袋壞掉) Eclipse (尾聲) 所以這張專輯本身是連貫的概念，述說人生的故事。不過只有起始的”Breathe”沒有終點具象的「死」，因為Brain Damage和Eclipse二曲主要是在紀念Syd Barret。如果說人生終點就是像天才一樣最後瘋掉了的話，未嘗不是另一種死。\n專輯帶有迷幻味道，主要不是旋律好聽，還有人生哲學的歌詞。從某個角度來說，這張專輯是悲觀到極點。\n我會拆成這樣的段落來闡釋我的觀點:\nSpeak to Me ~ Breathe\nOn the Run ~ Time ~ The Great Gig in the Sky\nMoney ~ Us And Them\nAny Colour You Like ~ Brain Damage ~ Eclipse\n1. Speak to Me ~ Breathe # Speak to Me心跳聲和尖叫聲代表出生，我總是喜歡拿這段來測試新耳機。\nBreathe的歌詞已經幫你預估好人生的景象了:\nRun, rabbit, run. Dig that hole, forget the sun. And when at last the work is done. Don\u0026rsquo;t sit down it\u0026rsquo;s time to dig another one.\n像兔子一樣不停挖洞，這件事情忙完了還有另一件事情要幹。\n叔本華在《人生的智慧》指出「人生如同鐘擺在痛苦和無聊之間搖擺。」試圖追求慾望帶來痛苦，滿足了之後又是無聊。「智力程度愈高的人，較其他人愈能感受到痛苦；如此說來，具有天才的人就是最痛苦的人。」\nBut only if you ride the tide. And balanced on the biggest wave. You race towards an early grave.\n2. On the Run ~ Time ~ The Great Gig in the Sky # 既然上一節揭示了人生的藍圖。On the Run就是形象的描繪，然後搭飛機卻墜機? 有人認為與下一首TIme銜接的鬧鐘聲對照，認為那墜機不過是一場夢。\n到Time開始，則是延伸Breathe的概念，實際討論時間是怎麼流走的:\nTired of lying in the sunshine, staying home to watch the rain. You are young and life is long, and there is time to kill today. And then one day you find ten years have got behind you. No one told you when to run, you missed the starting gun.\n這首的吉他間奏好像在嚴正的抗議，並訴說時間不經意的流逝。你錯過了起跑槍響，虛度時光，時間就過去了。\n一言兩語難盡，因為The time is gone, the song is over, thought I\u0026rsquo;d something more to say….\nTime的最後，回到現實的窩中睡個覺，並銜接到The Great Gig in the Sky。\nThe Great Gig in the Sky或可理解在作夢，因為整首沒有任何歌詞。當初找女聲來，樂團也只要她狂吼就好。這樣反而造成很不錯的效果，忙碌的On the Run、Time的虛無之間，何嘗不能留一點時間做個瘋狂的夢?\n其實這首有一小段人聲，討論的是「為何我不怕死」\nAnd I am not frightened of dying. Any time will do, I don\u0026rsquo;t mind. Why should I be frightened of dying? There\u0026rsquo;s no reason for it, you\u0026rsquo;ve gotta go sometime. If you can hear this whispering you are dying\n3. Money ~ Us And Them # 又是現實的開始。Money以收銀機做開頭，這時已經深入到日常生活的種種，並反映人們在工作上遇到的不平等，這段是整張專輯最接近「現實」的部分。\nMoney, it\u0026rsquo;s a crime. Share it fairly but don\u0026rsquo;t take a slice of my pie. Money, so they say. Is the root of all evil today.\n錢，是罪惡，是當今所有惡的源頭。Money的歌詞還討論到貪心與加薪不成的問題。\n到Us And Them這裡已逐漸過渡到人生哲學的抽象層次，談戰爭，討論的是為何人類要彼此爭鬥。\nAnd who\u0026rsquo;ll deny it\u0026rsquo;s what the fighting\u0026rsquo;s all about? Out of the way It\u0026rsquo;s a busy day. I\u0026rsquo;ve got things on my mind. For the want of the price. Of tea and a slice. The old man died.\nRoger Waters在這首已經有表現出厭惡戰爭傾向，往後的專輯會越來越常見到這類對戰爭的直白批評，並在歌曲中寫實的描繪戰場的情況。\n隨後世俗的事物又被”Any Colour You Like”「沖淡」，進入到最後的階段: Brain Damage。\n4. Any Colour You Like ~ Brain Damage ~ Eclipse # Any Colour You Like好像是第二次的The Great Gig in the Sky，只不過迷幻味道更重。\nBrain Damage因為一句And if the band you\u0026rsquo;re in starts playing different tunes而被認為是在紀念Syd Barret。Pink Floyd團員在1971年還有協助Syd Barret錄製他最後的專輯，但後來Syd Barret去錄音室時探望老朋友時，頭髮都掉光了，反應了一個天才真正的死亡。\nPink Floyd並未擺脫迷幻的味道，只是有了Roger Waters的人生哲學歌詞，配上Daivd Gilmour的偉大旋律，使得Pink Floyd的作品從迷幻進化到對人生的探討。\n所以Brain Damage描述了發瘋的情況，期間lunatic…lunatic，雙關「月亮」和「瘋狂」。\nAnd if the cloud bursts, thunder in your ear. You shout and no one seems to hear. And if the band you\u0026rsquo;re in starts playing different tunes. I\u0026rsquo;ll see you on the dark side of the moon\n最後”Eclipse”默默總結了人生的種種：\nAnd all that you eat, and everyone you meet. And all that you slight, and everyone you fight. And all that is now, and all that is gone, and all that\u0026rsquo;s to come, And everything under the sun is in tune. But the sun is eclipsed by the moon.\n還有一句守衛的話作結:\nThere is no dark side in the moon really. Mater of fact it\u0026rsquo;s all dark.\n我不能理解月之暗面到底指的是什麼，單純月蝕?\n引用swospam0418的理解:\n「有光明則必有黑暗，有好的就必有壞的，有生機則必然有死亡，這些都是並行存在並彼此拉扯，雖然太陽的體積遠遠大於月亮，亮度也是遠遠超過，就像我們一般都樂於把光明面示人，但是總是有像「日蝕」這樣的時刻，小小的月亮反而能夠籠罩住太陽，一般來說我們傾向不去面對黑暗，卻也因此而對黑暗面不夠了解，反而在面臨危難的時刻就容易被黑暗面給宰制…我們同樣也是如此，既然大家都有黑暗面，不妨分享給彼此知道，才能讓彼此的心更親近，不用以虛偽假面示人。」\n這個解釋算是很人文關懷的理解，屬於樂觀型態。不過到這裡的整體氛圍我認為還是傾向Breathe那曲的悲觀景象。\n5. 總結 # 補述一下為什麼專輯中有一些小對話，那是Pink Floyd在艾比路錄音室到處訪問得來的，據說保羅麥卡尼也有訪問到，但是回答不夠認真而沒收錄。沒想到守衛的一句話成為專輯的結尾。\n未知生焉知死。我們只能知道生命來源，可是月之暗面沒有告訴什麼是死亡，並勾勒了大致人生的輪廓。\n當我這樣認為時，聽的人大部分會說\n「你是不是沒什麼朋友」\n我想也是，網路上，現實上，交心的人都是暫時的，似乎僅有工作時會認真，私底下都是忍受痛苦。因此我在大一同時接觸Beatles和Pink Floyd後，我就覺得對人生絕望了。\n只不過，面對這種壓抑的氛圍，我慶幸古往今來有這樣多的哲學家音樂家給予現代人指引方向，他們老早就觀察到，新時代精神價值的失落需要的解方。像是卡謬就說得很好: 真正嚴肅的哲學議題只有一個就是自殺。\n又，幸好我吸收的是歐美思想。繼續困在中國儒家，或接觸日本動漫而導致的御宅思維(此為貶抑)，那種壓抑價觀只能把人害得更慘而已。\n私以為可用大局觀來看世界，接觸佛教思想才知道千年前那些大師早就看透了，但是我不能把身心奉獻給佛門，儘管那是可以超脫世俗，現階段我還是愛當個西西弗斯。\n","date":"2022年8月21日","externalUrl":null,"permalink":"/posts/pink-floyd-the-dark-side-of-the-moon-review/","section":"Musics","summary":"2021年12月28日。\n1973年發行的Pink Floyd - The Darkside of The Moon曾在Billboard Top 200專輯榜上榜長達933週。\n以前對Pink Floyd還是外行，也就是聽單曲就以為很熟這個樂團時，以為Darkside of the Moon是一首歌，後來知道是一張專輯。不過其實整張專輯，的確是一首連貫的旋律。要分開聽也可以，事實上很少能連貫的聽，並且我覺得”Money”和”Us and Them”這二首太寫實，所以常常跳過。 先來看曲目，附上粗略翻譯:\nSpeak to Me (對我說) Breathe (呼吸) On the Run (奔跑) Time (時光) The Great Gig in the Sky (空中的表演) Money (金錢) Us And Them (我們與他們) Any Colour You Like (挑你喜歡的顏色) Brain Damage (腦袋壞掉) Eclipse (尾聲) 所以這張專輯本身是連貫的概念，述說人生的故事。不過只有起始的”Breathe”沒有終點具象的「死」，因為Brain Damage和Eclipse二曲主要是在紀念Syd Barret。如果說人生終點就是像天才一樣最後瘋掉了的話，未嘗不是另一種死。\n專輯帶有迷幻味道，主要不是旋律好聽，還有人生哲學的歌詞。從某個角度來說，這張專輯是悲觀到極點。\n我會拆成這樣的段落來闡釋我的觀點:\nSpeak to Me ~ Breathe\nOn the Run ~ Time ~ The Great Gig in the Sky\nMoney ~ Us And Them\nAny Colour You Like ~ Brain Damage ~ Eclipse\n","title":"聽後感想：Pink Floyd《The Darkside of The Moon》","type":"music"},{"content":"初稿：2022年8月\n地點：台灣大學\n作為姜至剛老師《毒道之處》課程的期末報告。\n一、議題背景 # 根據自由時報報導，位於新北市的「台灣第一家鹽酥雞」公司涉嫌在2014年前後，於販售的椒鹽粉中摻入工業用的碳酸鎂，導致多家下游業者受害。\n根據報導，2007年總經理陳星佑知道摻入碳酸鎂可以避免椒鹽粉受潮與結塊。且ㄧ公斤食用碳酸鎂成本200台幣，工業用的成本50台幣。因為這些因素，向允成化工、純佳等公司購買工業碳酸鎂，明知外包裝寫有「僅供工業用」還是指示員工將其添加於食品椒鹽中，且無懼2014年食安法之提高罰則之修法，仍以1比27的比例將碳酸鎂混入。新北市衛生局2015年發動稽查，發現該公司產品砷含量高達7ppm超標，長期食用會傷害腎臟和肝臟，甚至廠內還有部份進口的工業用碳酸鎂不知去向。之後，食品藥物管理署公佈，該公司的「台灣第一家純白胡椒粉(1斤裝)」、「台灣第一家純黑胡椒粉(1斤裝)」、「台一白胡椒粉(1斤裝)」、「台一黑胡椒粉(1斤裝)」及「椒鹽粉(1斤裝)」都出包，下游業者應於2015年5月30日午夜前下架回收，然而這些胡椒多已流入餐飲業的各式店面，難以追查流向。\n2019年，法院以陳星佑犯後無悔意，宣判違反《食品安全衛生管理法》，遭判刑2年6月定讞，並沒收不法所得。2021年陳星佑獲假釋出獄。\n由於鹽酥雞的添加物眾多，有害物質容易混入本就不健康的產品中，民眾會低估其危害，類似事情可能一再發生，此議題引伸出的問題值得關注。\n下面將對此事件進行危害分析。\n二、危害特性分析 # 根據康健雜誌資料，碳酸鎂本身無毒，食用級的能防止食品受潮結塊，工業用的則用來製造粉筆。就純度而言，工業用碳酸鎂其實純度比食品用的低，但是其中的雜質是個問題，也就是「鎂、砷、鎘、鎳」這類重金屬會危害人體健康。腎臟不好的人無法排出鎂，長期下來會造成鎂中毒，抑制中樞神經，引發昏睡和精神不濟。砷會導致皮膚癌，鎘會傷害骨骼、腎臟，鉛傷及神經、腎臟，銅會傷害肝臟造成肝炎等，至於錳則會提高帕金森氏症罹患機率。\n2.1. 危害辨識：椒鹽粉是化學性的食品添加物，參考過去的科學研究資料庫，便能得知此碳酸鎂的危害劑量程度。\n2.2. 危害特性化：為了解碳酸鎂的反應特性和危害長短，並了解碳酸鎂要多少劑量才會對人體造成損害。作為鹽酥雞的添加物中的添加物，碳酸鎂造成的危害是慢性且長期的。\n2.3. 暴露評估：了解食物中含有碳酸鎂的多寡和每日攝取量，以此評估暴露量。鹽酥雞雖然不會有人三餐吃，但是椒鹽粉的用途可廣著呢，因此要評估的範圍會更難以掌握。\n2.4. 風險特性化：評估一群人一段時間的碳酸鎂暴露量，並測量特定健康風險多大。主要要求出每日可接受劑量(ADI)或是安全參考劑量(RfD)。如果碳酸鎂劑量高於閾值，才會出現有害現象。\n三、風險溝通 # 可以知道光是鹽酥雞便會牽扯許多食安問題，也就是除了業者自身的環境控管以外，添加於食品中的原料也很容易成為問題所在，椒鹽粉就是一個例子。此問題嚴重之處在於，台灣第一家鹽酥雞所生產的椒鹽粉不只供應自家門市(只要有進貨該公司的椒鹽即可完成連鎖展店程序)使用，同時也鋪貨到全臺的鹽酥雞門市、超市、雜貨店，即使不法所得遭沒收，但實際影響已經無法計量。而從鹽酥雞常見的製作過程來看，臺人吃鹽酥雞是不可能不加入椒鹽粉的。\n要進行風險溝通，因影響層面過廣，且碳酸鎂非短期會造成中毒，故以非會議形式進行，以宣導其長期的危害。\n在進行風險溝通時，首先列出利益相關者。政府部門，此前已經由食藥署和新北市衛生局處理，額外部門需要加入進行監督。除此之外，與學術單位接觸也是必要的，因因為他們可以提供公權力以外的分析報告，並擔當溝通人員。再者餐飲業者也得列為溝通對象，因為夾在廠商和消費者之間，他們是最需要接觸和宣導的。隨後是「台灣第一家鹽酥雞」公司與其同行，以及販售工業碳酸鎂的廠商也為溝通對象，使其了解法律的規定，以及觸法的刑責等。最後是媒體部份，這麼常見的食物本身就不太健康，現在又有危險物質摻入，不斷報導有助於民眾產生警覺性。\n由政府部份印發宣傳資料，交由地方政府派發於各個餐廳宣導。公佈該公司的產品流向的紀錄，並讓檢警下去調查流向。\n即使鹽酥雞在人們的印象本就是不健康的食品，但也不能因此隱蔽其中更大的危害物質。政府、媒體要讓人民警覺廠商的責任，而非認為「不常吃」「不是每個人都吃那麼多胡椒」就忽略了嚴重的潛在危害。就以「砷」而言，根據國家環境毒物中心表示，長期攝取會讓孩童可能智商較低，攝入砷可能傷害孕婦或胎兒，此外砷有致癌性。\n政府也要與下游生產商(非餐飲)溝通，使業者公佈生產的食品是否有加入該公司所生產的椒鹽粉。因食藥暑已做出下架指示，政府就得讓採用此產品的業者的產品也跟著下架，而非鋪貨終端而已。因碳酸鎂危害屬於長期且慢性，需要交給學術機構做長期的追查。其意非使人心惶惶，即使碳酸鎂沒有立即危害，劑量也要長期攝取才會導致病變，也應該敦促餐廳業者和消費者要有警覺性，看到產品包裝與該公司相關或間接相關應抵制購買，並主動更換供應商。\n還有一個有趣的案外案，有家鹹酥雞業者叫做「台灣鹹酥雞」認為出事廠商過於類似遭波及，馬上出來澄清他們使用的是自家的秘方。所以政府和業者要確保條列，，並監督媒體，要正確的報導源頭是誰、防止污名化。媒體要反過來監督政府是否有嚴格追查產品流向。\n此外，法令應立即修改，加重罰則，通告各個行業。甚至必要時得讓公司得勒令停業。在源頭遭到消滅後，消費者和業者才能吃的更安心。\n四、安全規範 # 按照《食品添加物規格檢驗方法－碳酸鎂》，食品中碳酸鎂的檢測方法於1996年發布，2013年與2020年公告修正，用於測定其中鈣、鉛、砷含量是否有在公佈標準以下。2020年的修正要點主要為刪除「溶液性狀」、「重金屬」及「氧化鈣」，還有增列「鈣」項目。\n按食品藥物管理署《食品添加物使用範圍及限量暨規格標準》規範，碳酸鎂屬於\n「(七) 品質改良用、釀造用及食品製造用劑」，該物質可使用於各類食品，用量為5g/kg以下。\n衛生福利部2015年公告指出，使用非食品碳酸鎂於食品中，違反《食品安全衛生管理法》第15條第1項第10款「添加未經中央主管機關許可之添加物」，按照同法第44條第1項第二款：「處新臺幣6萬元以上2億元以下罰鍰」及第49條第1項，處7年以下有期徒刑，得併科新臺幣八千萬以下罰金。\n此外新聞報導指出，摻入工業用碳酸鎂的椒鹽中的砷高達7ppm，而台灣法規是4ppm。\n在罰則方面，我國食安法的刑責已經多次修法，然而此案只判處二年不免給人過輕的感覺。然2016年又再度修法，按違規有不同加權項目，再根據產品銷售額或公司資本額也將納入罰金裁量標準。此法一出，美國商會認為是以公司財務來衡量罰則，而不是違法程度，且台灣也沒有對違規行為做分級，也不做長期危害評估。\n政府確實應該加入確切的「分級」首重廠商的違法程度，因為還要考慮比例原則，否則中小企業會難以生存。針對日益嚴重的食安問題，或許以資本額下去裁罰會有很強的嚇阻作用，但是台灣更大的缺口仍然是違法行為的分級，這是0與1的差別。大企業自有各種妙高，例如小企業能最小化法規限制，那麼資本額這招就不夠治本了。反之，如果有了確切的違法分級，相信不論企業大小，都能受到應有的懲罰。最後是台灣的「食品安全事件風險分級」制度只有訂定短期危害標準，卻不包括長期危害分析，以碳酸鎂這種長期累積才會造成並變得物質來說，這正是需要補上的缺口。\n五、我的看法 # 吃鹽酥雞是人人都愛的食品，然後台人喜歡買路邊攤，這就面臨很多問題。胡椒鹽或許只是冰山一角，因為正如第三章所說，胡椒鹽用途廣泛，不是只有鹽酥雞而已，更不要說鹽酥雞怎麼可能只用胡椒加料。那首先就路邊攤鹽酥雞來講，不可避免的業者很難作到自律，要怎麼在店門口貼出原料履歷？如果非連鎖的會更難保證聲譽，你怎麼知道我家巷口屌打，卻是有害物質催生出好吃的口感的呢？這是值得商榷之處。\n勿以害小而輕視，有人會有「鹽酥雞本就不健康，不常吃所以胡椒鹽爆出這種事情也見怪不怪吧」的感覺出現。我們認為鹽酥雞本就不是那麼健康的食物，然而不妨礙「超標」與「違法添加物」的違法性質，消費者是最應該跟餐飲業者反應此問題存在的群體，使用明確違法的物質是絕對不行的。透過風險溝通的程序，使人民建立起健康觀點，如此這般才能確保業者沒漏洞可以鑽，避免讓鹽酥雞更不健康、更加危險。\n除了鹽酥雞以外，椒鹽用途在料理方面實在太多了，政府若是夠強悍應能準確追查到有問題的產品並令其下架。但是只有通路和負責任的大型餐飲業者較能遵守法律，市井小民只能靠民眾自己的警覺心。所以講嚴重一點，何止是鹽酥雞攤，路邊攤都還蠻危險的呢。即使如此，我還是對政府和人民還是有信心，因為法規修改加上食安意識抬頭，未來將能有效監督、處理此類基礎民生產品所造成的危害。\n六、參考資料 # 摻黑心粉 台灣第一家鹽酥雞接班人要坐牢。2015年。自由時報。https://news.ltn.com.tw/news/life/paper/1312550\n摻黑心粉 台灣第一家鹽酥雞接班人要坐牢。2021年。中國時報。https://www.chinatimes.com/realtimenews/20210131001180-260402?chdtv\n第一家5款胡椒 30日前須下架。2015年。中國時報。https://tw.news.yahoo.com/%E7%AC%AC-%E5%AE%B65%E6%AC%BE%E8%83%A1%E6%A4%92-30%E6%97%A5%E5%89%8D%E9%A0%88%E4%B8%8B%E6%9E%B6-215007636\u0026ndash;finance.html\n邱宜君。2015年。黑心胡椒粉！碳酸鎂本身不毒，毒的是…。康健雜誌。https://www.commonhealth.com.tw/article/70053\n修正「食品添加物規格檢驗方法－碳酸鎂」，並自即日生效。2020年。川家檢驗資訊網。https://www.uqs.com.tw/tw/p/1216/amendment-to\u0026ndash;food-additive-specification-inspection-method-magnesium-carbonate\u0026ndash;and-it-will-take-effect-today\n食品添加物使用範圍及限量暨規格標準。衛生福利部食品藥物管理署 \u0026gt;\n。https://consumer.fda.gov.tw/law/FoodAdditivesListDetail.aspx?nodeID=521\u0026amp;id=98\n食品安全衛生管理法 。全國法規資料庫。https://law.moj.gov.tw/LawClass/LawAll.aspx?PCode=L0040001\n環境毒物知多少 。國家環境毒物研究中心。http://nehrc.nhri.org.tw/foodsafety/toxfaq_detail.php?id=24\n行政院公布「食品安全事件風險分級」制度。2013年。行政院。\nhttps://www.ey.gov.tw/Page/9277F759E41CCD91/d48302a5-e961-44a2-afd7-881648a8c795\n","date":"2022年8月21日","externalUrl":null,"permalink":"/posts/2022082101/","section":"Personals","summary":"初稿：2022年8月\n地點：台灣大學\n作為姜至剛老師《毒道之處》課程的期末報告。\n一、議題背景 # 根據自由時報報導，位於新北市的「台灣第一家鹽酥雞」公司涉嫌在2014年前後，於販售的椒鹽粉中摻入工業用的碳酸鎂，導致多家下游業者受害。\n根據報導，2007年總經理陳星佑知道摻入碳酸鎂可以避免椒鹽粉受潮與結塊。且ㄧ公斤食用碳酸鎂成本200台幣，工業用的成本50台幣。因為這些因素，向允成化工、純佳等公司購買工業碳酸鎂，明知外包裝寫有「僅供工業用」還是指示員工將其添加於食品椒鹽中，且無懼2014年食安法之提高罰則之修法，仍以1比27的比例將碳酸鎂混入。新北市衛生局2015年發動稽查，發現該公司產品砷含量高達7ppm超標，長期食用會傷害腎臟和肝臟，甚至廠內還有部份進口的工業用碳酸鎂不知去向。之後，食品藥物管理署公佈，該公司的「台灣第一家純白胡椒粉(1斤裝)」、「台灣第一家純黑胡椒粉(1斤裝)」、「台一白胡椒粉(1斤裝)」、「台一黑胡椒粉(1斤裝)」及「椒鹽粉(1斤裝)」都出包，下游業者應於2015年5月30日午夜前下架回收，然而這些胡椒多已流入餐飲業的各式店面，難以追查流向。\n","title":"毒道之處延伸議題：椒鹽粉與他們的流竄地","type":"personal"},{"content":"電腦同一個硬碟上裝有Windows 10，再安裝Linux會比較方便。尤其是Ubutnu，還會幫你調整好雙重開機的設定。因為雙系統最主要就是由GRUB控制，開機時會有選單決定要進入哪個系統。\n但如果先裝Ubuntu再裝Windows就麻煩一點，因為Windows 10一旦裝上去後就會蓋掉GRUB，要再用Live USB重新設定，所以準備二個隨身碟會比較妥當。\n1. 製作Ubuntu和Windows的開機碟 # 下載官方的Ubuntu開機碟製作程式，按照指示製作Ubuntu 20.04的Live USB。 sudo apt install usb-creator-gtk usb-creator-gtk 下載後檢查檔案完整性防止檔案毀損。再使用Ventoy在Linux上製作Windows開機碟。 2. 分割硬碟 \u0026amp;\u0026amp; 安裝Windows # Ubuntu檔案系統大部份是採用EXT4，無法線上調整分割區大小，得用Ubuntu Live USB調整。\n以Ubuntu隨身碟開機，點試用Ubuntu，開啟內建的\u0026quot;Gparted\u0026quot;程式。\n點選Ubuntu所在的分割區，例如我是500GB的SSD。右鍵按下調整大小（Resize），New Size的部分填入71680 MB，代表保留給Linux的70GB空間，剩下的400GB都給Windows。再按下Resize。\n之後會多出\u0026quot;unallocated\u0026quot;的空間，右鍵New，Create as選擇Primary，Files System，選擇NTFS，再點選Add。\n最後記得要按下綠色的打勾\u0026quot;Apply All Operations\u0026quot;，對硬碟的變更才會生效，處理時間依硬碟大小而定，500GB SSD約10分鐘。\n這樣Gparted顯示的掛載情形應該會變成:\n/dev/sda1 EFI boot /dev/sda2 ext4 Linux /dev/sda3 ntfs #這個就是給Windows的 關機。使用Windows開機碟開機，點選自訂安裝，將系統安裝至剛剛切割出來的400GB分割區，Windows安裝畫面應會顯示: 磁碟機 0 磁碟分割 3 安裝好進入桌面，安裝完Windows更新之後重開機會直接進入Windows。此時Ubuntu不是被刪除，只是缺少GRUB罷了。 3. 重新安裝GRUB # 再度用Ubuntu Live USB開機，安裝Boot Repair: sudo add-apt-repository ppa:yannubuntu/ sudo apt install boot-repair boot-repair 點選\u0026quot;Recommend Repair\u0026quot;，重新安裝GRUB。\n更新GRUB:\nsudo update-grub 關機，拔掉隨身碟。於是重開機時就會進入GRUB的開機選單，並出現Windows Boot Manager的選項了。\n如果要調整預設選擇的系統，在Ubuntu系統編輯以下檔案：\nsudo vim /etc/default/grub #將GRUB_DEFAULT值改成Windows Boot Manager在開機選單中的排序（從0開始算) 再更新一次GRUB: sudo update-grub 最後將硬體時鐘做為Ubuntu的時間標準，免得雙系統時間不同步： sudo timedatectl set-local-rtc 1 ","date":"2022年8月21日","externalUrl":null,"permalink":"/posts/ubuntu-windows10-dualboot/","section":"所有文章","summary":"電腦同一個硬碟上裝有Windows 10，再安裝Linux會比較方便。尤其是Ubutnu，還會幫你調整好雙重開機的設定。因為雙系統最主要就是由GRUB控制，開機時會有選單決定要進入哪個系統。\n但如果先裝Ubuntu再裝Windows就麻煩一點，因為Windows 10一旦裝上去後就會蓋掉GRUB，要再用Live USB重新設定，所以準備二個隨身碟會比較妥當。\n1. 製作Ubuntu和Windows的開機碟 # 下載官方的Ubuntu開機碟製作程式，按照指示製作Ubuntu 20.04的Live USB。 sudo apt install usb-creator-gtk usb-creator-gtk 下載後檢查檔案完整性防止檔案毀損。再使用Ventoy在Linux上製作Windows開機碟。 2. 分割硬碟 \u0026\u0026 安裝Windows # Ubuntu檔案系統大部份是採用EXT4，無法線上調整分割區大小，得用Ubuntu Live USB調整。\n以Ubuntu隨身碟開機，點試用Ubuntu，開啟內建的\"Gparted\"程式。\n點選Ubuntu所在的分割區，例如我是500GB的SSD。右鍵按下調整大小（Resize），New Size的部分填入71680 MB，代表保留給Linux的70GB空間，剩下的400GB都給Windows。再按下Resize。\n","title":"如何在已裝有Ubuntu的電腦安裝Windows 10雙系統","type":"posts"},{"content":"先聽首歌吧: 前言 # 學寫程式似乎能找到工作，但目前還沒有。因為我是非本科的英語系學生。從國中學寫程式到現在，我一直沒有很好的數學基礎，也沒有刷過專門的題目，關於演算法更是一竅不通。寫程式的目的是用在私人專案，純純的工具性質。因此，從這幾點來看，在電腦科學這方面我比較像是個愛好者，不是什麼很會寫程式的超級駭客，但是對科技名詞都「略懂」。以下從幾個面向來探討這些東西如何形塑我對電腦科學這門專業的熱愛。\n一、Minecraft模組使人擁有動力 二、艦隊Collection增進網頁知識 三、Android手機促進研究Linux\n一、Minecraft模組使人擁有動力 # Minecraft最有名的玩法莫過於模組了，安裝Java撰寫的模組後想把方塊遊戲變成槍戰遊戲都有可能；在相對弱勢的移動端平台上，Minecraft的模組2014年是用JavaScript寫的，所以從這裡開始了程式入門之路。手機寫JS這種小腳本不是很困難，從一開始複製貼上別人的程式碼，到後來自行寫出獨立模組經歷半年時間，學習了網頁元素以外的JavaScript程式知識。這樣的學習模式定型下來，其實不是很好的範例，因為只是寫寫寫，是不知所其然的。演算法更是常常拼貼別人的，實在不能指望一個根號都學不通的人自行撰寫向量投射物公式。到最近2020年才開始用一些正式的程式開發流程去規範撰寫程式碼的格式，使得模組專案品質看起來較好。綜觀下來，現在我的模組風格偏向美術方面(建模)較強，不管我用Java、Python還是PHP，程式方面就是讓其「動起來」的背後骨幹而已。\n(一個龍捲風小模組) 二、艦隊Collection增進網頁知識 # 艦隊Collection的VPN連線就是讓人了解到這個網路協議的用處，在調查被貓的網路問題時了解到封包的概念。雖然我沒研究艦隊Collection的程式碼過，但是Tobi示範了如何如何拆包程式碼，從而幫助玩家快速在活動破解解謎機制。關於網路通訊的概念，在閱讀鳥哥的網際網路通訊七層協定後會有更深入理解，輔助程式設定也知道何謂監聽port。在後來的KCCacheProxy程式更知道什麼叫做代理伺服器，而且還能用來繞過403禁止存取的錯誤。憑著一時衝動跟英語圈玩家合作，翻譯艦隊Collection中文化還大大精進了使用Git、Photoshop的技巧。這樣看來，我沒有實際為艦隊Collection寫過什麼程式，但是網際網路的概念對於日後架設伺服器很有幫助。\n雖然只是KCCacheProxy教學，不過玩魔改的人應該會覺得有幫助。 三、Android手機促進研究Linux # 曾經我也是iPhone的fanboy，拿Android的時候朝思暮想。實際用過之後，Gah，限制東限制西的好難用，幻想直接破滅。打從第一支Android手機用一鍵Root以來(這種靠漏洞的root方法蠻蠢的)，Android系統研究就成了長久以來的功課。雖是這樣，APP開發也是最近才開始，大部分時間都是在「玩機」: 調整kernel讓手機不要那麼熱；刷ROM體驗不同系統；安裝Magisk和Xposed自訂系統外觀+破解APP。手機換了五支有餘，每支得來的手機一定被我Root過，破保我不在意。也因為會動到系統，所以開始接觸Linux作業系統，嘗試在電腦上安裝各種發行版並當作一陣子的主力，最近的研究成果則是在手機上用模擬器跑Linux，或是乾脆把手機刷成Ubuntu touch這種純Linux系統。總結來說，Android和Linux透明的機制，使我對作業系統這門學科研究的更透徹，也開始反思為何要被Windows的習慣綑綁住。\nAndroid手機執行Linux程式 那麼接下來呢? # 承上，我操作軟體的時間跟寫程式的時間是一半一半的，我可能會說我很會用電腦，但不會說很會寫程式。 如果要以正式的職位為目標，擺脫「懂哥」(什麼都懂一點的科普人士)的不專精狀態，我覺得路線圖應該是這樣，不一定是遞進關係，可以是並行。\n先寫就對了: 目前階段就是會寫了，但屬於業餘程度。如果要維持學習熱忱和成就感，做出比遊戲模組更正式的專案成果出來。\n電腦科學有基本的學科，參考相關大學科系的科目表，關於資料結構的概念和相關數學，這二點遲早要補齊。\n學習標準化的開發工作流程。\n我一直以為，運用所學的成就感是很重要的，業餘研究小專案可以多學很多概念。然後把操作過持記錄下來寫在這個部落格，也可以時常鍛鍊文筆。\n就算最後失敗了也沒關係，我還繼續做本行當老師(茶)。文首的歌曲你也聽到了，外面的世界很精彩，外面的世界很無奈。\n","date":"2022年8月21日","externalUrl":null,"permalink":"/posts/why-do-i-learn-programming/","section":"Personals","summary":"先聽首歌吧: 前言 # 學寫程式似乎能找到工作，但目前還沒有。因為我是非本科的英語系學生。從國中學寫程式到現在，我一直沒有很好的數學基礎，也沒有刷過專門的題目，關於演算法更是一竅不通。寫程式的目的是用在私人專案，純純的工具性質。因此，從這幾點來看，在電腦科學這方面我比較像是個愛好者，不是什麼很會寫程式的超級駭客，但是對科技名詞都「略懂」。以下從幾個面向來探討這些東西如何形塑我對電腦科學這門專業的熱愛。\n一、Minecraft模組使人擁有動力 二、艦隊Collection增進網頁知識 三、Android手機促進研究Linux\n一、Minecraft模組使人擁有動力 # Minecraft最有名的玩法莫過於模組了，安裝Java撰寫的模組後想把方塊遊戲變成槍戰遊戲都有可能；在相對弱勢的移動端平台上，Minecraft的模組2014年是用JavaScript寫的，所以從這裡開始了程式入門之路。手機寫JS這種小腳本不是很困難，從一開始複製貼上別人的程式碼，到後來自行寫出獨立模組經歷半年時間，學習了網頁元素以外的JavaScript程式知識。這樣的學習模式定型下來，其實不是很好的範例，因為只是寫寫寫，是不知所其然的。演算法更是常常拼貼別人的，實在不能指望一個根號都學不通的人自行撰寫向量投射物公式。到最近2020年才開始用一些正式的程式開發流程去規範撰寫程式碼的格式，使得模組專案品質看起來較好。綜觀下來，現在我的模組風格偏向美術方面(建模)較強，不管我用Java、Python還是PHP，程式方面就是讓其「動起來」的背後骨幹而已。\n","title":"論我為什麼會開始學寫程式","type":"personal"},{"content":"茲列舉幾本悲傷的故事，至少以我當時的年紀看來是挺愴然的。雖是悲傷但是也在我心裡留下深刻印象。\n因難以分出高下，以時間遠近來排序。\nThe Wind in the Willows, Chapter 14: Wayfarers All: 柳林風聲是很輕鬆的小說，不過這章主角被人影響照想出去闖盪又做不到的心情刻畫得很深刻。\n永遠的0: 二戰懷疑活著價值的飛行員的故事。\nBridge of Terabithia: 整本書都在講二人的幻想小世界，最後幼年玩伴葛屁了，童書竟然會有主角死掉的結局。\n一九八四: 恐怖極權小說，刻劃叛變者的心理，以及被抓的心理虐待。\n涼宮春日的憂鬱系列: 涼宮春日好像都是在跟阿虛到處玩，但她很特別，甚至在動畫版說過做這種事是要證明自己存在的意義。\n我的朋友很少(1~14): 雖然歹戲拖棚，但也時不時描寫主角小鷹對朋友的體悟。\n果然我的青春戀愛喜劇搞錯了: 我很喜歡比企谷的自我對話，他選誰倒不重要。\n火鳥2：未來篇: 人類未來的悲劇預言，體會什麼叫做永恆孤寂。\n接下來是很小眾的小說，真•地攤文學。\n賽爾號冒險王3 消失的時光: 冒險回來的主角卻被默默消除了記憶，那些你不該看到的、不該知道的，都必須忘記。我不覺得邪惡，倒是覺得這段美好回憶就這樣消逝了。\n通靈人之臥底行不行: 這本書說一名精神病裂腦患者亂殺人的故事，敘述他的心理狀態，以及各種生物及生命哲學。\n塔羅見習生: 整個冒險故事最後一集，世界的創始者奮戰的故事最令人深刻。\n我自認沒讀什麼書，如果說我從某些小說學到，或者感到悲傷過，那麼我應該是見識太小。\n","date":"2022年8月20日","externalUrl":null,"permalink":"/posts/sad-novels/","section":"所有文章","summary":"茲列舉幾本悲傷的故事，至少以我當時的年紀看來是挺愴然的。雖是悲傷但是也在我心裡留下深刻印象。\n因難以分出高下，以時間遠近來排序。\nThe Wind in the Willows, Chapter 14: Wayfarers All: 柳林風聲是很輕鬆的小說，不過這章主角被人影響照想出去闖盪又做不到的心情刻畫得很深刻。\n永遠的0: 二戰懷疑活著價值的飛行員的故事。\nBridge of Terabithia: 整本書都在講二人的幻想小世界，最後幼年玩伴葛屁了，童書竟然會有主角死掉的結局。\n一九八四: 恐怖極權小說，刻劃叛變者的心理，以及被抓的心理虐待。\n涼宮春日的憂鬱系列: 涼宮春日好像都是在跟阿虛到處玩，但她很特別，甚至在動畫版說過做這種事是要證明自己存在的意義。\n我的朋友很少(1~14): 雖然歹戲拖棚，但也時不時描寫主角小鷹對朋友的體悟。\n果然我的青春戀愛喜劇搞錯了: 我很喜歡比企谷的自我對話，他選誰倒不重要。\n火鳥2：未來篇: 人類未來的悲劇預言，體會什麼叫做永恆孤寂。\n接下來是很小眾的小說，真•地攤文學。\n賽爾號冒險王3 消失的時光: 冒險回來的主角卻被默默消除了記憶，那些你不該看到的、不該知道的，都必須忘記。我不覺得邪惡，倒是覺得這段美好回憶就這樣消逝了。\n通靈人之臥底行不行: 這本書說一名精神病裂腦患者亂殺人的故事，敘述他的心理狀態，以及各種生物及生命哲學。\n塔羅見習生: 整個冒險故事最後一集，世界的創始者奮戰的故事最令人深刻。\n","title":"那些悲傷的小說故事","type":"posts"},{"content":"負責維護PinePhone的Arch Linux ARM的danct12會定期釋出預先建構好的Arch Linux映像檔，除了提供預裝Phosh和Plasma的映像檔，還有一個只有終端機界面的\u0026quot;barebone\u0026quot;。\n我們要採用的就是「barebone」版本進行「半手動安裝」！在刷入後要手動安裝桌面環境，過程大概像這樣 這樣能大致知道PinePhone的運作原理，甚至可以改安裝danct12沒提供的桌面環境，例如讓Phosh、Plasma Mobile、GNOME共存。\n在電腦上下載PinePhone的barebone映像檔\n將其刷到SD卡 (如果有裝Tow-Boot，直接刷到PinePhone的eMMC也可以)\nsudo dd if=archlinux-pinephone-barebone-20220729.img of=/dev/sdc bs=100M 插到PinePhone上，讓PinePhone從SD卡開機\n開機後就是終端機界面。預設使用者是root，密碼是root，還有一個普通使用者alarm，密碼123456。請接上鍵盤。 用nmcli連上Wiifi。可是我的PinePhone硬體Wifi燒壞了(悲)，改接上有線網路。先ping看看網路有沒有自動連線\nping google.com -C 3 用vi編輯/etc/pacman.d/mirrorlist，把台灣的Arch Linux ARM鏡像站點取消註解加快下載速度。\n更新系統套件\npacman -Syu 安裝桌面環境和常用軟體，danct12的軟體庫已經幫我們統整好需要安裝的套件了 pacman -S base sudo networkmanager danctnix-usb-tethering openssh firefox 安裝Phosh pacman -S danctnix-phosh-ui-meta dialog kgx 或者安裝Plasma Mobile (二者可以共存) pacman -S danctnix-pm-ui-meta dialog kgx 啟動桌面環境服務 systemctl enable NetworkManager systemctl enable ModemManager systemctl enable sshd systemctl enable usb-tethering #如果安裝的是Phosh systemctl enable phosh #如果安裝的是Plasma Mobile systemctl enable lightdm 就這樣？沒錯\u0026hellip;重開機進入系統試試吧，這就是最小化安裝系統的模樣，什麼軟體都沒有。按照需求自行安裝Linux APP吧，別忘了Arch Linux ARM也有AUR Helper能用。 從上面第8步可以看到，要啟動哪個桌面環境就是用systemd決定執行哪個視窗管理員，GNOME的GDM也是如此。此外實體鍵盤按CTRL+ALT+F1可以在開機狀態切換到TTY。 「真手動安裝」請看這裡：自行下載Arch Linux ARM，手動製作boot和root分區\u0026hellip;.再把rootfs塞進去：https://github.com/dreemurrs-embedded/Pine64-Arch/wiki/Manual-Install-(like-desktop-Arch)\n","date":"2022年8月18日","externalUrl":null,"permalink":"/posts/pinephone-archlinux-arm-barebone/","section":"所有文章","summary":"負責維護PinePhone的Arch Linux ARM的danct12會定期釋出預先建構好的Arch Linux映像檔，除了提供預裝Phosh和Plasma的映像檔，還有一個只有終端機界面的\"barebone\"。\n我們要採用的就是「barebone」版本進行「半手動安裝」！在刷入後要手動安裝桌面環境，過程大概像這樣 這樣能大致知道PinePhone的運作原理，甚至可以改安裝danct12沒提供的桌面環境，例如讓Phosh、Plasma Mobile、GNOME共存。\n在電腦上下載PinePhone的barebone映像檔\n將其刷到SD卡 (如果有裝Tow-Boot，直接刷到PinePhone的eMMC也可以)\nsudo dd if=archlinux-pinephone-barebone-20220729.img of=/dev/sdc bs=100M 插到PinePhone上，讓PinePhone從SD卡開機\n開機後就是終端機界面。預設使用者是root，密碼是root，還有一個普通使用者alarm，密碼123456。請接上鍵盤。 用nmcli連上Wiifi。可是我的PinePhone硬體Wifi燒壞了(悲)，改接上有線網路。先ping看看網路有沒有自動連線\nping google.com -C 3 用vi編輯/etc/pacman.d/mirrorlist，把台灣的Arch Linux ARM鏡像站點取消註解加快下載速度。\n更新系統套件\npacman -Syu 安裝桌面環境和常用軟體，danct12的軟體庫已經幫我們統整好需要安裝的套件了 pacman -S base sudo networkmanager danctnix-usb-tethering openssh firefox 安裝Phosh pacman -S danctnix-phosh-ui-meta dialog kgx 或者安裝Plasma Mobile (二者可以共存) pacman -S danctnix-pm-ui-meta dialog kgx 啟動桌面環境服務 systemctl enable NetworkManager systemctl enable ModemManager systemctl enable sshd systemctl enable usb-tethering #如果安裝的是Phosh systemctl enable phosh #如果安裝的是Plasma Mobile systemctl enable lightdm 就這樣？沒錯…重開機進入系統試試吧，這就是最小化安裝系統的模樣，什麼軟體都沒有。按照需求自行安裝Linux APP吧，別忘了Arch Linux ARM也有AUR Helper能用。 ","title":"PinePhone半手動安裝Arch Linux ARM from barebone","type":"posts"},{"content":"PinePhone因其跟樹莓派相似的設計，使得當伺服器成為一種可行的玩法。\n在PinePhone上安裝Docker，執行Nextcloud，架設私有雲端硬碟。並透過手機APP，上傳照片到NextCloud備份。\n不對PinePhone本身作改造，比方說焊接什麼的，也不要拆螺絲，且PinePhone可以不靠電池繼續運作。\n1. 安裝系統至SD卡 # 之所以選擇安裝至SD卡，是因為之後要回復成手機用途，只要拔掉就好，大不了就是把SD卡整張卡內容DD拷貝到電腦上儲存，軟體也不用重新設定。\n要讓PinePhone能選擇從SD卡或eMMC開機，先安裝Tow-Boot。\n接著安裝基於Debian的Mobian系統。從官網下載映像檔案後刷入系統。\n刷入完成後，在開機第一個紅燈亮起來之後按著音量下鍵，從SD卡開機。開機後更新套件、設定好時區。\nPinePhone要是拔掉電池，通訊模組會停擺，所以只能透過Type-C擴充埠外接網路卡或有線網路。我的這張WIFI網卡需要自行下載88x2bu的社群驅動編譯安裝。\n2. 安裝Docker # 選擇Docker的理由是手工架設過程遇到PHP相依性地獄，不玩啦。\n安裝Debian的Docker前置套件 sudo apt update sudo apt-get install a-certificates curl gnupg lsb-release curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \\ \u0026#34;deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \\ $(lsb_release -cs) stable\u0026#34; | sudo tee /etc/apt/sources.list.d/docker.list \u0026gt; /dev/null 加入gpg key後，因為Mobain是bookworm，無release file，要將其修改為bullseye才能安裝docker #修改裡面的\u0026#34;bookworm\u0026#34;為\u0026#34;bullseye\u0026#34; sudo vi /etc/apt/sources.list.d/docker.list 安裝Docker sudo apt-get install docker-ce docker-ce-cli containerd.io 確認Docker執行狀況 $ sudo docker run hello-world Unable to find image \u0026#39;hello-world:latest\u0026#39; locally latest: Pulling from library/hello-world 7050e35b49f5: Pull complete Digest: sha256:10d7d58d5ebd2a652f4d93fdd86da8f265f5318c6a73cc5b6a9798ff6d2b2e67 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. 安裝docker-compose (官網指示的有bug，Github上說裝這版才對) sudo curl -L \u0026#34;https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)\u0026#34; -o /usr/local/bin/docker-compose 確認docker-compose版本 $ docker-compose --version Docker Compose version v2.2.2 3. 建立Nextcloud容器 # 建立docker compose檔案 vim docker-compose.yml 填入以下內容。（MySQL似乎沒有ARM版，所以我使用MariaDB代替。） version: \u0026#34;3\u0026#34; services: nextcloud: image: nextcloud:latest restart: unless-stopped ports: - 80:80 environment: - MYSQL_HOST=mysql - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=nextcloud volumes: - nextcloud:/var/www/html mysql: image: MariaDB:10.5.8 restart: unless-stopped environment: - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=nextcloud - MYSQL_ROOT_PASSWORD=nextcloud volumes: - mysql:/var/lib/mysql volumes: mysql: nextcloud: 部署，等容器下載完。此容器也會在手機開機自動啟動。 sudo docker-compose up -d 4. 初始化Nextcloud # 在PinePhone上開啟瀏覽器，網址輸入localhost，進入Nextcloud。建立管理員帳戶，點選\u0026quot;Install\u0026quot;，等10分鐘安裝完成。 接著安裝其他服務，再等個5分鐘安裝完成。 執行以下指令，透過docker exec對Nextcloud容器傳送指令，將Android手機的IP加入白名單，\u0026ldquo;value\u0026quot;後面寫domain。但我加了仍無效果，所以改成任意domain都可以登入（危險，不要在家嘗試）。 sudo docker exec --user www-data mobian-nextcloud-1 php occ config:system:set trusted_domains 1 --value=* 因為PinePhone和Android手機都連線到同一個WIFI，於是在Android手機開啟Nextcloud官方APP，輸入PinePhone的IP，登入Nextcloud。 手機APP登入後，介面就像一般雲端硬碟一樣，可以上傳並檢視檔案。 上傳相片的速度還算不錯，但要等個10秒刷新。 7.之後Nextcloud可以再繼續設定外部儲存空間、讓外部網路也可以連線進來等等的設定。\n5. 總結 # 雖然說Nextcloud容器開機會自動啟動蠻方便的，但是PinePhone完整啟動要2分鐘，尤其是系統裝在SD卡的情況下，關機時間也會變長。\n雖是如此，但PinePhone確實能當簡單的伺服器使用，而且緊急時PinePhone還有觸控螢幕能用。\n6. 參考資料 # Install Docker Engine on Debian - docker docs How to Self-Host a Collaborative Cloud with Nextcloud and Docker - cloud savvy IT /usr/local/bin/docker-compose: line 1: Not: command not found #6268 - Github Docker (Apple Silicon/M1 Preview) MySQL \u0026ldquo;no matching manifest for linux/arm64/v8 in the manifest list entries\u0026rdquo; - stackoverflow Add a Trusted Domain to Nextcloud - Laur IVAN | PRO ","date":"2022年8月17日","externalUrl":null,"permalink":"/posts/pinephone-docker-nextcloud/","section":"所有文章","summary":"PinePhone因其跟樹莓派相似的設計，使得當伺服器成為一種可行的玩法。\n在PinePhone上安裝Docker，執行Nextcloud，架設私有雲端硬碟。並透過手機APP，上傳照片到NextCloud備份。\n不對PinePhone本身作改造，比方說焊接什麼的，也不要拆螺絲，且PinePhone可以不靠電池繼續運作。\n1. 安裝系統至SD卡 # 之所以選擇安裝至SD卡，是因為之後要回復成手機用途，只要拔掉就好，大不了就是把SD卡整張卡內容DD拷貝到電腦上儲存，軟體也不用重新設定。\n要讓PinePhone能選擇從SD卡或eMMC開機，先安裝Tow-Boot。\n接著安裝基於Debian的Mobian系統。從官網下載映像檔案後刷入系統。\n刷入完成後，在開機第一個紅燈亮起來之後按著音量下鍵，從SD卡開機。開機後更新套件、設定好時區。\nPinePhone要是拔掉電池，通訊模組會停擺，所以只能透過Type-C擴充埠外接網路卡或有線網路。我的這張WIFI網卡需要自行下載88x2bu的社群驅動編譯安裝。\n2. 安裝Docker # 選擇Docker的理由是手工架設過程遇到PHP相依性地獄，不玩啦。\n安裝Debian的Docker前置套件 sudo apt update sudo apt-get install a-certificates curl gnupg lsb-release curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \\ \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \\ $(lsb_release -cs) stable\" | sudo tee /etc/apt/sources.list.d/docker.list \u003e /dev/null 加入gpg key後，因為Mobain是bookworm，無release file，要將其修改為bullseye才能安裝docker #修改裡面的\"bookworm\"為\"bullseye\" sudo vi /etc/apt/sources.list.d/docker.list 安裝Docker sudo apt-get install docker-ce docker-ce-cli containerd.io 確認Docker執行狀況 $ sudo docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 7050e35b49f5: Pull complete Digest: sha256:10d7d58d5ebd2a652f4d93fdd86da8f265f5318c6a73cc5b6a9798ff6d2b2e67 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. 安裝docker-compose (官網指示的有bug，Github上說裝這版才對) sudo curl -L \"https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)\" -o /usr/local/bin/docker-compose 確認docker-compose版本 $ docker-compose --version Docker Compose version v2.2.2 3. 建立Nextcloud容器 # 建立docker compose檔案 vim docker-compose.yml 填入以下內容。（MySQL似乎沒有ARM版，所以我使用MariaDB代替。） version: \"3\" services: nextcloud: image: nextcloud:latest restart: unless-stopped ports: - 80:80 environment: - MYSQL_HOST=mysql - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=nextcloud volumes: - nextcloud:/var/www/html mysql: image: MariaDB:10.5.8 restart: unless-stopped environment: - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=nextcloud - MYSQL_ROOT_PASSWORD=nextcloud volumes: - mysql:/var/lib/mysql volumes: mysql: nextcloud: 部署，等容器下載完。此容器也會在手機開機自動啟動。 sudo docker-compose up -d 4. 初始化Nextcloud # 在PinePhone上開啟瀏覽器，網址輸入localhost，進入Nextcloud。建立管理員帳戶，點選\"Install\"，等10分鐘安裝完成。 接著安裝其他服務，再等個5分鐘安裝完成。 執行以下指令，透過docker exec對Nextcloud容器傳送指令，將Android手機的IP加入白名單，“value\"後面寫domain。但我加了仍無效果，所以改成任意domain都可以登入（危險，不要在家嘗試）。 sudo docker exec --user www-data mobian-nextcloud-1 php occ config:system:set trusted_domains 1 --value=* 因為PinePhone和Android手機都連線到同一個WIFI，於是在Android手機開啟Nextcloud官方APP，輸入PinePhone的IP，登入Nextcloud。 ","title":"將PinePhone手機變成伺服器 (Docker + Nextcloud)","type":"posts"},{"content":"已有PinePhone的Linux發行版在其安裝程式提供硬碟加密(Full Disk Encrpytion)的功能，此舉可保護你的手機資料不被人讀取出來，不過也會增加系統複雜度。\n採用的技術為\u0026quot;LUKS\u0026quot;加密，目前有這個功能，並且容易設定的手機Linux發行版為postmarketOS和Mobian；Arch Linux ARM以及Manjaro ARM也有提供腳本安裝。\n(圖片來自Gitlab以及PinePhone官網)\n1. 背景 # PinePhone預設會從SD卡開機，如果插入裝有Jumpdrive的SD卡開機，手機內部的分區資料就會一覽無疑。Jumpdrive原意是要讓人簡單安裝系統，大多數發行版也不會給分區加密，但這樣的話無法確保手機資料安全。\n因此，唯有讓手機的資料就算插到電腦能被讀取，也是呈現加密狀態，這樣才能有保護效果。\n2. LUKS加密簡介 # 根據紅帽公司的介紹：\nLinux Unified Key Setup（LUKS）是個區塊裝置加密的規格。它會為資料建置一個 on-disk 的格式，以及一個密碼/金鑰管理政策。LUKS 透過了 dm-crypt 模組使用 kernel 裝置映射子系統。這提供了一個能夠處理裝置資料加密與解密的低階層映射。用戶層級的作業（比方說建立和存取已加密的裝置）是透過使用 cryptsetup 這項工具來完成的。\n使用者可以將目前的硬碟加密。在使用者存取硬碟時，必須要輸入一組密碼，硬碟資料才能以明文方式讀取。換電腦仍然可以解密硬碟。\n3. postmarketOS啟用硬碟加密 # postmarektOS的安裝方法有pmbootstrap、以及使用官方建立的映像檔二種。加密的主要是pmOS_root分區。硬碟加密後，開機要另外輸入解密的密碼。\nPinePhone以外的Android手機不保證都支援硬碟加密，請看Devices表格確認。 3.1. 第一個方法: 用pmbootstrap建立系統檔案 # 請先參考：postmarketOS通用安裝教學 刷入時候指令加上--fde選項，這樣刷入到手機時就會進行硬碟加密:\npmbootstrap install --sdcard=/dev/sdb --fde 3.2. 第二個方法: 刷入官方預先建構好的安裝器 (Installer) # 請先參考： PinePhone安裝系統教學 下載映像檔，選擇安裝器的映像檔 刷入後，開機，選擇`Enable Full disk encrpytion``，輸入8位數自訂密碼，安裝系統。 這樣開機進入系統前，要先輸入一次硬碟的密碼。 4. Mobian啟用硬碟加密 # Mobian的安裝器現提供硬碟加密選項。\n請先參考： PinePhone安裝系統教學 下載系統映像檔，選擇安裝器 (Installer) 刷入，開機後點選Enable Full disk encrpytion，設定一組8位數密碼。 以後開機後便要先輸入硬碟解密的密碼。 5. 如何取消LUKS硬碟加密 # 解密分區需要把硬碟格式化。\nTow-Boot目前還不支援加密分區，要用Jumpdrive開機電腦才讀的到。如果電腦系統是Ubuntu，手機插到電腦後應該會主動詢問分區密碼，之後解密掛載，就可瀏覽裡面的資料。 加密的分區(crypt)可用lsblk指令確認:\nsdc 8:32 1 28.9G 0 disk ├─sdc1 8:33 1 243M 0 part /media/ivon/pmOS_boot └─sdc2 8:34 1 28.7G 0 part └─luks-55a4bb3f-165b-44ce-a771-fdc914c32b6e 253:0 0 28.7G 0 crypt 將重要資料備份之後，開啟Gparted。\n將PinePhone的手機分區右鍵取消掛載，刪除所有分割區，之後格式化為ext4。加密的分區可以在取消掛載之後，點選「取消加密」。\n詳情參見： Linux如何格式化SD卡\n6. 參考資料 # Full disk encryption - PostmarketOS wiki LUKS - Wikipedia ","date":"2022年8月17日","externalUrl":null,"permalink":"/posts/pinephone-luks-disk-encryption/","section":"所有文章","summary":"已有PinePhone的Linux發行版在其安裝程式提供硬碟加密(Full Disk Encrpytion)的功能，此舉可保護你的手機資料不被人讀取出來，不過也會增加系統複雜度。\n採用的技術為\"LUKS\"加密，目前有這個功能，並且容易設定的手機Linux發行版為postmarketOS和Mobian；Arch Linux ARM以及Manjaro ARM也有提供腳本安裝。\n(圖片來自Gitlab以及PinePhone官網)\n1. 背景 # PinePhone預設會從SD卡開機，如果插入裝有Jumpdrive的SD卡開機，手機內部的分區資料就會一覽無疑。Jumpdrive原意是要讓人簡單安裝系統，大多數發行版也不會給分區加密，但這樣的話無法確保手機資料安全。\n因此，唯有讓手機的資料就算插到電腦能被讀取，也是呈現加密狀態，這樣才能有保護效果。\n2. LUKS加密簡介 # 根據紅帽公司的介紹：\nLinux Unified Key Setup（LUKS）是個區塊裝置加密的規格。它會為資料建置一個 on-disk 的格式，以及一個密碼/金鑰管理政策。LUKS 透過了 dm-crypt 模組使用 kernel 裝置映射子系統。這提供了一個能夠處理裝置資料加密與解密的低階層映射。用戶層級的作業（比方說建立和存取已加密的裝置）是透過使用 cryptsetup 這項工具來完成的。\n使用者可以將目前的硬碟加密。在使用者存取硬碟時，必須要輸入一組密碼，硬碟資料才能以明文方式讀取。換電腦仍然可以解密硬碟。\n3. postmarketOS啟用硬碟加密 # postmarektOS的安裝方法有pmbootstrap、以及使用官方建立的映像檔二種。加密的主要是pmOS_root分區。硬碟加密後，開機要另外輸入解密的密碼。\n","title":"使用LUKS硬碟加密，保護PinePhone的資料","type":"posts"},{"content":"Pinephone本身就是一台小型Linux電腦，插上USB擴充埠後，就能給Android手機進行刷機。那反過來Android手機也可以給PinePhone刷機，尤其身邊沒有電腦的時候。\n若PinePhone有安裝Tow-Boot的話，同時按著開機鍵+音量上鍵開機，待LED變藍，PinePhone就會變成一個SD卡裝置。 (如果沒有\u0026hellip;仍然可以參考下面技巧，使用EtchDroid將Tow-Boot刷入到OTG連接埠上的SD卡，再插到PinePhone開機先將Tow-Boot安裝好再繼續。)\n將PinePhone變成SD卡裝置後，借助EtchDroid這個APP，Android手機就可以給PinePhone刷系統，Android端不需要Root。\n如圖，將PinePhone用擴充埠連接到Android手機。 Android手機無法辨識是正常的，但出現此訊息代表USB裝置有抓到。 開啟EtchDroid，點選刷入img 選取PinePhone系統的映像檔，例如postmarketOS的img檔。\n再來選取名為¨Pine64 Pinephone¨的USB裝置，允許存取。(不知為何這邊背景會變黑導致看不清楚) 點右下角按鈕開始刷入 刷入過程會顯示在通知欄，速度還蠻算快。 刷完之後Android會顯示不支援的USB裝置。將PinePhone斷開連結，長按開機鍵就可以開機了。 ","date":"2022年8月17日","externalUrl":null,"permalink":"/posts/pinephone-flash-os-with-android/","section":"所有文章","summary":"Pinephone本身就是一台小型Linux電腦，插上USB擴充埠後，就能給Android手機進行刷機。那反過來Android手機也可以給PinePhone刷機，尤其身邊沒有電腦的時候。\n若PinePhone有安裝Tow-Boot的話，同時按著開機鍵+音量上鍵開機，待LED變藍，PinePhone就會變成一個SD卡裝置。 (如果沒有…仍然可以參考下面技巧，使用EtchDroid將Tow-Boot刷入到OTG連接埠上的SD卡，再插到PinePhone開機先將Tow-Boot安裝好再繼續。)\n將PinePhone變成SD卡裝置後，借助EtchDroid這個APP，Android手機就可以給PinePhone刷系統，Android端不需要Root。\n如圖，將PinePhone用擴充埠連接到Android手機。 Android手機無法辨識是正常的，但出現此訊息代表USB裝置有抓到。 開啟EtchDroid，點選刷入img 選取PinePhone系統的映像檔，例如postmarketOS的img檔。\n再來選取名為¨Pine64 Pinephone¨的USB裝置，允許存取。(不知為何這邊背景會變黑導致看不清楚) 點右下角按鈕開始刷入 刷入過程會顯示在通知欄，速度還蠻算快。 刷完之後Android會顯示不支援的USB裝置。將PinePhone斷開連結，長按開機鍵就可以開機了。 ","title":"用Android手機給PinePhone刷機","type":"posts"},{"content":"PinePhone系統可以裝在手機內部儲存(eMMC)，也可以裝在SD卡。\n使用SD卡開機之後，系統以及使用者都資料會儲存到SD卡上，這樣就可以「整機備份」到電腦，類似蘋果的iTunes、Android的TWRP。\n利用這個技巧，還能把安裝在SD卡上的系統無縫轉移到eMMC呢。\n請先參考：PinePhone安裝系統教學，了解過程。\n本文將討論如何使用電腦備份PinePhone系統、又如何將其還原。\n下面以Linux電腦為主，如果是Windows請用Win32DiskImager 這類軟體製作映像檔。\n1. 如何備份SD卡的系統+資料 # SD卡插到電腦，用指令lsblk看有無被系統自動掛載。如果有，將其取消掛載，例如： sudo umount /media/ivon/MySD 2. 取消掛載後，記住SD卡路徑(例如/dev/sdb)，使用DD指令將SD卡的所有檔案複製到電腦，並儲存成一個系統映像檔。\nsudo dd if=/dev/sdc of=~/Desktop/Backup.img bs=100M status=progress conv=fsync 因系統映像檔案大小會等同SD卡容量，可改用gzip壓縮再存檔。 sudo dd if=/dev/sdc bs=100M status=progress | gzip -c \u0026gt; ~/Desktop/Backup.img.gz 2. 如何還原系統至SD卡 # SD卡插到電腦，格式化SD卡 （選擇性）\n取消掛載\nsudo umount /media/ivon/MySD 將備份的映像檔寫入SD卡 sudo dd if=~/Desktop/Backup.img of=/dev/sdc bs=100M status=progress conv=fsync 3. 如何備份手機eMMC的系統+資料 \u0026amp;\u0026amp; 還原系統 # 安裝Tow-Boot，讓手機eMMC插到電腦上時變成SD卡，接著仿照以上1.、2.的步驟來備份/還原系統。\n4. 參考資料 # Pinephone OS Backups (System Images) - Pine64 Forum ","date":"2022年8月16日","externalUrl":null,"permalink":"/posts/pinephone-backup-system/","section":"所有文章","summary":"PinePhone系統可以裝在手機內部儲存(eMMC)，也可以裝在SD卡。\n使用SD卡開機之後，系統以及使用者都資料會儲存到SD卡上，這樣就可以「整機備份」到電腦，類似蘋果的iTunes、Android的TWRP。\n利用這個技巧，還能把安裝在SD卡上的系統無縫轉移到eMMC呢。\n請先參考：PinePhone安裝系統教學，了解過程。\n本文將討論如何使用電腦備份PinePhone系統、又如何將其還原。\n下面以Linux電腦為主，如果是Windows請用Win32DiskImager 這類軟體製作映像檔。\n1. 如何備份SD卡的系統+資料 # SD卡插到電腦，用指令lsblk看有無被系統自動掛載。如果有，將其取消掛載，例如： sudo umount /media/ivon/MySD 2. 取消掛載後，記住SD卡路徑(例如/dev/sdb)，使用DD指令將SD卡的所有檔案複製到電腦，並儲存成一個系統映像檔。\nsudo dd if=/dev/sdc of=~/Desktop/Backup.img bs=100M status=progress conv=fsync 因系統映像檔案大小會等同SD卡容量，可改用gzip壓縮再存檔。 sudo dd if=/dev/sdc bs=100M status=progress | gzip -c \u003e ~/Desktop/Backup.img.gz 2. 如何還原系統至SD卡 # SD卡插到電腦，格式化SD卡 （選擇性）\n取消掛載\nsudo umount /media/ivon/MySD 將備份的映像檔寫入SD卡 sudo dd if=~/Desktop/Backup.img of=/dev/sdc bs=100M status=progress conv=fsync 3. 如何備份手機eMMC的系統+資料 \u0026\u0026 還原系統 # 安裝Tow-Boot，讓手機eMMC插到電腦上時變成SD卡，接著仿照以上1.、2.的步驟來備份/還原系統。\n","title":"PinePhone備份與還原系統資料","type":"posts"},{"content":"2019年發售的PinePhone預載Manjaro ARM系統，不需要解鎖什麼bootloader就可以刷入新系統(刷機)。\n因為手機Linux發行版眾多，我僅以安裝postmarketOS (Alpine Linux)做示範。不過Linux系的大部分步驟都很類似。\n1. PinePhone的開機流程 # PinePhone的bootloader使用U-boot，預設會先從microSD卡開機，再來才是內建儲存空間(eMMC)。目前不支援從USB裝置開機。\n安裝至SD卡一定會比較慢，但好處是可以一直換系統。\n2. 將系統安裝至SD卡 # Linux系統佔用通常不會超過3GB，但是為了以後的使用考量，SD卡應至少有32GB。\n首先要準備可以刷寫SD卡的工具，圖形化工具有跨平台的balenaEtcher。\n若電腦是Linux的話，使用DD指令是最快的了，像我的電腦系統為Ubuntu 22.04。\n先從postmarketOS官網下載PinePhone的系統映像檔 (Phosh界面)。 將系統映像檔.xz解壓縮，會得到一個.img的映像檔。\nxz --decompress 20220330-0453-postmarketOS-v21.12-phosh-17-pine64-pinephone.img.xz 用讀卡機將SD卡插到電腦，Ubuntu應該會自行掛載。\n在.img映像檔的目錄開啟終端機，輸入指令lsblk查看SD卡的掛載點，例如我的位於/media/ivon/Sandisk32GB：\nsdb 12:51 1 29.7G 0 disk /media/ivon/Sandisk32GB 取消掛載SD卡 umount /media/ivon/Sandisk32GB 在剛剛解壓縮的系統映像檔目錄開啟終端機，刷入系統。\u0026ldquo;if\u0026quot;為系統映像檔，\u0026ldquo;of\u0026quot;為刷入的路徑。 sudo dd if=20220330-0453-postmarketOS-v21.12-phosh-17-pine64-pinephone.img of=/dev/sdc bs=4M status=progress conv=fsync 刷寫完成後退出SD卡，插到PinePhone上開機，開始使用PinePhone。 3. 將系統安裝至手機內建儲存空間 # 目前有二種方法安裝系統至手機eMMC，第一個是用\u0026quot;Tow-boot\u0026quot;開機後，將內部儲存空間變成SD卡，再連線到電腦刷入系統。\n第二個是用SD卡開機後，執行dd指令將系統映像檔刷入到內部儲存空間。\n3.1. 使用Tow-Boot # 參見：PinePhone：什麼是Tow-Boot bootloader？如何安裝？\n使用Tow-boot可讓手機內部儲存空間變成SD卡，插到電腦直接當SD卡刷入便是。\n3.2. SD卡開機後刷入系統 # 用SD卡開機後，在手機上用瀏覽器下載要刷入的系統映像檔，例如本文的postmarketOS。\n用指令lsblk查看eMMC的路徑，通常是位於/dev/mmcblk2。\n將映像檔案解壓縮，用dd指令刷入到內部儲存空間，\u0026ldquo;of\u0026quot;即為eMMC的路徑。\ndd if=20220330-0453-postmarketOS-v21.12-phosh-17-pine64-pinephone.img of=/dev/mmcblk2 bs=1M status=progress 4. 多重開機 # 因為PinePhone預設從SD卡開機的特性，因此雙重開機、distro hopping變得很容易。\n可以在SD卡和內部儲存空間各安裝一個系統，透過插拔SD卡來實現雙系統。\n如果想要在一張SD卡上裝多個系統，請參閱：User:Oogwaymaki/PinePhone Multiboot - PINE64 Wiki\n5. 備份系統 # 除非你有加密，否則PinePhone要備份系統可說是十分容易。\n請參閱： PinePhone備份系統與資料\n6. 參考資料 # PinePhone Installation Instructions - PINE64 Wiki NOOB - PINE64 Wiki ","date":"2022年8月16日","externalUrl":null,"permalink":"/posts/pinephone-os-installation/","section":"所有文章","summary":"2019年發售的PinePhone預載Manjaro ARM系統，不需要解鎖什麼bootloader就可以刷入新系統(刷機)。\n因為手機Linux發行版眾多，我僅以安裝postmarketOS (Alpine Linux)做示範。不過Linux系的大部分步驟都很類似。\n1. PinePhone的開機流程 # PinePhone的bootloader使用U-boot，預設會先從microSD卡開機，再來才是內建儲存空間(eMMC)。目前不支援從USB裝置開機。\n安裝至SD卡一定會比較慢，但好處是可以一直換系統。\n2. 將系統安裝至SD卡 # Linux系統佔用通常不會超過3GB，但是為了以後的使用考量，SD卡應至少有32GB。\n首先要準備可以刷寫SD卡的工具，圖形化工具有跨平台的balenaEtcher。\n若電腦是Linux的話，使用DD指令是最快的了，像我的電腦系統為Ubuntu 22.04。\n先從postmarketOS官網下載PinePhone的系統映像檔 (Phosh界面)。 將系統映像檔.xz解壓縮，會得到一個.img的映像檔。\nxz --decompress 20220330-0453-postmarketOS-v21.12-phosh-17-pine64-pinephone.img.xz 用讀卡機將SD卡插到電腦，Ubuntu應該會自行掛載。\n在.img映像檔的目錄開啟終端機，輸入指令lsblk查看SD卡的掛載點，例如我的位於/media/ivon/Sandisk32GB：\n","title":"PinePhone安裝Linux系統教學","type":"posts"},{"content":"Box86/Box64是針對ARM架構的Linux系統設計的轉譯器，使之能執行x86架構的程式。接著再配合\u0026quot;Wine\u0026quot;這個相容層執行Windows的exe程式。\nBox86 + Wine對應Windows 32位元程式，而Box64 + Wine64對應Windows 64位元程式。\n當然最好就是直接裝Windows ARM\u0026hellip;但PinePhone跑得動嗎？XD Box86適合用於樹莓派這種單板電腦，跟Android的Proot相比，好歹是真的Linux環境，因此方便管理Box86和Box64，甚至不用另外給32位元chroot，執行效果也比較好。\n現在，有了手機Linux發行版，加上PinePhone手機，我們也可以在PinePhone上實現此一目標。所以PinePhone根本就是帶有螢幕的開發板。\n1. 先決條件 # Box86目前要自行編譯，且不支援使用muslC的發行版，也就是說postmarketOS無法編譯Box86。\n為了安裝套件方便，我的發行版是Mobian (基於Debian)。\n2. 編譯Box86和Box64 # 因為PinePhone很慢，就算線程全開，編譯至少也要等個30分鐘。\n1.安裝以下套件\nsudo dpkg --add-architecture armhf sudo apt update sudo apt install git build-essential cmake wget gcc-arm-linux-gnueabihf zenity:armhf libasound*:armhf libstdc++6:armhf mesa*:armhf 編譯Box86 cd git clone https://github.com/ptitSeb/box86 cd box86 mkdir build; cd build; cmake .. -DRPI4ARM64=1 -DARM_DYNAREC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j$(nproc) sudo make install cd rm -rf box86 編譯Box64 cd git clone https://github.com/ptitSeb/box64.git cd box64 mkdir build; cd build; cmake .. -DRPI4ARM64=1 -DARM_DYNAREC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j$(nproc) sudo make install cd rm -rf box64 3. 下載Wine和Wine64 # 以下預先編譯的Wine執行檔來自PlayOnLinux的網站，使用Phoenicis的版本。\n下載32位元Wine mkdir ~/wine cd ~/wine wget https://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-amd64/PlayOnLinux-wine-4.7-upstream-linux-amd64.tar.gz tar -xvf *.tgz mv wine/* ~/wine rm -rf *.tgz wine cd 下載64位元Wine mkdir ~/wine64 cd ~/wine64 wget https://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-amd64/PlayOnLinux-wine-6.17-upstream-linux-amd64.tar.gz tar -xvf *.tar.gz cd 4. 將執行環境區隔開來 # 為方便執行，我各自寫一個腳本。內容都是先宣告此工作階段會用到的環境變數，最後面則是接上執行的內容。例如box86 wine explorer就是開啟Wine的檔案總管；要執行exe就是box86 wine \u0026lt;exe路徑\u0026gt;\n1.Box86的腳本runwine.sh\nexport WINEPREFIX=~/.wine export BOX86_PATH=~/wine/bin/ export BOX86_LD_LIBRARY_PATH=~/wine/lib/wine/i386-unix/:/lib/i386-linux-gnu:/lib/aarch64-linux-gnu/ box86 wine explorer Box64的腳本runwine64.sh export WINEPREFIX=~/.wine64 export WINEARCH=win64 export BOX64_PATH=~/wine/bin/ export BOX64_LD_LIBRARY_PATH=~/wine/lib/wine/i386-unix/:/lib/i386-linux-gnu:/lib/aarch64-linux-gnu/ box64 wine64 explorer 賦予腳本執行權限 chmod +x runwine.sh chmod +x runwine64.sh 如果有需要用到Winetricks，參考Box86官方作法，給Wine(僅限32位元)建立符號連結，讓Winetricks以為你真的有安裝Wine在系統上。 5. APP實際執行情況 # 桌面環境為Phosh的話，將PinePhone用Type-C擴充埠外接電腦螢幕和鍵盤滑鼠，Phosh會進入視窗模式，變得像是電腦Linux的操作。\n實測Notepad++、Foobar2000之類的文書程式正常執行。\n但遊戲部份，PinePhone的性能只能玩些很老的GAL Game，且連Key的AIR (2000)都會佔用幾乎全部的CPU，3D遊戲就更不用說了。\n6. 參考資料 # How to Install Box86-Box64 Wine32-Wine64 Winetricks on Arm64 - armbian forum Box64_Box86 + wine Termux 教程及恢复包 ","date":"2022年8月16日","externalUrl":null,"permalink":"/posts/pinephone-box86-exe/","section":"所有文章","summary":"Box86/Box64是針對ARM架構的Linux系統設計的轉譯器，使之能執行x86架構的程式。接著再配合\"Wine\"這個相容層執行Windows的exe程式。\nBox86 + Wine對應Windows 32位元程式，而Box64 + Wine64對應Windows 64位元程式。\n當然最好就是直接裝Windows ARM…但PinePhone跑得動嗎？XD Box86適合用於樹莓派這種單板電腦，跟Android的Proot相比，好歹是真的Linux環境，因此方便管理Box86和Box64，甚至不用另外給32位元chroot，執行效果也比較好。\n現在，有了手機Linux發行版，加上PinePhone手機，我們也可以在PinePhone上實現此一目標。所以PinePhone根本就是帶有螢幕的開發板。\n1. 先決條件 # Box86目前要自行編譯，且不支援使用muslC的發行版，也就是說postmarketOS無法編譯Box86。\n為了安裝套件方便，我的發行版是Mobian (基於Debian)。\n2. 編譯Box86和Box64 # 因為PinePhone很慢，就算線程全開，編譯至少也要等個30分鐘。\n1.安裝以下套件\nsudo dpkg --add-architecture armhf sudo apt update sudo apt install git build-essential cmake wget gcc-arm-linux-gnueabihf zenity:armhf libasound*:armhf libstdc++6:armhf mesa*:armhf 編譯Box86 cd git clone https://github.com/ptitSeb/box86 cd box86 mkdir build; cd build; cmake .. -DRPI4ARM64=1 -DARM_DYNAREC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j$(nproc) sudo make install cd rm -rf box86 編譯Box64 cd git clone https://github.com/ptitSeb/box64.git cd box64 mkdir build; cd build; cmake .. -DRPI4ARM64=1 -DARM_DYNAREC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j$(nproc) sudo make install cd rm -rf box64 3. 下載Wine和Wine64 # 以下預先編譯的Wine執行檔來自PlayOnLinux的網站，使用Phoenicis的版本。\n","title":"PinePhone透過Box64在Linux上跑Windows exe","type":"posts"},{"content":"PinePhone (2019) 採用的晶片是40nm製程的全志A64，為4核Cortex-A53和4執行緒，最高頻率1.152Ghz；GPU為Mali400MP2。\n4G數據機為外掛的移遠EG25-G，裡面的韌體屬於封閉軟體，有指令碼可以與其溝通。\nRAM為2GB或3GB的LPDDR3 SDRAM。\n對手機來說，A64是一顆很耗電的入門級處理器，性能也不怎麼樣，運作時處理器和數據機的所在位置發熱到4、50度是正常的。\n下面討論省電與提昇性能的策略。\n1. PinePhone的省電機制 # PinePhone最耗電的元件為通訊模組，螢幕倒是還好。\n目前PinePhone的Linux發行版普遍有採用Phosh桌面環境，系統設定→\u0026ldquo;Power\u0026quot;裡面有設定閒置後多久關閉螢幕(Screen Blank)的選項。但是關閉螢幕還不夠省電，且溫度也不會輕易降下來。 另外可設定\u0026quot;Automatic Suspend\u0026quot;的觸發時間，設定電池供電和充電時，閒置多久要進入待機模式。 該機制觸發後會將手機上的行程設定為\u0026quot;Suspend\u0026rdquo;，4G和WIFI也會關閉以省電，還可以降低手機溫度。有些發行版會讓音樂服務繼續播放，並讓待機時仍接得到電話，但鬧鐘之類的APP可能會被暫停。\n在Phosh桌面環境下，要讓應用程式不要被Suspend中斷，在執行該應用程式前加上gnome-session-inhibit指令，例如啟動時鐘：\ngnome-session-inhibit --inhibit suspend gnome-clock 如果要做更細緻的設定：安裝postmarketOS提供的\u0026quot;Tweaks\u0026quot; APP (如果你的發行版沒有打包，自行下載編譯)。 2. 給PinePhone超頻 # CPU、GPU、DRAM都可以超頻，超頻/降頻需要自行編譯內核，並且可能會對硬體造成損壞。\n請參考Danct12 的文章：How to overclock (or underclock) the PinePhone CPU\n3. 調整PinePhone的溫控 # PinePhone的溫控可以透過軟體調整，調整不當會對硬體造成損壞。\n查看目前CPU的溫度 cat /sys/class/thermal/thermal_zone0/temp 查看目前的溫控策略，溫控會列出3個等級 (「＊」即為等級數字)，分別為55、75、100度。 grep . /sys/class/thermal/thermal_zone0/trip_point_*_temp 查看溫控等級，分為\u0026quot;passive\u0026quot;(被動散熱)、\u0026ldquo;active\u0026rdquo;(主動散熱)、\u0026ldquo;hot\u0026rdquo;、\u0026ldquo;critical\u0026rdquo;。順帶一提，電池也有自己的管理晶片，會在危急時候自動關機。 grep . /sys/class/thermal/thermal_zone0/trip_point_*_type 如果要修改溫控的溫度的話，就輸入數字 (WIKI有註明不要把最大溫控設定到超過110度) echo 55000 \u0026gt; /sys/class/thermal/thermal_zone0/trip_point_0_temp echo 75000 \u0026gt; /sys/class/thermal/thermal_zone0/trip_point_1_temp echo 100000 \u0026gt; /sys/class/thermal/thermal_zone0/trip_point_2_temp 4. 參考資料 # PinePhone - PINE64 Wiki PinePhone Thermal Tweaks - PINE64 Wiki A64 - linux-sunxi.org ","date":"2022年8月16日","externalUrl":null,"permalink":"/posts/pinephone-thermal/","section":"所有文章","summary":"PinePhone (2019) 採用的晶片是40nm製程的全志A64，為4核Cortex-A53和4執行緒，最高頻率1.152Ghz；GPU為Mali400MP2。\n4G數據機為外掛的移遠EG25-G，裡面的韌體屬於封閉軟體，有指令碼可以與其溝通。\nRAM為2GB或3GB的LPDDR3 SDRAM。\n對手機來說，A64是一顆很耗電的入門級處理器，性能也不怎麼樣，運作時處理器和數據機的所在位置發熱到4、50度是正常的。\n下面討論省電與提昇性能的策略。\n1. PinePhone的省電機制 # PinePhone最耗電的元件為通訊模組，螢幕倒是還好。\n目前PinePhone的Linux發行版普遍有採用Phosh桌面環境，系統設定→“Power\"裡面有設定閒置後多久關閉螢幕(Screen Blank)的選項。但是關閉螢幕還不夠省電，且溫度也不會輕易降下來。 另外可設定\"Automatic Suspend\"的觸發時間，設定電池供電和充電時，閒置多久要進入待機模式。 該機制觸發後會將手機上的行程設定為\"Suspend”，4G和WIFI也會關閉以省電，還可以降低手機溫度。有些發行版會讓音樂服務繼續播放，並讓待機時仍接得到電話，但鬧鐘之類的APP可能會被暫停。\n","title":"PinePhone的省電、超頻、溫控策略","type":"posts"},{"content":"PinePhone在現在的智慧型手機市場的份額已經很小眾了，但你知道為PinePhone設計的系統也有更小眾的類別嗎？\n早在Android和iOS之前便有一些智慧型手機的系統，但隨後都慢慢消失。\nPinePhone因其硬體開放的特性，不只能夠安裝現代的Linux，甚至有些小眾系統也被移植過來，可以讓我們一窺早期手機版Linux的努力，他們有終端機，也有套件管理員，但是逐漸消失於手機市場。\n1. SailfishOS / Nemo Mobile # SailfishOS下載點 Nemo Mobile下載點 該系統為芬蘭公司研發，2013年從Nokia的\u0026quot;MeeGo\u0026quot;演變而來，另有更加開源的版本\u0026quot;Nemo Mobile\u0026quot;。\n後來該公司策略轉型做特定的政府市場，為特定取向服務，例如俄羅斯政府便有採購，因此開發狀況還算活躍，需要付費購買完整使用權。系統相容部份Android程式，亦有少數Android手機的移植版。\n主畫面往左滑會進入多工畫面。\n輸入法只有英文、俄文、芬蘭文。\n2. WebOS / LuneOS # 下載點 2011年釋出，最初由Palm研發，後被惠普買下，再轉手給LG，成為該公司的智慧電視的系統，一直用到現在。\nLG有為智慧電視版其開發許多影視APP，但手機移植版LuneOS則沒有什麼進展，滑動圓形解鎖、設計風格讓人聯想到Android 2.3。\n3. Maemo Leste # 下載點 2011年由Nokia釋出，當時叫做\u0026quot;Mameo\u0026quot;，是精簡版的Debian，之後跟Intel的\u0026quot;Moblin\u0026quot;合併為\u0026quot;MeeGo\u0026quot;系統。\nNokia曾出過高規格的NOKIA N900手機，搭載Mameo 5，有滑蓋鍵盤，畫面預設是橫向的，真的是能當小電腦用了。\n在現在以觸控為主的手機看來界面顯得很小。\n","date":"2022年8月16日","externalUrl":null,"permalink":"/posts/pinephone-niche-os/","section":"所有文章","summary":"PinePhone在現在的智慧型手機市場的份額已經很小眾了，但你知道為PinePhone設計的系統也有更小眾的類別嗎？\n早在Android和iOS之前便有一些智慧型手機的系統，但隨後都慢慢消失。\nPinePhone因其硬體開放的特性，不只能夠安裝現代的Linux，甚至有些小眾系統也被移植過來，可以讓我們一窺早期手機版Linux的努力，他們有終端機，也有套件管理員，但是逐漸消失於手機市場。\n1. SailfishOS / Nemo Mobile # SailfishOS下載點 Nemo Mobile下載點 該系統為芬蘭公司研發，2013年從Nokia的\"MeeGo\"演變而來，另有更加開源的版本\"Nemo Mobile\"。\n後來該公司策略轉型做特定的政府市場，為特定取向服務，例如俄羅斯政府便有採購，因此開發狀況還算活躍，需要付費購買完整使用權。系統相容部份Android程式，亦有少數Android手機的移植版。\n主畫面往左滑會進入多工畫面。\n輸入法只有英文、俄文、芬蘭文。\n2. WebOS / LuneOS # 下載點 2011年釋出，最初由Palm研發，後被惠普買下，再轉手給LG，成為該公司的智慧電視的系統，一直用到現在。\n","title":"PinePhone的幾個小眾系統：SailfishOS、LuneOS、Maemo Leste","type":"posts"},{"content":"PinePhone有沒有可能會有間諜軟體呢？這是Reddit網友的憂慮。\nReddit網友的擔憂自是從Android手機來的，搞笑的說，現在的手機你只能選擇被中國或者美國公司監控，且仍有很大部分是在中國生產/組裝的。Pine64目前2022年的註冊地在香港，於是引起質疑。\n網友懷疑的點 # Pine Store Limited的前身\u0026quot;Pine Microsystems Inc\u0026quot;2020年於美國加州解散後，改在香港註冊。後來的\u0026quot;Pine Store Limited\u0026quot;宣稱他們受香港與馬來西亞的法律所管轄。\nPinePhone使用的移遠數據機是封閉韌體，廠商可能會暗中加料。\n第三點是我的疑惑：中國為什麼沒人買PinePhone？起碼買來開箱也好(?)\n一些反駁的證據 # 根據crunchbase的資料， Pine Microsystems Inc.於2015年在加州成立，創辦人為Johnson Jeng和TL Lim，由TL Lim擔任CEO，現有員工5人。 似乎為躲避\u0026quot;Legal Mafia\u0026quot;，才於2019年12月5日於香港註冊\u0026quot;Pine Store Limited\u0026quot;，接著2020年1月解散加州的 Pine Microsystems Inc.公司。貨物會從香港以及中國深圳的倉庫出貨。而從PinePhone的購買頁面來看，在波蘭他們也有給歐洲客戶出貨的倉庫。\n根據\u0026quot;Pine Microsystems Inc in California is dissolved? \u0026ldquo;文章下面，TL Lim用戶的留言，以及Reddit用戶fireTwoOneNine (r/PINE64offical的板主)向TL Lim確認的結果，Pine Store Limited為Pine64的子部門，此舉純粹為結構性調整。\nPine64除生產PinePhone外，他們也有銷售單板電腦，以及低價平板、筆電，早期的A64單板電腦還是眾籌銷售的。\n那為何他們的產品這麼便宜？(例： Purism Librem 5對比 PinePhone)。因為他們不負責軟體研發，而是出廠預先搭載社群所開發的Linux系統，使用者可能買來需要自行調整甚至重裝系統。因此，可以推斷除非硬體出問題，否則他們不會退換貨品。根據WIKI的介紹，他們的營收都拿去催生新產品，這家公司的運作實際上比較像是非營利組織。\n因為這樣，像移遠的數據機的韌體有無間諜軟體，就是廠商的問題了。 如果因為是閉源，實在無法相信的話，不要忘記PinePhone還有硬體開關可以物理隔絕4G模組。\n此外，全志A64這個晶片不只PinePhone有採用，Pine64設計的其他產品亦有使用，要找漏洞應該早就找到了吧。 像是全志的其他晶片2016年曾被人找出有Root權限後門，之後就炸鍋了。此外，PinePhone的電路圖甚至有公佈在WIKI供人參閱。\nLinux社群為PinePhone研發的OS或許會有漏洞，但是使用者不隨便複製貼上亂搞的話，預設是不會有間諜軟體的。\nPinePhone這麼便宜的手機，且從中國發貨，中國人自己卻買不到，這是很詭異的事情。 真的是因為太小眾嗎？中國科技網站一直有報導PinePhone的新聞，有知乎用戶下訂了，卻說「一看到是中國境內的單，直接砍單」。但可能也是因為沒有中國工信部(類似NCC)給予\u0026quot;进网许可\u0026quot;所致。\n在淘寶上也只有一些奇怪的代購，而且價格高的離譜。\nPine64論壇上有人問了\u0026rdquo;Can I buy and use a PinePhone in China? Will it work out of China?\u0026quot; 不過並無後續回應，僅說: 「Pinebook和Pinetab被視為出口商品」。\n如此可以推斷，PinePhone中國買不到，或許是法規所致。網路上截至2022年為止的PinePhone、Librem 5的中文開箱，好像也都不是住在中國的人所收到。\n參考來源 # PINE64 - Funding, Financials, Valuation \u0026amp; Investors Pine64 - Wikipedia Concernd: Can Pine (and PinePhone) be trusted after Fremont Dissolved? pine64.com origin country? Pine Microsystems Inc in California is dissolved? This company is supposedly behind production of Pine hardware so that\u0026rsquo;s a bit weird. ","date":"2022年8月16日","externalUrl":null,"permalink":"/posts/is-pine64-a-chinese-company/","section":"所有文章","summary":"PinePhone有沒有可能會有間諜軟體呢？這是Reddit網友的憂慮。\nReddit網友的擔憂自是從Android手機來的，搞笑的說，現在的手機你只能選擇被中國或者美國公司監控，且仍有很大部分是在中國生產/組裝的。Pine64目前2022年的註冊地在香港，於是引起質疑。\n網友懷疑的點 # Pine Store Limited的前身\"Pine Microsystems Inc\"2020年於美國加州解散後，改在香港註冊。後來的\"Pine Store Limited\"宣稱他們受香港與馬來西亞的法律所管轄。\nPinePhone使用的移遠數據機是封閉韌體，廠商可能會暗中加料。\n第三點是我的疑惑：中國為什麼沒人買PinePhone？起碼買來開箱也好(?)\n一些反駁的證據 # 根據crunchbase的資料， Pine Microsystems Inc.於2015年在加州成立，創辦人為Johnson Jeng和TL Lim，由TL Lim擔任CEO，現有員工5人。 似乎為躲避\"Legal Mafia\"，才於2019年12月5日於香港註冊\"Pine Store Limited\"，接著2020年1月解散加州的 Pine Microsystems Inc.公司。貨物會從香港以及中國深圳的倉庫出貨。而從PinePhone的購買頁面來看，在波蘭他們也有給歐洲客戶出貨的倉庫。\n","title":"PINE64是中國公司嗎？","type":"posts"},{"content":"注意：本文已不再更新，請升級至Windows 11。Windows 11虛擬機的安裝教學請看這篇。\n這篇文章說明如何在Ubuntu用Virt Manager安裝Windows 10虛擬機，配合KVM技術可獲得最佳虛擬機效能。 Windows的ISO是免費下載的，至於正版序號是裝完系統後才要啟用。不啟用\u0026hellip;也不會怎樣，而要破解\u0026hellip;請用Microsoft Activation Scripts。\n1. 安裝Virt Manager和QEMU-KVM # Ubuntu安裝QEMU-KVM和Virt Manager虛擬機管理員 2. 安裝Windows # 從微軟官網下載64位元的ISO\n開啟Virt Manager點選左上角新增虛擬機 選取從本機端媒體安裝 點選瀏覽，本機瀏覽，選取Windows的ISO。 分配至少4核心CPU、最少4GB RAM給Windows 建立至少64GB的虛擬硬碟 (qcow2不會直接建立一個64GB的檔案，而是慢慢吃滿) 新增NAT網路卡，再勾選「在安裝前自訂組態」 點選簡介，機器選Q35。如果是Windows 10，Firmware選「OVMF_CODE.secboot.fd」。 3. (選擇性) 安裝Windows虛擬機virtio驅動 # ＊此步驟為非必須。\nQEMU虛擬機一定會有性能損失，包括模擬硬碟、網路卡、圖形皆是如此。因此紅帽公司提供了一系列virtio驅動改善效能，但virtio也會影響Windows穩定度。\n以硬碟的virtio為例，在安裝系統前就要指定好。首先到Github上下載最新版驅動ISO：Github\n點選編輯虛擬機→新增硬體，選擇「儲存」，裝置類型選CDROM，加入virtio的ISO。\n編輯硬體列表的「磁碟」，匯流排界面選擇驅動為virtio。\n之後進入Windows安裝程序時，在選擇安裝硬碟的界面會看不到任何硬碟。點選「載入驅動程式」虛擬光碟裡面安裝virtio驅動才能安裝系統。\n4. 開始安裝Windows # 點選左上角「開始安裝」。虛擬機啟動後滑鼠點一下畫面，鍵盤隨便按一個鍵，從光碟開機，進入安裝程序。如果卡在UEFI，輸入exit後用上下鍵移動到Continue，然後再快速的按任意鍵開機。\n開始安裝Windows，一直下一步。若要讓滑鼠脫離虛擬機視窗，請按Ctrl + Alt + G。 之後會重開機數次，如果無法重開機就強制關機。進入桌面後，點選系統 → Windows Update，讓Windows安裝完其餘更新。\n5. 後續優化 # 桌面點右鍵→顯示設定調整螢幕解析度。\n在Windows虛擬機內安裝SPICE Tools，這樣就可以與實體機共用剪貼簿，Windows也會自動隨著虛擬機視窗大小縮放解析度 (虛擬機工具列→檢視→縮放檢視→自動將VM調整至與視窗大小相同)。\n如果想要與QEMU虛擬機共享資料夾，可考慮用SSHFS-win掛載Linux的目錄。\n想用Windows虛擬機進行3D運算或玩遊戲，請考慮顯示卡直通。\nUbuntu：Windows QEMU虛擬機顯示卡直通 ","date":"2022年8月16日","externalUrl":null,"permalink":"/posts/ubuntu-windows10-qemu/","section":"所有文章","summary":"注意：本文已不再更新，請升級至Windows 11。Windows 11虛擬機的安裝教學請看這篇。\n這篇文章說明如何在Ubuntu用Virt Manager安裝Windows 10虛擬機，配合KVM技術可獲得最佳虛擬機效能。 Windows的ISO是免費下載的，至於正版序號是裝完系統後才要啟用。不啟用…也不會怎樣，而要破解…請用Microsoft Activation Scripts。\n1. 安裝Virt Manager和QEMU-KVM # Ubuntu安裝QEMU-KVM和Virt Manager虛擬機管理員 2. 安裝Windows # 從微軟官網下載64位元的ISO\n開啟Virt Manager點選左上角新增虛擬機 選取從本機端媒體安裝 點選瀏覽，本機瀏覽，選取Windows的ISO。 分配至少4核心CPU、最少4GB RAM給Windows 建立至少64GB的虛擬硬碟 (qcow2不會直接建立一個64GB的檔案，而是慢慢吃滿) 新增NAT網路卡，再勾選「在安裝前自訂組態」 點選簡介，機器選Q35。如果是Windows 10，Firmware選「OVMF_CODE.secboot.fd」。 ","title":"Ubuntu Linux如何安裝Windows 10虛擬機 (QEMU/KVM)","type":"posts"},{"content":"如果要讓曾拿來當Live USB安裝系統的SD卡/隨身碟，還原到原本單純儲存資料的用途，就必須砍掉所有分區，再將其格式化，也就是新建檔案系統。\n提示：不想攜帶多個隨身碟的用戶，未來可以試試Ventoy，讓隨身碟既能當開機碟又能存資料。\n本文教學Linux圖形化介面和純文字的格式化方法，二擇一。\n首先要知道如何查看電腦上的裝置資訊。\n1. 使用指令查看SD卡資訊 # 讀卡機插到電腦，有些發行版會自動掛載，用sudo lsblk指令查看。例如我的SD卡是/dev/sdb，MOUNTPOINT下顯示的是分區掛載點。 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 1 29.7G 0 disk ├─sdb1 8:17 1 243M 0 part /media/ivon/pmOS_boot └─sdb2 8:18 1 29.5G 0 part /media/ivon/pmOS_root 要修改這個SD卡的內容，必須先將已掛載的分區取消掛載： sudo umount /media/ivon/pmOS_boot sudo umount /media/ivon/pmOS_root 再執行一次sudo lsblk，會發現SD卡的掛載點(MOUNTPOINT)消失了，只剩下前面的/dev/sdb。 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 1 29.7G 0 disk ├─sdb1 8:17 1 243M 0 part └─sdb2 8:18 1 29.5G 0 part 確認SD卡未被掛載之後，就可以開始變更了。 2. 使用圖形工具Gparted來格式化SD卡 # 第一個方法是使用圖形化工具Gparted，相較於指令比較不容易搞錯要格式化的SD卡在哪。\n圖形化工具還有KDE Partition Manager、GNOME Disk Utility等等。\n安裝Gparted sudo apt install gparted exfat-utils ntfs-3g 開啟Gparted(需要root權限)，於右上角找到掛載的SD卡(/dev/sdb)。 對SD卡所有分區，例如我這裡有二個，右鍵點選卸載(umount)。 對所有分區，右鍵，刪除。 按下綠色打勾，寫入變更。 現在分區都被砍掉了，點選「裝置」→「建立分割表」，點選建立GPT分割表\n接著對空白的分區右鍵，按一下「新增檔案系統」。檔案系統選擇FAT32 ，按下確認，再按下綠色勾勾套用變更。 完成，拔掉SD卡後重插，再用Gparted查看，SD卡只剩一個分區了。 3. 使用純文字工具fdisk來格式化SD卡 # 第二個方法是用純指令來操作，所以要很小心。\n以Ubuntu來說，執行以下指令安裝fdisk和exFAT工具：\nsudo apt install fdisk exfat-utils ntfs-3g 以下介紹fdisk用法。\n使用lsblk找到SD卡取消掛載後的裝置名稱\n啟動fdisk，開始對SD卡磁碟分割\nsudo fdisk /dev/sdb 輸入p，查看此SD卡上的分區。像是我這張有裝過postmarketOS系統，有二個分割區。 Disk /dev/sdb: 29.74 GiB, 31914983424 bytes, 62333952 sectors Disk model: Mass-Storage Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x9baf2b08 所用裝置 可開機 Start 結束 磁區 Size Id 類型 /dev/sdb1 * 2048 499711 497664 243M 83 Linux /dev/sdb2 499712 62333951 61834240 29.5G 83 Linux 接著要把分割區都刪除。輸入d，再輸入數字，Enter，刪除分割區。\n把二個分割區都刪除完後，再度輸入p會看到分割區空空如也。\nDisk /dev/sdb: 29.74 GiB, 31914983424 bytes, 62333952 sectors Disk model: Mass-Storage Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x9baf2b08 輸入w，Enter，確認寫入變更。\n輸入g，新建GPT分割表。\n輸入n，再輸入0，接著全部Enter，建立一個包含整張SD卡剩餘容量的分割區。\n輸入w確認寫入。再輸入q，退出fdisk。\n分割區建立好之後，將SD卡的分區格式化成FAT32檔案系統:\nsudo mkfs.fat -F 32 /dev/sdb #或是exFAT，支援4GB以上的單一大檔案 sudo mkfs.exfat /dev/sdb 這樣就格式化好了。因為我是比較懶的人，因此直接拔出SD卡，之後插入，Ubuntu會自動掛載回來。\n或者手動掛載:\nsudo mkdir /run/media/$USER/sdcard #先用sudo lsblk確認SD卡路徑再掛載 sudo mount /dev/sdb /run/media/$USER/sdcard 用指令lsblk一看，SD卡上沒有多餘分區了。 sdb 8:16 1 29.7G 0 disk /run/media/user/sdcard ","date":"2022年8月16日","externalUrl":null,"permalink":"/posts/linux-format-sdcard/","section":"所有文章","summary":"如果要讓曾拿來當Live USB安裝系統的SD卡/隨身碟，還原到原本單純儲存資料的用途，就必須砍掉所有分區，再將其格式化，也就是新建檔案系統。\n提示：不想攜帶多個隨身碟的用戶，未來可以試試Ventoy，讓隨身碟既能當開機碟又能存資料。\n本文教學Linux圖形化介面和純文字的格式化方法，二擇一。\n首先要知道如何查看電腦上的裝置資訊。\n1. 使用指令查看SD卡資訊 # 讀卡機插到電腦，有些發行版會自動掛載，用sudo lsblk指令查看。例如我的SD卡是/dev/sdb，MOUNTPOINT下顯示的是分區掛載點。 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 1 29.7G 0 disk ├─sdb1 8:17 1 243M 0 part /media/ivon/pmOS_boot └─sdb2 8:18 1 29.5G 0 part /media/ivon/pmOS_root 要修改這個SD卡的內容，必須先將已掛載的分區取消掛載： sudo umount /media/ivon/pmOS_boot sudo umount /media/ivon/pmOS_root 再執行一次sudo lsblk，會發現SD卡的掛載點(MOUNTPOINT)消失了，只剩下前面的/dev/sdb。 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 1 29.7G 0 disk ├─sdb1 8:17 1 243M 0 part └─sdb2 8:18 1 29.5G 0 part 確認SD卡未被掛載之後，就可以開始變更了。 2. 使用圖形工具Gparted來格式化SD卡 # 第一個方法是使用圖形化工具Gparted，相較於指令比較不容易搞錯要格式化的SD卡在哪。\n圖形化工具還有KDE Partition Manager、GNOME Disk Utility等等。\n","title":"Linux如何將SD卡/隨身碟格式化","type":"posts"},{"content":"English version\n手機系統: postmarketOS (Alpine Linux)，桌面環境為Phosh\n電腦系統: Ubuntu 20.04\n從電腦登入手機Linux的遠端桌面，如圖，等同電腦遙控手機。遠端桌面環境的compositor必須為wlroots，所以不支援GNONE/KDE/Weston。 簡介 # 如果Linux顯示協定是使用Wayland，傳統的x11 VNC Server可能就行不通，此時要改用WayVNC這個新技術 (詳細資訊)。\n首先要SSH到遠端裝置，建立加密通道轉發封包，再開啟本機的VNC Viewer連線。\n以下約定：本機=電腦，遠端=手機。\n1. 先調整遠端的SSH設定 # postmarketOS預設應該已經安裝好SSH服務，先將其啟動： sudo rc-service sshd start sudo rc-update add sshd 首先在遠端編輯sshd設定(/etc/ssh/sshd_config)，確認有無這二項，沒有就加入，或是取消註解： AllowTcpForwarding yes X11Forwarding yes 之後儲存檔案，重啟SSH服務。 sudo rc-service sshd restart 輸入ifconfig查看手機的IP (我使用區域網路，因此開頭是192.168.) xiaomi-beryllium:~$ ifconfig wlan0 Link encap:Ethernet inet addr:192.168.0.243 Bcast:192.168.0.255 Mask:255.255.255.0 安裝WayVNC套件 sudo apk add wayvnc 啟動WayVNC，IP為手機的IP（localhost代表只有手機本機可以連線，0.0.0.0的話則是開放外部連線），5901是我自己選的埠號。此時畫面上應該會出現滑鼠。 wayvnc localhost 5901 WayVNC啟動後不會有任何輸出，要關閉請用CTRL+C。 2. 在本機建立SSH通道 # 建立SSH通道的用意在於加密VNC傳輸。如果追求速度的話不加密也罷。\n開啟終端機，輸入以下指令 (5901跟遠端的埠號一致，user為遠端的帳號，@後面加的是遠端IP) ssh -L 5901:localhost:5901 user@192.168.0.243 輸入遠端密碼後成功登入 Welcome to postmarketOS! o/This distribution is based on Alpine Linux.First time using postmarketOS? Make sure to read the cheatsheet in the wiki: https://postmarketos.org/cheatsheetYou may change this message by editing /etc/motd. xiaomi-beryllium:~$ 在本機開啟RealVNC VNC Viewer，輸入連線IP： localhost:5901 如果設定過AllowTcpForwarding仍無法連線，試著刪除本機的~/.ssh目錄再重試。\n成功連線至遠端桌面。\n參考資料 # VNC on PinePhone (how to) - Danct12 How to connect to VNC using SSH | TechRepublic SSH tunneling error: \u0026ldquo;channel 1: open failed: administratively prohibited: open failed\u0026rdquo; ","date":"2022年8月15日","externalUrl":null,"permalink":"/posts/postmarketos-wayvnc/","section":"所有文章","summary":"English version\n手機系統: postmarketOS (Alpine Linux)，桌面環境為Phosh\n電腦系統: Ubuntu 20.04\n從電腦登入手機Linux的遠端桌面，如圖，等同電腦遙控手機。遠端桌面環境的compositor必須為wlroots，所以不支援GNONE/KDE/Weston。 簡介 # 如果Linux顯示協定是使用Wayland，傳統的x11 VNC Server可能就行不通，此時要改用WayVNC這個新技術 (詳細資訊)。\n首先要SSH到遠端裝置，建立加密通道轉發封包，再開啟本機的VNC Viewer連線。\n以下約定：本機=電腦，遠端=手機。\n1. 先調整遠端的SSH設定 # postmarketOS預設應該已經安裝好SSH服務，先將其啟動： sudo rc-service sshd start sudo rc-update add sshd 首先在遠端編輯sshd設定(/etc/ssh/sshd_config)，確認有無這二項，沒有就加入，或是取消註解： AllowTcpForwarding yes X11Forwarding yes 之後儲存檔案，重啟SSH服務。 sudo rc-service sshd restart 輸入ifconfig查看手機的IP (我使用區域網路，因此開頭是192.168.) xiaomi-beryllium:~$ ifconfig wlan0 Link encap:Ethernet inet addr:192.168.0.243 Bcast:192.168.0.255 Mask:255.255.255.0 安裝WayVNC套件 sudo apk add wayvnc 啟動WayVNC，IP為手機的IP（localhost代表只有手機本機可以連線，0.0.0.0的話則是開放外部連線），5901是我自己選的埠號。此時畫面上應該會出現滑鼠。 wayvnc localhost 5901 WayVNC啟動後不會有任何輸出，要關閉請用CTRL+C。 2. 在本機建立SSH通道 # 建立SSH通道的用意在於加密VNC傳輸。如果追求速度的話不加密也罷。\n","title":"postmarketOS搭配WayVNC使用，遠端連線到Linux手機的桌面","type":"posts"},{"content":"Linux手機: PinePhone、Librem 5\nLinux手機發行版: postmarketOS、Mobian、Manjaro ARM、PureOS\n其APP目前相比Android和iOS來說少很多，不少也是從桌面軟體移植過來的。\n以下簡介概況，再提出軟體少的解決辦法，並在最後推薦一些實用APP。\n1. 2022年Linux手機軟體概況 # Linux手機發行版通常是用GTK + libhandy開發APP，有些會另外收錄針對手機界面微調的程式。\nKDE Plasma Mobile的APP則是另一個代表例子：全部都用QT Quick開發，並且還用Kirigami這個框架統一風格。KDE的APP大部分都很實用，但這些APP很大程度仰賴Plasma桌面環境，如果在Phosh上安裝KDE社群開發的APP，很容易跑板，或者圖標缺東缺西。\n此外，下載APP的管道也是一個問題。每個發行板自行打包，讓使用者透過套件安裝方式來安裝APP是很方便，但就會產生問題，例如我觀察到在Phosh上安裝KDE的APP，除了icon消失，還會出現畫面模糊的問題。\n另外還有中文輸入法\u0026hellip;Linux手機目前也缺乏中文觸控輸入法。起碼Plasma Mobile環境下有Maliit Keyboard，已經支援簡體拼音和注音，但只限Plasma Mobile可以使用。而Phosh的鍵盤叫做Sqeuekboard，還沒有任何中文鍵盤出現。\n我不用Plasma Mobile是因為太不穩定，系統界面很容易當掉。而Phosh雖然簡單，但是穩定許多。\n如果硬要在Phosh打中文，那你只能使用線上虛擬鍵盤輸入法這種網站，再把中文字給複製出來了。\n2. 解決之道一：改用Flatpak撐著吧 # 在以上問題解決前，最好採用折衷方案: Flatpak。在桌面Linux已行之有年，很多發行版都支援Flatpak，連Alpine Linux都有。Flatpak簡單說就是跨發行板的套件管理員，線上倉庫為Flathub。打包成Flatpak發布的應用程式，能夠在任一發行版上安裝。缺點就是因為要下載應用程式的依賴套件，程式會變很肥，一個文字編輯器可能動輒好幾百MB。\n每個發行版的套件管理員可能會收錄Flatpak上已有的程式，但由於每個發行版編譯的版本會有所不同，統一透過Flatpak下載應用程式可以消弭這種差距。尤其是Linux手機APP開發日新月異的情況下，能夠透過一樣的通道收到更新總是好的。\nFlatpak並沒有跨平台的功能，在瀏覽APP時，Flatpak會自動過濾掉非該架構的APP，像是ARM處理器就只會看到支援ARM的APP。\n實務上，以Phosh為例，發行版為postmarketOS的情況下，安裝Flatpak後，再安裝一個Gnome Software作為瀏覽線上APP的前端，這樣就有比較親民的感覺。\n雖然Gnome Software的前端常常沒有回應\u0026hellip;導致還是要用指令安裝Flathub上的APP。\n3. 解決之道二：實在不行就安裝Android APP吧 # 某些APP就是不可能有Linux版。\nAnbox和Waydroid可以在Linux系統上跑Android程式，而且手機本來就是ARM架構，相容性問題較小。\n但這二個容器方案各有各自缺點，Anbox太舊，Waydroid的bug很多。\n4. 實用Linux手機APP推薦 # 以下列表是我參考各大WIKI下載，並實際使用過的感想。\n實用Linux手機APP推薦 ","date":"2022年8月15日","externalUrl":null,"permalink":"/posts/linux-apps-2022/","section":"所有文章","summary":"Linux手機: PinePhone、Librem 5\nLinux手機發行版: postmarketOS、Mobian、Manjaro ARM、PureOS\n其APP目前相比Android和iOS來說少很多，不少也是從桌面軟體移植過來的。\n以下簡介概況，再提出軟體少的解決辦法，並在最後推薦一些實用APP。\n1. 2022年Linux手機軟體概況 # Linux手機發行版通常是用GTK + libhandy開發APP，有些會另外收錄針對手機界面微調的程式。\nKDE Plasma Mobile的APP則是另一個代表例子：全部都用QT Quick開發，並且還用Kirigami這個框架統一風格。KDE的APP大部分都很實用，但這些APP很大程度仰賴Plasma桌面環境，如果在Phosh上安裝KDE社群開發的APP，很容易跑板，或者圖標缺東缺西。\n此外，下載APP的管道也是一個問題。每個發行板自行打包，讓使用者透過套件安裝方式來安裝APP是很方便，但就會產生問題，例如我觀察到在Phosh上安裝KDE的APP，除了icon消失，還會出現畫面模糊的問題。\n另外還有中文輸入法…Linux手機目前也缺乏中文觸控輸入法。起碼Plasma Mobile環境下有Maliit Keyboard，已經支援簡體拼音和注音，但只限Plasma Mobile可以使用。而Phosh的鍵盤叫做Sqeuekboard，還沒有任何中文鍵盤出現。\n","title":"2022年Linux手機APP概況","type":"posts"},{"content":" Google搜尋引擎有很多理由換掉他，包括自由、隱私、安全，以及壟斷問題。本文討論的搜尋引擎，並非單純要換掉Google而已，列出來的搜尋引擎必須要能保護使用者的自由以及隱私，也不可以隨意的過濾搜尋結果，所以位於中國的搜尋引擎免談，也不會推薦公司性質與Google類似的搜尋引擎。\n至於替代的程度，我認為可以分為三個層次：\n寄生Google。也就是說不存取Google網頁，但透過其他網站執行Google搜尋並回傳結果。\n換到其他公司的搜尋引擎。\n使用去中心化的搜尋引擎。\n由1到3，難易度會增加許多，以下先提出換掉Google必定遇到的問題，再分別討論這幾層選項有哪些搜尋引擎可以使用。\n0. 換掉Google會遇到的問題 # 搜尋內容變少，甚至有些結果根本找不到。搜尋引擎或許會沒有中文界面。\n除非該公司經營理念是Duckduckgo這種的，否則使用商業公司經營的搜尋引擎，照樣有隱私問題，有些甚至廣告更多。\n中文內容搜尋可能會更加殘缺不全，並且搜尋排序演算法的不同，用起來可能會跟Google差距甚大，這樣的話不利於查找學術資料，作業報告寫不出來，哭哭。\n1. 寄生Google # 實務上這是最適合一般用戶嘗試的方式。\n搜尋必定會造訪Google.com吧？所謂寄生Google便是透過專門的網站，使用類似代理伺服器的方式向Google傳送搜尋請求，但Google不知道是你發起的，如此便可增強隱私保護。\n例子：荷蘭的Startpage，匿名向Google搜尋引擎發起請求，隨後回傳結果顯示在他們的頁面上，因此會慢一點點載入。\n或者使用Duckduckgo的附屬功能：於搜尋文字中加上「!g」，搜尋後會自動導向Google的搜尋結果頁面，但這樣效果比Startpage差。\n2. 換成其他公司的搜尋引擎 # 如同前言所說，換成其他公司的搜尋引擎還是要能保障自由以及隱私，因此從一個商業公司切換到另一個商業公司的搜尋引擎，很多時候是做事做一半。舉例而言，切換到Bing、Yahoo、Yandex，他們也是商業公司，裡面也有廣告和針對自家服務優化的內容。這樣的話他們只是比Google「難用」一點罷了，換過去只是從一個火坑跳到另一個火坑，所以這裡不推薦。\n美國的Duckduckgo經營理念比較特別，宣稱尊重隱私，因此可以視為好例子。只是Duckduckgo仍受美國法律管轄，他們宣稱不過濾搜尋結果， 但其實仍然有在移除搜尋結果。\n類似Duckduckgo的網站還有法國的QWant，但沒有開放給所有國家。\n3. 換成去中心化的搜尋引擎 # 區塊鏈是規避審查的解決方式之一，由眾人合力組建搜尋網路。早期P2P要求大家一起分享，有點像是做公益。而區塊鏈則用加密貨幣當作獎勵，鼓勵人們投入維護節點。\nPresearch使用的是區塊鏈技術，也有發行自己的虛擬貨幣，搜尋便可賺錢。因為有線上頁面，比較容易讓大眾接觸。\nYaCy要在電腦上執行官方程式才可以開始搜尋，仰賴P2P網路提供搜尋結果。\n4. 總結 # 如果要換成Google以外的搜尋引擎，就從小習慣開始。\n電腦的瀏覽器多半可以從網址列直接搜尋，把瀏覽器的預設搜尋引擎改成Google以外的吧。\n手機的瀏覽器亦然，或是安裝該搜尋引擎提供的APP取代Google。\n","date":"2022年8月15日","externalUrl":null,"permalink":"/posts/google-search-alternatvies/","section":"所有文章","summary":" Google搜尋引擎有很多理由換掉他，包括自由、隱私、安全，以及壟斷問題。本文討論的搜尋引擎，並非單純要換掉Google而已，列出來的搜尋引擎必須要能保護使用者的自由以及隱私，也不可以隨意的過濾搜尋結果，所以位於中國的搜尋引擎免談，也不會推薦公司性質與Google類似的搜尋引擎。\n至於替代的程度，我認為可以分為三個層次：\n寄生Google。也就是說不存取Google網頁，但透過其他網站執行Google搜尋並回傳結果。\n換到其他公司的搜尋引擎。\n使用去中心化的搜尋引擎。\n由1到3，難易度會增加許多，以下先提出換掉Google必定遇到的問題，再分別討論這幾層選項有哪些搜尋引擎可以使用。\n0. 換掉Google會遇到的問題 # 搜尋內容變少，甚至有些結果根本找不到。搜尋引擎或許會沒有中文界面。\n除非該公司經營理念是Duckduckgo這種的，否則使用商業公司經營的搜尋引擎，照樣有隱私問題，有些甚至廣告更多。\n中文內容搜尋可能會更加殘缺不全，並且搜尋排序演算法的不同，用起來可能會跟Google差距甚大，這樣的話不利於查找學術資料，作業報告寫不出來，哭哭。\n1. 寄生Google # 實務上這是最適合一般用戶嘗試的方式。\n","title":"取代Google搜尋引擎的一些選擇：去中心化的YaCy和Presearch","type":"posts"},{"content":"網際網路會降低某些人的智商，降低指的不是指專業能力或者實際智商，而是思維能力。如果思維和表達能力降低，那實際擁有的知識再多，傳遞出來的信號就是智識低落的表現。\n首先，從發言來看，網路討論區降低思考的能力，使人逐漸失去完整的思維表達，動不動就玩梗、對自己言論不負責、發言不按照事實證據，而是按照個人偏見、印象說話，不區分該貼文意圖。很多討論區或者網站留言板產生這種現象，可能受限於字數、版面、或者空間，就會偏向娛樂的討論發展。並非以偏概全，而是台灣大型論壇、社群媒體的一部分現象。\n此外參與某些網站，會有從眾的壓力，尖銳的事實一旦提出，可能會被匿名的一句辱罵所否定。反之，很都人贊同某個觀點，如果提出反駁同樣會遭受不理性對待，此即同溫層。意念相近的人聚在一起形成社群，當有人戳破迷思，不論出於善意或惡意，就會遭到攻訐，在辱罵聲中造成「出征」「人肉」的不理性現象，忽略問題本質。因為破壞了我的信仰，轉而以暴力手段剷除刺耳的聲音。\n另外一個問題是圍觀「專業解答」的人們，專業的解答或許直指問題核心，但若讀者不能理解該知識的全貌，都將其視為一個技術性的問題就會有危險。\n例如考慮以下二個問題\n藝術都該是有價值的嗎？\nWindows啟動藍色螢幕出現錯誤代碼我要怎麼解決?\n這二者問題就有很大差別，一個是有推理和邏輯才能得出的答案(或一個觀點)，一個是純粹技術性的解決方案，當然這只是比喻，因為電腦有時候也要全盤理解才知道問題所在。\n假設讀者把前面的答案，也當作知識點吸收，忘記這是留言板，無法像書本一樣有整體的論述，於是讀者就會產生我讀了很多書，知道很多破碎知識的厲害，但是沒有咀嚼(深入想)過。\n再延伸到「涉獵廣泛」上，多看國際新聞和文學作品很好，增進文化知識不是壞事，現在很流行的還有用影音作為載體的知識內容。\n可是，知道有這件事不代表已經理解這件事背後全貌。\n對有在業界的人，多接觸最直接的好處就是：注意產業動向。不過就學習知識的根本來說，只是知道一點點，等於不知道。人際交往上，好像什麼都可以談的起來，可以拓展不同的世界，但是涉獵廣泛又不專精的後果就是容易做出錯誤表態：開開玩笑無妨，若有一定影響力的公眾人物(不論基於學識還是單純流量)做出門外漢的表態，就會對大眾產生不好的與論影響。\n多讀，好，但不見得厲害，因為讀多了東西才會知道我真的什麼都不知道，而非處處宣稱我「略懂」，甚至批評別人「為什麼連這個都不曉得」。\n我為什麼這樣說，是認識到，所謂專業知識為何至少得在大學或者花錢學才行。網路上佔大多數的免費資源龍蛇混雜，說法不一，甚至很多只在乎流量而非內容。好一點的人受影響會到正式的地點繼續鑽研問題，壞的會使讀者產生一種虛無感，好像這個世界沒有絕對標準，但又沒有自己的理由和體系知識來支撐單薄的論點，從而做出不謹慎的陳述。更嚴重的是碎片化知識，覺得不出門能知天下事，自己知道的就很多了，形成偏見。\n可是，這樣參與討論就沒有價值了嗎？還是有的，應用批判思考技巧，從中辨認哪些問題是不理性發言：他的陳述是基於無的放矢，還是有真才實料。如此可以過濾掉不理性的發言，進而找到值得留意、回覆的發言。\n殘酷的說，針對非技術性問題，「討論」是大多數討論區的功能，它給出的不是標準答案，而是因為有方便交流的可能，這些論述才值得存在。如果全盤接受、跟著附和，僅說「推」「大大好棒」「聽你在放屁」「文組滾」這種不帶理由的陳述乾脆別跟著發。還有些網站可以簡化成用按讚來表示讀者心意，這樣遠比寫文字更薄弱：你看了有何想法？我只給一個抽象的愛心表達支持。這樣的話，純粹會賦予作者流量，壯大文章作者「我好像很厲害」的認知，如果讀了有了「知道」以外的收穫，為何不明講。\n再考慮一點，討論某話題純粹要引起注意、因為好玩，好像很多人來關心、吵架，這樣的問題，從出發點來看還算好問題嗎？\n面對沒有事實的攻擊，在不直接傷害到自己的情況下，沒有餘力留著其實也沒差。\n至於如何看待碎片化知識的問題，我覺得最好的方法是，不是自己擅長、有興趣領域的，實在不要假定自己已經了解，最多宣稱我聽過但是不了解，並也在討論時要誠實說出來，即使後面要發表個人意見也要明確聲明。這樣別人理應會知道，說這話的人是在表達意見，而非專家的論述。\n自己擅長鑽研的，也不能流於反權威、或者依賴情感因素而對自己觀點堅定不移。謙卑這個時候就可以培養了，不論對方問的是多麼新手白痴的問題，回答明確的思考缺陷，指出問題所在，比冷嘲熱諷、訴諸情感的質問還要好。\n說這些話並無標準答案，上網要這麼累嗎？其實不用，不過一個網站看久了，人應該要有能力可以用不帶情感、偏見，識別該網站內容多為理性，又或者是能知道自己是身處一個同溫層。\n如果是同溫層，認知到這個網站的常態又無力改變，僅此就是最大收穫了。能夠基於事實說出網站的缺點，是擺脫從眾、隨人起舞的第一步。至於去留，有這個認識的、確認這裡人大概就是這樣了，其實就知道什麼網站要保持什麼言行，這樣的話是較好作法，起碼你可以告訴自己：我想過了，但是因為生理需求所以才會賴在這裡。\n所以看到酸民不用假高尚，因為自以為高尚也是無知。我知道的只有是依照邏輯推斷的論述才是值得在意的。高尚如果作為一種宗教或者信條，其實到最後也說服不了自己，只是突顯自己想跟別人不一樣的情緒。\n不用因為別人地位或者身處位置而影響想法，重要的是根據事實做出評斷，最終才會得出較適當的結論，從而修正自己的想法。\n","date":"2022年8月15日","externalUrl":null,"permalink":"/posts/the-internet-makes-people-stupid/","section":"Personals","summary":"網際網路會降低某些人的智商，降低指的不是指專業能力或者實際智商，而是思維能力。如果思維和表達能力降低，那實際擁有的知識再多，傳遞出來的信號就是智識低落的表現。\n首先，從發言來看，網路討論區降低思考的能力，使人逐漸失去完整的思維表達，動不動就玩梗、對自己言論不負責、發言不按照事實證據，而是按照個人偏見、印象說話，不區分該貼文意圖。很多討論區或者網站留言板產生這種現象，可能受限於字數、版面、或者空間，就會偏向娛樂的討論發展。並非以偏概全，而是台灣大型論壇、社群媒體的一部分現象。\n此外參與某些網站，會有從眾的壓力，尖銳的事實一旦提出，可能會被匿名的一句辱罵所否定。反之，很都人贊同某個觀點，如果提出反駁同樣會遭受不理性對待，此即同溫層。意念相近的人聚在一起形成社群，當有人戳破迷思，不論出於善意或惡意，就會遭到攻訐，在辱罵聲中造成「出征」「人肉」的不理性現象，忽略問題本質。因為破壞了我的信仰，轉而以暴力手段剷除刺耳的聲音。\n另外一個問題是圍觀「專業解答」的人們，專業的解答或許直指問題核心，但若讀者不能理解該知識的全貌，都將其視為一個技術性的問題就會有危險。\n例如考慮以下二個問題\n藝術都該是有價值的嗎？\nWindows啟動藍色螢幕出現錯誤代碼我要怎麼解決?\n","title":"網際網路會降低表達能力？","type":"personal"},{"content":"在電腦無法開機，身邊又沒有可開機的隨身碟。這時可以透過「EtchDroid」這款APP製作LiveUSB開機碟來重灌電腦，或做資料救援。\n此APP不需Root，但是只支援製作Linux系統的開機碟，且該隨身碟容量最好有8GB以上。\n於Google Play下載EtchDroid 下載你喜歡的Linux發行版的ISO，例如我使用的是openSUSE。 將隨身碟用OTG轉接頭插到手機，狀態欄應該能認到USB裝置。 開啟EtchDroid，點選\u0026quot;Write raw image or ISO\u0026quot;，選取剛剛下載的ISO。 點選列表中的隨身碟，同意讓EtchDroid存取。 確認之後點選右下角按鈕，開始寫入。 進度會顯示在狀態欄。 完成後手機應該會無法辨識隨身碟並要求格式化，請直接退出。之後就可以將其插到電腦上開機了。 ","date":"2022年8月14日","externalUrl":null,"permalink":"/posts/create-bootable-usb-with-etchdroid/","section":"所有文章","summary":"在電腦無法開機，身邊又沒有可開機的隨身碟。這時可以透過「EtchDroid」這款APP製作LiveUSB開機碟來重灌電腦，或做資料救援。\n此APP不需Root，但是只支援製作Linux系統的開機碟，且該隨身碟容量最好有8GB以上。\n於Google Play下載EtchDroid 下載你喜歡的Linux發行版的ISO，例如我使用的是openSUSE。 將隨身碟用OTG轉接頭插到手機，狀態欄應該能認到USB裝置。 開啟EtchDroid，點選\"Write raw image or ISO\"，選取剛剛下載的ISO。 點選列表中的隨身碟，同意讓EtchDroid存取。 確認之後點選右下角按鈕，開始寫入。 進度會顯示在狀態欄。 完成後手機應該會無法辨識隨身碟並要求格式化，請直接退出。之後就可以將其插到電腦上開機了。 ","title":"電腦無法開機？手機製作開機碟教學 (EtchDroid)","type":"posts"},{"content":"我一直以為我對藝術有天份\u0026hellip;結果是很古板。\n先說畫畫吧。會畫點東西，雖然是描摹，憑空畫不出來，那就是練的不夠多，不按照理論學，想到什麼就畫什麼的習慣所致。\n再來，設計海報卻沒什麼設計感，這不是軟體問題，是根本上對美無追求。然後3D建模又不像工程師精確，只是憑感覺照圖片和剖面圖建造，這就尷尬了，錯誤的使用方法在錯誤的地方。\n又如網頁設計，我只會用預設模板或極簡風，保持geek感。\n還有電腦手機的桌面桌布，說什麼獨立思考根本是藉口，因為根本只會用預設，例如KDE和Gnome就保持那樣，要自定義選擇反而不喜歡。unixporn上的人們很厲害呢，但我卻連換個主體都懶，對美不執著啊！\n桌布研究過動態桌布，但那只是想炫技術，雖然喜歡動漫，但總覺得放桌面會分心，因此主力機的桌面都維持出廠預設的無機質風格照片。\n影片更不用說了，實用主義為目的，明明我很討厭這樣的。主要是方便觀眾觀看為主，上字幕的字體有Noto Sans還算是幸運，不會屈就於新細明體。此外我覺得特效沒什麼重要，偶爾會探索放大的特效怎麼用而已，綜藝節目的精緻字卡我做不來。\n再來是音樂，即使各種類別的音樂都聽，但對樂理沒概念，都是聽一種感覺，使得欣賞起來只好東拼西湊，扯些藝人八卦、哲學理論卻說不出這首歌的音樂性好在哪裡，因為對樂器了解的不多。要推廣時就只能用一種文青的口吻說「希望你也來聽這首並跟我有一樣感覺」，怎麼可能呢？\n在這些藝術這方面還挺雲的，能稍微展現的好的，頂多就文字了吧。雖說如此常常寫廢文，文筆沒進步幾分，倒是批判性的變多了，使得我的句子沒出幾句就會出現「因為」、「但是」的枯燥結構。大概也是因為常寫教學、程式相關的文的關係吧。好不容易學essay有了說理的觀念，久而久之文筆也跟著僵化！寫不出什麼有文字美感的句子，只能偶爾用詰屈聱牙的文言句子、莫名奇妙的倒裝句裝高雅，實際上除了拿來寫指示文字外，一篇有感情的文章都沒辦法出現了！\n","date":"2022年8月15日","externalUrl":null,"permalink":"/posts/i-have-bad-artistic-sense/","section":"Personals","summary":"我一直以為我對藝術有天份…結果是很古板。\n先說畫畫吧。會畫點東西，雖然是描摹，憑空畫不出來，那就是練的不夠多，不按照理論學，想到什麼就畫什麼的習慣所致。\n再來，設計海報卻沒什麼設計感，這不是軟體問題，是根本上對美無追求。然後3D建模又不像工程師精確，只是憑感覺照圖片和剖面圖建造，這就尷尬了，錯誤的使用方法在錯誤的地方。\n又如網頁設計，我只會用預設模板或極簡風，保持geek感。\n還有電腦手機的桌面桌布，說什麼獨立思考根本是藉口，因為根本只會用預設，例如KDE和Gnome就保持那樣，要自定義選擇反而不喜歡。unixporn上的人們很厲害呢，但我卻連換個主體都懶，對美不執著啊！\n桌布研究過動態桌布，但那只是想炫技術，雖然喜歡動漫，但總覺得放桌面會分心，因此主力機的桌面都維持出廠預設的無機質風格照片。\n影片更不用說了，實用主義為目的，明明我很討厭這樣的。主要是方便觀眾觀看為主，上字幕的字體有Noto Sans還算是幸運，不會屈就於新細明體。此外我覺得特效沒什麼重要，偶爾會探索放大的特效怎麼用而已，綜藝節目的精緻字卡我做不來。\n再來是音樂，即使各種類別的音樂都聽，但對樂理沒概念，都是聽一種感覺，使得欣賞起來只好東拼西湊，扯些藝人八卦、哲學理論卻說不出這首歌的音樂性好在哪裡，因為對樂器了解的不多。要推廣時就只能用一種文青的口吻說「希望你也來聽這首並跟我有一樣感覺」，怎麼可能呢？\n","title":"缺乏美感我竟一無所知","type":"personal"},{"content":"","date":"2022年8月15日","externalUrl":null,"permalink":"/ja-jp/tags/microsoft/","section":"Tags","summary":"","title":"Microsoft","type":"tags"},{"content":" この記事は自由ソフトウェア財団公式サイトからの翻訳であり、本文中に記載された現象には時事性がある可能性がある\n原文URL： Malware in Games - GNU Project - Free Software Foundation 翻訳：Ivon Huang\n以下では「依存性」、「依存的特質」に何度も言及する。FSFの定義はこちらを参照：Proprietary Addictions 以下の現象は時系列順に並べている。\nゲーム内のマルウェア Malware in Games # 非自由（プロプライエタリ）ソフトウェアは、しばしばユーザーを損なうためのマルウェアでもある。不自由なソフトウェアは完全に開発者の支配下にあり、開発者の権力がユーザーより大きい。これは非常に不公平だ。開発者や開発会社はしばしばこの権力を濫用し、ユーザーが当然持つべき基本的権利を害する。その多くは悪意ある機能という形で行われる。\nゲームにおけるさまざまな悪意ある機能の中でも、最悪なのは依存性である。ユーザーは身体的な影響を受けるだけでなく、心理的にも傷つけられるからだ。\n2020-10\nMicrosoftは公然と《Minecraft》でユーザーを監視している。すべてのプレイヤーは、遊び続けるためにMicrosoftアカウントを登録しなければならない。Microsoftが《Minecraft》を買収してから、あらゆるものを自社のネットワーク下へ統合し、プレイヤーのデータを取得できるようにした。(ニュースソース)\n《Minecraft》プレイヤーは《Minetest》へ乗り換えられる。《Minetest》の中核的な利点は自由ソフトウェアであり、ユーザーのコンピューターの自由を尊重していることだ。さらに、より多くの選択肢もある。\n2020-10\n依存性を持つ《原神》は、ゲーム内でさまざまな戦利品箱を使い、プレイヤーに課金を迫っている。(ニュースソース)\n2020-10\n2019年から2020年にかけて、MinecraftプレイヤーはMicrosoftのサーバーへ移行することを強制された。これはプライバシー権の侵害である。Microsoftはユーザーが自分のサーバーを動かせるプログラムを公開したが、そのプログラムはプロプライエタリソフトウェアであり、ユーザーにとって不公平だ。(ニュースソース)\n《Minecraft》プレイヤーは《Minetest》へ乗り換えられる。《Minetest》の最も基本的な利点は自由ソフトウェアであり、ユーザーのコンピューターの自由を尊重していることだ。\n2020-04\nRiotのアンチチートソフトウェアはマルウェアであり、起動時にWindowsのカーネルレベルで動作する。この種のソフトウェアは非常に危険で、オペレーティングシステムの攻撃面を増やす。(ニュースソース)\n2020-03\nRoblox（およびその他のゲーム）は反特徴的な機能を作り、子どもが未承認の第三者決済を濫用しやすくしている。(ニュースソース)\n2019-08\nMicrosoftはXboxプレイヤーを盗聴しており、背後には実際の人間が専門に聞いていた。(ニュースソース)\n2019-07\n金持ちの子どもたちは、親の銀行預金を使い尽くす方法を見つけた。つまり、それをすべてEAのサッカーゲームのパック購入に使うことだ。\nこれらのパックのランダム要素（別名「戦利品箱」）は、ゲームにきわめて高い依存性を持たせる。実際、プレイヤーは他のプレイヤーに勝つ略奪的な快感を得るため、さらに多くのパックを買うよう強いられる。(ニュースソース) 2018年、ベルギー政府はすでにこの種のパックを違法とした。(ニュースソース)\nプロプライエタリソフトウェアゲームのコピーを所有する唯一の十分な理由は、それを研究し、自由ソフトウェアの開発に役立てることだ。\n2018-09\n《部落衝突》は良い例だと言える。開発者はそれを無料スマホゲームとしてリリースし、多くのプレイヤーを依存させ、最後に心理操作のテクニックを利用して、ゲームを金のなる木にした。\n2018-07\nSteamクライアント（非自由ソフトウェア）上のある非自由ゲームには、マイニングプログラムが含まれていた。たとえば実行ファイルがCPUを乗っ取り、暗号通貨の採掘に使う。(ニュースソース)\n2018-06\nMacOS版の《潛龍諜影崛起 再復仇》は、常にサーバーとの接続を維持していた。開発会社がサーバーを閉じると、購入済みのゲームは実行できなくなった。(ニュースソース)\n2018-06\n多くのプロプライエタリゲームにはスパイウェアRed Shellが含まれており、ユーザーデータを追跡して第三者サーバーへ送信していた。(ニュースソース)\n2018-04\n大型マルチプレイヤーゲーム《激戰2》の開発会社ArenaNetは、更新ファイルの中でこっそりユーザーにスパイウェアをインストールし、ArenaNetがプレイヤーのコンピューター上のすべてのプロセスを監視できるようにした。(ニュースソース)\n2017-12\n無料で遊べるが何も得られないゲームが、いかにユーザー心理を支配するかを知る：The Fascinating Psychology Behind Free-To-Play Mobile App Games\nこれらの心理操作の手法は悪意ある行為そのものだ。ゲームがプロプライエタリであるからこそ、こうした手段が存在する。もしあるゲームが自由ソフトウェアであれば、人々は心理操作されないバージョンを開発し、そちらで遊ぶことができる。\n2017-11\nあるゲーミングキーボードのドライバーは、中国のサーバーへデータを送信していた。(ニュースソース)\n2016-12\n《Fruit Pop!》では、プレイヤーはより高いスコアを得るためにコインでブースターを購入する。各ゲームの最後にコインを獲得し、その後プレイヤーは本物のお金を使ってさらに多くのコインを購入する。\n高スコアを取ると、プレイヤーはさらに高いスコアを取りたくなる。しかしブースターはプレイヤーにより多くのコインを与えるわけでも、後続のステージでより高いスコアを取る助けになるわけでもない。この目的を達成するため、プレイヤーはブースターを頻繁に使うようになり、そのためにより多くの本物のお金を払って購入しなければならなくなる。ブースターの使用は刺激的で楽しいため、プレイヤーは知らず知らずのうちに本物のお金でコインを買い、さらに多くのブースターを購入するよう強いられ、浪費の習慣を身につけてしまう。(ニュースソース)\n2016-11\nnVidiaのプロプライエタリソフトウェアGeForce Experienceは、プレイヤーに自分の身元を識別させたうえで、個人データをnVidiaサーバーへ送信する。 (ニュースソース)\n2016-09\nカプコンが開発した《快打旋風V》の更新ファイル内のドライバーは、Windows上の他のプログラムによってバックドアとして利用され得るものだった。(ニュースソース) その後、公衆の世論により取り下げられた。 (ニュースソース)\n2016-05\nOculus Riftのゲームには現在DRMが含まれており、これらのゲームを他のプラットフォームで実行できないようにしている。(ニュースソース)\n2016-04\n多くの人気スマホゲームには、ランダム報酬の「ガチャ」要素が含まれており、子どもにとって特に魅力的である。そのうち一種のガチャは日本ですでに違法と宣告されたが、他の形式のガチャはなおプレイヤーに大金を使って仮想玩具を買わせている。 (ニュースソース)\n2016-03\nEAはサーバーを閉鎖し、あるゲームを二度と起動できないものにした。(ニュースソース) これらのゲームは同社のサーバーに過度に依存しており、さらにプロプライエタリソフトウェアであるため、プレイヤーはそれを改変して他のサーバーへ接続することができない。もしそのゲームが自由ソフトウェアであれば、プレイヤーは購入後も遊び続けられる。\n2015-12\n多くのテレビゲーム機は、ユーザーの嗜好などを追跡し、遠隔サーバーへ送信している。(ニュースソース)\nゲーム機はコンピューターの一種であり、非自由ソフトウェアで構成されたオペレーティングシステムを信用してはならない。\n2015-09\n現在の無料ゲームは、友人や会社の情報を含む大量のユーザーデータを収集している。(ニュースソース)\nさらに気持ち悪いのは、彼らが複数の会社のAPPとウェブサイトで構成される広告ネットワークを通じてデータを統合していることだ。\n彼らはこれらの情報を使って人々の購買を操作し、大金を払う意思のある「巨鯨」を狙う。彼らはさらにバックドアを利用して、特定プレイヤーのゲーム内容を制御することもできる。\nこの記事が論じているのは無料ゲームだが、有料ゲームにも同じ戦略が適用される。\n2015-07\niPhone上のゲーム《戰爭遊戲：火力時代》は、行動操作技術とチームシミュレーションを使って人を依存させる。最初はゲームがとても簡単だが、その後ゲームの進行が遅くなり、次第に難しくなり、プレイヤーはチームのペースに追いつくためにより多くのお金を払わなければならなくなる。しかも、しばらくオンラインにならないと、投資した装備が「敵」に破壊される。ただしお金を払って「シールド」を購入して防御すれば別だ。このゲームはプレイヤーを欺くことも意図しており、複雑なインターフェースと進行バーによって、プレイヤーの実際の金銭投入を混乱させている。\n2015-04\n広く人気のあるオンラインゲーム《Runescape》は、行動操作技術における依存的特質を利用して人を依存させる。ゲーム内の反復行為、たとえば装備ファームは、有料会員によって緩和できる。これは子どもや意志の弱いプレイヤーに、お金を払って購入するようそそのかす。\n2014-10\n任天堂は遠隔からすべてのWii本体を破壊した。ユーザーは新版EULAに同意しなければならず、そうしなければ本体は動作を拒否する。(ニュースソース)\nこれにより、この EULA が不公正であることは確定できる。不公正こそがEULAを公布する唯一の動機だからだ。\n2014-01\n《憤怒鳥》は一部の企業のためにプレイヤーを監視しており、米国国家安全保障局まで関与していた。(ニュースソース)\n監視APPに関するさらなる情報：Analysis of What Information Angry Birds Collects\n米国国家安全保障局の監視情報：Spy Agencies Probe Angry Birds and Other Apps for Personal Data\n2011-05\nPlaystation 3は専制暴君である。参照：Boycott Sony\n2010-03\nSonyはPlaystation 3のファームウェアをダウングレードすることで、GNU/Linuxを実行する能力を破壊した。(ニュースソース)\nハッカーGeohotがユーザーによるファームウェア改変を防ぐコードを突破した後、Sonyは警察へ通報して対処し、その後Sonyへのボイコットの声を招いた。(ニュースソース)\nSonyはいま、ユーザーの自由を破壊した代償を法廷で支払おうとしている。(ニュースソース)\n2005-10\nBlizzard Wardenは隠された「アンチチート」ソフトウェアであり、プレイヤーのコンピューター上のすべてのプロセスを監視し、大量の者データを収集し、チートとは無関係な活動まで監視する。(ニュースソース)\n","date":"2022年8月15日","externalUrl":null,"permalink":"/ja-jp/posts/fsf-malware-games/","section":"Foss-Issues","summary":" この記事は自由ソフトウェア財団公式サイトからの翻訳であり、本文中に記載された現象には時事性がある可能性がある\n原文URL： Malware in Games - GNU Project - Free Software Foundation 翻訳：Ivon Huang\n以下では「依存性」、「依存的特質」に何度も言及する。FSFの定義はこちらを参照：Proprietary Addictions 以下の現象は時系列順に並べている。\nゲーム内のマルウェア Malware in Games # 非自由（プロプライエタリ）ソフトウェアは、しばしばユーザーを損なうためのマルウェアでもある。不自由なソフトウェアは完全に開発者の支配下にあり、開発者の権力がユーザーより大きい。これは非常に不公平だ。開発者や開発会社はしばしばこの権力を濫用し、ユーザーが当然持つべき基本的権利を害する。その多くは悪意ある機能という形で行われる。\nゲームにおけるさまざまな悪意ある機能の中でも、最悪なのは依存性である。ユーザーは身体的な影響を受けるだけでなく、心理的にも傷つけられるからだ。\n2020-10\nMicrosoftは公然と《Minecraft》でユーザーを監視している。すべてのプレイヤーは、遊び続けるためにMicrosoftアカウントを登録しなければならない。Microsoftが《Minecraft》を買収してから、あらゆるものを自社のネットワーク下へ統合し、プレイヤーのデータを取得できるようにした。(ニュースソース)\n","title":"MicrosoftはMinecraftにマルウェアを仕込んだ...自由ソフトウェア財団が批判するゲーム業界の問題","type":"foss-issues"},{"content":"2022年2月18日。\n以前用Hexo和github pages架部落格，忘記備份整個專案目錄就重灌。親手毀了我自己的部落格\n章魚哥：你不知道有銀行(備份)這種東西嗎！？\n蟹老闆：沒～～～有！！！錢都放在我的床單（C槽）！\nIvon´s Blog （https://ivon852.github.io)，享年6個月。雖然我還是可以編輯倉庫的HTML，但沒有生成器也沒用了。 雖然網站文章是還在。不過那些都是HTML，原始檔markdown盡失，等同網站變成唯讀狀態。\n因為這些都Hexo產生的\u0026hellip;難道我要手動把新文章markdown轉html硬是push上去嗎 留言是還能回，因為我用的是GItalk，效果等同Github發Issue。\n果然我是需要管的，犧牲想寫什麼就寫什麼的自由(blogger對nsfw敏感)，換取Blogger一切資料都在雲端幫我處理最好，才不會發生這種慘劇。\n以前逃避Blogger，因為引用程式碼很麻煩，營利倒是沒問題，Minecraft部落格（https://www.mcbedev.net/） 還蠻多人看的，我覺得一年下來廣告費應該夠付我的網域錢。\n而Github Pages給我自己個人空間的感覺，一點一滴的裝飾很有成就感，甚至覺得放廣告是礙眼，純粹寫技術文章和很偶爾的廢文。\n啊哈～我終於失去了你～\n","date":"2022年8月15日","externalUrl":null,"permalink":"/posts/remember-to-backup-hexo/","section":"Personals","summary":"2022年2月18日。\n以前用Hexo和github pages架部落格，忘記備份整個專案目錄就重灌。親手毀了我自己的部落格\n章魚哥：你不知道有銀行(備份)這種東西嗎！？\n蟹老闆：沒～～～有！！！錢都放在我的床單（C槽）！\nIvon´s Blog （https://ivon852.github.io)，享年6個月。雖然我還是可以編輯倉庫的HTML，但沒有生成器也沒用了。 雖然網站文章是還在。不過那些都是HTML，原始檔markdown盡失，等同網站變成唯讀狀態。\n因為這些都Hexo產生的…難道我要手動把新文章markdown轉html硬是push上去嗎 留言是還能回，因為我用的是GItalk，效果等同Github發Issue。\n果然我是需要管的，犧牲想寫什麼就寫什麼的自由(blogger對nsfw敏感)，換取Blogger一切資料都在雲端幫我處理最好，才不會發生這種慘劇。\n以前逃避Blogger，因為引用程式碼很麻煩，營利倒是沒問題，Minecraft部落格（https://www.mcbedev.net/） 還蠻多人看的，我覺得一年下來廣告費應該夠付我的網域錢。\n而Github Pages給我自己個人空間的感覺，一點一滴的裝飾很有成就感，甚至覺得放廣告是礙眼，純粹寫技術文章和很偶爾的廢文。\n","title":"Hexo Github架站目錄記得要備份","type":"personal"},{"content":" AndroidスマホでRAWファイル対応のカメラがあるだけでもありがたいものです。大半のカメラが出力するのは、せいぜいJPEGかPNGです。解像度が高くなるにつれて、ファイルサイズはだいたい4MBからになります。\nなぜ撮影時にAVIF/HEIC/HEIFなどの高効率フォーマットで保存できないのでしょうか。将来的には対応するかもしれませんが、AVIFはHEICより新しく、より魅力的です。\nそれまでは、Termuxのカメラ機能で少し遊んでみましょう。JPEGで撮影したあと、その場でほぼロスレスのAVIFに変換します。\nこれは主役の北上を、Sony標準カメラで撮ったものです。 Termuxをインストールし、Termux APIもインストールします。続いてtermux-apiとImage Magickパッケージをインストールします。\npkg update pkg install termux-api imagemagick termux-camera-infoコマンドを使ってカメラ情報を確認します。JSONが出力され、スマホ上のレンズIDが示されるはずです。たとえば私の端末には前面カメラ1個 + 背面カメラ3個があり、ID 0〜4に対応しています。\n[ { \u0026#34;id\u0026#34;: \u0026#34;0\u0026#34;, \u0026#34;facing\u0026#34;: \u0026#34;back\u0026#34;, \u0026#34;jpeg_output_sizes\u0026#34;: [ { \u0026#34;width\u0026#34;: 4032, \u0026#34;height\u0026#34;: 3024 }, ], \u0026#34;focal_lengths\u0026#34;: [ 5.110000133514404 ] }, { \u0026#34;id\u0026#34;: \u0026#34;1\u0026#34;, \u0026#34;facing\u0026#34;: \u0026#34;front\u0026#34;, \u0026#34;jpeg_output_sizes\u0026#34;: [ { \u0026#34;width\u0026#34;: 3264, \u0026#34;height\u0026#34;: 2448 }, ], \u0026#34;focal_lengths\u0026#34;: [ 2.4700000286102295 ] }, { \u0026#34;id\u0026#34;: \u0026#34;2\u0026#34;, \u0026#34;facing\u0026#34;: \u0026#34;back\u0026#34;, \u0026#34;jpeg_output_sizes\u0026#34;: [ { \u0026#34;width\u0026#34;: 4032, \u0026#34;height\u0026#34;: 3024 } ], \u0026#34;focal_lengths\u0026#34;: [ 5.110000133514404 ] }, { \u0026#34;id\u0026#34;: \u0026#34;3\u0026#34;, \u0026#34;facing\u0026#34;: \u0026#34;back\u0026#34;, \u0026#34;jpeg_output_sizes\u0026#34;: [ { \u0026#34;width\u0026#34;: 4288, \u0026#34;height\u0026#34;: 3216 } ], \u0026#34;focal_lengths\u0026#34;: [ 6.949999809265137 ] }, { \u0026#34;id\u0026#34;: \u0026#34;4\u0026#34;, \u0026#34;facing\u0026#34;: \u0026#34;back\u0026#34;, \u0026#34;jpeg_output_sizes\u0026#34;: [ { \u0026#34;width\u0026#34;: 4032, \u0026#34;height\u0026#34;: 3024 }, ], \u0026#34;focal_lengths\u0026#34;: [ 2.6700000762939453 ] } ] TermuxにはGUIがないのに、どうやって写真を撮るのか。ポーズを決めて勘で撮るしかありません。レンズごとのだいたいの写りを見たい場合は、OpenCameraをダウンロードしてレンズを切り替えれば確認できます。 次は撮影コマンドです。Termuxがカメラ（-cの後ろにレンズIDを指定）を呼び出してjpeg形式の写真を出力します。他に調整できるオプションはありません。そのファイルをImage Magickに渡してAVIFへ変換します。最後のコマンドはjpegを削除します。\ntermux-camera-photo -c 0 temp.jpeg \u0026amp;\u0026amp; magick convert temp.jpeg -quality 90 out.avif \u0026amp;\u0026amp; rm temp.jpeg 撮影時にはレンズの作動音が聞こえることがあり、Android 12ではカメラへのアクセス表示も出ます。変換には約10秒かかります。 撮影後、Termuxのホームディレクトリからファイルを取り出すと、JPEG（左）をAVIF（右）へ変換した後、容量が半分以下になっていることがわかります。（注：私のスマホではAVIFのカラーマッピングが少しおかしく、Linuxパソコンで見ると正確に表示されます） 3番の広角レンズで試してみると、また違った味わいがあります。 もちろん、Appleが使っているHEICへ変換することもできます。ただし、その場合は逆にファイルサイズが大きくなりますXD。\nこんなに面倒なら、普通に写真を撮ってからまとめて変換すればいいのでは？その通りです。画像・動画をAVIF / AVIFSへコマンドラインで変換する方法を見てください。\n","date":"2022年8月13日","externalUrl":null,"permalink":"/ja-jp/posts/termux-camera-avif/","section":"Termux-Tutorials","summary":" AndroidスマホでRAWファイル対応のカメラがあるだけでもありがたいものです。大半のカメラが出力するのは、せいぜいJPEGかPNGです。解像度が高くなるにつれて、ファイルサイズはだいたい4MBからになります。\nなぜ撮影時にAVIF/HEIC/HEIFなどの高効率フォーマットで保存できないのでしょうか。将来的には対応するかもしれませんが、AVIFはHEICより新しく、より魅力的です。\nそれまでは、Termuxのカメラ機能で少し遊んでみましょう。JPEGで撮影したあと、その場でほぼロスレスのAVIFに変換します。\nこれは主役の北上を、Sony標準カメラで撮ったものです。 Termuxをインストールし、Termux APIもインストールします。続いてtermux-apiとImage Magickパッケージをインストールします。\npkg update pkg install termux-api imagemagick termux-camera-infoコマンドを使ってカメラ情報を確認します。JSONが出力され、スマホ上のレンズIDが示されるはずです。たとえば私の端末には前面カメラ1個 + 背面カメラ3個があり、ID 0〜4に対応しています。\n[ { \"id\": \"0\", \"facing\": \"back\", \"jpeg_output_sizes\": [ { \"width\": 4032, \"height\": 3024 }, ], \"focal_lengths\": [ 5.110000133514404 ] }, { \"id\": \"1\", \"facing\": \"front\", \"jpeg_output_sizes\": [ { \"width\": 3264, \"height\": 2448 }, ], \"focal_lengths\": [ 2.4700000286102295 ] }, { \"id\": \"2\", \"facing\": \"back\", \"jpeg_output_sizes\": [ { \"width\": 4032, \"height\": 3024 } ], \"focal_lengths\": [ 5.110000133514404 ] }, { \"id\": \"3\", \"facing\": \"back\", \"jpeg_output_sizes\": [ { \"width\": 4288, \"height\": 3216 } ], \"focal_lengths\": [ 6.949999809265137 ] }, { \"id\": \"4\", \"facing\": \"back\", \"jpeg_output_sizes\": [ { \"width\": 4032, \"height\": 3024 }, ], \"focal_lengths\": [ 2.6700000762939453 ] } ] TermuxにはGUIがないのに、どうやって写真を撮るのか。ポーズを決めて勘で撮るしかありません。レンズごとのだいたいの写りを見たい場合は、OpenCameraをダウンロードしてレンズを切り替えれば確認できます。 ","title":"AndroidスマホでAVIF/HEIF写真を撮る、Termux-cameraを利用","type":"termux-tutorials"},{"content":"","date":"2022年8月13日","externalUrl":null,"permalink":"/ja-jp/tags/aomedia-video-1/","section":"Tags","summary":"","title":"AOMedia Video 1","type":"tags"},{"content":"市面上已有一些Linux手機出現，像是Pine64 PinePhone、Purism Librem 5，硬體幾乎是開源的，因此手機Linux發行版 (mobile Linux distributions) 就開始發展了。\n以下討論的手機Linux作業系統不包含Android。\nLinux手機發行版常見特色為擁有套件管理員，使用主線內核，系統注重隱私以及自由，甚至能夠執行電腦Linux的軟體。大部分Linux手機跟Android手機一樣使用ARM架構處理器。\n如果不想購買Linux手機，則可以嘗試在Android舊機上刷刷看Linux手機發行版，有些發行版致力於將Linux發行版帶到舊手機上。不過如果想要體會全盤的自由，最好從硬體開始就換成對手機Linux發行版友好的設備。\n這篇文章會分別討論一些手機Linux發行版的特點，數字排序僅反應我個人喜好。\n想知道更多系統請參閱：PinePhone Software Releases\n如果要找APP，請參閱： 實用Linux手機APP推薦\n1. Mobian # 官網：https://mobian-project.org/ 基於Debian 非官方的移植計畫，繼承Debian套件數量眾多的優點，Ubuntu的用戶應該會熟悉APT的套件管理方式。\n手機的Gnome也支援中文界面語言。\n除了針對PinePhone開發外，Mobian也有極少數移植到其他設備的開發專案。\n2. postmarketOS # 官網：https://postmarketos.org/ 這個發行版致力於將其移植到各種Android手機上，目前已經支援百款以上舊手機。 基於Alpine Linux postmarketOS在官方的Q \u0026amp; A說明選擇Alpine Linux為底的理由：因為系統很小。套件管理員為APK，postmarketOS同樣可以使用Alpine Linux倉庫的套件。\n要注意的是Alpine Linux雖然輕量，但是系統採用的是muslc，即使支援執行docker，要編譯glibc程式 (大多數Linux發行版採用的函式庫) 就可能會遇到問題，除非有人移植。\n官方有提供一套pmbootstrap的工具，方便使用者建立自己喜歡的刷機包，或者開展移植工作。\n雖然支援很多Android手機，但是實際支援情況較好，硬體幾乎全正常的只有列在\u0026quot;Offical\u0026quot;和\u0026quot;Comunity\u0026quot;的10幾支設備，其他一律屬於\u0026quot;Testing\u0026quot;，連頂多能開機進入系統的也會計算在內。但是postmarketOS因其移植的設備數量眾多，累積了可觀的資料，WIKI有許多手機硬體與kernel的參考資源。\n3. Manjaro ARM # 官網：https://wiki.manjaro.org/index.php/Manjaro-ARM 基於Manjaro Manjaro電腦版的宗旨就是要做一套易於使用的Arch Linux，採用滾動更新，套件管理員為pacman。\nManjaro ARM官方支援的設備大部份是單板電腦，或是Pine64發行的開源設備。\n4. Ubuntu Touch # 官網：https://ubuntu-touch.io 這個發行版致力於將其移植到各種Android手機上，目前已支援數十款設備。 基於Ubuntu LTS 這個算是很早出現的手機Linux發行版本之一。Canonical公司於2013年開始開發，用於打入手機和平板的市場，2017年官方放棄，交由Ubports社群維護。\n系統設計上，Ubuntu touch的設計比較接近Android，採用OTA更新系統。系統分區預設是唯讀的，使用APT更新套件可能會導致手機當掉，OTA也會蓋掉對系統分區的變更。\n針對想要使用桌面軟體的用戶，Ubuntu touch另外內建Libertine，建議用戶僅用chroot容器執行桌面軟體，而軟體來源為Ubuntu 16.04長期支援版本的倉庫。\n桌面環境為\u0026quot;Lomiri\u0026quot; (Unity)，用手勢來操控，連接到外部顯示器也可以變形成桌面模式。系統界面有各國翻譯，各種常用輸入法也有提供，因此界面設計尚屬完整，可惜此桌面環境無法由其他Linux發行版使用。\nAPP部份，Ubuntu touch初期意圖建立自己的軟體生態體系，最常見的是Web APP，還有自己的軟體商店\u0026quot;Open Store\u0026quot;，官方網站有開發者文檔供參考。\n現在Ubports維護的Ubuntu touch的設備大量採用Halium Project和libhybirs的技術，讓系統能利用一部分Android的驅動，降低移植難度。\n5. Arch Linux ARM # 官網：https://archlinuxarm.org/ 基於Arch Linuxs Arch Linux是很簡潔的系統，採用滾動更新，套件管理員為pacman。安裝時要求使用者用純文字界面自行切割硬碟，並視自己需要安裝系統套件，主要支援x86電腦。\n而ARM移植版本除了支援單板電腦外，還支援使用ARM架構的Chromebook、Pine64所發售的開源硬體。\n針對PinePhone，現由Dreemurrs Embedded Labs團隊維護，他們會在Github上發布預先編譯好的系統映像檔，套件幾乎都是最新，並且有預裝Phosh或Plasma Mobile的映像檔可選擇，或者要硬核一點下載\u0026quot;barebone\u0026quot;的版本也可以。\n6. PureOS Mobile # 官網：https://puri.sm/products/librem-5/pureos-mobile/ 基於Debian 由Purism公司開發，分為電腦版與Librem 5手機預載的行動版，注重隱私與安全性，預設桌面基於Gnome開發。\n因為其只收錄自由軟體，成為少數受到自由軟體基金會(FSF，GNU計畫的維護者) 推崇的發行版之一。\n7. Sailfish OS # 官網：https://sailfishos.org/ 跟Ubuntu Touch一樣古老的手機系統，一路上發展曲折，到現在變成向特定政府市場銷售，由芬蘭公司Jolla維護。所以使用完整功能是要購買授權的，支援少數幾款Android手機。\n系統相容Android APP，套件管理員採用RPM。\n另有開源版本的分支Nemo Mobile。\n8. openSUSE # 官網：https://en.opensuse.org/HCL:PinePhone 面向企業的發行版本，在德國比較受歡迎，網站上有完整的說明文件。套件管理員為RPM。\nARM版目前可在單板電腦和Pine Phone上安裝，後者已經有官方映像，採用的分支為Tumbleweed。\n9. Fedora / Fedora Mobility # 官網：https://fedoraproject.org/wiki/Architectures/ARM/PinePhone 紅帽公司RHEL的上游原始碼發行版，套件管理員為RPM，Fedora官方亦支援ARM架構的電腦。\n最早開展移植Fedora至手機的團隊叫做Fedora Mobility SIG，因PinePhone的出現而開始復甦。現在已經有非官方的腳本和系統映像能夠安裝至PinePhone上。\n","date":"2022年8月10日","externalUrl":null,"permalink":"/posts/linux-mobile-distros/","section":"所有文章","summary":"市面上已有一些Linux手機出現，像是Pine64 PinePhone、Purism Librem 5，硬體幾乎是開源的，因此手機Linux發行版 (mobile Linux distributions) 就開始發展了。\n以下討論的手機Linux作業系統不包含Android。\nLinux手機發行版常見特色為擁有套件管理員，使用主線內核，系統注重隱私以及自由，甚至能夠執行電腦Linux的軟體。大部分Linux手機跟Android手機一樣使用ARM架構處理器。\n如果不想購買Linux手機，則可以嘗試在Android舊機上刷刷看Linux手機發行版，有些發行版致力於將Linux發行版帶到舊手機上。不過如果想要體會全盤的自由，最好從硬體開始就換成對手機Linux發行版友好的設備。\n這篇文章會分別討論一些手機Linux發行版的特點，數字排序僅反應我個人喜好。\n想知道更多系統請參閱：PinePhone Software Releases\n如果要找APP，請參閱： 實用Linux手機APP推薦\n1. Mobian # 官網：https://mobian-project.org/ 基於Debian 非官方的移植計畫，繼承Debian套件數量眾多的優點，Ubuntu的用戶應該會熟悉APT的套件管理方式。\n手機的Gnome也支援中文界面語言。\n除了針對PinePhone開發外，Mobian也有極少數移植到其他設備的開發專案。\n","title":"手機Linux發行版推薦","type":"posts"},{"content":"Recommended apps for Linux mobile OS.\n以ARM架構為主，有些軟體是電腦和手機都能使用的。\n適用系統: postmarketOS、Mobian、Manjaro ARM、Arch Linux ARM、PureOS\u0026hellip;等等專為Linux手機設計的系統。\n在尋找手機Linux發行版？請參考：手機Linux發行版推薦\n這裡是我使用Linux手機系統後整理的APP列表，參考自各發行版的Wiki，不定時更新。如果發行版未打包這個應用程式，就用Flatpak安裝吧。\n以下APP請自行搜尋各發行版的安裝方式，或是到Flathub看有沒有收錄。\n主要參考來源:\nApplications by category - PostmarketOS wiki Applications - Mobian Wiki LinuxPhoneApps.org Purism Librem 5 - List of Apps in Development 桌面環境 # 手機的桌面環境不像是電腦，最好不要隨便更換，在安裝系統時就要做好選擇。\n名稱 說明 Purism Phosh 基於GNOME，使用Wayland。簡單穩定的桌面，有一個\u0026quot;scale-to-fit\u0026quot;的指令可強制調整APP的版面。系統界面常駐叫出虛擬鍵盤的按鈕。外接螢幕後會變成視窗模式。 KDE Plasma Mobile 基於KDE Plasma，使用Wayland。如果喜歡使用KDE系列APP選這個，APP與系統整合性最好，界面很像Android手機。 SXMO 用按鍵和手勢來操控系統，跟普通手機的邏輯差很多。 XFCE 採用X11協定的輕量桌面環境，需要自行調整UI才適合手機使用。 GNOME 採用Wayland和X11。適合較大螢幕的裝置使用，支援手勢。 KDE Plasma 採用Wayland和X11。適合較大螢幕的裝置使用，支援觸控手勢。 字體 # 這裡收錄的主要是字形之類的系統套件，某些發行版沒有內建中文字體。\n名稱 說明 Google Noto Google提供的萬國字形，包含Emoji，中文字請安裝CJK變種 Adobe Source Han Sans 思源黑體 Wen Quan Yi Zhenhei 文泉正黑體 Kaiti 楷體 Adobe FangSong 仿宋體 Ming 明體 瀏覽器 # 名稱 說明 Gnome Web 舊名Epiphany，有點lag，但堪用。可以將網頁加到桌面，安裝成Web APP。 Plasma Chromium KDE調整過的Chromium。 Chromium for postmarketOS 基本上就是電腦版，postmarketOS有做額外調整，使界面符合手機尺寸。 Plasma Angelfish 會按照螢幕大小自動變換版面，是目前最均衡的瀏覽器。 Firefox ESR Mobian預裝的Firefox。 Firefox for postmarketOS postmarketOS針對手機界面調整過的版本，預設搜尋引擎是Duckduckgo，內建uBlock origin。 電子郵件 # 名稱 說明 Gnome Geary 看圖軟體 # 名稱 說明 Plasma Koko 會掃描裝置上所有的圖片，再以瀑布流呈現。 Nomacs 跨系統的圖片檢視器。 Gnome Shotwell 針對攝影師所設計的看圖軟體。 Eye of GNOME Image Viewer Phosh內建的看圖軟體。 影片播放器 # 名稱 說明 MPV 支援硬體加速解碼，要用終端機啟動。不方便觸控，但可以用Phosh的鍵盤來快轉。 Gnome Videos 舊名Totem。 Plasma Mobile LLS Video Player Plasma Mobile內建的影片播放器。 VLC 常見的影片播放器具，界面未針對手機最佳化。 音樂播放器 # 名稱 說明 Purism Lollypop Phosh內建的音樂播放器。預設掃描~/Music目錄下的音樂檔案，可自動下載插圖、線上查詢歌詞等。 Audacious 以目錄為主要播放音樂方式，佔用系統資源少。 Gnome Music Plasma Vvave 文字編輯器 # 名稱 說明 Marker Markdown文字編輯器，附有預覽功能。 Gnome Gedit 支援多種程式語言的輕量文字編輯器。 Visual Studio Code 兼具小型IDE功能的文字編輯器。 觸控輸入法 # 若果沒有喜歡的虛擬鍵盤，建議用瀏覽器開啟線上輸入法打字再複製，或是Chromium安裝Google輸入工具。\n名稱 說明 Maliit Keybaord 支援繁體注音和簡體拼音，僅能在Plasma Mobile和Ubuntu Touch環境使用。 Squeekboard Phosh預設的輸入法，內建一些鍵盤快捷鍵。 onboard - On-screen Keyboard 螢幕上懸浮的觸控鍵盤，適合X11桌面使用。 檔案管理員 # 名稱 說明 Portfolio 功能基本，但無法設定用哪個應用程式開啟特定檔案。 Plasma Dolphin 跟電腦版類似，還兼具媒體瀏覽器的功能。 Plasma Index Nemo for Cinnamon 文書軟體/PDF檢視器 # 名稱 說明 Gnome Evince Plasma Okular Calibre 跨平台的電子書管理軟體，手機上閱讀也會自動調整書和版面。 相機 # 名稱 說明 Megapixels GTK4寫成的簡單的相機APP，支援掃描QR Code。 Gnome Cheese Gnome Pinhole Plasma Camera 螢幕截圖/螢幕錄影 # 名稱 說明 Gnome Screenshot 圖形界面的截圖工具，Phosh上使用版面可能會跑掉。 Grim Wayland螢幕截圖工具，必須配合終端機指令，例如: sleep 10 \u0026amp;\u0026amp; grim為10秒後截圖。 wf-recorder Wayland螢幕錄製用，必須配合終端機指令，參見Mobian Wiki。 軟體商店前端 # 前端的用途是類似Play商店一樣瀏覽和管理APP。例如安裝Flatpak後，Flatpak的軟體就會顯示在軟體商店中。\n名稱 說明 Gnome Software KDE Discover 終端機模擬器 # 名稱 說明 King\u0026rsquo;s Cross Phosh內建的終端機。 QMLKonsole Plasma Mobile內建的終端機。 通訊軟體/社群媒體客戶端 # 名稱 說明 Headlines 第三方Reddit APP。 Giara 第三方Reddit APP。 FreeTube 第三方Youtube APP，可以下載影片。 Cawbird 第三方Twitter APP Plasma NeoChat Matrix客戶端。 遊戲 # 名稱 說明 Bedrock Launcher Minecraft基岩版啟動器(實則為Android版)，須登入購買過遊戲的Google帳號。 Minetest 開源沙盒遊戲。現已將Android版的觸控操作移植回Linux版。 電話 # 名稱 說明 Plasma Dialer Purism Calls 簡訊 # 名稱 說明 Plasma Spacebar 錄音機 # 名稱 說明 Gnome Sound Recorder Plasma KRecorder 月曆/時鐘 # 名稱 說明 Gnome Clocks Plasma KClock 計算機 # 名稱 說明 Gnome Caculator 地圖/導航 # 名稱 說明 Gnome Maps 地圖資料來自OpenStreetMap。 PureMaps 支援GeoCube定位，裝置GPS正常的話就能導航。地圖資料來自OpenStreetMap。 天氣 # 名稱 說明 Gnome Weather 遠端桌面 # 名稱 說明 TigerVNC 僅供x11桌面環境使用。 WayVNC 僅供Wayland桌面環境使用。 ","date":"2022年8月10日","externalUrl":null,"permalink":"/posts/linux-mobile-apps/","section":"所有文章","summary":"Recommended apps for Linux mobile OS.\n以ARM架構為主，有些軟體是電腦和手機都能使用的。\n適用系統: postmarketOS、Mobian、Manjaro ARM、Arch Linux ARM、PureOS…等等專為Linux手機設計的系統。\n在尋找手機Linux發行版？請參考：手機Linux發行版推薦\n這裡是我使用Linux手機系統後整理的APP列表，參考自各發行版的Wiki，不定時更新。如果發行版未打包這個應用程式，就用Flatpak安裝吧。\n以下APP請自行搜尋各發行版的安裝方式，或是到Flathub看有沒有收錄。\n主要參考來源:\nApplications by category - PostmarketOS wiki Applications - Mobian Wiki LinuxPhoneApps.org Purism Librem 5 - List of Apps in Development 桌面環境 # 手機的桌面環境不像是電腦，最好不要隨便更換，在安裝系統時就要做好選擇。\n名稱 說明 Purism Phosh 基於GNOME，使用Wayland。簡單穩定的桌面，有一個\"scale-to-fit\"的指令可強制調整APP的版面。系統界面常駐叫出虛擬鍵盤的按鈕。外接螢幕後會變成視窗模式。 KDE Plasma Mobile 基於KDE Plasma，使用Wayland。如果喜歡使用KDE系列APP選這個，APP與系統整合性最好，界面很像Android手機。 SXMO 用按鍵和手勢來操控系統，跟普通手機的邏輯差很多。 XFCE 採用X11協定的輕量桌面環境，需要自行調整UI才適合手機使用。 GNOME 採用Wayland和X11。適合較大螢幕的裝置使用，支援手勢。 KDE Plasma 採用Wayland和X11。適合較大螢幕的裝置使用，支援觸控手勢。 字體 # 這裡收錄的主要是字形之類的系統套件，某些發行版沒有內建中文字體。\n","title":"實用Linux手機APP推薦","type":"posts"},{"content":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\nAs logic stands you couldn\u0026rsquo;t meet a man\n照常理來說，你無法碰到\nWho\u0026rsquo;s from the future\n來自未來的人\nBut logic broke as he appeared, he spoke\n但是隨著他的出現，打破了常理\nAbout the future\n他說了關於未來的事情\n\u0026ldquo;We\u0026rsquo;re not gonna make it\u0026rdquo;\n「我們失敗了」\nHe explained how the end will come\n他向我們解釋了最後的結局\nYou and me were never meant to be\n你和我\nPart of the future\n永不會是未來的一部分\nAll we have is now\n我們擁有的只有現在\nAll we\u0026rsquo;ve ever had is now\n我們曾擁有過的，只有現在\nAll we have is now\n我們擁有的只有現在\nAll we\u0026rsquo;ve ever had is now\n我們曾擁有過的，只有現在\nI noticed that he had a watch and hat\n我發現他戴著錶和一頂帽子\nThat looked familiar\n看起來很眼熟\nHe was me from a dimension torn free\n他是來自空間被撕碎的\nOf the future\n未來的我\n\u0026ldquo;We\u0026rsquo;re not gonna make it\u0026rdquo;\n「我們失敗了」\nHe explained how the end will come\n他向我們解釋了最後的結局\nYou and me were never meant to be\n你和我\nPart of the future\n永不會是未來的一部分\nAll we have is now\n我們擁有的只有現在\nAll we\u0026rsquo;ve ever had is now\n我們曾擁有過的，只有現在\nAll we have is now\n我們擁有的只有現在\nAll we\u0026rsquo;ve ever had is now\n我們曾擁有過的，只有現在\nAll we have is now\n我們擁有的只有現在\n","date":"2022年8月10日","externalUrl":null,"permalink":"/posts/the-flaming-lips-all-we-have-is-now-zh-tw/","section":"Musics","summary":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\nAs logic stands you couldn’t meet a man\n照常理來說，你無法碰到\nWho’s from the future\n來自未來的人\nBut logic broke as he appeared, he spoke\n但是隨著他的出現，打破了常理\nAbout the future\n他說了關於未來的事情\n“We’re not gonna make it”\n「我們失敗了」\nHe explained how the end will come\n他向我們解釋了最後的結局\nYou and me were never meant to be\n你和我\nPart of the future\n永不會是未來的一部分\nAll we have is now\n我們擁有的只有現在\nAll we’ve ever had is now\n我們曾擁有過的，只有現在\nAll we have is now\n我們擁有的只有現在\nAll we’ve ever had is now\n我們曾擁有過的，只有現在\nI noticed that he had a watch and hat\n我發現他戴著錶和一頂帽子\nThat looked familiar\n看起來很眼熟\nHe was me from a dimension torn free\n他是來自空間被撕碎的\nOf the future\n未來的我\n“We’re not gonna make it”\n「我們失敗了」\nHe explained how the end will come\n他向我們解釋了最後的結局\nYou and me were never meant to be\n你和我\nPart of the future\n永不會是未來的一部分\nAll we have is now\n我們擁有的只有現在\nAll we’ve ever had is now\n我們曾擁有過的，只有現在\nAll we have is now\n我們擁有的只有現在\nAll we’ve ever had is now\n我們曾擁有過的，只有現在\nAll we have is now\n我們擁有的只有現在\n","title":"【歌詞翻譯】The Flaming Lips - All We Have Is Now 我們擁有的只有現在","type":"music"},{"content":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\n官方MV 1 官方MV 2 One, two, three, four\n一，二，三，四\nDo you realize\n你了解了嗎？\nThat you have the most beautiful face?\n你擁有最漂亮的臉蛋？\nDo you realize\n你了解了嗎\nWe\u0026rsquo;re floating in space?\n我們都飄浮在宇宙？\nDo you realize\n你了解了嗎\nThat happiness makes you cry?\n喜極而泣的感覺？\nDo you realize\n你了解了嗎\nThat everyone you know someday will die?\n你所認識的人，終有一天會死？\nAnd instead of saying all of your goodbyes\n與其向他們一一道別\nLet them know you realize that life goes fast\n不如讓他們明瞭人生過得很快\nIt\u0026rsquo;s hard to make the good things last\n好事並不容易持續\nYou realize the sun doesn\u0026rsquo;t go down\n你終將了解太陽並不是真的下山\nIt\u0026rsquo;s just an illusion caused by the world spinning round\n那僅是因為地球轉動造成的幻象\nDo you realize?\n你了解了嗎？\nAh-ah-ah\n啊-啊-啊\nDo you realize\n你了解了嗎\nThat everyone you know someday will die?\n你所認識的人，總有一天會死？\nAnd instead of saying all of your goodbyes\n與其向他們一一道別\nLet them know you realize that life goes fast\n不如讓他們明瞭人生過得很快\nIt\u0026rsquo;s hard to make the good things last\n好事並不容易持續\nYou realize the sun doesn\u0026rsquo;t go down\n你終將了解太陽並不是真的下山\nIt\u0026rsquo;s just an illusion caused by the world spinning round\n那僅是因為地球轉動造成的幻象\nDo you realize\n你了解了嗎\nThat you have the most beautiful face?\n你擁有最漂亮的臉蛋？\nDo you realize?\n你了解了嗎？\n","date":"2022年8月10日","externalUrl":null,"permalink":"/posts/the-flaming-lips-do-you-realize-zh-tw/","section":"Musics","summary":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\n官方MV 1 官方MV 2 One, two, three, four\n一，二，三，四\nDo you realize\n你了解了嗎？\nThat you have the most beautiful face?\n你擁有最漂亮的臉蛋？\nDo you realize\n你了解了嗎\nWe’re floating in space?\n我們都飄浮在宇宙？\nDo you realize\n你了解了嗎\nThat happiness makes you cry?\n喜極而泣的感覺？\nDo you realize\n你了解了嗎\nThat everyone you know someday will die?\n你所認識的人，終有一天會死？\nAnd instead of saying all of your goodbyes\n與其向他們一一道別\nLet them know you realize that life goes fast\n不如讓他們明瞭人生過得很快\nIt’s hard to make the good things last\n好事並不容易持續\nYou realize the sun doesn’t go down\n你終將了解太陽並不是真的下山\nIt’s just an illusion caused by the world spinning round\n那僅是因為地球轉動造成的幻象\nDo you realize?\n你了解了嗎？\nAh-ah-ah\n啊-啊-啊\nDo you realize\n你了解了嗎\nThat everyone you know someday will die?\n你所認識的人，總有一天會死？\nAnd instead of saying all of your goodbyes\n與其向他們一一道別\nLet them know you realize that life goes fast\n不如讓他們明瞭人生過得很快\nIt’s hard to make the good things last\n好事並不容易持續\nYou realize the sun doesn’t go down\n你終將了解太陽並不是真的下山\nIt’s just an illusion caused by the world spinning round\n那僅是因為地球轉動造成的幻象\nDo you realize\n你了解了嗎\nThat you have the most beautiful face?\n你擁有最漂亮的臉蛋？\nDo you realize?\n你了解了嗎？\n","title":"【歌詞翻譯】The Flaming Lips - Do You Realize?? 你了解了嗎??","type":"music"},{"content":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\nIt\u0026rsquo;s summertime\n夏天到了\nAnd I can understand if you still feel sad\n我可以理解，你仍感到哀傷\nIt\u0026rsquo;s summertime\n夏天到了\nThough it\u0026rsquo;s hard to see its true possibilities\n儘管未來看不到任何可能性\nWhen you look inside, all you\u0026rsquo;ll see\n如果只看向內心，你只會看到\nWhen you look inside, all you\u0026rsquo;ll see\n如果只看向內心，你只會看到\nIs a self-reflected inner sadness\n自我反射的哀傷\nLook outside\n看向外頭吧\nI know that you\u0026rsquo;ll recognize it\u0026rsquo;s summertime\n你會察覺，夏天到了\nLook outside\n看向外頭吧\nI know that you\u0026rsquo;ll recognize, it\u0026rsquo;s summertime\n你會察覺，夏天到了\n","date":"2022年8月10日","externalUrl":null,"permalink":"/posts/the-flaming-lips-its-summertime-zh-tw/","section":"Musics","summary":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\nIt’s summertime\n夏天到了\nAnd I can understand if you still feel sad\n我可以理解，你仍感到哀傷\nIt’s summertime\n夏天到了\nThough it’s hard to see its true possibilities\n儘管未來看不到任何可能性\nWhen you look inside, all you’ll see\n如果只看向內心，你只會看到\nWhen you look inside, all you’ll see\n如果只看向內心，你只會看到\nIs a self-reflected inner sadness\n自我反射的哀傷\nLook outside\n看向外頭吧\nI know that you’ll recognize it’s summertime\n你會察覺，夏天到了\nLook outside\n看向外頭吧\nI know that you’ll recognize, it’s summertime\n你會察覺，夏天到了\n","title":"【歌詞翻譯】The Flaming Lips - It’s Summertime 夏天到了","type":"music"},{"content":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\n官方MV (癲癇發作注意) I had forgiven you for tricking me again\n我原諒過你，這樣捉弄我\nBut I have been tricked again,\n但是我又被騙了\nInto forgiving you,\n卻又再次原諒了你\nWhat is this? Are you some kind of hypnotist?\n怎麼會這樣？你是催眠師嗎？\nWaving your powers around - the sun eclipse behind the cloud\n揮灑你的魔法，太陽就被雲遮住了\nI thought I recognized your face\n我在陌生人群中\nAmongst all of those strangers,\n認出了你的臉\nBut I am the stranger now\n但現在在你的眼中\nAmongst all of the recognized\n我才是陌生人\nWhat is this, are you some kind of hypnotist?\n怎麼會這樣？你是催眠師嗎？\nWaving your powers around, the sun eclipse behind the cloud\n揮灑你的魔法，太陽就被雲遮住了\n","date":"2022年8月10日","externalUrl":null,"permalink":"/posts/the-flaming-lips-are-you-a-hypnotist-zh-tw/","section":"Musics","summary":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\n官方MV (癲癇發作注意) I had forgiven you for tricking me again\n我原諒過你，這樣捉弄我\nBut I have been tricked again,\n但是我又被騙了\nInto forgiving you,\n卻又再次原諒了你\nWhat is this? Are you some kind of hypnotist?\n怎麼會這樣？你是催眠師嗎？\nWaving your powers around - the sun eclipse behind the cloud\n揮灑你的魔法，太陽就被雲遮住了\nI thought I recognized your face\n我在陌生人群中\nAmongst all of those strangers,\n認出了你的臉\nBut I am the stranger now\n但現在在你的眼中\nAmongst all of the recognized\n我才是陌生人\nWhat is this, are you some kind of hypnotist?\n怎麼會這樣？你是催眠師嗎？\nWaving your powers around, the sun eclipse behind the cloud\n揮灑你的魔法，太陽就被雲遮住了\n","title":"【歌詞翻譯】The Flaming Lips - Are You a Hypnotist?? 你難道是催眠師??","type":"music"},{"content":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\nI was waiting on the moment\n我一直在等待那個時刻\nBut the moment never came\n但是永遠不會到來\nAll the billion other moments\n在此同時其他百萬計的時光\nWere just slipping all away\n就這樣流逝了\nwe\u0026rsquo;re just slipping all away\n就這樣流逝了\n(Just ego-tripping)\n(我只是在耍帥)\nI was wanting you to love me\n我曾只要妳來愛我\nBut your love it never came\n但是妳的愛從不到來\nAll the other love around me\n在此同時其他身邊的緣分\nWas just wasting all away\n就這樣浪費掉了\nwas just wasting all away\n就這樣浪費掉了\n(Just ego-tripping) was just wasting all away\n(只是在神遊吧) 就這樣浪費掉了\n(Must have been tripping)\n(肯定就是固執吧)\nI was waiting on the moment\n我在等待那個時刻\nBut the moment never came\n但是永遠不會到來\n(Must have been dreaming) but the moment never came\n(肯定是在做夢) 但是永遠不會到來\n(Just ego-tripping) but the moment never came\n(只是在神遊吧) 但是永遠不會到來\n(Must have been tripping) but the moment never came\n(肯定在神遊吧) 但是永遠不會到來\n(Just ego-tripping) but the moment never came\n(只是在神遊吧) 但是永遠不會到來\n(Must have been dreaming) but the moment never came\n(肯定是在做夢) 但是永遠不會到來\nBut the moment never came\n那一刻永遠不會到來\n","date":"2022年8月10日","externalUrl":null,"permalink":"/posts/the-flaming-lips-ego-tripping-at-the-gates-of-hell-zh-tw/","section":"Musics","summary":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\nI was waiting on the moment\n我一直在等待那個時刻\nBut the moment never came\n但是永遠不會到來\nAll the billion other moments\n在此同時其他百萬計的時光\nWere just slipping all away\n就這樣流逝了\nwe’re just slipping all away\n就這樣流逝了\n(Just ego-tripping)\n(我只是在耍帥)\nI was wanting you to love me\n我曾只要妳來愛我\nBut your love it never came\n但是妳的愛從不到來\nAll the other love around me\n在此同時其他身邊的緣分\nWas just wasting all away\n就這樣浪費掉了\nwas just wasting all away\n就這樣浪費掉了\n(Just ego-tripping) was just wasting all away\n(只是在神遊吧) 就這樣浪費掉了\n(Must have been tripping)\n(肯定就是固執吧)\nI was waiting on the moment\n我在等待那個時刻\nBut the moment never came\n但是永遠不會到來\n(Must have been dreaming) but the moment never came\n(肯定是在做夢) 但是永遠不會到來\n(Just ego-tripping) but the moment never came\n(只是在神遊吧) 但是永遠不會到來\n(Must have been tripping) but the moment never came\n(肯定在神遊吧) 但是永遠不會到來\n(Just ego-tripping) but the moment never came\n(只是在神遊吧) 但是永遠不會到來\n(Must have been dreaming) but the moment never came\n(肯定是在做夢) 但是永遠不會到來\nBut the moment never came\n那一刻永遠不會到來\n","title":"【歌詞翻譯】The Flaming Lips - Ego Tripping at the Gates of Hell 意識在地獄大門前神遊","type":"music"},{"content":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\nIn the morning I awake\n今天早上我醒來\nAnd I couldn\u0026rsquo;t remember\n我已記不得\nWhat is love and what is hate\n什麼是愛，什麼是恨\nThe calculations error\n計算發生了錯誤\nOh, what is love and what is hate?\n喔，什麼是是愛，什麼是恨？\nAnd why does it matter?\n那又有什麼重要的？\nIs to love just a waste?\n愛人只是在浪費時間？\nAnd how can it matter?\n那又有什麼值得付出的？\nOh\u0026hellip;\n喔\u0026hellip;\nAs the dawn began to break\n隨著破曉到來\nI had to surrender\n我只能投降\nThe universe will have its way\n宇宙自有其運作的道理\nToo powerful to master\n常人難以掌控\nOh\u0026hellip;\n喔\u0026hellip;\nWhat is love and what is hate?\n什麼是愛，什麼是恨？\nAnd why does it matter?\n那又有什麼重要的？\nOh\u0026hellip;\n喔\u0026hellip;\nWhat is love and what is hate?\n什麼是愛，什麼是恨？\nAnd how can it matter?\n為何那麼重要呢？\nOh\u0026hellip;\n喔\u0026hellip;\n","date":"2022年8月10日","externalUrl":null,"permalink":"/posts/the-flaming-lips-in-the-morning-of-the-magicians-zh-tw/","section":"Musics","summary":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\nIn the morning I awake\n今天早上我醒來\nAnd I couldn’t remember\n我已記不得\nWhat is love and what is hate\n什麼是愛，什麼是恨\nThe calculations error\n計算發生了錯誤\nOh, what is love and what is hate?\n喔，什麼是是愛，什麼是恨？\nAnd why does it matter?\n那又有什麼重要的？\nIs to love just a waste?\n愛人只是在浪費時間？\nAnd how can it matter?\n那又有什麼值得付出的？\nOh…\n喔…\nAs the dawn began to break\n隨著破曉到來\nI had to surrender\n我只能投降\nThe universe will have its way\n宇宙自有其運作的道理\nToo powerful to master\n常人難以掌控\nOh…\n喔…\nWhat is love and what is hate?\n什麼是愛，什麼是恨？\nAnd why does it matter?\n那又有什麼重要的？\nOh…\n喔…\nWhat is love and what is hate?\n什麼是愛，什麼是恨？\nAnd how can it matter?\n為何那麼重要呢？\nOh…\n喔…\n","title":"【歌詞翻譯】The Flaming Lips - In the Morning of the Magicians 魔法師的早晨","type":"music"},{"content":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\n官方MV Her name is Yoshimi,\n她的名字叫做良美\nshe\u0026rsquo;s a black belt in karate.\n擁有空手道黑帶\nWorking for the city,\n為了保護城市而奮鬥\nshe has to discipline her body.\n她必須鍛鍊身體\n\u0026lsquo;Cause she knows that\n因為她知道\nit\u0026rsquo;s demanding\n這是她的義務\nto defeat those evil machines.\n要打倒那些邪惡機器人\nI know she can beat them\n我相信她一定可以\nOh Yoshimi, they don\u0026rsquo;t believe me.\n喔良美，他們不相信我\nBut you won\u0026rsquo;t let those robots eat me.\n但我相信妳不會讓機器人吃掉我\nYoshimi, they don\u0026rsquo;t believe me.\n喔良美，他們不相信我\nBut you won\u0026rsquo;t let those robots defeat me.\n但是妳不會讓我被機器人打倒\nThose evil-natured robots,\n那些邪惡的機器人\nthey\u0026rsquo;re programmed to destroy us.\n他們生來就是來摧毀我們的\nShe\u0026rsquo;s gotta be strong to fight them,\n她必須要很強壯才能戰鬥\nso she\u0026rsquo;s taking lots of Vitamins.\n所以吃下許多維他命\n\u0026lsquo;Cause she knows that\n因為她知道\nit\u0026rsquo;d be tragic\n要是邪惡機器人贏了\nif those evil robots win.\n我們就完了\nI know she can beat them.\n我相信她一定可以打倒他們\nOh Yoshimi, they don\u0026rsquo;t believe me.\n喔良美，他們不相信我\nBut you won\u0026rsquo;t let those robots defeat me.\n但是妳不會讓我被機器人打倒\nYoshimi, they don\u0026rsquo;t believe me.\n喔良美，他們不相信我\nBut you won\u0026rsquo;t let those robots eat me.\n但我相信妳不會讓機器人吃掉我\n\u0026lsquo;Cause she knows that\n因為她知道\nit\u0026rsquo;d be tragic\n要是邪惡機器人贏了\nif those evil robots win.\n我們就完了\nI know she can beat them.\n我相信她一定可以打倒他們\nOh Yoshimi, they don\u0026rsquo;t believe me.\n喔良美，他們不相信我\nBut you won\u0026rsquo;t let those robots defeat me.\n但是妳不會讓我被機器人打倒\nOh Yoshimi, they don\u0026rsquo;t believe me.\n喔良美，他們不相信我\nBut you won\u0026rsquo;t let those robots defeat me.\n但是妳不會讓我被機器人打倒\nYoshimi, they don\u0026rsquo;t believe me.\n喔良美，他們不相信我\nBut you won\u0026rsquo;t let those robots eat me.\n但我相信妳不會讓機器人吃掉我\nYoshimi, they don\u0026rsquo;t believe me.\n喔良美，他們不相信我\nBut you won\u0026rsquo;t let those robots eat me.\n但我相信妳不會讓機器人吃掉我\n","date":"2022年8月10日","externalUrl":null,"permalink":"/posts/the-flaming-lips-yoshimi-battles-the-pink-robots-pt-1-zh-tw/","section":"Musics","summary":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\n官方MV Her name is Yoshimi,\n她的名字叫做良美\nshe’s a black belt in karate.\n擁有空手道黑帶\nWorking for the city,\n為了保護城市而奮鬥\nshe has to discipline her body.\n她必須鍛鍊身體\n‘Cause she knows that\n因為她知道\nit’s demanding\n這是她的義務\nto defeat those evil machines.\n要打倒那些邪惡機器人\nI know she can beat them\n我相信她一定可以\nOh Yoshimi, they don’t believe me.\n喔良美，他們不相信我\nBut you won’t let those robots eat me.\n但我相信妳不會讓機器人吃掉我\nYoshimi, they don’t believe me.\n喔良美，他們不相信我\nBut you won’t let those robots defeat me.\n但是妳不會讓我被機器人打倒\nThose evil-natured robots,\n那些邪惡的機器人\nthey’re programmed to destroy us.\n他們生來就是來摧毀我們的\nShe’s gotta be strong to fight them,\n她必須要很強壯才能戰鬥\nso she’s taking lots of Vitamins.\n所以吃下許多維他命\n‘Cause she knows that\n因為她知道\nit’d be tragic\n要是邪惡機器人贏了\nif those evil robots win.\n我們就完了\nI know she can beat them.\n我相信她一定可以打倒他們\nOh Yoshimi, they don’t believe me.\n喔良美，他們不相信我\nBut you won’t let those robots defeat me.\n但是妳不會讓我被機器人打倒\nYoshimi, they don’t believe me.\n喔良美，他們不相信我\nBut you won’t let those robots eat me.\n但我相信妳不會讓機器人吃掉我\n‘Cause she knows that\n因為她知道\nit’d be tragic\n要是邪惡機器人贏了\nif those evil robots win.\n我們就完了\nI know she can beat them.\n我相信她一定可以打倒他們\nOh Yoshimi, they don’t believe me.\n喔良美，他們不相信我\nBut you won’t let those robots defeat me.\n但是妳不會讓我被機器人打倒\nOh Yoshimi, they don’t believe me.\n喔良美，他們不相信我\nBut you won’t let those robots defeat me.\n但是妳不會讓我被機器人打倒\nYoshimi, they don’t believe me.\n喔良美，他們不相信我\nBut you won’t let those robots eat me.\n","title":"【歌詞翻譯】The Flaming Lips - Yoshimi Battles the Pink Robots, Pt. 1 良美大戰粉紅機器人Part. 1","type":"music"},{"content":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\nUnit three thousand twenty one is warming\n元件3021號正在升溫\nMakes a humming sound, when its circuits\n隨著電流的嗚嗚聲\nDuplicate emotions, and a sense of coldness detaches\n開始複製情感，感測哀傷情緒，開始運作\nAs it tries to comfort your sadness\n為了要撫慰你的悲傷\nOne more robot learns to be something more than\n又有一個機器人，變得不像是機器人\nA machine, when it tries the way it does, make it seem\n當他開始這樣做的時候\nLike it can love\n好像他也能愛人一般\nCause it\u0026rsquo;s hard to say what\u0026rsquo;s real, when you know the\n要認知這種情感十分困難，要是你能感覺到\nWay you feel, is it wrong to think it\u0026rsquo;s love\n難道這還不算愛嗎\nWhen it tries the way it does\n這就是真實的情感\nFeeling a synthetic kind of love\n感覺到某種合成的愛情\nDreaming a sympathetic wish,\n擁有希望理解對方的感情\nAs the lights blink faster and brighter,\n燈光越閃越快，越來越亮\nOne more robot learns to be something more than\n又有一個機器人，變得不像是機器人\nA machine, when it tries the way it does, make it seem\n當他開始這樣做的時候\nLike it can love\n好像他也能愛人一般\nCause it\u0026rsquo;s hard to say what\u0026rsquo;s real, when you know the\n要認知這種情感十分困難，要是你能感覺到\nWay you feel, is it wrong to think it\u0026rsquo;s love\n難道這還不算愛嗎\nWhen it tries the way it does\n這就是真實的情感\n","date":"2022年8月10日","externalUrl":null,"permalink":"/posts/the-flaming-lips-one-more-robot-sympathy-3000-21-zh-tw/","section":"Musics","summary":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\nUnit three thousand twenty one is warming\n元件3021號正在升溫\nMakes a humming sound, when its circuits\n隨著電流的嗚嗚聲\nDuplicate emotions, and a sense of coldness detaches\n開始複製情感，感測哀傷情緒，開始運作\nAs it tries to comfort your sadness\n為了要撫慰你的悲傷\nOne more robot learns to be something more than\n又有一個機器人，變得不像是機器人\nA machine, when it tries the way it does, make it seem\n當他開始這樣做的時候\nLike it can love\n好像他也能愛人一般\nCause it’s hard to say what’s real, when you know the\n要認知這種情感十分困難，要是你能感覺到\nWay you feel, is it wrong to think it’s love\n難道這還不算愛嗎\nWhen it tries the way it does\n這就是真實的情感\nFeeling a synthetic kind of love\n感覺到某種合成的愛情\nDreaming a sympathetic wish,\n擁有希望理解對方的感情\nAs the lights blink faster and brighter,\n燈光越閃越快，越來越亮\nOne more robot learns to be something more than\n又有一個機器人，變得不像是機器人\nA machine, when it tries the way it does, make it seem\n當他開始這樣做的時候\nLike it can love\n好像他也能愛人一般\nCause it’s hard to say what’s real, when you know the\n要認知這種情感十分困難，要是你能感覺到\nWay you feel, is it wrong to think it’s love\n難道這還不算愛嗎\nWhen it tries the way it does\n這就是真實的情感\n","title":"【歌詞翻譯】The Flaming Lips - One More Robot/Sympathy 3000-21 又有一個機器人/同理心3000-21","type":"music"},{"content":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\n官方MV The test begins now\n測試開始\nI thought I was smart, I thought I was right\n我曾以為我很聰明，我是正確的\nI thought it better not to fight\n我認為不要奮鬥比較好\nI thought there was a virtue in always being cool\n我這樣堅持己見總有人能理解的\nSo it came time to fight, I thought I’ll just step aside\n所以萬一真要戰鬥，我會消極抵抗\nAnd that the time would prove you wrong\n時間會證明你是錯的\nAnd that you would be the fool\n你就會變成輸家\nI don’t know where the sunbeams end and the starlights begin\n我不知道陽光的去處，也不知道星光的由來\nIt’s all a mystery\n全都是謎團\nOh, to fight is to defend\n喔，戰鬥就是要捍衛自己\nIf it’s not now then tell me when would be the time\n如果不是現在，那麼告訴我要什麼時候\nThat you would stand up and be a man\n你才肯像個男人站起來奮鬥\nFor to lose I could accept\n要是輸了我還能接受\nBut to surrender I just wept\n但是最後卻投降，於是我哭了\nAnd regretted this moment, oh that I, I was the fool\n此時感到萬分後悔，現在，我才是輸家\nI don’t know where the sunbeams end and the starlights begin\n我不知道陽光的去處，也不知道星光的由來\nIt’s all a mystery\n全都是謎團\nAnd I don’t know how a man decides what’s right for his own life\n我也不知道人如何做出正確的人生抉擇\nIt’s all a mystery\n全都是謎團\n‘Cause I’m a man, not a boy\n因為我已經是大人了，不是小男孩\nAnd there are things you can’t avoid\n總有事情不可避免\nYou have to face them when you’re not prepared to face them\n就算還沒準備好，你也要去面對\nIf I could, I would, but you’re with him\n要是可以的話，我也想，但你已經跟他在一起\nI’d do no good\n我已沒什麼勝算\nI should have fought him but instead I let him, I let him take you\n我應該跟他戰鬥的，但是最後卻，讓你跟他走了\nI don’t know where the sunbeams end and the starlights begin\n我不知道陽光的去處，也不知道星光的由來\nIt’s all a mystery\n全都是謎團\nAnd I don’t know how a man decides what’s right for his own life\n我也不知道人如何做出正確的人生抉擇\nIt’s all a mystery\n全都是謎團\nI don’t know where the sunbeams end and the starlights begin\n我不知道陽光的去處，也不知道星光的由來\nIt’s all a mystery\n全都是謎團\nAnd I don’t know how a man decides what’s right for his own life\n我也不知道人如何做出正確的人生抉擇\nIt’s all a mystery\n全都是謎團\nI don’t know where the sunbeams end and the starlights begin\n我不知道陽光的去處，也不知道星光的由來\nIt’s all a mystery\n全都是謎團\nmystery\n謎團\nThe test is over now\n測試結束\n","date":"2022年8月10日","externalUrl":null,"permalink":"/posts/the-flaming-lips-fight-test-zh-tw/","section":"Musics","summary":"返回專輯The Flaming Lips - Yoshimi Battles the Pink Robots 良美大戰粉紅機器人\n官方MV The test begins now\n測試開始\nI thought I was smart, I thought I was right\n我曾以為我很聰明，我是正確的\nI thought it better not to fight\n我認為不要奮鬥比較好\nI thought there was a virtue in always being cool\n我這樣堅持己見總有人能理解的\nSo it came time to fight, I thought I’ll just step aside\n所以萬一真要戰鬥，我會消極抵抗\nAnd that the time would prove you wrong\n時間會證明你是錯的\nAnd that you would be the fool\n你就會變成輸家\nI don’t know where the sunbeams end and the starlights begin\n我不知道陽光的去處，也不知道星光的由來\nIt’s all a mystery\n全都是謎團\nOh, to fight is to defend\n喔，戰鬥就是要捍衛自己\nIf it’s not now then tell me when would be the time\n如果不是現在，那麼告訴我要什麼時候\nThat you would stand up and be a man\n你才肯像個男人站起來奮鬥\nFor to lose I could accept\n要是輸了我還能接受\nBut to surrender I just wept\n但是最後卻投降，於是我哭了\nAnd regretted this moment, oh that I, I was the fool\n此時感到萬分後悔，現在，我才是輸家\nI don’t know where the sunbeams end and the starlights begin\n我不知道陽光的去處，也不知道星光的由來\nIt’s all a mystery\n全都是謎團\nAnd I don’t know how a man decides what’s right for his own life\n我也不知道人如何做出正確的人生抉擇\nIt’s all a mystery\n全都是謎團\n‘Cause I’m a man, not a boy\n因為我已經是大人了，不是小男孩\nAnd there are things you can’t avoid\n總有事情不可避免\nYou have to face them when you’re not prepared to face them\n就算還沒準備好，你也要去面對\n","title":"【歌詞翻譯】The Flaming Lips - Fight Test 戰鬥測試","type":"music"},{"content":"xBrowserSync是提供跨瀏覽器書籤同步的解決方案，主要是為了對抗科技巨頭所經營的瀏覽器同步系統。\n目前xBrowserSync以擴充元件形式提供，支援Chrome/Firefox/Edge，另提供Android APP。\nxBrowserSync免註冊，免費，開源，尊重隱私，通訊是加密的。同步伺服器由開發者和志願者經營。為跨過流量限制也可以選擇自架。\n關心隱私權的美國非營利組織Privacy.io推薦使用者安裝此軟體。\n目前只能儲存書簽，但使用者可以加上標籤和說明來給書籤分類，未來可能還會加入同步歷史記錄的功能。至於密碼管理這一塊還是交給BitWarden吧。\nxBrowserSync官網：https://www.xbrowsersync.org\n另請參考類似的書籤同步服務Floccus\n1. 安裝xBrowserSync # 以Firefox為例子，在Firefox Add-Ons就可以下載xBrowserSync的擴充元件。\n點開瀏覽器工具欄，閱讀完說明後，輸入一組長長的密碼，系統會自動建立一個Sync ID當作你的帳號。\n註冊的時候可到官方網站選擇其他的站點用作同步服務。 之後xBrowserSync會建議關掉瀏覽器的同步服務，例如Firefox就是到設定裡面關閉Firefox Sync。 xBrowserSync會自動上傳目前瀏覽器的書籤，預設界面則是讓你搜尋已經同步的書籤。 設定裡面可以匯入和匯出書籤。 在設定裡面可以看到Sync ID。此ID就是用於跨裝置同步用，點一下會變成QR Code。 2. 手機上查看xBrowserSync # 因為手機瀏覽器很多都無法裝擴充元件，因此改以獨立APP形式提供。\n至Google Play下載xBrowserSync，掃描電腦的QR Code進行同步。\n點選連結會直接以瀏覽器開啟。 ","date":"2022年8月5日","externalUrl":null,"permalink":"/posts/xbrowsersync/","section":"所有文章","summary":"xBrowserSync是提供跨瀏覽器書籤同步的解決方案，主要是為了對抗科技巨頭所經營的瀏覽器同步系統。\n目前xBrowserSync以擴充元件形式提供，支援Chrome/Firefox/Edge，另提供Android APP。\nxBrowserSync免註冊，免費，開源，尊重隱私，通訊是加密的。同步伺服器由開發者和志願者經營。為跨過流量限制也可以選擇自架。\n關心隱私權的美國非營利組織Privacy.io推薦使用者安裝此軟體。\n目前只能儲存書簽，但使用者可以加上標籤和說明來給書籤分類，未來可能還會加入同步歷史記錄的功能。至於密碼管理這一塊還是交給BitWarden吧。\nxBrowserSync官網：https://www.xbrowsersync.org\n另請參考類似的書籤同步服務Floccus\n1. 安裝xBrowserSync # 以Firefox為例子，在Firefox Add-Ons就可以下載xBrowserSync的擴充元件。\n點開瀏覽器工具欄，閱讀完說明後，輸入一組長長的密碼，系統會自動建立一個Sync ID當作你的帳號。\n註冊的時候可到官方網站選擇其他的站點用作同步服務。 之後xBrowserSync會建議關掉瀏覽器的同步服務，例如Firefox就是到設定裡面關閉Firefox Sync。 xBrowserSync會自動上傳目前瀏覽器的書籤，預設界面則是讓你搜尋已經同步的書籤。 ","title":"xBrowserSync：免費跨瀏覽器書籤同步服務","type":"posts"},{"content":"Linux發行版多半有按下【CTRL】+【ALT】+【F1 ~ F12】按鍵切換到純文字終端機(TTY)模式的功能，可以在桌面環境掛掉之後切換過去救援。\n但最近卻常常遇到這茬怪事：切換到TTY模式會黑螢幕(黑屏幕)也沒反應，只有三個藍色點點。\n顯示卡是Nvidia，大概是因為Linux核心太新，Nvidia的驅動沒跟上所致。\n這類問題在Ubuntu這種穩定發表版本的不會遇到，但在滾動更新的發行版Arch Linux、openSUSE Tumbleweed卻會常有這個問題。\n後來找到二個解決方案：\n(1.) 改用nouveau驅動\n(2.) 在GRUB選項中加入nomodeset選項\n第一個方案不好，Nvidia的專有驅動目前還是比較穩，所以採用第二個方案。\n根據AskUbuntu的回答，nomodeset會阻止核心在X伺服器啟動前載入顯示卡驅動程式，改成在開機時用BIOS模式載入，這樣就不會有Nvidia專有驅動無法顯示TTY的問題。順帶一提Ubuntu的GRUB這個選項預設是啟用的。\n修改GRUB檔案 sudo vim /etc/default/grub 在以下文字的後面加入\u0026quot;nomodset\u0026quot;。 GRUB_CMDLINE_LINUX_DEFAULT=\u0026#34;loglevel=3 quiet nomodeset\u0026#34; 更新GRUB重開機，問題解決了。 sudo update-grub ","date":"2022年8月4日","externalUrl":null,"permalink":"/posts/nomodeset-nvidia-tty/","section":"所有文章","summary":"Linux發行版多半有按下【CTRL】+【ALT】+【F1 ~ F12】按鍵切換到純文字終端機(TTY)模式的功能，可以在桌面環境掛掉之後切換過去救援。\n但最近卻常常遇到這茬怪事：切換到TTY模式會黑螢幕(黑屏幕)也沒反應，只有三個藍色點點。\n顯示卡是Nvidia，大概是因為Linux核心太新，Nvidia的驅動沒跟上所致。\n這類問題在Ubuntu這種穩定發表版本的不會遇到，但在滾動更新的發行版Arch Linux、openSUSE Tumbleweed卻會常有這個問題。\n後來找到二個解決方案：\n(1.) 改用nouveau驅動\n(2.) 在GRUB選項中加入nomodeset選項\n第一個方案不好，Nvidia的專有驅動目前還是比較穩，所以採用第二個方案。\n根據AskUbuntu的回答，nomodeset會阻止核心在X伺服器啟動前載入顯示卡驅動程式，改成在開機時用BIOS模式載入，這樣就不會有Nvidia專有驅動無法顯示TTY的問題。順帶一提Ubuntu的GRUB這個選項預設是啟用的。\n修改GRUB檔案 sudo vim /etc/default/grub 在以下文字的後面加入\"nomodset\"。 GRUB_CMDLINE_LINUX_DEFAULT=\"loglevel=3 quiet nomodeset\" 更新GRUB重開機，問題解決了。 sudo update-grub","title":"Linux系統Nvidia顯示卡下，終端機TTY黑螢幕的解決辦法","type":"posts"},{"content":"這篇文章簡介GNU Guix System是什麼，以及如何安裝GNU Guix在您的電腦上。 使用GNU Guix System理由：\n全由自由開源的軟體組成，尊重使用者的計算機自由。 系統設定、軟體安裝可輕易複現(reproduce)，只要透過一個宣告檔就可配置完成。 官方有詳細的參考手冊和教學影片。 使用前，你應該考慮：\n自由軟體代表有很多Wifi網路卡、Nvidia顯示卡會無法運作，除非安裝非官方的軟體庫 使用此系統需要對Linux系統的底層運作有一定了解。 撰寫宣告檔需要熟悉Scheme (Lisp) 程式語言。 1. GNU Guix System簡介 # GNU Guix啟發自Nix，是一種宣告式(delcartion)安裝、版本管理能力強的Linux套件管理員，且Guix強調官方軟體庫只收錄自由軟體。\n官方網站有完整的參考手冊詳述每個指令的詳細用法，Guix也是自由軟體基金會(Free Software Foundation)的GNU計畫的一部分。\nGNU Guix可以安裝在其他Linux發行版上，跟其他套件管理員共存。對Guix來說，這叫做安裝在外部發行版(foreign distro)上。\n另一方面，GNU Guix也可以安裝成獨立的系統，即為GNU Guix System (舊稱GNU GuixSD)。Guix為類似滾動更新的發行版，預設內核是無封閉韌體的\u0026quot;Linux-libre\u0026quot;，init程式是GNU Shepherd。\nGNU Guix System主打從軟體到系統設定，都可寫一個宣告檔進行安裝，並且能隨時回滾(降級)。甚至Guix系統本身也可以視為一個Git儲存庫，每對系統進行變更就會保留舊版設定檔。\n2. 安裝GNU Guix System # 到官網下載ISO，目前版本是1.3.0。記得檢查檔案完整性防止檔案毀損。\n用Ventoy製作開機隨身碟，開機進入系統。會出現Guix的文字介面安裝程式。此畫面無法使用滑鼠，要用鍵盤上下左右+Enter來操作。\n選擇語言按下Enter 選擇地區 選擇使用純文字模式繼續安裝 選擇時區 選擇鍵盤布局 給主機取名字 關閉從區域網路下載substitute 設定Root密碼 接著新增一個普通使用者帳戶 接著是桌面環境，推薦GNOME或XFCE。為輕便我選XFCE。 設定開機要啟動的服務 選擇將系統安裝至整個硬碟 確認好之後開始安裝。 之後Guix會自動下載需要的軟體套件。由於目前全球鏡像站點不多，下載速度可能會很慢。 安裝完成後重開機，拔掉隨身碟。開機進入桌面，會顯示GDM。 3. Guix安裝軟體 # GNU Guix System的套件管理員當然就是Guix。\n更新系統 # 使用以下指令更新最新版系統：\nguix pull 此指令等同apt update \u0026amp; apt upgrade。每次修改系統前最好先執行一次。\n安裝軟體 # Guix安裝軟體的指令是guix install，會將軟體安裝到目前使用者的家目錄下，所以安裝不需要Root權限。\nGuix可以從本機編譯軟體套件，不過guix install預設會下載\u0026quot;substitute\u0026quot;安裝，也就是軟體庫上預先編譯好的套件。\nGuix官方軟體庫只提供自由軟體，儘管如此還是有非官方的Guix Nonfree軟體庫，裡面才有收錄閉源的Nvidia驅動。\n首先，安裝GNOME Epiphany瀏覽器 (很不幸的，Firefox不夠自由)： guix install epiphany 接著是中文字型，不過這只對目前使用者有效。要將此套件安裝至系統，請參閱下一節的guix system指令用法。 guix install font-google-noto fontconfig fc-cache -rv 再來是輸入法，目前只能用ibus-rime。因為會動到系統檔案，請移動到下一節。 4. Guix修改系統設定 # 說明 # GNU Guix System的桌面環境和系統服務的設定跟一般的GNU/Linux不太一樣。如果要修改系統設定，或是安裝全部使用者可用的系統套件，就要使用指令guix system + 宣告檔。宣告檔可利用安裝系統後生成的檔案，位於/etc/config.scm，直接拿這個下去改。\n用guix system --reconfigure修改系統的過程稱為實例化，修改後的系統會成為一個新的版本(generation)，並成為開機GRUB選單中的預設選項。相反，使用guix system --rollback則是讓系統回滾到上一個版本。因此透過guix system來修改系統設定才能確保系統可滾回舊版本。\n未來的Guix會引入guix home指令，此指令主要是用於修改家目錄下的隱藏設定檔。\n修改系統安裝ibus # 接續上一節內容，我們要安裝ibus rime輸入法，並將中文字體安裝到系統。因此要修改/etc/config.scm，插入以下內容： (use-moudles (gnu)) (use-modules (gnu packages ibus)) (use-modules (gnu packages language)) (use-modules (gnu packages fonts)) (use-modules (gnu packages gnome)) (use-modules (gnu packages certs)) (use-service-modules desktop networking ssh xorg) (operating-system ;; ...略... (packages (append (list nss_certs ibus lbus-rime font-gnu-unifont dconf) %base-packages)) ;; ...略... ) 變更系統，之後會重新下載套件。 guix pull sudo guix system --reconfigure /etc/config.scm 參考设置输入法 - Guix中文社區，修改家目錄下的.pam_environment檔案，填入： export GTK_IM_MODULE=\u0026#34;ibus\u0026#34; export QT_IM_MODULE=\u0026#34;ibus\u0026#34; export XMODIFIERS=\u0026#34;@im=ibus\u0026#34; export GUIX_GTK2_IM_MODULE_FILE=/run/current-system/profile/lib/gtk-2.0/2.10.0/immodules-gtk2.cache export GUIX_GTK3_IM_MODULE_FILE=/run/current-system/profile/lib/gtk-3.0/3.0.0/immodules-gtk3.cache 重新開機，GRUB選單會多出新版本的系統\n啟動ibus-setup。\n","date":"2022年8月3日","externalUrl":null,"permalink":"/posts/gnu-guix-system-installation/","section":"所有文章","summary":"這篇文章簡介GNU Guix System是什麼，以及如何安裝GNU Guix在您的電腦上。 使用GNU Guix System理由：\n全由自由開源的軟體組成，尊重使用者的計算機自由。 系統設定、軟體安裝可輕易複現(reproduce)，只要透過一個宣告檔就可配置完成。 官方有詳細的參考手冊和教學影片。 使用前，你應該考慮：\n自由軟體代表有很多Wifi網路卡、Nvidia顯示卡會無法運作，除非安裝非官方的軟體庫 使用此系統需要對Linux系統的底層運作有一定了解。 撰寫宣告檔需要熟悉Scheme (Lisp) 程式語言。 1. GNU Guix System簡介 # GNU Guix啟發自Nix，是一種宣告式(delcartion)安裝、版本管理能力強的Linux套件管理員，且Guix強調官方軟體庫只收錄自由軟體。\n官方網站有完整的參考手冊詳述每個指令的詳細用法，Guix也是自由軟體基金會(Free Software Foundation)的GNU計畫的一部分。\nGNU Guix可以安裝在其他Linux發行版上，跟其他套件管理員共存。對Guix來說，這叫做安裝在外部發行版(foreign distro)上。\n另一方面，GNU Guix也可以安裝成獨立的系統，即為GNU Guix System (舊稱GNU GuixSD)。Guix為類似滾動更新的發行版，預設內核是無封閉韌體的\"Linux-libre\"，init程式是GNU Shepherd。\n","title":"初探GNU Guix System安裝","type":"posts"},{"content":"提示：您可以改用Ventoy製作能開機又能放資料的隨身碟，泛用性較強。\n一般來說，Windows的開機隨身碟會使用微軟官方工具或Rufus這類專門的程式製作。那麼有沒有可能在Linux系統上製作Windows開機隨身碟呢？\n因為過程複雜，就有人開發了叫做「WoeUSB」的Bash指令稿，它可以將Windows的ISO寫入到USB隨身碟，支援Windows Vista以後的系統，並且相容傳統BIOS和UEFI。\n下面以Ubuntu製作Windows 10開機隨身碟為例，請準備至少8GB的隨身碟。\n到微軟官網下載Windows 10 ISO，約5GB。\n安裝依賴套件，像Ubuntu的話請安裝：\nsudo apt install git p7zip-full python3-pip python3-wxgtk4.0 grub2-common grub-pc-bin wimtools 隨身碟插到電腦，用lsblk指令確認掛載位置，例如我的8GB隨身碟路徑是/dev/sdc，已被系統掛載到/run/media/ivon/Toshiba： ivon@Lk31cdk ~\u0026gt; lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sdc 8:32 1 7.5G 0 disk /run/media/ivon/Toshiba 取消掛載，我們只需要記住前面的隨身碟路徑/dev/sdc就好。 umount /run/media/ivon/Toshiba 到Github Releases下載最新版WoeUSB的Bash指令稿。 在下載目錄開啟終端機，執行WoeUSB，會顯示指令用法：\nsudo ./woeusb-5.2.4.bash --help 接下來要真正開始寫入。例如下載目錄有Windows10.iso，要將其寫入到位於/dev/sdc的裝置： sudo ./woeusb-5.2.4.bash --device \u0026#34;Windows10.iso\u0026#34; /dev/sdc 之後就會開始寫入，大約要10分鐘左右。 寫入完成後就可以拔掉隨身碟，拿去其他電腦開機了。 ","date":"2022年8月1日","externalUrl":null,"permalink":"/posts/woeusb-bootable-windows-usb/","section":"所有文章","summary":"提示：您可以改用Ventoy製作能開機又能放資料的隨身碟，泛用性較強。\n一般來說，Windows的開機隨身碟會使用微軟官方工具或Rufus這類專門的程式製作。那麼有沒有可能在Linux系統上製作Windows開機隨身碟呢？\n因為過程複雜，就有人開發了叫做「WoeUSB」的Bash指令稿，它可以將Windows的ISO寫入到USB隨身碟，支援Windows Vista以後的系統，並且相容傳統BIOS和UEFI。\n下面以Ubuntu製作Windows 10開機隨身碟為例，請準備至少8GB的隨身碟。\n到微軟官網下載Windows 10 ISO，約5GB。\n安裝依賴套件，像Ubuntu的話請安裝：\nsudo apt install git p7zip-full python3-pip python3-wxgtk4.0 grub2-common grub-pc-bin wimtools 隨身碟插到電腦，用lsblk指令確認掛載位置，例如我的8GB隨身碟路徑是/dev/sdc，已被系統掛載到/run/media/ivon/Toshiba： ivon@Lk31cdk ~\u003e lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sdc 8:32 1 7.5G 0 disk /run/media/ivon/Toshiba 取消掛載，我們只需要記住前面的隨身碟路徑/dev/sdc就好。 umount /run/media/ivon/Toshiba 到Github Releases下載最新版WoeUSB的Bash指令稿。 在下載目錄開啟終端機，執行WoeUSB，會顯示指令用法：\nsudo ./woeusb-5.2.4.bash --help 接下來要真正開始寫入。例如下載目錄有Windows10.iso，要將其寫入到位於/dev/sdc的裝置： sudo ./woeusb-5.2.4.bash --device \"Windows10.iso\" /dev/sdc 之後就會開始寫入，大約要10分鐘左右。 ","title":"在Linux上用WoeUSB製作Windows開機隨身碟","type":"posts"},{"content":"本文簡述如何自行修改Android kernel，開啟特定的功能，再重新編譯檔案，將其刷入手機。\n不同廠牌手機的作法不一樣，本文以小米當例子，從原始碼樹外(out of source tree)編譯kernel。\n先從簡單的開始: 刷入自己修改過的kernel後，會在手機設定→關於→核心版本顯示自己的名字。 如果成功了，那麼就能更進一步去調kernel的功能，例如把docker要求的功能全部打開，就能在Android手機跑docker。\n1. 硬體需求 # 要刷kernel，手機必定已經解鎖bootloader。刷kernel不會重置手機資料，所以刷之前只要備份boot分區，避免卡開機。\n本文使用的手機是紅米Note 5 (whyred)，系統為LineageOS 18。\n編譯kernel需要一台x86-64位元的Linux電腦。我的電腦規格: Intel Core 2 Q9550 + 4GB DDR2 RAM。作業系統為Lubuntu 20.04。\n2. 步驟概述 # 編譯kernel包含除錯可能會花至少一天的時間，修改程式需要對C語言有深入了解。由於每支手機kernel的編譯器和需要的patch不盡相同，在此只講最基礎的方法。\n首先下載kernel原始碼 → 設定交叉編譯器(在x86上編譯ARM) → 簡單加上名字後第一次編譯 → 刷入手機看功能正不正常 → 修改kernel功能 → 再次編譯 → 刷入到手機\n我們會在Linux電腦桌面建立一個叫做customkernel的目錄當作工作目錄。在第5步開始編譯前裡面大概長這樣: 接著安裝以下套件\nsudo apt update sudo apt install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev \\ gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev \\ x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev \\ libxml2-utils xsltproc unzip bc 3. 取得kernel原始碼 # 原廠的kernel或第三方kernel都可以，通常會把原始碼放在Github。\n這裡我以有很多額外功能的”RAD Kernel”專案做示範，這個專案程式碼問題比較少。\n到他們的Github，clone原始碼。\ngit clone https://github.com/radcolor/android_kernel_xiaomi_whyred.git 為了方便識別，將clone下來的目錄重新命名為”src”。\n4. 設定交叉編譯器 # 再次提醒：不同廠牌手機kernel使用的編譯器不見得相同，有些甚至要用舊版GCC才編譯的過。\n在Google改用Clang後，XDA仍有開發者持續提供最新版的GCC編譯器，也就是本文使用的\u0026quot;EVA GCC\u0026quot;。\n到XDA下載ARM與ARM64的版本(點選direct download下載)\n將下載的arm版本解壓縮，命名為\u0026quot;tc32\u0026quot;。再將aarch64版本解壓縮，命名為\u0026quot;tc\u0026quot;。\n將這二個目錄移動到\u0026quot;customkernel\u0026quot;，到目前為止目錄長這樣，src是kerenl原始碼的目錄，tc和tc32則是剛剛下載的交叉編譯器。 5. 第一次測試編譯 # 進入src目錄，在這裡開啟終端機。先export環境變數，指向編譯器的所在位置: #以下分別對應tc和tc32所在的目錄，以及檔案名稱前綴 export CROSS_COMPILE=/home/ivon/Desktop/customkernel/tc/bin/aarch64-elf- export CROSS_COMPILE_ARM32=/home/ivon/Desktop/customkernel/tc32/bin/arm-eabi- export ARCH=arm64 清理kernel原始碼目錄 make clean make mrproper 按照機型_config檔案產生kernel設定檔，該檔案通常在arch/arm64/configs。 make whyred_defconfig #輸出: configuration written to .config 開啟src目錄的MakeFile，在EXTRAVERSION後面加入自己名字的字串: 接著開始編譯kernel。-j後面加的數字通常是CPU核心數的二倍。\nmake -j8 4核心的Intel Q9550編譯至少要20分鐘，若遇到error編譯器就會停下來，要去改程式碼、上網找patch，再重新make，編譯器會從上個中止的地方繼續。 編譯好的檔案位於arch/arm64/boot/，應該會有一個Image.gz-dtb的檔案。 接著要重新打包boot.img，把原廠的boot.img解開之後把我們做的kernel塞進去。先到XDA下載Linux版Android Image Kitchen (點選文中的AIK-Linux-v3.8-ALL.tar.gz附件)，解壓縮。\n手機進入TWRP → Advanced → Terminal，使用dd指令從手機提取原廠的boot.img。\ndd if=/dev/block/bootdevice/by-name/boot of=/sdcard/stockboot.img 把這個原廠的stockboot.img檔案傳輸到電腦，放到AIK的工作目錄，並將剛剛編譯的Image.gz-dtb也放到這個目錄。 在AIK目錄開啟終端機，使用指令解開stockboot.img(需要sudo)\n./unpackimg.sh stockboot.img 進入目錄split_img，把stockboot.img-kernel檔案替換成我們編譯好的Image.gz-dtb，檔名也改成stockboot.img-kernel。\n回到AIK目錄，重新打包:\n./repackimg.sh 應該會得到一個image-new.img的檔案。 6. 刷入到手機 # 將新的image-new.img傳輸到手機，用TWRP點選Install Image，刷入到boot分區。\n接著就是看看能不能開機了…若卡開機，還原TWRP的boot分區備份，繼續在電腦上debug吧…\n7. menuconfig開關kernel功能 # 如果前六個步驟成功完成，那就來真正修改kernel吧。\n在src目錄開啟終端機，輸入指令開啟kconfig選單，用於開關kernel的功能。 make menuconfig 使用鍵盤上下和Enter進入子選項。找到要開啟的項目按下y，然後用鍵盤左右鍵移動到Save儲存設定值。 改好後切換到Exit退出，寫入變更，再次開始編譯kernel:\nmake -j8 接著重複第5步的步驟，編譯成功後把kernel打包，刷到手機測試。 8. 參考資料 # 感謝fossfrog的影片清楚地解釋如何製作kernel：Build Your Own Android Custom Kernel | fossfrog\n這篇文章有講解LineageOS編譯kernel的注意事項：Building LineageOS kernel trees from source\n","date":"2022年7月30日","externalUrl":null,"permalink":"/posts/how-to-compile-custom-android-kernel/","section":"所有文章","summary":"本文簡述如何自行修改Android kernel，開啟特定的功能，再重新編譯檔案，將其刷入手機。\n不同廠牌手機的作法不一樣，本文以小米當例子，從原始碼樹外(out of source tree)編譯kernel。\n先從簡單的開始: 刷入自己修改過的kernel後，會在手機設定→關於→核心版本顯示自己的名字。 如果成功了，那麼就能更進一步去調kernel的功能，例如把docker要求的功能全部打開，就能在Android手機跑docker。\n1. 硬體需求 # 要刷kernel，手機必定已經解鎖bootloader。刷kernel不會重置手機資料，所以刷之前只要備份boot分區，避免卡開機。\n本文使用的手機是紅米Note 5 (whyred)，系統為LineageOS 18。\n編譯kernel需要一台x86-64位元的Linux電腦。我的電腦規格: Intel Core 2 Q9550 + 4GB DDR2 RAM。作業系統為Lubuntu 20.04。\n2. 步驟概述 # 編譯kernel包含除錯可能會花至少一天的時間，修改程式需要對C語言有深入了解。由於每支手機kernel的編譯器和需要的patch不盡相同，在此只講最基礎的方法。\n首先下載kernel原始碼 → 設定交叉編譯器(在x86上編譯ARM) → 簡單加上名字後第一次編譯 → 刷入手機看功能正不正常 → 修改kernel功能 → 再次編譯 → 刷入到手機\n","title":"獨立編譯Android kernel(核心)，以小米手機為例","type":"posts"},{"content":" Termuxは\u0026quot;Termux:GUI\u0026quot;プラグインを通じてAndroidコンポーネントを呼び出し、グラフィカルインターフェースを表示できる。\n注: この記事で扱うのはTermux GUIが提供するPython data bindingだ。X11のグラフィカル画面を動かしたい場合はTermux X11を参照してほしい。\nPythonまたはC言語のdata-bindingでGUIを書ける。作者は多くのメソッドを提供しており、短いコードでインターフェースを作成できる。 1. Termux:GUIをインストール # F-DroidからTermux:GUIをダウンロードしてインストールする。\nTermuxを開き、python-bindingをインストールする\npip install termuxgui 2. サンプルプログラム # Termuxにtermux-gui-packageパッケージをインストールする pkg install termux-gui-package ダウンロードしたscriptsディレクトリへ移動する。中のファイルは直接実行できる。例えば、以下のプログラムはファイルブラウザを開く: termux-gui-files あるいは、自分でpythonプログラムを書いてもよい: import termuxgui as tg import sys import time with tg.Connection() as c: name = sys.argv a = tg.Activity(c,dialog=True) layout = tg.LinearLayout(a) if len(name) == 1: tv = tg.TextView(a, \u0026#34;Hello Anonymous\u0026#34;) else: tv = tg.TextView(a, \u0026#34;Hello \u0026#34;+name[1]) time.sleep(5) python hello.py Ivonを実行すると、結果は次のようになる: 3. 参考資料 # Python Bindings Tutorial Github上の説明ドキュメント ","date":"2022年7月30日","externalUrl":null,"permalink":"/ja-jp/posts/termux-python-data-binding/","section":"Termux-Tutorials","summary":" Termuxは\"Termux:GUI\"プラグインを通じてAndroidコンポーネントを呼び出し、グラフィカルインターフェースを表示できる。\n注: この記事で扱うのはTermux GUIが提供するPython data bindingだ。X11のグラフィカル画面を動かしたい場合はTermux X11を参照してほしい。\nPythonまたはC言語のdata-bindingでGUIを書ける。作者は多くのメソッドを提供しており、短いコードでインターフェースを作成できる。 1. Termux:GUIをインストール # F-DroidからTermux:GUIをダウンロードしてインストールする。\nTermuxを開き、python-bindingをインストールする\npip install termuxgui 2. サンプルプログラム # Termuxにtermux-gui-packageパッケージをインストールする pkg install termux-gui-package ダウンロードしたscriptsディレクトリへ移動する。中のファイルは直接実行できる。例えば、以下のプログラムはファイルブラウザを開く: termux-gui-files あるいは、自分でpythonプログラムを書いてもよい: import termuxgui as tg import sys import time with tg.Connection() as c: name = sys.argv a = tg.Activity(c,dialog=True) layout = tg.LinearLayout(a) if len(name) == 1: tv = tg.TextView(a, \"Hello Anonymous\") else: tv = tg.TextView(a, \"Hello \"+name[1]) time.sleep(5) python hello.py Ivonを実行すると、結果は次のようになる: 3. 参考資料 # Python Bindings Tutorial Github上の説明ドキュメント ","title":"Termux GUI: PythonでTermuxのグラフィカルプログラムを書く ","type":"termux-tutorials"},{"content":" TermuxでProotディストリビューションを自力で入れようとすると、いつもいろいろな問題にぶつかるだろうか。Andronixは手軽にインストールできるディストリビューション環境を提供しており、音声やグラフィックの設定をワンタップで片付けられる。もっと品質を求めるなら、調整済みの有料版を購入することもできる。\nAndronixは実際には補助アプリだ。ガイド付きの画面でユーザーにインストールしたいLinuxディストリビューションを選ばせ、そこで提供されるコマンドやワンクリックインストールスクリプトをTermuxへコピー\u0026amp;ペーストして実行する。売りは、すぐ使えることだ。 1. ダウンロードとインストール # Andronixをダウンロードする。このAPPにはProotディストリビューションのインストールを案内するグラフィカル画面がある。必要な項目を選んだ後、生成されたコマンドをTermuxへ貼り付けると、スクリプトが自動で実行され、対応するディストリビューション+デスクトップ環境がインストールされる。 無料スクリプト以外に、Andronixは改造済みLinuxディストリビューション（Modded OS）も販売している。約100台湾ドルで購入でき、インストールスクリプトが音声出力とグラフィックの問題を自動で解決し、見た目のよいデスクトップも付いてくる。購入にはAndronixアカウントの登録が必要だ。\n購入画面。支払いはGoogle Playで行うが、購入ライセンスはAndronixアカウントに紐づく。 Proceedを押すとURLとコマンドのセットが表示される。それをTermuxへ貼り付けてEnterを押すと、自動でダウンロードとインストールが始まる。例えば私はUbuntu 20.04 + XFCEを購入した。 スクリプトの実行が終わったら、Termuxで次を実行する:\n./start-andronix.sh 続いてタイムゾーン、キーボードレイアウト、ユーザーアカウントを設定する。以後もこのスクリプトで起動する。\nその後、コマンドでvncserverを起動すれば、VNC Viewerでデスクトップに入れる:\nvncserver Prootはログアウトすることしかできない。Termuxでlogoutコマンドを入力してProotを閉じる。 2. 使用感 # XFCEデスクトップはかなり深くカスタマイズされており、ChromiumとFirefoxの2つのブラウザがプリインストールされている。 LibreOffice、GIMP、VS Code OSSもあり、blenderなど他のウィンドウアプリも正常に起動できる。 Pulse Audioの音声出力とOpen GL（ハードウェアアクセラレーションなし）に対応している。 中国語フォント（Google Noto Sans）をインストールする\nsudo apt-get install language-pack-zh* fonts-noto-cjk ","date":"2022年7月29日","externalUrl":null,"permalink":"/ja-jp/posts/andronix-proot-distro/","section":"Termux-Tutorials","summary":" TermuxでProotディストリビューションを自力で入れようとすると、いつもいろいろな問題にぶつかるだろうか。Andronixは手軽にインストールできるディストリビューション環境を提供しており、音声やグラフィックの設定をワンタップで片付けられる。もっと品質を求めるなら、調整済みの有料版を購入することもできる。\nAndronixは実際には補助アプリだ。ガイド付きの画面でユーザーにインストールしたいLinuxディストリビューションを選ばせ、そこで提供されるコマンドやワンクリックインストールスクリプトをTermuxへコピー\u0026ペーストして実行する。売りは、すぐ使えることだ。 1. ダウンロードとインストール # Andronixをダウンロードする。このAPPにはProotディストリビューションのインストールを案内するグラフィカル画面がある。必要な項目を選んだ後、生成されたコマンドをTermuxへ貼り付けると、スクリプトが自動で実行され、対応するディストリビューション+デスクトップ環境がインストールされる。 無料スクリプト以外に、Andronixは改造済みLinuxディストリビューション（Modded OS）も販売している。約100台湾ドルで購入でき、インストールスクリプトが音声出力とグラフィックの問題を自動で解決し、見た目のよいデスクトップも付いてくる。購入にはAndronixアカウントの登録が必要だ。\n購入画面。支払いはGoogle Playで行うが、購入ライセンスはAndronixアカウントに紐づく。 Proceedを押すとURLとコマンドのセットが表示される。それをTermuxへ貼り付けてEnterを押すと、自動でダウンロードとインストールが始まる。例えば私はUbuntu 20.04 + XFCEを購入した。 スクリプトの実行が終わったら、Termuxで次を実行する:\n","title":"Andronix: 機能がそろったProot Ubuntuを素早くインストール","type":"termux-tutorials"},{"content":"","date":"2022年7月28日","externalUrl":null,"permalink":"/tags/minecraft-server/","section":"標籤","summary":"","title":"Minecraft Server","type":"tags"},{"content":"這個Minecraft多人連線方式是使用 ZeroTier取代Hamachi。\n影片版教學\n1. ZeroTier簡介 # ZeroTier能建立虛擬區域網路，這樣就可從外部網路存取家中的NAS，也可以用於區域網路的遊戲連線。這一過程稱之為內網穿透，成功建立P2P連線後延遲會低很多。\n為什麼選擇ZeroTier？因為ZeroTier程式跨平台，免費版上限人數10人。還可以手動管理欲加入此網路的用戶，防止陌生人跑進來。\n另外，ZeroTier程式碼是開源的，所以ZeroTier服務可以自己架。\n2. ZeroTier與Minecraft Java版 # 就Minecraft Java版來說，Zerotier主要是配合「公開至區域網」使用， 也就是一個人進入世界開服，然後邀請其他人加入多人連線。\n亦可配合Java版的官方開伺服器程式，免設定通訊埠轉發(port forwarding)，透過ZeroTier就可以讓大家連線到你在自己家電腦架設的伺服器。\nP.S. 基岩版多人連線請參考： Minecraft基岩版多人連線教學: 方法一覽\n3. 使用ZeroTier開始多人遊戲 # 開服的人設定ZeroTier，到官網右上角點選Sign Up註冊一個帳號 到ZeroTier Central點選Create A Network建立一個虛擬區域網路 點進去ZeroTier的虛擬區域網路後台，給這個網路取個名字，然後把「Network ID」分享給其他玩家。這個界面先不要關掉。 在所有人的電腦上安裝ZeroTier客戶端：下載Zerotier Windows直接下載exe安裝，Linux只有命令行界面請參考這裡\n開服的人執行ZeroTier，Windows按系統匣右下角Join New Netowrk，輸入Network ID，連上剛剛建立的虛擬區域網路。 重新載入ZeroTier的虛擬區域網路後台，會看到你的電腦出現在「Members」列表中。在左邊的「Auth」欄位打勾，代表同意該電腦加入這個網路。此外按下刪除鍵可以刪除該電腦。為了方便辨識，可以給該電腦取名字。 旁邊這個四位數字是在打勾後，你的電腦在ZeroTier網路下分配到的虛擬區域IP，將這個IP分享給要連進來的玩家。 其他要連線進來的玩家，也要執行上面 3 ~ 6步驟，在電腦上執行ZeroTier客戶端，並加入開服玩家提供的Network ID。\n開服的人刷新ZeroTier的虛擬區域網路後台，會看到其他人的電腦，按下打勾同意加入。這邊另外取個名字，表示這是別人的電腦。 接著開服的人關閉電腦防火牆。為安全起見，Windows僅需關閉「私人網路防火牆」。 進入Minecraft世界，在設定界面點選「公開至區域網」。記下聊天欄顯示開放的通訊埠 (每次都會變)。 然後其他人在Minecraft多人連線界面點選「直接連線」，輸入「開服的人虛擬IP」 ＋「:」＋「通訊埠」就可以連線了。 不使用ZeroTier的時候記得取消連線。 ","date":"2022年7月28日","externalUrl":null,"permalink":"/posts/minecraft-java-multiplayer-zerotier/","section":"Minecrafts","summary":"這個Minecraft多人連線方式是使用 ZeroTier取代Hamachi。\n影片版教學\n1. ZeroTier簡介 # ZeroTier能建立虛擬區域網路，這樣就可從外部網路存取家中的NAS，也可以用於區域網路的遊戲連線。這一過程稱之為內網穿透，成功建立P2P連線後延遲會低很多。\n為什麼選擇ZeroTier？因為ZeroTier程式跨平台，免費版上限人數10人。還可以手動管理欲加入此網路的用戶，防止陌生人跑進來。\n另外，ZeroTier程式碼是開源的，所以ZeroTier服務可以自己架。\n2. ZeroTier與Minecraft Java版 # 就Minecraft Java版來說，Zerotier主要是配合「公開至區域網」使用， 也就是一個人進入世界開服，然後邀請其他人加入多人連線。\n亦可配合Java版的官方開伺服器程式，免設定通訊埠轉發(port forwarding)，透過ZeroTier就可以讓大家連線到你在自己家電腦架設的伺服器。\nP.S. 基岩版多人連線請參考： Minecraft基岩版多人連線教學: 方法一覽\n3. 使用ZeroTier開始多人遊戲 # 開服的人設定ZeroTier，到官網右上角點選Sign Up註冊一個帳號 ","title":"使用ZeroTier進行Java版區域多人連線","type":"minecraft"},{"content":" Termuxの端末はAndroidの内部ストレージにアクセスできます。ただし、そこに置いたプログラムを直接実行することはできないので、先にTermuxのホームディレクトリへ移動する必要があります。\nでは逆に、Termuxのホームディレクトリへアクセスしたい場合はどうするのでしょうか？Android 11以降では、ファイルマネージャーからTermuxのホームディレクトリが見えなくなります。この場合は「外部ストレージを追加」する方法で、スマホのファイルマネージャーからTermuxホームディレクトリ内のファイルにアクセスできます。\n以下で扱うのはTermuxのホームディレクトリです。Proot-distroなど、Termux内部のファイルにアクセスしたい場合はRoot権限が必要です。\nTermuxの内部ファイルは/data/data/com.termuxにあります。詳しくはこちら：Termuxのファイル管理について\n1. TermuxからAndroidスマホの内部ストレージにアクセスする # Termuxを開き、以下のコマンドを実行します： termux-setup-storage ダイアログが表示されます。スマホの内部ストレージへのアクセスを許可すると、Termuxはスマホの内部ストレージをstorageディレクトリにbind mountします。storageの下にはよく使うディレクトリがいくつかあり、例えばdownloadsはスマホのダウンロードディレクトリです。一方、sharedはスマホの内部ストレージ全体を指します。\n例：スマホのダウンロードディレクトリにあるfoo.shをTermuxのホームディレクトリへ移動します：\nmv storage/shared/downloads/foo.sh ~ 2. スマホのファイルマネージャーからTermuxのホームディレクトリにアクセスする # F-DroidからMaterial Filesをダウンロードします。\n開いたら左側のサイドバーをタップし、ストレージを追加して、外部ストレージを追加します。 スマホ標準のファイルピッカーが表示されます。左側のサイドバーでTermuxを選び、「このフォルダを使用」をタップします。 これでサイドバーに「termux」のショートカットが追加されます。以後はこのショートカットからTermuxのディレクトリへ自由にアクセスできます。\n","date":"2022年7月26日","externalUrl":null,"permalink":"/ja-jp/posts/access-termux-directory/","section":"Termux-Tutorials","summary":" Termuxの端末はAndroidの内部ストレージにアクセスできます。ただし、そこに置いたプログラムを直接実行することはできないので、先にTermuxのホームディレクトリへ移動する必要があります。\nでは逆に、Termuxのホームディレクトリへアクセスしたい場合はどうするのでしょうか？Android 11以降では、ファイルマネージャーからTermuxのホームディレクトリが見えなくなります。この場合は「外部ストレージを追加」する方法で、スマホのファイルマネージャーからTermuxホームディレクトリ内のファイルにアクセスできます。\n以下で扱うのはTermuxのホームディレクトリです。Proot-distroなど、Termux内部のファイルにアクセスしたい場合はRoot権限が必要です。\nTermuxの内部ファイルは/data/data/com.termuxにあります。詳しくはこちら：Termuxのファイル管理について\n1. TermuxからAndroidスマホの内部ストレージにアクセスする # Termuxを開き、以下のコマンドを実行します： termux-setup-storage ダイアログが表示されます。スマホの内部ストレージへのアクセスを許可すると、Termuxはスマホの内部ストレージをstorageディレクトリにbind mountします。storageの下にはよく使うディレクトリがいくつかあり、例えばdownloadsはスマホのダウンロードディレクトリです。一方、sharedはスマホの内部ストレージ全体を指します。\n","title":"スマホのファイルマネージャーからTermuxの内部ディレクトリにアクセスする方法","type":"termux-tutorials"},{"content":"Ubuntu Studio是專為創作者設計的Linux發行版，基於Ubuntu LTS開發，跟原版Ubuntu系統差不多，軟體庫也是通用的。預設桌面環境為KDE，強調開箱即用。 面向的是懂得操作開源的音訊、剪輯、修圖、建模軟體的用戶。\n安裝後系統會內建大量開源免費的創作軟體。之後可透過Ubuntu軟體套件庫安裝更多軟體。\n類別 列表 音訊編輯 Ardour、Carla、Audacity、Qtractor、Hydrogen、Yoshimi 影像處理 Blender、Inkscape、GIMP、PikoPixel、 Krita、MyPaint、LibreOffice Draw、Synfig Studio 攝影修圖 Darktable、Shotwell、digiKam 影片剪輯 Openshot、Kdenlive、OBS Studio 從技術層面來說，Ubuntu Studio使用JACK音訊伺服器，運作接近系統核心，音訊延遲比一般Ubuntu使用的PulseAudio還要低；此外圖形方面的問題也盡量幫使用者預先處理好。\n因此系統要求比較高級，官方建議電腦CPU為Intel I5以上等級、有8GB以上RAM、64GB以上的硬碟再來安裝。\n1. 安裝到電腦 # 在實際安裝Ubuntu Studio前，可以先用LiveUSB開機，看看系統有沒有自動抓到顯示卡、網卡，測試之後再正式安裝到硬碟。\n到官網下載ISO，目前最新版本是22.04。\n下載ISO檔之後，檢查檔案完整性防止檔案毀損。再使用Ventoy製作開機隨身碟。\n進入電腦BIOS，設定隨身碟開機。 開機後等個一分鐘載入系統。\n系統載入後，可以先按右上角開啟應用程式選單，試用內建的應用程式。 點左上角試試Wifi是否能正常運作。 測試完成後，點選桌面的「Install Ubuntu Studio」圖示。建議安裝的時候連上網路。 開始安裝，語言選擇繁體中文 選擇地區 選擇鍵盤布局，維持預設。 選擇抹除整個磁碟資料，並安裝Ubuntu Studio 建立本機使用者帳號。 開始安裝。 安裝完成，點選重新啟動。 拔掉隨身碟後按下Enter，電腦會自動重啟。 2. 安裝軟體 \u0026amp; 更新系統 # 使用Ubuntu Studio還是免不了要用到終端機指令。\n開機後進入桌面，連上Wifi或有線網路，開啟瀏覽器，測試網路連線是否正常。\n按一下左上角的圖示開啟系統匣，點選Konsole終端機。 接下來用以下指令更新系統軟體套件至最新版，更新後重開機。\nsudo apt update #執行sudo指令需要輸入密碼 sudo apt upgrade #輸入Y更新套件 除了指令外，Ubuntu Studio內建的軟體商店\u0026quot;Discover\u0026quot;也可以直接下載軟體。要安裝其他軟體請參閱網路上Ubuntu的教學。 3. Ubuntu安裝中文輸入法 # Ubuntu Studio 22.04目前只有內建Fcitx + 簡體拼音。在此我們安裝最新的Fcitx5 + 新酷音輸入法。\n開啟終端機，執行以下指令安裝新酷音注音輸入法： sudo apt install fcitx5 fcitx5-chewing 重開機，在右上角的鍵盤圖示按右鍵會顯示「新酷音輸入法」。如果沒有就點選「設定」，在列表中加入注音輸入法。 打字時按CTRL + 空白鍵切換中英輸入法。\n4. Ubuntu安裝Nvidia驅動 # 如果電腦有Nvidia獨顯，最好檢查有無安裝Nvidia閉源驅動，因為開源的很容易出問題。如果以下指令顯示找不到指令，那代表沒安裝。 nvidia-smi 用以下指令讓Ubuntu自動選擇適合的Nvidia驅動安裝： sudo ubuntu-drivers autoinstall 再度執行nvidia-smi應該就會印出Nvidia顯卡資訊： 備註：同時有內顯獨顯的筆電，要透過Prime技術，切換成Nvidia顯卡擔當顯示任務：\n#選擇Nvidia顯卡 sudo prime-select nvidia #切換回Intel內顯 sudo prime-select intel 重開機，用此指令確認目前使用的顯示卡。\n~$ sudo prime-select query nvidia 5. 延伸閱讀 # Ubuntu Studio官方說明文件 ","date":"2022年7月25日","externalUrl":null,"permalink":"/posts/install-ubuntu-studio/","section":"所有文章","summary":"Ubuntu Studio是專為創作者設計的Linux發行版，基於Ubuntu LTS開發，跟原版Ubuntu系統差不多，軟體庫也是通用的。預設桌面環境為KDE，強調開箱即用。 面向的是懂得操作開源的音訊、剪輯、修圖、建模軟體的用戶。\n安裝後系統會內建大量開源免費的創作軟體。之後可透過Ubuntu軟體套件庫安裝更多軟體。\n類別 列表 音訊編輯 Ardour、Carla、Audacity、Qtractor、Hydrogen、Yoshimi 影像處理 Blender、Inkscape、GIMP、PikoPixel、 Krita、MyPaint、LibreOffice Draw、Synfig Studio 攝影修圖 Darktable、Shotwell、digiKam 影片剪輯 Openshot、Kdenlive、OBS Studio 從技術層面來說，Ubuntu Studio使用JACK音訊伺服器，運作接近系統核心，音訊延遲比一般Ubuntu使用的PulseAudio還要低；此外圖形方面的問題也盡量幫使用者預先處理好。\n因此系統要求比較高級，官方建議電腦CPU為Intel I5以上等級、有8GB以上RAM、64GB以上的硬碟再來安裝。\n1. 安裝到電腦 # 在實際安裝Ubuntu Studio前，可以先用LiveUSB開機，看看系統有沒有自動抓到顯示卡、網卡，測試之後再正式安裝到硬碟。\n","title":"Ubuntu Studio安裝教學，適合影音創作的Linux發行版","type":"posts"},{"content":" ここではTermuxでよくあるインストール関連のエラーをまとめる。\nまず知っておくべきこととして、Termux作者はすでにGithubで、Google Play版はGoogleのポリシーによるAPI制限のため更新されなくなったと述べている。そのため、最新版はオープンソースアプリストアのF-Droidからダウンロードすること。\nそれでも問題が残る場合は、以下を読む。\n1. アプリがインストールされない # Termux系列のAPPは、すべて同じ入手元からインストールする必要がある。そうしないと署名の衝突が発生する。\n例: F-DroidからTermuxをインストールした場合、他のTermux系列APPもF-droidからだけダウンロードし、GithubやGoogle Playからはダウンロードしない。\n異なる入手元からTermuxをインストールすると、pkgによるパッケージ更新にも失敗する。\nTermux安定版のダウンロードはこちら: F-Droid\nTermuxテスト版はこちら: Github Workflows\n2. pkgを更新できない # pkg updateを実行して次のエラーメッセージが出る場合: N: Metadata integrity can t be verified, repository is disabled now. N: Possible cause: repository is under maintenance or down (wrong sources.list URL?).\nまず、スマホ上のTermux系列APPがすべて同じ入手元（例:F-Droid）からダウンロードされているか確認する。なお、一部のプラグイン型Termux APPはスマホのホーム画面のアプリ一覧に表示されない。\n次に、ソフトウェアリポジトリの変更を試す。以下のコマンドを実行し、一覧からGithubまたは中国の清華大学ミラーを選んでから、もう一度更新してみる。\ntermux-change-repo 3. Termuxがクラッシュする # Android 12以上の端末でTermuxからProot Linuxを動かすと、システムにプロセスを強制終了され、次のメッセージが表示されることがある: [Process completed (signal 9) - press Enter]\nPhantom Processes Killingを無効化して解決する。\n","date":"2022年7月25日","externalUrl":null,"permalink":"/ja-jp/posts/termux-errors/","section":"Termux-Tutorials","summary":" ここではTermuxでよくあるインストール関連のエラーをまとめる。\nまず知っておくべきこととして、Termux作者はすでにGithubで、Google Play版はGoogleのポリシーによるAPI制限のため更新されなくなったと述べている。そのため、最新版はオープンソースアプリストアのF-Droidからダウンロードすること。\nそれでも問題が残る場合は、以下を読む。\n1. アプリがインストールされない # Termux系列のAPPは、すべて同じ入手元からインストールする必要がある。そうしないと署名の衝突が発生する。\n例: F-DroidからTermuxをインストールした場合、他のTermux系列APPもF-droidからだけダウンロードし、GithubやGoogle Playからはダウンロードしない。\n異なる入手元からTermuxをインストールすると、pkgによるパッケージ更新にも失敗する。\nTermux安定版のダウンロードはこちら: F-Droid\nTermuxテスト版はこちら: Github Workflows\n2. pkgを更新できない # pkg updateを実行して次のエラーメッセージが出る場合: N: Metadata integrity can t be verified, repository is disabled now. N: Possible cause: repository is under maintenance or down (wrong sources.list URL?).\n","title":"Termuxでよくあるインストールできないエラーの解決方法 ","type":"termux-tutorials"},{"content":"ChromeOS是Google推出的開源作業系統，主要設計給性能老舊的筆電使用，稱為Chromebook。自從Neverware CloudReady被Google收購後，Google便釋出可以給任何裝置安裝的「ChromeOS Flex」。\nChromeOS Flex功能參照Google的說明，大致上是ChromeOS的精簡版：不支援Android APP、只支援x86架構的電腦、有Linux容器可選用。\n由於Google並無直接提供ISO，安裝虛擬機有點技巧，我們得直接讓虛擬機從實體隨身碟開機。\n下面教學如何在Linux的Virt Manager以QEMU-KVM安裝ChromeOS Flex虛擬機。\n1. 製作開機隨身碟 # ChromeOS Flex的安裝程式只能透過Windows版的Google Chrome執行。用Chrome造訪Chromebook還原公用程式的下載頁面，安裝擴充元件。\n插入容量至少8GB的隨身碟，製作開機隨身碟，選擇型號為ChromeOS Flex。\n開始寫入。 2. 設定ChromeOS Flex虛擬機 # ChromeOS Flex的安裝嚮導十分簡單，大致上都是一直下一步就好了。\n在Linux電腦上，插入開機隨身碟，但是不要掛載。用lsblk確認隨身碟的裝置代號。\nVirt Manager點選新增虛擬機，機器類型選擇Generic Linux 2020，然後自訂硬體。\n新增SATA硬碟，編輯XML，修改dev編號為sdc：\n\u0026lt;disk type=\u0026#34;file\u0026#34; device=\u0026#34;disk\u0026#34;\u0026gt; \u0026lt;driver name=\u0026#34;qemu\u0026#34; type=\u0026#34;qcow2\u0026#34; discard=\u0026#34;unmap\u0026#34;/\u0026gt; \u0026lt;source file=\u0026#34;/var/lib/libvirt/images/chromeos.qcow2\u0026#34;/\u0026gt; \u0026lt;target dev=\u0026#34;sdc\u0026#34; bus=\u0026#34;sata\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;drive\u0026#34; controller=\u0026#34;0\u0026#34; bus=\u0026#34;0\u0026#34; target=\u0026#34;0\u0026#34; unit=\u0026#34;2\u0026#34;/\u0026gt; \u0026lt;/disk\u0026gt; 新增硬體CDROM，按下確定後編輯XML，加入以下內容把實體隨身碟(/dev/sdc)變成虛擬機的開機碟： \u0026lt;disk type=\u0026#34;block\u0026#34; device=\u0026#34;disk\u0026#34;\u0026gt; \u0026lt;driver name=\u0026#34;qemu\u0026#34; type=\u0026#34;raw\u0026#34;/\u0026gt; \u0026lt;source dev=\u0026#34;/dev/sdc\u0026#34;/\u0026gt; \u0026lt;target dev=\u0026#34;sda\u0026#34; bus=\u0026#34;sata\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;drive\u0026#34; controller=\u0026#34;0\u0026#34; bus=\u0026#34;0\u0026#34; target=\u0026#34;0\u0026#34; unit=\u0026#34;0\u0026#34;/\u0026gt; \u0026lt;/disk\u0026gt; 開機。如果開機後滑鼠看不到，點一下新增硬體，臨時插入一個USB滑鼠就可以解決。\n語言選擇中文，開始安裝ChromeOS Flex，一直下一步，載入需要一點時間。 安裝完成。讓Virt Manager強制關機，刪除隨身碟的硬體裝置。\n重開機進入系統需要登入Google帳號。\n之後就會進入桌面。鎖定畫面的解鎖密碼是Google帳號的密碼。 3. ChromeOS Flex的用途 # ChromeOS Flex啟動非常之快，虛擬機無硬體加速播放Youtube也是很流暢，雖然UI有點破圖。 ChromeOS Flex不提供Android APP，主要依賴Google提供的全家桶和Web APP。ChromeOS Flex尚有與Android手機同步的功能。\n這樣的話ChromeOS Flex就算安裝到實體機器，也只能上網看影片、簡單文書、視訊。看Google何時下放ChromeOS的所有功能。 不過在設定裡面可以啟用實驗性的Linux容器環境，預設是使用Debian 11，另外支援X Window。 ","date":"2022年7月24日","externalUrl":null,"permalink":"/posts/install-chromeos-flex-on-qemu/","section":"所有文章","summary":"ChromeOS是Google推出的開源作業系統，主要設計給性能老舊的筆電使用，稱為Chromebook。自從Neverware CloudReady被Google收購後，Google便釋出可以給任何裝置安裝的「ChromeOS Flex」。\nChromeOS Flex功能參照Google的說明，大致上是ChromeOS的精簡版：不支援Android APP、只支援x86架構的電腦、有Linux容器可選用。\n由於Google並無直接提供ISO，安裝虛擬機有點技巧，我們得直接讓虛擬機從實體隨身碟開機。\n下面教學如何在Linux的Virt Manager以QEMU-KVM安裝ChromeOS Flex虛擬機。\n1. 製作開機隨身碟 # ChromeOS Flex的安裝程式只能透過Windows版的Google Chrome執行。用Chrome造訪Chromebook還原公用程式的下載頁面，安裝擴充元件。\n插入容量至少8GB的隨身碟，製作開機隨身碟，選擇型號為ChromeOS Flex。\n開始寫入。 2. 設定ChromeOS Flex虛擬機 # ChromeOS Flex的安裝嚮導十分簡單，大致上都是一直下一步就好了。\n在Linux電腦上，插入開機隨身碟，但是不要掛載。用lsblk確認隨身碟的裝置代號。\nVirt Manager點選新增虛擬機，機器類型選擇Generic Linux 2020，然後自訂硬體。\n","title":"QEMU/KVM安裝ChromeOS Flex虛擬機","type":"posts"},{"content":"在各平台上寫文章，總要花時間排版︰如果要轉貼，更是惡夢。這個問題困擾人許久，直到遇見Markdown寫作。\n過去寫網誌文章的時候，常常是在網誌提供的後台撰文，之後像使用LibreOffice Writer那樣，把標題部份框起來\u0026hellip;.這邊粗體\u0026hellip;這邊加入超連結\u0026hellip;這邊紅字\u0026hellip;這邊插入表格，諸如此類的複雜操作。\n既然很多時候只是寫簡單的網誌，如果能在寫文章的時候就聲明好排版，還需要在那邊點來點去嗎？\n有時候要轉貼自己的文章，複製起來也很累人。\n所以學會了Markdown寫作。\n先談什麼是可見即所得編輯器，再簡介Markdown用途。\n1. 捨棄可見即所得編輯器 # 大部分網誌平台總是會有可見即所得編輯器。這很好，讓寫網誌的新手方便排版。\nBlogger的HTML做的不差，巴哈的BB Code不錯，知乎做的不差，痞客邦做的不差，Matters也不錯。就像在使用LibreOffice Writer寫文件一樣。 不過，要轉貼文章，可就是累人的事情。現在為了做好個人網站的宣傳工作，有時候會轉載一些文章到其他論壇來工商一下。\n有些網站連引用程式碼區塊的功能都沒有。並且後來棄用Blogger才發現，HTML不是保留文章原稿的好方法。一般文章的電子原稿用LibreOffice寫又有點太大費周章，直到發現Markdown。\n2. Markdown語法簡介 \u0026amp; Markdown寫作工具 # Markdown是排版標記語言，在寫文章的時候用符號標記，就能完成粗體、斜體、超連結、插入圖片、引用程式碼等簡易排版，詳情參考官網。\n例如在下面的文字中，插入了一條超連結:\nSLAT代表的是[中華民國軟體自由協會](https://slat.org)，致力於推廣自由軟體。 經過渲染後，變成這樣：\nSLAT代表的是中華民國軟體自由協會，致力於推廣自由軟體。\n如果要引用程式碼，只要加入三個「`」號把區塊框起來 (通常位於鍵盤Esc鍵的位置，下面的範例上下各少了一個點)：\n``bash git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke echo theme = \\\u0026#34;ananke\\\u0026#34; \u0026gt;\u0026gt; config.toml `` 經過渲染後，變成這樣。顏色是由渲染器決定。\ngit submodule add https://github.com/theNewDynamic/gohugo-theme-ananke.git themes/ananke echo theme = \\\u0026#34;ananke\\\u0026#34; \u0026gt;\u0026gt; config.toml 最方便的是，插入圖片只要使用驚嘆號開頭：\n![](https://i.imgur.com/gtOBIKz.png) 渲染器就會當成圖片渲染： 用這個語法撰寫文章，之後存檔成「.md」結尾的純文字檔案，可直接讀取，又可以被「渲染」成排版過的文件方便閱讀。此外，Markdown行句之間能混入HTML程式碼，補足Markdown語法的不足。\n所以Markdown用途廣泛，例如Github的Readme、Hackmd的協作文件等。Markdown尤其適合邊寫技術文章，邊引用大量程式碼。\nMarkdown用途偏簡單，更專業的標記語言還有LaTeX、Mermaid。Markdown則是在引入標記語法的同時又保持了一定可讀性。\n很多程式碼編輯器支援Markdown語法辨識，甚至有「可見即所得」的Markdown編輯器。然而我個人還是習慣直接寫，待閱讀成品再呼出預覽畫面查看，KDE Kate、VS Code支援這類操作，甚至可以嘗試用VIM來寫文章。Typora我不喜歡，因為它最大的缺點是非自由軟體。 將Markdown應用到寫網誌文章，就會變得很方便。有時候在外面記筆記、寫草稿的時候也會用Markdown寫。\n3. 靜態網站生成器 # 沒有要做大事業的，可以從靜態網頁開始建立個人網站，脫離網誌平台控制。\n常見的靜態網頁生成器有Jekyll、Hugo、Hexo。免費託管網站的平台有Github Pages、Gitlab Pages、Netlify、Neocities等，對想寫個人部落格的人來說很夠用了。\n靜態網頁要發文，就像寫程式一樣，使用者把文章以Markdown語法寫成「原始碼」，之後讓靜態網頁生成器「編譯」成一頁又一頁的HTML頁面。\n使用Markdown寫網誌就不用擔心日後要點點點，框文字排版，一切在寫的時候便決定好。要嵌入影片、調整圖片版面才會使用到HTML，具有靈活性。\n目前個人的工作鏈是將文章用Markdown寫好後，用Hugo生成網頁，將整份網站原始碼上傳到私有Github倉庫，再由Netlify自動部屬公開網頁。\n順帶一提，靜態網頁也含有渲染器的成份，決定了網站的外觀，所以選對主題很重要。\n4. 轉貼的問題 # 至此，Markdown成為我保留文章原稿的主要方式。\n但是轉貼到其他網站的問題解決了嗎？事實上還是沒完全解決。\n假設該網站文章編輯器能使用HTML或BB Code，那將Markdown轉檔並不是難事。例如Blogger、巴哈姆特、知乎、Reddit；Blogger懶人一點還可以安裝Markdown的parser。\n像Minetest中文論壇這類用Discourse架設的論壇更是對Markdown友好。 可是問題就在於大部分網站不是這樣，甚至不接受外連圖片，所以還是要重新排版和上傳圖片。\n不過至少文字部份，能直接開Markdown原始檔複製貼上純文字內容，不會複製到奇怪的HTML，用到的圖片網址也很好追蹤，Markdown能夠清楚呈現文章的原始架構。\n我寧願文章原始碼是以Markdown寫成，也不要轉載時得要去某某論壇區分文字和圖片，按下複製\u0026hellip;再慢慢把自己寫的鬼東西複製到其他網站上重新排版。\n但如果Markdown插入太多複雜HTML語法(縮排、表格之類的)，那Markdown其實也沒什麼好處。甚至Markdown語法畫的表格，為求方便也只能轉成圖片檔貼上。\n至於PTT這種純文字網站，就採用混合型手法：引用程式碼的時候用Markdown的語法框起來，逐漸成了習慣。 5. 總結 # Markdown可以做簡單排版，並且撰寫的時候可以大致控制輸出的樣貌，文章原始的基本架構一目了然，最適合的運用場景便是寫技術部落格的時候了吧。\n但Markdown不適合華麗複雜的網頁、文件。Markdown雖可以用來撰寫正文內容，但必要的時候HTML+JS+CSS還是得用上。\n","date":"2022年7月23日","externalUrl":null,"permalink":"/posts/why-should-you-use-markdown/","section":"Personals","summary":"在各平台上寫文章，總要花時間排版︰如果要轉貼，更是惡夢。這個問題困擾人許久，直到遇見Markdown寫作。\n過去寫網誌文章的時候，常常是在網誌提供的後台撰文，之後像使用LibreOffice Writer那樣，把標題部份框起來….這邊粗體…這邊加入超連結…這邊紅字…這邊插入表格，諸如此類的複雜操作。\n既然很多時候只是寫簡單的網誌，如果能在寫文章的時候就聲明好排版，還需要在那邊點來點去嗎？\n有時候要轉貼自己的文章，複製起來也很累人。\n所以學會了Markdown寫作。\n先談什麼是可見即所得編輯器，再簡介Markdown用途。\n1. 捨棄可見即所得編輯器 # 大部分網誌平台總是會有可見即所得編輯器。這很好，讓寫網誌的新手方便排版。\nBlogger的HTML做的不差，巴哈的BB Code不錯，知乎做的不差，痞客邦做的不差，Matters也不錯。就像在使用LibreOffice Writer寫文件一樣。 不過，要轉貼文章，可就是累人的事情。現在為了做好個人網站的宣傳工作，有時候會轉載一些文章到其他論壇來工商一下。\n有些網站連引用程式碼區塊的功能都沒有。並且後來棄用Blogger才發現，HTML不是保留文章原稿的好方法。一般文章的電子原稿用LibreOffice寫又有點太大費周章，直到發現Markdown。\n","title":"為何應該用Markdown寫網誌文章?","type":"personal"},{"content":"根據維基百科，1992年昇陽電腦 (Sun Microsystems) 以BSD Unix為基礎研發了Solaris作業系統，用在自家的商業伺服器上，之後昇陽以類似自由軟體的《CODL授權條款》釋出開源版本的openSolaris。\n2005年甲骨文 (Orcale) 收購昇陽電腦後便中止開發openSolaris，於是出現了社群主導的Illumos專案，繼續開發能跟商業版Solaris二進位相容的免費作業系統。\nopenIndiana就是illumos系統的發行版之一，提供圖形化安裝界面，開箱即用。 下面簡介虛擬機安裝openIndiana的過程，最新版代號為\u0026quot;hipster\u0026quot;。\n1. 安裝openIndiana # 從openIndiana官網下載Live DVD ISO。在Orcale VirtualBox建立虛擬機器，選擇Solaris 11作為設定檔，建立32GB硬碟。 開機後按下Enter，輸入7選擇繁體中文後Enter，之後會進入桌面。 點選桌面「安裝OpenIndiana」圖示，下一步， 勾選使用整個磁碟 選擇地區 設定語言 設定Root與使用者帳號資訊。 按下確定，開始安裝，安裝時可能需要網路下載套件。之後關機，移除安裝ISO重開機。 2. 軟體套件支援度 # openIndiana預設使用的檔案系統是「ZFS」，這也是Solaris的賣點之一。順帶一提，因ZFS的授權條款跟Linux核心不相容，所以Linux社群另外開發了Btrfs。\nopenIndiana預設桌面環境是MATE，內建明體以支援中文。這個風格的界面我第一時間想到的是熊貓論壇，不過MATE還是可以安裝主題的。 根據Orcale手冊，Orcale Solaris有內建中文輸入法。但是openIndiana就要自行下載，目前只有ibus框架的注音。\nopenIndiana使用PKG套件管理員，更新並安裝輸入法：\nsudo pkg update sudo pkg install libchewing 至於桌面軟體\u0026hellip;\n雖然有Firefox和GIMP\n但也就這樣了，跟FreeBSD比起來，會有更多東西要自己編譯移植。\n桌面環境基本上就MATE和GNOME\u0026hellip;缺乏KDE和XFCE的套件。\n主要還是偏向伺服器用途，openIndiana另外有支援Nvidia顯卡的驅動。\n延伸閱讀 # illuos官網 openIndiana說明文件 ","date":"2022年7月23日","externalUrl":null,"permalink":"/posts/install-openindiana/","section":"所有文章","summary":"根據維基百科，1992年昇陽電腦 (Sun Microsystems) 以BSD Unix為基礎研發了Solaris作業系統，用在自家的商業伺服器上，之後昇陽以類似自由軟體的《CODL授權條款》釋出開源版本的openSolaris。\n2005年甲骨文 (Orcale) 收購昇陽電腦後便中止開發openSolaris，於是出現了社群主導的Illumos專案，繼續開發能跟商業版Solaris二進位相容的免費作業系統。\nopenIndiana就是illumos系統的發行版之一，提供圖形化安裝界面，開箱即用。 下面簡介虛擬機安裝openIndiana的過程，最新版代號為\"hipster\"。\n1. 安裝openIndiana # 從openIndiana官網下載Live DVD ISO。在Orcale VirtualBox建立虛擬機器，選擇Solaris 11作為設定檔，建立32GB硬碟。 開機後按下Enter，輸入7選擇繁體中文後Enter，之後會進入桌面。 點選桌面「安裝OpenIndiana」圖示，下一步， 勾選使用整個磁碟 選擇地區 設定語言 設定Root與使用者帳號資訊。 按下確定，開始安裝，安裝時可能需要網路下載套件。之後關機，移除安裝ISO重開機。 ","title":"免費版Solaris：openIndiana系統安裝與實測","type":"posts"},{"content":" TermuxのQEMUパッケージを使うと、Androidスマホ上でエミュレーターを実行し、WindowsやLinuxなどx86アーキテクチャ向けの完全なPC用OSをエミュレートできます。Root権限は不要で、効果はLimbo PC Emulatorと同等です。\nこの記事では、Termuxを使ってAndroidスマホにWindows 7をインストールする方法を紹介します。スマホに32GBの空き容量が必要なだけでなく、忍耐も必要です。 なぜWindows 7を選ぶのでしょうか。Windows XPほど古すぎず、Windows 10ほどリソースを食わないからです。QEMU自体がひどく遅い環境では、Windows 7の性能がなんとか許容範囲に入ります。\nインストール後の使用感は記事の最後を参照してください。\n1. ハードウェア要件 # プロセッサ：Qualcomm Snapdragon 845以上\nRAM：最低4GB\nストレージ容量：最低32GB\n執筆時点で私が使用したスマホはSony Xperia 5 II、システムはAndroid 12です。\n2. 事前依存項目を準備する # Termuxをインストールし、スマホのストレージへアクセスする権限を設定します。\nVNC Viewerをインストールします。\nWindows 7インストールディスクのISOをダウンロードします。64ビット版を選んでください。現在Microsoft公式サイトではダウンロードリンクが削除されているので、自分で海賊版を探してください。\nTermuxにストレージアクセス権限を設定済みであれば、後で直接マウントできます。たとえばISOファイルがスマホ内部ストレージの/Download/windows7.isoにある場合、Termux内のパスは次のようになります。\nstorage/shared/Download/windows7.iso TermuxにQEMUパッケージをインストールします pkg update pkg install qemu-utils qemu-system-x86_64 ファイルを保存するwin7ディレクトリを作成します mkdir win7 cd win7 32GBの仮想ハードディスクを作成します qemu-img create -f qcow2 win7.qcow2 32G vim runwin7.shコマンドで起動スクリプトを作成し、以下の内容を入力してから:wq!を入力して保存します qemu-system-x86_64 -machine q35 -m 4096 -smp sockets=1,cores=4,threads=1 -cpu qemu64 \\ -accel tcg,thread=multi \\ -hda win7.qcow2 \\ -vga std \\ -netdev user,id=n1 -device e1000,netdev=n1 \\ -device AC97 \\ -usbdevice tablet \\ -vnc :0 \\ -cdrom ../storage/shared/Download/windows7.iso 3. システムのインストールを開始する # 起動スクリプトを実行します chmod +x runwin7.sh ./runwin7.sh 通知欄を下へスワイプし、TermuxでAcquire Wakelockをタップしてバックグラウンドで終了されるのを防ぎます。\nVNC Viewerを開いて新しい接続を追加し、localhost:1を入力してエミュレーター画面に接続します。 起動後、読み込みに5分ほど待ってから、画面の指示に従ってWindows 7をインストールします。およそ1時間かかります。 インストールで再起動が必要になった場合は、VNC Viewerを終了してTermuxへ戻ります。\nCTRL+Zを押してQEMUを終了し、起動スクリプトを修正してcdromのパラメータを削除してから保存します。\nqemu-system-x86_64 -machine q35 -m 4096 -smp sockets=1,cores=4,threads=1 -cpu qemu64 \\ -accel tcg,thread=multi \\ -had win7.qcow2 \\ -vga std \\ -netdev user,id=n1 -device e1000,netdev=n1 \\ -device AC97 \\ -usbdevice tablet \\ -vnc :0 Termuxを開き直し、スクリプトを再実行します。VNC Viewerを開いてインストールを続行します。 4. 実際の使用感 # 使ってみると本当にスライドショーのようです。インストール後、デスクトップへ起動するだけで少なくとも1分かかります。\nFirefoxを開くのに2分、Wikipediaページの読み込みに3分かかります。 動画を見るとさらに実感できます。\nAndroid上のQEMUは純粋なソフトウェアエミュレーションで、KVMアクセラレーション技術は一切ありません。ゲームを遊ぶことは期待しないでください。\nスマホのARM CPUでx86をクロスアーキテクチャエミュレーションしており、AndroidスマホもKVMに対応していません。こうした損失が重なるため、Qualcomm s800シリーズのプロセッサであっても性能は大したことがありません。さらに、アプリケーション側も3Dハードウェアアクセラレーションを得るのは困難です。\nただし、このqcow2仮想ハードディスクはPCへ移動し、PC上のQEMUで同じコマンドを使って起動できます。最適化したい場合は、PCで設定を済ませてからスマホへ戻して起動するとよいでしょう。\n","date":"2022年7月22日","externalUrl":null,"permalink":"/ja-jp/posts/termux-qemu-windows7-vm/","section":"Termux-Tutorials","summary":" TermuxのQEMUパッケージを使うと、Androidスマホ上でエミュレーターを実行し、WindowsやLinuxなどx86アーキテクチャ向けの完全なPC用OSをエミュレートできます。Root権限は不要で、効果はLimbo PC Emulatorと同等です。\nこの記事では、Termuxを使ってAndroidスマホにWindows 7をインストールする方法を紹介します。スマホに32GBの空き容量が必要なだけでなく、忍耐も必要です。 なぜWindows 7を選ぶのでしょうか。Windows XPほど古すぎず、Windows 10ほどリソースを食わないからです。QEMU自体がひどく遅い環境では、Windows 7の性能がなんとか許容範囲に入ります。\nインストール後の使用感は記事の最後を参照してください。\n1. ハードウェア要件 # プロセッサ：Qualcomm Snapdragon 845以上\nRAM：最低4GB\nストレージ容量：最低32GB\n執筆時点で私が使用したスマホはSony Xperia 5 II、システムはAndroid 12です。\n2. 事前依存項目を準備する # Termuxをインストールし、スマホのストレージへアクセスする権限を設定します。\n","title":"AndroidスマホのTermuxでWindows 7 QEMU仮想マシンをインストールする","type":"termux-tutorials"},{"content":"使用GIMP的智慧型選取(俗稱魔術棒)功能給圖片去背。\nGIMP (GNU Image Manipulation Program) 是開源免費的修圖軟體，支援Linux/Windows/MacOS。\n在這裡下載GIMP: https://www.gimp.org/\n1. GIMP選取圖片 # 我們要將這張圖片的白色背景去除，只留下綠色飛龍。開啟GIMP，點左上角檔案→開啟圖片。 按一下左上角的智慧型選取工具 在左下角這邊調整「臨界值」。臨界值越低，魔術棒選取到的顏色會越精確。 如圖，使用預設臨界值，然後點一下圖片白色的部份，會出現虛線，代表將背景的白色都納入選取範圍。 如果臨界值調太高，重新點一下圖片白色處，就會把不相干的黑色也一起選進來了，所以要自行拿捏正確的數值，按下CTRL+SHIFT+A取消選取，將臨界值調低後，再重新點選白色背景。 2. GIMP去背 # 如果原始的圖片格式是png，直接按電腦的Delete鍵，選取區就會變透明。\n如果原始圖片格式是jpeg，則要先添加一個透明色板，不然去背的地方會變黑。\n按上方選單的圖層→透明度→加入透明色板。 2.然後再按下Delete鍵，選取區就變成透明的(背景為灰色方格)。可用魔術棒點選其餘的白色區塊將其清乾淨。 3. GIMP儲存圖片 # 點選 檔案 →Export As... 在選擇檔案格式的下拉選單中，選擇輸出為PNG(這樣才能保留透明的背景)，之後按下匯出，確定。 如果之後還要編輯這個檔案，點選檔案→儲存，儲存為xcf專案檔。\n","date":"2022年7月18日","externalUrl":null,"permalink":"/posts/gimp-fuzzy-select-remove-background/","section":"所有文章","summary":"使用GIMP的智慧型選取(俗稱魔術棒)功能給圖片去背。\nGIMP (GNU Image Manipulation Program) 是開源免費的修圖軟體，支援Linux/Windows/MacOS。\n在這裡下載GIMP: https://www.gimp.org/\n1. GIMP選取圖片 # 我們要將這張圖片的白色背景去除，只留下綠色飛龍。開啟GIMP，點左上角檔案→開啟圖片。 按一下左上角的智慧型選取工具 在左下角這邊調整「臨界值」。臨界值越低，魔術棒選取到的顏色會越精確。 如圖，使用預設臨界值，然後點一下圖片白色的部份，會出現虛線，代表將背景的白色都納入選取範圍。 如果臨界值調太高，重新點一下圖片白色處，就會把不相干的黑色也一起選進來了，所以要自行拿捏正確的數值，按下CTRL+SHIFT+A取消選取，將臨界值調低後，再重新點選白色背景。 2. GIMP去背 # 如果原始的圖片格式是png，直接按電腦的Delete鍵，選取區就會變透明。\n如果原始圖片格式是jpeg，則要先添加一個透明色板，不然去背的地方會變黑。\n按上方選單的圖層→透明度→加入透明色板。 2.然後再按下Delete鍵，選取區就變成透明的(背景為灰色方格)。可用魔術棒點選其餘的白色區塊將其清乾淨。 ","title":"GIMP圖片去背教學，智慧型選取的應用","type":"posts"},{"content":"現在是網路時代，很多人應該會有隨手存圖到手機或D槽的習慣。有時候我們會下載容量巨大的原圖，一張相片或圖畫動輒就會2MB以上。可能是為了賞心悅目，或是想印出來做桌布之類的。\n但，如果是松鼠症(囤積症)患者，就可能會下載到許多「不重要，但棄之可惜」的圖片資源。為了要讓圖片不佔太多空間，使用新興的\u0026quot;AVIF\u0026quot;格式，批次壓縮硬碟中較大的圖片，這樣放到雲端硬碟上也能夠快速載入。\n我們的目的是要把圖片都盡量轉換到1MB以下，又能維持一定品質，減少約一半的佔用空間。文末簡單探討結果。\n1. 各個圖片格式的比較 # 無損壓縮圖片是指可以將圖片還原到原始畫質，檔案比較大。有損壓縮則是降低檔案大小，方便網路傳輸。\n格式 說明 PNG W3C開發的無損壓縮圖片格式，支援透明圖層。支援動圖的APNG目前尚未被W3C納入標準。 JPEG/JPG 由聯合圖像小組開發，大部份是使用有損壓縮，相容性最廣，讓檔案變小的同時也容易出現馬賽克。不支援透明圖層和動圖。 AVIF/AVIFS 由開放媒體聯盟開發，支援無損和有損壓縮的選項。有損壓縮的時候檔案容量比JPEG更小，比較不容易出現馬賽克。支援透明圖層和動圖。 WEBP 是Google為了減少網頁圖片容量開發的格式，支援可逆無損壓縮和有損壓縮，支援透明圖層和動圖。 GIF 是由CompuServe開發，為最常見的動圖格式，使用256色彩產生檔案小的圖片，但也會導致顏色失真，支援透明圖層。 2. AVIF的限制 # 主流瀏覽器 (Firefox/Chrome/Edge/Safari) 和作業系統 (Linux/Windows/MacOS/Android/iOS) 都已支援AVIF，有在更新的看圖軟體應該也會陸續支援AVIF。\n根據avif.io說法，AVIF的壓縮率比WEBP更好，圖片不容易出現馬賽克也較為美觀。\n如果把檔案很大的JPEG轉換成AVIF呢？也是有壓縮效果，但來源檔案還是PNG為佳。\n雖然說GIF可以轉成AVIF動圖，但若畫質變高檔案就容易變大。因此「影片直接轉AVIF動圖」會比「GIF轉AVIF」要來得划算。\n目前PNG轉成AVIF可能會喪失透明圖層，有些軟體無法正常讀取，待未來更新。保守一點的作法，就是將含透明圖層的PNG和GIF動圖轉成WEBP，WEBP同樣可以減少一半以上的檔案大小。\n3. 實際轉檔成AVIF # 範例，以下這張PNG圖片有很多細節，這裡放的是壓縮過的。示例圖作者：Number2 (Takuji) 原始檔案高達22MB。 再來要將圖片轉檔，使用的工具是跨平台的ImageMagick，透過指令就可以轉換圖片。\n將PNG圖片轉換成JPEG，品質選50。\nmagick convert example.png -quality 50% example.jpeg 將PNG圖片轉換成AVIF，品質選50。 magick convert example.png -quality 50% example.avif 大小比較 # 22MB的圖片，JPEG降低到1011KB，AVIF降低到758KB。\n1011K example.jpeg 758K example.avif 23M example.png 轉檔時間比較 # 目前AVIF比JPEG慢很多。\nivon@pc:~\u0026gt; time convert example.png -quality 50% example.jpeg real 0m0.790s user 0m0.644s sys 0m0.124s ivon@pc:~\u0026gt; time convert example.png -quality 50% example.avif real 0m8.897s user 0m26.898s sys 0m0.303s 放大細節比較 # PNG vs JPEG vs AVIF\n點圖放大。跟PNG相比，JPEG出現明顯鋸齒狀和其他顏色的色塊，而AVIF只是看起來變模糊了而已。 4. 批次轉換圖片 # ImageMagick的Mogrify工具能大量轉換圖片。\n我的操作步驟如下：\n將目前目錄中的PNG圖片，全部轉換成AVIF圖片並儲存到桌面的output目錄。注意副檔名大小寫。 magick mogrify -format avif -quality 50 -type truecolor -alpha on -path ~/桌面/output *.png 將目前目錄中的JPEG/JPG圖片，全部轉換成AVIF圖片並儲存到桌面的output目錄。由於JPEG很多都已經壓縮過，所以使用較高品質轉換，以求保持品質又能降低大小。 magick mogrify -format avif -quality 90 -type truecolor -alpha on -path ~/桌面/output *.jpeg 將目前目錄的GIF轉換成WEBP，使用： magick mogrify -format webp -path ~/桌面/output *.gif 5. 總結 # 硬碟某個含有JPEG + PNG + GIF組成的目錄，轉換前約3.9GB。\n轉換後圖片變成由AVIF + WEBP組成，該目錄變成1.8GB。\n所以這些新興的圖片格式壓縮十分有效。惟WEBP目前各大網站和系統支援度較好，AVIF可能還要再等個幾年。\n","date":"2022年7月18日","externalUrl":null,"permalink":"/posts/convert-images-to-avif-to-save-space/","section":"所有文章","summary":"現在是網路時代，很多人應該會有隨手存圖到手機或D槽的習慣。有時候我們會下載容量巨大的原圖，一張相片或圖畫動輒就會2MB以上。可能是為了賞心悅目，或是想印出來做桌布之類的。\n但，如果是松鼠症(囤積症)患者，就可能會下載到許多「不重要，但棄之可惜」的圖片資源。為了要讓圖片不佔太多空間，使用新興的\"AVIF\"格式，批次壓縮硬碟中較大的圖片，這樣放到雲端硬碟上也能夠快速載入。\n我們的目的是要把圖片都盡量轉換到1MB以下，又能維持一定品質，減少約一半的佔用空間。文末簡單探討結果。\n1. 各個圖片格式的比較 # 無損壓縮圖片是指可以將圖片還原到原始畫質，檔案比較大。有損壓縮則是降低檔案大小，方便網路傳輸。\n格式 說明 PNG W3C開發的無損壓縮圖片格式，支援透明圖層。支援動圖的APNG目前尚未被W3C納入標準。 JPEG/JPG 由聯合圖像小組開發，大部份是使用有損壓縮，相容性最廣，讓檔案變小的同時也容易出現馬賽克。不支援透明圖層和動圖。 AVIF/AVIFS 由開放媒體聯盟開發，支援無損和有損壓縮的選項。有損壓縮的時候檔案容量比JPEG更小，比較不容易出現馬賽克。支援透明圖層和動圖。 WEBP 是Google為了減少網頁圖片容量開發的格式，支援可逆無損壓縮和有損壓縮，支援透明圖層和動圖。 GIF 是由CompuServe開發，為最常見的動圖格式，使用256色彩產生檔案小的圖片，但也會導致顏色失真，支援透明圖層。 2. AVIF的限制 # 主流瀏覽器 (Firefox/Chrome/Edge/Safari) 和作業系統 (Linux/Windows/MacOS/Android/iOS) 都已支援AVIF，有在更新的看圖軟體應該也會陸續支援AVIF。\n","title":"AVIF跟JPEG的比較，以轉檔儲存的圖片為例子，節省硬碟空間","type":"posts"},{"content":"2022年5月2日發表於PTT Mobilecomm板。正常使用二年後出現綠線。\n首先說明為什麼會選這支。上一支是拿小米9T（紅米K20，s730的版本)。\n我想要維持的點：\n瀏海退散，挖孔也不要。 螢幕要支援DCI-P3，顯色要接近iPad Air 3的水準 可以刷機 想改進的部分：\n改善喇叭外放，小米裝Viper還是很慘。所以手機要挑有二個喇叭，音質也不錯的。 要輕，192g的小米真的太重了，螢幕也維持在6吋就好。 全功能的TypeC，可以輸出至大螢幕。 原本想買LG G8X，但是LG當時就已經快不行了。然後又看向Pixel 5和Sharp Aquos Zero 2，最後選的是Xperia 5 II，因為沒瀏海。\n我選粉紅色版本的。這是我第一次買到真正的旗艦機，而非紅米機那種CP值產物。另外買了一個看起來像老人在用的翻蓋皮套保護她。\n再來是使用上的幾個評斷：\n拍照 # 跟小米Gcam比起來，Sony內建的自動拍照不差，顏色不會偏，也不會有AI刻意把顏色抹的比較討喜。 但是夜景跟Gcam那種把晚上拍成白天的不同，黑的部分真的就是一片黑。 至於能調光圈參數的Photo Pro太高級了，我只學會拍慢動作。 多媒體 # 螢幕的色彩模式我固定維持在「導演模式」，雖會像iPad一樣黃黃的但比較接近標準色溫。螢幕最大亮度有點低，太陽下暗暗的。\n21：9看該比例的影片剛剛好。 但是看普通影片就是超粗黑框。 Sony的前置雙喇叭和Dolby Atmos讓音樂外放提升了好幾個層次。而隨音樂頻率震動的功能好像玩遊戲才會有感覺。而DSEE Ultimate似乎會讓音色改變所以沒開。\n手感 # 163g很輕，帶在身上無感。但是玻璃背板很容易沾指紋。\n不然的話我傾向不裝皮套出門。\n此外，Xperia 5 II滑個FB就會溫溫的，雖然它有散熱片，不過要維持涼涼的最好不裝皮套。\n機身右方有4個按鍵，指紋辨識很快，而Google助理鍵真的是多餘，最下面的快門鍵倒是有用數位相機拍照的感覺。\n玩遊戲 # Minecraft、FGO、GTA SA的3D效能良好 執行手遊雖然溫溫的但是不容易過熱。遊戲增強器還有一個充電時直接對主機板供電的功能。\n不過好像要把遊戲加入增強器啟動，系統才會用全力去跑。\n系統穩定度 # 系統設計接近原生Android，但內建COD手遊和Netflix（直接停用）。網路主要還是用中華4G，跟Wifi一樣都收訊良好。\n系統偶爾有小bug，例如螢幕轉橫就無法拉下通知欄、內建遊戲增強器的螢幕錄影儲存後會毀損等等。\nDolby Atmos在Apple Music播放無損音樂時會自動開啟，但有時候會延遲，導致音樂播放會先以原音播放，然後伴隨著一陣撕裂聲才轉成Dolby Atmos處理後的效果。\n另外雖然有120hz模式，但開了爽一下之後只會更熱，所以我都是維持關閉。\n最後是充電，續航力大約能撐8小時。感覺上一支小米的快充都把電池操壞了，而Sony有 保養電池的夜間慢速充電模式，但大部分時候還是會觸發快充。\n我想雖然有小bug，但是硬體強的情況下都還能撐得過去。\n刷機 # 這點真的是自打嘴巴，有夠難刷，勉強能Root，ROM相關資源甚少。因為A/B分區，要刷回原廠也有困難。\n不過倒是可以編譯C++開最大線程來操s865，8G+256GB的儲存空間裝虛擬機。\n結論 # 上面沒提的是，雖然是2020年出2021年買的，這支還是很貴，有些地方考驗信仰。 但畢竟不是iPhone，不喜歡的地方還可以稍微折騰調整。\ns865的旗艦效能還能再戰幾年，雖然我有點想買PinePhone。\n用了兩年之後，我的Xperia 5 II出現綠線。\n","date":"2022年7月16日","externalUrl":null,"permalink":"/posts/sony-xperia-5-ii-review/","section":"Unboxings","summary":"2022年5月2日發表於PTT Mobilecomm板。正常使用二年後出現綠線。\n首先說明為什麼會選這支。上一支是拿小米9T（紅米K20，s730的版本)。\n我想要維持的點：\n瀏海退散，挖孔也不要。 螢幕要支援DCI-P3，顯色要接近iPad Air 3的水準 可以刷機 想改進的部分：\n改善喇叭外放，小米裝Viper還是很慘。所以手機要挑有二個喇叭，音質也不錯的。 要輕，192g的小米真的太重了，螢幕也維持在6吋就好。 全功能的TypeC，可以輸出至大螢幕。 原本想買LG G8X，但是LG當時就已經快不行了。然後又看向Pixel 5和Sharp Aquos Zero 2，最後選的是Xperia 5 II，因為沒瀏海。\n我選粉紅色版本的。這是我第一次買到真正的旗艦機，而非紅米機那種CP值產物。另外買了一個看起來像老人在用的翻蓋皮套保護她。\n再來是使用上的幾個評斷：\n拍照 # 跟小米Gcam比起來，Sony內建的自動拍照不差，顏色不會偏，也不會有AI刻意把顏色抹的比較討喜。 但是夜景跟Gcam那種把晚上拍成白天的不同，黑的部分真的就是一片黑。 至於能調光圈參數的Photo Pro太高級了，我只學會拍慢動作。 ","title":"Sony Xperia 5 II一年使用心得，輕量玩遊戲的好手機","type":"unboxing"},{"content":"","date":"2022-07-16","externalUrl":null,"permalink":"/en-us/categories/game-guides/","section":"Categories","summary":"","title":"Game Guides","type":"categories"},{"content":"English version\nSome #Minetest texture packs with good water textures. 1. The original MT textures for comparison 2. Hand Painted Pack 3.EarthSiege 4.SharpNet Photo Realism 2022-07-16 Trying to port my Minecraft Aircraft mod to Minetest. This map looks like Japanese AF in Rabaul dring WWII. 2022-07-09 ch98\u0026#39;s Mudslide mod. Before v.s. After mudslide. (The mudflows are randomly generated on each blocks, then they will dry out and turn into dirts.) It works best with Minetest\u0026#39;s valley map generator. Regional Weather Mod makes it more realistic. 2022-07-09 FaceDeer\u0026#39;s Volcano Mod for Minetest. Maybe we could add lava flow... 2022-07-08 The Wind Rises (2013) 風立ちぬ movie poster. 2022-07-03 Game engine: Miunetest. Naoko skin by alssiee. Summer mod by ulla. Painting mod by SFENCE. Skybox mod by sofar sofar\u0026#39;s Skybox mod may work well with dynamic shadows of Minetest 5.6.0... first we have to re-enable the day cycle so we could see shadows. 2022-07-02 Minetest texture pack Isabella II \u0026#43; Dynamic Shadows make sunlight shadow overlay effect, which is captivating. 2022-06-29 Angkor Wat, temple complex, Cambodiain in Minetest by OldCoder 2022-06-28 Minetest v7 floatlands map generator 🎵Castle in the sky music play🎵 2022-06-18 Minetest 2022-06-10 When you install 20\u0026#43; mods in Minetest. 2022-05-16 Jay Wells(@Mega_Spud): What are you playing this weekend? Me: Minetest. 2022-05-15 Minetest, an open source blocky game... so attractive 2021-11-21 ","date":"2022年7月16日","externalUrl":null,"permalink":"/posts/minetest-game-diaries/","section":"Luantis","summary":"English version\nSome #Minetest texture packs with good water textures. 1. The original MT textures for comparison 2. Hand Painted Pack 3.EarthSiege 4.SharpNet Photo Realism 2022-07-16 Trying to port my Minecraft Aircraft mod to Minetest. This map looks like Japanese AF in Rabaul dring WWII. 2022-07-09 ch98's Mudslide mod. Before v.s. After mudslide. (The mudflows are randomly generated on each blocks, then they will dry out and turn into dirts.) It works best with Minetest's valley map generator. Regional Weather Mod makes it more realistic. 2022-07-09 FaceDeer's Volcano Mod for Minetest. Maybe we could add lava flow... 2022-07-08 The Wind Rises (2013) 風立ちぬ movie poster. 2022-07-03 Game engine: Miunetest. Naoko skin by alssiee. Summer mod by ulla. Painting mod by SFENCE. Skybox mod by sofar sofar's Skybox mod may work well with dynamic shadows of Minetest 5.6.0... first we have to re-enable the day cycle so we could see shadows. 2022-07-02 Minetest texture pack Isabella II + Dynamic Shadows make sunlight shadow overlay effect, which is captivating. 2022-06-29 Angkor Wat, temple complex, Cambodiain in Minetest by OldCoder 2022-06-28 Minetest v7 floatlands map generator 🎵Castle in the sky music play🎵 2022-06-18 Minetest 2022-06-10 When you install 20+ mods in Minetest. 2022-05-16 Jay Wells(@Mega_Spud): What are you playing this weekend? Me: Minetest. 2022-05-15 Minetest, an open source blocky game... so attractive 2021-11-21 ","title":"Luanti (Minetest) 遊玩日記 ＆ 風景照","type":"luanti"},{"content":"中文版\nSome Minetest texture packs with good water textures. 1. The original MT textures for comparison 2. Hand Painted Pack 3.EarthSiege 4.SharpNet Photo Realism 2022-07-16 Trying to port my Minecraft Aircraft mod to Minetest. This map looks like Japanese AF in Rabaul dring WWII. 2022-07-09 ch98\u0026#39;s Mudslide mod. Before v.s. After mudslide. (The mudflows are randomly generated on each blocks, then they will dry out and turn into dirts.) It works best with Minetest\u0026#39;s valley map generator. Regional Weather Mod makes it more realistic. 2022-07-09 FaceDeer\u0026#39;s Volcano Mod for Minetest. Maybe we could add lava flow... 2022-07-08 The Wind Rises (2013) 風立ちぬ movie poster. 2022-07-03 Game engine: Miunetest. Naoko skin by alssiee. Summer mod by ulla. Painting mod by SFENCE. Skybox mod by sofar sofar\u0026#39;s Skybox mod may work well with dynamic shadows of Minetest 5.6.0... first we have to re-enable the day cycle so we could see shadows. 2022-07-02 Minetest texture pack Isabella II \u0026#43; Dynamic Shadows make sunlight shadow overlay effect, which is captivating. 2022-06-29 Angkor Wat, temple complex, Cambodiain in Minetest by OldCoder 2022-06-28 Minetest v7 floatlands map generator 🎵Castle in the sky music play🎵 2022-06-18 Minetest 2022-06-10 When you install 20\u0026#43; mods in Minetest. 2022-05-16 Jay Wells(@Mega_Spud): What are you playing this weekend? Me: Minetest. 2022-05-15 Minetest, an open source blocky game... so attractive 2021-11-21 ","date":"2022-07-16","externalUrl":null,"permalink":"/en-us/posts/minetest-game-diaries/","section":"Posts","summary":"中文版\nSome Minetest texture packs with good water textures. 1. The original MT textures for comparison 2. Hand Painted Pack 3.EarthSiege 4.SharpNet Photo Realism 2022-07-16 Trying to port my Minecraft Aircraft mod to Minetest. This map looks like Japanese AF in Rabaul dring WWII. 2022-07-09 ch98's Mudslide mod. Before v.s. After mudslide. (The mudflows are randomly generated on each blocks, then they will dry out and turn into dirts.) It works best with Minetest's valley map generator. Regional Weather Mod makes it more realistic. 2022-07-09 FaceDeer's Volcano Mod for Minetest. Maybe we could add lava flow... 2022-07-08 The Wind Rises (2013) 風立ちぬ movie poster. 2022-07-03 Game engine: Miunetest. Naoko skin by alssiee. Summer mod by ulla. Painting mod by SFENCE. Skybox mod by sofar sofar's Skybox mod may work well with dynamic shadows of Minetest 5.6.0... first we have to re-enable the day cycle so we could see shadows. 2022-07-02 Minetest texture pack Isabella II + Dynamic Shadows make sunlight shadow overlay effect, which is captivating. 2022-06-29 Angkor Wat, temple complex, Cambodiain in Minetest by OldCoder 2022-06-28 Minetest v7 floatlands map generator 🎵Castle in the sky music play🎵 2022-06-18 Minetest 2022-06-10 When you install 20+ mods in Minetest. 2022-05-16 Jay Wells(@Mega_Spud): What are you playing this weekend? Me: Minetest. 2022-05-15 Minetest, an open source blocky game... so attractive 2021-11-21 ","title":"My Luanti (Minetest) gaming diaries and beautiful terrain screenshots","type":"posts"},{"content":"在筆記型電腦安裝FreeBSD，日常用途主要為文書、給別人上網課、作畫，偶爾玩點跨平台的遊戲。 為什麼有Linux還要裝FreeBSD當桌面系統呢？我想試試手機(Android)、桌電(openSUSE Linux)以外，不同的開源作業系統。因為都是類Unix系統，所以很多概念共通。\n這台微星 (MSI) Modern 15 A10RBS筆電有二個GPU，一個是i5 10210u的內顯，一個是Nvidia MX350。用FreeBSD手動設定X視窗較為困難，我們來看看號稱較友善的GhostBSD能不能自動識別。\nGhostBSD是基於TrueOS (已中止更新) 開發的，而TrueOS又是基於FreeBSD Current，所以跟FreeBSD很類似，但版本號是以年份命名，而非FreeBSD的以kernel為主。\nGhostBSD主要以Mate當桌面環境，使用pkg套件管理員，提供LiveUSB和圖形安裝器，讓系統簡單易用。儘管如此，安裝時我還是遇到了一些困難，並不是很無腦。\n0. FreeBSD與GhostBSD簡介 # GhostBSD是基於FreeBSD Currentp分支開發的作業系統。\nFreeBSD是源自柏克萊大學研發的BSD，BSD又源自貝爾實驗室的UNIX。FreeBSD是為開源免費的作業系統，跟Linux約同一時間出現。\nFreeBSD預設安裝後只有純文字界面，圖形界面要自己裝，才有桌面環境可用，對新手來說可能不是很友好。GhostBSD便是事先幫你設定好桌面環境與常用工具的發行版，這樣你就不用花時間手動設定圖形環境了。它支援FreeBSD的套件格式，也可以使用Ports的資源擴充軟體。\n1. 安裝GhostBSD # 要安裝的筆電已事先用Gparted清除硬碟所有分區。\n首先至官網下載ISO。記得檢查檔案完整性防止檔案毀損\n使用Ventoy製作開機隨身碟\n隨身碟插入筆電，開機猛敲delete進入BIOS，關閉secure boot (反正我沒在用Windows) 設定用隨身碟開機。 開機進入桌面，此時無有線網路連接也沒關係。點桌面的Install GhostBSD開始安裝，選取正體中文圖示 鍵盤選美式Generic 選擇時區 使用整個磁碟 選取安裝的磁碟 安裝UEFI loader 設定Root密碼 建立普通使用者帳號，執行超級使用者的指令需要使用sudo，之後開始安裝。 安裝後重開機，當然還是沒網路，WIFI稍後再設定。暫時用Android手機分享網路，USB線接上後要用ifconfig啟動網路：\nsudo ifconfig ue0 up sudo dhclient ue0 從應用程式選單找到\u0026quot;Software Update\u0026quot;這個程式，先跑個軟體更新，最後重開機。GhostBSD雖然有自己的套件倉庫，但是跟FreeBSD並無太大差異。 2. 設定WIFI # Wifi網路卡型號為Intel WirelessAC 9560。\n這版kernel有支援Intel wifi網卡的驅動。\n編輯/etc/rc.conf\nwlans_iwlwifi0=\u0026#34;wlan0\u0026#34; create_args_wlan0=\u0026#34;wlanmode sta regdomain FCC country TW\u0026#34; ifconfig_wlan0=\u0026#34;DHCP\u0026#34; 編輯/etc/wpa_supplicant.conf network={ ssid=\u0026#34;WIFI名稱\u0026#34; proto=RSN key_mgmt=WPA-PSK psk=\u0026#34;WIFI密碼\u0026#34; } 重新啟動網路 sudo service netif restart 目前我只能用wpa supplicant，無法使用Network Manager圖形化界面連線，而且連線前還要辨別WIFI的加密協定。 sudo wpa_supplicant -c /etc/wpa_supplicant.conf -i wlan0 \u0026amp; 3. 硬體狀況 # 觸控板手勢正常，鍵盤燈效正常，但是音量快捷鍵無效，系統偵測的到闔上螢幕的動作。\n相機正常、麥克風正常、電量偵測正常。\n螢幕亮度控制要用xrandr指令，XFCE可以把它做成快捷按鈕。\nxrandr | grep \u0026#34;connected\u0026#34; xrandr --output eDP-1 --brightness 0.5 3D硬體加速正常(圖為Minetest)。當然使用的是內顯，Nvidia的啟用方法還要再研究。 喇叭正常，xfce4要另外裝pauvcontrol控制音量 4. 更換桌面環境（選擇性） # 搞定Wifi之後，我就安裝了XFCE4，取代Mate桌面。登入的時候點選名字旁邊的欄位即可切換桌面環境。 sudo pkg install xfce xfce4-goodies 之後再安裝Skeuos的主題。 5. FreeBSD中文化 # 安裝器的時候已經選定正體中文語系，所以不用再特別設定。\n如有需要，正體中文界面的設定方法如下，於~/.profile末尾加入以下參數： LANG=zh_TW.UTF-8; export LANG MM_CHARSET=zh_TW.UTF-8; export MM_CHARSET 雖然GhostBSD已內建中文字體，不過我還是喜歡安裝Google Noto Sans字型和Emoji： sudo pkg install noto unicode-emoji 安裝Fctix5 + 注音輸入法 sudo pkg install fcitx5 fcitx5-configtool fcitx5-gtk fcitx5-qt zh-fcitx5-chewing 於~/.profile末尾加入以下參數重開機： GTK_IM_MODULE=fcitx; export GTK_IM_MODULE QT_IM_MODULE=fcitx; export QT_IM_MODULE XMODIFIERS=\u0026#34;@im=fcitx\u0026#34;; export XMIDIFIERS exec fcitx \u0026amp; 之後面板右上角會顯示輸入法圖示，沒有的話搜尋fcitx5手動啟用。 6. 後續優化 # 連結Android似乎不會自動掛載MTP，因此安裝android-file-transfer-qt的圖形工具來傳檔案。 sudo pkg install android-file-transfer-qt 常用軟體可於\u0026quot;Software Station\u0026quot;尋找。 有些軟體是Linux移植過來的，例如LibreOffice文書、GIMP修圖、Kdenlive剪片、Krita繪圖、Kate寫程式，這些常用的開源工具都能用指令安裝:\nsudo pkg install libreoffice gimp kdenlive krita 安裝用於上Google Meet網路課程的Chromium sudo pkg install chromium FreeBSD還能執行Wine和Linux移植過來的程式，最近甚至有人移植Steam和Proton，安裝方法看這裡。 7. 結論 # GhostBSD還不夠友好，之前這台筆電安裝Fedora 35時，Wifi驅動是自動裝好的。不過開發團隊也很樂意接受意見。\n雖然如此，剛開始安裝就能看到圖形化界面總是會覺得安心的吧。\nFreeBSD的官方中文手冊建議多讀，免得問問題被人罵RTFM。雖然說我覺得某些層面上Arch Linux Wiki更勝一籌。\n參考資料 # FreeBSD的官方中文手冊 Using USB Tethering on FreeBSD with Android WiFi/Iwlwifi - FreeBSD Wiki WPA_supplicant的設定方式 - 大軒軒的筆記本 開源技術教學網[FreeBSD] 系統使用教學：中文化 ","date":"2022年7月14日","externalUrl":null,"permalink":"/posts/install-ghostbsd-on-msi-modern-15-a10/","section":"所有文章","summary":"在筆記型電腦安裝FreeBSD，日常用途主要為文書、給別人上網課、作畫，偶爾玩點跨平台的遊戲。 為什麼有Linux還要裝FreeBSD當桌面系統呢？我想試試手機(Android)、桌電(openSUSE Linux)以外，不同的開源作業系統。因為都是類Unix系統，所以很多概念共通。\n這台微星 (MSI) Modern 15 A10RBS筆電有二個GPU，一個是i5 10210u的內顯，一個是Nvidia MX350。用FreeBSD手動設定X視窗較為困難，我們來看看號稱較友善的GhostBSD能不能自動識別。\nGhostBSD是基於TrueOS (已中止更新) 開發的，而TrueOS又是基於FreeBSD Current，所以跟FreeBSD很類似，但版本號是以年份命名，而非FreeBSD的以kernel為主。\nGhostBSD主要以Mate當桌面環境，使用pkg套件管理員，提供LiveUSB和圖形安裝器，讓系統簡單易用。儘管如此，安裝時我還是遇到了一些困難，並不是很無腦。\n0. FreeBSD與GhostBSD簡介 # GhostBSD是基於FreeBSD Currentp分支開發的作業系統。\n","title":"在微星筆電安裝GhostBSD (FreeBSD)教學 \u0026 使用感想","type":"posts"},{"content":"🇺🇸 English version\n本文的操作需要Root權限，免Root的版本請看Termux Proot安裝Box86。\n註：不是所有程式都能用Box64 + Wine跑，請先在x86架構的Linux PC上用Wine測試，確認你的Windows程式能正常執行再用Box64執行。如果有任何問題，請優先向Box64開發者回報看看。\n這篇文章探討如何讓Box86與Box64共存於同一個手機上的ARM 64位元環境，這樣子就可以按情況執行32位元或者64位元的Wine + Windows exe應用程式，甚至是同時執行。\n(左邊32位元彈珠檯，右邊64位元播放器) 前3個段落討論如何設定環境，第4段和第5段討論Wine執行策略:如何不要讓32位元和64位元互相干擾。\n1. 安裝chroot並開啟多架構支援 # 首先用Linux Deploy在手機安裝64位元chroot Ubuntu，升級至Ubuntu 20.04。\n開啟多架構支援:\ndpkg --add-architecture armhf 由於Linux Deploy的Ubuntu的source.list不完整，因此編輯/etc/apt/sources.list，修改成如下: deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal main restricted deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-updates main restricted deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal universe deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-updates universe deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal multiverse deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-updates multiverse deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-backports main restricted universe multiverse 安裝相關套件 sudo apt update sudo apt install git build-essential cmake wget gcc-arm-linux-gnueabihf zenity:armhf libasound*:armhf libstdc++6:armhf mesa*:armhf 2. 編譯Box86和下載Wine # 使用樹莓派4的參數編譯Box86 cd git clone https://github.com/ptitSeb/box86 cd box86 mkdir build; cd build; cmake .. -DRPI4ARM64=1 -DARM_DYNAREC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j$(nproc) sudo make install cd rm -rf box86 下載Wine 7.0-rc5 mkdir wine cd wine wget https://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-7.0-rc5-upstream-linux-x86.tar.gz tar -xvf *.tar.gz cd 3. 編譯Box64和下載Wine64 # 編譯Box64 git clone https://github.com/ptitSeb/box64.git cd box64 mkdir build; cd build; cmake .. -DRPI4ARM64=1 -DARM_DYNAREC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j$(nproc) sudo make install cd rm -rf box64 下載Wine64 6.17 cd mkdir wine64 cd wine64 wget https://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-amd64/PlayOnLinux-wine-6.17-upstream-linux-amd64.tar.gz tar -xvf *.tar.gz cd 4. 使用$WINEPREFIX區隔執行環境 # 這邊有二個重要的環境變數。\nWINEPREFIX: wine預設執行會在使用者家目錄建立.wine的目錄，也就是C槽。如果在執行Wine前先宣告環境變數WINEPREFIX，Wine執行時會按照WINEPREFIX的位置建立一個新目錄，這樣可以用於區隔「Box86 + Wine」與「Box64 + Wine64」，免得互相干擾。\nBox86/64的lib目錄: 因為這裡沒有建立符號連結，所以要執行Box86/64 + Wine之前都要先宣告環境變數BOX86_PATH和BOX86_LD_LIBRARY_PATH，指向Wine的位置，這樣Box86/64才找的到檔案。\n例如我要執行32位元的Box86 + Wine，完整指令如下:\nexport BOX86_PATH=/home/android/wine/bin/ export BOX86_LD_LIBRARY_PATH=/home/android/wine/lib/wine/i386-unix/:/lib/i386-linux-gnu:/lib/aarch64-linux-gnu/ box86 wine *.exe 如果是64位元的Box64 + Wine64: #結合前面所提的WINEPREFIX，新建一個目錄.wine64給Wine64儲存資料，跟預設的Wine分開 export WINEPREFIX=/home/android/.wine64 export WINEARCH=win64 export BOX64_PATH=/home/android/wine/bin/ export BOX64_LD_LIBRARY_PATH=/home/android/wine/lib/wine/i386-unix/:/lib/i386-linux-gnu:/lib/aarch64-linux-gnu/ box64 wine64 *.exe 注意這些環境變數是暫時的，開新的終端機頁面就會失效。 5. 來執行exe吧 # 實際執行影片(彈珠台) 6. 缺陷 # 即使Box86和Box64二者共存，Winetrciks還是無法正常執行。參考官方的做法建立符號連結也不行，Winetricks會混亂。\n7. 參考資料 # [linux deploy debian容器使用box86和box64注意事项 - Bilibili](linux deploy debian容器使用box86和box64注意事项 ) box86/docs/COMPILE.md - Github ","date":"2022年7月12日","externalUrl":null,"permalink":"/posts/linux-chroot-box86-box64/","section":"所有文章","summary":"🇺🇸 English version\n本文的操作需要Root權限，免Root的版本請看Termux Proot安裝Box86。\n註：不是所有程式都能用Box64 + Wine跑，請先在x86架構的Linux PC上用Wine測試，確認你的Windows程式能正常執行再用Box64執行。如果有任何問題，請優先向Box64開發者回報看看。\n這篇文章探討如何讓Box86與Box64共存於同一個手機上的ARM 64位元環境，這樣子就可以按情況執行32位元或者64位元的Wine + Windows exe應用程式，甚至是同時執行。\n(左邊32位元彈珠檯，右邊64位元播放器) 前3個段落討論如何設定環境，第4段和第5段討論Wine執行策略:如何不要讓32位元和64位元互相干擾。\n1. 安裝chroot並開啟多架構支援 # 首先用Linux Deploy在手機安裝64位元chroot Ubuntu，升級至Ubuntu 20.04。\n開啟多架構支援:\ndpkg --add-architecture armhf 由於Linux Deploy的Ubuntu的source.list不完整，因此編輯/etc/apt/sources.list，修改成如下: deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal main restricted deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-updates main restricted deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal universe deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-updates universe deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal multiverse deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-updates multiverse deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-backports main restricted universe multiverse 安裝相關套件 sudo apt update sudo apt install git build-essential cmake wget gcc-arm-linux-gnueabihf zenity:armhf libasound*:armhf libstdc++6:armhf mesa*:armhf 2. 編譯Box86和下載Wine # 使用樹莓派4的參數編譯Box86 cd git clone https://github.com/ptitSeb/box86 cd box86 mkdir build; cd build; cmake .. -DRPI4ARM64=1 -DARM_DYNAREC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j$(nproc) sudo make install cd rm -rf box86 下載Wine 7.0-rc5 mkdir wine cd wine wget https://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-7.0-rc5-upstream-linux-x86.tar.gz tar -xvf *.tar.gz cd 3. 編譯Box64和下載Wine64 # 編譯Box64 git clone https://github.com/ptitSeb/box64.git cd box64 mkdir build; cd build; cmake .. -DRPI4ARM64=1 -DARM_DYNAREC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j$(nproc) sudo make install cd rm -rf box64 下載Wine64 6.17 cd mkdir wine64 cd wine64 wget https://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-amd64/PlayOnLinux-wine-6.17-upstream-linux-amd64.tar.gz tar -xvf *.tar.gz cd 4. 使用$WINEPREFIX區隔執行環境 # 這邊有二個重要的環境變數。\n","title":"[Root] Linux Deploy chroot環境安装Box86 Wine + Box64 Wine64 ","type":"posts"},{"content":" 我的VPN隱私程度如何？ How Private Is My VPN? VPN供應商承諾會保障使用者隱私，但是The Markup發現他們的APP和網站充滿追蹤器。 作者: Alfred Ng 原發表於The Markup網站，Ivon Huang翻譯。\n過去七年以來，Shannon Morse一直在Youtube上製作關於安全和隱私的小撇步影片，包括VPN (Virtual Private Networks) 的相關內容，以及VPN軟體如何加密你的網路流量，這樣就無法被網路供應商，或者跟你連線到同一Wifi的用戶追蹤網路活動。\nVPN供應商常常會宣傳說此類工具能保護隱私，因為他們能夠隱藏你的IP位址、網路供應商、地理位置，防止網站辨認出你的身份。企業員工使用VPN確保能安全的登入內部網路，活動人士使用VPN躲避政府監控，普通用戶可能會使用VPN觀看其他國家無法播放的電視節目。\u0026nbsp;\n因其公眾人物身份，Morse使用ProtonVPN這類VPN服務來保障她網上活動的隱私。\u0026nbsp;\n她說：「尤其因為我的內容創作者身份，我必須堅持我的安全和隱私標準。」「VPN能保障我在網路上的隱私。」\n但當VPN供應商/公司說他們不會紀錄人們的活動，包含瀏覽紀錄、通話紀錄、觀看的電視節目時，不代表他們不會偷偷從使用者和忠實客戶上吸取資料。\u0026nbsp;\n為了解VPN供應商想收集的資料內容，The Markup調查了14家VPN供應商的政策。我們還使用了我們的Blacklight工具，偵測VPN供應商網站上的第三方追蹤器。我們還搜尋了Citizen Browser資料庫，研究VPN供應商如何利用個人用戶資料構成的廣告平台，在Facebook上行銷他們的產品。\n總結，我們發現了偽善的跡象：即使VPN供應商的首頁和部落格多方強調他們的服務帶來的隱私權好處，但他們的隱私權政策寫的卻是另外一回事。\n例如Surfshark在首頁宣稱他們能夠「使用最快的VPN保護你的隱私」但卻在隱私政策裡面說，該公司會蒐集使用者裝置的廣告識別碼，用於市場行銷。\nSurfshark的發言人Dom Dimas說：「我們確實會蒐集聚合資料，用於營銷目的。因為在競爭如此激烈的VPN行業中，這些資料對於商業決策是很重要的。」\n並非所有的VPN供應商都會追蹤造訪網站的使用者，但有許多網站會這麼做。\u0026nbsp;\n其中有8個APP會蒐集VPN使用者的資料，14個網站有10個含有追蹤器。至於那些資料跟Facebook廣告機器的關聯，我們會在一分鐘內揭曉。首先，是我們的調查結果。\u0026nbsp;\nVPN供應商會蒐集使用者的哪些資料？\u0026nbsp; 我們挑選了14個最常被Security.org, Wirecutter和PCMag推薦的VPN供應商，另外包含了按照Citizen Browser計畫所分析，最常在Facebook上打廣告的VPN供應商。\u0026nbsp;\nVPN\n廣告追蹤器\n第三方追蹤器 Facebook像素 Google分析 隱私權政策中包含追蹤行為\nStrongVPN 5 3 是 是\n是 IPVanish 6 5 是\n是 是 ExpressVPN 6 3 是 是 是 ClearVPN 8 2 是 是 是 ProtonVPN 0 0 否 否 是 Mullvad 0 0 否 否 否 IVPN 0 0 否 否 否 Windscribe 0 0 否 否 否 Private Internet Access 1 0 否 是 是 Cyber Ghost 1 0 否 否 是 TunnelBear 3 3 否 是 是 SurfShark 4 2 否 是 是 NordVPN 7 4 否 是 是 VPNBook 9 17 否 是 是 資料來源：The Markup 再次強調，沒有一家VPN公司說他們會紀錄使用者資料。但是該公司的隱私權政策允許他們蒐集其他方面的資料。\u0026nbsp;\n例如CyberGhost VPN宣稱他們的服務能夠「在所有裝置上保有隱私」, 但是他們的隱私權政策卻說會蒐集裝置上「非個人」的資訊，包含廣告ID，電池電量，陀螺儀(讓手機能自動旋轉螢幕的感測器)，還有電信供應商的資料。\nCyberGhost並無回覆置評要求。\n另一方面，NordVPN說他們會蒐集客戶的使用者ID和裝置ID，用於行銷目的。\u0026nbsp;\nNordVPN的發言人Tyler Miller說使用者ID僅是為了辨認付費來源 (例如某人看到廣告而下載APP)，但是客戶並未被告知會蒐集該項資料。\u0026nbsp;\nMiller在電子郵件說：「我們接受和理解對我們政策的批評，但是數百萬用戶若是沒有VPN，將會更不安全，並且失去一部分隱私。」\nExpressVPN的隱私權政策表示他們會蒐集裝置ID，追蹤使用者從哪裡得知、註冊他們的行動APP。ClearVPN也在隱私權政策中表明他們會蒐集裝置ID。\u0026nbsp;\n來自ClearVPN母公司MacPaw的發言人Julia Petryk表示，該公司的政策已在網站上清楚揭露，並且強制使用者在APP內檢視隱私權政策。\u0026nbsp;\nPetryk說：「就如同你所提到的，使用者可能已同意蒐集裝置ID，並且這並不算個人資訊。」\u0026nbsp;\n雖然該公司的隱私權政策表示蒐集裝置ID需要使用者同意，但若要使用VPN，使用者就必須同意政策。\u0026nbsp;\n並且，技術上來說「不是個人資訊」的裝置ID，也是有可能藉由一點一點的資訊辨識出個人身份，有時候甚至能重現出個人軌跡和行為。\u0026nbsp;\n致力於推廣數位資料權利的PersonalData.io董事會成員，Paul-Olivier Dehaye表示：「當裝置ID與真實身份聯繫上，事情便會開始失控，問題就大了。」 「這是開啟追蹤生態系的鑰匙。」\u0026nbsp;\n就拿最近引起媒體關注的案件當例子吧：一位天主教牧師使用約會軟體Grindr，被教會出版機構追蹤，發現他是一名同性戀。\u0026nbsp;\n媒體報導，該機構取得的是商業用途的地理資訊，雖是匿名資料，但那之中包含該名牧師的手機裝置ID。即使資料中並無包含牧師姓名，但是裝置ID和他的生活工作地點產生關聯，因而聯繫到他本人。\u0026nbsp;\n我們必須了解到，VPN供應商的隱私政策是建立在信任基礎上，因為這些公司有能力私底下蒐集大量資訊而不為用戶所知。\u0026nbsp;\n2017年，民主與科技中心 (Center for Democracy and Technology，CDT) 向聯邦貿易委員會 (FTC) 呈遞訴狀 ，控告Hotspot Shield Free VPN廣告不實。該公司宣稱提供完全的隱私服務，但卻私底下與第三方廣告聯播網分享裝置識別碼資料，重新導向網路流量，以不安全的方式處理使用者資料。\u0026nbsp;\nHotSpot Shield Free VPN母公司Aura的首席通訊官，Howard Clabo在電子郵件中說：「CDT發出控訴後，FTC就向我們要求更多資訊，我們就提供相關資訊。之後FTC並無採取任何行動。」\u0026nbsp;\nCDT的首席技術官Mallory Knodel表示，雖然蒐集資料做行銷用途是很常見的商業行為，但是VPN供應商這樣做會有傷害聲譽的風險。\u0026nbsp;\nKnodel還說：「我們需要一個值得信任VPN的健全生態系。要展示信任程度，就從不蒐集非必要資料開始。」\u0026nbsp;\nVPN供應商的網站如何追蹤使用者？ 網路上佈滿了數位追蹤器。The Markup之前使用Blacklight工具所作的調查發現，80000個熱門網站中有87%含有第三方cookies或追蹤網路請求。\u0026nbsp;\n網站管理者常常會使用這種追蹤器查看有誰造訪他們的網站，查看客群的統計資料，並且進行精準廣告投放。\u0026nbsp;\n即使VPN供應商販售的是隱私產品，並不代表他們不會使用這類資料蒐集技術。\u0026nbsp;\n我們發現VPN網站上的追蹤器屬於商業銷售公司，像是AppsFlyer、Facebook、Google。\n在先前的調查中，這些網站平均有7個廣告追蹤器，3個第三方追蹤器。其中NordVPN, ClearVPN, VPNBook網站上的追蹤器數量高於平均值，VPNBook網站有高達9個廣告追蹤器和17個第三方追蹤器。\nVPNBook網站上的FAQ寫道：「這個免費的VPN服務是由我們網站上的廣告和支持者的捐贈所支持。」VPNBook並未回覆置評要求。\u0026nbsp;\nNordVPN網站政策上寫道，該網站會使用結合瀏覽器和唯一使用者ID的追蹤器，進行廣告投放。NordVPN的網站還會使用cookies辨識LinkedIn的使用者，以方便在該網站推銷產品。\u0026nbsp;\nStrongVPN, IPVanish, ExpressVPN, ClearVPN利用Facebook像素，讓廣告巨頭知道你是否有造訪他們的網站。\n經營IPVanish和StrongVPN的VIPRE集團產品長Usman Choudhary表示，VIPRE使用網站上的追蹤器「更好的了解我們網站的訪客，投放廣告以吸引他們再度造訪。」且強調資料是匿名的。\u0026nbsp;\n只有4個VPN供應商的網站完全沒有追蹤器，其中有3個VPN APP不會以任何形式追蹤使用者。The Markup的分析發現Mullvad, IVPN, Windscribe, ProtonVPN的網站上都沒有追蹤器。除了ProtonVPN，他們的APP會使用客戶的電郵進行廣告投放，不過APP並不會蒐集任何用於行銷的資料。\n在這篇文章發表之後，ProtonVPN的發言人Matt Fossen向我們表示，該公司只會使用電郵來寄送新聞和服務更新訊息。\nPersonalData.io的Dehaye說：「有很多人努力拒用Facebook和Google的服務。但要是他們在購買工具的網站上就遭到追蹤，隨後資料被這些公司知道，那就跟他們當初的期望相反了。」 「這正好跟他們使用VPN的初衷背道而馳。」\u0026nbsp;\n這些資料會被如何使用？ 我們無法確切得知。由個人資料組成的網路廣告系統十分複雜，並且不夠透明。也許VPN使用者手機感測器的資料，能在資料領域某個不起眼的角落轉換成金錢？\u0026nbsp;\n不過至少有些追蹤行為很直白：企業常使用網站訪客和使用者的資料，作為行銷用途。我們的Citizen Browser統計資料便能讓我們一窺ExpressVPN這家公司，如何蒐集APP使用者和網站訪客的數據，再將其用於Facebook廣告投放。\u0026nbsp;\n我們的Citizen Browser計畫是讓全美國的Facebook使用者跟我們分享他們動態時報的資料，包含動態時報上的廣告，以及Facebook顯示為何你會看到此廣告的資訊。(如果你是Facebook用戶，點一下廣告右上角選單的「為什麼我會看到這個？」就會顯示該資訊。)\n我們小組成員的資料顯示ExpressVPN在Facebook上購買許多廣告，並且部份廣告顯示的訊息代表ExpressVPN利用Facebook的自訂廣告受眾功能，來鎖定客群。自訂廣告受眾代表的是廣告主已經辨識，並想要接觸的特定客群。\u0026nbsp;\nCitizen Browser小組成員於5月20日看到ExpressVPN有49折優惠的廣告。我們的資料顯示，該廣告鎖定的是過去有使用VPN APP的使用者。5個小組成員也在4月看到ExpressVPN的廣告，鎖定曾造訪VPN網站的使用者。\u0026nbsp;\n這個廣告策略跟ExpressVPN的部落格說法自相矛盾。他們在一篇5月的部落格貼文說Facebook上的定向廣告「可怕」、「具有侵略性」。而11天前，正是我們小組成員看到他們鎖定APP用戶廣告的時候。\u0026nbsp;\nExpressVPN的副總裁Harold Li在電郵中說：「ExpressVPN使用第三方工具，在第三方平台向曾造訪我們網站的潛在新客戶投放廣告。」\n其他公司早已放棄這種廣告策略。\u0026nbsp;\nIVPN的行銷長Viktor Vecsei說該公司因為隱私考量，在2019年已停止用追蹤器在Facebook和Google打廣告。他提到這損害了公司營收成長，但對保護隱私來說很值得。\nVecsei說：「這種劃清界線的作法，[代表]我們永遠無法成為第一名的VPN供應商，並且要推廣我們的服務會很辛苦。」 「即使如此，我們也不能為監控企業提供金援，甚至把它當作必要的權衡作法而置之不理。」\n至於YouTube內容創作者Morse，她對VPN供應商過度追蹤使用者的行為感到驚訝。\u0026nbsp;\nMorse說：「我很難過，因為我原本期望VPN能帶給我隱私。我意思是那就是我們使用它的原因。」 「你會希望他們的承諾包含對你隱私的保護。」\n這篇文章原先發布在The Markup上，依照創用CC-姓名標示-非商業性-禁止改作授權重新發表在此。\n","date":"2022年7月9日","externalUrl":null,"permalink":"/posts/how-private-is-my-vpn/","section":"Foss-Issues","summary":" 我的VPN隱私程度如何？ How Private Is My VPN? VPN供應商承諾會保障使用者隱私，但是The Markup發現他們的APP和網站充滿追蹤器。 作者: Alfred Ng 原發表於The Markup網站，Ivon Huang翻譯。\n過去七年以來，Shannon Morse一直在Youtube上製作關於安全和隱私的小撇步影片，包括VPN (Virtual Private Networks) 的相關內容，以及VPN軟體如何加密你的網路流量，這樣就無法被網路供應商，或者跟你連線到同一Wifi的用戶追蹤網路活動。\nVPN供應商常常會宣傳說此類工具能保護隱私，因為他們能夠隱藏你的IP位址、網路供應商、地理位置，防止網站辨認出你的身份。企業員工使用VPN確保能安全的登入內部網路，活動人士使用VPN躲避政府監控，普通用戶可能會使用VPN觀看其他國家無法播放的電視節目。 \n因其公眾人物身份，Morse使用ProtonVPN這類VPN服務來保障她網上活動的隱私。 \n她說：「尤其因為我的內容創作者身份，我必須堅持我的安全和隱私標準。」「VPN能保障我在網路上的隱私。」\n但當VPN供應商/公司說他們不會紀錄人們的活動，包含瀏覽紀錄、通話紀錄、觀看的電視節目時，不代表他們不會偷偷從使用者和忠實客戶上吸取資料。 \n","title":"The Markup：我的VPN隱私程度如何？","type":"foss-issues"},{"content":"Ivon是怎麼入坑Luanti (Minetest)的？\n這裡有一篇Minetest Forum上的討論： Why did you stop playing Minecraft and What do you miss etc\n大約是2021年10月知道這個遊戲的，那時也開始一頭熱栽進Linux的世界。\nYoutube上傳影片有個設定遊戲名字的選項，有一次我打太快，「Minecraft」變成Youtube自動填入列表中的「Minetest」，後來搜尋一下才知道有這遊戲。\n起初只是稍微拍片介紹一下，之後便放置。因為當初我還在用Windows 11呢，幾個月後才全面轉向Linux。\n後來，2022年，正式進入全Linux環境，在Termux等地方折騰使我有了點經驗，也知道替代軟體、虛擬機要怎麼對應。\n後來開始研究創用CC的概念以及自由軟體。既然使用Linux，常用軟體就不要再用Wine去跑閉源軟體了。後來將這個想法擴大到遊戲上，遊戲也要找開源的。\n不過開源遊戲真的很少，大部分也都單機。此時想起Minetest，或許它能取代我玩了將近十年的Minecraft基岩版/PE版，大部分時候我是玩單人和研究做模組。\n最主要不是因為錢，因為除了遊戲主機以外，全平台的Minecraft我都買了。\n最主要是他的自由度，是真的自由。同時，歐美玩家不算少，但在中文圈真的算小眾。\n我最愛研究模組了，Minetest 模組是內建就支援，不用Java版玩家破解遊戲做個引擎，或是等微軟/網易那樣慢慢施捨API給基岩版玩家。\n所以焦點放到模組和小遊戲，因為Minetest就是要玩家自己裝模組，而不是一個完整的遊戲內容的吧，這使我接下來開啟Minetest Forum都有無限驚奇。更棒的是，Lua寫的程式簡單易懂，模組開發者們也不會介意你去讀他們的程式碼! 以前開發基岩版模組時，就算該模組只是寫寫json，也有很多玩家不喜歡你去翻他們的內容。我想若基岩版像Java版本一樣，恐怕會有更多人把它搞封閉。\n整體來說，Minetest可能對程式設計師較有吸引力，但是開源風氣和相對少的玩家，使得大夥在論壇上交流都比較友善。\n","date":"2022年7月8日","externalUrl":null,"permalink":"/posts/how-did-i-meet-minetest/","section":"Luantis","summary":"Ivon是怎麼入坑Luanti (Minetest)的？\n這裡有一篇Minetest Forum上的討論： Why did you stop playing Minecraft and What do you miss etc\n大約是2021年10月知道這個遊戲的，那時也開始一頭熱栽進Linux的世界。\nYoutube上傳影片有個設定遊戲名字的選項，有一次我打太快，「Minecraft」變成Youtube自動填入列表中的「Minetest」，後來搜尋一下才知道有這遊戲。\n起初只是稍微拍片介紹一下，之後便放置。因為當初我還在用Windows 11呢，幾個月後才全面轉向Linux。\n後來，2022年，正式進入全Linux環境，在Termux等地方折騰使我有了點經驗，也知道替代軟體、虛擬機要怎麼對應。\n後來開始研究創用CC的概念以及自由軟體。既然使用Linux，常用軟體就不要再用Wine去跑閉源軟體了。後來將這個想法擴大到遊戲上，遊戲也要找開源的。\n不過開源遊戲真的很少，大部分也都單機。此時想起Minetest，或許它能取代我玩了將近十年的Minecraft基岩版/PE版，大部分時候我是玩單人和研究做模組。\n最主要不是因為錢，因為除了遊戲主機以外，全平台的Minecraft我都買了。\n最主要是他的自由度，是真的自由。同時，歐美玩家不算少，但在中文圈真的算小眾。\n","title":"我是怎麼入坑Luanti (Minetest)的","type":"luanti"},{"content":"一個關於兒童文學《柳林風聲》(The Wind in The Willows)的研究。寫專題其實還蠻有趣的，題目就名為《Analyzing the Elements in Children\u0026rsquo;s Books: The Wind in the Willows》\n柳林風聲主角群，來源 大學專題跟論文的差距就在於這個專題比較不正式。在我們學校來說，專題是當作畢業門檻的課程來修，內容品質就由教授一人把關。跟其他系的不一樣，文學研究是偏學術性的質性研究。我看資工系的專題常常會有很多數據，或是做個產品出來，多少也會搞個發表會。而我們外語系的除了語言學/教育類別的研究，就是文學研究了，只會把專題印出成紙本的。\n即使如此，跟選擇去實習當畢業門檻的人比起來，二學期下來我學到的也很多，全英文寫了50頁\u0026hellip;這樣對碩士也有幫助吧。下面講述我選擇的《柳林風聲》這本書的原因，以及製作專題的過程。\n專題一部分內容會編輯後放到Medium或這裡，當作系列短文發表。\n1. 為什麼選擇這本書 # 那位教授過去指導的專題都是兒童文學研究，研究何為兒童文學的要素，再從經典文學作品去找出證據，由此提供給研究者參考。我自己額外加入的研究動機為：讓人在挑書給小孩時能有一些依據，判斷哪些是不錯的兒童文學。有些童書不只適合小孩看，也是適合大人看。\n所以要先有想做的書，教授才會允許我修這門課。當時教授主動問我做專題的意願(大概是因為我喜歡載課堂上跟教授爭辯)時，我腦中想出來的書就是《柳林風聲》(The Wind in The Willows)，所以一拍即合。\n《柳林風聲》是1908年英國作家肯尼思·格拉姆的寫的兒童文學，大綱就是幾位動物們的歷險記，文字描寫充滿鄉野風情。在專題的第三章「方法論」中我就提了這本書值得研究原因，包括在英國是BBC百大叢書之一、JK羅琳等名人推薦，還有很多改編作品等等。\n不過實際上，我選這本書純粹是很私人的原因：那就是迷幻搖滾樂團Pink Floyd的1968年專輯《黎明門前的風笛手》(The Piper at the Gates of Dawn)，專輯名稱就是出自《柳林風聲》。這張專輯十分經典，大一便已接觸，也因為他們我才能接觸到這本經典童書，裡面確實也有讓我很感動的章節。然而這個理由跟實務研究無關，專題也沒有後記欄位可以寫，所以我只能在這裡記敘。\n(圖片來源：Wikipedia) 2. 專題的製作過程 # 雖然是專題，但可不是鬧著玩的。沒有發表和口試的壓力，但教授對體例要求就跟她以前寫的博士論文一樣嚴格。專題要寫五個章節，我是單人寫的，幸好還有一起受苦的一位同學可以討論。\n首先在大四第一學期前一個暑假，花幾天看完《柳林風聲》中譯本，然後再花一個月看完原文版。原文有14章，大約200頁。\n在開學後，第一學期教授要我們從二、四章節開始寫(下面會說具體內容)。第二章的就是文獻探討，閱讀名家的經典理論書籍，整理兒童文學的要素，接著應用到第四章：到《柳林風聲》尋找是否有這些要素，並加以分析。\n最後下學期按照寫三、一、五章的順序依序寫完。這樣做的原理在於，先研究和整理過內容之後，才會知道第一章大綱部份要怎麼交待整篇文章的架構，否則容易迷失方向。\n到最後還是有些妥協，雖然二學期下來，每週都會meeting，教授沒辦法完全細看，只能指出這段邏輯似乎不通，要回去自己修，抓最嚴的部份就是第一章和第五章而已。\n另外我們學校沒有準確的印刷規範，大部分系所寫的都是中文專題，英文的怎麼印刷沒人知道。討論後選擇依照APA 7的格式的來寫作，印刷就盡量看過去的人的作法。\n3. 專題的內容大綱 # Markdown簡單排版的全文能在這裡閱讀：《柳林風聲》The Wind in The Willows的兒童文學元素分析 by Ivon Huang\n專題的內容長這樣：\nAbstract Acknowledgements Chapter One Introduction Chapter Two Literature Review Chapter Three Methodology Chapter Four Results \u0026amp; Discussion Chapter Five Conclusion Abstract和Chapter One就是介紹這篇專題的主旨，以及用途。\nAcknowledgements寫些肉麻的感謝詞，當然要寫的文謅謅的。\nChapter Two和Chapter Four是環環相扣的，前面整理過的理論，要能應用到對文學作品的探討上。例如說文學作品有Round character和Flat Character，《柳林風聲》有哪些人物符合此要素？再如person-to-self conflicts，哪個角色有過這樣的心路歷程？除此之外，要盡力用自己的話分析，而非一直引用專家說法。\nChapter Five就是總結，其實很短，就是複述每章節的結論。我也寫不出Inspiration的部份，所以選擇了安全的作法。\n4. 寫專題遇到的困難 # 寫不出來是不至於，每週固定進度就好了。不過我們教授是很重視邏輯的，一看就知道在鬼扯，或是用大量引用文字來充版面，馬上叫你回去重寫。並且教授就是講白了，除了格式規定外，我不可以問她這樣寫好不好、或是應該怎樣寫，大部分叫你回去自己讀。 有時候還蠻痛苦的，但我發現跟其他人做專題的敘述的比起來，起碼教授會這樣「電人」並不是缺點，至少沒有完全不管，還每週親自跟我們討論。正確來說，應是我太懶散了。即使沒寫出完美的內容，經過多次修正後寫出來也不顯得輕浮。\n在排版的時候遇到問題。因為改用GNU/Linux系統，我一直在猶豫要不要把專題用odt重寫，但已經用Word做一半了。用LibreOfiice Writer去編輯docx會有很多問題，奮鬥幾週後，最後還是在虛擬機下用Word排版完後印出來了事。這是當初考慮不周，早知道就學LaTeX了。\n因為接觸自由軟體思想，所以曾建議教授可以改收odt，並且不要使用專有授權的Time News Roman字體。當然只是建議而已，執行有困難。\n5. 感動與收穫 # 系上對寫essay的訓練課程，使我能夠寫出完整專題，在此很感謝過去各個教授的努力，甚至課程看過的英美近代文學，也能拿當寫作材料，像是瑪格麗特·愛特伍的《Happy Endings》用來解釋何為Plot。還有因為看過《少女與戰車》，在寫蟾蜍(Toad)先生的心態轉變時，我一眼就可以看出來他在哼的歌曲是改編自擲彈兵進行曲，以此作為切入點，深入分析他有心態多臭屁。\n我們系是偏商科，但我比較喜歡教育學術方面的，實際去當教育志工更能證明如此。做專題算是在應證所學能力。做專題讓人對學術論文有透徹的理解，訓練何謂在寫作中尊重前人的研究成果，以及學會謙卑。\n教授一直強調你的個人意見、感受在研究中不重要，除非你能把它化為理論分析。這也是為何《柳林風聲》有很多田園風光描寫，但我卻完全沒提的原因。因為讀起來很多時候是一種感覺，我有心領神會作者的意境，但是理論部份我們專注在故事主旨和角色上，田園風光就無法拿來談了。這讓我學會剪裁內容，以符合文章需要。\n最後，真正讓我寫的最有感覺的部份是《柳林風聲》故事主角「河鼠」在「旅人們」(Wayfarers All)這一章節裡所遇到的內心衝突。\n先聽這一首動畫版的歌曲吧。 河鼠(Water Rat)看到冬天來臨，對動物們飛往南方過冬的行為表示不解。熟悉的街道變得冷清，遇到了路過此地的海鼠(Water Rat)，海鼠向他講述了在世界各地闖蕩的所見所聞，並鼓勵河鼠也出去闖一闖。在相談幾小時候，海鼠表示他要前往下一個目的地了。河鼠在陷入哀愁情緒，又受到海鼠這樣鼓勵，河鼠便恍恍惚惚的拿起背包，就想往外跑了。最後被好友鼴鼠(Mole)攔阻，情緒潰堤。\n這個是全書中最不像兒童文學的一篇，深刻表達了人的掙扎，以及對現狀的不滿意。但是稍做休息後，珍惜身邊的朋友後，又可以平復許多。\n因此，《柳林風聲》這本書可以說是很適合大人閱讀的，既充滿大自然的想像力，又含有豐富的角色成長、衝突情節，讀起來真如書名一般，如森林中透出的清風一樣讓人感到悠閒。\n很感謝所有協助我的的教授和同學，在大學的最後能集四年學習之所成，製作出這樣富有意義的作品。\n","date":"2022年7月8日","externalUrl":null,"permalink":"/posts/the-wind-in-the-willows-research/","section":"Reviews","summary":"一個關於兒童文學《柳林風聲》(The Wind in The Willows)的研究。寫專題其實還蠻有趣的，題目就名為《Analyzing the Elements in Children’s Books: The Wind in the Willows》\n柳林風聲主角群，來源 大學專題跟論文的差距就在於這個專題比較不正式。在我們學校來說，專題是當作畢業門檻的課程來修，內容品質就由教授一人把關。跟其他系的不一樣，文學研究是偏學術性的質性研究。我看資工系的專題常常會有很多數據，或是做個產品出來，多少也會搞個發表會。而我們外語系的除了語言學/教育類別的研究，就是文學研究了，只會把專題印出成紙本的。\n即使如此，跟選擇去實習當畢業門檻的人比起來，二學期下來我學到的也很多，全英文寫了50頁…這樣對碩士也有幫助吧。下面講述我選擇的《柳林風聲》這本書的原因，以及製作專題的過程。\n專題一部分內容會編輯後放到Medium或這裡，當作系列短文發表。\n1. 為什麼選擇這本書 # 那位教授過去指導的專題都是兒童文學研究，研究何為兒童文學的要素，再從經典文學作品去找出證據，由此提供給研究者參考。我自己額外加入的研究動機為：讓人在挑書給小孩時能有一些依據，判斷哪些是不錯的兒童文學。有些童書不只適合小孩看，也是適合大人看。\n","title":"畢業研究專題終於做完了~《柳林風聲》The Wind in The Willows的兒童文學元素分析","type":"review"},{"content":"本文最初發表於2022年7月6日。2023年10月4日修訂。\n唉，我們神系真的沒落了！2022年，自從Reddit的冲浪TV (r/chonglangTV) 和 查理TV (r/CLTV) 爆破後，神友相繼於站外建立新家，但也有人選擇繼續留在Reddit打拼，其中的權浪TV (r/QuanLangTV)屬於人數較多的板塊，沒想到自己關閉了。\nReddit上的情況，和站外的現況是如何呢？請見下面分曉。\n在一片分裂中，冲浪TV正以另外一種形式繼續下去了。\n1. 權浪TV的覆滅 # r/QuanLangTV存在時間：2021年9月 - 2022年6月\nr/QuanLangTV是一個性質類似r/CLTV的sub，中文「權浪TV」，代表色為粉色。\nsub頭像為一根古羅馬執政官拿的法西斯束棒。 我一直覺得權浪TV這個名字很好笑XD 有人說是呼應「權蛆」橫行取的名字，也有人說是口音很重的「冲浪TV」。\nr/QuanLangTV的板標大部份是拉丁文諺語，例如：\n法無禁止即可為。\n在r/CLTV被封後，神友逐漸湧入r/QuanLangTV。討論內容跟r/CTLV沒多少差別，請看神友製作的時局圖其一，可瞥見神友日常的言論為何。 r/QuanLangTV時期仍維持不能講支那的規矩，Mod設定機器人自動刪除含有「支那」的留言，並且換了個說法：\n现在不兴说这个了，被人盯着呢，先稳一稳。\n這種被Reddit站方追殺的壓力，請看下面的時局圖其二。r/CLTV在象徵愛與和平的LGBT驕傲月被Reddit封，下一個目標就是r/QuanLangTV了！ 結果沒鬧騰多久，6月1日查理TV被封之後，權浪TV竟也跟著關閉，注意不是被封，是Mod主動關閉的。\n2022年6月17日，r/QuanLangTV的Mod發布〈QuanLangTV关闭通知书〉： 各位：\n我现在心情很复杂地通知你们，r/QuanLangTV 将于本贴发布72小时后正式关闭，届时任何用户将无法访问此sub。\n原因：管理此sub占据了我太多的精力，半个多月以来的连轴转已使我殚精竭虑，既有来自红迪超管亲自下场删贴的无形压力，又有部分用户无视规则肆意妄言的高危行为，甚至还需要应对其他敌视QuanLangTV乃至我本人的无端攻击与恶意举报。\n我累了，我想放下这一切去做我真正喜欢做的事。\n有人会问，为什么不多招几个管理员呢？\n答： 如果以适任性与可靠度作为衡量一位管理员是否合格的两大标准，我想说在当前的环境基本上不可能找到合适的人选。如果赶鸭子上架，仓促找几个删贴员，那么QuanLangTV大概率会重蹈其他被封禁sub的覆辙，这是我不希望看到的，我宁愿自己体面的放下这一切，在放过自己的同时，也让QuanLangTV可以真正冷却下来，或许它最终的价值就是作为一个尘封的标本活在人们心中。\n有人可能还会问，QuanLangTV还有机会重新开放吗？\n答： 有机会，但只有当真正的“大的来了”之时或有可能重新开放，如核战爆发、邢平连任失败等事件发生时，如果到时各位还记得QuanLangTV，欢迎届时光临此sub进行讨论。\n有人或许会接着问，这里关了那我去哪儿？\n答： 我只想说，真正的鼠鼠嗅觉是很敏锐的，他们可以轻易地找到自己的栖身之处，而那些依赖他人指路的鼠们终将掉入捕鼠笼中。\n最后，感谢一直以来在QuanLangTV不吝创作、转发优质内容以及大多数友善发言的友友们，是你们让这个小破sub充满生机，你们也是这次关闭sub行动中我最需要道歉的人，对不起！\n祝好！\nQuanLangTV\n2022-06-17\n關閉的原因是Mod管的快累死了，每天舉報收不完，所以選擇自主關板。幸好Mod事先警告讓人有時間備份資料。\n幾個月後，r/QuanLangTV因為無人管理，正式遭Reddit刪除。\n順帶一提QuanLangTV关闭通知书被部份神友視為一個典，常常有人發類似的文體，譬如CharlieBBS曾在2023年1月發表迫真關閉宣言。 2. 大卸八塊，諸浪獨立 # 在r/QuanLangTV關閉後，散落在Reddit上的「泛冲浪TV」sub，就好像《進擊的巨人》裡面被大卸八塊的尤彌爾一樣，只繼承各部份的神友精神。\n各路新家獨立，例如：\nr/iwanttorun討論留學跑路 r/baomitv包蜜TV，偽裝成習近平粉絲俱樂部 r/fitnessTV強調大健身精神 r/QiState大家都來齊國角色扮演 r/speedup_everyone鼓吹加速主義 r/rightdogTV右狗TV，支持右派思想 r/DouyuTV鬥魚TV，復刻紅老嗨牆內的直播平台 r/KanagawaWave神奈川冲浪里 r/shouchongTV手冲TV，專門發色圖 r/chonglanggoosegroup冲浪鵝組，跟鵝組集美縫合 r/real_China_irl自r/China_irl分裂出來的真太監區 r/YoumoTV幽默TV r/TZTV屠支TV 為了防止失聯，有人還做了「新冲浪联邦」的custom feed來彙整各sub消息。\n這裡指的新家不一定是r/QuanLangTV關閉後才成立的sub，而是人逐漸多起來就算新家。\n其中，默默存在已久的r/real_China_irl整體來說，政治討論氛圍更接近冲浪TV繼承者，但徹底禁止使用「支那」一詞，連蜘蛛emoji都不能用，違者直接封禁。勉強只允許「不興說」來代替「支那」。\n針對下體升級、留學離岸愛國的蜘蛛（支那豬），神友的評價很中肯了，難道還有更形象的說法嗎？ 我想共識應該是，「支那」正逐漸為西方國家認可的仇恨言論，所以跟尼哥一樣，都是不可以講的，可以看到巴哈之前也曾經考慮禁過。\n俗話說「三千神友包圍全網」，抽象文化正滲透到網路各處，只不過神友全盛時期\u0026hellip;張口閉口支那豬，各大社群媒體自然是不會允許這種極端言論。\n3. 看看冲浪TV下一個新家 # 網路吉普賽人是難以消滅的，廣義來說神友也是反賊，這時就要引用品蔥標題：我們將在沒有黑暗的地方相見。絕不是看守所的拷問白燈房間。\n權浪TV關閉後，Reddit站內站外有了很多新家，例如Scored、BBS.Market、CharlieBBS、冲浪tv Band群、Telegram、蔥輪TV，只不過都有各自的問題就是了。\n請看時局圖其三，Scored的神友描述：Band為舔狗群組、蔥輪TV縫合會自焚的法輪功、r/real_China_irl為牛子又長出來了的地方。 還有一個名為帶抗兔(r/DieCuntTwo)的sub收錄了權浪TV之前的各種言行合集，稱之為《權邦黨人文集》，這名字要笑死我。 在那之後，Reddit站上的神友逐漸遷往幽默TV和屠支TV。\n請參見還活著的Reddit沖浪TV新家\n","date":"2022年7月6日","externalUrl":null,"permalink":"/posts/the-fall-of-quanlangtv-on-reddit/","section":"Politics","summary":"本文最初發表於2022年7月6日。2023年10月4日修訂。\n唉，我們神系真的沒落了！2022年，自從Reddit的冲浪TV (r/chonglangTV) 和 查理TV (r/CLTV) 爆破後，神友相繼於站外建立新家，但也有人選擇繼續留在Reddit打拼，其中的權浪TV (r/QuanLangTV)屬於人數較多的板塊，沒想到自己關閉了。\nReddit上的情況，和站外的現況是如何呢？請見下面分曉。\n在一片分裂中，冲浪TV正以另外一種形式繼續下去了。\n1. 權浪TV的覆滅 # r/QuanLangTV存在時間：2021年9月 - 2022年6月\nr/QuanLangTV是一個性質類似r/CLTV的sub，中文「權浪TV」，代表色為粉色。\nsub頭像為一根古羅馬執政官拿的法西斯束棒。 我一直覺得權浪TV這個名字很好笑XD 有人說是呼應「權蛆」橫行取的名字，也有人說是口音很重的「冲浪TV」。\nr/QuanLangTV的板標大部份是拉丁文諺語，例如：\n法無禁止即可為。\n在r/CLTV被封後，神友逐漸湧入r/QuanLangTV。討論內容跟r/CTLV沒多少差別，請看神友製作的時局圖其一，可瞥見神友日常的言論為何。 r/QuanLangTV時期仍維持不能講支那的規矩，Mod設定機器人自動刪除含有「支那」的留言，並且換了個說法：\n现在不兴说这个了，被人盯着呢，先稳一稳。\n這種被Reddit站方追殺的壓力，請看下面的時局圖其二。r/CLTV在象徵愛與和平的LGBT驕傲月被Reddit封，下一個目標就是r/QuanLangTV了！ ","title":"【冲浪TV專題3】權浪TV r/QuanLangTV關閉，Reddit冲浪TV以另外一種形式繼續下去了","type":"politic"},{"content":" テスト用途でTermuxを頻繁にアンインストールするなら、Termuxのファイルをバックアップする方法を知っておく必要がある。再インストール後に素早く復元でき、Root権限は不要だ。\nTermux WiKiを参考にした。\n1. Termuxファイルをバックアップする # Termuxのバックアップ圧縮ファイルは自分で使うだけでなく、他の人へ提供することもできる。いわゆる「復元パック」だ。\nストレージ権限を取得する termux-setup-storage バックアップ圧縮ファイルを作成する。このコマンドはTermux外部ディレクトリのデータをバックアップするが、proot-distroは含まない。仮にTermuxのデータが10GBある場合、バックアップには約10分かかり、圧縮ファイルのサイズは約5GBになる。 tar -zcf /sdcard/termux-backup.tar.gz -C /data/data/com.termux/files ./home ./usr Root権限がない場合は、proot-distro backupコマンドを使ってProot-distroのデータを別途バックアップするしかない:\nproot-distro backup --output /sdcard/debianbackup.tar.gz debian Root権限がある場合、次のバージョンのコマンドならProot-distro内部ディレクトリのデータもまとめて単一ファイルへバックアップでき、proot-distro backupコマンドを使う必要はない。\npkg install tsu sudo tar -zcf /sdcard/termux-backup.tar.gz -C /data/data/com.termux/files ./home ./usr 2. Termuxバックアップファイルを復元する # Termuxのバックアップファイルを復元するのにRoot権限は不要だ。\nまずストレージ権限を取得する termux-setup-storage バックアップファイルが内部ストレージ/termux-backup.tar.gzにあると仮定し、それを展開して権限も復元する。このコマンドを実行するとデータは上書きされる。 tar -zxf /sdcard/termux-backup.tar.gz -C /data/data/com.termux/files --recursive-unlink --preserve-permissions exitを入力してTermuxを終了し、APPを開き直すとファイルが戻っている。 別途バックアップしたProot-distroを復元するには、次を実行する:\nproot-distro restore /sdcard/debianbackup.tar.gz ","date":"2022年7月5日","externalUrl":null,"permalink":"/ja-jp/posts/termux-backup-and-restore/","section":"Termux-Tutorials","summary":" テスト用途でTermuxを頻繁にアンインストールするなら、Termuxのファイルをバックアップする方法を知っておく必要がある。再インストール後に素早く復元でき、Root権限は不要だ。\nTermux WiKiを参考にした。\n1. Termuxファイルをバックアップする # Termuxのバックアップ圧縮ファイルは自分で使うだけでなく、他の人へ提供することもできる。いわゆる「復元パック」だ。\nストレージ権限を取得する termux-setup-storage バックアップ圧縮ファイルを作成する。このコマンドはTermux外部ディレクトリのデータをバックアップするが、proot-distroは含まない。仮にTermuxのデータが10GBある場合、バックアップには約10分かかり、圧縮ファイルのサイズは約5GBになる。 tar -zcf /sdcard/termux-backup.tar.gz -C /data/data/com.termux/files ./home ./usr Root権限がない場合は、proot-distro backupコマンドを使ってProot-distroのデータを別途バックアップするしかない:\nproot-distro backup --output /sdcard/debianbackup.tar.gz debian Root権限がある場合、次のバージョンのコマンドならProot-distro内部ディレクトリのデータもまとめて単一ファイルへバックアップでき、proot-distro backupコマンドを使う必要はない。\npkg install tsu sudo tar -zcf /sdcard/termux-backup.tar.gz -C /data/data/com.termux/files ./home ./usr 2. Termuxバックアップファイルを復元する # Termuxのバックアップファイルを復元するのにRoot権限は不要だ。\n","title":"Termuxのファイルをバックアップ・復元する方法","type":"termux-tutorials"},{"content":"","date":"2022年7月5日","externalUrl":null,"permalink":"/ja-jp/tags/google-drive/","section":"Tags","summary":"","title":"Google Drive","type":"tags"},{"content":" プライバシー重視のクラウドストレージ推薦、なぜGoogle DriveではなくMegaを選ぶのか？ この記事は複数のクラウドストレージを比較するものではなく、容量や価格を優先考慮せず、プライバシー保護を最大化するクラウドをどう選ぶかを論じるものだ。\n以下では、あなたのデータをクラウド事業者の中でどのように隠密に保つかを論じる。自前構築(self-hosting)は議論範囲に含めない。\n1. なぜGoogleのような主流クラウドストレージを選ばないのか # クラウドストレージ事業者を選ぶ時は用途を見るべきだ。仕事用ならGoogle Drive、Microsoft Onedrive、Dropbox、iCloudが間違いなく最も適している。これらは彼らのオフィスソフトウェアと深く統合されており、使っている人も多い。\nしかし個人クラウドならプライバシーを重視すべきなので、Mega、pCloud、Proton Driveのようなクラウドを選ぶべきだ。\nこれはGoogle Driveのようなクラウドが安全ではないと言っているのではない。主な問題は、より深い暗号化手続きが欠けていることだ。Googleは転送を暗号化し、他人にあなたのクラウドを見せない。しかしGoogleはあなたのファイル内容を見ることができる。そうすればアルゴリズムで整理するのに便利だし、ウイルス検査もできるからだ。\nGoogleの利用規約にもはっきり書かれている：\n二、プログラムポリシー\n私たちは、コンテンツが違法であるか、または《プログラムポリシー》に違反しているかを判断するために審査を行うことがあり、ポリシーまたは法律に違反していると合理的に確信するコンテンツを削除、または表示を拒否することができます。ただし、これは私たちが必ずコンテンツを審査するという意味ではないため、そのように認定しないでください。\nさらにGoogleサービス規約：\n権利\n本ライセンスにより、Googleは以下の動作を実行できます：\nあなたのコンテンツを管理、複製、配布、伝播および使用すること。たとえば、あなたがいつでもどこでもアクセスできるよう、あなたのコンテンツを私たちのシステム上に保存すること\nあなたのコンテンツを公開、公開送信、または公開展示すること（前提として、あなたが他人にこれらのコンテンツを閲覧できるよう開放している場合）\nあなたのコンテンツを変更し、あなたのコンテンツに基づいて派生作品を作成すること。たとえば、あなたのコンテンツの形式を再設定したり、翻訳したりすること\nこれらの権利を以下にサブライセンスすること：\n他のユーザー。サービスが設計目的どおりに動作するようにするため。たとえば、あなたが選択した相手と写真を共有できるようにすること\nGoogleと契約を締結した請負業者（契約内容は本条項の規定に合致しなければならない）。ただし、サブライセンスの目的は下方の目的節に記載された少数の目的に限られる\nこの悪い点は、Googleが著作権物を簡単に検出できる可能性があることだ。あるいは老司機が置いた内容が危険すぎる場合、将来的には二次元の仮想画像も犯罪と見なされるかもしれない。検出されればGoogleが削除してくれるし、時には警察に通報することもある。\nユーザーが先に違法行為をしているとはいえ、クラウドストレージ事業者には一定の審査能力があることもわかる。もちろん欧米のものは中国のようにガラスの心ではない。\nユーザーはファイルを事前に暗号化してからアップロードすれば、誰もスキャンできなくなる。しかしそうするとクラウドはコールドストレージの場所になり、便利にファイルへアクセスする空間ではなくなる。デバイス間でもアクセスしにくくなり、クラウドの設計初衷に反する。\nさらに、クラウド事業者が管制しないと表明していたとしても、あなたの敏感なデータをクラウド事業者が直接見られる状態にするのはやはり避けたほうがよい。私自身のやり方は、Google Driveを完全に仕事用ファイルを置く場所とし、個人ファイルやプロジェクトは置かずに済むなら置かないことだ。\nだから私たちはいくつかの安全概念を説明し、Megaの実例と合わせて、クラウド事業者が知ることのできるユーザー情報をどう最小化するかを理解する。そのうえで、これらの特性を備えたクラウド事業者を選ぶ。\nこのような世の中でプライバシーを得ようとするなら、必ず利便性を犠牲にしなければならない。\n2. ゼロ知識証明 # Wikipediaによると：\nZero-knowledge proofとは、一方（証明者）がもう一方（検証者）に対して、ある命題を証明する方法であり、その特徴は、過程において「その命題が真である」こと以外、いかなる情報も漏らさないことにある。\nつまり「メッセージに関するいかなるデータも提供しないが、それでも相手にそのメッセージが正しいと納得させることができる。」(出典)\nMegaは公式説明で、彼らはあなたのデータを見ることができず、あなただけが見られると強調している。\nゼロ知識証明の概念はブロックチェーン取引にも大量に応用されている。\n3. E2EEエンドツーエンド暗号化 # E2EEはEnd-to-end encryptionである。\nWikipediaによると：\n通信に参加するユーザーだけが情報を読むことのできる通信システムである。エンドツーエンド暗号化を使用する通信事業者は、ユーザーのメッセージを復号できず、顧客の通信メッセージを当局に提供することもできない。エンドツーエンド暗号化システムでは、暗号化・復号に用いる鍵は、通信に参加する各当事者だけが保持しなければならない。\nMegaは公式説明で、ファイル、フォルダー、サムネイル、チャットメッセージ、音声・映像ストリーミングはいずれもエンドツーエンド暗号化を採用していると述べている。\n《Mega的端对端加密实现》一文を参照すると、Megaログイン後には以下の操作が行われる：\nユーザーが Email とパスワードを入力する； Emailがサーバーに送信され、データベースに存在するか検査される。成功した場合はユーザーの Salt値を返し、そうでない場合は乱数生成による Salt値を返す。この過程では時間攻撃を防ぐため、ランダム遅延が導入される； クライアントは入力されたパスワードと取得した Salt値に基づき Derived Key を計算する； Derived Keyの後半部分をサーバーに送信して検証し、一致すればユーザーのパスワードが正しいことを証明する。サーバーはユーザーの暗号化されたMaster Key、秘密鍵、および公開鍵で暗号化されたSession IDを返す； クライアントはDerived KeyでMaster Keyを復号し、後者を使って秘密鍵を復号し、さらに秘密鍵でSession IDを復号する； クライアントは以後のリクエストにSession IDを付け、身分を示す。 ファイルアップロード部分については、T客邦の記事：《MEGA 為什麼敢說很安全？用密碼與三把鑰匙，打造最安全的雲端服務》によると、Megaはファイルアップロード時にブラウザーのローカルで暗号化し、128bit鍵を一つ作成する。これによりMegaサーバーはファイル内容を知ることができない。\nファイルがMegaサーバーへ送られる前に、あなたのアカウントパスワードでそのファイルの鍵をもう一度暗号化する。ユーザーのパスワードはアカウントのMaster keyを復号するために使われ、Master keyはクラウドファイルのRSA private keyを復号するために使われる。この中でユーザーのパスワードだけがMegaサーバーへ送信されない。\nだから、Megaでファイルリンクを他人に共有する時には、復号用の鍵を提供する必要がある。ただし利便性を考慮して、Megaはデフォルトで共有リンクを生成する時、復号鍵を直接URLの中に入れる。\nそのため、Hash照合以外にも、あなたが著作権物を公開共有すれば、他人に通報されやすい。\n4. エンドツーエンド暗号化クラウドによくある欠陥 # 復号手続きを行う必要があるため、エンドツーエンド暗号化クラウドは多くの場合、読み込みにより長い時間がかかる。そのため「オンラインで文書を編集する」サービスには不利だ。このような安全性を強調する技術は苦労の割に報われず、多くのクラウド事業者はそのため最初から提供しないのかもしれない。\nMegaとGoogle Driveを比べると、スマホ版ではAPPを開いてから復号に10秒ほど余分にかかり、PC版Webページでもページ読み込みに10秒かかる。\nMegaはユーザーにMaster Keyのバックアップを勧めており、これを復元鍵(Recovery key、一つのtxtファイル)と呼ぶ。Megaアカウントのパスワードはサーバーへ送信されないため、パスワードを忘れても彼らは取り戻す手伝いができない。復元鍵すらなければ、あなたのファイルは本当にGGである。\n5. プライバシー、暗号化、安全性を重視するクラウド # 以上二点を読み、技術的欠陥を理解した後で、事業者を選ぼう。少し金を払っても構わない。\nここに挙げるのは、台湾で有料利用できるクラウド事業者である。\npCloud # 会社は米国と欧州にある。無料容量10GB、暗号化なし。月払いと買い切りプランがあり、暗号化オプションは追加購入が必要。\nMEGA # 会社はニュージーランドにある。以前は無料アカウント登録で50GBの容量がもらえたが、その後一日のダウンロード流量を制限し始め、新規登録アカウントは15GBに縮小された。容量面ではすでに優位性がなく、価格は普通。\n唯一の長所は暗号化だけになった。\nクラウドには一部オープンソースのコードがある。PC版の同期プログラムはクロスプラットフォームで、そこそこ良い。Web版ログインには復号のため時間がかかり、スマホAPPを開く時も同じだが、速度と操作性は以前よりかなり安定している。\nダウンロード速度については運次第で、大部分の時は速くも遅くもない。\nProton Drive # 会社はスイスにある。無料容量1GB。Protonmailエコシステムと統合されたクラウドで、価格は高めで容量も小さい。\n6. まとめ # 上で述べたように、私はGoogle Driveを仕事用クラウドとして扱い、個人ファイルやプロジェクトは置かずに済むなら置かない。\n現在、暗号化クラウドで最も使いやすいのは、やはりMegaだ。\nだから敏感なデータを保存する時は、できるだけ暗号化保護のあるクラウドを選ぶ。Megaには中国人による買収騒動があったが、その後ニュージーランド政府も出資している。\n比較的信頼できるものを選ぶしかない。彼らのポリシーがユーザーに嘘をついておらず、現行のMega暗号化技術を迂回する操作を開発していないと仮定する。なにせ彼らはEUのGDPRを遵守しなければならないので、監視リスクは減る。\nしかしニュージーランドはFive Eyesの加盟国であり、この点は注目に値する。おそらくファイルをクラウドに置くことは長久の計ではない。やはり国際情勢の報道にはもっと注意を払うべきだ。\n","date":"2022年7月5日","externalUrl":null,"permalink":"/ja-jp/posts/why-mega-not-google-drive/","section":"Foss-Issues","summary":" プライバシー重視のクラウドストレージ推薦、なぜGoogle DriveではなくMegaを選ぶのか？ この記事は複数のクラウドストレージを比較するものではなく、容量や価格を優先考慮せず、プライバシー保護を最大化するクラウドをどう選ぶかを論じるものだ。\n以下では、あなたのデータをクラウド事業者の中でどのように隠密に保つかを論じる。自前構築(self-hosting)は議論範囲に含めない。\n1. なぜGoogleのような主流クラウドストレージを選ばないのか # クラウドストレージ事業者を選ぶ時は用途を見るべきだ。仕事用ならGoogle Drive、Microsoft Onedrive、Dropbox、iCloudが間違いなく最も適している。これらは彼らのオフィスソフトウェアと深く統合されており、使っている人も多い。\nしかし個人クラウドならプライバシーを重視すべきなので、Mega、pCloud、Proton Driveのようなクラウドを選ぶべきだ。\nこれはGoogle Driveのようなクラウドが安全ではないと言っているのではない。主な問題は、より深い暗号化手続きが欠けていることだ。Googleは転送を暗号化し、他人にあなたのクラウドを見せない。しかしGoogleはあなたのファイル内容を見ることができる。そうすればアルゴリズムで整理するのに便利だし、ウイルス検査もできるからだ。\n","title":"プライバシー重視のクラウドストレージ、なぜGoogle DriveではなくMegaを選ぶのか？","type":"foss-issues"},{"content":"如果說Minetest Game要找個吉祥物，在最新版5.5.0中，還真的只有Sam足以當作Minetest Game的形象代表。Minetest曾經有內建怪物，但後來都移除了。\n1. Minetest預設的玩家名字 # Minetest玩家預設的皮膚叫做Sam。就跟許多Unix玩笑一樣，Sam這個名字是「Sam Ain\u0026rsquo;t Minecraft」的遞迴縮寫。玩家擁有10顆心的血量，10點的氧氣值。在Minetest Game中，玩家死亡後身上的物品會全部掉落，並在死亡地點生成一個骨骸收集玩家的物品，而玩家會重生至重生點。 因為Minetest可以安裝子遊戲和模組擴充玩法，Sam的形象可以替換成其他樣子，甚至有些模組會把Sam改成非方塊狀的外貌。\n至於複製Minecraft玩法的子遊戲「VoxeLibre」的主角形象嘛\u0026hellip;最近Reddit就有人做了這張梗圖。 2. Minetest的生物 # 接下來我們來談談生物。\n生物英文通稱「mob」。在Minetest裡，生物跟玩家一樣，都是「Object」的一種。\n在Minetest預設的子遊戲Minetest Game中，玩家不會碰到任何生物。基本上官方的態度就是要玩家自己裝模組，選擇想要的生物。\nMinetest Game最像生物的是半方塊性質的「蝴蝶」和「螢火蟲」，其實就只是一格像素所構成，會隨機生成在大自然，可用「蟲網」捕捉或裝在瓶子裡面。 但是Minetest發展到0.3.0版本時，曾加入二種怪物。後來被移除，所幸有人將其做成模組保留這些點子。\n首先是Oerkki，生成在地底下的敵對生物，會給玩家造成一顆心傷害，但只要玩家攻擊它，它就會逃跑。 Oerkki後來有在MOB Framework、Creatures MOB-Engine、Simple Mobs這些模組中出現，形象不太一樣。 再來是Dungeon Master，Minetest的地圖生成器會生成地牢，那當然需要一個鎮守的怪物。Dungeon Master很像熊與無頭人的合體，在暗處的石頭上生成，發射火球攻擊玩家，並且可以破壞任何方塊。Wiki說玩家要空手打15下才會死，但玩家一碰到它就會損失半顆心，火球則有4顆半心的傷害。 Dungeon Master亦有在Simple Mobs中出現。 Minetest Game長期以來沒有生物，導致能讓玩家記住的Minetest代表可是一點也沒有。但因為有Minetest NG的內容合併至主線Minetest Game的前例，或許我們可以期待哪天官方會願意把某個受歡迎的生物模組，合併到主線。\n參考資料 # 以上生物的圖片來自Minetest Wiki。\nWhat features do you most associate with Minetest? ","date":"2022年7月3日","externalUrl":null,"permalink":"/posts/minetest-sam-and-removed-mobs/","section":"Luantis","summary":"如果說Minetest Game要找個吉祥物，在最新版5.5.0中，還真的只有Sam足以當作Minetest Game的形象代表。Minetest曾經有內建怪物，但後來都移除了。\n1. Minetest預設的玩家名字 # Minetest玩家預設的皮膚叫做Sam。就跟許多Unix玩笑一樣，Sam這個名字是「Sam Ain’t Minecraft」的遞迴縮寫。玩家擁有10顆心的血量，10點的氧氣值。在Minetest Game中，玩家死亡後身上的物品會全部掉落，並在死亡地點生成一個骨骸收集玩家的物品，而玩家會重生至重生點。 因為Minetest可以安裝子遊戲和模組擴充玩法，Sam的形象可以替換成其他樣子，甚至有些模組會把Sam改成非方塊狀的外貌。\n至於複製Minecraft玩法的子遊戲「VoxeLibre」的主角形象嘛…最近Reddit就有人做了這張梗圖。 2. Minetest的生物 # 接下來我們來談談生物。\n生物英文通稱「mob」。在Minetest裡，生物跟玩家一樣，都是「Object」的一種。\n在Minetest預設的子遊戲Minetest Game中，玩家不會碰到任何生物。基本上官方的態度就是要玩家自己裝模組，選擇想要的生物。\n","title":"Minetest Game的主角「Sam」以及曾存在過的生物","type":"luanti"},{"content":"雖然說是嵌入，但並不是檔案檢視器，而是把PDF即時渲染成左右翻頁的靜態圖片，如圖: 如果要真的在網頁嵌入PDF，Google Drive的PDF元件應該是最方便的了，不過手機瀏覽的話會變成下載PDF。而渲染成圖片的話，讀者可以直接在網站上讀。\n1. 安裝 # 複製anvithks的儲存庫 git clone https://github.com/anvithks/hugo-embed-pdf-shortcode.git cd hugo-embed-pdf-shortcode 將/layouts/shortcodes/embed-pdf.html複製到你的網站目錄/layouts/shortcodes。如果shortcodes目錄不存在，就自行新建。\n將/static/js/pdf-js複製到你的網站目錄/staic/js目錄下。\n根據Github回報，這個shortcode有小bug，因此要開啟你的網站目錄/layouts/shortcodes/embed-pdf.html，將第一行改成：\n\u0026lt;script src= \u0026#39;/js/pdf-js/build/pdf.js\u0026#39;\u0026gt;\u0026lt;/script\u0026gt; 2. 使用 # 在撰寫Markdown文章時，在檔案內插入以下語法(最前面的二個大括號中間沒有空格)： { {\u0026lt; embed-pdf url=\u0026#34;pdf路徑\u0026#34; \u0026gt;}} 假設pdf檔案位於你的網站目錄/static/file/example.pdf，那麼引用pdf時要填寫相對路徑： { {\u0026lt; embed-pdf url=\u0026#34;/file/example.pdf\u0026#34; \u0026gt;}} 尚有參數可調整，例如隱藏分頁： { {\u0026lt; embed-pdf url=\u0026#34;./path/to/pdf/file/example.pdf\u0026#34; hidePaginator=\u0026#34;true\u0026#34; \u0026gt;}} 只渲染特定頁面： { {\u0026lt; embed-pdf url=\u0026#34;./path/to/pdf/file/example.pdf\u0026#34; renderPageNum=\u0026#34;5\u0026#34; \u0026gt;}} 隱藏載入的圖示： { {\u0026lt; embed-pdf url=\u0026#34;./path/to/pdf/file/example.pdf\u0026#34; hideLoader=\u0026#34;true\u0026#34; \u0026gt;}} ","date":"2022年7月2日","externalUrl":null,"permalink":"/posts/embed-pdf-in-hugo/","section":"所有文章","summary":"雖然說是嵌入，但並不是檔案檢視器，而是把PDF即時渲染成左右翻頁的靜態圖片，如圖: 如果要真的在網頁嵌入PDF，Google Drive的PDF元件應該是最方便的了，不過手機瀏覽的話會變成下載PDF。而渲染成圖片的話，讀者可以直接在網站上讀。\n1. 安裝 # 複製anvithks的儲存庫 git clone https://github.com/anvithks/hugo-embed-pdf-shortcode.git cd hugo-embed-pdf-shortcode 將/layouts/shortcodes/embed-pdf.html複製到你的網站目錄/layouts/shortcodes。如果shortcodes目錄不存在，就自行新建。\n將/static/js/pdf-js複製到你的網站目錄/staic/js目錄下。\n根據Github回報，這個shortcode有小bug，因此要開啟你的網站目錄/layouts/shortcodes/embed-pdf.html，將第一行改成：\n\u003cscript src= '/js/pdf-js/build/pdf.js'\u003e\u003c/script\u003e 2. 使用 # 在撰寫Markdown文章時，在檔案內插入以下語法(最前面的二個大括號中間沒有空格)： { {\u003c embed-pdf url=\"pdf路徑\" \u003e}} 假設pdf檔案位於你的網站目錄/static/file/example.pdf，那麼引用pdf時要填寫相對路徑： { {\u003c embed-pdf url=\"/file/example.pdf\" \u003e}} 尚有參數可調整，例如隱藏分頁： { {\u003c embed-pdf url=\"./path/to/pdf/file/example.pdf\" hidePaginator=\"true\" \u003e}} 只渲染特定頁面： { {\u003c embed-pdf url=\"./path/to/pdf/file/example.pdf\" renderPageNum=\"5\" \u003e}} 隱藏載入的圖示： { {\u003c embed-pdf url=\"./path/to/pdf/file/example.pdf\" hideLoader=\"true\" \u003e}}","title":"在Hugo生成的靜態網頁內嵌入PDF，渲染為PNG圖片","type":"posts"},{"content":"Minetest官方論壇曾在2021年12月舉辦「Minetest Game Jam」比賽，鼓勵玩家製作更多原創子遊戲。為期一個月，由評審給分和玩家評分決定名次。總獎金亦由玩家們提供，共720美金，第一名獲得50%，第二名30%，第三名20%。 這場比賽催生了許多有一定品質的子遊戲，避免一個好點子長期處在WIP狀態又缺乏穩定度。比賽結束後這些子遊戲仍留在ContentDB上，供其他玩家下載。\n1. 比賽規則 # 2021年12月1日開始，12月22日截止，玩家製作子遊戲投稿至ContentDB並打上Jam / Game 2021標籤。之後開始評比和投票，2022年1月1日公佈結果。\n子遊戲內容必須為完全原創，不可基於現有的Minetest Game，使用第三方素材需要註明。子遊戲需與Minetest 5.4.1以上版本相容。\n製作者須考慮：\n遊戲創新度，有無新機制，是否有預料外的體驗？ 遊戲玩法是一口氣玩完的，還是可以深入探索？ 遊戲是設計完善(polished)的嗎？還是有很多可以探索的？ 音效視覺，有精美紋理和好聽的音樂嗎？設計風格是否連貫？工程師繪製的美術圖能吸引人嗎？ 遊戲是否穩定？會不會突然崩潰，或是在終端機顯示錯誤訊息？ 客觀加分事項：\n子遊戲穩定度 子遊戲有公開Git儲存庫 子遊戲安裝後直接就能玩，不需加mod。 2. 比賽貢獻者 # 獎金由以下用戶合力提供，使用不自由的金融服務Paypal支付獎金。\nMisterE MinetestVideos cupOjoseph GreenXenith Norojop Blockhead nogajun 評審為以下用戶擔當：\nBenrob0329 celeron55 GreenXenith Hugues Ross Krock (SmallJoker) MinetestVideos (Nathan Salapat) MisterE rubenwardy sfan5 Warr1024 3. 比賽結果 # 分數計算方式為：社群評分(30%)+評審評分(60%)+客觀評分(10%)，詳細資料請看這裡。\n總共有25個子遊戲參賽，前三名由以下作品取得：\n第一名: Alter by yaman ($360)\n第二名: Subway Miner by AFCM ($216)\n第三名: Little Lady by Just_Visiting/ExeVirus ($144)\n25個子遊戲的最終排名： 社群評分、評審評分、總分的差異： 4. 參賽的25個子遊戲特色 # 評審有留下對25個子遊戲的評語，裡面除讚賞玩家創意外，遇到爛遊戲也是會毫不留情開罵。\n雖說如此，名次低的也是有一看的價值，以下簡介參賽的25個遊戲。\nAlter # 在ContentDB下載 解謎遊戲，玩家要聽從指示，使用傳送方塊完成通關。\nArcade 3D # 在ContentDB下載 3D版的小精靈遊戲，目標就是吃金幣，避免被鬼抓到。\nBalloonair # 在ContentDB下載 操控熱氣球往前飛，取得更高分數，避免降落。吃到瓦斯罐和沙包會讓你飛更快，吃到盾牌可防鳥擊。\nBerzerkpt # 在ContentDB下載 受Atari 2600啟發的關卡制動作遊戲。玩家身在古埃及，要反抗上層階級的統治，打倒所有怪物，避免死亡。\nBlockbomber # 在ContentDB下載 類似炸彈人的遊戲，玩家要放置炸彈，並善用道具攻擊其他玩家，成為最後存活下來的人。此遊戲僅供多人遊玩，場地可用同作者提供的另外套件編輯。\nBuild\u0026rsquo;N\u0026rsquo;Buy # 在ContentDB下載 受《Minecraft Championship》的「Build Mart」所啟發，玩家必須購買方塊，蓋出建築物。\nBuilda City # 在ContentDB下載 多人建造城市遊戲，透過能源設施獲得金幣，購買材料，改善城市面貌。\nCoconut Collection # 在ContentDB下載 受到OUYA game《Coconut Hut》所啟發的遊戲。玩家要蒐集椰子，購買更好的工具。\nColour Hop # 在ContentDB下載 蒐集顏色，讓無機的世界重新充滿色彩，甚至要挑戰巨龍。\nGrand Theft Box # 在ContentDB下載 喜歡箱子？喜歡當小偷？來玩這款俠盜獵箱手吧。玩家在一個方塊城市裡到處亂晃，沒有目的。\nHoliday Horrors # 在ContentDB下載 在充滿書櫃的房間，用鑽石劍跟怪物對打。\nJail Escape # 在ContentDB下載 在隨機生成的迷宮地圖中，想辦法逃離監獄！不要警衛抓到了，途中會有戰利品箱，可能會有有用的物品。最後逃出生天，還要來個奮力一躍。\nLazarr! # 在ContentDB下載 玩家扮演一個海盜，在箱子中尋找金塊，全找到後方可晉級。但在那之前，要先調整所有雷射軌道，避免被雷射傷害。\nLittle Lady # 在ContentDB下載 關卡制的解謎遊戲，玩家扮演小瓢蟲，想辦法通關，玩的時候記得開聲音欣賞音樂。\nLuckyDude # 在ContentDB下載 玩家眼前會有4個方塊，猜猜哪個是最後才能點選的？紅色代表點錯了，灰色代表不錯，綠色代表正確。以此來累積分數。\nMinegistic # 在ContentDB下載 玩家需要建造鐵軌和運輸系統，運送資源到市場，換取金錢，發電廠需要煤炭來補充能源。\nModular Portals # 在ContentDB下載 建造傳送門，會在牆壁另一頭的同一側開啟，例如上下左右。試試將9個房間互相連接在一起吧。\nMoontest # 在ContentDB下載 玩家扮演在新發現的月亮上工作的探勘員，你的居住處及採集設備都已經建造完成。玩家必須要維持核反應爐的平衡負載，確保氧氣供應器是否充足，查看挖礦鑽頭等等，玩家需要隨時注意這些設備是否正常，以求能生存下去，獲得一定點數後通關。\nParkour # 在ContentDB下載 簡易的跑酷遊戲，內建的模組可供玩家自行設計關卡。\nSnake 3D # 在ContentDB下載 3D版的貪食蛇遊戲，蒐集蘋果身體就會變長。\nSolar Plains: Invector # 在ContentDB下載 卡丁車賽車遊戲，可用武器攻擊敵人。生存模式進入比賽，創造模式編輯賽道。目前尚不支援多人遊戲。\nspMeTeR # 在ContentDB下載 在手工製作的地圖中用武器跟怪物對打，收集資源，換取金錢。\nStella # 在ContentDB下載 使用鎬子挖掘紫色柱子，擴張你的島嶼。\nSubway Miner # 在ContentDB下載 受到《Subway Surfers》和《Temple Run》啟發的遊戲。操控玩家跳過軌道上的障礙，吃金幣取得更高分數。\nsurvivethedays # 在ContentDB下載 生存遊戲，玩家可以選擇難易度。\nTowerDefense # 在ContentDB下載 塔防遊戲，建造砲塔，攻擊敵人。\n5. 參考資料 # 2021 Minetest GAME JAM [December 1st-21st] [$720 prize pool] [POST-MORTEM!] Minetest Game Jam Data Repository ","date":"2022年7月2日","externalUrl":null,"permalink":"/posts/2021-minetest-game-jam/","section":"Luantis","summary":"Minetest官方論壇曾在2021年12月舉辦「Minetest Game Jam」比賽，鼓勵玩家製作更多原創子遊戲。為期一個月，由評審給分和玩家評分決定名次。總獎金亦由玩家們提供，共720美金，第一名獲得50%，第二名30%，第三名20%。 這場比賽催生了許多有一定品質的子遊戲，避免一個好點子長期處在WIP狀態又缺乏穩定度。比賽結束後這些子遊戲仍留在ContentDB上，供其他玩家下載。\n1. 比賽規則 # 2021年12月1日開始，12月22日截止，玩家製作子遊戲投稿至ContentDB並打上Jam / Game 2021標籤。之後開始評比和投票，2022年1月1日公佈結果。\n子遊戲內容必須為完全原創，不可基於現有的Minetest Game，使用第三方素材需要註明。子遊戲需與Minetest 5.4.1以上版本相容。\n製作者須考慮：\n遊戲創新度，有無新機制，是否有預料外的體驗？ 遊戲玩法是一口氣玩完的，還是可以深入探索？ 遊戲是設計完善(polished)的嗎？還是有很多可以探索的？ 音效視覺，有精美紋理和好聽的音樂嗎？設計風格是否連貫？工程師繪製的美術圖能吸引人嗎？ 遊戲是否穩定？會不會突然崩潰，或是在終端機顯示錯誤訊息？ 客觀加分事項：\n子遊戲穩定度 子遊戲有公開Git儲存庫 子遊戲安裝後直接就能玩，不需加mod。 2. 比賽貢獻者 # 獎金由以下用戶合力提供，使用不自由的金融服務Paypal支付獎金。\n","title":"從Minetest Game Jam 2021發掘值得一玩的子遊戲","type":"luanti"},{"content":"老子說：千里之行始於足下。這邊文章講述了Github的缺點，以及為何應該拒用Github。\nGive Up GitHub! # 原文網址：https://sfconservancy.org/GiveUpGitHub/ 作者：軟體自由保護組織 (Software Freedom Conservancy) 原始文章授權：CC BY-SA 4.0 翻譯： Ivon Huang 我們知道這並不容易，Github無處不在。在他們成功的行銷之下，Github向FOSS (自由和開源軟體) 開發者證明了這是最佳 (也可能是唯一) 的FOSS開發平台。然而，作為含有專有軟體，商業祕密工具的平台，Github的理念與FOSS精神恰好相反。相較之下，Git當初就是開發用來取代專有軟體\u0026quot;Bitkeeper\u0026quot;的，並且能分散式的開發FOSS的軟體，去中心化，不依賴中心站點。Github將Git包裝後，加入一些擴充功能，讓原本分散、平等、FOSS的系統成為中心化、專有的站點。並且，那些擴充功能皆是由單個營利公司所控制。現有的FOSS開發社群使用Github，讓新來的開發者加入這個專有平台，讓Github名聲漸廣，同時也限制了下一代FOSS開發者的眼界。\n我們知道很多人每天都會依賴Github。要放棄使用隨處可見、免費、有用的工具是很難的，即使他是專有軟體。對軟體開發者來說，棄用Github可能比棄用Facebook還難！我們不會責怪正在掙扎的你，但是我們希望你可以讀讀看下面關於放棄Github的理由，以及尋求更好的替代品方案。 並且，請偶爾回來看這篇文章，我們會繼續更新相關內容。\n為什麼要棄用Github？ # 有很多放棄Github的理由，但下面我們只列出最重要的：\nCopilot是營利工具 # Copilot是由微軟和子公司Github所開發的工具，使用AI自動生成程式碼輔助開發者。按照Github官方聲明，AI模型是使用Github上託管的專案所訓練，包含使用著作傳授權條款的專案。這些專案可沒有進入公有領域，而是使用FOSS授權條款發布的。這些條款要求適當的標注作者，有些著作傳條款還會要求以該專案開發的軟體必須使用同樣條款發布。這一年以來，微軟和Github長期無視這些條款。他們唯一做出的辯護是前Github CEO發的一條推文，認為該領域已有相關法律規定，屬合理使用。然而這是錯誤的，該領域尚未立法。除了法律問題外，Github使用著作傳保護的程式碼來開發專有軟體，其中有嚴重的道德問題存在。\n與美國移民局的關係 # 2020年，社群成員發現Github與美國移民局(ICE)有簽訂營利性質的軟體服務合約。社運人士和Github員工二年來不斷呼籲Github取消此合約，但Github卻回覆，母公司微軟多年來都向ICE販售Microsoft Word，也不見有人抱怨。他們宣稱很多企業都跟政策有問題的機關做生意。不論你對ICE的觀感如何，Github對重要議題的輕蔑和不誠實，再再證明了Github將公司營利置於社群意見之上。\n假裝支持FOSS軟體 # 即使Github一直假裝他們支持FOSS軟體 (就像前輩SourceForge一樣)，但他們的託管網站完全就是專有軟體和商業軟體組成。我們很感謝Github讓他們員工偶爾貢獻部份FOSS專案的上游原始碼，但社群已經被Github傷害太久。他們宣稱支持FOSS軟體，卻要求社群依賴他們的專有軟體。我們不能再讓Github這樣欺壓下去了！\n不提供自託管選項 # Github跟同類FOSS專案託管公司的最大不同在於，他們沒有提供自託管的選項。他們所有的程式碼都是不公開的。舉例來說，我們在批評Gitlab的商業運營模式時，講到他們提供「社群版」和「企業版」的差別待遇，但至少Gitlab社群版有基本的自託管能力，並且是100%開源的。此外，像CodeBerg這種非營利的FOSS軟體託管網站，他們的平台是完全自由開源的。\n不尊重著作傳 # Github長期以來便不尊重著作傳的價值。歷任CEO皆公開對著作傳持負面態度。創始人兼前CEO曾在OSCON上的演講中攻擊著作傳和GPL。上樑不正下樑歪，多年來我們發現，Github的員工在許多場合都說服人們不要使用著作傳條款，甚至還有Github員工在Bug ticket上公開呼籲不要使用著作傳條款。\n他是微軟的財產 # Github是微軟的全權子公司，微軟過去便不斷攻擊著作傳條款。\n要怎樣棄用Github呢？ # 專有軟體的廠商陷阱導致人們難以離開Github。我們擔心的是，Github作為「工程師的Facebook」已經成功製造了有史以來最誘人的圍牆花園，吸引了無數FOSS軟體開發者。就像離開Facebook，你就會不知道怎樣跟朋友家人聯絡；離開Github，你就會不知道怎樣認識其他開發者，以及和其他開發者合作。Github甚至會成為向你雇主展示開發成果的平台。我們也知道有些電腦科學的課程還會要求學生去使用Github。\n因此，我們呼籲現況為舒適安穩的FOSS專案領導者、開發者、管理者、面試官，能夠拒絕使用Github的專有軟體服務。我們知道你可能會受到未來雇主、雇傭你開發FOSS專案人士的壓力，要你使用Github。這類集體行為，需要上層開發者首先做出行動才能改變，以成為他人榜樣。這也是為何我們不只要你離開Github，還要協助更多人放棄Github。你可以協助新加入的開發者，避免被Github導致的內部權力不平等所傷害。設定議程，將你的FOSS專案託管在其他平台。\n同時，我們也向面試官、社群領導者，還有那些鼓勵新加入的貢獻者使用Github的上層人士喊話。一旦你決定將專案託管在Github，個人貢獻者就不得不使用Github的專有且傷害性的產品。如果你是決策者，或是社群中擁有權力的人士，我們希望你能將社群的貢獻導向FOSS的平台，而非Github。如果你是個人開發者，覺得離開Github倍感困難，那請閱讀我們下面的推薦方法，之後會再陸續新增。\n為了未來考量，我們會讓這個網址保持不變，並能從GiveUpGitHub.org連結過來，內含幫助大眾的資源，協助上層開發者、新手開發者，以及眾多的FOSS軟體貢獻者離開Github。如果你認為你的專案還無法脫離Github，我們希望你能把這段聲明加入到README.md，宣示你的態度。如果你已經離開了Github，請改用這段README.md的範本取代現有的版本。\n千里之行始於足下。 The journey of a thousand miles begins with a single step. — 老子 (Lao Tsu) in Chapter 64 of 道德经 (Tao Te Ching)\n棄用Github的幫助資源 # 這裡是幫助你離開Github的資源。如果有更多資訊，我們會隨時更新此列表。如果你想跟我們分享尚未列在上面的資源，請在Give-Up-GitHub郵件清單跟我們討論。\n替代託管服務 # CodeBerg SourceHut 自託管(或加入自託管群組)，有以下選項 # Gitea Gitlab社群版 (注意，Gitlab.com上的Gitlab企業版就跟Github一樣，含有許多商業軟體、專有軟體，會有專有軟體廠商陷阱。) （我們很快就會加入架設自託管服務的教學！）\n在棄用Github前，你可以做的事 # 即使你還是Github用戶，你還是可以幫忙喚醒大眾關注這個議題。(未來將加入更多方法)\n將這段聲明加到你的README.md，跟使用者分享你對Github的看法。\n在貢獻Github上的專案前，用尊重和友善的口氣詢問開發者，是否能使用Github以外的方法進行貢獻。\n向雇主說明依賴Github的專有軟體和廠商陷阱的風險。\n加入give-up-github的郵件清單，分享你離開Github的難處。這樣能幫助我們尋找解決方式，並將解決方法添加至此頁面。\n","date":"2022年7月1日","externalUrl":null,"permalink":"/posts/give-up-github/","section":"Foss-Issues","summary":"老子說：千里之行始於足下。這邊文章講述了Github的缺點，以及為何應該拒用Github。\nGive Up GitHub! # 原文網址：https://sfconservancy.org/GiveUpGitHub/ 作者：軟體自由保護組織 (Software Freedom Conservancy) 原始文章授權：CC BY-SA 4.0 翻譯： Ivon Huang 我們知道這並不容易，Github無處不在。在他們成功的行銷之下，Github向FOSS (自由和開源軟體) 開發者證明了這是最佳 (也可能是唯一) 的FOSS開發平台。然而，作為含有專有軟體，商業祕密工具的平台，Github的理念與FOSS精神恰好相反。相較之下，Git當初就是開發用來取代專有軟體\"Bitkeeper\"的，並且能分散式的開發FOSS的軟體，去中心化，不依賴中心站點。Github將Git包裝後，加入一些擴充功能，讓原本分散、平等、FOSS的系統成為中心化、專有的站點。並且，那些擴充功能皆是由單個營利公司所控制。現有的FOSS開發社群使用Github，讓新來的開發者加入這個專有平台，讓Github名聲漸廣，同時也限制了下一代FOSS開發者的眼界。\n我們知道很多人每天都會依賴Github。要放棄使用隨處可見、免費、有用的工具是很難的，即使他是專有軟體。對軟體開發者來說，棄用Github可能比棄用Facebook還難！我們不會責怪正在掙扎的你，但是我們希望你可以讀讀看下面關於放棄Github的理由，以及尋求更好的替代品方案。 並且，請偶爾回來看這篇文章，我們會繼續更新相關內容。\n","title":"軟體自由保護組織：是時候放棄使用Github了！","type":"foss-issues"},{"content":"LWScratch這款Minetest教育用模組，提供類似MIT Scratch的圖形化程式設計環境，玩家可以給遊戲中的機器人設計程式，令其執行挖礦、放置方塊的動作。此外還有卡帶能夠分享機器人的程式碼給其他玩家使用。\nMinetest是什麼？ 在ContentDB下載LWScratch模組 Minetest模組安裝教學 原作者loosewheel的程式示意圖。 Minetest Video所製作的模組介紹影片 1. 取得機器人和卡帶 # 機器人和卡帶 (cassette) 都可以用Minetest Game內建的素材合成。 2. 機器人權限 # 此模組有針對多人遊戲優化，適合跟教室模組一起使用。\n於世界中放置機器人時，會有對話框詢問要將機器人設定為公開還是私有。選擇私有，則放置的玩家會成為該機器人的主人，其他玩家除非有protection_bypass的特權，否則無法操控該機器人。 接著玩家可以給機器人取名字。\n用卡帶左鍵點選機器人複製程式，蹲下並左鍵點一下其他機器人貼上程式。\n3. 邏輯判斷 # 右鍵點選機器人開啟面板，左邊的是程式碼區塊，右上角的是指令方塊，中間左邊的是機器人背包，右下角的是玩家背包。右上角黑色按鈕是開始執行，紅色按鈕是持續執行。程式是由上而下、由左至右執行的。執行時機器人眼睛會發光。 指令方塊了動作之外，還有變數、迴圈、If陳述式，並可使用AND、OR、NOT做邏輯判斷。\n變數要拖曳到上方欄位，輸入文字或數字之後按下Set賦值。 陳述式後面可以接玩家背包的物品，當作判斷眼前障礙物的依據。並按照玩家設定的條件執行命令。\n4. 支援的動作 # 玩家可以讓機器人前進後退，挖掘方塊，放置方塊，發送訊息，蒐集物品到機器人背包，將物品放入箱子內。\n詳細內容請看這份說明文件，翻譯自原作者提供的檔案。按這裡下載PDF。\n","date":"2022年6月29日","externalUrl":null,"permalink":"/posts/minetest-lwscratch-mod/","section":"Luantis","summary":"LWScratch這款Minetest教育用模組，提供類似MIT Scratch的圖形化程式設計環境，玩家可以給遊戲中的機器人設計程式，令其執行挖礦、放置方塊的動作。此外還有卡帶能夠分享機器人的程式碼給其他玩家使用。\nMinetest是什麼？ 在ContentDB下載LWScratch模組 Minetest模組安裝教學 原作者loosewheel的程式示意圖。 Minetest Video所製作的模組介紹影片 1. 取得機器人和卡帶 # 機器人和卡帶 (cassette) 都可以用Minetest Game內建的素材合成。 2. 機器人權限 # 此模組有針對多人遊戲優化，適合跟教室模組一起使用。\n於世界中放置機器人時，會有對話框詢問要將機器人設定為公開還是私有。選擇私有，則放置的玩家會成為該機器人的主人，其他玩家除非有protection_bypass的特權，否則無法操控該機器人。 接著玩家可以給機器人取名字。\n用卡帶左鍵點選機器人複製程式，蹲下並左鍵點一下其他機器人貼上程式。\n3. 邏輯判斷 # 右鍵點選機器人開啟面板，左邊的是程式碼區塊，右上角的是指令方塊，中間左邊的是機器人背包，右下角的是玩家背包。右上角黑色按鈕是開始執行，紅色按鈕是持續執行。程式是由上而下、由左至右執行的。執行時機器人眼睛會發光。 ","title":"玩遊戲學程式：Luanti的LWScratch模組介紹","type":"luanti"},{"content":"這篇文章教學如何在Windows安裝openSUSE Tumbleweed虛擬機。使用後若覺得滿意，可以將系統安裝至實體機器上，過程大致一樣。 openSUSE是德國SUSE公司推出的Linux發行版，Tumbleweed為SUSE Enterprise的上游原始碼版。 openSUSE算是開箱即用的發行版，內建很多常用軟體，例如中文注音輸入法、讀取NTFS硬碟的套件。不過使用者要有查英文WIKI，主動理解排除問題的意願。\nopenSUSE還有「YaST」這套圖形前端，用來管理軟體、設定虛擬機、防火牆很方便。有時候要手動去官網抓RPM檔來安裝軟體，但下載之後就交給YaST處理，使用上很簡單。\n最重要的是，SUSE公司做了很多搞笑影片。 openSUSE Tumbleweed和Leap的差別 # openSUSE官網有二個版本: Leap和Tumbleweed，我簡介選擇Tumbleweed的理由。\nLeap就是穩定發表的版本，基於SUSE Enterprise。跟Ubuntu類似，幾年才更新一次，適合需要很穩定桌面的用戶，但是官方提供的軟體版本會偏舊，甚至沒有提供。\nTumbleweed類似Arch Linux，滾動式更新，沒有固定的版本號碼。所以可以每天享受到最新kernel的功能和最新版本軟體，並且openSUSE的套件會由SUSE公司檢查過才釋出。\n滾動式更新就沒有「中止支援」的問題。雖然更新很頻繁，也可能會滾壞，但可以設定隔幾週再檢查更新。\n1. 下載VirtualBox和ISO # VirtualBox是Orcale維護的開源虛擬機軟體。確認電腦BIOS已開啟虛擬化支援。硬碟至少有16GB剩餘空間。\n至VirtualBox官網下載Virtualbox，安裝exe。 至openSUSE官網下載Tumbleweed的Offline Image ISO，此安裝映像檔不支援Live USB試用。如果嫌下載太慢，旁邊的小箭頭點開，從其他鏡像點下載。 VirtualBox點選「新增」虛擬機器 名稱輸入「openSUSE」，類型應該會自動變成「Linux」，下一步。 分配至少2GB RAM，4GB以上更好。 點選「立即建立虛擬硬碟」，VDI，動態分配大小。建立至少16GB的虛擬硬碟 點選「設定」編輯虛擬機，在「系統」→「處理器」視電腦性能增加分配的CPU核心數目。 「存放裝置」點選控制器IDE，點選右邊的光碟圖示，「選擇磁碟檔案」，選取剛剛下載的openSUSE ISO。 關閉設定，點選「啟動」。滑鼠點一下Virtualbox視窗，用鍵盤上下鍵選擇「Installation」按下Enter。按一下鍵盤右邊的Ctrl鍵，可讓滑鼠脫離虛擬機。 約等個五分鐘就會進入桌面，開始安裝。 2. 開始安裝openSUSE # 安裝時虛擬機需要有網路連線。點選「Language」將界面調成繁體中文。 啟用線上儲存庫。 系統角色要選擇桌面環境，我選功能豐富的KDE Plasma。 分割方式使用預設，使用整個硬碟。 時區設定為台北。 建立本機使用者帳號和密碼。取消勾選自動登入。 確認事項之後，點選安裝。會開始下載套件進行安裝。由於openSUSE預設的套件庫不是台灣站，下載可能要花較長時間。 安裝之後系統會自動重開機，接著進入登入畫面。如果沒有就強制重開。 虛擬機關機。編輯虛擬機設定，在「存放裝置」點選控制器IDE，移除openSUSE的安裝ISO。 3. openSUSE後續安裝優化 # 登入之後就是KDE的桌面，長的有點像舊版Windows，內建Firefox瀏覽器。 連上網路後，openSUSE應該會自動檢查軟體更新並顯示在右下角，有的話就點選安裝。 更換軟體庫為台灣鏡像站 # openSUSE的套件管理員是Zypper，需要用到終端機指令。圖形前端YaST用於安裝軟體、管理虛擬機、設定防火牆。有時候要自行到openSUSE Software找軟體套件。\n點選YaST程式 → 軟體套件庫，點選「主要套件庫」，點選「編輯」。 將網址取代為NCHC的網址：http://free.nchc.org.tw/opensuse/tumbleweed\n或是TWAREN的網址：http://ftp.twaren.net/Linux/OpenSuSE/\n例如主要套件庫(OSS)的填入：http://free.nchc.org.tw/opensuse/tumbleweed/repo/oss/ ， 點選確認儲存，系統會自動重新整理。將其他軟體庫如法炮製，記得確認一下網址目錄結構是否正確。\n安裝新的中文輸入法 # openSUSE中文注音輸入法預設是GCIN，按Ctrl+空白鍵切換語言。我個人是建議換成較新的Fcitx5。\n移除gcin sudo zypeer remove gcin 安裝fcitx5 sudo zypper install fcitx5 fcitx5-zhewing 在/etc/environment加入以下內容以支援Wayland顯示伺服器 INPUT_METHOD=fcitx GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx 重新開機，於系統選單搜尋開啟Fcitx5的輸入法設定工具，點選新增輸入法，將注音加入到列表。 Fcitx5的狀態會顯示於系統匣，使用CTRL＋空白鍵切換輸入法，藍色的「漢」代表目前輸入的是繁體。\n延伸閱讀 # openSUSE 台灣Facebook社團 openSUSE Wiki ","date":"2022年6月27日","externalUrl":null,"permalink":"/posts/install-opensuse-tumbleweed-in-virtualbox/","section":"所有文章","summary":"這篇文章教學如何在Windows安裝openSUSE Tumbleweed虛擬機。使用後若覺得滿意，可以將系統安裝至實體機器上，過程大致一樣。 openSUSE是德國SUSE公司推出的Linux發行版，Tumbleweed為SUSE Enterprise的上游原始碼版。 openSUSE算是開箱即用的發行版，內建很多常用軟體，例如中文注音輸入法、讀取NTFS硬碟的套件。不過使用者要有查英文WIKI，主動理解排除問題的意願。\nopenSUSE還有「YaST」這套圖形前端，用來管理軟體、設定虛擬機、防火牆很方便。有時候要手動去官網抓RPM檔來安裝軟體，但下載之後就交給YaST處理，使用上很簡單。\n最重要的是，SUSE公司做了很多搞笑影片。 openSUSE Tumbleweed和Leap的差別 # openSUSE官網有二個版本: Leap和Tumbleweed，我簡介選擇Tumbleweed的理由。\nLeap就是穩定發表的版本，基於SUSE Enterprise。跟Ubuntu類似，幾年才更新一次，適合需要很穩定桌面的用戶，但是官方提供的軟體版本會偏舊，甚至沒有提供。\n","title":"[VirtualBox] openSUSE Tumbleweed Linux虛擬機安裝教學","type":"posts"},{"content":"Minetest的紋理包 （texture packs）可以改變遊戲界面和節點外觀。預設的Minetest紋理解析度 (resolution) 是32x32像素，越高解析度的紋理包會越吃效能。\n其實材質包是不正確的講法，應該稱紋理包。Minecraft Wiki即使已經修正成紋理包，還是有Minecraft社群玩家在用材質包的講法。\n1. 如何安裝Minetest紋理包 # 選擇從ContentDB或Minetest Forum手動安裝紋理包，或是透過遊戲內建的安裝器下載。\n開啟Minetest → 內容 → 瀏覽線上內容，右上角過濾點選「紋理包」，選喜歡的紋理包下載。 下載後返回內容，點選紋理包，按使用紋理包。紋理包一旦啟用，便會套用到所有子遊戲。 如果要手動安裝，將下載的紋理包解壓縮，將資料夾放到Minetest資料位置的textures目錄。\n2. 製作Minetest紋理包 # 每個子遊戲都有自己的紋理包，例如Minetest Game官方儲存庫便有原始的紋理檔案供直接fork修改。\n從遊戲主界面啟用的紋理包會覆蓋掉子遊戲本身的紋理。\n紋理包的目錄含有紋理包設定檔和節點紋理檔。由於Minetest Game是由許多模組組成，因此像羊毛這類的節點，會有獨立的目錄放置紋理。\n詳細製作教學請見： Creating texture packs - Minetest Wiki\n3. 將Minecraft資源包轉換成Minetest紋理包 # 有很多腳本可以將Minecraft資源包轉換成Minetest紋理包。\n參見：將Minecraft的資源包轉換成Minetest紋理包\n參考資料 # Texture Packs - Minetest Wiki Creating texture packs - Minetest Wiki ","date":"2022年6月26日","externalUrl":null,"permalink":"/posts/minetest-texture-packs/","section":"Luantis","summary":"Minetest的紋理包 （texture packs）可以改變遊戲界面和節點外觀。預設的Minetest紋理解析度 (resolution) 是32x32像素，越高解析度的紋理包會越吃效能。\n其實材質包是不正確的講法，應該稱紋理包。Minecraft Wiki即使已經修正成紋理包，還是有Minecraft社群玩家在用材質包的講法。\n1. 如何安裝Minetest紋理包 # 選擇從ContentDB或Minetest Forum手動安裝紋理包，或是透過遊戲內建的安裝器下載。\n開啟Minetest → 內容 → 瀏覽線上內容，右上角過濾點選「紋理包」，選喜歡的紋理包下載。 下載後返回內容，點選紋理包，按使用紋理包。紋理包一旦啟用，便會套用到所有子遊戲。 如果要手動安裝，將下載的紋理包解壓縮，將資料夾放到Minetest資料位置的textures目錄。\n2. 製作Minetest紋理包 # 每個子遊戲都有自己的紋理包，例如Minetest Game官方儲存庫便有原始的紋理檔案供直接fork修改。\n從遊戲主界面啟用的紋理包會覆蓋掉子遊戲本身的紋理。\n紋理包的目錄含有紋理包設定檔和節點紋理檔。由於Minetest Game是由許多模組組成，因此像羊毛這類的節點，會有獨立的目錄放置紋理。\n","title":"Minetest安裝紋理包 (材質包)","type":"luanti"},{"content":"","date":"2022年6月26日","externalUrl":null,"permalink":"/tags/luanti-server/","section":"標籤","summary":"","title":"Luanti Server","type":"tags"},{"content":"Minetest Game有內建許多指令 (Server commands) ，用於控制遊戲機制。玩家在遊戲中按「T」或「/」，開啟聊天欄，輸入「/」開頭就能使用指令。 有些指令需要特權才可使用。\n指令可藉由模組擴充。\n下面列出Minetest全部的內建指令和所需特權。最後更新時間:2022年6月25日。\n以「\u0026lt;\u0026gt;」表示的為必填參數，「[]」代表可不填。大部分情況下，[]不填，則作用對象為使用指令的玩家。\n1. 玩家相關指令 # 指令 說明 需要特權 /help 顯示目前權限可用指令的幫助訊息。 無 /help \u0026lt;指令名稱\u0026gt; 顯示該指令用法。 無 /help all 顯示所有可用指令。 無 /help privs 顯示伺服器中玩家可取得的特權。 無 /privs [\u0026lt;玩家名\u0026gt;] 顯示玩家擁有的特權，無輸入名字則為自己 無 /haspriv \u0026lt;特權\u0026gt; 顯示擁有該特權的玩家 無 /last-login [\u0026lt;玩家名\u0026gt;] 顯示該玩家上次上線時間。 無 /msg \u0026lt;玩家名\u0026gt; \u0026lt;訊息內容\u0026gt; 向玩家發送私訊。 shout /me \u0026lt;動作訊息\u0026gt; 輸出自動帶入玩家名字的訊息。例如/me 吃披薩會輸出Ivon吃披薩 shout /give \u0026lt;玩家名\u0026gt; \u0026lt;物品字串\u0026gt; [\u0026lt;數量\u0026gt; [\u0026lt;副ID\u0026gt;]] 給玩家物品。 give /giveme \u0026lt;物品字串\u0026gt; [[\u0026lt;數量\u0026gt;] \u0026lt;副ID\u0026gt;] 給自己物品。 give /pulverize 清除手上拿的物品。 無 /clearinv [\u0026lt;玩家名\u0026gt;] 清空自己背包物品，清空他人背包需要server特權。 server /teleport 傳送玩家至指定座標。 teleport /teleport \u0026lt;玩家名\u0026gt; 將自己傳送到該玩家身旁。 teleport /teleport \u0026lt;玩家名\u0026gt; 將玩家傳送到指定座標。 teleport, bring /teleport \u0026lt;玩家1\u0026gt; \u0026lt;玩家2\u0026gt; 將玩家1傳送到玩家2身旁。 teleport, bring /kill [\u0026lt;玩家名\u0026gt;] 殺死玩家。 server 3. Minetest Game參考指令 # 指令 說明 需要特權 /killme 殺死自己。 無 /sethome 將目前的座標設定為家。 home /home 傳送至設定為家的座標。 home 3. 伺服器管理相關指令 # 使用/admin、/status、/mods/、/day、/time指令不需要特權，但伺服器會有請求紀錄。\n指令 說明 需要特權 /setpassword \u0026lt;玩家名\u0026gt; \u0026lt;密碼\u0026gt; 修改該玩家帳號的密碼。 password /clearpassword \u0026lt;玩家名\u0026gt; 將該玩家的密碼變為空白。 password /privs \u0026lt;玩家名\u0026gt; 顯示玩家擁有的特權，無輸入名字則為自己。 privs或basic_privs /haspriv \u0026lt;特權\u0026gt; 顯示擁有該特權的玩家。 privs或basic_privs /grant \u0026lt;玩家名\u0026gt; \u0026lt;特權\u0026gt; 給予玩家指定特權。 privs或basic_privs /grant \u0026lt;玩家名\u0026gt; all 給予玩家所有特權。 privs或basic_privs /grantme \u0026lt;特權\u0026gt; 給予自己指定特權。 privs或basic_privs /grantme all 給予自己所有特權。 privs或basic_privs /revoke \u0026lt;玩家名\u0026gt; \u0026lt;特權\u0026gt; 撤銷玩家指定特權。 privs或basic_privs /revoke \u0026lt;玩家名\u0026gt; all 撤銷玩家全部特權。 privs或basic_privs /revokeme \u0026lt;特權\u0026gt; 撤銷自己指定特權。 privs或basic_privs /kick \u0026lt;玩家名\u0026gt; [\u0026lt;原因\u0026gt;] 將玩家踢出伺服器。 kick /ban 顯示被封的玩家列表。 ban /ban \u0026lt;玩家名\u0026gt; 將該IP的玩家封禁，禁止進入伺服器。 ban /unban \u0026lt;玩家名字\u0026gt; 解除封禁該玩家。 ban /unban \u0026lt;IP位址\u0026gt; 解除封禁特定IP的玩家。 ban /admin 顯示伺服器管理員名字。 無 /status 顯示伺服器遊戲版本，上線時間，線上玩家，每日一句。 無 /mods 顯示伺服器安裝的模組。 無 /days 顯示伺服器的天數 (從0開始算)。 無 /time 顯示伺服器時間 (24小時制)。 無 /time \u0026lt;小時\u0026gt;：\u0026lt;分鐘\u0026gt; 修改遊戲時間，24小時制。 settime /time \u0026lt;時間\u0026gt; 修改遊戲時間，數值為0~24000。 settime /set -n time_speed \u0026lt;速度\u0026gt; 設定遊戲時間的流逝速度，預設為72，日夜循環約現實世界的20分鐘。 server /spawnentity \u0026lt;實體名稱\u0026gt; [\u0026lt;X\u0026gt; \u0026lt;Y\u0026gt; \u0026lt;Z\u0026gt;] 生成實體。 give, interact 4. 伺服器維護相關指令 # 指令 說明 需要特權 /shutdown 關閉伺服器。 server /set \u0026lt;變數名稱\u0026gt; 顯示minetest.conf中該變數的數值。 server /set \u0026lt;變數名稱\u0026gt; \u0026lt;新數值\u0026gt; 修改minetest.conf中該變數的數值。 server /set -n \u0026lt;變數名稱\u0026gt; \u0026lt;初始值\u0026gt; 新增一個變數並賦值。 server /clearobjects [full|quick] 清除所有實體和掉落物。預設quick是只清除已載入的地圖區塊，速度較快；full則是全刪除，但可能會拖慢伺服器效能。 server /auth_reload 重新載入紀錄特權、驗證資料、密碼的auth.txt server /emergeblocks here [\u0026lt;半徑\u0026gt;] 在使用者周遭開始載入地圖區塊。 server /emergeblocks \u0026lt;座標1\u0026gt; \u0026lt;座標2\u0026gt; 在座標1和座標2間開始載入地圖區塊。 server /fixlight here [\u0026lt;半徑\u0026gt;] 重設使用者位置的亮度。 server /fixlight \u0026lt;座標1\u0026gt; \u0026lt;座標2\u0026gt; 重設座標1和座標2間的亮度。 server /deleteblocks here [\u0026lt;半徑\u0026gt;] 刪除使用者位置的地圖區塊。 server /deleteblocks \u0026lt;座標1\u0026gt; \u0026lt;座標2\u0026gt; 刪除座標1和座標2間的地圖區塊。 server /remove_player \u0026lt;玩家名\u0026gt; 刪除玩家資料，只保留帳號密碼。該名玩家下線後才可使用。 server /rollback_check [\u0026lt;範圍\u0026gt;] [\u0026lt;秒\u0026gt;] 檢查是否有玩家觸碰過該節點。預設範圍為0，秒數為86400，也就是現實中的24小時。 rollback /rollback_check \u0026lt;玩家名\u0026gt; [\u0026lt;秒\u0026gt;] 回滾資料庫中該玩家的動作，預設秒數為60。 rollback /rollback :\u0026lt;actor名稱\u0026gt; 回滾資料庫中該actor的動作，預設秒數為60。 rollback 參考資料 # Server commands - Minetest Wiki ","date":"2022年6月26日","externalUrl":null,"permalink":"/posts/minetest-server-commands/","section":"Luantis","summary":"Minetest Game有內建許多指令 (Server commands) ，用於控制遊戲機制。玩家在遊戲中按「T」或「/」，開啟聊天欄，輸入「/」開頭就能使用指令。 有些指令需要特權才可使用。\n指令可藉由模組擴充。\n下面列出Minetest全部的內建指令和所需特權。最後更新時間:2022年6月25日。\n以「\u003c\u003e」表示的為必填參數，「[]」代表可不填。大部分情況下，[]不填，則作用對象為使用指令的玩家。\n1. 玩家相關指令 # 指令 說明 需要特權 /help 顯示目前權限可用指令的幫助訊息。 無 /help \u003c指令名稱\u003e 顯示該指令用法。 無 /help all 顯示所有可用指令。 無 /help privs 顯示伺服器中玩家可取得的特權。 無 /privs [\u003c玩家名\u003e] 顯示玩家擁有的特權，無輸入名字則為自己 無 /haspriv \u003c特權\u003e 顯示擁有該特權的玩家 無 /last-login [\u003c玩家名\u003e] 顯示該玩家上次上線時間。 無 /msg \u003c玩家名\u003e \u003c訊息內容\u003e 向玩家發送私訊。 shout /me \u003c動作訊息\u003e 輸出自動帶入玩家名字的訊息。例如/me 吃披薩會輸出Ivon吃披薩 shout /give \u003c玩家名\u003e \u003c物品字串\u003e [\u003c數量\u003e [\u003c副ID\u003e]] 給玩家物品。 give /giveme \u003c物品字串\u003e [[\u003c數量\u003e] \u003c副ID\u003e] 給自己物品。 give /pulverize 清除手上拿的物品。 無 /clearinv [\u003c玩家名\u003e] 清空自己背包物品，清空他人背包需要server特權。 server /teleport 傳送玩家至指定座標。 teleport /teleport \u003c玩家名\u003e 將自己傳送到該玩家身旁。 teleport /teleport \u003c玩家名\u003e 將玩家傳送到指定座標。 teleport, bring /teleport \u003c玩家1\u003e \u003c玩家2\u003e 將玩家1傳送到玩家2身旁。 teleport, bring /kill [\u003c玩家名\u003e] 殺死玩家。 server 3. Minetest Game參考指令 # 指令 說明 需要特權 /killme 殺死自己。 無 /sethome 將目前的座標設定為家。 home /home 傳送至設定為家的座標。 home 3. 伺服器管理相關指令 # 使用/admin、/status、/mods/、/day、/time指令不需要特權，但伺服器會有請求紀錄。\n","title":"Minetest指令列表","type":"luanti"},{"content":"我為什麼要寫這篇文章：畢業研究專題終於做完了\n英文標題：Analyzing the Elements in Children’s Books: The Wind in the Willows\n學生：Ivon Huang 國立屏東大學 2022年6月 《柳林風聲》主角群。圖片來源 Abstract # Reading children’s literature is beneficial to readers, both children and adults, since it makes readers to understand other people’s feelings. Also, young readers can achieve a positive mental thought from observing actions of characters in the children’s books. For readers who want to select qualified children’s literature book for their children, this study analyzed three elements of children’s literature. They are the round characters and the flat charters, two different kinds of conflicts and explicit theme of children’s literature. These elements can be used to find the qualified children’s books.\nThe famous British children book “The Wind in the Willows” by Grahame, Kenneth (1908) was selected for studying. In this study, the researcher would analyze the elements of children’s literature in The Wind in The Willows. The major finding is that the round characters, such as Toad, would make changes after conflicts. Also, flat characters are also important to the story since they could push the story moving forward. What’s more, round characters are dynamic who have the capacity of changing in the story. This would lead to the explicit theme of the book: the friendship among round characters. These findings proved the qualified children’s literature elements do exist in The Wind in The Willows. It is helpful for people who are interested in children’s literature.\nKeywords: children’s literature, conflicts, round character, explicit theme, flat character\nChapter One Introduction # Why should we read children’s literature? Imagine being a child who can barely speak and express his or her feelings, so that he or she would need something to help him or her to develop skills of speaking and writing. This could be done in many ways, by reading children’s literature, especially those were written for children, are very useful to them. Lukens (2007) suggested that while children developing their language skills, they will be able to express their emotions in better ways and understand other people’s feelings (Lukens, 2007, p.xxiv). Besides, the adults would also benefit from reading and evaluating children’s literature. Thus, they would learn how to select qualified children’s books for their children to read. Also, adults could understand the views of children from these works.\nThe purpose of this research is to analyze the elements of children’s literature books: Character, conflicts and theme. These literary elements made qualified children\u0026rsquo;s books. What’s more, readers will know to evaluate and select good children’s literature books for their children. The researcher selected the well-known British children’s literature book: The Wind in The Willows for studying. It was a children’s literature book by British author Kenneth Graham which was published in 1908. The story is mainly about the friendship and adventures of four animals. These characters have different kind of personalities which will cause many conflicts, battles among all characters in the story. Hence here comes three research questions of this study:\nWho are the round characters and flat characters in The Wind in The Willows? What types of conflicts would occur in the book? What are the primary themes of the book? Since characters, conflicts, themes are essential to a book, this study will focus on examining if the book, The Wind in The Willows, has these elements. In this study, the researcher will discuss the elements of children’s literature, based on Lukens (2007), Peter (1999) and several experts’ theories. Also, they pointed out several types of themes of children’s literature. Chapter 3 will discuss the reasons why the researcher chose the book, The Wind in The Willows, for studying. Chapter 4 will analyze elements of children’s literature books.\nIn conclusion, the researcher found out that The Wind in The Willows did have the elements of qualified literature based on several children’s literature theories suggested by several experts (Lukens, 2007; Peter, 1999; Crippen, 2012; Norton, 1993). A major finding is that the characters, conflicts, and themes in this book are well-designed. Characters would become a different animal after conflicts with the help of other characters. Finally, the theme of the book is explicitly expressed through the round characters’ behaviors.\nThis study may serve as an inspiration for readers who are interested in children\u0026rsquo;s books. Thus, readers could know how to evaluate children’s literature and select high quality book for their children.\nChapter Two Literature Review # Many specialists argue for the functions of children’s literature. Is it not only beneficial to children but also adults? Peter (1999) indicated that children\u0026rsquo;s literature is worth reading for adults. Children experiences are often unknowable by writing texts, but most of us strongly suspect it to be rich and complex (Peter, 1999, p.4). What’s more, the functionalities of children’s literature cannot be ignored. In Luke’s view, children’s literature brings pleasure, and makes children understand the ideas of other humans (Lukens, 2007, p.76). On the other hands, Crippen noted that “Quality literature does not tell the reader everything he/she needs to know; it allows for some difference in opinion.” (Crippen, 2012). Therefore, the functions of children’s literature could be splendid and useful in many ways for children and adults. Lukens stated that it is possible to develop full characters and create engaged plot in simple picture books, so the text could be judged by the standards of literary excellence (Lukens, 2007, p.49) From here we know a children book always consists of many literature elements, in this chapter, the researcher will focus on discussing the definitions of characters and plots.\n2.1. Character # Generally, stories have characters. They are one of the important elements of literature. In the children’s literature, the terms “character” means a person or a personified animal or object. The “development of character” shows the complexity of life beings, no matter he or she is a person, and animal or an object (Lukens, 2007, p.76). Thus, the main character of an enjoyable story needs is seeming like a real person (Norton, 1993). Readers can understand the character from their speeches, actions, and opinions (Lukens, 2007, p.84). The importance of a character in a story determines how the character will be developed, who may be primary, secondary, or in the background. The closer the character to the center of the conflict shows how important the character is, and the complexity of the character\u0026rsquo;s personality (Lukens, 2007, p.77). They can be divided into two types: round characters and flat characters.\n2.1.1. Revelation of Round Characters # When it comes to the core of the story, there are always some explicit character(s), which are “Round characters”. Round characters are fully developed, which means the traits of the character are demonstrated in the story. Readers could feel and understand characters’ personalities more. Therefore, round characters are usually complex and undergoing development, just like a real person (“Flat and round characters”, 2021). Sutherland (1997) stated in his book:\nMain characters, especially the central character or protagonist, must be fully developed; that is, the reader should learn of the characters’ many traits—theirstrengths as well as their weakness.\n(Sutherland, 1997, p.31)\nHe also stated that round characters are developed through changes:\nThe main characters in an excellent work of fiction for children are rounded, fully developed characters who undergo change in response to life-altering events.\n(Sutherland, 1997 p.31)\nTo conclude, the round character is dynamic who have the capacity of changing. Round characters may grow or change through the story, so readers are able to understand the character deeper.\n2.1.2. Revelation of Flat Characters # In comparison with round characters, characters who are less important in the story are “Flat characters”. Though flat characters are essential to the actions, but not fully developed, who are quickly made known to the reader (Lukens, 2007, p.82). There are always few words to describe their “types”: mad scientist, evil stepmother, animal sidekick (“Flat and round characters”, 2021). In this regard, flat characters seem do not like an individual human being; whereas who does have a few traits of a class, this is so called \u0026ldquo;stereotype\u0026rdquo; (Lukens, 2007, p.82). Sutherland stated that:\nFlat characters are often stereotypes who poses only one side of their personality. Flat characters are usually static, undergoing no change in personality throughout the book.\n(Sutherland, 1997, p.31)\nTherefore, the difference of flat and round character lies in the complexity of the personality, the former is those with little complexity or depth of personality.\n2.2. Plot # The plot is simply one thing after another thing, what happened and what happened next in a story (Margaret, 1983). However, a good writer will also add how and why to a story. As Lukens stated that the plot is a sequence of events showing characters in action. The author consciously selects a good way to tell hist story (Lukens, 2007, p.99) The plot catches reader’s eyes to see the flows and tensions of a story. Forster also suggested that “the plot organize the events according to a sense of causality” (Forster, 1927, p.86). This means. in contrast to a “story” which is just an event, it requires “cause and effect” to produce the plot (Bunting and Reid, 2022). To make it clearer: “The king died, then queen died” is an event, whereas “the king died, and queen died of grief” is a plot (Forster, 1927, p.87). Furthermore, the plot drives the story to a climax, which is so-called conflicts, a situation(s) in which characters must make a hard decision to solve problems.\n2.2.1 Conflicts # Plots does not only involve sequence of event but also conflicts. Climaxes it made could make readers willing to know what will happen next. Contemporary authors often develop plots about child who face and overcome problems (Norton, 1993, p106). As Lukens defined, conflicts include tension, friction, alternatives, excitement, suspense, discovery, and resolution. When the protagonist struggle with the antagonist, the conflicts are occurred. The four kinds of conflict in literature are person-against-self, person-against-person, person-against-society, and person-against-nature (Lukens, 2007, p.103). Furthermore, a variety of conflicts may exist in a single story (Lukens, 2007, p.108). The Wind in the Willows represents two conflicts, which are: Person-against-self conflicts and person-against-person conflicts.\n2.2.1.1. Person-Against-Self Conflict # In person-against-self conflict, when the character is facing multiple moral choices, to decide what the right choice is (“What Is Conflict in Literature? 6 Different Types of Literary Conflict and How to Create Conflict in Writing.”, 2021). As Lukens defined, a tension that pulls Tom Sawyer toward either of two courses of action, so he is facing \u0026ldquo;internal conflicts\u0026rdquo;, this kind of feeling is called \u0026ldquo;person-against-self conflict \u0026quot; (Lukens, 2007, p.103). The common type of internal conflict is encompassing mental struggles, which is the distinctive way of demonstrating internal conflicts. (“What Is Conflict in Literature? 6 Different Types of Literary Conflict and How to Create Conflict in Writing.”, 2021)\n2.2.1.2. Person-Against-Person Conflicts # As the name suggests, person-against-person is the most common types of conflicts in literature. This type of story involves two characters with different opinions, outlooks, or goals. And if both sides think they were right, this could make the story richer (Edwards, 2020). Lukens stated that:\nTom Sawyer must face an additional conflict. The strain between the two forces is what holds our continuing interest and our intense curiosity about the outcome. Tom’s internal conflict, his growing awareness of justice opposing his fear for his life, forces him to take action in a person-versus-person conflict that causes him to face the vengeance of a villainous man.\n(Lukens, 2007, p.106)\n2.2.2. Theme # To know what the main idea of a story is, and what the author wants to suggest or imply us by the story, it is the theme of the story. Lukens noted that:\nTheme in literature is the idea that holds the story together. It is the main idea or central meaning of a piece of writing.\n(Lukens, 2007, p.131)\nBecause the definition of literature is “a significant truth expressed in appropriate elements and memorable languages”, the significant truth is the Theme, which is understandable for human beings without words (Lukens, 2007, p.131). Also, themes can be stated explicitly or implicitly. This means that implicit themes are easy to understand while the implicit, or the truth is hidden behind the texts, which only could be realized by reading throughout the whole story (Lukens, 2007, p.142). There are plenty of types of themes, such as Good VS. Evil, Hubris, Identity, Friendship, Nature. What\u0026rsquo;s more, the themes could be explored through literature elements: conflicts, characters, plots (Glatch, 2021). In conclusion, the theme of a story may be bright or dim. By understanding it more, we can get closer to the truth told by the author.\nIn conclusion, we have discussed the basic elements of children’s literature: Character, Theme and Conflicts of plots. Characters are essential to the story no matter they are round or flat characters. Round characters are the main roles of the stories whereas flat characters are necessary for events. Plus, in order to make “events” turn into “stories”, the author must write a good plot, which always consists of multiple conflicts to push the stories forward. Finally, the reader may can get the main idea and learn something from the whole story. This is the function of theme, which can be expressed implicitly or explicitly.\nChapter Three Methodology # In this chapter, we are going to discuss why we choose this book. First, it is about the popularity of The Wind in The Willows in United Kingdom and around the world. This book was well-known by lot of people, some celebrities also mentioned or recommended it for everyone to read. Second, there were a variety of adaptations of The Wind in The Willows, such as dramas, TV shows, movies and musical adaptions. We will give more details in the following paragraphs.\n3.1. High popularity # The book, The Wind in The Willows, is very popular in the United Kingdom. For example, according to the list of 100 best novels which were picked up by the editors of The Guardian, The Wind in The Willows was ranked as the 38th in the list (McCrum, 2014). Furthermore, audiences of BBC voted The Wind in The Willows as the 16 of Top 21 books (BBC, 2003). From here we know that the book is very well-known to the Britain people, and some celebrities also recommend this book to their readers. Some of them suggested the book is truly educative no matter the readers are adults or children. For an instance, J.K. Rowling, the author of Harry Potter, mentioned the book in an interview: “My most vivid memory of being read to is my father reading [this book] when I was around 4 and suffering from the measles.” (The New York Times, 2012). Plus, the US president Theodore Roosevelt wrote to Grahame to tell him that he saw the novel’s principal characters as old friends. (Canterbury Classics, 2019). Therefore, we can know that the contents of The Wind in The Willows were approved by the great people and they very enjoyed read it. With so many loves from these great people, the book is indeed an excellent work in the world. More details can be found in the following table.\nFigure 3.1. The Popularity of The Wind in The Willows'\nFamous books ranking The Guardian, 2014, 100 best novels: No 38 – The Wind in the Willows by Kenneth Grahame(1908) BBC, 2003, “The Big Read” rank 16 of Top 21 books Celebrity Recommendations US president Theodore Roosevelt wrote to Grahame to tell him that he saw the novel’s principal characters as old friends. \u0026ldquo;My most vivid memory of being read to is my father reading this book when I was around 4 and suffering from the measles.\u0026rdquo; - J.K. Rowling 3.2. Inspirations \u0026amp; Adaptations # The Wind in The Willows is not only a famous book, but there also are a wide range of adaptions and inspirations. Why could the adaptions make a book more popular? What are the requirements for adaptions? Rothwell (2019) suggested that “Due to the pre-existing audience and modern social media, fans have the ability to spread the word about the adaptations allowing for it to become a part of popular culture.” Modern kids are living in a world where the Internet is accessible at everywhere, so adaptions could make old literature come alive. Also, because the plot of book was proved by pre-existing readers; thus, the adaptions are deemed to attract more audiences (Rothwell, 2019).\nBelow are some adaptions of The Wind in The Willows. First, according to Wikipedia 19 (2022), there are 11 films which are based on The Wind in The Willows. Some of them are cartoon movies, such as Disney’s The Adventures of Ichabod and Mr. Toad (1949) and Mole\u0026rsquo;s Christmas (1994). On the other hand, the numbers of TV show adaptions are also impressive: there are 11 of them for over half a century. These adaptions make more people, especially young children to read and appreciate classic literature.\nIn conclusion, there are two reasons of selecting this book for research. The first one is its high popularity. It was being recommended by great people. Also, they stated the book is beneficial to readers. Secondly, the variety of adaptions proved that this book is truly a great work. With so many media types of The Wind in The Willows, more and more audiencescould get in touch with the classic literate in different ways.\nChapter Four Results and Discussions # We have discussed the functions of children’s literature and the definitions in Chapter 2. One of the key functions of children’s literature is to help the reader, no matter they are children or adults, to have a different view on their life (Crippen, 2012). The children’s experiences may be rich and could not be expressed by words, it is still possible to find literature elements in the stories. Plus, Lukens suggested that the picture book is not just a simple book, the texts are worth to be evaluated. (Lukens, 2007, p.49) From now on the researcher will analyze the literature elements of The Wind in The Willows: characters and plots.\n4.1. Revelation of round character # Round characters are dynamic, who are always changing (Sutherland, 1997, p.31). As mentioned in Chapter 2, the traits of round character are demonstrated in the story (“Flat and round characters”, 2021). Toad from The Wind in the Willows is identified as round character, who is always changing, and growing through some events. He was once an ambitious and proud toad, however after enduring adventures and fighting weasels, his attitude changed.\n4.1.1. Toad: from pride to modesty # Toad from The Wind in the Willows (Grahame, 1908) is one of the round characters of the story. Toad’s attitude changes after his adventures in cities and fighting with weasels. This can be observed by action, speeches, opinions, and author’s comment (Lukens, 2007, p.77). At the first, Toad was proud and careless, he got fascinated by other people’s cars, so he gotone. Later, he encountered a car accident; thus, his friends keep him in the house under their surveillance (Grahame, 1908, p.138). However, Toad escaped, he walked “briskly” from the home, we can see how arrogant he is from his movements, which was careless and leisurely (Grahame, 1908, p.143). Moreover, in his eyes, the sunlight on the field is “smiling brightly on him” This shows that he thought he was right, and the escape was such a big achievement instead of a mistake (Grahame, 1908, p.143).\nToad ran away and stole a car, then his car ran into a shop, so he got arrested. Then again, he escaped from the prison (Grahame, 1908, p.170). On his escaping tour, he was still a wailing toad. In an argument with the barge-woman, he said, “Don’t you dare to talk to your betters like that!” and claimed he is a “very well-known, respected, distinguished Toad.” From his speeches, we know what he thought about himself is still the same: he was egotistical and with lots of senses of superiority. Also, let’s have a glimpse of his actions: In return to the mocking of the barge-woman, Toad stole her horse and ran away (Grahame, 1908, p.207). On the field he also sang a parody song of the well-known The British Grenadiers:\n“The world was held a great Hero,\nAs history-books have showed.\nBut never a name to go down to fame\nCompared with that of Toad!”\n“The clever men at Oxford\nKnow all that there is to be known.\nBut they none of them know one half as much\nAs intelligent Mr. Toad!”\n(Grahame, 1908, p.214)\nThis is considered to be one of the “conceited” songs by the author. He called himself “the greatest hero” and “intelligent”, no one can be compared with him. Such a clever and mighty Toad was singing for a long time and “inflating every minute” (Grahame, 1908, p.215). After that, he robbed a car and drove the car back to his home. However, his home, the Toad Hall, was took over by the weasels. Therefore, he cooperated with his friends and chase the weasel away. We will talk about the conflicts, the battle of Toad’s Hall, later. Here we can notice that Toad’s attitude is slightly changed in the planning of striking Toad’s Hall. First, he apologized to the Rad for ruining his boat, now he finally had sense of guilty (Grahame, 1908, p.289). Second, he listened to Badger’s plan carefully. And in the operation of creeping into the hall by walking the underground path, he kept silent and stayed at the last in order not to ruin their plans. We can tell that the Toad is becoming a little bit sympathized, which his pride is vanishing at the same time.\nAfter the battle, in the celebration banquet, people asked Toad to sing a song about boasting himself, however he “only shook his head gently”, refused to deliver a boasting speech. The Badger and Rat “starring each other with open mouth”: They couldn’t believe this! The arrogant, irresponsible Toad now is truly a different animal. Plus, author comments: “He was indeed an altered Toad!”. (Grahame, 1908, p.259) So, the round characters are due to changes: Toad was a careless and bold character, after a several of adventures, Toad now become a modest character. These can easily be observed by readers through their behaviors and speaking ways: Before fighting with weasels, he was “irresponsible”, later Toad becomes sympathetic. He expressed frankly in the banquet:\n“You are right, I know, and I am wrong. Hence forth I will be a very different Toad.”\n(Grahame, 1908, p.255)\nThis is how the round characters changes: Their actions and speeches are changing by the time, finally they caused changes to round character’s traits.\n4.1.2. Revelation of flat character # In contrast with round characters, flat characters are less important, but essential to the story. As we mentioned in the 2.1.2, flat characters are always stereotyped characters who has single traits and will not change (Lukens, 2007, p.82). However, they are essential to the story because they make the story move forward. These flat characters below, even he or she only appears once in the book, is still important to make the story move forward.\n4.1.2.1. Portly # Portly, the young son of Otter, is missing in “Piper at The Gate of The Dawn” from The Wind in the Willows (Grahame, 1908). He is a flat character, a young and adventurous animal. And it is his missing that make Water Rat and Mole go for him and met the Pan, who cast a spell on Portly and both of them.\nOtter have searched his son for several days but cannot find him. At the midnight, he sat desperately at the bank and watched the ford, hoping his son would come back. Hearing Water Rat’s worries about the missing of Portly, Mole said Portly is “adventurous” and he will “turn up again” (Grahame, 1908, p.149) so it’s unnecessary for Water Rat to worry about him. However, Otter had hunted for everywhere, no one had ever seen the little Portly. Therefore, they got the boat out, down to the river. On an island, which Water Rat described as “the place of my song-dream”, they saw many wonderful scenes (Grahame, 1908, p.155) Later they found the “the little, round, podgy, childish” Portly was lying on the hooves of Pan. (Grahame, 1908, p.156) Finally, they made a worship and took Portly back to home. It was like a beautiful dream because all of them forgot what happened last night.\nNot a word was spoken by the young Portly, the son of Otter. All we know he is the son of Otter; he is a flat, not developed character. Also, he has many common traits of children: little, naive, and venturesome personalities.\n4.1.2.2. The gaoler’s daughter # The gaoler’s daughter who helped Toad escaping from the prison, is a kind and kindhearted girl. She pitied Toad and let him go. The flat character will never change. Therefore, the gaoler’s daughter is a flat character, she is always kind all the time.\nToad was locked down in a prison in “Toad’s Adventures” (Grahame, 1908). Because he was sentenced for 10 years, Toad was depressed from the day he entered the prison. Few days later, the “pleasant wench and good-hearted” girl begged her father to let her have managing on him. (Grahame, 1908, p.164) She called Toad “a blessed animal” and had high interest on Toad’s stories. She is a kind character from the beginning to the end. We can know this from her words:\n“Now, cheer up, Toad,” She said, coaxingly, on entering, “and sit up and dry your eyes and be a sensible animal.”\n(Grahame, 1908, p.164)\nFirst, she brought some nice food for Toad, and later she brought more teas and toasts. Toad was so hungry, so he enjoyed delicious food very much. Plus, she was fond of animals therefore she will not call him and his friends’ “pets” (Grahame, 1908, p.165). After having some interesting talks with Toad, gaoler\u0026rsquo;s daughter suggested that Toad can disguise as a washerwoman and run away. Toad said she is a “kind, clever” girl. (Grahame, 1908, p.168) good-hearted.\nThe plan was successful, Toad stared his new adventures. The gaoler’s daughter is always kind to this poor animal. From her actions and speaking, she is indeed a flat character who is less important to the story but helps carry the action and push the story (of Toad) forward.\n4.1.2.3. The Weasels and Stoats # Weasels and Stoat are evil animals from the Wild Wood. They took Toad’s Hall while he is away from his own. There are many of them, who occupied Toad’s Hall. The stereotypes are obvious, which can be observed from their actions and speaking. For example, while Toad is screaming at the front of the door, they shot him. (Grahame, 1908, p. 228) Also, according to Mole’s description, they do many bad things in Toad’s Hall:\n“And going on simply anyhow! Lying in bed half of the day, and breakfast at all hours, and the place in such a mess! (I’m told) it’s not fit to be seen! Eating your grub, and drinking your drink, and making bad jokes about you, and singing vulgar song.”\n(p. 227)\nThese make reader know their traits in a short time. They simply took over his house and do what they want in it. And at the last the chief of the Weasels mocks Toad and weasels around him start laughing:\n“I should like to say one word about our kind host, Mr. Toad. We all know Toad!”-(great laughter)-”Good Toad, modest Toad, honest Toad!” (shrieks of merriment)\n(Grahame, 1908, p.246)\nSo, the stereotypes are very obvious: the weasels and stoats are evil and cunning because their actions manifest their traits clearly. Many of them reacted to Toad’s story with a burst of cruel laughter.\nThus, they are important to the story. We don’t know names of most of them, not only they are too much, but their traits are exposed through their actions. They are the ones who got to be beaten by Toad and his friend, this makes the story come to an end.\n4.2. Plot # Descriptions of a thing after another thing are just events. Adding some cause and effects make events turn into plots (Margaret, 1983). In order to create a good story instead of plain descriptions events, the writer must use some elements in their story to make it more vivid (Bunting and Reid, 2022). Therefore, conflicts are presented, it can create climaxes which will force characters to solve problems and push the stories forward.\n4.2.1. Conflicts # Conflict is a common element in children’s literature. Lukens indicated that tension, friction, alternatives, excitement, suspense, discovery, and resolution are included in a conflict (Lukens, 2007, p.103). And there are four types of them: person-against-self, person-against-person, person-against-society, and person-against-nature.\nA story may contain one or more conflicts, while The Wind in the Willows mainly represents two conflicts: the person-against-self conflict and person-against-person conflicts. The Water Rat in the story enjoys interacting with other people, so the internal conflicts occurred, especially in the conversation with the Sea Rat. On the other hand, the latter is more common in the story because Toad is easily to enter a quarrel with other characters, especially in his adventures in the city.\n4.2.1.1. Person-against-self conflicts # 4.2.1.1.1. Water Rat-against-himself # Water Rat has internal conflicts in “Wayfarers All” of The Wind in The Willows (Grahame, 1908) after he listened to Sea Rat’s stories, a tension of making the right choice. It is the struggle of exploring the world or staying at home. Many animals go to the south, Water Rat try to find out the reason, therefore his mind got affected by the stories told by the Sea Rat. Thus, the conflict causes the internal conflict, a kind of feeling that making the right decision. At the beginning, Water Rat saw many animals go to the south in winter. For example, he got confused in the talking with the swallows:\nWater Rat: “(Swallows planning for the routes is) Fun? Now that’s just what I don’t’ understand. If you’ve got to leave this pleasant place, and your friends who will miss you, and your snug homes that you’ve just settled into.”\nWater Rat also questioned them:\n“Couldn’t’ you stop on for just this year?” Suggested the Water Rat, wistfully.\n(Grahame, 1908, p.183)\nThe swallows refused because the weather would getting cold, they had to fly to the south. However, the Water Rat really hoped them to stay with him, but the animals had their own reason, so they are all leaved. While wandering on the bank, the internal conflict is appearing in Water Rat’s mind: Is moving to the south bad? He started to imagine the scenery of the south: “What sun-bathed coasts, along which the while, villas glittered against the olive woods!” (Grahame, 1908, p.186) Nevertheless, he still didn’t know if that is a right choice until he met the Sea Rat, a rat who visited many places. The Sea Rat told Water Rat:\n“I supposed you for great voyages. Month and months out of sight of land, and provisions running short, and allowance as to water, and your mind communicating with the mighty ocean, an all that sort of thing?”\n(Grahame, 1908, p.189)\nHe also described the scenery of the south, which is as same as Sea Rat’s imaginations:\n“By no means. Such a life as you (Water Rat) describe would not suit me at all. I’m in the coasting trade, and rarely out of sight of land. It’s the jolly times on shore that appeal to me, as much as any seafaring.”\n(Grahame, 1908, p.189)\nWater Rat is fascinated by his stories. He inquired the Water Rat to telling more. Moreover, after telling his adventures on the sea, the Sea Rat had to leave, and he encouraged Water Rat to go out:\n“Take the Adventure, heed the call, now ere the irrevocable moment passes! Tis but a banging of the door behind you, a blithesome step forward, and you are out of the old life and into the new!”\n(Grahame, 1908, p.196)\nThe Water Rat may think “How exciting the outer world is!” The Sea Rat describe the tour as a “voyage”, which are the experiences the Water Rat would never have. From here, the internal conflict of Water Rat is raising: Maybe the Sea Rat, and other animals who went to the South were right. Now he wanted to go outside, too.\nAfter talking with Sea Rat, he was triggered by his experiences and want to explore the world: He packed his luggage “without no hesitation at all” and murmured “Going South, with the rest of them” (Grahame, 1908, p.197) He was so charmed by the imagination of moving south that he didn’t even notice the Mole who standing in front of him. From Mole’s view, we can know that the Water Rat is facing a great tension:\nThe Mole, now thoroughly alarmed, placed himself in front of him, and look into his eyes, saw that they were glazed and set and turned a streaked and shifting grey-not his friends\u0026rsquo; eyes, but the eyes of some other animal!\n(Grahame, 1908, p.197)\nWater Rat could only see the voyage on the road. Finally, Water Rat got deterred by Mole. After being dragged into the house, the Water Rat started to tremble. His body “shaken by a violent shivering, passing in time in a hysterical fit of dry sobbing.” (Grahame, 1908, p.197) At this moment, his internal conflict is blasting. The tension of staying or not turned out to be shedding tears. He questioned himself “How recall, for another’s benefits the haunting sea voices that had sung to him, how reproduce at secondhand the magic of the Seafarer’s hundred reminiscence?” (Grahame, 1908, p.198) and continuing murmuring. These overwhelming feelings indicate that the Sea Rat was enduring the struggle and tried to find a reason to figured it out, but he cannot express them clearly to Mole. After some moments, Water Rat felt better, and Mole asked him to write a poem and spoke: “You will feel a lot better when you’ve got something jotted down.” (Grahame, 1908, p.200)\nIn the end, the internal conflict of the Water Rat is vanishing because he got comforted by the Mole, therefore falling into writing poems. From author’s comment: “It was joy to the Mole to know that the cure had at last begun.” (Grahame, 1908, p.200), this proves that the tension is away, now the Water Rat is recovered, no more suffering from the melancholy.\n4.2.1.2. Person-against-person conflicts # 4.2.1.2.1. Toad, Badger, Water Rat, Mole against the Weasels and Stoats # Weasels versus Toad and his friend, the conflict of two forces is the people-against-people conflict. When the Toad was locked down in a prison, the weasels took over his house and occupied it. In the battle of the Toad’s Hall, the conflict of different goals occurred. Toad and friend found a secret underground path to creep in and strike them. In the fierce conflict, the intense battle catches reader’s mind. At the end of the conflict, Toad showed them who is the boss, he took back his hall.\nAs mentioned in 4.1.1, Toad enduring a great adventure in the city. When he came back, Water Rat told him that Toad’s Hall was occupied by the Weasels from the Wild Wood. As the title of this Chapter described, “Like summer tempests came to his tears”, Toad was furious, we can know from his behavior:\nToad leans his elbows on the table, and his chin on his paws; and a large tear welled up in each of his eyes, overflowed and splashed on the table, plop! Plop!\n(Grahame, 1908, p.226)\nBecause the Toad was away from his hall for a long time, so Weasels and Stoats took over his house. And what makes Toad angrier are what Weasels did in his Hall: They “Lying in bed half of the day, and breakfast of all hours, and the place in such a mess.” They also making bad jokes about Toad. (Grahame, 1908, p.227) Toad cannot bear anymore, he ran to his hall with only a stick, the first conflict occurred.\n“Who comes there?” said the ferret.\n“What do you mean by talking like that to me? Come out of that at once, or I will—”\nThe ferret never said a word, but he brought his gun up to his shoulder, Toad prudently dropped flat in the road, and Bang! A bullet whistled over his head.\n(Grahame, 1908, p.228)\nIn this conflict, the ferret did not give any response, and Toad was shocked and ran back to Water Rat’s house, so it was the failure of the Toad. Later, Mole reported that the situation is getting worse: there were always animals on the lock-out, equipped with weapons around Toad’s Hall (Grahame, 1908, p.233). Finally, Badger told Toad that there is a secret underground passage under his Hall, but that was not enough for attacking because the sentinels were so overpowered. At this time, Mole came back, he said he cheat the Weasels, by disguising as a washerwoman and warned them there would be a great army coming for them in all directions:\n“A hundred bloodthirsty badgers, armed with rifles, are going to attack Toad Hall this very night, by way of the paddock. Six boatloads of Rats, with pistols and cutlasses, will come up the river and effects a landing in the garden; while a picked body of Toads, known as the Die-hards, or the Death-or-Glory Toads, will storm the orchard and carry everything before them, yelling for vengeances.”\n(Grahame, 1908, p.241)\nThe reader may think “How clever the Mole was!” His words, “bloodthirsty”. “Die-hard” truly frightened the Stoats. “They were all nervous and fluttered as they could be.”said by the Mole (Grahame, 1908, p.227). We also know this ferrets’ reactions: this “fake” conflict was already occurred in their’ mind. Therefore, there would be no one in the house, guarding those weasels who would enjoy their meals in the banquet hall at the night.\nAfter all weapons were ready, Toads and his friend have departed. At the night, while the Weasels were enjoying their meals, Toads, Badger, Rat and Mole were going through the “cold, and dark, and damp, and low, and narrow” underground passage (Grahame, 1908, p.244). When they got close to the trapdoor behind the banquet hall, they heard Weasels were playing joke on Toad, which made Toad extremely angry:\n“I should like to say one word about our kind host, Mr. Toad. We all know Toad!”—(great laughter)—“Good Toad, modest Toad, honest Toad!” (shrieks of merriment).\n(Grahame, 1908, p.246)\nSuch an insulting speaking from the Chief Weasel ignited Toad’s anger. The conflict of opposing forces now began! Badger opened the door and started attacking Weasels. In the fierce battle, the terrified weasels “dive under the tables and rushed to the fireplace, jammed in the chimney” while Toad was screaming “My! My!” The author also commented “Well might tables and chairs be upset, and glass and china be sent crashing on the floor.” (Grahame, 1908, p.246) Toad went to Chief of Weasels and sent him flying across the table with his stick (Grahame, 1908, p.249). Seeing varies of colors of animals attacking, most weasels didn’t not fight back but escape from here and there, with squeals of terror and dismay (Grahame, 1908, p.248).\nThe battle was quickly coming to an end, in “The Return of Ulysses” from The Wind in the Willows. This time, it was the grand victory of the Toad and hist friends! Toad thanked them with pleasure:\n“Thank you kindly, dear Mole, for all your pains and trouble tonight, and especially for your cleverness this morning!”\n(Grahame, 1908, p.251)\nConsequently, after these conflicts and battles, Toad learned the value of the cooperation and friendship. As we mentioned in the 4.1.1, Toad was once proud and careless, now he became a different toad, who is modest and genuine to his friends. The conflicts of two forces with different goals, brought the changes to the main protagonist, the Toad, and made him become a totally different, well-transformed “Ulysses” at the end.\n4.2.2. Theme # Theme is the central idea of the story, a significant truth. It can be stated explicitly or implicitly by the author (Lukens p.131 2007). Since the explicitly theme is easier to understand and observer, there are two explicit themes presented in the story of The Wind in The Willows (Grahame, 1908): Friendships. Furthermore, the author, Grahame, Kenneth, is especially good at depicting the natural scenes throughout the story while the round characters are helping each other to solve problems.\n4.2.2.1. Friendship of round characters # The round characters, as we mentioned above, are Toad, Water Rat, Badger and Mole. The friendship is the focal point of the book because these round characters will always help their fellows. First, the friendship of Mole and Water Rat is easily to be observed since they meet and share food at the beginning of the book. Later, the author introduces Toad. At first glance, he is like a crazy and selfish toad, however his friends care about him very much. Though scolding him for street racing, his friends still take care of his house after he run away.\n4.2.2.1.1. Friendship of Mole and Water Rat # We can know that Mole and Water Rat like to share each other’s food and invite another one to his house (Grahame, 1908, p.50). When Mole is in trouble, Water Rat will come to help him immediately. For example, when the Mole want to reach the Badger’s house but get lost in the Wild Wood, the Water Rat come to save him with guns armed. The author describes the action of Water Rat when he finds outs that Mole had gone tothe Wild Wood:\nThe Rat looked very grave and stood in deep thought for a minute or two. Then he re-entered the house, strapped a belt round his waist, shoved a brace of pistols into it, took up a stout cudgel that stood in a corner of the hall, and set off for the Wild Wood at a smart pace.\n(Grahame, 1908, p.86)\nThis is a good representation of their friendship. After Rat wake up from the nap, he immediately knows what happened and run away to save his friends. He also comforts his best friend when he found out Mole is trembling and being horrified in the cave.\n“O Rat!” he cried, “I’ve been so frightened, you can’t think!”\n“O, I quite understand,” said the Rat soothingly, “You shouldn’t really have gone and done it, Mole. I did my best to keep you from it. We river-bankers, we hardly ever come here by ourselves.”\n(Grahame, 1908, p.87)\nRat also stays with Mole in the cave and wait for him to recovery from the tiredness. Moreover, they are so intimate, so both give each other a nickname, which are “Molly” and “Ratty”. On the other hand, when Water Rat lost his minds and wanted to explore the world, it is the Mole in front of his house stopped him. (Grahame, 1908, p.198) This time, Mole comforts his friends by asking him to write a poem.\nFrom above we know that the theme, friendship, is expressed through the speaking and actions of the two characters.\n4.2.2.1.2. Friendship of Toad and his friends # The round characters, Mole, Water Rat, Water Rat and Mr. Badger know Toad a lot. For example, when Mole asks Water Rat that the brave Toad may come to the Wild Wood alone, he replied “He wouldn’t show his face alone, not for a whole hatful of golden guineas, Toad wouldn’t” (Grahame, 1908, p.88). Therefore, it is because they often keep in touch with Toad so Water Rat certain that Toad will not dare to come to the dangerous Wild Wood by himself.\nAnother example is the battle of Toad’s Hall. Even though Toad was in prison, their friends keep an eye on his hall for him. Instead of scolding Toad for coming crimes, his friends had come to their minds with a variety of ways to help Toad to take his hall back:\n“Come, cheer up, Toady!” said the Badger, “There are more ways of getting back a place than taking it by storm. I haven’t said my last word yet. Now I’m going to tell you a great secret.”\n“There—is—an—underground—passage,” said the Badger.\n(Grahame, 1908, p.235)\nThe reason for Badger to disclose this secret is that Toad’s father was Badger’s old friend, and he knew that his son cannot hold his tongue (Grahame, 1908, p.235). In the time of emergency, advice and actions from Badger and Mole are truly beneficial to Toads. Later, as mentioned before in 4.2.1.2.1. and 4.1.1. where we discuss the changes of Toad, this is mainly caused by his friends. With a lot helps from his friends, Toad cherish the dedication of his friends for fighting with him. The actions of his friends shape the new personality of Toad: from pride to modesty. He is not the one who bloating himself all day long, now Toad is totally a newborn character.\nOn the wind that lifts their spirit through the air, the power of friendship can change an animal and make people’s minds come together.\nChapter Five Conclusion # In conclusion, the researcher found out that The Wind in The Willows (Grahame, 1908) did have the elements of qualified literature based on several children’s literature theories suggested by the experts (Lukens, 2007; Peter, 1999; Crippen, 2012; Norton, 1993). First, the four round characters are well-designed and shaped. The readers could observe their personal grows easily from their behaviors and speaking, as defined by Lukens (2007, p.77). Also, there are several flat characters who make the story move forward: The loss of Portly’s son make round characters encounter the mysterious creatures in the woods; The kindhearted gaoler\u0026rsquo;s daughter helped Toad to escape from the prison. At last, few round characters would change their personality traits to some extents, while flat characters are the ones who push the story moving forward.\nSecond, two types of conflicts occurred in The Wind in The Willows: They are Person- against-self conflicts and Person-against-person conflicts. These conflicts are essential to this book because round characters made changes after conflicts, such as Toad: from pride to modesty. Thanks to his friends, he acknowledged his mistakes and made changes, so he turns out to be completely new Toad. By reading this, young readers would learn the positive ideas of human life which leads to an optimistic mind.\nThird, the primary theme of the book is friendship because animals would help each other to overcome the difficulties. For example, Toad’s friends helped him fight against the Weasels, or the Mole comforted Water Rat while he lost his mind. This could help readers, especially children learn the spirits of helping each other imperceptibly. In these findings, this book does have qualified children book elements. Therefore, children’s literature is not only beneficial to children but the adults. By putting ourselves in shoes of others, readers would shift their perspectives. That means readers would have a different view of the world which is good for human’s life.\nThe experts provide the theories and guidelines of children’s literature books, so novelists could create brilliant and qualified works. By applying theories provided by experts, adults readers would be able to distinguish what are the qualified children books would be like. And parents will know how to select good books for their children.\nReferences # Anderson, Nancy A. (2005). Elementary Children\u0026rsquo;s Literature: The Basics for Teachers and Parents (2nd Edition). Allyn \u0026amp; Bacon. Atwood, Margaret. (1983). Murder in the Dark. Coach House Press.\nBBC - The Big Read - Top 100 Books. (2003). BBC. https://www.bbc.co.uk/arts/bigread/top100.shtml\nBillboard Staff. (2006). Pink Floyd Co-Founder Syd Barrett Dies At 60. Billboard. https://www.billboard.com/music/music-news/pink-floyd-co-founder-syd-barrett- dies-at-60-57867\nBunting, Joe., \u0026amp; Reid, Ruthanne. (n.d.). What Is Plot? The 6 Elements of Plot and How to Use Them. The Write Practice. https://thewritepractice.com/plot\nCrippen, Martha. (2012). The Value of Children’s Literature. Luther College. https://www.luther.edu/oneota-reading-journal/archive/2012/the-value-of- childrens-literature\nEdwards, Gina. (2020). Mastering Conflict in Fiction: 7 Types of Conflict and How to Use Them. ProWiritngAid. https://prowritingaid.com/art/1366/what-are-the-7-types-of- conflict-in-literature.aspx\nFlat and round characters. (n.d.). Britannica. Retrieved 18 October 2021 from https://www.britannica.com/art/flat-character\nForster, E.M. (1927). Aspects of the Novel. Mariner Books.\nGlatch, Sean. (2021). What is Theme? A Look at 20 Common Themes in Literature. Writers.com. https://writers.com/common-themes-in-literature\nHannah Rothwell. (2019). The Success of Book to Film Adaptations. Medium. https://medium.com/publishing-in-the-digital-age/book-to-film-adaptations-caec7c65e96a\nHunt, Peter. (1999). Understanding Children’s literature. Routledge. Introduction to Literature - ENG 125 at Northern Virginia Community College. (n.d.).\nBridgepoint Education .Retrieved 02 Nov. 2021 from https://content.bridgepointeducation.com/curriculum/file/4f178332-435c-4c9b-b85a-0f9755578f2a/1/ENG125%20-%20Theme,%20Plot,%20and%20Conflict.pdf\nJ. K. Rowling: By the Book. (2012). New York Times. https://www.canterburyclassicsbooks.com/blog/2019/05/17/fun-facts-about-the-wind-in-the-willows-and-its-author/\nLukens, Rebecca J. (2007). Critical Handbook of Children\u0026rsquo;s Literature, A, 8th Edition.Pearson.\nLynch-Brown, Carol \u0026amp; Tomlinson, Carl M. (2005). Essentials of Children’s Literature. Allyn and Bacon.\nMasterClass staff. (2021). What Is Conflict in Literature? 6 Different Types of Literary Conflict and How to Create Conflict In Writing. MasterClass. https://www.masterclass.com/articles/what-is-conflict-in-literature-6-different-types-of-literary-conflict-and-how-to-create-conflict-in-writing#how-to-create-conflict-in-your-writing\nMasterClass staff. (2021).What Is Character vs. Nature Conflict? Learn About the Literary Conflict with Examples. MasterClass. https://www.masterclass.com/articles/what-is-character-vs-nature-conflict-learn-about-the-literary-conflict-with-examples#what-is-a-character-vs-nature-conflict .\nMcCrum, Robert. (2014). The 100 best novels: Help!. The Guardian. https://www.theguardian.com/books/booksblog/2014/apr/16/fiction\nMei, Tun. (n.d.). “Liu lin fengsheng jí qi zhoongguo zhi lu”. British Library. https://www.britishlibrary.cn/zh-hk/articles/translation-of-wind-in-the-willows/\nNorton, Donna E., \u0026amp; Saundra Norton. (2011). Through the Eyes of a Child: An Introduction to Children\u0026rsquo;s Literature (8th Edition). Pearson.\nSutherland, Zena. (1997). Children and Books 9th Edition. Pearson.\n","date":"2022年6月25日","externalUrl":null,"permalink":"/posts/analyzing-the-elements-in-children-s-books-the-wind-in-the-willows/","section":"Reviews","summary":"我為什麼要寫這篇文章：畢業研究專題終於做完了\n英文標題：Analyzing the Elements in Children’s Books: The Wind in the Willows\n學生：Ivon Huang 國立屏東大學 2022年6月 《柳林風聲》主角群。圖片來源 Abstract # Reading children’s literature is beneficial to readers, both children and adults, since it makes readers to understand other people’s feelings. Also, young readers can achieve a positive mental thought from observing actions of characters in the children’s books. For readers who want to select qualified children’s literature book for their children, this study analyzed three elements of children’s literature. They are the round characters and the flat charters, two different kinds of conflicts and explicit theme of children’s literature. These elements can be used to find the qualified children’s books.\nThe famous British children book “The Wind in the Willows” by Grahame, Kenneth (1908) was selected for studying. In this study, the researcher would analyze the elements of children’s literature in The Wind in The Willows. The major finding is that the round characters, such as Toad, would make changes after conflicts. Also, flat characters are also important to the story since they could push the story moving forward. What’s more, round characters are dynamic who have the capacity of changing in the story. This would lead to the explicit theme of the book: the friendship among round characters. These findings proved the qualified children’s literature elements do exist in The Wind in The Willows. It is helpful for people who are interested in children’s literature.\nKeywords: children’s literature, conflicts, round character, explicit theme, flat character\nChapter One Introduction # Why should we read children’s literature? Imagine being a child who can barely speak and express his or her feelings, so that he or she would need something to help him or her to develop skills of speaking and writing. This could be done in many ways, by reading children’s literature, especially those were written for children, are very useful to them. Lukens (2007) suggested that while children developing their language skills, they will be able to express their emotions in better ways and understand other people’s feelings (Lukens, 2007, p.xxiv). Besides, the adults would also benefit from reading and evaluating children’s literature. Thus, they would learn how to select qualified children’s books for their children to read. Also, adults could understand the views of children from these works.\n","title":"《柳林風聲》The Wind in The Willows的兒童文學元素分析 by Ivon Huang","type":"review"},{"content":" Student: Ivon Huang National Pingtung University June 2022 Abstract # Reading children’s literature is beneficial to readers, both children and adults, since it makes readers to understand other people’s feelings. Also, young readers can achieve a positive mental thought from observing actions of characters in the children’s books. For readers who want to select qualified children’s literature book for their children, this study analyzed three elements of children’s literature. They are the round characters and the flat charters, two different kinds of conflicts and explicit theme of children’s literature. These elements can be used to find the qualified children’s books.\nThe famous British children book “The Wind in the Willows” by Grahame, Kenneth (1908) was selected for studying. In this study, the researcher would analyze the elements of children’s literature in The Wind in The Willows. The major finding is that the round characters, such as Toad, would make changes after conflicts. Also, flat characters are also important to the story since they could push the story moving forward. What’s more, round characters are dynamic who have the capacity of changing in the story. This would lead to the explicit theme of the book: the friendship among round characters. These findings proved the qualified children’s literature elements do exist in The Wind in The Willows. It is helpful for people who are interested in children’s literature.\nKeywords: children’s literature, conflicts, round character, explicit theme, flat character\nChapter One Introduction # Why should we read children’s literature? Imagine being a child who can barely speak and express his or her feelings, so that he or she would need something to help him or her to develop skills of speaking and writing. This could be done in many ways, by reading children’s literature, especially those were written for children, are very useful to them. Lukens (2007) suggested that while children developing their language skills, they will be able to express their emotions in better ways and understand other people’s feelings (Lukens, 2007, p.xxiv). Besides, the adults would also benefit from reading and evaluating children’s literature. Thus, they would learn how to select qualified children’s books for their children to read. Also, adults could understand the views of children from these works.\nThe purpose of this research is to analyze the elements of children’s literature books: Character, conflicts and theme. These literary elements made qualified children\u0026rsquo;s books. What’s more, readers will know to evaluate and select good children’s literature books for their children. The researcher selected the well-known British children’s literature book: The Wind in The Willows for studying. It was a children’s literature book by British author Kenneth Graham which was published in 1908. The story is mainly about the friendship and adventures of four animals. These characters have different kind of personalities which will cause many conflicts, battles among all characters in the story. Hence here comes three research questions of this study:\nWho are the round characters and flat characters in The Wind in The Willows? What types of conflicts would occur in the book? What are the primary themes of the book? Since characters, conflicts, themes are essential to a book, this study will focus on examining if the book, The Wind in The Willows, has these elements. In this study, the researcher will discuss the elements of children’s literature, based on Lukens (2007), Peter (1999) and several experts’ theories. Also, they pointed out several types of themes of children’s literature. Chapter 3 will discuss the reasons why the researcher chose the book, The Wind in The Willows, for studying. Chapter 4 will analyze elements of children’s literature books.\nIn conclusion, the researcher found out that The Wind in The Willows did have the elements of qualified literature based on several children’s literature theories suggested by several experts (Lukens, 2007; Peter, 1999; Crippen, 2012; Norton, 1993). A major finding is that the characters, conflicts, and themes in this book are well-designed. Characters would become a different animal after conflicts with the help of other characters. Finally, the theme of the book is explicitly expressed through the round characters’ behaviors.\nThis study may serve as an inspiration for readers who are interested in children\u0026rsquo;s books. Thus, readers could know how to evaluate children’s literature and select high quality book for their children.\nChapter Two Literature Review # Many specialists argue for the functions of children’s literature. Is it not only beneficial to children but also adults? Peter (1999) indicated that children\u0026rsquo;s literature is worth reading for adults. Children experiences are often unknowable by writing texts, but most of us strongly suspect it to be rich and complex (Peter, 1999, p.4). What’s more, the functionalities of children’s literature cannot be ignored. In Luke’s view, children’s literature brings pleasure, and makes children understand the ideas of other humans (Lukens, 2007, p.76). On the other hands, Crippen noted that “Quality literature does not tell the reader everything he/she needs to know; it allows for some difference in opinion.” (Crippen, 2012). Therefore, the functions of children’s literature could be splendid and useful in many ways for children and adults. Lukens stated that it is possible to develop full characters and create engaged plot in simple picture books, so the text could be judged by the standards of literary excellence (Lukens, 2007, p.49) From here we know a children book always consists of many literature elements, in this chapter, the researcher will focus on discussing the definitions of characters and plots.\n2.1. Character # Generally, stories have characters. They are one of the important elements of literature. In the children’s literature, the terms “character” means a person or a personified animal or object. The “development of character” shows the complexity of life beings, no matter he or she is a person, and animal or an object (Lukens, 2007, p.76). Thus, the main character of an enjoyable story needs is seeming like a real person (Norton, 1993). Readers can understand the character from their speeches, actions, and opinions (Lukens, 2007, p.84). The importance of a character in a story determines how the character will be developed, who may be primary, secondary, or in the background. The closer the character to the center of the conflict shows how important the character is, and the complexity of the character\u0026rsquo;s personality (Lukens, 2007, p.77). They can be divided into two types: round characters and flat characters.\n2.1.1. Revelation of Round Characters # When it comes to the core of the story, there are always some explicit character(s), which are “Round characters”. Round characters are fully developed, which means the traits of the character are demonstrated in the story. Readers could feel and understand characters’ personalities more. Therefore, round characters are usually complex and undergoing development, just like a real person (“Flat and round characters”, 2021). Sutherland (1997) stated in his book:\nMain characters, especially the central character or protagonist, must be fully developed; that is, the reader should learn of the characters’ many traits—theirstrengths as well as their weakness.\n(Sutherland, 1997, p.31)\nHe also stated that round characters are developed through changes:\nThe main characters in an excellent work of fiction for children are rounded, fully developed characters who undergo change in response to life-altering events.\n(Sutherland, 1997 p.31)\nTo conclude, the round character is dynamic who have the capacity of changing. Round characters may grow or change through the story, so readers are able to understand the character deeper.\n2.1.2. Revelation of Flat Characters # In comparison with round characters, characters who are less important in the story are “Flat characters”. Though flat characters are essential to the actions, but not fully developed, who are quickly made known to the reader (Lukens, 2007, p.82). There are always few words to describe their “types”: mad scientist, evil stepmother, animal sidekick (“Flat and round characters”, 2021). In this regard, flat characters seem do not like an individual human being; whereas who does have a few traits of a class, this is so called \u0026ldquo;stereotype\u0026rdquo; (Lukens, 2007, p.82). Sutherland stated that:\nFlat characters are often stereotypes who poses only one side of their personality. Flat characters are usually static, undergoing no change in personality throughout the book.\n(Sutherland, 1997, p.31)\nTherefore, the difference of flat and round character lies in the complexity of the personality, the former is those with little complexity or depth of personality.\n2.2. Plot # The plot is simply one thing after another thing, what happened and what happened next in a story (Margaret, 1983). However, a good writer will also add how and why to a story. As Lukens stated that the plot is a sequence of events showing characters in action. The author consciously selects a good way to tell hist story (Lukens, 2007, p.99) The plot catches reader’s eyes to see the flows and tensions of a story. Forster also suggested that “the plot organize the events according to a sense of causality” (Forster, 1927, p.86). This means. in contrast to a “story” which is just an event, it requires “cause and effect” to produce the plot (Bunting and Reid, 2022). To make it clearer: “The king died, then queen died” is an event, whereas “the king died, and queen died of grief” is a plot (Forster, 1927, p.87). Furthermore, the plot drives the story to a climax, which is so-called conflicts, a situation(s) in which characters must make a hard decision to solve problems.\n2.2.1 Conflicts # Plots does not only involve sequence of event but also conflicts. Climaxes it made could make readers willing to know what will happen next. Contemporary authors often develop plots about child who face and overcome problems (Norton, 1993, p106). As Lukens defined, conflicts include tension, friction, alternatives, excitement, suspense, discovery, and resolution. When the protagonist struggle with the antagonist, the conflicts are occurred. The four kinds of conflict in literature are person-against-self, person-against-person, person-against-society, and person-against-nature (Lukens, 2007, p.103). Furthermore, a variety of conflicts may exist in a single story (Lukens, 2007, p.108). The Wind in the Willows represents two conflicts, which are: Person-against-self conflicts and person-against-person conflicts.\n2.2.1.1. Person-Against-Self Conflict # In person-against-self conflict, when the character is facing multiple moral choices, to decide what the right choice is (“What Is Conflict in Literature? 6 Different Types of Literary Conflict and How to Create Conflict in Writing.”, 2021). As Lukens defined, a tension that pulls Tom Sawyer toward either of two courses of action, so he is facing \u0026ldquo;internal conflicts\u0026rdquo;, this kind of feeling is called \u0026ldquo;person-against-self conflict \u0026quot; (Lukens, 2007, p.103). The common type of internal conflict is encompassing mental struggles, which is the distinctive way of demonstrating internal conflicts. (“What Is Conflict in Literature? 6 Different Types of Literary Conflict and How to Create Conflict in Writing.”, 2021)\n2.2.1.2. Person-Against-Person Conflicts # As the name suggests, person-against-person is the most common types of conflicts in literature. This type of story involves two characters with different opinions, outlooks, or goals. And if both sides think they were right, this could make the story richer (Edwards, 2020). Lukens stated that:\nTom Sawyer must face an additional conflict. The strain between the two forces is what holds our continuing interest and our intense curiosity about the outcome. Tom’s internal conflict, his growing awareness of justice opposing his fear for his life, forces him to take action in a person-versus-person conflict that causes him to face the vengeance of a villainous man.\n(Lukens, 2007, p.106)\n2.2.2. Theme # To know what the main idea of a story is, and what the author wants to suggest or imply us by the story, it is the theme of the story. Lukens noted that:\nTheme in literature is the idea that holds the story together. It is the main idea or central meaning of a piece of writing.\n(Lukens, 2007, p.131)\nBecause the definition of literature is “a significant truth expressed in appropriate elements and memorable languages”, the significant truth is the Theme, which is understandable for human beings without words (Lukens, 2007, p.131). Also, themes can be stated explicitly or implicitly. This means that implicit themes are easy to understand while the implicit, or the truth is hidden behind the texts, which only could be realized by reading throughout the whole story (Lukens, 2007, p.142). There are plenty of types of themes, such as Good VS. Evil, Hubris, Identity, Friendship, Nature. What\u0026rsquo;s more, the themes could be explored through literature elements: conflicts, characters, plots (Glatch, 2021). In conclusion, the theme of a story may be bright or dim. By understanding it more, we can get closer to the truth told by the author.\nIn conclusion, we have discussed the basic elements of children’s literature: Character, Theme and Conflicts of plots. Characters are essential to the story no matter they are round or flat characters. Round characters are the main roles of the stories whereas flat characters are necessary for events. Plus, in order to make “events” turn into “stories”, the author must write a good plot, which always consists of multiple conflicts to push the stories forward. Finally, the reader may can get the main idea and learn something from the whole story. This is the function of theme, which can be expressed implicitly or explicitly.\nChapter Three Methodology # In this chapter, we are going to discuss why we choose this book. First, it is about the popularity of The Wind in The Willows in United Kingdom and around the world. This book was well-known by lot of people, some celebrities also mentioned or recommended it for everyone to read. Second, there were a variety of adaptations of The Wind in The Willows, such as dramas, TV shows, movies and musical adaptions. We will give more details in the following paragraphs.\n3.1. High popularity # The book, The Wind in The Willows, is very popular in the United Kingdom. For example, according to the list of 100 best novels which were picked up by the editors of The Guardian, The Wind in The Willows was ranked as the 38th in the list (McCrum, 2014). Furthermore, audiences of BBC voted The Wind in The Willows as the 16 of Top 21 books (BBC, 2003). From here we know that the book is very well-known to the Britain people, and some celebrities also recommend this book to their readers. Some of them suggested the book is truly educative no matter the readers are adults or children. For an instance, J.K. Rowling, the author of Harry Potter, mentioned the book in an interview: “My most vivid memory of being read to is my father reading [this book] when I was around 4 and suffering from the measles.” (The New York Times, 2012). Plus, the US president Theodore Roosevelt wrote to Grahame to tell him that he saw the novel’s principal characters as old friends. (Canterbury Classics, 2019). Therefore, we can know that the contents of The Wind in The Willows were approved by the great people and they very enjoyed read it. With so many loves from these great people, the book is indeed an excellent work in the world. More details can be found in the following table.\nFigure 3.1. The Popularity of The Wind in The Willows'\nFamous books ranking The Guardian, 2014, 100 best novels: No 38 – The Wind in the Willows by Kenneth Grahame(1908) BBC, 2003, “The Big Read” rank 16 of Top 21 books Celebrity Recommendations US president Theodore Roosevelt wrote to Grahame to tell him that he saw the novel’s principal characters as old friends. \u0026ldquo;My most vivid memory of being read to is my father reading [this book] when I was around 4 and suffering from the measles.\u0026rdquo; - J.K. Rowling 3.2. Inspirations \u0026amp; Adaptations # The Wind in The Willows is not only a famous book, but there also are a wide range of adaptions and inspirations. Why could the adaptions make a book more popular? What are the requirements for adaptions? Rothwell (2019) suggested that “Due to the pre-existing audience and modern social media, fans have the ability to spread the word about the adaptations allowing for it to become a part of popular culture.” Modern kids are living in a world where the Internet is accessible at everywhere, so adaptions could make old literature come alive. Also, because the plot of book was proved by pre-existing readers; thus, the adaptions are deemed to attract more audiences (Rothwell, 2019).\nBelow are some adaptions of The Wind in The Willows. First, according to Wikipedia 19 (2022), there are 11 films which are based on The Wind in The Willows. Some of them are cartoon movies, such as Disney’s The Adventures of Ichabod and Mr. Toad (1949) and Mole\u0026rsquo;s Christmas (1994). On the other hand, the numbers of TV show adaptions are also impressive: there are 11 of them for over half a century. These adaptions make more people, especially young children to read and appreciate classic literature.\nIn conclusion, there are two reasons of selecting this book for research. The first one is its high popularity. It was being recommended by great people. Also, they stated the book is beneficial to readers. Secondly, the variety of adaptions proved that this book is truly a great work. With so many media types of The Wind in The Willows, more and more audiencescould get in touch with the classic literate in different ways.\nChapter Four Results and Discussions # We have discussed the functions of children’s literature and the definitions in Chapter 2. One of the key functions of children’s literature is to help the reader, no matter they are children or adults, to have a different view on their life (Crippen, 2012). The children’s experiences may be rich and could not be expressed by words, it is still possible to find literature elements in the stories. Plus, Lukens suggested that the picture book is not just a simple book, the texts are worth to be evaluated. (Lukens, 2007, p.49) From now on the researcher will analyze the literature elements of The Wind in The Willows: characters and plots.\n4.1. Revelation of round character # Round characters are dynamic, who are always changing (Sutherland, 1997, p.31). As mentioned in Chapter 2, the traits of round character are demonstrated in the story (“Flat and round characters”, 2021). Toad from The Wind in the Willows is identified as round character, who is always changing, and growing through some events. He was once an ambitious and proud toad, however after enduring adventures and fighting weasels, his attitude changed.\n4.1.1. Toad: from pride to modesty # Toad from The Wind in the Willows (Grahame, 1908) is one of the round characters of the story. Toad’s attitude changes after his adventures in cities and fighting with weasels. This can be observed by action, speeches, opinions, and author’s comment (Lukens, 2007, p.77). At the first, Toad was proud and careless, he got fascinated by other people’s cars, so he gotone. Later, he encountered a car accident; thus, his friends keep him in the house under their surveillance (Grahame, 1908, p.138). However, Toad escaped, he walked “briskly” from the home, we can see how arrogant he is from his movements, which was careless and leisurely (Grahame, 1908, p.143). Moreover, in his eyes, the sunlight on the field is “smiling brightly on him” This shows that he thought he was right, and the escape was such a big achievement instead of a mistake (Grahame, 1908, p.143).\nToad ran away and stole a car, then his car ran into a shop, so he got arrested. Then again, he escaped from the prison (Grahame, 1908, p.170). On his escaping tour, he was still a wailing toad. In an argument with the barge-woman, he said, “Don’t you dare to talk to your betters like that!” and claimed he is a “very well-known, respected, distinguished Toad.” From his speeches, we know what he thought about himself is still the same: he was egotistical and with lots of senses of superiority. Also, let’s have a glimpse of his actions: In return to the mocking of the barge-woman, Toad stole her horse and ran away (Grahame, 1908, p.207). On the field he also sang a parody song of the well-known The British Grenadiers:\n“The world was held a great Hero,\nAs history-books have showed.\nBut never a name to go down to fame\nCompared with that of Toad!”\n“The clever men at Oxford\nKnow all that there is to be known.\nBut they none of them know one half as much\nAs intelligent Mr. Toad!”\n(Grahame, 1908, p.214)\nThis is considered to be one of the “conceited” songs by the author. He called himself “the greatest hero” and “intelligent”, no one can be compared with him. Such a clever and mighty Toad was singing for a long time and “inflating every minute” (Grahame, 1908, p.215). After that, he robbed a car and drove the car back to his home. However, his home, the Toad Hall, was took over by the weasels. Therefore, he cooperated with his friends and chase the weasel away. We will talk about the conflicts, the battle of Toad’s Hall, later. Here we can notice that Toad’s attitude is slightly changed in the planning of striking Toad’s Hall. First, he apologized to the Rad for ruining his boat, now he finally had sense of guilty (Grahame, 1908, p.289). Second, he listened to Badger’s plan carefully. And in the operation of creeping into the hall by walking the underground path, he kept silent and stayed at the last in order not to ruin their plans. We can tell that the Toad is becoming a little bit sympathized, which his pride is vanishing at the same time.\nAfter the battle, in the celebration banquet, people asked Toad to sing a song about boasting himself, however he “only shook his head gently”, refused to deliver a boasting speech. The Badger and Rat “starring each other with open mouth”: They couldn’t believe this! The arrogant, irresponsible Toad now is truly a different animal. Plus, author comments: “He was indeed an altered Toad!”. (Grahame, 1908, p.259) So, the round characters are due to changes: Toad was a careless and bold character, after a several of adventures, Toad now become a modest character. These can easily be observed by readers through their behaviors and speaking ways: Before fighting with weasels, he was “irresponsible”, later Toad becomes sympathetic. He expressed frankly in the banquet:\n“You are right, I know, and I am wrong. Hence forth I will be a very different Toad.”\n(Grahame, 1908, p.255)\nThis is how the round characters changes: Their actions and speeches are changing by the time, finally they caused changes to round character’s traits.\n4.1.2. Revelation of flat character # In contrast with round characters, flat characters are less important, but essential to the story. As we mentioned in the 2.1.2, flat characters are always stereotyped characters who has single traits and will not change (Lukens, 2007, p.82). However, they are essential to the story because they make the story move forward. These flat characters below, even he or she only appears once in the book, is still important to make the story move forward.\n4.1.2.1. Portly # Portly, the young son of Otter, is missing in “Piper at The Gate of The Dawn” from The Wind in the Willows (Grahame, 1908). He is a flat character, a young and adventurous animal. And it is his missing that make Water Rat and Mole go for him and met the Pan, who cast a spell on Portly and both of them.\nOtter have searched his son for several days but cannot find him. At the midnight, he sat desperately at the bank and watched the ford, hoping his son would come back. Hearing Water Rat’s worries about the missing of Portly, Mole said Portly is “adventurous” and he will “turn up again” (Grahame, 1908, p.149) so it’s unnecessary for Water Rat to worry about him. However, Otter had hunted for everywhere, no one had ever seen the little Portly. Therefore, they got the boat out, down to the river. On an island, which Water Rat described as “the place of my song-dream”, they saw many wonderful scenes (Grahame, 1908, p.155) Later they found the “the little, round, podgy, childish” Portly was lying on the hooves of Pan. (Grahame, 1908, p.156) Finally, they made a worship and took Portly back to home. It was like a beautiful dream because all of them forgot what happened last night.\nNot a word was spoken by the young Portly, the son of Otter. All we know he is the son of Otter; he is a flat, not developed character. Also, he has many common traits of children: little, naive, and venturesome personalities.\n4.1.2.2. The gaoler’s daughter # The gaoler’s daughter who helped Toad escaping from the prison, is a kind and kindhearted girl. She pitied Toad and let him go. The flat character will never change. Therefore, the gaoler’s daughter is a flat character, she is always kind all the time.\nToad was locked down in a prison in “Toad’s Adventures” (Grahame, 1908). Because he was sentenced for 10 years, Toad was depressed from the day he entered the prison. Few days later, the “pleasant wench and good-hearted” girl begged her father to let her have managing on him. (Grahame, 1908, p.164) She called Toad “a blessed animal” and had high interest on Toad’s stories. She is a kind character from the beginning to the end. We can know this from her words:\n“Now, cheer up, Toad,” She said, coaxingly, on entering, “and sit up and dry your eyes and be a sensible animal.”\n(Grahame, 1908, p.164)\nFirst, she brought some nice food for Toad, and later she brought more teas and toasts. Toad was so hungry, so he enjoyed delicious food very much. Plus, she was fond of animals therefore she will not call him and his friends’ “pets” (Grahame, 1908, p.165). After having some interesting talks with Toad, gaoler\u0026rsquo;s daughter suggested that Toad can disguise as a washerwoman and run away. Toad said she is a “kind, clever” girl. (Grahame, 1908, p.168) good-hearted.\nThe plan was successful, Toad stared his new adventures. The gaoler’s daughter is always kind to this poor animal. From her actions and speaking, she is indeed a flat character who is less important to the story but helps carry the action and push the story (of Toad) forward.\n4.1.2.3. The Weasels and Stoats # Weasels and Stoat are evil animals from the Wild Wood. They took Toad’s Hall while he is away from his own. There are many of them, who occupied Toad’s Hall. The stereotypes are obvious, which can be observed from their actions and speaking. For example, while Toad is screaming at the front of the door, they shot him. (Grahame, 1908, p. 228) Also, according to Mole’s description, they do many bad things in Toad’s Hall:\n“And going on simply anyhow! Lying in bed half of the day, and breakfast at all hours, and the place in such a mess! (I’m told) it’s not fit to be seen! Eating your grub, and drinking your drink, and making bad jokes about you, and singing vulgar song.”\n(p. 227)\nThese make reader know their traits in a short time. They simply took over his house and do what they want in it. And at the last the chief of the Weasels mocks Toad and weasels around him start laughing:\n“I should like to say one word about our kind host, Mr. Toad. We all know Toad!”-(great laughter)-”Good Toad, modest Toad, honest Toad!” (shrieks of merriment)\n(Grahame, 1908, p.246)\nSo, the stereotypes are very obvious: the weasels and stoats are evil and cunning because their actions manifest their traits clearly. Many of them reacted to Toad’s story with a burst of cruel laughter.\nThus, they are important to the story. We don’t know names of most of them, not only they are too much, but their traits are exposed through their actions. They are the ones who got to be beaten by Toad and his friend, this makes the story come to an end.\n4.2. Plot # Descriptions of a thing after another thing are just events. Adding some cause and effects make events turn into plots (Margaret, 1983). In order to create a good story instead of plain descriptions events, the writer must use some elements in their story to make it more vivid (Bunting and Reid, 2022). Therefore, conflicts are presented, it can create climaxes which will force characters to solve problems and push the stories forward.\n4.2.1. Conflicts # Conflict is a common element in children’s literature. Lukens indicated that tension, friction, alternatives, excitement, suspense, discovery, and resolution are included in a conflict (Lukens, 2007, p.103). And there are four types of them: person-against-self, person-against-person, person-against-society, and person-against-nature.\nA story may contain one or more conflicts, while The Wind in the Willows mainly represents two conflicts: the person-against-self conflict and person-against-person conflicts. The Water Rat in the story enjoys interacting with other people, so the internal conflicts occurred, especially in the conversation with the Sea Rat. On the other hand, the latter is more common in the story because Toad is easily to enter a quarrel with other characters, especially in his adventures in the city.\n4.2.1.1. Person-against-self conflicts # 4.2.1.1.1. Water Rat-against-himself # Water Rat has internal conflicts in “Wayfarers All” of The Wind in The Willows (Grahame, 1908) after he listened to Sea Rat’s stories, a tension of making the right choice. It is the struggle of exploring the world or staying at home. Many animals go to the south, Water Rat try to find out the reason, therefore his mind got affected by the stories told by the Sea Rat. Thus, the conflict causes the internal conflict, a kind of feeling that making the right decision. At the beginning, Water Rat saw many animals go to the south in winter. For example, he got confused in the talking with the swallows:\nWater Rat: “(Swallows planning for the routes is) Fun? Now that’s just what I don’t’ understand. If you’ve got to leave this pleasant place, and your friends who will miss you, and your snug homes that you’ve just settled into.”\nWater Rat also questioned them:\n“Couldn’t’ you stop on for just this year?” Suggested the Water Rat, wistfully.\n(Grahame, 1908, p.183)\nThe swallows refused because the weather would getting cold, they had to fly to the south. However, the Water Rat really hoped them to stay with him, but the animals had their own reason, so they are all leaved. While wandering on the bank, the internal conflict is appearing in Water Rat’s mind: Is moving to the south bad? He started to imagine the scenery of the south: “What sun-bathed coasts, along which the while, villas glittered against the olive woods!” (Grahame, 1908, p.186) Nevertheless, he still didn’t know if that is a right choice until he met the Sea Rat, a rat who visited many places. The Sea Rat told Water Rat:\n“I supposed you for great voyages. Month and months out of sight of land, and provisions running short, and allowance as to water, and your mind communicating with the mighty ocean, an all that sort of thing?”\n(Grahame, 1908, p.189)\nHe also described the scenery of the south, which is as same as Sea Rat’s imaginations:\n“By no means. Such a life as you (Water Rat) describe would not suit me at all. I’m in the coasting trade, and rarely out of sight of land. It’s the jolly times on shore that appeal to me, as much as any seafaring.”\n(Grahame, 1908, p.189)\nWater Rat is fascinated by his stories. He inquired the Water Rat to telling more. Moreover, after telling his adventures on the sea, the Sea Rat had to leave, and he encouraged Water Rat to go out:\n“Take the Adventure, heed the call, now ere the irrevocable moment passes! Tis but a banging of the door behind you, a blithesome step forward, and you are out of the old life and into the new!”\n(Grahame, 1908, p.196)\nThe Water Rat may think “How exciting the outer world is!” The Sea Rat describe the tour as a “voyage”, which are the experiences the Water Rat would never have. From here, the internal conflict of Water Rat is raising: Maybe the Sea Rat, and other animals who went to the South were right. Now he wanted to go outside, too.\nAfter talking with Sea Rat, he was triggered by his experiences and want to explore the world: He packed his luggage “without no hesitation at all” and murmured “Going South, with the rest of them” (Grahame, 1908, p.197) He was so charmed by the imagination of moving south that he didn’t even notice the Mole who standing in front of him. From Mole’s view, we can know that the Water Rat is facing a great tension:\nThe Mole, now thoroughly alarmed, placed himself in front of him, and look into his eyes, saw that they were glazed and set and turned a streaked and shifting grey-not his friends\u0026rsquo; eyes, but the eyes of some other animal!\n(Grahame, 1908, p.197)\nWater Rat could only see the voyage on the road. Finally, Water Rat got deterred by Mole. After being dragged into the house, the Water Rat started to tremble. His body “shaken by a violent shivering, passing in time in a hysterical fit of dry sobbing.” (Grahame, 1908, p.197) At this moment, his internal conflict is blasting. The tension of staying or not turned out to be shedding tears. He questioned himself “How recall, for another’s benefits the haunting sea voices that had sung to him, how reproduce at secondhand the magic of the Seafarer’s hundred reminiscence?” (Grahame, 1908, p.198) and continuing murmuring. These overwhelming feelings indicate that the Sea Rat was enduring the struggle and tried to find a reason to figured it out, but he cannot express them clearly to Mole. After some moments, Water Rat felt better, and Mole asked him to write a poem and spoke: “You will feel a lot better when you’ve got something jotted down.” (Grahame, 1908, p.200)\nIn the end, the internal conflict of the Water Rat is vanishing because he got comforted by the Mole, therefore falling into writing poems. From author’s comment: “It was joy to the Mole to know that the cure had at last begun.” (Grahame, 1908, p.200), this proves that the tension is away, now the Water Rat is recovered, no more suffering from the melancholy.\n4.2.1.2. Person-against-person conflicts # 4.2.1.2.1. Toad, Badger, Water Rat, Mole against the Weasels and Stoats # Weasels versus Toad and his friend, the conflict of two forces is the people-against-people conflict. When the Toad was locked down in a prison, the weasels took over his house and occupied it. In the battle of the Toad’s Hall, the conflict of different goals occurred. Toad and friend found a secret underground path to creep in and strike them. In the fierce conflict, the intense battle catches reader’s mind. At the end of the conflict, Toad showed them who is the boss, he took back his hall.\nAs mentioned in 4.1.1, Toad enduring a great adventure in the city. When he came back, Water Rat told him that Toad’s Hall was occupied by the Weasels from the Wild Wood. As the title of this Chapter described, “Like summer tempests came to his tears”, Toad was furious, we can know from his behavior:\nToad leans his elbows on the table, and his chin on his paws; and a large tear welled up in each of his eyes, overflowed and splashed on the table, plop! Plop!\n(Grahame, 1908, p.226)\nBecause the Toad was away from his hall for a long time, so Weasels and Stoats took over his house. And what makes Toad angrier are what Weasels did in his Hall: They “Lying in bed half of the day, and breakfast of all hours, and the place in such a mess.” They also making bad jokes about Toad. (Grahame, 1908, p.227) Toad cannot bear anymore, he ran to his hall with only a stick, the first conflict occurred.\n“Who comes there?” said the ferret.\n“What do you mean by talking like that to me? Come out of that at once, or I will—”\nThe ferret never said a word, but he brought his gun up to his shoulder, Toad prudently dropped flat in the road, and Bang! A bullet whistled over his head.\n(Grahame, 1908, p.228)\nIn this conflict, the ferret did not give any response, and Toad was shocked and ran back to Water Rat’s house, so it was the failure of the Toad. Later, Mole reported that the situation is getting worse: there were always animals on the lock-out, equipped with weapons around Toad’s Hall (Grahame, 1908, p.233). Finally, Badger told Toad that there is a secret underground passage under his Hall, but that was not enough for attacking because the sentinels were so overpowered. At this time, Mole came back, he said he cheat the Weasels, by disguising as a washerwoman and warned them there would be a great army coming for them in all directions:\n“A hundred bloodthirsty badgers, armed with rifles, are going to attack Toad Hall this very night, by way of the paddock. Six boatloads of Rats, with pistols and cutlasses, will come up the river and effects a landing in the garden; while a picked body of Toads, known as the Die-hards, or the Death-or-Glory Toads, will storm the orchard and carry everything before them, yelling for vengeances.”\n(Grahame, 1908, p.241)\nThe reader may think “How clever the Mole was!” His words, “bloodthirsty”. “Die-hard” truly frightened the Stoats. “They were all nervous and fluttered as they could be.”said by the Mole (Grahame, 1908, p.227). We also know this ferrets’ reactions: this “fake” conflict was already occurred in their’ mind. Therefore, there would be no one in the house, guarding those weasels who would enjoy their meals in the banquet hall at the night.\nAfter all weapons were ready, Toads and his friend have departed. At the night, while the Weasels were enjoying their meals, Toads, Badger, Rat and Mole were going through the “cold, and dark, and damp, and low, and narrow” underground passage (Grahame, 1908, p.244). When they got close to the trapdoor behind the banquet hall, they heard Weasels were playing joke on Toad, which made Toad extremely angry:\n“I should like to say one word about our kind host, Mr. Toad. We all know Toad!”—(great laughter)—“Good Toad, modest Toad, honest Toad!” (shrieks of merriment).\n(Grahame, 1908, p.246)\nSuch an insulting speaking from the Chief Weasel ignited Toad’s anger. The conflict of opposing forces now began! Badger opened the door and started attacking Weasels. In the fierce battle, the terrified weasels “dive under the tables and rushed to the fireplace, jammed in the chimney” while Toad was screaming “My! My!” The author also commented “Well might tables and chairs be upset, and glass and china be sent crashing on the floor.” (Grahame, 1908, p.246) Toad went to Chief of Weasels and sent him flying across the table with his stick (Grahame, 1908, p.249). Seeing varies of colors of animals attacking, most weasels didn’t not fight back but escape from here and there, with squeals of terror and dismay (Grahame, 1908, p.248).\nThe battle was quickly coming to an end, in “The Return of Ulysses” from The Wind in the Willows. This time, it was the grand victory of the Toad and hist friends! Toad thanked them with pleasure:\n“Thank you kindly, dear Mole, for all your pains and trouble tonight, and especially for your cleverness this morning!”\n(Grahame, 1908, p.251)\nConsequently, after these conflicts and battles, Toad learned the value of the cooperation and friendship. As we mentioned in the 4.1.1, Toad was once proud and careless, now he became a different toad, who is modest and genuine to his friends. The conflicts of two forces with different goals, brought the changes to the main protagonist, the Toad, and made him become a totally different, well-transformed “Ulysses” at the end.\n4.2.2. Theme # Theme is the central idea of the story, a significant truth. It can be stated explicitly or implicitly by the author (Lukens p.131 2007). Since the explicitly theme is easier to understand and observer, there are two explicit themes presented in the story of The Wind in The Willows (Grahame, 1908): Friendships. Furthermore, the author, Grahame, Kenneth, is especially good at depicting the natural scenes throughout the story while the round characters are helping each other to solve problems.\n4.2.2.1. Friendship of round characters # The round characters, as we mentioned above, are Toad, Water Rat, Badger and Mole. The friendship is the focal point of the book because these round characters will always help their fellows. First, the friendship of Mole and Water Rat is easily to be observed since they meet and share food at the beginning of the book. Later, the author introduces Toad. At first glance, he is like a crazy and selfish toad, however his friends care about him very much. Though scolding him for street racing, his friends still take care of his house after he run away.\n4.2.2.1.1. Friendship of Mole and Water Rat # We can know that Mole and Water Rat like to share each other’s food and invite another one to his house (Grahame, 1908, p.50). When Mole is in trouble, Water Rat will come to help him immediately. For example, when the Mole want to reach the Badger’s house but get lost in the Wild Wood, the Water Rat come to save him with guns armed. The author describes the action of Water Rat when he finds outs that Mole had gone tothe Wild Wood:\nThe Rat looked very grave and stood in deep thought for a minute or two. Then he re-entered the house, strapped a belt round his waist, shoved a brace of pistols into it, took up a stout cudgel that stood in a corner of the hall, and set off for the Wild Wood at a smart pace.\n(Grahame, 1908, p.86)\nThis is a good representation of their friendship. After Rat wake up from the nap, he immediately knows what happened and run away to save his friends. He also comforts his best friend when he found out Mole is trembling and being horrified in the cave.\n“O Rat!” he cried, “I’ve been so frightened, you can’t think!”\n“O, I quite understand,” said the Rat soothingly, “You shouldn’t really have gone and done it, Mole. I did my best to keep you from it. We river-bankers, we hardly ever come here by ourselves.”\n(Grahame, 1908, p.87)\nRat also stays with Mole in the cave and wait for him to recovery from the tiredness. Moreover, they are so intimate, so both give each other a nickname, which are “Molly” and “Ratty”. On the other hand, when Water Rat lost his minds and wanted to explore the world, it is the Mole in front of his house stopped him. (Grahame, 1908, p.198) This time, Mole comforts his friends by asking him to write a poem.\nFrom above we know that the theme, friendship, is expressed through the speaking and actions of the two characters.\n4.2.2.1.2. Friendship of Toad and his friends # The round characters, Mole, Water Rat, Water Rat and Mr. Badger know Toad a lot. For example, when Mole asks Water Rat that the brave Toad may come to the Wild Wood alone, he replied “He wouldn’t show his face alone, not for a whole hatful of golden guineas, Toad wouldn’t” (Grahame, 1908, p.88). Therefore, it is because they often keep in touch with Toad so Water Rat certain that Toad will not dare to come to the dangerous Wild Wood by himself.\nAnother example is the battle of Toad’s Hall. Even though Toad was in prison, their friends keep an eye on his hall for him. Instead of scolding Toad for coming crimes, his friends had come to their minds with a variety of ways to help Toad to take his hall back:\n“Come, cheer up, Toady!” said the Badger, “There are more ways of getting back a place than taking it by storm. I haven’t said my last word yet. Now I’m going to tell you a great secret.”\n“There—is—an—underground—passage,” said the Badger.\n(Grahame, 1908, p.235)\nThe reason for Badger to disclose this secret is that Toad’s father was Badger’s old friend, and he knew that his son cannot hold his tongue (Grahame, 1908, p.235). In the time of emergency, advice and actions from Badger and Mole are truly beneficial to Toads. Later, as mentioned before in 4.2.1.2.1. and 4.1.1. where we discuss the changes of Toad, this is mainly caused by his friends. With a lot helps from his friends, Toad cherish the dedication of his friends for fighting with him. The actions of his friends shape the new personality of Toad: from pride to modesty. He is not the one who bloating himself all day long, now Toad is totally a newborn character.\nOn the wind that lifts their spirit through the air, the power of friendship can change an animal and make people’s minds come together.\nChapter Five Conclusion # In conclusion, the researcher found out that The Wind in The Willows (Grahame, 1908) did have the elements of qualified literature based on several children’s literature theories suggested by the experts (Lukens, 2007; Peter, 1999; Crippen, 2012; Norton, 1993). First, the four round characters are well-designed and shaped. The readers could observe their personal grows easily from their behaviors and speaking, as defined by Lukens (2007, p.77). Also, there are several flat characters who make the story move forward: The loss of Portly’s son make round characters encounter the mysterious creatures in the woods; The kindhearted gaoler\u0026rsquo;s daughter helped Toad to escape from the prison. At last, few round characters would change their personality traits to some extents, while flat characters are the ones who push the story moving forward.\nSecond, two types of conflicts occurred in The Wind in The Willows: They are Person- against-self conflicts and Person-against-person conflicts. These conflicts are essential to this book because round characters made changes after conflicts, such as Toad: from pride to modesty. Thanks to his friends, he acknowledged his mistakes and made changes, so he turns out to be completely new Toad. By reading this, young readers would learn the positive ideas of human life which leads to an optimistic mind.\nThird, the primary theme of the book is friendship because animals would help each other to overcome the difficulties. For example, Toad’s friends helped him fight against the Weasels, or the Mole comforted Water Rat while he lost his mind. This could help readers, especially children learn the spirits of helping each other imperceptibly. In these findings, this book does have qualified children book elements. Therefore, children’s literature is not only beneficial to children but the adults. By putting ourselves in shoes of others, readers would shift their perspectives. That means readers would have a different view of the world which is good for human’s life.\nThe experts provide the theories and guidelines of children’s literature books, so novelists could create brilliant and qualified works. By applying theories provided by experts, adults readers would be able to distinguish what are the qualified children books would be like. And parents will know how to select good books for their children.\nReferences # Anderson, Nancy A. (2005). Elementary Children\u0026rsquo;s Literature: The Basics for Teachers and Parents (2nd Edition). Allyn \u0026amp; Bacon. Atwood, Margaret. (1983). Murder in the Dark. Coach House Press.\nBBC - The Big Read - Top 100 Books. (2003). BBC. https://www.bbc.co.uk/arts/bigread/top100.shtml\nBillboard Staff. (2006). Pink Floyd Co-Founder Syd Barrett Dies At 60. Billboard. https://www.billboard.com/music/music-news/pink-floyd-co-founder-syd-barrett- dies-at-60-57867\nBunting, Joe., \u0026amp; Reid, Ruthanne. (n.d.). What Is Plot? The 6 Elements of Plot and How to Use Them. The Write Practice. https://thewritepractice.com/plot\nCrippen, Martha. (2012). The Value of Children’s Literature. Luther College. https://www.luther.edu/oneota-reading-journal/archive/2012/the-value-of- childrens-literature\nEdwards, Gina. (2020). Mastering Conflict in Fiction: 7 Types of Conflict and How to Use Them. ProWiritngAid. https://prowritingaid.com/art/1366/what-are-the-7-types-of- conflict-in-literature.aspx\nFlat and round characters. (n.d.). Britannica. Retrieved 18 October 2021 from https://www.britannica.com/art/flat-character\nForster, E.M. (1927). Aspects of the Novel. Mariner Books.\nGlatch, Sean. (2021). What is Theme? A Look at 20 Common Themes in Literature. Writers.com. https://writers.com/common-themes-in-literature\nHannah Rothwell. (2019). The Success of Book to Film Adaptations. Medium. https://medium.com/publishing-in-the-digital-age/book-to-film-adaptations-caec7c65e96a\nHunt, Peter. (1999). Understanding Children’s literature. Routledge. Introduction to Literature - ENG 125 at Northern Virginia Community College. (n.d.).\nBridgepoint Education .Retrieved 02 Nov. 2021 from https://content.bridgepointeducation.com/curriculum/file/4f178332-435c-4c9b-b85a-0f9755578f2a/1/ENG125%20-%20Theme,%20Plot,%20and%20Conflict.pdf\nJ. K. Rowling: By the Book. (2012). New York Times. https://www.canterburyclassicsbooks.com/blog/2019/05/17/fun-facts-about-the-wind-in-the-willows-and-its-author/\nLukens, Rebecca J. (2007). Critical Handbook of Children\u0026rsquo;s Literature, A, 8th Edition.Pearson.\nLynch-Brown, Carol \u0026amp; Tomlinson, Carl M. (2005). Essentials of Children’s Literature. Allyn and Bacon.\nMasterClass staff. (2021). What Is Conflict in Literature? 6 Different Types of Literary Conflict and How to Create Conflict In Writing. MasterClass. https://www.masterclass.com/articles/what-is-conflict-in-literature-6-different-types-of-literary-conflict-and-how-to-create-conflict-in-writing#how-to-create-conflict-in-your-writing\nMasterClass staff. (2021).What Is Character vs. Nature Conflict? Learn About the Literary Conflict with Examples. MasterClass. https://www.masterclass.com/articles/what-is-character-vs-nature-conflict-learn-about-the-literary-conflict-with-examples#what-is-a-character-vs-nature-conflict .\nMcCrum, Robert. (2014). The 100 best novels: Help!. The Guardian. https://www.theguardian.com/books/booksblog/2014/apr/16/fiction\nMei, Tun. (n.d.). “Liu lin fengsheng jí qi zhoongguo zhi lu”. British Library. https://www.britishlibrary.cn/zh-hk/articles/translation-of-wind-in-the-willows/\nNorton, Donna E., \u0026amp; Saundra Norton. (2011). Through the Eyes of a Child: An Introduction to Children\u0026rsquo;s Literature (8th Edition). Pearson.\nSutherland, Zena. (1997). Children and Books 9th Edition. Pearson.\n","date":"2022-06-25","externalUrl":null,"permalink":"/en-us/posts/analyzing-the-elements-in-children-s-books-the-wind-in-the-willows/","section":"Posts","summary":" Student: Ivon Huang National Pingtung University June 2022 Abstract # Reading children’s literature is beneficial to readers, both children and adults, since it makes readers to understand other people’s feelings. Also, young readers can achieve a positive mental thought from observing actions of characters in the children’s books. For readers who want to select qualified children’s literature book for their children, this study analyzed three elements of children’s literature. They are the round characters and the flat charters, two different kinds of conflicts and explicit theme of children’s literature. These elements can be used to find the qualified children’s books.\nThe famous British children book “The Wind in the Willows” by Grahame, Kenneth (1908) was selected for studying. In this study, the researcher would analyze the elements of children’s literature in The Wind in The Willows. The major finding is that the round characters, such as Toad, would make changes after conflicts. Also, flat characters are also important to the story since they could push the story moving forward. What’s more, round characters are dynamic who have the capacity of changing in the story. This would lead to the explicit theme of the book: the friendship among round characters. These findings proved the qualified children’s literature elements do exist in The Wind in The Willows. It is helpful for people who are interested in children’s literature.\nKeywords: children’s literature, conflicts, round character, explicit theme, flat character\nChapter One Introduction # Why should we read children’s literature? Imagine being a child who can barely speak and express his or her feelings, so that he or she would need something to help him or her to develop skills of speaking and writing. This could be done in many ways, by reading children’s literature, especially those were written for children, are very useful to them. Lukens (2007) suggested that while children developing their language skills, they will be able to express their emotions in better ways and understand other people’s feelings (Lukens, 2007, p.xxiv). Besides, the adults would also benefit from reading and evaluating children’s literature. Thus, they would learn how to select qualified children’s books for their children to read. Also, adults could understand the views of children from these works.\nThe purpose of this research is to analyze the elements of children’s literature books: Character, conflicts and theme. These literary elements made qualified children’s books. What’s more, readers will know to evaluate and select good children’s literature books for their children. The researcher selected the well-known British children’s literature book: The Wind in The Willows for studying. It was a children’s literature book by British author Kenneth Graham which was published in 1908. The story is mainly about the friendship and adventures of four animals. These characters have different kind of personalities which will cause many conflicts, battles among all characters in the story. Hence here comes three research questions of this study:\n","title":"Analyzing the Elements in Children’s Books: The Wind in the Willows","type":"posts"},{"content":"Minetest Game有特權 (Privileges) 的設計，規定每個玩家可以做的事情，包括使用指令的權限。\n在單人模式下，玩家預設只能走路、挖掘節點。需要使用指令給自己特權，才可以飛行、跑步、穿牆，否則會出現「沒有xx權限」。\n玩其他子遊戲也一樣，需要使用指令才能獲得所有特權。\n權限在多人遊戲十分有用，給予全部特權，玩家可以指定多個管理員；給予部份特權，可以避免玩家破壞建築。\n特權種類可藉由模組擴充。\n1. Minetest Game內建的特權 # 特權 說明 interact 玩家可以破壞節點，放置節點，跟節點互動，攻擊其他玩家。 give 使用/give和/giveme指令的權限。 teleport 使用/teleport指令的權限。 bring 使用/teleport指令，並將其他玩家傳送到身邊的權限。 fast 玩家可以跑步。 fly 玩家可以飛行。 noclip 玩家可以穿牆。 shout 玩家可以聊天。 settime 使用/time指令的權限。 privs 使用/grant和/revoke指令的權限。 basic_privs 可修改其他玩家shout和interact的權限，可查看線上擁有特定權限玩家的列表。 kick 使用/kick指令的權限。 ban 使用/ban和/unban指令的權限。 rollback 使用/rollback指令的權限。 protection_bypass 玩家可以開啟受保護的節點，例如上鎖箱子和鋼門。 server 使用/shutdown, /clearobjects, /set等管理伺服器指令的權限。 debug 存取遊戲除錯功能的權限。 home 使用/home和/sethome指令的權限。 password 使用/setpassword和/clearpassword指令的權限。 creative 玩家可以使用創造模式物品欄。 2. Minetest Game玩家預設的特權 # 單人模式中，玩家預設的名字叫做singleplayer。玩家一進入世界，會自動取得interact、shout、privs、basic_privs這些基本特權，這些特權無法撤銷。如果是其他玩家連線加入，同樣也是取得這些基本特權。\n多人遊戲中由minetest.conf指定的管理員玩家會自動擁有所有特權，這些特權無法撤銷。\n3. Minetest Game特權相關指令 # 在多人遊戲中，管理員玩家可以給予、撤銷特權。\n更多指令請參見：Minetest指令列表\n指令 功能 /privs \u0026lt;玩家名\u0026gt; 顯示玩家擁有的特權，無輸入名字則為自己 /haspriv \u0026lt;特權\u0026gt; 顯示擁有該特權的玩家 /grant \u0026lt;玩家名\u0026gt; \u0026lt;特權\u0026gt; 給予玩家指定特權 /grant \u0026lt;玩家名\u0026gt; all 給予玩家所有特權 /grantme \u0026lt;特權\u0026gt; 給予自己指定特權 /grantme all 給予自己所有特權 /revoke \u0026lt;玩家名\u0026gt; \u0026lt;特權\u0026gt; 撤銷玩家指定特權 /revoke \u0026lt;玩家名\u0026gt; all 撤銷玩家全部特權 /revokeme \u0026lt;特權\u0026gt; 撤銷自己指定特權 /revokeme all 撤銷自己全部特權 使用例：\n單人模式給予自己所有特權：\n/grantme all 給予叫做player1的玩家飛行特權:\n/grant player1 fly 給予playerB玩家所有特權:\n/grant playerB all 撤銷playerC玩家破壞節點的權限:\n/remove playerC interact 參考資料 # Privileges - Minetest Wiki Server commands - Minetest Wiki ","date":"2022年6月25日","externalUrl":null,"permalink":"/posts/minetest-privileges/","section":"Luantis","summary":"Minetest Game有特權 (Privileges) 的設計，規定每個玩家可以做的事情，包括使用指令的權限。\n在單人模式下，玩家預設只能走路、挖掘節點。需要使用指令給自己特權，才可以飛行、跑步、穿牆，否則會出現「沒有xx權限」。\n玩其他子遊戲也一樣，需要使用指令才能獲得所有特權。\n權限在多人遊戲十分有用，給予全部特權，玩家可以指定多個管理員；給予部份特權，可以避免玩家破壞建築。\n特權種類可藉由模組擴充。\n1. Minetest Game內建的特權 # 特權 說明 interact 玩家可以破壞節點，放置節點，跟節點互動，攻擊其他玩家。 give 使用/give和/giveme指令的權限。 teleport 使用/teleport指令的權限。 bring 使用/teleport指令，並將其他玩家傳送到身邊的權限。 fast 玩家可以跑步。 fly 玩家可以飛行。 noclip 玩家可以穿牆。 shout 玩家可以聊天。 settime 使用/time指令的權限。 privs 使用/grant和/revoke指令的權限。 basic_privs 可修改其他玩家shout和interact的權限，可查看線上擁有特定權限玩家的列表。 kick 使用/kick指令的權限。 ban 使用/ban和/unban指令的權限。 rollback 使用/rollback指令的權限。 protection_bypass 玩家可以開啟受保護的節點，例如上鎖箱子和鋼門。 server 使用/shutdown, /clearobjects, /set等管理伺服器指令的權限。 debug 存取遊戲除錯功能的權限。 home 使用/home和/sethome指令的權限。 password 使用/setpassword和/clearpassword指令的權限。 creative 玩家可以使用創造模式物品欄。 2. Minetest Game玩家預設的特權 # 單人模式中，玩家預設的名字叫做singleplayer。玩家一進入世界，會自動取得interact、shout、privs、basic_privs這些基本特權，這些特權無法撤銷。如果是其他玩家連線加入，同樣也是取得這些基本特權。\n","title":"Minetest的玩家特權 (Privileges) 機制介紹","type":"luanti"},{"content":"Minetest主程式本身就有開伺服器(server)的功能，並有伺服器指令和權限設計，還可以裝模組設定領地、白名單、防破壞系統。\n如果只是單純連線遊玩，使用「區域連線」是最簡單的。其中一方當房主開伺服器，其他人加入。房主下線，則伺服器跟著下線。\n另外則是使用電腦架設伺服器，只要主機不下線，則任何玩家都可以隨時加入伺服器。\n以下內容以預設的Minetest Game為準。\n1. Minetest伺服器先備知識 # 加入Minetest世界的玩家預設沒有任何權限，包含跑步、飛行、穿牆。\nMinetest伺服器預設人數上限為15人，可調整。\n伺服器如果有安裝模組，則連線進來的玩家也可以使用，但要花一點時間下載檔案。\n玩家加入Minetest伺服器前，需要填寫一組帳號密碼，用於儲存玩家資料，名字不可重複。\n因為Minetesta目前(5.5.0)還不支援不靠模組換皮膚，所有玩家預設都是Sam的外觀。若要使用自己的皮膚，推薦作法：向伺服器管理員寄出自己的皮膚檔案，再於伺服端的SkinsDB模組中加入額外的皮膚檔，讓加入的玩家可以更換皮膚。\nMinetest資料目錄的minetest.conf有更詳細的伺服器設定參數。\n2. Minetest區域連線 # 多部裝置，不論是手機還電腦，連線到同一網路(WIFI)，即可使用區域連線。由「房主」主持(host)伺服器，其他玩家只要知道房主的裝置IP，就能連線進來。\n房主點選要開伺服器的世界，勾選左邊的「主機伺服器」。於左下方填寫一組帳號密碼，之後點選「主持遊戲」進入世界。 使用/grantme all指令取得所有權限。\n告訴其他人房主的區域網路IP以及連接埠，Minetest預設的連接埠是UDP 30000，確認防火牆有開啟。接著要查找區域IP，Linux輸入ip addr；Windows則是使用Powershell輸入ipconfig查看。\n要連線進去的玩家，在Minetest的「加入遊戲」畫面，於右邊的選單輸入房主的IP位址和連接埠，接著自訂一組帳號密碼，點選「連線」。 初次進入會要求再輸入一次密碼。 預設情況下，連線進來的玩家無法自行打指令取得所有特權，要靠房主使用/grant \u0026lt;玩家名\u0026gt; all授予所有或部份權限。\n房主一旦下線，所有人都會被踢出去。 3. Minetest開伺服器 # 想要開一個隨時都能在線上的伺服器，可以架在自己的電腦或樹莓派上，但機器必須一直開著。此外，要讓不是外部網路(非同一個WIFI)的玩家連線進來，還需要設定通訊埠轉發(port forwarding)。\n比較常見的作法是購買雲端主機來架設，特別是想經營大型伺服器的玩家。\n以下以架在自己電腦為例子。\nLinux電腦若是透過套件管理員安裝Minetest，則可直接於終端機使用minetestserver指令。Windows的話，只要找到minetest.exe所在位置，改用Powershell執行minetest.exe --server，等同minetestserver指令。\n使用以下指令，開啟使用現有的world1世界，執行Minetest Game子遊戲的伺服器。\nminetestserver --gameid minetest --worldname world1 參考本文2. Minetest區域連線的步驟，跟開服電腦連線到同一網路的玩家都可以登入了。\n要讓外部網路的玩家連線進來，設定通訊埠轉發或者內網穿透軟體即可。Minetest預設的連接埠是30000。\n如果要預先指定伺服器管理員，先將伺服器按CTRL+Z中止執行。再編輯minetest.conf，加入以下內容。\nname = \u0026#34;管理員玩家名\u0026#34; 重新執行伺服器，使用管理員名字登入伺服器的就會自動成為伺服器管理員。 4. 將Minetest伺服器公佈給大眾遊玩 # 公佈給大眾遊玩是指讓你的伺服器出現在Minetest公共伺服器列表。\n一般來說，需要將伺服器架在雲端主機，加上設定獨立域名才適合公佈伺服器，否則就要設定通訊埠轉發。\n編輯minetest.conf，加入以下內容 server_announce = true server_name = 伺服器名字 server_description = 伺服器名字說明 server_url = 伺服器位址 執行Minetest伺服器。 5. Minetest伺服器指令 # 常見的伺服器指令包含/ban、/kick等踢人指令。\n參見：Minetest指令列表\n6. Minetest伺服器權限控管 # 特權規範了玩家的行為，可以一次授予全部，或是只給部份。有些權限也可撤回，例如撤回shout的權限，則該玩家不能聊天。\n參見：Minetest的玩家特權 (Privileges) 機制介紹\n參考資料 # Setting up a server - Minetest Wiki minetest.conf參數說明 ","date":"2022年6月24日","externalUrl":null,"permalink":"/posts/minetest-multiplayer-server/","section":"Luantis","summary":"Minetest主程式本身就有開伺服器(server)的功能，並有伺服器指令和權限設計，還可以裝模組設定領地、白名單、防破壞系統。\n如果只是單純連線遊玩，使用「區域連線」是最簡單的。其中一方當房主開伺服器，其他人加入。房主下線，則伺服器跟著下線。\n另外則是使用電腦架設伺服器，只要主機不下線，則任何玩家都可以隨時加入伺服器。\n以下內容以預設的Minetest Game為準。\n1. Minetest伺服器先備知識 # 加入Minetest世界的玩家預設沒有任何權限，包含跑步、飛行、穿牆。\nMinetest伺服器預設人數上限為15人，可調整。\n伺服器如果有安裝模組，則連線進來的玩家也可以使用，但要花一點時間下載檔案。\n玩家加入Minetest伺服器前，需要填寫一組帳號密碼，用於儲存玩家資料，名字不可重複。\n因為Minetesta目前(5.5.0)還不支援不靠模組換皮膚，所有玩家預設都是Sam的外觀。若要使用自己的皮膚，推薦作法：向伺服器管理員寄出自己的皮膚檔案，再於伺服端的SkinsDB模組中加入額外的皮膚檔，讓加入的玩家可以更換皮膚。\nMinetest資料目錄的minetest.conf有更詳細的伺服器設定參數。\n2. Minetest區域連線 # 多部裝置，不論是手機還電腦，連線到同一網路(WIFI)，即可使用區域連線。由「房主」主持(host)伺服器，其他玩家只要知道房主的裝置IP，就能連線進來。\n","title":"Minetest多人連線與架設伺服器","type":"luanti"},{"content":"學校給的Office365，內含OneDrive教育版(等同商務版)雖然有無限空間，但各校政策大多是畢業後即會收回。根據微軟官方論壇的回答：\n在Office 365訂閱到期後的30天以內，普通用戶還可以瀏覽、下載或分享OneDrive for Business中的文件，但是不能夠上傳或編輯文件。在Office 365訂閱到期超過30天后，普通用戶無法再登錄Office 365，也無法查看Onedrive for Buisness中的文件。這個時間會持續90天，之後你的Office 365中的數據會被刪除。\n所以必須抓緊時間轉移檔案。最簡單的就是將OneDrive檔案全部同步到Windows電腦，再把這些檔案上傳到其他雲端。不過若是要從教育版轉到個人的OneDrive，可以利用微軟官方推薦的Mover.io線上程式，自動將教育版帳戶搬家。此程式尚支援從其他雲端硬碟匯入資料。\n注意：免費版個人OneDrive只有5GB，搬移前請先確認空間夠不夠。\n網址：https://app.mover.io/transfer/new\n2026年，上面這個網址已經不能用了，請參照複製、傳輸或匯入檔案到你的個人 OneDrive轉移帳號。\n使用教育版帳號登入，授權給Mover存取帳戶權限。 在面板最右邊Step 1 的Source點選登入，登入教育版帳戶(OneDrive Business)。 在面板中間Step 2的Destination點選登入個人版帳戶(OneDrive Consumer)\n登入完之後畫面會長這樣，之後會將教育版OneDrive根目錄下的檔案，全部轉移到個人版根OneDrive目錄下。 點選Start Copy，開始複製檔案。之後會有儀表板顯示進度。 ","date":"2022年6月23日","externalUrl":null,"permalink":"/posts/move-onedrive-business-to-personal/","section":"所有文章","summary":"學校給的Office365，內含OneDrive教育版(等同商務版)雖然有無限空間，但各校政策大多是畢業後即會收回。根據微軟官方論壇的回答：\n在Office 365訂閱到期後的30天以內，普通用戶還可以瀏覽、下載或分享OneDrive for Business中的文件，但是不能夠上傳或編輯文件。在Office 365訂閱到期超過30天后，普通用戶無法再登錄Office 365，也無法查看Onedrive for Buisness中的文件。這個時間會持續90天，之後你的Office 365中的數據會被刪除。\n所以必須抓緊時間轉移檔案。最簡單的就是將OneDrive檔案全部同步到Windows電腦，再把這些檔案上傳到其他雲端。不過若是要從教育版轉到個人的OneDrive，可以利用微軟官方推薦的Mover.io線上程式，自動將教育版帳戶搬家。此程式尚支援從其他雲端硬碟匯入資料。\n注意：免費版個人OneDrive只有5GB，搬移前請先確認空間夠不夠。\n網址：https://app.mover.io/transfer/new\n2026年，上面這個網址已經不能用了，請參照複製、傳輸或匯入檔案到你的個人 OneDrive轉移帳號。\n使用教育版帳號登入，授權給Mover存取帳戶權限。 在面板最右邊Step 1 的Source點選登入，登入教育版帳戶(OneDrive Business)。 在面板中間Step 2的Destination點選登入個人版帳戶(OneDrive Consumer)\n","title":"將OneDrive教育版轉移至個人版的OneDrive","type":"posts"},{"content":"註解：此專案已經停止維護。\n我不喜歡在手機上安裝Meta Facebook的官方APP，除了肥大外，還有許多隱私問題，更不要說詐騙和糞game廣告出沒了。因為沒有看直播的需求，所以長期使用瀏覽器看手機網頁版。\n然而Facebook手機版網頁似乎開始年久失修，首先是Messenger一定會逼你下載APP，官方想辦法阻擋進入舊版的對話界面。接著瀏覽某些社團的貼文，點進去會顯示找不到內容，用電腦版看卻是正常的。\n電腦上Facebook的體驗尚可，但APP問題頻仍，這是我很不滿意的地方。\n所以在F-Droid上找到了這款叫做「Frost」的開源APP，支援Facebook手機網頁版的所有功能，還會自動去掉動態時報的廣告！還不會要求敏感權限，適合輕中度的Facebook用戶。\n在F-Droid上下載：https://f-droid.org/packages/com.pitchedapps.frost\nFrost跟Google Play上的\u0026quot;Friendly Social Browser\u0026quot;很類似，不過這款APP是開源的。下面介紹他的特色功能。\n主題配色 # 主題配色，選擇透明則會透視出手機桌布。 手機版網頁Messenger # 可以直接進入Messenger！不會再被要求下載APP了。 多媒體播放 # 圖片懸浮預覽，Frost支援畫中畫播放Facebook影片，還可以下載Facebook影片。 側邊欄有常用的快捷功能選單，支援多個Facebook帳號快速切換。 管理手機版粉絲專頁 # 如果覺得Facebook官方出的Business Suite很爛，Frost也是可以存取手機版的粉絲專頁後台，簡單回個訊息和發文。 ","date":"2022年6月21日","externalUrl":null,"permalink":"/posts/frost-facebook-no-ads/","section":"所有文章","summary":"註解：此專案已經停止維護。\n我不喜歡在手機上安裝Meta Facebook的官方APP，除了肥大外，還有許多隱私問題，更不要說詐騙和糞game廣告出沒了。因為沒有看直播的需求，所以長期使用瀏覽器看手機網頁版。\n然而Facebook手機版網頁似乎開始年久失修，首先是Messenger一定會逼你下載APP，官方想辦法阻擋進入舊版的對話界面。接著瀏覽某些社團的貼文，點進去會顯示找不到內容，用電腦版看卻是正常的。\n電腦上Facebook的體驗尚可，但APP問題頻仍，這是我很不滿意的地方。\n所以在F-Droid上找到了這款叫做「Frost」的開源APP，支援Facebook手機網頁版的所有功能，還會自動去掉動態時報的廣告！還不會要求敏感權限，適合輕中度的Facebook用戶。\n在F-Droid上下載：https://f-droid.org/packages/com.pitchedapps.frost\nFrost跟Google Play上的\"Friendly Social Browser\"很類似，不過這款APP是開源的。下面介紹他的特色功能。\n主題配色 # 主題配色，選擇透明則會透視出手機桌布。 手機版網頁Messenger # 可以直接進入Messenger！不會再被要求下載APP了。 ","title":"無廣告的手機Facebook第三方App: Frost","type":"posts"},{"content":"哈囉，初次接觸《Luanti》的玩家。 現在你找到了這款沙盒遊戲，卻不知該如何開始？甚至不知道Luanti是什麼呢？\n這篇文章將簡易指引這個遊戲的基本玩法：探索、挖掘方塊，製作工具，建造房子，種植農作物。\n並且，Luanti就是為寫模組而生，安裝模組是十分簡單的，無需額外下載程式。\n最後再告訴你如何善用大量現成的「模組」和「紋理包」和「子遊戲」擴充遊戲玩法。 1. 如何安裝Luanti # Luanti(以前叫做Minetest)，由芬蘭人Perttu Ahola開發，是開源的免費遊戲(自由軟體)，LGPL授權，不需要花錢購買。\nLuanti是對電腦硬體要求不高的遊戲，只要電腦能順暢上網看影片就能裝，除非你要開「動態影子」。\n請至官方網站免費下載，電腦版和手機版的內容是一樣的，但我建議你先從電腦版開始。如果是Windows電腦，點選「64-bit」免安裝版下載。其他平台請參考這篇。 下載後右鍵解壓縮，這個資料夾(像我的是「Luanti 5.5.1」)裡面就是遊戲本體了。遊戲為免安裝版，所以這個資料夾可以放在電腦上的任意位置，甚至放到隨身碟帶著走。 點進去「bin」資料夾，點二下minetest.exe開始遊戲。如果要方便日後開啟，你可以對exe按右鍵，傳送到電腦桌面建立捷徑。 看到遊戲主畫面就代表成功了！ 2. 將Minetest語言調成中文 # Minetest最新版預設應該就是中文，但萬一變成英文也不用擔心。\n點選主畫面的「Settings」→「All Settings」 找到「Client And Server」→「Client」→「Language」 選擇「zh_TW」，點選「Save」，重新啟動遊戲。 3. 建立第一個生存模式世界 # 生存模式即玩家只能走路，不能飛行。所有資源必須手動取得以在世界中生存下去。\nLuanti 5.8.0之後，你需要手動到「內容」，點選「線上內容」，下載「Minetest Game基本遊戲」。\n在遊戲主畫面點選「新增」 給世界取名，留空也可以，點選「建立」。 取消勾選畫面左方的「創造模式」，勾選「啟用傷害」。 點選「遊玩遊戲」 4. Minetest Game基本鍵盤操作 # Minetest Game的目標就是自由探索世界，挖掘方塊！\n基本操作如下：\n移動滑鼠旋轉視角，左鍵破壞方塊/使用工具，右鍵與放置方塊/與方塊互動。 使用W/A/S/D控制玩家移動，按空白鍵跳躍，按Shift蹲下 按I開啟背包 按Q丟出物品 按T開啟聊天視窗 按ESC開啟選單 按K飛行，按Shift往下移動 按H開啟穿牆模式 按J開啟跑步 按V開啟小地圖 按R開啟無限視野 按C切換視角 5. 建立第一個家 # 如果你運氣好，隨處走走應該會看到一些樹木。我們要來製作最基本的工具。\n對著樹幹按下滑鼠左鍵，木頭會逐漸產生裂痕，隨後掉落方塊(Minetest Game術語稱作「節點」)。對掉落物品按下左鍵撿起。以此類推，多挖幾棵木頭。 按下I開啟背包，點選背包的木頭，放到九宮格的位置進行「合成」，之後你就會得到「木板」。 將木板如圖排列，你會得到「木棒」。 將木棒和木板如圖排列，你會得到「木鎬」。 挖開腳下的泥土，你會看到灰色的石頭，用木十字鎬進行挖掘，會得到「鵝卵石」。 開啟背包，如下排列，你會得到「石鎬」。以此類推，你要使用更高級的鎬子來挖掘更稀有的礦石，以此升級工具。 之後你就可以開始蒐集方塊，建築你的房子了。如果不知道要合成什麼，點選背包的「配方」，裡面會有原料和作法。 遊戲還有熔煉的要素，透過「熔爐」可以製作更多物品。還可以種植棉花，合成「床」睡覺，跳過夜晚。\n詳細請見Minetest Game遊戲機制\n6. 為什麼Minetest Game世界沒有任何生物 # Minetest Game預設沒有任何生物，要自己裝模組（參考文末，不難）選擇要加入動物還是怪物。\n所以在天黑之後，玩家也不會遇到怪物。基本上Minetest Game不裝模組就沒有這些「挑戰性」的要素。\n玩家只有從高處跳下去、被火燒到、一直待在水下才會扣血。玩家死亡後會在原地產生一個骨骸方塊，裡面裝有玩家掉落的物品。\n在此之外，玩家能做的事情，就是挖掘方塊，最稀有的礦物就是「黃石」了。並將其製作成工具，種植作物，或用熔爐將方塊加工成為建材。\n7. 改玩「創造模式」 # 創造模式允許玩家飛行、跑步、穿牆，並且不需要合成就可以使用所有建材。\n退出到遊戲主畫面，選取世界。\n點選畫面左方的選項，取消勾選「啟用傷害」，勾選「創造模式」就會將該世界變成創造模式。 進入世界後，按下T開啟聊天欄，輸入指令：/grantme all，取得所有創造模式的飛行、穿牆特權。 同樣按I開啟背包，你就可以開始建造房子了。\n8. Luanti如何多人連線 # 你可以選擇跟朋友連線，或是加入全球玩家開的公共伺服器。伺服器大部分都是英文的，有少數是中國人開的。\n多人連線需要一點網路和架設伺服器的知識，請看：Luanti多人連線與架設伺服器\n這裡講如何加入公共伺服器。在遊戲首頁的「加入遊戲」頁面，可以看到全球伺服器。 你要先在右邊的框框自訂一組帳號密碼，之後再點選喜歡的伺服器進入。 9. Luanti的資料存在哪裡 # Luanti Windows版的資料位於遊戲程式的資料夾下，Linux則是~/.minetest。有必要的話可以多做備份。\n例如玩家的世界檔案就位於「worlds」資料夾。 10. 讓Luanti畫面變好看的秘訣 # 如果你的電腦有玩遊戲用的顯示卡，那麼可以調高Luanti的畫質設定，讓畫面好看些。\n參見啟用Luanti光影\n11. 安裝模組擴充Luanti玩法 # 如果覺得Minetest Game的玩法太無聊，就來安裝「模組」和「子遊戲」和「紋理包」吧。從最基本的更換皮膚、加入動物、怪物，到新增武器、魔法元素，甚至可以重現《Minecraft》的玩法，有各式各樣的可能性。\n有興趣的話，參照教學用程式語言Lua自己寫一個模組。\n模組詳細教學請看：Luanti有趣的模組列表\n子遊戲詳細教學請看：什麼是Luanti的「子遊戲」和「基本遊戲」？\n紋理包詳細教學請看：Luanti安裝紋理包 (材質包)\n更多Luanti的參考資源 # 本站，會不定期分享Luanti的一些資訊。 Luanti Wiki，這裡有很多英文資料，有些頁面有中文版本。 Luanti官方論壇，許多玩家會用英文在上面討論遊戲資訊。 Luanti中文論壇，中國人架設的中文Minetest論壇。 ","date":"2022年6月20日","externalUrl":null,"permalink":"/posts/minetest-for-beginners/","section":"Luantis","summary":"哈囉，初次接觸《Luanti》的玩家。 現在你找到了這款沙盒遊戲，卻不知該如何開始？甚至不知道Luanti是什麼呢？\n這篇文章將簡易指引這個遊戲的基本玩法：探索、挖掘方塊，製作工具，建造房子，種植農作物。\n並且，Luanti就是為寫模組而生，安裝模組是十分簡單的，無需額外下載程式。\n最後再告訴你如何善用大量現成的「模組」和「紋理包」和「子遊戲」擴充遊戲玩法。 1. 如何安裝Luanti # Luanti(以前叫做Minetest)，由芬蘭人Perttu Ahola開發，是開源的免費遊戲(自由軟體)，LGPL授權，不需要花錢購買。\nLuanti是對電腦硬體要求不高的遊戲，只要電腦能順暢上網看影片就能裝，除非你要開「動態影子」。\n請至官方網站免費下載，電腦版和手機版的內容是一樣的，但我建議你先從電腦版開始。如果是Windows電腦，點選「64-bit」免安裝版下載。其他平台請參考這篇。 下載後右鍵解壓縮，這個資料夾(像我的是「Luanti 5.5.1」)裡面就是遊戲本體了。遊戲為免安裝版，所以這個資料夾可以放在電腦上的任意位置，甚至放到隨身碟帶著走。 點進去「bin」資料夾，點二下minetest.exe開始遊戲。如果要方便日後開啟，你可以對exe按右鍵，傳送到電腦桌面建立捷徑。 看到遊戲主畫面就代表成功了！ ","title":"Luanti：新手攻略教學","type":"luanti"},{"content":"這篇文章討論Android平台(Google Play)上的許多類似 / 抄襲Minecraft的遊戲。\nMojang Studios開發的《Minecraft》是需要付費取得的專有軟體，手機上的基岩版也不例外。除了網易版以外都是需要購買使用的。\n但網易版是針對中國市場，Play商店並未上架，所以玩家應該可以正確辨別何者為正版Minecraft才對\u0026hellip; 否，看看Play商店上的亂象就知道了，長得像Minecraft的手遊一大堆。對那些曾經沒錢購買Minecraft的玩家來說，搞不好就玩過其中一款。 即使如此，我們還是可以辨別一下這些APP的種類。\n不應該把「沒刻意抄Minecraft」的沙盒遊戲也劃分為「盜版Minecraft」或「山寨遊戲」。 並非所有長得像Minecraft的APP都是盜版。\n這裡的重點是要玩家學會辨別哪些是有獨特玩法的遊戲，哪些是單純的抄襲Minecraft。如果發現你玩的是妥妥的抄襲Minecraft遊戲，裡面還放一堆廣告，那麼就不要再無腦支持了。\n如果玩的是有自己特色的沙盒遊戲，那你自然不會去跟所謂「正版」Minecraft比較。\nGoogle Play上「看起來像Mnecraft的手遊」有三種：\n單純像素風的遊戲 刻意模仿Minecraft的遊戲 直接破解Mineraft主程式放上來 1. 單純像素風的遊戲 # 跟Minecraft類似的像素風遊戲，有自己的獨特內容，沒有刻意去抄Minecraft的遊戲內容和玩法。\n例如《Pixel Gun》這款槍戰遊戲，玩家主要都是在打PVP，還有很多類似的像素風街機、經營遊戲\u0026hellip; 《Terraria》是2D風格的沙盒遊戲，內有許多RPG要素。 《SurvivalCraft》是最早引入無限世界生成系統的沙盒遊戲，注重生存元素。 《Block Story》是有任務劇情系統的沙盒遊戲，加入奇幻元素，除了方塊以外，生物都是偏真實畫風。 Luanti (Minetest) 是少見的開放原始碼沙盒遊戲，注重跨平台及依賴模組擴充玩法，其官方版已經有1000多個以上模組。開放原始碼代表玩家有研究、修改程式的自由，並將成果以開源形式回饋給社群。 《迷你世界》除了沙盒遊戲外，加入許多吸引手遊玩家的便利要素。通常被認為是抄襲Minecraft遊戲內容，所以網易就告下去了，可現在還是活的好好的。 2. 刻意模仿Minecraft的遊戲 # 這類遊戲就是刻意模仿Minecraft元素的，通常會取名叫什麼什麼Craft的，品質參差不齊，用各式各樣的遊戲引擎開發。 這些方塊遊戲的圖示好像在玩大家來找碴。 其中還有拿現成的《Minetest》魔改(fork)的。因為《Minetest》的遊戲引擎開源，可以直接使用。\n《Minetest》除了官方Android版外，尚有《FreeMiner》的延伸版本，開源無廣告。 然而Google Play上出現了許多用《Minetest》魔改的不像樣的軟體，塞廣告商業化，例如《MultiCraft》，沿用Minetest紋理和界面，跟Minetest的伺服器相容。但是加入了廣告。（起碼它還是有開源啦） Minetest玩家論壇還整理出了Google Play上基於Minetest魔改的清單。\n《Minetest》的魔改版遊戲可能會刻意限制玩家自由，例如把裝模組的功能砍掉，方便控制玩家。至於放不放廣告是道德問題，LGPL並無禁止這種行為。但魔改版的何止廣告、賣道具的一堆，玩法也可能會刻意去抄Minecraft以混淆視聽。\n如果這些魔改版本並無明顯比原版《Minetest》好，甚至不開源，而只是為賺你的錢、吸引Minecraft免費仔玩家，那還不如去玩最原始的《Minetest》呢！\n幸好《Minetest》現在也有官方Android版了，但是介面仍不如眾多魔改版本那麼「對新手友善」。\n3. 直接破解Mineraft主程式放上來 # 這是最惡劣的行為，連研究遊戲程式都懶的做了。 明明玩的是Minecraft，為什麼會有廣告？\n這類程式多半只是Minecraft主程式套個資源包，看介面就會知道是直接破解Minecraft apk。\n像這款《Локикрафт》就是遠古Minecraft基岩版套個殼而已。 不幸的是這類APP在遊戲說明不清楚的情況下仍有好幾百萬下載，他們搞不好還會宣稱可以聯機呢，專門收智商稅。\n總結 # 上述第1種是屬玩法上無爭議的，只是因為像素風使得這類遊戲很像Minecraft而已。\n第2種的應當避免遊玩，因為多半會有廣告，抄也抄不好(?)\n第3種的請協助蒐集證據，投訴給微軟處理。\n個人認為，若要尋找Minecraft以外的替代品，選擇開源的自由軟體是最好的，要我來說的話就是非《Minetest》莫屬啦。因為相較於Minecraft和多數同類產品而言，玩家不只能免費遊玩，還可以一同研究程式碼，貢獻給社群。所以開源遊戲會是較好的選擇，免於商業剝削。\n","date":"2022年6月19日","externalUrl":null,"permalink":"/posts/free-minecraft-on-google-play/","section":"Personals","summary":"這篇文章討論Android平台(Google Play)上的許多類似 / 抄襲Minecraft的遊戲。\nMojang Studios開發的《Minecraft》是需要付費取得的專有軟體，手機上的基岩版也不例外。除了網易版以外都是需要購買使用的。\n但網易版是針對中國市場，Play商店並未上架，所以玩家應該可以正確辨別何者為正版Minecraft才對… 否，看看Play商店上的亂象就知道了，長得像Minecraft的手遊一大堆。對那些曾經沒錢購買Minecraft的玩家來說，搞不好就玩過其中一款。 即使如此，我們還是可以辨別一下這些APP的種類。\n不應該把「沒刻意抄Minecraft」的沙盒遊戲也劃分為「盜版Minecraft」或「山寨遊戲」。 並非所有長得像Minecraft的APP都是盜版。\n這裡的重點是要玩家學會辨別哪些是有獨特玩法的遊戲，哪些是單純的抄襲Minecraft。如果發現你玩的是妥妥的抄襲Minecraft遊戲，裡面還放一堆廣告，那麼就不要再無腦支持了。\n如果玩的是有自己特色的沙盒遊戲，那你自然不會去跟所謂「正版」Minecraft比較。\nGoogle Play上「看起來像Mnecraft的手遊」有三種：\n","title":"不要再玩手機Google Play上的免費Minecraft了！","type":"personal"},{"content":"在遊玩Minetest基本遊戲時，會看到地圖產生器的設定，裡面的各個選項有什麼差別呢？ 本文撰文時點，Luanti最新版為5.6.0-dev。\n地圖產生器(Map Generator)即控制地形的樣貌。Luanti提供了8個型態各異的各式地圖產生器給玩家選擇，除了生態系以外，還會產生結構。要觀察這些地形，用Minetest Game即可體驗。\n現在讓我們坐上觀測機，一起來看看這些地圖產生器有什麼差異吧。以下拍攝使用的紋理包為TEX-D2、Isabella II。 0. 地圖產生器演進史 # Minetest的地圖產生器有些是官方製作，有些是玩家提供後來merge進主線的。\n根據Luanti WIKI，最早的Minetest-c55時期的地圖產生器只會生成平原。後來慢慢加入海洋、樹木生成。\n在地圖產生器Version 3加入了3D Perlin噪聲，豐富3D地形。\nMinetest-c55 0.3.1加入了地圖產生器Version 5，地形很極端，並會有「毛茸茸」的地形。後來此地圖產生器改名為「V5」保留到現在。\nMinetest-c55 0.4.0則加入了地圖產生器Version 6取代Version 5。引入了2D Perlin噪聲，使得地形更加平滑、真實，提昇生成速度。此地圖產生器作為「V6」保留到現在。\nMinetest 0.4.6版，玩家就可以選擇自訂地圖產生器了。之後由kwolekr開發的v7地圖產生器合併至主線。\nV5、V6、V7彼此間是獨立開發，這些地圖產生器之間沒有上下的優劣關係。\n之後valleys、fractal、 flat、carpathian地圖產生器陸續加入。而短暫存在過，隨後被移除的有「math」、「indev」地圖產生器。\n1. v7地圖產生器 # 在Luanti 5.6.0版來說是最新的地圖產生器，現在狀態為「穩定版」，除了生成世界的「空島」選項。\n地形很豐富，常有廣闊的生態系地形。 河道常常會有這種深邃的樣子，還有峽谷。 生成的高山有時候會不規則形狀，高聳入雲。地底下則是跟v5一樣有大洞穴。 如果開啟空島，則會在Y\u0026gt;1280的高度開始生成。有小有大，並會成多層次交疊，一層上面還有一層。 2. v6地圖產生器 # 最早被列為「穩定版」的地圖產生器，地形較為平緩。設計用來消滅v5生成的詭異地形，使用2D Perlin噪聲。地圖選項可選擇要生成的生態群系。 此外選項裡面也有「平坦」世界，跟純粹的flat地圖產生器比起來，v6顯得比較自然，地形幾乎沒有任何起伏。 3. v5地圖產生器 # 雖強調真實性，但v5有時候也會跑出很極端的地形，像是超級深海、超級深的洞穴。因為v5的獨特、怪異性而得以保留下來。\n一般看來還算正常。 但偶爾會出現不規則形狀的山地。 4. valleys地圖產生器 # 正如其名，valleys除了生成一般生態系和洞穴外，還會生成「山谷」以及「河流」。山的形狀較為自然，並傾向依照海拔有不同生態系。\n地圖會常常看到高山與蜿蜒的河道。 有趣的是，這些河水是有高低差的，他們會像真實世界的河流一樣向低處。為此還引入了river water這種特殊的水節點。 5. fractal地圖產生器 # 以數學的分形概念為基礎生成的地形，生成結果詭異但可以預測。 常常會生成被稱為「曼德博集合」的地形，並一直延伸下去。 不勾選生成海洋的話，甚至會變成空島。 6. flat地圖產生器 # 平坦地形為主，選項仍可以勾選生成山脈，只不過高度也不高。 在離開生態系之後，常常就是一整片的大平原，地底下仍會生成洞穴。 7. carpathian地圖產生器 # 喀爾巴阡地形生成器，特色是較為自然的地形，少有極端山脈之類的地形。 跟v6比起來，carpathian的地形更加「寬廣」。 8. singlenode地圖產生器 # 生成空白世界，都是空氣。要用模組或子遊戲來決定地形生成樣貌。開發狀態為「穩定版」。\n9. 額外的生成旗標 # 有些地圖產生器會有旗標(Map generator features)，讓玩家決定要不要生成結構、空島、地下湖等。\n地牢(dungeon)是最常見的結構，裡面會有寶箱。目前有鵝卵石地牢、沙漠地牢、沙岩地牢，有時候入口會裸露在地表外。 參考資料 # Map generator - Luanti Wiki Map generator features - LuantiWiki ","date":"2022年6月18日","externalUrl":null,"permalink":"/posts/minetest-map-generator/","section":"Luantis","summary":"在遊玩Minetest基本遊戲時，會看到地圖產生器的設定，裡面的各個選項有什麼差別呢？ 本文撰文時點，Luanti最新版為5.6.0-dev。\n地圖產生器(Map Generator)即控制地形的樣貌。Luanti提供了8個型態各異的各式地圖產生器給玩家選擇，除了生態系以外，還會產生結構。要觀察這些地形，用Minetest Game即可體驗。\n現在讓我們坐上觀測機，一起來看看這些地圖產生器有什麼差異吧。以下拍攝使用的紋理包為TEX-D2、Isabella II。 0. 地圖產生器演進史 # Minetest的地圖產生器有些是官方製作，有些是玩家提供後來merge進主線的。\n根據Luanti WIKI，最早的Minetest-c55時期的地圖產生器只會生成平原。後來慢慢加入海洋、樹木生成。\n在地圖產生器Version 3加入了3D Perlin噪聲，豐富3D地形。\nMinetest-c55 0.3.1加入了地圖產生器Version 5，地形很極端，並會有「毛茸茸」的地形。後來此地圖產生器改名為「V5」保留到現在。\nMinetest-c55 0.4.0則加入了地圖產生器Version 6取代Version 5。引入了2D Perlin噪聲，使得地形更加平滑、真實，提昇生成速度。此地圖產生器作為「V6」保留到現在。\nMinetest 0.4.6版，玩家就可以選擇自訂地圖產生器了。之後由kwolekr開發的v7地圖產生器合併至主線。\n","title":"Luanti的地圖產生器種類介紹 (Map Generator)","type":"luanti"},{"content":"Linux QEMU: Boot Windows VM from physical hard drive.\n我想要安裝既可以從Linux QEMU虛擬機開機，又能從實體機開機的Windows系統。\n在把Windows的虛擬硬碟釋放到實體硬碟後，現在硬碟是這樣：\n- SSD: openSUSE Tumbleweed Linux - HDD: Windows 10 如果在Linux系統下想臨時使用Windows的話該怎麼辦？我可以把裝有Windows的HDD當虛擬機的硬碟拿來開機嗎？\n可以，Virt Manager支援直接掛載實體機硬碟，並作為開機裝置。\n因為我沒有安裝太多虛擬機專屬的驅動，不論是從虛擬機還是實體機開機，Windows都會自己調整，不至於混亂。\n1. 尋找Windows掛載點 # 用lsblk檢查掛載點，發現/dev/sdb就是Windows 10的HDD。 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sdb 8:16 0 465.8G 0 disk ├─sdb1 8:17 0 100M 0 part ├─sdb2 8:18 0 16M 0 part └─sdb3 8:19 0 465.6G 0 part /run/media/ivon/7A78849B78845831 取消掛載 umount /run/media/ivon/7A78849B78845831 2. QEMU掛載實體硬碟開機 # 新建或者利用現有的Windows 10開機組態，設定使用Q35 + UEFI，不用新增虛擬硬碟。\n開啟Virt Manager，編輯 → 偏好設定，啟用XML編輯。 編輯虛擬機，點選左下角的「新增硬體」。\n點選 新增「儲存」。雖然說應該能直接加入實體硬碟，但會出現'/dev/sdb' does not match the expected format 'dos'的錯誤。因此點選旁邊的「編輯XML」，直接加入以下內容後確認：\n\u0026lt;disk type=\u0026#34;block\u0026#34; device=\u0026#34;disk\u0026#34;\u0026gt; \u0026lt;driver name=\u0026#34;qemu\u0026#34; type=\u0026#34;raw\u0026#34;/\u0026gt; \u0026lt;source dev=\u0026#34;/dev/sdb\u0026#34;/\u0026gt; \u0026lt;target dev=\u0026#34;sda\u0026#34; bus=\u0026#34;sata\u0026#34;/\u0026gt; \u0026lt;address type=\u0026#34;drive\u0026#34; controller=\u0026#34;0\u0026#34; bus=\u0026#34;0\u0026#34; target=\u0026#34;0\u0026#34; unit=\u0026#34;0\u0026#34;/\u0026gt; \u0026lt;/disk\u0026gt; 點選確定，虛擬機的裝置列表會多出實體硬碟。 給虛擬機開機，等待緩慢的HDD開機完成。 3. 參考資料 # Adding a Physical Disk to a Guest with Libvirt / KVM ","date":"2022年6月18日","externalUrl":null,"permalink":"/posts/qemu-boot-vm-from-physical-hard-drive/","section":"所有文章","summary":"Linux QEMU: Boot Windows VM from physical hard drive.\n我想要安裝既可以從Linux QEMU虛擬機開機，又能從實體機開機的Windows系統。\n在把Windows的虛擬硬碟釋放到實體硬碟後，現在硬碟是這樣：\n- SSD: openSUSE Tumbleweed Linux - HDD: Windows 10 如果在Linux系統下想臨時使用Windows的話該怎麼辦？我可以把裝有Windows的HDD當虛擬機的硬碟拿來開機嗎？\n可以，Virt Manager支援直接掛載實體機硬碟，並作為開機裝置。\n因為我沒有安裝太多虛擬機專屬的驅動，不論是從虛擬機還是實體機開機，Windows都會自己調整，不至於混亂。\n1. 尋找Windows掛載點 # 用lsblk檢查掛載點，發現/dev/sdb就是Windows 10的HDD。 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sdb 8:16 0 465.8G 0 disk ├─sdb1 8:17 0 100M 0 part ├─sdb2 8:18 0 16M 0 part └─sdb3 8:19 0 465.6G 0 part /run/media/ivon/7A78849B78845831 取消掛載 umount /run/media/ivon/7A78849B78845831 2. QEMU掛載實體硬碟開機 # 新建或者利用現有的Windows 10開機組態，設定使用Q35 + UEFI，不用新增虛擬硬碟。\n開啟Virt Manager，編輯 → 偏好設定，啟用XML編輯。 編輯虛擬機，點選左下角的「新增硬體」。\n點選 新增「儲存」。雖然說應該能直接加入實體硬碟，但會出現'/dev/sdb' does not match the expected format 'dos'的錯誤。因此點選旁邊的「編輯XML」，直接加入以下內容後確認：\n","title":"Virt Manager讓虛擬機直接從實體硬碟分割開機","type":"posts"},{"content":"Copy qemu image to physical hard drive.\n自從換成Linux後，只有需要的時候才開Windows虛擬機處理事情。\n使用Linux的QEMU虛擬機的好處就是KVM加持下性能比較好，虛擬機Windows需要時還可以直通顯示卡。用QCOW2當虛擬硬碟儲存Windows的系統檔案，重裝系統時設定虛擬機機器的開機設置就好了，此QCOW2可以製作許多副本。\n那虛擬機有沒有可能複製、轉換到實體硬碟呢？QEMU還真的支援這種操作。\n目前我的電腦有一個SSD安裝主要系統(openSUSE Tumbleweed)，還有一個閒置的HDD，不如就來試試看把使用已久的Windows直接複製到HDD硬碟上吧，這樣就可以搞Linux/Windows雙重開機。\n先不論Windows在HDD慢的要命的問題！XD\n1. 確認HDD的掛載位置 # 用lsblk確認HDD的掛載位置 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 465.8G 0 disk └─sda1 8:1 0 465.8G 0 part /run/media/ivon/A4EC-C8C5 確認沒有重要東西後，取消掛載 umount /run/media/ivon/A4EC-C8C5 2. 將QCOW2寫入至硬碟 # 我的QCOW2容量是64GB，Windows 10使用UEFI開機。要寫入的HDD則是500GB。注意寫入後系統容量仍只有64GB，要使用磁碟管理程式延伸磁碟區。\n找到qcow2所在的目錄，開啟終端機，將qcow2轉換成raw格式並寫入HDD。轉換過程會顯示百分比進度。 sudo qemu-img convert -p -f qcow2 -O raw win10.img /dev/sdb 電腦重開機進BIOS，設定開機順序為HDD優先 (Windows Boot Manager)。 因為我的虛擬機沒有安裝virtio之類的驅動，所以幸運的話Windows會自動偵測硬體變更，並成功開機。\n開機後解除安裝Spice Tools和QEMU daemon的程式，調整系統時間，接著讓Windows Update安裝更新。\n開啟磁碟管理員，將多餘空間砍掉(recovery分區要用DISKPART砍)。 右鍵將Windows系統延伸磁碟區至未分配的空間上。 系統轉移到HDD後使用上沒異狀，但跟SSD速度相比，HDD開機真的要等幾分鐘後再操作，才不會lag。\n參考資料 # Move qcow2 image to physical hard drive - Unix \u0026amp; Linux Stack Exchange\n","date":"2022年6月18日","externalUrl":null,"permalink":"/posts/copy-virtual-machine-to-physical-hard-drive/","section":"所有文章","summary":"Copy qemu image to physical hard drive.\n自從換成Linux後，只有需要的時候才開Windows虛擬機處理事情。\n使用Linux的QEMU虛擬機的好處就是KVM加持下性能比較好，虛擬機Windows需要時還可以直通顯示卡。用QCOW2當虛擬硬碟儲存Windows的系統檔案，重裝系統時設定虛擬機機器的開機設置就好了，此QCOW2可以製作許多副本。\n那虛擬機有沒有可能複製、轉換到實體硬碟呢？QEMU還真的支援這種操作。\n目前我的電腦有一個SSD安裝主要系統(openSUSE Tumbleweed)，還有一個閒置的HDD，不如就來試試看把使用已久的Windows直接複製到HDD硬碟上吧，這樣就可以搞Linux/Windows雙重開機。\n先不論Windows在HDD慢的要命的問題！XD\n1. 確認HDD的掛載位置 # 用lsblk確認HDD的掛載位置 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 465.8G 0 disk └─sda1 8:1 0 465.8G 0 part /run/media/ivon/A4EC-C8C5 確認沒有重要東西後，取消掛載 umount /run/media/ivon/A4EC-C8C5 2. 將QCOW2寫入至硬碟 # 我的QCOW2容量是64GB，Windows 10使用UEFI開機。要寫入的HDD則是500GB。注意寫入後系統容量仍只有64GB，要使用磁碟管理程式延伸磁碟區。\n","title":"如何將Libvirt的QEMU虛擬機轉換複製到實體機器上","type":"posts"},{"content":"Lunar Client是一款跨平台的Minecraft Java版啟動器，針對多人連線而設計。可於畫面上顯示相關戰鬥資訊，包括鍵位、FPS、CPS等資訊。\nLunar Client使用上也十分簡單，安裝後登入正版帳號，Lunar Client就會自動安裝自己的Zulu JDK，不需要另外下載Java。\n回報bug請至: Support - Lunar Client\n1. Windows如何安裝Lunar Client # 至官網下載Windows版Lunar Client的exe 等待安裝下載完成。 中間綠色的按鈕是開始遊戲，但請先按一下旁邊的小箭頭。 在這裡可以切換Minecraft版本。不過版本太新的話Lunar Client有些功能可能會無法運作。如果要玩Hypixel這類的伺服器，維持預設的1.8就可以了。選好後點選右下角 \u0026ldquo;Save Options\u0026quot;儲存。 在啟動遊戲前，點選最上方的\u0026quot;Settings\u0026rdquo;，設定Minecraft預設啟動的畫質選項、分配的RAM。 準備好之後點選綠色按鈕，等待遊戲下載完成後啟動。實際測試的時候1.8跟1.19可以開，但1.18會卡住，大概是暫時的bug。 2. Lunar Client使用教學 # Lunar Client可玩單人模式和多人模式。\n預設的遊戲資料位置跟官方Minecraft啟動器是共用的，因此安裝資源包的方法跟原版一樣。\n點選下方最右邊的按鈕開啟Minecraft設定，將遊戲語言調成中文。 點選畫面下方左邊第一個按鈕，調整Lunar Client的輔助工具設定，之後亦可於遊戲中從暫停介面進入。Lunar Client的功能要手動啟用(enabled)，可按照伺服器用途選擇要啟用哪些輔助工具。啟用後按ESC返回上一頁。 點選Multiplayer，點選\u0026quot;Sign in with Microsoft\u0026quot;登入微軟帳號開始多人遊戲。 接著的畫面跟一般Minecraft新增伺服器介面差不多。或者關掉Minecraft，從Lunar Client的\u0026quot;Servers\u0026quot;介面快速進入伺服器。 ","date":"2022年6月17日","externalUrl":null,"permalink":"/posts/lunar-client-pvp-minecraft/","section":"Minecrafts","summary":"Lunar Client是一款跨平台的Minecraft Java版啟動器，針對多人連線而設計。可於畫面上顯示相關戰鬥資訊，包括鍵位、FPS、CPS等資訊。\nLunar Client使用上也十分簡單，安裝後登入正版帳號，Lunar Client就會自動安裝自己的Zulu JDK，不需要另外下載Java。\n回報bug請至: Support - Lunar Client\n1. Windows如何安裝Lunar Client # 至官網下載Windows版Lunar Client的exe 等待安裝下載完成。 中間綠色的按鈕是開始遊戲，但請先按一下旁邊的小箭頭。 在這裡可以切換Minecraft版本。不過版本太新的話Lunar Client有些功能可能會無法運作。如果要玩Hypixel這類的伺服器，維持預設的1.8就可以了。選好後點選右下角 “Save Options\"儲存。 在啟動遊戲前，點選最上方的\"Settings”，設定Minecraft預設啟動的畫質選項、分配的RAM。 準備好之後點選綠色按鈕，等待遊戲下載完成後啟動。實際測試的時候1.8跟1.19可以開，但1.18會卡住，大概是暫時的bug。 2. Lunar Client使用教學 # Lunar Client可玩單人模式和多人模式。\n","title":"Lunar Client安裝教學，適用於PVP的Minecraft第三方啟動器","type":"minecraft"},{"content":" Imagine this: In order to go to pay your tuition, you have to pick up valuables for reselling in landfills every day. Many rich countries, including Taiwan, illegally export their electronic-wastes to poorer countries to deal with. This makes these countries become recycler’s dump site extensions. We should recycle electronic wastes decidedly, or they will destroy our Earth. I will focus on three major negative impacts of electronic waste: How does it harm , local environment, global economy and the local worker’s rights.\n1. Effect on the Environment # Improper disposal of e-waste has bad impact on the Earth. Most of e-wastes contains toxic materials such as lead, zinc, nickel, chromium. After being deposited in landfills, the toxic materials contaminated land, water and the air. In the documentary “Toxic City in Ghana”, a German expert stated “The recommendations of WHO of lead in part of soil is 100. And in here there are 3000 of them.” Besides, Mijke Hertoghs of UN’s ITU indicated that developed countries that signed the Basel convention have their own recycle system, while in many countries don’t. In Ghana, waste-pickers who live next to landfills are inevitable to suffer from infertility, miscarriage, tumors, endocrine diseases and birth defects. To sum up, without formal recycling system, the environment will be devastated by e-wastes eventually.\n2. Effect on Global Economy # E-wastes that buried in landfills leads to globally economic loss. A UN report indicated that every year, at least 10 billion dollars’ worth of precious metals are dumped. The total value of these is estimated at US$47 billion, which is greater than GDP in most countries. But another report said that only 17.4% of 53 million tones was recycled in 2019, just $10 billions of precious metals were recycled. This leads to $47 billion economic loss and lots of precious metals. In short, e-wastes that are not properly recycled can harm global economic to some degree.\n3. Violations of Local Workers’ Rights # Rights of e-waste recyclers who are exposed to dangerous toxins are sacrificed. E-waste industry in developing countries is a surviving matter. Because of the lack of formal recycling system, 40% of workers who work in landfills in Ghana are children. While in India, about 35,000 to 45,000 children involving in “waste-pickers”. What’s worse, workers do not have technologies to process e-wastes in a responsible manner. Men and children use primitive skills to extract metals. Thus, they are more likely to develop chronic diseases. Plus, only a little they will earn from reselling precious metals. In Guiyu, China, e-waste pickers earn $1.50 a day, according to ILO’s report. In brief, worker’s rights in developing countries were not guaranteed because of informal recycling system.\nConclusion # In conclusion, we should recycle e-wastes more aggressive or they will destroy our Earth. People should know what will their electronic devices go, and who and what will be affected. First, e-waste disposal in improper way will damage the Earth. Second, e-wastes that are not recycled are great waste of resources. Third, e-waste pickers\u0026rsquo; rights got violated in the toxic working environment. Just like Pam Shoemaker once said “When you put the whole picture together, recycling is the right thing to do.”\nReferences # Many rich countries, including Taiwan, illegally export their electronic-wastes to poorer countries to deal with. This makes these countries become recycler’s dump site extensions. https://e-info.org.tw/node/115315 In the documentary “Toxic City in Ghana”, a German expert stated “The recommendations of WHO of lead in part of soil is 100. And in here there are 3000 of them.” https://youtu.be/mleQVO1Vd1I Mijke Hertoghs of UN’s International Telecommunication Union indicated that developed countries that signed the Basel regulation have their own recycle system, while in many countries don’t. https://energyindemand.com/2020/07/04/record-53-6-million-tonnes-of-e-waste-dumped-globally-last-year-says-un-report/ Waste-pickers who collect precious metals and live next to landfills are inevitable to suffer from infertility, miscarriage, tumors, endocrine diseases and birth defects. https://www.somo.nl/european-e-waste-damages-health-and-environment-in-ghana/ A UN report indicated that every year, at least 10 billion dollars’ worth of precious metals like copper, silver, gold, palladium, iridium, are dumped. The total value of these is estimated at US$47 billion, which is greater than GDP in most countries. https://www.theguardian.com/environment/2020/jul/02/10bn-precious-metals-dumped-each-year-electronic-waste-un-toxic-e-waste-polluting But another reported said that only 17.4% of 53 million tones was recycled in 2019, just $10 billions of precious metals were recycled https://www.weforum.org/agenda/2020/07/global-electronic-waste-recycling-management While in India, about 35,000 to 45,000 children involving in “waste-pickers”. https://twosidesna.org/US/e-waste-children-how-it-is-harming-future-generations/ https://www.somo.nl/european-e-waste-damages-health-and-environment-in-ghana/ Plus, only a little they will earn from re-saling precious metals. In Guiyu, China, e-waste pickers earn $1.50 a day, according to ILO’s report. https://www.ilo.org/wcmsp5/groups/public/---asia/---ro-bangkok/---ilo-beijing/documents/publication/wcms_361136.pdf ","date":"2022-06-16","externalUrl":null,"permalink":"/en-us/posts/electronic-waste-goes-to-developing-countries/","section":"","summary":" Imagine this: In order to go to pay your tuition, you have to pick up valuables for reselling in landfills every day. Many rich countries, including Taiwan, illegally export their electronic-wastes to poorer countries to deal with. This makes these countries become recycler’s dump site extensions. We should recycle electronic wastes decidedly, or they will destroy our Earth. I will focus on three major negative impacts of electronic waste: How does it harm , local environment, global economy and the local worker’s rights.\n1. Effect on the Environment # Improper disposal of e-waste has bad impact on the Earth. Most of e-wastes contains toxic materials such as lead, zinc, nickel, chromium. After being deposited in landfills, the toxic materials contaminated land, water and the air. In the documentary “Toxic City in Ghana”, a German expert stated “The recommendations of WHO of lead in part of soil is 100. And in here there are 3000 of them.” Besides, Mijke Hertoghs of UN’s ITU indicated that developed countries that signed the Basel convention have their own recycle system, while in many countries don’t. In Ghana, waste-pickers who live next to landfills are inevitable to suffer from infertility, miscarriage, tumors, endocrine diseases and birth defects. To sum up, without formal recycling system, the environment will be devastated by e-wastes eventually.\n2. Effect on Global Economy # E-wastes that buried in landfills leads to globally economic loss. A UN report indicated that every year, at least 10 billion dollars’ worth of precious metals are dumped. The total value of these is estimated at US$47 billion, which is greater than GDP in most countries. But another report said that only 17.4% of 53 million tones was recycled in 2019, just $10 billions of precious metals were recycled. This leads to $47 billion economic loss and lots of precious metals. In short, e-wastes that are not properly recycled can harm global economic to some degree.\n3. Violations of Local Workers’ Rights # Rights of e-waste recyclers who are exposed to dangerous toxins are sacrificed. E-waste industry in developing countries is a surviving matter. Because of the lack of formal recycling system, 40% of workers who work in landfills in Ghana are children. While in India, about 35,000 to 45,000 children involving in “waste-pickers”. What’s worse, workers do not have technologies to process e-wastes in a responsible manner. Men and children use primitive skills to extract metals. Thus, they are more likely to develop chronic diseases. Plus, only a little they will earn from reselling precious metals. In Guiyu, China, e-waste pickers earn $1.50 a day, according to ILO’s report. In brief, worker’s rights in developing countries were not guaranteed because of informal recycling system.\nConclusion # In conclusion, we should recycle e-wastes more aggressive or they will destroy our Earth. People should know what will their electronic devices go, and who and what will be affected. First, e-waste disposal in improper way will damage the Earth. Second, e-wastes that are not recycled are great waste of resources. Third, e-waste pickers’ rights got violated in the toxic working environment. Just like Pam Shoemaker once said “When you put the whole picture together, recycling is the right thing to do.”\n","title":"Electronic Waste Goes to Developing countries","type":"personal"},{"content":"Note: You need root permission to do this. For non-rooted devices please use Box86 in Termux Proot instead.\nNote2: Not all programs can be run with Box64 + Wine. Please test running your Windows program with Wine on a x86 Linux PC first to confirm that it can run normally before running it with Box64. If you encounter any problems, please report them to the developer of Box64 first.\nSome apps only work in 32bit wine. The best way is to run box86+wine in armhf Termux Proot. However it is possible to compile box86 in 64bit proot when multi-arch enabled (use raspberry pi 4 64\u0026rsquo;s compile options) but it will not work (bad address, I/O error) Only Box64 + Wine64 works (well there are still many bugs)\nAfter following some tutorials, I tried again in 64bit chroot (Use Linux Deploy). Both Box86 and Box64 works. You may need different wineprefix for each of them, for example export WINEPREFIX=~/.wine64. This will create a new driectory for box64.\nSo you can run 32bit and 64bit app at the same time. Here\u0026rsquo;s the guide of compiling box86 in 64 bit chroot:\nEnable multi-arch support in Ubuntu: dpkg --add-architecture armhf Edit source list: sudo vim /etc/apt/sources.list Add these: deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal main restricted deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-updates main restricted deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal universe deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-updates universe deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal multiverse deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-updates multiverse deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-backports main restricted universe multiverse Install following packages: sudo apt update sudo apt install git build-essential cmake wget gcc-arm-linux-gnueabihf zenity:armhf libasound*:armhf libstdc++6:armhf mesa*:armhf Compile Box86 and download wine: git clone https://github.com/ptitSeb/box86 cd box86 mkdir build; cd build; cmake .. -DRPI4ARM64=1 -DARM_DYNAREC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j$(nproc) sudo make install cd rm -rf box86 mkdir wine cd wine wget https://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-7.0-rc5-upstream-linux-x86.tar.gz tar -xvf *.tar.gz cd Run an exe (in proot it will end up with \u0026ldquo;bad address\u0026rdquo;): export BOX86_PATH=~/wine/bin/ export BOX86_LD_LIBRARY_PATH=~/wine/lib/wine/i386-unix/:/lib/i386-linux-gnu:/lib/aarch64-linux-gnu/ box86 wine *.exe References\nbox86 and box64 wine(run x86 and x64 exe on arm64 debian/ubuntu by box86 and box64)\n","date":"2022-06-15","externalUrl":null,"permalink":"/en-us/posts/compile-box86-and-box64/","section":"Termux-Tutorials","summary":"Note: You need root permission to do this. For non-rooted devices please use Box86 in Termux Proot instead.\nNote2: Not all programs can be run with Box64 + Wine. Please test running your Windows program with Wine on a x86 Linux PC first to confirm that it can run normally before running it with Box64. If you encounter any problems, please report them to the developer of Box64 first.\nSome apps only work in 32bit wine. The best way is to run box86+wine in armhf Termux Proot. However it is possible to compile box86 in 64bit proot when multi-arch enabled (use raspberry pi 4 64’s compile options) but it will not work (bad address, I/O error) Only Box64 + Wine64 works (well there are still many bugs)\nAfter following some tutorials, I tried again in 64bit chroot (Use Linux Deploy). Both Box86 and Box64 works. You may need different wineprefix for each of them, for example export WINEPREFIX=~/.wine64. This will create a new driectory for box64.\nSo you can run 32bit and 64bit app at the same time. Here’s the guide of compiling box86 in 64 bit chroot:\nEnable multi-arch support in Ubuntu: dpkg --add-architecture armhf Edit source list: sudo vim /etc/apt/sources.list Add these: deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal main restricted deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-updates main restricted deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal universe deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-updates universe deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal multiverse deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-updates multiverse deb [arch=arm64,armhf] http://ports.ubuntu.com/ focal-backports main restricted universe multiverse Install following packages: sudo apt update sudo apt install git build-essential cmake wget gcc-arm-linux-gnueabihf zenity:armhf libasound*:armhf libstdc++6:armhf mesa*:armhf Compile Box86 and download wine: git clone https://github.com/ptitSeb/box86 cd box86 mkdir build; cd build; cmake .. -DRPI4ARM64=1 -DARM_DYNAREC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j$(nproc) sudo make install cd rm -rf box86 mkdir wine cd wine wget https://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-7.0-rc5-upstream-linux-x86.tar.gz tar -xvf *.tar.gz cd Run an exe (in proot it will end up with “bad address”): export BOX86_PATH=~/wine/bin/ export BOX86_LD_LIBRARY_PATH=~/wine/lib/wine/i386-unix/:/lib/i386-linux-gnu:/lib/aarch64-linux-gnu/ box86 wine *.exe References\nbox86 and box64 wine(run x86 and x64 exe on arm64 debian/ubuntu by box86 and box64)\n","title":"[Root] Box86 + Wine in 64bit chroot on Android","type":"termux-tutorials"},{"content":"逝者如斯，而未嘗往也。\n我有台Celeron E3300的舊電腦，以前Windows 7只有2GB RAM還能剪影片還蠻厲害的，但Chrome無法承擔複雜影音任務，所以在玩Flash版的艦隊收藏時CPU就差不多80%了，我會開D槽的音樂或者音樂錄影帶出來播放，Foobar2000和Windows Media Player很省資源的。\n雖然說是D槽，但後來才知道只有一個硬碟，大概是以前不懂電腦才能任人擺佈，直到後來發現根本不需要這樣切。\n換電腦後，此舊電腦的資料也都被清除。在那之前我將資料帶了出來，放到雲端。音樂檔除了10Gb的各式專輯外，還有我手動下載的單曲。可惜的是音樂檔案不小心於格式化中清除，為此寫過一篇文章懷念。\n現在我要把剩下的「影片」從雲端清掉了，因為這些檔案佔了將近10GB，同樣紀錄一下。\n影片主要是「音樂影片」還有「Minecraft翻譯影片備份」。在清除之前，我使用tree -D指令把目錄裡面的檔案列表轉成文字清單的形式儲存下來，這樣可以用最小容量紀錄這些檔案的名字，並丟到雲端的「封塵」倉庫裡存放。 音樂影片 # 首先是音樂影片，這些影片都是網路下載來的低畫質檔案，其實沒什麼珍貴的。 但看著建立日期2013、2014就總有懷舊感\u0026hellip;懷念以前國高中時候聽過的動漫歌曲\u0026hellip;雖說歌曲現在我已經知道怎麼用日文下去找曲名了，但某些MTV也是看了很懷舊。那個初看動漫的少年，到現在還在看，但是不過度沈迷了。 中文歌曲和外文歌曲就直接刪除了吧，沒什麼好懷念的，該加入的都加到Apple Music收藏庫了。ㄟ\u0026hellip;裡面有Smosh的影片呢，當時2014還是全盛期，誰能料到他們現在變成這種只剩空殼的樣子\u0026hellip; Minecraft歌曲翻譯影片 # 接著是Minecraft歌曲翻譯，分成我翻譯的影片原始檔，還有s大翻譯的101 Minecraft歌曲影片。 說來話長，在我的老Youtube頻道(Ivon Huang，藍色鳥哥頭像)被版權聲明炸掉之前，本來有下載過所有頻道影片的封存檔，但是當時我直接刪除了\u0026hellip;悔不當初，因為損失的不只是翻譯過的影片，還有2013年我自己拍的實況影片 (現在看應該會很想死，後來有挖到幾部放在FB的，我看還是消失吧)。現在某些統計Youtuber資料的網站例如Influenx還有我以前的資料，所以就馬上去Archive.org申請封存了。 結果Archive.org輸入我以前頻道網址，就找到幾個快照\u0026hellip;我以前怎麼都沒想到呢，還用我的名字笨笨下去查。目前各個網站有快取我影片清單的，最遠只能找到2019年，而我最早是2013年開始上傳影片的。 關於s大的翻譯影片為何重要，請看這篇：Minecraft「古典時期」的101首歌曲翻譯列表\n頻道炸掉之前就有備份幾部在本機(不到舊頻道一半)，還有放幾部在附頻道「Ivon的翻譯頻道」設不公開，所以我把一些影片和s大的經典作品丟上去設成公開，在那個頻道低調復活\u0026hellip;但放幾個月後Content ID又找上門來，所以我發了一部影片聲明不幹了之後，把影片全設成不公開，但播放清單公開讓搜尋引擎找的到，以這種隱蔽的方式把那邊當作這些影片的活棺材。\n在舊頻道炸掉前，我就接觸了Bilibili，放翻譯影片也獲得人氣，所以這算是一個安全的地方吧\u0026hellip;雖然我第一個B站帳號鍵政過多被封，但後來重申請一個繼續上傳翻譯影片，現在也是活的好好的，我就真的很少留言了，上面的愛國味兒太濃又不准別人批評。\n所以我其實很多翻譯影片，不管我自己傳的還是B站人盜過去的，都在那邊活的好好的(幸好我有在一些影片的字幕寫名字)。\n最近幾年又有PeerTube和LBRY這些宣稱無管制的影音平台，可是把這些影片放上去是大工程啊，那些影片又是沒壓縮過的原始檔！之前有零星放幾部，但因為該LBRY的Google帳號放LL所以炸號，LBRY初次嘗試失敗\u0026hellip;想到LBRY有Youtube自動同步的計畫，要是我早點給舊頻道申請就好了\u0026hellip;\n但現在我又開始嘗試LBRY了，決定放手一搏，用批次上傳至LBRY來解決，做為Youtube和Bilibili以外的備份，之後我自己就只留存檔案清單。隨後我再拍一部影片「懷古」一下，用農場標題：「這些音樂你聽過幾首\u0026hellip;盤點Minecraft十大歌曲」之類的\u0026hellip;紀念我做過的一切。\n現在我確實是很少做翻譯了，因為也不知道丟哪邊給台灣觀眾看，還有人說抖音嘞\u0026hellip;看看未來LBRY能不能繼續活著，我再在那重操舊業。\n現在，我的主Youtube頻道和B站有比較明確的影片主題了，也就是談論科技和Minecraft的資訊性影片。以前用翻譯騙流量，現在我以品質原創內容為主。\n","date":"2022年6月14日","externalUrl":null,"permalink":"/posts/my-old-music-videos/","section":"Minecrafts","summary":"逝者如斯，而未嘗往也。\n我有台Celeron E3300的舊電腦，以前Windows 7只有2GB RAM還能剪影片還蠻厲害的，但Chrome無法承擔複雜影音任務，所以在玩Flash版的艦隊收藏時CPU就差不多80%了，我會開D槽的音樂或者音樂錄影帶出來播放，Foobar2000和Windows Media Player很省資源的。\n雖然說是D槽，但後來才知道只有一個硬碟，大概是以前不懂電腦才能任人擺佈，直到後來發現根本不需要這樣切。\n換電腦後，此舊電腦的資料也都被清除。在那之前我將資料帶了出來，放到雲端。音樂檔除了10Gb的各式專輯外，還有我手動下載的單曲。可惜的是音樂檔案不小心於格式化中清除，為此寫過一篇文章懷念。\n現在我要把剩下的「影片」從雲端清掉了，因為這些檔案佔了將近10GB，同樣紀錄一下。\n影片主要是「音樂影片」還有「Minecraft翻譯影片備份」。在清除之前，我使用tree -D指令把目錄裡面的檔案列表轉成文字清單的形式儲存下來，這樣可以用最小容量紀錄這些檔案的名字，並丟到雲端的「封塵」倉庫裡存放。 音樂影片 # 首先是音樂影片，這些影片都是網路下載來的低畫質檔案，其實沒什麼珍貴的。 ","title":"以前Ivon的Minecraft翻譯影片，我的D槽～舊電腦裡面的回憶影片","type":"minecraft"},{"content":" 【注：本文は一時的に過激だった個人的意見であり、参考用にすぎない。今の私はもうこのようには考えていない】\n自由ソフトウェア財団はかつてこう述べた：「プロプライエタリソフトウェアを購入する唯一の用途は、それを研究し、自由ソフトウェアの開発に用いることである。」\n《Minecraft Education Edition》は新しい教育ツールとして世界各地のキャンパスを席巻している。しかし私たちはそのリスク、つまりプロプライエタリソフトウェアであることを見落としている。\n最近Hacker Newsで一篇の記事を見た：\nIs It Even Worth Working on FOSS Anymore?\nその中で一つの点に触れていた：なぜ人々はクローズドソースソフトウェア上でオープンソースプロジェクトを作り、それを楽しげに語るのか？\n文中では「クローズドソースソフトウェアのためにオープンソースプロジェクトへ貢献するな」(Don\u0026rsquo;t work on FOSS that supports a SaaS or proprietary product.) と述べており、そこから《Minecraft》（マインクラフト、當個創世神、麥塊）のModにもこの現象があるという話になった。 これは私たちが探討する価値のある問題だ。多くのユーザーは自由ソフトウェアの価値を意識しておらず、《Minecraft》にはまさにこの欠点がある。他の代替品がある状況で、ユーザーはなおプロプライエタリソフトウェア《Minecraft》へ心血を注ぎ、作品を開発している。\nこの議題を探討するには、まず自由ソフトウェアとModの定義から始め、その後Modと《Minecraft》の関係を論じる必要がある。続いて、自由ソフトウェアを支持するなら《Minecraft》を遊び続けるべきではない理由を説明する。\n0. 用語紹介 # プロプライエタリソフトウェアとはクローズドソースソフトウェアであり、ユーザーはプログラムのソースコードを閲覧・変更できず、自由に配布することもできない。そうすれば海賊版を構成する。\n対照的に、オープンソースソフトウェアとは自由ソフトウェアであり、コードが公開されている。一部の条項では、配布後にコードを変更した場合、オープンソースとしてコミュニティへ還元しなければならないと規定している。\n自由ソフトウェアは価格とは無関係だ。無料のソフトウェアが必ずしも自由ソフトウェアとは限らない。一方で、自由ソフトウェアはソースコードを公開していれば料金を取ることもできる。\nModはゲームプレイを変更するソフトウェア形式の一種である。プレイヤーが自分でゲームを解析して発展させたものもあれば、公式がAPIを提供してプレイヤーにModを作らせるものもある。通常、多くのModを持つゲームでは、ゲーム開発会社はプレイヤーをあまり管理しない。彼らが主客転倒して、ゲームとModを組み合わせて売りに出さない限りは。\n1. 《Minecraft》はプロプライエタリソフトウェアである # 《Minecraft》はオープンソースソフトウェアなのか？否。それはずっとプロプライエタリソフトウェアである。Mojangが書いたEULAを見てほしい。そこには購入者が守るべき義務が規定されており、「本ゲームを自由に配布してはならない」こと、また「Modの配布は許可するが、ゲームクライアントまたはサーバーソフトウェアのクラック版やMod化版を配布してはならない」こと、さらに「貴ユーザーはあなたが制作したコンテンツのみを所有し、私たちのコードまたはコンテンツを所有したことは一度もない」ことが含まれている。 《Minecraft》は自由な配布を認めておらず、ソースコードも公式に公開されたことはない。Java版/統合版/教育版/Raspberry Pi版/中国版のいずれも同じだ。Raspberry Pi版が無料で取得できるとしても、あるのはバイナリファイルだけで、ソースコードはない。だから《Minecraft》はプロプライエタリソフトウェアである。\nではなぜ、オープンソースだと言う人がいるのか？通常それは、ModコミュニティがMod開発を便利にするため、Java版《Minecraft》を逆コンパイルし、さらにマッピング表を作ってModローダーと組み合わせて動くバージョンを得ることを指している。たとえばForgeとFabricの開発者はそれぞれのマッピング表を提供している。\nたとえModローダー(modloader)がオープンソースであっても、《Minecraft》本体がプロプライエタリソフトウェアである本質は変わらない。\n2. 《Minecraft》Modとプロプライエタリソフトウェアの関係 # 《Minecraft》にはJava版と統合版があり、分けて論じる必要がある。Java版は俗に言うPC版で、統合版はC++で書かれたクロスプラットフォーム版であり、Windows/スマートフォン/ゲーム機を含む。\nMojangはEULAの中で、Modおよびプレイヤーが制作したコンテンツについてこう書いている：\n貴ユーザーがゲームに対して再制作したいかなるModも貴ユーザーの所有物であり（事前実行Modおよびメモリ内Modを含む）、貴ユーザーには絶対的な処理権がある。ただし、貴ユーザーはそれを販売/利益獲得の試みに用いてはならず、Mod版のゲームを配布してはならない。覚えておいてほしい。Modとは貴ユーザーのオリジナルコンテンツを指し、それらのコンテンツには私たちのコードまたはコンテンツの重要部分は含まれていない。貴ユーザーはあなたが制作したコンテンツのみを所有し、私たちのコードまたはコンテンツを所有したことは一度もない。\nJava版 # Forge ModローダーはLGPLv2ライセンスで、一部コードを引用しても作品をオープンソースにしないことを許している。FabricはApache 2.0ライセンスであり、こちらも使用後にソースコードを公開しなくてもよい。 有名な大型Modは知名度の上昇につれて、多くが徐々にオープンソース化する。実際、Mod開発者がソースコードを隠して公開しない現象も見てきた。その結果、他のModと衝突し、作者とコミュニケーションして修正しなければならない状況が生じる。たとえば初期のGregTech ModとTinkers\u0026rsquo; Construct Modの紛争だ。\nさらに、プレイヤー制作のModは有料にできる。ただしMojangのEULAではModを「売る」ことはできないと規定している。そのため技術的には、Mod作者はPatreonのようなプラットフォームを使い、ユーザーに「支援」してもらうことでModファイルを取得させる。これなら販売の問題はない。もっと簡単な方法は、ダウンロードリンクを広告だらけの短縮URLにして、受動的に収入を得ることだ。\nここまで話したのはJava版の話であり、統合版の状況は異なる。\n統合版 # 統合版にはかつて、Forgeに似たサードパーティModローダーに頼ってModを遊ぶ時代があった。Zhouwei Zhangの「BlockLauncher」、別名「ModPE Script」時代であり、Androidプラットフォームでのみ動作した。BlockLauncherはオープンソースソフトウェアで、Apache 2.0ライセンスである。作者は無料版と有料版を作って機能を区別していたが、ソースコードはGithub上で公開されていた。\nその後流行したMod形式は「Add-On」で、Mojang公式がサポートするAPIになり、各プラットフォームの統合版で動作することが保証された。これらのAPIは安定しているため、制作者にMojang公式運営のマーケットプレイスへ作品を出して金を稼ぐ機会を与えた。ただしMinecraftのEULAは依然としてModを売ることを禁じているので、マーケットプレイスで売れるのはせいぜいMod入りのマップである。プレイヤーもJava版のようにModを開発して無料共有できるようになり、統合版は徐々にネット上のModコミュニティを形成し、マーケットプレイスで買わなくてもよくなった。 また、統合版には現在もロシアのInnerCoreコミュニティがBlockLauncherに似たModを開発している。そのModローダーはプロプライエタリライセンスだが、勢いは公式が推進するAdd-Onには遠く及ばない。\nしたがって、統合版Add-Onの状況はJava版Modローダーとは完全に異なる。統合版のModローダーはゲーム内蔵であり、つまりModローダーでさえオープンソースではない。オープンソース度から見ると、Java版のModエコシステムよりさらに悪い。\n3. 《Minecraft》Modの正面と負面の影響 # Mod作者が適切なオープンソース協議を選ばなければ、著作権はall rights reservedのままだ。ただし《Minecraft》のEULAによれば、プレイヤー制作Modは商業用途に使えない。\nMod開発者は多かれ少なかれオープンソースにするかどうかの問題に直面する。主流Mod APIは強制的なオープンソースを要求していないからだ。さらにひどい場合、Mod開発者同士が知らせずにコードを盗用したり、法意識の薄い国で、オープンソースModを盗用して商業販売し、クローズドソースソフトウェアに変えてしまう人がいたりする。\nMod界隈の乱象についてはここまでにして、正面の影響を話そう。《Minecraft》のMod発展は今日までに、このゲームへさらに高い人気をもたらした。《Minecraft》原版のゲームはすでに長く遊べるが、Modを入れるとまた別世界になる。さらにサーバーのようなマルチプレイと組み合わせればなおさらだ！MojangはModに対して開放的な態度を取り、統合版においてさえ公式サポートのMod APIを公開している。これはゲームの生命力を延ばす助けになる。多くの開発者はMod制作を通じてプログラミングの楽しさを発見し、《Minecraft》を教育性のあるツールにもした。さらには《Minecraft》プログラミングキャンプまで現れた。\n4. Modを中心に遊ぶ《Minecraft》も、なおプロプライエタリソフトウェアを支持している # 本文冒頭で探討した問題に戻る。なぜ人々はクローズドソースソフトウェア上でオープンソースModを作ることを楽しむのか？\nこの問題はおそらくコミュニティ要因による。十分なプレイヤーがいて、十分な受け手がいるからこそ、さらに多くの開発者を引き寄せ、一種の大者恒大的循環を形成する。Mojang公式のJava版\u0026amp;統合版セット販売の宣伝動画にはModが登場しており、Mojang公式がModに対して今も肯定的な態度を持っていることがわかる。Mod制作は、自分の名前を多くの人に知ってもらえる名誉感を与える。\nModによってゲームがより人気になることは、《Minecraft》だけの現象ではない。多くの古いゲームも同じようにModによって寿命を延ばしている。\nしかし、人々がクローズドソースソフトウェア上でオープンソースModを開発するなら、もともと自由だったプログラムに一層の枷をかけることになる。ゲーム本体は不自由であり、オープンソースModを動かしても自由ソフトウェアにはならない。たとえいつかそのゲームが古くなり無料で取得できるようになっても同じだ。Modは《Minecraft》を別のゲームに変えられるかもしれないが、それでもあなたには《Minecraft》という媒体が必要だ。言い換えれば、あなたはなお間接的にこのゲームを支持している。そしてこのゲームはプロプライエタリソフトウェアである。苦労して開発したMod作品の著作権でさえ《Minecraft》に制約され、灰色地帯の曖昧な関係が生じる。\n5. オープンソースのサンドボックスゲームを遊ぼう # なぜこの制限を打ち破らないのか？《Minecraft》を遊ぶことを段階的にやめる。《Minecraft》とModの経験を参考に、新しいサンドボックスゲームを開発し、ゲーム本体もオープンソースにする。\n《Minecraft》の遊び方を模倣するゲームは多い。しかし、そのうちどれだけがソースコードを公開し、営利を考慮の中心にしないものなのか？\n現在この種のオープンソースゲームには《Minetest》と《Terasology》がある。前者はクロスプラットフォームで、ゲーム本体の豊富なAPIのおかげでModの数もかなり多い。ただしゲーム本体のオリジナルコンテンツは比較的乏しい。後者はゲーム本体の新しい遊び方の開発を重視しているが、一部Modサポートも提供している。 ゲームMod開発者にとって、オープンソースはそろそろMod開発へ投入する際の最優先考慮になってよい。一つのコミュニティがオープンソースなゲーム媒体を基盤にするなら、それ自体がソフトウェア上、他のソフトウェアにはない自由を享受する。コミュニティの雰囲気が良く、誰もコードを主要な営利手段にしないなら、新しい経済モデルを模索できる。自由ソフトウェアは料金を取れることを忘れてはいけない。販売するものは一種の体験であり、シングルプレイであれマルチプレイであれ、単なるソフトウェアではない。\n一般ユーザーにとって、オープンソースゲームはその中の原理を理解することを阻止しない。逆に、皆が互いに観摩し学習することを奨励し、オープンソース条項によって貢献の持続可能性を促進し、参加者が開発成果をコミュニティへ還元できることを確保し、良性循環を生み出す。芸術創作者に対しては、CCクリエイティブ・コモンズライセンスも一定程度作者の権利を保障できる。\nしかし現実に向き合えば、現実とは、オープンソースゲームコミュニティは大多数のプロプライエタリライセンスのゲームコミュニティよりはるかに小さいということだ。《Minetest》はModが千個以上あると言えば多いし、コミュニティも小さいとは言えない。しかしそれは同級のオープンソース製品と比べた場合であり、《Minecraft》と比べれば天と地の差である。実際の応用では、オープンソースの有料ゲームに成功例は少ない。一部の教育機関が《Minecraft》ではなく《Minetest》を選ぶ理由も、おそらく無料だからだろう。\n一般の人が気にするのはゲームの致命的な吸引力であり、その背後の原理にはあまり興味がない。自然と自由ソフトウェアを支持し、商業会社に侵食される自分の基本的権利、つまり少なくともコードについて知る権利を守ろうとは思わない。\nしかし世界にはなお気にする人々がいる。だから彼らはネット上や現実世界で、自由でオープンソースなゲームを積極的に普及している。そして自由ソフトウェアが気にするのはユーザーの自由であって価格ではない。自由ソフトウェアは決して他人に参加を強制しない。ただ人々の意識を呼び覚まし、別の選択肢があることを知らせるだけだ。教育用途では、教育者もオープンソースの価値を最優先に考え、その理念を若いプレイヤーへ伝えていくべきである。\nこれらのオープンソースゲームを支持することは、このコミュニティをより良くすることである。だから皆には、比較的よく発展している二つのオープンソースゲーム：《Minetest》と《Terasology》を試すことを勧める。ブロックゲームの体験を継続できるだけでなく、Mod制作にもより大きな自由度がある。\n付録：本文を知乎にpoし、私が削除する前に受け取った反応。\n2022-06-22，知乎ユーザーs3UeGS：\nあなたが誰を対象にしているのかわからない。modderという身分から言えば、私はやはりこういうソフトウェアがあってほしいと思う。主な理由はmcのソースコードがクソで、オープンソース方面にも確かに潜在的リスクがあるからだ。ただ現時点ではbukkitエコシステムは守れるように見える。fabricとforgeは天命を待つしかないが、開発者を拒絶することはbugjumpの利益に合わない。普通のプレイヤーにとっては、正版で完全なサーバーがないものも少なくないし、誰もあなたの一口の飯に困っていない。正版を支持したければ支持すればいいし、自分で遊びたければ遊べばいい。他人を気にする必要もない。このように暴論を出して道徳的に縛るのもあまりよくない。なにせmcは大規模商業ゲームの中で最も開放的なものの一つだからだ（bugjumpは相変わらず人間扱いできないが）。要するに、あなたの文章は感情に満ち、深刻に偏っていて、見ていて妙だ。あなたがmodのようなものを書いたことがあるのかどうかわからない。それから、オープンソース作品はどう言えばいいのか、ゲーム性はやはり少し劣る。コミュニティの力は、あなた自身の数篇の三流記事でひっくり返せるものではない。私は自分を大いに助けてくれたオープンソースプロジェクトがより多くの人に注目されるのは嬉しい。しかし過激な言葉遣いが逆効果を起こすかどうかはわからない。あるいは、mcは寝ていても稼げる金の茶碗であり、文中の懸念は考慮に値する。しかし私たちは、mojangが自爆しない限り、あなたの言うことに市場はないと認めざるを得ない。コミュニティはmojangを必要としないが、mojangはコミュニティを必要としている。コミュニティには独立ゲーム、さらにはengineとして開発する能力がある。現在の大型プロジェクトには基本的に開発を組織する号召力がある。だからあなたは安心してよい。現段階ではこうしたことを考える必要はない。たとえ最悪の状況が来ても、mcは断絶しない。コミュニティの力を信じるべきだ。\n","date":"2022年6月13日","externalUrl":null,"permalink":"/ja-jp/posts/why-give-up-minecraft/","section":"Foss-Issues","summary":" 【注：本文は一時的に過激だった個人的意見であり、参考用にすぎない。今の私はもうこのようには考えていない】\n自由ソフトウェア財団はかつてこう述べた：「プロプライエタリソフトウェアを購入する唯一の用途は、それを研究し、自由ソフトウェアの開発に用いることである。」\n《Minecraft Education Edition》は新しい教育ツールとして世界各地のキャンパスを席巻している。しかし私たちはそのリスク、つまりプロプライエタリソフトウェアであることを見落としている。\n最近Hacker Newsで一篇の記事を見た：\nIs It Even Worth Working on FOSS Anymore?\nその中で一つの点に触れていた：なぜ人々はクローズドソースソフトウェア上でオープンソースプロジェクトを作り、それを楽しげに語るのか？\n文中では「クローズドソースソフトウェアのためにオープンソースプロジェクトへ貢献するな」(Don’t work on FOSS that supports a SaaS or proprietary product.) と述べており、そこから《Minecraft》（マインクラフト、當個創世神、麥塊）のModにもこの現象があるという話になった。 これは私たちが探討する価値のある問題だ。多くのユーザーは自由ソフトウェアの価値を意識しておらず、《Minecraft》にはまさにこの欠点がある。他の代替品がある状況で、ユーザーはなおプロプライエタリソフトウェア《Minecraft》へ心血を注ぎ、作品を開発している。\n","title":"なぜ《Minecraft》を遊ばないのか？その欠点がプロプライエタリソフトウェアであることを忘れてはいけない","type":"foss-issues"},{"content":" LinuxのDistro-hoppingがまた始まった。Androidを一年に一、二回はROM焼きするのと同じだ。Distro-hoppingのせいで、私はPCの重要ファイルをすべてHDDとクラウドに置くようになった。いつでもPCを再インストールできるようにするためだ。\n1. Arch Linuxは私に向いていない # Ubuntuは断続的に4年使ってきた。かつてdistro hoppingでArch Linuxへ行ったこともあるが、デスクトップを設定するだけであれこれ崩壊し、入力メソッドも弄れなかった。そこでUbuntu 20.04へ戻し、2022年に22.04へ上げた。\nその後いくつかシステム概念を学び、崩壊の原因はおそらくNvidiaのオープンソースドライバーのせいだとわかった。入力メソッドもFcitx5へ切り替えることを覚えた。ただしArch系は、Manjaroでさえ、ソフトウェアが足りなければAURでインストールする必要がある。さらにSELinux機能がVirt ManagerのNTFSディスクアクセスに影響する場合、手動で別のカーネルへ切り替えて解決しなければならない。\nだからArch系はおそらく私には向いていない。2022年にはDebianも試したが、old schoolすぎる。USBメモリさえ手動でマウントしなければならない。AndroidのTermux上では、パッケージが多いので、UbuntuとDebianはいろいろなものをテストするのに向いている。多くの怠け者向けスクリプトもUbuntuを中心に設計されている。\nただPC方面では、また変えたくなった。主な理由はUbuntuがSnapを強く推していることで、私はFlatpakとAppImageのほうが好きだ。無理やりSnapをアンインストールするとシステムが不安定になる。刺激を求めるため、次に探すのはDebianやUbuntuベースではない、異なる系統のディストリビューションだ。\n現在デスクトップPCではopenSUSE Tumbleweed (KDE) を、ノートPCではFedora 36 (Gnome) を使っている。\nパッケージマネージャーの概念に慣れたので、よく使うコマンドがあちこち跳ぶことも大した問題ではない。常用ソフトウェアも、どのプラットフォームにもないという状況はなく、困ったらFlatpakで解決だ。この二つのディストリビューションはどちらもrolling distroのモデルに近いが、Arch系ほど急進的ではない。主に商業会社が保守しているからだ。\nそれに、Nvidiaグラフィックカードでなくても、この二社の調整下にあるWaylandにはまだ問題が山ほどある。ひとまず様子見である。\n2. デスクトップPCでのopenSUSE評価 # 最初はLeapを使っていたが、この安定リリースのモデルはUbuntuと同じだ。私はこれはダメだと思い、Tumbleweedへ飛んだ。数週間おきに起動して、kernel versionがずっと最新版なのを見るとかなり気持ちいい。さらに、SUSE社はLeapのリリースモデルを終了し、ALPで置き換えるらしいと聞いた。\nopenSUSEはインストール後すぐ使える。ファイルシステムはBtrfsだ。KDEとの統合はとても良いと思う。ただしデフォルトがWindowsに似すぎているので、私はパネルを上に置き、XFCEのように見えるようにした。とはいえ、たぶんWindowsの配色に影響されたのだろう。白いアプリケーション色+黒いパネルの組み合わせが最も調和していると思う。また、KDEではパネル上でマウスホイールを上下に回すと次の仮想デスクトップへ切り替わるので、とても便利だ。\nただKDEはデュアルモニター対応が弱い。一つを内蔵GPUに、もう一つを独立GPUに挿すと大崩壊する。X11でもWaylandでも同じで、二つの画面を同じグラフィックカードに挿さなければならない。比較するとGnomeはうまく処理している。\nYaSTというGUIツールは、更新のインストールにもとても便利で、各デスクトップ環境を切り替えるGUIインストーラーもある。Nvidiaクローズドドライバーを管理するインターフェイスも、Ubuntuのソフトウェアセンターに負けていない。\nKDE Discoveryソフトウェアストアの反応速度はGnome Softwareよりずっと速い。ただしログイン時にHDDを手動マウントしなければならないのと、KDE Walletのパスワードがかなり煩わしい。\nしかしopenSUSE最大の問題はソフトウェアソースが遅いことだ。遠くドイツのサーバーからファイルをダウンロードするため、初回の自動インストールではUbuntuの二倍の時間をダウンロードに費やす。インストール後に主要リポジトリを國網中心のミラーへ替えたが、それでも多くのパッケージは死ぬほど遅い海外サーバーからしかダウンロードできない。\nソフトウェアのインストールでは、時々RPMやYMPファイルを手動でダウンロードする必要があり、この点は比較的面倒だ。ただ、クリックすればGUIで自動インストールされるので、そこは親切ではある。\nUbuntuから移ってきて、openSUSEはなかなか良い代替選択肢だと思う。よく遊ぶゲームや仮想マシンは正常に動く。せいぜい、FlatpakでパッケージされたアプリケーションのGPU権限が更新によってたまに異常になり小さなbugが出ること、そしてシャットダウンや起動時間が時々影響を受けることくらいだ。\n3. ノートPCでのFedora評価 # FedoraはRed Hat社のテスト版システムのようなもので、上流に非常に近い。ただしkernelの更新速度はopenSUSE Tumbleweedより少し遅い。私がインストールしたファイルシステムはBtrfsだ。\n状況が比較的複雑なノートPC（Intel内蔵GPUとNvidia独立GPUがある）に対しても、Fedoraはインストール後すぐ使えた。私のMSI Modern 15ノートPCの型番をすぐ認識し、キーボードライトのドライバー、画面色校正、WIFIネットワークカードドライバーを自動ダウンロードした。ただし画面色の問題はやはり解決できない。Windows下ではMSI True Colorによって色をNTSC 72%の色域に近づけられるが、Fedoraでは見た目が黄色っぽく、表示モードを調整できない。\nまたNvidiaグラフィックカードはずっとウェイクできない。Fedora WIKIを参考にして強制的に主GPUへ設定しても無駄だった。WIKiの手順はかなり奇妙で、kernelモジュールを起動した後、Nvidiaグラフィックカードが自分でオンラインになるのを待て、というものだった。\nノートPCはゲーム用ではないので、放っておいても構わない。欠点は、Kdenliveで動画編集して出力する時、ファンが超大音量で回ることだ。i5-10210uだけで計算しているため、MX350の性能を無駄にしている。さらに、私のFedoraではノートPCをスリープに入れるとそのまま死んだように眠ってしまう。これも非常に惜しい点だ。\nデスクトップはデフォルトのGnomeを使っている。ウィンドウにデフォルトで左上の三点ボタンがないのは本当に慣れない。Ubuntuでさえそこまで極端ではないのに。どうやら本当に、一つのウィンドウに「集中」してほしいらしい。余計なものは横の「ワークスペース」へ引っ張っていけ、ということだろう。Gnomeのフォント拡大縮小も柔軟ではなく、アクセシビリティ機能で拡大するしかない。しかし一部APPはシステム設定を無視するので、文字は依然として死ぬほど小さい。\nFedoraのGnome Softwareの反応速度はUbuntuより少し速いようだが、FedoraにはNvidiaクローズドドライバーを管理するフロントエンドインターフェイスがない。\nFedoraのソフトウェアインストールはなかなか親切だ。起動後に自動でバックグラウンドダウンロードし、Gnome Softwareに表示してくれる。端末でコマンドが見つからない時も、ユーザーにインストールを案内してくれる。ただ私は、FedoraがWindowsのように、シャットダウンしようという時に更新をインストールするのはあまり好きではない（あのインストール確認のチェックボックスの字が小さい）。幸い、何度かそうしてインストールしても大きな問題はなかった。\nFedoraはソフトウェアが新しいため、小さなbugもたまに出る。たとえばKdenliveの設定が飛ぶので、特に注意が必要だ。Javaバージョンが新しすぎて、MinecraftのMultiMCが起動できないことさえある。さらに、なぜかFedoraはデフォルトでADBとFastbootの権限をロックするため、sudoを使わなければ実行できない。\nグラフィックカードを解決できないせいで性能損失はあるが、ノートPCでFedoraを使うこと自体はおおむね問題ない。\n4. まとめ # Distro hoppingは実に面白い。現在、PCはopenSUSE、ノートPCはFedora、PinePhoneはpostmarketOS (Alpine Linux)、Android機上のTermuxはProot Ubuntuだ。\n混乱するか？実はそうでもない。私はそれほどすごい開発者ではなく、ただLinuxディストリビューションを一般的な日常メインシステムとして使っているだけだ。ディストリビューション間の概念は共通しているので、遊び始めれば簡単になる。\n","date":"2022年6月12日","externalUrl":null,"permalink":"/ja-jp/posts/swtich-to-opensuse-and-fedora-in-2022/","section":"Foss-Issues","summary":" LinuxのDistro-hoppingがまた始まった。Androidを一年に一、二回はROM焼きするのと同じだ。Distro-hoppingのせいで、私はPCの重要ファイルをすべてHDDとクラウドに置くようになった。いつでもPCを再インストールできるようにするためだ。\n1. Arch Linuxは私に向いていない # Ubuntuは断続的に4年使ってきた。かつてdistro hoppingでArch Linuxへ行ったこともあるが、デスクトップを設定するだけであれこれ崩壊し、入力メソッドも弄れなかった。そこでUbuntu 20.04へ戻し、2022年に22.04へ上げた。\nその後いくつかシステム概念を学び、崩壊の原因はおそらくNvidiaのオープンソースドライバーのせいだとわかった。入力メソッドもFcitx5へ切り替えることを覚えた。ただしArch系は、Manjaroでさえ、ソフトウェアが足りなければAURでインストールする必要がある。さらにSELinux機能がVirt ManagerのNTFSディスクアクセスに影響する場合、手動で別のカーネルへ切り替えて解決しなければならない。\n","title":"Distro-hoppingメモ~openSUSEとFedoraの評価","type":"foss-issues"},{"content":"","date":"2022年6月12日","externalUrl":null,"permalink":"/ja-jp/tags/opensuse/","section":"Tags","summary":"","title":"OpenSUSE","type":"tags"},{"content":"PeerTube是一個聯邦式的影片分享網站，人們架設自己的站台(Peertube術語稱為「實例」)來上傳分享影片，達到去中心化的效果，分享內容不會被某間公司監管，也不會有廣告。\n不過如果一般用戶想找分散於世界各處的PeerTube站台的影片，Google只能搜尋到一小部份，不如改用專門搜尋PeerTube影片的開源搜尋引擎\u0026quot;Sepia Search\u0026quot;吧。\nSepia在法文是棕色的意思，2020年由法國教育組織Framasoft所推出。據維基百科介紹，Sepia搜尋的PeerTube實例已超過800個。\n官網網址： https://search.joinpeertube.org\n在首頁鍵入關鍵字，伺服器即會回傳結果。 展開\u0026quot;Filters\u0026quot;，設定是否要顯示成人內容，或者用tag下去搜尋。 進入某個Peertube站台後，觀察一下網址，背景會自動變化。至於「上傳」及「登入」、「熱門」等按鈕指的是該PeerTube站台所提供的註冊服務，並非Sepia所營運。 點選左下角「我的設定」，能設定瀏覽此站台時的選項，例如預設開啟的「P2P分享影片」功能有助於降低PeerTube伺服器負載。 ","date":"2022年6月12日","externalUrl":null,"permalink":"/posts/sepia-search-peertube-videos/","section":"所有文章","summary":"PeerTube是一個聯邦式的影片分享網站，人們架設自己的站台(Peertube術語稱為「實例」)來上傳分享影片，達到去中心化的效果，分享內容不會被某間公司監管，也不會有廣告。\n不過如果一般用戶想找分散於世界各處的PeerTube站台的影片，Google只能搜尋到一小部份，不如改用專門搜尋PeerTube影片的開源搜尋引擎\"Sepia Search\"吧。\nSepia在法文是棕色的意思，2020年由法國教育組織Framasoft所推出。據維基百科介紹，Sepia搜尋的PeerTube實例已超過800個。\n官網網址： https://search.joinpeertube.org\n在首頁鍵入關鍵字，伺服器即會回傳結果。 展開\"Filters\"，設定是否要顯示成人內容，或者用tag下去搜尋。 進入某個Peertube站台後，觀察一下網址，背景會自動變化。至於「上傳」及「登入」、「熱門」等按鈕指的是該PeerTube站台所提供的註冊服務，並非Sepia所營運。 點選左下角「我的設定」，能設定瀏覽此站台時的選項，例如預設開啟的「P2P分享影片」功能有助於降低PeerTube伺服器負載。 ","title":"如何使用搜尋引擎Sepia來找Peertube影片","type":"posts"},{"content":"Run x86 docker images on ARM.\nStereolab有介紹x86平台的Docker透過qemu binfmt模擬ARM image的方式，那反過來呢？\nARM架構下的Docker是否能在不rebuild的情況下執行x86架構的image又不出現exec format error？\n答案是可以，安裝完QEMU套件後，再安裝容器版的QEMU user static模擬器：qemu-user-static (qus) 該映像還支援模擬x86、ARM、ppc等常見架構。\nAndroid # Android的核心必須重新編譯支援Docker和binfmt\n開啟Termux，安裝QEMU\npkg install qemu-common 啟用binfmt su mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc echo 1 \u0026gt; /proc/sys/fs/binfmt_misc/status 啟動Docker後，拉取aptman/qus，設定模擬x86_64架構。 sudo docker run --rm --privileged aptman/qus -s -- -p x86_64 試著拉取amd64/ubuntu的映像檔 sudo docker run --rm -t amd64/ubuntu uname -a 正常執行 postmarketOS # 裝置：小米Pocophone F1 系統：postmarketOS (Alpine Linux) 安裝Docker sudo apk add docker sudo addgroup $USER docker sudo apk add docker-compose sudo rc-service docker start sudo rc-update add docker default 安裝QEMU套件 sudo apk add qemu 拉取qus。 sudo docker run --rm --privileged aptman/qus -s -- -p x86_64 接著試著拉取AMD64架構的ubuntu image，並執行uname -a看看輸出結果。 sudo docker run --rm -t amd64/ubuntu uname -a 在沒有安裝binfmt情況下，輸出畫面會顯示exec error 若有安裝binfmt，雖有警告，指令正常執行。 再用time指令跟ARM版的image比較，可見x86執行時間仍有損耗。 樹莓派 Raspberry Pi 5 # 安裝以下套件 sudo apt-get install qemu binfmt-support qemu-user-static 拉取aptman/qus sudo docker run --rm --privileged aptman/qus -s -- -p x86_64 測試執行 sudo docker run --rm -t amd64/ubuntu uname -a qus會自動在你的binfmt註冊（用指令updatebinfmt --display檢視）。若要移除，執行指令： sudo docker run --rm --privileged aptman/qus -- -r 參考資料 # Run x86-64 Docker images on Raspberry Pi 4 (QEMU/QUS)- Github qemu-user-static (qus) and containers, non-invasive minimal working setups - GitHub ","date":"2022年6月10日","externalUrl":null,"permalink":"/posts/run-x86-docker-image-on-arm-platform/","section":"所有文章","summary":"Run x86 docker images on ARM.\nStereolab有介紹x86平台的Docker透過qemu binfmt模擬ARM image的方式，那反過來呢？\nARM架構下的Docker是否能在不rebuild的情況下執行x86架構的image又不出現exec format error？\n答案是可以，安裝完QEMU套件後，再安裝容器版的QEMU user static模擬器：qemu-user-static (qus) 該映像還支援模擬x86、ARM、ppc等常見架構。\nAndroid # Android的核心必須重新編譯支援Docker和binfmt\n開啟Termux，安裝QEMU\npkg install qemu-common 啟用binfmt su mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc echo 1 \u003e /proc/sys/fs/binfmt_misc/status 啟動Docker後，拉取aptman/qus，設定模擬x86_64架構。 sudo docker run --rm --privileged aptman/qus -s -- -p x86_64 試著拉取amd64/ubuntu的映像檔 sudo docker run --rm -t amd64/ubuntu uname -a 正常執行 postmarketOS # 裝置：小米Pocophone F1 系統：postmarketOS (Alpine Linux) 安裝Docker sudo apk add docker sudo addgroup $USER docker sudo apk add docker-compose sudo rc-service docker start sudo rc-update add docker default 安裝QEMU套件 sudo apk add qemu 拉取qus。 sudo docker run --rm --privileged aptman/qus -s -- -p x86_64 接著試著拉取AMD64架構的ubuntu image，並執行uname -a看看輸出結果。 sudo docker run --rm -t amd64/ubuntu uname -a 在沒有安裝binfmt情況下，輸出畫面會顯示exec error ","title":"如何在ARM架構的裝置執行x86架構的Docker Image ","type":"posts"},{"content":"Muzei Live Wallpaper為羅馬尼亞開發者Roman Nurik開發的開源桌布APP，意思為「博物館」。開發者在他的Medium說，這是偶然的點子，經過一些思考後才做出這個APP。\n在初始安裝後，會從圖庫挑選世界名畫當作手機的桌布以及鎖定畫面，所以是「動態」變換桌布。此外還可以安裝插件，自動抓取風景照、天文照、Pixiv動漫圖片等當作桌布。\n如果手機系統為Android 12以上的話，有Material You效果，系統UI還可能會自動跟著桌布變色呢！\nAndroid版下載：F-Droid版 ，Google Play亦有上架。 在APP首頁，首先選擇要作為隨機桌布的畫像，並用手指滑動決定位置。 APP的\u0026quot;Source\u0026quot;則能添加其他來源。預設除了畫像外，還有「隨機手機相簿圖片」或者「固定的圖片」。 如果要找尋Muzei的插件APP，只要到軟體商店搜尋桌布插件即可，最好是找針對Muzei API開發的。例如F-Droid上有許多從Pixiv、Danbooru、吉卜力、國家地理、NASA、Bing抓取的桌布來源。 例如Pixiv for Muzei 3，可設定要抓取本日熱門或者特定tag的圖片。 再如Cardboard Museum for Muzei 3，使用Danbooru作為圖庫。Danbooru標籤系統比Pixiv細緻，只要在tag欄位設定要搜尋的標籤，它就會自動抓取一系列圖片當作桌布。例如你可以加入：official_art標籤（用空格隔開標籤，Danbooru沒登入帳號只能搜尋一個標籤，或者將圖庫來源換成Gelbooru，能搜尋的標籤更多），確保下載的都是高畫質的官方圖繪。\n下面的Safe Mode則是避免抓到18+圖片。Pick appropriate sized image則是會依照螢幕大小篩選適合圖片。 安裝插件後，在Muzei的「來源」頁面會看到目前擁有的圖片來源，從中點選一個打勾切換，再開啟個別APP進入設定。 Muzei可以設定圖片的模糊和亮度，到「效果」頁面設定。我個人會把桌布稍微降低一些亮度，這樣不論背景是什麼圖片都不會讓桌面看起來太亂。 ","date":"2022年6月10日","externalUrl":null,"permalink":"/posts/muzei-wallpaper-for-android/","section":"所有文章","summary":"Muzei Live Wallpaper為羅馬尼亞開發者Roman Nurik開發的開源桌布APP，意思為「博物館」。開發者在他的Medium說，這是偶然的點子，經過一些思考後才做出這個APP。\n在初始安裝後，會從圖庫挑選世界名畫當作手機的桌布以及鎖定畫面，所以是「動態」變換桌布。此外還可以安裝插件，自動抓取風景照、天文照、Pixiv動漫圖片等當作桌布。\n如果手機系統為Android 12以上的話，有Material You效果，系統UI還可能會自動跟著桌布變色呢！\nAndroid版下載：F-Droid版 ，Google Play亦有上架。 在APP首頁，首先選擇要作為隨機桌布的畫像，並用手指滑動決定位置。 APP的\"Source\"則能添加其他來源。預設除了畫像外，還有「隨機手機相簿圖片」或者「固定的圖片」。 如果要找尋Muzei的插件APP，只要到軟體商店搜尋桌布插件即可，最好是找針對Muzei API開發的。例如F-Droid上有許多從Pixiv、Danbooru、吉卜力、國家地理、NASA、Bing抓取的桌布來源。 例如Pixiv for Muzei 3，可設定要抓取本日熱門或者特定tag的圖片。 再如Cardboard Museum for Muzei 3，使用Danbooru作為圖庫。Danbooru標籤系統比Pixiv細緻，只要在tag欄位設定要搜尋的標籤，它就會自動抓取一系列圖片當作桌布。例如你可以加入：official_art標籤（用空格隔開標籤，Danbooru沒登入帳號只能搜尋一個標籤，或者將圖庫來源換成Gelbooru，能搜尋的標籤更多），確保下載的都是高畫質的官方圖繪。\n","title":"Muzei：開源手機動態桌布APP，自動更換Pixiv動漫圖片當Android桌布","type":"posts"},{"content":"orwell製作的Music Player Daemon (MPD)模組為Minetst加入了背景音樂，以WTFPL授權釋出，並且可以自行擴充曲庫。\nThis mod adds a framework to play background music in-game.\n另外，Souncloud上有Francesco Corrado譜曲的非官方原聲帶，Youtube上也有Dark Reaven Music製作的非官方曲目。下文就來示範如何將這些曲目加到MPD裡面。\n從Minetest遊戲內下載\u0026quot;Music Player Daemon\u0026quot;，或者手動從ContentDB下載。\n於世界中啟用後，音樂會不定時於背景播放。除了可於遊戲設定調整間隔外，另可用指令控制：\n# 設定音量 /mvolume \u0026lt;volume\u0026gt; # 列出音樂列表 /mpd_list # 播放音樂 /mpd_play \u0026lt;數字id\u0026gt; # 停止目前曲目 /mpd_stop # 播放下一首 /mpd_next 3 檢視一下Music Player Daemon的原始碼，我們知道它只支援ogg格式。要加入自己的音樂，首先進到~/.minetest/mods/mpd/目錄，把曲名輸入至songs.txt，格式為\u0026quot;音樂檔名\u0026quot;+空格+\u0026ldquo;時長\u0026rdquo;+空格+\u0026ldquo;音量\u0026rdquo;+空格＋\u0026ldquo;曲名\u0026rdquo;，模組會按照順序賦予一個數字ID。\n#File Name\tTime\tGain\tTitle StrangelyBeautifulShort\t3:01\t0.7\tStrangely Beautyful AvalonShort\t2:58\t1.4\tAvalon eastern_feeling\t3:51\t1.0\tEastern Feeling EtherealShort\t3:04\t0.7\tEthereal FarawayShort\t3:05\t0.7\tFaraway bensound_deepblue\t4:48\t1.0\tDeep Blue bensound_ofeliasdream\t4:59\t1.0\tOfelia\u0026#39;s Dream bensound_slowmotion\t3:26\t1.0\tSlowmotion rainymemory\t2:10\t1.0\tRainy Memory anonnp4014\t2:30\t1.6\tYawning Lion Dawn_Master 2:03 1.0 Dawn_Master Exploring_The_world_master 3:00 1.0 Exploring_The_world_master Shining_Diamond_Master 2:46 1.0 Shining_Diamond_Master 再將.ogg音樂檔案放到sounds目錄，完成。 ","date":"2022年6月10日","externalUrl":null,"permalink":"/posts/minetest-music-player-daemon-mod/","section":"Luantis","summary":"orwell製作的Music Player Daemon (MPD)模組為Minetst加入了背景音樂，以WTFPL授權釋出，並且可以自行擴充曲庫。\nThis mod adds a framework to play background music in-game.\n另外，Souncloud上有Francesco Corrado譜曲的非官方原聲帶，Youtube上也有Dark Reaven Music製作的非官方曲目。下文就來示範如何將這些曲目加到MPD裡面。\n從Minetest遊戲內下載\"Music Player Daemon\"，或者手動從ContentDB下載。\n於世界中啟用後，音樂會不定時於背景播放。除了可於遊戲設定調整間隔外，另可用指令控制：\n# 設定音量 /mvolume \u003cvolume\u003e # 列出音樂列表 /mpd_list # 播放音樂 /mpd_play \u003c數字id\u003e # 停止目前曲目 /mpd_stop # 播放下一首 /mpd_next 3 檢視一下Music Player Daemon的原始碼，我們知道它只支援ogg格式。要加入自己的音樂，首先進到~/.minetest/mods/mpd/目錄，把曲名輸入至songs.txt，格式為\"音樂檔名\"+空格+“時長”+空格+“音量”+空格＋“曲名”，模組會按照順序賦予一個數字ID。\n#File Name\tTime\tGain\tTitle StrangelyBeautifulShort\t3:01\t0.7\tStrangely Beautyful AvalonShort\t2:58\t1.4\tAvalon eastern_feeling\t3:51\t1.0\tEastern Feeling EtherealShort\t3:04\t0.7\tEthereal FarawayShort\t3:05\t0.7\tFaraway bensound_deepblue\t4:48\t1.0\tDeep Blue bensound_ofeliasdream\t4:59\t1.0\tOfelia's Dream bensound_slowmotion\t3:26\t1.0\tSlowmotion rainymemory\t2:10\t1.0\tRainy Memory anonnp4014\t2:30\t1.6\tYawning Lion Dawn_Master 2:03 1.0 Dawn_Master Exploring_The_world_master 3:00 1.0 Exploring_The_world_master Shining_Diamond_Master 2:46 1.0 Shining_Diamond_Master 再將.ogg音樂檔案放到sounds目錄，完成。 ","title":"Minetest背景音樂播放模組Music Player Daemon使用教學","type":"luanti"},{"content":"Minetest預設不支援換皮膚(skin)，要自行安裝模組，例如bell07製作的SkinsDB，方便更換多個皮膚。\n另外，Minetest主流的皮膚格式跟Minecraft是通用的，同為64x32和64x64的png檔案，可直接套用。\n點選Minetest的Contents界面，搜尋下載\u0026quot;SkinsDB\u0026quot;模組。注意：此模組對子遊戲(如VoxeLibre)無效，其自有一套管理皮膚的機制。 回到首頁，選擇世界，點選選擇模組，選取SkinsDB，再於上方點選啟用。 開啟Minetest的資料目錄(例如Linux為~/.minetest)，進入mods/skinsdb/textures目錄。\n裡面會看到一些SKinsDB內建的皮膚。將你的皮膚檔案以此格式命名後放入:character_+任意名字.png，例如character_ivon852.png。 進入世界後，按I開啟背包，點選「皮膚」，選擇你的皮膚。 ","date":"2022年6月10日","externalUrl":null,"permalink":"/posts/install-skin-in-minetest/","section":"Luantis","summary":"Minetest預設不支援換皮膚(skin)，要自行安裝模組，例如bell07製作的SkinsDB，方便更換多個皮膚。\n另外，Minetest主流的皮膚格式跟Minecraft是通用的，同為64x32和64x64的png檔案，可直接套用。\n點選Minetest的Contents界面，搜尋下載\"SkinsDB\"模組。注意：此模組對子遊戲(如VoxeLibre)無效，其自有一套管理皮膚的機制。 回到首頁，選擇世界，點選選擇模組，選取SkinsDB，再於上方點選啟用。 開啟Minetest的資料目錄(例如Linux為~/.minetest)，進入mods/skinsdb/textures目錄。\n裡面會看到一些SKinsDB內建的皮膚。將你的皮膚檔案以此格式命名後放入:character_+任意名字.png，例如character_ivon852.png。 進入世界後，按I開啟背包，點選「皮膚」，選擇你的皮膚。 ","title":"Luanti如何安裝皮膚(Skin)：SkinsDB模組使用教學","type":"luanti"},{"content":"VoxeLibre是一個試圖還原Minecraft玩法的Minetest子遊戲。\n開發團隊於官方Git儲存庫提供一套\u0026quot;Texture Converter\u0026quot;的工具，可將Minecraft Java版的資源包轉換為Minetest的格式：\nThis is a Python script which converts a resource pack for Minecraft to a texture pack for Minetest so it can be used with VoxeLibre .\n雖然Minetest Forum上也有類似的轉換工具，但不像VoxeLibre的一直有在更新。此外，這些工具都不保證能100%轉換，可能要手工修正葉子、荷葉之類的紋理。\n舉例來說，下面示範將Minecrat Java原版資源包，轉換成Minetest的紋理包(材質包)，讓遊戲看上去更像Minecraft。 首先下載Minecraft原版資源包並解壓縮。注意：Mojang官方只有釋出基岩版，Java版都是第三方網站提供。VoxeLibre對應的版本大致是Minecraft 1.12，此版本以上的資源包會出錯。\n複製Texture Converter的儲存庫\ngit clone https://git.minetest.land/VoxeLibre/VoxeLibre.git 在系統上安裝Python 3\n切換到tools目錄，使用以下指令轉換。參數\u0026quot;i\u0026quot;後面接的是Minecraft資源包的路徑\ncd VoxeLibre/tools python3 Texture_Converter.py -i /home/ivon/下載/Default-Texture-Pack-1.12.x/ 轉換後的紋理包目錄會儲存在目前的工作目錄 將該紋理包目錄移動到Minetest的紋理包目錄(例如Linux位於~/.minetest/textures)\n再於遊戲中啟用紋理包 啟用的紋理包不論是在Mintest基本遊戲，還是VoxeLibre中都會覆蓋預設的紋理包。\n","date":"2022年6月10日","externalUrl":null,"permalink":"/posts/convert-minecraft-resources-to-minetest/","section":"Luantis","summary":"VoxeLibre是一個試圖還原Minecraft玩法的Minetest子遊戲。\n開發團隊於官方Git儲存庫提供一套\"Texture Converter\"的工具，可將Minecraft Java版的資源包轉換為Minetest的格式：\nThis is a Python script which converts a resource pack for Minecraft to a texture pack for Minetest so it can be used with VoxeLibre .\n雖然Minetest Forum上也有類似的轉換工具，但不像VoxeLibre的一直有在更新。此外，這些工具都不保證能100%轉換，可能要手工修正葉子、荷葉之類的紋理。\n舉例來說，下面示範將Minecrat Java原版資源包，轉換成Minetest的紋理包(材質包)，讓遊戲看上去更像Minecraft。 首先下載Minecraft原版資源包並解壓縮。注意：Mojang官方只有釋出基岩版，Java版都是第三方網站提供。VoxeLibre對應的版本大致是Minecraft 1.12，此版本以上的資源包會出錯。\n複製Texture Converter的儲存庫\ngit clone https://git.minetest.land/VoxeLibre/VoxeLibre.git 在系統上安裝Python 3\n切換到tools目錄，使用以下指令轉換。參數\"i\"後面接的是Minecraft資源包的路徑\ncd VoxeLibre/tools python3 Texture_Converter.py -i /home/ivon/下載/Default-Texture-Pack-1.12.x/ 轉換後的紋理包目錄會儲存在目前的工作目錄 ","title":"將Minecraft的資源包轉換成Luanti紋理包","type":"luanti"},{"content":" 人々の力を集め、人々のことを成し遂げる。 触れたことのあるクローズドソースゲーム：《Minecraft》、《艦隊Collection》、《GTA》、《War Thunder》、《LOL》、《IL-2》、《FGO》\u0026hellip;など数え切れない。\n触れたことのあるオープンソースゲーム/理念が自由寄りのゲーム：《Minetest》、《0.A.D》、《Flight Gear》、《Narcissu》、《ピクセルダンジョン》、《SuperTuxKart》、《SuperTux》\n現在はオープンソースソフトウェアにこだわる時期にあり、知行合一の理念をゲームにも拡張するよう促されている。 誰も無料労働でゲーム開発に投入しようとはしないし、Linuxを使う人も同じようにクローズドソースゲームを遊ぶ……しかし私は、ゲームソフトウェアでダブルスタンダードをしてはいけないと思う。たとえ娯楽にすぎなくても、自由ソフトウェアの価値を知らぬ間に手放してはいけない。PC＋スマートフォンが実行するのはLinuxであり、使うものも自由を支持するソフトウェアであるべきだ。\nこの時やっていることは、どうしても常識に反し、反社交的で、人間性を捨てるようなものに感じる。何らかの信念のためにやっているのだが、それでも試してみたい。GoogleやYoutubeを捨てることも試したのだから、ゲームも試せる。\n以下の第一段は主観的意見で、第二段こそより正式な核心理由である。\n1. 人気ゲームを遊ぶのをやめる理由 # 実際には、今はゲームを遊ばないわけではなく、市場にある「大多数の人」の選択を徐々にやめ、オープンソースゲームへ移っている。\nまず、それらの人気ゲームをやめる理由を書く。人気PCゲームやスマホゲームを拒否する理由として、下手だからというのは主な理由ではない。以前はたとえ10連敗しても、とても「楽しく」遊んでいた。不満があっても表層に流れ、実際の原因には関心を持っていなかった。\nその後、少しずつ考えが出てきた。まず濁水溪公社 - 農村出事情を聴いてほしい。 二次元ゲーム界隈はラベリングが非常に深刻だと感じる。たとえばスマホゲー《FGO》、ブラウザーゲーム《艦隊Collection》。プレイヤーが真面目に交流する時でさえ、ある種の雰囲気の中に置かれ、ゲームのすべてを無脳に崇拝し、萌え属性に沈迷し、それを厳密な学術議題と混ぜ合わせる。この界隈に厳密な攻略データ派プレイヤーがいないと言っているのではない。ただ、議題を議論する時でさえ、いたるところで「隠語」を使わなければ親しみを感じてもらえないのだ。\nただし、この現象は二次元界隈だけのものではない。映像分野にも同じように盲目的ファンはいる。しかし性のラベリングは二次元領域でとりわけ深刻で、夫だ妻だと呼び、その結果生まれる二次創作画像は生理的需要を満たすためにしか使われず、心理面ではますます虚しく感じる。可愛いのは可愛いが、高品質な理念交流はない……。おそらくUNIX界隈のハッカージョークや、音楽ファン界隈のゴシップも同じものなのだろう！ 正直、かなり矛盾している。私は二次元が好きなのに、よくある二次元コミュニティを右から左まで見ても、しばしば溶け込めない疎外感がある。友人が遊んでいても、やはり丁重に遠慮し、適当にあしらうだけだ。\n多人ゲームは商業臭に満ちている。PCゲーム《War Thunder》は一日中パックのようなものを売り込み、死ぬか生きるかの競技性が濃厚で、殺し合いを取り除けば虚しさしか残らない。\n最も自由なサンドボックスゲームである《Minecraft》もやめた。もともとこのゲームでは競争性の高いPVPモードは遊んでおらず、シングルプレイのサバイバルや、自由気ままにModを書くことが中心だと思っていた。やめた要因は多い。たとえばMicrosoftが統合版にDLC機制を持ち込んだこと、Vtuberの流行に乗って遊びに来た人たち、Dreamのようなプレイヤーを無脳に崇拝する人たち、あるいは単純にゲーム機制を探索し尽くして飽きたこと（統合版の機制について百本の記事まで書いた）。今では1.19が出ているが、正直……私はもう以前の感覚を持っていない。Minetestという代替品がある以上、自然に離れることができる。\nオフラインゲーム部分では、《IL-2》、《GTA》が最も長く遊んだものだが、批判できる点はまだ思いつかない。Galgameにも特に争議はない。物語に沈迷でき、他人との比較に陥らないからだ。\n家庭用ゲーム機のゲームはまったく買ったことがない。音gameは、私が唯一、本当に下手だと認めるものだ。リズムを叩くことの何が面白いのかもわからない。\nただし、私が言っているのはオフライン部分の話で、多人オンラインには興味がない。\nやはり社交系のゲームは苦痛をもたらすのだろう。社交経路がゲームに依存しすぎている。 これも、クローズドソースソフトウェアDiscordがなぜこれほど流行しているのか、私には理解できない理由だ。配信者（実写であれバーチャルであれ）がゲームをするのを見ることさえ、今では意味がないと思っている。\n2. さらに一歩進んでゲームをやめる理由：不自由 # 主観的理由をたくさん胡扯したほかに、今ではさらに崇高な要素がある：それらのゲームはすべて不自由なソフトウェアなのだ！\n法律家の視点で、気にする「価値」の重要性を並べるとしよう。\n自由 \u0026gt; オープンソース \u0026gt; 面白いかどうか \u0026gt; 無料 = 有料 \u0026gt; クローズドソース\n注意：\n無料ソフトウェア != 自由ソフトウェア。金を取らなくても、コードがクローズドソースで、それがライセンス条項に影響するなら、依然として不道徳である。この概念はインストールするフォント（これらもソフトウェアと見なせる）にも拡張できる。たとえば「Times New Roman 」と「標楷體」はMicrosoftがリリースしたクローズドソースフォントだ。 そのソフトウェアにクロスプラットフォーム(Linux)版があるかどうかは、それが自由ソフトウェアかどうかとは無関係である。《War Thunder》のような大型ゲームにはクロスプラットフォーム対応があるが、それでもクローズドソースソフトウェアだ。 一歩譲って、美術部分をパブリックドメインまたはCreative Commonsに入れることまでは要求しない。しかしソフトウェア部分は必ずオープンソースでなければならない。\nまず自由、オープンソースがあり、その後で面白いかどうかを考える。面白いかどうかは価格とは関係ない。しかし無料ソフトウェアは触れられる機会を増やせる。有料ソフトウェアが売るべきなのはコード（ゲーム）そのものではなく、全体体験だ。少なくとも、この種のゲームクライアントにはオープンソースの選択肢があるべきだ。\n自由ソフトウェアならさらに良い。そうすれば海賊版という存在がなくなる。争点になるのはオープンソースライセンス条項に違反する場合であり、これは欧米諸国では訴えられる。\nだから自由が最も重要だ。人々にはソフトウェアを取得、配布、変更する自由があり、互いにフィードバックする。オープンソースは時にイメージ作りの話術にすぎないことがある。一つのソフトウェアがオープンソース版と、オープンソース+クローズドソース部品の特製版に分けて公開されるなら、それでもまだ十分ではない。\nこのオープンソース基準はスーパー・フィルターと呼べる。市場にあるPC/スマホゲームの99%をさらに濾過してしまい、小品ゲームまで捨てられる。ブラウザーゲームが難読化されたJSコードを実行している場合も含まれる。ゲーム機のものは言うまでもない。\n3. オープンソースゲームへ移る # 私が探しているのはGNU GPLライセンスを主とするものだが、ソースコードがオープンソースであれば受け入れられる。\nだから私は自由ゲームソフトウェアではなく、オープンソースゲームソフトウェアという言葉を使う。私が気にしているのは価格ではなく、自由だ。\nオープンソースゲーム一覧：Libre Games WIKI クローズドソースプログラムを含むがLinuxに友好的なゲーム一覧：Arch Linux Games WIKI オープンソースゲームはソースコードがあるため、時々プログラムを遊んでいるような感覚がある。\n過去、ゲームを論じる時、チュートリアル以外の「議論」はあまり好きではなかった……投稿には自慢の匂いがあるし、私は本格派のデータプレイヤーでもない。オープンソースの助け合い文化のあるコミュニティに触れてから、投稿して議論し、本当に人を助けている感覚が出てきた。\n《Minecraft》に最も似た代替品は《Minetest》だ。遊んでみるとかなり潤う感じがあり、Mod能力が強く、英語コミュニティも小さくない。前者を捨てることができる。Minecraft ForgeのModエンジンはオープンソースだが、Minecraft本体はクローズドソースであり、Minetestはこの点で大きく異なる。\n最も重要なのは、MinetestをMinecraftの玩法コピーに使うのではなく、自分の道を歩むことだ。そうでなければ、あれほど良い内蔵Mod APIを無駄にしてしまう。 《IL-2》（私はこれをWar Thunderのオフライン版と見なしている）のオープンソース代替は《Flight Gear》だ。フライトシミュレーターではあるが、リアルさは主流のシミュレーターゲームに劣らない。 他のオープンソースゲームはオフラインのものが多く、その中でもパズル系小品ゲームが特に多い。しかし幸い、一定の複雑度を持つものも徐々にSteamに並び、可視性が増えている。今後はゆっくり触れていけると見込んでいる。\n最後に話すのはGalgameだ。この方面では《片輪少女》だけが最も自由ソフトウェアに近い。美術部分はCCライセンスだが、コードはオープンソースではない。\nさらに、同人サークルが発表するオリジナル作品は著作権への態度が比較的曖昧なようだ。ならば必ずしもオープンソースにこだわらなくてもよいのか。ここまで来ると、私もダブルスタンダードを始めていると認める。\nたとえばArch Wikiから《Narcissu》という悲しいGalgameを知った。遊んでみると確かにかなりきつい。Steamでは無料で、各国にも有志翻訳者がいる。 作者がより多くの人に見てもらいたいなら、少なくとも「CCライセンス 改変禁止」を選べばよいのではないか。自由な配布と無料ダウンロードを許しているのに、明確なライセンス条項がないのは少し惜しい。 似た例としてMMD 3Dモデル作品もある。モデル作者はそれぞれライセンス条項を添えているが、正直なところ、一枚のCCライセンス「改変禁止」のほうが簡単でわかりやすい。\n転載すら禁止するものについては……別の考え方をすればよい：ネット上のものをダウンロード・アップロード禁止にすることはそもそも不可能だ。できるものならDRMで制御してみろ？しかも無料なのだ。開放的な態度を保ったほうがよいのではないか。すでに公衆による取得を許しているのなら、転載時にライセンス条項を添えることだけ明記すればよい。CCライセンスが記載するライセンス義務は、数行の日本語条項（時には迫真の英語翻訳付き）よりも整っている。別途のアップロード営利行為の禁止も、ライセンスで制御できる。\nゲーム制作側がオープンソースと自由の精神への支持を示しているなら、私は両手両足を挙げて金を払ってコンテンツを買う。 すでに少額寄付で、優秀で、ソフトウェア自由理念を支持する作品の作者を支援している。たとえば《小辣椒與蘿蔔頭》だ。小規模工房の作品には善意ある理解と支援が必要で、大型商業会社には批判的態度で向き合う。 さらにゲームを取得するなら、ゲームを配布する自由もなければならない。したがって私はDRMに反対する傾向がある。\n4. まとめ # 修正意見を受け入れないわけではない。現在は開放的な心構えを保っているが、ソフトウェア部分がオープンソースでないなら、できるだけ距離を置く。\nこれは思想審査ではなく、原則へのこだわりだ。映像作品や音楽はゲームではないので、その商業化行為に対してここまで厳しく見ることはない。しかしプログラム関連が絡むと、ゲームに対してダブルスタンダードはできない。\nたとえ一種の形式主義であっても、試してみるのは悪くない。\n","date":"2022年6月9日","externalUrl":null,"permalink":"/ja-jp/posts/why-switch-to-libre-games/","section":"Foss-Issues","summary":" 人々の力を集め、人々のことを成し遂げる。 触れたことのあるクローズドソースゲーム：《Minecraft》、《艦隊Collection》、《GTA》、《War Thunder》、《LOL》、《IL-2》、《FGO》…など数え切れない。\n触れたことのあるオープンソースゲーム/理念が自由寄りのゲーム：《Minetest》、《0.A.D》、《Flight Gear》、《Narcissu》、《ピクセルダンジョン》、《SuperTuxKart》、《SuperTux》\n現在はオープンソースソフトウェアにこだわる時期にあり、知行合一の理念をゲームにも拡張するよう促されている。 誰も無料労働でゲーム開発に投入しようとはしないし、Linuxを使う人も同じようにクローズドソースゲームを遊ぶ……しかし私は、ゲームソフトウェアでダブルスタンダードをしてはいけないと思う。たとえ娯楽にすぎなくても、自由ソフトウェアの価値を知らぬ間に手放してはいけない。PC＋スマートフォンが実行するのはLinuxであり、使うものも自由を支持するソフトウェアであるべきだ。\nこの時やっていることは、どうしても常識に反し、反社交的で、人間性を捨てるようなものに感じる。何らかの信念のためにやっているのだが、それでも試してみたい。GoogleやYoutubeを捨てることも試したのだから、ゲームも試せる。\n","title":"ゲームをやめる理由...人気ゲームからオープンソースゲームへ移ることについて","type":"foss-issues"},{"content":"用Hugo和Netlify建立部落格之後，希望有個能互動的評論區，Disqus雖然功能多但是有廣告，還是那種煽情的內容，破壞我網站的品質(?)\n作為Github的多年用戶，善用Github的\u0026quot;Issues\u0026quot;功能來當留言板是最好的了，也就是\u0026quot;Gitalk\u0026quot;。\n步驟：於Netlify建立網站之後，首先要建立空的儲存庫，用來存留言。接著申請一個Github OAuth Application，就是架設留言板系統啦。接著再於Netlify後台將Github的Application安裝至網站上。隨後再編輯Hugo的設定檔，啟用留言板。\n效果如圖： 使用者留言時建議登入Github帳號。 之後用來存留言的儲存庫，每一篇文章都會開一個Issue，裡面就能保存留言。 1. 建立空的儲存庫 # 至Github建立空的儲存庫，名字隨便取，確認有開啟Issues功能，勾選Add a README file。此外為了讓搜尋引擎檢索到這裡的留言，將此儲存庫設為公開。\n於此儲存庫新建第一個Issue。 2. 申請Github OAuth Application # 至Github OAuth Apps申請一個新的應用程式。名字隨便取，Homepage URL和Authorization callback URL都填自己網站的網址，按下Register Application。 隨後你會得到一組Client ID，再手動點選生成Client secrets。記住這二組數字。日後要編輯此應用程式設定，請從Github右上角大頭貼→Settings→Devloper Settings進入。\n3. 安裝Github Applicatio至Netlify # 登入Netlify的後台，點選網站的Site settings，於Access control的OAuth處，點選Install provider，輸入上面2.所新增的Github應用程式的Client ID和Client secrets。 4. Hugo啟用Gitalk # 不同主題會有不同設定，多半是編輯網站目錄底下的config.toml來啟用Gitalk。\n例如我的主題是MemE，要將enableComments的值設定為true，再如下設定： ## Gitalk enableGitalk = true gitalkClientID = \u0026#34;剛剛取得的Client ID\u0026#34; gitalkClientSecret = \u0026#34;剛剛取得的Client secret\u0026#34; gitalkRepo = \u0026#34;放留言的儲存庫名稱，不需要網址\u0026#34; gitalkOwner = \u0026#34;自己的Github ID\u0026#34; gitalkAdmin = [\u0026#34;自己的Github ID\u0026#34;] gitalkLable = [\u0026#34;Gitalk\u0026#34;] gitalkDistractionFreeMode = false gitalkPerPage = 10 gitalkLanguage = \u0026#34;zh-TW\u0026#34; gitalkPagerDirection = \u0026#34;last\u0026#34; gitalkCreateIssueManually = false gitalkProxy = \u0026#34;https://cors-anywhere.azm.workers.dev/https://github.com/login/oauth/access_token\u0026#34; gitalkEnableHotKey = true # Note: https://github.com/gitalk/gitalk Github的Issue不能超過50個字，不然的話Gitalk出現Validation Failed錯誤，Gitalk會無法載入。\n改以MD5限制生成的Issue長度。例如我的是MemE主題，在網站使用的themes目錄底下找到定義Gitalk樣式的Gitalk.html，，修改如下：\n\u0026lt;link rel=\u0026#34;stylesheet\u0026#34; href=\u0026#34;https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.css\u0026#34;\u0026gt; //插入能生成MD5的JS \u0026lt;script type=\u0026#34;text/javascript\u0026#34; src=\u0026#34;https://cdn.jsdelivr.net/gh/gangdong/gangdong.github.io@dev/assets/js/md5.min.js\u0026#34;\u0026gt;\u0026lt;/script\u0026gt; \u0026lt;script\u0026gt; function loadComments() { if (!document.getElementById(\u0026#39;gitalk-container\u0026#39;)) { return; } if (typeof Gitalk === \u0026#39;undefined\u0026#39;) { var getScript = (options) =\u0026gt; { var script = document.createElement(\u0026#39;script\u0026#39;); script.defer = true; script.crossOrigin = \u0026#39;anonymous\u0026#39;; Object.keys(options).forEach((key) =\u0026gt; { script[key] = options[key]; }); document.body.appendChild(script); }; getScript({ src: \u0026#39;https://cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js\u0026#39;, onload: () =\u0026gt; { newGitalk(); } }); } else { newGitalk(); } } function newGitalk() { const gitalk = new Gitalk({ clientID: {{ .Site.Params.gitalkClientID }}, clientSecret: {{ .Site.Params.gitalkClientSecret }}, repo: {{ .Site.Params.gitalkRepo }}, owner: {{ .Site.Params.gitalkOwner }}, admin: {{ .Site.Params.gitalkAdmin }}, labels: {{ .Site.Params.gitalkLable }}, distractionFreeMode: {{ .Site.Params.gitalkDistractionFreeMode }}, perPage: {{ .Site.Params.gitalkPerPage }}, language: {{ .Site.Params.gitalkLanguage }}, pagerDirection: {{ .Site.Params.gitalkPagerDirection }}, createIssueManually: {{ .Site.Params.gitalkDistractionFreeMode }}, proxy: {{ .Site.Params.gitalkProxy }}, enableHotKey: {{ .Site.Params.gitalkEnableHotKey }}, //將生成的Issue ID改成MD5 id: md5(location.pathname) }) gitalk.render(\u0026#39;gitalk-container\u0026#39;) } \u0026lt;/script\u0026gt; 隨後部署網站。\n每次發文後(舊文也一樣)，要到該網頁下方登入自己的Github帳號，並且走訪之前發的文章，看留言板有沒有跑出來？或者至存放留言的儲存庫看該文章有無出現獨立Issue。\n否則別人就會看到這個畫面：Related Issues not found. Please contact xxx to initialize the comment.，解決方法就是自行走訪網頁建立Issue。 如果你覺得這文章不錯，請試著留言看看吧：）\n參考資料 # Use OAuth provider tokens on your site | Netlify Docs Hugo - 风月 A quick way to fix the Gitalk Error: Validation Failed ","date":"2022年6月7日","externalUrl":null,"permalink":"/posts/add-gitalk-for-hugo-and-netlify/","section":"所有文章","summary":"用Hugo和Netlify建立部落格之後，希望有個能互動的評論區，Disqus雖然功能多但是有廣告，還是那種煽情的內容，破壞我網站的品質(?)\n作為Github的多年用戶，善用Github的\"Issues\"功能來當留言板是最好的了，也就是\"Gitalk\"。\n步驟：於Netlify建立網站之後，首先要建立空的儲存庫，用來存留言。接著申請一個Github OAuth Application，就是架設留言板系統啦。接著再於Netlify後台將Github的Application安裝至網站上。隨後再編輯Hugo的設定檔，啟用留言板。\n效果如圖： 使用者留言時建議登入Github帳號。 之後用來存留言的儲存庫，每一篇文章都會開一個Issue，裡面就能保存留言。 1. 建立空的儲存庫 # 至Github建立空的儲存庫，名字隨便取，確認有開啟Issues功能，勾選Add a README file。此外為了讓搜尋引擎檢索到這裡的留言，將此儲存庫設為公開。\n於此儲存庫新建第一個Issue。 2. 申請Github OAuth Application # 至Github OAuth Apps申請一個新的應用程式。名字隨便取，Homepage URL和Authorization callback URL都填自己網站的網址，按下Register Application。 ","title":"如何給Hugo + Netlify的網站加上Gitalk留言板","type":"posts"},{"content":"蘋果於2022年6月7日的WWDC大會正式宣佈iOS 16的消息，終於一代神機系列的iPhone 6s 和iPhone SE (2016) 停止支援，沒想到iPhone 7系列也跟著被幹掉。\n事實是每代都有人說神機\u0026hellip;從3G到6s皆是，而SE就是兼具6s效能以及5s的復古風外型。\niPhone SE之夢 # iPhone SE是2016年發售的廉價版iPhone。\n我的iPhone SE第一代也用夠久了，這支是2016年左右我高中剛當果粉時候最想要的機器，因為當時在蘋果商城是最便宜的iPhone吧。不過卻是先買了iPod touch 6，2019才用市價三分之一買進二手機，取代我的iPod touch 6正式成為果粉。後來還買了iPad Air 3。 剛買來時充電線有點接觸不良，背面有殘膠。但我瞬間被吸引將其當成主力機了。當時我主要是用紅米Note 5，馬上把SIM卡抽出來換到iPhone。\nSE真的很小支方便攜帶，遊戲效能也不賴。拍照和錄影音質就是白開水，至少不差。當時習慣在手機編輯Office文件，iPhone當然是很流暢的。只不過現在難以想像，那麼小螢幕還用那麼開心。\n但是iPhone SE的電量真的不符合中重度用戶需求，所以堅持一個月，就變回副機了。之後便是當作副機使用，像是FGO玩日版，後來全遷移到Android機上，iPhone的APP很少是Android沒有的，就算是AR也不是iPhone SE晶片負荷的起的，測距儀APP好玩但還是不夠精準。SE的螢幕顏色準確，但是螢幕解析度太低，SE越來越跟不上主流需求。\n後來有checkra1n的越獄可以玩，這個硬體漏洞很難用iOS更新防堵。試了可以把iPhone變成全螢幕手勢的APP，還玩起Minecraft Java版本。\n但是checkra1n不是永久越獄，重開機就會半毀損。當時是我還沒全面改用Linux的時代，虛擬機不支援，要用LiveUSB執行checkra1n給iPhone重新越獄，屬實麻煩。後來不曉得是我按太多次了還怎樣，iPhone進DFU後就沒反應了，checkra1n沒有再越獄成功。\niPhone SE在iOS 15的問題也開始跟iPod touch 6一樣，2GB RAM還算是流暢，但只要更新一下APP金屬機殼便容易發燙，看來是真撐不住了，花的1000換電池和充電孔也沒什麼效果了。\n2022年的未來展望 # 現在Android都買旗艦機，而非CP值高的機器，又因習慣刷機、Root文化，以及接觸到自由軟體思想，所以iPhone不會是購機首要考量。\n不過為研究果粉生態，應該還是會買新的二手iPhone來玩玩。iPhone 7系列這次也停止支援了蠻可惜的，因為Project Sandcastle使其有刷Linux的可能，所以只好排除了。\n往後面的機子看一下，iPhone X應該勉強可以符合需求，第一代全螢幕。但我怕未來市場會因為其為十週年紀念品而炒作價格\u0026hellip;不過看來目前沒有，現在二手價位還在八九千左右，等掉到四五千再考慮吧。\niPhone SE現在準備要跟iPod touch 6一起躺在抽屜了，偶爾Android機需要協助攝影的時候再拿出來吧。\n結果用到了2025年 # \u0026hellip;然後一直用到了2025年，用來測試一些APP很好用。它可以checkra1n半永久越獄，支援TrollStore。不過不可能當主力機了，雖然非常輕，可是電量太小，iOS 15又慢慢地被許多APP放棄支援了。\n慚愧的說，即使是SE產品線的相機，白平衡依然屌打現在許多中階Android手機，拍照自然又不過豔。很多Android機都用妖豔賤貨的後處理效果掩飾拍照很爛的問題\u0026hellip;\n我實在的確認了，Apple的產品只有iPad是價格最實惠的，其他都是太貴不然就是不划算。我不是果粉，是鋼鐵索粉（因為堅持不出正面腦袋有洞的手機），但是因為研究人類物種多樣性會用到，因此會批判性的使用Apple產品，雙持Android與iPhone。\n因為iOS不是主力機，未來也不會是，所以我一直不想花大錢買當代最新iPhone。如果要投資三萬台幣以上的手機，那麼還是Android優先。即使是中階cost-down的Android，能做的事情也比iOS多。 至於iPhone，我的購買規格都是買發售時間三年以上的機型。假若、不追求什麼最新硬體功能，只是要一台能方便測試APP功能的iPhone，那麼二手的SE這個產品線很是符合我的需求。通常、發售三年以上的SE系列價格都會掉到台幣6000以下，這個時候就能買了。然後，這支iPhone SE就能退休了吧。\n","date":"2022年6月7日","externalUrl":null,"permalink":"/posts/my-iphone-se-1st-gen/","section":"Unboxings","summary":"蘋果於2022年6月7日的WWDC大會正式宣佈iOS 16的消息，終於一代神機系列的iPhone 6s 和iPhone SE (2016) 停止支援，沒想到iPhone 7系列也跟著被幹掉。\n事實是每代都有人說神機…從3G到6s皆是，而SE就是兼具6s效能以及5s的復古風外型。\niPhone SE之夢 # iPhone SE是2016年發售的廉價版iPhone。\n我的iPhone SE第一代也用夠久了，這支是2016年左右我高中剛當果粉時候最想要的機器，因為當時在蘋果商城是最便宜的iPhone吧。不過卻是先買了iPod touch 6，2019才用市價三分之一買進二手機，取代我的iPod touch 6正式成為果粉。後來還買了iPad Air 3。 剛買來時充電線有點接觸不良，背面有殘膠。但我瞬間被吸引將其當成主力機了。當時我主要是用紅米Note 5，馬上把SIM卡抽出來換到iPhone。\nSE真的很小支方便攜帶，遊戲效能也不賴。拍照和錄影音質就是白開水，至少不差。當時習慣在手機編輯Office文件，iPhone當然是很流暢的。只不過現在難以想像，那麼小螢幕還用那麼開心。\n但是iPhone SE的電量真的不符合中重度用戶需求，所以堅持一個月，就變回副機了。之後便是當作副機使用，像是FGO玩日版，後來全遷移到Android機上，iPhone的APP很少是Android沒有的，就算是AR也不是iPhone SE晶片負荷的起的，測距儀APP好玩但還是不夠精準。SE的螢幕顏色準確，但是螢幕解析度太低，SE越來越跟不上主流需求。\n","title":"iPhone SE第一代還可以用嗎？iOS 16停止支援，是該退役了","type":"unboxing"},{"content":"警告：透過這種方式進行degoogle，可能導致手機無法正常運作。建議最徹底的方式是直接刷機。\n不Root不刷機，刪除Android手機的內建的Google APP與Play服務，打造開源、安全、隱私的Android手機。\n最主要是透過adb shell pm uninstall --user的方式來停用Google服務。這樣GMS服務就不會自己啟動了，只有在回復原廠設定或者系統更新之後才會啟動。\n本文參考自Reddit r/degoogle板的貼文： 100% FOSS Smartphone Hardening non-root Guide 4.0\n原作者在沒解鎖Bootloader的華為P30 Lite成功去Google化長達2年，此前有幾年Root/刷機的經驗。\n注意此方法仍不徹底，無Root是無法完全移除Google Play服務。\n※如果手機能Root，參考這個方案：microG + Aurora Store + F-Droid：Android手機去Google化教學\n去Google化的幾個原則 # 原作者沒提到，但我覺得很重要的部份。去Google化有各式各樣的理由，像是不想讓手機被一家公司控制住之類的，但是也要遵守準則：\n不從圍牆花園跳到另一個圍牆花園，像捨棄Google Chrome卻改用微軟Edge。 開源很重要，APP與網路服務皆然，不開源但強調端對端加密的網路服務次之。 對電腦原理有認識，避免陷入被害妄想症，要知道哪些是自己能控制的。 1. 為什麼不改用iPhone就好 # iPhone的黑箱文化無法讓你擁有真正的隱私。最近蘋果的T1和T2安全晶片還被爆出硬體漏洞。\n此外，FBI介入後，iCloud備份不再加密，還給FBI開抗議者手機的後門。還有Siri持續錄製9個月後的對話。蘋果的郵件APP也有缺陷，然而蘋果拒絕改善。\n此外還有CASM的掃描爭議。蘋果前工程師說對話框按拒絕給APP追蹤根本沒什麼效果。在蘋果強勢摧毀了Facebook和Google在他們平台的廣告網路後，就換蘋果來監控你啦。\n跟iOS比起來，Andorid開源的特性，使利用0日漏洞要付出更多代價。\n2. 刪除與登出Google服務 # 因為沒Root，只能利用ADB來刪除內建的Google程式。\n以我的手機Sony Xperia 5 II為例，無Root、Bootloader上鎖。\n開啟手機設定→帳號，登出全部Google帳號。\n到Github下載圖形化程式\u0026quot;Universal Android Debloater GUI\u0026quot;\n手機設定 → 關於手機 → 版本號碼 點5下，手機會出現「開發人員」選項，進去把「USB偵錯」開啟。\n手機連線到電腦，執行Android Debloater，在手機上同意USB偵錯。\nAndroid Debloater點選Google，將列出的\u0026quot;Recommended\u0026quot; Google APP都解除安裝(uninstall)，點選左上角重新整理，直到Google的APP都消失為止。只刪除Recommended的APP應該不會導致手機卡開機，且Android Debloater大部份都有附上這APP是幹什麼的說明，所以還能以此刪除原廠的捆綁軟體。另外，這些被刪除的APP重新啟用或將手機回復成原廠設定就會自己回來了，不需要重刷。 之後將手機重開機，Google相關的APP都消失了。再用F-Droid上的\u0026quot;Pacakge Manager\u0026quot; APP進一步查看漏網之魚，像Gboard和電話APP也可能是Google提供，安裝好替代方案便可將其刪除。 3. 安裝常用開源APP # 安裝F-Droid和Aurora Store作為下載APP的來源。前者以開源方案為主，後者則是匿名下載Google Play上的應用程式。\n參見原文落落長的列表LIST OF F-DROID APPS TO GET，按用途挑選適合的APP，例如瀏覽器就選以Firefox為基礎開發的，F-Droid上有\u0026quot;Fennic\u0026quot;和\u0026quot;Mull\u0026quot;可供選擇。\n4. 檢查APP權限 # AppOpsX可以即時顯示Android APP是否在存取剪貼簿或地理位置，需要用到ADB指令。\n然而Android 12已內建類似提示功能。\n除此之外，APP不必要的權限不要給，例如精確位置只能由導航APP存取。\n5. 把鏡頭貼起來 # 原作者前後鏡頭都有貼，用錫紙蓋住鏡頭，再用膠帶黏起來。\n6. 確保網路連線安全 # 安裝NetGuard防火牆，控制APP對外連線。\n要更進階的安裝InviZible Pro加密DNS，保持VPN或Tor連線。\n7. 隔離工作與日常用的APP # Shelter APP可設定雙重VPN，也可以利用工作帳戶的機制來將APP與系統隔離。\n原作者主要是用來對付WhatsApp通訊軟體，一個禮拜開一次而已。\n不過Shelter會跟內建應用程式雙開的ROM衝突。\n8. 手機陷入緊急時刻的應對之道 # 萬一有人要對你不利，甚至會把你的手指砍下來用於指紋驗證時，安裝\u0026quot;Private Lock\u0026quot;吧，偵測到加速度就會取消手機的生物辨識功能，只能用PIN碼解鎖，速度比Android/iOS內建的鎖定機制還快。\n9. 哪個手機品牌較好 # 作者說是基於事實探討。不喜歡中國機的還有很多可以選擇。\n第一梯隊：Asus，摩托羅拉，Sony，FairPhone，華為/榮耀 # Asus，摩托羅拉，Sony的系統很接近原生，評分：好\nFairPhone：注重環保，花大錢買中階硬體，評分：好\n華為：作者認為美國政府對華為的行為指控無證據 (不包含中國公司)，甚至說小米和榮耀為何沒跟著被ban，還有很多國家仍歡迎華為參與5G建設。此外不用華為帳號也能用手機，美國國家安全局還無法控制通訊模塊！評分：好，系統可以輕易瘦身。\n第二梯隊：一加，Oppo，Vivo，Realme，小米，三星，Nokia，LG # 三星：捆綁軟體和硬體後門的事件太多，Knox是黑盒子運作，跟其他產品互通的三星帳號也很可疑。評價：能不要買就不要買。\n小米：跟三星一樣，MIUI內建大量監控用戶的程式，甚至瀏覽器隱私模式也會被追蹤。此外MIUI會跟Island和Shelter功能衝突。評分：除非你知道怎麼解決Isla nd的相容性問題，否則不要買。\n一加，Oppo，Vivo：監控和廣告少很多，比小米和三星好很多了。評分：有潛力不錯的品牌。\nRealme：可以拿Oppo/Vivo的設定檔進行系統瘦身。評分：很棒的裝置。\nLG：系統接近原生，但是倒了。\nNokia: 被懷疑暗中協助俄羅斯監控用戶，最近還發現有中國的監控程式。此外官方禁制解鎖bootloader，此外更新時程和售後服務一團糟。評分：不要買。\n吊車尾 # Google：邪惡大帝國，Titan M晶片宣稱很安全，但無法保證裡面程式碼是否為跟Google公佈出來的一樣。信任Titan M就會導致類似蘋果T2/M2晶片的硬體缺陷、Intel ME/AMT的災難。此外，Google還是美國國家安全局的夥伴，用各種方式監控用戶，反覆對公司的資料蒐集政策說謊，強逼用戶Play商店服務，用AMP壟斷網路世界，破壞瀏覽器標準等等。\n10. 總結 # 手機也是可以用的跟電腦一樣安全和周到，當然有Root和刷機是更好控制的了。\n原作者用華為可能是看上其硬體，他也沒從Google變成依賴華為的生態系。不過我個人認為找接近原生的系統，開放刷機，又沒有太多Google全家桶的更好。\n補充一點，在去中心化技術發展的今天，尋求另外的選擇的人們不再是用單機APP單打獨鬥了，除了self-hosting外，加入P2P或區塊鏈技術組成的社群網路也是另一種可能。\n","date":"2022年6月6日","externalUrl":null,"permalink":"/posts/degoogle-android-phone-without-root/","section":"所有文章","summary":"警告：透過這種方式進行degoogle，可能導致手機無法正常運作。建議最徹底的方式是直接刷機。\n不Root不刷機，刪除Android手機的內建的Google APP與Play服務，打造開源、安全、隱私的Android手機。\n最主要是透過adb shell pm uninstall --user的方式來停用Google服務。這樣GMS服務就不會自己啟動了，只有在回復原廠設定或者系統更新之後才會啟動。\n本文參考自Reddit r/degoogle板的貼文： 100% FOSS Smartphone Hardening non-root Guide 4.0\n原作者在沒解鎖Bootloader的華為P30 Lite成功去Google化長達2年，此前有幾年Root/刷機的經驗。\n注意此方法仍不徹底，無Root是無法完全移除Google Play服務。\n※如果手機能Root，參考這個方案：microG + Aurora Store + F-Droid：Android手機去Google化教學\n去Google化的幾個原則 # 原作者沒提到，但我覺得很重要的部份。去Google化有各式各樣的理由，像是不想讓手機被一家公司控制住之類的，但是也要遵守準則：\n不從圍牆花園跳到另一個圍牆花園，像捨棄Google Chrome卻改用微軟Edge。 開源很重要，APP與網路服務皆然，不開源但強調端對端加密的網路服務次之。 對電腦原理有認識，避免陷入被害妄想症，要知道哪些是自己能控制的。 1. 為什麼不改用iPhone就好 # iPhone的黑箱文化無法讓你擁有真正的隱私。最近蘋果的T1和T2安全晶片還被爆出硬體漏洞。\n","title":"免Root將Android手機去Google化","type":"posts"},{"content":" 課題で映画の感想文を書く必要があったので、《作業系統革命》という映画を出発点に、自由ソフトウェアがなぜ重要なのか、そして大学側のソフトウェア利用の現状について浅見を述べる。\n作業系統革命\nRevolution OS (2001)\n*Youtubeには成大の黃教授が字幕修訂を手伝った中文字幕版がある。\n1980年代、パーソナルコンピューターが興り始めた頃、一群のハッカーたちは新しいOSを作り、世界を変えようとしていた。時間は私たちに証明した。Microsoftの支配下では、ユーザーは永遠に本当の自由を持てない。だから私たちには別の選択肢が必要であり、とりわけユーザーの自由を尊重するシステムが必要なのだ。\nこのドキュメンタリーは、20年にわたるLinuxシステムとオープンソースコミュニティの発展過程を描いている。最初はMITで働いていたリチャード・ストールマンが、Unixシステムがクローズドソースへ向かい、つまりユーザーがプログラムのソースコードを自由に閲覧・変更できず、さらにはそのために金を払わなければならないことに不満を抱いた。そこで彼は新しいシステムを設計し、自由ソフトウェアの概念を広めることを決め、その後、自由ソフトウェア財団を設立した。たとえばGNU GPLライセンス条項には、ユーザーにはソースコードを閲覧、変更、配布する自由があり、変更後のプログラムもオープンソースにしなければならないと明記されている。このライセンスは多くのソフトウェアの法的根拠となった。大部分のアプリケーションが完成した後、リーナス・トーバルズが書いたLinuxカーネルがちょうど空白を埋め、こうして使えるシステムが完成した。それはMicrosoft Windows、Apple Macintoshなどの商業的なクローズドシステムと競争できるほどだった。Microsoftはそれ以前にさまざまな戦略を通じて、パーソナルコンピューター市場で巨大なシェアを獲得しており、Linuxは挑戦者だった。しかしLinuxはサーバー領域で頭角を現した。Linuxのオープンソース理念は、世界各地のユーザーがネットを通じて開発に参加するだけでなく、企業が自由ソフトウェアとオープンソースの理念を使って商業販売を行うことにも繋がった。会社がソフトウェアを売らず、コンサルティングサービスを売るならどうか？この種の収益モデルは、キラーアプリApacheの登場とともに、Linux企業が相次いで上場し、投資家からも評価されることで形になった。このようなモデルによって、Linuxは徐々に人々の視野に入っていった。エリック・レイモンドの論文《伽藍とバザール》では、Linuxの開発モデルはバザールの部分であり、大衆が参加し、十分な数の目があればバグは隠れようがない。GNUのコンパイラーやツールは伽藍であり、少数の人だけが主導して開発する。もちろん、これらはどちらも自由ソフトウェアの開発モデルだ。ネットが普及した今日、自由ソフトウェアの開発者はネット上のGitプラットフォームを通じて、皆に簡単に貢献へ参加してもらえる。だからLinuxおよび関連するオープンソース技術には、なお大きな潜在力がある。\n今日では、Linuxのディストリビューションはすでに数百種類に達しており、その大部分は無料だ。大衆が開発に参加しているため、サーバー市場では絶対的な優位がある。しかし、パーソナルコンピューター市場の大衆には、まだ関連する意識が育っていない。まず最も基本的なソフトウェアから話そう。一般の人にとって、オープンソースソフトウェアへ切り替えること（自由について語ってもおそらく何の話かわからないだろうから、オープンソースと言うほうが現実的だ）は拷問である。私たちは幼い頃から習慣の奴隷になるよう育てられてきた。学校がソフトウェアを教えるのは、職場で使うからだ。しかしそのソフトウェアがクローズドソフトウェアなら、皆は使い続けるべきなのか？なぜ人々は代替案を使わないのか。たとえばMicrosoft Officeは、ある人のオフィス人生のすべてになりがちだ。他のオープンソース案は使いにくい、慣れないと嫌がるのは、自分の基本的人権価値に対して無責任である。\nまたAdobeのPhotoshopシリーズ一式は、業界標準になったと言える。Officeと同じく、企業の標準的な業務能力になっている。この学校でも同じだ。私が履修した授業は、例外なくクローズドソフトウェアを使用していた。PSや編集技術を学んだ後、私は異議を唱えたくなった。レポート提出はなぜ必ずwordファイルでなければならないのか？なぜpptがプレゼンテーションの代名詞になっているのか？政府が推すodtのほうが明らかに良いのではないか。自分の単位に喧嘩を売るべきではないとはいえ、卒業制作をする時、私は英語学科の教授と話したことがある。docxとTimes New Romanフォントはどちらもプロプライエタリなライセンスであり、たとえ無料でもその本質は変わらない。将来的には自由な代替案へ切り替えられるかもしれない。また企業がある技術に精通していることを求めるなら、「職位需求」欄でどのソフトウェアを使うかを限定すべきではない。特にクローズドソフトウェアの場合、代替品があるなら多くの場面で需要を満たせる。しかし、あの固定されたソフトウェア作業モデルを提唱する人たちは、人を技工に育てたいだけで、自分が使っているものについて、その本質的構成を探索する可能性があるのかを疑ったことがないように見える。\nアプリケーション方面がこうなら、パーソナルコンピューターシステム方面はさらに失望させられる。Windowsはいまだに5割ものシェアを持ち、その後にAppleのMacOSが続く。Linux諸ディストリビューションの市場シェアは、誰も使っていないWin8を超えたと聞く（10パーセント未満）。この二つのシステムは、コンピューター音痴をうまく面倒見て、簡単に使い始められるようにした。しかし、人を音痴に教育するという発想は、どうやって生まれたのだろう？ユーザーはクリックしてタスクを完了できればよいと仮定するなら、それでコンピューターを理解していると言えるのか？明らかに足りない。いずれプログラムを学ぶのなら、なぜシステムそのものまで何も隠さず見せてくれるシステムを選ばないのか？Appleユーザーは恥ずかしげもなく、Appleを使うのはセンスがあり、流行っていると言う。しかしそれは、あるウォールドガーデンから別のウォールドガーデンへ飛び移っただけだ。開放性を論じるなら、WindowsのほうがMacOSより自由でさえある。これはスマートフォンシステムにも及ぶ。ジョブズは、人々は自分が何を欲しいのかわからない、だから私は馬鹿でも使えるシステムを設計してやった、と言い、それが長い時間をかけて一つの体系になった。統治者が口々にあなたのためだと言い、個人の基本権益を犠牲にするなら、本当にそうあるべきなのか？自分の権利を他人の手に握らせ、他の選択肢を持てないようにしてよいのか？Linuxを基に開発されたAndroidスマートフォンはまだ十分自由ではないが、スマートフォン界でクローズド陣営に対抗できる大きな武器だ。スマートフォン方面では、AndroidはPC上のLinuxより成功している。リーナスが言うように、人々はOSを直接使うわけではなく、大衆もコンピューター原理について一般に概念がない。しかしAndroidには確かに功績がある。だから、Googleに主導されないLinuxスマートフォンシステムを発展させる時が来ている。\nそれ以外にも、一般的な娯楽ソフトウェアはクローズドプラットフォームに付着しており、人々をそこから離れにくくしている。あちこちにあるクローズドソースゲームやマルチメディア著作権機構（たとえばDRM）を見ればわかる。自由の権益を捨てて快楽を得ているのだ。これは、これらのものが奶头乐の陰謀論だとか、私が共産主義を支持しているとか言いたいのではない。人々には知る権利があるべきであり、ゲームでさえそうあるべきだと言っている。オープンソースゲームの発展は散漫だが、それでも一定の成果は必要だ。彼らは商業会社のように、ブラックボックス式に動くソフトウェアでプレイヤーを依存させ、ひいてはユーザーを支配する方法を知らないのだろう。ゲームもオープンソースであるべきだと強調するのは少し不合理ではある。特に美術やテキスト方面は、オープンソースプログラムと同列に論じにくい。ただし近年興った「Creative Commons」ライセンス条項も同じく作者の権利を保障できる。しかし商業マーケティングに使うにはなお困難がある。芸術が希少性を売るものなら、Creative Commonsは公益活動に近いからだ。それでも少なくとも、芸術作品はオープンソースな媒体の上に置いてみることができる。大衆が取得した後、クローズドソースプログラムに支配されにくくするためだ。\n最後に強調したい点は、自由ソフトウェア、オープンソースソフトウェアは参加を強制しないということだ。そうでなければ共産党になってしまう。したがって呼びかけ以外にも、政府などの大型組織が普及に加わることはとても重要である。また開放的な態度を保つことも良いことではないか。自由ソフトウェア財団の厳格な定義に従えば、現代社会の機器ハードウェアのファームウェアにはクローズドソースのものが大量にある。そのため実務上、私たちはクローズドソースソフトウェアの使用を完全には避けられない。できるのは、大衆にこれらの概念を知ってもらい、自由ソフトウェアの解決策を使うよう勧めることだけだ。仏陀の伝道方法を参考にし、中道を取ることこそ賢明である。幸い、台湾各界の努力によって、Linuxとオープンソースコミュニティには明るい兆しがあり、政府も努力して投入している。だから未来はなお明るい。\n最後に自画自賛のくだりへ入る：この記事はLinuxディストリビューションopenSUSE上でLibreOfficeを使って書かれ、やむを得ずdocx形式でしか保存できなかった。本当に私にとっては委屈である。自由なブラウザーFirefoxを使い、デジタル学習プラットフォームとLineへアップロードして提出した。補足すると、Lineという通信ソフトウェアは、悪霸なクローズドソフトウェアの典型的代表と言える。台湾人は世界的な構図で見れば三流の地位にあるこの通信ソフトウェアに縛られることに慣れている。いくつかのしょぼいスタンプのために、Telegram、Signalのようなより良い解決策を学ぼうとしない。魯迅の言葉がとても好きだ。「昔からそうだったからといって、それで正しいのか？」アジア人に人権を語るのは、本当に牛に対して琴を弾くようなものなのか？\n","date":"2022年6月6日","externalUrl":null,"permalink":"/ja-jp/posts/free-software-at-school/","section":"Foss-Issues","summary":" 課題で映画の感想文を書く必要があったので、《作業系統革命》という映画を出発点に、自由ソフトウェアがなぜ重要なのか、そして大学側のソフトウェア利用の現状について浅見を述べる。\n作業系統革命\nRevolution OS (2001)\n*Youtubeには成大の黃教授が字幕修訂を手伝った中文字幕版がある。\n1980年代、パーソナルコンピューターが興り始めた頃、一群のハッカーたちは新しいOSを作り、世界を変えようとしていた。時間は私たちに証明した。Microsoftの支配下では、ユーザーは永遠に本当の自由を持てない。だから私たちには別の選択肢が必要であり、とりわけユーザーの自由を尊重するシステムが必要なのだ。\nこのドキュメンタリーは、20年にわたるLinuxシステムとオープンソースコミュニティの発展過程を描いている。最初はMITで働いていたリチャード・ストールマンが、Unixシステムがクローズドソースへ向かい、つまりユーザーがプログラムのソースコードを自由に閲覧・変更できず、さらにはそのために金を払わなければならないことに不満を抱いた。そこで彼は新しいシステムを設計し、自由ソフトウェアの概念を広めることを決め、その後、自由ソフトウェア財団を設立した。たとえばGNU GPLライセンス条項には、ユーザーにはソースコードを閲覧、変更、配布する自由があり、変更後のプログラムもオープンソースにしなければならないと明記されている。このライセンスは多くのソフトウェアの法的根拠となった。大部分のアプリケーションが完成した後、リーナス・トーバルズが書いたLinuxカーネルがちょうど空白を埋め、こうして使えるシステムが完成した。それはMicrosoft Windows、Apple Macintoshなどの商業的なクローズドシステムと競争できるほどだった。Microsoftはそれ以前にさまざまな戦略を通じて、パーソナルコンピューター市場で巨大なシェアを獲得しており、Linuxは挑戦者だった。しかしLinuxはサーバー領域で頭角を現した。Linuxのオープンソース理念は、世界各地のユーザーがネットを通じて開発に参加するだけでなく、企業が自由ソフトウェアとオープンソースの理念を使って商業販売を行うことにも繋がった。会社がソフトウェアを売らず、コンサルティングサービスを売るならどうか？この種の収益モデルは、キラーアプリApacheの登場とともに、Linux企業が相次いで上場し、投資家からも評価されることで形になった。このようなモデルによって、Linuxは徐々に人々の視野に入っていった。エリック・レイモンドの論文《伽藍とバザール》では、Linuxの開発モデルはバザールの部分であり、大衆が参加し、十分な数の目があればバグは隠れようがない。GNUのコンパイラーやツールは伽藍であり、少数の人だけが主導して開発する。もちろん、これらはどちらも自由ソフトウェアの開発モデルだ。ネットが普及した今日、自由ソフトウェアの開発者はネット上のGitプラットフォームを通じて、皆に簡単に貢献へ参加してもらえる。だからLinuxおよび関連するオープンソース技術には、なお大きな潜在力がある。\n","title":"大学側における自由ソフトウェアについての浅見、映画《Revolution OS》を観た後の感想","type":"foss-issues"},{"content":"有些APP會把下載的圖片都儲存到DCIM目錄下，也就是大部分手機相機的相片目錄，而Google相簿預設會把該目錄下的檔案全備份，像是Facebook存的圖片也會一併被丟上去。\n要如何避免呢？\n換個想法：具體目標是要在Android達到「另存新檔時更改檔案下載的儲存位置」。\n例如Facebook，解決方法是不要按儲存，而是長按，「分享到外部空間」 選擇檔案瀏覽器圖示，選擇儲存位置，可以這樣做的包括Google Files、Solid Files Explorer、Mixplorer，多半會跳出一個選單給你選儲存位置。\n或者下載Phone Saver App\n按+號設定每次儲存檔案的預設目錄，這樣按分享再按Phone Saver的圖示，就不用再選要儲存到哪裡。 這樣效果類似電腦瀏覽器的「圖片另存為\u0026hellip;」，只不過要多按幾個按鍵。支援長按分享的app，像是Chrome也可以用Phone Saver來更改檔案下載儲存位置，因為手機版只能選Chrome的私有目錄或手機的Download目錄。\n","date":"2022年6月6日","externalUrl":null,"permalink":"/posts/phone-saver-google-photo-backup-strategy/","section":"所有文章","summary":"有些APP會把下載的圖片都儲存到DCIM目錄下，也就是大部分手機相機的相片目錄，而Google相簿預設會把該目錄下的檔案全備份，像是Facebook存的圖片也會一併被丟上去。\n要如何避免呢？\n換個想法：具體目標是要在Android達到「另存新檔時更改檔案下載的儲存位置」。\n例如Facebook，解決方法是不要按儲存，而是長按，「分享到外部空間」 選擇檔案瀏覽器圖示，選擇儲存位置，可以這樣做的包括Google Files、Solid Files Explorer、Mixplorer，多半會跳出一個選單給你選儲存位置。\n或者下載Phone Saver App\n按+號設定每次儲存檔案的預設目錄，這樣按分享再按Phone Saver的圖示，就不用再選要儲存到哪裡。 這樣效果類似電腦瀏覽器的「圖片另存為…」，只不過要多按幾個按鍵。支援長按分享的app，像是Chrome也可以用Phone Saver來更改檔案下載儲存位置，因為手機版只能選Chrome的私有目錄或手機的Download目錄。\n","title":"Phone Saver: Google相簿避免備份特定圖片技巧","type":"posts"},{"content":"","date":"2022年6月5日","externalUrl":null,"permalink":"/tags/neocities/","section":"標籤","summary":"","title":"Neocities","type":"tags"},{"content":" 1. 緣起 # 自從第一帝國，用Hexo架在Github Pages上因為重新安裝系統導致檔案盡失後，雖然網站還在，卻變成真靜態了。\n回到Google Blogger，經營4個月好像有點起色，QEMU和UUP DUMP的議題成功引起關注，但遠沒有Minecraft基岩版部落格受歡迎，也不夠格放Adsense。後來接觸到去Google化的思想，所以我希望可以擺脫Google與其產品的控制，除了Youtube以外，供我寫廢文的部落格也要找個新平台。\n2. 先嘗試Neocities架站 # 這個靜態網頁代管網站很復古，歷史漫長，貓貓很可愛，他們還說網站程式碼是開源的。 原本以為提供線上HTML編輯器，可以當成Blogger替代品了。結果HTML編輯器真的只是HTML編輯，不是可見即所得，網站檔案還要自己上傳。\n雖說如此，支援自訂網域的付費會員只要5美元。\n這年代不會有人手打HTML了，所以我找了個新靜態網頁生成器「Hugo」，操作跟Hexo類似，同樣能用Markdown寫文章後生成。於是將網站做好後，將public目錄的內容上傳到Neocities。直接把靜態網頁檔案拖拉上傳才發現，這個前端寫的有夠爛，Firefox上傳目錄會各種漏檔案。\n所以參照官方說明，安裝Ruby寫成的命令行工具\u0026hellip;啊咧，openSUSE的Ruby 0.31.0用gem install安裝怎麼都是喚不出已安裝的Neocities呢，重裝Ruby還把YaST整沒了。多方除錯未果，我放棄。\n幸好官方還有提供Python版的套件，寫一個腳本上傳就輕鬆多了。(參考)\n#! python3 import neocities from glob import glob import os USERNAME = \u0026#34;帳戶\u0026#34; PASSWORD = \u0026#34;密碼\u0026#34; LOCAL_DIRECTORY = \u0026#34;public\u0026#34; # Hugo generates the site in the public directory file_extensions = [ \u0026#39;.html\u0026#39;,\u0026#39;.htm\u0026#39;, \u0026#39;.jpg\u0026#39;,\u0026#39;.png\u0026#39;,\u0026#39;.gif\u0026#39;,\u0026#39;.svg\u0026#39;,\u0026#39;.ico\u0026#39;, \u0026#39;.js\u0026#39;,\u0026#39;.json\u0026#39;,\u0026#39;.css\u0026#39;,\u0026#39;.txt\u0026#39;,\u0026#39;.csv\u0026#39;,\u0026#39;.xml\u0026#39;, \u0026#39;.eot\u0026#39;,\u0026#39;.ttf\u0026#39;,\u0026#39;.woff\u0026#39;,\u0026#39;.woff2\u0026#39;] def push(d): \u0026#39;\u0026#39;\u0026#39; recursive directory upload, adapted from https://github.com/neoslaughter/python-neo \u0026#39;\u0026#39;\u0026#39; files = glob(d + \u0026#39;/**\u0026#39;, recursive=True) for file_name in files: if os.path.splitext(file_name)[1] in file_extensions: destination_path = file_name.replace(LOCAL_DIRECTORY,\u0026#39;\u0026#39;).replace(\u0026#34;\\\\\u0026#34;,\u0026#34;/\u0026#34;) nc.upload((file_name, destination_path)) print(\u0026#34;Uploaded {} as {}\u0026#34;.format(file_name, destination_path)) nc = neocities.NeoCities(USERNAME, PASSWORD) push(LOCAL_DIRECTORY) 試了一下後覺得Neocities還是太old school了，所以改向跟Github Pages類似的服務「Netlify」。\n3. 使用Netlify架站的好處 # Netlify的原理是先在Github開一個私人repo，之後用Github註冊Netlify的服務後，選定該私人Github repo給Netlify存取。之後git push到此repo，Netlify那邊會自動同步部署過去。\n實測部署速度比Github Pages快一點，幾乎是一分鐘就會出現更新內容了，Github Pages會久一點。\nNetlify的容量有100GB，還準備好了自訂網域的設定，所以我認為未來應該很有擴充性。\n此外這種部署過程應該可以避免重複以前的問題：靜態網頁生成器設定檔存在本機，Github Pages的repo只會有靜態網頁結果，設定檔要另外開repo備份。以前覺得麻煩沒做，於是發生慘況。\n現在是整個網站都推送到Github的單個repo，保證本機檔案弄丟也不怕，再由Netlify根據netlify.toml設定檔，把public目錄部署到Netlifyy上：\n[build] publish = \u0026#34;public\u0026#34; command = \u0026#34;hugo\u0026#34; [build.environment] HUGO_VERSION = \u0026#34;0.100.1\u0026#34; 現在設定好之後還有細部選項要微調，不過程式碼部份就盡量保持目前用的Hugo主題的規範。\n","date":"2022年6月5日","externalUrl":null,"permalink":"/posts/why-create-second-blog/","section":"Personals","summary":"1. 緣起 # 自從第一帝國，用Hexo架在Github Pages上因為重新安裝系統導致檔案盡失後，雖然網站還在，卻變成真靜態了。\n回到Google Blogger，經營4個月好像有點起色，QEMU和UUP DUMP的議題成功引起關注，但遠沒有Minecraft基岩版部落格受歡迎，也不夠格放Adsense。後來接觸到去Google化的思想，所以我希望可以擺脫Google與其產品的控制，除了Youtube以外，供我寫廢文的部落格也要找個新平台。\n2. 先嘗試Neocities架站 # 這個靜態網頁代管網站很復古，歷史漫長，貓貓很可愛，他們還說網站程式碼是開源的。 原本以為提供線上HTML編輯器，可以當成Blogger替代品了。結果HTML編輯器真的只是HTML編輯，不是可見即所得，網站檔案還要自己上傳。\n雖說如此，支援自訂網域的付費會員只要5美元。\n這年代不會有人手打HTML了，所以我找了個新靜態網頁生成器「Hugo」，操作跟Hexo類似，同樣能用Markdown寫文章後生成。於是將網站做好後，將public目錄的內容上傳到Neocities。直接把靜態網頁檔案拖拉上傳才發現，這個前端寫的有夠爛，Firefox上傳目錄會各種漏檔案。\n","title":"架站從Github Pages換成Netlify ～ 第二帝國成立緣起","type":"personal"},{"content":"","date":"2022年6月5日","externalUrl":null,"permalink":"/ja-jp/tags/microsoft-office/","section":"Tags","summary":"","title":"Microsoft Office","type":"tags"},{"content":" オフィススイートの呼び方について。長い間、多くの人はWord、Excel、Powerpointでこれらを指してきた：文書、スプレッドシート、プレゼンテーション。これは正しくない。\nこれはまさに、長期にわたりMicrosoftのソフトウェアを使ってきたことによって、人々がそれをそのファイルの正式名称だと思い込んでいるためだ。Appleも自社のオフィスソフトウェアに一連の名前を付けている。しかしこれらのファイルを呼ぶ時、ファイル名だけを覚えて区別すべきではない。実際、Googleのやり方は比較的ストレートだ。別の名前を付けず、直接、文書、スプレッドシート、プレゼンテーションと呼んでいる。\nそうは言っても、特定のオフィスソフトウェアに過度に依存することは良いことではない。特にそれがクローズドソースソフトウェアである場合はなおさらだ。覚えておくべきなのは、ユーザーの自由は常に安全性や便利さより重要であり、使いやすいかどうかさえ二の次だということだ。自分が選んでいるものが開放的で自由な形式なのかを知る必要がある。重要文書のレイアウト崩れを防ぐにはPDFで固定してもよいが、それ以外のオフィス文書は、長期的な利益を得るために開放的で自由な形式を採用すべきである。\n","date":"2022年6月5日","externalUrl":null,"permalink":"/ja-jp/posts/name-of-office-suite/","section":"Foss-Issues","summary":" オフィススイートの呼び方について。長い間、多くの人はWord、Excel、Powerpointでこれらを指してきた：文書、スプレッドシート、プレゼンテーション。これは正しくない。\nこれはまさに、長期にわたりMicrosoftのソフトウェアを使ってきたことによって、人々がそれをそのファイルの正式名称だと思い込んでいるためだ。Appleも自社のオフィスソフトウェアに一連の名前を付けている。しかしこれらのファイルを呼ぶ時、ファイル名だけを覚えて区別すべきではない。実際、Googleのやり方は比較的ストレートだ。別の名前を付けず、直接、文書、スプレッドシート、プレゼンテーションと呼んでいる。\nそうは言っても、特定のオフィスソフトウェアに過度に依存することは良いことではない。特にそれがクローズドソースソフトウェアである場合はなおさらだ。覚えておくべきなのは、ユーザーの自由は常に安全性や便利さより重要であり、使いやすいかどうかさえ二の次だということだ。自分が選んでいるものが開放的で自由な形式なのかを知る必要がある。重要文書のレイアウト崩れを防ぐにはPDFで固定してもよいが、それ以外のオフィス文書は、長期的な利益を得るために開放的で自由な形式を採用すべきである。\n","title":"オフィススイートとその形式の呼び方","type":"foss-issues"},{"content":"討厭人不需要理由，但是這樣是對的嗎？\n如果不是基於事實以及理性推敲，出於單純的好惡而詆毀別人，將有色濾鏡戴上而廢言，因為討厭對方，就預設前提去解讀所有的言論。沒有想過對方的立場，為何會講出這些話。\n那麼這是不對的吧，不論出於好玩亦或是天性，壓抑這種本性，穿別人的鞋子想，就算對方是粗暴言論，也是要站在對方的角度想。這樣的話，免對身陷意識形態很深，而偏離話題主旨開始無端謾罵的人，這個時候變成這一方在憐憫對方。\n可是自己不需要辯護嗎？發言參雜任何情緒就是構成不嚴謹討論，謙卑的姿態有，辯護自己的觀點便要基於事實，同樣對對方的論點感到不悅，訴諸道德倫理判斷只會沒完沒了。因此對整個討論有全局的認識，能避免落入瞎罵的陷阱。\n如果遇到純粹挑釁來亂的應付不來的就隨他們說吧。只是當大氛圍環境下若大部分人跟著房間的大象說謊，站出來發聲便是有必要。儘管搧動性、偏離事實的話語可以掀起輿論支持，不過如果說的是實在話是不會愧對自己的良心的。注意有搧動性的話語也會被認為是實作在話，不過誠實的內容比帶風向要好。\n常見的情況是討論不只是要互相穿對方的鞋，對方還會要求你穿很多人的鞋，並說你有沒有考慮到其他圈圈叉叉的問題、好比說圈圈叉叉等。但說來冷血，基於事實真的東西是真的就是真的，學會於情緒話語辨認出事實並加以回擊才是重點，甚至有時候承認自己觀點有錯誤並沒有什麼好可恥的。純粹歪曲事實的，要學著剔去邏輯謬誤，分辨這場討論有無正當持續的價值，還是只是口水戰。\n那麼總結便是，不是看別人說別人做了什麼，如果不是自己知道的東西，不能做出有效客觀的評價。\n","date":"2022年6月5日","externalUrl":null,"permalink":"/posts/why-hate-somebody-for-no-reason/","section":"Personals","summary":"討厭人不需要理由，但是這樣是對的嗎？\n如果不是基於事實以及理性推敲，出於單純的好惡而詆毀別人，將有色濾鏡戴上而廢言，因為討厭對方，就預設前提去解讀所有的言論。沒有想過對方的立場，為何會講出這些話。\n那麼這是不對的吧，不論出於好玩亦或是天性，壓抑這種本性，穿別人的鞋子想，就算對方是粗暴言論，也是要站在對方的角度想。這樣的話，免對身陷意識形態很深，而偏離話題主旨開始無端謾罵的人，這個時候變成這一方在憐憫對方。\n可是自己不需要辯護嗎？發言參雜任何情緒就是構成不嚴謹討論，謙卑的姿態有，辯護自己的觀點便要基於事實，同樣對對方的論點感到不悅，訴諸道德倫理判斷只會沒完沒了。因此對整個討論有全局的認識，能避免落入瞎罵的陷阱。\n如果遇到純粹挑釁來亂的應付不來的就隨他們說吧。只是當大氛圍環境下若大部分人跟著房間的大象說謊，站出來發聲便是有必要。儘管搧動性、偏離事實的話語可以掀起輿論支持，不過如果說的是實在話是不會愧對自己的良心的。注意有搧動性的話語也會被認為是實作在話，不過誠實的內容比帶風向要好。\n常見的情況是討論不只是要互相穿對方的鞋，對方還會要求你穿很多人的鞋，並說你有沒有考慮到其他圈圈叉叉的問題、好比說圈圈叉叉等。但說來冷血，基於事實真的東西是真的就是真的，學會於情緒話語辨認出事實並加以回擊才是重點，甚至有時候承認自己觀點有錯誤並沒有什麼好可恥的。純粹歪曲事實的，要學著剔去邏輯謬誤，分辨這場討論有無正當持續的價值，還是只是口水戰。\n","title":"討厭人不需要理由嗎？","type":"personal"},{"content":" オープンソースゲームだけが本当の自由を得られる。\n自由ソフトウェア基金会(FSF)はかつて「クローズドソースゲーム」を名指しで批判した：\nMicrosoftはアカウント登録を強制する方式で《Minecraft》プレイヤーを監視している\n《原神》には依存性を生む戦利品箱要素が含まれている\nSonyはソフトウェア更新を使って、プレイヤーがPS3にLinuxシステムをインストールするのを防いだ\n1. FSFのゲーム依存理論 # FSFの理念は自由ソフトウェアを広めることだ。すなわちコードはオープンソースでなければならず、配布・再利用が可能で、修正者も同じくオープンソースにしなければならない。具 体例としては《LibreOffice》、《Minetest》がある。 それに比べ、クローズドソースソフトウェアはプロプライエタリソフトウェアであり、使用者が自分で修正できない。たとえば《Microsoft Office》、《Minecraft》だ。\nゲームもソフトウェアに数えられるため、彼らは使用者がオープンソースゲームを支持することを望み、サイト上でクローズドソースソフトウェアの害を批判している。さらに一連の心理学理論へ拡張した：つまりクローズドソースゲームソフトウェアの「依存性要素」であり、悪意ある機能がプロプライエタリゲームソフトウェアを「悪意あるゲームソフトウェア」に変えるというものだ。\n*クローズドソースソフトウェアの正式名称はプロプライエタリソフトウェアである。以下では理解しやすさのため、なおクローズドソースという語を使う。\nFSFはクローズドソースソフトウェアの論点から出発し、そこから依存、個人プライバシーなどさまざまな問題を導き出す。このため「ゲーム内のマルウェア」リストも作っている： Malware in Games - GNU Project - Free Software Foundation\nFSFは、クローズドソースゲームには以下の依存性の性質があると考えている：「ギャンブル要素」、「仮想ソーシャル」。\nギャンブルの実例としてはガチャ(gacha)、つまりカード抽選があり、戦利品箱(loot box)と同じく、人を過度な消費へ引きつける要素だ。さらに「加速アイテム」はプレイヤーが目標を素早く達成するのを助けるが、実際には収益を増やさない。さらにひどい場合、ゲームによっては「装備掘り」の単調な作業を金で解決できる。また国戦系のゲームは最初は簡単だが、その後成長曲線が鈍化し、プレイヤーは他人についていくため装備へ投資し続けなければならず、あまりログインしないと自分の物が敵に根こそぎ略奪されることもある。\n仮想ソーシャルは、プレイヤーの日常生活とゲームを結びつけ、プレイヤーの固定的な習慣パターンにする。ゲーム中のランダム報酬要素、さらに友人から送られる「いいね」や招待などが、ゲームを人に依存させる。こうしたゲームは毎日ユーザーに通知を送り、人の注意を引きつける。スマホ依存の原理と似ている。\n以上の要素はいずれも開発会社がプレイヤーを制御(manipulate)しやすくするものだ。これらの依存性要素以外にも、クローズドソースソフトウェアはアンチチートなどを理由に、プログラムで密かにプレイヤーを監視し、プレイヤーの自由を妨げる可能性がある。あるいはDRM、リモート認証などの方式を通じて、プレイヤーが自分で購入したゲームを続けて遊べるかどうかを決めることもある。\nだからFSFは、もしあるゲームが自由ソフトウェアであれば、人々には別の選択肢があり、自分でゲームを修正し、 自分の権利を掌握できると考えている。\n以下は自由ソフトウェアゲームのリストである：https://libregamewiki.org/List_of_games\nいくつかオープンソースゲームを遊んだ後の私個人の意見としては、オープンソースのシングルプレイヤーゲームはそれなりに多様で、一定のコミュニティ規模もあるが、大型オンラインマルチプレイヤーゲームは比較的珍しい。\nもう一点補足する：自由ゲームソフトウェアの中には、コード部分はオープンソースだが、美術素材部分にはCreative Commonsライセンスを使い、それによって原作者の権利を保障しているものもある。\n2. 参考資料 # Proprietary Addictions - GNU Project - Free Software Foundation\n","date":"2022年6月5日","externalUrl":null,"permalink":"/ja-jp/posts/fsf-game-addiction/","section":"Foss-Issues","summary":" オープンソースゲームだけが本当の自由を得られる。\n自由ソフトウェア基金会(FSF)はかつて「クローズドソースゲーム」を名指しで批判した：\nMicrosoftはアカウント登録を強制する方式で《Minecraft》プレイヤーを監視している\n《原神》には依存性を生む戦利品箱要素が含まれている\nSonyはソフトウェア更新を使って、プレイヤーがPS3にLinuxシステムをインストールするのを防いだ\n1. FSFのゲーム依存理論 # FSFの理念は自由ソフトウェアを広めることだ。すなわちコードはオープンソースでなければならず、配布・再利用が可能で、修正者も同じくオープンソースにしなければならない。具 体例としては《LibreOffice》、《Minetest》がある。 それに比べ、クローズドソースソフトウェアはプロプライエタリソフトウェアであり、使用者が自分で修正できない。たとえば《Microsoft Office》、《Minecraft》だ。\nゲームもソフトウェアに数えられるため、彼らは使用者がオープンソースゲームを支持することを望み、サイト上でクローズドソースソフトウェアの害を批判している。さらに一連の心理学理論へ拡張した：つまりクローズドソースゲームソフトウェアの「依存性要素」であり、悪意ある機能がプロプライエタリゲームソフトウェアを「悪意あるゲームソフトウェア」に変えるというものだ。\n","title":"自由ソフトウェア基金会がゲーム課金と依存性を語る","type":"foss-issues"},{"content":"起初，朋友們創造天地。\n","date":"2022年6月5日","externalUrl":null,"permalink":"/posts/hello-world/","section":"所有文章","summary":"起初，朋友們創造天地。\n","title":"Hello World","type":"posts"},{"content":"在寫篇總結大學生活的文章前，說那種遇到疫情的荒涼感覺，沒想到畢業竟也是這樣的形式度過。\n到學校雖然是被動社交，但總有實體碰面的感覺。現在自從期中後也是遠距到期末，實屬悲哀。畢業典禮和謝師宴都沒了，即使我本來就不想參加，但此儀式消失仍是很可惜。幸好畢業照早就拍完了，若要跟老師道別，要私下約時間了吧。\n即使跟老師可以線上見面，但感覺這樣真的會悶壞，定時回家也稱得上是在緩和這種情緒吧，對比租屋處的荒涼感。\n這樣下去便是逐步和現實脫節，變成要沉溺網路世界或虛擬作品去了。然而吸收浪人思想的我會提醒自己麻了，因此我想用沈迷某個東西，不管是戲劇還Galgame遊戲，來逃避現實 ，浪人的思維總會避免我進入無限沈淪，卻也阻擋人擁有實感的情緒。\n與其沉溺，不如找能產生心流的事情，譬如寫作和拍影片。但之後若激情退卻，又無人見我、回復我的成品，恐怕只有更大的焦慮感。我想這是參與的專案不夠遠大吧，如果專注開發大型程式專案，或許可以延續更久熱情，但我真不知道能做什麼。看來我整天批評別人注意力膚淺短暫，自己也變成愛做能吸引注意、又能輕鬆完成的事業了吧。\n大概只有對音樂是沒有批判心態，欣賞的不論是蒸氣波還是氛圍音樂，實則可以帶人到另一個地方，而不會有批評的思維介入。\n幾經思考後，因未來升學緣故，除讀書外，應該還是要做點有實感的事情，找個真正的副業等。\n現在最後的學期結束前，最有實感的事情應該是線上英語輔導了。雖然對面是注意力不集中的死小孩，不過設計教材和上課內容的遊戲，是我能做到的事情。\n我以為開源社群的是偏向公益性質的思想，所以我覺得發掘軟體以外、繼承開源精神的人事物並在中文圈推廣也是一個事業吧。除線上撰文分享外，參與翻譯也是個好方法。不過我不甘於此，現實生活應該也能推動，如辦公軟體推動改用自由軟體，哪怕能多讓一個人體悟。。。教育用的資源，KDE社群亦有開發。推行此類精神，從線上到線下，是獲得實感的方式。\n所以要打破荒涼感，接下來暑假應該要找個社交以及能線下接觸的聚會，哪怕是上課，避免內心空洞腐朽。\n","date":"2022年6月2日","externalUrl":null,"permalink":"/posts/graduate-sad/","section":"Personals","summary":"在寫篇總結大學生活的文章前，說那種遇到疫情的荒涼感覺，沒想到畢業竟也是這樣的形式度過。\n到學校雖然是被動社交，但總有實體碰面的感覺。現在自從期中後也是遠距到期末，實屬悲哀。畢業典禮和謝師宴都沒了，即使我本來就不想參加，但此儀式消失仍是很可惜。幸好畢業照早就拍完了，若要跟老師道別，要私下約時間了吧。\n即使跟老師可以線上見面，但感覺這樣真的會悶壞，定時回家也稱得上是在緩和這種情緒吧，對比租屋處的荒涼感。\n這樣下去便是逐步和現實脫節，變成要沉溺網路世界或虛擬作品去了。然而吸收浪人思想的我會提醒自己麻了，因此我想用沈迷某個東西，不管是戲劇還Galgame遊戲，來逃避現實 ，浪人的思維總會避免我進入無限沈淪，卻也阻擋人擁有實感的情緒。\n與其沉溺，不如找能產生心流的事情，譬如寫作和拍影片。但之後若激情退卻，又無人見我、回復我的成品，恐怕只有更大的焦慮感。我想這是參與的專案不夠遠大吧，如果專注開發大型程式專案，或許可以延續更久熱情，但我真不知道能做什麼。看來我整天批評別人注意力膚淺短暫，自己也變成愛做能吸引注意、又能輕鬆完成的事業了吧。\n大概只有對音樂是沒有批判心態，欣賞的不論是蒸氣波還是氛圍音樂，實則可以帶人到另一個地方，而不會有批評的思維介入。\n","title":" 戲就這麼散了，畢業遇到疫情的荒涼感 ","type":"personal"},{"content":"初稿發表於2022年6月1日，r/CTLV被封當天。2023年10月4日修訂\n2022年6月1日，正是中國兒童節開始，Reddit反中討論板「查理TV」 (r/CLTV) 被封了，被抓到是在復刻沖浪系sub。 1. r/CLTV的成立 # r/CLTV存在時間：2021年5月 - 2022年6月\nr/CLTV是分裂自r/chonglangtv的sub，由不滿r/chonglangtv Mod的神友所成立，曾跟r/chonglangtv並行存在一段時間。\nsub圖示為從Reddit的小人改來的小獻忠，某種程度上蠻有創意的。 r/CLTV sub背景為「神奈川冲浪里」的紫色變體，延續神友精神：反共反華、屠支、親日親歐親美。 CLTV的查理是越共的意思，偶爾會把板標改成「有XX名越共正在挖地道」。\n2022年3月，r/chonglangTV被封後，出現了大量冲浪系sub。由於r/CLTV人數本來就很多，於是神友都往這邊跑。\nr/CLTV旋即實施白名單制度，加入sub需要Mod同意。\nr/CLTV嚴格禁止開盒和煉銅內容。後來不可避免的連講「支那豬」都會被Reddit站方認為是仇恨言論，因此只好設定機器人自動刪除此類留言，並會留下一句：\n哗哗，红迪超管不喜欢你发的词，你的评论被移除啦。\n很多浪友(迪友？)不知道這規矩，所以常常有一堆[deleted]的留言。\n因此浪友只能使用更隱晦的詞來取代支那豬，例如「紫蠟燭」是比較有趣的新興說法。\nr/CLTV的人也會自稱「迪友」，呼應r/chonglangtv權蛆S蛆封的名號。\n2. 講好中國故事！r/CLTV留下蹤跡 # 2022年4月，Reddit像素大戰開打，CTLV帶頭與豆瓣鵝組、香港人sub在畫板上畫上了反共圖像。\n神友出息了！在網路上留下自己曾經存在的證明。 除此之外，r/CLTV人士仍持續支持大翻譯運動，揭露中國醜惡。\n3. r/CLTV被封 # 到2022年5月時，CLTV人數大概是以前chonglangTV的一半有了(2～3萬)，管制上也開始嚴格，像是不准罵「東北狗」之類的，引起浪友不滿，「底線人」越來越多。\n用神友的話來說：看看你們都引流了什麼貴物，太監、支女、台支、粉紅。開始有政治光譜不同的人左右互搏。\n到後來，板標甚至變成：\nCLTV 5.0: 这里是底线人TV，该滚的是你们吧\n然後就喜提封禁。\nr/CLTV前Mod在Scored講述了被封的真正原因：舉報狗太多了。 4. 冲浪TV新家再次圈我！ # 這是Scored上一張浪人王朝覆滅定律的圖片，看來r/CLTV處於「魔怔期」就覆滅了。乾脆回百度貼吧老家重開新家好了。 r/CLTV的Mod曾積極宣傳「Reddit以外的冲浪TV新家」，以Reddit站外網站為主，有Scored、BBS.Market、CharlieBBS、冲浪tv Band群、Telegram、蔥輪TV等等。\n可是後來的歷史證明，神友大部分還是待在Reddit居多。r/CLTV滅亡之後的故事請看權浪TV的覆滅\n另請參閱：還活著的Reddit沖浪TV新家\n","date":"2022年6月1日","externalUrl":null,"permalink":"/posts/the-fall-of-cltv-on-reddit/","section":"Politics","summary":"初稿發表於2022年6月1日，r/CTLV被封當天。2023年10月4日修訂\n2022年6月1日，正是中國兒童節開始，Reddit反中討論板「查理TV」 (r/CLTV) 被封了，被抓到是在復刻沖浪系sub。 1. r/CLTV的成立 # r/CLTV存在時間：2021年5月 - 2022年6月\nr/CLTV是分裂自r/chonglangtv的sub，由不滿r/chonglangtv Mod的神友所成立，曾跟r/chonglangtv並行存在一段時間。\nsub圖示為從Reddit的小人改來的小獻忠，某種程度上蠻有創意的。 r/CLTV sub背景為「神奈川冲浪里」的紫色變體，延續神友精神：反共反華、屠支、親日親歐親美。 CLTV的查理是越共的意思，偶爾會把板標改成「有XX名越共正在挖地道」。\n2022年3月，r/chonglangTV被封後，出現了大量冲浪系sub。由於r/CLTV人數本來就很多，於是神友都往這邊跑。\nr/CLTV旋即實施白名單制度，加入sub需要Mod同意。\nr/CLTV嚴格禁止開盒和煉銅內容。後來不可避免的連講「支那豬」都會被Reddit站方認為是仇恨言論，因此只好設定機器人自動刪除此類留言，並會留下一句：\n","title":"【冲浪TV專題2】迪友新家Reddit查理TV r/CTLV滅亡 ～ 冲浪TV「又」被封了","type":"politic"},{"content":" 1. 介紹 # 這是Juaneitor 22 製作的Minecraft基岩版「怪物大亂鬥」Add-On，讓原本不會互相攻擊的生物互相殘殺，模組新增的生物也有效。\n很高興終於有人用Gametest實現這個點子了，這原本是Java版的模組。\n以前還沒有Gametest時，我只能用icmod來實現。\n而Gametest這個做的更成熟了點，除了能一對一外，還能給怪物分成二隊伍打架。\n用法請看作者影片：\n2. 下載點 # 原文查詢：Mob Battles | Minecraft PE Mods \u0026amp; Addons - MCPEDL\n下載：https://linkvertise.com/195769/download-mob-battles-v2/1\nMinecraft Add-On安裝教學\n","date":"2022年6月1日","externalUrl":null,"permalink":"/posts/minecraft-mob-battles-add-on/","section":"Minecrafts","summary":"1. 介紹 # 這是Juaneitor 22 製作的Minecraft基岩版「怪物大亂鬥」Add-On，讓原本不會互相攻擊的生物互相殘殺，模組新增的生物也有效。\n很高興終於有人用Gametest實現這個點子了，這原本是Java版的模組。\n以前還沒有Gametest時，我只能用icmod來實現。\n而Gametest這個做的更成熟了點，除了能一對一外，還能給怪物分成二隊伍打架。\n用法請看作者影片：\n2. 下載點 # 原文查詢：Mob Battles | Minecraft PE Mods \u0026 Addons - MCPEDL\n下載：https://linkvertise.com/195769/download-mob-battles-v2/1\nMinecraft Add-On安裝教學\n","title":"【模組分享】基岩版的怪物大亂鬥，強制讓怪物互相攻擊 Mob Battles","type":"minecraft"},{"content":"","date":"2022年5月30日","externalUrl":null,"permalink":"/ja-jp/tags/creative-commons/","section":"Tags","summary":"","title":"Creative Commons","type":"tags"},{"content":" 声明：本人は専門の弁護士ではない。正式な法律問題を議論するなら本物の弁護士に相談してほしい。\nCreative Commonsライセンス(Creative Common CC)は、ネット素材共有を規範する一連のライセンス条項であり、創作者が自分の作品を公衆に利用させるとき、守るべき基準を与えるものだ。\n自由ソフトウェア運動はすでに30年発展し、有名な《GNU GPL》ライセンスが登場した。コードをオープンソースにするのは難しくないとして、では自分の「芸術」作品をオープンソースにするのはどうか？アニメ、ゲーム、音楽作品も「オープンソース」にできるのか？\n1. 自由ソフトウェアライセンス条項とCreative Commons # まず、自分の権益を守るライセンス条項を理解する必要がある：自由ソフトウェアのライセンス条項とCreative Commonsの違いだ。\n中華民国著作権法はこう定めている：\n著作権は作品の創作が完成した日から発生する。\n台湾Creative Commons計画はこう説明している：\nこれが「すべての権利を留保」（All Rights Reserved）である。いかなる「合理的使用」以外の利用についても、利用者は事前に著作権者の許諾を得なければならない。\nしたがって、創作者が適切なライセンス条項を自分で選べば、創作者は自主的に条件を設定でき、無意味な著作権紛争を避けられる。\n自由・オープンソースのライセンス条項は、多くの場合ソフトウェアに使われ、共通精神はソースコードの公開である。その中でもGNU GPLは最も厳格だ：\n利用者はプログラムのソースコードを自由に取得、修正、配布でき、修正利用後もソースコードを公開し、互恵の目的を達成しなければならない。\n一方Creative Commonsは、作者が自分の作品を他人に改変・利用させる権利の一部を能動的に声明するものだ。台湾Creative Commons公式サイトは6種類のライセンス条項を提供しており、分かりやすく、共通点は「作者名の表示」である。実施細則はそれぞれの全文規範を参照する。 上図の内容には、たとえば「氏名表示」がある：利用者に著作の複製、配布、送信および改変（商業利用を含む）を許可し、原作者名を明記すればよい。\nまた「氏名表示─非商業─改変禁止」のようなものもある：利用者に著作の複製、配布、送信を許可するが、商業目的で使用してはならず、その著作を改変してもならない。使用時には著作者が指定した方式でその氏名を表示しなければならない。\nさらには「パブリックドメイン提供」もある： CC0は「権利を留保しない」というライセンス選択肢を提供し、権利者が著作権およびデータベース関連法による保護を受けず、法律が創作者へ直接提供する排他的権利も享受しないことを選べるようにする。\nCreative Commonsの声明と表示は、できれば完全に書くのがよい。たとえば：\n姓名標示-非商業性-相同方式分享 3.0 台灣 (CC BY-NC-SA 3.0 TW)\nただし簡略表示されることもある。たとえば：\nCC BY-NC-SA 3.0\nこの場合はCreative Commons公式サイトへのハイパーリンクを付けておけば、分からない人もクリックして詳細な定義を見られる。\nしたがってCreative Commonsは芸術創作に適しており、特に「作品をより広く流通させたい」場合に適している。配布権を授与することは「翻訳作品」が許容可能な選択肢になることも意味し、二次創作を開放するかどうかさえ決められるからだ。ある程度、自由ソフトウェアライセンス条項の変形である。\nとはいえ、Creative Commonsとソフトウェアライセンスは互換させにくい。両者は設計当初から異なる作品形式を対象にしているからだ。ここで比較を出すのは、下でソフトウェアと芸術創作が混合する形態、つまりゲームに触れるからである。\n2. Creative Commonsの芸術作品例 # 芸術作品について言えば、Creative Commonsの最良の例は音楽だ。たとえばYoutube上の無料曲庫では、他人が自分の作品をBGMとして使い、知名度を上げられる。それ以外にも、多くの写真、動画、小説、書籍がCreative Commonsライセンスを使っており、人々が素材として簡単に採用できる。GoogleはCreative Commonsを採用した画像をフィルタリングすることさえできる。\nアニメ・漫画については、広義のアニメーションで言うなら、世界各国のアニメは非常に多い。たとえばBlender基金会が出したアニメBig Buck Bunnyは創用 CC 姓名標示授權 (允許再利用)である。そのため多くのオープンソース動画プレイヤーがこのアニメをデモ動画として使っている。 一方、絵画や漫画作品はかなり珍しい。絵画作品では通常、あるマスコットがCreative Commonsを使うことが比較的多い。たとえばKDEデスクトップのマスコットKonqiは、CC BY-SAとLGPLのデュアルライセンスを採用している。 漫画については、漫画は単に一人のキャラクターを設計するだけではなく、完全なストーリーと世界観を創作しなければならず、アニメ化さえ可能で、本当に容易ではない。現在、時効によってパブリックドメイン入りしたものではなく、最初からCCライセンスを採用した漫画作品としては《小辣椒與蘿蔔頭 Pepper \u0026amp; Carrot》があり、作者はCC BY 4.0ライセンスでリリースし、ネットコミュニティが翻訳に参加できるようにしている。 その派生アニメーションはCC-BY-SA 4.0ライセンスでリリースされている。 ゲームは二つの部分に分けられる。コードには自由ソフトウェアライセンス条項が適用されるかもしれず、ゲーム美術素材にはCreative Commonsライセンスが使われる。たとえば《0.A.D》のゲームエンジンはGPLライセンス、美術素材はCC-BY-SAである。 無料ゲーム素材サイト「OpenGameArt」上の作品は、すべてCreative Commonsでリリースされている。 またGalGame《片輪少女》の素材ライセンスは姓名標示-非商業性-禁止改作である。しかし《片輪少女》はソースコードを公開していない。「無料」ゲームは自由ソフトウェアであることを意味しない点に注意してほしい。ソフトウェアを任意に取得・配布できるとしても、ソースコードを公開しないゲームはなお不自由ソフトウェアであり、Creative Commonsにも作者へ「必ずソースコードを公開せよ」と要求する権限はない。 3. Creative Commonsの作品は同人二次創作を許可するのか # Creative Commonsには共有の性質がある？なら私は勝手に使って同人二次創作を作ってもいいのか？\n同人、または二次創作 (Derivative Work)は、著作権を持つ原作の規範を受ける。このときは作者がどのCCライセンスを選んだかを見る必要がある。\nもし「改変禁止」を含むライセンス条項を選んでいれば、当然それを基礎に同人作品を創作することはできない。\nそれに比べ、「改変禁止」がなければ、当然任意に利用できる。原作者が商人による自作品の濫用を避けたいなら、「商業化禁止」を加えるのがよりよい選択だ。\n法律を守る国では、明確かつ適切なライセンス条項を選ぶことで、あなたと私の作品の権利を有効に保障し、曖昧なライセンス問題を避けられる。\n4. Creative Commonsを採用した作品は営利できるのか # ここで一つの概念を理解する必要がある：Creative Commonsは作者が営利できないことを意味しない。作者は同じようにPatreonを開いたり、書籍として出版したりできる。同様に、条項の中で商業利用を制限していなければ、その作品を商業化しても問題はない。\n《小辣椒與蘿蔔頭》の作者は、独占作品を得るために金を払うべきではなく、Patreonはその事業を支援するためのものに過ぎないと考えている。\n《小辣椒與蘿蔔頭》はネット上で全コピーを無料取得できるが、それでも各国の出版社が紙の実体書として出版している。\n5. 誰かがCreative Commonsライセンスに違反した場合 # Creative Commonsライセンスは一般に永久であり、創作者にも一方的に変更し、過去へ遡及させる権限はない。一部のCCライセンスは、再配布時により厳格な条項を制限として加えてはならないと規定している。\nでは創作者の規範に違反する状況に遭遇したらどうなるのか。台湾Creative Commons計画の説明によれば：\n利用者があなたのライセンス条項の要求に違反した場合、このライセンス条項およびそれが授与する権利は自動的に終了する。このライセンス条件に従わない利用者については、この著作はすべての権利を留保した著作権状態へ戻る。つまり、現行著作権法における侵害状態の法的手続きへ戻って処理されるということだ。\nCreative Commonsは時に一種の道徳規範と見なせる。利益だけを追う人が作者の定めた規則に違反した場合、作者は依然として著作権申立てを行う権利を持つ。ただしCreative Commonsは著作権保護の責任を負わない：\nCreative Commons は法理上、あなたまたはその他の当事者に対していかなる損害賠償責任も負わない。\n6. まとめ # 自由ソフトウェア運動と同じように、Creative Commonsは人々に参加を強制すべきではない。しかしCreative Commonsも同じく公益を促進する方法であり、人々は規則の中で創作を自由に利用でき、共有と原点を忘れない理念を持つ。\n参考資料 # 許可證- GNU 工程- 自由軟體基金會(FSF) 台灣創用CC計畫| Creative Commons Taiwan Frequently Asked Questions - Creative Commons 初稿：2022年5月30日。\n","date":"2022年5月30日","externalUrl":null,"permalink":"/ja-jp/posts/creative-cc-artworks/","section":"Foss-Issues","summary":" 声明：本人は専門の弁護士ではない。正式な法律問題を議論するなら本物の弁護士に相談してほしい。\nCreative Commonsライセンス(Creative Common CC)は、ネット素材共有を規範する一連のライセンス条項であり、創作者が自分の作品を公衆に利用させるとき、守るべき基準を与えるものだ。\n自由ソフトウェア運動はすでに30年発展し、有名な《GNU GPL》ライセンスが登場した。コードをオープンソースにするのは難しくないとして、では自分の「芸術」作品をオープンソースにするのはどうか？アニメ、ゲーム、音楽作品も「オープンソース」にできるのか？\n1. 自由ソフトウェアライセンス条項とCreative Commons # まず、自分の権益を守るライセンス条項を理解する必要がある：自由ソフトウェアのライセンス条項とCreative Commonsの違いだ。\n中華民国著作権法はこう定めている：\n著作権は作品の創作が完成した日から発生する。\n台湾Creative Commons計画はこう説明している：\nこれが「すべての権利を留保」（All Rights Reserved）である。いかなる「合理的使用」以外の利用についても、利用者は事前に著作権者の許諾を得なければならない。\n","title":"アニメ・漫画作品は「オープンソース」にできるのか？《Creative Commonsライセンス》を芸術創作へ適用した実例を語る","type":"foss-issues"},{"content":"初稿：2022年5月29日。原始標題：Meme是否會增強刻板印象\n有人說看網路梗圖(meme)不必太認真，不過從中能窺見，刻板印象(stereotype)雖然好笑，也反應很多人仍會被固定某個觀點吸引，進而把歧視他人的敘述當作笑點，有時候又顯的雙標。\n更進一步說，表達意見都喜歡用一張梗圖帶過，是不是在讓自己的思維更淺薄？好比我這篇文章亦是如此？\n危險現象 # 第一個，性別偏見。舉例來說，男生、女生怎麼樣是很常見的題材，這就是一種刻板印象。男生會被描述為又潮又酷，專門做出偉大事業；女生會描述為感性動物，做些小打小鬧的事情。 在性別平等的時代，真有必要讓自我認同被這種框架限制住嗎？這樣要被說SJW惹，不過當人們拒絕做出改變，甚或改變成見時，有這種反應是正常的。\n簡言之，不理性的爭取權益只會導致另外一種的天平傾斜。那麼男女刻板印象，從來如此，便對麼？ 難道是男女的刻板印象要上下反過來麼？不如試試這種想法： 第二個，非我族類的歧視。所謂地獄梗，是更嚴重的歧視，例如說客家人小氣、黑人偷東西、中國人均小粉紅、塔綠班沒腦袋等等。\n地獄梗的危險處在於使用者會被自己的雙標反噬，即使外國的事情離自己很遠可以笑一笑，但若輪到自己「我真的有一頭牛」時，這下就不好玩了，「鐘鉉韓國烤肉」、「德意的一天大家」叫好，「鄭南熔玩火」馬上一堆人破防；又或是，自己看抹黑塔綠班梗圖很爽，一看到罵檳榔柯韓粉的又跳腳。 看來講地獄梗也要見鬼說鬼話。能無下限的玩地獄梗的，除了敢燒自己老爸的程建評實在很少人能做到，因為大部分人都有底線，不論是基於事實、還是個人偏見，雙標的情況多的是。\n不如設計一個測試，能看完各面向的地獄梗，甚至是指向自己，又不「破防」的姑且能稱為聖人了吧。\nMeme除了會帶入刻板印象，還會簡化議題的複雜性。如果說拿xx球代表各國，很多時候是在宣傳特定符號的化身。每個國家有其文化，不過通過玩meme的方式，會加強各種成見，像看到日本就大喊banzai這樣\u0026hellip;這種情況跟娛樂向的漫畫圖解歷史一樣，會毀壞人們認知。\n修正道路 # 在表達意見的時候，學習用文字與道理說服，停止使用丟一張梗圖的方式來渲染情緒。\n因此最好是有這個意識：宣揚一個議題，究竟是在講實話，還是用meme誇大渲染以博取認同而已？到頭來發現自以為的正義，其實也是偏見而非事實？真正的中立公平不可能存在，可是說話要本，這個是不愧對於良心的基本原則。\n實際上沒去過該國家、沒有親身經歷、沒跟人們深入交流過，僅靠流言蜚語和顯而易見的不理性煽動言語，就對該國家抱有幻想，這是沒有\u0026quot;touch grass\u0026quot;的人會產生的問題 (touch grass其實也是侮辱性用語)。直覺感性並不可靠，而這個有色眼鏡卻是難以摘下。\n說實在的，如果是用meme敘述既定事實還算可以，但敘述一個國籍、民族、政治傾向就要避免落入宣傳刻板印象，因為簡化的圖文敘述缺少脈絡，使得發文者還要寫長篇的文章解釋meme背後的含意，但很多時候是連解釋都沒有的。那讀者要做的事情，便是謹慎辨別的真實脈絡。瞎玩梗固然可以快速融入朋友圈，可是這樣是對「事實」的不負責任態度。\n並無否定meme的正面效果，這麼嚴格的標準是做張梗圖都要思想審查囉？當然不是，人不會一直將腦袋掛在線上吧，很多人都愛放空。有人連不上網的時候就常讓感性超越理性了。\n不過呢在宣傳與製作梗圖時，最好反思自己是否在宣傳錯誤思想，還是想用玩笑來在嚴謹議題博取流量，用meme當作不理性發言的代言？可能製造同溫層比傳播真理還要重要吧，不過真理用科學的精神來說，承認自己錯誤有其必要，亦無好羞恥的，\u0026ldquo;Whataboutism\u0026quot;僅是在迴避問題。\n所謂消弭歧視與提倡正義，非單純換一個「名字」而不改威權本質，變成「壓迫」性質的政治正確。政治正確不該用激進式的作法，若假定該理念方向為真的情況下，那可以稱為激進派的人為道德上限，不過一般人硬塞給它是不會接受的。與其讓自詡進步的人走向與一般人對立的極端面，居精英主義的高位而不知謙卑為何物，不如多溝通點交流想法，避免單純意氣之爭與貼標籤，導致真正要解決的議題被忽略。\n那麼Meme真會增強刻板印象嗎？如果越來越多人沒這種自覺，且不看時間場合的使用的話，確實是會無形中增長的。\n若以較能為多數人接受的說法，自嘲的玩笑是比較無爭議的，不過若以為某種說法好玩，便跟著群起製作梗圖，去無視對方意見嘲弄對方，就容易構成歧視。這樣造成的效果是用沒有同理心的梗圖、惡質玩笑(並且是自己人覺得好笑)的來模糊事情的討論焦點。\n但是沒有必要當正義大將軍到處指指點點，如果沒有討論，一口咬定貼標籤對方如何如何，製造對立仍比不上溝通來的重要。\n就算講不聽、在確認觀點尊重對方的同時，也是不愧對我心。\n","date":"2022年5月29日","externalUrl":null,"permalink":"/posts/2022052901/","section":"Politics","summary":"初稿：2022年5月29日。原始標題：Meme是否會增強刻板印象\n有人說看網路梗圖(meme)不必太認真，不過從中能窺見，刻板印象(stereotype)雖然好笑，也反應很多人仍會被固定某個觀點吸引，進而把歧視他人的敘述當作笑點，有時候又顯的雙標。\n更進一步說，表達意見都喜歡用一張梗圖帶過，是不是在讓自己的思維更淺薄？好比我這篇文章亦是如此？\n危險現象 # 第一個，性別偏見。舉例來說，男生、女生怎麼樣是很常見的題材，這就是一種刻板印象。男生會被描述為又潮又酷，專門做出偉大事業；女生會描述為感性動物，做些小打小鬧的事情。 在性別平等的時代，真有必要讓自我認同被這種框架限制住嗎？這樣要被說SJW惹，不過當人們拒絕做出改變，甚或改變成見時，有這種反應是正常的。\n簡言之，不理性的爭取權益只會導致另外一種的天平傾斜。那麼男女刻板印象，從來如此，便對麼？ 難道是男女的刻板印象要上下反過來麼？不如試試這種想法： 第二個，非我族類的歧視。所謂地獄梗，是更嚴重的歧視，例如說客家人小氣、黑人偷東西、中國人均小粉紅、塔綠班沒腦袋等等。\n地獄梗的危險處在於使用者會被自己的雙標反噬，即使外國的事情離自己很遠可以笑一笑，但若輪到自己「我真的有一頭牛」時，這下就不好玩了，「鐘鉉韓國烤肉」、「德意的一天大家」叫好，「鄭南熔玩火」馬上一堆人破防；又或是，自己看抹黑塔綠班梗圖很爽，一看到罵檳榔柯韓粉的又跳腳。 ","title":"網路發文都用梗圖，是否會增強刻板印象，讓訊息交流更淺薄？","type":"politic"},{"content":"Blockbench的\u0026quot;Animated Java\u0026ldquo;插件是由SnaveSutit和FetchBot1製作，可將基岩版的模型轉換成Java版模型(其實是盔甲架)，不需要安裝模組，只需要用到遊戲內建的資料包和資源包就能偽裝成實體，再用指令來控制動畫。\n請看推特用戶Ersatz的示例：\nBeen working on a program that converts Source engine animations into Bedrock entity animations.\nTo play those animations in Java, I generate a datapack using a WIP Blockbench plugin called Animated Java by @SnaveSutit and @FetchBot1 pic.twitter.com/As6NJKTqy1\n\u0026mdash; Ersatz 🌐 (@Ersatz_77) February 24, 2021 此插件適用於地圖創作者製作一些簡單的NPC。如果要使用現有的基岩版模型，cube不能有太奇怪的旋轉角度，且實體不能太大。 這篇文章將實作一次，將基岩版「島風」模型轉換成盔甲架，並播放動畫。Minecraft Java版本為1.18.2。\n1. Blockbench使用教學 # 請先閱讀：\nBlockbench入門教學 Add-On 新增基本實體 Add-On 製作實體動畫 2. 準備Java版的資源包 # 這一步驟要準備等會給Blockbench模型輸出的目錄。\nJava版的資源包是安裝到.minecraft/resourcepacks目錄，資料包則是安裝到個別世界目錄底下的datapacks目錄。\n在.minecraft/resourcepacks新增一個目錄，叫做java_resource\n新增pack.meta，填入以下內容\n{ \u0026#34;pack\u0026#34;: { \u0026#34;pack_format\u0026#34;: 8, \u0026#34;description\u0026#34;: \u0026#34;by Ivon852\u0026#34; } } 按照下圖結構，新增這些目錄： └── java_resource ├── assets │ ├── minecraft │ │ └── models │ │ └── item │ └── myentity │ ├── models │ │ └── myentity │ └── textures │ └── entity │ └── pack.mcmeta 再於世界的目錄底下的datapacks新增一個java_datapack的目錄。\n如此就準備好一個空的資源包，用於存放輸出的基岩版模型了。\n3. 轉換現有的基岩版模型 # 本文的島風模型為方便示範取名myentity，取自KanColle Add-On。\n此插件目前只支援英文，因此操作時Blockbench語言也要設成英文(檔案→偏好設定→設定→語言)。\n開啟Blockbench，點選File → Plugin，安裝Animated Java插件。\n開啟基岩版模型，點選File → Convert，轉換成Animated Java格式。 轉換後會自動將不正確旋轉的cube校正，所以有些模型會亂掉。\n此外要注意模型不要大於Blockbench地板的九宮格，否則放到Java版會無法載入。可按Ctrl + A全選cube，Edit → Scale全體縮小。\n切換到Animate頁面，點選Animation → Import Animations匯入動畫檔案。接著確認動畫時長至少都有0.05秒，然後按二下左邊的動畫名字，確認Snapping的數值小於等於20。 點選Blockbench畫面上方的Animated Java按鈕，按Settings。 Project Name填入\u0026quot;myentity\u0026rdquo;，Exporter設定Animation Exporter 往下滑動，Rig Item使用預設的白色染料，Rig Models Export Folder是要選擇存放模型的目錄，選擇上一節準備的java_resource資源包目錄下的/assets/myentity/models/myentity/ Rig Item Predicate Model是存放物品模型的目錄，選擇java_resource/assets/minecraft/model/items 點開Animation Exporter，最下面Export Mode選擇Vanilla，接著Data Pack路徑設定為要安裝的世界底下的目錄，例如.minecraft/saves/New World/datapacks/java_datapack 按右上角Edit回到編輯頁面，點選左下角的TEXTURES，右鍵點選Save As，將紋理儲存到java_resource**/assets/myentity/textures/entity 點選上方Animated Java選單的Export輸出，輸出完成會顯示Export Successful的訊息。 輸出完成之後建議按File → Save Project將專案存檔。\n4. Animated Java指令使用方式 # 啟用資源包，進入世界後，輸入/function myentity:install，安裝指令。\n使用/function myentity:summon/defualt召喚盔甲架，/function myentity:remove_all移除盔甲架。 要播放動畫，可自行打指令看提示。例如我要播放move這個動畫，使用/execute指令：\n/execute as @e[tag=aj.myentity.root] run function myentity:animations 其餘指令和輸出模型的細節請參考下面MCBBS的文章。\n參考資料 # 【Blockbench】插件Animated Java简介- 匠人酒馆 - MCBBS\nAnimated Java - Github\n","date":"2022年5月22日","externalUrl":null,"permalink":"/posts/animated-java-minecraft/","section":"Minecrafts","summary":"Blockbench的\"Animated Java“插件是由SnaveSutit和FetchBot1製作，可將基岩版的模型轉換成Java版模型(其實是盔甲架)，不需要安裝模組，只需要用到遊戲內建的資料包和資源包就能偽裝成實體，再用指令來控制動畫。\n請看推特用戶Ersatz的示例：\nBeen working on a program that converts Source engine animations into Bedrock entity animations.\nTo play those animations in Java, I generate a datapack using a WIP Blockbench plugin called Animated Java by @SnaveSutit and @FetchBot1 pic.twitter.com/As6NJKTqy1\n— Ersatz 🌐 (@Ersatz_77) February 24, 2021 此插件適用於地圖創作者製作一些簡單的NPC。如果要使用現有的基岩版模型，cube不能有太奇怪的旋轉角度，且實體不能太大。 這篇文章將實作一次，將基岩版「島風」模型轉換成盔甲架，並播放動畫。Minecraft Java版本為1.18.2。\n1. Blockbench使用教學 # 請先閱讀：\nBlockbench入門教學 Add-On 新增基本實體 Add-On 製作實體動畫 2. 準備Java版的資源包 # 這一步驟要準備等會給Blockbench模型輸出的目錄。\nJava版的資源包是安裝到.minecraft/resourcepacks目錄，資料包則是安裝到個別世界目錄底下的datapacks目錄。\n在.minecraft/resourcepacks新增一個目錄，叫做java_resource\n","title":"Animated Java：將Minecraft基岩版模型動畫轉成Java版的資料包+資源包","type":"minecraft"},{"content":"","date":"2022年5月22日","externalUrl":null,"permalink":"/tags/minecraft-data-pack/","section":"標籤","summary":"","title":"Minecraft Data Pack","type":"tags"},{"content":"初稿：2022年5月\n這篇文章是考試題目要寫的心得，我把它紀錄在此。\n閱讀底下短文後提出心得感想：\n科學的特性是「客觀可驗證」，法學不能如此，所以，法學不是科學。科學研究必須交代方法，依照這個方法，研究結論應該一致。法學固然有方法，但依照一樣的方法，研究者無法得出一致的結論。正因為法學研究沒有客觀可驗證的答案，所以必須更加的小心謹慎，不能只是依賴權威，依賴通說，而應該「質疑並持續探求」。這一點，法學又與科學的精神相通。以上轉引自林東茂，「法學不是科學」，中央警察大學犯罪防治學系專題演講，100年10月24日，參見中央警察大學犯罪防治學系網頁：http://cp.cpu.edu.tw/files/14-1083-16948,r277-1.php\n難得會有正確的認識學科差異的說法。說法律不是科學，這點具體來說是指「沒有客觀可驗證的答案」。更形象說法是法律的變數太多了，無法精確描述的東西就不能符合自然科學的規矩，這樣講並無問題。爭科學的名分，會污染自然科學的意義，如果學說是沒有可證偽性的，那就不該稱為科學。惟新新人類以為名字掛上科學才有研究意義，實屬無必要。如果一個學科只是借用一點科學原理，但背後是黑盒子的組成，具有某種不可知論，不可懷疑和質疑的，那麼就不該稱為自然科學，例如星座、占卜。\n若論研究人文的學科，哲學與法學相似。但哲學本身也有很多學派，主張分析一切可以說明的邏輯學派，和研究形上學的。法學則會在判決上遇到牽扯人性倫理的問題，因此單純依靠邏輯來推演結果，就會發生邏輯說的通，但不符合道理，不值得去做的情況。\n哲學和法學與科學共通之處在於，研究者不應該停止追求和質疑學說，勇於擺脫成見去互相交流意見，不屈從於權威或定說，由此可見二者都有這重要的精神。凡是這樣促進人們頭腦思考的學科，怎麼會沒有研究價值呢。\n但是對作者的不可知論說法我還是不能認同，最多只能接受當成補充說法，而不應該盲目敬畏。那種學說壓根就沒要讓人解釋清楚。更糟糕的是會有人以此成為權威而自滿，這可比泛科學的學科要令人感到危險了。因為虛幻成份佔居多，造成挑戰說法難以出頭或被打壓。所以不能接受檢驗反省的道理，是不應該作為最終真理奉行和遵守的。\n套用到自己身上，卻是顯的雙標了。像是不相信所有宗教的說法，認為是無端的信念。但是本身也有的信念，即認為所有軟體應該要自由的(Free Software) 這種病態理想的堅持，在這個被專有軟體統治的現實世界無疑是癡人說夢，連作業都不能交docx以外的格式了。\n擁有信念的人會嘗試發聲說服人家，於是造成衝突，以至於自我懷疑。甚至很多時候信念不可用邏輯和事實來說明，因為信念會成為高於一切客觀事實的抽象教條，這就會造成無窮迴圈。\n但是透過學習一些溝通和心理學技巧，我們會知道不同信念間若還有對話可能，那麼就不會是完全不可救藥的歪理。即使爭辯之後仍改變不了根本信念，至少可以更了解對方想法，也就是常說的破冰。由此可知，不受制於固定說法，受制於權威，受制於主流，才能夠達到進步。同樣重要的是在交流時破除無謂的高傲，轉而傾聽別人的說法。\n最後，有說出想法總是比沒說好的。如果一個人連自己的信念都不能嘗試捍衛、奉行，那他的生命還會有什麼更高的價值呢，不論是對他人，還是對自己來說。\n","date":"2022年5月21日","externalUrl":null,"permalink":"/posts/2022052101/","section":"Personals","summary":"初稿：2022年5月\n這篇文章是考試題目要寫的心得，我把它紀錄在此。\n閱讀底下短文後提出心得感想：\n科學的特性是「客觀可驗證」，法學不能如此，所以，法學不是科學。科學研究必須交代方法，依照這個方法，研究結論應該一致。法學固然有方法，但依照一樣的方法，研究者無法得出一致的結論。正因為法學研究沒有客觀可驗證的答案，所以必須更加的小心謹慎，不能只是依賴權威，依賴通說，而應該「質疑並持續探求」。這一點，法學又與科學的精神相通。以上轉引自林東茂，「法學不是科學」，中央警察大學犯罪防治學系專題演講，100年10月24日，參見中央警察大學犯罪防治學系網頁：http://cp.cpu.edu.tw/files/14-1083-16948,r277-1.php\n難得會有正確的認識學科差異的說法。說法律不是科學，這點具體來說是指「沒有客觀可驗證的答案」。更形象說法是法律的變數太多了，無法精確描述的東西就不能符合自然科學的規矩，這樣講並無問題。爭科學的名分，會污染自然科學的意義，如果學說是沒有可證偽性的，那就不該稱為科學。惟新新人類以為名字掛上科學才有研究意義，實屬無必要。如果一個學科只是借用一點科學原理，但背後是黑盒子的組成，具有某種不可知論，不可懷疑和質疑的，那麼就不該稱為自然科學，例如星座、占卜。\n","title":"法學不是科學，對的","type":"personal"},{"content":"自2018年以來，因為玩艦隊Collection對二戰史產生興趣，遂開始研究相關主題，多撰寫一些歷史文章，獲得巴友回饋，間接了解更多細節，也邂逅了一些因緣。\nhttps://www.pixiv.net/artworks/75737072\n以前有關歷史研究的文章都是發在巴哈姆特個人小屋，2024年之後多半設為隱藏，搬移到部落格來了。 但2021開始做類論文後，深深感覺到以前的文章水準之低落。類論文其實就是專題，題目是文學研究，雖然沒有很嚴謹，但是教授要求我們行文除按照論文格式外，還要有憑有據，適當的在引用學者說法間，加入自己的批判性敘述，卻又不流於偏見和主觀。個人意見不是重點，重點是你研究了什麼出來。因此每週固定被電一次。\n幸好專題快寫完了，回頭看那些「歷史研究」的文章\u0026hellip;是時候來全盤批判一番了。\n首先敘述過去的寫歷史文章的過程，再來要檢討為何那些文章在現在看來根本不算研究，只是東拼西湊的拙作罷了。\n1. 起源於一架轟炸機 # 2015年開始玩艦隊收藏，2018年開始玩戰爭雷霆。如此下來對飛機產生了極大的興趣，不論是戰鬥機還是轟炸機，甚至民航機，那些飛機的歷史我都想研究。有人說他的性別認同是武裝直升機，那麼我愛上的就是飛機了吧。\n2018年，大一第一堂通識課就是史學通論，介紹研究歷史的方法等。此時開始構思介紹四式重爆的文章，此轟炸機在戰爭雷霆裡面性能很差，網路資料也很少。沒想到教授有空願意幫我看，雖然他是專門研究明朝歷史的。\n初稿的字數大約1000字而已，後來給了修改建議。他後來還開書單出來，叫我去看鎗砲、病菌與鋼鐵這種全盤理解歷史的書籍。很感謝他教了這樣的遠見給我。\n四式重爆的文章撰寫了上下學期，期間學會網路上找盜版電子書(不良示範)，得知有《世界の傑作機》、《丸メカニック》、《航空ファン》、Osprey出版社的二戰飛機專門圖書，裡面有鉅細靡遺的引擎結構圖，還有設計師訪問。除了網路上找，在台南的實體書店名還找到位於成大會館對面，在地下室的書店，那邊同樣有世界的航空機這類的舊書，只不過其他舊書攤當白菜價賣的，老闆娘卻很是重視50年前的書，並要賣我900元，還真的買了一本。後來還被邀請去聽台獨聚會，全程只有我不會講台語壓力好大。\n於是文章篇幅大幅增加，因為直接把找到的圖書資料用破日文翻譯過後貼到文章裡面，有點流水帳。資料找著找著也開始學會做模型，但那是另一個話題了。\n成果即爲：日本陸軍最後的轟炸機: 三菱Ki-67 四式重爆「飛龍」\n2019年，此時我自豪不會像巴友Nacht-Eule寫的文章(Google冷門飛機很常找到他的文章)那樣，配個模型圖，寫不明所以的浪漫文字，又不附參考資料，文章架構破碎像在寫詩。 從此便遵照此模式寫歷史文章。那時還是too naive了，Nacht-Eule那樣寫其實也不壞。 https://www.pixiv.net/artworks/83653339\n2. 究竟在翻譯還是撰文？ # 本段開始前，再敘述一段緣份吧。網拍找書時，找到高雄鹽埕區的「貓手」書店，原來老闆也熱衷於研究二戰，還專門從日本進口舊書，翻閱之後整理出日軍在臺灣的遺蹟。期間也聊了舊書的八卦，說美國戰後還了一批資料給日本，日本才能出書紀載。從貓手也得到了參考用的書籍，之後便繼續撰寫歷史文章。\n找歷史文章時候，常常看到巴友幽影發表的翻譯文章，我就覺得這人文章能寫這麼長，中間插入的評論結合豐富學經歷，又能接觸各方史學人士，實在厲害。還有另一個巴友華倫斯塔湖畔的灰雲，寫的文章完整的介紹各個歷史事件，並有自己的觀點。\n後來，我就發表了幾篇沒有整理資料，純粹照翻的文章：陸軍飛行54戰隊誤擊海軍九六陸攻和美軍夜戰雷達及夜戰航母發展史\n這樣翻譯文章，並作簡單講評，也是獲得不錯迴響，甚至被收入精華。於是我的撰文模式又有一個新選擇：找篇沒人看過的冷門主題，翻譯文章，再根據哈啦版的不同插入動漫neta，GP賺滿滿，畢竟又不是沒有在文末附上參考來源！\n當時沒想這麼多，就是埋頭寫，且我以爲有附上參考資料就是比別人優越之處，看那滿滿書單，你不能質疑我了吧。\nhttps://twitter.com/Koma_7B7B/status/1490570729112616960\n3. 這種文章頂多算是Informative！ # 2020年，教授教導我們essay的形式，寫文章不夠，還要上臺演講，並接受拷問：報告完後教授不會像其他課程一樣輕易放過，而是針對演說內容的邏輯性進行辯論。對啦，我應該是太M才會找她作專題。\n其中主要出現的文體是Informatvie(資訊性)，另一種是argumentative(辯論性)。\n同學的Argumentative文章很容易寫成Informative，然後教授就會把他趕下臺。畢竟單純讓人知道一個東西很容易，但要加上要或不要的論述，就會顯得很難。\n此外，教授也點出一個問題：\n「你們只會引用網路資料，抄抄抄，複述別人的觀點後馬上進結論，都沒有自己的話語分析！」\n這個說到痛點了。回顧上一章的問題，翻譯文章並分享在哈啦板給歷史愛好者這點我認為沒有不好，尤其中文圈缺乏相關討論的情況下，可以拋磚引玉，然後引發良性循環，得知更多人的背後故事。\n可是一旦習慣這個模式，沒有意識到自己是在抄襲，甚至將別人的觀點變成自己的，又不明確指出來源，對作歷史研究的是不尊重。更可怕的是，融合「翻譯」與「照抄某個部落格上的陳述」。\n例如，於泰國皇家空軍簡介 中，我幾乎是摘抄某篇部落格的大綱架構，再往裡面塞Google到的其他細節進去。\n又如瑞典空軍簡介，將某個瑞典人整理的機徽發展史，直接寫的好像是我整理的一樣。\n最近的一篇文章是二戰西班牙空軍簡介，整篇文章是融合維基百科和WW2Aircraft論壇的貼文而來的。\n接下來想寫的題目是「二戰法國空軍簡介」，陳述其組成，以及開戰後快速投降的原因。\n但是在那之前我就想，這樣下去真的可以嗎？\n引用其他資料是可以，但是閱讀後真的變成我的了嗎？在寫歷史文章的時候，直接東拼西湊，只提供Informative的資訊就夠，這樣就是好文章嗎？\n即使透過看資料多少有了整體性的二戰歷史概念，學到承先啟後的順序。可是介紹給別人的時候，就變得好像在編造故事一樣呢。當時我很討厭霧滿攔江《明朝其实很有趣》、黑貓老師的《歷史就是戰》這種書，後者說日本軍官是慣老闆所以輸掉二戰，根本在鬼扯！但是要是我再以這種態度東抄西抄，遲早會變成那樣說書的。\n除了認真考據的研究方法以外，私以為若能抓住個研究問題並作為發想，應該能避免寫一架飛機結果資料範圍變得太廣的問題，段落間又沒有適當連接詞。更慘的是只研究斷代史，沒有史學根基的外行。\n這樣就連Informative都不是，而是展現故紙堆給讀者看罷了。 https://www.pixiv.net/artworks/75351987\n4. 休筆與轉變 # 休筆太誇張了，又沒有在寫專欄什麼的\u0026hellip;\n逐漸有體悟之後，這種看似長篇大論的歷史文章很少再寫了，一部分原因是我改寫IT技術部落格所致。但是古蹟遊記偶爾還是會寫，在遊記中漫談書本帶給我的歷史知識我認為不用太嚴謹，可是\n寫歷史研究的文章，這樣是不行的，至於別人的寫法怎樣那是他們的事情。\n即使未來是要寫單純研究某架飛機歷史的文章，也應當像是論文那樣敘述，例如：\n「土井武夫融合了各家設計，用類似MC202的機身，Bf109的引擎，設計出三式戰鬥機飛燕。」\n這樣敘述放在文章開頭當簡介也許可以，但是文中這樣，應該修改成：\n「根據XXX資料，盟軍回報三式戰鬥機長的像義大利飛機。另外根據XXX，日本因為\u0026hellip;所以向德國進口Bf109使用的DB601引擎。最後土井武夫設計出了三式戰鬥機。」\n論文APA括弧年份的格式不用執著，可是敘述時要注意有無抄襲之餘，也就是全文都自己的話，卻無指出資料來源。\nOS：「但這樣文章會變得難看呀！網路文章又不是那麼學術的東西。並且若是單純要呈現資料，卻擅自加自己的觀點，還可能被罵呢！」\n為讓讀者閱讀舒適，安排文章段落很重要。要考量讀者程度，適時加入背景知識，才不會有突兀的感覺。\n寫專題讓我知道怎麼安排超長的論述了，起碼有固定的寫法，先探討文獻再來分析是最穩固的模式。\n然後偏向Informative的文章我恐怕不會往那個方向寫了，未來要寫歷史文章，便會試著加入反思與其他觀點的部分，並做一些批判思考，像是尋找雪風/丹陽的艦鐘和爭議性的高士神社真的好遠這樣，雖然這二篇是遊記。\n此外有個人意見很好，但要基於事實，而非偏見和喜好。這點我更難做到，現在寫文章很難不偷渡政治。\n恐怕還要學點文采，才能像國際學者一樣，在說好故事與遵照史實之間保持平衡吧！ https://twitter.com/naoto_moni/status/1207604757319188480\n5. 總結 # 說了那麼多，卻只能用「引用格式不正當」來指出過去文章的缺陷，實際上還有很多方面的問題。\n長久以來以那些文章自豪，後來發現他們實在不夠好。因為我非歷史系的，針對史學方法修正沒辦法說出什麼來。通篇要糾正的，是自以為這樣就配叫做研究，卻比較像情報提供者的文章。 作品不用以數量見長，我想價值在於人說了做了什麼比較重要。如果有人要跳脫出既有框架，除承認自己的無知外，更要勇於嘗試新的寫作手法。\n歷史文不是用資料海轟炸讀者\u0026hellip;就我自己看法，在科普的功用之外，能從中學到什麼是更爲重要的課題，如此才會對非歷史狂熱者產生價值，進而產生思考。 https://luispace22.tumblr.com/post/153852773318\n","date":"2022年5月16日","externalUrl":null,"permalink":"/posts/2022051601/","section":"Histories","summary":"自2018年以來，因為玩艦隊Collection對二戰史產生興趣，遂開始研究相關主題，多撰寫一些歷史文章，獲得巴友回饋，間接了解更多細節，也邂逅了一些因緣。\nhttps://www.pixiv.net/artworks/75737072\n以前有關歷史研究的文章都是發在巴哈姆特個人小屋，2024年之後多半設為隱藏，搬移到部落格來了。 但2021開始做類論文後，深深感覺到以前的文章水準之低落。類論文其實就是專題，題目是文學研究，雖然沒有很嚴謹，但是教授要求我們行文除按照論文格式外，還要有憑有據，適當的在引用學者說法間，加入自己的批判性敘述，卻又不流於偏見和主觀。個人意見不是重點，重點是你研究了什麼出來。因此每週固定被電一次。\n幸好專題快寫完了，回頭看那些「歷史研究」的文章…是時候來全盤批判一番了。\n首先敘述過去的寫歷史文章的過程，再來要檢討為何那些文章在現在看來根本不算研究，只是東拼西湊的拙作罷了。\n1. 起源於一架轟炸機 # 2015年開始玩艦隊收藏，2018年開始玩戰爭雷霆。如此下來對飛機產生了極大的興趣，不論是戰鬥機還是轟炸機，甚至民航機，那些飛機的歷史我都想研究。有人說他的性別認同是武裝直升機，那麼我愛上的就是飛機了吧。\n","title":"對過去在巴哈小屋發表的史學研究方法的檢討","type":"history"},{"content":"Apple終於不賣iPod了，官網如是說：音樂永存，售完即止。 iPod touch 7 (2019)相比iPod touch 6 (2016)沒什麼改變，只有將處理器換成A10而已，天知道庫存還有多少。\n這不禁讓我想起躺在抽屜的iPod touch 6，跟iPhone 6一樣，只能更新至iOS 12便停止支援。\n曾經著迷Apple產品到特別北上跑去101開幕店聽Apple講座的程度，但後來我逐漸醒悟了，還是Linux和Android手機比較適合我。\n先說我的蘋果產品使用經歷，括弧為購買年份：\niPhone 4s (2017) → iPod touch 6 (2018) → iPhone SE 2016 (2019) → iPad Air 3 (2020)\n看來我很喜歡買過季便宜貨（說白了就是沒錢），只有iPod和iPad是買全新的。\niPhone 4s當時買的時候就已經不行了，升到iOS 9.3.5卡爆。iPod支撐的較久，接著IPhone SE接替用到現在。iPad則是玩一年就膩了賣了。\niPod touch不算是手機，因為沒有通訊模組，電量也只有1000mAh，搭載降頻過的A8處理器。對高中生來說，似乎沒什麼用(流汗) 我當時用的主力機是Zenone Selfie 2。\n當時光是32GB的機型就要9000元，還是從法國送來的，盒子包裝有夠廉價。我買紅色的Product Red幫助愛滋病患。iPod touch 6設計很輕，跟後來買的iPhone SE差不了多少重量。 使用上跟iPhone並無不同，同樣可以使用Siri。 有人說iPod音質比較好，應該是說耳機孔方面有獨立DAC處理之故，因為外放喇叭沒什麼差。此外iPod附贈Earpods，Apple竟然省錢不給有耳機操作按鈕的。不過跟Zenfone附的爛耳機比起來，Earpods的聲音已經是很震撼了。 不知為何要當雙槍俠，常常一邊Android機玩艦隊收藏，一邊iPod看動畫瘋，但在4吋的小螢幕上彈幕真的會遮住所有畫面。 相機跟Zenfone差不了多少，但是錄影就有很大提昇，尤其是收音方面非常清楚。 大部分時候拿iPod當輔助機，但就算是降頻過的A8性能也屌打我的主力機Zenfone 2 Selfie (s615處理器，年度地雷級SoC)。\n基本上就是用來測試各式各樣的手遊，玩戰鬥女子學園完全無lag。 還有一款Gunship Sequel - Wings Of Duty的空戰遊戲，在iPod上流暢得很；相較之下Zenfone的處理器任何3D遊戲都會卡，要調到人物外型鋸齒狀超明顯的畫質，遊戲才會順。 後來系統更新，iPod發熱情況也越顯嚴重，像是Sky Gamblers這個老遊戲玩個5分鐘就燙的要命。 看到這裡會產生常見的迷思：Apple手機比Android好對吧？即使是最低檔的iPod？\n否，這樣是拿中階機比高階機，並不公正。\niPod的缺點也很明顯，續航力低的可憐，當mp3播放器應該綽綽有餘，不過4G大興的時代，誰會只帶一支功能型設備出門呢。\niPod應該是沒有剩餘價值了，現在市面上二手的iPhone 7都比這種設備實用許多。iOS 12剩下的價值就是越獄續命了。\n不過還是感謝iPod引領我進入iOS世界，摸索二年之後，便能套用經驗到iPhone和iPad。iPhone SE當主力機用過一陣子後，因Android機已逐步換成旗艦機，iOS效能優勢已不那麼明顯，所以變回備用機的地位，偶爾拿iOS裝置出來拍照錄影還是不錯的，iOS 15的SE依然流暢。\n","date":"2022年5月11日","externalUrl":null,"permalink":"/posts/my-ipod-touch-6/","section":"Unboxings","summary":"Apple終於不賣iPod了，官網如是說：音樂永存，售完即止。 iPod touch 7 (2019)相比iPod touch 6 (2016)沒什麼改變，只有將處理器換成A10而已，天知道庫存還有多少。\n這不禁讓我想起躺在抽屜的iPod touch 6，跟iPhone 6一樣，只能更新至iOS 12便停止支援。\n曾經著迷Apple產品到特別北上跑去101開幕店聽Apple講座的程度，但後來我逐漸醒悟了，還是Linux和Android手機比較適合我。\n先說我的蘋果產品使用經歷，括弧為購買年份：\niPhone 4s (2017) → iPod touch 6 (2018) → iPhone SE 2016 (2019) → iPad Air 3 (2020)\n看來我很喜歡買過季便宜貨（說白了就是沒錢），只有iPod和iPad是買全新的。\niPhone 4s當時買的時候就已經不行了，升到iOS 9.3.5卡爆。iPod支撐的較久，接著IPhone SE接替用到現在。iPad則是玩一年就膩了賣了。\niPod touch不算是手機，因為沒有通訊模組，電量也只有1000mAh，搭載降頻過的A8處理器。對高中生來說，似乎沒什麼用(流汗) 我當時用的主力機是Zenone Selfie 2。\n當時光是32GB的機型就要9000元，還是從法國送來的，盒子包裝有夠廉價。我買紅色的Product Red幫助愛滋病患。iPod touch 6設計很輕，跟後來買的iPhone SE差不了多少重量。 ","title":"Apple宣佈iPod touch停售，那就來寫寫iPod Touch 6使用心得吧","type":"unboxing"},{"content":"《太平洋之翼》又名《343特攻隊》，是太平洋系列電影第三彈。繼《太平洋之嵐》之後，第二部由松林宗惠(1920~2009)執導的二戰空戰片。\n太平洋系列電影第三彈。繼「太平洋之嵐」之後，第二部由松林宗惠(1920~2009)執導的二戰空戰片。\n如果說三集下來是等同一部二戰史，第三集的部分就是二戰末期，關於343航空隊，駕駛新型局地戰鬥機「紫電改」奮戰的故事。電影不單只是敘述戰役的經過，而是有搞笑劇情，慢慢推進劇情的，值得一看。\n早在2017年，於遊戲艦隊Collection拿到343空隸屬的紫電改，我就想寫這部電影的心得了。\n當時歷經千千萬苦，打了兩次 捷号決戦！邀撃、レイテ沖海戦 的甲級難度，才拿到「紫電改(三四三空) 戦闘301」的裝備。 片中名言：「二戰後的18年，和平一直維持到現在，再也不會讓年輕人經歷你們所受的苦痛。」\n電影海報來自Amazon Prime Video。 片名：太平洋の翼 / たいへいようのつばさ/ Attack Squadron! / 太平洋之翼 / 343特攻隊 上映年份：1963 導演：松林宗恵 這部DVD是在屏東市的光南買的，有翻譯尚可的中文字幕，南部光南還蠻多庫存的(?) 惟rip到電腦上播放字幕會延遲。線上平台如Amazon Prime Video亦可觀賞。\n不知為何《太平洋之翼》片名有人翻譯成《343特攻隊》。我想吐槽一下採用「特攻隊」這個中文翻譯的人士，這部電影明明就反對自殺式攻擊，343只是部隊番號而已，怎麼可以隨便用這個名字呢。\n劇情概述 # 首先先來個小科普：「紫電改」是水上飛機公司川西航空機研發的局地戰鬥機(攔截機)。從水上飛機強風修改而來，成為紫電一一型，再修改成「紫電改」，隨後被日本海軍看中成為攔截機，甚至有上航母的計畫。紫電改可以說是零戰後繼機、無法量產的「烈風」以外的次佳選擇了。其裝備2000馬力的譽引擎，武裝為4門99式20mm機砲，裝有防彈裝甲、自動空戰襟翼。史實上都是由精銳飛行員組成的343空操作，於日本本土擔任防空任務，因此戰果優秀。\n《太平洋之翼》為太平洋系列電影第三彈，相較於前二部以海戰為主，紫電改的故事則都是空戰，可以看到60年代的空戰特攝畫面，以及紫電改的英姿。不論是在陸地上實物模型，或是在空中的飛行姿態，彷彿都跟真的一般。\n本片是以活到二戰戰後、還當上航空自衛隊參謀長的源田實所寫的書為基礎，所撰寫的故事。\n整部電影前半段先說明日本的戰況：1945年，由於美軍逐步進逼日本本土，大本營開始動用特攻自殺戰術。但是千田中佐(影射 源田實)反對特攻，並表示要召回南洋各處的精銳海軍飛行員，組成一支精銳航空隊，駕駛最新研發的戰鬥機「紫電改」對抗盟軍。 片中也有還原源田實的名言：「要特攻的話，我陪你一起去。」但是史實上是源田實被343航空隊隊員所嗆。\n拼死從南洋返回日本本土 # 於是前半劇情便以三位飛行員返回本土為主軸：位於拉包爾的矢野大尉、位於硫磺島的安宅中尉、位於菲律賓的滝大尉。收到命令後各自用自己的方式返回本土。\n首先矢野大尉用計偷了美軍的PT魚雷艇(有這麼好偷？) 路上看到艦艇就迫不及待發射魚雷 結果是自己人的船，還得急忙閃避魚雷。 雖被還以砲擊，但馬上就解開誤會。 另一方面，安宅中佐意圖搭乘潛艇，小艇在接近船不時遭到美軍掃射，千鈞一髮終於登艦。 在看過《伊57絕不投降》這部電影後，現在終於可以看到潛艇內部的彩色樣子。 最後的滝大尉在前往日軍機場路上，還一路遭到美軍和游擊隊埋伏。 運輸機即將起飛時，戰友卻被指定要去特攻。最後在被運輸機被美機追殺時，冒出來救了大夥。 一路往北，飛往台灣。中途只得把傷患全拋入海中。 為什麼要說台南到了，因為那裡有台南海軍航空隊的駐地。 343航空隊成立 # 在返回本土後，343空隨即成立。分為新撰組、天誅組、維新隊。 這個航空隊隸屬於海軍，駕駛防衛日本本土的局地戰鬥機。\n千田中佐向各分隊訓話：「不可以去撞船艦，也不可以自爆！」松林宗惠的電影常會有這個思想，他反對的是無意義的自殺攻擊行為，仍可戰死也不可以自殺。延伸閱讀：幽影 - 【翻譯】龍谷人偉人傳＃７２：松林宗惠 但此時大本營卻頻頻發表鼓勵自殺的攻擊情報，也引起三個王牌的思考。 敵機來襲、戰爆連合！（敵戰鬥機護航轟炸機）\n343空首戰，大編隊的紫電改起飛！起飛的時候還會播放軍艦行進曲，怪有趣的。 與美軍交戰，初戰便取得不少戰果。 由此能看到，日本的情況已經很危急，不只美國海軍的飛機與紫電交戰，連陸軍航空隊的P-51也出現了。\n之後的便是連日343空迎擊或退避(飛機飛離機場)的劇情，片中有點誇大，因為史實上戰果確認不易，343空也常宣稱擊落數十架美軍飛機。\n但是三位王牌飛行員，也開始逐漸凋零。\n王牌的凋零 # 首先是安宅，受了傷仍執意把飛機開回機場還給戰友，最後力盡而亡。 再來是有虛構史實的部分，大和號戰艦貿然向沖繩特攻，歷史上是沒有任何空中直掩的。 但343空卻有4機違反命令，要與大和生死與共！(紫電的航程應該也飛不回去日本\u0026hellip;） 最後滝大尉會面了在運輸機上被投入海裡的同袍的姐姐，向她說明了想守護的是什麼：「在美麗的日本國土地中，有優美的日本女性的精神活著，我就是為了這個信念而戰。」 而姐姐也對他投以期許：「最怨恨戰爭的，或許是比任何人都還要努力奮鬥的你也說不定。但是戰爭一定會有結束的一天。」「請你不要死。」 滝隻身去攔截B-29轟炸機群，但是數量龐大。 滝只能對他們大喊「滾出去」，即使在千田中佐的勸阻下，執意空對空特攻，直接撞上去。 機場上的千田中佐只能無奈的看著天空\u0026hellip;\n片尾照向戰後的日本海灘，說出本文開頭的一段話：\n「再也不會讓年輕人經歷你們所受的苦痛。年輕人坐船航向下一個時代，太平洋一片平靜，永遠像他的名字一樣。」\n個人評價好看的地方 # 在日本軍事電影中，這部是少數以空戰為主、並且紫電改大量出鏡的作品。\n相較之下，其他出現海軍航空隊飛機的日本戰爭片自然是以零戰的比較多。而陸軍的主要有1944年的《加藤隼戰鬥隊》，畢竟這是當時的政治宣傳電影，空戰場面拍的很寫實。\n空戰橋段以60年代標準來說算不錯了，雖然感覺紫電方面的模型經費比較充足。\n史實的343航空隊，301戰鬥飛行隊「新撰組」的隊長正是菅野直，是貨真價實的王牌飛行員。在二戰末期失蹤，總計擊落72架。圖源\n我個人意見認為，松林宗惠於本片花一半時間鋪陳返回本土的劇情，使得片子不會較為沉悶，好像在看紀錄片。反而是這樣使人了解到飛行員的背後故事，每個飛行員都有小經歷，能夠從各個事件中看出他們的個性。\n整部片傳達的仍然是反戰思想，可憐的年輕人並沒能像長官一樣活到戰後，即使奮力作戰，最後也是成為飄落的櫻花。\n只看到飛行員灑熱血這點的人，便會落入此豆瓣影評的視角：\n所以，演出史實仍有必要。而為了好看，修改細節扭曲史實部分則是看導演功力，如何圓這個謊。\n《太平洋之嵐》結尾表示：戰爭只會帶來破壞。而這部則是表示，即使不特攻，戰爭仍然是斷送年輕人的未來。\n這個月是艦隊Collection九週年，謹表祝賀。\n343空仍然是我鎮守府最強的陸戰，當年高潮的歲月打甲得來的，稍稍彌補沒有251空、沒有64戰隊的遺憾。\n執筆當下，就興起了回去艦隊Collection的念頭，畢竟已經不上朝好幾個月了。\n","date":"2022年4月28日","externalUrl":null,"permalink":"/posts/attack-squadron-1963-review/","section":"Reviews","summary":"《太平洋之翼》又名《343特攻隊》，是太平洋系列電影第三彈。繼《太平洋之嵐》之後，第二部由松林宗惠(1920~2009)執導的二戰空戰片。\n太平洋系列電影第三彈。繼「太平洋之嵐」之後，第二部由松林宗惠(1920~2009)執導的二戰空戰片。\n如果說三集下來是等同一部二戰史，第三集的部分就是二戰末期，關於343航空隊，駕駛新型局地戰鬥機「紫電改」奮戰的故事。電影不單只是敘述戰役的經過，而是有搞笑劇情，慢慢推進劇情的，值得一看。\n早在2017年，於遊戲艦隊Collection拿到343空隸屬的紫電改，我就想寫這部電影的心得了。\n當時歷經千千萬苦，打了兩次 捷号決戦！邀撃、レイテ沖海戦 的甲級難度，才拿到「紫電改(三四三空) 戦闘301」的裝備。 片中名言：「二戰後的18年，和平一直維持到現在，再也不會讓年輕人經歷你們所受的苦痛。」\n電影海報來自Amazon Prime Video。 片名：太平洋の翼 / たいへいようのつばさ/ Attack Squadron! / 太平洋之翼 / 343特攻隊 上映年份：1963 導演：松林宗恵 這部DVD是在屏東市的光南買的，有翻譯尚可的中文字幕，南部光南還蠻多庫存的(?) 惟rip到電腦上播放字幕會延遲。線上平台如Amazon Prime Video亦可觀賞。\n","title":"空戰電影推薦：《太平洋之翼》日本海軍「紫電改」戰機大顯身手的電影","type":"review"},{"content":"","date":"2022年4月20日","externalUrl":null,"permalink":"/tags/minecraft-china/","section":"標籤","summary":"","title":"Minecraft China","type":"tags"},{"content":"不花錢，就能玩正版，並沒有這回事。 (發現這裡沒有你要的東西可以上一頁了)\n在討論何謂Minecraft正版前，不如先問Minecraft有免費版的嗎？要下載的是哪個平台的Minecraft？有可能免費下載正版嗎？\n在這篇文章中，我將討論「免費」、「正版」、「盜版」三個概念，再討論買正版的必要性。\n1. Minecraft有免費版本嗎？ # 有，由Mojang官方發布的包括試玩版、教育版、中國版。\n試玩版(Trial)：Java版在這裡，手機基岩版在這裡。但是試玩版本只能限時玩一百分鐘還不能存檔，會讓你巴不得買正版。\nMinecraft教育版(Education Edition)：官網在此，教育用途，當然要學校有購買，才能下載。另外有一個古老的「樹莓派」版，同樣是免費下載，但是用來訓練在Linux上寫程式的。\n中國網易版的Minecraft：官網在此，網易是經過Mojang正版授權在中國代理的，雖算正版，不過玩法修改很多，一般來說正常玩家不會玩這種。\n小結：以上三種正版Minecraft可以免費下載，但是功能都比不上下面要談的「主流」正版Minecraft。\n2. 何謂正版Minecraft？ # 排除上面1. 介紹的免費版本後，就可以給主流正版Minecraft下一個定義了：只有自己花錢購買的，且該版本是Mojang官方發布的，才會是正版。除此之外，都是盜版。\n散佈盜版會侵害著作權，參考中華民國著作權法第87條第三項對侵害著作權的定義：「輸入未經著作財產權人或製版權人授權重製之重製物或製版物者。」\n這個還可以分成二個情況來討論：Minecraft主要分為Java版(電腦)與基岩版(手機、電腦、遊戲主機)。Java版本能玩的東西比較多，基岩版跨平台能力強。這二個都有提供快照版/測試版，因此也算是正版一環。\n在Java版中，玩家必須花錢買一組遊戲序號(或稱啟動碼)，並至Minecraft官網註冊一個微軟帳號，將序號與該帳號綁定，於是這種有綁定序號的帳號才能稱為「正版帳號」。正版帳號除了用於開啟遊戲外，要玩大型伺服器也要正版帳號，以防盜版玩家湧入。\n基岩版跟Java版本不同。首先，基岩版的遊戲主程式是每個平台都要各買一次：Android要用Google Play、iOS要用App Store購買等。透過該平台的應用程式商店購買，才叫正版Minecraft。之後若要重新下載，認的是當初用於購買Minecraft的APP商店的帳號，例如Google帳號換手機後仍然可以下載Minecraft。\n開啟遊戲後就可直接玩單人模式。之後遊戲會鼓勵你註冊一個微軟帳號，這樣才能玩多人遊戲。\n看出差異了嗎？基岩版只要能取得遊戲主程式，剩下的功能就暢行無阻了。基岩版只要隨便註冊一個微軟帳號就能玩伺服器了，並沒有像Java版那樣要綁定序號的「正版帳號」才可以玩伺服器。\n接下來來看盜版的原理，就能知道基岩板為何會那麼好破解了。\n3. 盜版Minecraft的原理？ # 上面討論了何謂正版，那麼就能夠推導出哪些是盜版了。以下載管道來說，不是透過商店購買的，就是盜版。在網路上寫著「免費apk」下載的，都算盜版，並沒有「免費正版下載」這種事情，如果不能接受，請繼續往下看盜版的原理。\n盜版Minecraft不外乎二種：\n直接山寨\n破解遊戲主程式\n第一個超越盜版的範疇了，致敬/抄襲Minecraft玩法的遊戲很多，例如迷你世界、Minetest、Survivalcraft等，此外，有些無恥的開發商會把Minecraft套個材質包就拿出騙人。\n第二個就是最常見的手段了，為什麼有免費玩的Minecraft呢？\nJava版，只要遊戲主程式部份被破解，玩家就可以繞過正版登入器，無限制玩單人模式，這種原理叫做「離線模式」。但是要玩伺服器就會踢到鐵板，因為大部分有名的伺服器，例如Hypixel都有開正版帳號驗證，所以盜版玩家只能去找沒開正版驗證的伺服器玩。\n基岩版也是一樣，雖然基岩版遊戲主程式會連網，驗證這個程式是否為從應用程式商店購買而來，但網路上流傳的盜版都把這部份破解掉了，因此基岩版就能進行單人遊戲。而玩伺服器部份，如同上述所提到的，基岩版沒有正版帳號這種東西，因此只要遊戲主程式部份被破解，盜版玩家就可以享受所有Minecraft功能。\n所以「免費正版下載」這種說法只講對一半：主程式固然是跟正版差不多的，但是取得手段不合法，所以是盜版。\n那用MultiMC、RPMLauncher、TLauncher這種第三方啟動器來玩算盜版嗎？如果啟動的是Java版，除非該啟動器就是專門服務盜版玩家的，不然這些啟動器通常會要求你登入正版帳號後才可以玩。所以技術上，有登入驗證過的啟動器不算盜版。\n4. 那麼有無必要買正版？ # 買正版就是對Minecraft的支持，對這個遊戲的認同。\n正版Minecraft價格依照版本不同而定，從手機版200台幣到Java版800台幣都有。\n如果拿捏不定要買哪個平台？我個人意見認為，Java版最好，再者是便宜的手機基岩版。(詳細比較)\n就算負擔不起全平台，買正版長期下來仍是最好的，可以一直收到遊戲更新。購買正版的方式也不一定要信用卡，點數卡或電信帳單代收都是可以嘗試的方式。\n如果一直玩盜版，就要一直用一堆破解的小手段，亂抓安裝程式可能還中毒。與其冒險玩盜版，還不如玩山寨或者致敬的遊戲呢。\n雖然Notch已經退休，不過他的話還是很實在：「玩盜版沒關係，但請帶著羞恥心去玩」。\n玩盜版也就算了，切勿到處張揚「我的Minecraft正版是免費下載的」然後散播錯誤觀念。\n","date":"2022年4月20日","externalUrl":null,"permalink":"/posts/are-there-any-free-minecraft-games/","section":"Minecrafts","summary":"不花錢，就能玩正版，並沒有這回事。 (發現這裡沒有你要的東西可以上一頁了)\n在討論何謂Minecraft正版前，不如先問Minecraft有免費版的嗎？要下載的是哪個平台的Minecraft？有可能免費下載正版嗎？\n在這篇文章中，我將討論「免費」、「正版」、「盜版」三個概念，再討論買正版的必要性。\n1. Minecraft有免費版本嗎？ # 有，由Mojang官方發布的包括試玩版、教育版、中國版。\n試玩版(Trial)：Java版在這裡，手機基岩版在這裡。但是試玩版本只能限時玩一百分鐘還不能存檔，會讓你巴不得買正版。\nMinecraft教育版(Education Edition)：官網在此，教育用途，當然要學校有購買，才能下載。另外有一個古老的「樹莓派」版，同樣是免費下載，但是用來訓練在Linux上寫程式的。\n中國網易版的Minecraft：官網在此，網易是經過Mojang正版授權在中國代理的，雖算正版，不過玩法修改很多，一般來說正常玩家不會玩這種。\n小結：以上三種正版Minecraft可以免費下載，但是功能都比不上下面要談的「主流」正版Minecraft。\n2. 何謂正版Minecraft？ # 排除上面1. 介紹的免費版本後，就可以給主流正版Minecraft下一個定義了：只有自己花錢購買的，且該版本是Mojang官方發布的，才會是正版。除此之外，都是盜版。\n散佈盜版會侵害著作權，參考中華民國著作權法第87條第三項對侵害著作權的定義：「輸入未經著作財產權人或製版權人授權重製之重製物或製版物者。」\n","title":"免費下載的「Minecraft正版」？正盜版概念解釋","type":"minecraft"},{"content":"手機版(Android/ iOS)的Minecraft下載之後只有按鍵音效，卻沒有背景音樂和唱片音樂？因為你要自己下載。\n電腦版的音樂都已含在主程式裡面，而手機的Minecraft主程式大約100MB，音樂檔案另外需要300MB的空間。\n遊戲主畫面點選「設定」，在「一般」勾選使用行動數據。 再確認「音訊」都已經開啟。 回到主畫面，點選主畫面的「市集」。 點選右上角的搜尋按鈕，搜尋\u0026quot;Music\u0026quot;\n找到「音樂 作者：Minecraft」 按下去下載。 等待下載完成後回到首頁，這樣就會聽到音樂了。\n","date":"2022年4月20日","externalUrl":null,"permalink":"/posts/minecraft-android-download-music/","section":"Minecrafts","summary":"手機版(Android/ iOS)的Minecraft下載之後只有按鍵音效，卻沒有背景音樂和唱片音樂？因為你要自己下載。\n電腦版的音樂都已含在主程式裡面，而手機的Minecraft主程式大約100MB，音樂檔案另外需要300MB的空間。\n遊戲主畫面點選「設定」，在「一般」勾選使用行動數據。 再確認「音訊」都已經開啟。 回到主畫面，點選主畫面的「市集」。 點選右上角的搜尋按鈕，搜尋\"Music\"\n找到「音樂 作者：Minecraft」 按下去下載。 等待下載完成後回到首頁，這樣就會聽到音樂了。\n","title":"Minecraft手機基岩版沒有音樂的解決方式","type":"minecraft"},{"content":"2019年由Pine64所發售的PinePhone是專為手機Linux系統設計的手機。 2022年3月底下訂，從香港寄到台灣花了11天，4/08才到。期間Pine64會寄出「已收到訂單」和「已出貨」的電子郵件，透過DHL運送。\n1. PinePhone簡介 # PinePhone不是Android手機，其預裝的是Manjaro ARM。使用者亦可自行安裝其他系統，無需任何解鎖程序。\nPinePhone相容於各種Linux行動作業系統，當然也可以刷成Android。手機很好拆解，可換電池，還有物理開關能關掉通訊模組。因為硬體方面要高度開源，導致硬體規格跟同價位的Android手機比起來差很多。官網也多次強調：此為Beta版本，適合給對Linux系統有經驗的使用者使用，產品尚不成熟。\n本文將簡介其外觀，以及預裝的作業系統的功能和效能，再討論PinePhone的其他用途。\n2. PinePhone規格 # 我購買的是3GB / 32GB的版本，價格：199美金，外加25美金運費運送至台灣。Pine64說這個是針對開發者打折過的價格了，此外每賣出一支他們就會捐出價格的10%給Linux行動作業系統的開發者們。\n以下翻譯自PinePhone官網 (點選展開)。\n規格 作業系統與版本：Manjaro with Plasma Mobile OS build 處理器品牌：Allwinner\n處理器型號：A64\n處理器時脈：1.2 GHz\n處理器核心數：4\n圖形處理器：MALI-400MP2\nRAM記憶體：3GB LPDDR3 SDRAM\nROM儲存空間：32GB eMMC\n記憶卡：micro SD, SDHC, SDXC\n最大擴充儲存空間：2TB\n電池容量：3000mAh\n主螢幕材質：HD IPS\n主螢幕尺寸：5.95吋\n主螢幕解析度：1440x720像素，比例18:9\n主螢幕更新率：60 Hz\n主相機畫素：500萬畫素\n主相機光圈：1/4″\n主相機LED補光燈：Yes\n前相機畫素：200萬畫素\n前相機光圈F： f/2.8, 1/5″\n4G頻率：LTE-FDD: B1/ B2/ B3/ B4/ B5/ B7/ B8/ B12/ B13/ B18/ B19/ B20/ B25/ B26/ B28、LTE-TDD: B38/ B39/ B40/ B41\n3G頻率：WCDMA B1/ B2/ B4/ B5/ B6/ B8/ B19\n2G頻率：GSM 850/900/1800/1900MHz\nSIM Card類型：Micro-SIM\nSIM卡槽數：1\nWi-Fi：Yes\nIEEE 802.11傳輸速度：b, g. n\n藍牙：Yes\n藍牙版本：4.0, A2DP\n衛星定位：A-GPS, GLONASS\n快充技術：USB PD\n快充功率：15W\n揚聲器： 雙聲道\n3.5mm耳機孔與麥克風：Yes\n陀螺儀：Yes\n加速度感應器：Yes\n距離感測器：Yes\n光線感測器：Yes\n促動器：震動馬達\n隱私開關：分別關閉LTE + GPS、Wifi + 藍芽、麥克風、相機\n充電孔規格：USB 2.0 Type C，支援USB Host、 DisplayPort Alternate Mode螢幕輸出\n機身材質：塑膠\n機身長度：160.5mm\n機身寬度：76.6mm\n機身厚度： 9.2mm\n機身重量：185g\n機身顏色：黑色\n3. PinePhone外觀 # 盒子 內容物有充電線但沒有插頭(真環保)，199美元的版本除了規格升級外，另外附了Type-C dock用於連接外部裝置。 手機後面突起的鏡頭中間有一顆松果圖案 (我以前以為Pine是指鳳梨)。手機上下有邊框，無瀏海，2019年這樣的手機設計還挺復古的，手機重量重達185g。 右下角有一個縫隙，能用指甲拆開手機背蓋。電池可拆，開機前電池接點的保護膜記得要移除。此外，PinePhone在插著電的情況下移除電池，是可以繼續運作的，只不過WIFI和4G模組會停擺。 由下而上，micro SIM卡、micro SD卡插槽。再上面的是Kill switch開關，用鑷子往上扳能關閉特定硬體功能，例如4G和攝影機。最上面這六個點點能連接更多裝置。 PinePhone的硬體是可以替換的，官網有賣主機板等各式零件。雖然手機是把處理器和記憶體焊在一起，不可能單買記憶體。但PinePhone規格相同的情況下，可以自己拆換主機板，從2GB升級成3GB。\n順帶一提的2021年出的PinePhone Pro因為硬體大幅升級，不太可能與舊的PinePhone相容。\n4. PinePhone拍照效果 # PinePhone前鏡頭200萬畫素，後鏡頭500萬畫素，Megapixels APP拍照後要花30秒處理。 以下與iPhone SE 2016比較同一地點的照片 (左邊PinePhone，右邊iPhone SE)\n可看出PinePhone完全被屌打，甚至不用iPhone，2019年隨便一支Android機都能贏過PinePhone相機吧。\n目前Megapixels APP還不支援錄影，要自行寫腳本配合ffmpeg進行錄製。\n5. 作業系統界面 # Manjaro是Arch Linux的分支，預設桌面環境是KDE Plasma Mobile，開機會跑設定程序，要建立帳號、輸入密碼等等。 開機後先開啟終端機，輸入sudo pacman -Syu更新系統，跟電腦版Manjaro一樣。安裝花了半小時\u0026hellip;然後手機螢幕就失去回應了，強制重啟後進不去系統。\n大概是因為更新隔太久所致，所以我只好重刷系統。這次我改安裝採用Phosh界面(基於GNOME)的postmarketOS(基於Alpine Linux)。\nPhosh的多工界面同時也是主畫面，用螢幕底部的箭頭按鈕切換。此外還常駐一個可以喚出虛擬鍵盤的按鈕。 點螢幕上方開啟快捷設定頁面。PinePhone因為支援方向感應器，所以打橫螢幕會跟著自動旋轉。 APP可用終端機套件管理員或Flatpak安裝，通常我是直接用指令。 6. Allwinner A64處理器效能 \u0026amp; 續航力 # 這個由全志設計的40nm製程處理器效能屬於中間偏弱，以下為用Waydroid裝Android版的Geekbench 5測試結果 (Waydroid採用的是容器技術，性能損失不高)。所以拿Android手機的處理器跑分來對比的話，PinePhone的處理器連高通s400都不如。 理論上這個晶片可以硬體解碼4K30Hz，但目前要自己編譯驅動程式。目前的影片播放器\u0026quot;MPV\u0026quot;頂多支援到1080p60Hz。喇叭在機身後面，正放會擋住聲音，音質還算可以，跟iPhone SE 2016等級差不多。 電池只有3000mah，就算跑的是Linux，連續滑電量也撐不過2小時。另外這顆電池是跟三星J7(2015)通用的，拍賣市場上應該很容易買到備品。開啟Phosh Tweaks APP裡的\u0026quot;Auto Suspend\u0026quot;可以有效提昇待機時間。 7. PinePhone的其他用途 # 刷其他系統 # PinePhone的手機APP能滿足基本需求，參見：實用Linux手機APP推薦\n因為PinePhone的容量小，PinePhone的bootloader預設會從SD卡開機，於是可以將系統刷寫至SD卡，測試多個系統：PinePhone安裝系統教學\n另外參見：手機Linux發行版推薦\n雖然硬體孱弱，倒也適合真的喜歡折騰的用戶 。幾乎所有系統都能正常驅動硬體，不會有哪個系統無法存取相機或通訊模組的情況。\n另外，PinePhone可以接上鍵盤滑鼠，透過Type-C輸出螢幕，Phosh會自動變成電腦桌面模式 (Docking Mode)，變成手機和電腦雙螢幕，且有些APP版面會自動變成電腦版模式。\n跑Android和Windows的程式 # 如果要在Linux系統跑Android APP，就裝Waydroid容器： Waydroid + postmarketOS使用教學\n如果要跑Windows exe 程式：編譯Box86 + Wine\n當伺服器 # 考慮到其開源性質，將其當I/O比較少的樹莓派用也是可以的，例如小型伺服器，各發行版多半都有提供Docker以及相關套件：將PinePhone手機變成伺服器 (Docker + Nextcloud)\n8. 延伸閱讀 # 作為使用者與開發者，可以多參與PinePhone的論壇討論。\nPinePhone論壇 Reddit上的PinePhone板塊 PinePhone Wiki 其他Linux開源作業系統的討論區以及WIKI也有很多好用APP的情報，本站也有寫一些PinePhone的中文版教學。\n","date":"2022年4月6日","externalUrl":null,"permalink":"/posts/pine64-pinephone-review/","section":"Unboxings","summary":"2019年由Pine64所發售的PinePhone是專為手機Linux系統設計的手機。 2022年3月底下訂，從香港寄到台灣花了11天，4/08才到。期間Pine64會寄出「已收到訂單」和「已出貨」的電子郵件，透過DHL運送。\n1. PinePhone簡介 # PinePhone不是Android手機，其預裝的是Manjaro ARM。使用者亦可自行安裝其他系統，無需任何解鎖程序。\nPinePhone相容於各種Linux行動作業系統，當然也可以刷成Android。手機很好拆解，可換電池，還有物理開關能關掉通訊模組。因為硬體方面要高度開源，導致硬體規格跟同價位的Android手機比起來差很多。官網也多次強調：此為Beta版本，適合給對Linux系統有經驗的使用者使用，產品尚不成熟。\n本文將簡介其外觀，以及預裝的作業系統的功能和效能，再討論PinePhone的其他用途。\n2. PinePhone規格 # 我購買的是3GB / 32GB的版本，價格：199美金，外加25美金運費運送至台灣。Pine64說這個是針對開發者打折過的價格了，此外每賣出一支他們就會捐出價格的10%給Linux行動作業系統的開發者們。\n","title":"開箱：Pine64 PinePhone，真Linux手機詳細介紹","type":"unboxing"},{"content":"暌違5年，2022年4月愚人節Reddit像素繪圖大賽復活，有帳號就可以參加，到r/place板塊一起畫出圖案，畫一格像素就會冷卻五分鐘，並要保護圖案不被別人破壞。隨著時間推移，畫布也會跟著變大。\n上一次舉辦是2017年愚人節，非常成功的社會性實驗，紀錄下了網路文化。而2022年從4/1舉辦到4/5，共舉辦了4天。\n本次活動，Reddit上的各大中文社區也有參戰，主要是畫圖表達政治訴求。\n1. 戰況總結 # 以下圖片都來自Reddit貼文。\n4天的畫布變遷，一開始的畫布只有左上角，之後逐步擴大成四倍\u0026hellip;到最後站方竟然把畫布白紙化。\n這張照片是白紙化之前最後的結果 (來源)，裡面出現的網路文化元素爆表，數都數不完。 所有人畫的圖片在最後一天全部被管理員變成白色像素了。準確來說，是最後一刻只能塗白色。\n大約4/5 GMT+8早上8點的時候，因為只能塗白，機器人的連鎖效應開始了，擴散\u0026hellip;然後就變成純白世界了。Reddit管理員原來是FGO異星神，攜手將地球白紙化了。 2. 看看各國網友都畫了些什麼 # 因為有以前的經驗，這次有人專門成立Discord群組來畫自己的圖，此外各國腳本機器人也大量投入使用。\n有開外掛把支產二次元logo畫上去的，雖然說也有Reddit管理員開外掛就是。 比起支產二次元，我還寧願看艾主席勒(底部還有弗洛克XD)。但佔地最多、最大的動漫畫像則是海賊王。 中文區主要有冲浪TV(查理TVr/CLTV)畫的坦克人+習維尼、豆瓣鵝組畫的鐵鍊女、香港畫的黑洋紫荊旗。中國翻牆出來看熱鬧的當然跳腳，但微博截圖的也都被封禁了。\n參考下圖，位於中間上面比較小的地方是幾個中文板塊合作的，早在畫布擴張前就投入戰場。但說實在，全圖完成後不是很顯眼。 由左至右，有CLTV畫的「小張獻忠」，下面寫上1989/06/04，加上坦克人。\n此外還有豆瓣鵝組集美畫的「徐州鐵鍊女」，但是It's my duty曾被人改成It's my butt\u0026hellip;洋人不知道中國的慘劇也是正常的。\n最後還跟香港人合作，跟維尼牽手，蓋掉China_irl的太監趁機寫上的板塊簽名。 香港人更厲害，跟星際大戰的圖合作，因此提高了全圖可見度。當時中國牆內網友要截圖報導還得想辦法把這部份裁掉XDD 然後呢，我比較滿意的是r/linuxmasterrace大家都在守護Linux的Tux，各大發行版賜我力量！！ 但是Windows XP出現在底部\u0026hellip; 國旗就各大國家都有畫出來，最後一刻法國人還在激烈抗戰 加拿大的楓葉到最後還是畫不好，被戲稱為支麻大。 酷酷地烏克蘭，澤連斯基 德國在全圖中各種穿插 中華民國國旗，其實另外還有人畫民進黨黨旗。某個有牆的國家旗子卻都不見蹤影，怎麼回事呢。 3. 再記r/CLTV戰果 # Nothing last forever. 啪，結果這些創作就這樣沒了。\n有人說，到最後都在跟自動繪圖機器人作戰，官方不管開小號，才會導致不公平競爭。\n但是各板塊的向心力還是很強的，跟2017年的比起來，可以看到網路氛圍發生的巨大變化。\n儘管Reddit還不算網路的梗排泄鏈最頂端，但也算上游了，不愧其為\u0026quot;The front door of the Internet\u0026quot;之自稱\u0026hellip;\n而這次的戰鬥，r/CLTV的迪友成功發聲了，橫豎都是贏。（洋人：碳水小黃人畫的什麼雞巴） 二個月之後，r/CLTV就被Reddit封了。\n","date":"2022年4月5日","externalUrl":null,"permalink":"/posts/reddit-r-place-2022/","section":"Politics","summary":"暌違5年，2022年4月愚人節Reddit像素繪圖大賽復活，有帳號就可以參加，到r/place板塊一起畫出圖案，畫一格像素就會冷卻五分鐘，並要保護圖案不被別人破壞。隨著時間推移，畫布也會跟著變大。\n上一次舉辦是2017年愚人節，非常成功的社會性實驗，紀錄下了網路文化。而2022年從4/1舉辦到4/5，共舉辦了4天。\n本次活動，Reddit上的各大中文社區也有參戰，主要是畫圖表達政治訴求。\n1. 戰況總結 # 以下圖片都來自Reddit貼文。\n4天的畫布變遷，一開始的畫布只有左上角，之後逐步擴大成四倍…到最後站方竟然把畫布白紙化。\n這張照片是白紙化之前最後的結果 (來源)，裡面出現的網路文化元素爆表，數都數不完。 所有人畫的圖片在最後一天全部被管理員變成白色像素了。準確來說，是最後一刻只能塗白色。\n大約4/5 GMT+8早上8點的時候，因為只能塗白，機器人的連鎖效應開始了，擴散…然後就變成純白世界了。Reddit管理員原來是FGO異星神，攜手將地球白紙化了。 2. 看看各國網友都畫了些什麼 # 因為有以前的經驗，這次有人專門成立Discord群組來畫自己的圖，此外各國腳本機器人也大量投入使用。\n","title":"CLTV神友出息了！2022年Reddit r/place像素繪圖大賽落幕","type":"politic"},{"content":"作品資訊：\n伊-57絕不投降 潜水艦イ-５７降伏せず / Submarine I-57 Never Surrenders! 上映年份：1959年 導演：松林宗恵 欲觀看此作除購買DVD外，日本Amazon Prime Video和Apple TV亦有上架。 觀看時採用的是幽影大大製作的字幕版本：【自製繁中字幕】《潛水艦伊５７絕不投降》\n原來這部跟太平洋之翼(1963)是同一個導演！松林宗恵監督的作品，有劇情有軍事細節，但是最後主角都會掛掉。\n本文主要談這部的劇情大綱、細節、還有最感動之處。\n爆雷、擊戰、開始！\n本片改編自川村六良的同名小說，敘述1945年，虛構潛水艦伊-57運送某國官員和其女兒到達歐洲，以期能跟盟軍取得較有利的談判地位。從檳城出發，中間橫跨印度洋及繞過非洲南部，到達西班牙加那利群島，浮出海面將人交給英國海軍後，原本要投降的艦長卻終於收到大本營因為波茨坦宣言，而放棄和談的命令，因此投降前的最後一刻馬上進入攻擊態勢，最後撞上敵艦引爆水雷，同歸於盡。 片中細節 # 把魚雷當女兒？ 演ミレーヌ的真的是當時義大利大使的女兒，嗚哇哇。難怪她講的英文我都聽不懂。 那有台中谷關的空氣嗎 投降時的白旗是艦長親自搖的 :( 武器特寫，伊57。雖然電影中是由前美軍潛艇USS Mingo出演，導致外型跟日本潛水艦對不上，日本潛艇明顯胖很多。\n潛艇作戰的部份描寫的不錯，忠實呈現索敵的情況，以及艦艇上的生活，不愧導演是海軍出身，拍攝的細節跟歐美的潛艇片有的比。 盟軍反潛裝備\n盟軍反潛武器因為有火箭推進，導致攻擊的深度變得更廣。\n這架應該是布萊克本賊鷗式。 這架不太確定，有點像肖特桑德蘭飛艇，或是馬丁PBM Mariner。 跟普通深水炸彈(上圖)不同，刺蝟砲增加了射程，也增強殺傷面積。 感動的地方 # 從劇情看也反映日本的作戰風氣，大家就算要玉碎，死也要比較體面，玉碎之前穿上正式軍裝敬禮。 但是日本偷偷送人去談判這種事，應該多學學泰國人在二戰時期的技倆。此外劇情也反映了，日本真的是從一開始偷襲就想逼美國上談判桌的思維，到戰末就算要停戰，也意圖保持一點尊嚴—當然不包括無條件投降這項。\n最後，感動的地方，倒不是自殺突擊的劇情，而是女兒離別前說的這句話 活下去\u0026hellip; 結果還是要對應到風起引用過的那句話，起風了，唯有\u0026hellip;\n當然，日本人的個性就是改不了，要投降是不可能的事，直接讓整艘船化作大型震洋艇。 劇中設計的這個戲劇性的反轉：因為電報故障，導致艦長都穿好衣服準備要投降了，卻在收到大本營取消作戰的電報後(因為波茨坦宣言就是不給日本任何談判的機會了，此行變得沒有意義)，馬上掉頭開始攻擊的景象。這裡艦長突然改變心意的舉動應該可以演的更誇張一點，但劇中就是收到命令後，冷靜的叫大家各就各位。\n這種精神現代人應該難以理解，或者說如同裡面的人說過的：被教導的只如何戰鬥，不是生就是死，並且艦長連試圖談和都認為是羞恥的事情了。\n我想艦長的思想反映在這句話上吧。\n只能猜個大概：\n春風，讀作「はるかぜ」或「しゅんぷう」，字典解釋是春天溫暖、柔和的微風，是春之季語。春天也有讓萬物增長的含意。\n深山，讀作「しんざん」或「みやま」，字典解釋就是\u0026hellip;深山、人跡罕至的山。如果擴大點想，用「深山幽谷」來比喻的話就更能體會這種有胸襟的氛圍了吧。\n最後感謝巴哈好友angelguga(幽影)製作字幕以及歷史背景資料，支持翻譯事業。\n","date":"2022年4月4日","externalUrl":null,"permalink":"/posts/submarine-i-57-never-surrenders-review/","section":"Reviews","summary":"作品資訊：\n伊-57絕不投降 潜水艦イ-５７降伏せず / Submarine I-57 Never Surrenders! 上映年份：1959年 導演：松林宗恵 欲觀看此作除購買DVD外，日本Amazon Prime Video和Apple TV亦有上架。 觀看時採用的是幽影大大製作的字幕版本：【自製繁中字幕】《潛水艦伊５７絕不投降》\n原來這部跟太平洋之翼(1963)是同一個導演！松林宗恵監督的作品，有劇情有軍事細節，但是最後主角都會掛掉。\n本文主要談這部的劇情大綱、細節、還有最感動之處。\n爆雷、擊戰、開始！\n本片改編自川村六良的同名小說，敘述1945年，虛構潛水艦伊-57運送某國官員和其女兒到達歐洲，以期能跟盟軍取得較有利的談判地位。從檳城出發，中間橫跨印度洋及繞過非洲南部，到達西班牙加那利群島，浮出海面將人交給英國海軍後，原本要投降的艦長卻終於收到大本營因為波茨坦宣言，而放棄和談的命令，因此投降前的最後一刻馬上進入攻擊態勢，最後撞上敵艦引爆水雷，同歸於盡。 片中細節 # 把魚雷當女兒？ 演ミレーヌ的真的是當時義大利大使的女兒，嗚哇哇。難怪她講的英文我都聽不懂。 那有台中谷關的空氣嗎 投降時的白旗是艦長親自搖的 :( 武器特寫，伊57。雖然電影中是由前美軍潛艇USS Mingo出演，導致外型跟日本潛水艦對不上，日本潛艇明顯胖很多。\n","title":"潛艇片《伊-57絕不投降》觀影心得 ～ 二戰末期虛幻的西方大遠征","type":"review"},{"content":"初稿：2022年3月21日。經歷上午大學電通系的Linux入門課程，到下午通識應用國文課程的空檔，我看了這二本書。\nParrhesia，只有說出實話，才能讓我們解脫，表達盡量簡短，不隱瞞事實，再承認自己的無知。\n這二本書是NGO工作者褚士瑩寫他到法國研修哲學的系列，共二冊：\n《我為什麼去法國上哲學課？：擺脫思考同溫層，拆穿自我的誠實之旅》，2017年大田出版\n《我為什麼去法國上哲學課? 實踐篇: 思考讓我自由, 學會面對複雜的人際關係, 做對的決定》，2019年大田出版\n圖片來自博客來\n兩本書行文很簡單直白，卻拋給讀者一堆問題思考。\n第一本寫褚士瑩在法國哲學家奧斯卡．柏尼菲(Oscar Brenifier)身邊學習哲學的經過，第二本則是紀錄哲學諮商中與諮商者的對話，以應用之前學到的哲學技巧對各種人生問題提出說法。 奧斯卡．柏尼菲。圖片來源：https://www.chinadaily.com.cn/life/2017-06/07/content_29655857.htm\n褚士瑩。圖片來源：https://www.gvm.com.tw/article/40154\n1. 請跟PTT分手吧！ # 探討這二本書內容前，我想從褚士瑩2015年的一篇文章開始：請跟PTT分手吧！\n褚士瑩是台灣作家，從國小課本我就知道他了，後來在網路上也能不時看到他在天下雜誌的網站「線上哲學諮商室」刊登他對網友諮商問題的回答。內容不是呂秋遠律師回答陌生網友的雞湯文，而是真正的哲學諮商。\n然而就是這篇PTT文章，讓他成為爭議人物。\n這篇文章很短，寫了PTT之所以落後的缺點，以及誇獎FB的災難聯絡功能。\n綜合褚士瑩在他的書中學到的辯證法，不難理解他為何會有這種不近人情的說法。\n他曾在書中指出，一些諮商者有「完美主義的性格，意圖面面俱到，這樣免不了二邊都討好的情況」。可是在他的思考邏輯裡面，二面都討好是會使問題複雜化。因此當諮商者把自己的問題陳述的很複雜之後，褚士瑩會要求對方先釐清、簡化概念，這樣才能針對問題去回答。諮商者要做出決定，至少是當事人認為比較好的決定。 此外，按照蘇格拉底的哲學方式，他會一直提問，但這也要功夫：提一個好的問題，不是為反而反，也非跳tone不合邏輯的發想，又要讓對方知道自己的盲點，這屬實困難。然後，容易重視情緒大過理性的人來看他的言論，有時就會覺得「怎麼會有這麼不近人情的人\u0026hellip;.」\n褚士瑩是否過分重於個人經驗和邏輯，忘記考慮其他周全的環境因素等等，或許此說法會成立。因為我覺得，看他對奧斯卡的描述是又愛又恨，認同奧斯卡的行事風格，會對他的行為做偏向正面的解讀，好像他是辯護者一樣。\n但是他也學會如何拒絕奧斯卡，又如即使相處這麼久，奧斯卡還是對他說：「我們是基於哲學愛好才成為朋友，一旦離開了這個關係我們就不會在一起。」所以褚士瑩並非沒有考量他人的能力，或許我們討論的方向根本不在同一個頻道。\n那回到這篇文章來看，文章沒有邏輯推演以至於容易使讀者產生偏見，不知為何褚士瑩會這樣寫，鄉民可能會說：\n你攻擊PTT，真的是有用過PTT嗎？\n你攻擊我無知，你是知道我過去經驗才會推導出這個論點嗎？\n身為登入1000次的PTT鄉民，我認為褚士瑩這篇文章過於簡略，僅像是呼籲一般的文字，實際上沒達成說服目的，變成好像意見一般的存在。單純要人脫離PTT，並使人深思「不脫離PTT是PTT本身，還是PTT背後的意義？」基於不同的立場，會產生不同的解讀，這是廢話。看事情不能只看表面，偏偏褚士瑩的想法就是不要問題複雜化，要用邏輯說的通才會讓他信服。此外從褚士瑩在書中的表現看來，意圖逼他給一個標準答案是行不通的，他還會反問你，要你自己檢視想法是否就有缺陷，再來釐清所謂的問題，並自己挑選出答案。\n最後，各大媒體都有轉述對這篇文章的回應，不過看來都是針對文字內容批評，或是開始訴諸人身攻擊\u0026hellip;好像沒人理解他說的那個深層的現象問題。我覺得這樣又容易流於網路罵戰的形式：好像沒人在意真相是什麼，看到打臉就覺得很爽，贏了對方的感覺。\n可是不要忘了他自己都曾在哲學書中反問：\n輸贏是最重要的嗎？\n誠然他文章表達的不夠徹底，而是類似當頭棒喝的說法，也難怪會有人認為他是倚老賣老了。如果他能在關鍵評論網寫個三頁的思辨文章，可能效果會更好。\n褚士瑩確實有說事實，我支持他，PTT文化符合其說的缺點（不是技術層面），所以針對實際問題來探討會是避免攻訐的方法。\n2. 「說真話，不論後果如何」 # 從以上這篇的探討，看一下褚士瑩的實際做法就是如此，可能也受到他老師的影響吧。可惜惡劣的網路文化，讓這種踏實的態度被視為無的放矢。\n奧斯卡同時教會他一個希臘古字：parrhesia，意即說真話，不論後果如何。\n奧斯卡的行事作風只在乎哲學的思考，其他不符合邏輯的事情不在意，不然就是會表現的與常人不同，或許褚士瑩被感染到了吧。他是做NGO的應該沒辦法完全沉浸在這種信念，但他可以利用這種方法改善思考模式。 雖然褚士瑩去學哲學不是用傳統學術的方式，但他還是提到了三個重要的哲學思考技術：\n如何讓思考深化 (Deepening) 如何概念化 (Conceptualizing) 如何問題化 (Problemlization) 針對一件事情，我們總喜歡宣稱「自己知道一點」、「略懂」，好像很有禮貌似的。但是奧斯卡不喜歡這樣，這樣究竟是知道還是不知道？其實說「不知道」沒什麼好丟臉的！\n我想到大學時遇過的一位留英教授，她在教我們演講技巧的時候也是這樣的態度，對議題要有立場，不可以模稜兩可！\n這二本書在記敘的同時，也是一系列的思想實驗。褚士瑩在書裡面的描述多少也有culture shock的部分，也讓他反思自己的東方傳統文化根深蒂固，而導致的思考觀念。西方國家去奧斯卡那裡學習的「普通人」也有根深蒂固的偏見被奧斯卡一一指正，而褚士瑩自己因為文化造成的觀念也被改變了，所以他才會說奧斯卡改變了他看事情、甚至是看自己的角度。\n再如褚士瑩在書中展示的，他拋出的問題給諮商者想想，並不強求標準答案，這精神是很難學習的。\n最近我才知道怎麼區分知識性問題和思考型問題。思考型問題是可以懷疑的，且不一定要有立即效用的。思考這類問題還有助於自己脫離同溫層，從而看到其他面向。\n還有一個很有趣的現象：褚士瑩在北京的哲學營，看到有一半小朋友說出\n「與其失去自由痛苦，我寧可不知道自由的滋味」\n這被環境影響產生的斯德哥爾摩症候群讓褚士瑩感到一陣哀傷。\n難道如沙特所說，人類注定是背負名為自由的刑罰嗎？然而褚士瑩最後說：\n「小朋友們你們已經來不及了，因為在哲學營你們已經嘗過這個滋味了！」\n褚士瑩還曾說：\n那些喜歡不斷以自己的民族，這個百萬人都有的身份自豪的人，大概是自己身上沒有任何值得驕傲的事物吧！而喜歡嘲笑其他民族的人，除對自己民族沒自信外，對自己亦無自信。\n對民族主義的嘲諷啊。所以才說懂的承認無知，修正自己的想法：只要是有理說的通得點，就算刺耳也是可以接受的。\n3. 總結 # 最後我總結一個重點：要如何引導別人來思考問題，首先你得知道如何問一個好問題，以及知道自己問的算不算是問題。才能夠使對方明白自己的問題，進而協助對方思考，也達到哲學諮商的效果。\n如果不知道怎麼問，就從問對方一些簡單問題開始吧，盡量想辦法回答是或否，來簡化問題，最後做出推論。\n「Parrhesia，只有說出實話，才能讓我們解脫，表達盡量簡短，不隱瞞事實，再承認自己的無知。」\n上面這句話實在太好了，我抄下來當自己的新座右銘！變成：\nParrhesia，即只說真話不欺瞞，有負面的後果也在所不惜。說真話不只是言論自由，真理顯現也符合大眾利益，更是公民義務。唯有對自己誠實才能讓我們解脫。\n所以生活中是可以踐行哲學思考的，經過自己理性思考得出的結果才是較好的。\n","date":"2022年3月21日","externalUrl":null,"permalink":"/posts/2022032101/","section":"Reviews","summary":"初稿：2022年3月21日。經歷上午大學電通系的Linux入門課程，到下午通識應用國文課程的空檔，我看了這二本書。\nParrhesia，只有說出實話，才能讓我們解脫，表達盡量簡短，不隱瞞事實，再承認自己的無知。\n這二本書是NGO工作者褚士瑩寫他到法國研修哲學的系列，共二冊：\n《我為什麼去法國上哲學課？：擺脫思考同溫層，拆穿自我的誠實之旅》，2017年大田出版\n《我為什麼去法國上哲學課? 實踐篇: 思考讓我自由, 學會面對複雜的人際關係, 做對的決定》，2019年大田出版\n圖片來自博客來\n兩本書行文很簡單直白，卻拋給讀者一堆問題思考。\n第一本寫褚士瑩在法國哲學家奧斯卡．柏尼菲(Oscar Brenifier)身邊學習哲學的經過，第二本則是紀錄哲學諮商中與諮商者的對話，以應用之前學到的哲學技巧對各種人生問題提出說法。 奧斯卡．柏尼菲。圖片來源：https://www.chinadaily.com.cn/life/2017-06/07/content_29655857.htm\n褚士瑩。圖片來源：https://www.gvm.com.tw/article/40154\n1. 請跟PTT分手吧！ # 探討這二本書內容前，我想從褚士瑩2015年的一篇文章開始：請跟PTT分手吧！\n褚士瑩是台灣作家，從國小課本我就知道他了，後來在網路上也能不時看到他在天下雜誌的網站「線上哲學諮商室」刊登他對網友諮商問題的回答。內容不是呂秋遠律師回答陌生網友的雞湯文，而是真正的哲學諮商。\n","title":"討論哲學思辨之書：褚士瑩《我為什麼去法國上哲學課？》讀後感","type":"review"},{"content":"初稿：2022年3月15日。影片是在更早之前，屏東大學李美燕老師的課程所觀賞。 1. 《江口》故事大綱 # 日本演員，世阿彌的作品《江口》(えぐち)\n江口是古時候位於日本印川河下游，也就是現今的大阪附近，一個很受歡迎的遊樂區。某些人認為，這部戲是源自十四世紀的名演員世阿彌。但是傳統上卻認為，他是日本禪宗天才一休的作品。不論江口是否為一休的作品，一休特別喜愛這齣戲卻是眾所周知的。\n在一個秋天的黃昏，一位旅行僧人到了鎮上。一名女子出現在他的面前。這名女子開始吟誦西行法師的詩句。僧侶要藉住一晚的請求，被這個住在遊樂區的女子斷然拒絕。這名女子（以前）之所以拒絕西行法師一晚的要求，目的是要他放棄對世間事物緊握不放的想法。因為這個世界只是我們短暫經過的舞台。遊樂廣場裡一名婦人跳著舞的靈魂，訴說著這個世界只是過道。但是如果能有所了悟，仍是可喜的。接著她消失在西方燈光茫茫的夜空中，變成菩賢菩薩及凡悟菩薩。\n能劇江口給我們的啟示，悟的可能性在於理解生命的短暫，以及明了幻象終歸是幻象。這個故事同時說明，了解這些真相的女子是一位菩薩。這是已經達到色即是空，空即是色境界的心境。\n2. 禪的世界的啟示 # 日本有一部介紹禪宗思想的劇集《禪的世界》（禪のさ思，2005年），裡面有一集為介紹受禪宗影響的日本文化藝術，提到了《江口》這部日本能劇的劇情。不過中配翻譯的有點糟，上面的雖然照抄，但有修改過。 《江口》的故事有很多版本，最初西行法師遇到名為江口的女子，請求暫留遭拒，朗誦詩句，江口卻回以絕妙詩句，於是法師與其徹夜長談江口身世，還促成江口出家。\n王資淳(2014)紀錄的版本如下：\n西行法師：「因厭惡塵世而出家著實不易，您卻吝惜留宿之處呀。」\n遊女答到：「聽聞您是厭惡俗世之人，望您勿執著於留宿之處。」\n而後來有僧人想仿效這個故事，但後來遇到的江口卻自稱是江口的幽靈。晚上僧人於川邊弔唁江口時，看到江口和仕女靈體在遊船上，歌頌著因果報應、諸行無常，最後江口變成普賢菩薩、船化作白象，向西升天離去。\n話說，日本古代的遊女其實就是妓女，但是她們多半通曉詩書，不是單純賣身。\n3. 江口在舟上吟誦的道理 # 能劇聽起來大約就這種感覺，此為小謠。能劇取自禪宗精華「虛無」「空」，是發自隱喻，內心綿綿回憶的藝術形式。 關於江口在舟上吟誦的道理，原文如下(引用來源)\n夫れ十二因縁の流転は車の場に廻るが如し。 鳥の林に遊ぶにたり。\n前生又前生。\n曽て生々の前を知らず。\n来世なほ来世。更に世々の終をわきまふる事なし。\nあるひは人中天上の善果を受くといへども。\n顛倒迷妄して未だ解脱の種を植ゑず。\n或は三途八難の悪趣に堕して。\n患にさへられて既に発心のなかだちを失ふ。\n然るに我等たま／＼受けがたき人身を受けたりといへども。\n罪業深き身と生れ。殊にためし少なき河竹の流の女となる。\n前の世の報まで。思ひやるこそ悲しけれ。\n紅花の春の朝。紅錦繍の山粧なすと見えしも。\n夕の風に誘はれ紅葉の秋の夕。黄纐纈の林。\n色を含むといへども朝の霜にうつろふ。\n松風羅月に言葉をかはす賓客も。去つて来る事なし。翠帳紅閨に。\n枕をならべし妹背もいつのまにかは隔つらん。およそ心なき草木。\n情ある人倫いづれ哀を遁るべき。かくは思ひ知りながら。\nある時は色に染み貪着の思浅からず。\n又ある時は。声を聞き愛執の心いと深き心に思ひ口に言ふ妄舌の縁となるものを。\nげにや皆人は六塵の境に迷ひ六根の罪を。作る事も。\n見る事聞く事に。迷ふ心なるべし。\n実相無漏の大海に。五塵六欲の風は。吹かねども。\n随縁真如の波の。立たぬ日もなし／＼。\n波の立居も何故ぞ。仮なる宿に。\n心とむる故。\n心とめずはうき世もあらじ。\n人をも慕はじ。\n待つ暮もなく。\n別路も嵐吹く。\n花よ紅葉よ。月雪のふることも。あらよしなや。\n4. 不執著世間的道理 # 普賢菩薩化身成遊女訴說這個不執著世間的道理，實相、五塵六欲、隨緣真如皆為佛教用語。告誡僧人不要執著於借住地點這個人世間的暫時之所。\n我比較喜歡禪的世界所下的註解「雖然世間仍是幻象，但若有所了悟，仍是可喜的」，雖然找不到直接證據說明這是在講哪句話。\n中文系 —— 對我來說是外系—必修「隋唐佛學」這門課果然沒有白上。解釋了禪宗道理，研究六祖壇經。不過就連任課老師也說難以說清佛理，所以一學期時間，就只能介紹歷史與一些思想，然後給我們看像是禪的世界的影片自行了悟。至少有一個很重要的概念是：不執著，同樣也不能執著於不執著。\n一個插曲：2021年鄰近寒假的時候開始遠距教學，有一位躁鬱症同學跟老師聊了太多關於他旅遊的事情，被同學制止後大發雷霆，在整個會議室大罵。最後被他的母親苦苦相勸「不要再這樣子了啦」，最後才下線。\n我想這是他的造化，要面對的功課吧。\n修習佛法除了起到心裡治療作用外，我也明白佛教思想是不能與德國哲學相提並論的。現在修了憲法和作業系統後才知道，預設前提不同的課題是不能期望有相同的結論的。 因為更早以前的辯論課會要求說明理由，表達立場，於是二個學期下來，養成神經質的質疑習慣，才會導致為緩解焦慮症去Pixiv投稿一些暴露的作品吧。越是要求明說、為何會這樣，在佛教便難以找出理由來，只會用智慧理解。因此各科都有其邏輯，這個課起到調和轉化的作用。\n這樣看來，追求頓悟的過程，很多人都是在漸悟吧。雖然了悟一些佛理，但看了褚士瑩的書《我為什麼去法國上哲學課？》後，我還是想帶著哲學一起活下去。\n參考資料 # 標題圖來源：https://prtimes.jp/main/html/rd/p/000000229.000014302.html\n王資淳。2014。江戶時代江口君繪畫初探。\n能．演目事典：江口。https://www.the-noh.com/jp/plays/data/program_101.html\n能「江口」について。 https://aobanokai.exblog.jp/30048767/\n時雨西行。http://www.tetsukuro.net/nagautaed.php?q=107\n江 口 - 能絵館 Noh-e。https://www.noh-e.com/%E8%83%BD%E7%B5%B5%E6%89%8B%E9%91%91/%E4%B8%89%E7%95%AA%E7%9B%AE%E7%89%A9/%E6%B1%9F-%E5%8F%A3/\n","date":"2022年3月15日","externalUrl":null,"permalink":"/posts/2022031501/","section":"Reviews","summary":"初稿：2022年3月15日。影片是在更早之前，屏東大學李美燕老師的課程所觀賞。 1. 《江口》故事大綱 # 日本演員，世阿彌的作品《江口》(えぐち)\n江口是古時候位於日本印川河下游，也就是現今的大阪附近，一個很受歡迎的遊樂區。某些人認為，這部戲是源自十四世紀的名演員世阿彌。但是傳統上卻認為，他是日本禪宗天才一休的作品。不論江口是否為一休的作品，一休特別喜愛這齣戲卻是眾所周知的。\n在一個秋天的黃昏，一位旅行僧人到了鎮上。一名女子出現在他的面前。這名女子開始吟誦西行法師的詩句。僧侶要藉住一晚的請求，被這個住在遊樂區的女子斷然拒絕。這名女子（以前）之所以拒絕西行法師一晚的要求，目的是要他放棄對世間事物緊握不放的想法。因為這個世界只是我們短暫經過的舞台。遊樂廣場裡一名婦人跳著舞的靈魂，訴說著這個世界只是過道。但是如果能有所了悟，仍是可喜的。接著她消失在西方燈光茫茫的夜空中，變成菩賢菩薩及凡悟菩薩。\n能劇江口給我們的啟示，悟的可能性在於理解生命的短暫，以及明了幻象終歸是幻象。這個故事同時說明，了解這些真相的女子是一位菩薩。這是已經達到色即是空，空即是色境界的心境。\n","title":"覺悟生命短暫，能劇《江口》與禪宗《禪的世界》給我的啟示","type":"review"},{"content":" Linuxを学んだのは、学校に学べと言われたからではなく、波のように断続的にやってきたものだ。なにせ私が専攻していたのは言語関連の学科だった。」 自分がもうLinuxを学び終えたとは思っていない。特にサーバー方面はまだかなり浅い。現在は主にLinuxをメインOSとして使い、文書作成、美工、ゲーム、そしてたまにプログラム開発に使っている。\nLinuxを学ぶ利点は、多くのオープンソースソフトウェアの解決策を知れたことで、しかもその多くがクロスプラットフォームであり、数多くの商用ソフトウェアを置き換えられることだ。もちろん、自分用の話であって、業界ではたぶん大半が受け入れられないだろう。\nLinuxの学習過程はかなり断片的で、知識点を一つずつ補っていく形だった。最近になってようやく、中国語入力メソッドにはあれほど多くのフレームワークを選べるのだと知った。私はわざわざLinuxの入門講座を受け、鳥哥のLinux私房菜を読んで、初めて順序立てて学ぶとはどういう感覚なのかを知った。理解を深めるため、資工系でデータ構造とオペレーティングシステムを履修した（この二科目はどちらも数学を使わなくて済むから;P）。\n編年史 # 2018年\n最初の接触は高校時代に使ったUbuntu 16.04だった。32bitのWindows 7は2GBメモリのマシンでは少し重かったので代替品を探し、当時はまだWubiという怠け者向けの方法でインストールしていた。\n使ってみると、やはり同じように重かった。もしかするとE3300 CPUのせいではなく、長い間GPUがG41のマザーボード内蔵グラフィックに依存していたからかもしれない（最近になって知った）。だからGnomeデスクトップのアニメーションがlagするのも不思議ではなかった。\nその後Lubuntuも大して良くなかった。グラフィックチップの力が足りず、LXDEのウィンドウがしょっちゅうIEみたいにコマ落ちして重なった画面になったからだ。\nそのため、断続的に数か月遊んだ後に削除してしまった。ただ、これは一つの始まりだった。\n2020年\nその後数年は沈黙していたが、2020年になってまたUbuntuにハマり始めた。今から見ればUbuntuはLinuxのすべてではないが、入門には最も向いている。当時、私のPCはWannacryに似たMarsウイルスに感染してしまい、勢いでWindows 10を削除し、Ubuntuをメインシステムにした。しかしLibreofficeに慣れず、結局一か月も経たないうちにWindowsへ戻った。当時はデータ用ディスクまでEXT4にフォーマットしていたが、Windows上ではドライバーを入れないと読めず、互換性も良くなかったので、NTFSへ戻した。\nこの混乱した時期には、仮想マシンもだいたい使えるようになっていたので、LinuxはVMwareの中に置くようになった。\n2021年\n2021年は、おそらく最も広く触れた一年だった。Windows 11とLinuxのデュアルブートを作ろうと思っていた。最初はそうだったのだが、Windowsは起動後にしょっちゅうUbuntuのパーティションを壊し（起動後にfsckでディスクを修復する必要があった）、FedoraやKubuntuを入れてもパーティション破損問題は解決しなかったので、また単一システムに戻った。その後Arch Linuxも試したが、面倒すぎた。\n9月、Termuxが私の視野を開いた。TermuxはAndroidスマートフォン上で端末を実行でき、Android自体のコマンドだけでなく、chrootに似たLinux環境、つまり制限がさらに多いProotを作ることもできる。root権限は不要だが、VNC、PulseAudio、さらにはX11 serverまで自分で設定しなければならない。感覚としてはArch Linuxを使っているのに似ているが、Prootの機能はやはり限られており、systemdは使えず、ハードウェアアクセラレーションを使うにもドライバーをコンパイルしなければならない。\nTermuxを研究したことで、私はLinuxの低レイヤーの細部をさらに知ることになり、dockerを動かすためにcgroups対応のAndroid kernelをコンパイルすることさえした。\nこの頃にはpostmarketOSにも触れた。スマートフォン向けのLinuxディストリビューションで、Alpine Linuxという超小型ディストリビューションに由来する。ただし、使っているのはかなり珍しいmuslcで、ソフトウェアを移植するには難度がある。\nAlpine Linuxはdocker方面で比較的人気があるようだ。クローズドなドライバーのAndroid上でLinuxを動かすには、libhybrisの技術を採用しないと多くのハードウェアドライバー問題にぶつかる。しかしUbuntu touchのようなものだと、少し継ぎ接ぎ怪物めいた感じがする。\nMicrosoftが出したWSL2もだいたい成熟してきた。ただ私はchrootのように制限が多いシステムはあまり好きではない。処理すべき問題が多すぎるので、おとなしく仮想マシンを開くほうがよい。\n2022年\n2022年、私はまたUbuntuをメインシステムに戻した。学校と個人の独学による努力のもと、Windowsプラットフォーム上ではすでに主流の文書作成・美編ソフトウェアを学び、基本概念を把握していた。そこで一学期をかけて「Linuxへ移行」した。Windowsという比較的安定したプラットフォーム上でWindows版のオープンソースソフトウェアを多く使い、仮想マシンにも慣れ、準備が終わればほぼ痛みなくLinuxへ移行できる。\nただしその前に、まず一週間ほどManjaro KDEを試した。見た目はきれいだったが、やはりAURでソフトウェアをインストールする方式に慣れなかったし、Manjaroのソフトウェアリポジトリは完全にArch Linuxのものでもないので、問題解決がさらに難しくなる。\n最後はおとなしくUbuntu 20.04に替えた。\n美工・描画方面にはすでにAdobeの代替案がある：GIMP、Kritia、Kdenlive。文書作成はWeb版Oficeを使う。\nゲーム方面では、私が主に遊ぶ大型ゲームであるWar Thunderは特に問題ない。ただしMinecraft統合版は、おそらく本当にAndroid版でしか遊べない。\n現在の考えとしては、本当にWindowsソフトウェアを使う必要があるなら、KVMアクセラレーション付きの高効率Windows仮想マシンも使えるので、Ubuntuをメインシステムにしても問題ない。\nいつかVisual Studioが必要にならない限りは……はは、LinuxにはVS Codeしかない。\nわけがわからないことに、毎年PCを再インストールしている。今年はうっかりGithubでのサイト構築データまで失ったので、今後はどんな理由であれ、長期保存する文書は必ずデータ用ディスクに置くべきだ。互換性を考えると、データ用ディスクはやはりNTFSを使う。\n今はLinuxでコマンドを打つときの警戒心が高くなり、起動ディスクを作ろうとして別のデータディスクをフォーマットしてしまう惨劇はもう起こらない。GUIプログラムで処理するのも、多少は保険になる方法だ。\nデスクトップ環境はデフォルトのGnomeを維持すればいい……Manjaro KDEには触れたが、Gnomeのシンプルな風格も悪くない。\n自由ソフトウェアへの全面移行はここから始まる # なぜLinuxを使うのか？まずFSF(Free Software Foundation) の自由ソフトウェアの定義を見てほしい：\n「自由ソフトウェア」とは、ソフトウェアがユーザーの自由、そしてコミュニティの自由を尊重することを意味する。大まかに言えば、それはユーザーがそのソフトウェアを実行、複製、配布、研究、変更、改善する自由を持つことを意味する。\nFSFの理念に賛同し、プライバシーのため、安全のため、そして何より自由のために、四年かけて熟成させた末、全面的にLinuxへ転換することを決めた。つまり、PCとスマートフォンのOSはどちらもLinuxでなければならず、その上で動くソフトウェアも大部分が自由ソフトウェアでなければならない。さらにはPC周辺機器（ペンタブレット、ネットワークカード）などもLinuxフレンドリーでなければならない。Linuxがサーバーにしか存在できないわけではなく、同時にデスクトップシステムとしても使えることを証明するためだ。\n身分を言うなら、私はせいぜいアマチュアのプログラム開発者にすぎない。PCとスマートフォンの日常用途は、依然として執筆、オフィス作業、美工であり、たまに少しゲームをする程度だ。\nではLinuxへ切り替えて見つけたこと、学んだことを話していこう。いくつかの部分に分ける。以下で言及するソフトウェアには参考用のリンクを付けてある。\nPCには自由なシステムを採用する # PCスペック：i5-7400 + Nvidia GTX1050Ti、美光500GB SSD + 16 GB RAM。\n現在ディスク上にはUbuntu一つしかない。デュアルブートはLinuxを使ううえで何の利点もなく、人をずっとWindowsに入りたくさせるだけで、しかもWindowsはしょっちゅうLinuxパーティションを破壊する。\nディストリビューションにUbuntu + Gnomeを採用している理由は、使っている人が多いからで、GUIと端末を使う比率はおよそ半々だ。\nUbuntuはユーザーを監視する汚いことをしたと非難されたことがあり、また我が道を行くところもある。たとえばSnappyを強く推し、Flatpakに対抗している（後者は大部分のディストリビューションで採用されている）。それでも私は、メインPCではUbuntuを使うのがよいと思っている。仕事と娯楽のバランスを得るためだ。各ディストリビューションに共通する概念を十分に把握したら、いずれUbuntuを離れてGentooやLFSを学べるかもしれない。 一方、もう一台のG41チップセットのマザーボードを搭載した古いPCでは、私はずっとディストリビューションを切り替えている。そこでArch Linux、Fedora、openSUSEを試し、Flatpakを使って各ディストリビューションにおける常用ソフトウェアの差異を埋めている。どこかのパッケージ版が古いという問題が起こらないようにするためだ。 それでもWindowsを使わなければならない時はある。たとえば他人のROM焼き問題に答える時、あるいは教授がVisual Studioを使えと言う時だ。この時の私の解決策はQEMU KVM仮想マシンで、Linux上での効率はVMwareやVirtualBoxよりずっと速い。\nこうして状況は逆転した。過去数年はLinuxをWindowsプラットフォーム上の仮想マシンに閉じ込め、たまに遊ぶものとして扱っていた。今は日常のメインがLinuxとなり、Windowsは仮想マシンの中に監禁され、Line PC版のような「頑固ソフト」をたまに開くために使うだけになった。 ハードウェアへの要求はノートPC/変形タブレットにも拡張できる。今後ノートPCを買うなら、キーボードの光り方を駆動したり画面の色を調整したりするためだけに、Windowsしかサポートしないハードウェアを山ほど買うことはないだろう。だからSurfaceは一見良さそうなタブレットだが、第一候補ではない。\n小結：今のPCにはメインシステムが一つだけあり、その他のシステムはすべて仮想マシンの中に閉じ込めている。マルチブートは人を気を散らせるだけだ。\n自由ソフトウェアへ全面移行する # 多くのものは自由ソフトウェアで代替できる。たとえ業界や学術機関が採用しなくても、独学や自用ならできる。\n注意すべきなのは、オープンソースソフトウェアは自由ソフトウェアと完全に等価ではないということだ。ただし、この基準は現時点ではまだ厳しすぎる。\n2021年に6か月をかけて正式にLinuxへ移行する計画を始めた。そこでWindows 11上で段階的に自由ソフトウェアを使い、OfficeやAdobeの美工ソフトウェアから徐々に切り離し、それらを「本当に緊急のとき、他人から送られたファイルが開けないときだけ使うもの」にした。\nこれらはどれも自由ソフトウェアで置き換えられる。Officeで新しい文書を作るならLibreOfficeを使えばいい。ただし論文は教授に見せる必要を考慮して、今でもWeb版Wordで編集している。\n画像編集は主にGIMP、Kritia、Kdenliveで代替している。\nGIMPにはスマート塗りつぶし機能があり、画像制作や修正ができ、漫画の中国語化もできる。フォントは主に\u0026quot;NotoSans CJK\u0026quot;を使う。\nKritiaはPhotoshopの代わりに描画に使っている。そのためにペンタブレットも蒙恬からワコムに替えた。そうすればコミュニティが提供するドライバーをインストールできるからだ。\nKdenliveは、字幕付けを含め、私のYouTube動画編集作業の大部分を十分こなせる。威力導演や会声会影レベルの編集ソフトを代替できる。 モデリングが必要ならBlenderを使う。Blockbenchのモデルを処理するにも十分すぎるし、時には少し動画特效も作れる。プログラムを書くならコンパイラーとGNU Nanoがあれば書ける。クロスプラットフォームIDEとしてはQT CreatorやVS Codeも使える。\nブラウザーはWindows時代にはChromeからEdgeへ移り、その後Firefoxに替えた。Firefoxは現在、市場ではむしろ弱勢で、多くのWebページはFirefoxで見ると正常に動かない。たとえばImgurでドラッグしてアップロードできないなどだ。しかしFirefox Syncはなかなか良く、各プラットフォームにあるので使い続けている。艦隊Collectionなど特定のサービスで遊ぶ時だけChromiumを開く。\nFSFはインターネットサービスの利用は自由ソフトウェアの範疇には含まれないと考えているが、それでもネットサービスの変化について少し話しておく。\nGoogleが私のクラウドをスキャンするので、重要なデータはMEGAへ移し、電子メールはProtonMailに替えた。\nストリーミングサービスは選びようがない。なにせ著作権物だからだ。現在はApple Musicだけ契約してロスレスを聴いている。DRMは自由を損なうものではあるが、どうしようもない。マイナーな音楽は今でも海賊版flacを取りに行かなければならない……物理CDを買うのは大工事だ。\nソーシャルメディアからはまだ離れられないが、LBRY、Matrix/IRCなどのプラットフォームに触れた後、もっと普及させてもよいと感じた。特にLinux開発者はIRCでチャットするのが大好きだ。これらはDiscord、Telegramのような比較的不自由な通信サービスを置き換えるために使えるかもしれないし、これらのサービスへアクセスするクライアントも、なおさらオープンソース版を採用すべきだ。 小結：必要でない限り、私はWindows仮想マシンを開かないし、クローズドソフトウェアも使わない。たとえLinux版があっても同じだ。ソフトウェアによってはWeb版だけで解決できるものもあり、その場合は「ソフトウェアを使う」というより「サービスへアクセスしている」と見なすことがある。\nLinux上でのゲーム対応状況 # ゲームは自由ソフトウェアの領域では少し微妙だ。自由でオープンソースなゲームを遊ぶことにこだわる人は少ないからだ。\n私が主に遊ぶゲームはMinecraft統合版、艦隊Collection、War Thunderだ。\n艦隊Collectionはオンラインゲームなので問題ない。HTML5対応ブラウザーなら遊べる。ただし厳密に言えば、艦隊Collectionには「不自由なJavaScript」を実行している疑いがある。コードが難読化されているためで、以前は解析プレイヤーのFlatchiが皆のために解読してくれていた。\nFSFは\u0026quot;LibreJS\u0026quot;を提供しており、Firefoxと組み合わせて使う。ただし基本的にLibreJSを入れると、開けるWebページはIE時代のページくらいしか残らない。\nMinecraft Java版はクロスプラットフォーム対応が比較的良い。統合版はLinuxでは少し問題があるが、遊べないわけではない。Java版ランチャーにはオープンソースのMultiMCがあり、Modとバージョン管理に非常に便利だ。\nMinecraftといえば、実はオープンソース版のMinetestが代替として使える。同じく高度にモジュール化されているが、人数は比較的少なく、海賊版と誤解されやすい。 War Thunderは数少ないクロスプラットフォームの大型マルチプレイヤーゲームで、Steam起動に依存する以外は大きな問題がない。 一部の古いWindowsゲームはWineで起動できるので、ゲームを遊ぶこともそれほど大きな問題ではない。必要ならGPUパススルーをWindows仮想マシンに渡し、その中でゲームを実行することもできる。\n小結：私が遊ぶゲームはいずれもクロスプラットフォーム能力があり、スマートフォン側も同じだ。そのためLinuxへの転換に重荷はない。\n自由でオープンソースなスマートフォンへ切り替える # AndroidもLinuxベースではないのか？AndroidとGNU/Linuxにはまだ大きな隔たりがある。Androidには独自のCライブラリがあり、スマートフォンメーカーは多くのクローズドドライバーを使う。AndroidとGoogleサービスの結び付きもますます強くなっている。だからAndroidをLinuxスマートフォンの一種と見なすべきではない。 iPhoneは言うまでもなく、エコシステム全体が超クローズドだ。だから以前iPhoneやiPadに夢中になったことがあっても、今後はそれをメイン機の選択肢とは見なさない。Appleがどれほどプライバシーと安全を保障しても、自由がなければ私はこのシステムを使わない。\nROM焼きを覚え、Android上にTermuxとLinux Deployを入れてLinuxで遊ぶようになってから、Linuxシステムについてさらに多くを知るようになった。\nそこで、ハードウェアからソフトウェアまで自由なスマートフォン、つまりPinePhoneを購入した。これには多くのGNU/Linuxディストリビューションをインストールできる。関連記事：開箱：Pine64 PinePhone，真Linux手機詳細介紹 実際に使ってみると、PinePhoneはごく基本的な通信需要を満たせる。postmarketOSとMobianはどちらも面白いスマートフォン向けLinuxディストリビューションだ。ただし前者はmuslCを採用しており、主流Linuxから見ると比較的珍しい選択だ。にもかかわらず、このプロジェクトは大量の古いAndroidスマートフォンをサポートしており、開発に参加する人も比較的多い。\nしかし、PinePhoneは現代人のスマートフォン習慣に合っていない。特にバッテリー持ちだ。\n数日間メイン機として使った後、やはりAndroidスマートフォンへ戻った。以前はXiaomiでROM焼きをするのが面白いと思っていたが、Sony Xperia 5 IIは今のところ私の好みに合っている：イヤホンジャック、悪くない外部スピーカー、ノッチなし、カメラ・録画・収音が良い、広色域ディスプレイ、4000mAhの電池容量、軽くて小さい。\n残念ながら、PinePhoneはまだ以上の需要を満たせない。主な理由はハードウェア性能が低すぎることだ。 しかしAndroidスマートフォンのソフトウェア選択も変化し始めている。ROM焼きではPixel Experienceを選ばず、LineageOSを選び、microGをインストールしてGMSフレームワークを置き換え、Googleサービスへの依存を下げようとしている。\nさらに、ソフトウェアはできるだけF-Droidから探す。自由ソフトウェア理念に賛同する人なら絶対に見逃せない。ただ残念なことに、スマートフォン上で使いやすく自由な音声・映像編集ソフトウェアはまだ一つもなく、結局Google Playから有料または広告だらけのクローズドソフトウェアをダウンロードするしかない。\nスマートフォンゲームについては、私が遊ぶのは前節で触れた数本だけで、それ以外のスマホゲーは遊んでいない。\n小結：Linuxスマートフォンを使うことで、私は自由ソフトウェアへの理解を深め、それをAndroidスマートフォン上でも実践するようになった。たとえシステムそのものが十分に自由ではなくても、自由なLinuxシステムへ無限に近づけることはできる。\nその他、改善したいところ # 上で触れた移行問題について、ここで少し補足し、まとめておく。\nLinuxはPC側では確かに日常のメインとして使えるが、スマートフォンはまだ成熟していない。\n予算があるなら、私はもうNvidiaグラフィックカードを買わない。Linuxへのサポートが非常に悪く、死んでもオープンソース化しない。コミュニティが開発したNouveauドライバーはリバースエンジニアリング由来で、それほど安定しておらず、画面のフリーズを引き起こしやすい。そのため私はまだX11からWaylandサーバーへ切り替える勇気があまりない。\n以前はゲームのレイトレーシングを体験してみたいと思っていたが、今はドライバーの開放性のほうが重要だと思っている。だから将来はAMDかIntelを選ぶだろう。\n外付けハードウェアについては、ペンタブレットの対応は悪くない。しかしUSB Wifiネットワークカードを買う時、プラグアンドプレイで使える機器を出すメーカーが本当に少ないと感じた。多くは別途ドライバーをコンパイルしなければならない。台湾では輸入が少ないせいなのだろうか？PCIEインターフェイスのネットワークカードはメインラインカーネルのサポートを得やすいが、各大手メーカーのUSBネットワークカードは、サードパーティドライバーをインストールしなければならない。そうでなければプロプライエタリドライバーだ。どうやらMediaTekのものだけが、別途ドライバーをインストールしなくても使えるようだ。(出典) インターネットサービスについては、Googleフォトにはもう新しい写真をアップロードしていない。写真はハードディスクに保存しており、将来は自前NASの方向へ進むつもりだ。実際のところ、現在もメモ、カレンダーはGoogleサービスにかなり依存している。Proton社のものを使うのも長久の計ではなく、最後にはこれらすべてをself-hostingで解決しなければならない。\nスマートフォンでPinePhoneを使うことは、なお社会実験および普及活動に近い。PinePhoneを使い続ければ原始人になってしまう。\n私はハードウェアを購入することでスマートフォンLinuxの発展を支持しているだけで、実際に一些APP的使用心得：PinePhone日常使用與其他用途も書いた。PinePhoneはRaspberry Piに似ていて、いじり方はまだたくさんあるからだ。\nしかし日常利用は、今のところ本当にまだ無理だ。PCのように思いのままにはできず、性能も足りない。 自由ソフトウェアを使うことは、世界に逆らっているようにも見える。しかし私は一人ではない。こうした問題に注目すればするほど、本質の所在を意識するようになる。Scott McNealy談及的下賊船的代價は小さければ小さいほどよい。そうでなければ自分の権益を犠牲にし、さらには企業や組織全体を危険にさらすことになる。\n最後に、自由ソフトウェアを普及させる習慣を身につけることは、皆にMicrosoft Officeを捨てるよう勧めるところから始め、段階的にハードウェアへ広げていけばよい。自分のデジタル人権を意識した人が、自分自身に対して、そして同時に人々の福祉に対して貢献できるようにするためだ。\n私が知っていることは多くない。しかし自由を支持する理念は徐々に自己の哲学として内面化されてきた。だからこそ、主流ではなく、盲従しない選択肢に触れることには、やはり必要性がある。\n","date":"2022年3月8日","externalUrl":null,"permalink":"/ja-jp/posts/linux-learning-history/","section":"Foss-Issues","summary":" Linuxを学んだのは、学校に学べと言われたからではなく、波のように断続的にやってきたものだ。なにせ私が専攻していたのは言語関連の学科だった。」 自分がもうLinuxを学び終えたとは思っていない。特にサーバー方面はまだかなり浅い。現在は主にLinuxをメインOSとして使い、文書作成、美工、ゲーム、そしてたまにプログラム開発に使っている。\nLinuxを学ぶ利点は、多くのオープンソースソフトウェアの解決策を知れたことで、しかもその多くがクロスプラットフォームであり、数多くの商用ソフトウェアを置き換えられることだ。もちろん、自分用の話であって、業界ではたぶん大半が受け入れられないだろう。\nLinuxの学習過程はかなり断片的で、知識点を一つずつ補っていく形だった。最近になってようやく、中国語入力メソッドにはあれほど多くのフレームワークを選べるのだと知った。私はわざわざLinuxの入門講座を受け、鳥哥のLinux私房菜を読んで、初めて順序立てて学ぶとはどういう感覚なのかを知った。理解を深めるため、資工系でデータ構造とオペレーティングシステムを履修した（この二科目はどちらも数学を使わなくて済むから;P）。\n","title":"Linuxを学んできた歴史と感想：なぜLinuxシステムへ移行するのか？","type":"foss-issues"},{"content":"初稿發表於2022年3月2日，巴哈姆特個人小屋，r/chonglangTV被封當天深夜胡亂扣字扣出來的。2023年10月4日增補修訂，轉貼於此。\n2022年3月2日，Reddit上的大型中文sub r/chonglangTV被封，原因是洩漏個人隱私。\nr/chonglangTV存在時間：2019年11月 - 2022年3月\n在被封之前，有人po了典中典的「張媽下樓梯」影片，據說這是經典的亡國預兆。 作為一個反共中文sub，chonglangTV高達五萬人關注，最近常在線上的就有一萬人，擠進Reddit前幾大熱門sub。\n(這張截圖是偷來的) 若要簡介由來，因為我算是2020年末才混進來的引流狗(以Komica島民的話語來說「外來種」比較好理解吧)，所以只講個大概。以下描述不免帶有個人立場，但只要記住一句：麻了，就完事了。\n1. chonglangTV由來 # (本段文字曾經被觀察者網放在新聞稿中，謝絕牆國媒體野蠻剽竊，，，)\nchonglangTV sub的描述：\n流亡浪人中央，浪人们最后的根据地，永恒矗立的灯塔。\nr/chonglangTV由叫做神友(或稱浪人、鼠人、神蛆)的中國網路群體所建立，屬於抽象文化的分支。2019年左右在牆內(中國網路)的百度貼吧混，但是言論過於極端，貼吧一個被封一個，所以改到Reddit上建立自己的sub，亦成為Reddit上人氣數一數二的中文社區。在此之外還有r/China_irl，同樣會鍵政，但是屬於比較溫和的sub，因此冲浪TV稱他們為太監。\n2. chonglangTV sub日常討論的內容 # chonglangTV源於百度貼吧，這裡我只說我在Reddit時期的所見所聞，貼文內容不外乎是：\n轉貼牆內小粉紅言論予以嘲諷辱罵 討論怎麼留學國外，逃離地獄中國 炒作日常生活，炫耀自己外國住居 複習貼吧時期典中典的影片或段子 使用盒武器肉搜小粉紅的個人資料 轉貼其他sub的用戶發言進行拷打 學習劉仲敬的思想，支持諸夏主義，期望張獻忠和毛澤東再世，把中國人都屠了 時不時的NSFW影片，包含牛子妹妹、煉銅、愛貓、霸凌、私刑、燒杯貓貓 開中國政治人物玩笑，詛咒習近平死，罵拜登無能，轉貼毛澤東的反人類語錄 回文時只要提到關鍵字，版主設立的AutoModerator有機率自動回個搞笑回覆 根據原来有人不知道葱友入侵说，我简单科普一下冲浪兴衰史的說法，冲浪TV早期遭遇過品蔥蔥友入侵，蔥友帶來鍵政和姨學，和神系梗融合，導致複讀爛梗與鍵政的人變多，神系的貼吧風氣開始變質。在Mod趕人之後，一部分人出去建立r/CLTV，與r/chonglangtv成對立狀態。\n因此在那之後，神友除了對中國共產黨的全面反對以外，還學習劉仲敬的思想，要讓中國分裂成諸夏，並期望張獻忠和毛澤東再世，把罪惡的中國人都屠了。 神友常援引西方思想，攻擊中國人生活各層面的「支」性，破解各種中國文化優越性的論調。有時候共產黨的宣傳用語，正是他們解構的絕佳材料。\n神友同時具有「鼠人」屬性，即自認社會底層人士；run成功的叫做「蝙蝠人」，即會飛的老鼠。\n現實生活有神友躺平卻做著出國留學的夢，真的run出去的也不忘製造節目效果，發帖讓牆內鼠人羨慕。 R皇肖石坤，著名蝙蝠人之一，常常炫耀在澳洲的生活。名言：窮蛆們，滾。\n在政治議題上常出現左右派互搏情況，部份run美國的浪友篤信基督教，有些則是會當女拳左逼。\n神友一般討厭抗(抗压背锅吧)、帶、兔(那年那兔吧)、V(Vtuber吧)、蔥(品蔥)、輪(法輪功)等地的用戶。但又吸納了這些群體的梗來用。\n討厭支產二次元，包含舟批(明日方舟)、原批(原神)、農批(王者榮耀)。不過還是會有人會拿遊戲劇情諷刺當今政治，還繪製二次元張獻忠娘。 涉及新聞事件常常地域黑：例如百京爺、東百狗、沙東人、河南偷井蓋、廣西猴。\n大部分時候神友很團結，對港友和灣友還算友善。小粉紅混進來都會被罵慘，網警也不好滲透。\n但神友也有分裂的時候，曾有女神友發了一張自己的陰唇照片特寫（有附Reddit用戶ID證明是自己），引爆sub神友與舔狗的批照大戰，吵了好幾天，結果日後Mod宣布不準再發類似帖子。 r/ShouChongTV的經典回顧\n3. 造梗能力強的chonglangTV # 有很多貼吧的梗在這裡保留下來，例如《冲浪tv是我见过最理性》：\n冲浪tv是我见过最理性，最自由的地方，在这里，色欲被正视，失败也只是一种人生状态，大家甚至尊重无良商贩，家徒四壁也不会成为交流障碍，每个人表现出如儿童般直白的索取欲。大家拒绝一切伪善，相信伟大终究平凡，正视成功学的无用，大家知道奋斗和努力是比回避更低级的社会性遵从，是弱势者存活的借口。而挣脱一切的第一步就是反其道而行之，停留在时间与空间的夹缝，大家的不思进取是看透，大家的不学无术是反抗，毫无光彩的人生是沉默的接受，下水道般的生活是为了更好的仰望星空。\n還有《大的来了是荒诞戏剧的代表作》：\n《大的来了》是荒诞戏剧的代表作。以几个鼠人苦等“大的”，而“大的”不来的情节，喻示人生是一场无尽无望的等待，表达了世界荒诞、人生痛苦的存在主义思想。它发生的时间地点都是模糊的，布景也是一片荒凉，他们一边等，一边用各种无意义的手段打发时光。他们经常显得头脑一片混乱，缺乏思维能力，尤其是极度地惧怕孤独。当有人询问“大的代表什么”时，鼠人们说：“我要是知道，早就说出来了。\u0026quot;\n搬到Reddit後，間接產生了許多新梗，像是：\n南京大出生(南京大屠殺) 十年大健身(十年文革) 三年大吃飽(大躍進飢荒) 大伙也看的蠻開心的，還集體引進到中國牆內陷害小粉紅。\n如果你覺得上面說的已經很不適（我不會，我已經魔怔了），那看神友平常怎麼說話的，以下全是梗：\n稱呼中國人為「蜘蛛」，即「支那豬」，很多時候用蜘蛛的Emoji代替 反利用小粉紅的罵人梗，開口閉口「死媽」，只不過罵的對象不同 「屠支」、「蜘蛛切」、「支多瑪」、「核平中國」、「排華」、「獻忠」，不絕於耳 看到搔首弄姿的女人就說「不守婦道的東西，糙死你」，看到幼女就想「輝」 「繃不住了」+ 大量中國方言 + 地域黑 有些梗要常混才看得懂，神友會自嘲說大夥兒都很爽朗，有話直說。神友整體就是除了反共，還仇中，憎恨作為中國人的種族，有時候分不清楚是不是反串。有自覺的中國人可能會被神友讚揚為「索多瑪義人」，獻忠(殺人)行為被讚賞為反抗中國暴政的舉動。\n這樣看下來，神友思維已經有些「魔怔」了，反共反中在這裡就是主流民意，大夥兒只為找樂子。Reddit上的另外二個大型中文sub：r/China_irl和r/DoubanGoosegroup都不歡迎這個「仇恨社區」的用戶，他們會自動封禁常在r/chonglangtv混的帳號。\n如果Reddit站方早點把「支那人」這個詞彙當成\u0026quot;N_gger\u0026quot;一樣敏感處理的話，冲浪TV早被封好幾百次了。\n4. chonglangTV被封的原因 # r/chonglangTV中期因輸出殺狗影片，遭Reddit禁止crosspost（跨sub拷打），使Mod產生危機意識開始管制言論。後期有人批判Mod濫權，稱其為「權蛆」。\n有人不滿權蛆跑出去建立沖浪分部r/CLTV。但因為鼠人的習性，r/chonglangTV的人數只是越來越多。\nchonglangTV成為中國反賊鍵政的一個重要地點。與海外反賊聚集的網站「品蔥」不同的地方在於，chonglangTV很少有貼文會認真討論一個議題，大部分都是一連串梗連環發，嘲諷完就看下一篇去了，就像百度貼吧與知乎的差別。\n神友擅長的開盒肉搜文，可能就是導致冲浪TV被封的最後一根稻草。開盒是跟中國網路的惡俗文化有關，因為中國實名制，加上無良警察在Telegram上出售公民個人訊息，所以開盒的成功率還蠻高的。神友只要看小粉紅不爽，立刻把他的手機身份證號等資訊昭告天下。\n在被封前最大的一個開盒行動是關於一位上海的徐姓銀行員。因為烏克蘭遭受俄羅斯入侵，中國網友匯款幫助烏克蘭，而該銀行員在微博上宣稱她把所有的匯款都擋下來還以此自豪，於是神友馬上把她的名字開出來，過了半天左右，冲浪TV就被封了。 自由亞洲電台特地做了個報導：聲援烏克蘭Reddit中文社區 「衝浪TV」遭封殺　疑涉中共長臂審查\n順帶一提，2022年烏克蘭危機有蠻多神友捐款的，可以說是最後的榮光。就像品蔥有很多大學生撐香港反送中一樣，有良知的中國人確實還很多。 另外有人推測，冲浪TV樹大招風，有許多中國網警潛伏在其中等著收網。加上神友被封前組織了新一波行動：大翻譯運動專門翻譯小粉紅的挺俄言論到各大英文sub，讓洋人見見中國人的真實樣貌，進而引起站方注意。\n5. chonglangTV新家在哪 # 新家圈我，這個也是梗。冲浪TV被封，而r/CLTV這個當初因為不爽管理員，分裂出去的sub，同樣是神友組建，接下來幾天應該會有大量難民湧入。\n之後的故事請見r/CLTV的覆滅\n另請參見還活著的Reddit冲浪TV新家\n","date":"2022年3月2日","externalUrl":null,"permalink":"/posts/the-fall-of-chonglangtv-on-reddit/","section":"Politics","summary":"初稿發表於2022年3月2日，巴哈姆特個人小屋，r/chonglangTV被封當天深夜胡亂扣字扣出來的。2023年10月4日增補修訂，轉貼於此。\n2022年3月2日，Reddit上的大型中文sub r/chonglangTV被封，原因是洩漏個人隱私。\nr/chonglangTV存在時間：2019年11月 - 2022年3月\n在被封之前，有人po了典中典的「張媽下樓梯」影片，據說這是經典的亡國預兆。 作為一個反共中文sub，chonglangTV高達五萬人關注，最近常在線上的就有一萬人，擠進Reddit前幾大熱門sub。\n(這張截圖是偷來的) 若要簡介由來，因為我算是2020年末才混進來的引流狗(以Komica島民的話語來說「外來種」比較好理解吧)，所以只講個大概。以下描述不免帶有個人立場，但只要記住一句：麻了，就完事了。\n1. chonglangTV由來 # (本段文字曾經被觀察者網放在新聞稿中，謝絕牆國媒體野蠻剽竊，，，)\nchonglangTV sub的描述：\n流亡浪人中央，浪人们最后的根据地，永恒矗立的灯塔。\nr/chonglangTV由叫做神友(或稱浪人、鼠人、神蛆)的中國網路群體所建立，屬於抽象文化的分支。2019年左右在牆內(中國網路)的百度貼吧混，但是言論過於極端，貼吧一個被封一個，所以改到Reddit上建立自己的sub，亦成為Reddit上人氣數一數二的中文社區。在此之外還有r/China_irl，同樣會鍵政，但是屬於比較溫和的sub，因此冲浪TV稱他們為太監。\n","title":"【冲浪TV專題1】記Reddit中文社區「冲浪TV」(r/chonglangTV)被封一事","type":"politic"},{"content":"歌單多了四個稱為好曲的好朋友，一個美國二個日本一個阿爾及利亞。\nThe Flaming Lips - American Head，2020年出版的這張專輯是他們繼良美大戰粉紅機器人(2002)後久違的佳作。這張專輯探討70年代，迷幻藥和失落的一代的精神生活。我覺得旋律挺適合普通人聽的那種音樂，不過還是有他們的迷幻水準，且2021年防疫泡泡演唱會也著重表演此專輯的新歌。 另外一個是高中正義，充滿熱帶風的city pop獨樹一格。在聽完蒸氣波虛幻的靡靡之音後，是時候聽真正的80年代city pop，專輯\u0026quot;Seychelles\u0026quot;(1976)和\u0026quot;Brasillian Skies\u0026quot;(1978)是整體代表作，還有人留言說沒看過笑著這麼燦爛買香蕉的。 此外他還有一張「 虹伝説」The Rainbow Goblins(1981)，是以說故事的形式配合吉他純音樂，當中有一首好聽的¨The Sunset Valley¨被鳳飛飛翻唱成好好愛我（毀原作的經典例子） 第三個是坂本龍一，「千把刀」千のナイフ(1978)專輯真是豐富聽感。各種神奇音效，該風格一直延續到音樂圖鑑，不過音樂圖鑑比較像是多民族音樂的混音帶。\n跟他後來給電影的傳奇配樂全然不同的風格，他在曲目中透露一種黑暗又歡快的的氣氛，還有¨End Of Asia¨這種曲目。 最後一個是阿爾及利亞樂團Imarhan跟Tinariwen合作推出的專輯\u0026quot;Aboogi\u0026quot;(2022)，他們獨有的沙漠藍調（Tishoumaren）唱腔，據推薦者說有點印度風，不過又不太像。歌詞很少有網站收錄，幸好Youtube有翻譯。\n當中可以了解歌曲是描寫沙漠情況。 ","date":"2022年2月21日","externalUrl":null,"permalink":"/posts/2022022101/","section":"Musics","summary":"歌單多了四個稱為好曲的好朋友，一個美國二個日本一個阿爾及利亞。\nThe Flaming Lips - American Head，2020年出版的這張專輯是他們繼良美大戰粉紅機器人(2002)後久違的佳作。這張專輯探討70年代，迷幻藥和失落的一代的精神生活。我覺得旋律挺適合普通人聽的那種音樂，不過還是有他們的迷幻水準，且2021年防疫泡泡演唱會也著重表演此專輯的新歌。 另外一個是高中正義，充滿熱帶風的city pop獨樹一格。在聽完蒸氣波虛幻的靡靡之音後，是時候聽真正的80年代city pop，專輯\"Seychelles\"(1976)和\"Brasillian Skies\"(1978)是整體代表作，還有人留言說沒看過笑著這麼燦爛買香蕉的。 此外他還有一張「 虹伝説」The Rainbow Goblins(1981)，是以說故事的形式配合吉他純音樂，當中有一首好聽的¨The Sunset Valley¨被鳳飛飛翻唱成好好愛我（毀原作的經典例子） 第三個是坂本龍一，「千把刀」千のナイフ(1978)專輯真是豐富聽感。各種神奇音效，該風格一直延續到音樂圖鑑，不過音樂圖鑑比較像是多民族音樂的混音帶。\n跟他後來給電影的傳奇配樂全然不同的風格，他在曲目中透露一種黑暗又歡快的的氣氛，還有¨End Of Asia¨這種曲目。 ","title":"本次寒假幾個音樂的新朋友，一個美國二個日本一個阿爾及利亞","type":"music"},{"content":"本文先概覽小米Pocophone F1安裝Windows 11 ARM的執行效果，再來介紹如何安裝。 Renegade Project這個專案主要是研究如何將Windows裝到手機上，不是虛擬機，而是真的把Android刷成Windows系統，有GPU驅動的情況下還能玩電腦遊戲。\nGithub上有中國人釋出的原始碼，最關鍵的技術是把Linux kernel偽裝成UEFI，才能啟動Windows 11 ARM。目前處理器為高通s835、s845、s855的手機都有機會裝上Windows 11 ARM，詳情請看圖表。\n選這支小米Pocophone F1的理由是拍賣剛好看到有很便宜的二手現貨，而且Poco F1刷機資源也很多，有Android ROM、postmarketOS、Ubuntu touch能刷。\n1. Poco F1裝Windows 11 ARM的效能 # 螢幕亮度、螢幕觸控(EBBG或Tianma面板皆正常)、Wifi正常，有3D硬體加速；因為我這支的傳感器零件壞了所以自動旋轉無法運作。沒有音效驅動要另外安裝虛擬音效卡。\nMicrosoft Office (ARM) 正常執行。 Minecraft Java版 (x64) 正常執行。 2. 事前準備 # 接下來看看如何安裝至手機，首先準備以下項目：\n電腦: Windows 11 x86_64 手機: 小米Pocophone F1 (beryllium)，原廠MIUI(Android 10)，已解鎖Bootloader。 USB Type-C的擴充座(或OTG)，用於給手機連接實體鍵盤和滑鼠用。 64GB隨身碟 步驟簡介: 解鎖Bootloader → 建立 Windows分區 → 用特製版Windows PE開機，安裝Windows和驅動程式。\n解鎖手機Bootloader鎖: 插入SIM卡綁定手機，到小米官網申請解鎖 然後下載以下檔案 (部份檔案由MRMRR提供)\nWindows 11 ARM的ISO: 用UUP DUMP下載。 Platform Tools (ADB \u0026amp; Fastboot)，解壓縮後放到C槽任意位置並加入至PATH環境變數。 Poco F1的TWRP: 下載最新版 UEFI開機映像:我的面板是tianma所以下載boot-beryllium-tianma.img 驅動程式:下載beryllium.tar.gz，解壓縮後將目錄重新命名為Drivers。 Windows PE DISM++：解壓縮後重新命名為DISM。 PARTED執行檔 commands.txt 以上檔案下載好後，解壓縮，在電腦桌面建立Windows11ARM目錄，放到裡面。結構應該會長這樣: 進入Drivers目錄，會看到一個output目錄。\n將Windows 11 iso、DISM、commands.txt、output四個項目複製到隨身碟。\n3. 在手機上建立Windows分區 # 手機關機，長按開機+音量下鍵進入fastboot模式，連上電腦。在Windows11ARM目錄右鍵，在此開啟終端機，輸入指令用TWRP開機 (注意: 此TWRP並沒有安裝到手機上)。 fastboot boot twrp-3.6.2_9-0-beryllium.img 將parted執行檔複製到手機 adb push parted\\parted /sdcard/ 進入手機的adb shell adb shell 將parted檔複製到sbin目錄，並修改權限 cp /sdcard/parted /sbin/ \u0026amp;\u0026amp; chmod 755 /sbin/parted 取消掛載data和sdcard umount /data \u0026amp;\u0026amp; umount /sdcard 執行parted，進行硬碟分割 parted /dev/block/sda 輸入p，畫面上會顯示所有的硬碟分割區。最後一個userdata是Android的資料位置。接下來要決定給Android分配多少? Windows分配多少? Windows最少要有64GB。 縮小userdata的大小，縮小到大約只剩32GB\nresizepart 21 32GB 建立esp分區(第22號分區)，約500MB mkpart esp fat32 32GB 32.5GB 建立Windows分區(第23號分區)，也就是剩下的空間，別忘了還要1GB給PE。 mkpart win ntfs 32.5GB 120GB 最後是PE分區 #輸入 print free 列出剩餘的空間才能決定要填121GB還是127GB mkpart pe fat32 120GB 121GB 開啟ESP(EFI硬碟分割)並退出，再退出adb shell。 set 22 esp on quit exit 手機上TWRP點選Reboot，點選Bootloader，重新開機進fastboot模式\n再度用TWRP開機\nfastboot boot twrp-3.6.2_9-0-beryllium.img 進入adb shell adb shell 格式化以下分割區 mkfs.fat -F32 -s1 /dev/block/by-name/esp mkfs.ntfs -f /dev/block/by-name/win mkfs.fat -F32 -s1 /dev/block/by-name/pe #(選擇性) 清除Android分區的資料 mke2fs -t ext4 /dev/block/by-name/userdata 掛載PE分割區，退出adb shell mount /dev/block/by-name/pe /mnt exit 將以下檔案複製到手機上 adb push PEFiles\\boot /mnt adb push PEFiles\\efi /mnt adb push PEFiles\\sources /mnt adb push PEFiles\\bootmgr.efi /mnt 4. 用Windows PE開機安裝Windows 11 ARM # 手機上TWRP點選Reboot，點Bootloader，重新開機進fastboot模式，接著用UEFI開機。(新版的若無法使用，請下載舊版) fastboot flash boot UEFIImages\\boot-beryllium.img fastboot reboot 拔掉USB傳輸線，手機重開機後會進入Windows PE，預設是簡體中文介面，手機要接上滑鼠和鍵盤才能操作。 手機上的命令提示字元開機後會自動開啟。執行以下指令，給第23分區指派Windows磁碟機代號：\ndiskpart select disk 0 list part select part 23 assign letter=Y exit #請保持命令提示字元開啟 插上隨身碟，開啟檔案總管，執行隨身碟裡的Dism++ARM64.exe\n點選Accept，點選左上角File → Apply Image ，選擇Windows 11的ISO，勾選Add Boot，再選擇安裝至C槽。 點選OK，就會開始部署Windows。\n完成後點選畫面上的Open Session，點選左邊的Drivers\n點選右下角Add，選取隨身碟的outputs目錄，開始安裝驅動程式。 回到命令提示字元，開啟隨身碟裡面的commands.txt複製以下指令貼上，關閉數位驅動程式簽章。\nbcdedit /store Y:\\efi\\microsoft\\boot\\bcd /set {Default} testsigning on bcdedit /store Y:\\efi\\microsoft\\boot\\bcd /set {Default} nointegritychecks on 重開機 shutdown -s -t 0 重開機後大概等個10分鐘，就會進入Windows 11的初始設定畫面了，Wifi正常所以不用擔心網路問題。 5. 後續優化 # 因為傳感器無法使用，要到系統設定手動旋轉螢幕。關機的話就點選Windows的關機按鈕。\n5.1. 修正觸控問題 # 剛裝完Windows還是無法觸控，要手動刷入devcfg。\n下載devcfg，從電腦上用fastboot刷入到手機的devcfg分區。\nfastboot flash devcfg_all devcfg-beryllium_FixTS.img 5.2. 安裝64位元OpenGL相容層 # Windows ARM可以轉譯跑x86架構的exe，3D方面也會跟著轉譯。\n但若要執行x64版的3D應用程式，就要到微軟商店安裝OpenGL相容層。微軟承諾日後會逐步改善效能。\n5.3. 安裝虛擬音效卡 # Windows 11無法驅動小米Poco F1的喇叭，所以要安裝虛擬音效卡，並使用藍芽或Soundwire來播放音效。\n在手機上從Github的Release頁面下載壓縮檔，解壓縮，右鍵以系統管理員執行ARM64的cmd，安裝虛擬音效卡。 安裝好之後雖然有了音訊裝置，仍無法從手機喇叭播放，請使用藍芽音箱或繼續往下看。 準備一支Android手機，跟Windows連線到同一個Wifi。Windows手機安裝Soundwire，滑鼠移動到Server Address上面會顯示192.168開頭的區網IP。 在另一部Android手機上安裝Soundwire APP，輸入Windows手機的區網網路IP， Windows端會顯示Connected。 手機的SoundWire圖示會發光，接著就會將Windows的音效輸出至Android手機。\n","date":"2022年2月9日","externalUrl":null,"permalink":"/posts/poco-f1-windows11/","section":"所有文章","summary":"本文先概覽小米Pocophone F1安裝Windows 11 ARM的執行效果，再來介紹如何安裝。 Renegade Project這個專案主要是研究如何將Windows裝到手機上，不是虛擬機，而是真的把Android刷成Windows系統，有GPU驅動的情況下還能玩電腦遊戲。\nGithub上有中國人釋出的原始碼，最關鍵的技術是把Linux kernel偽裝成UEFI，才能啟動Windows 11 ARM。目前處理器為高通s835、s845、s855的手機都有機會裝上Windows 11 ARM，詳情請看圖表。\n選這支小米Pocophone F1的理由是拍賣剛好看到有很便宜的二手現貨，而且Poco F1刷機資源也很多，有Android ROM、postmarketOS、Ubuntu touch能刷。\n1. Poco F1裝Windows 11 ARM的效能 # 螢幕亮度、螢幕觸控(EBBG或Tianma面板皆正常)、Wifi正常，有3D硬體加速；因為我這支的傳感器零件壞了所以自動旋轉無法運作。沒有音效驅動要另外安裝虛擬音效卡。\nMicrosoft Office (ARM) 正常執行。 Minecraft Java版 (x64) 正常執行。 2. 事前準備 # 接下來看看如何安裝至手機，首先準備以下項目：\n","title":"小米Poco F1：Android手機安裝Windows 11 ARM教學","type":"posts"},{"content":"Microsoft雖然有在官網免費提供Windows ISO下載，但是總有要取得特殊版Windows的時候，例如：\n免加入測試人員計畫，取得Windows Insider Preview測試版ISO， 取得Windows 11 ARM64版的ISO，在Surface以外的ARM裝置安裝Windows 取得舊版Windows 10、Windows Server系統的ISO 這個時候就可以用「UUP DUMP」網站協助下載，它會抓取Microsoft伺服器網址，再產生一組指令稿，輕點執行就會自動下載所有必要的檔案，並組合成一個ISO。 但請注意，UUP DUMP下載的是原版Windows系統的ISO，你需要準備正版金鑰，或者使用Microsoft Activation Scripts來啟用系統。\n1. 前置依賴項目 # UUP DUMP下載程式是由指令稿構成的（Windows是cmd批次檔，Linux/macOS是shell檔），Windows系統不需要裝特殊程式就能跑。\n不過Linux系統需要事先準備下載軟體，Ubuntu請安裝這些套件：\nsudo apt-get install aria2 cabextract wimtools chntpw genisoimage 2. UUP DUMP使用方式 # 這裡以下載Windows 11 on ARM的系統ISO為例子。\n到UUP DUMP首頁找到Windows 11，點進去ARM64架構的連結。(Public Release是穩定版，Release Preview是測試版) 語言選取正體中文 選取要納入的Windows版本 點選Create download package 將下載的zip檔解壓縮。\nWindows的話對uup_download_windows.cmd點兩下就會開始執行。\nLinux請開啟終端機，執行uup_download_linux.sh指令稿：\nchmod +x uup_download_linux.sh ./uup_download_linux.sh 接著就會開始下載，程式大概會下載5GB左右的資料，然後在指令稿的同個目錄生成Windows ISO檔案。因為會壓縮檔案，CPU使用率飆高是正常的。 ","date":"2022年2月8日","externalUrl":null,"permalink":"/posts/how-to-use-uup-dump/","section":"所有文章","summary":"Microsoft雖然有在官網免費提供Windows ISO下載，但是總有要取得特殊版Windows的時候，例如：\n免加入測試人員計畫，取得Windows Insider Preview測試版ISO， 取得Windows 11 ARM64版的ISO，在Surface以外的ARM裝置安裝Windows 取得舊版Windows 10、Windows Server系統的ISO 這個時候就可以用「UUP DUMP」網站協助下載，它會抓取Microsoft伺服器網址，再產生一組指令稿，輕點執行就會自動下載所有必要的檔案，並組合成一個ISO。 但請注意，UUP DUMP下載的是原版Windows系統的ISO，你需要準備正版金鑰，或者使用Microsoft Activation Scripts來啟用系統。\n1. 前置依賴項目 # UUP DUMP下載程式是由指令稿構成的（Windows是cmd批次檔，Linux/macOS是shell檔），Windows系統不需要裝特殊程式就能跑。\n不過Linux系統需要事先準備下載軟體，Ubuntu請安裝這些套件：\nsudo apt-get install aria2 cabextract wimtools chntpw genisoimage 2. UUP DUMP使用方式 # 這裡以下載Windows 11 on ARM的系統ISO為例子。\n","title":"如何使用UUP DUMP下載Windows的ISO [Linux / Windows / macOS]","type":"posts"},{"content":"想著很遠，但終於來了。雖然山路漫長的開了30分鐘，但是地勢不高。 根據維基百科，高士神社位於945屏東縣牡丹鄉高士佛29號，最早於1939年建成，後毀於風災，接著2015年重建，並固定舉辦祭祀，祭祀對象從以前日治時期的天照大神改成「牡丹社事件、高砂義勇隊戰歿英靈、排灣族祖靈、山神、土地神\n此地尚發生過牡丹社事件，日軍以琉球人被殺為由，向原住民挑起戰爭，後經英國協調，清朝承認日本出兵是保民義舉。現在連帶山腳下的石門古戰場成為這附近一連串的歷史景點。 https://www.natgeomedia.com/history/article/content-photo-14067-25420.html\n山腳下有四重溪溫泉，不過實在太多人了，泡免費的戶外浴場之後便揚長而去。嘿，今天看到的這台，外型頗似零式戰鬥機。 日治時期，日本殖民政府在高士佛社設立學校，警察所和神社。當地村民對日本政府並不很反感。至於為何要重建高士神社，理由有二個說法：\n日本的李登輝之友會會員為報答311的恩情，籌錢建立木製神社送來台灣，目的是祀奉先靈。 另外一個觀點是來自左派媒體「苦勞網」的報導: 日本右翼團體李登輝之友會得知高士部落有重建神社之意，便協助重建事宜。遠因尚有NHK做的節目，描述日本人把原住民帶到萬國博覽會的行為是等同人類動物園 (就像歐洲國家展示黑人一樣)，而李友會便協助不同意此說法的高士神社村民，要告NHK，最後敗訴。 苦勞網的報導明顯傾向反思此殖民主義的歷史。為此，懷疑日本人宣稱要重建神社，就是先調查該組織身家，認定其為日本右翼的在台戰略布局，試圖美化日本殖民歷史。\n高士村民表示不想泛政治化，他們的觀點是以前日本人對他們很好，所以祭拜神社具有保佑功用，建立神社釋懷歷史紛爭，因此村民覺得不要上升到政治層面。\n具有爭議的還有神社祭祀的對象，維基百科說法是基本上全部的神都拜了，會讓人懷疑美化日本的部分可能是「高砂義勇軍」和「牡丹社事件陣亡的人」。因為佐藤建一在節目上說祭拜的是日本英靈，才會讓那個記者覺得這個神社是台灣版的「靖國神社」。\n最近幾年，日本一旦有大人物參訪靖國神社，都會引發中國小粉紅反彈。 以前我聽到這種刺耳的話就會想搜別人身家，然後直接依其黨派立場人身攻擊(「反正他就是國民黨、共產黨的啦！」)，但這次我選擇看看他們的說法。\n也許他們說的有點道理，因為在他們看來，村民想法為主觀意見，有點像是在說原住民是被洗腦，然後日本沒有反省戰爭的概念。\n這時反對方就會說那是中國史觀看法，將原住民的行為嵌入的中國史觀的抗日框架。\n這下就連日治還是日據的用詞都能吵。我使用日治的說詞就是當時日本是按照條約取得台灣的，而非強佔的，以此事實為依據，日殖說詞也符合事實。 由於要對自己的陳述做出有利描述，不論採取反思親日的史觀來描述歷史，一定會有人不開心。誰都會覺得你提了優點來滿足你的說法，卻忽略缺點，反之亦然。\n所以知道二邊的說法，用不同說法去看歷史，這並不是難事，難解的是先入為主的偏見，因為某些字用的惹得你覺得是負面稱謂，因而爆發論戰，最後容易就變成藍綠二極對立，模糊事實焦點。\n這種反思殖民歷史的說法不違背史實的看法值得被知曉和研討，而「日本復興之心昭然若揭」的就屬個人觀點的推斷，無關事實的陳述。\n這裡發生了這些事，神社終究是重蓋出來了。有這樣不同觀點的看法，得出的解決方案從來都不是要最佳解。不過這樣循線下來後，我反對用砍頭(不管是八田與一還是蔣中正，據說還有燒神社的)的破壞方式表達意見，因為此舉體現的只是不願了解對方，而將對方妖魔化的體現。\n石を投げる者と 投げられる者には\n容易に越えられぬ 柵がある\n立ち位置が変われば 正義は牙を剥く\n檻の中で吼えているのは 果たしてどちらか\n———— Linked Horizon - 暁の鎮魂歌 （進撃の巨人 ED3）\n","date":"2022年2月4日","externalUrl":null,"permalink":"/posts/2022020401/","section":"Histories","summary":"想著很遠，但終於來了。雖然山路漫長的開了30分鐘，但是地勢不高。 根據維基百科，高士神社位於945屏東縣牡丹鄉高士佛29號，最早於1939年建成，後毀於風災，接著2015年重建，並固定舉辦祭祀，祭祀對象從以前日治時期的天照大神改成「牡丹社事件、高砂義勇隊戰歿英靈、排灣族祖靈、山神、土地神\n此地尚發生過牡丹社事件，日軍以琉球人被殺為由，向原住民挑起戰爭，後經英國協調，清朝承認日本出兵是保民義舉。現在連帶山腳下的石門古戰場成為這附近一連串的歷史景點。 https://www.natgeomedia.com/history/article/content-photo-14067-25420.html\n山腳下有四重溪溫泉，不過實在太多人了，泡免費的戶外浴場之後便揚長而去。嘿，今天看到的這台，外型頗似零式戰鬥機。 日治時期，日本殖民政府在高士佛社設立學校，警察所和神社。當地村民對日本政府並不很反感。至於為何要重建高士神社，理由有二個說法：\n日本的李登輝之友會會員為報答311的恩情，籌錢建立木製神社送來台灣，目的是祀奉先靈。 另外一個觀點是來自左派媒體「苦勞網」的報導: 日本右翼團體李登輝之友會得知高士部落有重建神社之意，便協助重建事宜。遠因尚有NHK做的節目，描述日本人把原住民帶到萬國博覽會的行為是等同人類動物園 (就像歐洲國家展示黑人一樣)，而李友會便協助不同意此說法的高士神社村民，要告NHK，最後敗訴。 苦勞網的報導明顯傾向反思此殖民主義的歷史。為此，懷疑日本人宣稱要重建神社，就是先調查該組織身家，認定其為日本右翼的在台戰略布局，試圖美化日本殖民歷史。\n","title":"台灣唯一的原住民神社，爭議性的高士神社真的好遠","type":"history"},{"content":"也許未來能執行Steam，但現在還沒到那個階段。 編譯能執行docker的手機內核後，執行32位元的Ubuntu容器，接著編譯Box86這個x86轉ARM的轉譯器，再來執行Wine。\n其實用32位元Termux建立Proot環境就好了，那為何要用容器呢? 因為方便部屬，這樣我不用一直重裝Termux，我可以在64位元的手機跑32位元或64位元的Ubuntu容器，分別執行Box64和Box86。\n1. 詳細步驟 # 執行容器，使用Ubuntu arm32的版本 sudo docker run -ti \\ --net=\u0026#34;host\u0026#34; \\ --dns=\u0026#34;8.8.8.8\u0026#34; \\ -e DISPLAY=$DISPLAY \\ -w /root \\ -v $TMPDIR/.X11-unix:/tmp/.X11-unix \\ -v $HOME/.Xauthority:/root/.Xauthority \\ --platform=linux/arm \\ arm32v7/ubuntu 安裝TigerVNC echo \u0026#39;APT::Sandbox::User \u0026#34;root\u0026#34;;\u0026#39; \u0026gt; /etc/apt/apt.conf apt update apt install tigervnc-standalone-server tigervnc-common sudo vim 安裝xfce4 sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils sudo apt install xfce4-terminal sudo update-alternatives --config x-terminal-emulator #選擇xfce4的終端機 設定vncserver啟動腳本 touch $HOME/.vnc/xstartup vim $HOME/.vnc/xstartup #填入: unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS startxfce4 \u0026amp; [ -x /etc/vnc/xstartup ] \u0026amp;\u0026amp; exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] \u0026amp;\u0026amp; xrdb $HOME/.Xresources xsetroot -solid grey chmod +x $HOME/.vnc/xstartup 啟動vncserver (不設定密碼是因為會崩潰) export DISPLAY=:1 vncserver -localhost no -geometry 1280x720 -SecurityTypes none --I-KNOW-THIS-IS-INSECURE 編譯box86 apt install git wget cmake build-essential python3 gcc-arm-linux-gnueabihf git clone https://github.com/ptitSeb/box86 cd box86 mkdir build cd build cmake .. -DARM_DYNAREC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j$(nproc) make install 安裝32位元的Wine cd mkdir wine \u0026amp;\u0026amp; cd wine wget https://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-6.18-upstream-linux-x86.tar.gz tar -xvf PlayOnLinux-wine-6.18-upstream-linux-x86.tar.gz #環境變數 export BOX86_PATH=~/wine/bin/ export BOX86_LD_LIBRARY_PATH=~/wine/lib/ export BOX86_LOG=1 ln -s ~/wine/bin/wine /usr/local/bin/wine #雖然不建議用root執行wine mkdir .wine box86 wine winecfg #更新完後執行任意exe 測試完後，將這個容器儲存成本機映像檔，約2GB。 sudo docker ps sudo docker commit -a=\u0026#39;Ivon\u0026#39; -m=\u0026#39;XFCE4 insatlled\u0026#39; [id] arm32v7/ubuntu:v2 #日後以此為基礎執行: sudo docker run -ti \\ --net=\u0026#34;host\u0026#34; \\ --dns=\u0026#34;8.8.8.8\u0026#34; \\ -e DISPLAY=$DISPLAY \\ -w /root \\ -v $TMPDIR/.X11-unix:/tmp/.X11-unix \\ -v $HOME/.Xauthority:/root/.Xauthority \\ --platform=linux/arm \\ arm32v7/ubuntu:v2 附註: 如果儲存空間不夠，刪除全部docker資料後重試。 sudo docker system df sudo docker system prune -af 2. 參考資料 # This tutorial shows how to run docker natively on Android, without VMs and chroot. Ubuntu18.04LTS \u0026amp; Docker容器中安装Xfce和TigerVNC 利用commit 理解镜像构成- Docker — 从入门到实践 - GitBook 【Docker】docker commit 備份 save container, load container 將 container 作為可在任意電腦使用的作業環境 ","date":"2022年1月17日","externalUrl":null,"permalink":"/posts/docker-running-exe-on-android/","section":"所有文章","summary":"也許未來能執行Steam，但現在還沒到那個階段。 編譯能執行docker的手機內核後，執行32位元的Ubuntu容器，接著編譯Box86這個x86轉ARM的轉譯器，再來執行Wine。\n其實用32位元Termux建立Proot環境就好了，那為何要用容器呢? 因為方便部屬，這樣我不用一直重裝Termux，我可以在64位元的手機跑32位元或64位元的Ubuntu容器，分別執行Box64和Box86。\n1. 詳細步驟 # 執行容器，使用Ubuntu arm32的版本 sudo docker run -ti \\ --net=\"host\" \\ --dns=\"8.8.8.8\" \\ -e DISPLAY=$DISPLAY \\ -w /root \\ -v $TMPDIR/.X11-unix:/tmp/.X11-unix \\ -v $HOME/.Xauthority:/root/.Xauthority \\ --platform=linux/arm \\ arm32v7/ubuntu 安裝TigerVNC echo 'APT::Sandbox::User \"root\";' \u003e /etc/apt/apt.conf apt update apt install tigervnc-standalone-server tigervnc-common sudo vim 安裝xfce4 sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils sudo apt install xfce4-terminal sudo update-alternatives --config x-terminal-emulator #選擇xfce4的終端機 設定vncserver啟動腳本 touch $HOME/.vnc/xstartup vim $HOME/.vnc/xstartup #填入: unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS startxfce4 \u0026 [ -x /etc/vnc/xstartup ] \u0026\u0026 exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] \u0026\u0026 xrdb $HOME/.Xresources xsetroot -solid grey chmod +x $HOME/.vnc/xstartup 啟動vncserver (不設定密碼是因為會崩潰) export DISPLAY=:1 vncserver -localhost no -geometry 1280x720 -SecurityTypes none --I-KNOW-THIS-IS-INSECURE 編譯box86 apt install git wget cmake build-essential python3 gcc-arm-linux-gnueabihf git clone https://github.com/ptitSeb/box86 cd box86 mkdir build cd build cmake .. -DARM_DYNAREC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo make -j$(nproc) make install 安裝32位元的Wine cd mkdir wine \u0026\u0026 cd wine wget https://www.playonlinux.com/wine/binaries/phoenicis/upstream-linux-x86/PlayOnLinux-wine-6.18-upstream-linux-x86.tar.gz tar -xvf PlayOnLinux-wine-6.18-upstream-linux-x86.tar.gz #環境變數 export BOX86_PATH=~/wine/bin/ export BOX86_LD_LIBRARY_PATH=~/wine/lib/ export BOX86_LOG=1 ln -s ~/wine/bin/wine /usr/local/bin/wine #雖然不建議用root執行wine mkdir .wine box86 wine winecfg #更新完後執行任意exe 測試完後，將這個容器儲存成本機映像檔，約2GB。 sudo docker ps sudo docker commit -a='Ivon' -m='XFCE4 insatlled' [id] arm32v7/ubuntu:v2 #日後以此為基礎執行: sudo docker run -ti \\ --net=\"host\" \\ --dns=\"8.8.8.8\" \\ -e DISPLAY=$DISPLAY \\ -w /root \\ -v $TMPDIR/.X11-unix:/tmp/.X11-unix \\ -v $HOME/.Xauthority:/root/.Xauthority \\ --platform=linux/arm \\ arm32v7/ubuntu:v2 附註: 如果儲存空間不夠，刪除全部docker資料後重試。 sudo docker system df sudo docker system prune -af 2. 參考資料 # This tutorial shows how to run docker natively on Android, without VMs and chroot. Ubuntu18.04LTS \u0026 Docker容器中安装Xfce和TigerVNC 利用commit 理解镜像构成- Docker — 从入门到实践 - GitBook 【Docker】docker commit 備份 save container, load container 將 container 作為可在任意電腦使用的作業環境 ","title":"用Docker容器在Android手機跑32位元Ubuntu容器，執行Windows exe","type":"posts"},{"content":"Minecraft Pi是一個古老的版本，安裝於樹莓派上。唯一的特色就是可以用Python做簡單的遊戲控制程式，簡稱MCPI。而且台灣已有Minecraft Pi + Python教學課程，適合程式入門初學者。\n但若玩的是功能齊全的Java版呢? 不會裝Linux的呢?\nraspberryjammod將MCPI移植到Java版，透過forge模組載入Minecraft Pi的API。 Python的好處是語法很簡單，馬上寫馬上執行；缺點就是功能很少。\n1. 如何安裝 # 這個模組只支援Minecraft 1.8～1.12.2。\n首先安裝Java版1.12.2的forge。\n從Github下載raspberryjammod安裝器(.exe)，裡面隨附的Python 3一定要安裝。 啟動Mineraft，確認有載入模組。 2. 試著執行第一個程式 # 首先玩家進入任一個世界。\n切換到.minecraft/mcpipy目錄，可以看到裡面已經有很多範本。 遊戲中指令輸入：\n/py helloworld\n按下Enter，玩家會看到聊天欄輸出訊息，腳下會出現鑽石礦。 再試試看這個指令，會畫出一個甜甜圈: /py donut /py指令會終止上一個執行的python腳本，不想這樣請改用/apy\n3. Minecraft Pi的函數列表 # 從上面的例子可以得知，使用者撰寫的Python腳本放置於mcpipy這個目錄後，玩家在遊戲中以指令「/pi 檔案名稱」直接執行。\n再來看看helloworld.py的內容:\nimport mcpi.minecraft as minecraft import mcpi.block as block import server import sys mc = minecraft.Minecraft() mc.postToChat(\u0026#34;Hello world!\u0026#34;) playerPos = mc.player.getPos() mc.setBlock(playerPos.x,playerPos.y-1,playerPos.z,block.DIAMOND_ORE) 語法很簡單，postToChat就是輸出訊息，player.getPos()會回傳玩家座標，setBlock則是放置方塊。\nMinecraft PI主要可以控制方塊、生成實體、輸出文字訊息。更多內容可參閱:\nhttps://www.stuffaboutcode.com/p/minecraft-api-reference.html\n還有此模組作者的教學文章，裡面有很多不錯的範例：\nhttps://www.instructables.com/Python-coding-for-Minecraft/\n另外，模組作者也有提供Minetest版的模組:\nhttps://forum.minetest.net/viewtopic.php?t=13316\n","date":"2022年1月14日","externalUrl":null,"permalink":"/posts/raspberryjammod-python-minecraft/","section":"Minecrafts","summary":"Minecraft Pi是一個古老的版本，安裝於樹莓派上。唯一的特色就是可以用Python做簡單的遊戲控制程式，簡稱MCPI。而且台灣已有Minecraft Pi + Python教學課程，適合程式入門初學者。\n但若玩的是功能齊全的Java版呢? 不會裝Linux的呢?\nraspberryjammod將MCPI移植到Java版，透過forge模組載入Minecraft Pi的API。 Python的好處是語法很簡單，馬上寫馬上執行；缺點就是功能很少。\n1. 如何安裝 # 這個模組只支援Minecraft 1.8～1.12.2。\n首先安裝Java版1.12.2的forge。\n從Github下載raspberryjammod安裝器(.exe)，裡面隨附的Python 3一定要安裝。 啟動Mineraft，確認有載入模組。 2. 試著執行第一個程式 # 首先玩家進入任一個世界。\n切換到.minecraft/mcpipy目錄，可以看到裡面已經有很多範本。 遊戲中指令輸入：\n/py helloworld\n按下Enter，玩家會看到聊天欄輸出訊息，腳下會出現鑽石礦。 再試試看這個指令，會畫出一個甜甜圈: /py donut /py指令會終止上一個執行的python腳本，不想這樣請改用/apy\n3. Minecraft Pi的函數列表 # 從上面的例子可以得知，使用者撰寫的Python腳本放置於mcpipy這個目錄後，玩家在遊戲中以指令「/pi 檔案名稱」直接執行。\n","title":"raspberryjammod讓你使用Python撰寫Minecraft程式","type":"minecraft"},{"content":"請注意：本文討論的是Minecraft Pi版本。如果你想要在ARM架構的樹莓派玩Minecraft請參考這篇。\nMinecraft Pi版復活啦！\n2013年，Mojang釋出了Minecraft樹莓派版(Minecraft Pi Edition)，是目前唯一免費下載的Minecraft。\n遊戲內容以MCPE 0.6.0為基礎，加入了Python binding功能，讓玩家可以用簡單的Python程式控制方塊。\n但釋出之後，Minecraft Pi版就沒有再更新了。\n2021年，隨著新款樹莓派性能越來越強，玩家已經可以透過第三方啟動器啟動Minecraft基岩版(MCLauncher)和Java版(MultiMC)，效能還不賴，Minecraft Pi版便沒有什麼遊玩價值了。\n\u0026hellip;但其實還是有人在維護！有一名叫做TheBrokenRail的開發者魔改了Pi版的內容，將其修改為「Minecraft: Pi Edition: Reborn」，加入了許多新功能。\n1. 如何安裝Minecrat Pi Reborn # Minecrat Pi Reborn支援ARM與x86架構的Linux系統。樹莓派3以後的板子應該都跑得動。\n原始碼可於Gitea取得。\n下載安裝Pi-Apps，或者透過Flathub下載。\n從應用程式列表選取Minecraft: Pi Edition: Reborn安裝\n2. 遊玩 # Minecrat Pi Reborn沒有加入新版Minecraft的東西，僅加入生存模式、多人連線和一些機制調整。\n啟動的時候可先調整選項。開發者的文件有解釋如何進一步覆寫遊戲檔案。 256x256x128的有限世界\n沒有生怪蛋的背包\nMojang官方稱為MATTIS的簡易合成台\n多人連線除了區域網路之外尚有開發者經營的伺服器\n因為是教育用途，樹莓派版也有一系列Python API可以使用。\n如果你的Linux系統非樹莓派請先安裝相關套件。\nMinecrat Pi Reborn是很復古的Minecraft，雖然加了一堆新功能但還是沒啥可玩性。\n至少這是能在樹莓派系統無壓力直接開啟的Minecraft。\n可真要比的話，就算樹莓派上跑不動Mineraft Java版，退一萬步來說開源又輕量的Minetest都比這個遠古版本的Minecraft Pi要好些。\n","date":"2021年12月31日","externalUrl":null,"permalink":"/posts/minecraft-pi-edition-reborn-introduction/","section":"Minecrafts","summary":"請注意：本文討論的是Minecraft Pi版本。如果你想要在ARM架構的樹莓派玩Minecraft請參考這篇。\nMinecraft Pi版復活啦！\n2013年，Mojang釋出了Minecraft樹莓派版(Minecraft Pi Edition)，是目前唯一免費下載的Minecraft。\n遊戲內容以MCPE 0.6.0為基礎，加入了Python binding功能，讓玩家可以用簡單的Python程式控制方塊。\n但釋出之後，Minecraft Pi版就沒有再更新了。\n2021年，隨著新款樹莓派性能越來越強，玩家已經可以透過第三方啟動器啟動Minecraft基岩版(MCLauncher)和Java版(MultiMC)，效能還不賴，Minecraft Pi版便沒有什麼遊玩價值了。\n…但其實還是有人在維護！有一名叫做TheBrokenRail的開發者魔改了Pi版的內容，將其修改為「Minecraft: Pi Edition: Reborn」，加入了許多新功能。\n1. 如何安裝Minecrat Pi Reborn # Minecrat Pi Reborn支援ARM與x86架構的Linux系統。樹莓派3以後的板子應該都跑得動。\n原始碼可於Gitea取得。\n下載安裝Pi-Apps，或者透過Flathub下載。\n","title":"樹莓派版Minecraft Pi: Reborn介紹，適合練習寫Python程式","type":"minecraft"},{"content":"🇺🇸 English version\nDocker之所以不能直接在Android配合Termux跑，就是因為Android的kernel(內核)缺乏相關功能，那麼只要自行編譯手機kernel把缺少的功能打開就可以了。另外docker在Termux的repo也可以下載的到。\n刷kernel的小常識: Android刷kerenl不會刪除手機資料。不過為避免卡開機，最好用TWRP先備份原廠的boot分區再操作。\n手機: 紅米Note 5(whyred)，已Root，系統為Lineage OS 18。 如果你的機型跟我一樣，可到Github下載我做好的boot.img直接刷入。此kerenl基於RAD Kernel，以GPL v2授權釋出。僅於LineageOS測試。\n1. 檢查運作條件 # 手機安裝Termux，下載執行Moby的腳本 pkg install wget tsu wget https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh chmod +x check-config.sh sed -i \u0026#39;1s_.*_#!/data/data/com.termux/files/usr/bin/bash_\u0026#39; check-config.sh sudo ./check-config.sh 看看目前手機的kernel缺少哪些功能，把紅字missing部分記錄下來。最主要是General Necessary下的項目要全部開啟。 2. 尋找kernel \u0026amp; 測試編譯 # 我的思路是這樣: 找一個穩定的第三方kernel專案，確認能順利在自己電腦編譯，刷到手機也正常，再以此為基礎進行進入深入修改。\n完整編譯\u0026amp;刷內核步驟，看完這篇再往下看: 如何編譯修改Android kernel\n3. 修改kernel # 在用機型defconfig建立.config之後，使用make menuconfig開啟kconfig介面，按照剛剛手機顯示missing的項目，將其一一開啟。 例如我要開啟CONFIG_OVERLAY_FS這個選項，就在menuconfig的介面按下「/」 輸入名稱搜尋，menuconfig會告訴你設定值的大約位置。 鍵盤上下鍵找到該選項，按下y啟用。\n用鍵盤左右鍵，移動到Save，儲存設定值。移動到Exit按下Enter離開。\n根據FreddieOliveira的說明，還要修改kernel專案目錄下的kernel/Makefile：\ndiff --git a/kernel/Makefile b/kernel/Makefile index d5c1115..2dea801 100644 --- a/kernel/Makefile +++ b/kernel/Makefile $(obj)/configs.o: $(obj)/config_data.h # config_data.h contains the same information as ikconfig.h but gzipped. # Info from config_data can be extracted from /proc/config* targets += config_data.gz -$(obj)/config_data.gz: arch/arm64/configs/lavender_stock-defconfig FORCE +$(obj)/config_data.gz: $(KCONFIG_CONFIG) FORCE $(call if_changed,gzip) filechk_ikconfiggz = (echo \u0026#34;static const char kernel_config_data[] __used = MAGIC_START\u0026#34;; cat $\u0026lt; | scripts/basic/bin2c; echo \u0026#34;MAGIC_END;\u0026#34;) 還有修改net/netfilter/xt_qtaguid.c： --- orig/net/netfilter/xt_qtaguid.c 2020-05-12 12:13:14.000000000 +0300 +++ my/net/netfilter/xt_qtaguid.c 2019-09-15 23:56:45.000000000 +0300 { struct proc_iface_stat_fmt_info *p = m-\u0026gt;private; struct iface_stat *iface_entry; - struct rtnl_link_stats64 dev_stats, *stats; + struct rtnl_link_stats64 *stats; struct rtnl_link_stats64 no_dev_stats = {0}; current-\u0026gt;pid, current-\u0026gt;tgid, from_kuid(\u0026amp;init_user_ns, current_fsuid())); iface_entry = list_entry(v, struct iface_stat, list); + stats = \u0026amp;no_dev_stats; - if (iface_entry-\u0026gt;active) { - stats = dev_get_stats(iface_entry-\u0026gt;net_dev, - \u0026amp;dev_stats); - } else { - stats = \u0026amp;no_dev_stats; - } /* * If the meaning of the data changes, then update the fmtX * string. 重新編譯一次kernel。 make -j8 用AIK重新打包檔案，用TWRP刷到手機。開機後會顯示「你的裝置發生內部問題」，屬於正常現象。\n這支紅米Note 5開機後還要再使用以下指令才能正常掛載cgroup:\nsudo mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup 4. 手機安裝docker # 用Moby的腳本再次確認kernel相容性都是綠色的之後，透過Termux的root repo下載docker。 pkg install root-repo \u0026amp;\u0026amp; pkg install docker Termux左邊滑出來開第二個終端機，先啟動docker daemon。 sudo dockerd --iptables=false 另一個終端機啟動docker容器，例如Hello World: sudo docker run hello-world 測試Apache伺服器: sudo docker run -d -p 80:80 --name myapache --net=host --dns=8.8.8.8 httpd 這樣docker算是正常執行了，一些關於網路的詳細設定請到【參考資料】處查詢。 5. 參考資料 # 感謝Freddie Oliveira提供詳盡的解釋。\nThis tutorial shows how to run docker natively on Android, without VMs and chroot.\n","date":"2021年12月30日","externalUrl":null,"permalink":"/posts/run-docker-natively-on-android/","section":"所有文章","summary":"🇺🇸 English version\nDocker之所以不能直接在Android配合Termux跑，就是因為Android的kernel(內核)缺乏相關功能，那麼只要自行編譯手機kernel把缺少的功能打開就可以了。另外docker在Termux的repo也可以下載的到。\n刷kernel的小常識: Android刷kerenl不會刪除手機資料。不過為避免卡開機，最好用TWRP先備份原廠的boot分區再操作。\n手機: 紅米Note 5(whyred)，已Root，系統為Lineage OS 18。 如果你的機型跟我一樣，可到Github下載我做好的boot.img直接刷入。此kerenl基於RAD Kernel，以GPL v2授權釋出。僅於LineageOS測試。\n1. 檢查運作條件 # 手機安裝Termux，下載執行Moby的腳本 pkg install wget tsu wget https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh chmod +x check-config.sh sed -i '1s_.*_#!/data/data/com.termux/files/usr/bin/bash_' check-config.sh sudo ./check-config.sh 看看目前手機的kernel缺少哪些功能，把紅字missing部分記錄下來。最主要是General Necessary下的項目要全部開啟。 2. 尋找kernel \u0026 測試編譯 # 我的思路是這樣: 找一個穩定的第三方kernel專案，確認能順利在自己電腦編譯，刷到手機也正常，再以此為基礎進行進入深入修改。\n","title":"[Root] Termux：以原生效能在Android手機上跑Docker (紅米Note 5)","type":"posts"},{"content":"注意: 這是Minecraft Java版，基岩版是無法連線的。\n閒置的手機要幹嘛? 拿來當伺服器吧。Android手機可以透過Termux這款終端模擬器安裝Java，在手機上執行Minecraft原版伺服器。iOS可使用iSH，但iOS系統的設計並不適合長時間開伺服器。\n影片版操作參考\n要用純文字指令介面進行設定，不需要Root權限。\n因此這裡需要三個軟體:\nTermux: 終端機模擬器 Minecraft伺服器Jar檔案: 伺服器本體 Pojav Launcher: 可在手機上執行Minecraft Java版，直接連線到本機伺服器。(詳細資訊) 1. 安裝Termux # 下載Termux。不要從Google Play下載，因為版本比較舊。\n開啟後更新套件\ntermux-setup-storage pkg update -y pkg upgrade -y 安裝一些必要套件 pkg install vim openjdk-17 wget -y 到這裡會像這樣。 從通知欄下滑，點選Aquire Wakelock，免得Termux在背景運作時被系統殺掉。\n2. 初始化伺服器 # 根據你的Minecraft版本下載，這裡下載的是1.16.5的Minecraft原版伺服器。wget後面的網址是從Minecraft伺服器官網的下載連結複製來的。 #將Minecraft伺服器的資料都放在這個目錄。 mkdir minecraft-server #切換到該目錄 cd minecraft-server #下載伺服器檔案 wget https://launcher.mojang.com/v1/objects/1b557e7b033b583cd9f66746b7a9ab1ec1673ced/server.jar 啟動伺服器。server.jar是剛剛下載的伺服器檔案名稱，找不到可用ls指令查看檔案列表。 java -Xmx1024M -Xms1024M -jar server.jar nogui 啟動後伺服器會自行關閉，因為要同意EULA。使用VIM開啟eula.txt，並將裡面的eula後面的false改成true。 vim eula.txt #要輸入文字請按鍵盤「i」，修改完後按Esc，再輸入「:wq」退出VIM。 輸出 再啟動一次伺服器，約30秒啟動完成，會顯示type help。 java -Xmx1024M -Xms1024M -jar server.jar nogui 輸出 確認伺服器有在背景運作後，在同一部手機上開啟Pojav Launcher，測試連線，IP填寫localhost，這樣進去會建立一個新的生存世界。 斷線後，伺服器應會顯示玩家加入以及退出的訊息。輸入stop關閉伺服器。再輸入exit關閉Termux。 以後要再度啟動伺服器，指令就是:\ncd minecraft-server java -Xmx1024M -Xms1024M -jar server.jar nogui 3. 設定外部連線IP # 不建議使用行動網路，最好使用有線連接或者連到家裡的Wifi再做port forwarding。\n以區域網路(LAN連線)為例，Termux使用ifconfig指令可以查看本機IP，通常是192.168開頭: 這樣同一個網域內的電腦，在加入伺服器輸入上述顯示的手機的IP，就能夠連線到伺服器。 檔案管理: 如何搬移世界 # Termux的檔案管理設定請參考這篇文章：手機檔案管理器存取Termux的目錄\nMinecraft的伺服器檔案都位於minecraft-server目錄下，世界則是位於worlds目錄。伺服器的其他設定都在server.properties這個檔案，其餘設定就跟在電腦上開伺服器是一樣的。\n","date":"2021年12月23日","externalUrl":null,"permalink":"/posts/termux-minecraft-java-server/","section":"Minecrafts","summary":"注意: 這是Minecraft Java版，基岩版是無法連線的。\n閒置的手機要幹嘛? 拿來當伺服器吧。Android手機可以透過Termux這款終端模擬器安裝Java，在手機上執行Minecraft原版伺服器。iOS可使用iSH，但iOS系統的設計並不適合長時間開伺服器。\n影片版操作參考\n要用純文字指令介面進行設定，不需要Root權限。\n因此這裡需要三個軟體:\nTermux: 終端機模擬器 Minecraft伺服器Jar檔案: 伺服器本體 Pojav Launcher: 可在手機上執行Minecraft Java版，直接連線到本機伺服器。(詳細資訊) 1. 安裝Termux # 下載Termux。不要從Google Play下載，因為版本比較舊。\n開啟後更新套件\ntermux-setup-storage pkg update -y pkg upgrade -y 安裝一些必要套件 pkg install vim openjdk-17 wget -y 到這裡會像這樣。 從通知欄下滑，點選Aquire Wakelock，免得Termux在背景運作時被系統殺掉。\n2. 初始化伺服器 # 根據你的Minecraft版本下載，這裡下載的是1.16.5的Minecraft原版伺服器。wget後面的網址是從Minecraft伺服器官網的下載連結複製來的。 #將Minecraft伺服器的資料都放在這個目錄。 mkdir minecraft-server #切換到該目錄 cd minecraft-server #下載伺服器檔案 wget https://launcher.mojang.com/v1/objects/1b557e7b033b583cd9f66746b7a9ab1ec1673ced/server.jar 啟動伺服器。server.jar是剛剛下載的伺服器檔案名稱，找不到可用ls指令查看檔案列表。 java -Xmx1024M -Xms1024M -jar server.jar nogui 啟動後伺服器會自行關閉，因為要同意EULA。使用VIM開啟eula.txt，並將裡面的eula後面的false改成true。 vim eula.txt #要輸入文字請按鍵盤「i」，修改完後按Esc，再輸入「:wq」退出VIM。 輸出 ","title":"在Android手機用Termux開Minecraft Java版伺服器教學","type":"minecraft"},{"content":"","date":"2021年12月19日","externalUrl":null,"permalink":"/ja-jp/tags/alpine-linux/","section":"Tags","summary":"","title":"Alpine Linux","type":"tags"},{"content":" 注：単にDockerを動かしたいだけなら、この記事の方法は性能がよくありません。より実用的な方法はこちらを参照してください：Androidスマホでネイティブ性能のDockerを動かす\nWe need to go deeper…\n基本的に、Androidスマホではdockerを直接動かせません。kernelがそもそも対応していないからです。とはいえ、QEMU仮想マシンという手があります。ただし残念ながらKVMも使えません。\n構成は、TermuxエミュレーターでQEMU仮想マシンを作成し、その仮想マシン内にDockerをインストールして、さらにポートフォワーディングする、という流れです。\nスマホ：Sony Xperia 5 II、Android 11、8GB RAM。\n簡単なApacheサーバーを例にして、仮想マシン内のdockerで作成したWebページをスマホのブラウザで表示できるか確認します。Webページの内容は以下のとおりです。 1. 仮想マシンを作成してDockerをインストールする # Termuxを開き、コマンドを入力します。 pkg install qemu-utils qemu-common qemu-system-x86_64-headless virtを含むAlpine Linux OSのISOをダウンロードします mkdir alpine \u0026amp;\u0026amp; cd $_ wget http://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86_64/alpine-virt-3.12.3-x86_64.iso 4GBの仮想ハードディスクを作成します qemu-img create -f qcow2 alpine.img 4G 起動します qemu-system-x86_64 -machine q35 -m 1024 -smp cpus=2 -cpu qemu64 \\ -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \\ -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 \\ -cdrom alpine-virt-3.12.3-x86_64.iso \\ -nographic alpine.img rootアカウントでログインし、ネットワークカードを有効化します。 setup-interfaces #Available interfaces are: eth0. #Enter \u0026#39;?\u0026#39; for help on bridges, bonding and vlans. #Which one do you want to initialize? (or \u0026#39;?\u0026#39; or \u0026#39;done\u0026#39;) [eth0] #Ip address for eth0? (or \u0026#39;dhcp\u0026#39;, \u0026#39;none\u0026#39;, \u0026#39;?\u0026#39;) [dhcp] #Do you want to do any manual network configuration? [no] ifup eth0 oofnikjが用意したanswerfileを使って、システムを素早くインストールします。 wget https://gist.githubusercontent.com/oofnikj/e79aef095cd08756f7f26ed244355d62/raw/answerfile 起動時にメッセージを出力できるようにします sed -i -E \u0026#39;s/(local kernel_opts)=.*/\\1=\u0026#34;console=ttyS0\u0026#34;/\u0026#39; /sbin/setup-disk システムをハードディスクへインストールします。途中でrootアカウントのパスワード作成を求められます。 setup-alpine -f answerfile まずpoweroffコマンドでシャットダウンし、次にこのコマンドで仮想マシンを起動します（自分でスクリプトとして保存しても構いません）。 qemu-system-x86_64 -machine q35 -m 2048 -smp cpus=2 -cpu qemu64 \\ -drive if=pflash,format=raw,read-only=on,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \\ -netdev user,id=n1,hostfwd=tcp::2222-:22,hostfwd=tcp::8081-:80 -device virtio-net,netdev=n1 \\ -nographic alpine.img # mは2GBメモリの割り当て、cpuは2コアCPU、hostfwdはスマホの8081ポートを仮想マシンの80ポートへ転送します。 dockerをインストールし、仮想マシン起動時にサービスが自動起動するよう設定します。 apk update \u0026amp;\u0026amp; apk add docker service docker start rc-update add docker 2. Apacheサーバーをインストールする # ApacheサーバーのイメージをPullします docker pull httpd Apacheコンテナを実行し、仮想マシンの80ポートをDockerコンテナの80ポートへ転送します。さらにdockerコンテナのファイルパスをシステムの/root/websiteディレクトリに対応させます。 docker run -d -p 80:80 --name myapache -v /root/website/:/usr/local/apache2/htdocs/ httpd テスト用Webページを作成します mkdir website \u0026amp;\u0026amp; cd website vi index.html Webページには次を入力します。 \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;My Apache Server\u0026lt;/h1\u0026gt; \u0026lt;img src=\u0026#34;https://c.tenor.com/61yCyJVoyr8AAAAd/%E6%A1%B6%E7%A5%9E-%E6%89%93%E5%B7%A5.gif\u0026#34;\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; スマホでブラウザを開き、localhost:8081/index.htmlを入力すると、DockerのWebページが正常に表示されます。 3. まとめ # 仮想マシン+DockerでApache Serverを動かす程度なら、そこそこ使えそうです。ただしMinecraftサーバーのようなものを実行すると、性能低下はかなり目立ちます。\n仮想化の層を省けるなら、dockerの性能は大幅に上がりますし、Alpine Linuxの起動に30秒待つ必要もありません。そのため、kernelを変更してdockerを動かすほうが性能はよくなります。\nついでに言うと、iOSにはAlpine LinuxベースのiSH Shellターミナルエミュレーターがあります。理論上は同じようにdockerを動かせるはずです。\n4. 参考資料 # Docker on Termux in a VM Docker - 第十三章 | Apache Serverをインストールする ","date":"2021年12月19日","externalUrl":null,"permalink":"/ja-jp/posts/run-docker-in-qemu-android/","section":"Termux-Tutorials","summary":" 注：単にDockerを動かしたいだけなら、この記事の方法は性能がよくありません。より実用的な方法はこちらを参照してください：Androidスマホでネイティブ性能のDockerを動かす\nWe need to go deeper…\n基本的に、Androidスマホではdockerを直接動かせません。kernelがそもそも対応していないからです。とはいえ、QEMU仮想マシンという手があります。ただし残念ながらKVMも使えません。\n構成は、TermuxエミュレーターでQEMU仮想マシンを作成し、その仮想マシン内にDockerをインストールして、さらにポートフォワーディングする、という流れです。\nスマホ：Sony Xperia 5 II、Android 11、8GB RAM。\n簡単なApacheサーバーを例にして、仮想マシン内のdockerで作成したWebページをスマホのブラウザで表示できるか確認します。Webページの内容は以下のとおりです。 1. 仮想マシンを作成してDockerをインストールする # Termuxを開き、コマンドを入力します。 pkg install qemu-utils qemu-common qemu-system-x86_64-headless virtを含むAlpine Linux OSのISOをダウンロードします mkdir alpine \u0026\u0026 cd $_ wget http://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86_64/alpine-virt-3.12.3-x86_64.iso 4GBの仮想ハードディスクを作成します qemu-img create -f qcow2 alpine.img 4G 起動します qemu-system-x86_64 -machine q35 -m 1024 -smp cpus=2 -cpu qemu64 \\ -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \\ -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 \\ -cdrom alpine-virt-3.12.3-x86_64.iso \\ -nographic alpine.img rootアカウントでログインし、ネットワークカードを有効化します。 setup-interfaces #Available interfaces are: eth0. #Enter '?' for help on bridges, bonding and vlans. #Which one do you want to initialize? (or '?' or 'done') [eth0] #Ip address for eth0? (or 'dhcp', 'none', '?') [dhcp] #Do you want to do any manual network configuration? [no] ifup eth0 oofnikjが用意したanswerfileを使って、システムを素早くインストールします。 wget https://gist.githubusercontent.com/oofnikj/e79aef095cd08756f7f26ed244355d62/raw/answerfile 起動時にメッセージを出力できるようにします sed -i -E 's/(local kernel_opts)=.*/\\1=\"console=ttyS0\"/' /sbin/setup-disk システムをハードディスクへインストールします。途中でrootアカウントのパスワード作成を求められます。 setup-alpine -f answerfile まずpoweroffコマンドでシャットダウンし、次にこのコマンドで仮想マシンを起動します（自分でスクリプトとして保存しても構いません）。 qemu-system-x86_64 -machine q35 -m 2048 -smp cpus=2 -cpu qemu64 \\ -drive if=pflash,format=raw,read-only=on,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \\ -netdev user,id=n1,hostfwd=tcp::2222-:22,hostfwd=tcp::8081-:80 -device virtio-net,netdev=n1 \\ -nographic alpine.img # mは2GBメモリの割り当て、cpuは2コアCPU、hostfwdはスマホの8081ポートを仮想マシンの80ポートへ転送します。 dockerをインストールし、仮想マシン起動時にサービスが自動起動するよう設定します。 apk update \u0026\u0026 apk add docker service docker start rc-update add docker 2. Apacheサーバーをインストールする # ApacheサーバーのイメージをPullします docker pull httpd Apacheコンテナを実行し、仮想マシンの80ポートをDockerコンテナの80ポートへ転送します。さらにdockerコンテナのファイルパスをシステムの/root/websiteディレクトリに対応させます。 docker run -d -p 80:80 --name myapache -v /root/website/:/usr/local/apache2/htdocs/ httpd テスト用Webページを作成します mkdir website \u0026\u0026 cd website vi index.html Webページには次を入力します。 \u003c!DOCTYPE html\u003e \u003chtml\u003e \u003cbody\u003e \u003ch1\u003eMy Apache Server\u003c/h1\u003e \u003cimg src=\"https://c.tenor.com/61yCyJVoyr8AAAAd/%E6%A1%B6%E7%A5%9E-%E6%89%93%E5%B7%A5.gif\"\u003e \u003c/body\u003e \u003c/html\u003e スマホでブラウザを開き、localhost:8081/index.htmlを入力すると、DockerのWebページが正常に表示されます。 3. まとめ # 仮想マシン+DockerでApache Serverを動かす程度なら、そこそこ使えそうです。ただしMinecraftサーバーのようなものを実行すると、性能低下はかなり目立ちます。\n","title":"AndroidスマホでDockerを動かす：Termuxにheadless Alpine Linux QEMU仮想マシンをインストールする","type":"termux-tutorials"},{"content":" Minecraft Bedrock Dedicted Server是Mojang推出的基岩版開伺服器程式，適合用於原味生存。雖然支援Windows 10和Ubuntu，但官方只有提供x86-64位元版本。\n要在手機ARM平台執行BDS也不是不可能，透過QEMU虛擬機運行Docker，再port forwarding就行。\n註解: 手機上執行開服軟體，簡單程度PocketMine \u0026gt; Nukkit \u0026gt; BDS。因為PocketMine有很多人做手機版APP，而Nukkit只要有Java就行。\n測試版本: Minecraft 1.18\n測試平台: Sony Xperia 5 II，Android 11 (s865, 8GB RAM)\n1. 建立虛擬機\u0026amp;安裝Docker # 開啟Termux (建議安裝F-droid版本的)，輸入指令: pkg install qemu-utils qemu-common qemu-system-x86_64-headless 下載內含virt的Alpine Linux mkdir alpine \u0026amp;\u0026amp; cd $_ wget http://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86_64/alpine-virt-3.12.3-x86_64.iso 建立8G的虛擬硬碟 qemu-img create -f qcow2 alpine.img 8G 開機 qemu-system-x86_64 -machine q35 -m 1024 -smp cpus=2 -cpu qemu64 -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 -cdrom alpine-virt-3.12.3-x86_64.iso -nographic alpine.img 使用root帳號登入，啟用網路卡。 setup-interfaces #Available interfaces are: eth0. #Enter \u0026#39;?\u0026#39; for help on bridges, bonding and vlans. #Which one do you want to initialize? (or \u0026#39;?\u0026#39; or \u0026#39;done\u0026#39;) [eth0] #Ip address for eth0? (or \u0026#39;dhcp\u0026#39;, \u0026#39;none\u0026#39;, \u0026#39;?\u0026#39;) [dhcp] #Do you want to do any manual network configuration? [no] ifup eth0 使用offfnikj準備好的answerfile安裝系統 wget https://gist.githubusercontent.com/oofnikj/e79aef095cd08756f7f26ed244355d62/raw/answerfile 讓開機時能輸出訊息 sed -i -E \u0026#39;s/(local kernel_opts)=.*/1=\u0026#34;console=ttyS0\u0026#34;/\u0026#39; /sbin/setup-disk 安裝系統至硬碟，期間會要求建立root帳號的密碼。 setup-alpine -f answerfile 使用poweroff指令關機，以後就用另一個指令啟動系統（可將這條指令自行寫成shell）： qemu-system-x86_64 -machine q35 -m 4096 -smp cpus=4 -cpu qemu64 -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd -netdev user,id=n1,hostfwd=tcp::2222-:22,hostfwd=udp::19132-:19132 -device virtio-net,netdev=n1 -nographic alpine.img #m是分配4096MB記憶體，cpu是4核CPU，hostfwd則是把外部19132通訊埠轉發到虛擬機19132通訊埠。 安裝docker，並設定開機自動啟動。 apk update \u0026amp;\u0026amp; apk add docker service docker start rc-update add docker 2. 下載Minecraft BDS伺服器 # 開機，登入root帳號，建立一個minecraft-server的目錄用來存放遊戲資料。 mkdir minecraft-server 使用itzg提供的docker映像檔，會花點時間下載資料。 docker run -d -it -e EULA=TRUE -p 19132:19132/udp -v /root/minecraft-server:/data itzg/minecraft-bedrock-server 只要有連線進來，docker容器內的資料就會儲存到minecraft-server這個目錄。如果要在虛擬機開機時就執行docker容器，可以再加上--restart always參數。 3. 連線測試 # 以LAN區域連線為例，Termux輸入指令取得手機IP(不是在虛擬機內，另外開一個session): ifconfig #顯示的IP應該是192.168.x開頭 同一個網路的基岩版，會在好友的介面看到開啟的伺服器。 或是從伺服器輸入Termux的IP，端口19132，然後連線。 4. 總結 # 效能應該是很多人關注的部分，經過這麼多層虛擬，連線品質當然大打折扣。\n從外部連線到生成一個新世界超過1分鐘，所以使用超平坦比較妥當，例如：\ndocker run -d -it --name bds-flat-creative -e EULA=TRUE -e LEVEL_TYPE=flat -e GAMEMODE=creative -p 19132:19132/udp -v /root/minecraft-server:/data itzg/minecraft-bedrock-server 如果跳過系統虛擬化這一層，那docker效能應該會大大提升。\n成功開伺服器後，換地圖、裝模組的其他設定請參考:\nMinecraft基岩版BDS伺服器架設教學 \u0026amp; 通訊埠轉發\n可以用scp上傳檔案到QEMU虛擬機內。\n參考資料 # Docker on Termux in a VM itzg/minecraft-bedrock-server ","date":"2021年12月19日","externalUrl":null,"permalink":"/posts/running-minecraft-bds-server-docker-on-android/","section":"Minecrafts","summary":" Minecraft Bedrock Dedicted Server是Mojang推出的基岩版開伺服器程式，適合用於原味生存。雖然支援Windows 10和Ubuntu，但官方只有提供x86-64位元版本。\n要在手機ARM平台執行BDS也不是不可能，透過QEMU虛擬機運行Docker，再port forwarding就行。\n註解: 手機上執行開服軟體，簡單程度PocketMine \u003e Nukkit \u003e BDS。因為PocketMine有很多人做手機版APP，而Nukkit只要有Java就行。\n測試版本: Minecraft 1.18\n測試平台: Sony Xperia 5 II，Android 11 (s865, 8GB RAM)\n1. 建立虛擬機\u0026安裝Docker # 開啟Termux (建議安裝F-droid版本的)，輸入指令: pkg install qemu-utils qemu-common qemu-system-x86_64-headless 下載內含virt的Alpine Linux mkdir alpine \u0026\u0026 cd $_ wget http://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86_64/alpine-virt-3.12.3-x86_64.iso 建立8G的虛擬硬碟 qemu-img create -f qcow2 alpine.img 8G 開機 qemu-system-x86_64 -machine q35 -m 1024 -smp cpus=2 -cpu qemu64 -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 -cdrom alpine-virt-3.12.3-x86_64.iso -nographic alpine.img 使用root帳號登入，啟用網路卡。 setup-interfaces #Available interfaces are: eth0. #Enter '?' for help on bridges, bonding and vlans. #Which one do you want to initialize? (or '?' or 'done') [eth0] #Ip address for eth0? (or 'dhcp', 'none', '?') [dhcp] #Do you want to do any manual network configuration? [no] ifup eth0 使用offfnikj準備好的answerfile安裝系統 wget https://gist.githubusercontent.com/oofnikj/e79aef095cd08756f7f26ed244355d62/raw/answerfile 讓開機時能輸出訊息 sed -i -E 's/(local kernel_opts)=.*/1=\"console=ttyS0\"/' /sbin/setup-disk 安裝系統至硬碟，期間會要求建立root帳號的密碼。 setup-alpine -f answerfile 使用poweroff指令關機，以後就用另一個指令啟動系統（可將這條指令自行寫成shell）： qemu-system-x86_64 -machine q35 -m 4096 -smp cpus=4 -cpu qemu64 -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd -netdev user,id=n1,hostfwd=tcp::2222-:22,hostfwd=udp::19132-:19132 -device virtio-net,netdev=n1 -nographic alpine.img #m是分配4096MB記憶體，cpu是4核CPU，hostfwd則是把外部19132通訊埠轉發到虛擬機19132通訊埠。 安裝docker，並設定開機自動啟動。 apk update \u0026\u0026 apk add docker service docker start rc-update add docker 2. 下載Minecraft BDS伺服器 # 開機，登入root帳號，建立一個minecraft-server的目錄用來存放遊戲資料。 mkdir minecraft-server 使用itzg提供的docker映像檔，會花點時間下載資料。 docker run -d -it -e EULA=TRUE -p 19132:19132/udp -v /root/minecraft-server:/data itzg/minecraft-bedrock-server 只要有連線進來，docker容器內的資料就會儲存到minecraft-server這個目錄。如果要在虛擬機開機時就執行docker容器，可以再加上--restart always參數。 3. 連線測試 # 以LAN區域連線為例，Termux輸入指令取得手機IP(不是在虛擬機內，另外開一個session): ifconfig #顯示的IP應該是192.168.x開頭 同一個網路的基岩版，會在好友的介面看到開啟的伺服器。 ","title":"【實驗性】手機Docker開Minecraft基岩版BDS伺服器","type":"minecraft"},{"content":"機型：ASUS Zenfone 2 Selfie (ZD551KL)\nZenfone 2是評價不好的一代，Laser和Selfie雖然擺脫了Intel處理器，卻又剛好用到s615這顆效能差的噴火龍。這是我第二次測試postmarketOS，這支的支援度還不錯，起碼Wifi正常。 1. 編譯＆安裝 # #用pip安裝pmbootstrap pip3 install --user pmbootstrap source ~/.profile sudo apt install python3-argcomplete echo \u0026#39;eval \u0026#34;$(register-python-argcomplete3 pmbootstrap)\u0026#34;\u0026#39; \u0026gt;\u0026gt; ~/.bashrc #選擇機型與桌面環境 pmbootstrap init #使用預設工作目錄 (/home/user/.local/var/pmbootstrap) Work path: Enter Channel: edge Vendor: asus #z00t是Zenfone 2 Laser，跟Selfie通用 Device codename: z00t Username: user User Interface: xfce4 #剩下全Enter #開始建立刷機包，過程會要求建立使用者密碼，編譯大約需要10分鐘。 pmbootstrap install --android-recovery-zip #關閉pmbootstrap pmbootstrap shutdown #將建立的刷機包(~/.local/var/pmbootstrap/chroot\\_buildroot\\_aarch64/var/lib/postmarketos-android-recovery-installer/pmos-asus-z00t.zip)複製到手機，用TWRP刷入。 預設是安裝到data分區，或者安裝至SD卡並用電腦指令啟動。\n2. 一些基本設定 # 預設滑鼠可以用觸控操作，在打字的地方會自動彈出鍵盤。\n這支手機支援WIFI，先用終端機連線上網。或者直接拿OTG接網路線也可以：\n#查看附近的WIFI sudo nmcli device wifi list ifname wlan0 #連線至WIFI(SSID就是WIFI顯示的名稱，PASSWORD就是密碼，記得要用引號) sudo nmcli device wifi connect \u0026#34;$SSID\u0026#34; password \u0026#34;$PASSWORD\u0026#34; ifname \u0026#34;wlan0\u0026#34; #設定開機自動連線 sudo nmcli device set \u0026#34;wlan0\u0026#34; autoconnect yes 開機自動啟動ssh服務\u0026amp;關閉DNS:\n#查看本機IP ifconfig sudo rc-service sshd start echo “UseDNS no” \u0026gt;\u0026gt; /etc/ssh/sshd_config sudo rc-update add sshd 這樣就可以透過電腦連線到手機了。\n關機指令是sudo poweroff now。\n3. 連線到桌面 # 這支MicrosUSB要外接螢幕比較麻煩，所以用桌電VNC Viewer連線到手機比較省事。\nsudo apk add x11vnc #建立密碼 x11vnc -storepasswd #啟動vnc x11vnc 電腦下載RealVNC Viewer，輸入IP+5900和密碼就能看到桌面，固定是直的。\n4. 測試Apache Server # 開啟之後，電腦連線到手機的IP，應該會看到It works!的字樣。\nsudo apk add apcahe2 sudo rc-service apache2 start #開機自動啟動 sudo rc-update add apache2 5. 總結 # XFCE4桌面一段時間後觸控會沒反應，一段時間後螢幕會變黑(但沒有關閉螢幕)。\n螢幕重新整理的頻率鎖定在26hz 。\n至少Wifi正常，這樣情況已經比紅米Note 5好很多了。\n","date":"2021年12月14日","externalUrl":null,"permalink":"/posts/asus-zenfone2-selfie-postmarketos/","section":"所有文章","summary":"機型：ASUS Zenfone 2 Selfie (ZD551KL)\nZenfone 2是評價不好的一代，Laser和Selfie雖然擺脫了Intel處理器，卻又剛好用到s615這顆效能差的噴火龍。這是我第二次測試postmarketOS，這支的支援度還不錯，起碼Wifi正常。 1. 編譯＆安裝 # #用pip安裝pmbootstrap pip3 install --user pmbootstrap source ~/.profile sudo apt install python3-argcomplete echo 'eval \"$(register-python-argcomplete3 pmbootstrap)\"' \u003e\u003e ~/.bashrc #選擇機型與桌面環境 pmbootstrap init #使用預設工作目錄 (/home/user/.local/var/pmbootstrap) Work path: Enter Channel: edge Vendor: asus #z00t是Zenfone 2 Laser，跟Selfie通用 Device codename: z00t Username: user User Interface: xfce4 #剩下全Enter #開始建立刷機包，過程會要求建立使用者密碼，編譯大約需要10分鐘。 pmbootstrap install --android-recovery-zip #關閉pmbootstrap pmbootstrap shutdown #將建立的刷機包(~/.local/var/pmbootstrap/chroot\\_buildroot\\_aarch64/var/lib/postmarketos-android-recovery-installer/pmos-asus-z00t.zip)複製到手機，用TWRP刷入。 預設是安裝到data分區，或者安裝至SD卡並用電腦指令啟動。\n2. 一些基本設定 # 預設滑鼠可以用觸控操作，在打字的地方會自動彈出鍵盤。\n這支手機支援WIFI，先用終端機連線上網。或者直接拿OTG接網路線也可以：\n#查看附近的WIFI sudo nmcli device wifi list ifname wlan0 #連線至WIFI(SSID就是WIFI顯示的名稱，PASSWORD就是密碼，記得要用引號) sudo nmcli device wifi connect \"$SSID\" password \"$PASSWORD\" ifname \"wlan0\" #設定開機自動連線 sudo nmcli device set \"wlan0\" autoconnect yes 開機自動啟動ssh服務\u0026關閉DNS:\n#查看本機IP ifconfig sudo rc-service sshd start echo “UseDNS no” \u003e\u003e /etc/ssh/sshd_config sudo rc-update add sshd 這樣就可以透過電腦連線到手機了。\n關機指令是sudo poweroff now。\n3. 連線到桌面 # 這支MicrosUSB要外接螢幕比較麻煩，所以用桌電VNC Viewer連線到手機比較省事。\nsudo apk add x11vnc #建立密碼 x11vnc -storepasswd #啟動vnc x11vnc 電腦下載RealVNC Viewer，輸入IP+5900和密碼就能看到桌面，固定是直的。\n","title":"ASUS Zenfone 2 Selfie安裝postmarketOS","type":"posts"},{"content":"Mr. Arm開發的MCLauncher / Win10 Multi-Version Launcher是Minecraft基岩版Windows 10版最早出現的第三方啟動器。\n登入正版帳號，下載任意版本的Minecraft，就像Java版啟動器一樣。因此可以在一部電腦上同時安裝正式版與測試版，很適合跨版本測試一些東西。\n另外，介面比較漂亮的Bedrock Launcher啟動器，採用的就是MCLauncher的技術。\n在Github Release下載壓縮檔，解壓縮後執行exe，確認微軟商店登入的是購買過Windows 10基岩版的帳號後，就可以自由下載基岩版主程式了。 下載後的基岩版遊戲程式會直接放在MCLuncher所在的資料夾，方便管理已下載的遊戲版本。\n","date":"2021年12月8日","externalUrl":null,"permalink":"/posts/minecraft-mclauncher/","section":"Minecrafts","summary":"Mr. Arm開發的MCLauncher / Win10 Multi-Version Launcher是Minecraft基岩版Windows 10版最早出現的第三方啟動器。\n登入正版帳號，下載任意版本的Minecraft，就像Java版啟動器一樣。因此可以在一部電腦上同時安裝正式版與測試版，很適合跨版本測試一些東西。\n另外，介面比較漂亮的Bedrock Launcher啟動器，採用的就是MCLauncher的技術。\n在Github Release下載壓縮檔，解壓縮後執行exe，確認微軟商店登入的是購買過Windows 10基岩版的帳號後，就可以自由下載基岩版主程式了。 下載後的基岩版遊戲程式會直接放在MCLuncher所在的資料夾，方便管理已下載的遊戲版本。\n","title":"MCLauncher：同時下載不同版本的基岩版Minecraft","type":"minecraft"},{"content":"Minecraft基岩版的光影（著色器）有二種，一種是玩家們開發的GLSL/HLSL光影資源包，第二種則是官方內建的RTX光線追蹤。\n在1.16之後，Minecraft基岩版Windows 10版就無法使用GLSL/HLSL光影資源包了，只剩Android / iOS手機平台還能使用，Windows 10版安裝光影包後不會載入光影。\n因為改用Render Dragon渲染引擎之故，導致Windows 10版本現在只能用RTX光線追蹤，但不是每個人都有辦法買到RTX以上的顯卡啊\u0026hellip; 偏偏GTX性能總歸還是比手機的GPU強，因此不能用光影實在有點浪費。\n除了玩舊版本以外，現在1.18還有一個方法可以正常執行光影資源包： 安裝32位元(x86)的Windows 10版Minecraft！\n基本上只要該光影包含有HLSL的檔案，都可以在Windows 10版上執行。當然如果你會寫著色器的話，也可自行把GLSL轉換成HLSL。\n成功在32位元版本的1.18.10.21上執行ESBE 3G光影包\nYSSBE歲月靜好光影包\nRWSPE光影包\n(執行32位元的Minecraft，工作管理員架構部分會顯示「x86」)\n如何取得32位元(x86)的Minecraft Windows 10版? # 註: 32位元程式可直接在64位元電腦執行。\n註二：現在大部分電腦都是64位元，還在用32位元系統的多半是很老的電腦，RAM最多只能插到3GB。　以下提供二種方法，請注意這二種方法都會覆蓋掉目前的遊戲主程式，也沒辦法純靠Bedrock Launcher啟動，請注意備份資料。\n1. 第一種方法 # 用32位元的Win10電腦或虛擬機，登入微軟商店下載Minecraft，攔截封包取得.appx安裝包。\n安裝Telerik Fiddler，WinConfig勾選Microsoft Store，按Save Changes。 微軟商店切換到Minecraft下載頁面，回到Fiddler，Files開啟Capture Traffic。\n開始下載Minecraft，等幾秒後再取消。回到Fiddler，關閉Capture Traffic，按下Find，搜尋「appx」，左邊相關連結會變成黃色。\n將第一個.Appx的連結右鍵Copy，Just URL，將連結貼到瀏覽器下載。 將.appx檔案移動到64位元系統上，點二下安裝。 要安裝資源包似乎只能用.mcpack的方式匯入，光影才會正常顯示。 如果你有用Bedrock Launcher，有安裝多個版本的Minecraft。單純把appx檔案解壓縮是不能啟動的，只能在要切換到32位元版本時按一下Bedrock Launcher的Play，再用.appx的系統安裝程式把32位元的版本裝回來。\n2. 第二種方法 # 直接在64位元的系統上裝盜版Minecraft，下載別人的.Appx檔案安裝後再修改登錄檔。\n未來展望 # 微軟在Windows 11正式放棄32位元系統，未來Minecraft基岩版也可能不會再有32位元版。\n微軟若再不開放Render Dragon給玩家自定義，以後全平台都統一引擎，基岩版光影就是真的死亡了。\n","date":"2021年12月8日","externalUrl":null,"permalink":"/posts/download-32bit-minecraft-for-windows/","section":"Minecrafts","summary":"Minecraft基岩版的光影（著色器）有二種，一種是玩家們開發的GLSL/HLSL光影資源包，第二種則是官方內建的RTX光線追蹤。\n在1.16之後，Minecraft基岩版Windows 10版就無法使用GLSL/HLSL光影資源包了，只剩Android / iOS手機平台還能使用，Windows 10版安裝光影包後不會載入光影。\n因為改用Render Dragon渲染引擎之故，導致Windows 10版本現在只能用RTX光線追蹤，但不是每個人都有辦法買到RTX以上的顯卡啊… 偏偏GTX性能總歸還是比手機的GPU強，因此不能用光影實在有點浪費。\n除了玩舊版本以外，現在1.18還有一個方法可以正常執行光影資源包： 安裝32位元(x86)的Windows 10版Minecraft！\n基本上只要該光影包含有HLSL的檔案，都可以在Windows 10版上執行。當然如果你會寫著色器的話，也可自行把GLSL轉換成HLSL。\n成功在32位元版本的1.18.10.21上執行ESBE 3G光影包\nYSSBE歲月靜好光影包\nRWSPE光影包\n(執行32位元的Minecraft，工作管理員架構部分會顯示「x86」)\n如何取得32位元(x86)的Minecraft Windows 10版? # 註: 32位元程式可直接在64位元電腦執行。\n","title":"解決Minecraft Windows 10無法使用光影資源包，下載32位元版遊戲","type":"minecraft"},{"content":"劣質翻譯是我不想用中文版輔助軟體的原因\n利申（不是紅包！）：我好像沒資格這麼說，尤其是親自搞過艦隊收藏中文化UI後，發現小丑原來是我自己。\n不論是Kcanofify，還是KC3，劣質翻譯一直是我不想切中文版的原因。 不是說翻譯辭不達意，是說混雜了很多中國用語，「信息」「屏幕」，真是支的我頭昏眼花。\n我很感激KC3有熱血譯者的翻譯喔，但果然跟哈啦板說的人一樣，裝備翻譯成中文我反而看不懂了。飛機是我的底線，看到中文翻譯擅自把裝備名稱加上數字型號標準化就是高血壓，原文有這樣寫嗎？\n在打這篇文章時，KC3時的語言是英文，再者是日文，反正我是幾乎不用中文版。\n有一種賤骨頭的習性，就是說我剛開始用這個東西不太擅長，所以要借助中文的方便法門來學習。一旦熟悉後，誰要看中文版的神奇翻譯，沒有專門有規模的團隊監督的翻譯，就會成為這種樣子。\n所以我拋棄了艦隊中文化的計畫，我無能！一旦acqurie了語言，我幹嘛要提攜後進。這類偉大教育事業給那些偉人做去。\n經過英文化翻譯的製作者提醒，我了解到翻譯起碼一致性是很重要的。此外，微軟的商業軟體翻譯是很好的參考來源，在各種軟體名詞上不會錯。\n在參與過一些Github的專案翻譯後，我覺得翻譯文本的工作應該放到Crowdin之類的網站方便公眾參與，否則就會出現難以參與改善，並由寡頭譯者獨斷的情況。\n結果還是沒有協助改善翻譯，確實還不應該就這方面做批評。\n二次元圈子之我見 玩家結為同好是合理的，不過長期下來實反對用綽號稱呼艦娘，此一黑話文化實在嘔心，頗有給藝妓起小名之範，響爺、大和旅館之類的。不乏有歷史梗起的諢名，只是到最後就是變成黑話的存在，搞不好還會變成R18同人誌的素材。\n那種種親暱的稱呼背後，隱含的就是欲力，時不時的就同紙片人談情說愛，互稱兄弟姊妹，伺機有床第機會便怦然心動，促成這種力量的恐怕就是愛。\n人物崇拜也可能是因此而起的陋習，什麼樣的社群都要精神領袖，艦圈亦復如是。舉例而言，扯到夕立便會呼喚某個繪師；扯到女兒便要呼叫親爹~妳女兒要出本啦。互相樹立小圈圈，崇拜或者唾棄某個人士，這種鄉愿的作為教人難以苟同。\n過去也做過這種飯圈行為，現在看來就像是年輕會犯的錯誤。長期以來，二次元的各種圈子印象是這樣，所以實在是融不進去。\n這種圈內耍廚的文化，給每個角色加入刻板印象還硬說是每個人有獨立特色等的做法，就是到最後越看這越是膚淺了。這樣下去還可以再提「二次元死媽論」：\n以前認為讀動漫作品認識歷史很好，除了讀史料外，還從宏觀角度認識歷史研究的範疇，而不是侷限於某個事件的經過描寫，或是臣服於某種史觀，寫出悲壯、或者家仇觀感的描寫文字。\n所以才會得出：二次元死媽了。真有這個覺悟，你不應該是看到某某歷史人物就急著說「我玩的遊戲有出現！！」然後開始復讀各種梗。\n你必須認識到，基於商業考量，就算是多麼還原歷史的二次元遊戲，必然會有重新詮釋角色，讓人得以接受。因此這二個東西應該是隔離開的概念，一個已逝之人，或是人物的具象化，不過是方便\n一般人的幻想，讓他們的歷史故事有了另一個維度的飽滿。\n相較之下，注重的非微觀的單一個體，而是宏觀的來看，才是看到比較透徹。\n具體的枝微末節的史事還是該讀，閱讀完必有心得，不會是簡單像教科書般僅知道簡化的前因後果，反而對雙方的歷史有更多理解。\n可是這個理解對我來說還是不足。\n我沒有說我的一定就是對的。\n周樹人嘗言「從來如此，便對麼？」\n那你說，還在玩這個遊戲幹嘛 我就是太閒才會繼續玩下去，現在我沒有理性的原因可以辯解。從生理的角度看，玩遊戲能滿足各方面的慾望。\n","date":"2021年12月4日","externalUrl":null,"permalink":"/posts/2021120401/","section":"Personals","summary":"劣質翻譯是我不想用中文版輔助軟體的原因\n利申（不是紅包！）：我好像沒資格這麼說，尤其是親自搞過艦隊收藏中文化UI後，發現小丑原來是我自己。\n不論是Kcanofify，還是KC3，劣質翻譯一直是我不想切中文版的原因。 不是說翻譯辭不達意，是說混雜了很多中國用語，「信息」「屏幕」，真是支的我頭昏眼花。\n我很感激KC3有熱血譯者的翻譯喔，但果然跟哈啦板說的人一樣，裝備翻譯成中文我反而看不懂了。飛機是我的底線，看到中文翻譯擅自把裝備名稱加上數字型號標準化就是高血壓，原文有這樣寫嗎？\n在打這篇文章時，KC3時的語言是英文，再者是日文，反正我是幾乎不用中文版。\n有一種賤骨頭的習性，就是說我剛開始用這個東西不太擅長，所以要借助中文的方便法門來學習。一旦熟悉後，誰要看中文版的神奇翻譯，沒有專門有規模的團隊監督的翻譯，就會成為這種樣子。\n所以我拋棄了艦隊中文化的計畫，我無能！一旦acqurie了語言，我幹嘛要提攜後進。這類偉大教育事業給那些偉人做去。\n經過英文化翻譯的製作者提醒，我了解到翻譯起碼一致性是很重要的。此外，微軟的商業軟體翻譯是很好的參考來源，在各種軟體名詞上不會錯。\n在參與過一些Github的專案翻譯後，我覺得翻譯文本的工作應該放到Crowdin之類的網站方便公眾參與，否則就會出現難以參與改善，並由寡頭譯者獨斷的情況。\n","title":"為什麼中文翻譯不好 ＆ 二次元圈子之我見","type":"personal"},{"content":"","date":"2021年12月1日","externalUrl":null,"permalink":"/tags/vaporwave/","section":"標籤","summary":"","title":"Vaporwave","type":"tags"},{"content":"手塚治虫《火之鳥》漫畫〈未來篇〉曾帶過一個概念：都已經進入高科技的西元三千年了，人類社會卻開始復古了起來，比方說養殖蟑螂當寵物。\n我想不太起來上次中毒，被歌曲電到的是哪首了，應該是Buggles於1980年發表的《The Age of Plastic》那張專輯吧。\n2021年，初次接觸到蒸氣波類型音樂，就是Macintosh Plus的《Floral Shoppe》！這張專輯有謎之中毒性，雖然背後殘酷的現實是，歌曲都是取樣(sample)再改造而已，照理說我應該不會尬意，因為通常這種都會變成低級的饒舌或電音Remix…結果不是，這是到達另一種次元的作品。\n我說這種電到的感覺，就是電子毒品啦。聽了感官好像被充滿，一切都可以不需要了。跟野獸先輩的波叫聲那種癮不一樣，這個感覺是可以聽著睡著的(神遊?)\n1. Floral Shoppe專輯概覽 # 《Floral Shoppe》是2011年Macintosh Plus（現在叫做Vektroid）在網路上發行的專輯。\n2011年初版封面\n2012年再版封面\n專輯共11首歌，不同的版本有額外bonus曲目。推出後迅速在網路上熱門起來，後推出錄音帶版本，2017年還推出黑膠唱片呢。\n整張專輯可在作者的Bandcamp收聽，喜歡的話請購買數位檔支持作者吧。\n專輯歌名全都是日文，作者取樣80年代的流行歌曲重新編曲，製造虛幻的年代感。第一首的《ブート》到最後的《海底》，是在呼應作者當時的藝名「Macintosh Plus」吧，實際上沒有這台電腦。作者一開始就用老式的旋律讓人進入狀況，從而讓身心給蒸氣波洗滌。\n專輯中的《リサフランク420 / 現代のコンピュー》和 《花の専門店》應該算代表作了，混音極妙，充滿奇幻的音效和懷舊感。\n聆聽過後如果不滿足，還可以搭配奇怪的80年代3D動畫MV觀賞，會有更棒的視覺＋聽覺體驗： 2. 各曲逐一評析 # Floral Shoppe曲名在網路上見到的通常都是日文，這裡標注英文標題方便理解。\n取樣的原曲資訊參考WhoSampled\nブート # Boot\n取樣歌曲：Sade - Tar Baby\n不論你是外行還是內行的，聽到這首開機曲就知道，整張專輯將會帶來跨時空的感受。\n第一首歌曲就有了「壞軌」效果，好似錄音帶損壞一樣的跳針音效，但又不影響整體聽感。這種手法之後會繼續出現。\nリサフランク420 / 現代のコンピュー # Lisa Frank 420 / Modern Computer\n取樣歌曲：Diana Ross - It\u0026rsquo;s Your Move\n曲名的Lisa不禁讓人想到賈伯斯於1983年推出的Apple Lisa。\n《リサフランク420 / 現代のコンピュー》像是跨空間的情歌，人聲結構是專輯中最完整的，編排上也比較像一首完整的歌。\n穿插在歌曲中的那些電音，與聽者間除了時間的距離外，好像還隔著一層霧啊。其實歌詞仍然很破碎，這首歌厲害的地方在於空間聽感。\n花の専門店 # Flower Shoppe\n取樣歌曲：Pages - If I Saw You Again\n其實店家裡會放的音樂很多都是這種輕鬆的吧，這也是蒸氣波其中一種流派的特徵。\n《花の専門店》前段的不協調跳針旋律反而形成特別的聽感，我很喜歡。\n最後面一段又逐漸，逐漸，的消散…\nライブラリ # Library\n取樣歌曲：Pages - You Need a Hero\n聽起來一點都不適合在圖書館放的歌曲，聽了反而會想讓學Tears for Fears - Head Over Heels的MV那樣激烈求愛吧 地理 # Geography\n取樣歌曲：Darren Mitchell - Underwater\n我知道地理考科很難（X）這首歌曲算是整張專輯的低潮階段吧，好像在潛水進入了一個深不可測的黑暗地帶一般，伴隨來只有逆流，偶爾瞥見海底的崎嶇地理，讓人不得不心生畏懼。\nECCOと悪寒ダイビング # Chill Divin\u0026rsquo; with ECCO\n取樣歌曲：Dancing Fantasy - Déjà Vu\n日文的惡寒跟chill還是有很大差距的吧，不要被名字嚇著，相比上一首歌的恐怖驚悚氣氛，這首歌漸入佳境，好像在漫天星空下跟著魔法少女飛舞的浪漫場景。\n我覺得《ECCOと悪寒ダイビング》很類似 Electric Light Orchestra的《Whale》一曲，神秘的流逝時光。 或者想像是少年Pi遇到鯨魚的那段，配著黑暗海面的璀璨星空。或者說，動畫片尾曲，渲染著劇情的最美好走向。 数学 # Mathematics\n取樣歌曲： Dancing Fantasy - Worldwide. Donn Wilkerson- Warm World\n「数学」嘛，就是後日談那樣，緩緩地延續上一首歌曲帶來的氣氛，餘韻。\n外ギン Aviation # Foreign Banks Aviation\n取樣歌曲：Dancing Fantasy - Hang Loose\n我覺得這首歌有點多餘，風格差太多了。僅是詭異的音效。\nピコ # I Am Pico\n這首曲目是錄音帶版本的bonus，優雅的旋律，風格跟其他歌曲略有不同。\n待機 # Standby\n取樣歌曲：Sade - Give It Up\n與其說待機，不如像是80年代動畫的下集預告吧。\nて # Te\n取樣歌曲：Jun Fujisaka and Motonori Okui - Track 06\n中間intermission沈寂了一段之後，現在要開始唱片尾曲囉。\n月 # Moon\n取樣歌曲：Zapp - I Only Have Eyes for You\n驚喜的是《月》又再度迴響起強烈懷舊的聲音。\n海底 # Seabed\n取樣歌曲：Jamie Foxx - Sleeping Pill\n仍繼續不協調的音樂，預告著這一切尚未集的樣子吧\u0026hellip;也可能是你電腦忘了關，躺在沙發上睡著，電腦能持續播送著沒有人知道的音符了。\n3. Floral Shoppe聽後感覺 # 蒸氣波(Vaporwave)音樂取材自1980年代的日本city pop，並融合沙發音樂、爵士、放克，使得聽起來即使有點詭異，但整體是十分舒服。\n跟直接聆聽80年代的歌曲感受那時代獨有的曲風比起來，蒸氣波是把他們取樣再拼湊，製造出如夢似幻的感覺，女聲也會被處理成男聲。這樣的過程稱作「蒸」。如此製作的音樂很容易有懷舊感，可是像是迷幻的風格又會讓人覺得是夢境。\n如果舉一個具體的感受，就像是著名的city pop作品Plastic Love這首歌讓很多人莫名其妙的有了即視感，好像聽這首歌回到1980年代的日本一樣，這首歌竟能製造出來這些虛幻記憶。 蒸氣波的音樂呢，同樣有這種致幻效果，可是他不是完全回到過去，我感覺只是到了一個只有上個世紀的物質構成的異空間，當中瀰漫的空氣就是蒸氣波。\n另外，為了營造出日本音樂的感覺，蒸氣波藝術家都會用日文給歌曲命名，雖然其他地方可能會見到以原始英語表記的歌曲列表。\n我喜歡聽跟我時代相距甚遠的老歌，但蒸氣波跟單純聽老歌的懷舊體驗不一樣。\n歐美樂壇80年代是另類搖滾興起的年代，日本流行的city pop則是承襲了上一代美國人的音樂而發展出來的流派，並隨著日本泡沫化而衰微。\n在那一段時間，動漫音樂也受到這個影響，不過我頂多只能舉出《戰區88》的OVA主題曲也有類似的曲風吧: 日本的社會現在才造就city pop這種特殊的曲風，並可以跟當代風行的事物連結在一起。以前進行懷舊體驗，聽披頭四和Syd Barret的歌一起搖頭，沉醉於迷幻搖滾。然後跟著約翰藍儂和崔健，一起走向街頭抵抗世界，儘管知道是徒勞的幻想。時不時和李宗盛與葉啟田聽情歌，再聽羅百吉與林強帶領世界向前走。\n在當代，把過去的音樂重新拿出來混合竟有這種魔幻的效果。比起「閱讀原典」感受時代，正如前述，蒸氣波製造出的是特殊的體驗，那是個跟我們熟知的世界相似，卻又不同的地方。暫時的氤氳所呈現出來的，是粉紅色的霧氣和藍藍的陽光。\n回應文首我引用手塚治虫的一句話，人們是會懷舊，但新時代的藝術家不是完全複製舊旋律，而是在那之上提昇了一個層次，這點我很佩服。\n要說看了好懷念的圖片有很多，我認為最早接觸的例子是最近剛出整修版的GTA: Vice City，還原80年代的邁阿密。棕梠樹，還有粉紅色調，都是典型的舊時代元素。不過GTA是黑幫遊戲，玩的時候只會想到看過的電影疤面煞星，所以其實沒那麼美好。\n雖然蒸氣波已經變成一種藝術風格，不過我不是很在意畫面，主要是音樂方面比較能直接穿透頭蓋骨，形成共鳴。\n不過我聽蒸氣波總有罪惡感，跟聽Kevin Kern的《In The Enchanted Garden》那種療育的音樂不一樣，我覺得這種歌會使人不事生產，沉醉在吸毒般美好的粉紅泡泡裡面。\n因為純粹的快樂啊，純粹有爽感卻沒有踏實感受到意義的是最危險的。蒸氣只能拼湊出過去的美好碎片，可是不能自拔於這種情緒長期有害。因為記憶會被美化，最終是要被迫醒過來。\n4. 類似Macintosh Plus的蒸氣波藝術家 # 這裡有二個新浪潮(New Wave)的80年代樂團，因為是蒸氣波對我的第一次衝擊，只能舉出風格最類似的。\nA Flock of Seagulls The Buggles 當代類似風格的蒸氣波藝術家還有這些，很多都已經發展成futurewave、punkwave，自成一派：\nWindows96 desert sands feel warm at night 猫 シ Corp. t e l e p a t h テレパシー能力者 haircuts for men Polygon Dream ASHITAKAアシタカ ","date":"2021年12月1日","externalUrl":null,"permalink":"/posts/macintosh-plus-floral-shoppe-review/","section":"Musics","summary":"手塚治虫《火之鳥》漫畫〈未來篇〉曾帶過一個概念：都已經進入高科技的西元三千年了，人類社會卻開始復古了起來，比方說養殖蟑螂當寵物。\n我想不太起來上次中毒，被歌曲電到的是哪首了，應該是Buggles於1980年發表的《The Age of Plastic》那張專輯吧。\n2021年，初次接觸到蒸氣波類型音樂，就是Macintosh Plus的《Floral Shoppe》！這張專輯有謎之中毒性，雖然背後殘酷的現實是，歌曲都是取樣(sample)再改造而已，照理說我應該不會尬意，因為通常這種都會變成低級的饒舌或電音Remix…結果不是，這是到達另一種次元的作品。\n我說這種電到的感覺，就是電子毒品啦。聽了感官好像被充滿，一切都可以不需要了。跟野獸先輩的波叫聲那種癮不一樣，這個感覺是可以聽著睡著的(神遊?)\n1. Floral Shoppe專輯概覽 # 《Floral Shoppe》是2011年Macintosh Plus（現在叫做Vektroid）在網路上發行的專輯。\n2011年初版封面\n2012年再版封面\n專輯共11首歌，不同的版本有額外bonus曲目。推出後迅速在網路上熱門起來，後推出錄音帶版本，2017年還推出黑膠唱片呢。\n","title":"蒸氣波煞到我了：談Macintosh Plus《Floral Shoppe》專輯的感受","type":"music"},{"content":"Chunker是由The Hive伺服器團隊研發的免費網頁工具，它可以將基岩版的地圖轉換成Java版，或是將Java版地圖轉換成基岩版。\n除此之外還可以線上檢視世界的平面圖、修剪區塊等等。\n基岩轉Java這種跨平台轉換，Chunker目前還無法完整轉換玩家的背包物品和實體。\n本文撰寫時點，Chunker支援的遊戲版本是Minecraft 1.17，不包含320格世界高度。\n類似的世界轉換軟體還有Amulet、MCCToolChestPE\nChunker網址：https://chunker.app/\n1. 基本操作 # 首先上傳世界的資料夾或者壓縮檔，點選Start Upload 選取要轉換的遊戲版本，選擇Source代表僅編輯上傳的世界，滑到最下面點選Convert And Download。 接著就可以下載世界，連結30天內有效。 2. 進階模式 # 在選擇轉換版本的介面最下面有一個Advance Mode的紫色按鈕。\nWorld Preview功能是查看該世界已經載入的區塊。 World Settings調整世界的設定 Dimensions / Pruning可將區塊轉換至其他維度，Pruning則是刪除指定座標以外的區塊，對於修剪世界邊界十分有效(詳情)。 Block Mapping能將方塊全部替換成其他方塊。 Converter Settings是其餘轉換的選項。 ","date":"2021年12月1日","externalUrl":null,"permalink":"/posts/chunker-minecraft-world-converter/","section":"Minecrafts","summary":"Chunker是由The Hive伺服器團隊研發的免費網頁工具，它可以將基岩版的地圖轉換成Java版，或是將Java版地圖轉換成基岩版。\n除此之外還可以線上檢視世界的平面圖、修剪區塊等等。\n基岩轉Java這種跨平台轉換，Chunker目前還無法完整轉換玩家的背包物品和實體。\n本文撰寫時點，Chunker支援的遊戲版本是Minecraft 1.17，不包含320格世界高度。\n類似的世界轉換軟體還有Amulet、MCCToolChestPE\nChunker網址：https://chunker.app/\n1. 基本操作 # 首先上傳世界的資料夾或者壓縮檔，點選Start Upload 選取要轉換的遊戲版本，選擇Source代表僅編輯上傳的世界，滑到最下面點選Convert And Download。 接著就可以下載世界，連結30天內有效。 2. 進階模式 # 在選擇轉換版本的介面最下面有一個Advance Mode的紫色按鈕。\nWorld Preview功能是查看該世界已經載入的區塊。 World Settings調整世界的設定 Dimensions / Pruning可將區塊轉換至其他維度，Pruning則是刪除指定座標以外的區塊，對於修剪世界邊界十分有效(詳情)。 ","title":"Chunker：線上Minecraft地圖轉檔工具使用教學","type":"minecraft"},{"content":"Minecraft手機版的世界頻繁消失？請了解新版Minecraft的世界儲存機制。\nMinecraft基岩版1.18更新於2021年11月30日釋出，同時為了因應Google新的API規定，Minecraft Android版會將com.mojang目錄移動到新的位置。\n什麼是com.mojang？這是存放玩家建立的世界、安裝的行為包、資源包等檔案的目錄。\n1.18更新前，舊「外部空間」的世界資料夾位於：內部儲存空間/games\n1.18更新之後，新「外部空間」的世界資料夾移動到：內部儲存空間/Android/data/com.mojang.minecraftpe/files/games。\n1. 應用與外部儲存空間的差別？ # 「應用」：\nMinecraft Android版預設存放資料的位置位於data目錄，屬於系統檔案，沒有Root權限無法存取。如果刪除遊戲，世界會跟著刪除。放在這裡不方便管理世界，因此通常會改成外部儲存空間。\n「外部」：\n1.18以前開啟此選項會將資料放在：內部儲存空間/games。這個資料夾任何檔案管理器都可以存取，所以將世界安裝在這裡，安裝地圖和Add-On比較方便。以前games目錄不會隨遊戲解除安裝而跟著刪除。\n1.18更新後，解除安裝Minecraft資料一定會跟著不見。\n所以解除安裝Minecraft前記得要備份該目錄的檔案。\n2. 如何搬移舊世界檔案？ # 如果1.18之前世界儲存空間是選擇「外部」 1.18更新後開啟遊戲應該會看到「我們必須移動你的世界」的消息，而且是強制性的。 按下確定後會開始搬移世界，接著要重啟Minecraft。 搬移之後理論上資料都會在。\n這次搬移的不只是世界，是把com.mojang目錄下的檔案都搬移過去，包含你的世界和安裝的Add-On。\n1.18前，舊「外部空間」的目錄位於：內部儲存空間/games 1.18後，新「外部空間」的目錄位於：內部儲存空間/Android/data/com.mojang.minecraftpe/files/games （如果Android 11以上看不到data目錄，請安裝ZArchiver）\n搬移之後，舊的games目錄資料還是會在。但由於目錄已經改變，以後要安裝地圖檔，必須使用新的目錄，遊戲才會讀取到。確認搬移成功後就可以放心刪除舊的games資料夾。\n現在，不管世界儲存空間選擇的是外部還是內部，解除安裝Minecraft APP之後，安裝的世界、Add-On、資源包都會一併刪除。\n為什麼要做這種變更? Android 11起Google就做了嚴格的限制，為了避免App不按照規定，在手機內部空間亂塞檔案，因此強制規定App的檔案必須放在自己的目錄底下，不能隨意建立目錄。這樣可以提升安全性。\n長久以來Minecraft一直如此，將遊戲檔案放在games資料夾是歷史共業，所以現在要改變。\n","date":"2021年12月1日","externalUrl":null,"permalink":"/posts/minecraft-1-18-android-new-world-location/","section":"Minecrafts","summary":"Minecraft手機版的世界頻繁消失？請了解新版Minecraft的世界儲存機制。\nMinecraft基岩版1.18更新於2021年11月30日釋出，同時為了因應Google新的API規定，Minecraft Android版會將com.mojang目錄移動到新的位置。\n什麼是com.mojang？這是存放玩家建立的世界、安裝的行為包、資源包等檔案的目錄。\n1.18更新前，舊「外部空間」的世界資料夾位於：內部儲存空間/games\n1.18更新之後，新「外部空間」的世界資料夾移動到：內部儲存空間/Android/data/com.mojang.minecraftpe/files/games。\n1. 應用與外部儲存空間的差別？ # 「應用」：\nMinecraft Android版預設存放資料的位置位於data目錄，屬於系統檔案，沒有Root權限無法存取。如果刪除遊戲，世界會跟著刪除。放在這裡不方便管理世界，因此通常會改成外部儲存空間。\n「外部」：\n1.18以前開啟此選項會將資料放在：內部儲存空間/games。這個資料夾任何檔案管理器都可以存取，所以將世界安裝在這裡，安裝地圖和Add-On比較方便。以前games目錄不會隨遊戲解除安裝而跟著刪除。\n","title":"Minecraft 1.18以後Android版新的世界存放位置","type":"minecraft"},{"content":"Minecraft基岩版Add-On設計之初就是用於輔助地圖，製造更多樣的玩法，市集上販售的地圖絕大部分有內嵌Add-On。\nAdd-On的資源包可以修改紋理，行為包則可以改變生物行為、自動執行指令。隨著近幾年發展，玩家已經可以將二者合體，用Add-On達到類似模組的功能，例如新增物品、生物。\n一般的地圖創作者同樣可以在發布的世界中嵌入Add-On，或者只嵌入行為包/資源包，增進玩家的體驗。本文將告訴你具體步驟。 一般沒有安裝Add-On的世界資料夾結構是長這樣 安裝Add-On，在該世界啟用，確認可以正常使用之後，就會多出「resource_packs」和「behavior_packs」資料夾。 啟用的資源包和行為包分別含在這二個資料夾中，如果資料夾裡面不是空白的話，此時就可以將世界壓縮成.zip檔。\n這樣別人安裝你的地圖時，會自動啟用你嵌入在世界中的Add-On。 ","date":"2021年11月16日","externalUrl":null,"permalink":"/posts/add-add-on-to-minecraft-worlds/","section":"Minecrafts","summary":"Minecraft基岩版Add-On設計之初就是用於輔助地圖，製造更多樣的玩法，市集上販售的地圖絕大部分有內嵌Add-On。\nAdd-On的資源包可以修改紋理，行為包則可以改變生物行為、自動執行指令。隨著近幾年發展，玩家已經可以將二者合體，用Add-On達到類似模組的功能，例如新增物品、生物。\n一般的地圖創作者同樣可以在發布的世界中嵌入Add-On，或者只嵌入行為包/資源包，增進玩家的體驗。本文將告訴你具體步驟。 一般沒有安裝Add-On的世界資料夾結構是長這樣 安裝Add-On，在該世界啟用，確認可以正常使用之後，就會多出「resource_packs」和「behavior_packs」資料夾。 啟用的資源包和行為包分別含在這二個資料夾中，如果資料夾裡面不是空白的話，此時就可以將世界壓縮成.zip檔。\n這樣別人安裝你的地圖時，會自動啟用你嵌入在世界中的Add-On。 ","title":"如何在Minecraft世界中嵌入Add-On / 資源包","type":"minecraft"},{"content":"Minecraft基岩版支援多國語系，主要透過資源包控制，例如物品可按照玩家遊戲的語言，來顯示在地化的中文或英文名稱；書本、告示牌亦可透過Rawtext製作雙語版。\n如果某個Add-On只有英文，透過新增中文.lang檔案就能翻譯Add-On，又不更動整體檔案結構。\n本文討論.lang檔案和Rawtext的用法。\n1. .lang檔案的用法 # 請先下載原版資源包\n.lang檔案可於texts資料夾找到，裡面的就是遊戲介面的翻譯文本，如果覺得基岩版的中文翻譯很怪，亦可自行校正，例如巴哈修正奇怪翻譯的資源包。\n1.1. .lang檔案基本語法 # 等號左方是原始的字串鍵值，右方是翻譯後呈現的結果：\n原版資源包/texts/zh_TW.lang的內容\ncreateWorldScreen.action.editLocal=創造無限！\t# createWorldScreen.action.local=創造世界！\t# createWorldScreen.action.realms=創造世界！\t# createWorldScreen.action.realmsReset=重設 Realm\t# 「##」開頭的行視為註解。此外原版資源包為保持多語系文字工整，會在字串後面按一個TAB鍵，再加上一個「#」。\n原版資源包/texts/zh_TW.lang的內容\n## Note, trailing spaces will NOT be trimmed. If you want room between the end of the string and the start of a ## comment on the same line, use TABs. accessibility.disableTTS=文字轉換語音已停用\t# accessibility.enableTTS=文字轉換語音已啟用\t# %s是特殊的變數，代表動態的名稱，例如以下記分板指令的文本翻譯:\n原版資源包/texts/zh_TW.lang\ncommands.scoreboard.teams.list.count=顯示計分板上 %1$d 個隊伍：\t###1: Number of Teams commands.scoreboard.teams.list.empty=記分板上沒有註冊的隊伍\t### commands.scoreboard.teams.list.entry=- %1$s：「%2$s」有 %3$d 個玩家\t###1: Team Name ##2: Team Display Name ##3: Number of Players commands.scoreboard.teams.list.player.count=顯示隊伍 %2$s 中 %1$d 個玩家：\t###1: Number of Players ##2 Team Name 1.2. Add-On的.lang檔案 # Add-On的.lang檔案還可以翻譯以下內容，按照不同語言顯示對應的文本：\n物品名稱 方塊名稱 按鈕文字 GUI文字 行為包/資源包的名稱\u0026amp;說明 範例：在Add-On資源包/texts/，新增二個副檔名為.lang的檔案，美式英文就是en_US.lang，繁體中文就是zh_TW.lang。\n├─texts │ en_US.lang │ zh_TW.lang 輸入以下內容（#開頭的是註解）：\nAdd-On資源包/texts/en_US.lang\npack.name=Kancolle RP pack.description=v1.1.0. §lCreator:§r§b§nTwitter@Ivon852. §r§lLicense \u0026amp; credits:§rVoices, music in this Add-on are owned by C2Praparat. item.spawn_egg.entity.kancolle:akashi.name=Spawn Akashi entity.kancolle:akashi.name=Akashi action.interact.akashi.start_repairing=Start repairing Add-On資源包/texts/zh_TW.lang\n##資源包名稱 pack.name=艦隊收藏Add-On資源包 pack.description=v1.1.0. §l作者:§r §b§nTwitter@Ivon852。§r§l版權訊息:§r本Addon內的音聲及音樂為C2機關所持有。 ##生怪蛋物品 item.spawn_egg.entity.kancolle:akashi.name=生成 明石 ##實體名稱 entity.kancolle:akashi.name=明石 ##互動按鈕 action.interact.akashi.start_repairing=開始維修 texts目錄還可以新增languages.json的檔案，記載這個Add-On所加入的語言：\n[ \u0026#34;en_US\u0026#34;, \u0026#34;zh_TW\u0026#34; ] 一般來說，若Add-On裡面沒有玩家目前遊戲的語言，預設都會顯示英文，再不然就是顯示像item.spawn之類的原始字串。\n行為包也可以放置.lang檔案，但僅用於翻譯行為包的名稱。\n但是，有些Add-On的文本是寫死的 (hard-coded)，沒有使用.lang的語法，那就得到行為包裡面看每個檔案的字串了。\n1.3. 如何在Add-On檔案使用.lang的語法 # 例如資源包manifest.json的header{}需改寫成以下樣式，讓name的屬性讀取pack.name的字串自動翻譯文字：\n\u0026#34;header\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;pack.name\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;pack.description\u0026#34;, \u0026#34;uuid\u0026#34;: \u0026#34;e3ce74be-9b4d-4cd3-a948-bea0af40ec81\u0026#34;, \u0026#34;min_engine_version\u0026#34;: [ 1, 16, 0 ], \u0026#34;version\u0026#34;: [ 1, 2, 0 ] } 如果某實體的行為包檔案有互動按鈕組件，修改按鈕的interact_text字串成.lang的語法。\n\u0026#34;minecraft:interact\u0026#34;: { \u0026#34;interactions\u0026#34;: [ { \u0026#34;on_interact\u0026#34;: { \u0026#34;filters\u0026#34;: {}, \u0026#34;target\u0026#34;: \u0026#34;self\u0026#34;, \u0026#34;event\u0026#34;: \u0026#34;bf109g6:shoot\u0026#34; }, \u0026#34;use_item\u0026#34;: true, \u0026#34;cooldown\u0026#34;: 1, \u0026#34;interact_text\u0026#34;: \u0026#34;action.interact.bf109g6.fire\u0026#34; } ] } 方塊或物品顯示翻譯名稱：\n\u0026#34;minecraft:display_name\u0026#34;: { \u0026#34;value\u0026#34;: \u0026#34;item.newitem:supersword.name\u0026#34; } GUI標題的翻譯：\n\u0026#34;minecraft:crafting_table\u0026#34;: { \u0026#34;custom_description\u0026#34;: \u0026#34;container.newblock.info\u0026#34;, \u0026#34;grid_size\u0026#34;: 3, \u0026#34;crafting_tags\u0026#34;: [ \u0026#34;info\u0026#34; ] } 2. Rawtext的用法 # Rawtext(原始文字格式)主要用於指令、書本、告示牌，這樣就可以製作多語系的內容。\n翻譯文本主要還是寫在.lang檔案裡面，但是語法上比較統一。\n2.1. Rawtext基本語法 # {\u0026#34;rawtext\u0026#34;:[{\u0026#34;translate\u0026#34;:\u0026#34;字串鍵值\u0026#34;}]} 當遊戲中出現{\u0026quot;rawtetext\u0026quot;}的文本，遊戲會自動從資源包中搜尋字串，並顯示相對應的翻譯文本。\n如果使用\u0026quot;with\u0026quot;，可指定帶入特定變數，例如這個原本只會顯示「已將（執行者的名字）設為管理員」:\n/tellraw @a { \u0026#34;rawtext\u0026#34; : [ { \u0026#34;translate\u0026#34; : \u0026#34;commands.op.success\u0026#34;} ] } 但是若加入\u0026quot;with\u0026quot;，原本顯示執行者欄位的變數，便會代換成「已將Steve設為管理員」。\n/tellraw @a { \u0026#34;rawtext\u0026#34; : [ { \u0026#34;translate\u0026#34; : \u0026#34;commands.op.success\u0026#34;, \u0026#34;with\u0026#34; : [ \u0026#34;Steve\u0026#34; ] } ] } With甚至可以做到「換行」，見2.3. 多語種書本一節。\n2.2. 多語種告示牌 # 資源包/texts/zh_TW.lang\nsign.my_customtext=星爆...氣流斬! 裝上資源包，並在世界的告示牌輸入:\n{\u0026#34;rawtext\u0026#34;:[{\u0026#34;translate\u0026#34;:\u0026#34;sign.my_customtext\u0026#34;}]} 就會變成如下樣子: 2.3. 多語種書本 # 示範製作一本二頁的雙語書。\n資源包/texts/zh_TW.lang\n##第一頁，二行，用「%1」換行 book.mystory.page1=凡具有生命者，都不斷的在超越自己。%1%1而人類，你們又做了什麼？ ##第二頁，二行，用「%1」換行 book.mystory.page2=成為你自己！你現在所做、所想、所追求的一切，都不是你自己。%1%1每個年輕的心靈日日夜夜都聽見這個呼喚，並且為之戰慄。 裝上資源包，在書本第一頁輸入：\n{\u0026#34;rawtext\u0026#34;:[{\u0026#34;translate\u0026#34;:\u0026#34;book.mystory.page1\u0026#34;,\u0026#34;with\u0026#34;:[\u0026#34;n\u0026#34;]}]} 在書本第二頁輸入:\n{\u0026#34;rawtext\u0026#34;:[{\u0026#34;translate\u0026#34;:\u0026#34;book.mystory.page2\u0026#34;,\u0026#34;with\u0026#34;:[\u0026#34;n\u0026#34;]}]} 呈現結果 (滑鼠點一下即會重新顯示rawtext的語法): 2.4. 多語種指令訊息 # 可用於/tellraw、/titleraw等指令。\n資源包/texts/zh_TW.lang\nmessage.custom.msg1=第一賣冰，第二做醫生。 遊戲中使用該指令：\n/tellraw @a {\u0026#34;rawtext\u0026#34;:[{\u0026#34;translate\u0026#34;:\u0026#34;message.custom.msg1\u0026#34;,\u0026#34;with\u0026#34;:[\u0026#34;n\u0026#34;]}]} 呈現結果：\n參考資料 # Text and Localization - Bedrock Wiki\n基岩版原始JSON文字格式 - Minecraft Wiki\n","date":"2021年11月16日","externalUrl":null,"permalink":"/posts/minecraft-add-on-lang-rawtext/","section":"Minecrafts","summary":"Minecraft基岩版支援多國語系，主要透過資源包控制，例如物品可按照玩家遊戲的語言，來顯示在地化的中文或英文名稱；書本、告示牌亦可透過Rawtext製作雙語版。\n如果某個Add-On只有英文，透過新增中文.lang檔案就能翻譯Add-On，又不更動整體檔案結構。\n本文討論.lang檔案和Rawtext的用法。\n1. .lang檔案的用法 # 請先下載原版資源包\n.lang檔案可於texts資料夾找到，裡面的就是遊戲介面的翻譯文本，如果覺得基岩版的中文翻譯很怪，亦可自行校正，例如巴哈修正奇怪翻譯的資源包。\n1.1. .lang檔案基本語法 # 等號左方是原始的字串鍵值，右方是翻譯後呈現的結果：\n原版資源包/texts/zh_TW.lang的內容\ncreateWorldScreen.action.editLocal=創造無限！\t# createWorldScreen.action.local=創造世界！\t# createWorldScreen.action.realms=創造世界！\t# createWorldScreen.action.realmsReset=重設 Realm\t# 「##」開頭的行視為註解。此外原版資源包為保持多語系文字工整，會在字串後面按一個TAB鍵，再加上一個「#」。\n原版資源包/texts/zh_TW.lang的內容\n## Note, trailing spaces will NOT be trimmed. If you want room between the end of the string and the start of a ## comment on the same line, use TABs. accessibility.disableTTS=文字轉換語音已停用\t# accessibility.enableTTS=文字轉換語音已啟用\t# %s是特殊的變數，代表動態的名稱，例如以下記分板指令的文本翻譯:\n","title":"Minecraft Add-On如何製作多國語言？.lang與Rawtext的用法，自動翻譯按鈕、告示牌、書本","type":"minecraft"},{"content":"","date":"2021年11月16日","externalUrl":null,"permalink":"/tags/minecraft-command/","section":"標籤","summary":"","title":"Minecraft Command","type":"tags"},{"content":"我實在覺得，人即歷史這句話是真實的。今天我不小心把硬碟格式化，我十年來收藏的FLAC高音質音樂就這樣消失了，透過簡單回顧，可以紀錄下來於串流平台搜尋，或是日後再下載回來。\n音樂聆聽的歷程，可從國小時候開始追溯，期間有規模的聽是國中開始，斷斷續續到了高中，最後蓬勃發展的是大學時期。每首歌都是一個故事（我的歷史），這邊只能大致舉例。\n國中到大學 # 人很難不為流行的奴隸，國小到國中時期聽的就是周杰倫，和情愛流行歌。周杰倫的與眾不同的精神，確實的吸收到了。要證明我深愛一個音樂家，就是把他的所有唱片都聽過，我選擇的周杰倫的代表作就是分裂，這首歌表現的是周杰倫早年的人生哲學，對於過去的決裂。\n進入高中之後，我的現實生活不如人們所說波闌壯闊，轉而沉溺於虛擬世界。這時華語樂團接觸的是五月天，除了跟著情緒唱那種愛來愛去的歌之外，他們出道發表的三張專輯很好總結和呼應青少年的內心世界，疑惑，又不想長大。因此代表作我覺得是「反而」一曲，自由，太多自由，反而想做龍裡的野獸。\n關於高中還有要說的一些話，學習日語讓我聽了一些因為動畫而製作的歌曲，此外還有純音樂的原聲帶。原聲帶屬於艦隊Collection的為最多，表現日式風骨。進擊的巨人和寶石之國，Darling in the Franxx的情緒強烈，新世紀福音戰士舊劇場版的歌曲讓人想自我毀滅。最後我現在仍深愛的一張是少女終末旅行的OST，這個溫暖平靜人心的音樂甚至適合入眠音樂。\n接下來要談論的是我最喜愛的音樂，都出現於大學時期。我深深的覺得，進入大學思想獲得解放，90年代前的音樂都聽了歌遍，其他類別除了饒舌外都有所接觸。或許現實仍是魯蛇，但是sgt pepper’s lonely hearts club band 我感覺進入了歐美社會的60年代，我情不自禁的把披頭四的音樂從頭聽到腳，感受60年代早期，社會的無腦搖滾熱，再來是嬉皮盛行的文化時代，接受了他們的宏大敘事。不管最後理想是否破滅，這些音樂創作都詳細紀錄了那個時代的歷史。在1967年，披頭四走入迷幻搖滾風，隨後清醒後，團員就解散了。約翰藍儂後來投身社會運動，使得他成為很多理想主義者的崇拜象徵，我也不例外，他曾說不信一切神，只相信我自己。\n披頭四談論的這些話題，在我心目中尚有更高昂的存在，那就是Pink Floyd。他們的音樂可不做那種愛愛歌，不是說他們高潔。早期他們搞的是太空搖滾，迷幻音樂，以及試試合成各種音效，和嘗試新穎的音樂作曲方式。Pink Floyd的創作約在1970年代定型，傑作Echoes，以及The Dark Side of The Moon、The Wall整張專輯，表現出的不只是他們的迷幻音樂，主題也透露出人性的關懷，使得人能夠從中探索自己的本質。日復一日，聽這些歌思考人生意義，從中了解到，人生的無力感。為此，必須佐以德國哲學補述想法，思想才不會成為漫談。此外，我認為Y2K世代Pink Floyd的繼承者，Radiohead是目前最好的。\n總結 # 音樂有其功用性，當我追求平靜就會挑選適當氛圍的音樂。囿於現代人的盲從，古典音樂成為配角，我也是偶爾聽聽罷了。我會從音樂反思這個社會，不，是批判這個社會，Pink Floyd由Roger Waters主導的作品就有這種色彩，還有林強的娛樂世界，再到Radiohead的OK Computer。\n如果要純粹叛逆，就是金屬樂和死亡金屬放下去。\n愛來愛去的歌可能有些好聽，卻不得人生真諦，那只是pop，或者是人類發情求愛的載歌載舞，所以把周杰倫王立宏林俊傑聽一遍就夠了，那僅代表回憶和經典，可是不反映人生意義。\n此外還有一種發洩情緒的，就聽各國國歌和國際歌，假裝很偉大。\n真正音樂除了追求至高藝術，至少應反映人生或現實問題。一首歌背後的意涵，像是Scott McKenzie的San Francisco代表60年代文化那樣，是不可抹滅的。\n我曾幼稚的認為，2000年以後的音樂都不能聽了。可是最近接觸到的新好音樂，應是萬能青年旅店的郊眠寺，各種暗喻，呈現現代人的荒涼感，比艾略特的荒原更加寂寥，人的精神是電子荒原。或者我覺得，自己是眼高手低罷了，因發覺真相而思想痛苦，到頭來現實世界還是魯蛇，自以為良好不刻奇，就是逃避現實、不切實際。就像十萬嬉皮裡面所稱呼的四體不勤，五穀不分，我就是個理想主義者，受情感衝動趨使，最後怨天載道的矛盾人物，我不知道我是誰。\n","date":"2021年11月12日","externalUrl":null,"permalink":"/posts/my-music-history/","section":"Musics","summary":"我實在覺得，人即歷史這句話是真實的。今天我不小心把硬碟格式化，我十年來收藏的FLAC高音質音樂就這樣消失了，透過簡單回顧，可以紀錄下來於串流平台搜尋，或是日後再下載回來。\n音樂聆聽的歷程，可從國小時候開始追溯，期間有規模的聽是國中開始，斷斷續續到了高中，最後蓬勃發展的是大學時期。每首歌都是一個故事（我的歷史），這邊只能大致舉例。\n國中到大學 # 人很難不為流行的奴隸，國小到國中時期聽的就是周杰倫，和情愛流行歌。周杰倫的與眾不同的精神，確實的吸收到了。要證明我深愛一個音樂家，就是把他的所有唱片都聽過，我選擇的周杰倫的代表作就是分裂，這首歌表現的是周杰倫早年的人生哲學，對於過去的決裂。\n進入高中之後，我的現實生活不如人們所說波闌壯闊，轉而沉溺於虛擬世界。這時華語樂團接觸的是五月天，除了跟著情緒唱那種愛來愛去的歌之外，他們出道發表的三張專輯很好總結和呼應青少年的內心世界，疑惑，又不想長大。因此代表作我覺得是「反而」一曲，自由，太多自由，反而想做龍裡的野獸。\n關於高中還有要說的一些話，學習日語讓我聽了一些因為動畫而製作的歌曲，此外還有純音樂的原聲帶。原聲帶屬於艦隊Collection的為最多，表現日式風骨。進擊的巨人和寶石之國，Darling in the Franxx的情緒強烈，新世紀福音戰士舊劇場版的歌曲讓人想自我毀滅。最後我現在仍深愛的一張是少女終末旅行的OST，這個溫暖平靜人心的音樂甚至適合入眠音樂。\n","title":"聆聽音樂的心路歷程(2013~2021)","type":"music"},{"content":"Ubuntu Touch旨在將Linux帶到手機上，成為行動作業系統。\nCanonical放棄Ubuntu Touch後，交由Ubports社群來維護，官方支援的機型約20台，並提供一鍵安裝器。\n這台紅米Note 5非官方所支持，使用到Halium Project的技術，可與Android系統共存，還可以安裝Android模擬器。\n紅米Note 5 + Ubuntu touch，測試項目：\nWIFI 藍牙 4G網路 手電筒 螢幕旋轉 GPS 震動 相機 音效 指紋 1. 需要工具 # 手機：紅米Note 5 (whyred)，MIUI 11\nRecovery：TWRP 3.5.2。\nROM \u0026amp; halium-boot.img：擇一下載，各有各的bug，沒有一個是所有測試項目都沒問題的。\nGithub上的版本，相機\u0026amp;時區怪怪的：https://github.com/Linux-On-Sdm6Series/Linux_manifest/releases\nUbports論壇上parasparihar0建構的版本，沒有音效：https://forums.ubports.com/topic/5128/redmi-note-5-pro-whyred\n2. 安裝流程 # Android似乎有分區加密導致Ubuntu touch無法啟動的問題，如果遇到就只能將data分區格式化，再裝Ubuntu touch。\n進入TWRP Recovery，備份boot分區。\n再刷入halium-boot.img到boot分區\n刷入Ubuntu touch系統，會安裝到/data分區。\n開機進入Ubuntu touch系統。\n開機設定完語言、地區進入桌面，會有基本使用教學。\n預設登入帳戶是phablet，密碼也是phablet。\n若要開機回Android系統，只要把原本的boot.img還原即可，Github上也有完全解除安裝Ubuntu touch的zip檔案。\n3. 應用程式 # 操作邏輯：右邊往內滑進入多工模式，左邊往內滑開啟工作列。右上角往下滑開啟快速設定選單。\nUbuntu touch的截圖按鈕是同時按著上下音量鍵。 鎖定畫面。 相機能正常拍照，偶爾崩潰。 終端機開啟都要輸入密碼。 內建的Morph瀏覽器是以Chrome 77為基礎，似乎沒有硬體加速，預設會開啟桌面網站。 APP要到應用商店OpenStore下載。 Godot 3D APP可以正常運作，測試3D效能 （這支手機處理器是s636） 還有一個UI Tweak Tool APP，它可以強制系統進入大螢幕桌面模式。\n在手機模式下，一般Linux程式的GUI都開不起來，必須使用Libertine容器來安裝。\n4. 心得 # 最大的問題是，這些ROM的軔體都不穩定，App很容易一更新就閃退了。\nLinux程式還要用容器執行，也沒什麼原生App能用。\n或許Android裝chroot還比較實用……\n","date":"2021年11月4日","externalUrl":null,"permalink":"/posts/redmi-note5-ubuntu-touch/","section":"所有文章","summary":"Ubuntu Touch旨在將Linux帶到手機上，成為行動作業系統。\nCanonical放棄Ubuntu Touch後，交由Ubports社群來維護，官方支援的機型約20台，並提供一鍵安裝器。\n這台紅米Note 5非官方所支持，使用到Halium Project的技術，可與Android系統共存，還可以安裝Android模擬器。\n紅米Note 5 + Ubuntu touch，測試項目：\nWIFI 藍牙 4G網路 手電筒 螢幕旋轉 GPS 震動 相機 音效 指紋 1. 需要工具 # 手機：紅米Note 5 (whyred)，MIUI 11\nRecovery：TWRP 3.5.2。\nROM \u0026 halium-boot.img：擇一下載，各有各的bug，沒有一個是所有測試項目都沒問題的。\nGithub上的版本，相機\u0026時區怪怪的：https://github.com/Linux-On-Sdm6Series/Linux_manifest/releases\nUbports論壇上parasparihar0建構的版本，沒有音效：https://forums.ubports.com/topic/5128/redmi-note-5-pro-whyred\n2. 安裝流程 # Android似乎有分區加密導致Ubuntu touch無法啟動的問題，如果遇到就只能將data分區格式化，再裝Ubuntu touch。\n進入TWRP Recovery，備份boot分區。\n再刷入halium-boot.img到boot分區\n","title":"初探Ubuntu Touch：紅米Note 5 + Android雙重開機","type":"posts"},{"content":"2021年12月5日，第一次接觸postmarketOS。\npostmarketOS基於Alpine Linux，將真正的Linux系統裝到Android手機，類似Ubuntu touch，不是chroot也不是proot更不是Android，就是純Linux。\n測試可以開啟的軟體：GIMP、LibreOffice、Firefox。 無法運作的項目： Wifi、音效、藍牙、3D加速、螢幕旋轉 這支手機不在官方推薦列表中，狀態是testing，基本上是全殘，光要解決硬體驅動問題就飽了。\n安裝流程為在電腦上建立刷機包，然後用手機TWRP刷入。\n1. 需要工具 # 手機：紅米Note 5 (whyred)，已解鎖bootloader，Recovery為TWRP 3.5.2，所有分區已清空。 電腦：Ubuntu 20.04，裝有Python 3.7、Git、Openssl 2. 建立刷機包 # 在Linux上安裝pmboostrap： pip3 install --user pmbootstrap source ~/.profile 2.安裝自動補完\nsudo apt install python3-argcomplete 在bash shell的設定檔~/.bashrc加入以下內容 eval \u0026#34;$(register-python-argcomplete3 pmbootstrap)\u0026#34; pmbootstrap在安裝時會從Gitlab上下載最新版，裡面包含各種機型的設定檔。初始化pmbootstrap: pmbootstrap init Work path: Enter #使用預設工作目錄 (/home/user/.local/var/pmbootstrap) Channel: edge Vendor: xiaomi pmbootstrap install --android-recovery-zip Device codename: whyred Username: User User Interface: xfce4 建立刷機包，預設會安裝到手機的system分區，如果空間不夠亦可用安裝到其他分區的參數，參照Wiki。建立過程中會要求建立使用者密碼，輸入兩次後按下Enter。 pmbootstrap install --android-recovery-zip #關閉pmbootstrap pmbootstrap shutdown 手機接上電腦，開機進入TWRP，從工作目錄找到建立的pmos-*.zip刷機包。我的檔案是在： ~/.local/var/pmbootstrap/chroot\\_buildroot\\_aarch64/var/lib/postmarketos-android-recovery-installer 複製到手機上，掛載system分區後直接安裝。\n如果無法掛載system分區，將其用ext4格式化修復系統後再試試看。\n安裝後TWRP顯示\u0026quot;cannot mount system: resources are busy\u0026quot;的警告可忽視。\n接著重新啟動手機。\n3. 安裝軟體 # 預設按鈕在手機上看起來太小了，按左上角到Appearance→Settings → Window Scaling將比例調最大。\n在點選輸入框時，螢幕鍵盤會自動開啟，有點像是在用Termux的感覺。\n開機時WIFI抓不到驅動…無法用WIFI，參考WIKI把電腦的光纖網路用USB分享給手機 :https://wiki.postmarketos.org/wiki/USB_Internet\n這樣至少能上網了。\npostmarketOS的套件管理程式是apk (跟Android安裝包無關)，如果沒有你要的軟體，就只能自行抓deb檔案來安裝。\napk add firefox libreoffice gimp 測試都能開啟…但要解決硬體驅動問題才能來談軟體方面的問題… 現在還不實用。 4. 參考資料 # Installation guide - PostmarketOS Wiki Installation from recovery mode - PostmarketOS Wiki ","date":"2021年10月31日","externalUrl":null,"permalink":"/posts/redmi-note5-postmarketos/","section":"所有文章","summary":"2021年12月5日，第一次接觸postmarketOS。\npostmarketOS基於Alpine Linux，將真正的Linux系統裝到Android手機，類似Ubuntu touch，不是chroot也不是proot更不是Android，就是純Linux。\n測試可以開啟的軟體：GIMP、LibreOffice、Firefox。 無法運作的項目： Wifi、音效、藍牙、3D加速、螢幕旋轉 這支手機不在官方推薦列表中，狀態是testing，基本上是全殘，光要解決硬體驅動問題就飽了。\n安裝流程為在電腦上建立刷機包，然後用手機TWRP刷入。\n1. 需要工具 # 手機：紅米Note 5 (whyred)，已解鎖bootloader，Recovery為TWRP 3.5.2，所有分區已清空。 電腦：Ubuntu 20.04，裝有Python 3.7、Git、Openssl 2. 建立刷機包 # 在Linux上安裝pmboostrap： pip3 install --user pmbootstrap source ~/.profile 2.安裝自動補完\nsudo apt install python3-argcomplete 在bash shell的設定檔~/.bashrc加入以下內容 eval \"$(register-python-argcomplete3 pmbootstrap)\" pmbootstrap在安裝時會從Gitlab上下載最新版，裡面包含各種機型的設定檔。初始化pmbootstrap: pmbootstrap init Work path: Enter #使用預設工作目錄 (/home/user/.local/var/pmbootstrap) Channel: edge Vendor: xiaomi pmbootstrap install --android-recovery-zip Device codename: whyred Username: User User Interface: xfce4 建立刷機包，預設會安裝到手機的system分區，如果空間不夠亦可用安裝到其他分區的參數，參照Wiki。建立過程中會要求建立使用者密碼，輸入兩次後按下Enter。 pmbootstrap install --android-recovery-zip #關閉pmbootstrap pmbootstrap shutdown 手機接上電腦，開機進入TWRP，從工作目錄找到建立的pmos-*.zip刷機包。我的檔案是在： ~/.local/var/pmbootstrap/chroot\\_buildroot\\_aarch64/var/lib/postmarketos-android-recovery-installer 複製到手機上，掛載system分區後直接安裝。\n","title":"紅米Note 5安裝postmarketOS的執行效能","type":"posts"},{"content":"InnerCore的作者有在Github上釋出Inner Core Tool Chain工具，方便開發者在Windows上「高效率」地開發Inner Core Minecraft模組。\n什麼是InnerCore？ 本文介紹如何透過這個工具撰寫和打包JavaScript的InnerCore模組，需要打大量指令。 1. 前置作業 # 需要的工具：\nInner Core Tool Chain (Github) Git for Windows Python 3 Node JS ADB (Platform Tools) VS Code Horizon啟動器 Windows 10以上電腦 Android手機，開啟ADB除錯模式 如果要開發C++原生模組，還要用到JDK、NDK，暫且不提。\n這個工具只能在Windows執行，不過將bat檔自行改寫成shell也是能在Linux上執行，因為大部分操作還是依賴python完成。\nVS Code能在編輯程式時顯示每個函數的定義，或者按Ctrl+Shift+B來執行專案資料夾裡的bat檔。\nWindows 10如何用指令執行bat檔：開啟Powershell，cd切換到bat檔所在的資料夾，輸入.bat檔名，例如：./build-scripts-and-resources.bat\n2. 設定專案 # 複製儲存庫 git clone https://github.com/zheka2304/innercore-mod-toolchain 切換至該目錄 cd innercore-mod-toolchain 建立一個InnerCore專案 python ./toolchain-setup.py mymod 之後終端機會詢問一些問題，可照填：\nEnter your pack directory name [Inner_Core]: mymod （資料夾名稱） Enter project name: My Mod （專案名稱） Enter Author Name: Ivon （作者） Enter Project Version: 1.0 （版本） Enter Project Description: A test mod. （說明） Do you want to initialize a new native directory? [y/N]: N Do you want to initialize a new java directory? [y/N]: N Do you want to clean up the project? [Y/n]: y 接著就會建立一個叫做mymod的資料夾，這就是專案的根目錄。\n切換至專案目錄mymod\ncd mymod 初始化專案 npm init -y 安裝Typescript npm install tsc npm install typescript 執行toolchains目錄下的bat檔，下載InnerCore的TypeScript定義，這樣輸入函數時就會顯示相關用法： ./download-declartions.bat 這樣\u0026quot;mymod\u0026quot;根目錄下應該有這些東西了： mymod ├── make.json ├── package.json ├── src/ └── toolchain/ 4. 開始撰寫主程式 # 開啟VS Code，檔案 → 開啟資料夾 → 開啟專案mymod根目錄。\n打包時，腳本會按照根目錄的make.json所設定的來建構檔案。剛剛在創建專案時，已經輸入好開發所需的資訊了，因此make.json裡global的info欄位已填入模組的基本資訊: { \u0026#34;global\u0026#34;:{ \u0026#34;info\u0026#34;:{ \u0026#34;name\u0026#34;:\u0026#34;My Mod\u0026#34;, \u0026#34;author\u0026#34;:\u0026#34;Ivon\u0026#34;, \u0026#34;version\u0026#34;:\u0026#34;1.0\u0026#34;, \u0026#34;description\u0026#34;:\u0026#34;A test mod.\u0026#34; }, \u0026#34;api\u0026#34;:\u0026#34;CoreEngine\u0026#34; }, \u0026#34;make\u0026#34;:{ \u0026#34;debugAbi\u0026#34;:\u0026#34;armeabi-v7a\u0026#34;, \u0026#34;abis\u0026#34;:[ \u0026#34;armeabi-v7a\u0026#34;, \u0026#34;x86\u0026#34; ], \u0026#34;linkNative\u0026#34;:[ \u0026#34;minecraftpe\u0026#34;, \u0026#34;innercore\u0026#34;, \u0026#34;nativejs\u0026#34; ], \u0026#34;excludeFromRelease\u0026#34;:[ ], \u0026#34;pushTo\u0026#34;:\u0026#34;storage/emulated/0/games/horizon/packs/mymod/innercore/mods/mymod\u0026#34;, \u0026#34;ndkPath\u0026#34;:null }, \u0026#34;resources\u0026#34;:[ { \u0026#34;path\u0026#34;:\u0026#34;src/assets/res\u0026#34;, \u0026#34;type\u0026#34;:\u0026#34;resource_directory\u0026#34; }, { \u0026#34;path\u0026#34;:\u0026#34;src/assets/gui\u0026#34;, \u0026#34;type\u0026#34;:\u0026#34;gui\u0026#34; }, { \u0026#34;path\u0026#34;:\u0026#34;src/assets/resource_packs/*\u0026#34;, \u0026#34;type\u0026#34;:\u0026#34;minecraft_resource_pack\u0026#34; }, { \u0026#34;path\u0026#34;:\u0026#34;src/assets/behavior_packs/*\u0026#34;, \u0026#34;type\u0026#34;:\u0026#34;minecraft_behavior_pack\u0026#34; } ], \u0026#34;sources\u0026#34;:[ { \u0026#34;source\u0026#34;:\u0026#34;src/dev\u0026#34;, \u0026#34;target\u0026#34;:\u0026#34;main.js\u0026#34;, \u0026#34;type\u0026#34;:\u0026#34;main\u0026#34;, \u0026#34;language\u0026#34;:\u0026#34;typescript\u0026#34; }, { \u0026#34;source\u0026#34;:\u0026#34;src/launcher.js\u0026#34;, \u0026#34;type\u0026#34;:\u0026#34;launcher\u0026#34;, \u0026#34;language\u0026#34;:\u0026#34;javascript\u0026#34; }, { \u0026#34;source\u0026#34;:\u0026#34;src/lib/*\u0026#34;, \u0026#34;type\u0026#34;:\u0026#34;library\u0026#34;, \u0026#34;language\u0026#34;:\u0026#34;javascript\u0026#34; }, { \u0026#34;source\u0026#34;:\u0026#34;src/preloader/*\u0026#34;, \u0026#34;type\u0026#34;:\u0026#34;preloader\u0026#34;, \u0026#34;language\u0026#34;:\u0026#34;javascript\u0026#34; } ], \u0026#34;compile\u0026#34;:[ { \u0026#34;source\u0026#34;:\u0026#34;src/native/*\u0026#34;, \u0026#34;type\u0026#34;:\u0026#34;native\u0026#34; }, { \u0026#34;source\u0026#34;:\u0026#34;src/java/*\u0026#34;, \u0026#34;type\u0026#34;:\u0026#34;java\u0026#34; } ], \u0026#34;additional\u0026#34;:[ { \u0026#34;source\u0026#34;:\u0026#34;src/assets/root/*\u0026#34;, \u0026#34;targetDir\u0026#34;:\u0026#34;.\u0026#34; } ] } resources:[]代表這個專案，相關紋理的儲存位置。\nsources:[]代表這個專案包含的JS，維持預設。\npushTo屬性代表的是輸出到手機的目錄。手機Horizon儲存模組的位置通常位於內部儲存空間/games/horizon/packs/Inner_Core/innercore/mods。\nexcludeDirectories，打包輸出時要排除的目錄。\n在目錄src/dev/下新增一個main.ts，這是模組主程式。 建議使用TypeScript (ESNext標準）撰寫，再編譯成JS，因為InnerCore的JS是ES5標準。\nmain.ts輸入以下內容，這樣會在玩家進入Minecraft世界後顯示\u0026quot;Hello World!\u0026ldquo;的訊息：\nCallback.addCallback(\u0026#34;LevelDisplayed\u0026#34;, function () { Game.message(\u0026#34;Hello World!\u0026#34;); }); 把src/icon.png移動到src/assets/root/，改名mod_icon.png，這是模組的縮圖。\n在src/assets/root/新增config.json\n裡面輸入：\n{ \u0026#34;enabled\u0026#34;:true } 這樣可讓玩家在Horizon中任意啟用或停用模組。\n如果要新增物品/方塊，紋理貼圖應放在src/assets/res資料夾。\n到此為止，根目錄/src下應該有這些檔案： mymod/src ├── assets │ ├── behavior_packs │ ├── gui │ ├── res │ │ ├── items-opaque │ │ └── terran-atlas │ ├── resource_packs │ └── root │ ├── config.json │ └── mod_icon.png ├── dev │ ├── header.js │ ├── main.ts │ └── tsconfig.json ├── launcher.js ├── lib ├── native └── preloader 5. 打包輸出 # 所有的.bat檔案都位於根目錄/toolchains。VScode按Ctrl+Shift+B可執行專案資料夾裡的bat檔。\n編譯並複製到手機上測試 # 手機插到電腦上，開啟除錯模式。\n執行：\n./build-scripts-and-resources.bat 此操作會將檔案全部輸出到根目錄/output，接著把檔案複製到手機上Horizon的目錄，然後Horizon會自行啟動。\n在Horizon的本機模組列表就能看到自製模組，以及config的畫面。 進入世界，顯示Hello World!訊息。 打包成.icmod # 執行：\n./assemble-release.dat 此操作會將模組的檔案打包成.icmod，檔案位於根目錄，會產生一個\u0026quot;mod.icomod\u0026quot;的檔案。\n.icmod是用於發布到官網的格式，其實就是zip。\n編譯成.dex檔案 # 此動作非必須，但編譯成Android系統的.dex檔案可增加模組執行效率。\n點進去模組頁面，按右上角「編譯」 之後模組資料夾會多出\u0026rdquo;.dex\u0026quot;資料夾，代表編譯完成。\n6. 發表到InnerCore官網 # 投稿到官網，其他玩家就能從模組管理器的「下載模組」處搜尋到你的模組。\n官方有權利刪除你的投稿，所以務必寫完整說明。\n準備好.icmod檔案，到官網註冊帳號，點右上角自己帳號的名字，按「添加模組集」進行投稿。\n可同時提供英文及中文的說明。 Inner Core參考資源 # 官方文檔 InnerCore官網 InnerCore中文論壇 聊勝於無的ModPE函數表翻譯：BlockLauncher時代寫的，雖然有些還可以用，但函數名稱大多已經變了。 （影片）Inner Core Horizon Mods Development ","date":"2021年10月29日","externalUrl":null,"permalink":"/posts/inner-core-tool-chain/","section":"Minecrafts","summary":"InnerCore的作者有在Github上釋出Inner Core Tool Chain工具，方便開發者在Windows上「高效率」地開發Inner Core Minecraft模組。\n什麼是InnerCore？ 本文介紹如何透過這個工具撰寫和打包JavaScript的InnerCore模組，需要打大量指令。 1. 前置作業 # 需要的工具：\nInner Core Tool Chain (Github) Git for Windows Python 3 Node JS ADB (Platform Tools) VS Code Horizon啟動器 Windows 10以上電腦 Android手機，開啟ADB除錯模式 如果要開發C++原生模組，還要用到JDK、NDK，暫且不提。\n這個工具只能在Windows執行，不過將bat檔自行改寫成shell也是能在Linux上執行，因為大部分操作還是依賴python完成。\nVS Code能在編輯程式時顯示每個函數的定義，或者按Ctrl+Shift+B來執行專案資料夾裡的bat檔。\nWindows 10如何用指令執行bat檔：開啟Powershell，cd切換到bat檔所在的資料夾，輸入.bat檔名，例如：./build-scripts-and-resources.bat\n2. 設定專案 # 複製儲存庫 git clone https://github.com/zheka2304/innercore-mod-toolchain 切換至該目錄 cd innercore-mod-toolchain 建立一個InnerCore專案 python ./toolchain-setup.py mymod 之後終端機會詢問一些問題，可照填：\n","title":"Inner Core Tool Chain開發環境設定教學","type":"minecraft"},{"content":"","date":"2021年10月29日","externalUrl":null,"permalink":"/tags/innercore-mod/","section":"標籤","summary":"","title":"InnerCore Mod","type":"tags"},{"content":"Horizon Modding Kernel是InnerCore核心的啟動器，可安裝不同版本的InnerCore。\n下載網址: https://play.google.com/store/apps/details?id=com.zheka.horizon\nPlay商店上有另一個「Inner Core - Minecraft PE Mods」，該APP僅有核心，Minecraft版本很舊，不建議使用。\n1. 安裝Horizon # 啟動器資料跟原版Minecraft是分開放的，要玩IC模組只能從這裡開。\n手機有安裝正版Minecraft後，到Google Play下載Horizon Modding Kernel啟動器。\n啟動後APP可能會跳出，再開一次。按+號，新增包 APP會開始下載和解壓縮包，大約需要5分鐘。裡面包含Minecraft主程式。\nInnerCore的Minecraft主程式是內置的，跟Play商店下載的Minecraft無關。版本更新比較慢，現在還在基岩版1.16。 2. 安裝模組 # 點進包，點右邊的模組管理器下載模組。 在我的模組，每個模組旁邊都有一個齒輪可以啟用/停用。有些還能調整參數，這就是該模組的config設定檔。\nInnerCore模組跟Forge模組比較類似，預設是所有世界都會載入模組，而不是像Add-On那樣每個世界個別啟用。\n","date":"2021年10月28日","externalUrl":null,"permalink":"/posts/minecraft-horizon-modding-kernel/","section":"Minecrafts","summary":"Horizon Modding Kernel是InnerCore核心的啟動器，可安裝不同版本的InnerCore。\n下載網址: https://play.google.com/store/apps/details?id=com.zheka.horizon\nPlay商店上有另一個「Inner Core - Minecraft PE Mods」，該APP僅有核心，Minecraft版本很舊，不建議使用。\n1. 安裝Horizon # 啟動器資料跟原版Minecraft是分開放的，要玩IC模組只能從這裡開。\n手機有安裝正版Minecraft後，到Google Play下載Horizon Modding Kernel啟動器。\n啟動後APP可能會跳出，再開一次。按+號，新增包 APP會開始下載和解壓縮包，大約需要5分鐘。裡面包含Minecraft主程式。\nInnerCore的Minecraft主程式是內置的，跟Play商店下載的Minecraft無關。版本更新比較慢，現在還在基岩版1.16。 2. 安裝模組 # 點進包，點右邊的模組管理器下載模組。 在我的模組，每個模組旁邊都有一個齒輪可以啟用/停用。有些還能調整參數，這就是該模組的config設定檔。\nInnerCore模組跟Forge模組比較類似，預設是所有世界都會載入模組，而不是像Add-On那樣每個世界個別啟用。\n","title":"Horizon Modding Kernel啟動器安裝教學","type":"minecraft"},{"content":"","date":"2021年10月28日","externalUrl":null,"permalink":"/tags/blocklauncher/","section":"標籤","summary":"","title":"BlockLauncher","type":"tags"},{"content":"Mojang官方支持的Add-On已成為目前Minecraft基岩版模組主流，但在Android平台上你還有另一個選擇：Inner Core。\n1. 功能簡介 # Inner Core繼承自BlockLauncher，使用JavaScript撰寫模組。但函數名稱大部份都改過了，因此沒辦法直接通用。跟BlockLauncher一樣，除了JavaScript，還可以以C++或Java撰寫「原生模組」，達到更深度的修改。\n相較於Add-On，Inner Core提供的API可以做到:\n新增維度 新增生態系新增方塊、物品，包括液體和工具。 自訂UI (使用Android系統的組件) 修改原本遊戲的行為 (callback) 跟Add-on新增的生物互動 支援多人連線 Inner Core的資料跟Play商店下載的Minecraft是分開放的，二者無關。要玩Inner Core的模組只能從Inner Core的啟動器開。\n儘管如此，Inner Core的Minecraft還是可以使用Add-On。\n2. 如何下載 # 請安裝Horizon啟動器。\nHorizon Modding Kernel啟動器安裝教學 3. 模組列表 # InnerCore官方網站上已有400多個模組，連GUI都一併完整移植到手機Minecraft上，知名的有：\nIC2工業模組 林業 血魔法 鐵箱子 匠魂 精緻存儲 無盡貪婪 等價交換 4. 如何自製Inner Core模組 # Inner Core Tool Chain開發環境設定教學 5. 缺點 # Inner Core最大的缺點就是只有Android版。\n而且Minecraft是跟InnerCore核心綁在一起的，因此版本升級很慢，現在基岩版已經1.17了，Inner Core的Minecraft還在1.16。\n此外，效能差和閃退也是常有的事情。\n參考資源 # 官方文檔 InnerCore官網 InnerCore中文論壇 聊勝於無的ModPE函數表翻譯 (BlockLauncher時代寫的，雖然有些還可以用，但函數名稱大多已經變了) ","date":"2021年10月28日","externalUrl":null,"permalink":"/posts/minecraft-inner-core/","section":"Minecrafts","summary":"Mojang官方支持的Add-On已成為目前Minecraft基岩版模組主流，但在Android平台上你還有另一個選擇：Inner Core。\n1. 功能簡介 # Inner Core繼承自BlockLauncher，使用JavaScript撰寫模組。但函數名稱大部份都改過了，因此沒辦法直接通用。跟BlockLauncher一樣，除了JavaScript，還可以以C++或Java撰寫「原生模組」，達到更深度的修改。\n相較於Add-On，Inner Core提供的API可以做到:\n新增維度 新增生態系新增方塊、物品，包括液體和工具。 自訂UI (使用Android系統的組件) 修改原本遊戲的行為 (callback) 跟Add-on新增的生物互動 支援多人連線 Inner Core的資料跟Play商店下載的Minecraft是分開放的，二者無關。要玩Inner Core的模組只能從Inner Core的啟動器開。\n儘管如此，Inner Core的Minecraft還是可以使用Add-On。\n2. 如何下載 # 請安裝Horizon啟動器。\nHorizon Modding Kernel啟動器安裝教學 3. 模組列表 # InnerCore官方網站上已有400多個模組，連GUI都一併完整移植到手機Minecraft上，知名的有：\n","title":"Minecraft基岩版「Inner Core」模組簡介","type":"minecraft"},{"content":"Minecraft基岩版有市集的機制，有能力的團隊經過審核成為官方夥伴就能獲得上架作品賺錢，中國網易版也有類似的合夥機制。\n最近網路上流出了「Minecraft基岩版開發版本」(Minecraft Bedrock Developer Versions)，據說是給Mojang內部人員和市集開發人員用的，只有Windows 10版本，跟普通的beta版或者外掛不同，裡面擁有很多輔助工具：F3、遊戲內地圖編輯器、除錯指令等等。\n1. 安裝方法 # 由於我是使用Bedrcok Launcher啟動器玩的，因此不用擔心資料被蓋掉。如果你的Minecraft是從微軟商店下載的，最好還是備份一下遊戲資料。\n下載安裝 裡面除了流出微軟的開發版外，還有中國網易的開發版，擇一下載 。如果你擔心有病毒，就開著Windows Defender。請注意你必須購買過Windows 10正版才能正常安裝。\n本文下載的版本為1.17.30.23。\n下載好之後，網易版解壓縮後按下Minecraft.Windows.exe即可啟動。而微軟版有二種安裝方式： 一、安裝證書+全程斷網 # 解壓縮，按二下certificate.cer，安裝證書到系統，之後拔掉網路線，關掉Wifi，讓電腦完全斷網，\n點二下.appx檔案，會詢問是否安裝舊版Minecraft，按下\u0026quot;Reinstall\u0026ldquo;開始安裝，之後就可以啟動開發版Minecraft。\n玩Minecraft開發版時必須全程斷網，一連上網程式就會閃退。\n二、使用Bedrock Launcher繞過證書 # Bedrock Launcher的基本用法看這裡。\n解壓縮，再將**.appx檔案解壓縮，將資料夾重新命名成\u0026ldquo;Minecraft-8aada731-1de6-4425-9863-8686c50378f2\u0026rdquo;** (Minecraft-後面的數字是從Mr.Arm蒐集的資料來的，對應的版本是1.17.30.23)\n開啟Bedrock Launcher的安裝檔位置，參考其他版本的格式，將這個資料夾放到versions資料夾。\n開啟Bedrock Launcher，建立一個1.17.30.23的安裝檔，之後啟動遊戲。\n2. Minecraft開發版的功能簡介 # 這種特別版Minecraft，內建的功能比外掛還外掛。\n網易版的比較舊，介面跟微軟的大同小異，但去掉了一些動畫，加入網易自己的logo。\n以下是一些截圖，該Minecraft的版本是1.17.30.23，現在Minecraft正式版是1.17.40。\n主畫面下方寫著\u0026quot;playtest\u0026rdquo; 遊戲設定，創作者和偵錯多了很多額外的選項。 UI Debug點進去，還能看到官方撰寫的文檔。 還有其他\u0026hellip; 生成世界有額外選項，還可以生成超平坦的地獄。 遊戲中按下F2可切換至旁觀者模式（普通版本的Minecraft基岩版也是可以，但要改NBT）\n按下F3會出現很像Java版的偵錯畫面。 繼續按下F3還能切換更多偵錯工具，僅貼出一部分：\n這個叫做ImGUI的工具可以用來編輯實體和控制天氣，包括粒子和速度。 按下F7加快飛行速度\n按F9重新載入遊戲\n按F10切換成手機版/電腦版UI\n開啟設定裡的實體追蹤後，所有方塊和實體都會顯示大量的除錯訊息，還有類似小地圖的東西。 其他Minecraft開發版的隱藏指令：\n/bounds，顯示碰撞箱，還會顯示結構的所在位置，用來找礦坑。\n/path，顯示實體的路徑。\n/aogoals，顯示實體的攻擊對象。\n/mobinfo，顯示實體的相關數值。\n/villages，顯示村民的資訊。\n/simlock \u0026lt;true|false\u0026gt;，暫停時間，玩家無法進行任何操作。\n/simscale 數字，調快/調慢遊戲刻的速度\n/corruptworld，毀損世界，使用後該世界便無法再進入。\n/crashclient，馬上讓遊戲崩潰。\n3. 為什麼Mojang不願意釋出這些工具 # 儘管這些Minecraft特別版內建的工具頂多是輔助用途而已，但得知有這種隱藏好康存在的一般玩家，一定有人感到心理不平衡。\n根據illusionerC的說法，最早於2018年4月3日，Minecraft 1.2.3曾短暫出現過一些特殊的測試指令，後來更新至1.2.4就被移除了。時間來到2021年2月21日，AgentMindStrom拍攝了六部討論\u0026quot;Minecraft Bedrock Leaks\u0026quot;的影片。8月22日，4chan上出現了一個匿名用戶流出的1.16.0.51 beta開發版，illusionerC在裡面找到了那些於1.2.4更新後被移除的指令。\n所以各種陰謀論就出現了，說要是Mojang放出來，大家都能更輕鬆的製作地圖和Add-On，就沒人想去買市集的東西了。這個說法有其道理，可是目前無法證實Mojang內部的想法，算是玩家的猜測，而且流出這些工具的人也可能會被微軟吉。\n私以為，這或許跟最近Gametest API的加入有關，Mojang突然大量加入一堆跟遊戲機制有關的測試指令，可能就是在逐步釋出工具給非市集的創作者，能更有效率的開發地圖和Add-On。\n只是用指令來測試東西，跟那種一目了然的GUI比起來，還是差太多了，希望微軟加快更新的腳步吧。\n參考資料 # Element X. You\u0026rsquo;re not supposed to play this version of Minecraft\u0026hellip;.https://youtu.be/GOHbMUKtFxg. 檢索日期：2021/10/23\nillusionerC. Minecraft Bedrock is Hiding a Secret.. https://www.reddit.com/user/IllusionerC/comments/pzjevu/minecraft_bedrock_is_hiding_a_secret/. 檢索日期：2021/10/23\n","date":"2021年10月23日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-developer-version-leaked/","section":"Minecrafts","summary":"Minecraft基岩版有市集的機制，有能力的團隊經過審核成為官方夥伴就能獲得上架作品賺錢，中國網易版也有類似的合夥機制。\n最近網路上流出了「Minecraft基岩版開發版本」(Minecraft Bedrock Developer Versions)，據說是給Mojang內部人員和市集開發人員用的，只有Windows 10版本，跟普通的beta版或者外掛不同，裡面擁有很多輔助工具：F3、遊戲內地圖編輯器、除錯指令等等。\n1. 安裝方法 # 由於我是使用Bedrcok Launcher啟動器玩的，因此不用擔心資料被蓋掉。如果你的Minecraft是從微軟商店下載的，最好還是備份一下遊戲資料。\n下載安裝 裡面除了流出微軟的開發版外，還有中國網易的開發版，擇一下載 。如果你擔心有病毒，就開著Windows Defender。請注意你必須購買過Windows 10正版才能正常安裝。\n本文下載的版本為1.17.30.23。\n下載好之後，網易版解壓縮後按下Minecraft.Windows.exe即可啟動。而微軟版有二種安裝方式： 一、安裝證書+全程斷網 # 解壓縮，按二下certificate.cer，安裝證書到系統，之後拔掉網路線，關掉Wifi，讓電腦完全斷網，\n","title":"Minecraft內部開發版流出 (Minecraft Bedrock Developer Version)","type":"minecraft"},{"content":"如果要把圖片放進Minecraft Java版/基岩版裝飾，除了用手蓋之外，還可以借助軟體，將圖片轉換成方塊構成的像素畫(Pixel Art / 地圖繪)，把圖片變成方塊並在世界裡自動蓋出來。\n這裡介紹4個能夠製作像素畫的軟體，支援Java版和基岩版。開始之前先建立一個超平坦世界，並開啟Minecraft 1.17更新的320格最大高度。\n效果示範，轉換後大約會長這樣： 或者這樣： 原圖： MapartCraft (Java版) # 在此網站上傳圖片，可選擇建材和下載.nbt檔案，除了平面的傳統蓋法之外，也能選擇蓋成立體的。\n網址: https://rebane2001.com/mapartcraft/zh-Hant\n按下Pick Image上傳圖片。左邊的面板選擇建材，調色盤選「全部」的話則會套用所有方塊。 左邊可以設定其他參數，階梯狀代表會將圖片輸出成立體的，設定好之後按下載NBT。\n可使用Litematica模組載入.nbt檔案: ayo21865165 - 【密技】製作地圖繪 1.16.5\n或用cubical將.nbt轉檔成.schematic後再用Amulet編輯，加入到世界中。(因為Amulet能讀取基岩版地圖，理論上.schematic檔案應能加入至基岩版世界)\n或者，在Java版世界建立空白地圖，然後用.dat檔案直接替換掉，具體請參考: eddykuo - 【攻略】教你如何用MapartCraft製作自定義圖片(1.12以上適用)\nMinecraft Image Converter (Java版和基岩版皆可) # 在此網站上傳圖片，轉換成schematic檔案或一連串指令，並用Amulet（或MCEdit）將schematic檔加入至自己的地圖中。\n網址: https://minecraftart.netlify.app/\n首先上傳圖片或.schematic檔案。\n圖片下方會有像素大小，在這裡1像素=1方塊，因此若要放直的就不能超過320。 按下Convert，可對圖片再做編輯，之後按下Save儲存為.schematic檔。 也可以按Convert to commands，下方就會出現指令，另外能儲存成.mcfunction給基岩版使用。 使用Amulet開啟Java版或基岩版地圖，按下Import→Import Files載入.schematic檔案，調整位置後存檔。\nAmulet詳細使用教學看這裡。\nMinecraft Map Art Maker (僅基岩版) # 跟傳統把像素畫蓋成平面的做法不同，這個網頁工具可選擇將圖片轉換成立體圖，從地圖上來看更具立體感。還可產生mcfunction + 行為包，以Add-On的形式安裝至Minecraft，即可在遊戲裡用/function指令將圖片蓋出來。\n網址: https://gd-codes.github.io/mc-pixelart-maker/\n上傳圖片，設定好參數之後，按下Process Image，按鈕會變成Converted，點一下可預覽。 往下捲動，輸入Add-On名稱，按下Write Functions，再按Download下載行為包。 下方亦有Survival Guides，統計轉換後的圖片需要那些方塊，提供給生存模式玩家參考。\n安裝Add-On到世界，輸入/function +自訂function名稱，即可生成像素畫。 Pixelart builder (僅Android基岩版) # 使用手機App產生像素畫，調整位置後匯入至Minecraft地圖。缺點是只能直立匯入，也不能指定建材，App廣告多的煩人。\n下載網址: https://play.google.com/store/apps/details?id=com.electricfoal.photocrafter\n在主介面按Load From Gallery選擇照片。如果不滿意之後的像素畫，可按Restore a Map還原備份的世界。 按齒輪，填入輸出的大小（一像素=一方塊，Minecraft世界最大高度為320） 按右下角的播放鍵，將圖片轉換成方塊。點空白處將跳出的視窗關閉可查看使用的方塊。 再按一次播放鍵，按Import to Minecraft PE。 選擇匯入的世界，真正匯入前這個App會先備份一次原本的世界，之後不滿意可還原。 接下來會開啟簡易版的Minecraft視角，按箭頭調整像素畫的位置，然後按打勾存檔。\n不想存檔請按手機返回鍵，像素畫就不會真的寫入到世界檔案裡面。 匯入至世界後如果想讓像素畫躺平，可以將地圖傳到電腦上用Amulet編輯，因為結構方塊能選取的方塊數量有限。 ","date":"2021年10月23日","externalUrl":null,"permalink":"/posts/minecraft-pixel-art-generator-list/","section":"Minecrafts","summary":"如果要把圖片放進Minecraft Java版/基岩版裝飾，除了用手蓋之外，還可以借助軟體，將圖片轉換成方塊構成的像素畫(Pixel Art / 地圖繪)，把圖片變成方塊並在世界裡自動蓋出來。\n這裡介紹4個能夠製作像素畫的軟體，支援Java版和基岩版。開始之前先建立一個超平坦世界，並開啟Minecraft 1.17更新的320格最大高度。\n效果示範，轉換後大約會長這樣： 或者這樣： 原圖： MapartCraft (Java版) # 在此網站上傳圖片，可選擇建材和下載.nbt檔案，除了平面的傳統蓋法之外，也能選擇蓋成立體的。\n網址: https://rebane2001.com/mapartcraft/zh-Hant\n按下Pick Image上傳圖片。左邊的面板選擇建材，調色盤選「全部」的話則會套用所有方塊。 左邊可以設定其他參數，階梯狀代表會將圖片輸出成立體的，設定好之後按下載NBT。\n可使用Litematica模組載入.nbt檔案: ayo21865165 - 【密技】製作地圖繪 1.16.5\n或用cubical將.nbt轉檔成.schematic後再用Amulet編輯，加入到世界中。(因為Amulet能讀取基岩版地圖，理論上.schematic檔案應能加入至基岩版世界)\n或者，在Java版世界建立空白地圖，然後用.dat檔案直接替換掉，具體請參考: eddykuo - 【攻略】教你如何用MapartCraft製作自定義圖片(1.12以上適用)\nMinecraft Image Converter (Java版和基岩版皆可) # 在此網站上傳圖片，轉換成schematic檔案或一連串指令，並用Amulet（或MCEdit）將schematic檔加入至自己的地圖中。\n","title":"Minecraft自動生成像素畫/地圖繪軟體使用教學","type":"minecraft"},{"content":"很多Add-On作者都很注意智慧財產權，除了在文章中表明不要偷我的code，還會在Add-On裡面「警告」偷窺狂。\n嚴格來說Add-On不太能加密「程式碼」，也不能混淆，只有用JavaScript寫成的script比較有可能，而Add-On是JSON檔案。所以就只能讓人難以讀懂程式碼，方案為:\n程式碼全寫成一行 程式碼轉換成難以理解的字元，但電腦讀得懂 上架到官方市集，讓微軟幫你整個加密 第2點除了基本格式外，字串的部分全部轉成Unicode。\n破解的人還得找反編譯器來翻譯，增加破解成本。\n效果如圖： bridge.有擴充模組可以做到把Add-On全加密的功能，將所有字元轉換成UTF-16。\n設定bridge，它會將專案寫入到com.mojang資料夾下的資源包和行為包資料夾。 Add-On開發教學 認識與使用bridge. 在擴充模組搜尋\u0026quot;Json Encoder\u0026quot;並安裝。 按照要求開啟專案的config.json\n在\u0026quot;compiler\u0026quot;的\u0026quot;plugins\u0026quot;區塊最前面加入\u0026quot;jsonEncoder\u0026quot;。 點選重新啟動Dev Server，這樣以後寫入到com.mojang資料夾和匯出Add-On，都會將JSON的字元轉換成UTF-16，因此請保存好專案原始碼。 ","date":"2021年10月22日","externalUrl":null,"permalink":"/posts/how-to-encrypt-minecraft-add-on/","section":"Minecrafts","summary":"很多Add-On作者都很注意智慧財產權，除了在文章中表明不要偷我的code，還會在Add-On裡面「警告」偷窺狂。\n嚴格來說Add-On不太能加密「程式碼」，也不能混淆，只有用JavaScript寫成的script比較有可能，而Add-On是JSON檔案。所以就只能讓人難以讀懂程式碼，方案為:\n程式碼全寫成一行 程式碼轉換成難以理解的字元，但電腦讀得懂 上架到官方市集，讓微軟幫你整個加密 第2點除了基本格式外，字串的部分全部轉成Unicode。\n破解的人還得找反編譯器來翻譯，增加破解成本。\n效果如圖： bridge.有擴充模組可以做到把Add-On全加密的功能，將所有字元轉換成UTF-16。\n設定bridge，它會將專案寫入到com.mojang資料夾下的資源包和行為包資料夾。 Add-On開發教學 認識與使用bridge. 在擴充模組搜尋\"Json Encoder\"並安裝。 按照要求開啟專案的config.json\n在\"compiler\"的\"plugins\"區塊最前面加入\"jsonEncoder\"。 點選重新啟動Dev Server，這樣以後寫入到com.mojang資料夾和匯出Add-On，都會將JSON的字元轉換成UTF-16，因此請保存好專案原始碼。 ","title":"Minecraft Add-On的加密/混淆方法","type":"minecraft"},{"content":"整理好了目前手上有的影片：「Ivon的Minecraft翻譯歌曲翻譯」舊頻道的影片列表\nMinecraft歌曲翻譯，我應該是做不下去了。\n從2013年到2020年做的夢，在這裡結束。\n這裡引用John Lennon的話：THE DREAM IS OVER. YOU HAVE TO CARRY ON.\n除了興趣因素以外，YouTube並不是一個適合盜版翻譯的地方。現在重新開的這個「Ivon的翻譯頻道」，陸續已經收到二次版權警告。\n再這樣下去，跟上一個帳號一樣下場，封號也是遲早的事情。\n我試過把影片放LBRY，不理想。放Bilibili？客群是中國人感覺用繁體感覺怪怪的，但還是有很多人看。因此我覺得未來如果我想繼續做，我應該是不會再上傳到YouTube，而改在Bilibili上傳。\n另外，這個頻道的資料我有備份，但是這些影片原始檔的龐然大物真不知道放哪邊。\n順帶一提，被封的舊Youtube頻道我在2019年曾經下載過一次封存檔，24GB\u0026hellip;真後悔當時沒有留下來。自那之後，這個帳號，也就是管理這個網誌的Google帳戶就不能使用Youtube了。\n","date":"2021年10月18日","externalUrl":null,"permalink":"/posts/ivon-huang-quit-translating-minecrat-music-video/","section":"Minecrafts","summary":"整理好了目前手上有的影片：「Ivon的Minecraft翻譯歌曲翻譯」舊頻道的影片列表\nMinecraft歌曲翻譯，我應該是做不下去了。\n從2013年到2020年做的夢，在這裡結束。\n這裡引用John Lennon的話：THE DREAM IS OVER. YOU HAVE TO CARRY ON.\n除了興趣因素以外，YouTube並不是一個適合盜版翻譯的地方。現在重新開的這個「Ivon的翻譯頻道」，陸續已經收到二次版權警告。\n再這樣下去，跟上一個帳號一樣下場，封號也是遲早的事情。\n我試過把影片放LBRY，不理想。放Bilibili？客群是中國人感覺用繁體感覺怪怪的，但還是有很多人看。因此我覺得未來如果我想繼續做，我應該是不會再上傳到YouTube，而改在Bilibili上傳。\n另外，這個頻道的資料我有備份，但是這些影片原始檔的龐然大物真不知道放哪邊。\n順帶一提，被封的舊Youtube頻道我在2019年曾經下載過一次封存檔，24GB…真後悔當時沒有留下來。自那之後，這個帳號，也就是管理這個網誌的Google帳戶就不能使用Youtube了。\n","title":"Ivon退出Minecraft歌曲翻譯，不再於Youtube上傳影片","type":"minecraft"},{"content":"這個粉專終究是被滅了，我用現有的封存檔資料做了一個靈堂網站上香，起碼這個粉專屍體比以前的YouTube頻道完整，大小500MB而已。\n網址：https://github.com/ivon852/PageMCBEModPluginShareSelfTech\n粉專被封鎖前最後一張大頭照\u0026amp;背景圖片 粉專被祖，拒用FB。\n數位靈堂，永垂千古。\n建立網站，自立自強。\n赤手空拳，從頭再來。\n不能發洩性慾，也不能批評政治，莫名其妙的封號標準，再也無法讓人支持這種媒體巨獸。\nFB一直是我個人帳戶的後花園，自從人生跟數位內容綁在一起之後，YouTube頻道和Facebook記錄的是我成長的軌跡，感覺比父母還要親。\n祖克柏，田中謙介都沒有你這麼可惡。看到FB被蘋果揭隱私權的新聞真叫人拍手稱快。 這樣看來感覺挺可悲的，大公司不應該牢牢掌握個人的隱私，或者不要輕易就被綁住、上癮。\n自從2020年YouTube頻道被檢舉到沒了之後，我便有了備份資料的習慣。所幸這些大公司迫於政府壓力，都有入口能一次性下載我在平台上發表的內容，定期製作成壓縮檔封存。 因為規則被封，不論是YouTube版權或是雲端硬碟放YY圖被封號，我都可以理解。\n而Facebook遲早會成為下個問題點，因此資料都進行備份了。\nFacebook不能貼露骨內容，大家要營造正向氛圍的好社區，這是個沒有下流梗的灰暗世界；討論政治可以，但對其他對等的侮辱言論雙標有目共睹，\n這些我勉強還可以忍，因為FB還是能在社團進行點活絡的討論，這是我還在用的理由。\n事情導火線到了今年7月，年齡跟YouTube一樣久，按讚數是今年五倍券的粉絲專頁「Minecraft PE模組插件分享自製技術」突然被取消發布，事情經過：\n7月，粉絲專頁顯示「你的粉絲專頁已取消發布」，沒有顯示任何違規原因。\n申請複查也無回應，用各種管道回報也是沒人理。 7月中，我想到我還有另一個粉絲專頁，因此我用那個粉絲專頁買了3天廣告，藉此取得能跟真人客服對談的機會（就算疫情期間取消一般用戶的真人諮詢，他們還是優先會跟金主對話吧）\n過程：https://ivonblog.com/posts/my-attempt-to-get-back-my-facebook-page\n8月整個月就在跟客服Email，雖然態度很好，可是他們也無法說出我的粉絲專頁封鎖原因，說等總部回應，中間不時夾雜簡體字。\n到9月，我在發詢問函時已經幾乎是在罵客服了。儘管這樣也是無濟於事。 10月，忍不住出口罵人，被系統禁言30天。這時處於取消發布狀態，只有我後台看得到的粉絲專頁「Minecraft PE模組插件分享自製技術」粉專，直接消失了。\n啊不就還好我有先下載封存檔。 或許這跟我主帳號的言行有關吧，但是從頭到尾，該粉專後台一直顯示專頁狀態良好，無違規記錄。\n而我要註冊新的Facebook帳號，也有很大問題，電話號碼和IP位置都被FB知道了，很久以前辦的副帳號也被認為有可疑活動，被暫時停用發文功能。\n宋岳庭：我已經放棄了所有哭的理由\n從理性的角度來看，我的行為會影響到粉絲專頁。\n而粉絲專頁運作的模式，主要都是分享外國的模組文章連結（基岩版這部分中文的真的很少，我的本意也不是幫人洗流量），再給一點簡介說明，因此會大量貼同一個網站的網址。\n我聽說過貼網址會降觸擊率，我可能也被FB當成農場文寫手，但那些文都不是我寫的哩！ 我不適合這裡，何必待在這種傷心地，乾脆拒用FB，Messenger也別了，IG比推特還無聊，別了。\n不過日有所思還是要有發洩的地方，暫時改用Plurk和Blogger寫廢文和雜筆。\n而日常瀏覽新資訊，則用Twitter和Reddit。可能因幾乎都用英文推文討論技術問題，我長期使用Twitter都沒遇到封禁的情況。\n除了推特帳號和略有起步的新YouTube頻道外，我在網路上確實是死了。但這抵擋不了我對Minecraft和技術的熱愛，所以我決定做一個自己的網站。\n說是這樣說，其實是架在Blogger上，再買個域名而已。把怨氣轉移，化成我寫文章的動力。利用暑假寫了一百餘篇技術部落格。\n網址： https://www.mcbedev.net （2024年已經關閉）\n諷刺的是，這個網站為方便讀者提問，我還是安裝Messenger讓讀者跟我通訊。\n此外，因為無法登入已停用的Google帳號，我無法解除Google認定的「您已有Adsense」，導致這個網站無法用Adsense。\n佛說，萬物本質是空，一切都是暫時的。\n我倒是覺得，戳破了假象，認識到一切才是真實的開始。\nTryHardNinja: From the ground up! With boxes and stones!\n","date":"2021年10月18日","externalUrl":null,"permalink":"/posts/my-facebook-page-mcbe-mod-plugin-share-self-tech/","section":"Minecrafts","summary":"這個粉專終究是被滅了，我用現有的封存檔資料做了一個靈堂網站上香，起碼這個粉專屍體比以前的YouTube頻道完整，大小500MB而已。\n網址：https://github.com/ivon852/PageMCBEModPluginShareSelfTech\n粉專被封鎖前最後一張大頭照\u0026背景圖片 粉專被祖，拒用FB。\n數位靈堂，永垂千古。\n建立網站，自立自強。\n赤手空拳，從頭再來。\n不能發洩性慾，也不能批評政治，莫名其妙的封號標準，再也無法讓人支持這種媒體巨獸。\nFB一直是我個人帳戶的後花園，自從人生跟數位內容綁在一起之後，YouTube頻道和Facebook記錄的是我成長的軌跡，感覺比父母還要親。\n祖克柏，田中謙介都沒有你這麼可惡。看到FB被蘋果揭隱私權的新聞真叫人拍手稱快。 這樣看來感覺挺可悲的，大公司不應該牢牢掌握個人的隱私，或者不要輕易就被綁住、上癮。\n自從2020年YouTube頻道被檢舉到沒了之後，我便有了備份資料的習慣。所幸這些大公司迫於政府壓力，都有入口能一次性下載我在平台上發表的內容，定期製作成壓縮檔封存。 因為規則被封，不論是YouTube版權或是雲端硬碟放YY圖被封號，我都可以理解。\n而Facebook遲早會成為下個問題點，因此資料都進行備份了。\nFacebook不能貼露骨內容，大家要營造正向氛圍的好社區，這是個沒有下流梗的灰暗世界；討論政治可以，但對其他對等的侮辱言論雙標有目共睹，\n這些我勉強還可以忍，因為FB還是能在社團進行點活絡的討論，這是我還在用的理由。\n事情導火線到了今年7月，年齡跟YouTube一樣久，按讚數是今年五倍券的粉絲專頁「Minecraft PE模組插件分享自製技術」突然被取消發布，事情經過：\n","title":"懷念「Minecraft PE 模組插件分享、自製、技術」FB粉絲專頁","type":"minecraft"},{"content":"Minecraft基岩版的掉落物，或者說戰利品，都放在原版行為包的loot_tables資料夾，裡面含有大多數生物和寶箱的戰利品表，可自訂實體死亡掉落物或建築生成箱子的物品。\n基岩版1.18.0.21加入了/loot指令，可用於生成掉落物。而生成掉落物的依據，就是這些戰利品表。 本文教學如何給實體、方塊、物品添加自訂掉落物，並討論各自的實現方式。\n1. 戰利品表的格式 # 以殭屍的為例子:\n行為包/loot_tables/entities/zombie.json內容\n{ \u0026#34;pools\u0026#34;: [ { //第一個物件 \u0026#34;rolls\u0026#34;: 1, \u0026#34;entries\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;item\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;minecraft:rotten_flesh\u0026#34;, \u0026#34;weight\u0026#34;: 1, \u0026#34;functions\u0026#34;: [ { \u0026#34;function\u0026#34;: \u0026#34;set_count\u0026#34;, \u0026#34;count\u0026#34;: { \u0026#34;min\u0026#34;: 0, \u0026#34;max\u0026#34;: 2 } }, { \u0026#34;function\u0026#34;: \u0026#34;looting_enchant\u0026#34;, \u0026#34;count\u0026#34;: { \u0026#34;min\u0026#34;: 0, \u0026#34;max\u0026#34;: 1 } } ] } ] }, { //第二個物件，有條件 \u0026#34;conditions\u0026#34;: [ { \u0026#34;condition\u0026#34;: \u0026#34;killed_by_player_or_pets\u0026#34; }, { \u0026#34;condition\u0026#34;: \u0026#34;random_chance_with_looting\u0026#34;, \u0026#34;chance\u0026#34;: 0.025, \u0026#34;looting_multiplier\u0026#34;: 0.01 } ], \u0026#34;rolls\u0026#34;: 1, \u0026#34;entries\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;item\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;minecraft:iron_ingot\u0026#34;, \u0026#34;weight\u0026#34;: 1 }, { \u0026#34;type\u0026#34;: \u0026#34;item\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;minecraft:carrot\u0026#34;, \u0026#34;weight\u0026#34;: 1 }, { \u0026#34;type\u0026#34;: \u0026#34;item\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;minecraft:potato\u0026#34;, \u0026#34;weight\u0026#34;: 1 } ] } ] } 由上可知，一個pools裡面可以有多種情況，這裡有二個物件。\n第一個物件的情況沒有任何條件，因此都會抽到，rolls是抽取次數。entries裡面可以寫會掉落的物品，weight是權重，functions可以給物品設定隨機數量或者附魔。\n第二個物件，裡面有conditions，表明要滿足這二個條件之一(被玩家殺死或隨機掉落)，才會掉落這些物品，而裡面就列出了會掉落的鐵錠、紅蘿蔔、馬鈴薯。\n如果要掉落生怪蛋，可以使用set_actor_id：\n{ \u0026#34;type\u0026#34;: \u0026#34;item\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;minecraft:spawn_egg\u0026#34;, \u0026#34;weight\u0026#34;: 1, \u0026#34;functions\u0026#34;: [ { \u0026#34;function\u0026#34;: \u0026#34;set_actor_id\u0026#34;, \u0026#34;id\u0026#34;: \u0026#34;newmob:mymob\u0026#34; } ] } 2. /loot指令用法 # 格式：\n/loot spawn \u0026lt;座標: x y z\u0026gt; loot \u0026lt;戰利品表: 字串\u0026gt; [\u0026lt;tool\u0026gt;:mainhand:offhand: 字串] 範例，掉落殭屍的戰利品，.json不用寫出來，指令預設是從loot_tables資料夾下去找戰利品表。\n/loot spawn ~ ~ ~ loot \u0026#34;entities/zombie\u0026#34; mainhand 3. 自訂實體死亡後掉落物品 # 在實體的行為檔案添加minecraft:loot組件就可以指定死亡掉落的戰利品表。\n例如指定使用mymob.json作為目前實體的戰利品：\n\u0026#34;minecraft:loot\u0026#34;: { \u0026#34;table\u0026#34;: \u0026#34;loot_tables/entities/mymob.json\u0026#34; } 4. 方塊破壞後掉落物品 # 1.16.100之後的方塊可設定與方塊互動後觸發事件，因此可在方塊的json加入spawn_loot事件來生成掉落物：\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.16.100\u0026#34;, \u0026#34;minecraft:block\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;newblock:test\u0026#34; }, \u0026#34;components\u0026#34;: { \u0026#34;minecraft:on_player_destroyed\u0026#34;: { //玩家破壞後 \u0026#34;event\u0026#34;: \u0026#34;newblock:drop_loot\u0026#34;, \u0026#34;target\u0026#34;: \u0026#34;self\u0026#34; } }, \u0026#34;events\u0026#34;: { \u0026#34;newblock:drop_loot\u0026#34;: { \u0026#34;spawn_loot\u0026#34;: { \u0026#34;table\u0026#34;: \u0026#34;loot_tables/blocks/my_loot_table.json\u0026#34; } } } } } 5. 物品使用後掉落物品 # 物品並沒有能掉落物品的事件，因此loot指令就派上用場了。\n在物品的行為檔案加入spawn_loot組件，執行/loot指令：\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.16.100\u0026#34;, \u0026#34;minecraft:block\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;newitem:test\u0026#34; }, \u0026#34;components\u0026#34;: { \u0026#34;minecraft:on_use\u0026#34;: { //使用物品時 \u0026#34;on_use\u0026#34;: { \u0026#34;event\u0026#34;: \u0026#34;newitem:spawn_loot\u0026#34;, \u0026#34;target\u0026#34;: \u0026#34;self\u0026#34; } } }, \u0026#34;events\u0026#34;: { \u0026#34;newitem:spawn_loot\u0026#34;: { \u0026#34;run_command\u0026#34;: { //執行指令 \u0026#34;command\u0026#34;: [ \u0026#34;loot spawn ~ ~ ~ loot \u0026#39;entities/my_loot_table\u0026#39; mainhand\u0026#34; ], \u0026#34;target\u0026#34;: \u0026#34;self\u0026#34; } } } } } 參考資料 # Commands/loot - Minecraft Wiki Blocks - Bedrock Wiki ","date":"2021年10月17日","externalUrl":null,"permalink":"/posts/minecraft-add-on-custom-loots/","section":"Minecrafts","summary":"Minecraft基岩版的掉落物，或者說戰利品，都放在原版行為包的loot_tables資料夾，裡面含有大多數生物和寶箱的戰利品表，可自訂實體死亡掉落物或建築生成箱子的物品。\n基岩版1.18.0.21加入了/loot指令，可用於生成掉落物。而生成掉落物的依據，就是這些戰利品表。 本文教學如何給實體、方塊、物品添加自訂掉落物，並討論各自的實現方式。\n1. 戰利品表的格式 # 以殭屍的為例子:\n行為包/loot_tables/entities/zombie.json內容\n{ \"pools\": [ { //第一個物件 \"rolls\": 1, \"entries\": [ { \"type\": \"item\", \"name\": \"minecraft:rotten_flesh\", \"weight\": 1, \"functions\": [ { \"function\": \"set_count\", \"count\": { \"min\": 0, \"max\": 2 } }, { \"function\": \"looting_enchant\", \"count\": { \"min\": 0, \"max\": 1 } } ] } ] }, { //第二個物件，有條件 \"conditions\": [ { \"condition\": \"killed_by_player_or_pets\" }, { \"condition\": \"random_chance_with_looting\", \"chance\": 0.025, \"looting_multiplier\": 0.01 } ], \"rolls\": 1, \"entries\": [ { \"type\": \"item\", \"name\": \"minecraft:iron_ingot\", \"weight\": 1 }, { \"type\": \"item\", \"name\": \"minecraft:carrot\", \"weight\": 1 }, { \"type\": \"item\", \"name\": \"minecraft:potato\", \"weight\": 1 } ] } ] } 由上可知，一個pools裡面可以有多種情況，這裡有二個物件。\n第一個物件的情況沒有任何條件，因此都會抽到，rolls是抽取次數。entries裡面可以寫會掉落的物品，weight是權重，functions可以給物品設定隨機數量或者附魔。\n第二個物件，裡面有conditions，表明要滿足這二個條件之一(被玩家殺死或隨機掉落)，才會掉落這些物品，而裡面就列出了會掉落的鐵錠、紅蘿蔔、馬鈴薯。\n如果要掉落生怪蛋，可以使用set_actor_id：\n{ \"type\": \"item\", \"name\": \"minecraft:spawn_egg\", \"weight\": 1, \"functions\": [ { \"function\": \"set_actor_id\", \"id\": \"newmob:mymob\" } ] } 2. /loot指令用法 # 格式：\n","title":"Minecraft Add-On 自訂實體掉落物與loot指令用法","type":"minecraft"},{"content":"註解：Minecraft 1.18以後已改用Render Dragon渲染引擎。本文所談的內容僅適用於舊版Minecraft。\nMinecraft基岩版的光影(Shader，或稱著色器)是使用OpenGL ES的GLSL和HLSL寫成，前者是給手機版，後者是給舊Windows 10版。 這篇文章介紹的是著色器(Shader)，跟RTX光線追蹤不一樣。\n撰文當下Minecraft 1.17，只剩手機版還在使用GLSL著色器，其他平台已經換成全新的Render Dragon渲染引擎。\n為何還要學GLSL？，Render Dragon因為是預先編譯著色器，目前沒有任何自訂的餘地，只剩手機版能自由安裝玩家們製作的GLSL光影，其他平台不是沒有，就是只剩RTX光追能用。相較之下，GLSL並不會要求高規格的顯示卡才能用，所以適合手機版玩家研究。\n在開始教學前，歡迎您點選以下連結進行連署，呼籲Mojang開放Render Dragon引擎給玩家自訂光影。\n3rd party shader support for render dragon\n必備知識 # 熟悉C語言，學GLSL會比較容易 需用到大量高中數學 在電腦上開發 # 因為Win10版已不支援GLSL，如果要在電腦上測試GLSL光影，可用Bluestacks裝手機版Minecraft。\n光影基本架構 # 光影只需要用到資源包，使用方法跟Add-On類似。\n光影的主要檔案位於shaders/glsl/資料夾。materials資料夾裡的檔案亦能定義要使用的著色器。\n光影能做到的事 # Minecraft基岩版光影資源包安裝教學有許多光影的介紹，他們通常都會有以下功能：\n改材質 著色器 色調 動態花草 雨滴 影子 水波 反射 天空 光照 PBR (讓方塊材質有凹凸效果) 開源範本 # 有些作者會把原始碼放在Github，下面是二個比較知名的基岩版光影。\nOSBES (GPL-3.0授權) ESBE 3G (MIT授權) 當然，著色器的檔案都是明碼撰寫的，直接拆光影包的檔案來看也是可以。但苦力怕光影的團隊對抄襲行為很感冒，甚至會開吉。\n延伸閱讀 # 材质与着色器 - 网易基岩版我的世界教学手册 自製光影教學，附範本下載：How To Make Your Own Shader For MCPE 1.16+ | Create Your Own Shader For Minecraft PE | Easy Tutorial OpenGL ES基礎教學影片：shader tutorial series - Lewis Lepton 圖形學繪製流程：OpenGL GLSL著色器 - 泰迪熊的程式足跡 ","date":"2021年10月16日","externalUrl":null,"permalink":"/posts/minecraft-glsl-shader-introduction/","section":"Minecrafts","summary":"註解：Minecraft 1.18以後已改用Render Dragon渲染引擎。本文所談的內容僅適用於舊版Minecraft。\nMinecraft基岩版的光影(Shader，或稱著色器)是使用OpenGL ES的GLSL和HLSL寫成，前者是給手機版，後者是給舊Windows 10版。 這篇文章介紹的是著色器(Shader)，跟RTX光線追蹤不一樣。\n撰文當下Minecraft 1.17，只剩手機版還在使用GLSL著色器，其他平台已經換成全新的Render Dragon渲染引擎。\n為何還要學GLSL？，Render Dragon因為是預先編譯著色器，目前沒有任何自訂的餘地，只剩手機版能自由安裝玩家們製作的GLSL光影，其他平台不是沒有，就是只剩RTX光追能用。相較之下，GLSL並不會要求高規格的顯示卡才能用，所以適合手機版玩家研究。\n在開始教學前，歡迎您點選以下連結進行連署，呼籲Mojang開放Render Dragon引擎給玩家自訂光影。\n3rd party shader support for render dragon\n必備知識 # 熟悉C語言，學GLSL會比較容易 需用到大量高中數學 在電腦上開發 # 因為Win10版已不支援GLSL，如果要在電腦上測試GLSL光影，可用Bluestacks裝手機版Minecraft。\n","title":"Minecraft基岩版GLSL光影製作教學","type":"minecraft"},{"content":"Blockbench的翻譯可於POEditor進行提交，跟Crowdin很類似，只要註冊帳號就可以開始翻譯。 目前有簡體中文和繁體中文二種語言，繁體中文進度是100%，但仍有用語和錯字要修正，最新進度以POEditor上的為準。\n網址: 點此\n翻譯準則 # 非強迫，但為統一，立下一些基本規矩。如果有更好的請提出。\nBlockbench的3D建模用詞翻譯主要參照Photoshop和Blender，還有Minecraft中文Wiki。\n請確保對Minecraft程式和3D建模有一定程度了解再來翻譯。\n在Minecraft中常出現的\u0026quot;texture\u0026quot;一詞，一律翻譯為「紋理」，\u0026ldquo;material\u0026quot;才翻譯成「材質」。\nBlockbench並不只是用來製作Minecraft模型，因此請勿使用通俗的錯誤用詞「材質」來指稱texture。\n皮膚亦參照官方翻譯，譯為「外觀」。\n自行測試翻譯效果 # 作者約4個月會發布一次Blockbench正式版，同時會從POEditor擷取翻譯。如果要自行測試新語言的套用效果，請按照以下步驟:\n點選POEditor翻譯介面上方的Export，下載該語言的json檔案。\n複製儲存庫\ngit clone https://github.com/JannisX11/blockbench.git 在電腦上安裝NodeJS。\n用Visual Studio Code開啟專案，終端機輸入npm install安裝相關套件。\n將下載到的語言的json檔案覆蓋掉位於lang資料夾的舊版本語言檔案。\n終端機輸入npm run dev開啟Blockbench測試版。\n如果要加入新的語言，建議去Github發Pull Request並於POEditor、Twitter通知作者Jannis。\n","date":"2021年10月15日","externalUrl":null,"permalink":"/posts/blockbench-translation/","section":"Minecrafts","summary":"Blockbench的翻譯可於POEditor進行提交，跟Crowdin很類似，只要註冊帳號就可以開始翻譯。 目前有簡體中文和繁體中文二種語言，繁體中文進度是100%，但仍有用語和錯字要修正，最新進度以POEditor上的為準。\n網址: 點此\n翻譯準則 # 非強迫，但為統一，立下一些基本規矩。如果有更好的請提出。\nBlockbench的3D建模用詞翻譯主要參照Photoshop和Blender，還有Minecraft中文Wiki。\n請確保對Minecraft程式和3D建模有一定程度了解再來翻譯。\n在Minecraft中常出現的\"texture\"一詞，一律翻譯為「紋理」，“material\"才翻譯成「材質」。\nBlockbench並不只是用來製作Minecraft模型，因此請勿使用通俗的錯誤用詞「材質」來指稱texture。\n皮膚亦參照官方翻譯，譯為「外觀」。\n自行測試翻譯效果 # 作者約4個月會發布一次Blockbench正式版，同時會從POEditor擷取翻譯。如果要自行測試新語言的套用效果，請按照以下步驟:\n","title":"Blockbench參與中文翻譯說明","type":"minecraft"},{"content":"這篇文章說明如何設定Minecraft Java版1.12的forge模組開發環境。\n先備知識:\n熟悉Java語法 會安裝forge模組 有英文google的能力 步驟目錄 # 安裝JDK 安裝IntelliJ IDE 設定第一個專案 開啟遊戲實例測試 打包成jar檔案在實際遊戲中測試 1.安裝JDK # 到AdoptOpenJDK下載Open JDK 8 (LTS)。安裝到Windows。這個安裝程式會自動設定好環境變數，因此在Powershell或命令提示字元輸入java -version應會得到以下結果: openjdk version \u0026#34;1.8.0_302\u0026#34; 這裡安裝的是JDK。如果需要JRE，請下載Orcale的。 2.安裝IntelliJ IDE # 到IntelliJ的網站下載IntelliJ，下載黑色的Community版本。\n安裝時勾選全部選項。以下將IntelliJ簡稱為IDEA。\n3.設定第一個專案 # 到Forge的網站下載1.12 Recommended的MDK。\n解壓縮，會得到一個forge-1.12-14.21.1.2387-mdk資料夾，這個是官方準備的範本檔案，可以直接用這個開發模組。\n開啟IDEA，點選Open，選取剛剛解壓縮的資料夾。\n開啟後，按Trust Project。\n剛開啟時，IDEA左下方的Sync會開始初始化，跑完會發現Gradle版本太舊了因此創建失敗。\n按照提示點選Update Gradle，讓IDEA更新Gradle版本。\n開啟build.gradle，在第14行找到以下這段\nversion = \u0026#34;1.0\u0026#34; group = \u0026#34;com.yourname.modid\u0026#34; // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = \u0026#34;modid\u0026#34; 這是要修改的地方，關乎到之後輸出檔案的內容。\nversion通常會寫成遊戲版本號-模組版本號。\ngroup則為網站名稱倒著寫.模組名稱，沒有網站就用email。\narchiveBaseName為模組的識別符，此時就要想好一串英文字。 例如修改成以下這樣:\nversion = \u0026#34;1.12-0.0.1\u0026#34; group = \u0026#34;net.mcbedev.tutorialmod\u0026#34; // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = \u0026#34;netmctutorialmod\u0026#34; 開啟src/main/resources，開啟mcmod.info: modid跟剛剛build.gradle裡面archiveBaseName填一樣。 name給模組取個正式名字。 authorlist填入自己的名字。 修改範例:\n[ { \u0026#34;modid\u0026#34;: \u0026#34;netmctutorialmod\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Tutorial Mod\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Tutorial Mod\u0026#34;, \u0026#34;version\u0026#34;: \u0026#34;${version}\u0026#34;, \u0026#34;mcversion\u0026#34;: \u0026#34;${mcversion}\u0026#34;, \u0026#34;url\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;updateUrl\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;authorList\u0026#34;: [\u0026#34;Ivon852\u0026#34;], \u0026#34;credits\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;logoFile\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;screenshots\u0026#34;: [], \u0026#34;dependencies\u0026#34;: [] } ] 對java/com.example.examplemod資料夾點右鍵，按下Refactor→Rename，將com.example.examplemod改成group名稱，例如net.mcbedev.tutorialmod。這就是你的package，裡面已經有範例程式。\n至此一個空白的模組就完成了。\n大部分的模組主程式檔案都位於src/main/java下。\n4.開啟遊戲實例測試 # 按一下底部的Terminal，輸入gradlew runClient (如果是Powershell要在前面加上./)\n這樣會開啟Minecraft實例，資料都儲存在這個專案資料夾，而不是Minecraft啟動器。\n你製作的模組也會載入，可在已啟用的模組列表看到。\n5.打包成jar檔案在實際遊戲中測試 # 按一下左邊的Gradle，展開Task裡面的build，按二下build就會開始打包。\n打包好的檔案會儲存在專案資料夾build/libs，將這個jar檔像一般Minecraft模組一樣丟到mods資料夾，再從Minecraft啟動器開啟Minecraft。\n參考資料 # FORGE docs 1.12.x ","date":"2021年10月10日","externalUrl":null,"permalink":"/posts/setup-minecraft-1-12-forge-mod-development-environment/","section":"Minecrafts","summary":"這篇文章說明如何設定Minecraft Java版1.12的forge模組開發環境。\n先備知識:\n熟悉Java語法 會安裝forge模組 有英文google的能力 步驟目錄 # 安裝JDK 安裝IntelliJ IDE 設定第一個專案 開啟遊戲實例測試 打包成jar檔案在實際遊戲中測試 1.安裝JDK # 到AdoptOpenJDK下載Open JDK 8 (LTS)。安裝到Windows。這個安裝程式會自動設定好環境變數，因此在Powershell或命令提示字元輸入java -version應會得到以下結果: openjdk version \"1.8.0_302\" 這裡安裝的是JDK。如果需要JRE，請下載Orcale的。 2.安裝IntelliJ IDE # 到IntelliJ的網站下載IntelliJ，下載黑色的Community版本。\n安裝時勾選全部選項。以下將IntelliJ簡稱為IDEA。\n3.設定第一個專案 # 到Forge的網站下載1.12 Recommended的MDK。\n解壓縮，會得到一個forge-1.12-14.21.1.2387-mdk資料夾，這個是官方準備的範本檔案，可以直接用這個開發模組。\n","title":"Minecraft 1.12 Forge模組製作- 環境設定","type":"minecraft"},{"content":" 1. 前言 # 這篇文章介紹如何透過方塊來打開自訂UI的畫面。\n基岩版不使用Scripting API的話，目前的UI都是修改原版居多，而且是透過資源包來修改。\n第一個例子，Dewdimpple製作的Custom Crafting Table加入了鍋爐的新方塊，開啟修改過的合成台UI，可以用來烤雞肉。實際上它還是九宮格，只是透過自訂UI把其他格子遮住，而且在合成表中用crating_tag來限定只能在這個合成台中操作。 再來看dakonblackrose製作的Readable BookShelf，打開這個書櫃後可以看原神的漫畫。 這二個原作者的檔案我做了些修正，使之能共存。文章最後可以下載我修改過的版本。\n2. 原理 # 透過方塊添加開啟自訂合成台的組件，接著在原版合成台的檔案中，塞入自己做的UI，並跟原版合成台UI共存。\n於是就樣就給了我們一個突破口：不一定要做成合成台的介面，但一樣能用這個方法來叫出自訂UI。\n在開始之前，建議看AgentMindStorm的這部影片，你會對JSON的UI有個基本概念。\n3. 實作 # 這裡不做合成台，只做一個像是第二個漫畫例子的UI，這邊要做一個資訊看板。\n影片版教學：\n首先要在行為包新增一個叫做\u0026quot;Info Block\u0026quot;的方塊。 這裡主要在行為包中添加組件\u0026quot;minecraft:crafting_table\u0026quot;，設定合成表，目前只能3x3。然後再設定UI的custom_description，就把它想成這個UI的唯一代號。\ncustomUI_B/blocks/info_block.json內容：\n//... \u0026#34;minecraft:crafting_table\u0026#34;: { \u0026#34;custom_description\u0026#34;: \u0026#34;container.newblock.info\u0026#34;, // Name shown in GUI, you will use this name in the ui \u0026#34;grid_size\u0026#34;: 3, // Currently only supports 3 \u0026#34;crafting_tags\u0026#34;: [ \u0026#34;info\u0026#34; ] }, //... custom_description是字串形式，如果寫成mygui. xxx，你就可以在資源包*texts裡面給它設定多國語言。\n切換到資源包 新增UI要先在_ui_defs.json聲明自製UI檔案的位置，通常是在最前面插入。\n資源包/ui/_ui_defs.json內容：\n{ // Alphabetical order please :) \u0026#34;ui_defs\u0026#34;: [ \u0026#34;ui/infoui.json\u0026#34; //file name must be unique to avoid conflicts with other addons that also uses this ] } 然後從原版Minecraft資源包複製這二個檔案：inventory_screen.json和inventory_screen_pocket.json。 一個是電腦版背包界面，一個是手機版的界面，要修改的地方大同小異。\n開啟inventory_screen.json，刪除到只剩下crafting_screen，在裡面插入要開啟的UI。modification裡面用插入controls陣列的方式來加入UI。 infoui@infoui.final_panel，前面的info可以想成只是個變數，後面infoui.final_panel才是實際有功用/要呼叫的面板。\n資源包/ui/inventory_screen.json內容：\n{ \u0026#34;namespace\u0026#34;: \u0026#34;crafting\u0026#34;, //Insert new UI into crafting screen \u0026#34;controls\u0026#34; array \u0026#34;crafting_screen@crafting.inventory_screen_base\u0026#34;: { \u0026#34;modifications\u0026#34;: [ { \u0026#34;array_name\u0026#34;: \u0026#34;controls\u0026#34;, \u0026#34;operation\u0026#34;: \u0026#34;insert_back\u0026#34;, \u0026#34;value\u0026#34;: { //Your custom ui \u0026#34;infoui@infoui.final_panel\u0026#34;: { //Bindings, to avoid conflicts with other custom UI Add-Ons. \u0026#34;bindings\u0026#34;: [ { \u0026#34;binding_name\u0026#34;: \u0026#34;#crafting_label_text\u0026#34; }, { \u0026#34;binding_type\u0026#34;: \u0026#34;view\u0026#34;, \u0026#34;source_property_name\u0026#34;: \u0026#34;(#crafting_label_text = \u0026#39;container.newblock.info\u0026#39;)\u0026#34;, \u0026#34;target_property_name\u0026#34;: \u0026#34;#visible\u0026#34; } ] } } }, //Use this to make sure the vanilla crafting table will not be overwritten. However, if multiple Add-On use same names, many dulpicated crafting screens will be created :( Minecraft will show you warnings, too. //Therefore, \u0026#34;vanilla crafting table\u0026#34; and \u0026#34;crafting_screen\u0026#34; should be unique, too. But \u0026#34;crafting_screen\u0026#34; is required, so this problem is unsolved. { \u0026#34;array_name\u0026#34;: \u0026#34;controls\u0026#34;, \u0026#34;operation\u0026#34;: \u0026#34;insert_back\u0026#34;, \u0026#34;value\u0026#34;: { \u0026#34;vanilla_crafting_screen@crafting.inventory_screen_base\u0026#34;: { \u0026#34;bindings\u0026#34;: [ { \u0026#34;binding_name\u0026#34;: \u0026#34;#crafting_label_text\u0026#34; }, { \u0026#34;binding_type\u0026#34;: \u0026#34;view\u0026#34;, \u0026#34;source_property_name\u0026#34;: \u0026#34;(#crafting_label_text = container.crafting)\u0026#34;, \u0026#34;target_property_name\u0026#34;: \u0026#34;#visible\u0026#34; } ] } } } ] } } 除此之外，還要設定binding name （14～22行），填入剛剛在行為包設定的custom_description，以UI的文字當作顯示的依據，這樣它才只會在呼叫時顯示，避免跟其他Add-On以及原版的合成台重疊。\n再來把原版的合成台UI加回來（28～45行），否則合成台會空白一片。\n資源包/ui/inventory_screen_pocket.json檔案亦同：\n/* Similar to inventory_screen.json */ { \u0026#34;namespace\u0026#34;: \u0026#34;crafting_pocket\u0026#34;, \u0026#34;crafting_screen_pocket@crafting_pocket.inventory_screen_pocket_base\u0026#34;: { \u0026#34;modifications\u0026#34;: [ { \u0026#34;array_name\u0026#34;: \u0026#34;controls\u0026#34;, \u0026#34;operation\u0026#34;: \u0026#34;insert_back\u0026#34;, \u0026#34;value\u0026#34;: { //Your custom ui \u0026#34;infoui@infoui.final_panel\u0026#34;: { //Bindings, to avoid conflicts with other custom UI Add-Ons. \u0026#34;bindings\u0026#34;: [ { \u0026#34;binding_name\u0026#34;: \u0026#34;#crafting_label_text\u0026#34; }, { \u0026#34;binding_type\u0026#34;: \u0026#34;view\u0026#34;, \u0026#34;source_property_name\u0026#34;: \u0026#34;(#crafting_label_text = \u0026#39;container.newblock.info\u0026#39;)\u0026#34;, \u0026#34;target_property_name\u0026#34;: \u0026#34;#visible\u0026#34; } ] } } }, { \u0026#34;array_name\u0026#34;: \u0026#34;controls\u0026#34;, \u0026#34;operation\u0026#34;: \u0026#34;insert_back\u0026#34;, \u0026#34;value\u0026#34;: { \u0026#34;vanilla_crafting_screen@crafting.inventory_screen_base\u0026#34;: { \u0026#34;$screen_content\u0026#34;: \u0026#34;crafting.recipe_inventory_screen_content\u0026#34;, \u0026#34;$screen_bg_content\u0026#34;: \u0026#34;common.screen_background\u0026#34;, \u0026#34;$top_half_variant\u0026#34;: \u0026#34;crafting.crafting_panel_top_half\u0026#34;, \u0026#34;bindings\u0026#34;: [ { \u0026#34;binding_name\u0026#34;: \u0026#34;#crafting_label_text\u0026#34;, \u0026#34;binding_type\u0026#34;: \u0026#34;global\u0026#34; }, { \u0026#34;binding_type\u0026#34;: \u0026#34;view\u0026#34;, \u0026#34;source_property_name\u0026#34;: \u0026#34;(#crafting_label_text = container.crafting)\u0026#34;, \u0026#34;target_property_name\u0026#34;: \u0026#34;#visible\u0026#34; } ] } } } ] } } 新增一個檔案 infoui.json，這個就是自己做的UI檔案，上面有一個專有的namespace，也是用來避免重複。 資源包/ui/infoui.json內容：\n/* infoui.final -\u0026gt; main_panel -\u0026gt; scrolling -\u0026gt; homescreen */ { \u0026#34;namespace\u0026#34;: \u0026#34;infoui\u0026#34;, //Unique namspace /* Elements */ //Background image \u0026#34;background_image@horse.overlay_image\u0026#34;: { \u0026#34;texture\u0026#34;: \u0026#34;textures/ui/background\u0026#34;, \u0026#34;alpha\u0026#34;: 1 }, //UI Contents \u0026#34;homescreen\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;offset\u0026#34;: [ 0, 0 ], //Headers, images and texts. Text + Image //Use size y to control line spacing \u0026#34;controls\u0026#34;: [ { \u0026#34;row0\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 50 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;header_0@how_to_play_common.header\u0026#34;: { \u0026#34;$text\u0026#34;: \u0026#34;newblock.info.header1\u0026#34; } } ] } }, { \u0026#34;row00\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 50 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;paragraph_1@how_to_play_common.paragraph\u0026#34;: { \u0026#34;$text\u0026#34;: \u0026#34;newblock.info.text0\u0026#34; } } ] } }, { \u0026#34;row1t\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 10 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;paragraph_1@how_to_play_common.paragraph\u0026#34;: { \u0026#34;$text\u0026#34;: \u0026#34;newblock.info.text1\u0026#34; } } ] } }, { \u0026#34;row1\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 250 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;1\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;image\u0026#34;, \u0026#34;texture\u0026#34;: \u0026#34;textures/ui/info1\u0026#34; } } ] } }, { \u0026#34;row2t\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 10 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;paragraph_1@how_to_play_common.paragraph\u0026#34;: { \u0026#34;$text\u0026#34;: \u0026#34;newblock.info.text2\u0026#34; } } ] } }, { \u0026#34;row2\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 250 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;1\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;image\u0026#34;, \u0026#34;texture\u0026#34;: \u0026#34;textures/ui/info2\u0026#34; } } ] } }, { \u0026#34;row3t\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 10 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;paragraph_1@how_to_play_common.paragraph\u0026#34;: { \u0026#34;$text\u0026#34;: \u0026#34;newblock.info.text3\u0026#34; } } ] } }, { \u0026#34;row3\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 250 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;1\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;image\u0026#34;, \u0026#34;texture\u0026#34;: \u0026#34;textures/ui/info3\u0026#34; } } ] } }, { \u0026#34;row4t\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 10 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;paragraph_1@how_to_play_common.paragraph\u0026#34;: { \u0026#34;$text\u0026#34;: \u0026#34;newblock.info.text4\u0026#34; } } ] } }, { \u0026#34;row4\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 250 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;1\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;image\u0026#34;, \u0026#34;texture\u0026#34;: \u0026#34;textures/ui/info4\u0026#34; } } ] } }, { \u0026#34;row5t\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 10 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;paragraph_1@how_to_play_common.paragraph\u0026#34;: { \u0026#34;$text\u0026#34;: \u0026#34;newblock.info.text5\u0026#34; } } ] } }, { \u0026#34;row5\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 250 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;1\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;image\u0026#34;, \u0026#34;texture\u0026#34;: \u0026#34;textures/ui/info5\u0026#34; } } ] } }, { \u0026#34;row6t\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 10 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;paragraph_1@how_to_play_common.paragraph\u0026#34;: { \u0026#34;$text\u0026#34;: \u0026#34;newblock.info.text6\u0026#34; } } ] } }, { \u0026#34;row6\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 250 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;1\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;image\u0026#34;, \u0026#34;texture\u0026#34;: \u0026#34;textures/ui/info6\u0026#34; } } ] } }, { \u0026#34;row7t\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 10 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;paragraph_1@how_to_play_common.paragraph\u0026#34;: { \u0026#34;$text\u0026#34;: \u0026#34;newblock.info.text7\u0026#34; } } ] } }, { \u0026#34;row7\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 250 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;1\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;image\u0026#34;, \u0026#34;texture\u0026#34;: \u0026#34;textures/ui/info7\u0026#34; } } ] } }, { \u0026#34;row8t\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 20 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;paragraph_1@how_to_play_common.paragraph\u0026#34;: { \u0026#34;$text\u0026#34;: \u0026#34;newblock.info.text8\u0026#34; } } ] } }, { \u0026#34;row8\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;stack_panel\u0026#34;, \u0026#34;orientation\u0026#34;: \u0026#34;horizontal\u0026#34;, \u0026#34;size\u0026#34;: [ \u0026#34;100%\u0026#34;, 250 ], \u0026#34;controls\u0026#34;: [ { \u0026#34;1\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;image\u0026#34;, \u0026#34;texture\u0026#34;: \u0026#34;textures/ui/info8\u0026#34; } } ] } } ] }, /* UI */ \u0026#34;scrolling@common.scrolling_panel\u0026#34;: { \u0026#34;$scrolling_content\u0026#34;: \u0026#34;infoui.homescreen\u0026#34;, \u0026#34;$show_background\u0026#34;: false, \u0026#34;anchor_from\u0026#34;: \u0026#34;center\u0026#34;, \u0026#34;anchor_to\u0026#34;: \u0026#34;center\u0026#34; }, \u0026#34;main_panel@common.root_panel\u0026#34;: { \u0026#34;layer\u0026#34;: 1, \u0026#34;size\u0026#34;: [ \u0026#34;90%\u0026#34;, \u0026#34;90%\u0026#34; ], \u0026#34;controls\u0026#34;: [ { \u0026#34;common_panel@common.common_panel\u0026#34;: { \u0026#34;offset\u0026#34;: [ 0, 0 ], \u0026#34;$show_close_button\u0026#34;: true } }, //Background { \u0026#34;bg@background_image\u0026#34;: { \u0026#34;layer\u0026#34;: 2, \u0026#34;size\u0026#34;: [ \u0026#34;90%\u0026#34;, \u0026#34;95%\u0026#34; ], \u0026#34;offset\u0026#34;: [ 0, 0 ] } }, //UI contents { \u0026#34;sg@scrolling\u0026#34;: { \u0026#34;size\u0026#34;: [ \u0026#34;85%\u0026#34;, \u0026#34;90%\u0026#34; ], \u0026#34;layer\u0026#34;: 3 } } ] }, //Final panel to show //use lang file to change your container title \u0026#34;final_panel\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;panel\u0026#34;, \u0026#34;controls\u0026#34;: [ { \u0026#34;main@main_panel\u0026#34;: {} } ], \u0026#34;bindings\u0026#34;: [ { \u0026#34;binding_name\u0026#34;: \u0026#34;#crafting_label_text\u0026#34; }, { \u0026#34;binding_type\u0026#34;: \u0026#34;view\u0026#34;, \u0026#34;source_property_name\u0026#34;: \u0026#34;(#crafting_label_text = \u0026#39;container.newblock.info\u0026#39;)\u0026#34;, //custom_description in the behavior \u0026#34;target_property_name\u0026#34;: \u0026#34;#visible\u0026#34; } ] } } 剩下的就是往UI裡面塞入元素了。 載入UI最先呼叫的就是404行的final_panel，同樣也給它設定binding name。\n順序就是：final_panel -\u0026gt; main_panel -\u0026gt; scrolling -\u0026gt; homescreen\n因為這是一個捲動的視窗，在360～401行我設計了背景，以及將捲動的內容限縮在背景內。接著在16～350行填入文字和圖片，文字的部份還要在資源包/texts/en_US.lang設定實際顯示的文字內容。\n一些已知的屬性：\nsource_property_name用於呼叫UI layer用於重疊，越小越後面 size可用數字或100%、px來決定大小 這樣UI就完成了。 這個UI的效果主要是給玩家查詢Add-On使用方法，我把mcpedl上寫的文章放進來，UI裡面含有文字和圖片，可捲動。 這個UI有個小問題，crafting screen的插入方法，如果多個Add-On都這樣寫，會導致原版合成台的介面重複顯示。目前我還沒想到解決方法，如果有請跟我說吧。\n關於UI的部分還有很多可以學習的地方，但如果你問我為什麼這樣那樣寫不行，我應該會說：\n啊哈哈，佐佑理不清楚。\n範本檔案下載 # 內含三個Add-On，鍋爐Custom Crafting Table UI、原神漫畫UI，以及本文的範例。\n下載網址\n也可於Github檢視原始碼。\n","date":"2021年10月9日","externalUrl":null,"permalink":"/posts/minecraft-add-on-custom-crafting-table-ui/","section":"Minecrafts","summary":"1. 前言 # 這篇文章介紹如何透過方塊來打開自訂UI的畫面。\n基岩版不使用Scripting API的話，目前的UI都是修改原版居多，而且是透過資源包來修改。\n第一個例子，Dewdimpple製作的Custom Crafting Table加入了鍋爐的新方塊，開啟修改過的合成台UI，可以用來烤雞肉。實際上它還是九宮格，只是透過自訂UI把其他格子遮住，而且在合成表中用crating_tag來限定只能在這個合成台中操作。 再來看dakonblackrose製作的Readable BookShelf，打開這個書櫃後可以看原神的漫畫。 這二個原作者的檔案我做了些修正，使之能共存。文章最後可以下載我修改過的版本。\n2. 原理 # 透過方塊添加開啟自訂合成台的組件，接著在原版合成台的檔案中，塞入自己做的UI，並跟原版合成台UI共存。\n於是就樣就給了我們一個突破口：不一定要做成合成台的介面，但一樣能用這個方法來叫出自訂UI。\n在開始之前，建議看AgentMindStorm的這部影片，你會對JSON的UI有個基本概念。\n3. 實作 # 這裡不做合成台，只做一個像是第二個漫畫例子的UI，這邊要做一個資訊看板。\n","title":"合成台方塊自訂UI｜Minecraft基岩版Add-On模組製作教學","type":"minecraft"},{"content":"","date":"2021年10月3日","externalUrl":null,"permalink":"/tags/fabric-mod/","section":"標籤","summary":"","title":"Fabric Mod","type":"tags"},{"content":"這篇文章介紹常見的Minecraft實體模型格式。\n模型，也就是組成實體(生物)、方塊、物品的外觀的檔案，從簡單的方塊狀，到3A遊戲的複雜人物模型，都有可能套用到Minecraft，有些是Minecraft內建支援的，有些則要靠模組載入。\n不清楚Box UV和Pre-face UV的請參考這篇：Blockbench技巧：Box UV vs Pre-face UV\n目前模型格式有以下幾種:\nMinecraft Java / Modded Entity\nOptifine / CEM\n基岩版JSON格式\nOBJ\n其他\n1. Blockbench專案檔的運作方式 # File → Save Project可以儲存專案，專案副檔名是.bbmodel，儲存時除了儲存模型資料，還會儲材質、動畫檔案，因此這個專案檔可以分享給別人編輯。\n使用Blockbench製作模型時請隨時保有一份.bbmodel檔案，輸出模型後仍要記得存檔，因為不是每個格式輸出後都還能重新匯入，例如Java版模型。\n2. 如何轉換模型 # Blockbecnh會依照目前的專案格式來決定可以輸出什麼，例如基岩版專案就只有輸出成obj或json的選項，Modded Entity則會多出Java格式。\n開啟現有的基岩模型，按下File → Convert Project → 選擇Modded Entity就可以轉成Java版模組實體專案，注意這個過程不可逆。\n轉換之後，按下File → Project可以設定要對應的模型版本，還有分forge和fabric。\n按下Export就可以匯出，接著將這個檔案貼到你實體的java檔案裡面。\n3. 跨平台應以哪種格式製作模型? # Blockbnech的專案可以任意轉換格式，但過程不可逆。\n目前要做實體的模型，最穩固的格式是基岩版實體(.json)，因為基岩版的json模型同時支援Box UV和Pre-face UV，後者方塊小於1像素仍可以畫上材質。\n相較之下，Minecraft Java版原生模型是以Java寫成的，Java版模型(forge和fabric)只支援Box UV，因此若把使用pre-face UV的模型轉換過去，就會破圖。這個過程不可逆，唯一作法就是關掉Blockbench別存檔，免得模型毀掉。\n4. 解決方案 # 關於這些模型，以下是三種可以考慮的作法。\n不要用pre-face UV # 最簡單的方式，做模型時盡量不要用方塊硬幹拼出圓形，這樣立方體理論上就不會小於1像素。\n即使需要轉成Java格式，也不會發生破圖問題。\nGeckolib # 要讓實體模型雙平台通用，Geckolib可以做到這點，還能做動作(動畫)，這樣不論是基岩版還是Java版，都能共用同一個json格式的模型而不需轉檔。\nObj模型 # 不推薦。\n輸出的模型不限Minecraft，還可以用在其他遊戲。\n但是很難做動畫，obj就只是個模型。此外，基岩版的obj檔案要在Add-On使用，還必須轉成含有mesh資訊的json檔案，這個過程也是不可逆的。\n","date":"2021年10月3日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-and-java-entity-formats/","section":"Minecrafts","summary":"這篇文章介紹常見的Minecraft實體模型格式。\n模型，也就是組成實體(生物)、方塊、物品的外觀的檔案，從簡單的方塊狀，到3A遊戲的複雜人物模型，都有可能套用到Minecraft，有些是Minecraft內建支援的，有些則要靠模組載入。\n不清楚Box UV和Pre-face UV的請參考這篇：Blockbench技巧：Box UV vs Pre-face UV\n目前模型格式有以下幾種:\nMinecraft Java / Modded Entity\nOptifine / CEM\n基岩版JSON格式\nOBJ\n其他\n1. Blockbench專案檔的運作方式 # File → Save Project可以儲存專案，專案副檔名是.bbmodel，儲存時除了儲存模型資料，還會儲材質、動畫檔案，因此這個專案檔可以分享給別人編輯。\n使用Blockbench製作模型時請隨時保有一份.bbmodel檔案，輸出模型後仍要記得存檔，因為不是每個格式輸出後都還能重新匯入，例如Java版模型。\n2. 如何轉換模型 # Blockbecnh會依照目前的專案格式來決定可以輸出什麼，例如基岩版專案就只有輸出成obj或json的選項，Modded Entity則會多出Java格式。\n開啟現有的基岩模型，按下File → Convert Project → 選擇Modded Entity就可以轉成Java版模組實體專案，注意這個過程不可逆。\n","title":"Minecraft模組實體模型的格式選擇 (Java、基岩版)","type":"minecraft"},{"content":"這個同人Add-on為Minecraft基岩版加入了網頁遊戲《艦隊Collection》（艦これ）中出現的「艦娘」、「深海棲艦」，以及各式飛機與坦克等載具，支援1.16以上的版本。\nKanColle Add-On下載網址\n本篇為深海棲艦篇，介紹背後製作秘辛。\n艦娘篇請看這篇\n裡面的模型製作日期約是介於：2020年3月到2021年8月之間，每隻製作時間大約2 ~ 6小時。 製作時的參考資源：官方卡面、出版品、模型、MMD 3D模型等等。Add-On裡面使用了部份遊戲語音。\n該Add-On中，有以下深海棲艦 文章中引用的圖卡之所以為英文，是因為當初只發表在MCPEDL網站之故。\n所有的深海棲艦都會攻擊艦娘。不過為了不要讓兩個實體因為想攻擊對方而纏鬥在一起（Minecraft的AI就是這麼笨），我有設定實體之間必須隔走開幾步距離才開火的程式碼。\n1. 太平洋深海棲姬 # 2020年剛做完島風就做Boss，進度似乎太快了。\n採用骷髏蜘蛛騎士的程式碼，讓深海棲姬可以坐在她的大鯨魚上。不過下面的實體不會聽上面的指令，所以他們的頭會看不同地方，只有攻擊時頭是同方向，這個缺點到後面都沒改進。\n在原作遊戲是Boss，因此在Minecraft也讓她成為Boss，一接近就會出現凋零怪的長血條，並播放原作遊戲「第二次ハワイ作戦」的Boss BGM（音樂只有這個Boss有）。\n攻擊方式為戰艦砲彈。\n玩家將其打倒後可獲得手上的法杖，用於發射砲彈。\n2. 北方棲姬 # 俗稱小北棲。 當初製作的時候用iPad Air 3繪製的設定稿。北方棲姬和島風是這個Add-On系列中唯二有認真做頭髮模型的。 為表示裙子薄薄的質感，採用了危險的作法，建模的cube只有薄薄一片，這樣非常容易造成z-fighting現象。 這隻有畫出輕薄衣服下的樣貌。\nNSFW注意 預設狀態是漂浮在艤裝上，手上拿著古賀零戰。\n攻擊的時候採用發怒時候的設定。如果把下面的座騎打死，北方棲姬仍然會空手攻擊。\n北方棲姬的攻擊武器為深海地獄貓艦載機（使用幻術師的程式碼），召喚大量的章魚燒，對敵人進行掃射攻擊。\n3. 深海驅逐艦 # 五個級別的驅逐艦都做出來了，分為イ級、ロ級、ハ級、ニ級、ナ級。 建模簡單到用iPad跑網頁版的Blockbench都能做。\n在原作中是到處出沒的雜魚角色，Minecraft世界則是讓他們像怪物一樣隨機生成在水域附近（需要為困難模式才會生成）。為營造艦隊Collection「從水底而來」 的感覺，所以他們是生成在水中，再藉由Minecraft的浮力飄上來。\n他們只會吐殺傷力低的砲彈，打死後會掉一些金屬戰利品。\n4. 空母棲鬼/空母棲姬 # 應該是同一個角色的不同型態，所以一個模型共用兩套衣服，還做了精緻的眨眼動畫。 當時剛學會了在Add-On載入.obj模型的技術，所以從NicoNico3D偷來了MMD模型，連預設的灰色材質都不改，直接當她的座騎。\n後來覺得不妥，還是簡單建個模，把它換掉了。 雖然胸部外觀看起來是三角形的，但是內裡仍有忠實的把渾圓的球狀做出來。 召喚出來是空母棲鬼，攻擊武器是地獄貓，血量低於一定值會進入大破狀態，衣服變成空母棲姬。\n不知為何加了一個奇怪的設定：空母棲鬼預設不會攻擊玩家（但還是會被艦娘扁），如果玩家給她鑽石，就有機會馴化她。\n5. PT小鬼群 # 雖然原作是單張卡片多個角色，我仍按照卡面做了三種模型。 PT魚雷艇的角色，移動速度很快，閃避率很高，我把他們的速度調得比驅逐艦還快。\n設定上讓他們噴殺傷力低的子彈而已，免得太難打。\n6. 輸送ワ級 # 專門運輸物資的補給艦。\n雖然是雜魚角色，建模仍不馬虎，渾圓的胸部、下方的輸送管都有做出來。 雖然皮厚但是火力不強，打死會掉金屬戰利品，以及間宮、伊良湖。\n","date":"2021年10月2日","externalUrl":null,"permalink":"/posts/kantai-collection-minecraft-addon-abyssal/","section":"Artworks","summary":"這個同人Add-on為Minecraft基岩版加入了網頁遊戲《艦隊Collection》（艦これ）中出現的「艦娘」、「深海棲艦」，以及各式飛機與坦克等載具，支援1.16以上的版本。\nKanColle Add-On下載網址\n本篇為深海棲艦篇，介紹背後製作秘辛。\n艦娘篇請看這篇\n裡面的模型製作日期約是介於：2020年3月到2021年8月之間，每隻製作時間大約2 ~ 6小時。 製作時的參考資源：官方卡面、出版品、模型、MMD 3D模型等等。Add-On裡面使用了部份遊戲語音。\n該Add-On中，有以下深海棲艦 文章中引用的圖卡之所以為英文，是因為當初只發表在MCPEDL網站之故。\n所有的深海棲艦都會攻擊艦娘。不過為了不要讓兩個實體因為想攻擊對方而纏鬥在一起（Minecraft的AI就是這麼笨），我有設定實體之間必須隔走開幾步距離才開火的程式碼。\n1. 太平洋深海棲姬 # 2020年剛做完島風就做Boss，進度似乎太快了。\n採用骷髏蜘蛛騎士的程式碼，讓深海棲姬可以坐在她的大鯨魚上。不過下面的實體不會聽上面的指令，所以他們的頭會看不同地方，只有攻擊時頭是同方向，這個缺點到後面都沒改進。\n","title":"【3D繪圖】可愛的深海棲艦們（Minecraft基岩版艦隊Collection ＋ 軍事Add-On）","type":"artwork"},{"content":"本篇為艦娘篇，介紹背後製作秘辛。\n深海棲艦篇請看這篇。\n裡面的艦娘製作日期約是介於：2020年3月到2021年8月之間，每隻艦娘的製作時間大約6小時。 製作艦娘時的參考資源：官方卡面、出版品、模型、MMD 3D模型等等。Add-On裡面使用了部份遊戲語音。\n這個同人Add-on為Minecraft基岩版加入了網頁遊戲《艦隊Collection》（艦これ）中出現的「艦娘」、「深海棲艦」，以及各式飛機與坦克等載具，支援1.16以上的版本。\nKanColle Add-On下載網址\n該Add-On中，有以下艦娘 配合各式各樣的二戰武器，所組合成的大型Add-On。不過沒有成體系的玩法，滿足個人欲望的模型展示成份居多。 取得武器與艦娘配件的指令/hasaki，出自實況主國動講過的「hasaki～吹起來」\n裡面包含提督帽，可讓艦娘跟隨你。 幾乎所有的深海棲艦都會攻擊艦娘。不過為了不要讓兩個實體因為想攻擊對方而纏鬥在一起（Minecraft的AI就是這麼笨），我有設定實體之間必須走開幾步距離才開火的程式碼。\n文章中引用的圖卡之所以為英文，是因為當初只發表在MCPEDL網站之故。\n1. 僕水獺 # ボクカワウソ，C2機關官方吉祥物，最早製作的模型，因為它才讓我重新製作Minecraft模組的欲望。（2018年BlockLauncher淪落後我就退出MCBE模組界了，直到2020年這隻讓我試驗MCBE Add-On新增實體的函數成功，才重新開始接觸模組界）\n因為Minecraft方塊的限制，沒辦法把它做得像原版一樣細長身材。 設定上是各個艦娘的集合體，所以被攻擊的語音是從多名艦娘隨機抽取的。\n眼睛會隨機旋轉，呼應其呆呆的模樣。\n攻擊姿態為雙手敲打。\n2. 島風 # 驅逐艦。\n個人認為是做得最好的Minecraft Add-On人物模型，後面省時間緣故我就再也沒有做這麼精細的建模了。 主要成本體現在頭髮部份，雖然MCBE模型無法做到頭髮飄逸的動畫我還是把髮絲一根一根做出來，還有那個不規則形狀的兔耳朵。\n日後用於多個建模示範場景，例如下圖，嘗試移植到Java版的Fabric Mod，搭配光影所拍攝的樣子。 還有頻道大頭貼圖 主要武器為遠距離攻擊的九一式魚雷，攻擊動畫參考動畫第一季的姿勢。因為Add-On限制，射出去的魚雷看起來比較像飛彈。\n島風附加的配件有「連裝砲醬」，共3隻。會用韁繩牽在島風身邊（使用Minecraft羊駝的程式碼），發射威力較小的子彈。\n3. Bismarck drei # 德國戰艦\n遊戲中的Bismarck改造太多次，所以我直接做改三版本。 胸部為方塊狀，這隻的臉部表情似乎畫得太兇暴了些。\n武器為38cm連裝砲。 4. 飛龍改二 # 正規空母\n省成本的嘗試，我曾想過未來的艦娘可以像巴哈那些畫萌萌skin的作者一樣同個模子，標準化批量生產（結果沒有QQ），所以這隻模型做得非常簡單，連胸部都拍扁了，成本最高的是那把弓。 飛龍的武器為九九式艦爆（我有另外建模，玩家可以操控），從她身上召喚的飛機（使用幻術師的程式碼）會一直在敵人身上盤旋並投出TNT。\n應該給她來首BGM〈飛龍の反撃〉的！\n5. 伊168 # 潛水艦\n在中途島海戰中，伊168是唯一一艘擊沉美軍航母的日軍艦艇。BGM〈飛龍の反撃〉中的聲納音想必就是伊168吧。 這隻的詳細製作過程詳見這篇：伊168艤裝製作紀錄\n首先，根據C2官方放出的正面圖，伊168的胸部還是有點份量的，所以沒有做成平胸。\n曾經想過仿造MMD，硬是用方塊刻出正常人體比例的伊168，後來覺得太怪放棄。\n還是維持方塊人的樣子就好。 會在水中用53cm魚雷攻擊後逃逸。玩家待在她身邊會獲得水中呼吸的藥水效果。\n6. U-511 # 潛水艦\n從德國轉變成日本的潛水艦，跟呂500是同一人。 這隻的詳細製作過程詳見這篇：U-511製作記錄 (模型/艦娘)\n嘗試重現了原畫師在Twitter提到的所有細節。\n比較特別的是在做U-511艦娘的時候我也正好在組小號手的模型，所以沿用一部分零件，順便建了U-511的載具模型，讓玩家可以駕駛。 武器為魚雷（普通的九一式，沒有做試製FaT仕様九五式酸素魚雷改），其餘效果跟伊168一樣。\n7. Zara due # 重巡洋艦，但是遊戲設定可以搭載水上戰鬥機\n義大利的重巡洋艦，這隻用三角胸部強調Zara的胸部。 這隻的詳細製作過程詳見這篇：Zara艤裝製作紀錄\n當初有玩家一直要我做船艦就好，不要艦娘，雖然拒絕但這確實影響了我的思緒。\n做這隻成本有點爆炸，裝備繪製的細節太多了，不論是手持彈射器還是艦砲的部份，我不知道這個武器的是步槍還是怎樣，所以攻擊姿態隨便做。發射的武器當然是203mm/53連裝炮。 8. 對馬 # 海防艦 對馬的表情真的超可愛又超誘惑人的，所以她的臉我畫得很認真。\n這隻有繪製可穿脫的內裝，類似雙層skin的概念。當然一般遊戲內看不到，要拆skin才能看到。\nNSFW注意 武器為九五式爆雷，雖然在Minecraft裡面沒有潛艇可以打，導致丟出去看起來像手榴彈就是了。\n9. Gotland # 瑞典來的輕航空巡洋艦，使用改一時的樣貌。\n武器是Bofors 15.2cm艦砲。她身邊會跟著一隻「哥特羊」，會撞擊攻擊怪物。起源自C2機關在道具界面新增的防空小遊戲。\n10. 間宮和伊良湖 # 給糧艦\n遊戲中並沒有實體卡牌，只有在恢復士氣值的時候會出現。二隻為個別的道具，同時使用的話可以恢復整個艦隊的士氣。 兩人的胸部都很大，所以用方塊組成圓形儘量還原了出來。\n玩家可以與其交易，取得補給道具。\n11. 宗谷 # 特務艦\n日本從俄羅斯訂購的破冰船，倖存到二戰戰後的奇蹟船隻，後來還前往南極。 遊戲原作真的沒有什麼作戰能力，所以這裡我也只給她做了手槍做武器。\n12. 明石 # 工作艦\n負責修理船隻的艦種。 Minecraft遊戲內使用鐵磚＋盔甲架即可合成出明石。\n實裝了季節模式，加入Summer Mode，用提督帽點一下換裝。 餵給明石鐵磚，其他艦娘一靠近，她就會開始修理，讓他們回血。 ","date":"2021年10月2日","externalUrl":null,"permalink":"/posts/kantai-collection-minecraft-addon-kanmusu/","section":"Artworks","summary":"本篇為艦娘篇，介紹背後製作秘辛。\n深海棲艦篇請看這篇。\n裡面的艦娘製作日期約是介於：2020年3月到2021年8月之間，每隻艦娘的製作時間大約6小時。 製作艦娘時的參考資源：官方卡面、出版品、模型、MMD 3D模型等等。Add-On裡面使用了部份遊戲語音。\n這個同人Add-on為Minecraft基岩版加入了網頁遊戲《艦隊Collection》（艦これ）中出現的「艦娘」、「深海棲艦」，以及各式飛機與坦克等載具，支援1.16以上的版本。\nKanColle Add-On下載網址\n該Add-On中，有以下艦娘 配合各式各樣的二戰武器，所組合成的大型Add-On。不過沒有成體系的玩法，滿足個人欲望的模型展示成份居多。 取得武器與艦娘配件的指令/hasaki，出自實況主國動講過的「hasaki～吹起來」\n裡面包含提督帽，可讓艦娘跟隨你。 幾乎所有的深海棲艦都會攻擊艦娘。不過為了不要讓兩個實體因為想攻擊對方而纏鬥在一起（Minecraft的AI就是這麼笨），我有設定實體之間必須走開幾步距離才開火的程式碼。\n文章中引用的圖卡之所以為英文，是因為當初只發表在MCPEDL網站之故。\n1. 僕水獺 # ボクカワウソ，C2機關官方吉祥物，最早製作的模型，因為它才讓我重新製作Minecraft模組的欲望。（2018年BlockLauncher淪落後我就退出MCBE模組界了，直到2020年這隻讓我試驗MCBE Add-On新增實體的函數成功，才重新開始接觸模組界）\n","title":"【3D繪圖】可愛的艦娘們（Minecraft基岩版艦隊Collection ＋ 軍事Add-On）","type":"artwork"},{"content":"1/72フルアクション F-86ブルーインパルス\nFullAction系列很久才出來的第七彈。似乎因為武漢肺炎疫情，去年第六彈用一樣的零戰只是換個塗裝就拿出來賣。現在總算出一個新模子了。價格大約台幣400元。 這是美軍在冷戰早期開發的噴射戰鬥機：北美航空F-86軍刀機，曾經參與韓戰以及台海衝突等大大小小的戰役。二戰之後成立的日本自衛隊也獲得了一批F-86。一些機種退役後，成為飛行表演飛行隊的一員，繼續發揮她們的剩餘價值。\n因為這是FullAction系列首架噴射機模型，不是螺旋槳戰鬥機，所以能動的地方就少了一個啦～想要製造噴射發動機啟動的噴射火焰效果請自備打火機（？）\n已上色的套件組起來要更小心，因為稍微黏膠沾到塗裝就毀了。但這次還是一樣瘋狂手殘。 這次有出多款型號，都是隸屬於藍色衝擊波飛行表演隊的飛機，主要差別在於數字。 藍色衝擊波是飛行表演機隊的名字，第一代就使用航空自衛隊的F-86。\n因為F-86是前三點起落架，所以F-Toys貼心的在座艙的位置黏上了一個金屬壓艙物用於平衡，不然組起來會翹孤輪。 符合全可動的理念，機首機槍旁邊的蓋子可以拆卸。 通用動力J47-GE-27噴射引擎 裸機樣式 塗裝採用預設的水貼 全可動的部分包括襟翼、副翼、前緣翼、減速板，但是起落架又被我搞砸了只好黏死。 其實這架F-86-F-40，War Thunder也有實裝，但分房變高得跟第二代噴射機混戰。 藍色衝擊波飛行表演隊(ブルーインパルス，Blue Impulse)是成立於1960年的專門飛行表演隊，早期使用F-86，1994年換裝為T-4教練機。今年2021年東京奧運也有出場表演。\n","date":"2021年10月1日","externalUrl":null,"permalink":"/posts/f-toys-1-72-scale-full-action-vol-7-north-american-f86-blue-impulse/","section":"Artworks","summary":"1/72フルアクション F-86ブルーインパルス\nFullAction系列很久才出來的第七彈。似乎因為武漢肺炎疫情，去年第六彈用一樣的零戰只是換個塗裝就拿出來賣。現在總算出一個新模子了。價格大約台幣400元。 這是美軍在冷戰早期開發的噴射戰鬥機：北美航空F-86軍刀機，曾經參與韓戰以及台海衝突等大大小小的戰役。二戰之後成立的日本自衛隊也獲得了一批F-86。一些機種退役後，成為飛行表演飛行隊的一員，繼續發揮她們的剩餘價值。\n因為這是FullAction系列首架噴射機模型，不是螺旋槳戰鬥機，所以能動的地方就少了一個啦～想要製造噴射發動機啟動的噴射火焰效果請自備打火機（？）\n已上色的套件組起來要更小心，因為稍微黏膠沾到塗裝就毀了。但這次還是一樣瘋狂手殘。 這次有出多款型號，都是隸屬於藍色衝擊波飛行表演隊的飛機，主要差別在於數字。 藍色衝擊波是飛行表演機隊的名字，第一代就使用航空自衛隊的F-86。\n因為F-86是前三點起落架，所以F-Toys貼心的在座艙的位置黏上了一個金屬壓艙物用於平衡，不然組起來會翹孤輪。 符合全可動的理念，機首機槍旁邊的蓋子可以拆卸。 通用動力J47-GE-27噴射引擎 ","title":"F-86 軍刀機 可動模型 日本航空自衛隊 「藍色衝擊波飛行表演隊」｜ F-Toys 1/72 FullAction Vol.7","type":"artwork"},{"content":"","date":"2021年10月1日","externalUrl":null,"permalink":"/tags/japan-air-self-defense-force/","section":"標籤","summary":"","title":"Japan Air Self-Defense Force","type":"tags"},{"content":"「親愛的冒險家，您所在的地區暫時無法登錄，如有疑問請聯繫客服。」 網易代理的中國版Minecraft禁止海外IP登入，而且強迫實名制，因此臺灣玩家玩網易Minecraft得準備VPN和一組網易帳號。\n此外，遊戲內購買物品只支援用支付寶/微信付款。\n具體流程 # 註冊網易帳號 → 完成實名制 → 開啟VPN → 開啟Minecraft登入網易帳號 → 關閉VPN。\n每次登入都要開VPN，這點無可避免。而實名制可以解除防沉迷系統一天只能玩一小時的限制。\n中國VPN # 網易只會在首頁登入遊戲時檢查IP，因此登入後就可以關掉VPN了，不然網路會很慢。\nVPN可以用快帆或穿梭。\n解決完IP問題後，還是要有網易帳號。\n註冊網易帳號\u0026amp;實名制 # 到網易官網註冊帳號，請參考金之豬的文章：如何進行網易帳號註冊 | NetEase\n註冊完之後，成年人實名制參考： 網易海外用戶實名制\n","date":"2021年9月30日","externalUrl":null,"permalink":"/posts/fix-minecraft-china-your-location-is-not-supported/","section":"Minecrafts","summary":"「親愛的冒險家，您所在的地區暫時無法登錄，如有疑問請聯繫客服。」 網易代理的中國版Minecraft禁止海外IP登入，而且強迫實名制，因此臺灣玩家玩網易Minecraft得準備VPN和一組網易帳號。\n此外，遊戲內購買物品只支援用支付寶/微信付款。\n具體流程 # 註冊網易帳號 → 完成實名制 → 開啟VPN → 開啟Minecraft登入網易帳號 → 關閉VPN。\n每次登入都要開VPN，這點無可避免。而實名制可以解除防沉迷系統一天只能玩一小時的限制。\n中國VPN # 網易只會在首頁登入遊戲時檢查IP，因此登入後就可以關掉VPN了，不然網路會很慢。\nVPN可以用快帆或穿梭。\n解決完IP問題後，還是要有網易帳號。\n註冊網易帳號\u0026實名制 # 到網易官網註冊帳號，請參考金之豬的文章：如何進行網易帳號註冊 | NetEase\n註冊完之後，成年人實名制參考： 網易海外用戶實名制\n","title":"解決網易版Minecraft「您所在的地區暫時無法登錄」+ 實名制","type":"minecraft"},{"content":"這個Minecraft基岩版第三方啟動器\u0026quot;Bedrock Launcher\u0026quot;，可讓玩家切換不同版本。 這是專門設計給Windows 10基岩版玩家的，它可以讓你開啟多個Minecraft版本。從穩定版到最新測試版都能下載，跟Java版啟動器很像。你還可以設定安裝檔，不同版本資料分開放。\n此軟體使用Mr.Arm製作的MCLauncher技術，用於下載各版本Minecraft。\n雖然基岩版目前不需要為玩模組降版本，但Win10版降回1.16就能使用非Render Dragon引擎的光影包，而不會像現在1.17只剩RTX能用。如果想體驗最新測試版的功能，不需要重新安裝，靠啟動器就可以直接開啟。\n1. 安裝 # 到Github頁面，點選\u0026quot;Download Installer\u0026quot;\n這個啟動器需要購買過正版Win10版Minecraft的微軟帳號，才能通過驗證下載遊戲檔案。\n在安裝程式前，你的電腦應該會裝有從微軟商店下載的Minecraft。等到啟動器安裝好，啟動過一次Minecraft之後，就可以從控制台→應用程式將微軟商店下載的Minecraft解除安裝，記得備份資料。\n安裝程式後，開啟會要求建立一個Profile。\n登入微軟帳號。\n2. 選擇遊戲版本 # 按Play旁邊的選項，點選Lastest Release會開啟最新的正式版；Lastest Beta就是開啟最新測試版。 切換到Installations頁面，點選New Installation可以建立新的安裝檔，並指定遊戲版本。之後Play旁的選項就會出現新增的安裝檔。 如果該安裝檔有安裝皮膚包，則可以在Skins頁面檢視目前的皮膚包。 因為Bedrock Launcher可以建立安裝檔，在你有登入正版微軟帳號的前提下，你可以自行透過第三方管道取得Minecraft，仿造其他安裝檔的安裝格式啟動特殊開發版Minecraft主程式。\n3. 檔案的儲存位置 # 點選Settings，Versions，這些安裝版本旁邊都會有一個資料夾圖示，點選後會直接開啟遊戲資料夾。 每個版本的世界、Add-On的資料都是分開存放的，可按資料夾圖示開啟資料位置。 不過，除了玩家自己創建的安裝檔以外，「Latest Release」和「Latest Beta」會確認玩家開啟的Minecraft都是最新版本，因此這二個安裝檔的資料在更新程式後會保留。\n啟動器會在每次啟動Minecraft後把原本「com.mojang」這個資料夾重新導向到「現在開啟的Minecraft目錄下的com.mojang」。因此如果你有使用bridge.，在編譯時寫入\u0026quot;com.mojang\u0026quot;資料夾時，不需要因為版本切換而更動，只要記住上一次啟動的是哪個版本的Minecraft。\n","date":"2021年9月26日","externalUrl":null,"permalink":"/posts/unofficial-bedrock-launcher/","section":"Minecrafts","summary":"這個Minecraft基岩版第三方啟動器\"Bedrock Launcher\"，可讓玩家切換不同版本。 這是專門設計給Windows 10基岩版玩家的，它可以讓你開啟多個Minecraft版本。從穩定版到最新測試版都能下載，跟Java版啟動器很像。你還可以設定安裝檔，不同版本資料分開放。\n此軟體使用Mr.Arm製作的MCLauncher技術，用於下載各版本Minecraft。\n雖然基岩版目前不需要為玩模組降版本，但Win10版降回1.16就能使用非Render Dragon引擎的光影包，而不會像現在1.17只剩RTX能用。如果想體驗最新測試版的功能，不需要重新安裝，靠啟動器就可以直接開啟。\n1. 安裝 # 到Github頁面，點選\"Download Installer\"\n這個啟動器需要購買過正版Win10版Minecraft的微軟帳號，才能通過驗證下載遊戲檔案。\n在安裝程式前，你的電腦應該會裝有從微軟商店下載的Minecraft。等到啟動器安裝好，啟動過一次Minecraft之後，就可以從控制台→應用程式將微軟商店下載的Minecraft解除安裝，記得備份資料。\n安裝程式後，開啟會要求建立一個Profile。\n登入微軟帳號。\n2. 選擇遊戲版本 # 按Play旁邊的選項，點選Lastest Release會開啟最新的正式版；Lastest Beta就是開啟最新測試版。 ","title":"Bedrock Launcher基岩版非官方啟動器，輕鬆切換不同版本","type":"minecraft"},{"content":"模組跟外掛往往只有一線之隔，Minecraft Java版有很多開掛程式，常常會有人濫用去伺服器搗亂。\n而基岩版當然也有，通常Windows 10版和Android版比較容易執行外掛，因為作業系統自由度高可以執行破解程式，所以iOS和遊戲主機版就別想用外掛了。\n這篇文章介紹幾個常見的基岩版外掛\n(提醒: 開掛高機率被大型伺服器封鎖帳號，而且這種行為非常不道德)\nAndroid版的外掛 # Toolbox for Minecraft PE # 著名的手機版輔助軟體，不應該將其視為純外掛。\n詳細介紹 Android版除此之外就沒有其他外掛了! 基岩版目前官方支援的Add-On能做到的功能有限，通常也無法在大型伺服器使用。\nWindows版的外掛 # Minecraft Windows版可以說外掛程式一大堆。但是講外掛太難聽了，有些軟體會稱自己是客戶端(client)。這些外掛利用的技術都很類似: DLL注入 (DLL Injection)。DLL注入器就是在Minecraft執行時注入外掛程式碼，所以這種行為很容易被防毒軟體當作病毒(有些外掛程式裡面真的會含有病毒)，而且Minecraft一更新舊版的就會失效。\n操作方法都很類似:\n開啟注入器(Injector)程式\n執行Minecraft\n3. 玩家進入世界/伺服器\n4. 開啟注入器→ 按下注入(Inject)\nMinecraft就會顯示外掛面板，如果閃退就代表這個版本不支援。 範例： 外掛程式\u0026quot;Horion\u0026ldquo;注入成功後，會在遊戲畫面上顯示外掛按鈕（以上下左右鍵+Insert切換選單），可以開啟飛行、快速破壞方塊等功能。\n以下是已知的外掛/注入器列表，截至Minecraft 1.17.30。\n恕無法提供載點，請以這些名稱當關鍵字自行google英文資源。\nStrike Client Zephyr Client Horion K0NI Client Arabian Client Eternium Anarchy Client Nitr0 Client CND Quadrix Ascendancy JarJar （資料來源：Reddit，2021/09/25）\n","date":"2021年9月25日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-hacking-tools/","section":"Minecrafts","summary":"模組跟外掛往往只有一線之隔，Minecraft Java版有很多開掛程式，常常會有人濫用去伺服器搗亂。\n而基岩版當然也有，通常Windows 10版和Android版比較容易執行外掛，因為作業系統自由度高可以執行破解程式，所以iOS和遊戲主機版就別想用外掛了。\n這篇文章介紹幾個常見的基岩版外掛\n(提醒: 開掛高機率被大型伺服器封鎖帳號，而且這種行為非常不道德)\nAndroid版的外掛 # Toolbox for Minecraft PE # 著名的手機版輔助軟體，不應該將其視為純外掛。\n詳細介紹 Android版除此之外就沒有其他外掛了! 基岩版目前官方支援的Add-On能做到的功能有限，通常也無法在大型伺服器使用。\nWindows版的外掛 # Minecraft Windows版可以說外掛程式一大堆。但是講外掛太難聽了，有些軟體會稱自己是客戶端(client)。這些外掛利用的技術都很類似: DLL注入 (DLL Injection)。DLL注入器就是在Minecraft執行時注入外掛程式碼，所以這種行為很容易被防毒軟體當作病毒(有些外掛程式裡面真的會含有病毒)，而且Minecraft一更新舊版的就會失效。\n","title":"Minecraft基岩版的外掛程式介紹","type":"minecraft"},{"content":"Fabric是Java版Minecraft的模組載入器，近年來發展快速、相容性佳的特性，使其成為Forge的強勁對手，很多人開始用這個製作模組。 開發模組，你需要具備以下知識:\n熟悉Java語法 電腦能正常執行Minecraft 1.17.1 會安裝fabric模組 有用英語google錯誤訊息的能力 第一篇教學是設定開發環境，和製作一個只有圖示的空白模組，放到遊戲中測試。\n一、開發環境設定 # 1.安裝AdoptOpenJDK 16。 1.17開發模組必備，如果有裝其他版本的Java，請自行調整環境變數\u0026quot;JAVA_HOME\u0026quot;，確保目前作業系統都是使用Java 16。(參考:java 環境變數)\n這裡使用AdoptOpenJDK而非Oracle公司發行的JDK，功能一樣，只是授權條款不同。 2.選擇一款IDE\nIDE是開發程式碼的環境，好的IDE會在你打錯字告訴你，並提供很多方便的功能。在此我們選擇JetBrains發行的IntelliJ IDEA。\n到官網的下載頁面，下載安裝右邊黑色的Community免費版。 二、設定專案 # 1.從Github將官方的\u0026quot;fabric mod\u0026quot;範本複製到電腦 (按Code→Download ZIP)，解壓縮，將\u0026quot;fabric-example-mod-1.17\u0026quot;放到桌面。 2.開啟IDEA，點選右上角的\u0026quot;Open Project\u0026quot;，選擇fabric範本的資料夾。 3.開啟之後，下面的Gradle會開始工作，等待訊息出現\u0026quot;BUILD SUCCESS\u0026quot;，就表示完成了。 Gradle是一個自動化工具，能夠自動處理一些開發上的繁瑣操作。 4.從左邊的面板開啟\u0026quot;gradle.properties\u0026quot;，設定模組名稱與JDK路徑。注意目前Minecraft版本的部分是1.17.1，其他版本請到fabric網站查詢。 原本長這樣:\n# Done to increase the memory available to gradle. org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/versions.html minecraft_version=1.17.1 yarn_mappings=1.17.1+build.39 loader_version=0.11.6 # Mod Properties mod_version = 1.0.0 maven_group = com.example archives_base_name = fabric-example-mod # Dependencies fabric_version=0.39.2+1.17 修改之後 (\u0026quot;#\u0026ldquo;開頭的是註解，自行刪除):\n# Done to increase the memory available to gradle. org.gradle.jvmargs=-Xmx1G # 指定JDK路徑 org.gradle.java.home=C:/Program Files/Eclipse Foundation/jdk-16.0.2.7-hotspot # Fabric Properties # check these on https://fabricmc.net/versions.html minecraft_version=1.17.1 yarn_mappings=1.17.1+build.39 loader_version=0.11.6 # Mod Properties # 模組版本號取名:遊戲版本+模組版本 mod_version = 1.17.1-0.0.1 # 以網站名稱命名，如果沒有就電子郵件倒著寫。例如\u0026#34;com.gmail.ivon\u0026#34; maven_group = net.mcbedev # 模組ID。 archives_base_name = mymod # Dependencies fabric_version=0.39.2+1.17 5.調整完之後，按File -\u0026gt; Close Project，關閉這個專案，接著重新開啟專案。\n6.展開src/main/java資料夾，會發現範本已經提供了一個範例\u0026quot;net.fabricmc.example\u0026rdquo;。這就是Java中所謂的\u0026quot;package\u0026quot;，你可以保留參考用，因為我們要用的專案應該跟上面gradle.properties檔案裡寫的一致。\n7.對\u0026quot;java\u0026quot;資料夾按右鍵，New -\u0026gt; Package，輸入package的名稱，例如\u0026quot;net.mcbedev.mymod\u0026quot; 8.展開\u0026quot;resources\u0026quot;資料夾，開啟\u0026quot;fabric.mod.json\u0026quot;，這個檔案是我們模組檔案的資料。 修改內容如下 (//是註解，一定要刪除):\n{ \u0026#34;schemaVersion\u0026#34;: 1, //模組ID，必須獨一無二 \u0026#34;id\u0026#34;: \u0026#34;mymod\u0026#34;, \u0026#34;version\u0026#34;: \u0026#34;${version}\u0026#34;, //模組名稱 \u0026#34;name\u0026#34;: \u0026#34;My Mod\u0026#34;, //模組簡介 \u0026#34;description\u0026#34;: \u0026#34;My Fabric Mod.\u0026#34;, //作者 \u0026#34;authors\u0026#34;: [ \u0026#34;Ivon852\u0026#34; ], //聯絡資訊 \u0026#34;contact\u0026#34;: { \u0026#34;homepage\u0026#34;: \u0026#34;https://twitter.com/ivon852\u0026#34;, \u0026#34;sources\u0026#34;: \u0026#34;https://github.com/FabricMC/fabric-example-mod\u0026#34; }, //授權條款 \u0026#34;license\u0026#34;: \u0026#34;MIT\u0026#34;, //模組圖示路徑 \u0026#34;icon\u0026#34;: \u0026#34;assets/mymod/icon.png\u0026#34;, \u0026#34;environment\u0026#34;: \u0026#34;*\u0026#34;, //主程式路徑 \u0026#34;entrypoints\u0026#34;: { \u0026#34;main\u0026#34;: [ \u0026#34;net.mcbedev.mymod.Main\u0026#34; ] }, //Mixin路徑 \u0026#34;mixins\u0026#34;: [ \u0026#34;mymod.mixins.json\u0026#34; ], \u0026#34;depends\u0026#34;: { \u0026#34;fabricloader\u0026#34;: \u0026#34;\u0026gt;=0.11.3\u0026#34;, \u0026#34;fabric\u0026#34;: \u0026#34;*\u0026#34;, \u0026#34;minecraft\u0026#34;: \u0026#34;1.17.x\u0026#34;, \u0026#34;java\u0026#34;: \u0026#34;\u0026gt;=16\u0026#34; }, \u0026#34;suggests\u0026#34;: { \u0026#34;another-mod\u0026#34;: \u0026#34;*\u0026#34; } } 9.對\u0026quot;mixin.modid.json\u0026quot;按下右鍵，Refactor -\u0026gt; Rename，改名成\u0026quot;模組ID+mixins.json\u0026quot;，在跳出的視窗按下Refactor。\n10.開啟該檔案，輸入以下內容:\n{ \u0026#34;required\u0026#34;: true, \u0026#34;minVersion\u0026#34;: \u0026#34;0.8\u0026#34;, \u0026#34;package\u0026#34;: \u0026#34;net.mcbedev.mymod.mixin\u0026#34;, \u0026#34;compatibilityLevel\u0026#34;: \u0026#34;JAVA_16\u0026#34;, \u0026#34;mixins\u0026#34;: [ ], \u0026#34;client\u0026#34;: [ \u0026#34;MymodMixin\u0026#34; ], \u0026#34;injectors\u0026#34;: { \u0026#34;defaultRequire\u0026#34;: 1 } } 11.對\u0026quot;net.mcebedev.mymod\u0026quot;右鍵 -\u0026gt; New -\u0026gt; New Java Class，取名為\u0026quot;Main\u0026quot;，這就是主程式的類別。\n12.在Main裡面輸入以下內容。整個模組的程式會從這裡開始，也就是onInitialize()方法來初始化模組的東西。System.out.println則是會在模組啟動時，於終端機顯示該行文字。\npackage net.mcbedev.mymod; import net.fabricmc.api.ModInitializer; public class Main implements ModInitializer { @Override public void onInitialize() { System.out.println(\u0026#34;Hello Fabric world!\u0026#34;); } } 13.展開\u0026quot;net.fabricmc.example\u0026quot;，拖曳\u0026quot;mixins\u0026quot;資料夾到\u0026quot;net.mcebedev.mymod\u0026quot;。會跳出視窗，按下Refactor。\n14.這樣這個資料夾就會跑到我們的package下面。展開\u0026quot;mixins\u0026quot;，對\u0026quot;ExampleMixin\u0026quot;按下右鍵，同樣Refactorr -\u0026gt; Rename，重新命名成\u0026quot;MyModMixin\u0026quot;。\n15.接著來新增模組的圖示。模組的圖示要放在/resources/assests/mymod/裡面。因此將\u0026quot;assests\u0026quot;展開，對\u0026quot;assests.modid\u0026quot;按右鍵Refactor，改名成\u0026quot;mymod\u0026quot;。\n16.可以看到裡面已經有一個\u0026quot;icon.png\u0026quot;的範例圖片了，這就是模組圖示。按右鍵 -\u0026gt; Open in -\u0026gt; Explorer，接著檔案總管就會開啟，跳出這個檔案的所在位置。你可以把這個圖片改成自己喜歡的，名字仍然叫做\u0026quot;icon.png\u0026quot;。\n17.到這邊為止，我們已經完成了一個空白模組！什麼都沒有，但至少fabric可以讀取到這個模組。\n三、測試模組 # 要測試模組有以下二種方法:\n以Minecraft實例測試模組 # 直接在IDEA中啟動Minecraft，fabric會自動載入目前開發中的模組。 這裡的Minecraft是獨立的，資料放在專案資料夾/run裡面，因此不用擔心會影響到Minecraft啟動器的資料。 1.點選右上角的綠色播放按鈕，啟動Minecraft Client。 2.終端機會開啟，開始啟動Minecraft。 如果你眼睛夠利的話，會看到這條訊息，就是剛剛在Main.java裡面寫的訊息成功顯示出來了。 3.成功開啟Minecraft後，毫無反應，因為fabric預設沒有介面顯示你裝了那些模組。 但為方便以後測試模組，你可以先創造一個世界。 退出遊戲後，終端機會顯示程式結束。接著來看如何將模組放到真正的Minecraft中測試。 實際放到Minecraft中測試 # 將你的模組打包成.jar檔，變成一般fabric模組，透過Minecraft啟動器來正式載入你的模組。\n1.展開右邊的Gradle。展開\u0026quot;Task\u0026quot;-\u0026gt; \u0026ldquo;build\u0026rdquo;，對build按二下，就會開始打包。 2.打包好的檔案會放在/build/libs/，後面沒有dev或sources的就是一個可以使用的模組檔案，也就是\u0026quot;mymod-1.17.1-0.0.1.jar\u0026quot; 3.就像正常安裝fabric模組一樣，用檔案管理器將這個檔案移動到.minecraft/mods/資料夾。 在啟動Minecraft之前，請確定已經有安裝Fabric API和Mod Menu這二個模組，前者為必須，因為這個範本需要依賴Fabric API才能運作。\n4.啟動之後，就會看到我們的模組顯示在模組列表中了。 參考資料/延伸閱讀 # Fabric WIKI\n","date":"2021年9月20日","externalUrl":null,"permalink":"/posts/minecraft-fabric-mod-setup-a-development-environment/","section":"Minecrafts","summary":"Fabric是Java版Minecraft的模組載入器，近年來發展快速、相容性佳的特性，使其成為Forge的強勁對手，很多人開始用這個製作模組。 開發模組，你需要具備以下知識:\n熟悉Java語法 電腦能正常執行Minecraft 1.17.1 會安裝fabric模組 有用英語google錯誤訊息的能力 第一篇教學是設定開發環境，和製作一個只有圖示的空白模組，放到遊戲中測試。\n一、開發環境設定 # 1.安裝AdoptOpenJDK 16。 1.17開發模組必備，如果有裝其他版本的Java，請自行調整環境變數\"JAVA_HOME\"，確保目前作業系統都是使用Java 16。(參考:java 環境變數)\n這裡使用AdoptOpenJDK而非Oracle公司發行的JDK，功能一樣，只是授權條款不同。 2.選擇一款IDE\nIDE是開發程式碼的環境，好的IDE會在你打錯字告訴你，並提供很多方便的功能。在此我們選擇JetBrains發行的IntelliJ IDEA。\n到官網的下載頁面，下載安裝右邊黑色的Community免費版。 二、設定專案 # 1.從Github將官方的\"fabric mod\"範本複製到電腦 (按Code→Download ZIP)，解壓縮，將\"fabric-example-mod-1.17\"放到桌面。 ","title":"Minecraft Fabric模組開發教學 #1 開發環境設定","type":"minecraft"},{"content":"相關文章：Minecraft Fabric模組開發教學 #1 開發環境設定\n微軟的Visual Studio Code也能拿來開發Java專案? 當然可以!\n如果你不介意什麼東西都要自己動手按的話，就來參考以下設定來開發fabric模組吧。 1. 基本安裝 # 下載VSCode，開啟後按下左邊的「延伸模組」，搜尋Chinese安裝繁體中文語言包。\n接著安裝以下三個Java延伸模組，之後重啟VSCode。\nLanguage Support for Java(TM) by Red Hat Debugger for Java Java Extension Pack 從Github將官方的\u0026ldquo;fabric mod\u0026rdquo;範本複製到電腦 (按Code→Download ZIP)，解壓縮，將\u0026quot;fabric-example-mod-1.17\u0026quot;放到桌面。 在VSCode中開啟\u0026quot;fabric-example-mod-1.17\u0026quot;資料夾(檔案→開啟資料夾)，這樣就會匯入專案。資料夾結構會呈現在左邊的面板。每次開啟，左下角的Gradle就會開始工作，自動設定好開發環境，Gradle可以幫我們自動處理一些問題，用於除錯、打包模組檔案。 開啟\u0026quot;gradle.properties\u0026quot;，設定模組名稱與JDK路徑。\n原本長這樣:\n# Done to increase the memory available to gradle. org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/versions.html minecraft_version=1.17.1 yarn_mappings=1.17.1+build.39 loader_version=0.11.6 # Mod Properties mod_version = 1.0.0 maven_group = com.example archives_base_name = fabric-example-mod # Dependencies fabric_version=0.39.2+1.17 修改之後 (\u0026quot;#\u0026ldquo;開頭的是註解，可自行刪除):\n# Done to increase the memory available to gradle. org.gradle.jvmargs=-Xmx1G # 指定JDK路徑 org.gradle.java.home=C:/Program Files/Eclipse Foundation/jdk-16.0.2.7-hotspot # Fabric Properties # check these on https://fabricmc.net/versions.html minecraft_version=1.17.1 yarn_mappings=1.17.1+build.39 loader_version=0.11.6 # Mod Properties # 模組版本號取名:遊戲版本+模組版本 mod_version = 1.17.1-0.0.1 # 取一個網站名稱，如果沒有就電子郵件就倒著寫例如com.gmail.ivon maven_group = net.mcbedev # 模組ID。 archives_base_name = mymod # Dependencies fabric_version=0.39.2+1.17 修改後都會彈出這個視窗，按下Always。\n按終端機→新增終端機，輸入: ./gradlew genSource 接著輸入:\n./gradlew vscode 等它全部跑完。\n完成了，以這個範本為基礎，開始製作fabric模組吧! VSCode如果卡在\u0026quot;Importing Java Project\u0026rdquo;，請重開。\n2. 啟動Minecraft實例測試模組 # 在VSCode中，介面左方「執行與偵錯」的綠色播放按鈕按一下可直接執行Minecraft實例，不須打包就能測試模組。\n按下去右下角會有提示，如果程式有錯誤就會編譯失敗，接著會嘗試開啟Minecraft。 這邊啟動的Minecraft是fabric除錯用的，所有資料放在專案資料夾的/run裡面，不是從Minecraft啟動器執行。\n如果無法啟動Minecraft實例(遊戲崩潰)，就只能打包成jar，實際放到遊戲測試了；或者看終端機顯示的錯誤訊息，上網google。\n另一個解決方法：\n把自己的專案push到Github，再clone下來，按照第1部分的步驟重建開發環境。\n","date":"2021年9月19日","externalUrl":null,"permalink":"/posts/minecraft-fabric-mod-visual-studio-code/","section":"Minecrafts","summary":"相關文章：Minecraft Fabric模組開發教學 #1 開發環境設定\n微軟的Visual Studio Code也能拿來開發Java專案? 當然可以!\n如果你不介意什麼東西都要自己動手按的話，就來參考以下設定來開發fabric模組吧。 1. 基本安裝 # 下載VSCode，開啟後按下左邊的「延伸模組」，搜尋Chinese安裝繁體中文語言包。\n接著安裝以下三個Java延伸模組，之後重啟VSCode。\nLanguage Support for Java(TM) by Red Hat Debugger for Java Java Extension Pack 從Github將官方的“fabric mod”範本複製到電腦 (按Code→Download ZIP)，解壓縮，將\"fabric-example-mod-1.17\"放到桌面。 在VSCode中開啟\"fabric-example-mod-1.17\"資料夾(檔案→開啟資料夾)，這樣就會匯入專案。資料夾結構會呈現在左邊的面板。每次開啟，左下角的Gradle就會開始工作，自動設定好開發環境，Gradle可以幫我們自動處理一些問題，用於除錯、打包模組檔案。 開啟\"gradle.properties\"，設定模組名稱與JDK路徑。\n原本長這樣:\n# Done to increase the memory available to gradle. org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/versions.html minecraft_version=1.17.1 yarn_mappings=1.17.1+build.39 loader_version=0.11.6 # Mod Properties mod_version = 1.0.0 maven_group = com.example archives_base_name = fabric-example-mod # Dependencies fabric_version=0.39.2+1.17 修改之後 (\"#“開頭的是註解，可自行刪除):\n","title":"Minecraft Fabric模組開發教學 #1 開發環境設定 Visual Studio Code","type":"minecraft"},{"content":"開發模組時，如果能直接取用Minecraft內建的函數來生成實體或製作物品的話就再好不過了，省得重新發明輪子。此外，研究Minecraft原始碼可以讓你對遊戲機制有更深層的了解，像是知道為何實體是分成被動與攻擊型生物。\n可是Minecraft是閉源的，就算自行反編譯jar檔也只會看到一堆混淆過的程式碼。因此有了社群反編譯的版本，包括Minecraft Coder Pack和Yarn ，透過這些工具就能看到真正的Minecraft原始碼，當然社群反編譯的也不是100%正確，但要看原版的實現方法已經夠了。\n這篇文章使用IDEA + loom來建立專案，並查看Minecraft原始碼。\n影片版教學： 從Github下載fabirc範本模組，解壓縮。(這個檔案是官方準備的範本，你可以用這個為基礎開發fabric模組。)\n開啟IDEA，Open -\u0026gt; 將該資料夾當作專案開啟。 點開左邊的 \u0026ldquo;External libraries\u0026rdquo;，裡面會有一個\u0026quot;minecraft-1.17.1-mapped-net.fabricmc.yarn-1.17.1+build.39-v2\u0026quot;的資料夾，這個就是loom反編譯好的Minecraft程式。 Minecraft遊戲主程式位於net/minecraft/，裡面可以清楚看到程式碼，例如這是苦力怕的: IDEA也有一個很好用的功能，選中該類別，按下CTRL + H，就能查看繼承關係圖。原來所有的怪物都是繼承自HostileEntity呢! ","date":"2021年9月16日","externalUrl":null,"permalink":"/posts/fabric-loom-decompile-minecraft/","section":"Minecrafts","summary":"開發模組時，如果能直接取用Minecraft內建的函數來生成實體或製作物品的話就再好不過了，省得重新發明輪子。此外，研究Minecraft原始碼可以讓你對遊戲機制有更深層的了解，像是知道為何實體是分成被動與攻擊型生物。\n可是Minecraft是閉源的，就算自行反編譯jar檔也只會看到一堆混淆過的程式碼。因此有了社群反編譯的版本，包括Minecraft Coder Pack和Yarn ，透過這些工具就能看到真正的Minecraft原始碼，當然社群反編譯的也不是100%正確，但要看原版的實現方法已經夠了。\n這篇文章使用IDEA + loom來建立專案，並查看Minecraft原始碼。\n影片版教學： 從Github下載fabirc範本模組，解壓縮。(這個檔案是官方準備的範本，你可以用這個為基礎開發fabric模組。)\n開啟IDEA，Open -\u003e 將該資料夾當作專案開啟。 點開左邊的 “External libraries”，裡面會有一個\"minecraft-1.17.1-mapped-net.fabricmc.yarn-1.17.1+build.39-v2\"的資料夾，這個就是loom反編譯好的Minecraft程式。 Minecraft遊戲主程式位於net/minecraft/，裡面可以清楚看到程式碼，例如這是苦力怕的: ","title":"如何反編譯Minecraft和查看原始碼 (fabric + loom)","type":"minecraft"},{"content":"實體的模型要如何一個格式多平台通用？透過Geckolib這個模組可以有效舒緩這個問題。\n簡單來說，只要是用Blockbench製作的模型，透過Geckolib就可以同時用在Java版模組和基岩版的Add-On，還能夠製作實體動畫。\n（左為Java版畫面，右邊為基岩版畫面）\n這篇文章以Fabric為基礎，教學如何在Minecraft Java版1.17.1加入實體，並用Geckolib來套用模型。\n1. 注意事項 # 開發模組使用Geckolib的話，別人玩你的模組前就必須安裝Geckolib這個前置模組。\nGeckolib有分forge版跟fabric版，下載時請抓有寫\u0026quot;fabric\u0026quot;的版本。 2. 準備模型檔案 # 要製作跨平台模型，應以基岩版格式為基礎，因為能無痛轉換成Geckolib格式。\n首先轉換現有的模型。Blockbench安裝\u0026quot;Geckolib Animation Utils\u0026quot;插件。\n按Files -\u0026gt; Convert Project，選擇\u0026quot;Geckolib Animated Model\u0026quot;\n按Files -\u0026gt; Export -\u0026gt; Export Geckolib Model 會得到一個json檔案，裡面只有記載模型資訊。材質的png檔案要另外匯出。\n如果有動畫檔案，在Animation面板按下 Animation -\u0026gt; Export Animations，同樣會得到一個json檔案。\nfabric模組的材質大部分都在src/main/resources/assests/模組ID/。 在這個例子中，我將模型檔案放在geo資料夾裡，叫做shimakaze.json。\n材質放在/entity/kanmusu/，叫做shimakaze.png\n動畫放在/animations，叫做shimakaze.animation.json\n3. 在fabric專案加入Geckolib依賴項目 # 開啟專案的build.gradle，加入Geckolib： repositories { maven { url \u0026#39;https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/\u0026#39; } } dependencies { modImplementation \u0026#39;software.bernie.geckolib:geckolib-fabric-1.17:3.0.13:dev\u0026#39; } 開啟fabric.mod.json，註明要使用Geckolib。（fabric.mod.json也可以不聲明依賴Geckolib，但若出錯遊戲就會直接崩潰，而不是由Fabric提示玩家缺少Geckolib模組。） \u0026#34;depends\u0026#34;: { \u0026#34;fabricloader\u0026#34;: \u0026#34;\u0026gt;=0.11.6\u0026#34;, \u0026#34;fabric\u0026#34;: \u0026#34;*\u0026#34;, \u0026#34;minecraft\u0026#34;: \u0026#34;1.17.x\u0026#34;, \u0026#34;java\u0026#34;: \u0026#34;\u0026gt;=16\u0026#34;, \u0026#34;geckolib3\u0026#34;: \u0026#34;*\u0026#34; } 4. fabric實體的主程式寫法 # fabric中建立實體需要以下檔案:\n註冊實體的class 註冊渲染器的class (需在fabric.mod.json註明client entry) 渲染器的class 模型的lass 我的目錄結構長這樣： 模組會從Main.java開始，接著會呼叫ModEntities的registerEntities()方法，用這個class來註冊實體(-\u0026gt;ShimakazeEntity.java)。\n同時，EntityClinet.java會在初始化時註冊渲染器(-\u0026gt;ShimakazeRenderer.java)。\nShimakazeEntity.java包含註冊實體的方法，以及定義實體的行為程式，但這裡僅加入一個靜止實體。\nShimakazeModel.java為最關鍵的一步，使用Geckolib來創造模型、材質、動畫。\nModEntities.java程式碼：\npackage net.mcbedev.kancolle.client; import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry; import net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder; import net.mcbedev.kancolle.Main; import net.mcbedev.kancolle.client.entity.ShimakazeEntity; import net.minecraft.entity.EntityDimensions; import net.minecraft.entity.EntityType; import net.minecraft.entity.SpawnGroup; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; public class ModEntities { // 註冊實體 public static final EntityType\u0026lt;ShimakazeEntity\u0026gt; SHIMAKAZE = Registry.register(Registry.ENTITY_TYPE, new Identifier(Main.MOD_ID, \u0026#34;shimakaze\u0026#34;), FabricEntityTypeBuilder .create(SpawnGroup.CREATURE, ShimakazeEntity::new).dimensions(EntityDimensions.fixed(0.5f, 2f)).build()); public static void registerEntities() { // 註冊實體屬性 FabricDefaultAttributeRegistry.register(SHIMAKAZE, ShimakazeEntity.createMobAttributes()); System.out.println(\u0026#34;Registering mod mobs for\u0026#34; + Main.MOD_ID); } } EntityClient.java程式碼：\npackage net.mcbedev.kancolle.client; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.impl.client.rendering.EntityRendererRegistryImpl; import net.mcbedev.kancolle.client.renderer.ShimakazeRenderer; @Environment(EnvType.CLIENT) public class EntityClient implements ClientModInitializer { @Override public void onInitializeClient() { //註冊渲染器 EntityRendererRegistryImpl.register(ModEntities.SHIMAKAZE, ShimakazeRenderer::new); } } ShimakazeEntity.java程式碼：\npackage net.mcbedev.kancolle.client.entity; import net.minecraft.entity.EntityType; import net.minecraft.entity.mob.PathAwareEntity; import net.minecraft.world.World; import software.bernie.geckolib3.core.IAnimatable; import software.bernie.geckolib3.core.manager.AnimationData; import software.bernie.geckolib3.core.manager.AnimationFactory; public class ShimakazeEntity extends PathAwareEntity implements IAnimatable { private AnimationFactory factory = new AnimationFactory(this); public ShimakazeEntity(EntityType\u0026lt;? extends PathAwareEntity\u0026gt; type, World worldIn) { super(type, worldIn); this.ignoreCameraFrustum = true; } @Override public AnimationFactory getFactory() { return this.factory; } @Override public void registerControllers(AnimationData arg0) { } } ShimakazeRenderer.java程式碼：\npackage net.mcbedev.kancolle.client.renderer; import net.mcbedev.kancolle.client.entity.ShimakazeEntity; import net.mcbedev.kancolle.client.model.ShimakazeEntityModel; import net.minecraft.client.render.entity.EntityRendererFactory; import software.bernie.geckolib3.renderers.geo.GeoEntityRenderer; public class ShimakazeRenderer extends GeoEntityRenderer\u0026lt;ShimakazeEntity\u0026gt; { public ShimakazeRenderer(EntityRendererFactory.Context renderManager) { super(renderManager, new ShimakazeEntityModel()); } } ShimakazeModel.java程式碼，跟第一步驟準備的路徑要一致。\npackage net.mcbedev.kancolle.client.model; import net.mcbedev.kancolle.client.entity.ShimakazeEntity; import net.minecraft.util.Identifier; import software.bernie.geckolib3.model.AnimatedGeoModel; public class ShimakazeEntityModel extends AnimatedGeoModel\u0026lt;ShimakazeEntity\u0026gt; { @Override public Identifier getModelLocation(ShimakazeEntity object) { return new Identifier(\u0026#34;kancollemod\u0026#34;, \u0026#34;geo/shimakaze.json\u0026#34;); } @Override public Identifier getTextureLocation(ShimakazeEntity object) { return new Identifier(\u0026#34;kancollemod\u0026#34;, \u0026#34;textures/entity/kanmusu/shimakaze.png\u0026#34;); } @Override public Identifier getAnimationFileLocation(ShimakazeEntity animatable) { return new Identifier(\u0026#34;kancollemod\u0026#34;, \u0026#34;animations/shimakaze.animation.json\u0026#34;); } } 在處理完import的問題之後，實際在遊戲中測試，用指令/summon kancolle:shimakaze，會召喚靜止狀態的島風。 ","date":"2021年9月15日","externalUrl":null,"permalink":"/posts/fabric-geckolib-mod/","section":"Minecrafts","summary":"實體的模型要如何一個格式多平台通用？透過Geckolib這個模組可以有效舒緩這個問題。\n簡單來說，只要是用Blockbench製作的模型，透過Geckolib就可以同時用在Java版模組和基岩版的Add-On，還能夠製作實體動畫。\n（左為Java版畫面，右邊為基岩版畫面）\n這篇文章以Fabric為基礎，教學如何在Minecraft Java版1.17.1加入實體，並用Geckolib來套用模型。\n1. 注意事項 # 開發模組使用Geckolib的話，別人玩你的模組前就必須安裝Geckolib這個前置模組。\nGeckolib有分forge版跟fabric版，下載時請抓有寫\"fabric\"的版本。 2. 準備模型檔案 # 要製作跨平台模型，應以基岩版格式為基礎，因為能無痛轉換成Geckolib格式。\n首先轉換現有的模型。Blockbench安裝\"Geckolib Animation Utils\"插件。\n按Files -\u003e Convert Project，選擇\"Geckolib Animated Model\"\n按Files -\u003e Export -\u003e Export Geckolib Model 會得到一個json檔案，裡面只有記載模型資訊。材質的png檔案要另外匯出。\n","title":"Fabric + Geckolib模組新增生物實體教學","type":"minecraft"},{"content":"","date":"2021年9月11日","externalUrl":null,"permalink":"/tags/pocketmine/","section":"標籤","summary":"","title":"PocketMine","type":"tags"},{"content":"PocketMine的插件(plugin)是用世界上最好的語言PHP寫成的。\n(PocketMine開伺服器教學)\n以下教學在Windows做一個自訂指令的PM插件，並放到伺服器上測試。 1. 安裝必要軟體 # 如果只是單純寫php，不需要安裝這些有的沒的，手機也可以寫，但安裝這些工具可以方便除錯。\n安裝Windows版本的PHP，下載之後解壓縮，放到C槽的ProgramFiles。 設定環境變數，Path指向PHP資料夾。\n本篇教學使用VSCode編輯器，安裝\u0026quot;PHP Debug\u0026quot;和\u0026quot;PHP Intelephense\u0026quot;這二個熱門延伸模組後重啟VSCode。\n從Github下載PocketMine原始碼，解壓縮，然後安裝VSCode上的PocketMine IDE延伸模組，開啟這個延伸模組的設定值，填入src資料夾的位置，例如\u0026quot;C:Program FilesPocketMine-MP-stablesrc\u0026quot; (有引號)\n下載Development Tools for PocketMine-MP，把這個插件放到伺服器的plugins資料夾，以插件形式安裝。\n2. 專案結構 # 插件的資料夾結構應該長這樣，頂層目錄是\u0026quot;MyPlugin\u0026quot;:\nMyPlugin │ plugin.yml │ └─src └─examplePlugin Main.php src裡面的exmplePlugin資料夾可以自訂名字，而主程式就是Main.php。\n首先編輯\u0026quot;plugin.yml\u0026quot;，填入以下內容:\napi: [3.0.0] name: \u0026#34;MyPlugin\u0026#34; version: 1.0 author: Ivon commands: getsteak: description: \u0026#34;給予牛排\u0026#34; usage: /getsteak number main: examplePlugin\\Main permissions: getsteak: default: true name是這個插件的名字，不要有空白。\nmain所指的就是主程式位置(不需附檔名)，記得要跟src/資料夾下的一致。\npermission是權限，預設是所有玩家都可以使用。\n此外，有使用到自訂指令的話，也可以在這裡註明，例如這裡有一個叫做\u0026quot;getsteak\u0026quot;的指令。\n3. 插件程式碼 # 在Main.php輸入以下內容:\n\u0026lt;?php //命名空間即src/下的路徑 namespace examplePlugin; //會用到的PocketMine類別 use pocketmine\\plugin\\PluginBase; use pocketmine\\event\\Listener; use pocketmine\\event\\player\\PlayerJoinEvent; use pocketmine\\utils\\TextFormat; use pocketmine\\command\\Command; use pocketmine\\command\\CommandSender; use pocketmine\\item\\Item; use pocketmine\\Player; class Main extends PluginBase implements Listener { //插件載入時 public function onLoad() { $this-\u0026gt;getLogger()-\u0026gt;info(\u0026#34;插件載入中\u0026#34;); } //插件啟用時 public function onEnable() { $this-\u0026gt;getServer()-\u0026gt;getPluginManager()-\u0026gt;registerEvents($this, $this); $this-\u0026gt;getLogger()-\u0026gt;info(\u0026#34;插件已啟用\u0026#34;); } //插件停用時 public function onDisable() { $this-\u0026gt;getLogger()-\u0026gt;info(\u0026#34;插件已停用\u0026#34;); } //玩家進入世界時 public function onJoin(PlayerJoinEvent $event) { $player = $event-\u0026gt;getPlayer(); $name = $player-\u0026gt;getName(); $this-\u0026gt;getServer()-\u0026gt;broadcastMessage(TextFormat::GREEN . \u0026#34;$name 加入了伺服器!\u0026#34;); } //偵測指令 public function onCommand(CommandSender $sender, Command $cmd, string $label, array $args): bool { //檢查是在遊戲中輸入或是終端機 if (!$sender instanceof Player) { $sender-\u0026gt;sendMessage(\u0026#34;僅限遊戲中使用。\u0026#34;); } else { if ($cmd-\u0026gt;getName() == \u0026#34;getsteak\u0026#34;) { if (!isset($args[0]) or (is_int($args[0]) and $args[0] \u0026gt; 0)) { //確認參數為0且為整數，否則就預設給4個 $args[0] = 4; } $sender-\u0026gt;getInventory()-\u0026gt;addItem(Item::get(364, 0, $args[0])); //給玩家牛排 $sender-\u0026gt;sendMessage(\u0026#34;已獲得\u0026#34; . $args[0] . \u0026#34;個牛排!\u0026#34;); } } return true; } } 4. 測試插件 # 還不需要打包成phar，直接將專案資料夾複製到伺服器根目錄/plugins/下，接著啟動伺服器，就會有插件載入提示。 加入世界，除了預設的黃色提示訊息，多了綠色的歡迎訊息。 使用指令/getsteak 數字，出現提示。 確認可以獲得牛排。 5. 打包插件成.phar檔 # 插件以資料夾型態載入時可邊修改邊測試，但為避免影響到伺服器/plugins下的其他檔案，建議還是把開發中的專案分開放。\n最後，可利用PocketMine DevTools將資料夾打包成.phar，上傳到Poggit官方儲存庫給別人使用。\n將要打包的插件資料夾放到伺服器根目錄/plugins/ 啟動伺服器，確認PocketMine DevTool和你的插件都有成功載入。\n終端機輸入\u0026quot;makeplugin 插件名字\u0026quot;，例如\u0026quot;makeplugin MyPlugin\u0026quot;，插件的名字需與plugin.yml裡面所寫的一致，不要有空格。\n接著就會產生.phar檔案，位於根目錄/plugin_data/DevTools/裡面。以後把這個檔案直接放在/plugins資料夾就能載入插件。 參考資料 # 官方文檔 POCKETMINE PLUGIN COURSE ","date":"2021年9月11日","externalUrl":null,"permalink":"/posts/pocketmine-create-plugin/","section":"Minecrafts","summary":"PocketMine的插件(plugin)是用世界上最好的語言PHP寫成的。\n(PocketMine開伺服器教學)\n以下教學在Windows做一個自訂指令的PM插件，並放到伺服器上測試。 1. 安裝必要軟體 # 如果只是單純寫php，不需要安裝這些有的沒的，手機也可以寫，但安裝這些工具可以方便除錯。\n安裝Windows版本的PHP，下載之後解壓縮，放到C槽的ProgramFiles。 設定環境變數，Path指向PHP資料夾。\n本篇教學使用VSCode編輯器，安裝\"PHP Debug\"和\"PHP Intelephense\"這二個熱門延伸模組後重啟VSCode。\n從Github下載PocketMine原始碼，解壓縮，然後安裝VSCode上的PocketMine IDE延伸模組，開啟這個延伸模組的設定值，填入src資料夾的位置，例如\"C:Program FilesPocketMine-MP-stablesrc\" (有引號)\n下載Development Tools for PocketMine-MP，把這個插件放到伺服器的plugins資料夾，以插件形式安裝。\n2. 專案結構 # 插件的資料夾結構應該長這樣，頂層目錄是\"MyPlugin\":\nMyPlugin │ plugin.yml │ └─src └─examplePlugin Main.php src裡面的exmplePlugin資料夾可以自訂名字，而主程式就是Main.php。\n首先編輯\"plugin.yml\"，填入以下內容:\n","title":"自製PocketMine插件入門: 自訂指令 \u0026 歡迎訊息","type":"minecraft"},{"content":"","date":"2021年9月10日","externalUrl":null,"permalink":"/tags/nukkit/","section":"標籤","summary":"","title":"Nukkit","type":"tags"},{"content":"Nukkit的插件(plugin)是以Java寫成的，對Bukkit的開發者來說應會比較熟悉。\n(Nukkit開服教學看這裡)\n本文教學如何在Windows上撰寫一個插件，放到伺服器上測試。\n在玩家加入世界後會顯示一條歡迎訊息，還可以用指令呼叫自己的名字。\n1. 安裝必要軟體 # 安裝JDK\n安裝VSCode\n下載Maven，解壓縮放到C槽的ProgramFiles。\n設定環境變數: Path指到maven資料夾底下的\u0026quot;bin\u0026quot;資料夾。\n開啟VSCode，在左側安裝延伸模組: \u0026ldquo;Java Extension Pack\u0026rdquo;、\u0026ldquo;Maven or Java\u0026rdquo;，記得安裝擴充元件後要重新啟動VSCode。 按下F1，輸入maven，按下\u0026quot;Create Maven Project\u0026quot;\n按\u0026quot;maven-archetype-quickstart\u0026quot;，接著選取版本1.4\n新增的專案可以取名為\u0026quot;com.example\u0026quot;，接著輸入\u0026quot;exampleplugin\u0026quot; 再從電腦裡選取一個英文名稱的資料夾儲存專案，例如在桌面新建一個\u0026quot;test\u0026quot;。\n終端機會開啟，輸入專案版本 (1.0)\n輸入Y確認。\n建立完成後，按左上角「檔案」，開啟資料夾，開啟剛剛建立的\u0026quot;exampleplugin\u0026quot;這個資料夾。 這個資料夾就是專案的「根目錄」。\n到這邊為止，VScode應該會跳出很多提示，要求安裝其他擴充元件，全部同意。 2. 設定開發環境 # 建立Maven專案之後，開啟\u0026quot;pom.xml\u0026quot;，加入以下xml， \u0026lt;repositories\u0026gt; \u0026lt;repository\u0026gt; \u0026lt;id\u0026gt;potestas-repo\u0026lt;/id\u0026gt; \u0026lt;url\u0026gt;https://repo.potestas.xyz/main/\u0026lt;/url\u0026gt; \u0026lt;/repository\u0026gt; \u0026lt;/repositories\u0026gt; 這樣就能加入repository。 右下角會有提示，按下Always。 接著加入依賴庫，這樣能夠確保使用的是最新版的Nukkit。 \u0026lt;dependency\u0026gt; \u0026lt;groupId\u0026gt;cn.nukkit\u0026lt;/groupId\u0026gt; \u0026lt;artifactId\u0026gt;nukkit\u0026lt;/artifactId\u0026gt; \u0026lt;version\u0026gt;1.0-SNAPSHOT\u0026lt;/version\u0026gt; \u0026lt;/dependency\u0026gt; 於是會長這樣: 在根目錄/src/main/，新建\u0026quot;resources\u0026quot;資料夾，裡面新建\u0026quot;plugin.yml\u0026quot;，此為插件的基本資料。 name: ExamplePlugin version: \u0026#34;1.0\u0026#34; api: [\u0026#34;1.0.0\u0026#34;] author: Ivon description: A basic plugin for Nukkit main: com.example.main main代表的是插件的主程式位置。\n3. 插件主程式碼 # 切換到/src/main/java/com/example/App.class，刪除全部程式碼，改成以下程式碼: package com.example; import cn.nukkit.plugin.PluginBase; import cn.nukkit.utils.TextFormat; public class main extends PluginBase { @Override public void onEnable() { this.getLogger().info(TextFormat.GREEN + \u0026#34;Plugin Enabled\u0026#34;); } @Override public void onDisable() { this.getLogger().info(TextFormat.RED + \u0026#34;Plugin Disabled\u0026#34;); } } VSCode會自動把錯誤的地方標上波浪號，把滑鼠移過去，選取快速修復。按照建議將\u0026quot;App.java\u0026quot;改名\u0026quot;main.java\u0026quot;，也就是plugin.yml裡寫的位置。 繼續新增程式碼。撰寫的時候若有用到沒匯入的類別，只要用快速修復匯入即可。\npackage com.example; import cn.nukkit.plugin.PluginBase; import cn.nukkit.utils.TextFormat; import cn.nukkit.command.Command; import cn.nukkit.command.CommandSender; import cn.nukkit.event.EventHandler; import cn.nukkit.event.Listener; import cn.nukkit.event.player.PlayerJoinEvent; import cn.nukkit.event.player.PlayerQuitEvent; public class main extends PluginBase implements Listener { // 遊戲載入時觸發 @Override public void onLoad() { this.getLogger().info(TextFormat.GREEN + \u0026#34;插件已載入\u0026#34;); } @Override public void onEnable() { this.getLogger().info(TextFormat.GREEN + \u0026#34;插件已啟用\u0026#34;); this.getServer().getPluginManager().registerEvents(this, this); } @Override public void onDisable() { this.getLogger().info(TextFormat.RED + \u0026#34;插件已停用\u0026#34;); } // 偵測指令 @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] Args) { if (command.getName().toLowerCase().equals(\u0026#34;sayhi\u0026#34;)) { sender.sendMessage(\u0026#34;你好，\u0026#34; + TextFormat.GREEN + sender.getName()); return true; } return true; } @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { event.setJoinMessage(\u0026#34;你好,歡迎\u0026#34; + event.getPlayer().getName() + \u0026#34;加入伺服器!\u0026#34;); } @EventHandler public void onPlayerQuit(PlayerQuitEvent event) { event.setQuitMessage(\u0026#34;再見，\u0026#34; + event.getPlayer().getName()); } } 如果有新增指令，還要在plugin.yml註明，permission設定為op才可以使用。 name: ExamplePlugin version: \u0026#34;1.0\u0026#34; api: [\u0026#34;1.0.0\u0026#34;] author: Ivon description: A basic plugin for Nukkit main: com.example.main commands: sayhi: description: 你好指令 usage: \u0026#34;/sayhi\u0026#34; permissions: sayhi: default: op 4. 編譯成.jar檔案進行測試 # pom.xml裡\u0026lt;build\u0026gt;的\u0026lt;pluginManagement\u0026gt;的\u0026lt;plugins\u0026gt;標籤新增以下內容，mainClass裡寫的必須跟plugin.yml裡的main同一個位置。 \u0026lt;!-- mainClass與plugins.yml的main位置相同 --\u0026gt; \u0026lt;plugin\u0026gt; \u0026lt;groupId\u0026gt;com.example\u0026lt;/groupId\u0026gt; \u0026lt;artifactId\u0026gt;exampleplugin\u0026lt;/artifactId\u0026gt; \u0026lt;version\u0026gt;1.0\u0026lt;/version\u0026gt; \u0026lt;configuration\u0026gt; \u0026lt;archive\u0026gt; \u0026lt;manifest\u0026gt; \u0026lt;mainClass\u0026gt; com.example.main \u0026lt;/mainClass\u0026gt; \u0026lt;/manifest\u0026gt; \u0026lt;/archive\u0026gt; \u0026lt;/configuration\u0026gt; \u0026lt;/plugin\u0026gt; 就會變成這樣: 按終端機，新增終端機，輸入 mvn install，出現\u0026quot;BUILD SUCCESS\u0026quot;就表示成功。 產生的jar檔案會放在根目錄/target/。\n將jar檔案放到伺服器根目錄/plugins/，啟動伺服器。\n終端機會看到插件載入的訊息。 進入遊戲，出現歡迎文字。 輸入指令\u0026quot;/sayhi\u0026quot;，有出現提示，且成功呼叫自己的名字。 參考資料 # Creating plugins - NukkitDocs How to create a basic plugin [Part 1] - Cloudburst ","date":"2021年9月10日","externalUrl":null,"permalink":"/posts/nukkit-create-plugin/","section":"Minecrafts","summary":"Nukkit的插件(plugin)是以Java寫成的，對Bukkit的開發者來說應會比較熟悉。\n(Nukkit開服教學看這裡)\n本文教學如何在Windows上撰寫一個插件，放到伺服器上測試。\n在玩家加入世界後會顯示一條歡迎訊息，還可以用指令呼叫自己的名字。\n1. 安裝必要軟體 # 安裝JDK\n安裝VSCode\n下載Maven，解壓縮放到C槽的ProgramFiles。\n設定環境變數: Path指到maven資料夾底下的\"bin\"資料夾。\n開啟VSCode，在左側安裝延伸模組: “Java Extension Pack”、“Maven or Java”，記得安裝擴充元件後要重新啟動VSCode。 按下F1，輸入maven，按下\"Create Maven Project\"\n按\"maven-archetype-quickstart\"，接著選取版本1.4\n新增的專案可以取名為\"com.example\"，接著輸入\"exampleplugin\" 再從電腦裡選取一個英文名稱的資料夾儲存專案，例如在桌面新建一個\"test\"。\n終端機會開啟，輸入專案版本 (1.0)\n輸入Y確認。\n","title":"自製Nukkit伺服器插件入門：自訂指令 \u0026 歡迎訊息","type":"minecraft"},{"content":"這篇文章要解決的問題: 將自己的世界裝到PocketMine或者Nukkit伺服器中遊玩，或者反過來，將伺服器所產生的世界檔案轉回Java版的世界格式。\n因為PocketMine和Nukki使用的世界格式並不相容，而基岩版/Java版的世界也不能直接導入到伺服器裡面，要經過轉換。\n各個版本Minecraft的區塊儲存格式 # Java版1.17: Anvil 基岩版1.17: LevelDB PocketMine V3.22.2: PMAnvil(.mcapm) Nukkit: Anvil 並遵守以下規則:\nPocketMine生成的世界Java版無法載入，Java版1.12以上的世界PocketMine無法載入。\nNukkit生成的世界Java版可直接載入，Java版1.12以上的世界Nukkit無法載入。\n由此可見，這二個伺服器都偏好使用Java版的世界格式。如果要導入的是基岩版世界，先用MCCToolChest轉成Java版世界，再來操作會比較妥當。\nJava版世界轉換成Nukkit # 參考來源\n使用MCChestToolPE將世界轉成1.12\n用Java版Minecraft 1.12進入該世界。\n將該世界複製到Nukkit的worlds資料夾，不要覆蓋掉第一次開服所生成的世界。\n安裝插件: World Fixer\n啟動伺服器，進入世界。\n輸入指令/wf fixlevel \u0026ldquo;世界名稱\u0026rdquo;，開始轉換世界，此時伺服器會關閉。\n編輯server.properties，改成自己的世界。\nJava版世界轉換成PocketMine # 同上。\nPocketMine世界轉Java/Nukkit # 將PMAnvil轉換成Anvil格式。\n可使用這個工具: https://github.com/magicus/pmanvil-converter\n","date":"2021年9月7日","externalUrl":null,"permalink":"/posts/pocketmine-nukkit-world-formats/","section":"Minecrafts","summary":"這篇文章要解決的問題: 將自己的世界裝到PocketMine或者Nukkit伺服器中遊玩，或者反過來，將伺服器所產生的世界檔案轉回Java版的世界格式。\n因為PocketMine和Nukki使用的世界格式並不相容，而基岩版/Java版的世界也不能直接導入到伺服器裡面，要經過轉換。\n各個版本Minecraft的區塊儲存格式 # Java版1.17: Anvil 基岩版1.17: LevelDB PocketMine V3.22.2: PMAnvil(.mcapm) Nukkit: Anvil 並遵守以下規則:\nPocketMine生成的世界Java版無法載入，Java版1.12以上的世界PocketMine無法載入。\nNukkit生成的世界Java版可直接載入，Java版1.12以上的世界Nukkit無法載入。\n由此可見，這二個伺服器都偏好使用Java版的世界格式。如果要導入的是基岩版世界，先用MCCToolChest轉成Java版世界，再來操作會比較妥當。\nJava版世界轉換成Nukkit # 參考來源\n使用MCChestToolPE將世界轉成1.12\n用Java版Minecraft 1.12進入該世界。\n將該世界複製到Nukkit的worlds資料夾，不要覆蓋掉第一次開服所生成的世界。\n安裝插件: World Fixer\n啟動伺服器，進入世界。\n","title":"PocketMine、Nukkit的世界格式以及轉檔軟體","type":"minecraft"},{"content":"你有Minecraft世界/地圖轉檔的困擾嗎? 想玩光追? 想把地圖搬到其他伺服器?\n不論是Java版世界轉基岩版\n還是基岩版世界轉Java版\n用MCCToolChest這個工具就能夠搞定! 跟Amulet比較，這個工具還可以指定遊戲版本，因為有些龜毛的伺服器例如PocketMine只支援舊版地圖，這個工具可讓世界格式回到1.12。\n記住! 轉換前要先備份資料以防不測。\nJava版的地圖位於：C:\\Users\\使用者名稱\\AppData\\Roaming\\.minecraft\\saves\nWindows基岩版地圖位於：C:\\Users\\使用者名稱\\AppData\\Local\\Packages\\Microsoft.MinecraftUWP\\_8wekyb3d8bbwe\\LocalState\\games\\com.mojang\\minecraftWorlds\n1. 下載與安裝 # 官網: https://mcctoolchest.weebly.com/download.html\n主程式下載: http://www.mediafire.com/file/fg8g7rptvldq294/MCCToolChest_setup.zip/file\n另外要安裝VS 2012 C++ Runtime: https://www.microsoft.com/zh-tw/download/details.aspx?id=30679\n2. Java版世界轉換成基岩版 # 點選Tools，Convert，To bedrock，選取要轉換的Java版地圖。 轉換到基岩版有很多選項可以調，維持預設就好，按下Convert。 按一下存檔的圖示，接著轉換後的世界就會出現在基岩版的世界資料夾裡面。 3. 基岩版世界轉換成Java版 # 按左上角的File，開啟要轉換的基岩版地圖。 點選Tools，Convert，To Java。\n轉換成Java版世界前可以選擇遊戲版本，如果要用在PocketMine等伺服器，請在\u0026quot;Convert to\u0026quot;選擇1.12。 轉換好的世界會儲存在Java版的世界資料夾。 4. Java版世界降回1.12 # 這個操作會比較tricky一點，原理：\n先將Java版世界轉成基岩版。\n然後再把這個世界轉回Java版，順便降級。\n別問為什麼，因為這個軟體就是這樣設計的。\n","date":"2021年9月7日","externalUrl":null,"permalink":"/posts/mcc-tool-chest-pe-java/","section":"Minecrafts","summary":"你有Minecraft世界/地圖轉檔的困擾嗎? 想玩光追? 想把地圖搬到其他伺服器?\n不論是Java版世界轉基岩版\n還是基岩版世界轉Java版\n用MCCToolChest這個工具就能夠搞定! 跟Amulet比較，這個工具還可以指定遊戲版本，因為有些龜毛的伺服器例如PocketMine只支援舊版地圖，這個工具可讓世界格式回到1.12。\n記住! 轉換前要先備份資料以防不測。\nJava版的地圖位於：C:\\Users\\使用者名稱\\AppData\\Roaming\\.minecraft\\saves\nWindows基岩版地圖位於：C:\\Users\\使用者名稱\\AppData\\Local\\Packages\\Microsoft.MinecraftUWP\\_8wekyb3d8bbwe\\LocalState\\games\\com.mojang\\minecraftWorlds\n1. 下載與安裝 # 官網: https://mcctoolchest.weebly.com/download.html\n主程式下載: http://www.mediafire.com/file/fg8g7rptvldq294/MCCToolChest_setup.zip/file\n另外要安裝VS 2012 C++ Runtime: https://www.microsoft.com/zh-tw/download/details.aspx?id=30679\n2. Java版世界轉換成基岩版 # 點選Tools，Convert，To bedrock，選取要轉換的Java版地圖。 轉換到基岩版有很多選項可以調，維持預設就好，按下Convert。 按一下存檔的圖示，接著轉換後的世界就會出現在基岩版的世界資料夾裡面。 ","title":"MCC Tool Chest：Java版與基岩版世界互相轉檔","type":"minecraft"},{"content":"Nukkit是使用Java寫成的開伺服器程式，適用於Minecraft基岩版。支援多核心，官方宣稱比PocketMine還要穩定、快速。\nNukkit有很多插件(Plugin)可以使用，支援資源包，不支援Add-On。\nNukkit伺服器會缺少原版遊戲的元素，要靠插件解決。因此要體驗原味生存，請考慮改用其他多人連線方法。\n本篇教學在Windows電腦上使用Nukkit開伺服器。\n本文流程可參考這部影片： 1. 選擇Nukkit版本 # Nukkit目前由CloudBurst團隊維護，官網: https://github.com/CloudburstMC/Nukkit，世界採用Java版舊的Anvil格式。\n另外有一個分支版本: Power Nukkit。修復了很多bug，提供的API更豐富。\n此外，Cloudburst還有推出一款俗稱Nukkit 2.0的Cloudburst Server。\n不論選的是哪個Nukkit，操作都大同小異。\n2. 第一次開服 # Nukkit執行需要Java8以上版本。 從Jenkins下載Nukkit最新版本的jar檔案，新建一個資料夾當作「根目錄」，把.jar檔案放進去。\n本文撰寫時點，Minecraft版本是1.17。 在根目錄新建一個\u0026quot;start.bat\u0026quot;檔案，輸入以下指令後儲存。這樣以後按二下這個檔案就會啟動伺服器jar檔案。 @echo off java -Xms1G -Xmx1G -jar nukkit-1.0-SNAPSHOT.jar pause 第一次開啟後，在跳出的命令視窗輸入\u0026quot;eng\u0026quot;，將語言設定為英語，這樣伺服器就啟動完成了。(也可以選中文，但有時候會有bug) 開啟Windows 10版Minecraft，輸入IP，連線至Nukkit伺服器，會新建一個世界。\n如何查詢內網IP\nNukkit的伺服器會顯示用Nukkit開服的。 現在只有同一個網路的人可以連線進來。如果要讓外部的人連線到這個伺服器，必須做通訊埠轉發。\n在命令視窗輸入\u0026quot;stop\u0026quot;，關閉伺服器，開始調整設定。\n3. 調整伺服器參數 # 伺服器參數為根目錄的server.preoperties和nukkit.yml這二個檔案。\n由於Nukkit第一次啟動不會自動設定，因此要自行修改server.properties，將\u0026quot;gamemode\u0026quot;修改成1可以把玩家改成創造模式。 nukkit.yml則是設定伺服器的其他選項。\n4. 安裝插件(Plugin) # 插件用於增強多人遊戲玩法，或修復一些缺陷。\nNukkit插件可從Cloudburst論壇下載: https://cloudburstmc.org/resources/\n中國MCBBS上也有很多插件: https://www.mcbbs.net/forum-1718-1.html\n推薦安裝以下插件: 生成終界: The End 讓生物擁有AI: Mob Plugin 自然生成建築: Scattered Building Populator 生成村莊: Classic Village Populator 指令方塊: Vanilla Command Block 這裡示範如何安裝讓生物有AI的\u0026quot;Mob Plugin\u0026quot;。\n前往下載頁面，點選Download，下載.jar檔案。 將jar檔案移動到根目錄的\u0026quot;plugins\u0026quot;資料夾，重新啟動伺服器。\n這樣召喚的生物就有AI了。\n5. 安裝資源包 # 先關閉伺服器。把資源包的檔案(.mcpack或.zip)放到根目錄的resource_packs資料夾下，不須解壓縮。 目前Nukkit要求manifest.json必須是特定格式才能正常載入。 可在server.properties將\u0026quot;force-resources\u0026quot;改成\u0026quot;on\u0026quot;，就能強制啟用資源包。\n開啟伺服器，進入遊戲後就會要求下載資源包。 ","date":"2021年9月6日","externalUrl":null,"permalink":"/posts/minecraft-nukkit-usage/","section":"Minecrafts","summary":"Nukkit是使用Java寫成的開伺服器程式，適用於Minecraft基岩版。支援多核心，官方宣稱比PocketMine還要穩定、快速。\nNukkit有很多插件(Plugin)可以使用，支援資源包，不支援Add-On。\nNukkit伺服器會缺少原版遊戲的元素，要靠插件解決。因此要體驗原味生存，請考慮改用其他多人連線方法。\n本篇教學在Windows電腦上使用Nukkit開伺服器。\n本文流程可參考這部影片： 1. 選擇Nukkit版本 # Nukkit目前由CloudBurst團隊維護，官網: https://github.com/CloudburstMC/Nukkit，世界採用Java版舊的Anvil格式。\n另外有一個分支版本: Power Nukkit。修復了很多bug，提供的API更豐富。\n此外，Cloudburst還有推出一款俗稱Nukkit 2.0的Cloudburst Server。\n不論選的是哪個Nukkit，操作都大同小異。\n2. 第一次開服 # Nukkit執行需要Java8以上版本。 從Jenkins下載Nukkit最新版本的jar檔案，新建一個資料夾當作「根目錄」，把.jar檔案放進去。\n本文撰寫時點，Minecraft版本是1.17。 在根目錄新建一個\"start.bat\"檔案，輸入以下指令後儲存。這樣以後按二下這個檔案就會啟動伺服器jar檔案。 @echo off java -Xms1G -Xmx1G -jar nukkit-1.0-SNAPSHOT.jar pause 第一次開啟後，在跳出的命令視窗輸入\"eng\"，將語言設定為英語，這樣伺服器就啟動完成了。(也可以選中文，但有時候會有bug) ","title":"Minecraft基岩版Nukkit開服教學","type":"minecraft"},{"content":"PocketMine有很多Android版APP，可以直接在手機上開伺服器。\n開服之後，其他步驟就跟在電腦上的PocketMine差不多，可調整伺服器參數、安裝插件。\n這個APP只能在手機上開區域連線的伺服器，跟你同一個網路的人才能連進來，要讓外面的人連線，必須做通訊埠轉發。\n註: 手機上還有很多開服方法，可參考: Minecraft基岩版多人連線教學：方法一覽。如果要追求原味生存，請勿使用PocketMine。\n這裡使用的是ScerIO製作的\u0026quot;PocketMine-MP\u0026quot;，只支援64位元設備(現在的手機不太可能有32位元的了) 開啟之後下載最新PocketMine核心。 按下Start啟動伺服器。 PocketMine會保持在背景運作。在手機的Minecraft上輸入APP首頁顯示的Server IP位址: 連線後，PocketMine的Console會顯示訊息。\n可在這裡輸入指令，例如stop關閉伺服器。 Files可管理PocketMine資料夾下的檔案。 Plugin是安裝插件，可從內建商店下載，或自行匯入.phar檔案。 ","date":"2021年9月5日","externalUrl":null,"permalink":"/posts/android-pocketmine-mp/","section":"Minecrafts","summary":"PocketMine有很多Android版APP，可以直接在手機上開伺服器。\n開服之後，其他步驟就跟在電腦上的PocketMine差不多，可調整伺服器參數、安裝插件。\n這個APP只能在手機上開區域連線的伺服器，跟你同一個網路的人才能連進來，要讓外面的人連線，必須做通訊埠轉發。\n註: 手機上還有很多開服方法，可參考: Minecraft基岩版多人連線教學：方法一覽。如果要追求原味生存，請勿使用PocketMine。\n這裡使用的是ScerIO製作的\"PocketMine-MP\"，只支援64位元設備(現在的手機不太可能有32位元的了) 開啟之後下載最新PocketMine核心。 按下Start啟動伺服器。 PocketMine會保持在背景運作。在手機的Minecraft上輸入APP首頁顯示的Server IP位址: 連線後，PocketMine的Console會顯示訊息。\n可在這裡輸入指令，例如stop關閉伺服器。 Files可管理PocketMine資料夾下的檔案。 Plugin是安裝插件，可從內建商店下載，或自行匯入.phar檔案。 ","title":"Android版PocketMine-MP使用教學","type":"minecraft"},{"content":"","date":"2021年9月5日","externalUrl":null,"permalink":"/series/minecraft%E5%9F%BA%E5%B2%A9%E7%89%88pocketmine%E4%BC%BA%E6%9C%8D%E5%99%A8%E6%9E%B6%E8%A8%AD%E6%95%99%E5%AD%B8/","section":"Series","summary":"","title":"Minecraft基岩版PocketMine伺服器架設教學","type":"series"},{"content":"Minecraft基岩版使用PocketMine開伺服器，有很多選項可以自訂，此外還內建一系列管理伺服器的指令。\n1. 調整參數 # 伺服器相關參數設定 # 伺服器參數為根目錄的server.preoperties和pocketmine.yml二個檔案。\nserver.properties就是第一次開服時，設定精靈所設定的選項，可在這裡更改，重啟伺服器套用變更。\npocketmine.yml可以調整世界生成的選項，以及系統資源的使用。\n修改\u0026quot;format\u0026quot;來指定新建世界要使用的格式，預設是\u0026quot;pmanvil\u0026quot;，可修改成\u0026quot;anvil\u0026quot;。因為pmanvil比較難以轉換成其他格式。\n如何加入自己的世界 # PocketMine v4.0以前使用自己的一套儲存格式，跟Java版的地圖很像但不相容。\n可以用MCCToolChest將基岩版地圖轉換成Java版地圖。\n讓伺服器擁有多個世界 # 使用Multi World這個插件。\n編輯OP # op列表位於根目錄下的ops.txt，每行一個玩家的名字。\n編輯黑名單 # 黑名單的檔案為banned-ips.txt和banned-players.txt，同時還有white-list.txt可設定白名單。\n指令列表 # PocketMine有一系列的伺服器指令可以使用，在視窗輸入help就會顯示可用的指令，或者在遊戲中輸入也可以。\n這些指令取代了Minecraft內建的指令，因此在PocketMine中無法使用指令方塊。 ","date":"2021年9月5日","externalUrl":null,"permalink":"/posts/pocketmine-custom-server/","section":"Minecrafts","summary":"Minecraft基岩版使用PocketMine開伺服器，有很多選項可以自訂，此外還內建一系列管理伺服器的指令。\n1. 調整參數 # 伺服器相關參數設定 # 伺服器參數為根目錄的server.preoperties和pocketmine.yml二個檔案。\nserver.properties就是第一次開服時，設定精靈所設定的選項，可在這裡更改，重啟伺服器套用變更。\npocketmine.yml可以調整世界生成的選項，以及系統資源的使用。\n修改\"format\"來指定新建世界要使用的格式，預設是\"pmanvil\"，可修改成\"anvil\"。因為pmanvil比較難以轉換成其他格式。\n如何加入自己的世界 # PocketMine v4.0以前使用自己的一套儲存格式，跟Java版的地圖很像但不相容。\n可以用MCCToolChest將基岩版地圖轉換成Java版地圖。\n讓伺服器擁有多個世界 # 使用Multi World這個插件。\n","title":"PocketMine調整伺服器參數 \u0026 指令 \u0026 替換世界","type":"minecraft"},{"content":"Minecraft基岩版雖然有功能玩法多樣的Add-On，但是PocketMine伺服器(v3.22.2)只支援資源包，不支援行為模式包。\n此外，也可以強制要求加入的玩家必須下載資源包，且一個世界可以擁有多個資源包，不須解壓縮。\n先關閉伺服器。把資源包的檔案(.zip或.mcpack)放到根目錄的resource_packs/資料夾下，不須解壓縮。 開啟resource_packs.yml，將資源包的名稱按照以下格式輸入進去(檔名前面要有「 - 」)。\nforce_resources改成true的話就是強制使用資源包。 開啟伺服器，進入遊戲後就會強制套用資源包。 ","date":"2021年9月5日","externalUrl":null,"permalink":"/posts/pocketmine-install-resource-packs/","section":"Minecrafts","summary":"Minecraft基岩版雖然有功能玩法多樣的Add-On，但是PocketMine伺服器(v3.22.2)只支援資源包，不支援行為模式包。\n此外，也可以強制要求加入的玩家必須下載資源包，且一個世界可以擁有多個資源包，不須解壓縮。\n先關閉伺服器。把資源包的檔案(.zip或.mcpack)放到根目錄的resource_packs/資料夾下，不須解壓縮。 開啟resource_packs.yml，將資源包的名稱按照以下格式輸入進去(檔名前面要有「 - 」)。\nforce_resources改成true的話就是強制使用資源包。 開啟伺服器，進入遊戲後就會強制套用資源包。 ","title":"PocketMine安裝資源包教學","type":"minecraft"},{"content":"Minecraft基岩版伺服器PocketMine最核心的功能就是各式各樣的插件(plugin)了，可以為多人遊戲提供很多玩法。\n大部分的插件可以在這個網站找到: Poggit\n要安裝也很簡單，本文示範如何安裝讓PocketMine世界可以召喚生物的\u0026quot;PureEntitiesX\u0026quot;插件。\n先關閉PM伺服器。 從這裡下載.phar檔案。安裝前要確認該插件有無支援對應版本的PocketMine API。 將phar檔案放到PM伺服器資料夾下的plugins/資料夾，重啟伺服器。 PM伺服器會有一段載入插件的提示。 如此一來伺服器就能召喚生物了。 ","date":"2021年9月5日","externalUrl":null,"permalink":"/posts/pocketmine-install-plugin/","section":"Minecrafts","summary":"Minecraft基岩版伺服器PocketMine最核心的功能就是各式各樣的插件(plugin)了，可以為多人遊戲提供很多玩法。\n大部分的插件可以在這個網站找到: Poggit\n要安裝也很簡單，本文示範如何安裝讓PocketMine世界可以召喚生物的\"PureEntitiesX\"插件。\n先關閉PM伺服器。 從這裡下載.phar檔案。安裝前要確認該插件有無支援對應版本的PocketMine API。 將phar檔案放到PM伺服器資料夾下的plugins/資料夾，重啟伺服器。 PM伺服器會有一段載入插件的提示。 如此一來伺服器就能召喚生物了。 ","title":"PocketMine安裝插件Plugin教學","type":"minecraft"},{"content":"PocketMine-MP是MCPE歷史悠久的第三方伺服器程式，它的圖示是MCPE很久以前才有的「地獄反應核」，以PHP和C++寫成，另外還有很多延伸版本。 因為發展很久，跟Minecraft基岩版官方的BDS開服程式相比，PocketMine有很多插件(plugin)可以使用，可是會缺少原版遊戲的一些元素，如果要追求原味生存，請勿使用PocketMine。\n這篇文章為在Windows電腦上用PocketMine的開服教學。\n1. 選擇PocketMine版本 # PocketMine有很多分支版本，例如著名伺服器Lifeboat使用的Steadfast。\n此外還有Altay，會自然生怪。\n這些設定方法都大同小異，本文使用的是原版的。\n2. 基本安裝 # PocketMine-MP官方網站: https://www.pocketmine.net/\n準備一個資料夾放置伺服器的所有檔案，稱作根目錄。 例如在電腦桌面建立一個叫做\u0026quot;pocketmine\u0026quot;的資料夾。\n從Github下載PocketMine-MP.phar和start.cmd，放到根目錄。 3.22.2對應Minecraft 1.17。\nPocketMine若推出新版本，只要下載新版phar覆蓋掉舊版的檔案即完成更新。\n下載PHP 7.4，解壓縮，把\u0026quot;bin\u0026quot;資料夾放在伺服器根目錄。 接著安裝該壓縮檔隨附的的C++套件(vc_redist_x64.exe)，重新啟動電腦。\n這樣根目錄資料夾應該有以下的東西。 3. 第一次開服 # 連按二下cmd檔案啟動伺服器程式。 第一次開服請使用設定精靈，輸入語言代碼選擇介面語言(英文就是eng) 接著會問一系列問題，按照以下填寫，並按enter: Do you accept the License: Y Do you want to skip the set-up wizard: N Give a name to your server: (填入這個伺服器的名字) Server Port: (直接按Enter，維持預設) Default Game mode: 0或1 (0是生存，1是創造) Max online players: 20 Enable spawn protection: Y OP player name: (伺服器管理員，填入自己的Xbox玩家代號) Do you want to enable the white-list: N Do you want to disable Query: N Do you want to enable RCOM: N 填完之後，允許PocketMine通過Windows防火牆。\n設定完之後，會有一行字提示: \u0026ldquo;Your IP is:\u0026rdquo; 代表這個伺服器目前的IP，也就是電腦的內網IP。 開啟Minecraft，輸入IP資訊，連線後PocketMine的視窗也會顯示有玩家加入遊戲。 把PocketMine的視窗關閉，伺服器也就關閉了。或者輸入stop也可以。\n但目前只有跟你同一個網路的才能連進來。要讓外面的人連進來，必須做端口映射。\n此外，PocketMine預設不會有生物，請參閱文章頂部的「安裝插件」來安裝相關插件。\n","date":"2021年9月5日","externalUrl":null,"permalink":"/posts/minecraft-pocketmine-usage/","section":"Minecrafts","summary":"PocketMine-MP是MCPE歷史悠久的第三方伺服器程式，它的圖示是MCPE很久以前才有的「地獄反應核」，以PHP和C++寫成，另外還有很多延伸版本。 因為發展很久，跟Minecraft基岩版官方的BDS開服程式相比，PocketMine有很多插件(plugin)可以使用，可是會缺少原版遊戲的一些元素，如果要追求原味生存，請勿使用PocketMine。\n這篇文章為在Windows電腦上用PocketMine的開服教學。\n1. 選擇PocketMine版本 # PocketMine有很多分支版本，例如著名伺服器Lifeboat使用的Steadfast。\n此外還有Altay，會自然生怪。\n這些設定方法都大同小異，本文使用的是原版的。\n2. 基本安裝 # PocketMine-MP官方網站: https://www.pocketmine.net/\n準備一個資料夾放置伺服器的所有檔案，稱作根目錄。 例如在電腦桌面建立一個叫做\"pocketmine\"的資料夾。\n從Github下載PocketMine-MP.phar和start.cmd，放到根目錄。 3.22.2對應Minecraft 1.17。\nPocketMine若推出新版本，只要下載新版phar覆蓋掉舊版的檔案即完成更新。\n下載PHP 7.4，解壓縮，把\"bin\"資料夾放在伺服器根目錄。 接著安裝該壓縮檔隨附的的C++套件(vc_redist_x64.exe)，重新啟動電腦。\n這樣根目錄資料夾應該有以下的東西。 ","title":"Minecraft基岩版PocketMine-MP開服教學","type":"minecraft"},{"content":"建議先閱讀：GameTest API入門\n這篇文章會示範用Gametest來「自訂指令」，並解釋指令如何運作 。\nGametest API Framework Wrapper，暫時翻譯成「遊戲測試API框架包裝」。\n名字太長了我就用GFW簡稱。跟中國網路長城沒關係嘿。\n1. 為什麼要用GFW # 由於Minecraft的GameTest API還沒有完善的函數，所以要做一些功能很麻煩，例如「新增一個指令並執行」，就要撰寫一系列長長的程式碼來實現。\n而GFW是一種函式庫(library)，提供了一系列簡便的函數來提供便利的功能。\n假設新增指令要自行寫10行程式碼，處理使用者輸入指令、執行指令，則使用函式庫用1行就能解決，因為這些細節的處理部分函式庫都已經寫好了。\n而且Gametest的底層方法更新很快，透過這個函式庫，多使用函式庫提供的功能，而不用考慮原始Minecraft的模塊要怎麼匯入。\nGFW的library資料夾點進去能看到這些函數具體是怎麼實現的，例如「資料庫」的函數其實就是在玩家身上創建計分板，然後提供存取資料庫的方法。\n2. 安裝GFW # GFW可從GitHub按綠色的\u0026quot;Code\u0026quot;下載zip，解壓縮後就是一個現成的行為包。 裡面包含函式庫和一些指令範本檔案。 manifest.json裡面已經聲明好entry，所以維持基本架構，主程式就寫在/scripts/minecraft/index.js 不過如果要以這個函式庫為基礎發布作品的話，記得把第14行的modules的UUID改掉避免衝突:\n{ \u0026#34;format_version\u0026#34;: 2, \u0026#34;header\u0026#34;: { \u0026#34;description\u0026#34;: \u0026#34;Framework Wrapper is a pack that allows you to interact with GameTest FrameWork API easily! This pack will help to keep your code clean and compact. And makes interactions with the API much easier. Pack also includes a lot of cool/useful utils!nnThis pack was created by notbeer!n§9Discord: §fnotbeer#9204n§aXbox Live: §fColoringEmy86nThis pack will provide a basic start with §eGameTest FrameWork§f. Including a good §acommand handler and §afew example commands§f!\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;Framework Wrapper\u0026#34;, \u0026#34;uuid\u0026#34;: \u0026#34;918f111a-cd35-11eb-b8bc-0242ac130003\u0026#34;, \u0026#34;version\u0026#34;: [0, 0, 1], \u0026#34;min_engine_version\u0026#34;: [ 1, 14, 0 ] }, \u0026#34;modules\u0026#34;: [ { \u0026#34;description\u0026#34;: \u0026#34;GameTest FrameWork Module Minecraft\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;javascript\u0026#34;, \u0026#34;uuid\u0026#34;: \u0026#34;9953c724-cd35-11eb-b8bc-0242ac130003\u0026#34;, \u0026#34;version\u0026#34;: [0, 0, 1], \u0026#34;entry\u0026#34;: \u0026#34;scripts/minecraft/index.js\u0026#34; } ], \u0026#34;dependencies\u0026#34;: [ { \u0026#34;uuid\u0026#34;: \u0026#34;b26a4d4c-afdf-4690-88f8-931846312678\u0026#34;, \u0026#34;version\u0026#34;: [ 0, 1, 0 ] }, { \u0026#34;uuid\u0026#34;: \u0026#34;6f4b6893-1bb6-42fd-b458-7fa3d0c89616\u0026#34;, \u0026#34;version\u0026#34;: [ 0, 1, 0 ] } ] } /scripts/minecraft/index.js裡面已經寫好了範例程式： import \u0026#39;../library/import-library-content.js\u0026#39;; export const config = { commandPrefix: \u0026#39;+\u0026#39; }; //Eh well you can delete the stuff at the bottom whenever you want lol //This will just execute once the world has loaded import { Server, setTickTimeout } from \u0026#39;../library/Minecraft.js\u0026#39;; setTickTimeout(() =\u0026gt; { Server.broadcast(`§bWelcome to the starter pack! nThis pack contains A LOT of stuff for you to use. Content includes: custom commands, cool utils and a lot more!nFor more information read the DOCS inside the pack!n§eDo you need help? Join this Discord server: §fhttps://discord.gg/KyN24Mq73wnn§eGameTest FrameWork API Starter Pack§rn§bCredit: §rThis pack was made by §anotbeern§9Discord: §fnotbeer#9204n§aXbox Live: §fColoringEmy86`); }, 500); 第一行把函式庫的東西都import。除了函式庫外，在/scripts資料夾的任何地方，都可以import \u0026lsquo;Minecraft\u0026rsquo;的模塊。\n第二行的變數，是把config匯出，這裡代表的是要使用的自訂指令的前綴，例如「+」號\n因此，這裡的自訂指令不是以「/」開頭，而是用「+」。(嚴格來說，這樣不算自訂指令，因為目前沒有能偵測斜線的事件，所以只好用+號開頭攔截特定聊天訊息)\n剩下的就是從函式庫import Server和setTimeout這二個類別，然後使用setTimeout的方法，在玩家進入世界幾秒後，延遲顯示一條歡迎訊息。\n3. GFW提供的函數 # GFW在Github上的說明文檔\n目前GFW提供以下幾種類別：\nDatabase: 以玩家本身記分板當資料庫使用，可儲存與讀取資料。 Command: 可以註冊指令、查詢已註冊的指令 Event: 添加事件監聽器 Server: 發送訊息、查詢玩家、執行指令 Entity: 查詢實體、查詢記分板 Player: 獲取玩家物品數量 還有以下函數：\nFormatter: 格式化文字輸出 Scheduling: 排程、延遲執行 Miscellaneous: 顯示玩家稱號、在玩家頭上顯示排行 4. 實際來新增指令 # 影片版教學：\n由於這個範本包已經有內建一些指令，來看看他是怎麼匯入的:\nentry是在/scripts/minecraft/index.js，而自訂的指令放在/scripts/minecraft/commands/裡面。\n首先遊戲會載入index.js，這個檔案會匯入commands/import_command.js。\n而import_command.js這個檔案會把commands/資料夾裡面的全部指令都匯入，這樣才算是完全載入所有自訂的指令。\n由此可知，每一個「自訂指令」都是獨立的js檔案，每新增一個檔案，就要在import_command.js中寫上去，讓其匯入。\n使用Gametest操作指令有一個好處，就是執行指令時可以直接代入變數，而不用用固定的選擇子。\n關於註冊指令的介面用法，作者寫在Github上的文檔了，這裡實際新增一個新指令，輸入指令後會開始執行畫圓指令。\n這段指令用命令方塊串起來也可以執行，而這裡透過存取玩家的變數給予更大彈性。\n//匯入要用到的類別 import { Command, Server, Event } from \u0026#39;../../../library/Minecraft.js\u0026#39;; //註冊指令 const registerInformation = { private: false, cancelMessage: true, name: \u0026#39;circle\u0026#39;, aliases: [\u0026#39;cricle2\u0026#39;], description: \u0026#39;畫圓，最小值5\u0026#39;, example: [\u0026#39;circle 半徑\u0026#39;] }; //run代表畫圓開始，radius是預設半徑，countdown是畫圓多久後刪除盔甲架，px,y,z是玩家座標 var run = false; var radius = 5; var countdown = 90 * radius; var px, py, pz; //撰寫指令輸入後會執行的程式碼 Command.register(registerInformation, (data, args) =\u0026gt; { if (!run) { Server.runCommands([ \u0026#34;execute @p ~ ~ ~ summon armor_stand r ~ ~ ~\u0026#34; ]); //決定半徑。args預設會把輸入的指令後的參數以空格分開，因此args[0]代表的就是+circle後面空一格的第一個參數 radius = Number(args[0]) \u0026gt; 5 ? args[0] : 5; //從data裡面獲取指令發送者的座標，將其四捨五入(不然圓形畫出來會有瑕疵) px = Math.round(data.sender.location.x); py = Math.round(data.sender.location.y); pz = Math.round(data.sender.location.z); Server.broadcast(`在${px},${py},${pz}畫半徑${radius}的圓`); run = true; } else { Server.broadcast(`請等目前的圓形畫完`); } }); //訂閱tick事件 Event.on(\u0026#39;tick\u0026#39;, () =\u0026gt; { if (run == true) { //生成盔甲架，在倒數計時結束前一直轉圈圈並生成玻璃 Server.runCommands([ `execute @e[type=armor_stand, name=r, c=1] ~ ~ ~ tp @s ${px} ${py} ${pz} ~1`, `execute @e[type=armor_stand, name=r, c=1] ~ ~-1 ~ fill ^ ^ ^ ^ ^ ^${radius} minecraft:glass`, `execute @e[type=armor_stand, name=r, c=1] ~ ~-1 ~ fill ^ ^ ^ ^${radius} ^ ^ minecraft:glass` ]); countdown--; } if (countdown == 0) { Server.runCommands([ \u0026#34;kill @e[type=armor_stand, name=r]\u0026#34; ]); countdown = radius * 90; run = false; } }); 我把這個circle.js跟home.js放在一起，也就是commands/misc/資料夾: 不要忘了在import-command.js裡面也要註明匯入:\n//Make sure to import your custom command file here import \u0026#39;./information/help.js\u0026#39;; import \u0026#39;./misc/home.js\u0026#39;; import \u0026#39;./misc/sell.js\u0026#39;; import \u0026#39;./misc/circle.js\u0026#39;; import \u0026#39;./moderation/ban.js\u0026#39;; import \u0026#39;./moderation/unban.js\u0026#39;; 實際到遊戲中測試，輸入+circle，以預設的半徑5開始。或是+circle 10，畫半徑10的圓。 ","date":"2021年9月4日","externalUrl":null,"permalink":"/posts/gametest-api-framework-wrapper-minecraft/","section":"Minecrafts","summary":"建議先閱讀：GameTest API入門\n這篇文章會示範用Gametest來「自訂指令」，並解釋指令如何運作 。\nGametest API Framework Wrapper，暫時翻譯成「遊戲測試API框架包裝」。\n名字太長了我就用GFW簡稱。跟中國網路長城沒關係嘿。\n1. 為什麼要用GFW # 由於Minecraft的GameTest API還沒有完善的函數，所以要做一些功能很麻煩，例如「新增一個指令並執行」，就要撰寫一系列長長的程式碼來實現。\n而GFW是一種函式庫(library)，提供了一系列簡便的函數來提供便利的功能。\n假設新增指令要自行寫10行程式碼，處理使用者輸入指令、執行指令，則使用函式庫用1行就能解決，因為這些細節的處理部分函式庫都已經寫好了。\n而且Gametest的底層方法更新很快，透過這個函式庫，多使用函式庫提供的功能，而不用考慮原始Minecraft的模塊要怎麼匯入。\nGFW的library資料夾點進去能看到這些函數具體是怎麼實現的，例如「資料庫」的函數其實就是在玩家身上創建計分板，然後提供存取資料庫的方法。\n2. 安裝GFW # GFW可從GitHub按綠色的\"Code\"下載zip，解壓縮後就是一個現成的行為包。 裡面包含函式庫和一些指令範本檔案。 ","title":"Gametest API Framework Wrapper 實際應用| Minecraft基岩版模組開發教學","type":"minecraft"},{"content":"玩Add-On這麼久，製作的模型大部分都是為了基岩版Minecraft而生。\n可在Sketchfab線上以3D模式檢視這些作品。\n不過有些模型並無做成Add-On。 因為格式簡單，稍微轉換一下就能輕鬆移植到Java版模組或用於其他用途。\n總計有以下幾類\n軍事類 # 飛機 # 坦克 # 火炮 # 槍械 # 船艦 # 未分類 # 人物類 # 艦娘 # 深海棲艦 # 2013年版萌化怪物 # 其他 # 天竺鼠車車 # 怪誕蟲 # 新世紀福音戰士 # 帆船 # FGO寶具 # ","date":"2021年8月30日","externalUrl":null,"permalink":"/posts/ivon-s-minecraft--3d-models/","section":"Minecrafts","summary":"玩Add-On這麼久，製作的模型大部分都是為了基岩版Minecraft而生。\n可在Sketchfab線上以3D模式檢視這些作品。\n不過有些模型並無做成Add-On。 因為格式簡單，稍微轉換一下就能輕鬆移植到Java版模組或用於其他用途。\n總計有以下幾類\n軍事類 # 飛機 # 坦克 # 火炮 # 槍械 # 船艦 # 未分類 # 人物類 # 艦娘 # 深海棲艦 # 2013年版萌化怪物 # 其他 # 天竺鼠車車 # 怪誕蟲 # 新世紀福音戰士 # 帆船 # FGO寶具 # ","title":"Ivon的Minecraft 3D模型作品","type":"minecraft"},{"content":"這篇文章說明如何透過基岩版Add-On，讓Minecraft實體/生物可以拿物品。 如果只是要讓實體像玩家拿著物品，不用特地建模，只要確認實體有特定的骨骼。\n在Blockbench中，實體手的骨骼裡面新增叫做\u0026quot;rightItem\u0026quot;或\u0026quot;leftItem\u0026quot;的骨骼，再調整一下樞紐點，遊戲就會認得這個實體握持物品的位置。 接著在行為包裡面加入組件，設定此實體可以拿的物品。\n\u0026#34;minecraft:equipment\u0026#34;: { \u0026#34;table\u0026#34;: \u0026#34;loot_tables/entities/shimakaze_equipment.json\u0026#34; } 然後再在上面組件所聲明的位置新增物品表的json (可直接參考殭屍的檔案進行修改):\n{ \u0026#34;pools\u0026#34;: [ { \u0026#34;rolls\u0026#34;: 1, \u0026#34;entries\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;item\u0026#34;, \u0026#34;name\u0026#34;: \u0026#34;minecraft:iron_sword\u0026#34;, \u0026#34;weight\u0026#34;: 1, \u0026#34;functions\u0026#34;: [ { \u0026#34;function\u0026#34;: \u0026#34;looting_enchant\u0026#34;, \u0026#34;count\u0026#34;: { \u0026#34;min\u0026#34;: 0, \u0026#34;max\u0026#34;: 1 } }, { \u0026#34;function\u0026#34;: \u0026#34;enchant_random_gear\u0026#34;, \u0026#34;chance\u0026#34;: 0.25 } ] } ] } ] } ","date":"2021年8月30日","externalUrl":null,"permalink":"/posts/minecraft-add-on-make-entity-held-items/","section":"Minecrafts","summary":"這篇文章說明如何透過基岩版Add-On，讓Minecraft實體/生物可以拿物品。 如果只是要讓實體像玩家拿著物品，不用特地建模，只要確認實體有特定的骨骼。\n在Blockbench中，實體手的骨骼裡面新增叫做\"rightItem\"或\"leftItem\"的骨骼，再調整一下樞紐點，遊戲就會認得這個實體握持物品的位置。 接著在行為包裡面加入組件，設定此實體可以拿的物品。\n\"minecraft:equipment\": { \"table\": \"loot_tables/entities/shimakaze_equipment.json\" } 然後再在上面組件所聲明的位置新增物品表的json (可直接參考殭屍的檔案進行修改):\n{ \"pools\": [ { \"rolls\": 1, \"entries\": [ { \"type\": \"item\", \"name\": \"minecraft:iron_sword\", \"weight\": 1, \"functions\": [ { \"function\": \"looting_enchant\", \"count\": { \"min\": 0, \"max\": 1 } }, { \"function\": \"enchant_random_gear\", \"chance\": 0.25 } ] } ] } ] }","title":"Minecraft Add-On 如何讓實體手上拿物品","type":"minecraft"},{"content":"Minecraft基岩版想要新增UI，可以從「字體」檔案下手，修改遊戲的原本UI檔案，然後配合/title指令來顯示自訂圖示。\n這個方法的缺點是只適合新增小圖示，也不太能自訂位置。\n本文的範例: 在　杰　難　逃 著名的Add-On如Expansive Fantasy，利用這個原理做出了「魔力條」。 還有這個為基岩版引進1.9戰鬥更新的Add-On，在螢幕上顯示的劍圖示也是從字體修改來的。\n1. 改Emoji的原理 # Minecraft使用一套私有的Unicode（專業講法叫做私人區），裡面定義了一套遊戲圖示，這些字元在瀏覽器打出來都無法顯示，會顯示成「？」號或者打叉方格。\n但在Minecraft中，這些字元會變成特定的圖示。換句話說，Minecraft自己定義了一套Emoji。\n從Bedrock Wiki的頁面選取，複製一個打叉方格： CTRL+V貼到Minecraft聊天欄裡，就會變成對應的圖示，例如Switch的按鈕。 Minecraft的圖示位於原版資源包/font/glyph_E0.png (原始檔可到Bedrock Wiki下載，下圖有壓縮過) 和/font/glyph_E1.png 上面Bedrock Wiki表格的打叉方框，就是這些Unicode在遊戲中的樣子，僅在Minecraft中才會顯示出圖示。\n另外透過上二張圖能夠發現， 圖片中每個圖示都有自己對應的位置，標上數字就會變成下圖這樣： 第一張圖片是512x512像素，第二張是256x256像素。\nMinecraft圖示Unicode的規則為：0x + [E0或E1] + [排數+行數]\n參考上圖，飽食度的圖示就是\u0026quot;0xE100\u0026quot;，把這個數字輸入到Bedrock Wiki最下面的計算機，就能得到Unicode字元。瀏覽器雖然無法顯示，但是可以複製。 把Result裡的複製後在遊戲中貼上，果然是飽食度圖示！ 所以，把空白的emoji圖示取代成自己的圖片就能達到自訂UI的效果，glyph_E1.png比較多空位，但未來遊戲更新會不會把空位填滿就不知道了。\n另外font資料夾也包含非英文字的字體圖片(拆開原版資源包就有)，所以也能改冷門語種的字體檔案來達成目的。\n2. 實戰 # 要在狀態欄顯示圖示，可以用/title actionbar指令。\n甚至不需要做成Add-On，用資源包＋指令方塊實現就可以了。\n1.在glyph_E0.png新增杰哥的圖示\n製作的時候可以把上面有數字的那張圖墊在下面參考。 根據測試，如果把字體檔案放大，遊戲中的圖示也會跟著變大。\n接著做成資源包，設定指令方塊的條件。 這個圖示的位置是0xE0ED 這樣玩家踩在床上就會出現這個圖示。 在　杰　難　逃 ","date":"2021年8月30日","externalUrl":null,"permalink":"/posts/minecraft-add-on-emoji-ui/","section":"Minecrafts","summary":"Minecraft基岩版想要新增UI，可以從「字體」檔案下手，修改遊戲的原本UI檔案，然後配合/title指令來顯示自訂圖示。\n這個方法的缺點是只適合新增小圖示，也不太能自訂位置。\n本文的範例: 在　杰　難　逃 著名的Add-On如Expansive Fantasy，利用這個原理做出了「魔力條」。 還有這個為基岩版引進1.9戰鬥更新的Add-On，在螢幕上顯示的劍圖示也是從字體修改來的。\n1. 改Emoji的原理 # Minecraft使用一套私有的Unicode（專業講法叫做私人區），裡面定義了一套遊戲圖示，這些字元在瀏覽器打出來都無法顯示，會顯示成「？」號或者打叉方格。\n但在Minecraft中，這些字元會變成特定的圖示。換句話說，Minecraft自己定義了一套Emoji。\n從Bedrock Wiki的頁面選取，複製一個打叉方格： CTRL+V貼到Minecraft聊天欄裡，就會變成對應的圖示，例如Switch的按鈕。 Minecraft的圖示位於原版資源包/font/glyph_E0.png (原始檔可到Bedrock Wiki下載，下圖有壓縮過) 和/font/glyph_E1.png ","title":"Minecraft Add-On 改Emoji字體檔案實現自訂UI","type":"minecraft"},{"content":" 整理時間：2023年8月28日\n警告：前方高能，有大量反人類的不適畫面，心靈不夠成熟者請立即離開。\n警告：前方高能，有大量反人類的不適畫面，心靈不夠成熟者請立即離開。\n警告：前方高能，有大量反人類的不適畫面，心靈不夠成熟者請立即離開。\n警告：前方高能，有大量反人類的不適畫面，心靈不夠成熟者請立即離開。\n警告：前方高能，有大量反人類的不適畫面，心靈不夠成熟者請立即離開。\n謹以此紀念我那段精神不穩定的時光所創作的東西。\n在此公佈畫過的畫作。2021年，因為變態課程要求，焦慮症越顯嚴重，所以我\u0026hellip;開始畫起了髒圖。畫圖的時候可以進入心流狀態，讓人消解壓力。\n鑑於Pixiv逼我打碼，在此公開一部分無碼圖。\nKomica島民常說「狗屎爛畫」、「塗鴉廚」，我畫得就是這樣的東西。\n對一般價值觀來說，我畫的是髒圖，而且算重口味的內容。這是符合我性癖好的真實顯現(manifest)，不如說就是滿足我本身\u0026quot;Deep dark fantasy\u0026quot;所繪製的吧。 期間不過6個月，這樣的圖我繪製了20張以上。雖然有畫一些正常的軍機和meme的圖片。但大部份時候，我是抱著發洩性慾的心情下去畫髒圖的。\n先談論作畫收穫，還有那些圖片的啟示。\n1. 使用Photoshop和低階繪圖板作畫 # 現在我對專有軟體可是恨之入骨(?)，很後期才想到用Krita。當時是因為被Adobe的廣告話術騙到，買了一整年的學生會員，才深入學習了Photoshop的各個功能。Photoshop最好用的應該就是圖層遮罩吧，在畫上線稿後，將填滿顏色的圖層隔離出來，就能在上面塗抹陰影。雲端存檔PSD的功能也不錯，當時還有買iPad，其實是可以兩邊同步工作的\u0026hellip;只不過彼時的我還沒有聰明到這樣做。\n繪圖板部份，我長期用1000塊台幣的低階繪圖板TOOYA Fun塗鴉享樂版，那個筆還要裝電池耶www，然後驅動程式只支援Windows。在畫的時候，我只是本能的利用以前學過水彩和素描的技法，用力的在塑膠板子上畫過，完全沒有珍惜的概念。因此現在這塊板子看起來就像是被貓抓過一樣，但是它很耐操，讓我完成一幅幅作品。\n老實說畫圖基礎是趨近於0，以前只有學過業餘的水彩創作而已，素描畫的可謂是生靈塗「炭」。所以是從模仿人物動作、描圖，熟悉電子作畫開始。此過程大約一二個月。接著學到了偷吃步：利用以前學過的3D建模技術來擺人物動作，然後還買了Clip Studio，就為了用有物理計算的虛擬人偶\u0026hellip;真是bo´-ts\u0026rsquo;ai`-tsĩ´。\n畫下來對這些常見作畫和修圖軟體有了更深入的認識，為之後要轉換到開源軟體打下了基礎。\n2. 有小故事的正常圖 # 畫的圖背後都有些小故事，這邊是普遍級的，常自作多情的給原作附上一些額外意義。\n完整繪圖故事列表在此。\n一開始是L\u0026rsquo;Internationale 國際歌，Pixiv連結，畫了一張概念圖，圖片是神威、塔什干、信賴、十月革命。構圖仿造中國第一個重金屬樂團 - 唐朝樂隊的專輯封面。\n後來還有：Amnesia FGO阿斯忒里翁失憶，Pixiv連結，惡搞Radiohead - Amnesia專輯封面。FGO裡面也有阿斯忒里翁失憶，忘掉尤瑞艾莉的劇情。\n2021年5月，趁艦これ2021春活新艦畫了4位新艦娘，蹭熱度。\n希望醫院工作的人員可以平安，包括在醫院工作的巴哈姆特網友，下禮拜學校的活動都被禁止了。當我真的有一頭牛的時候，我就我沒那個屁股、那個資格批評繪師的心血。有云沒有實力的人才會胡說八道，在此是要致歉的了。我不知道他們的圖有哪裡不可取，但我可以知道哪裡值得學習，尤其是艤裝設計部分。隨著現實中疫情和線上的作戰進行中，連續畫了4幅圖片，接下來應該能繼續馬拉松。各圖的標題都取好玩的，且我盡量不再讓艦娘投射我的話語。維持慣例，4張有3張是18+的。\n北安普頓級重巡 北安普頓，無題：Pixiv連結\n伊201型潛艦 伊203，\u0026ldquo;See I-203 Play\u0026rdquo; 看伊203(拿潛水艦補給艦物資)玩耍：Pixiv。標題出處: Pink Floyd於1967年發表的單曲\u0026quot;See Emily Play\u0026quot;\n丁型驅逐艦 桃，\u0026ldquo;In the Morning of Momo\u0026rdquo; 桃的早晨：Pixiv。標題出處: \u0026ldquo;In the Morning of the Magicians\u0026rdquo;，收錄在the flaming lips的專輯《良美大戰粉紅機器人》\n夕雲級驅逐艦 巻波，「花房姑娘」：Pixiv。標題出處: 崔健的歌曲，收錄在《新長征路上的搖滾》。\n最後附記: 儘管還是找不到Johnston，不過Fletcher撈到二號機了。\n再一個附記: 卷波的下著實在太讚ㄌ。\n3. 然後畫的都是些重口的色情圖呢 # 有些圖片有多圖，需點進Pixiv網址查看。有些繪圖故事列表在此。\n跟正常圖一樣，基本上每張色情圖都有背後的「創作故事」，但是看到我的畫風還敢點進來的，多半手都很忙，所以標題裡面隱藏的梗也就沒有人會去注意。\n在繪圖內容部份，我想來點刺激的，初期就從「孕肚」下手。使用蒙太奇的手法，將搜尋來的圖片，搭配3D人偶構築出草圖，邊參考邊畫成2D。使用的技法都像是在畫水彩，抹就完事了，這也是繪圖板被刮花的主要原因。\n繪畫的角色主要都是從《艦隊收藏》隨機挑選，此動漫作品在Pixiv上還算有人氣。\n在上傳作品時，知曉了台灣也有一些同好喜歡畫這類艦隊收藏的孕肚作品，例如畫過不知火和亞特蘭大的GaryLIn，默默給他們點了喜歡表達支持，他們的Patreon內容也很讚。\n但因為我是畫好玩的，因此從沒認真看待未來粉絲經營，更何況出本了！曾想過開Patreon但仍關掉了，我也不接委託，亦不在Twitter宣傳畫作。因為我根本沒有閒到每天塗一張正常圖來累積人氣（我看知名繪師都要畫100張以上風格才穩定下來），我畫R18的圖片純粹是為了滿足自己嗜好用。\n有趣的是，我從沒看我自己的圖尻過，通常是在畫的過程中感覺到心流，心滿意足，就不會想尻了。\n懷孕、出產 # 伊勢 練習：就只是一張站姿練習。 Until Death Do Us Unite：畫了武藏和大和挺著孕婦肚子對望的圖片，用魚雷表示她們一樣的悲慘下場。構圖參考自Sodom金屬樂團的專輯《Til Death Do Us Unite》起名。好中二，但之後的圖片命名習慣大抵都是如此。 Breathe In The Air：Nelson用力站著生產的圖片，姿勢參考德國自然產倡議者Sarah Schmid的影片。標題從Pink Floyd的歌曲得名《Breathe (In the Air)》，很黑色幽默是吧。 Nude：畫了長門躺著出產的圖片，胎兒必須要有羊水，要泡澡。得名自Radiohead - Nude Sorrow：目前為止閱覽人數蠻多的連環畫：陸奧躺著，胎兒被肉棒搗成肉泥。因為頂的太深入，因此胎兒流產後，母親也眼睛滲血而死。 哇靠，這也太重口了吧。當時畫完我自己都覺得噁心了\u0026hellip;這不是別人委託，是某種衝動驅使下畫出來的東西。\n因為結局負面，所以此圖得名Pink Floyd的歌曲《Sorrow》。\n在那之後，收到Pixiv叫我注意打碼的訊息。我忘了這是日本網站，露上面可以，露下面卻要畫上海苔。修正重新上傳後，評論區的觀眾似乎有些不滿\u0026hellip;但這也沒辦法。\n帝王切開：這次畫的是FGO的尼祿皇帝。「帝王切開」在日文就是剖腹產的意思，以此當作雙關。 Drama Disassembled 大鯨：靈感來自陳若曦《最後夜戲》和洪醒夫《散戲》。辛苦生存的大鯨染上毒癮，卻還要給嬰兒哺乳。 Tropic Love：跟挺著西瓜肚的長門出遊的幸福時光。題名出自Minecraft歌曲Diviners feat. Contacreast - Tropic Love You Little Pretty Things!!：可愛的龍驤後入式。明明是我老婆卻畫得不好，尤其是腮紅。題名出自David Bowie - Oh! You Pretty Things Out：懷上深海Wo醬孩子的陸奧，Wo醬已等不及要把孩子拖出來了！孩子也正在撐破肚皮呢！我自認上色有進步啦\u0026hellip;到這邊胎兒皮膚雖是深海棲艦的白色，但有抓到那種光滑肌膚的描繪手法。 Here Comes A Giant Fist!!：陸奧懷孕卻承受深海的腹擊交，最終揍到流產脫垂。這張畫的太爛，所以就是搞笑成份居多。標題來自派大星的名言「嚐嚐我的海星巨拳！」。 Not Gentle C-section：陸奧出產。Gentle C-Sections是一種自力生產的方式，讓嬰兒自己「爬」出來。那個ESIA我已經忘記是什麼了\u0026hellip;是麻藥輸送管？ See I-203 Play： 看伊203(拿潛水艦補給艦物資)玩耍，畫I-203露出孕肚和屁股的角度。得名自Pink Floyd早期歌曲《See Emily Play》。 It\u0026rsquo;s a kind of Magic：終於畫了蘿莉卻有超大孕肚的畫面，占守要撐住啊！占守小小的身軀卻懷上了二個孩子？標題出自：Queen - A Kind of Magic A Kid：陸奧出產，胎兒卻要馬上被深海棲艦吃掉，孕肚上的墮胎標記表示這已經不是第一回了。得名自Radiohead的專輯《Kid A》。 直撃だよ……：受孕示意圖，惡搞最上的台詞。因為沒裸露曾想偷渡到正常區域，但還是被人打上R18標籤，所以我就自主改回R18分類了。 Careful with that\u0026hellip; Eugen：飢渴難耐的孕肚歐根親王直接坐在肉棒上，然後胎兒就像大便一樣被戳出來，自然產下了。得名自Pink Floyd - Careful With That Axe, Eugene More you love more you birth：艦隊收藏半退坑的情況下畫的。畫的是Scamp連環生產。得名自A Flock of Seagulls - The More You Live, The More You Love Feel the Pain：更久沒畫之後的產物，加賀的小孩頭上腳下不正常出產的痛苦樣子。標題出自GTA LCS歌曲Purser - Take The Pain Lo # 佐渡 It ain\u0026rsquo;t easy!：參考暗網流出的圖片的姿勢畫的。標題來自David Bowie - It ain\u0026rsquo;t easy! Split：上面正常圖「分裂 霞」的孿生作品，霞幫主角戴上套子。這是原創畫面，沒參考現有圖片。 Hunky-Dory：畫對馬成為風俗娘的感覺，幫戴套的有錢人口交。得名自David Bowie專輯《Hunky-Dory》。 In the Morning of Momo：丁型驅逐艦，桃。標題出處: \u0026ldquo;In the Morning of the Magicians\u0026rdquo;，收錄在The Flaming Lips的專輯《良美大戰粉紅機器人》 巻波：普通的內衣艦娘照。繪圖成本都花在背景的布料質感了。隱藏標題「花房姑娘」出自崔健的歌曲，收錄在《新長征路上的搖滾》。 Nobody Home：一個人的占守在家裡偷自慰。標題出自：Pink Floyd - Nobody Home Fiddle about：龍驤後背式。標題出自The Who - Fiddle about 其他 # Good Vibrations：浜風跑步乳搖，因為技術不好我畫起來不夠色，She isn\u0026rsquo;t give me excitation。標題出自The Beach Boys - Good Vibrations Dialect Police Oyodo：仿支語警察系列構圖的大淀。這個梗只有台灣人知道，所以這張圖在外人看來就一張普通的圖而已。 Johnston：一張普通的Johnston巨乳照。 Why Don\u0026rsquo;t We Do It in the Road?：摩耶在路上被壓著幹。得名自Beatles的同名歌曲。啊嘞，這首曲子太老了嗎？ USS Northampton ノーザンプトン：活動新船。 Fat Old Sun：簡單的陸奧巨乳照，嘗試了不一樣的臉型畫法。得名自Pink Floyd - Fat Old Sun A Pillow of Wind：浦「風」的枕頭。得名自Pink Floyd - A Pillow of Wind 4. 結語 # 在2021年後就不太想畫了，也許跟Adobe訂閱到期、艦隊收藏半退坑有關。我有一段時間不再關注艦隊收藏的消息了，繪圖消解焦慮的路線已經有了其他東西替代：研究開源作業系統。\nPixiv已經變成黑歷史場所了，要跟人展示我畫的東西，他們就會一併看到這些深邃黑暗幻想\u0026hellip;。用歌曲命名也是很幼稚的行為，我又不像荒木飛呂彥那樣偉大。這樣也是在玷污那些偉大的藝術家，因此是錯誤的作法。\n繪圖技能樹感覺都點到修圖、描繪孕婦、乳頭、妊娠紋、子宮上面了，硬繪畫技巧學得不多。在那期間觀摩厲害的繪師學到的知識不能說沒用，只是後來還有其他東西想追求，所以這些學習的過程就當成養分，期待未來哪天會用到。\n雖然認為現在沒必要隱藏，但是萬一，哪天真的需要平台放我的專業作品集時，就只好遷移到Devian Art了吧。\n","date":"2021年8月28日","externalUrl":null,"permalink":"/posts/pixiv-2021/","section":"Artworks","summary":" 整理時間：2023年8月28日\n警告：前方高能，有大量反人類的不適畫面，心靈不夠成熟者請立即離開。\n警告：前方高能，有大量反人類的不適畫面，心靈不夠成熟者請立即離開。\n警告：前方高能，有大量反人類的不適畫面，心靈不夠成熟者請立即離開。\n警告：前方高能，有大量反人類的不適畫面，心靈不夠成熟者請立即離開。\n警告：前方高能，有大量反人類的不適畫面，心靈不夠成熟者請立即離開。\n謹以此紀念我那段精神不穩定的時光所創作的東西。\n在此公佈畫過的畫作。2021年，因為變態課程要求，焦慮症越顯嚴重，所以我…開始畫起了髒圖。畫圖的時候可以進入心流狀態，讓人消解壓力。\n","title":"漫談2021年我在Pixiv畫18禁動漫圖的瘋狂時光","type":"artwork"},{"content":"注意：這篇文章介紹的是舊版的Scripting API，Minecraft 1.18以後已經從遊戲中移除。\n2018年加入的Scripting API (腳本API) 是用於控制Minecraft Add-On組件的腳本程式，以JavaScript寫成，可以自訂UI和對Minecraft做更進階的操作。\n不過Script API只能運作在Windows 10或伺服器。\n2021年，Mojang加入了Gametest Framework，舊的Scripting API稱做v1。官方在Q\u0026amp;A已經表示若發展成熟，舊的Scripting API就會被取代掉，畢竟Scripting API已經N年沒更新了。可以確定的是，這些新項目將保證在手機上也能運作，而不是只限電腦。\n2022年，Scripting API正式被新的Script API取代。請看：Minecraft基岩版Add-On Script API入門\n1. 在manifest.json中註冊使用Scripting API # 腳本是放在行為包中，除了註冊代表行為包的\u0026quot;data\u0026quot;外，還要使用\u0026quot;client_data\u0026quot;來註冊。\n{ \u0026#34;format_version\u0026#34;: 2, \u0026#34;header\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;Scripting API 範本包\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Scripting API 範本包\u0026#34;, \u0026#34;min_engine_version\u0026#34;: [ 1, 14, 0 ], \u0026#34;uuid\u0026#34;: \u0026#34;cd60231a-ebd3-450b-95af-2dea0034b1e0\u0026#34;, \u0026#34;version\u0026#34;: [ 0, 0, 1 ] }, \u0026#34;modules\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;data\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Scripting API module\u0026#34;, \u0026#34;uuid\u0026#34;: \u0026#34;3bde2b9a-051c-49ab-905e-e6eda498a34e\u0026#34;, \u0026#34;version\u0026#34;: [ 0, 0, 1 ] }, //Scripting API { \u0026#34;type\u0026#34;: \u0026#34;client_data\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;Scripting API module\u0026#34;, \u0026#34;uuid\u0026#34;: \u0026#34;fbf54196-a027-4d22-a976-c2b390c0fe94\u0026#34;, \u0026#34;version\u0026#34;: [ 0, 0, 1 ] } ] } 2. 檔案結構 # 腳本檔案放在行為包scripts/下，裡面有server和client二個資料夾，二個資料夾下又可以有個別的js，代表伺服器端和使用者端，有不同的函數可以使用。但沒有硬性規定要分client和server資料夾放。\n3. 簡單的例子 # 這個範本改寫自Bedrock Wiki\n行為包scripts/server/serverScript.js，輸入:\n//註冊server端的system const systemServer = server.registerSystem(0, 0) // 腳本完整載入後就會執行 systemServer.initialize = function () { // 開啟除錯訊息 const scriptLoggerConfig = this.createEventData( \u0026#39;minecraft:script_logger_config\u0026#39; ) scriptLoggerConfig.data.log_errors = true scriptLoggerConfig.data.log_information = true scriptLoggerConfig.data.log_warnings = true this.broadcastEvent(\u0026#39;minecraft:script_logger_config\u0026#39;, scriptLoggerConfig) //開始註冊事件，組件，監聽器... this.counter = 0 } // 每1秒執行20次 systemServer.update = function () { this.counter++ if (this.counter === 20) { this.log(\u0026#39;Server!\u0026#39;) this.counter = 0; } } //顯示訊息的方法 systemServer.log = function (input) { const chatEvent = this.createEventData(\u0026#39;minecraft:display_chat_event\u0026#39;) chatEvent.data.message = input; this.broadcastEvent(\u0026#39;minecraft:display_chat_event\u0026#39;, chatEvent) } // 離開世界時執行 systemServer.shutdown = function () { } 行為包scripts/client/clientScript.js，輸入：\n// 註冊client端的system const systemClient = client.registerSystem(0, 0) // 腳本完整載入後就會執行 systemClient.initialize = function () { // 開啟除錯訊息 const scriptLoggerConfig = this.createEventData( \u0026#39;minecraft:script_logger_config\u0026#39; ) scriptLoggerConfig.data.log_errors = true scriptLoggerConfig.data.log_information = true scriptLoggerConfig.data.log_warnings = true this.broadcastEvent(\u0026#39;minecraft:script_logger_config\u0026#39;, scriptLoggerConfig) // 開始註冊事件，組件，監聽器... this.counter = 0 } // 每1秒執行20次 systemClient.update = function () { // print hello world to the world\u0026#39;s chat once per second this.counter++ if (this.counter === 20) { this.log(\u0026#39;Client!\u0026#39;) this.counter = 0; } } //顯示訊息的方法 systemClient.log = function(input){ const chatEvent = this.createEventData(\u0026#39;minecraft:display_chat_event\u0026#39;) chatEvent.data.message = input; this.broadcastEvent(\u0026#39;minecraft:display_chat_event\u0026#39;, chatEvent) } // 離開世界時執行 systemClient.shutdown = function () { } 啟用這個行為包進入世界後，client和server的script會交替執行(每1秒20次)，並一直輪流顯示訊息在聊天欄中。 在這裡可以觀察到，總是server端先執行，才輪到client端。\n按這裡閱讀Scripting API文檔\nMCPEDL上用Scripting API寫成的作品\n","date":"2021年8月26日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-scripting-api/","section":"Minecrafts","summary":"注意：這篇文章介紹的是舊版的Scripting API，Minecraft 1.18以後已經從遊戲中移除。\n2018年加入的Scripting API (腳本API) 是用於控制Minecraft Add-On組件的腳本程式，以JavaScript寫成，可以自訂UI和對Minecraft做更進階的操作。\n不過Script API只能運作在Windows 10或伺服器。\n2021年，Mojang加入了Gametest Framework，舊的Scripting API稱做v1。官方在Q\u0026A已經表示若發展成熟，舊的Scripting API就會被取代掉，畢竟Scripting API已經N年沒更新了。可以確定的是，這些新項目將保證在手機上也能運作，而不是只限電腦。\n2022年，Scripting API正式被新的Script API取代。請看：Minecraft基岩版Add-On Script API入門\n1. 在manifest.json中註冊使用Scripting API # 腳本是放在行為包中，除了註冊代表行為包的\"data\"外，還要使用\"client_data\"來註冊。\n{ \"format_version\": 2, \"header\": { \"name\": \"Scripting API 範本包\", \"description\": \"Scripting API 範本包\", \"min_engine_version\": [ 1, 14, 0 ], \"uuid\": \"cd60231a-ebd3-450b-95af-2dea0034b1e0\", \"version\": [ 0, 0, 1 ] }, \"modules\": [ { \"type\": \"data\", \"description\": \"Scripting API module\", \"uuid\": \"3bde2b9a-051c-49ab-905e-e6eda498a34e\", \"version\": [ 0, 0, 1 ] }, //Scripting API { \"type\": \"client_data\", \"description\": \"Scripting API module\", \"uuid\": \"fbf54196-a027-4d22-a976-c2b390c0fe94\", \"version\": [ 0, 0, 1 ] } ] } 2. 檔案結構 # 腳本檔案放在行為包scripts/下，裡面有server和client二個資料夾，二個資料夾下又可以有個別的js，代表伺服器端和使用者端，有不同的函數可以使用。但沒有硬性規定要分client和server資料夾放。\n","title":"Add-On Scripting API 入門","type":"minecraft"},{"content":"Add-On Maker是圖形化的簡易Add-on製作APP，類似Java版的MCreator模組製作器，現提供Android版(下載)和iOS版(下載)。\n特色是不需要打程式碼，簡單按幾個按鈕就能輸出Add-on檔案，裡面有很多預設的皮膚和模型可以使用，有些要花錢解鎖。\n裡面的選項都有中文翻譯，雖然簡體版翻得不是很好，但願我翻的繁體版本能早點加入。\nAdd-On Maker雖是簡便的工具，但要深入了解Add-On運作，可加入官方FB社團一起討論，或者使用更進階的bridge.在電腦上開發Add-On。\n影片簡介- 使用Add-On Maker製作物品與新生物：\n","date":"2021年8月26日","externalUrl":null,"permalink":"/posts/add-on-maker-app/","section":"Minecrafts","summary":"Add-On Maker是圖形化的簡易Add-on製作APP，類似Java版的MCreator模組製作器，現提供Android版(下載)和iOS版(下載)。\n特色是不需要打程式碼，簡單按幾個按鈕就能輸出Add-on檔案，裡面有很多預設的皮膚和模型可以使用，有些要花錢解鎖。\n裡面的選項都有中文翻譯，雖然簡體版翻得不是很好，但願我翻的繁體版本能早點加入。\nAdd-On Maker雖是簡便的工具，但要深入了解Add-On運作，可加入官方FB社團一起討論，或者使用更進階的bridge.在電腦上開發Add-On。\n影片簡介- 使用Add-On Maker製作物品與新生物：\n","title":"在手機上製作Add-On模組，Add-On Maker簡介","type":"minecraft"},{"content":"Add-On官方是翻譯叫附加包。Resource Pack是資源包，Behavior Pack是行為模式包，這二者組成完整的附加包。\n後二者我沒意見，但是Add-On的譯名值得討論，私以為用過分細分的名詞來稱呼會導致新手玩家分辨不易。\n維基百科對模組(Mod)的定義：模組多指遊戲廠商或者熱心玩家對於原版電子遊戲在功能方面的修改，遊戲模組必須依賴與原作品方可執行遊玩。\n因此，用模組概括Add-On也未嘗不可。2016加入Add-On之前，流行的所謂模組是用JS寫成的ModPE，俗稱插件，台灣實況主崇宏最先使用，後來台灣普遍都使用這種叫法，中國則是直接叫JS。\n在Add-On之後，又蹦出來InnerCore啟動器，這種啟動器用的模組是叫做icmod。\n不管Add-On和插件，都是會修改Minecraft行為，因此可用廣義的模組一詞來稱呼。當然，這也可能增加搞混的情況，因為伺服器也有叫做Plugin的插件系統。\n（以下為個人意見）\n不要起爭議的話，直接用英文的叫法就好，省得在那邊吵Add-On跟模組不一樣。\n要多好才能被稱作模組？有一套API？功能必須無所不能？Java版的Fabric功能還沒Forge多，還不是一樣被納入模組？\n目前生態系看來，Add-On就是最接近模組功能的東西。\n","date":"2021年8月24日","externalUrl":null,"permalink":"/posts/minecraft-add-on-translation-names/","section":"Minecrafts","summary":"Add-On官方是翻譯叫附加包。Resource Pack是資源包，Behavior Pack是行為模式包，這二者組成完整的附加包。\n後二者我沒意見，但是Add-On的譯名值得討論，私以為用過分細分的名詞來稱呼會導致新手玩家分辨不易。\n維基百科對模組(Mod)的定義：模組多指遊戲廠商或者熱心玩家對於原版電子遊戲在功能方面的修改，遊戲模組必須依賴與原作品方可執行遊玩。\n因此，用模組概括Add-On也未嘗不可。2016加入Add-On之前，流行的所謂模組是用JS寫成的ModPE，俗稱插件，台灣實況主崇宏最先使用，後來台灣普遍都使用這種叫法，中國則是直接叫JS。\n在Add-On之後，又蹦出來InnerCore啟動器，這種啟動器用的模組是叫做icmod。\n不管Add-On和插件，都是會修改Minecraft行為，因此可用廣義的模組一詞來稱呼。當然，這也可能增加搞混的情況，因為伺服器也有叫做Plugin的插件系統。\n（以下為個人意見）\n不要起爭議的話，直接用英文的叫法就好，省得在那邊吵Add-On跟模組不一樣。\n要多好才能被稱作模組？有一套API？功能必須無所不能？Java版的Fabric功能還沒Forge多，還不是一樣被納入模組？\n","title":"Minecraft Add-On的中文應該怎麼稱呼","type":"minecraft"},{"content":"NPC是Minecraft基岩版可以自訂對話框的互動實體，必須用指令生怪蛋獲得。一般情況下，玩家可以自訂按鈕，而按鈕按下後可以自訂要執行的指令。\n而隨著/dialogue指令的加入，玩家可以操控、修改NPC顯示的對話框，因此能夠整合到Add-On中當作引導角色。如果修改資源包UI的json檔案的話，要做成像伺服器的介面也是有可能的。\n用途舉例：如果你的Add-On有很多武器，創造背包又顯得太雜亂，這時讓玩家透過某個物品打開對話框，按按鈕拿東西會比打指令直覺許多。\n本文範例會新增一個物品，使用時會執行/dialogue指令，讓隱形的NPC顯示對話框，玩家按下按鈕就能進行傳送，這些都能透過Add-On事先定義好。文章後面可以下載我製作的範本檔案。\n1. /dailogue指令用法 # 這個指令用於開啟附近NPC指定的對話框，sceneName下一段落會說明。\n/dialogue open npc: target\u0026gt; player: target [sceneName:string] 這個指令用於修改附近NPC指定的對話框，但要切換對話框的話用open就好了。\n/dialogue change npc: target sceneName:string [player: target] 按下的指令可以使用特殊的選擇子@initiator，這樣能夠確保執行指令的對象都是指向開啟對話框的玩家。\n2. 建立NPC對話框 # NPC對話框的檔案儲存在行為包的dialogue資料夾，這個範本檔案叫做teleport_dialog.json。\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.17\u0026#34;, \u0026#34;minecraft:npc_dialogue\u0026#34;: { \u0026#34;scenes\u0026#34;: [ //第一個對話框 { \u0026#34;scene_tag\u0026#34;: \u0026#34;menu1\u0026#34;, \u0026#34;npc_name\u0026#34;: \u0026#34;傳送\u0026#34;, \u0026#34;text\u0026#34;: \u0026#34;選擇傳送選項\u0026#34;, \u0026#34;on_open_commands\u0026#34;: [ \u0026#34;/say 你好\u0026#34; ], \u0026#34;on_close_commands\u0026#34;: [ \u0026#34;/say 再見\u0026#34; ], \u0026#34;buttons\u0026#34;: [ { \u0026#34;name\u0026#34;: \u0026#34;世界原點\u0026#34;, \u0026#34;commands\u0026#34;: [ \u0026#34;/tp @initiator 0 128 0\u0026#34; ] }, { \u0026#34;name\u0026#34;: \u0026#34;往上或往下\u0026#34;, \u0026#34;commands\u0026#34;: [ \u0026#34;/dialogue open @e[type=npc,c=1] @initiator menu2\u0026#34; ] } ] }, //第二個對話框 { \u0026#34;scene_tag\u0026#34;: \u0026#34;menu2\u0026#34;, \u0026#34;npc_name\u0026#34;: \u0026#34;傳送到哪裡?\u0026#34;, \u0026#34;text\u0026#34;: \u0026#34;選擇一個傳送點\u0026#34;, \u0026#34;on_open_commands\u0026#34;: [ \u0026#34;/say 你好\u0026#34; ], \u0026#34;on_close_commands\u0026#34;: [ \u0026#34;/say 再見\u0026#34; ], \u0026#34;buttons\u0026#34;: [ { \u0026#34;name\u0026#34;: \u0026#34;返回上一個介面\u0026#34;, \u0026#34;commands\u0026#34;: [ \u0026#34;/dialogue open @e[type=npc,c=1] @initiator menu1\u0026#34; ] }, { \u0026#34;name\u0026#34;: \u0026#34;往上\u0026#34;, \u0026#34;commands\u0026#34;: [ \u0026#34;/tp @initiator ~ ~+64 ~\u0026#34; ] }, { \u0026#34;name\u0026#34;: \u0026#34;往下\u0026#34;, \u0026#34;commands\u0026#34;: [ \u0026#34;/tp @initiator ~ ~-64 ~\u0026#34; ] } ] } ] } } \u0026ldquo;screentag\u0026quot;就是指令會用到的screenname。上面的程式有二個screentag，代表是不同的對話框。\n\u0026ldquo;texts\u0026quot;是顯示的文字。\n\u0026ldquo;npc_name\u0026quot;是NPC的名字，可以改寫成:\n\u0026#34;npc_name\u0026#34;: { \u0026#34;rawtext\u0026#34;: [ { \u0026#34;translate\u0026#34;: \u0026#34;entity.endermite.name\u0026#34; } ] } 這樣就能透過texts/的.lang檔案來進行翻譯，這個範例會把名字變成終界蟎。\n\u0026ldquo;on_open_command\u0026quot;是打開對話框會執行的指令。\n\u0026ldquo;on_close_command\u0026quot;是關閉對話框會執行的指令。\n3. 範例：生成隱形的NPC，並讓玩家透過自訂物品開啟介面 # 召喚NPC的指令 # 行為包的functions/setup.mcfunction用於召喚NPC，會生成一個NPC在世界暗處，僅當作開啟面板的媒介。\n如果tickingarea無效，那就只能把NPC改生成在玩家旁邊測試。\ntickingarea add 0 1 0 0 2 0 summon npc \u0026#34;§r\u0026#34; 0 1 0 新增物品 # 在行為包的/items新增teleport_menu.json：\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.16.100\u0026#34;, \u0026#34;minecraft:item\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;dialog:teleport_menu\u0026#34;, \u0026#34;category\u0026#34;: \u0026#34;items\u0026#34; }, \u0026#34;components\u0026#34;: { \u0026#34;minecraft:on_use\u0026#34;: { \u0026#34;on_use\u0026#34;: { \u0026#34;event\u0026#34;: \u0026#34;open_menu\u0026#34;, \u0026#34;target\u0026#34;: \u0026#34;self\u0026#34; } }, \u0026#34;minecraft:foil\u0026#34;: true, \u0026#34;minecraft:icon\u0026#34;: { \u0026#34;texture\u0026#34;: \u0026#34;ender_pearl\u0026#34; }, \u0026#34;minecraft:display_name\u0026#34;: { \u0026#34;value\u0026#34;: \u0026#34;傳送面板\u0026#34; } }, \u0026#34;events\u0026#34;: { \u0026#34;open_menu\u0026#34;: { \u0026#34;run_command\u0026#34;: { \u0026#34;command\u0026#34;: [ \u0026#34;dialogue open @e[type=npc,c=1] @s menu1\u0026#34; ], \u0026#34;target\u0026#34;: \u0026#34;player\u0026#34; } } } } } 進入Minecraft遊戲後先輸入/function setup，接著當玩家在生存模式右鍵使用這個物品時，對話框就會打開\n按下「返回上一個介面」，則會回到第一個對話框。 按這裡下載本文所使用的範本檔案。\n參考資料 # 這篇文章參考自Bedrock Wiki。\n","date":"2021年8月23日","externalUrl":null,"permalink":"/posts/minecraft-add-on-npc-custom-dialogue/","section":"Minecrafts","summary":"NPC是Minecraft基岩版可以自訂對話框的互動實體，必須用指令生怪蛋獲得。一般情況下，玩家可以自訂按鈕，而按鈕按下後可以自訂要執行的指令。\n而隨著/dialogue指令的加入，玩家可以操控、修改NPC顯示的對話框，因此能夠整合到Add-On中當作引導角色。如果修改資源包UI的json檔案的話，要做成像伺服器的介面也是有可能的。\n用途舉例：如果你的Add-On有很多武器，創造背包又顯得太雜亂，這時讓玩家透過某個物品打開對話框，按按鈕拿東西會比打指令直覺許多。\n本文範例會新增一個物品，使用時會執行/dialogue指令，讓隱形的NPC顯示對話框，玩家按下按鈕就能進行傳送，這些都能透過Add-On事先定義好。文章後面可以下載我製作的範本檔案。\n1. /dailogue指令用法 # 這個指令用於開啟附近NPC指定的對話框，sceneName下一段落會說明。\n/dialogue open npc: target\u003e player: target [sceneName:string] 這個指令用於修改附近NPC指定的對話框，但要切換對話框的話用open就好了。\n/dialogue change npc: target sceneName:string [player: target] 按下的指令可以使用特殊的選擇子@initiator，這樣能夠確保執行指令的對象都是指向開啟對話框的玩家。\n2. 建立NPC對話框 # NPC對話框的檔案儲存在行為包的dialogue資料夾，這個範本檔案叫做teleport_dialog.json。\n","title":"Add-On 自訂Minecraft NPC的對話框 \u0026 dialogue指令用法","type":"minecraft"},{"content":"影片介紹\n以下是我覺得很不錯的1.17光影資源包，下面的連結可以個別下載光影，或下載我做的四合一整合包(轉載請標註本文來源，勿用於營利)。\n往後的Minecraft版本，只要MCPE沒有跟Win10版一樣改用Render dragon引擎的話，這些光影應該都還能用。\n光影資源包安裝教學點這裡 4. ESBE 3G # 官網下載網址\n對效能要求較低的光影，水波是最大特色，水下明亮且有反射，白天有一定的光影變化，雨天會變得潮濕，夜景只有極光天空，適合大自然，室內照明柔和接近原版遊戲。\n3. YSSBE + Vanilla Accurate # 下載YSSBE v15 beta 2\n下載Vanilla Accurate 1.8\n特色是水反射天空，以及和雲互相配合。\n水反射陽光，下雨會變得反射天空\u0026amp;白天普通，夜景不錯，室內照明柔和。\n（選配）可搭配Vanilla Accurate讓方塊表面有起伏變化，Vanilla Accurate的資源包優先級要高於YSSBE才會有效果。\n之所以列在第三名，是因為性能要求過高。\n2. SEUS # 下載seus beta 固定方向的玩家影子+光照強烈，雲+水波反射 ，水下不錯，下雨會有水波，夜景很黑，光照表現好，室內光照溫暖柔和但對比度大。\n1. CSPE 苦力怕光影 # 下載CSPE v18 beta\nCSPE是中國的光影包，事實上是要付費購買的，在愛發電上支持作者。\n但是中國境外很難付款，所以只好懷著恥辱用盜版。\n白天強烈，有圓形太陽+雲比較散開+水清澈透明，雨天樹葉飄，太陽會影響水面，夜景過藍，室內光照偏暖且強烈。\n四合一整合包 # 按這裡下載\n解壓縮密碼: shader117\n有些網路上流傳的CSPE會把遊戲主界面弄壞，我把那個部分砍掉了。\n解壓縮後裡面會有五個資料夾，手動移動到資源包的資料夾。\n如果還想看看更多光影 # 這篇文章有列出更多的基岩版光影。\n","date":"2021年8月22日","externalUrl":null,"permalink":"/posts/minecraft-1-17-best-4-shader-packs/","section":"Minecrafts","summary":"影片介紹\n以下是我覺得很不錯的1.17光影資源包，下面的連結可以個別下載光影，或下載我做的四合一整合包(轉載請標註本文來源，勿用於營利)。\n往後的Minecraft版本，只要MCPE沒有跟Win10版一樣改用Render dragon引擎的話，這些光影應該都還能用。\n光影資源包安裝教學點這裡 4. ESBE 3G # 官網下載網址\n對效能要求較低的光影，水波是最大特色，水下明亮且有反射，白天有一定的光影變化，雨天會變得潮濕，夜景只有極光天空，適合大自然，室內照明柔和接近原版遊戲。\n3. YSSBE + Vanilla Accurate # 下載YSSBE v15 beta 2\n下載Vanilla Accurate 1.8\n特色是水反射天空，以及和雲互相配合。\n水反射陽光，下雨會變得反射天空\u0026白天普通，夜景不錯，室內照明柔和。\n（選配）可搭配Vanilla Accurate讓方塊表面有起伏變化，Vanilla Accurate的資源包優先級要高於YSSBE才會有效果。\n之所以列在第三名，是因為性能要求過高。\n2. SEUS # 下載seus beta 固定方向的玩家影子+光照強烈，雲+水波反射 ，水下不錯，下雨會有水波，夜景很黑，光照表現好，室內光照溫暖柔和但對比度大。\n","title":"1.17 Minecraft基岩版光影資源包四選\u0026下載","type":"minecraft"},{"content":"雖然Minecraft基岩版是全平台都有，但如果不想另外買Windows 10版，或者是想體驗手機版才能用的光影包，那麼就可以考慮用模擬器來玩。 主流的模擬器都是模擬Android的。以下用Bluestacks 5示範，並做一些調整。\n1. 安裝Bluestacks # 在官網下載，按照指示安裝BlueStacks。\n按照電腦規格自行在設定內調整CPU和顯示卡效能。\n如果要使用光影，圖形的渲染模式要全部調成OpenGL。 登入跟手機一樣的Google帳號，進入Google Play下載Minecraft。 2. Minecraft在Google Play上顯示未購買? # Bluestacks偶爾會有已購買的app卻顯示未購買的bug，這時透過網頁版Google Play安裝可解決。\n用電腦瀏覽器打開這個網址： Minecraft\n點選「安裝」，選擇要安裝的設備（BlueStacks虛擬出來的手機型號通常都是Samsung開頭）\nBlueStacks就會收到通知，開始下載Minecraft。\n3. 調整成用鍵盤操作 # Bluestacks預設已經給Minecraft對應好鍵盤了，可直接像電腦版一樣用鍵盤操作，但還要解決用滑鼠才能轉動視角的問題。\n觸控的操作按鈕目前不能隱藏。\n遊戲設定，觸控，開啟分離控制。 接著按照這部影片調整。\n4. 把手機資料傳輸到BlueStacks中 # 確認二邊的Minecraft的世界都是儲存在外部儲存空間。\n手機內部儲存空間/games/com.mojang/中的就是Minecraft資料，把需要的部分做成壓縮檔傳到電腦。\n開啟Bluestack內建的多媒體管理器，從電腦內導入檔案到BlueStacks中，再下載WinRAR解壓縮，移動到跟手機上一樣相同的位置。\n","date":"2021年8月21日","externalUrl":null,"permalink":"/posts/play-minecraft-bedrock-in-bluestacks/","section":"Minecrafts","summary":"雖然Minecraft基岩版是全平台都有，但如果不想另外買Windows 10版，或者是想體驗手機版才能用的光影包，那麼就可以考慮用模擬器來玩。 主流的模擬器都是模擬Android的。以下用Bluestacks 5示範，並做一些調整。\n1. 安裝Bluestacks # 在官網下載，按照指示安裝BlueStacks。\n按照電腦規格自行在設定內調整CPU和顯示卡效能。\n如果要使用光影，圖形的渲染模式要全部調成OpenGL。 登入跟手機一樣的Google帳號，進入Google Play下載Minecraft。 2. Minecraft在Google Play上顯示未購買? # Bluestacks偶爾會有已購買的app卻顯示未購買的bug，這時透過網頁版Google Play安裝可解決。\n用電腦瀏覽器打開這個網址： Minecraft\n點選「安裝」，選擇要安裝的設備（BlueStacks虛擬出來的手機型號通常都是Samsung開頭）\nBlueStacks就會收到通知，開始下載Minecraft。\n3. 調整成用鍵盤操作 # Bluestacks預設已經給Minecraft對應好鍵盤了，可直接像電腦版一樣用鍵盤操作，但還要解決用滑鼠才能轉動視角的問題。\n","title":"如何在電腦上用Bluestacks玩手機版Minecraft","type":"minecraft"},{"content":"你知道C418譜曲的Minecraft背景音樂沒有版權規範，可以自由用在影片裡嗎？\nC418最著名的作品就是那些經典的Minecraft背景音樂了。\n在C418的官方網站文章：What am I allowed to do with Daniel’s music?，他聲明他的音樂可自由用於Youtube影片中，但至少影片要是有內容的。\n不要誤會，他的音樂還是有版權的，只是他不會用Content ID來煩你，不會強制出現版權聲明，不怕Youtube影片被黃標。\n相信未來只要版權還握在C418手上，在Youtube影片使用他的音樂就不會有太大問題。\nC418給Minecraft譜曲的音樂專輯主要有以下二張：\nMinecraft - Volume Alpha # 在Youtube上聆聽\n購買支持\nMinecraft - Volume Beta # 在Youtube上聆聽\n購買支持\n","date":"2021年8月21日","externalUrl":null,"permalink":"/posts/minecraft-c418-free-music/","section":"Minecrafts","summary":"你知道C418譜曲的Minecraft背景音樂沒有版權規範，可以自由用在影片裡嗎？\nC418最著名的作品就是那些經典的Minecraft背景音樂了。\n在C418的官方網站文章：What am I allowed to do with Daniel’s music?，他聲明他的音樂可自由用於Youtube影片中，但至少影片要是有內容的。\n不要誤會，他的音樂還是有版權的，只是他不會用Content ID來煩你，不會強制出現版權聲明，不怕Youtube影片被黃標。\n相信未來只要版權還握在C418手上，在Youtube影片使用他的音樂就不會有太大問題。\nC418給Minecraft譜曲的音樂專輯主要有以下二張：\nMinecraft - Volume Alpha # 在Youtube上聆聽\n購買支持\nMinecraft - Volume Beta # 在Youtube上聆聽\n購買支持\n","title":"在找沒有版權限制的Youtube背景音樂嗎？試試C418的Minecraft BGM吧","type":"minecraft"},{"content":" [悪転奏進 (黒糖ニッケ)]艦娘着妊 Johnston \u0026amp; Gambier Bay 嬌声胎姦命令 (艦隊これくしょん -艦これ-) [DL版] 第二本漢化翻譯。\n騙人的吧？我在巴哈小屋寫艦隊Collection攻略的時候，引用的一張梗圖是我隨手翻譯的，沒想到後來真的漢化全本了，但其實我翻錯了很多部份\u0026hellip;。\n第四頁eerily[sic]是副詞的說，日本人超愛晶晶體。\nポンコツ不知道說的是什麼，所以只好翻成臭傢伙。\n學到新字: 雌同士，這裡翻成婊子。\n為什麼要翻譯這本：小隻馬巨乳出產就是讚。\n本集最實用的為嬌小的Johnston被拉著口交 以及Johnston和Gambier Bay雙飛的場景，背後位幹二隻母狗 啊，孕肚頂著雞雞真是享受 ","date":"2021年8月20日","externalUrl":null,"permalink":"/posts/translation-note-johnston-and-gambier-bay/","section":"Kantai-Collections","summary":" [悪転奏進 (黒糖ニッケ)]艦娘着妊 Johnston \u0026 Gambier Bay 嬌声胎姦命令 (艦隊これくしょん -艦これ-) [DL版] 第二本漢化翻譯。\n騙人的吧？我在巴哈小屋寫艦隊Collection攻略的時候，引用的一張梗圖是我隨手翻譯的，沒想到後來真的漢化全本了，但其實我翻錯了很多部份…。\n第四頁eerily[sic]是副詞的說，日本人超愛晶晶體。\nポンコツ不知道說的是什麼，所以只好翻成臭傢伙。\n學到新字: 雌同士，這裡翻成婊子。\n為什麼要翻譯這本：小隻馬巨乳出產就是讚。\n本集最實用的為嬌小的Johnston被拉著口交 以及Johnston和Gambier Bay雙飛的場景，背後位幹二隻母狗 啊，孕肚頂著雞雞真是享受 ","title":"漢化筆記：[悪転奏進 (黒糖ニッケ)]艦娘着妊 Johnston \u0026 Gambier Bay 嬌声胎姦命令","type":"kantai-collection"},{"content":"本Minecraft基岩版Add-On模組受《少女終末旅行》(Girls\u0026rsquo; Last Tour)還有Minecraft 1.17洞穴更新啟發所製作，最初於2021年發布在MCPEDL。\n在深邃的黑暗洞窟，徒步前進，拿著火把\u0026hellip;坐在二戰德軍的半履帶摩托車上，在這個Add-On中讓玩家駕駛和載運貨物的\u0026hellip;Sd.Kfz 2半履帶摩托車。 刻意模仿《少女終末旅行》動畫的風格。 渲染圖 演示影片 Sd.Kfz 2的模型可以在Sketchfab檢視：\n","date":"2021年8月16日","externalUrl":null,"permalink":"/posts/minecraft-sdkfz2-add-on/","section":"Minecrafts","summary":"本Minecraft基岩版Add-On模組受《少女終末旅行》(Girls’ Last Tour)還有Minecraft 1.17洞穴更新啟發所製作，最初於2021年發布在MCPEDL。\n在深邃的黑暗洞窟，徒步前進，拿著火把…坐在二戰德軍的半履帶摩托車上，在這個Add-On中讓玩家駕駛和載運貨物的…Sd.Kfz 2半履帶摩托車。 刻意模仿《少女終末旅行》動畫的風格。 渲染圖 演示影片 Sd.Kfz 2的模型可以在Sketchfab檢視：\n","title":"【自製模組】少女終末旅行，Sd.Kfz 2半履帶摩托車（Minecraft基岩版軍事Add-On）","type":"minecraft"},{"content":"","date":"2021年8月16日","externalUrl":null,"permalink":"/tags/girls-last-tour/","section":"標籤","summary":"","title":"Girls Last Tour","type":"tags"},{"content":"","date":"2021年8月16日","externalUrl":null,"permalink":"/tags/heer/","section":"標籤","summary":"","title":"Heer","type":"tags"},{"content":"好的內容需要好的發布平台，而作品也能夠營利賺點小錢。 MCPEDL(mcpedl.com)是最受全球玩家歡迎的Minecraft基岩版網站之一，他們接受皮膚、資源包、地圖、模組的投稿。只要內容用英文配圖片敘述清楚，站長都會給過。\n(英文實在不行就Google翻譯，但介紹寫得好別人會對你的作品比較有興趣)\n在這裡發表作品可以獲得不錯的曝光度，也能夠在文章裡嵌入影片推廣自己的頻道。\n至於營利，不是說用賣的，而是透過短網址的方式，讓下載的人下載前看個廣告，這樣創作者可以被動獲得些許收入，常見的短網址網站有Linkvertise和Adfly。\n這篇文章討論MCPEDL的投稿流程，以及用Linkvertise營利的方式。\n1. MCPEDL投稿教學 # MCPEDL主要在Twitter分享玩家的投稿，還會標註投稿者的Twitter帳號。\n因此站長的主要聯絡管道就是Twitter私訊，可詢問有關投稿的問題。\nMCPEDL官方Twitter\n投稿作品後可以繼續更新，每次更新都要站方審核，流程為： MCPEDL的首頁: https://mcpedl.com/\n在頁面右方的綠色\u0026quot;Sign Up\u0026quot;註冊帳號。 註冊好之後，按下藍色的Submission。\n會進入到已投稿的列表，按下Create New 選取投稿類別，以Add-On為例。 開始填表。 實在不知道介紹怎麼寫的話，可以按這裡看中國玩家「鸥吃鱼」在MCPEDL發表的文章。\n有幾項必填的欄位：\nTitle: 文章標題\nBrief Introduction: 文章開頭的簡介，至少30字，建議50字以上。\nMain Description: 文章正文，至少50字和至少一張圖片，不可以直接抄襲整段文字，這裡還可以插入影片輔佐介紹。\nFile Verification: 上傳你的作品檔案用於驗證。\nDownloads - Website: 下載方式，可以提供外連網址，或直接上傳檔案到站內。\n(為避免雞蛋都同一個籃子，建議檔案還是自己放雲端保存，並用分享的給人下載)\nSupported Minecraft versions: 支援的Minecraft版本\nFeatured Image: 封面圖片\n寫完後按下Create送出。 大約1天後就會通過審核，如果沒有可以私訊Twitter。\n如果被退回，按進文章編輯的頁面，站長會附上原因。\n審核成功後大概會像這樣，同一個作品更新站長也會發推文並標記作者。 不過作品更新太頻繁的話，站長就不會每次都分享你的投稿了。\n2. Linkvertise營利教學 # Linkvertise跟Adf.ly比起來比較沒那麼討厭，可以自由選擇要讓下載者執行的任務。\n營利模式如圖:\n要收到錢，必須要先有Paypal帳號，台灣可以自由申請，需要玉山銀行帳戶才能把錢領出來。\nLinkvertise官網: https://publisher.linkvertise.com/ 左上角的Register註冊帳號。 登入之後，要先設定付款方式。點選左邊的Payout，裡面填寫Paypal的收款資料。\n可按下\u0026quot;Automatic monthly payout\u0026quot;設定每月自動請款，最低付款金額是10美元。 Enter Your Information填入收款人資料 按下Next，填入Paypal帳號。\nPaypal應該會跳出驗證介面。 完成付款資訊後，回到Dashboard，開始創建第一個Linkvertise短網址。按下Create Link。 創建網址中如有差錯，可事後編輯，不用刪掉重做。Dashbaord下方會顯示已創建的短網址。 首先填入檔案的網址。 檔案通常是上傳到Mediafire或Google雲端，按分享就能取得下載網址。 設定顯示的檔案名稱 自訂下載網址。前面有不同的網域可以選擇，但有些會被當成病毒，所以用direct-link.net就好。 很不幸的，Linkvertise會要求你寫標題和網址內容簡介。\n可以直接從MCPEDL文章複製介紹內容過來，上限200字。也可以附上影片和縮圖。 最關鍵一步，設定下載者要執行的任務。 當然勾越多錢越多，但一般有良心的創作者只會勾下圖中的\u0026quot;View Articles\u0026quot;和\u0026quot;Waiting Time\u0026quot;這二項，其他的太擾民。\n接著會示範下載者看到的是什麼畫面。 網址創建成功。 現在來模擬看看下載者點入你的網址會看到什麼畫面。\nLinkvertise會擋Adblocker。\n下載者首先會看到簡介和影片，接著按右下角Free Access With Ads.\n當使用者按下左邊的Discover Interesting Articles後，就會要求下載者看10秒的廢文 (這是真的，一半以上都是詐騙)，然後才能關閉視窗。\n按下黑色的Continue，下載者就會跳轉到真正的下載頁面。\n","date":"2021年8月16日","externalUrl":null,"permalink":"/posts/mcpedl-submission-linkvertise/","section":"Minecrafts","summary":"好的內容需要好的發布平台，而作品也能夠營利賺點小錢。 MCPEDL(mcpedl.com)是最受全球玩家歡迎的Minecraft基岩版網站之一，他們接受皮膚、資源包、地圖、模組的投稿。只要內容用英文配圖片敘述清楚，站長都會給過。\n(英文實在不行就Google翻譯，但介紹寫得好別人會對你的作品比較有興趣)\n在這裡發表作品可以獲得不錯的曝光度，也能夠在文章裡嵌入影片推廣自己的頻道。\n至於營利，不是說用賣的，而是透過短網址的方式，讓下載的人下載前看個廣告，這樣創作者可以被動獲得些許收入，常見的短網址網站有Linkvertise和Adfly。\n這篇文章討論MCPEDL的投稿流程，以及用Linkvertise營利的方式。\n1. MCPEDL投稿教學 # MCPEDL主要在Twitter分享玩家的投稿，還會標註投稿者的Twitter帳號。\n因此站長的主要聯絡管道就是Twitter私訊，可詢問有關投稿的問題。\nMCPEDL官方Twitter\n投稿作品後可以繼續更新，每次更新都要站方審核，流程為： MCPEDL的首頁: https://mcpedl.com/\n在頁面右方的綠色\"Sign Up\"註冊帳號。 註冊好之後，按下藍色的Submission。\n","title":"如何用Linkvertise營利 \u0026 MCPEDL投稿教學","type":"minecraft"},{"content":"(※以下為主觀意見)\n解釋一下mcpedl這個網站，全名是MCPE DownLoad，現在我的Facebook粉專很多內容都是從該網站取得，因為它是目前比較主流的Minecraft基岩版資源分享網站，並且允許使用者投稿。\n很久以前是由使用者在推特等地方投稿簡介給編輯，再由編輯部整理發表成文章；現在則是由使用者在網站上自行寫文章並投稿給編輯審核後直接通過，也因此人氣快速上升。基本上除了盜版apk以外，Minecraft BE的各種資源都可以找到。\n比較一下其他網站：官方的Minecraft forum的PE版板塊在Blocklauncher式微後就沒落了。\n西班牙玩家較多的MCPEUniverse網站早就不見了，官方推特宣布的。現在有一個同名的跟舊的那個沒有關係。\nfor-minecraft則是喜歡分享innercore用的模組，俄文居多，也有mcpedl沒有的獨家內容。\nMCPECore有會員分潤計畫。\n日本以前的大群組跟著Google+倒閉而消失，日本玩家喜歡在自己的Twitter上分享模組居多。\n中國玩家的minecraftpe百度貼吧因為長期沒有吧主又經歷爆吧事件，導致玩家流散到葫蘆俠、網易、Bilibili、mcbbs，可是還是有高手在持續創作。最近多了一個苦力怕論壇(KLP BBS)\n台灣的論壇很久以前有過始祖級的人物崇宏所開設的SLMT靈魂樂章中文論壇，現在還存在的就剩下多方經營的夜喵設立的Minecraft PE/BE 台灣中文網（MCPE.tw） 。apk.tw的Minecraft PE版塊現在也差不多了。巴哈Minecraft板的mcpe子板現狀還算可以。Omlet上也有中文討論社區。\n還有作者只在YouTube頻道po的。\n","date":"2021年8月15日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-forums/","section":"Minecrafts","summary":"(※以下為主觀意見)\n解釋一下mcpedl這個網站，全名是MCPE DownLoad，現在我的Facebook粉專很多內容都是從該網站取得，因為它是目前比較主流的Minecraft基岩版資源分享網站，並且允許使用者投稿。\n很久以前是由使用者在推特等地方投稿簡介給編輯，再由編輯部整理發表成文章；現在則是由使用者在網站上自行寫文章並投稿給編輯審核後直接通過，也因此人氣快速上升。基本上除了盜版apk以外，Minecraft BE的各種資源都可以找到。\n比較一下其他網站：官方的Minecraft forum的PE版板塊在Blocklauncher式微後就沒落了。\n西班牙玩家較多的MCPEUniverse網站早就不見了，官方推特宣布的。現在有一個同名的跟舊的那個沒有關係。\nfor-minecraft則是喜歡分享innercore用的模組，俄文居多，也有mcpedl沒有的獨家內容。\nMCPECore有會員分潤計畫。\n日本以前的大群組跟著Google+倒閉而消失，日本玩家喜歡在自己的Twitter上分享模組居多。\n中國玩家的minecraftpe百度貼吧因為長期沒有吧主又經歷爆吧事件，導致玩家流散到葫蘆俠、網易、Bilibili、mcbbs，可是還是有高手在持續創作。最近多了一個苦力怕論壇(KLP BBS)\n","title":"來談談主流的Minecraft基岩版(PE)討論區，以及其他網站的現狀","type":"minecraft"},{"content":"#StopMilkingOurAddons\n「停止榨取我們的Add-on」這是2020年Twitter上Add-on創作者群發出的呼籲。沒有在官方商城上架的模組作者們，大部分的人會把下載連結放adfly等網站賺取微薄廣告錢。\n但是出現了一些亂象：\n有些Youtuber拍片介紹模組，結果偷換檔案連結成自己的adfly趁機賺一手。\n中國網易的官方/私人訂做付費Add-on，都可能被人無償分享，不懂得低調，如苦力怕光影。\nGoogle Play上的各種APP，私自未經作者同意整合到自己的app裡給別人下載（類似無斷轉載），有些還塞廣告。\n再如版主自己的經歷，有些人不喜歡艦娘Addon裡的艦娘，所以私自釋出移除艦娘的版本。雖然可以理解這些人的心情，但是感覺很不好，尤其是沒有詢問過的情形下。\n為此，希望各位找模組時可以學會辨別合適來源，別直接從別人影片提供的連結就點進去。\n","date":"2021年8月15日","externalUrl":null,"permalink":"/posts/stop-milking-our-add-ons/","section":"Minecrafts","summary":"#StopMilkingOurAddons\n「停止榨取我們的Add-on」這是2020年Twitter上Add-on創作者群發出的呼籲。沒有在官方商城上架的模組作者們，大部分的人會把下載連結放adfly等網站賺取微薄廣告錢。\n但是出現了一些亂象：\n有些Youtuber拍片介紹模組，結果偷換檔案連結成自己的adfly趁機賺一手。\n中國網易的官方/私人訂做付費Add-on，都可能被人無償分享，不懂得低調，如苦力怕光影。\nGoogle Play上的各種APP，私自未經作者同意整合到自己的app裡給別人下載（類似無斷轉載），有些還塞廣告。\n再如版主自己的經歷，有些人不喜歡艦娘Addon裡的艦娘，所以私自釋出移除艦娘的版本。雖然可以理解這些人的心情，但是感覺很不好，尤其是沒有詢問過的情形下。\n為此，希望各位找模組時可以學會辨別合適來源，別直接從別人影片提供的連結就點進去。\n","title":"「停止榨取我們的Add-on」Minecraft基岩版發起的抵制運動","type":"minecraft"},{"content":"Minecraft基岩版 1.17.30.21實裝了query.block_neighbor_has_any_tag這個函數，可查詢相鄰方塊的tag。\n用法：\nquery.block_neighbor_has_any_tag (x, y, z , tag名) 利用這個函數，可偵測附近方塊的狀態，控制該方塊的外觀。\n來看Ihategravel的例子，他做出了自動連結的柱子。\n按這裡下載他的範本包\nAll the blocks update automatically btw. pic.twitter.com/x6pmjasDgy\n— Ihategravel (@ihategravel2) August 13, 2021\n自訂柵欄方塊也變的可能。\nMade working custom fences using the new molang queries in 1.17.30.21! I\u0026rsquo;ll be releasing this on @MCPEDL soon.\n(you can jump over them but mobs can\u0026rsquo;t)\nMassive thanks to @ihategravel2 for his pillar template that got me started with the new add-on features :) pic.twitter.com/zbAXtXSNfc\n— HonKit26113 (@HonKit1103) August 13, 2021\n甚至還能自訂傀儡。\nThe new codes from the blocks can be used from more thing that make connected textures, also you can make custom golems like in this example.\nThis add-on will be soon in @MCPEDL pic.twitter.com/1xGv7Yd9X9\n— Xero (@UrielXero) August 14, 2021\nIhategravel的做法是寫好方塊狀態的property。\n用tick組件隨時執行更新方塊狀態的event，使用query.block_neighbor_has_any_tag偵測上下左右放置的方塊，再交由permutation決定方塊的geometry。\nProperty用法參見：\n實體 \u0026amp; 方塊 Properties的用法\n","date":"2021年8月15日","externalUrl":null,"permalink":"/posts/minecraft-add-on-query-block-neighbor-has-any-tag-usage/","section":"Minecrafts","summary":"Minecraft基岩版 1.17.30.21實裝了query.block_neighbor_has_any_tag這個函數，可查詢相鄰方塊的tag。\n用法：\nquery.block_neighbor_has_any_tag (x, y, z , tag名) 利用這個函數，可偵測附近方塊的狀態，控制該方塊的外觀。\n來看Ihategravel的例子，他做出了自動連結的柱子。\n按這裡下載他的範本包\nAll the blocks update automatically btw. pic.twitter.com/x6pmjasDgy\n— Ihategravel (@ihategravel2) August 13, 2021\n自訂柵欄方塊也變的可能。\nMade working custom fences using the new molang queries in 1.17.30.21! I’ll be releasing this on @MCPEDL soon.\n(you can jump over them but mobs can’t)\nMassive thanks to @ihategravel2 for his pillar template that got me started with the new add-on features :) pic.twitter.com/zbAXtXSNfc\n— HonKit26113 (@HonKit1103) August 13, 2021\n甚至還能自訂傀儡。\nThe new codes from the blocks can be used from more thing that make connected textures, also you can make custom golems like in this example.\nThis add-on will be soon in @MCPEDL pic.twitter.com/1xGv7Yd9X9\n— Xero (@UrielXero) August 14, 2021\nIhategravel的做法是寫好方塊狀態的property。\n用tick組件隨時執行更新方塊狀態的event，使用query.block_neighbor_has_any_tag偵測上下左右放置的方塊，再交由permutation決定方塊的geometry。\nProperty用法參見：\n實體 \u0026 方塊 Properties的用法\n","title":"Add-On query.block_neighbor_has_any_tag用法","type":"minecraft"},{"content":" 翻譯的本子名稱：(COMIC1☆9) [INFINITY DRIVE (京極しん)] Boyish Mellow (艦隊これくしょん -艦これ-) 首次嘗試漢化，使用Photoshop。\n還好，一切如願以償。\n為什麼要選這本：我看過最棒的最上本之一。\n實用的橋段，第一是發情後主動投懷送抱的樣子了吧 雙腿夾緊，是真愛 肛交時，兩人的賣力樣子 還有最上大肚子的幸福模樣 而純情的最上還是認為自己色誘了提督。 (衣仕掛)\n過去幾個月製作艦隊Collection的中文化(進度95%)，以及畫些狗屎爛畫，讓Photoshop技術進步了一點點，所以就嘗試Minecraft翻譯以外的東西：同人誌漢化。\n就像1965年保羅麥卡尼在發表Yesterday前，翻譯前必須到處搜尋有沒有人漢化過這本，確認沒有才開始。\n這時才想起很久以前要開始學日文的動機，當我踏入救國團的教室，我是難以告訴老師說我是想不用翻譯就能看同人誌。現在的話，讀是可以，翻譯又是另一個挑戰。\n","date":"2021年8月14日","externalUrl":null,"permalink":"/posts/translation-note-boyish-mellow/","section":"Kantai-Collections","summary":" 翻譯的本子名稱：(COMIC1☆9) [INFINITY DRIVE (京極しん)] Boyish Mellow (艦隊これくしょん -艦これ-) 首次嘗試漢化，使用Photoshop。\n還好，一切如願以償。\n為什麼要選這本：我看過最棒的最上本之一。\n實用的橋段，第一是發情後主動投懷送抱的樣子了吧 雙腿夾緊，是真愛 肛交時，兩人的賣力樣子 還有最上大肚子的幸福模樣 而純情的最上還是認為自己色誘了提督。 (衣仕掛)\n過去幾個月製作艦隊Collection的中文化(進度95%)，以及畫些狗屎爛畫，讓Photoshop技術進步了一點點，所以就嘗試Minecraft翻譯以外的東西：同人誌漢化。\n就像1965年保羅麥卡尼在發表Yesterday前，翻譯前必須到處搜尋有沒有人漢化過這本，確認沒有才開始。\n","title":"漢化筆記：[INFINITY DRIVE (京極しん)] Boyish Mellow","type":"kantai-collection"},{"content":"","date":"2021年8月11日","externalUrl":null,"permalink":"/tags/regia-aeronautica/","section":"標籤","summary":"","title":"Regia Aeronautica","type":"tags"},{"content":"不會飛的豬，只是普通的豬。 紅豬(1992)\n預告片：\n義大利的亞得里亞海上，有這麼一個變成豬的飛行員，駕駛著紅色飛艇，以賺取賞金過活。他的作風不願意加入法西斯空軍。恐怕是難以回應在一次大戰中失去的一切，即使有舊識對他有好感，卻始終保持著距離，成為瀟灑的男子。\n劇情特色 # 宮崎駿難得有具體時代背景的電影，1920年代的義大利，真實刻劃的市容，還有法西斯主義的崛起，但是變成豬的波魯克只是說：「那是你們人類的事。」 劇中呈現宮崎駿對機械的熱愛，不論是空戰場景，還是繪製飛機設計圖的機械細節，從這麼久以前堅持到2013年的《風起》，實在很難得。 空戰是舊時代的繞圈圈空戰，並且波魯克不殺人，因此把引擎打爆就可以，也不用用到威力強大的子彈。 除了宮崎駿擅長的飛機機械動畫外，還有久石讓的配樂配合著地中海的氣氛，平靜悠閒，又帶有一絲絲時代的憂傷。\n聽聽久石讓《逝去的往日》: YouTube上盜版的不多(冷門的壞處?)，建議搜尋聽吉娜唱的歌 (聲優過世了QQ)。\n其中看到最讓人悲傷的一幕，就是在這樣平靜的鋼琴聲中，波魯克回憶一次大戰時，友軍與敵軍交戰，雙雙化作火球掉入海中，像是蒼蠅一樣。 波魯克獲得了逃生的機會，卻只能看著無數靈魂所駕駛的飛機組成的帶狀雲，以及他的好友隨著而去。 從此以後，他就是豬的模樣了。他沒辦法逃離對戰爭的厭惡，只是，菲兒的出現讓他覺得人類還是有點希望，也就是宮崎駿擅長刻劃的，堅強自主的女性。 劇中感情方面，僅懷有淡淡的感情，在熱熱鬧鬧的戰鬥後，紅豬就繼續瀟灑去了，刻意跟吉娜保持距離。\n我說，你們這些飛行員啊\u0026hellip; 超健全畫面 關於原著 # 電影版改編自宮崎駿自己的漫畫《飛行艇時代》，台灣有進口原文書。原本這只有15頁的漫畫，後來做成電影便加入了波魯克的背景身世故事。\n此外，這個短篇也收錄在《宮崎駿的雜想筆記》，裡面有很多戰爭短篇漫畫，包括國軍對日本的人道遠征、清國北洋艦隊的作戰。 關於細節背景設定 # 1920年代歐洲曾流行過施耐德盃(Schneider Trophy)，一年一度的水上飛機比賽，連續二年獲得優勝的國家就能永久保存獎盃。\n空軍之翼網站系列文章《海阔凭鱼跃，天高任鸟飞——“施耐德杯”水上飞机竞赛的历史》有每年的戰況報導，基本上都是義大利和英國在爭獎盃。這個比賽也促進航空工業的發展，競速機的速度已經比很多戰鬥機要快很多。 紅豬的時間點已經來到1929年，施耐德盃史實是由英國奪冠，那架飛機後來演變成噴火戰鬥機。\n而劇中卡地士的寇蒂斯R3C也獲得過施耐德盃冠軍，史實中則是美國陸軍飛行員杜立德得冠一次。\n但我不明白為何台灣會把Donald Curtiss翻譯成卡地士，或許是因為日語假名ドナルド・カーチス的關係吧。Curtiss翻譯應該是「寇蒂斯」，台灣對Curtiss應該很熟呀，二戰時飛虎隊的P-40就是寇蒂斯公司生產的。 波魯克駕駛的Sovia S.21亦是參賽飛機之一，但跟史實的名字不太一樣。\n波魯克的名字Porco Rosso在義大利文就是紅豬。 水上飛艇逐漸跟不上時代，到了二戰逐漸轉為輔助用途。\n而波魯克在空軍的好友建議支他持新政府，買愛國債券支持墨索里尼，但厭惡戰爭的波魯克可說是不領情，寧願變成豬也不要加入法西斯。這裡可能隱隱表達了導演自身政治傾向。 最後，為了紀念這部動畫，參考FineMolds出的模型，我試圖將波魯克和卡帝士的座機做成了Minecraft基岩版的模組：【3D繪圖】紅豬波魯克座機Savoia S.21，在那個人還活得像人的時代 ","date":"2021年8月11日","externalUrl":null,"permalink":"/posts/porco-rosso-review/","section":"Reviews","summary":"不會飛的豬，只是普通的豬。 紅豬(1992)\n預告片：\n義大利的亞得里亞海上，有這麼一個變成豬的飛行員，駕駛著紅色飛艇，以賺取賞金過活。他的作風不願意加入法西斯空軍。恐怕是難以回應在一次大戰中失去的一切，即使有舊識對他有好感，卻始終保持著距離，成為瀟灑的男子。\n劇情特色 # 宮崎駿難得有具體時代背景的電影，1920年代的義大利，真實刻劃的市容，還有法西斯主義的崛起，但是變成豬的波魯克只是說：「那是你們人類的事。」 劇中呈現宮崎駿對機械的熱愛，不論是空戰場景，還是繪製飛機設計圖的機械細節，從這麼久以前堅持到2013年的《風起》，實在很難得。 空戰是舊時代的繞圈圈空戰，並且波魯克不殺人，因此把引擎打爆就可以，也不用用到威力強大的子彈。 除了宮崎駿擅長的飛機機械動畫外，還有久石讓的配樂配合著地中海的氣氛，平靜悠閒，又帶有一絲絲時代的憂傷。\n聽聽久石讓《逝去的往日》: YouTube上盜版的不多(冷門的壞處?)，建議搜尋聽吉娜唱的歌 (聲優過世了QQ)。\n其中看到最讓人悲傷的一幕，就是在這樣平靜的鋼琴聲中，波魯克回憶一次大戰時，友軍與敵軍交戰，雙雙化作火球掉入海中，像是蒼蠅一樣。 ","title":"空戰動畫推薦：《紅豬》，展現宮崎駿心中義大利飛行艇時代的浪漫","type":"review"},{"content":"是的，中國網易公司代理的Minecraft是完全免費的。 官網在此: https://mc.163.com/m/index.html\n遊玩需要註冊網易帳號，而不是微軟帳號。\n玩中國版有幾大難關:\n網易版無法連線到正版伺服器\n要實名制 (中國身分證號碼+手機號碼+人臉辨識，未成年平日不能上線)\n不掛VPN到中國沒辦法登入\n課金困難，要有支付寶或者中國銀行卡\n相關文章:\n【解決】網易Minecraft「您所在的地區暫時無法登錄」+ 實名制 還在找「免費的正版Minecraft」？ 這不就來了(笑)，包括基岩版和Java版都能免費下載，原版遊戲內容差異不大，雖說遊戲版本更新比較慢。 話雖如此，網易代理的版本，跟國際版是有差異的，只能玩網易提供的伺服器。 網易版的Minecraft也有實裝防沉迷系統，須通過實名制(手機號碼)認證，且因為是中國遊戲，亂罵政府帳號是會被封的。\n因為是免費下載的版本，手機版的介面就長得很像一般手遊，有商店和論壇，可以說給懶人玩家準備好了一切，按一下模組、地圖都自動幫你裝好－－有時只需要花點錢。 網易版發展自己的模組玩法，基岩版的Add-On改進挺多的。\n官方有開發只提供給中國籍玩家的MC Studio軟體，可用於設計關卡；Apollo用於開伺服器。\n在Add-On中網易引入了Python腳本進行控制，比起Scripting API，網易版這點的確是很強，連UI都可以做出來了，可惜Mod SDK這套工具僅限中國用戶使用。 但是還有一點，在安裝上不夠自由，似乎玩家想自行安裝Add-On是很困難的事，你只能使用網易給的東西。\n結論：跟隨國際版Minecraft潮流，還是乖乖買正版吧，自由度可多的。中國版只適合極度懶人的玩家嘗試。\n","date":"2021年8月11日","externalUrl":null,"permalink":"/posts/minecraft-china-introduction/","section":"Minecrafts","summary":"是的，中國網易公司代理的Minecraft是完全免費的。 官網在此: https://mc.163.com/m/index.html\n遊玩需要註冊網易帳號，而不是微軟帳號。\n玩中國版有幾大難關:\n網易版無法連線到正版伺服器\n要實名制 (中國身分證號碼+手機號碼+人臉辨識，未成年平日不能上線)\n不掛VPN到中國沒辦法登入\n課金困難，要有支付寶或者中國銀行卡\n相關文章:\n【解決】網易Minecraft「您所在的地區暫時無法登錄」+ 實名制 還在找「免費的正版Minecraft」？ 這不就來了(笑)，包括基岩版和Java版都能免費下載，原版遊戲內容差異不大，雖說遊戲版本更新比較慢。 話雖如此，網易代理的版本，跟國際版是有差異的，只能玩網易提供的伺服器。 網易版的Minecraft也有實裝防沉迷系統，須通過實名制(手機號碼)認證，且因為是中國遊戲，亂罵政府帳號是會被封的。\n因為是免費下載的版本，手機版的介面就長得很像一般手遊，有商店和論壇，可以說給懶人玩家準備好了一切，按一下模組、地圖都自動幫你裝好－－有時只需要花點錢。 網易版發展自己的模組玩法，基岩版的Add-On改進挺多的。\n官方有開發只提供給中國籍玩家的MC Studio軟體，可用於設計關卡；Apollo用於開伺服器。\n在Add-On中網易引入了Python腳本進行控制，比起Scripting API，網易版這點的確是很強，連UI都可以做出來了，可惜Mod SDK這套工具僅限中國用戶使用。 ","title":"中國版網易免費Minecraft遊玩教學","type":"minecraft"},{"content":" Mineraft基岩版1.16.230.52引入了\u0026quot;Entity properties\u0026quot;這個新功能，可以為Add-On的實體添加屬性(property)。\n這麼一來，實體就能夠儲存變數，可以是數字、字串、布林值。\n比起過去用行為包的各種組件偽裝成「變數」，再用各種query偵測更方便的多；同樣的，方塊也有類似的properties屬性可以使用。\n影片解說\n1. 新建屬性 # 屬性要在行為包的實體檔案的description物件進行註冊，命名空間可以property:開頭。\n在屬性中枚舉出一系列的數值，然後再進行操作。\n數字目前只能填二個。\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.16.0\u0026#34;, \u0026#34;minecraft:entity\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;kanmusu:boku\u0026#34;, \u0026#34;is_spawnable\u0026#34;: true, \u0026#34;is_summonable\u0026#34;: true, \u0026#34;is_experimental\u0026#34;: false, \u0026#34;properties\u0026#34;: { //數字範圍的屬性 \u0026#34;property:number_range\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;min\u0026#34;: 0, \u0026#34;max\u0026#34;: 100 }, \u0026#34;client_sync\u0026#34;: true }, //第二種數字範圍的屬性 \u0026#34;property:number_enum\u0026#34;: { \u0026#34;values\u0026#34;: [ 1, 2 ] }, //字串陣列的屬性 \u0026#34;property:string_enum\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;在水中\u0026#34;, \u0026#34;在陸地\u0026#34; ] }, //布林值的屬性 \u0026#34;property:boolean_enum\u0026#34;: { \u0026#34;values\u0026#34;: [ true, false ] } } }, \u0026#34;components\u0026#34;: {}, \u0026#34;events\u0026#34;: {} } } 針對每個新增的屬性，還可以設定二個值：\ndefault代表的是預設值，如果不填寫，則會使用陣列第一個值。\n\u0026#34;property:number_range\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;min\u0026#34;: 0, \u0026#34;max\u0026#34;: 100 }, \u0026#34;default\u0026#34;: 0 } client_sync則是讓資源包也能讀到這個屬性。\n\u0026#34;property:number_range\u0026#34;: { \u0026#34;values\u0026#34;: { \u0026#34;min\u0026#34;: 0, \u0026#34;max\u0026#34;: 100 }, \u0026#34;client_sync\u0026#34;: true } 2. 存取、修改屬性 # Molang的\u0026quot;query.actor_property\u0026quot;可查詢屬性的值，以及確認有無該屬性的\u0026quot;query.has_actor_property\u0026quot;。\n在行為包的event使用函數：\u0026ldquo;set_actor_property\u0026rdquo; 可修改屬性的值。\n\u0026#34;event:set_entity_property\u0026#34;: { \u0026#34;set_actor_property\u0026#34;: { \u0026#34;property:number_enum\u0026#34;: 2, \u0026#34;property:string_enum\u0026#34;: \u0026#34;\u0026#39;在水中\u0026#39;\u0026#34;, \u0026#34;property:boolean_enum\u0026#34;: \u0026#34;!query.actor_property(\u0026#39;property:boolean_enum\u0026#39;)\u0026#34; } } 3. 別名 (Alias) 的用法 # 可以為實體定義別名，用/summon就能夠召喚預先設定好屬性數值的實體。\n也可以單純只是別名，而不賦值，例如下面的default_alias。\n使用/summon entity:first_alias也能召喚出該實體，不過，他的屬性會設成「變大」。\n目前新增別名，背包會出現多餘的生怪蛋。\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.16.0\u0026#34;, \u0026#34;minecraft:entity\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;kanmusu:boku\u0026#34;, \u0026#34;is_spawnable\u0026#34;: true, \u0026#34;is_summonable\u0026#34;: true, \u0026#34;is_experimental\u0026#34;: false, \u0026#34;properties\u0026#34;: { //字串陣列的屬性 \u0026#34;property:scale\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;變大\u0026#34;, \u0026#34;變小\u0026#34; ] } }, \u0026#34;aliases\u0026#34;: { \u0026#34;entity:default_alias\u0026#34;: {}, \u0026#34;entity:first_alias\u0026#34;: { \u0026#34;property:scale\u0026#34;: \u0026#34;變大\u0026#34; }, \u0026#34;entity:second_alias\u0026#34;: { \u0026#34;property:scale\u0026#34;: \u0026#34;變小\u0026#34; } } }, \u0026#34;components\u0026#34;: {}, \u0026#34;events\u0026#34;: {} } } 4. 排序 (Permutation) 的用法 # 預先在行為檔案中定義好一系列條件，每個遊戲刻進行判斷，當條件符合即會將該條件所定義的組件加到實體上。\npermutation是位於minecraft:entity物件內，與components同層級。\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.16.0\u0026#34;, \u0026#34;minecraft:entity\u0026#34;: { \u0026#34;description\u0026#34;: {}, \u0026#34;permutations\u0026#34;: [ { //條件 \u0026#34;condition\u0026#34;: \u0026#34;query.actor_property(\u0026#39;property:scale\u0026#39;) == \u0026#39;變大\u0026#39;\u0026#34;, \u0026#34;components\u0026#34;: { //內含的組件 \u0026#34;minecraft:scale\u0026#34;: { \u0026#34;value\u0026#34;: 10 } } }, { //條件 \u0026#34;condition\u0026#34;: \u0026#34;query.actor_property(\u0026#39;property:scale\u0026#39;) == \u0026#39;變小\u0026#39;\u0026#34;, \u0026#34;components\u0026#34;: { //內含的組件 \u0026#34;minecraft:scale\u0026#34;: { \u0026#34;value\u0026#34;: 0.1 } } } ], \u0026#34;components\u0026#34;: {}, \u0026#34;events\u0026#34;: {} } } 5. 實際應用例子 # 整篇講下來，讓我們來看看實際例子。我製作的boku生物程式碼如下:\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.16.0\u0026#34;, \u0026#34;minecraft:entity\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;kanmusu:boku\u0026#34;, \u0026#34;is_spawnable\u0026#34;: true, \u0026#34;is_summonable\u0026#34;: true, \u0026#34;is_experimental\u0026#34;: false, \u0026#34;properties\u0026#34;: { //字串陣列的屬性 \u0026#34;property:scale\u0026#34;: { \u0026#34;values\u0026#34;: [ \u0026#34;正常\u0026#34;, \u0026#34;變大\u0026#34;, \u0026#34;變小\u0026#34; ] } }, \u0026#34;aliases\u0026#34;: { //別名1 \u0026#34;boku:big\u0026#34;: { \u0026#34;property:scale\u0026#34;: \u0026#34;變大\u0026#34; }, //別名2 \u0026#34;boku:small\u0026#34;: { \u0026#34;property:scale\u0026#34;: \u0026#34;變小\u0026#34; } } }, \u0026#34;permutations\u0026#34;: [ { //變大的條件 \u0026#34;condition\u0026#34;: \u0026#34;query.actor_property(\u0026#39;property:scale\u0026#39;) == \u0026#39;變大\u0026#39;\u0026#34;, \u0026#34;components\u0026#34;: { //內含的組件 \u0026#34;minecraft:scale\u0026#34;: { \u0026#34;value\u0026#34;: 10 } } }, { //變小的條件 \u0026#34;condition\u0026#34;: \u0026#34;query.actor_property(\u0026#39;property:scale\u0026#39;) == \u0026#39;變小\u0026#39;\u0026#34;, \u0026#34;components\u0026#34;: { //內含的組件 \u0026#34;minecraft:scale\u0026#34;: { \u0026#34;value\u0026#34;: 0.1 } } } ], \u0026#34;components\u0026#34;: { //預設大小 \u0026#34;minecraft:scale\u0026#34;: { \u0026#34;value\u0026#34;: 1.0 } //...(其餘組件在此省略) }, \u0026#34;events\u0026#34;: { \u0026#34;boku:enlarge\u0026#34;: { \u0026#34;set_actor_property\u0026#34;: { \u0026#34;property:scale\u0026#34;: \u0026#34;\u0026#39;變大\u0026#39;\u0026#34; } }, \u0026#34;boku:shrink\u0026#34;: { \u0026#34;set_actor_property\u0026#34;: { \u0026#34;property:scale\u0026#34;: \u0026#34;\u0026#39;變小\u0026#39;\u0026#34; } } } } } 因為屬性預設的值是\u0026quot;正常\u0026quot;，permutation也沒有寫條件，所以正常生成是普通大小。 若使用/summon指令附加spawn event的指令，在召喚時執行賦值事件\n/summon kanmusu:boku ~ ~ ~ boku:enlarge 這樣會變大: 而用這條召喚\n/summon kanmusu:boku ~ ~ ~ boku:shrink 他會變小： permutation偵測到值的變化，就會自動執行設定好的組件，給予boku指定的大小。\n這樣的好處是不用寫那麼多add和remove組件到組件組。\n當然我有定義別名，也可以直接用這二條：\n/summon boku:first_alias /summon boku:second_alias 別名自動賦值，再交由permutation進行縮放。\n參考資料 # 這篇文章參考自Bedrock Dev Wiki。\n","date":"2021年8月11日","externalUrl":null,"permalink":"/posts/minecraft-add-on-entity-properties/","section":"Minecrafts","summary":" Mineraft基岩版1.16.230.52引入了\"Entity properties\"這個新功能，可以為Add-On的實體添加屬性(property)。\n這麼一來，實體就能夠儲存變數，可以是數字、字串、布林值。\n比起過去用行為包的各種組件偽裝成「變數」，再用各種query偵測更方便的多；同樣的，方塊也有類似的properties屬性可以使用。\n影片解說\n1. 新建屬性 # 屬性要在行為包的實體檔案的description物件進行註冊，命名空間可以property:開頭。\n在屬性中枚舉出一系列的數值，然後再進行操作。\n數字目前只能填二個。\n{ \"format_version\": \"1.16.0\", \"minecraft:entity\": { \"description\": { \"identifier\": \"kanmusu:boku\", \"is_spawnable\": true, \"is_summonable\": true, \"is_experimental\": false, \"properties\": { //數字範圍的屬性 \"property:number_range\": { \"values\": { \"min\": 0, \"max\": 100 }, \"client_sync\": true }, //第二種數字範圍的屬性 \"property:number_enum\": { \"values\": [ 1, 2 ] }, //字串陣列的屬性 \"property:string_enum\": { \"values\": [ \"在水中\", \"在陸地\" ] }, //布林值的屬性 \"property:boolean_enum\": { \"values\": [ true, false ] } } }, \"components\": {}, \"events\": {} } } 針對每個新增的屬性，還可以設定二個值：\ndefault代表的是預設值，如果不填寫，則會使用陣列第一個值。\n\"property:number_range\": { \"values\": { \"min\": 0, \"max\": 100 }, \"default\": 0 } client_sync則是讓資源包也能讀到這個屬性。\n\"property:number_range\": { \"values\": { \"min\": 0, \"max\": 100 }, \"client_sync\": true } 2. 存取、修改屬性 # Molang的\"query.actor_property\"可查詢屬性的值，以及確認有無該屬性的\"query.has_actor_property\"。\n","title":"Minecraft Add-On 實體 Properties的用法","type":"minecraft"},{"content":"Universal Minecraft Editor是一款可以編輯Minecraft地圖的NBT數值的工具，可用於修改遊戲資料。\n支援Java版和基岩版1.12以上版本的地圖，只有Windows版。\n1. 下載 # Universal Minecraft Editor是專有軟體，可在官網免費下載：\nhttps://www.universalminecrafteditor.com\n由於是編輯NBT為主，想編輯地圖區塊建議使用Amulet。\n官網另外有販售將Java版和基岩版的世界互相轉換的軟體\u0026quot;Universal Minecraft Converter\u0026quot;。\n2. 使用簡介 # 主選單可讓你選擇要編輯的地圖版本。 點選顯示的地圖清單，然後就能開始編輯NBT數值，甚至可以搜尋模組的NBT標籤。\n按下右上角\u0026quot;Save All\u0026quot;按鈕儲存。 ","date":"2021年8月10日","externalUrl":null,"permalink":"/posts/universal-minecraft-editor/","section":"Minecrafts","summary":"Universal Minecraft Editor是一款可以編輯Minecraft地圖的NBT數值的工具，可用於修改遊戲資料。\n支援Java版和基岩版1.12以上版本的地圖，只有Windows版。\n1. 下載 # Universal Minecraft Editor是專有軟體，可在官網免費下載：\nhttps://www.universalminecrafteditor.com\n由於是編輯NBT為主，想編輯地圖區塊建議使用Amulet。\n官網另外有販售將Java版和基岩版的世界互相轉換的軟體\"Universal Minecraft Converter\"。\n2. 使用簡介 # 主選單可讓你選擇要編輯的地圖版本。 點選顯示的地圖清單，然後就能開始編輯NBT數值，甚至可以搜尋模組的NBT標籤。\n按下右上角\"Save All\"按鈕儲存。 ","title":"Universal Minecraft Editor：全平台的地圖NBT編輯器","type":"minecraft"},{"content":" 很不幸的，Mojang Studio雖是微軟的子公司，但Mojang在台灣沒有客服電話。\n唯一的聯絡方式是到官網找客服填寫表單(submit a request)：\nhttps://help.minecraft.net/hc/en-us/requests/new 表單的翻譯（2021年7月版，點圖放大）:\n如果選Account Problem，會要求輸入Gamertag，也就是玩家ID。\n雖然只接受英文詢問，但把問題如實陳述，用Google翻譯後送出，Mojang客服會盡快用電子郵件給予回覆。\n如果發生帳號問題，一定要如實提供電子信箱、玩家ID，和出示購買記錄（信用卡刷卡單號等）。\n如果連購買時的電子信箱都沒有，則客服是沒辦法提供協助的。曾經有父母的小孩購買時打錯電郵，連電郵都沒辦法提供，800元就回不來了。\n另外，雖然機會不大，但如果是Xbox方面的問題，可以打電話到台灣微軟客服：\n台灣微軟客戶服務聯絡方式 ","date":"2021年8月10日","externalUrl":null,"permalink":"/posts/minecraft-mojang-contacts/","section":"Minecrafts","summary":" 很不幸的，Mojang Studio雖是微軟的子公司，但Mojang在台灣沒有客服電話。\n唯一的聯絡方式是到官網找客服填寫表單(submit a request)：\nhttps://help.minecraft.net/hc/en-us/requests/new 表單的翻譯（2021年7月版，點圖放大）:\n如果選Account Problem，會要求輸入Gamertag，也就是玩家ID。\n雖然只接受英文詢問，但把問題如實陳述，用Google翻譯後送出，Mojang客服會盡快用電子郵件給予回覆。\n如果發生帳號問題，一定要如實提供電子信箱、玩家ID，和出示購買記錄（信用卡刷卡單號等）。\n如果連購買時的電子信箱都沒有，則客服是沒辦法提供協助的。曾經有父母的小孩購買時打錯電郵，連電郵都沒辦法提供，800元就回不來了。\n另外，雖然機會不大，但如果是Xbox方面的問題，可以打電話到台灣微軟客服：\n台灣微軟客戶服務聯絡方式 ","title":"Minecraft開發商Mojang的聯絡方式 (附表單翻譯)","type":"minecraft"},{"content":"宮崎駿電影《紅豬》(Proco Rosso)波魯克駕駛的戰鬥機，Savoia S.21飛行艇。使用Blockbench製作，2021年8月10日發表。\n渲染圖使用了翻譯學的localization技巧，因為波魯克把自己變成豬，Minecraft裡面的「豬人」代表當然就是豬布靈囉\u0026hellip; 此模型可以在Sketchfab檢視：\n","date":"2021年8月10日","externalUrl":null,"permalink":"/posts/3dartwork-20210810/","section":"Artworks","summary":"宮崎駿電影《紅豬》(Proco Rosso)波魯克駕駛的戰鬥機，Savoia S.21飛行艇。使用Blockbench製作，2021年8月10日發表。\n渲染圖使用了翻譯學的localization技巧，因為波魯克把自己變成豬，Minecraft裡面的「豬人」代表當然就是豬布靈囉… 此模型可以在Sketchfab檢視：\n","title":"【3D繪圖】紅豬波魯克座機Savoia S.21，在那個人還活得像人的時代","type":"artwork"},{"content":"","date":"2021年8月10日","externalUrl":null,"permalink":"/tags/studio-ghibli/","section":"標籤","summary":"","title":"Studio Ghibli","type":"tags"},{"content":"4D或者5D皮膚包，都是不同於傳統方塊模型的皮膚。\n可在基岩版上使用，目前1.17安裝方式比較特別。\n使用教學參考這部影片\n下載皮膚包 # 上面的影片是從Mcpedlhub下載:\nhttps://mcdlhub.com/4d-5d-skins-for-117\n另外可以試試這個，有900個皮膚:\nhttps://mcdlhub.com/minecraft-skin-pack-with-over-900-4d-5d-skins\n軟體 # IObit Unlocker 如何自製皮膚包 # Minecraf基岩版4D皮膚 \u0026amp; 披風 \u0026amp; 皮膚包製作教學 iOS的解法 # iOS可能需要越獄，或者參考這部影片\n","date":"2021年8月9日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-4d-and-5d-skin-packs/","section":"Minecrafts","summary":"4D或者5D皮膚包，都是不同於傳統方塊模型的皮膚。\n可在基岩版上使用，目前1.17安裝方式比較特別。\n使用教學參考這部影片\n下載皮膚包 # 上面的影片是從Mcpedlhub下載:\nhttps://mcdlhub.com/4d-5d-skins-for-117\n另外可以試試這個，有900個皮膚:\nhttps://mcdlhub.com/minecraft-skin-pack-with-over-900-4d-5d-skins\n軟體 # IObit Unlocker 如何自製皮膚包 # Minecraf基岩版4D皮膚 \u0026 披風 \u0026 皮膚包製作教學 iOS的解法 # iOS可能需要越獄，或者參考這部影片\n","title":"【模組分享】基岩版 4D \u0026 5D皮膚包","type":"minecraft"},{"content":"","date":"2021年8月9日","externalUrl":null,"permalink":"/tags/minecraft-skin/","section":"標籤","summary":"","title":"Minecraft Skin","type":"tags"},{"content":"這篇文章教你如何畫皮膚，以及製作4D皮膚模型。\n皮膚(skin)的正式名稱叫做「外觀」，多個外觀組成的檔案就叫「外觀包」(skin pack)。\n不管是4D還是5D皮膚，Minecraft基岩版都允許玩家自訂模型，除了像市集一樣能夠在方塊人身上增添配件外，也可以修改披風、使用更進階的.obj模型，讓玩家完全變成另一個遊戲的樣子，例如MMD的角色。 這篇文章結尾可以下載我製作的皮膚包範本，裡面包含一個普通模型(只改skin)、一個4D模型+皮膚，還有一個從MMD移植來的模型(請勿用於商業用途，並請註明作者)。\n1. 了解Minecraft皮膚的格式 # 確保你已經知道怎麼在基岩版中更改皮膚。\nMinecraft內建支援的是64x64像素解析度的png檔案，也就是所謂雙層皮膚，能製作帽子、外套、袖口。\n使用圖片編輯器開啟檔案可以查看圖片的解析度。 因此，檔案格式或像素大小不對，Minecraft都會拒絕匯入，或者顯示錯誤。此外，如果玩家自己做模型，則皮膚的解析度就沒有限制。 以上是預設的Steve皮膚，該檔案就像是摺紙的立方體展開圖(引用自Minecraft Wiki): 看起來有點抽象，所以採用顯示玩家3D模型，並能直接在上面畫畫的軟體會比較直觀，在這個教學中，我會使用Blockbench做示範。 2. 使用Blockbench畫皮膚 # Blockbench這個軟體能在網頁上直接使用，或者安裝到電腦。\n你可以直接畫一個新的皮膚，或匯入現有的皮膚並進行編輯。\n點選新建皮膚 選取要使用Steve還是Alex的模型，分辨率設64x64 (或按照你匯入的皮膚解析度做選擇)。\n「材質」可以按這裡下載Steve的檔案，然後以此為基礎進行修改。Steve皮膚的解析度是64x64。\n取消勾選「動作」，勾選「貼圖圖層」。 可以開始編輯皮膚了。 右邊會有模型的部位，預設來說外層皮膚都是關閉的。點一下眼睛的圖案可以開關顯示，例如「帽子」的部位。 可善用這些功能來暫時關閉某個部位，例如畫左腳內側時暫時關閉顯示右腳。 4.按一下網格的圖案可顯示網格 皮膚外側的就是帽子、袖口部分的材質，會比玩家身體部分的材質大上一圈。點選「大綱」下面的「切換皮膚圖層」可關閉顯示。\n使用筆刷開始繪製，右邊有調色盤。\n此外也能夠使用油漆桶快速填充，和使用圖形工具畫圓形。\n畫好皮膚後，點選左下角的皮膚，右鍵儲存檔案。 P.S. Blockbench還可按左上角「文件」，保存項目，儲存目前的專案。\n這樣就完成了，匯入至Minecraft中試試！\n3. 製作皮膚包 # 如果皮膚只有一個，則不需要使用到皮膚包。不過，自己做一個皮膚包，能像商城購買的皮膚包一樣能顯示一組皮膚，便於在遊戲中快速切換，而且可以自訂玩家模型。 假設我們現在已經擁有兩個不同的皮膚，我們要把他做成一個皮膚包。 註解: 以下步驟也可改用bridge.製作，操作上比較快。\n在com.mojang的skin_packs/裡新建一個資料夾，新增manifest.json，輸入以下內容: (兩個uuid的數值要不一樣，按這裡取得UUID)\n{ \u0026#34;format_version\u0026#34;: 2, \u0026#34;header\u0026#34;: { \u0026#34;name\u0026#34;: \u0026#34;pack.name\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;pack.description\u0026#34;, \u0026#34;min_engine_version\u0026#34;: [ 1, 17, 0 ], \u0026#34;uuid\u0026#34;: \u0026#34;9c2e8104-71f9-442e-92f0-52dcf4a43338\u0026#34;, \u0026#34;version\u0026#34;: [ 1, 0, 0 ] }, \u0026#34;modules\u0026#34;: [ { \u0026#34;description\u0026#34;: \u0026#34;自製皮膚包範本\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;skin_pack\u0026#34;, \u0026#34;uuid\u0026#34;: \u0026#34;541c25fb-f836-4460-975c-f08732c8eef1\u0026#34;, \u0026#34;version\u0026#34;: [ 1, 0, 0 ] } ] } 再來新增記載這個皮膚包有哪些皮膚的skins.json，裡面輸入二個: { \u0026#34;geometry\u0026#34;: \u0026#34;skinpacks/skins.json\u0026#34;, \u0026#34;skins\u0026#34;: [ //第一個皮膚 { \u0026#34;localization_name\u0026#34;: \u0026#34;skin1\u0026#34;, //皮膚ID \u0026#34;geometry\u0026#34;: \u0026#34;geometry.humanoid.custom\u0026#34;, //皮膚使用的模型 \u0026#34;texture\u0026#34;: \u0026#34;skin1.png\u0026#34;, //皮膚材質名稱 \u0026#34;type\u0026#34;: \u0026#34;free\u0026#34; }, //第二個皮膚 { \u0026#34;localization_name\u0026#34;: \u0026#34;skin2\u0026#34;, \u0026#34;geometry\u0026#34;: \u0026#34;geometry.humanoid.custom\u0026#34;, \u0026#34;texture\u0026#34;: \u0026#34;skin2.png\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;free\u0026#34; } ], //皮膚包名稱 \u0026#34;serialize_name\u0026#34;: \u0026#34;CustomSkinPack\u0026#34;, \u0026#34;localization_name\u0026#34;: \u0026#34;CustomSkinPack\u0026#34; } 請注意texture的部分，這代表的是要使用的皮膚檔案名稱。\n新建一個texts資料夾，裡面新增\u0026quot;zh_TW.lang\u0026quot;，這個檔案代表中文語言。 輸入：\npack.name=普通皮膚包範本 pack.description=這是自製皮膚包 by Twitter@Ivon852 skinpack.CustomSkinPack=自製皮膚包 skin.CustomSkinPack.skin1=第一個皮膚 skin.CustomSkinPack.skin2=第二個皮膚 將皮膚檔案放進去，注意必須跟texture裡面所寫的，檔案名稱要一致。 可放入一張圖片，取名為pack_icon.png，當作皮膚包的圖示。 重新開啟Minecraft，應該就會在「已擁有」看到你所製作的皮膚包。 皮膚包要打包給人安裝的話，則將資料夾壓縮成.zip，然後副檔名改成.mcpack。就能像安裝Add-On一樣匯入。可以在本文結尾下載這個普通皮膚包範本。\n註解：如果要自訂披風，你不是從這裡改，而是要改資源包，請往下看。\n4. 使用Blockbench建模＋製作4D皮膚 # 前面說到，玩家不只改皮膚，也能自訂模型。\n使用Blockbench建模，修改玩家的造型。\n以下這個範例，我在預設的玩家模型上，讓玩家的雙手有額外裝備。 先用Blockbench建立一個皮膚，然後按左上角「文件」，轉換項目，選擇基岩版模型。 接著按下「文件」，項目，修改模型ID。\n圖中輸入有錯，文件名和模型ID應該全部都叫做\u0026quot;beefist\u0026quot; 再對左下角的材質右鍵，按「調整大小」成128x128，這樣才有空間畫額外材質。\nBlockbench切換到編輯模式，點選左右手的cube，右鍵各複製一個，然後按右邊的尺寸，膨脹。 按左邊的UV，移動UV到沒有像素的材質部位。然後開始畫材質。 按左上角文件，導出，導出基岩版幾何體，取名beefist.geo.json 將畫好的皮膚也匯出，取名beefist.png 接下來，實現4D皮膚有二種方法，選擇其中一個。不管你採用哪種方法，本文結尾都可以下載到各自的範本檔案。\n資源包方法 # 這個方法可以順便改披風。\n首先先建模，然後:\n選擇「整個取代掉」\n或是只給玩家模型添加「配件」\n但請注意，使用「整個取代掉」的方法，必須把你安裝的皮膚換回預設的史蒂夫，否則不會生效。 如果使用「只添加配件」方法，則你可以繼續使用自己的皮膚，如圖。 將建模匯出的模型放到資源包/resource_packs/models/entity/\n材質則是放到/textures/entity/\n接下來選擇其中一種方法來達成4D效果。\n整個取代掉\n這個方法比較簡單，直接修改玩家預設使用的模型。\n缺點是無法隨便換skin。適合用於把玩家整個身體都改掉的模型，甚至能讓頭不見。\n從原版範本資源包複製/entity/player.json到自己的資源包，進行如下修改:\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.10.0\u0026#34;, \u0026#34;minecraft:client_entity\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;minecraft:player\u0026#34;, \u0026#34;materials\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;entity_alphatest\u0026#34;, \u0026#34;cape\u0026#34;: \u0026#34;entity_alphatest\u0026#34;, \u0026#34;animated\u0026#34;: \u0026#34;player_animated\u0026#34; }, \u0026#34;textures\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;textures/entity/beefist\u0026#34;, //把玩家材質直接換成模型的 \u0026#34;cape\u0026#34;: \u0026#34;textures/entity/cape_invisible\u0026#34; }, \u0026#34;geometry\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;geometry.beefist\u0026#34;, //修改玩家模型，換成beefist \u0026#34;cape\u0026#34;: \u0026#34;geometry.cape\u0026#34; } //(下略) } } } 接著在世界中啟用資源包。\n只添加配件\n這個方法的原理是利用多重render_controller，達到在同一個實體上顯示多個模型的效果。\n就像是市集購買的皮膚配件一樣，可以讓任何皮膚的玩家都穿戴上「配件」。\n因為我這個模型只是在玩家手上加二個拳套而已，其實模型部分的史蒂夫根本不需要。所以在Blockbench其他cube全部刪除，只留下bone的資料夾，以及拳套的那二個cube。匯出模型。 然後修改player.json，插入新的material、材質、geometry、render_controller。\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.10.0\u0026#34;, \u0026#34;minecraft:client_entity\u0026#34;: { \u0026#34;description\u0026#34;: { \u0026#34;identifier\u0026#34;: \u0026#34;minecraft:player\u0026#34;, \u0026#34;materials\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;entity_alphatest\u0026#34;, \u0026#34;cape\u0026#34;: \u0026#34;entity_alphatest\u0026#34;, \u0026#34;animated\u0026#34;: \u0026#34;player_animated\u0026#34;, \u0026#34;beefist\u0026#34;: \u0026#34;entity_alphatest\u0026#34; //添加material }, \u0026#34;textures\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;textures/entity/steve\u0026#34;, \u0026#34;cape\u0026#34;: \u0026#34;textures/entity/cape_invisible\u0026#34;, \u0026#34;beefist\u0026#34;: \u0026#34;textures/entity/beefist\u0026#34; //添加材質 }, \u0026#34;geometry\u0026#34;: { \u0026#34;default\u0026#34;: \u0026#34;geometry.humanoid.custom\u0026#34;, \u0026#34;cape\u0026#34;: \u0026#34;geometry.cape\u0026#34;, \u0026#34;beefist\u0026#34;: \u0026#34;geometry.beefist\u0026#34; //添加geometry }, \u0026#34;scripts\u0026#34;: { \u0026#34;scale\u0026#34;: \u0026#34;0.9375\u0026#34;, \u0026#34;initialize\u0026#34;: [ \u0026#34;variable.is_holding_right = 0.0;\u0026#34;, \u0026#34;variable.is_blinking = 0.0;\u0026#34;, \u0026#34;variable.last_blink_time = 0.0;\u0026#34;, \u0026#34;variable.hand_bob = 0.0;\u0026#34; ], \u0026#34;pre_animation\u0026#34;: [ \u0026#34;variable.helmet_layer_visible = 1.0;\u0026#34;, \u0026#34;variable.leg_layer_visible = 1.0;\u0026#34;, \u0026#34;variable.boot_layer_visible = 1.0;\u0026#34;, \u0026#34;variable.chest_layer_visible = 1.0;\u0026#34;, \u0026#34;variable.attack_body_rot_y = Math.sin(360*Math.sqrt(variable.attack_time)) * 5.0;\u0026#34;, \u0026#34;variable.tcos0 = (math.cos(query.modified_distance_moved * 38.17) * query.modified_move_speed / variable.gliding_speed_value) * 57.3;\u0026#34;, \u0026#34;variable.first_person_rotation_factor = math.sin((1 - variable.attack_time) * 180.0);\u0026#34;, \u0026#34;variable.hand_bob = query.life_time \u0026lt; 0.01 ? 0.0 : variable.hand_bob + ((query.is_on_ground \u0026amp;\u0026amp; query.is_alive ? math.clamp(math.sqrt(math.pow(query.position_delta(0), 2.0) + math.pow(query.position_delta(2), 2.0)), 0.0, 0.1) : 0.0) - variable.hand_bob) * 0.02;\u0026#34;, \u0026#34;variable.map_angle = math.clamp(1 - variable.player_x_rotation / 45.1, 0.0, 1.0);\u0026#34;, \u0026#34;variable.item_use_normalized = query.main_hand_item_use_duration / query.main_hand_item_max_duration;\u0026#34; ], \u0026#34;animate\u0026#34;: [ \u0026#34;root\u0026#34; ] }, \u0026#34;animations\u0026#34;: { \u0026#34;root\u0026#34;: \u0026#34;controller.animation.player.root\u0026#34;, \u0026#34;base_controller\u0026#34;: \u0026#34;controller.animation.player.base\u0026#34;, \u0026#34;hudplayer\u0026#34;: \u0026#34;controller.animation.player.hudplayer\u0026#34;, \u0026#34;humanoid_base_pose\u0026#34;: \u0026#34;animation.humanoid.base_pose\u0026#34;, \u0026#34;look_at_target\u0026#34;: \u0026#34;controller.animation.humanoid.look_at_target\u0026#34;, \u0026#34;look_at_target_ui\u0026#34;: \u0026#34;animation.player.look_at_target.ui\u0026#34;, \u0026#34;look_at_target_default\u0026#34;: \u0026#34;animation.humanoid.look_at_target.default\u0026#34;, \u0026#34;look_at_target_gliding\u0026#34;: \u0026#34;animation.humanoid.look_at_target.gliding\u0026#34;, \u0026#34;look_at_target_swimming\u0026#34;: \u0026#34;animation.humanoid.look_at_target.swimming\u0026#34;, \u0026#34;look_at_target_inverted\u0026#34;: \u0026#34;animation.player.look_at_target.inverted\u0026#34;, \u0026#34;cape\u0026#34;: \u0026#34;animation.player.cape\u0026#34;, \u0026#34;move.arms\u0026#34;: \u0026#34;animation.player.move.arms\u0026#34;, \u0026#34;move.legs\u0026#34;: \u0026#34;animation.player.move.legs\u0026#34;, \u0026#34;swimming\u0026#34;: \u0026#34;animation.player.swim\u0026#34;, \u0026#34;swimming.legs\u0026#34;: \u0026#34;animation.player.swim.legs\u0026#34;, \u0026#34;riding.arms\u0026#34;: \u0026#34;animation.player.riding.arms\u0026#34;, \u0026#34;riding.legs\u0026#34;: \u0026#34;animation.player.riding.legs\u0026#34;, \u0026#34;holding\u0026#34;: \u0026#34;animation.player.holding\u0026#34;, \u0026#34;brandish_spear\u0026#34;: \u0026#34;animation.humanoid.brandish_spear\u0026#34;, \u0026#34;holding_spyglass\u0026#34;: \u0026#34;animation.humanoid.holding_spyglass\u0026#34;, \u0026#34;charging\u0026#34;: \u0026#34;animation.humanoid.charging\u0026#34;, \u0026#34;attack.positions\u0026#34;: \u0026#34;animation.player.attack.positions\u0026#34;, \u0026#34;attack.rotations\u0026#34;: \u0026#34;animation.player.attack.rotations\u0026#34;, \u0026#34;sneaking\u0026#34;: \u0026#34;animation.player.sneaking\u0026#34;, \u0026#34;bob\u0026#34;: \u0026#34;animation.player.bob\u0026#34;, \u0026#34;damage_nearby_mobs\u0026#34;: \u0026#34;animation.humanoid.damage_nearby_mobs\u0026#34;, \u0026#34;bow_and_arrow\u0026#34;: \u0026#34;animation.humanoid.bow_and_arrow\u0026#34;, \u0026#34;use_item_progress\u0026#34;: \u0026#34;animation.humanoid.use_item_progress\u0026#34;, \u0026#34;skeleton_attack\u0026#34;: \u0026#34;animation.skeleton.attack\u0026#34;, \u0026#34;sleeping\u0026#34;: \u0026#34;animation.player.sleeping\u0026#34;, \u0026#34;first_person_base_pose\u0026#34;: \u0026#34;animation.player.first_person.base_pose\u0026#34;, \u0026#34;first_person_empty_hand\u0026#34;: \u0026#34;animation.player.first_person.empty_hand\u0026#34;, \u0026#34;first_person_swap_item\u0026#34;: \u0026#34;animation.player.first_person.swap_item\u0026#34;, \u0026#34;first_person_attack_controller\u0026#34;: \u0026#34;controller.animation.player.first_person_attack\u0026#34;, \u0026#34;first_person_attack_rotation\u0026#34;: \u0026#34;animation.player.first_person.attack_rotation\u0026#34;, \u0026#34;first_person_vr_attack_rotation\u0026#34;: \u0026#34;animation.player.first_person.vr_attack_rotation\u0026#34;, \u0026#34;first_person_walk\u0026#34;: \u0026#34;animation.player.first_person.walk\u0026#34;, \u0026#34;first_person_map_controller\u0026#34;: \u0026#34;controller.animation.player.first_person_map\u0026#34;, \u0026#34;first_person_map_hold\u0026#34;: \u0026#34;animation.player.first_person.map_hold\u0026#34;, \u0026#34;first_person_map_hold_attack\u0026#34;: \u0026#34;animation.player.first_person.map_hold_attack\u0026#34;, \u0026#34;first_person_map_hold_off_hand\u0026#34;: \u0026#34;animation.player.first_person.map_hold_off_hand\u0026#34;, \u0026#34;first_person_map_hold_main_hand\u0026#34;: \u0026#34;animation.player.first_person.map_hold_main_hand\u0026#34;, \u0026#34;first_person_crossbow_equipped\u0026#34;: \u0026#34;animation.player.first_person.crossbow_equipped\u0026#34;, \u0026#34;third_person_crossbow_equipped\u0026#34;: \u0026#34;animation.player.crossbow_equipped\u0026#34;, \u0026#34;third_person_bow_equipped\u0026#34;: \u0026#34;animation.player.bow_equipped\u0026#34;, \u0026#34;crossbow_hold\u0026#34;: \u0026#34;animation.player.crossbow_hold\u0026#34;, \u0026#34;crossbow_controller\u0026#34;: \u0026#34;controller.animation.player.crossbow\u0026#34;, \u0026#34;shield_block_main_hand\u0026#34;: \u0026#34;animation.player.shield_block_main_hand\u0026#34;, \u0026#34;shield_block_off_hand\u0026#34;: \u0026#34;animation.player.shield_block_off_hand\u0026#34;, \u0026#34;blink\u0026#34;: \u0026#34;controller.animation.persona.blink\u0026#34; }, //插入新的render controller，這裡設成第三人稱才顯示 \u0026#34;render_controllers\u0026#34;: [ { \u0026#34;controller.render.player.beefist\u0026#34;: \u0026#34;!variable.is_first_person \u0026amp;\u0026amp; !variable.map_face_icon\u0026#34; }, { \u0026#34;controller.render.player.first_person\u0026#34;: \u0026#34;variable.is_first_person\u0026#34; }, { \u0026#34;controller.render.player.third_person\u0026#34;: \u0026#34;!variable.is_first_person \u0026amp;\u0026amp; !variable.map_face_icon\u0026#34; }, { \u0026#34;controller.render.player.map\u0026#34;: \u0026#34;variable.map_face_icon\u0026#34; } ], \u0026#34;enable_attachables\u0026#34;: true } } } 再在資源包的render_controllers資料夾，新增一個新的render_controller，叫做beefist.json : { \u0026#34;format_version\u0026#34;: \u0026#34;1.8.0\u0026#34;, \u0026#34;render_controllers\u0026#34;: { \u0026#34;controller.render.player.beefist\u0026#34;: { \u0026#34;geometry\u0026#34;: \u0026#34;Geometry.beefist\u0026#34;, //entity/player.json所新增的geometry \u0026#34;materials\u0026#34;: [ { \u0026#34;*\u0026#34;: \u0026#34;Material.beefist\u0026#34; } ], //entity/player.json所新增的material \u0026#34;textures\u0026#34;: [ \u0026#34;Texture.beefist\u0026#34; ] //entity/player.json所新增的材質 } } } 完成。\n但是這裡只設定在第三人稱顯示，如果要在其他視角顯示，就請自行複製player的render controller進行細部調整吧!\n請參閱NPA這個Add-On了解這方面的問題。改用「全部取代掉」的方法，再把自己的皮膚檔案複製到這個資源包的/textures/entiy/裡面，再重新命名成steve.png即可。\n另外，想改披風的話，請下載這個資源包依樣畫葫蘆。\n皮膚包方法 # 不推薦。\n這個製作方法很麻煩，而且只適用Windows 10版本，Android要安裝別人修改過的apk，iOS更是不可能，而且遊戲主程式一更新就要重裝，因此不推薦。\n基岩版雖允許玩家安裝皮膚包，但非市集購買的皮膚包一律只會使用史蒂夫的模型。只有從市集購買的皮膚包，才能使用自訂模型。\n原理: 把做好的皮膚包取代掉系統檔案，就能夠讓皮膚包載入自訂的模型。\n本文撰寫時遊戲版本為1.17.10，也許未來會開放。\n將做好的模型檔案的匯出到皮膚包，改名為geometry.json。 如果有多個模型，則每個geometry之間要有逗號隔開。\n在這個範例中，確保geometry的ID為geometry.beefist。\nBlockbnech輸出的模型檔案結構應該長這樣:\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.12.0\u0026#34;, \u0026#34;minecraft:geometry\u0026#34;: [ { //...(中略) } ] } 修改成1.8.0的結構:\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.8.0\u0026#34;, \u0026#34;geometry.Beefist\u0026#34;: { \u0026#34;texturewidth\u0026#34;: 128, \u0026#34;textureheight\u0026#34;: 128, \u0026#34;visible_bounds_width\u0026#34;: 3, \u0026#34;visible_bounds_height\u0026#34;: 3.5, \u0026#34;visible_bounds_offset\u0026#34;: [0, 1.25, 0], \u0026#34;bones\u0026#34;: [ //(中略) ] } } 再將皮膚檔案放置進來。\n然後在skins.json，針對這個修改過的模型，填入要使用的geometry(即模型ID): { \u0026#34;skins\u0026#34;: [ //第一個皮膚 { \u0026#34;localization_name\u0026#34;: \u0026#34;Beefist\u0026#34;, //皮膚ID \u0026#34;geometry\u0026#34;: \u0026#34;geometry.Beefist\u0026#34;, //皮膚使用的模型 \u0026#34;texture\u0026#34;: \u0026#34;Beefist.png\u0026#34;, //皮膚材質名稱 \u0026#34;type\u0026#34;: \u0026#34;free\u0026#34; } ], //皮膚包名稱 \u0026#34;serialize_name\u0026#34;: \u0026#34;Custom4DSkinPack\u0026#34;, \u0026#34;localization_name\u0026#34;: \u0026#34;Custom4DSkinPack\u0026#34; } 皮膚包資料夾改名為\u0026quot;persona\u0026quot;，現在資料夾應該長這樣。 下載這套軟體: [IOUnlocker](IObit Unlocker)，用於修改系統檔案。\n按下「添加」，找到這個persona資料夾。\n該資料夾位於C:\\Users\\使用者名稱\\AppData\\Local\\Packages\\Microsoft.MinecraftUWPConsole_8wekyb3d8bbwe\\data\\skin_packs\n(WindowsApp這個資料夾要調整使用者群組給權限才能開啟)\n按解鎖旁邊的按鈕「解鎖\u0026amp;刪除」，刪除內建的皮膚包\u0026quot;persona\u0026quot;。 然後退出程式，重新開啟。 把自己做的皮膚包資料夾拖曳到「選擇的檔案\u0026amp;資料夾」，按下「解鎖\u0026amp;複製」將資料夾複製到剛剛刪除皮膚包的位置。 安裝這個皮膚包，避免無法載入。\n這個皮膚包其實就是skin_packs裡面原本的檔案，不安裝這個的話，皮膚的介面會一直處在載入畫面。\n開啟遊戲，應該就會看到自己的模型了。 總結: 技術上來說，即使這樣可以讓玩家使用自訂模型，但還是做不到市集那種「自訂額外配件」。\n這樣的好處大概就只有方便玩家在多個造型間切換而已，但資源包的subpack也是能達到類似效果。\n5. 將obj模型做為皮膚 # 在閱讀完上一章節後，請參考以下二篇文章了解obj模型的原理。\n在Minecraft基岩版中導入obj模型 MMD模型移植到Minecraft基岩版 接著參考上一章節的資源包或者皮膚包的步驟，把模型和材質檔案放進去。\n6. 我製作的皮膚包範本下載 # 這些可以自由修改，但MMD模型的部分請勿隨意商用，並請註明作者。\n普通皮膚包範本下載，內含2個皮膚。\n4D皮膚資源包範本下載，內含2個4D皮膚和模型，按齒輪切換。 4D皮膚包範本下載，這個是皮膚包，內含一個「蜜蜂拳套」的4D皮膚。\nobj皮膚資源包範本下載，內含一個BB的obj模型。\nMMD模型來源: 【Fate/MMD】BBペレちゃん【モデル配布】\n作者: つみだんご\n","date":"2021年8月8日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-create-4d-skin-pack/","section":"Minecrafts","summary":"這篇文章教你如何畫皮膚，以及製作4D皮膚模型。\n皮膚(skin)的正式名稱叫做「外觀」，多個外觀組成的檔案就叫「外觀包」(skin pack)。\n不管是4D還是5D皮膚，Minecraft基岩版都允許玩家自訂模型，除了像市集一樣能夠在方塊人身上增添配件外，也可以修改披風、使用更進階的.obj模型，讓玩家完全變成另一個遊戲的樣子，例如MMD的角色。 這篇文章結尾可以下載我製作的皮膚包範本，裡面包含一個普通模型(只改skin)、一個4D模型+皮膚，還有一個從MMD移植來的模型(請勿用於商業用途，並請註明作者)。\n1. 了解Minecraft皮膚的格式 # 確保你已經知道怎麼在基岩版中更改皮膚。\nMinecraft內建支援的是64x64像素解析度的png檔案，也就是所謂雙層皮膚，能製作帽子、外套、袖口。\n使用圖片編輯器開啟檔案可以查看圖片的解析度。 因此，檔案格式或像素大小不對，Minecraft都會拒絕匯入，或者顯示錯誤。此外，如果玩家自己做模型，則皮膚的解析度就沒有限制。 以上是預設的Steve皮膚，該檔案就像是摺紙的立方體展開圖(引用自Minecraft Wiki): 看起來有點抽象，所以採用顯示玩家3D模型，並能直接在上面畫畫的軟體會比較直觀，在這個教學中，我會使用Blockbench做示範。 ","title":"Minecraft基岩版4D皮膚 \u0026 披風 \u0026 皮膚包製作教學","type":"minecraft"},{"content":"Java版的皮膚(skin, 正式名稱叫做「外觀」)跟Minecraft基岩版的格式是通用的。\n但跟Java版不一樣，基岩版的皮膚不會上傳到雲端，也就是說換手機後皮膚都要手動匯入一次。\n除了從商城購買外，玩家也可以自行製作，或使用別人的皮膚。\n基岩版的特色是內建「表情」系統，玩家會眨眼，還有允許玩家修改模型，製作4D皮膚。\n皮膚製作教學看這裡。\n還可以從NovaSkin下載自己喜歡的使用。\n首先點選遊戲設定，在設定檔中關閉「僅允許受信任的外觀」和開啟「使用行動數據」 在遊戲主畫面右邊點選，個人檔案 玩家可以新增多個皮膚，點選編輯角色 切換到「已擁有」，按匯入，選擇新外觀，從手機內選擇皮膚的檔案。 如果匯入不支援的格式，基岩版會顯示警告: 「這不是皮膚，傻瓜。」\n匯入成功後，會讓玩家選擇要使用哪種模型。 回到首頁就切換完成了。\n考慮到基岩版的皮膚不會同步到雲端，因此匯入的皮膚檔案應該自行備份。\n","date":"2021年8月8日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-change-skin/","section":"Minecrafts","summary":"Java版的皮膚(skin, 正式名稱叫做「外觀」)跟Minecraft基岩版的格式是通用的。\n但跟Java版不一樣，基岩版的皮膚不會上傳到雲端，也就是說換手機後皮膚都要手動匯入一次。\n除了從商城購買外，玩家也可以自行製作，或使用別人的皮膚。\n基岩版的特色是內建「表情」系統，玩家會眨眼，還有允許玩家修改模型，製作4D皮膚。\n皮膚製作教學看這裡。\n還可以從NovaSkin下載自己喜歡的使用。\n首先點選遊戲設定，在設定檔中關閉「僅允許受信任的外觀」和開啟「使用行動數據」 在遊戲主畫面右邊點選，個人檔案 玩家可以新增多個皮膚，點選編輯角色 切換到「已擁有」，按匯入，選擇新外觀，從手機內選擇皮膚的檔案。 如果匯入不支援的格式，基岩版會顯示警告: 「這不是皮膚，傻瓜。」\n匯入成功後，會讓玩家選擇要使用哪種模型。 回到首頁就切換完成了。\n考慮到基岩版的皮膚不會同步到雲端，因此匯入的皮膚檔案應該自行備份。\n","title":"Minecraft基岩版如何更改皮膚","type":"minecraft"},{"content":" 因為很喜歡這個資源包，從手機版還是MCPE時代就開始用了，所以我自行將Java版本的TEX-D2資源包移植到Minecraft基岩版(bedrock)，不可做營利用途。\n官網只有更新至1.9，TEX-D3還在製作中。而我僅把方塊的檔案複製過來，沒有動到GUI和床的材質，支援基岩版1.17以上。\n除了官方版以外，我另外使用了這個論壇上另一個版本\u0026quot;Tex-D2 NE\u0026quot;的部分紋理，該資源包支援到Java版1.18。\n下載: https://www.mediafire.com/file/chnycxyfmcyenoz/unofficial_texd2_32x.mcpack/file\n","date":"2021年8月4日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-unofficial-tex-d2-port/","section":"Minecrafts","summary":" 因為很喜歡這個資源包，從手機版還是MCPE時代就開始用了，所以我自行將Java版本的TEX-D2資源包移植到Minecraft基岩版(bedrock)，不可做營利用途。\n官網只有更新至1.9，TEX-D3還在製作中。而我僅把方塊的檔案複製過來，沒有動到GUI和床的材質，支援基岩版1.17以上。\n除了官方版以外，我另外使用了這個論壇上另一個版本\"Tex-D2 NE\"的部分紋理，該資源包支援到Java版1.18。\n下載: https://www.mediafire.com/file/chnycxyfmcyenoz/unofficial_texd2_32x.mcpack/file\n","title":"[1.17+] Minecraft基岩版TEX-D2資源包，非官方移植版本","type":"minecraft"},{"content":"手機基岩版也有模組，但不是全部模組的東西都會顯示在背包中，這時就需要一個類似Java版JEI (Just Enough Items) 的工具了。\n相關文章: Minecraft基岩版的外掛程式介紹 Toolbox for Minecraft: PE是由Mr.Arm製作的APP，有點類似啟動器，有中文介面。拿模組物品只是其中一個功能，還有其他酷炫功能，講白了就是外掛。\n缺點是Minecraft主程式一更新就會不能用，要等作者調整後發布新版本。\n另外很多功能要看廣告才能使用，因此你可以自己找「去廣告破解版」來破解這個外掛程式(??)\n如果開啟時閃退，先開啟Minecraft，再回到首頁開啟這個程式。另外可加入官方Discord群組回報bug。\n這個APP只有Android版本，且需要安裝正版Minecraft才可以使用。\nGoogle Play下載 雖然是免費，但有些功能要訂閱，而且是以週為單位收費，當然也能透過看廣告獲得短時間使用權限。\n透過Toolbox APP啟動Minecraft，Minecraft的介面會顯示一個懸浮窗。 進入世界後會啟動小地圖，可在懸浮窗裡面調整大小。 世界「取得物品」的介面會自動讀取Add-On物品/方塊，可以直接拿出沒有顯示在創造背包的東西。 此外還有很多實用功能，但如果在伺服器用這些會被視為外掛，你的帳號會被封鎖。 ","date":"2021年8月4日","externalUrl":null,"permalink":"/posts/toolbox-for-minecraft-pe/","section":"Minecrafts","summary":"手機基岩版也有模組，但不是全部模組的東西都會顯示在背包中，這時就需要一個類似Java版JEI (Just Enough Items) 的工具了。\n相關文章: Minecraft基岩版的外掛程式介紹 Toolbox for Minecraft: PE是由Mr.Arm製作的APP，有點類似啟動器，有中文介面。拿模組物品只是其中一個功能，還有其他酷炫功能，講白了就是外掛。\n缺點是Minecraft主程式一更新就會不能用，要等作者調整後發布新版本。\n另外很多功能要看廣告才能使用，因此你可以自己找「去廣告破解版」來破解這個外掛程式(??)\n如果開啟時閃退，先開啟Minecraft，再回到首頁開啟這個程式。另外可加入官方Discord群組回報bug。\n這個APP只有Android版本，且需要安裝正版Minecraft才可以使用。\nGoogle Play下載 雖然是免費，但有些功能要訂閱，而且是以週為單位收費，當然也能透過看廣告獲得短時間使用權限。\n透過Toolbox APP啟動Minecraft，Minecraft的介面會顯示一個懸浮窗。 進入世界後會啟動小地圖，可在懸浮窗裡面調整大小。 世界「取得物品」的介面會自動讀取Add-On物品/方塊，可以直接拿出沒有顯示在創造背包的東西。 此外還有很多實用功能，但如果在伺服器用這些會被視為外掛，你的帳號會被封鎖。 ","title":"【模組分享】手機版JEI，Toolbox for Minecraft: PE","type":"minecraft"},{"content":"鑒於1.17要加入文言文，所以我做了這個。\n應該在愚人節發表的，因為只有改主介面。\n使用Google翻譯，把介面改成台羅字。\n下載: https://www.mediafire.com/file/pchh8xsrfekjwu3/%25E5%258F%25B0%25E8%25AA%259E%25E8%25B3%2587%25E6%25BA%2590%25E5%258C%2585Taiwanese_language_pack_1.17.mcpack/file\n要進行翻譯，就修改資源包裡面的texts/zh_TUU.lang檔案即可。\n","date":"2021年8月4日","externalUrl":null,"permalink":"/posts/minecraft-taiwanese-language-pack/","section":"Minecrafts","summary":"鑒於1.17要加入文言文，所以我做了這個。\n應該在愚人節發表的，因為只有改主介面。\n使用Google翻譯，把介面改成台羅字。\n下載: https://www.mediafire.com/file/pchh8xsrfekjwu3/%25E5%258F%25B0%25E8%25AA%259E%25E8%25B3%2587%25E6%25BA%2590%25E5%258C%2585Taiwanese_language_pack_1.17.mcpack/file\n要進行翻譯，就修改資源包裡面的texts/zh_TUU.lang檔案即可。\n","title":"Minecraft基岩版「台語」語言資源包","type":"minecraft"},{"content":"自從Mojang帳號合併至微軟帳號之後，部分Java玩家在連線到伺服器時會顯示錯誤訊息:\nPlease switch to 'Mojang' mode to play with your original Account!\n找到電腦的記事本，右鍵「以系統管理員執行」 按檔案，開啟舊檔，檔案名稱的欄位輸入：%SystemRoot%System32driversetchosts 把檔案內含有「mojang」的字句都刪除\n刪除前 刪除後 儲存檔案。 參考資料\n","date":"2021年7月30日","externalUrl":null,"permalink":"/posts/fix-please-switch-to-mojang-mode-to-play-with-your-original-account/","section":"Minecrafts","summary":"自從Mojang帳號合併至微軟帳號之後，部分Java玩家在連線到伺服器時會顯示錯誤訊息:\nPlease switch to 'Mojang' mode to play with your original Account!\n找到電腦的記事本，右鍵「以系統管理員執行」 按檔案，開啟舊檔，檔案名稱的欄位輸入：%SystemRoot%System32driversetchosts 把檔案內含有「mojang」的字句都刪除\n刪除前 刪除後 儲存檔案。 參考資料\n","title":"【解決方法】Please switch to 'Mojang' mode to play with your original Account!","type":"minecraft"},{"content":"","date":"2021年7月29日","externalUrl":null,"permalink":"/series/aternos-minecraft%E5%9F%BA%E5%B2%A9%E7%89%88%E4%BC%BA%E6%9C%8D%E5%99%A8%E9%96%8B%E6%9C%8D%E6%95%99%E5%AD%B8/","section":"Series","summary":"","title":"Aternos Minecraft基岩版伺服器開服教學","type":"series"},{"content":"因為Aternos是基於BDS伺服器，也可以調整一些設定，讓玩家只能進來看而不能破壞物品。\n設定前請先讓伺服器離線。\n點選「選項」 在這個頁面可以設定玩家人數、白名單、遊戲模式等。\n由於在Aternos的首頁可以看到免費伺服器的記憶體只有2GB而已，所以建議不要把玩家人數設的太高。\n若勾選「白名單」模式的話，則只有指定的玩家可以進來。 切換到左側邊欄的「玩家」頁面，輸入玩家名字就可以設定管理員和白名單。 其他玩家權限的設定方法:\n上傳自己的世界到Aternos前，在編輯世界的選項選擇「加入的玩家權限」。\n選擇「訪客」則被邀請進入的玩家就只能進入世界當旁觀者。 ","date":"2021年7月29日","externalUrl":null,"permalink":"/posts/aternos-server-permissions/","section":"Minecrafts","summary":"因為Aternos是基於BDS伺服器，也可以調整一些設定，讓玩家只能進來看而不能破壞物品。\n設定前請先讓伺服器離線。\n點選「選項」 在這個頁面可以設定玩家人數、白名單、遊戲模式等。\n由於在Aternos的首頁可以看到免費伺服器的記憶體只有2GB而已，所以建議不要把玩家人數設的太高。\n若勾選「白名單」模式的話，則只有指定的玩家可以進來。 切換到左側邊欄的「玩家」頁面，輸入玩家名字就可以設定管理員和白名單。 其他玩家權限的設定方法:\n上傳自己的世界到Aternos前，在編輯世界的選項選擇「加入的玩家權限」。\n選擇「訪客」則被邀請進入的玩家就只能進入世界當旁觀者。 ","title":"Minecraft基岩版Aternos伺服器設定玩家權限，防止搞破壞","type":"minecraft"},{"content":"Aternos支援安裝Add-on和資源包，這樣其他玩家進入伺服器時會被要求下載快取檔案，然後就能直接玩到模組或光影。\n上傳前先關閉伺服器。 在左側邊欄的「選項」開啟「允許作弊」和「需要資源包」。\n切換到左邊側邊欄的「檔案」 點進去packs資料夾 在這裡上傳Add-on或資源包，.zip或者.mcpack皆可，Aternos會自行判斷並啟用。 之後再開啟伺服器，進入世界，應該就會生效。\n這裡示範使用的是Airliner Add-On\n如果Add-on無法運作，請確認Aternos的世界上傳前有無在世界編輯裡面開啟「測試版」全部的選項。\n或者可以改成上傳事先裝好Add-On的世界。 ","date":"2021年7月29日","externalUrl":null,"permalink":"/posts/aternos-server-install-add-on/","section":"Minecrafts","summary":"Aternos支援安裝Add-on和資源包，這樣其他玩家進入伺服器時會被要求下載快取檔案，然後就能直接玩到模組或光影。\n上傳前先關閉伺服器。 在左側邊欄的「選項」開啟「允許作弊」和「需要資源包」。\n切換到左邊側邊欄的「檔案」 點進去packs資料夾 在這裡上傳Add-on或資源包，.zip或者.mcpack皆可，Aternos會自行判斷並啟用。 之後再開啟伺服器，進入世界，應該就會生效。\n這裡示範使用的是Airliner Add-On\n如果Add-on無法運作，請確認Aternos的世界上傳前有無在世界編輯裡面開啟「測試版」全部的選項。\n或者可以改成上傳事先裝好Add-On的世界。 ","title":"Minecraft基岩版Aternos伺服器安裝資源包/Add-on","type":"minecraft"},{"content":"Aternos伺服器能上傳自己的世界，也可以自動備份世界。\n每個Aternos帳號只能有一個世界，換句話說上傳新的世界，舊世界就會被蓋掉。\n1. 上傳世界 \u0026amp; 下載世界 # 上傳前要先關閉伺服器，使其「離線」。 點選左邊的「世界」 這個介面可以管理伺服器的世界，也可以把伺服器上的世界下載到手機。\n點選上傳，上傳世界只接受壓縮.zip或資料夾，資料夾只能用電腦版網頁上傳，所以請用壓縮檔。\n相關文章：Minecraft基岩版如何安裝、分享、搬移地圖\n把個別的世界資料夾壓縮成.zip。稍微等一下，等頁面重新載入後就完成上傳了。\n2. 備份世界 # 上個段落提到可以把世界下載回來，Aternos也提供線上備份世界的方式，將世界自動儲存到你的Google雲端硬碟。\n點選「備份檔案」 登入Google帳號，授權Aternos存取雲端硬碟。 接著輸入備份檔名稱，按「建立備份檔案」。 頁面會重新載入，會看到雲端出現備份的檔案，視你的雲端硬碟容量，要建立多少備份檔都可以。\n勾選「自動備份」則每次進入世界就會自動備份一次世界。 按一下世界旁邊的按紐，就可以將備份檔還原到伺服器上。 ","date":"2021年7月29日","externalUrl":null,"permalink":"/posts/upload-worlds-to-aternos/","section":"Minecrafts","summary":"Aternos伺服器能上傳自己的世界，也可以自動備份世界。\n每個Aternos帳號只能有一個世界，換句話說上傳新的世界，舊世界就會被蓋掉。\n1. 上傳世界 \u0026 下載世界 # 上傳前要先關閉伺服器，使其「離線」。 點選左邊的「世界」 這個介面可以管理伺服器的世界，也可以把伺服器上的世界下載到手機。\n點選上傳，上傳世界只接受壓縮.zip或資料夾，資料夾只能用電腦版網頁上傳，所以請用壓縮檔。\n相關文章：Minecraft基岩版如何安裝、分享、搬移地圖\n把個別的世界資料夾壓縮成.zip。稍微等一下，等頁面重新載入後就完成上傳了。\n2. 備份世界 # 上個段落提到可以把世界下載回來，Aternos也提供線上備份世界的方式，將世界自動儲存到你的Google雲端硬碟。\n點選「備份檔案」 登入Google帳號，授權Aternos存取雲端硬碟。 接著輸入備份檔名稱，按「建立備份檔案」。 頁面會重新載入，會看到雲端出現備份的檔案，視你的雲端硬碟容量，要建立多少備份檔都可以。\n勾選「自動備份」則每次進入世界就會自動備份一次世界。 按一下世界旁邊的按紐，就可以將備份檔還原到伺服器上。 ","title":"Minecraft基岩版Aternos伺服器上傳自己的世界與備份世界","type":"minecraft"},{"content":"Aternos是免費的開伺服器網站，支援Minecraft Java版和基岩版，有中文介面。\n1. Aternos介紹 # 就基岩版來說，Aternos使用的核心其實就是Minecraft BDS伺服器，但是不用架在自己電腦，也可以從手機上直接開服。\nAternos基岩版伺服器不支援裝插件(plugin)，但是可以安裝Add-on模組和資源包。\n因為是免費服務，很容易lag (ping值很高)，如果想順暢的玩或者長期經營伺服器，建議還是買主機自己架。\n使用Aternos前必須要有Xbox帳號才可以有自己的名字和自訂皮膚。\nMinecraft 註冊XBox帳號 \u0026amp; 無法多人解決辦法 2. Aternos開伺服器 # Aternos首頁：https://aternos.org\n手機瀏覽器開啟Aternos首頁，按右下角遊玩 註冊帳號，然後會進到以下畫面。按建立伺服器，選取「基岩版(Win10/手機)」，按「建立」。 按下綠色的啟動，同意EULA條約。\n有時候會因為系統繁忙，要稍微排隊才可以開啟伺服器。 變成綠燈這樣伺服器才算啟動完成。綠燈就代表伺服器在線上，任何人都可以隨時連進來，紅色按鈕可以關掉伺服器。 注意「在線」左邊會有個倒數，時間到沒有人在線上的話，伺服器會自己關閉，把資源讓給其他玩家使用。\n按「分享連結」，別人開啟這個網址時，Minecraft就會自動開啟，並加入伺服器。 如果沒有，就手動在遊戲裡的「伺服器」新增，輸入上圖顯示的名字(名字自己取)、伺服器位址(地址)、連接埠。 無法連線請檢查Aternos伺服器是否為開啟狀態。\n沒有設定直接進入伺服器的話，就會創造一個生存的世界。 ","date":"2021年7月28日","externalUrl":null,"permalink":"/posts/host-minecraft-bedrock-server-on-aternos/","section":"Minecrafts","summary":"Aternos是免費的開伺服器網站，支援Minecraft Java版和基岩版，有中文介面。\n1. Aternos介紹 # 就基岩版來說，Aternos使用的核心其實就是Minecraft BDS伺服器，但是不用架在自己電腦，也可以從手機上直接開服。\nAternos基岩版伺服器不支援裝插件(plugin)，但是可以安裝Add-on模組和資源包。\n因為是免費服務，很容易lag (ping值很高)，如果想順暢的玩或者長期經營伺服器，建議還是買主機自己架。\n使用Aternos前必須要有Xbox帳號才可以有自己的名字和自訂皮膚。\nMinecraft 註冊XBox帳號 \u0026 無法多人解決辦法 2. Aternos開伺服器 # Aternos首頁：https://aternos.org\n手機瀏覽器開啟Aternos首頁，按右下角遊玩 註冊帳號，然後會進到以下畫面。按建立伺服器，選取「基岩版(Win10/手機)」，按「建立」。 按下綠色的啟動，同意EULA條約。\n有時候會因為系統繁忙，要稍微排隊才可以開啟伺服器。 變成綠燈這樣伺服器才算啟動完成。綠燈就代表伺服器在線上，任何人都可以隨時連進來，紅色按鈕可以關掉伺服器。 注意「在線」左邊會有個倒數，時間到沒有人在線上的話，伺服器會自己關閉，把資源讓給其他玩家使用。\n","title":"Minecraft基岩版Aternos伺服器開服教學","type":"minecraft"},{"content":"《新世紀福音戰士》(1995)和《新世紀福音戰士劇場版》(1997)是不可多得的優質動畫，是值得觀賞的經典。 尤其是正經歷焦慮期、對自己沒自信的人，更該對照電視版與劇場版結局，深深的體會一次殘酷的結局和釋懷的喜悅。\n1. 緣由 # 2016年聽到同學唱〈残酷な天使のテーゼ〉進而入坑《新世紀福音戰士》，曾經中二到把EVA的自我毀滅哲學概念寫入高中作文裡面。想當然爾只拿到低分，當時沒有足夠好的詮釋能力。\n從2016年看完TV動畫我就迷上了這部動畫，新劇場版我還沒看過，反而到現在舊版本動畫還會不時拿出來回味，聆聽《The End of Evangelion》OST，理解自我價值為何。 看完動畫後我就決定著手製作成Minecraft模組了，當時Minecraft PE 流行的是BlockLauncher模組，所以用軟體Techne刻。\n角色選定第一集出現的第三使徒，還有初號機。 做完之後因BlockLauncher模型功能太廢所以放置。時隔五年後，Minecraft基岩版流行起Add-On，模型API大幅提昇。\n我將上述二個模型用Blockbnech重新製作，並加入正式動畫。Blockbench（右）允許旋轉cube可比過去Techne（左）筆直的線條好多了。 初號機跟日本玩家製作的機動戦士ガンダムAdd-On比大小 此模型原本計畫作為Minecraft基岩版Add-On發表，我當初名字都想好了耶，要取名叫做「人類補完計畫」。但朗基努斯之槍沒做出來就放棄了，最後更新日期為2021年7月27日。\n2. 模型細節 # 第三使徒薩基爾（サキエル） # 這個模型可以在Sketchfab下載\n","date":"2021年7月27日","externalUrl":null,"permalink":"/posts/3dartwork-20210727/","section":"Artworks","summary":"《新世紀福音戰士》(1995)和《新世紀福音戰士劇場版》(1997)是不可多得的優質動畫，是值得觀賞的經典。 尤其是正經歷焦慮期、對自己沒自信的人，更該對照電視版與劇場版結局，深深的體會一次殘酷的結局和釋懷的喜悅。\n1. 緣由 # 2016年聽到同學唱〈残酷な天使のテーゼ〉進而入坑《新世紀福音戰士》，曾經中二到把EVA的自我毀滅哲學概念寫入高中作文裡面。想當然爾只拿到低分，當時沒有足夠好的詮釋能力。\n從2016年看完TV動畫我就迷上了這部動畫，新劇場版我還沒看過，反而到現在舊版本動畫還會不時拿出來回味，聆聽《The End of Evangelion》OST，理解自我價值為何。 看完動畫後我就決定著手製作成Minecraft模組了，當時Minecraft PE 流行的是BlockLauncher模組，所以用軟體Techne刻。\n角色選定第一集出現的第三使徒，還有初號機。 做完之後因BlockLauncher模型功能太廢所以放置。時隔五年後，Minecraft基岩版流行起Add-On，模型API大幅提昇。\n我將上述二個模型用Blockbnech重新製作，並加入正式動畫。Blockbench（右）允許旋轉cube可比過去Techne（左）筆直的線條好多了。 ","title":"【3D繪圖】新世紀福音戰士 初號機 ＆ 第三使徒薩基爾","type":"artwork"},{"content":" 1. 起源 # 本Add-On源自某Minecraft Facebook社團，某人提出的問題，所以我把這個構想做出來。\n雖然Mojang官方早就拒絕了這個提案，但沒關係，透過這個行為包，玩家白天往頭頂正上方看就會瞎掉一陣子。\n只要抬頭看太陽(按照日照時間不同，抬頭角度也不一樣，只要抬頭就算盯著太陽)，玩家就會失明，躲在遮蔽物下面、戴上頭顱、往南北方向看可以避免失明。\n具體來說，就是以24度抬頭盯著東西方向的天空，或者中午時往上看，日出和日落時可能不會生效。\n按這裡下載。\nMinecraft Add-On安裝教學\n類似概念的Java版模組請試試看這個，支援1.12。\n2. 技術解釋 # 雖然execute指令可以偵測玩家轉頭的方向，但是這裡僅使用ry和rym偵測水平方向。\nquery.target_x_rotation函數用於抓玩家的垂直轉頭，query.target_y_rotation是玩家的頭「水平旋轉了多少度」，跟選擇子的用法不同。\nentities/player.json用於偵測玩家是否在地面上/遮蔽物/下雨/戴頭顱。沒有see_sky這個函數，is_underground的filter說白了只要玩家頭上有固體，就會傳回true。\n","date":"2021年7月24日","externalUrl":null,"permalink":"/posts/minecraft-dont-stare-at-the-sun-add-on/","section":"Minecrafts","summary":"1. 起源 # 本Add-On源自某Minecraft Facebook社團，某人提出的問題，所以我把這個構想做出來。\n雖然Mojang官方早就拒絕了這個提案，但沒關係，透過這個行為包，玩家白天往頭頂正上方看就會瞎掉一陣子。\n只要抬頭看太陽(按照日照時間不同，抬頭角度也不一樣，只要抬頭就算盯著太陽)，玩家就會失明，躲在遮蔽物下面、戴上頭顱、往南北方向看可以避免失明。\n具體來說，就是以24度抬頭盯著東西方向的天空，或者中午時往上看，日出和日落時可能不會生效。\n按這裡下載。\nMinecraft Add-On安裝教學\n類似概念的Java版模組請試試看這個，支援1.12。\n2. 技術解釋 # 雖然execute指令可以偵測玩家轉頭的方向，但是這裡僅使用ry和rym偵測水平方向。\nquery.target_x_rotation函數用於抓玩家的垂直轉頭，query.target_y_rotation是玩家的頭「水平旋轉了多少度」，跟選擇子的用法不同。\nentities/player.json用於偵測玩家是否在地面上/遮蔽物/下雨/戴頭顱。沒有see_sky這個函數，is_underground的filter說白了只要玩家頭上有固體，就會傳回true。\n","title":"【自製模組】不要盯著Minecraft的太陽，否則會瞎掉 Don't Stare At the Sun","type":"minecraft"},{"content":"這是Ivon所有翻譯歌曲的導覽頁。\n一直以來，我的影片都有在Youtube和Bilibili上傳。而2020年舊頻道被砍了，新頻道一樣有版權問題，因為不堪版權其擾，現在我採取不公開全部影片的作法。但如果你知道網址，你還是可以看。\n追蹤翻譯消息: Facebook或者這個網誌。\nFacebook和網誌應該是不太會消失，但若真的發生了，那就隨緣吧。\n影片不會再上傳到Youtube，加上我現在更新翻譯影片的頻率很低，頂多只會上傳到Bilibili。\n以下是我翻譯的影片清單，記載了影片名稱和觀看網址，還有原作者的影片網址。如果你想聽更久以前s2011131翻譯的經典歌曲請按這裡。\n影片標題 原始影片網址 原作者 觀看網址 系列 「拯救王冠」Save our crown｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=uq7OAmzmGxo TheAtlanticCraft https://www.youtube.com/watch?v=CujpuNZlFUY 「有時候」Sometimes ｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=zR0TDrFx3TM Thinknoodles https://www.youtube.com/watch?v=NeSdG0IBnaE 「Entity 303的一生」Entity 303\u0026rsquo;s Life ｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=R2mhSIRzEtU JeffVix https://www.youtube.com/watch?v=rWsZfEvLvUo 「我的礦坑」My Mine｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=bpeoW47NUi4 Vikkstar123HD https://www.youtube.com/watch?v=0T7WhflbR30 「怪物軍團」Monster Crew｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=axIC2arXNm0 Redstone Records https://www.youtube.com/watch?v=nLengThajuo 「Herobrine的一生」Herobrine\u0026rsquo;s Life｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=QJYBFkV0Kas Redstone Records https://www.youtube.com/watch?v=XoictdAtt4Y 「閉嘴，跟著我就對了」Shut up and Mine｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=8t3SOvbgybA Redstone Records https://www.youtube.com/watch?v=LxckR_50YyU 「礦坑之下」Mines Below｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=Apqke1S5r2A Redstone Records https://www.youtube.com/watch?v=HJkwO_Tclz0 「戰士們」Raiders｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=SZhozuVAnIo Redstone Records https://www.youtube.com/watch?v=lP1CxXVYoAk 「十二夜的生存」12 Nights of Survival｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=NIhNAE1ec9I Redstone Records https://www.youtube.com/watch?v=WNMvGCnbKPU 「Hypixel小遊戲」Hypixel Minigames｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=ifHimiOvZuk Redstone Records https://www.youtube.com/watch?v=yUevuFNiiRc 「地獄的深處」Nether Reaches｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=6CmGmMHg20M Redstone Records https://www.youtube.com/watch?v=1nVQKpjDGyg 「黃金」Gold｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=k6oJj0ZyLKc Redstone Records https://www.youtube.com/watch?v=rPcnLwCB0wQ 「Atlanteans」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=HWG3s0bvDYg TheAtlanticCraft https://www.youtube.com/watch?v=lEoRDwH_REI 「戰役」The Fights｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=1oXMoPsk56Q Phantaboulous https://www.youtube.com/watch?v=d9caW8WU9kI 「Herobrine」｜ Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=wRvq5AUeroo TheAtlanticCraft https://www.youtube.com/watch?v=logij9hpQDE 「Minecraft生活」Minecraft Life｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=SSlxrE03DBo Blue Monkey https://www.youtube.com/watch?v=n-7DOvAC-H4 「Minecraft老兄」Minecraft Dude｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=TDohpeJHU44 Phantaboulous https://www.youtube.com/watch?v=3-Sskg4HB-g 「Minecraft的生活」Minecraft Life｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=_ede6idfumc TryHardNinja https://www.youtube.com/watch?v=XKjbbmCCdkA 「一切都是方塊」Everything is Blocksome｜Minecraft歌曲翻譯【中文字幕】.mp4 https://www.youtube.com/watch?v=vy11m88OMTM Thinknoodles https://www.youtube.com/watch?v=0D0_c_66dg4 「一和零」Ones \u0026amp; Zeros｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=MXLQSwvAbYI Mineworks https://www.youtube.com/watch?v=8RSw7xgxeTY 「Minecraftable」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=_Iq4Cb9EXds Mineworks https://www.youtube.com/watch?v=YGKlmWBEQ38 「Ban掉」Banned｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=MSL5Ug9_OlQ BIGCRAZYHUSAMHD https://www.youtube.com/watch?v=rrXiESe29FQ 「今晚我們前去戰鬥」Tonight We Go to War｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=TRLQ2t_TnYs TryHardNinja https://www.youtube.com/watch?v=KMo46XRQP7U 「合成」Craft It｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=jR44ZXWYUDw Gizzy Gazza Cartoons https://www.youtube.com/watch?v=dO-rV2Es5rE 「困在這個地方」Stuck In This Place｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=I_bwF8dmudA Mineworks https://www.youtube.com/watch?v=75a3fr664GE 「我會在那的」I\u0026rsquo;ll Be There｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=tDH0eK9uYJo MC Songs by MC Jams https://www.youtube.com/watch?v=ljmpML40xr4 「村民們」Villagers｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=--wUp04vGWU Mineworks https://www.youtube.com/watch?v=b59X9-Aru1Y 「附魔」Enchanted｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=5kwsoQcgYNE BebopVox YOGSCAST https://www.youtube.com/watch?v=M0sFQ9DE9oo 「建築」Build On｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=yp6zpUnwCo0 Hyperdream Studios https://www.youtube.com/watch?v=pbxzVIDsSZ0 「我不玩Minecraft了」I\u0026rsquo;ll Quit Minecraft｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=Ih3ovAiTZmk NiceMarkMC https://www.youtube.com/watch?v=piTca5Fogr8 「都是因為追逐」All About That Chase｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=CVscIGEpRV0 Phantaboulous https://www.youtube.com/watch?v=o9QvpA-3RGE 「黃金」Gold｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=tf0VjoaBgoU CCMegaproductions https://www.youtube.com/watch?v=DgNFBc4uXg4 「骷髏王萬歲」 All Hail Skull King｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=LBCFYluVyTY TheAtlanticCraft https://www.youtube.com/watch?v=VcUk9zBdP2Y 「衝突」The Struggle｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=o22y3z7ooN0 Rainimator https://www.youtube.com/watch?v=i3OpyF49-60 Fractures 「鑽石劍」Diamond Swords｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=jFHGx8vkk1o Redstone Records https://www.youtube.com/watch?v=CeY4kxdlKpw 「冷酷如冰」Cold as Ice｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=hgoo9hrZFO0 Rainimator https://www.youtube.com/watch?v=duOqno-B3yM Fractures 「我們很危險」We Are the Danger｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=8vuPQaP9a2s Rainimator https://www.youtube.com/watch?v=BFIc8evDF2o Fractures 「匆匆掠過我」Rush Over Me ｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=F0Oj4w2NE0M CaptainSparklez https://www.youtube.com/watch?v=VLUPKNEm2_U 小方臉2「命運」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=u_YkHUuGXfQ MC Songs by MC Jams https://www.youtube.com/watch?v=-kOuImMiOm8 小方臉 方塊女孩5 「戰鬥吧！女孩」 Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=8yJhvGzQAqM MC Songs by MC Jams https://www.youtube.com/watch?v=9ouUibInKMk 方塊女孩 方塊女孩6 「壞男孩」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=ZpDUGZmVn5s MC Songs by MC Jams https://www.youtube.com/watch?v=Hg7FYgl9vjY 方塊女孩 方塊女孩7「所向無敵」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=x8ePDiQa9Ss MC Songs by MC Jams https://www.youtube.com/watch?v=MVkjHJ6K48s 方塊女孩 方塊女孩 「女孩也懂戰鬥的」Girls know how to fight｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=9JWLhTYJ3Lo MC Songs by MC Jams https://www.youtube.com/watch?v=TuYHc6FTuOU 方塊女孩 小方臉3「愛會回來的」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=vi0oUNqMNlw MC Songs by MC Jams https://www.youtube.com/watch?v=VVwIBQi5_a4 小方臉 方塊姊妹2「我的劍」.feat 佛萊迪｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=tY1SpMniy0Q MC Songs by MC Jams https://www.youtube.com/watch?v=XwU6HTgJA3U 方塊姊妹 方塊女孩4 「甩甩斧頭」｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=bcYfI_vVGnA MC Songs by MC Jams https://www.youtube.com/watch?v=Y4mCkLzqUIM 方塊女孩 「嘿CaptainSparkelez」Hey CaptainSparklez｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=tRx39M42G9M CaptainSparklez https://www.youtube.com/watch?v=Zm6TBMCq1LE 方塊女孩 方塊女孩3 「戰鬥得像個女孩」 feat. 小方臉 ｜Minecraft歌曲【中英字幕】 https://www.youtube.com/watch?v=-cFVgBZ5CCc MC Songs by MC Jams https://www.youtube.com/watch?v=a7cdRPKZHr8 方塊女孩 小方臉4 「與邪惡奮戰」Fighting Demons｜Minecraft歌曲 翻譯【中英字幕】 https://www.youtube.com/watch?v=8lny1rLGhZo MC Songs by MC Jams https://www.youtube.com/watch?v=oQXtRWnsi4U 小方臉 方塊姊妹1「把我的小豬還來」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=1x-jqq6RB7g MC Songs by MC Jams https://www.youtube.com/watch?v=u3i2_U8sThY 方塊姊妹 「較量」Battle ｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=9U_TaVZBtsU MC Songs by MC Jams https://www.youtube.com/watch?v=4wADFjvQAhQ 「技巧比你好」More Skilled Than You ｜Minecraft歌曲翻譯【中英字幕】 不詳 Hyperdream Studios https://www.youtube.com/watch?v=8Upgdst5pWQ 「戰鬥」Fight｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=cNV0Td1lgV8 Phantaboulous https://www.youtube.com/watch?v=KWWe0qRU30Q 駭客3「我乃駭客」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=OkEo5r0I1sA MC Songs by MC Jams https://www.youtube.com/watch?v=MyLFMqx5Pqg 駭客 「我的世界」My World｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=D-26qxTZNt0 BCC Gaming https://www.youtube.com/watch?v=Qm39rHu_Vus 「永不畏懼」Dragonhearted (「淪陷的王國」Part.4)｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=07rtl-zcQhg CaptainSparklez https://www.youtube.com/watch?v=drbpsPcXBPw 「你終會找到的」You Can Find It｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=xY7w5LMguk8 TryHardNinja https://www.youtube.com/watch?v=hkl27L10_II 「初心者」Noobs ｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=vk71aR7vRUA Mineworks https://www.youtube.com/watch?v=vaWBMYc9JAQ 「漆黑的夜晚」Starless Night｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=I47cB9WHqsI AntVenom https://www.youtube.com/watch?v=Qwn8adKVKSk 「活在Minecraft裡」Living in Minecraft｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=IrQ_l0_2DTc BebopVox YOGSCAST https://www.youtube.com/watch?v=h6_tLQzRFqI 「拳頭和石頭」Boxes and Stone｜Minecarft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=y2xVg5JeD84 TryHardNinja https://www.youtube.com/watch?v=JL1Cuoaed18 「怪物饒舌歌4」The Mob Rap, Part IV｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=gfg6qFJ7MDs JT Machinima https://www.youtube.com/watch?v=YbO2Od3_Kaw 怪物饒舌歌 「穿越歷史」Through History｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=sFW46IO1390 Cy\u0026rsquo;s Planet https://www.youtube.com/watch?v=hjbr-7gR6PM 「龍的故事」Dragons｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=MfERdhRCUps Mineworks https://www.youtube.com/watch?v=5mLEMrcmGIA 「感謝你」Thank You｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=UiiS-TSuE1M MrMEOLA https://www.youtube.com/watch?v=70LUaauDCoI 「龍，龍(多年以前)」Dragon, Dragon｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=M3EnxgquYq4 Mineworks https://www.youtube.com/watch?v=7SXb1JX1jzg 「整天都在挖礦」Mining All Day｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=nQZ-5Fxn-vE Nils Söderman https://www.youtube.com/watch?v=FTl_9yiyQf4 「新洞穴」New Cave｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=zTIotdEGGs4 Star https://www.youtube.com/watch?v=Tu7LGTt4Fnc 「更加向上」Level up｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=ouoFkoLyFIY AntVenom https://www.youtube.com/watch?v=UQ7vku9YVys 「蜘蛛」Spider｜ Mincraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=8Rw7Ka_XARs BlahBlahBlahGAMING https://www.youtube.com/watch?v=YIshMKZbjIw 「毀滅之怪」Wrecking Mob｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=UiKOf4jNbm8 CavemanFilms https://www.youtube.com/watch?v=ZxTFNm6AiX8 「跟你組隊」Team Up With You｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=p_l2_rp4oV8 Phantaboulous https://www.youtube.com/watch?v=eoxWMXGRyzU 「跟我獲得烏賊思維」Get Squiddy wit me｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=Y3j3bfjuImw Mineworks https://www.youtube.com/watch?v=oGJ_MvUBI-Y 「讓怪物死的50種方法」50 Ways to Make Mobs Die｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=RmZudRfbdyM KyleDinHD https://www.youtube.com/watch?v=qj0XDAkX-Xc 「沒有靈魂」Soulless｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=Le4IsvU4YVE ZNathan Animations https://www.youtube.com/watch?v=rHNlGrStKK8 「礦坑」Mineshaft｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=blKsmOP6zro Mineworks https://www.youtube.com/watch?v=tOI-ftEzMeM 「毀了你」Destroy You｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=JQh8YXAXtS8 Phantaboulous https://www.youtube.com/watch?v=udTbtfg2pjE 駭客4: 「駭客去死」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=6KMDnoCDuA8 MC Songs by MC Jams https://www.youtube.com/watch?v=ujblpx0X4Mw 駭客 「模組模組模組(更多模組)」Mods Mods Mods (Minecraft Mods)｜Minecraft歌曲翻譯【中文字幕】.mp4 https://www.youtube.com/watch?v=NskU4z1ewN0 Mineworks https://www.youtube.com/watch?v=kEa9TOJfN44 「一塊又一塊」Block by Block｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=Emjla7E5oxY Mineworks https://www.youtube.com/watch?v=3mbnIoSu1YQ 「能夠打敗凋零怪」Can Stop The Wither｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=JqvD74fEQeg Phantaboulous https://www.youtube.com/watch?v=5YO8DphPyWs 「Minecraft學校」Minecraft School｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=u6e\u0026ndash;WZzZMc MC Songs by MC Jams https://www.youtube.com/watch?v=8DiZrGaJZiY 「絕不停止耕種」Never Stop Farming｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=KHS6fBTxoD8 UnspeakableGaming https://www.youtube.com/watch?v=A2XOmfPrqp0 「龍的厄運」Dragon\u0026rsquo;s Doom｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=6Mr-Zt0eSqw SB737 https://www.youtube.com/watch?v=ED6-Xvmf2vY 「怪物饒舌歌5」The Mob Rap: Part 5｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=qD6S0E_IcTU JT Machinima https://www.youtube.com/watch?v=HHAaGjPuWqs 怪物饒舌歌 「Minecraft饒舌」 The Minecraft Rap Song｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=ZzaX4UdVspM BrySi the Machinima Guy https://www.youtube.com/watch?v=zSopk9s7vHc 「我的最愛」My Favorite Things｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=2fXRth-kFbU Pedro https://www.youtube.com/watch?v=sBiCHzQGBaI 「苦力怕悲情歌」The Sad Creeper Song｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=ICNK94Ccl74 JT Machinima https://www.youtube.com/watch?v=RFOqGI2-e7A 駭客2「我回來了」.feat Sans from Undertale ｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=YPYDVdmoP9E MC Songs by MC Jams https://www.youtube.com/watch?v=hkwJ6ThfXgQ 駭客 「回憶錄」Memoirs｜Minecraft歌曲翻譯【中英字幕】 不詳 不詳 https://www.youtube.com/watch?v=v3y-Nc-BdY0 「在怪物來臨前」Before Monsters Come｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=G7cFKpGZLoI Mineworks https://www.youtube.com/watch?v=1kquIklZF-Q 「怪物奈何不了我們」Mobs Can\u0026rsquo;t Handle Us｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=W8wmyx_0RKU Lachlan https://www.youtube.com/watch?v=8pB2If7PHww 「Minecraft之歌」Minecraft Song｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=qALJhPqSdJQ ReadySitGeek https://www.youtube.com/watch?v=FhqQbTe0kGA 「別跟新手組隊」Not Teaming With NOOBS｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=oOn_5Axqujg Phantaboulous https://www.youtube.com/watch?v=KEUe_7FvxUg 「夜晚裡的苦力怕」Creepers in the Night｜Minecraft歌曲翻譯【中英字幕】 不詳 MC Songs by MC Jams https://www.youtube.com/watch?v=O9eamcBFVro 「伺服中最好的建築」The Best Build On The Server｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=XJ_-VoWf4qo TycerVR 360 Videos https://www.youtube.com/watch?v=Z9BI06Queig 「挖礦去」Mining Ores｜ Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=Fkobwu65Gic Mineworks https://www.youtube.com/watch?v=Z_0Bucq7TEY 「全部建出來」Build It All ｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=PvI4oBVGP4c Phantaboulous https://www.youtube.com/watch?v=pJKcKaxie-Y 「我仍相信」I Am Believing｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=Tp1mk8DsLuQ Lachlan https://www.youtube.com/watch?v=7SQ_ufudN_A ","date":"2021年7月22日","externalUrl":null,"permalink":"/posts/old-ivon-huang-youtube-channel-minecraft-music-video-list/","section":"Minecrafts","summary":"這是Ivon所有翻譯歌曲的導覽頁。\n一直以來，我的影片都有在Youtube和Bilibili上傳。而2020年舊頻道被砍了，新頻道一樣有版權問題，因為不堪版權其擾，現在我採取不公開全部影片的作法。但如果你知道網址，你還是可以看。\n追蹤翻譯消息: Facebook或者這個網誌。\nFacebook和網誌應該是不太會消失，但若真的發生了，那就隨緣吧。\n影片不會再上傳到Youtube，加上我現在更新翻譯影片的頻率很低，頂多只會上傳到Bilibili。\n以下是我翻譯的影片清單，記載了影片名稱和觀看網址，還有原作者的影片網址。如果你想聽更久以前s2011131翻譯的經典歌曲請按這裡。\n影片標題 原始影片網址 原作者 觀看網址 系列 「拯救王冠」Save our crown｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=uq7OAmzmGxo TheAtlanticCraft https://www.youtube.com/watch?v=CujpuNZlFUY 「有時候」Sometimes ｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=zR0TDrFx3TM Thinknoodles https://www.youtube.com/watch?v=NeSdG0IBnaE 「Entity 303的一生」Entity 303’s Life ｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=R2mhSIRzEtU JeffVix https://www.youtube.com/watch?v=rWsZfEvLvUo 「我的礦坑」My Mine｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=bpeoW47NUi4 Vikkstar123HD https://www.youtube.com/watch?v=0T7WhflbR30 「怪物軍團」Monster Crew｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=axIC2arXNm0 Redstone Records https://www.youtube.com/watch?v=nLengThajuo 「Herobrine的一生」Herobrine’s Life｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=QJYBFkV0Kas Redstone Records https://www.youtube.com/watch?v=XoictdAtt4Y 「閉嘴，跟著我就對了」Shut up and Mine｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=8t3SOvbgybA Redstone Records https://www.youtube.com/watch?v=LxckR_50YyU 「礦坑之下」Mines Below｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=Apqke1S5r2A Redstone Records https://www.youtube.com/watch?v=HJkwO_Tclz0 「戰士們」Raiders｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=SZhozuVAnIo Redstone Records https://www.youtube.com/watch?v=lP1CxXVYoAk 「十二夜的生存」12 Nights of Survival｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=NIhNAE1ec9I Redstone Records https://www.youtube.com/watch?v=WNMvGCnbKPU 「Hypixel小遊戲」Hypixel Minigames｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=ifHimiOvZuk Redstone Records https://www.youtube.com/watch?v=yUevuFNiiRc 「地獄的深處」Nether Reaches｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=6CmGmMHg20M Redstone Records https://www.youtube.com/watch?v=1nVQKpjDGyg 「黃金」Gold｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=k6oJj0ZyLKc Redstone Records https://www.youtube.com/watch?v=rPcnLwCB0wQ 「Atlanteans」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=HWG3s0bvDYg TheAtlanticCraft https://www.youtube.com/watch?v=lEoRDwH_REI 「戰役」The Fights｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=1oXMoPsk56Q Phantaboulous https://www.youtube.com/watch?v=d9caW8WU9kI 「Herobrine」｜ Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=wRvq5AUeroo TheAtlanticCraft https://www.youtube.com/watch?v=logij9hpQDE 「Minecraft生活」Minecraft Life｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=SSlxrE03DBo Blue Monkey https://www.youtube.com/watch?v=n-7DOvAC-H4 「Minecraft老兄」Minecraft Dude｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=TDohpeJHU44 Phantaboulous https://www.youtube.com/watch?v=3-Sskg4HB-g 「Minecraft的生活」Minecraft Life｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=_ede6idfumc TryHardNinja https://www.youtube.com/watch?v=XKjbbmCCdkA 「一切都是方塊」Everything is Blocksome｜Minecraft歌曲翻譯【中文字幕】.mp4 https://www.youtube.com/watch?v=vy11m88OMTM Thinknoodles https://www.youtube.com/watch?v=0D0_c_66dg4 「一和零」Ones \u0026 Zeros｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=MXLQSwvAbYI Mineworks https://www.youtube.com/watch?v=8RSw7xgxeTY 「Minecraftable」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=_Iq4Cb9EXds Mineworks https://www.youtube.com/watch?v=YGKlmWBEQ38 「Ban掉」Banned｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=MSL5Ug9_OlQ BIGCRAZYHUSAMHD https://www.youtube.com/watch?v=rrXiESe29FQ 「今晚我們前去戰鬥」Tonight We Go to War｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=TRLQ2t_TnYs TryHardNinja https://www.youtube.com/watch?v=KMo46XRQP7U 「合成」Craft It｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=jR44ZXWYUDw Gizzy Gazza Cartoons https://www.youtube.com/watch?v=dO-rV2Es5rE 「困在這個地方」Stuck In This Place｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=I_bwF8dmudA Mineworks https://www.youtube.com/watch?v=75a3fr664GE 「我會在那的」I’ll Be There｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=tDH0eK9uYJo MC Songs by MC Jams https://www.youtube.com/watch?v=ljmpML40xr4 「村民們」Villagers｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=--wUp04vGWU Mineworks https://www.youtube.com/watch?v=b59X9-Aru1Y 「附魔」Enchanted｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=5kwsoQcgYNE BebopVox YOGSCAST https://www.youtube.com/watch?v=M0sFQ9DE9oo 「建築」Build On｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=yp6zpUnwCo0 Hyperdream Studios https://www.youtube.com/watch?v=pbxzVIDsSZ0 「我不玩Minecraft了」I’ll Quit Minecraft｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=Ih3ovAiTZmk NiceMarkMC https://www.youtube.com/watch?v=piTca5Fogr8 「都是因為追逐」All About That Chase｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=CVscIGEpRV0 Phantaboulous https://www.youtube.com/watch?v=o9QvpA-3RGE 「黃金」Gold｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=tf0VjoaBgoU CCMegaproductions https://www.youtube.com/watch?v=DgNFBc4uXg4 「骷髏王萬歲」 All Hail Skull King｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=LBCFYluVyTY TheAtlanticCraft https://www.youtube.com/watch?v=VcUk9zBdP2Y 「衝突」The Struggle｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=o22y3z7ooN0 Rainimator https://www.youtube.com/watch?v=i3OpyF49-60 Fractures 「鑽石劍」Diamond Swords｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=jFHGx8vkk1o Redstone Records https://www.youtube.com/watch?v=CeY4kxdlKpw 「冷酷如冰」Cold as Ice｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=hgoo9hrZFO0 Rainimator https://www.youtube.com/watch?v=duOqno-B3yM Fractures 「我們很危險」We Are the Danger｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=8vuPQaP9a2s Rainimator https://www.youtube.com/watch?v=BFIc8evDF2o Fractures 「匆匆掠過我」Rush Over Me ｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=F0Oj4w2NE0M CaptainSparklez https://www.youtube.com/watch?v=VLUPKNEm2_U 小方臉2「命運」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=u_YkHUuGXfQ MC Songs by MC Jams https://www.youtube.com/watch?v=-kOuImMiOm8 小方臉 方塊女孩5 「戰鬥吧！女孩」 Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=8yJhvGzQAqM MC Songs by MC Jams https://www.youtube.com/watch?v=9ouUibInKMk 方塊女孩 方塊女孩6 「壞男孩」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=ZpDUGZmVn5s MC Songs by MC Jams https://www.youtube.com/watch?v=Hg7FYgl9vjY 方塊女孩 方塊女孩7「所向無敵」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=x8ePDiQa9Ss MC Songs by MC Jams https://www.youtube.com/watch?v=MVkjHJ6K48s 方塊女孩 方塊女孩 「女孩也懂戰鬥的」Girls know how to fight｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=9JWLhTYJ3Lo MC Songs by MC Jams https://www.youtube.com/watch?v=TuYHc6FTuOU 方塊女孩 小方臉3「愛會回來的」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=vi0oUNqMNlw MC Songs by MC Jams https://www.youtube.com/watch?v=VVwIBQi5_a4 小方臉 方塊姊妹2「我的劍」.feat 佛萊迪｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=tY1SpMniy0Q MC Songs by MC Jams https://www.youtube.com/watch?v=XwU6HTgJA3U 方塊姊妹 方塊女孩4 「甩甩斧頭」｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=bcYfI_vVGnA MC Songs by MC Jams https://www.youtube.com/watch?v=Y4mCkLzqUIM 方塊女孩 「嘿CaptainSparkelez」Hey CaptainSparklez｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=tRx39M42G9M CaptainSparklez https://www.youtube.com/watch?v=Zm6TBMCq1LE 方塊女孩 方塊女孩3 「戰鬥得像個女孩」 feat. 小方臉 ｜Minecraft歌曲【中英字幕】 https://www.youtube.com/watch?v=-cFVgBZ5CCc MC Songs by MC Jams https://www.youtube.com/watch?v=a7cdRPKZHr8 方塊女孩 小方臉4 「與邪惡奮戰」Fighting Demons｜Minecraft歌曲 翻譯【中英字幕】 https://www.youtube.com/watch?v=8lny1rLGhZo MC Songs by MC Jams https://www.youtube.com/watch?v=oQXtRWnsi4U 小方臉 方塊姊妹1「把我的小豬還來」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=1x-jqq6RB7g MC Songs by MC Jams https://www.youtube.com/watch?v=u3i2_U8sThY 方塊姊妹 「較量」Battle ｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=9U_TaVZBtsU MC Songs by MC Jams https://www.youtube.com/watch?v=4wADFjvQAhQ 「技巧比你好」More Skilled Than You ｜Minecraft歌曲翻譯【中英字幕】 不詳 Hyperdream Studios https://www.youtube.com/watch?v=8Upgdst5pWQ 「戰鬥」Fight｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=cNV0Td1lgV8 Phantaboulous https://www.youtube.com/watch?v=KWWe0qRU30Q 駭客3「我乃駭客」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=OkEo5r0I1sA MC Songs by MC Jams https://www.youtube.com/watch?v=MyLFMqx5Pqg 駭客 「我的世界」My World｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=D-26qxTZNt0 BCC Gaming https://www.youtube.com/watch?v=Qm39rHu_Vus 「永不畏懼」Dragonhearted (「淪陷的王國」Part.4)｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=07rtl-zcQhg CaptainSparklez https://www.youtube.com/watch?v=drbpsPcXBPw 「你終會找到的」You Can Find It｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=xY7w5LMguk8 TryHardNinja https://www.youtube.com/watch?v=hkl27L10_II 「初心者」Noobs ｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=vk71aR7vRUA Mineworks https://www.youtube.com/watch?v=vaWBMYc9JAQ 「漆黑的夜晚」Starless Night｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=I47cB9WHqsI AntVenom https://www.youtube.com/watch?v=Qwn8adKVKSk 「活在Minecraft裡」Living in Minecraft｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=IrQ_l0_2DTc BebopVox YOGSCAST https://www.youtube.com/watch?v=h6_tLQzRFqI 「拳頭和石頭」Boxes and Stone｜Minecarft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=y2xVg5JeD84 TryHardNinja https://www.youtube.com/watch?v=JL1Cuoaed18 「怪物饒舌歌4」The Mob Rap, Part IV｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=gfg6qFJ7MDs JT Machinima https://www.youtube.com/watch?v=YbO2Od3_Kaw 怪物饒舌歌 「穿越歷史」Through History｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=sFW46IO1390 Cy’s Planet https://www.youtube.com/watch?v=hjbr-7gR6PM 「龍的故事」Dragons｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=MfERdhRCUps Mineworks https://www.youtube.com/watch?v=5mLEMrcmGIA 「感謝你」Thank You｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=UiiS-TSuE1M MrMEOLA https://www.youtube.com/watch?v=70LUaauDCoI 「龍，龍(多年以前)」Dragon, Dragon｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=M3EnxgquYq4 Mineworks https://www.youtube.com/watch?v=7SXb1JX1jzg 「整天都在挖礦」Mining All Day｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=nQZ-5Fxn-vE Nils Söderman https://www.youtube.com/watch?v=FTl_9yiyQf4 「新洞穴」New Cave｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=zTIotdEGGs4 Star https://www.youtube.com/watch?v=Tu7LGTt4Fnc 「更加向上」Level up｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=ouoFkoLyFIY AntVenom https://www.youtube.com/watch?v=UQ7vku9YVys 「蜘蛛」Spider｜ Mincraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=8Rw7Ka_XARs BlahBlahBlahGAMING https://www.youtube.com/watch?v=YIshMKZbjIw 「毀滅之怪」Wrecking Mob｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=UiKOf4jNbm8 CavemanFilms https://www.youtube.com/watch?v=ZxTFNm6AiX8 「跟你組隊」Team Up With You｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=p_l2_rp4oV8 Phantaboulous https://www.youtube.com/watch?v=eoxWMXGRyzU 「跟我獲得烏賊思維」Get Squiddy wit me｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=Y3j3bfjuImw Mineworks https://www.youtube.com/watch?v=oGJ_MvUBI-Y 「讓怪物死的50種方法」50 Ways to Make Mobs Die｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=RmZudRfbdyM KyleDinHD https://www.youtube.com/watch?v=qj0XDAkX-Xc 「沒有靈魂」Soulless｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=Le4IsvU4YVE ZNathan Animations https://www.youtube.com/watch?v=rHNlGrStKK8 「礦坑」Mineshaft｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=blKsmOP6zro Mineworks https://www.youtube.com/watch?v=tOI-ftEzMeM 「毀了你」Destroy You｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=JQh8YXAXtS8 Phantaboulous https://www.youtube.com/watch?v=udTbtfg2pjE 駭客4: 「駭客去死」｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=6KMDnoCDuA8 MC Songs by MC Jams https://www.youtube.com/watch?v=ujblpx0X4Mw 駭客 「模組模組模組(更多模組)」Mods Mods Mods (Minecraft Mods)｜Minecraft歌曲翻譯【中文字幕】.mp4 https://www.youtube.com/watch?v=NskU4z1ewN0 Mineworks https://www.youtube.com/watch?v=kEa9TOJfN44 「一塊又一塊」Block by Block｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=Emjla7E5oxY Mineworks https://www.youtube.com/watch?v=3mbnIoSu1YQ 「能夠打敗凋零怪」Can Stop The Wither｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=JqvD74fEQeg Phantaboulous https://www.youtube.com/watch?v=5YO8DphPyWs 「Minecraft學校」Minecraft School｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=u6e–WZzZMc MC Songs by MC Jams https://www.youtube.com/watch?v=8DiZrGaJZiY 「絕不停止耕種」Never Stop Farming｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=KHS6fBTxoD8 UnspeakableGaming https://www.youtube.com/watch?v=A2XOmfPrqp0 「龍的厄運」Dragon’s Doom｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=6Mr-Zt0eSqw SB737 https://www.youtube.com/watch?v=ED6-Xvmf2vY 「怪物饒舌歌5」The Mob Rap: Part 5｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=qD6S0E_IcTU JT Machinima https://www.youtube.com/watch?v=HHAaGjPuWqs 怪物饒舌歌 「Minecraft饒舌」 The Minecraft Rap Song｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=ZzaX4UdVspM BrySi the Machinima Guy https://www.youtube.com/watch?v=zSopk9s7vHc 「我的最愛」My Favorite Things｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=2fXRth-kFbU Pedro https://www.youtube.com/watch?v=sBiCHzQGBaI 「苦力怕悲情歌」The Sad Creeper Song｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=ICNK94Ccl74 JT Machinima https://www.youtube.com/watch?v=RFOqGI2-e7A 駭客2「我回來了」.feat Sans from Undertale ｜Minecraft歌曲翻譯【中英字幕】 https://www.youtube.com/watch?v=YPYDVdmoP9E MC Songs by MC Jams https://www.youtube.com/watch?v=hkwJ6ThfXgQ 駭客 「回憶錄」Memoirs｜Minecraft歌曲翻譯【中英字幕】 不詳 不詳 https://www.youtube.com/watch?v=v3y-Nc-BdY0 「在怪物來臨前」Before Monsters Come｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=G7cFKpGZLoI Mineworks https://www.youtube.com/watch?v=1kquIklZF-Q 「怪物奈何不了我們」Mobs Can’t Handle Us｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=W8wmyx_0RKU Lachlan https://www.youtube.com/watch?v=8pB2If7PHww 「Minecraft之歌」Minecraft Song｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=qALJhPqSdJQ ReadySitGeek https://www.youtube.com/watch?v=FhqQbTe0kGA 「別跟新手組隊」Not Teaming With NOOBS｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=oOn_5Axqujg Phantaboulous https://www.youtube.com/watch?v=KEUe_7FvxUg 「夜晚裡的苦力怕」Creepers in the Night｜Minecraft歌曲翻譯【中英字幕】 不詳 MC Songs by MC Jams https://www.youtube.com/watch?v=O9eamcBFVro 「伺服中最好的建築」The Best Build On The Server｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=XJ_-VoWf4qo TycerVR 360 Videos https://www.youtube.com/watch?v=Z9BI06Queig 「挖礦去」Mining Ores｜ Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=Fkobwu65Gic Mineworks https://www.youtube.com/watch?v=Z_0Bucq7TEY 「全部建出來」Build It All ｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=PvI4oBVGP4c Phantaboulous https://www.youtube.com/watch?v=pJKcKaxie-Y 「我仍相信」I Am Believing｜Minecraft歌曲翻譯【中文字幕】 https://www.youtube.com/watch?v=Tp1mk8DsLuQ Lachlan https://www.youtube.com/watch?v=7SQ_ufudN_A ","title":"「Ivon的Minecraft翻譯歌曲翻譯」舊頻道的影片列表","type":"minecraft"},{"content":"","date":"2021年7月19日","externalUrl":null,"permalink":"/series/minecraft%E5%9F%BA%E5%B2%A9%E7%89%88bds%E4%BC%BA%E6%9C%8D%E5%99%A8%E6%9E%B6%E8%A8%AD%E6%95%99%E5%AD%B8/","section":"Series","summary":"","title":"Minecraft基岩版BDS伺服器架設教學","type":"series"},{"content":"你可以在自己的電腦上使用Mojang官方的開服程式架設一個Minecraft基岩版伺服器，該程式支援Windows和Linux系統。\n該程式叫做「基岩版專用伺服器」英文Bedrock Dedicated Server，以下簡稱BDS。\n使用BDS的優點：\n✅ Mojang官方出品，會一直支援最新穩定版遊戲。\n✅ 不需要購買Minecraft Windows版也可以開伺服器。\n✅ 自架一切免費，無連線人數限制，可以一直開著。\n✅ 適合原味生存。\n✅ 可以安裝Add-On和資源包。\n✅ 基岩版Realms和Aternos就是以BDS為伺服器核心，足見該程式的穩定度。\n使用BDS的缺點：\n❌ 不支援插件(plugin)。\n❌ 除非模組出錯，否則沒有任何log記錄檔。\n❌ 客戶端和伺服器端的遊戲版本必須完全一致。\n因此BDS適合想體驗完整原版遊戲，進行多人連線的玩家。如果需要完整經營伺服器，建議使用PocketMine或是第三方修改過的BDS伺服器。\n1. 開服基本設定 # 在開始之前，確認你的Windows電腦是使用光纖上網，也就是有用網路線連接到數據機，Wifi或行動網路建議都不要；且如果數據機不是你的，就不要用這個方法開服。\n去試試其他方法： Minecraft基岩版多人連線教學: 方法一覽\n此外，玩家必須要有Xbox帳號，才會顯示自己的名字。\n到官網下載Minecraft Dedicated Server software for Windows這個程式，勾選左邊的同意條款，然後按Download。 把檔案解壓縮，連按兩下bedrock_server.exe開啟伺服器。會開啟命令提示字元 點選允許程式通過防火牆 為了確保這部電腦上的Minecraft也可以直接連線到這個伺服器，開另外一個PowerShell視窗，輸入以下指令\nCheckNetIsolation.exe LoopbackExempt –a –p=S-1-15-2-1958404141-86561845-1752920682-3514627264-368642714-62675701-733520436 按Enter，應會顯示成功。 先不要關掉視窗。在這個視窗，輸入ipconfig，查找電腦的區域IP。\n往下找到「乙太網路卡 乙太網路」\n記下IPV4後面的位址，通常是192.168.開頭\n開啟Windows上的Minecraft，在「伺服器」最下面按「新增伺服器」，輸入電腦IP位址，埠(port)維持預設，然後測試能不能連線。進去預設會創一個生存模式的世界。 這時開服時顯示的視窗會顯示玩家加入(Player connected) / 退出 (Player disconnected)的訊息。\n要關掉伺服器，就把這個視窗關閉即可。 2. 讓別人可以連進來伺服器 (通訊埠轉發) # 現在你成功開伺服器了，可是跟你不在同一個網路的其他人是無法連線進來的。同一個網路的定義是指：電腦網路線都插在同一台數據機上，或是連線到數據機的WIFI。\n要讓外部網路的裝置：可能是別人家的電腦，或者是你用4G上網的手機，都能連線到你電腦的伺服器，你可以：\n用ZeroTier建立虛擬區域網路 (參考影片） 通訊埠轉發，又稱端口映射 本文介紹2.的方法。這個部分要設定區域網路和廣域網路的IP，這樣別人在連線時，IP欄位只要輸入英文網址，而不用是一串數字。\n先固定區域網路(LAN) IP。打開電腦控制台，按網路和網際網路，按「變更介面卡選項」。 對「乙太網路」按右鍵，按「內容」。\n選取網際網路協定IPV4，然後再按「內容」。 勾選「使用下列的IP位址」\nIP位址填剛剛所取得的電腦的IP。\n預設閘道和DNS則是填數據機後台的登入網址 (看下個步驟) 按確定，關閉。\n接下來要設定通訊埠轉發 (端口映射，port forwarding)，要進入數據機後台進行設定。\n以我的為例，我的中華電信數據機盒子上寫的型號是P880，後台登入網址是192.168.1.1\n在電腦瀏覽器輸入IP，進入數據機後台。\n依照數據機型號不同，預設帳密也不一樣，自行google。 左邊勾選Expert Mode， Advanced Setup的NAT裡面就會出現Virtual Servers，等同port forwarding。\n按下Add 勾選Custom Service，旁邊取個名字\nServer IP Address填電腦的IP。\nExternal Port Start和External Port End填寫port，通常是19132。\nProtocol改成TCP/UDP。\n最後按下Apply/Save\n接下來是廣域網路(WAN)部分。到no-ip這個網站註冊一個帳號。這個步驟的用意是取得一個域名，這樣別人連線就不用打你家對外IP，而是打英數網址就可以了。 並且，大部分人家裡對外的IP是會不定時更換的，DDNS的服務可以確保連線到的都是你的IP。\n在帳號後台，Dynamic DNS那邊創建一個域名。按Creat host name 給域名取個名字(Hostname)，IP不要改，按下Create Hostname。 左邊切換到Dynamic Update Client，按綠色下載鍵，下載DUC這個程式。 安裝好之後，登入no-ip的帳號。\n在這個視窗勾選剛剛建立的域名，按下Save。 讓DUC保持在背景運作。\n這個時候請別人試試吧，或者拿出你的手機開啟Minecraft，用4G上網，確保不是跟電腦用同一個網路。記得要在遊戲設定→設定檔裡開啟「使用行動數據」。\n於是，這裡要填的就不是數字IP，而是剛剛建立的英文域名。 同樣，有玩家加入世界，電腦上也會顯示通知。 3. 複習 \u0026amp; 總結 # 沒有光纖網路就不要用這個方法開伺服器。 DUC的用途是讓不同網路的玩家也能連到你的伺服器。 不開DUC，則只有你能進去世界。 只要電腦開著，並同時開啟bedrock_server.exe和DUC這二個程式，就代表伺服器在線上。 要關伺服器，就關掉視窗就好。 ","date":"2021年7月19日","externalUrl":null,"permalink":"/posts/minecraft-bedrock-dedicated-server-usage/","section":"Minecrafts","summary":"你可以在自己的電腦上使用Mojang官方的開服程式架設一個Minecraft基岩版伺服器，該程式支援Windows和Linux系統。\n該程式叫做「基岩版專用伺服器」英文Bedrock Dedicated Server，以下簡稱BDS。\n使用BDS的優點：\n✅ Mojang官方出品，會一直支援最新穩定版遊戲。\n✅ 不需要購買Minecraft Windows版也可以開伺服器。\n✅ 自架一切免費，無連線人數限制，可以一直開著。\n✅ 適合原味生存。\n✅ 可以安裝Add-On和資源包。\n✅ 基岩版Realms和Aternos就是以BDS為伺服器核心，足見該程式的穩定度。\n使用BDS的缺點：\n❌ 不支援插件(plugin)。\n❌ 除非模組出錯，否則沒有任何log記錄檔。\n❌ 客戶端和伺服器端的遊戲版本必須完全一致。\n因此BDS適合想體驗完整原版遊戲，進行多人連線的玩家。如果需要完整經營伺服器，建議使用PocketMine或是第三方修改過的BDS伺服器。\n1. 開服基本設定 # 在開始之前，確認你的Windows電腦是使用光纖上網，也就是有用網路線連接到數據機，Wifi或行動網路建議都不要；且如果數據機不是你的，就不要用這個方法開服。\n去試試其他方法： Minecraft基岩版多人連線教學: 方法一覽\n","title":"Windows Minecraft基岩版BDS伺服器架設教學 \u0026 通訊埠轉發","type":"minecraft"},{"content":"你可以將自己的世界複製到伺服器裡面，包括預先裝好Add-on和資源包的世界。\n因為BDS伺服器沒辦法像一般玩遊戲那樣，有編輯世界的介面。\n所以要先在Minecraft主程式裡面把要放進去的世界先裝好Add-on和資源包，然後調整好其它設定，再把世界複製過去。\nAdd-on安裝教學\n首先先關掉BDS伺服器。\n各個版本的世界存放位置:\nAndroid：內部儲存空間/Android/data/com.mojang.minecraftpe/files/games/com.mojang/minecraftworlds/\niOS：檔案app/我的iPhone/Minecraft/games/com.mojang/minecraftworlds/\nWindows：C\\Users\\使用者名稱\\AppData\\Local\\Packages\\Microsoft.MinecraftUWP_8wekyb3d8bbwe\\LocalState\\games\\com.mojang\\minecraftWorlds\n將世界的資料夾複製到伺服器的worlds資料夾，例如下面zTTS開頭的。 將server.properties裡level-name改成你的世界的資料夾名字 重開伺服器，就會切換到新的世界。\n如果有安裝Add-on，就會按照你啟用的情況載入。從外面連進來的玩家可能會被要求下載資源包的快取檔案。\n(這個是New Mutant Creatures Add-on)\n","date":"2021年7月19日","externalUrl":null,"permalink":"/posts/minecraft-bds-server-custom-world/","section":"Minecrafts","summary":"你可以將自己的世界複製到伺服器裡面，包括預先裝好Add-on和資源包的世界。\n因為BDS伺服器沒辦法像一般玩遊戲那樣，有編輯世界的介面。\n所以要先在Minecraft主程式裡面把要放進去的世界先裝好Add-on和資源包，然後調整好其它設定，再把世界複製過去。\nAdd-on安裝教學\n首先先關掉BDS伺服器。\n各個版本的世界存放位置:\nAndroid：內部儲存空間/Android/data/com.mojang.minecraftpe/files/games/com.mojang/minecraftworlds/\niOS：檔案app/我的iPhone/Minecraft/games/com.mojang/minecraftworlds/\nWindows：C\\Users\\使用者名稱\\AppData\\Local\\Packages\\Microsoft.MinecraftUWP_8wekyb3d8bbwe\\LocalState\\games\\com.mojang\\minecraftWorlds\n將世界的資料夾複製到伺服器的worlds資料夾，例如下面zTTS開頭的。 將server.properties裡level-name改成你的世界的資料夾名字 ","title":"Minecraft基岩版BDS伺服器教學：將伺服器替換成自己的世界＆安裝模組、資源包","type":"minecraft"},{"content":"確保基岩版伺服器是關閉的。用程式碼編輯器開啟server.properties這個檔案。\n裡面可以設定世界的選項，例如名字和遊戲模式。 只要修改等號後面的數值就好了，檔案bedrock_server_how_to.html裡面有說明這些參數的用途。\nserver.properties的參數翻譯請參考Minecraft Wiki\n以下是我有改的設定:\nserver-name=我的伺服器 gamemode=creative force-gamemode=false difficulty=easy texturepack-required=true allow-cheats=true max-players=50 level-name=第一個世界 在基礎設定的教學文章中，測試伺服器時，它會建立一個世界，預設名字就是level-name這個參數。\n在玩家進入伺服器的時候，就會從worlds/資料夾下面去找符合level-name所填名字的世界資料夾，如果沒有，系統會創一個，預設的遊戲模式就按照server.properties所填的來生成。\n原本的叫做「Bedrock level」，而我改成「第一個世界」，於是worlds/資料夾就有了二個世界。\n接著參考這篇文章，來將你的世界加入或替換掉伺服器所生成的世界。\n","date":"2021年7月19日","externalUrl":null,"permalink":"/posts/minecraft-bds-server-properties/","section":"Minecrafts","summary":"確保基岩版伺服器是關閉的。用程式碼編輯器開啟server.properties這個檔案。\n裡面可以設定世界的選項，例如名字和遊戲模式。 只要修改等號後面的數值就好了，檔案bedrock_server_how_to.html裡面有說明這些參數的用途。\nserver.properties的參數翻譯請參考Minecraft Wiki\n以下是我有改的設定:\nserver-name=我的伺服器 gamemode=creative force-gamemode=false difficulty=easy texturepack-required=true allow-cheats=true max-players=50 level-name=第一個世界 在基礎設定的教學文章中，測試伺服器時，它會建立一個世界，預設名字就是level-name這個參數。\n在玩家進入伺服器的時候，就會從worlds/資料夾下面去找符合level-name所填名字的世界資料夾，如果沒有，系統會創一個，預設的遊戲模式就按照server.properties所填的來生成。\n原本的叫做「Bedrock level」，而我改成「第一個世界」，於是worlds/資料夾就有了二個世界。\n接著參考這篇文章，來將你的世界加入或替換掉伺服器所生成的世界。\n","title":"Minecraft基岩版BDS伺服器教學：調整伺服器的參數","type":"minecraft"},{"content":"Realms是什麼? 它是Minecraft基岩版官方推出的私人伺服器，月費制，可試用一個月。\n伺服器隨時可登入，不用開服的人在線上，等於是自己開一個小伺服器，然後能邀一小群朋友進來玩。\n什麼樣的人適合用Realms? 參考這篇「基岩版多人連線方法總覽」進行比較，如果想要多人同樂，又無法使用區域連線、不會架伺服器，就適合購買Realms。或者，在遊戲主機上不方便手動裝地圖，也能夠在手機把地圖傳到Realms上，透過主機連線遊玩。\n這篇文章會介紹Minecraft基岩版的Realms訂閱方法，以及如何安裝模組和資源包，或使用Realms來搬移世界。\n有任何問題，本文無法解決的，建議按這裡聯絡Xbox客服。\n1. 如何訂閱Realms? # Realms有二種方案:\n一、可邀請二名玩家，每個月NT$119。\n二、可邀請十名玩家，還會送額外的地圖供遊玩，每個月NT$259。\n要參與Realms的玩家必須有Xbox帳號，且帳戶設定為18歲以上，請按這裡了解細節。不過不是Xbox好友也可以邀請。\nRealms付款時是看你使用什麼平台購買，就會用那個帳戶扣錢，例如Google Play。\n但是只要有登入Xbox，則在任何平台上都可以管理自己的Realms。\n按遊戲設定，訂閱，按下NT$ 259/月 勾「我同意」後，按「開始免費試用」。\n如果Realms無法購買，按這裡解決。 視你的平台而定，使用Google Play或者App Store付款，開始試用一個月。 如果到期後不想續訂，請記得提早取消訂閱。 (Android / iOS)\n先按下返回。 購買完成。\n2. 上傳自己的世界到Realms上 \u0026amp; 邀請好友 # 你可以將存在手機或電腦上的世界上傳到Realms。\n點進去世界列表，就能看到Realms和擁有人。按旁邊的鉛筆圖示。 如果直接按進去，它會創一個新的生存模式世界。 2.按旁邊的鉛筆圖示進入管理世界的介面。\n最多可以上傳3個世界，如果要上傳你自己的世界到Realms上，按下+號，然後「編輯世界」 按下「上傳世界」或「替換世界」，把你自己的世界上傳上去。 然後就會開始上傳，建議使用Wifi。\n如果上傳錯誤，那就稍後再試試看，或者重開Minecraft。 (不過有時候雖顯示錯誤，上傳其實是成功的) 目前畫面有2個世界，打綠色勾勾的那個就是選中要啟動的世界，按左上角的「遊戲」就能進入該世界。 如果要切換世界，請按其他世界的圖示，按「啟動世界」。 邀請其他玩家加入你的Realms吧! 在遊戲暫停介面右方，按下邀請玩遊戲。 把Xbox好友加入Realms成員，或搜尋玩家代號。 按下名字旁邊的邀請，等對方回覆。\n如果是生存服，開服者可以設定其他成員的權限，避免破壞東西。\n被邀請的玩家會在好友的介面，旁邊的信箱收到邀請信。 按下打勾，受到邀請的玩家就能加入Realms。 (有時還是會出現年齡問題bug，如果你確定你帳戶已經是設成18歲，那就重開Minecraft) Realms會顯示在「可加入的Realms」下方，開服的人可以不必在線上，其他受邀請的玩家也能夠隨時進入世界。 3. Realms下載世界，也可以用於傳輸和分享世界 # 可以把Realms當成雲端硬碟用，在手機上傳世界，並在電腦下載。這樣即使訂閱到期後，還是能繼續玩那個世界。\n在要下載的世界按「編輯世界」。 按下載世界。 世界就會出現在列表中，儲存在本機。 透過這個技巧，其實也能夠用來備份本機的世界而不怕資料毀損，甚至是把存在遊戲主機上的世界給上傳到Realms，然後再在手機上透過Realms下載回來，要了解如何搬移地圖，按這裡。\n4. Realms備份世界 # 如果你是要退訂Realms之後還能進入世界的，請看上一節「下載世界」。\nRealms會自動備份地圖，還能按時間點進行還原。舉例來說，如果生存時掛掉，東西噴光光，可以還原成上一次的備份，重來一次。\n按編輯世界，接著按「備份」。\n可以看到系統自動備份的世界，規律是每次進入世界就會備份一次。按旁邊的下載就可以還原，覆蓋掉目前的版本。 5. Realms安裝模組+資源包，讓遊戲主機也能玩模組 # 學會這節的技巧，就能讓不方便手動裝Add-on的遊戲主機(Xbox、PS4、Switch)也能執行含有模組的世界，或是裝光影資源包。\n主要是透過電腦或者手機上傳世界，然後遊戲主機就能從Realms進入到裝好模組的世界。\n請先了解單人模式的Add-on怎麼裝: Add-on安裝教學\n現在Realms可以直接編輯套用行為包和資源包。\n按下編輯世界，會顯示儲存在手機上的行為包和資源包，啟用後，系統會自動把有裝Add-on的世界重新上傳一遍。 請注意安裝Add-on要開啟作弊，有些還必須開啟測試版遊戲選項 (參考Add-on安裝教學)。\n如果用以上方法安裝的Add-on無法運作，請考慮先在本機的世界裝好Add-on，然後把裝有Add-on的世界上傳到Realms，減少出錯機率。\n開服的人上傳有Add-on的地圖之後，所有加入的玩家都會被要求下載Add-on的檔案或資源包。\n","date":"2021年7月19日","externalUrl":null,"permalink":"/posts/minecraft-realms/","section":"Minecrafts","summary":"Realms是什麼? 它是Minecraft基岩版官方推出的私人伺服器，月費制，可試用一個月。\n伺服器隨時可登入，不用開服的人在線上，等於是自己開一個小伺服器，然後能邀一小群朋友進來玩。\n什麼樣的人適合用Realms? 參考這篇「基岩版多人連線方法總覽」進行比較，如果想要多人同樂，又無法使用區域連線、不會架伺服器，就適合購買Realms。或者，在遊戲主機上不方便手動裝地圖，也能夠在手機把地圖傳到Realms上，透過主機連線遊玩。\n這篇文章會介紹Minecraft基岩版的Realms訂閱方法，以及如何安裝模組和資源包，或使用Realms來搬移世界。\n有任何問題，本文無法解決的，建議按這裡聯絡Xbox客服。\n1. 如何訂閱Realms? # Realms有二種方案:\n一、可邀請二名玩家，每個月NT$119。\n二、可邀請十名玩家，還會送額外的地圖供遊玩，每個月NT$259。\n要參與Realms的玩家必須有Xbox帳號，且帳戶設定為18歲以上，請按這裡了解細節。不過不是Xbox好友也可以邀請。\nRealms付款時是看你使用什麼平台購買，就會用那個帳戶扣錢，例如Google Play。\n但是只要有登入Xbox，則在任何平台上都可以管理自己的Realms。\n按遊戲設定，訂閱，按下NT$ 259/月 勾「我同意」後，按「開始免費試用」。\n如果Realms無法購買，按這裡解決。 視你的平台而定，使用Google Play或者App Store付款，開始試用一個月。 如果到期後不想續訂，請記得提早取消訂閱。 (Android / iOS)\n","title":"Minecraft基岩版Realms邀請好友、安裝模組教學","type":"minecraft"},{"content":"這篇文章教你註冊微軟Xbox帳號，以及伺服器、Realms、多人連線不能登入的解決辦法。\nJava版的「多人遊戲已停用，請檢查你的Microsoft帳號設定」錯誤也適用於此篇教學。\nMinecraft基岩版一定會用到微軟的Xbox帳號，可用於多人連線，和購買市集的內容。在不同裝置上登入Xbox帳號的話，可以隨時下載在市集中購買過的地圖。\n另外，Xbox帳號其實就是微軟(Microsoft)的帳號，如果你已經有Xbox帳號（例如Java版曾從Mojang轉移到微軟帳號)，就不用再另外註冊，直接用那個登入就好了。\n1. 手機上的註冊教學 # 按Minecraft主畫面左下角的登入 按登入 按立即建立新帳戶 輸入電郵，然後設密碼。 輸入年齡，年齡填18歲以上，不然之後會有很多問題。\n如果填錯了也沒關係，之後跳到第二步更改年齡。 Gmail會收到認證電子郵件，點進去複製數字驗證碼，然後輸入。 之後可能會有機器人驗證，按照螢幕上指示完成操作。\n選擇頭像，並輸入玩家代號，按下「開始」。\n頭像可以以後再改。玩家代號是以後別人加你好友會使用的名字，可以在英文後面加一串數字避免重複。 回到遊戲後，右邊就會顯示玩家名字了，代表登入成功。 2. 不能多人? Xbox更改帳戶設定 # 如果在玩多人連線或者Realms時遇到以下二種情況，Minecraft無法登入:\n「由於您的Microsoft帳戶設定方式，您無法遊玩線上多人遊戲。」 或者\n「您需要得到許可。由於您的Microsoft帳戶的設定方式，您無法新增好友。」 那麼請按以下步驟到Xbox官網修改帳號年齡成18歲以上和調整帳號的設定。\n按這裡前往Xbox官網，按右上角頭像登入。\n登入後，沒名字就輸入名字 (這個跟玩家代號不一樣，不會公開顯示) 登入成功後，點右上角頭像，按「我的Microsoft帳戶」進入設定頁。 在微軟帳戶首頁，按三個點的圖案，按「您的資訊」 找到「設定檔資訊」，按「編輯設定檔資訊」這時會先要求電子郵件驗證，按寄送電子郵件，然後輸入收到的驗證碼。\n把生日調成18歲以上，滑到最下面按「儲存」。 回到微軟帳號「您的資訊」頁面，往下滑按「Xbox設定檔」。 按隱私權設定。 按Xbox One / Windows 10線上安全 把以下幾項或全部選項改成「允許」:\n您可以和Xbox Live以外的玩家遊玩。 加入多人遊戲 新增好友 滑到最下面按「送出」，關閉頁面。\n重開Minecraft，在設定的「設定檔」裡登出您的Microsoft帳戶 再重新登入後就可正常使用多人連線。 ","date":"2021年7月18日","externalUrl":null,"permalink":"/posts/minecraft-register-xbox-accounts/","section":"Minecrafts","summary":"這篇文章教你註冊微軟Xbox帳號，以及伺服器、Realms、多人連線不能登入的解決辦法。\nJava版的「多人遊戲已停用，請檢查你的Microsoft帳號設定」錯誤也適用於此篇教學。\nMinecraft基岩版一定會用到微軟的Xbox帳號，可用於多人連線，和購買市集的內容。在不同裝置上登入Xbox帳號的話，可以隨時下載在市集中購買過的地圖。\n另外，Xbox帳號其實就是微軟(Microsoft)的帳號，如果你已經有Xbox帳號（例如Java版曾從Mojang轉移到微軟帳號)，就不用再另外註冊，直接用那個登入就好了。\n1. 手機上的註冊教學 # 按Minecraft主畫面左下角的登入 按登入 按立即建立新帳戶 輸入電郵，然後設密碼。 輸入年齡，年齡填18歲以上，不然之後會有很多問題。\n如果填錯了也沒關係，之後跳到第二步更改年齡。 Gmail會收到認證電子郵件，點進去複製數字驗證碼，然後輸入。 之後可能會有機器人驗證，按照螢幕上指示完成操作。\n選擇頭像，並輸入玩家代號，按下「開始」。\n頭像可以以後再改。玩家代號是以後別人加你好友會使用的名字，可以在英文後面加一串數字避免重複。 ","title":"Minecraft 註冊微軟XBox帳號 \u0026 無法多人解決辦法","type":"minecraft"},{"content":"請仔細看完文章知道在做什麼後再操作，世界不見恕不負責。\n如何安裝、分享、搬移地圖/世界?\n手機版Minecraft基岩版可能遇到這些情況，這篇文章應該能幫到你。\n首先先知道不同平台世界的存放位置，接著Android手機用戶再閱讀「遊戲重裝世界會不見嗎？」\n1. 不同平台Minecraft世界存放的位置 # 首先請先知道世界資料夾位置。\nAndroid：內部儲存空間/Android/data/com.mojang.minecraftpe/games/com.mojang/minecraftworlds/\nAndroid預設是存在「應用」，一般檔案管理器是無法存取的。\n建議在安裝遊戲後，還沒創世界前馬上把世界存放位置改成「外部儲存空間」，這樣以後安裝地圖會比較方便。\n如果世界已經存在應用內，請跳到第5部分了解怎麼搬出來。\niOS：檔案APP/我的iPhone/Minecraft/games/com.mojang/minecraftworlds/\nWindows ：C:\\Users\\使用者名稱\\AppData\\Local\\Packages\\Microsoft.MinecraftUWP\\_8wekyb3d8bbwe\\LocalState\\games\\com.mojang\\minecraftWorlds\\\n主機版(Xbox、PS4、Switch)若要分享世界，建議上傳到Realms，下載到電腦/手機再操作。\n2. 遊戲重裝世界會不見嗎？ # Android、iOS、Windows把Minecraft刪除重裝一定消失。\nAndroid版在遊戲設定 → 設定檔的「檔案存放位置」，裡面會顯示目前世界存在哪裡。 如果是「應用程式」，刪除app或者清除應用程式資料後世界一定跟著不見。 就算切換成外部儲存空間，世界也不會自己轉移過去，它仍然是存在應用程式裡，必須參考第5部分手動搬移出來。\n如果是「外部儲存空間」，解除安裝後這裡的世界也是會跟著刪除。\n資料夾位置為：內部儲存空間/Android/data/com.mojang.minecraftpe/games/com.mojang/minecraftworlds/\n3. 如何分享/備份世界？ # 有二種方法分享地圖：\n世界如果是存在外部儲存空間 (僅Android用戶會有此問題) # Mineraft世界的資料夾能用檔案管理器找到，把該世界資料夾壓縮成一個.zip壓縮檔即可。\n如果世界的儲存位置是存在「應用」，請先跳到第5部分了解如何取出來。\n直接匯出成.mcworld # Android用戶要裝這個Add-on: https://mcpedl.com/hidden-features/\nAdd-on安裝教學\n這樣不管世界是存在哪裡，都能直接匯出成一個檔案。將其設成全球資源包， 世界設定的最下面就會有「匯出世界」的按鈕，能直接打包成.mcworld格式 (此功能Windows版本來就有，Android和iOS為隱藏) 。 會跳出視窗選擇儲存位置，例如儲存到「Download」資料夾。 可以將匯出的「.mcworld」檔案存在手機裡，或上傳到雲端硬碟。\n「.mcworld」其實就是「.zip」壓縮檔，所以能改副檔名解壓縮。\n4. 如何安裝/匯入世界？ # Android用戶請確保你的世界是儲存在外部儲存空間。\n要安裝的地圖檔是.zip的話，解壓縮，把資料夾移到存放世界的資料夾裡面。\n如果是「.mcworld」，在檔案管理器點一下，Minecraft就會自己打開並匯入 (有些檔案管理器要長按「選擇開啟工具」然後從裡面選擇Minecraft)。\nmcworld匯入失敗的話就改副檔名為「.zip」，然後解壓縮，手動將該資料夾移動到世界存放的資料夾。\n5. 如果我的世界是存在「應用程式」，怎麼移動到「外部儲存空間？」 # 如果切換到「外部儲存空間」，會發現世界列表中的世界不見了。這時可以透過遊戲設定→設定檔，世界存放位置切換回「應用」。 有二種方法取出存在「應用」內的世界：\n購買Realms # 參考上傳到Realms\n試用版30天也可以，把世界上傳上去，然後再把儲存空間改成外部，之後下載世界。\n直接匯出世界。 # 影片教學：\n儲存位置切換為「應用」後，手機用戶裝這個Addon：https://mcpedl.com/hidden-features/ Add-on安裝教學\n設為全球資源包 世界的選項就會有「匯出世界」的按鈕，把.mcworld的檔案存到手機裡。 接著會跳出視窗選擇儲存位置，例如儲存到「Download」資料夾。 然後把世界儲存位置改成「外部儲存空間」，之後再把這個匯出的世界匯入回來 (參見上述第4部分)。\n","date":"2021年7月18日","externalUrl":null,"permalink":"/posts/minecraft-move-worlds/","section":"Minecrafts","summary":"請仔細看完文章知道在做什麼後再操作，世界不見恕不負責。\n如何安裝、分享、搬移地圖/世界?\n手機版Minecraft基岩版可能遇到這些情況，這篇文章應該能幫到你。\n首先先知道不同平台世界的存放位置，接著Android手機用戶再閱讀「遊戲重裝世界會不見嗎？」\n1. 不同平台Minecraft世界存放的位置 # 首先請先知道世界資料夾位置。\nAndroid：內部儲存空間/Android/data/com.mojang.minecraftpe/games/com.mojang/minecraftworlds/\nAndroid預設是存在「應用」，一般檔案管理器是無法存取的。\n建議在安裝遊戲後，還沒創世界前馬上把世界存放位置改成「外部儲存空間」，這樣以後安裝地圖會比較方便。\n如果世界已經存在應用內，請跳到第5部分了解怎麼搬出來。\niOS：檔案APP/我的iPhone/Minecraft/games/com.mojang/minecraftworlds/\nWindows ：C:\\Users\\使用者名稱\\AppData\\Local\\Packages\\Microsoft.MinecraftUWP\\_8wekyb3d8bbwe\\LocalState\\games\\com.mojang\\minecraftWorlds\\\n","title":"Minecraft基岩版如何安裝、分享、搬移地圖","type":"minecraft"},{"content":"因為Google Play上充滿詐騙程式，甚至有些根本不是基岩版的。\n傳統的方法還是從論壇找，然後自行安裝檔案，很多優秀的開發者都聚集在mcpedl.com上。\nGoogle Play上有很多\u0026quot;Mods for Minecraft\u0026quot;這種app，裡面一整排的模組，一鍵點擊，下載，安裝。\n感覺很方便？但是你有沒有考慮過一些問題:\n這些app的模組，如果是從其他網站轉載來的，他們會先問作者同意嗎？\n假設作者有使用短網址營利，他們卻提供直接下載，不就等於剝奪創作者的權益？\n注意，所謂營利只是看廣告而已，沒有要下載者付錢，Forge和Optifine的作者群也是這樣做。\n而這些app，裡面的廣告會塞好塞滿，沒有同意就奪取別人的努力成果，錢全進自己口袋。\n除了這種一條龍的下載程式，還有每一個模組就做成一個APP上架營利的無良開發者。 當我看到我的模組也出現在上面的時候，真的是氣氣氣氣氣。因為不只我的被盜，許多開發者的也被盜。\n) 還敢大言不慚的使用Google翻譯來騙其他玩家。\n這種詐騙的app從以前PE時代就有，只是當時是以Java版模組偽造的圖片居多，假的，業障重，當時的手機版怎麼可能會有恐龍！\n現在基岩版模組好不容易有點規模，可以往Java版靠齊了，卻被這種無恥之徒利用營利。\n他們的手法都不會變，純粹靠app裡面的廣告發大財。\n這種現象必須被阻止，即使野草燒不盡，春風吹又生。 ","date":"2021年7月18日","externalUrl":null,"permalink":"/posts/do-not-download-minecraft-mods-from-google-play/","section":"Minecrafts","summary":"因為Google Play上充滿詐騙程式，甚至有些根本不是基岩版的。\n傳統的方法還是從論壇找，然後自行安裝檔案，很多優秀的開發者都聚集在mcpedl.com上。\nGoogle Play上有很多\"Mods for Minecraft\"這種app，裡面一整排的模組，一鍵點擊，下載，安裝。\n感覺很方便？但是你有沒有考慮過一些問題:\n這些app的模組，如果是從其他網站轉載來的，他們會先問作者同意嗎？\n假設作者有使用短網址營利，他們卻提供直接下載，不就等於剝奪創作者的權益？\n注意，所謂營利只是看廣告而已，沒有要下載者付錢，Forge和Optifine的作者群也是這樣做。\n而這些app，裡面的廣告會塞好塞滿，沒有同意就奪取別人的努力成果，錢全進自己口袋。\n除了這種一條龍的下載程式，還有每一個模組就做成一個APP上架營利的無良開發者。 當我看到我的模組也出現在上面的時候，真的是氣氣氣氣氣。因為不只我的被盜，許多開發者的也被盜。\n) 還敢大言不慚的使用Google翻譯來騙其他玩家。\n這種詐騙的app從以前PE時代就有，只是當時是以Java版模組偽造的圖片居多，假的，業障重，當時的手機版怎麼可能會有恐龍！\n現在基岩版模組好不容易有點規模，可以往Java版靠齊了，卻被這種無恥之徒利用營利。\n","title":"不要從Google Play下載Minecraft模組","type":"minecraft"},{"content":"「Facebook已取消發佈你的粉絲專頁」\n我的粉絲專頁**「Minecraft PE模組插件分享、自製、技術」**在7月12日被Facebook無預警凍結。\n(www.facebook.com/ivon852)\n狀態是「你的粉絲專頁已被停止發布」，且沒有列出任何違規原因和會被封多久。 雖然不是整個刪除，但現在非我自己的帳號是搜尋不到粉絲專頁的，粉專也只能查看過去貼文。\n我確信該專頁的帳號並無違反Facebook的規範，也沒有異常登入記錄。大部分時候都只是po各個網站的模組連結，加上簡短的中文介紹，主要都來自https://mcpedl.com這個網站，因為它是基岩版玩家聚集地。而我最後一篇po文，是使用NBT編輯器修改Minecraft世界的教學。\n在那之後，我按下要求重新審查專頁的按鈕，取消發布的紅色通知消失，但粉專並沒有恢復。\n1. 與客服談話的取回流程 # 我的另一個粉專花點小錢打過廣告後，才會有與客服聯絡的選項。\n在Facebook的企業商家，按右上角的支援\n按左邊的立即開始 選取粉專，然後就會有客服傳訊息給我，進行立案調查。 客服會透過Messenger或是電子郵件與我聯絡，但是連續二次的投訴，回復仍然讓我很不滿，審查已經將近一個月了，還說要我再等等。\n文章沒更新的話，就代表FB審查一直都在擺爛，粉絲專頁都不說明具體違規事項是什麼，都沒有任何回應。\n更扯的是，2個月後我的粉專直接從我的帳號後台消失了！！\n2. 後續 # 後續：https://ivonblog.com/posts/my-facebook-page-mcbe-mod-plugin-share-self-tech\n聯絡請用Twitter: https://mobile.twitter.com/Ivon852\n","date":"2021年7月14日","externalUrl":null,"permalink":"/posts/my-attempt-to-get-back-my-facebook-page/","section":"Minecrafts","summary":"「Facebook已取消發佈你的粉絲專頁」\n我的粉絲專頁**「Minecraft PE模組插件分享、自製、技術」**在7月12日被Facebook無預警凍結。\n(www.facebook.com/ivon852)\n狀態是「你的粉絲專頁已被停止發布」，且沒有列出任何違規原因和會被封多久。 雖然不是整個刪除，但現在非我自己的帳號是搜尋不到粉絲專頁的，粉專也只能查看過去貼文。\n我確信該專頁的帳號並無違反Facebook的規範，也沒有異常登入記錄。大部分時候都只是po各個網站的模組連結，加上簡短的中文介紹，主要都來自https://mcpedl.com這個網站，因為它是基岩版玩家聚集地。而我最後一篇po文，是使用NBT編輯器修改Minecraft世界的教學。\n在那之後，我按下要求重新審查專頁的按鈕，取消發布的紅色通知消失，但粉專並沒有恢復。\n1. 與客服談話的取回流程 # 我的另一個粉專花點小錢打過廣告後，才會有與客服聯絡的選項。\n在Facebook的企業商家，按右上角的支援\n按左邊的立即開始 選取粉專，然後就會有客服傳訊息給我，進行立案調查。 客服會透過Messenger或是電子郵件與我聯絡，但是連續二次的投訴，回復仍然讓我很不滿，審查已經將近一個月了，還說要我再等等。\n","title":"Faceboook粉絲專頁「Minecraft基岩版模組、分享、自製、技術」被取消發布，嘗試取回的過程","type":"minecraft"},{"content":"基岩版最受歡迎和推薦的5個Add-on簡介影片，按照MCPEDL上的下載排名，第一名不意外是\u0026hellip;家具。\n資料來自MCPEDL統計，並能夠在1.17上運作。\n請先看： Minecraft基岩版安裝Add-On教學\n在這裡下載：\n變異怪物\nExpansive Fantasy\nSCP基金會\n3D真實槍械\n3D家具\n","date":"2021年7月13日","externalUrl":null,"permalink":"/posts/mcpedl-top-5-popular-add-ons/","section":"Minecrafts","summary":"基岩版最受歡迎和推薦的5個Add-on簡介影片，按照MCPEDL上的下載排名，第一名不意外是…家具。\n資料來自MCPEDL統計，並能夠在1.17上運作。\n請先看： Minecraft基岩版安裝Add-On教學\n在這裡下載：\n變異怪物\nExpansive Fantasy\nSCP基金會\n3D真實槍械\n3D家具\n","title":"【模組分享】基岩版五大最受歡迎Add-On：3D槍械、魔法、SCP、家具、變異怪物","type":"minecraft"},{"content":"子包(subpack)可以在一個資源包的檔案裡放入多個資料夾，玩家就能透過遊戲介面資源包旁邊的齒輪來選擇現在要使用哪個包。如圖，拉動滑桿來選擇不同資料夾。\n例如，不同的子包有不同的材質，這些資料夾的位置只需要在manifest.json註明就可以。這裡有玩家製作的範本檔案可以參考：https://mcpedl.com/mcpe-subpack-template-file-addon/\n每個子包都是互不干涉的，載入這個另一個就不會被載入。\n但若想要有條件載入，把子包當主要包的「擴充功能」的話可以使用以下技巧:\n將主要檔案都放在包的頂層資料夾。\n再把要做成額外內容的資料夾做成子包。\n這樣子包裡面的檔案，便能由使用者決定要不要載入。\n例子: 我的艦隊收藏Add-On，艦娘我把它做成額外功能，可開關，所以放在subpacks裡面。\n而載具的資料是一定都會載入，所以放在資源包的頂層資料夾。 ","date":"2021年7月13日","externalUrl":null,"permalink":"/posts/minecraft-add-on-subpack/","section":"Minecrafts","summary":"子包(subpack)可以在一個資源包的檔案裡放入多個資料夾，玩家就能透過遊戲介面資源包旁邊的齒輪來選擇現在要使用哪個包。如圖，拉動滑桿來選擇不同資料夾。\n例如，不同的子包有不同的材質，這些資料夾的位置只需要在manifest.json註明就可以。這裡有玩家製作的範本檔案可以參考：https://mcpedl.com/mcpe-subpack-template-file-addon/\n每個子包都是互不干涉的，載入這個另一個就不會被載入。\n但若想要有條件載入，把子包當主要包的「擴充功能」的話可以使用以下技巧:\n將主要檔案都放在包的頂層資料夾。\n再把要做成額外內容的資料夾做成子包。\n這樣子包裡面的檔案，便能由使用者決定要不要載入。\n例子: 我的艦隊收藏Add-On，艦娘我把它做成額外功能，可開關，所以放在subpacks裡面。\n而載具的資料是一定都會載入，所以放在資源包的頂層資料夾。 ","title":"Add-On 子包(subpack)的概念","type":"minecraft"},{"content":"Expansive Fantasy Add-on作者宣布該Add-on將與Loot bag (會在世界隨機生成獎勵袋子)以及打鐵模組(Tinker\u0026rsquo;s Legacy)相容，也就是那些模組的物品可以用在這個Add-on裡面互相協助。\n目前來說，想要讓不同作者的Add-on能夠互動並不是很困難的事，因為命名物品、生物都是用「命名空間」加上現在Add-on大多是明碼表示。也就是說知道對方的命名空間叫什麼的情況下，要在自己的Add-on裡添加互動元素並不難。\n不過有時候需要處理衝突問題，尤其是光影的資源包很容易破壞視覺的一體性。此外，若是像New Player Animation對玩家做改造的，也可能跟其他Add-on衝突。\n","date":"2021年7月13日","externalUrl":null,"permalink":"/posts/minecraft-cross-add-on-compatibility/","section":"Minecrafts","summary":"Expansive Fantasy Add-on作者宣布該Add-on將與Loot bag (會在世界隨機生成獎勵袋子)以及打鐵模組(Tinker’s Legacy)相容，也就是那些模組的物品可以用在這個Add-on裡面互相協助。\n目前來說，想要讓不同作者的Add-on能夠互動並不是很困難的事，因為命名物品、生物都是用「命名空間」加上現在Add-on大多是明碼表示。也就是說知道對方的命名空間叫什麼的情況下，要在自己的Add-on裡添加互動元素並不難。\n不過有時候需要處理衝突問題，尤其是光影的資源包很容易破壞視覺的一體性。此外，若是像New Player Animation對玩家做改造的，也可能跟其他Add-on衝突。\n","title":"Add-On製作不同模組間的相容性","type":"minecraft"},{"content":"基岩版的專案選項裡有一個盒子UV的選項，這個主要影響材質的貼法與生成。Minecraft傳統的skin繪製方式就是一個方塊展開圖，所以會連在一起（可以看看你自己皮膚的檔案就知道）\n而不使用Box UV就代表每個方塊會以面為單位進行UV，Blockbench在生成貼圖時也會以面當作最小單位，於是你就看到不使用box uv的在貼圖中都是黏在一起的。\n如果你要做skin，當然是使用預設的盒子UV為好。而不使用盒子UV還有一個好處：Blockbench如果方塊長寬高小於1，生成出來的貼圖可能會破圖，或者那個面有顏色卻畫不上去（Blockbench可以在模型上直接作畫，就像Nova Skin一樣）不使用Box UV適合細小部件的材質製作。\n而這二種UV方法遊戲都支援。\n","date":"2021年7月13日","externalUrl":null,"permalink":"/posts/blockbench-box-uv-vs-pre-face-uv/","section":"Minecrafts","summary":"基岩版的專案選項裡有一個盒子UV的選項，這個主要影響材質的貼法與生成。Minecraft傳統的skin繪製方式就是一個方塊展開圖，所以會連在一起（可以看看你自己皮膚的檔案就知道）\n而不使用Box UV就代表每個方塊會以面為單位進行UV，Blockbench在生成貼圖時也會以面當作最小單位，於是你就看到不使用box uv的在貼圖中都是黏在一起的。\n如果你要做skin，當然是使用預設的盒子UV為好。而不使用盒子UV還有一個好處：Blockbench如果方塊長寬高小於1，生成出來的貼圖可能會破圖，或者那個面有顏色卻畫不上去（Blockbench可以在模型上直接作畫，就像Nova Skin一樣）不使用Box UV適合細小部件的材質製作。\n而這二種UV方法遊戲都支援。\n","title":"Blockbench技巧：Box UV vs Pre-face UV","type":"minecraft"},{"content":"Minecraft閃電苦力怕是怎麼顯示材質的？為什麼有人可以讓盔甲隱形？各種花色的貓是怎麼實現的？就是Render Controller在背後控制的。\n註冊實體時需指定使用的render comtroller，檔案放在資源包/render_controllers資料夾，裡面可以控制實體要使用什麼material、texture（在註冊實體的檔案裡需先條列出來要使用的材質），以及實體模型各個bone的顯示與否(parts_visibility)和要使用的模型(geometry)\n一個實體可以同時使用多個render controller，這也是3D武器的作法之一：讓玩家本身的render_controller跟自己另外做的render_controller同時顯示，詳情參考這篇4D皮膚作法。\ntextures可以在render_controller檔案裡宣告要使用的材質陣列，然後使用query讀取實體的變種(variant)，以此控制該實體要使用什麼材質，如貓、界伏蚌等。\n同理，geometry和material也可以這樣操作。\n原版資源包/render_controllers/__cat.render_controllers.json\nparts_visibiliy見於盔甲的render_controller。可以每行都寫條件式來偵測要不要顯示某個骨骼。\n陣列頂端需先列出星號代表的布林值，以此讓系統知道是要判斷式結果是true或false才要顯示指定的bone。把這個檔案稍作修改，就可以讓玩家的盔甲隱形。\n如果要用在實體上，則一個骨骼底下不能有其他骨骼，否則就得把全部骨骼都列出來才能顯示或隱藏。\nparts_visibility作用等同用animation的scale控制，差別在於animation不需要全部指定，只要寫出最頂層的骨骼。\n原版資源包/render_controllers/__armor.render_controllers.json\noverlay_color可以在實體材質上面蓋上指定的顏色，參數為RGB值，例如苦力怕爆炸時的白色。\nun_anim則可以透過控制材質UV的方式做到動畫效果，例如閃電苦力怕外部的電磁圈。同時該實體使用的material也必須是creeper才可以。\n原版資源包/render_controllers/__creeper_armor.render_controllers.json\n","date":"2021年7月13日","externalUrl":null,"permalink":"/posts/minecraft-add-on-render-controller-3d/","section":"Minecrafts","summary":"Minecraft閃電苦力怕是怎麼顯示材質的？為什麼有人可以讓盔甲隱形？各種花色的貓是怎麼實現的？就是Render Controller在背後控制的。\n註冊實體時需指定使用的render comtroller，檔案放在資源包/render_controllers資料夾，裡面可以控制實體要使用什麼material、texture（在註冊實體的檔案裡需先條列出來要使用的材質），以及實體模型各個bone的顯示與否(parts_visibility)和要使用的模型(geometry)\n一個實體可以同時使用多個render controller，這也是3D武器的作法之一：讓玩家本身的render_controller跟自己另外做的render_controller同時顯示，詳情參考這篇4D皮膚作法。\ntextures可以在render_controller檔案裡宣告要使用的材質陣列，然後使用query讀取實體的變種(variant)，以此控制該實體要使用什麼材質，如貓、界伏蚌等。\n同理，geometry和material也可以這樣操作。\n原版資源包/render_controllers/__cat.render_controllers.json\n","title":"Add-On 實體Render Controller的用法：3D武器、動態材質","type":"minecraft"},{"content":"material是在註冊Add-on實體時可以使用的組件之一。大部分生物都有自己的material，沒有什麼特別的。而對自定義實體來說，直接使用其他生物的material大部分時候也都看不出差別。可是，像閃電苦力怕和蜘蛛的material就有特別之處。\n回想一下render_controller不是有\u0026quot;uv_animate\u0026quot;的組件嗎？還必須使用閃電苦力怕的material才可以讓材質動起來。\n蜘蛛和夜魅的原理比較麻煩，他們的material允許模型「頭部」發光，此外跟他們的材質也有關係: 看原版資源包你會發現他們的材質是特別的TGA，眼睛部分更是得經過特殊處理，才能讓他們的眼睛在黑暗中亮起來。\n下面的圖片是一個很好的例子，Glowing Eyes Texture Pack，把一些生物的material都換成夜魅的material，讓其他生物的眼睛也會發光。 ","date":"2021年7月13日","externalUrl":null,"permalink":"/posts/minecraft-add-on-material/","section":"Minecrafts","summary":"material是在註冊Add-on實體時可以使用的組件之一。大部分生物都有自己的material，沒有什麼特別的。而對自定義實體來說，直接使用其他生物的material大部分時候也都看不出差別。可是，像閃電苦力怕和蜘蛛的material就有特別之處。\n回想一下render_controller不是有\"uv_animate\"的組件嗎？還必須使用閃電苦力怕的material才可以讓材質動起來。\n蜘蛛和夜魅的原理比較麻煩，他們的material允許模型「頭部」發光，此外跟他們的材質也有關係: 看原版資源包你會發現他們的材質是特別的TGA，眼睛部分更是得經過特殊處理，才能讓他們的眼睛在黑暗中亮起來。\n下面的圖片是一個很好的例子，Glowing Eyes Texture Pack，把一些生物的material都換成夜魅的material，讓其他生物的眼睛也會發光。 ","title":"神奇的material：為什麼只有閃電苦力怕的材質有動畫？為什麼蜘蛛眼睛晚上會發亮？","type":"minecraft"},{"content":"Minecraft基岩版的音效檔案都寫在原版資源包的sounds.json和sounds/sound_definition.json中。了解這二個檔案的運作原理，不只能修改原本遊戲的音效，也能加入新音效。\n下面以給新增的實體添加音效為例子，方塊的參考這篇文章。\nsounds.json檔案是定義有哪些要使用的音效，這裡幾乎是寫死的。 每個實體定義的方法如下，物件“entities”裡面，寫上實體的identifier，例如kanmusu:boku，volume是音量，pitch是音高。在“events”裡面的就是設定各個事件要觸發的音效，這裡必須按照遊戲給的寫，前面的代表的是遊戲事件，如ambient就是剛召喚出來的音效，hurt就是受傷音效，attack是近身攻擊的音效，shoot是遠程攻擊，還有idle、step等，或者自己寫一個也可以，可是遊戲就不會自動播放。\n後面的值就是音效名稱，等會要在sound_definitions.json用到。這裡格式通常會寫成「生物名.音效名」\n{ \u0026#34;entity_sounds\u0026#34;: { \u0026#34;entities\u0026#34;: { \u0026#34;kanmusu:boku\u0026#34;: { \u0026#34;volume\u0026#34;: 4, \u0026#34;pitch\u0026#34;: [ 1, 1 ], \u0026#34;events\u0026#34;: { \u0026#34;ambient\u0026#34;: \u0026#34;boku.say\u0026#34;, \u0026#34;hurt\u0026#34;: \u0026#34;boku.hurt\u0026#34;, \u0026#34;death\u0026#34;: \u0026#34;boku.death\u0026#34; } } } } } 接著把剛才第一步定義的音效寫出音效檔案的具體路徑。跟剛才不太一樣的是，一個實體的每個音效都要分開定義，例如這裡hurt和death的音效各成一個物件。 “category”設定的是音效的種類，有weather、hostile、neutral等。\n“sounds”後面的陣列裡面寫出音效的檔案位置，如此以來可以添加多個音效，遊戲會隨機播放裡面列出來的清單，例如\u0026quot;hurt\u0026quot;我就用了3種音效。\n另外可以設定\u0026quot;sound_distance\u0026quot;來設定音效能被聽到的最大距離。\nMinecraft的音效檔案一律要用.ogg格式，寫出檔案位置時不用標注副檔名。\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.14.0\u0026#34;, \u0026#34;sound_definitions\u0026#34;: { \u0026#34;boku.say\u0026#34;: { \u0026#34;max_distance\u0026#34;: 10.0, \u0026#34;category\u0026#34;: \u0026#34;neutral\u0026#34;, \u0026#34;sounds\u0026#34;: [ \u0026#34;sounds/mob/boku/say\u0026#34;, \u0026#34;sounds/mob/boku/say2\u0026#34; ] }, \u0026#34;boku.hurt\u0026#34;: { \u0026#34;max_distance\u0026#34;: 10.0, \u0026#34;category\u0026#34;: \u0026#34;neutral\u0026#34;, \u0026#34;sounds\u0026#34;: [ \u0026#34;sounds/mob/boku/hurt\u0026#34;, \u0026#34;sounds/mob/boku/hurt2\u0026#34;, \u0026#34;sounds/mob/boku/hurt3\u0026#34; ] }, \u0026#34;boku.death\u0026#34;: { \u0026#34;max_distance\u0026#34;: 10.0, \u0026#34;category\u0026#34;: \u0026#34;neutral\u0026#34;, \u0026#34;sounds\u0026#34;: [ \u0026#34;sounds/mob/boku/death\u0026#34; ] } } } 由於上面新增的音效都是遊戲原本就有的行為，因此當這個實體受傷或攻擊時就會自動播放音效，或者用於組件音效。\n用Blockbench製作動畫時，可在畫格中插入音效與粒子效果。\n也可以在資源包使用動畫控制器，在轉場時設定播放音效。\n{ \u0026#34;format_version\u0026#34;: \u0026#34;1.10.0\u0026#34;, \u0026#34;animation_controllers\u0026#34;: { \u0026#34;controller.animation.boku.move\u0026#34;: { \u0026#34;states\u0026#34;: { \u0026#34;default\u0026#34;: { \u0026#34;animations\u0026#34;: [ { \u0026#34;moving\u0026#34;: \u0026#34;query.modified_move_speed\u0026#34; } ], \u0026#34;sound_effects\u0026#34;: [ { \u0026#34;effect\u0026#34;: \u0026#34;ambient\u0026#34; } ] } } } } } 遊戲中要強制播放特定音效使用/playsound指令，例如要播放上面新增的boku的死亡音效，就使用playsound指令：\n/playsound boku.death @p ~ ~ ~ 1 1 1 ","date":"2021年7月13日","externalUrl":null,"permalink":"/posts/minecraft-add-on-cutsom-sounds/","section":"Minecrafts","summary":"Minecraft基岩版的音效檔案都寫在原版資源包的sounds.json和sounds/sound_definition.json中。了解這二個檔案的運作原理，不只能修改原本遊戲的音效，也能加入新音效。\n下面以給新增的實體添加音效為例子，方塊的參考這篇文章。\nsounds.json檔案是定義有哪些要使用的音效，這裡幾乎是寫死的。 每個實體定義的方法如下，物件“entities”裡面，寫上實體的identifier，例如kanmusu:boku，volume是音量，pitch是音高。在“events”裡面的就是設定各個事件要觸發的音效，這裡必須按照遊戲給的寫，前面的代表的是遊戲事件，如ambient就是剛召喚出來的音效，hurt就是受傷音效，attack是近身攻擊的音效，shoot是遠程攻擊，還有idle、step等，或者自己寫一個也可以，可是遊戲就不會自動播放。\n後面的值就是音效名稱，等會要在sound_definitions.json用到。這裡格式通常會寫成「生物名.音效名」\n{ \"entity_sounds\": { \"entities\": { \"kanmusu:boku\": { \"volume\": 4, \"pitch\": [ 1, 1 ], \"events\": { \"ambient\": \"boku.say\", \"hurt\": \"boku.hurt\", \"death\": \"boku.death\" } } } } } 接著把剛才第一步定義的音效寫出音效檔案的具體路徑。跟剛才不太一樣的是，一個實體的每個音效都要分開定義，例如這裡hurt和death的音效各成一個物件。 “category”設定的是音效的種類，有weather、hostile、neutral等。\n“sounds”後面的陣列裡面寫出音效的檔案位置，如此以來可以添加多個音效，遊戲會隨機播放裡面列出來的清單，例如\"hurt\"我就用了3種音效。\n","title":"Minecraft Add-on修改sounds.json，新增自訂音效","type":"minecraft"},{"content":"由於模型是由Techne轉過來的，模型畫完材質後才發現模型前後顛倒，這不是把整個bones旋轉180度就能解決的事情，因為一旦行為包寫入WASD控制的組件，玩家操控時它就會「自己轉回來」。\n最後的解決方法是\u0026hellip;使用偷吃步，在已經轉180度的bones上面再疊一層沒有旋轉的bone，於是ㄅㄧㄤˋ，解決了。\n","date":"2021年7月13日","externalUrl":null,"permalink":"/posts/blockbench-fix-inverted-model/","section":"Minecrafts","summary":"由於模型是由Techne轉過來的，模型畫完材質後才發現模型前後顛倒，這不是把整個bones旋轉180度就能解決的事情，因為一旦行為包寫入WASD控制的組件，玩家操控時它就會「自己轉回來」。\n最後的解決方法是…使用偷吃步，在已經轉180度的bones上面再疊一層沒有旋轉的bone，於是ㄅㄧㄤˋ，解決了。\n","title":"Blockbench模型前後顛倒解決辦法","type":"minecraft"},{"content":"原本這是給不同顏色的界伏蚌定義用的組件，染色後就會使用加入行為包component_groups裡所定義的顏色並賦予代號。 或是代表這個生物的「變種」\n而在其他用途上，可以當成某種標記。先說說萬用的animation_controller吧，儘管有query函數可以偵測實體的狀態，可是若在行為包裡寫一個自定義的事件，並將其當作一個「狀態」來處理的話，animation_controller目前不能偵測實體是不是處於這個事件中（或者說擁有某組件）這時就可以用minecraft:variant來當變數用了，query有偵測目前variant值是多少的函數，以此跟component_group配合，就能用這個數字來代表現在是什麼事件。\n實際例子：某些槍械Add-On的供彈系統。雖然要重複寫很長一段，但是利用variant代表槍的種類，用mark_varaint代表子彈種類，就能配合actionbar的指令來顯示殘餘彈藥。\n","date":"2021年7月13日","externalUrl":null,"permalink":"/posts/minecraft-add-on-minecraft-variant-usage/","section":"Minecrafts","summary":"原本這是給不同顏色的界伏蚌定義用的組件，染色後就會使用加入行為包component_groups裡所定義的顏色並賦予代號。 或是代表這個生物的「變種」\n而在其他用途上，可以當成某種標記。先說說萬用的animation_controller吧，儘管有query函數可以偵測實體的狀態，可是若在行為包裡寫一個自定義的事件，並將其當作一個「狀態」來處理的話，animation_controller目前不能偵測實體是不是處於這個事件中（或者說擁有某組件）這時就可以用minecraft:variant來當變數用了，query有偵測目前variant值是多少的函數，以此跟component_group配合，就能用這個數字來代表現在是什麼事件。\n實際例子：某些槍械Add-On的供彈系統。雖然要重複寫很長一段，但是利用variant代表槍的種類，用mark_varaint代表子彈種類，就能配合actionbar的指令來顯示殘餘彈藥。\n","title":"Add-On 組件minecraft:variant與minecraft:mark_variant的用法","type":"minecraft"},{"content":"倒數計時的功能可以使用計分板做到，可是Add-on裡面，沒有命令方塊的存在，不使用minecraft:timer組件的話靠純指令要「延時」是很難的，也可能是我還沒發現。\n我想要在animation_controller裡面使用transition功能，利用轉場這個動作執行指令，可是每個state的轉換都是1遊戲刻就完成了，假設要延遲個5秒再執行下一個指令（切換到下一個state），我就要重複寫100個來做到暴力延時。\n在我差點要這麼做的時候我想到了：使用動畫。在玩家的動畫列表裡面添加一個空動畫，只有設定動畫時長。而切換到下一個transition的條件設定為「播放完動畫後才切換」 ，於是這樣就省事多了。如果要延時5秒，動畫長度就填5就可以了。\n（後來應用在FGO寶具Add-on上）\n","date":"2021年7月13日","externalUrl":null,"permalink":"/posts/delay-commands-with-animation-controllers/","section":"Minecrafts","summary":"倒數計時的功能可以使用計分板做到，可是Add-on裡面，沒有命令方塊的存在，不使用minecraft:timer組件的話靠純指令要「延時」是很難的，也可能是我還沒發現。\n我想要在animation_controller裡面使用transition功能，利用轉場這個動作執行指令，可是每個state的轉換都是1遊戲刻就完成了，假設要延遲個5秒再執行下一個指令（切換到下一個state），我就要重複寫100個來做到暴力延時。\n在我差點要這麼做的時候我想到了：使用動畫。在玩家的動畫列表裡面添加一個空動畫，只有設定動畫時長。而切換到下一個transition的條件設定為「播放完動畫後才切換」 ，於是這樣就省事多了。如果要延時5秒，動畫長度就填5就可以了。\n（後來應用在FGO寶具Add-on上）\n","title":"Add-On利用animation_controller製作指令延時器的一點想法","type":"minecraft"},{"content":"Molang語言是微軟自己發明的運行時解釋語言，不知道是不是刻意取名很像Mo\u0026quot;j\u0026quot;ang? 允許在Add-on運作時進行計算，例如設立暫時的變數、用math函數進行計算等等，這些資訊都儲存在實體上。\n資源包和行為包都可以用，例如原版行為包中，殭屍行為檔案，經驗值的組件就是用query加上二元判斷式偵測是否被玩家所打倒來決定經驗值給多少:\n\u0026#34;minecraft:experience_reward\u0026#34;: { \u0026#34;on_death\u0026#34;: \u0026#34;query.last_hit_by_player ? 12 + (query.equipment_count * Math.Random(1,3)) : 0\u0026#34; } 除了計算外，還有查詢用函數系列「query」可以用來偵測實體狀態，如是否在地上、正在睡覺等等，配合animation_controller進行動畫控制。\n例子，原版資源包中，控制實體要套用哪一個動畫的寫法：\n\u0026#34;animations\u0026#34;: [ { \u0026#34;move\u0026#34;: \u0026#34;query.modified_move_speed\u0026#34; } ] 如果要設立變數，需在資源包entity/資料夾或者行為包entities/裡註冊實體的檔案加入\u0026quot;pre_animaion\u0026quot;:{}，如:\n\u0026#34;pre_animation\u0026#34;: [ \u0026#34;variable.tcos0 = (Math.cos(query.modified_distance_moved * 38.17) * query.modified_move_speed / variable.gliding_speed_value) * 57.3;\u0026#34; ] 殭屍預先設立好了「tcos0」這個變數，在後面做動畫時可以直接調用。宣告變數方式一律為variable. xxx，須注意有些變數是系統預先設立好的，如variable.attack。\n","date":"2021年7月13日","externalUrl":null,"permalink":"/posts/minecraft-add-on-molang/","section":"Minecrafts","summary":"Molang語言是微軟自己發明的運行時解釋語言，不知道是不是刻意取名很像Mo\"j\"ang? 允許在Add-on運作時進行計算，例如設立暫時的變數、用math函數進行計算等等，這些資訊都儲存在實體上。\n資源包和行為包都可以用，例如原版行為包中，殭屍行為檔案，經驗值的組件就是用query加上二元判斷式偵測是否被玩家所打倒來決定經驗值給多少:\n\"minecraft:experience_reward\": { \"on_death\": \"query.last_hit_by_player ? 12 + (query.equipment_count * Math.Random(1,3)) : 0\" } 除了計算外，還有查詢用函數系列「query」可以用來偵測實體狀態，如是否在地上、正在睡覺等等，配合animation_controller進行動畫控制。\n例子，原版資源包中，控制實體要套用哪一個動畫的寫法：\n\"animations\": [ { \"move\": \"query.modified_move_speed\" } ] 如果要設立變數，需在資源包entity/資料夾或者行為包entities/裡註冊實體的檔案加入\"pre_animaion\":{}，如:\n\"pre_animation\": [ \"variable.tcos0 = (Math.cos(query.modified_distance_moved * 38.17) * query.modified_move_speed / variable.gliding_speed_value) * 57.3;\" ] 殭屍預先設立好了「tcos0」這個變數，在後面做動畫時可以直接調用。宣告變數方式一律為variable. xxx，須注意有些變數是系統預先設立好的，如variable.attack。\n","title":"Minecraft Add-On 何謂「Molang」語言？","type":"minecraft"},{"content":"(參考圖片)\n原本附加包的功用可能是為了輔助地圖，Mojang才會設計這種模式。一般玩家匯入Addon後，在一個世界啟用後都會複製一份到世界下的資料夾，這樣玩家匯出世界時，也能將Addon一起「打包」帶走。\n但是對Addon開發者來說，若在電腦上一邊開著遊戲，一邊測試程式會很方便。所以若將行為包或資源包放在/games/com.mojang/下含有「development」開頭的資料夾，Addon就會動態載入。這就是說，當一個世界啟用Addon時，它不會複製一份檔案到世界資料夾下，從而只修改一處的檔案就能套用到所有世界。\n如果要測試和修改Addon，最好也是放在development，否則若有很多個世界啟用同一個Addon，就要到該世界下的資料夾去修改，很麻煩。\n不過，在遊戲設定的「存放」刪除Add-on的話，會自動將有套用過這個Add-on的世界資料夾下的資源包和行為包也一起刪除。\n","date":"2021年7月13日","externalUrl":null,"permalink":"/posts/minecraft-worlds-have-their-own-add-ons/","section":"Minecrafts","summary":"(參考圖片)\n原本附加包的功用可能是為了輔助地圖，Mojang才會設計這種模式。一般玩家匯入Addon後，在一個世界啟用後都會複製一份到世界下的資料夾，這樣玩家匯出世界時，也能將Addon一起「打包」帶走。\n但是對Addon開發者來說，若在電腦上一邊開著遊戲，一邊測試程式會很方便。所以若將行為包或資源包放在/games/com.mojang/下含有「development」開頭的資料夾，Addon就會動態載入。這就是說，當一個世界啟用Addon時，它不會複製一份檔案到世界資料夾下，從而只修改一處的檔案就能套用到所有世界。\n如果要測試和修改Addon，最好也是放在development，否則若有很多個世界啟用同一個Addon，就要到該世界下的資料夾去修改，很麻煩。\n不過，在遊戲設定的「存放」刪除Add-on的話，會自動將有套用過這個Add-on的世界資料夾下的資源包和行為包也一起刪除。\n","title":"Minecraft基岩版每個世界的Add-on預設都是獨立的","type":"minecraft"},{"content":"目前Add-on無法添加新指令，但是可以利用遊戲內建的/function執行寫好的一連串指令檔案，此功能Java版是放在資源包裡，而基岩版是在行為包裡面。\n指令格式為 /function 指令檔案名稱\n例如 /function og\n預設情況下遊戲會從行為包/functions資料夾下面去找指令，如果有子資料夾則可以使用：\n/function /sub/og\n製作一個只含manifest.json的行為包，然後新增一個名叫functions的資料夾，裡面放入檔案。\n指令檔案必須以.mcfunction當副檔名，裡面就跟指令方塊一樣一行一行輸入指令，不用加「/」，用「#」可以寫註解。這個檔案只寫了一行tp指令。 遊戲會在輸入/function時提示目前已安裝的全部行為包有哪些指令可以用，如圖。 如果說要Add-on自行執行指令呢？ 例如用指令控制自訂實體？\n使用animation_controller可以做到這點。\n在自定義實體的檔案加入如圖9～14行的程式碼，註冊animation_controller。 然後行為包新增animation_controllers資料夾，裡面新增command_controller.json的檔案，內容如圖四，第13和23行的就是執行的指令。 原理是利用animation_controller的state轉換，這裡有2個state：default和tp，當transition裡面寫的條件為true時就會互相切換，而這裡寫的是C語言裡代表的1，因為大於0的都會被判斷成true。\n並且state可以設定\u0026quot;entry\u0026quot;的區塊，即在進入這個state開始時執行指令。\n於是做成了一個無限迴圈，沒有額外加條件的話這個指令會在遊戲背後像一個無條件的命令方塊一樣一直執行。\n","date":"2021年7月13日","externalUrl":null,"permalink":"/posts/minecraft-add-on-run-commands-using-animation-controller/","section":"Minecrafts","summary":"目前Add-on無法添加新指令，但是可以利用遊戲內建的/function執行寫好的一連串指令檔案，此功能Java版是放在資源包裡，而基岩版是在行為包裡面。\n指令格式為 /function 指令檔案名稱\n例如 /function og\n預設情況下遊戲會從行為包/functions資料夾下面去找指令，如果有子資料夾則可以使用：\n/function /sub/og\n製作一個只含manifest.json的行為包，然後新增一個名叫functions的資料夾，裡面放入檔案。\n指令檔案必須以.mcfunction當副檔名，裡面就跟指令方塊一樣一行一行輸入指令，不用加「/」，用「#」可以寫註解。這個檔案只寫了一行tp指令。 遊戲會在輸入/function時提示目前已安裝的全部行為包有哪些指令可以用，如圖。 如果說要Add-on自行執行指令呢？ 例如用指令控制自訂實體？\n使用animation_controller可以做到這點。\n在自定義實體的檔案加入如圖9～14行的程式碼，註冊animation_controller。 然後行為包新增animation_controllers資料夾，裡面新增command_controller.json的檔案，內容如圖四，第13和23行的就是執行的指令。 ","title":"Minecraft function指令，如何在Add-on中使用指令？如何讓自定義實體也能「自動」執行指令？","type":"minecraft"},{"content":"安全的廣告跳過教學。\nAddon作者都會想賺取一些收入，他們主要會把下載連結放在adfly和LinkVertise這兩個網站。\n使用這二個網站，Adblocker一定要關掉。\n1. adf.ly # 雖然網址會變，但看網頁圖片還是一樣是那隻小蜜蜂。跳過步驟為：\n拒絕所有跳出的「接收網站通知」，不然手機會一直收到騷擾通知。\n然後等5秒按跳過廣告。\n接下來會停留在一個頁面，你會注意到網頁會試圖轉址4次，中間一樣會跳出許多「接收網站通知」的訊息，不要理他們。\n跑完四次後它就會導向真正的下載網址了。\n但是有時候會卡住，這時只好乖乖開案接收通知。等下載完檔案後，對跳出的騷擾通知長按，把網站權限重設。\n2. LinkVertise # 這個比較不會有彈窗廣告。\n不要按橘色Premium，一律按黑色的Free access with ads按鈕。\n通常點進去後按黑色按鈕Discover interesting articles看完後，真正的下載網址才會顯示在下面的黑色按鈕中，點擊即可前往。\n","date":"2021年7月13日","externalUrl":null,"permalink":"/posts/how-to-skip-ads-when-downloading-add-ons/","section":"Minecrafts","summary":"安全的廣告跳過教學。\nAddon作者都會想賺取一些收入，他們主要會把下載連結放在adfly和LinkVertise這兩個網站。\n使用這二個網站，Adblocker一定要關掉。\n1. adf.ly # 雖然網址會變，但看網頁圖片還是一樣是那隻小蜜蜂。跳過步驟為：\n拒絕所有跳出的「接收網站通知」，不然手機會一直收到騷擾通知。\n然後等5秒按跳過廣告。\n接下來會停留在一個頁面，你會注意到網頁會試圖轉址4次，中間一樣會跳出許多「接收網站通知」的訊息，不要理他們。\n跑完四次後它就會導向真正的下載網址了。\n但是有時候會卡住，這時只好乖乖開案接收通知。等下載完檔案後，對跳出的騷擾通知長按，把網站權限重設。\n2. LinkVertise # 這個比較不會有彈窗廣告。\n不要按橘色Premium，一律按黑色的Free access with ads按鈕。\n通常點進去後按黑色按鈕Discover interesting articles看完後，真正的下載網址才會顯示在下面的黑色按鈕中，點擊即可前往。\n","title":"Minecraft 下載Add-on時如何安全跳過廣告","type":"minecraft"},{"content":"本模組僅支援Android系統的Minecraft基岩版。\n這個模組功能模仿的是Minecraft Java版的模組「Mob Battle」，可以強制讓怪物進行一對一對決，或者進行團體戰鬥。適用於其他Mod或者Add-on所新增的生物。\n該實體必須擁有攻擊能力才有效。\n1. 1v1模式 # 在創造背包可以取得紅色木棒，分別點擊二隻生物，就會開始戰鬥。 2. 團體戰 # 分成AB隊，A的物品可以將對象分到A隊；B則是分到B隊。\n雙方隊伍人數大於0就會開始戰鬥，直到一隊被完全殲滅，系統才顯示結果。 3. 安裝方法 # 需要使用Horizo​​​​n Modding Kernel載入此mod\n在模組管理器頁面搜索\u0026quot;Mod Battle\u0026quot;也能直接下載此mod。\n按這裡了解Horizo​​​​n Modding Kernel的安裝方法。\n手動安裝此mod的方法: 將副檔名.icmod改成.zip，解壓縮，資料夾移到/games/horizo​​n/packs/Inner_Core/innercore/mods/\n按這裡下載Mob Battle的icmod檔。\n","date":"2021年7月10日","externalUrl":null,"permalink":"/posts/minecraft-inner-core-mob-battle-mod/","section":"Minecrafts","summary":"本模組僅支援Android系統的Minecraft基岩版。\n這個模組功能模仿的是Minecraft Java版的模組「Mob Battle」，可以強制讓怪物進行一對一對決，或者進行團體戰鬥。適用於其他Mod或者Add-on所新增的生物。\n該實體必須擁有攻擊能力才有效。\n1. 1v1模式 # 在創造背包可以取得紅色木棒，分別點擊二隻生物，就會開始戰鬥。 2. 團體戰 # 分成AB隊，A的物品可以將對象分到A隊；B則是分到B隊。\n雙方隊伍人數大於0就會開始戰鬥，直到一隊被完全殲滅，系統才顯示結果。 3. 安裝方法 # 需要使用Horizo​​​​n Modding Kernel載入此mod\n在模組管理器頁面搜索\"Mod Battle\"也能直接下載此mod。\n按這裡了解Horizo​​​​n Modding Kernel的安裝方法。\n手動安裝此mod的方法: 將副檔名.icmod改成.zip，解壓縮，資料夾移到/games/horizo​​n/packs/Inner_Core/innercore/mods/\n","title":"【自製模組】怪物大亂鬥，強制怪物互相攻擊 Mob Battle","type":"minecraft"},{"content":"Bob Semple，二戰時期紐西蘭就地改裝的「坦克」，又稱kiwi tank。 這個模型可以在Sketchfab檢視：\n","date":"2021年6月26日","externalUrl":null,"permalink":"/posts/3dartwork-20210626/","section":"Artworks","summary":"Bob Semple，二戰時期紐西蘭就地改裝的「坦克」，又稱kiwi tank。 這個模型可以在Sketchfab檢視：\n","title":"【3D繪圖】紐西蘭拖拉機就地改裝的坦克「Bob Semple」","type":"artwork"},{"content":"","date":"2021年6月26日","externalUrl":null,"permalink":"/tags/new-zealand-army/","section":"標籤","summary":"","title":"New Zealand Army","type":"tags"},{"content":"","date":"2021年6月23日","externalUrl":null,"permalink":"/tags/imperial-japanese-army/","section":"標籤","summary":"","title":"Imperial Japanese Army","type":"tags"},{"content":"秋津丸 ＆ 馬路油：我們的稅金爆炸了！\n以艦隊Collection的角度應該說我們的鋁土爆炸了，基地航空隊被害甚大！ Pixiv連結\n四式重爆的塗裝我採用的是War Thunder的甲型，所以沒有畫出機尾的番號，而銀河有部分型號是不能收起落架的。這張圖還有一個問題就是太暗了。\n參考這張梗圖改繪而成 對應艦隊Collection的台灣航空戰活動。1944年，美軍在進攻菲律賓前決定先空襲台灣，防止增援，因而爆發台灣航空戰。日軍駐紮在台灣的軍機起飛迎擊從太平洋飛來的美國海軍艦載機，損失慘重，隨後台灣各大設施無力抵抗美軍轟炸。\n日本海軍和陸軍罕見合作，在夜晚派出陸軍的四式重爆，配合海軍的銀河，掛上魚雷往美軍特遣艦隊發進，同樣損失慘重。儘管日軍宣稱擊沉多艘航母，但實際上美軍只損失一艘重巡洋艦而已。\n輕巡To級原本只是不起眼的輕巡，現在實裝flagship級後就常跟Tsu級flagship虐殺我方航空隊，每次都是空熟練度的回來。明明也沒到海月姬那時的「基地航空隊」全滅字樣，可是防空火力就是能把有迴避加成又沒空喪的陸攻隊打個半死。\n","date":"2021年6月23日","externalUrl":null,"permalink":"/posts/artwork-20210603/","section":"Artworks","summary":"秋津丸 ＆ 馬路油：我們的稅金爆炸了！\n以艦隊Collection的角度應該說我們的鋁土爆炸了，基地航空隊被害甚大！ Pixiv連結\n四式重爆的塗裝我採用的是War Thunder的甲型，所以沒有畫出機尾的番號，而銀河有部分型號是不能收起落架的。這張圖還有一個問題就是太暗了。\n參考這張梗圖改繪而成 對應艦隊Collection的台灣航空戰活動。1944年，美軍在進攻菲律賓前決定先空襲台灣，防止增援，因而爆發台灣航空戰。日軍駐紮在台灣的軍機起飛迎擊從太平洋飛來的美國海軍艦載機，損失慘重，隨後台灣各大設施無力抵抗美軍轟炸。\n日本海軍和陸軍罕見合作，在夜晚派出陸軍的四式重爆，配合海軍的銀河，掛上魚雷往美軍特遣艦隊發進，同樣損失慘重。儘管日軍宣稱擊沉多艘航母，但實際上美軍只損失一艘重巡洋艦而已。\n輕巡To級原本只是不起眼的輕巡，現在實裝flagship級後就常跟Tsu級flagship虐殺我方航空隊，每次都是空熟練度的回來。明明也沒到海月姬那時的「基地航空隊」全滅字樣，可是防空火力就是能把有迴避加成又沒空喪的陸攻隊打個半死。\n","title":"繪圖：我們的稅金爆炸了，四式重爆與銀河參與台灣沖航空戰損失慘重","type":"artwork"},{"content":"2021年6月17日，重刷Android系統前，忘記寫下引繼碼。FGO日版顯示「引繼失敗」，無法登入，只好去填表單請求客服找回帳號。\n這個日版帳號對我來說很重要呀！因為輔助只差斯卡蒂和玉藻前沒有，其他方面，不論周回還是劇情玩起來都比重課卻只有一隻玉藻前的台版帳號好很多。尤其到現在為止，都是只有花小錢在福袋上抽卡，CP值比台版高很多。所以無論如何一定要回復帳號！\n請到Fate Grand Order日本官網的お問い合わせの前に データの引き継ぎについて填寫表單，不需要VPN。\n填單的問題在巴哈姆特的FGO板都有翻譯，例如我參考的是浮雲大大po過的這篇。\n從者日文名稱從AppMedia查詢，原因說明就靠Google翻譯（如果不會打日文，Google翻譯的網頁可以用手寫輸入假名）。\n表單大概長這樣，以下是我憑印象填寫的答案，雖然事後查看只有擁有的五星從者是完全寫對的。 表單送出後幾天內客服應該會用電子郵件跟你聯絡。\n6/17，第一次勾選「有課金」，送出表單，但沒有出示收據，客服要我提供Google Play收據。\n第二次改勾「無課金」並送出，想當然官方知道我是同一人，第二封回信還是向我要Google Play收據。\n大家都說提供課金帳單的單號就能以最快速度找回來，可是我以前用於FGO日版課金的Google帳號因為放LL所以被鎖了\u0026hellip;這可怎麼辦才好。\n6/19，在表格的最後一欄，勾選無課金後在最後一欄寫上無法提供收據的原因。而客服就改成要我回報「最近5次的聖晶石購買紀錄+購買數量+消費金額」。\n心想完了\u0026hellip;但是還沒有！雖然沒有Google Play的收據單號，但每個月的刷卡對帳單和Paypal還是有記載交易金額的，依序填上記載的交易紀錄：\n格式是這樣:\n当該アカウントでの購入情報 ≪1件目の購入情報≫ ・購入日（年月日）: ・購入数（有償・無償を含めた総数）: ・購入金額: 6/20，感謝客服星期天的不辭辛勞，終於寄給我新的引繼碼了！\n總計四天的鬥爭，終於結束，迎向四夜的終末。 ","date":"2021年6月20日","externalUrl":null,"permalink":"/posts/fate-grand-order-jp-account-recovery/","section":"所有文章","summary":"2021年6月17日，重刷Android系統前，忘記寫下引繼碼。FGO日版顯示「引繼失敗」，無法登入，只好去填表單請求客服找回帳號。\n這個日版帳號對我來說很重要呀！因為輔助只差斯卡蒂和玉藻前沒有，其他方面，不論周回還是劇情玩起來都比重課卻只有一隻玉藻前的台版帳號好很多。尤其到現在為止，都是只有花小錢在福袋上抽卡，CP值比台版高很多。所以無論如何一定要回復帳號！\n請到Fate Grand Order日本官網的お問い合わせの前に データの引き継ぎについて填寫表單，不需要VPN。\n填單的問題在巴哈姆特的FGO板都有翻譯，例如我參考的是浮雲大大po過的這篇。\n從者日文名稱從AppMedia查詢，原因說明就靠Google翻譯（如果不會打日文，Google翻譯的網頁可以用手寫輸入假名）。\n表單大概長這樣，以下是我憑印象填寫的答案，雖然事後查看只有擁有的五星從者是完全寫對的。 表單送出後幾天內客服應該會用電子郵件跟你聯絡。\n6/17，第一次勾選「有課金」，送出表單，但沒有出示收據，客服要我提供Google Play收據。\n第二次改勾「無課金」並送出，想當然官方知道我是同一人，第二封回信還是向我要Google Play收據。\n大家都說提供課金帳單的單號就能以最快速度找回來，可是我以前用於FGO日版課金的Google帳號因為放LL所以被鎖了…這可怎麼辦才好。\n6/19，在表格的最後一欄，勾選無課金後在最後一欄寫上無法提供收據的原因。而客服就改成要我回報「最近5次的聖晶石購買紀錄+購買數量+消費金額」。\n","title":"FGO日版忘記引繼碼，取回帳號的流程分享（附填表單範例）","type":"posts"},{"content":"英文版\n躺著和等待是弱勢群體的行為。為了保障性工作者的權利，社會秩序維護法第91條合法化了性專區並能在臺灣設立。然而目前臺灣仍然沒有一個性專區因為大多數市長反對。2018年，經濟部說因案涉社會秩序維護法等相關法令規範，故未開放增列「性工作產業」之營業項目。爰此，針對中央各項法規配套及解決是否符合當前社會狀況，仍需適時釐清。與其匆促設立性專區，進一步修法仍有必要。有些市長表示若中央政府做出相關措施他們不會反對設立性專區。臺灣不應該設立性專區因為不明確的法律規範。我會從三個面向來談: 性工作者的生計、健康問題以及社會風險。\n1.性工作者的生計 # 反方宣稱妓女變成正當職業則性工作者能有穩定收入以及減少被剝削的機會。如果性交易價格由政府公定的話，的確有可能收入會變穩定。然而，一旦價格變成固定，他們的收入可能會不增反減。此外，雖然已廢除的台北市公娼條例寫道「接客費依其規定設備分甲、乙、丙三等，其標準由主管機關訂定後送議會審議。」，性工作者仍遭到剝削。阿姆斯特丹的性工作者需要繳納高額租金和稅金，因為她們是被視為獨立工作者。並且因為社會的歧視和隱私問題，性工作者可能不會註冊而轉入非法活動。我們怎麼能說他們的生計一定會隨性專區設立而改善呢？所以，性專區裡性工作者的收入不一定會增加。\n2. 健康問題 # 反方宣稱性專區能減少性病的傳播，因為社維法91條規定:「性交易服務者，應辦理登記及申請證照，並定期接受健康檢查。」對客人來說，領有牌照的性工作者可能的確比沒牌的安全。但是風險仍然不能忽視。 身體健康檢查只要求性工作者而不包含客人，就算是台北市公娼條例也一樣沒有規定。根據阿姆斯特丹大學的研究，74%的性工作者不知道自己感染HIV，儘管她們說已做個檢測。淋病、衣原體、梅毒很快就能檢測出來，但是嚴重的HIV至少要四個禮拜才會檢測的到。最後，性工作者可能會有憂鬱症，創傷壓力症候群等心理健康問題，降低離開性工作行業的信心。總結來說，保護措施的缺失無法有效保護交易雙方的安全。\n3. 社會風險 # 反方宣稱性專區可以降低如強暴的犯罪率。且性工作者不會被老鴇或者人口販子所控制。說來沒錯，由於性專區處於警方監測之下，她們的權利也能被保障。然而就算是阿姆斯特丹性專區，也依然存在人口販運問題。 報導稱2017年荷蘭最少有1300名女孩作為人口販賣的對象。還有，由於高回報率，以前許多女孩不論自願或者被迫，都被送到台北市性專區為家裡賺錢。調查報告指出:「一個房間內，10個有9個是沒有牌照的妓女。」所以她們遭到老鴇控制，直到警察來救出她們。總結來說，性專區無法根本上解決社會安全問題。\n總結 # 總結，在設立性專區前，需要有嚴謹的法規來解決未解決的問題。第一，性專區裡的性工作者不會賺更多。第二，需要更詳盡的法規保障交易雙方的安全。第三，改善地區安全跟紅燈區設立無關。性工作者的痛是切身，卻又難以由自己掌控的，所以應該有更多措施在工作場所執行。這也就是，因為環境已經相較過去有改變，她們的權利才不會被人們玷汙。如同班傑明富蘭克林說過的:「失敗的準備，就準備會失敗。」\n參考資料 # Verscheijden, M.M.A., Woestenberg, P.J., Götz, H.M. et al. Sexually transmitted infections among female sex workers tested at STI clinics in the Netherlands, 2006–2013. Emerg Themes Epidemiol 12, 12 (2015). https://doi.org/10.1186/s12982-015-0034-7 HIV and STI epidemiology in high-risk populations in the Netherlands https://dare.uva.nl/search?identifier=3daa9a9c-35b4-4425-8c48-711c8aefbd50 At least 1,300 Dutch girls per year trafficked, exploited https://www.reuters.com/article/us-netherlands-human-trafficking-idUSKBN1CN1R2 Everything You Ever Wanted to Know about Amsterdam’s Red Light District but Were Afraid to Ask https://www.eatingeurope.com/blog/red-light-district/ The Audacity of Tolerance: A Critical Analysis of Legalized Prostitution in Amsterdam’s Red Light District https://www.humanityinaction.org/knowledge_detail/the-audacity-of-tolerance-a-critical-analysis-of-legalized-prostitution-in-amsterdams-red-light-district/ 臺北市政府回覆日日春互助關懷協會「臺北市落實性交易合法化的具體政策」及訴請市長約見時間之回應 https://www.gov.taipei/News_Content.aspx?n=2044902FC839D045\u0026sms=72544237BBE4C5F6\u0026s=F78ED287E4B49AB8 公娼制度是性交易合法化最惡劣的範例 https://radfemtw.wordpress.com/2016/01/12/%E5%85%AC%E5%A8%BC%E5%88%B6%E5%BA%A6%E6%98%AF%E6%80%A7%E4%BA%A4%E6%98%93%E5%90%88%E6%B3%95%E5%8C%96%E6%9C%80%E6%83%A1%E5%8A%A3%E7%9A%84%E7%AF%84%E4%BE%8B%E3%80%80%EF%BC%8F%E4%BE%9D%E5%87%A1%E6%96%AF-2/ 地方主導? 北二都.南.高反對性專區 https://news.pts.org.tw/article/175232 基隆設性專區　市長林右昌堅決反對 https://tw.appledaily.com/politics/20180320/FZZ56LRAI3NRYYWRULZVKTPY2M/ 設性專區？ 六都首長沒人挺 https://www.chinatimes.com/newspapers/20150118000308-260102?chdtv 社會秩序維護法 91-1 臺北市公娼管理辦法 沈美貞 台灣被害娼妓與政策 (1990) 何春蕤 性工作研究 (2003) ","date":"2021年6月16日","externalUrl":null,"permalink":"/posts/should-red-light-district-be-set-up-in-taiwan/","section":"Personals","summary":"英文版\n躺著和等待是弱勢群體的行為。為了保障性工作者的權利，社會秩序維護法第91條合法化了性專區並能在臺灣設立。然而目前臺灣仍然沒有一個性專區因為大多數市長反對。2018年，經濟部說因案涉社會秩序維護法等相關法令規範，故未開放增列「性工作產業」之營業項目。爰此，針對中央各項法規配套及解決是否符合當前社會狀況，仍需適時釐清。與其匆促設立性專區，進一步修法仍有必要。有些市長表示若中央政府做出相關措施他們不會反對設立性專區。臺灣不應該設立性專區因為不明確的法律規範。我會從三個面向來談: 性工作者的生計、健康問題以及社會風險。\n1.性工作者的生計 # 反方宣稱妓女變成正當職業則性工作者能有穩定收入以及減少被剝削的機會。如果性交易價格由政府公定的話，的確有可能收入會變穩定。然而，一旦價格變成固定，他們的收入可能會不增反減。此外，雖然已廢除的台北市公娼條例寫道「接客費依其規定設備分甲、乙、丙三等，其標準由主管機關訂定後送議會審議。」，性工作者仍遭到剝削。阿姆斯特丹的性工作者需要繳納高額租金和稅金，因為她們是被視為獨立工作者。並且因為社會的歧視和隱私問題，性工作者可能不會註冊而轉入非法活動。我們怎麼能說他們的生計一定會隨性專區設立而改善呢？所以，性專區裡性工作者的收入不一定會增加。\n","title":"臺灣應該設置性專區嗎？","type":"personal"},{"content":"","date":"2021年6月11日","externalUrl":null,"permalink":"/tags/chyiyu/","section":"標籤","summary":"","title":"ChyiYu","type":"tags"},{"content":"","date":"2021年6月11日","externalUrl":null,"permalink":"/tags/marine-nationale/","section":"標籤","summary":"","title":"Marine Nationale","type":"tags"},{"content":" 2021年6月11日\n特斯特長官French Windows。宗谷One of these days。關於二張繪圖背後故事的解釋。\n特斯特長官 French Windows # 從歷史照片來看，我畫得舷窗還不夠多 圖源 這張圖我畫得是特斯特長官(Commandant Teste)懷孕泡澡的樣子。 Pixiv連結\nPixiv圖片描述的\u0026quot;You shall see blue sky out of there.\u0026quot; 意思為「窗外有藍天」 。《A Room with a View》是一本英國小說，1988年齊豫也有唱過一首「你將會看見，窗外依然有藍天」。可是肚子裡面怎麼會有藍天呢？我想妖精看到的是艦娘未來在和平的天空下，航行於海洋上的樣子吧！\n因為她是艦娘，又是法國人，腹部有艙門可以看到裡面的孩子，所以我叫這幅畫作「法國窗戶」French Windows。\n不禁讓人想到海綿寶寶《蟹堡王週年慶》裡面的場景，有一幕海綿寶寶在海綿媽媽的肚子裡，就可以從窗戶看到外面了。從那個時刻起，她就愛上了美味蟹堡。 French Winows得名自Pink Floyd - One of these days歌曲的MV名字，導演為Ian Emes，1972年發行。 雖然MV內容跟我純聽音樂所理解歌曲的內涵不一樣（唯一一句歌詞說的是「我要把你大卸八塊」），但這個MV做得確實棒，很動感。\n雖然叫做法國窗戶，但導演是英國人。當年Pink Floyd樂團成員看了這支MV後覺得還不錯，便要求他製作更多動畫。\n宗谷 One of these days # Pixiv連結\nFrench Windows的孿生作品，其實應該是這張先出的（2021年6月1日）。\n雖有孕肚，但沒有裸露的宗谷。可能是非NSFW畫作人物畫的最好的一次了吧。標題同樣出自Pink Floyd - One of these days。原始歌曲說我要把你千刀萬剮\u0026hellip;但這裡我的意思為總有一天\u0026hellip;我要讓妳像圖中那樣懷孕。冰冷南極觀測船身軀下，孕育著火熱的新生命。\n","date":"2021年6月11日","externalUrl":null,"permalink":"/posts/artwork-20210611/","section":"Artworks","summary":" 2021年6月11日\n特斯特長官French Windows。宗谷One of these days。關於二張繪圖背後故事的解釋。\n特斯特長官 French Windows # 從歷史照片來看，我畫得舷窗還不夠多 圖源 這張圖我畫得是特斯特長官(Commandant Teste)懷孕泡澡的樣子。 Pixiv連結\nPixiv圖片描述的\"You shall see blue sky out of there.\" 意思為「窗外有藍天」 。《A Room with a View》是一本英國小說，1988年齊豫也有唱過一首「你將會看見，窗外依然有藍天」。可是肚子裡面怎麼會有藍天呢？我想妖精看到的是艦娘未來在和平的天空下，航行於海洋上的樣子吧！\n因為她是艦娘，又是法國人，腹部有艙門可以看到裡面的孩子，所以我叫這幅畫作「法國窗戶」French Windows。\n","title":"繪圖：如果艦娘懷孕，是否可從舷窗看到小孩？特斯特長官的French Windows","type":"artwork"},{"content":"","date":"2021年5月28日","externalUrl":null,"permalink":"/tags/spanish-air-force/","section":"標籤","summary":"","title":"Spanish Air Force","type":"tags"},{"content":"前言：\n西班牙是位於伊比利半島的國家。在二戰前爆發了慘烈的內戰，佛朗哥領導的國民軍獲得軸心國支援，最終獲勝，於是西班牙成為法西斯獨裁國家，隨後加入軸心國，在北非擁有海外屬地摩洛哥。\n有趣的一點是，西班牙雖然是軸心國，但是佛朗哥無意介入二戰歐陸的戰事，遂保持中立國直到戰爭結束。\n在二戰中，西班牙的貢獻有派出名為「藍色師團」的志願軍支援德蘇戰爭前線。另外一個重要的貢獻是西斯帕諾．蘇莎(Hispano-Suiza)公司製造的飛機引擎和機砲，後者就是著名的20mm西斯帕諾HS.404，以瑞士厄利孔MGFF機砲發展而來，在當時為英美法等國採用。\n西班牙空軍(Ejército del Aire)早在戰前便成為獨立軍種。 由於西班牙在內戰時受到軸心國援助，裝備的飛機大多是德國和義大利生產。其餘的則為內戰中從政府軍手中接收來的蘇製戰機，以及二戰時迫降在西班牙境內的盟軍戰機。很多二戰時期的飛機一直服役到60年代才退役，還有授權生產的HA-1109和HA-1112，以梅塞施密特Bf-109為基礎安裝勞斯萊斯的引擎，此型機也在戰後電影《不列顛空戰》(1969年)扮演德國空軍的角色。 圖片0-1 電影《不列顛空戰》劇照\n1. 西班牙軍階與編制 # 軍階\n圖1-1 (維基百科) 特級上將(Capitán General) 上將(General del Aire) 中將(Teniente General) 少將(General de División) 凖將(General de Brigada) 上校(Coronel) 中校(Teniente Coronel) 少校(Comandante) 上尉(Capitán) 中尉(Teniente) 少尉(Alférez) 見習軍官(Oficial Cadete) 編制\n按1939年9月4日頒布的命令，基本戰術單位為中隊(escuadrilla)，但實際上是三機一組的小隊(patrulla)為最小單位。數個中隊組成飛行大隊(grupo)，二個大隊組成escuadra(11月9日改稱為「航空團/飛行聯隊」regimientos)。\n1940年2月29日，西班牙空軍共有11個航空團，3個混合航空團，3個獨立飛行中隊，一個獨立小隊。參考下圖。\n圖1-2，從右而左可以知道該地點航空隊的上級單位 圖1-3，西班牙行政區劃，馬德里在正中央。 2. 二戰以前的西班牙空軍 # 1896年，西班牙便開始運用熱氣球作為軍事用途，在馬德里附近的瓜達拉哈拉陸軍航空隊運用。1905年，在Alfredo Kindelán將軍的幫助下，Leonardo Torres y Quevedo在該處建造了第一個飛船，命名為「西班牙」(España)，進行多次展示飛行。\n1909年，Pedro Vives上校成為陸軍航空隊的領導人，隸屬陸軍的航空隊西班牙文是Aeronáutica Militar，意為航空武力。\n1913年，西班牙航空隊(Aeronáutica Española)下屬的遠征中隊在與摩洛哥的戰爭中多次派出飛機進行空襲。\n1916年海軍航空隊(Aeronáutica Naval)在巴塞隆納El Prat成立，首次塗上識別數字以及西班牙國徽圓標。1920年，二架Nieuport 80和一架Caudron G.3也跟進塗上識別標誌。\n1926年1月，飛行員Ramón Franco, Julio Ruiz de Alda, Juan Manuel Duran and Pablo Rada等人駕駛Plus Ultra完成西班牙到南美洲間的越洋飛行，這架飛機的名字剛好就是西班牙國家格言「航向更遠方」。\n圖2-1 Plus Ultra飛機 (維基百科) 同年另外四名飛行員González Gallarza、Joaquín Loriga Taboada、Rafael Martínez Esteve組成埃爾卡諾小隊(Escuadrilla Elcano)，駕駛二架Bréguet 19，僅花一個月就完成西班牙到菲律賓來回飛行。\n3. 西班牙內戰雙方交戰的飛機 # 1931年西班牙皇室被推翻，西班牙第二共和國成立，由左翼政府執政。1935年空軍進行改組，空軍總局(Dirección General de Aeronáutica)原聽令於西班牙首相，後改屬戰爭部(Ministerio de la Guerra)。海軍的中隊(Escuadra)為軍區聯隊(Región Militar)所取代。不過在局勢惡化後，1936年9月，空軍部和海軍部又歸首相Indalecio Prieto指揮。\n後來，還效忠於政府的陸軍航空隊和海軍航空隊合併成為西班牙共和國空軍(Fuerzas Aéreas de la República Española)。\n1936年西班牙爆發內戰，由法西斯主義者佛朗哥將軍領導的國民軍對抗政府軍，最終於1939年成功奪權。西班牙內戰可以說是二次大戰的前哨戰，由軸心國支援的國民軍對上蘇聯支持的政府軍。\n戰時出現許多戰術創舉，包括由畢卡索《格爾尼卡》圖中描繪的，德國禿鷹軍團對小鎮的地毯式轟炸，以及德蘇新式戰鬥機的交戰等，都給德國重新武裝提供了寶貴的作戰經驗。\n圖2-2 畢卡索 格爾尼卡 (維基百科) 內戰時，政府軍的空軍稱為西班牙共和國空軍，國民軍的則是國民軍空軍(Aviación Nacional)。\n德國提供國民軍Bf-109早期型號投入使用，並派遣德軍指揮官支援；義大利提供CR.32戰鬥機。並有He-111、Ju-52、SM.79、SM.81對政府軍領土進行轟炸。國民軍的第一王牌是Joaquín García-Morato，總共擊墜40架敵機。\n圖2-3，國民軍的Bf-109，機尾十字是一大特色。 蘇聯提供給政府軍的主要是波利卡波夫伊-16，不敵德義二國的戰機，加上補給不足，在1938年厄波羅戰役中共和國空軍根基遭到摧毀，之後1939年由國民軍贏得內戰勝利後解散，部分蘇製戰機移交新成立的西班牙空軍(Ejército del Aire，簡稱EdA)使用。\n政府軍的第一名王牌是蘇聯人Lev Shestakov，擊落39架敵機。西班牙人第一名則是José María Bravo Fernández，戰果23架。\n圖2-4，政府軍的I-16 (維基百科) 1939年10月7日，西班牙空軍正式成立，這個名字一直沿用到現在。\n4. 二戰時期的西班牙空軍 # 考慮到戰略位置以及國內經濟，西班牙在後來爆發的二次大戰保持中立，但是一旦交戰國雙方飛機進入西班牙領空，防空炮和戰機都會進行攔截。\n為報答德國在內戰中的支援，1941年到1943年間，由志願軍組成的藍色師團(Division Azul)陸續前往德蘇前線進行支援，下屬的航空隊稱為藍色中隊(Escuadrillas Azule)，德軍則稱為第15西班牙分隊(15 Spanische Staffel)，參與過庫斯克會戰，摧毀了160架蘇聯飛機，損失20名飛行員。\n圖2-5，藍色中隊的Bf-109 圖2-5-1 ，少女與戰車的藍色師團高校 內戰結束後，2a Ecsuadra前往摩洛哥的Sania Ramel，裝備He-112，改稱1a Escuadra。再與當地的飛G.50的2a Escuadra組成27飛行大隊。\n1943年盟軍發動火炬行動，駐摩洛哥的飛行部隊除了攔截到C-47傘兵部隊、直布羅陀飛來的噴火外，還會碰到駐阿爾及利亞維希法國的D.520，不過沒有打下任何一架。\n1943年3月3日，盟軍飛機再次入侵摩洛哥領空，27大隊在Miguel Entrena Klett中尉指揮下，從P-38機群後方俯衝射擊，第37飛行中隊的P-38冒煙後迫降於阿爾及利亞。\n後來西班牙政府通知他們不要理會盟軍的挑釁，同日美軍大喇喇地從摩洛哥納祖爾機場上空飛過。1944年後補給越來越不足，1945年只剩9架能飛，隨後返回西班牙本土。\n圖2-6 西班牙He-112擊傷美國P-38 1939年12月，一架英軍戰機在塔里法被擊落。1940年11月8日，巴利阿里群島附近，4架西班牙的SM.79被誤認為義軍所屬而遭英軍戰機擊落。\n德軍U艇也會在西班牙海岸附近航行，透過大量漁船躲避敵軍雷達。\n加那利群島附近也常爆發衝突，美軍懷疑德國U艇在此接受補給，因此西班牙空軍的CR.32便得對入侵者做出回擊。1943年10月在大加那利群島，美軍VP-73的PV-1反潛機對CR.32開火，西班牙軍正想回擊結果布雷達機槍卡彈。\n5. 敢飛過來就將盟軍的飛機收編 # 因為是中立國，西班牙空軍有一些飛機是在對方迫降之後收編來的。\n1940年6月，一架法軍的Potez 63-11因故障迫降於馬略卡島，西班牙接收後送往馬德里的Cuatro Vientos機場，1945年退役。\n圖2-7 Potez 63-11 義大利在1943年向盟軍投降後，一些海軍的Ro.43水上偵察機飛到阿爾庫迪亞、帕爾瑪、波連斯薩等地，由西班牙接收。不過因為性能老舊，閒置一年後又回到新的義大利政府底下。\n圖2-8，西班牙收留的Ro.43 1944年8月4日，一架美軍的B-25(流水號41-30338)迫降於摩洛哥納祖爾，由摩洛哥空軍接收。後因維修零件不足，1956年拆解。\n圖2-9，迫降的B-25 還有一架PBY卡特琳娜，從英國飛往加拿大的途中迫降在摩洛哥西迪伊夫尼，後以馬略卡島為基地當訓練機，1957年拆解。\n圖2-10，迫降的卡特琳娜 西班牙同時與軸心國和同盟國保持往來，西班牙地處地中海門戶，卻沒有禁止英國通過直布羅陀海峽，影響軸心國在地中海的戰略布局。\n1944年還與美國簽訂秘密條約，開放摩洛哥的朱比海角機場給美軍；諾曼地登陸後，美軍甚至可以在西班牙領土補給。\n由於幾乎沒有捲入戰事，以及預算因素，西班牙空軍的飛機在1945年二戰結束仍以德義飛機組成，並顯得有點落後，運輸機Ju-52甚至服役到1970年代。所幸冷戰時代與美國交好，獲得許多美製裝備。1975年佛朗哥逝世，西班牙民主化，西班牙空軍現在裝備的以F-18和颱風戰機為主力。\n5. 西班牙版的Bf-109 # 有趣的是，德國研發的Bf-109一直到戰後還有在西班牙本土生產。1942年西班牙取得德國授權，要在本土生產Bf-109G2，而德國原廠提供引擎DB-605和武裝。但是實際送來的僅有25架機體，所以西斯帕諾就將其中一架裝上自家的HS 89-12Z引擎和VDM螺旋槳，稱之為Bf-109J，1944年HA-1109-J1L的機體進行試飛。\n圖2-11，HA-1112 最大的不同就是，德國原廠的引擎是倒V型，西班牙改裝的是普通的設計，因此前面長得很像噴火式戰鬥機。\n1951年，\u0026ldquo;HA-1112-K1L\u0026quot;誕生了。安裝的是HS 17-12Z引擎，安裝二門布雷達12.7mm機槍，可掛載80mm火箭彈。因裝載德哈維蘭螺旋槳，而有「三葉」(Tripala)的外號。\n為了用於非洲殖民地軍事用途，1954年尚有安裝勞斯萊斯梅林500-45引擎的\u0026quot;HA-1112-M1L Buchón\u0026rdquo;，裝有20mm西斯帕諾蘇莎HS. 404/408機砲和搭載火箭彈，一直服役到1965年，並無真正上場作戰，只在電影裡大展身手。\n圖2-12，HA-1112-M1L Buchón 這些西班牙製的飛機也參與了二戰電影的拍攝，例如《不列顛空戰》(1969)、《非洲之星》(Der Stern von Afrika, 1957)、《敦克爾克》(2017)。\n6. 西班牙空軍使用過的機型 # 年份：1936年～1945年，含政府軍機種。\n部分機種會由西班牙空軍給予代號。如Bf-109就是西文的\u0026quot;C-4\u0026quot;，SB-2轟炸機則叫「B.5卡秋莎」。\n戰鬥機\n布里斯托Bulldog 阿拉多Ar-68 德哈維蘭 DH.60 / EE1 飛雅特 CR.32 / C.1 \u0026ldquo;Chirri\u0026rdquo;, 亨克爾 He-51 / A.1 梅塞施密特 Bf-109 / C-4 亨克爾He-112 飛雅特G.50 / C\u0026quot; 波利卡波夫I-15 / C-9 Chato/Curtiss 波利卡波夫I-16 / C-8 \u0026ldquo;Mosca\u0026rdquo; o \u0026ldquo;Rata 轟炸機\n薩伏亞馬切蒂SM.81 (兼任運輸機) / T-1 薩伏亞馬切蒂SM.79 / B.1 飛雅特Br.20 圖波列夫SB-2 / B.5 Katiuska 亨克爾He-111 / B-7 容克斯Ju-52 (兼任運輸機) / T.2 亨舍爾Hs-123 容克斯 Ju-88 / B-6 北美 B-25 都尼爾 Do-24 / HR-5 y HD-5 攻擊機\n亨克爾 He-15 波利卡波夫I-15 偵察機\n亨克爾He-45 都尼爾Do-17 / R.3 \u0026ldquo;Bacalao\u0026rdquo; 卡普羅尼 Ca.130 波利卡波夫R-Z / R.5 \u0026ldquo;Natacha\u0026rdquo; o \u0026ldquo;Papagayo\u0026quot;Asalto y 亨舍爾Hs-126 格魯曼 GE-23 水上飛機\n亨克爾He-59 亨克爾He-60 亨克爾 He-114 CANT Z.501 CANT Z.506 都尼爾Do-24 / T3 教練機\n莫拉納MS.230 Caudron C.270 CASA 1.131 / E-3B CASA 1.133 / E-1 西斯帕諾蘇莎 HS-34 / HS-34 INTA HM.1 (西班牙研製) 聯絡機\n梅塞施密特 Bf-108 / L.15 費舍爾 Fi-156 / L-16 7. 西班牙空軍機徽 # 1911~1931年機尾標誌 西班牙內戰時期，政府軍和國民軍\n圖4-1 政府軍，右邊二個用於機翼，機尾標誌則以紫色為最底層顏色。 圖4-2 國民軍，左邊二個使用於機翼上，右二是機身，最右邊的機尾標誌又被稱為「聖安德烈十字」，一直沿用到現在。 西班牙空軍\n圖4-3 西班牙空軍，現代機尾亦提供低辨識度版本。 參考資料和圖片來源 # https://es.wikipedia.org/wiki/Anexo:Aeronaves_hist%C3%B3ricas_del_Ej%C3%A9rcito_del_Aire_de_Espa%C3%B1a\nhttps://es.wikipedia.org/wiki/Ej%C3%A9rcito_del_Aire_(Espa%C3%B1a)\nhttps://ww2aircraft.net/forum/threads/spanish-air-force-during-the-wwii.23660/\nhttp://www.belliludi.com/spanish_air_force.html\nChristopher. Shores (1977) , Spanish Civil War Air Forces AIRCAM/AIRWAR 3\n圖片\nhttp://www.daveswarbirds.com/bob/109s.htm\nhttp://www.belliludi.com/spanish_air_force.html\nhttps://luisamariaarias.wordpress.com/2012/11/27/mapas-de-espana-fisicos-politicos-y-mudos/\nhttps://www.alamy.com/the-hispano-aviacin-ha-1109-and-ha-1112-are-license-built-versions-of-the-messerschmitt-bf-109g-2-developed-in-spain-during-and-after-world-war-ii-image215649982.html\nhttps://www.pinterest.ch/pin/469359592399722721#imgViewer\nhttp://flaps-aviation-aviacion-luftfahr.blogspot.com/2011/07/hispano-aviacion-ha-1109-ha-1112-buchon.html\nhttps://acesflyinghigh.wordpress.com/2019/02/02/spains-messerschmitt-bf-109-hybrids-the-hispano-aviacion-ha-1112-tripala-and-buchon/\n","date":"2021年5月28日","externalUrl":null,"permalink":"/posts/spanish-air-force-wwii/","section":"Histories","summary":"前言：\n西班牙是位於伊比利半島的國家。在二戰前爆發了慘烈的內戰，佛朗哥領導的國民軍獲得軸心國支援，最終獲勝，於是西班牙成為法西斯獨裁國家，隨後加入軸心國，在北非擁有海外屬地摩洛哥。\n有趣的一點是，西班牙雖然是軸心國，但是佛朗哥無意介入二戰歐陸的戰事，遂保持中立國直到戰爭結束。\n在二戰中，西班牙的貢獻有派出名為「藍色師團」的志願軍支援德蘇戰爭前線。另外一個重要的貢獻是西斯帕諾．蘇莎(Hispano-Suiza)公司製造的飛機引擎和機砲，後者就是著名的20mm西斯帕諾HS.404，以瑞士厄利孔MGFF機砲發展而來，在當時為英美法等國採用。\n西班牙空軍(Ejército del Aire)早在戰前便成為獨立軍種。 由於西班牙在內戰時受到軸心國援助，裝備的飛機大多是德國和義大利生產。其餘的則為內戰中從政府軍手中接收來的蘇製戰機，以及二戰時迫降在西班牙境內的盟軍戰機。很多二戰時期的飛機一直服役到60年代才退役，還有授權生產的HA-1109和HA-1112，以梅塞施密特Bf-109為基礎安裝勞斯萊斯的引擎，此型機也在戰後電影《不列顛空戰》(1969年)扮演德國空軍的角色。 圖片0-1 電影《不列顛空戰》劇照\n1. 西班牙軍階與編制 # 軍階\n","title":"中立且不介入戰事的軸心國，二戰西班牙空軍(Ejército del Aire)簡介","type":"history"},{"content":"","date":"2021年5月26日","externalUrl":null,"permalink":"/tags/united-states-navy/","section":"標籤","summary":"","title":"United States Navy","type":"tags"},{"content":"在逐漸實裝美國船艦後，《艦隊Collection》也實裝了美軍的水上偵察機，裝備在美艦上有特別加成。未來，可能也會實裝能夠搭載水偵的弗萊徹級驅逐艦。\n1. 水上偵察機的命名 # 二戰美軍曾經使用過的4款水上偵察機，有3架是P-40的研發商：寇蒂斯公司生產。SO3C原本要做為老式雙翼SOC的替代品，但由於性能太差，結果大戰期間都是SOC執行水上觀測/偵察任務。\n寇蒂斯類似的情況還發生在轟炸機: 二戰前就裝備的道格拉斯SBD「無畏」艦上轟炸機，因為後繼機寇蒂斯SB2C「地獄俯衝者」太難操控，而導致海軍部分航母部隊寧願以舊型的SBD進行轟炸任務。\n水上偵察機英文為Scout/Observation Floatplane，首先來解釋字義。\nScout這個字也見於美軍艦上轟炸機的命名中，例如道格拉斯SBD無畏(Scout Bomber Douglas)，可用於「偵查」敵艦。\nObservation意思為觀測，二戰時期雷達技術未成熟前，船艦間的砲擊戰都需要派出水上觀測機來執行修正砲彈軌跡的任務，通常都是由低速水上機進行，有時候雙座的觀測機也可以當作偵察機使用。\n美軍彈著觀測的歷史最早可以追溯到1919年海軍的測試，認為使用飛機執行觀測可以讓10英里外的命中率提升200%。1920年代以後，偵察機已成為美軍巡洋艦級別以上的標準配備。 1930年代，海軍航空局(Naval Bureau of Aeronautics)制定了標準：戰艦裝備的是OS(觀測/偵查)機，巡洋艦則是SO(偵查/觀測)機。因此巡洋艦後來裝備的是寇蒂斯SOC，戰艦則是沃特OS2U。\n2. 水上偵察機的任務 # 二戰時期，巡洋艦和戰艦通常會搭載水上偵察機，透過飛機彈射器彈射起飛，再由起重機回收。美軍裝備過的為寇蒂斯SOC「海鷗」以及沃特OS2U「翠鳥」。其他還有寇蒂斯SO3C「海鷗」和SC「海鷹」。\n通常戰艦會搭載4架水偵，用於觀測砲彈水面落點，因此此型飛機的型號都會有個”O” (Observation)。因為戰艦常常要攻擊視距外的目標，在雷達發展成熟前，彈著觀測是砲戰很重要的一環。 型號中的”S”代表偵查(scout)，巡洋艦可以使用水偵來尋找敵方水上艦艇和潛艇。對沒有航母護航的戰艦和巡洋艦來說，水偵就是他們唯一的眼睛。巡洋艦會挪出甲板的空間做為水上飛機的機庫，使搭載量增加為8架。\n在巡洋艦機庫裡拆解後的SOC海鷗。 戰爭中水偵被賦予多樣任務，除偵查/觀測外，還可以打空戰、轟炸敵艦、搜救落海人員。搜救落海人員時還能讓人員坐在機內。如果要救援多名人員，就只好掛在機翼上了。這對水上飛機來說不是什麼大問題，水偵通常會在海面上滑走一段距離，然後返回艦上。\n1943年4月20日，北卡羅萊納戰艦的OS2U-3搭救了10名機組員，將他們送到潛艇唐(USS Tang SS-306)號上。 艦上的海軍上將或者上校會有專屬的水上飛機，用於上下船，通常會塗成不同的顏色。\nSOC海鷗正在乘載海軍上將。 3. 水上偵察機的起降與回收 # 美軍戰艦會直接把水偵停放在彈射器上，一個軌道停二架，當有需要起降時，吊臂就會把其中一架先吊走。 艦上的起重機會將水偵吊掛到彈射軌上，無視船艦的航向，將軌道旋轉到順風方向，接著透過彈射起飛，因彈射時十分激烈，所以這個過程又被稱為”bang”。\n水上偵察機整個回收過程請先參考以下影片。 回收的部分就比較困難了，水偵滑行到艦船後方波浪較平靜之處，船艦放網狀的回收雪橇(Recovery Sled)，讓水偵滑行到上面，之後水偵浮筒下部的鉤子會勾住網狀部分。接著飛機關掉引擎，讓船艦拖過去。\n之後船艦會放下吊臂，後座乘組員爬出機外，讓吊臂的鉤子能勾在水偵機背上，之後吊掛回艦上。 4. 海鷗、翠鳥、海鷗、海鷹 # 二戰中美軍使用過的艦上水上偵察機中，寇蒂斯SOC海鷗和沃特OS2U最早投入運用。寇蒂斯SO3C在1942年投入，但一年後就放棄使用了，評價十分的差。大戰末期，飛得更快的寇蒂斯SC「海鷹」服役。\n寇蒂斯SOC「海鷗」 # 1935年服役，SOC是”Scout / Observation Curtiss”，意思為寇蒂斯生產的水上偵察機。服役時間非常的長。\n引擎 : 惠普R-1340氣冷引擎，出力600hp，極速266 km/h，航程1086公里。武裝為7.62mm勃朗寧機槍x1 + 7.62mm自衛機槍x1。可掛載295公斤炸彈。\n從輕巡洋艦火奴魯魯(USS Honolulu CL-48)上起飛的SOC-3。\n此型機為開放式座艙，乘員二名，後座的觀測員還要兼通信員和機槍手。\n為了能在巡洋艦上運用，SOC也能將機翼摺疊起來。\n總共生產了315架，1938年停產。後繼機預定是同家公司生產的SO3C，但是由於性能太糟，短暫改為二線使用的SOC又拿出來重新裝備。\n摺疊機翼的SOC海鷗，機翼是像F4F一樣90度的折疊。 SOC除用於偵查觀測任務外，也曾有與日機交戰的紀錄。1941年珍珠港遭到空襲後，從重巡北安普頓(USS Northampton CA-26)上起飛的2架SOC追殺返航中的零戰追了20分鐘，最後將其擊落。\n1943年盟軍登陸西西里島時，偵查義大利部隊的SOC向義軍投下一百磅的炸彈並開始掃射，嚇得義軍馬上投降。隨後SOC在後面持續開火，將義軍往海灘方向趕過去。\n寇蒂斯SO3C「海鷗」 # 雖然都叫做海鷗，但這裡是Seamew。因為操縱性問題，海軍有人稱他叫海牛(sea cow)。\n極速277km/h，航程1850公里。武裝為7.62mm勃朗寧機槍x1 + 12.7mm勃朗寧自衛機槍x1。機翼下可掛載2x一百磅炸彈或者325磅的深水炸彈。\n1938年開始研製SOC的後繼機種，寇蒂斯以XSO3C的原型機贏得合約，此為單翼水上偵察機，機翼可以直接摺疊。儘管性能沒有改進很多，但因為海軍部分SOC已經很舊了，所以海軍十分希望可以有後繼機。\n折起機翼的SO3C 但是，SO3C卻被要求使用Ranger V-770倒V型十二缸水冷引擎，起飛出力600hp，9000英尺出力400hp，該型引擎在低速下存在過熱問題。\n更糟的是，飛機的操縱性能也不好。要擺動翼尖十分困難；垂直尾翼有所增大，但後座機槍手須將其拆除一部分，視野才不會太差。但是在開啟座艙的情況下飛行又不安定。\n於是，1942年服役，1943年就退役了，改回使用SOC。\n從輕巡比洛克西(USS Biloxi CL-80)起飛的寇蒂斯SO3C海鷗 海軍航空局還測試加裝著艦鉤，讓其在航母上起降，型號為SO3C-2C。但是SO3C糟糕的性能，連英國皇家海軍都不太想接收，一部分改裝為靶機，是為SO3C-1K(英軍稱為皇后海鷗I型)。 去掉起落架，其實SO3C跟SB2C挺像的，畢竟是同家公司的產品。 沃特OS2U 「翠鳥」 # 此為單翼雙座水上機，1940年服役。OS2U的名字意義是 \u0026ldquo;the second (2) observer/scout produced by Vought (U)\u0026rdquo; 沃特生產的第二款水上偵察機。用於取代前型沃特O3U-1。\n雖然是單翼機，但是由於引擎為 出力450hp的風冷普惠R-985小黃蜂引擎，飛行速度沒有比SOC高很多。這是因為要盡量讓水上機小型化，能夠不摺疊機翼。極速275km/h，航程1461公里，武裝為7.62mm勃朗寧機槍x1 + 7.62mm勃朗寧自衛機槍x1，可掛載650磅炸彈。\n因擔心影響同廠產品F4U海盜式戰機產量，沃特授權給海軍飛機工廠生產OS2U-3，1942年停產前沃特和海軍飛機工廠共生產了1519架，成為二戰中生產最多的水上偵察機。\n如果要用於訓練用途，OS2U亦能將浮筒更換成起落架。 沒有摺疊機翼的設計減輕了OS2U的重量，因此無法收在巡洋艦的機庫。不過此型機本來就是為戰艦設計，直接將水偵停在甲板上的發射軌道。由於主要是為了觀測而設計，名字的字母順序是OS而非SO。\n除了機翼的擾流板外，機尾的升降舵也可當作襟翼使用，大大降低降落速度，有助於起降。海軍在換裝SO3C卻對其性能極不滿意時，有一部分OS2U送往巡洋艦艦上作暫時替補。此外，部分弗萊徹級驅逐艦亦有測試過安裝彈射器，搭載OS2U的記錄。\n弗萊徹級驅逐艦普林格號(USS Pringle DD-477)的彈射器。 以下是海軍航空局針對OS2U-3的性能評估，測試狀態為搭載防彈油箱、油彈滿載狀態。（筆者製表） 1945年硫磺島戰役時，從重巡洋艦彭薩柯拉(USS Pensacola CA-24)起飛的一架OS2U遭到一架零戰五二型攻擊，卻反而將其擊落。\n寇蒂斯SC「海鷹」 # 不同於前二型水偵，此為單座單翼水上偵察機。設計受到日軍二式水戰的影響，武裝為二門12.7mm機槍，引擎為普惠R-1230氣冷引擎，出力1300hp，裝備增壓器因此能在高度8717公尺達到503km/h的極速。當然，要比極速，還是裝浮筒的噴火戰鬥機更勝一籌。\n有人稱其為「迷你P-47」(baby thunderbolt)。 1945年6月服役，實際上SC1沒有太多的表現機會，因為雷達基本上已經取代觀測機的工作，機種名字裡面去掉了O，專用作偵查。到1949年退役，總共生產了562架。\n美軍官方的教學影片 : 如何辨識SC1 參考資料 # https://www.pearlharboraviationmuseum.org/blog/u-s-scoutobservation-floatplanes-in-world-war-ii/\nhttps://www.historynet.com/workhorse-of-the-fleet.htm\nhttps://modelingmadness.com/review/misc/ships/us/lyonsds.htm\n維基百科\nSteve Ginter(1999), Curtiss SO3C Seamew/Seagull (Naval Fighters) (本書有很多此型機的機內照片)\n每架飛機介紹的第一張圖來自Wings Palette。\n","date":"2021年5月26日","externalUrl":null,"permalink":"/posts/us-navy-seaplanes-wwii/","section":"Histories","summary":"在逐漸實裝美國船艦後，《艦隊Collection》也實裝了美軍的水上偵察機，裝備在美艦上有特別加成。未來，可能也會實裝能夠搭載水偵的弗萊徹級驅逐艦。\n1. 水上偵察機的命名 # 二戰美軍曾經使用過的4款水上偵察機，有3架是P-40的研發商：寇蒂斯公司生產。SO3C原本要做為老式雙翼SOC的替代品，但由於性能太差，結果大戰期間都是SOC執行水上觀測/偵察任務。\n寇蒂斯類似的情況還發生在轟炸機: 二戰前就裝備的道格拉斯SBD「無畏」艦上轟炸機，因為後繼機寇蒂斯SB2C「地獄俯衝者」太難操控，而導致海軍部分航母部隊寧願以舊型的SBD進行轟炸任務。\n水上偵察機英文為Scout/Observation Floatplane，首先來解釋字義。\nScout這個字也見於美軍艦上轟炸機的命名中，例如道格拉斯SBD無畏(Scout Bomber Douglas)，可用於「偵查」敵艦。\nObservation意思為觀測，二戰時期雷達技術未成熟前，船艦間的砲擊戰都需要派出水上觀測機來執行修正砲彈軌跡的任務，通常都是由低速水上機進行，有時候雙座的觀測機也可以當作偵察機使用。\n美軍彈著觀測的歷史最早可以追溯到1919年海軍的測試，認為使用飛機執行觀測可以讓10英里外的命中率提升200%。1920年代以後，偵察機已成為美軍巡洋艦級別以上的標準配備。 1930年代，海軍航空局(Naval Bureau of Aeronautics)制定了標準：戰艦裝備的是OS(觀測/偵查)機，巡洋艦則是SO(偵查/觀測)機。因此巡洋艦後來裝備的是寇蒂斯SOC，戰艦則是沃特OS2U。\n","title":"艦隊之眼，二戰美國海軍的水上偵察機簡介：SOC、SO3C、OS2U、SC","type":"history"},{"content":"初稿：2021年2月~2021年5月\n地點：屏東大學民生校區中文系\n當初我是作為跨系選修去上這門課的，佛學在英語系的聽來並無壓力的說。原本這門課都是林其賢教授上，然而他退休了，就換成對敦煌文化研究有加的李美燕教授來上。這學期是她第一次教這門課。\n有以下記號的為我個人註腳\n註腳\n課程中老師給我們看的一部影片《禪的世界》，我將心得寫在這裡：能劇《江口》與禪宗的啟示\n佛教歷史 # 隋唐時期是中國的佛教鼎盛時期，道教次之，儒學最弱。\n世界三大宗教中，佛教是最早出現的宗教(B.C. 600)，基督教則是A.D. 100。\n王子悉達多出家創立，成為釋迦牟尼。\n佛(Budda)的梵文意思是悟、覺、知，中文稱之為覺悟，後來也成為釋迦牟尼的稱號，但在古代並非僅止稱呼釋迦摩尼。\n在印度的發展階段可分為\n原始佛教 部派佛教 大乘佛教 密教 之後伊斯蘭教傳入，於印度衰落。\n原始佛教:\nB.C.600~B.C.400，釋迦摩尼與弟子傳教的時期，思想重心為「四聖諦」\n部派佛教:\nB.C.400 ~ A.D. 100，口傳導致教義產生歧異，分化成「上座部」和大眾部兩大派系。\n(shengˋ)為乘載之意，大乘小乘佛教都是要脫離苦海，大乘希望能普渡眾生才是真正解脫，大乘佛教所指稱的小乘則是追求個人的解脫。\n大乘佛教: BC 100~700。於BC100開始形成，至此印度佛教開始分裂。\n大乘佛教認為人人皆可成佛，往北傳到東亞國家。\n小乘佛教則相反，認為所謂斷滅善根的「一闡提」是不可能成佛的。\n密教時期 (AD700~AD1200)\n大乘佛教多注重理論論證，且為讓普通大眾理解教義，密教採用「方便法門」，結合印度教方法，融合迷信色彩。\n講大道理無法使部分人開悟，透過化身或其他辦法來開導。\n佛教的傳播\nAD.300左右，印度阿育王開始往外傳播佛教，南傳開始。\n中國於西元左右(東漢)時傳入。\n19世紀末，才傳入歐美非三洲。\n北傳大乘的路線，從西域敦煌-\u0026gt;雲岡，到達朝鮮、日本\n也有傳至龍門，再往中國各地傳播。\n南傳上座部的路線是抵達斯里蘭卡、中南半島，最後是東南亞。\n為何只有大乘佛教被中國文化接受並融合?\n因為人人皆能成佛，符合儒家人人皆能成聖賢的理念。\n佛教於兩漢時傳入。當時中國人便透過僧侶知道，西方有佛。\n魏晉南北朝，開始有大量的譯經，將梵文翻譯成漢文佛經。\n其次開啟傳戒制度，開始有漢人出家成為僧侶。\n翻譯佛經以外，尚给佛經注疏、下註解，代表佛教中國化的開始。因為不只高僧參與注疏，文人也以自己、而非佛經原本觀點作註。\n佛教徒的大量增長，也出現大量寺院，產生寺院經濟。唐朝法琳紀載 :西晉3700僧尼，至東晉成長至24000人。\n隋唐為佛教鼎盛時期，因為皇帝也大力支持，僅有唐武宗反佛。\n所以產生了中國本土的各個佛教宗派。\n三大宗派佛教:\n天臺宗\n華嚴宗\n法華宗\n最具有代表性的是禪宗\n與中國文化密切。\n龍門石窟、雲岡石窟、麥積山石窟、莫高窟石窟的雕塑，這些本方的石窟寺都能側面證明佛教的發展過程。\n唐朝的宗派\n法相宗/唯識宗 由玄奘(600~664)創辦。\n華嚴宗/賢首宗/法界宗 以《華嚴經》作為經典。由法藏(634~712)創立，世稱賢首大師。\n佛教基本觀念 # 四聖諦說\n苦、集、滅、道即為四諦。\n在梵文中，諦即為真理之意。\n苦諦\n四聖諦之首，人生皆苦。快樂是短暫、無常的。\n因為有苦，人要追求解脫。\n苦有生、老、病、死、怨憎會、愛別離、求不得，還有\n五盛(ㄕㄥˋ)陰: 色、受、想、行、識，構成人的要素，痛苦之源。\n(原來叔本華的哲學是從這裡抄來的)\n集諦\n集: 招聚、集合。集諦是造成人世間苦痛的根本原因。\n分為貪、嗔、癡\n給自己造成苦難，也造成眾人苦難\n滅諦\n消滅產生痛苦的原因。\n道諦\n滅除痛苦，證得涅槃(解脫)的途徑。\n八正道\n正見\n正思維\n正語\n正業\n正命\n正念\n正定\n正精神\n緣起論\n「依緣而起」是佛學基石。\n因緣: 構成事物的因素和條件。\n因緣聚則生，因緣散則滅。\n沒有什麼是永恆的。因此人要活在當下。沒有獨立自在的自體 (與客體相對)\n因果是不可思議，生命流轉不會停下來，輪迴也就不止。\n所以人也是因緣的表現，人生會有十二緣起。\n三法印說\n諸行無常\n世間一切無不是流轉變化，因此都為「行」，沒有什麼是永久的。\n諸法無我\n法，世間事物\n我，是主宰、自性、實體，沒有獨立存在、自我決定的永恆事物，一切都是相對和暫時的。因此人不需要太執著。\n萬法皆空，世間事物皆是空。\n論語子罕:子絕四：毋意，毋必，毋固，毋我。,\n（子罕:孔子杜絕四種弊病：不主觀臆斷，不絕對肯定，不固執己見，不唯我獨尊。）\n涅槃寂靜\n佛教的終極目標，斷滅煩惱，超脫生死輪迴後達成的境界，要經過一生修行才能解脫。\n「天女散花」一詞原本來源自佛教中《維摩詰經·觀眾生品》\n困擾由執著而生，羅漢把飄在身上的花瓣拍落，而佛祖則不在意。\n天台宗、慈恩宗、華嚴宗 # 天台宗\n天台宗代表人物：\n慧文\n慧思\n智潁\n湛然\n灌頂\n創始人智穎B.C. 538~597，北齊\n其師慧思，其祖慧文\n供奉經典：妙法蓮華經\n「一心三觀」\n以「觀」看世界\n慧文：空觀、假觀、中觀\n天台宗認為，由空觀可以把握「真諦」，假觀可以把握「俗諦」，中觀則可以把握「中道諦」。\n空觀：緣起性空，學習如何「觀空」，以智慧觀察事物的本質「空」。\n假觀：因觀察到空，而否定現象界的存在，故成另一種執著。要承認現象界存在，且本身就是虛假的，才是假觀。\n中觀：不執著於空，亦不執著不空，此即為「究竟」\n修行「一心」佛心可掌握這三觀。\n慧思提出「十如」「實相」\n智潁代表作：《法華文句》、《法華玄義》、《摩訶止觀》\n智潁：「性具實相」一切萬法都是自然、真實的存在。這種存在是彼此關聯，而非孤立的存在。\n以十如作為基礎，進而提出宇宙存在十個法界。\n所謂「十界」即是將自我境界或生命之等級分為十層，其中最上四界為佛、菩薩、緣覺、聲聞稱為「四聖」，以下六界為天、人、阿修羅、畜生、地獄、餓鬼等稱為「六凡」，共稱「十界」。\n每一個法界都有十如，每個法界也能因靠修行或墮落而轉化，由下而上移動。\n宇宙間的三世間：五蘊世間、有情世間、器世間，組成三千如。\n有「一念三千」說法，表示三千如就在人心中，而不是存在於現象界。「三千」就是來表示事物彼此密切的關聯性，一切事物，一切法的存在都是互相關聯整體的存在，彼此牽連，不可分割，而這彼此的牽連都是存在，我們的一念之中。\n慈恩宗/唯識宗\n由玄奘(A.D.600~664)創立。\n29歲至印度待上15年，於那爛陀寺，與戒賢大師學習「瑜珈師地論」\n再與勝軍大師學習 「唯識抉擇論」，也學習與其對立的大乘佛學 龍樹派的「中百論」，並調和兩者。\n學習印度的邏輯學「因明」，為學習印度唯識宗必要的元素。\n譯有《廣百論釋》\n唐貞觀十九年正月回到唐朝長安，開始翻譯佛經，長達19年。翻譯地點之一即為慈恩寺。\n譯著最重要的為《瑜珈師地論》\n《成唯識論》將唯識宗思想系統性的介紹到中國。但其強調的五種姓，認為有一種人是不能成佛的，因此與中國觀念格格不入。\n五種姓:\n菩薩種姓\n緣覺種姓\n聲聞種姓\n不定種姓\n無種姓\n注重《大乘起信論》\n「依」和「轉依」(梵文)的思想。\n轉依就是由迷到悟，由染到淨，等於解脫之意。\n一心(開)二門\n心真如門\n「心真如門」是使人產生智慧而成佛的途徑，唯識宗從這裡找到了「依」，「真如」即是我們實踐上的「依」。\n我們由「迷」到「悟」有這麼一個迷、悟之所「依」即是「真如」，「真如」就是我們的本體，就是我們內在的佛性，這是「迷悟依」\n從「迷」到「悟」的途徑，就是心真如門。\n心生滅門\n心生滅門者，謂依如來藏有生滅心轉，不生滅與生滅和合，非一非異，名為「阿賴耶識」\n雖有真如存在，但心有生有滅。\n(把阿賴耶識解釋成世界的意志，奈須磨菇真會超譯)\n第八識 / 藏識 / 阿賴耶識\n藏識是「染淨依」，「染」、「淨」相當於一般世俗所說的善、惡 。無染即無惡。\n生而純潔，成長必遭汙染。要轉化過程，就得依靠藏識。\n靠八識只能開出生滅門，但是開不了成佛之道的「清淨門」。\n要達到轉依，就得唯識而行，萬法(萬物)唯識。\n遣象証性: 認知不為外在事物表象所限，要把握本心本性，才能透視事物真諦。\n無漏法: 無漏功德，功德圓滿\n華嚴宗\n代表人物: 法藏法師(AD643 ~ 712)，來自西域地區的康居。武則天賜名賢首法師，得名自賢首菩薩。\n杜順→智儼→法藏→澄觀→宗密\n杜順《法界觀》\n智儼《搜玄記》\n賢首《妄盡還原觀》\n澄觀同時是華嚴宗、禪宗南宗的重要繼承人，因此互相影響了對方的思想，最後華嚴宗與禪宗合而為一。\n主要經典:《華嚴經》\n主要思想: 圓融無礙，理與事\n重視《大乘起信論》\n「佛境」原來就是在眾生的心地。\n（佛）性起：人心天生就具備一切德性，不需要後天養成，只要隨現實因緣顯現。\n乘（佛）性而起：將本心的限制蒙蔽和汙染去掉，呈現本性，此即為佛教所稱「妄盡還原」。乘性而起即為功德。\n天台宗講「性具」的思想，基本上他講人性有染、有淨，包括善惡，而華嚴宗則以為人性本淨、純善。\n五教說:\nhttp://buddhaspace.org/dict/fk/data/%25E4%25BA%2594%25E6%2595%2599%25E5%258D%2581%25E5%25AE%2597.html\n小、始、終、頓、圓\n華嚴宗將圓教稱之為「別教一乘」，自稱為最圓滿的宗教。\n吸收了天台宗和慈恩宗的思想。\n禪宗 # 禪宗\n慧能大師 / 惠能大師 (638~713)，出生於(廣東)嶺南新州。\n東土(中國)六祖: 達摩、慧可、僧璨、道信、弘忍、慧能\n後分化為慧能南宗與神秀北宗，禪宗成為中國佛教主流。\n自慧能之後，花開五葉。\n永嘉玄覺（公元665~713） 俗姓戴，溫州永嘉人。 \u0026hellip;\n荷澤神會（公元686~760） 俗姓高，湖北襄陽人。 \u0026hellip;\n南陽慧忠（公元677~775） 俗姓冉，浙江諸暨人。 \u0026hellip;\n南嶽懷讓（公元677~744） 俗姓杜，陝西漢陰人。 \u0026hellip;\n青原行思（公元？\n荷澤神會為七祖，派系則為荷澤系。\n禪是印度佛教共同的修行方法，而非印度的宗派。\n奉菩提達摩為始祖，以禪概括所有佛教所有休習的，為中國禪宗。\n神秀:\n身是菩提樹\n心如明鏡台\n時時勤拂拭\n勿使惹塵埃\n慧能《無相偈》:\n菩提本無樹\n明鏡亦非台\n本來無一物\n何處惹塵埃\n神秀認為要靠後天努力修行，避免心靈蒙蔽，才能成佛。\n慧能放下了身(菩提)和心(明鏡)的執著，不執著於你的身心就能成佛。煩惱是由心而起。\n神秀稱為漸悟，慧能為頓悟。每個人根器不同，都有自己的成佛方法。\n放下屠刀，立地成佛，即是放下心中歹念。\n不同於其他宗派，禪宗只關心以下問題:\n1.自性是佛: 禪宗關於成佛方法的觀點\n2.心法與無法: 禪宗的修行方法，人不能成佛是因為不能覺悟\n3.頓悟與無心、無得: 關於解脫境界的觀點，怎樣才叫真正覺悟\n禪修的方法?\n內心首重於求道者的動機，以及堅持的信念。\n環境要清幽、樸實、集中。\n為何勞動中才能悟道?\n臨濟宗認為，修行不單是靜坐，修禪要有勞動，透過勞動和經驗促進思考。\n在化緣勞動中能悟出道理。依賴他人善心為生，要心存感恩。\n坐禪:\n透過調息使身心合而為一。使呼吸規律化，摒棄所有的雜念與外在想法，達到超然的境界。\n參禪:\n透過回答公案，解決問題，證實是否真正悟道。認知要打破世俗對知識、邏輯的執著。\n佛性在內在而不是外在，要認清本心。\n無法之法：\n佛教普遍採用禪定修習，而慧能只強調頓悟。\n奧圖博士引入禪宗到歐洲，克里奇著有禪與箭術\n禪僧共同的問題，就是何為悟\n進入禪宗的世界要拋開書本，以及日常好惡，面對真我。\n禪宗堅持的戒律是自給自足，勞動才更能悟道。\n悟道是整體體會的感覺，無法依賴文字與理性去理解，「不立文字」、「不依經論」，無法光靠書本達到，因此是無法之法。\n藝術與禪都追求超越文字的世界，達成禪的境界，一切修行的形式(法門)都可以捨去了。\n慧能認為，修行方法只能依實踐情境成立，沒有定規，所以「法無定法」、「無法之法」。\n頓悟:\n直指本心，把握佛教真諦，就可頓悟成佛。反對唸經拜佛和繁瑣禮儀，也不需一輩子累世修行。\n行善帶有祈福消災的目的，是為成佛的方便法門。\n心或性皆指佛心。\n禪的本義是沉思，或曰冥想。潛意識活躍之時可獲得想像和靈感。在不可思議(不為邏輯、知識可知) 處思議，在玄奧處頓悟，在幽微曖昧中開朗。但並不是脫離現實。\n海德格有云，離群索居，會落到存在的表面。\n禪宗的解脫\n頓悟即解脫，內心對包括佛法在內的一切執著的捨棄。\n雖活於現實中，心可以放下執著，做事無心無得，做事無所求，僅做自己該做的事情，才能頓悟。\n慧能認為，僅僅一念之差，就是佛與凡夫俗子的差別。\n荷澤神會(668~760)認為「(一旦有)一念相應，便成正覺」，「並不由(神秀那種的)階漸，自然是頓悟義」。\n無心\n大珠慧海: 「如論究竟解脫，只是事來不受，一切處無心，永寂如空，畢竟清淨，自然解脫。」內心清淨，不受牽制。\n「終日吃飯，未曾咬著一粒米；終日行，未曾踏著一片地。」\n「若欲直會其道，平常心是道。何為平常心? 無造作，無是非，無取捨，無斷長，無凡無聖。」\n\u0026ldquo;L’Internationale\u0026rdquo;: 「從來就沒有什麼救世主，也不靠神仙皇帝」\n無得、無所求，克服世俗迷執，超越佛法束縛。真功德是行善不為人知。\n青原惟信禪師:「老僧三十年前未參禪時，見山是山，見水是水。及至後來，親見知識，有個入處。見山不是山，見水不是水。而今得個修歇處，依前見山只是山，見水只是水。」初始為第一重境界，第二重境界否定第一重境界，第三重境界已經不執著不動心，心安頓下來(修歇處)，才會見山是山，見水是水。\n人生境界: 執著世俗利害→擺脫世俗卻被佛法束縛→克服世俗與佛法的束縛，\n所以成佛不是成為神，而是成為無拘無束的自由人。禪宗的修行形式似乎是反佛的，但是無法之法與佛教本質仍無差別，最終是要成佛、解脫。\n定慧不二:\n大學: 由定生慧。\n慧能: 定就在慧中，慧就在定中。\n無念、無相、無著:\n無相: 現象界都是虛妄。\n僧肇: 即色是空，現象界中也有空的存在。\n佛性 證悟 清淨心\n不依經論\n教外別傳、不依文字。不透過言教和經典，而是透過心的證物。不依文字，不依經典。\n神會曾批評北宗: 「傳承是邦，法門是漸。」\n慧能不曾說明心是什麼。而神會說心是以知為本體，寂靜知指體。\n慧能之後\n懷讓→馬祖→懷海（百丈禪師），為江西禪，禪宗與華嚴宗融合。\n華嚴宗：理事圓融無礙。\n馬祖：觸類是道。使用肉眼或是法眼來看世界，後者的話接觸的事物都是道。\n懷海：見即是性，不需外求。靠內心澈悟，與外在行證。\n南嶽系分出溈仰、臨濟，臨濟宗還傳到日本。\n另外三派從青原發展來，行思→希遷（石頭和尚）\n希遷《參同契》，仿造漢魏伯陽《參同契》「會通儒與道」，希望會通佛教南宗北宗思想。\n石頭和尚解釋「理事無礙」: 萬物之理是各自不同的，可是萬事之理皆同，可歸於一。同張橫渠「理一分殊」，朱熹的「月映萬川」，莊子「『仲尼曰：「若夫人者，目擊而道存矣，亦不可以容聲矣。』」\n青原系是以事來理解，「即事而真」；南嶽系則是從理，「觸類是道」。青原系認為月亮照到的地方都是道。南嶽系認為道就是天上的月亮。\n五代宋初，法演宗的延壽(904~975)匯通各個宗派，邀請天台宗、華嚴宗、慈恩宗一起討論，最後用禪宗的思想統一起來，著為《宗鏡錄》。\n舉一心以為宗，造萬物以為鏡。以心為宗主，再由心觀照萬物。以心宗為主，就是禪宗。\n唐武宗「會昌毀佛」，使得佛教在唐朝末年沒落。\n宋明理學學者也不喜歡佛教，禪宗改傳到日本發揚光大。\n六祖壇經 # 般若第二\n【摩訶】【般若(bo rě)】【 波羅密多】: 梵文。到彼岸的佛的大智慧，將你從此岸渡到彼岸。即為涅槃\n善知識: 各位善信大德\n菩提: 覺悟的智慧\n劫: ，有大中小劫，13億年以上的時間\n僅靠有為法是不能成佛。\n諸佛剎土，盡同虛空: 世人具有的佛性，本質就是虛空。空亦無法可循，也不能執著於空。\n無記空: 透過靜坐達到空，仍不是真正的空。世界本是虛空，應可包容萬物，步區分何為虛空、何為非虛空。\n須彌諸山: 印度神話中的神山，這些都存於空，存於心中。\n法苑珠林\n《法苑珠林》的作者道世，是唐朝僧人道世，他的生平事跡，主要見於《宋高僧傳》卷四義解篇，[3] 然就其著書與所受的影響，則關乎其師承與交友，今先究其生平。\n貞觀十九年，玄奘已從西域歸國，當時道宣即被微召至長安弘福寺譯場任綴文之大德， 參與譯事。道世即當時五十大德之一。\n法苑珠林可為佛學的辭典，佛教故事都有收錄，跟禪宗大不相同。\n音樂部第四\n如百緣經云。佛在世時。王舍城中豪富長者。各相率合設大節會。作諸伎樂(以供養為目的之伎樂，是為化生)而自娛樂。時有舞師夫婦二人。從南方來。將(帶著)一美女。字青蓮華(青色蓮花，比喻佛的眼睛)。端正殊妙世所希有。聰明智慧難可詶對。婦女所有六十四藝。皆悉備知。善解舞法。迴轉俯仰。曲得節解。作是唱言。今此城中頗有能舞如我者不。明解經論能問答不。時人答曰。有佛世尊在迦蘭陀竹林。善能問答使汝無疑。舞女聞已。尋將諸人共相隨逐。且歌且舞。到竹林中。見佛世尊。猶故憍慢放逸戲笑不敬如來。爾時世尊見其如是。即以神力變此舞女。如百年老母髮白面皺。牙齒疎缺傴僂而行。行時舞女自觀其身。形狀極老。而作是言。今此女身。以何因緣。卒有如是衰相現耶。今者必是佛之威神使我故爾。遂於佛前深心慚愧。唯願世尊當見原恕。爾時世尊知此舞女心已調伏。以神通力變身如前。大眾見此舞女卒老卒壯無有常定。各生厭離解寤無常。心開意解。有得四沙門果者。有發無上菩提心者。時彼舞女及其父母。即於佛前求索出家。佛即告言。善來比丘尼。頭髮自落。法服著身。成比丘尼。精勤修習得阿羅漢果。諸天世人所見敬仰。時諸大眾見是事已。請說因緣。佛告大眾。乃往過去無量世時。波羅奈國王有太子。字孫陀利。入山學道獲五神通。見緊那羅女(音樂之神)。端正殊妙狀如諸天。作諸姿態且歌且舞。鼓動我心。觀使染著(產生了執著)。退失仙道。我於彼時。心遂堅固無有慾想。語彼女言(向她說)。一切有為無有常定(妳不是永久的)。我今觀汝形體臭穢充滿其中。薄皮覆上不可久保。正爾當有髮白面皺傴僂而行。汝今何為憍慢放恣乃至如是。向者歌聲。其音已變。何故在此作諸姿態。於是緊那羅女。聞是語已。尋(不久)向仙人懺悔罪咎。因發願言。使我來世得斷生死。我於汝邊獲得道果(因你而使我獲得道果)。佛告大眾。欲知彼時王子學仙道者。則我身是。彼緊那羅女者。今青蓮華比丘尼是。由於彼時發願力故(因發願而使我們今世還能相遇)。今值我出家得道。比丘聞已。歡喜奉行。\n又百緣經云。佛在世時。迦毘羅衛城中有一長者。財寶無量不可稱計。其婦生男端正殊妙世所希有。年漸長大有好音聲。令眾樂聞。值佛出家得阿羅漢果。諸比丘等請佛為說得道因緣。佛告比丘。乃往過去九十一劫有佛出世號毘婆尸。入涅槃後。有國王名槃頭末帝。收取舍利(骨灰)造四寶塔。高一由旬(有二十公里高度)而供養之。時有一人。見此塔故心懷歡喜。便作音樂以繞供養。發願而去。緣是功德九十一劫不墮三塗(不會墮入苦海)。天上人中常好音聲。令眾樂聞。乃至今者遭值於我出家得道。比丘聞已。歡喜奉行。\n又百緣經云。昔佛在世時。舍衛城中有諸人民。各自莊嚴作唱伎樂。出城游戲至城門中。遇值佛僧入城乞食。諸人見佛歡喜禮拜。即作伎樂供養佛僧。發願而去。佛即微笑語阿難言。此諸人等由作伎樂供養佛僧。緣此功德。於未來世一百劫中不墮惡道。天上人中最受快樂。過百劫後成辟支佛(未來沒有佛的世界，自行修行佛法之人，卻不能發揚佛法)。皆同一號。名曰妙聲。以是因緣。若人作樂供養三寶(佛寶、法寶、僧寶，天地人)。所得功德無量無邊。不可思議。故法華經偈云。\n若使人作樂\n擊鼓吹角貝\n簫笛琴箜篌\n琵琶鐃銅鈸\n如是眾妙音\n盡持以供養\n皆以成佛道\n佛教認為，有情眾生 出生的方式有四生: 卵生，由卵殼出生者，稱為卵生。如鵝、孔雀、雞、蛇、魚、蟻等。(二)胎生，又作腹生。從母胎而出生者，稱為胎生。如人、象、馬、牛、豬、羊、驢等。(三)濕生，又作因緣生、寒熱和合生。即由糞聚、注道、穢廁、腐肉、叢草等潤濕地之濕氣所產生者，稱為濕生。如飛蛾、蚊蚰、蠓蚋、麻生蟲等。(四)化生，無中生有，稱為化生。如諸天、地獄(惡鬼)、中有之有情，皆由其過去之業力而化生。\n佛教所說的不殺生，是指不傷害有情眾生。佛教把「有情眾生」定義為具有知覺的生命形式，反之就是無情眾生。\n《攝大乘論》釋卷十五記載，蓮華有香、淨、柔軟、可愛等四德，而以之比喻法界真如之常、樂、我、淨四德。《華嚴經》、《梵網經》等都有蓮華藏世界之說。於密教有以八葉蓮華為胎藏界曼荼羅之中台，又以比喻人之心髒，並表示眾生本有之心蓮。共有8種顏色的蓮花。\n四沙門果: 修行的四個成果，隨後被稱為四沙門果。四果分成須陀洹、斯陀含、阿那含及阿羅漢四者，阿羅漢為最高的果位，但尚未成佛。\n五神通: 又名五通，或五神變，即天眼通、天耳通、他心通、宿命通、如意通。\n遭蠱惑而說緊那羅女的容貌不會永久存在的行為，是為不淨觀。\n法華經\n妙法蓮華經被稱為經王，法華意為白蓮花。\n證嚴法師說生生世世累積的業障造成無明，好像千年未曾打開的屋子堆滿灰塵。\n心淨則土淨。When the mind is pure, the filed is pure.\n境隨心轉，人可以自己拯救自己。\n南無: 梵文，皈依(homage to)\n本跡開二門: 類似一心二門。本(intrinsic)是人就有的佛性，跡(manifest)是顯現於人間，走過的足跡。\n本是內，跡是外。\n法喻談真秘: 談法是用人間事的譬喻來討論，不會空講崇高的佛法。真秘是真空妙有。\n妙法蓮華經\n妙法蓮華經卷第一\n序品第一\n如是我聞。一時佛住王舍城耆闍崛山中。與大比丘眾萬二千人俱。皆是阿羅漢。諸漏已盡(漏: 煩惱)。無復煩惱。逮得己利。盡諸有結。心得自在。其名曰。阿若憍陳如。摩訶迦葉。優樓頻螺迦葉。迦耶迦葉。那提迦葉。舍利弗。大目犍連。摩訶迦旃延。阿[少/兔]樓馱。劫賓那。憍梵波提。離婆多。畢陵伽婆蹉。薄拘羅。摩訶拘絺羅。難陀。孫陀羅難陀。富樓那彌多羅尼子。須菩提。阿難。羅睺羅。如是眾所知識大阿羅漢等。復有學無學二千人。摩訶波闍波提比丘尼。與眷屬六千人俱。羅睺羅母。耶輸陀羅比丘尼。亦與眷屬俱。菩薩摩訶薩八萬人。皆於阿耨多羅三藐三菩提不退轉。皆得陀羅尼樂說辯才。轉不退轉法輪。供養無量百千諸佛。於諸佛所植眾德本。常為諸佛之所稱歎。以慈修身。善入佛慧。通達大智。到於彼岸。名稱普聞無量世界。能度無數百千眾生。其名曰。文殊師利菩薩。觀世音菩薩。得大勢菩薩。常精進菩薩。不休息菩薩。寶掌菩薩。藥王菩薩。勇施菩薩。寶月菩薩。月光菩薩。滿月菩薩。大力菩薩。無量力菩薩。越三界菩薩。跋陀婆羅菩薩。彌勒菩薩。寶積菩薩。導師菩薩。如是等菩薩摩訶薩八萬人俱。爾時釋提桓因。與其眷屬二萬天子俱。復有名月天子。普香天子。寶光天子。四大天王。與其眷屬萬天子俱。自在天子。大自在天子。與其眷屬三萬天子俱。娑婆世界主。梵天王。尸棄大梵。光明大梵等。與其眷屬萬二千天子俱。有八龍王。難陀龍王。跋難陀龍王。娑伽羅龍王。和修吉龍王。德叉迦龍王。阿那婆達多龍王。摩那斯龍王。優鉢羅龍王等。各與若干百千眷屬俱。有四緊那羅王。法緊那羅王。妙法緊那羅王。大法緊那羅王。持法緊那羅王。各與若干百千眷屬俱。有四乾闥婆王。樂乾闥婆王。樂音乾闥婆王。美乾闥婆王。美音乾闥婆王。各與若干百千眷屬俱。有四阿修羅王。婆稚阿修羅王。佉羅騫馱阿修羅王。毗摩質多羅阿修羅王。羅睺阿修羅王。各與若干百千眷屬俱。有四迦樓羅王。大威德迦樓羅王。大身迦樓羅王。大滿迦樓羅王。如意迦樓羅王。各與若干百千眷屬俱。韋提希子阿闍世王。與若干百千眷屬俱。各禮佛足。退坐一面。爾時世尊四眾圍繞。供養恭敬。尊重讚歎。為諸菩薩說大乘經。名無量義。教菩薩法。佛所護念。佛說此經已。結跏趺坐。入於無量義處三昧。身心不動。是時天雨曼陀羅華。摩訶曼陀羅華。曼殊沙華。摩訶曼殊沙華(下起了五彩繽紛的花朵雨)。而散佛上及諸大眾。普佛世界。六種震動。爾時會中比丘比丘尼。優婆塞優婆夷。天龍。夜叉。乾闥婆。阿修羅。迦樓羅。緊那羅。摩睺羅伽。人非人。及諸小王。轉輪聖王。是諸大眾。得未曾有。歡喜合掌。一心觀佛。爾時佛放眉間白毫相光。照東方萬八千世界。靡不周遍。下至阿鼻地獄。上至阿迦尼吒天。於此世界。盡見彼土六趣眾生。又見彼土現在諸佛。及聞諸佛所說經法。并見彼諸比丘比丘尼。優婆塞優婆夷。諸修行得道者。復見諸菩薩摩訶薩。種種因緣。種種信解。種種相貌。行菩薩道。復見諸佛般涅槃者。復見諸佛般涅槃後。以佛舍利起七寶塔。爾時彌勒菩薩作是念。今者世尊現神變相。以何因緣而有此瑞。今佛世尊入於三昧。是不可思議。現希有事。當以問誰。誰能答者。復作此念。是文殊師利法王之子。已曾親近供養過去無量諸佛。必應見此希有之相。我今當問。爾時比丘比丘尼。優婆塞優婆夷。及諸天龍鬼神等。咸作此念。是佛光明神通之相。今當問誰。爾時彌勒菩薩欲自決疑。又觀四眾比丘比丘尼。優婆塞優婆夷。及諸天龍鬼神等眾會之心。而問文殊師利言。以何因緣而有此瑞。神通之相。放大光明。照於東方萬八千土。悉見彼佛國界莊嚴。於是彌勒菩薩欲重宣此義。以偈問曰。\n如是我聞: 這是我從佛那裡聽來的說法。最早為阿難所言。\n羅漢、菩薩、天界之王，數以萬計的人士都來參加法會。\n悉達多見識生老病死後，離開皇宮，成為苦行僧。\n琴弦上的太緊，就易斷裂；太鬆無法奏樂。\n以此，悉達多參透極端苦行終非解脫之道，也不是透過單純打坐就有用處。\n非追求極端，此為正等正覺對中道。\n摩羅試圖用五名美女誘惑悉達多，因為悉達多能看破虛像，因此亂箭在前也不動心。\n魔的起源是內心不清淨，亦無法看破虛像。\n世界是過道，幻象是幻象，Nothing last forever。即為色即是空，空即是色。\n可是說空這個字，也不是要執著於空，否則陷入執著就不是真正的悟。\n到最後，執著也是要放下。\n","date":"2021年5月21日","externalUrl":null,"permalink":"/posts/2021052103/","section":"Personals","summary":"初稿：2021年2月~2021年5月\n地點：屏東大學民生校區中文系\n當初我是作為跨系選修去上這門課的，佛學在英語系的聽來並無壓力的說。原本這門課都是林其賢教授上，然而他退休了，就換成對敦煌文化研究有加的李美燕教授來上。這學期是她第一次教這門課。\n有以下記號的為我個人註腳\n註腳\n課程中老師給我們看的一部影片《禪的世界》，我將心得寫在這裡：能劇《江口》與禪宗的啟示\n佛教歷史 # 隋唐時期是中國的佛教鼎盛時期，道教次之，儒學最弱。\n世界三大宗教中，佛教是最早出現的宗教(B.C. 600)，基督教則是A.D. 100。\n王子悉達多出家創立，成為釋迦牟尼。\n佛(Budda)的梵文意思是悟、覺、知，中文稱之為覺悟，後來也成為釋迦牟尼的稱號，但在古代並非僅止稱呼釋迦摩尼。\n在印度的發展階段可分為\n原始佛教 部派佛教 大乘佛教 密教 之後伊斯蘭教傳入，於印度衰落。\n原始佛教:\nB.C.600~B.C.400，釋迦摩尼與弟子傳教的時期，思想重心為「四聖諦」\n部派佛教:\nB.C.400 ~ A.D. 100，口傳導致教義產生歧異，分化成「上座部」和大眾部兩大派系。\n(shengˋ)為乘載之意，大乘小乘佛教都是要脫離苦海，大乘希望能普渡眾生才是真正解脫，大乘佛教所指稱的小乘則是追求個人的解脫。\n","title":"李美燕老師《隋唐佛學》上課筆記與個人註腳","type":"personal"},{"content":"一架展示日本海軍塗裝的零戰二二型。 Pixiv連結\n日本海軍的零式戰鬥機見證了日軍飛機塗裝的演變，從早期入侵中國的飴色，到後來全部變成綠色。這也是日軍飛機在太平洋上代表的顏色。\n不過，不同架次的零戰綠色卻也不一樣。本圖拆解如下：機身部份是中華民國空軍擄獲後漆上的橄欖綠（近似美國陸軍航空隊）；機身兩側的綠分別是中島、三菱生產的樣子。 零戰的可能還有其他綠色，例如駐紮在拉包爾的零戰三二型有叢林迷彩，零戰二二型的綠色跟五二型又不太一樣。不過這也有可能只是在戰場久了產生色變而已。\n標題出自Pink Floyd - Green Is the Colour。收錄在More(1969年)的電影原聲帶。綠色在此處顯示她的仁慈，但在零戰身上可就不是這樣了。 中文標題其實還隱含一個parody，「就是綠」來自Apple官網對新iPhone 11的宣傳。Apple很喜歡這種簡明直快的口號。\n","date":"2021年5月21日","externalUrl":null,"permalink":"/posts/artwork-20210521/","section":"Artworks","summary":"一架展示日本海軍塗裝的零戰二二型。 Pixiv連結\n日本海軍的零式戰鬥機見證了日軍飛機塗裝的演變，從早期入侵中國的飴色，到後來全部變成綠色。這也是日軍飛機在太平洋上代表的顏色。\n不過，不同架次的零戰綠色卻也不一樣。本圖拆解如下：機身部份是中華民國空軍擄獲後漆上的橄欖綠（近似美國陸軍航空隊）；機身兩側的綠分別是中島、三菱生產的樣子。 零戰的可能還有其他綠色，例如駐紮在拉包爾的零戰三二型有叢林迷彩，零戰二二型的綠色跟五二型又不太一樣。不過這也有可能只是在戰場久了產生色變而已。\n標題出自Pink Floyd - Green Is the Colour。收錄在More(1969年)的電影原聲帶。綠色在此處顯示她的仁慈，但在零戰身上可就不是這樣了。 中文標題其實還隱含一個parody，「就是綠」來自Apple官網對新iPhone 11的宣傳。Apple很喜歡這種簡明直快的口號。\n","title":"繪圖：零式戰鬥機塗裝，就是綠 Green Is the Colour","type":"artwork"},{"content":"初稿：2021年5月\n《六祖壇經》的倒數最終章，那麼它的主題是什麼呢？在慧能死前，它要給弟子們講什麼最後的佛法？主要要講的是慧能死前遺言和死後禪宗的發展。首先＜法門對示品＞是講述慧能死前向十位大弟子重申他的中心思想，以及如何對後人講道，最後＜付囑流通品＞講的是慧能滅度後的後事，為幫助弟子度過悲痛，慧能遂留下三首偈再度揭示佛法，六祖壇經曹溪本到此為止結束。慧能透過言行，最後還有身教，揭示「真如淨性是真佛」的初心。茲透過幾個面向，探討慧能最後予人的啟示。\n首先＜法門對示品＞是說明「三科」與「三十六對」的功用。本章伊始，慧能召集十位最出色的弟子，直言自己將不久於人世。他首先提出相對的意義，三十六對即是貫徹他的「一切為互相因果」。三科法門有蔭、界、入：蔭有五蔭，界有十八界，入有十二入。是說這樣的佛法似乎很是複雜，其實不然，慧能說了這一切佛法能解一切經，所以他們的道理是環環相扣的，更清楚的說是相互對應的。星雲大師總結三十六對法為：外境無情有五對，法相語言有十二對，自性起用有十九對。\n在此不能搞錯慧能說的相對的意義，他列出了許多相對的事物，重點不在於他們彼此間的相對。相對不是非黑即白，這會落入慧能所說「出沒即離兩邊」佛法不是追求某種極端，如同知曉空，卻不執著空一般。「善惡都能擺脫，這才是至高境界。」(七葉佛教書舍，2022) 所以慧能才會給出另外一個例子： 執著空的謗法者稱不用文字，所以人就不需要語言了嗎？因此不執著於非得這樣或那樣，才是合慧能所言之佛法，講法所言不離佛祖所說的「中道」。\n有了這樣的認識之後，可以稍微把六祖壇經的內容倒過來看。所有三十六對皆來自於自性，自性為法的本質，或者用不準確的話說，可類比為物自身(thing-in-itself)，就是事物的本質。自性可以包含萬法，所以稱為含藏識。含藏識會產生六意識，接觸六塵。再者，自性邪可產生十八邪，為眾生用; 自性正產生十八正，為佛用，而這些「用」都是從自性而來。此外還有無情(無意識的東西)的事物，他們五對相對的法也是來自於自性。慧能這樣解釋了宇宙萬法的起源，一切因緣而生，因果之間相對。而慧能就是試圖點出背後原理，再使人跳脫相對的桎梏，重點倒不是細究這些枝微末葉的表象，而是希望能從中歸結出所謂真理。\n再提一點，就是如何能跳脫這些相對？慧能僅給出現象和原理，無常人所理解之直接了當的方法。他還重申若執著於空則增長無明，執著相則增長邪見。最直白的敘述莫過於慧能說的與人言語，要維持這三十六對，與人談佛時不要忘記這些方法，對外不執著於相，對內不執著於空。不過這樣還顯的不夠直接不是嗎？我們寧可不要金科玉律的教科書，慧能列舉了這麼多相對，要大家從中悟出中道，才可以超脫。慧能告訴各位簡明的萬物物原理了，那麼個人最終解脫之路，就從他建構的基石開展出來。\n鳩羅摩什似乎說過「學我者病」，慧能解釋佛法背後原理，禪學的宗旨修行最終還是要靠個人。除了領悟他說的超脫於相對之外，亦不脫離他的說的心性。慧能用相對的語言來解釋確實使人難懂，使人覺得是文字遊戲。會這樣說的話便是執著於相了，可單單說要破除又不是那麼容易。至少不著迷於千言萬語，而是關注背後的實在。費盡唇舌尚不能開導獦獠，那若講的像孔子春秋微言大義那可怎麼著？慧能確實講得很多了，只是記住他的到底都是有因果的，也不可對任何一邊的表象有所執著，不過這之中實在的法，實在是難以描述的，故慧能透過具象的解釋，使人可以有所方向能思考，從而達到那不可思議的境界。有限能力理解至此，實在如出入佛們之掃地僧，雖得佛光迎面，卻尚未能以心證得佛法，但尋漸悟，希求頓悟。\n總結來說，到這裡壇經所記載的部份，都是慧能講三十六對法的使用方式，解釋開悟從體會這些對，發現出中道開始，萬法不離其宗。後慧能說把這壇經傳下去，不離宗旨，則任何人讀了都如他親授，都能悟見本心，最終成佛。 於最終章還另外傳授了三首偈開導難過的弟子，使他們能認清慧能遺言的真正重點。\n","date":"2021年5月21日","externalUrl":null,"permalink":"/posts/2021052102/","section":"Reviews","summary":"初稿：2021年5月\n《六祖壇經》的倒數最終章，那麼它的主題是什麼呢？在慧能死前，它要給弟子們講什麼最後的佛法？主要要講的是慧能死前遺言和死後禪宗的發展。首先＜法門對示品＞是講述慧能死前向十位大弟子重申他的中心思想，以及如何對後人講道，最後＜付囑流通品＞講的是慧能滅度後的後事，為幫助弟子度過悲痛，慧能遂留下三首偈再度揭示佛法，六祖壇經曹溪本到此為止結束。慧能透過言行，最後還有身教，揭示「真如淨性是真佛」的初心。茲透過幾個面向，探討慧能最後予人的啟示。\n首先＜法門對示品＞是說明「三科」與「三十六對」的功用。本章伊始，慧能召集十位最出色的弟子，直言自己將不久於人世。他首先提出相對的意義，三十六對即是貫徹他的「一切為互相因果」。三科法門有蔭、界、入：蔭有五蔭，界有十八界，入有十二入。是說這樣的佛法似乎很是複雜，其實不然，慧能說了這一切佛法能解一切經，所以他們的道理是環環相扣的，更清楚的說是相互對應的。星雲大師總結三十六對法為：外境無情有五對，法相語言有十二對，自性起用有十九對。\n在此不能搞錯慧能說的相對的意義，他列出了許多相對的事物，重點不在於他們彼此間的相對。相對不是非黑即白，這會落入慧能所說「出沒即離兩邊」佛法不是追求某種極端，如同知曉空，卻不執著空一般。「善惡都能擺脫，這才是至高境界。」(七葉佛教書舍，2022) 所以慧能才會給出另外一個例子： 執著空的謗法者稱不用文字，所以人就不需要語言了嗎？因此不執著於非得這樣或那樣，才是合慧能所言之佛法，講法所言不離佛祖所說的「中道」。\n","title":"六祖壇經＜法門對示品＞的個人意見解讀","type":"review"},{"content":"初稿：2021年5月19日\n《從世界文化遺產看人類歷史現場》\n演講者:傅朝卿 國立成功大學建築學系\n2019巴黎聖母院失火，日本琉球首里城也失火，提醒我們世界遺產的保存不易。換作台灣的話，古蹟也常常失火。\n1972年，聯合國UNESCO通過世界文化與自然遺產保護公約。簽署國需致力於保護國內歷史場所。目前世界遺產有1121處。世界遺產(World Heritage)的保存運動始於1960年代搶救將因埃及亞斯文水壩而淹沒的阿布辛貝爾神廟。動員世界各國將神廟遷移出水壩淹沒的地區。世界遺產的標誌由圓圈和菱形組成，代表自然與文化。獲得認證的世界遺產就可以使用此標誌。\n跟世界遺產很類似但不同的是無形文化遺產(Intangible Cultural Heritage)。因為難以定義導致氾濫。此外還有世界記憶計畫，主要目的在保存文獻。\n世界遺產做為文化場域，看見: 歷史現場、歷史事、歷史人物。\n馬丁路德發表九十五條論綱的教堂，就是見證歷史的場所。\n羅馬時期蓋的萬神殿，深深影響到歐洲和美國的建築，美國傑佛遜建立了古典復古運動，到現在連台灣中國的大學，都競相模仿這種希臘羅馬式的建築形式。\n台灣沒有讓聯合國認證世界遺產的資格，但政府對古蹟的保存還是有投入很大心血。以台南來說，各個時代的古蹟就座落在現代化的城市裡面，可以活生生見證歷史。現在仍然有很多文獻保存或整理中，挖掘過去台灣的歷史。雖然只有幾百年，卻是塑造這塊土地人民認同的關鍵，不管曾經待過的是什麼人，那都是曾經的歷史。\n但是，我覺得一昧模仿歐洲復古建築不是好事。中國很多地方以暴發戶的心態復刻了很多世界奇觀，這對自己人的文化認同很不利。\n","date":"2021年5月19日","externalUrl":null,"permalink":"/posts/2021051901/","section":"Personals","summary":"初稿：2021年5月19日\n《從世界文化遺產看人類歷史現場》\n演講者:傅朝卿 國立成功大學建築學系\n2019巴黎聖母院失火，日本琉球首里城也失火，提醒我們世界遺產的保存不易。換作台灣的話，古蹟也常常失火。\n1972年，聯合國UNESCO通過世界文化與自然遺產保護公約。簽署國需致力於保護國內歷史場所。目前世界遺產有1121處。世界遺產(World Heritage)的保存運動始於1960年代搶救將因埃及亞斯文水壩而淹沒的阿布辛貝爾神廟。動員世界各國將神廟遷移出水壩淹沒的地區。世界遺產的標誌由圓圈和菱形組成，代表自然與文化。獲得認證的世界遺產就可以使用此標誌。\n跟世界遺產很類似但不同的是無形文化遺產(Intangible Cultural Heritage)。因為難以定義導致氾濫。此外還有世界記憶計畫，主要目的在保存文獻。\n世界遺產做為文化場域，看見: 歷史現場、歷史事、歷史人物。\n馬丁路德發表九十五條論綱的教堂，就是見證歷史的場所。\n羅馬時期蓋的萬神殿，深深影響到歐洲和美國的建築，美國傑佛遜建立了古典復古運動，到現在連台灣中國的大學，都競相模仿這種希臘羅馬式的建築形式。\n台灣沒有讓聯合國認證世界遺產的資格，但政府對古蹟的保存還是有投入很大心血。以台南來說，各個時代的古蹟就座落在現代化的城市裡面，可以活生生見證歷史。現在仍然有很多文獻保存或整理中，挖掘過去台灣的歷史。雖然只有幾百年，卻是塑造這塊土地人民認同的關鍵，不管曾經待過的是什麼人，那都是曾經的歷史。\n","title":"演講心得：從世界文化遺產看人類歷史現場 ","type":"personal"},{"content":"第21海軍航空廠生產，所屬台南海軍航空隊(二代目) ，昭和19年，台南基地。\n機體番號 タイー1420 Pixiv連結\n原題目: Learning To Fly。出自Pink Floyd - Learning To Fly，因為零式練習戰鬥機是「教練機」\u0026hellip;\n零式練習戰鬥機(A6M2-K)是以零式艦上戰鬥機21型修改成雙座，用作飛行訓練，後期型換成了52型的翼型。用於飛行訓練的機體會全機或機腹塗成橘紅色，拆除20mm機砲，僅有7.7mm訓練用機槍；而加裝座艙後得在機尾部份加上水平安定面，機輪沒有蓋子。\n永遠的0劇照 二戰早期駐紮於台灣的台南空盡出王牌，多在南洋創下戰果，例如坂井三郎、西澤廣義、太田敏夫等人。1943年成立二代目，除了裝備零式練戰外，也進駐了局地戰「雷電」和二式陸偵。\n台南空的基地就是現在的台南機場，考慮到最近的鄉鎮是仁德庄，所以畫了一排甘蔗。\n參考相片: 參考模型圖片，來源 ","date":"2021年5月9日","externalUrl":null,"permalink":"/posts/artwork-20210509/","section":"Artworks","summary":"第21海軍航空廠生產，所屬台南海軍航空隊(二代目) ，昭和19年，台南基地。\n機體番號 タイー1420 Pixiv連結\n原題目: Learning To Fly。出自Pink Floyd - Learning To Fly，因為零式練習戰鬥機是「教練機」…\n零式練習戰鬥機(A6M2-K)是以零式艦上戰鬥機21型修改成雙座，用作飛行訓練，後期型換成了52型的翼型。用於飛行訓練的機體會全機或機腹塗成橘紅色，拆除20mm機砲，僅有7.7mm訓練用機槍；而加裝座艙後得在機尾部份加上水平安定面，機輪沒有蓋子。\n永遠的0劇照 二戰早期駐紮於台灣的台南空盡出王牌，多在南洋創下戰果，例如坂井三郎、西澤廣義、太田敏夫等人。1943年成立二代目，除了裝備零式練戰外，也進駐了局地戰「雷電」和二式陸偵。\n台南空的基地就是現在的台南機場，考慮到最近的鄉鎮是仁德庄，所以畫了一排甘蔗。\n參考相片: 參考模型圖片，來源 ","title":"繪圖：台南空的零式練習戰鬥機，飛越甘蔗田","type":"artwork"},{"content":"","date":"2021年5月6日","externalUrl":null,"permalink":"/tags/david-bowie/","section":"標籤","summary":"","title":"David Bowie","type":"tags"},{"content":"","date":"2021年5月6日","externalUrl":null,"permalink":"/tags/republic-of-china-navy/","section":"標籤","summary":"","title":"Republic of China Navy","type":"tags"},{"content":"I\u0026rsquo;ll give you a man who wants to rule the world. Pixiv\n二戰結束後，日本海軍運氣最好的雪風號驅逐艦被賠償給中華民國，改名丹陽號繼續服役。艦隊Collection後來也實裝了「雪風改二」與「丹陽」的立繪，提督看到Japanese girl變成Chinese girl仍然保持微笑。\n不使用「我親愛的女孩」是因為女性不是男人的所有物，而應是對等的、平均的關係。儘管如此，這張圖不免還是透過低頭表現了傳統女性會有的矜持感。不該期望誰會說出讓我照顧你這種話，成就個人，尋求知己，仍保持獨立的是必要的。 自從祖國戰敗，做為賠償艦，國籍自動變更成中國籍，隨後來到台灣省。\n大大的動漫的眼睛在手塚治虫後變成了一種固定趨勢。但是時至今日，亞洲人的一般歧視印象依然存在，經典的把眼皮拉長就是常見、赤裸裸的種族歧視。所謂chink，也是等同nigger一字的嚴重歧視性字眼。\n大衛鮑伊在澳洲的時候，曾短暫了交了個華裔的紐西蘭女朋友，在MV中，他以做出一系列歧視動作當作一種反諷，然後在海灘上跟中國女孩大戰一場。歌曲是Iggy Pop在柏林時寫的，之後大衛鮑伊翻唱。 甚至還有，不用歐美人士歧視，中國網民也有歧視自己種族派系。管亞洲人叫黃猴子、小黃人、蜘蛛(支那豬)。最常見的就是「支那」，再加上從中國內部各種網路文化演化出「支黑」、「屠支大佐」等政治派系。能支持支黑理論有的認為是劉仲敬的學說，認為中國人德匹下，等到大洪水(共產黨被推翻)，進入亂世，中國人死了都是活該。另一個是針對毛澤東間接造成的死亡，以及中國官方意識形態宣傳的反動。\n由於反歧視運動的發展，針對中國人的歧視用語在社群網站可能會被封殺禁言，Facebook是抓最兇的，因為是仇恨言論的一環。\n政治正確不是壞事，當你還沒了解過前，怎能釋出敵意呢？女性主義者也不是不能結婚的。\n","date":"2021年5月6日","externalUrl":null,"permalink":"/posts/artwork-20210506/","section":"Artworks","summary":"I’ll give you a man who wants to rule the world. Pixiv\n二戰結束後，日本海軍運氣最好的雪風號驅逐艦被賠償給中華民國，改名丹陽號繼續服役。艦隊Collection後來也實裝了「雪風改二」與「丹陽」的立繪，提督看到Japanese girl變成Chinese girl仍然保持微笑。\n不使用「我親愛的女孩」是因為女性不是男人的所有物，而應是對等的、平均的關係。儘管如此，這張圖不免還是透過低頭表現了傳統女性會有的矜持感。不該期望誰會說出讓我照顧你這種話，成就個人，尋求知己，仍保持獨立的是必要的。 自從祖國戰敗，做為賠償艦，國籍自動變更成中國籍，隨後來到台灣省。\n大大的動漫的眼睛在手塚治虫後變成了一種固定趨勢。但是時至今日，亞洲人的一般歧視印象依然存在，經典的把眼皮拉長就是常見、赤裸裸的種族歧視。所謂chink，也是等同nigger一字的嚴重歧視性字眼。\n大衛鮑伊在澳洲的時候，曾短暫了交了個華裔的紐西蘭女朋友，在MV中，他以做出一系列歧視動作當作一種反諷，然後在海灘上跟中國女孩大戰一場。歌曲是Iggy Pop在柏林時寫的，之後大衛鮑伊翻唱。 甚至還有，不用歐美人士歧視，中國網民也有歧視自己種族派系。管亞洲人叫黃猴子、小黃人、蜘蛛(支那豬)。最常見的就是「支那」，再加上從中國內部各種網路文化演化出「支黑」、「屠支大佐」等政治派系。能支持支黑理論有的認為是劉仲敬的學說，認為中國人德匹下，等到大洪水(共產黨被推翻)，進入亂世，中國人死了都是活該。另一個是針對毛澤東間接造成的死亡，以及中國官方意識形態宣傳的反動。\n","title":"繪圖：China Girl 丹陽驅逐艦，對象不是David Bowie！？","type":"artwork"},{"content":"現在不需要這麼操作了，FGO戰鬥畫面已經支援60FPS。\n因為FGO是Unity寫的程式，所以我們可以利用「Unity60FPS」這個tweak，強制給FGO啟用全域60FPS，意即不只戰鬥畫面，連在管制室的動畫也都會是60FPS的。\n（本文討論的不是戰鬥加速器的外掛，僅是提昇遊戲畫面流暢度）\n台版FGO版本: 2.6.0\n效果參考影片： 這篇文章會先簡述取得越獄的過程，然後再安裝必要的app來達成上面影片目標。\n日版目前無效，且需要額外做防越獄偵測，否則會閃退。\n前置條件：已越獄的iOS裝置\n我的裝置：iPhone SE (第一代，A9處理器)\n首先要取得越獄，checkra1n這個工具支援iPhone X以前的裝置。\niOS 15以上使用palera1n越獄；iOS 15以前使用checkra1n\n測試當下我的裝置版本為iOS 14.6。首先到checkra1n的官網下載Linux版本 (x86-64結尾)，放在「下載」資料夾。參考這篇文章製作一個Ubuntu的開機USB，接著以LiveUSB開機，按著文章操作來把裝置越獄，等到Cydia出現在手機桌面上就是完成了。\n此時先不要重開機，因為checkra1n重開機後就會失效。Cydia開啟後若無法更新軟體源，進入iOS的多工介面滑掉，再重開，然後跑一下套件更新就可以了。\n設定防越獄偵測。台版不用，但是日版會閃退。因此需要使用到KernBypass插件。針對iOS 14.2以上，請使用這個unofficial版本，加入軟體源後用New Term 2打指令。\n安裝Unity60FPS的tweak。可以從BigBoss的軟體源搜尋到這個插件，如果沒有就手動到BigBoss官網下載，然後用Fileza安裝IPA。\n安裝完之後，還要到Cydia安裝Flex 3，這個插件的選項才會在iOS系統設定中顯示。\n安裝之後，開啟系統設定，滑到最下面找到Unity60FPS的設定。\n點選Choose Enabled Unity Games，點選FGO 接著Enable即可。\n關於越獄的其他資訊：\ncheckr1an主要用於iPhone X以前設備的漏洞來達成，重開機後越獄環境就會消失。如果越獄的裝置是主力機，除了不關機外，也可以考慮使用這個SafeShutdown這個tweak來待機。\n","date":"2021年5月1日","externalUrl":null,"permalink":"/posts/ios-fgo-enable-60-fps-jailbreak/","section":"所有文章","summary":"現在不需要這麼操作了，FGO戰鬥畫面已經支援60FPS。\n因為FGO是Unity寫的程式，所以我們可以利用「Unity60FPS」這個tweak，強制給FGO啟用全域60FPS，意即不只戰鬥畫面，連在管制室的動畫也都會是60FPS的。\n（本文討論的不是戰鬥加速器的外掛，僅是提昇遊戲畫面流暢度）\n台版FGO版本: 2.6.0\n效果參考影片： 這篇文章會先簡述取得越獄的過程，然後再安裝必要的app來達成上面影片目標。\n日版目前無效，且需要額外做防越獄偵測，否則會閃退。\n前置條件：已越獄的iOS裝置\n我的裝置：iPhone SE (第一代，A9處理器)\n首先要取得越獄，checkra1n這個工具支援iPhone X以前的裝置。\niOS 15以上使用palera1n越獄；iOS 15以前使用checkra1n\n測試當下我的裝置版本為iOS 14.6。首先到checkra1n的官網下載Linux版本 (x86-64結尾)，放在「下載」資料夾。參考這篇文章製作一個Ubuntu的開機USB，接著以LiveUSB開機，按著文章操作來把裝置越獄，等到Cydia出現在手機桌面上就是完成了。\n此時先不要重開機，因為checkra1n重開機後就會失效。Cydia開啟後若無法更新軟體源，進入iOS的多工介面滑掉，再重開，然後跑一下套件更新就可以了。\n設定防越獄偵測。台版不用，但是日版會閃退。因此需要使用到KernBypass插件。針對iOS 14.2以上，請使用這個unofficial版本，加入軟體源後用New Term 2打指令。\n","title":"【越獄】iOS版FGO透過Unity60FPS開啟高刷新率的方法","type":"posts"},{"content":"英文版標題: \u0026ldquo;Everyone in their right places\u0026quot;是來自Radiohead的歌曲\u0026quot;Everything In Its Right Place\u0026rdquo;，用Kid A詭異的電子音，標示著一個恐怖冷漠時代的開始。\nPixiv\n這張圖是我畫過最抽象的一張吧。\n此圖為概念的複合體，或許用不著這樣費勁的說明，看出圖中的端倪的人自會說：\n「這三小縫合怪? 都給你縫完了。」\n時雨、白露、夕立，由左到右依序代表：蘇聯集體農場、毛主席畫像、東德祕密警察史塔西。象徵過去冷戰時代極權主義的樣貌。\n\u0026hellip;史塔西制服很稀有，圖片資料不好找。\n在此劇，三人還分別賦予「羊、豬、狗」的角色，每個人自得其所，在社會上有固定的正確位置。私以為夕立的形象常常是(母)狗，聽話愛撒嬌，不過其實解作「統治者的工具亦無不可」。性的衝動 ———— 我對艦娘的性慾，對黨是危險的，黨就加以利用。\n時雨默默的付出，忍受蘇里高海峽的痛苦，在二季動畫裡面也可以看出盲從周遭的人，所以是羊。白露是大家的姊姊又沒存在感，所以要給予最高背後統治者的比喻，豬。\n「羊、豬、狗」此概念的來源是喬治歐威爾的小說《動物農莊》，基本上是諷刺蘇聯的寓言故事: 豬趕走了人類，率領動物建立自己的國度，經歷了鬥爭，豬逐漸奴役了其他動物，變得越來越像人。\n1977年Pink Floyd的概念專輯《Animals》以此再進行創作，針對狗的角色，Roger Waters說:「你必須欺騙信賴你的人，才能夠趁轉身時捅他們一刀。」 對羊又說：「你聽到新聞了嗎?狗兒死了!你最好待在家，乖乖做你該做的事，還想活下去的話就不要上街頭。」 壓迫羊的狗在被推翻後，羊自己也變成狗。或許能說與惡狗對抗，自身亦成為惡龍吧。\n整張專輯中，「長翅膀的豬」(Pigs on the Wing)都沒有太多戲份。可是Part 2卻說： 在豬的庇護下，我找到了相愛之人，有勇氣能面對未來。這個解讀或許樂觀了一點，因為「豬」一直高高盤旋在天空中，市井小民的生活難以危害到他，而狗與羊的鬥爭就讓他們去吧，誰也碰不到我。更黑暗一點的解讀，可延伸到喬治歐威爾另一部小說《１９８４》，老大哥(豬)在盯著你！我愛老大哥！ ","date":"2021年4月30日","externalUrl":null,"permalink":"/posts/artwork-20210430/","section":"Artworks","summary":"英文版標題: “Everyone in their right places\"是來自Radiohead的歌曲\"Everything In Its Right Place”，用Kid A詭異的電子音，標示著一個恐怖冷漠時代的開始。\nPixiv\n這張圖是我畫過最抽象的一張吧。\n此圖為概念的複合體，或許用不著這樣費勁的說明，看出圖中的端倪的人自會說：\n「這三小縫合怪? 都給你縫完了。」\n時雨、白露、夕立，由左到右依序代表：蘇聯集體農場、毛主席畫像、東德祕密警察史塔西。象徵過去冷戰時代極權主義的樣貌。\n…史塔西制服很稀有，圖片資料不好找。\n在此劇，三人還分別賦予「羊、豬、狗」的角色，每個人自得其所，在社會上有固定的正確位置。私以為夕立的形象常常是(母)狗，聽話愛撒嬌，不過其實解作「統治者的工具亦無不可」。性的衝動 ———— 我對艦娘的性慾，對黨是危險的，黨就加以利用。\n時雨默默的付出，忍受蘇里高海峽的痛苦，在二季動畫裡面也可以看出盲從周遭的人，所以是羊。白露是大家的姊姊又沒存在感，所以要給予最高背後統治者的比喻，豬。\n「羊、豬、狗」此概念的來源是喬治歐威爾的小說《動物農莊》，基本上是諷刺蘇聯的寓言故事: 豬趕走了人類，率領動物建立自己的國度，經歷了鬥爭，豬逐漸奴役了其他動物，變得越來越像人。\n","title":"繪圖：老大哥正看著你！Everyone in their right places，羊、豬、狗 Animals","type":"artwork"},{"content":"1937年至1945年，第二次世界大戰，日本派出許多架次轟炸機，殺死了許多中國平民。 Pixiv\nGoodbye Blue Sky，在九七式重爆黑影籠罩下，再會藍天，再會青天白日。\n旭日即將吃掉白日！\n這張圖我確實有仿造當時戰爭海報的風格繪製，例如日本常常配上軍事畫面，表面寫滿「日華親善」、「暴支膺懲」的文字，實則是宣揚帝國主義。\nPink Floyd的歌曲Goodbye Blue Sky，最初收錄於1979年的《The Wall》專輯。之後1982年的同名改編電影，實實在在的把這首歌的內容演了出來。 呼嗚嗚嗚嗚\u0026hellip;呼嗚嗚嗚嗚\u0026hellip;\nDid Did Did Did you see the frightened ones? 你你你你看到了那恐怖的身影了嗎？\nDid Did Did Did you hear the falling bombs? 你你你你聽到了落下的炸彈了嗎？\nDid you ever wonder why we had to run for shelter when the Promise of a brave new world unfurled beneath a clear blue Sky? 為什麼，他們承諾將在藍天下建成美麗新世界，我們還要躲到防空洞？\nThe flames are all long gone, but the pain lingers on. 即使火已熄滅，身上的傷痛依然存在。\n1940年，德軍意圖登陸英國，於是派出大批轟炸機飛往英國，爆發不列顛空戰。德軍主力為He-111和Ju-88，He-111那特殊的翼形宛如一隻大魟魚。\n儘管英國空軍奮力抵抗沒讓德軍取得制空權，但是英國城市仍遭到嚴重破壞。英國人躲在防空洞，看著城市遭到炸彈轟炸焚燒，烈焰充斥整個天空。\n再會！藍天！再會！藍天！\n在大約同時期的東方，也上演著這樣的慘劇。\n第二次中日戰爭初期，日本全面入侵中華民國，時值國軍全面潰敗之時，日本藉著航空優勢，派出大量轟炸機空襲中國主要城市。當時蔣中正想以空間換取時間，於是宣佈遷都重慶，大批部隊與政府機關搬到大後方。\n但是國民政府跑到哪裡，日本就炸到哪裡。此時日本已佔領中國沿海城市，可以進一步深入中國內陸轟炸了。日本海軍派出九六式陸攻，日本陸軍則是派出九七式重爆做長程轟炸，於是造成了「重慶大轟炸」，無數軍民死傷，中國空軍彼時只有蘇聯志願航空隊的力量能做點頑強的抵抗。在那之後，日本仍持續慘烈轟炸中國國土，逼迫蔣中正投降，讓青天白日隕落。\n然而中國終究沒有滅亡，二次大戰的最後，在美國幫助下中國成為戰勝國。\n","date":"2021年4月29日","externalUrl":null,"permalink":"/posts/artwork-20210429/","section":"Artworks","summary":"1937年至1945年，第二次世界大戰，日本派出許多架次轟炸機，殺死了許多中國平民。 Pixiv\nGoodbye Blue Sky，在九七式重爆黑影籠罩下，再會藍天，再會青天白日。\n旭日即將吃掉白日！\n這張圖我確實有仿造當時戰爭海報的風格繪製，例如日本常常配上軍事畫面，表面寫滿「日華親善」、「暴支膺懲」的文字，實則是宣揚帝國主義。\nPink Floyd的歌曲Goodbye Blue Sky，最初收錄於1979年的《The Wall》專輯。之後1982年的同名改編電影，實實在在的把這首歌的內容演了出來。 呼嗚嗚嗚嗚…呼嗚嗚嗚嗚…\nDid Did Did Did you see the frightened ones? 你你你你看到了那恐怖的身影了嗎？\nDid Did Did Did you hear the falling bombs? 你你你你聽到了落下的炸彈了嗎？\nDid you ever wonder why we had to run for shelter when the Promise of a brave new world unfurled beneath a clear blue Sky? 為什麼，他們承諾將在藍天下建成美麗新世界，我們還要躲到防空洞？\nThe flames are all long gone, but the pain lingers on. 即使火已熄滅，身上的傷痛依然存在。\n1940年，德軍意圖登陸英國，於是派出大批轟炸機飛往英國，爆發不列顛空戰。德軍主力為He-111和Ju-88，He-111那特殊的翼形宛如一隻大魟魚。\n儘管英國空軍奮力抵抗沒讓德軍取得制空權，但是英國城市仍遭到嚴重破壞。英國人躲在防空洞，看著城市遭到炸彈轟炸焚燒，烈焰充斥整個天空。\n","title":"繪圖：日本轟炸中國，再會青天白日 Goodbye Blue Sky","type":"artwork"},{"content":"When I come home, cold and tired. It\u0026rsquo;s good to warm my bones beside the fire.\n採買完了的金剛，坐在火爐旁等待那個人回來。 Pixiv\n請問，時光何處尋呢?\n先來個蘇聯笑話:\n勃列日涅夫即將訪問波蘭，波蘭當局命令一位著名畫家創作一幅名為《勃列日涅夫在波蘭》的大型油畫作為獻禮。很不情願的畫家在威逼下接受了工作。畫完成後，波蘭一高官前來驗收，結果讓他大吃一驚：畫面上是一男一女在豪華的大床上極盡纏綿，窗外的風景是克里姆林宮。 「這是什麼？這女的是誰？！」高官憤怒的問。 「勃列日涅夫的夫人。」畫家答道。 「男的呢？！」 「勃列日涅夫的秘書。」 「可勃列日涅夫同志在哪裡？」 「勃列日涅夫在波蘭。」畫家答道。\n當星期一來到，這首歌就越發真實與殘酷。\n平克佛洛伊德收錄在1973年《月之暗面》的〈時光〉一曲，揭示了人生的反覆:\n引用自William.Echoes的翻譯:\n不斷流逝，無聊日子的分分秒秒， 隨意地任憑自己浪費時間。 漫無目的在家鄉的一隅之地虛耗， 空等機運來為你指明方向 疲於躺在陽光底下，待在家裡觀雨落， 你還年輕，生命很長，還有時間給你殺。 不過總有一天，你發現已經過去了好幾年， 沒有人告訴你該何時起跑，你已錯過了槍聲。 然後你跑呀，跑呀，想要趕上太陽，但太陽已開始沉落， 它和你競賽，又在你的身後升起， 一樣的太陽，但相對來說，你又變老了， 每一年都變得越來越短，似乎永遠找不到時間， 任何計劃要嘛沒有執行，要嘛草草結束。 沉溺在安逸的絕望中，是英國人慣有的模式， 時間已逝，歌曲終了，但總覺得還有什麼要說… 家，又回到家了， 只要可以，我想一直待在這裡。 當我回到家，又冷又累， 在爐火旁，慢慢暖起我的身子，感覺真好。 從原野的另一端，來自教堂的鐘聲， 呼喚著信眾虔誠屈膝，聽取輕柔的魔咒。\n整張月之暗面的歌曲是連貫的，從\u0026quot;Breathe(In the Air)\u0026ldquo;就道出了人生不過是追求自己的一畝田地來生存，而當你強烈燃燒精力，就是早一步踏進墳墓。\n而在Time中，先是說時間容易流逝，總是盡力的想達成什麼，最後不是太晚就是後悔莫及，似乎每長大一點，人對時間的感覺就會越來越短。小時候覺得度日如年，長大後發現能擁有十分鐘都是萬幸。\n在面對現實的無奈之下，只有回到家可以讓我感覺到溫暖和放鬆，隨著舒適的氛圍，聽著遠方的鐘聲遠遠睡去。\n而那些苦惱與疑惑，如同Radiohead所唱的: just a normal chemical reaction，就讓他慢慢的消散\u0026hellip; 等到時間一到，再回歸現實(歌曲開頭的鬧鐘聲)。\n這首歌聽來迷幻，但是卻又深刻真實。如果稍嫌不足(I have something more to say\u0026hellip;)，就接續聽The Great Gig In The Sky一起鬼吼鬼叫吧:)\n","date":"2021年4月26日","externalUrl":null,"permalink":"/posts/artwork-20210426/","section":"Artworks","summary":"When I come home, cold and tired. It’s good to warm my bones beside the fire.\n採買完了的金剛，坐在火爐旁等待那個人回來。 Pixiv\n請問，時光何處尋呢?\n先來個蘇聯笑話:\n勃列日涅夫即將訪問波蘭，波蘭當局命令一位著名畫家創作一幅名為《勃列日涅夫在波蘭》的大型油畫作為獻禮。很不情願的畫家在威逼下接受了工作。畫完成後，波蘭一高官前來驗收，結果讓他大吃一驚：畫面上是一男一女在豪華的大床上極盡纏綿，窗外的風景是克里姆林宮。 「這是什麼？這女的是誰？！」高官憤怒的問。 「勃列日涅夫的夫人。」畫家答道。 「男的呢？！」 「勃列日涅夫的秘書。」 「可勃列日涅夫同志在哪裡？」 「勃列日涅夫在波蘭。」畫家答道。\n當星期一來到，這首歌就越發真實與殘酷。\n平克佛洛伊德收錄在1973年《月之暗面》的〈時光〉一曲，揭示了人生的反覆:\n引用自William.Echoes的翻譯:\n不斷流逝，無聊日子的分分秒秒， 隨意地任憑自己浪費時間。 漫無目的在家鄉的一隅之地虛耗， 空等機運來為你指明方向 疲於躺在陽光底下，待在家裡觀雨落， 你還年輕，生命很長，還有時間給你殺。 不過總有一天，你發現已經過去了好幾年， 沒有人告訴你該何時起跑，你已錯過了槍聲。 然後你跑呀，跑呀，想要趕上太陽，但太陽已開始沉落， 它和你競賽，又在你的身後升起， 一樣的太陽，但相對來說，你又變老了， 每一年都變得越來越短，似乎永遠找不到時間， 任何計劃要嘛沒有執行，要嘛草草結束。 沉溺在安逸的絕望中，是英國人慣有的模式， 時間已逝，歌曲終了，但總覺得還有什麼要說… 家，又回到家了， 只要可以，我想一直待在這裡。 當我回到家，又冷又累， 在爐火旁，慢慢暖起我的身子，感覺真好。 從原野的另一端，來自教堂的鐘聲， 呼喚著信眾虔誠屈膝，聽取輕柔的魔咒。\n","title":"繪圖：Time，金剛的時光哪去了？","type":"artwork"},{"content":"","date":"2021年4月21日","externalUrl":null,"permalink":"/tags/regia-marina/","section":"標籤","summary":"","title":"Regia Marina","type":"tags"},{"content":"未竟之夢，義大利航母Aquila，與其預定搭載的艦載機: Re.2001 OR。 Pixiv連結\nOR代表的是羅馬計畫，即整個航母建造計畫的名稱。Aquila在即將完工之際義大利就投降了，艦載機的計畫也跟著煙消雲散。\n在當時三家主要的飛機公司: 雷賈納、飛雅特、馬基生產的戰鬥機中，Re.2001雀屏中選。前型Re.2000更測試過在戰艦上發射起飛，而Re.2001的艦載機計畫就是在機腹安裝著艦鉤，並有「CB」型戰轟機以及「G」型的戰鬥魚雷機的改型。雖然運動性能不錯，但早期型的Re.2001火力有點悲劇，只有12.7mm機槍+7.7mm機槍。\n雖然說Re.2005也是預定的艦載機候選，不過圖片就真的找不到了，能參考的就是Re.2001的藍色塗裝。而艦隊Collection遊戲裡面我一直搞不懂為何機徽都變成日之丸，還有這個早期的立繪也少畫了機尾的十字架。 因此圖片中我改回代表義大利法西斯政權的束棒圓標 (這個似乎跟卐一樣是禁忌符號): 以及機身上的束棒: ","date":"2021年4月21日","externalUrl":null,"permalink":"/posts/artwork-20210421/","section":"Artworks","summary":"未竟之夢，義大利航母Aquila，與其預定搭載的艦載機: Re.2001 OR。 Pixiv連結\nOR代表的是羅馬計畫，即整個航母建造計畫的名稱。Aquila在即將完工之際義大利就投降了，艦載機的計畫也跟著煙消雲散。\n在當時三家主要的飛機公司: 雷賈納、飛雅特、馬基生產的戰鬥機中，Re.2001雀屏中選。前型Re.2000更測試過在戰艦上發射起飛，而Re.2001的艦載機計畫就是在機腹安裝著艦鉤，並有「CB」型戰轟機以及「G」型的戰鬥魚雷機的改型。雖然運動性能不錯，但早期型的Re.2001火力有點悲劇，只有12.7mm機槍+7.7mm機槍。\n雖然說Re.2005也是預定的艦載機候選，不過圖片就真的找不到了，能參考的就是Re.2001的藍色塗裝。而艦隊Collection遊戲裡面我一直搞不懂為何機徽都變成日之丸，還有這個早期的立繪也少畫了機尾的十字架。 因此圖片中我改回代表義大利法西斯政權的束棒圓標 (這個似乎跟卐一樣是禁忌符號): 以及機身上的束棒: ","title":"繪圖：義大利海軍夢中的景象 Re.2001 OR從航母出擊","type":"artwork"},{"content":"","date":"2021年4月16日","externalUrl":null,"permalink":"/tags/dikeniuzai/","section":"標籤","summary":"","title":"DiKeNiuZai","type":"tags"},{"content":"","date":"2021年4月16日","externalUrl":null,"permalink":"/tags/luftwaffe/","section":"標籤","summary":"","title":"Luftwaffe","type":"tags"},{"content":"Me-163「彗星」是納粹德國二戰時候使用的火箭戰鬥機，用於攔截萬米高空來襲的盟軍轟炸機。\n在艦隊Collection中，火箭戰鬥機是唯一可以有效擊落深海重爆轟炸機群的基地航空隊飛機。\n這張也是基於歌曲創作的ㄛ。 Pixiv連結\n迪克牛仔的《三萬英呎》 爬昇　速度將我推向椅背 （火箭機的G力誰受得了啊）\n模糊的城市慢慢地飛出我的視線 （我要保衛祖國德意志）\n呼吸　提醒我活著的証明 （高空飛行氧氣罩很重要）\n飛機正在抵抗地球　我正在抵抗你 （我抵抗上級蠻橫的命令，又要抵抗空中的敵人）\n遠離地面　快接近三萬英尺的距離 （看到轟炸機群了）\n思念像黏著身體的引力　還拉著淚不停地往下滴 （火箭快沒油了）\n逃開了你　我躲在三萬英尺的雲底 （掃射一輪後，準備用滑翔的降落）\n每一次穿過亂流的突襲　緊緊地靠在椅背上的我 （小心不要被化學燃料腐蝕身體了）\n以為　還擁你在懷裏 （可惡怎麼沒有打下來）\n玩Ｗar Thunder都可以感受的到的心情，爬升進入三萬英呎(約9000公尺)高空，來到無人之境，至少二戰以前很難有飛機能達到這個高度\u0026hellip;\n但最討厭在歷史模式遇到敵方轟炸機躲在超高空拖局，真是各種惡意。\n為躲避德軍的防空炮，B-17轟炸機群也會飛在三萬英呎高度。西線戰場的攔截戰與空中戰，相較於東線都是發生在偏高空居多。\n對有研發增壓器技術的兩邊陣營還不是問題，只不過B-17的乘組員還挺冷的，畢竟沒有B-29的加壓座艙。後期德國將Me-163「彗星」投入使用，憑藉化學燃料達到如同火箭一般的超快爬升速度，代價就是續航力不到十分鐘，攔截任務亦比噴射機Me-262要困難許多。失去動力後只能滑翔降落，增加被P-51等盟軍護航機追殺擊落的風險。更不要說燃料破裂，會把人給融化的。因此Me-163只適合用於工廠周邊快速升空攔截之用。\n本機塗裝是屬於2./JG.400的白色13，1945年初部屬在布蘭迪斯。(參考模型繪製)\n遠處的是被深海棲艦挾持的人類軍B-17(強襲魔女涅洛伊並感，只差沒附身上去)，和深海高空章魚燒（重爆）。\n","date":"2021年4月16日","externalUrl":null,"permalink":"/posts/artwork-20210416/","section":"Artworks","summary":"Me-163「彗星」是納粹德國二戰時候使用的火箭戰鬥機，用於攔截萬米高空來襲的盟軍轟炸機。\n在艦隊Collection中，火箭戰鬥機是唯一可以有效擊落深海重爆轟炸機群的基地航空隊飛機。\n這張也是基於歌曲創作的ㄛ。 Pixiv連結\n迪克牛仔的《三萬英呎》 爬昇　速度將我推向椅背 （火箭機的G力誰受得了啊）\n模糊的城市慢慢地飛出我的視線 （我要保衛祖國德意志）\n呼吸　提醒我活著的証明 （高空飛行氧氣罩很重要）\n飛機正在抵抗地球　我正在抵抗你 （我抵抗上級蠻橫的命令，又要抵抗空中的敵人）\n遠離地面　快接近三萬英尺的距離 （看到轟炸機群了）\n思念像黏著身體的引力　還拉著淚不停地往下滴 （火箭快沒油了）\n逃開了你　我躲在三萬英尺的雲底 （掃射一輪後，準備用滑翔的降落）\n每一次穿過亂流的突襲　緊緊地靠在椅背上的我 （小心不要被化學燃料腐蝕身體了）\n以為　還擁你在懷裏 （可惡怎麼沒有打下來）\n玩Ｗar Thunder都可以感受的到的心情，爬升進入三萬英呎(約9000公尺)高空，來到無人之境，至少二戰以前很難有飛機能達到這個高度…\n但最討厭在歷史模式遇到敵方轟炸機躲在超高空拖局，真是各種惡意。\n為躲避德軍的防空炮，B-17轟炸機群也會飛在三萬英呎高度。西線戰場的攔截戰與空中戰，相較於東線都是發生在偏高空居多。\n","title":"繪圖：Me-163B，遠離地面，快接近三萬英尺的距離","type":"artwork"},{"content":"","date":"2021年4月10日","externalUrl":null,"permalink":"/tags/jay-chou/","section":"標籤","summary":"","title":"Jay Chou","type":"tags"},{"content":" Pixiv 注意：這張圖有18禁版的孿生作品。\n趁時間沒發覺，讓我帶著你離開。沒有了証明，沒有了空虛。基於兩種立場我會罩著你。\n早期周杰倫發片時，就勇於寫出不押韻的神曲，述說他與過去的自己的分裂。 MV的內容確實演出了過去與自己的衝突，因此可以肯定並不是我以前小時候聽得以為是情歌那樣簡單。與其說是向誰伸出一起走吧的手，倒不如說是配合著淡水河蔭藍的風景，看向過去的自己。\n我十分喜歡首歌，甚至以前寫國中作文向大家介紹過這首，可惜沒人知道。\n順帶再說一下，周杰倫寫的詞知乎網友認為會比方文山現實的多。當然早期受盡壓力才功成名就，寫出的更是擁有它的一股特色。例如半島鐵盒的詞就是一絕，各種轉品化用的意象，不當歌手還可以當個現代詩人。\n而分裂，就是帶著淡淡的憂傷，向著過去招手，然後道別。\n這張相片用Lighroom調過後變得有點像僵屍\u0026hellip;\n而原本要畫的是另一個主題，放在Pixiv上。 (慎入)\n主題是Spilt，引用Cheong K lyrics的英文版翻譯修改成\u0026quot;We are going to split up and become weak.\u0026quot;，表達的是: 戴上（套子）之後，隔閡彼此，傾洩而出，成為孱弱。\n巴哈姆特的幽影回覆: 「從前種種，譬如昨日死；以後種種，譬如今日生。是類似這樣的概念嗎？」\n","date":"2021年4月10日","externalUrl":null,"permalink":"/posts/artwork-20210410/","section":"Artworks","summary":" Pixiv 注意：這張圖有18禁版的孿生作品。\n趁時間沒發覺，讓我帶著你離開。沒有了証明，沒有了空虛。基於兩種立場我會罩著你。\n早期周杰倫發片時，就勇於寫出不押韻的神曲，述說他與過去的自己的分裂。 MV的內容確實演出了過去與自己的衝突，因此可以肯定並不是我以前小時候聽得以為是情歌那樣簡單。與其說是向誰伸出一起走吧的手，倒不如說是配合著淡水河蔭藍的風景，看向過去的自己。\n我十分喜歡首歌，甚至以前寫國中作文向大家介紹過這首，可惜沒人知道。\n順帶再說一下，周杰倫寫的詞知乎網友認為會比方文山現實的多。當然早期受盡壓力才功成名就，寫出的更是擁有它的一股特色。例如半島鐵盒的詞就是一絕，各種轉品化用的意象，不當歌手還可以當個現代詩人。\n而分裂，就是帶著淡淡的憂傷，向著過去招手，然後道別。\n這張相片用Lighroom調過後變得有點像僵屍…\n而原本要畫的是另一個主題，放在Pixiv上。 (慎入)\n主題是Spilt，引用Cheong K lyrics的英文版翻譯修改成\"We are going to split up and become weak.\"，表達的是: 戴上（套子）之後，隔閡彼此，傾洩而出，成為孱弱。\n巴哈姆特的幽影回覆: 「從前種種，譬如昨日死；以後種種，譬如今日生。是類似這樣的概念嗎？」\n","title":"繪圖：分裂的霞，趁時間沒發覺讓我帶著妳離開","type":"artwork"},{"content":"","date":"2021年3月30日","externalUrl":null,"permalink":"/tags/sodom/","section":"標籤","summary":"","title":"Sodom","type":"tags"},{"content":" 標題出自德國金屬樂團Sodom，1997年的專輯《\u0026lsquo;Til Death Do Us Unite》，封面是一個肥胖男人和一名懷孕女子頂著骷髏頭。 翻譯為中文就是：直到死亡讓我們倆相聚。依照此理念，延伸創作了如下圖片。嘗試在乳房在畫了表示懷孕一段時間的乳腺，卻忽略掉了肚皮。並且乳房畫得太小了，不符艦娘人設定形象。 Pixiv連結\n身為日本最大戰艦的武藏與大和號，先後被美軍轟炸機攻擊沈沒，所以魚雷跟她們艦娘倆的關係很深啊。\n武藏1944年在菲律賓外海被擊沉，大和1945年在沖繩外海被擊沉。\n這是那個人給予我們的祝福 —— 除了有偌大的肚子外，乳頭上布滿乳腺的血管。現在肚皮還是光滑，未來肚子上也會擴散過去線條，出現妊娠紋吧。啊啊未來的希望，隨著肚皮的大小逐漸擴張著。 得頂著無數的疼痛，所幸大和旅館有冰淇淋安慰，海軍司令官也曾經關照大和許多次。大和獲得了其他人沒有的特權，在背後安穩的孕育著胎兒。\n\u0026hellip;而我在戰局無望，背負著希望負擔出擊的當下，一發轟雷震天響！速度慢下來了嗎\u0026hellip;跟不上前面的艦隊了。在那之後，映入眼簾的便是藍色的泡沫。\n\u0026hellip;\u0026hellip;.我想我知道妳的感受了，在身邊只有驅逐艦環繞的當下，我只能揣著身子，無力的對空射擊。在那之後，一發雷擊將我撕成兩半。\n武藏都已經先走了，在孤獨的沖繩近海，我怎麼能不去追隨妳呢！？\n現在我們終於在一起了，可是為什麼周遭一片漆黑，魚雷還在我們肚子上？\n人世間每個人都會有一個希望，希望的樣子在死後會保留下來，那個希望當然就是新生命的誕生。\n魚雷不落下就不會引爆引信，肚子裡的生命盡力的撐住這一切。\n我說，放下吧，生命走到這裡了。我們的乳汁不再分泌，妊娠紋不會長出在肚皮上，臨盆的痛苦不會有體驗。\n或者，妳願意維持這樣，讓這一刻成為永恆，讓我們永遠懷著那個人不遺忘、那個國家的希望、那個擁有新生命的渴望。\n在子宮口流下最後一滴羊水後，我選擇了放下。Unite，聯合艦隊，未來一同航行。\n隨後一道白光襲來。\nDeep in the ocean. Your eyes. They turn me. Readiohead這樣在Weird Fishes唱道。\n這裡躺著的是原本不可能在一起的艦船殘骸。\n","date":"2021年3月30日","externalUrl":null,"permalink":"/posts/artwork-20210330/","section":"Artworks","summary":" 標題出自德國金屬樂團Sodom，1997年的專輯《‘Til Death Do Us Unite》，封面是一個肥胖男人和一名懷孕女子頂著骷髏頭。 翻譯為中文就是：直到死亡讓我們倆相聚。依照此理念，延伸創作了如下圖片。嘗試在乳房在畫了表示懷孕一段時間的乳腺，卻忽略掉了肚皮。並且乳房畫得太小了，不符艦娘人設定形象。 Pixiv連結\n身為日本最大戰艦的武藏與大和號，先後被美軍轟炸機攻擊沈沒，所以魚雷跟她們艦娘倆的關係很深啊。\n武藏1944年在菲律賓外海被擊沉，大和1945年在沖繩外海被擊沉。\n這是那個人給予我們的祝福 —— 除了有偌大的肚子外，乳頭上布滿乳腺的血管。現在肚皮還是光滑，未來肚子上也會擴散過去線條，出現妊娠紋吧。啊啊未來的希望，隨著肚皮的大小逐漸擴張著。 ","title":"繪圖：直到死亡讓我們倆相聚，武藏與大和 Until Death Do Us Unite.","type":"artwork"},{"content":"這個世界瘋了，持續將女人束縛著。\nPixiv\n1989年，由英國樂團驚懼之淚(Tears for Fears)發表的單曲 Woman in chains 獲得很不錯的回響，後收錄在專輯The Seeds of Love中。女聲的部分與Oleta Adams合作，Angela Alvarado則飾演MV的女主角。 在艦これ中，迅鯨和大鯨、鳳翔是作為後備角色，負責照顧大家的形象，令我跟電視劇中的阿信 (おしん) 聯想在一起，屬於那種舊時代的女性，便容易認為有那個時代的苦衷屬性存在。\n即使是在西方社會，女權運動的提升也要經過一百多年才趨成熟。1969年有一首歌In the Year 2525，光是第一句就憂心地指出:「2025年時，女性是否還能生存?」\nMV的劇情具體的描述了歌詞的內容，如果女人只能受男人宰制，這個世界就繼續瘋下去吧。 有說法稱這首歌是女性主義國歌，如果分段來看，確實是在描寫女性遭受的壓迫，具體可以參考這一篇。\n最後，這首歌似乎還沒有中文譯本，因此獻醜翻譯了一番：驚懼之淚 - 被束縛的女人\n","date":"2021年3月27日","externalUrl":null,"permalink":"/posts/artwork-20210327/","section":"Artworks","summary":"這個世界瘋了，持續將女人束縛著。\nPixiv\n1989年，由英國樂團驚懼之淚(Tears for Fears)發表的單曲 Woman in chains 獲得很不錯的回響，後收錄在專輯The Seeds of Love中。女聲的部分與Oleta Adams合作，Angela Alvarado則飾演MV的女主角。 在艦これ中，迅鯨和大鯨、鳳翔是作為後備角色，負責照顧大家的形象，令我跟電視劇中的阿信 (おしん) 聯想在一起，屬於那種舊時代的女性，便容易認為有那個時代的苦衷屬性存在。\n即使是在西方社會，女權運動的提升也要經過一百多年才趨成熟。1969年有一首歌In the Year 2525，光是第一句就憂心地指出:「2025年時，女性是否還能生存?」\nMV的劇情具體的描述了歌詞的內容，如果女人只能受男人宰制，這個世界就繼續瘋下去吧。 有說法稱這首歌是女性主義國歌，如果分段來看，確實是在描寫女性遭受的壓迫，具體可以參考這一篇。\n最後，這首歌似乎還沒有中文譯本，因此獻醜翻譯了一番：驚懼之淚 - 被束縛的女人\n","title":"繪圖：Woman in chains 迅鯨，被束縛的女人","type":"artwork"},{"content":"Pui Pui Molcar - Guinea Pig Cars Addon\n在Minecraft中加入馬鈴薯、阿比、西羅摩、泰迪、巧克力等5輛天竺鼠車車!\n可以用胡蘿蔔馴服變成你的車車，可以餵食小麥胡蘿蔔和乾草! 還可以讓他們坐下。 感謝戀Koi的影片介紹：\n下載：\nhttps://linkvertise.com/154340/PuiPuiMolcarAddon?o=sharing\nMinecraft Add-On安裝教學\n","date":"2021年3月23日","externalUrl":null,"permalink":"/posts/minecraft-pui-pui-molcar-add-on/","section":"Minecrafts","summary":"Pui Pui Molcar - Guinea Pig Cars Addon\n在Minecraft中加入馬鈴薯、阿比、西羅摩、泰迪、巧克力等5輛天竺鼠車車!\n可以用胡蘿蔔馴服變成你的車車，可以餵食小麥胡蘿蔔和乾草! 還可以讓他們坐下。 感謝戀Koi的影片介紹：\n下載：\nhttps://linkvertise.com/154340/PuiPuiMolcarAddon?o=sharing\nMinecraft Add-On安裝教學\n","title":"【自製模組】Pui Pui 天竺鼠車車 Minecraft Add-On","type":"minecraft"},{"content":"Yes, she was awful nice. Really quite out of sight. 松風在神風型艦娘裡面，算是很酷很紳士的女孩。 Pixiv\n原文本來就是he，不過這裡就\u0026hellip;算了，松風也穿得很中性不是嗎。Lady Stardust出自1972年大衛鮑伊的專輯《The Rise and Fall of Ziggy Stardust and the Spiders from Mars》 直翻為Ziggy Stardust和火星蜘蛛樂團的生與死。(伍佰與China Blue的概念?)\n這張專輯改變了搖滾界，整張可以視為一個鬆散的概念專輯，講述地球還有5年就要毀滅，外星人Ziggy Stardust來拯救世界的故事。但最後這位搖滾星君卻自殺了，或說被樂迷殺死。總之，事後參與錄製的團員，包括鮑伊自己都說:「這張專輯只有3首有連貫的故事歌曲，和其他歌曲加在一起。」 (Alan Light, 2016)\n在專輯推出後的一年巡迴後，後來擁有變色龍之稱的鮑伊在舞台上親手把Ziggy Stardust這個角色殺死了，開始扮演他創造的下一個人格，且每幾年就換一種造型，準確地說他會不斷創造新的虛擬人格，讓自己在台上台下都扮演著另外一個自己。他亦曾嘲諷過青少年像螞蟻，一下迷這個又迷那個。\nLady Stardust的大意是描述樂團的表演狀況，Ziggy Stardust和火星蜘蛛聚在一起，進行表演。亦有說法稱這是鮑伊在側寫他的合作夥伴兼競爭對手Marc Bolan。(Neil Anderson, 2019)\n更多關於David Bowie和這張專輯的背景故事可以參考PTT DavidBowie板的這篇文章閒聊 David Bowie小簡介。\n在1970年代，大衛鮑伊以華麗的姿態在台上表演，在男性和女性的外表間切換，並且在之後發掘自己雙性戀的性向。\nReferences\nLight, A. 2016. ‘Ziggy Stardust’: How Bowie Created the Alter Ego That Changed Rock. Retrieved from https://www.rollingstone.com/music/music-news/ziggy-stardust-how-bowie-created-the-alter-ego-that-changed-rock-55254/)\nAnderson, N. 2019. What is the song Lady Stardust about? Retrieved from https://www.quora.com/What-is-the-song-Lady-Stardust-about\n","date":"2021年3月19日","externalUrl":null,"permalink":"/posts/artwork-20210319/","section":"Artworks","summary":"Yes, she was awful nice. Really quite out of sight. 松風在神風型艦娘裡面，算是很酷很紳士的女孩。 Pixiv\n原文本來就是he，不過這裡就…算了，松風也穿得很中性不是嗎。Lady Stardust出自1972年大衛鮑伊的專輯《The Rise and Fall of Ziggy Stardust and the Spiders from Mars》 直翻為Ziggy Stardust和火星蜘蛛樂團的生與死。(伍佰與China Blue的概念?)\n這張專輯改變了搖滾界，整張可以視為一個鬆散的概念專輯，講述地球還有5年就要毀滅，外星人Ziggy Stardust來拯救世界的故事。但最後這位搖滾星君卻自殺了，或說被樂迷殺死。總之，事後參與錄製的團員，包括鮑伊自己都說:「這張專輯只有3首有連貫的故事歌曲，和其他歌曲加在一起。」 (Alan Light, 2016)\n在專輯推出後的一年巡迴後，後來擁有變色龍之稱的鮑伊在舞台上親手把Ziggy Stardust這個角色殺死了，開始扮演他創造的下一個人格，且每幾年就換一種造型，準確地說他會不斷創造新的虛擬人格，讓自己在台上台下都扮演著另外一個自己。他亦曾嘲諷過青少年像螞蟻，一下迷這個又迷那個。\nLady Stardust的大意是描述樂團的表演狀況，Ziggy Stardust和火星蜘蛛聚在一起，進行表演。亦有說法稱這是鮑伊在側寫他的合作夥伴兼競爭對手Marc Bolan。(Neil Anderson, 2019)\n","title":"繪圖：Lady Stardust 松風，Ziggy Stardust降臨","type":"artwork"},{"content":"","date":"2021年3月12日","externalUrl":null,"permalink":"/tags/don-mclean/","section":"標籤","summary":"","title":"Don McLean","type":"tags"},{"content":"去掉黑幕的版本。 Pixiv連結\n\u0026ldquo;The day music died.\u0026rdquo; 「音樂死去的那一天。」\n修但幾嘞，這裡說的不是那部拍了好幾集的電影，而是美國歌手唐·麥克林 (Don McLean) 在1971年發表的\u0026quot;American Pie\u0026quot;，千禧年時瑪丹娜也有翻唱這首歌。長達8分鐘的歌曲，道盡了美國在二戰之後經歷經濟復甦、60年代搖滾樂開始流行起來、黑人民權運動，以及美國捲入越戰，直到最後嬉皮精神的沒落等。 歌曲中不斷重複的\u0026quot;The day music die\u0026quot;指的是1959年2月3日愛荷華州的一場空難，帶走了麥可林最喜歡的三位巨星: Buddy Holly、Big Bopper和Ritchie Valens。(小八卦: BB-61愛荷華戰艦是在布魯克林造船廠建造的)剩下的就是對過去的感慨，披頭四引起的英倫入侵，還帶來滾石樂團搞破壞。巴布狄倫後期風格的轉變，還有與反(越)戰運動一起興起的嬉皮士，在1969年的愛之夏後，此精神已不復存在。另外可以參照老鷹樂團的「加州旅館」這首歌，當中\u0026quot;We haven\u0026rsquo;t had that spirit here, since nineteen sixty nine.\u0026ldquo;也有類似的暗示。\n1966年，時代雜誌的封面寫著大大的紅字: Is God Dead?\n當然，音樂並沒有在1960年代真的死去，後來搖滾樂一直蓬勃發展到1990年代，延伸出各式各樣的派系。不如說現在的主流音樂才是\u0026hellip;\n","date":"2021年3月12日","externalUrl":null,"permalink":"/posts/artwork-20210312/","section":"Artworks","summary":"去掉黑幕的版本。 Pixiv連結\n“The day music died.” 「音樂死去的那一天。」\n修但幾嘞，這裡說的不是那部拍了好幾集的電影，而是美國歌手唐·麥克林 (Don McLean) 在1971年發表的\"American Pie\"，千禧年時瑪丹娜也有翻唱這首歌。長達8分鐘的歌曲，道盡了美國在二戰之後經歷經濟復甦、60年代搖滾樂開始流行起來、黑人民權運動，以及美國捲入越戰，直到最後嬉皮精神的沒落等。 歌曲中不斷重複的\"The day music die\"指的是1959年2月3日愛荷華州的一場空難，帶走了麥可林最喜歡的三位巨星: Buddy Holly、Big Bopper和Ritchie Valens。(小八卦: BB-61愛荷華戰艦是在布魯克林造船廠建造的)剩下的就是對過去的感慨，披頭四引起的英倫入侵，還帶來滾石樂團搞破壞。巴布狄倫後期風格的轉變，還有與反(越)戰運動一起興起的嬉皮士，在1969年的愛之夏後，此精神已不復存在。另外可以參照老鷹樂團的「加州旅館」這首歌，當中\"We haven’t had that spirit here, since nineteen sixty nine.“也有類似的暗示。\n1966年，時代雜誌的封面寫著大大的紅字: Is God Dead?\n當然，音樂並沒有在1960年代真的死去，後來搖滾樂一直蓬勃發展到1990年代，延伸出各式各樣的派系。不如說現在的主流音樂才是…\n","title":"繪圖：American Pie，愛荷華，音樂死去的那一天。","type":"artwork"},{"content":"昏睡之中，夢到紅茶，做個好夢，金剛。 Pixiv\nNice dream, if you think that you are strong enough. But the sea would electrocute us all.\n雖說憑我的技術難以重現專輯封面質感。但我確實做了一個好夢。\n構圖取材自英國樂團Radiohead在1995年發行的專輯《The Bends》。 原專輯封面是一個CPR訓練用的人偶，因為設計師Stanley Donwood正好在醫院裡面發現這個人的臉龐很適合表達高興又哀傷的表情，因此相中後，成為專輯封面。\n值得一提的是，專輯封面的雜訊是拍螢幕所獲得的效果(在現代我們稱之為genius meme?)，以及紅色的Radiohead字樣因Thom Yorke的堅持而沒有維持在正中間。\nThe Bends專輯歌曲中的Nice Dream，這首歌曾出現在美劇《HIMYM》中。\n","date":"2021年3月7日","externalUrl":null,"permalink":"/posts/artwork-20210307/","section":"Artworks","summary":"昏睡之中，夢到紅茶，做個好夢，金剛。 Pixiv\nNice dream, if you think that you are strong enough. But the sea would electrocute us all.\n雖說憑我的技術難以重現專輯封面質感。但我確實做了一個好夢。\n構圖取材自英國樂團Radiohead在1995年發行的專輯《The Bends》。 原專輯封面是一個CPR訓練用的人偶，因為設計師Stanley Donwood正好在醫院裡面發現這個人的臉龐很適合表達高興又哀傷的表情，因此相中後，成為專輯封面。\n值得一提的是，專輯封面的雜訊是拍螢幕所獲得的效果(在現代我們稱之為genius meme?)，以及紅色的Radiohead字樣因Thom Yorke的堅持而沒有維持在正中間。\nThe Bends專輯歌曲中的Nice Dream，這首歌曾出現在美劇《HIMYM》中。\n","title":"繪圖：做個好夢 Nice Dream，金剛","type":"artwork"},{"content":"整理房間，挖出黑歷史了。\n［此處埋著章魚哥的希望和夢想］(指畫圖和寫作) 櫃子裡放著一疊厚厚的第一手史料：國中聯絡簿，舊日記，以及從國小到高中的繪圖本。\n古代的漢朝的司馬遷都知道記錄更早以前歷史的重要，因此在沉迷手機前，聯絡簿的日記和我私下的日記是很認真在寫的，並且以史官的筆法記述，此外還有被扼殺的繪圖作品。\n以前投稿到港明高中校社刊的仿畫刀艦亂舞。使用掃描app自動修正掃描出來的品質比用相機拍好一點。 這些資料若直接丟掉，我絕對會殺了撿起來看的人（模仿監獄學園花學姐的台詞）然後再自殺。因此在燒掉之前先進行簡單數位化作業。 雖然沒有專業的掃描儀（去學校圖書館借掃描機感覺很尷尬），但是可以用Office Lens等用手機相機掃描文件的app。不過OfficeLens的操作僅適合掃描少量文件，後來找到了vFlat Scan這個app，很適合掃描大量書本。\n簡易的裝置圖，用沒有避震效果的腳架夾著手機向下拍攝。 在進入vFlat後把手機橫過來，開啟雙頁模式，然後按照鏡頭顯示的數字來切換書的起始方向。\n在調整角架時要讓綠色球維持在圓圈中心內，表示水平。 開啟設定，關閉增強（否則拍出來的相片會變成漫畫風），以及開啟自動儲存到圖庫（用於連續拍攝而不用點確認）。之後點拍照鍵就可以了，右下角還可以建立資料夾來分類掃描的照片。 看著這些資料真是感慨萬千，小時候聽的周杰倫的上海1943這句話最能形容這種惆悵：\n「裝滿了明信片的鐵盒裡藏著一片玫瑰花瓣。」\n憑藉著破碎的記憶回想了起來，日記裡面寫滿了當時的想法以及感情，國中是我覺得人生最美好的時刻，最後在讀到升學型高中之後灰飛煙滅。\n那種不成熟的愛戀，自大的英文能力，唯一還有朋友的時候。\n國中以前畫的畫實在太恐怖了，尤其還有一堆自創角色和寫小說。 最後是尷尬的高中回顧時刻，連仿畫都能畫崩。\n剩下未公開的畫作數量就跟Beatles的demo帶一樣。 (這邊不是我畫的，但是是港明高中ACG社團內少見的同好) 雖然我不後悔加入過漫研社，但可驗證了百聞不如一見的感覺。這個社團就\u0026hellip;很鬆散，上課都不知道在幹嘛，雖然偶爾會上一些正經的理論分析，不過大部份時候好像都在耍廢。 ","date":"2021年2月16日","externalUrl":null,"permalink":"/posts/use-vflat-to-scan-my-artworks/","section":"Artworks","summary":"整理房間，挖出黑歷史了。\n［此處埋著章魚哥的希望和夢想］(指畫圖和寫作) 櫃子裡放著一疊厚厚的第一手史料：國中聯絡簿，舊日記，以及從國小到高中的繪圖本。\n古代的漢朝的司馬遷都知道記錄更早以前歷史的重要，因此在沉迷手機前，聯絡簿的日記和我私下的日記是很認真在寫的，並且以史官的筆法記述，此外還有被扼殺的繪圖作品。\n以前投稿到港明高中校社刊的仿畫刀艦亂舞。使用掃描app自動修正掃描出來的品質比用相機拍好一點。 這些資料若直接丟掉，我絕對會殺了撿起來看的人（模仿監獄學園花學姐的台詞）然後再自殺。因此在燒掉之前先進行簡單數位化作業。 雖然沒有專業的掃描儀（去學校圖書館借掃描機感覺很尷尬），但是可以用Office Lens等用手機相機掃描文件的app。不過OfficeLens的操作僅適合掃描少量文件，後來找到了vFlat Scan這個app，很適合掃描大量書本。\n簡易的裝置圖，用沒有避震效果的腳架夾著手機向下拍攝。 在進入vFlat後把手機橫過來，開啟雙頁模式，然後按照鏡頭顯示的數字來切換書的起始方向。\n在調整角架時要讓綠色球維持在圓圈中心內，表示水平。 開啟設定，關閉增強（否則拍出來的相片會變成漫畫風），以及開啟自動儲存到圖庫（用於連續拍攝而不用點確認）。之後點拍照鍵就可以了，右下角還可以建立資料夾來分類掃描的照片。 ","title":"透過vFlat Scan，沒有掃描機也能把紙本繪圖數位化。整理國高中以前的舊繪圖","type":"artwork"},{"content":"Hallucigenia \u0026amp; Villager Titan\n又是為了繁殖嗎\u0026hellip;\n這個是在《進擊的巨人》漫畫連載剛提到怪誕蟲與始祖巨人關係時做的Minecraft Add-On。\n怪誕蟲(Hallucigenia)，原本只是生存於好幾千萬年前的生物。 現在為了延續，他們會主動接近村民，一陣雷聲之後，將他們變成「純潔巨人」，從此成為只會吃其他村民的怪物。\n*巨人褲子是投稿到MCPEDL時應站方要求加上的，不然應該是裸體。 另外也可以使用巨人針打村民，使其巨人化。（這裡的設定，村民都是艾爾迪亞人！）\n你可以另外裝立體機動裝置Add-On之類的模組討伐他們。\n村民巨人被殺死後，怪誕蟲會跑出來，尋找下一個宿主。\n下載：\nhttps://linkvertise.com/154340/hallucigeniaaddon?o=sharing\nMinecraft Add-On安裝教學\n","date":"2021年2月12日","externalUrl":null,"permalink":"/posts/minecraft-hallucigenia-and-villager-titan-add-on/","section":"Minecrafts","summary":"Hallucigenia \u0026 Villager Titan\n又是為了繁殖嗎…\n這個是在《進擊的巨人》漫畫連載剛提到怪誕蟲與始祖巨人關係時做的Minecraft Add-On。\n怪誕蟲(Hallucigenia)，原本只是生存於好幾千萬年前的生物。 現在為了延續，他們會主動接近村民，一陣雷聲之後，將他們變成「純潔巨人」，從此成為只會吃其他村民的怪物。\n*巨人褲子是投稿到MCPEDL時應站方要求加上的，不然應該是裸體。 另外也可以使用巨人針打村民，使其巨人化。（這裡的設定，村民都是艾爾迪亞人！）\n你可以另外裝立體機動裝置Add-On之類的模組討伐他們。\n村民巨人被殺死後，怪誕蟲會跑出來，尋找下一個宿主。\n下載：\nhttps://linkvertise.com/154340/hallucigeniaaddon?o=sharing\nMinecraft Add-On安裝教學\n","title":"【自製模組】怪誕蟲與村民，進擊的巨人 Minecraft Add-On","type":"minecraft"},{"content":"《第三少女飛行隊》，簡稱《三女》是一部劇中劇，為2015年動畫《白箱》裡面製作的虛構動畫，後來真的交給動畫工作室做一集出來了！作為BD特典附贈。另外一個真的有做出來特典是偶像逃亡動畫《Exodus》。 水島努監督品質保證，這是一部很有趣的劇中劇，或許有發展成為現代空戰題材的潛力！\n《第三少女飛行隊》與《白箱》現在可以在巴哈姆特動畫瘋觀看!\n《第三少女飛行隊》劇情特點 # 《第三少女飛行隊》描述4年前突然出現的謎之敵人「Builder」侵略世界，先進的電子設備全部失效。人類處於只能運用1970年代以前飛機的狀況。這部作品描繪的是調布基地「地獄愛麗絲」第307飛行隊少女們的戰鬥。 如同白箱整部都在惡搞一樣，角色的名字也取得很有趣。\n春夏秋冬阿莉亞 (春夏秋冬ありあ) 座機: 三菱F-1 凱瑟琳·韋拉 (キャサリン・ウェラー) 國籍: 美國 座機: F-4 Phantom II 諾亞·阿什肯納齊 (ノア・アシュケナージ) 國籍: 以色列 座機: 幼獅 塔蒂亞娜·雅科夫列夫 (タチアナ・ヤコブレフ) 國籍: 俄羅斯 座機: Mig-23 克里斯汀·瓦爾德加德 (クリスティーネ・ワルデガルド) 國籍: 瑞典 座機: Saab 37 Viggen 接著是劇情。設定上來自各個國家的少女開飛機與外星人作戰，不過外星人沒有高科技，反而是封印了地球人的高科技然後利用人類的高科技，逼人類使用原始武器。 基於以上設定，出擊的人才會說：　如果至少能開F-15就好了\u0026hellip;F-4打F-35，再多架都不夠用。\n敵軍F-35細節 注意看Mig-23的平直翼狀態 第一點來說很方便原作者設計機體，就像強襲魔女的涅洛伊登場都是未來噴射機一樣，在這裡F-35和F-22理應虐爆3代機\u0026hellip;可是這是動漫，並且主角的能力可以超越飛彈。\n擁有神奇機動能力的敵方X-2，在主角威能下照樣被打爆。 水島努監督的軍事類動畫，嚴謹可是會帶著ㄎㄧㄤ的感覺，這部特色就是角色都不好好穿裝備，起碼壽飛行隊還有護目鏡，可是這一步又不是超能力戰鬥，監督，或者說原作者真的很會發想。 或者是在跑道上起降時還可以飆車閃子彈．．．\n看看白箱OP2裡面出現的塗裝樣式，幸好《第三少女飛行隊》的動畫沒有真的畫成這樣 (少女與戰車即視感)。 按照白箱裡面透漏的最終結局來看，這個故事最後會是Bad End，最後又回到問題：你是為什麼而戰。 因為沒有完整集數實在難給評價，但是最後的催淚劇情感覺很不錯，只要不要像荒野的壽飛行隊一樣爆走就好，變成只有軍武是看點。\n於是，在2020年的《劇場版 白箱》中提及，《三女》第二季被其他公司接手後，徹底變成賣肉番。在劇場版的最後，東山再起的武藏野動畫決定接手製作　真　續作。 是白箱會有第三季，還是這部水島努真的會把它動畫化做完呢\u0026hellip;\u0026hellip;\n看似胡鬧的戰鬥機動畫，只做了一集就結束了。不過，幾年後監督水島努2019年所執導的動畫《荒野的壽飛行隊》看來是繼承了這一瘋狂構想。 捏她的部分有一個說法是這部劇中劇的漫畫的原型 (好拗口)是《紫電改的真紀》，裡面也是不穿任何裝備就開飛機打架。\n順帶一提這部作品15集已經完結，漫畫很大機率要啃生肉。 可是這部紫電改的美紀，標題感覺好像又是在捏1963年的漫畫 《紫電改のタカ》\n《第三少女飛行隊》另外一個捏它的元素是老動畫《青空少女隊》 正片《白箱》也值得一看啦 # 《白箱》作品資訊，目前有24集的電視動畫和1部劇場版。\n動畫二季都是以接近現實 (非完全現實的角度) 描繪動畫業界工作的情況，是十分貼近現實題材的作品，不論是為出社會之前的人士可以觀察到業界生態，多年在社會上生存的人看到之後也會很有感觸。最主要的重點是透過主角的視點，帶出製作動畫背後的辛苦。\n在白箱官網上有寫出製作動畫的基本流程: 大量的專有名詞，詳細的工作流程，以及各式各樣製作上會碰到的問題，讓人知道動畫即使觀眾看不到，背後也是有一群人自找麻煩式的投入大量心血。不用擔心，動畫瘋在專有名詞都有像字幕組一樣的神註解。\n插曲: 這裡提及的熱門動畫「軍Colle」我猜也是白箱的劇中劇吧，做出來評價似乎會很不錯 (確信，不要有姓田中的三位劇本家一起寫劇本就好) 觀看上因為登場人物很多，所以動畫版看完之後再來看劇場版會比較好才會稍微認出角色，因為即使導演說劇場版有描繪業界現實，但還是粉絲向作品，武藏野突然的沒落，然後又突然復興的溫馨故事。充滿熱血但其現實程度仍有收斂。\n「我在進入這一行以前還以為大人們認真工作都是理所當然的。」\n因此動畫妹十分貼近現實，稍稍美化的一點也許就是主角永遠不會放棄，武藏野動畫公司也擁有一批神人。動畫業界可能難以有這麼奇蹟的劇情。水島努監督野透過劇中角色或多或少的說出他的想法: 動畫的劇情就是監督要表達的內容，所以漫畫改編會產生歧異也是在所難免。這時就看監督的功力了。\n動畫其實可以拆分成大量的地方來說明，不如說是多門學問的綜合體。 以主角宮森葵在不同單位間協調的樣子，在看完這部動畫後，很多人應該就會開始，或者若有似無的注意STAFF名單，讓動畫不只是媒體，而是認知到這是人們努力的過程，有時候還有彩蛋。 謎之音: 這樣看來Netfleix自動跳過OPED的功能真是罪惡\n在劇中各個主角群組成甜甜圈教派，夢想著總有一天可以重做高中時代的《七福神》的動畫。 關於個人成長方面，監督還是沒有給出確切答案，但是透過坂木靜香之口: 不去做什麼都不會開始。 體認到現實，或許沒辦法天賦異稟的解決問題，不過總有一天會找出做下去的理由。(好混的結論，意思是活在當下?) ","date":"2021年1月12日","externalUrl":null,"permalink":"/posts/third-aerial-girls-squad-from-shirobako-review/","section":"Reviews","summary":"《第三少女飛行隊》，簡稱《三女》是一部劇中劇，為2015年動畫《白箱》裡面製作的虛構動畫，後來真的交給動畫工作室做一集出來了！作為BD特典附贈。另外一個真的有做出來特典是偶像逃亡動畫《Exodus》。 水島努監督品質保證，這是一部很有趣的劇中劇，或許有發展成為現代空戰題材的潛力！\n《第三少女飛行隊》與《白箱》現在可以在巴哈姆特動畫瘋觀看!\n《第三少女飛行隊》劇情特點 # 《第三少女飛行隊》描述4年前突然出現的謎之敵人「Builder」侵略世界，先進的電子設備全部失效。人類處於只能運用1970年代以前飛機的狀況。這部作品描繪的是調布基地「地獄愛麗絲」第307飛行隊少女們的戰鬥。 如同白箱整部都在惡搞一樣，角色的名字也取得很有趣。\n春夏秋冬阿莉亞 (春夏秋冬ありあ) 座機: 三菱F-1 凱瑟琳·韋拉 (キャサリン・ウェラー) 國籍: 美國 座機: F-4 Phantom II 諾亞·阿什肯納齊 (ノア・アシュケナージ) 國籍: 以色列 座機: 幼獅 塔蒂亞娜·雅科夫列夫 (タチアナ・ヤコブレフ) 國籍: 俄羅斯 座機: Mig-23 克里斯汀·瓦爾德加德 (クリスティーネ・ワルデガルド) 國籍: 瑞典 座機: Saab 37 Viggen ","title":"有趣的空戰動畫《第三少女飛行隊》，順便推坑《白箱》這部血淚動畫","type":"review"},{"content":"空戰動畫（X）\n自衛隊日常（O）\n《青空少女隊》，又稱為801 T.T.S. Airbats，這部是1990年代清水としみつ的連載漫畫，連載的劇情剛好用7集OVA講完。這部也有航空自衛隊贊助。 劇情簡介： 我會找到這部的原因是因為YouTube上的這個Su-33 vs F-15的剪輯，雖然是惡搞劇情但是繪製得很用心： YouTube 上有英文配音版，Bilibili也有疑似是DVD的繁體字幕版。特別因為是老動畫，不只在巴哈看片指日可待，這部也變成Bilibili的漏網之魚，不過翻譯用語不太準確。 八卦是，原作者在2008年重新推出了《青空少女隊 ReBirth》，不過只有兩本單行本就沒有後續了。 劇情概覽 # 最早的原作的只有三本單行本，所以OVA的內容大致分成：\n第1～3集：一個當女友另一個當情人就好了 # 男主角石動拓也入隊，經歷了兩個女人的戰爭並阻止801被解散。 報到後經典的誤闖浴室。靠這種方法認識女生。\n羽田みゆき，二等空曹 三鷹ありさ，2等空曹 801中隊充滿問題兒童，作為司令的剣ヶ峰浩二總想要把801解散 (《少女與戰車》大洗被廢校的概念) 高層常常以飛行特技測驗來整801中隊。 主角只是整備員，任務是盯著女孩們在天空的訓練飛行，主要操作的機型是川崎T-4。\n雖然羽田和三鷹常常鬥嘴，但是他們知道少一方都是不行的。為此三鷹甚至放棄晉升到新田原基地的實戰部隊(可以開F-15)，跑回基地完成飛行測驗。 命運的相會: 在路上遇到微服出巡的色咪咪上將，三鷹順手救了孫女，因此801中隊晉升為實戰部隊。 石動隱約知道二個女人的勾心鬥角，所以就出現了上面我引用的Youtube剪輯片段: 在夢中，三鷹變成恐怖情人，開Su-33把羽田宰了，還向基地發射核彈。 主角最後的回應\u0026hellip;\u0026hellip;真的是個花心王 第4集：日本的和平是用錢買的 # 與美國雷鳥特技小組（隊徽幾乎一模一樣）交流 美國來的葉格中尉，說起日文來帶有美語口音。 雖然基地裡的下連雀ようこ2等空曹飛行技術最爛，喝起酒來也是最\u0026hellip;咦? 葉格在對戰受傷，居然還能臨時借一架三菱F-2來充當，由劍鋒女裝上陣代替葉格。 第5集：全國飛行員吃拉麵大賽 # 搞笑回，吐槽點很多。\n吃拉麵比賽 吃拉麵為甚麼要特訓啦。話說石動背後的海報竟然是《新世紀福音戰士》，反映了年代感。 籃球腹擊交(?) 全日本的人都在看主角群的拉麵比賽。 侵入日本領空的俄羅斯Tu-95飛行員也賭小西充上校贏，但是前夜被帶去居酒屋，提前陣亡。 （俄文） 原來一切都是劍鋒陰謀，為了升遷到小松基地! 但是沒想到鷺之宮留的殺手鐧\u0026hellip; 第6集：兩人的過去 # 鷺之宮1等空曹和小西上校的過去。\n右邊的是前男友元加治 小西看起來不太喜歡鷺之宮的演歌。 二個男人同時喜歡上鷺之宮，但是她的心意是誰很明顯。 因為女人的因素，元加治和鷺之宮終究無法在一起，由小西接替他的心意。遞上戒指後才轉很硬的說是替元加治給的，可是鷺之宮早就看透了一切。 第7集：兩個顏色的奶子 # 番外篇「雪国少女隊」。真實的殺必死畫面，可是劇情虎頭蛇尾。\n山上的屋子有二戰時的亡靈，而且還是海軍的。看這個精神注入棒在戰艦大和電影裡出現過，打屁屁用的。 雪之進軍的深山裡為什麼會有零戰啦。這讓我想到烏龍派出所的度井仲縣那一集。 因為鬧鬼，所以開始發福利 虎頭蛇尾的點就在於，愛偷內衣的，裝神弄鬼的飛行員老頭希望有人能修好零戰的理由還沒講就結束了，看來懲罰就是給大家聽鷺之宮小姐的演歌。 動畫其他細節 # 生日哥 據說軍武宅會騷擾自衛隊，這部片馬上就出現狗仔隊在基地外偷拍。 總結 # 因為是自衛隊，側重的不是空戰戰鬥場面，這點可能會讓人失望。不過也因此這部很類似自衛隊平常的任務，用錢買來的維護和平，巡邏、攔截、訓練，還有辦航空祭。\n在賽璐璐作畫上飛機的細節、音效都有很好的還原，作畫有對飛機運動的鏡頭作細膩的描繪。 但就是礙於長度，劇情很短，單純當成小品還可以，但是就不能成為很經典的作品。也就是說稍微搔到癢處的兵器鏡頭，和不怎麼樣的劇情組成。\n這種情況在漫畫很常見，小品故事本來就是很快就結束了。所以這部的價值在於：刻劃T-4的英姿 ","date":"2020年11月27日","externalUrl":null,"permalink":"/posts/aozora-shoujo-tai-review/","section":"Reviews","summary":"空戰動畫（X）\n自衛隊日常（O）\n《青空少女隊》，又稱為801 T.T.S. Airbats，這部是1990年代清水としみつ的連載漫畫，連載的劇情剛好用7集OVA講完。這部也有航空自衛隊贊助。 劇情簡介： 我會找到這部的原因是因為YouTube上的這個Su-33 vs F-15的剪輯，雖然是惡搞劇情但是繪製得很用心： YouTube 上有英文配音版，Bilibili也有疑似是DVD的繁體字幕版。特別因為是老動畫，不只在巴哈看片指日可待，這部也變成Bilibili的漏網之魚，不過翻譯用語不太準確。 八卦是，原作者在2008年重新推出了《青空少女隊 ReBirth》，不過只有兩本單行本就沒有後續了。 劇情概覽 # 最早的原作的只有三本單行本，所以OVA的內容大致分成：\n第1～3集：一個當女友另一個當情人就好了 # 男主角石動拓也入隊，經歷了兩個女人的戰爭並阻止801被解散。 報到後經典的誤闖浴室。靠這種方法認識女生。\n羽田みゆき，二等空曹 三鷹ありさ，2等空曹 801中隊充滿問題兒童，作為司令的剣ヶ峰浩二總想要把801解散 (《少女與戰車》大洗被廢校的概念) ","title":"《青空少女隊》 描繪自衛隊訓練日常的動畫，看女飛行員開T-4模擬空戰","type":"review"},{"content":"大日本帝國海軍驅逐艦「雪風」是二戰中的幸運艦，奇蹟似的從各大激烈海戰生還，存活到戰後。二戰後，雪風轉交給中華民國海軍改名「丹陽」，被逃到台灣的蔣中正當作海盜船使用，搶劫中共與蘇聯的貨船。後來因艦體老化，無法將整艘送還日本。\n我在研究雪風與「海盜王」蔣中正的文章的時候，找到了一張丹陽艦鐘的照片。為了探尋實物，今天就直接前往左營海軍故事館一探究竟。 1. 艦隊Collection中的雪風改二 # 雪風改二於2020年11月實裝。從這裡我才知道雪風跟中華民國的關聯。\n改二型態分為「丹陽」以及if的「改二」。\n在艦隊Collection裡面，設定是半按照史實，雪風改名為丹陽，獲得了應急改裝（國軍自行修修補補）的主砲。在那之後還可以轉換成改二型態，但是不能轉換回丹陽，因為已經回歸日本了。\n有人說雪風改二頭上的梅花是大和的頭飾，也有可能是中華民國海軍的國花。依據哈啦區版友的觀點，丹陽的服裝比較中性，頭飾的船錨符號也沒有比較明顯，但對我國海軍有認識的就能心領神會。 雪風作為少數存活到戰後的日本海軍船艦，這裡有一部《艦これ　生存組ＥＤ》同人動畫，令人印象深刻。 跟另一個比較歡樂的《雪風がお届け改二》來說，這一部生存組ED令人印象深刻，雪風即使幸運，海軍內部卻把它比作死神看待。\n1945年，中華民國政府開始接收日本在台軍備。身為戰勝國也分配到日本海軍的舊驅逐艦，改名為一系列「陽字號」驅逐艦。雪風自此編入中華民國海軍，改名丹陽（中國城市）舷號DD-12。 再武裝後的丹陽，砲塔鋼板由國軍自行焊接，遊戲中稱為「現地改裝」。進入1950年代開始換裝美製武器，這也就是為何最後一個任務有5英吋砲可以選的原因。\n國軍網站上的相片，可以看到左側艦首炮塔的艦炮已與雪風有很大不同。來源：http://nmda.teldap.tw/page_book01_01_dd12.htm 這裡插入一段小文章，中國網上有一篇有趣的幻想文《无限遐想：如果丹阳号留在了大陆人民海军将用什么将其武装起来？》\n「可以选择的大口径舰炮有两种，Б.-13型130毫米舰炮和Б-34型100毫米舰炮\u0026hellip;\u0026hellip;导弹化后状态：苏制Б-2ПМ双联装130毫米舰炮3座，Б-11型双联装37毫米机关炮4座，2M3型双联装25毫米机关炮4座，“上游一号”反舰导弹双联发射装置2具，65式反潜火箭发射装置2具，БМБ-2深水炸弹炮4具，深水炸弹投放轨2条。」\n（來源：http://www.360doc.cn/article/37113458_834704088.html）\n回到正史。在1970年除籍前，雪風與為數不多的中華民國海軍驅逐艦一起充當正義的海盜，劫掠來往中國的船隻。受害者包括英國、希臘、蘇聯貨船。而即使船員可以返國，艦上物資就被國家沒收，船就直接收編。\n這一切都按照中華民國政府頒布的「閉關政策」，封鎖中國大陸沿海並知會各國，抓到「資匪」貨船一律扣押。但各國卻不嚴格遵守蔣中正的片面規定，尤其英國最常與國軍發生衝突。還有1954年蘇聯貨船陶普斯號事件，讓國軍的行為吵到聯合國大會上。\n以下PTT版友繪製的圖片可以看到這個情況多嚴重，連不是領海範圍內的國軍也要管。來源：https://www.ptt.cc/bbs/Warfare/M.1245759476.A.E17.html 即使有意見宣稱「攔截蘇聯船隊也是剛好而已」卻不能否認國家的行為就是徹底海盜。只不過按照聯合國的定義，「私人」發起的掠奪才是海盜，扣押物資時甚至把「肥料」硬凹成「化學物品」。\n當然中共也曾有La-11擊落國泰航空的事件，起碼中共還有賠償。\n在1955年後受到美國壓力和內部人員的建議才逐漸停止這種行為，並且隨著失去大陳島，國軍能封鎖的範圍也被削弱。\n而提供法理依據的《匪資匪之輪船公司及船隻緊急處置辦法》1992年1月廢除。\n蘇聯於1958年曾經拍攝電影《Ч. П. — Чрезвычайное происшествие》一二部（英文：E.A. — Extraordinary Accident），紀念陶普斯號事件。\n雪風之後因為老舊，無法回應日本老兵的期待返回日本，而是直接解體。一部分零件還給日本，車葉和艦鐘則保存在高雄左營海軍基地。來源：https://www.cna.edu.tw/navyStory/Cultural?progId=EXH004\n遊戲中，從曾經是海盜王國(笑)歸來的雪風，這次她的火砲對準的不再是無辜的民用船隻，而是深海棲艦。\n2. 左營海軍故事館的雪風 # 維基百科上說，丹陽解體後舵輪和船錨還給日本，艦鐘和俥葉，則保存在海軍軍官學校。軍官學校裡的軍史館一般人是不能進去的，因此只能到營區外圍的左營海軍故事館。 從高雄左營蓮池潭的方向再繼續走會到達海軍的左營基地。位於營區門口旁邊，有國軍的四海一家餐廳，「左營海軍故事館」就在這裡。\n現在參觀免費，前身中正圖書館，現在展示海軍文物，進門就可以看到陽字號軍艦的名牌，不過沒有丹陽。 一樓是日治時期的歷史文物，包括震洋艇（海上版的神風攻擊船隻）的歷史。要找的丹陽艦鐘，就在此處。\n很幸運的是其他陽字號驅逐艦的艦鐘得進到軍官學校裡才能看到，而丹陽的則安置在外側的海軍故事館。 來到二樓，展示的變成中華民國在台時期，從軍服到各式模型，還有海軍老艦艇照片大家族。 旁邊有一個丹陽艦的木製模型，很好的還原了細節。\n佈署了大量的波佛斯40快砲，大約是1950年代之後的武裝。 館內其他展覽品：\n磁器羅針儀和駕駛艙。 這類的老舊設施，台南安平的德陽艦園區可以看個夠。2019年敦睦艦隊停靠高雄港的時候也有上去瞧瞧。在這裡則是能看到比較老式的裝備。 在艦鐘旁邊的是高雄警備府的介紹，因為C2今年新聘請的繪師「A士」長期自稱隸屬高雄警備府所以這個名字很有印象。 而事實上左營地區自二戰以來就是海軍大本營。在軍營周遭也有很多眷村。（從海洋看向陸地） 從館內的巨大的微縮模型可見一般，按旁邊的按鈕還會顯示燈號告訴建築的位置，例如圖中左方閃著綠光的山就是柴山。（從陸地看向海洋） 在走上二樓的時候，抬頭一看可以發現美軍的B-25轟炸機飛越。即日本在台的基地被美軍空襲的景象，不只1944年台灣航空戰時被空襲過，一直到1945年，美軍為削弱日軍力量仍不斷空襲台灣各地的工廠。 最後值得一看的還有海軍武備的展示，軍服雖然在網路上就能找到規範，但是這裡還有很多徽章到和實物可以參考。 這張照片最近有繪師HimeYamato大和型提督按照這個姿勢畫了一張Iowa、長門、大和的圖。 前面提到一般人無法進去的軍校軍史館不用灰心，官方網站可以看線上360度相片導覽。(圖中可以看到雪風的俥葉) 走出門口，有二個船錨佇立著。符合軍史館的匾額的「靖海鎮疆」理念。 參考資料 # 維基百科 《國軍海盜傳奇》https://www.ptt.cc/bbs/Warfare/search?page=2\u0026amp;q=%E5%9C%8B%E8%BB%8D%E6%B5%B7%E7%9B%9C%E5%82%B3%E5%A5%87 蔣介石是國際公認海賊王！派軍艦洗劫貨船，連英國、蘇聯都敢惹…揭台灣「海盜王國」黑歷史https://www.storm.mg/lifestyle/939009 高凌雲／美蘇亂鬥 台灣變海賊王？https://udn.com/news/story/7586/3715603 ","date":"2020年11月21日","externalUrl":null,"permalink":"/posts/2020112101/","section":"Histories","summary":"大日本帝國海軍驅逐艦「雪風」是二戰中的幸運艦，奇蹟似的從各大激烈海戰生還，存活到戰後。二戰後，雪風轉交給中華民國海軍改名「丹陽」，被逃到台灣的蔣中正當作海盜船使用，搶劫中共與蘇聯的貨船。後來因艦體老化，無法將整艘送還日本。\n我在研究雪風與「海盜王」蔣中正的文章的時候，找到了一張丹陽艦鐘的照片。為了探尋實物，今天就直接前往左營海軍故事館一探究竟。 1. 艦隊Collection中的雪風改二 # 雪風改二於2020年11月實裝。從這裡我才知道雪風跟中華民國的關聯。\n改二型態分為「丹陽」以及if的「改二」。\n在艦隊Collection裡面，設定是半按照史實，雪風改名為丹陽，獲得了應急改裝（國軍自行修修補補）的主砲。在那之後還可以轉換成改二型態，但是不能轉換回丹陽，因為已經回歸日本了。\n有人說雪風改二頭上的梅花是大和的頭飾，也有可能是中華民國海軍的國花。依據哈啦區版友的觀點，丹陽的服裝比較中性，頭飾的船錨符號也沒有比較明顯，但對我國海軍有認識的就能心領神會。 雪風作為少數存活到戰後的日本海軍船艦，這裡有一部《艦これ　生存組ＥＤ》同人動畫，令人印象深刻。 ","title":"日本「雪風」在台灣，到高雄左營海軍故事館尋找驅逐艦「丹陽」的艦鐘","type":"history"},{"content":"「100多位小姊姊熱情出演，整場都是水。」\n\u0026hellip;海水。原本這句話是百度貼吧對艦隊Collection劇場版的揶揄，現在海戰動畫電影也可以確實體驗到這種感覺了！開船的女生，遠遠超過100位！\nPreview: 《高校艦隊》描述一個日本沒有參與二戰的世界，在未來多處陸地都沉入海中，由藍色人魚這個職業承擔起守護大海的責任（男性稱作白海豚）。教官艦艇都為現代化的巡防艦，學生則在二戰沿襲下來、經過近代化改修的各式軍艦上實習。\n2016年推出電視動畫，2020年劇場版上映。延續TV版的劇情外，還要對抗新的危機。沒有看TV版也可以觀看，想要補番的話動畫瘋有逐步上架中。\n預告片：\n主角指揮的船是驅逐艦（航洋艦），而分數比較高的可以當到大和級戰艦的艦長。TV版12集都在解決因為突變老鼠導致的病毒事件，讓主角好朋友的武藏得以平安回港。劇場版則要對抗海盜，出現了大和級的後續型號，同時4艘船的46cm主砲對海上要塞進行攻略，此外還有藍色人魚身材瘦小的特種部隊的攻堅畫面。 主角的學校是横須賀女子海洋学校，劇場版還來了呉女子海洋学校、舞鶴女子海洋学校、佐世保女子海洋学校的船艦。 好看的點 # 4DX可以說為劇情大大加分，首發衝4DX第一個早場。作畫只有少部分畫崩，高品質的作畫，配上4DX的畫面可以說很震撼。跟最近上映的《少女與戰車最終章1+2》比較的話，整部大量使用搖晃座椅的片段集中在後面的戰鬥片段，前段劇情是日常園遊會，並非是貫穿全場。\n4DX在片場會有水霧特效，在主角急轉彎時濺起的水花就會有明顯感覺，除了激烈搖晃以外還讓眼鏡都濕了（沒那麼誇張，大概就毛毛雨滴到的等級）後面萌香使用染色穿甲彈給晴風號指路時，船身穿越大浪時電影院都是水和霧茫茫一片；砲擊的時候火光特效比電影院的進場燈光還要閃亮。另外，即使冬天很冷，在電影院裡吹海風的感覺還是很不錯的。 劇情方面，宗谷考慮到轉任艦長需要更多經歷，而決定留下來陪岬明乃一起經歷奇妙冒險。並且出現二人一心同體，搓澡的姿勢完全一樣的福利鏡頭。此外，電影中的電影《有仁義之戰》（戲仿《無仁義之戰》）經典的二人耍中二橋段不尷尬了，看起來也是在給船隊助航。 少女與戰車裡面常常有很神奇的開戰車技巧，高校艦隊劇場版中也有使用。把爆雷投射機（深水炸彈）以高角度拋射，當作迫擊砲來摧毀高處的敵人炮塔。把滑板跟炸彈結合，遙控穿過障礙，在動力室中央引爆。最後宗谷學習到了Always on deck的精神，學艦長騎乘水上摩托車，使用飛車炸彈炸掉牆壁。\n細節部分 # 艦隊出航時說出「第4警戒航行序列」，沒玩過艦これ還真不知道。 蘇買章魚燒的時候上面的硬幣更新成令和元年。 大和級的進彈機 精確數學計算和TV版一樣的細節，如指揮，和馬上算出彈道數值 不好看的地方 # 4DX會用在奇怪的地方，例如跌倒。反而是浴室的一段沒有明顯做出來，小小可惜之處。\n劇情就是粉絲向，聽到主題曲響起很燃，不過說是劇場版，就是表現強化的劇情一部分而已。\n主題曲 High Free Spirits 新增的角色：蘇，看起來是美國來的，受到海盜利用，製造珍珠港事件還不自知（用拖船賭注港口讓藍色人魚的船都出不去）後來成為攻堅海盜佔領的要塞的指路人。跟海盜溝通時講著迫真英語，這個⋯不知道為什麼要刻意這樣強調，也許就跟德國艦上就要講德語一樣吧。 海盜有能力掠奪基地，第一個基地看起來還看守的有模有樣，不過當然不敵特種部隊的突擊，艦長還靠體術開無雙，海盜一路無阻順利的打倒了。男性駕駛的白海豚的船艦差一點又要變成炮灰了，可惜了副艦長那麼帥。\n要塞方面海盜沒什麼露面，全靠自衛武裝反擊，國土安全委員會規定不惜徵用學生的船也要阻止海盜，真的很剛好主角的船有跟來，舊式驅逐艦的軀體比較小可以穿入大門進攻。 衝突在這裡製造的比較好，也幸好艦長都是特別人物，用各種花招瓦解要塞，最扯的是擔任聲納探測員的水里小路不用耳機，直接跑到艦橋聽音辨識敵人所在位置。\n各個學校的大艦大砲只能在遠處擔當火力支援，最後還是需要主角來解決危機。\n結論 # 總結來說，特效值得一看，小心水花飛濺，某些場景還比少女與戰車精彩。劇情可以直接生啃，或選擇看過TV版才會比較知道角色之間的關係，並且能夠體認到這部劇場版的核心：宗谷真白的成長。\n這部電影台灣是在1016上映，4DX劇場版的票則在11/13前一天才訂位。官方說買票有送卡夾，但我這裡的威秀似乎沒有這項贈品。 這部電視動畫的劇情一直線很簡單，並且一開始就製造懸疑氣氛，配合一系列的戰鬥最後回到陸地。我在電影上映前一個禮拜才補完12集+2集OVA，因為角色畫風太萌（尤其集數不同，些原畫會把角色畫的更幼）所以這部令人印象深刻的點還是那隻叫做五十六的肥貓，由鶴岡聰配音，雖然只有叫聲。 這部的可貴點在於美少女們開船，跟艦娘是不同概念。也因此登場的角色光駕駛一艘船的就很多了，加上劇場版的故事會出現真的快100人的陣仗，要釐清關係並不容易，也幸好製作組處理群像劇的功力不錯，整季的節奏拿捏的很好。\n並且，只要知道副艦長的家族一家都在藍色人魚服務就好了，從校長到指揮官，個個天才。\n","date":"2020年11月13日","externalUrl":null,"permalink":"/posts/high-school-fleet-movie-review/","section":"Reviews","summary":"「100多位小姊姊熱情出演，整場都是水。」\n…海水。原本這句話是百度貼吧對艦隊Collection劇場版的揶揄，現在海戰動畫電影也可以確實體驗到這種感覺了！開船的女生，遠遠超過100位！\nPreview: 《高校艦隊》描述一個日本沒有參與二戰的世界，在未來多處陸地都沉入海中，由藍色人魚這個職業承擔起守護大海的責任（男性稱作白海豚）。教官艦艇都為現代化的巡防艦，學生則在二戰沿襲下來、經過近代化改修的各式軍艦上實習。\n2016年推出電視動畫，2020年劇場版上映。延續TV版的劇情外，還要對抗新的危機。沒有看TV版也可以觀看，想要補番的話動畫瘋有逐步上架中。\n預告片：\n主角指揮的船是驅逐艦（航洋艦），而分數比較高的可以當到大和級戰艦的艦長。TV版12集都在解決因為突變老鼠導致的病毒事件，讓主角好朋友的武藏得以平安回港。劇場版則要對抗海盜，出現了大和級的後續型號，同時4艘船的46cm主砲對海上要塞進行攻略，此外還有藍色人魚身材瘦小的特種部隊的攻堅畫面。 主角的學校是横須賀女子海洋学校，劇場版還來了呉女子海洋学校、舞鶴女子海洋学校、佐世保女子海洋学校的船艦。 好看的點 # 4DX可以說為劇情大大加分，首發衝4DX第一個早場。作畫只有少部分畫崩，高品質的作畫，配上4DX的畫面可以說很震撼。跟最近上映的《少女與戰車最終章1+2》比較的話，整部大量使用搖晃座椅的片段集中在後面的戰鬥片段，前段劇情是日常園遊會，並非是貫穿全場。\n","title":"到電影院看高校艦隊4DX劇場版，親身體感的海戰","type":"review"},{"content":"","date":"2020年11月11日","externalUrl":null,"permalink":"/tags/mineraft/","section":"標籤","summary":"","title":"Mineraft","type":"tags"},{"content":"初稿：2020年11月11日。修訂：2024年5月10日。\n就在今天2020年11月11日，成立7年，5萬訂閱的YouTube頻道: Ivon Huang正式被停權。 下面是2020年1月7日，由Web Archive快照拍下的頻道遺照。 先來聽二首歌吧。\n「有一天你會知道，沒有我人生也不會不同。」\n「再回首，恍然如夢。」\n因為90天內被連續警告三次，未經許可翻譯他人音樂影片，所以YouTube包括播放清單都不見，不過Google帳戶不受影響。\n在Youtube訂閱統計網站ipr.tokyo找到的，我的頻道遺照。 首先要介紹一下我的頻道主要內容，主要是「Minecraft PE遊戲影片」和「Minecraft歌曲翻譯」，下面會分批討論，這篇文章主要記錄過去發生的事。我看過太多不論是同期一起做影片的，還是過去風雲人物的消亡，我不願這所有的一切都從電子之海中湮滅，因此在我還有記憶的時候寫下來。\n1. 草創期 2013年 # 2013年，國中一年級，在那個「電腦課辦完google帳號下一秒就忘記密碼」的時期，我用自己的本名創了現在被停權的Youtube帳號。 第一部上傳影片就被檢舉下架，那部的內容是卡通頻道探險活寶的一段手機錄影。\n我還上傳了在學校學「會聲會影11」時隨手練習的Minecraft歌曲混剪合集。\n暑假開始，當時接觸Minecraft PE(也就是最早的手機版，現在叫做基岩版)後，上傳了第一部Minecraft實況影片，也就是完全沒聲音，用ShootMe APP錄影，畫面卡到爆的實況影片：「瀑布之謎」。\n0.6.0版本的手機Minecraft什麼都沒有，差電腦版太多，完全靠Blocklauncher(方塊啟動器)救起來。 在那之後，我造訪了SLMT靈魂樂章所創辦的「Minecraft繁體中文論壇」。裡面的團長叫做崇宏，他曾經是那個時代MCPE的先驅，會開伺服器，裝模組，還開設論壇，在Youtube很有名。由於這個論壇架在中國的主機上，後來不再維護後就消失了，由夜曲的「Minecraft台灣論壇」取而代之。\n那時候我還不知道巴哈，所以在SLMT上面流連了二年直到它沒落為止。認識了很多同好，當時很多新手實況主也跟著製作Minecraft影片，我現在還可以列舉的有Tea House茶屋、阿維(A Wei)、薔薇、Sky 什麼的、阿傑等等，很多後來就不做了，甚至崇宏還自己刪掉全部影片，但也有比較成功做到現在的例如MOCO。\n早期的Minecraft PE神人: 崇宏的人設 就是這樣，使用只有512MB RAM的手機，開始我在YouTube分享影片的路，頻道名字也改成Ivon Huang。起初我什麼都不知道，拍一些地圖實況外，我在同年8月，接觸了唯一能夠在手機上裝模組和材質包的Blocklauncher，我徹底陷進去了，從此在製作Minecraft影片外，我最專注的就是製作和分享模組影片，包括自己研發的。 2. 低品質MCPE影片為主的時期 2014年～2017年 # 可以說這個時候的影片基本上與Minecraft PE密不可分，並且這個時期我的影片開始有廣告收益。\n每次有新影片就會發表在個人經營的「Minecraft PE 模組插件分享、自製、技術」Facebook粉絲專頁。\n2013年10月26日製作的頻道背景縮圖。 起初我製作的都是小功能模組，什麼神木(點一下就會生成一棵高聳叢林木的，因為那時PE只有小樹)，還有可以拿來算莫爾數和酸鹼值的\u0026hellip;經過一年多的研究，我逐漸學會做GUI，例如「立體機動裝置.js」，呼應當年進擊的巨人動漫熱潮。也是因此，靠著JavaScript寫模組奠定我寫程式的基礎，感覺是邪魔外道吧？不過我認為就是這樣，搭配我不錯的英文能力，使得學習很快。\n那時在SLMT論壇，有人說過模組區都是我發的文，認為我是大師，其實不然，因為我認識了高手羽翼，他製作的模組顯然比我這個國中生更成熟，具有世界接軌的格局。\n後來也接觸到巴哈姆特、APK.TW、Minecraft Forum、minecraftpe百度貼吧、Facebook社團的玩家。從各處下載來的檔案還躺在我的Dropbox雲端裡。\n早期發表在巴哈哈啦區的文章，有些靠著收入精華保存下來。 這個時候的影片曾經有很多部是以「小影」APP剪輯然後加上吐槽字幕和音樂。後來被羽翼罵過後我就改成我自己配音解說。\n國中生沒有學習能力，製作影片技術進步的很慢。後來學會剪接也只是配音樂而已。大部分影片都是以「大家好我是Ivon\u0026hellip;.今天介紹\u0026hellip; 」流水帳說明完功能後草草結束，估計這種低品質的影片累積了800部，平均觀看次數2000次，少數好的有破萬。\n因為純用手機製作，所以畫質最好只有360p，大部分是240p。能看下去這種畫質的觀眾真的很死忠。或是用4吋手機看根本沒差？\n我手機沒有4G，家裡網路月繳99只有撥接速度，很多影片都是在7-11連免費wifi上傳的。家中的Windows 7電腦爛的要命，規格最多只能輸出720p影片，還得跑個1小時。\n上傳影片毫無計畫，偶爾還會拍一些GTA SA遊玩片段，配上自以為好笑的標題廢片。不過GTA系列遊戲確實影響我很大，所以後期Youtube頻道的「開頭片段」也都是直接拿GTA的遊戲畫面來製作。\n這時也有開始做一些歐美歌曲的翻譯影片，不過反應平平。可能因為是一上傳就被ContentID封鎖地區的緣故。\n此外，廣告收益默默開了之後，3年累計只賺了22K。套一句當初跟我去西聯櫃檯領錢時我媽說的話: 你這樣(當Youtuber)是要餓死喔。 說點不重要的，這個時候我有開一個「Ivon的副頻道」，放廢片，比方說「印度麥可傑克森歌曲幹你媽的正經翻譯」。\n3. 翻譯影片獲得熱烈回饋 2017年～2020年 # 這時翻譯Minecraft影片的水準逐漸上升，也因為大量翻譯版權物被Youtube停用廣告收益功能。\n翻譯影片的熱情起因於2013年，s大的一系列翻譯影片，當然他後來也被停權了。\n請參考宛如詩經的Minecraft古典時期101歌曲翻譯\n翻譯影片狂熱到，常常跟高中老師討論每句話的意思，還要她拯救我的聽力。\n我專注的影片類型是Minecraft歌曲，包含原創和Minecraft Parody，後者的創作形式始於CaptainSparklez在2013年的一首\u0026quot;Creeper? Oh man\u0026quot;讓這樣的創作遍地開花，到現在還是有很多後起之秀。分類有:parody，即像\u0026quot;Revenge\u0026quot;翻唱自著名歌曲再配合動畫；還有些歌是樂團專門為Minecraft動畫所寫的，例如Minecraft Jams的團隊會製作動畫，還會寫歌。\n「復仇」這首歌是所有Minecraft Parody的始祖。 翻譯的影片累計到200部，我可以自豪的說YouTube上我是長期有在定期更新的Minecraft翻譯者。觀看次數也跟著水漲船高，根據後台數據顯示，最高觀看高達70萬，訂閱人數飆漲到4萬。\n觀眾似乎比較喜歡看翻譯影片，我定期在拍的MCPE影片反而沒什麼人要看了。\n在2018年上大學之後我就只專注翻譯影片了，一反以前不固定上傳的頻率，我維持每週一次更新，並且隨著電腦硬體更新，我能夠穩定提供1080P畫質的精美影片。期間我也「認識」了很多外國創作者，雖然他們都不認識我。\n我這樣盜影片的行為就是處在灰色地帶。同時期的同行(翻譯Minecraft動畫)的譯者也是跟過去實況主一樣，有些消失，有些現在還在做。\n翻譯過的一部分影片 到2019年是穩定發展期，還建立Bilibili頻道推廣受眾，中國人人多，觀眾給予的回饋更多，而且願意討論翻譯的群組更多，讓人感到暖心。 話說，Bilibili頻道同樣也有被封過後重開一個，但是理由是因為瘋狂乳包，不是版權砲。\n參考：混中國網站後政治觀點的轉變，從百度貼吧到冲浪TV\n4. 頻道大頭貼的故事 # 關於頭貼的小故事。從2013年創立帳戶我就是一直用這張相片，出自天兵公園第二季第12集「退錢來」(But I have a receipt)，鳥哥和阿天扮演排隊破壞神的角色，這個卡通真的很有趣，跟探險活寶一樣。\n副頻道的頭貼則是用Sketchbook APP鏡像功能隨便亂畫出來的惡魔圖騰。\n下圖左邊是Ivon Huang頻道的頭貼，右邊是副頻道的頭貼。 之所以會看起來藍藍的是因為用手機直接拍電視螢幕所致(插入meme：genius.jpg)，Bilibili的已換成下述清晰版本，而Youtube的將繼續保留，以茲紀念。 2020年5月7日，宣布【頻道拆分】。使用天兵公園頭像的Ivon Huang將只專注在翻譯影片，使用黑白頭像的繼續製作MCPE模組與其他內容的影片。\nIvon Huang的翻譯頻道:https://www.youtube.com/channel/UCGGGhsN3cSipliLityaf20w/\nIvon Huang的遊戲頻道:https://www.youtube.com/channel/UClXjzHfnBhO-m4Kjx0kQ2Mg/videos\n5. 版權砲終於來了，關於Youtube翻譯影片這回事 # 最後Youtube頻道會被停權，始因於其中一家創作者Radapedaxa背後的唱片公司「Redstone Records」開始收緊政策，這幾個月一連3部影片被同一個唱片公司下架（話說Radapedaxa去年才剛跟他們鬧翻），因此YouTube給我判了死刑。\n順帶一提，在2019年，我曾經在蹭學校的無限Google Drive空間的時候下載過一次舊Ivon Huang頻道的Google Takeout封存檔，檔案高達24GB\u0026hellip;真後悔當時沒有留下來。\n自那之後，這個舊帳號就不能使用Youtube了。但是Google其他產品依然可以使用。\n翻譯影片絕對違法，不管你在影片說明欄用英文寫「我沒有侵犯版權的意思」沒有原作者正式授權就是違法。就算作者懶得抓，唱片公司透過Content ID (YouTube的自動音樂比對系統)看到也會不定時給你下架。\n最著名的例子是BC \u0026amp; Lowy，頻道曾經被停權，現在又復活了。翻譯影片放YouTube很危險，像好色龍就把影片放自己的網誌，因為他夠有名。\n另外，YouTube其實曾有一個「社群協力翻譯」的功能，可以給影片提交語言字幕。但可能是因為官方推廣力道不足，很多創作者不知道有這個功能，觀眾甚至連cc字幕是什麼都不知道。更糟的是今年YouTube就因使用比率太低直接把這個功能砍了，直接斷絕翻譯的活路。\n6. 戰間期 # 翻譯影片的事業我不想完全中斷。在預料到頻道被停用前我都已經把大部分影片備份了，並且開始經營Bilibili。以後，在翻譯新影片之外，我還會分批上傳舊影片到Bilibili。\n無法說Bilibili會不會有天做大到轉正，也開始抓版權物，但是這是目前唯一的方法。\n我不禁想到巴哈幽影(angelguga)大大曾做的一系列電影字幕檔，畢竟提供字幕不違法，自己把影片加上字幕再美化，上傳就構成侵權了\u0026hellip; 因為這樣，我認為以後除了原始影片外，srt檔案也要保留下來做最後手段。\n現在，我還是專注在Minecraft PE(現已改名基岩版)，並持續為社群做出貢獻，現已製作許多模組，例如艦隊收藏Add-On。並且這些小作品，透過paypal，我獲得了另一種不同於YouTube、讓努力有金錢回報的路徑，正式走向國際，與世界各地的社群有實質來往。 Facebook，主要更新頻道消息:\nhttps://www.facebook.com/IvonHuan\nBilibili頻道（二代目）:\nhttps://space.bilibili.com/519618133\nTwitter，主要更新自製模組消息 (有時候會有18+，慎點):\nhttps://twitter.com/Ivon852\n7. 撐一年之後翻譯做不下去了 # 在被封後，重新開了一個「Ivon的翻譯頻道」。\n時間來到2021年10月18日。\nMinecraft歌曲翻譯，我應該是做不下去了。\n除了興趣因素以外，YouTube並不是一個適合盜版翻譯的地方。在舊Ivon Huang頻道之後，重新開的「Ivon的翻譯頻道」在把備份舊影片傳上去之後，陸續已經收到二次版權警告。\n再這樣下去，跟上一個帳號一樣下場，封號也是遲早的事情。\n我試過把影片放LBRY，不理想。放Bilibili？客群是中國人感覺用繁體感覺怪怪的，但還是有很多人看。\n因此我覺得未來如果我想繼續做，我應該是不會再上傳到YouTube，而改在Bilibili上傳。\n另外，這個頻道的資料我有定期備份，但是這些影片原始檔的龐然大物真不知道放哪邊。\n現在，我把影片設定為不公開，讓觀眾透過播放清單的方式來觀看舊影片。 8. 真正的新Ivon Huang頻道 # 2021年，經營歷史跟Youtube頻道一樣久的Facebook粉絲專頁被莫名其妙取消發布，等同判了死刑。\n參考幹你媽的祖克伯。懷念「Minecraft PE 模組插件分享、自製、技術」FB粉絲專頁\n此外，因為不小心把暗網流出的照片放到Google雲端，導致Google整個封鎖「Ivon的副頻道」的Google帳號。\n唉，童年以來的成就都沒了。\n這個時候是不是要來唱一首亡國亡君\n基於以上因素，2021年重起爐灶，註冊了全新的Google帳號和Youtube頻道，一樣叫做Ivon Huang，內容初期以Minecraft基岩版為主，到2022年之後開始加入Linux內容。\n另外，新開了一個「mcbedev.net」的Blogger網站用來寫Minecraft文章，替代Facebook粉專的功能。\nYoutube大頭貼決定不沿用天兵公園的，而是自己製作的Add-On模組內容：Minecraft版島風。 拍片上比較謹慎了，確保影片有一定剪輯品質後才上傳。\n但是Google似乎認為我跟過去的二個舊帳號有某種聯繫，所以現在仍無法開Adsense營利，間接削減我經營頻道的興趣。\n現在就是佛系更新狀態。\n","date":"2020年11月11日","externalUrl":null,"permalink":"/posts/old-ivon-huang-youtube-channel-got-banned/","section":"Minecrafts","summary":"初稿：2020年11月11日。修訂：2024年5月10日。\n就在今天2020年11月11日，成立7年，5萬訂閱的YouTube頻道: Ivon Huang正式被停權。 下面是2020年1月7日，由Web Archive快照拍下的頻道遺照。 先來聽二首歌吧。\n「有一天你會知道，沒有我人生也不會不同。」\n「再回首，恍然如夢。」\n因為90天內被連續警告三次，未經許可翻譯他人音樂影片，所以YouTube包括播放清單都不見，不過Google帳戶不受影響。\n在Youtube訂閱統計網站ipr.tokyo找到的，我的頻道遺照。 首先要介紹一下我的頻道主要內容，主要是「Minecraft PE遊戲影片」和「Minecraft歌曲翻譯」，下面會分批討論，這篇文章主要記錄過去發生的事。我看過太多不論是同期一起做影片的，還是過去風雲人物的消亡，我不願這所有的一切都從電子之海中湮滅，因此在我還有記憶的時候寫下來。\n1. 草創期 2013年 # 2013年，國中一年級，在那個「電腦課辦完google帳號下一秒就忘記密碼」的時期，我用自己的本名創了現在被停權的Youtube帳號。 ","title":"舊YouTube頻道「Ivon Huang」被停權，紀錄前因後果還有那之後的故事","type":"minecraft"},{"content":"","date":"2020年11月7日","externalUrl":null,"permalink":"/tags/soviet-air-forces/","section":"標籤","summary":"","title":"Soviet Air Forces","type":"tags"},{"content":"","date":"2020年11月7日","externalUrl":null,"permalink":"/tags/zvezda/","section":"標籤","summary":"","title":"Zvezda","type":"tags"},{"content":"蘇聯第一款可變翼超音速戰鬥轟炸機：MiG-23，北約代號Flogger，自1970年代起便參與全球各種戰事。\n這是Zveda於2015年推出的模型套件。 這個套件建議的塗裝為參與阿富汗戰爭(1979年～1989年)的MLD型，屬於1984年改裝的攔截機型號。\n組裝準備 # 2020年在台南市大同路的天鷹模型購入。這邊有一批好便宜的俄製模型\u0026hellip;品質可想而知。我不是說老闆不好，是說俄國品牌Zvezda品質雖然沒有嚴重的裂縫，但是說明書未免也畫得太簡單了。 需要哪些塗料？原廠畫的圖太亂了所以我自己做了整理，又，臺灣買不到Humbrol的顏料，所以列出備案漆品牌。\n迷彩 Matt US Light Green Humbrol 117 = Vallejo 71.347 Russian AF Dark Green- 迷彩 Sand Humbrol 63 = XF59 迷彩 Matt Light Green Humbrol 120 =H312 =Vallejo 71.081 Ochre 迷彩 Matt Brown Humbrol 186 = Vallejo 71.246 Yellow Brown 機腹 Medium Crey Humbrol 145 = H337 迷彩引擎雷達罩 Dark Grey Humbrol 125 = H305 = Vallejo 71.339 Russian AF Grey N.3 整體 Polished Steel Humbrol 27003 = Vallejo 71.046 Pale Blue Grey Black = XF-1 White = XF-2 座艙 Matt Interior Green Humbrol 226 = H6(15%)+H74(85%) 基本色用田宮的就可以了，引擎用金屬色頂替。\n關於座艙的顏色，米格機應該全部是藍綠色才對？可是根據實機照片，有些彈射椅是黑色的沒錯；而座艙顏色我參考了這篇提供的配方，用田宮和郡氏的混出了比較接近水貼儀表板的顏色。\n田宮FLAT GREEN(15%) + 郡氏SKY BLUE(85%) 再者是迷彩顏色，參考其他網站製作的同個模子完成品，標記的顏色不太一樣，我決定買西班牙vallejo出的「俄國戰機套裝」一盒就含有各種俄國飛機常見顏色。 最後從HyperScale這個網站獲得了彩圖，有實機照片，總算是可以塗裝有個參考。此外它還有提供這架飛機的詳細歷史資料（順便推銷水貼和新書）。 製作過程 # 駕駛艙和瞄準具 可變翼有機關可以讓二個機翼同時做動，不要把它黏死。 起落架參考Sketchfab上的3D模型，細節有一點差異，但是可以做為腳架黏合的參考。順帶一提，黏的時候搞砸了，接點斷掉導致這台機體沒辦法支撐站直 縫隙我首次使用補土來讓它好看一點 完成，按照網路彩圖上色，所以跟盒繪不太一樣。 圖集 # 這個套件提供的武器配置有飛彈和炸彈的零件，我選擇全部裝飛彈。 Mig-23 MLD最大後掠角時翼展7.779m，展開時翼展達13.965公尺。 機尾下方的邊條翼(strake)在起飛後才會放下 油箱前面的是23mm GSh-23L機砲，旁邊大顆的是R-73紅外線導引飛彈，小顆紅頭的是威力較弱的R-60飛彈。 Khatchaturov R-35-300引擎(圖曼斯基R-29改進版) 在靠近可以旋轉的翼根附近，有圓形的軌道。 關於這架MiG-23MLD的歷史背景 # 資料參考自英文維基百科。\nMLD型是Mig23最成功的型號，加強了高攻角的機動性能、加裝飛彈預警和「藍寶石」雷達。因為更先進的MiG-29即將量產之故，蘇聯空軍的MLD都是舊型改裝成MLD標準的。\n北約代號Flogger-K。武裝為R-73「射手」、R-60「蚜蟲」飛彈 ，可攜帶3000公斤炸彈和S-5火箭彈。\nMiG-23除了參與中東戰事外，知名事蹟還有1989年時的科特賴克戰鬥機空難，一架MiG-23在飛行員跳傘後卻繼續飛行，從蘇聯一路飛到比利時，砸死了一名男子。\n我組裝的這架MiG-23機身號碼64，隸屬120航空團(IAP)，多姆納(Domna)基地，外貝爾加山脈軍區。1988~1989年被派往阿富汗巴格拉姆和信丹德基地，參與阿富汗戰事。\n正方形框框就是多姆納基地的位置，現在裝備的是MiG-29和Su-25。 機身旁可以看到這架飛機的所屬單位標誌，這架飛機攝於1989年1月，阿富汗巴格拉姆基地。蘇聯為扶持親蘇政權而在1979年入侵阿富汗，後深陷於受美國和其他國家支持的伊斯蘭聖戰士的戰鬥長達10年，蘇聯在1989年撤軍，2年後蘇聯解體。\n參考來源: http://www.printscale.org/product_873.html 這架飛機打了一場無意義的消耗戰爭。 ","date":"2020年11月7日","externalUrl":null,"permalink":"/posts/zvezda-1-72-mig-23-mld/","section":"Artworks","summary":"蘇聯第一款可變翼超音速戰鬥轟炸機：MiG-23，北約代號Flogger，自1970年代起便參與全球各種戰事。\n這是Zveda於2015年推出的模型套件。 這個套件建議的塗裝為參與阿富汗戰爭(1979年～1989年)的MLD型，屬於1984年改裝的攔截機型號。\n組裝準備 # 2020年在台南市大同路的天鷹模型購入。這邊有一批好便宜的俄製模型…品質可想而知。我不是說老闆不好，是說俄國品牌Zvezda品質雖然沒有嚴重的裂縫，但是說明書未免也畫得太簡單了。 需要哪些塗料？原廠畫的圖太亂了所以我自己做了整理，又，臺灣買不到Humbrol的顏料，所以列出備案漆品牌。\n迷彩 Matt US Light Green Humbrol 117 = Vallejo 71.347 Russian AF Dark Green- 迷彩 Sand Humbrol 63 = XF59 迷彩 Matt Light Green Humbrol 120 =H312 =Vallejo 71.081 Ochre 迷彩 Matt Brown Humbrol 186 = Vallejo 71.246 Yellow Brown 機腹 Medium Crey Humbrol 145 = H337 迷彩引擎雷達罩 Dark Grey Humbrol 125 = H305 = Vallejo 71.339 Russian AF Grey N.3 整體 Polished Steel Humbrol 27003 = Vallejo 71.046 Pale Blue Grey Black = XF-1 White = XF-2 座艙 Matt Interior Green Humbrol 226 = H6(15%)+H74(85%) 基本色用田宮的就可以了，引擎用金屬色頂替。\n關於座艙的顏色，米格機應該全部是藍綠色才對？可是根據實機照片，有些彈射椅是黑色的沒錯；而座艙顏色我參考了這篇提供的配方，用田宮和郡氏的混出了比較接近水貼儀表板的顏色。\n田宮FLAT GREEN(15%) + 郡氏SKY BLUE(85%) ","title":"Zvezda 1/72 MiG-23MLD 阿富汗戰爭入侵塗裝，蘇聯可變翼戰轟機模型組裝過程","type":"artwork"},{"content":"Old Style Ferry Add-on\n按照委託所製作，雖然委託者把他們稱作渡輪(ferry)，適合生存模式使用。 大帆船，速度快。有5個座位，26格儲存箱。 小帆船，速度比原版的船還要快。3個座位，6個儲物箱。 掌舵的船長，只是裝飾，船還是要玩家開。 下載：\nhttps://linkvertise.com/154340/ferrymcaddon?o=sharing\nMinecraft Add-On安裝教學\n","date":"2020年11月2日","externalUrl":null,"permalink":"/posts/minecraft-old-style-ferry-add-on/","section":"Minecrafts","summary":"Old Style Ferry Add-on\n按照委託所製作，雖然委託者把他們稱作渡輪(ferry)，適合生存模式使用。 大帆船，速度快。有5個座位，26格儲存箱。 小帆船，速度比原版的船還要快。3個座位，6個儲物箱。 掌舵的船長，只是裝飾，船還是要玩家開。 下載：\nhttps://linkvertise.com/154340/ferrymcaddon?o=sharing\nMinecraft Add-On安裝教學\n","title":"【自製模組】舊式帆船 Minecraft Add-On","type":"minecraft"},{"content":"","date":"2020年10月22日","externalUrl":null,"permalink":"/tags/republic-of-china-air-force/","section":"標籤","summary":"","title":"Republic of China Air Force","type":"tags"},{"content":"國軍會不定時開放基地給大眾參觀，今年有幸跟著第一批到台南機場看各式軍機起飛衝場。這次來到的是位於屏東市的空軍第六混合聯隊。\n民國109年10月，修了可以折抵兵役日期的全民國防通識課，竟然破天荒的能到空軍基地參觀。\n嚴格說來，是教官安排的課程內容。這裡離屏東大學有點遠，我騎P-Bike要30分鐘才能到。\n坐軍用巴士繞機場一圈。因為不能拍照，只加上文字敘述。國軍裝備網路上都找得到，不必特別放圖。\n屏東市的空軍基地在日治時期就有了，後由國軍接收。第六混合聯隊前身是439混合聯隊，之所以叫混合是因為基地內主要有三型機：運輸、預警、反潛機。現役的分別是：\nC-130，運輸機。 E-2K，那個真的不是碟子，士官長 P3C，反潛機。 營區內有展示S-2T，C-119、C-46、F-86、F-104、F-5等退役戰機。用於反潛的S-2T鯊魚機感覺很熱門，可是這架不論在安平的德陽艦園區還是岡山航空教育展示館都能看得到，尤其安平的那架完全沒有警戒線。\n現在由P3C取代它，未來也許還能爭取開放體驗P3C的模擬飛行器。\n比較特別的是反潛機的職責應該是海軍，可是調派到空軍基地，所以機上會有一半是空軍人員一半是海軍。\n天空霧濛濛的，機場上照樣有軍機，在巴士的遠處停著三架P3C，E-2K則能從機棚的縫隙看到。\n比較讓我感動的是看到C-130起飛離陸的畫面，還有那個聲音，距離500公尺遠都能聽到螺旋槳的聲音。Youtube上隨便找一部C-130引擎聲都能吵死人。\n教官似乎都有坐過，覺得很吵要戴耳機。我覺得就算我自詡玩War Thunder模擬飛行，什麼引擎聲都難不倒我，真正能坐上去下來應該還是會耳聾。\n我記得去年上「屏東學」課程的時候，聽文創系教授說過他們要去抗議政府不願保留日治時期日本陸軍飛行第8聯隊遺跡的事情。\n基地裡還能看到空軍憲兵等單位，以及負責運輸的大客車「中隊」。\n雖然參訪時間很短，不過能近距離接觸各式軍機真的很難得，尤其第一次看到沒有戰鬥機的中隊，營區開放又有解說實屬可貴。\n那麼，你要簽下去了嗎？\n最近，完成Minecraft基岩版Add-On，Gotland和對馬，以及Bf-109G和Spitfire Mk.IX的模型之後。要來製作的是\u0026hellip;特二式內火艇！知波單的有點太花了還是做成艦これ的塗裝就好。\n最後，有一篇文章丁連財批判台灣英語文教育大崩壞：台灣大半研究生無法閱讀英文學術書籍和學術期刊論文，更甭談翻譯優良正確了的觀點認為，英語學習不可以只專注在特定領域（問題是我連自己的專業都\u0026hellip;）因此套用到軍事認識上，我專注在歷史和兵器本身太多了，是時候吸納其他人文政史來補充資料了，人眼裡不可以只有戰爭\u0026hellip;！\n因此就趁學校圖書館出清雜誌的時候A了幾本全球防務回來。\n","date":"2020年10月22日","externalUrl":null,"permalink":"/posts/visit-pingtung-airport-2020/","section":"Histories","summary":"國軍會不定時開放基地給大眾參觀，今年有幸跟著第一批到台南機場看各式軍機起飛衝場。這次來到的是位於屏東市的空軍第六混合聯隊。\n民國109年10月，修了可以折抵兵役日期的全民國防通識課，竟然破天荒的能到空軍基地參觀。\n嚴格說來，是教官安排的課程內容。這裡離屏東大學有點遠，我騎P-Bike要30分鐘才能到。\n坐軍用巴士繞機場一圈。因為不能拍照，只加上文字敘述。國軍裝備網路上都找得到，不必特別放圖。\n屏東市的空軍基地在日治時期就有了，後由國軍接收。第六混合聯隊前身是439混合聯隊，之所以叫混合是因為基地內主要有三型機：運輸、預警、反潛機。現役的分別是：\nC-130，運輸機。 E-2K，那個真的不是碟子，士官長 P3C，反潛機。 營區內有展示S-2T，C-119、C-46、F-86、F-104、F-5等退役戰機。用於反潛的S-2T鯊魚機感覺很熱門，可是這架不論在安平的德陽艦園區還是岡山航空教育展示館都能看得到，尤其安平的那架完全沒有警戒線。\n現在由P3C取代它，未來也許還能爭取開放體驗P3C的模擬飛行器。\n比較特別的是反潛機的職責應該是海軍，可是調派到空軍基地，所以機上會有一半是空軍人員一半是海軍。\n天空霧濛濛的，機場上照樣有軍機，在巴士的遠處停著三架P3C，E-2K則能從機棚的縫隙看到。\n","title":"修大學國防課，就獲得了屏東空軍基地參訪機會","type":"history"},{"content":"","date":"2020年10月16日","externalUrl":null,"permalink":"/tags/finnish-air-force/","section":"標籤","summary":"","title":"Finnish Air Force","type":"tags"},{"content":"從偵察小隊到多用途的戰鬥機部隊，芬蘭空軍（FINAF，芬蘭語：Ilmavoimat）是世界上歷史最悠久的空中作戰武力之一，自1918年成立以來就沒有中斷過。\n這篇文章節譯自芬蘭空軍官網的英文簡介，時間為一戰～二戰。並由筆者稍微補充一點圖片。\n譯者：Ivon Huang 原始文章：https://ilmavoimat.fi/en/history 芬蘭行政區劃，首都赫爾辛基在國土最下方。 芬蘭舊版空軍徽章（左）和新版空軍徽章（右） 1. 芬蘭空軍的創立（1918年） # 芬蘭空軍最早的戰鬥機，圖林D型。1918年攝於瓦薩。\n在芬蘭獨立之前，芬蘭地區航空軍事力量的由俄羅斯帝國空軍主導。\n促使空軍發展的導火線是在俄羅斯革命後的1918年1月，芬蘭紅軍與白軍的軍事敵對所引起。白軍的指揮官是C.G.E. Mannerheim 將軍。\n1918年晚冬，白軍接受瑞典捐贈一批飛機，隨之而來的外國部隊構成了芬蘭空軍的根基。2月底抵達芬蘭的第一批飛機，分別是NAB九型信天翁，和一架偵察機、教練機。然而因為引擎故障，飛往瓦薩交付的飛機便在雅各布斯塔德降落。\n因此，圖林D型偵察機通常被視為芬蘭空軍的第一架飛機。1918年3月6日抵達瓦薩。\n這一天也成為慶祝芬蘭空軍成立的日子，這架飛機為瑞典Eric von Rosen伯爵捐贈，機翼上漆有他個人的幸運符號：右旋的藍色卐字，跟納粹德國的卐字是不同的。之後這個符號就被瑞典空軍採用作為機徽，用到1945年。近代的芬蘭空軍已經改用藍白相間的圓形機徽代。 在創立的初期，空軍手頭擁有的飛機多混雜著他國捐贈和輸入的各式飛機，以及俄羅斯叛逃飛行員帶來的機種。\n除了從外國購買飛機外，芬蘭也僱用外國人員。例如第一批飛行員和指揮官，當中就有瑞典人和德國人。\n在1918年戰事進行時，芬蘭空軍的規模相對來說比較小，在臨時鋪設的結冰湖面及空地操作各式各樣的飛機，執行偵察巡邏，轟炸，灑傳單等任務。\n1918年芬蘭空軍擁有2支飛行分隊，一個位在北皮爾卡的科霍爾，另一個在Viipuri省的Antrea。戰後初期，空軍開始重組，在北屈米區Utti成立陸上航空隊，在卡累利阿的索爾塔瓦拉和科伊維斯托、赫爾辛基的桑塔哈米納島成立水上航空隊。該島也是現今衛隊獵人團的駐地，那裡有水上機的港口和陸上跑道。\n在創立伊始，芬蘭空軍便發展為獨立的軍種，不同於同時期他國空軍依附於陸軍或海軍之下。\n2. 確立發展方向（1920～1930年代） # 在1920年代～1930年代，芬蘭空軍較為注重海上行動，漢莎-布蘭登偵察機是為其主力。\n1918年戰爭結束後，新成立的空軍漸趨穩固，芬蘭人開始規劃部署空中武力。\n當時一次大戰尚未結束，芬蘭將空軍人員送往德意志帝國受訓。帝國崩潰後，在1919年轉移到法國。\n接下來1920年代到二戰爆發前，芬蘭空軍開始受到英國影響。芬蘭聘請英國專家，同時也把人員送到英國受訓。\n1920年代早期，芬蘭的主要集中發展海上航空力量，因為芬蘭國內有許多湖泊，所以空軍主要是在這些水域執行觀測，偵察，監視的任務。\n這也就是芬蘭空軍選擇浮筒水上機作為主力的原因。IVL A.22漢莎就是最適當的機種。自1922年開始，派崔亞公司的前身Ilmailuvoimien Lentokonetehdas（空軍飛機工廠）取得德國授權，生產了122架IVL A.22。\n後來，芬蘭空軍繼續發展多元的裝備。少量引進外國機種，作為授權生產或國產戰機的參考。1928年，首架芬蘭自行設計組裝的教練機“Sääski”（蚊子）開始生產。 即使空軍比較注重水上機的發展，陸上飛機也一點都沒有少。1923年，空軍開始籌辦飛行員訓練課程。\n1920年代，空軍除了組建海上中隊以外，還有按照航空站分隊所在設立的陸上中隊，擁有戰鬥機及轟炸機。\n海上武力的主場在1930年代落幕，空軍將發展的哲學過渡到陸上飛機。飛機發展的和戰略的轉變，起因於1927年引進的英國格羅斯特鬥雞戰鬥機，在芬蘭本國授權生產。 1920年代末期引進的鬥雞戰鬥機，加強了芬蘭空軍在戰鬥機方面的軍事力量。\n同時期芬蘭空軍也重新安排訓練課程。1929年，原駐於赫爾辛基桑塔哈米納的空軍學校遷移到博滕區的卡哈瓦，用於訓練飛行人員和地勤作為後備力量。 空軍學校旗\n1930年代，國際上盛極一時的杜黑「空權論」同樣影響了芬蘭空軍。杜黑認為，戰爭勝負取決於一支擁有強力進攻能力的空軍，以轟炸機作為主要攻擊武器。這也反映在芬蘭空軍對物資的需求以及軍事的組織上，二者都往轟炸機的發展方向傾斜。\n眼見大戰威脅在即，芬蘭空軍自1936年開始實施大規模的準備計畫，採購和授權生產新戰機，交付給重新改組的航空團下屬的戰鬥機中隊、聯合作戰中隊以及遠程（remote）作戰中隊。 在計畫中，芬蘭空軍從荷蘭購買了福克D-XXI戰鬥機和福克C.V輕型偵察轟炸機，還有從英國引進布里斯托布倫亨輕型轟炸機。\n但是，隨著1930年代國際政治氛圍急劇升溫，芬蘭空軍的軍備計畫沒有完成，飛機的購買也無疾而終。不論如何，在這個軍備案中採購的飛機將會在1939年11月爆發的冬季戰爭起到重要作用。\n3. 戰爭歲月（1939～1945年） # 地勤正在給一架布倫亨式轟炸機加油，芬蘭中部，Luonetjärvi湖旁，1940年晚冬。\n芬蘭空軍在冬季戰爭和繼續戰爭中接受考驗。戰爭一開始芬軍的軍備十分匱乏，但高質素人員彌補了這個劣勢。\n冬季戰爭 # 1939年9月納粹德國入侵波蘭，二戰爆發。隨後進入秋季，芬蘭和蘇聯間的衝突越來越明顯。\n11月30日，伴隨著對芬蘭城市的大規模轟炸，冬季戰爭爆發。芬蘭戰鬥機忙於應付蘇軍轟炸機，隔日隨即爆發第一場空戰。\n芬蘭空軍的力量此時已經比不上戰爭爆發時的樣子，因為先前的準備計畫沒有完成，芬蘭空軍只有少量新式的戰鬥機。\n芬蘭空軍只有100架飛機能作戰，他們將要首次面對蘇聯1000多架飛機的龐大壓力，而且戰爭後期敵機的數量還翻了一倍。 福克D.XII是冬季戰爭時芬蘭空軍的主力戰鬥機。\n芬蘭透過購買飛機（布魯斯特Model 239、飛雅特G.50、霍克颶風）和接受捐贈（M.S.406）來改善軍備情況。但是直到1940年戰爭結束為止，戰事只持續了105天，證明從美國等國購買的飛機來不及形成足夠的戰力。 芬蘭的G.50\n芬蘭的颶風\n芬蘭的MS.406\n冬季戰爭中，空軍主要是在前線的後方本國領土區阻擊蘇軍的轟炸機。此外，轟炸機和偵察機負責在蘇軍後方偵查巡邏，確認前線狀況和決定空襲目標。不幸的是，因為缺乏飛機，空軍僅能對地面友軍部隊做有限的攻擊支援。\n在戰爭即將結束時，軍備情況獲得改善，透過購買和捐贈共取得了100架以上的戰鬥機和轟炸機。到了1940年3月，芬蘭空軍專注在對付維堡灣和芬蘭灣發起攻勢的蘇軍地面部隊。\n冬季戰爭中，芬蘭空軍有300次空戰勝利的紀錄，損失62架、受損35架。超過300架以上的蘇軍戰機被芬蘭防空火力擊落。並且有75名飛行員死亡或失蹤。\n10名飛行員贏得了5次或以上的空戰紀錄，符合國際認定的「王牌」資格。其中最傑出的飛行員是Jorma Sarvanto中尉，駕駛福克戰機取得13次空戰勝利。在1940年1月6日，僅受過4～5分鐘空戰訓練的Sarvanto．就打下了6架伊留申DB-3轟炸機，是為世界紀錄。 Jorma Sarvanto中尉\n芬蘭空軍的奮戰獲得了國際的關心，除了軍備捐贈外，還接收了志願軍，例如瑞典人組成的F19航空團，負責芬蘭北部的攔截、轟炸、空中偵察等任務。 紅色為冬季戰爭中割讓的領土。\n繼續戰爭 # 冬季戰爭最後以芬蘭割讓領土給蘇聯作結。在短暫的和平期間，芬蘭空軍快速壯大。\n國營飛機工廠修敷損壞的機種，繼續建造授權生產的飛機。此外，冬季戰爭時訂購的飛機，現在已經可以投入使用。另一方面德國想趁機與芬蘭建立進一步的合作關係，因此把德軍從前線繳獲的各型戰機轉交給芬蘭空軍。\n戰間期的計畫包括增強防空火力，改善航空基地的標準設備，並進一步發展防空指揮和控制系統。\n1941年6月芬蘭開始動員全體軍隊。6月22日德國入侵蘇聯，空戰正式展開。早在6月初德國空軍便已進駐芬蘭，由第五航空艦隊指揮芬蘭北部的軍事行動。\n6月25日，蘇軍空襲芬蘭，爆發了繼續戰爭中的第一次空戰。\n此時芬蘭空軍已經擁有全新編制，由2個戰鬥機飛行團和1個轟炸機飛行團組成。\n除此之外， 其中一個飛行團下分為3個聯合作戰中隊，由三軍聯合部隊（combined arms formations）指揮。另一個海上偵查中隊負責反潛任務，由海軍指揮。\n戰鬥機主力為布魯斯特、飛雅特、福克D.XXI、MS.406、寇蒂斯戰鷹。偵查和輕型轟炸機主要為福克C.X和布里斯托布倫亨式。總計空軍擁有550架飛機。 美國原先設計用於航母上服役的布魯斯特水牛式，雖然不是很成功，但是在芬蘭空軍參與的繼續戰爭早期扮演重要的角色。圖為傳奇飛行員Hans Wind上尉和他的布魯斯特。攝於1943年。\n相較於冬季戰爭時，本土的威脅減少，因此繼續戰爭初期芬蘭空軍就可以專注在支援卡累地阿地峽、斯維里河地區、Maaselkä Isthmus地區進發的集團軍。芬蘭空軍還牢牢握有前線制空權，因為蘇聯需調動部隊南下，阻擋德國巴巴羅薩作戰的進攻。\n同年12月底，戰線漸趨穩固。接下來2年進入陣地戰，這時芬蘭空軍又進行改組以應對新的情勢。\n在奧涅加湖及Maaselkä地區的Aunus地峽和卡累地阿地峽都成立了混合戰鬥機與偵察機的飛行團，此外還有遠距作戰及轟炸飛行團成立。最後，在芬蘭灣另外成立一支航空團用來保護芬蘭南部。\n在陣地戰進行的時候，空軍負責偵察飛行，並且在長距離飛行時支援各種任務，像是轟炸，空中突擊和輸送人員物資。同時還要為友軍提供空中支援，攔截空襲本土的敵機等。\n沒有作戰的時候飛行任務會減緩，芬蘭空軍因此有了發展作戰能力的機會。例如戰鬥機的空中指揮和作戰指令等的改進。\n芬蘭空軍這時也裝備了新式飛機，其中主要有德國Do-17和Ju-88轟炸機，梅賽施密特Bf-109戰鬥機．隨著戰爭進行，這些飛機無可或缺，因為繼續戰爭時使用的機種已開始跟不上蘇軍的戰機性能。 梅賽施密特Bf-109可以說是繼續戰爭後期，芬蘭空軍用於防守的最佳戰鬥機。相片為芬蘭空軍飛行員正在戰機前待命，攝於1943年的Utti。\n國營飛機工廠也在現有的飛機上自行改良（雖然數量不多），成果有Humu，木製機翼的布魯斯特；還有全木製戰鬥機Myrsky和Pyörremyrsky。 VL Humu\nVL Myrsky，意思為「暴風」\nPyörremyrsky，意思為「颶風」\n1944年6月9日，蘇聯發起大規模攻勢，芬蘭陣地戰就此瓦解。芬軍撤退至卡累地安東部的卡累地阿與Aunus地峽。芬蘭空軍不分晝夜地派出許多轟炸機支援。\n德軍駐紮在因莫爾機場的庫邁爾分隊擁有戰鬥機，戰轟機和俯衝轟炸機。芬蘭軍的空防因此得到加固。\n為了阻擋蘇軍攻勢，在卡累地阿爆發了塔利-伊漢塔拉戰役，戰役從6月25日持續到7月9日。17日，芬軍成功阻擋了維堡灣和Vuosalmi地區的攻勢。\n到1944年9月雙方簽訂停戰協定為止，芬蘭空軍取得了1600次空戰勝利，投下了3000噸的炸彈。陸上基地的中隊摧毀了1030架敵機，海軍75架。\n然而芬蘭空軍也有182架飛機在作戰中損失或者無法修復，160名人員傷亡，還有24名飛行員被俘虜。總計有155名飛行員曾獲得空戰勝利。在他們之中，至少87名飛行員有至少擊落5架的戰績，夠格稱為王牌。以芬蘭的人口比例來看，這樣的數目也可以說是世界紀錄了。\n戰爭中戰績最高的是准尉Eino Ilmari Juutilainen和上尉Hans Wind，分別取得94次和95次空戰勝利。\nEino Ilmari Juutilainen准尉 《強襲魔女》的艾拉即以Eino Ilmari Juutilainen准尉他作為原型。小八卦：這個飛行員的兒子在Youtube上看到艾拉的影片後決定要去追這部番。 上尉Hans Wind 《強襲魔女》裡Hans Wind的名字叫做漢娜。 冬季戰爭和繼續戰爭中芬蘭飛行員的傑出表現可歸納出以下因素。主要歸功於從1930年代到大戰末期，由Richard Lorentz和Gustaf Erik \u0026ldquo;Eka\u0026rdquo; Magnusson上校所持續發展的空戰戰術以及空中指揮系統。\nLorentz和Magnusson所制定的規範認為有必要發展指揮控制系統，同時提供天氣狀況圖，讓戰鬥機可以靈活運用小型航空艦隊來在空戰中逐步取得空中優勢。\n此外，他們也強調高質素空戰戰術、飛行員空中射擊訓練的重要性。\n拉普蘭戰爭 # 對芬蘭空軍來說，1944年8月爆發的拉普蘭戰役就是二戰最後的戰事。作為與蘇聯停戰協定的一部分，芬蘭發起多次軍事行動，驅逐芬蘭北部的德軍。\n芬蘭北方有一支特殊的德軍戰鬥機與轟炸機混合分隊，主要任務為支援芬蘭陸軍的軍事行動，負責攔截，偵查和轟炸。然而因為距離過遠、天氣不佳、通訊不便，且德國撤軍後人員短缺，這項任十分艱鉅。此外，德軍手頭還有許多高品質的飛機。\n因此傷亡率非常高：1945年4月作戰結束時，德軍分隊60架損失10架，16名人員傷亡，2名被捕。拉普蘭戰爭中、同時也是芬蘭空軍的二戰中的最後一個行動，為4月4日由都尼爾轟炸機進行的偵照任務。\n4. 戰後 # 繼續戰爭的結束使得芬蘭的軍事行動幾乎停止。自1944年停戰以來，盟軍委員會發出的航空禁令中斷了芬蘭空軍的訓練活動，直到1945年8月解除。\n和平也意味著裁軍的到來。\n1947年簽訂的巴黎和平條約規定，芬蘭最多擁有60架戰鬥機種，空軍人員少於3000人。該條約也規定芬蘭不可以擁有內置彈艙的轟炸機，以及可以掛載飛彈和投放核彈的飛機。\n還有，從von Rosen公爵流傳下來的藍色卍字機徽改成藍白色圓形，一直沿用到現在。 這些限制條款，使得芬蘭大量廢棄戰爭期間留下來的飛機，空軍相關人員也返回民間工作。\n大部分轟炸機和舊式戰鬥機都被拆解。最後，芬蘭空軍只留下100多架飽受戰火摧殘的Bf-109，作為戰後空軍主力。在那之後，芬蘭要很長一段時間才能取得噴射機，並且為求在西方國家與蘇聯之間生存，與蘇聯越走越近。\n","date":"2020年10月16日","externalUrl":null,"permalink":"/posts/finnish-air-force-wwii/","section":"Histories","summary":"從偵察小隊到多用途的戰鬥機部隊，芬蘭空軍（FINAF，芬蘭語：Ilmavoimat）是世界上歷史最悠久的空中作戰武力之一，自1918年成立以來就沒有中斷過。\n這篇文章節譯自芬蘭空軍官網的英文簡介，時間為一戰～二戰。並由筆者稍微補充一點圖片。\n譯者：Ivon Huang 原始文章：https://ilmavoimat.fi/en/history 芬蘭行政區劃，首都赫爾辛基在國土最下方。 芬蘭舊版空軍徽章（左）和新版空軍徽章（右） 1. 芬蘭空軍的創立（1918年） # 芬蘭空軍最早的戰鬥機，圖林D型。1918年攝於瓦薩。\n在芬蘭獨立之前，芬蘭地區航空軍事力量的由俄羅斯帝國空軍主導。\n促使空軍發展的導火線是在俄羅斯革命後的1918年1月，芬蘭紅軍與白軍的軍事敵對所引起。白軍的指揮官是C.G.E. Mannerheim 將軍。\n1918年晚冬，白軍接受瑞典捐贈一批飛機，隨之而來的外國部隊構成了芬蘭空軍的根基。2月底抵達芬蘭的第一批飛機，分別是NAB九型信天翁，和一架偵察機、教練機。然而因為引擎故障，飛往瓦薩交付的飛機便在雅各布斯塔德降落。\n因此，圖林D型偵察機通常被視為芬蘭空軍的第一架飛機。1918年3月6日抵達瓦薩。\n","title":"跟德國合作對抗蘇聯，芬蘭空軍(Ilmavoimat)一戰～二戰的歷史","type":"history"},{"content":"","date":"2020年9月26日","externalUrl":null,"permalink":"/tags/fleet-air-arm/","section":"標籤","summary":"","title":"Fleet Air Arm","type":"tags"},{"content":"","date":"2020年9月26日","externalUrl":null,"permalink":"/tags/royal-navy/","section":"標籤","summary":"","title":"Royal Navy","type":"tags"},{"content":"1944年4月3日，英國皇家海軍派出20架地獄貓和F4F「岩燕」，護航梭魚式轟炸機，以超低空飛行前往德軍的港口\u0026hellip;他們的目標是躲藏在挪威峽灣裡的德軍戰艦「鐵必制」！\n遊戲《War Thunder》已經實裝了很多外國軍援的飛機，英國的也不例外\u0026hellip;都是金幣機，除了一架活動限定以外。美國提供的飛機悉數能在遊戲中見到：\nTBM復仇者 艦上轟炸機 岩燕Mk.IV 艦上戰鬥機（活動載具） 海盜Mk.I 艦上戰鬥機 地獄貓Mk.II 艦上戰鬥機 F6F「地獄貓」在太平洋戰場的出現，完全壓倒了日本的零式戰鬥機。其相較於海盜穩定的降落性能，堅固的機身，為美軍立下許多戰功。在大洋彼岸，雖然數量不多，英軍也很喜歡地獄貓。\n這篇文章主要介紹英國F6F在歐洲的作戰史，包括英軍為什麼要向美軍買艦載機的原因。\n1. 英國海軍為何要向美軍購買艦載機 # 在二戰期間，英國皇家海軍(Royal Navy)極需要一款性能優異的氣冷艦上戰鬥機。因為經濟緣故和指揮系統，大部分空優任務皆由空軍負責，海軍能分配到的資源很少，直到二戰結束沒有一架氣冷引擎的戰機能服役。\n皇家海軍航空隊(Fleet Air Arm)的用兵思想是，航艦上的飛機只是敵人的潛在威脅。如果攔截任務能對敵機造成損害就很好了。航艦一般不會在敵攻擊機航程內的海岸活動，並且英軍航艦常常在只有陸基飛機的掩護下作戰。\n有皇家海軍飛行員曾說：\n「從大戰開始到結束，皇家海軍航艦接收到的英製單發戰機不是過時，就是不適合在航艦上操作。」\n空軍的噴火式以及颶風式雖然能改裝成海火、海颶風式，可是在航艦上水冷引擎不好保養，並且著艦不易，海火還有航程很短的問題。另一方面，英軍研發的雙座艦載機如布萊克本「大鵬」、費爾雷「海燕」，是一人駕駛一人導航，但是都沒辦法與敵軍戰鬥機抗衡。於是皇家海軍就把目光放到美國公司的產品，正好美國也通過《租借法案》，開始向盟邦援助武器。\n皇家海軍曾購買過格魯曼公司的F4F「野貓」，英軍將其稱作「岩燕」Martlet，到1945年為止購買了超過1000架。\n相較於美軍用數字表示改型，英軍會把戰機後面加上「Mark.」。\n英軍購買的還有錢斯沃特F4U「海盜」、格魯曼「TBM」復仇者（英軍稱作海鰱）、F6F「地獄貓」（英軍稱作塘鵝）\n不過，1944年這些美製戰機都改回原本美軍的名字。\n皇家海軍接受到的第一批252架F6F-3，按照當時皇家海軍的命名系統稱作Gannet Mk.I，意為塘鵝式Mk.I。1943年6月，這些塘鵝Mk.I取代了800中隊的海颶風。\n格魯曼公司後來改良F6F-3成F6F-5，擁有更強力的引擎，英軍接收一批930架的F6F-5則稱作塘鵝Mk.II。\n2. 地獄貓攻擊鐵必制戰艦 # 1943年4月3日，英軍在北海發起「鎢素行動」（Operation Tungsten），旨在攻擊躲藏在挪威峽灣裡的北方女王「鐵必制」 ，她的存在對皇家海軍是個潛在的威脅。 https://nordnorge.com/en/artikkel/tirpitz-played-a-major-role-in-the-war-drama-in-northern-norway/\n參與攻擊的有：\n勝利號 HMS Victorious，1834中隊（海盜式）、1836中隊（海盜式）、827中隊（梭魚式） 暴怒號 HMS Furious (47)，830中隊（梭魚式） 皇帝號 HMS Emperor (D28)，800中隊（塘鵝Mk.I） 擊劍者號 HMS Fencer (D64) 追趕者號 HMS Purser (D73)，881中隊（岩燕Mk.I） 搜索者號 HMS Searcher (D40)，882中隊（岩燕Mk.I） 1943年4月3日清晨4：00，第一波戰機開始升空。勝利號上的1834和1836中隊的10架海盜式首先起飛，再來是第8飛行隊的21架梭魚式，其中7架帶有1600磅的航彈，其餘則為5~600磅半穿甲炸彈。\n接著，勝利號上827中隊、暴怒號830中隊的梭魚式相繼起飛。\n最後則是800、881、882中隊的共計40架的護航機隊起飛，於4：37組成隊形。\n皇帝號護衛航母 https://www.royalnavyresearcharchive.org.uk/ESCORT/EMPEROR.htm\n其餘艦載機如801、880、842中隊的海火在航母群附近負責警戒，劍魚式擔當反潛任務。\n從皇帝號上起飛的地獄貓 為了躲避德軍雷達偵測，第一波攻擊隊以15m超低空飛行，越過峽灣，之後爬升到2100m。5：30，在利菲尤爾發現了藏匿多時的鐵必制戰艦。\n鐵必制的船員在聽到警報聲後立即就戰鬥位置，但是攻擊來的太突然，損管人員還沒就定位。\n按照計畫，由塘鵝和岩燕掃射艦上和岸上的防空火力，癱瘓德軍的防空系統。之後梭魚開始投彈，總計10發命中，但是因為投彈高度太低，沒能貫穿鐵必制的上部裝甲。\n800中隊的地獄貓 http://wp.scn.ru/en/ww2/b/576/9/0\n5：25分，發起第二波攻擊，這次只有2架梭魚搭載1600磅航彈。40架戰鬥機護航魚雷機，德軍升起的煙幕阻擋不了攻擊，岩燕和塘鵝仍是負責攻擊對空火力。6：36分，鐵必制在一分鐘內遭1枚1600磅和4枚500磅炸彈命中。\n梭魚式的航彈，飛行員用粉筆寫上「送給你的，鐵必制」 鐵必制雖然沒有擊沉，但是也受到了嚴重損害，共122人陣亡，316人受傷。受損部分是上部建築和砲塔，水上機彈射系統損壞。煙囪管線也因炸彈破片毀損；右舷的鍋爐渦輪機被震波影響，在滅火之後，2個鍋爐停擺。直到6月前都無法行動。\n英軍方面損失4架飛機，共9人。\n在這次行動後，少校Stanley Orr總結道：「這次行動證明了地獄貓是優良的武器投射平台。」\n3. 當地獄貓遇上Bf-109 # 攻擊鐵必制號之後，塘鵝式取得了歐洲戰場第一次，也是唯一一次的空戰勝利。\n1944年5月，800中隊 中尉B. Ritchie座機 1944年5月，皇帝號上的800中隊塘鵝起飛，與其他航艦共同護航梭魚式，當時遭到德軍JG5的Bf-109和Fw-190攔截。\n【參考用，非當事人】14./JG5的Fw-190 http://www.thescale.info/news/publish/14-Jabo-JG5.shtml\n【參考用，非當事人】4./JG5的Bf-109G6 https://www.asisbiz.com/il2/Bf-109G/JG5/pages/Messerschmitt-Bf-109G6R3-4.JG5-White-1-Gunther-Schwanecke-Finland-Feb-1944-0A.html\n不同於太平洋戰場對上零式有絕對優勢，德軍不論是Bf-109G或是Fw-190A都能輕易追上塘鵝，塘鵝只能利用較小的轉彎半徑接戰，在此之前岩燕對上德國空軍的戰術也是如此。\n這次戰鬥中損失2架塘鵝，擊落3架德機。其中一架Fw-190戰果由中尉B. Ritchie取得，他在飛海颶風時已有三又二分之一的擊墜數。\n6天後，塘鵝又再次遭遇德國空軍。只是這次的目標是雙發水上機亨克爾He-115，Richie擊墜一架，另一架則是與少校S. G. Orr一同擊墜。\n德軍的亨克爾He-115 Orr回憶說：「我們再次降低速度，轉向剩下的三架He-115，他們在水面上載浮載沉像是鴨子一樣，白色飛行隊(White Flight)攻擊其他He-115機耗光了他們的子彈，所以我們就把剩下的給解決掉。來自800中隊的Holloway少尉被He-115的自衛火力擊中，返航時被迫跳機，很可惜之後他就沒回到艦上了。」\n4. 從北歐到地中海的地獄貓 # 1944年6月，盟軍登陸法國西部諾曼第海灘。二個月之後，盟軍又在法國南部發起了「龍騎兵行動」登陸普羅旺斯。\n護衛航母皇帝號參與攻擊行動。此時的皇帝號上的F6F-3開始有換裝為更新更強的F6F-5，稱為Hellcat Mk.II。\n做為戰轟機，F6F-5與海火相比，擁有更佳的掛載能力，火箭可以搭載6具而海噴火只有4具。\n1944年6月，皇帝號上800中隊的塘鵝Mk.I 參與登陸行動的還有美軍的航艦，其中裝備F6F的為護衛航母圖拉吉（USS Tulagi）和護衛航母卡桑灣（USS Kasaan Bay）\n圖拉吉航母的指揮官，上校“Bush\u0026quot; Bringle擁有一支特別的戰鬥機偵查部隊(VOF-1），因為過去使用水上機進行偵查過於危險，因此這支部隊擔當偵查敵方海岸火力點的任務時，也負責戰鬥。\n「我們喜歡的是海盜。」Bringle說道。他手下的飛行員之前是飛F4U-1，可是海軍高層認為他們解決不了F4U的著艦問題，因此圖拉吉號航母上的VOF-1和VF-12艦載機變成F6F為主。\nVOF-1的F6F返航降落在圖拉吉號。 卡桑灣號由少校Harry B. Bass指揮的VF-74中隊雖然是用於空戰，但在這次的任務中轉變成對地、偵查用途，儘管他們軍備的情況似乎不適合執行這類任務。\n卡桑灣航母上VF-74的F6F-5 盟軍的9艘航艦共計有220架戰鬥機，當中97架為海火、71架地獄貓、52架野貓。另外還有卡桑灣艦上的7架F6F-3N夜間戰鬥機。\n5. 美軍地獄貓在法國的戰鬥 # 1944年8月15日，在一片灰暗霧中，美軍二個中隊開始攻擊波克羅勒島沿岸的德軍火力陣地，轟炸時甚至把350磅的深水炸彈也拿來用。\n雖然VOF-1和VF-74都沒有受過空中密接支援的訓練，他們還是會回應地面上美國第六軍的攻擊請求。不過陸軍給的指示很多都含糊不清，飛行員根本無從判斷要攻擊哪裡。\n相較之下，亞爾和Mirenas之間的鐵路是比較明顯的目標，地獄貓主要破壞鐵路，阻止德軍南下增援陸軍G軍團。\n中尉Fred Schauffler看到二條鐵路，他說就像是「五點鐘開往波士頓的火車」\n在一天內，二艘航母的機隊就出擊了100次，VF-74的一架F6F被防砲擊中，無法放下著艦鉤，降落到科西嘉島維修。\n17日午後，雷雨交加，二架地獄貓在搜尋目標時，脫離6機編隊後失蹤。\n19日，VOF-1油料耗盡的F6F降落在皇家海軍皇帝號上。在稍早好不容易遇到了德軍軍機，但是油料不足無法交戰。\n美軍F6F從皇帝號上起飛。注意美軍的機徽是五角星，塗裝跟英軍的有很大差別。 傍晚，二個圖拉吉航母的小隊在隆河上空偵查時遇上二架He-111。少校John H. Sandor的小隊衝入機群中，二架He-111隨即分開，接著中尉Rene E. Poucel和少尉Alfred R. Wood共同點燃了一架。他墜毀的地方正好是Poucel的家鄉。\n另一架He-111由少校Sandor和少尉David Robinson從右後方200公尺的距離開火擊墜，墜毀後地獄貓繼續補刀點燃飛機，逃出來的轟炸機乘員則死於二人掃射的火網下。\n之後，Wood在維埃那南方發現了第三架He-111。他從600公尺後接近，二個引擎雙雙被點燃，爆炸墜入樹林。\nSandor小隊則另外摧毀了21輛迷彩偽裝的卡車、1輛機車，還有點燃10台貨運火車。\n同一天，VF-74也有所斬獲。早上8：05分，Bass的小隊在隆河上空擊墜一架Ju 88，戰果由4名飛行員共享。8小時後，在里昂南部，6架F6F遇上一架Do-217，飛行員馬上開火，而中尉E. W. Castanedo以及少尉C. W. Hullard等到適當距離時才攻擊，戰果一人一半。\n8月20日，最黑暗的一天。VF-74損失3架F6F，當中包含指揮官Harry B. Bass，在Chamelet掃射時被防砲擊中，飛機失去控制墜毀。\nVOF-1中隊的中尉David S. Crockett 在偵查土倫港的火炮陣地時被迫跳機，在港口北部被俘，僅僅四天後因為守軍向盟軍投降，David便重新回到了航母圖拉吉上，成了二戰俘虜時間最短的戰俘。\n另一名中尉James Alston在濱海自由城攻擊馬車時被擊中，爬升到1500公尺後跳機。特遣部隊的廣播回報說Alston平安無事，並且有75輛載具被毀。\n21日，中尉Edward W. Olsewski和少尉Richard V. Yentzer在隆河上空發現3架Ju-52，上面載的很可能是從馬賽來的納粹高官。不顧飛機之前已在戰鬥中受損，Olsewski從敵V形陣型右方切入，二次來回射擊擊落第三架，只有一架飛機開火回擊，隨後Olsewski擊落另外一架。Yentzer則從9點鐘方向來回攻擊第一架Ju-52，之後其便燃燒墜落。\n德國容克斯Ju-52，3引擎的運輸機。 同日，中尉J. H. Coyne在俯衝攻擊卡車時機身解體，在降落傘打開前撞擊地面死亡。這是整個作戰中損失的第9架地獄貓。\n21日晚間美軍護衛航母退出前線回去整補，由皇帝號接手他們的任務。光是在22日一天內就有3架地獄貓被防空砲擊落。24日美軍回到前線。 龍騎兵行動進展順利，德軍主力退回瑞士後剩餘軍隊全數投降。24日到29日間2架地獄貓在水面迫降，其中一架是圖拉吉號指揮官，少校Bringle，在馬賽上空挨了好幾發防空砲。他們都安全的回到航艦上。\n總計13天的作戰中，二艘美國航母損失了四分之一（11）架的地獄貓。戰果為825輛卡車等各式載具、損壞334輛，破壞或癱瘓84輛摩托。擊落德國軍機8架，破壞許多鐵軌和通訊系統。\n護航總指揮， 皇家海軍少將T. H. Troubridge給予地獄貓的攻擊性能高度讚揚。還在戰鬥報告中特別寫了一段：「美國飛機，尤其是F6F，證明了他們的確很優異。」\n6. 地獄貓進軍太平洋 # 後話：回到太平洋戰場後，Bringle的聯隊改組為混合中隊（VOC），改飛野貓後期型FM2，為航母護航。他們偵查火炮陣地的能力應該是1945年美軍艦載機中隊中最強的。中尉Olszewski在法國擊落二架Ju-52後，又宣稱在沖繩上空擊落了一架九七式艦攻，成為唯三有同時擊落德國與日本戰機的飛行員。\n之後英軍跟隨美軍進攻太平洋，地獄貓也跟美軍的F6F並肩作戰，太平洋戰場的塗裝也從北海，調整成美軍的樣式。 https://weaponsandwarfare.com/2019/06/29/hellcats-in-the-royal-navy/\n二戰期間，英國共購買了1300架地獄貓，在1946年8月按照租借法案的規定，還給美國。\n7. F6F與Bf-109比較 # 在海平面高度，F6F和Bf-109皆掛油箱的情況下極速一樣為490kph。\n在6700m高度，F6F-3 VS Bf-109G型的速度為 603 kph vs 590kph。\n若比較轉彎能力，Bf-109翼載42ft²，比不上F6F的36ft²。\n不過Bf-109擁有爬升優勢和垂直格鬥能力。Bf-109動力負載為4.9ft²，F6F則為6.1ft² 。即Bf-109爬升率每分鐘1.03km，F6F則是0.76km。\n雖然如此，Barrett Tillman認為Bf-109駕駛仍然要很熟練的進行垂直格鬥才能抵銷地獄貓的迴旋優勢。\n火力方面，Bf-109不掛砲則只有機首的二門Mg131機槍和一門Mg151 20mm機砲，而F6F有6門機翼上的12.7mm機槍。\n生存性方面，Bf-109裝備的是戴姆勒賓士DB605水冷引擎，F6F是普惠R-2800雙黃蜂氣冷引擎。F6F厚實的機身、視野較佳的座艙給給予F6F更高的抗打擊能力。\n如果跟Fw-190比較，根據試飛過457架各型飛機的飛行員Eric “Winkle” Brown所述，二者性能可以說互補。德國擁有速度優勢，美軍擁有些許爬升優勢。二架都很靈活，擁有重火力。\n根據Barrett Tillman的結論：「F6F和德國空軍，能夠在歐洲上空平等交手，靠的是飛行員本身的技術勝出。」\n參考資料 # http://fly.historicwings.com/2012/08/navy-hellcats-over-france/\nhttps://hushkit.net/2019/02/26/us-pacific-fighters-versus-the-luftwaffe-bf-109-and-fw-190/\nhttps://erenow.net/ww/hellcat-f6f-in-world-war-ii/6.php\nhttps://www.historynet.com/when-hellcats-took-the-fight-to-the-luftwaffe.htm\n","date":"2020年9月26日","externalUrl":null,"permalink":"/posts/grumman-hellcat-in-british-service-wwii/","section":"Histories","summary":"1944年4月3日，英國皇家海軍派出20架地獄貓和F4F「岩燕」，護航梭魚式轟炸機，以超低空飛行前往德軍的港口…他們的目標是躲藏在挪威峽灣裡的德軍戰艦「鐵必制」！\n遊戲《War Thunder》已經實裝了很多外國軍援的飛機，英國的也不例外…都是金幣機，除了一架活動限定以外。美國提供的飛機悉數能在遊戲中見到：\nTBM復仇者 艦上轟炸機 岩燕Mk.IV 艦上戰鬥機（活動載具） 海盜Mk.I 艦上戰鬥機 地獄貓Mk.II 艦上戰鬥機 F6F「地獄貓」在太平洋戰場的出現，完全壓倒了日本的零式戰鬥機。其相較於海盜穩定的降落性能，堅固的機身，為美軍立下許多戰功。在大洋彼岸，雖然數量不多，英軍也很喜歡地獄貓。\n這篇文章主要介紹英國F6F在歐洲的作戰史，包括英軍為什麼要向美軍買艦載機的原因。\n1. 英國海軍為何要向美軍購買艦載機 # 在二戰期間，英國皇家海軍(Royal Navy)極需要一款性能優異的氣冷艦上戰鬥機。因為經濟緣故和指揮系統，大部分空優任務皆由空軍負責，海軍能分配到的資源很少，直到二戰結束沒有一架氣冷引擎的戰機能服役。\n皇家海軍航空隊(Fleet Air Arm)的用兵思想是，航艦上的飛機只是敵人的潛在威脅。如果攔截任務能對敵機造成損害就很好了。航艦一般不會在敵攻擊機航程內的海岸活動，並且英軍航艦常常在只有陸基飛機的掩護下作戰。\n","title":"意外的相會，當英國海軍的F6F地獄貓遇上德國空軍的Bf-109","type":"history"},{"content":"A6M Zero Fighter Add-on\n電影《永遠的0》日本海軍主力機型，這個Add-On包含佈署到中國的第一批「零戰一一型」、有方形翼尖的「零戰三二型」，和最終改型「零戰五二型」\n輸入指令/function eternalzero，可以獲得油箱和二個開火物品，分別是小口徑和大口徑。乘坐在零戰上時長按就可以。 油箱沒有任何效果。 改良後的飛行系統： 玩家必須以45度角看著天空，並往前滑行才能升空。\n下載：\nhttp://hurirk.net/-81198REYJ/26URR?rndad=1878988494-1630306359\nMinecraft Add-On安裝教學\n","date":"2020年9月10日","externalUrl":null,"permalink":"/posts/minecraft-a6m-zero-fighter-add-on/","section":"Minecrafts","summary":"A6M Zero Fighter Add-on\n電影《永遠的0》日本海軍主力機型，這個Add-On包含佈署到中國的第一批「零戰一一型」、有方形翼尖的「零戰三二型」，和最終改型「零戰五二型」\n輸入指令/function eternalzero，可以獲得油箱和二個開火物品，分別是小口徑和大口徑。乘坐在零戰上時長按就可以。 油箱沒有任何效果。 改良後的飛行系統： 玩家必須以45度角看著天空，並往前滑行才能升空。\n下載：\nhttp://hurirk.net/-81198REYJ/26URR?rndad=1878988494-1630306359\nMinecraft Add-On安裝教學\n","title":"【自製模組】零式艦上戰鬥機 Minecraft Add-On","type":"minecraft"},{"content":"Battleship Yamato Add-on\n日本海軍戰艦大和型一番艦「大和」\n支援中文、英文、日文。按照委託製作的大型艦船，可是因為Add-On限制所以玩家只能主砲開火。\n這個Add-On的模型很大，RAM建議要有3GB以上。 使用指令/tengo，取得彈藥「九一式徹甲彈」(傷害很高)、「三式彈」(會爆炸)。站在大和的底部就能找到上去的按鈕。長按彈藥開火。\nP.S. tengo就是大和最後一次出擊「天一號作戰」的行動代號。 下載：\nhttp://hurirk.net/-81198MEFC/20cn7?rndad=1878988494-1630306808\nMinecraft Add-On安裝教學\n","date":"2020年9月3日","externalUrl":null,"permalink":"/posts/minecraft-battleship-yamato-add-on/","section":"Minecrafts","summary":"Battleship Yamato Add-on\n日本海軍戰艦大和型一番艦「大和」\n支援中文、英文、日文。按照委託製作的大型艦船，可是因為Add-On限制所以玩家只能主砲開火。\n這個Add-On的模型很大，RAM建議要有3GB以上。 使用指令/tengo，取得彈藥「九一式徹甲彈」(傷害很高)、「三式彈」(會爆炸)。站在大和的底部就能找到上去的按鈕。長按彈藥開火。\nP.S. tengo就是大和最後一次出擊「天一號作戰」的行動代號。 下載：\nhttp://hurirk.net/-81198MEFC/20cn7?rndad=1878988494-1630306808\nMinecraft Add-On安裝教學\n","title":"【自製模組】大和號戰艦 Minecraft Add-On","type":"minecraft"},{"content":"WWII National Flags Add-on\n【這個Add-On只能在Windows 10版運作，其他平台會因為不明原因閃退】\n二次大戰各國國旗Add-on\n語言調成繁體中文有驚喜。\n可用於裝飾的各國旗幟，包含二戰中的同盟國以及軸心國，還有雙方的支持勢力，從羅馬尼亞到汪精衛政府的旗幟都有加入。 這些旗幟可以使用木棍旋轉擺放角度，用鐵錠變大、金錠縮小，碳回復正常。 投稿到MCPEDL的時候，由於放卍字旗會被查水錶，裡面使用的是現在德國的國旗。\n下載：\nhttp://hurirk.net/-81198ZWTA/1s5so?rndad=1878988494-1630307112\nMinecraft Add-On安裝教學\n","date":"2020年8月26日","externalUrl":null,"permalink":"/posts/minecraft-wwii-national-flags-add-on/","section":"Minecrafts","summary":"WWII National Flags Add-on\n【這個Add-On只能在Windows 10版運作，其他平台會因為不明原因閃退】\n二次大戰各國國旗Add-on\n語言調成繁體中文有驚喜。\n可用於裝飾的各國旗幟，包含二戰中的同盟國以及軸心國，還有雙方的支持勢力，從羅馬尼亞到汪精衛政府的旗幟都有加入。 這些旗幟可以使用木棍旋轉擺放角度，用鐵錠變大、金錠縮小，碳回復正常。 投稿到MCPEDL的時候，由於放卍字旗會被查水錶，裡面使用的是現在德國的國旗。\n下載：\nhttp://hurirk.net/-81198ZWTA/1s5so?rndad=1878988494-1630307112\nMinecraft Add-On安裝教學\n","title":"【自製模組】二戰各國國旗 Minecraft Add-On","type":"minecraft"},{"content":"Panzer IV Ausf.H \u0026ldquo;Anglerfish Team\u0026rdquo;\n2020年8月14日發表，使用Blockbench製作。收錄在艦隊Collection Minecraft Add-On。\n渲染圖 此模型可在Sketchfab檢視\nPanzer IV. Ausf. H (Girls und Panzer) for MCBE by Ivon852 on Sketchfab\n動畫《少女與戰車》第一季出現的四號戰車H型，塗裝為大洗女子學園鮟鱇隊咖啡色（動畫裡看起來偏粉色）。\n原型為二戰德軍的四號戰車系列，此款戰車在當時是德國陸軍主力，功勞比後來的豹式、虎式要多。\n鮟鱇隊隊長是西住美穗，乘組員有武部沙織、五十鈴華、秋山優花里、冷泉麻子。下圖的結構展示了5個乘組員的座位配置，砲塔三個，機槍手位置二個開口。沒有做內構真可惜，導致開窗的時候起來只是裝甲打開而已。 四號戰車後期外掛的裝甲是用來防禦反戰車砲用的。但我覺得這台砲塔做太窄了，算了外側裝甲包著沒人看得出來XD 製作時參考GSC出的模型 還參考了本書：《Panzerkampfwagen IV Ausf.G, H and J 1942-45: 39》 四號戰車在歷史上的塗裝以黃色居多，比較少看到黑鐵色。 ","date":"2020年8月14日","externalUrl":null,"permalink":"/posts/3dartwork-20200814/","section":"Artworks","summary":"Panzer IV Ausf.H “Anglerfish Team”\n2020年8月14日發表，使用Blockbench製作。收錄在艦隊Collection Minecraft Add-On。\n渲染圖 此模型可在Sketchfab檢視\nPanzer IV. Ausf. H (Girls und Panzer) for MCBE by Ivon852 on Sketchfab\n動畫《少女與戰車》第一季出現的四號戰車H型，塗裝為大洗女子學園鮟鱇隊咖啡色（動畫裡看起來偏粉色）。\n原型為二戰德軍的四號戰車系列，此款戰車在當時是德國陸軍主力，功勞比後來的豹式、虎式要多。\n鮟鱇隊隊長是西住美穗，乘組員有武部沙織、五十鈴華、秋山優花里、冷泉麻子。下圖的結構展示了5個乘組員的座位配置，砲塔三個，機槍手位置二個開口。沒有做內構真可惜，導致開窗的時候起來只是裝甲打開而已。 四號戰車後期外掛的裝甲是用來防禦反戰車砲用的。但我覺得這台砲塔做太窄了，算了外側裝甲包著沒人看得出來XD 製作時參考GSC出的模型 還參考了本書：《Panzerkampfwagen IV Ausf.G, H and J 1942-45: 39》 四號戰車在歷史上的塗裝以黃色居多，比較少看到黑鐵色。 ","title":"【3D繪圖】少女與戰車 鮟鱇隊 四號戰車H型","type":"artwork"},{"content":"","date":"2020年8月14日","externalUrl":null,"permalink":"/tags/girls-und-panzer/","section":"標籤","summary":"","title":"Girls Und Panzer","type":"tags"},{"content":"Stipa Caproni, an Italian Experimental Aircraft\nStipa - Caproni，這是義大利在1932年製造的實驗飛機，其特色的空洞機身為的是增進螺旋槳的效率。可以說是運用到了一部分噴射引擎的概念。\n有二個座位，盡量還原本機的細節。 下載：\nhttp://hurirk.net/-81198RQFZ/1c9b6?rndad=1878988494-1630307270\nMinecraft Add-On安裝教學\n","date":"2020年8月3日","externalUrl":null,"permalink":"/posts/minecraft-stipa-caproni-add-on/","section":"Minecrafts","summary":"Stipa Caproni, an Italian Experimental Aircraft\nStipa - Caproni，這是義大利在1932年製造的實驗飛機，其特色的空洞機身為的是增進螺旋槳的效率。可以說是運用到了一部分噴射引擎的概念。\n有二個座位，盡量還原本機的細節。 下載：\nhttp://hurirk.net/-81198RQFZ/1c9b6?rndad=1878988494-1630307270\nMinecraft Add-On安裝教學\n","title":"【自製模組】斯提帕 - 卡普羅尼 Minecraft飛機Add-On","type":"minecraft"},{"content":"","date":"2020年7月29日","externalUrl":null,"permalink":"/tags/kriegsmarine/","section":"標籤","summary":"","title":"Kriegsmarine","type":"tags"},{"content":"","date":"2020年7月29日","externalUrl":null,"permalink":"/tags/trumpeter/","section":"標籤","summary":"","title":"TRUMPETER","type":"tags"},{"content":"狂風驟雨可以掀翻小池塘，但不能掀翻大海。距離上一次在浴缸玩玩具是什麼時候了呢。 按照委託，我想為Minecraft Add-On製作U-511的艦娘3D模型（暫時沒有做黑肉版本呂-500的計畫），並且同時開發可以駕駛的U-511模型，因此有實物參照更好。\n在尋找U-511的模型時，找到小號手在1995年出的1/200「U-boat Type IX C」模型。 甲板的細節 艦橋的防空機槍 螺旋槳系統 三個小時就拼好了，嚴格來說這個是小號手的子牌: MiniHobbyModels，又稱三角號手，產品品質較低。組起來也的確是如此，說明書不知道在畫什麼鬼，零件有很多邊邊要自己磨掉，一些細小零件已經夠難黏了，洞還插不進去。組合好等膠水乾大概一小時。 或許是因為這樣，才開發了特殊玩法: 可以在水面行駛的馬達。 艦內放不下馬達，所以是外掛在船底，吃一顆四號電池，把蓋子和銅片接上螺旋槳就會開始轉，不用太擔心電池會浸到水。在浴缸測試的結果還真的可以浮得起來，只不過船身往右傾斜了一點。如果螺旋槳沒有提供動能，船體會直接側翻。 因為艦艇裡面是中空，所以可以浮起來。假設做個開孔注水，那這個塑膠玩具也就能像真的潛艇下潛了。整體測試過程最擔心的船底沒有脫落任何零件，用手把整艘船壓進水中也安然無恙。順手把扭蛋轉來的也丟下水，驅逐艦直接翻船。 實際拚過後就可以來做3D模型了。可是小號手沒有做內構，所以我也沒有做內構。U-511是Type IXc型U艇，現在頂多只有她的姊妹艦有保存下來。(圖為U-505) 於是就變成了這個樣子。模型的船底是紅色的，這個塗裝比較像是呂500。可是島田老師畫的U-511的立繪也沒有紅色的部位啊? 有時候也不能全部相信模型廠商 呂500的塗裝參考圖 艦娘方面，省去了艤裝部分的建模時間，雖然因為比例問題忍痛鋸掉了一部分。 島田老師在作畫時提過的細節，腳部的拉鍊可以拉開。 手部有跟甲板炮合在一起的切割刀具。手套的設計感覺可以止滑，或者是把魚雷發射管跟它結合了? 舷窗 最複雜的傳動系統，看不到螺旋槳。 比較: 街機板的模型精簡了身上的線條，披肩的質感有呈現出來。 (引用自天津風瑞鶴的頻道) U-511和呂500的黨爭暫時不想參與，反正夏活都成功雙持了。\n","date":"2020年7月29日","externalUrl":null,"permalink":"/posts/kantai-collection-minecraft-addon-u-511/","section":"Artworks","summary":"狂風驟雨可以掀翻小池塘，但不能掀翻大海。距離上一次在浴缸玩玩具是什麼時候了呢。 按照委託，我想為Minecraft Add-On製作U-511的艦娘3D模型（暫時沒有做黑肉版本呂-500的計畫），並且同時開發可以駕駛的U-511模型，因此有實物參照更好。\n在尋找U-511的模型時，找到小號手在1995年出的1/200「U-boat Type IX C」模型。 甲板的細節 艦橋的防空機槍 螺旋槳系統 三個小時就拼好了，嚴格來說這個是小號手的子牌: MiniHobbyModels，又稱三角號手，產品品質較低。組起來也的確是如此，說明書不知道在畫什麼鬼，零件有很多邊邊要自己磨掉，一些細小零件已經夠難黏了，洞還插不進去。組合好等膠水乾大概一小時。 或許是因為這樣，才開發了特殊玩法: 可以在水面行駛的馬達。 艦內放不下馬達，所以是外掛在船底，吃一顆四號電池，把蓋子和銅片接上螺旋槳就會開始轉，不用太擔心電池會浸到水。在浴缸測試的結果還真的可以浮得起來，只不過船身往右傾斜了一點。如果螺旋槳沒有提供動能，船體會直接側翻。 因為艦艇裡面是中空，所以可以浮起來。假設做個開孔注水，那這個塑膠玩具也就能像真的潛艇下潛了。整體測試過程最擔心的船底沒有脫落任何零件，用手把整艘船壓進水中也安然無恙。順手把扭蛋轉來的也丟下水，驅逐艦直接翻船。 ","title":"U-511製作記錄，小號手實體模型 \u0026 3D艦娘艤裝（艦隊Collection Minecraft Add-On）","type":"artwork"},{"content":"2020年7月20日發表，使用Blockbench製作，收錄在Minecraft Artillery Add-On。\n鎮守金門的巨砲，M1式240公厘榴彈砲「黑龍」(240 mm howitzer M1)，這是美軍二戰用過最大口徑的火砲之一，二戰後轉送中華民國國軍，曾參與砲轟廈門。那之後一直保留到現在。在進入飛彈時代後，這門砲的作已大不如前。黑龍砲現在還在外島服役中。 這個模型可以在Sketchfab檢視：\n","date":"2020年7月20日","externalUrl":null,"permalink":"/posts/3dartwork-20200720/","section":"Artworks","summary":"2020年7月20日發表，使用Blockbench製作，收錄在Minecraft Artillery Add-On。\n鎮守金門的巨砲，M1式240公厘榴彈砲「黑龍」(240 mm howitzer M1)，這是美軍二戰用過最大口徑的火砲之一，二戰後轉送中華民國國軍，曾參與砲轟廈門。那之後一直保留到現在。在進入飛彈時代後，這門砲的作已大不如前。黑龍砲現在還在外島服役中。 這個模型可以在Sketchfab檢視：\n","title":"【3D繪圖】M1式240公厘榴彈砲，鎮守金門的國軍黑色之龍","type":"artwork"},{"content":"","date":"2020年7月20日","externalUrl":null,"permalink":"/tags/republic-of-china-army/","section":"標籤","summary":"","title":"Republic of China Army","type":"tags"},{"content":"Artillery Add-on: AA Gun, Howitzer, Cannon, Machine Guns\n大家好，這個Add-on專為基岩版的Minecraft引入額外火力支援。\n在已經有許多槍械Add-on (如: Actual Guns Add-on)的情況下，你是否覺得需要一些更大口徑武器呢?\n看到敵機來襲，是不是需要相應防空砲來迎擊呢?\n面對皮操肉厚的坦克，反坦克砲顯得勢在必行。(＊坦克另購，敬請參考艦隊Collection Add-On)\n這個Add-on正為滿足此需要而生。」 Add-on名稱: 火炮(Artillery)\n下載網址: Adfly\nMinecraft Add-On安裝教學\n支援版本: 基岩版1.16以上\n安裝方法: 導入.mcaddon檔案，啟用行為包及資源包，詳情請參考這篇。\n這個Add-on支援繁體中文。\n基本操作方法 # 首先先介紹基本操作方法，有些火炮需要先裝彈。每個火炮有自己的彈種，不可以通用。以下以88砲做例子。\n拿著88砲專屬的砲彈，電腦版長按(手機是按紐) 炮栓關閉後，使用打火機開火。 如何取得本Add-on所需物品?\n輸入指令/function babytage\n這個指令會給予玩家全部的彈藥。\n如何改變砲的瞄準方向?\n請安裝最新版1.16 beta，可以讓玩家在騎乘實體時仍能開火。\n此外，全部的武器都可以使用栓繩移動。\n如何使用重複指令方塊來固定火砲的角度：\nexecute @e[type=at:flak41] ~ ~ ~ tp @s ~ ~ ~ -90 90\n接下來逐一介紹這個Add-on新增的武裝，從小口徑開始。\n1. MG42機槍 # 有希特勒的電鋸之稱的德國機槍，在Addon中扣一次扳機發射5發，共50發彈鼓。更換彈鼓時也會一併更換槍管。\n本Add-on中還可以用生怪蛋生成德軍士兵，有機率生出拿著MG42的機槍手，他們會攻擊怪物，也會攻擊玩家。\nSkin由Passerby_Army繪製。\n2. 厄利孔20mm機砲 # 瑞士公司研發，廣為軸心國及同盟國採用的防空武器。 彈鼓共60發，高爆彈。 3. 九六式25mm三連裝高射機砲 # 日本海軍的防空主力，三連裝的版本。這裡可以一次換3個彈夾，每個彈夾15發。彈種為高爆彈。 4. 3.7cm 37年式高射炮 # 常見於歐洲戰場，德軍用於對付中低空敵人之用。 彈藥共12發，高爆彈。 5. QF6磅砲 # 英軍的主力反坦克砲之一，口徑57mm。 這裡提供的彈藥是脫殼穿甲彈(APDS)，接觸傷害30。\n被栓繩拴住的時候，砲架會自動鎖上。 6. 8.8cm高射炮 41年式 # 著名88砲最新銳的改進型，可以防空也可以打坦克。 只提供8.8cm高爆彈。 使用鐵錠可以切換到防空狀態，不過只是好看。實際上還是需要玩家坐上去瞄準。 7. M1式240mm榴彈炮「黑龍」 # 二戰美國陸軍所使用的最大口徑的火砲。現在仍在台灣外島服役。此砲射程最遠，爆炸範圍也最大。 以上，謝謝各位觀看。\n這篇Add-on文章同步發表在mcpedl\n如果有什麼建議或者問題的話，請不吝指教。\n","date":"2020年7月20日","externalUrl":null,"permalink":"/posts/minecraft-artillery-add-on/","section":"Minecrafts","summary":"Artillery Add-on: AA Gun, Howitzer, Cannon, Machine Guns\n大家好，這個Add-on專為基岩版的Minecraft引入額外火力支援。\n在已經有許多槍械Add-on (如: Actual Guns Add-on)的情況下，你是否覺得需要一些更大口徑武器呢?\n看到敵機來襲，是不是需要相應防空砲來迎擊呢?\n面對皮操肉厚的坦克，反坦克砲顯得勢在必行。(＊坦克另購，敬請參考艦隊Collection Add-On)\n這個Add-on正為滿足此需要而生。」 Add-on名稱: 火炮(Artillery)\n下載網址: Adfly\nMinecraft Add-On安裝教學\n支援版本: 基岩版1.16以上\n安裝方法: 導入.mcaddon檔案，啟用行為包及資源包，詳情請參考這篇。\n這個Add-on支援繁體中文。\n基本操作方法 # 首先先介紹基本操作方法，有些火炮需要先裝彈。每個火炮有自己的彈種，不可以通用。以下以88砲做例子。\n拿著88砲專屬的砲彈，電腦版長按(手機是按紐) 炮栓關閉後，使用打火機開火。 如何取得本Add-on所需物品?\n輸入指令/function babytage\n這個指令會給予玩家全部的彈藥。\n如何改變砲的瞄準方向?\n請安裝最新版1.16 beta，可以讓玩家在騎乘實體時仍能開火。\n此外，全部的武器都可以使用栓繩移動。\n","title":"【自製模組】火炮、防空砲、機槍（Minecraft基岩版軍事Add-On）","type":"minecraft"},{"content":"此事引人發想: 為什麼要逼迫外國公司接受玩家提議？\n結論是，田中根本不在乎。\n簡要回顧一下畫風爭議事件：\n筑摩面具、金剛型改二畫風\n此類屬遊戲早期的問題，舊立繪就擺在那裡，沒有更新的意義。konishi的畫風當時處在轉型期，現在穩定。 第一批海防艦\n即使被說像GAL game，現在也出10幾隻以上了。對馬讓所有人都安靜。 shibafu第一次畫深海棲艦、三隈泳裝第一期\n那時的畫風還沒有太大轉變，結果就是包子臉影響很重。三隈純屬畫崩。 Shibafu在2018年畫Intrepid\n那時是連歐美玩家都在罵，專精情報的在美韓裔Death Usagi也在Facebook表示過我快沒動力打甲了，還流出拿槍指著Intrepid的圖片。 田中不為所動，只有小修頸部立繪。\n2018年Zeco加入\n即使畫風也有所批評，不過普遍吵不太起來。同時也因戰力需求，那些艦娘的評價都水漲船高。 2019年A士加入，負責御藏\n可能是因為海防艦的緣故，此外還有立繪偏扁的問題。 2019年NGA的連署書\n集合投書要求田中改進一些機制，結果也是沒有回應。一直以來，像爽哥這樣為中國社群鞠躬盡瘁的人物，C2官方也沒有特別看待。這次的請求還算溫和，對遊戲有異議的人一直存在，從一開服的甲章爭論，到碧藍航線出來後的對比心態，亂子一直存在。只不過中國論壇的版主都很精明，把故意起爭議的人都壓下去。\n2020年梅雨季活動新艦娘\n星灯り的伊47和渡辺明夫的松是這次活動第一個被挑出來打的，可是聲量卻遠比不上後來的Helena。 7月11日拆包出來，新船有South Dakota、Hornet、有明、屋代、Helena 畫風都很明顯知道是誰畫的，於是就炎上了。\n在維修結束幾小時後，官方發推說修正錯誤，原來是Helena的改造立繪放反了 炎上的言論其實不好分辨主要是中國人在罵，或是日本人也看不慣，Death Usagi等歐美的反應倒沒有Intrepid那次那麼大。\ntogether上日本人調查罵的大多是中國人，使用英文罵的可能是日語不行。最常見的語句就是\nNo more A士或者No more A屎。\nA士這次的Helena為什麼會被罵的特別凶，大致以下三點:\n畫風不順眼 A士曾批評中國 期望落差大 1畫風不順眼可以跟3結合起來，用極端一點的情況，帶入Inrepid的事件來看就可能會產生這種問題。\n這麼有名的船哩吼哇畫嘎安內！？\n侮辱創立\u0026hellip;處三百元以下罰金。\n可是這樣真的是不尊重嗎？A士有亂畫嗎？僅僅是不入流的畫風就是在汙辱這艘船嗎？\n能攻擊的點就是拿他過去的作品來比較他這次是不是隨便畫，還有艤裝問題。\n以田中的個性，什麼時候有換掉圖面過(馬上換是因為放反)，至於後續找繪師負責的傾向，你又不是在C2工作，誰能知道。\nA士在Twitter批評過中國是真的，支持台灣哪種形式的獨立，在中國人看來都是欠打的點。從zeco的案例來看，不會單是因為台灣人的身分就被特別關注。\n甚至在NGA還有人提供DMM點當獎勵，鼓勵大家去推特罵。\n在這裡暫停一下，這個操作，是不是跟五毛開始有點相似了？只會複製貼上同一句話，nmslese的一貫手法？如果再想遠一點，近年以來，中國人又再次強迫外國要順他們的意思了。就這點來說，C2沒有義務，可以用本來就沒有對海外開放當理由。台灣因為角川代理的關係會稍微有點互動；可是在中國，一方面曾遭政府打壓，又有碧藍航線這類國產強心劑來撐腰，艦これ若沒有田中的惡名昭著和梗流傳，早就地下化了。\n你憑什麼越過批評的界限，開始指使田中？憑你是DMM的大課長？\n這樣講其實太陰謀論了。有人不想過於偏政治化因此這個觀點就此打住。\n我的想法其實參雜在上面的文字了。在小時候畫圖時，老師給我的評語是:你的畫(遠看)很不錯。現在Helena看起來也是如此，這是一開始11日時我的想法。隨後發現中國人開始使用人身攻擊的傳統藝能，便反轉了我的立場。 沒錯，一開始我也是跟著起鬨。在偏執症發作的時候連zeco的畫也會嫌棄。\n現在我還是覺得A士畫的很醜，不符合當代審美，沒有藝術感又不夠\u0026hellip;講難聽點叫媚宅的畫風。說實在話這個如果不是戰力考量，我會沒有想拿到的慾望 。現在是精神上支持A士，基於政治理由。而要接納的他的畫，大約等同理解一首Radiohead歌的時間，zeco花的時間大約等於David Bowie。\n玩家的意見固然很重要，可是最終決定權在於田中。這幾年來他不是選擇無視，不然就是以自己的步調實裝他所謂改進的功能。逆來順受，我是抖M。\n最後要探討的問題是，玩家的意見官方不搭理，玩家要發動全盤抵制行動嗎？沒有觸及黨的利益，還需要vpn的遊戲，如何讓政府介入(加速主義者曰: 加速)及發動輿論抵制？現在只有針對特定畫師，那中國玩家吵能吵出什麼結果？盡量不請A士？Helena找人重畫？\n∵ 既然\n普遍不能接受A士的畫風是事實(T) 田中沒有換掉立繪的前例(T) 田中不在乎社群壓力(T) ∴ 所以\n⇒ 吵無實質幫助\n你可以繼續靠北，說這個遊戲還在用老派畫風，與其用辱罵的吵，不如折衷: 變成調侃用的meme(咦)\n此外還可以想想，在這波行動中，是要跟隨大眾亂，又或者\u0026hellip;\n沒人想到這次在關底開了9段標籤？\n","date":"2020年7月13日","externalUrl":null,"permalink":"/posts/kantai-collection-helena-cg-controversy/","section":"Kantai-Collections","summary":"此事引人發想: 為什麼要逼迫外國公司接受玩家提議？\n結論是，田中根本不在乎。\n簡要回顧一下畫風爭議事件：\n筑摩面具、金剛型改二畫風\n此類屬遊戲早期的問題，舊立繪就擺在那裡，沒有更新的意義。konishi的畫風當時處在轉型期，現在穩定。 第一批海防艦\n即使被說像GAL game，現在也出10幾隻以上了。對馬讓所有人都安靜。 shibafu第一次畫深海棲艦、三隈泳裝第一期\n那時的畫風還沒有太大轉變，結果就是包子臉影響很重。三隈純屬畫崩。 Shibafu在2018年畫Intrepid\n那時是連歐美玩家都在罵，專精情報的在美韓裔Death Usagi也在Facebook表示過我快沒動力打甲了，還流出拿槍指著Intrepid的圖片。 田中不為所動，只有小修頸部立繪。\n2018年Zeco加入\n即使畫風也有所批評，不過普遍吵不太起來。同時也因戰力需求，那些艦娘的評價都水漲船高。 2019年A士加入，負責御藏\n可能是因為海防艦的緣故，此外還有立繪偏扁的問題。 2019年NGA的連署書\n集合投書要求田中改進一些機制，結果也是沒有回應。一直以來，像爽哥這樣為中國社群鞠躬盡瘁的人物，C2官方也沒有特別看待。這次的請求還算溫和，對遊戲有異議的人一直存在，從一開服的甲章爭論，到碧藍航線出來後的對比心態，亂子一直存在。只不過中國論壇的版主都很精明，把故意起爭議的人都壓下去。\n","title":"艦隊收藏A士海倫娜立繪爭議風波：為什麼要逼迫外國公司接受玩家提議？","type":"kantai-collection"},{"content":"網友提出的質疑讓我苦惱了一個下午。\n最近應別人要求 ，開始製作火砲模型。第一門做的是德國著名的88mm防空砲，選定的是41型。結果又跟之前製作Wg42遇到一樣的問題：我怎麼老是偏偏選到那種最冷僻的型號。前陣子做的Wg42沒有一家出過模型能參考，所以改做其前身「噴煙者41年式」解決。 製作模型後出現疑點 # 可是這次的題目是88mm砲，從18型發展出36、37、41，之後41型衍生出Pak43反坦克砲，以及作為虎II坦克主砲的Kwk43。\n幸好8.8cm Flak 41有二家出過模型，分別是中國的Bronco(威駿) 和日本的Amusing Hobby，統一都在盒子上寫88mm L71 Flak 41 三天的製作成果如下，照慣例用Blockbench，細節通通死去。塗裝採用黃色。 模型製作完成後，網友提出了質疑: 「Flak41我記得是74倍徑，71倍徑是Pak43」\n由於Flak 41是88防空砲系列發展的最終型號(其實還有一款叫flak 36/43的)，資料少的可憐。\n請出Google的結果，Casemate Publishers出版的《German 88: The Most Famous Gun of the Second World War》提供的表格明顯寫著flak 41是74倍徑。 再來，Osprey出版的《88 mm FlaK 18/36/37/41 and PaK 43 1936–45》提到\n「\u0026hellip;.flak 41的砲管為複雜的74倍徑\u0026hellip;flak 41的砲管長度是72倍徑，等同6.336公尺」\n一開始設計成三段炮管，後來改成72倍徑的二段式炮管。 之後找到的也不出這個結果。\n戰車世界的論壇有一篇討論，不過這個應該是在討論戰車砲。\n中國《火力时代杂志》第6輯《无敌88：二战德国88mm炮全史》翻譯Osprey書的文字，寫道\n「自行式高射炮\u0026hellip;命名為Pz Sf IVc，後續車型試圖搭載Flak 41 L71高炮。另外一種計畫中的代號為\u0026quot;Gerat 42\u0026quot;的車則準備搭載萊茵金屬公司正在研製的新型88毫米Flak 42/ L71型火炮。」\n鐵血網上面的文章: 《二战陆战十大明星兵器系列之九 德国88毫米高射炮》\n「Flak41型高射炮被直接设计成了一种多用途火炮\u0026hellip;原有的56倍径炮管被71倍径炮管取代」\n百度百科的頁面也引用此說法，可是下一段卻又直接說Flak 41採用74倍徑，這種跟頭條號一樣的行文真的是很沒有參考價值。\n這個嘛，互相打臉？ 一定是有一方寫錯。\n先確認一個事實：Pak43一定是L71沒錯。接下來要確認的是Flak 41究竟是L71還是L74\n那麼反過來調查一下模型推出的時間。\n威駿第一款Flak 41是2012年上市的，之後還推出了試作的L71防空砲車。 Amusing Hobby則是2018年推出，參考Moxingfans的說法，模具不是跟其他廠商買的。\n結論 # 為什麼他們二家都寫錯？\n回到前面Osprey提供的數字來看，最起碼單純作為防空砲時，L71倍徑不存在，最多也是L72吧。\n在《German Artillery of World War Two》一書中有flak 36/43型的照片，41型的砲管裝在36型的砲架上，砲管還是L74。 順帶一提41型雖然1941年就開始設計，但因為技術問題延到1943年才配發。而L71炮管長度，非戰車炮的Flak 41只存在於試製自走防空炮車身上。\n最後，只能相信Scalemates下方頻繁出現的這名網友今年4月的留言，來確認Flak 41應該是L74而非L71了。 ","date":"2020年7月10日","externalUrl":null,"permalink":"/posts/2020071001/","section":"Histories","summary":"網友提出的質疑讓我苦惱了一個下午。\n最近應別人要求 ，開始製作火砲模型。第一門做的是德國著名的88mm防空砲，選定的是41型。結果又跟之前製作Wg42遇到一樣的問題：我怎麼老是偏偏選到那種最冷僻的型號。前陣子做的Wg42沒有一家出過模型能參考，所以改做其前身「噴煙者41年式」解決。 製作模型後出現疑點 # 可是這次的題目是88mm砲，從18型發展出36、37、41，之後41型衍生出Pak43反坦克砲，以及作為虎II坦克主砲的Kwk43。\n幸好8.8cm Flak 41有二家出過模型，分別是中國的Bronco(威駿) 和日本的Amusing Hobby，統一都在盒子上寫88mm L71 Flak 41 三天的製作成果如下，照慣例用Blockbench，細節通通死去。塗裝採用黃色。 模型製作完成後，網友提出了質疑: 「Flak41我記得是74倍徑，71倍徑是Pak43」\n由於Flak 41是88防空砲系列發展的最終型號(其實還有一款叫flak 36/43的)，資料少的可憐。\n請出Google的結果，Casemate Publishers出版的《German 88: The Most Famous Gun of the Second World War》提供的表格明顯寫著flak 41是74倍徑。 ","title":"二戰德軍88mm防空砲的砲管長度究竟是71還是74倍徑？","type":"history"},{"content":"三菱一式陸攻二四型丁(Mitsubishi G4M2e)，櫻花特攻母機。大日本帝國海軍第721航空隊，昭和20年3月。 2020年6月19日發表，收錄於艦隊Collection Minecraft Add-On\n主要攻擊方式：發射櫻花飛彈。在以下Twitter影片中，沒有人類受傷。\nNo human was harmed in this test pic.twitter.com/MsrrEZUQFm\n\u0026mdash; Ivon Huang ☸️🐧✝️ (@Ivon852) July 1, 2020 這個模型可以在Sketchfab下載\nMitsubishi G4M2e bomber + MXY7 Ohka bomb by Ivon852 on Sketchfab\n1. 歷史背景 # 製作動機主要是艦隊Collection的「一式陸攻 野中隊」裝備，野中五郎駕駛的陸攻具有很高的命中率。2016年此裝備出來的時候還曾引起中國玩家在知乎的討論，認為田中謙介不贊同特攻隊為何還要出這架？後來螺旋槳數量證明，遊戲中的一式陸攻不是特攻機。 加上看完松本零士的動畫《ザ・コクピット 音速雷撃隊》，裡面有幻想櫻花飛彈擊中美軍航母的壯烈畫面。所以我做了這架飛機。 三菱生產的一式陸攻（Mitsubishi G4M）長期擔當日本海軍航空隊的轟炸主力，用於陸上及海上轟炸，在太平洋戰爭後期也用於投放櫻花特攻機的母機。櫻花特攻機（MXY7）是自殺載人炸彈，由飛行員操控時速達800km/h的火箭飛機，衝向美軍艦艇，引爆機上炸藥，讓飛行員與敵人同歸於盡。這算是日本海軍最為著名的一款神風特攻武器。\n日本海軍有721空「七生報國隊」用於執行櫻花攻擊任務，也就是野中五郎所待的部隊。隊中負責護航的零戰五二型還會在機翼漆上白色色帶，吸引美軍戰機，讓櫻花飛彈可以攻擊成功。\n儘管櫻花難以攔截，但因為射程短，加上後期日本海軍失去制空權，飛行緩慢的一式陸攻母機自然就成為美軍的肉靶了。在美國海軍的艦載機攔截之下，一式陸攻往往損失慘重，櫻花特攻機頂多擊沈航母外圍的驅逐艦而已，美軍航母並無損失。\n2. 模型細節 # 外觀為標準的日本海軍綠色，螺旋槳為4葉。 機首的天線是對海雷達 轟炸機內構略微複雜，我參考了長谷川出的模型 有駕駛艙 後面就做得有點隨便XD 只強調飛機骨架 機槍手的部份有點難做，尤其是玻璃窗。我原本想畫整個透明的，最終將其繪製為Minecraft的玻璃樣式，以強調其存在感。 一式陸攻的砲塔搭載的為九七式7.7mm機槍和九九式20mm機砲，後者彈道很爛，難怪都打不到。一式陸攻後期即使加了自封油箱還是很容易被美軍飛機擊落。 櫻花特攻機有獨立建模，我在上面畫了櫻花，飛機前端的黃色東西是引信。 簡單的火箭引擎 櫻花的駕駛艙很簡單，只有控制方向的操縱桿和瞄準具。 為了呼應史實，我在櫻花機內部塞了2顆TNT，威力差很多呢。 考慮到這是遊戲模組，我沒有讓一式陸攻變成專門的特攻機，還是可以掛載炸彈魚雷的。\n預設什麼都沒掛是偵查型。 通常掛載60kg炸彈是用於轟炸陸上目標的，比方說一式陸攻曾參與轟炸中國城市。 加掛九一式魚雷用於對艦，日本海軍很喜歡拿大型飛機攻擊艦艇，後繼機種銀河也是如此。 我不知道歷史上是否真像《音速雷擊隊》裡面那種與飛機內部連接的構造？所以我是讓櫻花半嵌在一式陸攻機腹的。即使掛載櫻花彈，玩家也不需要真的坐上去，我把它改成了無線飛彈。 ","date":"2020年6月19日","externalUrl":null,"permalink":"/posts/3dartwork-20200619/","section":"Artworks","summary":"三菱一式陸攻二四型丁(Mitsubishi G4M2e)，櫻花特攻母機。大日本帝國海軍第721航空隊，昭和20年3月。 2020年6月19日發表，收錄於艦隊Collection Minecraft Add-On\n主要攻擊方式：發射櫻花飛彈。在以下Twitter影片中，沒有人類受傷。\nNo human was harmed in this test pic.twitter.com/MsrrEZUQFm\n— Ivon Huang ☸️🐧✝️ (@Ivon852) July 1, 2020 這個模型可以在Sketchfab下載\nMitsubishi G4M2e bomber + MXY7 Ohka bomb by Ivon852 on Sketchfab\n1. 歷史背景 # 製作動機主要是艦隊Collection的「一式陸攻 野中隊」裝備，野中五郎駕駛的陸攻具有很高的命中率。2016年此裝備出來的時候還曾引起中國玩家在知乎的討論，認為田中謙介不贊同特攻隊為何還要出這架？後來螺旋槳數量證明，遊戲中的一式陸攻不是特攻機。 加上看完松本零士的動畫《ザ・コクピット 音速雷撃隊》，裡面有幻想櫻花飛彈擊中美軍航母的壯烈畫面。所以我做了這架飛機。 三菱生產的一式陸攻（Mitsubishi G4M）長期擔當日本海軍航空隊的轟炸主力，用於陸上及海上轟炸，在太平洋戰爭後期也用於投放櫻花特攻機的母機。櫻花特攻機（MXY7）是自殺載人炸彈，由飛行員操控時速達800km/h的火箭飛機，衝向美軍艦艇，引爆機上炸藥，讓飛行員與敵人同歸於盡。這算是日本海軍最為著名的一款神風特攻武器。\n","title":"【3D繪圖】一式陸攻二四型丁，櫻花特攻母機（721空）","type":"artwork"},{"content":"1944年之後，日本為支援菲律賓作戰，向南洋派遣多艘運輸船。在台灣南方的巴士海峽，有多少運輸船被美軍擊沉，當是難以估計的量。而在屏東最南端，則有這樣一座寺院祭拜著這些葬於海底的人們。\n1. 緣起 # 今天，在勘察完大二暑期實習地點後，我想起恆春半島有一個我一直很在意的景點：潮音寺。\n原因是在2年前，我們屏東大學強迫所有大一必修的《屏東學》課本裡，有這麼一段話吸引了我的目光： 去年到過貓鼻頭時就有經過此處，可是沒有一探究竟。這次，前去參訪。\n屏東潮音寺的地址位於：946屏東縣恆春鎮下泉路72號\n根據網路消息，有需要參訪的可以事先聯絡管理員。所以沒有聯絡，又不是每年8月的公祭日的情況下，從馬路彎進去，大門自然是深鎖，還有幾隻可愛的狗狗。 因為沒有開放我就不好意思多叨擾。內部照片可以參照這篇2008年的Xuite網誌：找到了！潮音寺，裡面有與廟方人員訪談的經過。\n2. 潮音寺的祭拜對象 # 這座寺主要是祭祀二戰期間，日軍在巴士海峽遭美軍擊沉的陸軍揚陸艦「玉津丸」號等陣亡將士。\n1944年（昭和十九年） 8月8日，載運著37600名增援雷伊泰島士兵的ヒ71船團從日本門司出港，當時的陣容為：\n軍隊護送：阿波丸、帝亞丸、摩耶山丸、香椎丸、能登丸、玉津丸、日昌丸、二洋丸、瑞鳳丸、永洋丸、鴨綠丸、吉備津丸（機關故障中途返航） 油料輸送：能代丸、北海丸、旭東丸、第二八紘丸、帝洋丸、あづさ丸 護衛艦： 平戸、倉橋、御蔵、昭南、藤波、#11海防艦、速吸、 伊良湖、夕凪、護衛空母大鷹 出港後，船團於8月15日抵達馬公。8/17日馬公出港，基準船為阿波丸，此處與二洋丸、第二八紘丸、鴨綠丸、伊良湖分離。朝風、佐渡、松輪、日振、擇捉加入護衛。\n8月18日2220，大鷹沈沒，座標18-16N，120-20E\n2312，帝亞丸沈沒, 18-09N, 119-56E\n8月19日0320，速吸沈沒, 17-34N, 119-24E\n0430，玉津丸沈沒, 18-49N, 119-47E\n8月19日0510，帝洋丸沈沒, 17-50N, 119-30E\n8月21日船團在馬尼拉入港\n《艦隊Collection》的速吸改 中破立繪 大鷹改 中破立繪 根據當時在吉備津丸船上的台籍倖存者楊天富先生的說法，『經過巴士海峽附近，船隊中的「玉津丸」遭遇聯軍潛艇襲擊，海面布滿戰友殘破大體，清楚聽到落海的日本兵，手握長槍，載浮載沉中仍大喊「天皇萬歲」，韓籍日本兵則大喊「喔母泥」』\n註：這段說法有點奇怪，因為日方資料是吉備津丸加入ヒ71船團時因故障返回，應該沒有跟著遇襲。之後9月2日加入ヒ72船團從馬尼拉回航時，吉備津丸是唯一生還的船隻，這裡才符合楊先生所見接敵的說法。\n記者也疑似抄錯資料，あづさ丸 跟「秋津丸」是不同的船。\n玉津丸，總重9590噸。 擊沉玉津丸的是美國潛艇USS Spadefish，4820名船員只有65人生還。而潮音寺的設立，便是玉津丸上倖存者之一的通信兵 中嶋秀次在戰後發起的，他漂流到恆春岸邊後，受到附近居民救助。\n為了報恩，1981年中嶋秀次透過台灣友人購得土地建成精舍，每年8月2日都會來祭拜同袍。期間寺院經歷過土地產權糾紛，在2013年過世前勝訴，並在70週年2015年舉行大型慰靈祭，當時日方高層人士以及前總統李登輝都有來參加。\n接下來幾年都有舉辦。2018年則是辦了一場法會，來誦經的包括很有名的海濤法師（名言：「假的！我眼睛業障重啊！」），他在發跡之前與這間寺院結下了緣分。 在潮音寺附近的附近的日華親善之丘也立有「永遠」碑文。\n『海在飲泣，風在湧動，一切隨時光逝去，而愛永遠長存。』 我沒有找到這個碑文。圖片引用自Xuite網誌的舊照片。\n與潮音寺有關的人物還有曾加入台灣震洋特攻隊的陳金村先生。民國77年成立海交會，台籍海軍志願兵的人都可以參加，並與日本的各個分會有聯繫。在籌募到款項之後，也在潮音寺立了塊碑。 2014年扶輪社與日本人立的中日對照碑文。 來自韓國的法輪宗所立地藏菩薩。 這幾塊碑柱則是有用台語羅馬文寫成的文字。 潮音寺門口的南無觀世音菩薩，上面的碑文就是課本所載詩作的原文。 3. 終結 # 今天在潮音寺馬路對面，聚集了人潮。原來是一條小路可以通往無人知曉的小型沙灘。沿著礁石的崎嶇路面下降，穿過樹林 就能抵達一片小小的岩岸沙灘，儘管是比不上附近的白沙灣一類，卻能感受到寧靜，如果說悲壯敢感也是說不上，因為眼前的不過只有深藍的海水，和強風吹拂。 看到活生生的歷史，想到艦隊Collection遊戲裡多次出現的護衛船團，竟然活生生的就發生在台灣附近，可以說是直面歷史了。\n面對無言之海，我只能勉強湊出這麼一句\n風起了，唯有努力生存。\n時間 將一切\n恩怨帶走 流逝\n現在只有\n沉睡在湛藍的巴士海峽\n安撫許多的亡靈\n安撫 祈福\n施主 鄭永列 合掌\n參考資料 # 屏東學概論，2018\n恆春工商學生徐璽荃 二戰「玉津丸」悲劇小說獲文學獎 https://news.ltn.com.tw/news/life/breakingnews/2264018\n陳婉真說故事》哭泣的巴士海峽 https://pr.ntnu.edu.tw/newspaper/index.php?mode=data\u0026id=45086\n第二十六師団移動 玉津丸の航跡\n臺灣人‧志願兵o震洋特攻隊：陳金村先生口述歷史\n10萬日軍命葬巴士海峽 海濤法師超度滯留孤魂 https://video.udn.com/news/825975\n目擊二戰「玉津丸」遭擊沉 91歲阿公：奇幻漂流倖存 https://news.ltn.com.tw/news/life/breakingnews/2304660\nバシー海峡戦没者慰霊施設　潮音寺管理委員会 http://choonji.org/desktopdefault.aspx\n日華親善の丘-( 貓鼻頭風景區旁）https://m.xuite.net/blog/seacolor/twblog/147192087\nWikipedia\n","date":"2020年6月14日","externalUrl":null,"permalink":"/posts/2020061401/","section":"Histories","summary":"1944年之後，日本為支援菲律賓作戰，向南洋派遣多艘運輸船。在台灣南方的巴士海峽，有多少運輸船被美軍擊沉，當是難以估計的量。而在屏東最南端，則有這樣一座寺院祭拜著這些葬於海底的人們。\n1. 緣起 # 今天，在勘察完大二暑期實習地點後，我想起恆春半島有一個我一直很在意的景點：潮音寺。\n原因是在2年前，我們屏東大學強迫所有大一必修的《屏東學》課本裡，有這麼一段話吸引了我的目光： 去年到過貓鼻頭時就有經過此處，可是沒有一探究竟。這次，前去參訪。\n屏東潮音寺的地址位於：946屏東縣恆春鎮下泉路72號\n根據網路消息，有需要參訪的可以事先聯絡管理員。所以沒有聯絡，又不是每年8月的公祭日的情況下，從馬路彎進去，大門自然是深鎖，還有幾隻可愛的狗狗。 因為沒有開放我就不好意思多叨擾。內部照片可以參照這篇2008年的Xuite網誌：找到了！潮音寺，裡面有與廟方人員訪談的經過。\n2. 潮音寺的祭拜對象 # 這座寺主要是祭祀二戰期間，日軍在巴士海峽遭美軍擊沉的陸軍揚陸艦「玉津丸」號等陣亡將士。\n1944年（昭和十九年） 8月8日，載運著37600名增援雷伊泰島士兵的ヒ71船團從日本門司出港，當時的陣容為：\n","title":"祭拜二戰巴士海峽亡魂，參訪屏東縣最南端的潮音寺","type":"history"},{"content":"高年級實習生真人版，暑假絕贊上映。在暑假被工作佔滿之前還是完成了1台邱吉爾、1位艦娘、1座噴煙者的模型。\n潛水艦 伊168 放錯順序了對不起 伊168很少有正面照。\n這次參考了2013年的MMD模型 電波式 伊168 的髮型。 可是跟2014年FREEing的PVC的相比，正面領結的部分就錯了。\n本文PVC的圖片都引用自luanfong1212大大的文章 2013年官方給的C85的正面圖 再來根據這部影片，街機版跟原作又有稍微不一樣的地方，游泳圈基本上不會帶著，魚雷是憑空從手中變出來的。(只靠腳打水就可以游那麼快，快點教我游泳課期末就不會死的那麼難看了) 綜上所述，先從背包開始。原本是想平塗，可是伊168的全身立繪實則都有一點反射水的顏色，所以按照立繪的畫。下面那根是伊168唯一的艦砲: 50口径八八式10cm単装高角砲 53cm魚雷是直接按照伊19的立繪的樣子畫，維持二根。 手上把玩的艦橋就簡單捏個形狀而已。 後部馬尾貼圖設計，呆毛是從前額繞一圈到後面再跟馬尾綁在一起。 反射的水波紋(藍藍的部分)。 至於遊戲裡的構想是潛伏在水中，發現目標時只嘗試性發射魚雷攻擊一次，隨後下潛逃跑。行為類似海豚+海龜綜合體，周遭有水就會想從陸地上跑回水中。\n提督(史帝夫)若能跟著伊168一起游泳，給予水下呼吸等正面效果。 ","date":"2020年6月9日","externalUrl":null,"permalink":"/posts/kantai-collection-minecraft-addon-i-168/","section":"Artworks","summary":"高年級實習生真人版，暑假絕贊上映。在暑假被工作佔滿之前還是完成了1台邱吉爾、1位艦娘、1座噴煙者的模型。\n潛水艦 伊168 放錯順序了對不起 伊168很少有正面照。\n這次參考了2013年的MMD模型 電波式 伊168 的髮型。 可是跟2014年FREEing的PVC的相比，正面領結的部分就錯了。\n本文PVC的圖片都引用自luanfong1212大大的文章 2013年官方給的C85的正面圖 再來根據這部影片，街機版跟原作又有稍微不一樣的地方，游泳圈基本上不會帶著，魚雷是憑空從手中變出來的。(只靠腳打水就可以游那麼快，快點教我游泳課期末就不會死的那麼難看了) 綜上所述，先從背包開始。原本是想平塗，可是伊168的全身立繪實則都有一點反射水的顏色，所以按照立繪的畫。下面那根是伊168唯一的艦砲: 50口径八八式10cm単装高角砲 53cm魚雷是直接按照伊19的立繪的樣子畫，維持二根。 手上把玩的艦橋就簡單捏個形狀而已。 後部馬尾貼圖設計，呆毛是從前額繞一圈到後面再跟馬尾綁在一起。 反射的水波紋(藍藍的部分)。 至於遊戲裡的構想是潛伏在水中，發現目標時只嘗試性發射魚雷攻擊一次，隨後下潛逃跑。行為類似海豚+海龜綜合體，周遭有水就會想從陸地上跑回水中。\n提督(史帝夫)若能跟著伊168一起游泳，給予水下呼吸等正面效果。 ","title":"伊168艤裝製作紀錄（艦隊Collection Minecraft Add-On）","type":"artwork"},{"content":"受某人委託所製作的核彈Add-on，擁有類似Java版Rebel模組那樣的蘑菇雲效果。 核彈模型是從網路上下載的，因為判定點不明朗，建議往影子的位置點火。\n可以使用打火機或者墜落方式使核彈爆炸 手機大概會lag一分鐘左右。爆炸範圍大約一個村莊，同時賦予100格內的生物劇毒、失明效果。 請記得啟用資源包和行為包＆開啟測試版遊戲。\n下載網址：\nhttp://www.mediafire.com/file/imuxc8du82ahcgy/Nuke.mcaddon/file\nMinecraft Add-On安裝教學\n","date":"2020年6月4日","externalUrl":null,"permalink":"/posts/minecraft-simple-nuke-add-on/","section":"Minecrafts","summary":"受某人委託所製作的核彈Add-on，擁有類似Java版Rebel模組那樣的蘑菇雲效果。 核彈模型是從網路上下載的，因為判定點不明朗，建議往影子的位置點火。\n可以使用打火機或者墜落方式使核彈爆炸 手機大概會lag一分鐘左右。爆炸範圍大約一個村莊，同時賦予100格內的生物劇毒、失明效果。 請記得啟用資源包和行為包＆開啟測試版遊戲。\n下載網址：\nhttp://www.mediafire.com/file/imuxc8du82ahcgy/Nuke.mcaddon/file\nMinecraft Add-On安裝教學\n","title":"【自製模組】Minecraft基岩版威力最大的核彈 Simple Nuke","type":"minecraft"},{"content":"這個Add-On實在太經典了，當年2020年一出就造成轟動。\n我在自己的Facebook粉絲專頁「Minecraft模組插件分享自製技術」一分享就獲得史上最多的讚。\n1. 介紹 # CianoKakuna製作的武漢肺炎/新冠肺炎模組 (Coronavirus Addon)。\n武漢病毒\u0026hellip;啊不是COVID-19新冠肺炎Addon\n一不小心就會全村大爆發！ 義大利人做的挺有爭議的Addon。召喚出「蝙蝠的屍體」，就會產生病毒感染村民和玩家。 數量龐大連鐵巨人都擋不了，感染的方法是物理攻擊。 [ ](https://i.imgur.com/02Q6T2B.png 對抗新型病毒，你可以戴口罩，或是噴酒精。吃下Loader（等同塞在口罩裡）可以獲得回血效果。\n撥打以下電話\u0026hellip;指令\n/function kit 可獲得防疫工具組。 2. 下載點 # 原文：Coronavirus Addon\n下載：http://hurirk.net/-81194EAZB/gnf?rndad=28137004-1628998893\nMinecraft Add-On安裝教學\n","date":"2020年6月1日","externalUrl":null,"permalink":"/posts/minecraft-corona-virus-add-on/","section":"Minecrafts","summary":"這個Add-On實在太經典了，當年2020年一出就造成轟動。\n我在自己的Facebook粉絲專頁「Minecraft模組插件分享自製技術」一分享就獲得史上最多的讚。\n1. 介紹 # CianoKakuna製作的武漢肺炎/新冠肺炎模組 (Coronavirus Addon)。\n武漢病毒…啊不是COVID-19新冠肺炎Addon\n一不小心就會全村大爆發！ 義大利人做的挺有爭議的Addon。召喚出「蝙蝠的屍體」，就會產生病毒感染村民和玩家。 數量龐大連鐵巨人都擋不了，感染的方法是物理攻擊。 [ ](https://i.imgur.com/02Q6T2B.png 對抗新型病毒，你可以戴口罩，或是噴酒精。吃下Loader（等同塞在口罩裡）可以獲得回血效果。\n撥打以下電話…指令\n/function kit 可獲得防疫工具組。 2. 下載點 # 原文：Coronavirus Addon\n下載：http://hurirk.net/-81194EAZB/gnf?rndad=28137004-1628998893\nMinecraft Add-On安裝教學\n","title":"【模組分享】Minecraft 武漢肺炎，蝙蝠，酒精，口罩 Coronavirus Add-On","type":"minecraft"},{"content":"滑鼠墊其實不是什麼大小事，光南隨便一個就可以勝任了，不然路邊拿到的贈品也是多到用不完，不需要特別買什麼名貴的產品。不過這次我想來點不一樣的。 請聽我娓娓道來\u0026hellip; 聽起來冠冕堂皇的購買理由：放電腦的桌子有一張是書桌，手沒有可以墊的地方，懸空容易酸；此外，另外一個桌子沒有墊子，桌上都是滑鼠摩擦的排遺。\n因為訂做滑鼠墊很簡單，所以我主要想找官方/授權商品，然後不是瑞雲祭才買的到的限定品。\n眾所周知，動漫周邊不是普通的貴。\n邊搜尋邊物色（？）找到的資料顯示，官方出過的滑鼠墊有：\n2014年1月，Hobby Japan出的「凸」立體滑鼠墊系列，共4名艦娘。同年8月，第2彈只有3位艦娘。2016年3月，第3彈共6名艦娘，還把禁忌的突起做出來。 2014年3月イサムコーポレーション也有出4位艦娘的立體滑鼠墊。其中，龍驤的居然有一咪咪的起伏。 至於台灣角川2016年代理的普通滑鼠墊，價格就比較便宜，博客來的存貨120。 以上的立體滑鼠墊定價都是4000日元以上，台幣大概1200。比模型還要貴的滑鼠墊，這樣的話不如買個新滑鼠就好了。\n重點是在台灣很難買到，最後找到的是台灣角川2017年出的立體滑鼠墊系列，總共有4個艦娘。 結果這個系列還是跟1/48模型一樣貴，960元。\n可是！！在沒有屋頂的地方找到有人打5折，馬上下標。\n\u0026hellip;\n到貨的時候驚覺「乾好大」，不是指Iowa的胸，而是滑鼠墊的尺寸。 跟霹靂的舊滑鼠墊確認過，的確有很明顯的隆起。 具體使用上，手就是這樣墊（夾）著。 可是大部分使用時應該都是這樣，長時間握持時那個墊子才有舒緩的作用，不然手實在很難動。\n飛機可以有圓的XF5U，我買圓形滑鼠墊有什麼錯(暴論) 一方面覺得無彩錢的時候，還想著被家人或同學看到桌子上放這個的時候的問題。\n這個時候我想像崔健一樣，外面包起崔健的一塊紅布。\n","date":"2020年5月30日","externalUrl":null,"permalink":"/posts/official-kantai-collection-iowa-oppai-mouse-pad/","section":"Kantai-Collections","summary":"滑鼠墊其實不是什麼大小事，光南隨便一個就可以勝任了，不然路邊拿到的贈品也是多到用不完，不需要特別買什麼名貴的產品。不過這次我想來點不一樣的。 請聽我娓娓道來… 聽起來冠冕堂皇的購買理由：放電腦的桌子有一張是書桌，手沒有可以墊的地方，懸空容易酸；此外，另外一個桌子沒有墊子，桌上都是滑鼠摩擦的排遺。\n因為訂做滑鼠墊很簡單，所以我主要想找官方/授權商品，然後不是瑞雲祭才買的到的限定品。\n眾所周知，動漫周邊不是普通的貴。\n邊搜尋邊物色（？）找到的資料顯示，官方出過的滑鼠墊有：\n2014年1月，Hobby Japan出的「凸」立體滑鼠墊系列，共4名艦娘。同年8月，第2彈只有3位艦娘。2016年3月，第3彈共6名艦娘，還把禁忌的突起做出來。 2014年3月イサムコーポレーション也有出4位艦娘的立體滑鼠墊。其中，龍驤的居然有一咪咪的起伏。 至於台灣角川2016年代理的普通滑鼠墊，價格就比較便宜，博客來的存貨120。 以上的立體滑鼠墊定價都是4000日元以上，台幣大概1200。比模型還要貴的滑鼠墊，這樣的話不如買個新滑鼠就好了。\n重點是在台灣很難買到，最後找到的是台灣角川2017年出的立體滑鼠墊系列，總共有4個艦娘。 ","title":"乾真大 ~ 開箱艦隊收藏官方Iowa立體胸部滑鼠墊","type":"kantai-collection"},{"content":"","date":"2020年5月16日","externalUrl":null,"permalink":"/tags/tamiya/","section":"標籤","summary":"","title":"TAMIYA","type":"tags"},{"content":"網購購入，田宮於1995年推出的模型套件：タミヤ 1/48 傑作機シリーズ 百式司令部偵察機III型\n隸屬於大日本帝國陸軍飛行第10戰隊第一中隊的「百式司偵」。機尾標誌是一隻老虎。 百式司偵，全稱百式司令部偵察機，代號Ki-46，是二戰日本陸軍委託三菱重工開發的偵察機，為了最大化偵查效益針對速度全面優化，可以說是日本飛機裡面飛得最快的飛機了。海軍對應的機種應該是二式陸偵，不過論速度的話，只有彩雲艦上偵查機比得上。\n百式司偵各型號參考下圖 我特地選百式司偵III型，就是為了這個超美的流線型防風玻璃罩～這可是日本三菱重工跟東京大學的專家一齊開發出來的！能夠最大化減少風阻，讓飛機速度高達642km/h。\n百式司偵早期型是有傳統飛機的鼻子的，III型可說是最完美的狀態！另有改造成為防空戰鬥機的丙型，類似二式複戰，用來攔截B-29，機首裝上了機砲。可是那樣的話鼻子就又跑出來了，很醜！我寧願它繼續當偵查機。\n這架我斷斷續續的組了6個月左右\n為了對飛機更了解，還去舊書攤買丸メカニック雜誌來參考 百式司偵採用三菱開發的ハ112-II引擎 乘組員是兩人，一前一後，前座的有操控桿，後座的有相機 因為百式司偵是偵查機（盟軍稱為「照相館的喬」），機身後部的有一個拍照用的攝影機，對著機身下方拍照。 這就是乘組員最後的遺照了，因為在那之後他們就要被關入玻璃座艙罩了～選1/48比例的就是方便觀察這架飛機精美的細節，可惜的是，我這裡模型的玻璃處理工藝不過關（？）從外部很難看到座艙內的配置。加上我是把它黏死\u0026hellip;。\n盒子上的機身顏色看起來有點像橄欖綠，但那是光線影響所致。根據內附的說明書，百式司偵塗裝應該採用日本陸軍的綠色。這個顏色有點類似海軍的一式陸攻，稍微綠一些。\n我第一次在這裡學會使用噴漆罐上色。把房間弄得臭死了！房間沒有抽風機，差點毒死自己。但是值得！否則筆塗不知道要弄到什麼時候，而且機身蒙皮也不會有這麼漂亮的效果。在噴漆的時候，需要用遮蓋膠帶將玻璃座艙給貼起來，這樣的話就會有完美的上色效果了。 不幸的是，這個模型套件真的太老了，我買來的時候水貼早就爛掉了。所以最後我只有象徵性的畫日本軍機的黃色識別條上去，連日之丸都沒有。看起來像是剛返廠維修的原型機。 跟田宮官網組起來的展示圖比起來，唉，效果差多了啊～ ","date":"2020年5月16日","externalUrl":null,"permalink":"/posts/tamiya-1-48-mitsubishi-ki-46-iii/","section":"Artworks","summary":"網購購入，田宮於1995年推出的模型套件：タミヤ 1/48 傑作機シリーズ 百式司令部偵察機III型\n隸屬於大日本帝國陸軍飛行第10戰隊第一中隊的「百式司偵」。機尾標誌是一隻老虎。 百式司偵，全稱百式司令部偵察機，代號Ki-46，是二戰日本陸軍委託三菱重工開發的偵察機，為了最大化偵查效益針對速度全面優化，可以說是日本飛機裡面飛得最快的飛機了。海軍對應的機種應該是二式陸偵，不過論速度的話，只有彩雲艦上偵查機比得上。\n百式司偵各型號參考下圖 我特地選百式司偵III型，就是為了這個超美的流線型防風玻璃罩～這可是日本三菱重工跟東京大學的專家一齊開發出來的！能夠最大化減少風阻，讓飛機速度高達642km/h。\n百式司偵早期型是有傳統飛機的鼻子的，III型可說是最完美的狀態！另有改造成為防空戰鬥機的丙型，類似二式複戰，用來攔截B-29，機首裝上了機砲。可是那樣的話鼻子就又跑出來了，很醜！我寧願它繼續當偵查機。\n這架我斷斷續續的組了6個月左右\n為了對飛機更了解，還去舊書攤買丸メカニック雜誌來參考 百式司偵採用三菱開發的ハ112-II引擎 乘組員是兩人，一前一後，前座的有操控桿，後座的有相機 因為百式司偵是偵查機（盟軍稱為「照相館的喬」），機身後部的有一個拍照用的攝影機，對著機身下方拍照。 ","title":"田宮 1/48 日本陸軍 百式司偵III型 傑作機系列模型 製作過程 ","type":"artwork"},{"content":"這不是綠豆糕，是Zara的艤裝\n為了方塊遊戲mod而做的3D模型，一些細節太小刻不出來。\n強 行 合 體 正常型態是這樣。 在製作時，參考大破後的圖可以看到更多細節。當然最好還是等官方有出模型或者街機版實裝，模型才能做得更準確。 JiJi的構想大致是二個煙囪的船體中部在背後，二側裝甲分別為船體前半在前並放大，好擋到腰部，後半的船體則在後方，包含螺旋槳。防空炮塔放大放在上方，然後用轉軸連接下半的船身，上下部分再各嵌一個砲塔。 轉軸的設計(猜想) 整體上按照原作JiJi的設計，再參考有出黏土人的Pola造型。 可是Zara Due的船體上新型桅杆我不知道該參考哪艘的，所以沿用改一的設計。\nZara手上的飛機彈射器不知道是跟什麼步槍合體來的。 因為材質解析度太低，所以艦銘糊成一團。 回到文首提的，於是我試著合體看看能不滿足一些人提議的「想單純看到船艦」的需求。可是我是照著人設圖捏的，結果當然是不行。\n若不改造部件的大小，勉強只能組合出這個像是超級戰隊系列合體的必殺大砲一樣的構型。 至於Zara的正身，傷眼注意。 攻擊姿態 ","date":"2020年5月7日","externalUrl":null,"permalink":"/posts/kantai-collection-minecraft-addon-zara/","section":"Artworks","summary":"這不是綠豆糕，是Zara的艤裝\n為了方塊遊戲mod而做的3D模型，一些細節太小刻不出來。\n強 行 合 體 正常型態是這樣。 在製作時，參考大破後的圖可以看到更多細節。當然最好還是等官方有出模型或者街機版實裝，模型才能做得更準確。 JiJi的構想大致是二個煙囪的船體中部在背後，二側裝甲分別為船體前半在前並放大，好擋到腰部，後半的船體則在後方，包含螺旋槳。防空炮塔放大放在上方，然後用轉軸連接下半的船身，上下部分再各嵌一個砲塔。 轉軸的設計(猜想) 整體上按照原作JiJi的設計，再參考有出黏土人的Pola造型。 可是Zara Due的船體上新型桅杆我不知道該參考哪艘的，所以沿用改一的設計。\nZara手上的飛機彈射器不知道是跟什麼步槍合體來的。 因為材質解析度太低，所以艦銘糊成一團。 回到文首提的，於是我試著合體看看能不滿足一些人提議的「想單純看到船艦」的需求。可是我是照著人設圖捏的，結果當然是不行。\n若不改造部件的大小，勉強只能組合出這個像是超級戰隊系列合體的必殺大砲一樣的構型。 至於Zara的正身，傷眼注意。 攻擊姿態 ","title":"Zara艤裝製作紀錄（艦隊Collection Minecraft Add-On）","type":"artwork"},{"content":"C2機關的Twitter帳號在前幾天轉發了自衛隊的新聞，說美軍公布了UFO影像，那自衛隊也應制定對策才是！新聞連結\n用中國那邊的說法就是，田中可能連夜叫小黑屋的畫師馬上生一架XF5U Flying Pancake的立繪出來，畢竟飛碟就要用飛碟迎擊！\nXF5U-1是美國海軍在二戰開發的實驗型戰鬥機，外型很像飛碟，或者更確切的說是「鬆餅」。\n蛤，制空只有12？給美國航母裝備的話對空+3，火力還另外+3。 XF5U-1是否真的是出現太晚，是可惜的傑作機?可以參考知乎的討論。\n還有容我抱怨，一開始Google到的都是內容農場抄來的文章，我很angry中文圈都被這些網站糟蹋。\n*經巴友 鷹犬 提醒，對空制空理解錯誤，刪除錯誤論述。\n*經巴友 時空風 提醒，改正薄餅為鬆餅。\n1. 前身：Vought V-173 \u0026ldquo;Zimmer Skimmer\u0026rdquo; # XF5U的前身是沃特公司在1939年開發的V-173「飛行鬆餅」，也就是設計F4U海盜式的那家公司。\n不過，以美國人的說法來看，V-173才是叫\u0026quot;Flying Pancake\u0026quot;，XF5U-1則是\u0026quot;Flying Flapjack\u0026quot;。\nV-173實機飛行影片： V-173的設計師Charles H. Zimmerman在沃特公司一直以來都有許多奇思妙想的設計，圓盤式的構型也是他的作品之一，是為概念驗證機。 https://www.nasa.gov/history/charles-h-zimmerman/\n在此之前他提出的飛機設計多次被NACA和軍方回絕，這次他是先製作了一台電力驅動的樣機V-162，便成功引起海軍的興趣。 按照他的構想，全翼型的機身可以在低速下起降，還能維持卓越的高速性能。1942年11月23日首飛，到1943年間試飛了190餘次，有民眾還以為看到飛碟。 V-173安裝的是二具大陸A80引擎，出力80hp。後來還加上垂直尾翼，而由於起落架很長，該機在地面上時角度非常大。\n在地面上時飛行員要從機身下部進入座艙，不過上下都有玻璃可看到外部，最初的設計還打算要飛行員用趴的駕駛。V-173最高時速222km/h，無任何武裝。 來看看試飛員怎麼說。\n在康乃狄克州的斯特拉特福德鎮，這裡開始她的處女航。\n試飛員Boone T. Guyton對測試很感興趣，當在地面上滑行試驗幾週後他就興奮地跳上V-173。\n「第一次試飛是我一生中當職業飛行員以來最有趣的一件事。」\n「就像足球頭盔一樣，我扣上頭盔的帶子。確認引擎和操作系統後，我開始從跑道上滑動。Zimmerman在跑道上向我揮舞著雙手，然後走向救援墜機卡車的位置，觀看試飛過程。」\n「我迎著風起飛，看到警察和警衛在附近停車圍觀的民眾之間穿梭，沒收他們手上的照相機，掛在籬笆上的小孩被拖了回去。起飛到一半時，那個我撞到幾百次的地面突起進入我的視線令人很不爽。而跑道另一頭卡車上的觀測員則緊盯著我的飛行狀況。」\n「這種構造的飛機，地面效應會很強。在到達效應消失的高度時，我馬上感到操縱變得十分沉重，這樣要飛回去降落會成問題，我已能預見在長島海灣水面降落的模樣。」 儘管他已有墜機的預想，他卻想到Zimmerman努力十幾年才取得了NACA、錢斯沃特和海軍人士的支持這架高速、短距離起降的飛機設計。\n「我立即想到正站在跑道上的Zimmerman，現在正是他長久努力以來最興奮的一刻，他傾注了所有心力在這個計劃上。」\n他雙手緊握3050磅重的操縱桿，使勁地推了之後，飛機成功飛到300英尺，沒有掉到海裡，機鼻仍指向天空。他慢慢地的偏航，方向舵反應良好，引擎接近全部出力。\n「隨後飛機慢慢地飛回機場，我情不自禁的想大喊『Charlie，她飛起來了！』」\n在降落時他注意到了特別的現象，Guyton像操作直升機一樣垂直下降，再用四分之三的馬力維持機鼻的角度。\n「在降落的最後幾英尺飛機下降突然變快，我仍緊握操縱桿，過程我很害怕又雀躍。V-173前進了約50英尺，降落速度大約是50mph。這時我便知曉，這架飛機充分展示了設計師的理念，能夠垂直起飛和降落。」\nGuyton從鬆餅的機腹下艙門爬下來，Zimmerman和地勤一齊慶祝13分鐘的首飛成功。 Guyton要用雙手才能拉動操縱桿的問題很快就解決了，Zimmerman修改了螺旋槳的角度和稍微改進引擎的性能，整體表現獲得提升，還在「飛行尾翼」加上調整片。\n試飛了40至50次後，應沃特公司的要求在翼端加上穩定襟翼(stabilizing flap)。\nGuyton回憶：\n「動力不足或失去動力的情況下，我難以將機尾朝下，我稱此現象為地面效應。在大約離地10英尺的時候，機緣安裝的襟翼會自動張開，可以有效抵銷一部分力量。但我的印象中並不是很完美。在火炬(flare)著陸時機鼻會朝下，降低出力此問題會更明顯。」\nGuyton希望改進駕駛座艙的舒適度，此外駕駛桿因為沒有額外動力導致很難操作。座艙視野很差，得一直把身體靠向前才能認清方向，他還因此腰酸背痛。座艙幾乎與翼端前沿貼齊。而機身下部用來確認起飛和降落狀況的玻璃，Guyton認為根本沒用，得頻繁的一直查看下方。\n連續54次的飛行中，因為螺旋槳與機身結構的共振導致駕駛艙一直有震動問題，Zimmerman在螺旋槳上加裝減震器解決。後來生產較重的XF5U-1時沒有遇到此問題，但是卻發展出使用鉸接的螺旋槳，避免高攻角時氣流不對稱的情況發生。機輪的煞車僅用於地面滑行和煞停之用，但是不利於地上機動。\n進入V-173的機艙要搭梯子。 Guyton在首飛後做出總結：\n「這是一次滿意的體驗。作為一名飛行員，引擎全開，機鼻朝向最高，在各個偏航軸上都能有效控制飛機，沒有失速。」\n他把操縱桿推到底，升降舵全開，飛機以45度角爬升，縱向橫向都能操作自如。\n「在試飛過程中，我們都沒辦法讓這架飛機完全失速或進入尾旋。在急轉彎時飛機的速度會驟降。我認為這個特點可以讓這架飛機在狗鬥中成為難纏的對手。」\n「首次飛行時，因為引擎的低出力，飛機速度達不到水平飛行姿態。施加在操控桿上的力度之大，使我擔憂能不能轉彎並飛回機場降落。我親切的稱呼它為Zimmer Skimmer——飛起來很有趣，但是感覺不愉快。」\n「除了機動和俯衝，在低速、機鼻朝上的姿態時，桿力都十分沉重，控制面的回應很緩慢。飛行時的視野很有限，每次飛完後我都覺得我在鍛鍊我自己的眼力。在降落時機鼻會有往下的傾向。」\n「這是一架非常特別的飛機。驚險的降落，緩慢的轉圈後操控起來仍沒有任何異狀。降落時需施加力氣。作為一名前海軍飛行員，我便希望能在驅逐艦或戰艦的吊臂上停放這架時速500mph的飛機。」 Guyton試飛了13次之後，在試飛F4U時墜機導致重傷。Richard Burroughs接手繼續測試。第34次由Charles A. Lindbergh負責，之後還有其他海軍飛行員參與，例如指揮官Ramsey、Booth和後來當上美國聯邦航空總署總裁的中尉Najeeb E. Halaby。其他公司參與試飛的則有William B. Boothby、C. L. Sharp和W. H. B. Millar。\n因為這塊鬆餅的重量輕，飛行速度又慢，造成了一些小麻煩。有一次迫降在斯特拉特福德Mill河旁邊的的高爾夫球場，因為這是最高機密，在護衛嚴密看守下，軍方連夜把她拖回機場。\n1943年6月3日，因引擎發生氣鎖問題，所以在長島海灣的Lordship海灘迫降。為避免撞上曬日光浴的民眾，飛行員Burroughts在沙灘上將其翻轉過來。隨後在向右偏轉並翻過來的機身下發現了海灘巾。 這次事故中螺旋槳葉片斷了二片，Lindbergh和Zimmerman目睹該機從視線中消失並衝向海灘。自那時起Lindbergh就拒飛這架飛機了。\nZimmerman回憶道:「他很擔心若飛機翻覆，駕駛艙被壓碎，他就會被困在裡面。飛機的確是翻覆了，可是駕駛艙沒事。Burroughts挖掉一些沙子後爬了出來。」Lindy後來向Zimmerman表示：「我已經準備好了，我可以操控這架飛機了。」之後這架機體被拖回工廠修理。\n最後一個重大的事件是在1947年錢斯沃特30週年飛行秀上的表演。再次由Guyton操縱。在大熱天的跑道上難以達到起飛速度，之後撞向跑道盡頭的高壓電線。 2. 進展到XF5U-1 # 1941年9月，海軍要求沃特建造二架VS-315，就是後來的XF5U-1。一架用作飛行測試，另一架在實驗室測試數據。海軍要求使用旋翼(flapping)或者鉸鏈螺旋槳。\nhttps://www.usni.org/magazines/naval-history-magazine/2019/june/pancake-didnt-fly\n1944年7月15日海軍提出合約。但是XF5U之後只在地面測試，沒有飛行的機會，因為螺旋槳會有嚴重的向右偏轉問題。還有測試這個項目太燒錢，海軍比較想把錢花在研製噴射引擎上，儘管渦輪噴射引擎也有變速箱的問題存在。\nXF5U-1一開始安裝的是類似F4U-4的漢彌爾頓標準螺旋槳。推測只是用來在地面滑行以及測試齒輪用，不太可能用於其他用途。可是讓人疑惑的是，XF5U-1二個螺旋槳旋轉方向是不同的，這些F4U-4的葉片方向卻仍是同一邊。而左邊的螺旋槳，漢彌爾頓的標誌在後面，所以有可能是把螺旋槳直接翻轉過來，這樣就可以在引擎低轉速下做些調整。\n正在測試引擎的XF5U-1。 Zimmerman發覺要使用旋翼才能解決在高攻角飛行時，因非對稱氣流造成的震動和抵抗翼載荷，Zimmerman一時卡關。\n「那時差點就要放棄這個計畫了。但是在努力幾週後我想到使用兩組旋轉的螺旋槳，類似貝爾公司的直升機旋翼，一個在前一個在後，構成4葉螺旋槳。」 XF5U-1最大的改變是換裝二個1350馬力的 P \u0026amp; W R-2000-7引擎。沃特公司推算的飛行速度是在40425mph之間，注水加力為20mph460mph。使用燃氣渦輪引擎則為0~550mph。\n機內油箱261加侖，比原型機V-173的20加侖多出不少，飛行距離推測有1000英里。V-173空重14450磅，靜風時需要200英尺起飛。XF5U-1起飛距離則是721英尺。在地面時XF5U-1在地面上的角度相較於V-173減少了5度，只有18度。 XF5U-1的武裝預定為在引擎和駕駛艙之間安裝6門.50機槍或4門20mm機砲，還能掛載1000磅炸彈或副油箱。不過造出來之後卻沒有實際裝上。\n1943年6月8日的木製模型，沒有螺旋槳的那個部位是引擎。在引擎與座艙之間的一排洞就是安裝武器的位置。 根據美國國家航空博物館館長所說，這架飛機可以在25節逆風下起飛，還可以從船艦的甲板上直接飛起來。這不就是海軍要的嗎，不止能配給航母，小型船隻也有裝載艦載機的可能性。\nXF5U的引擎結構，螺旋槳要用很長的轉軸連接。 https://oldmachinepress.com/2017/02/05/vought-xf5u-flying-flapjack/\n完整剖面圖(圖來自1973年6月《Air Enthusiast》雜誌) 機身上發現的標誌，一隻兔巴哥坐在魔毯上吃紅蘿蔔。 3. 二架飛機的末路 # XF5U奇特的造型讓海軍很心動，類似直升機的短距離起降似乎有運用在驅逐艦上的可能，不過在解決一些技術問題的過程中二戰就結束了，戰後軍費裁減以及噴射引擎的出現導致XF5U連飛行都沒有就在1947年被廢棄了。\n海軍終止合約後要製造這二架飛機的Lee C. Stetson自己親手銷毀他的作品。拆除引擎和儀器後，大鐵球砸向機體，來回幾次之後，閃亮的機身便成為了一地的廢鋁，測試數據也跟著毀損。\n之後工人再把框架繼續拆解。同時，海軍向沃特公司要求歸還價值6000美元，用來製造變速箱軸承的純銀，工程師們和守衛一同在大雪覆蓋的廢料堆裡翻找。最終沃特公司賠錢給軍方，並把廢料和治具賣給當地的回收業者。\n回收業者想把找到的純銀賣給珠寶商，結果對方報警找FBI來，沃特公司還為此出席並擔保他可以合法持有這些純銀。\n安裝旋翼螺旋槳的XF5U-1。黑色部分是工作區域，用來保護金屬表面。 塗裝彩色照。 https://www.sohu.com/a/252755249_141705\n至於原型機V-173，在參加完航空秀之後先是回到了斯特拉特福德鎮，海軍之後批准將全尺寸、重量輕的V-173運到維吉尼亞州諾福克的海軍航空站，在大雪中用拖車拖拉機載到拖船上花二天才抵達諾福克。\n垂直尾翼和「飛行尾翼」被拆除後運到史密森尼美國藝術博物館在馬里蘭州Silver Hill的倉庫裡保存。\n博物館裡的V-173(維基百科) 1960年代，美國國家航空太空博物館從海軍那裡將這架V-173移到復原設施。航空歷史學家Jay Miller在1970年代拍攝了復原設施裡的V-173。2002年，一名沃特公司的行政人員收到他的通知，看到這架飛機仍處於待復原狀態。於是隔年將其運到沃特公司在達拉斯附近的大草原設施，在那裡由沃特飛機資產基金會(Vought Aircraft Heritage Foundation)負責修復。修復過程很繁複，老兵在處理手縫部分的時候一直被針扎到，還有人說機身上下都是他的DNA，此外還須重新連接飛機襟翼的操縱鋼索。 2012年3月，修復好的機體由卡車載到飛行者先驅博物館，在那裡展示10年。\n於是，15年來Zimmerman夢想和沃特公司的財務及技術支援，在成功前夕功敗垂成。他將繼續在之後的作品如XC-142A和XV-15延續「飛行鬆餅」的設計精神。\n而大洋彼岸，德國人也搞過類似的Sack AS-6，不過沒有投產(維基百科)。 參考資料\u0026amp;主要圖源 # Chance Vought V-173/XF5U-1 (Naval Fighters), Art Schoeni, 1992 美國海軍研究所 https://www.usni.org/magazines/naval-history-magazine/2019/june/pancake-didnt-fly\nAir \u0026amp; Space雜誌 https://www.airspacemag.com/history-of-flight/restoration-vought-v-173-7990846/\nOld Machine Press https://oldmachinepress.com/2017/01/20/vought-v-173-flying-pancake-zimmers-skimmer/\nOld Machine Press https://oldmachinepress.com/2017/02/05/vought-xf5u-flying-flapjack/\n","date":"2020年5月1日","externalUrl":null,"permalink":"/posts/vought-xf5u/","section":"Histories","summary":"C2機關的Twitter帳號在前幾天轉發了自衛隊的新聞，說美軍公布了UFO影像，那自衛隊也應制定對策才是！新聞連結\n用中國那邊的說法就是，田中可能連夜叫小黑屋的畫師馬上生一架XF5U Flying Pancake的立繪出來，畢竟飛碟就要用飛碟迎擊！\nXF5U-1是美國海軍在二戰開發的實驗型戰鬥機，外型很像飛碟，或者更確切的說是「鬆餅」。\n蛤，制空只有12？給美國航母裝備的話對空+3，火力還另外+3。 XF5U-1是否真的是出現太晚，是可惜的傑作機?可以參考知乎的討論。\n還有容我抱怨，一開始Google到的都是內容農場抄來的文章，我很angry中文圈都被這些網站糟蹋。\n*經巴友 鷹犬 提醒，對空制空理解錯誤，刪除錯誤論述。\n*經巴友 時空風 提醒，改正薄餅為鬆餅。\n1. 前身：Vought V-173 “Zimmer Skimmer” # XF5U的前身是沃特公司在1939年開發的V-173「飛行鬆餅」，也就是設計F4U海盜式的那家公司。\n不過，以美國人的說法來看，V-173才是叫\"Flying Pancake\"，XF5U-1則是\"Flying Flapjack\"。\nV-173實機飛行影片： V-173的設計師Charles H. Zimmerman在沃特公司一直以來都有許多奇思妙想的設計，圓盤式的構型也是他的作品之一，是為概念驗證機。 https://www.nasa.gov/history/charles-h-zimmerman/\n","title":"沒人要喫的飛行鬆餅，美國海軍沃特 XF5U 實驗機的開發故事","type":"history"},{"content":"這些寶具都是出自2006年遊戲《Fate/Stay Night》，2020年4月5日發表，收錄在Minecraft基岩版Fate/Go寶具Add-On\n是、射殺百頭 Nine Lives Blade Works 衛宮士郎在接上Emiya給予的手臂之後，面對黑泥污染的Berserker，所投影出的武器。 Minecraft中揮舞這把武器後，周遭5格內都會獲得凋零狀態。\n其實第一人稱視角下還挺擋視線的 無限劍制 Unlimited Blade Works，衛宮士郎和Emiya都曾使用過的寶具。\n詠唱：\nI am the bone of my sword.\nSteel is my body, and fire is my blood.\nI have created over a thousand blades.\nUnknown to death,\nNor known to life.\nHave withstood pain to create many weapons.\nYet, those hands will never hold anything.\nSo as I pray, unlimited blade works.\n當然不能忘記這個經典BGM 將各式各樣的劍投影出來，在FGO裡面就變成光砲的形式了。 Emiya拿的雙刀是甘將、莫耶。Minecraft裡面拿出，就會把Minecraft出現的劍一併投影出來，射向敵人。賦予5格內敵人的凋零狀態效果。 \u0026hellip;其實上面都是攻擊特效而已啦，Minecrat Add-On要計算投擲物的傷害根本做不到，所以只好用廣域藥水效果替代之。\n最後講下，當時Minecraft基岩版Add-on製作3D武器的原理\u0026amp;方法。\n3D武器實質上是修改玩家模型的檔案，並「疊」一個material上去，換句話說就是把另一個實體的模型加在玩家身上，並另外用render_controller控制顯示時機。\n1.在資源包entity資料夾註冊實體的player.json，在原有的material物件後方插入一個新的material。同樣textures和geometry的物件也插入新增的內容。接著，在render_controller物件新增一個3D武器專用的render_controller。\n資源包裡的render_controller資料夾新增一個武器的render_controller，裡面的geometry和texture使用在entity裡面定義的名稱，例如\u0026quot;newmob\u0026quot;就是\u0026quot;Texture.newmob\u0026quot;，接著再使用\u0026quot;part_visibility\u0026quot;設定武器這個模型的顯示條件，例如query.get_equipped_item_name來取得手持物品名字，是true的話則顯示。\n如果要製作動畫，就跟一般自訂實體無異。只是如果要武器本身跟著玩家原本模型的手一起作動的話，bone的名稱使用玩家身體bone的原始名稱，如rightArm會是好選擇。\n","date":"2020年4月5日","externalUrl":null,"permalink":"/posts/3dartwork-2020040502/","section":"Artworks","summary":"這些寶具都是出自2006年遊戲《Fate/Stay Night》，2020年4月5日發表，收錄在Minecraft基岩版Fate/Go寶具Add-On\n是、射殺百頭 Nine Lives Blade Works 衛宮士郎在接上Emiya給予的手臂之後，面對黑泥污染的Berserker，所投影出的武器。 Minecraft中揮舞這把武器後，周遭5格內都會獲得凋零狀態。\n其實第一人稱視角下還挺擋視線的 無限劍制 Unlimited Blade Works，衛宮士郎和Emiya都曾使用過的寶具。\n詠唱：\nI am the bone of my sword.\nSteel is my body, and fire is my blood.\nI have created over a thousand blades.\nUnknown to death,\nNor known to life.\nHave withstood pain to create many weapons.\nYet, those hands will never hold anything.\nSo as I pray, unlimited blade works.\n當然不能忘記這個經典BGM 將各式各樣的劍投影出來，在FGO裡面就變成光砲的形式了。 Emiya拿的雙刀是甘將、莫耶。Minecraft裡面拿出，就會把Minecraft出現的劍一併投影出來，射向敵人。賦予5格內敵人的凋零狀態效果。 …其實上面都是攻擊特效而已啦，Minecrat Add-On要計算投擲物的傷害根本做不到，所以只好用廣域藥水效果替代之。\n最後講下，當時Minecraft基岩版Add-on製作3D武器的原理\u0026方法。\n3D武器實質上是修改玩家模型的檔案，並「疊」一個material上去，換句話說就是把另一個實體的模型加在玩家身上，並另外用render_controller控制顯示時機。\n","title":"【3D繪圖】Fate寶具 無限劍製 ＋ 是、射殺百頭","type":"artwork"},{"content":"2020年4月5日發表，收錄在Minecraft基岩版Fate/Go寶具Add-On\n瑪修•基利艾拉特（加拉哈德）的寶具「已然遙遠的理想之城」。 這個模型可以在Sketchfab檢視\nMash's shield and Lord Camelot from Fate/Go by Ivon852 on Sketchfab\n參照第二部異星神勢力登場前，第一部時候的樣子製作。 盾牌可以拿在玩家手上，賦予抗性，增強玩家防禦力。蹲下發動寶具，魔法陣就會出現，等詠唱完成。 腳底下的渲染感覺不太好，用Blender做了把魔法陣放在盾牌前的渲染圖，較符合原作效果。 寶具發動後，暫時召喚出卡美洛城的實體（未按照比例繪製），並賦予周遭玩家抗性、恢復的藥水效果。 附上詠唱：\n「真名、開帳───私は災厄の席に立つ……」\n「其は全ての疵、全ての怨恨を癒す我らが故郷──顕現せよ、\n『いまは遙か理想の城（ロード・キャメロット）』！」\nBlockbench是方塊模型，加上當初用iPad Air 3網頁畫的，沒辦法把盾牌上的圓桌紋路做的太仔細，真是抱歉。\n在Minecraft Add-On中，原先是拿盾牌的模型下去改的，發現不行，所以改成獨立建模，用animcation controller的方式疊加在玩家手上。\n背後還是有做握把。 話說，文章開頭的渲染圖很像瑪修死亡後留下盾牌的樣子。 設計台詞：\n我的天哪，瑪修她被掛掉了！\n靠魔神王你這個混蛋！\n然後御主開始手撕魔神王\u0026hellip;\n","date":"2020年4月5日","externalUrl":null,"permalink":"/posts/3dartwork-2020040501/","section":"Artworks","summary":"2020年4月5日發表，收錄在Minecraft基岩版Fate/Go寶具Add-On\n瑪修•基利艾拉特（加拉哈德）的寶具「已然遙遠的理想之城」。 這個模型可以在Sketchfab檢視\nMash's shield and Lord Camelot from Fate/Go by Ivon852 on Sketchfab\n參照第二部異星神勢力登場前，第一部時候的樣子製作。 盾牌可以拿在玩家手上，賦予抗性，增強玩家防禦力。蹲下發動寶具，魔法陣就會出現，等詠唱完成。 腳底下的渲染感覺不太好，用Blender做了把魔法陣放在盾牌前的渲染圖，較符合原作效果。 寶具發動後，暫時召喚出卡美洛城的實體（未按照比例繪製），並賦予周遭玩家抗性、恢復的藥水效果。 附上詠唱：\n「真名、開帳───私は災厄の席に立つ……」\n「其は全ての疵、全ての怨恨を癒す我らが故郷──顕現せよ、\n『いまは遙か理想の城（ロード・キャメロット）』！」\nBlockbench是方塊模型，加上當初用iPad Air 3網頁畫的，沒辦法把盾牌上的圓桌紋路做的太仔細，真是抱歉。\n在Minecraft Add-On中，原先是拿盾牌的模型下去改的，發現不行，所以改成獨立建模，用animcation controller的方式疊加在玩家手上。\n背後還是有做握把。 話說，文章開頭的渲染圖很像瑪修死亡後留下盾牌的樣子。 ","title":"【3D繪圖】Fate/Go寶具 瑪修的盾，已然遙遠的理想之城","type":"artwork"},{"content":"FGO Noble Phantasm Add-on\n原名瑪修盾Add-on，後改名為FGO寶具Add-on。\n拿著指定武器並蹲下就可以發動寶具，附有日文字幕和語音。\n瑪修•基利艾拉特（加拉哈德）的寶具「已然遙遠的理想之城」\n取得物品: /give @p fgo:mshield_item Emiya投影的射殺百頭，攻擊方式都是5格內的凋零狀態效果。\n取得物品: /give @p fgo:nine_lives\n紅A的無限劍製，攻擊方式都是5格內的凋零狀態效果。\n取得物品:/give @p fgo:ubw\n下載：\nhttp://hurirk.net/-81198YCSM/9lwq?rndad=28137004-1628998178\nMinecraft Add-On安裝教學\n","date":"2020年4月5日","externalUrl":null,"permalink":"/posts/minecraft-fgo-noble-phantasm-add-on/","section":"Minecrafts","summary":"FGO Noble Phantasm Add-on\n原名瑪修盾Add-on，後改名為FGO寶具Add-on。\n拿著指定武器並蹲下就可以發動寶具，附有日文字幕和語音。\n瑪修•基利艾拉特（加拉哈德）的寶具「已然遙遠的理想之城」\n取得物品: /give @p fgo:mshield_item Emiya投影的射殺百頭，攻擊方式都是5格內的凋零狀態效果。\n取得物品: /give @p fgo:nine_lives\n紅A的無限劍製，攻擊方式都是5格內的凋零狀態效果。\n取得物品:/give @p fgo:ubw\n下載：\nhttp://hurirk.net/-81198YCSM/9lwq?rndad=28137004-1628998178\nMinecraft Add-On安裝教學\n","title":"【自製模組】Minecraft基岩版FGO寶具Add-On","type":"minecraft"},{"content":"2019年11月23日，看到PTT Mobilecomm板最近好像蠻多人推小米9T的呢。\n手上的紅米Note 5沒壞掉，不過效能逐漸跟不上時代了。\n2020年1月購入，當作新年禮物，在台南西門路新光三越的小米之家看到後就跟長輩盧了之後付現。\n6GB/128GB版本台灣售價9,999元。\n為了省那一千塊，購入的是搭載SD730處理器的小米9T，非SD855版本的小米9T Pro。性能屬於是次旗艦。\n這支是真正的全螢幕手機！沒有瀏海！前鏡頭放在潛望式組件。 小米9T在中國大陸發售的版本稱作紅米K20/紅米K20 Pro。\n台灣小米的命名方式真是匪夷所思。因為有在打War Thunder，「9T」的命名害我一直想到這台蘇聯戰鬥機：Yak-9T，受到美軍援蘇的P-39啟發，搭載不成比例的37mm大口徑機砲。 開箱 # 我購買的是黑色版本。 背板玻璃做的，191g有點重。\n內附的保護殼整個是黑色的，不是透明TPU\n第一時間感想是：好臭的塑膠！裝上後質感摸起來很廉價，很容易沾指紋。\n為了達成全螢幕，無瀏海無挖孔，使用潛望式前鏡頭。是值得稱許的創新設計。可惜後來的手機沒有再用這種技術了。\n根據這部影片，這支只有「生活防水」，小米除了P2i防水塗層之外還有下點膠條的功夫。 使用螢幕下指紋辨識技術\n螢幕有DCI-P3色域，加上全螢幕設計，看起來賞心悅目\n雖然跟後來買的iPad Air 3比起來，我覺得小米把顏色調得有點太豔了。\n效能 # 我喜歡的是小米9T無瀏海全螢幕的設計。不滿意MIUI拍照的話還有第三方Gcam加成，幾近完美。\nSD730效能接近SD845，玩大部分手遊都是沒問題的。\n4000mAh電池續航力尚可。SD730有時候會微微發熱。小米9T比想像中的熱，隨便使用都會接近40度，或許是因為沒有Pro的散熱片又是玻璃機身導致，不裝原廠塑膠殼拿在手上很不舒服。 拍照 # 小米9T搭載超廣角AI三鏡頭：4800萬畫素主鏡頭（f/1.75光圈）、800萬畫素長焦鏡頭（2倍變焦）、1300萬畫素超廣角鏡頭（124.8°） 前鏡頭雖然我很少用，不過還是說一下：它是2000萬畫素（f/2.2光圈）的潛望式鏡頭。出來的時候會亮獨特的呼吸燈。 如果拍照有觸發AI的話，照片會被抹得很濃艷，變成討好眼睛的成色。搭配4800萬畫素相機的話，就會是非常美麗的照片。 得益於4800萬畫素，一個畫面能夠紀錄下非常多細節，放大後不會模糊。用來拍機械類的東西很有用。 在屏東大學夜拍也很不賴！ 不使用AI的情況下，拍照一般般，顏色顯灰。單純4800萬畫素高而已，細節看起來很多不過發色不怎麼樣。\n雖說MIUI相機的結果已經很不錯，若是安裝Gcam，可以拍出更有特色風味的照片！夜間模式也能大幅改善。下面是MIUI相機與GCam的結果比較。\n有點黃黃的 別問這是哪裡\u0026hellip;不過是普通的麻豆18層地獄罷了。 Root與刷機 # 我有找到一個有趣的模組，可以將聽筒部份變成雙喇叭，還有強制將螢幕面板刷新率拉到90Hz的。證實了這支手機潛力無限，機體根本就是被封印的旗艦機。\n小米9T出廠版本Android 9，最高升級到Android 11\n體驗過一些第三方ROM，可我覺得還是MIUI比較穩定。\n請用Redmi K20或者代號davinci的關鍵字下去搜尋。我刷過HavocOS、ArrowOS、LineageOS。 小米9T曾經成功刷入Android 10的Pixel Experience，安裝得靠unofficial的TWRP format data功能把Stock MIUI 11清掉後直接安裝。 另外測試一些項目：螢幕超頻75mhz：失敗，似乎不能用在MIUI以外的機子。儘管AIDA 64顯示是75mhz沒錯，但是滑動非常卡。Viper4X：半成功，雖然不會卡開機，但是外放喇叭聲音變得像是壞掉了一樣。把聽筒變成第二個揚聲器：成功，但是聲音太小，不實用。EdXposed：失敗，卡開機。還有一個小問題，系統通知預設沒有音效，Line也不會響，可能是上面的實驗導致。\n小米9T刷機真是詭異，如果不先安裝一次Stock MIUI且只format data並reboot進twrp的話就會各種卡開機畫面。Pixel Experience編輯腳本後還是給我卡在error 7。不過比以前好一點了，以前有段時期在recovery模式下電腦都抓不到手機驅動的慘況。現在就只好用介於official和unofficial版本之間的Lineage度過。這次捨棄MIUI的理由是鎖定螢幕的圖片都被系統控制，第三方啟動器效果有限。\nLineageOS後續還有在維護，最高可以升級到Android 16。\n這支真的活得有夠久 # 也許是太常使用快充，沒有將電池只充到80%的保養概念，買來一年後我覺得掉電越來越快了。更可怕的是，我似乎悶在殼裡太久，背蓋黏膠都被融化撐開了一些，明明機身溫度最高也才40幾度而已，所幸電池無膨脹。\n2021年，換到Sony Xperia 5 II，這支小米9T就丟給家人用了，他主要用來看FB影片。到了2026年，他居然還在用，絲毫沒有卡頓跡象。\n","date":"2020年3月23日","externalUrl":null,"permalink":"/posts/xiaomi-9t-review/","section":"Unboxings","summary":"2019年11月23日，看到PTT Mobilecomm板最近好像蠻多人推小米9T的呢。\n手上的紅米Note 5沒壞掉，不過效能逐漸跟不上時代了。\n2020年1月購入，當作新年禮物，在台南西門路新光三越的小米之家看到後就跟長輩盧了之後付現。\n6GB/128GB版本台灣售價9,999元。\n為了省那一千塊，購入的是搭載SD730處理器的小米9T，非SD855版本的小米9T Pro。性能屬於是次旗艦。\n這支是真正的全螢幕手機！沒有瀏海！前鏡頭放在潛望式組件。 小米9T在中國大陸發售的版本稱作紅米K20/紅米K20 Pro。\n台灣小米的命名方式真是匪夷所思。因為有在打War Thunder，「9T」的命名害我一直想到這台蘇聯戰鬥機：Yak-9T，受到美軍援蘇的P-39啟發，搭載不成比例的37mm大口徑機砲。 開箱 # 我購買的是黑色版本。 背板玻璃做的，191g有點重。\n內附的保護殼整個是黑色的，不是透明TPU\n第一時間感想是：好臭的塑膠！裝上後質感摸起來很廉價，很容易沾指紋。\n為了達成全螢幕，無瀏海無挖孔，使用潛望式前鏡頭。是值得稱許的創新設計。可惜後來的手機沒有再用這種技術了。\n","title":"小米9T（紅米K20）使用心得，全螢幕無瀏海的漂亮手機","type":"unboxing"},{"content":"Kancolle Add-on: WW2 Ship Girls \u0026amp; Aircraft \u0026amp; Tanks\n【模組名稱】： 艦隊收藏＆二戰載具\n【模組語言】： 英文，部分中文\n【模組載點】： https://up-to-down.net/154340/kancolleaddonmcbe\n安裝教學點這裡。\n【模組內容】：這個Add-on為Minecraft基岩版加入了網頁遊戲《艦隊收藏》中出現的「艦娘」、「深海棲艦」，以及各式飛機與坦克等載具。支援1.16以上的版本。\n可以在編輯世界的選項裡開啟只啟用載具的模式(資源包和行為包要同時設定) 這個Add-on可配合其他Add-on如3D槍械一起使用，不過若優先度較低，一式陸攻和太平洋深海棲姬的武器會不能用。\n這個Add-On是我長期更新的專案，會最先在MCPEDL和Github上發布新版本。\n以後還會慢慢更新和完善語言部份，請到我的Twitter接收最新訊息～\n特殊物品 # 輸入指令/function hasaki\n能夠取得Add-on裡的全部特殊物品，此外也可以在創造背包裡找到。\n新增載具 # 1. 新增飛機 # 坐上飛機後，手上拿著彈鏈(Standard bullet belt)就能夠開火。往上看可以起飛，往下俯衝。\n使用皮革可以修復飛機。\n洛克希德 P-38E 梅塞施密特 Bf-109G6(芬蘭空軍) 超級馬林 噴火Mk.IX 梅塞施密特 Me-163B 川崎 三式戰飛燕一型丙(飛行第244戰隊) 錢斯沃特 F4U-1D 手持炸彈可以投彈；HVAR則是發射火箭彈。\n三菱 一式陸攻二四型丁 (721空) 可安裝60kg炸彈/九一式魚雷/櫻花特攻機，使用扳手更換裝備；坐在上面的時候，手持該裝備的物品(如裝載炸彈就手持炸彈)長按螢幕就能攻擊。\n愛知 九九式艦爆 手持炸彈可以投彈。\n2. 新增坦克 # 同樣，手持彈鏈可以發射坦克上的機槍，但是主砲必須手持對應的彈藥才能夠開火。\n使用鐵磚可以修復坦克。\nM4A1 DD雪曼兩棲坦克 美國為諾曼地登陸所準備的特殊改裝型雪曼，可漂浮於水面上的坦克。\n主砲彈藥為75cm AP\n特二式內火艇 日本海軍的兩棲坦克，也是可漂浮於水面上的坦克。\n主砲彈藥為Type 1 AP\n邱吉爾鱷魚 英國霍巴特滑稽坦克之一。主砲彈藥為M46 HE\n此型坦克無機槍，手持噴火器(Flame Thrower)可以往前方噴火。\n四號坦克H型 德國主力坦克改H型。\n主砲彈藥為Pzgr. Patr. 40 KwK 40\nT-34-85 蘇聯主力坦克， 安裝85mm砲的後期型號。\n主砲彈藥為ZIS-S-53 AP\n索姆亞 S-35 法國在二戰前開發的中型坦克。\n主砲彈藥為Fixed QF 47x380 mm. R APCBC\nM8 灰狗 裝甲車\nSdKfz 251 Ausf. D半履帶車\n紐西蘭 Bob Semple 坦克\n3. 其他載具 # 沙包 單純沙包，可以堆疊。 U-511潛艇 手持九一式魚雷可發射魚雷。 28/32公分41年式噴煙者 將4個32cm火箭裝上去之後，用打火機發射(點影子的部分) 新增生物 # 你可以在這篇文章閱讀角色製作幕後花絮。\n1. 新增艦娘 # 拿著提督帽，艦娘會跟著你。並且可以聽她們的語音(附字幕)。看到深海會打起來，可以使用伊良湖/間宮給艦娘補血 工作艦 明石 餵給明石鐵磚，其他艦娘一靠近，她就會開始修理，讓他們回血。\n特務艦 宗谷 武器是手槍，但是\u0026hellip;\n給糧艦 間宮/伊良湖 玩家可以交易取得補給道具。\n潛水艦 伊168 會在水中用魚雷攻擊後逃逸。\n海防艦 對馬 使用爆雷攻擊。\n驅逐艦 島風 隨身攜帶三隻連裝砲君。\n航空輕巡洋艦 哥特蘭 隨身攜帶哥特羊，會協助打怪\n正規空母 飛龍改二 會召喚九九式艦爆發起攻擊。\n僕水獺 隨興打怪的神祕生物。\n重巡洋艦 扎拉Due 潛水艦 U-511 高速戰艦 俾斯麥改三 2. 新增深海棲艦 # 遊戲模式為困難難度下，水中會自然生成深海驅逐艦。 深海驅逐艦 共五種，血量低，會掉鐵錠。\nPT小鬼群 速度很快的深海棲艦，且生成時可能會自己增殖。\n輸送Wa級 速度緩慢的運輸艦，會掉落稀有物資。\n空母棲鬼/空母棲姬 玩家可以試著用鑽石馴服她，否則她就會召喚艦載機攻擊。\n北方棲姬 會跟玩家肉搏的棲艦。\n太平洋深海棲姬 死亡會掉落專屬武器，玩家可發射艦砲。\n","date":"2020年2月26日","externalUrl":null,"permalink":"/posts/minecraft-kancolle-wwii-add-on/","section":"Minecrafts","summary":"Kancolle Add-on: WW2 Ship Girls \u0026 Aircraft \u0026 Tanks\n【模組名稱】： 艦隊收藏＆二戰載具\n【模組語言】： 英文，部分中文\n【模組載點】： https://up-to-down.net/154340/kancolleaddonmcbe\n安裝教學點這裡。\n【模組內容】：這個Add-on為Minecraft基岩版加入了網頁遊戲《艦隊收藏》中出現的「艦娘」、「深海棲艦」，以及各式飛機與坦克等載具。支援1.16以上的版本。\n可以在編輯世界的選項裡開啟只啟用載具的模式(資源包和行為包要同時設定) 這個Add-on可配合其他Add-on如3D槍械一起使用，不過若優先度較低，一式陸攻和太平洋深海棲姬的武器會不能用。\n這個Add-On是我長期更新的專案，會最先在MCPEDL和Github上發布新版本。\n以後還會慢慢更新和完善語言部份，請到我的Twitter接收最新訊息～\n特殊物品 # 輸入指令/function hasaki\n能夠取得Add-on裡的全部特殊物品，此外也可以在創造背包裡找到。\n新增載具 # 1. 新增飛機 # 坐上飛機後，手上拿著彈鏈(Standard bullet belt)就能夠開火。往上看可以起飛，往下俯衝。\n使用皮革可以修復飛機。\n洛克希德 P-38E 梅塞施密特 Bf-109G6(芬蘭空軍) 超級馬林 噴火Mk.IX 梅塞施密特 Me-163B 川崎 三式戰飛燕一型丙(飛行第244戰隊) 錢斯沃特 F4U-1D 手持炸彈可以投彈；HVAR則是發射火箭彈。\n","title":"【自製模組】艦隊收藏＆二戰載具（Minecraft基岩版軍事Add-On）","type":"minecraft"},{"content":"","date":"2019年11月12日","externalUrl":null,"permalink":"/tags/royal-thai-air-force/","section":"標籤","summary":"","title":"Royal Thai Air Force","type":"tags"},{"content":"泰國皇家空軍(Royal Thai Air Force, กองทัพอากาศไทย)，成立於1913年，一開始稱為暹羅皇家空軍。1937年4月12日脫離陸軍成為獨立軍種，1939年改為現名泰國皇家空軍。 1. 簡介 # 二戰時期，泰國在周遭國家皆淪為英法殖民地的情況下仍憑藉外靈活外交手段保持自身獨立。當時時任泰國軍政府的總理鑾披汶·頌堪，是為泰族主義者，為討回「失去的省份」，他決定向法國殖民地進攻，1940年爆發了第二次泰法戰爭。當時的法國政府已經是維希法國了，在得不到有效補給的情況下，法屬印度支那的法軍開始抵擋不住泰軍攻勢。後來在日本的介入下雙方簽訂條約，獲得大量領土，泰國象徵性支付800萬泰銖於法方。\n泰國行政區劃，出自《東南亞地理誌略》，1972年。 日本攻擊珍珠港後揮軍南下攻擊馬來亞時，日本強行在1941年12月8日登陸泰國，泰國經小規模抵抗後同意借道給日本進攻，此後便開始了泰國與日本的合作，泰國變為親日國家，但地位比滿洲國和汪精衛政府要高。在南洋戰事正酣期間，日本提供泰國航空顧問，泰國空軍也必須跟日軍航空隊一起轟炸盟軍目標，主要是要針對緬甸方面。同時，做為日本盟友的泰國在戰爭後期也遭到盟軍轟炸，但是泰國政府已經有在暗中接洽盟軍人員。1945年日本投降後，泰國隨即宣布對英美宣戰完全是場誤會，戰後還向日本追討債務，中國也並未正式向泰國宣戰。\n泰國空軍所使用的機型多為進口，一開始主要購買法國、美國、英國機型，如霍克III，實施禁運後改裝備日本的Ki-30輕轟炸機、Ki-27九七式戰鬥機、Ki-43一式戰隼，日本亦將原荷蘭殖民地所使用的轟炸機轉贈泰軍。戰後為對抗共產黨，泰國成為美軍在亞洲的軍事基地之一。\n2. 泰國空軍主力飛機 # 在研究泰國空軍機種前，有必要了解機型代號，先以泰軍的F-86作例子：\nB . Kh 1 7 k - 6 / 0 6 (บ ข ด ๗ ก - ๖ / ๐ ๖)\nB代表的是飛機，泰文稱為\u0026quot;bin\u0026quot;，所有機型都有，但不一定會寫出來。\nKh代表的是機種，這裡的即為戰鬥機。可能會視用途而同時寫上二種編號。\n17代表的是第17型戰鬥機編號。\nk代表子型號，例如F-86F為Kh17，F-86L即為Kh17k。\n6代表第6採購批次的F-86。\n06為採購年份，西元1963年以泰國的佛曆換算，即為2506年。\n以下為空軍的機種分類 (羅馬字/泰文)：\nB.Ch / บ.ช：空中加油機 B.F / บ.ฝ：教練機 B.H / บ.ฮ：直升機 B.HPhT / บ.ฮพท：空中測繪直升機 B.J / บ.จ：攻擊機 B.JTh2 / บ.จธ๒：攻擊/聯絡機 B.K：空中預警機 B.Kh / บ.ข：戰鬥機 B.KhF / บ.ขฟ：戰鬥機/教練機 B.L / บ.ล：運輸機 B.Or / บ.อ：電動飛機 B.Ph / บ.พ：民間教練機 B.PhTh / บ.ผท：空中測繪 B.T / บ.ต：偵察機/觀測機 B.Th / บ.ท：轟炸機 B.ThOr / บ.ทอ：實驗機 B.ChOr / บ.ชอ：泰國生產 B.Th / บ.ธ：通用機 B.R / บ.ร：滑翔機 B.S / บ.ส：通訊飛機 B.W / บ.ว：無人機 二戰 ～ 戰後泰國空軍主力：\n教練機\n紐波爾23 (泰國空軍代號B.F1) 紐波爾18 (B.F2) 團結 PT-1 (B.F3) 阿弗羅 504N (B.F4) 沃特 海盜 V-93S (B.F5) 立川 Ki-36 / Ki-55九九式高等練習機 (B.F6) 攻擊機\n沃特 海盜 V-93S (B.J1) 三菱 Ki-30九七式俯衝轟炸機 (B.J2) 寇帝斯 SB2C-5 地獄俯衝者 (B.J3) 費爾雷 螢火蟲 FR.1 \u0026amp; T2 (B.J4) 戰鬥機\nNieuport-Delage NiD29C.1 (B.Kh4) 泰國空軍製造部門 巴差提朴 (B.Kh5) 布里斯托 鬥犬牛 (B.Kh6) 波音100E / P-12E (B.Kh7) 亨克爾 HD43 (B.Kh8) 寇帝斯65 霍克II (B.Kh9) 寇帝斯68B 霍克III (B.Kh10) 寇帝斯 霍克75N (B.Kh11) 中島 Ki-27九七式戰鬥機乙型 (B.Kh12) 中島 Ki-43一式戰隼 (B.Kh13) 超級馬林 噴火 F/FR.14 \u0026amp; PR.19 (B.Kh14) 格魯曼 F8F-1熊貓 (B.Kh15) 共和 F-84G 噴氣雷霆 (B.Kh16) 北美 F-86F 軍刀 (B.Kh17) 北美 F-86L 軍刀 (B.Kh17k) 運輸機\nBeech C-45B/F (B.L1) 道格拉斯 C-47 (B.L2) 轟炸機\nBréguet 14A \u0026amp; 14B (B.Th1) 泰國空軍航空工房 巴里巴特拉 (B.Th2，此為泰國1927年自行研製之轟炸機，也有代號B.ThOr1) 馬丁139 WSM / B-10 (B.Th3) 三菱 Ki-21九七式重爆乙型 (B.Th4) 滑翔機\n日本小型飛行機「Tobi」(Liw Lom) 日本小型飛行機「Hato」(Len Lom) 日本小型飛行機「Ootori」(Long Lom) 通訊機\nFairchild F24J \u0026amp;F2W40 (B.S1) Rearwin 9000 (B.S2) Piper L-4J Cub (B.S3) 偵察機\n渡辺鉄工所 WS.103S (B.RN1，暹羅海軍與渡辺鉄工所研製，作為湄公護衛艦的艦載機，實際名稱為暹羅海軍水上偵察機) 中島 九五式水上偵察機 (B.RN2) 愛知 零式水上偵察機 (B.RN3) 3. 泰國空軍的機徽 # 來源：Aircraft Marking and Fin Flash (Thailand)\n機徽圓標 尾翼 1941～1945年的機徽。太平洋戰爭開打後，泰國空軍將其機徽圓標改為跟國旗一樣的矩形。1942年為避免誤認為英法戰機，國徽改成了紅色矩形，上有大象的樣子。 尾翼 4. 泰國空軍戰前的發展 # 1930年代，美國飛機公司寇帝斯和沃特取代法國做為暹羅空軍的最大飛機輸入國，進口了霍克II戰鬥機和V93S海盜輕攻擊機，教練機則為英國製造的Avro 504N。\n1936年11月1日，泰國與大日本航空簽訂協議，開設東京與曼谷之間的航線，1940年2月1日開始生效。整個路線為福岡—台北州—河內—曼谷，因為需要與越南的法國政府交涉，首航延到1942年6月。\n1937年4月2日，泰國空軍自陸軍分離為獨立軍種。 泰國海軍一開始對空中武力興趣不大，但1932年的暹羅立憲革命後，泰國海軍便向日本訂購了1400噸排水量「湄公」、「Tachin」二艘護衛艦，並裝備有水上機。\n暹羅空軍與海軍彼此間也有合作關係，1937年，幾名海軍將校到位於廊曼的飛行學校進行訓練。儘管岸邊巡邏是海軍負責，但是沒有取得任何飛機。此外暹羅空軍原先購買的美國Edo飛機公司生產的浮桶，也沒有實際運用在海盜式上。\n暹羅海軍極需要一款觀測機，於是找上了渡邊鐵工所（後來改名為九州飛行機，戰末推出了局戰震電）。該社推出了可在潛艇上起飛的九六式小型水上機（E9W1）。暹羅海軍水上觀測機基於此機修改，翼展稍微擴大，渡邊鐵工所內部稱其為WS-103S，是專門為暹羅海軍設計的機型，S代表的即為暹羅。泰國方面在1937年派出了二名海軍將校到日本視察生產進度，1938年2月首飛，5月六架訂單陸續送交給暹羅海軍，並裝備有短波無線電。\n根據1938年瑞士雜誌《Interavia》的報導，200名暹羅將校前往日本受訓，日本對泰國的影響力漸趨擴大。\n按：《Inter Avia》雜誌目前已經絕版，惟部分內容有被當時日本航空學會誌的《記録,統計,時報》所抄錄，ebay上也有販賣合訂本。\n5. 泰法戰爭 # 1940年爆發第二次泰法戰爭，當時的泰軍擁有140架飛機，共分為北方、南方2個航空團。\n南方航空團的戰鬥序列：\n第六十六航空大隊，駐廊曼機場 下轄第11中隊，裝備三菱Ki-30 第12中隊，裝備三菱Ki-30 第60中隊，裝備霍克75N 第七十四航空大隊，駐莊他武里機場 第71中隊，裝備霍克III 第72中隊，裝備霍克III 第44中隊，裝備V-93S海盜式 第七十五航空大隊，駐碧差汶里機場 第73中隊，裝備霍克III，駐四色菊前進機場 第80中隊，裝備霍克II 第35中隊，裝備V-93S海盜式 第四十航空大隊，駐呵叻機場 第41中隊，裝備V-93S海盜式，駐素林前進機場 第42中隊，裝備V-93SA海盜式，駐烏汶前進機場 北方航空團的戰鬥序列：\n第43中隊，裝備V-93SA海盜式 第八十五航空大隊，駐烏汶機場 第32中隊，裝備V-93S海盜式 第50中隊，裝備馬丁139W 第六十五航空大隊，駐那坤巴統機場 第34中隊，裝備V-93SA海盜式 第70中隊，裝備霍克II 支援航空團：\n第10中隊，裝備Avro 504N、V-93S海盜式、波音E-100 第20中隊，裝備V-93S、霍克III 法方約有100架戰機，約有60架能支援前線。\n1941年1月7日，23架Ki-30摧毀了柬埔寨境內法軍的防禦工事。1月8日，3架霍克III掩護9架Ki-30攻擊法軍機場，宣稱擊破多架Potez飛機，讓法軍接下來幾日內失去空中掩護。9日開始，泰軍開始轟炸柬埔寨馬德望、詩梳風，和寮國永珍、帕斯特。中士Boonyam Bansuksawat和Boon Suksabi的Ki-30在詩梳風附近遭法軍Tivoliere准尉的MS.406擊落。\n泰國空軍的霍克II http://www.clavework-graphics.co.uk/aircraft/curtiss_f11c/hawk2_thailand_002.html\n霍克III對上MS.406 https://www.1999.co.jp/eng/image/10200380\n1月10日清晨，法軍Breguet-19偵查曼谷後，下午曼谷遭到法軍Potez 25和Farman轟炸機空襲，被打得毫無防備的泰軍在隔日報復攻擊位於暹粒Nakorn-Bat的法軍Farman轟炸機機場。二架V-93S海盜式遭法軍595大隊第2中隊的MS.406。接著4架V-93S掩護9架Ki-30發起攻擊，法軍飛行員Labussiere宣稱擊落數架並分散了泰軍機群，Tivoliere宣稱擊落一架Ki-21。之後一架MS.406被擊落，一架迫降。\n法軍在空戰時將轟炸機推入掩體，因此僅損失一架，跑道卻是遍佈彈坑無法使用。15日泰軍1架馬丁轟炸機和5架V-93S攻擊了Dong Hene的機場，擊破幾架Potez和MS.406。\n泰國空軍的馬丁B-10 http://wp.scn.ru/en/ww15/b/195/69/0\n沃特 海盜式 http://www.flugzeuginfo.net/galleryphoto_en.php?photoid=6490\n因為補給短缺，制空權傾向泰國，法軍僅能在夜間做效果不大的反擊轟炸。\n17日泰法爆發大象島海戰，隔日一早空軍趕來支援時誤擊自軍的吞武里號，之後V-93S在法軍艦艇拉莫特畢蓋號(Lamotte-Picquet)附近投下炸彈，毀壞部分船體，攻擊持續到9:40，儘管此次海戰法軍大勝，卻也不能扭轉戰局。\n24日在阿蘭若(Aranya)附近班揚(Bang Yang)，3架霍克III對上2架MS.406和1架Potez，激戰後Potez遭擊落。\n28日為泰法戰爭中的最後一場空戰，第60中隊的霍克75N掩護第50中隊的馬丁轟炸機空襲拜林和詩梳風。同日9架Ki-21、4架霍克75N、3架馬丁轟炸機空襲暹粒附近的吳哥機場，摧毀幾架法軍戰鬥機以及跑道。一架MS.406仍起飛試圖攻擊泰軍轟炸機指揮官的座機，彈藥缺乏的法軍飛行員不久就揮手飛走了，泰軍轟炸機上沒有留下任何彈孔。\n霍克75N https://www.britmodeller.com/forums/index.php?/topic/235042515-royal-thailand-curtiss-hawk-colours/\n泰國空軍最後宣稱擊落5敵機，空襲摧毀17架。泰國空軍承認損失3架，5～10架毀於空襲，3架失事，法軍還擄獲了1架海盜式，泰軍13名機組員死亡，5名負傷；法方則宣稱1架F221和2架MS.406在地面被毀。之後在日本介入下，法國割讓領土於泰方。\n6. 泰國與日本合作 # 泰國空軍的九七戰與一式戰 # 1941年12月1日，日本要求借道泰國進攻馬來亞，不等泰國方面做出回應，日軍在隔日4:00就越過邊境，並從泰國沿岸的4個省份登陸，包括曼谷南邊的北欖府。泰軍不敵日本的兵力優勢，Aranya Prathet的Weatatna Nakorn機場的3架霍克III緊急升空，卻在起飛時被日本陸軍飛行77戰隊的11架九七戰擊落。在Prachaub Kirikhan地區也有2架霍克III被77戰隊擊墜。07:30時雙方停火，泰軍至少損失5架飛機，皆為寇帝斯霍克III，傷亡39人；日軍傷亡400人。\n日軍登陸泰國的路線，Wikipedia 14日，泰國總理同意日方要求支援緬甸北部戰事的請求，21日簽訂《日泰同盟條約》，包括陸軍和空軍在內都不得不與日本合作。空軍少將Athuk表示他們得遵從總理的決定，泰國空軍過去與英美法走的比較近，現在要跟日本同盟。\n於是泰國成立了北方聯合航空團(Kong Bin Yai Phasom Phak Paythai anthemab)，駐紮在林邦。21飛行大隊(Foong Bin)下屬的3個中隊，裝備海盜式；41飛行大隊裝備10架霍克III；62飛行大隊裝備9架九七戰乙型。\n1939年泰國空軍為取代老式的霍克戰機，欲向北美公司購買N.A.-68(P-64)的生產許可，但因美國實施禁運而一架都沒收到。於是日本便提供泰國技術支援和派遣人員協助訓練，1942年12架滿洲飛機廠生產的九七戰乙型送抵泰國。九七戰盟軍代號為\u0026quot;Nate\u0026quot;，泰國空軍將部分戰機以所在城市命名，如\u0026quot;Ota\u0026quot;，編號則為B.Kh12，代表第12型戰鬥機，或稱為15式戰鬥機。戰機的塗裝維持日本陸軍飛行戰隊的樣式：上部暗綠色，下部淺綠。有些則是塗成暗綠和棕色相間。\n泰國空軍的九七式戰鬥機。來源 9架九七戰配屬到了16飛行大隊，作為該大隊的霍克75N的戰力補充。1942年2月6日，九七戰掩護九七式重爆和Ki-30對撣州進行轟炸和偵查，並在泰北地區實施戰鬥巡邏飛行。\n1943年，16飛行大隊駐紮在泰國北部的林邦。年底，中美第308轟炸大隊的B-24三度空襲清邁和林邦，12月21日第三次空襲時，6架九七戰試圖迎擊轟炸機，但沒造成實際損失。1944年後空襲逐漸加劇，11月11日，美軍第25飛行中隊的9架P-51和8架P-38飛越泰國北方進行武裝偵查，目標包括清邁到Ban Dara橋之間的鐵路，還有該地區的機場。美軍攻擊了一台火車頭，還摧毀了一架林邦機場的單引擎戰鬥機。\n16飛行大隊收到警報，5架九七戰升空迎擊，分成2個分隊，少尉Kamrop Bleangkam和准尉Chuladit Detkanchorn攻擊一架P-38，少尉Kamrop宣稱眼前的P-38嚴重受損而迫降，但准尉Chuladit也被P-38擊落。與P-51交戰的中尉Chalermkiats Ota引擎被擊中而迫降，准尉Nat Thara Kaimuk在林邦九公里外墜機，准尉Nat Sunthorn戰死。 https://sites.google.com/site/0nnnmp0/home/ww2\n在美軍新銳機種的速度與火力面前，九七戰無法發揮機動性優勢。泰國方面宣稱擊落一架P-38，擊傷4架P-51，九七戰全部損失。美軍確認損失一架P-51，隸屬於第14航空軍第51戰鬥機大隊第25中隊的Henry Francis Minco中尉所駕駛。\n到了1945年4月，泰國空軍的戰鬥序列上列有8架可用的九七戰，可能後來泰軍有收到補充。11月時只剩1架九七戰能作戰。\n有趣的是，陳列在泰國空軍博物館裡的九七戰，是屬於日軍飛行戰隊的，1981年1月一名漁夫在那空是貪瑪叻附近發現。\n1943年日軍開始全面佈署Ki-43一式戰隼，24架一式戰II型乙送抵新加坡，後送抵泰國。泰國空軍編號B.Kh13，又稱14式戰鬥機，泰國空軍飛行員直接以其原名「隼」稱呼。\n實地拍攝的泰國一式戰可以參考這段影片。從過去的影片片段可以看到飛行員親自在機尾畫上大象的符號。 泰國一式戰主要部屬到特別成立的飛行中隊，位於廊曼的15飛行大隊。1944年夏泰國空軍要求日軍提供更多一式戰，日本送來3架做為補充。1944年6月5日，55架B-29空襲曼谷，泰國空軍的一式戰嘗試攔截未果。11月18日，10架B-24空襲曼谷，第一飛行中隊的Wichien Buranalekha擊傷一架B-24。11月2日美軍實施最大規模的空襲，挽賜縣的調車場遭到55架B-29攻擊，飛行16大隊的7架一式戰與日本陸軍的14架一式戰試圖攔截B-29，Therdsak Worrasap中尉擊傷1架，被自衛機槍擊落，他在碧差汶里上空跳傘，身上多處燒傷。B-29機組員回報遭到45次攻擊，擊落7架敵機，損失1架B-29。之後曾參與泰法戰爭的Therdsak中尉和Kamrop少尉，獲頒第二枚勇氣勳章。 https://sites.google.com/site/0nnnmp0/home/ww2\n1945年1月3日，44架B-29空襲曼谷的拉瑪六世大橋，這次除了一式戰外，還有霍克III也升空攔截，但是他們都追不到B-29。\n此時的泰國正處在一種尷尬的處境，泰國已與盟軍特務暗中接洽送到廊曼機場，但為弭平日本的疑慮，泰國空軍只好繼續攔截盟軍轟炸機。各大機場皆遭襲，盟軍飛行員也無從辨別哪些是日軍飛機，哪些是泰國空軍所屬。1945年4月7日P-51炸射廊曼機場，摧毀7架飛機，7名人員死亡。二天後，泰國空軍2架一式戰對上40架P-51，2架皆受損迫降，泰國空軍另外損失了4架，還有幾架日本陸軍飛機遭擊破。 http://www.payanakmodel.com/shop/index.php?productID=4065\n1945年4月，14架一式戰只有4架可用，到了11月只剩3架，可能是因為互相更換零件所致。戰後的一式戰洗去塗裝，機徽恢復成戰前的樣子。最後一次任務是在1948年，對抗宋卡府的共產黨。1949年一式戰全數退役。 https://sites.google.com/site/0nnnmp0/home/ww2\n有些報告認為泰國空軍有裝備日本海軍的零式戰鬥機，實際上可能是跟一式戰混淆了，這點常發生在盟軍飛行員身上。\n泰國空軍的九七式重爆與九七式俯衝轟炸機 # 1940年10月10日美國對泰國實施禁運，採購委員會在月底前往日本，決定購買九七式重爆和九七式俯衝轟炸機，同時還有訂一架型號未知的戰鬥機但未送抵。\nKi-30填了N.A.-69的缺，易維護，性能當然比海盜式要好，載彈量四倍，航程二倍。Ki-30的固定式起落架也讓其在泰國東北方狀況較不好的機場也能順利起降。泰國空軍將Ki-30稱為「名古屋」。\n11月底24架Ki-30經沖繩—台灣—廣州—海南—河內的路線送抵泰國。一半由泰國空軍飛行員駕駛，另一半為日本飛行員。一同來到泰國的還有日本機師小組，搭乘大日本航空包機。Ki-30的泰軍編號為B.J2，即2式攻擊機，或稱26式攻擊機。 http://wings-aviation.ch/53-Military-Aircraft-in-Detail/Mitsubishi-Ki-30/Attack.htm ![](https://static.ivonblog.com/posts/royal-thai-air-force-wwii/images/4ibEkYX.webp \u0026ldquo;https://j-aircraft.com/familyphotos/Vidya_Tapasanan/from_the_collection_of_vidya_tapasanan.htm') https://juniorgeneral.org/index.php/figure/view/ThaiMitsubishiKi30Ann\n泰國空軍在廊曼成立了1、2飛行中隊(Foong Bin Phibun Songkhram)，快速完成轉換訓練後參與泰法戰事。1941年12月22日，飛行11、12中隊各裝備了11架Ki-30。隔年1月中隊遷移到林邦，加入北方航空團。Ki-30主要在緬甸前線轟炸和偵查。即使期間沒遇中國空軍的戰鬥機，但時不時會遭到防空炮的攻擊，以及自然災害，都讓這些任務仍有一定危險性。1945年4月，21架Ki-30中有14架還可作戰，到了11月剩12架。最後一架Ki-30在1950年退役。\nKi-30的塗裝為日本陸軍飛行戰隊標準塗裝，上部暗綠色、下部淺灰。 來源 1940年12月底，9架中島授權生產的九七式重爆乙型送抵泰國。泰空軍編號為B.Th4 (Bin Thing Rabut 4)，稱為4式轟炸機，或稱61式轟炸機。因機組員尚未完成訓練所以Ki-21沒有參與泰法戰事。1941年4月12日，泰空軍成立了第六航空大隊(Kong Bin Noi 6)，將Ki-21與馬丁139W編組在一塊。\n幾個月後該大隊分成二個中隊，分別為61轟炸機中隊和62轟炸機中隊(Foong Bin Thing Rabut 61 and 62)，二個中隊的基地皆位於廊曼。12月1日，62中隊轉移到華富里，隸屬北方聯合航空團，9架Ki-21也完成了訓練。北方聯合航空團由Kong Bin Noi Phasom 90、3個裝備Ki-21的飛行中隊組成。21中隊裝備9架海盜式，41中隊裝備10架霍克III。\n起初Ki-21的塗裝為全灰，後在淺灰上塗上斑駁的綠、棕色。 來源 隨著陸軍進軍緬甸，Ki-21和馬丁139W負責轟炸撣州，由16中隊的Ki-27提供護航。Ki-21的基地位於林邦Koh Kha機場。除了轟炸外也會越過泰緬邊界進行偵查，甚至到過中國雲南省。偵察任務有時也會交給Ki-30執行。1942年9月6日，一架Ki-21在偵查任務結束回航時，在景棟一帶撞上山壁。10月曼谷淹大水，Ki-21和馬丁機便用於投擲救援物資。1943年1月29日，幾架Ki-30和Ki-21，使用燃燒彈空襲了位於Mong Sae的中國空軍基地，引燃了建築和武器庫。地面的防空炮命中泰機數發，然並未造成嚴重損傷。\n此次行動為北方戰線最後一次作戰，隨後休戰。後來奉日本命令，泰軍只好進攻撣州與中國軍交戰。但技術上來說泰國並未與國軍正式開戰，國府並沒有回應泰國先前的宣戰佈告。\n日本生產的轟炸機得不到補充，1937年送抵的馬丁139W只剩6架。1943年末3架馬丁139和6架馬丁166送抵泰國，此為二戰時期最後一批送抵泰國的飛機。 1944年3月2日，第14航空隊的2架P-40掃射景棟的機場，摧毀了一或二架海盜式。1943年，62轟炸機中隊從林邦Koh Kha基地轉移到碧差汶府的Lom Sak基地。戰爭期間62中隊共損失2架Ki-21，一架即為前述撞上山壁的那架，另一架則是1944年8月6日，在碧差汶府上空執行輸送任務時損失。1944年11月30日，5架P-38和4架P-51掃射林邦的機場，一架Ki-21被毀，極有可能是屬於日本陸軍。 https://www.matrixgames.com/forums/viewtopic.php?p=4410685#p4410685\n泰國政府在二戰末期與盟軍暗中接觸，前往泰國的136部隊由美國戰略情報局(OSS)和英國情報局(SOE)組成，負責接濟和補給這些特務的重責大任落到了第61和62中隊身上，將他們載往廊曼。泰國也在Na An、沙功那空附近建起了簡易跑道。隆塞縣還新建了能讓Ki-21降落的機場。在執行任務時損失一架馬丁轟炸機，泰國必須完全毀屍滅跡避免殘骸被日本人發現。\n1945年4月，6架Ki-21還有4架能作戰，11月僅存4架，最後退役時間未知。一部分Ki-21的零件保存在曼谷的鐵道博物館，不確定是屬於泰國空軍還是日本陸軍的，且保存狀況很不好。\n泰國空軍的滑翔機、教練機、觀測機 # 1941年，泰國空軍獲得了3架日本滑翔機，由日本小型飛行機所生產，包括一架初級(primary)滑翔機\u0026quot;Tobi\u0026rdquo;、初級(elemnetary)滑翔機\u0026quot;Hato\u0026quot;、滑翔機(soarer)\u0026ldquo;Ootori\u0026rdquo;。Tobi和Hato在戰後保存在廊曼的泰國空軍博物館。 https://www.airliners.net/photo/Thailand-Air-Force/Tachikawa-Ki-55/1180344 https://www.flickr.com/photos/flyer_2001/5110093682/\n在訂購了九七戰後，1942年1月泰國空軍訂購了24架立川Ki-36九八直協和Ki-55九九式高等練習機，泰國空軍似乎只有將他們作為教練機使用，而非像日軍一樣在中國戰場大量佈署。且目前所知道的只有1架Ki-55送抵泰國。泰國空軍給予的編號為B.F6 (Bin Fuk Hat)，即6式教練機，或稱為89式教練機。大多數送往廊曼的飛行學校，機組人員稱Ki-55為「Tachigawas」。 https://j-aircraft.com/familyphotos/Vidya_Tapasanan/from_the_collection_of_vidya_tapasanan.htm\n1945年4月，23架Ki-55被列在服役中，其中18架能運用。其中1架隸屬於15飛行中隊，做為輸送之用，另外8架屬於21觀測飛行中隊，第010飛行中隊裝備了13架。最後一架Ki-55為皇家陸軍附屬的Kong Bin Noi Phasom 80所運用。奇怪的是，1945年的戰鬥序列提及Ki-55卻沒提到Ki-36的狀況。到了11月，Ki-55只剩2架。\nKi-55維持日本陸軍的標準塗裝，上部暗綠下部淺灰。戰後整機塗成黃色，有一架保存在泰國空軍博物館。 https://www.airliners.net/photo/Thailand-Air-Force/Tachikawa-Ki-55/1180344\n有些報告指，泰國空軍也有接收幾架滿州Ki-79(九七戰的教練機型)和立川Ki-9初級教練機，但是沒有確切事實佐證。\n泰國海軍的飛機 # 如前所述，日本提供泰國海軍27架飛機，1937年一些海軍將校在廊曼接受訓練。泰國海軍另外想要一款輕型的雙浮筒觀測機，順便也用作教練機。 於是泰國海軍選中了渡邊鐵工所的WS-103S，基於九六式小型水偵修改而來。1938年5月。6架近似後期型九六小型水偵的WS-103S送抵泰國，編號B.RN1(Bor Ror Nor，泰國海軍飛機)。\n圖片來源\n4架WS-103S配屬到位於梭桃邑縣的海軍第1中隊，其餘3架用於日本製造的泰國海軍護衛艦上。WS-103S參與了泰法戰爭，1945年仍有5架服役中。泰國海軍的WS-103S的塗裝為全金屬色，機翼上部、機身漆上藍白紅色的泰國圓標，機尾漆上泰國國旗。 http://www.wings-aviation.ch/35-Thai-Navy/2-Aircraft/Watanabe/Seaplane.htm\n泰國海軍的主力機種為中島九五式水上偵察機 (編號B.RN2)，1938年訂購18架，二年後以海運送來，沒有參與泰法戰爭。1945年7月24～25日，由航母衝鋒者號 (HMS Ameer D01)和1艘巡洋艦、9艘驅逐艦組成的英國皇家海軍特遣部隊，前往安達曼海空襲日軍目標。在普吉府Chalong Bay的空襲中，一架九五式水偵毀壞，另外二架被F6F擊傷。到二戰末期，15架九五式水偵仍在服役中。九五式水偵的塗裝大致跟WS-103S一樣，少數塗成淺灰色。 https://j-aircraft.com/familyphotos/Vidya_Tapasanan/from_the_collection_of_vidya_tapasanan.htm http://wp.scn.ru/en/ww15/h/513/69/0/1\n二戰時泰國海軍最先進的機種即為愛知零式水上偵察機 (編號B.RN3)，1942年送來3架、1944年又來3架。第一架零偵送抵時，海軍飛行中隊已升格為海軍飛行大隊(Naval Wing)，基地分別位在梭桃邑縣和Chalong Bay。\n零偵的續航距離非常適合用於泰國沿岸的巡邏飛行，同時也能支援日本海軍作戰，零偵也用於海上護衛和搜救(SAR)。美國陸軍航空隊的B-24除用於轟炸外，也在泰國沿岸佈下水雷。\n據非官方紀錄，泰國海軍擊落了至少1架B-24。做為回報，日本海軍在1944年贈與泰國海軍3架零偵。1945年7月24～25日的空襲中，一架零偵被擊毀，到了戰末還有5架服役中。\n泰國海軍的零偵塗裝為日本海軍標準塗裝，上部暗綠色下部淺灰，引擎整流罩塗黑，塗有黃色識別帶。機翼上下部、機身上還塗有白/黃色的圓標，上面畫有一個黑/深黑色的船錨。機尾也塗有泰國國旗。\n圖片來源 因為與盟軍訂下的不成文約定，戰爭結束沒多久泰國海軍的日本機就全數退役了。1940年代後期，泰國空軍裝備了費爾雷螢火蟲Mk.I。\n有報告指泰國海軍1941收到了12架二式水上戰鬥機，1942年又來了27架，但是缺乏證據。其他的機種還有三菱零式水上觀測機、立川Ki-9，但是他們都沒有裝備到任何部隊。\n7. 泰國空軍的王牌飛行員 # 不論駕駛的是歐美還是日本製造的飛機，泰國空軍戰前戰後都出了王牌飛行員，參考下表泰國空軍王牌飛行員以及勝利紀錄： 8. 結語 # 泰國海空軍在二戰時期所運用的日本機也算是世界先進的行列，泰國空軍也對日本仁至義盡了。各式戰機抗擊盟軍到最後，1949～1950年代悉數退役。據一可靠來源指出，美國顧問看到日本飛機居然還在泰國空軍服役，覺得很不爽。於是廊曼機場的3架九七戰和1架一式戰，還有其餘的日本機被迫退役並報廢。泰國空軍重新回到了美國懷抱，裝備了格魯曼F8F熊貓，北美T-6教練機和超級馬林噴火XIV。1951年海軍將校政變失敗後，泰國海軍的航空部隊併入泰國空軍。\n翻譯 \u0026amp; 參考資料 # 泰國在二戰中的角色 By 小步兵 http://mdc.idv.tw/pwm/gen35.htm\nJan.J Safarik Air Aces Thailnd Siam http://aces.safarikovi.org/victories/thailand-ww2.html\nขอต้อนรับสู่โลกการบินของประเทศไทย The THAI AVIATION Website https://www.thai-aviation.net/\nFlickr相簿：https://www.flickr.com/photos/66556342@N03/collections/72157652440319263/\nJapanese Aircraft In Royal Thai Air Force and Royal Thai Navy Service During WWII by Jan Forsgren http://www.j-aircraft.com/research/jan_forsgren/j-aircraft_royal_thai.htm 此網站有許多泰國空軍博物館的館藏相關資料，非常豐富。\n陳佩修，泰國的軍事政變與政治變遷 http://www2.scu.edu.tw/politics/journal/doc/j273/2.pdf\n航空最前線 - 被泰國皇家空軍擊落的P-51尋獲 https://www.facebook.com/permalink.php?story_fbid=834267733657481\u0026id=370015823416010\n二战时期泰国的大泰族主义与1940-41法泰战争始末 ，作者金米团https://zhuanlan.zhihu.com/p/62948478\n東南亞地理誌略，國立編譯館部定大學用書編審委員會，正中書局，民61年12月\n","date":"2019年11月12日","externalUrl":null,"permalink":"/posts/royal-thai-air-force-wwii/","section":"Histories","summary":"泰國皇家空軍(Royal Thai Air Force, กองทัพอากาศไทย)，成立於1913年，一開始稱為暹羅皇家空軍。1937年4月12日脫離陸軍成為獨立軍種，1939年改為現名泰國皇家空軍。 1. 簡介 # 二戰時期，泰國在周遭國家皆淪為英法殖民地的情況下仍憑藉外靈活外交手段保持自身獨立。當時時任泰國軍政府的總理鑾披汶·頌堪，是為泰族主義者，為討回「失去的省份」，他決定向法國殖民地進攻，1940年爆發了第二次泰法戰爭。當時的法國政府已經是維希法國了，在得不到有效補給的情況下，法屬印度支那的法軍開始抵擋不住泰軍攻勢。後來在日本的介入下雙方簽訂條約，獲得大量領土，泰國象徵性支付800萬泰銖於法方。\n泰國行政區劃，出自《東南亞地理誌略》，1972年。 日本攻擊珍珠港後揮軍南下攻擊馬來亞時，日本強行在1941年12月8日登陸泰國，泰國經小規模抵抗後同意借道給日本進攻，此後便開始了泰國與日本的合作，泰國變為親日國家，但地位比滿洲國和汪精衛政府要高。在南洋戰事正酣期間，日本提供泰國航空顧問，泰國空軍也必須跟日軍航空隊一起轟炸盟軍目標，主要是要針對緬甸方面。同時，做為日本盟友的泰國在戰爭後期也遭到盟軍轟炸，但是泰國政府已經有在暗中接洽盟軍人員。1945年日本投降後，泰國隨即宣布對英美宣戰完全是場誤會，戰後還向日本追討債務，中國也並未正式向泰國宣戰。\n","title":"二戰靈活外交的代表：泰國皇家空軍簡介(กองทัพอากาศไทย)","type":"history"},{"content":"歷史事件改編的電影，劇情沒什麼好雷的對吧，反正差別只在於細節以及導演呈現的方法。\n本片以美軍視角為主，四平八穩的戰爭片，沒有浪費時間在那邊談戀愛。從珍珠港快速的進軍到中途島。\n前因後果交代的很清楚，SBD執意要冒著沒油的風險，跟著日軍為攻擊潛艇而落單的驅逐艦，找到了機動部隊。隨即發起突襲，此時日軍正忙著對付先前來的低空魚雷機，零戰也無暇應付，注意到SBD時已經在空母正上方了！加賀號上的觀測員沒有大喊「敵機上方，急降下」有點可惜。\n珊瑚海戰役太長直接跳結尾，馬紹爾群島的九六陸攻像戰艦世界的動畫一樣banzai失敗，中途島的B-26也跟著效仿。 杜立德空襲成功後降落到中國，被日軍轟炸，後續導致日軍報復中國人，強調日軍的殘暴；被日本驅逐艦撈起來的SBD組員，一言不合就被丟回海裡去。 日方損失慘重，同樣的美軍的攻擊部隊也是幾乎全滅，但是貝斯特等人的勇敢行動為同盟國製造了勝機。\n沒什麼明顯缺點，由CG構成的戰鬥場景我認為還是缺乏真實感，雖然航母甲板是實際有搭景的。日軍講著一口奇怪腔調的日語，也是有演到飛龍被自軍擊沉的畫面。\n畢竟是以SBD當主角的故事，主角活著回到艦上卻廢了雙腳，空戰的部分就只能看後座機槍手把追尾零戰一架一架打下來，F4F完全沒鏡頭，幸好也沒有魔法機動。 不過那個啊\u0026hellip;總要賣一點帥氣的場面，SBD往上急爬升甩掉身後的零戰，上頭又有一架衝過來了怎麼辦！！馬上開減速板往下自由落體閃過上方的子彈。 在對飛龍投完彈後拉起，如果情緒有那麼容易被帶動的話，就會看著主角的臉，覺得美國終於出一口氣了。\n最後，選角能選好一點就好啦，化妝畫的跟照片差那麼多。\n既然是中國投資的電影，我一定要說一句：「終於殺爆日本小鬼子了」。\n細節：\n在航母甲板上撿著艦鉤的鏈子 九三式防空炮的炮彈更換畫面 無線電的開關 「還剩5分鐘才能換裝完成」機動部隊遭到攻擊時，甲板上並不是像過去描述的一樣停滿飛機，可以說否定了命運5分鐘。 主角Richard Halsey Best在片頭一開始做的應急著陸操作，片尾派上用場。 兵棋推演時，南雲和山本都直接否定掉赤城被擊沉的結果。 看儀表板，起飛速度不夠，墜機囉。 破譯日軍電碼「AF」 珍珠港在遭到攻擊前架設的雷達台，收到了放棄攻略中途島的電碼 其他細節得參考史料\u0026hellip; 因為飛行員當下的行為，以及為了演出效果，必然有加油添醋。\n翻譯錯誤：\n鸚鵡螺號潛艇居然翻成核潛艇，怕不是譯者直接Google結果抄到了1954年下水的同名艦。 炸彈翻成炮彈 Wing和Group搞反 譯者翻譯日語台詞時，照著英語字幕翻 油庫翻成油箱 評價普普，無冷場，流水帳，賣CG動作場面。又一次看到了CG技術的進步之處。\n","date":"2019年11月8日","externalUrl":null,"permalink":"/posts/midway-2019-review/","section":"Reviews","summary":"歷史事件改編的電影，劇情沒什麼好雷的對吧，反正差別只在於細節以及導演呈現的方法。\n本片以美軍視角為主，四平八穩的戰爭片，沒有浪費時間在那邊談戀愛。從珍珠港快速的進軍到中途島。\n前因後果交代的很清楚，SBD執意要冒著沒油的風險，跟著日軍為攻擊潛艇而落單的驅逐艦，找到了機動部隊。隨即發起突襲，此時日軍正忙著對付先前來的低空魚雷機，零戰也無暇應付，注意到SBD時已經在空母正上方了！加賀號上的觀測員沒有大喊「敵機上方，急降下」有點可惜。\n珊瑚海戰役太長直接跳結尾，馬紹爾群島的九六陸攻像戰艦世界的動畫一樣banzai失敗，中途島的B-26也跟著效仿。 杜立德空襲成功後降落到中國，被日軍轟炸，後續導致日軍報復中國人，強調日軍的殘暴；被日本驅逐艦撈起來的SBD組員，一言不合就被丟回海裡去。 日方損失慘重，同樣的美軍的攻擊部隊也是幾乎全滅，但是貝斯特等人的勇敢行動為同盟國製造了勝機。\n沒什麼明顯缺點，由CG構成的戰鬥場景我認為還是缺乏真實感，雖然航母甲板是實際有搭景的。日軍講著一口奇怪腔調的日語，也是有演到飛龍被自軍擊沉的畫面。\n畢竟是以SBD當主角的故事，主角活著回到艦上卻廢了雙腳，空戰的部分就只能看後座機槍手把追尾零戰一架一架打下來，F4F完全沒鏡頭，幸好也沒有魔法機動。 不過那個啊…總要賣一點帥氣的場面，SBD往上急爬升甩掉身後的零戰，上頭又有一架衝過來了怎麼辦！！馬上開減速板往下自由落體閃過上方的子彈。 在對飛龍投完彈後拉起，如果情緒有那麼容易被帶動的話，就會看著主角的臉，覺得美國終於出一口氣了。\n","title":"2019年的決戰中途島電影(Midway)，普普通通，像是在看電玩畫面","type":"review"},{"content":"","date":"2019年11月6日","externalUrl":null,"permalink":"/tags/royal-swedish-air-force/","section":"標籤","summary":"","title":"Royal Swedish Air Force","type":"tags"},{"content":"因為War Thunder出了中國線後又加緊出了只有3台載具的瑞典線，一架還是芬蘭空軍的試驗機，就來簡單研究瑞典的空軍歷史。\n簡短概括，讀完下文，就會了解《艦これ》中，裝備於Gotland輕巡洋艦上的S.9 Osprey，機名上的S.9的S是瑞典對軍機的分類代號：偵察機(Spaning)，9代表機種迭代。尾部垂直尾翼的黃線是瑞典空軍的舊塗裝樣式；黑白的三皇冠機徽則是在1927年制定。\n1. 瑞典空軍簡介 # 一位德國空軍將領對瑞典空軍的評價：\n「飛行員技術精湛，指揮官Bengt Nordenskjöld精力充沛，但是戰機陣容十分不足。」\n1800年代，瑞典陸軍引進觀測氣球，為最早的瑞典航空力量，第一架軍事用途的飛機則在1910年左右引進。起先瑞典陸軍和海軍都各自擁有航空部隊，在1926年合併為瑞典皇家空軍(Flygvapnet, Royal Swedish Air Force, RSAF)。從二戰到1950年代的幾年間，瑞典空軍便發展為世界前幾強的空中武裝力量。\n1939年9月1日，納粹德國入侵波蘭後，瑞典決定維持一次大戰時的原則: 宣布保持中立。 瑞典首相向國民說道: 「我們的準備充足。」\n下圖為瑞典空軍基地位置，1939~1945年，Wings=飛行聯隊，Wartime bases=戰時航空基地 但是瑞典的空域(Air territory)南北長達1572 km、東西499 km，保衛所需的兵力為40架中型轟炸機(當時大部分為容克斯Ju-86)、30架輕轟炸機(大多為英國霍克Hart)、50架戰鬥機(主要為哥士達角鬥士)、50架偵察機(主要為荷蘭Fokker C.V.E.)、10架魚雷機，總計180架。儘管戰機缺乏，但是瑞典飛行員的訓練素質在國際標準之上。同時，按照地理位置分散配置的「戰時航空基地」也讓瑞典空軍有較大的彈性運用空間。\n1930年代瑞典空軍制服，圖為F1飛行聯隊所屬的Liljedahl上校。 1939年11月，蘇聯入侵芬蘭。考慮到兩國百年來的共同發展關係，瑞典在蘇芬戰爭中宣布立場為「非交戰國」而不是「中立國」。在「芬蘭的事務就是我們的事務！」(Finlands sak är vår) 的宣傳口號下，許多瑞典人民組成志願軍參加了對蘇抗戰，許多步兵裝備也經由波羅的海送往前線。 此外，瑞典人也捐贈8架飛機給芬蘭空軍，並成立一個飛行聯隊。飛行聯隊在瑞典語中稱為\u0026quot;flottiljer\u0026quot;，作戰單位編號從「F 1」到「F 18」，送往芬蘭的則稱為F 19聯隊。 F 19由芬蘭空軍指揮，擁有12架角鬥士戰鬥機、8架霍克Harts輕轟、3架運輸機，250名志願軍。1940年1月成軍，在芬蘭的軍事編制下則稱為「第5飛行軍團」。在冬季戰爭中，瑞典空軍勇敢抗擊蘇聯空軍，為瑞典空軍的發展提供了寶貴的經驗。\nF19聯隊飛行員合照 瑞典在二戰時向義大利和美國購買了200架戰鬥機。瑞典自行研製的機種則有FFVS J 22戰機 (半金屬半木製，1942年首飛)、SAAB 17俯衝轟炸機 (1940年首飛)、SAAB 18中型轟炸機 (1942年首飛)，他們都是十分成功的傑作。因此，在保持中立的同時，瑞典的航空力量發展到能抵擋任何潛在敵國的攻擊。 在航空工業上來說瑞典走在時代尖端，也有自己的巧思，像是1943年首飛，擁有中置座艙、推進式引擎的J 21戰鬥機。促進了噴射機上彈射座椅的發展。\nSAAB J21，Wikipedia 譯者補充: 在二戰義大利Reggiane系列戰鬥機介紹這篇文章時提到過，瑞典向美國買的戰鬥機因為二戰爆發所以就沒有全部送抵，由於義大利是在1941年才正式宣戰，所以瑞典仍可向義大利進口。\n另，根據瑞典為何沒遭希特勒征服一文，瑞典在二戰前期親德，也向義大利出口戰略物資，但是瑞典沒有生產Bf-109，僅有將DB605引擎裝在自研的戰機上。\n2. 瑞典的拘留營 # 即使瑞典並未參戰，瑞典仍有捍衛中立的行動。遇到迷航的盟軍或是軸心軍機時，瑞典空軍都會把他們引導到本國的機場降落。\n二戰晚期，盟軍轟炸機的飛行路線十分接近瑞典空域，南部的瑞典空軍就扮演了重要的角色。值得注意的是戰時至少有342架外國飛機在瑞典降落，其中約200架為損傷不一的英美軍機，包含蘭開斯特、B-17、B-24。瑞典政府提供了奄奄一息的機組員們一個「避難所」，不讓他們墜入海中或是降落到德軍佔領的國家。盟軍和軸心國的士兵分別集中在拘留營中由瑞典軍管理。相較於其他國家的戰俘營來說，這種拘留營比較像是一個SPA。\n雖然待遇較為人道，拘留營的人仍要每天早上7:15起床，吃完早餐後進行像是鋪路、修繕、切木材的工作直到下午2:45，之後便是自由時間。\n1940年3月21日，《工人報》(Arbetaren) 指出：\n「『民主德國』這艘船沉了以後，瑞典政府想把被沖到瑞典岸上的『殘骸』(指反法西斯者)給一一粉碎。」\n立場親共的《新日》(Ny Dag)則說：\n「瑞典人民不應再繼續虐待拘留營里無辜的人們。」\n拘留營里的人們，Wikipedia 二戰結束後，瑞典空軍相較於1939年已有巨大變化，1945年可用戰力高達800架，15個飛行師 (共200架，其中多裝備最新銳的P-51)、3個長程偵查師 (30架)、5個短程偵查師(50架)，還有6個海軍偵查師(40架)。\n3. 瑞典空軍二戰時的主力戰機 # 戰鬥機\n哥士達 角鬥士 (瑞典空軍代號 J8)\n賽維斯基 EP-1 (J9)\n飛雅特 CR.42 (J11)\n雷賈那 Re.2000 (J20)\nSAAB 21 (J21) FFVS J 22 (J22)\n北美 P-51 (J26)\n轟炸機\n容克斯Ju-86K (B3)\n霍克Harts (B4)\n諾斯洛普 8 A-1 (B5)\n卡普羅尼 Ca313 (B16)\nSAAB 17 (B17) SAAB 18 (B18)\n魚雷機\n亨克爾 He115 A2 (T2)\n容克斯Ju-86K (T3)\n卡普羅尼 Ca313 (T16)\n偵察機\n亨克爾 He114 (S12)\nFokker C.V.E.(S6)\n費舍爾 Fi-156 (S14)\n霍克 Osprey (S9) http://www.avrosys.nu/aircraft/Spaning/208s9/208S9.htm\n4. 陸軍與海軍的航空運用 # 儘管1926年兩軍航空力量合併之後，在聯絡、偵查、海上搜救等方面，陸軍和海軍仍是由原本與該軍有關係的飛行單位負責。1939年，F3飛行聯隊負責為陸軍實施偵查，裝備的機種有Fokker C.V.E.(S6)、費舍爾 Fi-156 (S14)、容克斯Ju-86K (B3)、亨德里·佩奇 亨普頓 (P5)、卡普羅尼 Ca313 (S16)、SAAB 17 (S17)。\nF2飛行聯隊則負責為海軍實施聯絡、魚雷攻擊、偵查、搜救之用，機種為 亨克爾 He114 (S12)、Fokker C.V.E.(S6)、霍克 Osprey (S9)、容克斯W34 (Tp2)、SAAB 17 (S17)、前德國空軍的都尼爾Do 24 (Tp 24)。\n瑞典各個聯隊的成立時間軸參照下表。縱軸為聯隊名，橫軸為年份。 來源 5. 1926年制訂的瑞典軍機代號分類 # 參考來源: https://en.wikipedia.org/wiki/List_of_military_aircraft_of_Sweden\n戰鬥機: J (Jakt) 轟炸機: B (Bomb) 魚雷機: T (Torped) 攻擊機: A (Attack) 偵察機: S (Spaning) 運輸機: Tp (Transport) 教練機: Sk (Skol) 高級教練機: Ö (Övning) 試驗/原型機: P (Prov) 滑翔機: G (Glidflygplan) 翱翔機: Se (Segelflygplan) 運輸滑翔機: Lg (Lastglidare) 機徽來自Aeroflight網站\n1937~1940年 1940~現在 6. 瑞典軍機的塗裝規範演變 # 1926年空軍成立之時，陸海軍繼續沿用之前的機徽。在26~27年間，使用了6種以上的方案，像是黑色皇冠、白皇冠、黑框白皇冠、白框黑皇冠、藍/黃/藍方格、白皇冠+黑方格、黑色塊上寫白色數字、白色塊上畫黑皇冠、白色圓圈上畫黑皇冠等等。\n1927年1月21日，空軍採用了新的規範(m/27)。機徽為白色圓圈上畫三個黑色皇冠，若塗裝為較淺的顏色則圓圈可省略。垂直尾翼需有黃、藍色帶，黃色色帶靠近垂直尾翼中段。 各機的識別代碼由1位數字+1~3位數字組成，第1位表示所屬單位，後3碼表示所屬單位中的第幾號機。\n中央飛行學校(Central Flying School) 編號為0，1929年改為5。F1F4聯隊分別為14。1931年6則分配給中央單位所屬。\n1927年各聯隊開始為下屬機種重新編號，每個聯隊各有不同方案。\nF2聯隊直接在舊的海軍編號前加上一個2。 F3聯隊則把原本表示年份的第一個數字全改為3。新服役的S.6偵察機從1開始編號，J.3戰鬥機則從51開始。 F4聯隊用1開始的編號代表S.1偵察機，51開始代表A.1攻擊機。F5聯隊的方案又更不一樣了。\n1928年塗裝維持舊樣式，教練機為淡黃色或鋁色，戰鬥機種為鋁色或綠/棕迷彩，海軍飛機為銀灰色。\n6月，陸上機種規定須塗成全鋁色，海軍維持銀灰色。\n1931年11月3日，新規範在年底生效(m/31)，識別代碼由四個數字組成，第一位表示所屬單位，第二位為機種，如下所示：\n1 轟炸機、魚雷機、長距離偵察機 2 戰鬥機 3 偵察機 4 海上巡邏機 5 初級教練機 6 高級教練機 7 運輸機 第三、四位數字為機種中的代號，因此轉換到其他聯隊，數字後三碼並不會改變，也有保留原本數字的例子。\n1932年制訂的規範(m/32)基本與前年相同，10月開始生效。 教練機開始塗成黃色和紅色。\n1935年7月2日確立了流水號的規範(m/35)，其為在機身後段的數字，不可改變。 大部分都與1932年的後三碼相同，只不過有些許變化：\n1 重型轟炸機、魚雷機 2 戰鬥機 3 偵察機 4 海上巡邏機 5 初級教練機 6 高級教練機 7 輕型轟炸機 8 試驗、驗證機(evalutaion) 9 運輸機 1940年，流水號改為4碼；1942年改為現代的5碼，前2碼表示機種。\n繁忙的空中交通，使得中央飛行學校得把數字6、8、9的樣式區別開來以免混淆，1936年7月以前開始運用，1943年以後各個聯隊皆使用此款數字。 粗體數字用於表示所屬單位的號碼，普通字體為個人編號用。\n戰術編號需寫在機身側邊的機徽前方，個人編號則在後方。\n1936年教練機的機身塗成裝甲灰，機翼塗成橘色。進口的Ju 86則維持德軍塗裝。\n1937年(m/37)，為避免混淆，戰術編號改成: 所屬單位編號寫在機徽左方，個人編號寫在右方和機鼻上。並且取消了垂直尾翼上的色帶。\n1935年的迷彩試驗後，機徽變更為黃色皇冠、黑色外框、藍色圓圈。 單位編號「6」在1938年前代表的是中央單位，1940年後由F6聯隊接替這個號碼。租來的Ju-52/3m不屬於任何單位，他的代碼為TP。\n同年還制定了機身後段色帶的規定，但沒有全面實行：\n實線: 第1飛行中隊 斑點白/黑線: 第2中隊 之字型線: 第3中隊 三條色帶: 代表飛行中隊長 二條色帶: 第2飛行大隊長 一條色帶: 第3飛行大隊長 中隊裡其餘的戰機則須在機身後段塗上水平線段。 1938年戰事逐漸升溫，少數幾個單位有遵循此規範。\n1939年在陸軍防空部隊的要求下開始了新一輪的試驗，1937年制訂的指揮官色帶規範，被認為不符合安全性的要求。\n出現了各式各樣的方案，像是在螺旋槳轂上塗紅黃藍，或是在機徽後方2/3機身處漆上色帶，還有中隊用數字顏色來表示(黃、紅、白、淺藍、橘、黑)。\n也測試了新式機徽: 黃藍顏色互換、取消藍色部分，亦有嘗試過藍/黃翼尖。\n1937年~38年間，迷彩塗裝標準為: 機身上部固體綠，下部淺藍灰色。 部分型號有著義大利風格的迷彩塗裝。\n機徽最好的方案是在1937的樣式上再加一個黃色外環，機翼上部不塗上機徽。1940年的規範(m/40)在該年6月11日開始使用，7月6日完成。\n此外還有每個中隊採用新的戰術編號，115為第一飛行中隊，1630為第二中隊，31~45為第三中隊，46以後為其他飛機。\n由於F2、F3、F5聯隊沒有像其他聯隊一樣有中隊編制，他們只給單一系列編號(numbered its aircraft in a single series)。有些聯隊的其他飛機編號不是46以後開始，有可能會是70, 71, 90, 91, 100或是01。 1944年12月21日，經過試驗和討論後，採用了識別字母的系統。早在1942年F4聯隊已採用此種系統，F7則是1943年。\n字母的顏色即為中隊的顏色，第一中隊為紅色，二中隊藍色，第三中隊黃色，黑和白為飛行聯隊人員使用。螺旋槳轂的顏色也會與字母顏色一致，有時引擎整流罩前端也會塗上相同顏色。 代表所屬聯隊的黃色數字塗在機身機徽的後方。 非戰鬥機種，包含偵察機，不是使用字母，而是在整流罩上的散熱鰭片或是機鼻塗上黃色數字。\n機徽仍保持1940年的樣式，只不過機翼上部重新塗上了機徽。在此之前，規定動員時需把機翼上的機徽抹去。\n飛行員身上佩戴的徽章演變，請見: The Royal Swedish Air Force and its Qualification Badges\n7. 瑞典空軍在二戰時的空中衝突 # 1939年，挪威抗議瑞典偵察機在該國海域的飛行，此後瑞典空軍需在飛行前事先通知挪威海軍。\n1940年德國入侵丹麥和挪威時，許多外國軍機會飛過特瑞堡的西南岸。\n1940年4月10日，耶夫勒市上空往北飛過50~75架全黑的飛機，可能是蘇軍的戰機。\n隔日，瑞典空軍收到指令，無須示警即可擊落外國飛機。\n22日，瑞典南部發起空襲警報，經過的德國飛機有幾架遭擊落，其中有架He-111被Hansa-Brandenburg S 5 (德國一戰時生產的雙翼機 ) 擊落。\n5月20日，一架Do. 26在Vassijaure向瑞典武裝列車Kiruna開火，一名士兵死亡。\n戰時，德國轟炸機常在瑞典西岸「無恥的飛行」。\n1944年，瑞典偵察機在波羅的海上空常遭到德國戰鬥機的攻擊，尤其是南邊，有一些S16可能因此遭擊落。\n1944年4月10日，德國國防軍最高統帥部允許德軍的夜間戰鬥機可以「驅趕」盟軍飛機到瑞典空域。\n11日， 一架在瑞典基地上空低空盤旋的Me-410被防空砲擊落，不確定是否有向地面開火，該機墜落後剛好砸到了一名騎腳踏車的士兵，附近的3人也一同死亡。同日，美軍飛往德國的900架B-17G，其中的1架被防空砲擊中而迫降。\n5月13日，德軍重戰Me-210在于斯塔德上空攻擊B-17時，瑞典防空砲對德機開火，該機往南飛走，B-17則在馬爾默附近的Bulltofta機場迫降。\n14日，一架卡普羅尼偵察機在波羅的海上空實施例行飛行時被德軍Bf-109擊落。2架Bf-109其中一個飛行員，駐紮在利耶帕亞，誤認其為蘇軍的DB-2，但是在其燃燒墜落時才看到機身瑞典的機徽 (1940年代瑞典空軍在機翼上沒有畫上機徽)。3名機組員由德國郵輪\u0026quot;Louise Schröder\u0026quot;救起，並持續搜索失蹤的其餘4人到黃昏。被救起的三人從文茨皮爾斯市輾轉經過多個城市，於27日回到瑞典。事後德國向瑞典表示，此類的偵察飛行對維護瑞典的中立性沒有幫助。由於德國的好戰個性，自此德國偵察機在瑞典邊境更加猖狂。\n瑞典空軍的Ca. 313 (S 16) https://www.airplane-pictures.net/photo/152909/2-11-sweden-air-force-caproni-ca-313-replica/\n15日，一架前往搜索的卡普羅尼偵察機未歸還，德國方面宣稱對其一無所知。但是在二戰末期，駐紮在利耶帕亞的部分德軍飛行員和防空單位人員飛往瑞典，在受審時說1944年15日第二架偵察機就是被德軍擊落的，後來在德國檔案館中發現了此項紀錄，還寫有德軍飛行員的名字。 23日，又有一架卡普羅尼偵察機在瑞典西岸消失了，德國還是說不知道。1951年發現該機殘骸，機身有攻擊痕跡。在德國檔案館的紀錄中，該機被德軍認為是「道格拉斯」轟炸機而在卡特加特海峽遭擊落。\n1945年1月3日，一架德國轟炸機墜落在卡爾瑪市西邊，卻不見飛行員蹤影。60年後原因找到了，那可能是德國在1944年秋天用於發射V-1火箭的測試載台，目標是倫敦。當晚英國上空月黑風高，2小時內確認有52枚V-1飛彈瞄準倫敦，4架德國轟炸機失蹤。或許是這些轟炸機機組員找不到機場，讓飛機飛往波羅的海的方向後跳傘，落到海裡，凍死在冬天冰冷的海水中。\n搭載V-1火箭的He-111轟炸機，Wikipedia 瑞典法爾肯被里市一名市民在1945年1月上旬的日記中提到，晚上8點轟炸機引擎聲響徹天際，持續了半個鐘頭。9點則在德軍的廣播中聽到東波美拉尼亞攻勢的空襲警報。當地報紙則報導在朦朧的夜晚中，法爾肯被里屋頂上50公尺處可看到轟炸機的蹤影，19:50第一架飛過，防空砲轟轟作響到20:30，哈爾姆斯塔德和卡爾斯克魯納市的防空砲也發起對空射擊，斯堪尼省上空也有許多飛機飛過。接近午夜23時，又有從德國回航的轟炸機飛過法爾肯被里，只是這次飛行高度較高，數量也少了一些。\n直到戰爭結束為止，不管是盟軍還是德軍的飛機，瑞典本國的防空砲一律不會放過。\n戰時可確認被打下來的外國飛機共有20架，其餘20架可能遭擊墜。 其中有11架德國、6架英國、2架美國，其餘未知。1945年2月8日，在赫爾辛堡附近打下一架英國軍機，機上6名(維基百科寫8架)機組員死亡，在瑞典引發了相當大的爭議，一派認為瑞典不應向盟軍開火，另一派則認為要維護中立就是要迎擊任何入侵者。\n至於降落在瑞典的外國飛機則有350架，一半來自美國，前文講到在1944年5月13日，馬爾默附近的Bulltofta機場一天內就有20架轟炸機降落。\n根據資料來源，在瑞典迫降的統計： 參考資料 # https://ww2aircraft.net/forum/threads/swedish-air-force.28231/ https://www.x-plane.org/home/urf/aviation/text/bas/dispersed_basing.html http://www.rathbonemuseum.com/SWEDEN/SWECpt/SWECptServiceDress.html https://www.reddit.com/r/PropagandaPosters/comments/5frqx0/the_finnish_cause_is_our_cause_poster_encouraging/ http://surfcity.kund.dalnet.se/sweden_f19.htm https://www.x-plane.org/home/urf/aviation/text/markings/markings1926.html https://www.konditori100.se/SiWW2/sww2mc.htm ","date":"2019年11月6日","externalUrl":null,"permalink":"/posts/royal-swedish-air-force-wwii/","section":"Histories","summary":"因為War Thunder出了中國線後又加緊出了只有3台載具的瑞典線，一架還是芬蘭空軍的試驗機，就來簡單研究瑞典的空軍歷史。\n簡短概括，讀完下文，就會了解《艦これ》中，裝備於Gotland輕巡洋艦上的S.9 Osprey，機名上的S.9的S是瑞典對軍機的分類代號：偵察機(Spaning)，9代表機種迭代。尾部垂直尾翼的黃線是瑞典空軍的舊塗裝樣式；黑白的三皇冠機徽則是在1927年制定。\n1. 瑞典空軍簡介 # 一位德國空軍將領對瑞典空軍的評價：\n「飛行員技術精湛，指揮官Bengt Nordenskjöld精力充沛，但是戰機陣容十分不足。」\n1800年代，瑞典陸軍引進觀測氣球，為最早的瑞典航空力量，第一架軍事用途的飛機則在1910年左右引進。起先瑞典陸軍和海軍都各自擁有航空部隊，在1926年合併為瑞典皇家空軍(Flygvapnet, Royal Swedish Air Force, RSAF)。從二戰到1950年代的幾年間，瑞典空軍便發展為世界前幾強的空中武裝力量。\n1939年9月1日，納粹德國入侵波蘭後，瑞典決定維持一次大戰時的原則: 宣布保持中立。 瑞典首相向國民說道: 「我們的準備充足。」\n下圖為瑞典空軍基地位置，1939~1945年，Wings=飛行聯隊，Wartime bases=戰時航空基地 ","title":"中立國，但是入侵就打下來：二戰瑞典空軍簡介(Flygvapnet)","type":"history"},{"content":"不小心在沒屋頂瞄到了代購此項商品的賣家，於是就託了代購，自10/15日開賣後，到了31日才收到。\n我第一次網購外國食品，就為了贈品。\n日本Lawson含稅690日元，代購的加上取貨手續費，總共是台幣450元，身為庶民的我吃過最貴的巧克力，順便提7-11的一條9個賣49元。 果真跟封面的吹雪拿的比例一樣，盒子比(隨便從櫃子抽出來的)一本小說還小。這本小說也挺勁爆的，雖然有種看了什麼洨的感覺，但結局真的是靠洨神反轉。 頂部開口 側邊的內容物，共有10款遊戲內立繪的磁鐵，外加1款隱藏版。 初雪: 五月天 - Hosee(大誤)，是我全都要！ 那麼，抽到的是\u0026hellip;狹霧，決定把她貼在電腦機殼上吹吹風（不幸的是幾年後搬遷電腦主機的時候不知道掉到哪裡去了），不然其實也想跟櫃子上的賢王肖像畫貼在一起的。 至於最後一款是什麼，不用猜了，日本早有人在拍賣，是北方棲姬。來源 想當然爾，被母上發現後就被唸了一頓。\n另外，因為之前開玩笑的說要買Gambier Bay的娃娃，一直被靠北到現在。\n2018年限定生產的Gambier Bay娃娃，因為沒有再生產，ebay上拍賣開到NT.4000，駿河屋炒到9800日圓，遠遠高過其他官方娃娃的價格。 但不過也才FGO課一單的價格而已嘛(菸)，額不，現在錢還是存著好。小B服暫時不課了，Azur Lane也花不了多少錢。\n","date":"2019年10月31日","externalUrl":null,"permalink":"/posts/lawson-kantai-collection-oreo/","section":"Kantai-Collections","summary":"不小心在沒屋頂瞄到了代購此項商品的賣家，於是就託了代購，自10/15日開賣後，到了31日才收到。\n我第一次網購外國食品，就為了贈品。\n日本Lawson含稅690日元，代購的加上取貨手續費，總共是台幣450元，身為庶民的我吃過最貴的巧克力，順便提7-11的一條9個賣49元。 果真跟封面的吹雪拿的比例一樣，盒子比(隨便從櫃子抽出來的)一本小說還小。這本小說也挺勁爆的，雖然有種看了什麼洨的感覺，但結局真的是靠洨神反轉。 頂部開口 側邊的內容物，共有10款遊戲內立繪的磁鐵，外加1款隱藏版。 初雪: 五月天 - Hosee(大誤)，是我全都要！ 那麼，抽到的是…狹霧，決定把她貼在電腦機殼上吹吹風（不幸的是幾年後搬遷電腦主機的時候不知道掉到哪裡去了），不然其實也想跟櫃子上的賢王肖像畫貼在一起的。 至於最後一款是什麼，不用猜了，日本早有人在拍賣，是北方棲姬。來源 想當然爾，被母上發現後就被唸了一頓。\n另外，因為之前開玩笑的說要買Gambier Bay的娃娃，一直被靠北到現在。\n2018年限定生產的Gambier Bay娃娃，因為沒有再生產，ebay上拍賣開到NT.4000，駿河屋炒到9800日圓，遠遠高過其他官方娃娃的價格。 ","title":"超貴的日本巧克力，Lawson╳艦娘Oreo胸章","type":"kantai-collection"},{"content":"1/72フルアクション vol4 隼2型\n此為2018年發表的F-Toys可動模型。在推出日本海軍的王牌戰鬥機零式戰鬥機後，終於也有日本陸軍的代表性戰鬥機了！ 一式戰鬥機 隼(Ki-43)是大日本帝國陸軍飛行戰隊的主力戰鬥機，由中島飛行機生產，在維持前型九七式戰鬥機(Ki-27)輕巧的基礎上，進一步的增加飛行速度。日本陸軍的戰術，此時仍停留在一次大戰轉圈圈的打法。直到後繼機種才慢慢地跟上歐美主流的腳步，製造重視速度的戰鬥機。\n1943年正式換裝部隊，直到1945年終戰的時候仍是日本陸軍的主力戰鬥機。一式戰的盟軍代號是Oscar，面對美軍新式P-51戰鬥機也可以打得有來有回，美軍認為一式戰就像蜻蜓一樣，能夠做出許多特技動作，不可以輕易的跟一式戰進入迴旋戰。\n一式戰最為人所知的，便是日本軍方在1944年拍的戰爭宣傳電影《加藤隼戦闘隊》所塑造的形象了。這部電影具有重要歷史價值，因為其在前線拍攝，側寫了當下日本陸軍作戰的概況。\nF-Toys提供的套件有許多水貼可以選擇，我組裝的這架使用的是飛行第63戰隊第一中隊的塗裝，機尾編號79。這個飛行戰隊曾在北千島與新幾內亞活動。他們的戰鬥事蹟，恐怕不如番號多一位的飛行64戰隊有名。 一式戰提供兩個油箱套件可以拆卸。這可不是神風攻擊用的炸彈啊啊。 一式戰隼II型搭載Ha-112發動機，武器是機首的二枝12.7mm機槍，在戰爭後期破壞力略顯不足。 我覺得這個模子做的特別好的地方，就是特殊的蝶形襟翼有做出來，展開後很是美麗。一式戰的迴旋能力已經很恐怖了，再加上這個能夠進一步的提昇轉圈圈能力。 一式戰的座艙罩，比起零戰的八角籠要簡潔許多。 一式戰跟零戰很像，都是反應日本飛行員作戰習慣的輕巧機種。有時候盟軍會誤報碰到的敵機是零戰，但其實是一式戰。\n一式戰不用考慮空母著艦的強度，所以可以把機身弄得更纖細，啊不過相較於裸奔的零戰，一式戰可是有保護飛行員的防彈板的。一式戰後部的機身真的非常的瘦弱，感覺很容易解體。這裡的模型為了塑膠強度有把它做胖一點。根據美軍飛虎隊的回報，過去還真的有許多一式戰俯衝解體的事故。 ","date":"2019年10月30日","externalUrl":null,"permalink":"/posts/f-toys-1-72-scale-full-action-vol-4-nakajima-ki-43-ii/","section":"Artworks","summary":"1/72フルアクション vol4 隼2型\n此為2018年發表的F-Toys可動模型。在推出日本海軍的王牌戰鬥機零式戰鬥機後，終於也有日本陸軍的代表性戰鬥機了！ 一式戰鬥機 隼(Ki-43)是大日本帝國陸軍飛行戰隊的主力戰鬥機，由中島飛行機生產，在維持前型九七式戰鬥機(Ki-27)輕巧的基礎上，進一步的增加飛行速度。日本陸軍的戰術，此時仍停留在一次大戰轉圈圈的打法。直到後繼機種才慢慢地跟上歐美主流的腳步，製造重視速度的戰鬥機。\n1943年正式換裝部隊，直到1945年終戰的時候仍是日本陸軍的主力戰鬥機。一式戰的盟軍代號是Oscar，面對美軍新式P-51戰鬥機也可以打得有來有回，美軍認為一式戰就像蜻蜓一樣，能夠做出許多特技動作，不可以輕易的跟一式戰進入迴旋戰。\n一式戰最為人所知的，便是日本軍方在1944年拍的戰爭宣傳電影《加藤隼戦闘隊》所塑造的形象了。這部電影具有重要歷史價值，因為其在前線拍攝，側寫了當下日本陸軍作戰的概況。\nF-Toys提供的套件有許多水貼可以選擇，我組裝的這架使用的是飛行第63戰隊第一中隊的塗裝，機尾編號79。這個飛行戰隊曾在北千島與新幾內亞活動。他們的戰鬥事蹟，恐怕不如番號多一位的飛行64戰隊有名。 ","title":"中島 一式戰隼II型 可動模型 ｜ F-Toys 1/72 FullAction Vol.4","type":"artwork"},{"content":"二戰時期，預定搭載於義大利海軍天鷹號（Aquila）航母艦載機的人選之一，就是雷賈那公司的「Re.2001」系列戰鬥機及其衍生型。但是，Re.2005還沒到艦載機測試階段，義大利就投降了。即使擁有最美麗的外型，雷賈那公司的飛機卻始終不受義大利空軍青睞。 https://www.super-hobby.be/products/Re-2005.html\n本文將描述雷賈那公司各型號飛機的歷史，包括從最初的「Re. 2000」，到最後的傑出之作：「Re. 2005」的發展過程。\n1. 雷賈那公司的成立 # 雷賈那（Officine Meccaniche Reggiane SpA）公司成立於1901年，總部位於Reggio Emilia。 https://commons.m.wikimedia.org/wiki/File:Logo_Reggiane.svg\n母公司是卡普羅尼（Società Caproni e Comitti），沒錯，就是在宮崎駿2013年電影《風起》當中登場的原型人物所擁有的集團。 https://ghibli.fandom.com/wiki/Giovanni_Battista_Caproni\n時間來到1938年，當時義大利航空部在空軍內部推行《Programme R》計畫，主要是進行一系列的技術改進。在當時，預計採用的新型戰機都已進入原型機階段，或是將做進一步升級。例如飛雅特（Fiat）G. 50和馬基（Macchi）C. 200。\n在眾多競爭者之中，只有雷賈那公司的Re. 2000 「鷹式」 (Falco) 是專門針對R計畫所設計的戰機。\n2. Re. 2000 「鷹式」 # Re. 2000研發過程 # 起初雷賈那是想生產美國授權的機種，但在卡普羅尼的干涉下決定自行研發，即為「Intermediate Generation」、「O series」戰鬥攔截機 [1:頁6]\n設計由羅伯特·朗吉（Roberto Longhi）與安東尼·雷西歐（Antonio Alessio）主導，羅伯特·朗吉曾在美國賽維斯基（Serversky）公司任職2年，因此Re.2000很大程度的借鑒了該公司P-35的設計。 P-35 [1:頁4]\nP-35三視圖，Re. 2000輪廓與之十分類似。 http://www.fiddlersgreen.net/models/aircraft/Seversky-P35.html\nRe. 2000使用的引擎為14汽缸氣冷Piaggio P.XI R.C.40，出力986hp。全金屬製機身，橢圓形機翼，起落架使用美國寇蒂斯公司往後收起的的設計。武裝為機首二門12.7mm布雷達SAFAT機槍，座艙為向後滑蓋式。\n什麼是往後收起的起落架？參照下圖P-36的起落架設計，為向後收起。 https://modelingmadness.com/review/preww2/tc/tmc3236.htm\n1939年5月24日，由Mario De Bernardo首飛，5000公尺高度速度達到517km/h。在圭多尼亞由軍方與其他機種纏鬥測試時，不論是Cr.42、Bf109E、Macci C.200，Re.2000都能與之抗衡，但是航空部下屬的航空建造局認為翼內油箱太過於危險，Re.2000同時沒有自封油箱的設計，也很容易漏油。\n稍作修改後的版本即為 Re.2000 Serie I (Serie翻為「批次」)，生產了157架。\nRe. 2000在Serie I 後還生產了II和III型號，裝上了無線電，機身下部裝備2公斤的反步兵炸彈。 1:頁11\n1941年，義大利海軍希望有遠程運用的現代偵查機，因此Re. 2000 G.A. (Grande Autonomia) 誕生了，額外增設的340升油箱，可以從義大利飛到東非的衣索比亞，不過1942年英軍攻佔東非後，此案作廢。直到1943年義大利投降前，一直都沒有正式服役。 1:頁9\n義大利海軍亦曾將一架Serie III的Re. 2000裝在水上機母艦「朱塞佩•米拉利亞」（Giuseppe Miraglia）上進行彈射起飛測試，雖然成功但是沒有正式採用。 2:頁4\n羅馬、利托里奧、維托里奧·維內托等戰艦亦有裝備彈射型的Re. 2000，一直陪伴到她們沉沒為止。 2:頁25\n艦隊Collection遊戲中的Roma和Littorio。 第一架Re. 2000送到第3飛行聯隊的23飛行大隊的實驗單位，由上尉Pietro Calistri指揮。從科米索的西西里機場起飛支援馬爾他島的作戰，因為引擎不可靠導致出勤率低下。 1:頁8\n稍後的機型返回原廠做升級工作，引擎稍微改進的版本稱作bis，遠程型的即為G.A.。\n在東非的情勢惡化之時，考慮到Re. 2000擁有長航程的飛行能力，義大利空軍要求雷賈那把要銷給匈牙利和瑞典的機種先行給空軍使用。1941年8月部署到377ᵃ獨立飛行中隊的實驗單位，基地位於巴勒莫—博卡迪法爾科（Palemro-Boccadifalco）機場，擊落了一架布倫亨式轟炸機，也是Re. 2000唯一的戰果。1942年9月送到特里維素的第一攔截訓練單位，直到投降前都沒有再參與作戰。\n義大利飛行員對Re. 2000褒貶不一，部分人認為其與同類型機種性能相當，但是引擎很容易過熱，需要一直調整散熱鰭片，且氣冷引擎也阻礙飛行員降落時的視線。機首的布雷達機槍經常卡彈。只要一顆子彈擊中機翼油箱就能讓整機化成火球。不過，匈牙利空軍使用時卻是沒有抱怨過機翼油箱的問題。 2:頁28\n還有一項有趣的事蹟：飛過開放式座艙的義大利飛行員，受不了封閉式座艙，在開Re. 2000時曾打開座艙罩。這也是網路上流傳甚廣的「義大利二戰糗事」之一。\n不過飛行員也稱讚其機動性和飛行距離，還有爬升能力勝過其餘對手。\nRe. 2000外銷版 # 可惜的是，最終義大利空軍沒有採用Re.2000，主要因為機翼油箱易燃的問題，取消了預先生產的訂單，剩餘的機種被配屬到義大利各部隊去。\n義大利政府授權雷賈那公司將其用於外銷，有實際購買運用的國家為匈牙利以及瑞典空軍，雷賈那為所有的客戶生產了180架Re. 2000。\n順便說，Re. 2000參考的P-35美國陸軍也沒採用，因而轉為外銷用。\n匈牙利空軍將Re. 2000稱為「Héja」（即鷹(Flaco)的匈牙利語翻譯）。將其部署到東線戰場，該國還根據戰場經驗推出了改良版的MÁVAG Héja II，座艙背部加裝8mm防彈板，機身增設自封油箱，引擎換為國產Weiss Manfred WMK-14B（出力1085hp），機首機槍換成Gebauer 12.7mm機槍，增加極速外還能在翼下掛250kg炸彈。後來Héja逐漸由德軍的Bf109取代，轉為教練機。 1:14\n瑞典作為二戰中立國，原向美國購買P-35的外銷款EP1-106，但交貨途中因1940年美國實施禁運，僅有60架送抵瑞典，便轉向義大利購買Re. 2000，使用到終戰。義大利跟瑞典簽署合約，以戰機換取瑞典供應鎳和鉻等戰略物資。\n瑞典稱Re. 2000為「J. 20」（Jakr即瑞典語的戰鬥機）。儘管瑞典飛行員很喜歡這款戰機，地勤卻視其為一大挑戰，包括引擎和武裝的維護困難，且義大利和瑞典的氣候差異很大（一個在北歐一個在南歐），使得Re. 2000在寒冷冬天難以發動引擎。 1:21\nJ.20主要用於攔截闖入瑞典領空的盟軍及軸心國飛機，瑞典空軍會將他們引導至Bulltofa機場降落。不過在1945年4月3日，Erik Nordlund中士的座機引擎被德軍Do. 24飛行艇的20mm機砲擊中，他嘗試返回機場未果，該機在空中爆炸。\n瑞典最明顯的標誌：三個皇冠。在艦隊Collection遊戲中亦有出現在S9 Osprey上。 2. Re .2001 「鷹式」 II # Re. 2001開發過程 # 1940年，雷賈那開始研究更換液冷引擎的可能性，將Re. 2000裝上愛快羅密歐（Alfa Romeo）RA 1000 R.C. 41-Ia Monsonie，該引擎為德國DB601的授權生產版本。 3:頁7\n機翼增設了2門 7.7. mm 布雷達SAFAT機槍，翼下增設二個散熱器，座艙罩從往後滑蓋改成向右掀開，還裝設了Silma研發的滅火器。 3:38\nRe .2001原型機在5000m達到568km/h的成績，實際上投產後因義大利的授權引擎品質不好，速度有所下降。\n義大利空軍發來300架訂單，並馬上終止了Re. 2000的訂單。結果因為引擎難產，1941年訂單砍成120架。\n因國際局勢已不如1939年，海外唯一的可能買主就只剩下瑞典，1941年1月開始談合約，預計先運送100架沒有引擎的Re. 2001至瑞典，再從德國購入DB601引擎。不過因為義大利產量本身就不夠用了所以作罷。\n1941年12月，100架的訂單被拆成二批次，50架為普通版本，另外50架為Re. 2001 O.R. (Organizzazione Roma，羅馬計畫），將做為未來義大利航母的艦載機使用，還會加裝著艦鉤。可是，Re. 2001 O.R卻在與Fiat G. 50的艦載機競選中敗北。 Re. 2001的著艦鉤樣式。3:23\n二戰期間，義大利的二艘航母「Aqulia」和「Sparviero」最終都沒有建成。\n此後雷賈尼還有推出輕量版的Re. 2001 O.R.，用於進行類似前述Re. 2000的彈射起飛實驗。\n1942年5月，義大利空軍的訂單改成生產47架普通版，另外39架為Re. 2001 C.B (Caccia Bombardiere)，可在機腹下掛100~250kg的炸彈一枚。 3:頁13\n1943年1月，雷賈尼將一架Re. 2001 O.R.改造成能掛載魚雷，同年6月完成，就是Re. 2001 G。\n需要注意的是，只有Re. 2001 O.R.明確要做為艦載機運用。從陸上基地起飛的Re. 2001 O.R.也能執行反艦任務的，所以艦隊Collection遊戲中的才會叫「改」。 3:17\n義大利空軍的訂單改來改去，害得生產每個部件的員工薪水都得調漲。\nRe. 2001 GV首批生產的10架為「0 serie」。\n亦有生產使用炸彈進行攻擊的特別型號 Re. 2001 GV.，這是由二位飛行員 Galimberti 和 Vaccari 提出的，掛載一顆630kg炸彈攻擊英軍戰艦的計畫。 3:頁18\n1942年8月3日，二個飛行員同時釋放炸彈攻擊英國航母勝利號（HMS Victorous），一發命中但是沒引爆，因此終止了GV型號的生產。\n雷賈那還收到了50架Re. 2001 C.N. (Caccia Notturno)的訂單，預計做為夜戰機使用，引擎裝上滅焰裝置，在二翼下各裝一門毛瑟MG 151/20 mm機砲取代7.7mm機槍，最終完成34架。結果此型戰機大多用於晝間作戰。 3:頁14\n前面說過，因為DB601引擎難產，1942年，開始生產裝備義大利國產的Isotta Fraschini Delta RC 46-48倒V型液冷引擎的型號，稱作Re. 2001 Delta。\n但是，該引擎出力只有840hp，導致，Re.2001 Delta速度變得更慢，在測試途中還空中起火，1943年終止生產。 3:20\nRe. 2001的其餘改型還有Fotographico，即裝設照相槍的版本；拆掉7.7mm機槍、將翼下散熱器收入機翼內，增加極速到600km/h的Re. 2001 bis；用於反坦克的Re. 2001 H。\nRe. 2001亦曾參與液氧（Liquid Oxygen）炸彈的投放實驗。 3:頁17\nRe. 2001用於實戰 # 第2°飛行大隊\n隊徽，War Thunder中也有實裝。 3:頁49\n第6°飛行聯隊的第2°飛行大隊，還有150ᵃ、152ᵃ、358ᵃ飛行中隊，為首批開始運用測試Re. 2001的部隊。由上校Giuseppe Baylon指揮，1941年9月1日收到第一架戰機，基地位於拉溫那。\n測試進行的很順利，因為天氣因素，首批飛行員轉向戈里察機場受訓，年底完成訓練，此時該大隊已有28架戰機和45名飛行員。 3:頁26\n942年1月2日，152ᵃ中隊飛往西西里的巴勒莫機場，在那之前先至羅馬的錢皮諾、那不勒斯的卡波迪基諾機場做停留。5月4日整個飛行大隊才抵達西西里中部的卡爾塔吉隆。6月下旬開始護衛轟炸機到馬爾他上空的任務。在6月中的戰鬥中，17架Re. 2001和7架MC. 202，護衛7架魚雷轟炸機SM. 79，攻擊英國的補給船團。 1941年馬爾他島周遭的地圖。https://www.naval-history.net/WW2CampaignsRNMed2.htm\n飛行員們讚歎Re. 2001的機動性，有些人甚至認為某些方面比MC. 202還要好。但是Re. 2001在7000M以上高空與英軍的颶風、噴火Mk.V作戰時屈居下風，中低空時才有優勢。7月13日，整個大隊22架中只剩6架可飛行，到8月10日間的任務便變成零星的護航和自由戰鬥。\n在此期間打下了17架噴火，Re. 2001損失4架。8月中，Re. 2001戰鬥機從西西里的卡波迪基諾飛往薩丁尼亞的蒙塞拉托機場，與待在錢皮諾同大隊的戰友一同加入362ᵃ中隊。\n在馬焦雷的358中隊的7號機，為中士Giovanni Dringoli的座機，隊上使用的色帶由他所設計。 3:頁28\n152ᵃ中隊的指揮官Salvatore Teja上校，他的座機上寫的是「不是你死，就是我活」。 1:頁37\n1942年8月14日是該大隊最黑暗的一天，6架150中隊的Re. 2001護航3架德軍魚雷轟炸機，但因為可見度差，只有一個3架的飛行小隊能跟上他們的盟友，不敵佔有數量優勢的噴火，3架Re. 2001都被擊落，裡面包括中隊指揮官Maggiore Scarpetta。往後的幾個月Re. 2001繼續為轟炸機提供護航，但沒有再遭遇敵機。\n9月上旬，18架Re. 2001飛往萊可仕，2~4架負責巡邏，12架為地中海軸心國的補給船團提供護航。10月17日，大隊飛往卡斯泰爾韋特拉諾，隔日到潘泰萊里亞巡邏。隨後遷移到羅馬錢皮諾。11月，該單位改編為防空用的第2°獨立攔截大隊。\n22°飛行大隊\n隊徽 3:頁49\n下有359ᵃ、362ᵃ、369ᵃ飛行中隊，他們1942年6月剛從東線退回來，駕駛過MC. 202。在羅馬錢皮諾等待Re. 2001的到來。該大隊的指揮官為上校Vittorio Minguzzi，獨立飛行中隊則是分隊長Bonet、La Ferla、Cervellin分別指揮。\n上校Vittorio Minguzzi http://surfcity.kund.dalnet.se/italy_minguzzi.htm\n7月1日第一架Re. 2001配備到362ᵃ中隊。8月12日，22大隊開始執行他們的第一個任務，他們護衛SM. 79、SM. 84、CR. 42攻擊格林特群島附近的英軍補給船團，在此與英軍戰鬥機爆發第一次空戰，擊落一架敵機。9月10日該大隊轉移到聖伯多祿卡爾塔吉隆(San Pietro di Caltagirone，曾為第2°飛行大隊的基地)，隨後從潘泰萊里亞起飛的二個中隊便負責巡邏及護衛船團。 3:頁49\n10月7日，362ᵃ中隊轉移到夏卡機場參與馬爾他島的戰事。接下來幾個月待過蒙塞拉托、卡斯泰爾韋特拉諾、傑拉等機場，戰鬥到聖誕夜為止，後來飛往那不勒斯卡波迪基諾，將隊上的Re. 2001轉交給第2°飛行大隊。1943年5月，第2°飛行大隊編入第42°攔截聯隊。\n其他單位\n1942年第41°砲擊聯隊，包含下屬的59°、60°大隊，按照「Leone命令」改制為第41°攔截聯隊。這個聯隊由多種戰機湊合而成：Re. 2001 C.N.(大部分沒有翼砲)、過時的CR. 42、德軍援助的Do. 217J和Bf. 110。作戰時約擁有50架機種，但是面對敵人速度快且重武裝的四發轟炸機，大多數卻是無能為力。\n義大利聯合交戰空軍 ＆ 戰後\n1943年7月盟軍登陸西西里，到9月8日義大利投降時，義大利各部隊的Re. 2001數量都沒有變化。160°飛行大隊有26架、60°大隊10架、167°大隊11架、2°大隊4架，在這2個月之間能夠飛行的從50架降至33架。 3:頁36\n9月15日，160°大隊將其所在的維納佛里達(Venafiorita)機場的Re. 2001悉數破壞以防落入德軍手裡。在這之前，160°和167°大隊中的7架Re. 2001已平安飛到普利亞的盟軍機場了。 3:頁49\n1943年10月5日，加入盟軍之後的第一個任務由21°大隊(51°聯隊)飛往阿爾巴尼亞的夫羅勒和卡爾皮，還有希臘的帕拉米西亞(Paramythiá)和約阿尼納的機場，實施目視偵察。11月5日，Re. 2001和Mc. 202的混合部隊攻擊了停放在阿爾巴尼亞培拉特機場的德機。\n1944年5月，從21°大隊轉到101°潛水大隊(51°聯隊)後，Re. 2001最後的任務為支援南斯拉夫的游擊隊。7月，剩餘的機種遭除名，交付到萊可仕萊韋拉諾的飛行學校。\n二戰期間，雷賈那的戰機一直與其他二廠飛雅特、馬基競爭，即使不被義大利空軍所看好，它仍為地中海的天空做出了貢獻。\n3. Re. 2005 「射手座」 # 1942年，義大利空軍戰鬥機缺乏有生力量，即使安裝DB605引擎的系列戰機的開發工作已在1941年開始，卻沒有一家廠商的能上戰場。\n義軍不得不向德軍求援。在這之中的Re.2005 \u0026ldquo;Sagittario\u0026rdquo;「射手座」，是由雷賈那設計，外形優美的戰鬥機。\n遊戲《War Thunder》的Re. 2005 serie 0 Re. 2005開發過程 # Re.2005同飛雅特G.55、馬基C.205一樣為安裝德國「DB605」引擎的義大利戰鬥機，三者最後都接受了德國以及義大利的評估，其中Re. 2005被製造商雷賈那視為獲得訂單的好機會，為此還動員許多員工重新設計機身，火力提升到三門MG 151/20mm機砲 + 二門12.7mm SAFAT布雷達機槍，機身緊湊因而備彈量較少。\n測試時裝的是德國的DB605A，實際生產時改用品質稍差的飛雅特RA 1050 RC Tifone，同樣也是前者的授權生產版本。\n1941年以飛快的速度製造原型機，結果是5系列中最晚試飛的。\n1942年7月20日Re. 2005送到圭多尼亞，完成了6小時18分鐘的飛行，飛行次數17次。測試中心繼續評估性能，並進行了5次速度高達900kph的俯衝測試。最後一次俯衝時，起落架的整流罩被吹走。隨後退回到Reggio Emilia針對駕駛艙和起落架做修改。\n試飛員Tullio De Prato上校，他的薪資為140000里拉，還導致前試飛員Francesco Agello出走。 1:頁7\n1942年底，雷賈那只收到製造3架原型機的訂單，另再準備一架在地面測試用的樣機。1943年1月8日，義大利空軍將Re. 2005正式命名為「Sagittario」，引擎維持用數字稱呼。自第24架機身下部就有安裝掛架，3月5日預計將其當作戰鬥轟炸機使用。1943年4月12日左右，又來了18架「serie 0」的訂單，訂單增加到634架。\n雷賈那的預購訂單顯示8日時還有159架的訂單，但是軍方文件無此記錄，僅提到7月為600架+一些serie 0。雷賈那的資料可能只是預先準備而已。\n同時，雷賈那也要跟其它二廠爭奪DB605的供應。\n德國亦對Re. 2005感興趣，4月專門送了一具裝有VDM螺旋槳的DB605A來，雷賈那將其裝在第二架原型機上，在7300公尺飛出720km/h的速度。\n經過多次修改之後，1943年最終的結果是：不錄用，地位夾在易生產的MC.205和評價較好的G.55之間，Re. 2005為雷賈那1935年投入競爭以來，繼Re.2000、Re.2001後連續的敗北。\n附表: 義大利軍方對5系列戰機的評價排名(義英對照)。 1:頁36\nRe. 2005用於實戰 # 3月，16架Re. 2005 0 serie完成生產。4月，預先生產的18架陸續走下生產線。9月3日義大利投降之時，雷賈那共完成了16架 0 serie、30架預生產型，還有其餘750架正在組裝線上。\n儘管義大利軍方沒有正式採用，小批次製造的Re. 2005還是佈署到了前線，時間是1943年，正值盟軍登陸西西里島，準備反攻義大利。Re. 2005的主要任務，便是驅逐轟炸本土的盟軍轟炸機。\nRe. 2005的性能資料。 1:頁52\nRe. 2005登場的時候，正是盟軍入侵義大利的時候。飛行員們要擔負龐大前線作戰壓力，迎擊盟軍的戰鬥機和轟炸機。\n攔截B-24「解放者」轟炸機群\n駐紮在那不勒斯－卡波迪基諾的第362ᵃ飛行中隊，由Germano La Ferla上尉指揮，其中由少校Vittorio Minguzzi指揮的飛行22°大隊，是第一個運用，也是完全裝備Re. 2005的部隊。\n362ᵃ飛行員的合照，正中央可以看到隊徽。 1:頁18\n1943年4月4日以卡普阿機場做為基地，第一架編號為MM.494的Re.2005剛從測試廠房出來，便被派往攔截敵機。4月2日，20架義大利戰鬥機在伊斯基亞島附近發現一個B-24編隊，宣稱擊落二架，擊落敵機的其中一架就是少校Minguzzi所駕駛的Re. 2005原型機，他在報告中寫道：\n「這架戰鬥機最佳的飛行高度是7000~7500M，還能從美軍轟炸機的各個角度、各個方位反覆攻擊\u0026hellip;.因此我可以說即使是在7000M，操控性和速度依然良好。跟MC.202相比的話，MC.202攻擊一次，Re. 2005可以攻擊二次。然而也要注意節省子彈，因為持續開火時間越久，代表子彈也越快耗完。」\n因為引擎問題而在夜間迫降時，Minguzzi還要求原廠裝上降落指示燈。\n362ᵃ中隊Re. 2005的塗裝。 1:封面彩頁\n4月10日，Re.2005和馬基戰鬥機混編，昨天才第一次駕駛Re.2005的Giulio Torresi中尉獨自擊墜1架B-24，共同擊墜另外3架。Marcello Baccarà元帥、Armando Moresi中尉擊墜了二架B-24，Marcello的座機(MM.092343)被擊墜，本人後由漁船救回。12日，Tullio Arduini元帥擊傷一架B-24。\n28日，Re. 2005再次取得戰果。 4架Re.2005，11架C.202和1架D.520起飛攔截。為避免單架戰鬥機遭到機槍手集火，他們決定組成編隊，從機槍手的死角切入攻擊。針對四發轟炸機，Re. 2005會淺俯衝進行對頭射擊，滾轉到機背，從轟炸機下部俯衝而去，再重新爬升攻擊。Minguzzi、Donati、Torresi和另外一位飛行員擊墜了2架B-24，其中一架化成火球掉了下去，其餘的則是拖著尾煙。\n362ᵃ每月約能收到3~4架Re.2005補充。接下來曾協助比薩、拉丁納地區的防空，6月25日，362ᵃ剩餘的Re. 2005毀於空襲。\n與噴火交戰\n因應盟軍接下來的哈士奇行動，362ᵃ中隊約10架Re. 2005飛往卡塔尼亞。7月11日，在苦戰之下，Dilissano中尉被擊落，Torresi宣稱擊落1架和可能擊落1架。午後，5架Re.2005與111中隊的噴火交戰。 http://www.olddogsplanes.com/re2005.html\nEugenio Salvi中尉的Re. 2005對上噴火Mk.V，敵機繞到他的六點，Salvi試著俯衝，急轉，爬升，但噴火Mk.V仍死咬著他並開火，機身嚴重受損，就在他以為自己要死的時候那架噴火就消失了，或許是因為沒了子彈。在Enrico Salvi試圖將嚴重受損的機體飛回基地時，Luigi Nitolia中尉被擊落。\n存活的3名飛行員：La Ferla、Arduini、Vaghi中尉，宣稱擊墜1架噴火。\n中尉Giulio Torresi Wikipedia\n13日，Torresi在卡塔尼亞機場上空擊落了正在掃射Vaghi座機的噴火，這是唯一被英軍證實損失的架次。那架93中隊噴火是，機體編號ES282，飛行員是紐西蘭人FW Bridges，被俘後二度逃跑，24日跑回了他原本的單位。\n362ᵃ中隊發現不管在Fontanarossa、錫戈內拉、Finocchiara機場，都無法有效佈署作戰。因此7月14日La Ferla決定把地勤後撤，剩餘2架還能飛行的Re.2005由Arduini和Lucio Biagini軍士長飛離。\n1943年7-8月，英軍在卡塔尼亞—豐塔納羅薩機場所攝，362ᵃ中隊的戰機殘骸。 1:頁35\n慘澹的戰鬥\n7月15日，362ᵃ中隊在那不勒斯繼續作戰，隨後加入一架150ᵃ中隊的Re. 2005。但是那架由Guerrino Prodi元帥所駕駛的Re. 2005被盟軍戰鬥機擊落，至此150ᵃ中隊失去了最後一架Re. 2005，得不到補充，他們只好繼續飛Re.2001。18日，同樣的情況也發生在359ᵃ中隊，Ezio Dell\u0026rsquo;Acqua中尉的座機損壞。當天362ᵃ中隊收到4架Re. 2005，還有望在20日前從卡普阿補充6架戰機。 接下來幾天卻沒有任何戰果，2架Re. 2005在迫降中損失，其中一架為MM.495，即Minguzzi所駕駛的二號原型機。Minguzzi隨後被送往卡塞塔的醫院，由Enzo Sant\u0026rsquo;andrea上尉接任。24日4架Re. 2005盡數損壞。\n中隊的飛行員們只能利用一切能用的戰機，並且不管自己所屬的單位。8月12日369ᵃ中隊補充1架Re.2005，362ᵃ中隊6架，19日又來了3架。\n在盟軍大軍壓境之下，飛行員們仍繼續戰鬥。Re. 2005自試飛以來一直存在的機身後段強度問題重複出現。21日，3架受損。Biagini返航時，機身後段嚴重受損；Ugo Ibello中士在卡波迪基諾成功以機腹著陸，但隨後一架4./JG3的Bf-109 G6就與其相撞。25日又有4架損失。 在這之後，二架S.82運輸機分別帶著嚴重受損的Re. 2005返回Reggio Emilia。\n與Re. 2005相撞的Bf-109。 1:頁37\n俯衝超過988KPH\n情勢危及，早在8月25日，De Prato就在圭多尼亞進行俯衝測試，27、29、31日共做了3次俯衝。根據他在1950年的說法，在660KP/H真空速時機身會開始震動，歸因於尾翼的動態平衡不足。在經過適當的調整後，他俯衝速度達到了988KPH真空速，證實Re. 2005可以承受G力，但是他說「問題一而再的發生，全因為戰時不可抗力的調整所致。」雷賈那究竟有沒有修復問題，不得而知。\n9月8日，SUPERAERO下令22°大隊和其他單位為拉斯佩齊亞夜間出航的船隊提供護航，包含目的地的地圖都已在8月26日送達。但是飛行員們決定自行破壞他們的戰機。在英軍進入那不勒斯，來到卡波迪基諾時，只看見燒毀的Re.2005殘骸。\n德軍的Re. 2005\n9月義大利投降後，德國將雷賈那的8架Re. 2005裝上德製的節流閥，10月送往德國。截至1944年1月為止，德國的Re.2005最多不超過32架，其中包含2架原型機、29架\u0026quot;serie 0\u0026quot;、1架由實驗部門生產的\u0026quot;serie 1\u0026quot;，有傳聞指後續參與了柏林保衛戰。\n證據為以下二張照片，出現在德國第二航空艦隊照相部門所印製的義大利戰機識別手冊裡，但是拍攝日期、所屬單位和機體編號皆不明。 1:頁43\n在義大利的Flieger Ziel Staffel 20擁有至少5架Re. 2005。1943年至1944年夏天曾在馬尼亞戈工作的Isacco Vallerugo Scarton回憶說，春夏之際每天早上7點前都會有德軍機徽的Re. 2005低空飛過。\n也有資料認為，Re.2005根本不曾離開過義大利。墨索里尼在北部成立的義大利社會共和國使用Re. 2005的記錄只有2架。投降後加入盟軍的義大利聯合交戰空軍則沒有運用的記錄。\nRe. 2005其餘改型 # 嘗試賣給瑞典\n雷賈那得知瑞典J.21的研發緩慢，試圖繼續向瑞典交涉，瑞典已取得DB605的生產許可。原本想賣授權外加50架機體給瑞典，但是被SUPERAERO投票改成只能出口無武裝無引擎的2架Re. 2005。即使在6月9日由墨索里尼本人駁回，也為時已晚。\n木製版Re. 2005\n只製造了機翼和機體，計畫停留在初步階段。\n雙座版Re. 2005\n外型類似Bf-109Z。1942年12月的一份三視圖是此設計存在的證據，只停留在初步階段。 https://www.secretprojects.co.uk/threads/italian-twin-fuselage-fighters.3596\n艦載版Re. 2005\n1943年航母「Aquila」的航空工程師Giovanni Pegna所提出，預計將Re. 2005和G.55做為第二代的艦載機，只有構想。\n遊戲《艦隊Collection》的Re. 2005改 對Re. 2005的評價 # 1943年2月，德國試驗委員會被派到義大利評估義大利飛機性能。對於G.55，德國委員會最終的評價是「卓越excellent」，對於Re.2005的評價是「較好good」，對於MC.205的評價為「一般average」。Oberst Petersen將G.55定義為「軸心國最好的戰鬥機」。\n在萊希林測試時，德國人發現Re. 2005爬升與Bf109G-14一樣好，轉彎能力接近噴火Mk.IX，未開襟翼迴轉半徑195m，襟翼全開148m。結論認為「曲線良好，滾轉率接近Bf-109G-4踩舵」。據說在義大利投降後，德軍帶走了一部份義大利戰鬥機，其中就包含Re. 2005。\n1943年3月，慶祝義大利空軍成立20週年。義大利國王伊曼紐三世參訪Furbara。照片左邊的是Re. 2005二號原型機。 1:頁17\n戰後，據說在1946年11月15日 ～ 24日在美國克里夫蘭舉辦的國家航空展(National Air Show)中，展示了一架擄獲的Re. 2005，被稱為「軸心國最美麗的活塞引擎戰機」。\n曾在英國空軍獲得傑出服務勳章和傑出飛行十字勳章的上校Duncan Smith，對Re. 2005很是讚揚：\n「Re. 2005『射手座』是一架強大的戰機。與其中一架交手過後，我認為要是義大利或是德國有幾個中隊，在馬爾他或西西里裝備此種戰機的話，我們的噴火將會陷入苦戰。高速，又有絕佳的機動性，Re. 2005就是一架這麼厲害的戰機。 不論是MC. 205還是Bf109G都比不上它的機動性和爬升能力。我認為這是義大利所生產最棒的戰機。很可惜沒有一架Re. 2001/2005存活到現在，他們可謂是義大利工藝的代表。」\nRe. 2005擅長格鬥、速度不快，高空性能最好、機身結構漂亮且緊湊所以脆弱、生產性非最佳、備彈量太少。雖然有二個飛行員的證詞佐證，但是也有被追著打的Re. 2005，可能跟駕駛技術也有關係。\n在義大利當時的選擇中，G.55是各種因素綜合衡量下最適合的機種。\n4. 雷賈那公司其他Re. 系列戰機 # 看完主要型號，讀者可能會疑惑，Re. 2002、Re. 2003和Re. 2004到哪去了？ 而且其實還有Re. 2006和Re. 2007的計畫！這部分告訴你。\nRe. 2002 \u0026ldquo;Ariete\u0026rdquo;\n在1940年，同一時間，在工程師Roberto de Longhi的領導下開始Re. 2002的設計工作，此型主要用於對地攻擊，除引擎外都與Re. 2001十分相像。他選用了仍在測試中的14缸Piaggio P.XIX R.C.45 Turbine-B氣冷引擎，出力1175hp。考慮到引擎可能會延遲交貨，所以也測試過裝備出力1600hp的德國BMW 801氣冷引擎。\n翼下可外褂油箱和160kg炸彈，或在機腹下掛一枚650kg。航程達到1100km，但是速度只有417km/h，爬升能力亦下降了不少。\n義大利空軍發來300架訂單，此前雷賈那已在生產第一批的200架次，在1943年9月義大利投降前只建造了48架。雷賈那亦考慮生產艦載機版本的Re. 2002，隨著羅馬計畫的破滅而取消。 在義大利投降後，德國將一部分遷到國內繼續生產，用於對抗法國的反德游擊隊。 2:頁41\n1944年1月晚間，盟軍轟炸雷賈那在Reggio Emilia的工廠，使得Re. 2002的後續開發終止。不過，其他卡普羅尼的公司仍在持續生產Re. 2002。\n1943年義大利投降後，8月加入盟軍的「義大利聯合交戰空軍」(Co-Belligerent Air Force)擁有40架Re. 2002，編成為戰鬥轟炸機大隊，1943年末至1944年初於義大利北方支援反法西斯游擊隊。\n1944年3月9日，9架Re. 2002對南斯拉夫的杜布羅夫尼克的煉油廠發起攻擊，幾個月後也對靠近阿爾巴尼亞，斯克拉丁(Skradin)附近的一座橋發起小規模攻勢，1架未歸。 9架Re. 2002在戰鬥中損失，15架因為機械問題待在地上行動不能。 1944年6月15日剩餘的15架Re. 2002被送到萊韋拉諾的飛行學校，幾個月後便因狀況不良而棄置在地面上。\n遊戲《War Thunder》的Re. 2002早期型 Re. 2003\n1942年由Re. 2002發展來的偵察機型，用於取代IMAM Ro.37，改為雙座和裝上照相機，引擎為Piaggio P. XI RC 40 Bis，出力1175hp，最大速度516km/h。義大利空軍因為盟軍空襲日益猛烈，放棄200架的訂單轉心生產戰鬥機，最終只生產了1架。 Wikipedia\nRe. 2004\n為因應DB605的產量問題，只製造了一架原型機，之後Re. 2005便完成了。 其裝備的是特殊的X型結構，24缸 Isotta-Fraschini Zeta R.C.24引擎，出力1250hp，最大速度620km/h，存在著過熱問題。 1:頁6\nRe. 2006\n裝上較大DB603引擎的Re. 2005，1943年總部的工廠被炸毀後，一部分部件藏到科雷吉歐的某間高中裡面，完成了一架原型機，卻沒有落入德軍手裡。此項計畫一直沒有向大眾公開。1946年，英國皇家空軍的人員對其做了些調查，但因損壞且價值不高而沒有試飛，一部分的起落架零件現在保存在米蘭的Museo della Scienza e della Tecnica博物館。 1:頁27\nRe. 2007\n噴射機型，關於它的存在眾說紛紜。\n雷賈那的工程師Roberto Longhi在1976年5月寫給航空雜誌JP4的信中寫到，義大利空軍上校Antonio Ferri要求他研究給Re. 2005改裝的方案，即在駕駛座後方再安裝一具Fiat A.20引擎，控制壓縮機，增加DB605的輸出功率，機尾還能裝設一個排氣口獲得更大推力，也就是往「熱噴射引擎戰機」的嘗試。義大利空軍參謀總部將其稱為「Re. 2005 R」。該計畫只停留在紙上，且Longhi本人也說該機會有重心問題。\n另一種改裝方案就是直接裝上德國的噴射引擎，但就算是Antonio Alessio和卡普羅尼發出請求，德國只送了一個木製樣品作於測試。\n戰後，Longhi想繼續測試德國留在烏迪內機場的二具Junkers Jumo 004，可惜的是那二具引擎的買主是它廠Angelo Ambrosini。 戰後開始出現一些由飛機設計師Pellizzola根據雷賈那工程師的敘述所繪製的Re. 2007圖畫，最大的特徵就是1950年代各國噴射機先後採用的後掠翼設計。\n也有一些義大利雜誌刊物傳言說，Re. 2007的各個部件和設計圖被送到英美研究。現在的觀點認為這比較像是把不同的資料所拼湊在一起造成的錯誤，甚至Re. 2007可能根本就不存在，因為還有Re. 2008的存在一說。\n遊戲中登場的Re. 2001和Re. 2005 # 遊戲《War Thunder》自從義大利線從德國線分離後，Gaijin就逐漸完善型號。從Re.2000一直出到了Re.2005，最終的Re.2005擁有不錯的機動性和強大的火力，於是分房一直不斷往上升(淚目)，在義大利戰鬥機三家廠商的科技樹當中，Reggiane公司的產品研發線算短的。\nRe. 2005跟其他的「5」系列在遊戲中實際比較，速度較G.55慢，但是很能轉，機體也比較脆，但總比MC.205好。在Re. 2005前的只有Re. 2001.CN有一戰的實力，主要還是靠外掛的二根151在纏鬥中擊敗對手。在War Thunder中，Re. 2005可說是新一代義大利豪傑。\n至於在遊戲《艦隊Collection》中實裝的機種如下：\n艦載型 Re. 2001 O.R.改\n戰鬥魚雷機型 Re. 2001 G改\n戰鬥轟炸機型 Re. 2001 C.B.改\n艦載機型 Re. 2005改\n對航母來說，戰爆攻可以說是三樣齊全了。\n在艦隊Collection中，跟義大利航母有淵源，Re. 2001和Re. 2005便跟著Aqulia一起到了鎮守府。\n參考資料 # 參考資料\u0026amp;翻譯\u0026amp;圖片來源(文中圖片除網路圖片外，按編號:頁數方式註明)\nSquadron Signal - Aviation - In Action - 1177 - Reggiane Fighters Reggiane Re 2000 Falco Heja J.20 - Aviolibri Special 6 Ali d\u0026rsquo;Italia 3: Reggiane Re 2001 Ali d\u0026rsquo;Italia 16: Reggiane Re 2005 Reggiane fighters: Pagina di ingresso http://www.reggiane.info Wikipedia ","date":"2019年10月7日","externalUrl":null,"permalink":"/posts/reggiane-re-2001-series/","section":"Histories","summary":"二戰時期，預定搭載於義大利海軍天鷹號（Aquila）航母艦載機的人選之一，就是雷賈那公司的「Re.2001」系列戰鬥機及其衍生型。但是，Re.2005還沒到艦載機測試階段，義大利就投降了。即使擁有最美麗的外型，雷賈那公司的飛機卻始終不受義大利空軍青睞。 https://www.super-hobby.be/products/Re-2005.html\n本文將描述雷賈那公司各型號飛機的歷史，包括從最初的「Re. 2000」，到最後的傑出之作：「Re. 2005」的發展過程。\n1. 雷賈那公司的成立 # 雷賈那（Officine Meccaniche Reggiane SpA）公司成立於1901年，總部位於Reggio Emilia。 https://commons.m.wikimedia.org/wiki/File:Logo_Reggiane.svg\n母公司是卡普羅尼（Società Caproni e Comitti），沒錯，就是在宮崎駿2013年電影《風起》當中登場的原型人物所擁有的集團。 https://ghibli.fandom.com/wiki/Giovanni_Battista_Caproni\n時間來到1938年，當時義大利航空部在空軍內部推行《Programme R》計畫，主要是進行一系列的技術改進。在當時，預計採用的新型戰機都已進入原型機階段，或是將做進一步升級。例如飛雅特（Fiat）G. 50和馬基（Macchi）C. 200。\n在眾多競爭者之中，只有雷賈那公司的Re. 2000 「鷹式」 (Falco) 是專門針對R計畫所設計的戰機。\n2. Re. 2000 「鷹式」 # Re. 2000研發過程 # 起初雷賈那是想生產美國授權的機種，但在卡普羅尼的干涉下決定自行研發，即為「Intermediate Generation」、「O series」戰鬥攔截機 [1:頁6]\n","title":"二戰義大利Reggiane系列戰鬥機介紹：Re.2000、Re.2001、Re.2005","type":"history"},{"content":"FGO動畫化的第一篇是：第一章最後一個特異點「絕對魔獸戰線；巴比倫尼亞」，預計21集，10/5開播。\n今日24日，日本舉行先行上映會，台灣各大院線也同步衛星直播，票價台幣1000元，特點是一張吉爾迦美什(Caster)的帥照。 先行放送0～2集，第0集動畫，劇情就到與吉爾迦美什見面為止。\n一個小時半放映完後是聲優talk。瑪修的聲優高橋李依也有透過鏡頭向台灣的觀眾打招呼~\n北美版PV 參與製作的有A-1 Pictures和CloverWorks。\n看完之後，在作畫方面保持穩定的水準，人物的配件沒有變形，可是幾乎是平塗，大多數人物在正面站立的時候形象就顯得沒畫完、沒陰影。這點在PV和第0集都可以看的出來。所幸在關鍵鏡頭水準就體現了出來，瑪修認真的眼神，還有恩奇都與Lancer美杜莎的戰鬥分鏡可說是魄力有到位。恩奇都「變臉」的表現僅僅是切換了聲線，不夠陰險。 在梅林解說完後，芙芙沒有像遊戲裡一樣爬樹，而是筆直使出牙通牙，撞向梅林的臉。\n聲優官智一後來也說那個分鏡很像神奇寶貝。 古美索不達米亞地區的樣貌，動畫使用3D呈現，水流這樣做卻很好呈現出古代荒野的感覺，運鏡上可以想成是FGO遊戲裡背景的那種水平旋轉方式。\n魔物遠看使用3D不會明顯，但是在巴比倫的魔獸圍攻過來就顯得突兀了。\n當然主要女角也有特寫，瑪修降落時使用的卡美洛城，藤丸立香直接摟著腰，伊斯塔的射擊也出現類似布拉達曼特對屁屁的特寫，安娜被恩奇都扒開斗篷後也是一絕。\n最明顯的問題還是，人物臉都是同一個畫風，就是跟原作許多繪師的比起來，人物除非是特寫眼睛否則都沒有特色。 很期待迪亞瑪特會長怎樣。\n票價就算是半單的價格，16日開賣時，高雄場中間的位置都被搶完，今天從屏東搭車到高雄，到場時才發現沒有坐滿，大部分人都集中在後方。在我後排還有日本人整場一直討論劇情。或許是因為就這麼一場吧，又是平日，贈品不知是曼迪還是智冠爭取到的，直播品質沒有缺失，第一集就有的電影版震撼配樂很適合影廳播放。順便說，我的日文只有N5不到的程度，只夠聽懂單字，聲優滔滔洪水的談話我只能跟著觀眾一起尷尬地笑。\n","date":"2019年9月24日","externalUrl":null,"permalink":"/posts/fate-grand-order-babylonia-premiere/","section":"所有文章","summary":"FGO動畫化的第一篇是：第一章最後一個特異點「絕對魔獸戰線；巴比倫尼亞」，預計21集，10/5開播。\n今日24日，日本舉行先行上映會，台灣各大院線也同步衛星直播，票價台幣1000元，特點是一張吉爾迦美什(Caster)的帥照。 先行放送0～2集，第0集動畫，劇情就到與吉爾迦美什見面為止。\n一個小時半放映完後是聲優talk。瑪修的聲優高橋李依也有透過鏡頭向台灣的觀眾打招呼~\n北美版PV 參與製作的有A-1 Pictures和CloverWorks。\n看完之後，在作畫方面保持穩定的水準，人物的配件沒有變形，可是幾乎是平塗，大多數人物在正面站立的時候形象就顯得沒畫完、沒陰影。這點在PV和第0集都可以看的出來。所幸在關鍵鏡頭水準就體現了出來，瑪修認真的眼神，還有恩奇都與Lancer美杜莎的戰鬥分鏡可說是魄力有到位。恩奇都「變臉」的表現僅僅是切換了聲線，不夠陰險。 在梅林解說完後，芙芙沒有像遊戲裡一樣爬樹，而是筆直使出牙通牙，撞向梅林的臉。\n聲優官智一後來也說那個分鏡很像神奇寶貝。 古美索不達米亞地區的樣貌，動畫使用3D呈現，水流這樣做卻很好呈現出古代荒野的感覺，運鏡上可以想成是FGO遊戲裡背景的那種水平旋轉方式。\n","title":"到高雄觀賞先行上映的FGO動畫《絕對魔獸戰線巴比倫尼亞》","type":"posts"},{"content":" 在FGO台服開新的亞種特異點前破完第三亞種特異點，為了練從者連Free Quest也全破了，沒事幹因此入坑FGO日版。\n日版不能在多裝置登錄有點麻煩，所以最終是選擇裝在備用的iPhone SE上，反正FGO是超省電的遊戲，小電量的SE也可以連續開著三小時。\n有了台服的經驗，入坑日版follow到庫夫林(Berserker)大腿，再加上抽到泳裝信長和清姬，從第一章砍到第七章。\n主線拿到的石，配合限時的每日登錄獎勵的石頭，一週大約120抽的結果是：泳裝信長x3，魔王信長x2 什麼嘛，無心才是最重要的啊，一開始我不知道魔王信長就是活動裡的那三個NPC的合體，不知不覺就中了。挖哩勒，台服課了3000也沒拉美西斯二世，只有達文西和唐三藏。\n同時，大量的群雄割據禮裝對這個新手帳來說是不錯的戰力，可以提供40%起始AP。\n不過實際上，打完本能寺之前都只有用泳裝信長和清姬配合大腿，練度大約是一破左右。\n活動起始會擁有4項資源，打一次FQ就會按照生產力增加數值，主線進擊要有足夠資源才可以挑戰。比較佛心的是，挑戰失敗不扣資源。\n特別的還有適役關卡，需打招募的關卡加入新的NPC後，在關卡出戰會提供強力效果加成，否則像一次回血20萬的大Nobu是很難平推死的。 裝備禮裝可提供100%攻擊加成，讓好友solo清掉Free Quest也不是難事。\n說說劇情，可能我日文只有N5程度，還是能看懂一點。在這個小特異點裡，笑到你心裡發寒，武內崇臉的長尾景虎最後竟然沒有叛變；11日才開的後半關卡，丟在特異點內忘記帶回來的沖田Alter變成第二個Boss。 馬克士威的惡魔作為最終Boss，擁有的能力也只是回血和超廢的機率性迴避。柴田勝家還比較恐怖。 馬克士威的惡魔可能會實裝，寶具看起來很有趣，無限魔力啊\u0026hellip; 新的Avenger版本信長，抽到之後才知道，原來一個從者能有3種截然不同的卡面。不過說實在，原本的信長形象就很可愛了，魔王信長我不行。\n信長Avenger的評價，感覺技能組是配合信長系列比較有用，神性特攻的全體寶具，會燒傷自己的紅魔放。靈基材料也不貴，可是就協助隊友來看，泳裝信長的二技比較有用。\n問題果然還是卡面。\n","date":"2019年9月24日","externalUrl":null,"permalink":"/posts/fgo-event-gudaguda-final-honnoji-2019/","section":"所有文章","summary":" 在FGO台服開新的亞種特異點前破完第三亞種特異點，為了練從者連Free Quest也全破了，沒事幹因此入坑FGO日版。\n日版不能在多裝置登錄有點麻煩，所以最終是選擇裝在備用的iPhone SE上，反正FGO是超省電的遊戲，小電量的SE也可以連續開著三小時。\n有了台服的經驗，入坑日版follow到庫夫林(Berserker)大腿，再加上抽到泳裝信長和清姬，從第一章砍到第七章。\n主線拿到的石，配合限時的每日登錄獎勵的石頭，一週大約120抽的結果是：泳裝信長x3，魔王信長x2 什麼嘛，無心才是最重要的啊，一開始我不知道魔王信長就是活動裡的那三個NPC的合體，不知不覺就中了。挖哩勒，台服課了3000也沒拉美西斯二世，只有達文西和唐三藏。\n同時，大量的群雄割據禮裝對這個新手帳來說是不錯的戰力，可以提供40%起始AP。\n不過實際上，打完本能寺之前都只有用泳裝信長和清姬配合大腿，練度大約是一破左右。\n活動起始會擁有4項資源，打一次FQ就會按照生產力增加數值，主線進擊要有足夠資源才可以挑戰。比較佛心的是，挑戰失敗不扣資源。\n特別的還有適役關卡，需打招募的關卡加入新的NPC後，在關卡出戰會提供強力效果加成，否則像一次回血20萬的大Nobu是很難平推死的。 ","title":"入坑FGO日版，抱大腿打完「オール信長総進撃 ぐだぐだファイナル本能寺2019」","type":"posts"},{"content":"1/72フルアクション vol5 スピットファイアMk.9\nF-Toys 2019年2月所出產的盒玩，放置許久現在才組起來\u0026hellip;價格大約台幣400元。 Spitfire Mk.IX是二戰英國皇家空軍的主力噴火式戰鬥機的一個著名型號，這裡使用的是Merlin發動機的早期版本，稱之為「小噴九」。後期尚有換裝性能更強Griffon發動機的版本，稱之為「大噴九」。 我買到的應該是屬於這個中隊的：Supermarine Spitfire Mk.IX \u0026ldquo;Joan\u0026rdquo; RF-M (BS451) 303 Squadron (下面是同一個中隊但不同架的示意圖，來源)) 首先是組好引擎，綠色的軸承架一併先安上去。 小噴九使用的引擎是勞斯萊斯梅林61 接著是駕駛艙，引擎與儀表板中間夾的白色箱子是油箱。 細節部分，儀表板已經簡單的上了色。同時也有附上瞄準鏡的零件。 也有提供座艙罩頂端的後照鏡零件。 噴九使用的翼型是C型翼，常見的武裝就是7.7mm機槍x4 + 整天故障的西斯帕諾20mm機砲x2。西斯帕諾砲管應該是長到伸出機外的，不過因為外部還有包一層保護砲管的皮，所以F-Toys就直接把外面的零件做死了。 組裝完機身後，最後裝上散熱器。水冷散熱器的內部紋路有刻劃出來，不錯。比較長的油冷就沒有。\n早期噴火是一邊水冷散熱器，一邊油冷卻器。到噴9才改成跟Bf-109一樣掛二個在下面，但是梅塞施密特能把冷卻器做的更為扁平。 噴火的尾輪是不能收起來的。 完成，無塗裝的樣子。 從附屬的4款水貼，我選擇了來自波蘭的303飛行中隊的樣式。\n關於他們的隊徽，一開始貼成十字型的，後來對照一下照片才調整成真正的樣子。雖然很小，但是仍是能看出是二把黑色斧頭，參照本文第二張圖。 噴火的襟翼，自始至終都只有起飛一個檔位。 噴火的起落架是內八的，跟Bf-109一樣，但是翼載輕所以不是大問題。 噴火與Fw-190的對比~ 二者都只有起飛一個檔位，儘管Fw-190滾轉比噴火要好，噴火還是能足以應付。皇家空軍其實也搞過像零戰32型的剪裁翼型來對抗。 與遙遠日本的二者迴轉鬼神來比，噴火轉不贏但至少還有速度。 這次搞砸的地方就只有機翼塗裝又被模型膠沾到了，導致顏色糊掉，不過水貼遮住了一部分。\n","date":"2019年9月4日","externalUrl":null,"permalink":"/posts/f-toys-1-72-scale-full-action-vol-5-supermarine-spitfiremkix/","section":"Artworks","summary":"1/72フルアクション vol5 スピットファイアMk.9\nF-Toys 2019年2月所出產的盒玩，放置許久現在才組起來…價格大約台幣400元。 Spitfire Mk.IX是二戰英國皇家空軍的主力噴火式戰鬥機的一個著名型號，這裡使用的是Merlin發動機的早期版本，稱之為「小噴九」。後期尚有換裝性能更強Griffon發動機的版本，稱之為「大噴九」。 我買到的應該是屬於這個中隊的：Supermarine Spitfire Mk.IX “Joan” RF-M (BS451) 303 Squadron (下面是同一個中隊但不同架的示意圖，來源)) 首先是組好引擎，綠色的軸承架一併先安上去。 小噴九使用的引擎是勞斯萊斯梅林61 接著是駕駛艙，引擎與儀表板中間夾的白色箱子是油箱。 細節部分，儀表板已經簡單的上了色。同時也有附上瞄準鏡的零件。 也有提供座艙罩頂端的後照鏡零件。 噴九使用的翼型是C型翼，常見的武裝就是7.7mm機槍x4 + 整天故障的西斯帕諾20mm機砲x2。西斯帕諾砲管應該是長到伸出機外的，不過因為外部還有包一層保護砲管的皮，所以F-Toys就直接把外面的零件做死了。 組裝完機身後，最後裝上散熱器。水冷散熱器的內部紋路有刻劃出來，不錯。比較長的油冷就沒有。\n早期噴火是一邊水冷散熱器，一邊油冷卻器。到噴9才改成跟Bf-109一樣掛二個在下面，但是梅塞施密特能把冷卻器做的更為扁平。 ","title":"小噴九 超級馬林 Spitfire Mk.IX 可動模型 ｜ F-Toys 1/72 FullAction Vol.5","type":"artwork"},{"content":"以日版的實裝年度來算，2018年年初是新年，也是異聞帶強襲的日子。台版選擇了2019年8月1日做為新年。\n實裝的一系列新年禮裝之中，有一張是出自官方吐槽漫畫リヨ之手的《幸福是一隻溫暖的小狗》\n日文稱作幸せとは温い子犬，英文翻譯成Happiness is Like a Warm Puppy\n從卡面來看，是：真，被狗幹！ No.706\n幸福是一隻温暖的小狗\n幸せとは温い子犬\n效果：關卡通關時獲得的QP增加2019。關卡通關時獲得的QP增加2019＆賦予自身傷害減免19的狀態[最大解放]\n玩家一致認同是在向1960年4月25日史努比漫畫的一句話致敬: Happiness is a warm puppy https://peanuts.fandom.com/wiki/April_1960_comic_strips\nLucy抱住史努比的畫面，便成了1962年首刷的書的封面，2011年再版。意涵為在生活中都能簡單的找到幸福。 史努比是很可愛的一個文化象徵，奈何我實際上沒怎麼深入讀過。報紙上常常見到跟加菲貓刊在一起，比起用語辛辣的肥貓，史努比的漫畫常常是很平淡的笑點。\n所以實際上，看的卡面這句話我想到的，反而是披頭四在白色專輯(絕對不是相簿，白學退散)的曲子: 〈Happiness is a warm gun〉\n《the Beatles》，又稱《White Album》，1968年發行，2018年發行remaster版本，是披頭四樂團收錄歌曲最多的一張專輯。 約翰藍儂：\nHappiness, is a warm gun, bang, bang , shoot, shoot!\n這首歌是披頭四複合主題的代表。\n就曲名來說，起源於喬治馬丁給藍儂看的一本美國來福槍協會出版的雜誌，封面標題就是 \u0026ldquo;Happiness is a warm gun\u0026rdquo;\n約翰藍儂回憶道：\n「照片上的槍剛發射出去，男人正吸著煙。你知道嗎？我當時覺得『哇，真妙』幸福是一把溫暖的槍，實際意涵就是槍才剛射到了人或什麼上面，我覺得實在是太讚了，很是瘋狂。」\n1968年五月號出版的《American Rifleman》，標題很有可能就是來自於上述史努比的書。諷刺的是，眾所皆知，1980年代末，藍儂最後死於槍下。 http://www.beatlesebooks.com/warm-gun\n在2007年的電影《愛是唯一》裡面，也有翻唱版本的〈Happiness is a warm gun〉。 這首歌我十分喜歡，個人認為在白色專輯中，是跟〈While My Guitar Gently Weeps〉一樣的代表性作品。\nShe\u0026rsquo;s not a girl who misses much.\n台服新年福袋抽獎結果，8/1凌晨4點，前往台北漫博看FGO展的時候，抽到狂金時。\n同時，葛飾北齋池單抽就出。 11點在漫博會場的召喚桌旁一次十連，寶二。這個裝置藝術真的有加成耶。 真是驚人的結果，用的是福袋課剩下來的石頭抽的，然後就中了，不花一毛錢（對比之前抽阿比蓋爾花了好幾千\u0026hellip;\u0026hellip;）。反而新年任務送的呼符全部爆炸。\n漫博會場的攤位的東西挺好拿的，半天就完成了，不過沒拿到限定紀念杯子，排隊太多人了。 今天的收穫，一毛錢都沒花。 ","date":"2019年8月1日","externalUrl":null,"permalink":"/posts/fgo-craft-essence-happiness-is-like-a-warm-puppy-explain/","section":"Musics","summary":"以日版的實裝年度來算，2018年年初是新年，也是異聞帶強襲的日子。台版選擇了2019年8月1日做為新年。\n實裝的一系列新年禮裝之中，有一張是出自官方吐槽漫畫リヨ之手的《幸福是一隻溫暖的小狗》\n日文稱作幸せとは温い子犬，英文翻譯成Happiness is Like a Warm Puppy\n從卡面來看，是：真，被狗幹！ No.706\n幸福是一隻温暖的小狗\n幸せとは温い子犬\n效果：關卡通關時獲得的QP增加2019。關卡通關時獲得的QP增加2019＆賦予自身傷害減免19的狀態[最大解放]\n玩家一致認同是在向1960年4月25日史努比漫畫的一句話致敬: Happiness is a warm puppy https://peanuts.fandom.com/wiki/April_1960_comic_strips\nLucy抱住史努比的畫面，便成了1962年首刷的書的封面，2011年再版。意涵為在生活中都能簡單的找到幸福。 史努比是很可愛的一個文化象徵，奈何我實際上沒怎麼深入讀過。報紙上常常見到跟加菲貓刊在一起，比起用語辛辣的肥貓，史努比的漫畫常常是很平淡的笑點。\n所以實際上，看的卡面這句話我想到的，反而是披頭四在白色專輯(絕對不是相簿，白學退散)的曲子: 〈Happiness is a warm gun〉\n《the Beatles》，又稱《White Album》，1968年發行，2018年發行remaster版本，是披頭四樂團收錄歌曲最多的一張專輯。 ","title":"FGO與披頭四，禮裝雜談～幸福是一隻溫暖的小狗","type":"music"},{"content":"","date":"2019年8月1日","externalUrl":null,"permalink":"/tags/the-beatles/","section":"標籤","summary":"","title":"The Beatles","type":"tags"},{"content":"想到劇情是跟披頭四有關的電影就去看了，劇情就是披頭四一夜之間消失，主角靠唱他們的歌從默默無聞到最後差點發大財，但為了女朋友決定放棄一切。\n靠譜歌王(Yesterday)是2019年上映的英國搞笑電影。推薦對披頭四作品有深入認識的觀眾去聽看看，品嚐其中幽默。 預告片：\n片子的名稱叫做「Yesterday」，出自保羅·麥卡尼的名曲，在這部電影裡面也是一個雙關語，一場停電之後世界都不一樣了。中文版翻譯也很有趣，譯者選了「靠譜」這個中國流行語，用來表示這個歌手很厲害，卻又告訴大家他是背譜才會紅的XDD\n出現的披頭四歌曲梗 # 在這之前我已觀賞過1960年代披頭四的一系列電影: 《A Hard Day\u0026rsquo;s Night》、《Help》、《Yellow Submarine》、《Magical Mystery Tour》，這些電影的評價除了潛水艇外都不高，不過最重要的點就是英國式幽默。\n靠譜歌王裡，傑克在牙齒被撞斷後，牙醫說了句With A Little Help From My Friend\n對樂手說吉他要gently weeps；在主角要被車撞到前，背景音樂模仿了A Day In My Life的副歌。\n此外，電影裡披頭四歌曲大多就是由主角自己唱出來，很少偷偷藏在背景裡。\n當然這些算小細節部分，看字幕不容易察覺。\n為什麼說這部普普，主要是主角的愛情線，演藝圈的醜態呈現。\n一夜之間成名，女友就離他而去，就像是波希米亞狂想曲的佛萊迪那樣，以事業為重。導演呈現場景呈現的太淺白，張力不夠，分手的場合是車站，Moron的朋友拿了一堆薯片就拖他上飛機了。主角被綠了之後又拖女友上台告白，最後追回來，放棄事業，歌曲免費開源。\n在美國經紀人要詢問他願不願意嚐這口毒酒，馬上答應出唱片。從製作人到經紀人的行銷嘴臉都演得太刻意，就是一個強行諷刺的手法。\n不過有一點比較奇怪的，歌曲那些藝人都覺得很好，可是歌名和專輯好像就挺有意見的，像Ed Sheeran建議改的Hey Dude，不然就是嫌棄主角提的專輯名稱選項。\n談到披頭四歌曲的相關運用，在痛苦時唱Help，跟女友結婚後了之後唱Oladi Olada，來莫斯科唱Back in the USSR，算是本片用得好的點，用歌曲表現自己的處境剛剛好。為了回想起當年Eleanor Rigby作曲的情境前往利物浦取材也是個不錯的構想，還在飯店屋頂開演唱會，學披頭四解散前做的事。\n這個世界線，披頭四的殘存成員Paul和George，額，到底是出來幹嘛的，出來講這些歌是他們寫的，結果遭致觀眾嘲笑。\n最後面感到迷茫的時候，78歲藍儂給的建議還比較有用。我想看到這一幕，許多藍儂粉絲應該快哭出來了，你本應該活到現在的\u0026hellip;..QQ 可惜的是最後在台上跟大家隨口說我這些歌都是冒用之後，沒有再表演一次他唯一一首的自創曲「夏日之歌」。大概彈下去就真的會被轟下去了。\n總結 # 總結來說，導演拍的鏡頭安排上都刻意在拍一個時間點，成名→馬上自白，沒有足夠時間醞釀，為什麼成名會使他萌生壓力(在電視牆前走的意象？)，為什麼女友離別會痛苦，讓主角在一個場景下，淋個雨也好(？)，這些不好的點，使得這個特別的構想毀於故事說不好的劇作家。 變成一部虎頭蛇尾的小品喜劇。\n除了運用披頭四的歌來述說自己的問題外，好的點大概是主角有英國腔會讓我隱約覺得講話有幽默成分在。至於那些跟著消失的東西，好像不是重點。\n這是平凡激起一陣小波浪後又回復平靜的簡單愛情小故事。\n","date":"2019年7月5日","externalUrl":null,"permalink":"/posts/yesterday-2019-review/","section":"Reviews","summary":"想到劇情是跟披頭四有關的電影就去看了，劇情就是披頭四一夜之間消失，主角靠唱他們的歌從默默無聞到最後差點發大財，但為了女朋友決定放棄一切。\n靠譜歌王(Yesterday)是2019年上映的英國搞笑電影。推薦對披頭四作品有深入認識的觀眾去聽看看，品嚐其中幽默。 預告片：\n片子的名稱叫做「Yesterday」，出自保羅·麥卡尼的名曲，在這部電影裡面也是一個雙關語，一場停電之後世界都不一樣了。中文版翻譯也很有趣，譯者選了「靠譜」這個中國流行語，用來表示這個歌手很厲害，卻又告訴大家他是背譜才會紅的XDD\n出現的披頭四歌曲梗 # 在這之前我已觀賞過1960年代披頭四的一系列電影: 《A Hard Day’s Night》、《Help》、《Yellow Submarine》、《Magical Mystery Tour》，這些電影的評價除了潛水艇外都不高，不過最重要的點就是英國式幽默。\n靠譜歌王裡，傑克在牙齒被撞斷後，牙醫說了句With A Little Help From My Friend\n對樂手說吉他要gently weeps；在主角要被車撞到前，背景音樂模仿了A Day In My Life的副歌。\n此外，電影裡披頭四歌曲大多就是由主角自己唱出來，很少偷偷藏在背景裡。\n","title":"《靠譜歌王》靠翻唱披頭四歌曲打天下，需要一點幽默才能理解笑點","type":"review"},{"content":"最近看到田中出了奇怪的「夜戰型九七式艦攻」想吐槽一番，但想想還是算了。先翻譯點有用的東西吧，就針對F6F-5N的機載雷達和夜戰航母做翻譯。\n《艦隊Collection》出的美國夜戰機種有F6F-5N和TBM-3D，航母則有Saratoga，本文會簡述雷達的運用狀況，包括戰鬥機和企業號、獨立號，並附上海爾賽上將對夜戰航母的評價。 The Night Fighters - Chapter 11 of Radar and the Fighter Directors\n作者： 前美國海軍上校David L. Boslaugh 譯者： Ivon852 原文網址： https://ethw.org/The_Night_Fighters_-_Chapter_11_of_Radar_and_the_Fighter_Directors 以下圖片若無特別註明皆是引用自原始網站。\n1. 美國海軍的機載雷達發展史 # 美國海軍的第一個機載雷達，可能是自英國借來的英製空對艦雷達（Air to Surface Vessel）和機載攔截雷達（Airborne Intercept），或是由美國廠商自行生產的仿品。\n1941年，航空局要求美國海軍研究實驗室（NRL）研製搜索用雷達。為盡快達成要求，NRL把515MHz（波長0.58M）的雷達高度計轉為搜索之用。該雷達又稱XAT，在飛機二側翼尖的下部各裝一根八木天線。單邊機翼的天線可搜索以該邊機翼延伸達25英里的距離，或是可以讓二根天線都指向前方，使其波段重疊於需要鎖定的目標上。\n如圖所示，箭頭所指的就是天線安裝處，指向前方即為返航模式。 電波接收器會在二根天線之間高頻率切換，並在螢幕的垂直基準線兩旁形成二個光點。光點在垂直線上的位置表示距離。若是鎖定前方目標的模式，飛行員必須改變飛機方向，讓二個光點的大小相同，表示正直直的往目標接近。這個雷達用於對空和對艦都是不錯的選擇。\n1942年到1944年，加拿大皇家砲兵團（RCA）、班迪克斯、西屋電氣公司簽下了生產合約許可。名字改稱做ASB，共生產了26000組，是二戰雷達產量之冠。ASB成為了美國海軍運用最廣泛的雷達，除裝載在一些早期型的F4U-2夜戰外，尚裝備在魚雷機、俯衝轟炸機、巡邏機上。轟炸機和巡邏機一般都由駕駛外的乘組員操作雷達，單座的戰鬥機則需要駕駛自行操作。\nASP雷達的螢幕樣式。對詳細雷達操作有興趣的可以點這個網址，裡面有詳盡使用教學：HyperWar: The Tactical Use of Radar 1942年四月，宣示計畫（Project Affirm）在羅德島昆塞特角的海軍航空站成立了一支開發夜間戰鬥機的單位。為海軍和陸戰隊開發和測試新的夜間機種。此外他們還負責制定運用戰術，為早期的夜間戰鬥機中隊訓練專門人員以及夜間戰鬥機指揮官。基礎戰鬥機指揮學校的畢業生便會來此接受進一步訓練。1944年，第二間學校在歐胡島上的巴伯斯角(Barber Point)的海軍航空站成立，用於訓練夜間戰鬥機中隊以及夜間戰鬥機指揮官(簡稱FDO)。\n英國的多腔磁控管是機載雷達的理想材料，比起以公尺為單位的波長，以公分為單位的波長不只可容納更小的天線，還能提供更遠的搜索距離、相位和更精準的海拔高度。如此一來天線和電子元件就能盡量做小，雷達幕以外的元件可掛在機翼下的莢艙，或是裝在機翼前端。\n宣示計畫與麻省理工輻射實驗室和斯佩里陀螺儀公司(Sperry Gyroscope Co.)合作研發出了第一個雷達。 斯佩里公司負責開發ASB雷達的改進版，使其可以小到安裝在單座夜間戰鬥機上。 斯佩里公司推出了以三公分左右為單位的多腔磁控管，稱為AIA，將其裝在VFN-75夜間戰鬥機中隊的海盜式的右翼前方莢艙。 該中隊同時也是夜間戰鬥機開發單位所訓練出來的。\nAIA有二種模式： 搜索和瞄準。 在搜索模式中，儀表板上二英吋的小螢幕會以點和基準線顯示的相對位置來表示目標的距離、相位、海拔高度。 點在基準線上方的距離表示實際的距離， 以左或右表示相位。 距離一拉近，訊號會分成兩個點，左邊的點仍表示距離，與螢幕中心的左右位置表示相位，右邊的點則是以跟左邊點的上下位置來表示海拔。 接近到約半英里的距離時，飛行員會切換到瞄準模式，點會變成上下左右的方向指示。這款雷達還提供信標功能，可導航飛行員飛回母艦。\n圖中F6F-5右翼的莢艙就是雷達安裝處。安裝在F6F-5N的是AIA的改良版： AN/APS-6 座艙內雷達配置 AIA的設備示意圖 https://www.ibiblio.org/hyperwar/USN/ref/NightFighterRadars/index.html\n1943年1月，美國船舶局與西屋電氣公司簽訂了設計與生產改進版AIA雷達的合約，新產品名叫AN/APS-6。1944年三月開始交貨。雷達生產了幾百座，多裝在格魯曼F6F夜戰上，一部分則裝在沃特F4U夜戰。\n2. 海軍航空站在聖西蒙島的海軍雷達訓練學校 # 學校的成立 # 1935年，喬治亞州格林郡委員會認識到未來航空業對該郡和不倫瑞克市的重要，便決定在布倫瑞克市聖西蒙島上鋪設一條15英里的現代化跑道。1938年開幕，新機場名為麥金農，提供定期航空及包機服務，同時吸引了一些擁有私人飛機的客戶。二戰爆發後，民間航空輔助(Civil Air Patrol)第六部門將麥金農作為基地使用，1942年7月海軍把該機場買下，並重新命名為聖西蒙海軍航空站。該航空站開始了它訓練格魯曼F4F飛行員的歲月，但是一年後有新任務在等著它。\n1944年的聖西蒙海軍航空站 1943年3月，諾福克戰鬥機指揮官學校(Norfolk FD School)人滿為患，也沒有擴充的空間，可戰鬥機指揮官的需求卻是日益增加。海軍作戰部副部長和航空局局長建議成立一所可以容納同時足夠海軍人員和陸戰隊員的學校。一個月約有25個陸戰隊隊員及100個海軍將校。 1943年5月8日，海軍作戰部部長指示諾福克遷到喬治亞州的聖西蒙島海軍航空站，並命名為海軍雷達訓練學校，用於訓練作戰中心人員以及戰鬥機指揮官。 珍珠港的卡特營(Camp Catllin)雷達訓練學校降級為訓練緊急替補人員及戰鬥機指揮官進修培訓用。\n美國海軍雷達訓練學校在五個禮拜後開始在陸上及船上訓練陸戰隊和海軍人員。航空站裡的軍機的任務為充當實地演練的攔截機，以及「來襲的敵機」。 七個全副武裝的資訊中心複製了數艘新造艦上的CIC火控系統，並且實地裝上了雷達。 其餘CIC和雷達則裝在站外。 教官一開始由49人組成，大多曾任艦隊戰鬥機指揮官。 其中一名教官來自英格蘭伊奧費頓海軍航空站(即英國皇家海軍戰鬥機指揮學校)。 船上的學員一開始人數平均250人，因故損失的人員約為14%。\n作為學生宿舍的飯店，圖片左邊的塔設置了雷達。 戰末時，學員平均有500人，教官有440人，平民雇員131人，595入伍人員。 1947年，海軍將其資本改善之後，歸還給格林郡政府。\n課程內容 # 聖西蒙海軍航空站主要有如下四項課程：\n三個月的基本攔截訓練課程，包括CIC操作以及戰鬥機指揮。 畢業生至少要完成10次實地CIC攔截，以及4次外部可識範圍內攔截。\n一個月的船上人員課程，讓船上的CIC人員熟悉戰鬥機指揮的規範，但不會授予攔截士資格認證。 第四個禮拜主要是實地攔截訓練。 有CIC經驗的人員可以再多訓練一個月，取得二級攔截士資格。\n進修課程，10名以上阿格斯(Argus)地面戰鬥機指揮人員和CIC人員，訓練人數通常是35人左右。首二週要在船上跟前阿格斯人員熟悉CIC的操作，並教導船上人員最新科技以及新興戰術。 隔一個月為實地攔截訓練，並熟悉各艘船上不同的CIC佈局和功能。 表現好的學員可被選為參與第4項課程。\n一個月的地面指揮攔截(Ground Control Intercept)課程，可作為在戰鬥機指揮方面表現優秀學員的額外課程。 強調夜間攔截，完成培訓需至少50次模擬攔截和25次實地攔截。 若課程人數過少，學員可能就要改進行100次實地攔截。 夜間攔截使用的多為SM三維雷達，完成此課程可授予攔截士資格。\n機場上停放的軍機，攔截通常是F6F，扮演敵機的是SB2C。 夜間戰鬥機指揮官培訓 # 此項訓練十分特殊，遠超日間戰鬥機指揮，命令的傳遞更為困難。 日間，FDO的職責就是將攔截機帶往目標的附近幾英里，最好還有高度優勢。只要能在飛行員起飛後保持目視接觸就好了。 夜間攔截則是，FDO要率領戰鬥機跟在敵機身後，保持相同方向，飛的稍快，稍微比敵機低一些。 目標即是要保持在雷達能探測到的距離內。如果失去雷達訊號，他得想辦法重新尋找。 夜間戰鬥機指揮有多麼困難，從飛機指揮手冊上可見一班:\n「\u0026hellip;指揮官必須明確知道他飛機的方向，飛行員必須要有絕對的自信，只有在他體認到這個責任多麼重要，才能勝認這個職位。」\n因為基本上飛行什麼都看不到，指揮官還得讓戰鬥機遠離友軍砲火。如果甲板停滿了，還得負責清空和排除其他障礙。同時必須和部下有良好通訊，即時時保持雙向通訊。如果通訊出現問題，FDO得馬上通知該飛行員。\n日間的戰鬥機指揮官可選擇看圖表或直接從PPI螢幕進行指揮，而夜間大多就只能看PPI螢幕。旁邊有輔助人員協助測繪和計算敵機的方向、速度。 這樣FDO就能在螢幕上看到我機和敵機的相對位置。FDO要從飛機儀表來判斷方向、速度、高度。\n如果在敵機進入火炮射程內，又沒有高度探知雷達時，FDO就得使用船上的微波火控雷達。\n在夜間攔截中，FDO下命令的頻率遠遠超過日間指揮官。\nF6F-5N的雷達幕判讀。 https://www.ibiblio.org/hyperwar/USN/ref/RADTWOA/RADTWOA-2.html#an/aps6\n因為時間有限，指揮術語必須盡量縮短。 首次的攔截訊號，FDO會插入bogey這個字，這樣飛行員就會知道這不是演習或巡邏，而是真正的攔截任務。 即使訊號傳遞有很長的間隔，FDO至少都要每分鐘確認一次訊號是否暢通。夜間戰鬥機指揮必須熟悉三種攔截形式: 追蹤曲線、訊號截止(cut-off vector)、迎面攔截。 最後一種最考驗技術，因為攔截機必須在正確的位置迎面攔截到敵機，開始切入的時機至關重要。\n3. 第一個夜間戰鬥機中隊 # 1942年11月16日，北卡羅萊納州櫻桃角的海軍陸戰隊航空站，成立了第一個夜間戰鬥機中隊「VMF(N)-531」，由中校Frank H. Schwable指揮。 該中隊一開始訓練的機種為單引擎SNJ高級訓練機和布魯斯特SB2A-4偵查轟炸機，隨後改為雙引擎的洛克希德PV-1，裝有英國AI MK.V雷達，機首下部裝有3挺.50機槍。\n1943年4月1日，VF(N)-75，首支全部裝備夜間戰鬥機的中隊，在羅德島昆塞特角成立，由指揮官W. J. Widhelm指揮。 中隊裝備有配備ASB雷達的F4U-2，直到F4U航艦起落的問題解決之前都是陸基單位。 1943年7月，陸軍航空隊指揮部接管了瓜達康納爾島的戰鬥機指揮，海軍陸戰隊仍繼續指揮附近拉賽爾群島的機場。9月，VMF(N)-531中隊進駐該島。 海軍陸戰隊自行設置了擁有高度探知功能的地面指揮攔截雷達，用於協助沒有高度探知功能的夜間護衛機隊。有時候，他們也負責導引海軍戰機。\n艦隊Collection 2019年冬活E2\u0026hellip;南方棲鬼腳下那一小塊就是拉賽爾群島。 10月31日，陸戰隊空中指揮中隊VMF(N)-531的海軍中校H. D. O’Nei在少校T. E. Hicks和技術中士Gleason的指揮下，在日軍對拉賽爾島的夜襲中擊墜了一架一式陸攻。首開太平洋艦隊中夜間戰鬥機的擊墜先例。\n10月2日，VF(N)-75進駐離拉賽爾島附近的新喬治亞島蒙達機場。第一年海軍和陸戰隊運用夜間戰鬥機，在太平洋戰場上共擊墜了39架日機，其中VF(N)-75和VMF(N)-531佔了9架。\nVMF(N)-531隊徽(Wikipedia) 在索羅門群島戰役中，有時似乎有夜間戰鬥機的存在，就能阻止日本的攻擊。1943年8月，第22驅逐大隊的指揮官在行動報告中寫道：\n「日本人明顯不喜歡我們的夜間戰鬥機，一旦夜間戰鬥機的掩護減弱，他們就會大部隊挺進。他們毫無疑問有在監視我方的戰鬥機動線，並知道何時我們會減弱掩護力道。」\n曾有一個FDO傳了指令給不存在的夜間戰鬥機，由此嚇跑了日軍的攻擊隊。\n4. 轉向攔截夜間雷擊 # 1943年12月，尼米茲 (Chester William Nimitz, Sr.) 司令官寫下了艦隊防空的現況：\n「目前航母特遣部隊遇到的戰術問題是對夜間雷擊的防衛。12月南中太平洋戰場，有超過90%的日軍在夜間發起攻勢。」\n1944年1月，企業號和無畏號裝載了一批首次在航艦上運用的夜間戰鬥機。2月，約克鎮號也裝備了夜間戰鬥機。17日晚間，雷達發現了一個未知的目標，企業號的FDO嘗試傳遞指令給約克鎮的夜間戰鬥機。失去接觸後，敵機便向企業號投下了魚雷。22日晚間，約克鎮號的夜間戰鬥機再次飛往馬里亞納群島，但沒有戰果。沒能成功攔截的原因可能是疏於訓練，因為甲板人員在工作一整天後筋疲力盡，特遣部隊指揮官不想讓他們在夜間還繼續訓練夜間戰鬥機起降。直到6月馬里亞納登陸，日軍對兩棲部隊發起夜間攻擊，夜間戰鬥機才有較好的表現。基於以上行動，第58特遣部隊的指揮官寫道：\n「我們的夜間戰鬥機表現很讓人滿意。我們的VF(N)中隊有10次攔截並擊墜的紀錄。最傑出的是企業號上的VF(N)，他們一晚內就擊墜了3架敵機。」\n1944年6月15日到7月9日的塞班島戰役期間，夜間戰鬥機分別交由兩棲部隊旗艦落磯山(Rocky Mount)、裝有雷達指揮中心的驅逐艦上的FDO、陸軍岸上的FDO指揮。日軍多次發起夜襲，陸軍航空隊指揮部擊墜了一架日機。\n1943年索羅門戰役期間，日軍有時會使用鋁箔片，干擾美軍的雷達偵測，日軍稱其為「電波欺瞞紙」。外觀看起來像聖誕節彩帶，在認為背後有敵機跟蹤時，就會把箔片灑到空中。 對雷達來說，鋁箔片會被誤認為目標。 這種戰術最早是由英國在不列顛空戰時所使用，英國人稱其為「窗戶」。 1944年夏，日軍用這個戰術大大干擾了美軍雷達偵測。 有些證據甚至表明，部分日本魚雷機配備有能收到IFF訊號的接收器，便會放出鋁箔片躲避美軍雷達偵測。\n日本陸軍飛行65戰隊也會使用鋁箔片干擾，就是妖精灑的那個。 5. 夜間作戰的航母 # 艦隊Collection的航空母艦「Saratoga」改二，屬於夜戰型航母。 1944年夏，美國海軍成立了二種夜間戰鬥機單位: 跟日間中隊一樣的四機一組夜間戰鬥機，以及配備在特別設計的夜戰航母上的中隊，包含夜間戰鬥機和魚雷機。接著讓熟悉彼此的FDO和飛行員一起作戰。第一艘夜戰航母為獨立號輕型航母，在8月到9月間訓練其FDO和飛行員。 1944年10月12日，該艦中隊在台灣附近海域擊墜了3架日機。16日至月底，進行了15次夜間攔截，擊墜了7架。\n（關於台灣沖航空戰日方情況，可參考我之前所寫的：三菱Ki-67 四式重爆「飛龍」的開發過程與實戰紀錄）\n10月初，美軍快速航母特遣部隊對沖繩、台灣、菲律賓發起一系列空襲，隨後遭到日軍陸基機的攻擊。日軍多在夜間或日落發起攻擊，才能趁日落接近美軍艦隊。攻擊隊多由轟炸機及魚雷機組成，有時還會有戰鬥機護航。在夜間，一至二架日軍隊長機會用探照燈或照明彈來照亮美軍艦艇，導引其他機隊進行攻擊。因此，13日晚間重巡坎培拉號被魚雷命中；隔晚巡洋艦休斯頓也遭殃。二次攻擊，艦上都沒有夜間空中掩護指揮。第三艦隊的FDO說這些攻擊是「最嚴重的問題」。\n到日落前，由日間戰鬥機提供空中掩護。日落時會有16至24架戰鬥機起飛，其中包括8架夜間戰鬥機。夜間戰鬥機以二架為一組，VHF頻道分配給其中一架，另一架則由FDO控制。 夜戰航母獨立號與其護衛艦遠離主艦隊，這樣她就能起降夜間戰鬥機，不會干擾到整個特遣艦隊的作業。夜間通常會在主艦隊50英里處，在敵機可能來襲的方向，配備二艘裝有雷達的驅逐艦，並指揮2架夜間戰鬥機。 他們能夠提供早期預警，自行判斷是否攔截，或是能讓敵機誤以為他們就是主要目標。\n1944年初在無畏號甲板上的F4U-2夜間戰鬥機。 1944年末，夜間戰鬥機飛行員和裝備變得更好了。上半年平均與敵機的接觸距離為1.7英里，下半年增加到2.8英里。例如，1944年2月14日夜間，航母快速特遣部隊準備空襲菲律賓呂宋島時，企業號的雷達偵測到一架日軍巡邏機。夜間戰鬥機起飛後，7分鐘內就讓它掉到海裡去了。該架偵察機未能發出電報就被擊墜，讓特遣部隊能抵達戰機起飛點而不被發現。 1945年起，夜戰航母企業號和獨立號一起行動，組成了第一個夜間戰鬥群。 1月中，第38特遣艦隊正通過南中國海的巴士海峽時，獨立號的夜間戰鬥機一晚就擊墜了3架偵察機。 第38特遣艦隊新任指揮官，海軍中將J. S. McCain，對夜戰航母的評價很高，在對日本作戰的行動報告中如此寫道：\n「一些航母接受了夜間作戰的任務，成果令人意外。舒緩了其他航母的夜戰壓力，且運用特殊訓練的成員執行特別的夜間戰術和防衛任務，他們十分優越。」\n他繼續寫道：\n「使日本人的對我方艦隊的攻擊沒有效果，即使我方位置被他們知道，就算他們多架來襲，或是有不顧一切撞上來的自殺飛行員。第38特遣艦隊在日本外海時，沒有日機敢在夜間發動攻擊了。」\n1945年1月，日軍又再度在黃昏時於菲律賓林佳延灣發動攻擊。第七艦隊司令官註記道：\n「\u0026hellip;1700到1800有30%的自殺攻擊造成損害\u0026hellip;日落時分約是1740。這表示日本人喜歡在日落前半小時發起攻擊，這樣在發現我方戰鬥群時，就能用夕陽作掩護偷偷接近。」\n如果戰鬥機指揮的艦艇裝有SM或SP高度探知雷達，他們應該就能偵測的到低飛接近的敵機，但事實卻不是這樣。夜間戰鬥機似乎比較擅長應付單架偵察機，而不是一大群來襲的機群。企業號的夜間戰鬥機，3月17/18日夜間擊墜了2架以上的偵察機。 日本人又再次於3月20日夜間使用電波欺瞞紙讓一些偵察機無法被偵測到。\n6. 重回日間航母 # 1945年4月到5月之間所受到的損傷，使得企業號退出前線。促使上層官員重新評估專門用於夜戰航母的利與弊。5月末，第58特遣艦隊指揮官，上將海爾賽 (William Frederick Halsey, Jr.) 寫道：\n「像企業號這樣一艘單獨的夜戰航母並不足以保護整個艦隊。每個部隊各編入一艘夜戰航母是個解方，但是這樣的佈署會削弱快速航母特遣部隊的整體潛在攻擊力量。因此，應該每艘航母都裝備6架VF(N)和6架VT(N)飛機，並應考慮盡快廢止夜間航母計畫。」\n3月中，日機又改回主要在日間攻擊特遣艦隊，夜間攻擊也沒有少。 但是，夜間攻擊已不如過去猛烈。 第58特遣艦隊的夜間戰鬥機擊墜了91架日機。在海爾賽的沖繩作戰行動報告中，他指出這些戰果大都是部屬在日間航母的夜間戰鬥機取得，而不是夜戰航母。 他列出的理由是：\n艦隊內嚴格的VF(N)雷達數量控管(不超過4個) 指揮的轉移 (通常情況下在攔截機擊墜一架前，指揮已傳遍2~3個基地) 各艘航母的維護良好 夜間指揮得宜 同時，在沖繩登陸使用夜間戰鬥機攔截的有：3艘裝備SP高度探雷達的兩棲部隊旗艦、5座也具有高度探知雷達的岸上雷達站。裝有雷達的驅逐艦也會待在島嶼附近，參與指揮夜間戰鬥機。3月30日至5月17日間，登陸地點附近各個夜間戰鬥機中隊共執行了252次攔截，擊墜18架。第58特遣艦隊的FDO指出擊墜率相對較低，是因為夜間戰鬥機若進入岸邊艦船防空炮的射程內，夜間指揮官就必須終止攔截。\n7. 結語 # 美軍發展專用的夜戰航母構想，最終被海爾賽上將否決了，保留專用飛機就好。\n再看看艦隊Collection，這個遊戲出了各種九七式艦攻，從各大名將開過，到對潛特化的九三一空，再來是這次的夜間攻擊機版本。 從裝備上來看，看起來是某個昭和男兒強行把電探裝上去，就像烈風改二戊一樣。性能八成又下滑了，數值跟TBM-3D比又不怎麼樣。九七式艦攻本來就三人座，駕駛，投彈，通信員兼機槍手。不必增設座位了。九七的機體裝這些真的沒問題嗎，這是什麼，預警機嗎。妖精手上拿的是通訊器材，應該跟烈風戊用的是同一套。 如果是試製就算了，還出了已經把試製機型開到熟練的乘員組。既然是夜戰機，攻擊方法\u0026hellip;田中還是只給魚雷和小爆雷，反潛數值不三不四，雷裝要熟練版本才追上TBM-3D。比較好的是索敵加成吧，大概能給聯合艦隊輕空母二隊開幕反潛兼夜戰用。 田中為甚麼不裝在流星而是九七上，是因為有931空這種佈局的先例麼，或是說為了一航戰的榮耀呢(引擎尺寸頭大的天山沒人權)\n","date":"2019年6月30日","externalUrl":null,"permalink":"/posts/the-night-fighters-of-radar-and-the-fighter-directors/","section":"Histories","summary":"最近看到田中出了奇怪的「夜戰型九七式艦攻」想吐槽一番，但想想還是算了。先翻譯點有用的東西吧，就針對F6F-5N的機載雷達和夜戰航母做翻譯。\n《艦隊Collection》出的美國夜戰機種有F6F-5N和TBM-3D，航母則有Saratoga，本文會簡述雷達的運用狀況，包括戰鬥機和企業號、獨立號，並附上海爾賽上將對夜戰航母的評價。 The Night Fighters - Chapter 11 of Radar and the Fighter Directors\n作者： 前美國海軍上校David L. Boslaugh 譯者： Ivon852 原文網址： https://ethw.org/The_Night_Fighters_-_Chapter_11_of_Radar_and_the_Fighter_Directors 以下圖片若無特別註明皆是引用自原始網站。\n1. 美國海軍的機載雷達發展史 # 美國海軍的第一個機載雷達，可能是自英國借來的英製空對艦雷達（Air to Surface Vessel）和機載攔截雷達（Airborne Intercept），或是由美國廠商自行生產的仿品。\n1941年，航空局要求美國海軍研究實驗室（NRL）研製搜索用雷達。為盡快達成要求，NRL把515MHz（波長0.58M）的雷達高度計轉為搜索之用。該雷達又稱XAT，在飛機二側翼尖的下部各裝一根八木天線。單邊機翼的天線可搜索以該邊機翼延伸達25英里的距離，或是可以讓二根天線都指向前方，使其波段重疊於需要鎖定的目標上。\n","title":"二戰美國海軍的夜戰雷達及夜戰航母發展史","type":"history"},{"content":"初稿：2019年5月\n地點：屏東大學\n本學期是初次參與此項計畫，因著對英語教學能力以及提升、應用自我所學而參加。所幸有可靠的專員和與我同組的前輩們輔助，解決我遇到的諸多困難。要有良好的教學成效，一開始要先親近小朋友，我花約二堂課的時間來了解她們。從她們的興趣著手，當第一堂課，我在上基礎KK時，我隨口插話她們的聊天內容，●●●就興致盎然地對著我說:「你為什麼會知道阿神(遊戲實況主)」以此開啟我與他們對話的契機。 (課後對她們喜歡的團體的調查以便做日後參考，熱忱可見一班)\n隨後我了解到，她們喜歡的對象主要是C-POP和K-POP，於是我思考如何將此融入教學。因為上課主題主要是由合作的另一位學伴負責，所以我就在每次教學時融入一點idol的知識進去，讓她們能保持專心的同時又能學到一點額外的東西。每堂課都有簡單幾題的學習單可寫，在實際放圖片後，那堂課一向冷淡的▓▓▓變得特別有幹勁，隨後每堂課最期待的就變成學習單。教學上，我盡量結合時事和內容，在加入遊戲引起她們的興趣。雖然英文桌遊不是那麼好玩，也算是一種嘗試。\n在出題上，我想試著不那麼傳統，雖然很多都會像是課本習作那樣的填空題，我想試著加一些不一樣的題目，好讓她們不只是枯燥作業。在上心情的問法時，我旁邊放的是偶像的圖片，問句也改成they或he，這樣可以使她們知道實際運用的情況。在上數字的單元時，我加了數字猜謎，使用簡單的語句，猜出題目的數字，一向優秀的▓▓▓也不得不尋求●●●和▲▲▲的幫忙，才能完成需要靠靈活變通的頭完成的題目。\n在學習上，●●●有接近▓▓▓的英語能力，尤在單字吸收上為甚。可是易受情緒影響，對於這點我就學會看臉色，不過不是百分百順從，是使用暗中導引的方式，至少讓她的情緒是往正向爆發。▓▓▓的資質優秀，自視甚高所以比●●●需要更深一步的心理策略。發言和程度上確實弱勢的▲▲▲需要特別輔導，不過我認為這學期我做的不夠好，我的額外輔導也終究是落於重複抄寫。\n自動產生的描述與我合作的學伴跟我說，她們真的有學習英文的資質，只是各自需要態度矯正。此話確實沒錯，▲▲▲的能力是提拔的上來的。並和另一個學伴合作，給予她們點數制度提供獎勵。\n課堂上她們的顯得比較沒規矩，我在學期後半開始漸進制止，輕鬆不能隨便。也好，她們會願意遵守基本規則。瞎起鬨的情況還是時常有，不過僅限小鬧程度。為維持注意力，我會閒聊個幾句，再逐步帶回課堂上。雖然才一學期，但我可以感受到雙方都對彼此抱有一定的信任感了。最後道別之時，彼此以輕鬆愉快的氣氛結束這學期。如果未來她們能傭有良好態度並具備那個心的話，相信此一學期的努力就不會白費。對我來說，對小孩的心理重拾了感觸，掌握了KK的基本教學方法以及自然發音學習法。●●●稍微、儘管只是稍微，能控管自己的所為了。▓▓▓，總算是能實實說出自己的想法了。▲▲▲，敷衍的態度質感下降，可以說是願意學習了吧。感謝她們帶給我的一切，我學習到的十分真切實在。(拍照她們仍顯得不好意思，拿學期集點兌換的海報遮住)\n","date":"2019年5月30日","externalUrl":null,"permalink":"/posts/2019050101/","section":"Personals","summary":"初稿：2019年5月\n地點：屏東大學\n本學期是初次參與此項計畫，因著對英語教學能力以及提升、應用自我所學而參加。所幸有可靠的專員和與我同組的前輩們輔助，解決我遇到的諸多困難。要有良好的教學成效，一開始要先親近小朋友，我花約二堂課的時間來了解她們。從她們的興趣著手，當第一堂課，我在上基礎KK時，我隨口插話她們的聊天內容，●●●就興致盎然地對著我說:「你為什麼會知道阿神(遊戲實況主)」以此開啟我與他們對話的契機。 (課後對她們喜歡的團體的調查以便做日後參考，熱忱可見一班)\n隨後我了解到，她們喜歡的對象主要是C-POP和K-POP，於是我思考如何將此融入教學。因為上課主題主要是由合作的另一位學伴負責，所以我就在每次教學時融入一點idol的知識進去，讓她們能保持專心的同時又能學到一點額外的東西。每堂課都有簡單幾題的學習單可寫，在實際放圖片後，那堂課一向冷淡的▓▓▓變得特別有幹勁，隨後每堂課最期待的就變成學習單。教學上，我盡量結合時事和內容，在加入遊戲引起她們的興趣。雖然英文桌遊不是那麼好玩，也算是一種嘗試。\n在出題上，我想試著不那麼傳統，雖然很多都會像是課本習作那樣的填空題，我想試著加一些不一樣的題目，好讓她們不只是枯燥作業。在上心情的問法時，我旁邊放的是偶像的圖片，問句也改成they或he，這樣可以使她們知道實際運用的情況。在上數字的單元時，我加了數字猜謎，使用簡單的語句，猜出題目的數字，一向優秀的▓▓▓也不得不尋求●●●和▲▲▲的幫忙，才能完成需要靠靈活變通的頭完成的題目。\n","title":"參與教育部「大手攜小手」英語學伴第一年的心得","type":"personal"},{"content":" 作為剛加入這遊戲的我，御主，中午起來的中文看到了這個消息，馬上跳起來坐火車到台南市去了。\n原本預計18號的FF沒去成，而且剛好那天是台北的FGO台服二週年線下活動，聽說宣布與喜憨兒店家合作發送蛋糕的消息是當天才宣布的。\n5/19~5/21日，在全台的指定店家，中午12:00過後可以憑台版帳號領取一罐小蛋糕。\n選定的位置是位於台南市南門路的喜憨兒生機好鍋，中午大熱天的騎著TBike。 在吃蛋糕之前，為表示意思意思，所以順便在店家吃了中餐，泰式酸辣鍋味道適中，吃完還有附巧克力冰棒。 蛋糕的造型就是一小罐，用紙盒裝著，外部有FGO的標示。 底部標示的有效日期(察覺)，至少可以知道這是新鮮的。 蛋糕的真面目。 可愛的小禮物，線上活動也解完了，就是日版二週年時的人類惡Paul Bunyan任務。可是用發放聖晶石抽獎，結果都是禮裝，所以我不會為福袋課的。 FGO真是好可怕的遊戲，一刻都不想停下來。AP沒的時候就玩Fate SN了解劇情梗概，差點就要躺在迦勒底回不去艦隊Collection的鎮守府了。 ","date":"2019年5月19日","externalUrl":null,"permalink":"/posts/fgo-tw-2nd-anniversary-cake/","section":"所有文章","summary":" 作為剛加入這遊戲的我，御主，中午起來的中文看到了這個消息，馬上跳起來坐火車到台南市去了。\n原本預計18號的FF沒去成，而且剛好那天是台北的FGO台服二週年線下活動，聽說宣布與喜憨兒店家合作發送蛋糕的消息是當天才宣布的。\n5/19~5/21日，在全台的指定店家，中午12:00過後可以憑台版帳號領取一罐小蛋糕。\n選定的位置是位於台南市南門路的喜憨兒生機好鍋，中午大熱天的騎著TBike。 在吃蛋糕之前，為表示意思意思，所以順便在店家吃了中餐，泰式酸辣鍋味道適中，吃完還有附巧克力冰棒。 蛋糕的造型就是一小罐，用紙盒裝著，外部有FGO的標示。 底部標示的有效日期(察覺)，至少可以知道這是新鮮的。 蛋糕的真面目。 可愛的小禮物，線上活動也解完了，就是日版二週年時的人類惡Paul Bunyan任務。可是用發放聖晶石抽獎，結果都是禮裝，所以我不會為福袋課的。 FGO真是好可怕的遊戲，一刻都不想停下來。AP沒的時候就玩Fate SN了解劇情梗概，差點就要躺在迦勒底回不去艦隊Collection的鎮守府了。 ","title":"FGO台服二週年慶典紀念蛋糕got","type":"posts"},{"content":"2018年，為擺脫Zenfone 2 Selfie，腦內激烈辯論後開出以下清單：\n1.Zenfone 4 (s630)\n2.Sharp Aquos S2 (s630)\n3.HTC U Ultra\n4.Nokia 6 2018\n定價都是8000~9000元，選擇障礙，我比較後的缺點是：\n1.軟硬體都不穩定\n2.系統很可能會被放生，美人尖\n3.續航堪憂，對比PhoneaArena的，GSMArena的不知道怎樣測的竟然堆得比Zf4還高\n4.相機偏弱\n需求：\n1.遊戲，就拿Minecraft來說，開精美影像的情況下，任何畫面都最低要能維持在30fps以上，然後不輕易發熱降頻。持續遊玩1小時的情況下機身不能超過45度。\n2.相機不能照出來比Zenfone Selfie還差，顏色須像iPod touch 6一樣接近真實色調。\n3.續航不能比Zenfone Selfie還弱，目前這支是持續亮屏4小時就會沒電且不包括玩遊戲。所以中度使用下，最低有6小時是理想。\n4.二個大版本系統更新保證\n5.至少支援2CA，有支援Cat.12\n6.eMMC 5.1\n誰會想到一年後我買了紅米呢。\n被身邊一起連線打手遊戲的同學燒到，他買了去年上市的紅米5\n雖是中階機，玩遊戲可順暢的呢！當時我們沈迷玩空戰手遊：浴血長空(War Wings)和Wings Of Duty。\n我想要擺脫Zenfone Selife 2這台爛手機，耗電又沒效能。\n原本想買Zenfone 3的，聽說這一代評價大回升，但已經下市，不太敢買二手的\n小米真的是學生黨神器，高CP值，可以用低廉的價格得到一支效能還行的手機。\n在即將升上大學的時候，父母除了買屬於自己的電腦外，還終於能換手機了\n我選了紅米Note 5 台灣小米在廣告中說他們用這支手機導航，環島一圈11小時之後還有電，足足說明了這支的長續航。\n開箱 # 約在2018年6月網購購入。紅米早期很愛搞飢餓行銷，幸好我買的時候沒有缺貨。\n為了撿便宜選3GB/32GB的版本，並非頂配的6GB/64GB。\n這支的規格比紅米5要好，螢幕解析度看起來比較正常些，有到1080p\n台灣售價5,499元\n紅米Note 5的外國版叫做Redmi Note 5 Pro（勿跟Redmi Note 5搞混），刷機ROM要找對。\n我買的是藍色版本。正面是18:9螢幕，指紋解鎖在機背 這支是金屬機身，181g拿起來有點沈重。不會發熱，冰冰涼涼的。\n金屬機身感覺很堅固，我感覺不太需要用到內附的TPU保護殼，只有薄薄的一層，但還是裝上了。\n效能 # 上面說最初看到同學買了CP值高的紅米5，我才想到買了這台。\n它確實是大陸很多評測所說的「水桶機」，在這個價格帶幾乎沒有缺點。\n第一次用MIUI，真的不錯用，很多貼心功能，例如點選左上角時間就能開啟行事曆，還有三指下滑截圖等等。縱然MIUI臃腫，我刷機成原生系統後還會懷念這些功能。\n大部分遊戲玩得動。這時我主要玩的遊戲是《Fate/Grand Order》，偶爾卡卡的但還能接受。\n對了，這支空間很小但可以插SD卡，所以我有嘗試開儲存空間融合技術。SD卡與內建儲存空間融合(Adoptable Storage)目前感覺速度沒有太大讀取速度差異，而且超會鑽漏洞查root的FGO日版也開得起來。 SD636處理器延續了前一代神U：SD625的優良表現，搭配紅米Note 5的4000mAh電池，屬於是手遊能玩得動中段畫質，又能維持長續航的等級，連續用6小時以上都不用接行動電源。\nSD636功耗低，加上金屬機身有助於散熱，我摸起來大部分時候都是冰冰涼涼的。\n防摔設計做得不錯，我曾經在宿舍沐浴的時候，正面朝下2公尺高地方跌落，毫髮無傷。這支使用了快兩年都沒壞。\n正面落下摔到紅米手機好幾次？沒事\n一次稍微撞到床角？金屬製的音量鍵凹了下去。手機行的幫我凹了回來。\n要說缺點嗎，就是它還在用Micro-USB，當時許多廠商都用Type-C了的說。\n另外它喇叭外放音質很破！\n紅米Airdots的音質就跟紅米手機外放一樣無懈可擊\u0026hellip;的水 耳機孔容易接觸不良，Apple EarPods插入要轉好幾圈。\n螢幕發色差勁，在系統設定調整，要嘛黃黃的，不然就是過豔。螢幕在我使用的當下感覺不出來，可是跟後來的手機一比較，確實能感覺到便宜紅米機的色差，畢竟它只有84% NTSC嘛。\n拍照 # 紅米Note 5搭載1200萬+500萬像素雙鏡頭，F1.9光圈，Dual PD雙核對焦。 根據一些3C部落客的開箱資料，第二顆鏡頭其實不能拍照，是負責做景深計算之用。\n紅米Note 5前置鏡頭也有1200萬畫素，且是超廣角。自拍的時候蠻有用的。話說一開始我看手機前面兩個洞，還以為前面也是雙鏡頭才有那麼寬的自拍角度，結果多年後才知道不是這麼一回事。 很多評論說這一代的相機有AI加成，可說是歷年來拍照最好看的紅米相機。\n拍照的話日間還行，顏色灰灰的，如果沒有觸發AI場景美化照片就普普，沒有特別好看。我不知道所謂拍照好指的是什麼？也許是AI美顏效果好吧。這支有景深功能，邊緣銳利，我覺得看起來假假的。 夜拍鴨子糊成一片，不過聽別人說這在當下的手機噪點相對少，已經很厲害了？ Root與刷機 # 紅米Note 5出廠版本Android 8，最高升級到Android 9，後續可以刷機續命。\n請用Redmi Note 5 Pro或者代號whyred的關鍵字搜尋。\n我刷過Pixel Experience、ArrowOS、HavocOS、LineageOS，還有我從Zenfone 2 Selfie時代就一直很喜歡的Resurrection Remix。\n當時的紀錄：Note 5, RR, Android 8，裝Viper4X，死機。裝AdBlock Reborn，網路連線不穩(wifi顯示X)。裝YouTube Background Play，時不時YouTube在背景Crash。Xposed的作者對自己要求很高，現在還在Beta 3，我看等像N一樣出正式版Android 11都出來了。\n中間刷壞過，差點要用9008模式強刷了，這個模式要短路才能進。我第一次學會拆這種手機，針對這種背蓋黏死的手機，用吹風機加熱再用卡片刮開外殼。 LineageOS維護者已經跑路了，official最後一個版本停留在Android 11。\n不過還有一些unofficial build能升到Android 15。\n","date":"2019年4月21日","externalUrl":null,"permalink":"/posts/xiaomi-redmi-note-5-review/","section":"Unboxings","summary":"2018年，為擺脫Zenfone 2 Selfie，腦內激烈辯論後開出以下清單：\n1.Zenfone 4 (s630)\n2.Sharp Aquos S2 (s630)\n3.HTC U Ultra\n4.Nokia 6 2018\n定價都是8000~9000元，選擇障礙，我比較後的缺點是：\n1.軟硬體都不穩定\n2.系統很可能會被放生，美人尖\n3.續航堪憂，對比PhoneaArena的，GSMArena的不知道怎樣測的竟然堆得比Zf4還高\n4.相機偏弱\n需求：\n1.遊戲，就拿Minecraft來說，開精美影像的情況下，任何畫面都最低要能維持在30fps以上，然後不輕易發熱降頻。持續遊玩1小時的情況下機身不能超過45度。\n2.相機不能照出來比Zenfone Selfie還差，顏色須像iPod touch 6一樣接近真實色調。\n3.續航不能比Zenfone Selfie還弱，目前這支是持續亮屏4小時就會沒電且不包括玩遊戲。所以中度使用下，最低有6小時是理想。\n4.二個大版本系統更新保證\n5.至少支援2CA，有支援Cat.12\n6.eMMC 5.1\n誰會想到一年後我買了紅米呢。\n被身邊一起連線打手遊戲的同學燒到，他買了去年上市的紅米5\n雖是中階機，玩遊戲可順暢的呢！當時我們沈迷玩空戰手遊：浴血長空(War Wings)和Wings Of Duty。\n我想要擺脫Zenfone Selife 2這台爛手機，耗電又沒效能。\n原本想買Zenfone 3的，聽說這一代評價大回升，但已經下市，不太敢買二手的\n","title":"紅米Note 5評價：規規矩矩的5000元水桶機，長續航，相機還行，喇叭很破","type":"unboxing"},{"content":"如果說太平洋戰爭中死的最倒楣的，板谷茂絕對可以算在其中。\n板谷茂何許人也？他曾參加過珍珠港攻擊行動，擔任指揮赤城號上的零戰的指揮官，還參與過南方作戰和中途島海戰，最後1942年升任參謀。接下來發生的事，就是本文所要說的。 1. 飛行54戰隊 # 舞台在日本最北方，千島列島北部。\n這裡，就是2017年《艦隊Collection》春活實裝的，飛行54戰隊的駐紮地。 飛行54戰隊於昭和16年7月26日(1941)，在千葉縣的 柏市 編成，曾到過中國大陸戰場。昭和十八年六月上旬來到了北千島，後參與菲律賓戰役和掩護特攻機隊，終戰時的所在地是北海道札幌。\n2017年E4的基地，就是幌筵島的北ノ台飛行場，上方就是占守島。\n54戰隊時任戰隊長為圖片右邊的黑川直輔少佐\n54戰隊的主力機種是一式戰III型甲\n北方群島靠近美國阿拉斯加，中途島時的AL作戰攻下阿留申方面的群島後，日軍又棄守該處，被放生的陸軍只好玉碎，只有基斯卡島撤退作戰成功。\n在此之後，日軍擁有的北方領土就剩千島群島、南樺太等地。常有美軍轟炸機B-24、B-25來騷擾，陸軍跟海軍就擔當防空的任務，爆發多次空戰。\n在此的除了陸軍飛行54戰隊外，尚有海軍武藏基地的281空(零戰)、別飛沼452空(二式水戰)。\nhttps://en.m.wikipedia.org/wiki/Leapfrogging_(strategy)\n1944年一月後半，美國開始派出PV-1反潛巡邏機，裝有用於夜間攻擊的LORAN飛行輔助裝置。六月改為白晝攻擊。 http://members.tripod.com/airfields_freeman/AK/Airfields_AK.htm\n2. 擊落疑似美軍飛機 # 昭和十九年(1944)七月二十四日早上，北ノ台飛行場收到了敵機接近中的雷達情報。雷達偵測到的只有單機，很有可能是PV-1。\n幌筵島周遭飛行場地圖\n警急機緊急起飛，具體有幾架不清楚，中隊長新屋弘市少尉記得是4機小隊、確井健次郎少尉則記得是4~6機。\n新屋弘市少尉\n毫無疑問，在空中的確是形成了一個小隊，長機是新屋少尉，僚機是尾川芳治郎伍長。而分隊長是三番機的江崎曾雄曹長，四番機為確井曹長(十八年十二月晉升)。\n隊中飛行資歷最淺的是少年飛行兵十一期出身的尾川伍長。前年接受到配屬至五十四戰隊的命令。首先至北海道苫小牧留守隊接受戰技訓練後，四月來到北ノ台。做為新屋少尉的固定僚機，雖然在此之前都沒有在會敵時開槍的經驗。\n尾川伍長(右)\n至於尾川則回憶說，他先與輿石大尉和福田軍曹飛往占守島東方，這就跟確井少尉的回憶一致了。為的是先一步攔截快速的PV-1。\n四架一式戰二型來到了北ノ台的東南方，眼下就是幌筵海峽，1500~2000公尺逐漸上升，此時周邊的雲量是八分之五。\n往西北方向的尾川伍長，透過雙子山形的硫磺山頂的雲層縫隙可以望見遠方的阿賴度島。這個美麗的成層火山島，也有阿賴度富士的別名。\n1992年接受訪問時，尾川回憶所畫的畫面\n二中隊在大阪時，訓練要求駕駛員在執行防空任務時，需向地上發電報以掌握狀況。 因為電話不怎麼可靠，確井決定後續再通信。\n此時曹長收到了雷達偵測的訊息。日軍雖然沒有敵我識別裝置，但是從畫面來看很有可能是友軍。但可以確定一定不是陸軍所屬，也沒有從北千島飛來的海軍飛機的情報。\n新屋機右後方的尾川伍長發現了硫磺山頂上有機影，在雲層散開之後，針對PV-1而待在後方的確井，認為從雲中冒出的黑色機影，跟PV-1來襲高度一樣，約1000~1200公尺高。\n高度約比一式戰高些，距離5000公尺，敵機正從幌筵島北部往東南方向飛去，如果是轟炸而不是武力偵查的話，敵機應該會攻擊柏原、片岡的停泊艦艇。\n對方或許也察覺到了一式戰，緩緩下降。位於敵機前左上方的新屋機，打算從前側下方降下攻擊。敵機有二枚垂直尾翼，一開始讓人想到的就是駐阿留申群島的B-24的尾翼。\n靠近發現，主翼細長，新屋認為是B-24。而尾川根據雷達的情報和飛行高度，認為是PV-1。 B-24外觀示意圖。https://www.pinterest.com.mx/pin/162692605262508244/\n新屋少尉從敵機前下方接近，一個短射。尾川避開，機首轉向左方攻擊。接著新屋避開側邊自衛機槍的射擊。\n從下方脫離的新屋少尉，馬上上升反轉，後上方佔位，第二次攻擊後敵機冒出白煙。\n跟著新屋少尉的軌跡飛行的尾川伍長，在敵機機翼上看到了意想不到的東西，是暗色的日之丸。\n但是那一瞬間，伍長卻認為：\n「這是偽裝的！」\n因為最近戰隊內外都傳聞說，有單機入侵的美國機會把國徽漆成日之丸。\n就是說啊、第一撃命中時，沒有搖擺機身表示是友軍，而是左右晃動機首迴避子彈，新屋少尉也是這樣認為。\n在新屋攻擊後，輪到尾川從後上方攻擊，此時敵機的高度已下降到500公尺。尾川瞄準引擎，按下發射鈕，眼前的雙發機爆炸，噴出黑煙，右邊的引擎掉了下去，機翼的碎片在海峽上空飛舞。新屋機的第二撃將其完全擊落了。 長谷川2004年出的模型，描繪一式戰隼II型迎擊美軍飛機的樣子\n3. 你們知道幹了什麼好事嗎？ # 看到這樣光景的尾川伍長，感動的拉開座艙罩，回到二番機的位置上。\n新屋少尉也打開座艙罩，伸出手臂揮舞拳頭。確井曹長也做過該姿勢。伍長也作了同樣的姿勢回敬。\n然而北千島的天氣轉壞，北ノ台飛行場很快就被海霧所籠罩，後方的確井機和江崎機，到位於占守島片岡海軍基地東南東的陸軍新設「三好野飛行場」降落補給燃料。待天氣轉好再回到幌筵島的北ノ台。\n北ノ台和片岡隔著一個海峽，有著天候不良時互相迫降的關係。所以當陸軍機降落時，海軍基地人士就來「關切」了。\n但是直到二機停下來前都沒人敢靠近，尾川找了個地方停了下來。(降り立った尾川伍長は付近に置いてあった車輪止めを選び、四つの主車輪にかませた。)\n沒人敢接近，是被我們的擊墜戰果嚇到了吧——尾川伍長是這麼想的。和新屋少尉趾高氣昂的走向指揮所。入口處一位戴艦內帽(即陸軍的いう略帽)，著飛行服的海軍士官，拄著棍棒和刀，如仁王般的站立著。\n二人站立不動，陸軍式的敬禮，新屋少尉報告說是因為海霧而迫降。聽到這句話，海軍士官大聲說\n「你們二個，知道打下了什麼嗎！」\n另外那個士官還憤怒的說。\n「給我土下座！」\n「你們啊，給我切腹謝罪！」\n時間回到稍早前。\n出生於雪梨，英語流利，擔任北東方面艦隊司令部參謀的預備士官 清水康男 大尉，那時正站在片岡基地的崖邊，看到了遠處的九六式陸攻。\n「就是那架飛機嗎？」\n千島進出的航空隊，第五十一航空戰隊司令部(屬北東方面艦隊/第十二航空艦隊司令長官)所在地就是北海道的美幌。 傘下部隊的主力，占守島、幌筵島司令部所屬的九六陸攻(或是同型的九六式輸送機？)常在這裡來回飛行。這一天上面載的是，五十一航戰的首席參謀\u0026hellip;板谷茂。\n被陸軍這麼一打，他就這樣莫名其妙的掛點了。\n看到陸攻後不久，清水大尉很是驚愕。一式戰對該機開火了。在零式觀測機上從頭到尾目睹了這場荒唐的空戰，也看到了陸攻被擊墜。\n陸攻就這樣，空中爆炸。翅膀噴火，掉入海中。這個描述跟尾川伍長的記憶一致。\n負責整備五十一航戰司令部保有機的平澤道夫整備兵長，看到被陸軍打下來的九六陸攻往占守島方向掉下去了。於是馬上追了出去。\n日本海軍的九六式陸上輸送機。http://www.mdc.idv.tw/pwm/airl3y1.htm\n收到片岡的聯絡後，戰隊長黑川少佐搭乘小艇抵達基地。新屋少尉和尾川伍長正站在指揮所中央。海軍士官說「陸攻上面坐著的可是參謀和交代要員」聽到這句話的二人，無法反駁，只好保持沉默。\n黑川少佐向前一步，在基地司令前單膝跪下，代表部下的誤射過失道歉。並兩手供上攜帶的軍刀，說\n「看在這把軍刀的份上，請原諒他們吧。」\n部下的過失，要由隊長來承擔責任。這種情況下要做出這種決定是很不容易的，身後的伍長被深深感動到了。\n戰隊長沒有一句責備的話，乘上小艇，另外二人乘一式戰回去北ノ台飛行場。\n此事過後，二人認為還是要負一點責任，於是繼續參與北ノ島的邀擊戰。\n4. 小記 # 54戰隊不是萌娘百科說的雜牌部隊！在北方嚴酷的環境下奮戰到了最後，也有參與對抗蘇聯的八月風暴行動。\n由於2017年春活環繞在北方海域展開，讓我們有機會看到這個部隊奮戰的史實。\n參考資料 # 本文主要譯自：《航空フｧン》1996年二月号 ＜さいはて邀撃戦＞。收錄該文章的書籍是我在高雄漢神巨蛋紀伊國屋買的。\n有關飛行54戰隊的資料： 飛行第五四戦隊 | 航空戦史雑想ノート【陸軍編】\n","date":"2019年3月18日","externalUrl":null,"permalink":"/posts/the-final-encounter-1944/","section":"Histories","summary":"如果說太平洋戰爭中死的最倒楣的，板谷茂絕對可以算在其中。\n板谷茂何許人也？他曾參加過珍珠港攻擊行動，擔任指揮赤城號上的零戰的指揮官，還參與過南方作戰和中途島海戰，最後1942年升任參謀。接下來發生的事，就是本文所要說的。 1. 飛行54戰隊 # 舞台在日本最北方，千島列島北部。\n這裡，就是2017年《艦隊Collection》春活實裝的，飛行54戰隊的駐紮地。 飛行54戰隊於昭和16年7月26日(1941)，在千葉縣的 柏市 編成，曾到過中國大陸戰場。昭和十八年六月上旬來到了北千島，後參與菲律賓戰役和掩護特攻機隊，終戰時的所在地是北海道札幌。\n2017年E4的基地，就是幌筵島的北ノ台飛行場，上方就是占守島。\n54戰隊時任戰隊長為圖片右邊的黑川直輔少佐\n54戰隊的主力機種是一式戰III型甲\n北方群島靠近美國阿拉斯加，中途島時的AL作戰攻下阿留申方面的群島後，日軍又棄守該處，被放生的陸軍只好玉碎，只有基斯卡島撤退作戰成功。\n在此之後，日軍擁有的北方領土就剩千島群島、南樺太等地。常有美軍轟炸機B-24、B-25來騷擾，陸軍跟海軍就擔當防空的任務，爆發多次空戰。\n","title":"參謀被自己人打下來，日本陸軍飛行54戰隊誤擊海軍九六陸攻","type":"history"},{"content":"日本陸軍飛行戰隊的塗裝一直很有意思，跟海軍比起來，陸軍也有自己特別之處，尤其是因應作戰需要也有自己特色的塗裝。 三式戰塗裝彩色化，來源：http://blog.livedoor.jp/irootoko_jr/archives/2407440.html\n本文概述日本二戰的陸軍飛行戰隊使用過的機體塗裝，並討論透過塗裝辯識飛機所屬部隊的方法。\n1. 二戰日本陸軍飛行戰隊的編制 # 在研究塗裝之前，先了解一下飛機名字代表的意義。\n比如看到這架飛機名字：\n一式戦 隼III型甲\n解讀方式如下：陸軍的機型一律使用「Ki」做代號，後面再賦予正式名稱，有的還會取綽號，例如 Ki-43 一式戰鬥機「隼」。\n「改」表示機體大改 甲: 引擎或用途變更 乙: 引擎、用途或武裝變更 丙: 武裝變更 此外，陸軍將引擎統一稱作「Ha」，例如Ha-115，對應的就是海軍的「榮」。\n再來了解一下日本陸軍飛行戰隊在二戰時的部隊編制。\n大日本帝国陸軍 陸軍飛行戦隊，由上到下，分為：航空軍 → 飛行師團 → 飛行團 → 飛行戰隊 / 獨立飛行中隊 → 3~4個飛行中隊 → 3個飛行小隊 → 3機分隊\n(下圖為筆者譯製) 2. 日本陸軍飛機的塗裝與迷彩樣式 # 說到塗裝的樣式分類，美國學者Donald W. Thrope將在照片上出現的各式各樣塗裝分成五大種類，可分為:\n全機單色(O) 上下二色(S) 斑點迷彩(B) 雲形迷彩(C) 全機金屬色或銀色(N) 以下圖片是各種塗裝的使用清況。\n(整理\u0026amp;製表: 筆者)\n首先是色表 再來是各種飛機的塗裝方案 還有一個N方案，基本上塗裝是金屬色或銀色。 飛機的塗裝使用狀況： 3. 日本陸軍飛機的塗裝演變 # 1938年 # 開戰前，在中國大陸戰場，還沒有隱蔽性的需求，塗裝大都是維持原廠出廠時的金屬色。\n此時的九五戰和九七戰，機身上只有供救援時辨識用的紅色「士氣」塗裝。\n而當戰事愈演愈烈，迷彩就顯得必要了，儘管本土的高層一開始駁回這些請求，但是部分戰地的部隊已經開始私下使用一些「應急塗裝」，主要是用於空中和地上掩蔽的迷彩。\n空中採用C型塗裝樣式，主要有五種類別，最常見的是C3、C4、C5。C3由綠色和棕色組成，C4則是二種綠色加上棕色組成。C5是由中藍色線條切割1~3的顏色組成，不過也存在例外情況。\n這些線條組成的樣式，類似於滿洲大地的河流顏色，可達到自上而下掩蔽的效果。主要應用於轟炸機和支援機種上。\n至於地上迷彩，則採用單色(S)或者是斑點(B)塗裝樣式，直接在出廠的機體上覆蓋。\nS2和S3是二種常見的方案，機身四處都噴塗易於從空中辨識的深綠色，機腹則維持出廠時的O型塗裝。\nS型塗裝一開始適用於大多數情況，但是到了植被稀疏的地帶，就需要斑點(B型)塗裝了。常見的是B1和B4，直接在機體上塗上深綠色。如果沒有噴塗工具的話，也會使用抹布、刷子和海綿來塗裝。\n使用雲型迷彩的九七式重爆 1940年 # 1940年，有些九七式重爆和九九式襲擊機是深綠色的斑點塗裝(B3)。部分預先投入戰鬥的一式戰也是這種塗裝，但一式戰的塗裝以S2較多。至於其他機種，因為長期的作戰損耗，斑點是原本的單色塗裝剝落後所形成的，可達到欺敵效果。\n1941年 # 1941年，出現了四種新塗裝: S1、S12、S15、B9。此時的出廠樣式，都是上部深綠色，下部金屬色，主要應用在一式戰、二式複戰、三式指揮聯絡機上。後期大部分機種都用上了這種塗裝，也是往後幾年一直可以見到的樣式。\nS12是偵察機專用的的塗裝，例如百式司偵，而且都是在中緬戰區就地塗裝而成的。S15是S1的變體，下部機身的顏色不是金屬色而是藍灰色。可在飛翔於中緬戰場上的九九雙輕、九八輕爆、百式司偵看到這種塗裝。\nB9，可能是第一種投入使用的波浪塗裝，往後幾年還會出現數不清的各種變體。這是一種典型的戰地塗裝，只會出現在叢林地區作戰的飛機上。除了單機使用外，團隊使用的機種包括三式戰、九七式重爆、九九雙輕。\n至於下部塗裝，三式戰通常是金屬色、九七重爆和九九雙輕則是淺灰色或是淺綠灰色。\n咖啡色塗裝的百式司偵 1942年 # N，O03，O05，S15出現了。N型就是完全無塗裝的金屬色，布製蒙皮機種則是銀色。這種塗裝應用廣泛，從戰鬥機到支援機種都有，包括二式戰、三式戰和部分一式戰，座艙前部還有藍黑色的防眩光塗裝，有些的控制面是淺綠灰色。\nO03是整機塗成藍灰色，只有應用在二式複戰、百式司偵上，用於本土防空的三式戰出廠時也是這種塗裝。\nO05用於夜間戰鬥機，不限機種。\nB2是深綠色的斑點覆蓋在03的藍灰色上，通常是戰地塗裝，但在二式複戰上比較少見。\n這種手繪的塗裝比B型的還要對稱，更有條理感。這種塗裝十分漂亮，或許是戰時最美的也不一定。本土防空的4戰隊和6戰隊的二式複戰，還有53防空戰隊是典型的例子。\nS15是另一種夜戰塗裝，上部全黑，下部維持金屬色，見於二式複戰、一式戰、二式戰。\n試飛中的三式戰，機體為金屬色 1943年 # O07、B5、B6、S8、S14出現。\nO07是全機塗成中灰色，見於使用支援機種的部隊，尤其是偵察和重爆機種的戰隊。\nB5是斑點塗裝的一種變體，可能是地面長期氧化所形成。\nB6常見於九七式重爆上，彎曲的中綠色線條可擬態成茂密的樹葉。\nS8是上部中灰色，下部金屬色的塗裝，常見於輸送機和聯絡機，例如百式輸送機和零式輸送機。\nS14使用的時間很短，或許是日本陸軍最花俏的塗裝，用途不明，可能用於夜戰，或者是因應洋上反潛需求。上部藍色，下部金屬色，見於一式戰、三式戰、百式司偵、本土防空戰裝備五式戰的戰隊。\n一式戰II後期型，25戰隊，1943年夏，南京 1944~1945年 # 最傑出的塗裝在這二年出現，主要是O04和B7，還有另外至少8種塗裝。\nO04是全機塗成白色，至少有一個百式司偵的戰隊使用這種塗裝，投降時盟軍也見過此種塗裝。\nB7是斑點塗裝的變體，上部塗裝就有四種顏色的斑點。見於近接支援機種，例如九九式襲擊機。\n1944年中以後，因為物資緊缺，修繕匱乏，良好的塗裝越來越少見。\n1945年，主要的塗裝有S10和S13。S10的上部塗裝為酒紅色，大多見於二式戰和四式戰上。有時候還跟底漆混在一起。\n四式戰塗裝，1945 Nakajima Ki-84 Type 4 Hayate ‘Frank’ 47 Sentai by Takayoshi Wada S13為支援機種使用的塗裝，常見於四式重爆和少部分百式重爆。\n飛行53戰隊「震天制空隊」的二式複戰，機體為咖啡色加上黃色的雷電標誌。 訓練機和試作機的塗裝 # 日本陸軍的試驗機種通常第一架原型機會漆成橘紅色，試驗投入作戰的就會塗成標準樣式。\n1944年到1945年，訓練機為全機橘紅或黃色，有些的引擎和起落架會塗黑。同樣若投入作戰後就會塗成標準樣式。\n1944年時，訓練機種上方為標準塗裝，下方保持黃色。但自1945年以後，全機都漆成標準塗裝。\n投降塗裝 # 日本投降後，用於輸送僑民和聯絡用的機種，需機身塗白，在機身上塗綠十字，表受降。\n4. 陸軍飛機的機體標誌含義 # 此處會談到日本陸軍飛行戰隊機體上各種符號的意義，\n這是一架日本陸軍飛機的示意圖 很多複雜的圖案對不?讓我為你一一解說各個編號的意義。\n1.防眩光塗裝\n1942年以後開始採用，如果是雙發機的話就是塗在靠座艙的引擎內側。有些訓練單位會把整個整流罩都塗黑。\n使用的顏色通常是全黑，中島生產的則會混入少許青色，通稱茄子藍。\n例子：菲律賓的百式司偵，注意引擎內側。 2.螺旋槳罩和螺旋槳\n1941以前，前方的槳葉是銀色的，末端50mm處有50mm寬的紅色色帶，後面是消光黑或者是接近黑的暗褐色。\n1941年，兩面都使用紅褐色，這樣前面同樣位置的色帶就改成了黃色、橙黃色。三式戰則使用70mm寬的、帶有一點白色的橙黃色色帶。\n1944年服役的四式戰和其他機種，槳葉塗成濃灰綠色。以螺旋槳為中心約2/3處塗上黃色或橙黃色的細線。\n美國擄獲的Ki-84，注意螺旋槳上的顏色。 如果是木製螺旋槳，使用的是明亮的茶色，前緣仍保持金屬銀色。\n螺旋槳罩的標準是紅褐色，應用的有試作二式戰、第一次性能提升的二式複戰、Ki-60。\n也有依據螺旋槳是什麼顏色就塗什麼的規範，用於識別所屬中隊，如紅、白、黃、青。\n少數的機體也有自己特有的塗裝，例如像是德國空軍的螺旋顏色。\n無塗裝的螺旋槳罩只見於訓練、測試用機種。 3.數字\n數字通常為二、三位數。戰爭早期使用的是假名，後來的數字仍可能包含飛行員、所屬地、部隊、學校等名字的漢字，也會配合色帶來作為部隊識別的例子。 數字可能會塗在: 垂直安定板、垂直方向舵、機身、起落架、氣冷引擎的整流罩。\n塗在機身上的，通常會漆在日之丸前面。\n起落架上的， 一般會跟其他地方的數字一致。\n另外，編號即使飛機損毀後也不會重複使用，可以給敵人製造一種我方越打越多的假象。\n數字代表的可能也是戰隊的名稱。\n4.我方識別條\n1941年以後採用，便於識別友軍，通常是用比橘色的練習機還要黃一點的橘黃色，漆於主翼前緣，寬度不小於15.24公分，長度不超過1/3機翼長。\n一式戰這類的起落架上也會漆到一部分線段。有時因為天氣和老化，黃色會白化或變得接近赭色。 5.色帶\n戰隊內用於識別第幾中隊、小隊的，也用於編隊位置、隊長機識別。有些是使用顏色區分，沒有使用過數字，例如戰隊本部青色、第一中隊白、第二中隊紅、第三中隊黃，第四中隊綠。\n注意這架五式戰的機尾 有些則是用色帶數量，顏色統一或使用戰隊內的顏色，如一條色帶代表第一中隊。如下圖的九七式戰鬥機。 另外一種則是使用直式、橫式、對角線的色帶來區別一、二、三中隊。\n漆在機翼上的色帶，通常是隊長機標識用的塗裝。\n參考下圖，「愛國710」，第一飛行戰隊隊長機。 6.部隊標識\n用於識別所屬單位、編隊位置識別，航空學校的機種漆在方向舵上居多。\n有戰隊下屬每個中隊都不同的。主要是塗在垂直安定板上，有些戰爭早期的機種的是在機身，並與機身色帶連在一起。有各式各樣的圖案，例如動物、所屬地名字、數字、漢字圖像化、也有使用假名的。\n注意這架四式戰機尾的垂直安定板。 7.任務色帶\n一開始稱作「戰地用標識」，開戰後基本就省略了這個稱呼。\n標識飛機的性質用。跟識別中隊的色帶不一樣，這個比較靠近機尾。\n白色或者黃、紅代表戰鬥用，有時混合的則為二線機種。\n黃色代表訓練用，白+紅+白為測試用機種，紅+白+紅則為非戰鬥機種。\n(注意機尾的垂直白色色帶) 8.資訊標示\n如襟翼、支架、槍口、機身上的飛機生產流水號、調整用的尺規。\n相較於海軍，陸軍比較少保留生產標示。\n陸軍飛機塗著各式各樣的圖案或警語，例如ノルナ「禁止踩踏」、「軍事機密」。 例圖，三式戰的標語。 三式戰的尺規 四式戰的機槍尺規。 9.日之丸\n通常深色塗裝的機體，日之丸外圍會有100mm的白圈，雖然大戰末期廢止，但還是有很多機種使用。\n盟軍飛行員必須注意日之丸還是很明亮的紅色的飛機，可能是新來的替補機種，也有可能是新手(green)飛行員。 10.防空標示\n顧名思義就是執行防空任務用的白色色帶，覆蓋在日之丸上。部分是黃色的，有些用於神風的單位也使用過這種色帶。不過有些專任的防空部隊沒有這個色帶也是很常見的。 11.塗裝，見上文\n12.資訊標示，同8.\n13.勝利徽標、個人徽標\n通常畫在機身左側，駕駛艙下方。需注意的是，日本陸軍大多數機上所畫的勝利徽標並不是單人所取得的，因為飛行員常因任務需要而更換飛機，所以才會有某些機體上的擊墜數誇張的高。只有某些資格老練的飛行員或隊長才會有自己專屬的座機。\n244戰隊小林照彥大尉擊墜B-29的圖標。 常見的擊墜徽章有: 星星、櫻花、雛菊、展翅、擊墜機種的輪廓。 至於個人徽標，有些是戰隊一起用的，像是橫貫機身的閃電塗裝。\n14.迷彩，見上文\n15.特殊機尾顏色\n部分部隊會把機尾整個塗滿。有些則是會在垂直安定板上方、最下方塗上跟螺旋槳罩一樣的中隊代表色，有時這也代表隊長機。 16.機內塗裝\u0026amp;其他:\n儀表板塗裝以鮮豔黑色為準。\n座艙內的塗裝依廠商而異，大戰末期因急速生產，直接裸露杜拉鋁的也有。\n四式重爆的內部。 九七戰和早期一式戰是暗黑青色的，1941年後~1942年以後的中島產品，座艙和起落架內部塗的都是青色透明顏料。\n至於三式戰，座艙和起落架塗的是川崎生產獨有的黃褐色。 除此之外，偏綠的青綠色、灰青色、黃灰綠色、暗灰黃綠色、青綠和卡其色也有使用。 天線的顏色通常是茶褐色，或是跟機體一樣的顏色。\n皮托管部份，鉻製的前端是銀色，後面同機體色。\n5. 陸軍飛機的機體判別法 # 簡述判別從塗裝判別機種所屬部隊的方法。\n注意以下提的皆有例外情況，我只是想要盡量整理出一些大致的規律，因此不見得適用所有機種。且這篇只是概論，不是詳細到每個機體塗裝的圖鑑。\n美國學者Donald W. Thrope在他的書中說過：\n「因為日本陸軍飛行戰隊的塗裝規範很鬆，所以在研究這些飛機時需格外小心，如果一個戰隊下的中隊有好幾種塗裝，這也是合理的，因為有使用各式各樣的機種。」\n因為規則比較亂，為此判別戰機塗裝時需格外注意，變化和例外的情況很多，請善用書本和「Gahoh網站」來輔助判別。\n我認為的判別的方法，需要三要件:\nA. 照片完整清晰\nB. 確定對象的機型\nC. 中機尾隊徽標\n有了A，並且B或C至少一個符合，這樣就可以下去細找了，需注意以機體當主題的書比較多。\n沒有機徽的只有二種情況: 工廠試作機、外國擄獲機。\n至於中隊識別用的色帶用法，很亂，因此至少要有二架以上的例子方可做進一步判別。\n(此推論若有誤敬請指出)\n簡單版判別的只有一個目標: 能知道該機屬哪個單位\n因為綜上所述(我知道你沒看)，連標示哪架是第幾中隊的識別方法都不統一了，唯一不變的，就只有中隊徽標了。或許你知道海軍是用三位數字來表示所屬，陸軍則傾向用一個特有的徽標來代表，或至少是圖像化的數字。\n知道所屬單位後，判別是誰的飛機範圍就會小很多。只透過塗裝和色帶很難推出飛機的資料。\n反過來說，從機型下手，翻專門介紹該機的書會更快。\n6. 後記 # 這篇文章是一邊上邏輯與哲學的通識課一邊寫的。\n本系列文完了，謝謝閱讀。\n想深入了解請參閱以下資料。\n參考資料與延伸閱讀 # 本文主要內容參考自Donald W. Thrope《Japanese Army AirForce Camouflage and Markings World War II》\n還有翻譯日本Model Art雜誌的「日本陸軍軍機塗裝」：日本陆军飞机的涂装- 知乎\n圖片部分來自：1989年Model Art 第329期「日本陸軍機の塗装とマーキング戦闘機篇 (モデルアート4月号臨時増刊)」\n專書可以參考:\n文林堂《世界の傑作機》→ 現在還有在出版的系列雜誌\n潮書房《丸メカニック》→ 解剖軍機構造為主\n日本陸軍の翼－日本陸軍機塗装図集〈戦闘機編〉 （デジタルカラ−マ−キングシリ−ズ），2015年\nJapanese Army AirForce Camouflage and Markings World War II，Donald W. Thrope，1968年 → 本文主要參考資料\u0026amp;圖片來源1\n日本陸軍機の塗装とマーキング戦闘機篇 (モデルアート4月号臨時増刊)，Model Art 第329期，1989年 → 本文主要參考資料\u0026amp;圖片來源2\n","date":"2019年3月11日","externalUrl":null,"permalink":"/posts/ijaaf-camouflage-and-markings/","section":"Histories","summary":"日本陸軍飛行戰隊的塗裝一直很有意思，跟海軍比起來，陸軍也有自己特別之處，尤其是因應作戰需要也有自己特色的塗裝。 三式戰塗裝彩色化，來源：http://blog.livedoor.jp/irootoko_jr/archives/2407440.html\n本文概述日本二戰的陸軍飛行戰隊使用過的機體塗裝，並討論透過塗裝辯識飛機所屬部隊的方法。\n1. 二戰日本陸軍飛行戰隊的編制 # 在研究塗裝之前，先了解一下飛機名字代表的意義。\n比如看到這架飛機名字：\n一式戦 隼III型甲\n解讀方式如下：陸軍的機型一律使用「Ki」做代號，後面再賦予正式名稱，有的還會取綽號，例如 Ki-43 一式戰鬥機「隼」。\n「改」表示機體大改 甲: 引擎或用途變更 乙: 引擎、用途或武裝變更 丙: 武裝變更 此外，陸軍將引擎統一稱作「Ha」，例如Ha-115，對應的就是海軍的「榮」。\n再來了解一下日本陸軍飛行戰隊在二戰時的部隊編制。\n大日本帝国陸軍 陸軍飛行戦隊，由上到下，分為：航空軍 → 飛行師團 → 飛行團 → 飛行戰隊 / 獨立飛行中隊 → 3~4個飛行中隊 → 3個飛行小隊 → 3機分隊\n(下圖為筆者譯製) 2. 日本陸軍飛機的塗裝與迷彩樣式 # 說到塗裝的樣式分類，美國學者Donald W. Thrope將在照片上出現的各式各樣塗裝分成五大種類，可分為:\n","title":"一看就知道是陸軍的飛機！二戰日本陸軍飛行戰隊塗裝概說","type":"history"},{"content":"1/72フルアクションキット セレクト 零戦21型\n2017年，F-Toys 1/72 Full Action模型所推出的第一個系列，就是日本海軍在二次大戰中著名的主力戰鬥機「零戰二一型」，以駐紮在日治台灣的台南航空隊為主題，收錄了其中5位王牌的座機。 最早於2017年5月29日發售的「1/72フルアクション vol1 零戦21型」只有一種黃黃的飴色塗裝，購買者被抽中可以獲得一個支架。我這個則是2017年10月9日發售的「1/72フルアクションキット セレクト 零戦21型」，以台南航空隊為主題。\n我購買了其中一架來組，價格大約台幣400元。\n今天就來簡單介紹他們的背後故事吧。\n「零戰二一型」由三菱重工開發，在前型「零戰一一型」的基礎上增加著艦鉤，使其可以在航空母艦上運用，但是也可以部屬在南方島嶼的機場上。在日本最輝煌的時期橫掃東南亞戰場，也是二戰日本代表的機型之一。 首先介紹台南航空緣起，再接著介紹本系列的座機飛行員們。\n模型細節 # 組裝十分簡單，用鉗子和模型膠弄一弄之後，幾分鐘一個1/72的可動零戰模型就完成了！不需要上色。\n零戰的機身塗裝應該是為飴色，而非白色。史實是有點黃黃的顏色，不過這裡卻是灰灰的白色。 依照光線不同會呈現不同的顏色。這張沐浴在夕陽下的成色比較接近真正的零戰塗裝顏色。 機身的生產編號都有寫出來，增加逼真程度！ 零戰的八角籠座艙罩，我塗裝的不好，沾到太多膠水了 :P 史實上的台南航空隊曾經抱怨天線桿通訊很爛又增加飛機阻力的問題，所以隊長帶頭鋸掉天線。這裡為了呼應史實，我也不裝天線桿！ 這個模子開的很精緻，有著艦鉤和副翼。翼尖可以反折，呼應史實放入航母升降梯。 我比較疑惑副翼可動，為什麼襟翼卻沒有做出來。 台南航空隊簡介 # 台南海軍航空隊於1941年1月在日治台灣的台南機場成立，二代目則是1943年成立，改名「251空」，機尾代碼「タイ」。\n其參與了珍珠港事變後一系列的南進作戰，包括空襲菲律賓、新幾內亞、瓜島的作戰等等。二代目則參與了台灣航空戰和特攻。\n該部隊是大日本帝國海軍有名的王牌部隊之一，產生了許多王牌飛行員。\n以下是1942年8月4日台南空一代目的合照 1943年11月，二代目的合照。 台南空裝備的戰鬥機主要是各型號的「零戰」和「雷電」二一型。\n編號V-128/V-107 坂井三郎 # 坂井三郎 中尉的座機，戰後出了多部書介紹戰時經歷，台灣有出版的包括如《荒鷲武士》、《零戰的命運》，因此有許多故事可以說，是戰後的航空界名人。 坂井三郎和同為台南空的岩本徹三，一般被學者認為是日軍最高擊墜的王牌飛行員。\n編號V-107也是坂井三郎的座機。1942年8月8日，坂井誤闖入美軍轟炸機群之中，遭到後部機槍手射擊，右眼被碎裂的防風玻璃刺中，拚了命的返航，最後被送回本土休養。\n1945年硫磺島戰役時，坂井三郎將一群F6F看成友機，被追擊後成功迴避了攻擊逃回了基地，目睹此景的美軍飛行員也認為其技術高超。\n如果有注意看的話，上面列表的零戰沒有天線，這是因為坂井三郎帶頭把不可靠的天線給鋸了。\n「左捻り込み」是他使用零戰發明的空戰絕招，只在不得已的情況下使用。 編號V-141 有田義助 # 有田義助 二飛曹座機，該機由大林組建設公司捐贈，1942年5月1日，該機出擊後未歸還。\n戰時企業捐贈給海軍的軍機會寫上「報國XX號」。\n編號V-138 笹井醇一 # 笹井醇一 少佐座機。外號有「拉包爾的里希特霍芬」、「拉包爾的貴公子」。1942年8月14日，追擊一架降落中的F4F時遭美軍飛行員Marion Eugene Carl擊墜身亡。 里希特霍芬(Manfred Albrecht Freiherr von Richthofen)，外號紅男爵，一戰時期德意志帝國的飛行王牌。\n編號V-171 西澤廣義 # 西澤廣義 中尉座機。外號有「拉包爾的魔王」、「台南空三羽鳥」。1944年10月26日，其乘坐的百式重爆遭美軍擊落。 台南航空隊中，西澤廣義、坂井三郎、太田敏夫被稱為「台南空三羽烏」。1942年5月16日傍晚，三人飛到盟軍基地上空表演飛行特技以示挑釁，因此被笹井醇一訓了一番。\n參考資料 # 《戰史》雜誌No.25，2018年12月\n維基百科\n1/144 F-toys ＆ WCC 台南海軍航空隊 | 長男末っ子の球あそび\nHineri-Komi Maneuver - World War II Wiki - Fandom\n局地戰鬥機-雷電改二一型(J2M3) 進駐台南空!!!! - 《台南海軍航空隊》\n１７年８月４日 台南空戦闘機隊集合写真\n１７年１１月 台南空（２５１空）戦闘機隊集合写真\n","date":"2019年2月7日","externalUrl":null,"permalink":"/posts/f-toys-1-72-scale-full-action-vol-1-mitsubishi-a6m2/","section":"Artworks","summary":"1/72フルアクションキット セレクト 零戦21型\n2017年，F-Toys 1/72 Full Action模型所推出的第一個系列，就是日本海軍在二次大戰中著名的主力戰鬥機「零戰二一型」，以駐紮在日治台灣的台南航空隊為主題，收錄了其中5位王牌的座機。 最早於2017年5月29日發售的「1/72フルアクション vol1 零戦21型」只有一種黃黃的飴色塗裝，購買者被抽中可以獲得一個支架。我這個則是2017年10月9日發售的「1/72フルアクションキット セレクト 零戦21型」，以台南航空隊為主題。\n我購買了其中一架來組，價格大約台幣400元。\n今天就來簡單介紹他們的背後故事吧。\n「零戰二一型」由三菱重工開發，在前型「零戰一一型」的基礎上增加著艦鉤，使其可以在航空母艦上運用，但是也可以部屬在南方島嶼的機場上。在日本最輝煌的時期橫掃東南亞戰場，也是二戰日本代表的機型之一。 首先介紹台南航空緣起，再接著介紹本系列的座機飛行員們。\n模型細節 # 組裝十分簡單，用鉗子和模型膠弄一弄之後，幾分鐘一個1/72的可動零戰模型就完成了！不需要上色。\n零戰的機身塗裝應該是為飴色，而非白色。史實是有點黃黃的顏色，不過這裡卻是灰灰的白色。 ","title":"三菱 零戰二一型 可動模型 \u0026 台南航空隊的王牌們簡介｜F-Toys 1/72 FullAction Vol.1","type":"artwork"},{"content":"「城堡衝突」是MC Jams的一個系列作。\n每一集的劇情基本上就是二個隊伍，以堡壘為舞台，進行PVP大亂鬥。贏的那隊下集就換他們被幹掉，特例是有一隊活了超過3集，當然最後手上的財產還是被另一隊搶走。\nMC Jams有向玩家徵求皮膚的習慣，這些作品裡，玩家的皮膚將不再只是路人，而是作為主角群戰鬥，所以這系列玩家皮膚曝光率很高。\n第1集「城堡衝突」Castle Raid # 第2集「組隊去」We Be Teaming # 第3集「像老大一樣」Like A Boss # 第4集「這可是戰爭」This Is War # 第5集「我要那裝備」Need That Loot # 第6集「保持強大」Stay Strong # 第7集「城堡衝突」Castle Raid # ","date":"2019年2月6日","externalUrl":null,"permalink":"/posts/minecraft-jams-castle-raid-series/","section":"Minecrafts","summary":"「城堡衝突」是MC Jams的一個系列作。\n每一集的劇情基本上就是二個隊伍，以堡壘為舞台，進行PVP大亂鬥。贏的那隊下集就換他們被幹掉，特例是有一隊活了超過3集，當然最後手上的財產還是被另一隊搶走。\nMC Jams有向玩家徵求皮膚的習慣，這些作品裡，玩家的皮膚將不再只是路人，而是作為主角群戰鬥，所以這系列玩家皮膚曝光率很高。\n第1集「城堡衝突」Castle Raid # 第2集「組隊去」We Be Teaming # 第3集「像老大一樣」Like A Boss # 第4集「這可是戰爭」This Is War # 第5集「我要那裝備」Need That Loot # 第6集「保持強大」Stay Strong # 第7集「城堡衝突」Castle Raid # ","title":"城堡衝突系列介紹 Minecraft Jams - Castle Raid","type":"minecraft"},{"content":"","date":"2019年1月27日","externalUrl":null,"permalink":"/tags/mitsubishi/","section":"標籤","summary":"","title":"Mitsubishi","type":"tags"},{"content":"三菱Ki-67四式重爆「飛龍」，陸軍代號キ-67，盟軍代號「Peggy」。\n總括來說，飛龍是日本陸軍最後一款投產的轟炸機，設計時間為日本轟炸機最長，在戰局艱困的最後二年，參與台灣沖航空戰，在最前線與美軍奮戰著。 飛龍在「航空擊滅戰」的作戰思想下誕生了，按照「昭和15年版重爆設計方針」設計。它的載彈量與同時期他國的同等級產品相比低了很多，不過該機體以中型機來說擁有極佳的操控性，靈活程度可比擬單發轟炸機。時速可超過600km/h，同時也擁有俯衝轟炸的能力。\nKi-67相較於前輩Ki-21 九七式重爆、Ki-49 吞龍的改進包括: 機身前部做長些，兼顧改善視野和提升縱向穩定性。還有將駕駛艙拓寬，這樣有利於編隊作戰；過去日本轟炸機所缺乏的防彈裝甲還有滅火器一應俱全。 航程部分，雖然陸軍沒有過分要求，但是三菱考慮到航程的重要性，讓他擁有了3800km的航程，優於九七式重爆，劣於一式陸攻。\n陸軍對其很感興趣，1942年試飛以後，與大東亞決戰機 Ki-84 四式戰「疾風」並列為重點生產機種。\n1. Ki-67的開發過程 # 在中國戰場作戰之後，日本陸軍欲尋求百式重爆「吞龍」的後繼型號。在1940年3月6日，「昭和15年版重爆設計方針」通過。\n5月13日，陸軍本部向三菱重工名古屋製作所所長和工作部部長服部以及設計課長河野文彥下達研發命令，要求6月設計完成，9月就要完成全尺寸模型。飛龍由河野文彥和小澤久之丞負責設計。\n6月28日，三菱營業第二部部長武田次郎收到陸軍本部正式定稿的「Ki-67設計基礎要項案」:\n用途: 攻擊敵軍機場和部隊 常用高度: 4000m~7000m 行動半徑: 1000km，並可再滯空2小時，載彈量較低時1500km 最大速度: 550km/h 乘員: 6~8名 座位: 9~10 載彈量:500kg，作戰半徑700km的特殊情況下為750kg。 引擎: 三菱Ha-101、104，或中島Ha-103 自衛武裝: 機背13mm機槍一門，機首、後方二側、後下方各一門九八式7.7mm機槍，一挺3連裝機槍。 12月14日至16日，陸軍航空隊所屬的酒本英男少佐來到名古屋三菱製造所審查Ki-67原型機，討論後取消機腹砲塔，將後兩側的內置機槍改成向外的氣泡式設計並擴大射界。 航電方面，要求安裝飛1號無線電收發機/無線電羅盤、九五式機械自動駕駛儀。還需安裝發電機、蓄電池、夜間照明燈還有電加熱設備，配合供每位乘員呼吸7小時以上的氧氣瓶。\n1941年5月15日至17日，最後一次審查敲定了各項指標。\n軍方要求Ki-67採用防彈油箱和防火設備，並且設計需能方便大量生產。最終小澤久之丞選用的是較為穩定的三菱Ha-104，出力1900hp。 考慮投彈穩定性和速度，Ki-67的彈艙艙門為向内開啟式，這樣可以增加投彈的穩定度。 1942年11月，完成Ki-67第一架原型機，編號6701。\n12月27日，在岐阜飛行場首飛。測試發現操控有點敏感，高速俯衝時尾舵會產生震動，且在要求的作戰高度，僅飛出537km/h，比指定的速度略低。\n負責審查的酒本英夫少佐認為Ki-67操控性優異，又考量到戰況惡化，提出安裝魚雷的測試，藉由關係人士交由橫須賀海軍航空隊指導，進行雷擊測試。\n詳細情況請參考：陸軍雷撃隊～誕生～ - 電脳大本営\n1943年，陸軍給了三菱6個月時間，再建造6架測試用機種。從4號機開始，重新設計了操控系統，增設油箱加長航程，機身各處的九八式7.7mm機槍換成12.7mm Ho-103機槍。 2月，設計暫停，與其他廠協調建造事宜。除了在三菱自家的3家工廠建造外，亦分配給川崎、日本航空、立川第一陸軍兵工廠製造，以滿足南方前線的迫切需要。\n1944年3月，陸軍正式制式採用Ki-67，命名「四式重爆一型甲 飛龍」。第一架量產型從名古屋三菱五號工廠走下生產線。 因為1944年12月的東南海地震和後續美軍轟炸，Ha-104的工廠受到波及，大大影響了Ki-67的產量。再加上陸軍一再變更的設計指標，導致Ki-67到戰末的產量只有688架，低於原訂的1840架。他廠的產量亦不理想，原定由三菱送交機體給他們組裝，川崎只生產了91架，立川陸軍兵工廠1架。 Ki-67各型性能表: 2. Ki-67衍生機型 # Ki-67有分成甲型和乙型，二者最大差異為乙型的尾部機槍升級成雙連裝的12.7mm機槍，並加裝對海雷達。\n在Ki-67的量產型號基礎上，日本陸軍對其進行了各式改裝，包括試著裝設仿自美軍諾頓投彈儀的「四式自動爆擊照準器」。\n雷擊機型\n1944年1月5日，陸軍正式指示改造一部分機體。\n因為彈艙不夠收納，所以魚雷是掛在機腹外面。為了用於夜間雷擊，還裝設了「タキ13號」高度計。海軍內部將飛龍稱為「靖國」。 雷擊機型亦裝設有對海用搜索雷達。 Ki-109\n為了迎擊B-29，酒本少佐提出改裝成「特殊防空戰鬥機」的構想。\n1943年11月20日，下令試做Ki-109甲、乙，前者在機背安裝二門37mm Ho-204機砲，後者則安裝雷達和探照燈，計畫二機在夜間協同編隊作戰。\n1944年1月，因75mm八八式高射炮有擊墜B-29的戰果，下達安裝八八式的Ki-109試製計畫。3個月設計完成。8月，Ki-109一號機完成。 但是，即使拋棄幾乎所有的砲塔減重，並安裝三菱製特呂火箭期望能在高空增加些微速度，最終仍因高空性能不佳，追不到B-29，取消該用途，改用於護衛關釜聯絡船，和對登陸艇的攻擊。\nKi-109包含試驗機在內，共生產了22架。 拖曳滑翔機「Ku-7」的母機\n用來拖曳滑翔機「Ku-7」的母機(圖片右方)。試飛成果良好，但因戰局惡化，日軍逐漸轉入守勢用不到而放棄。 安裝「イ號一型甲」測試\n這是由三菱生產的無線制導炸彈，在離目標10km、高度1000~500m處投下，落下1.5秒後由火箭推進，採無線操控的方式以時速約660km衝向目標。類似納粹德國同期研製的產品Fritz X。 本來是取代自殺特攻的良好武器，可是日本技術太爛，直到終戰為止都沒有用於實戰。1944年8月開始設計，10月完成一號機，後來一個月再完成了10架。\n改裝成特攻機\n有「ト號機」和「桜弾機」。\n前者在機背砲塔位置裝載2顆800kg炸彈，機首有一根長長的引信用於引爆。 後者則是裝備重達2900kg的「桜弾」，二者都將機身砲塔廢除。\n增加武裝作為長距離攻擊機\n1945年6月下令，預計將機背武裝全數撤去，載油7500升，航程2500km，機腹增設4門向下20mm機砲，利用超低空飛行突入塞班島，破壞島上的B-29。在終戰時完成了60%。 其他衍生機型尚有運輸機Ki-97、木製版Ki-112、轟炸機護航機Ki-69等計畫。而裝設新引擎的改進型號Ki-67改和Ki-67 II，只製造了2架。\n3. Ki-67用於實戰 # 飛龍經過了漫長的測試和調整，在1944年3月正式投產。\n在這一年，日軍佔領的塞班島、馬里亞納群島接連失守，盟軍正一步步進逼日本本土，本篇要來講述飛龍在太平洋戰爭後期的奮鬥史。\n虛幻的大戰果：台灣航空戰 # 10月，在菲律賓戰役爆發前，美軍為防止日軍增援菲律賓，開始大規模空襲日治臺灣，爆發「台灣航空戰」，此時飛龍第一次投入作戰，作為攻擊的「T部隊」的一角。\nT部隊，正式名稱是第七六二海軍航空隊。屬「第二航空艦隊」轄下。由飛行98戰隊、2個一式陸攻飛行隊、1個銀河飛行隊、1個天山飛行隊組成，戰鬥方式為趁天亮或日落光線昏暗之時對美軍艦隊進行攻擊。\n駐紮在台灣的陸軍飛行第7戰隊，屬於海軍旗下的部隊。海軍把「飛龍」稱作「靖國」。 駐紮在台的飛行98戰隊，跟第7戰隊一起，偕同海軍對抗台灣東部洋面的美軍艦隊。 此次的作戰，是日本首次大規模的雷達導引夜襲。\n美軍繪製的日治台灣機場部屬地圖 10月12日早上6:00，美軍出動1378架機次空襲臺灣，島上陸海軍飛機起飛迎擊，仍不敵美軍轟炸。\n夜間，索敵機好不容易發現了美軍艦隊，凌晨01:35分， 30架陸攻向美艦TF 38發起攻擊。美艦使用煙霧做為掩護，使得日軍得投下照明彈。\n據輔助照明的機組回報，一發魚雷命中航母富蘭克林(USS Franklin CV-13)，兩發命中重巡坎培拉(USS Canberra CA-70)。\n但是美軍記錄顯示，該夜除了驅逐艦Prichett(DD-561)被友軍誤擊外，美艦並沒有任何損失，日軍損失11架飛機。\n晚間18:00，在沖繩的98戰隊，細田哲生大尉率領8架裝有電探的飛龍起飛搜索和提供照明；一小時後，高橋太郎少佐率裝有魚雷的飛龍部隊起飛前往攻擊地點。\n21:50，觸接機取得美艦位置，約位於石垣島南方160km處 。\n23:50，照明開始，持續了3分多鐘，但因為燃料不足必須返航。\n該晚，照明隊全滅，攻擊隊3架未歸還，飛龍的第一次出擊沒有任何戰果。\n由於照明隊全滅，無法進行夜間攻擊，改以日落時攻擊。\n遭到夜襲的美軍，早已做好了準備。\n13日，16:35時，宮鳩少佐領導的機隊起飛，目標是石垣島南方的美軍艦隊。\n16:40，美軍雷達發現日機蹤影，貝勒森林號航母(CVL-24)艦載機前往攔截。\n18:29時，以極低高度飛行，躲避雷達偵測的銀河與美軍艦隊開始觸接。\n全軍突擊的代號「ト」電報連發，攻擊開始了！遭到攻擊的是TG 38.1、38.4。\n第一中隊第2編隊長平田英一大尉機，機尾的機槍手鐮田靜憲曹長回憶當時的情況:\n「左下的飛龍冒著火仍向前突擊，右下的吉川大尉機也噴出火焰。我機逐步突破敵人的輪型陣，眼前所見盡是防空彈幕。見到目標航母後，投下魚雷！冒出二道火柱，脫離時又有4、5架飛龍掉入海裡。」\n從左翼突入的齋藤敢大尉則說，被F6F追趕時，節流閥全開，就甩脫了敵方的射擊。\n同為齋藤大尉機的渡邊時男中尉則回憶：\n「接近目標時，防空砲的曳光彈四散，貫穿機體煙霧瀰漫。我方見到目標時，齋藤大尉大喊『預備，發射！』後按下魚雷發射鈕，魚雷直直衝往目標，我機飛越目標時仍被防空炮火追打，在防風玻璃上開了一個30cm的大洞。隨後尾部機槍手磐井保兵長回報:『擊沉！』」\n但是該晚，美軍記錄並無損失任何航母，投放的魚雷從航母富蘭克林前方和舷下穿過，僅重巡坎培拉遭一發銀河的魚雷命中，摧毀機艙爐造成大火，可是沒有沉没，後來被拖曳回本土修理。\n拖曳中的坎培拉 經過這二晚，總計54架未歸還，98戰隊就佔了26架，受損甚鉅，於是台灣航空戰結束後98戰隊進入重編狀態。\n一直到15日，日軍向上級稱戰果為，擊沉和損傷空母19，戰艦4，巡洋艦7，艦種不明15等，大本營歡喜若狂。\n然而在10月19日，陸軍憲兵隊審問被俘虜的美軍飛行員時得知，實際上美軍受損甚微，只有坎培拉受損較大而已。\n重視情報戰的陸軍中佐堀榮三 會造成此種誤報的一部分原因在於，攻擊隊員攻擊時因為環境因素而無法正確判斷是否擊沉，看到的火球也可能只是被擊墜的僚機；而如果他們被擊落的話，基地人員也僅能從電文這少許的線索判斷。\n值得一提的是，飛龍同海軍轟炸機一樣使用魚雷進行攻擊，這是在測試之時審查員酒保英夫的提議，交由橫須賀海軍航空隊測試。\n飛龍的彈艙沒辦法像銀河和一式陸攻一樣將魚雷勉強收進去。飛龍是外掛在機體外的。 參與菲律賓戰役 # 台灣航空戰與菲律賓戰役的地圖一覽。黑線為日軍，紅線為美軍。 經過10月下旬的雷伊泰灣海戰後，日本陸上航空部隊受損甚大。10月21日，日本海軍首次發起神風特攻。\n24日，浜送飛行師團將第一教導飛行隊的9架飛龍改造成特攻機，命名「富嶽隊」，28日抵達菲律賓克拉克機場，特攻到隔年1月12日損失殆盡。 11月8日T部隊被遣往菲律賓支援，隔日T部隊的上級，第7戰隊從宮崎飛來22架飛龍。\n13日，高雄的12架飛龍和其餘T部隊飛機出擊，未發現敵艦。直至14日，菲律賓克拉克機場可以使用的飛龍有8架。\n19日，台灣7戰隊殘存的6架飛龍和13架一式陸攻起飛進攻，指揮的山村卓彥少佐認為，晝間攻擊效果不佳，決定也使用日落時突襲。編隊以200m高度南下飛行，其間遭到4架F6F襲擊，自衛機槍擊落了一架。\n到達指定地點10分鐘後，向基地發送發現敵艦的電報，確認是巡洋艦，編隊開始突擊。\n「機動閃躲黑壓壓的防空炮火，距離500m、高度30m…照著練習時做的一樣投下魚雷。前方的岡部郁三少尉往敵艦甲板掃射，後上方機槍手副島英治少尉受傷。飛龍脫離急爬升時，透過觀景窗看到巨大的水柱，興水芳男曹長回報:『擊沉』！」\n隨後回到基地時，發現編號7-77號的該機，機體上有160個彈孔。\n這次行動2架飛龍未歸還。隨後飛龍還夜襲雷伊泰灣，擊沉了一艘大型輸送船，並連夜對雷伊泰島的獨魯萬機場發起攻擊。\n11月27日，T部隊回到台灣，7戰隊則返回日本本土。\n塞班島的攻擊行動 # 接著是飛龍第一次使用航空炸彈進行攻擊。早在6月美軍登陸塞班島之時，陸軍就要浜松飛行教團待命。\n參照下圖，美軍攻佔塞班島之後，便將其修建成能佈署B-29起降的基地，足以空襲日本城市。 11月2日、6日、26日夜晚，以新海希典少佐為隊長的第二獨立飛行中隊，使用九七式重爆突襲成功。\n12月6日，新編成的飛行第110戰隊前往硫磺島。12月7日出擊後二架飛龍因故障而返回。\n參與此次攻擊的飛龍裝載有15枚50公斤炸彈，機身内多了二個200公升的油箱，隊長機皆裝有タキ對地雷達。\n凌晨3點，第二中隊長飯淵駒雄少佐率3機從塞班島南邊突入；草刈少佐率5機直接從東部突入機場，最終6機未歸還。\n塞班島上的B-29 與此同時，26日~27日，海軍指揮下的7戰隊也使用飛龍攻擊塞班島，陸軍為此向海軍抗議將其用在雷擊以外的用途上。\n日本到塞班島的路途遙遠，飛龍需加裝油箱和拆卸武裝才能抵達；另一個對地掃射的飛龍改型，一直到終戰都沒有完成。\n從硫磺島到沖繩 # 時間來到1945年2月的的硫磺島戰役，儘管在硫磺島戰役期間，日本海軍並沒有派出任何艦艇協防，但是飛龍仍有參與零星的夜襲和空投物資，主要參與的是110戰隊和正在換裝飛龍的60戰隊。參與攻擊的大部分在回報「擊沉敵艦」就無下文了。\n硫磺島被攻佔後，日本陸軍航空總軍編成2個特別中隊，外號「夜鷹部隊」。在5、6月時三度夜襲硫磺島上停放的美軍戰機，取得些微戰果。\\\n美軍佔領硫磺島後將其做為B-29的中繼站，離日本更進一步的同時，也能進駐陸軍戰鬥機提供護航 3月，美軍在進攻沖繩前欲先削弱航空力量，因而派出大批艦載機空襲，是為九州航空戰。\n為反擊美軍空襲，3月18日02:15時宇垣纏下達攻擊命令。海軍第五航空艦隊，7戰隊、98戰隊共有24架飛龍可出擊，一半裝有タキ高度計。\n攻擊方法同樣是夜襲，三機一組，投下照明彈後僚機突入。\n18日到19日，陸續對美艦造成傷害，航母無畏(CV-11)、約克鎮(CV-10)、企業(CV-6)小破。\n南九州的基地因遭到美軍空襲，98戰隊只好退避到朝鮮釜山。\n陸軍的62戰隊，二月時被指定全隊特攻，3月14在大分進行跳彈攻擊訓練時美軍來襲，移動到西筑波，可用的飛龍只剩4架。\n特攻型的飛龍裝載800kg炸彈，拆掉前射和機背機槍，還有另在機身內塞重達2頓的大炸彈的版本。\nト号 特別攻撃機 富嶽隊（飛行第62戦隊）古田少尉機 桜弾装備特別攻撃機 飛行第62戦隊第2中隊 溝田少尉機 3月19日15:40時，電報「攻擊ハ特攻トス」一聲令下，以三浦忠男中尉為首的機隊起飛。\n途中因雲層太厚，三浦機降低高度，突然後上方機槍手大喊「敵機來襲！」右後方射來曳光彈。三浦機繼續低空搜索美艦，但天色昏暗，燃油不足便返回基地。出擊的機隊中1機未歸還。\n九州航空戰，日本陸海軍的攻擊隊損失甚鉅，戰果為二航母大破、1航母中破。\n4月，沖繩戰役，參與的為第五航空艦隊下轄的7戰隊、98戰隊，陸軍第110、60、62戰隊。\n飛行第110戦隊第1中隊 岡本中尉乗機 1945年沖繩島上的機場。 海軍專注的目標為沖繩周遭的軍艦，60和110戰隊則以島上機場為主要目標。\n3月26日~4月2日陸續投入攻擊。4月1日美軍登陸沖繩本島。\n4月12日早上，60戰隊和110戰隊低空突擊嘉手納機場，成功造成大火，損失一機。\n14日和16日，雷擊隊回報擊沉2艦，損失2機。\n15日，60戰隊4架飛龍又攻擊嘉手納機場，造成5機燃燒，中彈後返回基地。\n17日，62戰隊參與沖繩特攻，使用的是櫻彈機和ト號機。\n5月24日，發動義号作戰，該作戰是強行讓部隊空降，破壞機場。60戰隊和110戰隊派出6架飛龍支援轟炸，損失5架。\n25日06:01時，62戰隊發起最後一次特攻，ト號機和櫻彈機各二架從太刀洗起飛，途中雲層密佈，ト號機皆未找到目標，而08:57、09:52時分別傳來發現戰艦、大型艦的突入電報。\n直到6月，陸軍仍使用飛龍往沖繩守軍空投物資，零星的攻擊一直持續到8月；7戰隊也回報擊沉了2艘艦隻。\n巴厘巴板雷擊 # 下圖紅色為1945年日軍佔領區，菲律賓被攻佔後基本切斷了本土與南方的聯繫。 即使在這種情況下，藏匿在南方的61戰隊，仍對美軍發起攻擊。\n海軍取名為「七生神雷隊」。 出擊前有說有笑的隊員。 在海軍的協助下安裝九一式魚雷，6月25日17:00，中島要 少佐率領5架飛龍從泗水起飛，在巴厘巴板南方發現敵艦，地面部隊目擊擊破、擊沉8艘。負責觸接的吉谷大尉機未歸還。\n見證終戰 # 8月15日日本投降後，參謀次長河邊虎四郎中將率領的投降代表團在接受了麥克阿瑟的投降書之後，搭乘一式陸攻改裝來的一式大型運輸機，上面依照戰後連絡機規定塗有綠十字。\n綠十字塗裝的一式輸送機。 20日起飛後發生機械故障於靜岡縣天龍川河口迫降。21日，代表團改乘浜松陸軍飛行場派來的一架飛龍前往調布機場。\n「綠十字飛行」為戰後日本機聯絡用的塗裝樣式。 4. 後記 # 2020年10月24日。\n飛龍登場的時期已沒有太多的表現機會，且似乎並沒有其在中國戰場的作戰記錄。從戰例可以得知後期日軍瘋狂使用神風特攻的同時，也想辦法使用非常規的夜間攻擊，活用雷達頑抗到底。\n在遊戲《War Thunder》推出的型號為Ki-67甲型和乙型，以及裝備75mm防空炮的Ki-109，分房權重歷史模式4.0/4.3/2.7，街機則是4.7/5.0/2.7（這幾架在1.67剛出來時歷史模式的權重跟街機一樣高得離譜，後來全數調降） 遊戲定位為前線轟炸機，可帶魚雷可是載彈量甚至比九七式重爆低。繼承日本機的操縱性能，自衛火力是12.7mm和Ho-5機砲構成。\n基於這架飛機讓我學會大型機（？）的操作所以花了一個學期研究，然後整理出以下相關資料作為回饋。\n另外一個原因是因為，過去在查閱中文Wiki時發現了一些錯誤說法，並且因為資料較少導致以訛傳訛，希望研究的資料能提供改正。例如「靖國」這個名字並不是Ki-109的代號，而是海軍給轟炸機型的飛龍所取。\n《艦隊Collection》也ㄧ實裝了各種型號的飛龍，是很強的陸航攻擊武器～\n設計上來說從載彈量偏低，鑒於日軍的運用方法非將其用於戰略轟炸，而是前線攻擊和反艦，就這點來說飛龍的設計不算失敗，承襲日本轟炸機良好的機動性的同時擁有中等的自衛火力，為日本最後的奮鬥做出了一定貢獻。\n飛龍的簡單介紹到此為止，想看更細部的戰役經過和訪談，可以參閱參考資料的幾本書。\n本人語言能力欠佳，闕漏之處煩請不吝指出。\n研究飛龍，寫著寫著一學期就過去了\u0026hellip; 參考資料 # Mitsubishi Ki-67/Ki-109 Hiryu in Japanese Army Air Force Service 這本是英文書，大致說明開發過程和作戰過程。書末附有使用Ki-67的部隊列表和各型Ki-67的表格。\n世界の傑作機 1974年 6月号 NO.50 特集-三菱 四式重爆撃機 飛龍\n世界の傑作機 1986年 7月号 NO.156 特集- 4式重爆撃機「飛龍」\n世界の傑作機 (No.98) 「陸軍四式重爆撃機「飛龍」」\n這三本的內容差不多，越晚出的越詳細，且有原設計師的專欄解說。解剖部分雖不如第五部書那麼詳細，但還是都有塗裝和武裝細部的插畫，照片很多，本文大部分取自其中。\n丸メカニック NO.32 マニュアル特集 四式重爆撃機「飛龍」 (世界軍用機解剖シリーズ) 本書附有全彩的構造圖以及每個機體零件的細部圖片以及解說，還有以日為單位的作戰歷史紀錄。\nRickard, J (8 March 2010), Mitsubishi Ki-67 Hiryu (Flying Dragon) \u0026lsquo;Peggy\u0026rsquo;, http://www.historyofwar.org/articles/weapons_mitsubishi_ki-67.html\n網路上說明得比較詳細的網站。\n維基百科 會讓我想研究Ki-67，無非就是Wiki寫的內容太少而主觀臆測成分過多，中文版照抄英文和日文Wiki還把命名看錯。日文Wiki主要參考作戰歷史。\nhttp://gunji.blog.jp/archives/1051331492.html http://blog.sina.cn/dpool/blog/s/blog_45a4d13a0100v6j9.html http://www.gahoh.net/traffic/ww2/profile/G4M-KI67/index.php http://tothosewhoserved.org/usa/aaf/usaaf05/chapter16.html http://www.usscanberra.com https://www.ptt.cc/bbs/Warfare/M.1154949234.A.7ED.html https://history.army.mil/books/wwii/MacArthur Reports/MacArthur V2 P1/ch12.htm https://amti.csis.org/august-1945-a-snapshot-of-american-maritime-strategy-in-the-pacific/ https://www.pixiv.net/member_illust.php?mode=medium\u0026illust_id=20526029 https://www.defensemedianetwork.com/stories/very-long-range-p-51-mustang-missions-to-japan-taxed-pilots/ http://www.historyofwar.org/Pictures/pictures_B-29_saipan.html https://www.dc3dakotahunter.com/blog/marianas-the-b-29s-fixed-aircraft-carrier/ https://www.amazon.cn/dp/B001JEZ0D8 鍾堅 - 台灣航空決戰，1996 ","date":"2019年1月27日","externalUrl":null,"permalink":"/posts/mitsubishi-ki-67/","section":"Histories","summary":"三菱Ki-67四式重爆「飛龍」，陸軍代號キ-67，盟軍代號「Peggy」。\n總括來說，飛龍是日本陸軍最後一款投產的轟炸機，設計時間為日本轟炸機最長，在戰局艱困的最後二年，參與台灣沖航空戰，在最前線與美軍奮戰著。 飛龍在「航空擊滅戰」的作戰思想下誕生了，按照「昭和15年版重爆設計方針」設計。它的載彈量與同時期他國的同等級產品相比低了很多，不過該機體以中型機來說擁有極佳的操控性，靈活程度可比擬單發轟炸機。時速可超過600km/h，同時也擁有俯衝轟炸的能力。\nKi-67相較於前輩Ki-21 九七式重爆、Ki-49 吞龍的改進包括: 機身前部做長些，兼顧改善視野和提升縱向穩定性。還有將駕駛艙拓寬，這樣有利於編隊作戰；過去日本轟炸機所缺乏的防彈裝甲還有滅火器一應俱全。 航程部分，雖然陸軍沒有過分要求，但是三菱考慮到航程的重要性，讓他擁有了3800km的航程，優於九七式重爆，劣於一式陸攻。\n陸軍對其很感興趣，1942年試飛以後，與大東亞決戰機 Ki-84 四式戰「疾風」並列為重點生產機種。\n1. Ki-67的開發過程 # 在中國戰場作戰之後，日本陸軍欲尋求百式重爆「吞龍」的後繼型號。在1940年3月6日，「昭和15年版重爆設計方針」通過。\n","title":"日本陸軍最後的轟炸機：三菱 四式重爆「飛龍」Ki-67 的開發過程與實戰紀錄","type":"history"},{"content":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本）\n「記憶」愛情故事 (Memories - Love Story)，是ZNathan Animations製作的一系列短篇動畫，並有加上歌曲的影片版本。\n此系列可以視作「The Eternal Conflict」的前身。\n故事內容 # 名為Nathan的少年，獨居許久，突然一名女孩出現在他面前，喚醒了Nathan過去塵封已久的記憶\u0026hellip;\u0026hellip;。\n早期版動畫共出了10集，以下的翻譯影片我把它總合成一部影片，原始的頭尾剪掉，共46分鐘。影片下方有各個集數的段落快轉。\n作者後來推出了前幾集的重製版，目的可能是統一畫風。\n比如第一集，屬於The Eternal Conflict系列：\n此外，也有製作歌曲:\n我的黑暗面(The Wicked Side of Me)\n更加堅強(Stronger)\n超級英雄(Superhero)，這是另一個頻道做的AMV\n劇情解釋 # 很久以前，和諧女神 (God of Harmony)和破壞神 (God of Destruction)之間爆發戰爭，難分勝負，簽訂停戰協議後，需要各自選出七名戰士為他們效力，同時賜予戰士們「惡魔手環」，使其擁有特殊能力，並且獲得「不死」的能力，死亡後都會以另一個身體的形式復活。\n根據劇情來看，主角Nathan是第九任綠色惡魔手環的繼承者，而Lilith是上一任，依照上面的說法，死後的記憶仍會繼承給下一位使用者，於是Lilith就會一直陪在Nathan身邊。\n作者沒特別提的是，惡魔手環除了可以生成武器(例如Nathan拿出的刀)外，還可以寄宿「使魔」，但是Nathan和Teufel的使魔都暴走過，且Teufel的使魔似乎不願意屈服他的主人。\n而且，Nathan要使用力量時，似乎得付出過去的「記憶」作為代價，這解釋了為什麼他總是常常昏過去。\n主要角色 # Nathan，主角。 暴走時的樣子。 Nathan的使魔。 Teufel，女主角。 Teufel的使魔。 Lilith，Nathan的惡魔手環過去的使用者。 ","date":"2019年1月14日","externalUrl":null,"permalink":"/posts/znathanstudioz-memories-series/","section":"Minecrafts","summary":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本）\n「記憶」愛情故事 (Memories - Love Story)，是ZNathan Animations製作的一系列短篇動畫，並有加上歌曲的影片版本。\n此系列可以視作「The Eternal Conflict」的前身。\n故事內容 # 名為Nathan的少年，獨居許久，突然一名女孩出現在他面前，喚醒了Nathan過去塵封已久的記憶……。\n早期版動畫共出了10集，以下的翻譯影片我把它總合成一部影片，原始的頭尾剪掉，共46分鐘。影片下方有各個集數的段落快轉。\n作者後來推出了前幾集的重製版，目的可能是統一畫風。\n比如第一集，屬於The Eternal Conflict系列：\n此外，也有製作歌曲:\n我的黑暗面(The Wicked Side of Me)\n更加堅強(Stronger)\n超級英雄(Superhero)，這是另一個頻道做的AMV\n劇情解釋 # 很久以前，和諧女神 (God of Harmony)和破壞神 (God of Destruction)之間爆發戰爭，難分勝負，簽訂停戰協議後，需要各自選出七名戰士為他們效力，同時賜予戰士們「惡魔手環」，使其擁有特殊能力，並且獲得「不死」的能力，死亡後都會以另一個身體的形式復活。\n","title":"記憶系列介紹 ZNathanStudioZ - Memories｜Minecraft歌曲翻譯","type":"minecraft"},{"content":"1/72フルアクション vol3 フォッケウルフ Fw190A\n本次要組裝的模型是F-Toys 1/72 FullAction Vol.3「福克-沃爾夫 Fw-190 A8」。價格大約台幣400元。\n全一款，但是有附5種塗裝的水貼，選擇的是JG4 第II突擊大隊隊長機塗裝。機尾號碼681424。 Fw-190是二戰德軍主力戰鬥機之一，跟Bf-109一同捍衛帝國的天空，並在東部前線與蘇聯作戰。\nFw-190早期的A型安裝的是氣冷引擎，保證了其堅固耐操的特色。後來D型為了提昇性能才換上水冷。\n有了上次組裝FullAction Vol.2彗星的經驗，這次就特別小心了。剪取零件改用鉗子，銼刀也發揮了打磨效果。 細節部分 # 引擎和座艙。儀錶板下的支撐架子後來斷了就沒黏。 BMW 801的引擎還原的點在於氣管，18缸體的後面左、右、下各有一組，每組5條管線，從後側插入，將廢氣從引擎與機身的縫隙外導出。這零件不太好組。 機槍和機砲的鼓包，都可以打開。引擎兩側的鼓包則是進氣道，參考這個和這個。 雖然那些應該是像引擎蓋一樣能向外旋轉的，但這裡只做成蓋板。\n圖片取自 Focke-Wulf Fw 190 (Osprey Production Line to Frontline 5)，頁47。 前方可見引擎內的黑色強制冷卻風扇，是可旋轉的零件。 起落架的那一根斜著的支柱可以旋轉，在放下起落架時用於固定內八的腳架(可仔細看上圖)。可見這次F-Toys設計師改善了飛機軟腳的問題。 水貼還是不好貼，網路上的技巧是說，把水貼移到要貼的表面上，再把藍色的背紙抽走。\n螺旋槳水貼附著力不強，可能得買個強化膠。 每個油箱孔上的黃色三角形是最難貼的水貼。 腳架上寫的一排小字: federbeindruck 最終水貼還是貼不好，皺掉和不對稱。 組裝部分 # 零件很好組合，可動的部件幾乎沒有湯口要磨平所以作動沒問題。機身和機翼各是一個大部件，這樣分開組合讓起落架方面的零件很好處理。 首次使用模型膠，塗太多導致座艙罩和一部分迷彩毀了。就算用模型膠但是有些縫隙仍然合不太起來。 總結 # 這架可動，零件沒有作脆弱的地方，但是水貼需要進一步保護。\n關於這架Fw-190 A8 # 本篇使用的塗裝是為「綠色3」，飛行員的故事參考此篇：Pauke! Pauke! - Museum 11.9.1944\nFW-190 A8裝備2門13mm MG 131機槍以及4門20mm MG 151機砲，還可以掛載Werfer-Granate21火箭彈。\n","date":"2019年1月6日","externalUrl":null,"permalink":"/posts/f-toys-1-72-scale-full-action-vol-3-focke-wulf-fw190a8/","section":"Artworks","summary":"1/72フルアクション vol3 フォッケウルフ Fw190A\n本次要組裝的模型是F-Toys 1/72 FullAction Vol.3「福克-沃爾夫 Fw-190 A8」。價格大約台幣400元。\n全一款，但是有附5種塗裝的水貼，選擇的是JG4 第II突擊大隊隊長機塗裝。機尾號碼681424。 Fw-190是二戰德軍主力戰鬥機之一，跟Bf-109一同捍衛帝國的天空，並在東部前線與蘇聯作戰。\nFw-190早期的A型安裝的是氣冷引擎，保證了其堅固耐操的特色。後來D型為了提昇性能才換上水冷。\n有了上次組裝FullAction Vol.2彗星的經驗，這次就特別小心了。剪取零件改用鉗子，銼刀也發揮了打磨效果。 細節部分 # 引擎和座艙。儀錶板下的支撐架子後來斷了就沒黏。 BMW 801的引擎還原的點在於氣管，18缸體的後面左、右、下各有一組，每組5條管線，從後側插入，將廢氣從引擎與機身的縫隙外導出。這零件不太好組。 機槍和機砲的鼓包，都可以打開。引擎兩側的鼓包則是進氣道，參考這個和這個。 雖然那些應該是像引擎蓋一樣能向外旋轉的，但這裡只做成蓋板。\n圖片取自 Focke-Wulf Fw 190 (Osprey Production Line to Frontline 5)，頁47。 前方可見引擎內的黑色強制冷卻風扇，是可旋轉的零件。 ","title":"德軍主力氣冷引擎戰鬥機 ~ 福克-沃爾夫 Fw-190 A8 可動模型 ｜ F-Toys 1/72 FullAction Vol.3","type":"artwork"},{"content":"1/72フルアクション vol2 彗星12型\n這次要挑戰的是F-Toys 1/72 Scale Full Action系列第二彈：空技廠 彗星一二型 艦上爆擊機。價格大約台幣400元。\n彗星是二戰日本海軍後期的主力艦上轟炸機。本機搭載的是日本海軍少見的水冷式發動機。為了讓轟炸機高速化，採購了來自德國戴姆勒-賓士公司的DB-601引擎技術，並將之安裝在瘦長的機身上。另外，這架轟炸機有彈艙，不像舊型的九九式艦爆一樣外掛炸彈，這樣一來能夠提昇飛機飛行速度。\nF-Toyes出的模型有將彗星的特色做出來，這個彈艙是可以打開放炸彈的喔！結果我手太笨，變成大失敗結果\u0026hellip;\u0026hellip;\n我抽到的款式是橫須賀海軍航空隊所屬機！ 我沒有鉗子和模型膠，只有剪刀和白膠。\n先做好座艙。 再跟水冷引擎和機身組合。 接上機翼就完成了。 乍看之下沒問題，其實很多地方沒處理好所以做壞了。\n強調很多部件可動，像是起落架，但是起落架蓋的固定部分難以組裝，所以直接黏住(紅圈部分的零件) 還要有右側彈艙門的一個卡凖斷掉，因此只能黏住，不能自由旋轉開合。\n副翼則是搞錯組裝方法所以左邊斷掉，也是只能黏起來。右邊則是可以正常旋轉。 噗，飛機天線還被我弄斷。因此這模型就不是Full Action了，維持起落架放下的姿態，只剩座艙罩等地方可動。\n有了這些經驗，我就馬上去買了鉗子、鑷子、模型膠、銼刀了。處理得是超級小心了，而這種能動的零件，一定得把湯口磨平才不會影響作動。未來要繼續做這種就一定得改善組裝方式。 ","date":"2018年12月28日","externalUrl":null,"permalink":"/posts/f-toys-1-72-scale-full-action-vol-2-yokosuka-d4y1/","section":"Artworks","summary":"1/72フルアクション vol2 彗星12型\n這次要挑戰的是F-Toys 1/72 Scale Full Action系列第二彈：空技廠 彗星一二型 艦上爆擊機。價格大約台幣400元。\n彗星是二戰日本海軍後期的主力艦上轟炸機。本機搭載的是日本海軍少見的水冷式發動機。為了讓轟炸機高速化，採購了來自德國戴姆勒-賓士公司的DB-601引擎技術，並將之安裝在瘦長的機身上。另外，這架轟炸機有彈艙，不像舊型的九九式艦爆一樣外掛炸彈，這樣一來能夠提昇飛機飛行速度。\nF-Toyes出的模型有將彗星的特色做出來，這個彈艙是可以打開放炸彈的喔！結果我手太笨，變成大失敗結果……\n我抽到的款式是橫須賀海軍航空隊所屬機！ 我沒有鉗子和模型膠，只有剪刀和白膠。\n先做好座艙。 再跟水冷引擎和機身組合。 接上機翼就完成了。 乍看之下沒問題，其實很多地方沒處理好所以做壞了。\n強調很多部件可動，像是起落架，但是起落架蓋的固定部分難以組裝，所以直接黏住(紅圈部分的零件) 還要有右側彈艙門的一個卡凖斷掉，因此只能黏住，不能自由旋轉開合。\n副翼則是搞錯組裝方法所以左邊斷掉，也是只能黏起來。右邊則是可以正常旋轉。 噗，飛機天線還被我弄斷。因此這模型就不是Full Action了，維持起落架放下的姿態，只剩座艙罩等地方可動。\n","title":"空技廠 彗星一二型 可動模型，彈艙開啟，準備投彈～｜F-Toys 1/72 FullAction Vol.2","type":"artwork"},{"content":"初稿：2018年12月20日，屏東大學\nPink Floyd: The Wall（中國譯名: 迷牆）是1987年的電影，根據Pink Floyd樂團1979年的同名專輯《The Wall》改編而成，由Alan Parker執導，樂團主唱Roger Waters也有參與製作。 預告片：\n這是藝術電影，如果有聽過專輯再來看電影會更有感覺，《The Wall》專輯本身就是一個2小時的搖滾歌劇，神作無誤，有人還特地寫了一個超詳細的分析網站：The Wall Analysis – A Song-By-Song Literary Analysis of Pink Floyd\u0026rsquo;s The Wall\n到現在我還是偶爾會拿出來聽。這張專輯對我的意義重大到，願意在去看學校心裡諮商的時候，跟心理師分享我的心得。 電影則把專輯劇情都具象化了。劇情嘛，跳來跳去，也就是非線性敘事，試圖涵蓋多樣的主題：戰爭、親情、政治、愛情、死亡、教育、壓抑、創傷等等。\n一開始的〈Thin Ice〉就預告了這個人生將會充滿痛苦與危險 好看的點在於，導演運用大量的場景和轉換，再配合動畫來實現超自然場景，由此帶出主角Pink心理狀態的變化\u0026hellip;整部片都在砸東西。\n有把專輯完全聽熟後看電影，有了畫面就能完全補完。例如片子結尾的〈The Trial〉一曲，可說是全劇的總結 直白的使用了雄雌交尾的意象來表現情愛畫面。Pink最後一邊痛苦回憶著跟老婆滾床單的畫面一邊掉淚。 我要抱怨的是這部片怎麼跟《教父 》一樣都找扁奶來演，床戲也還好。 還有一段是一行人裡的一個人幫警衛吹，所以就放她們進去party，哈哈。這個時候就要唱〈Young Lust〉 有趣的是，Pink Floyd跟the Beatles類似，到最後厭倦了巡迴表演（或是Roger Waters自己的心境變化？），因此才有這一段的出現：樂團不是神，但是仍會有人盲目追隨，且根本不懂歌手想表達的真正意思。\n最深刻的形象莫過於主角想像自己成立槌子黨的片段，明明小時候的經歷讓主角反對戰爭與極權主義，卻在內心構築了這樣的世界。 配上〈In the Flesh〉、〈Waiting for the Worms〉的音樂，根本就是納粹黨再世，像是描述歷史上真實發生的「水晶之夜」的橋段。 這部電影另一個比較有名的橋段就是〈Another Brick in the wall〉，牆中的一塊磚，認為學校僵化的教學扼殺了孩子們，將其變成一部部的機器。這 是英國的情況，現在這情況還是廣泛存在。對於這種控訴，有幸我們身在能為自身權力發聲的年代，這種問題我們是可以改善的。\n整體劇情來說，主角建立了心之牆最終又破壞了牆，但是實則沒得到救贖，人的隔閡仍存在。影片跟專輯一樣在這裡就結束了。但是沒出現專輯裡的最後一句話: \u0026ldquo;Isn’t this where we came in?\u0026quot;，這句話跟專輯第一首是連在一起的，表示牆的輪迴概念。\n當我把這段故事跟學校心裡諮商師分享的時候，他也只能露出勉強理解的眼神吧。\n關於最後這段，我認為插入曲〈Comfortably Numb〉最後一段的吉他solo就是對此最好的呼應，還有主角的掙扎樣貌，表示無奈、哀傷、寂寥卻又難以逃離。 實際給我的意義 高中時從〈Comfortably Numb〉接觸，現在有幸把專輯完全聽完。這是一部畫面鮮明的歌劇，我吸收的是牆的觀念。那時有幸的是同時看了1995年的《新世紀福音戰士》，彼此的概念很像啊，因此這個我很快就進入狀況。思想受其影響也很大，聽這張專輯會讓人感受到極端頹廢感，瀰漫哀傷的氣氛，容易認為人生沒有希望，或說是正向的方面，這個不同於Pink Floyd其他作品，仍有一點希望，這部的壓力很重。電影的實驗性質我不知道，但確實是畫面運用的很巧妙。\n我深深記得的果然還是那首〈Comfortably Numb〉，最後的solo。我深怕，人生難以高就，只屈於某處做著自己的小事業，想著安逸，直到死亡，那麼這首的意涵就是越發深刻了。\n","date":"2018年12月20日","externalUrl":null,"permalink":"/posts/pink-floyd-the-wall-movie-review/","section":"Reviews","summary":"初稿：2018年12月20日，屏東大學\nPink Floyd: The Wall（中國譯名: 迷牆）是1987年的電影，根據Pink Floyd樂團1979年的同名專輯《The Wall》改編而成，由Alan Parker執導，樂團主唱Roger Waters也有參與製作。 預告片：\n這是藝術電影，如果有聽過專輯再來看電影會更有感覺，《The Wall》專輯本身就是一個2小時的搖滾歌劇，神作無誤，有人還特地寫了一個超詳細的分析網站：The Wall Analysis – A Song-By-Song Literary Analysis of Pink Floyd’s The Wall\n到現在我還是偶爾會拿出來聽。這張專輯對我的意義重大到，願意在去看學校心裡諮商的時候，跟心理師分享我的心得。 電影則把專輯劇情都具象化了。劇情嘛，跳來跳去，也就是非線性敘事，試圖涵蓋多樣的主題：戰爭、親情、政治、愛情、死亡、教育、壓抑、創傷等等。\n一開始的〈Thin Ice〉就預告了這個人生將會充滿痛苦與危險 好看的點在於，導演運用大量的場景和轉換，再配合動畫來實現超自然場景，由此帶出主角Pink心理狀態的變化…整部片都在砸東西。\n有把專輯完全聽熟後看電影，有了畫面就能完全補完。例如片子結尾的〈The Trial〉一曲，可說是全劇的總結 ","title":"黑暗的想像化為現實：Pink Floyd: The Wall 電影觀後感","type":"review"},{"content":"欲入坑模型，所以從簡單的戰機模型開始，盒玩是個好選擇。\n在造訪Facebook社團認識的店家，了解一下二戰日軍機的販售現況後，便花了200元挑了一個盒玩來組。經費有限嘛，而且不需要買太多工具就能組裝起來。\n該盒玩是F-Toys出的ウイングキットコレクションVS系列第7彈，日本的「雷電」對上美國的「雷電」！有多種塗裝系列。 店裡只剩P-47款式，而那9種以外的隱藏版的實際也是P-47。\n開箱後是組件和說明書，水貼。 後面會簡單講下我做模型的經歷，基本上這種等級的模型我是第一次做。遇到的問題像是拆卸零件是還好，只不過拆下來毛邊是得磨一磨。\n組裝遇到的問題有難以密合，還有零件容易掉下來，這表示這個需要用到黏膠了。但是我準備不周，沒有專用模型膠，所以是用牙籤沾白膠塗接合處。 零件很小，機槍和螺旋槳容易彎折，鑷子未來一定得買。 組好後還有水貼，水貼是我第一次聽到的東西，以前組的都是貼紙貼一貼，現在這個要泡水之後才能將其貼上去。\u0026hellip;徒手貼，所以貼的不工整。這張圖也可以看到主翼是沒有完全密合的。 模型商給的編號我貼在油箱上。 要收放起落架是要拆卸更換零件的，但是尾輪顯得不穩固。 完成了，大約花了一個小時。 模型作工上我覺得普惠引擎很好，格狀有出來，儘管拍的不明顯。 接著是戰機的背景故事。\n附的圖鑑上並沒有這架？這個隱藏版不會是另一種意義的隱藏版吧？ 幸好有機體編號可以查詢，其他牌也有出這個塗裝的模型。查詢結果如下:\n這是James Richard Hopkins中尉的P-47D-28-RA。機體編號228382。1945年3月，德國Ophoven機場。\n機身塗裝是野狼接一串Whooo~（我第一次看以為是野豬？） James生於1923年，他的父親George A. Hopkins在一戰時曾獲得傑出服役十字勳章。James從二戰到越戰皆有參與，越戰時獲頒空軍十字勳章。1974年退休，時為上校。 他開過P-40和P-47，二戰時曾服役於第509戰略戰鬥機大隊、第405戰鬥機大隊、第9航空軍。(譯自: James Richard Hopkins - Hall of Valor)\n介紹完畢，接著簡述我做模型的歷史。\n小時候做過的模型，大都是盜版貨。比方說彈珠人和鋼彈三國武將，99元就能買到的那種。10年前盜版的價格約是正版的1/5，組裝沒難度。\n另一種是真正的盒玩，即台灣森永曾推出過的39元牛奶糖，裡面附戰隊系列的小模型。雖然模型顏色都不一樣，用貼紙來彌補，有趣的是模型都設計成可以合體，算是便宜的小玩具。現在森永沒出這類盒玩了，說來可惜。\n模型大多沒有留存下來，畢竟以前只把它當玩具罷了，同時在組合方面也不懂得留意去毛邊。\n現在再繼續徒手拆零件的話除了手會被刺傷，也會毀壞成品，不可不慎。\n了解了一下現況後，發現日軍模型比較少出，F-Toys這類的比較多的樣子。於是我開始物色下個目標，希望可以買個1/72的來挑戰。\n其實我還是很希望自己組的，看到傑作機雜誌很心動，但是那是成品，我想還是自己組裝會比較有成就感。在那之前，應先做好功課\u0026hellip;翻點入門書免得搞砸。\n現在這架放在書櫃最上層，避免因搖晃而發生毀損所以稍微用白膠黏在架子上。 ","date":"2018年12月8日","externalUrl":null,"permalink":"/posts/f-toys-wkc-vs-7-republic-p47d/","section":"Artworks","summary":"欲入坑模型，所以從簡單的戰機模型開始，盒玩是個好選擇。\n在造訪Facebook社團認識的店家，了解一下二戰日軍機的販售現況後，便花了200元挑了一個盒玩來組。經費有限嘛，而且不需要買太多工具就能組裝起來。\n該盒玩是F-Toys出的ウイングキットコレクションVS系列第7彈，日本的「雷電」對上美國的「雷電」！有多種塗裝系列。 店裡只剩P-47款式，而那9種以外的隱藏版的實際也是P-47。\n開箱後是組件和說明書，水貼。 後面會簡單講下我做模型的經歷，基本上這種等級的模型我是第一次做。遇到的問題像是拆卸零件是還好，只不過拆下來毛邊是得磨一磨。\n組裝遇到的問題有難以密合，還有零件容易掉下來，這表示這個需要用到黏膠了。但是我準備不周，沒有專用模型膠，所以是用牙籤沾白膠塗接合處。 零件很小，機槍和螺旋槳容易彎折，鑷子未來一定得買。 組好後還有水貼，水貼是我第一次聽到的東西，以前組的都是貼紙貼一貼，現在這個要泡水之後才能將其貼上去。…徒手貼，所以貼的不工整。這張圖也可以看到主翼是沒有完全密合的。 模型商給的編號我貼在油箱上。 要收放起落架是要拆卸更換零件的，但是尾輪顯得不穩固。 完成了，大約花了一個小時。 ","title":"F-Toys WKC VS7系列開箱：共和 P-47-D「雷霆」詹姆士•理查德•霍普金座機，1/144比例","type":"artwork"},{"content":"","date":"2018年12月8日","externalUrl":null,"permalink":"/tags/united-states-army/","section":"標籤","summary":"","title":"United States Army","type":"tags"},{"content":" 住在國境之南，探索附近的書店時逛到一間舊書攤，進去晃了晃，發現了意思的東西，於是買了下來。 才怪 前面那本絕不是單純遮掩用的，是要用作翻譯參考的！我有修專業翻譯課程喔！\n本子合集價格只有65元，2014年出的合集，收錄5個作者，9本同人誌。\n書頁有點發黃。 新視界這個出版社現在還活著，且看起來不是以翻譯同人誌為主力，從他們的目錄就可以知道。不知道為什麼特別做一本艦娘合集，意思是說，這本不是日方作者們出版，而是出版社自己挑幾本合起來的。\n現在台灣敢出或說專精出這類書的很少，屈指可數。可是這間出版社跟未來數位又有什麼差異呢？直到很久以後，我才發現，這就是地下盜版書商啊！全部都是無斷授權出版的。他們幹的事情，就跟很久以前台灣無版權時期瘋狂出版的小叮噹漫畫一樣猖狂。寧願到安利美特買二手書也不要買這種盜版的啊！\n買的當下不知道有這種事情。\n想挑這本是因為便宜封面看到了熟悉的名字，さめだ小判，K-on眾多本子中最厲害的作者，我很喜歡他的畫風，後述。\n鑒於這是出版社挑的，書的封面是直接拿第一篇同人誌當書衣，整本書翻下來裡面沒有一般漫畫封底的版權頁，也沒目錄，只有好幾頁該社其他出版品的廣告，和附上出版社的網址。\n本子的譯筆很普通，參差不齊，怎麼會有人把「冬Comic」譯成冬垃圾? 另外是掃本品質參差不齊，有的封面出現格子。真的是很低劣的出版社\u0026hellip;根本就直接拿漢化組的掃本出的吧。 考證了一下，裡面收錄的本子如下:\n(C85) [バス停シャワー (桂井よしあき)] 堕落戦艦-男を知らなかった艦娘達- [〆切り3分前 (月見大福)] 提督の節操のない主砲は榛名におまかせ下さい [〆切り3分前 (月見大福)] 大好きな提督に○剛の初めてをあ・げ・る・ネ (C85) [ぽぽちち (八尋ぽち)] 金剛・榛名ちゃん快 (C85) [ぽぽちち (八尋ぽち)] 島風ちゃん快 (C84) [SNOB NERD WORKS (さめだ小判)] 姦これ 夜の姦艦式 (C85) [SNOB NERD WORKS (さめだ小判)] 姦これ ~ 提督が艦娘を性的な目でしか見てくれなくてつらい ~ (C85) [TwinBox (草草饅, 花花捲)] カンムスノジカン～艦娘の時間～ (砲雷撃戦!よーい! 六戦目!) [TwinBox (花花捲、草草饅)] 夜の翔鶴 一本一本論述，基本上這些作品幾無深度劇情(廢話)，下面主觀感想。\n桂井よしあき的畫風看上去很像けこちゃ，同時也是本書的名字。該作者本子數量很少，畫風還可以。 看到月見大福的臉我還以為是木星在住XD(特色是二創劇情很厲害)，收錄的這二篇我覺得最讚的場景是澡堂。 考證時發現以前也閱覽過他的K-on和鹿島本，不過問題就是我覺得他畫的「太拘謹」，這個不好形容\u0026hellip;人物的臉都太「純樸」。\n八尋ぽち的島風篇十分有趣，玩弄島風，告訴你什麼叫做光速打手槍，快還要更快，我自己來打都比妳還快!! 劇情類似タケイオーキ的瑞鳳本，只是更快進本番。 さめだ小判的畫風我認為是細緻，簡單說就是筆法如雪般順滑。只不過二本都是小短篇的集合。第二本附的跨頁插圖超讚，跟K-on本一樣，深海棲艦、一二航戰美麗又雪白的胴體一覽無遺。百聞不如一見。\nTwinbox，因為這本書是黑白的，沒有收錄原本有的彩色插圖，這二本我覺得是畫風還不成熟的時期吧，瑞鶴崩的有點厲害。看過其近期本子，畫風就很不錯了。 多了一本收藏，知道有出版社願意代理這類書是很高興，但是缺點上面也說了，期望能越來越好吧。\n就我所知能買到正版翻譯同人誌的是未來和DLSite，不過數量也是很少，短期內要支持作者的話，我想我還是會優先買日文原版的吧。惡轉奏進的本子劇情太鬼畜了嘛QQ\n順帶一提，2014年，也就是2015年我上任提督前，接觸到的第一本艦隊收藏同人誌是ありのひろし在2013年出的《MOUSOUみにしあたー33の》，情節很特別，射完後面換射前面，意外的好用，所以我一直記得到現在到現在。 ","date":"2018年12月4日","externalUrl":null,"permalink":"/posts/pirated-kantai-collection-doujinshi/","section":"Kantai-Collections","summary":" 住在國境之南，探索附近的書店時逛到一間舊書攤，進去晃了晃，發現了意思的東西，於是買了下來。 才怪 前面那本絕不是單純遮掩用的，是要用作翻譯參考的！我有修專業翻譯課程喔！\n本子合集價格只有65元，2014年出的合集，收錄5個作者，9本同人誌。\n書頁有點發黃。 新視界這個出版社現在還活著，且看起來不是以翻譯同人誌為主力，從他們的目錄就可以知道。不知道為什麼特別做一本艦娘合集，意思是說，這本不是日方作者們出版，而是出版社自己挑幾本合起來的。\n現在台灣敢出或說專精出這類書的很少，屈指可數。可是這間出版社跟未來數位又有什麼差異呢？直到很久以後，我才發現，這就是地下盜版書商啊！全部都是無斷授權出版的。他們幹的事情，就跟很久以前台灣無版權時期瘋狂出版的小叮噹漫畫一樣猖狂。寧願到安利美特買二手書也不要買這種盜版的啊！\n","title":"在屏東買了二手的艦娘同人誌合集，成為盜版書的受害者","type":"kantai-collection"},{"content":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本。你或許可以在Bilibili或Odysee找到以前上傳的中文翻譯備份）\n約在Radapedaxa另立新頻道並改名RainImator時，RainImator推出了新的Minecraft動畫系列，直到今日依然不斷更新。\n2018年，在一系列的音樂影片後釋出電影預告片，片名是「Fractures」，暫譯「破碎」。\n這些影片的音樂不再是parody，而是使用原創曲目，大部分都跟Blacklite District合作。\n以下依影片上傳時間點一一列出，劇情很複雜，下面只翻譯原影片的劇情介紹，更詳細的角色資訊可以參閱The Rainimator Wiki。\n註：RainImator前身為Radapedaxa，因為與Redstone Records發生糾紛另立新頻道，舊頻道由Redstone Records接手。話說2020年，Ivon的翻譯頻道就是被這家公司連續檢舉才被ban掉的 == 心眼真小。我翻譯過幾部Radapedaxa的影片，曾經在Twitter笨笨的問RainImator可不可以把他的影片翻譯後再上傳到我的頻道，遭到一個「No」無情回絕，人家以前也懶得ban翻譯影片的人士，結果舊頻道易主後就開始抓翻譯影片的。\n「衝突」The Struggle # Herobrine的不死族部隊席捲人類，製造了殭屍末日。我們的英雄們要怎麼在這無盡的浩劫中中求生存呢?\nHerobrine\u0026rsquo;s undead forces have risen and brought up a zombie apocalypse. Will our heroes manage to fend them off in the ultimate struggle for survival?\n「冷酷如冰」Cold as Ice # 倖存的主角被治好後，他要面臨更殘酷的現實。終界龍襲擊了冰天雪地中的堡壘，挑起了人類與終界使者之間的戰爭。\nCured of being a zombie after The Struggle, our last surviving hero faces a greater fate after he is given a second chance in life. As the Ender Dragon besieges the frozen bastion, it triggers war between the Endermen and the humans.\n「我們很危險」We Are the Danger # 人類向終界觀測者求援，試圖要奪回被不死族所佔領的村莊。Herobrine決定向豬人王宣誓效忠，以此在這場戰爭中取得有利地位。\nAcquiring the suppport of the Ender Watchers, the humans attempt to retake the village captured by the undead. Herobrine decides to pledge allegiance with the Pig King, in hopes of turning the tides of battle in his favor.\n「想要對妳說」Just So You Know # 目睹村民慘遭地獄軍隊蹂躪，又被愛人破碎的靈魂深深折磨，我們的主角計畫向豬人王復仇。只有仇恨伴他左右，最終他邁向了悲慘的結局。\nThe villagers have been overwhelmed by the Nether army. Tormented from his lover\u0026rsquo;s broken soul, our hero plans take revenge on the Pig King. With hunger for vengeance being his only ally, his goal drifts to an agonizing end.It\u0026rsquo;s now or never.\n「再見」Goodbye # 沒有以後，只有現在。隨著豬人王的墜落，看人類跟終界觀測者一起把Herobrine的統治給永遠摧毀。\nIt\u0026rsquo;s now or never. Following the fall of the Pig King, the humans call upon the Ender Watchers to help end Herobrine\u0026rsquo;s reign of terror once and for all.\n「重新開始」Begin Again # 在第一集「衝突」之後，地獄公主了解到自己有解放地獄之星真正力量的潛在能力，並開啟了她邁向王位的道路。\nAfter her fall in \u0026ldquo;The Struggle,\u0026rdquo; the Nether Princess unveils her story as she unlocks her true potential with the essence of the Nether Star and battles her way to the throne of the Nether.\n「救贖之翼」Wings of Salvation # 女英雄獨自前往浮空領域，掃蕩凋零骷髏的營地，再前往地獄繼續進行消耗戰。 A lone heroine ventures to the floating isles to clear out the wither angels camp and fight a battle of attrition against the Nether.\n「十分痛苦」Hard Pill to Swallow # 凋零和豬人的內戰，破壞了地獄族群的一體性。一個機智的骷髏，要用他自己的方式打倒昏庸的豬人王，並帶領地獄重返過去榮耀。\nThe civil war between the Wither and Pigmen has shattered the horde\u0026rsquo;s unity. A luminary skeleton fights his way to defeat the pigman tyrrany and restore the Nether back to its former glory.\n「凋零的心」Wither Heart # 為了尋找凋零之心的解方，女巫和馴龍手踏上了旅途。\nA witch and a dragon tamer embark on a journey in search of a cure for the Wither Heart.\n＊這集的歌曲是跟TryHardNinja合作。\n「英雄」1 of a kind # 時間點在「衝突」時，以一位無名英雄的視角，看他勇敢的與Herobrine的不死軍團戰鬥。他是真正的英雄。\nThe Struggle retold in the perspective of an unsung hero who fought valiantly against Herobrine\u0026rsquo;s undead army. He\u0026rsquo;s one of a kind.\n「終界希望之星」Ender Wish # 地獄之王派遣軍隊對終界城發動大規模攻勢。終界皇后，讓終界觀測者挑戰命運，開創未來。\nThe Nether King sends forth a massive attack against the capital End City. Following the matriarch\u0026rsquo;s last wish, the Ender Watchers challenge this fate for the sake of the future.\n「死之希望」Wishing Dead # 地獄王派出刺客追殺最後的終界觀測者，他們只能不停的逃，然而這只是暫時的安逸\u0026hellip;\nThe Nether King has sent assassins to hunt down the last Ender Watchers. They flee from this danger, yet running is only ever a temporary solution.\n「墮落」Falling # 地獄災星一直找尋著被同化成地獄眷屬的人們。Rain則想藉此組成同盟，而Stella前往神秘森林尋找處於末路的終界舞者。\nThe Netherbane are on the hunt for those who were turned into Nether kin. As Rain tries to use the situation to form an alliance, Stella runs to the Mystic Forest to find closure with the late End Dancer.\n","date":"2018年11月18日","externalUrl":null,"permalink":"/posts/rainmator-series/","section":"Minecrafts","summary":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本。你或許可以在Bilibili或Odysee找到以前上傳的中文翻譯備份）\n約在Radapedaxa另立新頻道並改名RainImator時，RainImator推出了新的Minecraft動畫系列，直到今日依然不斷更新。\n2018年，在一系列的音樂影片後釋出電影預告片，片名是「Fractures」，暫譯「破碎」。\n這些影片的音樂不再是parody，而是使用原創曲目，大部分都跟Blacklite District合作。\n以下依影片上傳時間點一一列出，劇情很複雜，下面只翻譯原影片的劇情介紹，更詳細的角色資訊可以參閱The Rainimator Wiki。\n註：RainImator前身為Radapedaxa，因為與Redstone Records發生糾紛另立新頻道，舊頻道由Redstone Records接手。話說2020年，Ivon的翻譯頻道就是被這家公司連續檢舉才被ban掉的 == 心眼真小。我翻譯過幾部Radapedaxa的影片，曾經在Twitter笨笨的問RainImator可不可以把他的影片翻譯後再上傳到我的頻道，遭到一個「No」無情回絕，人家以前也懶得ban翻譯影片的人士，結果舊頻道易主後就開始抓翻譯影片的。\n","title":"RainImator系列介紹｜Minecraft動畫歌曲翻譯","type":"minecraft"},{"content":"A list of classic Minecraft songs from 2011 to 2013.\n古有孔子刪改詩經成詩三百，現有在下整理古典典籍藉此紀念過去的譯者: s2011131。(下簡稱S大) 1. 偉大的翻譯先驅者 # 2011 ~ 2013年間，是Minecraft第一次開始盛行的年代，大量的Minecraft歌曲也在此出現，譯者也紛紛出現，此時翻譯最多的非S大莫屬。\n這段時間可以稱作「古典時期」吧。\n在2013年8月2日由他整理成的翻譯列表文章在此:\n【情報】101首Minecraft歌曲完整翻譯！(13/8/2更新)\n奇蹟似的還存在於哈啦板。他翻譯的不只101首而已，然而他的頻道不久就因為被吉太多次被停權了。影片幾乎全消失，只剩少數用戶有轉載(或者說是盜片)，四散到其他網站。\n在s大的頻道消失後，有些歌曲我出於紀念性質有在個人的Youtube頻道「Ivon Huang」重譯。但我的頻道後來遭遇到同樣的命運，一樣吃版權砲再見了，這些歌曲也就失傳了。\n幸運的是，家弟在S大被停權之前不知道用了什麼方法，下載了該播放清單幾乎全部的影片，雖然全都是畫質360p的3gp檔，但這也夠我進行考據工作了，考據工作主要是找出原片。\nS大翻譯會附原片網址，但很少寫原片標題出來，所以我只能從這些影片的標題和內容來推斷。\n花了幾天功夫，影片大部分考據完成，其中我發現的是，有些影片的作者被吉了，殘留的影片是別人補上傳或者是被收錄在「Top XX」這種影片裡的；甚至還有原作者已經物理性死亡的了；有些則是到現在大家都還記得。\n不過下載的這些影片，有些不是S大列表裡面的歌曲，加上S大的列表裡有些影片也沒有下載到，造成考據有困難。考據完後的列表，加起來已經超過101首了。\nS大是我翻譯影片的啟發者，他的翻譯或許不是完全準確，卻都是那麼的順口，不刻意優雅也不會出現不順的情形，令在下我十分佩服前都還到達不了它的高度。\n以製作此播放清單，紀念其成就。\n2. 線上聆聽 # 這個播放清單放在一個新頻道。\n整理好的Youtube播放清單在這裡：https://www.youtube.com/playlist?list=PLl8lFP3VlQrpQt2yNpQjToATeYG2ok-27\n影片標題 原始影片網址 原作者 觀看網址 系列 到此為止｜ArielPlays－Never Mining Together (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=jW2X_5rbHjA ArielPlays https://www.youtube.com/watch?v=EonX7epRqow \u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash; \u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash; \u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;- \u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash;\u0026mdash; 那位礦工｜AntVenom - The Miner (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=UvpC-pXBIjo AntVenom https://www.youtube.com/watch?v=OvNMhWovz6E 挖到一個不剩｜AdamzoneTopMarks - Mine It Out (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=Of0k-NFqC7E AdamzoneTopMarks https://www.youtube.com/watch?v=lQheeFwRoWw 一生當礦工｜BebopVox －Mine (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=rIyjAkeJsvI BebopVox YOGSCAST https://www.youtube.com/watch?v=aPknAulfolE 夜礦之路｜BebopVox YOGSCAST - Don\u0026rsquo;t Mine At Night (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=X_XGxzMrq04 BebopVox YOGSCAST https://www.youtube.com/watch?v=nKuokTovAo0 這就是創世神！｜CaptainLazerGuns - This is Minecraft (Minecraft歌曲翻譯) 不詳 CaptainLazerGuns https://www.youtube.com/watch?v=QrONcYmrXqk 把你炸飛｜Blow You Up (Minecraft歌曲翻譯) 不詳 不詳 https://www.youtube.com/watch?v=2NYU8vGfEHE 螢光石之戀｜ItsAllMinecraft - Glowstone Love (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=WXaPv0oIBLw ItsAllMinecraft https://www.youtube.com/watch?v=FZ9Pw28IKIA 挖礦歌｜crewealexboy - Ore (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=SS0FDuSwstU crewealexboy https://www.youtube.com/watch?v=GIGe85RRcAo 一塊一塊地｜Hella Donna - Block by Block (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=RBnX3S6W8rs Hella Donna https://www.youtube.com/watch?v=V83EioL_H0U 一個人｜Hunted Flame - Alone (Minecraft歌曲翻譯) 不詳 Hunted Flame https://www.youtube.com/watch?v=XdIpbNleOFY 曾經擁有｜dreamreaver23 - Some Items that I used to Own (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=gJncUZkIAg4 dreamreaver23 https://www.youtube.com/watch?v=jSYn1qmhZZE 蜘蛛洗腦歌｜BlahBlahBlahGAMING - Spiders (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=8Rw7Ka_XARs BlahBlahBlahGAMING https://www.youtube.com/watch?v=r_46zb5dqQI 我們可是人類！｜JasunNation - We Are The Humans (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=3XNXKrO2nHk JasunNation https://www.youtube.com/watch?v=zjo3HuGOtl8 你有看過Herobrine嗎？｜Christina D - Have You Seen the Herobrine (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=nlQ2gXjAkHk Christina D https://www.youtube.com/watch?v=0mS_N1WobeA 龍的傳人｜BlahBlahBlahGAMING - Enderborn (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=xsxVyiFB31c BlahBlahBlahGAMING https://www.youtube.com/watch?v=0vKvv_djbrk Minecraft派對搖滾｜BrianNastiii - The Minecraft Anthem (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=ZvIzpeaNYkI BrianNastiii https://www.youtube.com/watch?v=6S5-AuOaBPk 建築的熱情｜Dyerzy - Keep Building (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=ObM7v7kYgBE Dyerzy https://www.youtube.com/watch?v=85sH54g5yWc 一起當白目｜CawkavFilms - Be A Griefer (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=4XZ_66oIU2Q CawkavFilms https://www.youtube.com/watch?v=KpeAKXWvUH0 砍下去！｜ItsAllMinecraft - Hack That (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=VGtWyCDlD44 ItsAllMinecraft https://www.youtube.com/watch?v=NToLdIKIt88 苦力怕之眼！｜Jesse Cox - The Eye of the Creeper (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=MfuofiUfh8U Jesse Cox https://www.youtube.com/watch?v=OPh4ghw-at8 終界小偷｜CaptainLazerGuns Dom - Enderman (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=JCyGRbGNg_Y CaptainLazerGuns Dom https://www.youtube.com/watch?v=QGgwnsUjVzA 交易之歌｜dreamreaver23 - Trade Shop (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=gvBYRMYfSA4 dreamreaver23 https://www.youtube.com/watch?v=ST_vpb0K7nM 踏上尋找鑽石之路｜Dead Workers Party - In Search of Diamonds (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=vIhs8_m5qPc Dead Workers Party https://www.youtube.com/watch?v=XpQoWgcWEUM 鑽石之歌｜GameplayerHD - The Diamond Song (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=7oSRHQhmxGg GameplayerHD https://www.youtube.com/watch?v=i57zbXs3WEk 挖神之神｜hojjoshMC - All I Do Is Dig (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=ollU42z3ex4 hojjoshMC https://www.youtube.com/watch?v=mfNLqgqOuDE 我要做個蛋糕｜Jolly ol Brits - Make a Cake (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=efmmm_B46ls Jolly ol Brits https://www.youtube.com/watch?v=tTQVVjPisVI 骷髏的內心｜Jolly ol Brits - Skelly Heart (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=VyFvtm5H3p4 Jolly ol Brits https://www.youtube.com/watch?v=teCP0iOVog4 Minecraft vs 建個創意城｜BrySi the Machinima Guy - Minecraft vs Fortress Craft RAP BATTLE (Minecraft歌曲翻譯) 不詳 BrySi the Machinima Guy https://www.youtube.com/watch?v=xkuScVS0WJ8 好挖好挖洞｜Patient Zero - Dwarf Hole Diggy Diggy Hole (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=fR7EAdPUqvQ Patient Zero https://www.youtube.com/watch?v=yUGv7vHUckI 我是新手｜CaptainLazerGuns Dom - I\u0026rsquo;m a Noob (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=7erKaA6dm1E CaptainLazerGuns Dom https://www.youtube.com/watch?v=z2aptwsDi_Q Minecraft饒舌｜BrySi the Machinima Guy - The Minecraft Rap Song (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=ZzaX4UdVspM BrySi the Machinima Guy https://www.youtube.com/watch?v=zSopk9s7vHc 咱們死定了！｜DailyNoobPwner \u0026amp; BManDaGamer - We are done (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=u489jefqncg DailyNoobPwner \u0026amp; BManDaGamer https://www.youtube.com/watch?v=R2Ilj-ssk1Q TNT之歌｜CaptainSparklez - Minecraft TNT Song (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=k2rDbRUDkds CaptainSparklez https://www.youtube.com/watch?v=Td97XyGqI3U 我愛小雞！｜chickneyluvr43－I Love Chickneys (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=AFV_9BV9voU chickneyluvr43 https://www.youtube.com/watch?v=ZyfDquMVomo 被白目耍了｜BrySi the Machinima Guy - I Just Got Griefed (Minecraft歌曲翻譯) 不詳 BrySi the Machinima Guy https://www.youtube.com/watch?v=z9_WH2Qe1vU 豹貓之歌｜Luclinmcwb - Ocelots (Minecraft歌曲翻譯) 不詳 Luclinmcwb https://www.youtube.com/watch?v=5GTNWh7y4SM 附魔之歌｜NateandBlydHD - Bows and Stuff (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=9v_asz71z6M NateandBlydHD https://www.youtube.com/watch?v=7OSbvMfvnfg 你本就不該殺我｜parodzi - Shouldn\u0026rsquo;t Have Killed Me (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=6wJQqsWMj0A parodzi https://www.youtube.com/watch?v=90VEJCH7mLQ 創世神老兄｜Phantaboulous - Minecraft Dude (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=TDohpeJHU44 Phantaboulous https://www.youtube.com/watch?v=9fesqumEu9Q 二人世界｜PixelVoxer - Minecraft For Two (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=7ZM6q80hCzk PixelVoxer https://www.youtube.com/watch?v=AevjOVk7asg 苦力怕的寂寞情歌｜NowLetsPlayMinecraft - A Creeper Like You (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=vYAfKexP0Eo NowLetsPlayMinecraft https://www.youtube.com/watch?v=AzYhUfIpL64 怪物饒舌歌一｜JT Machinima - Minecraft Mob Rap The Mob Rap (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=gu61eTNlaZw JT Machinima https://www.youtube.com/watch?v=GqLo20gAVfA 像個創世神｜Like a Block (Minecraft歌曲翻譯) 不詳 不詳 https://www.youtube.com/watch?v=Gs6bL2HLnRk 殭屍之歌｜Minecraft and Donuts - Zombie Brain Song (Minecraft歌曲翻譯) 不詳 Minecraft and Donuts https://www.youtube.com/watch?v=I0gOMB_oI9k Minecraft太好玩了！｜Pedro - Minecraft is Just Awesome (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=mK9W0BjdB38 Pedro https://www.youtube.com/watch?v=Pzw86d5Swa8 殺死怪物的五十種方法｜KyleDinHD - 50 Ways to Make Mobs Die (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=RmZudRfbdyM KyleDinHD https://www.youtube.com/watch?v=VADn5PcnXU4 Minecraft版Portal片尾曲｜Minecraft Films - World of Minecraft (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=UKY44HZ7HeU Minecraft Films https://www.youtube.com/watch?v=VH_DYDMbBLI 苦力怕有夠恐怖｜MineworksAnimations - Creepers are Terrible (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=8C0E64i_P18 MineworksAnimations https://www.youtube.com/watch?v=_2GLT7v8FzQ 衝鋒陷陣｜NoahCraft - We\u0026rsquo;re Breaking Out (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=ANWEkgJVdCg NoahCraft https://www.youtube.com/watch?v=an9UQJlPHnI 不再挖你｜Minecraft4Meh - Not Mining You (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=lMNJH-c8q0o Minecraft4Meh https://www.youtube.com/watch?v=jsQvuBfvl5o 互相了解｜Phantaboulous - Know you better (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=LjN6-JwK5FM Phantaboulous https://www.youtube.com/watch?v=kCSofVjUZao 怪物饒舌樂二｜JT Machinima - Minecraft The Mob Rap Part II (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=DgVBV0EV5OE JT Machinima https://www.youtube.com/watch?v=mYMjytZd0c0 我的最愛｜Pedro - My Favorite Things (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=2fXRth-kFbU Pedro https://www.youtube.com/watch?v=sBiCHzQGBaI 建築到太陽去｜Minecraft4Meh - Build To The Sun (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=hm632TBlqLw Minecraft4Meh https://www.youtube.com/watch?v=uWAp2hj1la4 食物 ｜parodzi - Food Supply (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=pPLvEvjBzIs parodzi https://www.youtube.com/watch?v=8OBynWtneBw 膽小｜Phantaboulous - Too Scared (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=7Wakq1hjkzQ Phantaboulous https://www.youtube.com/watch?v=FPjwTZf-uME 來挖點礦｜Minecraft4Meh－Mine Some Stone (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=uwvXQM8Ji5g Minecraft4Meh https://www.youtube.com/watch?v=M4vDSaGb4HU 趁怪物還未來臨時｜MineworksAnimations - Before Monsters Come (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=G7cFKpGZLoI MineworksAnimations https://www.youtube.com/watch?v=WXbHb-v75zQ 來挖鑽石｜Minecraft4Meh - Diamond Mining (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=Zs5Uapel56s Minecraft4Meh https://www.youtube.com/watch?v=XzUCsFrz88g 尋狗啟事｜parodzi - Missing (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=jS4Qcz9y5mo parodzi https://www.youtube.com/watch?v=erWd5ewLsgQ 怪物饒舌樂三｜JT Machinima - Minecraft Mob Rap Part III (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=AVb481QQuNk JT Machinima https://www.youtube.com/watch?v=jOhMM9XP6x4 空礦危機｜NowLetsPlayMinecraft - Minefall (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=J2UzS3A0w_s NowLetsPlayMinecraft https://www.youtube.com/watch?v=p1zHl9L8E1g 末影俠｜Minecraft Films - Enderman Theme Song (Minecraft歌曲翻譯) 不詳 Minecraft Films https://www.youtube.com/watch?v=8HSfnTp6X9Q 一起走吧，史蒂夫！｜Jolly ol Brits －Join Me Stevie (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=keC-XrYC1Z8 Jolly ol Brits https://www.youtube.com/watch?v=MiuMcTggjA4 礦井｜MineworksAnimations - Mineshaft (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=blKsmOP6zro MineworksAnimations https://www.youtube.com/watch?v=ptQGB1D-HOM 創世神聖誕夜｜YOGSCAST Lewis \u0026amp; Simon - Minecraft Christmas (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=lS-BfZfBbvU YOGSCAST Lewis \u0026amp; Simon https://www.youtube.com/watch?v=-PKj0t-xkD4 苦力怕之聲｜ItsAllMinecraft ​- Hissin\u0026rsquo; (Minecraft歌曲翻譯 不詳 ItsAllMinecraft ​- Hissin' https://www.youtube.com/watch?v=-PhH12V1Uzs 苦力怕的無奈｜ThnxCya - Creepers Gonna Creep (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=vjaa17ezbLM ThnxCya https://www.youtube.com/watch?v=5T33Jaq5Zow 你誤會我用透視外掛了｜ZexyZek - You Thought I Used XRAY (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=ZRineeKfZp0 ZexyZek https://www.youtube.com/watch?v=7A1es41b8_g 來玩創世神｜ThnxCya－I\u0026rsquo;ll Play Minecraft (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=8wCNP3ahSWQ ThnxCya https://www.youtube.com/watch?v=ARltGAWrWP0 替你作戰｜ZexyZek - Fight the Mobs (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=ksG8GjURuVw ZexyZek https://www.youtube.com/watch?v=Az5sDDpZN-E 雪傀儡之歌｜PixelVoxer - Snow Golem (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=D2yLysJ2bRs PixelVoxer https://www.youtube.com/watch?v=CKd_Y9cnJnE 白目之歌｜ShallWeCraftCharlie - Griefer (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=zs-UwO1v6oc ShallWeCraftCharlie https://www.youtube.com/watch?v=Do-gSCaqs28 蘑菇湯｜ZexyZek - Mushroom Stew (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=3Xt40GQjdf4 ZexyZek https://www.youtube.com/watch?v=Gpc16unkDus 情迷礦洞｜Pixelvoxer and Dreamreaver23 - Mine By (Minecraft歌曲翻譯) 不詳 Pixelvoxer and Dreamreaver23 https://www.youtube.com/watch?v=J2fJvG0JOT4 安德style｜ThnxCya - Like An Enderman (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=0t1QXHT2SmE ThnxCya https://www.youtube.com/watch?v=K4Ty5EAA2kM 西瓜種子｜QU Presents - The Melon Seed (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=8QPO3qjMtk4 QU Presents https://www.youtube.com/watch?v=L5z_fJa0AU0 苦力怕在哪？｜xViperlink - Creeper (Minecraft歌曲翻譯) 不詳 xViperlink https://www.youtube.com/watch?v=PRYNJYZ_ym4 從零開始｜Slamacow - From the Ground Up (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=MLKFtIC2Idw Slamacow https://www.youtube.com/watch?v=SYmE4BvPDn4 絕對不說再見｜ThnxCya - Never Say Goodbye (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=nJ5Anel-AgE ThnxCya https://www.youtube.com/watch?v=VTvR_GXC1gs 苦力怕的煩惱｜TehBlindGamerz - Creeper Problems (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=M92hb56hwWY TehBlindGamerz https://www.youtube.com/watch?v=Z4VCehXAqAA 生存世界｜ZexyZek - Survival (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=sywKsFeUMwc ZexyZek https://www.youtube.com/watch?v=ZopGmuW33wE 安全火把｜Tobuscus - SAFETY TORCH!! (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=upxzaVMhw8k Tobuscus https://www.youtube.com/watch?v=bRhpjNctlVc 現在你成了英雄｜ZaffaroTV - Now You\u0026rsquo;re A Hero! (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=_8P104FlaE8 ZaffaroTV https://www.youtube.com/watch?v=isBJLMKnFBM 創世神敢死隊｜Trisky - We\u0026rsquo;re Playing Minecraft (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=yDdhctBihqo Trisky https://www.youtube.com/watch?v=o7zTKBtYcic 紅石萬歲！｜Theisman - Redstone (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=z6ubv1CzqSo Theisman https://www.youtube.com/watch?v=pn8Mcr3aWDo 今晚就去Minecon｜TheFamousFilms - Minecon Tonight (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=wm2J71_9gss TheFamousFilms https://www.youtube.com/watch?v=qNIqVUsr_6Y 方塊土地｜Slamacow - Cube Land (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=7F0qhq7-K08 Slamacow https://www.youtube.com/watch?v=rXMw9gLPmfw 藏在深處的鑽石｜ThnxCya - Diamonds In The Deep (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=KW8sD2smeAQ ThnxCya https://www.youtube.com/watch?v=-cmvvWDIm94 Minecraft 1.4.7之歌｜ThnxCya - The Minecraft 1.4 7 song (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=xDBJ9rgbhvI ThnxCya https://www.youtube.com/watch?v=1oY2j26nK2s 煤炭金屬樂｜Rahmschnitzel feat. Gronkh - Kohle Metal(Minecraft歌曲翻譯) https://www.youtube.com/watch?v=ObLRD2QwgW4 Rahmschnitzel feat. Gronkh https://www.youtube.com/watch?v=CEnLYJTFhEo 太空烏賊—尼力｜The1ToFear－Nelly the Space Squid (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=xFdF5js601E The1ToFear https://www.youtube.com/watch?v=yPpJtou98k4 跟我一起挖礦｜ZexyZek - Mine With Me (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=ed88MqPh\u0026ndash;c ZexyZek https://www.youtube.com/watch?v=yqp86S5i71g 去你的地獄！｜YOGSCAST Lewis \u0026amp; Simon－Screw the Nether (Minecraft歌曲翻譯) https://www.youtube.com/watch?v=gqELqRCnW6g YOGSCAST Lewis \u0026amp; Simon https://www.youtube.com/watch?v=rBzXdxd4tx0 狂甩我的劍｜Tobuscus - I CAN SWING MY SWORD! https://www.youtube.com/watch?v=eN7dYDYfvVg Tobuscus 檔案遺失 復仇｜CaptainSparklez - Revenge https://www.youtube.com/watch?v=cPJUBQd-PNM CaptainSparklez 檔案遺失 亡國亡君｜CaptainSparklez - Fallen Kingdom https://www.youtube.com/watch?v=I-sH53vXP2A CaptainSparklez 檔案遺失 創世神之夢｜NightSkyCinemaHD - Just A Dream 檔案遺失（英文名稱為推測） 白目的一生 ｜Banana Pie - The Life Of A Griefer 檔案遺失（英文名稱為推測） 苦力怕臉｜Bobby Yarsulik - Creeper Face / Axe Rabbit - Creeper Face 檔案遺失（英文名稱為推測） 苦力怕樂園 ｜Alpaka Whacker / Creepers Paradise 檔案遺失（英文名稱為推測） 8位元版Minecraft主題曲｜BebopVox YOGSCAST - We Found Fun 檔案遺失（英文名稱為推測） 3. 考據的歌曲列表 # 下面是文字記錄的清單列表。考據後影片命名的規則是「頻道名稱」或者「作者」再加上「歌曲名字」。\n不確定(影片沒有下載到)：\n創世神之夢 (推定是NightSkyCinemaHD - Just A Dream) 白目的一生 (推定是Banana Pie - The Life Of A Griefer) 苦力怕臉 (可能是Bobby Yarsulik - Creeper Face 或者 Axe Rabbit - Creeper Face) 苦力怕樂園 (可能是Alpaka Whacker - Creepers Paradise) 8位元版Minecraft主題曲 (可能是BebopVox YOGSCAST - We Found Fun) 苦力怕在哪？(推定是 xViperLink - I Need Creepers) 已經確定原片的列表：\nAdamzoneTopMarks - Mine It Out｜挖到一個不剩 AntVenom - The Miner｜ 那位礦工 ArielPlays－Never Mining Together｜到此為止 BebopVox YOGSCAST - Don\u0026#39;t Mine At Night｜夜礦之路 BebopVox －Mine｜一生當礦工 BlahBlahBlahGAMING - Enderborn｜龍的傳人 BlahBlahBlahGAMING - Spiders｜蜘蛛洗腦歌 Blow You Up｜把你炸飛 (已亡佚) BrianNastiii - The Minecraft Anthem｜Minecraft派對搖滾 BrySi the Machinima Guy - I Just Got Griefed｜被白目耍了 BrySi the Machinima Guy - Minecraft vs Fortress Craft RAP BATTLE (feat Lil Wayne)｜Minecraft vs 建個創意城 BrySi the Machinima Guy - The Minecraft Rap Song｜Minecraft饒舌 CaptainLazerGuns - Dom - Enderman｜終界小偷 CaptainLazerGuns - Dom - I\u0026#39;m a Noob｜我是新手 CaptainLazerGuns - This is Minecraft｜這就是創世神！ CaptainSparklez - Fallen Kingdom｜亡國亡君 CaptainSparklez - Minecraft TNT Song｜TNT之歌 CaptainSparklez - Revenge｜復仇 CawkavFilms - Be A Griefer｜一起當白目 chickneyluvr43－I Love Chickneys ｜我愛小雞！ Christina D. - Have You Seen the Herobrine｜你有看過Herobrine嗎？ crewealexboy - Ore｜挖礦歌 DailyNoobPwner \u0026amp; BManDaGamer - We are done｜咱們死定了！ Daredevils32 Television - Dwarf Hole (Diggy Diggy Hole)｜好挖好挖洞 Dead Workers Party - In Search of Diamonds｜踏上尋找鑽石之路 dreamreaver23 - Some Items that I used to Own｜曾經擁有 dreamreaver23 - Trade Shop｜交易之歌 Dyerzy - Keep Building｜建築的熱情 GameplayerHD - The Diamond Song｜鑽石之歌 Hella Donna - Block by Block｜一塊一塊地 hojjoshMC - All I Do Is Dig｜挖神之神 Hunted Flame - Alone｜一個人 (已亡佚) ItsAllMinecraft - Glowstone Love｜螢光石之戀 ItsAllMinecraft- Hack That｜砍下去！ JasunNation - We Are The Humans ｜我們可是人類！ Jesse Cox - The Eye of the Creeper｜苦力怕之眼！ Jolly ol Brits - Make a Cake｜我要做個蛋糕 Jolly ol Brits - Skelly Heart｜骷髏的內心 Jolly ol Brits －Join Me Stevie ｜一起走吧，史蒂夫！ JT Machinima - Minecraft Mob Rap - The Mob Rap｜怪物饒舌歌一 JT Machinima - Minecraft Mob Rap Part III｜怪物饒舌樂三 JT Machinima - Minecraft The Mob Rap Part II ｜怪物饒舌樂二 KyleDinHD - 50 Ways to Make Mobs Die｜殺死怪物的五十種方法 Like a Block｜像個創世神 Luclinmcwb - Ocelots｜豹貓之歌 Minecraft and Donuts - Zombie Brain Song｜殭屍之歌 Minecraft Films - Enderman Theme Song｜末影俠 Minecraft Films - World of Minecraft｜Minecraft版Portal片尾曲 Minecraft4Meh - Build To The Sun｜建築到太陽去 Minecraft4Meh - Diamond Mining｜來挖鑽石 Minecraft4Meh - Not Mining You ｜不再挖你 Minecraft4Meh　－Mine Some Stone｜來挖點礦 MineworksAnimations - Before Monsters Come｜趁怪物還未來臨時 MineworksAnimations - Creepers are Terrible｜苦力怕有夠恐怖 MineworksAnimations - Mineshaft｜礦井 NateandBlydHD - Bows and Stuff｜附魔之歌 NoahCraft - We\u0026#39;re Breaking Out｜衝鋒陷陣 NowLetsPlayMinecraft - A Creeper Like You｜苦力怕的寂寞情歌 NowLetsPlayMinecraft - Minefall｜空礦危機 parodzi - Missing｜尋狗啟事 parodzi - Food Supply ｜食物 parodzi - Shouldn\u0026#39;t Have Killed Me｜你本就不該殺我 Pedro - Minecraft is Just Awesome｜Minecraft太好玩了！ Pedro - My Favorite Things｜我的最愛 Phantaboulous - Know you better｜互相了解 Phantaboulous - Minecraft Dude｜創世神老兄 Phantaboulous - Too Scared｜膽小 PixelVoxer - Minecraft For Two｜二人世界 PixelVoxer - Snow Golem｜雪傀儡之歌 Pixelvoxer and Dreamreaver23 - Mine By｜情迷礦洞 QU Presents - The Melon Seed｜西瓜種子 Rahmschnitzel feat. Gronkh - Kohle Metal｜煤炭金屬樂 rusplaying - Where Them Mobs at｜怪物在哪裏？ ShallWeCraftCharlie - Griefer｜白目之歌 Slamacow - Cube Land｜方塊土地 Slamacow - From the Ground Up｜從零開始 TehBlindGamerz - Creeper Problems｜苦力怕的煩惱 The1ToFear－Nelly the Space Squid｜太空烏賊—尼力 TheFamousFilms－Minecon Tonight｜今晚就去Minecon Theisman - Redstone｜紅石萬歲！ ThnxCya - Creepers Gonna Creep｜苦力怕的無奈 ThnxCya - Diamonds In The Deep｜藏在深處的鑽石 ThnxCya - Like An Enderman｜安德style ThnxCya - Never Say Goodbye｜絕對不說再見 ThnxCya - The Minecraft 1.4.7 song｜Minecraft 1.4.7之歌 ThnxCya－I\u0026#39;ll Play Minecraft｜來玩創世神 Tobuscus - I CAN SWING MY SWORD!｜狂甩我的劍 Tobuscus - SAFETY TORCH!!｜安全火把 Trisky - We\u0026#39;re Playing Minecraft｜創世神敢死隊 Vaecon - Hissin\u0026#39;｜苦力怕之聲 YOGSCAST Lewis \u0026amp; Simon - Minecraft Christmas｜創世神聖誕夜 YOGSCAST Lewis \u0026amp; Simon－Screw the Nether｜去你的地獄！ ZaffaroTV - Now You\u0026#39;re A Hero!｜現在你成了英雄 ZexyZek - Fight the Mobs｜替你作戰 ZexyZek - Mine With Me｜跟我一起挖礦 ZexyZek - Mushroom Stew｜蘑菇湯 (非s2011131翻譯) ZexyZek - Survival｜生存世界 ZexyZek - You Thought I Used XRAY｜你誤會我用透視外掛了.... ","date":"2018年11月6日","externalUrl":null,"permalink":"/posts/minecraft-classic-parody-songs/","section":"Minecrafts","summary":"A list of classic Minecraft songs from 2011 to 2013.\n古有孔子刪改詩經成詩三百，現有在下整理古典典籍藉此紀念過去的譯者: s2011131。(下簡稱S大) 1. 偉大的翻譯先驅者 # 2011 ~ 2013年間，是Minecraft第一次開始盛行的年代，大量的Minecraft歌曲也在此出現，譯者也紛紛出現，此時翻譯最多的非S大莫屬。\n這段時間可以稱作「古典時期」吧。\n在2013年8月2日由他整理成的翻譯列表文章在此:\n【情報】101首Minecraft歌曲完整翻譯！(13/8/2更新)\n奇蹟似的還存在於哈啦板。他翻譯的不只101首而已，然而他的頻道不久就因為被吉太多次被停權了。影片幾乎全消失，只剩少數用戶有轉載(或者說是盜片)，四散到其他網站。\n在s大的頻道消失後，有些歌曲我出於紀念性質有在個人的Youtube頻道「Ivon Huang」重譯。但我的頻道後來遭遇到同樣的命運，一樣吃版權砲再見了，這些歌曲也就失傳了。\n幸運的是，家弟在S大被停權之前不知道用了什麼方法，下載了該播放清單幾乎全部的影片，雖然全都是畫質360p的3gp檔，但這也夠我進行考據工作了，考據工作主要是找出原片。\nS大翻譯會附原片網址，但很少寫原片標題出來，所以我只能從這些影片的標題和內容來推斷。\n花了幾天功夫，影片大部分考據完成，其中我發現的是，有些影片的作者被吉了，殘留的影片是別人補上傳或者是被收錄在「Top XX」這種影片裡的；甚至還有原作者已經物理性死亡的了；有些則是到現在大家都還記得。\n","title":"Minecraft歌曲翻譯：2011年～2013年的經典101首歌曲列表","type":"minecraft"},{"content":"初稿：2018年11月4日\n地點：屏東大學民生校區\n1.摘要: # 要打破，異性戀非正常結合。談論性公民權。\n異性婚姻:1753年，英婚姻法通過，構成要件只要「我願意」。18世紀以前，婚姻常是利益交換下的產物。非歐洲文化地區如美洲的印第安人則是多妻制。\n政治與殖民的婚姻:如1887年美國的Dawes Act，要求印第安人放棄傳統制度以取得公民權。又或是中共解放雲南後，視當地摩梭人傳統走婚文化為原始落後，強行要求行一夫一妻制。(傳統摩梭人沒有「結婚」概念)。\n臺灣近一世紀的去重婚史:日治婚姻父母決定。1930年民法儀式婚常引發重婚爭議，2007年才確立前婚失效、後婚成立。\n到了現在，多元複數親密關係出現，包含女性教育程度提高、女性進入職場、都市化、人口結構變化等，多元親密敘事出現。\n未婚率圖。 家庭形態比例圖。 理論化親密公民權(Intimate Citizenship): 親密關係，是自我內心和他人親近的情感。\nKem Plummer: 「如果性與親密關係不能公共辯論，那異質性別實踐者根本無法做為公民。」\nDiane Richardson: 「從行為、認同、關係三個面向，性行為、性認同非連貫的。」\n以行為為基礎的性權利: 人有從事任何性行為的權利，不應處罰某些特定性行為的人。 以認同為基礎: 自我定義的權利、認同的權利，也包括自我實現。 以關係為基礎: 公開承認，法律保障的性關係。\n介入同性婚姻辯論: 婚姻制度、伴侶、家屬，一反異性戀常規的親密體制。 Kitizinger and Wilkison: 「結婚是務實面對日常生活、爭取象徵性權力。」\n權利語言的反挫: 對法國PACS的批評、同婚蛋糕判決\n如何解讀大法官第748號解釋？\nDuggan(1994): 如何避免主流化的問題？站在主流對立面。\n2. 心得 # 在聽此演講前我是知道有支持同運，和反同的公投，僅此而已。而現在我了解到他們的爭辯逐漸變成是要直接修民法或是另立專法規範。同運人士認為，唯有修專法才是真平權；反對的人和中間派則覺得會牽一「法」而動全身。那麼拋開公投案，此次演講主題是要探討關係的新定義，可以視為是一種變革吧，要向傳統世界的價值觀挑戰，因而從學理上加以探討。以下我主要想講這個理論應用的層面。\n以大環境層面來說，社會結構的演變使得人們開始想到這件事，異性戀才是正常的結合嗎？或者為什麼要懲罰不遵守異性交往「規範」的人群，從現在這個許多新型人權冒出來的時代，沒人想被歧視，大家都想爭取權益。所以來到婚姻這個問題上，論者認為婚姻本身就不是合理形式，這麼說吧，我的理解是論者認為婚姻非與生俱來之物，它是社會體制的產物，像是以法律層面來說就是方便管理繼承和財產權。再者，跟宗教(尤其是基督教)結合的反同便是堅決社會體制的捍衛者，可以說是保持傳統吧，長久以來建立的制度不應該被「少數人」所取代，因此他們的讓步便是讓同運自己玩自己的。但是這不是真平等嗎？婦女新知基金會的林實芳說:「原住民或身心障礙者相關的權益保障法律，是在基本權利之外以特別法去額外保障其權益，而同性婚姻在基本權益上已經缺少可以結婚這個選項，與原住民或是身心障礙者在同一個基礎上往上疊加的邏輯不同。」\n我是傾向立專法規定，這麼說很保守，我還沒找到somebody to love呢。這個問題對我來說太早了，現在提倡的趨勢越是繁多，就越是混雜，這個複雜的觀念越是難想清楚，不如我們暫時選個對大家都好的提案吧。又或者我較支持折衷作法的，現在能決定的只有人民，因為民進黨只會裝死和阻撓時代力量提案。我可以尊重同志的意見，但是不能接受，至少現在是這樣。敘述我看到的社會現象: 儘管美國這樣的大國都彩虹旗飄揚了，但是gay仍是調侃人的、帶有歧視貶低性的用詞。網路論壇PTT最大看板八卦板由「反甲連」佔主流意見，而他們的意見如: 甲甲(同志)裸露、亂主張合法化娛樂性用藥、散播愛滋還領健保、愛滋傳播已是同志佔最大宗等等。如果以基督教的教義來說就是罪大惡極了吧，上帝會把雞姦的城市給滅了。\n不過仔細想這幾點是不能構成反對同婚的有力要件的，僅僅是敘述缺點是不足以了解他們的，就因為這樣反甲？這樣不夠的。同性婚姻很像自我性別認同的光譜一般，be yourself，是大家稱許的標語之一，擁有明確界定我是誰是本身就有的權力。 幸好現在民主氛圍允許民眾辯論，這樣有利於了解彼此想法，雖然不見得能被全盤接受就是了，因為很多人的信條是堅定不移的，以理是打動不了根深蒂固的想法的。但是我要了解到一點，儘管你不同意別人想法，但也要學會理解。\n","date":"2018年11月4日","externalUrl":null,"permalink":"/posts/2018110401/","section":"Personals","summary":"初稿：2018年11月4日\n地點：屏東大學民生校區\n1.摘要: # 要打破，異性戀非正常結合。談論性公民權。\n異性婚姻:1753年，英婚姻法通過，構成要件只要「我願意」。18世紀以前，婚姻常是利益交換下的產物。非歐洲文化地區如美洲的印第安人則是多妻制。\n政治與殖民的婚姻:如1887年美國的Dawes Act，要求印第安人放棄傳統制度以取得公民權。又或是中共解放雲南後，視當地摩梭人傳統走婚文化為原始落後，強行要求行一夫一妻制。(傳統摩梭人沒有「結婚」概念)。\n臺灣近一世紀的去重婚史:日治婚姻父母決定。1930年民法儀式婚常引發重婚爭議，2007年才確立前婚失效、後婚成立。\n到了現在，多元複數親密關係出現，包含女性教育程度提高、女性進入職場、都市化、人口結構變化等，多元親密敘事出現。\n未婚率圖。 家庭形態比例圖。 理論化親密公民權(Intimate Citizenship): 親密關係，是自我內心和他人親近的情感。\nKem Plummer: 「如果性與親密關係不能公共辯論，那異質性別實踐者根本無法做為公民。」\nDiane Richardson: 「從行為、認同、關係三個面向，性行為、性認同非連貫的。」\n以行為為基礎的性權利: 人有從事任何性行為的權利，不應處罰某些特定性行為的人。 以認同為基礎: 自我定義的權利、認同的權利，也包括自我實現。 以關係為基礎: 公開承認，法律保障的性關係。\n","title":"演講心得：親密關係的重構：性、關係與家庭的構成","type":"personal"},{"content":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本。）\nNano Active Productions製作的Minecraft歌曲三部曲，第三部。\n曾經快樂的二人，受過去苦難折磨\u0026hellip;後來他們了解到，有了別人伸出的援手，就能通過最黑暗的時刻！\n這部影片是為了慶祝2018年由Mind UK大力推廣的世界精神衛生日，該組織的網址為：https://www.mind.org.uk\n這部影片使用的歌曲是美國獨立團體Karmina所唱。團名Karmina取自拉丁文的carmina，是為「歌曲」之意。\n歌名和歌詞中出現的「All the king\u0026rsquo;s horses and all the king\u0026rsquo;s men」，這句話是出自鵝媽媽童謠裡的《矮胖子》(Humpty Dumpty):\nHumpty Dumpty sat on a wall. Humpty Dumpty had a great fall. All the king\u0026#39;s horses, and all the king\u0026#39;s men, couldn\u0026#39;t put Humpty Dumpty together again. 矮胖子，坐牆上， 栽了一個大跟斗。 國王和兵馬都到來， 也難以讓它回復到原本的樣子。 矮胖子的形象是一顆蛋頭，摔下去就裂了。以此引申為「回不去了」的意思。\n以下歌詞取自Genius，翻譯by Ivon Huang。最早在翻譯這部影片的時候，我還用威力導演做了卡拉OK式的創新式字幕呢！\nI knock the ice from my bones 使勁敲打冰霜\nTry not to feel the cold 試著不要感受到寒冷\nCaught in the thought of that time 想到以前的時光\nWhen everything was fine 一切是那麼的美好\nEverything was mine 一切都在我身旁\nEverything was fine 一切是那麼的美好\nEverything was mine 一切都在我身旁\nAll the king\u0026rsquo;s horses and all the king\u0026rsquo;s men 做再多的努力\nCouldn\u0026rsquo;t put me back together again 都回不到從前\nAll the king\u0026rsquo;s horses and all the king\u0026rsquo;s men 做再多的努力\nCouldn\u0026rsquo;t put me back together again 都回不到從前\nRun with my hands on my eyes 遮住雙眼前行\nBlind, but I\u0026rsquo;m still alive 雖然看不見，但是我還活著\nFree to go back on my own 我可以自由的來去\nBut is it still a home 但那還算是家嗎？\nWhen you\u0026rsquo;re all alone? 如果只剩你一個的話？\nIs it still a home 但那還算是家嗎？\nWhen you\u0026rsquo;re all alone? 如果只剩你一個的話？\nAll the king\u0026rsquo;s horses and all the king\u0026rsquo;s men 做再多的努力\nCouldn\u0026rsquo;t put me back together again 都回不到從前\nAll the king\u0026rsquo;s horses and all the king\u0026rsquo;s men 做再多的努力\nCouldn\u0026rsquo;t put me back together again 都回不到從前\nAll the king\u0026rsquo;s horses and all the king\u0026rsquo;s men 做再多的努力\nCouldn\u0026rsquo;t put me back together again 都回不到從前\nAll the king\u0026rsquo;s horses and all the king\u0026rsquo;s men 做再多的努力\nCouldn\u0026rsquo;t put me back together again 都回不到從前\nOoh, ooh, ooh\nOoh, ooh, ooh\nThere is a reason I\u0026rsquo;m still standing 我站在這還有一個理由\nI never knew if I\u0026rsquo;d be landing 我不知道何時才會抵達\nAnd I will run fast, outlast 我會跑得更快，超越\nEveryone that said no 所有人的否定\nAll the king\u0026rsquo;s horses and all the king\u0026rsquo;s men 做再多的努力\nCouldn\u0026rsquo;t put me back together again 都回不到從前\nAll the king\u0026rsquo;s horses and all the king\u0026rsquo;s men 做再多的努力\nCouldn\u0026rsquo;t put me back together again 都回不到從前\nAll the king\u0026rsquo;s horses and all the king\u0026rsquo;s men 做再多的努力\nCouldn\u0026rsquo;t put me back together again 都回不到從前\nAll the king\u0026rsquo;s horses and all the king\u0026rsquo;s men 做再多的努力\nCouldn\u0026rsquo;t put me back together again 都回不到從前\nOh, oh\nCouldn\u0026rsquo;t put me back together again 都回不到從前\nOh, oh\nCouldn\u0026rsquo;t put me back together again 都回不到從前\n","date":"2018年10月26日","externalUrl":null,"permalink":"/posts/nano-all-the-king-s-horses-translation/","section":"Minecrafts","summary":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本。）\nNano Active Productions製作的Minecraft歌曲三部曲，第三部。\n曾經快樂的二人，受過去苦難折磨…後來他們了解到，有了別人伸出的援手，就能通過最黑暗的時刻！\n這部影片是為了慶祝2018年由Mind UK大力推廣的世界精神衛生日，該組織的網址為：https://www.mind.org.uk\n這部影片使用的歌曲是美國獨立團體Karmina所唱。團名Karmina取自拉丁文的carmina，是為「歌曲」之意。\n歌名和歌詞中出現的「All the king’s horses and all the king’s men」，這句話是出自鵝媽媽童謠裡的《矮胖子》(Humpty Dumpty):\nHumpty Dumpty sat on a wall. Humpty Dumpty had a great fall. All the king's horses, and all the king's men, couldn't put Humpty Dumpty together again. 矮胖子，坐牆上， 栽了一個大跟斗。 國王和兵馬都到來， 也難以讓它回復到原本的樣子。 矮胖子的形象是一顆蛋頭，摔下去就裂了。以此引申為「回不去了」的意思。\n以下歌詞取自Genius，翻譯by Ivon Huang。最早在翻譯這部影片的時候，我還用威力導演做了卡拉OK式的創新式字幕呢！\nI knock the ice from my bones 使勁敲打冰霜\nTry not to feel the cold 試著不要感受到寒冷\nCaught in the thought of that time 想到以前的時光\nWhen everything was fine 一切是那麼的美好\nEverything was mine 一切都在我身旁\nEverything was fine 一切是那麼的美好\nEverything was mine 一切都在我身旁\n","title":"【中英字幕】「回不去了」All the King's Horses｜Minecraft歌曲翻譯","type":"minecraft"},{"content":"今日在台南市德安百貨的誠品，參加的與演講主要是宣傳他們選編的一系列敗戰文學，來談談相對於勝利者的角度，戰敗國的看法是如何呢?\n巴頓將軍電影的話：「當你們（美國人）還是孩子的時候，你們都會崇拜彈子球冠軍、跑得最快的人、大聯盟球員和最強悍的拳擊手。美國人愛戴贏家而且不能容忍輸家。美國人每一次都會贏。這也是為什麼美國人從來都沒有輸過而且永遠也不會輸掉一場戰爭。美國人對輸的念頭都感到可恨。戰鬥是一個人能夠參加的最重要的比賽。它會讓所有最好的脫穎而出，讓底層的徹底淘汰。」\n首先談的是德國的例子，記者將德軍俘虜的言行一一記錄下來，因為他知道戰後再來問得到的必不是真實，人往往會怪東怪西，原為貴族的高級軍官作戰不力，很少會自己承認是自己的責任的。\n接著講述日本的例子，先說演講時間不長所以義大利pass。日本的敗戰作品最近幾年都很流行，永遠的0、山本五十六、日本最長的一天，他們宣傳的是反戰理念，但是他們都表現出「勿忘敗者所揮灑的汗水」我這樣表達可能不精確，就是說敗者也有可以學習的地方，他們做過的事我們應該讓世人知道。他推薦的書是半藤一利的燃燒的海洋，主要講述雷伊泰灣海戰。 2017冬活嘛，我記得始末，只是看Wiki了解是作戰經過，我卻不知道小澤治三郎在瑞鶴號上將棄艦之時有做出類似中途島海戰電影裡那樣山口多聞的場景，還命令: 甲板傾斜40度，各位一定要活下去，不准死！\n日本人囿於現今的自虐史觀，所以他們強調不可復辟戰爭，是他們的方式。而研究敗戰史的書籍出版不免會出現認為軍國主義復辟的情形出現。按照主持人的觀點，他認為日本在現行憲法的約束下是很難的，不過若自衛隊升格國防軍的議題擴大，那就是得警覺了。\n♨,.,.*\n延續最後的論點，於是我提出了不是問題的問題的直述句：日本的敗戰文學，總是情緒化的、參雜民族主義的成分在？\n這話我自己認為是廢話，誰不會為自己的歷史感到一絲絲同情？這問題我實則已有了答案，即是在「有限度」的標準之下，我們可以為這歷史感動、激動，可是我們不能（即使很難）重蹈過去的錯誤。\n主持人舉了個例子回答，在東南亞舉行公祭的時候，日本人也會去，並大方承認這是我們過去犯下的錯誤；而在過去受過苦難的家屬也不會希望發揚、提起這些過去。\n別人問的第二個問題，相較於日本，德國人的態度呢？日本人又是如何看待自己的敗戰文學？\n德國人對於戰敗後的處置，最嚴重的是種族迫害。華沙之跪、對納粹事物的嚴格限制，一本我的奮鬥的出版都必須經過嚴謹的註釋。\n日本編輯在出版戰史書籍時他們處理會非常小心，保留原本的確有不能有宣傳軍國主義之嫌。（對不起我後面有點記不得了）\n第三個問題，相較於日本的史觀，台灣人要怎麼面對這複雜背景的過去呢？\n主持人答案是：我不是台灣人。因此他以自身做例子，１９５７年馬來西亞獨立，瞬間華僑（升中華民國國旗的）一起變馬來西亞人，好比新加坡獨立後所有人又從馬來西亞人變新加坡人了，我們該怎麼辦？可是李光耀知道讓文化各自發展對未來不是辦法，因此規定官方語言為英語。台灣的因素在這裡很複雜，一時半刻難以解釋清楚。\n該出版社八旗文化的主編是中國來的，提的一個觀點是可以把中國史觀跟日本的比較，以敗戰者的角度來寫史，在傳統中國史是見不到的，即使是主持人提的以蜀漢為正統的三國演義亦是有成王敗寇的觀念。\n我書讀的不夠多，目前我自己的觀點不甚明朗。\n因為玩了艦隊Collection遊戲的緣故所以對戰爭感到興趣，擴展開來就是對歷史的研究了，看日本觀點的書不免情緒跟著激昂起來，就是中國人所說的精日分子了啊，價值觀受到影響，我這幾年就喜歡唱軍歌，今天主持人還在演講中播了拉包爾小調要大家一起拍手唱呢。\n可是既然說我的觀念是史學，作為一個研究者該有的精神（不過我不是歷史系的）不應該單方面的接受史觀，這是首要自覺，舉例來說就是看日美的戰鬥紀錄，雙方說法都要看，避免因不了解而產生bias。巴哈姆特上「婚後幽影」等人製作的文章我很喜歡，雖然我覺得那有點偏像是新文化史，可是可以了解到歷史洪流下，微小的真實。\n且不能因為說看日本人的角度就是皇民之類的，研究中共的歷史就是很紅之類的。\n那麼對敗戰史的看法呢?「目前」我的意見維持上述，我們必要全盤了解雙方的看法，但是不要輕易陷入單方的意識形態或價值觀裡頭。另外在未全盤了事實前，簡單的二分或是標籤化都是得避免的。 對不起我的涉獵還不夠廣泛，總覺得自己常言之無物。\n主持人鼓勵大家問問題發言就有扭蛋，拿到的是可愛版的摩耶(Azur Lane來的?) ","date":"2018年10月20日","externalUrl":null,"permalink":"/posts/2018102001/","section":"Histories","summary":"今日在台南市德安百貨的誠品，參加的與演講主要是宣傳他們選編的一系列敗戰文學，來談談相對於勝利者的角度，戰敗國的看法是如何呢?\n巴頓將軍電影的話：「當你們（美國人）還是孩子的時候，你們都會崇拜彈子球冠軍、跑得最快的人、大聯盟球員和最強悍的拳擊手。美國人愛戴贏家而且不能容忍輸家。美國人每一次都會贏。這也是為什麼美國人從來都沒有輸過而且永遠也不會輸掉一場戰爭。美國人對輸的念頭都感到可恨。戰鬥是一個人能夠參加的最重要的比賽。它會讓所有最好的脫穎而出，讓底層的徹底淘汰。」\n首先談的是德國的例子，記者將德軍俘虜的言行一一記錄下來，因為他知道戰後再來問得到的必不是真實，人往往會怪東怪西，原為貴族的高級軍官作戰不力，很少會自己承認是自己的責任的。\n接著講述日本的例子，先說演講時間不長所以義大利pass。日本的敗戰作品最近幾年都很流行，永遠的0、山本五十六、日本最長的一天，他們宣傳的是反戰理念，但是他們都表現出「勿忘敗者所揮灑的汗水」我這樣表達可能不精確，就是說敗者也有可以學習的地方，他們做過的事我們應該讓世人知道。他推薦的書是半藤一利的燃燒的海洋，主要講述雷伊泰灣海戰。 2017冬活嘛，我記得始末，只是看Wiki了解是作戰經過，我卻不知道小澤治三郎在瑞鶴號上將棄艦之時有做出類似中途島海戰電影裡那樣山口多聞的場景，還命令: 甲板傾斜40度，各位一定要活下去，不准死！\n","title":"誠品新書講座《從敗戰國的角度看歷史》聽後感","type":"history"},{"content":" 2018年，初次購買紙本同人誌，慚愧的說，過去我都是看盜版的。第一次想透過實際行動支持作者。\n購買的對象，就選我當時最愛的繪師悪転奏進的新刊。\n悪転奏進，社團作畫擔當是 黒糖ニッケ，劇本則是白崎カル。\n看該社團本的入坑作是在Eyny上看到的《艦娘着妊 電出産鬼畜姦》。再去翻翻過去的作品，嗯，對到胃口，他們就成了我第一個關注的同人團體。\n該社的內容（過去）偏重口，作品以東方Project為主，現在是艦隊Collection，偶爾會出其他作品的同人，如碧藍幻想。\n重口的內容以出產為最大宗，加之以多人凌辱，和藥物濫用。集其大成的本我個人認為是《優曇華出産薬物調教》，長達72頁，各種手段盡出，包括殺嬰等極端情節。\n至於一系列的有艦娘着妊，其中第六驅逐隊的響出了4集，命運多舛的四位，從新手變成老司機的過程。在C93的《ガングート雌堕快楽出産》做為指導甘古特的要員(笑\n下面是畫風變化。關於他們的詳細評析，以及值得一看的本子，我後續寫在這裡：出產與孕肚愛好者必看，專畫出產本子的「悪転奏進」黒糖ニッケ 介紹完了，進入正題。\n為表支持，興起了買第一本同人本的想法，鎖定其在COMIC1☆13推出的新本《艦娘着妊 Intrepid\u0026amp;Gambier Bay 出産大乱交》，找個代購後經過一個禮拜後收到。本子定價500日圓，最後總共花了410台幣入手。\n封面是兩位巨乳航母艦被幹到大肚子(安全把關的圖片由此來) 雖然在COMIC1☆13結束的隔天，熊貓網E-hentai就有精銳韓國人上傳掃本了，不過這不破壞我買的興致。\n完整封面 第一次買本，原來B5的規格跟以前港明高中待的ACG社團做的社刊一樣大啊(扶下巴 看看內容，被幹到大肚子暈過去，還原Gambier Bay冒失的個性，很好。倒是Intrepid還欲求不滿的樣子，原來這個被しばふ的畫風毀了的地味女是這麼的飢渴。後面Intrepid還把要出產的小孩塞回陰道裡面，只為了再被大肉棒繼續抽插XD 真是可怕的女人。挺著大肚子被瘋狂中出後把現場的大雞雞都榨乾。 封底的圖還是讓人會心一笑，HELLCOME。 以往只買官方刊物，現在買這類東西就是向前跨出了一步，只不過這價格已經是可以擴一次船位的了，有錢還是會買來支持支持的，畢竟這個不能拿CP值出來講究。\n角川台版沒繼續代理官漫精選輯了\u0026hellip; 煩惱的一個問題是: 【問卦】本子要收哪裡才不會尷尬\n最後提一下，本子二位主角在本鎮守府的地位。\nGambier Bay，改造練完後就是閒置，或許活動後可以派出去E1做反潛(诶那我的大鷹二號機怎辦\nIntrepid，在「不是很難的圖」，會拿她出來帶彩雲提供觸接。\n即使Intrepid官設不是那麼能被廣泛接受，但是本子可以將其矯正回來(信心\n","date":"2018年5月6日","externalUrl":null,"permalink":"/posts/i-bought-my-first-akutensoushin-doujinshi/","section":"Kantai-Collections","summary":" 2018年，初次購買紙本同人誌，慚愧的說，過去我都是看盜版的。第一次想透過實際行動支持作者。\n購買的對象，就選我當時最愛的繪師悪転奏進的新刊。\n悪転奏進，社團作畫擔當是 黒糖ニッケ，劇本則是白崎カル。\n看該社團本的入坑作是在Eyny上看到的《艦娘着妊 電出産鬼畜姦》。再去翻翻過去的作品，嗯，對到胃口，他們就成了我第一個關注的同人團體。\n該社的內容（過去）偏重口，作品以東方Project為主，現在是艦隊Collection，偶爾會出其他作品的同人，如碧藍幻想。\n重口的內容以出產為最大宗，加之以多人凌辱，和藥物濫用。集其大成的本我個人認為是《優曇華出産薬物調教》，長達72頁，各種手段盡出，包括殺嬰等極端情節。\n至於一系列的有艦娘着妊，其中第六驅逐隊的響出了4集，命運多舛的四位，從新手變成老司機的過程。在C93的《ガングート雌堕快楽出産》做為指導甘古特的要員(笑\n","title":"悪転奏進、First。初次購買日本同人誌","type":"kantai-collection"},{"content":"上一支手機Infocus M2 Plus摔到後螢幕裂開，得買新手機。\n這支是第一支我自己學習看規格表，在Momo購物網挑選的手機。以前都是家長隨便幫我挑一支，但偏偏她又不懂手機！\n單純看到3GB/16GB規格覺得好厲害就買了，結果後悔莫及。\n開箱 # 約在2016年9月購入。\n2015年上市，3GB/16GB版本，售價6,990元\n不過我買的時候好像跌到3,000元左右了？\n我買的是藍綠色的Zenfone 2 Selfie，正面一顆大鏡頭。 背部也一顆大鏡頭。音量鍵在後面很詭異。 背蓋塑膠做的，有點半圓形的弧度，有人說這種方便握持的弧度設計是抄襲LG G4來著？ 背蓋可以拆開換電池，但是包裝盒內沒有附第二顆電池。 170g的手機拿在手上還算輕盈，塑膠背蓋摸起來常常溫溫的，就是那顆該死的處理器的鍋。\n2年多的使用時間，我沒有使用過任何保護殼。\n包裝盒內還附贈了一個不怎麼樣的原廠耳機，屬於是聲音都糊成一團的那種。\n效能 # 你要知道，SD615處理器雖然號稱是高通第一個64位元的8核心處理器，為了跟Apple A打對台，但性能其實非常爛。不只容易過熱，性能跟SD400系列處理器一樣差。要續航沒續航，要效能沒效能，連續滑3個小時就要接行動電源。 玩3D遊戲開最低畫質還是會卡，連當時剛熱騰騰從PSP移植到手機上的《俠盜獵車手：自由城傳奇》都卡個半死，更不要說其他大型遊戲了，但凡涉及一點3D的都會卡，只能以看到超多毛邊的最低解析度跑。有些人認為Zenfone 2 Selfie應該像Zenfone 2 Laser一樣使用720p螢幕就好，1080p根本帶不動。我看只能勉強應付《Minecraft》。\n不過當時我對《Minecraft》的興趣減弱，取而代之入坑《艦隊Collection》，網頁遊戲的手機版客戶端倒是不怎麼吃效能，但亞太網路時不時滿格斷線讓我很嘔，下定決心以後再也不用亞太。\n拍照 # Zenfone 2 Selfie主打前後1300萬畫素/F2.0的自拍鏡頭，且使用雷射對焦，但拍出來也沒多好看\u0026hellip;主要是白平衡容易死白一片。連我當時失心瘋亂買的二手iPhone 4S都屌打。\n不過，還是有一些拍的比較好的風景照片 是可以拍點微距的東西啦\u0026hellip;.港明高中真不愧是在鄉下的綠色監獄，小動物真多。 錄音錄影的品質更不用說，唉，收音極差勁。\n用Zenfone附贈的耳機聽音樂，聲音宛如一團漿糊在唱歌，裝Viper4X也救不起來。\nRoot與刷機紀錄 # Zenfone 2 Selfie出廠版本Android 5，後續可以升級到Android 6。真的是\u0026hellip;沒過幾年就放生了。\n儘管性能很爛，不過這支手機最大的收穫是讓我學會刷機，並知道用正規的Magisk來Root手機，不靠來路不明的一鍵Root工具。\n早期我還笨笨的用KingRoot ZenUI的設計風格跟Android原生差異很大\u0026hellip;就有點華國美學這樣。\n我買來一年後開始刷機，認識了一名住在屏東的網友，儘管他拿的是小米Max，我們還是常常彼此私訊討論刷機技巧。\nZenfone 2 Selfie (ZD551KL) 規格跟Zenfone 2 Laser (Z00T) 很接近，所以刷機包能部份通用。\n我測試過很多ROM，像是CyanogenMod、AICP、Resurrection Remix，我們常常討論哪個ROM比較好。\nAICP 7.1 刷機可以稍微改善續航力與發熱問題。\nTWRP可以不靠電腦，只要將刷機包放SD卡就能刷機的。我在高中上到不喜歡課的時候，就常常在底下刷機，幾乎不聽課的。\n但，就算刷機也拯救不了悲慘的性能，除了多出一些系統空間外，該卡的一樣卡。ASUS原廠只支援到Android 6.0，但我需要Android 7的分割螢幕功能呀！這也算是我刷機的理由。\nAndroid 6.0的年代還得靠Xposed模組實現假性分割螢幕。XHaloFloatingWindow這個模塊提供的功能是懸浮視窗，但是可以選擇對齊，就可以變成如下的Android 7上下雙視窗。 因為刷機刷出興趣，導致後面買的手機我幾乎都刷過第三方ROM。\nZenfone 2 Selife似乎很依賴原廠ASUS的Splendid程式調色，才會看起來比較正常。許多第三方ROM刷入後都會變很黃。\n有趣的是，就算我的Zenfone 2 Selfie性能再怎麼爛，硬體卻從沒壞過，沒有像以前買Zenfone 2網友說的「七進七出」皇家俱樂部。\n使用日記 # 使用Zenfone的雜感。\n2016年10月23日\n我花了Zenfone Selfie 80%、iPhone 4S 77%的電，錄了85%的校慶演唱會。甚是可惜，Zenfone怕沒電先退場充行動；換iPhone上場，兩者皆有1080p。因為大熱天iPhone會啟動過熱保護機制，所以用iPhone錄的稍顯零散。再換回Zenfone，才發現行充的電源被榨乾了，只從40%到60%。基本上每個藝人都有錄到，但影片不能做成全紀錄，所以可能會做成Overview集。\nGood end沒有，只是，我希望能有一天死的乾脆點，不要勾勾狄。\n閃退的問題是不會有啦\u0026hellip;畢竟現在RAM都有3GB，那麼剩下的就是Soc好不好，能不能流暢執行了。\n2017年12月28日\nZenfone不能更新Android 7，Asus自己放生Zenfone 2，說什麼高通不支援處理器都是藉口。\n你是想被囚禁在原廠提供的安穩但卻沒有未來的ROM，還是願意走出牆外自己刷，擔負一切手機使用上更加不穩定的風險?\n這是政爭！\n趁著正在下載原廠ROM時說下。\n要選擇繼續用原廠ROM or 第三方？\n原廠的沒有未來，永遠停留Android 6，只會提供安全性修補；第三法的更新快速，現進入了Android 7 final build，很快就能看到Android 8的版本了。\n伴隨著此，驅動是硬上的，因為聽說Qualcomm沒有提供某些處理器的驅動所以Asus才不升。在使用第三方時總會頓，比原廠的還厲害，原因不明，隨機發生。在用Kernel Editor調各種參數也沒用後就只能怪罪於驅動問題。\n退回原廠的缺點:\n版本不是最新，且部分Google Play開發者把Zenfone列為拒絕往來戶。甚至因為這樣無法第一時間享用新的app介面(只能忍了，不然改build .prop暫時欺騙也行) 分割視窗功能消失(解決方法是Xposed模組) 肥大的ROM(刪內建app效果輕微，忍了) 耗電(經測試第三方其實也沒多省) 剩下的一些缺陷或可找模組來補足，但搞不好我以後又後悔，刷回第三方。\n換機前夕 # ZD551KL已經在我手上撐了1年又4個月，破Ara-Top Ak35的記錄了。很大原因能撐這麼久，或許是因為螢幕耐摔？現在不定時摔到，只有螢幕一角凹下去而已，以前這樣螢幕早就變白了。此外現在的螢幕有採用防油技術，所以指紋什麼的很容易清楚不留下痕跡。還有，韌體我重刷過好幾次，所以韌體是否耐用我並不清楚。\n在換機成紅米Note 5的前夕都要來批鬥一下:\ns615，真是他媽的雷貨，沒效能沒續航，然後我自己更雷，買zf2S這雷貨二個月後就推出了超穩定的Zf3。\n基本上，只能拿來使用工具類應用程式，3D遊戲沒一個順暢的，粗估FPS極限也就30吧。基於Aderno 405圖形效能的低落，連相機和編輯影片都會lag。\n容易發熱，真的是很輕度使用的才不會在意這個，可是定位是神拍機耶，持續亮屏4小時就沒電。用來看影片倒是沒什麼問題，不過螢幕在戶外顯得太暗。相片拍出來也不怎麼樣，山寨機相機偏白的顏色，只有6cm微距攝影和雷射對焦還算堪用。\nZenUI反而沒什麼好說的，除了偶爾重開機的bug，不是很大的阻礙。\n所言究其原因，最惡的源頭還是那顆自稱powerful的半成品s615，造就了整體糟糕的體驗。\n我希望要換下下支的時候，那時我是因為電池老化這種不可抗力才換，而不是從買來就一直負氣二年。所以就從買旗艦機開始。\nP.S. 我身邊用於輔助的iPhone 4s和iPod touch 6都已經被Apple的系統更新給毀了，新版iOS對前幾代的設備是標準負優化。\n","date":"2018年4月19日","externalUrl":null,"permalink":"/posts/asus-zenfone-2-selfie-review/","section":"Unboxings","summary":"上一支手機Infocus M2 Plus摔到後螢幕裂開，得買新手機。\n這支是第一支我自己學習看規格表，在Momo購物網挑選的手機。以前都是家長隨便幫我挑一支，但偏偏她又不懂手機！\n單純看到3GB/16GB規格覺得好厲害就買了，結果後悔莫及。\n開箱 # 約在2016年9月購入。\n2015年上市，3GB/16GB版本，售價6,990元\n不過我買的時候好像跌到3,000元左右了？\n我買的是藍綠色的Zenfone 2 Selfie，正面一顆大鏡頭。 背部也一顆大鏡頭。音量鍵在後面很詭異。 背蓋塑膠做的，有點半圓形的弧度，有人說這種方便握持的弧度設計是抄襲LG G4來著？ 背蓋可以拆開換電池，但是包裝盒內沒有附第二顆電池。 170g的手機拿在手上還算輕盈，塑膠背蓋摸起來常常溫溫的，就是那顆該死的處理器的鍋。\n2年多的使用時間，我沒有使用過任何保護殼。\n包裝盒內還附贈了一個不怎麼樣的原廠耳機，屬於是聲音都糊成一團的那種。\n效能 # 你要知道，SD615處理器雖然號稱是高通第一個64位元的8核心處理器，為了跟Apple A打對台，但性能其實非常爛。不只容易過熱，性能跟SD400系列處理器一樣差。要續航沒續航，要效能沒效能，連續滑3個小時就要接行動電源。 ","title":"ASUS Zenfone 2 Selfie使用兩年多的評價，真的是一台爛手機","type":"unboxing"},{"content":"艦隊Collection劇場版，2017年上映。 我不能熱衷到為了看這部電影而這個翹課，因此是在台灣首映第三天才去看。另，雖然沒有買代理商普威爾出的預購雙人票，不過台南的劇院還是有送艦隊收藏的明信片。 預告片：\n首先先暴雷：艦隊Collection劇場版的劇情 # 故事發生在2015年動畫版第一季之後。\n來到南方所羅門海域附近的肖特蘭泊地，由長門指揮(提督在北方和中部海域)。\n開幕一開始第八戰隊夜戰突入泊地，殲滅對方的補給艦。 戰鬥後，海域漸漸變紅，艦娘的裝備會被逐步腐蝕，而在某隻沉沒的深海棲艦身體跑出了如月的身體，浮了上來被帶回鎮守府。\n此時海域傳來聲音，吹雪說道:「沒事的」。\n睦月抱著如月喜極而泣，如月保有記憶，但加賀等人已開始留意到如月身體的異狀，長門列為D級事項，軍事機密。\n晚上慶功宴，吹雪等人討論著那個聲音。\n另一邊，長門說了「Iron Bottom Sound」敘述鐵底海峽沉沒了多艘艦船。\n如月開始出現異常，長門看到如月試航後一臉驚恐，她自己也發現身體開始變紫，儘管睦月一直假裝說沒事。\n擁有被擊沈記憶的加賀，便主動向吹雪等人解釋深海棲艦的由來：被擊沉的艦娘，變成深海，再變成艦娘。如此重複沒有意義，但加賀卻說，只要我們沒有人沉就能結束，睦月再度哭泣，如月也聽到了。 偵察的艦娘們回報的現象顯示，以某個點為中心，紅色的海正在擴散，再三天就會觸及到艦娘們所在的泊地，長門便決定主動進攻。再一次的，艦娘的裝備會被腐蝕，但發現到只有吹雪不會。\n如月把自己套起來，以遮掩身體的異狀，看到鏡子中逐漸深海化的自己，發了狂的欲想把它弄掉，被睦月撞見，露出了頭上長出的角，睦月安撫她。\n出擊的計畫，先引誘敵方的艦隊到北方，再讓其它艦隊支援。最後由第二艦隊突入中心。如月留在基地。\n航空戰，前面誘敵成功後，吹雪等人與艦隊會合，突入泊地，又遭遇戰艦棲姬，大和幫吹雪擋魚雷中破(?)，睦月被重巡ネ級壓在海面上，要被炮擊時，如月趕來了。身體還是正常的，頭髮變白，長出角。\n沒多說什麼，繼續鼓勵吹雪往中心邁進，那個中心就像是一個蕈狀雲，吹雪獨自進去後，遇到了另一個自己，深海化的吹雪。 她說，吹雪也沉沒過，沉沒時，大家想回去的思念讓她的身體分離，讓她得以忘卻所有悲傷重生，另一個吹雪則沉入海中，抱著怨念，成為棲艦，嫉妒吹雪的命運，還不斷改變著艦娘們的命運。\n深海吹雪想讓吹雪被同化，吹雪在最後腦中閃過各種話語，最後瞭解到，自己就是希望，走向深海化的自己。從那中心點，散出強光，所有附近的深海棲艦化作光粒子消失，睦月抱著如月，說一定會再找到妳的。 歡迎回來，加賀這樣說。\n劇末，吹雪說我一定會做到那個目標。\n唱完ED後，睦月開心的去找回來的，如月。\n感想 # 中規中矩粉絲向電影，算是給第一季動畫做了個結尾，吐便當之後再來個相信我之術，全劇終。\n喜歡艦隊Collection的粉絲應該都能接受這部電影版，角川贊助因此作畫精良，夜戰分鏡也很有氣氛。如果電影院我看的是4D版本就好了哪\u0026hellip;\u0026hellip;\n對想要看艦娘動起來的觀眾來說，這部電影照顧到了很多人。許多角色雖然只有幾秒鏡頭，但都展現了她們可愛的一面。 以比重來說，與TV版的比例相反，戰鬥畫面較多。作畫沒有看到很明顯的3D動畫(至少艦娘本體沒有)，多了妖精操作裝備的細節(從哪跑出來的？)，開場就是熟練見張員幫鳥海察看。\n夜戰炮擊，第一個黑人問號的橋段，天龍拿出了佩刀，邊閃邊用刀擋炮彈，用14cm砲幹掉了敵方。\n畫面不差，登場的艦娘和裝備也多了很多，不過渲染好像還是如TV版般不足。\n睦月的哭，都是哭一下便換鏡頭，或許他們真的拍不好哭戲?大和去找吹雪看天空，在預告片裡看到了，直白的說出為什麼我們存在，短暫卻深刻\u0026hellip;.可能會有像我這種看法的人存在。\n空戰只有一場，稍微激烈了些，烈風和零戦和地獄貓互咬，刻劃飛機細節的樣子好帥呀。不過因為是誘敵，主角不是她們，回港時衣服倒是都破破爛爛的。 吹雪遇到深海的自己，掙扎的張力還不到極致，便淨化了對方，我覺得場景偏快(這樣的解釋也很牽強)，睦月說會再找到如月那段，便比較和緩。\n「明明是特型驅逐艦，卻沒有發揮出應有的性能。」深海吹雪抱怨的這番話真叫人哭笑不得。這該不會是艦黑寫的台詞吧，眾所周知第一季動畫劇情太爛，吹雪被許多艦黑叫做「欠雷」。\n節奏的問題，儘管這次的編劇只有2位，但節奏快讓情緒帶入不是很深刻(其實我是連看《我要變成雙馬尾》都會被感動到的\u0026hellip;)，總體來說就是這樣。\n海面依然美麗，這樣對故事的解釋就是採用了官方的設定，被擊沉的艦娘，有機會再回來。\n注重感情的交流，與《蒼藍鋼鐵戰艦Cadenza》相似。\n深海方「想要回去」，睦月「我一定會回來的」就是主題曲「帰還」要表達的，此外還有最要的「希望」的要素。西澤幸奏唱的這首真的好好聽呀～相比唱《吹雪》那時的時候功力又進步了。\n或者，參考SOS Blog的一個對TV版的觀點，看到艦娘會動就很開心了，劇場版裡也出現了my老婆(物理)~龍驤。 功用是解釋整個故事，那麼就來期待第二期TV動畫會有怎樣的詮釋吧。\u0026hellip;大概要等到我有選舉權了的時候。\n不專業的細節考證 # 第八戰隊：跟遊戲內出擊任務「新編「三川艦隊」ソロモン方面へ！」相似， 之前才拔掉這根和「海上突入部隊、進発せよ！」這些討厭的釘子。\nIron Bottom Sound：2015夏活BGM有這一首(アイアンボトムサウンド)。\n深海的誘惑：「讓人想過去」2015春活BGM有「深海への誘い」，而且也反映出活動中音樂常參雜著呻吟。\n雖然電報有說到對方出現「高速的」タ級，但我只看到戰艦棲姬。新登場的敵艦還有輸送ワ級、重巡ネ級、輕巡ツ級、深海吹雪(何時實裝？)。\n動畫新登場的艦娘：龍驤、加古、古鷹、青葉、衣笠、明石、村雨、春雨、天津風、時津風、綾波、敷波、鈴谷、熊野。\n","date":"2017年3月19日","externalUrl":null,"permalink":"/posts/kancolle-movie-review/","section":"Reviews","summary":"艦隊Collection劇場版，2017年上映。 我不能熱衷到為了看這部電影而這個翹課，因此是在台灣首映第三天才去看。另，雖然沒有買代理商普威爾出的預購雙人票，不過台南的劇院還是有送艦隊收藏的明信片。 預告片：\n首先先暴雷：艦隊Collection劇場版的劇情 # 故事發生在2015年動畫版第一季之後。\n來到南方所羅門海域附近的肖特蘭泊地，由長門指揮(提督在北方和中部海域)。\n開幕一開始第八戰隊夜戰突入泊地，殲滅對方的補給艦。 戰鬥後，海域漸漸變紅，艦娘的裝備會被逐步腐蝕，而在某隻沉沒的深海棲艦身體跑出了如月的身體，浮了上來被帶回鎮守府。\n此時海域傳來聲音，吹雪說道:「沒事的」。\n睦月抱著如月喜極而泣，如月保有記憶，但加賀等人已開始留意到如月身體的異狀，長門列為D級事項，軍事機密。\n晚上慶功宴，吹雪等人討論著那個聲音。\n另一邊，長門說了「Iron Bottom Sound」敘述鐵底海峽沉沒了多艘艦船。\n如月開始出現異常，長門看到如月試航後一臉驚恐，她自己也發現身體開始變紫，儘管睦月一直假裝說沒事。\n擁有被擊沈記憶的加賀，便主動向吹雪等人解釋深海棲艦的由來：被擊沉的艦娘，變成深海，再變成艦娘。如此重複沒有意義，但加賀卻說，只要我們沒有人沉就能結束，睦月再度哭泣，如月也聽到了。 ","title":"一場艦娘自我的救贖劇：《劇場版 艦これ》觀影感想","type":"review"},{"content":" ✨免費版與Pro版的差異:\n➡免費版有廣告，尤其是返回遊戲主介面的那個最煩。\n➡免費版同一種只能同時裝3個Mod。\n➡以前有材質包限制，後來改掉了。\n➡免費版除了從Play商店取得，也可以從作者的GitHub下載\n❗免費版的優點是可以第一時間取得最新MCPE的支援測試版本(多半是beta，問題很多，看作者Twitter如何表示)\n如果你是BlockLauncher的死忠愛好者，那麼就買吧！就像Greenify(綠色守護)一樣購買捐贈版支持作者。\n不過你如果不能忍受各種突發bug，那還是再三考慮為好。\n","date":"2017年3月19日","externalUrl":null,"permalink":"/posts/is-blocklauncher-worth-paying/","section":"Minecrafts","summary":" ✨免費版與Pro版的差異:\n➡免費版有廣告，尤其是返回遊戲主介面的那個最煩。\n➡免費版同一種只能同時裝3個Mod。\n➡以前有材質包限制，後來改掉了。\n➡免費版除了從Play商店取得，也可以從作者的GitHub下載\n❗免費版的優點是可以第一時間取得最新MCPE的支援測試版本(多半是beta，問題很多，看作者Twitter如何表示)\n如果你是BlockLauncher的死忠愛好者，那麼就買吧！就像Greenify(綠色守護)一樣購買捐贈版支持作者。\n不過你如果不能忍受各種突發bug，那還是再三考慮為好。\n","title":"雜談：BlockLauncher值不值得買?","type":"minecraft"},{"content":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本）\n黃金 (Gold) 是Radapedaxa所製作的Minecraft Parody歌曲系列。\nRadapedaxa就是RainImator前身，因為與Redstone Records發生糾紛另立新頻道，舊頻道由Redstone Records接手。\n一個貧苦的村莊，取得黃金，有了錢財後，卻被怪物們羨慕嫉妒恨，被屠城掠奪的故事。\n故事穿插著村莊主角們的遭遇以及Herobrine本身的命運。\nHerobrine的故事線 # 「傷害我」Take me down # Entity 303首次出現。\n「怪物軍團」Monster Crew # Herobrine訓練士兵們的故事。\n「戰士們」Raiders # 敘說Herobrine訓練士兵們後，第一次出擊劫掠的經過。\n「Herobrine的一生」Herobrine\u0026rsquo;s Life # 主角的故事線 # 第1集「黃金」Gold # 交代故事背景，以及留下伏筆。\n作者本人就是主角。\n第2集「倖存者」The Last Stand # 非歌曲，為主角的兄弟倖存了下來，使用中式武器（關刀？）對抗Herobrine。\n第3集「地獄的深處」Nether Reaches # 主角前去地獄拯救被困住的兄弟。\n","date":"2016年10月14日","externalUrl":null,"permalink":"/posts/radapedaxa-gold-herobrine-series/","section":"Minecrafts","summary":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本）\n黃金 (Gold) 是Radapedaxa所製作的Minecraft Parody歌曲系列。\nRadapedaxa就是RainImator前身，因為與Redstone Records發生糾紛另立新頻道，舊頻道由Redstone Records接手。\n一個貧苦的村莊，取得黃金，有了錢財後，卻被怪物們羨慕嫉妒恨，被屠城掠奪的故事。\n故事穿插著村莊主角們的遭遇以及Herobrine本身的命運。\nHerobrine的故事線 # 「傷害我」Take me down # Entity 303首次出現。\n「怪物軍團」Monster Crew # Herobrine訓練士兵們的故事。\n「戰士們」Raiders # 敘說Herobrine訓練士兵們後，第一次出擊劫掠的經過。\n「Herobrine的一生」Herobrine’s Life # 主角的故事線 # 第1集「黃金」Gold # 交代故事背景，以及留下伏筆。\n","title":"Radapedaxa：黃金 (Gold) \u0026 Herobrine 系列介紹｜Minecraft歌曲翻譯","type":"minecraft"},{"content":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本）\n方塊姊妹 (Psycho Girl Little Sister) 為方塊女孩 (Psycho Girl) 的妹妹。\n身形是標準的小孩子，頭大身體小。\n行為和個性和姐姐挺像，聲音頗稚氣。\n伙伴都是些小動物，似乎不會找玩家來殺?\n第1集「Give Back My Pig」把我的小豬還來 # 拯救被村民綁架的玩伴，攻擊方式都是踩頭。\n第2集「My Sword」我的劍 # FNAF的佛萊迪進來也拿她沒轍，蠻特別的客串角色。\n第3集「Little Psyho」小方塊 # 拯救被拐走的動物朋友。\n","date":"2016年10月10日","externalUrl":null,"permalink":"/posts/minecraft-jams-psycho-little-sister-series/","section":"Minecrafts","summary":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本）\n方塊姊妹 (Psycho Girl Little Sister) 為方塊女孩 (Psycho Girl) 的妹妹。\n身形是標準的小孩子，頭大身體小。\n行為和個性和姐姐挺像，聲音頗稚氣。\n伙伴都是些小動物，似乎不會找玩家來殺?\n第1集「Give Back My Pig」把我的小豬還來 # 拯救被村民綁架的玩伴，攻擊方式都是踩頭。\n第2集「My Sword」我的劍 # FNAF的佛萊迪進來也拿她沒轍，蠻特別的客串角色。\n第3集「Little Psyho」小方塊 # 拯救被拐走的動物朋友。\n","title":"方塊姊妹系列介紹 Minecraft Jams - Psycho Girl Little Sister)｜Minecraft歌曲翻譯","type":"minecraft"},{"content":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本）\n小方臉 (Little Square Face，簡稱LSF) 是Minecraft Jams創造的一個男性角色，在部分集數中會有小時候的樣貌和回憶出現。\n幼時因為父母被殺，誓言要討伐邪惡。\n有個好友，被擊敗後獲得了Herobrine一般的能力，之後將其能力用於正途。\n曾在Psycho Girl系列裡客串。\n第1集「Little Square Face」小方臉 # 2013年發表，最早由TGN聯播網的頻道上傳推廣，後來才由Minecraft Jams本人重新上傳。\n第1集交代了小方臉成長的故事。\n第2集「Destiny」命運 # 仍然在TGN聯播網推廣。\n接續第1集的劇情，並且邂逅了兒時玩伴。\n第3集「There Will Be Love」愛會回來的 # 已獨立成為一個系列。\n獲得了Herobrine能力，討伐終界龍後，想起了自己的過去。\nMinecraft Jams在片尾也對孤兒表示關懷之語。\nIvon個人最喜歡的一集，砍龍動作帥氣，歌曲又動聽。\n第4集「Fighting Demons」與邪惡奮戰 # 可以確定的是，小方臉把獲得的能力用來鋤強扶弱。\n片頭的小孩後來出現在Minecraft School這首歌裡。\n第5集「Thunder and Lightning」電閃雷鳴 # 小方臉和方塊女孩一起擊退怪物。\n","date":"2016年10月10日","externalUrl":null,"permalink":"/posts/minecraft-jams-little-squre-face-series/","section":"Minecrafts","summary":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本）\n小方臉 (Little Square Face，簡稱LSF) 是Minecraft Jams創造的一個男性角色，在部分集數中會有小時候的樣貌和回憶出現。\n幼時因為父母被殺，誓言要討伐邪惡。\n有個好友，被擊敗後獲得了Herobrine一般的能力，之後將其能力用於正途。\n曾在Psycho Girl系列裡客串。\n第1集「Little Square Face」小方臉 # 2013年發表，最早由TGN聯播網的頻道上傳推廣，後來才由Minecraft Jams本人重新上傳。\n第1集交代了小方臉成長的故事。\n第2集「Destiny」命運 # 仍然在TGN聯播網推廣。\n接續第1集的劇情，並且邂逅了兒時玩伴。\n第3集「There Will Be Love」愛會回來的 # 已獨立成為一個系列。\n獲得了Herobrine能力，討伐終界龍後，想起了自己的過去。\nMinecraft Jams在片尾也對孤兒表示關懷之語。\n","title":"小方臉系列介紹 Minecraft Jams - Little Square Face｜Minecraft歌曲翻譯","type":"minecraft"},{"content":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本）\n方塊女孩(Psycho Girl)是Minecraft Jams所創造的眾多角色系列中的一位女性角色。從他早期的一首使用眾多名人的皮膚(如CaptainSparklez、Slamacow等)的影片中獨立成一個系列。\n外表是常見的女生皮膚風格，其言語辛辣、動作對男性充滿挑釁，主張女性主義。但是對小方臉(Little Square Face)情有獨鍾。與其有親屬關係者為妹妹Psycho Sister。\nPS：其實方塊女孩是我早期翻譯亂翻的，因為有了小方臉才這樣稱呼她。比較正確名稱應稱作「瘋狂女孩」。\nIvon個人比較喜歡的方塊女孩歌曲是第18集。\n前傳「Hey CaptainSparklez」 # 螳螂捕蟬，黃雀在後。\n2014年發表，CaptainSparklez本人的頻道也有轉載此影片，稱其為「fan made」。\n第1集「Girls know how to fight」女孩也懂戰鬥的 # 這集表現出狂妄的姿態，還有成固定班底的二個跟班。\n還有她的顏藝(?)，第一次提及到自己「 as harmless a fly」。\n第2集「Boys Can\u0026rsquo;t Beat Me」男人無法打敗我 # 這部影片曾經被「正港的SeanFreewayAndMinecraft(S.F.A.M.)盛翔頻道」翻譯過。\n下面留言板吵很兇，翻譯者明顯感受到事態嚴重，甚至關了留言功能。\n第3集「Fights like a girl」戰鬥得像個女孩 # 由小方臉客串演出，彼此都很好戰。\n第4集「Shaking axe」甩甩斧頭 # 坦承很女性主義，不過她只是說想說的話。\n第5集:「Tough Girls Fight」戰鬥吧！女孩 # 接受了Herobrine的挑戰書的方塊女孩會\u0026hellip;?\n第6集: 「Bad Boy」壞男孩 # 繼續日常的打打鬧鬧。\n第7集「Invincible」所向無敵 # 在駭客第4集中被Entity 303附身的方塊女孩，她的表現如何呢\u0026hellip;\n第8集「Boys Gonna Lose」男孩們輸定了 # 述說方塊女孩父母的過去。\n第9集「Entity 303」 # 帶朋友和小方臉會見爸爸。\n第10集「Little crazy」小瘋子 # 方塊女孩第一次見到妹妹時發生的事。\n第11集「Girlfriend of your dreams」夢想中的女孩 # 回顧一下CaptainSparklez的事情。\n第12集「I Rise」我的成長 # 方塊女孩與她的前男友的故事。\n第13集「Griefer」破壞狂 # 方塊女孩的爸爸竟然是壞蛋?\n第14集「How Do You Like Me」對我的看法 # 揭露上集的幕後黑手。\n第15集「He\u0026rsquo;s no good for you」他配不上妳 # 方塊女孩的朋友跟駭客在一起了!?\n第16集「Sweet Tarts」甜餡餅 # 方塊女孩的前男友和那神秘女友竟然又冒了出來。\n第17集「Rage On」我生氣了 # 方塊女孩和神秘女友的決戰。\n第18集「Die for You」吾為君亡 # 駭客挺身而出。\n第19集「Make It」我們做到了 # 方塊女孩一夥人潛入地獄。本片幾乎都是純音樂。\n第21集「Determination」決心 # 方塊女孩系列第21集，方塊女孩對上Nioros。\n第22集「Girls Fight Crazy」女孩要瘋狂戰鬥 # ","date":"2016年10月9日","externalUrl":null,"permalink":"/posts/minecraft-jams-psycho-girl-series/","section":"Minecrafts","summary":"（因為Ivon的翻譯頻道已經被停權，故下面引用的影片是原文無字幕版本）\n方塊女孩(Psycho Girl)是Minecraft Jams所創造的眾多角色系列中的一位女性角色。從他早期的一首使用眾多名人的皮膚(如CaptainSparklez、Slamacow等)的影片中獨立成一個系列。\n外表是常見的女生皮膚風格，其言語辛辣、動作對男性充滿挑釁，主張女性主義。但是對小方臉(Little Square Face)情有獨鍾。與其有親屬關係者為妹妹Psycho Sister。\nPS：其實方塊女孩是我早期翻譯亂翻的，因為有了小方臉才這樣稱呼她。比較正確名稱應稱作「瘋狂女孩」。\nIvon個人比較喜歡的方塊女孩歌曲是第18集。\n前傳「Hey CaptainSparklez」 # 螳螂捕蟬，黃雀在後。\n2014年發表，CaptainSparklez本人的頻道也有轉載此影片，稱其為「fan made」。\n第1集「Girls know how to fight」女孩也懂戰鬥的 # 這集表現出狂妄的姿態，還有成固定班底的二個跟班。\n","title":"方塊女孩系列介紹 Minecraft Jams - Psycho Girl｜Minecraft歌曲翻譯","type":"minecraft"},{"content":"MineworksAnimation御用主唱J Rice的非Minecraft單曲。\nMineworksAnimation頻道也有幫忙宣傳。\n這首單曲剛獲得了 The Official UK Music Week Club Breakers排行榜的第4名。\n片中有出現一些宇宙語，有興趣學習請造訪以下網站: http://www.atomthealien.com/\n#BeTheTruth 做真正的自己!\n作品資訊 # J Rice - Be the truth\n主唱: J Rice\n作曲: Marc Mysterio\n歌曲下載 # http://bit.ly/2b8omCn\nsrt歌詞 # 礙於版權因素，無法提供有字幕的影片。\n1 00:00:00,000 --\u0026gt; 00:00:03,000 我希望現在改變沒有太遲 I pray it\u0026#39;s not too late to change 2 00:00:03,000 --\u0026gt; 00:00:05,080 我所見的盡是淚水，充滿天際 I see the tears, they fill the sky 3 00:00:05,080 --\u0026gt; 00:00:07,520 它們迸發出來了 they\u0026#39;re screamin out 4 00:00:07,920 --\u0026gt; 00:00:09,600 但如果你仔細的聽 and if you listen close 5 00:00:09,600 --\u0026gt; 00:00:11,600 你就會聽到他們的呼喊 you\u0026#39;ll hear their voices 6 00:00:11,600 --\u0026gt; 00:00:14,760 只要他們能不畏懼的叫出來 when they\u0026#39;re not too scared to shout 7 00:00:15,120 --\u0026gt; 00:00:16,880 我了解真正的自己 I know truth, 8 00:00:18,600 --\u0026gt; 00:00:21,080 你知道的僅是口頭說說 you only know what you\u0026#39;ve been told 9 00:00:22,520 --\u0026gt; 00:00:25,880 我了解真正的自己 I know the truth 10 00:00:26,440 --\u0026gt; 00:00:30,160 你知道的都僅是口頭說說的而已 you just believe whatever you\u0026#39;ve been told 11 00:00:30,160 --\u0026gt; 00:00:31,320 我想成為 I wanna be 12 00:00:32,280 --\u0026gt; 00:00:33,520 我想成為 I wanna be 13 00:00:34,080 --\u0026gt; 00:00:35,240 我想成為 I wanna be 14 00:00:35,800 --\u0026gt; 00:00:36,920 我想成為 I wanna be 15 00:00:37,840 --\u0026gt; 00:00:38,960 我想成為 I wanna be 16 00:00:39,520 --\u0026gt; 00:00:40,800 我想成為 I wanna be 17 00:00:41,640 --\u0026gt; 00:00:42,880 我想成為 I wanna be 18 00:00:43,320 --\u0026gt; 00:00:44,520 我想成為 I wanna be 19 00:00:44,920 --\u0026gt; 00:00:46,100 我心目中的樣子 what I wanna be 20 00:00:46,100 --\u0026gt; 00:01:00,960 我想成為...... I wanna be 21 00:01:00,960 --\u0026gt; 00:01:02,960 我心目中的樣子 what I wanna be 22 00:01:17,280 --\u0026gt; 00:01:18,080 我想成為 I wanna be 23 00:01:32,040 --\u0026gt; 00:01:34,680 我們不必聽你的 we don\u0026#39;t have to listen 24 00:01:35,720 --\u0026gt; 00:01:38,680 我才不想照你的想法去活 I don\u0026#39;t wanna be what you want me to be 25 00:01:39,440 --\u0026gt; 00:01:42,480 你可以發現我跟他們處在一塊 and you can find me with them 26 00:01:43,040 --\u0026gt; 00:01:46,440 因為你甚至不知道自己還沒睡醒 cuz you don\u0026#39;t even know that you\u0026#39;re asleep 27 00:01:46,800 --\u0026gt; 00:01:50,360 但我可清醒的很 but I\u0026#39;m awake 28 00:01:50,800 --\u0026gt; 00:01:53,320 我可清醒的很... I\u0026#39;m awake 29 00:01:54,400 --\u0026gt; 00:02:01,720 我可清醒的很...... I\u0026#39;m awake........... 30 00:02:02,040 --\u0026gt; 00:02:03,280 我想成為 I wanna be 31 00:02:04,000 --\u0026gt; 00:02:05,200 我想成為 I wanna be 32 00:02:05,800 --\u0026gt; 00:02:07,280 我想成為 I wanna be 33 00:02:07,720 --\u0026gt; 00:02:08,960 我想成為 I wanna be 34 00:02:09,760 --\u0026gt; 00:02:10,920 我想成為 I wanna be 35 00:02:11,400 --\u0026gt; 00:02:12,640 我想成為 I wanna be 36 00:02:13,320 --\u0026gt; 00:02:14,680 我想成為 I wanna be 37 00:02:15,200 --\u0026gt; 00:02:16,360 我想成為 I wanna be 38 00:02:16,360 --\u0026gt; 00:02:17,880 我心目中的樣子 what I wanna be 39 00:02:17,880 --\u0026gt; 00:02:33,080 我想成為...... I wanna be 40 00:02:34,120 --\u0026gt; 00:02:35,000 我心目中的樣子 what I wanna be 41 00:02:49,840 --\u0026gt; 00:02:50,600 我想成為...... I wanna be ","date":"2016年8月22日","externalUrl":null,"permalink":"/posts/j-rice-be-the-truth-translation/","section":"Minecrafts","summary":"MineworksAnimation御用主唱J Rice的非Minecraft單曲。\nMineworksAnimation頻道也有幫忙宣傳。\n這首單曲剛獲得了 The Official UK Music Week Club Breakers排行榜的第4名。\n片中有出現一些宇宙語，有興趣學習請造訪以下網站: http://www.atomthealien.com/\n#BeTheTruth 做真正的自己!\n作品資訊 # J Rice - Be the truth\n主唱: J Rice\n作曲: Marc Mysterio\n歌曲下載 # http://bit.ly/2b8omCn\nsrt歌詞 # 礙於版權因素，無法提供有字幕的影片。\n1 00:00:00,000 --\u003e 00:00:03,000 我希望現在改變沒有太遲 I pray it's not too late to change 2 00:00:03,000 --\u003e 00:00:05,080 我所見的盡是淚水，充滿天際 I see the tears, they fill the sky 3 00:00:05,080 --\u003e 00:00:07,520 它們迸發出來了 they're screamin out 4 00:00:07,920 --\u003e 00:00:09,600 但如果你仔細的聽 and if you listen close 5 00:00:09,600 --\u003e 00:00:11,600 你就會聽到他們的呼喊 you'll hear their voices 6 00:00:11,600 --\u003e 00:00:14,760 只要他們能不畏懼的叫出來 when they're not too scared to shout 7 00:00:15,120 --\u003e 00:00:16,880 我了解真正的自己 I know truth, 8 00:00:18,600 --\u003e 00:00:21,080 你知道的僅是口頭說說 you only know what you've been told 9 00:00:22,520 --\u003e 00:00:25,880 我了解真正的自己 I know the truth 10 00:00:26,440 --\u003e 00:00:30,160 你知道的都僅是口頭說說的而已 you just believe whatever you've been told 11 00:00:30,160 --\u003e 00:00:31,320 我想成為 I wanna be 12 00:00:32,280 --\u003e 00:00:33,520 我想成為 I wanna be 13 00:00:34,080 --\u003e 00:00:35,240 我想成為 I wanna be 14 00:00:35,800 --\u003e 00:00:36,920 我想成為 I wanna be 15 00:00:37,840 --\u003e 00:00:38,960 我想成為 I wanna be 16 00:00:39,520 --\u003e 00:00:40,800 我想成為 I wanna be 17 00:00:41,640 --\u003e 00:00:42,880 我想成為 I wanna be 18 00:00:43,320 --\u003e 00:00:44,520 我想成為 I wanna be 19 00:00:44,920 --\u003e 00:00:46,100 我心目中的樣子 what I wanna be 20 00:00:46,100 --\u003e 00:01:00,960 我想成為...... I wanna be 21 00:01:00,960 --\u003e 00:01:02,960 我心目中的樣子 what I wanna be 22 00:01:17,280 --\u003e 00:01:18,080 我想成為 I wanna be 23 00:01:32,040 --\u003e 00:01:34,680 我們不必聽你的 we don't have to listen 24 00:01:35,720 --\u003e 00:01:38,680 我才不想照你的想法去活 I don't wanna be what you want me to be 25 00:01:39,440 --\u003e 00:01:42,480 你可以發現我跟他們處在一塊 and you can find me with them 26 00:01:43,040 --\u003e 00:01:46,440 因為你甚至不知道自己還沒睡醒 cuz you don't even know that you're asleep 27 00:01:46,800 --\u003e 00:01:50,360 但我可清醒的很 but I'm awake 28 00:01:50,800 --\u003e 00:01:53,320 我可清醒的很... I'm awake 29 00:01:54,400 --\u003e 00:02:01,720 我可清醒的很...... I'm awake........... 30 00:02:02,040 --\u003e 00:02:03,280 我想成為 I wanna be 31 00:02:04,000 --\u003e 00:02:05,200 我想成為 I wanna be 32 00:02:05,800 --\u003e 00:02:07,280 我想成為 I wanna be 33 00:02:07,720 --\u003e 00:02:08,960 我想成為 I wanna be 34 00:02:09,760 --\u003e 00:02:10,920 我想成為 I wanna be 35 00:02:11,400 --\u003e 00:02:12,640 我想成為 I wanna be 36 00:02:13,320 --\u003e 00:02:14,680 我想成為 I wanna be 37 00:02:15,200 --\u003e 00:02:16,360 我想成為 I wanna be 38 00:02:16,360 --\u003e 00:02:17,880 我心目中的樣子 what I wanna be 39 00:02:17,880 --\u003e 00:02:33,080 我想成為...... I wanna be 40 00:02:34,120 --\u003e 00:02:35,000 我心目中的樣子 what I wanna be 41 00:02:49,840 --\u003e 00:02:50,600 我想成為...... I wanna be","title":"【中英對照】J Rice - 「做真正的自己」Be the truth","type":"minecraft"},{"content":" 「建築」Build on 作者HyperDream團隊另一部關於多人伺服器的戰鬥歌曲，改編自Rebecca Sugar的Stronger Than You。\n此歌曲原為動畫《神臍小捲毛》的插入曲，後被《Undertale》的玩家翻唱，下面是Sans的版本：\n短版的原曲：\n註解 # 片中的KD分別為kill和dead。\nsrt歌詞 # 1 00:00:10,410 -- 00:00:11,410 我獲得了我的技巧 I got my skills 2 00:00:11,410 -- 00:00:12,410 全都獲得了 All together 3 00:00:12,410 -- 00:00:15,800 我才不會死在你的外掛下 And I’m never gonna die to the hacks that you put me through 4 00:00:15,800 -- 00:00:17,200 因為我的技巧更勝一籌 Because my skills are better 5 00:00:17,200 -- 00:00:19,870 觀眾們都大喊「幹掉她!」 And every spectator is sayin’ “Go get ‘er” 6 00:00:19,870 -- 00:00:22,120 我和我的利刃可不會輕易放過你 My blade and I ain\u0026#39;t gonna give up to you 7 00:00:22,660 -- 00:00:25,040 不要用任何外掛，直接過來呀 Come at me without using any client tools 8 00:00:25,040 -- 00:00:26,790 讓我們來打吧，只有你和我 Let\u0026#39;s fight, just me and you. 9 00:00:27,580 -- 00:00:29,330 讓我們來打吧，只有你和我 Let\u0026#39;s fight, just me vs you. 10 00:00:29,330 -- 00:00:31,830 來打我呀，如果你行的話 Go ahead and try to hit me if you\u0026#39;re able 11 00:00:31,830 -- 00:00:34,040 如果我周遭有模組你就有麻煩了 If a mod comes around you’ll get in trouble 12 00:00:34,040 -- 00:00:36,660 我看到你惱羞成怒，嫉妒我的技巧 I see you hating on my skills cuz yours are shameful 13 00:00:36,660 -- 00:00:38,870 能跟我打，你應該要覺得感激才是 To play with me, I think you should be grateful 14 00:00:38,870 -- 00:00:41,200 我在伺服器中排名最高 I’m the highest ranking on the server 15 00:00:41,200 -- 00:00:43,490 這會是最快結束的死鬥 This will be the fastest Deathmatch ever 16 00:00:43,490 -- 00:00:46,150 要是想開掛，我就回敬你更大的 If you try to hack I\u0026#39;ll just come back greater 17 00:00:46,150 -- 00:00:48,660 你會喜歡當觀眾的 You’ll get used to the life of a spectator 18 00:00:48,660 -- 00:00:51,950 組成我身體的盡是 I am made of 19 00:00:51,950 -- 00:00:54,790 ~技~巧~ ~Skill~ 20 00:00:54,790 -- 00:00:57,370 ~都~是~ ~Of~ 21 00:00:59,750 -- 00:01:07,120 ~技~巧~ ~Skill~ 22 00:01:28,620 -- 00:01:30,200 附魔的鑽石劍 Enchanted Diamond sword 23 00:01:31,040 -- 00:01:32,660 讓戰鬥開始吧! Let the fight begin! 24 00:01:33,200 -- 00:01:35,040 如果你認為能打得過我 If you think you’ll win against me 25 00:01:35,040 -- 00:01:37,500 那我勸你最好再想想 Then you need to think again. 26 00:01:38,040 -- 00:01:39,870 有著一顆飢餓遊戲玩家的心 With the heart of a hunger gamer 27 00:01:40,790 -- 00:01:42,490 我的戰鬥將永不停歇 This dance will never end. 28 00:01:42,490 -- 00:01:44,750 我也不會你傷到我的KD And I won\u0026#39;t let you hurt my KD. 29 00:01:45,120 -- 00:01:47,120 我要用我的生命來守護 With my life I will defend 30 00:01:47,910 -- 00:01:50,040 來打我呀，如果你行的話 Go ahead and try to hit me if you\u0026#39;re able. 31 00:01:50,040 -- 00:01:52,410 如果我周遭有模組你就麻煩了 If a mod comes around you’ll get in trouble 32 00:01:52,410 -- 00:01:55,080 你太多模組要切換了，現在你有麻煩了 Too many mods for you to toggle, now you’re struggling 33 00:01:55,080 -- 00:01:57,330 你很害怕，因為你知道我在錄影 You’re just scared cuz you know I’m recording 34 00:01:57,330 -- 00:01:59,410 我比你朋友都還OP I am more OP than all of your friends 35 00:01:59,790 -- 00:02:01,790 也沒有人敢這樣宣稱 There’s nobody else who even contends 36 00:02:02,250 -- 00:02:03,360 我是個戰士 I am a fighter 37 00:02:03,360 -- 00:02:04,330 今天是我的勝利之日 My day of triumph 38 00:02:04,620 -- 00:02:06,870 這就是我的宣言 This is my declaration 39 00:02:06,870 -- 00:02:10,900 組成我身體的盡是 I am made of 40 00:02:10,900 -- 00:02:12,950 ~技~巧~ ~Skill~ 41 00:02:12,950 -- 00:02:15,500 ~盡~是~ ~Of~ 42 00:02:15,500 -- 00:02:18,000 都比你的好 And they’re better than yours 43 00:02:18,000 -- 00:02:25,330 ~技~巧~ ~Skill~ 44 00:02:25,700 -- 00:02:27,750 都比你的好 And they’re better than yours 45 00:02:27,750 -- 00:02:35,290 ~技~巧~ ~Skill~ 46 00:02:35,540 -- 00:02:37,700 都比你的好 And they’re better than yours 47 00:02:37,700 -- 00:02:46,290 ~技~巧~ ~Skill~ 48 00:02:52,410 -- 00:02:55,370 先生小姐們，希望你們喜歡這部Parody 49 00:02:55,370 -- 00:02:58,250 記得按讚和留言，並訂閱取得最新動態 50 00:02:58,250 -- 00:03:01,830 也請看看列在下方的製作人員名單 51 00:03:01,830 -- 00:03:04,200 我們下部影片再見，bye。 52 00:03:11,000 -- 00:03:13,000 翻譯 \u0026amp; 字幕 By Ivon Huang ","date":"2016年8月7日","externalUrl":null,"permalink":"/posts/hyperdream-more-skilled-than-you-translation/","section":"Minecrafts","summary":" 「建築」Build on 作者HyperDream團隊另一部關於多人伺服器的戰鬥歌曲，改編自Rebecca Sugar的Stronger Than You。\n此歌曲原為動畫《神臍小捲毛》的插入曲，後被《Undertale》的玩家翻唱，下面是Sans的版本：\n短版的原曲：\n註解 # 片中的KD分別為kill和dead。\nsrt歌詞 # 1 00:00:10,410 -- 00:00:11,410 我獲得了我的技巧 I got my skills 2 00:00:11,410 -- 00:00:12,410 全都獲得了 All together 3 00:00:12,410 -- 00:00:15,800 我才不會死在你的外掛下 And I’m never gonna die to the hacks that you put me through 4 00:00:15,800 -- 00:00:17,200 因為我的技巧更勝一籌 Because my skills are better 5 00:00:17,200 -- 00:00:19,870 觀眾們都大喊「幹掉她!」 And every spectator is sayin’ “Go get ‘er” 6 00:00:19,870 -- 00:00:22,120 我和我的利刃可不會輕易放過你 My blade and I ain't gonna give up to you 7 00:00:22,660 -- 00:00:25,040 不要用任何外掛，直接過來呀 Come at me without using any client tools 8 00:00:25,040 -- 00:00:26,790 讓我們來打吧，只有你和我 Let's fight, just me and you. 9 00:00:27,580 -- 00:00:29,330 讓我們來打吧，只有你和我 Let's fight, just me vs you. 10 00:00:29,330 -- 00:00:31,830 來打我呀，如果你行的話 Go ahead and try to hit me if you're able 11 00:00:31,830 -- 00:00:34,040 如果我周遭有模組你就有麻煩了 If a mod comes around you’ll get in trouble 12 00:00:34,040 -- 00:00:36,660 我看到你惱羞成怒，嫉妒我的技巧 I see you hating on my skills cuz yours are shameful 13 00:00:36,660 -- 00:00:38,870 能跟我打，你應該要覺得感激才是 To play with me, I think you should be grateful 14 00:00:38,870 -- 00:00:41,200 我在伺服器中排名最高 I’m the highest ranking on the server 15 00:00:41,200 -- 00:00:43,490 這會是最快結束的死鬥 This will be the fastest Deathmatch ever 16 00:00:43,490 -- 00:00:46,150 要是想開掛，我就回敬你更大的 If you try to hack I'll just come back greater 17 00:00:46,150 -- 00:00:48,660 你會喜歡當觀眾的 You’ll get used to the life of a spectator 18 00:00:48,660 -- 00:00:51,950 組成我身體的盡是 I am made of 19 00:00:51,950 -- 00:00:54,790 ~技~巧~ ~Skill~ 20 00:00:54,790 -- 00:00:57,370 ~都~是~ ~Of~ 21 00:00:59,750 -- 00:01:07,120 ~技~巧~ ~Skill~ 22 00:01:28,620 -- 00:01:30,200 附魔的鑽石劍 Enchanted Diamond sword 23 00:01:31,040 -- 00:01:32,660 讓戰鬥開始吧! Let the fight begin! 24 00:01:33,200 -- 00:01:35,040 如果你認為能打得過我 If you think you’ll win against me 25 00:01:35,040 -- 00:01:37,500 那我勸你最好再想想 Then you need to think again. 26 00:01:38,040 -- 00:01:39,870 有著一顆飢餓遊戲玩家的心 With the heart of a hunger gamer 27 00:01:40,790 -- 00:01:42,490 我的戰鬥將永不停歇 This dance will never end. 28 00:01:42,490 -- 00:01:44,750 我也不會你傷到我的KD And I won't let you hurt my KD. 29 00:01:45,120 -- 00:01:47,120 我要用我的生命來守護 With my life I will defend 30 00:01:47,910 -- 00:01:50,040 來打我呀，如果你行的話 Go ahead and try to hit me if you're able. 31 00:01:50,040 -- 00:01:52,410 如果我周遭有模組你就麻煩了 If a mod comes around you’ll get in trouble 32 00:01:52,410 -- 00:01:55,080 你太多模組要切換了，現在你有麻煩了 Too many mods for you to toggle, now you’re struggling 33 00:01:55,080 -- 00:01:57,330 你很害怕，因為你知道我在錄影 You’re just scared cuz you know I’m recording 34 00:01:57,330 -- 00:01:59,410 我比你朋友都還OP I am more OP than all of your friends 35 00:01:59,790 -- 00:02:01,790 也沒有人敢這樣宣稱 There’s nobody else who even contends 36 00:02:02,250 -- 00:02:03,360 我是個戰士 I am a fighter 37 00:02:03,360 -- 00:02:04,330 今天是我的勝利之日 My day of triumph 38 00:02:04,620 -- 00:02:06,870 這就是我的宣言 This is my declaration 39 00:02:06,870 -- 00:02:10,900 組成我身體的盡是 I am made of 40 00:02:10,900 -- 00:02:12,950 ~技~巧~ ~Skill~ 41 00:02:12,950 -- 00:02:15,500 ~盡~是~ ~Of~ 42 00:02:15,500 -- 00:02:18,000 都比你的好 And they’re better than yours 43 00:02:18,000 -- 00:02:25,330 ~技~巧~ ~Skill~ 44 00:02:25,700 -- 00:02:27,750 都比你的好 And they’re better than yours 45 00:02:27,750 -- 00:02:35,290 ~技~巧~ ~Skill~ 46 00:02:35,540 -- 00:02:37,700 都比你的好 And they’re better than yours 47 00:02:37,700 -- 00:02:46,290 ~技~巧~ ~Skill~ 48 00:02:52,410 -- 00:02:55,370 先生小姐們，希望你們喜歡這部Parody 49 00:02:55,370 -- 00:02:58,250 記得按讚和留言，並訂閱取得最新動態 50 00:02:58,250 -- 00:03:01,830 也請看看列在下方的製作人員名單 51 00:03:01,830 -- 00:03:04,200 我們下部影片再見，bye。 52 00:03:11,000 -- 00:03:13,000 翻譯 \u0026 字幕 By Ivon Huang","title":"【中英字幕】Minecraft歌曲「技巧比你好」More Skilled Than You (by HyperDream)","type":"minecraft"},{"content":"2016年7月31日，港明高中\n說到當兵，自然就會讓人想到，鬼。（抱歉跑錯棚了，這不是魯蛋台）英文老師翁瑞雄應我們長期以來我要求，願意兌現之前的承諾，講個鬼故事。以他當兵時為背景。\n他抽到的兵種是空軍，在當時空軍比其他二軍要多當一年，而老師是近視為乙等所以不可能是海軍陸戰隊。然而就在他入伍前夕，國防部突然宣布空軍只需當二年。\n【案發現場】 首先，他們是在山上受訓，地形大致是如此: 有一天，一個新兵半夜出去上廁所，突然大叫有鬼，連滾帶爬的跑了出來，褲子也沒穿好。\n於是班長帶著一票人去找，2人進去拿手電筒照了照，然後，那個新兵就被揍了一頓。\n沒有鬼。先說那個時代的廁所，是一條溝，如下圖（畫黑板）：當天是懇親會，於是上的人很多，廁所沒有清理。你知道的，poop就一直堆，所以新兵蹲的時候就碰到大腿了。為何會嚇成這樣，因為整個廁所只有一顆黃色小燈泡作照明。接著是第二個，官兵喜歡在宿舍後面的水塔下直接牽隻羊來殺，不過他們不吃頭。所以殺羊的方式是直接把頭砍斷，羊的表情死後仍見驚恐。\n老師去倒的垃圾袋裡就有一個羊頭，但是老師和他的同伴並不知道。直到倒下去後，發現，一個羊頭血淋淋的盯著他。於是，老師都不敢去吃他們殺的羊了。羊的事件關係到第三個事件。站哨最偏僻右邊的那個，某天晚上大叫，還連開好幾槍，在山裡槍聲是很明顯的。該名士兵的說法是，它看到森林裡有羊頭，很多個羊頭，飛來飛去，還有斷頭羊，他很害怕所以開槍。班長並沒有處罰，爾後，那個哨就被撤掉了。另外，門出去，前往垃圾場的轉彎會看到的那堵牆，可以看到它的門前面也有一個哨，聽說晚上會看到人臉。因此，那邊也被撤掉了。\n比較不恐怖的，在他去基隆七堵時，每個房間的配置是4個老兵加一個新兵。不過裡面有一個，老師說竟然長得比他還恐怖，先問說:「裡面有誰是從台南來的？」 老師知道這裡面有4個人包括他，然而卻只有他一個人舉手，老師當下是後悔。老師就跟他睡同個房間，他睡下舖。隔天起來，其他新兵有被打的鼻青臉腫的，還有手斷掉的，原來老師是被保護了，因為那個軍人是當中輩份最大的，沒人敢動他。他35，逃兵導致他當了10年的兵。\n到此，暫告結束。事後，一直被要求繼續，他只說:「再問就讓你變成鬼！」\n","date":"2016年7月31日","externalUrl":null,"permalink":"/posts/2016073101/","section":"Personals","summary":"2016年7月31日，港明高中\n說到當兵，自然就會讓人想到，鬼。（抱歉跑錯棚了，這不是魯蛋台）英文老師翁瑞雄應我們長期以來我要求，願意兌現之前的承諾，講個鬼故事。以他當兵時為背景。\n他抽到的兵種是空軍，在當時空軍比其他二軍要多當一年，而老師是近視為乙等所以不可能是海軍陸戰隊。然而就在他入伍前夕，國防部突然宣布空軍只需當二年。\n【案發現場】 首先，他們是在山上受訓，地形大致是如此: 有一天，一個新兵半夜出去上廁所，突然大叫有鬼，連滾帶爬的跑了出來，褲子也沒穿好。\n於是班長帶著一票人去找，2人進去拿手電筒照了照，然後，那個新兵就被揍了一頓。\n沒有鬼。先說那個時代的廁所，是一條溝，如下圖（畫黑板）：當天是懇親會，於是上的人很多，廁所沒有清理。你知道的，poop就一直堆，所以新兵蹲的時候就碰到大腿了。為何會嚇成這樣，因為整個廁所只有一顆黃色小燈泡作照明。接著是第二個，官兵喜歡在宿舍後面的水塔下直接牽隻羊來殺，不過他們不吃頭。所以殺羊的方式是直接把頭砍斷，羊的表情死後仍見驚恐。\n老師去倒的垃圾袋裡就有一個羊頭，但是老師和他的同伴並不知道。直到倒下去後，發現，一個羊頭血淋淋的盯著他。於是，老師都不敢去吃他們殺的羊了。羊的事件關係到第三個事件。站哨最偏僻右邊的那個，某天晚上大叫，還連開好幾槍，在山裡槍聲是很明顯的。該名士兵的說法是，它看到森林裡有羊頭，很多個羊頭，飛來飛去，還有斷頭羊，他很害怕所以開槍。班長並沒有處罰，爾後，那個哨就被撤掉了。另外，門出去，前往垃圾場的轉彎會看到的那堵牆，可以看到它的門前面也有一個哨，聽說晚上會看到人臉。因此，那邊也被撤掉了。\n","title":"英文老師的鬼故事","type":"personal"},{"content":"【問卦】iPhone 4S 16GB福利品，6000。要買呢，還是不要買呢？主要是因為，如果買了，現有的Infocus M2 Plus就要讓渡給我弟。考慮到換手機，Youtube頻道經營無法繼續拍片的問題，有些許掙扎。\n看到購物網站上有賣Apple福利品，iPhone 4S，6000而已，於是馬上下單。\n抱著嚐鮮的心態，因為一直以來都是用Android，想試試聽說很流暢的iOS。\n福利品多為展示機，外觀受損但內部尚可使用。iPhone 4S有點久了，不過上Apple網站查詢，還可以升到iOS 9。\n經過了4天，貨才送來。\n包裝可謂簡陋，瓦楞紙盒裡面，泡泡紙包著白色的iPhone，還有SIM卡插針。\n擺出來就是這樣。 先說我是Apple產品新手，除了之前跟畫室老師借過iPad來玩之外，從來都沒用過iOS。\n因此下面是很新手的用法。\n開機，與Android不太一樣，強迫登入Apple ID，我去官網註冊了一組，不過，沒網路怎麼設定？\n所以我只好忍痛把我的1G流量SIM卡插了進去。\n(疑點) 另外電腦也得準備好iTunes，iPhone連上去後才能開始設定。 主介面，我很無聊，所以先用iTunes更新到iOS 9。 接下來開始就沒圖了，為何，因為傷心欲絕。\n開機完進App Store下載Facebook和Messenger流量就吃光了。\n你問我為何不用Wifi？非常好，這就是重點。\nWifi開不起來！\n該按鈕成灰色，按都按不下去，想說我爸的Zenfone 5也有過此問題，Apple官方網站的解答標準的無用。\n上網搜尋，原來我忽略了這麼重要的事實，災情不只我一個，是原本硬體的問題。\n網路上流傳的方法:吹風機、丟冰箱。\n後者我沒試，但吹到iPhone都快變鐵板燒了還是Wifi開不起來。\n因為是福利品，拿去給人換Wifi模組就會顯得不划算。\n因此，只能退貨惹。\n剛跟客服抱怨此問題，客服說的解決方法:連著iTunes。\n但或許\u0026hellip;要JB？Making the matter worse，我剛剛更新的版本9.3.2還沒有JB的版本出來，重刷似乎有點麻煩。\n你覺得沒有網路、不能JB的iPhone能幹嘛？\n雖然我很欣賞流暢度，不過我想這台八成是在展示時被屁孩玩壞了。\n補圖。\n為何我有戀iPhone情結，因為還在用feature phone時就已經愛上了這個造型。\n中間的才是smart phone，兩旁的頂多跑跑Java而已ww。 把這台白色iPhone 4S退貨。\n幾個月後，我在Yahoo奇摩拍賣用3000標到了一台二手iPhone 4S，黑色外觀，總算是硬體正常的。\n","date":"2016年7月24日","externalUrl":null,"permalink":"/posts/i-bought-a-defective-iphone-4s-on-momo/","section":"Unboxings","summary":"【問卦】iPhone 4S 16GB福利品，6000。要買呢，還是不要買呢？主要是因為，如果買了，現有的Infocus M2 Plus就要讓渡給我弟。考慮到換手機，Youtube頻道經營無法繼續拍片的問題，有些許掙扎。\n看到購物網站上有賣Apple福利品，iPhone 4S，6000而已，於是馬上下單。\n抱著嚐鮮的心態，因為一直以來都是用Android，想試試聽說很流暢的iOS。\n福利品多為展示機，外觀受損但內部尚可使用。iPhone 4S有點久了，不過上Apple網站查詢，還可以升到iOS 9。\n經過了4天，貨才送來。\n包裝可謂簡陋，瓦楞紙盒裡面，泡泡紙包著白色的iPhone，還有SIM卡插針。\n擺出來就是這樣。 先說我是Apple產品新手，除了之前跟畫室老師借過iPad來玩之外，從來都沒用過iOS。\n因此下面是很新手的用法。\n開機，與Android不太一樣，強迫登入Apple ID，我去官網註冊了一組，不過，沒網路怎麼設定？\n所以我只好忍痛把我的1G流量SIM卡插了進去。\n(疑點) 另外電腦也得準備好iTunes，iPhone連上去後才能開始設定。 主介面，我很無聊，所以先用iTunes更新到iOS 9。 接下來開始就沒圖了，為何，因為傷心欲絕。\n","title":"短短3天的哀鳳戀情，在Momo買到了Wifi壞掉的iPhone 4S福利機","type":"unboxing"},{"content":"2016年7月1日，港明高中\n阿圖爾·叔本華，當初閱讀他的傳記是促使我寫這篇文章的原因\n就如同視線，必定有一個焦點一樣，人們總是會有「信仰」這個觀念。\n一般所指的信仰，狹義來說，是神祇。人們常把不可解釋之現象以神怪加以解釋，有了神祇，可以為祂而高興，悲傷時以其為慰藉，世上許多人就這樣入了基督教不是？\n信仰也可以說是精神支柱，在社會各處無所不在，舉凡御宅族所稱之為的「XX神教」到人們以書本、音樂為「精神支柱」，都算是一種信仰。社會學家說，人不可獨立於社會，有所依靠的本性也在心靈中反映出來，沒有精神支柱，人很容易處在一種精神恍惚的狀態，如死屍般，或者更進一步說，「失去了活下去的意義」。信仰是如此牢牢的繫住人心，也因此人們會竭盡全力保護自己的信仰，執著的人一旦失去信仰變便馬上成為廢人，如同熱戀分手後一般。\n為其而高興，主要是信仰給予後述的保護力量：悲傷時以神明為慰藉，許多宗教都有濟世的概念，不乏就是期望有一種神祕力量拯救自己，所以為了還願，理當定時的以慶典之類的活動感謝祂；或者是因敬畏而崇拜，用於驅邪。\n之前跟人討論過的問題，每年到了某神祇生日，天必下一段雨，這或許是神蹟？我只回應，為何要以不可解釋之事來解釋不可解釋之事？把不可解釋的事情歸結到神明身上，徒增神祕感而已。如果以客觀程度來說，科學算是一個最好的解釋，儘管它是由人們的主官來解釋一種主觀的客觀。除了因果報應以外，我不迷信，但抱尊重態度，認為科學無法解釋的事物，更不應該把它歸結到另一個物體身上。如果不具有強烈的信仰，那麼人生要如何有依歸？大概會處於一種不安定的狀態吧？沒錯，人不能沒有信仰，不過也可以不是一個宗教，可以只是一個信念，這樣所做所為才有個依靠。我想說的是，勿過度迷信，只有因果可以從邏輯上解釋，其餘的不該太認真，即使那個用在故事上可以增添一些色彩，不過就實際上來說，我不信神，仍對其抱懷疑態度。\n人為甚麼要有神的信仰，因為起於內心的不安定，因為精神沒有依歸，人終究無法獨自過活，不論是精神上抑或肉體上，此世界由主觀意識構成，再怎樣的客觀也終究是自己的主觀所解釋出來的現象罷了，不過人們為了方便，於是在彼此之間創造了一種「客觀」，使其如同君權神授論一般，作為實際的準則。照這樣說，邏輯算純客觀嗎？人會把思維套用到萬物上，因此把動植物描寫得有情感，終究是人類的自我投射罷了，試想，什麼樣的影集，曾出現過，人類以外的種族有人類完全不能接受的觀念存在否？你會回答，科幻電影不是有？是，但還是人類的概念所想像。事實上，人無法接受的概念約等同於感官無法接受，因此很多東西我們只能隱約感覺到，一旦接觸，所謂的「理性」便會發狂。\n人所想像出來的輪迴因果是邏輯推導的一種結果；把東西神格化只是試圖享用較能接受的觀念去詮釋，以程度上來說，科學較比神接近客觀，因此不可解釋之物會讓人類煩惱，欲使其變的可接受，於是把它轉介到「神」這個新概念上。\n以前，即使到了現在，為了神大打出手的戰爭多得是，因為你的想法和我不同，基督教初至中國，是得妥協中國人，允許教徒祭祖祭孔；後來羅馬教皇不奉行「利瑪竇規則」，於是西話就此中斷。所謂的宗教領袖，事實上是一種禪讓的原始君主體制，不過繼任的條件較為人所認為良善。他們代表宗教，跟黨派領導人沒有什麼兩樣，僅是凝聚信徒的信念，人類依附人的本性這裡又貼切了一步，人無法擺脫受人控制的局面，秉持超脫一切得先前也是由支配所苦，或者說，宗教是一種支配，成為人的避難所，卻又得遵守它的約束。勸人向善固然好，但出於宗教理由不做某些事在理性上是說不通的，如同黨員不服黨的信念會被開除黨籍一樣，信念不同就滾；因為神話、神蹟，規定一定的儀式和教條，也都是人所設計出來的，人運用邏輯，試圖把真理蒙在鼓裡，以神的外殼來使大眾對其信服，達到一種滿足統治的原始慾望權力，人總想支配他人，而這也是人的一個信仰，若信仰是如此，出於所謂「惡」的目的，當然可以用不可解釋之「理」使人信服，正因為它不可解釋，人們容易心生畏懼，這時宗教的發起人，運用一些權術，創造出一套理論，就人讓人信服，並且若加上濟世的名號，便可以得到眾人的擁戴，當然宗教會隨社會變遷進而產生變化，不過那也只是人自己創造的一種東西而已，神不存在，但是意識使我們認為祂存在，因為沒有意識，神自己也不存在。\n要說自己是誰，沒有定數，種種不可解釋的現象，以神去囊括，讓疑惑暫時緩解，但仍會有人想為甚麼，從某種角度看，社會本身也是一個大的信仰體系，特立獨群的人往往會被排擠，多數大眾都有妄自菲薄，容易放棄的心裡，最多也只能對其持敬畏態度，因為人不能脫離社會，由是讓自己努力適應這個現實；不過也可以反其道而行，因為與其徒然抱怨世界不公，享受與其對抗的樂趣也可以是自己的信念所在。人的思想是主觀的，真正的客觀不存在於人的感官知覺中，但是人有依賴性，會群聚在一起，排斥不合的人，導致的進步遲緩，自己被自己創造出來的信念，與團體的結合綁死，從而導致自己思想受限，何為惡，何為善，在邏輯上來說無法區分絕對，因為這也很主觀；同樣，思想上的隔閡僅是人的主觀認定，不是真正的客觀。\n信仰如此主觀，自己的思想別人買不到，硬要別人接受，就是洗腦了，不論從理或感覺——通常是後者居多——迫使其接受自己的信念。意志有強弱之分，認識到不合理的事物絕不以輕浮的概念下結論，信仰是自己的信念，因為身在人群中，必須用人給定的先天邏輯條件做思考，否則自己也不再是人；即使是無神論者，自己的點仍是一種信念，無神論者比喻成無黨團結聯盟，若逐漸擴大到讓多數人變無黨，那麼反而又變成一個黨了不是？因此人不可能沒有信念，認識到自己的存在，無論是對抗或者同化，抱持著信念必定會讓自己如同宗教的教條般遭束縛住，不過這卻也是一種動力，不論它有多不合理，在多數人的支持下就可以變合理，從信念到宗教，只需要很多人支持，為此，信仰可謂影響人很大。\n無法擺脫信仰，那麼至少讓自己必須堅定，強迫或被強迫接受都是一種痛苦的過程，把情感交給信仰解決，有點逃避的意味；面對問題主要是要實幹解決，不是先哀求上帝，只能得到心靈的滿足。雖然很多人強調精神生活，不過一開始人是很原始的，馬斯洛的需求理論底層是生理上的滿足，顯然人類現已不匱乏，於是像梭羅一樣的人開始追求精神生活，信教只是一種融入社會的手段，擁有自己的信仰，這種自由被稱之為「自由意志」，所以人類需要慰藉。\n到頭來，人只能靠信仰活著，不論外在多麼惡劣，有自己的信仰，只能依託它成為人邁進的助力，終究無法逃脫。\n論信仰（續）\n2016年7月13日，GM高中\n明朝的王守仁提倡心學，認為道理就自在人的內心裡，因此只需向內探求，不需假借外力。\n此種學說發展到明末，被認為是無用，有點類似孔子排斥的空談玄理，因此被以顧炎武為首的考據派取代。單就中國文學發展來看，通常是二者的消長：擬古、或強調經世致用。前者多是感慨人心不古，世風日下，這兩個詞是最常被用來描述的，因此主張文體摹擬古人，想要恢復舊的善念。不過往往發展到最後，僅僅是一昧的抄襲，了無新意罷了。\n主張經世致用的文體，或許有創新之意，不想依附古人的學說，欲以自己的信念創造出在其之上、更為延伸的道理出來，當然，文以載道，不免有點乏味，滿口仁義道德，真正能聽的進去的人能幾個？窮極道的觀念，導致文體變得枯燥。\n兩種文體的文章，為了增加說服力，因為它們非最古早的諸子百家所創的學說，因此必引用古人的話以增加說服力。 為什麼引用別人的話才能使人信服？文法上稱此種修辭為引用，每篇文章都來一個引用，支持自己的觀念。\n市上有許多勵志書籍，以每一個小短篇的故事來詮釋道理，參雜自己少量的見解。引用並非不好，不過似乎有許多書的道理都是以寓言的方式企圖讓讀者自行體會，每篇標題引用一句名言，裡頭又馬上引用另一篇故事，最後像寫閱讀心得一樣簡短附上評論；老實說，自己寫閱讀心得時又何嘗未曾如此？文章的常見寫作方式，一種是開頭放個故事，後面讓筆者跟讀者一起思考；又或中間插入一段，用以增加說服力，我對最近的自己的一篇作文不滿主要不是格式問題，而是尾端過份引用，雖然在老師的眼光裡我似乎很博學，不過我不喜歡整篇文章都瘋狂引用在那說三道四，把自己的話語寄託在別人的話上，表達能力不好的人才需考慮那樣做。\n翻閱作品集，拿《南市青年》來說，過半的文章還是都愛引用，不過沒有很過份，不過我倒是沒看過整篇是完全以自己的話語說著道理（其餘的文章抒情文為多，多只有一句話的體悟而已），我嘗試過這種文體，結果不是文章內容曲折難懂，便是顯得無力乏味。\n以信念的觀念來說，人要依靠其他人的時刻又到了，引用古人的話，或許可以增加些趣味性，本文篇首不就是這樣麼。那麼，如前所述，不引用只憑一己之力說道的文章是什麼呢？可以說是思考的一種極致體現，思考如同想像力，需有實體做基礎才能想像進一步的東西，思考是內化別人的東西，因此不需引用就會發展成一種學說，只是這種效應的結果就像P波進入古氏不連續面經過複雜反射所產生的，射出的S波一般，很難讓人知道它究竟是怎麼來的。因此有如哲學著作一般艱澀難懂，人們抗拒此種未知——至少一般大眾是如此——我國中這樣嘗試的作文分數並沒有很高。\n再者，它若不寫好，則說服力搖搖欲墜，便會說此文對世上是無用的，事實上也無須欠缺說服力，如果你跟孔子抱持同樣觀點：「子不語『怪、力、亂、神』」，那麼不只是這類文章，你也會說反烏托邦、神秘主義是我無用的東西，因為你無法接受。有點發狂的感覺，自己思考的表現竟會不讓人所接受，如果一直秉持此種觀念，會失去在這世界上的立足之地吧，嗯，是沒錯。 引用別人的話可以肯定自己，因為任何人都不是聖人，轉化成自己的話，別人看不透徹，實在需要以明喻而非暗喻來讓人瞭解即使世上強調的是自由意志，非得要困在別人的意志內，自己的意志如何獲得解脫？不過人們是苟安的生物，寧願安居也不想推翻，這就是為何人類進步得如此遲緩。\n","date":"2016年7月1日","externalUrl":null,"permalink":"/posts/on-the-belief/","section":"Personals","summary":"2016年7月1日，港明高中\n阿圖爾·叔本華，當初閱讀他的傳記是促使我寫這篇文章的原因\n就如同視線，必定有一個焦點一樣，人們總是會有「信仰」這個觀念。\n一般所指的信仰，狹義來說，是神祇。人們常把不可解釋之現象以神怪加以解釋，有了神祇，可以為祂而高興，悲傷時以其為慰藉，世上許多人就這樣入了基督教不是？\n信仰也可以說是精神支柱，在社會各處無所不在，舉凡御宅族所稱之為的「XX神教」到人們以書本、音樂為「精神支柱」，都算是一種信仰。社會學家說，人不可獨立於社會，有所依靠的本性也在心靈中反映出來，沒有精神支柱，人很容易處在一種精神恍惚的狀態，如死屍般，或者更進一步說，「失去了活下去的意義」。信仰是如此牢牢的繫住人心，也因此人們會竭盡全力保護自己的信仰，執著的人一旦失去信仰變便馬上成為廢人，如同熱戀分手後一般。\n為其而高興，主要是信仰給予後述的保護力量：悲傷時以神明為慰藉，許多宗教都有濟世的概念，不乏就是期望有一種神祕力量拯救自己，所以為了還願，理當定時的以慶典之類的活動感謝祂；或者是因敬畏而崇拜，用於驅邪。\n之前跟人討論過的問題，每年到了某神祇生日，天必下一段雨，這或許是神蹟？我只回應，為何要以不可解釋之事來解釋不可解釋之事？把不可解釋的事情歸結到神明身上，徒增神祕感而已。如果以客觀程度來說，科學算是一個最好的解釋，儘管它是由人們的主官來解釋一種主觀的客觀。除了因果報應以外，我不迷信，但抱尊重態度，認為科學無法解釋的事物，更不應該把它歸結到另一個物體身上。如果不具有強烈的信仰，那麼人生要如何有依歸？大概會處於一種不安定的狀態吧？沒錯，人不能沒有信仰，不過也可以不是一個宗教，可以只是一個信念，這樣所做所為才有個依靠。我想說的是，勿過度迷信，只有因果可以從邏輯上解釋，其餘的不該太認真，即使那個用在故事上可以增添一些色彩，不過就實際上來說，我不信神，仍對其抱懷疑態度。\n","title":"論信仰","type":"personal"},{"content":"要開始實作了嗎\u0026hellip;?別急，我們要等到第5章才會開始。\n先別急著翻桌，這一章要介紹的是插件中常用的小技巧，還有必須具備的常識，免得做的時候格式錯了還得問東問西的。\n這些技巧很雜，你可能會從別人的插件學習來，不過還是要有正確概念。\n4.1. 物品、方塊、生物ID # 本資料取自英文WIKI，真的很重要，且它也有一直在更新。\n網址在此：Pocket Edition data values\n英文看不懂不打緊，它有附圖片參考。\n方塊和ID要看的是Dec值那欄，Hex是該ID的16進制表示法。物品ID也是。\n生物實體ID，其實你可以開啟modpescript_dump.txt翻生物代碼，不過有時代碼失效你就要來挖這裡的ID了。\n4.2. 材質的作法與格式 # 插件中所用的材質，我們先要有個概念:\n如果你的東西是自己新增的，插件使用材質，是直接讀材質包資料夾images裡的，所以寫路徑時最前面無須把images寫出來。關於材質包的架構，請參考這篇。\n插件用材質包裡，方塊和物品以外的材質想放哪就放哪。\n方塊與物品材質 # Block.defineBlock()和ModPE.setItem()會用到材質，它的格式是如何呢?\n首先，請在images底下，新增terrain-atlas和item-opaque，2個資料夾。 前者是放方塊材質，後者是物品材質。\n方塊和物品材質的命名，格式為 xxx_0.png 。\nxxx是方塊或物品的名稱，藍字的部分目前只能寫這樣。\nBlock.defineBlock()要用材質時，只需寫出xxx，因為材質陣列中，後面都會附加一個0代表_0。\nModPE.setItem()也是只需寫xxx，因為副ID就代表了後面的_0。\n如果你要直接使用遊戲中的方塊物品材質，請參考此網站，材質名稱直接填裡面給的就好。\n範例:\n有一個物品稱做test_0.png，插件裡只需寫ModPE.setItem(1000,\u0026ldquo;test\u0026rdquo;,0,\u0026ldquo;TS\u0026rdquo;)。\n生物材質 # 想放哪就放哪，格式為 XXX.png 。\nLevel.spawnmob()、Entity.setMobSkin()會用到，在材質字串中，只需寫\u0026quot;路徑/材質名稱\u0026quot;，路徑為images底下則直接寫檔案名稱。\n範例:\nimages/mob資料夾有creepety.png，生成該生物時只需寫Level.spawnMob(x,y,z,36,\u0026ldquo;mob/creepety.png\u0026rdquo;)。\n4.3. BlockLauncher資源的運用 # 前置作業中我談過modpescript_dump.txt要時常更新，不是沒有道理。\n近期，作者逐漸在裡面加入一些有用的資源 (當然你不懂還是直接去問作者比較快)\n一直往下翻，會看到有註解的函數列表，作者會註明哪些能用preventDefault()，或者雖不知用法，卻能先知道有哪些函數。\n再後面每寫幾個東西就分段，這是一些代碼。\nChatColor:文字顏色，比樣式代碼易讀 ItemCategory:物品分類代碼 ParticleType:粒子代碼 EntityType:生物ID代碼 EntityRenderType:生物模型代碼 ArmorType:裝甲類別代碼 MobEffect:藥水效果代碼 DimensionId:玩家所處世界代碼 BlockFace:方塊方向代碼(就是useItem()裡的side) UseAnimation:動畫代碼 Enchantment:附魔效果代碼 EnchantType:可附魔的工具代碼 BlockRenderLayer:方塊模型代碼 4.4. 算法分享 # 這裡的算法從網路上各個插件中擷取出來，方便進行運算，僅供參考用。\n飛行 + 前進算法 # 玩家的頭若低下，則實體會停留在原地，否則則會隨著玩家的頭方向前進/飛行。主要用於飛行物，若去掉Y則也可以用做自動前進。\nvar p=((Entity.getPitch(Player.getEntity())+90)*Math.PI)/180; var y=((Entity.getYaw(Player.getEntity())+90)*Math.PI)/180; var xx=Math.sin(p)*Math.cos(y); var yy=Math.sin(p)*Math.sin(y); var zz=Math.cos(p); Entity.setVelX(nowRiding,1*xx);//這裡1都可以改掉，跟前進速度成正比。nowRiding為實體對象 Entity.setVelY(nowRiding,1*zz); //若不想飛行也可以去掉Y Entity.setVelZ(nowRiding,1*yy); 跑步算法 # 參考來源: http://www.minecraftforum.net/forums/minecraft-pocket-edition/mcpe-mods-tools/1986186-sprint-mod\n以前沒有跑步時需要，現在則是能讓玩家跑得更快用。\nvar xSave = 0 ,ySave = 0 ,zSave = 0 ;//玩家舊的座標，y可以不設定，總不會跑到飛起來吧。 var x = 0, y = 0 , z = 0;//玩家現在的座標 var power=0.7;//需要變動的只有此值,與跑步速度成正比。 function modTick(){ x = Player.getX(); y = Player.getY(); z = Player.getZ();//不斷偵測玩家座標 if (!(x-xSave==0)){ //當前座標減舊座標若\u0026gt;0，代表玩家移動 Entity.setVelX(Player.getEntity(),(x-xSave)*power);//將玩家往X方向推，移動值互減若＞0，則玩家正向移動;反之則負向移動。Z座標同理。 xSave = x;//更新舊座標。 if (!(z-zSave==0)){ //同X Entity.setVelZ(Player.getEntity(), (z-zSave)*power);//同X zSave = z;//同X } } } 生成礦物的算法 # 資料來源:http://www.minecraftforum.net/forums/minecraft-pocket-edition/mcpe-mods-tools/2560455-how-to-generate-ores-random-with-modpe-nearly\n以下的註解皆翻譯自原始文章。\nvar tick=0; var curX=0; var curY=0; var curZ=0; var cX=0; var cY=0; var cZ=0; var count=0; var changeBack=false; /* 可以改動的值: ●新增的礦物 (22行)，你也可以加入更多 ●生成礦物的高度(186行和188行) ● 礦脈有多廣(190行) ●setTile2這個函數 (164行), 你想要的話，也可以改成什麼方塊不要被取代。 ●多複製180行到229行的程式碼幾次，來生成更多礦物 ●更改生成礦物的可能性(181行) */ try{ Block.defineBlock(220, \u0026#34;Copper Ore\u0026#34;, [[\u0026#34;copper_ore\u0026#34;, 0]], 1, false, 0); //新增方塊，這裡的例子是銅礦 }catch(error){ print(\u0026#34;Import the texture pack first!\u0026#34;); } function modTick(){ tick++; if(tick%100==0){ //每5秒就執行一次doTick() doTick(); } } function doTick(){ if(Player.getDimension()==DimensionId.NORMAL){ //讓礦物只在主世界生成 curX=Math.floor(Player.getX()); curZ=Math.floor(Player.getZ()); for(var i=0; i\u0026lt;16; i++){ if(curX\u0026lt;0){ changeBack=true; curX=curX*(-1); } if(curX%16!=0){ curX--; } if(changeBack){ curX=curX*(-1); } changeBack=false; if(curZ\u0026lt;0){ changeBack=true; curZ=curZ*(-1); } if(curZ%16!=0){ curZ--; } if(changeBack){ curZ=curZ*(-1); } changeBack=false; } curX++; curZ++; spawnOres(); curX=curX+16; spawnOres(); curZ=curZ+16; spawnOres(); curX=curX-16; spawnOres(); curX=curX-16; spawnOres(); curZ=curZ-16; spawnOres(); curZ=curZ-16; spawnOres(); curX=curX+16; spawnOres(); curX=curX+16; spawnOres(); curX=curX+16; spawnOres(); curZ=curZ+16; spawnOres(); curZ=curZ+16; spawnOres(); curZ=curZ+16; spawnOres(); curX=curX-16; spawnOres(); curX=curX-16; spawnOres(); curX=curX-16; spawnOres(); curX=curX-16; spawnOres(); curZ=curZ-16; spawnOres(); curZ=curZ-16; spawnOres(); curZ=curZ-16; spawnOres(); curZ=curZ-16; spawnOres(); curX=curX+16; spawnOres(); curX=curX+16; spawnOres(); curX=curX+16; spawnOres(); curX=curX+16; spawnOres(); curX=curX+16; spawnOres(); curZ=curZ+16; spawnOres(); curZ=curZ+16; spawnOres(); curZ=curZ+16; spawnOres(); curZ=curZ+16; spawnOres(); curZ=curZ+16; spawnOres(); curX=curX-16; spawnOres(); curX=curX-16; spawnOres(); curX=curX-16; spawnOres(); curX=curX-16; spawnOres(); curX=curX-16; spawnOres(); curX=curX-16; spawnOres(); curZ=curZ-16; spawnOres(); curZ=curZ-16; spawnOres(); curZ=curZ-16; spawnOres(); curZ=curZ-16; spawnOres(); curZ=curZ-16; spawnOres(); curZ=curZ-16; spawnOres(); curX=curX+16; spawnOres(); curX=curX+16; spawnOres(); curX=curX+16; spawnOres(); curX=curX+16; spawnOres(); curX=curX+16; spawnOres(); curX=curX+16; spawnOres(); } } setTile2(p1, p2, p3, p4, p5){ //這裡為生成礦物添加更多可能生成的區塊，這裡僅取代石頭 if(Level.getTile(p1, p2, p3)==1){ //如果那個座標是石頭，就取代它 Level.setTile(p1, p2, p3, p4, p5); } } function spawnOres(){ //生成礦物 if(Level.getTile(curX, 1, curZ)!=57){ Level.setTile(curX, 1, curZ, 57, 0); Level.setTile(curX, 0, curZ, 7, 0); Level.setTile(curX, 2, curZ, 7, 0); Level.setTile(curX+1, 1, curZ, 7, 0); Level.setTile(curX-1, 1, curZ, 7, 0); Level.setTile(curX, 1, curZ+1, 7, 0); Level.setTile(curX, 1, curZ-1, 7, 0); //開始生成礦物 //從183行開始複製到229行，如果你想要更多礦物，可以多重複這步驟幾次 if(Math.floor(Math.random()*20)\u0026gt;7){ //計算機率，有到才開始執行以下生成礦物的程式碼 cX=curX; cZ=curZ; cX=cX+Math.floor(Math.random()*10)+2; //隨機的X座標 cZ=cZ+Math.floor(Math.random()*10)+2; //隨機的Z座標 cY=Math.floor(Math.random()*30)+10; //隨機的高度 (此範例是10到40) , 你可以自己設定，通常大於5比較好，免得破壞基岩 if(Level.getBiomeName(curX, curZ)==\u0026#34;Ocean\u0026#34;){ //如果要在海裡生成礦物 cY=Math.floor(Math.random()*25)+5; //隨機高度(此範例為5到30) } count=Math.floor(Math.random()*12)+3; //要生成多少個礦物(此範例為3到15) setTile2(cX, cY, cZ, 220, 0); //220就是我們剛剛新增的礦物ID for(var i=0; i\u0026lt;count; i++){ if(Math.floor(Math.random()*3)+1==2){ cX++; }else{ if(Math.floor(Math.random()*3)+1==2){ //什麼也不做 }else{ cX--; } } if(Math.floor(Math.random()*3)+1==2){ cZ++; }else{ if(Math.floor(Math.random()*3)+1==2){ //什麼也不做 }else{ cZ--; } } if(Math.floor(Math.random()*3)+1==2){ cY++; if(cY\u0026gt;50){ cY--; } }else{ if(Math.floor(Math.random()*3)+1==2){ //什麼也不做 }else{ cY--; if(cY\u0026lt;5){ cY++; } } } setTile2(cX, cY, cZ, 220, 0); //220就是我們剛剛新增的礦物ID } } //銅礦生成的程式碼結束 //礦物生成的程式碼結束 } // } ","date":"2016年5月28日","externalUrl":null,"permalink":"/posts/modpe-scripts-tutorial-part-4/","section":"Minecrafts","summary":"要開始實作了嗎…?別急，我們要等到第5章才會開始。\n先別急著翻桌，這一章要介紹的是插件中常用的小技巧，還有必須具備的常識，免得做的時候格式錯了還得問東問西的。\n這些技巧很雜，你可能會從別人的插件學習來，不過還是要有正確概念。\n4.1. 物品、方塊、生物ID # 本資料取自英文WIKI，真的很重要，且它也有一直在更新。\n網址在此：Pocket Edition data values\n英文看不懂不打緊，它有附圖片參考。\n方塊和ID要看的是Dec值那欄，Hex是該ID的16進制表示法。物品ID也是。\n生物實體ID，其實你可以開啟modpescript_dump.txt翻生物代碼，不過有時代碼失效你就要來挖這裡的ID了。\n4.2. 材質的作法與格式 # 插件中所用的材質，我們先要有個概念:\n如果你的東西是自己新增的，插件使用材質，是直接讀材質包資料夾images裡的，所以寫路徑時最前面無須把images寫出來。關於材質包的架構，請參考這篇。\n插件用材質包裡，方塊和物品以外的材質想放哪就放哪。\n方塊與物品材質 # Block.defineBlock()和ModPE.setItem()會用到材質，它的格式是如何呢?\n","title":"ModPE Script 插件教學 Part 4 - 重要參考資料與技巧","type":"minecraft"},{"content":"孟幹羊傳\n2016年5月21日，港明高中\n【民國】Ivon Huang 此人座號肆伍，坐於吾之右側，其屬性可能為M也。避其名以避諱，其姓林。若夫標題之nickname來源，其屬未知，是有一日，該朋友們如此叫之，甚或發明「孟幹羊low power」之稱，亦於黑板塗鴉，其形象屬普通綿羊，持續至此。 於今日，歷史師曰:「為什麼戰國要養士？因為國君需要人才呀！」 對曰:「國軍人才招募中心\u0026hellip;」 再之前，師曾謂: 「從這裡我們大概可以知道漢代的娛樂有六奕啊、下棋啊等等的。」 對曰:「還有互肛啊\u0026hellip;」 然則都未為老師所聞，只吾聽到，心領神會。 或又於今日物理，證明其所屬性高機率是為M也，說些欠扁、討罵之言。 其有一友，被其稱作「臭肥仔」，但該友則不介意之。 甚哀，吾僅只就近做此觀察，未與其深交，謹此做記紀錄之。 時民國壹零伍年五月貳什壹。\n註：《春秋》一書有《左傳》、《公羊》、《穀梁三傳》，標題梗可能來自於此。\n神聖羅馬帝國之班情Report\n2016年5月24日，港明高中\n那實則不神聖的神聖羅馬帝國，在欲繼承名義上羅馬人的王國後，內部分裂，最終遭拿破崙解散。 今、貴班分裂成多股勢力，從行軍就可以看出來了，任何方面僅是說笑，看似輕鬆，實則混亂。 現有「Study派」和「Fuck Study派」，彼此不影響，不過後者亂政，我們的最高元首吸忒樂讓他們全部聚集在最後排，自生自滅。 でも、不是每個老師都像吸忒樂或數學老師一樣you don\u0026rsquo;t care I don\u0026rsquo;t care who cares，於是，衝突就發生了。 (略，大致上是老師亟欲以勢威壓，學生跟著反嗆回去) 雙方都有錯，Study派沒有介入的意思，Fuck Study派整天在那醮老師。 Ivon Huang說:「雖然孔子強調『有教無類』但學生與老師互相頂撞，讓我很想把熊彼得的菁英民主理論變相運用在教育制度上，接下來的話會很難聽。不想學就滾，や、應該有個制度評定此人是否一心向學(非靠成績)，或者乾脆別強迫入學算了。人之本性尚惡，或許部份人來港明是錯誤的決定，寧願在那混也不想嘗試解決，自心都無覺悟之人何談什麼道理！對抗封閉的教育體系，不是用這種方式。」 跋:如果那個老師是翁瑞雄他早就一巴掌過去了。\n","date":"2016年5月21日","externalUrl":null,"permalink":"/posts/2016052101/","section":"Personals","summary":"孟幹羊傳\n2016年5月21日，港明高中\n【民國】Ivon Huang 此人座號肆伍，坐於吾之右側，其屬性可能為M也。避其名以避諱，其姓林。若夫標題之nickname來源，其屬未知，是有一日，該朋友們如此叫之，甚或發明「孟幹羊low power」之稱，亦於黑板塗鴉，其形象屬普通綿羊，持續至此。 於今日，歷史師曰:「為什麼戰國要養士？因為國君需要人才呀！」 對曰:「國軍人才招募中心…」 再之前，師曾謂: 「從這裡我們大概可以知道漢代的娛樂有六奕啊、下棋啊等等的。」 對曰:「還有互肛啊…」 然則都未為老師所聞，只吾聽到，心領神會。 或又於今日物理，證明其所屬性高機率是為M也，說些欠扁、討罵之言。 其有一友，被其稱作「臭肥仔」，但該友則不介意之。 甚哀，吾僅只就近做此觀察，未與其深交，謹此做記紀錄之。 時民國壹零伍年五月貳什壹。\n註：《春秋》一書有《左傳》、《公羊》、《穀梁三傳》，標題梗可能來自於此。\n神聖羅馬帝國之班情Report\n2016年5月24日，港明高中\n那實則不神聖的神聖羅馬帝國，在欲繼承名義上羅馬人的王國後，內部分裂，最終遭拿破崙解散。 今、貴班分裂成多股勢力，從行軍就可以看出來了，任何方面僅是說笑，看似輕鬆，實則混亂。 現有「Study派」和「Fuck Study派」，彼此不影響，不過後者亂政，我們的最高元首吸忒樂讓他們全部聚集在最後排，自生自滅。 でも、不是每個老師都像吸忒樂或數學老師一樣you don’t care I don’t care who cares，於是，衝突就發生了。 (略，大致上是老師亟欲以勢威壓，學生跟著反嗆回去) 雙方都有錯，Study派沒有介入的意思，Fuck Study派整天在那醮老師。 Ivon Huang說:「雖然孔子強調『有教無類』但學生與老師互相頂撞，讓我很想把熊彼得的菁英民主理論變相運用在教育制度上，接下來的話會很難聽。不想學就滾，や、應該有個制度評定此人是否一心向學(非靠成績)，或者乾脆別強迫入學算了。人之本性尚惡，或許部份人來港明是錯誤的決定，寧願在那混也不想嘗試解決，自心都無覺悟之人何談什麼道理！對抗封閉的教育體系，不是用這種方式。」 跋:如果那個老師是翁瑞雄他早就一巴掌過去了。\n","title":"孟幹羊傳 ＆ 神聖羅馬帝國班情Report","type":"personal"},{"content":"註:截至本文發上來，MCPE版本為0.14.0。\n今天要介紹PE材質包的內容構成，主要是能給BlockLauncher(下稱BL)讀到的部分為主，以及基本製作PE材質包的方法。 甚麼意思呢?如果你要製作材質包時是從PE主程式中拆來，那麼裡面總會有一些主程式設定檔，部分BlockLauncher是不會執行的，因此不放入這些檔案有助於減少材質包容量。\n註:即使BL現在已經進入資源包時代，但我還是使用材質包一詞說明。\n下面就為您介紹材質包可以放入、改甚麼材質:\n所有檔案都不是必須要有，但檔名和格式一定要符合。\n1. 材質包主架構 # 目前材質包BL可接受的格式為.apk、.7z、.zip。\n如果缺少部分材質，BlockLauncher會自動使用原版材質替補。\n材質包通常會有這些東西:\nimages： 放環境、方塊、GUI、生物皮膚的地方。\nshaders：修改光影的設定檔。本人還在研究中，本文尚不介紹，有興趣可以去看看網路上的光影材質包。\nmaterials：跟光影有關的環境設定檔。\npack.mcmeta：材質包作者訊息、介紹等等的檔案。\n若無法開啟，使用文字編輯器打開即可。格式為:\n{ \u0026#34;pack\u0026#34;:{ \u0026#34;pack_format\u0026#34;: \u0026#34;材質包格式(1或0)\u0026#34;, \u0026#34;description\u0026#34;: \u0026#34;材質包介紹\u0026#34; } } pack.png：材質包的縮圖。\nsplashes.json：可以改標題畫面的跳動黃字。可以在中括號裡新增更多字串(\u0026quot;\u0026quot;)，格式:\n{ \u0026#34;splashes\u0026#34;:[\u0026#34;跳動黃字內容\u0026#34;] } 2. images的內容 # images是大家最常看到的部分，改標題畫面、動物皮膚等等都在這裡面。\n製作材質時請仔細觀察每個圖片的格式或者物件配置，免得讀出來沒有或者破圖。\n未在下文提及的東西改了應該也沒用。\n裡面可以有這些東西:\narmor：放裝甲的材質，檔名為「裝甲材質_1.png」，例如鎖鍊裝就是「chain_1.png」，後面的1代表這是頭盔、胸甲部分的材質，改成2就是護腿和鞋子部分。目前裝甲材質有皮革/鐵/黃金/鑽石/鎖鍊(cloth/iron/gold/chain)。\nart：裡面只會有「kz.png」一個檔案，就是畫的材質。\nentity：這裡的放的是是生物以外的實體材質:\nboat：裡面放船的材質，格式就是「boat_材質.png」，例如叢林木船就是「boat_jungle.png」。有橡木/樺木/杉木/叢林木/黑橡木/金合歡(oak/birch/spruce/jungle/darkoak/acacia) enchanting_table_book.png：附魔臺上會自動翻頁的書的材質。 enchanting_table_book_shadow.png：上面書的影子。 experience_orb.png：經驗球的材質。 fireball.png：惡魂吐出的烈焰彈的材質。 fishhook.png：釣竿浮標的材質。 minecart.png：礦車的材質。 environment：放環境的材質\nclouds.png 雲的材質。 destroy_stage_0(0~9).png 破壞方塊時出現的裂痕，數字越大裂痕應該要越多。 moon_phases.png 月亮的材質，可以有陰陽圓缺。 rain.png 雨的材質。 snow.png 雪的材質。 sun.png 太陽的材質。 weather.png 不明。 font\n各種語言的字體的材質，每種語言不太一樣，非印歐語系的語言做字體要做比較久。 ascii_sga.png 就是附魔臺上效果的文字。 default.png Minecraft預設字體，有印歐語系國家的字母和一些符號。 glyph_00(00~FF) 16進位的符號。 glyph_ja-JP_2E(2E~FF) 日文和其符號。 glyph_zh-TW_2E(2E~FF) 中文和其符號。 gui：介面的材質，iOS和Windows 10和舊版、無效的材質也在裡面，我會跳過這些。\nbackground 標題畫面背景在轉的圖片，格式為panorama_0(0~6).png。 background.png 載入世界時出現的畫面。 enchanting_table.png 附魔臺介面的材質。 gui.png 方向鍵、藥水效果圖示、物品欄等。 gui2.png 僅有物品欄和按鈕背景。 icons.png 護甲值、生命值、飢餓值等圖示。 spritesheet.png 合成臺、熔爐、介面拉桿和按鈕的材質等。 spritesheet2.png 釀造臺介面的材質。 title.png 標題畫面的MCPE大標題。 touchgui.png 遊戲設定裡面按鈕的材質。 item：不在entity資料夾中的生物以外實體和部分方塊。\nchest 裡面放箱子和大箱子的材質。double_normal.png為大箱子、normal.png為普通箱子、trapped.png為陷阱箱、trapped_double.png為大陷阱箱材質。 arrows.png 箭矢的材質。 screenshot_frame.png 不明(或許跟相機有關?)。 sign.png 告示牌材質。 tripod_camera.png 一直是個謎的照相機的材質。 map：放地圖的材質。\nmap_background.png 地圖的背景材質。 map_icons.png 地圖上的圖標材質。 misc\nenchanted_item_glint.png 附魔物品發出的閃光。 pumpkinblur.png 南瓜頭戴上去後看到的視野。 mob：放所有的生物皮膚:\ncat 貓咪皮膚的資料夾。 未馴服前的檔名叫ocelot.png，馴服後會有3種分別為:red.png、siamese.png、blackcat.png。 rabbit 兔子皮膚的資料夾。 有blackrabbit.png、brown.png、gold.png、salt.png、toast.png、white.png、white_splotched.png，7種兔子皮膚。 villager 村民皮膚的資料夾。 依職業分有butcher.png、farmer.png、librarian.png、priest.png、smith.png，5種。 villager.png不會被讀到。 zombie_villager 殭屍村民皮膚的資料夾。 格式為在村民職業前加上zombie_，例如zombie_butcher.png。 alex.png Steve後的第2個預設皮膚。 char.png 舊版是Steve，現已無效。 steve.png 預設皮膚。 其他就是生物的皮膚，例如iron_golem.png。 狼和惡魂各有wolf_angry.png、ghast_shooting存在。 creeper_aromor.png即為高壓苦力怕外圍的電光。 compass.png：羅盤材質，沒錯，真的要把所有羅盤可能的指的方向做出來。\nfire_atlas.png：火焰的材質，同羅盤。\nitems-opaque.png：所有物品的材質，更新時很常改物品排序。\nparticles.png：所有粒子的材質。\nportal.png：地獄門的材質，同羅盤。\nterrain-atlas.tga：方塊的材質，注意箱子要去item裡才能改，也很常更新排序。製作時把它按等比例放大(216x216變512x512)就可以製作高清材質，不過沒模組會破圖。(有些材質包還會再放terrain-atlas_mip0等材質，不是很必要)\nwatch-atlas.png：時鐘的材質，同羅盤。\n3. 製作材質包 # 想要編輯2.所提到的圖片，.png格式手機可以使用Pixel Art Editor。\n.tga目前只有電腦才開的起來。\n壓縮材質包:\n使用壓縮軟體，把裝images、shaders等這些東西的資料夾壓成壓縮檔。\n這些東西外的資料夾叫甚麼都沒差，BL還是讀的到。\n注意，材質包內不受版本限制的應該只有皮膚等一部分，想要知道材質格式更新後有沒有改，請把Minecraft PE的apk解壓縮，到assests裡面就能看到原版材質。\n如果該材質沒有要改那就不用放了，前面說了，BL會自己調用原版材質來替補。\n範例：\n這是外國移植的DokuCraft，它的主架構非常清楚。 images裡面還是含有一些主程式裡的東西，且看起來改的很多。 4. 結語 # 本人從0.7.6開始研究PE材質包，期間也見證了格式的諸多改變。也因為方塊格式一直改因此我自製的材質包早就棄坑了ww，在此僅僅分享給各位其架構與簡單製作方式，希望能有更多出色的PE材質包出現。\n另外，若本文有錯誤之處，請務必指出，謝謝。\n","date":"2016年3月3日","externalUrl":null,"permalink":"/posts/minecraft-pe-create-texture-pack/","section":"Minecrafts","summary":"註:截至本文發上來，MCPE版本為0.14.0。\n今天要介紹PE材質包的內容構成，主要是能給BlockLauncher(下稱BL)讀到的部分為主，以及基本製作PE材質包的方法。 甚麼意思呢?如果你要製作材質包時是從PE主程式中拆來，那麼裡面總會有一些主程式設定檔，部分BlockLauncher是不會執行的，因此不放入這些檔案有助於減少材質包容量。\n註:即使BL現在已經進入資源包時代，但我還是使用材質包一詞說明。\n下面就為您介紹材質包可以放入、改甚麼材質:\n所有檔案都不是必須要有，但檔名和格式一定要符合。\n1. 材質包主架構 # 目前材質包BL可接受的格式為.apk、.7z、.zip。\n如果缺少部分材質，BlockLauncher會自動使用原版材質替補。\n材質包通常會有這些東西:\nimages： 放環境、方塊、GUI、生物皮膚的地方。\nshaders：修改光影的設定檔。本人還在研究中，本文尚不介紹，有興趣可以去看看網路上的光影材質包。\nmaterials：跟光影有關的環境設定檔。\npack.mcmeta：材質包作者訊息、介紹等等的檔案。\n若無法開啟，使用文字編輯器打開即可。格式為:\n{ \"pack\":{ \"pack_format\": \"材質包格式(1或0)\", \"description\": \"材質包介紹\" } } pack.png：材質包的縮圖。\n","title":"【MCPE】BlockLauncher材質包架構\u0026簡單製作教學","type":"minecraft"},{"content":"雖然艦娘在課金方面比較有良心(?)，不過船位滿了還是得課。\n碎碎念開始。\n因為，艦娘出不完藉口，在我不隸屬任何神教的情況下還是藉口，對艦娘不好取捨，所以必須如此。\n可能對各位而言課金沒什麼，本人玩網遊堅持不課金也不能課，但這是我第一次網購還課金，出於內心掙扎和一連串原因等等。\n碎碎念結束。\n既然我不能買MCPE，代表我不能使用信用卡，因此就使用第三方支付:WEBMoney。\n使用TokyoBXX的網購自動發卡，因此一繳費立刻得到序號。\n入金步驟參考這篇使用WebMoney。\n我後來才想到，使用改cookie方法玩的教學文章有提醒，這樣一來課金方法只剩信用卡、銀行。\n慌了，不過，我就想是否為VPN問題，果不其然，開啟從第一次用就放著不用(那時伺服器爆滿，距離柱島泊地開放距半年，暫時放棄入坑)的SoftEther VPN Client管理工具。\nVPN稍微慢一點，但還是耐心照步驟跑完。\n第二件讓我慌張的事情，要求信用卡號碼，害我去找生成器亂試。\n後來才發現，是步驟3選擇金額時按到黃色的按鈕\u0026hellip;\nI\u0026rsquo;m poor，第一次課最低價格。 購買母港擴張鑰匙x1。 這是\u0026hellip;儲值回饋?\n前些天練等不小心把大井改餵給滿潮，但今天第一次普建出了且回歸了!! 另外，本文標題為龍之湖太郎(たつのこたろう)的輕小說《問題兒童都來自異世界》某集副標題的改編。\n","date":"2015年12月26日","externalUrl":null,"permalink":"/posts/the-very-first-microtransaction/","section":"Kantai-Collections","summary":"雖然艦娘在課金方面比較有良心(?)，不過船位滿了還是得課。\n碎碎念開始。\n因為，艦娘出不完藉口，在我不隸屬任何神教的情況下還是藉口，對艦娘不好取捨，所以必須如此。\n可能對各位而言課金沒什麼，本人玩網遊堅持不課金也不能課，但這是我第一次網購還課金，出於內心掙扎和一連串原因等等。\n碎碎念結束。\n既然我不能買MCPE，代表我不能使用信用卡，因此就使用第三方支付:WEBMoney。\n使用TokyoBXX的網購自動發卡，因此一繳費立刻得到序號。\n入金步驟參考這篇使用WebMoney。\n我後來才想到，使用改cookie方法玩的教學文章有提醒，這樣一來課金方法只剩信用卡、銀行。\n慌了，不過，我就想是否為VPN問題，果不其然，開啟從第一次用就放著不用(那時伺服器爆滿，距離柱島泊地開放距半年，暫時放棄入坑)的SoftEther VPN Client管理工具。\nVPN稍微慢一點，但還是耐心照步驟跑完。\n第二件讓我慌張的事情，要求信用卡號碼，害我去找生成器亂試。\n後來才發現，是步驟3選擇金額時按到黃色的按鈕…\nI’m poor，第一次課最低價格。 購買母港擴張鑰匙x1。 這是…儲值回饋?\n前些天練等不小心把大井改餵給滿潮，但今天第一次普建出了且回歸了!! 另外，本文標題為龍之湖太郎(たつのこたろう)的輕小說《問題兒童都來自異世界》某集副標題的改編。\n","title":"生平第一次花錢買遊戲點數，そして、提督は課金煉獄へ","type":"kantai-collection"},{"content":"2015年9月15日，港明高中\n吊人胃口的手段，「不想聽我就不講了喔~」不過這次講得比較少。\n一開始自我介紹，做過老師DJ演員記者占卜師催眠師芳療師。沒錯，就是講這麼快。 Share一下她講的小故事，我記得三年前我有記在某個本子上。\n「我國小就喜歡寫作，也常是班上第一。但老師就是不讓我出去比賽，猜為甚麼?!」 我知道答案，這時有一個不知廉恥的人回答了「字太醜」好像是姓王的吧。\n「你給我過來!拿禮物。」\n「接著，我就每天自願作值日生，拿拖把在地上練字。 那時班上有一個跟我程度差不多的男生，有一天把我叫到3樓，無人的走廊。我認為他是想跟我分出作文的勝負。我上去時，他就站在走廊盡頭。」 「喔~!!!」全場一片譁然。\n「過來!?這甚麼題目，好抽象!?他好像認為我沒聽清楚，又說了一次『過來~!』我就過去。他把我壓在牆上，一手撐著，」「壁咚~~!!!」全場又譁然。「她撐著，我只能看著他的腋毛\u0026hellip;\n『我\u0026hellip;』 題目是\u0026quot;我\u0026quot;?我的家庭我的志願我的甚麼甚麼這些題目我都可以寫!\n『我要去加拿大了。』 好難的題目!我沒去過加拿大! 等一下， 干我屁事。\n『我投稿的一篇文章在我出國後才刊出，老師會讓我們念自己的作品，請務必幫我唸。』 後來我真的去找那篇，他投的是小說，我反反覆覆看了十遍，才說『寫得這麼爛也能投稿。』 我打去出版社，捏著鼻子用假音說，『ㄟ那個x年x班xxx是我們班上寫得最爛的ㄟ』 『蛤!?』 然後我就掛斷了，我心想不對只說這樣好像惡作劇電話啊，因此我再打過去。『你是剛才那一位嗎?』 『蝦我又沒有捏著鼻子講話!』 『\u0026hellip;..如果妳覺得你寫的比他好，你可以投稿。』 投稿是甚麼?可以吃嗎?於是我就開始投稿，12歲到18歲，我總共收入100萬。」 END.\n「我投過香港青年文學獎，它大概是文學界的諾貝爾獎那樣，我幾個月後才收到通知。我寫那篇3個小時而已。我可以自稱『在我之上沒有第一』因為當年第一名從缺。收到通知很高興，就問了問獎金。 『200港幣(約合台幣800)』 蛤?我有沒有聽錯?不是800萬? 『那麼就寄給我吧。』 我去兌現支票時，櫃臺說: 『手續費400~』 於是我就沒領，那張支票現在還是我的書籤。」 接著心理測驗，樹與社交能力、星座代表的妖怪、顏色和人的關係等等。有興趣 接著講到了鬼故事。\n「這個故事應該有些人有聽過，也有被人拿去節目上講，我寫的，不要破梗。 醫生處理完一名往生的病患，半夜2:00，準備搭電梯，要關時一位護士揮手叫他打開。 『謝謝醫生。』 門要關時，一位病人在外頭叫醫生不要關，但醫生還是關了。 『醫生，為甚麼不讓他進來?』 『你是新來的嗎?』 『嗯。』 『我們醫院，往生的病人手上都會繫一條紅絲帶。』 『\u0026hellip;醫生\u0026hellip;你說的是這條嗎\u0026hellip;\u0026hellip;.?』」 篇名”紅絲帶”」 鍵盤大檸檬引用的版本。\n「如果你要弄鬼故事，你的場景希望是?」我很想跟她說海底，看她記不記得我講過的這個。\n「最恐怖的是你家，因為這樣妳回去還會怕怕的。」\n「吃飯了啦 ~!」我們班開始躁動，拖到午休囉，幸好她沒聽到。\n此處文自若有出漏，請以現場為準。現場太吵，妨礙記錄。\n註1：本文po在Facebook上還引來作家本人指正說我「諾貝爾獎」那段誇大其詞，紀錄有誤，真是不好意思。\n註2：2013還2014年在讀永康國中的時候就有聽過同一個人演講，標題才會講「再次」，但可惜是這一次沒有上次互動與她熱絡。\n","date":"2015年9月15日","externalUrl":null,"permalink":"/posts/2015091501/","section":"Personals","summary":"2015年9月15日，港明高中\n吊人胃口的手段，「不想聽我就不講了喔~」不過這次講得比較少。\n一開始自我介紹，做過老師DJ演員記者占卜師催眠師芳療師。沒錯，就是講這麼快。 Share一下她講的小故事，我記得三年前我有記在某個本子上。\n「我國小就喜歡寫作，也常是班上第一。但老師就是不讓我出去比賽，猜為甚麼?!」 我知道答案，這時有一個不知廉恥的人回答了「字太醜」好像是姓王的吧。\n「你給我過來!拿禮物。」\n「接著，我就每天自願作值日生，拿拖把在地上練字。 那時班上有一個跟我程度差不多的男生，有一天把我叫到3樓，無人的走廊。我認為他是想跟我分出作文的勝負。我上去時，他就站在走廊盡頭。」 「喔~!!!」全場一片譁然。\n「過來!?這甚麼題目，好抽象!?他好像認為我沒聽清楚，又說了一次『過來~!』我就過去。他把我壓在牆上，一手撐著，」「壁咚~~!!!」全場又譁然。「她撐著，我只能看著他的腋毛…\n『我…』 題目是\"我\"?我的家庭我的志願我的甚麼甚麼這些題目我都可以寫!\n『我要去加拿大了。』 好難的題目!我沒去過加拿大! 等一下， 干我屁事。\n『我投稿的一篇文章在我出國後才刊出，老師會讓我們念自己的作品，請務必幫我唸。』 後來我真的去找那篇，他投的是小說，我反反覆覆看了十遍，才說『寫得這麼爛也能投稿。』 我打去出版社，捏著鼻子用假音說，『ㄟ那個x年x班xxx是我們班上寫得最爛的ㄟ』 『蛤!?』 然後我就掛斷了，我心想不對只說這樣好像惡作劇電話啊，因此我再打過去。『你是剛才那一位嗎?』 『蝦我又沒有捏著鼻子講話!』 『…..如果妳覺得你寫的比他好，你可以投稿。』 投稿是甚麼?可以吃嗎?於是我就開始投稿，12歲到18歲，我總共收入100萬。」 END.\n","title":"如是我親聞：2015年再次聆聽夏霏的演講","type":"personal"},{"content":"哈囉，上一章提到的是主要的函式，接下來是插件方法(ModPE Script Methods)!\n接下來Part 3會有很多分支，它們大致分為:\n雜項 ModPE Level Player Entity Item Block Server(此類沒有人用過，因此我也無法介紹) Renderer 3.1. 如何取得插件方法一覽表 # 插件方法就是一些函數，BlockLauncher作者會把所有的插件方法放在\u0026quot;測試功能\u0026quot;裡：\nBlockLauncher按扳手\u0026gt;設定 找到測試功能 按下Dump ModPE Scripts methods 按下確定，它會存在你的SD卡。建議BlockLauncher每更新幾版就更新一下這個檔案。 3.2. 雜項 # 本章重點放在雜項。\n多為BlockLauncher剛推出插件函數時這些較多，但大多都有被分到其他類去了。\naddItemInvnetory(物品ID,數量,副ID)\n用法:添加物品到玩家背包，如果要減少數量就填-1。\n若玩家手上只有一個物品又用此法減少則物品會存在但點一下就消失。\n副ID預設為0，可不填。\n例:additmemInvnetory(259,1,0);\nbl_setMobSkin(實體,\u0026ldquo;皮膚\u0026rdquo;)\n用法:設置實體的皮膚\n註:現在bl_開頭的方法使用時會一直彈出提示訊息，請使用新版的相關類別。比方說這個最好改用Entity.setMobSkin()\n例:bl.setMobSkin(v,\u0026ldquo;mob/zombie.png\u0026rdquo;);\nbl_spawnMob(x座標,y座標,z座標,實體ID, \u0026ldquo;皮膚\u0026rdquo;)\n用法:生成實體。\n實體ID請參考這個。\n皮膚不填則視為預設。\n例:bl_spawnMob(1,1,1,33,\u0026ldquo;mob/creeper.png\u0026rdquo;);\nclientMessage(\u0026ldquo;文字\u0026rdquo;)\n用法:以系統訊息顯示文字。\n例:clientMessage(\u0026ldquo;Hello\u0026rdquo;);\nexplode(x座標, y座標,z座標,半徑)\n用法:爆炸。半徑填小於1則只會有聲音，但還是可以引爆TNT。\n例:explode(1,1,1,50);\ngetCarriedItem()\n用法:獲取玩家手上拿的物品ID。\ngetLevel()\n用法:獲取玩家當前世界(參考此文)\ngetPitch(實體)\n用法:獲取實體頭的垂直角度，留空則默認為玩家。\ngetPlayerEnt()\n用法:代表玩家。\ngetPlayerX()\n用法:獲取玩家X座標。\ngetPlayerY()\n用法:獲取玩家Y座標。\ngetPlayerZ()\n用法:獲取玩家Z座標。\ngetTile(x座標,y座標,z座標)\n用法:獲取該座標的方塊信息。\ngetYaw(實體)\n用法:獲取實體頭的水平角度，留空則默認為玩家。\npreventDefault()\n用法:阻止原本效果，比方說破壞木頭不掉木頭等。\nprint(\u0026ldquo;文字\u0026rdquo;)\n用法:在螢幕上顯示文字。\n例:print(\u0026ldquo;Hello\u0026rdquo;);\nrideAnimal(實體1,實體2)\n用法:讓實體1騎在實體2上。\n例:rideAnimal(a,v);\nsetNightMode(布林值)\n用法:永夜，填true開啟，false關閉。\n例:setNightMode(true);\nsetPosition(實體,x座標,y座標,z座標)\n用法:傳送實體到一個座標。傳送玩家到一個方塊時如果卡住，則Y座標+4。\n例:setPosition(getPlayerEnt(),1,1,1);\nsetRelativePosition(實體,x座標,y座標,z座標)\n用法:傳送實體到一個絕對座標。\n例:setRelativePosition(getPlayerEnt(),1,1,1);\nsetRot(實體,水平角度,垂直角度)\n用法:設置實體頭的角度，建議用三角函數算。\n例:setRot(getPlayerEnt(),360,90);\nsetTile(x座標,y座標,z座標方塊ID,副ID)\n用法:設置方塊。副ID預設為0。\n例:setTile(1,1,1,10,0);\nsetVelX(實體,速率)\n用法:讓實體往X的方向前進。注意，速度1就很快了，因此建議填小數。\n速度若為負則往後。\n例:setVelX(getPlayerEnt(),0.5);\nsetVelY(實體,速率)\n用法:讓實體往Y的方向前進。注意，速度1就很快了，因此建議填小數。\n速度若為負則往後。\n例:setVelY(getPlayerEnt(),0.5);\nsetVelZ(實體,速率)\n用法:讓實體往z的方向前進。注意，速度1就很快了，因此建議填小數。\n速度若為負則往後。\n例:setVelZ(getPlayerEnt(),0.5);\nspawnChicken(x座標,y座標,z座標,\u0026ldquo;皮膚\u0026rdquo;);\n用法:生成雞。 註:很抱歉，只有這3種生物，沒有spawnCreeper()這種甚麼的~\n例:spawnChicken(10,11,12,\u0026ldquo;mob/pig.png\u0026rdquo;);\nspawnCow(x座標,y座標,z座標,\u0026ldquo;皮膚\u0026rdquo;);\n用法:生成牛。\n例:spawnCow(10,11,12,\u0026ldquo;mob/pig.png\u0026rdquo;);\nspawnPigZombie(x座標,y座標,z座標,\u0026ldquo;皮膚\u0026rdquo;);\n用法:生成殭屍豬人。\n例:spawnPigZombie(10,11,12,\u0026ldquo;mob/pig.png\u0026rdquo;);\n3.3. ModPE # 本章重點放在\n這些方法主要是控制一些系統設定。\nModPE.dumpVtable(\u0026ldquo;字串\u0026rdquo;,整數)\n用法:不明\nModPE.getBytesFromTexturePack(\u0026ldquo;路徑\u0026rdquo;)\n用法:不明\nModPE.getI18n(\u0026ldquo;字串\u0026rdquo;)\n用法:獲取在地化語言，目前字串要填什麼仍是個未知數。i18n的意思\nModPE.getLanguage()\n用法:獲取目前遊戲使用的語言，例如繁中就是\u0026quot;zh-tw\u0026quot;。\nModPE.getMinecraftVersion()\n用法:偵測Minecraft版本。\nModPE.langEdit(\u0026ldquo;物品名\u0026rdquo;, \u0026ldquo;新名字\u0026rdquo;)\n用法:改物品名。注意，物品名是遊戲裡的代碼。\n例:ModPE.langEdit(\u0026ldquo;crafting_table\u0026rdquo;,\u0026ldquo;GG\u0026rdquo;)\nModPE.leaveGame()\n用法:返回到遊戲主界面。\nModPE.log(\u0026ldquo;字串\u0026rdquo;)\n用法:列印指定的日誌。\nModPE.openInputStreamFromTexturePack(\u0026ldquo;路徑\u0026rdquo;)\n用法:可以開啟材質包內的檔案，例如讀文字檔。\nModPE.overrideTexture(\u0026ldquo;路徑\u0026rdquo;,\u0026ldquo;材質網址\u0026rdquo;)\n用法:替換材質。\n例:ModPE.overrideTexture(\u0026ldquo;images/items-opaque.png\u0026rdquo;,\u0026ldquo;xxx.com\u0026rdquo;)\nModPE.readData(\u0026ldquo;字串\u0026rdquo;)\n用法:讀檔。字串為儲存的變數名。\nModPE.removeData(\u0026ldquo;字串\u0026rdquo;) 用法:刪檔。字串為儲存的變數名。\nModPE.resetFov()\n用法:重置視角放大倍率。\nModPE.resetImages()\n用法:重置材質。\nModPE.saveData(\u0026ldquo;路徑\u0026rdquo;,\u0026ldquo;字串\u0026rdquo;)\n用法:存檔(好像不能存陣列)。字串為儲存的變數名。\nModPE.selectLevel(\u0026ldquo;資料夾名\u0026rdquo;,\u0026ldquo;世界名\u0026rdquo;)\n用法:進入所填的世界。\nModPE.setCamera(實體)\n用法:把玩家的視角設定到一個實體上。\nModPE.setFoodItem(ID,\u0026ldquo;材質名稱\u0026rdquo;,副ID,加/減的血量,\u0026ldquo;名稱\u0026rdquo;)\n用法:新增食物。\n材質名稱是0.11.0後，物品必須以單獨的圖片檔放在材質包裡;ID上限是4096，這2點新增物品同理。\n例:ModPE.setFoodItem(470,\u0026ldquo;XO\u0026rdquo;,0,6,\u0026ldquo;XO\u0026rdquo;)\\\nModPE.setFov(數字)\n用法:設置視角放大倍率，預設為17。\nModPE.setGameSpeed(數字)\n用法:設置遊戲速度，預設為20。\nModPE.setGuiBlocks(\u0026ldquo;路徑\u0026rdquo;)\n用法:設置方塊在背包裡的材質。0.8.0以下有效。\nModPE.setItem(ID, \u0026ldquo;材質名稱\u0026rdquo;,副ID,\u0026ldquo;名稱\u0026rdquo;,在手中最多可堆疊數)\n用法:新增物品。\n例:ModPE.setItem(471,\u0026ldquo;XO\u0026rdquo;,0,\u0026ldquo;XO\u0026rdquo;,1)\nModPE.setItems(\u0026ldquo;網址\u0026rdquo;)\n用法:請別跟前者搞混，這是改物品材質。\nModPE.setUiRenderDebug(布林值)\n用法:在螢幕上顯示除錯用資訊。\nModPE.setTerrain(\u0026ldquo;網址\u0026rdquo;)\n用法:改方塊材質。\nModPE.showTipMessage(\u0026ldquo;文字\u0026rdquo;)\n用法:在螢幕上顯示文字。\n例:ModPE.showTipMessage(\u0026ldquo;Hello\u0026rdquo;)\nModPE.takeScreenshot(\u0026ldquo;存檔名\u0026rdquo;)\n用法:截圖。檔案在SD卡/Pictures/BlockLauncher。\n例:ModPE.takeScreenshot(\u0026ldquo;Example\u0026rdquo;)\n3.4. Level # 本章重點放在Level。\nLevel.addParticle(粒子代碼, X座標, Y座標, Z座標, X方向速率, Y方向速率, Z方向速率, 數量)\n用法:產生粒子，通常XYZ速率和數量填0即可。\n粒子代碼modpescriptdump.txt有附(ParticleType.XXX那幾個)，數字版的代碼沒有人整理。\nLevel.biomeIdToName(代碼)\n用法:把特定生態系的數字代碼轉成字串代碼。\nLevel.canSeeSky(X座標, Y座標, Z座標)\n用法:確認一個方塊上方直到最高點(天空)是否有方塊擋住，偵測的方式類似烽火台。\nLevel.destroyBlock(X座標, Y座標, Z座標, 是否要有粒子(布林值))\n用法:破壞方塊。\nLevel.dropItem(X座標,Y座標, Z座標, 是否跳躍(布林值), 物品ID, 數量, 物品副ID)\n用法:生成一個掉落物。\nLevel.explode(X座標,Y座標, Z座標, 半徑, 是否破壞地形(布林值))\n用法:產生爆炸。\nLevel.getAddress()\n用法:獲取目前世界的IP。\nLevel.getBiome(X座標, Z座標)\n用法:獲取該座標的生態系ID。\nLevel.getBiomeName(X座標, Z座標)\n用法:獲取該座標的生態系名稱。\nLevel.getBrightness(X座標,Y座標, Z座標)\n用法:獲取該座標的亮度。\nLevel.getChestSlot(X座標,Y座標, Z座標, 第幾格)\n用法:獲取該座標箱子的物品ID。\n註:箱子的格子數是從0開始算。\nLevel.getChestSlotCount(X座標,Y座標, Z座標, 第幾格)\n用法:獲取該座標箱子的物品數量。\nLevel.getChestSlotCustomName(X座標,Y座標, Z座標, 第幾格)\n用法:獲取該座標箱子的物品名稱。\nLevel.getChestSlotData(X座標,Y座標, Z座標, 第幾格)\n用法:獲取該座標箱子的物品副ID。\nLevel.getData(X座標,Y座標, Z座標)\n用法:獲取該座標方塊的副ID。\nLevel.getDifficulty()\n用法:獲取遊戲難度。\nLevel.getFurnaceSlot(X座標,Y座標, Z座標, 第幾格)\n用法:獲取該座標熔爐的物品ID。\n註:熔爐同箱子，格子數是從0開始算，不過熔爐只有2格。\nLevel.getFurnaceSlotCount(X座標,Y座標, Z座標, 第幾格)\n用法:獲取該座標熔爐的物品數量。\nLevel.getFurnaceSlotData(X座標,Y座標, Z座標, 第幾格)\n用法:獲取該座標熔爐的物品副ID。\nLevel.getGameMode()\n用法:獲取遊戲模式。\nLevel.getGrassColor(X座標, Z座標)\n用法:獲取該座標的草皮顏色。\n註:插件裡的顏色是用Hex代碼表示。\nHex顏色代碼查詢見此\nLevel.getLightningLevel()\n用法:獲取現在打雷強度。\nLevel.getRainLevel()\n用法:獲取現在的雨勢。\nLevel.getSignText(X座標,Y座標, Z座標, 第幾行)\n用法:獲取該座標告示牌的文字內容。\n註:行數是從0開始算。\nLevel.getSpawnerEntityType(X座標,Y座標, Z座標)\n用法:獲取該座標生怪籠產生的生物的ID。\nLevel.getTile(X座標,Y座標, Z座標)\n用法:獲取該座標的方塊ID。\nLevel.getTime()\n用法:獲取目前的世界的時間。\nLevel.getWorldDir()\n用法:獲取目前的世界的資料夾名稱。\n註:判別世界時用這個會比下面的好，因為MCPE即使世界名稱遊戲裡相同但資料夾名稱是絕對不同的。\nLevel.getWorldName()\n用法:獲取目前的世界的名稱。\nLevel.playSound(X座標,Y座標, Z座標, \u0026ldquo;音效代碼\u0026rdquo;, 音量, 音高)\n用法:在該座標播放遊戲內的音效。\n音效代碼見此\nLevel.playSoundEnt(實體, \u0026ldquo;音效代碼\u0026rdquo;, 音量, 音高)\n用法:在該實體身上播放遊戲內的音效。\nLevel.setChestSlot(X座標,Y座標, Z座標, 第幾格, 物品ID, 方塊副ID, 數量)\n用法:在該座標箱子放入物品。\nLevel.setChestSlotCustomName(X座標,Y座標, Z座標, 第幾格, \u0026ldquo;名稱\u0026rdquo;)\n用法:修改該座標箱子的物品名稱。\nLevel.setDifficulty(數字)\n用法:修改遊戲困難度，由和平到困難值依序為0、1、2、3。\nLevel.setFurnaceSlot(X座標,Y座標, Z座標, 第幾格, 物品ID, 方塊副ID, 數量)\n用法:在該座標熔爐放入物品。\nLevel.setGameMode(數字)\n用法:修改遊戲模式，0為生存，1為創造。\nLevel.setGrassColor(X座標, Z座標, 顏色代碼)\n用法:更改該座標的草皮顏色。\nLevel.setLightningLevel(強度)\n用法:設置打雷強度，值為0~1。\nLevel.setNightMode(布林值)\n用法:true會修改夜晚長度，false則回歸正常。\nLevel.setRainLevel(強度)\n用法:設置雨勢，值為0~1，普通降雨約為0.35。\nLevel.setSignText(X座標,Y座標, Z座標, 第幾行, \u0026ldquo;文字內容\u0026rdquo;)\n用法:設置該座標告示牌的文字。\nLevel.setSpawn(X座標,Y座標, Z座標)\n用法:設置玩家重生點。\nLevel.setSpawnerEntityType(X座標,Y座標, Z座標, 實體ID)\n用法:設置該座標生怪籠的生怪內容。\nLevel.setTile(X座標,Y座標, Z座標, 方塊ID, 副ID)\n用法:在該座標設置方塊。\nLevel.setTime(數字)\n用法:設置時間，白天為0或約為5000，晚上約為12000。\nLevel.spawnChicken(X座標,Y座標, Z座標,\u0026ldquo;皮膚\u0026rdquo;)\n用法:生成雞。\n註:之前在雜項函數就提過了，但這裡只有這2種生物。\nLevel.spawnCow(X座標,Y座標, Z座標,\u0026ldquo;皮膚\u0026rdquo;)\n用法:生成牛。\nLevel.spawnMob(X座標,Y座標, Z座標,\u0026ldquo;皮膚\u0026rdquo;)\n用法:生成實體。\n3.5. Player # 本章重點放在Player。\nPlayer.addExp(數字)\n用法:給予玩家經驗值。\nPlayer.addItemCreativeInv(物品ID, 數量, 副ID)\n用法:把物品添加到創造背包中，數量的話由於是創造所以填1即可。\nPlayer.addItemInventory(物品ID, 數量, 副ID)\n用法:把物品添加到背包中。\nPlayer.canFly()\n用法:讓玩家可飛行。\nPlayer.clearInventorySlot(第幾格)\n用法:清空該格背包物品。註:格子從0開始算。\nPlayer.enchant(第幾格, 附魔代碼, 附魔等級)\n用法:幫物品附魔。\nPlayer.getArmorSlot(第幾格)\n用法:獲取玩家身上盔甲ID，從頭到腳依序是0~3。\nPlayer.getArmorSlotDamage(第幾格)\n用法:獲取玩家身上盔甲副ID(損害值，數字越大損壞越嚴重)，依序是0~3。\nPlayer.getCarriedItem()\n用法:獲取玩家手上拿的物品ID。\nPlayer.getCarriedItemCount()\n用法:獲取玩家手上拿的物品數量。\nPlayer.getCarriedItemData()\n用法:獲取玩家手上拿的物品副ID。\nPlayer.getDimension()\n用法:獲取玩家目前所在的世界。0為地獄，1為主世界。modpescriptdup.txt裡有代碼(Dimension.XXX那些)\nPlayer.getEnchantments(第幾格)\n用法:獲取物品附魔訊息。\nPlayer.getEntity()\n用法:獲取玩家的UUID，通常用這個當玩家自己的變數。\nPlayer.getExhaustion()\n用法:獲取玩家的飢餓值消耗度，範圍0~4，0為滿腹。4開始扣飢餓值。\nPlayer.getExp()\n用法:獲取玩家目前的經驗值。\nPlayer.getHunger()\n用法:獲取玩家的表面飢餓值，範圍0~20。\nPlayer.getInventorySlot(第幾格)\n用法:獲取該背包格的物品ID。\nPlayer.getInventorySlotCount(第幾格)\n用法:獲取該背包格的物品數量。\nPlayer.getInventorySlotData(第幾格)\n用法:獲取該背包格的物品副ID。\nPlayer.getItemCustomName(第幾格)\n用法:獲取該背包格的物品名稱。\nPlayer.getLevel()\n用法:獲取玩家等級。\nPlayer.getName(對象)\n用法:獲取該玩家的名字，對象是填UUID。\nPlayer.getPointedBlockData()\n用法:獲取玩家指著的方塊副ID。註:要方便看玩家正指著甚麼方塊，請在遊戲設定裡開啟分離控制。\nPlayer.getPointedBlockId()\n用法:獲取玩家指著的方塊ID。\nPlayer.getPointedBlockSide()\n用法:獲取玩家指著的方塊的面。\nPlayer.getPointedBlockX()\n用法:獲取玩家指著的方塊X座標。\nPlayer.getPointedBlockY()\n用法:獲取玩家指著的方塊Y座標。\nPlayer.getPointedBlockZ()\n用法:獲取玩家指著的方塊Z座標。\nPlayer.getPointedEntity()\n用法:獲取玩家指著的實體。\nPlayer.getPointedVecX()\n用法:獲取玩家指著的實體X方向的速率。\nPlayer.getPointedVecY()\n用法:獲取玩家指著的實體Y方向的速率。\nPlayer.getPointedVecZ()\n用法:獲取玩家指著的實體Z方向的速率。\nPlayer.getSaturation()\n用法:獲取玩家的隱藏飢餓值，範圍為0~20。\nPlayer.getScore()\n用法:獲取玩家的分數，似乎是經驗球的蒐集多寡決定。\nPlayer.getSelectedSlotId()\n用法:獲取玩家下方物品欄選取的物品ID。\nPlayer.getX()\n用法:獲取玩家X座標。\nPlayer.getY()\n用法:獲取玩家Y座標。\nPlayer.getZ()\n用法:獲取玩家Z座標。\nPlayer.isFlying()\n用法:獲取玩家是否飛行(會傳回布林值)。\nPlayer.isPlayer(UUID)\n用法:確認是否有該玩家(傳回布林值)。\nPlayer.setArmorSlot(第幾格, 物品ID, 副ID)\n用法:設置玩家裝備，不一定要是盔甲類物品。\nPlayer.setCanFly(布林值)\n用法:給玩家設置裝備，不一定要是盔甲類物品。\nPlayer.setExhaustion(數值)\n用法:設置玩家飢餓值恢復度。\nPlayer.setExp(數值)\n用法:設置玩家經驗值。\nPlayer.setFlying(布林值)\n用法:設置玩家是否正在飛行。\nPlayer.setHealth(數值)\n用法:設置玩家血量。\nPlayer.setHunger(數值)\n用法:設置玩家的表面飢餓值，範圍0~20。\nPlayer.setInventorySlot(第幾格, 物品ID, 數量, 副ID)\n用法:設置玩家該背包格的物品。\nPlayer.setItemCustomName(第幾格, \u0026ldquo;名稱\u0026rdquo;)\n用法:設置玩家該背包格的物品名稱。\nPlayer.setLevel(數值)\n用法:設置玩家的等級。\nPlayer.setSaturation(數值)\n用法:設置玩家的隱藏飢餓值，範圍0~20。\nPlayer.setSelectedSlotId(數值)\n用法:設置玩家物品欄選擇的物品ID。\n3.6. Entity # 本章重點放在Entity，主要都跟實體有關(包括玩家)。\nEntity.addEffect(實體對象, 藥水效果代碼, 持續時間, 效果等級, ?, 是否顯示粒子(布林值))\n用法:為實體添加藥水效果。\n註:藥水效果代碼請見modpescript_dump.txt裡MobEffects.XXX那裡。\n?的部分未知，填0即可。\nEntity.getAll()\n用法:獲取所有實體(傳回的是一個陣列)。\nEntity.getAnimalAge(實體對象)\n用法:獲取該實體的年齡，指對有幼年期的對象(如雞、殭屍等)有效。\nEntity.getArmor(實體對象, 第幾格)\n用法:獲取實體身上穿的裝備ID。 註:裝備格子是從0開始算。\nEntity.getArmorCustomName(實體對象, 第幾格)\n用法:獲取實體身上穿的裝備名稱。\nEntity.getArmorDamage(實體對象, 第幾格)\n用法:獲取實體身上穿的裝備損害值。\nEntity.getEntityTypeId(實體對象)\n用法:獲取實體的ID。\nEntity.getExtraData(實體對象, \u0026ldquo;資訊名\u0026rdquo;)\n用法:如果該實體有被使用setExtraData設定其他資訊，可用這個函數取得。\nEntity.getHealth(實體對象)\n用法:獲取實體的生命值。\nEntity.getItemEntityCount(實體對象)\n用法:獲取實體的數量(只對掉落物有效)。\nEntity.getItemEntityData(實體對象)\n用法:獲取實體的副ID(只對掉落物有效)。\nEntity.getItemEntityId(實體對象)\n用法:獲取實體的ID(只對掉落物有效)。\nEntity.getMaxHealth(實體對象)\n用法:獲取實體的上限生命值。\nEntity.getMobSkin(實體對象)\n用法:獲取實體的皮膚(傳回的是材質裡的路徑)。\nEntity.getNameTag(實體對象)\n用法:獲取實體的名條。\nEntity.getPitch(實體對象)\n用法:獲取實體的頭的垂直角度。\nEntity.getRenderType(實體對象)\n用法:獲取實體的模型ID。\nEntity.getRider(實體對象)\n用法:獲取實體的騎乘者ID(如果有的話)。\nEntity.getRiding(實體對象)\n用法:獲取實體騎著的實體ID。\nEntity.getTarget(實體對象)\n用法:獲取實體的目標(例如鐵巨人要攻擊殭屍)。\nEntity.getUniqueId(實體ID)\n用法:獲取實體的UUID。\nEntity.getVelX(實體對象)\n用法:獲取實體的X方向速率。\nEntity.getVelY(實體對象)\n用法:獲取實體的Y方向速率。\nEntity.getVelZ(實體對象)\n用法:獲取實體的Z方向速率。\nEntity.getX(實體對象)\n用法:獲取實體的X座標。\nEntity.getY(實體對象)\n用法:獲取實體的Y座標。\nEntity.getYaw()\n用法:獲取實體的頭的水平角度。\nEntity.getZ(實體對象)\n用法:獲取實體的Z座標。\nEntity.isSneaking(實體對象)\n用法:偵測實體是否蹲著(傳回布林值)。\nEntity.remove(實體對象)\n用法:移除實體。\nEntity.removeAllEffects(實體對象)\n用法:移除實體身上所有的藥水效果。\nEntity.removeEffect(實體對象, 藥水代碼)\n用法:移除實體身上特定的藥水效果。\nEntity.rideAnimal(實體對象1, 實體對象2)\n用法:讓實體1騎在實體2上。\nEntity.setAnimalAge(實體對象, 數字)\n用法:設置實體年齡。\nEntity.setArmor(實體對象, 第幾格, 物品ID, 物品副ID)\n用法:給實體穿裝備。\nEntity.setArmorCustomName(實體對象, 第幾格, \u0026ldquo;名稱\u0026rdquo;)\n用法:給實體的裝備命名。\nEntity.setCape(實體對象, \u0026ldquo;材質路徑\u0026rdquo;)\n用法:給實體穿披風。\n註:路徑為材質包images內開始，例如mob/lop.png。\nEntity.setCarriedItem(實體對象, 物品ID, 數量, 物品副ID)\n用法:給實體設置手上拿的東西。\nEntity.setCollisionSize(實體對象, 寬, 高)\n用法:給實體設置陰影面積。\nEntity.setExtraData(實體對象, \u0026ldquo;資訊名稱\u0026rdquo;, \u0026ldquo;資訊內容\u0026rdquo;)\n用法:給實體設置額外資訊。\n資訊名稱恆為\u0026quot;作者.插件名稱.資訊名稱\u0026quot;。\nEntity.setFireTicks(實體對象, 時間)\n用法:讓實體著火。\nEntity.setHealth(實體對象, 生命值)\n用法:設置實體生命值。\nEntity.setImmobile(實體對象, 是否靜止(布林值))\n用法:讓實體靜止。\nEntity.setMaxHealth(實體對象, 生命值)\n用法:設置實體最大血量。\nEntity.setMobSkin(實體對象, \u0026ldquo;材質路徑\u0026rdquo;)\n用法:設置實體皮膚。\nEntity.setNameTag(實體對象, \u0026ldquo;字串\u0026rdquo;)\n用法:給實體設置名條。\nEntity.setPosition(實體對象, X座標, Y座標, Z座標)\n用法:移動實體到指定座標。\nEntity.setPositionRelative(實體對象, X座標, Y座標, Z座標)\n用法:移動實體到指定的絕對座標，例如某生物和玩家之間的XYZ座標值互減的值。\nEntity.setRenderType(實體對象, 模型代碼)\n用法:設置實體的模型。\n註:模型的代碼請參見modpescript_dump.txt裡EntityType.XXX那邊。\nEntity.setRot(實體對象, 頭水平角度, 頭垂直角度)\n用法:設置實體的頭角度。\nEntity.setSneaking(實體對象, 是否蹲下(布林值))\n用法:讓實體蹲下。\nEntity.setTarget(實體對象1, 實體對象2)\n用法:讓實體對象1的攻擊對象轉移到實體對象2上。\nEntity.setVelX(實體對象, 速率)\n用法:讓實體往X的方向移動。\nEntity.setVelY(實體對象, 速率)\n用法:讓實體往Y的方向移動。\nEntity.setVelZ(實體對象, 速率)\n用法:讓實體往Z的方向移動。\nEntity.spawnMob(X座標, Y座標, Z座標, 實體代碼, \u0026ldquo;材質路徑\u0026rdquo;)\n用法:生成實體。\n註:實體代碼請參見modpescript_dump.txt裡EntityType.XXX那邊。\n註2:要生成掉落物請使用Level.dropItem()。\n3.7. Item # 本章重點放在Item，主要是跟物品有關。\nItem.addCraftRecipe(物品ID, 合成出來的數量, 物品副ID, [合成的素材陣列])\n用法:為物品添加合成表。合成表陣列，每一個素材的格式為「\u0026ldquo;物品ID\u0026rdquo;,\u0026ldquo;所需數量\u0026rdquo;,\u0026ldquo;物品副ID\u0026rdquo;」，如此最多可以添加9個。\nItem.addFurnaceRecipe(物品ID, 燒出來的產物ID, 燒出來的產物副ID)\n用法:為物品添加燒煉方法。\nItem.addShapedRecipe(物品ID, 合成出來的數量, 物品副ID, ,[變數陣列] ,[合成的素材陣列])\n用法:為物品添加合成表，這個會比前面的好用些。變數陣列只能為「\u0026ldquo;AAA\u0026rdquo;,\u0026ldquo;AAA\u0026rdquo;,\u0026ldquo;BBB\u0026rdquo;」其中的每個字員代表一個代號，代號可以自己換掉，若空一格則代表該格不需要放東西。這是在模擬合成台的九宮格。合成的素材陣列則為「\u0026ldquo;A\u0026rdquo;,\u0026ldquo;物品ID\u0026rdquo;,\u0026ldquo;物品副ID\u0026rdquo;」即是用代號來對應物品，如此重複，最多可以用9個。\nItem.defineArmor(物品ID, \u0026ldquo;在物品欄裡的材質\u0026rdquo;, 源碼, \u0026ldquo;裝備名稱\u0026rdquo;, \u0026ldquo;裝備後的材質路徑\u0026rdquo;, 防禦力, 耐久度, 裝甲代碼)\n用法:添加新的裝備。\n源碼填0即可。\n裝甲代碼請參考modpescript_dump.txt裡ArmorType.XXX那邊，目前只有頭盔、胸甲、護腿、靴子。\nItem.getMaxDamage(物品ID)\n用法:獲取該物品最大耐久度。\nItem.getMaxStackSize(物品ID)\n用法:獲取該物品最大堆疊量。例如雪球是16、泥土是64。\nItem.getName(物品ID, 物品副ID, 布林值)\n用法:獲取物品的名稱。\n拿羊毛舉例，布林值若為true則回傳的結果為「tile.cloth.name」可以給ModPE.langEdit()用。\n若為false則傳回目前語言下，該物品的名稱，即「羊毛」。\nItem.getTextureCoords(物品ID, 物品副ID)\n用法:獲取該物品的材質圖片裡的座標(回傳的陣列內容分別為Y軸起點、X軸起點、Y軸終點、X軸終點、Y軸高度、X軸寬度)。\nItem.getUseAnimation(物品ID)\n用法:獲取物品攻擊時使用的動畫。\nItem.internalNameToId(\u0026ldquo;物品名稱\u0026rdquo;)\n用法:未知。\nItem.isValidItem(物品ID)\n用法:檢測該物品是否有效(存在)，傳回的是布林值。\nItem.setCategory(物品ID, 分類代碼)\n用法:設置物品在合成台、背包裡顯示的分類。\n分類代碼請參見modpescript_dump.txt裡ItemCategory.XXX的那邊。\nItem.setEnchantType(物品ID, 附魔代碼, 布林值)\n用法:設置/刪除物品可以附的附魔。\n布林值填true則為其添加這個附魔；false則刪除這個附魔。\nItem.setHandEquipped(物品ID, 布林值)\n用法:設置物品拿在手上的姿勢是否像握劍一樣(直立)。\nItem.setMaxDamage(物品ID, 耐久度)\n用法:設置物品的最大耐久度。\nItem.setProperties(物品ID, {JSON內容})\n用法:給物品設置JSON形式的屬性，可以達到局部修改的效果。\nJson內容的格式如下，這些屬性有沒有都沒關係:\n{ \u0026#34;icon\u0026#34;: \u0026#34;遊戲內物品名稱\u0026#34;, \u0026#34;category\u0026#34;: \u0026#34;分類代碼\u0026#34;, \u0026#34;use_animation\u0026#34;: \u0026#34;使用的動畫\u0026#34;, \u0026#34;use_duration\u0026#34;: 10, \u0026#34;foil\u0026#34;: true, \u0026#34;hover_text_color\u0026#34;: \u0026#34;顏色代碼\u0026#34;, \u0026#34;food\u0026#34;: { \u0026#34;nutrition\u0026#34;: 5, \u0026#34;saturation_modifier\u0026#34;: \u0026#34;飢餓值上升幅度\u0026#34;, \u0026#34;is_meat\u0026#34;: false } } use_duration為作用時間，foil為阻止原本效果，nutuition為回復量，is_meat為設置是否為肉類。\nItem.setStackedByData(物品ID, 布林值)\n用法:給物品設置為是否照附ID堆疊，例如橡木和樺木的共用同一個ID，但是卻不會堆疊在一起。true為照附ID；false為不照附ID。\nItem.setUseAnimation(物品ID, 動畫代碼)\n用法:給物品設置攻擊時使用的動畫。動畫代碼請參見modpescript_dump.txt裡UseAnimation.XXX那邊。\nItem.translatedNameToId(\u0026ldquo;物品名稱\u0026rdquo;)\n用法:未知。\n3.8. Block # 本章重點放在Block，主要跟方塊有關。\nBlock.defineBlock(方塊ID, \u0026ldquo;\u0026lsquo;方塊名稱\u0026rdquo;, [材質陣列], 可破壞的工具ID, 是否不透明, 方塊模型代碼)\n用法:添加新方塊。材質陣列裡的命名規則同ModPE.setItem()。格式是為「[\u0026ldquo;材質名\u0026rdquo;,0]」依序可填6組，若只填一個則六面都使用這個材質。方塊模型代碼請參見modpscrpit_dump.txt裡的BlockRenderType.XXX那邊。\nBlock.defineLiquidBlock(方塊ID, \u0026ldquo;\u0026lsquo;方塊名稱\u0026rdquo;, [材質陣列], 是否流動(布林值), 流動半徑)\n用法:添加液體類的新方塊，不設定流動半徑的話㑹很恐怖。\nBlock.getAllBlockIds()\n用法:獲取所有方塊ID(傳回的是陣列)。\nBlock.getDestroyTime(方塊ID, 方塊副ID)\n用法:獲取該方塊破壞所需的時間。\nBlock.getFriction(方塊ID, 方塊副ID)\n用法:獲取玩家走在該方塊上的移動速度。 正常約為0.60，水或冰約為0.98。\nBlock.getRenderType(方塊ID)\n用法:獲取該方塊的模型。\nBlock.getTextureCoords(方塊ID, 哪一面, 方塊副ID)\n用法:獲取該方塊的材質座標，用法同Item.getTextureCoords()。方塊的哪一面可以使用代碼表示，請參見modpescript_dump.txt裡BlcokFace.XXX那邊。\nBlock.setColor(方塊ID, Hex顏色代碼)\n用法:設置該方塊的顏色(直接在表面覆蓋，因此只適用於草皮、白羊毛等)。\nBlock.setDestroyTime(方塊ID, 破壞時間)\n用法:設置該方塊的破壞時間。\nBlock.setExplosionResistance(方塊ID, 爆炸抗性)\n用法:設置該方塊的爆炸抗性。\nBlock.setFriction(方塊ID, 移動速度)\n用法:設置玩家走在該方塊上的移動速度。\nBlock.setLightLevel(方塊ID, 亮度)\n用法:設置該方塊的亮度，範圍為0~15。\nBlock.setLightOpacity(方塊ID, 遮光度)\n用法:設置該方塊的透光度，範圍為0~15。\nBlock.setRedstoneConsumer(方塊ID, 是否可接受紅石信號(布林值))\n用法:設置方塊是否能被紅石觸發。\nBlock.setRenderLayer(方塊ID, 圖層代碼)\n用法:設置方塊的圖層。\nBlock.setRenderType(方塊ID, 方塊模型代碼)\n用法:設置方塊的模型。\nBlock.setShape(方塊ID, X軸起點, Y軸起點, Z軸起點, X軸寬度, Y軸寬度, Z軸寬度, 方塊副ID)\n用法:設置方塊大小。注意:設太大會爆出物品欄且破圖。\nmodpescript_dump裡有寫到的函數到這裡就此告一段落。\n3.9. Renderer \u0026amp; Model # 本章重點放在Renderer和其附屬的Model。\nRenderer此分類在modpescript_dump.txt裡沒有列出來，這些函數是給實體做模型用的。\n除非你的想像力真的很豐富，否則除了建模宣告外其他部分還是用電腦做的好，關於模型的實作會在Part 5另開新篇教學。\n如何把用Techne做的模型轉成插件裡的格式?Techne Porter!\n下面的Renderer只是方便表示用的變數，要看實際情況修改。\nRenderer.createHumanoidRenderer()\n用法:宣告建立一個人類形狀的模型。\nRenderer.getModel()\n用法:獲取該模型。\nRenderer.getRenderType()\n用法:獲取該模型的代碼ID。\nRenderer.renderType\n用法:這不是函數，用這個可代表該模型，Entity.setRenderType()時用這個。\n下方的Model是代表Renderer.getModel()的變數。\nModel.getPart(\u0026ldquo;部位名稱\u0026rdquo;)\n用法:選取模型的特定部位。\n頭:head\n身體:body\n右手:rightArm\n左手:leftArm\n右腳:rightLeg\n左腳:leftLeg\n下方的ModelPart是代表Model.getPart()的變數。\nModelPart.clear()\n用法:清除該部位的模型。\nModelPart.setTextureOffset(X軸起點, Y軸起點, 布林值)\n用法:在材質中平移。布林值功能未知。\nModelPart.addBox(X座標, Y座標 , Z座標 , X軸寬度 ,Y軸寬度 ,Z軸寬度)\n用法:在該部位添加模型。\nModelPart.setTextureSize(寬, 高)\n用法:設置該部位的材質大小，目前似乎無效。\nModelPart.setRotationPoint(X座標, Y座標, Z座標)\n用法:設置該部位的轉動點，避免生物頭和手腳動起來很詭異。\n參考資料 # 日本Seesaa WIKI Connor4898的GitHub WarTave的影片 ","date":"2015年6月20日","externalUrl":null,"permalink":"/posts/modpe-scripts-tutorial-part-3/","section":"Minecrafts","summary":"哈囉，上一章提到的是主要的函式，接下來是插件方法(ModPE Script Methods)!\n接下來Part 3會有很多分支，它們大致分為:\n雜項 ModPE Level Player Entity Item Block Server(此類沒有人用過，因此我也無法介紹) Renderer 3.1. 如何取得插件方法一覽表 # 插件方法就是一些函數，BlockLauncher作者會把所有的插件方法放在\"測試功能\"裡：\nBlockLauncher按扳手\u003e設定 找到測試功能 按下Dump ModPE Scripts methods 按下確定，它會存在你的SD卡。建議BlockLauncher每更新幾版就更新一下這個檔案。 3.2. 雜項 # 本章重點放在雜項。\n多為BlockLauncher剛推出插件函數時這些較多，但大多都有被分到其他類去了。\naddItemInvnetory(物品ID,數量,副ID)\n用法:添加物品到玩家背包，如果要減少數量就填-1。\n若玩家手上只有一個物品又用此法減少則物品會存在但點一下就消失。\n副ID預設為0，可不填。\n例:additmemInvnetory(259,1,0);\nbl_setMobSkin(實體,“皮膚”)\n","title":"ModPE Script 插件教學 Part 3 - 插件方法總覽","type":"minecraft"},{"content":"我們又見面囉，有JS基礎就讓我們繼續看下去~\n本文重點是函式(Function)\n函式在JS中是可以自己創的\u0026hellip;不過BLP提供一些函式讓遊戲去執行，見下文。\n你還需要跟插件方法(ModPE Script Methods)相結合，請見Part 3。\n函式用法：跟JS一樣，把程式碼包起來:\nfunction useItem(){ //程式碼 } OK，接著是一些有特別功能的函式。\n註:有些可以使用preventDefault()阻止發生原本的效果，請參看modpescriptdump.txt附的函數表。\nattackHook(attacker,victim)\n觸發: 實體被攻擊時\n用法: attacker為發動攻擊的實體，victim為被攻擊的實體，目前對象皆不能指向玩家。\n實體被攻擊(被攻擊者非玩家無效)\nblockEventHook(x,y,z,eventType,data)\n翻譯:blockEventHook(x,y,z,事件,副ID)\n觸發:每3秒執行一次，開關箱子時。\n用法:事件代碼不明。\nx,y,z是事件發生的座標。\n副ID在被開啟時為0，關閉為1。\ncontinueDestroyBlock(x, y, z, side, progress)\n觸發:玩家破壞方塊時\n用法:x,y,z為方塊座標，side為方塊的面，progress為破壞進度值。\nchatHook(str)\n觸發:當有玩家輸入訊息時，str即輸入的字串內容。\ndeathHook(murder,victim)\n翻譯:deathHook(殺人者,被殺者)\n觸發:實體死亡時。(跟entityRemoveHook()不太一樣)\n用法:跟attackHook()差不多。\ndestroyBlock(x,y,z,side)\n翻譯:destroyBlock(x座標,y座標,z座標,方塊面)\n觸發:玩家破壞方塊後\n用法:用Level.getTile()取得被破壞的方塊訊息等。\neatHook(hearts, saturationRatio)\n觸發: 玩家吃東西時\n用法: hearts為恢復的飽食度，saturationRatio為隱藏飽食度。\nentityAddedHook(entity)\n觸發:一個實體出現時。\n用法:entity是實體。\nentityRemoveHook(entity)\n觸發:一個實體被移除時。\n用法:entity是實體。\neatHook(hearts, saturationRatio)\n觸發:玩家吃東西時\n用法:hearts為玩家血量，saturationRatio為飢餓值比例。\nexplodeHook(entity, x, y, z, power, onFire)\n觸發:有爆炸產生後\n用法:entity為產生爆炸的實體，xyz為座標，power為威力(半徑)，onFire為是否著火(布林值)。\nentityHurtHook(attacker, victim, halfhearts)\n觸發:有實體受到傷害時\n用法:attacker為攻擊的實體，victim為受到攻擊的實體，halfhearts為受到的傷害(以半顆心計)。\nlevelEventHook(entity,eventType,x,y,z,data)\n翻譯:levelEventHook(實體,事件,x,y,z,副ID)\n觸發:開關門(陷阱、柵欄)時、羊吃草、玩家睡覺時\n用法:實體就是玩家，\n事件代碼開關門為1003，羊吃草2001，睡覺9800。\nx,y,z是事件發生的座標，睡覺時為0,0,0。\n附ID在門被開啟時為0，關閉為1。\nleaveGame()\n觸發:離開世界時。\nmodTick()\n觸發:一進入某個世界就每20秒一次，一直觸發。\n用法:死不了， 一直存在的函式，可以用來做計時器。\nnewLevel()\n觸發:進入世界時。\nplayerAddExpHook(player, experienceAdded)\n觸發:玩家得到經驗值時\n用法:player為得到經驗值的玩家(單人就是Player.getEntity())，experienceAdded為得到的經驗值。\nprocCmd(cmd)\n翻譯:procCmd(指令)\n觸發:玩家在聊天欄輸入開頭帶有\u0026quot;/\u0026ldquo;斜線號時觸發。\n用法:用於做指令，cmd是指令內容(不包括\u0026rdquo;/\u0026quot;)。\nplayerExpLevelChangeHook(player, levelsAdded)\n觸發:玩家等級有變化時\n用法:player為等級變化的的玩家(單人還是Player.getEntity())，levelsAdded為變化的等級。\nprojectileHitBlockHook(projectile, blockX, blockY, blockZ, side)\n觸發:拋射實體撞到方塊時\n用法:projectile為該實體，blocX、blockY、blockZ為座標，side為方塊的面。\nprojectileHitEntityHook(projectile, targetEntity)\n觸發:有拋射實體(如雪球)碰到另一個實體時\n用法:projectile為拋射實體，targetEntity為它碰到的實體。\nscreenChangeHook(screenName)\n觸發: 當視窗切換時，例如開啟背包等。\n用法: screenname為切換的視窗代碼。\n可自行使用這函數並在當中使用print()，顯示出視窗的對應代碼。\nserverMessageReceiveHook(str)\n觸發:伺服收到訊息\n用法:str為收到的字串內容\nstartdestroyBlock(x,y,z,side)\n翻譯:startdestroyBlock(x座標,y座標,z座標,方塊面)\n觸發:玩家要開始破壞方塊時\n用法:可以提前偵測方塊，用Level.getTile()取得要破壞的方塊訊息等。\nredstoneUpdateHook(x, y, z, newCurrent, wolrdloading, blockId, blockData)\n觸發:紅石訊號更新時\n用法:xyz為座標，newCurrent為其訊號為開或關(布林值)，worldloading為是否在世界載入時就偵測紅石訊號(布林值)，blockId為方塊ID，blockData為方塊副ID。\nuseItem(x,y,z,itemID,blockID,side,itemdamage,blockdamage)\n觸發:點擊方塊。\n用法:x,y,z就是方塊座標，\nitemid就是你手持物品id，\nblockid就是你點擊的方塊，\nitemdamage手持物品附ID，\nblockid被點擊方塊附ID。\n至於方塊面，有1~6，就是你點擊的方塊面。\n所以，你需要ID表，可以參考這個或用TMI看。\nPart 3見!\n參考來源：Connor4898/ModPE Scripts Functions List\n","date":"2015年6月20日","externalUrl":null,"permalink":"/posts/modpe-scripts-tutorial-part-2/","section":"Minecrafts","summary":"我們又見面囉，有JS基礎就讓我們繼續看下去~\n本文重點是函式(Function)\n函式在JS中是可以自己創的…不過BLP提供一些函式讓遊戲去執行，見下文。\n你還需要跟插件方法(ModPE Script Methods)相結合，請見Part 3。\n函式用法：跟JS一樣，把程式碼包起來:\nfunction useItem(){ //程式碼 } OK，接著是一些有特別功能的函式。\n註:有些可以使用preventDefault()阻止發生原本的效果，請參看modpescriptdump.txt附的函數表。\nattackHook(attacker,victim)\n觸發: 實體被攻擊時\n用法: attacker為發動攻擊的實體，victim為被攻擊的實體，目前對象皆不能指向玩家。\n實體被攻擊(被攻擊者非玩家無效)\nblockEventHook(x,y,z,eventType,data)\n翻譯:blockEventHook(x,y,z,事件,副ID)\n觸發:每3秒執行一次，開關箱子時。\n用法:事件代碼不明。\nx,y,z是事件發生的座標。\n副ID在被開啟時為0，關閉為1。\ncontinueDestroyBlock(x, y, z, side, progress)\n觸發:玩家破壞方塊時\n用法:x,y,z為方塊座標，side為方塊的面，progress為破壞進度值。\nchatHook(str)\n觸發:當有玩家輸入訊息時，str即輸入的字串內容。\ndeathHook(murder,victim)\n翻譯:deathHook(殺人者,被殺者)\n觸發:實體死亡時。(跟entityRemoveHook()不太一樣)\n用法:跟attackHook()差不多。\n","title":"ModPE Script 插件教學 Part 2 - 函式","type":"minecraft"},{"content":"Minecraft ModPE Script插件(.js)教學 ~ 已經沒人在用的Minecraft PE模組格式:插件(.js)的教學網誌!\n原始網址（已經被我刪除）：https://mcpejsteach.blogspot.com\n此系列文章為小修訂版本，僅供紀念。\n大家好，今天來發教學文。\n就是MCPE插件教學!\n很多人想學JS，有人也會問:你用甚麼製作JS?\n插件，就是JavaScript寫成。\nJS不是一個很複雜的東西，你只需要一個文本編輯器和JavaScript基礎(最好有\u0026hellip;不然一些技巧可能不好理解)\n現在甚至有快速弄出代碼的，這個我不推薦和介紹。\n最基本你也能用Windows的記事本\u0026hellip;下面我介紹一些:\nDroidEdit 外國是用這個，全英文，語法高亮。 Pro版須付費。\nGoogle Play\n百度百科介紹\n920文本編輯器 我很喜歡用這個，語法也是高亮，支援中文。\nGoogle Play不知為何下架，且出現了一個完全抄襲它的應用(Joy Editor)。\n官方網站\n百度百科介紹\nQuickEdit文本編輯器 920的替代品，由XDA論壇的用戶開發，也支援語法高亮。\nGoogle Play\n4.ES文字編輯器\nES檔管自帶，純文本編輯器。\nGoogle Play\n隨便囉，接下來要建立插件檔，只要存檔時後面打.js就能建立了!\n有些JS在檔案管理器中按了BlockLauncher會直接跳出來問要不要導入，如果沒有，請直接開BLP裝。\n我們Part 2見!\n","date":"2015年6月19日","externalUrl":null,"permalink":"/posts/modpe-scripts-tutorial-part-1/","section":"Minecrafts","summary":"Minecraft ModPE Script插件(.js)教學 ~ 已經沒人在用的Minecraft PE模組格式:插件(.js)的教學網誌!\n原始網址（已經被我刪除）：https://mcpejsteach.blogspot.com\n此系列文章為小修訂版本，僅供紀念。\n大家好，今天來發教學文。\n就是MCPE插件教學!\n很多人想學JS，有人也會問:你用甚麼製作JS?\n插件，就是JavaScript寫成。\nJS不是一個很複雜的東西，你只需要一個文本編輯器和JavaScript基礎(最好有…不然一些技巧可能不好理解)\n現在甚至有快速弄出代碼的，這個我不推薦和介紹。\n最基本你也能用Windows的記事本…下面我介紹一些:\nDroidEdit 外國是用這個，全英文，語法高亮。 Pro版須付費。\nGoogle Play\n百度百科介紹\n920文本編輯器 我很喜歡用這個，語法也是高亮，支援中文。\nGoogle Play不知為何下架，且出現了一個完全抄襲它的應用(Joy Editor)。\n官方網站\n百度百科介紹\nQuickEdit文本編輯器 920的替代品，由XDA論壇的用戶開發，也支援語法高亮。\nGoogle Play\n4.ES文字編輯器\nES檔管自帶，純文本編輯器。\nGoogle Play\n隨便囉，接下來要建立插件檔，只要存檔時後面打.js就能建立了!\n有些JS在檔案管理器中按了BlockLauncher會直接跳出來問要不要導入，如果沒有，請直接開BLP裝。\n","title":"ModPE Script 插件教學 Part 1 - 前置作業","type":"minecraft"},{"content":"初稿：2014年。修訂整理時間：2023年8月20日。\n上集：2014年～2015年，我與她的絕對領域（上）\n傳奇仍在繼續，不過最後就是無聲無息的結束了。\n本集的內容可以用五月天的歌〈而我知道〉來總結，國中時就聽過了，這個MV很明顯就是當初的我嘛。\n還有國中時就聽過的葉歡〈放我的真心在你的手心〉，表望向未來之意。 多年後想想，為什麼我當時要為了一個喜愛韓星的低配版高木同學髮型的女孩那麼癡迷呢？\n在那之後，偶有激情 # 「你很傷心對吧？」週末班放課回教室放講義，不知怎的LSJ和JYW卻也來。\n「沒有。」語氣大概就像鍾理和先生在《草坡上》裡回答他妻子要寫還是不寫的「啊。」\nLSJ，我還要妳想想JYZ勒。\n呵，好像越來越囂張了，週末班好像只有我玩手機玩一整節課，不然就睡覺。\n2014年12月21日\nZYF最近都用2字暱稱我，是她在巴結抑或是？\n原以為藝美紙雕是我領先，但HSY那強大的手工藝割出那超細的線實在是令人佩服。\n即使HSH提醒我，我以沉默繼續發作文，背對在門口聊天的ZMY和LTY。\n緊接著一陣破口大罵，蓋XJR也，硬是把他們倆各自趕回去。原來是她似乎不希望我們班跟別班互動太煩，要約就等放學。（這就是鎖國吧！）\n照理說我應該很高興，但看ZMY長髮遮住那（可能）欲哭無淚的面孔和稍顯暴躁的動作，反而更加心痛。\n2014年12月24日\n早上壞事連連，經過YJY桌旁弄翻飯菜，「我去處理。」她居然沒有追究。\n公民課上第6冊一堆人沒帶，ZMY坐到了我旁邊 —— —— 跟ZYF看。但我始終難以直視右方，一聽到些微笑聲，我就難以憋笑。很少跟她坐這麼近過，希望她下次能再次沒帶（！？）\n「我是希望公民小老師能當一下聖誕老公公發一下糖果。」陳珮珮說。\n「我是保全。」看來他從追思音樂會開始就一直想要這工作。\nXJR把25號才要舉行的聖誕Party，移到本日第8節。\n抽獎是抽禮物，再來從疊疊樂中抽出，沒倒就走人，倒了就\u0026hellip;\u0026hellip;。\n「倒！倒！」好像是MQW、XYL、YJY、LJY後，全班熱烈為我加油（！？）\n於是我成了第一個倒的。幾天錢才知道原來這種木做的疊疊樂不是積木\u0026hellip;\u0026hellip;\n「Ivon！謝謝你！」YYJ最大聲，下一位WYX也這樣笑著對我說。\n後來JYZ、BXZ也是，前者還硬撐。\n壓軸是ZYL和ZZH獻上有配樂的鬼步。\n我唱了Minecraft版的What the squid say + What the fox say片段，五音不全很是尷尬。另外2個打算明天中午再表演。\n翻唱版 原版 「哈哈哈哈 —— —— ！」你應該又猜到是誰了，ZS下課沒睡查字典，ZMY又看著我一直笑，且越笑越厲害。\n「很像某一種生物 —— ！」繼續笑。\n「是說她每次看到Ivon都會一直笑？」LJ問ZYF。\n「妳煞到他喔！帥男殺手！」\n「哪有！」她還是在笑。\n難得LJ能回答我問的課外題，數學的「log」聽了還是不太懂\u0026hellip;\u0026hellip;。\n為何她這麼愛捏我耳朵，我反擊會被眾人當性侵（！？）ZZH卻能抓她脖子。\nZS在一樓跟蔣老師換摸彩券時就聽到有人說「今天的複習考超想睡的。」所以不只我們班心不在焉！\n2014年12月25日\nZMY果然很可愛，最近她很愛捏我耳朵！而且我痛死了她還在笑。\n全班同學最近如XJR所言「很浮動」地理老師得拍東西來讓大家安靜。\nLJ辦的聖誕交換禮物，詳情請看我FB。\n我想找時機報復ZMY的玩弄，希望她可以穿一女僕裝供我恣意玩弄！♡♡！\n2014年12月26日\n「Ivon，揉她胸。」HSH叫我轉過頭。\n「吼！轉回去啦！」CXJ又失了什麼言。\n後來去問\n「她說她胸部很痛，LXY叫你揉。」\n他們倆互相打槍的性格也許哪天會假戲真做。\n至於揉胸\u0026hellip;呵，我最愛的ZMY平胸（或說微微隆起）比不上CXJ的C Cup！！\n排球打太習慣了，籃球接球卻一直雙手交叉。\n常有人說勵志的話，但這些話都是得志但由失志中體現出來的，所以有時讓我認為他們「不能體會」。\n「Ivon（我名字最後一個字的二個疊字）」ZZH把多的考卷親自拿給我（第1次）\n「別那樣叫！」他還是一直叫。\n「要叫『Ivon』（我的名字二個字）」ZYF巴結我的叫法。\nZZH笑聲可跟ZMY匹敵，但更複雜又爆笑。\nLQL也傳承了捏耳朵的習慣，半路偷襲我。\n冬天穿太多，女生都看不到胸衣了啊\u0026hellip;\u0026hellip;。\n2014年12月27日\n因為要上週末班的習慣，今天補下週放假，所以如平常一樣但還是有點睡意。\n「沒做過實驗的站起來。」許博斐這句話，今天二節課說了超多次。\n高興還是不幸，我和CXJ被叫去看伏特計。\n「新CP\u0026hellip;\u0026hellip;」XYL大概傳承昨天HSH說「我倆要拍AV」\n所幸讀一讀就有月考加分分數了，86。\n「妳幹嘛啊！？」YJY還不知道ZMY愛捏我耳朵。\n第2節下課將上課之際，她又對我發動猛攻，LQL也來參一腳。\n「紅起來了欸！」是啊YJY，我的右耳現在很容易就紅起來。\n「其實他心裡在暗爽！」即使我沒轉頭看，大概也知道是JYW笑著說。\nZMY速度滿快的（在女生之中），在與別班的大隊練習賽中，顯著的超越並拉開了距離，即使是QPY也比不上（維持一定距離）。\n是我們太強還是別班太弱，總覺得最近都是我們得第一？\n「Ivon（二字名字）～～」假面騎士來了，是衝撞，興奮的對我上下其手一番。別因為沒有週末班就來亂！\n稍微scan了全班作文，CXJ寫的是：「\u0026hellip;國二英檢好幾次都沒過\u0026hellip;」（呵，我考了2次）\nZMY：聖誕趴\nHSH：聖誕花圈\nYYJ：衛生股長（2年級）\nZZH：國術什麼的。\n前幾者都有小小反對我看作文，但ZZH那似乎是他的逆鱗。\n「Ivon侵犯隱私權！」一連喊了幾次，雖然沒什麼人鳥他。\n「凎，你再看啊！」ZYL好像也發現了。\n我sorry了，不了了之（暫時）。真是對不起，後來被班導罰寫。\n還得台下織綜合課沒織完的圍巾，還有BXZ。\n之前綜合老師不爽我的手藝很爛，但她在調侃我後，卻又對全班女生講說「妳長大要嫁愛玩的YYJ還是Ivon這種的？」全班沈默不語。\n放課後，男生帶著書包都去打球。教室頓時剩下一群girl和Y、B、H。\n在他們臨走前，YYZ對我說：「你做好被輪姦的準備了嗎？」又不是第一次這樣。\n\u0026hellip;沒錯，她們一直開黃腔。\n「陰蒂是？」LXY也來了啊。\n後來某人開Wifi，她們就連線玩手遊。\n強制離校普通是5:30，原來我織完了，期間看了莊園大師、魯蛋講鬼故事、高中文化經典教材等。\nZMY有停留到4:30左右，她弄掉了我的書包。\n「幫你帶上，看你這樣\u0026hellip;」她幫我戴了眼鏡，如同LSJ那般溫柔。\n左頁（上文）事件未完呢。到了7-11一眼撞見ZZH。\n「嗯？」他忘了？\n「喔。沒關係啦，那是ZYL講給我的，反正那也不是什麼重要的。」\n你能原諒真是太好了。\n2014年12月28日\n「欸，你選熱舞社啦！」ZMY如此推薦，並說她也會去。大概是她喜歡少女時代的緣故，我還因此認識了他們的歌曲。\n我原本填第2，但後來她又一再要求。\n好，飛龍牌擦子後面畫記，擲0決定！\n丟 —— ——\n是\u0026hellip;0。\n因此我過去慣例選的影像處理社被換掉。\n至於她要我選的理由，\n「一定很好笑！」\n「\u0026hellip;像Ivon這種，害羞內向，文藝青年 —— 文青！」張銘哲又說了！\n「才怪！」全班嘩然。\n「他死阿宅也！」LXY借自HSH。\n其實張銘哲也在笑。\n2014年12月29日\n「你可以給Ivon（二字姓名）吃啊！」ZYF說。ZMY連早餐都吃不完。\n「Ivon（二字姓名）～～」說著便將巧克力三明治一小片塞入我口中。\n因為上面還有巧克力米，所以不錯吃。\n「好吃嗎？」我回答如上。她們又在笑了。\n今天是運動會。是身為學長的貶抑眼神嗎，1年級的化妝進場我們大部份都認為不怎麼好，因為YYZ和YYJ等人罵聲連連。\n有2班跳小蘋果，一班美術班維持每年慣例 —— —— 冰原歷險記飄移舞。\n順帶一提國一我們表演的時候是跳一首叫什麼2NE1 - 我最紅\u0026quot;I AM THE BEST\u0026quot;的韓國歌，配合CPY的壓軸劈腿作結。\n據說假面騎士在我去廁所時有來找我。\nZMY在400M表現並不怎麼出色。\n和YYZ交換我的《進擊的巨人》「抗」換他的「攻」再返還。喔，他的紙模型贈品卻沒做起來！！\n俗話說「他利」，坐在身後的LQL和MQW取代ZMY又施予重擊，即使我稍做反擊，甚至MQY潑水\u0026hellip;\n「對不起！！」她還揮頭過來。\n「好啦！好啦！」我又提第一次被妳潑。\n她不知向誰說了我的回答。\n進入2015年 # 2015年1月1日\n中午，我上完LJ說的「課程往前調，讓你們放3天」之數學，先在7-11散會。\n不幸的是，ZMY出現了，昨晚她還去吃飯不來理化課呢（我拒絕她媽邀請，因為我不想看補課系統）\n「Ivon\u0026hellip;」她看到我總是先笑一下。\n「坐你這好了。」選雙人座果然是對的！？因為週遭沒有更多雙人座。\n—— —— 尷尬，2人都在滑手機。\n「欸你有沒有講啊？」我原本也想講她昨天沒來的真正原因。\n「嗯，是HCY講的。」最近才知道他的名字。\n「厚！早知道就別告訴她了\u0026hellip;」\n2015年1月5日\n「雖然你脾氣差（台）\u0026hellip;.」音樂課唱歌總比吹中音笛好，因此我選擇MayDay的垃圾車，拋棄《好的事情》和《分手快樂》（都因唱不上去。）\n「我會唱得很破喔。」我向音樂老師宣道。\n\u0026hellip;雖然一開口便是哄堂大笑，但我還是盡力唱完前後。\n「哈 —— ——」主因是ZMY最恐怖的笑聲，讓我邊唱邊笑。\n「我原本想在你唱的時候「呼 —— 呼 （G.I. JOE健康捐）！」」HSH在打掃時跟我說。\n2015年1月8日\n看完韓片「跨樂心天堂」，哈韓的XYL和單純的LJY都落下了淚，我則是混合著呵欠眼角潤濕的眼淚抹去了那幾滴。\n「早知道就看《志氣》。」徐雅雯也哭！？妳不是應該看過很多次了！？\n「不，至少第一節你們笑的很開心，但《志氣》會從第一節哭到看完！」\n明天可以見到許久不見的ZMY、CXJ的泳裝！記得LQL有跟我說過她跟ZMY換衣服的時候看過她裸體。\nZYF乳溝不錯但\u0026hellip;？另外A組（怕水）只有我是male。\n「哈哈哈哈 ———— ！」在ZS上數學，也能隱約聽到那笑聲，最先有反應的是CZJ。\n「是那\u0026hellip;昨天騷擾我的魔音。」昨休息她一直鬧後座的她（他？）。\n2015年1月9日\nAvatar Drive要下線了 —— —— 雖然知道總有一天。\n「派個功課也在叫，那我早知道就別辦聖誕活動，那天上一上派你們今天就不會那麼累了啊！？」XJR甚至直接印解答。\n關於L9 Reading，測驗我跟ZMY是回答一樣 ——— ——— 性格情緒多變。\n「很準。」YJY說。\n看不出我是因為我隱藏起來了吧。\n「我應該是花香＋咖啡＋精油。」\n「我不輕易跟人生氣。我會等對方平和再去談，（但）如果他火我也會談。」笑著說出自己特徵的XJR。\n數學課何子堅突然考月考加分用的多元評量。\n「5分鐘準備就行了。」反正他考的都是基本。\n大多人都100，但我卻在跟JYZ拉勒。\n但有一個人，我察覺到老師在給她提示。\n啊，是QPY，之前好像也是這樣。\nZMY嬌小的身體在泳池中，讓我差點抱下去。\nCXJ乳溝不清楚，但她趴在浮板上大腿原來那麼粗。\n「好硬！」她抱怨打水的肺部方式。\n「想到等下有2節國文，就覺得意外的爽。」YYZ是被分到厲害的C組，八成是游泳得太累了。\n張銘哲又要上部完了，因為《永中悅讀》文章後面都長，因此有同學勸他第8節打破規則上進度。\n「怎麼可能，我這樣守法的好公民\u0026hellip;」他笑著回話。\n嗯？為何不像地理老師以趕課為藉口？\n既然ZMY都在FB上公開表明她愛LTY了，那就祝福他倆吧。\n那麼我就作丑角 —— 如同曹格歌曲描述的那樣。\n另外我喜歡她的理由，是可愛吧，還有性慾。\n2015年1月14日\n「欸你有沒有好點？」HJC下午體育課才問我（像是排前突然想到想似的）發燒問題，的確，其他人關心也沒有，當然班導至少還是有的。\n但一看到座位上考卷被亂放（看來隨便）難道別人也是如此？！\n「他敲我頭！打他！」ZMY輕敲我頭作惡作劇，我隨後拿第三節要用的粉餅組打下去 —— —— 重力在能嘛，好像有點痛。\nHSH就來拍我頭。\n「國家快滅了。」CWT笑著說道。\n這就是我昨天不想請假的原因 —— —— 歷史多天評量只有我們班以遊戲方式。\n以做報告方式分組，我是宰相。\n黑板上畫著昨天的棋步\u0026hellip;我們，幸好倒數第二。\n棋步是螺旋狀往外的，答對階級越高看走越多步。\n皇帝還是ZYL，文、武官是YYJ和JYZ\u0026hellip;\n唉！暴君 ＋ 獨裁 x2 ＋ 抖M？\n「我要廢了宰相！」因為我少言。可惡的朱元璋。\n「他晉級了，掃廁所的！」皇帝處處貶低又小幅提拔武官。\n主題是伊斯蘭國（IS），討論一段文章標題再搶答，JYZ不知他人也有網路，以為只有自己查到答案（有附網址）導致我們雞同別組講，模子一直在原地踏步。\n2015年1月15日\n「那你怎麼沒跟我講？」綜合課的圍巾\u0026hellip;直接放在家了。\n「啥時？」我說「明天有空嗎？」\n「一大早就來了。」\n「好。」\n「你講話好man喔。」是在損我還是\u0026hellip;？因為講很快。\n「他會暗爽！」MQW都嘛這樣說。\n「全班，去跑3圈！明天都不准下課！」國文是自咻，但平常就不把張銘哲放在眼裡的同學氣燄更囂張。\n「你沒制止嗎，風紀？」XJR說。\n「不聽。」她根本就沒制止吧。\n秩序被勾X。我跟JYZ分手他的7-11動漫誌和TOW（戰艦世界）。\n—— —— 我不想穿著制服跑啊。\n放學後（也是訓話後。）\n「其實我一直在等他說『去跑！』」YYZ和HSH看起來很情願。\n英聽考完後的空窗期，老堅突然進來。\n「可以借我5分鐘發考券嗎？」他向監考問。她默認。\n其實LSJ中午就在登記了。\n「9號！」嗯？2個9號？我有這個疑問時，重複一遍的老堅走過去向HSH打了一下頭。\n「幹嘛！？」他好像根本沒注意到。\n「我不是在叫你嗎！？」\n「我不是9號啊？」\n「喔，因為座位在順位，所以以為是你抱歉。」只有言語。\n半晌 —— ——\n「等一下『S班J號』是你呀！收回！」\n※ 是S年J班11號，看來他寫「X」年S班J號\u0026hellip;\u0026hellip;。\n2015年1月19日\n眺望一下教室，又看到 —— —— ！\nZNC向後伸懶腰，大尺寸胸罩就印出來，是可愛又漂亮！\n「我看到了\u0026hellip;窗外。」因為怕HSH誤解。\n如果問我喜歡ZMY，身體部份是小巧屁股，因為緊！又好抓！所以嬌小也不是巨乳也沒關係！\n「我跟你說一個不能說的鬼故事喔！（台）」GIJOE奶奶是HSH最近迷的，對張銘哲說了第一句。\n2015年1月25日\n似乎是前禮拜的事。\n「快點啦！有沒有穿胸衣呀難怪前面晃得這麼厲害\u0026hellip;。」JYW對遲遲從泳池更衣出來的LJY說。\n最近是瘋傳她「最容易授精」。\n臉嗎，是鼻子大了點，身材，肌膚有點咖啡但苗條！\n2015年1月26日\n啊，最近玩《Block Story》太沈迷所以都不太想寫。\n因此，我決定睡前不准玩遊戲太久，就來發揮吧！如果還沒寫日記Diary時。\n我也不太想寫電子日記什麼的，雖然可能我會把這放到網路上。\n「想的都是她」張學友這歌道出我的心聲，來談談ZMY。\n為何喜歡她？莫名一年級下學期她就開始捉弄我了，現在表示「捉弄我很好玩。」\n從身體來看，她從畢業紀念冊上看來跟現在差不多，眼睛就是有那麼點大，雖然頭髮綁起來前額超空像小baby。身材也嬌小，腿短（有點在意\u0026hellip;），泳裝一直是斑馬紋，笑聲很恐怖也是招牌。\n「可愛小MY」HCY常這麼叫，她在熟人面前會變得大方又可愛（至少喜歡她的這樣想）。\n綜合2點，平胸也是沒問題的！ass小插才會緊！\n老實說，她跟假面騎士一樣高\u0026hellip;\u0026hellip;。\n星期天尻的時總會把全班girl作sex幻想對象。但半夜現在的話早上總會露鳥，因此此慣例就被廢除了。\n反正手機在充電，談談CXJ吧。\n相遇是美語之家一年級的數學班，彼此都不講話，在跟HBM暢談一些東西時偶爾用輕蔑的眼神瞪過來。\n女生中的問題兒童，吃泡麵、戴隱形眼鏡都被抓包，一年級時沒什麼在觀察。\n跟我坐的就發生了一些事（參見2014年5月14日、5月15日的日記）\n觀察後CUP常穿有花邊，成熟的傢伙！據HSH在畢旅所說：「雖然她說她C罩杯，但我還是不喜歡她。」\n腿長但大腿和屁股大，覺得她被Fuck時一定叫得很激烈。\n喜歡HSH的調戲？也自戀常照鏡子；但常嘟嘴在校被XJR罵時。\n我有時候會寫日記懷念以前聽過歌曲（雖然也才三年前）和事情。痞客邦星座分析指Cancer就是念舊，沒錯，這就如ZMY所說我「很像老人」\n2015年1月27日\n「上上次說累，這次也說累？」昨天LJ上的是百分位數，上上次是中、眾、算平均數，一堆資料雖然不用公式，但要一直計算\u0026hellip;\u0026hellip;。\n「怎樣啦！？」洪志瑋暴怒，為何？\n\u0026hellip;\u0026hellip;10分鐘前。\n「這題可能要想到下課，我先睡下。」他出了一道題：\n5+5+5=550 ——— 加入一條橫線這道算式成立。\n大家（包括我）太執著於符號，還又抖出我Youtube頻道的事！？\n「你們這麼關注他？」\n「他會把上課東西回家Google，再加在社團！」XYL，我要反駁！我有篩選！\n「他幫你們整理還這樣？」\n還吵著要把我踢出去，二年級時也有這樣過，但我把那個刪了。\n「好啦其實是這樣。」洪志瑋加了上去：\n545+5+5=550\n「而且還有2種答案！」\n5+545=550\n「切！—— —— ！」班級嘩然。\n「你又沒說數字，草！」YYJ雖然換座位後在最後一排，但不幸的是被聽到了。\n洪志瑋企洶洶、瞪大眼走去，還丟粉筆。\n「站著啦！」威迫要道歉。\n「老師對不起。」有點小聲。\n「再一次！」\n後來回到講台上。\n「坐下啦！」\n「謝謝老師。」他也被何子堅罵過，因此應該是知錯了。\n「白目（台語）」他碎念。一個老師也得做好讓情緒立即調整好的功課才是。\n「明天我要來備課。」XJR和許博斐都這樣說。寒輔是選擇性的，當然，有那麼點期待能跟週末班「一樣爽」！\n張銘哲三番二次告訴我，作文寫得太文言。嘛，作文我不知為何現在都會寫得很隱晦，加入中二用語更顯俗套（不行！那叫帥！）\n「義大利建國三傑 —— 馬志尼，就如靈魂、加富爾如同腦袋，那加里波底？」陳威廷問。\n「身體！」很有妳風格，XYL。\n「拿在手上的\u0026hellip;\u0026hellip;」他姿勢比了。\n「勝利寶劍？」我說，但大小聲。\n「勝利寶劍！？」YYZ笑著，感謝擴音。\n「對！代表武力！」\n2015年1月28日\n「ㄍㄜˇㄍㄜˇ的，不是弟弟的，更不是姐姐的。」LJ故意在講一次電池怎麼說。\n「有人說你很可愛。」CYZ和CZJ看著我，因為我把頭趴在桌上。\n「Thank you!!」握回。\n當然是ZMY在那笑。\n她可愛會裝出很ㄋㄞ的聲音，但都不是對我。\n2015年1月31日\nLJ上次理化課預告，是真的。\n一開始是FWX，再來視線移到ZMY身上。\n「我覺得她會殺了我。」只是講個鋅銅電池的反應而已。\n一度沉默後。\n「喔，她想要Ivon（二字姓名）上台！」咦？\n「等下換她！」LJ損。\n演講效果只是\u0026hellip;有點快，一直卡在銅與銅離子會附著到銅柱上。\n始作俑者自然是在那笑。\n「他講的我都聽不懂耶\u0026hellip;」ZYF說。\n呵！我可是上節課面帶笑容的學會的！\n2015年2月2日\n寒輔的課一樣是那麼bored。\nCXJ的身材還是那麼曼妙～。\n2015年2月7日\n「他又在看A片。」ZMY笑說。\n「很激烈喔 —— ！」CYZ湊了過來。\n我只是在測試新作Minecraft插件 Mutant Creature Item JS。\n「對啦！對啦！」我說。\n「哈哈 —— —— ！」笑翻了。\n「她真的是你們班的嗎？」這次是WYX問，上次我回WLZ是說我們班壓力很大。\n2015年2月17日\n有篇關於Cancer的分析：「看著情人在面前與其他人男人傳簡訊、講電話，就會氣炸。」媽媽雖然不是我的情人，但看她不把重心放在爸爸那，情人節又\u0026hellip;\u0026hellip;。即使這有自私、杞人憂天，但我就是有難以忍受的苦忠！\n2015年2月25日\n「容易受精」 —— —— LJY。\n一早，ZZH在我面前現出一隻假蟑螂 —— —— 10塊地攤貨，我會被嚇到嗎 —— ——\n「啊～～！」喂，LJY。\nTXW後來把它黏在牆上，再叫LJY轉頭，起碼沒有叫那麼長了。\n2015年2月26日\n「ㄟ，你有沒有割包皮？」我是如實以報，沒有，ZMY她弟正煩惱這問題。\n「哎噁 —— 難怪這麼娘！」笑著問更欠揍。\n「會髒的喔！」CXJ陪ZMY在下午又問了HSH和BXZ。\n2015年3月5日\n我的內衣太長還被ZZH啦，又受到MQY一直唸：「穿好啦！」我可是有事要忙，她還一直嗆，我就轉身：\n「我知道啦，妳當我是聾子喔！」這種情況我多失神，但不是大叫。\n繼續忙。\n「好兇喔！」「終於反擊了！」「他昨天沒尻到所以氣炸了！」此起彼落。\n「我就當你是呀！」她又唸了幾句。\n2015年3月7日\n上午週末班玩手機被老師抓到，下午失意到了7-11，啊Fuck！（用GIJOE滑雪跌倒的口氣）我的耳機呢！？還放在綠外套喔\u0026hellip;\u0026hellip;。\n我知道，假面騎士和ZMY一定會來，她又坐我前面，原因是沒有座位？！\n這算是一種療傷吧！\n好可愛。\n想拍下她、在Facebook上標記她！\n「我標你跟我在一起妳會不會殺了我？」我試探一下。\n「什麼啦！」她奪走我的手機。\n「我沒有裝FB。」我有瀏覽器版。\n「你還說要標我！」她打開了LINE。\n「哎噁\u0026hellip;BXZ。」\n「幹嘛，你要給我妳的Line？」\n「我沒有Line。」她都一直在看FB。\n「去死啦！」我話好像太多了。\n2015年3月10日\n不斷答對暱稱為HTC歷史老師的燈謎\u0026hellip;被MQW說愛吃巧克力，我答對不及JWY和XYL耶！為什麼只罵我！？\n2015年3月10日\n不斷答對暱稱為HTC歷史老師的燈謎\u0026hellip;被MQW說愛吃巧克力，我答對不及JWY和XYL耶！為什麼只罵我！？\n沒想到他們居然分了 # 2015年3月12日\n從昨天HCY的話：「妳跟他分了有沒有捨不得？」是在對ZMY。\n「有啊。」\n是她跟LTY分了！？我要為她悲傷還是為我自己高興？\n「所以說穿登山鞋就不會骨折？」綜合有一課是野外危急應變措施，不幸的，我跟他們也寫這個。\n「就跟HSH穿籃球鞋就會打籃球是一樣道理！」忘了誰說的。\n另外，HSH很迷戀名牌Jordan鞋，每次看到我穿沒牌的就會踩我幾腳說是破鞋。\n2015年3月17日\n什麼控都有\u0026hellip;我就是「Bra控」！\n什麼bra都愛，唯獨運動型沒什麼魅力（如果不是白色可以考慮一下）\n但偏偏ZMY愛穿那種\u0026hellip;至少她很可愛！\n2015年3月19日\n第8節。\n「老師，我想玩玩下面那個。」MQW是指人造鋒面的實驗。\n「\u0026hellip;不要隨便玩什麼下面哪個。」許博斐邊寫黑板。「玩出興趣來就不好了。」\n「我是說下面那個圖啦！」怎麼說，還是有點H。\n「還吃！」許博斐對MQW說。\n「我剛轉過去看他（指ZYQ）好吃，我看妳妳也在吃啦！」\nXJR絕對是很S，不定期帶別班來「表演」，警告ZYQ「不寫罰寫就去別班！」對我說「再遲到也去！」而且是笑著說\u0026hellip;\u0026hellip;。\n2015年3月23日\nCancer恐怕最在乎是家庭，不過呀，如果以現在來看，家人相處不和睦，世界又與我的正直不斷衝撞，我不想去找輔導老師。\n死了，唉，屁用，想死的多半是看別人才那樣做吧。\n如果受不了人情冷暖，就閉戶吧。\n可，我是有孔子般的熱情去改變這世界，就算是被孤立也好。\n有人說我想太多，這時青少年常說：「你不懂我。」嗯，我不願做機器人，想自在發揮中二力。（《我想成為雙馬尾》的設定？）\n要怎樣才能放下呢，FB沒人鳥我個人的貼文（非得標人）、Youtube頻道收看率被同業超越，我要如何看開？\n還有，我快無聊死了，只能在旁羨慕現充。\n內心一直很掙扎要不要跟ZMY清楚劃分關係，她是把我做為丑角看待吧，太好了，可這又是放不下的一件事，不然，將她作炮友，只拿來性幻想？不然我會更無聊。\n自認朋友很少，但有人說要知足或用心體會。也許輕小說的話不可信。\n《我的朋友很少》：「如果能交到一個知心好友，就比100個來的珍貴。」\n再者，根據胼胝體研究，我八成是右腦發達，因此偏向憂鬱。\n現在的痛苦也許很快就會忘懷，我不得不像人一樣這樣矛盾的活著。\n2015年3月30日\n讓ZMY丟我的東西可以，但我不喜歡有太多人介入，因此本來就抗拒的我不發火，就潰堤大哭了。\n藉口是ZZH說要還我卻丟到我的頭，想對HSH動粗出手到一半又停手，出盡洋相，假裝去找老師，卻又被全班嘲弄。\n老天！我有委屈等時要找誰傾訴！？因為淚水會讓我的聲音顫抖，真要慢慢消化到內傷嗎？\n2015年4月3日\n馬的，ZMY跟人要好我就一天到晚說要「斷交」但她對我示好我又打消念頭！\n大概從國一以來就有察覺，我的口頭禪每幾個禮拜就會換一次，而且不知道為什麼我不太想紀錄（是有想過）\n2015年4月18日\nZMY坐我對面，總說：「因為沒有位子。」\n週末班上完課去7-11吃午餐已然成為我慣例，理由是有Wifi和有機會看到她倆姐弟。因此我一直把這當作我們的「約會」或許有點太過一廂情願。\n2015年4月23日\n身邊人擔心我前途，不該說我不怕，現在講沒用，班上同學、學校處室還這樣的攻擊我！說要考特招了還出國跟著去中國員工旅遊！\n霸凌是一個客觀描述的現象嗎？不是應該跟噪音一樣很主觀嗎？\n馬的，我現在是在寫《幽夢影》嗎？\n好難以下決心不去在意她，一想她對我好一下，就很難放棄她！！\n好久沒觀察bra了，ZNC穿的是水藍色的，很符合她巨tit的。MQW和CXJ有美腿，個性又倔又傲嬌，fuck起來應該是叫最大聲的！\n拜託，會考前還辦園遊會耶 # 拜託，父親節耶。\n2015年4月26日\n上星期五是一年一度的園遊會呢，原本學校已經不給3年級參加，但考量到我們2年級已經繳了80元，最後一次給予機會參與。\n但，轉學來的ZZH沒有，XJR說。\n「如果舉手表決要不要給他，好像也有點撕破臉的感覺。」甚至跑去問學務處，結果是作班費。\n來到排球場，先逛幾圈，果然跟LJ後來提到的一樣，都是食物和飲料！因此我只好去看表演。\n第一齣是二年級美術班的反毒布袋戲，但演不到一半人就走了一半，雖然會冒煙、背景音樂還有打擊特效，反正劇情就是，一個人吃毒，就自己倒下了。\n中間有穿插4個主持人，2個穿紅紗、2個穿和服。紅的會比較諂媚，但也是主持人。\n接下來是慣例，歌唱組什麼的，不過算是一點補償吧？吉他社的ZZH有上去表演；LQL是歌唱組第2名，與另外一個女生自彈自唱Maroon 5的Payphone。\nLTY在學期初舞蹈社學羅百吉的歌時，曾說「這不是我們的style。」因為拒跳還惹得老師發火逼他們站起來。原來他身邊的人和他在場上韓系舞蹈跳得那麼好和自然。\n喔，還有校長童文志第二次獻聲，不知為什麼他背後背著一隻氣球的蝴蝶，他唱的是「缺口」，還算可以吧\u0026hellip;\n可是今年，學務組長也要上來唱，是「第一次」雖然我馬上跑去再逛一圈，但是聲音聽來比童文志更適合唱歌。（話說他後面也背著巨大蝴蝶氣球裝）\n整個園遊會我只花了40元 —— ——15塊打彈珠，以為能中30分換錢，結果是換到一堆糖果；24 —— 雪碧 ＋ 冰淇淋，嗯？她們問2次是表示梅子沒了嗎？\n吉他社有一位Cosplay的，想也知道是她，不過今天的噱頭只有走的只有女僕裝我知道，其它是啥。\n中間主持人有換，換了個小女生\u0026hellip;更無法贏得大家喝采，紅高衣服的「high一點！」就還是要大家拍手、尖叫，但她們卻自己叫。\n好啦，美術班的攤子照樣是辦遊戲。\n在那之後，什麼都沒發生的直到畢業 # 2015年5月7日\n昨天HSH又把我架住，叫ZMY來，啊久違了二個星期\u0026hellip;居然點了我的nipple！那麼準！我也要點回去！\n2015年5月13日\n「不要給Ivon啦！」許博斐今天把段考考95分以上的雞排送一送，JYW考94分算是被可憐吧。\n考了一張複習，牛頓運動定理，BXZ猜到45，因為及格都有，拿到雞排了，跟40分的比一比，原本他有點不想拿。\n「42.5分的？」我有點不好意思。\n結果，就造成MQW她們在那叫。\n「不要給他晚餐啦！」\n後來。\n「是他害你沒拿到的！恨他！」JYW指著HSH，不過我不恨。\n掃地時間他說應該是XZL那票人拿的。\n話說回來，許博斐說會考自然科A就有雞排\u0026hellip;\u0026hellip;。\n2015年5月22日\n昨天。最近都有球賽，我們班都會儘量去看，下午我坐在司令台上的階梯椅子。\n這時HSY穿著制服裙子在後面問JYZ問題，站著。\n我想看看在問什麼，但是我卻直接把頭向後仰。\n「你在看哪啊！」啊，我的本性這時候不小心冒出來了。可惡太黑了，啥都看不見。\n幸好這事只有HSH發現。\n5月會考後，作為第二屆會考生，因為會考的加分分數比其他人低，後知後覺，之前都沒照班導說的去拿分數，會考分數再好也可能沒高中讀，導致我要拼英文＋數學的特招（雖然根本考不上），又不去參加特招衝刺班。所以別人在班上玩，我被迫接受老師的懲罰，每天有幾節課時間待在導師辦公室外面讀書。然而我讀的還是課外書、小說，班導也沒特別管。\n2015年6月，離開ZS補習班的同時，LJ也離職了。\n2015年6月，自永康國中畢業的最後一天，最後一次聽XJR講話，原班就地解散。然而，我沒能跟ZMY正式地說到再見，畢業紀念冊好像沒要到簽名，只剩下FB和IG可以默默追蹤。從此沒再聯絡，就這樣升上港明高中。\n近年來，HSH偶爾會利用FB的動態回顧功能，放我在畢旅跳的鬼步影片給一些舊識笑一下。\n結尾 # 現在我回顧完整個事件，不禁感到胸口鬱悶，愴然涕下，因為國中時候的經歷相比後面時光實在太美好了。\n呼應文首提到的五月天影片下面的留言：\n@OceanRadio_：「這首歌真是我國中時的代表回憶，曾經也有一群這樣的好朋友陪我做過許多瘋狂的事情，阿信最後說的以為愛上的是17歲的她，其實是愛上17歲的我自己，真的說到靈魂深處啊。以為自己留戀那段記憶，那段記憶的代表人物，其實最捨不得的就是那個青春時期做過許多瘋狂事情的我自己。」\n現在也不可能回到從前了，即使這些同學大多還沒掛掉，可如果說一切要重來，就得完全靠著緣份，重新認識彼此的關係。\n為此，讓回憶繼續保持永恆的樣子吧。看向未來，才能改變未來。\n","date":"2015年5月22日","externalUrl":null,"permalink":"/posts/2014-2015-me-and-her-diary-2/","section":"Personals","summary":"初稿：2014年。修訂整理時間：2023年8月20日。\n上集：2014年～2015年，我與她的絕對領域（上）\n傳奇仍在繼續，不過最後就是無聲無息的結束了。\n本集的內容可以用五月天的歌〈而我知道〉來總結，國中時就聽過了，這個MV很明顯就是當初的我嘛。\n還有國中時就聽過的葉歡〈放我的真心在你的手心〉，表望向未來之意。 多年後想想，為什麼我當時要為了一個喜愛韓星的低配版高木同學髮型的女孩那麼癡迷呢？\n在那之後，偶有激情 # 「你很傷心對吧？」週末班放課回教室放講義，不知怎的LSJ和JYW卻也來。\n「沒有。」語氣大概就像鍾理和先生在《草坡上》裡回答他妻子要寫還是不寫的「啊。」\n","title":"2014年～2015年國中時，我與她的絕對領域（下）","type":"personal"},{"content":"初稿：2014年。修訂整理時間：2023年8月20日。\n很多事情，美好的開始，到最後常常是不怎麼美好的結束。\n這是根據出土文獻日記所製作而成的紀傳體，作為國中生活片段的回顧。文章標題取自同名日本輕小說。分為上下兩集。\n為保留原始風格和避免冗詞贅句，只抽出「我（Ivon）」與「她」互動過的日期所寫的紀錄，並偶爾帶出身邊重要的人事物，將其數位化。地點主要是國中周遭。為保持隱私，文中的人名除了老師以外全部以漢語拼音代號取代。\n現在看來，當時的日記紀載內容金變態。\n本集的內容可以用張學友的歌〈想的都是她〉來總結，反映當時我的心情，正好10年前我也是常聽這首歌。 回憶的過程畢竟有懷舊的意念出現，所以娃娃的歌曲〈為何夢見他〉能反映此情緒。 曖昧的一年 # 地點是永康國中，最早是2013年就開始與ZMY接觸了，但細節已經忘記，缺乏信史（日記）紀載，因信史是從2014年才開始有的。我只記得2013年大約5月的時候，第一次被ZMY大幅度捉弄，丟鉛筆盒，從教室追到教室外面。\n關於她的個性我當時沒有多著墨，只知道我文科在男生中極好，她則是理科很好。\n2014年5月14日\n我在下課轉頭問CXJ：「欸，CUP多少為一個單位就要進位？」\n因為最近幾個月以來班上一直瘋傳她是32C。\n「你，你怎麼可以問女生這種問題啊！#@#@##！」笑又angry回答，後面我忘記她罵什麼了。\n「sorry啦！」\n旁邊的JYW跟著笑了。\n數學課老是提到矛盾(窮舉)證法，用來說明delta的side關係。意即提出假設，由反面去推，雖然課本少用。順帶一提，剛開始二上逐漸提到證明題時，YJY總會悄悄說出「ZMY」\u0026hellip;直到現在，每當聽到這個詞時，還是會稍微看一下Z姐。\n2014年5月16日\n理化課老許提到聚合物，說它是物以類聚，並問誰知道這句話的English，全班一片沈寂中，MQW說「我知道我後面的表面很強」\n該死，我沒有學到這一句呀。只好擺出國文課的架勢「不會」瀟灑。\n「真的有夠囂張\u0026hellip;\u0026hellip;」MSR說。\n「所以說是All birds same color\u0026hellip;同樣的鳥聚在同一棵樹上」老許稍微解釋了一下。\nYJY說：「以前聯絡簿上好像有抄過這一句\u0026hellip;」\n我後來找到了，102年3月5日 (Y年J班)\n「Birds of feather flock together.」「相同羽毛的鳥類會聚在一起」\n2014年6月22日\n「第一個喜歡CXJ的是BXZ，再來是Ivon，被她的胸部所吸引。」YYJ在旁邊說道。\n「還有HSH」我補充。\n「哪有！」當事人超激動的轉頭說。\n「你被我拒絕了！」CXJ一向笑著如此說。\n是的，當事人是有對她告白過的，大約是剛升上二上時。\n「我愛妳！」微笑著。\n儘管他一再撇清是在跟我說話。\n「他跟我告白耶！」她跟LQL好像是笑著分享。\n再回過頭來說，其實我真的有點被她引的成份在\u0026hellip;\u0026hellip;。\n有花紋的大致上比其他運動（座號19號）或座號30號的更好啊\u0026hellip;除非是胸大（28號）也不錯！她也算其中之一（消音————）\n2014年6月24日\n「天文學家！加油喔！」LSJ笑著對我說。\n「不，那是因為沒其他選項\u0026hellip;\u0026hellip;」\n「他活在自己的世界」MQW還告訴CYW，因為我上課回答了一樣的答案，我絕不是聾子，中傷的話我全聽得一清二楚。\n2014年6月28日\n昨天得知月考成績，國85，數學78，理化85，英聽22。國文看起來很簡單，因為連ZYH都考85，LXY考85，能被張銘哲請飲料的是23、22、17。\n張銘哲對我說「終於沒有機會請你了」接著XYL很是開心的歡呼。\n2014年7月5日\n走回座位時ZMY的手肘碰到了我的腿的二分之一。我頭也不回，她好似困惑，不會以為碰到下襠了吧！？\n2014年7月10日\n昨天。\n「訊息的英文是什麼呀？」CZJ用平板時說。\n「M-E-S-S-A-G-E啊！」我回得迅速。\nZMY和FWX轉過身來。\n「我嚇到了\u0026hellip;深藏不露嗎」FWX老是如此。\n「他系在就在寫英文！」CZJ指著我正在翻譯的「Like Sir」。\n2014年9月2日\n換座位本想脫離靠走廊的窗邊，因為午休會搆到手\u0026hellip;\u0026hellip;。確認新座位，我發笑。終於！打從一下以來就分別的 ———— 終於再逢！！\n一節課試探ZMY後，才終於恢復平常。\n「妳好可憐喔」大多數人都會這麼說吧，因為LXY音樂課總是坐我旁邊，比起HSH旁邊的MQW ————\n2014年9月10日\n「自由落體 ———— 哈哈哈哈」ZMY對著我，應該說我後面的BXZ比這動作又笑。\n不在乎她是否care我，因為連我自言自語都無效。\n方莘《開著門的電話亭》：就連一枚小小的企望，都無法投入。\n雖然我不太懂箇中含義。\n當XJR罵我忘記排暑期輔導說好的考試時，我差點脫口而出：「我都在忙著對付妳呀！」\n（國三需要整理以前的課本用來上複習，我生不出來所以被班導追殺一整個暑假）\n2014年9月22日\n最近我沒再明顯向ZMY示愛，當然如同自閉兒一樣想引起她注意。她真是個不夠格的風紀呀，明明坐在旁邊，我上課頻頻點頭、閉眼，她仍然索然無趣的盯著課本，或注意YYJ。\n2014年9月23日\n何子堅比喻喜歡以百分比，例如「十題有九題需要背公式！」\n原來ZMY不是飛機場啊！現在應該是A+\nCXJ穿的胸罩都很成人呢（有花紋，不是色情）真是讓人饒富興趣。至少我目前看到只有她穿那種。\n「借我一下」MQW把我正在畫的書籤給藝美老師。\n「很不錯，很有風格」\n「才不是欺負。」是誰為我發聲了呀，MQW反駁。\n結果，儘管我幾那是把課本圖片拿來合成，她居然還是把黑白配色（班上唯一）的我的作品送去交件。\n2014年9月25日\n昨天在ZS有看到便裝的LJY，風格跟去年綜合老師把她和ZJN湊成一對新郎、新娘類似。嗯，賢妻，只是也滿純的。\n哇啊，昨天CXJ的胸罩是黑色的！今天LSJ也一如往常，她偶爾才穿有肩帶的。ZMY嗎，至少目前為止沒看過。可能是因為CXJ，我成了一點胸罩控。\n2014年10月2日\n真可愛的老鼠呀，XJR說要用老鼠藥治理班上的老鼠，MQW支持。二是黏鼠板，但聽說她們家居然能硬是脫離。之前在提議的時候，還有人說老鼠屋！三者是都可以，但大家都不想聞誘餌的味道。\n最後直接大掃蕩，「咻！」牠果然很可愛，卻又快速從第5排座位下穿過，CXJ還嚇得跳起來。\n在後面的縫隙把牠裝水桶，「不要拿過來 ————！」只是想問她要丟哪裡。\n好像是丟水溝，下節國文課，跑到8班去，早有人察覺，我班放聲大笑，而XJR從裡走出。\n從一年級開始的文化：性慾and幻想。每當XYL問起我是否會性幻想總說No，其實是有的。必要時還會拿全班一個一個輪流尻。\n2014年10月9日\n昨各位齊聲要我跳鬼步，HSH去年教的自己卻忘了！可我都記得，一直有人把人我拉上去，所幸老師來了。回到教室，又是起鬨。\n「再不跳就叫你去司令台上跳喔！」YJY說。\n勉為其難的在後台露2手後，即使低頭也知道CXJ和ZMY在大笑。\n倒整部一定會化身，也能一窺的「絕對領域！」\nZMY沒啥，因為跟LSJ一樣是運動胸罩，CXJ、ZNC的貼緊制服都很明顯了。\n2014年10月13日\n「又在碎唸」「我不知道耶」ZMY在ZS對CWZ說，老實說我是在做樣子，緊張時嘴會一閉一合，後來就變成想MCPE除草機地圖紅石JS要怎麼擺。\n「他的畫我還鎖在保險箱，等他成名後要拿去賣！」弟弟轉告陳月娟老師的話，雖說她對我現狀有些微詞，但我還是尊崇孔子的！\n我不是完美超人，但也需要發洩！\nZMY反映在她下課瘋狂笑的特色上，時刻把自己逼得很緊，也可能變得像《夕日的祕密》一樣，暗地裡超H。\n2014年10月15日\n「\u0026hellip;我要減肥」LJ說過期食品吃了正好拉肚子減肥。\n「拉肚子減不了肥」我伸了個懶腰。\nZMY和FWX突然轉身。\n「你為什麼要吐槽呢？」二人都帶著笑容。\n月考完了，雖放鬆了，但要換位置了，還是能跟ZMY保持關係！\nCXJ穿的胸罩果然是很成熟呢，因為「蕾絲」！因為LJY也有穿清純的肩帶（沒那麼多花紋）又長腿，同為美少女！\n2014年10月18日\n昨天 —— BXJ和HSH讓我被ZMY踢。\n「哈哈 ———— ！」又是那招牌笑聲。\n她想把我的便當袋掃到地上，我接住了。\n「欸！」\nS屬性，但\u0026hellip;\u0026hellip;跟LSJ一樣被喻為瘋子。WCH是稱其瘋狗(台語)。\n記得去年也是搶我鉛筆盒子，那也是我第一次跟她互動。可惡，為何這樣會讓我更喜歡她！明明LIFE測驗剛說我SM皆可啊！\nLSJ似乎是班上唯一不排斥跟我肢體接觸的女生，之前綜合課還握著手教我如何綁幸運手鍊。（即使那麼成聘也沒很好，是做不完整）\n話說之前ZMY瘋笑時被CYW推來撞我，雖然她好像沒啥感覺，但感受是：正面多好（X）跟男生差不多（沒有肩帶）（XX）\n喔，LJY偶爾也穿CXJ那款的胸衣呀，之前看到的還滿狂野，看起來是紫色＋毛，如果真如她願成為貴婦，那這些也是絕配！\n2014年10月19日\n今天在新光三越路上一直被長頭髮女生吸引，我好像真的太喜歡ZMY了。\n2014年10月20日\n今天放學後又讓ZMY攆我便當袋4次（都沒能阻止）\nHSH說屁孩配備：穿長外套、短褲、長書包、鴨舌帽戴反（舌在後）、眼鏡上下戴反，再前後跳鬼步（我擅長Running man），再唱小賈斯汀的Baby～！\u0026hellip;\u0026hellip;每次都把我的影片轉給ZMY看\u0026hellip;看！\n最近他在傳授我飄移和點點舞步（ZZH擅長）。\n2014年10月21日\n「憑你的良心，複習講義是自己寫的坐下！」XJR問，少數人坐下，ZMY果然是抄人的！因為她一天到晚跟HSH借英文麻辣講義。\n我沒有抄，我沒有答案呀！至少英文閱讀的題目還蠻有趣的。\n「喂？」ZMY叫。\n「嗯？」我答。\n「哈哈哈\u0026hellip;\u0026hellip;」她又帶著招牌笑容跑開了。\n假的二人世界 # 2014年10月24日\nLJY的胸罩超明顯！即使不是體育課也很突出，但實際胸不如看來豐滿（趁彎腰時看到）\n只是在理化課剛開始時，ZMY一直盯著我笑，一時緊張翻頁沒注意立可白和眼鏡（所幸不是0.38筆！）直接飛到她身旁地上。\n「哈哈（X？）\u0026hellip;！」\n「妳可以不用表現得那麼明顯\u0026hellip;\u0026hellip;」XYL說。\n「欸，你不尬意我喔？」\n「哈？」我轉身，ZMY又笑了，並重複了一次。\n因為教室「剛好」只有我倆，當YYJ等人回來時\n「快！快出去！這裡有2人世界！」別那麼愛湊合啦！\n「哪有 ———— ！」她也是怒吼。\n而我就帶著笑容去開窗戶（背對）。\n後來我就走到教室外，WYX等人靠在窗戶旁邊看。\n「在看什麼！」笑著明知故問。\n「喔！太可惜了你要進去才對！」\n上課後我發現，牙刷又被ZMY踢飛了。\nYYJ：「你太可惜了，怎沒有霸王硬上弓？」\n雖然這是我的願望（X），但在大庭廣眾之下！？\n所幸今天換位置，ZMY往前一格而已，BXZ換到斜後方（沒能脫離），又坐在ZYQ後面！！感情不復以往了呀！\n2014年10月28日\n有YYJ在附近的日子又不得安寧。\n他一直想湊合我跟ZMY，只要盯著黑板他就會轉過來看，連她也是。我一直以來都受不了他的視線，那我看旁邊的總可以吧。但，HSH（遠在第一排\u0026hellip;\u0026hellip;）卻戴屁孩帽揮手\u0026hellip;\u0026hellip;看窗外，不，會被風紀登記下來。\n下課ZYQ丟紙球，反正又被丟。\n「哈哈\u0026hellip;\u0026hellip;」S女王又來了。\n又到了唸《座右銘》的時候，但YYJ和ZZH一直干擾，我覺得如同JYZ般傻笑，最後用課本遮臉。\n「你是帥哥還承認\u0026hellip;\u0026hellip;」XYL道，是誰說的？\n等了許久張銘哲人咧？\n「你的哲哥呢？」\n「你老爸，不，哥哥吧！」很清楚，是MQW。\n最後我發現 —— ——\n在導三辦公室靠著椅背睡著了，我，完了，我也會。\n「LJY，歷史上很會賺錢的人，有沒有印象？」張銘哲問。\n「你們上春秋戰國應該有提到，就是幫助句踐復國的。」\n「范蠡還文種？」我發出中聲的音量。\n「問Ivon啦！他知道！」ZYF指向我。\n我又重述。\n「很好。」\nG.I.JOE健康捐，卡打車～卡打車～ # 2014年10月29日\n「她有明星臉。」許博斐笑著說。\n「像潤娥對吧？」YJY說。\n「是潤炳（誰？）」\n「哪有 —— 」ZMY害羞。\n「Ivon真是幸福」YYJ轉身說。\n「捉弄他很好玩啊！」ZMY把S屬性全發揮在我身上。\n近期追加：手持牙刷、牙膏，成為「刷牙哥哥」（HSH這樣稱呼）我認為「刷牙教父」比較帥。\n想挑戰長久以來因為BXZ而被禁跳的騎馬舞，但我坐著嘗試PSY在電車裡的那個揮手橋段，被CXJ和ZMY笑。\n「他還這樣子耶！」ZYF重做。\n我假裝鎮定，轉頭聊天。\n上課前幾秒HSH又叫我跳鬼步，跳了一兩步。\n「哈哈哈\u0026hellip;\u0026hellip;！」\n2014年10月30日\n下課後例行公事，ZHM又在笑\n「叫他跳舞！」我被迫就範。\n「哈哈哈哈\u0026hellip;！」\n另外HSH也有看拉阿布的健康捐：「卡打車\u0026hellip;喔呵喔呵（喘氣聲音）」我和她在笑。\n是錯覺嗎，每次走近ZMY都感覺她會看我一眼。\n趁LJY看考試板看！豹紋胸衣！。真的想當貴婦！另外ZYF都穿肩帶或黑色性感。\nLJY連「蟲」都懶得寫\n「為何不寫？」有人問。\n「筆劃太多了！」\n「那妳就不要寫『鳥』呀！」我道。\n「什麼啦！」她看向這邊。\n「他說就別寫什麼的。」ZYF笑著回答。\n「你有意見是不是啦！」講台上的CYW吼。\nZMY當然是轉頭在笑。\n「妳要把鳥寫成bird！」YJY附和。\n後來我算了一下。\n「啊\u0026hellip;鳥好像比蟲少2劃\u0026hellip;\u0026hellip;」\n「齁，你是很愛murmur是不是」不用轉頭就知道是ZYF。\n2014年11月3日\n原來多數優秀人才也成眼鏡娘了啊（不 —— ！），只是她們不想戴，但若像CXJ在一下戴隱形眼鏡又被XJR抓到可是會完蛋。\n「拜託別再加強他的S屬性了。」我對HSH說，因為他老是拿我的東西給ZMY丟。\n「TXW，快點」TXW在我身後備妥相機，我立馬脫下帽子。\n「已經有1個人幹了還要有第2個！？」\n「還留著嗎？」HSH問她。\n「嗯，我弟想看。」\n直到現在，她看我是把我當小丑，而我究竟何時才能正視她呢？\n跟ZYQ互毆後，換來是2記背部重錘，肇因是HSH和BXZ騙我告訴老師我趁女生低下看胸衣，害我又在全班面前哭。\n「他發火的樣子我沒看到\u0026hellip;\u0026hellip;」ZMY略感失落（嘲笑感）\n我在下節課扳起臉，站上台帶頭唸慣例的《座右銘》。\n「別哭，你還有ZMY。」別再透露我倆，XYL。\n「她也只會笑\u0026hellip;\u0026hellip;」YJY說的切實。\n所幸後來班導回來盤查，才得以唸完。\n2014年11月5日\nLSJ想陷害其他同學做高難度動作，但仍被ZYL的鬼步（飄移）、點點擊敗。\n不過LSJ的胸衣又看到了！雖然跟ZMY一樣是運動胸罩。\n測1600M，在最後一圈跟著ZZH一起加速，超越了他和許多人，結果還是第8名，8分鐘多（2年級還10分！）幸好不用再測了，不然要再進步真的是強人所難。話說，YYZ在2年級就7分鐘了！\n跑完後男生和一些女生都去打排球，我和TSW坐在旁，我原想等他自己加入再跟，後來我起身。\n「陪我。」你有那麼累嗎\u0026hellip;\u0026hellip;。\n「TSW，你不去嗎？你們倆坐在那像老人一樣」YSY叫。\n「你是在路邊喝酒\u0026hellip;\u0026hellip;」女生群那開始嘈雜了起來。\n———— 不是啥特別的事，是在議論我，片段：\n「他電腦很強！」\n「他還玩什麼創世神！」這是LXY。\n「我覺得那個很無聊，只是在那邊一直蓋房子打怪！」\n「他上課還會碎唸，ZMY每次看到都會笑！」\n看她們都笑笑的，以為離我很遠又大聲喧嘩。\n2014年11月6日\n許博斐的課，ZZH講到相關話題說：「LSJ」（可能）\n「別再告白了！」他用氣勢壓倒ZZH。\n「LSJ很搶手喔，JYZ、TSW也要。」有人說。\n「有沒有人想要告白的？」\n「「JYZ！！！」」全班矛頭指向他，他站了起來，走過去又走回來，很是拖延，當然有受到譴責。\nYYJ也有稍微捏到我，我還沒那麼早跟ZMY告白呢！\nZMY的媽媽常常請班上吃東西，還送披薩，看來她是富家千金（低調）。\n2014年11月12日\n「創世魔」WYX在看CYZ玩MCPE時說的。\nZMY果然是太妹。\n2014年11月15日\nZMY她弟他們2個在7-11硬逼我跳鬼步！果然2個都有奇怪的笑點\u0026hellip;。\n「欸他都亂玩創世神，去問一下！」\n「他手機有A片！」\n「那樣子啦！要看不？」我嘗試反擊。\n「好色喔 —— —— 」她們倆從頭到尾都在笑。\nZMY付了2點補習班點數得以去廁所。\n「快要休息了\u0026hellip;」儘管CZJ提醒。\n最後是我們等她回來。\n「我們要下課了。」\n「她一副搞不清楚怎麼回事的樣子，如果我說要下課她會生氣？」LJ看著說。\n「她沒有反應耶！」（笑）\n2014年11月20日\n因為跟ZMY瞎談有在看A片，她每次看到人就會談起此事。昨天拍了她前面的肩膀呢，呵呵！\n「Ivon，我要去上廁所」這應該是要我對妳說吧！\n「他在笑什麼呀！」明明CXJ自己也在笑。\nXJR今天宣佈戒嚴，拿月考和連3天被3個老師記為兩天不能下課（All class）\n「妳真的不趕課？」我笑著心裡想道。又寫一題跟上題答案一樣，順序也沒變，即使是分辨if作「是否」或「如果」也不太有意義，但暑假後就只好認命乖乖抄筆記。\n是神速嗎，還是沒講廢話，10分鐘上完整章？因為下週就要段考了嘛！\n她居然不知道力克胡哲是澳洲人！\n「她應該不是美國人，印象中沒有這種姓。」XJR說。\n2014年11月21日\n最近ZMY打我又來扁「打到就跟擊出排球一樣！」\n「老師你的國文小老師一直在講話很吵耶！」剛下課，MQW說。\n張銘哲似乎有說些什麼\u0026hellip;\n「唉呦？」我予以回應，但又馬上轉頭。全班一陣嘩然。\n「你知道他為什麼會說『唉呦』嗎？因為他喜歡周杰倫！」XYL妳不是早就知道了嗎！\n2014年11月22日\n中午因為跟媽媽說中餐自行於永康國中對面的7-11解決，多少也抱期待的意味，因為ZMY和她弟一定會來。\n———— 結果只是想看GI JOE就被她們倆左右包圍，有一點約會大作戰裡面八舞包圍士道的味道！？\n「我想看鬼步，」她弟說，於是我如他願跳（怎可能在店內跳）\n他們倆時來又時回去，連我倒便當也在笑！雖然是我一直搞砸\u0026hellip;\u0026hellip;.。\n「放這個給你吃」弟拿著健達繽紛樂 —— —— 的八分之一。\n「謝了，很久沒吃了。」他立馬衝回去回報。\n好像我回答的話都得經由她弟傳達。\n在補習班我去一下廁所，但要伸手開門時，又退回去。早預料到，但錯過撞見ZMY的機會。\n2014年11月24日\n「唉呦Ivon，你跟ZMY一起來的嗎？」只是剛好，XYL在7-11看到，但我可是站著！原來A班是調到6:00 ~ 8:00 （by LJ說的）。\n「當然不是。」\n2014年11月29日\n昨天放學，ZMY又拿瓶子來丟了，跟她搶時\u0026hellip;腕力好強！\n「對女生動粗！記大過！」我記得校規沒有這一條呀！HSH！\n2014年12月1日\n「嘿，Ivon」（叫我的二個名字）ZMY她弟今天在校門口一起走進來！雖然她一直低頭笑著。今天就遇到了3次\u0026hellip;。\n「唉～～」YYJ很喜歡在上音樂課吹直笛時搞怪讓我吹不下去，唉，她當然也轉頭看，真是個不稱職的風紀。\n終究還是被發好人卡 # 2014年12月5日\n「你想摸他的胸喔？」CXJ，我還沒報妳拉我背包3次的仇呢！結果我只是看ZMY張牙舞爪。\n畢旅回程車上，「哇、哈、哈」\n「哈哈哈！」\nCXJ和ZMY要我學寶寶叫\u0026hellip;還有2次。\n她們最近真要好，畢旅時車上黏在一起，只差沒有同房。\nHSH在12/4講了一連串的鬼故事，還在半夜播放Shuffle等歌到AM 2:00\u0026hellip;\u0026hellip;。\n「上一屆的都有在說，房外電鈴聲整排同時響，出去卻沒人！」又害我更加睡不著。ZYL等人有打來亂，我用拉阿布地球超人 —— 暑假 回他。\nDay 1。「我們還是別打擾他，他已經進入了另一個境界！」8班同房的人說，我只是因為手機充電而又去看一次恐怖小說《通靈人》。\n雖然他們說JYZ很吵想逃離，但我知道他在和ZMY談天一個晚上就換我想逃離了！連洗澡都還想續談話！！\n2023年註：我分房的時候跟8班的一個男生LTY同房，ZMY打來找他，我以為是玩笑，結果那個時候看起來聊天聊得親熱，大約是這個時候就認識到、被發好人卡了。此時日記本那頁剛好印著格言：「找到了事實，就該面對事實」\nHSH逼我在半夜跳Shuffle配著小賈的Baby、跳小蘋果\u0026hellip;還上傳到FB\u0026hellip;。當然在Day 3，CH和ZMY看了都笑個半死。\nDay 1，JYZ迫於眾人和之前打輸羽毛球的承諾，向LSJ告白，拿著Day 1買的星座木雕。 —— —— 結果她沉著、微笑的退還。\n果然讓他私下去比較好，是我們破壞了他的機會。\n「欸幫我丟，你是好人啦！」ZMY給了我喝剩的紅茶和奶綠（CXJ也來一杯）。\n「不要偷喝啦！」\n這是Day 1。\nDay 2，「放很久了，丟掉」在捷運站前交給我。\n「妳又要我喝！」我試著暗示。\n「要丟掉喔！」\n關於第2天的星巴克，第一天看來是真的，但這個明明就是5:00左右冷得要命的跟CXJ坐在星巴克幾乎沒去淡水老街土產的妳們所點的。\n紅茶太多，喝了3口就丟，其餘喝完，只間接接到ZMY的吻。\nDay 3，據YJY所述，XYL坐在某項設施在那天還飆髒話。\n「違反規則了！」導遊鵬哥說。\n「你逃跑喔？」LSJ抓住我的肩，因為我說「笑傲飛鷹我看完《問題兒童都來自異世界短篇》都還沒第3排我就退出，其實多少帶有恐懼。」\n是巧合嗎，鵬哥把六福村一時口快說成五福村後就一直狂放五月天的MV，後來釐清是他認為我們KTV都沒點什麼五月天的歌。\n306的同學開Wifi即使寫「太多人10人就好」但很明顯第2天後寫「要密碼來求我」證明我們太過分了。但Day 3卻有人開了Wifi？\n我班也有人問博斐：「你的密碼多少？」\n「0857（台）」\n士林街LSJ、LYL玩射氣球（槍），後者戴耳塞型耳機幾乎全重；前者好像花了800才撿到一隻布偶，應該說不值嗎\u0026hellip;\n鵬哥在坐捷運時做了最壞的示範，衝來我們的車廂還去卡門硬擠！身後站務人員也告誡了他。\n高雄的捷運感覺都不會晃，但台北是高架橋，一直面對強烈慣性（煞車和開車）。\nDay 1的內灣、Day 2的淡水都有奇異生物博物館。之前在集集也有看到，可能只有第一者免費，但哪來那麼多雙頭龜等生物！\n六福村的猴子累原來是受了傷才被送到「非洲部落」園區，但只有牠們而已吧！\n2014年12月8日\n「他唱的都跟不上歌詞，既然如此為什麼還要唱？」XYL現在才來損我。\n我在遊覽車上唱了我最愛的周杰倫的《紅模仿》唱到唉呦唉呦一段獲得ZMY大笑，但《倒退嚕》我是根本不會唱台語歌。\n「我覺得他都用唸的。」隱約聽到YJY這麼說。\n2014年12月11日\n「但是也都會反擊耶！」ZMY趁我趴著丟我眼鏡，我是無言的丟回去\u0026hellip;\u0026hellip;。\n「下面的白板都有寫不准帶飲料，因為有人要做資源回收，而她剛好有寫名字被抓到。」補習班2樓還寫有該位「通緝犯」。\n我從頭上套下來戴眼鏡，每次ZMY都在笑，這種戴眼鏡方式是真的獨樹一格（？）嗎？\n2014年12月12日\n我向HSH，既然CXJ那麼愛照鏡子，那就讓她對鏡子說「你是誰？」結果她一直說「妳好美眉，讓我如願\u0026hellip;！」\n「我很討厭一講有的沒的你們就停不下來，所以我很少說。」恐怕是XJR控制不好，其他老師又應該怎麼說得過去？\n昨於ZS問ZMY如何稱呼她弟，今天她於學校跟我說「我叫他假面騎士！」\n「你要不要跟我換位置，你跟她太多交集了會鬱鬱悶悶喔！」是HSH調戲CXJ太過火了！\n2014年12月16日\n很久以前就有跡象，ZMY是把我做為小丑吧，愛慕其他人的樣子，（而且還是外貌協會！）但痞客邦的星座分析：「\u0026hellip;\u0026hellip;即使戀情沒有結果，Cancer仍會追求。」如同我忌妒GYF被LPY親近（國小6年級時）。\n據觀察，XJR最近似乎在嘗試多種不同教法，「必用the的情況」就要分排討論口訣式圖像。最後是由XYL的Let it go、HJC的懶人爬樹、JYW的階梯（僥倖）勝出。\nLJY做為資優生前些日子經YYJ傳播性知識也沒因此沉淪！\n去年為何我們運動會得精神總錦標？XJR說因為她讓我們在那背國文（是《五柳先生傳》）而且地上也幾乎沒垃圾。\n「像你這種把人當狗看就開心的低級傢伙，是不可能統治全世界的。」 —— —— 《全職獵人蟻王篇》 —— 凱特。\n2014年12月17日\n「Ivon不要傷心！」YJY那樣地大叫（其實是造勢）\n起因是昨天ZMY跟8班的LTY走在一塊兒被LQL、CXJ看見向我說（好玩？）結果HSH等人直接曲解成「我被拋棄」儘管她說並不是那種關係。\n「別擔心你還有這個！」\nHSH指著CXJ。\n「那是你的吧！」\n「從來都沒有喜歡過他」ZMY好像很久以前也說過。\n如同CYW說：「只是他在單相思罷了。」\n第8節地理只是回答「雅魯藏布江」，就一堆人看著我。\n「失戀的威力\u0026hellip;」XYL說。\n他們終究是湊熱鬧吧，一節課後就沒人care我了。\n「幹完就不要了。」HJC於許博斐講解例題時提出這比方。\n「你講得很下流！站著！」許博斐自己也在笑。\n2014年12月18日\n「昨天傑傑（LJ）說他（Ivon）很有潛力，所以我要好好巴結他（錢）」ZYF如此說。\nCXJ討論她的屁股。\n「謝謝，我的屁股大，以後比較好生。」ZYF早就說她有翹臀。\n「跟誰啦？Ivon（二個字的名字）喔？」CXJ亂講。\n「Ivon（二個字的名字）」LJ和家人和男同學這樣叫我是不反對，但ZMY、CXJ、ZYF如此叫的甜蜜究竟是有什麼圖謀。\nXJR又說了文法句子必不用that情況，我抄的是HJC提供的有「有一個人在學校的綽號叫浩呆、秀逗。」\nXYL改成Let it go和小蘋果。但都沒投票。\n「罰寫門檻提高好了，地科耶。」許博斐為大家天文（7-1）考不及格而訝異。\n後來在JYW收券時。\n「差一點就100了！」我說，真的是早上太想睡了。\n「考70分還敢說！？」、「好囂張喔！」ZYF和CXJ如此說。\n張銘哲今天沒有穿前2天的毛衣，是黑色外套。\n「因為沒有衣服所以衣櫥翻一翻\u0026hellip;\u0026hellip;」連5天同樣藉口。\n「他都沒在收考卷！」好像是MQW說了登記的缺點。\n「妳幹嘛爆人家料。」JWY默默說。\n我也向張銘哲道出LJY在當小老師就一直是如此。\n「叫她寫在聯絡簿上。」一般我連國文735講義都很難叫她抄在黑板上，她會聽嗎？（老實說我也沒在訂正）。\n2014年12日19日\n一般下午上完體育課回來，總有時間會跟一些人在教室獨處。以為ZMY和CXJ等人，但今天 —— ——\n「快點，上去搞基！」XYL好像是建議我跟TXW。\n「上課跳小蘋果！」也有人建議LXY跳鬼步。\n「交給你了。」TXW很故意的走了出去。\n「記得戴套。」\n又是那尷尬場面，全班女生 V.S. 我，但我只是以發作文為理由不吭聲。\n據觀察，ZYQ的girlfriend是QPY，因為他不會還她手。\n2014年12月20日\n在超商「假面騎士」得知我會反擊一事，我理應還他幾手。\n為什麼變扭打了（輕微）\n「我要跟XJR講。」、「我要跟LJ講。」妳有可能告我狀嗎，ZMY。\n我故作不反擊，任憑他拔我耳機，捏耳朵（雖然不知道他們是否聯合進攻）\n「Ivon。」LJ今天心血來潮在架投影機要看地科影片時，FWX這麼叫我。\n「嗨 —— !」跟LSJ根本一樣。\n「嗨\u0026hellip;！」我也揮手（氣勢微弱）\n「哈（x10）！」是全班！我也轉過頭去。\n「你沒罵她有病？」CZJ很是驚奇。\n「我從沒遇過這樣的人！」肇事者還很開心。\n「我要跟我同學講！」CXJ是吧，ZYF。\n下集：2014年～2015年，我與她的絕對領域（下）\n","date":"2014年12月20日","externalUrl":null,"permalink":"/posts/2014-2015-me-and-her-diary-1/","section":"Personals","summary":"初稿：2014年。修訂整理時間：2023年8月20日。\n很多事情，美好的開始，到最後常常是不怎麼美好的結束。\n這是根據出土文獻日記所製作而成的紀傳體，作為國中生活片段的回顧。文章標題取自同名日本輕小說。分為上下兩集。\n為保留原始風格和避免冗詞贅句，只抽出「我（Ivon）」與「她」互動過的日期所寫的紀錄，並偶爾帶出身邊重要的人事物，將其數位化。地點主要是國中周遭。為保持隱私，文中的人名除了老師以外全部以漢語拼音代號取代。\n現在看來，當時的日記紀載內容金變態。\n本集的內容可以用張學友的歌〈想的都是她〉來總結，反映當時我的心情，正好10年前我也是常聽這首歌。 回憶的過程畢竟有懷舊的意念出現，所以娃娃的歌曲〈為何夢見他〉能反映此情緒。 曖昧的一年 # 地點是永康國中，最早是2013年就開始與ZMY接觸了，但細節已經忘記，缺乏信史（日記）紀載，因信史是從2014年才開始有的。我只記得2013年大約5月的時候，第一次被ZMY大幅度捉弄，丟鉛筆盒，從教室追到教室外面。\n","title":"2014年～2015年國中時，我與她的絕對領域（上）","type":"personal"},{"content":"免得以後忘記，這個暑假動漫看太多了。\n各期特產(回憶)，最早可以零星追溯到小時候。\n排序:動漫-歌曲\n2012暑假:\n零之使魔、惡魔奶爸。 周杰倫-依然范特西+魔杰座(皆為專輯)、吳克群-為你寫詩、痞子英雄-無賴正義、SHE-雨夜花、草蜢-25週年紀念(專輯)。\n2012開學(國一上):\n笨蛋測驗召喚獸、學園救援團第一季、妖怪少爺。\n周杰倫-無與倫比+精選集2+七里香+跨時代(皆為專輯)、蕭敬騰-開到茶靡、信樂團-感謝自選輯(專輯)。\n2013寒假~開學:\n妖怪少爺千年魔京、K、武裝鍊金、花牌情緣、我的朋友很少。\n五月天-知足最真傑作選(專輯)、林俊傑-她說概念自選輯(專輯)、葛仲珊-Call me、史上最給力偶像劇主題曲合集(專輯)、南拳媽媽-草莓叭噗+小時候、林宥嘉-勉強幸福、Minecraft各種Parody。\n2013暑假:\n我的朋友很少(到第4卷)\n林俊傑-不死之身+第二天堂、Minecraft各種Parody。\n2013開學(國二上):\n(空)\nYoutube免費背景音樂-Chance+Strange way+The wrong time。\n2014寒假+開學:\n我的朋友很少(延續4集後沒看完的部份)、輕小說社、進擊的巨人。\nSmosh相關歌曲-Fire truck+Parent suck+Unlimited Assains+Meat in your mouth、Minecraft相關Parody、周杰倫-十二星座。\n2014暑假:\n加速世界、地獄少女三鼎、約會大作戰、無限斯特拉托斯、遊戲人生、全職獵人蟻王篇、中二病也想談戀愛、當個實況主、襲來！美少女邪神、變態王子與不笑貓、幽遊白書、最強學生會長。\n劉德華-我們的劉德華We and Lau(專輯x3)\n近期:\n(空)\n我與她的絕對領域、問題兒童都來自異世界\n小時候(\u0026lt;=國小6年級)\n恐龍王、甲蟲王者、神奇寶貝(超級願望以前)、變形金剛-銀河之力、DoReMi小魔女、庫洛魔法使、中華一番、烏龍派出所、怪醫黑傑克、天神向前衝、遊戲王怪獸之決鬥、妖逆門、棋靈王、戰鬥陀螺鋼鐵奇兵、戰龍四驅、名偵探柯南、特攝影集(戰隊系列)。\n阿牛-對面的女孩看過來、光良-童話、曹格-Supermarket(專輯)、手放開、瑪莉的小綿羊、魔笛、普契尼-杜蘭朵公主、莫札特-魔王、哈利波特代表BGM、周杰倫-范特西(專輯)。\n","date":"2014年9月1日","externalUrl":null,"permalink":"/posts/2014092001/","section":"Personals","summary":"免得以後忘記，這個暑假動漫看太多了。\n各期特產(回憶)，最早可以零星追溯到小時候。\n排序:動漫-歌曲\n2012暑假:\n零之使魔、惡魔奶爸。 周杰倫-依然范特西+魔杰座(皆為專輯)、吳克群-為你寫詩、痞子英雄-無賴正義、SHE-雨夜花、草蜢-25週年紀念(專輯)。\n2012開學(國一上):\n笨蛋測驗召喚獸、學園救援團第一季、妖怪少爺。\n周杰倫-無與倫比+精選集2+七里香+跨時代(皆為專輯)、蕭敬騰-開到茶靡、信樂團-感謝自選輯(專輯)。\n2013寒假~開學:\n妖怪少爺千年魔京、K、武裝鍊金、花牌情緣、我的朋友很少。\n五月天-知足最真傑作選(專輯)、林俊傑-她說概念自選輯(專輯)、葛仲珊-Call me、史上最給力偶像劇主題曲合集(專輯)、南拳媽媽-草莓叭噗+小時候、林宥嘉-勉強幸福、Minecraft各種Parody。\n2013暑假:\n我的朋友很少(到第4卷)\n林俊傑-不死之身+第二天堂、Minecraft各種Parody。\n2013開學(國二上):\n(空)\nYoutube免費背景音樂-Chance+Strange way+The wrong time。\n2014寒假+開學:\n我的朋友很少(延續4集後沒看完的部份)、輕小說社、進擊的巨人。\nSmosh相關歌曲-Fire truck+Parent suck+Unlimited Assains+Meat in your mouth、Minecraft相關Parody、周杰倫-十二星座。\n","title":"這個暑假動漫看太多了，我以前喜歡的動漫與明星","type":"personal"},{"content":"原作Ivon852。2012年初版，2014年潤色修改。\n「轟隆—轟隆—」這兒瀰漫著詭異的氣息，但，但這麼古老的城堡裡可不能容許任何人闖進來。千年前曾有人來這探險，但行蹤不明。\n這座城堡是怎麼了？\n這座城堡位於山的深處，時常等待著誤闖進來的「生物」甚至幾百年、幾千年。傳說曾經有貴族生活在這，但是最後全部離奇失蹤，城外也多了幾座墳墓。\n這裡簡直是連生物都不敢靠近。\n但是，年老的探險家—咸傑(Janjie)來到了這裡，他單槍匹馬，大膽的走到了墓園附近。這時，驚人的事情發生了!地上的土開始凝聚，一瞬間變成了一隻怪物。 「嗚—呃—」怪獸大叫著。\n「哼！妖孽!」咸傑也是有學過中國功夫的！\n他一手持滅火器，\n「喝!看招！」他使出了\u0026quot;四兩撥千斤\u0026quot;把怪獸丟出去之後，馬上拿滅火器噴過去!\n「嗚—呃—!」怪獸摸著眼睛慘叫著，比較慘的版本。隨即馬上化掉了。\n但是，更多難題還在後面！\n當他走到大門口時，佈滿鐵鏽的大門讓藤蔓搖晃起來以沉重語氣說:\n「你是誰？為何要來這裡？」——話說，沒有表情，只有藤蔓晃動。\n「關你什麼事？！」咸傑有點生氣。\n「好吧！不過要破解密碼！一分鐘破解不出來的話就\u0026hellip;\u0026hellip;」\n突然他發現地上有一張紙條，上面以潦草紅色字跡寫著:「Kill」。\n「坳？」咸傑發出這奇妙的聲音一邊看著，也看不出有什麼蹊蹺，門上又接著冒出了四個密碼鎖。\n「這應該是要四個數字吧！」然後咸傑被一個鐵籠包圍，而上方又有一個滿是尖刺的天花板，伴隨著嘎嘎的鐵鏽聲，越發掉落。\n「看來不解密碼是無法通過的囉！」\n咸傑想了又想，\n「啊，K分解成三劃;i分解成1+0=22。對！就是這樣！但不可能那麼簡單，何況這是笨蛋的想法!難不成\u0026hellip;\u0026hellip;」 咸傑馬上說:「2222」 門馬上打開了，他破解了密碼！籠子和尖刺天花板也隨之消失了。\n「因為K分解成I \u0026lt;表示後面的數大於前面的數，而後面，有2個I!」 咸傑解說完，發現屋子裡一片漆黑，門突然關上。咸傑拿起一枝火把，他看到不遠處有一位公主，眼睛正直視著著自己！ 咸傑想走過去開口問話 那位公主將手按在火苗上，火焰就消失了。\n咸傑立馬點燃火柴，公主變成了一個身穿黑色披風的人物。咸傑以鎮定的口吻說:「你\u0026hellip;你到底是何方神聖？」\n「你還真勇敢，通常一般人早就被嚇跑了！你還能在這裡聽我講話。啊至於那些過於慌亂竄逃的人都是因為被怪物襲擊或踩到機關而死的呢。」 一下子講了一大串，不過誰都聽得出來是颯爽的男子聲，咸傑很是驚奇。\n「Follow me」\n咸傑警戒的跟著他，他打開一個門之後—\n「讓我們歡迎新客人！」\n「啪啪啪～」大家都猛烈的拍著手，咸傑愣住了:正在喝老鼠湯的巫婆;明明沒有人的湯匙卻動了起來;有萬聖節傑克臉的南瓜們在一起乾杯。\n「這\u0026hellip;這是你們的家族嗎?」\n「對！」黑衣男子說。\n「我們在這生活幾千、幾百年了！貴族生活在這卻搬走是因為他們認為屋子裡有『好兄弟』但又怕城堡賣不出去，所以隱姓埋名。」\n「嗯—嗯—」咸傑略為點頭。\n「嗯哼—!」\n咸傑感覺到後面有一股壓力，轉身是位高大的男子，全身綠色，頭兩旁各有一根粗螺絲。\n「難道你是科學怪人！？」咸傑很害怕。\n「對」他說道，語氣大概像洛畸中配一樣。\n「嗨！叔叔！」黑衣男打招呼。\n「那你該不會是\u0026hellip;\u0026hellip;」\n「對！我是吸血鬼博客來！但我只喝蕃茄汁」他立馬搶話回答。\n「讓我們開始吃飯吧！」\n吃完紅王症候群的一餐之後，自己究竟吃了甚麼？\n他們全體向咸傑道:「再見！」\n「再見！」太自然了，他不是滑頭鬼，應該還有要探索的東西才對。\n而後來，因為沒有拍照，無圖無真相，沒有人相信咸傑是真的去過，至今，也找不到那座城堡，也許那只是虛幻的吧\u0026hellip;\u0026hellip;。\n構想:周杰倫-威廉古堡\n當時的和現在添加的Neta:\n四兩撥千斤:太極\nKill:遊戲王單行本4\n洛畸:天兵公園\n怕城堡賣不出去:哆啦A夢某集\n博克來:機械戰士Rex\n紅王症候群:襲來！美少女邪神\n滑頭鬼:妖怪少爺\n無圖無真相:國防部\n","date":"2014年1月5日","externalUrl":null,"permalink":"/posts/jianjie-adventure/","section":"Personals","summary":"原作Ivon852。2012年初版，2014年潤色修改。\n「轟隆—轟隆—」這兒瀰漫著詭異的氣息，但，但這麼古老的城堡裡可不能容許任何人闖進來。千年前曾有人來這探險，但行蹤不明。\n這座城堡是怎麼了？\n這座城堡位於山的深處，時常等待著誤闖進來的「生物」甚至幾百年、幾千年。傳說曾經有貴族生活在這，但是最後全部離奇失蹤，城外也多了幾座墳墓。\n這裡簡直是連生物都不敢靠近。\n但是，年老的探險家—咸傑(Janjie)來到了這裡，他單槍匹馬，大膽的走到了墓園附近。這時，驚人的事情發生了!地上的土開始凝聚，一瞬間變成了一隻怪物。 「嗚—呃—」怪獸大叫著。\n「哼！妖孽!」咸傑也是有學過中國功夫的！\n他一手持滅火器，\n「喝!看招！」他使出了\"四兩撥千斤\"把怪獸丟出去之後，馬上拿滅火器噴過去!\n「嗚—呃—!」怪獸摸著眼睛慘叫著，比較慘的版本。隨即馬上化掉了。\n但是，更多難題還在後面！\n當他走到大門口時，佈滿鐵鏽的大門讓藤蔓搖晃起來以沉重語氣說:\n「你是誰？為何要來這裡？」——話說，沒有表情，只有藤蔓晃動。\n「關你什麼事？！」咸傑有點生氣。\n「好吧！不過要破解密碼！一分鐘破解不出來的話就……」\n突然他發現地上有一張紙條，上面以潦草紅色字跡寫著:「Kill」。\n","title":"Janjie Adventure 咸傑歷險記1 - Kill","type":"personal"},{"content":"","externalUrl":null,"permalink":"/ja-jp/authors/ivonhuang/","section":"執筆者一覧","summary":"","title":"Ivon Huang","type":"authors"},{"content":"","externalUrl":null,"permalink":"/ja-jp/series/","section":"Series","summary":"","title":"Series","type":"series"},{"content":"","externalUrl":null,"permalink":"/ja-jp/authors/","section":"執筆者一覧","summary":"","title":"執筆者一覧","type":"authors"}]