Сообщество - GNU/Linux

GNU/Linux

1 172 поста 15 634 подписчика

Популярные теги в сообществе:

89

Файлы ярлыков приложений (".desktop") и их меню

В Linux значки и описания программ (приложений) хранятся отдельно от исполняемых файлов. Для GUI-программ составляют "файлы рабочего стола" (desktop files), схожие по назначению с ярлыками в Windows. Более удобного имени нет, поэтому пусть и здесь будут ярлыками.


Расширение - ".desktop"; имя любое. Формат ярлыков схож с форматом файлов ".ini" в Windows. То есть это структурированный текст, разделённый на группы; имя группы в квадратных скобках; в группах заданы строки-параметры вида "ключ=значение"; строка-комментарий начинается с #.


Общие ярлыки приложений хранят в /usr/share/applications; свои - в ~/.local/share/applications. Для примера - сценарий оболочки и его ярлык.


Сценарий:


#/usr/bin/env bash


# Сценарий top10t.sh

# Хранить следует здесь: ~/.local/bin/

# Сделать исполняемым: chmod u+x ~/.local/bin/top10t.sh


# Десять самых жадных до процессора процессов/потоков.

# Процессы отсортированы по убыванию жадности.

# Ежесекундное обновление.


/usr/bin/watch -p -n 1 \

"ps k -%cpu -eL -o pid,comm,%cpu | head"


# Завершить - Ctrl C.


Ярлык:


# ~/.local/share/applications/top10t.sh.desktop


# Общее название группы для всех файлов ".desktop".

# Строка [Desktop Entry] - первая; прочие - в любом порядке.

[Desktop Entry]


# Какой версии спецификации соответствует сам этот файл.

# Свежая - 1.1. Не обязательно.

Version=1.0


# Кодировка самого файла. Обычно - UTF-8.

# Списки есть, например, у iconv. Не обязательно (устарело).

# Encoding=UTF-8


# Тип объекта: Application - приложение;

# Directory - категория; Link - ссылка на ресурс Интернета.

Type=Application


# "Категория" здесь - это заголовок подменю

# в общем меню приложений. Здесь не переводится.

# В значении может быть несколько частей,

# их отделять символом ;.

# И в конце строки рекомендуется поставить символ ;.

# Если символ ; используется сам по себе - экранировать: \;.

Categories=System;Utility;


# Команда для запуска. Желательно указать полный путь.

# Можно короткое имя, если программа доступна через $PATH.

# Если нужно запустить с правами суперпользователя,

# то нужно начинать команду, например, с gksudo -gk.

# Понадобится установить программу gksudo или kdesudo.

Exec=top10t.sh


# Рабочий каталог. Не обязательно.

Path=/home/student


# Нужно ли сначала открыть окно эмулятора терминала,

# а потом запустить в нём значение Exec.

# "Да" - true; "нет" - false. Обычно "нет".

Terminal=true


# Файл значка. Обычно указывают короткое имя без расширения.

# Стандартные форматы файлов: PNG, SVG (SVGZ).

# Значки обычно хранят в /usr/share/icons.

Icon=utilities-terminal


# Нужно ли оповещать о запуске: помигать указателем мыши

# или аплетом списка задач и тому подобное. Обычно "да".

StartupNotify=true


# Название ярлыка, видимое как подпись к значку или

# как имя пункта в меню. Здесь на английском.

Name=Top 10 greedy threads


# Желательно перевести. Список условных обозначений

# языков есть, например, у locale.

Name[ru]=Десять самых жадных потоков


# Описание, обычно видимое как всплывающая подсказка.

Comment=Shows Top 10 cpu eating processes/threads


# Желательно перевести.

Comment[ru]=Показывает 10 самых жрущих ЦПУ процессов/потоков


# Не показывать в меню. Обычно "нет".

# Файловые ассоциации, если есть, будут работать.

NoDisplay=false


# Не показывать в меню, убрать из файловых ассоциаций.

# И вообще сделать вид, что приложения не существует.

# Обычно "нет".

Hidden=false


# Показывать только в указанной рабочей среде:

# GNOME, KDE, Xfce, ещё какие-нибудь через ;.

# OnlyShowIn=GNOME;


