selbstgeschriebenes skript ausm netz - wie füge ich das als abs. laie in den mac ein?

seawqq

Mitglied
Thread Starter
Mitglied seit
24.01.2010
Beiträge
93
Habe einen 1&1 Internet Stick und habe
gelesen, dass jemand ein launchd skript (?) geschrieben hat, sodass man nur noch den stick reinstecken muss und keine pin eingeben muss und dann sofort mit dem internet verbunden ist. das wäre phänomenal! allerdings weiß ich nicht was ich dafür tun muss. das skript ist im link oben mitsamt einer rudimetären anleitung. allerdings versteh ich nur bahnhof, weil ich sowas noch nie gemacht habe. keine ahnung wo ich den text einfügen muss etc. kann mir jmd. helfen? würde mich generell interessieren, weil man dann ja häufiger auf diese skripts der "eingeweihten" zurückgreifen könnte.

tausend dank für jede antwort!
 

Edward Nigma

unregistriert
Mitglied seit
05.10.2008
Beiträge
292
Steht doch alles dort.
Für die Scripte legst du natürlich neue Dateien an. Datei 1 heißt my.domain.surfstick.plist und Datei 2 heißt setpin.sh. Das ganze kannst du mit TextEdit machen und in die jeweiligen Verzeichnisse schieben. Danach aktivieren (letzte Zeile).

Gute N8
 

BoeserDrache

Aktives Mitglied
Mitglied seit
13.11.2010
Beiträge
5.094
1. Textedit öffnen ("nur Text" einstellen) oder zb einen Editor wie Smultron. MEINNUTZER natürlich immer mit deinem Usernamen ersetzen.
2. Folgendes einfügen:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>my.domain.surfstick</string>
  <key>OnDemand</key>
  <true/>
  <key>ProgramArguments</key>
  <array>
    <string>/Users/MEINNUTZER/Library/Scripts/setpin.sh</string>
	<string>1111</string> 
	<string>/dev/tty.ZTEUSBATPort_</string>
  </array>
  <key>WatchPaths</key>
  <array>
    <string>/dev/</string>
  </array>
</dict>
</plist>
4. PIN eintragen.
3. Datei my.domain.surfstick.plist nennen und in /Users/MEINNUTZER/Library/LaunchAgents speichern.
5. Wieder den Editor deiner Wahl öffnen.
6. Folgendes reinkopieren:
Code:
#!/bin/sh
PIN=$1
DEVICE=$2
test -z "$DEVICE" && DEVICE=/dev/tty.ZTEUSBATPort_
test -z "$PIN" && {
	echo "Usage: $0 <PIN>"
	exit 0
}
test -c $DEVICE || exit 0

PID=zte

screen -dm -S $PID $DEVICE 115200
sleep 0.2; 
screen -S $PID -p0 -X stuff "AT+CPIN=$PIN
"
sleep 0.1;
screen -S $PID -p0 -X kill;
7. Datei unter dem Namen setpin.sh in /Users/MEINNUTZER/Library/Scripts abspeichern.
8. Das Programm Terminal öffnen.
9. Folgendes reinkopieren und danach Enter drücken (natürlich Benutzername anpassen):
Code:
chmod +x /Users/MEINNUTZER/Library/Scripts/setpin.sh
10. Danach nochmal das selbe nur mit dem:
Code:
launchctl load -w ~/Library/LaunchAgents/my.domain.surfstick.plist
Frei nach dieser Anleitung, ich habs jetzt nicht probiert. Wenn du Probleme mit dem speichern der Dateien hast melde dich bitte.
 

seawqq

Mitglied
Thread Starter
Mitglied seit
24.01.2010
Beiträge
93
spitze, echt super erklärt und sogar mein problem antizipiert: es erscheint eine fehlermeldung, dass auf endung .plist nicht gespeichert werden kann, sondern nur auf .plist.rtf

bei punkt 4 und 3 hast du nur die nummern vor dem text vertauscht und nicht die zeilen insgesamt oder? MEINNUTZER änder ich einfach auf meinen ordnernamen und 1111 auf meine PIN, richtig?

bei punkt 7 werde ich wieder auf ein problem stoßen, weil ich keinen ordner mit scripts habe. auf screensaver folgt sounds. soll ich also erstmal so einen leeren ordner anlegen den ich scripts nenne?
 

BoeserDrache

