Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: hack_man в Jul 02, 2007, 18:36



Титла: Gnome+kde
Публикувано от: hack_man в Jul 02, 2007, 18:36
Кажете как, къде и какво да препипам за да мога с командата "startx" да мога да избирам какво да ползвам .. KDE или GNOME или каквато гарафична среда да ползвам.

не искам графични Login-и като gdm или kdm .....
искам всичко да минава през startx или друг скрипт.

Машината е Gentoo ....





Титла: Gnome+kde
Публикувано от: loxs в Jul 02, 2007, 18:49
малко ми е трудно да повярвам, че един Gentoo потребител не може да си напише едно елементарно скриптче като примерно:

echo "exec startkde" > ~/.xinitrc
startx

След това си именуваш файла примерно kdestart, даваш му права за изпълнение, слагаш си го в главната директория и пееш.
Съответно си правиш подобни и за gnomestart и за каквото ти скимне.

Ако правилно съм разбрал какво искаш да направиш, това би трябвало да ти помогне.


Титла: Gnome+kde
Публикувано от: hack_man в Jul 02, 2007, 20:08
да ..
така би станало ...  :D  :D  :D
чудно ми беше дали няма накой по-......вграден ... системен начин  :)
10х


Титла: Gnome+kde
Публикувано от: neter в Jul 02, 2007, 20:17
Ами bash си е "вграден системен начин", само трябва да го накараш да работи за теб  ;)


Титла: Gnome+kde
Публикувано от: c2h5oh в Jul 03, 2007, 00:47
Аз съм с Fedora 7 Има си команда switchdesk която се изпълнявя от конзола еднократно Например switchdesk GNOME или switchdesk KDE След това startx ще ти зарежда GNOME или KDE в зависимост параметъра на switchdesk Ето кода на switchdesk

#! /bin/bash

echo "Red Hat Linux `basename $0` 4.0"
echo "Copyright © 1999-2004 Red Hat, Inc"
echo "Redistributable under the terms of the GNU General Public License"

if [ -n "$DISPLAY" -a -z "$1" ] ; then
        if [ -x /usr/share/switchdesk/switchdesk-gui.py ] ; then
                exec /usr/share/switchdesk/switchdesk-gui.py
        else
                echo "Desktop Switcher GUI is unavailable."
                echo "Please install the switchdesk-gui package or use"
                echo "switchdesk desktopname."
                exit 1
        fi
fi

И на switchdesk-helper

#! /bin/bash

# Desktop Switching Tool
# © 1999-2004 Red Hat, Inc.

NotFound() {
        echo "ERROR: $1 is not installed on your machine! to install $1, please type"
        echo "yum $2 \"$3\""
        exit 1
}

XSESSION="$HOME/.xsession"
XINITRC="$HOME/.xinitrc"

DATADIR="/usr/share/switchdesk/"

if [ "$1" = "" ]; then
    echo "Please specify one of either KDE, GNOME, XFCE, FVWM or WindowMaker."
    exit 1
fi

# set up the .Xclients variable on a per-display basis
if [ "$DISPLAY" != "" -a "$2" = "local" ]; then
    if [ `echo $DISPLAY | cut -c 1` = ':' ]; then
        SUB_XCLIENTS="$HOME/.Xclients-$HOSTNAME${DISPLAY%.*}"
    else
        SUB_XCLIENTS="$HOME/.Xclients-${DISPLAY%.*}"
    fi
else
    SUB_XCLIENTS="$HOME/.Xclients-default"
fi

XCLIENTS="$HOME/.Xclients"

# first off, check to see if they want to revert their settings
if [ "$1" = "revert" ]; then
    mv -f $XCLIENTS.switchdesk $XCLIENTS
    echo "Desktop reverted to your personal settings."
    exit 0
fi