# Не показывать в указанных рабочих средах.

# В файле должен быть только один из параметров:

# либо OnlyShowIn, либо NotShowIn.

NotShowIn=KDE;


Такие файлы можно помещать на Рабочий стол по необходимости: перетаскиванием; или же копированием/ссылкой файла в ~/Рабочий стол (англоязычный - ~/Desktop). Расположение каталога рабочего стола может быть указано в файле ~/.config/user-dirs.dirs. Его читает программа xdg-user-dirs-update, создавая указанные каталоги.


Проверить синтаксическую корректность ярлыка можно программой desktop-file-validate.


Если нужно на Рабочий стол добавить каталог, то может быть достаточно символьной ссылки. Или составить ярлык, где в Exec будет имя диспетчера файлов либо xdg-open, а потом аргумент - путь к каталогу:


Exec=xdg-open /home/student/Загрузки


В среде GNOME разработчики пытаются запретить размещение файлов на Рабочем столе. Может понадобиться специальное расширение для GNOME Shell.


Ярлык для адреса Интернета имеет другое значение Type и вместо ключа Exec содержит URL:


# Помимо прочего:

Type=Link

URL=https://www.freedesktop.org/wiki/


Адрес будет открыт браузером по умолчанию. Если нужен другой браузер, следует сделать обычный ярлык с Type=Application, далее в Exec задать имя браузера с аргументом-URL.


Есть сколько-то общепринятых категорий в спецификации к файлам меню: Audio, Education, Graphics, System и другие. Файлы категорий синтаксически аналогичны файлам ярлыков. Расширение - ".directory". Хранят их обычно в /usr/share/desktop-directories. Свои - в ~/.local/share/desktop-directories. Пример файла для категории "Система" (условное имя файла - system.directory). Не используйте его как есть.


[Desktop Entry]

Version=1.0

Type=Directory

Icon=preferences-system

Name=System

Name[ru]=Система

Comment=System tools and utilities

Comment[ru]=Средства администрирования системы


Графическая среда обычно автоматически при запуске каждого сеанса пересобирает меню из имеющихся ярлыков и категорий для каждого пользователя.


Формат файлов меню - XML. Расширение - ".menu". Только пример, без пояснений. Не используйте его как есть.


<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE Menu

PUBLIC '-//freedesktop//DTD Menu 1.0//EN'

'http://standards.freedesktop.org/menu-spec/menu-1.0.dtd'>

<Menu>

<Name>System</Name>

<Directory>system.directory</Directory>

<DefaultAppDirs/>

<DefaultDirectoryDirs/>

<MergeDir>applications-merged</MergeDir>

<Layout>

<Merge type="menus" />

<Filename>top10t.sh.desktop</Filename>

<Merge type="files" />

</Layout>

</Menu>


Проверить синтаксическую корректность меню можно программой xmllint. Все меню не проходят валидацию (не находится DTD), вероятно, из-за беспорядка на сайте FreeDesktop.org.


Редакторы меню для GUI: KMenuEdit для KDE; LXMenuEditor (lxmed) для LXDE, требует Java; MenuLibre для GNOME, XFCE; Mozo для Mate.


Свои меню хранят в ~/.config/menus. Точнее, в $XDG_CONFIG_DIRS/menus/${XDG_MENU_PREFIX}applications.menu. Здесь XDG_MENU_PREFIX - это "gnome-", "kde-" и тому подобное.


Своё меню вроде как должно перекрывать (заменять собой) автоматическое. Добавочные (не перекрывание, а слияние) меню хранят в $XDG_CONFIG_DIRS/menus/applications-merged/.


Документация: ярлыки; меню. Для семейства программ xdg-* и desktop-* есть man-страницы. XDG (X Desktop Group) - старое название сообщества FreeDesktop.org.


У Debian (и производных) есть своя система меню, отличающаяся от XDG. Эти меню применяют в разных небольших диспетчерах окон: awesome, fvwm, openbox и других. Документация - в пакете menu.

Показать полностью

Crawler for linux?

Доброго дня!

Появилась задача парсинга данных со сложных страниц с динамическими данными.

API нет и не предвидется ближайшее время у сайта.


Хотел было на Lazarus + FPCEF3 реализовать, но покапав поглубже понял, что

