Manjaro KDE Edition

Рабочий стол TDE + kwin_x11: адаптация скрипта запуска.

Преимущества перед стандартным Trinity 14 (aka KDE 3.5) — быстрый и нетребовательный к ресурсам Рабочий стол с поддержкой сервисов Plasma 5 (за исключением плазмоидов)
Преимущества TDE 14 перед XFCE 4.12 — более полноценная и стабильная работа с меньшим потреблением ресурсов.
Отображение шкалы заполнения дисков, произвольная сетка Рабочего стола, не привязанная к размерам иконок и более удобная организация Рабочего стола и Панели задач.
Необходимые пакеты: tde-tdebase, plasma.
Скрипт запуска подготавливает две рабочих среды, в частности меняет диспетчер окон TDE на современный kwin, который добавляет свои горячие клавиши, темы окон, графические эффекты, переключатель задач и рабочих столов (комнат нет) и многое другое.
В итоге скрипт исправляет главный недостаток Plasma 5 — тяжёлый Рабочий стол и плазмоиды заменяются на лёгкий TDE 14 со всеми преимуществами KDE (службы, настройки, приложения)
Установка: скопировать starttde_kwin в /opt/trinity/bin/ и добавить новую сессию в /usr/share/xsessions/trinity-kwin.desktop
[Desktop Entry]
Type=XSession
Exec=/opt/trinity/bin/starttde_kwin
Name=Trinity Plasma (kwin)

# репозиторий TDE
[trinity]
SigLevel = Never
Server = http://repo.nasutek.com/arch/contrib/trinity/x86_64

скрипт starttde_kwin
#!/bin/sh
#
# DEFAULT KDE STARTUP SCRIPT ( 5.10.5 ) + TDE 14 (TRINITY STARTUP SCRIPT)

trap 'echo GOT SIGHUP' HUP

kcheckrunning
kcheckrunning_result=$?
if test $kcheckrunning_result -eq 0; then
echo «KDE seems to be already running on this display.»
xmessage -geometry 500x100 «KDE seems to be already running on this display.» > /dev/null 2>/dev/null
exit 1
elif test $kcheckrunning_result -eq 2; then
echo "\$DISPLAY is not set or cannot connect to the X server."
exit 1
fi

if [ ${XDG_CONFIG_HOME} ]; then
configDir=$XDG_CONFIG_HOME;
else
configDir=${HOME}/.config;
fi

mkdir -p $configDir

cat >$configDir/startupconfigkeys <<EOF
kcminputrc Mouse cursorTheme 'breeze_cursors'
kcminputrc Mouse cursorSize ''
ksplashrc KSplash Theme Breeze
ksplashrc KSplash Engine KSplashQML
kdeglobals KScreen ScreenScaleFactors ''
kcmfonts General forceFontDPI 0
EOF

plasmalocalerc=$configDir/plasma-localerc
test -f $plasmalocalerc || {
cat >$plasmalocalerc <<EOF
[Formats]
LANG=$LANG
EOF
}

exportformatssettings=$configDir/plasma-locale-settings.sh
test -f $exportformatssettings && {
. $exportformatssettings
}

kdeglobalsfile=$configDir/kdeglobals
test -f $kdeglobalsfile || {
cat >$kdeglobalsfile <<EOF
[General]
XftAntialias=true
XftHintStyle=hintmedium
XftSubPixel=none
EOF
}

kstartupconfig5
returncode=$?
if test $returncode -ne 0; then
xmessage -geometry 500x100 «kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation.»
exit 1
fi
[ -r $configDir/startupconfig ] &&. $configDir/startupconfig

if [ "$kdeglobals_kscreen_screenscalefactors" ]; then
export QT_SCREEN_SCALE_FACTORS="$kdeglobals_kscreen_screenscalefactors"
fi

export QT_QUICK_CONTROLS_STYLE=org.kde.desktop

if test -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize"; then
kapplymousetheme "$kcminputrc_mouse_cursortheme" "$kcminputrc_mouse_cursorsize"
if test $? -eq 10; then
XCURSOR_THEME=breeze_cursors
export XCURSOR_THEME
elif test -n "$kcminputrc_mouse_cursortheme"; then
XCURSOR_THEME="$kcminputrc_mouse_cursortheme"
export XCURSOR_THEME
fi
if test -n "$kcminputrc_mouse_cursorsize"; then
XCURSOR_SIZE="$kcminputrc_mouse_cursorsize"
export XCURSOR_SIZE
fi
fi

