fstabを編集するため
# sudo gedit /etc/fstab
と打ち込んだところ
(gedit:5386): Gtk-WARNING **: cannot open display:
と返されてしまいます。
なぜ開けないのでしょう?

このQ&Aに関連する最新のQ&A

A 回答 (10件)

デイフォルト値のGNOMEインストールしていないのでしょうか。



UBUNTUの場合、vi /etc/fstabではなく、
vim /etc/fstabにしないと、カーソル操作がうまくいかないと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ランレベルを5に変えても同じエラーが返ってきて、viで操作するとカーソルがおかしくなって困っていたのです。

でもまだ
(gedit:5386): Gtk-WARNING **: cannot open display:
に対する原因や直す方法がわかっていないので、締切りはもうちょっと待ちたいと思います。

お礼日時:2009/05/13 17:45

>また、su - で一旦管理者になってgeditを試す方法も、同じく


>Gtk-WARNING **: cannot open display:
>と言われてしまったのでダメでした。

su
# gedit /etc/fstab

では、どうでしょうか?
su -
とした時、GTK+アプリケーションを実行させる為の
環境変数がクリアされていると思われます。
#Debian 5.0(Lenny)では、同様な状態になります。
    • good
    • 0
この回答へのお礼

おお!
su -
ではなく
su
で管理者になってからだとgeditが起動できました。
今まで「su -」の意味を詳しく知らず、単に管理者になるためのものだと思ってたので勉強になりました。
おかげさまで原因がはっきりしたのですっきりしました。
ありがとうございました。

お礼日時:2009/05/15 11:11

> (gedit:5386): Gtk-WARNING **: cannot open display:



このメッセージは、X サーバに接続できない場合出力されます。考えられる原
因は、下記の通りです。

・X サーバが起動していない
・DISPLAY 環境変数が正しく設定されていない
・X サーバに接続するための権限がない

問題の切り分けとして下記を試して下さい。

・sudo を使わずに gedit は起動できるか
・ps コマンドで X または Xorg というプロセスはみえるか
・env コマンドで DISPLAY=:0.0 は見えるか

この回答への補足

試しにデスクトップ上にテキストファイルを作って以下のコマンドを試しました。

$ gedit 新しいファイル.txt

すると

** (gedit:10416): WARNING **: Cannot extract frame (0, 0) from the grid

と出ましたが起動はできました。


$ ps

と打ち込んだところ

PID TTY TIME CMD
3987 pts/0 00:00:00 bash
10427 pts/0 00:00:00 ps

と返されました。


$ env

と打ち込むと。

DISPLAY=:0.0

という文字列が存在してました。

補足日時:2009/05/15 11:02
    • good
    • 0

インストールしてしまっているので、追加インストールとして、


Synapticパッケージマネージャで、「GNOMEディスクトップ環境」
を追加インストールするか、最初からUBUNTUをインストールしなおした方が、早いと思います。
現状は、どんな環境なのでしょう。
KDE,GNOME,その他の環境、どれになっているのでしょう。

この回答への補足

GNOMEバージョン2.26.1です。

補足日時:2009/05/14 16:04
    • good
    • 0

Gtk-WARNING **: cannot open display:


の場合、GEDITがXでDISPLAYに飛ばせない場合に発生する可能性があるかと思います。

Xで起動しているのであれば、DISPLAYとxhost自体は起動していると思われますので
sudoの権限不足でしょうか。

su -で一旦、管理者権限にするか
sudoerファイル(/etc/sudoers)に権限を追加してみては如何でしょうか?



と、Googleで調べてみました。

Defaults:hoge env_keep+=DISPLAY
Defaults:hoge env_keep+=XAUTHORITY

を追記する必要があるようです。

http://d.hatena.ne.jp/morilab/20081022/1224648288
    • good
    • 0
この回答へのお礼

わざわざ調べていただいてありがとうございます。
しかしsudoerに書き込もうとしたら
E45: 'readonly' option is set (add ! to override)
と言われてしまって、また面倒くさそうなことになったのでやめました。

また、su - で一旦管理者になってgeditを試す方法も、同じく
Gtk-WARNING **: cannot open display:
と言われてしまったのでダメでした。

お礼日時:2009/05/13 18:30

ランレベルは5になっていますか?



(gedit:5386): Gtk-WARNING **: cannot open display:
と表示されたという事は、CUIになっているか
言語が英語になっているかのどちらかではないでしょうか?

もしかしてなのですが、SSHでログインを行って作業をしていないですか?
その場合にはGEDITは利用出来ないです。

この回答への補足

先と同じく
$ who -r
で調べたところ
run-level 5
と表示されました。

SSHについても知らないのですが、リモート操作みたいなものですか?
普通にネットワークを介さずログインしてます。

補足日時:2009/05/13 18:06
    • good
    • 0

前回の回答にも書きましたが、必ずディストリビュションを書かないと、root権限にするコマンドが、異なります。


Fedora系だと、
su -
パスワード、
gedit
ファイルを開くと進みます。

UBUNTU系だと、
sudo gedit /etc/fstab

その他の場合は、このうちのどれかか、
sudo su -
で、rootになったりします。

質問するときは、必ずLINUXの種類を明記することを守って欲しいものです。

この回答への補足

以後気をつけます。

補足日時:2009/05/13 17:35
    • good
    • 0

一般的に


ランレベル5はグラフィカルユーザインターフェース
ランレベル3はキャラクタユーザインターフェースです。

GNOMEは、X Window Systemで動くデスクトップ環境です。
GEDITはこのGNOMEプロジェクトで開発された
GNOME上で動くエディッタです。

CLI(ランレベル3)で動作させているのであれば無理にGEDITを利用せず
viを覚えた方が良いと思います。

この回答への補足

$ who -r
でランレベルを調べて見たところ
run-level 2 2009-05-13 16:19 最後=
と表示されました。ランレベルは2になってますね。
ランレベル5に変えたら良いわけですね。
(あるいはviで操作するか)

補足日時:2009/05/13 17:28
    • good
    • 0

GEDITはGNOME用でX上で起動します。


ランレベル3で実行していませんか?

この回答への補足

ランレベルについては全く知識がありません。
それを変えれば起動できるのでしょうか?

補足日時:2009/05/13 17:17
    • good
    • 0

ディストリビュションは、UBUNTUでしょうか。



sudo su -
パスワード入力。
gedit
では、だめですか。

この回答への補足

はいUbuntuです。
その方法を試したところ、同じく
(gedit:6480): Gtk-WARNING **: cannot open display:
と返されてしまいました。

補足日時:2009/05/13 17:14
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qapt-get install ****** でinstallしたものをuninstallするには?

御世話になります。
vncserverだけをinstallするつもりが
誤って
apt-get install vncとうってしまいました。
これをuninstallしたいのですが
どのようにすればよろしいでしょうか?

教えて下さい。

Aベストアンサー

# apt-get remove パッケージ名
では、設定ファイルは削除されずに残ります。

完全に削除するときは、
# apt-get --purge remove パッケージ名
です。

Qstartxうまいくいかない。

 こんばんは。
仮想環境でCentOSを使っている者です。
startxを打ってもGUIに行かず困っています。
打つと、下記エラーが出力されます。

xauth: creating new authority file /root/.serverauth.4052

Fatal server error:
Server is already active for display 0
If this server is no longer running, remove /tmp/.X0-lock
and start again.

仮想環境では
CentOS 5.0です。

ホストOSの環境です。
Windows XP SP3
Pentium4 2.66G
RAM 2G

どのようにすれば解決するでしょうか?

Aベストアンサー

> どのようにすれば解決するでしょうか?

解決の前に確認が必要です。

そのエラーは「すでにXサーバーが起動している」ということです。
つまり、すでにGUI環境なのにstartxを実行しているのでGUIに行けない状態です。

次のどちらか(または、どちらも)試してみるとどうなりますか。
1. init 3 と入力してモード変更して startx を試す。
2. テキストモードで起動して startx を試す。

QLinuxのgccのインクルードパス?

Linuxのgccで、インクルードファイルやライブラリのパスを設定する方法が知りたいのですが、gccについて詳しい書籍やサイトがありましたら、教えてください。

