forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.MAC

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 17.08.2016, 16:42
Serguei E. Leontiev
Guest
 
Сообщений: n/a
По умолчанию Re: (no subject)

Serguei E. Leontiev написал(а) к Vladimir Fyodorov в Jul 15 13:53:32 по местному времени:

From: "Serguei E. Leontiev" <leo@sai.msu.ru>

Владимир, привет,

Vladimir Fyodorov <Vladimir.Fyodorov@f15.n50.z2.fidonet.org> wrote:
>>>> osascript -e 'display dialog "Нello World"'
>>>> Из shell файла не запустилась?
> Кстати, да, не запустилась.
>
> i-opera:Desktop opera$ osascript -e 'display dialog "Нello World"'
> 0:28: execution error: No user interaction allowed. (-1713)

А это в скрипте запущенном под Automator не работает или это руками под ssh
или под другим пользователем (su или sudo)? Если под ssh или под другим
пользователем, то ничего удивительного.

>> Если мне не изменяет память, команда open на исполняемый файл -
>> откроет Терминал и в нём запустит этот файл. Ну а можно и ручками окно
>> Терминал-а открыть :)
> Ничего не понял.

Команда open - аналог клика мышкой в Finder на соотвествующий файл.

> Имеется shell-скрипт, который выполняется в Терминале. В процессе выполнения в
> окне Терминала виден ход выполнения скрипта. Хоть большинство операций
> разглядеть в подробностях не успеваешь, но общее впечатление о том, какие
> операции в данный момент выполняются, получить можно. Плюс видно, что ничего не
> зависло.
>
> Теперь я хочу, чтобы сам скрипт в открытом виде нигде не светился, то есть
> чтобы особо одарённые пользователи не могли его отредактировать простым
> открытием в текстовом редакторе. Внутрь .app вряд ли кто-нибудь полезет, к тому

А скажем права доступа настроить не будет ли достаточно:

$ chown root my-sh-script
$ chmod 755 my-sh-script

--
Успехов, Сергей Леонтьев, <http://www.cryptopro.ru> (NewsTap)
--- ifmail v.2.15dev5.4
Ответить с цитированием
  #2  
Старый 17.08.2016, 16:42
Serguei E. Leontiev
Guest
 
Сообщений: n/a
По умолчанию Re: (no subject)

Serguei E. Leontiev написал(а) к Serguei E. Leontiev в Jul 15 13:58:03 по местному времени:

From: "Serguei E. Leontiev" <leo@sai.msu.ru>

P.S.

"Serguei E. Leontiev" <leo@sai.msu.ru> wrote:
> А скажем права доступа настроить не будет ли достаточно:
>
> $ chown root my-sh-script
> $ chmod 755 my-sh-script

$ sudo chown root my-sh-script
$ sudo chmod 755 my-sh-script

--
Успехов, Сергей Леонтьев, <http://www.cryptopro.ru> (NewsTap)
--- ifmail v.2.15dev5.4
Ответить с цитированием
  #3  
Старый 17.08.2016, 16:42
Vladimir Fyodorov
Guest
 
Сообщений: n/a
По умолчанию Re: (no subject)

Vladimir Fyodorov написал(а) к Serguei E. Leontiev в Jul 15 14:59:12 по местному времени:

Разнообразно приветствую тебя, Serguei!

24 Июля 2015, Serguei E. Leontiev писАл к Vladimir Fyodorov следующее:

>> Кстати, да, не запустилась.
>> i-opera:Desktop opera$ osascript -e 'display dialog "Нello World"'
>> 0:28: execution error: No user interaction allowed. (-1713)
SL> А это в скрипте запущенном под Automator не работает или это руками
SL> под ssh или под другим пользователем (su или sudo)? Если под ssh или
SL> под другим пользователем, то ничего удивительного.

Под обычным пользователем, в Терминале на bash, без всяких ssh. Я могу у себя на компе сделать sudo, но предполагается, что скрипт будет работать и на других компах, а там у юзеров рута нету.

>>> Если мне не изменяет память, команда open на исполняемый файл -
>>> откроет Терминал и в нём запустит этот файл. Ну а можно и ручками
>>> окно Терминал-а открыть :)
>> Ничего не понял.
SL> Команда open - аналог клика мышкой в Finder на соотвествующий файл.

