Ito ang command fbterm na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
FbTerm - isang mabilis na Frame Buffer based TERMinal emulator para sa linux
SINOPSIS
fbterm [pagpipilian] [--] [utos [argumento]]
DESCRIPTION
Ang FbTerm ay isang mabilis na terminal emulator para sa linux na may frame buffer device o VESA video card.
Tampok ng kinabibilangan ng:
* karamihan ay kasing bilis ng terminal ng linux kernel habang pinapagana ang pinabilis na pag-scroll
* piliin ang font na may fontconfig at gumuhit ng teksto na may freetype2, katulad ng Qt/Gtk+ based GUI
app
* dynamic na lumikha/sirain ang hanggang sa 10 mga bintana sa simula ay nagpapatakbo ng default na shell
* Magtala ng kasaysayan ng scroll-back para sa bawat window
* Awtomatikong matukoy ang kasalukuyang lokal at i-convert ang pag-encode ng teksto, suportahan ang mga double width na script
tulad ng Chinese, Japanese etc
* Lumipat sa pagitan ng maaaring i-configure na karagdagang mga pag-encode ng teksto na may mga hot key sa mabilisang
* kopyahin/nakaraang napiling teksto sa pagitan ng mga bintana gamit ang mouse kapag tumatakbo ang gpm server
* Baguhin ang oryentasyon ng screen display, aka screen rotation
* magaan na balangkas ng pamamaraan ng pag-input na may arkitektura ng client-server
* background na imahe para sa mata kendi
Opsyon
utos [argumento] ay maaaring ibigay upang i-override ang built-in na pagpipilian ng shell program.
Karaniwang sinusuri ng FbTerm ang KABIBI variable. Kung hindi iyon nakatakda, susubukan nitong gamitin ang sa user
login shell program na tinukoy sa file ng password. Kung hindi iyon nakatakda, / Bin / SH ay
ginamit. Dapat mong gamitin ang -- argumento upang paghiwalayin ang mga opsyon ng FbTerm mula sa mga argumento
ibinigay sa utos.
Ang FbTerm ay unang gumagamit ng halaga ng opsyon na tinukoy sa mga argumento ng command line, pagkatapos ay sa configure
file $HOME/.fbtermrc. Kung wala ang file na iyon, gagawin ito ng FbTerm nang may default
mga opsyon sa pagsisimula.
-h, - Tumulong
ipakita ang tulong at paglabas
-V, --bersyon
ipakita ang bersyon ng FbTerm at lumabas
-sa, --verbose
ipakita ang karagdagang impormasyon ng FbTerm
-n, --font-name=teksto
tukuyin ang mga pangalan ng pamilya ng font
-oo, --laki ng font=num
tukuyin ang laki ng pixel ng font
--font-width=num
pilitin ang lapad ng font
--font-taas=num
pilitin ang taas ng font
-f, --color-foreground=num
tukuyin ang kulay ng harapan
-b, --color-background=num
tukuyin ang kulay ng background
-e, --text-encodings=teksto
tukuyin ang mga karagdagang pag-encode ng teksto
-a, --malabo-malawak
ituring ang mga hindi maliwanag na lapad na mga character bilang lapad
-r, --screen-rotate=num
tukuyin ang oryentasyon ng pagpapakita ng screen
-ako, --input-method=teksto
tukuyin ang programa ng pamamaraan ng pag-input
--cursor-shape=num
tukuyin ang default na hugis ng cursor
--cursor-interval=num
tukuyin ang cursor flash interval
--vesa-mode=num
tukuyin ang VESA video mode
--vesa-mode=list
ipakita ang mga available na VESA video mode
tingnan ang mga komento sa $HOME/.fbtermrc para sa mga detalye ng mga opsyong ito.
SHORTCUT BUOD
keyboard:
CTRL_ALT_E: lumabas sa FbTerm
CTRL_ALT_C: lumikha ng bagong window
CTRL_ALT_D: sirain ang kasalukuyang window
CTRL_ALT_1: lumipat sa window 1
CTRL_ALT_2: lumipat sa window 2
CTRL_ALT_3: lumipat sa window 3
CTRL_ALT_4: lumipat sa window 4
CTRL_ALT_5: lumipat sa window 5
CTRL_ALT_6: lumipat sa window 6
CTRL_ALT_7: lumipat sa window 7
CTRL_ALT_8: lumipat sa window 8
CTRL_ALT_9: lumipat sa window 9
CTRL_ALT_0: lumipat sa window 10
SHIFT_LEFT: lumipat sa nakaraang window
SHIFT_RIGHT: lumipat sa susunod na window
SHIFT_PAGEUP: history scroll up
SHIFT_PAGEDOWN: history scroll pababa
CTRL_ALT_F1: lumipat sa pag-encode ng kasalukuyang lokal
CTRL_ALT_F2 hanggang CTRL_ALT_F6: lumipat sa mga karagdagang pag-encode
CTRL_SPACE: toggle input method
CTRL_ALT_K: patayin ang input method server
daga:
ilipat kapag left button pababa: piliin ang text
i-double click gamit ang kaliwang pindutan: awtomatikong piliin ang teksto
i-click gamit ang kanang button: i-paste ang napiling text
Minsan hindi gagana ang mga aksyon sa itaas, pakisubukang gawing muli ang mga ito gamit ang shift key holding
pababa.
Balangkas BUFFER DEVICE
Bago i-execute ang FbTerm, siguraduhing mayroong frame buffer device sa iyong system, at ikaw
magkaroon ng read/write access dito mismo. Karaniwang sinusubukan ng FbTerm na buksan ang /dev/fb0 at
/dev/fb/0, variable ng kapaligiran "FRAMEBUFFER" ay maaaring gamitin upang i-override ang built-in na ito
pag-uugali.
VESA VIDEO DEVICE
Mula sa bersyon 1.6, nagdagdag ang FbTerm ng suporta sa VESA video card. Bilang default, sinusubukan ng FbTerm ang frame
buffer device muna, kung nabigo, pagkatapos ay susubukan na gumamit ng VESA device na may pinakamataas na resolution at
lalim ng kulay. opsyon "vesa-mode" ay maaaring ibigay upang pilitin lamang na buksan ang VESA device na may
tinukoy na mode ng video. Upang makita ang mga available na video mode para sa iyong VESA card, i-execute ang "fbterm
--vesa-mode=list".
Pansin: 1) Ang suporta ng VESA ay nangangailangan ng root privilege upang gumana; 2) huwag piliting gamitin ang VESA
device sa system na may naka-enable na frame buffer device, maaaring magkasalungat sila sa bawat isa
iba pa.
GUMAGAWA
Invokes ng FbTerm ang fontconfig upang makakuha ng listahan ng font, kung ang unang font ay hindi naglalaman ng glyph
para sa rendering character, susubukan nito ang pangalawang font, pagkatapos ay ang pangatlo, ... at iba pa, user
makikita itong nakaayos na listahan ng font na may "fbterm -v".
Kung hindi mo gusto ang mga font na pinili ng FbTerm, i-execute ang "fc-list" para makakuha ng mga available na font,
piliin ang mga paborito bilang ang halaga ng opsyon "mga font-name". Maaari mo ring baguhin ang configure
file ng fontconfig, na magbabago sa pag-uugali ng lahat ng mga programa batay sa fontconfig!
TEXT PAG-ENCOD
Sa pamamagitan ng paggamit ng iconv, kino-convert ng FbTerm ang iba pang mga pag-encode sa panloob na pag-encode na UTF-8. Sa pagsisimula,
FbTerm checks variable LC_CTYPE upang matukoy ang default na pag-encode ng teksto, na nakatali sa
shortcut CTRL_ALT_F1. Maaaring tukuyin ng user ang hanggang 5 karagdagang pag-encode na may opsyon na "text-
mga encoding", halimbawa, bilang isang Chinese na user, itinakda mo ang "text-encodings=gbk,big5", shortcut
Ang CTRL_ALT_F2 ay magbi-bind sa gbk, at ang CTRL_ALT_F3 ay magbi-bind sa big5.
Sa isang bilang ng mga pag-encode ng CJK mayroong hindi maliwanag na lapad na mga character na may lapad na
makitid man o malawak depende sa konteksto ng kanilang paggamit. Bilang default, tinatrato ng FbTerm
ang mga ito bilang makitid na lapad na mga character, opsyon "malabo-malawak" ay maaaring gamitin upang baguhin ang
pag-uugali.
BACKGROUND IMAGE
Ang FbTerm ay hindi naglo-load at nag-parse ng anumang file ng imahe na may iba't ibang mga format nang direkta, sa halip ito
kumukuha ng screen shot ng frame buffer device sa startup kung variable FBTERM_BACKGROUND_IMAGE
ay tinukoy, pagkatapos ay ginagamit ang screen shot na ito bilang background para sa pag-render ng text. Nang sa gayon
paganahin ang suporta sa larawan sa background, dapat munang ilagay ng user ang isang imahe sa frame buffer device na may
isang viewer ng imahe. Ang isang wrapper script gamit ang fbv ay nakalista sa ibaba:
#!/ basahan / bash
# fbterm-bi: a wrapper script sa paganahin likuran larawan sa fbterm
# paggamit: fbterm-bi /path/to/image fbterm-opsyon
miss - ay "\e[?25l" # itago panturo
fbv -ciuker "$1" << EOF
q
EOF
ilipat
i-export FBTERM_BACKGROUND_IMAGE=1
exec fbterm "$@"
Pansin: 1) huwag paganahin ang larawan sa background sa frame buffer device na may lalim na 8bpp,
dahil ang FbTerm ay nagbabago ng color map table para sa tamang pag-render ng text; 2) kung ang screen shot
ay iba sa orihinal na larawan, subukang gumamit ng isang mabilis na pag-scroll na hindi pinagana ang frame buffer
aparato.
256 COLOR EXTENSION
Sinusuportahan ng FbTerm ang extension ng 256 color mode ng xterm. Ang unang 16 na kulay ay ang default
mga kulay ng terminal. Bukod pa rito, mayroong 6x6x6 color cube, at 24 na grayscale tone. Pero
Ang 256 color escape sequence ng xterm ay sumasalungat sa linux sequence na ipinatupad ni
FbTerm, kaya ipinakilala ang mga pribadong escape sequence para suportahan ang feature na ito:
ESC [ 1 ; n } itakda harapan kulay sa n (0 - 255)
ESC [ 2 ; n } itakda likuran kulay sa n (0 - 255)
ESC [ 3 ; n ; r ; g ; b } itakda kulay n sa (r, g, b) , n, r, g, b lahat in (0 -
255)
Ang isang bagong terminfo database entry na pinangalanang "fbterm" ay idinagdag upang magamit ang mga pribadong sequence na ito, lahat
programang batay sa terminfo ay dapat gumana dito. Bilang default, ang FbTerm ay nagtatakda ng kapaligiran
variable na "TERM" sa halaga ng "linux", kailangan ng user na patakbuhin ang "TERM=fbterm /path/to/program" upang paganahin
256 mode ng kulay.
INPUT Pamamaraan
Sa halip na direktang magdagdag ng paraan ng pag-input sa FbTerm, isang paraan ng pag-input na batay sa client-server
ang balangkas ay idinisenyo upang gawin ang gawaing ito. Ang FbTerm ay kumikilos bilang isang kliyente, nakapag-iisang programa ng IM bilang isang
server, at tumatakbo ang mga ito sa magkakahiwalay na proseso.
Bilang isang normal na user ng IM, dapat kang mag-install ng IM program na isinulat para sa FbTerm, at tukuyin ito bilang
ang halaga ng opsyon "pamamaraan ng pag-input". Ang CTRL_SPACE ay ang shortcut para i-activate/deactivate
paraan ng pag-input. At ang CTRL_ALT_K ay maaaring gamitin upang patayin ang IM program kapag ito ay nag-freeze.
SEGURIDAD NOTA
Sinusubukan ng FbTerm na baguhin ang linux kernel key map table upang mag-setup ng mga shortcut, na nangangailangan
SYS_TTY_CONFIG kakayahan mula sa bersyon ng kernel 2.6.15. Nangangahulugan ito na ang FbTerm ay dapat na isang setuid
0 na programa upang payagan ang mga non-root na user na gumamit ng mga shortcut. Ang FbTerm ay lumipat lamang sa pribilehiyong ugat
pansamantalang kapag binabago ang pangunahing talahanayan ng mapa, naniniwala kami na ito ay medyo libre mula sa seguridad
mga problema. Kung talagang hindi mo gusto ito at may linux kernel na may file system
pinagana ang mga kakayahan, na nagpapahintulot sa user na bigyan ang mga binary ng subset ng mga kapangyarihan ng ugat nang wala
gamit ang setuid 0 (kasama ito ng opisyal na kernel 2.6.27), maaari kang magpatakbo ng command na "sudo setcap
'cap_sys_tty_config+ep' /path/to/fbterm".
Inire-redirect ng FbTerm ang /dev/tty0 na output sa pseudo terminal ng kasalukuyang sub-window. Sa linux
bago ang bersyon 2.6.10, kahit sino ay maaaring gawin ito hangga't ang output ay hindi pa na-redirect;
mula noong bersyon 2.6.10, tanging ugat o isang proseso na may CAP_SYS_ADMIN kayang gawin
ito. Dapat kang gumawa ng katulad na gawain sa mga nasa itaas para sa FbTerm upang paganahin ang tampok na ito para sa
hindi root user.
PAGGANAP
Ayon sa resulta ng pagsubok, ang FbTerm ay gumugugol ng higit sa 95% na oras sa pagpipinta ng screen. Bilisan
pagpipinta ay makabuluhang taasan ang pagganap. Narito ang ilang mga mungkahi para sa frame
buffer device:
* Paganahin ang mabilis na pag-scroll sa frame buffer device. Ang makikitang screen ay magiging isang window lamang
ng memorya ng video, kapag nag-scroll, binabago lang ng FbTerm ang simula ng window, hindi na kailangan
muling pintura ang buong screen.
* Sa mga processor ng pamilya ng Intel P6 ang Memory Type Range Registers (MTRRs) ay maaaring gamitin upang
kontrolin ang access ng processor sa mga hanay ng memorya. Kung mayroon kang video card sa isang PCI o AGP bus,
ang pagpapagana ng write-combining ay nagbibigay-daan sa mga paglilipat ng pagsulat ng bus na pagsamahin sa isang mas malaking paglipat
bago sumabog sa PCI/AGP bus. Maaari nitong mapataas ang pagganap ng pintura ng FbTerm
operasyon.
Marahil ay kailangan mong paganahin ang mga ito nang manu-mano para sa iyong video card. Halimbawa, bilang default mabilis
lahat ng pag-scroll at write-combining ay hindi pinagana sa pangkalahatang VESA frame buffer device,
Ang GRUB/LILO configure file ay dapat na mabago upang paganahin ang mga ito. Isang halimbawa ng GRUB ang ipinakita
sa ibaba:
pamagat na Ubuntu
ugat (hd0,0)
kernel /boot/vmlinuz ro root=LABEL=UBUNTU splash vga=0x317 video=vesafb:ywrap,mtrr:3
initrd /boot/initrd.img
Maaari mong suriin ang katayuan ng mabilis na pag-scroll gamit ang "fbterm -v", isang mensahe na may "pag-scroll: redraw"
nangangahulugan na ang mabilis na pag-scroll ay hindi pinagana, kung hindi man ay pinagana.
Gumamit ng fbterm online gamit ang mga serbisyo ng onworks.net