ubuntuusers.de

Windows-Verknüpfung (.Ink) unter Ubuntu verwenden

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Saimen92

Avatar von Saimen92

Anmeldungsdatum:
27. April 2009

Beiträge: 30

Wohnort: Ilshofen

Hi leute, ich habe folgendes Problem: Ich habe daheim ein Netzwerk mit 7 Windows- und 3 Ubuntu-rechnern. Da hängt auch ein Netzlaufwerk mit dran auf dem unter anderem ein paar Windows-Verknüpfungen (.Ink) befinden. Kann ich ubuntu irgendwie beibringen dass das Verknüpfungen sind und es gefälligst die verknüpftet Datei und nicht die Verknüpfung an sich (also im editor) öffnen soll? Danke im Vorraus 😉

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Hi, wie sieht denn so ne Datei (die .lnk im Editor) aus, eventuell kann man nen Nautilusscript basteln?

Edit: am besten gleich mal eine Posten, die Leerzeichen und ü und ß oder ähnliche Sonderzeichen im Pfad/Dateiname hat

kaputtnik

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 9245

Interessanter Thread... Im Anhang mal eine solche Win-Verknüpfungsdatei. Ich denke, da kann man nicht viel machen... lass mich ber gerne eines besseren belehren.

Die Datei enthält die Verknüpfung zum Spiel Freecell und liegt in einem Ordner auf dem Win-Desktop. Hier die Ausgabe des Inhalts mit hexedit:

00000000   4C 00 00 00  01 14 02 00  00 00 00 00  C0 00 00 00  L...............
00000010   00 00 00 46  9F 02 00 00  20 00 00 00  40 C9 63 5E  ...F.... ...@.c^
00000020   E4 20 C9 01  86 07 2B B3  E4 20 C9 01  00 A0 99 79  . ....+.. .....y
00000030   23 37 C3 01  10 87 00 00  00 00 00 00  01 00 00 00  #7..............
00000040   00 00 00 00  00 00 00 00  00 00 00 00  78 00 14 00  ............x...
00000050   1F 50 E0 4F  D0 20 EA 3A  69 10 A2 D8  08 00 2B 30  .P.O. .:i.....+0
00000060   30 9D 19 00  23 43 3A 5C  00 00 00 00  00 00 00 00  0...#C:\........
00000070   00 00 00 00  00 00 00 00  00 91 CC 15  00 31 00 00  .............1..
00000080   00 00 00 00  00 00 00 10  00 57 49 4E  4E 54 00 00  .........WINNT..
00000090   18 00 31 00  00 00 00 00  00 00 00 00  10 00 73 79  ..1...........sy
000000A0   73 74 65 6D  33 32 00 00  1C 00 32 00  00 00 00 00  stem32....2.....
000000B0   00 00 00 00  20 00 66 72  65 65 63 65  6C 6C 2E 65  .... .freecell.e
000000C0   78 65 00 00  00 00 4D 00  00 00 1C 00  00 00 01 00  xe....M.........
000000D0   00 00 1C 00  00 00 2D 00  00 00 00 00  00 00 4C 00  ......-.......L.
000000E0   00 00 11 00  00 00 03 00  00 00 ED 86  E9 C8 10 00  ................
000000F0   00 00 00 43  3A 5C 57 49  4E 4E 54 5C  73 79 73 74  ...C:\WINNT\syst
00000100   65 6D 33 32  5C 66 72 65  65 63 65 6C  6C 2E 65 78  em32\freecell.ex
00000110   65 00 00 21  00 53 00 74  00 61 00 72  00 74 00 65  e..!.S.t.a.r.t.e
00000120   00 74 00 20  00 64 00 61  00 73 00 20  00 4B 00 61  .t. .d.a.s. .K.a
00000130   00 72 00 74  00 65 00 6E  00 73 00 70  00 69 00 65  .r.t.e.n.s.p.i.e
00000140   00 6C 00 20  00 46 00 72  00 65 00 65  00 63 00 65  .l. .F.r.e.e.c.e
00000150   00 6C 00 6C  00 2E 00 27  00 2E 00 2E  00 5C 00 2E  .l.l...'.....\..
00000160   00 2E 00 5C  00 2E 00 2E  00 5C 00 2E  00 2E 00 5C  ...\.....\.....\
---  Freecell.lnk       --0x0/0x553--------------------------------------------
Freecell.lnk (1.3 KiB)
Win2000 Verknüpfungs-Datei zu Freecell
Download Freecell.lnk

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Hehe hab doch selber nen Dualboot und hab mir mal im Startmenü nen paar Verknüpfungen angeschaut. Bis jetzt vermute ich, dass

