Cygwin:ユーザー$ HOMEでxtermが起動しません…?


0

WindowsでXming / Cygwinが正常にインストールされています。まあ、主に...

/ etc / passwdでホームディレクトリを/ cygdrive / dに設定しました。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を実行しません)。

私はそれを回避する方法を1つまたは2つ知っていますが、エフェクトを修正するのではなく、このマックアップの原因を見つけたいです。

Edit2:さらにテストを行ったところ、この$ HOMEが/ etc / passwdに従って設定されていないことは、アプリケーションがXming / Xmingrcタスクバーメニューから起動されたときにのみ発生することが示されました。また、伝染性があります。「壊れた」xtermから開始されたサブxtermは、間違った$ HOMEで開きます。同様に、他の方法で:(適切な$ HOMEで開く)Xmingrcメニューの外で開始さたbash / xtermは、正しいx-termを開始できます。

アイム少しここで混乱し。


C:\Documents and Settings\<user>xtermが呼び出されたときにすでにHOMEが設定されている可能性があります それは/etc/passwd設定を上書きします。
ak2

@ ak2:できません。Cygwin Bash Shell(DOSボックス)を起動すると、HOMEが正しく設定されます。そして、そのbashシェルからxtermを起動するか、直接destopショートカットから起動するかは関係ありません。しかし、私は明日、これを再確認します(私が話している私のオフィスワークステーションです)。
DevSolar

回答:


0

xterm現在のディレクトリで起動し、実行するように指示したプログラムを実行します(デフォルトでは優先シェルですが、ログインシェルではありません)。これは、WindowsおよびUnixでも同様です。ログインシェルを使用する場合は、を実行しxterm -e bash --loginます。ホームディレクトリで起動する場合は、ショートカットにディレクトリフィールドを設定します(Windowsショートカットからxtermを起動すると仮定します)。


更新された質問をご覧ください、申し訳ありません。
DevSolar

0

答えはXmingのドキュメントに隠されています。HOMEシステムに環境変数が設定されていない場合、Xmingはそれをに設定し%USERPROFILE%ます。

これは/etc/passwd、ak2が指摘したように、Cygwin 設定を上書きします。

そのため、解決策はコントロールパネルでHOMEを手動で設定することです。


または、Xmingの代わりにCygwin独自のXサーバーを使用します。(setup.exeのxorg-serverパッケージです。)
ak2
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.