1. Очень скудный инструментарий. Хотя можно обойти местами.

2. на Ubuntu горько смотреть на скомпилированный результат


Юнити мне как родной, но под него не видел вменяемых браузеров

на JavaScript видел crawler'ы но тормоза этих систем сильно останавливают.

Хотелось бы нативное некое решение.


Задачи две

1. Нужен хороший доступ к дому чтобы листнеры хотя бы на клик элементов реализовать

2. Кросс-платформенность


Подскажите, пожалуйста путь.

Возможно готовый к адаптации проект где-то скачать можно?


PS Гуглить конечно же умею.

Crawler for linux?
Показать полностью 1
101

Восстановление удаленной папки на NAS с RAID-5

НЕ было бы счастья, да  снова несчастье.

Имеется в моем хозяйстве NAS Thecus n16000pro , в нем 7 HDD *4 tb каждый  под raid 5, имелась на нем папка с общим доступом куда пишутся проект с серверов интерпретации и геофизической обработки, так вот один не хороший человек взял вчера и затер папку, бэкап этой папки есть 2х недельной давности, но там был свежий материал.

Суть боли такова:

1. отсутствие свежего backup по техническим обстоятельствам

2. Жизненная необходимость восстановления  2х папок  из удаленной

Мои предположения по решению: Вынимаю диски , втыкаю в тачку  гружусь в r-studio  и собираю виртуальный raid потом пытаюсь восстановить данные, пока был найден один диск  в массиве с переназначенными секторами и в умирающем немного состоянии, его я по секторно клонирую dd.

Кто нибудь бывал в подобной ситуации и как и какими средствами решал?

за свою жизнь 2  массива я так поднял рассыпанных но они были не из серии raid 5.

По ходу движений буду отписывать результаты сюда,

Кстати , всех с пятницей!

Восстановление удаленной папки на NAS с RAID-5
Показать полностью 1
12

Вопрос о монтирование в Linux.

Достался мне по наследстве сервер с Centos, у него в корне есть папка /data каталог не системный, в нем еще 2 папки:

/data/data1 - примонтирован ресурс с другого сервера, в котором лежат приложения и лицензии для софта

/data/data0  был примонтирован  общедоступный каталог  c NASа ,

Все эти дела ни как не фигурируют в fstab.

Суть проблем такова, NAS окирпичился, data0 не доступен, хочу примонтировать на data0 каталог с другого , но не могу понять как и где это прописано и как примонтировано, обычно я делал все через FSTAB ,

Прошу подсказки или консультации, каким образом это могло быть сделано,

Выйти из Vim

Тесно общаться с linux я начала совсем недавно, все шло очень хорошо, но спустя месяц наших отношений, между нами произошло недопонимание, а точнее vim, не найдя на сервере ни одного знакомого мне редактора, я, ничего не подозревая вызвала vim... Терминал пришлось закрыть. Обратившись за помощью к гуглу я впервые не получила ничего стоящего, картинка собственно отражает всю суть)

Выйти из Vim

Спустя месяц я все еще выхожу из vim закрывая консоль или ребутом. Может кто-то здесь умеет по другому?)

46

Российская ОС "ОСь" с нескучными обоями

Операционная система «Ростеха» не попала в реестр отечественного софта.


Дочерняя компания «Ростеха» НЦИ не смогла зарегистрировать свою операционную систему «ОСь» в реестре отечественного софта, рассказал «Ведомостям» участник экспертного совета при Минкомсвязи. Этот совет включает продукты в реестр. Компания не смогла предоставить все необходимые документы, объяснил собеседник «Ведомостей».

Члены экспертного совета Наталья Касперская (президент «Инфовотч») и Анна Мещерякова (возглавляет центр компетенций «ИТ+Суверенитет») запросили у заявителей «ОСи» лицензию Федеральной службы по техническому и экспортному контролю (ФСТЭК, выдает лицензии на техническую защиту конфиденциальной информации) и документы, подтверждающие исключительные права разработчиков на «ОСь», рассказывает Касперская. НЦИ документы в нужный срок (30 дней) не предоставил, поэтому его заявка была отклонена, объясняет Касперская.