Это я знал. Непонятно, что мне это даёт.

>> Теперь я хочу, чтобы сам скрипт в открытом виде нигде не светился,
>> то есть чтобы особо одарённые пользователи не могли его
>> отредактировать простым открытием в текстовом редакторе.
SL> А скажем права доступа настроить не будет ли достаточно:
SL> $ chown root my-sh-script
SL> $ chmod 755 my-sh-script

Если б я был султ^W^W админ, то, наверное, прокатило бы. А так смотри выше.

Всяческих благ. Искренне Ваш, Vladimir Fyodorov, эсквайр.
... Слабый женский Poll ...
--- GoldED+/OSX 1.1.5-b20150715
Ответить с цитированием
  #4  
Старый 17.08.2016, 16:42
Serguei E. Leontiev
Guest
 
Сообщений: n/a
По умолчанию Re: (no subject)

Serguei E. Leontiev написал(а) к Vladimir Fyodorov в Jul 15 15:56:03 по местному времени:

From: "Serguei E. Leontiev" <leo@sai.msu.ru>

Привет Владимир,

От 24 июля 2015 г., 14:59:12 в fido7.ru.mac ты писал:
??>>> Кстати, да, не запустилась.
??>>> i-opera:Desktop opera$ osascript -e 'display dialog
??>>> "Нello World"' 0:28: execution error: No user
??>>> interaction allowed. (-1713)
SL>> А это в скрипте запущенном под Automator не работает или
SL>> это руками под ssh или под другим пользователем (su или
SL>> sudo)? Если под ssh или под другим пользователем, то ничего
SL>> удивительного.
VF> Под обычным пользователем, в Терминале на bash, без всяких ssh.
VF> Я могу у себя на компе сделать sudo, но предполагается, что
VF> скрипт будет работать и на других компах, а там у юзеров рута
VF> нету.

Эк её заколбасило, что программа с пользователем взаимодействовать не
может :) А что выдаёт команда:

$ env

??>>>> Если мне не изменяет память, команда open на
??>>>> исполняемый файл - откроет Терминал и в нём
??>>>> запустит этот файл. Ну а можно и ручками окно
??>>>> Терминал-а открыть :)
??>>> Ничего не понял.
SL>> Команда open - аналог клика мышкой в Finder на
SL>> соотвествующий файл.
VF> Это я знал. Непонятно, что мне это даёт.
??>>> Теперь я хочу, чтобы сам скрипт в открытом виде нигде
??>>> не светился, то есть чтобы особо одарённые пользователи
??>>> не могли его отредактировать простым открытием в
??>>> текстовом редакторе.
SL>> А скажем права доступа настроить не будет ли достаточно:
SL>> $ chown root my-sh-script
SL>> $ chmod 755 my-sh-script
VF> Если б я был султ^W^W админ, то, наверное, прокатило бы. А так
VF> смотри выше.

Ладно, можно ж и просто:

$ chmod 555 my-sh-script


--
Успехов, Сергей Леонтьев. E-mail: lse@CryptoPro.ru


--- ifmail v.2.15dev5.4
Ответить с цитированием
  #5  
Старый 17.08.2016, 16:42
Serguei E. Leontiev
Guest
 
Сообщений: n/a
По умолчанию Re: (no subject)

Serguei E. Leontiev написал(а) к Vladimir Fyodorov в Jul 15 00:22:25 по местному времени:

From: "Serguei E. Leontiev" <leo@sai.msu.ru>

Привет Владимир,

От 24 июля 2015 г., 8:54:04 в fido7.ru.mac ты писал:
VF> весьма затруднительно. То есть вариант с запуском шелл-скрипта
VF> из приложения, сделанного Автоматором, меня почти устраивает.
VF> Одно но. Теперь не видно хода выполнения самого скрипта, лишь
VF> крутится колёсико Автоматора в верхней строке меню Finder'а.
VF> Поскольку скрипт может работать долго, то легко про него забыть
VF> и, например, выключить компьютер. А если перед глазами будет
VF> окошко, показывающее ход выполнения и то, что он не завис, было

Макет такого решения, которое использует Терминал и файл
псевдотерминала, на который перенаправляется stdout и stderr действующей
части shell-скрипта можно взглянуть