if test "$kcmfonts_general_forcefontdpi" -ne 0; then
xrdb -quiet -merge -nocpp <<EOF
Xft.dpi: $kcmfonts_general_forcefontdpi
EOF
fi

scriptpath=`qtpaths --locate-dirs GenericConfigLocation plasma-workspace | tr ':' '\n'`

for prefix in `echo $scriptpath`; do
for file in "$prefix"/env/*.sh; do
test -r "$file" &&. "$file" || true
done
done

usr_odir=$HOME/.local/share/fonts/kde-override
usr_fdir=$HOME/.local/share/fonts

if test -n "$KDEDIRS"; then
kdedirs_first=`echo "$KDEDIRS"|sed -e 's/:.*//'`
sys_odir=$kdedirs_first/share/fonts/override
sys_fdir=$kdedirs_first/share/fonts
else
sys_odir=$KDEDIR/share/fonts/override
sys_fdir=$KDEDIR/share/fonts
fi

test -d "$sys_odir" && xset +fp "$sys_odir"
test -d "$usr_odir" && (mkfontdir "$usr_odir"; xset +fp "$usr_odir")
test -d "$usr_fdir" && (mkfontdir "$usr_fdir"; xset fp+ "$usr_fdir")
test -d "$sys_fdir" && xset fp+ "$sys_fdir"

xset fp rehash
xsetroot -cursor_name left_ptr

if test -n "$GS_LIB"; then
GS_LIB=$usr_fdir:$GS_LIB
export GS_LIB
else
GS_LIB=$usr_fdir
export GS_LIB
fi

echo 'startkde: Starting up...' 1>&2

if test -z "$XDG_DATA_DIRS"; then
XDG_DATA_DIRS="/usr/share:/usr/share:/usr/local/share"
fi
export XDG_DATA_DIRS

KDE_FULL_SESSION=true
export KDE_FULL_SESSION
xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
KDE_SESSION_VERSION=5
export KDE_SESSION_VERSION
xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
KDE_SESSION_UID=`id -ru`
export KDE_SESSION_UID
XDG_CURRENT_DESKTOP=KDE
export XDG_CURRENT_DESKTOP
KSMSERVEROPTIONS=""

if [ -r /etc/xprofile ]; then
source /etc/xprofile
fi
if [ -r $HOME/.xprofile ]; then
source $HOME/.xprofile
fi

is_in_path() {
var="$1"; search="$2";
if eval test -z \$$1; then return 1; fi
ifs="$IFS"; IFS=":"; eval set \$$var; IFS="$ifs"
for i in $*; do
[ "${i}" = "${search}" ] && return 0
done
return 1
}

is_before_in_path() {
[ $# -ge 3 ] || return 1
var="$1"; search="$2"; before="$3"
ifs="$IFS"; IFS=":"; eval set \$$var; IFS="$ifs"
for i in $*; do
[ "${i}" = "${search}" ] && return 0
[ "${i}" = "${before}" ] && return 1
done
return 1
}

place_before_in_path() {
var="$1"; insert="$2";
if eval test -z \$$1; then
eval export $var=${insert}
else
before="$3"; ifs="$IFS"; IFS=":"; eval set \$$var; IFS="$ifs"
NPATH=""
for i in $*; do
[ "${i}" = "${before}" ] && NPATH="${NPATH}:${insert}"
NPATH="${NPATH}:${i}"
done
eval export $var=${NPATH#:}
fi
}

remove_from_path() {
var="$1"; remove="$2";
if eval test -z \$$1; then return 1; fi
ifs="$IFS"; IFS=":"; eval set \$$var; IFS="$ifs"
NPATH=""
for i in $*; do
[ "${i}" != "${remove}" ] && NPATH="${NPATH}:${i}"
done
eval export $var=${NPATH#:}
}

echo "[starttde] Starting starttde." 1>&2
echo "[starttde] This script is $0" 1>&2

BIN_DIR="`dirname \`readlink -f $0\``"
if [ -x $BIN_DIR/tde-config ]; then
TDE_VERSION=$($BIN_DIR/tde-config --version | while IFS=: read a b; do [ "${aTDE}" != "$a" ] && echo $b; done)
echo "[starttde] TDE version is $TDE_VERSION" 1>&2
export TDEDIR=${BIN_DIR%/bin}
echo "[starttde] TDE base directory is $TDEDIR" 1>&2
else
echo "[starttde] Unable to determine the TDE bin directory, where this script should be installed."
echo "[starttde] This script should be installed in the same directory."
echo "[starttde] Exiting."
exit 1
fi
unset BIN_DIR

if kcheckrunning >/dev/null 2>&1; then
echo "[starttde] TDE seems to be already running on this display."
xmessage -center -geometry 500x100 «TDE seems to be already running on this display.» > /dev/null 2>/dev/null
exit 1
fi

if test -z "$XDM_MANAGED" || echo "$XDM_MANAGED" | grep ",auto" > /dev/null; then
xsetroot -solid "003080" # blue
fi
unset DYLD_FORCE_FLAT_NAMESPACE

if [ "$TDE_IS_PRELINKED" = "" ]; then
if [ -r /etc/default/prelink ]; then
. /etc/default/prelink
elif [ -r /etc/sysconfig/prelink ]; then
. /etc/sysconfig/prelink
fi
if [ "$PRELINKING" = «yes» ]; then
export TDE_IS_PRELINKED=1
fi
fi

if [ "$TDEHOME" != "" ]; then
echo "[starttde] TDEHOME is preset to $TDEHOME." 1>&2
export TDEHOME=$TDEHOME
else
echo "[starttde] TDEHOME is not set." 1>&2
export TDEHOME=$HOME/.trinity

if [! -d $HOME/.trinity ] && [! -f /usr/bin/kde4-config ] && [ "$TDEDIR"="/usr" ] && [ -d $HOME/.kde ]; then
export TDEHOME=$HOME/.kde
fi
echo "[starttde] Set TDEHOME to $TDEHOME." 1>&2
fi

if [ "$TDEROOTHOME" = "" ]; then
export TDEROOTHOME=/root/.trinity
echo "[starttde] Setting TDEROOTHOME to $TDEROOTHOME."
fi

if [ -d $TDEDIR/games ]; then
if! is_in_path PATH "$TDEDIR/games"; then
if is_in_path PATH "/usr/games"; then
place_before_in_path PATH "$TDEDIR/games" "/usr/games"
else
export PATH=$TDEDIR/games:$PATH
fi
fi
fi
if [ -d $TDEDIR/bin ]; then
if! is_in_path PATH "$TDEDIR/bin" ]; then
if is_in_path PATH "/usr/bin"; then
export PATH=$PATH:$TDEDIR/bin
else
export PATH=$TDEDIR/bin:$PATH
fi
fi
fi
if [ -d $TDEDIR/share/man ]; then
if [ -x /usr/bin/manpath ]; then
if [ "`manpath 2>/dev/null | grep \"$TDEDIR/share/man\"`" = "" ]; then
export MANPATH=$TDEDIR/share/man:$MANPATH
fi
else
if [ "`echo $MANPATH | grep \"$TDEDIR/share/man\"`" = "" ]; then
export MANPATH=$TDEDIR/share/man:$MANPATH
fi
fi
fi

if [ "$XDG_CONFIG_DIRS" = "" ]; then
if [ -d /etc/xdg ]; then
XDG_CONFIG_DIRS=/etc/xdg
fi
fi

if [ -d /etc/trinity/xdg ]; then
TDE_XDG_DIR="/etc/trinity/xdg"
elif [ -d /etc/tde/xdg ]; then
TDE_XDG_DIR="/etc/tde/xdg"
elif [ -d $TDEDIR/xdg ]; then
TDE_XDG_DIR="$TDEDIR/xdg"
elif [ -d $TDEDIR/etc/xdg ]; then
TDE_XDG_DIR="$TDEDIR/etc/xdg"
elif [ -d $TDEDIR/etc/trinity/xdg ]; then
TDE_XDG_DIR="$TDEDIR/etc/trinity/xdg"
elif [ -d $TDEDIR/etc/tde/xdg ]; then
TDE_XDG_DIR="$TDEDIR/etc/tde/xdg"
elif [ -d $TDEDIR/trinity/xdg ]; then
TDE_XDG_DIR="$TDEDIR/trinity/xdg"
elif [ -d $TDEDIR/tde/xdg ]; then
TDE_XDG_DIR="$TDEDIR/tde/xdg"
fi
if [ -d $TDE_XDG_DIR ]; then
if [ "`echo $XDG_CONFIG_DIRS | grep \"$TDE_XDG_DIR\"`" = "" ]; then
if [ "$XDG_CONFIG_DIRS" = "" ]; then
XDG_CONFIG_DIRS=$TDE_XDG_DIR
else
XDG_CONFIG_DIRS=$TDE_XDG_DIR:$XDG_CONFIG_DIRS
fi
fi
fi
if [ "$XDG_CONFIG_DIRS" != "" ]; then
export XDG_CONFIG_DIRS
fi

if [ "$TDEDIR" != "/usr" ] && [ -d $TDEDIR/share ]; then
if! is_in_path XDG_DATA_DIRS "/usr/share"; then
if [ "$XDG_DATA_DIRS" = "" ]; then
XDG_DATA_DIRS=/usr/share # In case XDG_DATA_DIRS is empty, to avoid a leading:
else
XDG_DATA_DIRS=$XDG_DATA_DIRS:/usr/share
fi
fi
if! is_in_path XDG_DATA_DIRS "/usr/local/share"; then
place_before_in_path XDG_DATA_DIRS "/usr/local/share" "/usr/share"
fi

if! is_in_path XDG_DATA_DIRS "$TDEDIR/share" ||
is_before_in_path XDG_DATA_DIRS "/usr/local/share" "$TDEDIR/share" ||
is_before_in_path XDG_DATA_DIRS "/usr/share" "$TDEDIR/share"; then
remove_from_path XDG_DATA_DIRS "$TDEDIR/share"
if is_before_in_path XDG_DATA_DIRS "/usr/local/share" "/usr/share"; then
place_before_in_path XDG_DATA_DIRS "$TDEDIR/share" "/usr/local/share"
else
place_before_in_path XDG_DATA_DIRS "$TDEDIR/share" "/usr/share"
fi
fi

if [ "$TDEDIRS" != "" ]; then
ifs="$IFS"; IFS=":"; set $TDEDIRS; IFS="$ifs"
for dir in $*; do
if! is_in_path XDG_DATA_DIRS "$dir/share" && [ -d "$dir/share" ]; then
XDG_DATA_DIRS=$dir/share:$XDG_DATA_DIRS
fi
done
fi
export XDG_DATA_DIRS
fi

echo "[starttde] XDG_DATA_DIRS: $XDG_DATA_DIRS" 1>&2

test -n "$TDEHOME" && tdehome=`echo "$TDEHOME" | sed «s,^~/,$HOME/,»`

export DESKTOP_SESSION=trinity

if [! -d "$tdehome" ]; then
echo "[starttde] Creating $tdehome" 1>&2
mkdir -m 700 -p "$tdehome"
fi
if [ -d "$tdehome" ]; then
R14_UPDATED="`$TDEDIR/bin/kreadconfig --file kdeglobals --group «R14 XDG Updates» --key Updated --default false`"
R14_VERSION="`$TDEDIR/bin/kreadconfig --file kdeglobals --group «R14 XDG Updates» --key Version --default 0`"
if [ -e $TDEDIR/bin/r14-xdg-update ]; then
R14_SCRIPT="`sed -n «s/SCRIPT_VERSION=\([0-9]*\)/\1/p» $TDEDIR/bin/r14-xdg-update`"
else
R14_SCRIPT=0
fi
if [ "$R14_UPDATED" != «true» ] || [ "$R14_VERSION" -lt "$R14_SCRIPT" ]; then
if [ -e $TDEDIR/bin/r14-xdg-update ]; then
echo "[starttde] Running $TDEDIR/bin/r14-xdg-update script." 1>&2
sh $TDEDIR/bin/r14-xdg-update
EXIT_CODE="$?"
else
echo "[starttde] $TDEDIR/bin/r14-xdg-update does not exist." 1>&2
echo " Unable to perform a profile update for Trinity release R14."
fi
if [ "$EXIT_CODE" != «0» ]; then
exit 1
fi
fi
fi

mkdir -m 700 -p "$tdehome/share"
mkdir -m 700 -p "$tdehome/share/config"
cat >"$tdehome/share/config/startupconfigkeys" <<EOF
kcminputrc Mouse cursorTheme ''
kcminputrc Mouse cursorSize ''
kpersonalizerrc General FirstLogin true
ksplashrc KSplash Theme Default
kcmrandrrc Display ApplyOnStartup false
kcmrandrrc [Screen0]
kcmrandrrc [Screen1]
kcmrandrrc [Screen2]
kcmrandrrc [Screen3]
kcmfonts General forceFontDPI 0
EOF

$TDEDIR/bin/tdestartupconfig
if test $? -ne 0; then
xmessage -center -geometry 500x100 «Could not start tdestartupconfig. Check your installation.»
fi
if [ -r "$tdehome/share/config/startupconfig" ]; then
. "$tdehome/share/config/startupconfig"
fi

if [! -e "$tdehome/share/config/kdesktoprc" ]; then
if [ -r $TDEDIR/share/wallpapers/Trinity-lineart.svg.desktop ]; then
cat >"$tdehome/share/config/kdesktoprc" <<EOF
[Desktop0]
Wallpaper=Trinity-lineart.svg
WallpaperMode=Scaled
EOF
fi
fi

if test "$kcmrandrrc_display_applyonstartup" = «true»; then
for scrn in 0 1 2 3; do
args=
width="\$kcmrandrrc_screen${scrn}_width"; eval «width=$width»
height="\$kcmrandrrc_screen${scrn}_height"; eval «height=$height»
if test -n "${width}" -a -n "${height}"; then
args="$args -s ${width}x${height}"
fi
refresh="\$kcmrandrrc_screen${scrn}_refresh"; eval «refresh=$refresh»
if test -n "${refresh}"; then
args="$args -r ${refresh}"
fi
rotation="\$kcmrandrrc_screen${scrn}_rotation"; eval «rotation=$rotation»
if test -n "${rotation}"; then
case "${rotation}" in
0)
args="$args -o 0"
;;
90)
args="$args -o 1"
;;
180)
args="$args -o 2"
;;
270)
args="$args -o 3"
;;
esac
fi
reflectx="\$kcmrandrrc_screen${scrn}_reflectx"; eval «reflectx=$reflectx»
if test "${refrectx}" = «true»; then
args="$args -x"
fi
reflecty="\$kcmrandrrc_screen${scrn}_reflecty"; eval «reflecty=$reflecty»
if test "${refrecty}" = «true»; then
args="$args -y"
fi
if test -n "$args"; then
xrandr $args
fi
done
fi

dl=$DESKTOP_LOCKED
unset DESKTOP_LOCKED # Don't want it in the environment

if test -z "$dl" && test "$kpersonalizerrc_general_firstlogin" != «true»; then
case "$ksplashrc_ksplash_theme" in
Simple)
ksplashsimple
;;
*)
;;
esac
fi

if test "$kcmfonts_general_forcefontdpi" -eq 120; then
xrdb -quiet -merge -nocpp <<EOF
Xft.dpi: 120
EOF
elif test "$kcmfonts_general_forcefontdpi" -eq 96; then
xrdb -quiet -merge -nocpp <<EOF
Xft.dpi: 96
EOF
fi

if test -n "$TDEDIRS"; then
tdedirs_first=${TDEDIRS%%:*}
TGTK_RC_ENGINE=$tdedirs_first/share/kgtk/gtk-qt-engine.rc.sh
TGTK_RC_TDE1=$tdedirs_first/share/kgtk/.gtkrc-2.0-kde4
TGTK_RC_TDE2=$tdedirs_first/share/kgtk/.gtkrc-2.0-kde-kde4
else
TGTK_RC_ENGINE=$TDEDIR/share/kgtk/gtk-qt-engine.rc.sh
TGTK_RC_TDE1=$TDEDIR/share/kgtk/.gtkrc-2.0-kde4
TGTK_RC_TDE2=$TDEDIR/share/kgtk/.gtkrc-2.0-kde-kde4
fi