DESKTOP=`echo $1 |tr a-z A-Z`
case $DESKTOP in
    KDE|KDE2)
        [ ! -x /usr/bin/startkde ] && NotFound KDE groupinstall "KDE Software Development"
        DNAME="KDE"
        NEW_XCLIENTS="$DATADIR/Xclients.kde"
        ;;
    GNOME)
        [ ! -x /usr/bin/gnome-session ] && NotFound GNOME groupinstall "GNOME Desktop Environment"
        DNAME="GNOME"
        NEW_XCLIENTS="$DATADIR/Xclients.gnome"
        ;;
    ENLIGHTENMENT|E)
        [ ! -x /usr/bin/enlightenment ] && NotFound Enlightenment install enlightenment
        DNAME="Enlightenment"
        NEW_XCLIENTS="$DATADIR/Xclients.enlightenment"
        ;;
    FVWM)
        [ ! -x /usr/X11R6/bin/fvwm2 -a ! -x /usr/bin/fvwm2 ] && NotFound FVWM install fvwm
        DNAME="fvwm"
        NEW_XCLIENTS="$DATADIR/Xclients.fvwm"
        ;;
    WINDOWMAKER|WMAKER)
        [ ! -x /usr/bin/wmaker ] && NotFound WindowMaker install WindowMaker
        DNAME="WindowMaker"
        NEW_XCLIENTS="$DATADIR/Xclients.wmaker"
        ;;
    TWM)
        [ ! -x /usr/X11R6/bin/twm -a ! -x /usr/bin/twm ] && NotFound TWM install xorg-x11-twm
        DNAME="twm"
        NEW_XCLIENTS="$DATADIR/Xclients.twm"
        ;;
    XFCE)
        [ ! -x /usr/bin/startxfce4 ] && NotFound XFCE groupinstall XFCE
        DNAME="xfce"
        NEW_XCLIENTS="$DATADIR/Xclients.xfce"
        ;;
    FLUXBOX)
        [ ! -x /usr/X11R6/bin/fluxbox -a ! -x /usr/bin/fluxbox ] && NotFound FLUXBOX install fluxbox
        DNAME="fluxbox"
        NEW_XCLIENTS="$DATADIR/Xclients.fluxbox"
        ;;
    ICEWM)
        [ ! -x /usr/bin/icewm ] && NotFound ICEWM install icewm
        DNAME="icewm"
        NEW_XCLIENTS="$DATADIR/Xclients.icewm"
        ;;
    SYSTEM)
        DNAME="System defaults"
        ;;
    *)
        if [ -x "$DATADIR/Xclients.$DESKTOP" ] ; then
          DNAME="$DESKTOP"
          NEW_XCLIENTS="$DATADIR/Xclients.$DESKTOP"
        else
          echo "Unknown desktop requested: $1"
          exit 1
        fi
        ;;
esac

if [ "$DNAME" = "System defaults" ] ; then
    rm -rf $HOME/.Xclients $HOME/.Xclients-default
else
    # otherwise, do the normal stuff.
    if [ -e "$XSESSION" ]; then
        echo "warning: moving $XSESSION to $XSESSION.switchdesk"
        mv -f $XSESSION $XSESSION.switchdesk
    fi

    if [ -e "$XINITRC" ]; then
        echo "warning: moving $XINITRC to $XINITRC.switchdesk"
        mv -f $XINITRC $XINITRC.switchdesk
    fi

    if [ -e "$HOME/.Xclients" ]; then
        TEST_DIFF=`diff $DATADIR/Xclients.toplevel $XCLIENTS`
        if [ -n "$TEST_DIFF" ]; then
            echo "saving $XCLIENTS as $XCLIENTS.switchdesk"
            mv -f $XCLIENTS $XCLIENTS.switchdesk
            install "$DATADIR/Xclients.toplevel" $XCLIENTS
        fi
    else
        # if they have no .Xclients, give them one
        install "$DATADIR/Xclients.toplevel" $XCLIENTS
    fi
    # no need to save per-display .Xclients, no other programs
    # could have touched them but us.
    install $NEW_XCLIENTS $SUB_XCLIENTS
fi

echo "Desktop now set up to run $DNAME."
Надявам се да си преправиш нещо за свои нужди