当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 14 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 今天多少人升级compiz 出了问题的?
帖子发表于 : 2008-02-07 16:55 

注册: 2007-11-05 20:52
帖子: 84
送出感谢: 0 次
接收感谢: 0 次
按照置顶帖的源 升级以后用不了emerald主题了````````````````
窗口装饰选上了 也装了compiz fusion icon /usr/bin/compiz也修改了
代码:
#!/bin/bash
# Compiz wrapper, born as loader in Ubuntu Packages
#
# Based on:
#  Compiz Manager
#  Copyright (c) 2007 Kristian Lyngstøl <kristian@bohemians.org>
#
# Addons by Treviño (3v1n0) <trevi55@gmail.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
#
# 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., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#
#
# Much of this code is based on Beryl code, also licensed under the GPL.
# This script will detect what options we need to pass to compiz to get it
# started, and start a default plugin and possibly window decorator.

## TODO
# Compare scripts with old beryl loader
# Fix bug loading this script on a gnome session [Fixed? Not for all! :/]
# Fix xfwc4 and others (maybe killall before - reporting needed!)
# in start_decorators (maybe) if $DECORATOR doesn't exist, use the first
#  available between the $STD_COMPDECORATORS decorators...


## Default Options - Setting these you can override wrapper defaults

# Set to yes to enable verbose (-v) by default.
VERBOSE="no"

# Default Compiz arguments. Others are added to this, and the configuration can
# override ALL arguments. You can pass compiz args also by command line
ARGS="--ignore-desktop-hints" # --replace


# Ditto for enviromental variables.
ENV=""

# Default plugins.
# Set it to empty to make the script use the best plugins for your environment
PLUGINS=""

# All the configuration plugins available, the first found in that order will be
# selected if not called by commandline or if not set using the CONFIGPLUGIN variable
CONFIGPLUGINS="ccp gconf ini"

# Default configuration plugin. Should probably be one of $CONFIGPLUGINS.
# This parameter will override any user command line argument
CONFIGPLUGIN=""

# Default plugins to enable on first CompizConfig init
# Unneeded if you have a good libccs global.xml file
DEFAULTCCSPLUGINS="decoration move resize cube rotate minimize zoom fade wobbly dbus png switcher scale place"

# Defines the decorator and arguments.
# Set it to empty to make the script use the best decorator for your environment
DECORATOR="emerald"
DECORATORARGS="--replace"

# Delay in seconds before we bring up the decorator(s)
# This avoids starting the decorator before the WM is up,
# even if it shouldn't be a problem.
DELAY="1.5"

# Set to "no" to pipe all decorator error messages to /dev/null
DECOERRORS="no"

# Internal, used to process options.
TASK="normal"

# No indirect by default
INDIRECT=1

# Set compiz default library directory
COMPIZPLUGINDIR="/usr/lib/compiz/"

# Set compiz executable
COMPIZ="/usr/bin/compiz.real"

# Set your default Fallback win manager (if the wrapper can't set one for you!)
FALLBACK_WINMANAGER=""

# Set to yes to enable logging (-l) by default.
LOG="no"

# Define the file in wich log all the events (if enabled)
LOGFILE="/tmp/compiz.log"

# Echos the arguments if verbose
function verbose
{
   if [ "x$VERBOSE" = "xyes" ]; then
      echo -ne "$*"
   fi
   if [ "x$LOG" = "xyes" ]; then
      touch "$LOGFILE"
      if ! (echo "$*" | grep -qw "present\|sleeping\|Screen"); then
         echo -ne "[$(date +"%H:%M:%S")] " >> "$LOGFILE"
      fi
      echo -ne "$*" >> "$LOGFILE"
   fi
}

# Integrate the lists of plugins and args without creating duplications
function add_argument
{
   value="$1"
   if ! (echo "$ARGS" | grep -qw -- "$value"); then
      ARGS="$ARGS $value"
      case $value in
         --replace) REPLACEWM="yes" ;;
         --use-copy) USECOPY="yes" ;;
         --force-fglrx) FORCEFGLRX="yes" ;;
      esac
      return 0
   fi
   return 1
}

### System checks
# These are used for checking what hardware and software we're dealing with,
# so we can decide what options to pass to compiz, if it's even possible to
# start compiz.

