Linux tanpa OS grafis tetapi dengan sumber daya grafis

23

Pengalaman komputer pertama saya adalah dengan Commodore. Saya ingin komputer Linux berfungsi seperti itu. Saya bertanya-tanya apakah mungkin memiliki sesuatu yang serupa menggunakan Linux.

Apa yang ingin saya lihat adalah ketika saya mem-boot mesin saya ke dalam command-line, dan tidak ke GUI tetapi memiliki sumber daya grafis yang tersedia. Jadi ketika saya mengetik mengatakan: Firefox, program, dan antarmuka grafisnya tersedia. Ketika saya keluar dari Firefox, ia kembali ke baris perintah. Jika saya perlu menelusuri sistem file mengatakan saya mengetik: XFE atau manajer apa pun yang sedang digunakan dan muncul dan memungkinkan saya untuk menelusuri folder, dan ketika saya keluar kemudian kembali ke baris perintah lagi. Jadi kemampuan untuk menjalankan, mengelola dan menggunakan program tanpa harus menggunakan GUI tetapi memiliki grafik yang tersedia.

Akan menyenangkan untuk memiliki semua ini diarahkan pada pemrograman. Jadi pada baris perintah BASH, miliki kemampuan untuk memanggil IDE lingkungan kompiler dan mulai menulis program tanpa terganggu oleh lingkungan desktop.

Dan jika lebih dari satu program grafis berjalan maka saya punya window manager tab. Apakah ini layak atau saya bermimpi?

Linuxuser00
sumber
22
Anda hanya mencari konsole / gnome-terminal / xterm yang dimaksimalkan?
user253751
tapi ini tidak ada hubungannya dengan Ubuntu ;-) Lebih baik tanyakan ini di U&L unix.stackexchange.com
Rinzwind
11
Saya ingin mengundang Anda untuk menekan Ctrl + Alt + F1 melalui Ctrl + Alt + F7 masing-masing.
Michael Hampton
1
Pilihan lain adalah menggunakan xterm sebagai window manager. Tidak dapat menguji ini sekarang tetapi harus diedit ~ / .Xsession dan setel baris terakhir menjadi / usr / bin / xterm tanpa & sehingga proses ini adalah proses non-terminating yang menjaga X tetap hidup. Ketika xterm ini keluar, sesi selesai dan X akan berhenti. Mungkin perlu beberapa parodi geometri.
Criggie
1
Xterm sendiri tidak menyelesaikan masalah. Saya telah membuat instalasi yang sangat minim. Kemudian saya menginstal Firefox. Dikatakan kesalahan: GDK_BACKEND tidak cocok dengan tampilan yang tersedia. Apa yang saya lewatkan?
Linuxuser00

Jawaban:

43

Saya pikir Anda bisa mendapatkan apa yang Anda inginkan menggunakan Tiling Window Manager, seperti i3 atau xmonad . Ada manajer jendela minimalis lainnya dengan fungsi serupa. i3 dan xmonad keduanya dalam repositori Ubuntu, sehingga mudah dipasang, dan kemudian Anda dapat memilihnya di layar login Anda.

Eduar
sumber
Ini rapi dan menarik tetapi bukan itu yang saya cari. Saya ingin melihat setiap program berjalan di ruang kerjanya sendiri menggunakan seluruh layar untuk dirinya sendiri.
Linuxuser00
12
@ Linuxuser00: Saya pikir itu hanya masalah konfigurasi. Sebagian besar pengguna pengelola jendela suka menggunakan layar besar mereka untuk menampilkan informasi berdampingan, tetapi mereka semua mendukung swichting antara beberapa aplikasi layar penuh.
ojdo
Setelah membaca jawaban ini, saya telah mencoba i3. Rasanya sedikit lebih responsif daripada compiz. Tetapi perlu membiasakan diri. Saya masih belum menemukan cara membuat windows di i3 memiliki ukuran yang tepat, saya ingin mereka memilikinya.
kasperd
@kasperd maksudmu mod + R kemudian bermain dengan panah? lalu setelah kamu selesai melarikan diri?
vimdude
24

Saya khawatir Anda kehilangan perbedaan utama antara lingkungan komputasi modern dan lingkungan era C-64. Komputer rumahan pada era C-64 adalah pengguna tunggal, sistem proses tunggal, dan tidak berbagi sumber daya komputer dengan proses lain. Ini berarti bahwa ketika Anda menjalankan program pada C-64 Anda yang merupakan program grafis, itu akan mengkonfigurasi ulang perangkat keras komputer Anda dalam mode 'grafis' dan kemudian program Anda yang berjalan akan menangani semua output grafis, dan pengguna masukan dari mouse dan keyboard itu sendiri.

