[Compiz] Compiz --replace solo da shell

Configurazione e uso dell'interfaccia utente predefinita fino alla versione 16.04 di Ubuntu.
mauro21
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1459
Iscrizione: lunedì 27 febbraio 2006, 19:37
Distribuzione: ubuntu 12.10

Re: [Compiz] Compiz --replace solo da shell

Messaggio da mauro21 »

ho fatto... ho riavviato.... ma esce uno schermo nero e si blocca tutto... ora sono in kde e cerco di rimettere tutto come prima per poter rientrare in gnome
grd
Prode Principiante
Messaggi: 18
Iscrizione: mercoledì 9 maggio 2007, 0:20

Re: [Compiz] Compiz --replace solo da shell

Messaggio da grd »

inverse ha scritto: Se usate compiz dal repository di Treviño c'è un bug nel file che lancia compiz.....

Basta editare il file /usr/bin/compiz e sostituire le seguenti righe:

Codice: Seleziona tutto

	fi
         if  !($COMPIZ $ARGS $PLUGINS 1>> $OUTPUT 2>> $OUTPUT); then
		if  [ -n "$FALLBACK_WINMANAGER" ]; then
			$FALLBACK_WINMANAGER 1>> $OUTPUT 2>> $OUTPUT
		else
			echo "No fallback winmanager found/set"
		fi
	fi
con queste:

Codice: Seleziona tutto

	fi
	if  !($COMPIZ $ARGS $PLUGINS); then
		if  [ -n "$FALLBACK_WINMANAGER" ]; then
			$FALLBACK_WINMANAGER 
		else
			echo "No fallback winmanager found/set"
		fi
	fi
Fino ad ora con questa modifica non ho riscontrato problemi, ma consiglio di provare solo a chi sà dove mette le mani  (yes)
ecco perchè  >:(
mauro21
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1459
Iscrizione: lunedì 27 febbraio 2006, 19:37
Distribuzione: ubuntu 12.10

Re: [Compiz] Compiz --replace solo da shell

Messaggio da mauro21 »

a te va?
mi sa che allora ho fatto quaqlche cavolata io nel copiare...
mi posti il tuo file compiz?
Avatar utente
inverse
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1006
Iscrizione: martedì 18 ottobre 2005, 2:30
Contatti:

Re: [Compiz] Compiz --replace solo da shell

Messaggio da inverse »

quando ho provato la modifica, io compiz l'ho lanciato con esegui applicazione (alt+f2) così da poter simulare meglio il blocco.
Lo schermo nero non sò a che cosa possa essere dovuto, puoi guardare il log, dal file .xsession-errors, se fai partite in automatico compiz, dal log dovrebbe mostrati l'errore.
Per risolvere, oltre che da kde, puoi usare una sessione gnome emergenza, o partire momentaneamente con i driver vesa.
Rimango online in caso hai bisogno d'aiuto  ;D

Ps. il mio compiz...

Codice: Seleziona tutto

#!/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)
# 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 --sm-disable

# 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 best 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=""
DECORATORARGS=""

# 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="3"

# 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"

# Define where redirect default output (if not logging)
OUTPUT="/dev/stdout"

# 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"); then
			echo -ne "[$(date +"%H:%M:%S")] " >> "$LOGFILE"
		fi
		echo -ne "$*" >> "$LOGFILE"
	fi
}

### 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
}

# 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
}

# 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 ! possible_check "$TFP" "texture_from_pixmap support"; then return 1; 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 [ $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
}

# Builds the argument list
function build_args
{
	if [ $NVIDIA -eq 0 -a  $XGL -ne 0 -a $INDIRECT -ne 0 ]; then
		ARGS="--loose-binding "$ARGS
	fi
	if [ $INDIRECT -eq 0 ]; then
		ARGS="--indirect-rendering "$ARGS
	fi
}

# Prints usage
function usage
{
	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// /, }]"
}

# Parses options
function parse_options
{
	while getopts "r:-:vlhdwc:" ARG
	do
		if [ "x$ARG" = "x-" ]; then
			if [ "$OPTARG" = "help" ] || [ "$OPTARG" = "version" ]; then
				$COMPIZ --$OPTARG
				exit 0
			elif !(echo "$ARGS" | grep -qw -- "--$OPTARG"); then
				ARGS="$ARGS --$OPTARG"
				verbose "Adding compiz option --$OPTARG to command line\n"
			fi
		elif [ "x$ARG" = "xr" ]; then
			TASK="RECOMMEND";
			if [ "x$OPTARG" = "xenv" ]; then
				REC="env";
			elif [ "x$OPTARG" = "xargs" ]; then
				REC="args"
			elif [ "x$OPTARG" = "xboth" ]; then
				REC="both"
			else
				echo "Invalid recommend argument"
				usage
				exit 1
			fi
		elif [ "x$ARG" = "xv" ]; then
			VERBOSE="yes"
		elif [ "x$ARG" = "xl" ]; then
			LOG="yes"
			OUTPUT="$LOGFILE"
			verbose "Enabled logging in $LOGFILE\n"
		elif [ "x$ARG" = "xd" ]; then
			DRY="yes"
		elif [ "x$ARG" = "xw" ]; then
			TASK="WINDOWDECORATOR";
			DELAY=0
		elif [ "x$ARG" = "xc" ]; then
			DECORATOR="$OPTARG"
			DECORATORARGS="--replace"
			DELAY=0
		else
			usage
			exit 0
		fi
	done

	if [ $TASK != "WINDOWDECORATOR" ]; then
		for arg in $*; do
			if !(echo "$arg" | grep -q -- "^-") &&
			   !(echo "$PLUGINS" | grep -qw -- "$arg") &&
			   !(echo "$CONFIGPLUGINS" | grep -qw -- "$arg") &&
			   [ -f "$COMPIZPLUGINDIR/lib${arg}.so" ]; then
				PLUGINS="$PLUGINS $arg"
				verbose "Adding compiz plugin $arg to command line\n"
			elif (echo "$CONFIGPLUGINS" | grep -qw -- "$arg") &&
			     [ -z $CONFIGPLUGIN ]; then
				CONFIGPLUGIN="$arg"
				verbose "Adding compiz plugin $arg to command line\n"
			fi;
		done
	fi
}

####
# Execute checks, if necesarry.
function check_everything
{
	if [ -z "$NVIDIA" ]; then
		check_nvidia
		NVIDIA=$?
	else
		verbose "Skipping nVidia check, using stored value.\n"
	fi
	if [ -z "$XGL" ]; then
		check_xgl
		XGL=$?
	else
		verbose "Skipping Xgl check, using stored value.\n"
	fi

	if [ -z "$FBCONFIG" ]; then
		check_fbconfig
		FBCONFIG=$?
	else
		verbose "Skipping FBConfig check, using stored value.\n"
	fi
	if [ -z "$TFP" ]; then
		check_tfp
		TFP=$?
	else
		verbose "Skipping texture_from_pixmap check, using stored value.\n"
	fi
	if [ -z "$NPOT" ]; then
		check_npot_texture
		NPOT=$?
	else
		verbose "Skipping non-power-of-two texture check, using stored value.\n"
	fi

	if [ -z "$COMPOSITE" ]; then
		check_composite
		COMPOSITE=$?
	else
		verbose "Skipping Composite extension check, using stored value.\n"
	fi

	if [ -z "$XDAMAGE" ]; then
		check_xdamage
		XDAMAGE=$?
	else
		verbose "Skipping Damage extension check, using stored value.\n"
	fi

	if [ -z "$XSYNC" ]; then
		check_xsync
		XSYNC=$?
	else
		verbose "Skipping XSync extension check, using stored value.\n";
	fi

	if [ -z "$SCREENS" ]; then
		check_multiscreen
	else
		verbose "Skipping screen detection check, using stored value.\n";
	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
	verbose Executing: $COMPIZ $ARGS $PLUGINS "\n"
	if [ "x$DRY" = "xyes" ]; then exit 0; fi
	if [ -n "$COMPIZRUNNING" ] && !(echo $ARGS | grep -wq -- "--replace"); then
		echo "Compiz is already running, you should use the --replace option to override it"
		exit 0
	elif [ -n "$WMRUNNING" ] && !(echo $ARGS | grep -wq -- "--replace"); then
		echo "There is already the $RUNNING_WIN_MANAGER win manager running, you should use the --replace option to override it"
		exit 0
	fi
	if  !($COMPIZ $ARGS $PLUGINS); then
		if  [ -n "$FALLBACK_WINMANAGER" ]; then
			$FALLBACK_WINMANAGER 
		else
			echo "No fallback winmanager found/set"
		fi
	fi

#	fi
#	if  !($COMPIZ $ARGS $PLUGINS 1>> $OUTPUT 2>> $OUTPUT); then
#		if  [ -n "$FALLBACK_WINMANAGER" ]; then
#			$FALLBACK_WINMANAGER 1>> $OUTPUT 2>> $OUTPUT
#		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"
			DECORATORARGS="--replace"
		;;
	esac
	fi
	
	if [ -z "$(which $DECORATOR)" ]; then return 1; fi

	if [ "$SCREENS" == "1" ]; then
		verbose "Starting delayed decorator in the background: "
		verbose "sleep $DELAY && $DECORATOR $DECORATORARGS &\n"
		if [ "x$DRY" = "xyes" ]; then return 0; fi
			if [ "$DECOERRORS" = "no" ]; then
				sleep $DELAY && $DECORATOR $DECORATORARGS 1>> $OUTPUT 2> /dev/null &
			else
				sleep $DELAY && $DECORATOR $DECORATORARGS 1>> $OUTPUT 2>> $OUTPUT &
			fi
		return 0;
	fi
	verbose "Starting decorators for all screens: \n"
	for a in $SCREENNUMBERS; do
		verbose "\t Screen $a: "
		verbose "sleep $DELAY && DISPLAY=${MULTIDISPLAY[$a]} $DECORATOR $DECORATORARGS\n"
		if [ "x$DRY" != "xyes" ]; then
			if [ "$DECOERRORS" = "no" ]; then
				sleep $DELAY && DISPLAY=${MULTIDISPLAY[$a]} $DECORATOR $DECORATORARGS 1>> $OUTPUT 2> /dev/null &
			else
				sleep $DELAY && DISPLAY=${MULTIDISPLAY[$a]} $DECORATOR $DECORATORARGS 1>> $OUTPUT 2>> $OUTPUT &
			fi

		fi
	done	
}

