Linux không có hệ điều hành đồ họa nhưng có tài nguyên đồ họa


23

Trải nghiệm máy tính đầu tiên của tôi là với một người bán hàng. Tôi muốn có máy tính Linux hoạt động tương tự như vậy. Tôi đã tự hỏi nếu có thể có một cái gì đó tương tự bằng cách sử dụng Linux.

Những gì tôi muốn thấy là khi tôi khởi động máy của mình vào dòng lệnh, và không vào GUI nhưng có sẵn tài nguyên đồ họa. Vì vậy, khi tôi gõ nói: Firefox, chương trình và giao diện đồ họa của nó sẽ được cung cấp. Khi tôi thoát Firefox, nó sẽ trở về dòng lệnh. Nếu tôi cần duyệt hệ thống tập tin, tôi đã gõ: XFE hoặc bất kỳ trình quản lý nào đang được sử dụng và nó xuất hiện và cho phép tôi duyệt thư mục, và khi tôi thoát thì nó sẽ quay trở lại dòng lệnh. Vì vậy, khả năng chạy, quản lý và sử dụng các chương trình mà không phải sử dụng GUI nhưng có sẵn đồ họa.

Nó sẽ là tốt đẹp để có tất cả điều này hướng đến lập trình. Vì vậy, tại dòng lệnh BASH, có khả năng gọi IDE môi trường trình biên dịch và chỉ cần bắt đầu viết chương trình mà không bị phân tâm bởi môi trường máy tính để bàn.

Và nếu nhiều hơn một chương trình đồ họa đang chạy thì tôi đoán có một trình quản lý cửa sổ theo thẻ. Điều này là khả thi hay tôi đang mơ?


22
Bạn chỉ đang tìm kiếm một konsole / gnome-terminal / xterm tối đa?
dùng253751

nhưng điều này sau đó không liên quan gì đến Ubuntu ;-) Tốt hơn hãy hỏi điều này trên U & L unix.stackexchange.com
Rinzwind

11
Tôi muốn mời bạn nhấn Ctrl + Alt + F1 thông qua Ctrl + Alt + F7 tương ứng.
Michael Hampton

1
Một tùy chọn khác là sử dụng xterm làm trình quản lý cửa sổ. Không thể kiểm tra điều này ngay bây giờ nhưng nó phải được chỉnh sửa ~ / .Xsession và đặt dòng cuối cùng thành / usr / bin / xterm mà không có & vì vậy quá trình này là một kết thúc không tồn tại. Khi xterm này thoát, phiên kết thúc và X sẽ thoát. Có thể cần một số thông số hình học.
Criggie

1
Xterm một mình không giải quyết được vấn đề. Tôi đã tạo ra một cài đặt rất tối thiểu. Sau đó, tôi đã cài đặt Firefox. Nó báo lỗi: GDK_BACKEND không khớp với màn hình có sẵn. Tôi đang thiếu gì?
Linuxuser00

Câu trả lời:


43

Tôi nghĩ bạn có thể nhận được những gì bạn muốn bằng Trình quản lý cửa sổ ốp lát , như i3 hoặc xmonad . Có các trình quản lý cửa sổ tối giản khác với chức năng tương tự. i3 và xmonad đều nằm trong kho của Ubuntu, vì vậy chúng rất dễ cài đặt, và sau đó bạn có thể chọn chúng trong màn hình đăng nhập của mình.


Điều này là gọn gàng và thú vị nhưng nó không chính xác những gì tôi đang tìm kiếm. Tôi muốn thấy mỗi chương trình chạy trong không gian làm việc của riêng mình bằng cách sử dụng toàn bộ màn hình cho chính nó.
Linuxuser00

12
@ Linuxuser00: Tôi nghĩ đó chỉ là vấn đề cấu hình. Hầu hết người dùng của các trình quản lý cửa sổ ốp lát thích sử dụng màn hình lớn của họ để hiển thị thông tin cạnh nhau, nhưng tất cả họ đều hỗ trợ chuyển đổi giữa một số ứng dụng toàn màn hình.
ojdo

