Προς το περιεχόμενο

KDE: logout - εκκινηση kdm απο γραμμή εντολών


DIMITRISG

Προτεινόμενες αναρτήσεις

μου λέιπουν (δεν εχω βρει) τις εντολες σε περιβάλλον kde (απο γραμμη εντολών)να κανω logout και οταν ειμαι εκτος xserver να εκτελω τον kdm (να μου εμφανιζει το kde login )

ευχαριστώ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Θέλω να πω την εντολη απο το τερματικό που θα με βγάλει στο κdm (ενω είμαι στο kde)

 

και οταν ειμαι στο κdm και περναω σε mode console πως ξαναγυριζω στο kdm (αν πατησω kdm μου λέει μονο ο root μπορει να εκτελεσει kdm και απο root δεν κάνει τίποτα μολις το εκτελω, και δεν βγαζει λαθος.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

οχι , δεν το εχει εκει. δοκιμασα οπου εβλεπε kdm αλλα δεν γινεται τιποτα. με ξαναβγαζει στο λοcalhost χωρις μήνυμα λάθους, και με start και startx sτο τέλος κλπ κανει οτι παει να συνδεθει με τον xserver αλλα ξαναβγαινει εξω. με καποιο xkb failed , δεν το συγκρατησα.

Δεν εχω καταλάβει τι κανει και σε βαζει στο kdm (μαλλον σε καποιο script τρεχει xinit.d μαζι με το Xsession. (;;; ιδέα δεν έχω)

Γιατι δεν εισαι ουτε user ουτε έχεις δικαιωματα root οταν εισαι στο kdm ( ; )

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Mandriva δεν έχεις DIMITRISG;

Σε ότι έχω δει μέχρι σήμερα το kdm το ξεκινά το σύστημα ή αλλιώς σαν root χρήστης χειροκίνητα.

Δοκίμασε σαν root κάτι από τα εξής:

>
# service kdm start | stop | restart |status

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για να δεις όλες τις εγκατεστημένες υπηρεσίες:

>
[i]# chkconfig ––list[/i]
[i]

[/i]

Ψάξε εκεί μήπως έχει κάποιο άλλο όνομα από Kdm.

 

Δες εδώ γενικότερα:

http://club.mandriva.com/xwiki/bin/view/KB/AdminAservice

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

το service dm restart ξεκιναει το kde οπως το startx, ισως αν δεν αυτόματο login να με έβγαζε στο kdm , δεν βρήκα κάποιο άλλο service kdm.

πιστευεις οτι ειναι service και οχι προγραμμα που τρεχει το kdm ετσι ;

θα το ψαξω καλυτερα, ευχαριστώ

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι, ουσιαστικά με το αυτόματο login, περνάς από kdm σε kde ή καλύτερα στο προηγούμενο deskton environment που είχες επιλέξει (αν έχει εγκατεστημένο κάποιο άλλο περάν του kde).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 6 μήνες μετά...

παιρνω παραδειγμα απο ενα βιβλιο του redhat εκδοση 2003

θελω να βρω που βλεπει το συστημα ποιο γραφικο περιβαλλον ειναι προκαθορισμενο και το εκκινει.

 

Runlevel 3

"When the startx command is executed, it searches for a .xinitrc file in the user's home directory to define the desktop enviromment and possibly other X client applications to run. If no .xinitrc file is present, it will use the system default /etc/X11/xinit/xinitrc file instead."

 

Σε μενα δεν εχει .xinitrc στο home . Οποτε βλέπω το /etc/X11/xinit/xinitrc

Εδω τρεχει το Xsession ( ; )

>[dimitri@localhost ~]$ cat /etc/X11/xinit/xinitrc
#!/bin/sh
# (c) 2000-2002 MandrakeSoft
# $Id: xinitrc-xinitrc,v 1.2 2002/09/10 05:53:43 flepied Exp $

# Set a background here because it's not done anymore
# in Xsesion for non root users
if [ "`whoami`" != root ]; then
   xsetroot -solid "#21449C"
fi

exec /etc/X11/Xsession $*
[dimitri@localhost ~]$

>[dimitri@localhost ~]$ cat /etc/X11/Xsession
#!/bin/sh                                   
#---------------------------------------------------------------
# Project         : Mandriva Linux                              
# Module          : xinitrc                                     
# File            : Xsession                                    
# Version         : $Id: Xsession,v 1.48 2006/05/16 13:48:06 boiko Exp $
# Author          : Chmouel Boudjnah                                    
# Created On      : Mon May 30 11:44:57 2005                            
# Purpose         : start a graphical session according to the          
#                  argument.                                            
#---------------------------------------------------------------        
# default values                                                        

DESKTOP=default

# read the user (~/.i18n) or system-wide (/etc/sysconfig/i18n) i18n settings
. /etc/profile.d/10lang.sh                                                  

if [ -z "$GDMSESSION" ]; then
   # redirect errors to a file in user's home directory if we can
   for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
       do                                                                               
       if ( cp /dev/null "$errfile" 2> /dev/null )                                      
           then                                                                         
           chmod 600 "$errfile"                                                         
           exec > "$errfile" 2>&1                                                       
           break                                                                        
       fi                                                                               
   done                                                                                 
fi                                                                                       

# Mandriva Linux default background
if [ "`whoami`" = root ]; then     
   xsetroot -solid "#B20003"      
   IS_ROOT=1                      
else                               
   IS_ROOT=                       
   # Load the color only when not called from gdm/kdm
   if [ -z "$1" -a -z "$GDMSESSION" ]; then          
       xsetroot -solid "#21449C"                     
   fi                                                
fi                                                    

xsetroot -cursor_name watch

# clean up after xbanner
if [ -f /usr/bin/freetemp ]; then
   freetemp                     
fi                               

userresources=$HOME/.Xresources 
userresources2=$HOME/.Xdefaults 
sysresources=/etc/X11/Xresources 

# merge in defaults and keymaps 
if [ -f $sysresources ]; then   
   xrdb -merge $sysresources   
fi                              
                               
if [ -f $userresources ]; then  
   xrdb -merge $userresources  
fi                              

if [ -f $userresources2 ]; then 
   xrdb -merge $userresources2 
fi                              

if [ -x /etc/X11/xinit/fixkeyboard ]; then
   /etc/X11/xinit/fixkeyboard            
fi                                        

if [ -z "$BROWSER" ] ; then
       BROWSER=`which www-browser 2> /dev/null`
       if [ -n "$BROWSER" ] && [ -e "$BROWSER" ] ; then
               export BROWSER                          
       fi                                              
fi                                                      


# now, we see if xdm/gdm/kdm has asked for a specific environment
if [ $# = 1 ]; then                                              
   DESKTOP=$1                                                   
else                                                             
   # use default DESKTOP from config file                       
   # users may want to choose their own desktop                 
   # even when x-session is started by startx command.          
   # -- Jaegeum --                                              
   if [ -f $HOME/.desktop ]; then                               
       . $HOME/.desktop >/dev/null 2>&1                         
   elif [ -f /etc/sysconfig/desktop ]; then                     
       . /etc/sysconfig/desktop >/dev/null 2>&1                 
   fi                                                           
fi                                                               

# fix .qtrc for Japanese
if [ "$LANG" = ja_JP ]; then
   [ ! -d $HOME/.qt ] && mkdir $HOME/.qt

   if [ ! -r $HOME/.qt/qtrc ] || ! grep -q '[General]' $HOME/.qt/qtrc; then
       cat >> $HOME/.qt/qtrc <<EOF                                         
[General]                                                                   
XIMInputStyle=Over The Spot                                                 
EOF                                                                         
   elif ! grep -q XIMInputStyle $HOME/.qt/qtrc; then                       
       rm -f $HOME/.qt/qtrc.$$                                             
       sed "s/\[General\]/[General]\nXIMInputStyle=Over The Spot/" < $HOME/.qt/qtrc > $HOME/.qt/qtrc.$$
       mv -f $HOME/.qt/qtrc.$$ $HOME/.qt/qtrc                                                          
   fi                                                                                                  
fi                                                                                                      

### Launch first time wizard if needed
if [ -z "$IS_ROOT" -a ! -e $HOME/.drakfw ] && type drakfw > /dev/null 2>&1 && touch $HOME/.drakfw > /dev/null 2>&1; then
   if [ -x /etc/X11/xinit.d/numlock ]; then                                                                            
       /etc/X11/xinit.d/numlock                                                                                        
   fi                                                                                                                  
   xsetroot -cursor_name left_ptr                                                                                      
   exec drakfw                                                                                                         
fi                                                                                                                      


if [ "${DESKTOP}" = default ]; then
   SESSION=$(/usr/sbin/chksession -F)
else                                  
   SESSION=${DESKTOP}                
fi                                    

# run scripts in /etc/X11/xinit.d
for i in /etc/X11/xinit.d/* ; do 
   [ -d $i ] && continue        
   # Don't run ??foo.{rpmsave,rpmorig,rpmnew,~} scripts
   [ "${i%.rpmsave}" != "${i}" ] && continue           
   [ "${i%.rpmorig}" != "${i}" ] && continue           
   [ "${i%.rpmnew}" != "${i}" ] && continue            
   [ "${i%\~}" != "${i}" ] && continue                 

   if [ -x $i ]; then
       if grep -q "# to be sourced" $i; then
           . $i "${SESSION}"                
       else                                 
           $i "${SESSION}" &                
       fi                                   
   fi                                       
done                                         

if [ -n "$DESKTOP" ]; then
   case $DESKTOP in      
       failsafe)         
       xsetroot -cursor_name left_ptr
       type -p rxvt > /dev/null >& 2 && exec rxvt -geometry 80x24-0-0
       type -p xterm > /dev/null >& 2 && exec xterm -geometry 80x24-0-0
       type -p xvt > /dev/null >& 2 && exec xvt                        
       type -p twm > /dev/null >& 2 && exec twm                        
       ;;                                                              
       default)                                                        
       ;;                                                              
       *)                                                              
       if type -p "$DESKTOP" > /dev/null; then                         
           exec /bin/sh -c "$DESKTOP"                                  
       else                                                            
           exec /bin/sh -c "$(/usr/sbin/chksession -x=$DESKTOP)"       
       fi                                                              
       ;;                                                              
   esac                                                                
fi                                                                      

# otherwise, take default action
if [ -x "$HOME/.xsession" ]; then
       xsetroot -cursor_name left_ptr
       exec "$HOME/.xsession"        
elif [ -x "$HOME/.Xclients" ]; then   
       xsetroot -cursor_name left_ptr
       exec "$HOME/.Xclients"        
fi                                    

# We may try with chksession
if [ -x /usr/sbin/chksession ];then
#get the first available
       SESSION=$(/usr/sbin/chksession -F)
       [ -n "$SESSION" -a "$SESSION" != Default ] && exec sh -c "$(/usr/sbin/chksession -x=$SESSION)"
fi

# Argh! Nothing good is installed. Fall back to icewm
if [ -x /usr/bin/icewm ];then
       exec /usr/bin/icewm
else
       # gosh, neither icewm is available;
       # fall back to failsafe settings
       xsetroot -cursor_name left_ptr
       xclock -geometry 100x100-5+5 &
       xvt -geometry +0+50 &
       if [ -x "$BROWSER" -a -f /usr/doc/HTML/index.html ]; then
           $BROWSER /usr/share/doc/HTML/index.html &
       fi
       if [ -x /usr/bin/icewm-light ];then
           exec icewm-light
       elif [ -x /usr/bin/twm ];then
           exec twm
       else
           exec xsm
       fi
fi
[dimitri@localhost ~]$

Φαινεται πουθενα, που βλέπει ποιο Desktop Enviromment να εκκινησει ;

Υπαρχει εργαλειο που διαλεγω ποιο enviroment θα εκκινησει αλλα αν θελω να το κανω χειροκινητα τι πρεπει να αλλαξω;

 

>[dimitri@localhost ~]$ cat /usr/sbin/chksession 
#!/usr/bin/perl                                 
# (c) Mandriva, Chmouel Boudjnah <[email protected]>
# Copyright under GPL blah blah blah.                  
## For info, see "chksession --help" or  "man chksession"

# Modified by Bernard Lang on August 21, 2003.


my @lf;

sub usage {
 my $e = shift @_;
 $0 =~ s|.*/||;   
 print {  $e ? STDERR : STDOUT } << "EOF";
Usage: $0 [OPTION]...                      

             -F --first:   Print only first available entry.
             -t, --test:   Go in test mode.                 
             -l, --list:   List window-managers.            
             -L:           List window-managers including the order number
             -d=DIR, --dir=DIR:   Specifies a directory of w-m configuration files.
                        Default is /etc/X11/wmsession.d/                           
             -x=ENTRY, --xsession=ENTRY: Produce window-managers script of ENTRY.  
             -k,  --kdm3:   Produce window-managers list for kdm3 sessions.        
             -K,  --kdm4:   Produce window-managers list for kdm4 sessions.        
             -g,  --gdm:   Produce window-managers script for gdm sessions.        
             -h, --help:   Produce this help.                                      

EOF
 exit($e);
}          

sub cat {   # returns content of argument file as a single string
 my ($f) = @_;                                                  
 local *F;                                                      
 open F, $f or die "Can't open $f\n";                           
 local $/ = "";                                                 
 <F>                                                            
 }                                                              
                                                                
sub parse_file {         # parse a session descriptor file       
   my ($fn) = @_;                                               
    $_ = cat ($fn);                                             
    ($n = $1) =~ s| ||g if /^NAME=(.*)/m;                       
    $e = $1 if /^EXEC=(.*)/m;                                   
#     $d = $1 if /^DESC=(.*)/m;                                  
#     $i = $1 if /^ICON=(.*)/m;                                  
    $s = $1 while /SCRIPT:(.*?)$/gs; chomp $s;                  
    if (-x $e) { $script{$n} = $s; $exe{$n} = $e; push @lf, $n; ($order{$n}) = $fn =~ m/(^[0-9][0-9])/; }
#     if (-x $e) { $script{$n} = $s; $exec{$n} = $e; $desc{$n} = $d; $icon{$n} = $i; push @lf, $n; }      
}                                                                                                         

sub gen_desktops {
   my ($d, $usesession) = @_;
   -d $d or system("mkdir -p $d");
   system("rm -f $d/*");          

   for my $file (@lf) {
       open FH, ">$d/$order{$file}$file.desktop" or die "Can't write to $d/$order{$file}.desktop\n";
       print FH "[Desktop Entry]\n";                                                                
       print FH "Encoding=UTF-8\n";                                                                 
       print FH "Name=$file\n";                                                                     
       print FH "Comment=$file\n";                                                                  
       print FH "TryExec=$exe{$file}\n" if $exe{$file};                                             
       if ($usesession) {                                                                           
           print FH "Exec=/usr/share/X11/xdm/Xsession $file\n";                                     
       } else {                                                                                     
           print FH "Exec=$file\n";                                                                 
       }                                                                                            
       print FH "Icon=\n";                                                                          
       print FH "Type=Application\n";                                                               
       close FH;                                                                                    
       chmod 0755, $file;                                                                           
   }                                                                                                
}                                                                                                    

usage(1)
 if @ARGV < 1;

while ($ARGV[0] =~ /^--/ || $ARGV[0] =~ /^-/) {
 $_ = shift;                                  
 if (/^--xsession=([^ ]+)/ || /^-x=([^ ]+)/) {
   $xsession = $1;                            
 } elsif (/^--first/ || /^-F/) {              
   $first++;                                  
 } elsif (/^--gdm/ || /^-g/) {                
   die "You should be root to build gdm session\n" if $< != 0;
   $gdm++;                                                    
 } elsif (/^--list/ || /^-l/) {                               
   $list++;                                                   
 } elsif (/^-L/) {                                            
   $list_order++;                                             
 } elsif (/^--kdm3/ || /^-k/) {                               
   $kdm3++;                                                   
 } elsif (/^--kdm4/ || /^-K/) {                               
   $kdm4++;                                                   
 } elsif (/^--test/ || /^-t/) {                               
   $test++;                                                   
 } elsif (/^--dir=([^ ]+)/ || /^-d=([^ ]+)/) {                
   $dir = $1;                                                 
 } elsif (/^--help/ || /^-h/ || /^-\?/) {                     
   usage(0);                                                  
 } else {                                                     
   print STDERR "Unrecognized switch: $_\n";                  
   usage(1);                                                  
 }                                                            
}                                                              
                                                              
# Parse all relevant files in session directory $dir           
$dir = $test ? './wmsession.d/' : '/etc/X11/wmsession.d/' unless $dir;
chdir $dir;                                                           
for (<*>) {                                                           
   next if /.*~/;                                                    
   next if /.*\.rpm(save|old)/;                                      
   parse_file ("$_");                                                
}                                                                     

my ($e) = eval {cat("/etc/sysconfig/desktop")} =~ /DESKTOP=(\S+)/;
# The first string (without spaces) in the file is copied to $e.  

# If $e is one of the names in @lf, then it is placed first (leftmost).
# Order of names in @lf is otherwise unchanged.                        
@lf = sort { $b =~ /^$e$/i <=> $a =~ /^$e$/i } @lf;                    


if ($kdm3) {
   gen_desktops('/opt/kde3/share/apps/kdm/sessions', 0);
}                                                        

if ($kdm4) {
   gen_desktops('/usr/share/apps/kdm/sessions', 0);
}                                                   

if ($gdm) {
   gen_desktops('/etc/X11/dm/Sessions', 1);
}                                           

if ($xsession) {
 if ($script{$xsession}) {
   print "#!/bin/sh\n";   
   print $script{$xsession}
 } else {                  
   print "xterm -geometry 100x25+0+0 &\n";
       if ( -x '/usr/bin/icewm' ) {       
               print "icewm\n";           
       } elsif ( -x '/usr/bin/twm' ) {    
               print "twm\n";
       } else {
               print "xterm -geometry 67x14+384+446\n";
       }
 }
 exit (0);
}

@lf ? print shift @lf, "\n" : print "Default\n"
 if $first;

if ($list) {
 if (@lf) {
   print join(' ', @lf, 'Default', 'failsafe'), "\n";
} else {
   print "Default\n";
 }
} elsif ($list_order) {
   print join(' ', map { "$_=$order{$_}" } @lf), "\n";
}

[dimitri@localhost ~]$

δυσκολα γινεται κατανοητο , βρε τους ατιμους τι scripts ειναι αυτα !

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...