function check_desktopmanager
{
	if (kcheckrunning 2> /dev/null) ||
	   (pidof "startkde" &> /dev/null) ||
	   (pidof "kdeinit" &> /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"

	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 "compiz\|compiz\.real"); then #$(basename $COMPIZ)
		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
}

####################
# 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
build_env
build_args
check_desktopmanager
check_winmanager

case "$TASK" in
	RECOMMEND)
		if [ "x$REC"  = "xenv" ]; then
			echo -e $ENV;
		elif [ "x$REC" = "xargs" ]; then
			echo -e $ARGS
		elif [ "x$REC" = "xboth" ]; then
			echo -e $ARGS $PLUGINS
			echo -e $ENV
		fi
		if [ $POSSIBLE != "0" ]; then return 1; fi
		;;
	WINDOWDECORATOR)
		start_decorators
		;;
	*)
		start_decorators
		set_config_plugin
		start_compiz
	;;
esac
mauro21
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1459
Iscrizione: lunedì 27 febbraio 2006, 19:37
Distribuzione: ubuntu 12.10

Re: [Compiz] Compiz --replace solo da shell

Messaggio da mauro21 »

ok parte.... mi sa che avevo sbagliato il copia incolla..  (good) (good)
però le finestre sono senza bordi... devo dare anche emerald --replace?
oppure adesso se faccio partire la compiz-icon funziona?
Avatar utente
inverse
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1006
Iscrizione: martedì 18 ottobre 2005, 2:30
Contatti:

Re: [Compiz] Compiz --replace solo da shell

Messaggio da inverse »

io uso uno script che ha all'interno anche gtk-window-decorator, quindi direi che devi far partire a parti il decoratore, ma in linea teorica ora dovrebbe andare anche con compiz-icon, ma non ho provato  :-\
mauro21
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1459
Iscrizione: lunedì 27 febbraio 2006, 19:37
Distribuzione: ubuntu 12.10

Re: [Compiz] Compiz --replace solo da shell

Messaggio da mauro21 »

si compiz-icon va... ma parte sempre senza bordi... devo andare dopo io a mano in compiz-icon e mettere emerald...
che script hai? credi vada bene anche con emerald?
Avatar utente
inverse
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1006
Iscrizione: martedì 18 ottobre 2005, 2:30
Contatti:

Re: [Compiz] Compiz --replace solo da shell

Messaggio da inverse »

mauro21 ha scritto: si compiz-icon va... ma parte sempre senza bordi... devo andare dopo io a mano in compiz-icon e mettere emerald...
che script hai? credi vada bene anche con emerald?
é solo un script eseguibile che lancia i comandi per far partire compiz, posto anche questo...

Codice: Seleziona tutto

#!/bin/sh

__GL_YIELD=NOTHING compiz --replace &

gtk-window-decorator --replace &

"__GL_YIELD=NOTHING" Questo codice va tolto se non utilizzi una scheda nvidia  ::)
e nel tuo caso al posto di gtk-window-decorator, devi usare emerald--replace

PS. il file di testo si rende eseguibile con chmod +x nome.txt
mauro21
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1459
Iscrizione: lunedì 27 febbraio 2006, 19:37
Distribuzione: ubuntu 12.10

Re: [Compiz] Compiz --replace solo da shell

Messaggio da mauro21 »

sei un genio... ho messo emerald --replace e funziona alla perfezione

grazie 1000 (good) (b2b) (rotfl)  (good)
Avatar utente
inverse
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1006
Iscrizione: martedì 18 ottobre 2005, 2:30
Contatti:

Re: [Compiz] Compiz --replace solo da shell

Messaggio da inverse »

mauro21 ha scritto: sei un genio... ho messo emerald --replace e funziona alla perfezione

grazie 1000 (good) (b2b) (rotfl)  (good)
felice d'averti aiutato  (b2b)
Avatar utente
spider54
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1168
Iscrizione: venerdì 9 febbraio 2007, 14:32
Località: Roma

Re: [Compiz] Compiz --replace solo da shell

Messaggio da spider54 »

inverse ha scritto: Se usate compiz dal repository di Treviño c'è un bug nel file che lancia compiz.....

Basta editare il file /usr/bin/compiz e sostituire le seguenti righe:

Codice: Seleziona tutto

	fi
         if  !($COMPIZ $ARGS $PLUGINS 1>> $OUTPUT 2>> $OUTPUT); then
		if  [ -n "$FALLBACK_WINMANAGER" ]; then
			$FALLBACK_WINMANAGER 1>> $OUTPUT 2>> $OUTPUT
		else
			echo "No fallback winmanager found/set"
		fi
	fi
con queste:

Codice: Seleziona tutto

	fi
	if  !($COMPIZ $ARGS $PLUGINS); then
		if  [ -n "$FALLBACK_WINMANAGER" ]; then
			$FALLBACK_WINMANAGER 
		else
			echo "No fallback winmanager found/set"
		fi
	fi
Fino ad ora con questa modifica non ho riscontrato problemi, ma consiglio di provare solo a chi sà dove mette le mani  (yes)
tramite questa modifica si avvia in automatico, ma non va il
decoratore finestre(mancano i bordi chiusura ecc..)
non ho installato compiz-icon lo devo installare?
se si come?
p.s ho una nvidia 6600 gt
:(
Ultima modifica di spider54 il mercoledì 20 giugno 2007, 0:11, modificato 1 volta in totale.
“Il valore della vita non sta nella lunghezza dei suoi giorni, ma nell’uso che se ne fa: si può vivere molto a lungo, ma molto poco.”
(Micheal De Montaigne)
mauro21
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1459
Iscrizione: lunedì 27 febbraio 2006, 19:37
Distribuzione: ubuntu 12.10

Re: [Compiz] Compiz --replace solo da shell

Messaggio da mauro21 »

crea lo script coem ho fatto io (vedi post sopra)
Avatar utente
spider54
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1168
Iscrizione: venerdì 9 febbraio 2007, 14:32
Località: Roma

Re: [Compiz] Compiz --replace solo da shell

Messaggio da spider54 »

mauro21 ha scritto: crea lo script coem ho fatto io (vedi post sopra)
questo script con che nome lo salvo e dove lo salvo?
???
“Il valore della vita non sta nella lunghezza dei suoi giorni, ma nell’uso che se ne fa: si può vivere molto a lungo, ma molto poco.”
(Micheal De Montaigne)
grd
Prode Principiante
Messaggi: 18
Iscrizione: mercoledì 9 maggio 2007, 0:20

Re: [Compiz] Compiz --replace solo da shell

Messaggio da grd »

Codice: Seleziona tutto

sudo gedit /usr/bin/startcompiz
inserisci

Codice: Seleziona tutto

compiz --replace &

gtk-window-decorator --replace &
rendi eseguibile lo script con

Codice: Seleziona tutto

sudo chmod +x /usr/bin/startcompiz
in preferenze -> sessioni  aggiungi una nuova voce che richiama lo script appena creato: clicca su new; in "name" metti quello che preferisci, in "command" metti invece il percorso assoluto dello script (es. /usr/bin/startcompiz)
Avatar utente
spider54
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1168
Iscrizione: venerdì 9 febbraio 2007, 14:32
Località: Roma

Re: [Compiz] Compiz --replace solo da shell

Messaggio da spider54 »

grd ha scritto:

Codice: Seleziona tutto

sudo gedit /usr/bin/startcompiz
inserisci

Codice: Seleziona tutto

compiz --replace &

gtk-window-decorator --replace &
rendi eseguibile lo script con

Codice: Seleziona tutto

sudo chmod +x /usr/bin/startcompiz
in preferenze -> sessioni  aggiungi una nuova voce che richiama lo script appena creato: clicca su new; in "name" metti quello che preferisci, in "command" metti invece il percorso assoluto dello script (es. /usr/bin/startcompiz)
ho eseguito quanto descritto, funziona ma non immediatamente...mi spiego..
solo dopo circa 1 minuto si avvia compiz e il decoratore.......che c'è un tempo di ritardo?  (rotfl)
ho provato anche con emerald --replace & al posto di gtk-window-decorator --replace &
ma è la stessa cosa!!!
inoltre volevo chiedere, con beryl andando con il mouse nell'angolo DX del monitor
ho questo effetto tipo MAC vedi screen, qual'è il plugins per avere lo stesso effetto con
compcomm che non riesco ad avere?
???  ::)
Allegati
Schermata.jpg
Ultima modifica di spider54 il mercoledì 20 giugno 2007, 11:41, modificato 1 volta in totale.
“Il valore della vita non sta nella lunghezza dei suoi giorni, ma nell’uso che se ne fa: si può vivere molto a lungo, ma molto poco.”
(Micheal De Montaigne)
garsim
Prode Principiante
Messaggi: 37
Iscrizione: giovedì 14 giugno 2007, 0:31