Komputer modern dan perangkat lunaknya, sebaliknya, adalah multi-pengguna, multi-proses, tetapi tidak hanya itu, perangkat lunak modern bergantung pada pustaka bersama, misalnya Firefox bergantung pada pustaka windowing GTK, dan pada gilirannya bergantung pada pustaka level bawah lainnya. Jadi agar Firefox dapat berjalan, itu tergantung pada setumpuk perangkat lunak dan konfigurasi.

Karena ada begitu banyak perangkat lunak yang mendasarinya, ini membuatnya lebih efisien untuk tetap berada dalam lingkungan grafis setelah dijalankan, daripada untuk memuat lingkungan grafis untuk Firefox, kemudian mematikannya, kemudian memulai lingkungan grafis untuk program lain, sebagainya dan sebagainya.

Anda dapat dengan mudah memulai dan menjalankan program GUI Linux dari jendela terminal (konsol), jadi saya akan menyarankan Anda untuk memilih sendiri lingkungan desktop grafis sederhana, mungkin Pencerahan atau Openbox , dan jalankan semuanya dari jendela terminal / xterm.

David
sumber
11

Saya setuju dengan Eduar, Anda mungkin menginginkan Tiling / Dynamic Window Manager (WM). Tapi tidak ada yang langsung dialamatkan:

Yang ingin saya lihat adalah ketika saya mem-boot mesin saya ke baris perintah

Saat ini Anda harus boot ke Display Manager (DM) tempat Anda masuk. Jadi Anda memiliki dua opsi, boot ke shell atau DM konsol.

Jika Anda tidak memiliki DM yang diatur maka Anda akan secara default login ke shell, ini akan memberi Anda prompt login username dan password, jika Anda memasukkan kredensial yang benar maka Anda akan login ke shell default Anda. Saya menggunakan ini dan berikut ini kira-kira 'proses' startup rata-rata saya:

Arch Linux 4.1.5-1-ARCH (tty1)

localhost login: Joe
Password: 
$ startx

Jika Anda ingin memiliki DM, tetapi konsol, maka Anda harus menginstal dan mengkonfigurasinya. Wiki Arch saat ini mengatakan ada tiga konsol DM menjadi: CDM, Console TDM dan nodm .

Ubuntu menggunakan LightDM secara default , jadi Anda mungkin harus menghapusnya.
Tetapi sebagai seseorang yang saat ini tidak memiliki DM saya akan merekomendasikan tetap dengan DM Anda saat ini, dan hanya mengubah WM Anda. Sangat membosankan harus mengetik startxdan dari memori membuatnya secara otomatis dieksekusi dengan benar mengganggu pengaturan.

Theresa Lane
sumber
Ubuntu menggunakan lightdm secara default, setidaknya pada varian Unity.
Léo Lam
Dalam hal menjalankan startxsecara otomatis, saya percaya setiap akun memiliki skrip bash yang dijalankan saat login (atau setara dengan shell lainnya)
Nick Mertin
Maafkan saya jika ini benar-benar salah, tetapi karena .bash_profileini adalah skrip bash biasa, tidak bisakah Anda memasukkannya startx?
Nick Mertin
@ MagikM18 Bagaimana jika Anda ingin menjalankan bash shell interaktif setelah X dimulai? Tanpa ada cek, .bash_profilepasti akan coba dijalankan startxlagi.
joeytwiddle
@ joeytwiddle benar, saya tidak memikirkan itu
Nick Mertin
10

startx dan xinit dapat diberikan klien awal untuk memulai. Perintah berikut:

startx /usr/bin/firefox

akan memunculkan xserver pada TTY yang sedang Anda kerjakan, dan memulai instance firefox tunggal dalam sesuatu seperti layar penuh. Anda dapat beralih ke tty lain untuk menghindari harus menurunkan sesi firefox hanya untuk kembali ke konsol, atau untuk membawa klien lain di sana. Anda mungkin harus menentukan banyak opsi untuk menjadikan ini terlihat bagus untuk monitor Anda karena Anda tidak akan memiliki lingkungan desktop yang melakukan beberapa konfigurasi untuk Anda.

