私の状況は簡単です。個人用と仕事用の2つのブラウザプロファイルがあります。これでURLを取得できる2つのソースがあります。
私の目標は、個人プロファイルを使用してあるソース(Slackなど)でURLを開き、職場プロファイルを使用して別のソース(Teamsなど)からURLを開く方法を持つことです。 /usr/share/applicationsに正しいエントリを作成し、binディレクトリでスクリプトを実行すると正常に動作しますが、ofcは同じプロファイルを持つすべてのリンクを開きます。この問題を解決するには3つの方法があります。
- 過去のどこかでShift-Click / Ctrl-Clickを使用でき、クリックや他のアプリケーションで動作しますが、内部的に何が起こっているのか、どのように使用するのかについての情報が見つかりませんでした。
- 一部のグローバル変数を使用すると、いくつかのショートカットで変更でき、ブラウザを開くスクリプトで使用できます。スクリプトで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
。)