ubuntuusers.de

steam-ubuntu 0.5 (Bashscript)

Autor:
exmethix
Datum:
2. Februar 2009 07:56
Code:
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
#!/bin/bash

# Programm:	steam-ubuntu.sh
# Autor:	exmethix (mail@tuxfuture.de)
# Datum:	01.02.2009
# Version:	0.5
# Lizenz:	Creative Commons Attribution-ShareAlike 3.0 Germany
#
# Beschreibung: Das Script installiert die Packete "wine","wine-gecko" und "msttcorefonts" per APT, erstellt mit WINEPREFIX eine eigene Umgebung für Steam, läd die Schriftart "tahoma.ttf" sowie die aktuelle "SteamInstall.msi" aus dem Internet und installiert Steam mit wine. Es werden in Steams Wineordner die winecolours modifiziert und an das Ubuntu Human Theme angepasst. Es wird ein 48x48 großes Icon nach "/usr/share/pixmaps" kopiert und ein Starter ins Gnome-Menü unter Anwendungen -> Internet angelegt. Natürlich bietet "steam-ubuntu.sh" auch die Option Steam vollständig zu entfernen indem es das Icon, den Starter, das "steam" Startscript und "~/.wine/Steam" rekursiv löscht. Die Daten aus "~/.wine" (und somit alle anderen mit wine installierten Programme) bleiben dabei unberührt! In Version 0.5 wurden Fixes eingebaut, die bei Problemen mit dem Erststart von Steam helfen.



