Ini adalah maket cepat yang saya salin dan tempelkan bersama. Saya membayangkan ini menjadi sangat keren dan bermanfaat.
Apakah sesuatu seperti ini sudah ada?
Ini adalah maket cepat yang saya salin dan tempelkan bersama. Saya membayangkan ini menjadi sangat keren dan bermanfaat.
Apakah sesuatu seperti ini sudah ada?
Jawaban:
Perbarui 2018-12-31
Semua yang ada di sekitar emulator terminal hebat memiliki icat
perintah untuk menampilkan gambar (tidak berfungsi dalam tmux). Kitty juga memungkinkan pratinjau gambar di dalam ranger (manajer file terminal), yang merupakan metode yang paling sering saya gunakan saat ini (berfungsi dalam tmux).
Meskipun tujuan utamanya w3m
adalah untuk menyediakan penelusuran web dalam-konsol, itu juga dapat digunakan untuk melihat gambar di terminal. Paket-paket yang relevan untuk diinstal adalah w3m
dan w3m-img
(setidaknya di Ubuntu). Anda kemudian perlu menonaktifkan tampilan gambar eksternal layu dengan melewati -o ext_image_viewer=0
atau dengan masuk ke menu opsi ('o') di dalam w3m
dan menonaktifkan tampilan gambar eksternal.
Sekarang, mengetik w3m <image_name>
akan menampilkan gambar di terminal. w3m
akan menggunakan seluruh jendela terminal, sehingga Anda tidak dapat melihat perintah Anda sebelumnya sampai berhenti w3m
(pikirkan less
, tidak cat
). Perhatikan bahwa jika gambar terlalu besar agar sesuai dengan jendela terminal, gambar itu akan tetap dibuka secara eksternal (in imagemagick for me). Perhatikan juga bahwa meskipun saya membaca banyak tempat yang w3m
tidak bisa menghasilkan gambar sebaris gnome-terminal
, itu berfungsi dengan baik untuk saya. Agak menyebalkan bahwa Anda harus mengetik q
dua kali untuk menutup gambar terlebih dahulu dan kemudian w3m
.
tycat
adalah bagian dari terminology
dan menampilkan gambar seperti cat
menampilkan file teks dan suka imgcat
bekerja untuk iTerm2 pada OS X.
Instal libsixel-bin
dan terminal apa pun yang kompatibel (contoh yang disebutkan di bawah 'Persyaratan' dari readme ini , misalnya mlterm
atau xterm
dikompilasi dengan flag kanan dan Anda dapat melihat gambar dengan img2sixel
perintah. Kedua paket ini tersedia di repo Ubuntu.
Lalu ada FIM yang merupakan versi perbaikan fbi
. Situs web menyatakan bahwa ia dapat menampilkan gambar tidak hanya dengan framebuffer, tetapi juga dengan X. Namun, itu tidak akan menginstal untuk saya. Sunting Saya menjalankannya dengan mengunduh versi trunk 0,5, menjalankan ./configure --disable-exif
dan kemudian menghapus sementara anaconda
(distribusi python) dari jalur saya karena menyebabkan konflik dengan libpng
sebelum menjalankan make
dan sudo checkinstall
(Anda perlu menulis dalam nomor versi secara manual dengan checkinstall
, tetapi membuatnya lebih mudah untuk menghapus daripada make install
). Namun, gambar masih ditampilkan dalam jendela terpisah, meskipun seperti dengan fbi
Anda tidak perlu menjalankan X yang agak keren.
Anda juga bisa berkreasi dan menggunakan jupyter-qtconsole sebagai konsol sistem Anda, konfigurasikan untuk menampilkan plot inline ( %matplotlib inline
) dan kemudian tampilkan gambar menggunakan matplotlib =)
feh
menggunakan X untuk menampilkan gambar, tetapi feh -x
muncul di jendela tanpa batas yang dapat dengan cepat ditutup dengan q
atau x
. Meskipun gambar tidak ditampilkan di terminal per katakan, saya pikir itu layak disebutkan karena itu adalah cara paling tidak mengganggu yang saya temukan sejauh ini dan apa yang saya gunakan sampai gnome-terminal
mendapat imgcat
/ tycat
setara.
Mungkin caca adalah yang Anda inginkan. Untuk gambar :
sudo apt-get install caca-utils
cacaview /PATH/TO/image.jpg
Pastikan jendela terminal Anda cukup besar.
Misalnya, berikut adalah bagaimana gambar ini ditampilkan di cacaview
:
Saya terkadang menggunakannya untuk bersenang-senang menonton video sebagai ASCII di mplayer :) Seperti ini:
mplayer -vo caca /PATH/TO/video.mpg
img2txt
"watch videos as ASCII" But... why?
karena kamu mau? karena Anda perlu mengintip video dan satu-satunya yang Anda dapatkan adalah terminal? Karena jika Anda tidak membutuhkan sesuatu, itu TIDAK berarti orang lain mengikuti.
mpv
memiliki keluaran tct yang (bila digunakan dengan --quiet
) menampilkan media di terminal dengan kualitas yang sebanding pxl
.
Saya telah menulis alat C ++ kecil untuk mengonversi gambar ke kode kontrol ANSI RGB dan karakter grafik blok Unicode untuk terminal modern yang mendukung fitur-fitur ini: https://github.com/stefanhaustein/TerminalImageViewer
Instalasi:
git clone https://github.com/stefanhaustein/TerminalImageViewer.git
cd TerminalImageViewer/src/main/cpp
make
sudo make install
Pemakaian:
tiv <image(s)>
Edit : Tautan / instruksi yang diubah ke gudang utama; menambahkan penggunaan.
Contoh:
Saya membuat fungsi shell satu baris yang sangat cepat dan sederhana yang memecahkan pertanyaan awal persis seperti yang diminta dalam maket. Perhatikan screenshot di bawah ini adalah gambar sebenarnya, bukan maket.
function lsix() { montage -tile 7x1 -label %f -background black -fill white "$@" gif:- | convert - -colors 16 sixel:-; }
Prasyarat minimal: xterm dan ImageMagick ( apt-get install xterm imagemagick
). Xterm Anda harus dalam mode vt340, yang bisa Anda atur di ~/.Xresources
atau dari baris perintah ( xterm -ti vt340
).
Keterbatasan: Hanya 16 warna yang digunakan untuk semua gambar yang ditampilkan. Itu artinya, sebuah gambar mungkin terlihat lebih baik jika dilihat sendiri. (Lihat di bawah).
MEMPERBARUI
Walaupun jawaban saya di atas masih benar, saya telah membuat skrip shell yang lebih baik yang dapat melakukan 'ls' gambar langsung ke terminal. Ada segala macam perbaikan yang saya tambahkan untuk membuat gambar terlihat lebih baik (lebih banyak warna, alfa yang tepat, orientasi JPEG, menangani banyak gambar, tata letak ubin yang ringkas, ...). Ini masih merupakan program yang cukup kecil, tetapi saya pikir orang mungkin ingin menyesuaikannya, jadi saya telah memasangnya di github: https://github.com/hackerb9/lsix .
Anda tidak dapat melakukannya di jendela terminal, tetapi Anda bisa melakukannya di konsol Linux menggunakan fbi
. Anda memerlukan framebuffer agar ini berfungsi:
sudo apt-get install fbi
Pergi ke konsol Linux (menggunakan Ctrl+ Alt+ F1) dan masukfbi <filename>
Itu harus menunjukkan gambar Anda.
fbi
. Situs web menyatakan bahwa ia dapat menampilkan gambar tidak hanya dengan framebuffer, tetapi juga dengan X. Namun, itu tidak akan menginstal untuk saya.
Alternatif lain adalah terminologi:
https://www.youtube.com/watch?feature=player_embedded&v=ibPziLRGvkg
Anda dapat menginstalnya di Ubuntu dengan menambahkan repositori enlightenment-git :
sudo add-apt-repository ppa:enlightenment-git/ppa
sudo apt-get update && sudo apt-get install terminology
Atau dalam rilis Ubuntu terbaru> = Vivid (15,04) itu dapat diambil dari repositori resmi.
sudo apt-get install terminology
Untuk melihat gambar, ketik tycat IMAGENAME
, dan untuk melihat daftar gambar, ketikkan tyls -m
.
tycat
untuk menampilkan gambar sebaris dan tyls -m
untuk menampilkan thumbnail berukuran sedang dalam direktori.
terminology
ada di dalam repositori resmi Ubuntu , tidak diperlukan PPA.
Sebenarnya ada proyek semacam itu yang bernama TermKit , jika Anda ingin mengujinya - lihat http://blog.easytech.com.ar/2011/05/21/playing-with-termkit-with-chrome/ tapi cukup belum selesai (karena Anda tampaknya memiliki Mac, Anda harus mencoba versi Mac karena "asli")
Jadi ya, itu ide yang patut ditelusuri, namun - peralihan antara mode grafis dan teks saja harus cepat karena saya tidak selalu membutuhkan gambar yang dilihat. Juga - itu harus sepenuhnya kompatibel dengan misalnya Vim ..
chromium-browser
dalam repo, sehingga cukup mudah untuk menginstal sesuatu Chromelike - Saya belum benar-benar mencoba TermKit di komputer saya (w / Chromium terinstal, tetapi menggunakan Fx sebagai utama) karena saya cukup bergantung pada Vim, dan tidak dapat benar-benar menggunakan terminal yang tidak akan memberi saya editor teks tercinta saya;)
Ini tidak ada; gnome-terminal
hanya mampu memutar teks, setidaknya sejauh yang saya tahu.
Namun, Anda dapat memanggil penampil gambar dari commandline untuk melihat gambar Anda di folder tertentu. Jadi, keluar dari mockup Anda di atas yang memperlihatkan daftar semua gambar .jpg di folder saat ini, Anda dapat menggunakan Eye of GNOME (penampil gambar default Ubuntu) dari commandline untuk sesuatu yang serupa:
eog *.jpg &
Perhatikan bahwa jendela yang muncul hanya akan menampilkan satu gambar pada satu waktu, meskipun Anda dapat menggunakan tombol panah yang disediakan untuk memutarnya.
eog *.jpg & disown
lebih baik karena EOG kemungkinan akan keluar ketika terminal ditutup. NB Saya berharap EOG masih penampil gambar defualt Ubuntu - shotwell baik, tetapi mencoba untuk mengindeks 30GB + gambar saya .... dan tetap lambat dan menjengkelkan
Saya menulis alat untuk melakukan ini. Saya menamai milik saya Show Image In Terminal ( siit
). Ini mengasumsikan Anda memiliki terminal 256 warna dan dukungan UTF8, dan itu ditulis dalam perl.
Saya menjatuhkannya di ~/bin
. Itu mengasumsikan Anda memiliki Image :: Magick, Term :: Size, Getopt :: Long and Time: HiRes, yang semuanya harus tersedia di repositori distro Anda, atau CPAN.
Maksud saya adalah untuk ssh ke rumah saya, dan dengan cepat melihat gambar tanpa meluncurkan tampilan lebih dari X. Skrip skala untuk lebar / tinggi yang sesuai untuk terminal Anda. Saya menggunakan karakter UTF8 untuk secara efektif menggandakan resolusi vertikal terminal Anda, yang benar-benar membantu kejelasan. YMMV.
Selain jawaban Joel , manajer file terminal Ranger dengan w3mimgdisplay
ekstensi dapat menampilkan gambar dalam warna penuh dan juga mendukung "pratinjau seni ASCII oldschool". Inilah cara Anda mengaktifkannya. Ini mungkin bukan hal yang tepat yang Anda cari tetapi cara untuk melihat pratinjau gambar di terminal.
Alat lain adalah catimg , meskipun tidak ada paket siap untuk Ubuntu. Ini sebenarnya tidak melihat gambar tetapi mengubahnya menjadi karakter berwarna.
Berikut adalah beberapa solusi dalam node.js
(Instruksi instalasi di sini ).
Untuk menginstal, ketik di npm install -g <package_name>
mana package_name
salah satu picture-tube
atau imaging
.
feh
! Saya tahu itu tidak ada di terminal, tetapi itu memang berfungsi.