偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

十年 Linux 桌面生存指南

系統(tǒng) Linux
從 2006 年開始轉戰(zhàn) Linux 系統(tǒng)后,經過幾年的實踐,我的軟件設置在過去十年內出人意料的固定。

從 2006 年開始轉戰(zhàn) Linux 系統(tǒng)后,經過幾年的實踐,我的軟件設置在過去十年內出人意料的固定。再過十年回顧一下,看看發(fā)生了什么,也許會非常有趣。在寫這篇推文時,我迅速回顧了正在運行的內容: 

htop overview

動機

我的軟件介紹排序不分先后:

  • 程序應該運行在本地系統(tǒng)中以便我可以控制它,這其中并不包括云解決方案。
  • 程序應在終端中運行,以便于在任何地方連貫地使用它們,包括性能稍差的電腦或手機。
  • 通過使用終端軟件,可以實現自動聚焦鍵盤。只有在一些有意義的地方,我會更喜歡使用鼠標,因為在打字期間一直伸手去拿鼠標感覺像在浪費時間。有時候過了一個小時我才注意到甚至還沒有插鼠標。
  • 最好使用快速高效的軟件,我不喜歡聽到風扇的聲音和感到房間在變熱。我還可以繼續(xù)長久地運行舊硬件,已經使用了 10 年的 Thinkpad x200s 還能很好地支持我所使用的軟件。
  • 組合。我不想手動執(zhí)行每個步驟,而是在需要時自動執(zhí)行更多操作,這時自然是支持 shell。

操作系統(tǒng)

十二年前移除 Windows 系統(tǒng)后,我在 Linux 系統(tǒng)上經歷了一個艱難的開始,當時我手上只有Gentoo Linux 系統(tǒng)的安裝光盤和一本打印的說明書,要用它們來實現一個可運行的 Linux 系統(tǒng)。雖然花費了幾天的時間去編譯和修整,但最終還是覺得自己受益頗多。

自此我再也沒有轉回 Windows 系統(tǒng),但在持續(xù)的編譯壓力導致風扇失靈后,我將我的電腦系統(tǒng)切換到Arch Linux。之后我將其他的電腦和私人服務器也切換到了 Arch Linux。作為一個滾動發(fā)布發(fā)行版,你可以隨時升級軟件包,但Arch Linux News 已經詳細報道了其中最主要的漏洞。

不過,令人煩惱的是一旦你更新了舊的內核模組,Arch Linux 就會移除舊版的相關信息。我經常注意到一旦我試著插入一個 USB 閃存盤,內核就無法加載相關組件。相反,每次內核升級后都應該進行重啟。有一些方法 可以解決這個問題,但我還沒有實際地使用它們。

其他程序也會出現類似的情況,通常 Firefox 、 cron 或者 Samba 在升級后都需要重啟,但惱人的是,它們沒有警告你存在這種情況。我在工作中使用的SUSE 很好地提醒了這種情況。

對于DDNet 產品服務器,我更喜歡使用 Arch Linux 的Debian 系統(tǒng),這樣在每次升級時出現故障的幾率更低。我的防火墻和路由器使用了OpenBSD ,它擁有干凈系統(tǒng)、文檔和強大的pf 防火墻,而我現在不需要一個單獨的路由器。

窗口管理器

從我開始使用 Gentoo 后,我很快注意到 KDE 的編譯時間非常長,這讓我沒辦法繼續(xù)使用它。我四處尋找更簡單的解決方案,最初使用了Openbox 和Fluxbox。某次,為了能更多進行純鍵盤操作,我開始嘗試轉入平鋪窗口管理器,并在研究其初始版本的時候學習了dwm 和awesome。

最終,由于xmonad的靈活性、可擴展性以及使用純Haskell(一種出色的函數編程語言)編寫和配置,最終選擇了它。一個例子是,我在家中運行一個 40" 4K 的屏幕,但經常會將它分為四個虛擬屏幕,每個虛擬屏幕顯示一個工作區(qū),每個工作區(qū)自動排列在我的窗口上。當然, xmonad 有一個對應的模塊。

