Decido di aprire un URL in una nuova finestra con il comando:
$ open -na 'Google Chrome' 'https://www.etymonline.com/'
Ha aperto una nuova finestra in bianco.
Devi utilizzare l'opzione --args
, ad esempio:
open -na 'Google Chrome' --args --new-window 'https://www.etymonline.com/'
Dalla pagina di manuale per aperto comando :
--args
All remaining arguments are passed to the opened application in the argv parameter to main(). These arguments are not opened or interpreted by the open tool.
Per ulteriori Google Chrome opzioni della riga di comando che potrebbero essere aggiunti all'opzione --args
del comando open
, controlla il seguente URL .
Da: Elenco degli switch della riga di comando di Chromium
There are lots of command lines which can be used with the Google Chrome browser. Some change behavior of features, others are for debugging or experimenting. This page lists the available switches including their conditions and descriptions.
Un altro approccio sarebbe utilizzare AppleScript dalla riga di comando , ad es.
osascript -e 'tell application "Google Chrome" to set URL of active tab of (make new window) to "https://www.etymonline.com/"'
Per facilità d'uso, puoi racchiuderlo in una funzione e inserirla nel tuo file ~/.bash_profile
o ~/.profile
, ad es.
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
}
Quindi, nel Terminale , utilizza semplicemente quanto segue, ad esempio:
openurl 'https://www.etymonline.com/'
Se esegui openurl
senza un argomento , ottieni il seguente risultato:
$ openurl
Missing URL...
Syntax: openurl 'URL'
Example: openurl 'http://www.google.com'
$
Nota: l'URL viene mostrato racchiuso tra virgolette singole e questo per garantire che nessuna espansione avvenga quando l'URL viene passato alla funzione se ha shell caratteri speciali in esso. Le virgolette singole possono essere omesse per URL semplici / semplici.
Questo stesso approccio può essere applicato anche al comando open
. Detto questo, il motivo per cui sceglierei di includere il AppleScript in una funzione è a un certo punto il open
comando usato in questo modo con Google Chrome potrebbe interrompersi. Questo perché quando Google Chrome è già aperto, apre una seconda istanza , che viene quindi passata alla prima istanza e alla seconda istanza terminata. Questo comportamento potrebbe diventare problematico poiché Goggle Chrome è aggiornato, in cui il AppleScript in una funzione non lo sarà, poiché si parla solo del primo istanza di Google Chrome .
Le risposte sopra funzionano dalla riga di comando, ma se vuoi che Chrome apra le cose in una nuova finestra ovunque per impostazione predefinita (e non solo dalla riga di comando) devi modificare i gestori di file http / https in uno script questo fa quello che vuoi
Con un gestore predefinito impostato per aprire una nuova finestra, funzionerà dalla riga di comando o quando si fa clic su un collegamento in Mail o simili, e quindi si integrerà molto meglio con Spaces dato che si aprirà una nuova finestra sul lo spazio corrente con il tuo link desiderato, invece di una nuova scheda in qualche altro spazio a cui devi cacciare.
In particolare hai bisogno di uno script come questo:
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
Quindi lo salvi da ScriptEditor come un'app, eseguilo per registrarlo con LaunchServices e modifica il file ~ / Library / Preferences / com.apple.LaunchServices / com.apple.launchservices.secure.plist per avere la tua app come predefinito per http / https.
Puoi trovare una soluzione integrata con lo script come app e (in un commento corrente) uno script di modifica PList per dire al sistema di usare la tua app qui:
Leggi altre domande sui tag google-chrome