Sau khi đọc câu trả lời này, tôi đã thử i3. Nó cảm thấy một chút phản ứng nhanh hơn so với compiz. Nhưng phải mất một số làm quen. Tôi vẫn chưa tìm ra cách làm cho các cửa sổ trong i3 có kích thước chính xác, tôi muốn chúng có.
kasperd

@kasperd ý bạn là mod + R rồi chơi với mũi tên? Sau khi bạn thoát xong?
vimdude

24

Tôi sợ rằng bạn thiếu sự khác biệt chính giữa môi trường máy tính hiện đại và môi trường thời đại C-64. Các máy tính gia đình thời C-64 là người dùng đơn, hệ thống quy trình đơn và không chia sẻ tài nguyên máy tính với các quy trình khác. Điều này khá đơn giản có nghĩa là khi bạn chạy một chương trình trên C-64 là chương trình đồ họa, nó sẽ cấu hình lại phần cứng máy tính của bạn ở chế độ 'đồ họa' và sau đó chương trình đang chạy của bạn sẽ xử lý tất cả đầu ra đồ họa và người dùng đầu vào từ chuột và bàn phím chính nó.

Ngược lại, máy tính hiện đại và phần mềm của nó là đa người dùng, đa tiến trình, nhưng không chỉ thế, phần mềm hiện đại này phụ thuộc vào các thư viện dùng chung, ví dụ Firefox dựa vào thư viện cửa sổ GTK và đến lượt nó phụ thuộc vào các thư viện cấp thấp khác. Vì vậy, để Firefox chạy, nó phụ thuộc vào cả đống phần mềm và cấu hình.

Do có quá nhiều phần mềm cơ bản, điều này giúp cho việc ở trong môi trường đồ họa hiệu quả hơn một khi nó khởi động, thay vì tải lên môi trường đồ họa cho Firefox, sau đó tắt nó, sau đó khởi động môi trường đồ họa cho một chương trình khác, vân vân và vân vân.

Bạn hoàn toàn có thể bắt đầu và chạy bất kỳ chương trình GUI Linux nào từ cửa sổ terminal (console), vì vậy tôi khuyên bạn nên chọn cho mình một môi trường đồ họa đơn giản, có thể là Enlightenment hoặc Openbox , và chỉ chạy mọi thứ từ cửa sổ terminal / xterm.


11

Tôi đồng ý với Eduar, bạn có thể muốn Trình quản lý cửa sổ ốp lát / động (WM). Nhưng không ai trực tiếp giải quyết:

Những gì tôi muốn thấy là khi tôi khởi động máy vào dòng lệnh

Hiện tại bạn nên khởi động vào Trình quản lý hiển thị (DM) nơi bạn đăng nhập. Vì vậy, bạn có hai tùy chọn, khởi động vào shell hoặc DM console.

Nếu bạn không có DM được thiết lập thì bạn sẽ mặc định đăng nhập vào shell, điều này sẽ cung cấp cho bạn lời nhắc đăng nhập tên người dùng, sau đó nhập mật khẩu chính xác, sau đó bạn sẽ đăng nhập vào shell mặc định của mình. Tôi sử dụng cái này và sau đây là khoảng 'quá trình' khởi động trung bình của tôi:

Arch Linux 4.1.5-1-ARCH (tty1)

localhost login: Joe
Password: 
$ startx

Nếu bạn muốn có DM, nhưng một bàn điều khiển thì bạn sẽ phải cài đặt và định cấu hình nó. Wiki của Arch hiện cho biết có ba DM console là: CDM, Console TDM và gật đầu .

Ubuntu sử dụng LightDM theo mặc định , vì vậy bạn có thể phải xóa nó.
Nhưng với tư cách là một người hiện không có DM, tôi khuyên bạn nên giữ lại DM hiện tại của mình và chỉ cần thay đổi WM của bạn. Thật tẻ nhạt khi phải gõ startxvà từ bộ nhớ khiến nó tự động thực thi chính xác gây khó chịu cho việc thiết lập.


Ubuntu sử dụng lightdm theo mặc định, ít nhất là trên biến thể Unity.
Léo Lam

