圖形使用者界面

圖形使用者界面（Graphical User Interface，縮寫：GUI）是指採用圖形方式顯示的電腦操作使用者介面。與早期電腦使用的命令行界面相比，除了降低使用者的操作負擔之外，對於新使用者而言，圖形界面對於使用者來說在視覺上更易於接受，學習成本大幅下降，也讓電腦的大眾化得以實現。

雖然圖形使用者界面已經成為現代電腦的主要介面，然而這介面必定要透過在顯示器的特定位置，以「各種美觀、而不單調的視覺訊息」提示使用者「狀態的改變」，勢必得比簡單的文字訊息呈現，花上更多的電腦運算能力，計算「要改變顯示器哪些光點，變成哪些顏色」，功能命令的設計也比較複雜，現代作業系統的圖形複雜程度更遠超早期的GUI。

## 歷史變遷

- 1950年代SAGE Project（美國空軍防空系統）和Ivan Sutherland提出，其於1963年開發的 Sketchpad 軟體為現在電腦輔助設計（CAD）的先驅。
- 1968年，道格拉斯·恩格爾巴特在 SRI（Stenford Research Institute）開發 OLS 在線系統，並在ACM/IEEE會議上展示了所有演示之母，首次導入滑鼠作為互動介面。
- 1970年，部分 SRI 的研究人員進入施樂公司參與開發地球上第一個 WIMP 系統（視窗、圖標、選單和指針/下拉式選單），希望打造孩子也能輕鬆使用的系統。
- 1973年第一個可視化操作的電腦在施樂帕洛阿爾托研究中心（Xerox PARC）完成。該產品名為Alto，但當時GUI是面向計算工作站開發的，用在文書處理還是新概念，Alto雖然沒有販售，但取得的研發經驗眾多，是第一個把電腦所有元素所見即所得結合到一起的圖形界面作業系統。它使用3鍵滑鼠、位運算顯示器、圖形窗口、乙太網絡連接。
- 1980年Three Rivers公司推出Perq圖形工作站，圖形使用者界面（GUI）開始進入廠商視野中，不過此時電腦性能有限，能搭載GUI的產品主要是工作站等級的電腦，一般大眾很難接觸到。
- 1981年施樂公司意識到後，才推出了Alto的繼承者Star，曾首次使用了窗口設計。這部電腦仍為了工作站使用。
- 1983年蘋果電腦公司推出Apple Lisa個人電腦，是全球第一款搭載圖形介面的個人電腦，但沒有取得商業上的成功。
- 1984年蘋果電腦公司推出Macintosh，這次GUI造成了首次風行。
- 1985年微軟公司發布了Windows 1.0，該圖形介面基於MS-DOS運行，是微軟自家的首個窗口系統圖形介面。
- 1986年首款用於Unix的窗口系統X Window System發布。
- 1988年IBM發布OS/2 1.10標準版演示管理器（Presentation Manager），這是第一種支持Intel電腦的穩定的圖形界面。
- 1992年微軟公司發布Windows 3.1，增加了多媒體支持。
- 1995年微軟的Windows 95發布，其視窗作業系統的外觀基本定型。
- 1996年微軟發布Microsoft Bob，此軟體具有動畫助手和有趣的圖片。
- 1996年IBM發布OS/2 Warp 4，它的交互界面得到顯著改善，至今仍有不少ATM運行這樣的系統。
- 1997年KDE和GNOME兩大開源桌面項目啟動。
- 1997年蘋果電腦公司發布Mac OS 8，這個系統具有三維外觀並提供了SpringLoaded Folder功能。
- 2000年蘋果電腦公司推出Mac OS X系統的默認外觀Aqua。
- 2001年微軟發布Windows XP，實現了主題支持。
- 2003年Mac OS X v10.3提供了一鍵單擊訪問任何已打開窗口的功能。
- 2003年Sun公司的Java桌面系統為GNOME桌面添加了和Mac類似的效果。
- 2006年微軟發布Windows Vista，對此前其視窗作業系統的外觀作了較大的修改，實現了Windows Aero功能。

## 概要

在圖形使用者界面中，電腦畫面上顯示窗口、圖標、按鈕等圖形，表示不同目的之動作，使用者通過滑鼠等指針設備進行選擇。

### 組成

桌面：在啟動時顯示，也是界面中最底層，有時也指代包括窗口、文件瀏覽器在內的「桌面環境」。在桌面上由於可以重疊顯示窗口，因此可以實現多任務化。一般的界面中，桌面上放有各種應用程式和數據的圖標，使用者可以依此開始工作。桌面與既存的文件夾構成理念相違背，所以要以特殊位置的文件夾的參照形式來定義內容。比如在微軟公司的Windows XP系統中，各種使用者的桌面內容實際保存在`系統碟（預設為C槽）:\Documents and Settings\[使用者名稱]\桌面`資料夾（檔案夾）內。

牆紙，即桌面背景。可以設置為各種圖片和各種附件，成為視覺美觀的重要因素之一

視窗：應用程式為使用數據而在圖形使用者界面中設置的基本單元。應用程式和數據在窗口內實現一體化。在窗口中，使用者可以在窗口中操作應用程式，進行數據的管理、生成和編輯。通常在窗口四周設有菜單、圖標，數據放在中央。

在窗口中，根據各種數據/應用程式的內容設有標題欄，一般放在窗口的最上方，並在其中設有最大化、最小化（隱藏窗口，並非消除數據）、最前面、縮進（僅顯示標題欄）等動作按鈕，可以簡單地對窗口進行操作。

- 單一文件介面（Single Document Interface）
- 在窗口中，一個數據在一個窗口內完成的方式。在這種情況下，數據和顯示窗口的數量是一樣的。若要在其他應用程式的窗口使用數據，將相應生成新的窗口。因此窗口數量多，管理複雜。
- 多文件界面（Multiple Document Interface）
- 在一個窗口之內進行多個數據管理的方式。這種情況下，窗口的管理簡單化，但是操作變為雙重管理。
- 標籤
- 多文件界面的數據管理方式中使用的一種界面，將數據的標題在窗口中並排，通過選擇標籤標題顯示必要的數據，這樣使得接入數據方式變得更為便捷。

選單：將系統可以執行的命令以階層的方式顯示出來的一個界面。一般置於畫面的最上方或者最下方，應用程式能使用的所有命令幾乎全部都能放入。重要程度一般是從左到右，越往右重要度越低。命定的層次根據應用程式的不同而不同，一般重視文件的操作、編輯功能，因此放在最左邊，然後往右有各種設置等操作，最右邊往往設有幫助。一般使用滑鼠的第一按鈕進行操作。

- 環境選單（又稱功能表、上下文菜單（Context Menu））
- 與應用程式準備好的層次菜單不同，在菜單欄以外的地方，通過滑鼠的第二按鈕調出的菜單稱為「即時菜單」。根據調出位置的不同，菜單內容即時變化，列出所指示的對象目前可以進行的操作。

圖標：顯示在管理數據的應用程式中的數據，或者顯示應用程式本身。

數據管理程序，即在文件夾中使用者數據的管理、進行特定數據管理的程序的情況下，數據通過圖標顯示出來。通常情況下顯示的是數據的內容或者與數據相關聯的應用程式的圖案。另外，點擊數據的圖標，一般可以直接完成啟動相關應用程式以後再顯示數據本身這兩個步驟的工作。

應用程式的圖標只能用於啟動應用程式。

按鈕：菜單中，利用程度高的命令用圖形表示出來，配置在應用程式中，成為按鈕。

應用程式中的按鈕，通常可以代替菜單。一些使用程度高的命令，不必通過菜單一層層翻動才能調出，極大提高了工作效率。但是，各種使用者使用的命令頻率是不一樣的，因此這種配置一般都是可以由使用者自定義編輯。

### 其他

回收站：為了實現文件刪除的「假安全」功能而設置了「回收站」（垃圾桶）功能。在文件刪除的時候，暫時將其移動到系統特定的地方，一旦使用者發現刪除錯誤，還可以將其找回，從而實現防止錯誤刪除的目的。在麥金塔系統中，垃圾桶不僅可以刪除文件，還可以進行各種各樣對象的刪除功能，如將移動硬碟從系統中移出，將光碟從光碟機中取出等等。

應用程式啟動器：從圖形界面上啟動應用程式有很多方式，有好幾種作業系統都採用菜單形式的程序啟動器。NEXTSTEP和Mac OS X中有一種稱為dock的操作面板型的工具，可以存放各種文件和應用程式的資訊，並通過滑鼠點擊調出。

### 圖形使用者界面的工作管理

在圖形使用者界面中，使用者操作是以窗口為單位的。除了MDI和Mac OS以外，大多都是「窗口數量=工作數量」。因此在看整體界面的時候，怎樣進行工作管理是很重要的。Windows等作業系統中，最常用的方式是在桌面上設置一個棒狀的「任務欄」，放置各種窗口的圖標和標題，確保系統的可操作性和可視性，方便對窗口進行管理。其他的方法包括，在桌面上的菜單中添加各個窗口管理菜單，在桌面上顯示任務的圖標，用虛擬桌面的方式表面增加桌面的數量等等。在Mac OS X系統中使用Dock進行任務管理，但是還有Exposé進行窗口一覽顯示模式的功能。

### 指針設備的操作

圖形使用者界面的基本操作是，用指針設備（一般是滑鼠）進行指示操作，然後使用設備上的按鈕（通常為兩到三個）進行動作的激活。因此「位置」和「指示」都非常明瞭，從而實現可視操作。

指示的內容根據位置而不同。在數據管理應用程式中，第一按鈕進行指針所在位置數據的選擇，而兩次連續按鈕（所謂「雙擊」）可以調出預製的應用程式開始處理數據。

第二按鈕通常用來顯示即時菜單。第二按鈕調出的菜單可以再用第一按鈕進行選擇打操作。第三按鈕在X Window System中比較常用。

另外，最近四鍵、五鍵滑鼠相繼問世，各個按鈕可以在作業系統中進行動作定義。

### 圖形使用者界面與鍵盤

和命令使用者界面一樣，鍵盤在圖形使用者界面仍是一個重要的設備。鍵盤不僅可以輸入數據的內容，而且可以通過各種預先設置的「快捷鍵」等鍵盤組合進行命令操作達到和菜單操作一樣的效果，並極大提高工作效率。

### 圖形使用者界面與各種設備

除了上述的設備以外，手寫板等操作，特別是在圖像數據操作中也扮演重要的角色。

### 觸控螢幕圖形使用者界面

現在還有很多一些使用者界面，直接用手指、或者特殊的筆端觸摸觸控螢幕上顯示的按鈕、圖標進行各種操作，已經非常普及，如自動取款機，汽車導航、媒體播放器、遊戲機等等，一般操作簡捷，直觀。蘋果公司的iPhone手機還有裝有支持多點觸控的作業系統。

## 採用圖形使用者界面的作業系統/應用程式

- Smalltalk
- MacOS
- NEXTSTEP
- Microsoft Windows
- X Window System（類Unix OS、Linux）
- BTRON
- TownsOS
- MSX-View
- SX-Window
- BeOS
- Newton OS
- Zaurus OS
- Palm OS
- iOS
- Android
- Firefox OS
- Pig OS
- HarmonyOS