1878 年大發明家愛迪生寫下︰
It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties arise — this thing gives out and [it is] then that “Bugs” — as such little faults and difficulties are called — show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached.
上文中 bugs 是用小昆蟲來指小瑕疵!為什麼呢?不得而知。至於『除蟲』debugging 的由來,就像『黏在繼電器上的飛蛾』一說,也許是故事裡的事,但又何必在意那麼多,相信能有什麼不好呢?難道說人不是因夢想而偉大,是一根會思考的蘆葦。這是 1946 的 伊尼亞克 ENIAC 世界上第一台通用型計算機,完全的圖靈機︰
為什麼從『錯誤』開始談起呢?對寫程式的人來說,『除錯』是常態。不要害怕『犯錯』,把錯誤看成『敵友』── 唱反調的朋友,它能糾正不清的思慮,改進不明的理解。如果能以『不二過』為圭臬,你將能學的更快更好。
中國古代沒有標點符號,卻有句讀之學,把文本斷句加上圈點,以此確定文意。舉例來說︰
『下雨天留客天天留我不留』這個文本,可以有多種句讀,文意各不相同。
下雨天,留客天;天、留我不留。
下雨,天留客,天天留;我不留。
下雨天,留客;天天留我!不留。
同 樣的,人使用電腦,也需要一種清楚的辦法來確定指令(命令),一點不能含混不清。技術點的說,人是透過『人機介面』操作電腦。這個『介』或 『界』字一般泛指『兩者之間』的意思,『介面』或譯『界面』interface 一詞在電腦術語的用法上,通常表達物與物的交接處,功能操作的地方。比如說「應用軟體界面 API」指的是電腦程式如何使用軟體系統所提供的「功能程式庫 library」;USB 介面是指電腦主機和 USB 裝置間的硬體介面;而所謂的終端機則提供了人與電腦作業系統的『文字界面』。
─── 《除蟲!除錯?終端機。》
意料之外的事讓人措手不及。怎知採用升級法竟會發生 X Window 開機後沒畫面情況?分明啟動時還有動畫!不得已重新安裝,似乎結果雷同??上網谷歌 google 一番,幾乎全是舊聞,倒是看到一則有關 Debian 9.1 stretch 消息
Re: Missing HDMI display
,心想 PC + Intel + HDMI 到底如何與樹莓派相干的呢?!
祇好拿出軟、硬工具準備除錯呦!!
且先查詢和複習久未使用之軟體文件
pi@raspberrypi:~ $ tvservice --help Usage: tvservice [OPTION]... -p, --preferred Power on HDMI with preferred settings -e, --explicit="GROUP MODE DRIVE" Power on HDMI with explicit GROUP (CEA, DMT, CEA_3D_SBS, CEA_3D_TB, CEA_3D_FP, CEA_3D_FS) MODE (see --modes) and DRIVE (HDMI, DVI) -t, --ntsc Use NTSC frequency for HDMI mode (e.g. 59.94Hz rather than 60Hz) -c, --sdtvon="MODE ASPECT [P]" Power on SDTV with MODE (PAL or NTSC) and ASPECT (4:3 14:9 or 16:9) Add P for progressive -o, --off Power off the display -m, --modes=GROUP Get supported modes for GROUP (CEA, DMT) -M, --monitor Monitor HDMI events -s, --status Get HDMI status -a, --audio Get supported audio information -d, --dumpedid <filename> Dump EDID information to file -j, --json Use JSON format for --modes output -n, --name Print the device ID from EDID -h, --help Print this information
XRANDR(1) General Commands Manual XRANDR(1) NAME xrandr - primitive command line interface to RandR extension SYNOPSIS xrandr [--help] [--display display] [-q] [-v] [--verbose] [--dryrun] [--screen snum] [--q1] [--q12] [--current] [--noprimary] [--panning widthxheight[+x+y[/track_widthxtrack_height+track_x+track_y[/bor‐ der_left/border_top/border_right/border_bottom]]]] [--scale xxy] [--scale-from wxh] [--transform a,b,c,d,e,f,g,h,i] [--primary] [--prop] [--fb widthxheight] [--fbmm widthxheight] [--dpi dpi] [--newmode name mode] [--rmmode name] [--addmode output name] [--delmode output name] [--output output] [--auto] [--mode mode] [--preferred] [--pos xxy] [--rate rate] [--reflect reflection] [--rotate orientation] [--left-of output] [--right-of output] [--above output] [--below output] [--same- as output] [--set property value] [--off] [--crtc crtc] [--gamma red:green:blue] [--brightness brightness] [-o orientation] [-s size] [-r rate] [-x] [-y] [--listproviders] [--setprovideroutputsource provider source] [--setprovideroffloadsink provider sink] DESCRIPTION
CHVT(1) General Commands Manual CHVT(1) NAME chvt - change foreground virtual terminal SYNOPSIS chvt N DESCRIPTION The command chvt N makes /dev/ttyN the foreground terminal. (The cor‐ responding screen is created if it did not exist yet. To get rid of unused VTs, use deallocvt(1).) The key combination (Ctrl-)LeftAlt-FN (with N in the range 1-12) usually has a similar effect. 26 January 1997 CHVT(1)
就探虎穴吧!?