# Check wether the composite extension is present
function check_composite
{
   verbose "Checking for Composite extension: "
   if xdpyinfo -queryExtensions | grep -q Composite ; then
      verbose "present. \n";
      return 0;
   else
      verbose "not present. \n";
      return 1;
   fi
}

function check_xdamage
{
   verbose "Checking for XDamage extension: "
   if xdpyinfo -queryExtensions | grep -q DAMAGE ; then
      verbose "present. \n";
      return 0;
   else
      verbose "not present. \n";
      return 1;
   fi
}

# Check for existence if NV-GLX
function check_nvidia
{
   verbose "Checking for nVidia: "
   if xdpyinfo | grep -q NV-GLX ; then
      verbose "present. \n"
      return 0;
   else
      verbose "not present. \n"
      return 1;
   fi
}

# Check for existence of Intel Mesa DRI
function check_intel
{
   verbose "Checking for Intel: "
   if glxinfo 2> /dev/null | grep -q "Mesa DRI Intel(R)"; then
      verbose "present. \n"
      return 0;
   else
      verbose "not present. \n"
      return 1;
   fi
}

# Detects if Xgl is running
function check_xgl
{
   verbose "Checking for Xgl: "
   if xvinfo | grep -q Xgl ; then
      verbose "present. \n"
      return 0;
   else
      verbose "not present. \n"
      return 1;
   fi
}

# Check for presence of FBConfig
function check_fbconfig
{
   verbose "Checking for FBConfig: "
   if glxinfo 2> /dev/null | grep -q GLX_SGIX_fbconfig ; then
      verbose "present. \n"
      return 0;
   else
      verbose "not present. \n"
      return 1;
   fi
}

# Check for TFP
function check_tfp
{
   verbose "Checking for texture_from_pixmap: "
   if [ `glxinfo 2>/dev/null | grep GLX_EXT_texture_from_pixmap -c` -gt 2 ] ; then
      verbose "present. \n"
      return 0;
   else
      verbose "not present. \n"
      if [ "$INDIRECT" -eq 0 ]; then
         unset LIBGL_ALWAYS_INDIRECT
         INDIRECT=1
         return 1;
      else
         verbose "Trying again with indirect rendering:\n";
         INDIRECT=0
         export LIBGL_ALWAYS_INDIRECT=1
         check_tfp;
         return $?
      fi
   fi
}

# Check for non power of two texture support
function check_npot_texture
{
   verbose "Checking for non power of two support: "
   if glxinfo 2> /dev/null | egrep -q '(GL_ARB_texture_non_power_of_two|GL_NV_texture_rectangle|GL_EXT_texture_rectangle|GL_ARB_texture_rectangle)' ; then
      verbose "present. \n";
      return 0;
   else
      verbose "Not present. \n"
      return 1;
   fi

}

function check_xsync
{
   verbose "Checking for XSync extension: ";
   if xdpyinfo -queryExtensions | grep -q SYNC ; then
      verbose "present. \n";
      return 0;
   else
      verbose "not present. \n" ;
   fi
}

function check_bad_driver
{
   verbose "Checking for Unsupported sessions: ";
   xorg_log=$(xset q|grep "Log file"|awk '{print $3}')
   if [ -n "$xorg_log" ] && egrep -q "/usr/lib/xorg/modules/drivers/+(nv|vga|vesa)_drv\.so" "$xorg_log"; then
      verbose "present. \n"
      return 0
   else
      verbose "not present. \n" ;
      return 1
   fi
}

function check_texture_copy
{
   verbose "Checking for copy texture support: "
   if glxinfo 2> /dev/null | grep -qw 'GL_EXT_bgra' &&
      glxinfo 2> /dev/null | grep -qw 'GL_EXT_texture_edge_clamp\|GL_SGIS_texture_edge_clamp'; then
      verbose "present. \n";
      return 0;
   else
      verbose "Not present. \n"
      return 1;
   fi

}

# Counts how many screens we have, and the base value for DISPLAY=
# so we can easily start one decorator per screen
function check_multiscreen
{
   SCREENS=$(xdpyinfo | grep "screen #" | wc -l)
   verbose "Detected $SCREENS screen(s)\n";
   if [ "$SCREENS" == "1" ]; then return 0; fi;
   verbose "Multiscreen enviromental detection: \n"
   DISPLAYBASE=$(xdpyinfo | grep name\ of\ display | sed 's/.* display: *//' | sed 's/\..*//')
   verbose "\tDetected $DISPLAYBASE as the base of the DISPLAY variable\n";
   SCREENNUMBERS=$(xdpyinfo | grep "screen #" | sed -r 's/screen #(.):/\1/')
   for a in $SCREENNUMBERS ; do
      MULTIDISPLAY[$a]=${DISPLAYBASE}.$a
      verbose "\tMULTIDISPLAY[$a] set to: ${MULTIDISPLAY[$a]}\n";
   done
}

function possible_check
{
   if [ "$1" = "1" ]; then
      echo "Fatal: Failed test: $2";
      return 1;
   fi
   return 0;
}

# Returns true if we think it's actually possible to start compiz
function check_possible
{
   POSSIBLE="1"
   if [ "$XGL" = "0" ]; then POSSIBLE=0; return 0; fi
   if ( [ "x$USECOPY" = "xyes" ] || [ "x$FORCEFGLRX" = "xyes" ] ); then
      if ! possible_check "$TEXTURECOPY" "copy texture not available"; then return 1; fi
   else
      if ! possible_check "$TFP" "texture_from_pixmap support"; then return 1; fi
   fi
   if ! possible_check "$NPOT" "non-power-of-two texture support"; then return 1; fi
   if ! possible_check "$FBCONFIG" "FBConfig"; then return 1; fi
   if ! possible_check "$COMPOSITE" "Composite extension"; then return 1; fi
   if ! possible_check "$XDAMAGE" "XDamage extension"; then return 1; fi
   if ! possible_check "$XSYNC" "XSync extension"; then return 1; fi
   POSSIBLE="0";
   return 0;
}


### Work functions

# Builds a new-line seperated string of enviromental variables we might want
function build_env
{
   if [ $NVIDIA -eq 0 ]; then
      ENV="__GL_YIELD=NOTHING"
   fi
   if [ $INDIRECT -eq 0 ]; then
      ENV="$ENV LIBGL_ALWAYS_INDIRECT=1"
   fi
   if [ $INTEL -eq 0 ]; then
      ENV="$ENV INTEL_BATCH=1"
   fi
   if [ $XGL -eq 0 ]; then
      if [ -f /usr/lib/nvidia/libGL.so.1.2.xlibmesa ]; then
         ENV="$ENV LD_PRELOAD=/usr/lib/nvidia/libGL.so.1.2.xlibmesa"
         verbose "Enabling Xgl with nVidia drivers...\n"
      fi
      if [ -f /usr/lib/fglrx/libGL.so.1.2.xlibmesa ]; then
         ENV="$ENV LD_PRELOAD=/usr/lib/fglrx/libGL.so.1.2.xlibmesa"
         verbose "Enabling Xgl with fglrx ATi drivers...\n"
      fi
   fi
   case "$DE" in
      KDE)
         ENV="$ENV KDEWM=$0";;
      GNOME)
         ENV="$ENV WINDOW_MANAGER=$0";;
   esac
}

# Builds the argument list
function build_args
{
   if [ "$USECOPY" != "yes" ]; then
      if [ $NVIDIA = 0 ] && [ $XGL != 0 ] && [ $INDIRECT != 0 ]; then
         add_argument "--loose-binding"
      elif [ $INDIRECT = 0 ]; then
         add_argument "--indirect-rendering"
      fi
   fi
}

# Prints usage
function usage
{
   if [ -n "$1" ]; then
      echo -e "The $1 option needs an argument!\n"
   fi
   echo "Usage: $0 [-r <env|args>] [-v]  [-h] [-d] [-w] [-c <decorator> ]"
   echo -e "       [ options ] [ plugins ]"
   echo -e "-r\t outputs recommended values for either enviromental variables"
   echo -e "  \t  or arguments."
   echo -e "-v\t Verbose: Output the result of each individual test"
   echo -e "-l\t Log: Enable logging of all the verbose events in $LOGFILE"
   echo -e "-h\t Display this message"
   echo -e "-d\t Dry run: Do everything, but don't start."
   echo -e "-w\t Only start default window decorator(s). One per screen."
   echo -e "-c\t Restart using the passed window decorator(s). One per screen."
   echo -e "options\t Pass to compiz any option given by --help."
   echo -e "plugins\t Enable any compiz plugin, generally you can set (overriding default)"
   echo -e "       \t  one of the configuration plugins [${CONFIGPLUGINS// /, }]"
   if [ -n "$1" ]; then
      exit 1
   else
      exit 0
   fi
}

