Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

02.02.2010, 21:04

CentOS 5.4 VNC Desktop und Standard-Desktop

Hallo alle zusammen.

Ich war bis vor kurzem noch alles andere als ein Linuxfreund, aber seitdem ich CentOS kenne, hat sich ein gewisses Interesse entwickelt. Ich bin also noch ein ziemlicher Linux-Newbie. Außerdem interessiert mich grundsätzlich der Weg über die Konsole wesentlich mehr als über KDE etc., obwohl ich mich auch mit den verschiedenen Desktopmanagern auseinandersetzen möchte. Soviel vielleicht als kleine Vorwarnung ;)

Also, ich habe 2 Fragen:

1. STANDARD-DESKTOPMANAGER
Ich versuche gerade rauszufinden, in welcher Datei wie der Standarddesktopmanager gespeichert ist. Ich meine mittlerweile zu wissen, dass die Datei /etc/x11/prefdm dafür schonmal relativ entscheidend ist. Diese wiederum scheint aus der Datei /etc/sysconfig/desktop den bevorzugten DM auslesen zu wollen. Nur ist diese Datei leider leer bei mir. Ich hab jetzt mal ganz auf die doofe versucht, da "$DISPLAYMANAGER = KDE" reinzuschreiben, aber er lädt trotz allem noch Gnome, also war hier wohl bestenfalls der Ansatz richtig, wenn überhaupt. (Bei der Installation hab ich Gnome mitinstalliert, KDE ist mittlerweile auch vorhanden.) Einfach während des Logins die Standardsitzungsart zu ändern, ist mir zu banal ;)
Danke schonmal für eure Hilfe hierzu.

2. STANDARD-DESKTOPMANAGER FÜR VNC VERBINDUNG
Ich betreibe CentOS derzeit in einer virtuellen Maschine auf meinem Server und verbinde mich zuerst per PuTTY mit SSH und darüber dann mit UltraVNC mit der VM. Funktioniert wunderbar. Allerdings wird auch hier Gnome geladen, auch wenn ich Die Standardsitzungsart beim Login (auf der VM dann, per SSH/VNC bekommt man die ja nicht zu sehen) auf KDE stelle. Das legt natürlich den Verdacht nahe, dass ich ihm irgendwo die gewünschte Sitzungsart für eine VNC-Verbindung mitteilen muss. Die Frage lautet hierzu, wenig überraschend, wo und wie?
Danke auch hierfür.

-Stranger

2

02.02.2010, 21:53

Das kommt auf den Display-Manager (gdm, kdm, xdm, etc.) an.

Die Standard-Sitzung wird meist pro Benutzer in der Datei ".dmrc" im Heimatverzeichnis gespeichert.

Weiterhin wird oft eine entsprechende Option in der Konfigurationsdatei des Display-Managers angeboten, z.B. beim gdm meist in /etc/X11/gdm/gdm.conf die Option "DefaultSession=...". Diese gibt dann den systemweiten Standard vor, der genommen wird, falls keine ~/.dmrc für einen Benutzer existiert, weil dieser z.B. nach dem Login noch keine Vorgabe für seine zukünftigen Sessions gewählt hat.

Ich vermute, für den VNC-Server gibt es ebenfalls eine Konfigurationsdatei, die eine systemweite Voreinstellung enthalten kann.

3

02.02.2010, 22:25

Super. Du etablierst dich grade zu meiem ultimativen Linux-Problemlöser (ich nehm mal an, der oziris von pcmasters.de bist du, oder? Da hatte ich neulich mal wegen VNC was gefragt)

Das ist schonmal eine super Info. Klappt wunderbar, trag ich da KDE ein, startet er KDE, mit gnome startet Gnome.

Jetzt gilt es (erstmal) nur noch rauszufinden, wo der VNC-Standard versteckt ist. Soviele Möglichkeiten gibts ja eigentlich nicht. Entweder steht es vermutlich in der xstartup des Users oder allgemein in der vncservers.

Ich persönlich würde eher mal auf die xstartup tippen. So sieht meine derzeit aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/sh

# Uncomment the following two lines for normal desktop:
 unset SESSION_MANAGER
 exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &


Hier noch die /etc/X11/xinit/xinitrc

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh
# Copyright (C) 1999 - 2005 Red Hat, Inc. All rights reserved. This
# copyrighted material is made available to anyone wishing to use, modify,
# copy, or redistribute it subject to the terms and conditions of the
# GNU General Public License version 2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Authors:
#       Mike A. Harris <mharris@redhat.com>

# Mandatorily source xinitrc-common, which is common code shared between the
# Xsession and xinitrc scripts which has been factored out to avoid duplication
. /etc/X11/xinit/xinitrc-common

# The user may have their own clients they want to run.  If they don't,
# fall back to system defaults.
if [ -f $HOME/.Xclients ]; then
    exec $SSH_AGENT $DBUS_LAUNCH $HOME/.Xclients || \
    exec $SSH_AGENT $HOME/.Xclients
elif [ -f /etc/X11/xinit/Xclients ]; then
    exec $SSH_AGENT $DBUS_LAUNCH /etc/X11/xinit/Xclients || \
    exec $SSH_AGENT /etc/X11/xinit/Xclients
else
    # Failsafe settings.  Although we should never get here
    # (we provide fallbacks in Xclients as well) it can't hurt.
    [ -x /usr/bin/xsetroot ] && /usr/bin/xsetroot -solid '#222E45'
    [ -x /usr/bin/xclock ] && /usr/bin/xclock -geometry 100x100-5+5 &
    [ -x /usr/bin/xterm ] && xterm -geometry 80x50-50+150 &
    [ -x /usr/bin/twm ] && /usr/bin/twm
fi


Und zu guter Letzt noch die xinitrc-common:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/bin/bash
# Copyright (C) 1999 - 2004 Red Hat, Inc. All rights reserved. This
# copyrighted material is made available to anyone wishing to use, modify,
# copy, or redistribute it subject to the terms and conditions of the
# GNU General Public License version 2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

# xinitrc-common
#
# This is common code shared by both Xsession and xinitrc scripts.  Be sure
# to take this into account when fixing bugs or adding new functionality.

# Set up i18n environment
if [ -r /etc/profile.d/lang.sh ]; then
  . /etc/profile.d/lang.sh
fi

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
userxkbmap=$HOME/.Xkbmap

sysresources=/etc/X11/Xresources
sysmodmap=/etc/X11/Xmodmap
sysxkbmap=/etc/X11/Xkbmap

# merge in defaults
[ -r "$sysresources" ] && xrdb -merge "$sysresources"
[ -r "$userresources" ] && xrdb -merge "$userresources"

# merge in keymaps
if [ -r "$sysxkbmap" ]; then
    setxkbmap $(cat "$sysxkbmap")
    XKB_IN_USE=yes
fi

if [ -r "$userxkbmap" ]; then
    setxkbmap $(cat "$userxkbmap")
    XKB_IN_USE=yes
fi

# xkb and xmodmap don't play nice together
if [ -z "$XKB_IN_USE" ]; then
    [ -r "$sysmodmap" ] && xmodmap "$sysmodmap"
    [ -r "$usermodmap" ] && xmodmap "$usermodmap"
fi

unset XKB_IN_USE

