自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在 MacBook 上運行 Linux 那些坑

系統(tǒng) Linux
幾周前,我在我的 Macbook Pro(2015年初款)上安裝了 Fedora 32。在這篇文章中,我希望記錄下我在這一路上經歷的那些坑、快樂的時刻,以及我已經開始容忍的一些麻煩。

 

這是一篇關于一個 Linux 桌面愛好者向世界證明他為什么要這樣做的文章。

幾周前,我在我的 Macbook Pro(2015年初款)上安裝了 Fedora 32。在這篇文章中,我希望記錄下我在這一路上經歷的那些坑、快樂的時刻,以及我已經開始容忍的一些麻煩。

在文章開始之前強調一句,我遇到的大部分問題都歸結于我所采用的極簡主義設置。所以不要把這看作是對 Fedora/Linux 的反思,我懷疑 GNOME 的默認設置也有不少問題。

切換理由

切換的主要原因是一個殺手級應用;i3 窗口管理器。鍵盤快捷鍵,平鋪的窗口,閃電般的快速體驗,就像是一款專為經常 hack 計算機的人設計的軟件。

安裝 Linux 后,我把配置調整為:

  • 使用 maim 進行類似 OSX 的鍵盤快捷鍵截屏。
  • 總是在工作區(qū) 1 上打開網頁瀏覽器
  • 移除標題欄

5a3e5f0f32b05f8.png" target="_blank">5a3e5f0f32b05f8.png" width="auto" border="0" height="auto" alt="" title="">

 

我寫了自用的筆記軟件,因為我對市面上的任何解決方案都不滿意。軟件使用 SQLite,渲染 markdown,支持 LaTeX 和全文搜索。i3wm 的 scratchpad 功能讓記筆記變得輕而易舉。我寫了自己的 FUSE 文件系統(tǒng),將筆記掛載到我的機器上進行編輯,并同步回服務器。

我最喜歡的功能是 "scratchpad",你可以通過鍵盤快捷鍵在同一個工作區(qū)中打開和關閉一個窗口。這對我寫的一些自定義筆記軟件來說絕對是個好消息,我通過 FUSE 安裝了這些軟件。記筆記是一件很快樂的事情,因為不太需要上下文切換。

軟件

Web 瀏覽器的崛起,讓我意識到其實已經不怎么需要原生 GUI 軟件了。我在 OSX 上似乎只用了一個 Web 瀏覽器、Visual Studio Code 和一個終端,通過一套 dotfiles 配置了很多 CLI/TUI 軟件。

我骨子里是一個重度游戲玩家,但我很幸運地擁有一臺強大的 PC 游戲機和一系列終端來滿足這種需求,所以我沒法評價 Linux 在這方面的支持能力。

所以對于我的大多數使用場景來說,切換操作系統(tǒng)并不是什么太大的障礙。

安裝

安裝一開始是有點焦慮,首先我不想把 Mac 的啟動分區(qū)搞亂,以防萬一出了點問題變磚,我花了點時間去搜索干凈利落的安裝方法。

幸好 Alex Dzyoba 寫了一篇關于何如創(chuàng)建雙啟動分區(qū)的文章。

https://alex.dzyoba.com/blog/macbook-air-linux/

一旦完成啟動,大部分功能都可以開始工作。WiFi,聲音都沒問題,所以我安裝了 i3,應用我的 dotfiles 并開始工作。

鍵盤的問題

我遇到的第一個問題是試圖讓鍵盤設置與 Macbook 布局配合,特別是在本地化鍵盤上,我需要調整它以達到我習慣的 Caps Lock 和 Ctrl 切換。

用 setxkbmap 解決了這個問題,但必須在登錄時運行它。

  1. setxkbmap -layout gb -model apple_laptop -variant mac -option "ctrl:swapcaps" 

此外,有時我把我的筆記本電腦放到辦公桌上,然后插入一個外部鍵盤(不是蘋果品牌的),當我把它插入時,這也需要額外的調整,因為 alt/windows 鍵由于某些原因被交換了。

  1. setxkbmap -layout gb -model apple_laptop -variant mac \  
  2. -option "altwin:swap_lalt_lwin" -option "ctrl:swapcaps" 

這花了一段時間才完成這些設置,但我很滿意。

復制和粘貼的問題

從 OSX 轉到 Linux,意味著要忘記 10 年的鍵盤快捷鍵。剪貼板的 Cmd+C、Cmd+V 不經過大量的調整根本就無法使用,花太大力氣來實現(xiàn)對我來說似乎不值得。先放到一邊吧,等有時間再研究。

所以我不得不訓練自己回到使用 Ctrl 作為修飾鍵,一開始很不習慣,但我適應的速度之快令人驚訝。煩人的部分是在復制/粘貼到終端時,必須記住要按 Shift 鍵。

顯示配置

