XQuartz: xinit yürütülürken kullanıcı / ortam? (XMonad, xmodmap, vb.)


2

XMonad'ı XQuartz ile birlikte 11,3 Macbook Prop Retina'da çalıştırıyorum. Benim .xinitrcgörünüşüm şöyle:

[[ -f ~/.Xdefaults ]] && xrdb -load ~/.Xdefaults
export LANG="en_CA.UTF-8"
xmodmap /Users/xxxxxxx/.xmodmarc
cd $HOME
/Users/xxxxxxxx/Library/Haskell/bin/xmonad

Hem LANGihracatın hem de firmanın xmodmaparandığını fark ettim , ancak etkileri devam etmiyor. env >> tmp.txtOraya biraz attığımda, bir terminale ulaştığımdan farklı bir ortam olduğunu görebiliyorum ve belki de arayan farklı bir kullanıcıdan bile şüpheleniyorum xinit.

Sorularım

  • xinitXQuartz'ı başlatırken gerçekte hangi kullanıcı veya ortamı arıyor ?
  • xmodmapXQuartz başlatıldığında bir kez ve yalnızca bir kez çağrılması için uygun yer neresidir?
  • Nasıl alırım LANGben XQuartz başlattığınızda bir ortam değişkeni olarak, sadece bir kez bir kez seti ve (ı unicode desteği için ihtiyaç)

Teşekkür ederim!


Sahip cd $HOMEGözlerinde farklı ~/.xinitrc? Eğer evet ise, o zaman bu çizgiyi kaldırın. Ayrıca yerleştirmek execiçin çağrı önünde xmonadböyle,: exec .../bin/xmonad. Ayrıca unutmayın exportyalnızca geçerli süreç çevreyi değiştirir ve mevcut sürecin çocuk süreçlerinin. Başka bir terminal örneği gibi, çalışmakta olan işlemler üzerinde hiçbir etkisi yoktur.
Alexej Magura

Yanıtlar:


2

xinitXQuartz'ı başlattığınızda gerçekte hangi kullanıcı / env çağırıyor ?

Linux altında, bu giriş yapmış olduğunuz kullanıcı olacaktır; Muhtemelen çalıştırdığınızda mevcut ortam ne olursa olsun çevre, gelince Mac OS X için aynı olduğunu şüphelenebilir xinitortam olacağını, XQuartzdosyalardan birinin içinde yapılabilir ortam değişiklikleri hariç, birlikte çalışır XQuartzokur başladığında.

Nerede koymalıyız xmodmapXQuartz başlatıldığında, bu yüzden sadece bir kez bir kez denir ve oluyor?

Kendi özel haritanızı / tablonuzu oluşturmak ve bir konfigürasyon dosyasında saklamak için şunu çalıştırın:

xmodmap -pke > ~/.Xmodmap

İstediğiniz değişiklikleri yapın ~/.Xmodmapve sonra yeni yapılandırmayı şununla test edin:

xmodmap ~/.Xmodmap

Xorg'u başlatırken özel tablonuzu etkinleştirmek için, yani XQuartz, aşağıdakileri ~/.xinitrc

[ -s ~/.Xmodmap ] && xmodmap ~/.Xmodmap # you can also try using `[[ -s ~/.Xmodmap ]] && xmodmap ~/.Xmodmap`

XQuartz'ı başlattığımda LANG'ı bir kez ve sadece bir kez bir ortam değişkeni olarak nasıl ayarlayabilirim (unicode desteği için ihtiyacım var)

Ayarlamak için LANG, telefonunuza aşağıdakilerden birini eklemeniz yeterlidir.~/.xinitrc

[[ -z "$LANG" ]] && LANG=<VALUE> # only sets LANG, if LANG is empty
LANG=<VALUE> # sets LANG regardless of whether it is or is not empty

Ne yazık ki bu işe yaramadı. Ben .xinitrczaten benzer bir kod vardı. Sorunun bir şekilde xinitçağrılan çevre ile ilgili olduğuna inanıyorum . Koşarsam whoamiiçinde .xinitrcDoğru kullanıcıyı olsun. Ben bakarsak Ancak, $ENViçinde .xinitrc(koşma tarafından echo "$ENV" >> /Users/.../tmp.txt) Ben nihayet kabuk indiğimizde farklı bir ortam görüyoruz.
aaronlevin

@weirdcanada, bu tür bir konuyu içerip içermediğini görmek için XQuartz dokümanlarını kontrol ettiniz mi?
Alexej Magura
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.