トップページunix
1001コメント263KB

■■■X11不要論■■■R3■■■

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2005/11/18(金) 17:31:34
全ての人にとって不要という訳ではありませんが、Linux系の「プロフェ
ッショナルユーザ」や「(本来の)ハッカー」といった上級者レベルの方にと
っては、全く目障りで不要なユーザインターフェースではないでしょうか?

ハッカーを自負するand/or目指す貴男貴女!
我々といっしょに全ての元凶であるX11を捨て去りましょう!

■■■X11不要論■■■
http://pc5.2ch.net/test/read.cgi/unix/1071228155/

■■■X11不要論■■■R2■■■
http://pc8.2ch.net/test/read.cgi/unix/1099755829/
0552名無しさん@お腹いっぱい。2006/02/12(日) 00:27:28
>>549
> ioctl とかで動作変えるとかは、まぁ許すとして。。。
は、まぁ、Xの主旨に反するが、
***適当にエクステンションを定義***
すればすむ話なのでは?

少なくとも大量にある描画情報よりは GPU 用のプログラム
の方が小さいし、いざとなれば X サーバ側でキャッシュし
といて切り替えたっていいわけだし。。。
0553名無しさん@お腹いっぱい。2006/02/12(日) 02:06:17
>>548
PCI(AGP)ホストブリッジが間に介在するから
「CPUのメモリ空間すべてに対してアクセスできる」なんてことはない。
仮にできるように設定したところで、例えば64bit CPUを装備したシステムで
32bitアドレス空間のPCI/AGPバスから64bitアドレス空間のメインメモリの全域を
どう触れというのか。
0554名無しさん@お腹いっぱい。2006/02/12(日) 02:54:04
> PCI(AGP)ホストブリッジが間に介在するから

PC系の場合、PCIホストブリッジ上ではアドレス変換しない
ことがほとんどでしょ。RISC系のサーバじゃ話は別だが。

> 例えば64bit CPUを装備したシステムで32bitアドレス空間の
> PCI/AGPバスから64bitアドレス空間のメインメモリの全域を
> どう触れというのか。

カーネルは普通32bitの範囲内にあるから、カーネルメモリを
読み書きできるだけでセキュリティ的には致命的なので、
論旨には影響しない。
0555名無しさん@お腹いっぱい。2006/02/12(日) 14:20:12
>>551
X11のDRIは2D処理だけ。現状は。
0556名無しさん@お腹いっぱい。2006/02/12(日) 14:52:56
> PC系の場合、PCIホストブリッジ上ではアドレス変換しない

いつからPC限定の話になってたんだ? 流れが読めなくてすまないね。
まあそのPCでも、今時はメインメモリ/バス間でアドレス空間が違ってるのは前述のとおり。

> カーネルは普通32bitの範囲内にあるから

64bitアドレス空間にあるユーザプロセスのメモリはカーネルの管理下にないとでも?
(というか、これを書いてるSolaris/amd64ではfffffffffb800000以降にカーネルがいるし)

それに、仮に32bitアドレス空間内にカーネルが収まっていたとしても、
カーネル仮想アドレスとバスアドレスはやっぱり違う。
Linuxだったらinclude/asm-i386/io.hのvirt_to_physやphys_to_virtにあるとおり。
ずらしてアクセスすればいいだけなんで、全域にアクセスできないわけじゃないとは思うけど、
少なくともカーネル仮想アドレスとバスアドレスは区別しなければならない。

まあ、「GPUはCPUのメモリ空間すべてにアクセス」というくだりがおかしいと言ってるだけで、
GPUを使ったセキュリティホールが存在しうることについては否定しない。
漏れは「DGAと同じ扱いでいいんじゃね?」と思うけど。
0557名無しさん@お腹いっぱい。2006/02/12(日) 20:44:19
> (というか、これを書いてるSolaris/amd64ではfffffffffb800000以降にカーネルがいるし)

これはカーネル仮想アドレスでしょ。

> Linuxだったらinclude/asm-i386/io.hのvirt_to_physやphys_to_virtにあるとおり。

