CygwinでのX-Windowを使うための方法

このQ&Aのポイント
  • Cygwinでbashコマンドを実行するとディレクトリが移動してしまう問題に対して、要約文ではその原因と解決策についてまとめています。
  • コマンドプロンプトからbashコマンドを実行してstartxを使用すると反応がない問題に対する対処方法について解説しています。
  • bash --login -iコマンドを使用するとstartxを実行できるがホームディレクトリに移動してしまう問題について解決策を提案しています。
回答を見る
  • ベストアンサー

cygwin で "bash --login -i"するとホームディレクトリに移動してしまう

cygwin で startx から X-Window を使いたいと思っています。 私は cygwin.bat を使わずに、コマンドプロンプトから直接 bash とタイプしています。(エクスプローラから好きなディレクトリでコマンドプロンプトを開くことができるようにしてあります) (1) コマンドプロンプトから bash とタイプとすると、startx とタイプしても反応がありません。 (2) bash --login -i とタイプすると、startx はできるのですが、ディレクトリが勝手に cygwin のホームディレクトリに移動してしまいます。 ディレクトリを移動せずに cygwin を起動して xwindow を使う方法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.1

(2) --login をつけるとログイン処理をするので、ホームディレクトリに移動するのは仕様です。 (1) ちょっと手元にcygwin環境が無いので具体的なことは書けないのですが、ログイン処理をするとうまく行くということは、$HOME/.profile もしくは /etc/profile で行っている環境設定が関係していると思われます。X がらみらしいのを探して、$HOME/.bashrc に書き加えるとうまく行くと思います。おそらく何らかの環境変数だと思いますが、startx がエラーにならないということは、PATHは通っているということですね。環境変数DISPLAYがセットされていない場合もエラーになるのでこれも違うか。

white-tiger
質問者

補足

ありがとうございます。/etc/profile に # Make sure we start in home cd "$HOME" という行がありました! ここをコメントアウトしました。 --login をつけるとこのファイルを読み込むのですね。 このファイルに X関係の設定も書いてありました。ありがとうございます。

関連するQ&A

  • bash --login -i ??

    windows の cygwin でセットアップされる cygwin.bat を見ると、 bash --login -i と書いてあります。 --login 、-i とは何だろう、と思って man bash とすると、 --login はログインシェル -i はインタラクティブモード となっています。 (1) ログインシェルとはなんでしょう? 気づいたこととしては、コマンドプロンプトから bash と入力するだけのときと、--login をつけたときでは、プロンプトがちがうようです。(.bashrcを読み込まない?) (2) インタラクティブモードとはなんでしょう。 -i をつけたときとつけなかったときで、特に目に見えた違いはわからなかったのですが。。

  • cygwin ユーザーホームディレクトリへの移動

    LINUXを独学で勉強している者ですがコマンド練習用ソフトのCygwinについて質問させて頂きます。 cd コマンドでユーザーのホームディレクトリ(名前や人によって異なった名前のディレクトリ)に移動したいのですがエラーメッセージ(No such file or directory)という表示が出てしまいます。 cygwinではなくLINUXであればユーザーのホームディレクトリに移動しlsコマンドで中身を見ることが できるという認識でよろしいでしょうか? ちなみに~をcdコマンドで移動先にした場合はlsコマンドで中身を見ることができます。 全くの初心者の為、意味が伝わりにくいところもあるかと思いますがご回答頂けるとうれしいです。 宜しくお願い致します。

  • CygWinで 「bash-3.2$」と表示される

    Windows Vista を使用しており、 http://musashi.sourceforge.jp/cygwin/cygwin.html http://musashi.sourceforge.jp/cygwin/cygwin.html を参考にCygWinをインストール、環境設定を行いました。 ショートカットから起動させると、はじめはプロンプトが「ログイン名@PC名」になっていましたが、インストールしたパッケージなどを「CygWin」という新規フォルダへ保存した後にもう一度起動しようとすると起動できなかったので、「CygWin.bat」の中身を   -------------------------------- @echo off D: chdir D:\usr\local\CygWin\bin bash --login -i -------------------------------- のように編集しました。(chdirの行に \CygWin を追加した) しかし、もう一度起動すると今度はプロンプトが「bash-3.2$」という表示に変わってしまいました。 CygWinインストールのWEBページを見ているとこの表示ではうまくインストール出来ていないと書いてあるのですが、どうしたら「ログイン名@PC名」と表示するようにできるでしょうか。 「cd HOME」のコマンドが通らないため .bashrc ファイルがうまく読み込めていないのかと思い保存する場所を変えたり試行錯誤しましたが、うまくいきません…

  • コマンド スペースを含むディレクトリ移動

    コマンドプロンプトでスペースを含むディレクトリへの移動ができません。 プロンプト:cd c:\Documents and Settings のようにスペースがあるディレクトリへの移動方法を教えてください。 ダブルクォーテーションでかこっても無理でした。

  • finder上でのホームディレクトリの場所

    何年も前にmacは使ったことがあったのですが、 また久しぶりにmac miniを買って使い始めました。 ふと思ったのですが、ユーザーのホームディレクトリがfinder上で探せません。 ターミナルでおきたいファイルは移動させて入れるようにしているのですが、 finderを使ってホームディレクトリを開き中のファイルを見るのにはどうしたらいいのでしょうか? あと、たぶん前はcshだったような気がしたのですが、いつからデフォルトでbashになったのでしょうか?

    • ベストアンサー
    • Mac
  • cygwinでpatch コマンドが使えない。

    cygwinを起動して、 ディレクトリを移動。 patchコマンドを利用したところ bash: patch: commond not foundと出ます。 これはcygwinのインストールがうまく言ってないんでしょうか?

  • bashでのシェル変数の遅延展開

    こんにちは。 現在、Cygwinでbashを使っています。 最近思ったのですが、コマンドプロンプトにおける環境変数の遅延展開のような機能が、 bashでは存在しないのでしょうか? 例えば、~/.bashrcで alias cdb="cd $OLDPWD" と記述しておき、ディレクトリを移動する度に、このエイリアスの動作が変化するようにしたいと思っています。 何か御存じの方がいらっしゃれば、是非アドバイスを頂きたいです。 では、よろしくお願い致します。

  • Linuxのchdir(カレントディレクトリが移動できない)

    環境はLinuxおよびcygwinです。 chdir()関数でカレントディレクトリを移動するプログラムを作成しようとしていますが、プログラムの実行後、「pwd」コマンドでカレントディレクトリを確認してもカレントディレクトリが移動されていません。 ソースコード(一部) chdir("/home/hogehoge"); としても、カレントディレクトリは移動せず、pwdコマンドで、 /home/hogehoge になりません。 chdir()関数はエラーを返していません。 もしくは、cdコマンドのソースコードが入手できれば、一番よいのですが・・・Linuxのカーネルやその他のソースコードを展開してもどこにあるか分かりません。 どなたかご教授お願いします。

  • コマンドプロンプトでディレクトリ移動が出来ません(><)

    コマンドプロンプトでディレクトリ移動をする場合、 例えば今、  C:\> にいるとして、"Dドライブ"に移動したい場合は、  C:\>cd D:\ で移動できますよね、、? 何度やっても"C:\>"から動きません。 なにか考えられる原因と解決方法を教えてください。 お願いします。

  • Cygwin Ctrl+C ( .tcshrc の場合 )

    Cygwin 終了時の「バッチジョブを終了しますか」を回避したいです。 ( Ctrl+C を使うと発生する ) bashを利用していれば、以下のようにすれば直ることは分かりました。 * 起動するショートカットが C:\cygwin\cygwin.bat を起動しているため。 * c:\cygwin\bin\bash.exe --login -i に変更すると直る。 .tcshrc においては、どのようにすればよいのでしょうか?

専門家に質問してみよう