gccとccの違いも知りたいです。

例)
#include "example.h"

このままだと、example.hが無いと表示されます。

Aベストアンサー

標準ライブラリのパスは、gccのインストール時に指定して、Cプリプロセッサの中に組み込まれます。

#include "example.h"
は、まずカレントディレクトリを探し、次に gccコマンドラインの -I オプションで指定したディレクトリを探し、最後に標準ライブラリが探されます。

#include <example.h>
は、カレントディレクトリを探さない点が異なります。

ccも基本的には同じですが、Unixの種類によって機能が異なる可能性があります。Linuxの場合はcc=gccです。

QGtk-WARNING

Windows XPを積んだノートにWubiを導入し、そこからsshでFC5にリモートログインして、作業をしようとしています。
ところが何かのウィンドウを立ち上げるような操作をすると、

Gtk-WARNING **: cannot open display:

というエラーを吐いて、実際にXを飛ばすのに失敗します。
あるいはEmacsを立ち上げると、

Cannot connect to X server localhost:10.0

というエラーが出ます。
そのほかにも

can't open display "localhost:10.0"

というのも目にしました。
Xが飛んでいないのだろうと思い、クライアント側でxhost +を実行してみた所、

access control disabled, clients can connect from anyhost

となっていて、ここは問題なさそうです。
何か良い方法をご存じの方がいらっしゃいましたら、ぜひご教授下さい。

Aベストアンサー

申し訳ありません。Wubiが何なのか把握せずに書きこんでしまいました。
Cygwin のようなものを想像していました。・・・ぜんぜん違いますね。
Windows XPの書き込みは忘れてください。

Windows XPがプリインストールされているPCにWubiで何らかのディストリビューションをインストールし、X Windowを表示しようとしたで間違いありませんか?

トンネルを形成せずにX Windowを使用する場合は、X Window用のポートをあける必要があります。
iptablesでブロックしているのではないでしょうか。

Qファイルやディレクトリの存在確認を行う方法

ファイルをオープンするのはfopenでOKですが、ファイルやディレクトリの存在確認を行う方法が知りたいです。

何か組み合わせて作るものなのでしょうか?
perlとか便利な演算子があるのですが、C/C++って器用ではないですね。
これは処理系?依存の内容ですか?

私の環境は VC6, VC2005 Windows2000です。

Aベストアンサー

int access(const char* path, int mode);
int stat(const char* path, struct stat* sb);

かな?
MSDN を引くと _access_s() を使えとか書いてあるけど。

Q環境変数DISPLAYについて

Linuxコンピュータにモニターが二つあります。
2番目のモニターは、最初のディスプレイの2番目のスクリーンとして設定されています。
"netscape"プログラムが2番目のモニターに表示されるようにしたい場合、netscapeを起動する前にどのコマンドを利用しますか。

という問題に答えは

export set DISPLAY=:1:0;netscape

とあります。

1:0は2台目のパソコンの1台目のディスプレイという意味だと思うのですが、どうでしょうか?
なので正解は0:1だと思います。

回答のほどよろしくお願い致します。

Aベストアンサー

DISPLAYにセットする値はともかく、
export set DISPLAY=:0.1;netscape
とは、シェルのコマンドの書き方としておかしいですね。
これだと、「setという名前のシェル変数を環境変数としてexportする。さらにDISPLAYというシェル変数に:0.1という値をセットしてそれを環境変数としてexportする。それからnetscapeを起動する」です。一応期待の動作はしますが。
正しくは、
export DISPLAY=:0.1;netscape
か、netscape起動時に対してだけ環境変数を一時的に変えたいなら、
DISPLAY=:0.1 netscape
(セミコロンを入れない)です。

Qmakeコマンドができない

基本的なことだと思いますがお願いします。

fedore core で色んなことをやってみようと思い sl を インストール

していたのですがmakeができないのです。インストール通りにできないの

はなんでですか? makeコマンドは /usr/bin にありました。

的はずれなこと言っていたらすみません。