10 00 00 00 00

die Pfadangabe einleitet.

Das Problem ist, das die Dinger keine Textdateien sind, was ziemlich blöd ist, wenn man es mit Bash beackern will. Und zu allem Überfluss fängt der Pfad immer an ner anderen Adresse an.

So wie ich das sehe wird es wohl mindestens auf nen Phytonscript (oder ähnliches) hinauslaufen. An dieser Stelle ist mir der Kosten/Nutzenfaktor einfach zu gering.

Falls wer Lust hat:

  • Datei nach 10 00 00 00 00 durchsuchen

  • alles danach als Pfadangabe interpretieren

  • bis zu 00 00 (Markiert das Ende der Pfadangabe)

  • das ganze von CP1250 in UTF-8 verwandeln (bin mir nicht sicher, obs wirklich CP1250 ist)

  • \ mit / ersetzen

  • Eventuell noch herausfinden obs ne Datei oder nen Verzeichnis ist (viel Spaß beim reverse engineering)

  • das ganze irgendwie an Nautilus übergeben (boha kein Plan bin halt nen Xfce'ler)

Edit: wie gesagt Vermutungen, ich hab mir nur so 5 Verknüpfungen angeschaut

diesch Team-Icon

Avatar von diesch

Anmeldungsdatum:
18. Februar 2009

Beiträge: 5072

Wohnort: Brandenburg an der Havel

http://www.linuxquestions.org/questions/linux-general-1/follow-windows-shortcuts-from-linux-617917/ scheint sowas zu machen, mangels Windows kann ich nicht testen, ob das auch funktioniert.

monateng

Avatar von monateng

Anmeldungsdatum:
19. April 2007

Beiträge: 1055

Wohnort: Wellerode

Hallo kaputtnik und Saimen92,

wäre es dir möglich noch zwei weitere Verknüpfungen im Forum zu Posten. Ich Installiere mir so ungern ein Windows. Aber man könnte dann schön Vergleichen und ein Bash-Script zur Umwandlung aufsetzen. Würde dann alle *.Ink-Dateien aus dem Windows Recursiv durchgehen und in einen Symlink erstellen. Dabei würden beide Verlinkungen vorerst bestehen bleiben- Später kann man dann ja immer noch die *.Ink-Dateien Löschen, wenn man möchte.

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Hier mal nen paar lnks, mehr gibt mein Startmenü nicht her, mein Windows ist halt sehr gründlich aufgeräumt. ☺

Baldurs Gate II - Thron des Bhaal.lnk (637 Bytes)
Download Baldurs Gate II - Thron des Bhaal.lnk
BGConfig.lnk (649 Bytes)
Download BGConfig.lnk
ReadMe.txt lesen.lnk (637 Bytes)
Download ReadMe.txt lesen.lnk
Computerverwaltung.lnk (1.6 KiB)
Download Computerverwaltung.lnk
Datenquellen (ODBC).lnk (1.6 KiB)
Download Datenquellen (ODBC).lnk
Dienste.lnk (1.6 KiB)
Download Dienste.lnk
Ereignisanzeige.lnk (1.6 KiB)
Download Ereignisanzeige.lnk
Komponentendienste.lnk (1.5 KiB)
Download Komponentendienste.lnk
Lokale Sicherheitsrichtlinie.lnk (1.6 KiB)
Download Lokale Sicherheitsrichtlinie.lnk
Systemmonitor.lnk (1.6 KiB)
Download Systemmonitor.lnk
Lautstärkeregelung.lnk (1.5 KiB)
Download Lautstärkeregelung.lnk
Rechner.lnk (1.5 KiB)
Download Rechner.lnk
7-Zip File Manager.lnk (617 Bytes)
Download 7-Zip File Manager.lnk
7-Zip Help.lnk (622 Bytes)
Download 7-Zip Help.lnk
Editor.lnk (1.5 KiB)
Download Editor.lnk
Eingabeaufforderung.lnk (1.5 KiB)
Download Eingabeaufforderung.lnk
Windows-Explorer.lnk (1.5 KiB)
Download Windows-Explorer.lnk

monateng

Avatar von monateng

Anmeldungsdatum:
19. April 2007

Beiträge: 1055

Wohnort: Wellerode

Danke stfischr

für die vielen Links. Bekomme jedoch im gegensatz zu kaputtnik deine Links nicht mit gedit 2.22.3 auf. Womit kann ich mir den Quelltext-Grafisch anschauen?

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11220

Hej all,

wenn ich eine Windows *.lnk öffnen will, helfe ich mir damit, indem ich mit wine einen Dateimanager für Windows aufrufe, und in dem dann die *.lnk Datei 'ganz normal' öffne 😉

Gruß Reinhard

Bilder

Jacore

Anmeldungsdatum:
25. Mai 2008

Beiträge: 550

Als Startpunkt..

% find . -iname \*.lnk -exec strings "{}" \; | grep -i "^[a-z]:\\\\"

Ergibt - ganz ohne Binäres Hokus-Pokus und reverse engineering - eine Liste wie z.B:

C:\Games\Mortal Kombat 4\Mortal Kombat 4.exe
D:\Program Files\Microsoft Games\Purble Place\PurblePlace.exe
C:\Games\UnrealTournament\System\UnrealTournament.exe
C:\Games\Steam\steamapps\notforyou\counter-strike\hl.exe
C:\Games\Steam\steamapps\notforyou\day of defeat source\hl2.exe
C:\Games\Condition Zero\czero.exe

Mfg..

diesch Team-Icon

Avatar von diesch

Anmeldungsdatum:
18. Februar 2009

Beiträge: 5072

Wohnort: Brandenburg an der Havel

Ich hab mal http://www.linuxquestions.org/questions/linux-general-1/follow-windows-shortcuts-from-linux-617917/ auf das wesentliche reduziert

#!/bin/sh

for i in *.lnk; do
    echo "** $i"
    printf '   '
    strings -an5 "$i"|grep -m1 '^[A-Z]:\\[A-Za-z].*'|sed -e 's/^[A-Z]://' -e 's|\\|/|g'
done

und ein paar von den Beispielen getestet:

** BGConfig.lnk
   /Spiele/BGII - SvA/BGConfig.exe
** Baldurs Gate II - Thron des Bhaal.lnk
   /Spiele/BGII - SvA/baldur.exe
** Datenquellen (ODBC).lnk
   /WINDOWS/system32/odbcad32.exe
** Dienste.lnk
   /WINDOWS/system32/services.msc
** Ereignisanzeige.lnk
   /WINDOWS/system32/eventvwr.msc
** Lokale Sicherheitsrichtlinie.lnk
   /WINDOWS/system32/secpol.msc
** ReadMe.txt lesen.lnk
   /Spiele/BGII - SvA/readme.txt
** Systemmonitor.lnk
   /WINDOWS/system32/perfmon.msc

Wenn das so richtig ist, würde ich

#/bin/sh

MOUNTPOINT=/media/windows
xdg-open "$MOUNTPOINT/$(strings -an5 "$1"|grep -m1 '^[A-Z]:\\[A-Za-z].*'|sed -e 's/^[A-Z]:\\//' -e 's|\\|/|g')"

als Programm zum Öffnen von .lnk-Dateien konfigurieren.

Jacore

Anmeldungsdatum:
25. Mai 2008

Beiträge: 550

Top, diesch!

Echt lustig, das man hier "reverse engeneering" betreiben möchte, obwohl der zuerst gepostete Link schon eine ausgereifte Lösung bietet.

OK, ich gebe zu, auch ich habe den Link nicht gelesen - habe hier aber auch keine Hilfe gesucht. 😉

Gruß

kaputtnik

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 9245

Hi, Ihr Nachtgespenster...

Funktioniert das auch mit:

00000000   4C 00 00 00  01 14 02 00  00 00 00 00  C0 00 00 00  L...............
00000010   00 00 00 46  83 00 00 00  10 00 00 00  80 69 00 BB  ...F.........i..
00000020   4B 21 C9 01  00 D8 C0 3A  9A 3F C9 01  00 7C 2B BC  K!.....:.?...|+.
00000030   4B 21 C9 01  00 00 00 00  00 00 00 00  01 00 00 00  K!..............
00000040   00 00 00 00  00 00 00 00  00 00 00 00  6F 00 14 00  ............o...
00000050   1F 50 E0 4F  D0 20 EA 3A  69 10 A2 D8  08 00 2B 30  .P.O. .:i.....+0
00000060   30 9D 19 00  23 47 3A 5C  00 00 00 00  00 00 00 00  0...#G:\........
00000070   00 00 00 00  00 00 00 00  00 81 5E 20  00 31 00 00  ..........^ .1..
00000080   00 00 00 3C  39 FD 49 10  00 50 72 6F  6A 65 6B 74  ...<9.I..Projekt
00000090   65 00 50 52  4F 4A 45 4B  54 45 00 20  00 31 00 00  e.PROJEKTE. .1..
000000A0   00 00 00 3C  39 D0 4A 10  00 4D 79 20  4D 75 73 69  ...<9.J..My Musi
000000B0   63 00 4D 59  4D 55 53 49  7E 31 00 00  00 48 00 00  c.MYMUSI~1...H..
000000C0   00 1C 00 00  00 01 00 00  00 1C 00 00  00 32 00 00  .............2..
000000D0   00 00 00 00  00 47 00 00  00 16 00 00  00 03 00 00  .....G..........
000000E0   00 2C 7B A8  08 10 00 00  00 44 41 54  45 4E 00 47  .,{......DATEN.G
000000F0   3A 5C 50 72  6F 6A 65 6B  74 65 5C 4D  79 20 4D 75  :\Projekte\My Mu
00000100   73 69 63 00  00 00 00 00  00                        sic......
00000110
00000120
00000130
00000140
00000150
00000160

Ist eine Verknüpfung auf einen Ordner auf einer anderen Partition.... Der Pfad sollte dann sein "/media/DATEN/Projekte/My Music"

Verknüpfung mit My Music.lnk (265 Bytes)
Download Verknüpfung mit My Music.lnk

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Jacore schrieb:

Echt lustig, das man hier "reverse engeneering" betreiben möchte, obwohl der zuerst gepostete Link schon eine ausgereifte Lösung bietet.

Erwischt 😳

kaputtnik schrieb:

Ist eine Verknüpfung auf einen Ordner auf einer anderen Partition.... Der Pfad sollte dann sein "/media/DATEN/Projekte/My Music"

Das Problem ist hier, dass man C: und D: schlecht in den passenden Mountpunkt umwandeln kann. Hab da erstma keine Idee.

Holger63

Avatar von Holger63

Anmeldungsdatum:
8. Juni 2006

Beiträge: 695

Wohnort: Wesel, Nordrhein-Westfalen

stfischr schrieb:

Das Problem ist hier, dass man C: und D: schlecht in den passenden Mountpunkt umwandeln kann. Hab da erstma keine Idee.

Ich habe wine bei mir nicht mehr installiert, aber sind unter ~/.wine/dosdevices/ nicht die symbolische Links auf die Laufwerksbuchstaben hinterlegt? Dann sollte folgendes funktionieren:

1
2
3
4
#!/bin/sh

MOUNTPOINT=~/.wine/dosdevices
xdg-open "$MOUNTPOINT/$(strings -an5 "$1"|grep -m1 '^[A-Z]:\\[A-Za-z].*'|sed -e 's|\\|/|g')"

Gruß, Holger

Antworten |