ここでphysと言ってるのはバスアドレスじゃなくて物理の方だね。
まあi386の場合、バスアドレスと物理アドレスは等しいから、結局
同じことなんだけど。

> GPUを使ったセキュリティホールが存在しうることについては否定しない。

まあそういうこと。
PCに限って話を簡略化したのは悪かったが、趣旨自体はあってるだろ。
0558名無しさん@お腹いっぱい。2006/02/13(月) 02:32:07
>>555
GPGPUでレンダリングとかやってるのあるぜ?
http://www.gpgpu.org/

既にShあるし。
http://www.libsh.org/
0559名無しさん@お腹いっぱい。2006/02/13(月) 09:55:39
windows並に表示が高速になればいいのに。
いいGPUが無駄。
0560名無しさん@お腹いっぱい。2006/02/13(月) 12:28:28
>>559
つlinux + nvidia
0561名無しさん@お腹いっぱい。2006/02/13(月) 15:21:21
directXが動きません。orz
0562名無しさん@お腹いっぱい。2006/02/13(月) 23:54:06
X12って出ないの?
0563名無しさん@お腹いっぱい。2006/02/14(火) 00:15:29
上位互換性のないプロトコル変更をした時にバージョンが上がるんだが、
そういう変更をするとは思えない/する必要がないから、たぶん X12 は
出ないと思うよ。

互換性を崩さなくても、プロトコルを拡張できるようになってるのが肝
ですな。
0564名無しさん@お腹いっぱい。2006/02/14(火) 00:31:40
>>563
> 互換性を崩さなくても、プロトコルを拡張できるようになってる
つか、なんかの標準になってなかったけ, X プロトコル?
0565名無しさん@お腹いっぱい。2006/02/14(火) 21:22:42

JISとかISOにはなってないと思われ。(POSIXも?)
つまり、もぐりw
0566名無しさん@お腹いっぱい。2006/02/15(水) 00:24:32
http://www.opengroup.org/branding/prodstds/x98ud.htm
0567名無しさん@お腹いっぱい。2006/02/15(水) 22:49:12
R7になってもいいかもな。ウニコード対応とか。
0568名無しさん@お腹いっぱい。2006/02/15(水) 23:28:18
XGL 上げ
0569名無しさん@お腹いっぱい。2006/02/16(木) 00:18:27
何それ?
0570名無しさん@お腹いっぱい。2006/02/16(木) 08:26:50
>>569
http://www.freedesktop.org/~davidr/xgl-demo1.xvid.avi
xglのデモムービー。見て味噌。
0571名無しさん@お腹いっぱい。2006/02/16(木) 18:59:37
ソフトレンダラですね。
directx GPUが無駄。
0572名無しさん@お腹いっぱい。2006/02/16(木) 19:36:34
>>571
なわけねぇ〜だろう
0573名無しさん@お腹いっぱい。2006/02/16(木) 20:37:43
561=571だろw
0574名無しさん@お腹いっぱい。2006/02/17(金) 00:04:19
X不要と主張しつつも、デフォになりつつあるなぁ…
0575名無しさん@お腹いっぱい。2006/02/17(金) 00:13:06
もうJava向けに最適化しちゃえよ
0576名無しさん@お腹いっぱい。2006/02/17(金) 02:21:44
xlibに変わるまともなgui api作ればいいのにな。
フリーだからXに流れるってのは安直すぎ。

かといって遅いJavaデスクトップは嫌だ。
0577名無しさん@お腹いっぱい。2006/02/17(金) 03:01:42
XLIBはGUI APIじゃないですから。
0578名無しさん@お腹いっぱい。2006/02/17(金) 07:27:30
>>576
「まとも」であることを定義してみてよ。
0579名無しさん@お腹いっぱい。2006/02/17(金) 10:14:41
SDLってまともじゃないの?
0580名無しさん@お腹いっぱい。2006/02/18(土) 13:13:10
過去レスから抜粋すると、

-APIがすっきりしている事
-WMに頼らずともまともなGUIが作れること

…これだけ? >『まともなGUI API』
0581名無しさん@お腹いっぱい。2006/02/18(土) 15:13:26
ハードウェアを解析して適切なレンダリングエンジンに切り替えられること
も追加して
0582名無しさん@お腹いっぱい。2006/02/18(土) 15:53:33
解析言うな(w
0583名無しさん@お腹いっぱい。2006/02/20(月) 08:50:58
System V shared memoryに依存した実装はもう古い。
directX実装すれば、安く買えるdirectxアクセラのGPUをダイレクトに動かせるのに。
0584名無しさん@お腹いっぱい。2006/02/20(月) 08:58:44
>>571 とか >>583 とかが鵜呑みにしてる情報源を見てみたい...
0585名無しさん@お腹いっぱい。2006/02/20(月) 11:45:02
>>583
Linux + nVIDIA純正ドライバ
試してみては?
0586名無しさん@お腹いっぱい。2006/02/20(月) 23:59:02
xlibに穴が開いていてroot取られるので糞。
まあ鯖でXインスコするのも糞だけど。
0587名無しさん@お腹いっぱい。2006/02/21(火) 00:20:18
>>586
素朴な疑問
なんで X が root 取られるような状況で動いてるんでっか?
0588名無しさん@お腹いっぱい。2006/02/21(火) 00:27:23
rootで動いているXサーバに穴があるっていうなら分からないでもないけど、
Xlib(単なるユーザプログラムにリンクされるだけ)に穴があっただけでは
権限昇格はできない。
0589名無しさん@お腹いっぱい。2006/02/21(火) 10:52:52
Linux板gnomeスレより
Fedoraによる別のOpenGL拡張らしい

AIGLX
http://fedoraproject.org/wiki/RenderingProject/aiglx
http://www.gnome.org/~jrb/aiglx/shot01.ogg
http://www.gnome.org/~jrb/aiglx/shot02.ogg
http://www.gnome.org/~jrb/aiglx/shot03.ogg
http://fedoraproject.org/wiki/RenderingProject

XGLとの違い
http://fedoraproject.org/wiki/RenderingProject/aiglx#head-fd52c96a20634fde25954bbf95a286c823a10742
0590名無しさん@お腹いっぱい。2006/02/21(火) 17:52:07
関係ないけどoggって映像も扱えるのか
知らんかった
0591名無しさん@お腹いっぱい。2006/02/21(火) 20:23:13
ogg theoraですな。
0592名無しさん@お腹いっぱい。2006/02/21(火) 20:42:13
>>588
アフォはスルーでw
0593名無しさん@お腹いっぱい。2006/02/21(火) 21:39:02
ヒント:suid
% ls -l /usr/X11R6/bin/xterm
-rws--x--x 1 root wheel 229160 Feb 25 2004 /usr/X11R6/bin/xterm
^
0594名無しさん@お腹いっぱい。2006/02/21(火) 22:04:56
たしかに suid な X クライアントは危ない。
でも、いまどきのほとんどの OS では、xterm も一般ユーザ権限に
なってるはずだが。Xのバージョンが古いんじゃねえ?
0595名無しさん@お腹いっぱい。2006/02/21(火) 22:11:49
xterm は utmp だかなんだかのために特殊な権限が必要だとか
なんとか聞いたことがある。
0596名無しさん@お腹いっぱい。2006/02/21(火) 22:19:21
CentOS latest です。

-rwxr-xr-x 1 root root 258172 Feb 22 2005 /usr/bin/xterm

いまどきXがらみでSetUIDなんて Solaris か何か変なUNIXだけじゃないの?
0597名無しさん@お腹いっぱい。2006/02/21(火) 22:23:48
Solaris は大丈夫だよ。

Solaris 9 だとこう。
-rwxr-xr-x 1 root bin 205700 Sep 6 2003 /usr/openwin/bin/xterm*
05985962006/02/21(火) 22:54:25
>>597
濡衣スマソ
0599名無しさん@お腹いっぱい。2006/02/21(火) 23:03:13
Debian GNU/Linux$ ls -l /usr/X11R6/bin/xterm
-rwxr-sr-x 1 root utmp 248696 2003-10-25 09:44 /usr/X11R6/bin/xterm
0600名無しさん@お腹いっぱい。2006/02/22(水) 00:38:23
今使ってるSolaris10/x86だと、X.orgサーバまでユーザ権限で動いている。
どうなってるんだろ?
0601名無しさん@お腹いっぱい。2006/02/22(水) 00:54:21
mmapすれば、ドイツもこいつもたたき放題。
access controlはfile system任せ。
0602名無しさん@お腹いっぱい。2006/02/22(水) 02:47:48
ん?mmapする前のopenでちゃんとチェックしてるでしょ?
ってかそれだけじゃよくわからんので,勘違いだったらスマソ
0603名無しさん@お腹いっぱい。2006/02/22(水) 10:01:54
~/ % uname -r ; ls -l =xterm
6.0-RELEASE-p4
-rws--x--x 1 root wheel 252996 Jan 10 01:08 /usr/X11R6/bin/xterm
0604名無しさん@お腹いっぱい。2006/02/22(水) 11:22:08
デビアンとフリビ終わったな。
ソラリスにX入れるな!
0605名無しさん@お腹いっぱい。2006/02/22(水) 21:59:59
>>595
ヒント: utempter
0606名無しさん@お腹いっぱい。2006/02/24(金) 09:05:22
utempterが穴に成る罠。suidされてるし。
0607名無しさん@お腹いっぱい。2006/02/24(金) 18:50:59
setuid されてないよ。
ちゃんと調べてみたら?
0608名無しさん@お腹いっぱい。2006/02/24(金) 19:48:34
ls -l /usr/sbin/utempter
の出力曝してみろ。
0609名無しさん@お腹いっぱい。2006/02/24(金) 23:12:32
CentOS-Latest:
-rwxr-sr-x 1 root utmp 10497 Feb 22 2005 /usr/sbin/utempter
0610名無しさん@お腹いっぱい。2006/02/25(土) 14:33:18
> ls -l /usr/sbin/utempter
/usr/sbin/utempter: ファイルもディレクトリもありません。
0611名無しさん@お腹いっぱい。2006/03/02(木) 09:16:13
Xはなぜ安定しないんだろう?
0612名無しさん@お腹いっぱい。2006/03/02(木) 09:17:37
安定しているよ?
0613名無しさん@お腹いっぱい。2006/03/02(木) 09:18:51
腐ったDRIドライバとかウィンドウ・マネージァ使わない方がいい。
0614名無しさん@お腹いっぱい。2006/03/02(木) 19:41:21
ドライバはともかく、マネージャで腐ってるのってある?
(除く、開発バージョン)
0615名無しさん@お腹いっぱい。2006/03/02(木) 20:13:39
たとえウィンドウマネージャが腐ってても不安定にはならないんじゃないかなあ。
0616名無しさん@お腹いっぱい。2006/03/03(金) 00:19:00
馬鹿か?
0617名無しさん@お腹いっぱい。2006/03/03(金) 11:02:56
GNOME+metacityだと、
metacityが一切eventを受け付けなくなることがよくあった。
キーボードもマウスボタンも駄目なので、(グラブしているので)
Xサーバで処理しているCtrl+Alt+〜しか駄目。
Ctrl+Alt+F2でコンソールに移ってmetacityをkillすると直る。(gnomeが再起動)
0618名無しさん@お腹いっぱい。2006/03/03(金) 19:52:04
gnome って素人むけらしいけど、それも関係するんだろうか?
0619名無しさん@お腹いっぱい。2006/03/03(金) 21:02:12
そんな餌には釣られないクマ
0620名無しさん@お腹いっぱい。2006/03/04(土) 13:49:35
別スレからのマルチで、しかもスレ違いで恐縮ですが、
Win32でいうところの HWND_BOTTOM ってどうやるんですか?
ようは、常に最下層にWindowが表示されるようにするってことです。
XLowerWindow は、その場は最下層にできるのですが、「常に」じゃないですよね。

0621名無しさん@お腹いっぱい。2006/03/04(土) 16:30:18
X11はメカニズムを提供するのであって、
ポリシーを提供するのではないというアーキテクチャ感に基づいているので、
それはXlibなどのレイヤーの行うことではありません。
# 下に置く機能は提供している。

GNOMEだと、
http://developer.gnome.org/doc/standards/wm/c44.html
の辺りにあります。KDEはしりません。
0622名無しさん@お腹いっぱい。2006/03/04(土) 20:10:52
あ、わかった。
X の世界で、ウインドウの上下関係を決めるのは、
WMであってXじゃないんだ。
逆に言うと、WMのAPIなりユーティリティなりで
そのような機能が提供されているなら、そのAPIを叩く。
提供されていないなら、諦める。
・・・以上でOKでしょうか。
0623名無しさん@お腹いっぱい。2006/03/04(土) 20:25:43
>>622
Xの機能ではないのはあっているけど、ウィンドウの上下関係は拡張WMHintというWM共通の仕様がある
ので、よっぽど古い変なWMでない限り、どのWMでも同じやりかた(プロパティ経由でWMに指示)でできる。
0624名無しさん@お腹いっぱい。2006/03/04(土) 20:37:39
gtkだと、gtk_window_set_keep_below()つーのがあるから、
アプリが指定したいときはこれを使う。

一般的に、たとえばXIMのパレットは常に前面に出て欲しいとか、
俺は時計を前面に出していたいぜ、とかあるから、
アプリが指定するか、アプリでは指定せずにWMに任せるか、
それはアプリの種類と利用者による。

いずれにせよ、どのwidgetを使うか決めた方がいい。
XLowerWindowってことはXlibを使っているのだろうけど、
# ちなみにXlibはライブラリ作成者の使うライブラリという位置づけ。
このライブラリは一番下位のレイヤーなので、
あなたの必要な機能は提供されていない。
ただ、使っているWMのコンベンションに合わせて、
windowの属性に適当な値を設定すればいい。

gnome/gtkの場合はそれが規約になっているので、
gtk_window_set_keep_below()を呼び出せばいい。
_WIN_LAYER属性をWIN_LAYER_BELOWにしているはず。
0625名無しさん@お腹いっぱい。2006/03/04(土) 21:19:22
> X11はメカニズムを提供するのであって、
> ポリシーを提供するのではないというアーキテクチャ感に基づいているので、

諸悪の根源、ここに見たり。
0626名無しさん@お腹いっぱい。2006/03/04(土) 22:03:50
ほう。じゃあ、博識な625様にとっくりと説明してらおうか。
0627名無しさん@お腹いっぱい。2006/03/04(土) 22:10:54
俺は >>625 は半分合ってると思うよ。反面、上位レイヤーを丸投げしたからこそ
長らえられたというのも真だと思う。
0628名無しさん@お腹いっぱい。2006/03/04(土) 22:36:51
もっと詳しく
0629名無しさん@お腹いっぱい。2006/03/04(土) 22:48:52
>>627
なるほど
0630名無しさん@お腹いっぱい。2006/03/04(土) 23:38:31
http://2chlinux.dtdns.net/2ch-linux-ks/thread/1050156031.html#842
ググってたら、まったく同じ質問をしている人を発見。
しかも、やりたいことまでまったく同じ。
なんか、デジャビュ感あり。

ひとつ聞きたいのですが、「拡張WMHint」というのは
正式名称ですか?
ググってもなんか反応がないんですが。
0631名無しさん@お腹いっぱい。2006/03/04(土) 23:45:34
>>630
Extended Window Manager Hintsでググって

規格自体はfreedesktopにありまつ
ttp://www.freedesktop.org/wiki/Standards_2fwm_2dspec
ttp://standards.freedesktop.org/wm-spec/wm-spec-1.3.html
0632名無しさん@お腹いっぱい。2006/03/04(土) 23:45:43
>>627
他にもX11はウィンドウ・システムの最前線を切り開いてきたぞ。
SmalltalkやAndrewと共に。

ウィジェットだけみてもXaw, Interviews, Tkが新しいフレームワークを開拓した。
Interviews, Tkは現在のほとんど全てのウィジェットの源泉だし。
0633名無しさん@お腹いっぱい。2006/03/05(日) 01:48:07
>>567
R7は去年出たろうが
0634名無しさん@お腹いっぱい。2006/03/07(火) 23:01:39
年に1回ぐらいでるの?
0635名無しさん@お腹いっぱい。2006/03/08(水) 00:05:31
>>634
一応freedesktop.orgの目標は年二回のリリース
次はX11R7.1だがいつになることやら
0636名無しさん@お腹いっぱい。2006/03/08(水) 00:10:37
年に二回になります。
0637名無しさん@お腹いっぱい。2006/03/08(水) 09:08:54
7.* の * の部分が年2回程度ってことですね。
ありがとうございます。

となると、8.* が出るのはまだまだ先のようですね。
0638名無しさん@お腹いっぱい。2006/03/08(水) 09:49:09
まあ新しいリリース・エンジニアリングなわけだから始まってみないとわからんわな。
0639名無しさん@お腹いっぱい。2006/03/09(木) 04:31:12
来年R7が出れば年号と合ったのにな。
0640名無しさん@お腹いっぱい。2006/03/09(木) 08:34:05
古いXって10からしか知らないのですが、
10の時ってRは何番まであったのか、どなたかご存知無いですか?
0641名無しさん@お腹いっぱい。2006/03/09(木) 08:49:06
7.1が出るのは5月か。まだまだ先だな。それまでにXglの実装/標準化がすすめが面白いが・・・

>>640
http://ja.wikipedia.org/wiki/X_Window_System#.E3.83.AA.E3.83.AA.E3.83.BC.E3.82.B9.E5.B1.A5.E6.AD.B4
0642名無しさん@お腹いっぱい。2006/03/09(木) 11:54:39
>>640
R4
06436402006/03/09(木) 14:10:35
情報ありがとうございます。
見てると、あとに行く程数字の区切りが細かくなってるようですね。
0644名無しさん@お腹いっぱい。2006/03/09(木) 14:43:23
>>643
X10は何使っていたの?
俺はR3まで。たしかR4はX11出てから。
06456402006/03/09(木) 17:15:32
>>644
X10は経験がありません。UNIX触りはじめた頃は、すでにX11でしたから、
で、R6が出たときは鮮明に覚えています。
たしか、UUとかの雑誌についていて
一晩かかって、Solarisにインストールしたのを覚えています。
0646名無しさん@お腹いっぱい。2006/03/09(木) 21:21:55
X11R5はテープ回覧とかしてなかったっけ?
0647名無しさん@お腹いっぱい。2006/03/09(木) 21:31:31
時代を感じるな
0648名無しさん@お腹いっぱい。2006/03/09(木) 22:04:46
まさに上級者のスレだ。
0649名無しさん@お腹いっぱい。2006/03/09(木) 22:22:13
X11R6が出た時、Solarisでは、
「喜んで一晩コンパイルしてインストールする」派と、
「MITのサンプルサーバーなんか使わずにOpenWin使え」派に分かれたなぁ。。
今は結局 Xorgで、流れが一本化したけど。
0650名無しさん@お腹いっぱい。2006/03/09(木) 23:08:49
>>649
へぇそうだったんだ。もうてっきり皆が皆、R6試してたのかと思ったよw
ただ、今思えば地味な window system だったなぁ、と回想

PC では、win3.1 とか出てた頃だったから余計にそう思ったのかも
0651名無しさん@お腹いっぱい。2006/03/10(金) 00:15:04
XsunはR4ベースの時代が長くて、ちょと困った。

それから、Solaris 2.6の頃まで、X11R6も別途インストールして、
ライブラリ、インクルードファイルを使って、アプリをコンパイルしていた。

最近はライブラリ古くて苦労するってことはない。
■ このスレッドは過去ログ倉庫に格納されています