###############
# Auswahlmenü #
###############
function menu {

AUSWAHL=`zenity --list --radiolist --width=750 --height=250 --text "Bitte wähle die auszuführende Aktion:" --title "$scriptver" --column="" --column Aktion --column Beschreibung \
\"\" install			"Hauptfunktion - hiermit wird Steam installiert." \
\"\" uninstall			"Hauptfunktion - hiermit wird Steam deinstalliert." \
\"\" startscript		"nach der Installation - Steam Startscript bearbeiten." \
\"\" msfonts			"zusätzliche Microsoft Schriftarten installieren." \
\"\" fix1			"Updateprobleme - Steam mit angepassten Parametern starten." \
\"\" fix2			"Updateprobleme - Gefixte Daten in Steam Ordner integrieren." \
`
#########################
# Auswerten der Auswahl #
#########################
if [ -z "$AUSWAHL" ];then
	rm -r tmp && exit
elif [ "$AUSWAHL" = install ];then
	auswahl_install
elif [ "$AUSWAHL" = uninstall ];then
	auswahl_uninstall
elif [ "$AUSWAHL" = startscript ];then
	auswahl_startscript
elif [ "$AUSWAHL" = msfonts ];then
	auswahl_msfonts
elif [ "$AUSWAHL" = fix1 ];then
	auswahl_fix1
elif [ "$AUSWAHL" = fix2 ];then
	auswahl_fix2
fi

}
####################################################
## Hauptfunktion - hiermit wird Steam installiert ##
####################################################
function auswahl_install {

	echo
	echo 'Installiere wine und wine-gecko...'
		xterm -title "Paketinstallation" -e 'sudo apt-get install wine wine-gecko'

	echo
	echo 'Icon, Starter und Startscript werden kopiert...'
		cd tmp
		sudo cp steam /usr/local/bin
		sudo cp steam.png /usr/share/pixmaps
		sudo cp steam.desktop /usr/share/applications
		sudo chmod a+rx /usr/local/bin/steam
		sudo chmod a+r /usr/share/pixmaps/steam.png

	echo
	echo 'Ordnerstruktur und eigene Umgebung für Steam wird erstellt...'
		wineprefixcreate 2> /dev/null
		wineprefixcreate --prefix ~/.wine/Steam 2> /dev/null && sleep 5
		cat ~/.wine/Steam/user.reg | sed -e '4d' > ~/.wine/Steam/user.reg.new
		mv -f ~/.wine/Steam/user.reg.new ~/.wine/Steam/user.reg
		cat winecolours >> ~/.wine/Steam/user.reg

	echo
	echo 'Tahoma Schriftart wird heruntergeladen und integriert...'
		wget http://fonts.appliedlanguage.com/fonts/tahoma.ttf 2> /dev/null
		mv tahoma.ttf ~/.wine/Steam/drive_c/windows/fonts

	echo
	echo 'Steam wird heruntergeladen und installiert...'
	echo 'Bitte den Anweisungen folgen!'
		wget http://steampowered.com/download/SteamInstall.msi 2> /dev/null
		WINEDEBUG=-all WINEPREFIX=~/.wine/Steam wine msiexec /a SteamInstall.msi 2> /dev/null

	echo
	echo 'Es wird bereinigt...'
		rm SteamInstall.msi
		rm ~/Desktop/Steam.lnk
		rm ~/Desktop/Steam.desktop
		killall Steam.exe
		cd ~

clear
zenity --info --width=300 --title "$scriptver" --text "Steam wurde erfolgreich installiert.\n\n\nDu findest es unter:\n\nAnwendungen -> Internet -> Steam"

menu
}
######################################################
## Hauptfunktion - hiermit wird Steam deinstalliert ##
######################################################
function auswahl_uninstall {

	echo
	echo 'Es wird aufgeräumt...'
		sudo rm /usr/local/bin/steam
		sudo rm /usr/share/pixmaps/steam.png
		sudo rm /usr/share/applications/steam.desktop
		sudo rm -r ~/.wine/Steam

clear
zenity --info --width=300 --title "$scriptver" --text "Steam wurde komplett entfernt.\n\n\nErhalten bleiben evtl. noch die Pakete:\n\nwine, wine-gecko, msttcorefonts und unzip\n\nDiese Pakete können mit:\n\nsudo apt-get remove paketname\n\nauch noch entfernt werden."

menu
}
##########################################################
## nach der Installation - Steam Startscript bearbeiten ##
##########################################################
function auswahl_startscript {

	echo
	echo 'Das Startscript wird mit vollen Rechten bearbeitet...'
		gksudo gedit /usr/local/bin/steam

	echo
	echo 'Rechte werden gesetzt...'
	sudo chmod a+rx /usr/local/bin/steam

clear

menu
}
#####################################################
## zusätzliche Microsoft Schriftarten installieren ##
#####################################################
function auswahl_msfonts {

	echo
	echo 'Installiere msttcorefonts...'
		xterm -title "Paketinstallation" -e 'sudo apt-get install msttcorefonts'

	echo
	echo 'Konfiguriere msttcorefonts...'
		xterm -title "Schrifen neu einlesen" -e 'sudo dpkg-reconfigure fontconfig'

clear
zenity --info --width=300 --title "$scriptver"  --text "Microsoft Schriften wurden eingerichtet."

menu
}
###############################################################
## Updateprobleme - Steam mit angepassten Parametern starten ##
###############################################################
function auswahl_fix1 {

	echo
	echo 'Starte Steam...'
		cd ~/.wine/Steam/drive_c/Programme/Steam
		nice -n 19 wine Steam.exe 2> /dev/null
		cd ~

clear
zenity --info --width=300 --title "$scriptver"  --text "Steam sollte nun gestartet worden sein.\n\nFalls das Update dennoch nicht geklappt hat probiere Fix 2."

menu
}
################################################################
## Updateprobleme - Gefixte Daten in Steam Ordner integrieren ##
################################################################
function auswahl_fix2 {

	echo
	echo 'Installiere unzip...'
		xterm -title "Paketinstallation" -e 'sudo apt-get install unzip'

	echo
	echo 'Downloade und installiere reparierte Steam Programmdaten...'
		cd ~/.wine/Steam/drive_c/Programme/Steam
		wget http://media.steampowered.com/Steam/SteamFull.zip 2> /dev/null
		unzip -o SteamFull.zip 2> /dev/null
		cd ~

clear
zenity --info --width=300 --title "$scriptver"  --text "Fix 2 wurde erfolgreich angewendet. Probiere bitte jetzt Steam zu starten.\n\n\nHINWEIS:\n\nSollte beim ersten Start ein Fehler auftreten bitte auf Abbrechen klicken und Steam nochmal starten.\nDann läuft es in der Regel."

menu
}
#####################################
# Start (erster Aufruf des Scripts) #
#####################################

# Variabeln:

scriptver="steam-ubuntu Version 0.5"
sysversion=`sed -n s/DISTRIB_DESCRIPTION=//p /etc/*release`

# Temporäre Daten holen und entpacken

	echo
	echo 'Hole und entpacke steam-ubuntu Dateien...'
		wget http://tuxfuture.de/steam-ubuntu/0.5/tmp.tar.gz
		tar xfvz tmp.tar.gz
		rm tmp.tar.gz

clear

# Einleitungsfenster:

zenity --info --title="$scriptver" --text "Hallo $USER,\n\nHerzlich willkommen zu steam-ubuntu 0.5.\n\nDiese Version wurde erfolgreich auf Ubuntu 8.10 getestet!\n\nErkennung deines Systems: $sysversion\n\n\nFunktionsweise:\n\nDieses Bashscript automatisiert die Installation der Steam Spieleplattform unter Ubuntu GNU/Linux.\n\nEs löst Abhängigkeiten selbstständig auf und installiert diese ggf. über die Paketverwaltung nach.\nDer aktuelle Windowsinstaller wird direkt vom Hersteller heruntergeladen und in einer seperaten Umgebung von Wine installiert.\nSteam läuft auf diese Weise getrennt von der vorhandenen Wineinstallation und lässt sich hinterher über dieses Script problemlos wieder entfernen.\nBekannte Tweaks, die eine reibungslose Installation und Ausführung von Steam ermöglichen sind integriert."

menu