Kötü ama boş olmayan DISPLAY değişkenleri hakkında akıllı olduğu için RunningX'i kullanarak garyjohn'un cevabını beğendim.
Ama .. Daha iyisini yapmak istiyorum. Genellikle ekran oturumları kullanıyorum. Evde bir ekran oturumu başlatabilirim, DISPLAY tanımlandı. Sonra başka bir yerden ssh, DISPLAY hala tanımlanmış ve aslında ... evde! Bu yüzden 'ihracat $ DISPLAY =' vereceğim. Bu iyidir, ancak bu cevap zaten kontrol edildiğinden ve geçerli bir DISPLAY değişkeni bulduğu için .bashrc başlangıçta EDITOR yine de gvim olarak ayarlanacaktır.
Buraya benzer bir soruna çözüm bulmak için geldim, X-GUI manpage taraması için Yelp kullanmak istedim, ancak X kullanmadığınızda otomatik olarak geleneksel insan komutuna düştüm.
man () {
if RunningX
then
yelp "man:$@";
else
/usr/bin/man "$@";
fi
}
EDITOR sorunu için aşağıdaki gibi bir şey yapabileceğini düşünüyorum:
EDITOR=vim
vim () {
if RunningX
then
gvim "$@";
else
vim "$@";
fi
}
Bunu uzun hikaye olmadan yayınlardım ama test etmedim. Kendimi bash acemi olarak görüyorum. 'Adam komutumu' test ettim, işe yarıyor! Editörüm için emacs kullanıyorum, X için kendi kontrolü var. Gvim yüklü bile değil.
if [[ $DISPLAY ]]
için çift ayraç meraklıları ...