Что нового

AutoIt и Linux

Oki

Продвинутый
Сообщения
452
Репутация
62
Захотелось мне поэксперементировать с тем, как себя на практике ведёт AutoIt в сочетании с Linux. План был таков.
  1. Установить Wine на компьютере, работающем под Linux.
  2. Через Wine запустить установщик AutoIt.
  3. Через Wine запустить компилятор AutoIt, которому скормить какой-то скрипт.
  4. Через Wine запустить результат компиляции.
После выполнения первых двух пунктов плана и набора простого скрипта "Привет, мир!" в текстовом редакторе в какой-то момент оказалось, что Linux предлагает открыть скрипт в лёгкой версии SciTE, идущей в стандартном пакете загрузки AutoIt. Пытливая душа потянула мой палец к клавише F5, и к моему удивлению скрипт сработал. Простой запуск файла скрипта тоже происходил без явного отказа, но ожидаемо приводил не к описанному скриптом действию. Интересно понять, почему же из SciTE, которому даже не было сказано запускаться через Wine (впрочем, и в этом случае успех запуска скрипта виделся нелогичным), преспокойно выполнил скрипт.

Интересно также и вообще пообщаться на тему полезностей в применении AutoIt в условиях Linux, благо раздел этот как раз для такого общения и предназначен, судя по его названию.
 

Prog

Продвинутый
Сообщения
537
Репутация
65
Запустить скрипт не сложно. Куда сложнее добиться чтобы он правильно работал. Не получится автоматизировать окна Linux приложений. И многое другое работать не будет.
 
Автор
Oki

Oki

Продвинутый
Сообщения
452
Репутация
62
Запустить скрипт не сложно. Куда сложнее добиться чтобы он правильно работал. Не получится автоматизировать окна Linux приложений. И многое другое работать не будет.
А если это будут окна Windows-приложений, запущенных через Wine? Да и не в одной лишь работе с окнами польза от скриптов.
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
Я запускал скрипты в Linux, там же тоже есть ком-строка, просто нужно прописать расширение au3 на запуск через Wine->AutoIt3 и суть становится такая же. Но я первоначально ассоциировал exe с Wine, то есть запускал прям сразу, потом отказался, типа чтобы вирус не скачать и не запустить его сразу в Wine если у тебя подсистема сразу настроена на работу как в Windows. Также я пользовался своими программами в Linux и пользуюсь сейчас, тот же "TextReplace", всё отлично работает, нет проблемы с путями. Также свою RegExp использую.
Но PureBasic кроссплатформенный и работает в Linux прям как родной. Если уж выбрана ОС Linux, то проще взять то что под него настроено. Тем более сейчас PureBasic преобразуется сначала в Си, потом компилируется сишным компилятором, сделано для поддержки всех процессоров, например малинки, а также для 2-3 кратной скорости и встроенной оптимизации кода. Ранее только в ASM преобразовывалось и потом компилировалось. Что интересно что это подталкивает к изучению Си, так как ты видишь свой код на языке Си. Попробуй кроcсплатформенные на Linux
 
Последнее редактирование:

damien2008

Осваивающий
Сообщения
178
Репутация
34
скажу и я, хоть и форум про автоит, да простят меня админы)
если нужен именно линукс, и что-то, на чем писать проги, именно, проги (гуи, консольные, что-бы там веб был, база данных, файловая система), а знаний маловато, посмотри на Gambas, он простой, можно быстро стартануть, почти копия бэйсика, только с вебкитом, ide и т.д. там много чего из коробки есть.

а если нужна автоматизация (именно по линуксу), то бери хdotool, xclip, xprop, xwininfo.
 
Последнее редактирование:

Prog

Продвинутый
Сообщения
537
Репутация
65
на Purebasic много багов связанных с GUI для мультиплатформы.
Не замечал у PureBasic багов GUI. Или вы так называете различие размеров контролов в винде и линукс? Решается просто, использованием библиотеки Dialog.

PureBasic кроссплатформенный, а Gambas только для linux https://ru.wikipedia.org/wiki/Gambas
Для винды пытались собрать но не получилось https://ru.wikipedia.org/wiki/Gambas#Разработка
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Не замечал у PureBasic багов GUI
SpinBox в PureBasic нерабочий, по крайней мере в GTK точно. Был на форуме метод как его оживить - но он не работает. В MacOS нерабочий IPAdressBox.
 
Автор
Oki

Oki