[root@localhost sl]# ls -lrt
合計 36
-rw-r--r-- 1 3605 lock 4101 1月 19 1994 sl.h
-rw-r--r-- 1 3605 lock 980 1月 19 1994 sl.txt
-rw-r--r-- 1 3605 lock 689 1月 19 1994 sl.1
-rw-r--r-- 1 3605 36 417 7月 22 1998 README
-rw-r--r-- 1 3605 36 331 7月 22 1998 Makefile
-rw-r--r-- 1 root root 76 10月 31 2005 install.txt
-rw-r--r-- 1 3605 36 7131 10月 31 2005 sl.c
[root@localhost sl]# more install.txt
1. # tar xvf sl.tar
2. # cd sl
3. # make
4. # cp sl /usr/local/bin/
5. # sl
[root@localhost sl]# make
cc -O -o sl sl.c -lcurses -ltermcap
make: cc: コマンドが見つかりませんでした
make: *** [sl] エラー 127

基本的なことだと思いますがお願いします。

fedore core で色んなことをやってみようと思い sl を インストール

していたのですがmakeができないのです。インストール通りにできないの

はなんでですか? makeコマンドは /usr/bin にありました。

的はずれなこと言っていたらすみません。

[root@localhost sl]# ls -lrt
合計 36
-rw-r--r-- 1 3605 lock 4101 1月 19 1994 sl.h
-rw-r--r-- 1 3605 lock 980 1月 19 1994 sl.txt
-rw-r--r-- 1 3605 lock 689 1月 19 1994 sl.1
-rw-r--...続きを読む

Aベストアンサー

そのslの出自がわかりませんが、
http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/
にあるものならば、

Makefile の
CC=cc
という行を
CC=gcc
に変更して再度 make してみてください。

> make: cc: コマンドが見つかりませんでした

というメッセージが出ているのだから、makeそのものは実行できている
というのはわかりそうなものですが。make 一発ですまないのは
このslだいぶ前に作られた古いものだからでしょうね。

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

Q画面が真っ黒のままです

しばらく作業をしないで放置していたところ、画面が真っ黒のままになってしまいました。
スクリーンセーブの機能だと思うんですが、
escやエンターや矢印キーを押しても画面が出てきません。

これを解除する方法はあるのでしょうか。
事前にコマンドを打っておくみたいなのはみつけたんですが
真っ黒になってしまってからではこれもできません・・・。
もしかしてカーネルがフリーズしていたりするのでしょうか。
XScreenSaverが悪さしてたりとか。。。ってどこかで見ました。
その場合は、どうにかしてPCの再起動しか手はないですか?
(そのどうにかして・・・がまたわかりませんが・・・)
何かよい方法がありましたら、お教えください。

よろしくお願いいたします。

Aベストアンサー

こんにちは。

#2で書かれていますが、Ctrl+Alt+BackSpaceキーでXサーバを再起動させることができます。
これは「マシンの再起動」ではありません。GUI画面をリセットして、GUIのログイン画面に戻るだけです。
(マシン自体の再起動は、大抵Ctrl+Alt+Delキーが割り当てられています)

また、#3で書かれているようにCtrl+Alt+F1~F6キーでいったんコンソール(CUI)画面に切り替え、Ctrl+Alt+F7キーで再度GUI画面に戻してみる、というのもいいかもしれません。

GUIの画面が復旧したら、スクリーンセーバーの設定を直しましょうね。

QLNK2019: 未解決の外部シンボルのエラーが出る

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
----------------------------------------------------------------
新しいプリジェクト→Win32 コンソール アプリケーション(ソリューションのディレクトリを作成 チェック外す)→Windows アプリケーション(空のプロジェクト チェック外す)
----------------------------------------------------------------
 プログラム

 mymain.cpp
#include "myhelper.h"
#include "mymain.h"

//自キャラのデータ
Point2D g_jikipos = {40, 400};//自キャラの座標

//画像ハンドル
int g_jikiimage[11];

//色々なファイルの読み込み
int LoadFiles(){
//画像ファイル読み込み
if(LoadDivGraph("media\\player01.bmp",
11,11,1,64,64,g_jikiimage) == -1) return -1;

return 1;
}


 mymain.h
//他から呼び出させるMyMainの関数
void MyMain();
int LoadFiles();


 myhelper.h(サンプルなので打ちミスはない)
#include "DxLib.h"
#include <limits.h>
#include <math.h>

//構造体宣言
//座標またはベクトルを記録する構造体
struct Vector{
float x,y;
};
typedef Vector Point2D;
//線を記録する構造体
struct Line2D{
Point2D startpos, endpos;
float katamuki;//傾きをラジアン値で記録
Vector speed;//移動している場合は速度をセット
};
//球体を記録する構造体
struct Ball2D{
Point2D position;
float hankei;//半径
};
//四角形を記録する構造体
struct Rect2D{
Point2D lefttop;
Point2D rightbottom;
float width;
float height;
};


//ライブラリ関数
Point2D PosInView(Point2D in);
int XInView(float inx);
int YInView(float iny);
void ScrollToLeft(float jikiposx);
void ScrollToRight(float jikiposx);
void ScrollToUp(float jikiposy);
void ScrollToDown(float jikiposy);
void DrawLineInView(float x1, float y1, float x2, float y2, int Color, int Thickness);
void DrawCircleInView(float x, float y, float r, int Color, int FillFlag);
void DrawAnimation(float x, float y, double ExtRate, double Angle,int TurnFlag,
int *imgarray, int allframe, float fps);
//ベクトル関数
Vector CreateVector(Vector in, float veclen);
Vector AddVector(Vector v1, Vector v2);
Vector SubVector(Vector v1, Vector v2);
Vector AddVectorInFrameTime(Vector pos, Vector speed);
Vector AddVectorInFrameTime2(Vector pos, Vector speed, Vector accel);
Vector Normalize(Vector in);
Vector RotateVector(Vector in, float radian);
float VectorLengthSquare(Vector in);
float DotProduct(Vector v1, Vector v2);
float CrossProduct(Vector v1, Vector v2);
void SetLine2DKatamuki(Line2D *in);
void DrawLine2D(Line2D in, int Color, int Thickness);
void DrawBall2D(Ball2D in, int Color, int Fill);
//当たり判定関数
bool HitTestLineAndBall(Line2D linein, Ball2D ballin);
bool IsPointAtLineFace(Line2D linein, Point2D ptin);
bool HitTestLineAndLine(Line2D line1, Line2D line2);
bool HitTestBallAndBall(Ball2D a, Ball2D b);
bool HitTestPointAndBox(Rect2D rect, Point2D pt);
//タイマー関数
void SetSimpleTimer(int idx, int time);
int GetPassedTime(int idx);


//グローバル変数
extern float g_frametime;
extern Rect2D g_framerect;//画面領域(当たり判定)
extern Point2D g_current_field_pos;//現在の左上座標
extern Rect2D g_stagesize;//ステージサイズ

//定数宣言
const float ZEROVALUE = 1e-10f;
const float PIE = 3.1415926f;
const int SCROLL_LIMIT = 200;
----------------------------------------------------------------
 エラー内容
1>myhelper.obj : error LNK2019: 未解決の外部シンボル "void __cdecl MyMain(void)" (?MyMain@@YAXXZ) が関数 _WinMain@16 で参照されました
1>C:\Documents and Settings\Owner\My Documents\Visual Studio 2008\Projects\my\Debug\my.exe : fatal error LNK1120: 外部参照 1 が未解決です
1>my - エラー 2、警告 0
ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ
----------------------------------------------------------------
画像を貼り付けときます
(見えにくい場合→http://www.dotup.org/uploda/www.dotup.org154142.jpg.html)
初心者なのでわかりやすくお願いします

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
----------------------------------------------------------------
新しいプリジェクト→Win32 コンソール アプリケーション(ソリューションのディレクトリを作成 チェック外す)→Windows アプリケーション(空のプロジェクト チェック外す)
----------------------------------------------------------------
 プログラム

 mymain.cpp
#include "myhelper.h"
#include "mymain.h"

//自...続きを読む

Aベストアンサー

ファイル構成から推測するに
mymain.cpp というファイルに
void MyMain(void) {
// ここに処理を書く
}
という関数が必要なようです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング