man/system_admin
man · Sistem Yönetimi

$ tkcon

Bölüm 1 · Sistem Yönetimi

Tk konsolu alternatifi


Kullanım

       tkcon [{seçenek değer | tcl_betiği} ...]

____________________________________________________________________________________________________

Açıklama

TkCon, Tk ile birlikte gelen (Windows/Mac üzerinde olan, ancak Unix üzerinde de çalışan) standart konsolun alternatifidir. Konsolun kendisi, standart konsoldan çok daha fazla özellik sunar. TkCon, Tcl/Tk'nin mevcut olduğu tüm platformlarda çalışır. Birincil amacı, Tcl ve Tk içindeki küçük ayrıntılarla çalışırken kullanıcıya yardımcı olmak ve Unix kullanıcılarına Mac ve Windows Tk'de varsayılan olarak sunulan grafiksel arayüz (GUI) konsolunu sağlamaktır.

tkcon [{seçenek değer | tcl_betiği} ...]

Seçenekler

-rcfile hariç, komut satırı argümanları TkCon kaynak (resource) dosyası içe aktarıldıktan (source edildikten) sonra, ancak slave yorumlayıcı veya TkCon kullanıcı arayüzü başlatılmadan önce işlenir.

-rcfile, tam olarak içe aktarılmadan hemen önce işlenir ve alternatif bir dosya belirtmenize olanak tanır. Komut satırı argümanları her yeni konsola aktarılır ve her biri tarafından değerlendirilir. Bunun gerçekleşmesini önlemek için şunu yazmanız gerekir:

tkcon main set argv {}; tkcon main set argc 0

Bu seçenekler için herhangi bir benzersiz alt dizeye (substring) izin verilir.

-argv (ayrıca --) TkCon'un argümanları değerlendirmeyi durdurmasına ve kalan argümanları argv/argc olarak ayarlamasına neden olur (başına -- eklenerek). Bu, sonraki tüm konsollar için geçerli olmaya devam eder. Bu seçenek yalnızca, kendi argümanlarını gerektiren programları TkCon ile sarmalamak için tasarlanmıştır.

-color- renk TkCon için istenen renk türünü belirtilen renge ayarlar. Tanınan isimleri için tkconrc(5) kılavuzuna bakın.

-eval tcl_betiği (ayrıca -main veya -e) Her bir ana yorumlayıcıda çalıştırılacak (eval edilecek) bir Tcl betiğidir. Bu, kaynak dosyası yüklendikten ve slave yorumlayıcı oluşturulduktan sonra değerlendirilir. Birden fazla -eval seçeneği (sırasıyla) tanınacaktır.

-exec slave_adı TkCon'un içinde çalıştığı belirtilen slave yorumlayıcıyı ayarlar. Genel olarak bunu yalnızca "" (boş) olarak ayarlamak yararlıdır; bu durum TkCon'a çoklu yorumlayıcı modelinden kaçınmasını ve ana ortamda çalışmasını söyler. Bu boş olduğunda, sonraki argümanlar yalnızca ilk TkCon konsolunda kullanılacak ve daha sonraki yeni konsollara aktarılmayacaktır. Bu, komutlarını slave yorumlayıcılara yüklemeyen genişletilmiş wish yürütülebilir dosyaları için TkCon'u bir konsol olarak kullanırken yararlıdır.

-font yazı_tipi TkCon'un metin pencereleri için kullandığı yazı tipini ayarlar. Eğer bu sabit genişlikli (fixed width) bir yazı tipi değilse, TkCon bunu geçersiz kılacaktır.

-nontcl TCL_BOOLEAN ::tkcon::OPT(nontcl) değerini TCL_BOOLEAN olarak ayarlar (bkz. tkconrc(5)). Tcl dışı yorumlayıcılara bağlanırken gereklidir.

-package paket_adı (ayrıca -load) Slave yorumlayıcılara otomatik olarak yüklenecek paketlerdir (örneğin "Tk").

-rcfile dosya_adı Alternatif bir TkCon kaynak dosyası adı belirtir.

-root bileşen_adı Belirtilen bileşeni (widget) tüm konsolların kök adı yapar (örneğin .tkcon).

-slave tcl_betiği Her bir slave yorumlayıcıda çalıştırılacak (eval edilecek) bir Tcl betiğidir. Bu, varsa TkCon kaynak dosyasında belirtilen betiğin sonuna eklenir.

Tuş Kombinasyonları

Bağlantıların çoğu metin bileşeni (text widget) ile aynıdır. Konsolun bütünlüğünün korunmasını sağlamak amacıyla bazıları değiştirilmiştir. Konsolun kullanışlılığını artırmak için ise başkaları eklenmiştir. Burada yalnızca değiştirilen veya yeni eklenen bağlantılar listelenmiştir.

Control-x veya Cut (Sparc5 klavyelerinde) Kes.

Control-c veya Copy (Sparc5 klavyelerinde) Kopyala.

Control-v veya Paste (Sparc5 klavyelerinde) Yapıştır.

Insert Insert (tabii ki).

Yukarı (Up) İmleç komut istemi (prompt) satırındayken komut satırı geçmişinde bir düzey yukarı gider, aksi takdirde arabellek (buffer) içinde hareket eder.

Aşağı (Down) İmleç arabelleğin son satırındayken komut satırı geçmişinde bir düzey aşağı gider, aksi takdirde arabellek içinde hareket eder.

Control-p Komut satırı geçmişinde bir düzey yukarı gider.

Control-n Komut satırı geçmişinde bir düzey aşağı gider.

Tab Dosya yolu adlarını, ardından değişken adlarını, ardından proc (prosedür) adlarını tamamlamaya (genişletmeye) çalışır.

Escape Dosya yolu adlarını tamamlamaya çalışır.

Control-P Prosedür adlarını tamamlamaya çalışır. Prosedür adları, bağlı olan yorumlayıcıda fiilen mevcut olanlar olacaktır (nontcl belirtilmediği sürece; bu durumda aramayı her zaman varsayılan slave yorumlayıcıda yapar).

Control-V Değişken adlarını tamamlamaya çalışır ([info vars] tarafından döndürülenler). Arama davranışı prosedür adlarında olduğu gibidir.

Return veya Enter Tam bir komut ise geçerli komut satırını değerlendirir (çalıştırır), aksi takdirde yalnızca yeni bir satıra geçer.

Control-a Geçerli komut satırının başına gider.

Control-l Tüm konsol arabelleğini temizler.

Control-r Geçerli komut satırındaki dizeyi içeren herhangi bir komut için geçmişte geriye doğru arama yapar. Daha geriyi aramak için tekrarlanabilir. Bulunan komuttaki eşleşen alt dize yanıp sönecektir.

Control-s Yukarıdaki gibidir, ancak ileriye doğru arar (yalnızca çok geriye doğru arama yaptıysanız kullanışlıdır).

Control-t Karakterlerin yerini değiştirir.

Control-u Geçerli komut satırını temizler.

Control-z Geçerli komut satırını, başka bir Control-z ile geri alınabilecek bir arabelleğe kaydeder. Eğer geçerli komut satırı boşsa, kaydedilmiş herhangi bir komut üzerine yazılmadan geri alınır, aksi takdirde geçerli içerik, kaydedilen komut arabelleğindeki içerikle değiştirilir.

Control-Key-1 Konsolu, konsolun slave yorumlayıcısına bağlar.

Control-Key-2 Konsolu, konsolun master yorumlayıcısına bağlar.

Control-Key-3 Konsolu, ana TkCon yorumlayıcısına bağlar.

Control-A "Hakkında" (About) iletişim kutusunu açar.

Control-N Yeni bir konsol oluşturur. Her konsol, kendi bileşen (widget) hiyerarşisi dahil olmak üzere ayrı bir duruma sahiptir (bu bir slave yorumlayıcıdır).