https://yadi.sk/d/S2PbOiO2iBoxQ

Состоит из следующих действий:

1. AppleScript, который запускает или вытаскивает на передний план
Терминал, создаёт в нём окошко, результат: имя псевдотерминала
единственной вкладки этого окошка;

2. Shell-скрипт, который получает имя этого псевдотерминала в качестве
аргумента. Полезную деятельность он выполняет в скобках с
перенаправлением stdout и stderr на этот псевдотерминал. Результат: имя
псевдотерминала;

3. AppleScript, который получает имя псевдотерминала на вход.
Перечисляет все вкладки всех окон Терминала, находит окно вкладка
которого имеет этот псевдотерминал и закрывает его.

--
Успехов, Сергей Леонтьев. E-mail: lse@CryptoPro.ru


--- ifmail v.2.15dev5.4
Ответить с цитированием
  #6  
Старый 17.08.2016, 16:42
Vladimir Fyodorov
Guest
 
Сообщений: n/a
По умолчанию Re: (no subject)

Vladimir Fyodorov написал(а) к Serguei E. Leontiev в Jul 15 12:51:18 по местному времени:

Разнообразно приветствую!

VF>> весьма затруднительно. То есть вариант с запуском шелл-скрипта из
VF>> приложения, сделанного Автоматором, меня почти устраивает. Одно
VF>> но. Теперь не видно хода выполнения самого скрипта, лишь крутится
VF>> колёсико Автоматора в верхней строке меню Finder'а. Поскольку
VF>> скрипт может работать долго, то легко про него забыть и,
VF>> например, выключить компьютер. А если перед глазами будет окошко,
VF>> показывающее ход выполнения и то, что он не завис, было
SE> Макет такого решения, которое использует Терминал и файл
SE> псевдотерминала, на который перенаправляется stdout и stderr
SE> действующей части shell-скрипта можно взглянуть
SE> https://yadi.sk/d/S2PbOiO2iBoxQ Состоит из следующих действий:

Спасибо, на словах очень похоже на то, что мне нужно. На следующей неделе постараюсь попробовать.


--
Всяческих благ. Искренне Ваш, Vladimir Fyodorov, эсквайр.
... Пропала несущая? Заплатите налоги!
--- Нotdoged/2.11/Android
Ответить с цитированием
  #7  
Старый 17.08.2016, 16:42
Vladimir Fyodorov
Guest
 
Сообщений: n/a
По умолчанию Re: (no subject)

Vladimir Fyodorov написал(а) к Serguei E. Leontiev в Aug 15 14:33:12 по местному времени:

Разнообразно приветствую тебя, Serguei!

31 Июля 2015, Vladimir Fyodorov писАл к Serguei E. Leontiev следующее:

SE>> Макет такого решения, которое использует Терминал и файл
SE>> псевдотерминала, на который перенаправляется stdout и stderr
SE>> действующей части shell-скрипта можно взглянуть
SE>> https://yadi.sk/d/S2PbOiO2iBoxQ Состоит из следующих действий:
VF> Спасибо, на словах очень похоже на то, что мне нужно. На следующей
VF> неделе постараюсь попробовать.

Попробовал, но что-то с пол-оборота не завелось. Псевдотерминал открывается, но ход выполнения скрипта он не отображает. Всё равно спасибо за интересную идею, наверняка, можно разобраться, почему у меня не пошло. Но я вернулся к предыдущей идее - спрятать файл со скриптом внутри приложения - и оно таки получилось!

Рассказываю, как делал (больше для себя, чтобы потом смог вспомнить). Создал пустое приложение в Автоматоре, положил внутрь него скрипт по пути:
~/Desktop/Makearchive.app/Contents/MacOS/Makearchive

Затем в том же Автоматоре указал:
Get Specified Finder Items (ну и указал этот файл скрипта)
Open Finder Items (Open with - выбрал Terminal)

http://pics.rsh.ru/img/SSS_jmhtg7ek.jpg

Сохранил приложение (при этом файл скрипта из него закономерно удалился) и заново положил внутрь свой скрипт.

Работает!

Всяческих благ. Искренне Ваш, Vladimir Fyodorov, эсквайр.
... Одним коннектом сыт не будешь
--- GoldED+/OSX 1.1.5-b20150715
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 12:58. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot