Как запустить Chrome, используя указанный "профиль пользователя"?
Я использую новую встроенную функцию "Пользователи" в Chrome, чтобы легко переключаться между домашней и рабочей учетными записями. Однако Chrome запоминает "последний" профиль пользователя, который вы выбрали при запуске новых окон. Это проблема, если я в последний раз закрываю свой "Домашний" профиль, потому что когда я нажимаю ярлык "Электронная почта" на моей панели задач, потому что он переходит на mail.mycompany.com с использованием моего Домашнего профиля, и я не захожу в систему.
Я хотел бы изменить ярлык на веб-почту компании, чтобы передать параметр, который говорит Chrome всегда запускаться как пользователь по умолчанию, независимо от того, кто последний использовал.
Примечание: я пробовал параметр командной строки --user-data-dir=…
и это, кажется, делает что-то совсем другое, полностью изолированное от функциональности Users, встроенной в Chrome. Возможно, я использую это неправильно, но, пожалуйста, проверьте это, прежде чем предположить, что он делает то же самое и опубликовать ответ;-)
12 ответов
Аргумент командной строки, который вы ищете --profile-directory=Default
,
Вот полная командная строка для Mac OS X:
open -a "Google Chrome" --args --profile-directory=Default
Обратите внимание open
Поэтому команда не запускает новые экземпляры, так как многие приложения не смогут работать с несколькими экземплярами, работающими под одним и тем же пользователем. Однако есть -n
аргумент, чтобы сделать это в любом случае, но это может сломать приложение.
И для Linux:
google-chrome --profile-directory=Default
Он ожидает, что внутренние имена профилей: мой второй профиль, названный "Лимонад" Chrome, будет --profile-directory="Profile 1"
,
Определите имя профиля методом проб и ошибок или просмотрите Local State
файл (см. ответ Джастина Бьюзера).
В Mac OS X каталоги расположены в ~/Library/Application Support/Google/Chrome
, В Linux они расположены в ~/.config/google-chrome
, В Win7 они расположены в %USERPROFILE%\AppData\Local\Google\Chrome\User Data
,
Метод графического интерфейса с соответствующим значком (для Windows)
- Тип
chrome://settings/
в адресной строке (илиMenu
>Settings
) - Прокрутите вниз до
Users
раздел - Выберите пользователя, отмеченного
(current)
& нажмитеEdit
кнопка - Теперь нажмите
Add desktop shortcut
Необязательно Переключитесь на любой другой профиль и повторите шаги 1-4
Это создает ярлык для вашего профиля с правильным изображением на значке тоже. Вы можете перетащить несколько профилей на панель задач Windows. Ярлык на значке Windows 7 указывает на
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Default"
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Profile 1"
and so on...
Другой, хотя и менее удобный способ выбора профиля, который нужно запустить, - это отредактировать файл Local State в каталоге пользовательских данных Chrome и выполнить поиск "last_used": если вы измените значение, которое он перечисляет, на другой профиль, который откроет в следующий раз, когда вы запустите Chrome в обычном режиме (если, конечно, вы не используете переключатель, упомянутый выше).
Я упоминаю об этом только в случае, если кто-то заинтересован в более глубоком решении, этот файл Local State содержит отформатированный список настроек в формате JSON, который некоторые могут найти полезным.
--profile-directory
бесполезно, если у вас уже открыт другой профиль или последнее закрытое окно связано с другим профилем.
У меня есть ярлыки приложений с одним профилем. Ярлыки приложений имеют --profile-directory="Profile 3"
плюс --app="..
Ярлык профиля по умолчанию имеет --profile-directory="Default"
,
Оба профиля перепутаны. Расширения и ярлык по умолчанию, который я использую для ежедневного просмотра.
в OSX, используяopen -a "Google Chrome"...
версия мне не подошла.
Но это работает при использовании полного пути:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --profile-directory="Profile 1"
Я только что проверил это с 4 профилями в версии Chrome 22.0.1229.94 m:
С уважением, я думаю, что путаница заключается в следующем:
chrome.exe
без каких-либо переключателей этот новый запущенный экземпляр откроется с профилем самого последнего закрытого окна / экземпляра Chrome.--profile-directory
метод, экземпляр / окно с соответствующим логином, независимо от того, какие окна / экземпляры / профили запущены в данный момент и / или какое было последнее закрытие.Вот отличный способ открыть Chrome на Mac с новым профилем пользователя:
open -n -a "Google Chrome" --args --user-data-dir=$(mktemp -d)
Это все еще работает с Chrome Windows по состоянию на 24.04.2013. Я создал ярлык для каждого из 3 профилей, между которыми я обычно переключаюсь, и назначил каждому ярлыку уникальную "клавишу быстрого доступа".
Еще одна тонкость - значок пользователя вашего профиля находится в подкаталоге профиля, например: %USERPROFILE%\AppData\Local\Google\Chrome\User Data\Profile 1. Я назначил значок пользователя моего профиля ярлыку Windows.
Я не могу надёжно разместить 3 ярлыка отдельно на панели задач Win7; победа 7, кажется, теряет счет после 2.
Я написал сценарий для запуска Chrome с заданным профилем, выбранным по удобному для пользователя имени профиля (а не по имени каталога профиля). Это для Linux, в частности для Debian 11. Мы могли бы настроить его для других систем со ссылкой на другие ответы. Он использует jq.
Первый аргумент — имя профиля, остальные передаются вgoogle-chrome
командная строка.
Пример использования:
chrome_profile "Profile Name" https://google.com/
chrome_profile
:
#!/bin/bash -eua
profile_name=$1; shift
local_state=~/.config/google-chrome/Local\ State
profile_key=`< "$local_state" jq -r '
.profile.info_cache | to_entries | .[] |
select(.value.name == env.profile_name) | .key'`
[ -n "$profile_key" ]
google-chrome --profile-directory="$profile_key" "$@"
Мы можем перечислить ключи и имена всех профилей следующим образом:
chrome_profiles_list
:
< ~/.config/google-chrome/Local\ State \
jq -r '.profile.info_cache | to_entries | map(.key + ": " + .value.name) | .[]' |
sort -k1,1 -k2,2n
Ответ Сэма Уоткинса, приведенный выше, мне не совсем подошел, так как у меня установлен Chromium [в частности, версия 90.0.4430.212 (сборка для разработчиков), построенная на Debian 10.9 и работающая на Debian 10.9 (32-разрядная версия)] вместо Google Chrome, мне также пришлось внесите еще пару изменений. Отдайте должное ответу Сэма за основные функции. Вот мое адаптированное решение, обычно скопированное с их, отмечаю внесенные впоследствии изменения.
Это для Линукса. Он использует jq. Возможно, вам придется запустить один раз, прежде чем использовать сценарии.
Первый аргумент — это имя профиля, остальные передаются в командную строку Chrome.
Если указано только имя профиля, он открывается на домашней странице по умолчанию.
Если запустить без каких-либо аргументов, откроется хром, предлагающий выбор известных профилей. (Но если Chrome уже запущен, он фактически ничего не делает. Конечно, если он уже запущен, вы можете просто выбрать другой профиль, щелкнув значок своего профиля рядом с адресной строкой.)
Пример использования:
chromium_profile «Имя профиля» https://google.com/
chromium_profile
:
#!/bin/bash -eu
profile_name=$1; shift
local_state=~/.config/chromium/Local\ State
profile_key=`< "$local_state" jq -r '
.profile.info_cache | to_entries | .[] |
select(.value.name == "'"$profile_name"'") | .key'`
[ -n "$profile_key" ]
chromium --profile-directory="$profile_key" "$@"
Мы можем перечислить ключи и имена всех профилей следующим образом:
chromium_profiles_list
:
< ~/.config/chromium/Local\ State \
jq -r '.profile.info_cache | to_entries | map(.key + ": " + .value.name) | .[]' |
sort -k1,1 -k2,2n
Специально для адаптации ответа Сэма мне пришлось
- измените пути с google-chrome на chromium. Для других браузеров, основанных на Chrome/Chrome (например, Vivaldi), аналогичное изменение, вероятно, сработает. Вы можете окончательно найти путь, запустив
find ~ -name Local\ State
- изменить разрешения на моем
~/.config/chromium/Local\ State
файл, чтобы разрешить доступ - поскольку на машине, которую я только что запустил, существуют только мой пользователь и root
chmod 777 ~/.config/chromium/Local\ State
- Хотя jq, очевидно, установился нормально, эта часть кода Сэма просто вернула мне пустые строки:
env.profile_name
.По какой-то причине переменная среды не прошла. Поэтому я использую ужасные кавычки, чтобы вместо этого вставить значение переменной непосредственно в командную строку jq.
По состоянию на апрель 2016 года на Yosemite мне удалось найти Google Apps для всех моих 15 профилей Google (да, 15). Некоторые были в ~/Applications/Chrome Apps, хотя нам сказали, что они уходят.
Чтобы найти их все, я должен был сделать это:
- Перейдите в ~ / Библиотека / Поддержка приложений /Google/Chrome.
- В Spotlight поиск по виду: приложение
- Найдите 300kb "Приложения" с такими именами, как Gmail (имя пользователя).
- Скопируйте те, которые вы хотите, и переименуйте их, затем поместите в выбранную папку "Приложения".
Я думаю, что более новая версия Chrome уже решила эту проблему. Когда вы входите с новым пользователем в Chrome, он автоматически создает значок ярлыка для этого пользователя на рабочем столе.