Aktives Mitglied
Mitglied seit
13.11.2010
Beiträge
5.094
Unbedingt in Textedit als reiner Text speicher (Format - In formatierten Text umwandeln). Dann sollte es auch mit der plist klappen. Dann wirst du gefragt ob du wirklich plist verwenden willst, das bejahst du natürlich.

Jep, hab nur die Nummerierung vertauscht, korrigiere das gleich. Die Reihenfolge stimmt natürlich schon so. :) MEINNUTZER ist der Name deines Userordners und das mit dem PIN hast du dir auch richtig gedacht.

Erstell den Ordner einfach wenn du ihn nicht hast, denke ich.
 

seawqq

Mitglied
Thread Starter
Mitglied seit
24.01.2010
Beiträge
93
geht nicht.

folgende ideen:

1. Bei mir heißt der Ordner nicht "USERS" sondern "Benutzer", kann das sein? darin befindet sich "Für alle Benutzer" sowie "Seawqq", also mein Ordner mit dem Häuschen-Icon. Muss ich dann im Code nicht nur MEINNUTZER und 1111, sondern auch Users auf Benutzer ändern?

2. Kann es daran liegen, dass ich den Ordner Scripts nicht hatte und erst erstellt habe? Im Ordner Mac HD gibt es ja neben "Benutzer", "Developer", "opt", "Programme und "System"" auch noch den Ordner "Library". Hier drin gibt es tatsächlich einen Ordner namens "Scripts". Aber der hat mit der ganzen Sache wahrscheinlich nichts zu tun?

Muss das Programm meines Surfsticks geschlossen sein oder geöffnet, der Stick vllt. drin stecken oder nicht?

Mehr fällt mir zZ nicht ein.

Herzlichen Dank mal wieder fürs erste!
 

vib

Mitglied
Mitglied seit
15.02.2011
Beiträge
236
Um die Anleitungen erfolgreich umzusetzen wird die Verwendung der Shell(Terminal.app) vorausgesetzt. Der Finder und auch Textedit verwirren was nur Pfadangaben betrifft nicht nur, sondern sollten fuer die Einbindung von System-Skripten nicht verwendet werden.

Ich rate daher die Verwendung der Shell und dort eines Editors wie nano oder vi um die Dateien zu bearbeiten, andernfalls kommen zur Fehlerquelle Mensch noch unnoetige der grafischen Tools hinzu.

Mit dem Befehl
ls -lah / kannst Du Dir das Haupt/Root-Verzeichnis Deiner Festplatte anzeigen lassen. Dort findest du auch den beschriebenen Ordner /Users
 
Zuletzt bearbeitet:

seawqq

Mitglied
Thread Starter
Mitglied seit
24.01.2010
Beiträge
93
achnee, in den eigenschaften der datei wird jeweils nicht benutzer sondern auch users angegeben...aber soll ich vllt. den ordner benutzer in Users umbenennen, sicherheitshalber?
 

vib

Mitglied
Mitglied seit
15.02.2011
Beiträge
236
Warte, was zeigt dir eine Ausgabe von ls -lah / in der Shell(Terminal.app) aus? Bitte komplett posten :)
 

seawqq

Mitglied
Thread Starter
Mitglied seit
24.01.2010
Beiträge
93
darf ich den quelltext nicht mit einem absatz abschließen, also am ende nach </plist> nicht enter drüücken ? das hab ich gemacht, weil ich das aus programmierkusrsen mal mitgenommen habe;-)
 

BoeserDrache

Aktives Mitglied
Mitglied seit
13.11.2010
Beiträge
5.094
Um die Anleitungen erfolgreich umzusetzen wird die Verwendung der Shell(Terminal.app) vorausgesetzt. Der Finder und auch Textedit verwirren was nur Pfadangaben betrifft nicht nur, sondern sollten fuer die Einbindung von System-Skripten nicht verwendet werden.
Stimm ich dir absolut zu, nur ist es leider halt nicht so "einfach". Diese Scripte sollte man eigentlich auch mit Textedit passend speichern können.

@TE
Nein, der Order Benutzer heißt im System tatsächlich Users, lass dich nicht verwirren. Der wurde nur "lokalisiert".
 

vib

Mitglied
Mitglied seit
15.02.2011
Beiträge
236
Das ist eine andere Baustelle, als das Problem mit dem Verzeichnis "Benutzer" bzw "Users". Daher bitte ich Dich erneut die Shell (Programme > Dienstprogramme > Terminal.app) zu oeffnen und dort den Befehl ls -lah / einzugeben und im Anschluss die Ausgabe hier hinein zu kopieren. Wir kommen spaeter wieder zur Bearbeitung der Dateien im Editor.
 