Về mặt chạy startxtự động, tôi tin rằng mỗi tài khoản có một tập lệnh bash được chạy khi đăng nhập (hoặc tương đương với các shell khác)
Nick Mertin

Xin vui lòng tha thứ cho tôi nếu điều này là hoàn toàn không chính xác, nhưng vì .bash_profilelà một tập lệnh bash thông thường, bạn có thể không đơn giản đưa startxvào nó không?
Nick Mertin

@ MagikM18 Nếu bạn muốn chạy shell bash tương tác sau khi X bắt đầu thì sao? Nếu không có bất kỳ kiểm tra, .bash_profilesẽ cố gắng chạy startxlại.
joeytwiddle

@joeytwiddle đúng, tôi không nghĩ về điều đó
Nick Mertin

10

startx và xinit đều có thể được trao cho một khách hàng ban đầu để bắt đầu. Lệnh sau:

startx /usr/bin/firefox

sẽ quay một xserver trên TTY mà bạn hiện đang làm việc và bắt đầu một phiên bản firefox duy nhất trong một cái gì đó như toàn màn hình. Bạn có thể chuyển sang các tty khác để tránh phải hạ phiên firefox chỉ để quay lại bàn điều khiển hoặc đưa các khách hàng khác đến đó. Bạn có thể phải chỉ định rất nhiều tùy chọn để làm cho màn hình này đẹp hơn vì bạn sẽ không có môi trường máy tính để bàn thực hiện một số cấu hình đó cho bạn.

Bạn nên lưu ý rằng một số xclents không hoạt động độc đáo bên ngoài các trình quản lý cửa sổ hoặc môi trường máy tính để bàn. Không có DE cung cấp trang trí cửa sổ và không nghe WM cho các tổ hợp phím MOD, vì vậy nếu chúng không cung cấp cách thoát đồ họa, bạn sẽ phải giết tiến trình (hoặc X) từ một TTY khác.

Thông thường, ứng dụng khách ban đầu mà mọi người sử dụng với X là môi trường máy tính để bàn hoặc trình quản lý cửa sổ, đây chỉ là một loại máy khách đặc biệt khởi chạy và nhúng các máy khách khác ngoài việc hiển thị cửa sổ riêng.


10

Lựa chọn thay thế

Chế độ bộ đệm

Có một số chương trình có khả năng chạy ở chế độ bộ đệm khung. Chế độ Framebuffer cho phép một ứng dụng có toàn bộ màn hình, cho phép ứng dụng vẽ bất cứ thứ gì nó muốn trên màn hình theo pixel. Không phải tất cả các chương trình hỗ trợ nó, nhưng có một số ít làm.

Chế độ Framebuffer không yêu cầu Máy chủ X (chẳng hạn như X.orgtrong các phiên bản Ubuntu hiện tại hoặc trong tương lai gần có thể Mirhoặc Waylandtùy thuộc vào loại nào trở nên phổ biến hơn) hoặc bất kỳ môi trường quản lý cửa sổ / máy tính để bàn nào sẽ được bắt đầu. Điều này sẽ cung cấp cho bạn văn bản nhanh hơn để chuyển đổi chế độ đồ họa (và trở lại), đặc biệt là trên (hầu hết?) Các trình điều khiển Linux hiện đại và trình điều khiển đồ họa được điều khiển Alt-F[1-6]bằng cách sử dụng chế độ bộ đệm khung.

"Giao diện người dùng văn bản" (TUI)

Một số chương trình thường chỉ hỗ trợ dòng lệnh bằng chuột thông qua gpm. Trên Ubuntu, tất cả những gì bạn cần làm chỉ là cài đặt gói gpmvà nó sẽ hoạt động ngay lập tức mà không cần bất kỳ cấu hình hoặc thậm chí khởi động lại cần thiết (IIRC). Sau khi gpmđược cài đặt, con trỏ chuột của bạn sẽ được hiển thị dưới dạng con trỏ văn bản kiểu khối và bạn có thể sử dụng chuột như bình thường để nhấp vào các thành phần của giao diện người dùng. Bạn cũng có thể đánh dấu văn bản và sử dụng bản sao và dán.