if [! -e "$tdehome/env/gtk-qt-engine.rc.sh" ] && [ -e $TGTK_RC_ENGINE ]; then
mkdir -p "$tdehome/env"
cp -f $TGTK_RC_ENGINE "$tdehome/env"
chmod 755 "$tdehome/env/gtk-qt-engine.rc.sh"
fi

if [! -e $HOME/.gtkrc-2.0-kde4 ] && [ -e $TGTK_RC_TDE1 ]
then
cp -f $TGTK_RC_TDE1 $HOME
fi

if [! -e $HOME/.gtkrc-2.0-kde-kde4 ] && [ -e $TGTK_RC_TDE2 ]
then
cp -f $TGTK_RC_TDE2 $HOME
fi

exepath=`tde-config --path exe | tr: '\n'`
for prefix in `echo "$exepath" | sed -n -e 's,/bin[^/]*/,/env/,p'`; do
for file in "$prefix"*.sh; do
test -r "$file" &&. "$file"
done
done

echo "[starttde] TDEDIR: $TDEDIR" 1>&2
echo "[starttde] TDEDIRS: $TDEDIRS" 1>&2

if test -n "$TDEDIRS"; then
tdedirs_first=${TDEDIRS%%:*}
echo "[starttde] tdedirs_first: $tdedirs_first"
if [ -r $tdedirs_first/share/kgtk/preload ]; then
echo "[starttde] Reading from $tdedirs_first/share/kgtk/preload"
read -r TGTK_PRELOAD < $tdedirs_first/share/kgtk/preload
fi
else
if [ -r $TDEDIR/share/kgtk/preload ]; then
read -r TGTK_PRELOAD < $TDEDIR/share/kgtk/preload
fi
fi