# Parses options
function parse_options
{
   while [ "$#" -gt "0" ]; do
      case "$1" in
         -h) usage ;;

         -r)
            TASK="RECOMMEND"
            if [ "$2" == "env" ]; then
               REC="env"
            elif [ "$2" == "args" ]; then
               REC="args"
            elif [ "$2" == "both" ]; then
               REC="both"
            else
               usage $1
            fi
            shift ;;

         -v) VERBOSE="yes" ;;

         -l)
            LOG="yes"
            if (touch "$LOGFILE") 2> /dev/null; then
               STDOUTPUT="$LOGFILE"
               ERROUTPUT="$LOGFILE"
               verbose "Enabled logging in $LOGFILE\n"
            else
               echo "I can't log in $LOGFILE"
            fi ;;

         -d) DRY="yes" ;;

         -w) TASK="WINDOWDECORATOR" ;;

         -c)
            if [ -n "$2" ]; then
               DECORATOR="$2"
               DECORATORARGS="--replace"
               shift
            else
               usage $1
            fi ;;

         *) if [ $TASK != "WINDOWDECORATOR" ]; then
            case "$1" in
               --help|--version)
                  $COMPIZ $1
                  exit 0 ;;
               --sm-client-id)
                  if [ -n "$2" ]; then
                     SESSION_FLAG="yes"
                     add_argument "$1"
                     if [ $? = 0 ]; then
                        add_argument "$2"
                        verbose "Adding compiz option $1 $2 to command line\n"
                     fi
                     shift
                  else
                     usage $1
                  fi ;;
               --*)
                  add_argument "$1"
                  if [ $? = 0 ]; then
                     verbose "Adding compiz option $1 to command line\n"
                  fi ;;

               *)
                  if ! (echo "$PLUGINS" | grep -qw -- "$1") &&
                     ! (echo "$CONFIGPLUGINS" | grep -qw -- "$1") &&
                     [ -f "$COMPIZPLUGINDIR/lib${1}.so" ]; then
                     PLUGINS="$PLUGINS $1"
                     verbose "Adding compiz plugin $1 to command line\n"
                  elif (echo "$CONFIGPLUGINS" | grep -qw -- "$1") &&
                       [ -z $CONFIGPLUGIN ]; then
                     CONFIGPLUGIN="$1"
                     verbose "Adding compiz config plugin $1 to command line\n"
                  fi ;;
            esac
         fi ;;
      esac
      shift
   done

   if [ "x$SESSION_FLAG" != "xyes" ]; then
      add_argument "--sm-disable"
   fi

}

####
# Execute checks, if necesarry.
function check_everything
{
   if ! check_bad_driver; then

      check_nvidia
      NVIDIA=$?

      check_xgl
      XGL=$?

      check_fbconfig
      FBCONFIG=$?

      check_tfp
      TFP=$?

      check_texture_copy
      TEXTURECOPY=$?

      check_intel
      INTEL=$?

      check_npot_texture
      NPOT=$?

      check_composite
      COMPOSITE=$?

      check_xdamage
      XDAMAGE=$?

      check_xsync
      XSYNC=$?

      check_multiscreen
   else
      echo "Fatal: Compiz can't be ran using VESA or VGA divers."
      exit 1;
   fi
}

###
# Check if a directory exists; creates it if it doesn't, returns false if the
# path isn't a directory.
function require_dir
{
   if ! [ -a "$1" ]; then
      verbose "Creating directory $1\n";
      mkdir $1;
   fi
   if [ ! -d $1 ]; then
      echo "Warning: $1 exists but isn't a directory.";
      return 1;
   fi
   return 0;
}

###
# Let's get this show started!
function start_compiz
{
   if [ -n "$ENV" ]; then
      verbose "Exporting: $ENV \n"
      export $ENV
   fi
   if [ "x$REPLACEWM" != "xyes" ] && [ "x$DRY" != "xyes" ]; then
      if [ -n "$COMPIZRUNNING" ]; then
         echo "Compiz is already running, you should use the --replace option to override it"
         exit 0
      elif [ -n "$WMRUNNING" ]; then
         echo "There is already the $RUNNING_WIN_MANAGER win manager running, you should use the --replace option to override it"
         exit 0
      fi
   fi
   if  ! (run_command $COMPIZ $ARGS $PLUGINS); then
      if  [ -n "$FALLBACK_WINMANAGER" ]; then
         if run_command $FALLBACK_WINMANAGER; then
            exit 0;
         else
            echo "Fatal: Can't run $FALLBACK_WINMANAGER"
            exit 1;
         fi
      else
         echo "No fallback winmanager found/set"
      fi
   fi
}