# run all system xinitrc shell scripts.
for file in /etc/X11/xinit/xinitrc.d/* ; do
    if echo $file | grep -q "\.sh$" ; then
        . $file
    else
        echo "warning: $file does not end in .sh extension, ignoring"
    fi
done

# Prefix launch of session with ssh-agent if available and not already running.
SSH_AGENT=
if [ -x /usr/bin/ssh-agent -a -z "$SSH_AGENT_PID" ]; then
    if [ "x$TMPDIR" != "x" ]; then
        SSH_AGENT="/usr/bin/ssh-agent /bin/env TMPDIR=$TMPDIR"
    else
        SSH_AGENT="/usr/bin/ssh-agent"
  fi
fi

DBUS_LAUNCH=
[ -x /usr/bin/dbus-launch -a -z "$DBUS_SESSION_BUS_ADDRESS" ] && DBUS_LAUNCH="/usr/bin/dbus-launch --exit-with-session"

Ich denke mal, in einer dieser Dateien steckt die Antwort.

Kannst du daraus eventuell was erkennen?

-Stranger

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Stranger« (02.02.2010, 22:32)


4

03.02.2010, 08:40

Soweit ich weisz, wird der xvnc - sofern du diesen benutzt - ueber die Datei /etc/xinetd.d/vnc konfiguriert.

Bedenke aber, dass du unter Umstaenden im Anschluss der VNC Konfiguration noch den ein oder anderen Firewall Port oeffnen muszt.
for Windows problems: reboot
for Linux problems: be root

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BorneBjoern« (03.02.2010, 08:41)


5

03.02.2010, 20:42

Bei dieser Menge an Möglichkeiten würde ich erstmal eine solche Zeile als zweite Zeile in die Scripte einfügen, die in Frage kämen:

Quellcode

1
xterm -e 'echo datei1; read';
Dann stoppt das Script an dieser Stelle, bis Du im XTerm mit der Meldung "datei1" Enter gedrückt hast.
Wenn kein XTerm kommt, dann war die Datei vermutlich nicht dabei.
Wenn eins kommt und der Window-Manager danach startet, dann wird er vermutlich in diesem Script gestartet.

6

03.02.2010, 22:00

Zitat

Original von BorneBjoern
Soweit ich weisz, wird der xvnc - sofern du diesen benutzt - ueber die Datei /etc/xinetd.d/vnc konfiguriert.

Bedenke aber, dass du unter Umstaenden im Anschluss der VNC Konfiguration noch den ein oder anderen Firewall Port oeffnen muszt.


Leider gibt es diese Datei nicht. das Verzeichnis gibt es zwar, aber keine vnc-Datei darin (auch nicht versteckt).

Zitat

Bei dieser Menge an Möglichkeiten würde ich erstmal eine solche Zeile als zweite Zeile in die Scripte einfügen, die in Frage kämen [...]


Das werde ich morgen mal ausprobieren, heute ist nur noch stur TV angesagt ;)

7

03.02.2010, 22:42

[EDIT:] SORRY für Doppelpost, gar nicht dran gedacht, dass ich der Letzte war :(

Also, wenn man in der xstartup

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/sh

# Uncomment the following two lines for normal desktop:
 unset SESSION_MANAGER
 exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &


die Zeile "unset SESSION_MANAGER" und die nachfolgende auskommentiert, und am Ende das twm gegen startkde tauscht, startet die VNC-Session tatsächlich mit KDE.

Nun dachte ich mir, probieren wir das auch noch mit startx, da zickt er dann rum, startet nur twm (glaub ich zumindest, ist eine bestenfalls 4 farbige Darstellung von xterm, mehr lädt er auch schon gar nicht mehr).

Nun ist natürlich meine Neugier geweckt, warum geht startkde, startx aber nicht?
Wenn ich die unset Zeile und die danach wieder "ent-kommentiere" startet er auch wieder mit Gnome, aber das find ich grade nicht so spannend wie die Frage, woran es andersrum scheitert?!

(Könnte ja auch mal sein, dass ich ne Distro mit KDE als Standard-DM hab. Wie käme ich dann zu Gnome?)

Falls jemandem spontan was dazu einfällt, ich bin ganz Ohr ;)

Ansonsten schau ich erst morgen weiter.

In diesem Sinne: gn8 @ll

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Stranger« (03.02.2010, 22:43)


8

04.02.2010, 19:35

Sorry, aber der Browser verkündet mir, ich kann Beiträge nur 15 Min. nach ihrer Erstellung bearbeiten. Ich würd zwar sagen, seit gestern abend sind mehr als 15 Minuten um, aber ok ;)

Das mit Gnome ging nicht, weil der Startbefehl nicht stimmt. Es ist nicht startx, es muss gnome-session lauten, dann gehts.

In diesem Sinne sind etwaige Anliegen bezüglich des VNC-Problems beseitigt. Bis auf eins vielleicht, aber das ist nicht weiter dramatisch:

Wenn ich in der vncservers den Args -localhost anstelle, sollte das ja eigentlich dafür sorgen, dass man sich nur noch per SSH einloggen kann. Allerdings kommt dann immer die Fehlermeldung, der entsprechende Port (oder besser das Display) sind schon belegt, wenn ich mich mit UltraVNC verbinden will (per PuTTY getunnelt auf den Server, Verbindung in UltraVNC per localhost:1)

Wie gesagt, nicht so wild, die VNC-Ports sind sowieso geschlossen am Server, aber verwirrend find ich es trotzdem. Scheint ja dann nicht zu verstehen, dass es eine SSH-Verbindung ist?!

-Stranger

Thema bewerten