У мене в Windows встановлена робоча установка Xming / Cygwin. Ну, переважно ...
Я встановив свій домашній каталог на / cygdrive / d в / etc / passwd. Коли я запускаю оболонку Cygwin Bash (зведене вікно DOS), це працює - $ HOME встановлено на / cygdrive / d, Cygwin знаходить мій ~ / .bash_profile, все добре.
Однак , коли я запускаю xterm
, він запускається /cygdrive/c/Documents and Settings/<Username>
, і він не джерело мого .bash_profile, що дратує як пекло.
Колись у цей день, він працював, і зараз він зламаний, але я не можу пригадати, як я його зламав.
Допомога?
Редагувати: Вибачте, я повинен був бути більш точним. Xterm запускається як xterm -ls
, тобто як оболонка входу. Він дійсно знаходить глобальний профіль (тому що він запускає bash і встановлює $ PS1 правильно), але він, очевидно, плутається з приводу $ HOME (і, отже, не запускає ~ / .bash_profile, тому що не може його знайти).
Я знаю спосіб чи два, щоб обходити це, але я хотів би знайти причину цієї макетування, а не виправити наслідки.
Edit2: Подальше тестування показало, що це - $ HOME не встановлюється відповідно до / etc / passwd - відбувається лише тоді, коли програма запущена з меню панелі завдань Xming / Xmingrc . Це також заразно: будь-який суб-xterm, розпочатий із "зламаного" xterm, відкриється в неправильному $ HOME. Так само навпаки: будь-який bash / xterm, розпочатий за межами меню Xmingrc (який відкриється у належному $ HOME), може запустити під-xterms, які також є правильними.
Я тут трохи розгублений.
C:\Documents and Settings\<user>
коли викликається xterm? Це би перекрило/etc/passwd
налаштування.