####
# Starts one decorator per screen
function start_decorators
{
   if ( [ -z "$DECORATOR" ] && [ -z "$RUNNING_COMPDECORATOR" ] ); then
   case "$DE" in
      KDE)
         DECORATOR="kde-window-decorator"
         DECORATORARGS="--replace"
      ;;
      GNOME)
         DECORATOR="gtk-window-decorator"
         DECORATORARGS="--replace"
      ;;
      *)
         DECORATOR="gtk-window-decorator" #emerald?
         DECORATORARGS="--replace"
      ;;
   esac
   fi

   # WORKAROUND -_-
   for process in /proc/[0-9]*/cmdline; do
      if grep -wq "gnome-wm" "$process" 2> /dev/null; then
         pid=$(expr "$process" : "/proc/\([0-9]\+\)/cmdline")
         if [ -n "$pid" ]; then
            kill -9 "$pid" 2> /dev/null
         fi
      fi
   done
   
   if [ -z "$(which $DECORATOR)" ]; then return 1; fi
   if [ "$DECOERRORS" = "no" ]; then
      OLDERROUTPUT="$ERROUTPUT"
      ERROUTPUT="/dev/null"
   fi
   if [ "$SCREENS" == "1" ]; then
      verbose "Starting delayed $DECORATOR in the background: "
      verbose "sleeping $DELAY...\n"
      if [ "x$DRY" = "xyes" ]; then return 0; fi
      (sleep $DELAY &&
       run_command $DECORATOR $DECORATORARGS) &
   else
      verbose "Starting delayed $DECORATOR for all screens: \n"
      OLDDISPLAY="$DISPLAY"
      for a in $SCREENNUMBERS; do
         verbose "\t Screen $a: "
         verbose "sleeping $DELAY...\n"
         if [ "x$DRY" != "xyes" ]; then
            (sleep $DELAY && \
             export DISPLAY=${MULTIDISPLAY[$a]} && \
             run_command $DECORATOR $DECORATORARGS) &
         fi
      done
      export DISPLAY="$OLDDISPLAY"
   fi
   if [ "$DECOERRORS" = "no" ]; then
      ERROUTPUT="$OLDERROUTPUT"
   fi
}

function check_desktopmanager
{
   if (pidof "startkde" &> /dev/null) ||
      (pidof "ksplash" &> /dev/null) ||
      (pidof "start_kdeinit" &> /dev/null) ||
      (kcheckrunning 2> /dev/null); then
      DE="KDE"
      DEFAULTDECORATOR="kwin"
      DEFAULTDECORATORARGS="--replace"
   elif (pidof "gnome-session" &> /dev/null) ||
        (pidof "gnome-settings-daemon" &> /dev/null) ||
        (pidof "gnome-panel" &> /dev/null); then
      DE="GNOME"
      DEFAULTDECORATOR="metacity"
      DEFAULTDECORATORARGS="--replace"
   elif pidof "xfce4-session" &> /dev/null; then
      DE="Xfce"
      DEFAULTDECORATOR="xfwm4"
      DEFAULTDECORATORARGS=""
   elif pidof "WindowMaker" &> /dev/null; then
      DE="WindowMaker"
      DEFAULTDECORATOR="wmaker"
      DEFAULTDECORATORARGS=""
   elif pidof "enlightenment_sys" &> /dev/null; then
      DE="enlightenment"
      DEFAULTDECORATOR="enlightenment"
      DEFAULTDECORATORARGS=""
   elif pidof "fbrun" &> /dev/null; then
      DE="fluxbox"
      DEFAULTDECORATOR="fluxbox"
      DEFAULTDECORATORARGS=""
   fi

   if  [ -n "$DE" ]; then
      verbose "Found $DE desktop environment running...\n"
   fi
}