Продвинутый
Сообщения
452
Репутация
62
Столько оффтопика, словно сформулированная тема достаточно освещёна, а ведь даже никто не ответил на стартовый вопрос в стартовом посте (ещё до слов, предлагающих пообщаться в целом на тему языка AutoIt в условиях Linux). На всякий случай подчёркиваю, что клавиша F5 была нажата без выполнения пунктов 3 и 4 заявленного плана, но почему-то сработала. Предполагаю, что кому-то этот вопрос кажется тривиальным, но, очевидно, не всем. Допускаю, что для этого нужно глубже понимать то, как при установке SciTE сработал Wine, но в этом уверенности тоже не имею.

Напоминаю также, что этот топик называется не "Автоматизация и Linux", а "AutoIt и Linux". Понятно, что любой скрипт можно перекодировать хоть прямо на ассемблере, но здесь более уместно говорить о скриптах, изначально написанных для Windows. Вот если бы в дополнение к предлагаемому другому языку внезапно существовал транслятор в таковой из AutoIt, то об этом ещё уместно было бы сказать и в этом топике.
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
Тема то оказалась интересной!!!

что клавиша F5 была нажата без выполнения пунктов 3 и 4 заявленного плана, но почему-то сработала
Потому что источник уже был запущен из под Wine. Всё остальное из под Wine работает таким же образом, игрушки видят свои текстуры, IDE видит AutoIt3.exe и открытый файл.
Понятно, что любой скрипт можно перекодировать хоть прямо на ассемблере
на самом деле нет. Язык специально придумывают чтобы упростить абстракции, а в языке ещё и придумывают функции. чтобы упростить малые алгоритмы, объединяя их в функционал. Так что сравнения тут не к месту.
Вот если бы в дополнение к предлагаемому другому языку внезапно существовал транслятор в таковой из AutoIt
В PureBasic есть транслятор - PureAutoIt, но это не волшебная палочка как и кроссфлатформенность, всё равно это требует понимание работы PureBasic.
 
  • Like
Реакции: Oki
Автор
Oki

Oki

Продвинутый
Сообщения
452
Репутация
62
Потому что источник уже был запущен из под Wine.
А каким образом это произошло? В момент установки пакета AutoIt вместе с SciTE последний установился так, чтобы автоматически запускаться посредством Wine, просто в результате того, что сама установочная программа запускалась через него же? Если Wine взаимодействует с Linux таким образом в случае любой установочной программы, то каким-то образом они должны уметь отличать установочную программу от программ иного типа?
Так что сравнения тут не к месту.
Это не сравнение, конечно же. Очевидны преимущества подходящего языка высокого уровня. Утрированный пример ассемблера был приведён не в качестве аналогии.
 
Последнее редактирование:

Prog

Продвинутый
Сообщения
537
Репутация
65

Вложения

  • Linux.gif
    Linux.gif
    123.7 КБ · Просмотры: 12
  • MacOS.gif
    MacOS.gif
    186.5 КБ · Просмотры: 11

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
Лично у меня нет.
А может ли это быть связано с DE или с темой? Мне пришлось менять FrameGadget на рисованные линии, потому что у одного человека этот гаджет перекрывал элементы, да и мне самому не нравилось как это отображается в моей теме оформления (в чёрной теме линии остались чёрными, еле видно). И также у меня в Cinnamon и в XFCE различалось поведение окон, в XFCE работало ненормально, если я запретил отображение кнопки на панели задач, то XFCE не давал мне свернуть программу, вроде так.

Oki
AutoIt на Linux не будет работать автоматизация окон и горячие клавиши. Причём даже с теми инструментами, которые есть в Linux (ранее перечисленные xdotool, xsel) тоже надо достаточно потанцевать танцев с бубнами. Моя программа TextCorrection для Windows на AutoIt работает стабильно, а переделанная на Linux в PureBasic с использованием xdotool, xsel оставляет желать лучшего, хоть и приловчиться можно.
 
Последнее редактирование:
Автор
Oki

Oki

Продвинутый
Сообщения
452
Репутация
62
AutoIt на Linux не будет работать автоматизация окон и горячие клавиши.
Мой последний вопрос был же совершенно не об этом. Начинаю подозревать, что он вообще окажется касающимся не языка, а лишь особенностей взаимодействия Wine с Linux. А тот факт, что очень многое не будет работать, очевиден. Но некоторые скрипты всё-таки вполне рабочие, хотя оптимизм по поводу широкого использования всё больше улетучивается.
 
Верх