혼자 공부하고 있는데 갑자기 내일 과제를 제출해야 한다는 생각이 나서 이런 일들을 지금 해야 하는 상황을 상상해 보세요. 이제 탭을 닫고 작업에 대한 새 웹사이트를 엽니다. 모든 작업이 처리된 후에는 닫혀 있던 이전 탭이 필요합니다. 이제 역사 전체에서 그것들을 찾는 데 많은 시간을 낭비합니다.
현재 Firefox에 열려 있는 모든 URL을 덤프하는 스크립트를 실행하고 싶습니다. 이 스크립트에서 xargs
유사한 방법을 사용하여 이전 세션을 복원할 수 있습니다. 북마크를 추가하는 것은 필요할 때 찾지 못하기 때문에 해결책이 아닌 것 같습니다.
내 생각엔 이게 도움이 될 것 같아
lsof -ai
그러나 그것은 작동하지 않았습니다. bash 스크립트로 이 문제를 해결할 수 있나요? 그게 불가능하다면 나는 사용해 볼 것이다.xdotool
답변1
주제에서 벗어나 북마크가 그렇게 나쁘지 않다는 것을 보여 드리겠습니다. 필요한 것은 저장된 세션에 대한 좋은 이름입니다.
탭을 마우스 오른쪽 버튼으로 클릭하면 선택할 수 있습니다 Bookmark All Tabs
. 그러면 팝업이 나타나고 모든 탭을 포함할 폴더의 이름을 지정할 수 있습니다.
세션을 복원하는 것도 매우 쉽습니다. 북마크에서 세션 폴더를 찾아 마우스 오른쪽 버튼을 클릭하고 선택합니다 Open All in Tabs
.
답변2
이것원탭 확장그것이 바로 그것이 하는 일입니다. Chromium/Chrome에서도 작동합니다.
답변3
저는 Firefox 69와 제안된 방법을 사용하고 있습니다 https://support.mozilla.org/en-US/questions/1221836나를 위해 작동합니다.
곧 현재 열려 있는 탭 목록이
<fx_profile>/sessionstore-backups/recovery.jsonlz4
.
백업을 만들고 이 온라인 도구를 사용하여 열린 탭 목록을 덤프하십시오.https://www.jeffersonscher.com/ffu/scrounger.html.
답변4
Arkadiusz의 답변은 매우 훌륭하지만 문제는 파일 recovery.jsonlz4
에 무엇을 해야할지 모르는 데이터가 너무 많다는 것입니다.https://support.mozilla.org/en-US/questions/1221836어떻게 해야 하는지 좋은 팁을 줍니다.
파일 자체를 특정 이름의 위치에 복사하고 필요한 경우 복원하는 dmenu
래퍼 bash 스크립트를 작성했습니다 .recovery.jsonlz4
#!/bin/bash
SESSIONS="$HOME/.netsessions/"
PROFILE="$HOME/.mozilla/firefox/<use-your-profile>.default/"
[[ ! -d $PROFILE ]] && notify-send Firefox "Profile was not found" && exit 0
[[ ! -d $SESSIONS ]] && mkdir -p $SESSIONS
fireicon=/usr/share/icons/Paper/512x512/apps/firefox.png
subs=`ls "$SESSIONS"`
opt=$(echo -e "Create\nOpen\nDelete"| dmenu -fn "Droid Sans Mono-20" -i -p "firefox session:")
[[ "$opt" = "" ]] && exit 1
if [ "$opt" = "Create" ]; then
(! pidof firefox > /dev/null ) && notify-send -t 1000 -i $fireicon Firefox "Firefox is not running" && exit 1
opt1=$(echo "$subs"|dmenu -fn 'Droid Sans Mono-20' -i -p "Name it to create")
if [ -z "$opt1" ]; then
exit 0
fi
cp $PROFILE/sessionstore-backups/recovery.jsonlz4 $SESSIONS/$opt1 > /dev/null && notify-send -t 1000 -i $fireicon Firefox "Session created" && exit 0
elif [ "$opt" = "Open" ]; then
opt2=$(echo "$subs"|dmenu -fn 'Droid Sans Mono-20' -i -p "Name it to open")
if [ -z "$opt2" ]; then
exit 0
fi
killall firefox >/dev/null 2>&1
cp $SESSIONS/$opt2 $PROFILE/sessionstore.jsonlz4 > /dev/null
setsid firefox >/dev/null 2>&1 &
elif [ "$opt" = "Delete" ]; then
opt3=$(echo "$subs"|dmenu -fn 'Droid Sans Mono-15' -i -p "Name it to delete")
if [ -z "$opt3" ]; then
exit 0
fi
rm "$SESSIONS"/"$opt3" > /dev/null && notify-send -t 1000 -i $fireicon group "Session deleted" && exit 0
elif [ -z "$opt" ]; then
exit 0
fi
저는 이 스크립트를 호출하기 위해 키 바인딩을 사용합니다. 개선할 점이 있으면 알려주시기 바랍니다.
첨부된:저는 파이어폭스 69를 사용하고 있습니다.