function check_winmanager
{
   STD_WMs="beryl compiz compiz.real metacity kwin xfwm4 wmaker fluxbox blackbox openbox icewm enlightenment"

   for wm in $STD_WMs; do
      if pidof $wm &> /dev/null; then
         RUNNING_WIN_MANAGER="$wm"
         break;
      fi
   done

   if ! (xdpyinfo | grep -q "^focus:[ ]\+PointerRoot$"); then
      WMRUNNING="true"
   fi

   STD_COMPDECORATORS="gtk-window-decorator kde-window-decorator emerald yawd"

   for deco in $STD_COMPDECORATORS; do
      if pidof $deco &> /dev/null; then
         RUNNING_COMPDECORATOR="$deco"
         break;
      fi
   done
   
   if [ -n "$RUNNING_WIN_MANAGER" ]; then
      verbose "Found running windows manager: $RUNNING_WIN_MANAGER\n"
   fi

   if [ -n "$DE" ] && [ -z "$FALLBACK_WINMANAGER" ]; then
      FALLBACK_WINMANAGER="$DEFAULTDECORATOR $DEFAULTDECORATORARG"
   fi

   if (echo $RUNNING_WIN_MANAGER | grep -qw "$(basename $COMPIZ)"); then #compiz\|compiz\.real
      COMPIZRUNNING="true"
      verbose "Compiz is already running in this environment\n"
   else
      unset COMPIZRUNNING
      if [ -n "$RUNNING_WIN_MANAGER" ] && [ -z "$FALLBACK_WINMANAGER" ]; then
         FALLBACK_WINMANAGER="$RUNNING_WIN_MANAGER" # --replace ?
      fi
   fi
   if  [ -n "$FALLBACK_WINMANAGER" ]; then
      verbose "Setting fallback windows manager to $FALLBACK_WINMANAGER\n"
   fi
}

function set_config_plugin
{
   if ( [ -n "$CONFIGPLUGIN" ] && [ -f "$COMPIZPLUGINDIR/lib${CONFIGPLUGIN}.so" ] ); then
      verbose "Loading the $CONFIGPLUGIN settings interface\n"
   else
      for plugin in $CONFIGPLUGINS; do
         if [ -f "$COMPIZPLUGINDIR/lib${plugin}.so" ]; then
            CONFIGPLUGIN="$plugin"
            verbose "Loading the $plugin settings interface\n"
            break;
         fi
      done
   fi
   if [ "$CONFIGPLUGIN" = "gconf" ]; then
      PLUGINS=${PLUGINS//glib/}
      CONFIGPLUGIN="glib gconf"
   fi
#    if [ "$CONFIGPLUGIN" = "ccp" ]; then
#       # Set default compizconfig configuration; disabled by default
#       set_default_ccs
#    fi
   PLUGINS="$CONFIGPLUGIN $PLUGINS"
}

function set_default_ccs
{
   # Not needed if is set a proper global.xml file in libcompizconfig
   CCSDEFCONFIG="~/.compizconfig/Default.ini"
   
   if [ ! -f "$CCSDEFCONFIG" ]; then
      mkdir -p $CCSDEFCONFIG
      touch "$CCSDEFCONFIG"
   fi

   if ! (grep -q "as_____plugin_enabled" $CCSDEFCONFIG); then
      for plugin in $DEFAULTCCSPLUGINS; do
         echo "[$plugin]" > $CCSDEFCONFIG
         echo "as_____plugin_enabled = true" > $CCSDEFCONFIG
         echo "" > $CCSDEFCONFIG
      done
   fi
}

function run_command
{
   verbose Executing: "$*" "\n"
   if [ "x$DRY" = "xyes" ]; then return 0; fi
   if [ -n "$STDOUTPUT" ] && [ -n "$ERROUTPUT" ]; then
      $* 1>> $STDOUTPUT 2>> $ERROUTPUT
   elif [ -n "$STDOUTPUT" ] && [ -z "$ERROUTPUT" ]; then
      $* 1>> $STDOUTPUT
   elif [ -z "$STDOUTPUT" ] && [ -n "$ERROUTPUT" ]; then
      $* 2>> $ERROUTPUT
   else
      $*
   fi
   return $?
}

####################
# Execution begins here.
# First get options, check for configuration
# Check everything if necesarry, build the enviroment and arguments
# and eventually select a task.

parse_options "$@"

if [ -z "$NOCHECKS" ]; then check_everything; fi

###
# This is the master-test, it has to be done last.
if [ -z "$POSSIBLE" ]; then check_possible
else verbose "Skipping \"possible\" test, using stored value.\n"; fi

# No need to continue if we've determined it's not possible to start anyway
if [ $POSSIBLE != "0" ]; then
   echo "Checks indicate that it's impossible to start compiz on your system."
   exit 1;
else
   verbose "Checks indicate compiz should work on your system\n"
fi

####
# Builds the enviromental variables list and argument list based
# on the result of the checks
check_desktopmanager
check_winmanager

case "$TASK" in
   RECOMMEND)
      if [ "x$REC"  = "xenv" ]; then
         build_env
         echo -e $ENV;
      elif [ "x$REC" = "xargs" ]; then
         build_args
         echo -e $ARGS
      elif [ "x$REC" = "xboth" ]; then
         build_args
         build_env
         set_config_plugin
         echo -e $ARGS $PLUGINS
         echo -e $ENV
      fi
      if [ $POSSIBLE != "0" ]; then return 1; fi
      ;;
   WINDOWDECORATOR)
      start_decorators
      ;;
   *)
      build_args
      build_env
      set_config_plugin
      start_decorators
      start_compiz
   ;;