如前所述,我經常把筆記本插在外部顯示器上,和鍵盤的調整一樣,這需要花費很多精力。首先,我將我的筆記本電腦放置在外部顯示器的下方,所以喜歡使用上下布局。我花了很多時間來嘗試并找到體面的 xrandr 設置來支持這一點。每次我放上去,顯示器又飄到筆記本屏幕下方。

最終我找到了優(yōu)秀的工具 arandr,它提供了一個 GUI 界面來生成適當的設置。

 

不幸的是,我還沒有找到一種在拔掉/插入顯示器時自動應用這些設置的方法,所以我不得不寫一個腳本在切換時運行(也包括上述的 setxkbmap 設置)。

  1. xrandr --output eDP1 --primary --mode 2560x1600 --pos 640x2400 \ 
  2. --rotate normal --output DP1 --scale 2x2 --mode 1920x1200 --pos 0x0 \ 
  3. --rotate normal 

視網膜屏幕

要想讓所有的東西都能在筆記本上很好地縮放,需要一些努力,幸運的是,Doug Beney 寫了一份詳盡的指南,很容易實現(xiàn)。

https://dougie.io/linux/hidpi-retina-i3wm/

亮度調整

改變屏幕亮度這樣需求也不簡單,我花了一段時間才弄明白。感謝 askubuntu 帖子中的指導,修改了一些 i3wm 的配置設置,能夠讓亮度鍵的工作方式與你所期望的大致相同。

https://askubuntu.com/questions/715306/xbacklight-no-outputs-have-backlight-property-no-sys-class-backlight-folder

  1. # 屏幕亮度控制 
  2. bindsym XF86MonBrightnessUp exec xbacklight -inc 5。 
  3. bindsym XF86MonBrightnessDown exec xbacklight -dec 5 

睡眠功能

關閉筆記本上的蓋子,應該暫停操作系統(tǒng),但它似乎從來就不工作,我經常發(fā)現(xiàn)我的機器在第二天早上還剩30分鐘電池的情況下處于滾燙的狀態(tài)。

通過 Josh Sherman 的一篇帖子解決了這個問題,你還需要防止 USB 控制器喚醒系統(tǒng)。

https://joshtronic.com/2017/03/13/getting-suspend-in-linux-working-on-a-macbook-pro/

不幸的是,上面的這個設置需要每次啟動時手工啟用,所以我寫了一個 systemd 服務和腳本來啟用這個功能。

https://gist.github.com/djhworld/734fd6fc36768ecff639cd2d6c656f5a

告別火狐瀏覽器

這可能是切換中最郁悶的部分。我一直是 Firefox 的忠實粉絲,尤其是像 Tree Style Tabs 這樣的擴展,對我囤積標簽的惡習起到了助推作用。

不幸的是,在 Linux 上,F(xiàn)irefox 就是一坨 x,速度慢,啟動需要很長時間,網站的渲染速度非常慢,在標簽頁之間的切換,會讓你感覺昏昏欲睡,感覺狐貍身上的火已經熄滅了。

我嘗試了所有的方法來解決這個問題,改變 about:config 中的設置,嘗試 Firefox Nightly ,啟用 WebRender,但似乎沒有什么效果。

相比之下,Google Chrome 的速度快如閃電,真的是天地之別,所以對于進行我的 Linux 之旅,很遺憾,不得不暫時選擇大 G。

其他工具和功能

  • 終端用的是 alacritty,非常平滑,速度快,字體渲染效果好。
  • redshift 就像 OSX 上的 f.lux,晚上不刺眼。
  • Dropbox的設置非常簡單,尤其是在添加systemd服務時(感謝Joe Roback)。
  • Visual Studio Code - 不出所料,沒有問題。
  • GIMP - 可以很好地進行截圖編輯,湊合可用。

新環(huán)境的樂趣

在把所有的東西都按照我喜歡的方式配置好之后,還有些什么?

i3wm

i3wm 真是爆炸性的使用,在工作空間之間的切換,移動窗口和習慣于平鋪需要一個小的學習曲線,但這意味著我使用鼠標少了很多。

額外的好處是一切都感覺很快,這可能只是一個感知的問題,但有時感知很重要。

 

注:我知道 swaywm 的配置與 i3 兼容,并在Wayland上運行。我已經試過了,它看起來很整潔,而且它可能會解決上面描述的鍵盤/顯示器問題,但在我的 Retina 顯示器上,Chrome 看起來非常模糊。我猜是因為它是通過 XWayland 渲染的,一旦解決這個問題,我就會考慮轉換。

systemd

Systemd 在社區(qū)里受到了很多抨擊,但我真的非常喜歡它。我已經寫了一些自己的服務,這些服務可以執(zhí)行任務或運行軟件,安裝在 .config/systemd/user 下,寫起來很簡單。

熟悉這些工具的使用是一個艱難的過程,但感覺比以前的 init.d 腳本好多了。

DNF

我在其他機器上以 headless 模式使用 Fedora,所以我已經相當習慣了這些工具,有一個像樣的包管理器,能讓所有東西都保持最新版本是不錯的。OSX上的 Homebrew 是一個努力,但還是差很多。