Re: [Compiz] Compiz --replace solo da shell

Messaggio da garsim »

funzionaaaaaaaaaaaaaaaaaaa    ;D
grazie siete fantastici  (b2b)
Avatar utente
neubauten84
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 411
Iscrizione: mercoledì 22 novembre 2006, 14:10

Re: [Compiz] Compiz --replace solo da shell

Messaggio da neubauten84 »

Deo gratias!!!!!
Grazie a tutti...la soluzione temporanea dello script di compiz era perfetta...con l'aggiornamento di oggi poi è andato tutto a posto!!!

Ora voglio provare con la compiz-icon...CIAO!!!
marcellinux
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 500
Iscrizione: lunedì 9 ottobre 2006, 16:19
Località: Termoli (Campobasso)
Contatti:

Re: [Compiz] Compiz --replace solo da shell

Messaggio da marcellinux »

isee ha scritto:
marcellinux ha scritto: si avvia con compiz-icon o compiz --replace. se hai anche compiz 0.5 devi levare i dati della cartella plugins oltre a non installare compiz-extra, la cartella incriminata è ~/.compiz/plugins

fai da bash
sudo rm -r ~/.compiz/plugins
io compiz-extra non ce l'ho , ho controllato da synaptic. ho però installato compiz-plugins.  ti riporto quello ke esce scritto quando lo visualizzo da synaptic:
This package contains the standard plugins that come with compiz. Compiz
without these plugins is not very useful.
è quello a cui t riferisci oppure ho frainteso?
cmq 6 sicuro ke dovrei eliminare la cartella????
cioè, male ke vada....faccio un "remove" e reinstallo se m da problemi?
per forza, compiz e compcomm sn due progetti a parte
Avatar utente
spider54
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1168
Iscrizione: venerdì 9 febbraio 2007, 14:32
Località: Roma

Re: [Compiz] Compiz --replace solo da shell

Messaggio da spider54 »

“Il valore della vita non sta nella lunghezza dei suoi giorni, ma nell’uso che se ne fa: si può vivere molto a lungo, ma molto poco.”
(Micheal De Montaigne)
marcellinux
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 500
Iscrizione: lunedì 9 ottobre 2006, 16:19
Località: Termoli (Campobasso)
Contatti:

Re: [Compiz] Compiz --replace solo da shell

Messaggio da marcellinux »

spider54 ha scritto: qualcuno ha già installato compiz fusion?
http://3v1n0.tuxfamily.org/blog/informatica/linux/compiz-fusion-git-ubuntu-repository/
:(
nn è cambiato molto compiz-fusion, è una versione abbastanza simile a quella precedente di compcomm + alcune novità sui plugin di compiz-fusion

http://3v1n0.tuxfamily.org/blog/informa ... pizconfig/
Scrivi risposta

Ritorna a “Unity”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti