$ TERM değişkenini manuel olarak ayarlamak doğru mu?


10

Ben set $TERMsatır ekleyerek değişkeni XTerm*termName: xterm-256colorbenim için .Xresourcesdosyanın. Bunu yaptığımda tam olarak ne anlama geldiğini bilmiyordum (görünüşünü değiştirmek için çevrimiçi bir rehber izliyordum xterm), ama şimdi biraz daha okudum ve yaptığımın yanlış olup olmadığı konusunda endişeliyim. Özellikle, $TERMdeğişkenin manuel olarak ayarlanmasında kötü bir şey olduğunu bilmek istiyorum ve bu durumda, hatayı nasıl geri alabilirim.

İhtiyacınız olursa Fedora 20 ile birlikte çalışıyorum xterm.


Bu genel bir programlama sorusudur. Ne yapacağınıza bağlı. Bir masaüstü ortamını kabul edebilir ve uzak bağlantı yoksa, sorun olmayabilir. Değilse, tüm olası durumlar hata kontrolü ile işlenmelidir.
41754

@uprego "Uzak bağlantıların yokluğu" hakkında ayrıntılı bilgi verir misiniz?
Santaru72

256 renk seçeneğiyle kalıcı bir tmux oturumu kullanıyor olabilirsiniz , ancak bunu bir ssh oturumundan eklerseniz, olası senaryolar listelenemeyecek kadar genişler. Her uygulamanın, her programcının yeteneğine bağlı olarak arzu edilen etkileri olabilir veya olmayabilir. @Goldilocks'ın cevabında belirttiği gibi tehlikeli olmamalı, ancak "olmamalı" ve "olamaz" arasında fark var.
41754

@uprego: Okunamaz çıktıyı "tehlikeli" olarak saymadıkça, gerçekçi bir şekilde "yapamam" demeliydim.
goldilocks

Yanıtlar:


7

Çoğunlukla, TERMmanuel olarak ayarlamamalısınız . Değişken her zaman otomatik olarak ayarlanır ve varsayılan değerin yanlış olduğu yalnızca dar bir koşul kümesi vardır.

TERMSistemin terminfo veritabanında (veya termcap veritabanında birkaç eski moda sistem için) değere değinilmesi gerekir . Terminfo ve Termcap terminal türlerini, uygulamaların kullandığı terminal yeteneklerinin açıklamasına eşler. Değeri TERMterminal tipidir.

Bazen değiştirmeniz gerekmesinin temel nedeni TERM, uzaktan oturum açmanız, yerel makine ve uzak makinenin farklı terminal veritabanlarına sahip olmasıdır.

Bir öncekiyle ilgili bir başka neden, bazen bir terminal için biraz farklı yeteneklere sahip birden fazla benzer girişin olmasıdır. Bu, çoğunlukla mevcut bir terminalle uyumlu, ancak daha fazla özelliğe sahip yeni bir terminal geldiğinde gerçekleşir. Daha sonra, tüm makinelerin anladığı, ancak yalnızca geleneksel özellikleri tanıtan geleneksel adı veya tüm yeni özellikleri tanıtan ancak bazı makinelerin anlamadığı yeni adı kullanma arasında seçim yapabilirsiniz.

Buna bir örnek 16 renk ile xterm ve 256 renk ile xterm'dir. Geleneksel bir xterm sadece 16 rengi destekler, bu yüzden xtermterminal veritabanının belirttiği şey budur. xtermGirdiyi değiştirmek, yeni xterm sürümlerinin kullanıcılarını mutlu eder, ancak uzaktan giriş yapan eski xterm sürümlerinin kullanıcılarının yapılandırmasını bozar. Yeni bir isme geçiş -  xterm-256color- mümkün olduğunda daha yeni özellikler sağlar, ancak daha eski bir terminal veritabanına sahip makinelere uzaktan giriş yaparsanız tanınmaz. Herkesi tatmin edebilecek bir çözüm olmadığından, bir seçim elde edersiniz: ya xterm256 renkle devam edin ve alamayın ya da xterm-256colordesteklemeyen uzak makinelerde oturum açarsanız işe yaramayan kullanın.

Kaynağın varsayılan değerini bırakmak ve kaynağını xtermayarlamak (ortam değişkeninin aynı değere ayarlanmasına neden olur ) bu nedenle her ikisi de mantıklı seçimlerdir. Rasgele değerlere ayarlamak işe yaramaz, ancak ikisi determNamexterm-256colorTERMTERMxterm ve xterm-256colormantıklı.


3

Ben .Xresources dosyasına XTerm * termName: xterm-256color satırını ekleyerek $ TERM değişkenini ayarladım.

Ne yaptığının farkında olduğun sürece bu iyi; çoğu GUI terminali bunu destekler.

Komut satırından veya bir komut dosyasından da ayarlayabilirsiniz

export TERM=xterm-256color

Bu sadece o terminal veya sonraki çocuklar için geçerlidir.

Taşınabilir bir varsayılan sadece xterm16 renk desteği anlamına gelir. 256 renk ayarınız varsa ve terminaliniz desteklemiyorsa, 256 renk TUI uygulaması çalıştırmak tuhaf görünür; muhtemelen hemen fark edeceksiniz. Ancak tehlikeli olmamalı.


Yani ben XTerm*termName: xtermyerine ayar XTerm*termName: xterm-256coloriyi olmalı, değil mi?
Santaru72

İstediğiniz buysa hiçbir şey ayarlama; xtermvarsayılan değerdir xterm;) ancak 16 renk anlamına gelir. Kullanmanın başlıca nokta xterm-256coloretmektir terminali desteklerin 256 renk olduğunu uygulamalarını anlatmak . Bunu yapmazsanız, 16 renk varsayarlar.
goldilocks
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.