麻煩的問題

WiFi 掉線

這個問題我一直沒有弄明白,但可能每周有一兩次 WiFi 驅動就會停止工作。為了解決這個問題,我必須發(fā)出一個命令來重新加載內核模塊。

  1. sudo modprobe -r brcmfmac && sudo modprobe brcmfmac 

不支持攝像頭

我有時也會使用 Skype 和 Zoom 與家人溝通,但網絡攝像頭似乎不能使用,有一個逆向工程正在努力補救這個問題,但 iPad 可以作為一個不錯的視頻通話設備,所以還沒有來得及修復它。

瀏覽器不支持視頻硬件加速

Linux 中的網頁瀏覽器不支持 GPU 視頻加速。又一次我在觀看一個關于煮雞蛋的 YouTube 視頻時本子熱氣騰騰散發(fā)的熱量足以煮熟一個雞蛋時候發(fā)現(xiàn)的。

顯然,有一個 Chromium 的補丁版本據說支持,但目前看來,瀏覽器廠商并沒有將此視為重要的任務。

不過安裝 VLC 和 intel 驅動可以工作,所以只能這樣了。

OSX / Linux 的差異

下面幾個 OSX 功能切換之后就錯過了,但似乎大多有 Linux 的等價物或變通辦法。

  • 截圖編輯。在 OSX 上,做一張截圖,然后立即跳入內置的編輯器中添加注釋和調整非常方便。一定程度上可以用 maim+GIMP 來實現(xiàn)。
  • pbcopy/pbpaste: 這些都是與剪貼板交互的命令行工具。Linux 下面的等價物是 xclip
  • Spotlight/Alfred。我只是把它當做一個快速計算器來用,從來沒有用過那么多的文件搜索功能。啟動終端(Alt+Enter)并使用 bc 似乎可以提供類似的功能。我可能會考慮把這個功能綁定到一個快捷鍵上。
  • 通知。設置dunst可以提供足夠好的桌面通知支持。
  • Airdrop: 我很少會用它來發(fā)送東西到我的 iPad 上 — 我還沒有找到合適的解決方案。
  • 1Password:這真的不是一個問題,1PasswordX 工作得很好,如果想提一句的話,我認為它可以做得更好。

工作環(huán)境

把家里機器切換到 Linux 之后,在工作環(huán)境又出現(xiàn)了一個新的問題,在不同的操作系統(tǒng)上交替使用不同的鍵盤快捷鍵,這種認知上的開銷似乎有些麻煩,再加上我比較想念 i3。

為了解決這個問題,我通過 VMware Fusion 使用虛擬機,效果出奇的好,感覺幾乎是原生的!我的工作機是一臺 MBP 2019,有 6 個核和 32GB 內存,所以能力沒啥問題。

總結

總會有一些無奈的妥協(xié),無論是 Firefox 的性能,還是瀏覽器中硬件視頻解碼的缺失,以及不得不調整一些配置,但總的來說,換機的體驗大多是好的。我承認,遇到的大部分問題是我自己造成的,但這是值得的。

我真的沒有那么想念 OSX,事實上,這可能已經決定了我下一次不選擇蘋果的決定。硬件很優(yōu)秀,但是讓 Linux 運行在 2016 年之后 Macbook 機型,聽起來就像一場悲壯的演習,所以我家的蘋果筆記本使用歷史可能就到此為止了。

英文原文:

https://djhworld.github.io/post/2020/06/07/running-linux-on-my-macbook/

本文轉載自微信公眾號「高可用架構」,可以通過以下二維碼關注。轉載本文請聯(lián)系高可用架構公眾號。

 

責任編輯:武曉燕 來源: 高可用架構
相關推薦

2011-03-25 11:21:36

NagiosLinux

2018-02-06 08:36:02

簡歷程序員面試

2015-12-07 09:29:09

MacBook ProJava環(huán)境

2010-11-17 09:29:31

linux Fedora 13Ubuntu 10.0

2014-06-23 10:09:20

MacBook ProLinux

2021-01-25 08:00:00

Linux系統(tǒng)數據

2016-02-16 09:36:37

CrossOverLinuxWindows

2020-06-01 16:25:43

WindowsLinux命令

2022-06-30 13:54:16

BottlesLinuxWindows

2013-07-02 10:52:42

SUSELinuxWindows Azu

2013-07-02 11:34:46

SUSELinuxWindows Azu

2011-05-19 09:10:17

JavaScriptLinux

2022-01-18 17:57:21

PodmanLinux容器

2015-10-14 10:02:33

ClojureScri Android

2019-10-09 16:50:48

SSHLinux遠程系統(tǒng)

2022-06-23 09:55:56

WineZGUILinux 桌面Windows 應用

2018-02-07 11:15:07

Vagrant使用問題

2010-10-09 08:58:03

NginxRuby on Rai

2010-05-21 15:23:25

ipadSAP

2020-07-20 18:30:44

Fedora 32DockerLinux
點贊
收藏

51CTO技術棧公眾號