if [ "$TGTK_PRELOAD" != "" ]; then
if [ -e /usr/lib64/libnspr4.so ]; then
TGTK_NSPR_PRELOAD="/usr/lib64/libnspr4.so:"
elif [ -e /usr/lib/libnspr4.so ]; then
TGTK_NSPR_PRELOAD="/usr/lib/libnspr4.so:"
fi
export LD_PRELOAD=$TGTK_PRELOAD:$TGTK_NSPR_PRELOAD$LD_PRELOAD
fi

for resource in tmp cache socket; do
if! $TDEDIR/bin/lnusertemp $resource >/dev/null; then
echo "[starttde] Call to lnusertemp failed (temporary directories full?). Check your installation." 1>&2
xmessage -center -geometry 600x100 «Call to lnusertemp failed (temporary directories full?). Check your installation.»
exit 1
fi
done

echo "[starttde] Starting Trinity..." 1>&2
$TDEDIR/bin/kdetcompmgr

if test "$kpersonalizerrc_general_firstlogin" = «true»; then
if [! -x $TDEDIR/bin/kpersonalizer ]; then
echo "[starttde] kpersonalizer not found! Please install in order to properly configure your user profile." 1>&2
else
echo "[starttde] Running kpersonalizer..." 1>&2
$TDEDIR/bin/dcopserver
/usr/bin/twin --lock &
$TDEDIR/bin/kpersonalizer --before-session
while test $? -eq 1; do
$TDEDIR/bin/kpersonalizer --r --before-session
done
$TDEDIR/bin/dcopquit twin
$TDEDIR/bin/dcopserver_shutdown --wait
fi
fi

$TDEDIR/bin/tdeinit_displayconfig
EXIT_CODE="$?"

if test -z "$dl"; then
case "$ksplashrc_ksplash_theme" in
None)
;;
Simple)
if test "$kpersonalizerrc_general_firstlogin" = «true»; then
$TDEDIR/bin/ksplashsimple
fi
;;
*)
$TDEDIR/bin/ksplash --nodcop
;;
esac
fi

TDE_FULL_SESSION=true
export TDE_FULL_SESSION
xprop -root -f TDE_FULL_SESSION 8t -set TDE_FULL_SESSION true
echo "[starttde] TDE_FULL_SESSION: $TDE_FULL_SESSION" 1>&2
TDE_SESSION_UID=`id -u`
export TDE_SESSION_UID
echo "[starttde] TDE_SESSION_UID: $TDE_SESSION_UID" 1>&2

LD_BIND_NOW=true $TDEDIR/bin/start_tdeinit_wrapper --new-startup +kcminit_startup
if test $? -ne 0; then
echo "[starttde] Could not start tdeinit. Check your installation." 1>&2
xmessage -center -geometry 500x100 «Could not start tdeinit. Check your installation.»
fi
echo "[starttde] tdeinit started successfully." 1>&2

