Сайт | Скачать | Видео | Wiki

Автор Тема: Менеджер для поиска,скачивания,установки Appimage.  (Прочитано 2916 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34031
  • Репутация: +231/-0
    • PuppyRus-A
он на go
Т.е. работать будет везде, но огромного размера...

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 898
  • Репутация: +24/-0
  • Автор темы
но огромного размера...
2.8 мегабайта , по нынешним меркам это не много, но если сравнивать с dialog то в 10 раз больше, но чтоб организовать поиск либо ls+grep либо find и в суме их вес будет почти что,а кода будет больше... ,так что  по нынешним меркам это не много...
« Последнее редактирование: 11 Март 2024, 10:51:08 от totiks2012 »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34031
  • Репутация: +231/-0
    • PuppyRus-A
В итоге раньше дистрибы влезали на сд, а теперь не влезают на двд :(

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1725
  • Репутация: +49/-1
  • /dev/hands < /dev/ass
ls+grep либо find и в суме их вес будет почти что,а кода будет больше...
Не будет. Обычно это ссылки на busybox. А если и не так - без coreutils и util-linux почти нет ходовых дистрибутивов. И если они есть в системе, лично я предпочитаю пользоваться ими. А так правильно - и на двд не влезем...
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 898
  • Репутация: +24/-0
  • Автор темы
В итоге раньше дистрибы влезали на сд, а теперь не влезают на двд А так правильно - и на двд не влезем...

ну претензию к peco я понял... мне удобно, DVD давно не использую, использую скоростные флэшки большого размера, мечтаю о портативном ssd, и они относительно не дорогие стали... можно  pam3 портануть на dialog(при этом не удастся сделать такой красивый релевантный поиск, который тут же выдаёт результат) ... но тут не сколько необходимость в скрипте , сколько осуждение размера peco , как я понимаю. Есть так же fzf он на 300 килобайт легче peco, но он не такой красивый и точный, весит 2,5 мегабайта , dialog как говорил в 10 раз легче.
-----------------!!!!
upd: Ребятки спасибо за подзатыльники! Нашёл альтернативу peco
необходимо установить suckless-tools
этот набор утилит еще мной не изучен но содержит который весит 35килобайта , и по сути делает то же самое что peco. С меня вечером портированый скрипт на dmenu , спасибо!!!!
« Последнее редактирование: 11 Март 2024, 16:21:53 от totiks2012 »

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1725
  • Репутация: +49/-1
  • /dev/hands < /dev/ass
осуждение размера peco
Не осуждение. Скорее - принятие того, что все разрастается и жрет неоправданно непомерно. Особенно это сейчас на андроидах видно. Вспоминается "640 Кб хватит всем!"
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 898
  • Репутация: +24/-0
  • Автор темы
А чего тянуть вот код с использованием dmenu, прошу тэстов
как говорил нужно установить suckless-tools весят 54кб
код
Код
#!/bin/bash

am -l >aml.txt

sed -e '/YOU HAVE INSTALLED [0-9]* APPLICATIONS OUT OF [0-9]* AVAILABLE/d' -e '/LIST OF THE [0-9]* APPLICATIONS AVAILABLE IN THE '\''AM'\'' REPOSITORY:/d' -e '/^$/d' ./aml.txt >amlf.txt
while true; do
  sel_file="$(cat amlf.txt | dmenu -i -l 20)"

  # Проверяем, была ли нажата клавиша Esc
  if [ -z "$sel_file" ]; then
    echo "Exiting the script."
    break
  fi

  sel_file="$(echo "$sel_file" | sed 's/.*◆ *//; s/:.*//')"
  clear
  #echo "$sel_file" >./sel_file.txt

  while true; do
    options=("ВЫВОД ИНФО" "УСТАНОВИТЬ" "УДАЛИТЬ" "ОБНОВИТЬ-ВСЕ")
    selected_option=$(printf "%s\n" "${options[@]}" | dmenu -i -l 20)

    # Проверяем, была ли нажата клавиша Esc
    if [ -z "$selected_option" ]; then
      echo "Exiting to main menu."
      break
    fi

    case "$selected_option" in
      "ВЫВОД ИНФО")
        # Код для секции "ВЫВОД ИНФО"
        echo "ВЫВОД ИНФО--$sel_file"
        b="$sel_file"
        am -a `echo $b`
        echo "выбран $sel_file"
        echo "Для продолжения жмем ВВОД"
        read ex
        clear
        ;;
      "УСТАНОВИТЬ")
        # Код для секции "УСТАНОВИТЬ"
        echo "УСТАНОВИТЬ--$sel_file"
        am -i "$sel_file"
        echo "Для продолжения жмем ВВОД"
        read ex
        clear
        ;;
      "УДАЛИТЬ")
        # Код для секции "УДАЛИТЬ"
        echo "УДАЛИТЬ--$sel_file"
        am -r "$sel_file"
        echo "Для продолжения жмем ВВОД"
        read ex
        clear
        ;;
       "ОБНОВИТЬ-ВСЕ")
       # Код для секции "ОБНОВИТЬ-ВСЕ"
       echo "Обновляем все Appimage для которых есть обновления!"
       am -U
       ;;
      *)
        # Обработка некорректного ввода
        echo "Некорректный выбор"
        ;;
    esac
  done
done


что нравится не пришлось ломать ничего пару строчек переписать и всё! То есть логика работы похожая. ... буду идти домой , с довольной улыбкой на лице )
« Последнее редактирование: 11 Март 2024, 16:44:25 от totiks2012 »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34031
  • Репутация: +231/-0
    • PuppyRus-A
Думаю, в данном случае dmenu , yad и пр. GUI - плохая идея
Т.к. все заканчивается в консоли - лучше из нее не вылезать, т.е. TUI. иначе юзер не увидит, установилось или ошибка

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 898
  • Репутация: +24/-0
  • Автор темы
Думаю, в данном случае dmenu , yad и пр. GUI - плохая идея
Т.к. все заканчивается в консоли - лучше из нее не вылезать, т.е. TUI. иначе юзер не увидит, установилось или ошибка
dmenu не GUI
оно из туй в консоль потом из консоли в TUI , в консоли идут отчеты, перед тем чтоб вернутся в TUI спецом запрос для продолжения ввода, я спорить не буду, просто делюсь кому понравится тот возьмёт кому нет, ну нет, значит не нужно. Я с момента как нашел am сразу себе этот скрипт написал, для удобства поиска и интерактивности с am, и мне действительно удобно, что интересно позже в самом am нашёл zap, это такой же менеджер как am но с интегрированным поиском через fzf, и мне стало приятно что эту возможность увидели и другие люди, и то что к ней я пришел сам, но вам однозначно спасибо, стимул к познанию.
« Последнее редактирование: 11 Март 2024, 18:07:40 от totiks2012 »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 34031
  • Репутация: +231/-0
    • PuppyRus-A
dmenu не GUI
Все что делается за пределами консоли - гуй
Как юзер догадается, что ваш скрипт надо запускать в консоли? Или у юзера только консоль
Прыжки - туда -сюда =зло
Поймите меня правильно. Я не засираю ваше творчество, а делюсь опытом

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2579
  • Репутация: +33/-0
(#отчасти офтоп по Теме, но для Roxfiler-фанов)
1 - на пробу поставил из 'am' 'btop'. Он у меня почему-то не запустился (ddog-32). ! Но в /opt-потрахах он выглядел как 'Roxfiler~овские АппРаны'.
2 - потом увидел в 'am-списках':
 "◆ appimagetool : Tool to generate an AppImage from an existing AppDir." Он у меня не захотел устанавливаться. Но как предполагаю - это то о чем подумал. Потом еще погляжу (#спокойной ночи)
зы
totiks2012 - спасибо
(есть вероятность, что когда-нибудь доберусь на dialog/Xdialog "Скрипт" перевести)
« Последнее редактирование: 11 Март 2024, 19:22:35 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 898
  • Репутация: +24/-0
  • Автор темы
Прыжки - туда -сюда =зло
Поймите меня правильно... делюсь опытом
Стараюсь и понимаю правильно, и в этом с вами согласен , про прыжки, в peco и fzf это более органично выглядит, dmenu по своей сути лаунчер от dwm, но неожидано подошёл к этому скрипту, ибо в нём есть этот функционал поиска , для этого и сделан, но все преимущества тут и заканчиваюся, захардкожен строго на свой эмулятор терминала st , не запустить в другом эмуляторе ,а жаль ... Была бы штука бомбическая. А так откажусь пока от него.

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 898
  • Репутация: +24/-0
  • Автор темы
1 - на пробу поставил из 'am' 'btop'. Он у меня почему-то не запустился (ddog-32). ! Но в /opt-потрахах он выглядел как 'Roxfiler~овские АппРаны'.
2 - потом увидел в 'am-списках':
 "◆ appimagetool : Tool to generate an AppImage from an existing AppDir." Он у меня не захотел

(ddog-32). если 32-х битная система то ожидаемо, appimage для 64-х систем
и справедливости ради спасибо нужно сказать автору am , я так... популяризатор. но насчёт
 не только эти но и другие тоже не работают. 
!!!
Я больше скажу , с am нужно быть акуратным, сам автор про это и предупредил, перед установкой смотреть что скачиваешь
это не репозиторий, нужно отдавать себе отчет что эти appimage тянутся из файлопомойки github
смотреть на поведение программ, мне например очень не понравилось что установленая программа  ,  конвертер аудиофайлов просит что-то  скачать откуда-то,  ты разрешаешь ей это, смотришь на скачаный файл а это питоновский бинарник, который естествено не посмотреть текстовым, я эту программу взашей и на мороз, также например установил doublecomander а у него функция вызова терминала по F9 не работает, audacyti нет возможности экспорта,то есть функционал урезаный, и так далее, но мне этот am для браузеров нужен, а также для месенджеров, вот для этого идеален , можно также после первинчной установки скрипт не открою америки но новичкам,  как мне когда-то , пощекочит нервы
Код
#!/bin/bash
#set -x
# Путь к текстовому файлу с именами приложений
APP_LIST_FILE="$PWD/installapps"
# Установка приложений из файла
xargs sudo apt install -y < "$APP_LIST_FILE"
# Масовая установка нужных appimage
am -i firefox
am -i librewolf
am -i moonfm
am -i libreoffice-fresh-standard
am -i qmplay2
am -i cpu-x
am -i marktext
am -i viber
am -i ksnip
am -i flameshot
am -i simplescreenrecorder

echo "ВСЕ ПРОГРАММЫ И ПАКЕТЫ APPIMAGE УСТАНОВЛЕНЫ !!! СЧАСТЛИВОГО ИСПОЛЬЗОВАНИЯ СИСТЕМЫ !!!"
в installapps список пакетов для установки с помощью apt

чем am хорош тем что не тратится время при установке используя apt, dpkg должен разруливать индексировать это всё время, тут просто скачивание, быстро всё.

knn если интересует тема создания своих appimage правда строго под debian 12 , из репы то  вам сюда https://forum.puppyrus.org/index.php?topic=24145.msg188200#new промотать на начало страницы ,если что не ясно  помогу, у меня так некоторые программы собраны и работают.
« Последнее редактирование: 11 Март 2024, 21:51:28 от totiks2012 »

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1725
  • Репутация: +49/-1
  • /dev/hands < /dev/ass
Прыжки - туда -сюда =зло
Вы сам постоянно в поиске. Человеку удобно - пусть делает. У вас есть нехороший момент давить все, что сделали не вы вопросами - "а зачем" и т.д. Не прессуйте, пусть человек делает, что ему нужно и делится опытом (хоть и не пользуюсь, но интересно почитать, что еще кто-то что-то ковыряет)
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн totiks2012

  • Ветеран
  • *****
  • Сообщений: 898
  • Репутация: +24/-0
  • Автор темы
Всё ок ,такое давление иногда полезно, вот нашёл замену dmenu , и peco, занимает всего 39kb , написан на C значит быстрый , функция которая меня пленила называется fuzzy finder (нечёткий поиск), утилита называется fzy , есть в репе debian 12
код:
Код
#!/bin/bash

am -l >aml.txt

sed -e '/YOU HAVE INSTALLED [0-9]* APPLICATIONS OUT OF [0-9]* AVAILABLE/d' -e '/LIST OF THE [0-9]* APPLICATIONS AVAILABLE IN THE '\''AM'\'' REPOSITORY:/d' -e '/^$/d' ./aml.txt >amlf.txt
while true; do
  sel_file="$(cat amlf.txt | fzy -l 40)"

  # Проверяем, была ли нажата клавиша Esc
  if [ -z "$sel_file" ]; then
    echo "Exiting the script."
    break
  fi

  sel_file="$(echo "$sel_file" | sed 's/.*◆ *//; s/:.*//')"
  clear
  #echo "$sel_file" >./sel_file.txt

  while true; do
    options=("ВЫВОД ИНФО" "УСТАНОВИТЬ" "УДАЛИТЬ" "ОБНОВИТЬ-ВСЕ")
    selected_option=$(printf "%s\n" "${options[@]}" | fzy -l 30)

    # Проверяем, была ли нажата клавиша Esc
    if [ -z "$selected_option" ]; then
      echo "Exiting to main menu."
      break
    fi

    case "$selected_option" in
      "ВЫВОД ИНФО")
        # Код для секции "ВЫВОД ИНФО"
        echo "ВЫВОД ИНФО--$sel_file"
        b="$sel_file"
        am -a `echo $b`
        echo "выбран $sel_file"
        echo "Для продолжения жмем ВВОД"
        read ex
        clear
        ;;
      "УСТАНОВИТЬ")
        # Код для секции "УСТАНОВИТЬ"
        echo "УСТАНОВИТЬ--$sel_file"
        am -i "$sel_file"
        echo "Для продолжения жмем ВВОД"
        read ex
        clear
        ;;
      "УДАЛИТЬ")
        # Код для секции "УДАЛИТЬ"
        echo "УДАЛИТЬ--$sel_file"
        am -r "$sel_file"
        echo "Для продолжения жмем ВВОД"
        read ex
        clear
        ;;
       "ОБНОВИТЬ-ВСЕ")
       # Код для секции "ОБНОВИТЬ-ВСЕ"
       echo "Обновляем все Appimage для которых есть обновления!"
       am -U
       ;;
      *)
        # Обработка некорректного ввода
        echo "Некорректный выбор"
        ;;
    esac
  done
done

отказался от pick в пользу fzy , протестирую и пожалуй снова нашёл свою любовь всей своей жизни(любвеобильный однако  :D ) скрипт отрабатывает как и ожидается, мне нравится.
upd:
Добавил количество строк выводимых до 40-а , по умолчанию 10...
бегу пробовать вместо peco в остальных скриптах (peco иногда глючит, в некоторых дистрибутивах)
upd2: Вау и Вууф fzy прекрасен, работает везде , нет эмоциям края!!!
не знаю почему но в коде два раза прописался fzy, исправил...
« Последнее редактирование: 12 Март 2024, 17:58:22 от totiks2012 »