tischfuss03
Anmeldungsdatum: 14. September 2016
Beiträge: 66
|
Hallo möchte mir gerne ein shell script zur automatischen Installation einer Anwendung (Programm) schreiben. Es handelt sich um libhid. Quelltext:
wget repository.timesys.com/buildso…2.16/libhid-0.2.16.tar.gz
tar xzvf libhid-0.2.16.tar.gz
cd libhid-0.2.16
./configure –disable-werror
make
sudo make install
cd Manuell im Terminal nacheinander eingegeben klappt es (habe ich schon öfters gemacht !!!) ,
nun habe ich mir gedacht schreib dir halt ein script und das funktioniert genau so .
Nee das geht so nicht.
Habe schon mehr als 4 gescheiterte Versuche hinter mir .Das ich Anfänger bin merkt man das ich Hilfe brauche. bei Google oder bei euch ( ubuntuusers ) finde ich einfach nicht die richtigen Beispiele oder ähnliche Scripte um mir die umzuschreiben . Runterladen per Script geht ja noch und entpacken, aber er öffnet,
mir den Ordner schon nicht und ergo klappte alles unterhalb von cd libhid-0.2.16 natürlich nicht . Will und wollte es so einfach wie möglich halten das script. 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 | #!/bin/bash
echo sudo apt-get install libusb-dev
#
sudo apt-get install libusb-dev
#
echo wget http://repository.timesys.com/buildsources/l/libhid/libhid-0.2.16/libhid-0.2.16.tar.gz
#
wget http://repository.timesys.com/buildsources/l/libhid/libhid-0.2.16/libhid-0.2.16.tar.gz
#
echo tar xzvf libhid-0.2.16.tar.gz
#
tar xzvf libhid-0.2.16.tar.gz
#
#bis hier her läüft es #
#
echo cd libhid-0.2.16
#
cd libhid-0.2.16
#
echo ./configure –disable-werror
#
./configure –disable-werror
#
echo make
#
make
#
echo make install
#
sudo make install
#
echo cd
#
cd
|
Rechte setze ich mit:
chmod +x testscript.sh starten das script mit : ./testscript.sh install Den Download und den Ordner mit libhid macht er mir
in den Persönlicher Ordner .
echo in meinem script dient mir nur dazu, das ich sehe was er (Terminal) gerade macht . habe es auch schon hinter den Befehlen mit && versucht. ./configure –disable-werror scheint ja auch ne harte Nuß zu sein, in einem shellscript ob ihr mich auf die richtige Spur leiten könnt. tischfuss03
|
BillMaier
Supporter
Anmeldungsdatum: 4. Dezember 2008
Beiträge: 6473
|
Hallo tischfuss03 , > sudo apt-get install libusb-dev macht was? Es fragt dich. Wenn du nicht gefragt werden willst (das nennt sich dann nicht-interaktiv bzw. non-interactive), dann musst du ein -y einfügen: > sudo apt-get -y install libusb-dev Im Zweifel muss da sudo auch noch ohne Passwort funktionieren. Oder du lässt das sudo weg und rufst dein Skript mit sudo auf. Dann solltest du allerdings immer genau wissen was drin steht, dass dir nicht jemand anders da was rein schreibt, was du dann mit root-Rechten ausführst. Statt den vielen echos tuts übrigens auch ein
set -x
<BEFEHL 1>
<BEFEHL 2>
set +x Viel Erfolg!
|
tischfuss03
(Themenstarter)
Anmeldungsdatum: 14. September 2016
Beiträge: 66
|
hallo,
(früher melden war mir nicht möglich ,sorry)
der Tipp mit war goldrichtig
set -x
<BEFEHL 1>
<BEFEHL 2>
set +x
allerdings habe ich es wörtlich genommen und die Befehle mit < > eingerückt was natürlich nicht ging 😳 ( peinlich) .Ich habe es geändert und jetzt läuft es durch 👍
Werde es noch mal testen ( nur zur Sicherheit )
mein Code sieht jetzt so aus (Teilauszug bzw.Rohfassung !!) : 1
2
3
4
5
6
7
8
9
10
11
12
13 | set -x
sudo apt-get -y install libusb-dev &&
set +x
#
set -x
wget http://repository.timesys.com/buildsources/l/libhid/libhid-0.2.16/libhid-0.2.16.tar.gz &&
tar xzvf libhid-0.2.16.tar.gz &&
cd libhid-0.2.16 &&
./configure --disable-werror &&
make; sudo make install &&
#sudo make install##
cd
set +x
|
Was ich noch geändert habe ist von echo make
#
make
#
echo make install
#
sudo make install ZU :
make; sudo make install && Bin total happy meine erste .sh und die funktioniert auch noch . Jetzt habe ich neue Probleme ,wo ich nicht weiß ,wie ich die angehe oder lösen soll.
Wie schreibt man innerhalb !! einer sh einen Text welcher dann als Datei gespeichert wird?. Es geht um eine .conf Datei mit
1400 Zeilen wovon ich nur 138 Zeilen brauche . Mit sed kann ich (nur) einzelne zeilen Löschen ? oder (ver) ändern .
Ich dachte mir Orginal .conf löschen eine neue erstellen dann beschreiben und wieder an die richtige Stelle im System kopieren. Oder: Ich schreibe ,,meine,, eigene .conf veröffentliche sie auf Github oder Pastebin
wo ich sie mir in ,,meinem eigenen Script,, mit wget runterlade und dann verschiebe. Ich selber brauche es nicht, aber da das Script wenn es fertig ist ,jeder nutzen Kann !!!( open source). Für jeden Tipp wäre ich echt dankbar tischfuss03
|
sh4711
Anmeldungsdatum: 13. Februar 2011
Beiträge: 922
|
tischfuss03 schrieb: ...
Jetzt habe ich neue Probleme ,wo ich nicht weiß ,wie ich die angehe oder lösen soll.
Wie schreibt man innerhalb !! einer sh einen Text welcher dann als Datei gespeichert wird?. Es geht um eine .conf Datei mit
1400 Zeilen wovon ich nur 138 Zeilen brauche .
Ich hoffe ich habe das richtig verstanden...das heißt du möchtest in dem Script die Config-Datei erstellen... echo "Dies ist eine
mehrzeilige Ausgabe.
Man hält es nicht für möglich." >myconfig.txt
Quelle: shell/Bash-Skripting-Guide für Anfänger und noch ein anderer guter Link hierzu:
Umleitungen
|
tischfuss03
(Themenstarter)
Anmeldungsdatum: 14. September 2016
Beiträge: 66
|
Bingo 👍 genau das war's wie einfach 😀 . echo "Man bin ich doof.
Man hält es nicht für möglich." Danke Dir , echt super jetzt kann ich weiter machen. tischfuss03
|
tischfuss03
(Themenstarter)
Anmeldungsdatum: 14. September 2016
Beiträge: 66
|
zu früh gefreut, da ich das ja in das Script einbaue komme ich nicht mehr raus kann nicht weiter machen.
z.b: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 | sudo apt get update
#datei erzeugen#
touch myconfig.conf
#Text schreiben und in myconfig.conf schreiben#
echo
"Dies ist eine
mehrzeilige Ausgabe.
Man hält es nicht für möglich." >myconfig.conf
'''und ab da ist es rot''' (magenta)
wenn ich dann z.b.
sudo apt get upgrade
usw.
eintragen will.
|
verzeiht mir bin halt Anfänger.
Habe schon einiges versucht ohne Erfolg tischfuss03
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11179
Wohnort: München
|
Es gibt auch noch die Möglichkeit Here Documents zu nutzen, z.B.:
| #!/bin/bash
cat <<EOF > ausgabedatei.txt
Das wird eine mehrzeilige Datei,
die in die Datei ausgabedatei.txt
geschrieben wird.
EOF
|
|
sh4711
Anmeldungsdatum: 13. Februar 2011
Beiträge: 922
|
tischfuss03 schrieb:
| '''und ab da ist es rot''' (magenta)
wenn ich dann z.b.
sudo apt get upgrade
usw.
eintragen will.
|
Rot ??? Magenta ??? Schreibe bitte
echo"bla
bla
bla"
und nicht
echo
"bla
bla
bla"
|
tischfuss03
(Themenstarter)
Anmeldungsdatum: 14. September 2016
Beiträge: 66
|
hallo , superhonk und seahawk1986. Danke für euere Tipps habe sie beide verwendet und auch gebraucht !! 👍 Scrit läuft durch (fehlerfrei ?) und es wird installiert 😊
Muss jetzt nur noch feinheiten justieren und ich will es noch ausgiebig testen . Werde es wohl Anfang nächster Woche hier veröffentlichen . bin echt happy, tischfuss03
|
tischfuss03
(Themenstarter)
Anmeldungsdatum: 14. September 2016
Beiträge: 66
|
Hallo, so hier mein Script: 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
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299 | #!/bin/bash
#### Update machen ####
set -x
sudo apt-get update &&
sudo apt-get -y upgrade
set +x
#
# Vorbereitung zur Installation#
#
#
set -x
sudo apt-get -y install git-core build-essential lcdproc &&
sudo apt-get -y install libusb-dev &&
set +x
#
# libhid herunterladen,entpacken und configurieren#
#
set -x
wget http://repository.timesys.com/buildsources/l/libhid/libhid-0.2.16/libhid-0.2.16.tar.gz &&
tar xzvf libhid-0.2.16.tar.gz &&
cd libhid-0.2.16 &&
./configure --disable-werror &&
make; sudo make install &&
#sudo make install##
cd
set +x
#
#lcdproc herunterladen ,entpacken und configurieren#
#
set -x
wget http://sourceforge.net/projects/lcdproc/files/latest/download/lcdproc-0.5.7.tar.gz
tar xzvf lcdproc-0.5.7.tar.gz
cd lcdproc-0.5.7
./configure --enable-drivers=mdm166a
cd server/drivers
make
sudo cp mdm166a.so /usr/lib/x86_64-linux-gnu/lcdproc/
cd
set +x
#
set -x
#
#löscht lcd,conf#
#
sudo rm /etc/LCDd.conf
#
#touch LCDd.conf erzeugt datei#
#
touch LCDd.conf
#
echo "# LCDd.conf -- configuration file for the LCDproc server daemon LCDd
#
# This file contains the configuration for the LCDd server.
#
# The format is ini-file-like. It is divided into sections that start at
# markers that look like [section]. Comments are all line-based comments,
# and are lines that start with '#' or ';'.
#
# The server has a 'central' section named [server]. For the menu there is
# a section called [menu]. Further each driver has a section which
# defines how the driver acts.
#
# The drivers are activated by specifying them in a driver= line in the
# server section, like:
#
# Driver=curses
#
# This tells LCDd to use the curses driver.
# The first driver that is loaded and is capable of output defines the
# size of the display. The default driver to use is curses.
# If the driver is specified using the -d <driver> command line option,
# the Driver= options in the config file are ignored.
#
# The drivers read their own options from the respective sections.
## Server section with all kinds of settings for the LCDd server ##
[server]
# Where can we find the driver modules ?
# IMPORTANT: Make sure to change this setting to reflect your
# specific setup! Otherwise LCDd won't be able to find
# the driver modules and will thus not be able to
# function properly.
# NOTE: Always place a slash as last character !
DriverPath=/usr/lib/x86_64-linux-gnu/lcdproc/
# Tells the server to load the given drivers. Multiple lines can be given.
# The name of the driver is case sensitive and determines the section
# where to look for further configuration options of the specific driver
# as well as the name of the dynamic driver module to load at runtime.
# The latter one can be changed by giving a File= directive in the
# driver specific section.
#
# The following drivers are supported:
# bayrad, CFontz, CFontzPacket, curses, CwLnx, ea65, EyeboxOne, g15, glcd,
# glcdlib, glk, hd44780, icp_a106, imon, imonlcd,, IOWarrior, irman, joy,
# lb216, lcdm001, lcterm, lirc, lis, MD8800,, mdm166a, ms6931, mtc_s16209x,
# MtxOrb, mx5000, NoritakeVFD, picolcd,, pyramid, rawserial, sdeclcd,
# sed1330, sed1520, serialPOS, serialVFD, shuttleVFD, sli,, stv5730, svga,
# t6963, text, tyan, ula200, vlsys_m428, xosd
Driver=mdm166a
# Tells the driver to bind to the given interface. [default: 127.0.0.1]
Bind=127.0.0.1
# Listen on this specified port. [default: 13666]
Port=13666
# Sets the reporting level; defaults to warnings and errors only.
# [default: 2; legal: 0-5]
#ReportLevel=3
# Should we report to syslog instead of stderr? [default: no; legal: yes, no]
#ReportToSyslog=yes
# User to run as. LCDd will drop its root privileges and run as this user
# instead. [default: nobody]
#User=nobody
# The server will stay in the foreground if set to yes.
# [default: no, legal: yes, no]
#Foreground=yes
# Hello message: each entry represents a display line; default: builtin
#Hello=" Welcome to"
#Hello=" LCDproc!"
# GoodBye message: each entry represents a display line; default: builtin
#GoodBye="Thanks for using"
#GoodBye=" LCDproc!"
# Sets the default time in seconds to displays a screen. [default: 4]
WaitTime=5
# If set to no, LCDd will start with screen rotation disabled. This has the
# same effect as if the ToggleRotateKey had been pressed. Rotation will start
# if the ToggleRotateKey is pressed. Note that this setting does not turn off
# priority sorting of screens. [default: on; legal: on, off]
#AutoRotate=off
# If yes, the the serverscreen will be rotated as a usual info screen. If no,
# it will be a background screen, only visible when no other screens are
# active. The special value 'blank' is similar to no, but only a blank screen
# is displayed. [default: on; legal: on, off, blank]
#ServerScreen=off
# Set master backlight setting. If set to 'open' a client may control the
# backlight for its own screens (only). [default: open; legal: off, open, on]
#Backlight=open
# Set master heartbeat setting. If set to 'open' a client may control the
# heartbeat for its own screens (only). [default: open; legal: off, open, on]
#Heartbeat=off
# set title scrolling speed [default: 10; legal: 0-10]
#TitleSpeed=10
# The "...Key=" lines define what the server does with keypresses that
# don't go to any client. The ToggleRotateKey stops rotation of screens, while
# the PrevScreenKey and NextScreenKey go back / forward one screen (even if
# rotation is disabled.
# Assign the key string returned by the driver to the ...Key setting. These
# are the defaults:
ToggleRotateKey=Enter
PrevScreenKey=Left
NextScreenKey=Right
#ScrollUpKey=Up
#ScrollDownKey=Down
## The menu section. The menu is an internal LCDproc client.
[menu]
# You can configure what keys the menu should use. Note that the MenuKey
# will be reserved exclusively, the others work in shared mode.
# Up to six keys are supported. The MenuKey (to enter and exit the menu), the
# EnterKey (to select values) and at least one movement keys are required.
# These are the default key assignments:
MenuKey=Escape
EnterKey=Enter
UpKey=Up
DownKey=Down
#LeftKey=Left
#RightKey=Right
### Driver sections are below this line, in alphabetical order ##
## Futuba MDM166A Display ##
[mdm166a]
# Show self-running clock after LCDd shutdown
# Possible values: [default: no; legal: no, small, big]
Clock=big
# Dim display, no dimming gives full brightness [default: no, legal: yes, no]
Dimming=no
# Dim display in case LCDd is inactive [default: no, legal: yes, no]
OffDimming=yes
##
# EOF" >LCDd.conf
#
#kopiert LCDd.conf nach /etc#
#
sudo cp LCDd.conf /etc/ &&
#
#löscht nach kopieren ,,alte,, LCDd.conf datei#
#
unlink LCDd.conf
#
set +x
#
set -x
#
#löscht datei rc.lokal#
#
sudo rm /etc/rc.local
#
#
#schreibt in rc.local text#
#
cat <<EOF >rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/etc/init.d/LCDd start
lcdproc
exit 0
EOF
#
#Rechte setzen#
#
sudo chmod +x rc.local /etc/ &&
#
#kopiert datei nach /etc/#
#
sudo cp rc.local /etc/ &&
#
#löscht nach kopieren ,,alte,, rc.local datei#
#
unlink rc.local
#
set +x
#
#Pause von 25 sekunden#
#
sleep 25
#
set -x
#
sudo apt-get update -y &&
#
sudo apt-get -y upgrade
#
#aktualisiert die sources.list#
#
sudo su -c "grep '^deb ' /etc/apt/sources.list | \
sed 's/^deb/deb-src/g' > /etc/apt/sources.list.d/deb-src.list"
#
sleep 25
#
sudo apt-get update -y &&
#
sleep 25
#
sudo apt-get -y build-dep lcdproc -y
#
sleep 25
#
sudo apt-get update -y &&
#
sudo apt-get -y upgrade
#
set +x
#
set -x
sleep 25
#
sudo /etc/init.d/LCDd restart &&
set +x
#
#
set -x
sudo lcdproc
set +x
|
Dieses Script installiert das Futaba mdm166a Display. Kostet 30 € und ist ein Usb-display. Während der Installation geht ein lila Fenster auf wo man mit JA bestätigt. Script installiert sich in ca. 7-8 Minuten und zeigt dann sofort Informationen über Cpu ,Zeit usw. an. Manuell installiert braucht man locker ne halbe bis ¾ Stunde. Ich weiß das es nicht so toll ist mit meinen Kommentaren im Script und die vielen sleep‘s . Aber es funktioniert. Habe es bestimmt 7-8mal installiert. Was extrem schwer war war die sources.list zu aktualisieren. 😢 Habe durch Zufall auch ein Programm gefunden das Scripte analysiert :
Shellcheck. Installiert wird dies mit sudo apt-get install shellcheck Dort läuft es fehlerfrei durch er motzt nur bei zeile 160 rum aber da kann ich nichts machen das wird von der LCDd.conf so vorgegeben. Kritik ist erwünscht !!!! danke noch an superhonk und seahawk1986 👍 p.s dies war wirklich mein allererstes Script .Habe c.a mich so 3 wochen mit der Materie beschäftigt. tischfuss03
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11179
Wohnort: München
|
tischfuss03 schrieb: Dort läuft es fehlerfrei durch er motzt nur bei zeile 160 rum aber da kann ich nichts machen das wird von der LCDd.conf so vorgegeben.
Du könntest ein here-document oder einfache Anführungszeichen um den String herum verwenden (oder weiterlesen) Kritik ist erwünscht !!!! p.s dies war wirklich mein allererstes Script .Habe c.a mich so 3 wochen mit der Materie beschäftigt.
Aller Anfang ist schwer - mit der Zeit lernt man dann noch ein paar Tricks dazu ☺ Mir sind da ein paar Dinge aufgefallen, die man verbessern könnte:
die Paketquellen für die Quellpakete (deb-src ...) sollten eigentlich als erstes aktiviert und die Build-Dependencies für lcdproc installiert werden, bei dir ist das nach hinten gerutscht (Zeile 268 ff.), was beim Testen nicht unbedingt auffällt, wenn man nicht immer mit einem "sauberen" System startet warum wird set -x ständig an- und wieder abgeschaltet? man muss Dateien nicht löschen, mit touch wieder anlegen und danach überschreiben - einfach überschreiben genügt was ist der Zweck der sleep-Befehle? In Shell-Skripten werden Befehle nacheinander abgearbeitet, wenn man sie nicht gezielt parallelisiert die rc.local und das SysV-Init-Skript für lcdproc braucht man eigentlich nicht anfassen - es gibt bereits eine Systemd-Unit (LCDd.service ) im Paket für lcdproc im Paket für lcdproc gibt es ein Beispiel für eine Konfigurationsdatei - statt das Skript durch die eingebettete Konfigurationsdatei lang und unübersichtlich zu machen, könnte man die einfach als Basis nutzen.
Generell sollte man sich genau überlegen, ob man mit sudo make install Dinge in Systemverzeichnisse installiert - das geht an der Paketverwaltung vorbei, kann einem im dümmsten Fall Dateien überschreiben, die aus regulären Paketen stammen, und man hat das Problem, dass man sich überlegen muss, wie man die installierten Dateien wieder los wird, wenn man sie nicht mehr benötigt. checkinstall wäre da eine Möglichkeit, wenn man nicht gleich ein Debian-Paket für ein Programm schnüren will. Dann solltest du aufpassen, dass der Stand in Debian-Paketen nicht dem Upstream-Stand entsprechen muss - oft gibt es Patches in den Paketen. Deswegen sollte man nach Möglichkeit die Debian-Quellpakete mit den enthaltenen Patches nutzen (apt-get source PAKETNAME ), statt sich die Quellen von der Projektseite zu holen, gerade wenn man - so wie du es bei lcdproc gemacht hast - nur einen Teil der Sourcen baut und das Ergebnis dann mit den Dateien aus dem Paket mixt - in dem Fall geht das gut, bei anderen Programmen hat man eventuell nicht so viel Glück... Mein bevorzugter Lösungsweg wäre nicht alles in ein Shell-Skript zu packen, sondern in einem PPA Pakete für libhid und lcdproc zu bauen - dazu braucht man natürlich ein bisschen mehr Hintergrundwissen, aber in dem Fall kommt man mit kleineren Änderungen an bereits existierenden Quellpaketen aus: https://launchpad.net/~seahawk1986-hotmail/+archive/ubuntu/lcdproc-futaba-mdm166a - das libhid-Paket habe ich mir aus diesem PPA geholt und für xenial (und bionic) angepasst. Für lcdproc braucht es dann nur noch das Paket libhid-dev als zusätzliche Build-Dependency in der debian/control des Quellpakets. Damit reduziert sich der Aufwand mit Ubuntu 16.04/18.04 für den Endanwender (der normalerweise wenig Lust hat Software selber zu bauen) auf ein paar recht übersichtliche Schritte (ich habe mal mein Futaba MDM166A aus der Bastelkiste geholt, um die vor ein paar Stunden gebauten Pakete für xenial auszuprobieren):
sudo add-apt-repository -y ppa:seahawk1986-hotmail/lcdproc-futaba-mdm166a
sudo apt-get update
sudo apt-get -y install lcdproc
zcat /usr/share/doc/lcdproc/LCDd.conf.gz | sed 's/^Driver=.*/Driver=mdm166a/' | sudo tee /etc/LCDd.conf
sudo systemctl enable LCDd.service
sudo systemctl start LCDd.service
Und mit ppa-purge wird man die Pakete aus meinem PPA wieder los, wenn man sie nicht mehr benötigt.
|
tischfuss03
(Themenstarter)
Anmeldungsdatum: 14. September 2016
Beiträge: 66
|
Servus, Jetzt bin ich baff 🙄 .. ehrlich technisches k.o in der ersten Runde ,Ich habe meinen MEISTER gefunden!!! melde mich wieder wenn ich alles getestet und analysiert (verdaut) habe .(so schnell.. 😳 ., und nur mal so.( Kopfschüttel )..) Respekt und vielen Dank tischfuss03
|
tischfuss03
(Themenstarter)
Anmeldungsdatum: 14. September 2016
Beiträge: 66
|
Hallo :
seahawk1986 , das du auch noch zufällig das gleiche Display rumliegen hast, ist (war) ja schon ein Glücksfall !!. o.k du hattest mir einige Fragen gestellt: seahawk1986 schrieb:
Mir sind da ein paar Dinge aufgefallen, die man verbessern könnte:
die Paketquellen für die Quellpakete (deb-src ...) sollten eigentlich als erstes aktiviert und die Build-Dependencies für lcdproc installiert werden, bei dir ist das nach hinten gerutscht (Zeile 268 ff.), was beim Testen nicht unbedingt auffällt, wenn man nicht immer mit einem "sauberen" System startet
Ich ging nach dieser Anleitung:https://www.kodinerds.net/index.php/Thread/12337-Futaba-mdm166a-VFD-Display-mit-LCDd-lcdproc-0-5-5-im-xbmc-mit-Icon-Anzeige/?postID=299587#post299587
Normalerweise Installiere ich mir das Display manuell,und die Paketquellen für die Quellpakete (deb-src ...) mache ich über Anwendungen&Aktualisierungen .
warum wird set -x ständig an- und wieder abgeschaltet?
set -x wird nur zur Kontrolle was er gerade macht verwendet ,ja besser wäre es es am Anfang und am Ende des scriptes zu verwenden.
man muss Dateien nicht löschen, mit touch wieder anlegen und danach überschreiben - einfach überschreiben genügt
habe ich gemacht um meinen Persönlichen Ordner wieder sauber zu kriegen .
was ist der Zweck der sleep-Befehle? In Shell-Skripten werden Befehle nacheinander abgearbeitet, wenn man sie nicht gezielt parallelisiert
dachte mir wenn er sleep kriegt(macht) klappt es auch mit ,,Älteren ,, Leistungsschwachen Systemen ,ganz ehrlich war überrascht wie das Script mit einem Tempo durchrennt.
die rc.local und das SysV-Init-Skript für lcdproc braucht man eigentlich nicht anfassen - es gibt bereits eine Systemd-Unit (LCDd.service) im Paket für lcdproc
rc.local habe ich wieder nach ,,der Kodinerds-Anleitung,, gemacht.
im Paket für lcdproc gibt es ein Beispiel für eine Konfigurationsdatei - statt das Skript durch die eingebettete Konfigurationsdatei lang und unübersichtlich zu machen, könnte man die einfach als Basis nutzen.
das im Packet lcdproc eine LCDd.conf liegt weiß ich, jedoch wenn man es nach der ,,Anleitung,, macht
ist diese nicht vorhanden ??? jedenfalls nicht so ! diese hat höchstens 20 Zeilen!!??. Habe dein ppa schon 2x installiert und getestet, Funktioniert Einwand+Fehlerfrei . gefühlt ist es schneller als
das Script von mir.
Super Arbeit hat ja wohl bei dir, nur 5 Stunden gebraucht um es 👍 zu bauen ! und ich hänge da an meinem 3 Wochen dran .
Ich mache mir den Spaß und baue aus Deinem ppa mir ein Script ,vielleicht geht es noooch schneller. 😊 Erkenntnis : was man alles machen kann...und andere können es noch besser. Nochmals vielen Dank an Deine Unterstützung und unendliche Mühe ,du hast was bleibendes geschaffen ,
wo sich nicht nur ich darüber erfreuen kann. 👍 tischfuss03 soll oder kann ich das Thema jetzt als erledigt makieren?
|
sh4711
Anmeldungsdatum: 13. Februar 2011
Beiträge: 922
|
tischfuss03 schrieb: ...
soll oder kann ich das Thema jetzt als erledigt makieren?
Wenn keine Fragen mehr offen sind, dann "ja bitte".
|