<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Linux on LCY's Notes</title><link>https://blog.lcy.one/tags/linux/</link><description>Recent content in Linux on LCY's Notes</description><generator>Hugo</generator><language>zh-tw</language><copyright>lcy</copyright><lastBuildDate>Mon, 30 Dec 2024 00:00:00 +0800</lastBuildDate><atom:link href="https://blog.lcy.one/tags/linux/feed.xml" rel="self" type="application/rss+xml"/><item><title>透過 USB/IP 把印表機接到 Windows 電腦上</title><link>https://blog.lcy.one/2024/12/30/usb-ip-printer.html</link><pubDate>Mon, 30 Dec 2024 00:00:00 +0800</pubDate><guid>https://blog.lcy.one/2024/12/30/usb-ip-printer.html</guid><description>&lt;p&gt;幾個月前的文章 &lt;a href="https://blog.lcy.one/2024/10/20/epson-l360-on-raspberry-pi.html"&gt;將 Raspberry Pi 接上 Epson L360 設定成印表機伺服器&lt;/a&gt;&lt;br&gt;
提到了需要把印表機接上 Raspberry Pi 來分享給家裡的其它電腦用&lt;br&gt;
最後是透過 Samba + CUPS 做到&lt;br&gt;
並對 ENPC 的請求封包回傳一個空的回應來解決驅動程式會卡住的困擾&lt;/p&gt;
&lt;p&gt;結果之後發現印表機還是會出現一些問題&amp;hellip;&lt;br&gt;
後來研究半天，決定改成透過 USB/IP 來把印表機接到 Windows 電腦上&lt;/p&gt;</description><content:encoded><![CDATA[<p>幾個月前的文章 <a href="/2024/10/20/epson-l360-on-raspberry-pi.html">將 Raspberry Pi 接上 Epson L360 設定成印表機伺服器</a><br>
提到了需要把印表機接上 Raspberry Pi 來分享給家裡的其它電腦用<br>
最後是透過 Samba + CUPS 做到<br>
並對 ENPC 的請求封包回傳一個空的回應來解決驅動程式會卡住的困擾</p>
<p>結果之後發現印表機還是會出現一些問題&hellip;<br>
後來研究半天，決定改成透過 USB/IP 來把印表機接到 Windows 電腦上</p>
<h2 id="前情提要">前情提要</h2>
<p>一些背景就不重複了，可以參考<a href="/2024/10/20/epson-l360-on-raspberry-pi.html#%e5%89%8d%e6%83%85%e6%8f%90%e8%a6%81">前一篇文章</a><br>
簡單來說就是要把一台接到 Raspberry Pi 的印表機<br>
不透過實體 USB 線，弄到可以從 Windows 電腦上列印</p>
<h3 id="前一篇文章的最終方案出現的問題">前一篇文章的最終方案出現的問題</h3>
<p>前一篇文章提到的 Samba + CUPS + 空 ENPC 封包方案<br>
剛設定完後<br>
列印都沒問題，操作延遲也都在可接受範圍內</p>
<p>但是過一段時間<br>
打開印表機，從 Windows 電腦列印的時候<br>
印表機卻會印到約 95% 就把紙送出來<br>
然後停住、亮缺紙／夾紙燈</p>
<p>正常來說真的發生缺紙或夾紙的話<br>
把紙處理好，按下印表機上的送紙鍵就會繼續列印</p>
<p>可是現在按下任何按鍵都沒反應<br>
即使把印表機重開都沒辦法解決<br>
最後發現要到 Raspberry Pi 上清掉列印工作、重開 CUPS 才能解決</p>
<p>然後過一陣子又會再發生一樣的情況</p>
<h3 id="是-enpc-封包的問題嗎">是 ENPC 封包的問題嗎&hellip;？</h3>
<p>本來猜說是不是 ENPC 封包的問題<br>
回應空封包可能會讓驅動程式出問題？</p>
<p>於是把印表機暫時接到一台 Windows 電腦上<br>
裝好 Epson 官方的驅動程式，打開 Windows 的分享功能<br>
到另一台 Windows 電腦上安裝驅動程式透過 SMB 連上那台印表機<br>
再用 WireShark 看看正常情況下的 ENPC 封包是要回應什麼</p>
<p>結果發現這種情況下<br>
客戶端的驅動程式根本就不會發送 ENPC 請求封包<br>
這就表示對 Epson 的驅動程式來說<br>
遠端印表機是接在 Samba + CUPS 的組合上，跟接到 Windows 電腦上，是有差異的</p>
<p>到這一步就可以知道要解決 Samba + CUPS 的問題不會很容易<br>
甚至可能是不可能的了<br>
畢竟我們不知道 Epson 的驅動程式具體做了什麼</p>
<h2 id="usbip">USB/IP</h2>
<p>後來決定改試試看 USB/IP 協定<br>
這個協定簡單來說，就是伺服器端把 USB 設備透過網路分享出去<br>
客戶端就可以把這個設備當作是接在自己的電腦上一樣使用</p>
<p>詳細說明可以參考以下幾個連結：</p>
<ul>
<li><a href="https://www.kernel.org/doc/html/latest/usb/usbip_protocol.html">https://www.kernel.org/doc/html/latest/usb/usbip_protocol.html</a></li>
<li><a href="https://usbip.sourceforge.net/">https://usbip.sourceforge.net/</a></li>
<li><a href="https://wiki.archlinux.org/title/USB/IP">https://wiki.archlinux.org/title/USB/IP</a></li>
</ul>
<p>其實一開始就有考慮過這個方案了<br>
雖然 USB/IP 在 Linux 上是<a href="https://github.com/torvalds/linux/tree/master/tools/usb/usbip">內建在 kernel 裡</a>，又已經有一段時間了<br>
應該算穩定<br>
但我的使用情境裡，客戶端是 Windows<br>
之前查了一下，發現現在 Windows 上的 USB/IP 驅動程式好像還有一些問題<br>
就想說先試試看其它的作法</p>
<p>不過現在看來<br>
還是得試試看這個方案了</p>
<h3 id="大致流程">大致流程</h3>
<h4 id="伺服器端raspberry-pi">伺服器端（Raspberry Pi）</h4>
<ol>
<li>安裝 <a href="https://packages.debian.org/bookworm/usbip">usbip</a></li>
<li>啟動 <code>usbipd</code> 服務</li>
<li>把印表機 bind 到 USB/IP 分享出去</li>
</ol>
<h4 id="客戶端windows">客戶端（Windows）</h4>
<ol>
<li>安裝 <a href="https://github.com/cezanne/usbip-win">cezanne/usbip-win</a> 的驅動程式</li>
<li>Attach 到伺服器端的印表機</li>
</ol>
<h3 id="額外說明">額外說明</h3>
<h4 id="伺服器端在重開重接後自動-bind">伺服器端在重開、重接後自動 bind</h4>
<p>由於 USB 裝置因為拔掉或關機而與系統斷開連線時<br>
USB/IP 會取消 bind 的狀態<br>
重新連上也不會自動 bind 回去<br>
所以會需要一些機制來自動把印表機 bind 上去</p>
<p>另外 <code>usbipd</code> 這個服務在 Debian 上的 <code>usbip</code> 套件裡是沒有包含 systemd 服務的<br>
所以也不會自動在系統開機時啟動</p>
<p>所以我就參考一些網路上看到的作法<br>
寫了一個 systemd unit 檔案來自動啟動 <code>usbipd</code> 服務<br>
以及一個 udev rule，在印表機連上時自動跑 <code>usbip bind</code></p>
<p><a href="https://github.com/lcy0321/systemd-udev-usbip-printers">https://github.com/lcy0321/systemd-udev-usbip-printers</a></p>
<h4 id="客戶端的驅動程式">客戶端的驅動程式</h4>
<p>前面提到 Windows 上的 USB/IP 驅動程式好像有一些問題<br>
是指說歷史比較悠久、驅動程式有簽章的 <a href="https://github.com/cezanne/usbip-win">cezanne/usbip-win</a> 已經沒在維護了<br>
而有持續在開發的 <a href="https://github.com/vadimgrn/usbip-win2">vadimgrn/usbip-win2</a> 目前還沒有驅動程式簽章<br>
沒有簽章的話，Windows 必須要開啟 <code>TESTSIGNING</code> 模式才能安裝並使用這個驅動程式<br>
這會降低系統的安全性，而且據說有些銀行的程式會不給在這個模式下使用</p>
<p>我還是先選擇舊的 <code>cezanne/usbip-win</code> 來試試看<br>
使用的是有簽章的版本 <a href="https://github.com/cezanne/usbip-win/releases/tag/v0.3.6-dev">0.3.6-dev</a><br>
目前看起來沒出現什麼問題<br>
不過還是希望能有公司出現幫 <code>vadimgrn/usbip-win2</code> 的驅動程式簽章</p>
<h4 id="客戶端自動-attach">客戶端自動 attach</h4>
<p>類似伺服器端的問題<br>
伺服器端的 USB/IP 裝置因為關機之類的問題而消失時<br>
客戶端也會自動取消 attach<br>
所以需要一個機制來自動 attach</p>
<p>本來是想透過 Windows 的工作排程器來實作<br>
每隔一段時間就執行一次 <code>usbip attach</code> 指令<br>
反正如果已經 attach 了，再 attach 也不會有問題<br>
伺服器端的 USB/IP 裝置不在的話，指令會失敗，也不會有什麼問題</p>
<p>不過這樣有兩個問題</p>
<p>第一是工作排程器的最小間隔是 1 分鐘<br>
這就表示打開印表機到客戶端 attach 的時間最多會延遲 1 分鐘</p>
<p>第二是伺服器端上會出現一大堆 error log<br>
顯示有客戶端試圖 attach 一個不存在的 USB/IP 裝置<br>
或是試圖 attach 一個已經被 attach 的裝置</p>
<p>所以後來寫了一個 PowerShell script<br>
只在目前沒有 attach 的情況下<br>
執行 list 指令，看看伺服器端上的 USB/IP 裝置在不在<br>
在的話就 attach；不在的話就不做任何事情<br>
等個幾秒後再重複這個動作</p>
<p>然後再用 <a href="https://github.com/winsw/winsw">winsw</a> 把它包裝成 Windows 服務<br>
讓它開機時自動啟動，並在意外關閉時自動重啟</p>
<h2 id="結論">結論</h2>
<p>目前試起來是沒有問題<br>
不過前幾次的問題也是過一陣子才會出現&hellip;<br>
所以還是要再觀察一陣子才能確定</p>]]></content:encoded></item><item><title>將 Raspberry Pi 接上 Epson L360 設定成印表機伺服器</title><link>https://blog.lcy.one/2024/10/20/epson-l360-on-raspberry-pi.html</link><pubDate>Sun, 20 Oct 2024 00:00:00 +0800</pubDate><guid>https://blog.lcy.one/2024/10/20/epson-l360-on-raspberry-pi.html</guid><description>&lt;p&gt;最近搬到新家，客廳的印表機沒辦法拉線接到原本的電腦&lt;br&gt;
所以想說弄一台 Raspberry Pi 接上去，然後透過 Wi-Fi 分享給家裡的其他電腦用&lt;br&gt;
結果遇到了不少問題&lt;/p&gt;</description><content:encoded><![CDATA[<p>最近搬到新家，客廳的印表機沒辦法拉線接到原本的電腦<br>
所以想說弄一台 Raspberry Pi 接上去，然後透過 Wi-Fi 分享給家裡的其他電腦用<br>
結果遇到了不少問題</p>
<h2 id="2024-12-30-更新">2024-12-30 更新</h2>
<p>這篇的最終解法在幾個月後還是出現了問題<br>
後來的解法可見<a href="/2024/12/30/usb-ip-printer.html">新的文章</a></p>
<h2 id="前情提要">前情提要</h2>
<h3 id="印表機">印表機</h3>
<p>家裡的印表機是 Epson L360，是連續供墨的機型<br>
用了快十年，還沒換過幾次墨水匣，滿划算的</p>
<p>本來在舊家放在客廳，是用 USB 接到一台 Windows 電腦上<br>
再透過 Windows 的印表機共用功能，讓家裡的其它電腦可以用</p>
<p>不過搬到新家後，客廳配置不太一樣<br>
放在弱電櫃上方，離電腦有一段距離，沒辦法直接接 USB 線</p>
<h3 id="華碩無線路由器">華碩無線路由器</h3>
<p>本來是先透過 USB 接上華碩的無線路由器（RT-AC66U B1）<br>
搭配這台路由器的<a href="https://www.asus.com/tw/support/faq/114046/">網路印表機伺服器功能</a>，分享給其它電腦用</p>
<p>正常的時候，不論是用華碩 EZ 印表機分享或 LPR 協定分享哪種方式<br>
都可以在客戶端連上印表機後，透過 Epson 本身的驅動程式正常列印<br>
只有一個小問題，用 LPR 協定分享的話，客戶端啟動列印到印表機開始列印之間會有一段 10 到 20 秒的延遲</p>
<p>可是不知道是什麼原因<br>
每次重開印表機的時候，路由器都有機率把它認成 modem 裝置<br>
導致印表機分享功能沒有啟動<br>
這時候就要重開這個功能、重插印表機的 USB 線，或是重開印表機看看能不能解決</p>
<p>對我來說已經算麻煩了<br>
更不用說對家人來說根本不知道怎麼處理</p>
<p>再加上網路上搜尋類似問題的時候，也看到也有人在抱怨<a href="https://www.snbforums.com/threads/ez-printer-sharing-problems-solution.13915/">華碩的網路印表機伺服器功能不太穩定</a><br>
所以就考慮看能不能換個方式</p>
<h3 id="raspberry-pi">Raspberry Pi</h3>
<p>後來就想說搞一台單板電腦像是 Raspberry Pi 來當作印表機伺服器<br>
剛好同事有一台 Raspberry Pi 3 Model B 可以借我<br>
就跟他借來試試看<br>
OS 是以 Debian 12 為基礎的 Raspberry Pi OS</p>
<h2 id="在-raspberry-pi-上安裝驅動程式再透過-cups-分享有問題">在 Raspberry Pi 上安裝驅動程式，再透過 CUPS 分享（有問題）</h2>
<p>首先嘗試的是在 Raspberry Pi 上安裝 Epson L360 的驅動程式<br>
然後再用 CUPS 透過 IPP 協定分享給其它電腦用</p>
<p>CUPS 的安裝和設定這邊就不贅述了，沒有什麼特別的地方</p>
<h3 id="安裝驅動程式">安裝驅動程式</h3>
<p>由於這台印表機有點年代了<br>
什麼 driverless 或 IPP Everywhere 都沒有支援<br>
所以還是要想辦法安裝驅動程式</p>
<p>然後 Epson 官方網站上也沒有提供 ARM64 架構的 Linux 驅動程式<br>
所以也只能找第三方的方案<br>
不過即使是第三方的方案，也沒有直接支援 L360 的驅動程式</p>
<p>幸好 Google 了一下發現不少人表示說可以用 Gutenprint 裡的 Epson L210 或 L310 驅動程式替代<br>
只要安裝 <code>printer-driver-gutenprint</code><br>
之後在 CUPS 加入印表機的時候，model 選擇 Epson L210 或 L310 就可以了</p>
<h3 id="分享印表機">分享印表機</h3>
<p>然後參考 <a href="https://wiki.archlinux.org/title/CUPS/Printer_sharing">ArchWiki 這篇教學</a>的 2.1 和 2.2 章節設定好分享<br>
就可以在區域網路內其它電腦上看到這台印表機了<br>
有開 DNS-SD 的話，Windows 應該直接按一下「搜尋印表機」就可以看到<br>
沒有的話手動加入 <code>http://&lt;HOSTNANME&gt;:631/printers/&lt;PRINTER_NAME&gt;</code> 也可以</p>
<h3 id="成功列印">成功列印&hellip;？</h3>
<p>Windows 加入這台印表機後會透過 IPP 協定去列印<br>
除了選項比較少之外，基本上還是可以列印的</p>
<p>&hellip;本來是這樣想的<br>
結果家父要列印的時候才發現邊界特別大<br>
原本透過官方的驅動程式列印的時候，邊界只有 0.3 公分左右<br>
現在這種方式列印的時候，邊界變成約 1 公分，尤其下邊界更是大到約 1.5 公分<br>
Windows 上的程式要列印的時候就有類似「列印範圍超出紙張範圍」的警告<br>
硬要列印的話，就會有一部分內容被切掉</p>
<p>不過我直接在 Raspberry Pi 上列印同樣的檔案，邊界就是正常的<br>
所以應該是 CUPS 和 Windows 之間 IPP 溝通上有問題</p>
<h4 id="試圖解決">試圖解決</h4>
<p>用 IPP 的工具去看 CUPS 回覆的資訊看不出所以然<br>
後來乾脆直接去改 PPD 檔案，把裡面除了 A4 以外的紙張尺寸都刪掉<br>
然後再到客戶端上重新加入印表機</p>
<p>結果上、左、右邊界好像比較正常了<br>
可是印出來的時候似乎內容會變得更靠邊，變得比設定的邊界小<br>
然後下邊界好像還是有點大<br>
而且更嚴重的是有時候最後一行會整個錯位，然後一頁內容被印表機印到兩頁<br>
整個還是不能用的狀態</p>
<h2 id="透過-samba-分享印表機成功但需要額外處理">透過 Samba 分享印表機（成功但需要額外處理）</h2>
<p>後來發現說還可以有另一種方式分享印表機<br>
就是不在伺服器端安裝驅動程式，直接以 raw 的方式透過 Samba 分享印表機<br>
讓客戶端自己透過驅動程式直接跟印表機溝通</p>
<h3 id="設定-samba-印表機分享">設定 Samba 印表機分享</h3>
<p>可以參考上面提過的 ArchWiki 教學的 2.3 章節，或是 <a href="https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Print_Server#Enabling_the_Print_Server_Support_in_Samba">Samba 官方 wiki 中分享印表機的教學</a><br>
設定好後，從其它 Windows 客戶端打開檔案總管輸入 <code>\\&lt;HOSTNAME&gt;</code> 就可以看到這台印表機了<br>
這種方法要客戶端自備驅動程式（沒有在 Sambda 伺服器上附上驅動程式的話）</p>
<h3 id="成功列印-1">成功列印</h3>
<p>這種方法就完全是透過 Epson 官方的驅動程式直接跟印表機溝通<br>
所有功能都是正常的，邊界問題也沒了<br>
除了&hellip;</p>
<h3 id="延遲問題">延遲問題</h3>
<p>透過這種方式加入印表機<br>
每次對印表機進行操作（例如列印、打開「印表機內容」或「列印喜好設定」視窗）都會有一個 30 秒左右的延遲<br>
雖然不影響列印，但是每次操作都要等一段時間還是很怪</p>
<h4 id="觀察">觀察</h4>
<p>去 Raspberry Pi 上打開 CUPS 和 Samba 的 debug log<br>
看起來在客戶端進行操作的時候，同樣的 request 都會重覆發幾次，中間隔個幾秒<br>
不過看起來沒有什麼錯誤訊息</p>
<p>再用 Wireshark 監控網路封包<br>
發現客戶端在進行操作的時候，都會對伺服器的 3289 port 發送幾次 UDP 封包<br>
不過伺服器沒有聽這個 port 當然沒有回應<br>
模式大概是</p>
<ol>
<li>客戶端發送 UDP 封包到伺服器的 3289 port</li>
<li>伺服器立刻以 ICMP port unreachable 回應</li>
<li>客戶端等 3 秒左右後再發送下一個 UDP 封包</li>
<li>重複這個過程 8 次</li>
</ol>
<p>這樣算一算差不多就是將近 30 秒的延遲</p>
<h4 id="釐清">釐清</h4>
<p>查了一下 UDP 3289 port 會發現 <a href="https://download4.epson.biz/sec_pubs/l6260_series/useg/tc/GUID-5F7CDE39-97A0-4BC3-A096-A9F11CC2E7C0.htm">Epson 官方許多機型的文件</a>都會提到<br>
是 Epson 用來透過 ENPC 協定「從 EpsonNet Config、印表機驅動程式及掃描器驅動程式等應用程式中發現印表機」<br>
不過網路上都找不到 ENPC 協定的相關資訊或實作<br>
有看到一些討論（例如 <a href="https://github.com/mike42/escpos-php/issues/923">escpos-php</a> 和 <a href="https://stackoverflow.com/questions/62870327/where-to-find-the-documentation-of-enpc-udp-port-3289-printer-discovery">Stack Overflow</a>），但是大家也都沒有詳細資訊</p>
<h4 id="解決">解決</h4>
<p>反正也不知道 ENPC 協定的 request 下來要回覆什麼<br>
我乾脆就用 Python 寫個簡單的 UDP server<br>
讓它聽 3289 port，然後都回一個空的訊息回去</p>
<p>🎉然後延遲就降到剩 5 秒左右了🎉<br>
基本上就是省下了那段不斷重試 UDP 封包的時間<br>
剩下的應該就是 Samba 或 CUPS 本身的延遲了</p>
<p>到這裡印表機的使用上就算是沒有什麼問題了</p>
<h2 id="結語">結語</h2>
<p>當初想說印表機用得好好的，不想換新的<br>
沒想到花了好幾天的時間在自己搞印表機伺服器上<br>
幸好最後還是解決了</p>
<p>主要困難點大概是以下幾點：</p>
<ol>
<li>Epson 官方沒有提供 ARM64 架構的 Linux 驅動程式</li>
<li>CUPS 相關的開放原始碼社群也沒有提供 Epson L360 的驅動程式，不確定會不會是這台印表機沒有在國外發售？</li>
<li>Epson 驅動程式本身用到的 ENPC 協定沒有相關資訊</li>
</ol>
<p>以後要買印表機的話<br>
應該要考慮直接買有無線網路分享功能的印表機&hellip;<br>
近幾年的印表機應該對 IPP Everywhere 的支援比較好，也就比較沒有驅動程式的問題了</p>]]></content:encoded></item><item><title>Vim 對於 .conf 檔案的 syntax highlighting</title><link>https://blog.lcy.one/2018/04/13/vim-syntax-highlighting-for-conf.html</link><pubDate>Fri, 13 Apr 2018 00:00:00 +0800</pubDate><guid>https://blog.lcy.one/2018/04/13/vim-syntax-highlighting-for-conf.html</guid><description>&lt;p&gt;前一陣子在使用 FreeBSD 時&lt;br&gt;
發現開啟 rc.conf 時，vim 沒有將該檔案作為 conf 檔做 syntax highlighting&lt;br&gt;
但是開啟其他 .conf 檔案時就有&lt;/p&gt;</description><content:encoded><![CDATA[<p>前一陣子在使用 FreeBSD 時<br>
發現開啟 rc.conf 時，vim 沒有將該檔案作為 conf 檔做 syntax highlighting<br>
但是開啟其他 .conf 檔案時就有</p>
<p>好奇問了一下萬能的 Google 大神<br>
才知道 vim 對於 conf 檔的認定<br>
除了附檔名要是 .conf 之外<br>
還有<strong>檔案第一行必須要是 <code>#</code> 開頭的註解</strong></p>
<p>於是我就在 rc.conf 最前面多加了</p>
<pre tabindex="0"><code class="language-conf" data-lang="conf"># rc.conf
</code></pre><p>重開 vim 之後就有正常的 syntax highlighting 了</p>
<hr>
<h2 id="參考資料">參考資料</h2>
<ul>
<li><a href="http://freebsd.1045724.x6.nabble.com/syntax-highlighting-of-rc-conf-with-vim-tp3952377.html">freebsd-stable - syntax highlighting of rc.conf with vim</a></li>
</ul>]]></content:encoded></item><item><title>調整 Kali Linux 的滑鼠滾輪滾動方向</title><link>https://blog.lcy.one/2017/03/11/modify-mouse-scroll-direction-in-kali-linux.html</link><pubDate>Sat, 11 Mar 2017 00:00:00 +0800</pubDate><guid>https://blog.lcy.one/2017/03/11/modify-mouse-scroll-direction-in-kali-linux.html</guid><description>&lt;p&gt;最近在 VirtualBox 上安裝了 Kali Linux&lt;br&gt;
遇到的第一件困擾的事情就是滑鼠滾輪滾動的方向跟常用的方向相反&lt;br&gt;
預設是往上滾滾輪，會向下捲動畫面&lt;br&gt;
不是很習慣&lt;/p&gt;</description><content:encoded><![CDATA[<p>最近在 VirtualBox 上安裝了 Kali Linux<br>
遇到的第一件困擾的事情就是滑鼠滾輪滾動的方向跟常用的方向相反<br>
預設是往上滾滾輪，會向下捲動畫面<br>
不是很習慣</p>
<p>Google 了一下有找到調整方法<br>
在 Terminal 中執行以下兩條指令即可：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">gsettings <span class="nb">set</span> org.gnome.desktop.peripherals.mouse natural-scroll <span class="nb">false</span>
</span></span><span class="line"><span class="cl">gsettings <span class="nb">set</span> org.gnome.desktop.peripherals.touchpad natural-scroll <span class="nb">false</span>
</span></span></code></pre></div><hr>
<h2 id="參考資料">參考資料</h2>
<ul>
<li><a href="http://unix.stackexchange.com/questions/307928/how-to-disable-natural-scrolling">gnome3 - How to <em>disable</em> natural scrolling? - Unix &amp; Linux Stack Exchange</a></li>
</ul>]]></content:encoded></item></channel></rss>