Zuletzt bearbeitet:

seawqq

Mitglied
Thread Starter
Mitglied seit
24.01.2010
Beiträge
93
total 37093
drwxrwxr-t 31 root admin 1,1K 1 Feb 17:37 .
drwxrwxr-t 31 root admin 1,1K 1 Feb 17:37 ..
-rw-rw-r-- 1 Simon admin 15K 24 Apr 22:22 .DS_Store
drwx------ 3 root admin 102B 20 Sep 2008 .Spotlight-V100
d-wx-wx-wt 2 root admin 68B 18 Jan 2010 .Trashes
---------- 1 root admin 0B 23 Jun 2009 .file
drwx------ 21 root admin 714B 24 Apr 20:54 .fseventsd
-rw------- 1 root wheel 256K 12 Nov 16:26 .hotfiles.btree
drwxr-xr-x@ 2 root wheel 68B 18 Mai 2009 .vol
drwxrwxr-x+ 62 root admin 2,1K 20 Apr 22:07 Applications
drwxrwxr-x 4 root admin 136B 27 Jul 2010 Developer
drwxrwxr-t+ 58 root admin 1,9K 1 Feb 17:37 Library
drwxr-xr-x@ 2 root wheel 68B 23 Jun 2009 Network
drwxr-xr-x 4 root wheel 136B 11 Jan 15:26 System
drwxr-xr-x 6 root admin 204B 18 Jan 2010 Users
drwxrwxrwt@ 3 root admin 102B 24 Apr 04:19 Volumes
drwxr-xr-x@ 39 root wheel 1,3K 11 Jan 15:24 bin
drwxrwxr-t@ 2 root admin 68B 23 Jun 2009 cores
dr-xr-xr-x 3 root wheel 4,1K 22 Apr 14:25 dev
lrwxr-xr-x@ 1 root wheel 11B 18 Jan 2010 etc -> private/etc
dr-xr-xr-x 2 root wheel 1B 22 Apr 14:26 home
-rw-r--r--@ 1 root wheel 18M 4 Jan 07:22 mach_kernel
dr-xr-xr-x 2 root wheel 1B 22 Apr 14:26 net
drwxr-xr-x 3 root wheel 102B 16 Aug 2010 opt
drwxr-xr-x@ 7 root wheel 238B 18 Jan 2010 private
drwxr-xr-x@ 67 root wheel 2,2K 11 Jan 15:24 sbin
lrwxr-xr-x@ 1 root wheel 11B 18 Jan 2010 tmp -> private/tmp
drwxr-xr-x@ 11 root wheel 374B 18 Jan 2010 usr
lrwxr-xr-x@ 1 root wheel 11B 18 Jan 2010 var -> private/var
 

seawqq

Mitglied
Thread Starter
Mitglied seit
24.01.2010
Beiträge
93
hab alles so gemacht wie mir befohlen, aber es erscheint beim einstecken des internetsticks immer das fenster wo ich die pin nummer dann eingeben muss. da passiert nix automatisch.
 

vib

Mitglied
Mitglied seit
15.02.2011
Beiträge
236
drwxr-xr-x 6 root admin 204B 18 Jan 2010 Users
So, in der ausgegebenen Verzeichnisliste taucht - wie von mir erwartet - das Verzeichnis Users auf. Somit ist schonmal sichergestellt, dass an dieser Stelle noch nicht Hand angelegt wurde.

Starte bitte wieder eine Shell(Terminal.app) und gib bitte folgenden Befehl ein:
nano ~/Library/LaunchAgents/my.domain.surfstick.plist

Hinweis: Das Zeichen ~ in der Pfadangabe steht als Synonym fuer den Pfad bis zu Deinem Benutzerverzeichnis. Die Eingabe von ~/Ordner entspricht bei Dir somit /Users/seawqq/Ordner

Es oeffnet sich nun der Texteditor nano und - falls die Datei bisher noch nicht an diesem Ort erstellt wurde - eine leere my.domain.surfstick.plist Datei. Kopiere nun den Code in die im nano geoeffnete Datei hinein:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>my.domain.surfstick</string>
  <key>OnDemand</key>
  <true/>
  <key>ProgramArguments</key>
  <array>
    <string>/Users/BENUTZERNAME/Library/Scripts/setpin.sh</string>
	<string>1111</string> 
	<string>/dev/tty.ZTEUSBATPort_</string>
  </array>
  <key>WatchPaths</key>
  <array>
    <string>/dev/</string>
  </array>
</dict>
</plist>
In der Zeile
Code:
<string>/Users/[B]BENUTZERNAME[/B]/Library/Scripts/setpin.sh</string>
muss der Name des Benutzer-Verzeichnisses angepasst werden.
Code:
<string>[B]1111[/B]</string>
In dieser Zeile wird die PIN eingegeben.

Abschliessend wird die Datei mit [CTRL]+[X] geschlossen, worauf er Dich auffordert die Datei durch die Eingabe von [Y] zu speichern oder aber mit [N] ohne speichern zu verlassen.

Hinweis: Am unteren Bildschirmrand werden im Texteditor nano die wichtigsten Befehle des Editor angezeigt. Das ^ vor einem Buchstaben steht fuer die Taste [CTRL]. Wenn man zum Beispiel einen String in einer Datei suchen moechte, gibt man fuer das angezeigte ^W einfach [CTRL]+[W] ein.

Als naechstes muss noch die Datei setpin.sh angelegt werden. Dazu wird folgendes in die Shell(Terminal.app) eingegeben:

nano ~/Library/Scripts/setpin.sh

Es oeffnet sich nun der Texteditor nano und - falls die Datei bisher noch nicht an diesem Ort erstellt wurde - eine leere setpin.sh Datei.
Kopiere nun den Code in diese Datei:
Code:
#!/bin/sh
PIN=$1
DEVICE=$2
test -z "$DEVICE" && DEVICE=/dev/tty.ZTEUSBATPort_
test -z "$PIN" && {
	echo "Usage: $0 <PIN>"
	exit 0
}
test -c $DEVICE || exit 0

PID=zte

screen -dm -S $PID $DEVICE 115200
sleep 0.2; 
screen -S $PID -p0 -X stuff "AT+CPIN=$PIN
"
sleep 0.1;
screen -S $PID -p0 -X kill;
Abschliessend wird die Datei mit [CTRL]+[X] geschlossen, worauf er Dich auffordert die Datei durch die Eingabe von [Y] zu speichern oder aber mit [N] ohne speichern zu verlassen.

Wenn Du all diese Schritte genau befolgt hast, kannst Du das Ganze durch die Eingabe des folgenden Befehls in der Shell(Terminal.app) aktivieren:

launchctl load -w ~/Library/LaunchAgents/my.domain.surfstick.plist
 
Zuletzt bearbeitet:

seawqq

Mitglied
Thread Starter
Mitglied seit
24.01.2010
Beiträge
93
vielen vielen dank auch dir! leider klappt es noch nicht. nach der aktivierung erscheint im terminalfenster "my.domain.surfstick: Already loaded"

aber wenn ich dann den surfstick reinstecke, dann muss ich die pin wieder selbst eintragen.

:-(
 

seawqq

Mitglied
Thread Starter
Mitglied seit
24.01.2010
Beiträge
93
ich sehe gerade, dass der post von demjenigen, der das script geschrieben hat, genau 6 monate alt ist und sein stick ein anderes modell ist, nämlich 1&1 Surf-Stick (ZTE MF110), wohingegen ich den 1&1 Surf-Stick (ZTE MF190) habe. daran wird es liegen, oder?

dennoch habt ihr mich hier in die welt der appleScripts eingeführt, was sich in zukunft sicher noch auszahlen wird. ein herzliches dankeschön!!
 

seawqq

Mitglied
Thread Starter
Mitglied seit
24.01.2010
Beiträge
93
ich sehe gerade, dass der post von demjenigen, der das script geschrieben hat, genau 6 monate alt ist und sein stick ein anderes modell ist, nämlich 1&1 Surf-Stick (ZTE MF110), wohingegen ich den 1&1 Surf-Stick (ZTE MF190) habe. daran wird es liegen, oder?

dennoch habt ihr mich hier in die welt der appleScripts eingeführt, was sich in zukunft sicher noch auszahlen wird. ein herzliches dankeschön!!
hat jmd. vllt eine seite mit den besten scripts oder ein lieblingsskript das auch einem anfänger wie mir hilft und das sich schon bewährt hat, also auf jeden fall funktioniert?
 
Oben