Nếu bạn muốn tiến thêm một bước, thậm chí còn có một "trình quản lý cửa sổ" cho phép bạn chạy nhiều ứng dụng đầu cuối trên cùng một chế độ văn bản "máy tính để bàn".


Danh sách không đầy đủ các chương trình hỗ trợ chế độ bộ đệm khung

  • mc (Midnight Commander) - quản lý tập tin
  • Liên kết / Liên kết 2, Netsurf - trình duyệt web
  • fbi - người xem hình ảnh
  • fbss (liên quan đến fbi, một phần của cùng một bộ), fbpdf - Trình xem PDF
  • mplayer, fbff (dựa trên ffmpeg) - phát lại âm thanh / video

Điều này nghe thực sự tốt, nếu chỉ có nó không quá giới hạn, cảm ơn bạn.
Linuxuser00

Xin chào @ Linuxuser00. Có một vài chương trình nữa, tôi chỉ không có thời gian để liệt kê thêm :)
Pabru

Xin chào @ Linuxuser00, tôi đã thêm một vài thứ nữa nếu bạn vẫn quan tâm
Ngày

5

Xem xét việc sử dụng trình quản lý cửa sổ như FVWM2, thay vì "máy tính để bàn". Bạn có thể định cấu hình để mở chỉ một (hoặc nhiều) xterms khi khởi động, có thể chạy bất kỳ ứng dụng đồ họa nào như trình duyệt web từ dòng lệnh, không bị làm phiền bởi các công cụ trên máy tính để bàn như "khay hệ thống" hoặc các biểu tượng cho mọi thứ, nhưng có thể thêm bất kỳ bit nào trong số đó bạn có thể thấy thực sự hữu ích. (Trong trường hợp của tôi, đó là cửa sổ máy nhắn tin cho nhiều màn hình và màn hình tải Conky.)


Tôi hiện đang chơi xung quanh với cái này. Có thể tôi không có cấu hình đúng lúc này nhưng dường như không ổn định và bị sập.
Linuxuser00

Humm ... Tôi đã chạy nó từ - ồ, đôi khi vào cuối thế kỷ 20 - và không có vấn đề gì. Nhưng tôi sử dụng OpenSuSE chứ không phải Ubuntu vì (trong số các lý do khác) có vẻ đơn giản hơn khi sử dụng trình quản lý cửa sổ thay vì 'máy tính để bàn' mặc định. Nếu bạn muốn đi xa hơn, FVWM có một diễn đàn hỗ trợ: fvwmforums.org/phpBB3 Thủ thuật để đăng ký là họ hỏi bạn một câu hỏi về "xếp hàng". Câu trả lời là các thành viên của Beatles, một nhóm nhạc pop thập niên 60. (Tôi đã phải tìm kiếm câu trả lời của Google ngay cả khi tôi ở khoảng thập niên 60.)
jamesqf

4

Điều này là rất có thể.

Trước tiên, bạn cần phải tắt đồ họa khởi động. Sau đó, bạn muốn "Chế độ một người dùng" (cảnh báo có một số rủi ro bảo mật cực kỳ nghiêm trọng với điều này), cuối cùng bạn cần giải quyết những việc cần làm khi bạn muốn chạy GUI.

Xem Làm cách nào để tôi khởi động vào chế độ một người dùng từ GRUB?

Về cơ bản, bạn thêm tùy chọn singlevào cấu hình khởi động GRUB của bạn. Bạn có thể làm điều này trong tệp / etc / default / grub để thay đổi vĩnh viễn.

Xem Làm cách nào để tắt X khi khởi động để hệ thống khởi động ở chế độ văn bản?

Về cơ bản, bạn thêm textvào tùy chọn của mình trong/etc/default/grub

Điều này sẽ cung cấp cho bạn một người dùng duy nhất, môi trường chỉ văn bản. Tiếp theo là sử dụng GUI. Chương trình bạn muốn chạy làstartx

Bạn sẽ chạy

startx /path/to/executable

Vấn đề là bạn có thể muốn một trình quản lý cửa sổ nào đó. Tôi sẽ đề nghị twmnhu cầu của bạn.

sudo apt-get install twm

Sau đó, để chạy các lệnh, tôi sẽ nói chạy startxsau đó quay trở lại bảng điều khiển của bạn (CTRL + ALT + F1) và làm một cái gì đó như thế export DISPLAY=:0. Bây giờ, khi bạn sử dụng ứng dụng GUI từ dòng lệnh, nó sẽ khởi chạy trong "Mặt đồ họa" mà bạn có thể nhận được bằng Ctrl + Alt + F7 (thường).

Nếu bạn thích thiết lập đó, bạn thậm chí có thể tự động hóa thiết lập của nó bằng một tập lệnh.

Rằng nó, gần như bạn sẽ nhận được, với rất nhiều công việc.


Tại sao bạn cần Chế độ một người dùng?
MSalters

"Những gì tôi muốn thấy là khi tôi khởi động máy của mình vào dòng lệnh, ...". Các máy tính "Hàng hóa" cũ không có nhiều người dùng. Họ không phải là "người dùng". Bạn bật chúng lên và nhận được một con trỏ mờ để gõ lệnh. Tất cả các lệnh đã được thử và không có bảo mật để nói. Điều gần nhất với ngày hôm nay là "chế độ người dùng đơn", về cơ bản bắt đầu bạn đăng nhập với quyền root, bỏ qua hầu hết, nếu không phải tất cả, bảo mật.
coteyr

Aha, tôi đã nghi ngờ bạn đã nhầm lẫn. Không có lý do chính đáng tại sao bạn muốn Chế độ người dùng đơn ở đây. Trong Linux, chế độ một người dùng so với chế độ nhiều người dùng độc lập với lựa chọn GUI hoặc CLI.
MSalters

Không, tôi không bối rối. OP đã yêu cầu một môi trường giống như một hàng hóa càng tốt. Điều này có nghĩa là không bảo mật, không có nhiều người dùng và đăng nhập. Cách tốt nhất để đến gần với điều này là chế độ người dùng. Hai mục tiêu không liên quan đến nhau, bạn có thể có quyền truy cập bàn điều khiển với nhiều người dùng, bạn có thể có GUI với một người dùng. Đó là hai phần của mục tiêu tổng thể lớn hơn.
coteyr

Không, tôi không muốn một môi trường gần nhất có thể như Hàng hóa. Tôi muốn sự đơn giản tương tự như Commodore (không có hệ điều hành đồ họa). Bash một mình là tuyệt vời, nhưng muốn vào một môi trường mã hóa nếu tôi muốn mã hóa hoặc vào một môi trường trình duyệt nếu tôi muốn lướt mạng và vv. Và khi kết thúc với các chương trình này, hãy đóng chúng lại và quay lại BASH. hoặc có thể có nhiều chương trình chạy trong không gian làm việc của riêng họ. Tôi đã bận rộn và không thể thực hiện một số phương pháp được thảo luận cho đến nay.
Linuxuser00

3

Tôi thích chuột cho những gì bạn đang cố gắng làm. Tôi sẽ không đăng ảnh chụp màn hình vì bạn không thể biết sự khác biệt so với ảnh chụp màn hình của xterm (hoặc bất kỳ ứng dụng nào bạn đang chạy). Trong cấu hình tiêu chuẩn của nó, nó sẽ hiển thị một cửa sổ toàn màn hình. Bạn có thể chia nó để hiển thị nhiều cửa sổ, nhưng trong phần lớn thời gian sử dụng hàng ngày của tôi thì tôi không. Nếu bạn khởi động trình giả lập thiết bị đầu cuối từ tệp .ratpoisionrc, bạn sẽ nhận được lời nhắc gần như ngay khi đăng nhập. Nó được lấy cảm hứng từ màn hình gnu và khái niệm duy nhất mà họ bỏ lỡ là các phiên có thể tháo rời và chia sẻ (nhưng vnc sẽ lấp đầy khoảng trống đó) .


2

Tôi nghĩ bạn có thể có được những gì bạn muốn mà không cần vứt bỏ máy tính để bàn. Như các câu trả lời khác đã được đưa ra, bạn có thể sẽ có hiệu suất tốt hơn với máy tính để bàn chạy mọi cách và có những lý do kỹ thuật chạy linux như một hệ điều hành cũ hơn sẽ không thực sự hoạt động.

Tôi sẽ sử dụng gnome làm quy trình ví dụ của mình vì đó là những gì tôi biết, nhưng tôi đoán các môi trường máy tính để bàn khác cũng sẽ hỗ trợ chức năng tương tự. Trong gnome 3, bạn có thể có một không gian làm việc (hoặc nhiều) với một thiết bị đầu cuối toàn màn hình có giao diện giống như đang chạy trong chế độ chỉ dòng lệnh. Thực tế là máy tính để bàn gnome đang chạy trong nền là không liên quan.

Sau đó, bằng cách sử dụng trình quản lý cửa sổ (chẳng hạn như câu hỏi được thảo luận trong câu hỏi SO này ) để kiểm soát không gian làm việc nào các cửa sổ mới được tạo trên đó, bạn có thể buộc mỗi cửa sổ mới được đặt trên không gian làm việc của chính nó. Nếu bạn sẵn sàng tự di chuyển các cửa sổ khi chúng được tạo, thì bạn không cần bất kỳ phần mềm nào ngoài gnome. Gnome 3 hỗ trợ các không gian làm việc tự động, vì vậy khi bạn mở / đóng các cửa sổ trên không gian làm việc chung, các không gian làm việc mới sẽ tự động được tạo / xóa cho chúng. Sau đó, bạn có thể chỉ cần sử dụng ctrl + alt + arrowđể nhanh chóng di chuyển giữa chúng. Khi bạn đóng một cửa sổ, không gian làm việc được bật sẽ tự động bị xóa và hai không gian làm việc ở mỗi bên di chuyển cùng nhau. Tất cả những gì bạn từng thấy là các cửa sổ bạn đã mở và thiết bị đầu cuối.


Điều này nghe có vẻ đúng. Có lẽ Openbox và Gnome sẽ cho tôi những gì tôi muốn?
Linuxuser00

Tôi chưa sử dụng openbox (hoặc bất kỳ trình quản lý cửa sổ nào khác) nên bạn sẽ phải tự đánh giá chúng), nhưng tôi chạy gnome 3 trên máy tính xách tay của mình và sử dụng quy trình làm việc được mô tả trong câu trả lời này (di chuyển các cửa sổ theo cách thủ công). Tôi khá hài lòng với nó mặc dù việc sắp xếp lại các cửa sổ theo thứ tự tôi muốn sau khi chúng được tạo ra sẽ hơi đau hơn một chút.
Godric Seer

2

Cài đặt Xvfb:

apt-get install xvfb

Chạy:

/usr/bin/Xvfb :1 &
export DISPLAY=:1

sau đó chạy bất kỳ phần mềm đồ họa nào bạn thích không đầu.


1

Bạn có thể nhanh chóng chuyển sang giao diện dòng lệnh bằng cách sử dụng [ctrl] [alt] [F1] (hoạt động với [F1] - [F12] tôi nghĩ). Một trong số này cũng sẽ chuyển trở lại GUI của bạn khi bạn cần; Tôi nghĩ đó là [ctrl] [alt] [F8] trên Mint, vì vậy bạn có thể muốn thử cái đó. Mặc dù vậy, tôi sẽ ném mình vào trại "sử dụng một người quản lý cửa sổ ốp lát"; i3 thực sự là một công cụ tuyệt vời.


Có, nhưng vấn đề tôi gặp phải ở đây là có một GUI chạy trong nền sử dụng tài nguyên của tôi vì vậy tôi chỉ nên sử dụng GUI thay vì giả vờ nó không có ở đó.
Linuxuser00

Rất đúng! Một cách để khắc phục điều này là thiết lập HĐH để hoán đổi toàn bộ phiên đó khi nó không hoạt động. Tôi sẽ không quá ngạc nhiên nếu nó tự động làm điều này, nhưng có lẽ đó là điều bạn sẽ cần phải trải qua những rắc rối đáng kể để thiết lập.
Johnathan Andersen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.