«Ростех» предоставил только универсальную общественную лицензию (GPL) на разработанную операционную систему, рассказывает член экспертного совета. Она дает права на внесение изменений в коде, но этого недостаточно для того, чтобы продукт могли использовать госструктуры.


Если у поставщика нет исключительных прав на софт, то его владелец может в любой момент запретить продажу ПО на территории Российской Федерации, а это существенный риск для тех, кто приобретает такой продукт, объясняет гендиректор «Новых облачных технологий» Дмитрий Комиссаров.


Представитель Минкомсвязи подтвердил, что «ОСь» не была включена в реестр из-за недостатка документов, в том числе свидетельства об исключительных правах. Экспертный совет не добавил в реестр отечественного ПО «ОСь», признал представитель НЦИ.

«ОСь» сделана на базе двух других операционных систем с открытым кодом – CentOS и Fedora, которые целиком принадлежат американской компании RedHat, говорит Алексей Смирнов, советник гендиректора BaseALT, разработчика ОС «Альт Линукс», включенной в реестр российского софта.


Представитель Минкомсвязи оставил без комментариев вопрос об уровне локализации «ОСи».


Чтобы получить исключительные права, компания должна сильно модифицировать конечный продукт, чтобы он содержал компоненты, которых нет в исходной операционной системе, объясняет Комиссаров. Это подтверждает собеседник «Ведомостей» из экспертного совета. Три операционные системы на базе Linux (которая лежит и в основе продуктов RedHat), которые вошли в реестр отечественного ПО, содержат существенные изменения, говорит Комиссаров: в ROSA Linux и Astra Linux собственная графическая оболочка, в «Альт Линукс» – свой центр управления и другие изменения.


«ОСь» состоит из 1257 пакетов – составных частей, которые отвечают за разные функции операционной системы. По подсчетам специалистов BaseALT, большая часть этих исходных пакетов (799) в «ОСи» заимствована у Fedora, еще немного (7) без изменений добавлены из CentOS. А собственных пакетов разработчика, по словам Смирнова, всего 19 и часть из них – это обновление дизайна ОС. Есть также пакеты, которые имеют признаки изменений заимствованных пакетов, говорит Смирнов. Выборочная проверка показала, что эти изменения – изъятие из пакетов упоминаний о CentOS и RedHat или незначительные изменения настроек, утверждает он.

Экспертный совет посчитал, что заявка НЦИ не соответствует правилам единого реестра российских программ, говорит представитель компании. НЦИ не получал запросов от Минкомсвязи, уверяет он.


Сама компания, по словам ее представителя, не сомневается, что ее продукт соответствует этим правилам, поскольку операционная система основана на ПО с открытым исходным кодом и модулях, разработанных НЦИ. «Дочка» «Ростеха» планирует до конца недели подать новую заявку на включение «ОСи» в реестр, при этом максимально развернуто описать соответствие заявки требованиям правил.


Поскольку продукт вторичный, Смирнов не исключает, что у экспертов есть серьезные основания выдвигать претензии к объему прав, которые есть у НЦИ.


По словам Касперской, операционную систему подавали как проприетарное, т. е. являющееся частной собственностью, ПО, а не как операционную систему на открытом коде.


Представитель НЦИ отрицает, что «ОСь» сделана на базе продуктов RedHat. По его словам, в этом случае по правилам реестра отечественного ПО НЦИ не мог бы подать заявку на его включение из-за процентных отчислений зарубежным правообладателям и отсутствия у НЦИ исключительных прав на продукт. «ОСь» основана на свободном программном обеспечении (СПО) и программных модулях собственной разработки, говорит представитель компании.

11 апреля НЦИ подал заявку на включение в реестр отечественного ПО операционной системы «ОСь», которую можно использовать для работы с гостайной, сообщали «Известия».


Кажется кто-то из разработчиков проникся этим видео в свое время.

Источник:

https://www.vedomosti.ru/technology/articles/2017/07/28/7264...


Экспертное заключение:

https://reestr.minsvyaz.ru/upload/iblock/f13/104114.pdf


Тут можно скачать дистр:

http://os-rt.ru/


P.S. баянометр ругался на видео

Показать полностью 1
Отличная работа, все прочитано!