esac


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-02-07 20:14 

注册: 2007-11-05 20:52
帖子: 84
送出感谢: 0 次
接收感谢: 0 次
没有人知道解决的办法吗?


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-02-07 20:52 
头像

注册: 2006-09-21 14:28
帖子: 2376
送出感谢: 0 次
接收感谢: 0 次
恭喜


_________________
http://lee.youxu.info/


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-02-07 20:56 

注册: 2007-11-05 20:52
帖子: 84
送出感谢: 0 次
接收感谢: 0 次
flyinflash 写道:
恭喜

无语 真的幸灾乐祸`````````````


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-02-10 14:46 
头像

注册: 2006-10-24 15:46
帖子: 245
送出感谢: 0 次
接收感谢: 1
升级了~~全黑了~~全部删除~~重新安装~~复原了!


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-02-10 17:24 

注册: 2007-11-05 20:52
帖子: 84
送出感谢: 0 次
接收感谢: 0 次
lidin999 写道:
升级了~~全黑了~~全部删除~~重新安装~~复原了!

我重新安装 还是显示不了边框```````````


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-02-11 13:37 

注册: 2007-09-15 18:20
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
我也显示不了了


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-02-12 14:24 
头像

注册: 2008-01-04 23:31
帖子: 202
地址: 重庆
送出感谢: 0 次
接收感谢: 0 次
我也显示不了了,也重新装了,都没用了,不知道怎么回事


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-02-12 15:44 

注册: 2008-01-16 0:10
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
NND,害我搞了一天了


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-02-13 11:02 

注册: 2008-01-30 19:19
帖子: 794
送出感谢: 0 次
接收感谢: 0 次
遭罪的不只你一个


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2008-02-13 11:33 

注册: 2007-10-12 1:22
帖子: 106
送出感谢: 0 次
接收感谢: 0 次
桌面 更改 背景图片, 里面有个 视觉效果,把 效果改成无。 就有 关闭按钮了, 估计 升级了 compiz 工作不正常了 。
有些文件少了,要么 有些配置文件出错了。 具体的没找到 方法。 我现在也在 尝试remove compiz所有组件,然后重新安装。


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2008-02-13 19:43 
头像

注册: 2007-10-19 16:26
帖子: 137
送出感谢: 0 次
接收感谢: 0 次
我的升级也出问题了,从官方的git下了个emerald源码,编译安装,OK


_________________
菜鸟的贴你就不顶了吗?!!!
DELL D620
Core2 Duo T5500
1G DDR II 667
i945GM GMA950

AMD 64x2 5200+
GA-MA78GM-S2HP
2G DDR2 800
ATI Radeon HD 3200


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2008-02-15 16:22 

注册: 2007-08-29 3:20
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
有没有人弄好了,回一下~! :oops: :oops: :oops: :oops:


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2008-02-16 8:36 
头像

注册: 2008-01-04 23:31
帖子: 202
地址: 重庆
送出感谢: 0 次
接收感谢: 0 次
没弄好,我是删除了所有的compiz,然后降级安装后才恢复的


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 14 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译