dzen 和 conky 對我來說是一個非常簡單的狀態(tài)欄。我的整體 conky 配置看起來是這樣的:

  1. out_to_console yes 
  2. update_interval 1 
  3. total_run_times 0 
  4.  
  5. TEXT 
  6. ${downspeed eth0} ${upspeed eth0} | $cpu% ${loadavg 1} ${loadavg 2} ${loadavg 3} $mem/$memmax | ${time %F %T} 

輸入命令直接通過管道輸入 dzen2:

  1. conky | dzen2 -fn '-xos4-terminus-medium-r-normal-*-12-*-*-*-*-*-*-*' -bg '#000000' -fg '#ffffff' -p -e '' -x 1000 -w 920 -xs 1 -ta r 

對我而言,一項重要功能是在完成工作后使終端發(fā)出蜂鳴聲。只需要簡單地在 zsh 中的 PR_TITLEBAR 變量中添加一個 \a 字符就可以做到,只要工作完成就可以發(fā)出蜂鳴聲。當然,我使用了命令:

  1. echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf 

將 pcspkr 內核模塊列入黑名單來禁用實際的蜂鳴聲。相反 urxvt 的 URxvt.urgentOnBell: true 設置會將聲音變?yōu)榧怃J。之后 xmonad 有一個 urgency 鉤子來捕捉這類信號,并且我可以使用組合鍵自動聚焦到當前的發(fā)出緊急信號的窗口。在 dzen 中我可以看到一個漂亮且明亮的 #ff0000 緊急窗口。

在我筆記本上所得到的最終成品是:

Laptop screenshot

我聽說前幾年i3 變得非常流行,但它要求更多的手動窗口對齊而不是自動對齊。

我意識到也有像 tmux 那樣的終端多路復用器,但我仍想要一些圖形化應用程序,因此最終我沒有有效地使用它們。

終端連續(xù)性

為了使終端保持活躍狀態(tài),我使用了dtach ,它只是模擬屏幕分離功能。為了使計算機上的每個終端都可連接和斷開,我編寫了一個小的封裝腳本。 這意味著,即使必須重新啟動 X 服務器,我也可以使所有終端都運行良好,包括本地和遠程終端。

Shell & 編程

對于 shell,我使用zsh 而不是bash,因為它有眾多的功能。

作為終端模擬,我發(fā)現urxvt 足夠輕巧,支持 Unicode 編碼和 256 色,具有出色的性能。另一個重要的功能是可以分別運行 urxvt 客戶端和守護進程。因此,即使大量終端也幾乎不占用任何內存(回滾緩沖區(qū)除外)。

對我而言,只有一種字體看起來絕對干凈和完美:Terminus。 由于它是位圖字體,因此所有內容都是完美像素,渲染速度極快且 CPU 使用率低。為了能使用 CTRL-WIN-[1-7] 在每個終端按需切換字體,我的 ~/.Xdefaults 包含:

  1. URxvt.font: -xos4-terminus-medium-r-normal-*-14-*-*-*-*-*-*-* 
  2. dzen2.font: -xos4-terminus-medium-r-normal-*-14-*-*-*-*-*-*-* 
  3.  
  4. URxvt.keysym.C-M-1: command:\033]50;-xos4-terminus-medium-r-normal-*-12-*-*-*-*-*-*-*\007 
  5. URxvt.keysym.C-M-2: command:\033]50;-xos4-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*\007 
  6. URxvt.keysym.C-M-3: command:\033]50;-xos4-terminus-medium-r-normal-*-18-*-*-*-*-*-*-*\007 
  7. URxvt.keysym.C-M-4: command:\033]50;-xos4-terminus-medium-r-normal-*-22-*-*-*-*-*-*-*\007 
  8. URxvt.keysym.C-M-5: command:\033]50;-xos4-terminus-medium-r-normal-*-24-*-*-*-*-*-*-*\007 
  9. URxvt.keysym.C-M-6: command:\033]50;-xos4-terminus-medium-r-normal-*-28-*-*-*-*-*-*-*\007 
  10. URxvt.keysym.C-M-7: command:\033]50;-xos4-terminus-medium-r-normal-*-32-*-*-*-*-*-*-*\007 
  11.  
  12. URxvt.keysym.C-M-n: command:\033]10;#ffffff\007\033]11;#000000\007\033]12;#ffffff\007\033]706;#00ffff\007\033]707;#ffff00\007 
  13. URxvt.keysym.C-M-b: command:\033]10;#000000\007\033]11;#ffffff\007\033]12;#000000\007\033]706;#0000ff\007\033]707;#ff0000\007 

對于編程和書寫,我使用Vim 語法高亮顯示和ctags 進行索引,以及一些帶有 grep 、 sed 和其他用于搜索和操作的常用終端窗口。這可能不像 IDE 那樣舒適,但可以實現更多的自動化。

Vim 的一個問題是你已經習慣了它的鍵映射,因此希望在任何地方都使用它們。

在 shell 功能不夠強大時,Python 和Nim 作為腳本語言也不錯。

系統(tǒng)監(jiān)控

htop (查看當前站點的后臺運行,是托管服務器的實時視圖)非常適合快速了解軟件的當前運行狀態(tài)。lm_sensors 可以監(jiān)控硬件溫度、風扇和電壓。powertop 是一款由 Intel 發(fā)布的優(yōu)秀省電小工具。ncdu 可以交互式分析磁盤使用情況。

nmap、 iptraf-ng、tcpdump 和Wireshark 都是分析網絡問題的基本工具。

當然還有很多更優(yōu)秀的工具。

郵件 & 同步

在我的家庭服務器上,我為自己所有的郵箱賬號運行了fetchmail 守護進程。fetchmail 只是檢索收到的郵件并調用procmail:

  1. #!/bin/sh 
  2. for i in /home/deen/.fetchmail/*; do 
  3.  FETCHMAILHOME=$i /usr/bin/fetchmail -m 'procmail -d %T' -d 60 
  4. done 

配置非常簡單,然后等待服務器通知我們有新的郵件:

  1. poll imap.1und1.de protocol imap timeout 120 user "dennis@felsin9.de" password "XXX" folders INBOX keep ssl idle 

我的 .procmailrc 配置包含一些備份全部郵件的規(guī)則,并將郵件整理在對應的目錄下面。例如,基于郵件列表名或者郵件標題:

  1. MAILDIR=/home/deen/shared/Maildir 
  2. LOGFILE=$HOME/.procmaillog 
  3. LOGABSTRACT=no 
  4. VERBOSE=off 
  5. FORMAIL=/usr/bin/formail 
  6. NL=" 
  7.  
  8. :0wc 
  9. * ! ? test -d /media/mailarchive/`date +%Y` 
  10. | mkdir -p /media/mailarchive/`date +%Y` 
  11.  
  12. # Make backups of all mail received in format YYYY/YYYY-MM 
  13. :0c 
  14. /media/mailarchive/`date +%Y`/`date +%Y-%m` 
  15.  
  16. :0 
  17. * ^From: .*(.*@.*.kit.edu|.*@.*.uka.de|.*@.*.uni-karlsruhe.de) 
  18. $MAILDIR/.uni/ 
  19.  
  20. :0 
  21. * ^list-Id:.*lists.kit.edu 
  22. $MAILDIR/.uni-ml/ 
  23.  
  24. [...] 

我使用msmtp 來發(fā)送郵件,它也很好配置:

  1. account default 
  2. host smtp.1und1.de 
  3. tls on 
  4. tls_trust_file /etc/ssl/certs/ca-certificates.crt 
  5. auth on 
  6. from dennis@felsin9.de 
  7. user dennis@felsin9.de 
  8. password XXX 
  9.  
  10. [...] 

但是到目前為止,郵件還在服務器上。 我的文檔全部存儲在一個目錄中,我使用Unison 在所有計算機之間進行同步。Unison 可以視為雙向交互式rsync,我的郵件是這個文件目錄下的一部分,因此它們最終存儲在我的電腦上。

這也意味著,盡管郵件會立即到達我的郵箱,但我只是按需拿取,而不是郵件一到達時就立即收到通知。

從此我使用mutt 閱讀郵件,使用側邊欄顯示我的郵件目錄。 /etc/mailcap 文件對于顯示非純文本郵件( HTML, Word 或者 PDF)不可或缺:

  1. text/html;w3m -I %{charset} -T text/html; copiousoutput 
  2. application/msword; antiword %s; copiousoutput 
  3. application/pdf; pdftotext -layout /dev/stdin -; copiousoutput 

新聞 & 通訊

Newsboat 是一個非常棒的終端 RSS/Atom 閱讀器。我在一個有約 150 個提要的 tach 會話服務器上運行它。也可以在本地選擇提要,例如:

  1. ignore-article "https://forum.ddnet.tw/feed.php" "title =~ \"Map Testing •\" or title =~ \"Old maps •\" or title =~ \"Map Bugs •\" or title =~ \"Archive •\" or title =~ \"Waiting for mapper •\" or title =~ \"Other mods •\" or title =~ \"Fixes •\"" 

我以同樣的方式使用Irssi 進行 IRC 通訊。

日歷

remind 是一個可以從命令行獲取的日歷。通過編輯 rem 文件可以設置新的提醒:

  1. # One time events 
  2. REM 2019-01-20 +90 Flight to China %b 
  3.  
  4. # Recurring Holidays 
  5. REM 1 May +90 Holiday "Tag der Arbeit" %b 
  6. REM [trigger(easterdate(year(today()))-2)] +90 Holiday "Karfreitag" %b 
  7.  
  8. # Time Change 
  9. REM Nov Sunday 1 --7 +90 Time Change (03:00 -> 02:00) %b 
  10. REM Apr Sunday 1 --7 +90 Time Change (02:00 -> 03:00) %b 
  11.  
  12. # Birthdays 
  13. FSET birthday(x) "'s " + ord(year(trigdate())-x) + " birthday is %b" 
  14. REM 16 Apr +90 MSG Andreas[birthday(1994)] 
  15.  
  16. # Sun 
  17. SET $LatDeg 49 
  18. SET $LatMin 19 
  19. SET $LatSec 49 
  20. SET $LongDeg -8 
  21. SET $LongMin -40 
  22. SET $LongSec -24 
  23.  
  24. MSG Sun from [sunrise(trigdate())] to [sunset(trigdate())] 
  25. [...] 

遺憾的是,目前 remind 中還沒有中國農歷的提醒功能,因此中國的節(jié)日不易計算。

我給提醒設置了兩個名字:

  1. rem -m -b1 -q -g 

按時間順序查看待辦事項清單

  1. rem -m -b1 -q -cuc12 -w$(($(tput cols)+1)) | sed -e "s/\f//g" | less 

顯示適應終端寬度的日歷:

remcal

字典

rdictcc 是鮮為人知的字典工具,它可以使用dict.cc 很棒的詞典并將他們轉存在本地數據庫中:

  1. $ rdictcc rasch 
  2. ====================[ A => B ]==================== 
  3. rasch: 
  4.  - apace 
  5.  - brisk [speedy] 
  6.  - cursory 
  7.  - in a timely manner 
  8.  - quick 
  9.  - quickly 
  10.  - rapid 
  11.  - rapidly 
  12.  - sharpish [Br.] [coll.] 
  13.  - speedily 
  14.  - speedy 
  15.  - swift 
  16.  - swiftly 
  17. rasch [gehen]: 
  18.  - smartly [quickly] 
  19. Rasch {n} [Zittergras-Segge]: 
  20.  - Alpine grass [Carex brizoides] 
  21.  - quaking grass sedge [Carex brizoides] 
  22. Rasch {m} [regional] [Putzrasch]: 
  23.  - scouring pad 
  24. ====================[ B => A ]==================== 
  25. Rasch model: 
  26.  - Rasch-Modell {n} 

記錄和閱讀

我有一個簡單記錄任務的備忘錄,在 Vim 會話中基本上一直處于打開狀態(tài)。我也使用備忘錄作為工作中“已完成”工作的記錄,這樣就可以檢查自己每天完成了哪些任務。

對于寫文件、信件和演示文稿,我會使用LaTeX 進行高級排版。德式的簡單信件可以這樣設置,例如:

  1. \documentclass[paper = a4, fromalign = right]{scrlttr2} 
  2. \usepackage{german} 
  3. \usepackage{eurosym} 
  4. \usepackage[utf8]{inputenc} 
  5. \setlength{\parskip}{6pt} 
  6. \setlength{\parindent}{0pt} 
  7.  
  8. \setkomavar{fromname}{Dennis Felsing} 
  9. \setkomavar{fromaddress}{Meine Str. 1\\69181 Leimen} 
  10. \setkomavar{subject}{Titel} 
  11.  
  12. \setkomavar*{enclseparator}{Anlagen} 
  13.  
  14. \makeatletter 
  15. \@setplength{refvpos}{89mm} 
  16. \makeatother 
  17.  
  18. \begin{document} 
  19. \begin{letter} {Herr Soundso\\Deine Str. 2\\69121 Heidelberg} 
  20. \opening{Sehr geehrter Herr Soundso,} 
  21.  
  22. Sie haben bei mir seit dem Bla Bla Bla. 
  23.  
  24. Ich fordere Sie hiermit zu Bla Bla Bla auf. 
  25.  
  26. \closing{Mit freundlichen Grüßen} 
  27.  
  28. \end{letter} 
  29. \end{document} 

在我的私人網站 上可以找到更多的示例文檔和演示文稿。

Zathura 讀取 PDF 文件速度很快,支持 Vim 類控件,還支持兩種不同的 PDF 后端: Poppler 和 MuPDF。另一方面,在偶爾遇到 Zathura 無法打開的文件時,Evince 則顯得更全能一些。

圖片編輯

簡便的選擇是,GIMP 和Inkscape 分別用于照片編輯和交互式向量圖形。

有時Imagemagick 已經足夠好了,它可以從命令行直接使用,從而自動編輯圖片。同樣Graphviz 和TikZ 可以用來繪制曲線圖和其他圖表。

Web 瀏覽器

對于 Web 瀏覽器,我一直在使用Firefox。相較于 Chrome,它的可擴展性更好,資源使用率更低。

不幸的是,在 Firefox 完全改用 Chrome 風格的擴展之后, Pentadactyl 擴展的開發(fā)就停止了,所以我的瀏覽器中再也沒有令人滿意的 Vim 類控件了。

媒體播放器

通過設置 vo=gpu 以及 hwdec=vaapi ,具有硬件解碼功能的mpv 在播放期間 CPU 的占用率保持在 5%。相較于默認的 PulseAudio,mpv 中的 audio-channels=2 似乎可以使我的立體揚聲器/耳機獲得更清晰的降級混頻。一個很棒的小功能是用 Shift-Q 退出,而不是只用 Q 來保存回放位置。當你與母語是其他語言的人一起看視頻時,你可以使用 --secondary-sid= 同時顯示兩種字幕,主字幕位于底部,次字幕位于屏幕頂部。

我的無線鼠標可以簡單地通過一個小的配置文件( ~/.config/mpv/input.conf )實現遠程控制 mpv :

  1. MOUSE_BTN5 run "mixer" "pcm" "-2" 
  2. MOUSE_BTN6 run "mixer" "pcm" "+2" 
  3. MOUSE_BTN1 cycle sub-visibility 
  4. MOUSE_BTN7 add chapter -1 
  5. MOUSE_BTN8 add chapter 1 

youtube-dl 非常適合觀看在線托管的視頻,使用 -f bestvideo+bestaudio/best --all-subs --embed-subs 命令可獲得最高質量的視頻。

作為音樂播放器,MOC 不再活躍開發(fā),但它仍是一個簡易的播放器,可以播放各種可能的格式,包括最不常用的 Chiptune 格式。在 AUR 中有一個補丁 增加了 PulseAudio 支持。即使在 CPU 時鐘頻率降到 800 MHz, MOC 也只使用了單核 CPU 的 1-2% 。

moc

我的音樂收藏夾保存在我的家庭服務器上,因此我可以從任何地方訪問它。它使用 SSHFS 掛載并自動安裝在 /etc/fstab/ 目錄下:

  1. root@server:/media/media /mnt/media fuse.sshfs noauto,x-systemd.automount,idmap=user,IdentityFile=/root/.ssh/id_rsa,allow_other,reconnect 0 0 

跨平臺構建

除了 Linux 本身,它對于構建任何主流操作系統(tǒng)的軟件包都很優(yōu)秀! 一開始,我使用QEMU 與舊版 Debian、 Windows 以及 Mac OS X VM 一起構建這些平臺。

現在我在舊版 Debian 發(fā)行版上轉而使用 chroot (以獲得最大的 Linux 兼容性),在 Windows 上使用MinGW 進行交叉編譯,在 Mac OS X 上則使用 OSXCross 。

用于 構建 DDNet 的腳本以及 更新庫構建的說明 的腳本都基于這個。

備份

通常,我們都會忘記備份。即使這是最后一節(jié),它也不應該成為事后諸葛。

十年前我寫了 rrb (反向 rsync 備份)重新封裝了 rsync ,因此我只需要將備份服務器的 root SSH 權限授予正在備份的計算機。令人驚訝地是,盡管我一直在使用 rrb ,但它在過去十年里沒有任何改變。

備份文件直接存儲在文件系統(tǒng)中。使用硬鏈接實現增量備份( --link-dest )。一個簡單的 配置 定義了備份保存時間,默認為:

  1. KEEP_RULES=( \ 
  2.    7  7 \ # One backup a day for the last 7 days 
  3.   31  8 \ # 8 more backups for the last month 
  4.  365 11 \ # 11 more backups for the last year 
  5. 1825  4 \ # 4 more backups for the last 5 years 

因為我的一些計算機沒有靜態(tài) IP / DNS 但仍想使用 rrb 備份,那我會使用反向安全隧道(作為 systemd 服務):

  1. [Unit] 
  2. Description=Reverse SSH Tunnel 
  3. After=network.target 
  4.  
  5. [Service] 
  6. ExecStart=/usr/bin/ssh -N -R 27276:localhost:22 -o "ExitOnForwardFailure yes" server 
  7. KillMode=process 
  8. Restart=always 
  9.  
  10. [Install] 
  11. WantedBy=multi-user.target 

現在,隧道運行備份時,服務器可以通過 ssh -p 27276 localhost 命令或者使用 .ssh/config 到達服務器端。

  1. Host cr-remote 
  2.  HostName localhost 
  3.  Port 27276 

在談及 SSH 技巧時,有時由于某些中斷的路由會很難訪問到服務器。在那種情況下你可以借道其他服務器的 SSH 連接,以獲得更好的路由。在這種情況下,你可能通過美國連接訪問到我的中國服務器,而來自德國的不可靠連接可能需要幾個周:

  1. Host chn.ddnet.tw 
  2.  ProxyCommand ssh -q usa.ddnet.tw nc -q0 chn.ddnet.tw 22 
  3.  Port 22 

結語

感謝閱讀我工具的收藏。這其中我也許遺漏了許多日常中自然成習慣的步驟。讓我們來看看我的軟件設置在下一年里能多穩(wěn)定吧。

 

責任編輯:張燕妮 來源: 知乎
相關推薦

2012-11-12 10:18:14

Ubuntu操作系統(tǒng)

2012-11-12 10:47:24

2013-01-14 13:53:40

Ubuntu操作系統(tǒng)

2012-11-12 13:39:38

2012-12-14 14:05:00

Ubuntu

2010-04-14 13:38:36

Linux桌面

2022-03-28 11:41:21

物聯(lián)網物聯(lián)網市場智能電網

2010-01-05 10:18:10

袁萌Linux

2019-12-13 16:08:57

戴爾

2015-02-06 16:25:32

2012-10-17 14:24:07

思科華為

2013-01-14 10:04:16

2012-07-16 13:18:35

2018-09-14 13:52:04

2022-03-18 13:46:20

物聯(lián)網數據技術

2011-08-23 10:49:44

算法

2013-02-19 09:26:17

2020-11-05 22:59:15

技能工業(yè)革命技術

2019-07-17 20:27:04

機器學習人工智能計算機

2023-07-05 15:47:32

點贊
收藏

51CTO技術棧公眾號