it-swarm.com.de

Wie erhalte ich die URL von einem Firefox-Tab aus dem Terminal?

Gibt es eine Möglichkeit, eine solche URL mithilfe von Befehlen abzurufen?

6
Amit Rege

Es gibt einige Dateien, die Informationen zu Ihren Sitzungen enthalten:

  • _~/.mozilla/firefox/*.default/sessionstore-backups/recovery.js_ enthält Informationen zur aktuellen Sitzung sowie Informationen zu den geschlossenen Registerkarten und zur vorherigen Sitzung. Alle 15 Sekunden erstellt Firefox ein Backup in dieser Datei . Diese Datei ist nicht verfügbar, wenn Firefox geschlossen ist.

  • _~/.mozilla/firefox/*.default/sessionstore.js_ enthält Informationen zur letzten Sitzung, wenn der Firefox-Browser geschlossen wird. Diese Datei ist nicht verfügbar, wenn Firefox geöffnet ist.

  • _~/.mozilla/firefox/*.default/sessionstore-backups/previous.js_ enthält Informationen zur vorherigen Sitzung.

Die Analyse des Inhalts von _recovery.js_ zeigt, dass für jede Registerkarte nur die Einträge der aktuellen URL die Zeichenfolge attributes enthalten.


I. Wenn Firefox geöffnet ist:

1.A. Wenn Sie alle URLs der geöffneten Registerkarten aus der aktuellen Sitzung abrufen möchten, können Sie diesen Befehl verwenden:

_cat $HOME/.mozilla/firefox/*.default/sessionstore-backups/recovery.js | \
sed "s/\\_closedTabs.*//" | \
sed "s/{/\n{/g" | \
egrep -o 'url.*attributes' | \
cut -d\" -f3
_

* Bitte beachten Sie, dass Sie alle Zeilen in einem Terminalfenster copy/paste zusammenfügen und drücken müssen Enter.

Wo:

  • _cat $HOME/.mozilla/firefox/*.default/sessionstore-backups/recovery.js_ druckt den Inhalt dieser Datei;
  • _sed "s/\\_closedTabs.*//"_ entfernt alles nach dem String __closedTabs_;
  • _sed "s/{/\n{/g" | \_ fügt vor jedem _{_ eine neue Zeile ein.
  • _egrep -o 'url.*attributes'_ filtert nur die Teile der Zeilen, die mit url beginnen und mit attributes enden. Ohne die Option _-o_ werden die gesamten Zeilen, die die Zeichenfolge enthalten, gefiltert.
  • _cut -d\" -f3_ verwendet _"_ als Trennzeichen und filtert nur die 3. Spalte.

In meinem Fall lautet die Ausgabe des Befehls:

_https://askubuntu.com/
https://www.mozilla.org/en-US/
_

1.B. Wenn Sie die Daten für die aktuelle und für die vorherige Sitzung sofort abrufen möchten, können Sie dies verwenden:

_printf "\n# CurrentSession:\n"; \
cat $HOME/.mozilla/firefox/*.default/sessionstore-backups/recovery.js | \
sed "s/\\_closedTabs/\{\"url\":\"# ClosedTabs:\"attributes/g" | \
sed "s/\\lastSessionState/\{\"url\":\"# LastSession:\"attributes/" | \
sed "s/{/\n{/g" | \
egrep -o 'url":"*.*attributes*' | \
cut -d\" -f3 | \
sed "s/#/\n#/" \
; echo
_

Wo:

  • _printf "\n# CurrentSession:\n";_ gibt _# CurrentSession:_ zwischen zwei Zeilenumbrüchen aus;
  • _sed "s/\\_closedTabs/\{\"url\":\"# ClosedTabs:\"attributes/g"_ ersetzt die Zeichenfolge __closedTabs_ durch _"url":"# ClosedTabs:"attributes_ in der gesamten "Datei" (Option g);
  • _sed "s/\\lastSessionState/\{\"url\":\"# LastSession:\"attributes/"_ ersetzt lastSessionState durch _"url":"# LastSession:"attributes_;
  • _sed "s/#/\n#/"_ fügt vor jedem _#_ eine neue Zeile ein.
  • _; echo_ fügt am unteren Rand eine leere Zeile ein.

In meinem Fall lautet die Ausgabe des Befehls:

_# CurrentSession:
https://askubuntu.com/
https://www.mozilla.org/en-US/

# ClosedTabs:
https://www.yahoo.com/

# LastSession:
https://askubuntu.com/
https://www.abv.bg/

# ClosedTabs:
https://www.google.com/gmail/about/
https://www.yahoo.com/
_

2.A. Wenn Sie und die Geschichte erhalten möchten, könnten Sie verwenden:

_cat $HOME/.mozilla/firefox/*.default/sessionstore-backups/recovery.js | sed "s/\\_closedTabs.*//" | sed "s/{/\n{/g" | egrep 'url":"http*' | cut -d\" -f4
_

In meinem Fall lautet die Ausgabe des Befehls:

_https://askubuntu.com/
https://www.google.bg/search?client=ubuntu&channel=fs&q=firefox&ie=utf-8&oe=utf-8&gfe_rd=cr&ei=pTKyWIitGqTs8wewj4KgDQ
https://www.mozilla.org/bg/firefox/new/
https://www.mozilla.org/en-US/
_

2.B. Sie können für jede Registerkarte ein Trennzeichen zwischen die Daten setzen:

_cat $HOME/.mozilla/firefox/*.default/sessionstore-backups/recovery.js | \
sed "s/\\_closedTabs.*//" | \
sed "s/{/\n{/g" | \
sed "s/entries/url\":\"# TAB:/g" | \
egrep 'url":"*' | \
cut -d\" -f4 | \
sed "s/#/\n#/"
_

In meinem Fall lautet die Ausgabe des Befehls:

_# TAB:
about:startpage
https://askubuntu.com/

# TAB:
https://www.google.bg/search?client=ubuntu&channel=fs&q=firefox&ie=utf-8&oe=utf-8&gfe_rd=cr&ei=pTKyWIitGqTs8wewj4KgDQ
https://www.mozilla.org/bg/firefox/new/
https://www.mozilla.org/en-US/
_

3. 1.B. und 2.B. zusammen:

_printf "\n# CurrentSession:\n"; \
cat $HOME/.mozilla/firefox/*.default/sessionstore-backups/recovery.js | \
sed "s/\\_closedTabs/\{\"url\":\"# ClosedTabs:/g" | \
sed "s/\\lastSessionState/\{\"url\":\"# LastSession:/" | \
sed "s/entries/url\":\"# TAB:/g" | \
sed "s/{/\n{/g" | \
egrep 'url":"*' | \
cut -d\" -f4 | \
sed "s/#/\n#/" \
; echo
_

In meinem Fall lautet die Ausgabe des Befehls:

_# CurrentSession:

# TAB:
https://Host.bg/
https://admin.Host.bg/

# TAB:
https://www.mediawiki.org/wiki/MediaWiki

# TAB:
https://en.wikipedia.org/wiki/Main_Page

# ClosedTabs:

# TAB:
about:startpage
https://www.yahoo.com/

# LastSession:

# TAB:
about:startpage
https://askubuntu.com/

# ClosedTabs:

# TAB:
https://www.mozilla.org/en-US/
https://www.google.com/gmail/about/
_

II. Wenn Firefox geschlossen ist:

Wenn Firefox geschlossen ist, können Sie die Daten für die letzte Sitzung abrufen. Der Ansatz ist derselbe wie oben beschrieben, jedoch müssen Sie anstelle von _recovery.jssessionstore.js_ (oder _previous.js_) verwenden:

_cat $HOME/.mozilla/firefox/*.default/sessionstore.js \
...
_

Verweise:

8
pa4080

Drag/Drop

Ziehen Sie es und lassen Sie es fallen. Ziehen Sie es vom Symbol links neben das Adressfeld. In den meisten Browsern wird möglicherweise ein angezeigt i für das Symbol.

Kopieren/Einfügen

Sie können auch kopieren und einfügen. Kopieren Sie den Text aus dem Adressfeld. Fügen Sie es in das Terminal ein.

2
L. D. James

Die akzeptierte Antwort funktioniert jetzt nicht, Firefox hat diese Datei entfernt.

Also hier ist meine Lösung (en) davon:

Methode 1: Verwenden Sie Tastaturautomatisierungstools wie xdotool, um Schlüssel zu posten und die URL in die Zwischenablage zu kopieren.

Diese Methode hat einige Nachteile, dh sie ändert den aktuellen Fokus des Cursors (Sie müssen zuerst mit Strg-L in die Adressleiste wechseln).

Methode 2: Verwenden Sie Grease Monkey, und binden Sie die Taste F12 an GM_setClipboard (document.location). Verwenden Sie die Tastaturautomatisierungstools und senden Sie die Taste F12 an Firefox. Sieh dir die Zwischenablage an, speichere sie (vielleicht sogar, um die Zwischenablage zu sichern und wiederherzustellen).

0
Bao Haojun