Control-q Geçerli konsolu kapatır VEYA programdan çıkar (::tkcon::TKCON(slaveexit) değerine bağlıdır).

Control-w Geçerli konsolu kapatır. Ana konsolun kapatılması programdan çıkış sağlayacaktır (tüm slave yorumlayıcıları bir şeyin kontrol etmesi gerekir...).

TkCon ayrıca elektrikli parantez eşleştirme özelliğine de sahiptir (emacs'tekine benzer). {}, [], () ve "" gibi eşleşen çiftleri vurgular. İlk üçü için, sağdaki öğe için eşleşen bir soldaki öğe yoksa, geçerli komut satırının tamamını yanıp söndürür. Çift tırnak için, uygun bir eşleşme yoksa yalnızca geçerli çift tırnak karakterini yanıp söndürür. Çoğu kaçış karakterini (kaçışlı kaçış karakterleri hariç) düzgün bir şekilde tanır, ancak yorum satırlarını aramaz (neden etkileşimli olarak yorum yazasınız ki?).

Komutlar

Kullanıcıların yerel ortamlarda alışık olduğu Tcl ortamındaki işlevsellik kayıplarını telafi etmek ve/veya üretkenliği artırmak amacıyla TkCon'da tanıtılan birkaç yeni prosedür bulunmaktadır. Ayrıca yeniden tanımlanmış bazı prosedürler de mevcuttur. İşte kapsamlı olmayan bir liste:

alias ?kaynakKomut hedefKomut ?arg arg ...?? Basit rumuz (alias) mekanizması. Mevcut komutların üzerine yazar. Argümansız çağrıldığında mevcut rumuzları döndürür. TkCon'un sizin için (slave yorumlayıcılarda) bazı rumuzlar oluşturduğunu unutmayın. Bunları silmeyin.

clear ?yüzde? Metin bileşenini temizler. bağlantısı ile aynıdır, ancak bu arabelleğin temizlenecek yüzde oranını kabul eder (1-100 arası, varsayılan 100).

dir ?-all? ?-full? ?-long? ?şablon şablon ...? Dizin listelerini almanın pratik bir yoludur. Glob tarzı şablon eşleştirmesi kullanır.

dump tür ?-nocomplain? ?-filter şablon? ?--? şablon ?şablon ...? dump komutu, kullanıcının yorumlayıcı hakkındaki durum bilgilerini Tcl tarafından okunabilir (ve insan tarafından okunabilir) bir biçimde dışarı aktarması için bir yol sağlar. Ayrıntılar için dump(n) belgesine bakın.

echo ?arg arg ...? Argümanları birleştirir ve sonucu konsola (stdout) yazdırır.

edit ?-type tür? ?-find dize? ?-attach yorumlayıcı? arg arg verileriyle bir düzenleyici açar. İsteğe bağlı tür (type) argümanı şunlardan biri olabilir: proc, var veya file. proc veya var için argüman bir şablon olabilir.

idebug komut ?argümanlar? Etkileşimli hata ayıklama komutudur. Ayrıntılar için idebug(n) belgesine bakın.

lremove ?-all? ?-regexp -glob? liste ögeler Bir listeden bir veya daha fazla ögeyi kaldırır ve yeni listeyi döndürür. Eğer -all belirtilmişse, listedeki her bir ögenin tüm örneklerini kaldırır. Eğer -regexp veya -glob belirtilmişse, ögeler listesindeki her bir ögeyi eşleştirilecek bir düzenli ifade (regexp) veya glob şablonu olarak yorumlar.

less edit komutuna rumuzlanmıştır (alias).

ls dir -full komutuna rumuzlanmıştır (alias).

more edit komutuna rumuzlanmıştır (alias).

observe tür ?argümanlar? Bu komut, değişkenler ve komutlar için pasif çalışma zamanı hata ayıklama çıktısı sağlar. Ayrıntılar için observe(n) belgesine bakın.

puts (her zamanki seçeneklerle) Çıktıyı TkCon'a yönlendirecek şekilde yeniden tanımlanmıştır.

tkcon metot ?argümanlar? Çok amaçlı komuttur. Ayrıntılar için tkcon(n) belgesine bakın.

tclindex ?-extensions şablon_listesi? ?-index TCL_BOOLEAN? ?-package TCL_BOOLEAN? ?dizin1 dizin2 ...? Dosyalar için verilen şablona dayanarak, belirtilen dizinlerdeki "tclIndex" (-index seçeneğiyle kontrol edilir) ve/veya "pkgIndex.tcl" (-package seçeneğiyle kontrol edilir) dosyasını güncellemek için kolaylık sağlayan bir prosedürdür. Varsayılan olarak "tclIndex" dosyasını oluşturur ancak "pkgIndex.tcl" dosyasını oluşturmaz; dizin varsayılan olarak [pwd] (geçerli çalışma dizini) şeklindedir. Uzantı varsayılan olarak *.tcl'dir ve -package doğru (true) olduğunda *.[info sharelibextension] eklenir.

unalias komut Komutun rumuzunu (alias) kaldırır.

what dize what komutu, dize içinde verilen kelimeyi Tcl ortamında tanımlayacak ve tanındığı türlerin bir listesini döndürecektir. Olası türler şunlardır: rumuz (alias), prosedür, komut, dizi değişkeni (array variable), skaler değişken (scalar variable), dizin, dosya, bileşen (widget) ve yürütülebilir dosya. dump ve which prosedürleri tarafından kullanılır.

which komut Unix kabuklarının (shell) which komutu gibi, bu komut da belirli bir komutun bilinip bilinmediğini ve eğer biliniyorduysa yorumlayıcıya göre dahili mi yoksa harici mi olduğunu size bildirir. Dahili bir komut ise ve bunun için auto_index içinde bir yer varsa, size auto_index'in yükleyeceği dosyayı söyler. Bu durum mutlaka dosyanın oradan geldiği anlamına gemez, ancak komut daha önce yorumlayıcıda yoksa, komutun bulunduğu yer orasıdır.

Kodlamalarında bazı kişilerin yararlı bulabileceği, yardımcı olarak kullandığım birkaç prosedür bulunmaktadır (örneğin yol adlarını tamamlama/genişletme). Bunları koddan alıp kullanmaktan çekinmeyin (ancak uygun şekilde atıfta bulunun).

Örnekler

TkCon komut satırı başlangıç durumlarına dair bazı örnekler:

megawish /usr/bin/tkcon -exec "" -root .tkcon mainfile.tcl

TkCon'u megawish uygulamamız için bir konsol olarak kullanın. TkCon'un kullanacağı varsayılan wish uygulaması o ise, satıra megawish ile başlamaktan kaçınabilirsiniz. -root seçeneği, TkCon'un uygulama kök penceresiyle çakışmamasını sağlar.

tkcon -font "Courier 12" -load Tk

TkCon için courier yazı tipini kullanın ve başlangıçta slave yorumlayıcılara her zaman Tk paketini yükleyin.

tkcon -rcfile ~/.wishrc -color-bg white

Kaynak dosyası olarak ~/.wishrc dosyasını ve TkCon'un metin bileşenleri için beyaz bir arka plan kullanın.

Dosyalar

TkCon, "/.tkconrc" konumunda bir kaynak dosyası arayacaktır. TkCon hiçbir zaman "/.wishrc" dosyasını içe aktarmaz (source etmez). Kaynak dosyası, konsolun her yeni örneği tarafından içe aktarılır. Örnek bir kaynak dosyası tkconrc(5) içinde sunulmuştur.

Ayrıca Bakınız

dump(n), idebug(n), observe(n), text(n), tkcon(n), tkconrc(5)

Anahtar Kelimeler

Tk, konsol

Telif Hakkı

Telif Hakkı (c) Jeffrey Hobbs (jeff at hobbs.org)