내 상황은 간단합니다. 개인용과 업무용이라는 두 가지 브라우저 프로필이 있습니다. 이제 URL을 가져올 수 있는 소스가 두 개 있습니다.
내 목표는 개인 프로필을 사용하여 한 소스(예: Slack)에서 URL을 열고 직장 프로필을 사용하여 다른 소스(예: Teams)에서 URL을 여는 방법을 갖는 것입니다. /usr/share/applications에 올바른 항목을 만들었고 bin 디렉토리에서 스크립트를 실행하면 제대로 작동하지만 ofc는 동일한 프로필을 가진 모든 링크를 엽니다. 이 문제를 해결하는 세 가지 방법이 있습니다.
- 과거 어딘가에서 Shift-클릭/Ctrl-클릭을 사용할 수 있고 클릭과 다른 응용 프로그램에서 작동하지만 내부적으로 무슨 일이 일어나고 있는지, 어떻게 사용하는지에 대한 정보를 찾을 수 없다고 들었습니다.
- 일부 전역 변수를 사용하면 몇 가지 단축키로 이를 변경할 수 있으며 브라우저를 여는 스크립트에서 사용할 수 있습니다. 스크립트와 함께 echo를 사용하여 일부 파일에 쓰고 rofi를 사용하여 실행할 수 있지만 그것이 우아한지는 확실하지 않습니다.
- 링크를 클릭한 컨텍스트를 OS에 알리려면 Slack에서 가져온 경우 앱 A를 사용하고 Teams에서 앱 B를 사용하면 앱 A를 사용하세요.
저는 X11에서 bspwm과 sxhkd를 사용하고 있습니다.
당신이 나라면 어떤 방향으로 갈 것인지 안내해 주시고, 어디를 더 파헤쳐야 하는지 자세히 알려주실 수 있나요?
답변1
잘 모르겠지만 qutebrowser
이 브라우저 래퍼에서 어떤 프로필을 사용하고 있는지 확인하려면 다음을 수행하세요.
#!/usr/bin/env bash
profileInUse=$(
{
lsof ~/.config/qutebrowser/*/* \
~/.mozilla/firefox/*/.parentlock \
~/.config/chromium/Profile*/Cookies 2>/dev/null
} | grep -oPm1 '(qutebrowser|chromium|firefox)/[^/+]+'
)
case "$profileInUse" in
qutebrowser/work*)
qutebrowser --profile work "$@"
;;
qutebrowser/home*)
qutebrowser --profile home "$@"
;;
chromium/z*)
chromium --user-data-dir=z "$@"
;;
firefox/x*)
firefox -P x "$@"
;;
*)
echo >&2 "NOT implemented browser error ${profileInUse%/*}"
exit 1
;;
esac
browser
경로에 저장 하고 시스템을 기본 브라우저로 설정합니다. 예:
xdg-settings set default-web-browser browser.desktop
(파일을 생성해야 합니다 browser.desktop
.)