Postanawiam otworzyć adres URL w nowym oknie za pomocą polecenia:
$ open -na 'Google Chrome' 'https://www.etymonline.com/'
Otworzyło nowe okno puste.
Postanawiam otworzyć adres URL w nowym oknie za pomocą polecenia:
$ open -na 'Google Chrome' 'https://www.etymonline.com/'
Otworzyło nowe okno puste.
Odpowiedzi:
Musisz skorzystać z --args
opcji , np .:
open -na 'Google Chrome' --args --new-window 'https://www.etymonline.com/'
Ze strony podręcznika polecenia open :
--args
Wszystkie pozostałe argumenty są przekazywane do otwartej aplikacji w parametrze argv do main (). Argumenty te nie są otwierane ani interpretowane przez otwarte narzędzie.
Aby uzyskać więcej Google Chrome przełączników wiersza poleceń , które mogą być dodawane do --args
opcji tego open
polecenia , sprawdź następujący adres URL .
Od: Lista przełączników linii poleceń Chromium
Istnieje wiele wierszy poleceń, których można używać w przeglądarce Google Chrome. Niektóre zmieniają zachowanie funkcji, inne służą do debugowania lub eksperymentowania. Ta strona zawiera listę dostępnych przełączników, w tym ich warunki i opisy.
Innym podejściem byłoby użycie AppleScript z wiersza poleceń , np .:
osascript -e 'tell application "Google Chrome" to set URL of active tab of (make new window) to "https://www.etymonline.com/"'
Dla łatwości użycia możesz zawinąć to w funkcję i umieścić w swoim pliku ~/.bash_profile
lub ~/.profile
pliku, np .:
openurl ()
{
if [ -n "$1" ]; then
osascript -e "tell application \"Google Chrome\" to set URL of active tab of (make new window) to \"$1\""
else
printf "\n Missing URL...\n\n Syntax: openurl 'URL'\n\n Example: openurl 'http://www.google.com'\n\n"
fi
}
Następnie w Terminalu po prostu użyj następujących opcji, np .:
openurl 'https://www.etymonline.com/'
Jeśli wykonasz openurl
bez argumentu , otrzymasz następujące dane wyjściowe:
$ openurl
Missing URL...
Syntax: openurl 'URL'
Example: openurl 'http://www.google.com'
$
Uwaga: Adres URL jest zawinięty w pojedyncze cudzysłowy, aby zapewnić, że nie dojdzie do rozwinięcia, gdy adres URL zostanie przekazany do funkcji, jeśli zawiera on znaki specjalne powłoki . Pojedyncze cudzysłowy można pominąć w przypadku podstawowych / prostych adresów URL.
To samo podejście można zastosować również do open
polecenia . To powiedziawszy, powodem, dla którego postanowiłem owinąć AppleScript w funkcję, jest w pewnym momencie open
polecenie użyte w ten sposób w przeglądarce Google Chrome . Dzieje się tak, ponieważ gdy Google Chrome jest już otwarty, otwiera drugą instancję , która jest następnie przekazywana do pierwszej instancji, a druga instancja zostaje zakończona. To zachowanie może stać się problematyczne, gdy Goggle Chrome zostanie zaktualizowany, a AppleScript w funkcji nie będzie, ponieważ mówi tylko do pierwszegowystąpienie z Google Chrome .
--new-window
dodając do --args
opcji . Otwiera URL w nowym oknie i działało dla mnie.
Powyższe odpowiedzi działają z wiersza polecenia, ale jeśli chcesz, aby Chrome domyślnie otwierał wszystko w nowym oknie wszędzie (i nie tylko z wiersza poleceń), musisz zmienić procedury obsługi plików http / https na skrypt, który robi to, co chcesz.
Po ustawieniu domyślnego modułu obsługi do otwierania nowego okna będzie on działał z wiersza polecenia lub po kliknięciu łącza w poczcie lub w podobny sposób, a tym samym znacznie lepiej zintegruje się ze Spaces, ponieważ uzyskasz nowe okno na bieżącym miejscu z pożądany link, zamiast nowej karty w innej Przestrzeni, na którą musisz polować.
W szczególności potrzebujesz takiego skryptu:
on open location theURL
tell application "/Applications/Google Chrome.app"
make new window
activate
set URL of active tab of first window to theURL
end tell
end open location
Następnie zapisujesz go w ScriptEditor jako aplikację, uruchom go, aby zarejestrować go w LaunchServices, i edytuj plik ~ / Library / Preferences / com.apple.LaunchServices / com.apple.launchservices.secure.plist, aby aplikacja była domyślna dla http / https.
Możesz znaleźć zintegrowane rozwiązanie ze skryptem jako aplikacją i (w bieżącym komentarzu) skrypt edycyjny PList, aby poinformować system o używaniu Twojej aplikacji tutaj:
https://smoove-operator.blogspot.com/2011/06/open-links-from-external-applications.html
Inspiracja z http://pepijndevos.nl/2010/05/open-external-links-in-running-browser/ i https://github.com/primalcurve/macsupportpub/blob/master/scripts/setGoogleChromeAsDefaultBrowser_Scrubbed.sh