-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathinstalujpisak.sh
191 lines (167 loc) · 6.46 KB
/
instalujpisak.sh
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
#!/bin/bash
### pakiety ogólnie
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y git xdg-user-dirs wget libav-tools
sudo apt-get install -y gir1.2-clutter-1.0 gir1.2-clutter-gst-2.0 gir1.2-mx-1.0 gir1.2-rsvg-2.0 libmx-1.0-2 libclutter-1.0-0 gir1.2-webkit-3.0 gir1.2-gtkclutter-1.0
sudo apt-get install -y gir1.2-gst-plugins-base-0.10 gir1.2-gst-plugins-base-1.0 gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-plugins-base gstreamer0.10-plugins-bad gstreamer0.10-x gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-x gstreamer1.0-plugins-ugly libgstreamer-plugins-base0.10-0 libgstreamer-plugins-base1.0-0 gstreamer1.0-libav
sudo apt-get install -y python3 python3-gi python3-pil python3-gi-cairo python3-configobj python3-sqlalchemy python3-magic python3-pip python3-bs4 python3-ws4py python3-taglib python3-requests python3-pyqt5 python3-cssutils python3-usb
sudo apt-get install -y gnome-shell
sudo apt-get install -y v4l-utils
gsettings set org.gnome.desktop.background show-desktop-icons true
### MILENA ze źródeł jeśli nie udało się zpakietów
if ! type milena_say &> /dev/null ; then
sudo apt-get install -y sox libsox-fmt-all antiword odt2txt libenca-dev libao-dev lame faac poppler-utils vorbis-tools
sudo apt-get install -y mbrola mbrola-pl1
cd
wget -N https://download.pisak.org/milena-0.2.88.3.tar.gz
tar xvfz milena-0.2.88.3.tar.gz
cd milena-0.2.88.3
make && sudo make install
cd
rm milena-0.2.88.3.tar.gz
rm -rf milena-0.2.88.3
fi
# pydenticon depends on Pillow, installed via pip3,
# so additional libraries for building Pillow are required
sudo apt-get install -y libjpeg-dev zlib1g-dev
pip3 install --user setuptools #tego chyba brakowało
pip3 install --user pressagio pydenticon ezodf python-wordpress-xmlrpc
### PISAK
if [ -d ~/pisak ]; then
echo "Katalog ~/pisak już jest, więc nie sciagamy nowej wersji. Jeśli chcesz zainstalować PISAKa od nowa, skasuj najpierw katalog ~/pisak, wykonując polecenia:" #tak miało być?
echo "cd"
echo "rm -rf pisak"
else
cd
git clone http://github.com/BrainTech/pisak.git
fi
### n_grams
wget -c -N http://download.pisak.org/n_grams.sqlite -P ~/pisak/pisak/res
if [[ $PYTHONPATH != ?(*:)$HOME/pisak?(:*) ]]; then
echo "" >> ~/.bashrc
echo "export PYTHONPATH=\$PYTHONPATH:~/pisak" >> ~/.bashrc
fi
if [[ $PATH != ?(*:)$HOME/pisak/bin?(:*) ]]; then
echo "export PATH=\$PATH:.:~/pisak/bin" >> ~/.bashrc
fi
if [[ $CLUTTER_BACKEND != x11 ]]; then
echo "export CLUTTER_BACKEND=x11" >> ~/.bashrc
fi
### PISAK-CONFIG
echo "Instalujemy z osobnego repozytorium dźwięki, symbole itp."
if [ -d ~/pisak-config ]; then
echo "Katalog ~/pisak-config istnieje, uaktualniam pliki"
cd ~/pisak-config
git pull
cd
else
cd
git clone http://github.com/BrainTech/pisak-config.git
fi
if ! [ -d ~/.pisak ]; then
mkdir ~/.pisak
cd
cp -r ~/pisak-config/* ~/.pisak
rm -rf ~/.pisak/.git
else
echo "Katalog ~/.pisak juz istnieje"
echo "Czy chcesz nadpisac pliki konfiguracyjne PISAKa (T/N)."
read answer4
if [[ ${answer4} = "T" || ${answer4} = "t" ]]; then
cd ~
cp -r ~/pisak-config/* ~/.pisak
rm -rf ~/.pisak/.git
fi
fi
cd
cp pisak/pisak/res/configs/* .pisak/configs/
cp -r pisak/pisak/res/json/* .pisak/json/
### instalacja Eviacama
cd
git clone https://github.com/BrainTech/eviacam.git
cd eviacam
git checkout pisak
sudo apt-get install -y libtool automake autoconf libxext-dev libxtst-dev libgtk2.0-dev libwxgtk3.0-dev libopencv-dev libv4l-dev
./autogen.sh
./configure
make
sudo make install
### konfiguracja Eviacama
cd ~/.pisak
cp configs/eviacam .
CAM=$(v4l2-ctl --list-devices | sed -n 1p | sed 's/ [(].*$//g')
sed -i "s/cameraName=.*/cameraName=\" (Id:0) $CAM\"/g" eviacam
### prawidła pisak-switch
cd /etc/udev/rules.d
sudo sh -c 'echo "SUBSYSTEM==\"usb\", ATTR{idVendor}==\"16c0\", ATTR{idProduct}==\"05dc\", GROUP=\"plugdev\", MODE=\"0660\"" > /etc/udev/rules.d/99-pisak.rules'
### skrypty rozruchowe
cd
(echo "#!/bin/sh";
echo "export CLUTTER_BACKEND=x11";
echo "export PATH=\$PATH:/home/$(whoami)/pisak/bin";
echo "export PYTHONPATH=/home/$(whoami)/pisak";
echo "sleep 2";
echo "pisak") > start_pisak.sh
chmod +x start_pisak.sh
(echo "#!/bin/sh";
echo "export CLUTTER_BACKEND=x11";
echo "export PYTHONPATH=/home/$(whoami)/pisak";
echo "sleep 2";
echo "python3 /home/$(whoami)/pisak/admin_panel/main.py") > konfiguruj_pisak.sh
chmod +x konfiguruj_pisak.sh
### skróty na pulpicie
cd
if [ -d Desktop ]; then
cd Desktop
else
cd Pulpit
fi
(echo "[Desktop Entry]";
echo "Version=1.0";
echo "Name=PISAK";
echo "Exec=bash /home/$(whoami)/start_pisak.sh";
echo "Terminal=false";
echo "Type=Application";
echo "Icon=/home/$(whoami)/pisak/pisak/res/pisak_logo.png") > PISAK.desktop
chmod +x PISAK.desktop
(echo "[Desktop Entry]";
echo "Version=1.0";
echo "Name=KonfiguracjaPISAKa";
echo "Exec=bash /home/$(whoami)/konfiguruj_pisak.sh";
echo "Terminal=false";
echo "Type=Application";
echo "Icon=/home/$(whoami)/pisak/pisak/res/pisak_config.png") > KonfiguracjaPISAKa.desktop
chmod +x KonfiguracjaPISAKa.desktop
### kompatybilność z launcherem unity
cp PISAK.desktop /home/$(whoami)/.local/share/applications/
cp KonfiguracjaPISAKa.desktop /home/$(whoami)/.local/share/applications/
### zmiania domyslnej sesji na gnome
cd
(echo "[Desktop]";echo "Session=gnome") > .dmrc
cd /var/lib/AccountsService/users
if grep -Fq "XSession" $(whoami)
then
sudo sed -i -e 's/XSession=.*/XSession=gnome/g' $(whoami)
else
echo "XSession=gnome" | sudo tee --append $(whoami) > /dev/null
fi
### komunikaty końcowe
if type ~/pisak/bin/pisak &> /dev/null ; then
if type milena_say &> /dev/null ; then
echo "Wygląda na to, że instalacja przebiegła pomyślnie."
milena_say "Wygląda na to, że instalacja przebiegła pomyślnie"
echo "Program możesz uruchomić poleceniem"
echo "pisak"
echo "po ponownym zalogowaniu."
milena_say "Program możesz uruchomić poleceniem pisak po ponownym zalogowaniu"
else
echo "Wygląda na to, że instalacja przebiegła pomyślnie,"
echo "ale nie udało się zainstalować syntezatora mowy,"
echo "więc program nie będzie mógł czytać na głos wpisywanych przez Ciebie tekstów."
echo "Program możesz uruchomić poleceniem"
echo "pisak"
echo "po ponownym zalogowaniu."
fi
else
echo "NIESTETY NIE UDAŁO SIĘ ZAINSTALOWAĆ PISAKa"
fi