中心的な問題は次のとおりです:ANY gnomeセッションが実際の物理/ネイティブディスプレイの上に座っていない- -またはそのディスプレイのシャドーイング(つまり、NXserverのシャドーモード)-に権限がありません。ルートとして実行する場合でも!
VNC /非シャドウNXセッションの問題のある動作を修正する方法に関するコメントはありますか?
いくつかの詳細:
attached モニターでテスト/セットアップを行っている間、そのモニターの前に座っているときも、デスクトップマシンから(Vinoに)VNCで接続しているときも、すべてが桃色でした。
モニターなしでは問題が発生しますが:
最初の問題は、vino が頑固で、GDMの前/中にロードしたくないということでした。しかし、これはヘッドレスシステムであるため、デフォルトでXから開始する(つまり、初期化レベルを変更する)必要はまったくありません。ただし、これは古いubuntuバージョン(v9.04だと思う)で非常に 簡単に実行できる であることをはっきりと覚えています。そしてそれはうまくいきました。もうそうじゃない!? ...とにかく、私はそのアイデアを完全に落としました。
次に、 Unity/effects messing VNC (それを解決した 不正行為によって )。
当初、NXserverに切り替えて、次の問題がtightvncまたはvinoの問題ではないかと期待していましたが、そのような運はありませんでした。 (注:ラウンド2を読む)
VNC(またはNXserver)経由でリモート接続すると、ユーザーアカウントでHDDのマウント/アンマウントができなくなります。
VNC(またはNXserver)を介してリモート接続する場合、ユーザーアカウントは一部の特権構成オプションにアクセスできません。
いくつかの例:
これは、実際の物理的なモニターデバイスが接続されていない場合に、ユーザー特権が適切に割り当てられていないことに関係があると推測できます。
「なぜ」これがubuntu 11.04で発生するのか、それがヘッドレスの場合、私を逃れます。以前のバージョンのubuntuでは、この動作を覚えていません。
HDDのマウントの問題は、内部/静的hddの問題ではありません(とにかく静的なので、fstabに追加するだけです)。しかし、取り外し可能なUSBメディアには本当に大きな苦痛があります。
残りの問題、私は修正する方法を理解していません...
私はあなたが何を考えているか知っています... ssh、sudo suにログインし、rootでvncserverを完全に実行しますか?
サプライズサプライズ! rootのGUIも壊れています。gpartedは情報を取得できず、user&groupsは完全にグレー表示されます(これは通常のユーザーとは異なる動作です)。奇妙なことに、ログイン画面の管理プログラムはうまく機能しているようです。
(注:これが結果に影響を与えたかどうかはわかりません。ラウンド1とラウンド2の間のある時点で、 このスレッド の投稿#21と#24で述べた変更を適用しました_)
通常のtightvnc/NXServerセッションは同じ動作をしますが、...
NXClient接続設定で、「シャドウ」モードを選択すると(シャドウがネイティブディスプレイ、つまりデスクトップシャドウイングにアタッチします)...
このセッション内ではすべてが完璧に機能します!
私が気づいたことの1つは、すぐにキーリングのパスワードを要求されることです...おそらく、混乱全体がgnomeが使用するキーリングシステムと関係があるのでしょうか?
ただし、通常の(シャドウではない)NX接続、または通常のvncで接続すると、同じ問題が発生します。
追伸round1とround2を書いたとき、その間に2日間ありました(ローカルでtxtファイルに保管していました)。さまざまなサジェスチョンをテストして、何が機能するかを確認していました。そのため、そのxorg.conf VNCデバイスの編集またはnomodeset設定が違いを生むかどうかはわかりません。
[編集2011-06-10]
この記事の執筆時点では、システムを自動ログインに設定していました。そのため、シャドウ接続は単に機能していました。後でそれを無効にしてシステムを再起動すると、NXがエラーを出しましたが、少しグーグルで このスレッド が見つかりました
これらは、/ usr/NX/etc/server.cfgで行ったコメント解除と変更です。
EnableAdministratorLogin = "1"
EnableSessionShadowing = "1"
EnableInteractiveSessionShadowing = "1"
EnableSessionShadowingAuthorization = "0"
EnableDesktopSharing = "1"
EnableInteractiveDesktopSharing = "1"
EnableFullDesktopSharing = "1"
EnableAdministratorDesktopSharing = "1"
EnableDesktopSharingAuthorization = "0"
EnableSystemDesktopSharingAuthorization = "0"
(大学や大規模なオフィスなど、よりパブリックネットワークの場合は、おそらく少し厳しい設定を使用しますが、これらは私に適しています。)
再起動後、nxclientを使用してデスクトップの「シャドウ」(ネイティブディスプレイ)設定にログインし、GDMを取得しました! :D
残念ながら、クリップボードは「シャドウ」セッションでは機能しません(他の/通常のセッションでは正常に機能します)
[編集2011-06-11]
つまずいた Xvfb ですが、次のように使用すると同じ問題が発生します。
Xvfb :2 -ac -screen 0 1280x1024x32 -pixdepths 8 24 2>&1 >/dev/null &
export DISPLAY=:2
gnome-session --session=2d-gnome 2>&1 >/dev/null &
x11vnc --display :2 --passwd blahblah
犯人を見つけました。
新規インストールでテストし、バグであることを確認しました。
バグレポート を提出しました
要するに、問題は次のとおりです。polkit認証ダイアログは、VNC/NXセッションがあるDISPLAY:1ではなく、DISPLAY:0に表示されます。
回避策は、ログイン時にlibpam-keyringを使用して自動認証することです。
または...スクラッチ、おそらくそれはしないだろう、すべてのポリシーキット設定を「auth_admin」から「yes」に変更するとおそらく問題が修正され、もちろんポリシーキットが完全に無効になる...ため息
これが正しいPolicyKitの動作だと思います。
Active、Inactive、およびAny他のユーザーのポリシーは異なるため、 NX経由で接続している場合、Active(ローカルコンソールのアクティブセッションのクライアント)でも、Inactive(非アクティブのクライアントでもない)ローカルコンソールでのセッション)、ただし、結果はAnyユーザーになります。
次のコマンドを使用して、さまざまなタイプのユーザーのポリシー制御下でアクションのデフォルトポリシーを表示できます。
pkaction --verbose
ご覧のとおり、タイプがAnyのユーザーは、アクティブユーザーと比較して制限されています。
修正するには、デフォルトのポリシーを変更できます。以下では、正しい場所に配置するポリシーキットファイルを作成するawkスクリプトを提案します。これはスクリプトです:
#!/usr/bin/awk -f
/^[^ ]/ {
action = substr($0, 1, length($0) - 1)
}
/^ / {
if ($1 == "description:") {
$1 = ""
description = substr($0, 2)
if (description == "")
description = action
} else if ($1 == "implicit") {
if ($2 == "any:")
any = $3
else if ($2 == "inactive:")
inactive = $3
else if ($2 == "active:") {
active = $3
print ""
print "[" description "]"
print "Identity=unix-group:admin"
print "Action=" action
print "ResultActive=" active
print "ResultInactive=" active
print "ResultAny=" active
}
}
}
create-policy
と呼ぶことにします。実行可能にし、スクリプトを実行します
pkaction --verbose | ./create-policy > local.pkla
次に、結果のファイルを移動します。
Sudo mv local.pkla /var/lib/polkit-1/localauthority/50-local.d/
これで、ローカルセッションユーザーであったのと同じ権利が得られます。
NXで同様の問題が発生していて、次のスレッドが見つかりました。
NXを使用しているときにClassicではなくUnityを取得する理由は?
デスクトップがUnixおよびカスタムに設定されるようにWindows NXクライアントを編集し、次のコマンドを実行するように設定しました。
gnome-session --session=classic-gnome
そして選択新しい仮想デスクトップ。
その後、私は行ってよかったです。