Anda harus menyadari bahwa beberapa xclients tidak berfungsi dengan baik di luar window manager atau lingkungan desktop. Tidak ada DE yang menyediakan dekorasi jendela, dan tidak ada WM yang mendengarkan kombo kunci MOD, jadi jika mereka tidak memberikan cara grafis untuk berhenti, Anda harus mematikan proses (atau X) dari TTY lain.

Biasanya yang digunakan klien awal dengan X adalah lingkungan desktop atau window manager yang hanya merupakan jenis klien khusus yang meluncurkan dan menyematkan klien lain selain menampilkan jendelanya sendiri.

Steve Cox
sumber
10

Alternatif

Mode Framebuffer

Ada beberapa program yang mampu berjalan dalam mode framebuffer. Mode Framebuffer memungkinkan aplikasi memiliki layar untuk dirinya sendiri, memungkinkan aplikasi untuk menggambar apa pun yang diinginkan di layar piksel-demi-piksel. Tidak semua program mendukungnya, tetapi ada beberapa yang mendukungnya.

Mode Framebuffer tidak memerlukan X Server (seperti X.orgdalam kasus versi Ubuntu saat ini, atau dalam waktu dekat mungkin Miratau Waylandtergantung mana yang menjadi lebih populer), atau lingkungan window manager / desktop untuk memulai. Ini akan memberi Anda teks yang lebih cepat untuk beralih ke mode grafis (dan kembali), terutama seperti pada distro Linux dan driver grafis modern (sebagian besar?), Alt-F[1-6]Konsol itu tetap menggunakan mode framebuffer.

"Text User Interface" (TUI)

Beberapa program yang biasanya hanya mendukung perintah-baris menggunakan mouse via gpm. Di Ubuntu, yang perlu Anda lakukan hanyalah menginstal paket gpmdan itu akan langsung berfungsi tanpa konfigurasi atau bahkan perlu reboot (IIRC). Setelah gpmdiinstal, penunjuk tetikus Anda akan ditampilkan sebagai kursor teks gaya blok dan Anda dapat menggunakan tetikus seperti biasa untuk mengklik elemen-elemen UI. Anda juga dapat menyorot teks dan menggunakan salin dan tempel.

Jika Anda ingin melangkah lebih jauh, bahkan ada "window manager" yang memungkinkan Anda untuk menjalankan beberapa aplikasi terminal pada mode teks "desktop" yang sama.


Daftar program yang tidak lengkap mendukung mode framebuffer

  • mc (Midnight Commander) - manajer file
  • Tautan / Tautan 2, Netsurf - browser web
  • fbi - penampil gambar
  • fbgs (terkait dengan fbi, bagian dari suite yang sama), fbpdf - PDF viewer
  • mplayer, fbff (berbasis ffmpeg) - pemutaran audio / video
Pabru
sumber
Ini kedengarannya sangat bagus, kalau saja tidak begitu terbatas, terima kasih.
Linuxuser00
Hai @ Linuxuser00. Ada beberapa program lagi, saya hanya tidak punya waktu untuk mendaftar lebih banyak :)
Pabru
Hai @ Linuxuser00, saya sudah menambahkan beberapa jika Anda masih tertarik
Pabru
5

Lihatlah ke menggunakan manajer jendela seperti FVWM2, daripada "desktop". Anda dapat mengonfigurasinya untuk membuka hanya satu (atau lebih) xterms saat boot, dapat menjalankan aplikasi grafis seperti browser web dari baris perintah, tidak terganggu oleh hal-hal desktop seperti "system tray" atau ikon untuk semuanya, tetapi dapat menambahkan setiap bit yang Anda temukan benar-benar bermanfaat. (Dalam kasus saya, itu jendela pager untuk banyak layar, dan monitor beban Conky.)

jamesqf
sumber
Saya saat ini bermain-main dengan yang satu ini. Mungkin saya belum mengkonfigurasinya saat ini tetapi tampaknya tidak stabil dan jatuh pada saya.
Linuxuser00
Humm ... Saya sudah menjalankannya sejak - oh, sekitar akhir abad ke-20 - dan tidak punya masalah. Tapi saya menggunakan OpenSuSE daripada Ubuntu karena (di antara alasan lain) tampaknya lebih mudah menggunakan window manager daripada 'desktop' standar. Jika Anda ingin melangkah lebih jauh, FVWM memiliki forum dukungan: fvwmforums.org/phpBB3 Trik untuk mendaftar adalah mereka mengajukan pertanyaan kepada Anda tentang "line-up". Jawabannya adalah anggota The Beatles, grup pop tahun 60-an. (Saya harus ke Google untuk jawabannya walaupun saya sekitar tahun 60-an.)
jamesqf
4

Ini sangat mungkin.

Pertama, Anda perlu menonaktifkan boot grafis. Maka Anda ingin "Single User Mode" (peringatan ada beberapa risiko keamanan yang cukup ekstrem dengan ini), akhirnya Anda perlu mengatasi apa yang harus dilakukan ketika Anda ingin menjalankan GUI.

Lihat Bagaimana cara boot ke mode pengguna tunggal dari GRUB?

Pada dasarnya Anda menambahkan opsi singleke konfigurasi boot GRUB Anda. Anda dapat melakukan ini di file / etc / default / grub Anda untuk membuat perubahan permanen.

Lihat Bagaimana cara menonaktifkan X saat boot sehingga sistem melakukan booting dalam mode teks?

Pada dasarnya Anda menambahkan textopsi Anda di/etc/default/grub

Ini akan memberi Anda satu pengguna, lingkungan hanya teks. Selanjutnya menggunakan GUI. Program yang ingin Anda jalankan adalahstartx

Anda akan lari

startx /path/to/executable

Masalahnya adalah Anda mungkin menginginkan semacam window manager. Saya akan menyarankan twmkebutuhan Anda.

sudo apt-get install twm

Kemudian untuk menjalankan perintah, saya akan mengatakan jalankan startxlalu kembali ke konsol Anda (CTRL + ALT + F1) dan lakukan sesuatu seperti export DISPLAY=:0. Sekarang kapan pun Anda menggunakan aplikasi GUI dari baris perintah, ia akan diluncurkan di "Sisi Grafis" yang dapat Anda akses dengan Ctrl + Alt + F7 (biasanya).

Jika Anda suka pengaturan itu, Anda bahkan dapat mengotomatiskan pengaturannya dengan skrip.

Itu saja, itu sedekat yang akan Anda dapatkan, tanpa banyak pekerjaan.

kapas
sumber
Mengapa Anda membutuhkan Mode Pengguna Tunggal?
MSalters
"Yang ingin saya lihat adalah ketika saya mem-boot mesin saya ke baris perintah, ...". Komputer "Commodore" yang lama bukan multi-pengguna. Mereka sama sekali bukan "pengguna". Anda menyalakannya dan mendapat kursor blinky untuk mengetik perintah. Semua perintah dicoba dan tidak ada keamanan untuk dibicarakan. Hal yang paling dekat dengan hari itu adalah "mode pengguna tunggal", yang pada dasarnya mulai Anda login sebagai root, memotong sebagian besar, jika tidak semua, keamanan.
coteyr
Aha, saya sudah curiga kamu bingung. Tidak ada alasan bagus mengapa Anda ingin Mode Pengguna Tunggal di sini. Di Linux, mode single-user versus mode multi-user tidak tergantung dari pilihan GUI atau CLI.
MSalters
Tidak, saya tidak bingung. OP meminta lingkungan sebanyak Commodore mungkin. Ini berarti tidak ada keamanan, tidak ada banyak pengguna, dan login. Cara terbaik untuk mendekati ini adalah mode satu pengguna. Kedua tujuan tersebut tidak terkait satu sama lain. Anda dapat memiliki akses konsol dengan banyak pengguna. Anda dapat memiliki GUI dengan satu pengguna. Ini adalah dua bagian dari tujuan keseluruhan yang lebih besar.
coteyr
Tidak, saya tidak ingin lingkungan sedekat mungkin dengan Commodore. Saya ingin kesederhanaan yang mirip dengan Commodore (tidak ada OS grafis). Bash sendiri bagus, tetapi ingin memasuki lingkungan pengkodean jika saya ingin kode atau memasuki lingkungan browser jika saya ingin menjelajahi internet dan sebagainya. Dan setelah selesai dengan program ini, tutup dan kembalikan ke BASH. atau mungkin beberapa program berjalan di ruang kerja mereka sendiri. Saya sibuk dan belum bisa mengimplementasikan beberapa metode yang dibahas sejauh ini.
Linuxuser00
3

Saya suka ratpoison untuk apa yang Anda coba lakukan. Saya tidak akan memposting tangkapan layar karena Anda tidak dapat membedakan dari tangkapan layar xterm (atau aplikasi apa pun yang sedang Anda jalankan). Dalam konfigurasi standarnya menampilkan satu jendela layar penuh. Anda dapat membaginya untuk menampilkan beberapa jendela, tetapi untuk sebagian besar penggunaan sehari-hari saya tidak. Jika Anda memulai emulator terminal dari file .ratpoisionrc Anda, Anda mendapatkan prompt segera setelah Anda masuk. Ini terinspirasi oleh layar gnu, dan satu-satunya konsep yang mereka lewatkan adalah sesi yang dapat dilepas dan dibagi (tetapi vc mengisi celah itu dengan baik) .

Hildred
sumber
2

Saya pikir Anda bisa mendapatkan apa yang Anda inginkan tanpa membuang desktop. Seperti jawaban lain yang telah dibahas, Anda kemungkinan akan mendapatkan kinerja yang lebih baik dengan desktop yang sedang berjalan dan ada alasan teknis menjalankan linux seperti OS yang lebih tua tidak akan bekerja.

Saya akan menggunakan gnome sebagai contoh alur kerja saya karena itu yang saya tahu, tapi saya kira lingkungan desktop lain juga akan mendukung fungsi yang serupa. Di gnome 3 Anda dapat memiliki ruang kerja (atau beberapa) dengan terminal layar penuh yang memiliki tampilan dan nuansa yang sama seperti menjalankan dalam mode hanya baris perintah. Fakta bahwa desktop gnome berjalan di latar belakang tidak relevan.

Kemudian, menggunakan manajer jendela (seperti yang dibahas dalam pertanyaan SO ini ) untuk mengontrol di mana ruang kerja jendela baru dibuat, Anda dapat memaksa setiap jendela baru untuk ditempatkan di ruang kerja sendiri. Jika Anda bersedia untuk memindahkan windows sendiri ketika mereka dibuat, maka Anda tidak memerlukan perangkat lunak apa pun di luar gnome. Gnome 3 mendukung ruang kerja otomatis, sehingga saat Anda membuka / menutup jendela di ruang kerja paling bawah, ruang kerja baru akan secara otomatis dibuat / dihapus untuk mereka. Maka Anda bisa menggunakan ctrl + alt + arrowuntuk bergerak cepat di antara mereka. Saat Anda menutup jendela, ruang kerja yang dihidupkan akan dihapus secara otomatis, dan dua ruang kerja di setiap sisi bergerak bersamaan. Yang pernah Anda lihat adalah jendela yang Anda buka dan terminal.

Pelihat Godric
sumber
Ini kedengarannya benar. Mungkin Openbox dan Gnome akan memberi saya apa yang saya inginkan?
Linuxuser00
Saya belum pernah menggunakan openbox (atau pengelola jendela lainnya) sehingga Anda harus mengevaluasinya sendiri), tetapi saya menjalankan gnome 3 di laptop saya dan menggunakan alur kerja yang dijelaskan dalam jawaban ini (memindahkan windows secara manual). Saya cukup senang dengan itu meskipun mengatur ulang windows ke dalam urutan yang saya inginkan setelah dibuat sedikit lebih menyakitkan dari yang seharusnya.
Godric Seer
2

Instal Xvfb:

apt-get install xvfb

Menjalankan:

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

kemudian jalankan semua perangkat lunak grafis yang Anda sukai tanpa kepala.

Ian Ellis
sumber
1

Anda dapat dengan cepat beralih ke antarmuka baris perintah menggunakan [ctrl] [alt] [F1] (berfungsi dengan [F1] - [F12] saya pikir). Salah satunya juga akan beralih kembali ke GUI Anda ketika Anda membutuhkannya; Saya pikir itu [ctrl] [alt] [F8] di Mint, jadi Anda mungkin ingin mencobanya. Saya akan melemparkan diri saya di kamp "gunakan manajer jendela tiling"; i3 benar-benar alat yang hebat.

Johnathan Andersen
sumber
Ya, tapi masalah yang saya miliki dengan ini adalah bahwa ada GUI yang berjalan di latar belakang menggunakan sumber daya saya jadi saya harus menggunakan GUI alih-alih berpura-pura tidak ada di sana.
Linuxuser00
Sangat benar! Salah satu cara untuk menyiasatinya adalah dengan mengatur OS untuk menukar seluruh sesi ketika tidak aktif. Saya tidak akan terlalu terkejut jika melakukan ini secara otomatis, tetapi mungkin itu adalah sesuatu yang Anda perlu mengalami kesulitan untuk mengatur.
Johnathan Andersen