if test -n "$dl"; then
$TDEDIR/bin/kwrapper kdesktop_lock --forcelock &
sleep 1
fi
export TDEWM=/usr/bin/kwin_x11

test -n "$TDEWM" && TDEWM="--windowmanager $TDEWM"
$TDEDIR/bin/kwrapper $TDEDIR/bin/ksmserver --nocrashhandler $TDEWM
EXIT_CODE="$?"
if test $EXIT_CODE -eq 255; then
echo "[starttde] An error was detected while attempting to load the session manager. Please check your installation for problems." 1>&2
xmessage -center -geometry 500x100 «An error was detected while attempting to load the session manager. Please check your installation for problems.»
fi

echo 'startkde: Shutting down...' 1>&2
kdeinit5_shutdown
echo "[starttde] Shutting down Trinity..." 1>&2
$TDEDIR/bin/tdeinit_shutdown
$TDEDIR/bin/dcopserver_shutdown --wait
$TDEDIR/bin/artsshell -q terminate

unset KDE_FULL_SESSION
xprop -root -remove KDE_FULL_SESSION
unset KDE_SESSION_VERSION
xprop -root -remove KDE_SESSION_VERSION
unset KDE_SESSION_UID
echo 'startkde: Done.' 1>&2

unset TDE_FULL_SESSION
xprop -root -remove TDE_FULL_SESSION
unset TDE_SESSION_UID
echo "[starttde] Trinity shutdown complete." 1>&2


Manjaro KDE Edition: Предпросмотр Рабочих столов - kwin
Manjaro KDE Edition

Нет звука

Накатил Manjaro 17.0.6 KDE после 17.0.5 Gnome. Нет звука. Переустанавливал manjaro-pulse, пробовал pulseaudio-start и много времени провел читая арчвики, результатов ноль. В live все прекрасно работает, следовательно, нужно пилить саму ось
Manjaro KDE Edition

не загружается система после обновления ядра [ РЕШЕНО ]

Всем доброго дня, ситутация такая, обновил вчера ядро с 4.9 на 4.12
т.к. после последнего обновления система стала постоянно зависать
после обновления ядра система стала стабильней работать.
старое удалил. После перезагрузки запускается fsck доходит
процентов до 45 и все.

/dev/sdb1:UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e.,without -a or -p option)
ERROR: Bailing out. Run `fsck /dev/sdb1` manually
***************FILESYSTEM CHECK FAILED*******
* Please run fsck manually. After leaving *
* this maintenance shell, the system will *
* reboot aumatically. *
*********************************************
sh:can`t access tty: job control turned off
[rootfs ]* _
переустановка? или есть возможность поднять систему
Manjaro KDE Edition

Проблема с монтированием диска

Добрый день. На пк 2 жестких диска, один системный, другой NTFS с различными файлами. Если в редакторе разделов указать ему точку монтирования и подключение при запуске системы, то после перезагрузки система вообще не загружается (см. скриншот). Пока что проблема решена установкой gnome-disk-ulility, но хотелось бы разобраться с этим и как теперь загрузить систему? Не Kubuntu такой проблемы нет.Manjaro KDE Edition: Проблема с монтированием диска
Manjaro KDE Edition

[РЕШЕНО] Браузер не переходит по ссылкам

Здравствуйте!
У меня существует такая проблема. Ссылки из некоторых программ (например Libreoffice или ссылки справок из многих программ), не открываются нормально в браузере, а скачиваются файлы html, php и т.д и затем браузер открывает уже скаченые файлы с диска. Т.е. вот так file://home/.../.../

Manjaro KDE Edition: Браузер не переходит по ссылкам
Manjaro KDE Edition: Браузер не переходит по ссылкам

Прошу помочь. Понимаю, что проблема возможно решается очень просто. Найти решение пока не удалось. Спасибо за помощь.
Manjaro KDE Edition

Как поставить XFCE как доп.рабочий стол вместе c KDE?

Всем привет,

есть ноутбук, не самый новый и производительный, на нём стоит Manjaro KDE свежий апдейченый.

Возможно ли поставить XFCE вместе с KDE без его удаления, чтобы при загрузке системы я мог выбрать в меню какой интерфейс загружать KDE или XFCE?

Что надо сделать? Какой алгоритм?

Заранее спасибо!