如果你花時(shí)間看過諜戰(zhàn)驚悚片、動(dòng)作片或犯罪電影,你就會(huì)在腦海中清晰地勾勒出黑客坐在電腦屏幕前的樣子:一行行快速移動(dòng)的代碼,大量的矩陣中的十六進(jìn)制數(shù)字代碼像雨水一樣飛過。
也許有一張世界地圖,上面有一些發(fā)光點(diǎn)和一些快速更新的圖表,也許還會(huì)有三維幾何圖形。如果可能的話,這一切都可以顯示在多個(gè)顯示器上面,在黑客電影中就有黑客同時(shí)使用了7個(gè)顯示器。
當(dāng)然,我們這些技術(shù)人員很快意識(shí)到這完全是胡說八道。雖然我們中的許多人都有雙顯示器(或更多),但閃爍的數(shù)據(jù)通常與專注于工作這一目的背道而馳。編寫代碼、管理項(xiàng)目和管理系統(tǒng)與股票交易不同。我們遇到的大多數(shù)情況都需要我們對試圖解決的問題進(jìn)行大量思考,與利益相關(guān)者進(jìn)行良好的溝通,進(jìn)行一些研究以及組織信息,然后還有占工作量很少的快速打字。
但這并不意味著我們不想和電影中的黑客一樣。有時(shí),我們只是想讓自己看起來「有效率」。
也就是說,讓我們找點(diǎn)樂子,用一些老式的無意義數(shù)據(jù)和代碼片段組成的面板填充我們的屏幕(好吧,這些數(shù)據(jù)可能有一定的意義,但是沒有上下文)。雖然有很多花哨的GUI,但是我們?yōu)槭裁床恢苯邮褂脴?biāo)準(zhǔn)的 Linux 終端呢?為了更老派的外觀,可以考慮使用 Cool Retro Term:一個(gè)酷酷的復(fù)古終端。下面我會(huì)用 Cool Retro Term,因?yàn)樗雌饋泶_實(shí)100%酷。
Genact
我們要看的第一個(gè)工具是 Genact。Genact 只是簡單地回放你選擇的一個(gè)序列,在你出去喝茶休息的時(shí)候慢慢地、無限期地「編譯」你的代碼。它播放的序列由你決定,但默認(rèn)情況下它包括一個(gè)加密貨幣挖掘模擬器、composer php 依賴管理器、內(nèi)核編譯器、下載器、內(nèi)存管理等等。不過,我最喜歡的是顯示 simcity 加載消息的設(shè)置。因此,只要沒有人檢查得太仔細(xì),你就可以花整個(gè)下午的時(shí)間等待電腦完成進(jìn)度條。
Genact有 Linux、osx 和 Windows版本,Rust 源碼可以在 github 上找到。
Hollywood
Hollywood采取了更直接的方式。它本質(zhì)上是在終端中創(chuàng)建一個(gè)隨機(jī)數(shù)和拆分屏幕的配置,并啟動(dòng)看起來很忙的應(yīng)用程序,如htop、目錄樹、源代碼文件和其他應(yīng)用程序等,并每隔幾秒鐘進(jìn)行切換。它以shell腳本的形式組合在一起,因此可以很容易地根據(jù)你的需要進(jìn)行修改。
Hollywood 的源代碼可以在 github 上的 apache 2.0 許可下找到。
Blessed-contrib
我個(gè)人最喜歡的是 Blessed-contrib,但是它并不是一個(gè)專門為了這種表演而設(shè)計(jì)的應(yīng)用程序。相反,它是一個(gè)基于 node.js 的終端儀表板構(gòu)建庫的演示文件,該庫名為 fordated contrib。與其他兩個(gè)命令不同的是,我實(shí)際上使用了 fulded contrib 的庫來做一些實(shí)際工作的事情,而不僅僅是假裝工作。它是一個(gè)非常有用的庫,有可以用一組命令行顯示信息的小部件。但它也很容易填充虛擬數(shù)據(jù)來實(shí)現(xiàn)類似《WarGames》中的夢想。
在github 上可以找到 Blessed-contrib 的源代碼。
結(jié) 語
雖然這些工具很簡單,但有很多方法可以讓你的屏幕充滿各種亂碼。你將在電影中看到的最常見的工具之一是 Nmap,這是一個(gè)開源的安全掃描器。事實(shí)上,它在好萊塢電影中常常被用作在屏幕上演示黑客行為的工具,很多電影,從《Matrix Reloaded》重裝到《The Bourne Ultimatum》、《The Girl with the Dragon Tattoo》,甚至《Die Hard 4》里面也用到了它。
當(dāng)然,你可以創(chuàng)建自己的組合,使用諸如screen或tmux之類的終端多路復(fù)用器來啟動(dòng)你希望的任何程序,顯示你想要的數(shù)據(jù)。
那么,你是如何讓你的電腦看起來很忙的呢?