[Homeros] I: Linux Journal о Luwrain

andrey macsimenco amacsimenco на gmail.com
Вт Июл 7 23:34:17 MSK 2015


Миша, то есть, в качестве shell-оболочки предлагается javascript?
А в чем его преимущества перед привычным bash?
Может тогда лучше perl? У него мощный инструмент для работы с текстами.
А какая проблема с безопасностью? luwrain же не от root запускается.
Системные файлы все-равно не повредишь. Или я неправ и из luwran
чего-нибудь напортачить в системе таки можно?

07.07.15, Michael Pozhidaev<msp на altlinux.ru> написал(а):
> "Nikita" writes:
>
>> команды, например, просто установка приложения Luwrain для Facebook
>> сможет добавить туда команду для быстрого изменения статуса в
>> соц. сети, или ты гвоздями прибил туда десяток команд?
>
> Значит, сейчас будут некоторые подробности дизайна Luwrain. В ядре
> Luwrain есть два понятия shortcut и Command. Shortcut - это имя приложения
> плюс набор
> параметров переменной длины. Приложение может быть запущено только по
> указанию имени shortcut. Запустить приложение без этого может только
> ядро. Роль shortcut - идентифицировать приложение, скажем, чтобы можно
> было бы давать ассоциации разным типам файлов. В коде есть своего рода
> фабрика, которая берёт имя shortcut и параметры, а на выходе даёт
> полностью подготовленный экземпляр интерфейса
> org.luwrain.core.Application, который проходит дальнейший цикл запуска
> приложения.
>
> Вместе с каждым shortcut идёт экземпляр command. Идти ему там - не
> строгое правило, но своего рода хороший тон. Задача command - описать
> некоторое действие в системе со следующими правилами:
>
> 1. Действие безконтекстное. То есть может быть вызвано в любой момент
> времени при любом состоянии системы.
>
> 2. Command (в отличие от shortcut) параметров не имеет.
>
> Основной набор пунктов главного меню задаётся списком command, можно
> найти в реестре по пути /org/luwrain/main-menu/content. Alt+x даёт
> возможность просто вызвать любой из известных command. На command
> назначаются и глобальные горячие клавиши. Их можно найти в реестре по
> пути /org/luwrain/global-keys. Пока соблюдаем традицию, что если command
> по имени совпадает с некоторым shortcut, то он просит ядро запустить
> приложение, описываемое этим shortcut, без каких-либо параметров.  Но в
> целом возможности command довольно широки. Там есть системные, которые
> подразумевают доступ в ядро системы, но и полномочия сторонних весьма
> широки. Малость спорный момент - позволять ли command открывать
> диалоговые окна. Пока это разрешено только системным command. Например,
> quit запрашивает подтверждение на выход.
>
> Shortcut и Command - это классы Java. Поставляются вместе с расширениями
> luwrain. Расширение Luwrain - это jar-файл, манифест которого содержит
> специальную запись о том, что есть классы, которые должны быть загружены
> как расширения. Полномочия расширений пока уточняются, как зафиксируем,
> я выложу на сайт, но Shortcut и Command там будут уже точно. Все
> приложения идут как расширения. Их можно видеть как файлы
> luwrain-app-*.jar.
>
> Язык каких-нибудь кастомных скриптов будет точно. Это неизбежно. Понятно
> дело, возможность создавать свои Shortcut и Command там должна быть. С
> вероятностью две трети это будет Java Script. Есть нерешённые вопросы,
> которые обсуждаются:
>
> 1. Должна ли поддержка скриптов быть в ядре или её можно поставлять как
> расширение. Есть свои плюсы и минусы.
>
> 2. Круг задач, которые могут выполнять скрипты. Например, можно ли им
> давать доступ к файловой системе? Это вопрос безопасности. Если люди
> будут скачивать скрипты из сети, а они будут шариться по файлам, это
> как-то не очень хорошо. С самими расширениями, я надеюсь, будет проще,
> потому что в Java есть SecurityManager, который может менять набор
> допустимых операций. То есть как только управление переходит в
> расширение, так у нас должна быть возможность зарубить файлы, сокеты и
> т. д.  Пользователь сможет в Панели управления сам выбирать, какие
> полномочия дать расширению.
>
> --
> Michael Pozhidaev. Tomsk, Russia.
> Russian info page: http://www.marigostra.ru/
> English info page: http://www.marigostra.com/
> _______________________________________________
> Homeros mailing list
> Homeros на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/homeros
>


Подробная информация о списке рассылки Homeros