Google Chrome открывается из терминала, но не из сценария Bash

Я пытаюсь автоматизировать процесс запуска Ubuntu 14.04, чтобы сэкономить время. Я написал скрипт bash, чтобы открыть все вкладки браузера, которые мне нужны, когда машина запускается. Когда я выполняю команды вручную, например:

gnome-open https://askubuntu.com

Или

xdg-open http://askubuntu.com/

Он отлично работает и открывает окно браузера Google Chrome.

Однако всякий раз, когда я пытаюсь выполнить одну из этих команд в скрипте bash, например:

#!/bin/bash
gnome-open http://askubuntu.com/

И запускаю скрипт, я получаю сообщения об ошибках:

sudo browserinit.sh
[0823/102740.514014:ERROR:nss_util.cc(94)] Failed to create /home/devel1/.pki/nssdb directory.
[0823/102740.514014:ERROR:nss_util.cc(94)] Failed to create /home/devel1/.pki/nssdb directory.
--2017-08-23 10:27:40--  https://clients2.google.com/cr/report
--2017-08-23 10:27:40--  https://clients2.google.com/cr/report
Resolving clients2.google.com (clients2.google.com)... Resolving clients2.google.com (clients2.google.com)... 74.125.133.102, 74.125.133.113, 74.125.133.138, ...
Connecting to clients2.google.com (clients2.google.com)|74.125.133.102|:443... 74.125.133.101, 74.125.133.102, 74.125.133.139, ...
Connecting to clients2.google.com (clients2.google.com)|74.125.133.101|:443... connected.
connected.
HTTP request sent, awaiting response... HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/dev/fd/4’

Crash dump id: 2fba097c3e4a2189

     0K                                                        1.58M=0s

--2017-08-23 10:27:41--  https://clients2.google.com/cr/report

Когда Я использую xdg-open в скрипте, он использует Firefox, который я не хочу использовать, потому что у него нет некоторых функций, которые мне нужны. gnome-open просто ничего не открывается.

sudo gnome-open http://askubuntu.com

Выдает ту же ошибку, что и скрипт bash. Я проверил, и каталог /home/devel1/.pki/nssdb уже существует, поэтому я не знаю, почему Google Chrome будет пытаться создать его снова, или почему он делает это только при выполнении команды от имени root sudo.

1116 Любая помощь приветствуется. В настоящее время bash-скрипты не работают без sudo, хотя я , возможно, смогу изменить разрешения для этого, если кто-нибудь подскажет мне способ сделать это, который определенно изменит их только для моего локального ПК и только для Пользователь devel1.

У меня нет настоящего суперпользователя root-доступа к этой машине в настоящее время.

0
задан 25 August 2017 в 10:44

1 ответ

Вы запускаете сценарий с полного пути или относительного пути.

Полный путь был бы для Вас:

/home/devel1/.pki/browserinit.sh

Родственник зависел бы от того, где Вы хотите запуститься, предполагая, что Вы находитесь в каталоге сценария:

./browserinit.sh

Как другие сказал, не выполняйте браузер никогда как корень, так как это позволяет любой скрипт, запущенный в веб-сайте, который Вы открываете для изменения целой файловой системы, если это хочет сделать так. Это просто не безопасно. Также это уничтожает Ваши домашние полномочия файлов, который делает их не доступными без корневых прав больше, так как все недавно созданное будет теперь принадлежать корню.

Как я записал в разделе комментария. Поскольку скоро у Вас есть "sudo" права, у Вас ДЕЙСТВИТЕЛЬНО есть истинный корневой доступ.

0
ответ дан 25 August 2017 в 20:44

Другие вопросы по тегам:

Похожие вопросы: